@nanoporetech-digital/components 3.0.0 → 3.1.1
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/CHANGELOG.md +31 -0
- package/dist/cjs/index-41582c2a.js +8 -4
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/nano-checkbox-group.cjs.entry.js +12 -3
- package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-components.cjs.js +1 -1
- package/dist/cjs/nano-details.cjs.entry.js +2 -2
- package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-field-validator.cjs.entry.js +2 -0
- package/dist/cjs/nano-field-validator.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js +3 -3
- package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-global-nav.cjs.entry.js +18 -20
- package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-input.cjs.entry.js +1 -1
- package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-menu-drawer.cjs.entry.js +1 -1
- package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-progress-bar.cjs.entry.js +33 -0
- package/dist/cjs/nano-progress-bar.cjs.entry.js.map +1 -0
- package/dist/cjs/nano-resize-observe_2.cjs.entry.js +2 -2
- package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-spinner.cjs.entry.js +1 -1
- package/dist/cjs/nano-spinner.cjs.entry.js.map +1 -1
- package/dist/cjs/nano-tab-group.cjs.entry.js +1 -1
- package/dist/cjs/nano-tab.cjs.entry.js +1 -1
- package/dist/cjs/nano-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/{nano-table-8a898621.js → nano-table-844394ad.js} +146 -58
- package/dist/cjs/nano-table-844394ad.js.map +1 -0
- package/dist/cjs/nano-table.cjs.entry.js +2 -1
- package/dist/cjs/nano-table.cjs.entry.js.map +1 -1
- package/dist/cjs/{table.worker-b0b0044a.js → table.worker-1bc19978.js} +3 -2
- package/dist/cjs/table.worker-1bc19978.js.map +1 -0
- package/dist/cjs/{transitions-d295a09e.js → transitions-5cd8f697.js} +10 -8
- package/dist/cjs/transitions-5cd8f697.js.map +1 -0
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/checkbox/checkbox-group.js +12 -3
- package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
- package/dist/collection/components/details/details.css +1 -0
- package/dist/collection/components/field-validator/field-validator.js +2 -0
- package/dist/collection/components/field-validator/field-validator.js.map +1 -1
- package/dist/collection/components/global-nav/assets/ont-logo.svg +89 -47
- package/dist/collection/components/global-nav/global-nav-interface.js.map +1 -1
- package/dist/collection/components/global-nav/global-nav.js +19 -21
- package/dist/collection/components/global-nav/global-nav.js.map +1 -1
- package/dist/collection/components/global-nav/{global-nav.css → style/global-nav.css} +465 -405
- package/dist/collection/components/input/input.css +2 -0
- package/dist/collection/components/menu-drawer/menu-drawer.css +1 -0
- package/dist/collection/components/nav-item/nav-item.css +6 -6
- package/dist/collection/components/progress-bar/progress-bar.css +84 -0
- package/dist/collection/components/progress-bar/progress-bar.js +106 -0
- package/dist/collection/components/progress-bar/progress-bar.js.map +1 -0
- package/dist/collection/components/select/select.css +4 -0
- package/dist/collection/components/skeleton/skeleton.css +8 -5
- package/dist/collection/components/skeleton/skeleton.js +1 -1
- package/dist/collection/components/skeleton/skeleton.js.map +1 -1
- package/dist/collection/components/spinner/spinner.css +5 -9
- package/dist/collection/components/table/table.children.js +43 -17
- package/dist/collection/components/table/table.children.js.map +1 -1
- package/dist/collection/components/table/table.css +97 -27
- package/dist/collection/components/table/table.js +143 -33
- package/dist/collection/components/table/table.js.map +1 -1
- package/dist/collection/components/table/table.service.js +1 -10
- package/dist/collection/components/table/table.service.js.map +1 -1
- package/dist/collection/components/table/table.store.js +11 -11
- package/dist/collection/components/table/table.store.js.map +1 -1
- package/dist/collection/components/tabs/tab.css +1 -0
- package/dist/collection/utils/transitions.js +9 -7
- package/dist/collection/utils/transitions.js.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/input.js +1 -1
- package/dist/components/input.js.map +1 -1
- package/dist/components/nano-checkbox-group.js +12 -3
- package/dist/components/nano-checkbox-group.js.map +1 -1
- package/dist/components/nano-details.js +1 -1
- package/dist/components/nano-details.js.map +1 -1
- package/dist/components/nano-field-validator.js +2 -0
- package/dist/components/nano-field-validator.js.map +1 -1
- package/dist/components/nano-global-nav.js +17 -19
- package/dist/components/nano-global-nav.js.map +1 -1
- package/dist/components/nano-menu-drawer.js +1 -1
- package/dist/components/nano-menu-drawer.js.map +1 -1
- package/dist/components/nano-progress-bar.d.ts +11 -0
- package/dist/components/nano-progress-bar.js +11 -0
- package/dist/components/nano-progress-bar.js.map +1 -0
- package/dist/components/nano-tab.js +1 -1
- package/dist/components/nano-tab.js.map +1 -1
- package/dist/components/nano-table.js +167 -58
- package/dist/components/nano-table.js.map +1 -1
- package/dist/components/nav-item.js +1 -1
- package/dist/components/nav-item.js.map +1 -1
- package/dist/components/progress-bar.js +48 -0
- package/dist/components/progress-bar.js.map +1 -0
- package/dist/components/select.js +1 -1
- package/dist/components/select.js.map +1 -1
- package/dist/components/skeleton.js +2 -2
- package/dist/components/skeleton.js.map +1 -1
- package/dist/components/spinner.js +1 -1
- package/dist/components/spinner.js.map +1 -1
- package/dist/components/transitions.js +9 -7
- package/dist/components/transitions.js.map +1 -1
- package/dist/custom-elements/index.d.ts +6 -0
- package/dist/custom-elements/index.js +219 -96
- package/dist/custom-elements/index.js.map +1 -1
- package/dist/esm/index-3c280603.js +8 -4
- package/dist/esm/loader.js +1 -1
- package/dist/esm/nano-checkbox-group.entry.js +12 -3
- package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
- package/dist/esm/nano-components.js +1 -1
- package/dist/esm/nano-details.entry.js +2 -2
- package/dist/esm/nano-details.entry.js.map +1 -1
- package/dist/esm/nano-field-validator.entry.js +2 -0
- package/dist/esm/nano-field-validator.entry.js.map +1 -1
- package/dist/esm/nano-global-nav-user-profile_3.entry.js +3 -3
- package/dist/esm/nano-global-nav-user-profile_3.entry.js.map +1 -1
- package/dist/esm/nano-global-nav.entry.js +18 -20
- package/dist/esm/nano-global-nav.entry.js.map +1 -1
- package/dist/esm/nano-input.entry.js +1 -1
- package/dist/esm/nano-input.entry.js.map +1 -1
- package/dist/esm/nano-menu-drawer.entry.js +1 -1
- package/dist/esm/nano-menu-drawer.entry.js.map +1 -1
- package/dist/esm/nano-progress-bar.entry.js +29 -0
- package/dist/esm/nano-progress-bar.entry.js.map +1 -0
- package/dist/esm/nano-resize-observe_2.entry.js +2 -2
- package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
- package/dist/esm/nano-spinner.entry.js +1 -1
- package/dist/esm/nano-spinner.entry.js.map +1 -1
- package/dist/esm/nano-tab-group.entry.js +1 -1
- package/dist/esm/nano-tab.entry.js +1 -1
- package/dist/esm/nano-tab.entry.js.map +1 -1
- package/dist/esm/{nano-table-efdf3dba.js → nano-table-19d19d72.js} +146 -58
- package/dist/esm/nano-table-19d19d72.js.map +1 -0
- package/dist/esm/nano-table.entry.js +2 -1
- package/dist/esm/nano-table.entry.js.map +1 -1
- package/dist/esm/{table.worker-10ba1126.js → table.worker-c82cecdf.js} +3 -2
- package/dist/esm/table.worker-c82cecdf.js.map +1 -0
- package/dist/esm/{transitions-d75d242e.js → transitions-71cca3ed.js} +10 -8
- package/dist/esm/transitions-71cca3ed.js.map +1 -0
- package/dist/nano-components/assets/ont-logo.svg +89 -47
- package/dist/nano-components/nano-components.esm.js +1 -1
- package/dist/nano-components/nano-components.esm.js.map +1 -1
- package/dist/nano-components/p-02df1f62.entry.js +5 -0
- package/dist/nano-components/{p-9f8b091a.entry.js.map → p-02df1f62.entry.js.map} +1 -1
- package/dist/nano-components/p-167b9165.js +5 -0
- package/dist/nano-components/p-167b9165.js.map +1 -0
- package/dist/nano-components/p-1ae8c03e.entry.js +5 -0
- package/dist/nano-components/p-1ae8c03e.entry.js.map +1 -0
- package/dist/nano-components/p-28b43ee9.entry.js +5 -0
- package/dist/nano-components/{p-49a831a3.entry.js.map → p-28b43ee9.entry.js.map} +1 -1
- package/dist/nano-components/{p-8ef2363b.entry.js → p-6cd59e58.entry.js} +2 -2
- package/dist/nano-components/{p-8ef2363b.entry.js.map → p-6cd59e58.entry.js.map} +0 -0
- package/dist/nano-components/{p-687350a5.entry.js → p-701e8ebf.entry.js} +2 -2
- package/dist/nano-components/p-701e8ebf.entry.js.map +1 -0
- package/dist/nano-components/p-7ade1695.js +5 -0
- package/dist/nano-components/{p-8a6834ff.entry.js.map → p-7ade1695.js.map} +0 -0
- package/dist/nano-components/p-8a52a411.entry.js +5 -0
- package/dist/nano-components/{p-68b18b99.entry.js.map → p-8a52a411.entry.js.map} +1 -1
- package/dist/nano-components/p-a2d0d7b9.entry.js.map +1 -1
- package/dist/nano-components/p-b4a045a2.entry.js +5 -0
- package/dist/nano-components/{p-b7b06e04.js.map → p-b4a045a2.entry.js.map} +0 -0
- package/dist/nano-components/p-b7901427.entry.js +5 -0
- package/dist/nano-components/p-b7901427.entry.js.map +1 -0
- package/dist/nano-components/p-b83a8320.js +5 -0
- package/dist/nano-components/p-b83a8320.js.map +1 -0
- package/dist/nano-components/p-d8e8d7e3.entry.js +5 -0
- package/dist/nano-components/p-d8e8d7e3.entry.js.map +1 -0
- package/dist/nano-components/p-efa8c520.entry.js +5 -0
- package/dist/nano-components/{p-47bd0f5d.entry.js.map → p-efa8c520.entry.js.map} +1 -1
- package/dist/nano-components/p-f95a263c.entry.js +5 -0
- package/dist/nano-components/p-f95a263c.entry.js.map +1 -0
- package/dist/nano-components/p-fa2a6733.entry.js +5 -0
- package/dist/nano-components/p-fa2a6733.entry.js.map +1 -0
- package/dist/themes/london-calling.css.map +1 -1
- package/dist/themes/nanopore.css.map +1 -1
- package/dist/types/components/global-nav/global-nav-interface.d.ts +43 -0
- package/dist/types/components/global-nav/global-nav.d.ts +1 -1
- package/dist/types/components/progress-bar/progress-bar.d.ts +19 -0
- package/dist/types/components/table/table.children.d.ts +2 -1
- package/dist/types/components/table/table.d.ts +25 -7
- package/dist/types/components/table/table.service.d.ts +1 -7
- package/dist/types/components/table/table.store.d.ts +4 -2
- package/dist/types/components.d.ts +60 -5
- package/docs-json.json +274 -49
- package/docs-vscode.json +31 -2
- package/package.json +3 -3
- package/dist/cjs/nano-table-8a898621.js.map +0 -1
- package/dist/cjs/table.worker-b0b0044a.js.map +0 -1
- package/dist/cjs/transitions-d295a09e.js.map +0 -1
- package/dist/esm/nano-table-efdf3dba.js.map +0 -1
- package/dist/esm/table.worker-10ba1126.js.map +0 -1
- package/dist/esm/transitions-d75d242e.js.map +0 -1
- package/dist/nano-components/p-03402e69.entry.js +0 -5
- package/dist/nano-components/p-03402e69.entry.js.map +0 -1
- package/dist/nano-components/p-2382d5e9.entry.js +0 -5
- package/dist/nano-components/p-2382d5e9.entry.js.map +0 -1
- package/dist/nano-components/p-47bd0f5d.entry.js +0 -5
- package/dist/nano-components/p-49a831a3.entry.js +0 -5
- package/dist/nano-components/p-4c6ef60b.js +0 -5
- package/dist/nano-components/p-4c6ef60b.js.map +0 -1
- package/dist/nano-components/p-61bfb8b9.entry.js +0 -5
- package/dist/nano-components/p-61bfb8b9.entry.js.map +0 -1
- package/dist/nano-components/p-687350a5.entry.js.map +0 -1
- package/dist/nano-components/p-68b18b99.entry.js +0 -5
- package/dist/nano-components/p-82295d91.js +0 -5
- package/dist/nano-components/p-82295d91.js.map +0 -1
- package/dist/nano-components/p-8a6834ff.entry.js +0 -5
- package/dist/nano-components/p-9f2524d4.entry.js +0 -5
- package/dist/nano-components/p-9f2524d4.entry.js.map +0 -1
- package/dist/nano-components/p-9f8b091a.entry.js +0 -5
- package/dist/nano-components/p-b7b06e04.js +0 -5
@@ -3,8 +3,12 @@
|
|
3
3
|
*/
|
4
4
|
import { consoleError, h, Fragment, getElement, getRenderingRef, proxyCustomElement, HTMLElement, createEvent, readTask, Host, Build } from '@stencil/core/internal/client';
|
5
5
|
import { a as cyrb53 } from './math.js';
|
6
|
+
import { d as debounce } from './throttle.js';
|
6
7
|
import { c as createStore } from './index2.js';
|
7
|
-
import { d as defineCustomElement$
|
8
|
+
import { d as defineCustomElement$5 } from './icon.js';
|
9
|
+
import { d as defineCustomElement$4 } from './progress-bar.js';
|
10
|
+
import { d as defineCustomElement$3 } from './skeleton.js';
|
11
|
+
import { d as defineCustomElement$2 } from './spinner.js';
|
8
12
|
|
9
13
|
const CSSNAMESPACE = 'nano-tbl';
|
10
14
|
|
@@ -129,17 +133,11 @@ function colsToWorker(columns) {
|
|
129
133
|
return safeColumns;
|
130
134
|
}
|
131
135
|
const stores = new WeakMap();
|
132
|
-
async function generateStore(host,
|
133
|
-
// augment data with some internal props
|
134
|
-
rows = rows.map((row, i) => ({
|
135
|
-
...row,
|
136
|
-
__index: i,
|
137
|
-
__uuid: cyrb53(Object.values(row).join()),
|
138
|
-
}));
|
136
|
+
async function generateStore(host, columns, scrollParent) {
|
139
137
|
const store = {
|
140
|
-
data: createStore({ rows }),
|
138
|
+
data: createStore({ rows: [] }),
|
141
139
|
config: createStore({ columns }),
|
142
|
-
general: createStore({ workerId: null }),
|
140
|
+
general: createStore({ workerId: null, scrollParent, host }),
|
143
141
|
};
|
144
142
|
const id = await createWorkerStore(store.data.state.rows, colsToWorker(store.config.state.columns));
|
145
143
|
store.general.state.workerId = id;
|
@@ -174,9 +172,15 @@ function storeSetData(host, rows) {
|
|
174
172
|
const store = stores.get(host);
|
175
173
|
if (!store)
|
176
174
|
return;
|
177
|
-
|
178
|
-
|
175
|
+
// augment data with some internal props
|
176
|
+
rows = rows.map((row, i) => ({
|
177
|
+
...row,
|
178
|
+
__index: i,
|
179
|
+
__uuid: cyrb53(Object.values(row).join()),
|
180
|
+
}));
|
179
181
|
store.data.state.rows = rows;
|
182
|
+
if (store.general.state.workerId)
|
183
|
+
return syncDataToWorker(store.general.state.workerId, rows);
|
180
184
|
}
|
181
185
|
function storeSetConfig(host, columns) {
|
182
186
|
const store = stores.get(host);
|
@@ -331,7 +335,7 @@ function cellRender(rowIndex, colIndex) {
|
|
331
335
|
* @param col - the current column config object
|
332
336
|
* @returns - a JSX node
|
333
337
|
*/
|
334
|
-
function
|
338
|
+
function colheadFootRender(col) {
|
335
339
|
const tpl = col?.colTemplate;
|
336
340
|
return tpl ? (tpl(h, col)) : (h(Fragment, null, col.title));
|
337
341
|
}
|
@@ -358,33 +362,56 @@ const stickyVIOs = new WeakMap();
|
|
358
362
|
function addHObserver(el, pos, cb) {
|
359
363
|
if (stickyHIOs.get(el))
|
360
364
|
return;
|
365
|
+
const store = fetchStores();
|
366
|
+
const root = store.general.state.scrollParent;
|
367
|
+
const host = store.general.state.host;
|
361
368
|
const observer = new IntersectionObserver(([e]) => {
|
362
369
|
const positions = {};
|
363
|
-
if (pos === 'start')
|
364
|
-
positions.start =
|
365
|
-
|
370
|
+
if (pos === 'start') {
|
371
|
+
positions.start =
|
372
|
+
e.boundingClientRect.x -
|
373
|
+
(host.getBoundingClientRect().x + root.scrollLeft) <
|
374
|
+
0 && !e.isIntersecting;
|
375
|
+
}
|
376
|
+
if (pos === 'end') {
|
377
|
+
// TODO - sort these out for RtL
|
366
378
|
positions.end =
|
367
|
-
e.boundingClientRect.
|
379
|
+
e.boundingClientRect.right > e.boundingClientRect.width &&
|
368
380
|
!e.isIntersecting;
|
381
|
+
}
|
369
382
|
cb(positions);
|
370
|
-
}, {
|
383
|
+
}, {
|
384
|
+
threshold: [1],
|
385
|
+
rootMargin: '1px 0px 1px 0px',
|
386
|
+
root: root === document.scrollingElement ? null : root,
|
387
|
+
});
|
371
388
|
stickyHIOs.set(el, observer);
|
372
389
|
requestAnimationFrame(() => observer.observe(el));
|
373
390
|
}
|
374
391
|
function addVObserver(el, pos, cb) {
|
375
392
|
if (stickyVIOs.get(el))
|
376
393
|
return;
|
394
|
+
const store = fetchStores();
|
395
|
+
const root = store.general.state.scrollParent;
|
396
|
+
const host = store.general.state.host;
|
377
397
|
const observer = new IntersectionObserver(([e]) => {
|
378
|
-
console.log(e);
|
379
398
|
const positions = {};
|
380
|
-
if (pos === 'top')
|
381
|
-
positions.top =
|
399
|
+
if (pos === 'top') {
|
400
|
+
positions.top =
|
401
|
+
e.boundingClientRect.y -
|
402
|
+
(host.getBoundingClientRect().y + root.scrollTop) <
|
403
|
+
0 && !e.isIntersecting;
|
404
|
+
}
|
382
405
|
if (pos === 'bottom')
|
383
406
|
positions.bottom =
|
384
407
|
e.boundingClientRect.height > e.intersectionRect.height &&
|
385
408
|
!e.isIntersecting;
|
386
409
|
cb(positions);
|
387
|
-
}, {
|
410
|
+
}, {
|
411
|
+
threshold: [0.99],
|
412
|
+
rootMargin: '0px 100px 0px 100px',
|
413
|
+
root: root === document.scrollingElement ? null : root,
|
414
|
+
});
|
388
415
|
stickyVIOs.set(el, observer);
|
389
416
|
requestAnimationFrame(() => observer.observe(el));
|
390
417
|
}
|
@@ -457,7 +484,7 @@ const TableColHead = ({ column, headRenderer, onColumnOrderClick, onColumnPinned
|
|
457
484
|
default:
|
458
485
|
order = 'asc';
|
459
486
|
}
|
460
|
-
onColumnOrderClick(order, column.prop, e.target.
|
487
|
+
onColumnOrderClick(order, column.prop, e.target.closest('th'));
|
461
488
|
}
|
462
489
|
let extraProps = {};
|
463
490
|
if (column.columnProperties) {
|
@@ -473,7 +500,7 @@ const TableColHead = ({ column, headRenderer, onColumnOrderClick, onColumnPinned
|
|
473
500
|
},
|
474
501
|
};
|
475
502
|
let props = extraProps ? mergeProperties(baseProps, extraProps) : baseProps;
|
476
|
-
const content =
|
503
|
+
const content = colheadFootRender(column);
|
477
504
|
if (!content)
|
478
505
|
return h(Fragment, null);
|
479
506
|
props =
|
@@ -491,8 +518,11 @@ const TableColHead = ({ column, headRenderer, onColumnOrderClick, onColumnPinned
|
|
491
518
|
if (['top', 'bottom'].includes(headRenderer.pinned))
|
492
519
|
addVObserver(th, headRenderer.pinned, onColumnPinned);
|
493
520
|
} },
|
494
|
-
h("button", { class:
|
495
|
-
|
521
|
+
h("button", { class: {
|
522
|
+
[`${CSSNAMESPACE}__order-btn`]: true,
|
523
|
+
[`${CSSNAMESPACE}__cell-content`]: true,
|
524
|
+
}, onClick: handleColumnOrderClick },
|
525
|
+
colheadFootRender(column),
|
496
526
|
!!column.filter && h("nano-icon", { name: "light/filter" }),
|
497
527
|
!!column.order &&
|
498
528
|
(column.order === 'desc' ? (h("nano-icon", { name: "solid/long-arrow-down" })) : (h("nano-icon", { name: "solid/long-arrow-up" }))),
|
@@ -505,11 +535,12 @@ const TableColHead = ({ column, headRenderer, onColumnOrderClick, onColumnPinned
|
|
505
535
|
if (['top', 'bottom'].includes(headRenderer.pinned))
|
506
536
|
addVObserver(th, headRenderer.pinned, onColumnPinned);
|
507
537
|
} },
|
508
|
-
|
509
|
-
|
538
|
+
h("div", { class: `${CSSNAMESPACE}__cell-content` },
|
539
|
+
colheadFootRender(column),
|
540
|
+
!!column.filter && h("nano-icon", { name: "light/bars-filter" }))));
|
510
541
|
};
|
511
|
-
const TableCell = ({ rowIndex, colIndex, }) => {
|
512
|
-
const content = cellRender(rowIndex, colIndex);
|
542
|
+
const TableCell = ({ rowIndex, colIndex, nestedContent, }) => {
|
543
|
+
const content = nestedContent || cellRender(rowIndex, colIndex);
|
513
544
|
if (!content)
|
514
545
|
return h(Fragment, null);
|
515
546
|
const store = fetchStores();
|
@@ -533,7 +564,8 @@ const TableCell = ({ rowIndex, colIndex, }) => {
|
|
533
564
|
}
|
534
565
|
return (h(CellType
|
535
566
|
// role="gridcell"
|
536
|
-
, { ...props },
|
567
|
+
, { ...props },
|
568
|
+
h("div", { class: `${CSSNAMESPACE}__cell-content` }, content)));
|
537
569
|
};
|
538
570
|
|
539
571
|
const detectScrollSpeed = (() => {
|
@@ -591,7 +623,7 @@ function isInViewport(el, percentVisible = 100) {
|
|
591
623
|
percentVisible);
|
592
624
|
}
|
593
625
|
|
594
|
-
const tableCss = ":host{box-sizing:border-box}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}nano-table{display:
|
626
|
+
const tableCss = ":host{box-sizing:border-box}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@charset \"UTF-8\";nano-table{display:table;width:100%;--max-col-width:200px;--color:var(--nano-color-mediumgrey, #68767e);--font-size:0.87rem;--cell-line-height:1.5;--border-color:var(--nano-color-palegrey, #b5aea7);--border-style:1px solid var(--border-color);--border-tint-color:var(--nano-color-blue, #90c6e7);--border-tint-style:2px solid var(--border-tint-color);--cell-bg-rgb:var(--nano-color-white-rgb, 255 255 255);--head-bg-rgb:var(--cell-bg-rgb);--foot-bg-rgb:var(--cell-bg-rgb);--th-row-bg-rgb:var(--cell-bg-rgb);--ordered-bg-rgb:var(--nano-color-offwhite-rgb, 249 249 251);--td-padding:0.5rem 0.625rem 0.4125rem;--th-padding:0.875rem 0.625rem 0.6875rem;--head-th-padding:var(--th-padding);--foot-th-padding:var(--td-padding);--bookend-col-padding:2rem}.nano-tbl{color:var(--color);text-align:start;width:100%;font-size:var(--font-size);border-spacing:0 0;border-collapse:separate;background:rgb(var(--cell-bg-rgb));-webkit-border-end:1px solid transparent;border-inline-end:1px solid transparent}.nano-tbl__top-anchor{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.nano-tbl__ordered{background-color:var(--ordered-bg);-webkit-border-start:var(--border-style);border-inline-start:var(--border-style);-webkit-border-end:var(--border-style);border-inline-end:var(--border-style)}.nano-tbl__order-btn{padding:0;border:none;outline:none;font:inherit;background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:inherit;display:-webkit-box;display:-ms-flexbox;display:flex;gap:10px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%}.nano-tbl__status-icons{margin-inline:auto 10px;display:-webkit-box;display:-ms-flexbox;display:flex;gap:10px}.nano-tbl__progress-bar{font-size:0.2rem;position:sticky;inset-block-start:0;inset-inline:0;z-index:10;-webkit-transition:scale 0.25s;transition:scale 0.25s;scale:0;width:100%;height:0}.nano-tbl__progress-bar--show{scale:1;height:auto}.nano-tbl__caption--hide{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.nano-tbl__td,.nano-tbl__th{line-height:var(--cell-line-height);text-align:start;-webkit-border-after:var(--border-style);border-block-end:var(--border-style);max-width:var(--max-col-width);background-color:rgb(var(--cell-bg-rgb))}@media (min-width: 768px){.nano-tbl__td:first-child .nano-tbl__cell-content,.nano-tbl__th:first-child .nano-tbl__cell-content{-webkit-padding-start:var(--bookend-col-padding) !important;padding-inline-start:var(--bookend-col-padding) !important}.nano-tbl__td:last-child .nano-tbl__cell-content,.nano-tbl__th:last-child .nano-tbl__cell-content{-webkit-padding-end:var(--bookend-col-padding) !important;padding-inline-end:var(--bookend-col-padding) !important}}thead .nano-tbl__td,thead .nano-tbl__th{font-weight:800;background:rgba(var(--head-bg-rgb), 90%)}thead .nano-tbl__td .nano-tbl__cell-content,thead .nano-tbl__th .nano-tbl__cell-content{padding:var(--head-th-padding)}tfoot .nano-tbl__td,tfoot .nano-tbl__th{font-weight:800;-webkit-border-after:none;border-block-end:none;background:rgba(var(--foot-bg-rgb), 90%)}tfoot .nano-tbl__td .nano-tbl__cell-content,tfoot .nano-tbl__th .nano-tbl__cell-content{padding:var(--foot-th-padding)}.nano-tbl__td.nano-tbl__ordered,.nano-tbl__th.nano-tbl__ordered{background-color:rgba(var(--ordered-bg-rgb), 0.8) !important}.nano-tbl__cell-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:var(--td-padding)}.nano-tbl tbody{will-change:scroll-position;visibility:visible}.nano-tbl tbody.nano-tbl__inactive{visibility:hidden}.nano-tbl th[scope=row]{font-weight:800;max-width:65vw;margin:0}.nano-tbl__pin{position:sticky;z-index:1}.nano-tbl__pin--start{inset-inline:-1px auto;-webkit-transition:max-width 0.25s;transition:max-width 0.25s}.nano-tbl__pin--start::after{content:\"\";position:absolute;inset:0;-webkit-box-shadow:5px 0 4px 0 rgba(0, 0, 0, 0.2);box-shadow:5px 0 4px 0 rgba(0, 0, 0, 0.2);opacity:0;z-index:-1}.nano-tbl__pinned--start .nano-tbl__pin--start{z-index:2}@media (max-width: 576px){.nano-tbl__pinned--start .nano-tbl__pin--start{max-width:25vw !important}}.nano-tbl__pinned--start .nano-tbl__pin--start::after{opacity:1}.nano-tbl__pin--end{inset-inline:auto -1px;max-width:min(50vw, 200px);}.nano-tbl__pin--end::after{content:\"\";position:absolute;inset:0;-webkit-box-shadow:-5px 0 4px 0 rgba(0, 0, 0, 0.2);box-shadow:-5px 0 4px 0 rgba(0, 0, 0, 0.2);opacity:0;z-index:-1}.nano-tbl__pinned--end .nano-tbl__pin--end{z-index:3}.nano-tbl__pinned--end .nano-tbl__pin--end::after{opacity:1}@media (max-width: 576px){.nano-tbl__pin--start~.nano-tbl__pin--end{inset-inline:auto auto}.nano-tbl__pin--start~.nano-tbl__pin--end::after{display:none}}.nano-tbl__pin--top{inset-block:-1px auto}.nano-tbl__pinned--top .nano-tbl__pin--top{z-index:4}.nano-tbl__pin--bottom{inset-block:auto -1px}.nano-tbl__pinned--bottom .nano-tbl__pin--bottom{z-index:5;-webkit-border-before:var(--border-tint-style);border-block-start:var(--border-tint-style)}.nano-tbl__pinned--top.nano-tbl__pinned--start .nano-tbl__pin--top.nano-tbl__pin--start{z-index:6}.nano-tbl__pinned--top.nano-tbl__pinned--end .nano-tbl__pin--top.nano-tbl__pin--end{z-index:6}.nano-tbl__pinned--bottom.nano-tbl__pinned--start .nano-tbl__pin--bottom.nano-tbl__pin--start{z-index:6}.nano-tbl__pinned--bottom.nano-tbl__pinned--end .nano-tbl__pin--bottom.nano-tbl__pin--end{z-index:6}.nano-tbl thead tr:last-of-type td,.nano-tbl thead tr:last-of-type th,.nano-tbl tfoot tr:last-of-type td,.nano-tbl tfoot tr:last-of-type th{-webkit-border-after:var(--border-tint-style);border-block-end:var(--border-tint-style)}.nano-tbl .unlimited-width{max-width:none}.nano-tbl__spinner{font-size:1.5rem;-webkit-transition:scale 0.25s;transition:scale 0.25s;scale:0;padding:0.5rem;position:absolute;inset-block-end:0;inset-inline-start:calc(50% - 0.75rem);z-index:-1}.nano-tbl__spinner--show{scale:1;position:sticky}.nano-tbl nano-skeleton{line-height:var(--cell-line-height)}";
|
595
627
|
|
596
628
|
function perMark(name, end = false) {
|
597
629
|
if (!Build.isDev)
|
@@ -619,6 +651,9 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
619
651
|
this.nanoTblAfterFilter = createEvent(this, "nanoTblAfterFilter", 7);
|
620
652
|
this.nanoTblBeforeSearch = createEvent(this, "nanoTblBeforeSearch", 7);
|
621
653
|
this.nanoTblAfterSearch = createEvent(this, "nanoTblAfterSearch", 7);
|
654
|
+
this.debounceSetLoading = (l) => {
|
655
|
+
this._loading = l;
|
656
|
+
};
|
622
657
|
this.renderId = 'tbl-' + id++;
|
623
658
|
this.filters = [];
|
624
659
|
this.currentFilters = '';
|
@@ -636,8 +671,10 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
636
671
|
* @returns A promise
|
637
672
|
*/
|
638
673
|
this.sortStart = async (order, column, element) => {
|
674
|
+
// did order change?
|
639
675
|
if (this.currentSort === order + ':' + column)
|
640
676
|
return;
|
677
|
+
this.loading = true;
|
641
678
|
const sortEvent = this.nanoTblBeforeSort.emit({ column: column, order });
|
642
679
|
if (sortEvent.defaultPrevented)
|
643
680
|
return;
|
@@ -663,10 +700,13 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
663
700
|
console.warn('sort failed', e);
|
664
701
|
this.currentSort = '';
|
665
702
|
}
|
703
|
+
finally {
|
704
|
+
this.loading = false;
|
705
|
+
}
|
666
706
|
};
|
667
707
|
/**
|
668
|
-
* Attaches an intersection observer to each rendered tbody
|
669
|
-
* shows / hides intersecting blocks' and sets heights for when
|
708
|
+
* Attaches an intersection observer to each rendered tbody element
|
709
|
+
* shows / hides intersecting blocks' and sets heights for when they're hidden
|
670
710
|
* @param el - the tbody element to observe
|
671
711
|
* @param blockIndex - the rendering tbody we're attaching the IO to
|
672
712
|
*/
|
@@ -681,8 +721,8 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
681
721
|
// The Intersection Observer (IO) fires in an incorrect order when the scrolling is very fast
|
682
722
|
// i.e. we go past blocks 3, 2, 1 and land on 0, but 3 can fire as 'intersecting' after 0.
|
683
723
|
// To fix that, we check - for realsies - if the block IS visible.
|
684
|
-
// BUT that test is not as sensitive to a block being visible
|
685
|
-
// so doesn't always fire if scrolling
|
724
|
+
// BUT that test is not as sensitive to a block being visible via the IO,
|
725
|
+
// so doesn't always fire if scrolling slowly
|
686
726
|
// *sigh*
|
687
727
|
readTask(() => {
|
688
728
|
if (this.scrollSpeed < 100 || isInViewport(el, 0.01)) {
|
@@ -699,7 +739,12 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
699
739
|
}
|
700
740
|
});
|
701
741
|
}
|
702
|
-
}, {
|
742
|
+
}, {
|
743
|
+
threshold: [0],
|
744
|
+
root: this.scrollParent === document.scrollingElement
|
745
|
+
? null
|
746
|
+
: this.scrollParent,
|
747
|
+
});
|
703
748
|
blockIo.observe(el);
|
704
749
|
this.blockIos.set(el, blockIo);
|
705
750
|
};
|
@@ -711,7 +756,9 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
711
756
|
this.type = 'table';
|
712
757
|
this.caption = undefined;
|
713
758
|
this.showCaption = false;
|
714
|
-
this.
|
759
|
+
this._loading = true;
|
760
|
+
this.placeholderSize = 5;
|
761
|
+
this.rows = undefined;
|
715
762
|
this.columns = [];
|
716
763
|
this.headRender = { pinned: 'top' };
|
717
764
|
this.rowRender = undefined;
|
@@ -724,9 +771,29 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
724
771
|
this.blocks = [];
|
725
772
|
this.activeBlocks = [0, 1, 2];
|
726
773
|
this.measureHeight = 0;
|
774
|
+
this.debounceSetLoading = debounce(this.debounceSetLoading.bind(this), 50);
|
775
|
+
}
|
776
|
+
/** Will show a loading state when true.
|
777
|
+
* Will be shown automatically if `rows` is a promise waiting to resolve
|
778
|
+
* or when performing custom filtering or sorting */
|
779
|
+
get loading() {
|
780
|
+
return this._loading;
|
781
|
+
}
|
782
|
+
set loading(l) {
|
783
|
+
this.debounceSetLoading(l);
|
727
784
|
}
|
728
785
|
handleRowsChange() {
|
729
|
-
|
786
|
+
if (!this.rows)
|
787
|
+
return;
|
788
|
+
this.loading = true;
|
789
|
+
Promise.resolve(this.rows).then(async (rows) => {
|
790
|
+
await storeSetData(this.host, rows);
|
791
|
+
if (!this.isReady) {
|
792
|
+
await this.columnInit();
|
793
|
+
this.setInitialBlockDimension();
|
794
|
+
}
|
795
|
+
this.loading = false;
|
796
|
+
});
|
730
797
|
}
|
731
798
|
handleColsChange() {
|
732
799
|
storeSetConfig(this.host, this.columns);
|
@@ -774,6 +841,8 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
774
841
|
}
|
775
842
|
// uses the first 'tr' of an active block as our yard stick
|
776
843
|
set measureEle(el) {
|
844
|
+
if (!el)
|
845
|
+
return;
|
777
846
|
this.measureHeight = el.getBoundingClientRect().height;
|
778
847
|
this.unitHeight =
|
779
848
|
el.querySelector('tr')?.getBoundingClientRect().height || this.unitHeight;
|
@@ -821,6 +890,7 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
821
890
|
perMark('sort', true);
|
822
891
|
}
|
823
892
|
async searchStart() {
|
893
|
+
this.loading = true;
|
824
894
|
const sortEvent = this.nanoTblBeforeSearch.emit({ term: this.searchTerm });
|
825
895
|
if (sortEvent.defaultPrevented)
|
826
896
|
return;
|
@@ -832,7 +902,12 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
832
902
|
this.nanoTblAfterSearch.emit({ term: this.searchTerm });
|
833
903
|
perMark('search', true);
|
834
904
|
}
|
835
|
-
catch (e) {
|
905
|
+
catch (e) {
|
906
|
+
console.warn('search failed', e);
|
907
|
+
}
|
908
|
+
finally {
|
909
|
+
this.loading = false;
|
910
|
+
}
|
836
911
|
}
|
837
912
|
async filterStart(filters, additive = true) {
|
838
913
|
if (filters) {
|
@@ -848,6 +923,7 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
848
923
|
}
|
849
924
|
if (this.currentFilters === JSON.stringify(this.filters))
|
850
925
|
return;
|
926
|
+
this.loading = true;
|
851
927
|
const sortEvent = this.nanoTblBeforeFilter.emit({ filters: this.filters });
|
852
928
|
if (sortEvent.defaultPrevented)
|
853
929
|
return;
|
@@ -871,7 +947,12 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
871
947
|
this.filterComplete();
|
872
948
|
perMark('search', true);
|
873
949
|
}
|
874
|
-
catch (e) {
|
950
|
+
catch (e) {
|
951
|
+
console.warn('filter failed', e);
|
952
|
+
}
|
953
|
+
finally {
|
954
|
+
this.loading = false;
|
955
|
+
}
|
875
956
|
}
|
876
957
|
filterComplete() {
|
877
958
|
this.columns = this.columns.map((c) => {
|
@@ -886,16 +967,20 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
886
967
|
/** Scrolls to the top immediately - used whilst sorting / filtering */
|
887
968
|
scrollToTop(element) {
|
888
969
|
const scrollBehaviour = this.scrollParent.style?.scrollBehavior;
|
970
|
+
const scrollX = this.scrollParent.scrollLeft;
|
889
971
|
this.scrollParent.style.scrollBehavior = 'auto';
|
890
|
-
this.
|
972
|
+
if (this.topAnchorEle && !isInViewport(this.topAnchorEle, 0.1))
|
973
|
+
this.topAnchorEle.scrollIntoView();
|
891
974
|
if (element)
|
892
|
-
element.scrollIntoView();
|
975
|
+
element.scrollIntoView({ block: 'start' });
|
976
|
+
if (scrollX)
|
977
|
+
this.scrollParent.scrollLeft = scrollX;
|
893
978
|
if (scrollBehaviour)
|
894
979
|
this.scrollParent.style.scrollBehavior = scrollBehaviour;
|
895
980
|
}
|
896
981
|
setMeasureElement() {
|
897
982
|
readTask(() => {
|
898
|
-
this.measureEle = this.blockElements.find((b) => !b
|
983
|
+
this.measureEle = this.blockElements.find((b) => !b?.classList?.contains(`${CSSNAMESPACE}__inactive`));
|
899
984
|
});
|
900
985
|
}
|
901
986
|
/**
|
@@ -921,11 +1006,6 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
921
1006
|
}
|
922
1007
|
if (i === this.blockElements.length - 1)
|
923
1008
|
resolve();
|
924
|
-
// const heightGuess = this.getBlockHeight(this.blockElements.indexOf(el));
|
925
|
-
// writeTask(() => {
|
926
|
-
// el.style.height = heightGuess;
|
927
|
-
// if (i === this.blockElements.length - 1) resolve();
|
928
|
-
// });
|
929
1009
|
});
|
930
1010
|
});
|
931
1011
|
});
|
@@ -1013,8 +1093,8 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
1013
1093
|
if (!el)
|
1014
1094
|
return;
|
1015
1095
|
const height = el.getBoundingClientRect().height;
|
1016
|
-
// cache height to our block heights
|
1017
|
-
//
|
1096
|
+
// cache height to our block heights array
|
1097
|
+
// for subsequent renders
|
1018
1098
|
const fBhI = this.blockHeights.findIndex((bh) => bh.blockIndex === blockIndex);
|
1019
1099
|
if (fBhI > 0) {
|
1020
1100
|
this.blockHeights[fBhI] = { height, blockIndex };
|
@@ -1034,8 +1114,8 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
1034
1114
|
// Component lifecycle
|
1035
1115
|
async componentWillLoad() {
|
1036
1116
|
perMark('init');
|
1037
|
-
this.store = await generateStore(this.host, this.
|
1038
|
-
await this.
|
1117
|
+
this.store = await generateStore(this.host, this.columns, this.scrollParent);
|
1118
|
+
await this.handleRowsChange();
|
1039
1119
|
this.processSlots();
|
1040
1120
|
this.setBlocks();
|
1041
1121
|
this.store.data.onChange('rows', () => this.setBlocks());
|
@@ -1063,9 +1143,17 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
1063
1143
|
}
|
1064
1144
|
render() {
|
1065
1145
|
this.blockElements = [];
|
1066
|
-
return (h(Host, null, h("div", {
|
1146
|
+
return (h(Host, null, h("div", { class: `${CSSNAMESPACE}__top-anchor`, ref: (a) => (this.topAnchorEle = a) }, "\u00A0"), h("div", { "aria-labelledby": 'table-caption-' + this.renderId, tabindex: this.type === 'grid' ? '0' : undefined }, h("nano-progress-bar", { indeterminate: true, class: {
|
1147
|
+
[`${CSSNAMESPACE}__progress-bar`]: true,
|
1148
|
+
[`${CSSNAMESPACE}__progress-bar--show`]: this.loading,
|
1149
|
+
} }), h("table", { role: this.type === 'grid' ? 'grid' : undefined, "aria-readonly": this.type === 'table' ? 'true' : undefined, "aria-rowcount": this.store.data.state.rows.length, "aria-colcount": this.store.config.state.columns.length, class: `${CSSNAMESPACE}`, ref: (tbl) => (this.tableEle = tbl) }, h("caption", { class: {
|
1150
|
+
[`${CSSNAMESPACE}__caption`]: true,
|
1151
|
+
[`${CSSNAMESPACE}__caption--hide`]: !this.showCaption,
|
1152
|
+
}, id: 'table-caption-' + this.renderId }, h("slot", { name: "caption" }, this.caption)), h("thead", null, h(TableHeadFootRow, { rowRenderer: this.headRender, onColumnPinned: this.handleColumnPinned }, this.store.config.state.columns.map((colModel) => [
|
1067
1153
|
h(TableColHead, { column: colModel, headRenderer: this.headRender, onColumnOrderClick: this.sortStart, onColumnPinned: this.handleColumnPinned }),
|
1068
|
-
]))), this.
|
1154
|
+
]))), this.loading &&
|
1155
|
+
!this.blocks.length &&
|
1156
|
+
[...Array(10).keys()].map((rowIndex) => (h("tr", null, this.store.config.state.columns.map((_colModel, colIndex) => (h(TableCell, { rowIndex: rowIndex, colIndex: colIndex, nestedContent: h("nano-skeleton", null) })))))), this.blocks.map((block, blockIndex) => (h("tbody", { key: block.__uuid, id: `tbody-${this.renderId}-${blockIndex}`, ref: (tb) => {
|
1069
1157
|
this.blockElements.push(tb);
|
1070
1158
|
this.setupBlockIO(tb, blockIndex);
|
1071
1159
|
}, class: {
|
@@ -1076,9 +1164,12 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
1076
1164
|
return (h(TableRow, { rowRenderer: this.rowRender, row: row }, this.store.config.state.columns.map((_colModel, colIndex) => (h(TableCell, { rowIndex: rowIndex, colIndex: colIndex })))));
|
1077
1165
|
})) : (h("td", { colSpan: this.store.config.state.columns.length, style: {
|
1078
1166
|
height: this.getBlockHeight(blockIndex),
|
1079
|
-
} }))))),
|
1167
|
+
} }))))), this.showFooter && (h("tfoot", null, h(TableHeadFootRow, { rowRenderer: this.footRender, onColumnPinned: this.handleColumnPinned }, this.store.config.state.columns.map((colModel) => [
|
1080
1168
|
h(TableColHead, { column: colModel, headRenderer: this.footRender, onColumnPinned: this.handleColumnPinned }),
|
1081
|
-
])))))
|
1169
|
+
]))))), !!this.blocks.length && (h("nano-spinner", { type: "circle", class: {
|
1170
|
+
[`${CSSNAMESPACE}__spinner`]: true,
|
1171
|
+
[`${CSSNAMESPACE}__spinner--show`]: this.loading,
|
1172
|
+
} })))));
|
1082
1173
|
}
|
1083
1174
|
get host() { return this; }
|
1084
1175
|
static get watchers() { return {
|
@@ -1091,6 +1182,8 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
1091
1182
|
"type": [1],
|
1092
1183
|
"caption": [1],
|
1093
1184
|
"showCaption": [4, "show-caption"],
|
1185
|
+
"loading": [6148],
|
1186
|
+
"placeholderSize": [2, "placeholder-size"],
|
1094
1187
|
"rows": [16],
|
1095
1188
|
"columns": [1040],
|
1096
1189
|
"headRender": [16],
|
@@ -1102,6 +1195,7 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
1102
1195
|
"searchTerm": [1, "search-term"],
|
1103
1196
|
"customFilterFn": [16],
|
1104
1197
|
"customSortFn": [16],
|
1198
|
+
"_loading": [32],
|
1105
1199
|
"blocks": [32],
|
1106
1200
|
"activeBlocks": [32],
|
1107
1201
|
"measureHeight": [32],
|
@@ -1114,7 +1208,7 @@ function defineCustomElement$1() {
|
|
1114
1208
|
if (typeof customElements === "undefined") {
|
1115
1209
|
return;
|
1116
1210
|
}
|
1117
|
-
const components = ["nano-table", "nano-icon"];
|
1211
|
+
const components = ["nano-table", "nano-icon", "nano-progress-bar", "nano-skeleton", "nano-spinner"];
|
1118
1212
|
components.forEach(tagName => { switch (tagName) {
|
1119
1213
|
case "nano-table":
|
1120
1214
|
if (!customElements.get(tagName)) {
|
@@ -1122,6 +1216,21 @@ function defineCustomElement$1() {
|
|
1122
1216
|
}
|
1123
1217
|
break;
|
1124
1218
|
case "nano-icon":
|
1219
|
+
if (!customElements.get(tagName)) {
|
1220
|
+
defineCustomElement$5();
|
1221
|
+
}
|
1222
|
+
break;
|
1223
|
+
case "nano-progress-bar":
|
1224
|
+
if (!customElements.get(tagName)) {
|
1225
|
+
defineCustomElement$4();
|
1226
|
+
}
|
1227
|
+
break;
|
1228
|
+
case "nano-skeleton":
|
1229
|
+
if (!customElements.get(tagName)) {
|
1230
|
+
defineCustomElement$3();
|
1231
|
+
}
|
1232
|
+
break;
|
1233
|
+
case "nano-spinner":
|
1125
1234
|
if (!customElements.get(tagName)) {
|
1126
1235
|
defineCustomElement$2();
|
1127
1236
|
}
|