@xiee/utils 1.14.76 → 1.14.77

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.
@@ -19,6 +19,12 @@
19
19
  // A column is numeric if its first non-null value is a number (how core
20
20
  // lt.js decides alignment and formatting).
21
21
  const numCol = col => typeof col.find(v => v != null) === "number";
22
+ // A number as subscript digits (₁ ₂ …), for the sort-order ordinals.
23
+ const sub = n => String(n).replace(/\d/g, d => "₀₁₂₃₄₅₆₇₈₉"[d]);
24
+ // A sort key: a `"col"` (ascending) or `"-col"` (descending) string, or an
25
+ // explicit `{col, dir}` object. Normalizes either to `{col, dir}`.
26
+ const parseKey = k => typeof k !== "string" ? { ...k } :
27
+ k[0] === "-" ? { col: k.slice(1), dir: "desc" } : { col: k, dir: "asc" };
22
28
 
23
29
  // --- Small DOM helpers, so building the controls stays terse ---
24
30
  const $ = (el, sel) => el.querySelector(sel),
@@ -73,8 +79,9 @@
73
79
  // search, then sort, yielding the 1-based original row indices for
74
80
  // `spec._viewRows`. `disp[col][i]` is a cell's displayed text (what substring
75
81
  // search matches); `state` holds the filter terms (`filters[col]`), the
76
- // search term, and the sorted column/direction. Filters and the search are
77
- // combined with AND: a row must pass all of them.
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
85
  function computeView(spec, disp, state) {
79
86
  const cols = spec._cols || [], data = spec.data || {},
80
87
  cell = (c, r) => ({
@@ -90,15 +97,23 @@
90
97
  const pred = matcher(state.term);
91
98
  if (pred) idx = idx.filter(r => pred(cols.map(c => cell(c, r))));
92
99
 
93
- const col = data[state.sortCol];
94
- if (col && state.sortDir) {
95
- const num = numCol(col), dir = state.sortDir === "desc" ? -1 : 1;
100
+ // sort by each key in turn, falling through to the next on a tie; a key's
101
+ // column (resolved once) carries its numeric test and direction. nulls sort
102
+ // last regardless of direction, so the direction never applies to them.
103
+ const keys = (state.sort || []).map(k => {
104
+ const col = data[k.col];
105
+ return col && { col, num: numCol(col), dir: k.dir === "desc" ? -1 : 1 };
106
+ }).filter(Boolean);
107
+ if (keys.length) {
96
108
  coll ||= new Intl.Collator();
97
109
  idx.sort((a, b) => {
98
- const x = col[a - 1], y = col[b - 1];
99
- // nulls sort last in both directions
100
- if (x == null || y == null) return x == y ? 0 : x == null ? 1 : -1;
101
- return dir * (num ? x - y : coll.compare(String(x), String(y)));
110
+ for (const { col, num, dir } of keys) {
111
+ const x = col[a - 1], y = col[b - 1], xn = x == null, yn = y == null;
112
+ if (xn || yn) { if (xn !== yn) return xn ? 1 : -1; continue; }
113
+ const c = num ? x - y : coll.compare(String(x), String(y));
114
+ if (c) return dir * c;
115
+ }
116
+ return 0;
102
117
  });
103
118
  }
104
119
  return idx;
@@ -145,7 +160,12 @@
145
160
  disp = captureDisplay(el, cols),
146
161
  // the bottom header row: the one whose cells line up with `cols`
147
162
  hrow = [...$$(el, "thead tr")].pop(),
148
- state = { filters: {}, page: 0, pageSize: 0 };
163
+ // an array `sort` on the options is an initial sort (a list of key
164
+ // strings or objects, see parseKey); `true` just turns sorting on
165
+ state = {
166
+ filters: {}, page: 0, pageSize: 0,
167
+ sort: Array.isArray(opts.sort) ? opts.sort.map(parseKey) : []
168
+ };
149
169
  let view, // filtered + sorted indices, cached across page turns
150
170
  sync = () => {}; // pager readout, replaced by addPaginate()
151
171
 
@@ -174,6 +194,8 @@
174
194
  const sizes = Array.isArray(opts.pager) ? opts.pager : [10, 25, 50, 100];
175
195
  sync = addPaginate(el, cols, sizes, state, () => refresh(false));
176
196
  refresh(); // cut the full render down to the first page
197
+ } else if (state.sort.length) {
198
+ refresh(); // core rendered the rows in file order; apply the initial sort
177
199
  }
178
200
  }
179
201
 
@@ -212,33 +234,49 @@
212
234
  onType(input, v => { state.term = v; refresh(); });
213
235
  }
214
236
 
215
- // Click-to-sort headers, one column at a time: clicking cycles asc → desc →
216
- // unsorted. The indicator and aria-sort live on the <th>, which survives the
217
- // <tbody> swap, so they need no re-render.
237
+ // Advance one column through asc → desc → unsorted, updating `state.sort` (an
238
+ // ordered list of `{col, dir}` keys). A plain click sorts by that column
239
+ // alone; a shift-click adds it as a further tie-breaker (or re-cycles it where
240
+ // it already is), so several columns can sort together.
241
+ function cycle(state, col, additive) {
242
+ const order = (state.sort || []).slice(),
243
+ i = order.findIndex(k => k.col === col),
244
+ dir = i < 0 ? "asc" : order[i].dir === "asc" ? "desc" : null;
245
+ if (!additive) { state.sort = dir ? [{ col, dir }] : []; return; }
246
+ if (i < 0) order.push({ col, dir }); // dir is "asc" here
247
+ else if (dir) order[i] = { col, dir };
248
+ else order.splice(i, 1);
249
+ state.sort = order;
250
+ }
251
+
252
+ // Click-to-sort headers (shift-click to sort by several at once). The
253
+ // indicators and aria-sort live on the <th>s, which survive the <tbody> swap,
254
+ // so repainting them needs no re-render. An ordinal (₁ ₂ …) marks each key's
255
+ // place when more than one column sorts.
218
256
  function addSort(hrow, cols, state, refresh) {
219
- const doc = hrow.ownerDocument, marks = [];
257
+ const doc = hrow.ownerDocument, marks = {};
258
+ const paint = () => {
259
+ for (const c in marks) {
260
+ marks[c].th.removeAttribute("aria-sort");
261
+ marks[c].ind.textContent = "";
262
+ }
263
+ const order = state.sort || [];
264
+ order.forEach(({ col, dir }, i) => {
265
+ const m = marks[col];
266
+ if (!m) return;
267
+ m.th.setAttribute("aria-sort", dir === "desc" ? "descending" : "ascending");
268
+ m.ind.textContent = (dir === "desc" ? "▼" : "▲") +
269
+ (order.length > 1 ? sub(i + 1) : "");
270
+ });
271
+ };
220
272
  $$(hrow, "th").forEach((th, ci) => {
221
273
  const col = cols[ci];
222
274
  if (col == null) return;
223
275
  th.classList.add("lti-sortable");
224
- const ind = elem(doc, "span", { className: "lti-sort" }, th);
225
- marks.push([th, ind]);
226
- th.onclick = () => {
227
- const dir = state.sortCol !== col ? "asc" : state.sortDir === "asc" ?
228
- "desc" : state.sortDir === "desc" ? null : "asc";
229
- state.sortCol = col;
230
- state.sortDir = dir;
231
- marks.forEach(([t, m]) => {
232
- t.removeAttribute("aria-sort");
233
- m.textContent = "";
234
- });
235
- if (dir) {
236
- th.setAttribute("aria-sort", dir === "asc" ? "ascending" : "descending");
237
- ind.textContent = dir === "asc" ? "▲" : "▼";
238
- }
239
- refresh();
240
- };
276
+ marks[col] = { th, ind: elem(doc, "span", { className: "lti-sort" }, th) };
277
+ th.onclick = e => { cycle(state, col, e.shiftKey); paint(); refresh(); };
241
278
  });
279
+ paint(); // reflect any initial sort carried on the spec
242
280
  }
243
281
 
244
282
  // A row of per-column search boxes below the headers, inside <thead> so the
@@ -1,2 +1,2 @@
1
- (()=>{"use strict";const t=(typeof window!=="undefined"?window:globalThis).LT;if(!t?.onMount||t.plugins.interactive)return;let e;const n=(t,e)=>t.querySelector(e),o=(t,e)=>t.querySelectorAll(e),r=(t,e,n,o)=>t.addEventListener(e,n,o);function i(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 s(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 a(t,n,o){const r=t._cols||[],i=t.data||{},a=(t,e)=>({raw:i[t]?.[e-1]??null,disp:n[t]?.[e-1]??""});let l=Array.from({length:(i[r[0]]||[]).length},(t,e)=>e+1);for(const t in o.filters||{}){const e=s(o.filters[t]);e&&(l=l.filter(n=>e([a(t,n)])))}const c=s(o.term);c&&(l=l.filter(t=>c(r.map(e=>a(e,t)))));const u=i[o.sortCol];if(u&&o.sortDir){const t=(t=>"number"==typeof t.find(t=>null!=t))(u),n="desc"===o.sortDir?-1:1;e||=new Intl.Collator,l.sort((o,r)=>{const i=u[o-1],s=u[r-1];return null==i||null==s?i==s?0:null==i?1:-1:n*(t?i-s:e.compare(String(i),String(s)))})}return l}function l(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 c(e,s){if(!(t=>!t.row_group&&!(t.ops||[]).some(t=>"row_group"===t.type||"indent"===t.type))(s))return console.warn("lt: interactive tables need flat rows (no row groups or indentation); rendering a static table.");const c=s.interactive,h=s._cols||[],f=function(t,e){const n={};return e.forEach(t=>n[t]=[]),o(t,"tbody tr").forEach((t,o)=>e.forEach((e,r)=>n[e][o]=t.children[r]?.textContent??"")),n}(e,h),g=[...o(e,"thead tr")].pop(),m={filters:{},page:0,pageSize:0};let w,y=()=>{};const v=(o=!0)=>{o&&(w=a(s,f,m),m.page=0);const r=l(w,m),c=i(e.ownerDocument,"template",{innerHTML:t.buildHtml({...s,_viewRows:r})}),u=n(c.content,"tbody");r.length||(u.innerHTML=`<tr class="lti-empty"><td colspan="${h.length}">—</td></tr>`),n(e,"tbody").replaceWith(u),y(w.length)};if(!1!==c.search&&function(t,e,n,o){const r=p(t.tHead||t.createTHead(),"lti-head",e.length,0),i=r.appendChild(u(t.ownerDocument,"Search"));d(i,t=>{n.term=t,o()})}(e,h,m,v),!1!==c.sort&&function(t,e,n,r){const s=t.ownerDocument,a=[];o(t,"th").forEach((t,o)=>{const l=e[o];if(null==l)return;t.classList.add("lti-sortable");const c=i(s,"span",{className:"lti-sort"},t);a.push([t,c]),t.onclick=()=>{const e=n.sortCol!==l?"asc":"asc"===n.sortDir?"desc":"desc"===n.sortDir?null:"asc";n.sortCol=l,n.sortDir=e,a.forEach(([t,e])=>{t.removeAttribute("aria-sort"),e.textContent=""}),e&&(t.setAttribute("aria-sort","asc"===e?"ascending":"descending"),c.textContent="asc"===e?"▲":"▼"),r()}})}(g,h,m,v),c.filter&&function(t,e,n,o,r){const s=t.ownerDocument,a=n.columns,l=i(s,"tr",{className:"lti-filters"});e.forEach(t=>{const e=i(s,"td",{},l);if(Array.isArray(a)&&!a.includes(t))return;d(e.appendChild(u(s,`Filter ${t}`)),e=>{o.filters[t]=e,r()})}),t.parentNode.appendChild(l)}(g,h,c.filter,m,v),c.resize&&function(t,e,s){const a=t.ownerDocument,l=[...o(e,"th")],c=function(t,e){let o=n(t,"colgroup");if(!o){const n=t.ownerDocument;o=i(n,"colgroup");for(let t=0;t<e;t++)i(n,"col",{},o);t.insertBefore(o,t.caption?.nextSibling||t.firstChild)}return[...o.children]}(t,s),u=t=>t.getBoundingClientRect().width,p=()=>{if(t.classList.contains("lti-fixed"))return;const e=l.map(u);t.style.width=u(t)+"px",c.forEach((t,n)=>t.style.width=e[n]+"px"),t.classList.add("lti-fixed")},d=e=>{const n=c.map(t=>t.style.width),o=t.style.width;c.forEach(t=>t.style.width=""),t.style.width="",t.classList.remove("lti-fixed");const r=u(l[e]);return c.forEach((t,e)=>t.style.width=n[e]),t.style.width=o,t.classList.add("lti-fixed"),r},h=(e,n)=>{const o=parseFloat(c[e].style.width);c[e].style.width=Math.max(n,24)+"px",t.style.width=parseFloat(t.style.width)+parseFloat(c[e].style.width)-o+"px"};l.forEach((e,n)=>{const o=i(a,"div",{className:"lti-resizer"},e);o.onclick=t=>t.stopPropagation(),o.ondblclick=t=>{t.stopPropagation(),p(),h(n,d(n))},o.onpointerdown=e=>{e.preventDefault(),e.stopPropagation(),p();const o=e.clientX,i=parseFloat(c[n].style.width),s=t=>h(n,i+t.clientX-o);t.classList.add("lti-resizing"),r(a,"pointermove",s),r(a,"pointerup",()=>{var e,n;e="pointermove",n=s,a.removeEventListener(e,n),t.classList.remove("lti-resizing")},{once:!0})}})}(e,g,h.length),c.pager){const t=Array.isArray(c.pager)?c.pager:[10,25,50,100];y=function(t,e,n,o,r){const s=t.ownerDocument;let a=t.tFoot;a||((a=t.createTFoot()).className="lt-footer");const l=i(s,"div",{className:"lti-pager"},p(a,"lti-pager-row",e.length,-1)),c=i(s,"span",{className:"lti-pos"});o.pageSize=n[0];const u=[()=>0,t=>t-1,t=>t+1,()=>1e9],d=["«","‹","›","»"].map((t,e)=>{const n=i(s,"button",{type:"button",textContent:t,"aria-label":["First","Previous","Next","Last"][e]},l);return n.onclick=()=>{o.page=u[e](o.page),r()},n});if(l.appendChild(c),n.length>1){const t=i(s,"select",{"aria-label":"Rows per page"},l);n.forEach(e=>i(s,"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);c.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)}}(e,h,t,m,()=>v(!1)),v()}}function u(t,e){return i(t,"input",{type:"search",className:"lti-search","aria-label":e})}function p(t,e,n,o){const r=t.insertRow(o);return r.className=e,i(t.ownerDocument,"td",{colSpan:n},r)}function d(t,e){let n;const o=()=>e(t.value);t.oninput=()=>{clearTimeout(n),n=setTimeout(o,150)},t.onchange=()=>{clearTimeout(n),o()}}const h=(t,e)=>{e?.interactive&&!t.dataset.ltiOn&&(t.dataset.ltiOn="1",c(t,e))};t.plugins.interactive={matcher:s,computeView:a,pageSlice:l,enhance:c},t.onMount.push(h),"undefined"!=typeof document&&o(document,".lt-table").forEach(t=>h(t,t._ltSpec))})();
1
+ (()=>{"use strict";const t=(typeof window!=="undefined"?window:globalThis).LT;if(!t?.onMount||t.plugins.interactive)return;let e;const n=t=>"number"==typeof t.find(t=>null!=t),o=t=>"string"!=typeof t?{...t}:"-"===t[0]?{col:t.slice(1),dir:"desc"}:{col:t,dir:"asc"},r=(t,e)=>t.querySelector(e),i=(t,e)=>t.querySelectorAll(e),s=(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 a(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 l(t,o,r){const i=t._cols||[],s=t.data||{},c=(t,e)=>({raw:s[t]?.[e-1]??null,disp:o[t]?.[e-1]??""});let l=Array.from({length:(s[i[0]]||[]).length},(t,e)=>e+1);for(const t in r.filters||{}){const e=a(r.filters[t]);e&&(l=l.filter(n=>e([c(t,n)])))}const d=a(r.term);d&&(l=l.filter(t=>d(i.map(e=>c(e,t)))));const u=(r.sort||[]).map(t=>{const e=s[t.col];return e&&{col:e,num:n(e),dir:"desc"===t.dir?-1:1}}).filter(Boolean);return u.length&&(e||=new Intl.Collator,l.sort((t,n)=>{for(const{col:o,num:r,dir:i}of u){const s=o[t-1],c=o[n-1],a=null==s,l=null==c;if(a||l){if(a!==l)return a?1:-1;continue}const d=r?s-c:e.compare(String(s),String(c));if(d)return i*d}return 0})),l}function d(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 u(e,n){if(!(t=>!t.row_group&&!(t.ops||[]).some(t=>"row_group"===t.type||"indent"===t.type))(n))return console.warn("lt: interactive tables need flat rows (no row groups or indentation); rendering a static table.");const a=n.interactive,u=n._cols||[],g=function(t,e){const n={};return e.forEach(t=>n[t]=[]),i(t,"tbody tr").forEach((t,o)=>e.forEach((e,r)=>n[e][o]=t.children[r]?.textContent??"")),n}(e,u),m=[...i(e,"thead tr")].pop(),w={filters:{},page:0,pageSize:0,sort:Array.isArray(a.sort)?a.sort.map(o):[]};let y,v=()=>{};const x=(o=!0)=>{o&&(y=l(n,g,w),w.page=0);const i=d(y,w),s=c(e.ownerDocument,"template",{innerHTML:t.buildHtml({...n,_viewRows:i})}),a=r(s.content,"tbody");i.length||(a.innerHTML=`<tr class="lti-empty"><td colspan="${u.length}">—</td></tr>`),r(e,"tbody").replaceWith(a),v(y.length)};if(!1!==a.search&&function(t,e,n,o){const r=f(t.tHead||t.createTHead(),"lti-head",e.length,0),i=r.appendChild(p(t.ownerDocument,"Search"));h(i,t=>{n.term=t,o()})}(e,u,w,x),!1!==a.sort&&function(t,e,n,o){const r=t.ownerDocument,s={},a=()=>{for(const t in s)s[t].th.removeAttribute("aria-sort"),s[t].ind.textContent="";const t=n.sort||[];t.forEach(({col:e,dir:n},o)=>{const r=s[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]):""))})};i(t,"th").forEach((t,i)=>{const l=e[i];null!=l&&(t.classList.add("lti-sortable"),s[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()}(m,u,w,x),a.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;h(e.appendChild(p(i,`Filter ${t}`)),e=>{o.filters[t]=e,r()})}),t.parentNode.appendChild(a)}(m,u,a.filter,w,x),a.resize&&function(t,e,n){const o=t.ownerDocument,a=[...i(e,"th")],l=function(t,e){let n=r(t,"colgroup");if(!n){const o=t.ownerDocument;n=c(o,"colgroup");for(let t=0;t<e;t++)c(o,"col",{},n);t.insertBefore(n,t.caption?.nextSibling||t.firstChild)}return[...n.children]}(t,n),d=t=>t.getBoundingClientRect().width,u=()=>{if(t.classList.contains("lti-fixed"))return;const e=a.map(d);t.style.width=d(t)+"px",l.forEach((t,n)=>t.style.width=e[n]+"px"),t.classList.add("lti-fixed")},p=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=d(a[e]);return l.forEach((t,e)=>t.style.width=n[e]),t.style.width=o,t.classList.add("lti-fixed"),r},f=(e,n)=>{const o=parseFloat(l[e].style.width);l[e].style.width=Math.max(n,24)+"px",t.style.width=parseFloat(t.style.width)+parseFloat(l[e].style.width)-o+"px"};a.forEach((e,n)=>{const r=c(o,"div",{className:"lti-resizer"},e);r.onclick=t=>t.stopPropagation(),r.ondblclick=t=>{t.stopPropagation(),u(),f(n,p(n))},r.onpointerdown=e=>{e.preventDefault(),e.stopPropagation(),u();const r=e.clientX,i=parseFloat(l[n].style.width),c=t=>f(n,i+t.clientX-r);t.classList.add("lti-resizing"),s(o,"pointermove",c),s(o,"pointerup",()=>{var e,n;e="pointermove",n=c,o.removeEventListener(e,n),t.classList.remove("lti-resizing")},{once:!0})}})}(e,m,u.length),a.pager){const t=Array.isArray(a.pager)?a.pager:[10,25,50,100];v=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)}}(e,u,t,w,()=>x(!1)),x()}else w.sort.length&&x()}function p(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 h(t,e){let n;const o=()=>e(t.value);t.oninput=()=>{clearTimeout(n),n=setTimeout(o,150)},t.onchange=()=>{clearTimeout(n),o()}}const g=(t,e)=>{e?.interactive&&!t.dataset.ltiOn&&(t.dataset.ltiOn="1",u(t,e))};t.plugins.interactive={matcher:a,computeView:l,pageSlice:d,enhance:u},t.onMount.push(g),"undefined"!=typeof document&&i(document,".lt-table").forEach(t=>g(t,t._ltSpec))})();
2
2
  //# sourceMappingURL=lt-interactive.min.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["LT","window","globalThis","onMount","plugins","interactive","coll","$","el","sel","querySelector","$$","querySelectorAll","on","t","type","fn","opts","addEventListener","elem","doc","tag","props","parent","e","createElement","k","includes","setAttribute","appendChild","matcher","term","v","String","trim","test","Function","neg","raw","num","Number","isFinite","cells","c","needle","slice","toLowerCase","some","disp","computeView","spec","state","cols","_cols","data","cell","r","idx","Array","from","length","_","i","filters","pred","filter","map","col","sortCol","sortDir","find","numCol","dir","Intl","Collator","sort","a","b","x","y","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","sync","refresh","stale","rows","tmp","ownerDocument","innerHTML","buildHtml","_viewRows","body","content","replaceWith","search","fullRow","tHead","createTHead","input","searchInput","onType","addSearch","marks","th","classList","add","ind","className","push","onclick","m","removeAttribute","addSort","opt","only","columns","row","isArray","parentNode","addFilter","resize","nCol","ths","cs","g","insertBefore","caption","nextSibling","firstChild","colGroup","wOf","getBoundingClientRect","width","freeze","contains","w","style","natural","keep","tw","remove","j","setWidth","old","parseFloat","grip","stopPropagation","ondblclick","onpointerdown","preventDefault","x0","clientX","w0","move","ev","removeEventListener","once","addResize","pager","sizes","repage","foot","tFoot","createTFoot","bar","pos","steps","p","btns","glyph","value","onchange","total","disabled","addPaginate","label","sect","cls","insertRow","colSpan","apply","timer","go","oninput","clearTimeout","setTimeout","dataset","ltiOn","document","_ltSpec"],"sources":["lt-interactive.js"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["LT","window","globalThis","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","refresh","stale","rows","tmp","ownerDocument","innerHTML","buildHtml","_viewRows","body","content","replaceWith","search","fullRow","tHead","createTHead","input","searchInput","onType","addSearch","marks","paint","th","removeAttribute","ind","order","m","replace","d","classList","add","className","onclick","additive","findIndex","push","splice","cycle","shiftKey","addSort","opt","only","columns","row","parentNode","addFilter","resize","nCol","ths","cs","g","insertBefore","caption","nextSibling","firstChild","colGroup","wOf","getBoundingClientRect","width","freeze","contains","w","style","natural","keep","tw","remove","j","setWidth","old","parseFloat","grip","stopPropagation","ondblclick","onpointerdown","preventDefault","x0","clientX","w0","move","ev","removeEventListener","once","addResize","pager","sizes","repage","foot","tFoot","createTFoot","bar","pos","steps","p","btns","glyph","value","onchange","total","disabled","addPaginate","label","sect","cls","insertRow","colSpan","apply","timer","go","oninput","clearTimeout","setTimeout","dataset","ltiOn","document","_ltSpec"],"sources":["lt-interactive.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.76",
3
+ "version": "1.14.77",
4
4
  "description": "Miscellaneous tools and utilities to manipulate HTML pages",
5
5
  "scripts": {
6
6
  "test": "echo \"Error: no test specified\" && exit 1"