@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.
Files changed (44) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/cjs/nano-global-nav.cjs.entry.js +1 -16
  3. package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
  4. package/dist/cjs/{nano-table-b031ec24.js → nano-table-820b04d5.js} +13 -9
  5. package/dist/cjs/nano-table-820b04d5.js.map +1 -0
  6. package/dist/cjs/nano-table.cjs.entry.js +1 -1
  7. package/dist/cjs/{table.worker-dadd1eb0.js → table.worker-9e238d16.js} +2 -2
  8. package/dist/cjs/table.worker-9e238d16.js.map +1 -0
  9. package/dist/collection/components/global-nav/global-nav.js +1 -16
  10. package/dist/collection/components/global-nav/global-nav.js.map +1 -1
  11. package/dist/collection/components/table/table.js +12 -8
  12. package/dist/collection/components/table/table.js.map +1 -1
  13. package/dist/components/nano-global-nav.js +1 -16
  14. package/dist/components/nano-global-nav.js.map +1 -1
  15. package/dist/components/table.js +12 -8
  16. package/dist/components/table.js.map +1 -1
  17. package/dist/custom-elements/index.js +12 -23
  18. package/dist/custom-elements/index.js.map +1 -1
  19. package/dist/esm/nano-global-nav.entry.js +1 -16
  20. package/dist/esm/nano-global-nav.entry.js.map +1 -1
  21. package/dist/esm/{nano-table-74d627a5.js → nano-table-1f4fe4ad.js} +13 -9
  22. package/dist/esm/nano-table-1f4fe4ad.js.map +1 -0
  23. package/dist/esm/nano-table.entry.js +1 -1
  24. package/dist/esm/{table.worker-2908df63.js → table.worker-ddbd23c3.js} +2 -2
  25. package/dist/esm/table.worker-ddbd23c3.js.map +1 -0
  26. package/dist/nano-components/nano-components.esm.js +1 -1
  27. package/dist/nano-components/p-0582afcc.js +5 -0
  28. package/dist/nano-components/{p-d81d40d9.js.map → p-0582afcc.js.map} +0 -0
  29. package/dist/nano-components/{p-d7ed2d6e.js → p-73860775.js} +2 -2
  30. package/dist/nano-components/p-73860775.js.map +1 -0
  31. package/dist/nano-components/{p-f5ee07b3.entry.js → p-a5abfed9.entry.js} +2 -2
  32. package/dist/nano-components/{p-f5ee07b3.entry.js.map → p-a5abfed9.entry.js.map} +0 -0
  33. package/dist/nano-components/{p-807c2e92.entry.js → p-ca567f01.entry.js} +2 -2
  34. package/dist/nano-components/p-ca567f01.entry.js.map +1 -0
  35. package/dist/types/components/table/table.d.ts +1 -0
  36. package/docs-json.json +1 -1
  37. package/package.json +2 -2
  38. package/dist/cjs/nano-table-b031ec24.js.map +0 -1
  39. package/dist/cjs/table.worker-dadd1eb0.js.map +0 -1
  40. package/dist/esm/nano-table-74d627a5.js.map +0 -1
  41. package/dist/esm/table.worker-2908df63.js.map +0 -1
  42. package/dist/nano-components/p-807c2e92.entry.js.map +0 -1
  43. package/dist/nano-components/p-d7ed2d6e.js.map +0 -1
  44. package/dist/nano-components/p-d81d40d9.js +0 -5
@@ -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.activeBlocks = potentialBlocks;
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,