@nanoporetech-digital/components 8.19.1 → 8.21.0

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 (26) hide show
  1. package/dist/cjs/nano-global-nav.cjs.entry.js +30 -20
  2. package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
  3. package/dist/collection/components/global-nav/global-nav.js +34 -24
  4. package/dist/collection/components/icon/pictogram/viral-vector-purification.svg +18 -0
  5. package/dist/components/nano-global-nav.js +30 -20
  6. package/dist/esm/nano-global-nav.entry.js +30 -20
  7. package/dist/nano-assets/hash.txt +1 -1
  8. package/dist/nano-assets/icon/pictogram/viral-vector-purification.svg +18 -0
  9. package/dist/nano-components/nano-global-nav.entry.js +1 -1
  10. package/dist/nano-components/pictogram/viral-vector-purification.svg +18 -0
  11. package/dist/types/components/global-nav/global-nav.d.ts +2 -2
  12. package/dist/types/components.d.ts +4 -4
  13. package/docs-json.json +14 -8
  14. package/hydrate/index.js +31 -21
  15. package/hydrate/index.mjs +31 -21
  16. package/package.json +2 -2
  17. /package/dist/types/builds/{YtJk83se → 8qhywLzS}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/generate-vue-component.d.ts +0 -0
  18. /package/dist/types/builds/{YtJk83se → 8qhywLzS}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/index.d.ts +0 -0
  19. /package/dist/types/builds/{YtJk83se → 8qhywLzS}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/output-vue.d.ts +0 -0
  20. /package/dist/types/builds/{YtJk83se → 8qhywLzS}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/plugin.d.ts +0 -0
  21. /package/dist/types/builds/{YtJk83se → 8qhywLzS}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/types.d.ts +0 -0
  22. /package/dist/types/builds/{YtJk83se → 8qhywLzS}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/utils.d.ts +0 -0
  23. /package/dist/types/builds/{YtJk83se → 8qhywLzS}/0/Digital/nano-components/packages/components/.stencil/stencil.config.d.ts +0 -0
  24. /package/dist/types/builds/{YtJk83se → 8qhywLzS}/0/Digital/nano-components/packages/components/.stencil/stencil.config.prod.d.ts +0 -0
  25. /package/dist/types/builds/{YtJk83se → 8qhywLzS}/0/Digital/nano-components/packages/components/.stencil/testing/mocks/intersection-observer.d.ts +0 -0
  26. /package/dist/types/builds/{YtJk83se → 8qhywLzS}/0/Digital/nano-components/packages/components/.stencil/wdio.conf.d.ts +0 -0
@@ -89,15 +89,22 @@ const GlobalNav = class {
89
89
  return this.myAccountData?.user?.uuid ? this.myAccountData.user : null;
90
90
  }
91
91
  processUserData() {
92
- if (!this.myAccountUser)
92
+ if (!this.myAccountUser) {
93
+ this.isLoggedIn = false;
94
+ this.userLinks = [];
95
+ this.msgUrl = '';
96
+ this.msgCount = 0;
97
+ this.nanoUserData.emit(null);
93
98
  return;
94
- this.userLinks = this.myAccountData?.links.filter((link) => link.area === 'profile-panel-list');
95
- this.loginUrl = this.loginUrl || this.myAccountData.urls.login;
96
- this.logoutUrl = this.logoutUrl || this.myAccountData.urls.logout;
97
- this.msgUrl = this.msgUrl || this.myAccountData.urls.messages;
98
- this.msgCount = this.msgCount || this.myAccountData.notifications.count;
99
- this.cartUrl = this.cartUrl || this.myAccountData.urls.cart;
100
- this.cartCount = this.cartCount || this.myAccountData.cart.count;
99
+ }
100
+ this.userLinks =
101
+ this.myAccountData?.links?.filter((link) => link.area === 'profile-panel-list') || [];
102
+ this.loginUrl = this.loginUrl || this.myAccountData.urls?.login;
103
+ this.logoutUrl = this.logoutUrl || this.myAccountData.urls?.logout;
104
+ this.msgUrl = this.msgUrl || this.myAccountData.urls?.messages;
105
+ this.msgCount = this.msgCount || this.myAccountData.notifications?.count;
106
+ this.cartUrl = this.cartUrl || this.myAccountData.urls?.cart;
107
+ this.cartCount = this.cartCount || this.myAccountData.cart?.count;
101
108
  this.isLoggedIn = true;
102
109
  this.nanoUserData.emit(this.myAccountUser);
103
110
  }
@@ -446,11 +453,11 @@ const GlobalNav = class {
446
453
  '')), renderer.h("div", { class: "gn__user-panel-body" }, this.userLinks.map((link) => (renderer.h("a", { href: link.address, target: link.target || undefined }, link.title, (link.title === 'Messages' ||
447
454
  link.address.includes(this.msgUrl) ||
448
455
  this.msgUrl.includes(link.address)) &&
449
- this.msgCount > 0 && (renderer.h("nano-badge", { theme: "danger", strength: "2" }, this.msgCount)))))), renderer.h("div", { class: "gn__user-panel-foot" }, renderer.h("nano-cta", { secondary: true, size: "small", icon: "false", class: "gn__login-cta" }, renderer.h("a", { href: this.formatLoginLink(this.logoutUrl) }, "Logout")))));
456
+ this.msgCount > 0 && (renderer.h("nano-badge", { theme: "danger", strength: "2" }, this.msgCount)))))), renderer.h("div", { class: "gn__user-panel-foot" }, renderer.h("nano-cta", { secondary: true, size: "small", icon: "false", class: "gn__login-cta" }, typeof this.logoutUrl === 'string' ? (renderer.h("a", { href: this.formatLoginLink(this.logoutUrl) }, "Logout")) : (renderer.h("button", { onClick: this.logoutUrl }, "Logout"))))));
450
457
  }
451
458
  bpPartials = {
452
459
  contact: {
453
- tpl: () => renderer.h("a", { href: this.contactUrl }, "Contact"),
460
+ tpl: () => this.contactUrl && renderer.h("a", { href: this.contactUrl }, "Contact"),
454
461
  breakpoint: 0,
455
462
  },
456
463
  mainMenu: {
@@ -488,21 +495,21 @@ const GlobalNav = class {
488
495
  }
489
496
  render() {
490
497
  const bpps = this.bpPartials;
491
- return (renderer.h(index.Host, { key: '63e6202a06bc4bc7a6a63f88d1923c3321a2b47c', class: {
498
+ return (renderer.h(index.Host, { key: '6f3ecd6fac6825f4b137592e1becb86046278542', class: {
492
499
  'overflow-menu': this.breakpoint > bpps.mainMenu.breakpoint,
493
500
  'bar-menu': this.breakpoint <= bpps.mainMenu.breakpoint,
494
501
  'nano-global-nav': true,
495
- } }, renderer.h("div", { key: '7fe0cb9446b86233ed7727fdc9aade6b94cb72eb', class: {
502
+ } }, renderer.h("div", { key: '8ecbd0ecc9ac93f1a1dd5defa8f119874f623daf', class: {
496
503
  gn: true,
497
504
  'gn__search-open': this.searchBarShown,
498
- } }, renderer.h("nano-drawer", { key: 'ef476cfee137ebbee63c2f7a99935d4aafd2f7e4', 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) }, renderer.h("div", { key: 'c4cbe27955caffeb4f4a7dc755b6b08bf40a7f48', class: "gn__drawer-header", part: "overflow-header", slot: "label" }, "Main menu"), renderer.h("nav", { key: '26ec816c93427ce9f9cc4025e327b5e6cf9ba3e2', class: "gn__drawer-menu", part: "overflow-menu" }, this.breakpoint > bpps.mainMenu.breakpoint
505
+ } }, renderer.h("nano-drawer", { key: '728b760496d041fc5f1d78905081e7fe59b7047c', 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) }, renderer.h("div", { key: 'd1b99ae15e00511594abf476a06f8374d4fad508', class: "gn__drawer-header", part: "overflow-header", slot: "label" }, "Main menu"), renderer.h("nav", { key: '97debdda75a0d7d9f2a6e23306fa93bd2d73de06', class: "gn__drawer-menu", part: "overflow-menu" }, this.breakpoint > bpps.mainMenu.breakpoint
499
506
  ? bpps.mainMenu.tpl()
500
- : '', renderer.h("slot", { key: '0693a9f4afdf63e63151b3f3fd4d3a0bbedde4ef', name: "overflow" }))), renderer.h("div", { key: 'd9ff383fb0f91876a533e8eb98bc47817b044729', class: "gn__menu-bar-wrapper" }, renderer.h("div", { key: '4536fd7593626672f20191b197a55b3d7b10b633', class: "gn__menu-bar", part: "menu-bar", ref: (el) => (this.mainMenuBar = el) }, renderer.h("nav", { key: 'ad22eb106a5d9c0ffd8eac8e5e995833f8adcd7e', "aria-label": "Global navigation", class: `gn__main-menu ${this.shouldResize ? 'resizing' : ''}`, part: "main-menu", ref: (el) => (this.mainMenu = el) }, this.breakpoint > bpps.mainMenu.breakpoint && (renderer.h("nano-icon-button", { key: 'c399d0e0c2a909a94a0b93ad00ebc5cb34e8c224', class: "gn__overflow-button", iconName: "light/bars", label: "Open Menu", onClick: () => this.overflowMenu.show() })), renderer.h("slot", { key: 'ee03de047e3937687e722a88e34356ffc151a9e9', name: "logo" }, renderer.h("a", { key: 'a39aad67426cdc5ce75fa334a303229bfab9e58c', href: this.logoUrl, class: "gn__logo-link", part: "logo-link" }, this.breakpoint <= bpps.logo.breakpoint ? (renderer.h("img", { src: index.getAssetPath('../nano-assets/ont-logo.svg'), alt: `Oxford Nanopore Technologies logo. Features a stylised representation of a nanopore,
507
+ : '', renderer.h("slot", { key: 'd500a55cb220088df7af00b356f902a3d80fb47d', name: "overflow" }))), renderer.h("div", { key: 'c1454d4666561a77a850d9328d13795d5f989d89', class: "gn__menu-bar-wrapper" }, renderer.h("div", { key: 'f32f9a8302ad3501ae3d9e8afdf2ed7d59297335', class: "gn__menu-bar", part: "menu-bar", ref: (el) => (this.mainMenuBar = el) }, renderer.h("nav", { key: '8605e4bf473e4b34e3890ddaf69c555abc397716', "aria-label": "Global navigation", class: `gn__main-menu ${this.shouldResize ? 'resizing' : ''}`, part: "main-menu", ref: (el) => (this.mainMenu = el) }, this.breakpoint > bpps.mainMenu.breakpoint && (renderer.h("nano-icon-button", { key: '04aaa626447c7377fadcd8d374fa9120ef5fea62', class: "gn__overflow-button", iconName: "light/bars", label: "Open Menu", onClick: () => this.overflowMenu.show() })), renderer.h("slot", { key: '3f858438db16a112c2dee67ee8b865afba9180fe', name: "logo" }, renderer.h("a", { key: 'ddc758422fb964b2644e825c98ec0aec832895db', href: this.logoUrl, class: "gn__logo-link", part: "logo-link" }, this.breakpoint <= bpps.logo.breakpoint ? (renderer.h("img", { src: index.getAssetPath('../nano-assets/ont-logo.svg'), alt: `Oxford Nanopore Technologies logo. Features a stylised representation of a nanopore,
501
508
  (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" })) : (renderer.h("img", { src: index.getAssetPath('../nano-assets/ont-wheel.svg'), alt: `Oxford Nanopore Technologies logo. A stylised representation of a nanopore,
502
- (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 && (renderer.h("div", { key: '46a926ede075e0bfde746fa174c0700a48bc308e', class: "gn__main-menu-links" }, bpps.mainMenu.tpl())), renderer.h("div", { key: 'e473ba724a01a0f596f6494b7bb452eef0c4ba53', class: "gn__main-menu-actions" }, !this.myAccountData ||
503
- (!!this.searchIndices.length && (renderer.h("nano-dropdown", { key: '90fa8c9cc0566374afce5f8c722aa98176372d7d', 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 }, renderer.h("nano-icon-button", { key: '73c7c855dd6baf3259429d55c9bf3d58c2e8ec03', class: "gn__search-button", slot: "trigger", iconName: "light/magnifying-glass", label: "Search" }), renderer.h("form", { key: 'f265a2ba3269f22c2efcbe73c7ffe4328fe9d0e8', ref: (form) => (this.searchForm = form), class: "gn__search-form", part: "search-form", onSubmit: this.onSearchSubmit }, this.searchIndices.length > 1 && (renderer.h("nano-select", { key: '498ea9e7b0dd5bb10dd92b2df0fccc76295b1042', 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) => (renderer.h("nano-option", { selected: index.name === this.searchIndex, value: index.index }, index.name || index.index))))), renderer.h("nano-input", { key: '78baa1860b433e8ee36cd6f2d34d026a7c1e8b21', 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) => {
509
+ (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 && (renderer.h("div", { key: 'c48d4d74b18f876cffee723a8da0bd4d82300b7b', class: "gn__main-menu-links" }, bpps.mainMenu.tpl())), renderer.h("div", { key: 'e433743c122dc9e4427de3f0fdd7067bcd52f558', class: "gn__main-menu-actions" }, !this.myAccountData ||
510
+ (!!this.searchIndices.length && (renderer.h("nano-dropdown", { key: 'e6c5655701e5a91409f5fad4f45efd868cbd1a50', 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 }, renderer.h("nano-icon-button", { key: '8de3fb7f465103bda3063e96876345701d942a01', class: "gn__search-button", slot: "trigger", iconName: "light/magnifying-glass", label: "Search" }), renderer.h("form", { key: '18fca7445c9471089e013cea8d83aa749e655aab', ref: (form) => (this.searchForm = form), class: "gn__search-form", part: "search-form", onSubmit: this.onSearchSubmit }, this.searchIndices.length > 1 && (renderer.h("nano-select", { key: '7b37f759f2a24d8686d46a3ebbcb3afaa54cbbee', 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) => (renderer.h("nano-option", { selected: index.name === this.searchIndex, value: index.index }, index.name || index.index))))), renderer.h("nano-input", { key: '93838bee803808b06f56c14886975cd3fc8ab827', 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) => {
504
511
  this.handleSearchTermChangeEvent(e.detail.value);
505
- }, onNanoInput: this.handleSearchTermInputEvent, debounce: 500, value: this._searchValue }, renderer.h("nano-icon", { key: 'f3b612bba31b0b1a930b170711080bce93324322', slot: "end", name: "light/magnifying-glass" }), renderer.h("nano-datalist", { key: 'a264479248b83b20cb42155e09c3033356a221b4', class: "gn__search-results", onNanoSelect: (e) => e.preventDefault(), dropDownConfig: { tetherTo: this.searchForm }, disableFilter: true }, this.searchLoading && (renderer.h("div", { key: '21d365a6554c31144d57900ec8cf50e6caa105b2', slot: "no-result", class: "gn__search-loading" }, renderer.h("nano-spinner", { key: 'b4f28c952fcfe765dea3ab7e4c0691e10de1317e' }, "Searching..."))), this.noResultPartial(), !!this.autocompleteResults?.hits.length && [
512
+ }, onNanoInput: this.handleSearchTermInputEvent, debounce: 500, value: this._searchValue }, renderer.h("nano-icon", { key: 'd39203dd3727a34b60c5c71fc6b9a14c23ef2465', slot: "end", name: "light/magnifying-glass" }), renderer.h("nano-datalist", { key: '9826082e21b53f54254c8f2490b3b42c215edacb', class: "gn__search-results", onNanoSelect: (e) => e.preventDefault(), dropDownConfig: { tetherTo: this.searchForm }, disableFilter: true }, this.searchLoading && (renderer.h("div", { key: '65f17640b43bce0f44e59f092b7c8ef562f02e19', slot: "no-result", class: "gn__search-loading" }, renderer.h("nano-spinner", { key: 'f0162dd8c60aae95e35d9e02770a9398bede0828' }, "Searching..."))), this.noResultPartial(), !!this.autocompleteResults?.hits.length && [
506
513
  this.autocompleteResults.hits.map((hit, i) => (renderer.h("nano-option", { href: hit.url, class: "gn__search-result", onClick: () => {
507
514
  searchInsights.searchInsight.sendClick({
508
515
  index: this.activeIndex.index,
@@ -512,10 +519,13 @@ const GlobalNav = class {
512
519
  positions: [i + 1],
513
520
  });
514
521
  } }, renderer.h("span", { innerHTML: this.autocompleteSnippet(hit) })))),
515
- renderer.h("nano-option", { key: 'b2a1dc7ff83c80599377850136d6233fa64cee3c', class: "gn__search-viewall", onNanoSelect: this.onSearchSubmit }, "View all results"),
516
- ])))))), renderer.h("div", { key: '38bc65edb00ef4876340fdfc1f308a6805a1e1ec', class: "gn__cart" }, renderer.h("nano-icon-button", { key: 'b590faedc935181b9230c82509360ddc2a19f1cf', iconName: "light/cart-shopping", label: "View your cart", href: this.cartUrl }), !!this.cartCount && (renderer.h("nano-badge", { key: 'c7f45eea27607c6d4380ccdf3a7f2cacfd26bc80', theme: "danger", strength: "2" }, this.cartCount > 9 ? '9+' : this.cartCount))), this.breakpoint <= bpps.contact.breakpoint
522
+ renderer.h("nano-option", { key: 'ddf176669705bb04a45575ee1bf8897d46ae9704', class: "gn__search-viewall", onNanoSelect: this.onSearchSubmit }, "View all results"),
523
+ ])))))), renderer.h("div", { key: 'f84317012affbf6aa952810f627ca318f042dd0b', class: "gn__cart" }, this.cartUrl && [
524
+ renderer.h("nano-icon-button", { key: 'c656b17e3ee2462900fc855c8128b2e92e3ad4cb', iconName: "light/cart-shopping", label: "View your cart", href: this.cartUrl }),
525
+ this.cartCount && (renderer.h("nano-badge", { key: '878066adbf28890694e65f651031e35912b30f06', theme: "danger", strength: "2" }, this.cartCount > 9 ? '9+' : this.cartCount)),
526
+ ]), this.breakpoint <= bpps.contact.breakpoint
517
527
  ? bpps.contact.tpl()
518
- : '', this.isLoggedIn ? (renderer.h("nano-dropdown", { dialogTitle: "User menu", class: "gn__user-dropdown", distance: 10, placement: "bottom-end" }, renderer.h("button", { slot: "trigger", class: "gn__user-dropdown-trigger" }, renderer.h("nano-icon", { name: "light/user" }), renderer.h("nano-icon", { name: "light/chevron-down", class: "gn__user-dropdown-chevron" }), !!this.msgCount && (renderer.h("nano-badge", { theme: "danger", strength: "2" }, this.msgCount > 9 ? '9+' : this.msgCount))), this.loggedInPanel())) : (renderer.h("nano-cta", { secondary: true, size: "small", icon: "false", class: "gn__login-cta" }, renderer.h("a", { href: this.formatLoginLink(this.loginUrl) }, "Login"))))))), renderer.h("nano-global-search-results", { key: '6443d9f0199f87ba5ca73b62b6c3c9e5700731b4', part: "site-search-results" }, renderer.h("div", { key: 'db0ce2d9157f7144b0c50d0833386ed4eeabdd02', class: "gn__site", part: "site-wrapper" }, renderer.h("slot", { key: 'a9ac7197c149153532f16f8f0f428b5e46d11b72' }))))));
528
+ : '', this.isLoggedIn ? (renderer.h("nano-dropdown", { dialogTitle: "User menu", class: "gn__user-dropdown", distance: 10, placement: "bottom-end" }, renderer.h("button", { slot: "trigger", class: "gn__user-dropdown-trigger" }, renderer.h("nano-icon", { name: "light/user" }), renderer.h("nano-icon", { name: "light/chevron-down", class: "gn__user-dropdown-chevron" }), !!this.msgCount && (renderer.h("nano-badge", { theme: "danger", strength: "2" }, this.msgCount > 9 ? '9+' : this.msgCount))), this.loggedInPanel())) : (renderer.h("nano-cta", { secondary: true, size: "small", icon: "false", class: "gn__login-cta" }, typeof this.loginUrl === 'string' ? (renderer.h("a", { href: this.formatLoginLink(this.loginUrl) }, "Login")) : (renderer.h("button", { onClick: this.loginUrl }, "Login")))))))), renderer.h("nano-global-search-results", { key: 'afb40b7671b51b72cc58ce006b6ed163fb1d1e78', part: "site-search-results" }, renderer.h("div", { key: '660f6ad6fb20ca8c88118b44bdb2b44b3a06f19b', class: "gn__site", part: "site-wrapper" }, renderer.h("slot", { key: 'fcd45d11fb7fcdcf986940f8a4bda1287635856a' }))))));
519
529
  }
520
530
  static get assetsDirs() { return ["assets"]; }
521
531
  static get watchers() { return {
@@ -89,7 +89,7 @@ export class NanoBreadcrumb {
89
89
  "references": {
90
90
  "Breadcrumb": {
91
91
  "location": "local",
92
- "path": "/builds/YtJk83se/0/Digital/nano-components/packages/components/src/components/breadcrumb/breadcrumb.tsx",
92
+ "path": "/builds/8qhywLzS/0/Digital/nano-components/packages/components/src/components/breadcrumb/breadcrumb.tsx",
93
93
  "id": "src/components/breadcrumb/breadcrumb.tsx::Breadcrumb"
94
94
  }
95
95
  }
@@ -109,15 +109,22 @@ export class GlobalNav {
109
109
  return this.myAccountData?.user?.uuid ? this.myAccountData.user : null;
110
110
  }
111
111
  processUserData() {
112
- if (!this.myAccountUser)
112
+ if (!this.myAccountUser) {
113
+ this.isLoggedIn = false;
114
+ this.userLinks = [];
115
+ this.msgUrl = '';
116
+ this.msgCount = 0;
117
+ this.nanoUserData.emit(null);
113
118
  return;
114
- this.userLinks = this.myAccountData?.links.filter((link) => link.area === 'profile-panel-list');
115
- this.loginUrl = this.loginUrl || this.myAccountData.urls.login;
116
- this.logoutUrl = this.logoutUrl || this.myAccountData.urls.logout;
117
- this.msgUrl = this.msgUrl || this.myAccountData.urls.messages;
118
- this.msgCount = this.msgCount || this.myAccountData.notifications.count;
119
- this.cartUrl = this.cartUrl || this.myAccountData.urls.cart;
120
- this.cartCount = this.cartCount || this.myAccountData.cart.count;
119
+ }
120
+ this.userLinks =
121
+ this.myAccountData?.links?.filter((link) => link.area === 'profile-panel-list') || [];
122
+ this.loginUrl = this.loginUrl || this.myAccountData.urls?.login;
123
+ this.logoutUrl = this.logoutUrl || this.myAccountData.urls?.logout;
124
+ this.msgUrl = this.msgUrl || this.myAccountData.urls?.messages;
125
+ this.msgCount = this.msgCount || this.myAccountData.notifications?.count;
126
+ this.cartUrl = this.cartUrl || this.myAccountData.urls?.cart;
127
+ this.cartCount = this.cartCount || this.myAccountData.cart?.count;
121
128
  this.isLoggedIn = true;
122
129
  this.nanoUserData.emit(this.myAccountUser);
123
130
  }
@@ -462,11 +469,11 @@ export class GlobalNav {
462
469
  '')), h("div", { class: "gn__user-panel-body" }, this.userLinks.map((link) => (h("a", { href: link.address, target: link.target || undefined }, link.title, (link.title === 'Messages' ||
463
470
  link.address.includes(this.msgUrl) ||
464
471
  this.msgUrl.includes(link.address)) &&
465
- this.msgCount > 0 && (h("nano-badge", { theme: "danger", strength: "2" }, this.msgCount)))))), h("div", { class: "gn__user-panel-foot" }, h("nano-cta", { secondary: true, size: "small", icon: "false", class: "gn__login-cta" }, h("a", { href: this.formatLoginLink(this.logoutUrl) }, "Logout")))));
472
+ this.msgCount > 0 && (h("nano-badge", { theme: "danger", strength: "2" }, this.msgCount)))))), h("div", { class: "gn__user-panel-foot" }, h("nano-cta", { secondary: true, size: "small", icon: "false", class: "gn__login-cta" }, typeof this.logoutUrl === 'string' ? (h("a", { href: this.formatLoginLink(this.logoutUrl) }, "Logout")) : (h("button", { onClick: this.logoutUrl }, "Logout"))))));
466
473
  }
467
474
  bpPartials = {
468
475
  contact: {
469
- tpl: () => h("a", { href: this.contactUrl }, "Contact"),
476
+ tpl: () => this.contactUrl && h("a", { href: this.contactUrl }, "Contact"),
470
477
  breakpoint: 0,
471
478
  },
472
479
  mainMenu: {
@@ -504,21 +511,21 @@ export class GlobalNav {
504
511
  }
505
512
  render() {
506
513
  const bpps = this.bpPartials;
507
- return (h(Host, { key: '63e6202a06bc4bc7a6a63f88d1923c3321a2b47c', class: {
514
+ return (h(Host, { key: '6f3ecd6fac6825f4b137592e1becb86046278542', class: {
508
515
  'overflow-menu': this.breakpoint > bpps.mainMenu.breakpoint,
509
516
  'bar-menu': this.breakpoint <= bpps.mainMenu.breakpoint,
510
517
  'nano-global-nav': true,
511
- } }, h("div", { key: '7fe0cb9446b86233ed7727fdc9aade6b94cb72eb', class: {
518
+ } }, h("div", { key: '8ecbd0ecc9ac93f1a1dd5defa8f119874f623daf', class: {
512
519
  gn: true,
513
520
  'gn__search-open': this.searchBarShown,
514
- } }, h("nano-drawer", { key: 'ef476cfee137ebbee63c2f7a99935d4aafd2f7e4', 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: 'c4cbe27955caffeb4f4a7dc755b6b08bf40a7f48', class: "gn__drawer-header", part: "overflow-header", slot: "label" }, "Main menu"), h("nav", { key: '26ec816c93427ce9f9cc4025e327b5e6cf9ba3e2', class: "gn__drawer-menu", part: "overflow-menu" }, this.breakpoint > bpps.mainMenu.breakpoint
521
+ } }, h("nano-drawer", { key: '728b760496d041fc5f1d78905081e7fe59b7047c', 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: 'd1b99ae15e00511594abf476a06f8374d4fad508', class: "gn__drawer-header", part: "overflow-header", slot: "label" }, "Main menu"), h("nav", { key: '97debdda75a0d7d9f2a6e23306fa93bd2d73de06', class: "gn__drawer-menu", part: "overflow-menu" }, this.breakpoint > bpps.mainMenu.breakpoint
515
522
  ? bpps.mainMenu.tpl()
516
- : '', h("slot", { key: '0693a9f4afdf63e63151b3f3fd4d3a0bbedde4ef', name: "overflow" }))), h("div", { key: 'd9ff383fb0f91876a533e8eb98bc47817b044729', class: "gn__menu-bar-wrapper" }, h("div", { key: '4536fd7593626672f20191b197a55b3d7b10b633', class: "gn__menu-bar", part: "menu-bar", ref: (el) => (this.mainMenuBar = el) }, h("nav", { key: 'ad22eb106a5d9c0ffd8eac8e5e995833f8adcd7e', "aria-label": "Global navigation", 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: 'c399d0e0c2a909a94a0b93ad00ebc5cb34e8c224', class: "gn__overflow-button", iconName: "light/bars", label: "Open Menu", onClick: () => this.overflowMenu.show() })), h("slot", { key: 'ee03de047e3937687e722a88e34356ffc151a9e9', name: "logo" }, h("a", { key: 'a39aad67426cdc5ce75fa334a303229bfab9e58c', 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,
523
+ : '', h("slot", { key: 'd500a55cb220088df7af00b356f902a3d80fb47d', name: "overflow" }))), h("div", { key: 'c1454d4666561a77a850d9328d13795d5f989d89', class: "gn__menu-bar-wrapper" }, h("div", { key: 'f32f9a8302ad3501ae3d9e8afdf2ed7d59297335', class: "gn__menu-bar", part: "menu-bar", ref: (el) => (this.mainMenuBar = el) }, h("nav", { key: '8605e4bf473e4b34e3890ddaf69c555abc397716', "aria-label": "Global navigation", 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: '04aaa626447c7377fadcd8d374fa9120ef5fea62', class: "gn__overflow-button", iconName: "light/bars", label: "Open Menu", onClick: () => this.overflowMenu.show() })), h("slot", { key: '3f858438db16a112c2dee67ee8b865afba9180fe', name: "logo" }, h("a", { key: 'ddc758422fb964b2644e825c98ec0aec832895db', 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,
517
524
  (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,
518
- (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: '46a926ede075e0bfde746fa174c0700a48bc308e', class: "gn__main-menu-links" }, bpps.mainMenu.tpl())), h("div", { key: 'e473ba724a01a0f596f6494b7bb452eef0c4ba53', class: "gn__main-menu-actions" }, !this.myAccountData ||
519
- (!!this.searchIndices.length && (h("nano-dropdown", { key: '90fa8c9cc0566374afce5f8c722aa98176372d7d', 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: '73c7c855dd6baf3259429d55c9bf3d58c2e8ec03', class: "gn__search-button", slot: "trigger", iconName: "light/magnifying-glass", label: "Search" }), h("form", { key: 'f265a2ba3269f22c2efcbe73c7ffe4328fe9d0e8', ref: (form) => (this.searchForm = form), class: "gn__search-form", part: "search-form", onSubmit: this.onSearchSubmit }, this.searchIndices.length > 1 && (h("nano-select", { key: '498ea9e7b0dd5bb10dd92b2df0fccc76295b1042', 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: '78baa1860b433e8ee36cd6f2d34d026a7c1e8b21', 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) => {
525
+ (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: 'c48d4d74b18f876cffee723a8da0bd4d82300b7b', class: "gn__main-menu-links" }, bpps.mainMenu.tpl())), h("div", { key: 'e433743c122dc9e4427de3f0fdd7067bcd52f558', class: "gn__main-menu-actions" }, !this.myAccountData ||
526
+ (!!this.searchIndices.length && (h("nano-dropdown", { key: 'e6c5655701e5a91409f5fad4f45efd868cbd1a50', 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: '8de3fb7f465103bda3063e96876345701d942a01', class: "gn__search-button", slot: "trigger", iconName: "light/magnifying-glass", label: "Search" }), h("form", { key: '18fca7445c9471089e013cea8d83aa749e655aab', ref: (form) => (this.searchForm = form), class: "gn__search-form", part: "search-form", onSubmit: this.onSearchSubmit }, this.searchIndices.length > 1 && (h("nano-select", { key: '7b37f759f2a24d8686d46a3ebbcb3afaa54cbbee', 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: '93838bee803808b06f56c14886975cd3fc8ab827', 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) => {
520
527
  this.handleSearchTermChangeEvent(e.detail.value);
521
- }, onNanoInput: this.handleSearchTermInputEvent, debounce: 500, value: this._searchValue }, h("nano-icon", { key: 'f3b612bba31b0b1a930b170711080bce93324322', slot: "end", name: "light/magnifying-glass" }), h("nano-datalist", { key: 'a264479248b83b20cb42155e09c3033356a221b4', class: "gn__search-results", onNanoSelect: (e) => e.preventDefault(), dropDownConfig: { tetherTo: this.searchForm }, disableFilter: true }, this.searchLoading && (h("div", { key: '21d365a6554c31144d57900ec8cf50e6caa105b2', slot: "no-result", class: "gn__search-loading" }, h("nano-spinner", { key: 'b4f28c952fcfe765dea3ab7e4c0691e10de1317e' }, "Searching..."))), this.noResultPartial(), !!this.autocompleteResults?.hits.length && [
528
+ }, onNanoInput: this.handleSearchTermInputEvent, debounce: 500, value: this._searchValue }, h("nano-icon", { key: 'd39203dd3727a34b60c5c71fc6b9a14c23ef2465', slot: "end", name: "light/magnifying-glass" }), h("nano-datalist", { key: '9826082e21b53f54254c8f2490b3b42c215edacb', class: "gn__search-results", onNanoSelect: (e) => e.preventDefault(), dropDownConfig: { tetherTo: this.searchForm }, disableFilter: true }, this.searchLoading && (h("div", { key: '65f17640b43bce0f44e59f092b7c8ef562f02e19', slot: "no-result", class: "gn__search-loading" }, h("nano-spinner", { key: 'f0162dd8c60aae95e35d9e02770a9398bede0828' }, "Searching..."))), this.noResultPartial(), !!this.autocompleteResults?.hits.length && [
522
529
  this.autocompleteResults.hits.map((hit, i) => (h("nano-option", { href: hit.url, class: "gn__search-result", onClick: () => {
523
530
  searchInsight.sendClick({
524
531
  index: this.activeIndex.index,
@@ -528,10 +535,13 @@ export class GlobalNav {
528
535
  positions: [i + 1],
529
536
  });
530
537
  } }, h("span", { innerHTML: this.autocompleteSnippet(hit) })))),
531
- h("nano-option", { key: 'b2a1dc7ff83c80599377850136d6233fa64cee3c', class: "gn__search-viewall", onNanoSelect: this.onSearchSubmit }, "View all results"),
532
- ])))))), h("div", { key: '38bc65edb00ef4876340fdfc1f308a6805a1e1ec', class: "gn__cart" }, h("nano-icon-button", { key: 'b590faedc935181b9230c82509360ddc2a19f1cf', iconName: "light/cart-shopping", label: "View your cart", href: this.cartUrl }), !!this.cartCount && (h("nano-badge", { key: 'c7f45eea27607c6d4380ccdf3a7f2cacfd26bc80', theme: "danger", strength: "2" }, this.cartCount > 9 ? '9+' : this.cartCount))), this.breakpoint <= bpps.contact.breakpoint
538
+ h("nano-option", { key: 'ddf176669705bb04a45575ee1bf8897d46ae9704', class: "gn__search-viewall", onNanoSelect: this.onSearchSubmit }, "View all results"),
539
+ ])))))), h("div", { key: 'f84317012affbf6aa952810f627ca318f042dd0b', class: "gn__cart" }, this.cartUrl && [
540
+ h("nano-icon-button", { key: 'c656b17e3ee2462900fc855c8128b2e92e3ad4cb', iconName: "light/cart-shopping", label: "View your cart", href: this.cartUrl }),
541
+ this.cartCount && (h("nano-badge", { key: '878066adbf28890694e65f651031e35912b30f06', theme: "danger", strength: "2" }, this.cartCount > 9 ? '9+' : this.cartCount)),
542
+ ]), this.breakpoint <= bpps.contact.breakpoint
533
543
  ? bpps.contact.tpl()
534
- : '', 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: '6443d9f0199f87ba5ca73b62b6c3c9e5700731b4', part: "site-search-results" }, h("div", { key: 'db0ce2d9157f7144b0c50d0833386ed4eeabdd02', class: "gn__site", part: "site-wrapper" }, h("slot", { key: 'a9ac7197c149153532f16f8f0f428b5e46d11b72' }))))));
544
+ : '', 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" }, typeof this.loginUrl === 'string' ? (h("a", { href: this.formatLoginLink(this.loginUrl) }, "Login")) : (h("button", { onClick: this.loginUrl }, "Login")))))))), h("nano-global-search-results", { key: 'afb40b7671b51b72cc58ce006b6ed163fb1d1e78', part: "site-search-results" }, h("div", { key: '660f6ad6fb20ca8c88118b44bdb2b44b3a06f19b', class: "gn__site", part: "site-wrapper" }, h("slot", { key: 'fcd45d11fb7fcdcf986940f8a4bda1287635856a' }))))));
535
545
  }
536
546
  static get is() { return "nano-global-nav"; }
537
547
  static get encapsulation() { return "shadow"; }
@@ -613,8 +623,8 @@ export class GlobalNav {
613
623
  "attribute": "login-url",
614
624
  "mutable": true,
615
625
  "complexType": {
616
- "original": "string",
617
- "resolved": "string",
626
+ "original": "string | (() => void)",
627
+ "resolved": "(() => void) | string",
618
628
  "references": {}
619
629
  },
620
630
  "required": false,
@@ -633,8 +643,8 @@ export class GlobalNav {
633
643
  "attribute": "logout-url",
634
644
  "mutable": true,
635
645
  "complexType": {
636
- "original": "string",
637
- "resolved": "string",
646
+ "original": "string | (() => void)",
647
+ "resolved": "(() => void) | string",
638
648
  "references": {}
639
649
  },
640
650
  "required": false,
@@ -0,0 +1,18 @@
1
+ <svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M61.2382 22.7907H57.2455V18.6975L55.4219 15.5919V13.4354H54.2831V15.8913L56.1068 18.9969V22.7907H50.1862V18.9969L52.0098 15.8913V13.4354H50.871V15.5919L49.0474 18.6975V22.7907H48.155V18.6975L46.3314 15.5919V13.4354H45.1926V15.8913L47.0163 18.9969V22.7907H41.0956V18.9969L42.9193 15.8913V13.4354H41.7805V15.5919L39.9568 18.6975V22.7907H36.6451V1H32.3015V22.7907H31.3184C29.7956 22.7907 28.5567 24.0085 28.5567 25.5053V59.6188C28.5567 61.1156 29.7956 62.3333 31.3184 62.3333H61.2382C62.7611 62.3333 64 61.1156 64 59.6188V25.5053C64 24.0085 62.7611 22.7907 61.2382 22.7907ZM33.4403 2.11846H35.5063V59.0478H33.4403V2.11846ZM29.6954 59.6188V25.5053C29.6954 24.6252 30.4235 23.9091 31.3184 23.9091H32.3015V60.1662H36.6451V23.9091H59.0246V61.2149H31.3184C30.4235 61.2149 29.6954 60.4989 29.6954 59.6188ZM62.8612 59.6188C62.8612 60.4989 62.1332 61.2149 61.2382 61.2149H60.1634V23.9091H61.2382C62.1332 23.9091 62.8612 24.6252 62.8612 25.5053V59.6188Z" fill="#333333"/>
3
+ <path d="M24.3605 40.2903H2.76175C1.23892 40.2903 0 41.508 0 43.0049V59.6187C0 61.1156 1.23892 62.3333 2.76175 62.3333H24.3605C25.8834 62.3333 27.1223 61.1156 27.1223 59.6187V43.0049C27.1223 41.508 25.8834 40.2903 24.3605 40.2903ZM1.13876 59.6187V43.0049C1.13876 42.1248 1.86685 41.4087 2.76175 41.4087H4.68201V61.2149H2.76175C1.86685 61.2149 1.13876 60.4988 1.13876 59.6187ZM25.9835 59.6187C25.9835 60.4988 25.2555 61.2149 24.3605 61.2149H5.82077V41.4087H24.3605C25.2555 41.4087 25.9835 42.1248 25.9835 43.0049V59.6187Z" fill="#333333"/>
4
+ <path d="M20.9405 43.7487H8.30454C7.44106 43.7487 6.73859 44.4391 6.73859 45.2877V52.1907C6.73859 53.0393 7.44106 53.7296 8.30454 53.7296H20.9405C21.804 53.7296 22.5064 53.0393 22.5064 52.1907V45.2877C22.5064 44.4391 21.804 43.7487 20.9405 43.7487ZM21.3677 52.1907C21.3677 52.4225 21.1761 52.6112 20.9405 52.6112H8.30454C8.06898 52.6112 7.87735 52.4225 7.87735 52.1907V45.2877C7.87735 45.0558 8.06898 44.8672 8.30454 44.8672H20.9405C21.1761 44.8672 21.3677 45.0558 21.3677 45.2877V52.1907Z" fill="#333333"/>
5
+ <path d="M55.606 46.9758H39.9605C39.097 46.9758 38.3946 47.6662 38.3946 48.5148V56.2819C38.3946 57.1305 39.097 57.8209 39.9605 57.8209H55.606C56.4695 57.8209 57.1719 57.1305 57.1719 56.2819V48.5148C57.1719 47.6662 56.4695 46.9758 55.606 46.9758ZM56.0332 56.2819C56.0332 56.5138 55.8415 56.7024 55.606 56.7024H39.9605C39.725 56.7024 39.5333 56.5138 39.5333 56.2819V48.5148C39.5333 48.2829 39.725 48.0943 39.9605 48.0943H55.606C55.8415 48.0943 56.0332 48.2829 56.0332 48.5148V56.2819Z" fill="#333333"/>
6
+ <path d="M55.606 33.8281H39.9605C39.097 33.8281 38.3946 34.5184 38.3946 35.367V43.1342C38.3946 43.9827 39.097 44.6731 39.9605 44.6731H55.606C56.4695 44.6731 57.1719 43.9827 57.1719 43.1342V35.367C57.1719 34.5184 56.4695 33.8281 55.606 33.8281ZM56.0332 43.1342C56.0332 43.366 55.8415 43.5547 55.606 43.5547H39.9605C39.725 43.5547 39.5333 43.366 39.5333 43.1342V35.367C39.5333 35.1352 39.725 34.9465 39.9605 34.9465H55.606C55.8415 34.9465 56.0332 35.1352 56.0332 35.367V43.1342Z" fill="#333333"/>
7
+ <path d="M56.6026 26.9956H38.9639V28.1141H56.6026V26.9956Z" fill="#333333"/>
8
+ <path d="M56.6026 30.023H38.9639V31.1415H56.6026V30.023Z" fill="#333333"/>
9
+ <path d="M9.46069 39.759H19.705C21.2279 39.759 22.4667 38.5412 22.4667 37.0444V30.2099C22.4667 28.7131 21.2279 27.4953 19.705 27.4953H9.46069C7.93787 27.4953 6.69895 28.7131 6.69895 30.2099V37.0444C6.69895 38.5412 7.93787 39.759 9.46069 39.759ZM7.83771 30.2099C7.83771 29.3298 8.56576 28.6138 9.46069 28.6138H19.705C20.5999 28.6138 21.328 29.3298 21.328 30.2099V37.0444C21.328 37.9245 20.5999 38.6405 19.705 38.6405H9.46069C8.56576 38.6405 7.83771 37.9245 7.83771 37.0444V30.2099Z" fill="#333333"/>
10
+ <path d="M11.2462 35.7127C12.4163 35.7127 13.3682 34.7771 13.3682 33.6272C13.3682 32.4771 12.4163 31.5415 11.2462 31.5415C10.0762 31.5415 9.12425 32.4771 9.12425 33.6272C9.12425 34.7771 10.0762 35.7127 11.2462 35.7127ZM11.2462 32.66C11.7884 32.66 12.2294 33.0938 12.2294 33.6272C12.2294 34.1604 11.7884 34.5943 11.2462 34.5943C10.7041 34.5943 10.263 34.1604 10.263 33.6272C10.263 33.0938 10.7041 32.66 11.2462 32.66Z" fill="#333333"/>
11
+ <path d="M17.9192 35.7127C19.0893 35.7127 20.0412 34.7771 20.0412 33.6272C20.0412 32.4771 19.0893 31.5415 17.9192 31.5415C16.7492 31.5415 15.7973 32.4771 15.7973 33.6272C15.7973 34.7771 16.7492 35.7127 17.9192 35.7127ZM17.9192 32.66C18.4613 32.66 18.9024 33.0938 18.9024 33.6272C18.9024 34.1604 18.4613 34.5943 17.9192 34.5943C17.3771 34.5943 16.936 34.1604 16.936 33.6272C16.936 33.0938 17.3771 32.66 17.9192 32.66Z" fill="#333333"/>
12
+ <path d="M44.4467 50.3127C43.2766 50.3127 42.3247 51.2483 42.3247 52.3983C42.3247 53.5484 43.2766 54.484 44.4467 54.484C45.6167 54.484 46.5686 53.5484 46.5686 52.3983C46.5686 51.2483 45.6167 50.3127 44.4467 50.3127ZM44.4467 53.3655C43.9045 53.3655 43.4635 52.9317 43.4635 52.3983C43.4635 51.865 43.9045 51.4312 44.4467 51.4312C44.9888 51.4312 45.4299 51.865 45.4299 52.3983C45.4299 52.9317 44.9888 53.3655 44.4467 53.3655Z" fill="#333333"/>
13
+ <path d="M51.1193 50.3127C49.9492 50.3127 48.9973 51.2483 48.9973 52.3983C48.9973 53.5484 49.9492 54.484 51.1193 54.484C52.2894 54.484 53.2413 53.5484 53.2413 52.3983C53.2413 51.2483 52.2894 50.3127 51.1193 50.3127ZM51.1193 53.3655C50.5772 53.3655 50.1361 52.9317 50.1361 52.3983C50.1361 51.865 50.5772 51.4312 51.1193 51.4312C51.6615 51.4312 52.1025 51.865 52.1025 52.3983C52.1025 52.9317 51.6615 53.3655 51.1193 53.3655Z" fill="#333333"/>
14
+ <path d="M44.4467 37.1652C43.2766 37.1652 42.3247 38.1008 42.3247 39.2508C42.3247 40.4008 43.2766 41.3364 44.4467 41.3364C45.6167 41.3364 46.5686 40.4008 46.5686 39.2508C46.5686 38.1008 45.6167 37.1652 44.4467 37.1652ZM44.4467 40.2179C43.9045 40.2179 43.4635 39.7841 43.4635 39.2508C43.4635 38.7175 43.9045 38.2836 44.4467 38.2836C44.9888 38.2836 45.4299 38.7175 45.4299 39.2508C45.4299 39.7841 44.9888 40.2179 44.4467 40.2179Z" fill="#333333"/>
15
+ <path d="M51.1193 37.1652C49.9492 37.1652 48.9973 38.1008 48.9973 39.2508C48.9973 40.4008 49.9492 41.3364 51.1193 41.3364C52.2894 41.3364 53.2413 40.4008 53.2413 39.2508C53.2413 38.1008 52.2894 37.1652 51.1193 37.1652ZM51.1193 40.2179C50.5772 40.2179 50.1361 39.7841 50.1361 39.2508C50.1361 38.7175 50.5772 38.2836 51.1193 38.2836C51.6615 38.2836 52.1025 38.7175 52.1025 39.2508C52.1025 39.7841 51.6615 40.2179 51.1193 40.2179Z" fill="#333333"/>
16
+ <path d="M46.7567 11.8472H41.3535V12.9657H46.7567V11.8472Z" fill="#333333"/>
17
+ <path d="M55.8472 11.8472H50.444V12.9657H55.8472V11.8472Z" fill="#333333"/>
18
+ </svg>
@@ -104,15 +104,22 @@ const GlobalNav = /*@__PURE__*/ proxyCustomElement(class GlobalNav extends HTMLE
104
104
  return this.myAccountData?.user?.uuid ? this.myAccountData.user : null;
105
105
  }
106
106
  processUserData() {
107
- if (!this.myAccountUser)
107
+ if (!this.myAccountUser) {
108
+ this.isLoggedIn = false;
109
+ this.userLinks = [];
110
+ this.msgUrl = '';
111
+ this.msgCount = 0;
112
+ this.nanoUserData.emit(null);
108
113
  return;
109
- this.userLinks = this.myAccountData?.links.filter((link) => link.area === 'profile-panel-list');
110
- this.loginUrl = this.loginUrl || this.myAccountData.urls.login;
111
- this.logoutUrl = this.logoutUrl || this.myAccountData.urls.logout;
112
- this.msgUrl = this.msgUrl || this.myAccountData.urls.messages;
113
- this.msgCount = this.msgCount || this.myAccountData.notifications.count;
114
- this.cartUrl = this.cartUrl || this.myAccountData.urls.cart;
115
- this.cartCount = this.cartCount || this.myAccountData.cart.count;
114
+ }
115
+ this.userLinks =
116
+ this.myAccountData?.links?.filter((link) => link.area === 'profile-panel-list') || [];
117
+ this.loginUrl = this.loginUrl || this.myAccountData.urls?.login;
118
+ this.logoutUrl = this.logoutUrl || this.myAccountData.urls?.logout;
119
+ this.msgUrl = this.msgUrl || this.myAccountData.urls?.messages;
120
+ this.msgCount = this.msgCount || this.myAccountData.notifications?.count;
121
+ this.cartUrl = this.cartUrl || this.myAccountData.urls?.cart;
122
+ this.cartCount = this.cartCount || this.myAccountData.cart?.count;
116
123
  this.isLoggedIn = true;
117
124
  this.nanoUserData.emit(this.myAccountUser);
118
125
  }
@@ -464,11 +471,11 @@ const GlobalNav = /*@__PURE__*/ proxyCustomElement(class GlobalNav extends HTMLE
464
471
  '')), h("div", { class: "gn__user-panel-body" }, this.userLinks.map((link) => (h("a", { href: link.address, target: link.target || undefined }, link.title, (link.title === 'Messages' ||
465
472
  link.address.includes(this.msgUrl) ||
466
473
  this.msgUrl.includes(link.address)) &&
467
- this.msgCount > 0 && (h("nano-badge", { theme: "danger", strength: "2" }, this.msgCount)))))), h("div", { class: "gn__user-panel-foot" }, h("nano-cta", { secondary: true, size: "small", icon: "false", class: "gn__login-cta" }, h("a", { href: this.formatLoginLink(this.logoutUrl) }, "Logout")))));
474
+ this.msgCount > 0 && (h("nano-badge", { theme: "danger", strength: "2" }, this.msgCount)))))), h("div", { class: "gn__user-panel-foot" }, h("nano-cta", { secondary: true, size: "small", icon: "false", class: "gn__login-cta" }, typeof this.logoutUrl === 'string' ? (h("a", { href: this.formatLoginLink(this.logoutUrl) }, "Logout")) : (h("button", { onClick: this.logoutUrl }, "Logout"))))));
468
475
  }
469
476
  bpPartials = {
470
477
  contact: {
471
- tpl: () => h("a", { href: this.contactUrl }, "Contact"),
478
+ tpl: () => this.contactUrl && h("a", { href: this.contactUrl }, "Contact"),
472
479
  breakpoint: 0,
473
480
  },
474
481
  mainMenu: {
@@ -506,21 +513,21 @@ const GlobalNav = /*@__PURE__*/ proxyCustomElement(class GlobalNav extends HTMLE
506
513
  }
507
514
  render() {
508
515
  const bpps = this.bpPartials;
509
- return (h(Host, { key: '63e6202a06bc4bc7a6a63f88d1923c3321a2b47c', class: {
516
+ return (h(Host, { key: '6f3ecd6fac6825f4b137592e1becb86046278542', class: {
510
517
  'overflow-menu': this.breakpoint > bpps.mainMenu.breakpoint,
511
518
  'bar-menu': this.breakpoint <= bpps.mainMenu.breakpoint,
512
519
  'nano-global-nav': true,
513
- } }, h("div", { key: '7fe0cb9446b86233ed7727fdc9aade6b94cb72eb', class: {
520
+ } }, h("div", { key: '8ecbd0ecc9ac93f1a1dd5defa8f119874f623daf', class: {
514
521
  gn: true,
515
522
  'gn__search-open': this.searchBarShown,
516
- } }, h("nano-drawer", { key: 'ef476cfee137ebbee63c2f7a99935d4aafd2f7e4', 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: 'c4cbe27955caffeb4f4a7dc755b6b08bf40a7f48', class: "gn__drawer-header", part: "overflow-header", slot: "label" }, "Main menu"), h("nav", { key: '26ec816c93427ce9f9cc4025e327b5e6cf9ba3e2', class: "gn__drawer-menu", part: "overflow-menu" }, this.breakpoint > bpps.mainMenu.breakpoint
523
+ } }, h("nano-drawer", { key: '728b760496d041fc5f1d78905081e7fe59b7047c', 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: 'd1b99ae15e00511594abf476a06f8374d4fad508', class: "gn__drawer-header", part: "overflow-header", slot: "label" }, "Main menu"), h("nav", { key: '97debdda75a0d7d9f2a6e23306fa93bd2d73de06', class: "gn__drawer-menu", part: "overflow-menu" }, this.breakpoint > bpps.mainMenu.breakpoint
517
524
  ? bpps.mainMenu.tpl()
518
- : '', h("slot", { key: '0693a9f4afdf63e63151b3f3fd4d3a0bbedde4ef', name: "overflow" }))), h("div", { key: 'd9ff383fb0f91876a533e8eb98bc47817b044729', class: "gn__menu-bar-wrapper" }, h("div", { key: '4536fd7593626672f20191b197a55b3d7b10b633', class: "gn__menu-bar", part: "menu-bar", ref: (el) => (this.mainMenuBar = el) }, h("nav", { key: 'ad22eb106a5d9c0ffd8eac8e5e995833f8adcd7e', "aria-label": "Global navigation", 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: 'c399d0e0c2a909a94a0b93ad00ebc5cb34e8c224', class: "gn__overflow-button", iconName: "light/bars", label: "Open Menu", onClick: () => this.overflowMenu.show() })), h("slot", { key: 'ee03de047e3937687e722a88e34356ffc151a9e9', name: "logo" }, h("a", { key: 'a39aad67426cdc5ce75fa334a303229bfab9e58c', 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,
525
+ : '', h("slot", { key: 'd500a55cb220088df7af00b356f902a3d80fb47d', name: "overflow" }))), h("div", { key: 'c1454d4666561a77a850d9328d13795d5f989d89', class: "gn__menu-bar-wrapper" }, h("div", { key: 'f32f9a8302ad3501ae3d9e8afdf2ed7d59297335', class: "gn__menu-bar", part: "menu-bar", ref: (el) => (this.mainMenuBar = el) }, h("nav", { key: '8605e4bf473e4b34e3890ddaf69c555abc397716', "aria-label": "Global navigation", 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: '04aaa626447c7377fadcd8d374fa9120ef5fea62', class: "gn__overflow-button", iconName: "light/bars", label: "Open Menu", onClick: () => this.overflowMenu.show() })), h("slot", { key: '3f858438db16a112c2dee67ee8b865afba9180fe', name: "logo" }, h("a", { key: 'ddc758422fb964b2644e825c98ec0aec832895db', 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,
519
526
  (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,
520
- (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: '46a926ede075e0bfde746fa174c0700a48bc308e', class: "gn__main-menu-links" }, bpps.mainMenu.tpl())), h("div", { key: 'e473ba724a01a0f596f6494b7bb452eef0c4ba53', class: "gn__main-menu-actions" }, !this.myAccountData ||
521
- (!!this.searchIndices.length && (h("nano-dropdown", { key: '90fa8c9cc0566374afce5f8c722aa98176372d7d', 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: '73c7c855dd6baf3259429d55c9bf3d58c2e8ec03', class: "gn__search-button", slot: "trigger", iconName: "light/magnifying-glass", label: "Search" }), h("form", { key: 'f265a2ba3269f22c2efcbe73c7ffe4328fe9d0e8', ref: (form) => (this.searchForm = form), class: "gn__search-form", part: "search-form", onSubmit: this.onSearchSubmit }, this.searchIndices.length > 1 && (h("nano-select", { key: '498ea9e7b0dd5bb10dd92b2df0fccc76295b1042', 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: '78baa1860b433e8ee36cd6f2d34d026a7c1e8b21', 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) => {
527
+ (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: 'c48d4d74b18f876cffee723a8da0bd4d82300b7b', class: "gn__main-menu-links" }, bpps.mainMenu.tpl())), h("div", { key: 'e433743c122dc9e4427de3f0fdd7067bcd52f558', class: "gn__main-menu-actions" }, !this.myAccountData ||
528
+ (!!this.searchIndices.length && (h("nano-dropdown", { key: 'e6c5655701e5a91409f5fad4f45efd868cbd1a50', 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: '8de3fb7f465103bda3063e96876345701d942a01', class: "gn__search-button", slot: "trigger", iconName: "light/magnifying-glass", label: "Search" }), h("form", { key: '18fca7445c9471089e013cea8d83aa749e655aab', ref: (form) => (this.searchForm = form), class: "gn__search-form", part: "search-form", onSubmit: this.onSearchSubmit }, this.searchIndices.length > 1 && (h("nano-select", { key: '7b37f759f2a24d8686d46a3ebbcb3afaa54cbbee', 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: '93838bee803808b06f56c14886975cd3fc8ab827', 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) => {
522
529
  this.handleSearchTermChangeEvent(e.detail.value);
523
- }, onNanoInput: this.handleSearchTermInputEvent, debounce: 500, value: this._searchValue }, h("nano-icon", { key: 'f3b612bba31b0b1a930b170711080bce93324322', slot: "end", name: "light/magnifying-glass" }), h("nano-datalist", { key: 'a264479248b83b20cb42155e09c3033356a221b4', class: "gn__search-results", onNanoSelect: (e) => e.preventDefault(), dropDownConfig: { tetherTo: this.searchForm }, disableFilter: true }, this.searchLoading && (h("div", { key: '21d365a6554c31144d57900ec8cf50e6caa105b2', slot: "no-result", class: "gn__search-loading" }, h("nano-spinner", { key: 'b4f28c952fcfe765dea3ab7e4c0691e10de1317e' }, "Searching..."))), this.noResultPartial(), !!this.autocompleteResults?.hits.length && [
530
+ }, onNanoInput: this.handleSearchTermInputEvent, debounce: 500, value: this._searchValue }, h("nano-icon", { key: 'd39203dd3727a34b60c5c71fc6b9a14c23ef2465', slot: "end", name: "light/magnifying-glass" }), h("nano-datalist", { key: '9826082e21b53f54254c8f2490b3b42c215edacb', class: "gn__search-results", onNanoSelect: (e) => e.preventDefault(), dropDownConfig: { tetherTo: this.searchForm }, disableFilter: true }, this.searchLoading && (h("div", { key: '65f17640b43bce0f44e59f092b7c8ef562f02e19', slot: "no-result", class: "gn__search-loading" }, h("nano-spinner", { key: 'f0162dd8c60aae95e35d9e02770a9398bede0828' }, "Searching..."))), this.noResultPartial(), !!this.autocompleteResults?.hits.length && [
524
531
  this.autocompleteResults.hits.map((hit, i) => (h("nano-option", { href: hit.url, class: "gn__search-result", onClick: () => {
525
532
  searchInsight.sendClick({
526
533
  index: this.activeIndex.index,
@@ -530,10 +537,13 @@ const GlobalNav = /*@__PURE__*/ proxyCustomElement(class GlobalNav extends HTMLE
530
537
  positions: [i + 1],
531
538
  });
532
539
  } }, h("span", { innerHTML: this.autocompleteSnippet(hit) })))),
533
- h("nano-option", { key: 'b2a1dc7ff83c80599377850136d6233fa64cee3c', class: "gn__search-viewall", onNanoSelect: this.onSearchSubmit }, "View all results"),
534
- ])))))), h("div", { key: '38bc65edb00ef4876340fdfc1f308a6805a1e1ec', class: "gn__cart" }, h("nano-icon-button", { key: 'b590faedc935181b9230c82509360ddc2a19f1cf', iconName: "light/cart-shopping", label: "View your cart", href: this.cartUrl }), !!this.cartCount && (h("nano-badge", { key: 'c7f45eea27607c6d4380ccdf3a7f2cacfd26bc80', theme: "danger", strength: "2" }, this.cartCount > 9 ? '9+' : this.cartCount))), this.breakpoint <= bpps.contact.breakpoint
540
+ h("nano-option", { key: 'ddf176669705bb04a45575ee1bf8897d46ae9704', class: "gn__search-viewall", onNanoSelect: this.onSearchSubmit }, "View all results"),
541
+ ])))))), h("div", { key: 'f84317012affbf6aa952810f627ca318f042dd0b', class: "gn__cart" }, this.cartUrl && [
542
+ h("nano-icon-button", { key: 'c656b17e3ee2462900fc855c8128b2e92e3ad4cb', iconName: "light/cart-shopping", label: "View your cart", href: this.cartUrl }),
543
+ this.cartCount && (h("nano-badge", { key: '878066adbf28890694e65f651031e35912b30f06', theme: "danger", strength: "2" }, this.cartCount > 9 ? '9+' : this.cartCount)),
544
+ ]), this.breakpoint <= bpps.contact.breakpoint
535
545
  ? bpps.contact.tpl()
536
- : '', 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: '6443d9f0199f87ba5ca73b62b6c3c9e5700731b4', part: "site-search-results" }, h("div", { key: 'db0ce2d9157f7144b0c50d0833386ed4eeabdd02', class: "gn__site", part: "site-wrapper" }, h("slot", { key: 'a9ac7197c149153532f16f8f0f428b5e46d11b72' }))))));
546
+ : '', 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" }, typeof this.loginUrl === 'string' ? (h("a", { href: this.formatLoginLink(this.loginUrl) }, "Login")) : (h("button", { onClick: this.loginUrl }, "Login")))))))), h("nano-global-search-results", { key: 'afb40b7671b51b72cc58ce006b6ed163fb1d1e78', part: "site-search-results" }, h("div", { key: '660f6ad6fb20ca8c88118b44bdb2b44b3a06f19b', class: "gn__site", part: "site-wrapper" }, h("slot", { key: 'fcd45d11fb7fcdcf986940f8a4bda1287635856a' }))))));
537
547
  }
538
548
  static get assetsDirs() { return ["assets"]; }
539
549
  static get watchers() { return {
@@ -87,15 +87,22 @@ const GlobalNav = class {
87
87
  return this.myAccountData?.user?.uuid ? this.myAccountData.user : null;
88
88
  }
89
89
  processUserData() {
90
- if (!this.myAccountUser)
90
+ if (!this.myAccountUser) {
91
+ this.isLoggedIn = false;
92
+ this.userLinks = [];
93
+ this.msgUrl = '';
94
+ this.msgCount = 0;
95
+ this.nanoUserData.emit(null);
91
96
  return;
92
- this.userLinks = this.myAccountData?.links.filter((link) => link.area === 'profile-panel-list');
93
- this.loginUrl = this.loginUrl || this.myAccountData.urls.login;
94
- this.logoutUrl = this.logoutUrl || this.myAccountData.urls.logout;
95
- this.msgUrl = this.msgUrl || this.myAccountData.urls.messages;
96
- this.msgCount = this.msgCount || this.myAccountData.notifications.count;
97
- this.cartUrl = this.cartUrl || this.myAccountData.urls.cart;
98
- this.cartCount = this.cartCount || this.myAccountData.cart.count;
97
+ }
98
+ this.userLinks =
99
+ this.myAccountData?.links?.filter((link) => link.area === 'profile-panel-list') || [];
100
+ this.loginUrl = this.loginUrl || this.myAccountData.urls?.login;
101
+ this.logoutUrl = this.logoutUrl || this.myAccountData.urls?.logout;
102
+ this.msgUrl = this.msgUrl || this.myAccountData.urls?.messages;
103
+ this.msgCount = this.msgCount || this.myAccountData.notifications?.count;
104
+ this.cartUrl = this.cartUrl || this.myAccountData.urls?.cart;
105
+ this.cartCount = this.cartCount || this.myAccountData.cart?.count;
99
106
  this.isLoggedIn = true;
100
107
  this.nanoUserData.emit(this.myAccountUser);
101
108
  }
@@ -444,11 +451,11 @@ const GlobalNav = class {
444
451
  '')), h("div", { class: "gn__user-panel-body" }, this.userLinks.map((link) => (h("a", { href: link.address, target: link.target || undefined }, link.title, (link.title === 'Messages' ||
445
452
  link.address.includes(this.msgUrl) ||
446
453
  this.msgUrl.includes(link.address)) &&
447
- this.msgCount > 0 && (h("nano-badge", { theme: "danger", strength: "2" }, this.msgCount)))))), h("div", { class: "gn__user-panel-foot" }, h("nano-cta", { secondary: true, size: "small", icon: "false", class: "gn__login-cta" }, h("a", { href: this.formatLoginLink(this.logoutUrl) }, "Logout")))));
454
+ this.msgCount > 0 && (h("nano-badge", { theme: "danger", strength: "2" }, this.msgCount)))))), h("div", { class: "gn__user-panel-foot" }, h("nano-cta", { secondary: true, size: "small", icon: "false", class: "gn__login-cta" }, typeof this.logoutUrl === 'string' ? (h("a", { href: this.formatLoginLink(this.logoutUrl) }, "Logout")) : (h("button", { onClick: this.logoutUrl }, "Logout"))))));
448
455
  }
449
456
  bpPartials = {
450
457
  contact: {
451
- tpl: () => h("a", { href: this.contactUrl }, "Contact"),
458
+ tpl: () => this.contactUrl && h("a", { href: this.contactUrl }, "Contact"),
452
459
  breakpoint: 0,
453
460
  },
454
461
  mainMenu: {
@@ -486,21 +493,21 @@ const GlobalNav = class {
486
493
  }
487
494
  render() {
488
495
  const bpps = this.bpPartials;
489
- return (h(Host, { key: '63e6202a06bc4bc7a6a63f88d1923c3321a2b47c', class: {
496
+ return (h(Host, { key: '6f3ecd6fac6825f4b137592e1becb86046278542', class: {
490
497
  'overflow-menu': this.breakpoint > bpps.mainMenu.breakpoint,
491
498
  'bar-menu': this.breakpoint <= bpps.mainMenu.breakpoint,
492
499
  'nano-global-nav': true,
493
- } }, h("div", { key: '7fe0cb9446b86233ed7727fdc9aade6b94cb72eb', class: {
500
+ } }, h("div", { key: '8ecbd0ecc9ac93f1a1dd5defa8f119874f623daf', class: {
494
501
  gn: true,
495
502
  'gn__search-open': this.searchBarShown,
496
- } }, h("nano-drawer", { key: 'ef476cfee137ebbee63c2f7a99935d4aafd2f7e4', 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: 'c4cbe27955caffeb4f4a7dc755b6b08bf40a7f48', class: "gn__drawer-header", part: "overflow-header", slot: "label" }, "Main menu"), h("nav", { key: '26ec816c93427ce9f9cc4025e327b5e6cf9ba3e2', class: "gn__drawer-menu", part: "overflow-menu" }, this.breakpoint > bpps.mainMenu.breakpoint
503
+ } }, h("nano-drawer", { key: '728b760496d041fc5f1d78905081e7fe59b7047c', 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: 'd1b99ae15e00511594abf476a06f8374d4fad508', class: "gn__drawer-header", part: "overflow-header", slot: "label" }, "Main menu"), h("nav", { key: '97debdda75a0d7d9f2a6e23306fa93bd2d73de06', class: "gn__drawer-menu", part: "overflow-menu" }, this.breakpoint > bpps.mainMenu.breakpoint
497
504
  ? bpps.mainMenu.tpl()
498
- : '', h("slot", { key: '0693a9f4afdf63e63151b3f3fd4d3a0bbedde4ef', name: "overflow" }))), h("div", { key: 'd9ff383fb0f91876a533e8eb98bc47817b044729', class: "gn__menu-bar-wrapper" }, h("div", { key: '4536fd7593626672f20191b197a55b3d7b10b633', class: "gn__menu-bar", part: "menu-bar", ref: (el) => (this.mainMenuBar = el) }, h("nav", { key: 'ad22eb106a5d9c0ffd8eac8e5e995833f8adcd7e', "aria-label": "Global navigation", 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: 'c399d0e0c2a909a94a0b93ad00ebc5cb34e8c224', class: "gn__overflow-button", iconName: "light/bars", label: "Open Menu", onClick: () => this.overflowMenu.show() })), h("slot", { key: 'ee03de047e3937687e722a88e34356ffc151a9e9', name: "logo" }, h("a", { key: 'a39aad67426cdc5ce75fa334a303229bfab9e58c', 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,
505
+ : '', h("slot", { key: 'd500a55cb220088df7af00b356f902a3d80fb47d', name: "overflow" }))), h("div", { key: 'c1454d4666561a77a850d9328d13795d5f989d89', class: "gn__menu-bar-wrapper" }, h("div", { key: 'f32f9a8302ad3501ae3d9e8afdf2ed7d59297335', class: "gn__menu-bar", part: "menu-bar", ref: (el) => (this.mainMenuBar = el) }, h("nav", { key: '8605e4bf473e4b34e3890ddaf69c555abc397716', "aria-label": "Global navigation", 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: '04aaa626447c7377fadcd8d374fa9120ef5fea62', class: "gn__overflow-button", iconName: "light/bars", label: "Open Menu", onClick: () => this.overflowMenu.show() })), h("slot", { key: '3f858438db16a112c2dee67ee8b865afba9180fe', name: "logo" }, h("a", { key: 'ddc758422fb964b2644e825c98ec0aec832895db', 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,
499
506
  (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,
500
- (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: '46a926ede075e0bfde746fa174c0700a48bc308e', class: "gn__main-menu-links" }, bpps.mainMenu.tpl())), h("div", { key: 'e473ba724a01a0f596f6494b7bb452eef0c4ba53', class: "gn__main-menu-actions" }, !this.myAccountData ||
501
- (!!this.searchIndices.length && (h("nano-dropdown", { key: '90fa8c9cc0566374afce5f8c722aa98176372d7d', 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: '73c7c855dd6baf3259429d55c9bf3d58c2e8ec03', class: "gn__search-button", slot: "trigger", iconName: "light/magnifying-glass", label: "Search" }), h("form", { key: 'f265a2ba3269f22c2efcbe73c7ffe4328fe9d0e8', ref: (form) => (this.searchForm = form), class: "gn__search-form", part: "search-form", onSubmit: this.onSearchSubmit }, this.searchIndices.length > 1 && (h("nano-select", { key: '498ea9e7b0dd5bb10dd92b2df0fccc76295b1042', 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: '78baa1860b433e8ee36cd6f2d34d026a7c1e8b21', 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) => {
507
+ (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: 'c48d4d74b18f876cffee723a8da0bd4d82300b7b', class: "gn__main-menu-links" }, bpps.mainMenu.tpl())), h("div", { key: 'e433743c122dc9e4427de3f0fdd7067bcd52f558', class: "gn__main-menu-actions" }, !this.myAccountData ||
508
+ (!!this.searchIndices.length && (h("nano-dropdown", { key: 'e6c5655701e5a91409f5fad4f45efd868cbd1a50', 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: '8de3fb7f465103bda3063e96876345701d942a01', class: "gn__search-button", slot: "trigger", iconName: "light/magnifying-glass", label: "Search" }), h("form", { key: '18fca7445c9471089e013cea8d83aa749e655aab', ref: (form) => (this.searchForm = form), class: "gn__search-form", part: "search-form", onSubmit: this.onSearchSubmit }, this.searchIndices.length > 1 && (h("nano-select", { key: '7b37f759f2a24d8686d46a3ebbcb3afaa54cbbee', 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: '93838bee803808b06f56c14886975cd3fc8ab827', 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) => {
502
509
  this.handleSearchTermChangeEvent(e.detail.value);
503
- }, onNanoInput: this.handleSearchTermInputEvent, debounce: 500, value: this._searchValue }, h("nano-icon", { key: 'f3b612bba31b0b1a930b170711080bce93324322', slot: "end", name: "light/magnifying-glass" }), h("nano-datalist", { key: 'a264479248b83b20cb42155e09c3033356a221b4', class: "gn__search-results", onNanoSelect: (e) => e.preventDefault(), dropDownConfig: { tetherTo: this.searchForm }, disableFilter: true }, this.searchLoading && (h("div", { key: '21d365a6554c31144d57900ec8cf50e6caa105b2', slot: "no-result", class: "gn__search-loading" }, h("nano-spinner", { key: 'b4f28c952fcfe765dea3ab7e4c0691e10de1317e' }, "Searching..."))), this.noResultPartial(), !!this.autocompleteResults?.hits.length && [
510
+ }, onNanoInput: this.handleSearchTermInputEvent, debounce: 500, value: this._searchValue }, h("nano-icon", { key: 'd39203dd3727a34b60c5c71fc6b9a14c23ef2465', slot: "end", name: "light/magnifying-glass" }), h("nano-datalist", { key: '9826082e21b53f54254c8f2490b3b42c215edacb', class: "gn__search-results", onNanoSelect: (e) => e.preventDefault(), dropDownConfig: { tetherTo: this.searchForm }, disableFilter: true }, this.searchLoading && (h("div", { key: '65f17640b43bce0f44e59f092b7c8ef562f02e19', slot: "no-result", class: "gn__search-loading" }, h("nano-spinner", { key: 'f0162dd8c60aae95e35d9e02770a9398bede0828' }, "Searching..."))), this.noResultPartial(), !!this.autocompleteResults?.hits.length && [
504
511
  this.autocompleteResults.hits.map((hit, i) => (h("nano-option", { href: hit.url, class: "gn__search-result", onClick: () => {
505
512
  searchInsight.sendClick({
506
513
  index: this.activeIndex.index,
@@ -510,10 +517,13 @@ const GlobalNav = class {
510
517
  positions: [i + 1],
511
518
  });
512
519
  } }, h("span", { innerHTML: this.autocompleteSnippet(hit) })))),
513
- h("nano-option", { key: 'b2a1dc7ff83c80599377850136d6233fa64cee3c', class: "gn__search-viewall", onNanoSelect: this.onSearchSubmit }, "View all results"),
514
- ])))))), h("div", { key: '38bc65edb00ef4876340fdfc1f308a6805a1e1ec', class: "gn__cart" }, h("nano-icon-button", { key: 'b590faedc935181b9230c82509360ddc2a19f1cf', iconName: "light/cart-shopping", label: "View your cart", href: this.cartUrl }), !!this.cartCount && (h("nano-badge", { key: 'c7f45eea27607c6d4380ccdf3a7f2cacfd26bc80', theme: "danger", strength: "2" }, this.cartCount > 9 ? '9+' : this.cartCount))), this.breakpoint <= bpps.contact.breakpoint
520
+ h("nano-option", { key: 'ddf176669705bb04a45575ee1bf8897d46ae9704', class: "gn__search-viewall", onNanoSelect: this.onSearchSubmit }, "View all results"),
521
+ ])))))), h("div", { key: 'f84317012affbf6aa952810f627ca318f042dd0b', class: "gn__cart" }, this.cartUrl && [
522
+ h("nano-icon-button", { key: 'c656b17e3ee2462900fc855c8128b2e92e3ad4cb', iconName: "light/cart-shopping", label: "View your cart", href: this.cartUrl }),
523
+ this.cartCount && (h("nano-badge", { key: '878066adbf28890694e65f651031e35912b30f06', theme: "danger", strength: "2" }, this.cartCount > 9 ? '9+' : this.cartCount)),
524
+ ]), this.breakpoint <= bpps.contact.breakpoint
515
525
  ? bpps.contact.tpl()
516
- : '', 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: '6443d9f0199f87ba5ca73b62b6c3c9e5700731b4', part: "site-search-results" }, h("div", { key: 'db0ce2d9157f7144b0c50d0833386ed4eeabdd02', class: "gn__site", part: "site-wrapper" }, h("slot", { key: 'a9ac7197c149153532f16f8f0f428b5e46d11b72' }))))));
526
+ : '', 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" }, typeof this.loginUrl === 'string' ? (h("a", { href: this.formatLoginLink(this.loginUrl) }, "Login")) : (h("button", { onClick: this.loginUrl }, "Login")))))))), h("nano-global-search-results", { key: 'afb40b7671b51b72cc58ce006b6ed163fb1d1e78', part: "site-search-results" }, h("div", { key: '660f6ad6fb20ca8c88118b44bdb2b44b3a06f19b', class: "gn__site", part: "site-wrapper" }, h("slot", { key: 'fcd45d11fb7fcdcf986940f8a4bda1287635856a' }))))));
517
527
  }
518
528
  static get assetsDirs() { return ["assets"]; }
519
529
  static get watchers() { return {
@@ -1 +1 @@
1
- RwWhsvN8pIVBaxB4HqzB2Sa+DYU=
1
+ j1G4Mzes/fa2+swny1FV/fEhHbI=
@@ -0,0 +1,18 @@
1
+ <svg width="64" height="64" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M61.2382 22.7907H57.2455V18.6975L55.4219 15.5919V13.4354H54.2831V15.8913L56.1068 18.9969V22.7907H50.1862V18.9969L52.0098 15.8913V13.4354H50.871V15.5919L49.0474 18.6975V22.7907H48.155V18.6975L46.3314 15.5919V13.4354H45.1926V15.8913L47.0163 18.9969V22.7907H41.0956V18.9969L42.9193 15.8913V13.4354H41.7805V15.5919L39.9568 18.6975V22.7907H36.6451V1H32.3015V22.7907H31.3184C29.7956 22.7907 28.5567 24.0085 28.5567 25.5053V59.6188C28.5567 61.1156 29.7956 62.3333 31.3184 62.3333H61.2382C62.7611 62.3333 64 61.1156 64 59.6188V25.5053C64 24.0085 62.7611 22.7907 61.2382 22.7907ZM33.4403 2.11846H35.5063V59.0478H33.4403V2.11846ZM29.6954 59.6188V25.5053C29.6954 24.6252 30.4235 23.9091 31.3184 23.9091H32.3015V60.1662H36.6451V23.9091H59.0246V61.2149H31.3184C30.4235 61.2149 29.6954 60.4989 29.6954 59.6188ZM62.8612 59.6188C62.8612 60.4989 62.1332 61.2149 61.2382 61.2149H60.1634V23.9091H61.2382C62.1332 23.9091 62.8612 24.6252 62.8612 25.5053V59.6188Z" fill="#333333"/>
3
+ <path d="M24.3605 40.2903H2.76175C1.23892 40.2903 0 41.508 0 43.0049V59.6187C0 61.1156 1.23892 62.3333 2.76175 62.3333H24.3605C25.8834 62.3333 27.1223 61.1156 27.1223 59.6187V43.0049C27.1223 41.508 25.8834 40.2903 24.3605 40.2903ZM1.13876 59.6187V43.0049C1.13876 42.1248 1.86685 41.4087 2.76175 41.4087H4.68201V61.2149H2.76175C1.86685 61.2149 1.13876 60.4988 1.13876 59.6187ZM25.9835 59.6187C25.9835 60.4988 25.2555 61.2149 24.3605 61.2149H5.82077V41.4087H24.3605C25.2555 41.4087 25.9835 42.1248 25.9835 43.0049V59.6187Z" fill="#333333"/>
4
+ <path d="M20.9405 43.7487H8.30454C7.44106 43.7487 6.73859 44.4391 6.73859 45.2877V52.1907C6.73859 53.0393 7.44106 53.7296 8.30454 53.7296H20.9405C21.804 53.7296 22.5064 53.0393 22.5064 52.1907V45.2877C22.5064 44.4391 21.804 43.7487 20.9405 43.7487ZM21.3677 52.1907C21.3677 52.4225 21.1761 52.6112 20.9405 52.6112H8.30454C8.06898 52.6112 7.87735 52.4225 7.87735 52.1907V45.2877C7.87735 45.0558 8.06898 44.8672 8.30454 44.8672H20.9405C21.1761 44.8672 21.3677 45.0558 21.3677 45.2877V52.1907Z" fill="#333333"/>
5
+ <path d="M55.606 46.9758H39.9605C39.097 46.9758 38.3946 47.6662 38.3946 48.5148V56.2819C38.3946 57.1305 39.097 57.8209 39.9605 57.8209H55.606C56.4695 57.8209 57.1719 57.1305 57.1719 56.2819V48.5148C57.1719 47.6662 56.4695 46.9758 55.606 46.9758ZM56.0332 56.2819C56.0332 56.5138 55.8415 56.7024 55.606 56.7024H39.9605C39.725 56.7024 39.5333 56.5138 39.5333 56.2819V48.5148C39.5333 48.2829 39.725 48.0943 39.9605 48.0943H55.606C55.8415 48.0943 56.0332 48.2829 56.0332 48.5148V56.2819Z" fill="#333333"/>
6
+ <path d="M55.606 33.8281H39.9605C39.097 33.8281 38.3946 34.5184 38.3946 35.367V43.1342C38.3946 43.9827 39.097 44.6731 39.9605 44.6731H55.606C56.4695 44.6731 57.1719 43.9827 57.1719 43.1342V35.367C57.1719 34.5184 56.4695 33.8281 55.606 33.8281ZM56.0332 43.1342C56.0332 43.366 55.8415 43.5547 55.606 43.5547H39.9605C39.725 43.5547 39.5333 43.366 39.5333 43.1342V35.367C39.5333 35.1352 39.725 34.9465 39.9605 34.9465H55.606C55.8415 34.9465 56.0332 35.1352 56.0332 35.367V43.1342Z" fill="#333333"/>
7
+ <path d="M56.6026 26.9956H38.9639V28.1141H56.6026V26.9956Z" fill="#333333"/>
8
+ <path d="M56.6026 30.023H38.9639V31.1415H56.6026V30.023Z" fill="#333333"/>
9
+ <path d="M9.46069 39.759H19.705C21.2279 39.759 22.4667 38.5412 22.4667 37.0444V30.2099C22.4667 28.7131 21.2279 27.4953 19.705 27.4953H9.46069C7.93787 27.4953 6.69895 28.7131 6.69895 30.2099V37.0444C6.69895 38.5412 7.93787 39.759 9.46069 39.759ZM7.83771 30.2099C7.83771 29.3298 8.56576 28.6138 9.46069 28.6138H19.705C20.5999 28.6138 21.328 29.3298 21.328 30.2099V37.0444C21.328 37.9245 20.5999 38.6405 19.705 38.6405H9.46069C8.56576 38.6405 7.83771 37.9245 7.83771 37.0444V30.2099Z" fill="#333333"/>
10
+ <path d="M11.2462 35.7127C12.4163 35.7127 13.3682 34.7771 13.3682 33.6272C13.3682 32.4771 12.4163 31.5415 11.2462 31.5415C10.0762 31.5415 9.12425 32.4771 9.12425 33.6272C9.12425 34.7771 10.0762 35.7127 11.2462 35.7127ZM11.2462 32.66C11.7884 32.66 12.2294 33.0938 12.2294 33.6272C12.2294 34.1604 11.7884 34.5943 11.2462 34.5943C10.7041 34.5943 10.263 34.1604 10.263 33.6272C10.263 33.0938 10.7041 32.66 11.2462 32.66Z" fill="#333333"/>
11
+ <path d="M17.9192 35.7127C19.0893 35.7127 20.0412 34.7771 20.0412 33.6272C20.0412 32.4771 19.0893 31.5415 17.9192 31.5415C16.7492 31.5415 15.7973 32.4771 15.7973 33.6272C15.7973 34.7771 16.7492 35.7127 17.9192 35.7127ZM17.9192 32.66C18.4613 32.66 18.9024 33.0938 18.9024 33.6272C18.9024 34.1604 18.4613 34.5943 17.9192 34.5943C17.3771 34.5943 16.936 34.1604 16.936 33.6272C16.936 33.0938 17.3771 32.66 17.9192 32.66Z" fill="#333333"/>
12
+ <path d="M44.4467 50.3127C43.2766 50.3127 42.3247 51.2483 42.3247 52.3983C42.3247 53.5484 43.2766 54.484 44.4467 54.484C45.6167 54.484 46.5686 53.5484 46.5686 52.3983C46.5686 51.2483 45.6167 50.3127 44.4467 50.3127ZM44.4467 53.3655C43.9045 53.3655 43.4635 52.9317 43.4635 52.3983C43.4635 51.865 43.9045 51.4312 44.4467 51.4312C44.9888 51.4312 45.4299 51.865 45.4299 52.3983C45.4299 52.9317 44.9888 53.3655 44.4467 53.3655Z" fill="#333333"/>
13
+ <path d="M51.1193 50.3127C49.9492 50.3127 48.9973 51.2483 48.9973 52.3983C48.9973 53.5484 49.9492 54.484 51.1193 54.484C52.2894 54.484 53.2413 53.5484 53.2413 52.3983C53.2413 51.2483 52.2894 50.3127 51.1193 50.3127ZM51.1193 53.3655C50.5772 53.3655 50.1361 52.9317 50.1361 52.3983C50.1361 51.865 50.5772 51.4312 51.1193 51.4312C51.6615 51.4312 52.1025 51.865 52.1025 52.3983C52.1025 52.9317 51.6615 53.3655 51.1193 53.3655Z" fill="#333333"/>
14
+ <path d="M44.4467 37.1652C43.2766 37.1652 42.3247 38.1008 42.3247 39.2508C42.3247 40.4008 43.2766 41.3364 44.4467 41.3364C45.6167 41.3364 46.5686 40.4008 46.5686 39.2508C46.5686 38.1008 45.6167 37.1652 44.4467 37.1652ZM44.4467 40.2179C43.9045 40.2179 43.4635 39.7841 43.4635 39.2508C43.4635 38.7175 43.9045 38.2836 44.4467 38.2836C44.9888 38.2836 45.4299 38.7175 45.4299 39.2508C45.4299 39.7841 44.9888 40.2179 44.4467 40.2179Z" fill="#333333"/>
15
+ <path d="M51.1193 37.1652C49.9492 37.1652 48.9973 38.1008 48.9973 39.2508C48.9973 40.4008 49.9492 41.3364 51.1193 41.3364C52.2894 41.3364 53.2413 40.4008 53.2413 39.2508C53.2413 38.1008 52.2894 37.1652 51.1193 37.1652ZM51.1193 40.2179C50.5772 40.2179 50.1361 39.7841 50.1361 39.2508C50.1361 38.7175 50.5772 38.2836 51.1193 38.2836C51.6615 38.2836 52.1025 38.7175 52.1025 39.2508C52.1025 39.7841 51.6615 40.2179 51.1193 40.2179Z" fill="#333333"/>
16
+ <path d="M46.7567 11.8472H41.3535V12.9657H46.7567V11.8472Z" fill="#333333"/>
17
+ <path d="M55.8472 11.8472H50.444V12.9657H55.8472V11.8472Z" fill="#333333"/>
18
+ </svg>