@nanoporetech-digital/components 8.3.2 → 8.4.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/dist/cjs/constructible-style-BsHBb9au.js +133 -0
- package/dist/cjs/{fade-BzBFJiQK.js → fade-DBuNbJEw.js} +1 -1
- package/dist/cjs/{fullscreen-Cz3eYnOp.js → fullscreen-Bk4jXSN0.js} +1 -1
- package/dist/cjs/index-DGttnXif.js +28 -16
- package/dist/cjs/{lazyload-DIFYejbf.js → lazyload-gQqOMvpr.js} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/nano-accordion.cjs.entry.js +28 -9
- package/dist/cjs/nano-avatar_5.cjs.entry.js +11 -11
- package/dist/cjs/nano-components.cjs.js +1 -1
- package/dist/cjs/{nano-data-table-DFEflpc4.js → nano-data-table-BHQIpW0N.js} +31 -1
- package/dist/cjs/nano-data-table.cjs.entry.js +1 -1
- package/dist/cjs/nano-details.cjs.entry.js +6 -4
- package/dist/cjs/nano-field-validator.cjs.entry.js +4 -2
- package/dist/cjs/nano-footer.cjs.entry.js +2 -2
- package/dist/cjs/nano-global-nav.cjs.entry.js +22 -21
- package/dist/cjs/nano-grid-item.cjs.entry.js +1 -1
- package/dist/cjs/nano-grid_2.cjs.entry.js +6 -130
- package/dist/cjs/nano-hero.cjs.entry.js +4 -4
- package/dist/cjs/{nano-icon_3.cjs.entry.js → nano-icon-button_2.cjs.entry.js} +2 -320
- package/dist/cjs/nano-icon.cjs.entry.js +326 -0
- package/dist/cjs/nano-in-page-nav.cjs.entry.js +1 -1
- package/dist/cjs/nano-increment.cjs.entry.js +1 -1
- package/dist/cjs/nano-intersection-observe.cjs.entry.js +1 -1
- package/dist/cjs/nano-masked-overflow.cjs.entry.js +3 -3
- package/dist/cjs/nano-menu-drawer.cjs.entry.js +2 -2
- package/dist/cjs/nano-more-less.cjs.entry.js +2 -2
- package/dist/cjs/nano-rating.cjs.entry.js +4 -4
- package/dist/cjs/nano-resize-observe.cjs.entry.js +2 -2
- package/dist/cjs/nano-slide.cjs.entry.js +1 -1
- package/dist/cjs/{nano-slides-C576PTmo.js → nano-slides-C73bSG0h.js} +7 -7
- package/dist/cjs/nano-slides.cjs.entry.js +1 -1
- package/dist/cjs/nano-sortable.cjs.entry.js +1 -1
- package/dist/cjs/nano-step-accordion.cjs.entry.js +101 -0
- package/dist/cjs/nano-step-breadcrumb.cjs.entry.js +133 -0
- package/dist/cjs/nano-sticker.cjs.entry.js +2 -2
- package/dist/cjs/nano-tab-content.cjs.entry.js +2 -2
- package/dist/cjs/nano-tab.cjs.entry.js +2 -2
- package/dist/cjs/nano-table.cjs.entry.js +2 -2
- package/dist/cjs/{page-dots-Clb2QknR.js → page-dots-BLPta5z5.js} +1 -1
- package/dist/cjs/{table.worker-DxRLPmU9.js → table.worker-BeE8kdSf.js} +1 -1
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/accordion/accordion.js +51 -13
- package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
- package/dist/collection/components/data-table/table.js +1 -13
- package/dist/collection/components/details/details.js +9 -6
- package/dist/collection/components/field-validator/field-validator.js +4 -2
- package/dist/collection/components/footer/footer.css +7 -7
- package/dist/collection/components/footer/footer.js +2 -1
- package/dist/collection/components/global-nav/global-nav.js +23 -22
- package/dist/collection/components/global-search-results/global-search-results.js +4 -4
- package/dist/collection/components/grid/grid-item.js +1 -1
- package/dist/collection/components/grid/grid.js +1 -1
- package/dist/collection/components/hero/hero.js +4 -4
- package/dist/collection/components/icon/icon.js +1 -1
- package/dist/collection/components/icon/validate.js +1 -1
- package/dist/collection/components/img/img.js +3 -3
- package/dist/collection/components/in-page-nav/in-page-nav.js +1 -1
- package/dist/collection/components/increment/increment.js +1 -1
- package/dist/collection/components/intersection-observe/intersection-observe.js +1 -1
- package/dist/collection/components/masked-overflow/masked-overflow.js +3 -3
- package/dist/collection/components/menu-drawer/menu-drawer.js +2 -2
- package/dist/collection/components/more-less/more-less.js +2 -2
- package/dist/collection/components/rating/rating.js +4 -4
- package/dist/collection/components/resize-observe/resize-observe.js +2 -2
- package/dist/collection/components/select/select.js +7 -7
- package/dist/collection/components/slides/slide.js +1 -1
- package/dist/collection/components/slides/slides.js +3 -3
- package/dist/collection/components/sortable/sortable.js +1 -1
- package/dist/collection/components/step-accordion/step-accordion.css +138 -0
- package/dist/collection/components/step-accordion/step-accordion.js +190 -0
- package/dist/collection/components/step-breadcrumb/step-breadcrumb.css +231 -0
- package/dist/collection/components/step-breadcrumb/step-breadcrumb.js +222 -0
- package/dist/collection/components/sticker/sticker.js +2 -2
- package/dist/collection/components/table/table.js +2 -2
- package/dist/collection/components/tabs/tab-content.js +2 -2
- package/dist/collection/components/tabs/tab.js +2 -2
- package/dist/collection/components/tooltip/tooltip.js +2 -2
- package/dist/collection/utils/constructible-style.js +2 -2
- package/dist/collection/utils/performance.js +17 -0
- package/dist/components/accordion.js +80 -0
- package/dist/components/constructible-style.js +131 -0
- package/dist/components/details.js +6 -4
- package/dist/components/global-search-results.js +4 -4
- package/dist/components/grid.js +5 -129
- package/dist/components/icon.js +2 -2
- package/dist/components/img.js +3 -3
- package/dist/components/masked-overflow.js +3 -3
- package/dist/components/nano-accordion.js +1 -56
- package/dist/components/nano-data-table.js +30 -0
- package/dist/components/nano-field-validator.js +4 -2
- package/dist/components/nano-footer.js +2 -2
- package/dist/components/nano-global-nav.js +22 -21
- package/dist/components/nano-grid-item.js +1 -1
- package/dist/components/nano-hero.js +4 -4
- package/dist/components/nano-in-page-nav.js +1 -1
- package/dist/components/nano-increment.js +1 -1
- package/dist/components/nano-intersection-observe.js +1 -1
- package/dist/components/nano-menu-drawer.js +2 -2
- package/dist/components/nano-more-less.js +2 -2
- package/dist/components/nano-rating.js +4 -4
- package/dist/components/nano-slide.js +1 -1
- package/dist/components/nano-sortable.js +1 -1
- package/dist/components/nano-step-accordion.d.ts +11 -0
- package/dist/components/nano-step-accordion.js +141 -0
- package/dist/components/nano-step-breadcrumb.d.ts +11 -0
- package/dist/components/nano-step-breadcrumb.js +181 -0
- package/dist/components/nano-tab-content.js +2 -2
- package/dist/components/nano-tab.js +2 -2
- package/dist/components/nano-table.js +2 -2
- package/dist/components/resize-observe.js +2 -2
- package/dist/components/select.js +7 -7
- package/dist/components/slides.js +3 -3
- package/dist/components/sticker.js +2 -2
- package/dist/components/tooltip.js +2 -2
- package/dist/esm/constructible-style-B2_GfhhS.js +131 -0
- package/dist/esm/{fade-D4P3XGVa.js → fade-C0NluV0K.js} +1 -1
- package/dist/esm/{fullscreen-Cfl6LvH2.js → fullscreen-Ck_w6MCZ.js} +1 -1
- package/dist/esm/index-BM3Om9WE.js +28 -16
- package/dist/esm/{lazyload-CQYknGN2.js → lazyload-DddTyM-A.js} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/nano-accordion.entry.js +28 -9
- package/dist/esm/nano-avatar_5.entry.js +11 -11
- package/dist/esm/nano-components.js +1 -1
- package/dist/esm/{nano-data-table-Bqk8ZUaL.js → nano-data-table-CWliPF7Y.js} +31 -1
- package/dist/esm/nano-data-table.entry.js +1 -1
- package/dist/esm/nano-details.entry.js +6 -4
- package/dist/esm/nano-field-validator.entry.js +4 -2
- package/dist/esm/nano-footer.entry.js +2 -2
- package/dist/esm/nano-global-nav.entry.js +22 -21
- package/dist/esm/nano-grid-item.entry.js +1 -1
- package/dist/esm/nano-grid_2.entry.js +7 -131
- package/dist/esm/nano-hero.entry.js +4 -4
- package/dist/esm/{nano-icon_3.entry.js → nano-icon-button_2.entry.js} +4 -321
- package/dist/esm/nano-icon.entry.js +324 -0
- package/dist/esm/nano-in-page-nav.entry.js +1 -1
- package/dist/esm/nano-increment.entry.js +1 -1
- package/dist/esm/nano-intersection-observe.entry.js +1 -1
- package/dist/esm/nano-masked-overflow.entry.js +3 -3
- package/dist/esm/nano-menu-drawer.entry.js +2 -2
- package/dist/esm/nano-more-less.entry.js +2 -2
- package/dist/esm/nano-rating.entry.js +4 -4
- package/dist/esm/nano-resize-observe.entry.js +2 -2
- package/dist/esm/nano-slide.entry.js +1 -1
- package/dist/esm/{nano-slides-DcJWApi6.js → nano-slides-BiPGpe5F.js} +7 -7
- package/dist/esm/nano-slides.entry.js +1 -1
- package/dist/esm/nano-sortable.entry.js +1 -1
- package/dist/esm/nano-step-accordion.entry.js +99 -0
- package/dist/esm/nano-step-breadcrumb.entry.js +131 -0
- package/dist/esm/nano-sticker.entry.js +2 -2
- package/dist/esm/nano-tab-content.entry.js +2 -2
- package/dist/esm/nano-tab.entry.js +2 -2
- package/dist/esm/nano-table.entry.js +2 -2
- package/dist/esm/{page-dots-kX7jiD3G.js → page-dots-WKehEjjM.js} +1 -1
- package/dist/esm/{table.worker-a52UkSRM.js → table.worker-DJks4i_l.js} +1 -1
- package/dist/nano-components/constructible-style-B2_GfhhS.js +4 -0
- package/dist/nano-components/{fade-D4P3XGVa.js → fade-C0NluV0K.js} +1 -1
- package/dist/nano-components/{fullscreen-Cfl6LvH2.js → fullscreen-Ck_w6MCZ.js} +1 -1
- package/dist/nano-components/{lazyload-CQYknGN2.js → lazyload-DddTyM-A.js} +1 -1
- package/dist/nano-components/nano-accordion.entry.js +1 -1
- package/dist/nano-components/nano-avatar_5.entry.js +1 -1
- package/dist/nano-components/nano-components.css +32 -1
- package/dist/nano-components/nano-components.esm.js +1 -1
- package/dist/nano-components/nano-data-table-CWliPF7Y.js +4 -0
- package/dist/nano-components/nano-data-table.entry.js +1 -1
- package/dist/nano-components/nano-details.entry.js +1 -1
- package/dist/nano-components/nano-field-validator.entry.js +1 -1
- package/dist/nano-components/nano-footer.entry.js +1 -1
- package/dist/nano-components/nano-global-nav.entry.js +1 -1
- package/dist/nano-components/nano-grid-item.entry.js +1 -1
- package/dist/nano-components/nano-grid_2.entry.js +1 -1
- package/dist/nano-components/nano-hero.entry.js +1 -1
- package/dist/nano-components/nano-icon-button_2.entry.js +4 -0
- package/dist/nano-components/nano-icon.entry.js +4 -0
- package/dist/nano-components/nano-in-page-nav.entry.js +1 -1
- package/dist/nano-components/nano-increment.entry.js +1 -1
- package/dist/nano-components/nano-intersection-observe.entry.js +1 -1
- package/dist/nano-components/nano-masked-overflow.entry.js +1 -1
- package/dist/nano-components/nano-menu-drawer.entry.js +1 -1
- package/dist/nano-components/nano-more-less.entry.js +1 -1
- package/dist/nano-components/nano-rating.entry.js +1 -1
- package/dist/nano-components/nano-resize-observe.entry.js +1 -1
- package/dist/nano-components/nano-slide.entry.js +1 -1
- package/dist/nano-components/{nano-slides-DcJWApi6.js → nano-slides-BiPGpe5F.js} +3 -3
- package/dist/nano-components/nano-slides.entry.js +1 -1
- package/dist/nano-components/nano-sortable.entry.js +1 -1
- package/dist/nano-components/nano-step-accordion.entry.js +4 -0
- package/dist/nano-components/nano-step-breadcrumb.entry.js +4 -0
- package/dist/nano-components/nano-sticker.entry.js +1 -1
- package/dist/nano-components/nano-tab-content.entry.js +1 -1
- package/dist/nano-components/nano-tab.entry.js +1 -1
- package/dist/nano-components/nano-table.entry.js +1 -1
- package/dist/nano-components/{page-dots-kX7jiD3G.js → page-dots-WKehEjjM.js} +1 -1
- package/dist/nano-components/{table.worker-a52UkSRM.js → table.worker-DJks4i_l.js} +1 -1
- package/dist/stencil.config.js +1 -0
- package/dist/style/components.css +1 -1
- package/dist/style/components.css.map +1 -1
- package/dist/style/core.css +1 -1
- package/dist/style/core.css.map +1 -1
- package/dist/style/nano.css +1 -1
- package/dist/style/nano.css.map +1 -1
- package/dist/types/components/accordion/accordion.d.ts +10 -4
- package/dist/types/components/details/details.d.ts +3 -2
- package/dist/types/components/footer/footer.d.ts +1 -0
- package/dist/types/components/global-nav/global-nav.d.ts +1 -1
- package/dist/types/components/step-accordion/step-accordion.d.ts +38 -0
- package/dist/types/components/step-breadcrumb/step-breadcrumb.d.ts +37 -0
- package/dist/types/components.d.ts +174 -4
- package/dist/types/utils/performance.d.ts +1 -0
- package/docs-json.json +352 -18
- package/docs-vscode.json +41 -2
- package/hydrate/index.js +404 -99
- package/hydrate/index.mjs +404 -99
- package/package.json +2 -2
- package/dist/nano-components/nano-data-table-Bqk8ZUaL.js +0 -4
- package/dist/nano-components/nano-icon_3.entry.js +0 -4
- /package/dist/types/builds/{x6knoJK1 → QrfEi4pt}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/generate-vue-component.d.ts +0 -0
- /package/dist/types/builds/{x6knoJK1 → QrfEi4pt}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/index.d.ts +0 -0
- /package/dist/types/builds/{x6knoJK1 → QrfEi4pt}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/output-vue.d.ts +0 -0
- /package/dist/types/builds/{x6knoJK1 → QrfEi4pt}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/plugin.d.ts +0 -0
- /package/dist/types/builds/{x6knoJK1 → QrfEi4pt}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/types.d.ts +0 -0
- /package/dist/types/builds/{x6knoJK1 → QrfEi4pt}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/utils.d.ts +0 -0
- /package/dist/types/builds/{x6knoJK1 → QrfEi4pt}/0/Digital/nano-components/packages/components/.stencil/stencil.config.d.ts +0 -0
- /package/dist/types/builds/{x6knoJK1 → QrfEi4pt}/0/Digital/nano-components/packages/components/.stencil/stencil.config.prod.d.ts +0 -0
- /package/dist/types/builds/{x6knoJK1 → QrfEi4pt}/0/Digital/nano-components/packages/components/.stencil/testing/mocks/intersection-observer.d.ts +0 -0
- /package/dist/types/builds/{x6knoJK1 → QrfEi4pt}/0/Digital/nano-components/packages/components/.stencil/wdio.conf.d.ts +0 -0
@@ -8,6 +8,20 @@ import { d as debounce } from './throttle-C93FMm2Z.js';
|
|
8
8
|
import { i as isInViewport, f as findScrollParent } from './scroll-1nFw8CNk.js';
|
9
9
|
import { c as createStore } from './index-BlBZYxu4.js';
|
10
10
|
|
11
|
+
function perMark(name, end = false) {
|
12
|
+
if (!performance || false)
|
13
|
+
return;
|
14
|
+
if (end) {
|
15
|
+
performance?.mark('end' + name);
|
16
|
+
performance?.measure(name, 'start' + name, 'end' + name);
|
17
|
+
const entries = performance?.getEntriesByName(name);
|
18
|
+
console.info(entries[entries.length ? entries.length - 1 : 0]);
|
19
|
+
}
|
20
|
+
else {
|
21
|
+
performance?.mark('start' + name);
|
22
|
+
}
|
23
|
+
}
|
24
|
+
|
11
25
|
const CSSNAMESPACE = 'nano-tbl';
|
12
26
|
|
13
27
|
const isInstanceOf = (value, className) => {
|
@@ -112,7 +126,7 @@ const createWorkerProxy = (worker, workerMsgId, exportedMethod) => (
|
|
112
126
|
})
|
113
127
|
);
|
114
128
|
|
115
|
-
const workerPromise = import('./table.worker-
|
129
|
+
const workerPromise = import('./table.worker-DJks4i_l.js').then(m => m.worker);
|
116
130
|
const createWorkerStore = /*@__PURE__*/createWorkerProxy(workerPromise, 'stencil.table.worker', 'createWorkerStore');
|
117
131
|
const syncConfigToWorker = /*@__PURE__*/createWorkerProxy(workerPromise, 'stencil.table.worker', 'syncConfigToWorker');
|
118
132
|
const syncDataToWorker = /*@__PURE__*/createWorkerProxy(workerPromise, 'stencil.table.worker', 'syncDataToWorker');
|
@@ -1378,6 +1392,7 @@ const NanoDataTable = class {
|
|
1378
1392
|
const sortEvent = this.nanoTblBeforeSort.emit({ column: column, order });
|
1379
1393
|
if (sortEvent.defaultPrevented)
|
1380
1394
|
return;
|
1395
|
+
perMark('sort');
|
1381
1396
|
this.currentSort = order + ':' + column;
|
1382
1397
|
// doesn't make sense to leave user in place for a sort
|
1383
1398
|
this.scrollToTop(element);
|
@@ -1427,17 +1442,20 @@ const NanoDataTable = class {
|
|
1427
1442
|
return { ...c, order: null };
|
1428
1443
|
});
|
1429
1444
|
this.nanoTblAfterSort.emit({ column: column, order });
|
1445
|
+
perMark('sort', true);
|
1430
1446
|
}
|
1431
1447
|
async searchStart() {
|
1432
1448
|
this._loading = true;
|
1433
1449
|
const sortEvent = this.nanoTblBeforeSearch.emit({ term: this.searchTerm });
|
1434
1450
|
if (sortEvent.defaultPrevented)
|
1435
1451
|
return;
|
1452
|
+
perMark('search');
|
1436
1453
|
// doesn't make sense to leave user in place for a search
|
1437
1454
|
this.scrollToTop();
|
1438
1455
|
try {
|
1439
1456
|
await storeSearch(this.host, this.searchTerm);
|
1440
1457
|
this.nanoTblAfterSearch.emit({ term: this.searchTerm });
|
1458
|
+
perMark('search', true);
|
1441
1459
|
}
|
1442
1460
|
catch (e) {
|
1443
1461
|
console.warn('search failed', e);
|
@@ -1464,6 +1482,7 @@ const NanoDataTable = class {
|
|
1464
1482
|
const sortEvent = this.nanoTblBeforeFilter.emit({ filters: this.filters });
|
1465
1483
|
if (sortEvent.defaultPrevented)
|
1466
1484
|
return;
|
1485
|
+
perMark('filter');
|
1467
1486
|
this.currentFilters = JSON.stringify(this.filters);
|
1468
1487
|
// doesn't make sense to leave user in place for a search
|
1469
1488
|
this.scrollToTop();
|
@@ -1518,6 +1537,7 @@ const NanoDataTable = class {
|
|
1518
1537
|
});
|
1519
1538
|
await storeFilter(this.host, this.filters);
|
1520
1539
|
this.nanoTblAfterFilter.emit({ filters: this.filters });
|
1540
|
+
perMark('filter', true);
|
1521
1541
|
}
|
1522
1542
|
/** Scrolls to the top immediately - used whilst sorting / filtering */
|
1523
1543
|
scrollToTop(element) {
|
@@ -1553,6 +1573,7 @@ const NanoDataTable = class {
|
|
1553
1573
|
setInitialBlockDimension() {
|
1554
1574
|
if (!this.blockElements?.length)
|
1555
1575
|
return;
|
1576
|
+
perMark('blockDims');
|
1556
1577
|
const testForDimensions = async () => {
|
1557
1578
|
await this.setMeasureElement();
|
1558
1579
|
if (this.unitHeight)
|
@@ -1578,6 +1599,8 @@ const NanoDataTable = class {
|
|
1578
1599
|
});
|
1579
1600
|
// we're all finished.
|
1580
1601
|
dimensionsReady.then(() => {
|
1602
|
+
perMark('blockDims', true);
|
1603
|
+
perMark('init', true);
|
1581
1604
|
requestAnimationFrame(() => (this.isReady = true));
|
1582
1605
|
});
|
1583
1606
|
}
|
@@ -1612,6 +1635,7 @@ const NanoDataTable = class {
|
|
1612
1635
|
this.blocks = [];
|
1613
1636
|
return;
|
1614
1637
|
}
|
1638
|
+
perMark('setBlocks');
|
1615
1639
|
// this.ignoreIO = true;
|
1616
1640
|
let i = 1;
|
1617
1641
|
const l = this.virtualTotalItems > dRows.length
|
@@ -1634,6 +1658,7 @@ const NanoDataTable = class {
|
|
1634
1658
|
blocks.push({ rows, __uuid: cyrb53(rows.map((b) => b.__uuid).join()) });
|
1635
1659
|
}
|
1636
1660
|
this.blocks = blocks;
|
1661
|
+
perMark('setBlocks', true);
|
1637
1662
|
}
|
1638
1663
|
/**
|
1639
1664
|
* Returns a block render height.
|
@@ -1683,6 +1708,7 @@ const NanoDataTable = class {
|
|
1683
1708
|
*/
|
1684
1709
|
scrollHandler = () => {
|
1685
1710
|
let scrollPos = 0;
|
1711
|
+
perMark('scrollHandler');
|
1686
1712
|
// don't listen if this table isn't in the viewport
|
1687
1713
|
if (!this.store?.general.state.isActive || !this.rows)
|
1688
1714
|
return;
|
@@ -1720,6 +1746,7 @@ const NanoDataTable = class {
|
|
1720
1746
|
}
|
1721
1747
|
blockIndex++;
|
1722
1748
|
}
|
1749
|
+
perMark('scrollHandler', true);
|
1723
1750
|
});
|
1724
1751
|
};
|
1725
1752
|
/** Process slotted content */
|
@@ -1748,6 +1775,7 @@ const NanoDataTable = class {
|
|
1748
1775
|
}
|
1749
1776
|
// Component lifecycle
|
1750
1777
|
async componentWillLoad() {
|
1778
|
+
perMark('init');
|
1751
1779
|
// setup stores
|
1752
1780
|
this.store = await generateStore(this.host, this.columns, this.scrollParent, this.isReady);
|
1753
1781
|
this.handleRowsChange();
|
@@ -1789,9 +1817,11 @@ const NanoDataTable = class {
|
|
1789
1817
|
return false;
|
1790
1818
|
}
|
1791
1819
|
componentWillRender() {
|
1820
|
+
perMark('render');
|
1792
1821
|
}
|
1793
1822
|
componentDidRender() {
|
1794
1823
|
this.setMeasureElement().then(() => this.setBlockHeight());
|
1824
|
+
perMark('render', true);
|
1795
1825
|
}
|
1796
1826
|
disconnectedCallback() {
|
1797
1827
|
if (!this.activeWatcherIo)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/*!
|
2
2
|
* Custom elements for Nanopore-Digital Web applications
|
3
3
|
*/
|
4
|
-
export { N as nano_data_table } from './nano-data-table-
|
4
|
+
export { N as nano_data_table } from './nano-data-table-CWliPF7Y.js';
|
5
5
|
import './index-BM3Om9WE.js';
|
6
6
|
import './renderer-BaP2L8CT.js';
|
7
7
|
import './math-BEqsTfVK.js';
|
@@ -129,7 +129,9 @@ const NanoDetails = class {
|
|
129
129
|
if (this.stateChanging)
|
130
130
|
return;
|
131
131
|
for (const change of changes) {
|
132
|
-
if (change.type === 'attributes' &&
|
132
|
+
if (change.type === 'attributes' &&
|
133
|
+
change.attributeName === 'open' &&
|
134
|
+
!this.disabled) {
|
133
135
|
this.open = this.detailsEl.open;
|
134
136
|
}
|
135
137
|
}
|
@@ -157,13 +159,13 @@ const NanoDetails = class {
|
|
157
159
|
}
|
158
160
|
}
|
159
161
|
render() {
|
160
|
-
return (h(Host, { key: '
|
162
|
+
return (h(Host, { key: '1cbedc078a3390a3ad82b99ac0f37e8ea0f8d480', class: "nano-details" }, h("details", { key: '22659218ba7d1ec936523ff33c7ed2a1efb2af74', part: "base", ref: (d) => (this.detailsEl = d), class: {
|
161
163
|
details: true,
|
162
164
|
disabled: this.disabled,
|
163
|
-
} }, h("summary", { key: '
|
165
|
+
} }, h("summary", { key: '3a7cd64e7d8e2b5235b7c0f7d58c434cb2a52469', part: "header", "aria-controls": "content", "aria-expanded": this.open ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', tabindex: this.disabled ? '-1' : '0', id: "header", role: "button", class: "header", ref: (s) => (this.headerEl = s), onKeyDown: this.onKeyDown, onClick: this.onMouseDown }, this.slotCtrl.has('icon-start') && (h("span", { key: '4a8de08dca34823e162019e2d4dddef2ed2c123d', part: "icon icon--start", class: "icon icon--start" }, h("slot", { key: 'cf6ea31f1685afa4bde64a6cbdef43cb0d0a053a', name: "icon-start" }))), h("div", { key: '0b11c544cfbb5852dfeae66b482154f1780a2569', part: "label", class: "label" }, this.label ? this.label : h("slot", { name: "label" })), h("span", { key: '5470af7891318c513870c473a8ad1f501174f51b', part: "icon icon--end", class: "icon icon--end" }, this.open ? (h("slot", { name: "icon-collapse" })) : (h("slot", { name: "icon-expand" })), h("slot", { key: '45960716eeec5d5ad08b63fd536608fcd33ab8f2', name: "icon-end" }, !this.slotCtrl.has('icon-start') &&
|
164
166
|
!this.slotCtrl.has('icon-end') &&
|
165
167
|
!this.slotCtrl.has('icon-expand') &&
|
166
|
-
!this.slotCtrl.has('icon-collapse') && (h("nano-icon", { key: '
|
168
|
+
!this.slotCtrl.has('icon-collapse') && (h("nano-icon", { key: '5357b61cb197dc4a1ceccf415a34defdfeb6b290', class: "default-icon", name: "light/chevron-down" }))))), h("div", { key: 'aa7f850c8415c2cd40fd7a965fba8eb98fca62b5', part: "body", class: "body", ref: (div) => (this.bodyEl = div), role: "region", "aria-labelledby": "header" }, h("div", { key: 'e98e6a68e4c15525b4377d4229fb4a1855650732', part: "content-wrapper", class: "content-wrapper" }, h("div", { key: '6710e302f7e2a5987ccd6703ea3c6cc0bf705d23', part: "content", class: "content", id: "content" }, h("slot", { key: '891525e66383979e621787f766bcfbcea78a9630' })))))));
|
167
169
|
}
|
168
170
|
static get watchers() { return {
|
169
171
|
"open": ["toggleClick"]
|
@@ -507,7 +507,9 @@ const FieldValidator = class {
|
|
507
507
|
this._valid = this.activeForm.checkValidity();
|
508
508
|
this.internalValidate = false;
|
509
509
|
}
|
510
|
-
|
510
|
+
setTimeout(() => {
|
511
|
+
this.nanoPayloadChange.emit(this._store.state);
|
512
|
+
}, 20);
|
511
513
|
};
|
512
514
|
/**
|
513
515
|
* Handles nano field value changes and passes to store
|
@@ -600,7 +602,7 @@ const FieldValidator = class {
|
|
600
602
|
this.activeForm.removeEventListener('invalid', this.handleFormInvalid, true);
|
601
603
|
}
|
602
604
|
render() {
|
603
|
-
return (h(Host, { key: '
|
605
|
+
return (h(Host, { key: 'bb60437392e410d528560b9a8a63c58b13f25495', class: "nano-field-validator" }, this.userForm && h("slot", { key: '7e9ff598dce291e80b53638453a8544398382cdd' }), !this.userForm && (h("form", { key: '68241c190268172ff742839ff57a5ac1ff66ca8e', ref: (f) => (this.activeForm = f) }, h("slot", { key: 'e89427bf668eb47217accdb2844d14cb4c3abd36' })))));
|
604
606
|
}
|
605
607
|
static get watchers() { return {
|
606
608
|
"userForm": ["userFormChange"],
|
@@ -4,7 +4,7 @@
|
|
4
4
|
import { r as registerInstance, g as getElement, h, k as getAssetPath } from './index-BM3Om9WE.js';
|
5
5
|
import { a as addGlobalStylesheetToShadow } from './style-Ds52s5za.js';
|
6
6
|
|
7
|
-
const footerCss = ":host,\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n[hidden] {\n display: none !important;\n}\n@media (prefers-reduced-motion: reduce) {\n :host,\n *,\n *::before,\n *::after {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n scroll-behavior: auto !important;\n }\n }:host,\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n[hidden] {\n display: none !important;\n}\n@media (prefers-reduced-motion: reduce) {\n :host,\n *,\n *::before,\n *::after {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n scroll-behavior: auto !important;\n }\n }:host {\n --col-gap: var(--nano-spacing-l1-default);\n --icon-gap-md: var(--nano-spacing-md);\n --icon-gap-sm: var(--nano-spacing-sm);\n --vertical-padding: var(--nano-spacing-l1-default);\n --horizontal-padding: 0;\n --header-margin: 0 0 var(--nano-spacing-l1-default) 0;\n display: block;\n}\n:host .footer {\n container-type: inline-size;\n container-name: footer-container;\n display: flex;\n flex-direction: column;\n}\n@container footer-container (max-width: 768px) {\n :host .top,\n :host .middle,\n :host .bottom {\n --horizontal-padding: var(--nano-spacing-md);\n --col-gap: var(--nano-spacing-l);\n --vertical-padding: var(--nano-spacing-md);\n }\n :host .top-start,\n :host .top-center,\n :host .top-end {\n --header-margin: 0 0 var(--nano-spacing-md) 0;\n }\n}\n@container footer-container (max-width: 1023px) {\n :host .top,\n :host .middle,\n :host .bottom {\n --horizontal-padding: var(--nano-spacing-l);\n }\n}\n@container footer-container (max-width: 1346px) {\n :host .top,\n :host .middle,\n :host .bottom {\n --horizontal-padding: var(--nano-spacing-l1-default);\n }\n}\n:host .upper {\n border-block-start: 1px solid var(--nano-color-neutral-200);\n}\n:host .lower {\n background-color: var(--nano-color-basic-black);\n color: var(--nano-color-basic-white);\n}\n:host .top,\n:host .middle,\n:host .bottom {\n display: grid;\n gap: var(--col-gap);\n margin: 0 auto;\n max-inline-size: 1266px;\n}\n:host .top,\n:host .middle {\n grid-template-columns: repeat(3, 1fr);\n padding: var(--vertical-padding) var(--horizontal-padding);\n}\n:host .bottom {\n grid-template-columns: repeat(2, 1fr);\n padding-inline: var(--horizontal-padding);\n padding-block-end: var(--vertical-padding);\n}\n:host .middle-
|
7
|
+
const footerCss = ":host,\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n[hidden] {\n display: none !important;\n}\n@media (prefers-reduced-motion: reduce) {\n :host,\n *,\n *::before,\n *::after {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n scroll-behavior: auto !important;\n }\n }:host,\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n[hidden] {\n display: none !important;\n}\n@media (prefers-reduced-motion: reduce) {\n :host,\n *,\n *::before,\n *::after {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n scroll-behavior: auto !important;\n }\n }:host {\n --col-gap: var(--nano-spacing-l1-default);\n --icon-gap-md: var(--nano-spacing-md);\n --icon-gap-sm: var(--nano-spacing-sm);\n --vertical-padding: var(--nano-spacing-l1-default);\n --horizontal-padding: 0;\n --header-margin: 0 0 var(--nano-spacing-l1-default) 0;\n display: block;\n}\n:host .footer {\n container-type: inline-size;\n container-name: footer-container;\n display: flex;\n flex-direction: column;\n}\n@container footer-container (max-width: 768px) {\n :host .top,\n :host .middle,\n :host .bottom {\n --horizontal-padding: var(--nano-spacing-md);\n --col-gap: var(--nano-spacing-l);\n --vertical-padding: var(--nano-spacing-md);\n }\n :host .top-start,\n :host .top-center,\n :host .top-end {\n --header-margin: 0 0 var(--nano-spacing-md) 0;\n }\n}\n@container footer-container (max-width: 1023px) {\n :host .top,\n :host .middle,\n :host .bottom {\n --horizontal-padding: var(--nano-spacing-l);\n }\n}\n@container footer-container (max-width: 1346px) {\n :host .top,\n :host .middle,\n :host .bottom {\n --horizontal-padding: var(--nano-spacing-l1-default);\n }\n}\n:host .upper {\n border-block-start: 1px solid var(--nano-color-neutral-200);\n}\n:host .lower {\n background-color: var(--nano-color-basic-black);\n color: var(--nano-color-basic-white);\n}\n:host .top,\n:host .middle,\n:host .bottom {\n display: grid;\n gap: var(--col-gap);\n margin: 0 auto;\n max-inline-size: 1266px;\n}\n:host .top,\n:host .middle {\n grid-template-columns: repeat(3, 1fr);\n padding: var(--vertical-padding) var(--horizontal-padding);\n}\n:host .bottom {\n grid-template-columns: repeat(2, 1fr);\n padding-inline: var(--horizontal-padding);\n padding-block-end: var(--vertical-padding);\n}\n:host .middle-centre a {\n color: inherit;\n}\n:host .middle-centre a:hover {\n color: var(--nano-color-primary-1000);\n}\n:host .middle-centre a:focus-visible {\n outline: var(--nano-focus-ring);\n outline-offset: var(--nano-focus-ring-offset);\n}\n:host .top-start,\n:host .top-center,\n:host .top-end {\n flex-direction: column;\n}\n:host .middle-start,\n:host .middle-centre,\n:host .middle-end {\n align-items: center;\n}\n:host .middle-start {\n display: flex;\n justify-content: flex-start;\n}\n:host .middle-centre {\n display: flex;\n justify-content: center;\n gap: var(--icon-gap-md);\n flex-wrap: nowrap;\n}\n:host .middle-end {\n display: grid;\n grid-template-columns: repeat(3, minmax(0, 20rem));\n gap: var(--icon-gap-sm);\n justify-content: end;\n}\n:host [slot=middle-end] {\n inline-size: 100%;\n}\n:host .bottom-start p,\n:host .bottom-start ::slotted(p), .bottom-start :host::slotted(p) {\n font-weight: var(--nano-font-weight-normal) !important;\n font-size: var(--nano-font-size-xs) !important;\n line-height: var(--nano-line-height-normal) !important;\n letter-spacing: var(--nano-letter-spacing-loose) !important;\n margin-block: 0 !important;\n}\n:host .bottom-end {\n display: flex;\n justify-content: flex-end;\n}\n:host .bottom-end ::slotted(*), .bottom-end :host::slotted(*) {\n --input-font-size: var(--nano-font-size-2xs) !important;\n max-inline-size: 9rem !important;\n}\n@container footer-container (max-width: 1200px) {\n :host .top {\n grid-template-columns: repeat(2, 1fr);\n grid-template-rows: repeat(2, auto);\n }\n :host .top-end {\n grid-row: 2;\n grid-column: 1/-1;\n }\n}\n@container footer-container (max-width: 912px) {\n :host .middle,\n :host .bottom {\n grid-template-columns: 1fr;\n grid-template-rows: 1fr;\n }\n :host .top {\n display: flex;\n flex-direction: column;\n }\n :host .middle-centre {\n flex-wrap: wrap;\n }\n :host .middle-end {\n grid-template-columns: minmax(0, 6.6rem);\n }\n :host .bottom {\n display: flex;\n flex-direction: column-reverse;\n align-items: center;\n }\n :host .middle-start,\n :host .middle-centre,\n :host .middle-end {\n justify-content: center;\n }\n}";
|
8
8
|
|
9
9
|
const NanoFooter = class {
|
10
10
|
constructor(hostRef) {
|
@@ -15,7 +15,7 @@ const NanoFooter = class {
|
|
15
15
|
addGlobalStylesheetToShadow(this.host.shadowRoot);
|
16
16
|
}
|
17
17
|
render() {
|
18
|
-
return (h("footer", { key: '
|
18
|
+
return (h("footer", { key: 'c2a8504a9eb51ed5b5ddd3da0adf06ae4c619155', class: "footer" }, h("div", { key: 'd2aa1e0ca9d7a546f0a8ac53e3f2aee31b69c144', class: "upper" }, h("div", { key: 'eff89342b051447e6518a89d4b8c4072ccacd9cc', class: "top" }, h("div", { key: 'a3081f69348ca489e82fab5692caf3e530341394', class: "top-start" }, h("slot", { key: '2b9197d57ca7914d86a640dae4297b3b73c58d04', name: "top-start_heading" }), h("slot", { key: '0d48a29421927c55f73ae9e69c4ab9ac4c2f2c6a', name: "top-start_content" })), h("div", { key: '42845d69fc0b65501f3d391c7d6a8f78815d892b', class: "top-center" }, h("slot", { key: '47046cd14d811f78b3e750bd35df7d2cececbe2c', name: "top-center_heading" }), h("slot", { key: '4ed1e887e7a7fa7d4be901cc26579691b1fd4aa0', name: "top-center_content" })), h("div", { key: 'dcb140d7f5fda4530e90be3a9f9f8fcac914c508', class: "top-end" }, h("slot", { key: '48f6027d5155383f1928408a47dd250250f2a841', name: "top-end_heading" }), h("slot", { key: '83f5a9ad3568dd75bf84ad6532b2094244ed0d96', name: "top-end_content" })))), h("div", { key: '3fc2df5976c5802f17338b601cc8162397385210', class: "lower nano-theme-dark" }, h("div", { key: '97018136a4e7f65ffbbb706919e0f04cd693ee6e', class: "middle" }, h("div", { key: '8d1090ea74fede921c3c657cf6b3d59d4d4099ea', class: "middle-start" }, h("img", { key: 'd227c88e189f725042500884743ab8d5a3bdb47a', src: getAssetPath('../nano-assets/ont-logo-light.svg'), alt: "Oxford Nanopore Technologies logo. Featuring a stylised representation of a nanopore,\n (a tiny protein channel embedded in a membrane) through which DNA or RNA molecules are passed in for sequencing.", height: "46", part: "logo" })), h("slot", { key: '3c2dfa7cb2e6a00715dfa51febb836f981fbf3f6', name: "middle-centre" }, h("div", { key: '0bcf3ad9ff6d9cff398e5a69f69dc3eec7cef425', class: "middle-centre" }, h("a", { key: '2046a3d31732c36c024b02f40b333c6e3e940ad9', href: "https://x.com/nanopore", target: "_blank" }, h("nano-icon", { key: '3d2f8b00bcb23cf63cc0433244ab8e787ae58de1', name: "brands/x-twitter", size: "large", ariaLabel: "X (formerly Twitter)" })), h("a", { key: '449625ca6b7866ac54d410871ef8dd48c0b921a4', href: "https://bsky.app/profile/nanoporetech.com", target: "_blank" }, h("nano-icon", { key: '2bfa9fdae2df01571cf735b6a8621bf4591954ec', name: "brands/bluesky", size: "large", ariaLabel: "Bluesky" })), h("a", { key: '92d9aa410759d7137bf76878820565e31783306f', href: "https://www.youtube.com/channel/UC5yMlYjHSgFfZ37LYq-dzig", target: "_blank" }, h("nano-icon", { key: '294302355c16e5cd10d0958eeb6e5f82d486ec9a', name: "brands/youtube", size: "large", ariaLabel: "YouTube" })), h("a", { key: 'a2e1f1a50e25e79e1a6f856941494fee1a5d9348', href: "https://www.facebook.com/Oxford-Nanopore-Technologies-251034380246/", target: "_blank" }, h("nano-icon", { key: '5f755d6191da952039e4dd212790d73e44869689', name: "brands/facebook", size: "large", ariaLabel: "Facebook" })), h("a", { key: 'ac1b66b957ac42cd31111d1ce1a19c603442f71b', href: "https://www.linkedin.com/company/oxford-nanopore-technologies", target: "_blank" }, h("nano-icon", { key: '6c31573dd300a2f1f973b17e62ae5013cef0faa7', name: "brands/linkedin", size: "large", ariaLabel: "LinkedIn" })), h("a", { key: '5c1738d75d98eab928d6e3331991f0f13a0a0a01', href: "https://www.instagram.com/oxfordnanopore", target: "_blank" }, h("nano-icon", { key: 'bbfd2562b24bab2dd6b5ac0abda7d328be8b77f2', name: "brands/instagram", size: "large", ariaLabel: "Instagram" })))), h("div", { key: '7fa7ce2a77355ef0e479db3d328c6c549ad0b0e0', class: "middle-end" }, h("slot", { key: '25fb3c61e7c29211f94fa6ad18023273fda6bbee', name: "middle-end" }))), h("div", { key: 'f6be28833e0a022e8918be48869d1655b19de781', class: "bottom" }, h("div", { key: 'bf6d46ecf55c77e1e9c5de89438b73c747e7c228', class: "bottom-start" }, h("slot", { key: '361dbfd8db399e50b300aab1bb4af8049b74f033', name: "bottom-start" }, h("p", { key: '14ef6c21d9da97caf9d0181740fbf0e270beb9d3' }, "\u00A9 2008 - 2025 Oxford Nanopore Technologies plc. All rights reserved. Registered Office: Gosling Building, Edmund Halley Road, Oxford Science Park, OX4 4DQ, UK | Registered No. 05386273 | VAT No 336942382. Oxford Nanopore Technologies, the Wheel icon, EPI2ME, Flongle, GridION, Metrichor, MinION, MinIT, MinKNOW, Plongle, PromethION, SmidgION, Ubik and VolTRAX are registered trademarks of Oxford Nanopore Technologies plc in various countries. Oxford Nanopore Technologies products are not intended for use for health assessment or to diagnose, treat, mitigate, cure, or prevent any disease or condition."))), h("div", { key: 'fd2a849f3bd442ef1b81f93c829aa6fc20741fe1', class: "bottom-end" }, h("slot", { key: 'e6739d536a4075bcb14dbbb6c890f5927d71a869', name: "bottom-end" }))))));
|
19
19
|
}
|
20
20
|
};
|
21
21
|
NanoFooter.style = footerCss;
|
@@ -71,7 +71,7 @@ const GlobalNav = class {
|
|
71
71
|
});
|
72
72
|
}
|
73
73
|
/**
|
74
|
-
* MyAccount data automatically set via `myAccountUrl`.
|
74
|
+
* MyAccount data is automatically set via `myAccountUrl`.
|
75
75
|
* Alternatively you can directly provide a JSON object which is useful for SSR
|
76
76
|
* (ref https://myaccount.nanoporetech.com/nav_bar_data.json)
|
77
77
|
*/
|
@@ -380,7 +380,7 @@ const GlobalNav = class {
|
|
380
380
|
};
|
381
381
|
handleSearchCloseEvent = (e) => {
|
382
382
|
if (e.target.classList.contains('gn__search-dropdown')) {
|
383
|
-
this.searchBarShown = false;
|
383
|
+
requestAnimationFrame(() => (this.searchBarShown = false));
|
384
384
|
}
|
385
385
|
};
|
386
386
|
handleSearchTermInputEvent = (e) => {
|
@@ -482,33 +482,34 @@ const GlobalNav = class {
|
|
482
482
|
}
|
483
483
|
render() {
|
484
484
|
const bpps = this.bpPartials;
|
485
|
-
return (h(Host, { key: '
|
485
|
+
return (h(Host, { key: '3964e8a3aab86d4252876816ca934c69e75da22b', class: {
|
486
486
|
'overflow-menu': this.breakpoint > bpps.mainMenu.breakpoint,
|
487
487
|
'bar-menu': this.breakpoint <= bpps.mainMenu.breakpoint,
|
488
488
|
'nano-global-nav': true,
|
489
|
-
} }, h("div", { key: '
|
489
|
+
} }, h("div", { key: 'fc2f728b3c4412913ffc2d18c07d057bf6e0bf87', class: {
|
490
490
|
gn: true,
|
491
491
|
'gn__search-open': this.searchBarShown,
|
492
|
-
} }, h("nano-drawer", { key: '
|
492
|
+
} }, h("nano-drawer", { key: '9a2c9109327ff9cd4eb2553df7e93571a29aa237', ref: (el) => (this.overflowMenu = el), label: "Main menu", part: "drawer", class: "gn__drawer nano-theme-dark", placement: "start", open: this.overflowOpen, onNanoAfterHide: () => (this.overflowOpen = false), onNanoAfterShow: () => (this.overflowOpen = true) }, h("div", { key: '649c672f237ce2145eda6c8988744f6709835615', class: "gn__drawer-header", part: "overflow-header", slot: "label" }, "Main menu"), h("nav", { key: 'd002c07a9eb1cdcc4e188e5b146ce8a11257ab98', class: "gn__drawer-menu", part: "overflow-menu" }, this.breakpoint > bpps.mainMenu.breakpoint
|
493
493
|
? bpps.mainMenu.tpl()
|
494
|
-
: '', h("slot", { key: '
|
494
|
+
: '', h("slot", { key: 'b6bf65e8ed92636f1eba4b376ecb2fd617bcd67f', name: "overflow" }))), h("div", { key: 'b7a5e9d074b63f1841d3946d0166389c73161f25', class: "gn__menu-bar-wrapper" }, h("div", { key: '6b4d27a83ed4cbf3a62c0b924b08c887e415904a', class: "gn__menu-bar", part: "menu-bar", ref: (el) => (this.mainMenuBar = el) }, h("nav", { key: '64acb1e7f44c8931bd928e0c6be01eaf83cf47ff', class: `gn__main-menu ${this.shouldResize ? 'resizing' : ''}`, part: "main-menu", ref: (el) => (this.mainMenu = el) }, this.breakpoint > bpps.mainMenu.breakpoint && (h("nano-icon-button", { key: '49dc9cf7e3d75dee49d7a50defde7a260c33f867', class: "gn__overflow-button", iconName: "light/bars", label: "Open Menu", onClick: () => this.overflowMenu.show() })), h("slot", { key: 'ffb1b38b1e7682ab2fe26d44a0c9686306634197', name: "logo" }, h("a", { key: 'a8427d3042b4871027a08b5ea993c57659ab12c0', href: this.logoUrl, class: "gn__logo-link", part: "logo-link" }, this.breakpoint <= bpps.logo.breakpoint ? (h("img", { src: getAssetPath('../nano-assets/ont-logo.svg'), alt: `Oxford Nanopore Technologies logo. Features a stylised representation of a nanopore,
|
495
495
|
(a tiny protein channel embedded in a membrane) through which DNA or RNA molecules are passed in for sequencing.`, class: "gn__logo gn__logo--large", width: "152", height: "36", part: "logo logo--large" })) : (h("img", { src: getAssetPath('../nano-assets/ont-wheel.svg'), alt: `Oxford Nanopore Technologies logo. A stylised representation of a nanopore,
|
496
|
-
(a tiny protein channel embedded in a membrane) through which DNA or RNA molecules are passed in for sequencing.`, class: "gn__logo gn__logo--small", width: "36", height: "36", part: "logo logo--small" })))), this.breakpoint <= bpps.mainMenu.breakpoint && (h("div", { key: '
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
|
504
|
-
|
505
|
-
|
506
|
-
|
507
|
-
|
508
|
-
|
509
|
-
|
496
|
+
(a tiny protein channel embedded in a membrane) through which DNA or RNA molecules are passed in for sequencing.`, class: "gn__logo gn__logo--small", width: "36", height: "36", part: "logo logo--small" })))), this.breakpoint <= bpps.mainMenu.breakpoint && (h("div", { key: '51d372b7aaa316b4d1ddc945bf0b3c5cdba579af', class: "gn__main-menu-links" }, bpps.mainMenu.tpl())), h("div", { key: '7af369c343889985cfda4d596576e6ad0913f34c', class: "gn__main-menu-actions" }, !this.myAccountData ||
|
497
|
+
(!!this.searchIndices.length && (h("nano-dropdown", { key: 'f122c285ba5966efe5fdb5698ab759fa89eb9282', dialogTitle: "Search Oxford Nanopore Technologies", placement: "bottom", class: "gn__search-dropdown", skidding: -30, distance: 25, open: this.searchBarShown, onNanoAfterShow: this.handleSearchOpenEvent, onNanoAfterHide: this.handleSearchCloseEvent, autoOpen: !!this.searchIndices.length }, h("nano-icon-button", { key: '8fe139d799eeb34b1ff129808338ce8d6304d262', class: "gn__search-button", slot: "trigger", iconName: "light/magnifying-glass", label: "Search" }), h("form", { key: '95d27edc95e00c96ce9751e9501429e0062bcab6', ref: (form) => (this.searchForm = form), class: "gn__search-form", part: "search-form", onSubmit: this.onSearchSubmit }, this.searchIndices.length > 1 && (h("nano-select", { key: '109461b01a0cbd6ee5c0d0120d93802f8b4a2642', part: "search-select", label: "Which site do you wish to search in?", mask: true, hideLabel: true, value: this.activeIndex?.index, onNanoChange: this.handleSearchIndexChangeEvent }, this.searchIndices.map((index) => (h("nano-option", { selected: index.name === this.searchIndex, value: index.index }, index.name || index.index))))), h("nano-input", { key: '81d5c3531557500daebe167defe8b068909ffe9f', ref: (ele) => (this.searchInput = ele), part: "search-input", label: "Search Oxford Nanopore Technologies", placeholder: "Search Oxford Nanopore...", hideLabel: true, clearable: true, showInlineError: false, onNanoChange: (e) => {
|
498
|
+
this.handleSearchTermChangeEvent(e.detail.value);
|
499
|
+
}, onNanoInput: this.handleSearchTermInputEvent, debounce: 500, value: this._searchValue }, h("nano-icon", { key: '4c3dc50a07877f4c10bbebe2b91d5cc2a6924aee', slot: "end", name: "light/magnifying-glass" }), h("nano-datalist", { key: 'ab9037d4d2c5dc5bca7cdb21ced7a50a5ea181b1', class: "gn__search-results", onNanoSelect: (e) => e.preventDefault(), dropDownConfig: { tetherTo: this.searchForm }, disableFilter: true }, this.searchLoading && (h("div", { key: '794cbd8cc6fd876e931457c93caad690be445400', slot: "no-result", class: "gn__search-loading" }, h("nano-spinner", { key: 'de620a03a8bba906542c10e46d1529f1b6a63327' }, "Searching..."))), this.noResultPartial(), !!this.autocompleteResults?.hits.length && [
|
500
|
+
this.autocompleteResults.hits.map((hit, i) => (h("nano-option", { href: hit.url, class: "gn__search-result", onClick: () => {
|
501
|
+
searchInsight.sendClick({
|
502
|
+
index: this.activeIndex.index,
|
503
|
+
eventName: 'Global nav quick search - search result clicked',
|
504
|
+
queryID: this.autocompleteResults.queryID,
|
505
|
+
objectIDs: [hit.objectID],
|
506
|
+
positions: [i + 1],
|
507
|
+
});
|
508
|
+
} }, h("span", { innerHTML: this.autocompleteSnippet(hit) })))),
|
509
|
+
h("nano-option", { key: '35962d666c2f47c4952f1a06324db3db186a21e1', class: "gn__search-viewall", onNanoSelect: this.onSearchSubmit }, "View all results"),
|
510
|
+
])))))), h("div", { key: '930f8a1adb7566478ec7e9e96b08ecdefecfd4b8', class: "gn__cart" }, h("nano-icon-button", { key: '76f447b14988391240284c66d1e6e347c8873067', iconName: "light/cart-shopping", label: "View your cart", href: this.cartUrl }), !!this.cartCount && (h("nano-badge", { key: '389552b85553b498ce5b799dc182f73933dadc59', theme: "danger", strength: "2" }, this.cartCount > 9 ? '9+' : this.cartCount))), this.breakpoint <= bpps.contact.breakpoint
|
510
511
|
? bpps.contact.tpl()
|
511
|
-
: '', this.isLoggedIn ? (h("nano-dropdown", { dialogTitle: "User menu", class: "gn__user-dropdown", distance: 10, placement: "bottom-end" }, h("button", { slot: "trigger", class: "gn__user-dropdown-trigger" }, h("nano-icon", { name: "light/user" }), h("nano-icon", { name: "light/chevron-down", class: "gn__user-dropdown-chevron" }), !!this.msgCount && (h("nano-badge", { theme: "danger", strength: "2" }, this.msgCount > 9 ? '9+' : this.msgCount))), this.loggedInPanel())) : (h("nano-cta", { secondary: true, size: "small", icon: "false", class: "gn__login-cta" }, h("a", { href: this.formatLoginLink(this.loginUrl) }, "Login"))))))), h("nano-global-search-results", { key: '
|
512
|
+
: '', this.isLoggedIn ? (h("nano-dropdown", { dialogTitle: "User menu", class: "gn__user-dropdown", distance: 10, placement: "bottom-end" }, h("button", { slot: "trigger", class: "gn__user-dropdown-trigger" }, h("nano-icon", { name: "light/user" }), h("nano-icon", { name: "light/chevron-down", class: "gn__user-dropdown-chevron" }), !!this.msgCount && (h("nano-badge", { theme: "danger", strength: "2" }, this.msgCount > 9 ? '9+' : this.msgCount))), this.loggedInPanel())) : (h("nano-cta", { secondary: true, size: "small", icon: "false", class: "gn__login-cta" }, h("a", { href: this.formatLoginLink(this.loginUrl) }, "Login"))))))), h("nano-global-search-results", { key: '38b900fdb5dbcd1d24642c8862c320c473de6dc3', part: "site-search-results" }, h("div", { key: 'b5b824f4a54aa2989ca0a359f7c7b74ae5e6d777', class: "gn__site", part: "site-wrapper" }, h("slot", { key: '02dd2c08252ba31c972fffe9c956e7ead76f61ef' }))))));
|
512
513
|
}
|
513
514
|
static get assetsDirs() { return ["assets"]; }
|
514
515
|
static get watchers() { return {
|
@@ -15,7 +15,7 @@ const GridItem = class {
|
|
15
15
|
* m-row-start-2
|
16
16
|
*/
|
17
17
|
render() {
|
18
|
-
return h("slot", { key: '
|
18
|
+
return h("slot", { key: '9a50a1034bd70b2d0c461f01acdb6b0484e492d3' });
|
19
19
|
}
|
20
20
|
};
|
21
21
|
GridItem.style = ":host { display: inline-block; }";
|
@@ -1,133 +1,9 @@
|
|
1
1
|
/*!
|
2
2
|
* Custom elements for Nanopore-Digital Web applications
|
3
3
|
*/
|
4
|
-
import {
|
5
|
-
import {
|
6
|
-
|
7
|
-
// import type { VNode, HTMLStencilElement } from "@stencil/core";
|
8
|
-
const supportsConstructibleStylesheets = (() => {
|
9
|
-
try {
|
10
|
-
return !!new CSSStyleSheet();
|
11
|
-
}
|
12
|
-
catch (_e) {
|
13
|
-
return false;
|
14
|
-
}
|
15
|
-
})();
|
16
|
-
const cacheKeys = new WeakMap();
|
17
|
-
/**
|
18
|
-
* Dynamically create a constructible stylesheet which is applied to the component.
|
19
|
-
* The stylesheet is then cached for future instances of the component.
|
20
|
-
* @usage
|
21
|
-
As a string:
|
22
|
-
```
|
23
|
-
@ConstructableStyle() style = `.bg { background: url('assets/${ this.mode }/bg.png'); }`;
|
24
|
-
```
|
25
|
-
As a function:
|
26
|
-
```
|
27
|
-
@ConstructableStyle() style = () => `.bg { background: url('assets/${ this.mode }/bg.png'); }`;
|
28
|
-
```
|
29
|
-
* @param opts - optional `cacheKeyProperty` - in case an instance of a component could produce different styles based on variables.
|
30
|
-
* @returns `@ConstructableStyle` decorator
|
31
|
-
*/
|
32
|
-
function ConstructibleStyle(opts = {}) {
|
33
|
-
return (target, propertyKey) => {
|
34
|
-
if (!opts.cacheKeyProperty) {
|
35
|
-
opts.cacheKeyProperty = propertyKey;
|
36
|
-
}
|
37
|
-
const { componentWillLoad, render, componentWillRender } = target;
|
38
|
-
if (!componentWillLoad)
|
39
|
-
console.warn(`ConstructibleStyle requires you to have a \`componentWillLoad\` lifecycle method in \`${target.constructor.name}\`. Failure to add this function may cause ConstructibleStyle to fail due to StencilJS build optimizations.`);
|
40
|
-
if (supportsConstructibleStylesheets && true) {
|
41
|
-
const addStylesheet = (instance) => {
|
42
|
-
if (!instance[opts.cacheKeyProperty] ||
|
43
|
-
(cacheKeys.get(instance) &&
|
44
|
-
cacheKeys.get(instance) === instance[opts.cacheKeyProperty]))
|
45
|
-
return;
|
46
|
-
cacheKeys.set(instance, instance[opts.cacheKeyProperty]);
|
47
|
-
const host = getElement(instance);
|
48
|
-
const cssText = typeof instance[propertyKey] === 'function'
|
49
|
-
? instance[propertyKey]()
|
50
|
-
: instance[propertyKey];
|
51
|
-
const root = (host.shadowRoot || document);
|
52
|
-
root.adoptedStyleSheets = [
|
53
|
-
...(root.adoptedStyleSheets || []),
|
54
|
-
getOrCreateStylesheet(instance, target, cssText, opts),
|
55
|
-
];
|
56
|
-
};
|
57
|
-
target.componentWillLoad = function () {
|
58
|
-
const willLoadResult = componentWillLoad && componentWillLoad.call(this);
|
59
|
-
addStylesheet(this);
|
60
|
-
return willLoadResult;
|
61
|
-
};
|
62
|
-
target.componentWillRender = function () {
|
63
|
-
const willRenderResult = componentWillRender && componentWillRender.call(this);
|
64
|
-
addStylesheet(this);
|
65
|
-
return willRenderResult;
|
66
|
-
};
|
67
|
-
}
|
68
|
-
else {
|
69
|
-
target.render = function () {
|
70
|
-
const cssText = typeof this[propertyKey] === 'function'
|
71
|
-
? this[propertyKey]()
|
72
|
-
: this[propertyKey];
|
73
|
-
let renderedNode = render.call(this);
|
74
|
-
if (isHost(renderedNode)) {
|
75
|
-
appendStyleToHost(renderedNode, target.constructor.name, cssText);
|
76
|
-
}
|
77
|
-
else {
|
78
|
-
renderedNode = h(Host, null, renderedNode);
|
79
|
-
if (!('attachShadow' in HTMLElement.prototype)) {
|
80
|
-
appendStyleToHost(renderedNode, target.constructor.name, cssText);
|
81
|
-
}
|
82
|
-
else {
|
83
|
-
if (!target.__constructableStyle) {
|
84
|
-
const style = document.createElement('style');
|
85
|
-
style.setAttribute('type', 'text/css');
|
86
|
-
style.setAttribute('constructible-style', target.constructor.name);
|
87
|
-
style.innerHTML = cssText;
|
88
|
-
target.__constructableStyle = style;
|
89
|
-
document.head.appendChild(style);
|
90
|
-
}
|
91
|
-
}
|
92
|
-
}
|
93
|
-
return renderedNode;
|
94
|
-
};
|
95
|
-
}
|
96
|
-
};
|
97
|
-
}
|
98
|
-
function appendStyleToHost(node, targetName, cssText) {
|
99
|
-
(getHostChildren(node) || []).push(h("style", { type: "text/css", "constructible-style": targetName }, cssText));
|
100
|
-
}
|
101
|
-
function getOrCreateStylesheet(instance, target, cssText, opts) {
|
102
|
-
if (!target.__constructableStyle) {
|
103
|
-
target.__constructableStyle = {};
|
104
|
-
}
|
105
|
-
const key = instance[opts.cacheKeyProperty];
|
106
|
-
if (!target.__constructableStyle[key]) {
|
107
|
-
target.__constructableStyle[key] = new CSSStyleSheet();
|
108
|
-
target.__constructableStyle[key].replace(cssText);
|
109
|
-
}
|
110
|
-
return target.__constructableStyle[key];
|
111
|
-
}
|
112
|
-
function isHost(node) {
|
113
|
-
for (const prop in node) {
|
114
|
-
if (prop in node) {
|
115
|
-
if (node[prop] === Host) {
|
116
|
-
return true;
|
117
|
-
}
|
118
|
-
}
|
119
|
-
}
|
120
|
-
return false;
|
121
|
-
}
|
122
|
-
function getHostChildren(node) {
|
123
|
-
for (const prop in node) {
|
124
|
-
if (prop in node) {
|
125
|
-
if (Array.isArray(node[prop])) {
|
126
|
-
return node[prop];
|
127
|
-
}
|
128
|
-
}
|
129
|
-
}
|
130
|
-
}
|
4
|
+
import { r as registerInstance, a as Host, c as createEvent, g as getElement } from './index-BM3Om9WE.js';
|
5
|
+
import { C as ConstructibleStyle } from './constructible-style-B2_GfhhS.js';
|
6
|
+
import { h } from './renderer-BaP2L8CT.js';
|
131
7
|
|
132
8
|
const gridCss = ":host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host{--grid-col-gap:var(--nano-spacing-md);--grid-row-gap:var(--nano-spacing-md);--grid-align-items:start;--grid-justify-items:normal;--current-grid-size:\"grid size: s\";container-type:inline-size;display:block}:host .grid{display:grid;gap:var(--grid-row-gap) var(--grid-col-gap);block-size:inherit;min-block-size:inherit;place-items:var(--grid-align-items) var(--grid-justify-items)}:host([show-helper]:not([show-helper=false])){position:relative}:host([show-helper]:not([show-helper=false])) .grid--helper{position:absolute;inset:0;pointer-events:none;display:grid !important;overflow:hidden}:host([show-helper]:not([show-helper=false])) .grid--helper::before{content:var(--current-grid-size);font-size:30px;position:absolute;inline-size:100%;inset-inline-start:0;text-align:center;inset-block-start:50%;transform:translateY(-50%);color:rgba(0, 0, 0, 0.2);text-transform:uppercase;z-index:99;pointer-events:none}:host([show-helper]:not([show-helper=false])) .grid__helper-item{background:hsla(204, 80%, 72%, 0.25);block-size:100vh;inline-size:100%}";
|
133
9
|
|
@@ -293,7 +169,7 @@ const Grid = class {
|
|
293
169
|
this.constructSizeArray();
|
294
170
|
}
|
295
171
|
render() {
|
296
|
-
return (h
|
172
|
+
return (h(Host, { key: '56ae0bda8aedac96841dd8cf308117ef1aaa9824', class: "nano-grid" }, h("div", { key: '6fffc201e4261b8f6c458bd044b31fe12cd9045e', part: "grid", class: "grid", "cache-key": this.cacheKey }, h("slot", { key: 'a6d7473ba9a8ffd21c4df95c2028e67026ffd1a5' })), this.showHelper && (h("div", { key: '275145f83283b504171fdc973741a1398cca6317', class: "grid grid--helper", part: "helper", "cache-key": this.cacheKey }, [...Array(24)].map(() => (h("div", { class: "grid__helper-item" })))))));
|
297
173
|
}
|
298
174
|
static get watchers() { return {
|
299
175
|
"sTpl": ["constructSizeArray"],
|
@@ -454,16 +330,16 @@ const Img = class {
|
|
454
330
|
const bgStyle = this.loadSrc
|
455
331
|
? { 'background-image': `url(${this.loadSrc})` }
|
456
332
|
: {};
|
457
|
-
return (h
|
333
|
+
return (h(Host, { key: 'f8774fc9ad6e94727378337c2f405a068a7c88fb', class: "nano-img" }, h("div", { key: '15ae3c8ea944c8f0eab8616194f44fc1033e8fe2', class: "img" }, h("div", { key: 'ec3f433ded23dcb7fc57e53b0ecaba789ba492e0', class: "img__loader n-loader-skeleton" }, "Loading"), !!this.background && (h("div", { key: '8f4e8c9d595a31b477b0ae3f9e135f6b5c3f0e69', class: {
|
458
334
|
loaded: this.hasLoaded,
|
459
335
|
img__bg: true,
|
460
336
|
'no-height': this.autoHeight === 'image',
|
461
|
-
}, style: bgStyle }, h
|
337
|
+
}, style: bgStyle }, h("slot", { key: '29bab2a5c86b3dfe18db8936af77674c44d743d0' }))), h("img", { key: 'e6731b48ed137d97aa98e64dc55488d56724f672', class: {
|
462
338
|
img__image: true,
|
463
339
|
loaded: this.hasLoaded,
|
464
340
|
hide: this.background,
|
465
341
|
'no-height': this.autoHeight === 'content',
|
466
|
-
}, decoding: "async", src: this.loadSrc, loading: undefined, alt: this.alt, onLoad: this.onLoad, onError: this.loadError }), h
|
342
|
+
}, decoding: "async", src: this.loadSrc, loading: undefined, alt: this.alt, onLoad: this.onLoad, onError: this.loadError }), h("nano-resize-observe", { key: '0f1ce7d8b82adc19bfa459ff2adae708a4263c6e', class: "img__observer", onNanoResizeStateChange: this.onResize, states: this.imgStates }))));
|
467
343
|
}
|
468
344
|
static get watchers() { return {
|
469
345
|
"_src": ["_srcChanged"],
|
@@ -94,7 +94,7 @@ const Hero = class {
|
|
94
94
|
};
|
95
95
|
render() {
|
96
96
|
const rtl = this.host.dir === 'rtl' || this.host.ownerDocument.dir === 'rtl';
|
97
|
-
return (h(Host, { key: '
|
97
|
+
return (h(Host, { key: '8270c80717ac41cc4cd5bedb577b131fe01ac967', class: "nano-hero" }, h("div", { key: '8b04bda451af03b648beb5576cd0badd48364aab', class: {
|
98
98
|
hero: true,
|
99
99
|
'hero--light': this.theme === 'light',
|
100
100
|
'hero--secondary': this.hasSecondaryContent,
|
@@ -105,9 +105,9 @@ const Hero = class {
|
|
105
105
|
'hero--hasbg': this.hasBg,
|
106
106
|
'hero--backbtn': this.hasBackBtn,
|
107
107
|
'hero--sub': this.level === 'sub',
|
108
|
-
} }, h("div", { key: '
|
109
|
-
h("div", { key: '
|
110
|
-
h(this.HeroContent, { key: '
|
108
|
+
} }, h("div", { key: 'be91fa5b23ceddaf411b269eb6635b886c83174d', class: "hero__bg-wrap" }, !!this.imgSrc && (h("nano-img", { key: '961b0a21220f0305cc0f4a4af0c6cd5e99446c41', class: "hero__img", lazy: false, background: true, srcSet: this.imgSrcSet, src: this.imgSrc }, h(this.HeroContent, { key: 'b272423beee722ae9d4adc0313d2d9ca4e6e3cd4' }))), !this.imgSrc && [
|
109
|
+
h("div", { key: 'f10056208ed97f1d4a051572261c874e5dae6e96', class: "hero__bg-slot" }, h("slot", { key: '225c3a0b114b16e8edb063d6979683b343e85419', name: "background" })),
|
110
|
+
h(this.HeroContent, { key: '375442509ce1954ca651d56d49488b0da464e577' }),
|
111
111
|
]))));
|
112
112
|
}
|
113
113
|
static get watchers() { return {
|