@nanoporetech-digital/components 3.6.0 → 3.7.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 +19 -0
- package/dist/cjs/nano-global-nav.cjs.entry.js +1 -16
- package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/{nano-table-b031ec24.js → nano-table-820b04d5.js} +13 -9
- package/dist/cjs/nano-table-820b04d5.js.map +1 -0
- package/dist/cjs/nano-table.cjs.entry.js +1 -1
- package/dist/cjs/{table.worker-dadd1eb0.js → table.worker-9e238d16.js} +2 -2
- package/dist/cjs/table.worker-9e238d16.js.map +1 -0
- package/dist/collection/components/global-nav/global-nav.js +1 -16
- package/dist/collection/components/global-nav/global-nav.js.map +1 -1
- package/dist/collection/components/table/table.js +12 -8
- package/dist/collection/components/table/table.js.map +1 -1
- package/dist/components/nano-global-nav.js +1 -16
- package/dist/components/nano-global-nav.js.map +1 -1
- package/dist/components/table.js +12 -8
- package/dist/components/table.js.map +1 -1
- package/dist/custom-elements/index.js +12 -23
- package/dist/custom-elements/index.js.map +1 -1
- package/dist/esm/nano-global-nav.entry.js +1 -16
- package/dist/esm/nano-global-nav.entry.js.map +1 -1
- package/dist/esm/{nano-table-74d627a5.js → nano-table-1f4fe4ad.js} +13 -9
- package/dist/esm/nano-table-1f4fe4ad.js.map +1 -0
- package/dist/esm/nano-table.entry.js +1 -1
- package/dist/esm/{table.worker-2908df63.js → table.worker-ddbd23c3.js} +2 -2
- package/dist/esm/table.worker-ddbd23c3.js.map +1 -0
- package/dist/nano-components/nano-components.esm.js +1 -1
- package/dist/nano-components/p-0582afcc.js +5 -0
- package/dist/nano-components/{p-d81d40d9.js.map → p-0582afcc.js.map} +0 -0
- package/dist/nano-components/{p-d7ed2d6e.js → p-73860775.js} +2 -2
- package/dist/nano-components/p-73860775.js.map +1 -0
- package/dist/nano-components/{p-f5ee07b3.entry.js → p-a5abfed9.entry.js} +2 -2
- package/dist/nano-components/{p-f5ee07b3.entry.js.map → p-a5abfed9.entry.js.map} +0 -0
- package/dist/nano-components/{p-807c2e92.entry.js → p-ca567f01.entry.js} +2 -2
- package/dist/nano-components/p-ca567f01.entry.js.map +1 -0
- package/dist/types/components/table/table.d.ts +1 -0
- package/docs-json.json +1 -1
- package/package.json +2 -2
- package/dist/cjs/nano-table-b031ec24.js.map +0 -1
- package/dist/cjs/table.worker-dadd1eb0.js.map +0 -1
- package/dist/esm/nano-table-74d627a5.js.map +0 -1
- package/dist/esm/table.worker-2908df63.js.map +0 -1
- package/dist/nano-components/p-807c2e92.entry.js.map +0 -1
- package/dist/nano-components/p-d7ed2d6e.js.map +0 -1
- package/dist/nano-components/p-d81d40d9.js +0 -5
package/dist/components/table.js
CHANGED
@@ -889,7 +889,7 @@ const TableHeadFootRow = ({ rowRenderer, onColumnPinned }, children, utils) => {
|
|
889
889
|
const tableCss = ":host{box-sizing:border-box}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}nano-table{display:block;width:100%;--max-col-width:clamp(200px, 500px, 50vw);--color:var(--nano-color-mediumgrey, #68767e);--font-size:0.87rem;--cell-line-height:1.5;--thead-font-size:0.95rem;--thead-color:#455560;--tfoot-color:#455560;--border-color:#dddbda;--border-style:thin solid var(--border-color);--border-tint-color:#0084a9;--border-tint-style:3px solid var(--border-tint-color);--cell-bg-rgb:var(--nano-color-white-rgb, 255 255 255);--head-bg-rgb:250, 250, 249;--foot-bg-rgb:var(--head-bg-rgb);--th-row-bg-rgb:var(--cell-bg-rgb);--ordered-bg-rgb:var(--nano-color-offwhite-rgb, 249 249 251);--td-padding-start:0.625rem;--td-padding-end:0.625rem;--td-padding-top:0.5rem;--td-padding-bottom:0.4125rem;--th-padding-start:0.625rem;--th-padding-end:0.625rem;--th-padding-top:0.875rem;--th-padding-bottom:0.6875rem;--td-padding-v:var(--td-padding-top) var(--td-padding-bottom);--td-padding-h:var(--td-padding-start) var(--td-padding-end);--th-padding-v:var(--th-padding-top) var(--th-padding-bottom);--th-padding-h:var(--th-padding-start) var(--th-padding-end);--foot-th-padding-v:var(--td-padding-top) var(--td-padding-bottom);--foot-th-padding-h:var(--td-padding-start) var(--td-padding-end);--head-th-padding-v:var(--th-padding-top) var(--th-padding-bottom);--head-th-padding-h:var(--th-padding-start) var(--th-padding-end);--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));border-inline-end:1px solid transparent;border-block-start:1px solid transparent;position:relative;z-index:1}.nano-tbl__wrap{display:table;min-width:100%}.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;position:relative}.nano-tbl__ordered{background-color:var(--ordered-bg);border-inline-start:var(--border-style);border-inline-end:var(--border-style)}.nano-tbl__drag-mask{display:none;position:absolute;inset-block:-2px -2px;z-index:10;opacity:0;transition:0.2s ease opacity}.nano-tbl__drag-mask--start{width:calc(50% + 2px);inset-inline-start:-2px;border-inline-start:2px dashed var(--border-tint-color)}.nano-tbl__drag-mask--end{width:50%;inset-inline-end:0;border-inline-end:2px dashed var(--border-tint-color)}.nano-tbl__drag-mask--active{opacity:1}.nano-tbl__dragging .nano-tbl__drag-mask{display:block}.nano-tbl__drag--start{opacity:0.4}.nano-tbl__dragging .nano-tbl__td,.nano-tbl__dragging .nano-tbl__th{cursor:no-drop}.nano-tbl__dragging .nano-tbl__td .nano-tbl__cell-content,.nano-tbl__dragging .nano-tbl__th .nano-tbl__cell-content{pointer-events:none}.nano-tbl__order-btn{padding:0;border:none;outline:none;font:inherit;background:none;-webkit-appearance:none;appearance:none;color:inherit;display:flex;gap:10px;align-items:center;width:100%}.nano-tbl__status-icons{margin-inline:auto 10px;display:flex;gap:10px}.nano-tbl__progress-bar{font-size:0.2rem;position:sticky;inset-block-start:0;inset-inline:0;z-index:10;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;border-block-start:var(--border-style);max-width:var(--max-col-width);background-color:rgb(var(--cell-bg-rgb))}tbody:first-of-type tr:first-child .nano-tbl__td,tbody:first-of-type tr:first-child .nano-tbl__th{border-block-start:none}tbody:last-of-type tr:last-child .nano-tbl__td,tbody:last-of-type tr:last-child .nano-tbl__th{border-block-end:var(--border-style)}.md .nano-tbl__td:first-child .nano-tbl__cell-content,.md .nano-tbl__th:first-child .nano-tbl__cell-content{padding-inline-start:var(--bookend-col-padding)}.md .nano-tbl__td:last-child .nano-tbl__cell-content,.md .nano-tbl__th:last-child .nano-tbl__cell-content{padding-inline-end:var(--bookend-col-padding)}@media (max-width: 768px){.nano-tbl__td:first-child .nano-tbl__cell-content,.nano-tbl__th:first-child .nano-tbl__cell-content{padding-inline-start:var(--td-padding-start) !important}.nano-tbl__td:last-child .nano-tbl__cell-content,.nano-tbl__th:last-child .nano-tbl__cell-content{padding-inline-end:var(--td-padding-end) !important}}thead .nano-tbl__td,thead .nano-tbl__th{color:var(--thead-color);font-weight:800;background:rgba(var(--head-bg-rgb), 90%);font-size:var(--thead-font-size);border-block-start:none !important;transition:all 0.2s ease}thead .nano-tbl__td .nano-tbl__cell-content,thead .nano-tbl__th .nano-tbl__cell-content{padding-block:var(--head-th-padding-v);padding-inline:var(--head-th-padding-h)}tfoot .nano-tbl__td,tfoot .nano-tbl__th{color:var(--tfoot-color);font-weight:800;border-block-start:none;background:rgba(var(--foot-bg-rgb), 90%);font-size:var(--thead-font-size)}tfoot .nano-tbl__td .nano-tbl__cell-content,tfoot .nano-tbl__th .nano-tbl__cell-content{padding-block:var(--foot-th-padding-v);padding-inline:var(--foot-th-padding-h)}.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-block:var(--td-padding-v);padding-inline:var(--td-padding-h)}.nano-tbl__cell-content--no-result{padding-block:2rem}.nano-tbl__cell-content--wrap{white-space:normal;overflow:visible}.nano-tbl tbody{will-change:scroll-position;opacity:1;transition:0.1s ease opacity;transform:translateZ(0)}.nano-tbl tbody.nano-tbl__inactive{opacity:0}.nano-tbl th[scope=row]{font-weight:800;margin:0}.nano-tbl__pin{position:sticky}.nano-tbl__pin--start{inset-inline:-1px auto;transition:max-width 0.25s ease}.nano-tbl__pin--start::after{content:\"\";position:absolute;inset:0;box-shadow:5px 1px 4px 0 rgba(0, 0, 0, 0.2);opacity:0;z-index:-1}.nano-tbl__pinned--start .nano-tbl__pin--start{z-index:2;max-width:125px !important}.sm .nano-tbl__pinned--start .nano-tbl__pin--start{max-width:var(--max-col-width) !important}.nano-tbl__pinned--start .nano-tbl__pin--start::after{opacity:1}.nano-tbl__pin--end{}.nano-tbl__pin--start+.nano-tbl__pin--end{inset-inline:auto auto}.nano-tbl__pin--start+.nano-tbl__pin--end::after{display:none}.sm .nano-tbl__pin--end{inset-inline:auto -1px !important;max-width:min(50vw, 200px)}.sm .nano-tbl__pin--end::after{display:block !important;content:\"\";position:absolute;inset:0;box-shadow:-5px 1px 4px 0 rgba(0, 0, 0, 0.2);opacity:0;z-index:-1}.sm .nano-tbl__pinned--end .nano-tbl__pin--end::after{opacity:1}.nano-tbl__pin--top{inset-block:-1px auto}.nano-tbl__pinned--top .nano-tbl__pin--top{z-index:4 !important}.nano-tbl__pin--bottom{inset-block:auto -1px}.nano-tbl__pinned--bottom .nano-tbl__pin--bottom{z-index:5 !important}.nano-tbl__pinned--start .nano-tbl__pin--top.nano-tbl__pin--start{z-index:5 !important}.nano-tbl__pinned--top.nano-tbl__pinned--start .nano-tbl__pin--top.nano-tbl__pin--start{z-index:6 !important}.nano-tbl__pinned--end .nano-tbl__pin--top.nano-tbl__pin--end{z-index:5 !important}.nano-tbl__pinned--top.nano-tbl__pinned--end .nano-tbl__pin--top.nano-tbl__pin--end{z-index:6 !important}.nano-tbl__pinned--start .nano-tbl__pin--bottom.nano-tbl__pin--start{z-index:5 !important}.nano-tbl__pinned--bottom.nano-tbl__pinned--start .nano-tbl__pin--bottom.nano-tbl__pin--start{z-index:6 !important}.nano-tbl__pinned--end .nano-tbl__pin--bottom.nano-tbl__pin--end{z-index:5 !important}.nano-tbl__pinned--bottom.nano-tbl__pinned--end .nano-tbl__pin--bottom.nano-tbl__pin--end{z-index:6 !important}.nano-tbl thead tr:last-of-type td,.nano-tbl thead tr:last-of-type th{border-block-end:var(--border-tint-style)}.nano-tbl tfoot tr:first-of-type td,.nano-tbl tfoot tr:first-of-type th{border-block-start:none}.nano-tbl tfoot tr:last-of-type td,.nano-tbl tfoot tr:last-of-type th{border-block-end:var(--border-tint-style)}.nano-tbl__pinned--bottom .nano-tbl tfoot tr.nano-tbl__pin--bottom:first-of-type td,.nano-tbl__pinned--bottom .nano-tbl tfoot tr.nano-tbl__pin--bottom:first-of-type th{border-block-start:var(--border-tint-style) !important}.nano-tbl__pinned--bottom .nano-tbl tfoot tr.nano-tbl__pin--bottom:last-of-type td,.nano-tbl__pinned--bottom .nano-tbl tfoot tr.nano-tbl__pin--bottom:last-of-type th{border-block-end:none !important}.nano-tbl .unlimited-width{max-width:none}.nano-tbl__spinner{font-size:1.5rem;transition:scale 0.25s;scale:0;padding:0.5rem;position:absolute;inset-block-end:0;inset-inline-start:calc(50% - 0.75rem);z-index:0}.nano-tbl__spinner--show{scale:1;position:sticky}.nano-tbl nano-skeleton{line-height:var(--cell-line-height)}";
|
890
890
|
|
891
891
|
function perMark(name, end = false) {
|
892
|
-
if (!Build.isDev)
|
892
|
+
if (!Build.isDev || Build.isTesting || !performance)
|
893
893
|
return;
|
894
894
|
if (end) {
|
895
895
|
performance?.mark('end' + name);
|
@@ -917,9 +917,6 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
917
917
|
this.nanoTblBeforeSearch = createEvent(this, "nanoTblBeforeSearch", 7);
|
918
918
|
this.nanoTblAfterSearch = createEvent(this, "nanoTblAfterSearch", 7);
|
919
919
|
this.nanoTblBeforeEdit = createEvent(this, "nanoTblBeforeEdit", 7);
|
920
|
-
this.debounceSetLoading = (l) => {
|
921
|
-
this.internalLoading = l;
|
922
|
-
};
|
923
920
|
this.renderId = 'tbl-' + id++;
|
924
921
|
this.filters = [];
|
925
922
|
this.currentFilters = '[]';
|
@@ -1037,8 +1034,7 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
1037
1034
|
Math.max(0, blockIndex - 1),
|
1038
1035
|
];
|
1039
1036
|
if (potentialBlocks.toString() !== this.activeBlocks.toString()) {
|
1040
|
-
this.
|
1041
|
-
this.setBlockHeight();
|
1037
|
+
this.debouncedBlockChange(potentialBlocks);
|
1042
1038
|
}
|
1043
1039
|
}
|
1044
1040
|
// fire the event regardless
|
@@ -1088,6 +1084,7 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
1088
1084
|
this.blocks = [];
|
1089
1085
|
this.activeBlocks = [0, 1, 2];
|
1090
1086
|
this.debounceSetLoading = debounce(this.debounceSetLoading.bind(this), 50);
|
1087
|
+
this.debouncedBlockChange = debounce(this.debouncedBlockChange.bind(this), 100);
|
1091
1088
|
}
|
1092
1089
|
get _loading() {
|
1093
1090
|
return this.loading !== undefined ? this.loading : this.internalLoading;
|
@@ -1097,6 +1094,9 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
1097
1094
|
return;
|
1098
1095
|
this.debounceSetLoading(l);
|
1099
1096
|
}
|
1097
|
+
debounceSetLoading(l) {
|
1098
|
+
this.internalLoading = l;
|
1099
|
+
}
|
1100
1100
|
handleRowsChange() {
|
1101
1101
|
if (!this.rows) {
|
1102
1102
|
this._loading = true;
|
@@ -1467,6 +1467,10 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
1467
1467
|
});
|
1468
1468
|
});
|
1469
1469
|
}
|
1470
|
+
debouncedBlockChange(newBlocks) {
|
1471
|
+
this.activeBlocks = newBlocks;
|
1472
|
+
this.setBlockHeight();
|
1473
|
+
}
|
1470
1474
|
/** Process slotted content */
|
1471
1475
|
processSlots() {
|
1472
1476
|
// see if we have slot content
|
@@ -1529,9 +1533,9 @@ const Table = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
1529
1533
|
} }, this.activeBlocks.includes(blockIndex) ? (block.rows.map((row, i) => {
|
1530
1534
|
const rowIndex = blockIndex > 0 ? blockIndex * this.perBlock + i : i;
|
1531
1535
|
return (h(TableRow, { rowRenderer: this.rowRender, rowModel: row, rowIndex: rowIndex }, this.store.config.state.columns.map((_colModel, colIndex) => (h(TableCell, { rowIndex: rowIndex, colIndex: colIndex })))));
|
1532
|
-
})) : (h("td", { colSpan: this.store.config.state.columns.length, style: {
|
1536
|
+
})) : (h("tr", null, h("td", { colSpan: this.store.config.state.columns.length, style: {
|
1533
1537
|
height: this.getBlockHeight(blockIndex),
|
1534
|
-
} }))))), this.showFooter && (h("tfoot", null, h(TableHeadFootRow, { rowRenderer: this.footRender, onColumnPinned: this.handleColumnPinned }, this.store.config.state.columns.map((colModel) => [
|
1538
|
+
} })))))), this.showFooter && (h("tfoot", null, h(TableHeadFootRow, { rowRenderer: this.footRender, onColumnPinned: this.handleColumnPinned }, this.store.config.state.columns.map((colModel) => [
|
1535
1539
|
h(TableColHead, { column: colModel, headRenderer: this.footRender, onColumnPinned: this.handleColumnPinned, onColumnSortClick: this.sortStart, defaults: {
|
1536
1540
|
sortable: this.defaultSort,
|
1537
1541
|
draggable: this.defaultColDraggable,
|