@xiee/utils 1.14.84 → 1.14.86

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/css/lt-plot.css CHANGED
@@ -14,8 +14,10 @@
14
14
  .lt-eb {
15
15
  position: relative;
16
16
  vertical-align: middle;
17
- line { stroke: #888; }
18
- circle { fill: #333; }
17
+ /* default only series without a per-series stroke=/fill= attribute, so that
18
+ attribute still shows; override either via that attr or a `.lt-eb` rule */
19
+ line:not([stroke]):not(.lt-eb-ref) { stroke: #888; }
20
+ circle:not([fill]) { fill: #333; }
19
21
  .lt-eb-ref { stroke: #ccc; }
20
22
  }
21
23
  .lt-eb-axis {
@@ -39,7 +41,7 @@
39
41
  attribute still shows; override either via `color` or `.lt-dot circle` */
40
42
  circle:not([fill]) { fill: currentColor; }
41
43
  }
42
- .lt-dot-legend {
44
+ .lt-plot-legend {
43
45
  margin-top: 3px; /* small gap below the axis, since the cell has no padding */
44
46
  font-size: 11px;
45
47
  color: #666;
@@ -1,2 +1,2 @@
1
- .lt-table{& .lt-eb-cell{text-align:left;padding:0;position:relative}& .lt-eb-grid-bg{position:absolute;top:0;left:0;& line{stroke:#eee}}& .lt-eb{vertical-align:middle;position:relative;& line{stroke:#888}& circle{fill:#333}& .lt-eb-ref{stroke:#ccc}}& .lt-eb-axis{margin-top:3px;display:block;& line{stroke:#888}& text{fill:#666;font-size:11px}& .lt-eb-axis-label{fill:#333;font-size:12px}}& .lt-spark{vertical-align:middle;color:#4682b4;& .lt-spark-line{fill:none;stroke:currentColor;stroke-width:1px}& .lt-spark-bar{fill:currentColor}}& .lt-dot{vertical-align:middle;color:#333;position:relative;& circle:not([fill]){fill:currentColor}}& .lt-dot-legend{color:#666;margin-top:3px;font-size:11px;& i{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:2px;display:inline-block}& span{white-space:nowrap;margin-right:6px}}}
1
+ .lt-table{& .lt-eb-cell{text-align:left;padding:0;position:relative}& .lt-eb-grid-bg{position:absolute;top:0;left:0;& line{stroke:#eee}}& .lt-eb{vertical-align:middle;position:relative;& line:not([stroke]):not(.lt-eb-ref){stroke:#888}& circle:not([fill]){fill:#333}& .lt-eb-ref{stroke:#ccc}}& .lt-eb-axis{margin-top:3px;display:block;& line{stroke:#888}& text{fill:#666;font-size:11px}& .lt-eb-axis-label{fill:#333;font-size:12px}}& .lt-spark{vertical-align:middle;color:#4682b4;& .lt-spark-line{fill:none;stroke:currentColor;stroke-width:1px}& .lt-spark-bar{fill:currentColor}}& .lt-dot{vertical-align:middle;color:#333;position:relative;& circle:not([fill]){fill:currentColor}}& .lt-plot-legend{color:#666;margin-top:3px;font-size:11px;& i{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:2px;display:inline-block}& span{white-space:nowrap;margin-right:6px}}}
2
2
  /*# sourceMappingURL=lt-plot.min.css.map */
@@ -1 +1 @@
1
- {"version":3,"mappings":"AACA,UACE,0DAKA,gDAIE,oBAEF,iDAGE,mBACA,mBACA,0BAEF,2CAGE,mBACA,gCACA,8CAEF,gDAGE,gEACA,mCAEF,6DAME,wCAEF,0DAIE,uGAQA","sources":["lt-plot.css"],"sourcesContent":["/* lt-plot.css — styles for inline graphics cells (see lt-plot.js). */\n.lt-table {\n .lt-eb-cell {\n position: relative;\n padding: 0; /* so the gridline background fills the whole cell */\n text-align: left; /* keep the plot flush left, aligned with the gridlines */\n }\n .lt-eb-grid-bg {\n position: absolute;\n left: 0;\n top: 0;\n line { stroke: #eee; }\n }\n .lt-eb {\n position: relative;\n vertical-align: middle;\n line { stroke: #888; }\n circle { fill: #333; }\n .lt-eb-ref { stroke: #ccc; }\n }\n .lt-eb-axis {\n display: block;\n margin-top: 3px; /* small gap below the body, since the cell has no padding */\n line { stroke: #888; }\n text { fill: #666; font-size: 11px; }\n .lt-eb-axis-label { fill: #333; font-size: 12px; }\n }\n .lt-spark {\n vertical-align: middle;\n color: #4682b4; /* line/bars inherit this via currentColor; override inline */\n .lt-spark-line { fill: none; stroke: currentColor; stroke-width: 1; }\n .lt-spark-bar { fill: currentColor; }\n }\n .lt-dot {\n position: relative; /* paint above the absolutely-positioned gridlines */\n vertical-align: middle;\n color: #333;\n /* default only the dots without a per-column fill= attribute, so that\n attribute still shows; override either via `color` or `.lt-dot circle` */\n circle:not([fill]) { fill: currentColor; }\n }\n .lt-dot-legend {\n margin-top: 3px; /* small gap below the axis, since the cell has no padding */\n font-size: 11px;\n color: #666;\n i {\n display: inline-block;\n width: 8px;\n height: 8px;\n margin-right: 2px;\n border-radius: 50%;\n vertical-align: middle;\n }\n span { margin-right: 6px; white-space: nowrap; }\n }\n}\n"],"names":[]}
1
+ {"version":3,"mappings":"AACA,UACE,0DAKA,gDAIE,oBAEF,iDAKE,iDACA,+BACA,0BAEF,2CAGE,mBACA,gCACA,8CAEF,gDAGE,gEACA,mCAEF,6DAME,wCAEF,2DAIE,uGAQA","sources":["lt-plot.css"],"sourcesContent":["/* lt-plot.css — styles for inline graphics cells (see lt-plot.js). */\n.lt-table {\n .lt-eb-cell {\n position: relative;\n padding: 0; /* so the gridline background fills the whole cell */\n text-align: left; /* keep the plot flush left, aligned with the gridlines */\n }\n .lt-eb-grid-bg {\n position: absolute;\n left: 0;\n top: 0;\n line { stroke: #eee; }\n }\n .lt-eb {\n position: relative;\n vertical-align: middle;\n /* default only series without a per-series stroke=/fill= attribute, so that\n attribute still shows; override either via that attr or a `.lt-eb` rule */\n line:not([stroke]):not(.lt-eb-ref) { stroke: #888; }\n circle:not([fill]) { fill: #333; }\n .lt-eb-ref { stroke: #ccc; }\n }\n .lt-eb-axis {\n display: block;\n margin-top: 3px; /* small gap below the body, since the cell has no padding */\n line { stroke: #888; }\n text { fill: #666; font-size: 11px; }\n .lt-eb-axis-label { fill: #333; font-size: 12px; }\n }\n .lt-spark {\n vertical-align: middle;\n color: #4682b4; /* line/bars inherit this via currentColor; override inline */\n .lt-spark-line { fill: none; stroke: currentColor; stroke-width: 1; }\n .lt-spark-bar { fill: currentColor; }\n }\n .lt-dot {\n position: relative; /* paint above the absolutely-positioned gridlines */\n vertical-align: middle;\n color: #333;\n /* default only the dots without a per-column fill= attribute, so that\n attribute still shows; override either via `color` or `.lt-dot circle` */\n circle:not([fill]) { fill: currentColor; }\n }\n .lt-plot-legend {\n margin-top: 3px; /* small gap below the axis, since the cell has no padding */\n font-size: 11px;\n color: #666;\n i {\n display: inline-block;\n width: 8px;\n height: 8px;\n margin-right: 2px;\n border-radius: 50%;\n vertical-align: middle;\n }\n span { margin-right: 6px; white-space: nowrap; }\n }\n}\n"],"names":[]}
@@ -75,13 +75,14 @@
75
75
  );
76
76
  }
77
77
 
78
- // The view pipeline (pure — no DOM): per-column filters, then the table-wide
79
- // search, then sort, yielding the 1-based original row indices for
80
- // `spec._viewRows`. `disp[col][i]` is a cell's displayed text (what substring
81
- // search matches); `state` holds the filter terms (`filters[col]`), the
82
- // search term, and the sort keys (`sort`, an array of `{col, dir}` applied in
83
- // order). Filters and the search are combined with AND: a row must pass all
84
- // of them.
78
+ // The view pipeline (pure — no DOM): per-column filters, the table-wide
79
+ // search, then any externally registered predicates, then sort, yielding the
80
+ // 1-based original row indices for `spec._viewRows`. `disp[col][i]` is a
81
+ // cell's displayed text (what substring search matches); `state` holds the
82
+ // filter terms (`filters[col]`), the search term, the predicates
83
+ // (`predicates`, keyed by id — see el._lt.filter), and the sort keys (`sort`,
84
+ // an array of `{col, dir}` applied in order). Filters, the search, and the
85
+ // predicates are combined with AND: a row must pass all of them.
85
86
  function computeView(spec, disp, state) {
86
87
  const cols = spec._cols || [], data = spec.data || {},
87
88
  cell = (c, r) => ({
@@ -97,6 +98,14 @@
97
98
  const pred = matcher(state.term);
98
99
  if (pred) idx = idx.filter(r => pred(cols.map(c => cell(c, r))));
99
100
 
101
+ // predicates registered from outside (el._lt.filter) run last, each a
102
+ // function of the row's raw values keyed by column; combined with AND
103
+ const fns = Object.values(state.predicates || {});
104
+ if (fns.length) {
105
+ const row = r => Object.fromEntries(cols.map(c => [c, data[c]?.[r - 1] ?? null]));
106
+ idx = idx.filter(r => { const o = row(r); return fns.every(f => f(o)); });
107
+ }
108
+
100
109
  // sort by each key in turn, falling through to the next on a tie; a key's
101
110
  // column (resolved once) carries its numeric test and direction. nulls sort
102
111
  // last regardless of direction, so the direction never applies to them.
@@ -163,7 +172,7 @@
163
172
  // an array `sort` on the options is an initial sort (a list of key
164
173
  // strings or objects, see parseKey); `true` just turns sorting on
165
174
  state = {
166
- filters: {}, page: 0, pageSize: 0,
175
+ filters: {}, predicates: {}, page: 0, pageSize: 0,
167
176
  sort: Array.isArray(opts.sort) ? opts.sort.map(parseKey) : []
168
177
  };
169
178
  let view, // filtered + sorted indices, cached across page turns
@@ -190,6 +199,20 @@
190
199
  sync(view.length);
191
200
  };
192
201
 
202
+ // a small controller for driving the table from outside (e.g. forestly's
203
+ // own dropdown and range-slider widgets): register a predicate over a row's
204
+ // raw values (`{col: value}`) under an id, replacing or (with a null `fn`)
205
+ // removing it, then re-render. `spec`/`state` are exposed for reading (the
206
+ // column values for a widget's choices come from `el._ltSpec.data`).
207
+ el._lt = {
208
+ spec, state,
209
+ refresh: () => refresh(),
210
+ filter(id, fn) {
211
+ fn ? (state.predicates[id] = fn) : (delete state.predicates[id]);
212
+ refresh();
213
+ }
214
+ };
215
+
193
216
  // the table-wide controls share one full-width head row: the column menu
194
217
  // (if any) at its start, then the search box, laid out in an inner flex bar
195
218
  const headBar = (opts.search !== false || opts.hide) ?
@@ -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),r=t=>"string"!=typeof t?{...t}:"-"===t[0]?{col:t.slice(1),dir:"desc"}:{col:t,dir:"asc"},i=(t,e)=>t.querySelector(e),s=(t,e)=>t.querySelectorAll(e),a=(t,e,n,o)=>t.addEventListener(e,n,o);function c(t,e,n={},o){const r=t.createElement(e);for(const t in n)t.includes("-")?r.setAttribute(t,n[t]):r[t]=n[t];return o?o.appendChild(r):r}function l(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 d(t,e,r){const i=t._cols||[],s=t.data||{},a=(t,n)=>({raw:s[t]?.[n-1]??null,disp:e[t]?.[n-1]??""});let c=Array.from({length:(s[i[0]]||[]).length},(t,e)=>e+1);for(const t in r.filters||{}){const e=l(r.filters[t]);e&&(c=c.filter(n=>e([a(t,n)])))}const d=l(r.term);d&&(c=c.filter(t=>d(i.map(e=>a(e,t)))));const u=(r.sort||[]).map(t=>{const e=s[t.col];return e&&{col:e,num:o(e),dir:"desc"===t.dir?-1:1}}).filter(Boolean);return u.length&&(n||=new Intl.Collator,c.sort((t,e)=>{for(const{col:o,num:r,dir:i}of u){const s=o[t-1],a=o[e-1],c=null==s,l=null==a;if(c||l){if(c!==l)return c?1:-1;continue}const d=r?s-a:n.compare(String(s),String(a));if(d)return i*d}return 0})),c}function u(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 p(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 l=o.interactive,p=o._cols||[],m=function(t,e){const n={};return e.forEach(t=>n[t]=[]),s(t,"tbody tr").forEach((t,o)=>e.forEach((e,r)=>n[e][o]=t.children[r]?.textContent??"")),n}(n,p),w=[...s(n,"thead tr")].pop(),y={filters:{},page:0,pageSize:0,sort:Array.isArray(l.sort)?l.sort.map(r):[]};let x,b=()=>{};const v=[],S=(t=!0)=>{t&&(x=d(o,m,y),y.page=0);const r=u(x,y),s=c(n.ownerDocument,"template",{innerHTML:e.buildHtml({...o,_viewRows:r})}),a=i(s.content,"tbody");r.length?v.forEach(t=>t(a,r)):a.innerHTML=`<tr class="lti-empty"><td colspan="${p.length}">—</td></tr>`,i(n,"tbody").replaceWith(a),b(x.length)},E=!1!==l.search||l.hide?c(n.ownerDocument,"div",{className:"lti-bar"},f(n.tHead||n.createTHead(),"lti-head",p.length,0)):null,C=[...s(w,"th")].map(t=>t.textContent);!1!==l.sort&&function(t,e,n,o){const r=t.ownerDocument,i={},a=()=>{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 r=i[e];r&&(r.th.setAttribute("aria-sort","desc"===n?"descending":"ascending"),r.ind.textContent=("desc"===n?"▼":"▲")+(t.length>1?String(o+1).replace(/\d/g,t=>"₀₁₂₃₄₅₆₇₈₉"[t]):""))})};s(t,"th").forEach((t,s)=>{const l=e[s];null!=l&&(t.classList.add("lti-sortable"),i[l]={th:t,ind:c(r,"span",{className:"lti-sort"},t)},t.onclick=t=>{!function(t,e,n){const o=(t.sort||[]).slice(),r=o.findIndex(t=>t.col===e),i=r<0?"asc":"asc"===o[r].dir?"desc":null;if(!n)return void(t.sort=i?[{col:e,dir:i}]:[]);r<0?o.push({col:e,dir:i}):i?o[r]={col:e,dir:i}:o.splice(r,1);t.sort=o}(n,l,t.shiftKey),a(),o()})}),a()}(w,p,y,S),l.filter&&function(t,e,n,o,r){const i=t.ownerDocument,s=n.columns,a=c(i,"tr",{className:"lti-filters"});e.forEach(t=>{const e=c(i,"td",{},a);if(Array.isArray(s)&&!s.includes(t))return;g(e.appendChild(h(i,`Filter ${t}`)),e=>{o.filters[t]=e,r()})}),t.parentNode.appendChild(a)}(w,p,l.filter,y,S);const N=l.resize?function(t,e,n){const o=[...s(e,"th")],r=function(t,e){let n=i(t,"colgroup");if(!n){const o=t.ownerDocument;n=c(o,"colgroup");for(let t=0;t<e;t++)c(o,"col",{},n);t.caption?t.caption.after(n):t.prepend(n)}return[...n.children]}(t,n),a=t=>t.getBoundingClientRect().width,l=()=>{if(t.classList.contains("lti-fixed"))return;const e=o.map(a);t.style.width=a(t)+"px",r.forEach((t,n)=>t.style.width=e[n]+"px"),t.classList.add("lti-fixed")},d=e=>{const n=r.map(t=>t.style.width),i=t.style.width;r.forEach(t=>t.style.width=""),t.style.width="",t.classList.remove("lti-fixed");const s=a(o[e]);return r.forEach((t,e)=>t.style.width=n[e]),t.style.width=i,t.classList.add("lti-fixed"),s},u=(e,n,o=24)=>{const i=parseFloat(r[e].style.width);r[e].style.width=Math.max(n,o)+"px",t.style.width=parseFloat(t.style.width)+parseFloat(r[e].style.width)-i+"px"};return{ths:o,cs:r,freeze:l,natural:d,setWidth:u}}(n,w,p.length):null;if(l.resize&&function(t,e){const n=t.ownerDocument,{ths:o,cs:r,freeze:i,natural:s,setWidth:l}=e;o.forEach((e,o)=>{const d=c(n,"div",{className:"lti-resizer"},e);d.onclick=t=>t.stopPropagation(),d.ondblclick=t=>{t.stopPropagation(),i(),l(o,s(o))},d.onpointerdown=e=>{e.preventDefault(),e.stopPropagation(),i();const s=e.clientX,c=parseFloat(r[o].style.width),d=t=>l(o,c+t.clientX-s);t.classList.add("lti-resizing"),a(n,"pointermove",d),a(n,"pointerup",()=>{var e,o;e="pointermove",o=d,n.removeEventListener(e,o),t.classList.remove("lti-resizing")},{once:!0})}})}(n,N),l.hide&&function(t,e,n,o,r,i,l,d){const u=e.ownerDocument,p=[...s(n,"th")],h=i&&i.hidden||[],f=new Set,g=(t,e,n)=>{const o=t.children[e];o&&1===o.colSpan&&(o.hidden=n)};d.push(t=>f.forEach(e=>{for(const n of t.rows)g(n,e,!0)}));const m=t=>{const n=f.has(t);p[t]&&(p[t].hidden=n),l?.cs[t]&&(l.cs[t].hidden=n);for(const o of e.tBodies)for(const e of o.rows)g(e,t,n)},w=c(u,"span",{className:"lti-cols"},t),y=c(u,"button",{type:"button",title:"Columns","aria-label":"Show or hide columns","aria-expanded":"false"},w),x=c(u,"div",{className:"lti-menu",hidden:!0},w);o.forEach((t,e)=>{if(null==t)return;const n=c(u,"label",{},x),o=c(u,"input",{type:"checkbox",checked:!0},n);n.append(r[e]??t),h.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=>{x.hidden=!t,y.setAttribute("aria-expanded",String(t))};y.onclick=t=>{t.stopPropagation(),b(x.hidden)},a(u,"click",t=>{w.contains(t.target)||b(!1)}),a(u,"keydown",t=>{"Escape"===t.key&&b(!1)})}(E,n,w,p,C,l.hide,N,v),!1!==l.search&&function(t,e,n,o){const r=t.appendChild(h(e.ownerDocument,"Search"));g(r,t=>{n.term=t,o()})}(E,n,y,S),l.detail&&v.push(function(n,o,r,i,s,a){const l=n.ownerDocument,d=r.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},h=e=>{if(e in u)return u[e];const n=p(o._display||{},e);let r=null;if(Array.isArray(s)){const t={};for(const e of s)t[e]=[n[e]??null];r={data:t}}else{const i="function"==typeof s?s:t[s];"function"==typeof i&&(r=i(p(o.data||{},e),e,n))}return u[e]=r},f=t=>{i.expanded.has(t)?i.expanded.delete(t):i.expanded.add(t),a()};return(t,n)=>[...t.rows].forEach((t,o)=>{const r=n[o],s=t.cells[0],a=i.expanded.has(r);if(!s)return;const u=c(l,"button",{type:"button",className:"lti-expand",textContent:a?"▾":"▸","aria-expanded":String(a),"aria-label":"Toggle detail"});u.onclick=()=>f(r),s.prepend(u);const p=a&&h(r);if(p){const n=c(l,"tr",{className:"lti-detail"});t.after(n);const o=c(l,"td",{colSpan:d},n);e.render(c(l,"div",{},o),p)}})}(n,o,p,y,l.detail,()=>S(!1))),l.pager){const t=Array.isArray(l.pager)?l.pager:[10,25,50,100];b=function(t,e,n,o,r){const i=t.ownerDocument;let s=t.tFoot;s||((s=t.createTFoot()).className="lt-footer");const a=c(i,"div",{className:"lti-pager"},f(s,"lti-pager-row",e.length,-1)),l=c(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=c(i,"button",{type:"button",textContent:t,"aria-label":["First","Previous","Next","Last"][e]},a);return n.onclick=()=>{o.page=d[e](o.page),r()},n});if(a.appendChild(l),n.length>1){const t=c(i,"select",{"aria-label":"Rows per page"},a);n.forEach(e=>c(i,"option",{value:e,textContent:e||"∞"},t)),t.onchange=()=>{o.pageSize=+t.value,o.page=0,r()}}return t=>{const e=o.pageSize||t||1,n=Math.max(0,Math.ceil(t/e)-1);l.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,p,t,y,()=>S(!1)),S()}else(y.sort.length||l.detail)&&S()}function h(t,e){return c(t,"input",{type:"search",className:"lti-search","aria-label":e})}function f(t,e,n,o){const r=t.insertRow(o);return r.className=e,c(t.ownerDocument,"td",{colSpan:n},r)}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 m=(t,e)=>{e?.interactive&&!t.dataset.ltiOn&&(t.dataset.ltiOn="1",p(t,e))};e.plugins.interactive={matcher:l,computeView:d,pageSlice:u,enhance:p},e.onMount.push(m),"undefined"!=typeof document&&s(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),r=t=>"string"!=typeof t?{...t}:"-"===t[0]?{col:t.slice(1),dir:"desc"}:{col:t,dir:"asc"},i=(t,e)=>t.querySelector(e),s=(t,e)=>t.querySelectorAll(e),c=(t,e,n,o)=>t.addEventListener(e,n,o);function a(t,e,n={},o){const r=t.createElement(e);for(const t in n)t.includes("-")?r.setAttribute(t,n[t]):r[t]=n[t];return o?o.appendChild(r):r}function l(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 d(t,e,r){const i=t._cols||[],s=t.data||{},c=(t,n)=>({raw:s[t]?.[n-1]??null,disp:e[t]?.[n-1]??""});let a=Array.from({length:(s[i[0]]||[]).length},(t,e)=>e+1);for(const t in r.filters||{}){const e=l(r.filters[t]);e&&(a=a.filter(n=>e([c(t,n)])))}const d=l(r.term);d&&(a=a.filter(t=>d(i.map(e=>c(e,t)))));const u=Object.values(r.predicates||{});if(u.length){const t=t=>Object.fromEntries(i.map(e=>[e,s[e]?.[t-1]??null]));a=a.filter(e=>{const n=t(e);return u.every(t=>t(n))})}const p=(r.sort||[]).map(t=>{const e=s[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:r,dir:i}of p){const s=o[t-1],c=o[e-1],a=null==s,l=null==c;if(a||l){if(a!==l)return a?1:-1;continue}const d=r?s-c:n.compare(String(s),String(c));if(d)return i*d}return 0})),a}function u(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 p(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 l=o.interactive,p=o._cols||[],m=function(t,e){const n={};return e.forEach(t=>n[t]=[]),s(t,"tbody tr").forEach((t,o)=>e.forEach((e,r)=>n[e][o]=t.children[r]?.textContent??"")),n}(n,p),w=[...s(n,"thead tr")].pop(),y={filters:{},predicates:{},page:0,pageSize:0,sort:Array.isArray(l.sort)?l.sort.map(r):[]};let x,b=()=>{};const v=[],S=(t=!0)=>{t&&(x=d(o,m,y),y.page=0);const r=u(x,y),s=a(n.ownerDocument,"template",{innerHTML:e.buildHtml({...o,_viewRows:r})}),c=i(s.content,"tbody");r.length?v.forEach(t=>t(c,r)):c.innerHTML=`<tr class="lti-empty"><td colspan="${p.length}">—</td></tr>`,i(n,"tbody").replaceWith(c),b(x.length)};n._lt={spec:o,state:y,refresh:()=>S(),filter(t,e){e?y.predicates[t]=e:delete y.predicates[t],S()}};const E=!1!==l.search||l.hide?a(n.ownerDocument,"div",{className:"lti-bar"},f(n.tHead||n.createTHead(),"lti-head",p.length,0)):null,C=[...s(w,"th")].map(t=>t.textContent);!1!==l.sort&&function(t,e,n,o){const r=t.ownerDocument,i={},c=()=>{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 r=i[e];r&&(r.th.setAttribute("aria-sort","desc"===n?"descending":"ascending"),r.ind.textContent=("desc"===n?"▼":"▲")+(t.length>1?String(o+1).replace(/\d/g,t=>"₀₁₂₃₄₅₆₇₈₉"[t]):""))})};s(t,"th").forEach((t,s)=>{const l=e[s];null!=l&&(t.classList.add("lti-sortable"),i[l]={th:t,ind:a(r,"span",{className:"lti-sort"},t)},t.onclick=t=>{!function(t,e,n){const o=(t.sort||[]).slice(),r=o.findIndex(t=>t.col===e),i=r<0?"asc":"asc"===o[r].dir?"desc":null;if(!n)return void(t.sort=i?[{col:e,dir:i}]:[]);r<0?o.push({col:e,dir:i}):i?o[r]={col:e,dir:i}:o.splice(r,1);t.sort=o}(n,l,t.shiftKey),c(),o()})}),c()}(w,p,y,S),l.filter&&function(t,e,n,o,r){const i=t.ownerDocument,s=n.columns,c=a(i,"tr",{className:"lti-filters"});e.forEach(t=>{const e=a(i,"td",{},c);if(Array.isArray(s)&&!s.includes(t))return;g(e.appendChild(h(i,`Filter ${t}`)),e=>{o.filters[t]=e,r()})}),t.parentNode.appendChild(c)}(w,p,l.filter,y,S);const N=l.resize?function(t,e,n){const o=[...s(e,"th")],r=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),c=t=>t.getBoundingClientRect().width,l=()=>{if(t.classList.contains("lti-fixed"))return;const e=o.map(c);t.style.width=c(t)+"px",r.forEach((t,n)=>t.style.width=e[n]+"px"),t.classList.add("lti-fixed")},d=e=>{const n=r.map(t=>t.style.width),i=t.style.width;r.forEach(t=>t.style.width=""),t.style.width="",t.classList.remove("lti-fixed");const s=c(o[e]);return r.forEach((t,e)=>t.style.width=n[e]),t.style.width=i,t.classList.add("lti-fixed"),s},u=(e,n,o=24)=>{const i=parseFloat(r[e].style.width);r[e].style.width=Math.max(n,o)+"px",t.style.width=parseFloat(t.style.width)+parseFloat(r[e].style.width)-i+"px"};return{ths:o,cs:r,freeze:l,natural:d,setWidth:u}}(n,w,p.length):null;if(l.resize&&function(t,e){const n=t.ownerDocument,{ths:o,cs:r,freeze:i,natural:s,setWidth:l}=e;o.forEach((e,o)=>{const d=a(n,"div",{className:"lti-resizer"},e);d.onclick=t=>t.stopPropagation(),d.ondblclick=t=>{t.stopPropagation(),i(),l(o,s(o))},d.onpointerdown=e=>{e.preventDefault(),e.stopPropagation(),i();const s=e.clientX,a=parseFloat(r[o].style.width),d=t=>l(o,a+t.clientX-s);t.classList.add("lti-resizing"),c(n,"pointermove",d),c(n,"pointerup",()=>{var e,o;e="pointermove",o=d,n.removeEventListener(e,o),t.classList.remove("lti-resizing")},{once:!0})}})}(n,N),l.hide&&function(t,e,n,o,r,i,l,d){const u=e.ownerDocument,p=[...s(n,"th")],h=i&&i.hidden||[],f=new Set,g=(t,e,n)=>{const o=t.children[e];o&&1===o.colSpan&&(o.hidden=n)};d.push(t=>f.forEach(e=>{for(const n of t.rows)g(n,e,!0)}));const m=t=>{const n=f.has(t);p[t]&&(p[t].hidden=n),l?.cs[t]&&(l.cs[t].hidden=n);for(const o of e.tBodies)for(const e of o.rows)g(e,t,n)},w=a(u,"span",{className:"lti-cols"},t),y=a(u,"button",{type:"button",title:"Columns","aria-label":"Show or hide columns","aria-expanded":"false"},w),x=a(u,"div",{className:"lti-menu",hidden:!0},w);o.forEach((t,e)=>{if(null==t)return;const n=a(u,"label",{},x),o=a(u,"input",{type:"checkbox",checked:!0},n);n.append(r[e]??t),h.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=>{x.hidden=!t,y.setAttribute("aria-expanded",String(t))};y.onclick=t=>{t.stopPropagation(),b(x.hidden)},c(u,"click",t=>{w.contains(t.target)||b(!1)}),c(u,"keydown",t=>{"Escape"===t.key&&b(!1)})}(E,n,w,p,C,l.hide,N,v),!1!==l.search&&function(t,e,n,o){const r=t.appendChild(h(e.ownerDocument,"Search"));g(r,t=>{n.term=t,o()})}(E,n,y,S),l.detail&&v.push(function(n,o,r,i,s,c){const l=n.ownerDocument,d=r.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},h=e=>{if(e in u)return u[e];const n=p(o._display||{},e);let r=null;if(Array.isArray(s)){const t={};for(const e of s)t[e]=[n[e]??null];r={data:t}}else{const i="function"==typeof s?s:t[s];"function"==typeof i&&(r=i(p(o.data||{},e),e,n))}return u[e]=r},f=t=>{i.expanded.has(t)?i.expanded.delete(t):i.expanded.add(t),c()};return(t,n)=>[...t.rows].forEach((t,o)=>{const r=n[o],s=t.cells[0],c=i.expanded.has(r);if(!s)return;const u=a(l,"button",{type:"button",className:"lti-expand",textContent:c?"▾":"▸","aria-expanded":String(c),"aria-label":"Toggle detail"});u.onclick=()=>f(r),s.prepend(u);const p=c&&h(r);if(p){const n=a(l,"tr",{className:"lti-detail"});t.after(n);const o=a(l,"td",{colSpan:d},n);e.render(a(l,"div",{},o),p)}})}(n,o,p,y,l.detail,()=>S(!1))),l.pager){const t=Array.isArray(l.pager)?l.pager:[10,25,50,100];b=function(t,e,n,o,r){const i=t.ownerDocument;let s=t.tFoot;s||((s=t.createTFoot()).className="lt-footer");const c=a(i,"div",{className:"lti-pager"},f(s,"lti-pager-row",e.length,-1)),l=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]},c);return n.onclick=()=>{o.page=d[e](o.page),r()},n});if(c.appendChild(l),n.length>1){const t=a(i,"select",{"aria-label":"Rows per page"},c);n.forEach(e=>a(i,"option",{value:e,textContent:e||"∞"},t)),t.onchange=()=>{o.pageSize=+t.value,o.page=0,r()}}return t=>{const e=o.pageSize||t||1,n=Math.max(0,Math.ceil(t/e)-1);l.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,p,t,y,()=>S(!1)),S()}else(y.sort.length||l.detail)&&S()}function h(t,e){return a(t,"input",{type:"search",className:"lti-search","aria-label":e})}function f(t,e,n,o){const r=t.insertRow(o);return r.className=e,a(t.ownerDocument,"td",{colSpan:n},r)}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 m=(t,e)=>{e?.interactive&&!t.dataset.ltiOn&&(t.dataset.ltiOn="1",p(t,e))};e.plugins.interactive={matcher:l,computeView:d,pageSlice:u,enhance:p},e.onMount.push(m),"undefined"!=typeof document&&s(document,".lt-table").forEach(t=>m(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","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","keys","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","o","isFlat","console","warn","forEach","tr","ri","ci","children","textContent","captureDisplay","hrow","pop","isArray","sync","postSwap","refresh","stale","rows","tmp","ownerDocument","innerHTML","buildHtml","_viewRows","body","content","f","replaceWith","headBar","search","hide","className","fullRow","tHead","createTHead","labels","th","marks","paint","removeAttribute","ind","order","m","replace","d","classList","add","onclick","additive","findIndex","push","splice","cycle","shiftKey","addSort","opt","only","columns","row","onType","searchInput","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","stopPropagation","ondblclick","onpointerdown","preventDefault","x0","clientX","w0","move","ev","removeEventListener","once","addResize","start","hidden","Set","setCell","colSpan","apply","has","tBodies","wrap","btn","title","menu","label","box","checked","append","onchange","delete","open","target","key","addColumnToggle","input","addSearch","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","dataset","ltiOn","document","_ltSpec","window","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","$","el","sel","querySelector","$$","querySelectorAll","on","t","type","fn","opts","addEventListener","elem","doc","tag","props","parent","e","createElement","includes","setAttribute","appendChild","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","row","fromEntries","o","every","f","keys","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","ownerDocument","innerHTML","buildHtml","_viewRows","body","content","replaceWith","_lt","id","headBar","search","hide","className","fullRow","tHead","createTHead","labels","th","marks","paint","removeAttribute","ind","order","m","replace","d","classList","add","onclick","additive","findIndex","push","splice","cycle","shiftKey","addSort","opt","only","columns","onType","searchInput","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","stopPropagation","ondblclick","onpointerdown","preventDefault","x0","clientX","w0","move","ev","removeEventListener","once","addResize","start","hidden","Set","setCell","colSpan","apply","has","tBodies","wrap","btn","title","menu","label","box","checked","append","onchange","delete","open","target","key","addColumnToggle","input","addSearch","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","dataset","ltiOn","document","_ltSpec","window","globalThis"],"sources":["lt-interactive.js"],"mappings":"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","ignoreList":[]}
package/js/lt-plot.js CHANGED
@@ -54,32 +54,52 @@
54
54
  return Math.round(Math.max(EB_PAD, Math.min(eb.width - EB_PAD, p)) * 10) / 10;
55
55
  };
56
56
 
57
- // Inline SVG for an error-bar cell: a point at the estimate and a horizontal
58
- // bar (with end caps) from the lower to the upper bound, on the column's
59
- // shared [min,max] scale. Only the numbers are shipped in the spec; the SVG
60
- // is built here at render time, so an interactive table (which rebuilds
61
- // <tbody> from spec._viewRows) draws it only for the rows on the current
62
- // page. `u` carries the core helpers (esc/isNum/str) passed in by lt.js.
57
+ // y pixel of series i of n within a cell of height H: a lone series on the
58
+ // mid-line, else evenly spaced tracks so stacked points/bars do not overlap.
59
+ // Shared by the stacked error bar and the staggered dot plot.
60
+ const stackY = (i, n, H) => n <= 1 ? H / 2 : Math.round((i + 1) / (n + 1) * H);
61
+
62
+ // Inline SVG for an error-bar cell: one series per triple (value, lower,
63
+ // upper) — a point at the estimate and a horizontal bar (with end caps) from
64
+ // the lower to the upper bound, on the column's shared [min,max] scale. A
65
+ // single series sits on the mid-line; several series stack at evenly spaced
66
+ // rows, each optionally colored (see the footer legend). Only the numbers are
67
+ // shipped in the spec; the SVG is built here at render time, so an
68
+ // interactive table (which rebuilds <tbody> from spec._viewRows) draws it
69
+ // only for the rows on the current page. `u` carries the core helpers
70
+ // (esc/isNum/str) passed in by lt.js.
63
71
  function svgErrorbar(eb, data, r, u) {
64
72
  const num = k => { const v = data[k]?.[r - 1]; return u.isNum(v) ? v : null; };
65
- const est = num(eb.col), lo = num(eb.lo), hi = num(eb.hi);
66
- if (est == null && lo == null && hi == null) return "";
67
- const H = eb.height, y = H / 2, x = v => ebX(eb, v),
68
- cap = Math.min(4, (H - 1) / 2); // half-height of the end caps
73
+ const H = eb.height, n = eb.cols.length, x = v => ebX(eb, v),
74
+ 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
69
76
  let s = `<svg class="lt-eb" width="${eb.width}" height="${H}">`;
70
77
  if (eb.ref != null)
71
78
  s += `<line class="lt-eb-ref" x1="${x(eb.ref)}" y1="0" x2="${x(eb.ref)}" y2="${H}"/>`;
72
- if (lo != null && hi != null) {
73
- // horizontal bar plus short vertical end caps at both ends
74
- const xl = x(lo), xh = x(hi);
75
- s += `<line x1="${xl}" y1="${y}" x2="${xh}" y2="${y}"/>` +
76
- `<line x1="${xl}" y1="${y - cap}" x2="${xl}" y2="${y + cap}"/>` +
77
- `<line x1="${xh}" y1="${y - cap}" x2="${xh}" y2="${y + cap}"/>`;
78
- }
79
- if (est != null) s += `<circle cx="${x(est)}" cy="${y}" r="3"/>`;
80
- const ci = lo != null && hi != null ? ` (${u.str(lo)}, ${u.str(hi)})` : "";
81
- s += `<title>${u.esc((est != null ? u.str(est) : "") + ci)}</title></svg>`;
82
- return s;
79
+ const titles = [];
80
+ eb.cols.forEach((c, i) => {
81
+ const est = num(c), lo = num(eb.los[i]), hi = num(eb.his[i]);
82
+ if (est == null && lo == null && hi == null) return;
83
+ const y = yOf(i), col = eb.colors?.[i],
84
+ // per-series color via stroke=/fill= attributes; the stylesheet only
85
+ // defaults series that lack them (:not([stroke])/:not([fill])), so a
86
+ // color shows but a user CSS rule can still override it
87
+ st = col ? ` stroke="${u.esc(col)}"` : "",
88
+ fl = col ? ` fill="${u.esc(col)}"` : "";
89
+ if (lo != null && hi != null) {
90
+ // horizontal bar plus short vertical end caps at both ends
91
+ const xl = x(lo), xh = x(hi);
92
+ s += `<line${st} x1="${xl}" y1="${y}" x2="${xh}" y2="${y}"/>` +
93
+ `<line${st} x1="${xl}" y1="${y - cap}" x2="${xl}" y2="${y + cap}"/>` +
94
+ `<line${st} x1="${xh}" y1="${y - cap}" x2="${xh}" y2="${y + cap}"/>`;
95
+ }
96
+ if (est != null) s += `<circle${fl} cx="${x(est)}" cy="${y}" r="3"/>`;
97
+ const ci = lo != null && hi != null ? ` (${u.str(lo)}, ${u.str(hi)})` : "";
98
+ titles.push((eb.labels?.[i] ? eb.labels[i] + ": " : "") +
99
+ (est != null ? u.str(est) : "") + ci);
100
+ });
101
+ if (!titles.length) return "";
102
+ return s + `<title>${u.esc(titles.join("\n"))}</title></svg>`;
83
103
  }
84
104
 
85
105
  // Full-cell background layer of faint vertical gridlines at the shared tick
@@ -123,10 +143,12 @@
123
143
  // r, u) -> body-cell HTML; foot(cfg, u) -> footer (axis) HTML or "".
124
144
  cells.errorbar = {
125
145
  resolve(op) {
126
- const [v, lo, hi] = op.columns || [];
146
+ const cols = op.columns || [], v = cols[0];
127
147
  if (!v) return {};
128
148
  const eb = {
129
- col: v, lo, hi, min: op.min, max: op.max, ref: op.ref, axis: op.axis,
149
+ col: v, cols, los: op.lowers || [], his: op.uppers || [],
150
+ colors: op.colors, labels: op.labels,
151
+ min: op.min, max: op.max, ref: op.ref, axis: op.axis,
130
152
  axisLabel: op.axis_label, width: op.width || 160, height: op.height || 16
131
153
  };
132
154
  // When an axis is requested, the same nice ticks drive both the footer
@@ -139,7 +161,7 @@
139
161
  // background can run unbroken from one row to the next.
140
162
  cellClass: eb => eb.ticks ? "lt-eb-cell" : "",
141
163
  cell: (eb, data, r, u) => (eb.ticks ? svgGrid(eb) : "") + svgErrorbar(eb, data, r, u),
142
- foot: (eb, u) => eb.axis ? svgAxis(eb, u) : ""
164
+ foot: (eb, u) => (eb.ticks ? svgAxis(eb, u) : "") + legend(eb, u)
143
165
  };
144
166
 
145
167
  // Padding (px) inside a sparkline SVG, so the line/bars never touch the edge.
@@ -216,10 +238,14 @@
216
238
  // Inline SVG dot plot for a cell: one dot per column, each at its value on the
217
239
  // column group's shared [min,max] scale, so a row with N columns shows N dots
218
240
  // laid out horizontally on one baseline. When colors are given, each dot takes
219
- // its column's color (see dotLegend for the key). Non-finite values draw no
241
+ // its column's color (see legend() for the key). Non-finite values draw no
220
242
  // dot. Reuses the error-bar scale (ebX) and padding.
221
243
  function svgDotplot(dp, data, r, u) {
222
- const H = dp.height, y = H / 2, x = v => ebX(dp, v);
244
+ const H = dp.height, n = dp.cols.length, x = v => ebX(dp, v),
245
+ // all dots on the mid-line by default; stagger puts each column on its
246
+ // own track (like the stacked error bar) so near-equal values do not
247
+ // overlap — the vertical position is cosmetic, only x carries a value
248
+ yOf = i => dp.stagger ? stackY(i, n, H) : H / 2;
223
249
  let s = `<svg class="lt-dot" width="${dp.width}" height="${H}">`;
224
250
  const titles = [];
225
251
  dp.cols.forEach((c, i) => {
@@ -229,20 +255,22 @@
229
255
  // only defaults dots that lack it (:not([fill])), so this color shows but
230
256
  // user CSS (a stylesheet rule) can still override it
231
257
  const col = dp.colors?.[i], fl = col ? ` fill="${u.esc(col)}"` : "";
232
- s += `<circle${fl} cx="${x(v)}" cy="${y}" r="3"/>`;
258
+ s += `<circle${fl} cx="${x(v)}" cy="${yOf(i)}" r="3"/>`;
233
259
  titles.push((dp.labels?.[i] ? dp.labels[i] + ": " : "") + u.str(v));
234
260
  });
235
261
  return s + `<title>${u.esc(titles.join("\n"))}</title></svg>`;
236
262
  }
237
263
 
238
- // Color key for a colored dot plot, drawn once in the footer under the axis: a
239
- // swatch + label per column. "" when the plot is monochrome (no colors).
240
- function dotLegend(dp, u) {
241
- if (!dp.colors) return "";
242
- const items = dp.cols.map((c, i) =>
243
- `<span><i style="background:${u.esc(dp.colors[i])}"></i>` +
244
- `${u.esc(dp.labels?.[i] ?? c)}</span>`).join("");
245
- return `<div class="lt-dot-legend">${items}</div>`;
264
+ // Color key for a colored dot/error-bar plot, drawn once in the footer under
265
+ // the axis: a swatch + label per series. "" when the plot is monochrome (no
266
+ // colors). Shared by the dot-plot and error-bar renderers (cfg.cols/colors/
267
+ // labels have the same shape in both).
268
+ function legend(cfg, u) {
269
+ if (!cfg.colors) return "";
270
+ const items = cfg.cols.map((c, i) =>
271
+ `<span><i style="background:${u.esc(cfg.colors[i])}"></i>` +
272
+ `${u.esc(cfg.labels?.[i] ?? c)}</span>`).join("");
273
+ return `<div class="lt-plot-legend">${items}</div>`;
246
274
  }
247
275
 
248
276
  // Dot-plot cell renderer. columns = the value columns (one dot each); the plot
@@ -253,7 +281,7 @@
253
281
  const cols = op.columns || [], v = cols[0];
254
282
  if (!v) return {};
255
283
  const dp = {
256
- col: v, cols, colors: op.colors, labels: op.labels,
284
+ col: v, cols, colors: op.colors, labels: op.labels, stagger: op.stagger,
257
285
  min: op.min, max: op.max, axisLabel: op.axis_label,
258
286
  width: op.width || 160, height: op.height || 16
259
287
  };
@@ -262,7 +290,7 @@
262
290
  },
263
291
  cellClass: dp => dp.ticks ? "lt-eb-cell" : "",
264
292
  cell: (dp, data, r, u) => (dp.ticks ? svgGrid(dp) : "") + svgDotplot(dp, data, r, u),
265
- foot: (dp, u) => (dp.ticks ? svgAxis(dp, u) : "") + dotLegend(dp, u)
293
+ foot: (dp, u) => (dp.ticks ? svgAxis(dp, u) : "") + legend(dp, u)
266
294
  };
267
295
 
268
296
  // If core already built a table before this module loaded (a doc where an
package/js/lt-plot.min.js CHANGED
@@ -1,2 +1,2 @@
1
- (t=>{"use strict";const l=t.LT||(t.LT={}),e=l.cells||(l.cells={});if(e.errorbar)return;function s(t,l,e=5){if(!(l>t))return[t];const s=(t,l)=>{const e=Math.floor(Math.log10(t)),s=t/10**e;return(l?s<1.5?1:s<3?2:s<7?5:10:s<=1?1:s<=2?2:s<=5?5:10)*10**e},n=s(s(l-t,!1)/(e-1),!0),i=Math.max(0,-Math.floor(Math.log10(n))),o=[];for(let e=Math.ceil(t/n)*n;e<=l+n/2;e+=n)o.push(+e.toFixed(i));return o}function n(t){const l=t.width-8,e=11*Math.max(String(t.min).length,String(t.max).length)*.6+11;return Math.max(2,Math.min(8,Math.floor(l/e)+1))}const i=(t,l)=>{const e=t.width-8,s=t.max-t.min,n=s>0?4+(l-t.min)/s*e:t.width/2;return Math.round(10*Math.max(4,Math.min(t.width-4,n)))/10};function o(t){let l=`<svg class="lt-eb-grid-bg" width="${t.width}" height="100%" viewBox="0 0 ${t.width} 10" preserveAspectRatio="none">`;for(const e of t.ticks)l+=`<line x1="${i(t,e)}" y1="0" x2="${i(t,e)}" y2="10"/>`;return l+"</svg>"}function r(t,l){const e=t.width,s=t.axisLabel,n=s?32:18,o=l=>i(t,l);let r=`<svg class="lt-eb-axis" width="${e}" height="${n}" overflow="visible"><line x1="4" y1="1" x2="${e-4}" y2="1"/>`;for(const s of t.ticks||[]){const t=o(s);r+=`<line x1="${t}" y1="0" x2="${t}" y2="4"/><text x="${t}" y="15" text-anchor="${t<=4?"start":t>=e-4?"end":"middle"}">${l.esc(l.str(s))}</text>`}return s&&(r+=`<text class="lt-eb-axis-label" x="${e/2}" y="${n-4}" text-anchor="middle">${l.esc(s)}</text>`),r+"</svg>"}e.errorbar={resolve(t){const[l,e,i]=t.columns||[];if(!l)return{};const o={col:l,lo:e,hi:i,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&&(o.ticks=s(o.min,o.max,n(o))),{[l]:o}},cellClass:t=>t.ticks?"lt-eb-cell":"",cell:(t,l,e,s)=>(t.ticks?o(t):"")+function(t,l,e,s){const n=t=>{const n=l[t]?.[e-1];return s.isNum(n)?n:null},o=n(t.col),r=n(t.lo),c=n(t.hi);if(null==o&&null==r&&null==c)return"";const a=t.height,h=a/2,u=l=>i(t,l),$=Math.min(4,(a-1)/2);let x=`<svg class="lt-eb" width="${t.width}" height="${a}">`;if(null!=t.ref&&(x+=`<line class="lt-eb-ref" x1="${u(t.ref)}" y1="0" x2="${u(t.ref)}" y2="${a}"/>`),null!=r&&null!=c){const t=u(r),l=u(c);x+=`<line x1="${t}" y1="${h}" x2="${l}" y2="${h}"/><line x1="${t}" y1="${h-$}" x2="${t}" y2="${h+$}"/><line x1="${l}" y1="${h-$}" x2="${l}" y2="${h+$}"/>`}null!=o&&(x+=`<circle cx="${u(o)}" cy="${h}" r="3"/>`);const m=null!=r&&null!=c?` (${s.str(r)}, ${s.str(c)})`:"";return x+=`<title>${s.esc((null!=o?s.str(o):"")+m)}</title></svg>`,x}(t,l,e,s),foot:(t,l)=>t.axis?r(t,l):""};const c=t=>Math.round(10*t)/10,a=t=>`"${t}"`;function h(t,l,e,s){const n=function(t,l,e,s){const n=l[t.cols[0]]?.[e-1];return(1===t.cols.length&&Array.isArray(n)?n:t.cols.map(t=>l[t]?.[e-1])).map(t=>s.isNum(t)?+t:null)}(t,l,e,s),i=n.filter(t=>null!=t);if(!i.length)return"";const o=t.width,r=t.height,h=n.length,u=null!=t.min?t.min:Math.min(...i),$=null!=t.max?t.max:Math.max(...i),x=t=>c($>u?r-2-(t-u)/($-u)*(r-4):r/2),m=t.color?` style="color:${s.esc(t.color)}"`:"";let d;if("bar"===t.kind){const t=(o-4)/h,l=c(Math.max(1,.8*t)),e=x(u<0&&$>0?0:u);d=n.map((s,n)=>{if(null==s)return"";const i=x(s),o=c(2+n*t+(t-l)/2);return`<rect class="lt-spark-bar" x=${a(o)} y=${a(Math.min(i,e))} width=${a(l)} height=${a(Math.max(1,Math.abs(e-i)))}/>`}).join("")}else{let t="",l=!1;n.forEach((e,s)=>{null!=e?(t+=`${l?"L":"M"}${(t=>c(h>1?2+t/(h-1)*(o-4):o/2))(s)} ${x(e)}`,l=!0):l=!1}),d=`<path class="lt-spark-line" d="${t}"/>`}return`<svg class="lt-spark" width="${o}" height="${r}"${m}>${d}<title>${s.esc(i.map(s.str).join(", "))}</title></svg>`}function u(t,l,e,s){const n=t.height,o=n/2;let r=`<svg class="lt-dot" width="${t.width}" height="${n}">`;const c=[];return t.cols.forEach((n,a)=>{const h=l[n]?.[e-1];if(!s.isNum(h))return;const u=t.colors?.[a],$=u?` fill="${s.esc(u)}"`:"";r+=`<circle${$} cx="${(l=>i(t,l))(h)}" cy="${o}" r="3"/>`,c.push((t.labels?.[a]?t.labels[a]+": ":"")+s.str(h))}),r+`<title>${s.esc(c.join("\n"))}</title></svg>`}e.sparkline={resolve(t){const l=t.columns||[],e=l[0];return e?{[e]:{col:e,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,e,s)=>h(t,l,e,s)},e.dotplot={resolve(t){const l=t.columns||[],e=l[0];if(!e)return{};const i={col:e,cols:l,colors:t.colors,labels:t.labels,min:t.min,max:t.max,axisLabel:t.axis_label,width:t.width||160,height:t.height||16};return t.axis&&(i.ticks=s(i.min,i.max,n(i))),{[e]:i}},cellClass:t=>t.ticks?"lt-eb-cell":"",cell:(t,l,e,s)=>(t.ticks?o(t):"")+u(t,l,e,s),foot:(t,l)=>(t.ticks?r(t,l):"")+function(t,l){return t.colors?`<div class="lt-dot-legend">${t.cols.map((e,s)=>`<span><i style="background:${l.esc(t.colors[s])}"></i>${l.esc(t.labels?.[s]??e)}</span>`).join("")}</div>`:""}(t,l)};const $=t.document;if($)for(const t of $.querySelectorAll(".lt-table"))(t._ltSpec?.ops||[]).some(t=>e[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+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);
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","svgGrid","s","t","svgAxis","u","W","lbl","axisLabel","H","xt","esc","str","resolve","op","columns","col","ref","axis","axis_label","height","cellClass","cell","data","r","num","k","isNum","est","y","cap","xl","xh","ci","svgErrorbar","foot","round1","q","svgSparkline","sp","vals","cols","Array","isArray","map","c","spSeries","fin","filter","yAt","style","color","body","kind","slot","bw","base","i","yv","abs","join","pen","forEach","xAt","svgDotplot","dp","titles","colors","fl","labels","sparkline","dotplot","dotLegend","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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xiee/utils",
3
- "version": "1.14.84",
3
+ "version": "1.14.86",
4
4
  "description": "Miscellaneous tools and utilities to manipulate HTML pages",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"