@nanoporetech-digital/components 2.5.0 → 2.8.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 (211) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/cjs/{form-control-3bc82e3e.js → form-control-8f530f7d.js} +18 -20
  3. package/dist/cjs/form-control-8f530f7d.js.map +1 -0
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/nano-checkbox-group.cjs.entry.js +1 -1
  6. package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
  7. package/dist/cjs/nano-checkbox.cjs.entry.js +1 -1
  8. package/dist/cjs/nano-components.cjs.js +1 -1
  9. package/dist/cjs/nano-date-input.cjs.entry.js +1 -1
  10. package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
  11. package/dist/cjs/nano-dropdown.cjs.entry.js +1 -1
  12. package/dist/cjs/nano-file-upload.cjs.entry.js +1 -1
  13. package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
  14. package/dist/cjs/nano-global-nav.cjs.entry.js +50 -47
  15. package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
  16. package/dist/cjs/nano-input.cjs.entry.js +6 -6
  17. package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
  18. package/dist/cjs/nano-nav-item_2.cjs.entry.js +18 -13
  19. package/dist/cjs/nano-nav-item_2.cjs.entry.js.map +1 -1
  20. package/dist/cjs/nano-tooltip.cjs.entry.js +1 -1
  21. package/dist/cjs/{popover-8c86d338.js → popover-5f152a19.js} +3 -8
  22. package/dist/cjs/{popover-8c86d338.js.map → popover-5f152a19.js.map} +1 -1
  23. package/dist/collection/components/accordion/accordion.js +1 -1
  24. package/dist/collection/components/alert/alert.js +1 -1
  25. package/dist/collection/components/algolia/algolia-filter.js +2 -2
  26. package/dist/collection/components/algolia/algolia-input.js +5 -5
  27. package/dist/collection/components/algolia/algolia-results.js +1 -1
  28. package/dist/collection/components/algolia/algolia.js +6 -6
  29. package/dist/collection/components/checkbox/checkbox-group.css +4 -1
  30. package/dist/collection/components/checkbox/checkbox-group.js +2 -2
  31. package/dist/collection/components/checkbox/checkbox.css +2 -2
  32. package/dist/collection/components/checkbox/checkbox.js +3 -3
  33. package/dist/collection/components/datalist/datalist.js +1 -1
  34. package/dist/collection/components/date-input/date-input.css +1 -0
  35. package/dist/collection/components/date-input/date-input.js +7 -7
  36. package/dist/collection/components/date-picker/date-picker.js +5 -5
  37. package/dist/collection/components/details/details.js +1 -1
  38. package/dist/collection/components/dialog/dialog.js +1 -1
  39. package/dist/collection/components/dropdown/dropdown.js +1 -1
  40. package/dist/collection/components/file-upload/file-upload.css +2 -2
  41. package/dist/collection/components/file-upload/file-upload.js +4 -4
  42. package/dist/collection/components/form-control/form-control.js +17 -19
  43. package/dist/collection/components/form-control/form-control.js.map +1 -1
  44. package/dist/collection/components/global-nav/global-nav.js +78 -50
  45. package/dist/collection/components/global-nav/global-nav.js.map +1 -1
  46. package/dist/collection/components/grid/grid-item.js +1 -1
  47. package/dist/collection/components/icon/icon.js +1 -1
  48. package/dist/collection/components/input/input.css +200 -258
  49. package/dist/collection/components/input/input.js +9 -9
  50. package/dist/collection/components/input/input.js.map +1 -1
  51. package/dist/collection/components/nav-item/nav-item.css +22 -0
  52. package/dist/collection/components/nav-item/nav-item.js +34 -6
  53. package/dist/collection/components/nav-item/nav-item.js.map +1 -1
  54. package/dist/collection/components/range/range.js +4 -4
  55. package/dist/collection/components/resize-observe/resize-observe.js +1 -1
  56. package/dist/collection/components/select/select.css +223 -274
  57. package/dist/collection/components/select/select.js +15 -18
  58. package/dist/collection/components/select/select.js.map +1 -1
  59. package/dist/collection/components/slides/slides.js +7 -7
  60. package/dist/collection/components/tabs/tab-group.js +2 -2
  61. package/dist/collection/utils/popover.js +2 -7
  62. package/dist/collection/utils/popover.js.map +1 -1
  63. package/dist/components/form-control.js +17 -19
  64. package/dist/components/form-control.js.map +1 -1
  65. package/dist/components/input.js +5 -5
  66. package/dist/components/input.js.map +1 -1
  67. package/dist/components/nano-checkbox-group.js +1 -1
  68. package/dist/components/nano-checkbox-group.js.map +1 -1
  69. package/dist/components/nano-checkbox.js +1 -1
  70. package/dist/components/nano-date-input.js +1 -1
  71. package/dist/components/nano-date-input.js.map +1 -1
  72. package/dist/components/nano-file-upload.js +1 -1
  73. package/dist/components/nano-file-upload.js.map +1 -1
  74. package/dist/components/nano-global-nav.js +51 -47
  75. package/dist/components/nano-global-nav.js.map +1 -1
  76. package/dist/components/nav-item.js +11 -2
  77. package/dist/components/nav-item.js.map +1 -1
  78. package/dist/components/popover.js +2 -7
  79. package/dist/components/popover.js.map +1 -1
  80. package/dist/components/select.js +7 -10
  81. package/dist/components/select.js.map +1 -1
  82. package/dist/custom-elements/index.js +97 -96
  83. package/dist/custom-elements/index.js.map +1 -1
  84. package/dist/esm/{form-control-67eeb108.js → form-control-c52b6256.js} +18 -20
  85. package/dist/esm/form-control-c52b6256.js.map +1 -0
  86. package/dist/esm/loader.js +1 -1
  87. package/dist/esm/nano-checkbox-group.entry.js +1 -1
  88. package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
  89. package/dist/esm/nano-checkbox.entry.js +1 -1
  90. package/dist/esm/nano-components.js +1 -1
  91. package/dist/esm/nano-date-input.entry.js +1 -1
  92. package/dist/esm/nano-date-input.entry.js.map +1 -1
  93. package/dist/esm/nano-dropdown.entry.js +1 -1
  94. package/dist/esm/nano-file-upload.entry.js +1 -1
  95. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  96. package/dist/esm/nano-global-nav.entry.js +50 -47
  97. package/dist/esm/nano-global-nav.entry.js.map +1 -1
  98. package/dist/esm/nano-input.entry.js +6 -6
  99. package/dist/esm/nano-input.entry.js.map +1 -1
  100. package/dist/esm/nano-nav-item_2.entry.js +18 -13
  101. package/dist/esm/nano-nav-item_2.entry.js.map +1 -1
  102. package/dist/esm/nano-tooltip.entry.js +1 -1
  103. package/dist/esm/{popover-7639005b.js → popover-a03563f3.js} +3 -8
  104. package/dist/esm/{popover-7639005b.js.map → popover-a03563f3.js.map} +1 -1
  105. package/dist/esm-es5/form-control-c52b6256.js +5 -0
  106. package/dist/esm-es5/form-control-c52b6256.js.map +1 -0
  107. package/dist/esm-es5/loader.js +1 -1
  108. package/dist/esm-es5/loader.js.map +1 -1
  109. package/dist/esm-es5/nano-checkbox-group.entry.js +1 -1
  110. package/dist/esm-es5/nano-checkbox-group.entry.js.map +1 -1
  111. package/dist/esm-es5/nano-checkbox.entry.js +1 -1
  112. package/dist/esm-es5/nano-components.js +1 -1
  113. package/dist/esm-es5/nano-components.js.map +1 -1
  114. package/dist/esm-es5/nano-date-input.entry.js +1 -1
  115. package/dist/esm-es5/nano-date-input.entry.js.map +1 -1
  116. package/dist/esm-es5/nano-dropdown.entry.js +1 -1
  117. package/dist/esm-es5/nano-file-upload.entry.js +1 -1
  118. package/dist/esm-es5/nano-file-upload.entry.js.map +1 -1
  119. package/dist/esm-es5/nano-global-nav.entry.js +1 -1
  120. package/dist/esm-es5/nano-global-nav.entry.js.map +1 -1
  121. package/dist/esm-es5/nano-input.entry.js +2 -2
  122. package/dist/esm-es5/nano-input.entry.js.map +1 -1
  123. package/dist/esm-es5/nano-nav-item_2.entry.js +1 -1
  124. package/dist/esm-es5/nano-nav-item_2.entry.js.map +1 -1
  125. package/dist/esm-es5/nano-tooltip.entry.js +1 -1
  126. package/dist/esm-es5/{popover-7639005b.js → popover-a03563f3.js} +2 -2
  127. package/dist/esm-es5/popover-a03563f3.js.map +1 -0
  128. package/dist/nano-components/nano-components.esm.js +1 -1
  129. package/dist/nano-components/nano-components.esm.js.map +1 -1
  130. package/dist/nano-components/p-096682d9.system.js +1 -1
  131. package/dist/nano-components/p-096682d9.system.js.map +1 -1
  132. package/dist/nano-components/{p-820d9e23.system.entry.js → p-09e38c5f.system.entry.js} +2 -2
  133. package/dist/nano-components/p-09e38c5f.system.entry.js.map +1 -0
  134. package/dist/nano-components/p-10a6216d.system.entry.js +5 -0
  135. package/dist/nano-components/p-10a6216d.system.entry.js.map +1 -0
  136. package/dist/nano-components/p-18176c26.system.entry.js +5 -0
  137. package/dist/nano-components/p-18176c26.system.entry.js.map +1 -0
  138. package/dist/nano-components/{p-e7fdc62d.entry.js → p-1e8321ea.entry.js} +2 -2
  139. package/dist/nano-components/{p-e7fdc62d.entry.js.map → p-1e8321ea.entry.js.map} +0 -0
  140. package/dist/nano-components/{p-f9e30f31.system.entry.js → p-2057d480.system.entry.js} +2 -2
  141. package/dist/nano-components/p-2057d480.system.entry.js.map +1 -0
  142. package/dist/nano-components/{p-9acc4596.system.entry.js → p-2ae4918d.system.entry.js} +3 -3
  143. package/dist/nano-components/{p-9acc4596.system.entry.js.map → p-2ae4918d.system.entry.js.map} +0 -0
  144. package/dist/nano-components/{p-c9d09839.entry.js → p-313970ff.entry.js} +2 -2
  145. package/dist/nano-components/{p-c9d09839.entry.js.map → p-313970ff.entry.js.map} +0 -0
  146. package/dist/nano-components/{p-178c34e3.js → p-3de7735c.js} +2 -2
  147. package/dist/nano-components/p-3de7735c.js.map +1 -0
  148. package/dist/nano-components/{p-93448bcd.system.entry.js → p-4265cf95.system.entry.js} +2 -2
  149. package/dist/nano-components/{p-93448bcd.system.entry.js.map → p-4265cf95.system.entry.js.map} +0 -0
  150. package/dist/nano-components/{p-f3bf942d.entry.js → p-457d4893.entry.js} +2 -2
  151. package/dist/nano-components/p-457d4893.entry.js.map +1 -0
  152. package/dist/nano-components/{p-383fda90.system.entry.js → p-4870e76d.system.entry.js} +2 -2
  153. package/dist/nano-components/{p-383fda90.system.entry.js.map → p-4870e76d.system.entry.js.map} +0 -0
  154. package/dist/nano-components/{p-20db18f3.entry.js → p-5a315696.entry.js} +2 -2
  155. package/dist/nano-components/{p-20db18f3.entry.js.map → p-5a315696.entry.js.map} +0 -0
  156. package/dist/nano-components/p-802e1416.system.entry.js +5 -0
  157. package/dist/nano-components/{p-ef4e0912.system.entry.js.map → p-802e1416.system.entry.js.map} +1 -1
  158. package/dist/nano-components/p-829d7f05.system.entry.js +5 -0
  159. package/dist/nano-components/p-829d7f05.system.entry.js.map +1 -0
  160. package/dist/nano-components/p-9d35768b.entry.js +5 -0
  161. package/dist/nano-components/p-9d35768b.entry.js.map +1 -0
  162. package/dist/nano-components/p-aaef7cc7.js +5 -0
  163. package/dist/nano-components/p-aaef7cc7.js.map +1 -0
  164. package/dist/nano-components/p-af7abf5e.entry.js +5 -0
  165. package/dist/nano-components/p-af7abf5e.entry.js.map +1 -0
  166. package/dist/nano-components/{p-8de6e276.entry.js → p-b4f8e541.entry.js} +2 -2
  167. package/dist/nano-components/p-b4f8e541.entry.js.map +1 -0
  168. package/dist/nano-components/p-df0897ec.system.js +5 -0
  169. package/dist/nano-components/p-df0897ec.system.js.map +1 -0
  170. package/dist/nano-components/{p-9745d44e.system.js → p-e43ec257.system.js} +2 -2
  171. package/dist/nano-components/p-e43ec257.system.js.map +1 -0
  172. package/dist/nano-components/p-e7c69d4f.entry.js +5 -0
  173. package/dist/nano-components/{p-d6569144.entry.js.map → p-e7c69d4f.entry.js.map} +1 -1
  174. package/dist/nano-components/p-f79c3ea0.entry.js +5 -0
  175. package/dist/nano-components/p-f79c3ea0.entry.js.map +1 -0
  176. package/dist/types/components/global-nav/global-nav.d.ts +10 -3
  177. package/dist/types/components/nav-item/nav-item.d.ts +4 -0
  178. package/dist/types/components/select/select.d.ts +0 -1
  179. package/dist/types/components.d.ts +19 -3
  180. package/docs-json.json +52 -15
  181. package/docs-vscode.json +9 -1
  182. package/package.json +4 -3
  183. package/dist/cjs/form-control-3bc82e3e.js.map +0 -1
  184. package/dist/esm/form-control-67eeb108.js.map +0 -1
  185. package/dist/esm-es5/form-control-67eeb108.js +0 -5
  186. package/dist/esm-es5/form-control-67eeb108.js.map +0 -1
  187. package/dist/esm-es5/popover-7639005b.js.map +0 -1
  188. package/dist/nano-components/p-12f70017.system.entry.js +0 -5
  189. package/dist/nano-components/p-12f70017.system.entry.js.map +0 -1
  190. package/dist/nano-components/p-178c34e3.js.map +0 -1
  191. package/dist/nano-components/p-2559e9c1.entry.js +0 -5
  192. package/dist/nano-components/p-2559e9c1.entry.js.map +0 -1
  193. package/dist/nano-components/p-2be7aab0.system.entry.js +0 -5
  194. package/dist/nano-components/p-2be7aab0.system.entry.js.map +0 -1
  195. package/dist/nano-components/p-2e38a927.entry.js +0 -5
  196. package/dist/nano-components/p-2e38a927.entry.js.map +0 -1
  197. package/dist/nano-components/p-3a13948a.system.entry.js +0 -5
  198. package/dist/nano-components/p-3a13948a.system.entry.js.map +0 -1
  199. package/dist/nano-components/p-672e5547.js +0 -5
  200. package/dist/nano-components/p-672e5547.js.map +0 -1
  201. package/dist/nano-components/p-6dd58c39.entry.js +0 -5
  202. package/dist/nano-components/p-6dd58c39.entry.js.map +0 -1
  203. package/dist/nano-components/p-820d9e23.system.entry.js.map +0 -1
  204. package/dist/nano-components/p-8de6e276.entry.js.map +0 -1
  205. package/dist/nano-components/p-9745d44e.system.js.map +0 -1
  206. package/dist/nano-components/p-d6569144.entry.js +0 -5
  207. package/dist/nano-components/p-ea5eb591.system.js +0 -5
  208. package/dist/nano-components/p-ea5eb591.system.js.map +0 -1
  209. package/dist/nano-components/p-ef4e0912.system.entry.js +0 -5
  210. package/dist/nano-components/p-f3bf942d.entry.js.map +0 -1
  211. package/dist/nano-components/p-f9e30f31.system.entry.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/utils/fetch.ts","src/components/global-nav/global-nav.scss?tag=nano-global-nav&encapsulation=shadow","src/components/global-nav/global-nav.tsx"],"names":["clientFetch","url","_a","body","customConfig","__rest","headers","Accept","Access-Control-Allow-Origin","Content-Type","Cache","config","Object","assign","method","credentials","keepalive","mode","JSON","stringify","id","setTimeout","window","AbortController","controller_1","_b","timeout","abort","signal","fetch","response","_c","sent","clearTimeout","ok","json","text","errorMessage","Error","globalNavCss","THRESHOLDBREAKS","search","about","main","login","icon","GlobalNav","exports","class_1","hostRef","_this","this","currSize","thresholdsGoingUp","THRESHOLDLIMIT","keys","length","autocompleteEles","currAIndex","isLoggedIn","myAccData","aboutNavItms","siteNavItms","loggedInNavItms","hasLoggedinSlot","hasSiteSlot","hasPromotionSlot","aboutSlotLen","iconSlotLen","mainSlotLen","overflowSlotLen","searchSlotLen","internalSearchIndeces","thresholdReady","remoteDataReady","ready","isResizing","threshold","modalOpen","modalIsOpen","searchBarShown","scrollingUp","searchLoading","showAutocomplete","secondaryMenuOpen","userMenuOpen","menuFullScreen","searchValInternal","env","ssoRedirect","encodeURIComponent","location","href","getMyAccountData","activeMyAccountSections","showSearch","showLogo","logoUrl","protocol","host","searchIndeces","myAccountUser","searchValue","searchIndex","cartCount","msgCount","cartUrl","msgUrl","setResizingState","state","debounceSetResizingState","debounce","onMenuBtnKeyDown","ev","key","menuClose","menuOpen","onMenuBtnClick","e","preventDefault","menuDiv","style","display","menuWrapDiv","addEventListener","focus","preventScroll","scrollHeight","innerHeight","document","overflow","overflowX","onMenuHidden","removeEventListener","activeElement","menuBtn","mainBarDiv","force","relatedTarget","closestElement","closest","subMenuClose","target","open","onUserBtnClick","onUserBtnKeyDown","onUserMenuBlur","onSearchBtnClick","searchbarShow","searchbarHide","onSearchBtnKeyDown","onSearchBarShown","searchBarEl","searchInput","setFocus","onSearchBarHidden","height","onSearchInput","value","isSearchValSet","detail","type","onSearchChange","__awaiter","autocompleteResults","nanoSearchReset","emit","currentIndex","currentSelectedIndex","processSearchResults","alogliaIndex","attributesToSnippet","hitsPerPage","filters","Math","floor","Date","now","apply","_e","console","error","e_1","scopeSearch","_d","onSearchSubmit","showAutocompleteResults","algoliaSearchResults","queries","map","index","indexName","query","facets","algoliaClient","multipleQueries","nanoSearchError","e_2","results","result","i","name","selected","domain","domains","allGroup","nanoSearchResult","client","apiKey","searchApiKey","appId","searchAppId","onSearchIndexChange","indexStr","selectedIndex","find","switchIndexSubmit","onAutocompleteBlur","hits","onAutocompleteInteract","testIndex","el","shadowRoot","found_1","ele","setActiveElement","found","click","prototype","submitSearch","getMyAccData","ssoDataUrl","module","import","user","processMyAccLinks","processMyAccData","e_3","foundIndex","changeInternalSearchVal","initAlgoliaClient","algoliasearch","addAlgoliaIndeces","addIndeces","__spreadArray","forEach","initIndex","thresholdChange","newThreshold","oldThreshold","ratioChange","intersectRatio","siteContent","minHeight","barsDiv","clientHeight","menuItems_1","barItems_1","readTask","Array","from","querySelectorAll","push","writeTask","item","classList","add","remove","assessReady","remoteReady","attachIO","isReady","nanoIsReady","setupAutocompleteBlur","slotChange","thresholdClasses","classes","onWindowResize","innerWidth","secondaryOpen","secondaryMenu","stopPropagation","menuContentDiv","secondaryClose","handleUserMenu","displayTransition","userLinkPanel","querySelector","autocompleteSnippet","hit","lookFor","_snippetResult","prop","matchLevel","title","substring","resetHitFocus","autocompleteEle","setAttribute","assessSlottedContent","io","root","IntersectionObserver","data","slice","intersectionRatio","observe","componentDidLoad","debounceResize","bind","componentWillLoad","ComponentStore","init","MutationObserver","mo","childList","subtree","disconnectedCallback","disconnect","undefined","connectedCallback","autocompleteList","content","currentScopeHits","scopeChangeSuggestions","scopeSuggestReducer","total","currentSuggestReducer","reduce","scopeSuggestions_1","h","class","role","ref","a","tabindex","innerHTML","button","onClick","onMouseDown","aria-expanded","hidden","onKeyDown","searchWidget","onSubmit","label","hideLabel","showInlineError","onNanoChange","mask","slot","aria-label","clear-input","placeholder","input","onNanoInput","aria-autocomplete","aria-activedescendant","aria-controls","onNanoFocus","search-icon","search-icon--search","search-icon--show","search-icon--loader","render","isRtl","ownerDocument","dir","Host","join","resizing","global-nav","scrolling-down","gn-menu","has-promotion","menu-full-screen","secondary-open","div","includes","urls","link","address","forgot_password","logout","auto-resize","break-point-max","quietMode","w","btn","src","getAssetPath","alt","aria-owns","icon-btn","user-links-btn","search-bar","show","onTouchEnd","domainFor","origin","dm","multiResults","singleResult","match","indeces","api_key","app_id","cart","count","notifications","messages","links","area"],"mappings":"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","sourcesContent":["interface FetchInputConfig {\n body?: { [prop: string]: string };\n headers?: { [prop: string]: string };\n [prop: string]: any;\n}\n\nexport async function clientFetch(\n url: string,\n { body, ...customConfig }: FetchInputConfig = {}\n) {\n const headers: { [prop: string]: string } = {\n Accept: 'application/json, text/plain, */*',\n 'Access-Control-Allow-Origin': '*',\n 'Content-Type': 'application/json',\n Cache: 'no-cache',\n };\n const config: RequestInit = {\n method: body ? 'POST' : 'GET',\n credentials: 'include',\n keepalive: true,\n mode: 'cors',\n ...customConfig,\n headers: {\n ...headers,\n ...customConfig.headers,\n },\n };\n if (body) {\n config.body = JSON.stringify(body);\n }\n\n let id = setTimeout(() => {}, 0);\n if (window.AbortController) {\n const controller = new AbortController();\n const { timeout = 500 } = customConfig;\n id = setTimeout(() => controller.abort(), timeout);\n config.signal = controller.signal;\n }\n\n const response = await fetch(url, config);\n clearTimeout(id);\n\n if (response.ok) {\n return await response.json();\n } else {\n const errorMessage = await response.text();\n return new Error(errorMessage);\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/base';\n@import '../../global/style/nano-theme/colours';\n@import '../../global/style/nano-theme/layers';\n\n:host {\n /**\n * @prop --padding: padding used for many elements. Defaults to '12px 0'.\n * @prop --padding-top: top padding used for many elements. Defaults to --padding.\n * @prop --padding-bottom: bottom padding used for many elements. Defaults to --padding.\n * @prop --padding-end: end (left on l2r / right on r2l) padding used for many elements. Defaulst to --padding.\n * @prop --padding-start: start (right on l2r / left on r2l) padding used for many elements. Defaults to --padding.\n * @prop --bar-background: Background of the bar element. Defaults to rgb(17, 85, 113).\n * @prop --bar-text-color: Text color within the bar element. Defaults to white.\n * @prop --bar-color-shade: Color variant used within the bar element. Defaults to rgb(40, 110, 133).\n * @prop --bar-color-tint: Color variant used within the bar element. Defaults to rgb(88, 140, 161).\n * @prop --bar-color-focus: Focus color of the form element within search. Defaults to #90c6e7;\n * @prop --bar-color-focus: Focus color of the form element within search. Defaults to #90c6e7;\n * @prop --menu-background: Background 'burger', menu element. Defaults to #001a21;\n * @prop --menu-text-color: Text color 'burger', menu element. Defaults to white;\n */\n --padding: 12px;\n --padding-top: var(--padding);\n --padding-end: var(--padding);\n --padding-bottom: var(--padding);\n --padding-start: var(--padding);\n --bar-background: #005c75;\n --bar-text-color: white;\n --bar-color-shade: rgb(19, 89, 111);\n --bar-color-tint: rgb(19, 89, 111);\n --bar-color-focus: #90c6e7;\n --menu-background: #001a21;\n --menu-text-color: white;\n --menu-dropdown-bg: #196c82;\n --menu-dropdown-color: white;\n\n display: block;\n position: relative;\n line-height: 1.5;\n height: 100%;\n\n * {\n box-sizing: inherit;\n }\n}\n\n// Common\n.global-nav {\n @include text-inherit();\n\n font-size: 0.88em;\n z-index: #{$layer-index-menubar};\n\n button {\n background: none;\n color: inherit;\n border: none;\n padding: 0;\n }\n\n .icon-btn {\n position: relative;\n background: none;\n color: inherit;\n border: none;\n align-self: normal;\n padding: 9px 7px;\n cursor: pointer;\n display: flex;\n align-items: center;\n\n nano-icon {\n width: 18px;\n height: 18px;\n }\n }\n\n ::slotted(nano-nav-item[slot='icon']) {\n --padding-top: 9px;\n --padding-bottom: 9px;\n --padding-start: 7px;\n --padding-end: 7px;\n --display: flex;\n\n font-size: 18px;\n }\n\n a {\n color: inherit;\n text-decoration: none;\n white-space: nowrap;\n }\n\n .nav-links {\n &_title {\n margin: 8px 0 3px;\n }\n\n ul {\n margin: 0;\n padding: 0;\n }\n\n li {\n list-style: none;\n }\n }\n\n .login-btn {\n display: flex;\n align-items: center;\n font-size: 0.94em;\n }\n\n .menu-btn {\n padding: 9px var(--padding) 9px var(--padding);\n }\n}\n\n// Popup / Slideout Menu\n.gn-menu {\n position: fixed;\n top: 0;\n left: 0;\n z-index: -1;\n display: none;\n transition: z-index 0.01s ease 0.2s;\n height: 100vh;\n width: 100vw;\n overflow-y: auto;\n\n @include rtl-host() {\n left: auto;\n right: 0;\n }\n\n :host(.threshold-2) & {\n position: absolute;\n width: calc(100vw - 20px);\n }\n\n &.menu-full-screen {\n width: 100vw !important;\n }\n\n // &.secondary-open {\n // overflow-y: hidden;\n // }\n\n &_wrap {\n max-width: 92vw;\n width: 335px;\n background: var(--menu-background);\n color: var(--menu-text-color);\n padding: var(--padding) 0;\n box-shadow: 0 0 36px 0 rgba(0, 0, 0, 0.8);\n position: relative;\n pointer-events: all;\n margin-bottom: 36px;\n opacity: 0;\n outline: none;\n transition: transform 0.2s ease, opacity 0.2s ease;\n\n &.has-promotion {\n padding: var(--padding) 0 0;\n }\n }\n\n &.open {\n z-index: #{$layer-index-dropdown};\n transition: z-index 0.01s ease;\n\n .gn-menu_wrap {\n opacity: 1;\n transform: translate3d(0, 0, 0) !important;\n transition: transform 0.2s ease 0.01s, opacity 0.2s ease 0.01s;\n }\n }\n\n &_actions {\n @include padding(null, calc(var(--padding) / 2), null, null);\n\n display: flex;\n justify-content: space-between;\n\n &-counter {\n background: #d0021b;\n color: #fff;\n position: absolute;\n bottom: 4px;\n right: 0;\n left: auto;\n font-size: 9px;\n height: 14px;\n line-height: 14px;\n width: auto;\n min-width: 14px;\n border-radius: 50%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n text-align: center;\n text-indent: 0;\n }\n }\n\n .content {\n &-wrap {\n position: relative;\n overflow: hidden;\n transition: 0.2s ease min-height;\n min-height: 190px;\n }\n\n &--sub {\n padding: var(--padding) 0 var(--padding) 7px;\n }\n }\n\n .menu-btn {\n @include margin(null, auto, null, null);\n }\n\n .nav-links {\n display: flex;\n flex-wrap: wrap;\n\n ::slotted(nano-nav-item),\n nano-nav-item {\n --icon-size: 14px;\n --display: inline-block;\n --secondary-bg-color: #001a21;\n --padding-top: 10px;\n --padding-bottom: 10px;\n --padding-end: calc(var(--padding) * 2);\n --padding-start: calc(var(--padding) + 3px);\n --color: white;\n --color-hover: #{map.get($colors, lightblue)};\n --bg-color-hover: transparent;\n --bg-color-focus: #002530;\n --focus-outline: none;\n\n font-size: 0.99em;\n width: 100%;\n // margin: 0 0;\n }\n\n .user-nav {\n --bg-color: #193037;\n --padding-top: 9px;\n --padding-bottom: 9px;\n\n font-weight: bold;\n margin: 5px 0 0;\n\n ::slotted(nano-nav-item),\n nano-nav-item {\n font-weight: 500;\n\n --bg-color: transparent;\n }\n }\n\n &_title {\n margin: 0 var(--padding) 4px;\n border-bottom: 1px solid #33484d;\n padding-bottom: 8px;\n font-size: 0.86em;\n text-transform: uppercase;\n color: map.get($colors, lightblue);\n letter-spacing: 1px;\n font-weight: 700;\n }\n\n &-wrap {\n margin: 18px 0;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n .back-btn {\n border-top: 1px solid #33484d;\n border-bottom: 1px solid #33484d;\n display: flex;\n align-items: center;\n padding: 10px 11px 10px 0;\n width: 100%;\n font-size: 12px;\n text-transform: uppercase;\n color: map.get($colors, lightblue);\n letter-spacing: 1px;\n font-weight: 700;\n\n nano-icon {\n @include margin(null, 10px, null, null);\n\n font-size: 12px;\n color: white;\n }\n }\n\n &--sub {\n display: flex;\n flex-wrap: wrap;\n\n ::slotted(nano-nav-item),\n nano-nav-item {\n --border-bottom: none;\n --padding-end: var(--padding);\n --padding-start: var(--padding);\n --padding-top: 8px;\n --padding-bottom: 8px;\n\n margin: 0;\n width: 50%;\n line-height: 1.8;\n }\n }\n\n .content {\n padding: 8px var(--padding);\n }\n }\n\n .login-btn {\n @include padding(9px, var(--padding), 9px, 7px);\n\n nano-icon {\n @include margin(null, null, null, 10px);\n }\n }\n\n .logout-btn {\n justify-content: flex-end;\n\n a {\n padding: 0 5px;\n }\n }\n}\n\n// Main Bar\n.sticker-trigger {\n background: var(--bar-background);\n width: 100%;\n z-index: calc(#{$layer-index-menubar} + 1);\n}\n\n.bars {\n color: var(--bar-text-color);\n z-index: #{$layer-index-menubar};\n position: relative;\n max-width: 100%;\n min-width: 100%;\n box-shadow: none;\n transition: 0.2s ease box-shadow;\n\n [stuck] & {\n box-shadow: 0 1px 25px 0 rgba(0, 0, 0, 0.15);\n }\n\n &::before {\n content: '';\n width: 100%;\n height: 100%;\n z-index: -1;\n background: var(--bar-background);\n position: absolute;\n }\n\n .search {\n &-widget {\n @include margin(null, auto, null, 11px);\n\n position: relative;\n flex: 1 1 auto;\n max-width: 45vw;\n min-width: 269px;\n max-height: 36px;\n }\n\n &-inputs {\n display: flex;\n margin: 0;\n\n input[type='submit'] {\n display: none;\n }\n }\n\n &-autocomplete {\n position: absolute;\n top: calc(100% - 2px);\n width: 100%;\n left: 0;\n background: white;\n border: 2px solid var(--bar-color-tint);\n border-radius: 0 0 5px 5px;\n color: map.get($colors, black);\n font-size: 0.85em;\n padding: calc(var(--padding) / 2) 0 1px 0;\n z-index: 1;\n\n @include rtl-host() {\n left: auto;\n right: 0;\n }\n\n &-hit {\n padding:\n calc(var(--padding) / 4) var(--padding)\n calc(var(--padding) / 4) var(--padding);\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n display: block;\n text-align: left;\n line-height: 1.5;\n cursor: pointer;\n\n @include rtl-host() {\n text-align: right;\n }\n\n &-scope {\n font-size: 0.76em;\n // text-indent: 10px;\n color: rgb(167, 176, 179);\n font-weight: 600;\n }\n\n &:hover,\n &:focus {\n background-color: map.get($colors, lightgrey);\n }\n\n .search__highlight,\n em {\n font-weight: bold;\n font-style: normal;\n }\n\n &--no-result {\n &:hover,\n &:focus {\n background: none !important;\n }\n }\n }\n\n &-foot {\n margin: 7px 0 0;\n }\n\n &-submit {\n background: none;\n border: none;\n align-self: normal;\n padding: 9px var(--padding);\n cursor: pointer;\n display: flex;\n align-items: center;\n color: map.get($colors, blue);\n justify-content: flex-end;\n width: 100%;\n text-decoration: underline;\n border-top: 1px solid rgb(232, 234, 234);\n\n &:hover,\n &:focus {\n background-color: map.get($colors, lightgrey);\n }\n }\n }\n }\n\n .search-input {\n --input-border-style: solid 1px rgb(85, 140, 157);\n --input-border-style--focus: solid 1px var(--bar-color-focus, #90c6e7);\n --input-border-width: 1px;\n\n font-size: 0.9em;\n }\n\n nano-select.search-input {\n --input-bg-color: var(--bar-color-tint, rgb(88, 140, 161));\n --input-text-color: inherit;\n --input-border-radius: 5px 0 0 5px;\n\n flex: 0 1 auto;\n width: auto;\n display: flex;\n align-items: center;\n flex-direction: column;\n position: relative;\n left: 1px;\n\n @include rtl-host() {\n --input-border-radius: 0 5px 5px 0;\n }\n\n :host(:not(.ready)) & {\n overflow: hidden;\n max-height: 1em;\n }\n\n .down-arrow {\n font-size: 0.65em;\n }\n }\n\n nano-input.search-input {\n --input-text-color: inherit;\n --input-bg-color: var(--bar-color-shade, rgb(40, 110, 133));\n --clear-btn-color: #{map.get($colors, black)};\n --input-border-radius: 0 5px 5px 0;\n --placeholder-color: white;\n\n width: 206px;\n display: flex;\n align-items: center;\n flex-direction: column;\n flex: 1;\n\n @include rtl-host() {\n --input-border-radius: 5px 0 0 5px;\n }\n\n :host(:not(.ready)) & {\n overflow: hidden;\n max-height: 1em;\n }\n\n &.has-value {\n --input-bg-color: #{map.get($colors, white)};\n --input-text-color: #{map.get($colors, black)};\n\n .search-icon {\n color: #{map.get($colors, black)};\n }\n }\n\n .search-icon {\n background: none;\n color: white;\n padding: 0 8px;\n display: none;\n\n &--show {\n display: flex;\n }\n\n &--loader {\n animation: spin 1s linear infinite;\n\n @keyframes spin {\n 100% {\n transform: rotate(360deg);\n }\n }\n }\n\n nano-icon {\n height: 1.4em;\n }\n }\n }\n}\n\n.main-bar {\n width: 100%;\n\n @include padding(var(--padding), var(--padding), var(--padding), 0);\n\n display: flex;\n align-items: center;\n justify-content: space-between;\n overflow-x: hidden;\n\n &:focus {\n outline: none;\n }\n\n :host(.ready) & {\n overflow-x: visible;\n }\n\n > *,\n ::slotted(*) {\n transition: opacity 0.2s ease;\n\n :host(:not(.ready)) & {\n opacity: 0 !important;\n }\n\n :host(.ready) & {\n opacity: 1;\n }\n\n :host(.resizing) & {\n opacity: 0 !important;\n }\n }\n\n > * {\n flex: 0 0 auto;\n\n ::slotted(nano-nav-item[slot='icon']) {\n @include margin(null, null, null, 11px);\n }\n\n ::slotted(nano-nav-item),\n nano-nav-item {\n --color-hover: #{map.get($colors, lightgrey)};\n --secondary-bg-color: var(--menu-dropdown-bg);\n --secondary-color: var(--menu-dropdown-color);\n --bg-color-open: var(--bar-background);\n\n text-decoration: none !important;\n }\n }\n\n .icon-btn {\n @include margin(0, null, 0, 6px);\n\n :host(.threshold-2) & {\n @include margin(0, null, 0, 11px);\n }\n }\n\n .menu-btn.icon-btn {\n margin: 0 !important;\n\n @include ltr-host() {\n border-right: 1.5px solid var(--bar-color-shade);\n }\n\n @include rtl-host() {\n border-left: 1.5px solid var(--bar-color-shade);\n }\n }\n\n .user-links {\n position: relative;\n\n .icon-btn {\n @include padding(null, 0, null, null);\n\n font-size: 0.93em;\n font-weight: 500;\n\n nano-icon {\n @include margin(null, null, null, 5px);\n\n width: 16px;\n height: 16px;\n transform-origin: center;\n transition: transform 0.2s ease, color 0.2s ease;\n }\n\n &.open {\n nano-icon {\n transform: rotate(180deg);\n color: map.get($colors, blue);\n }\n }\n }\n\n &-panel {\n display: none;\n position: absolute;\n border-radius: 4px 0 4px 4px;\n box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.4);\n background-color: #568c9d;\n opacity: 0;\n transform: translate3d(0, 24px, 0);\n transition: transform 0.2s ease, opacity 0.2s ease;\n right: 0;\n font-size: 0.85em;\n min-width: 250px;\n z-index: 1;\n\n @include rtl-host() {\n right: auto;\n left: 0;\n }\n\n &:focus {\n outline: none;\n }\n\n &.show {\n opacity: 1;\n transform: translate3d(0, 4px, 0);\n }\n\n &-content {\n padding: 0 18px;\n display: flex;\n flex-direction: column;\n\n a {\n padding: 11px 0;\n border-bottom: #669dac 1px solid;\n\n &:hover,\n &:focus {\n color: map.get($colors, darkgrey);\n }\n\n &:last-child {\n border-bottom: none;\n }\n }\n }\n\n &-foot {\n background-color: #aac5cd;\n border-radius: 0 0 4px 4px;\n padding: var(--padding);\n color: #455556;\n display: flex;\n align-items: center;\n font-weight: 500;\n justify-content: space-between;\n\n a:hover {\n text-decoration: underline;\n }\n }\n }\n }\n\n .logo {\n height: 34px;\n width: auto;\n min-width: 196px;\n\n :host(:not(.threshold-1)) & {\n height: 30px;\n }\n }\n\n .logo-link {\n @include margin(null, auto, null, 0);\n @include padding(null, 11px, null, 11px);\n\n display: flex;\n align-items: center;\n border: none;\n }\n\n .nav-links {\n font-size: 0.75rem;\n flex: 1 0 auto;\n display: flex;\n justify-content: space-around;\n\n ul {\n display: flex;\n justify-content: space-around;\n }\n\n ::slotted(nano-nav-item),\n nano-nav-item {\n --padding-top: 7px;\n --padding-bottom: 7px;\n --padding-end: 2px;\n --padding-start: 2px;\n --margin: 0 8px;\n }\n\n &--main {\n justify-content: flex-start;\n letter-spacing: 0.33px;\n font-weight: 600;\n font-stretch: expanded;\n font-size: 0.8125rem;\n\n ::slotted(nano-nav-item) {\n --color: #fff;\n --padding-end: 3px;\n --padding-start: 0;\n }\n }\n\n &--sub {\n @include margin(null, null, null, 6px);\n\n --color: #e2e2e2;\n\n justify-content: flex-end;\n }\n }\n\n .login-btn {\n display: inline-block;\n border-radius: 4px;\n background-color: #17bb75;\n color: #fff;\n padding: 3px 10px;\n position: relative;\n left: auto;\n bottom: auto;\n\n @include margin(null, 0, null, 11px);\n }\n\n .measure-ele {\n min-width: 1px;\n display: block;\n margin: 0;\n padding: 0;\n }\n}\n\n.search-bar {\n height: 0;\n overflow: hidden;\n transition: 0.2s ease height;\n padding: 0 var(--padding);\n outline: none;\n max-width: 45em;\n margin-left: auto;\n\n .search-widget {\n @include margin(0, 0, 0, 0);\n\n overflow: inherit;\n max-width: none;\n max-height: none;\n padding: 0 0 var(--padding);\n }\n\n .search-inputs {\n padding: 0 0;\n margin: 0 0;\n }\n\n .search-autocomplete {\n top: calc(100% - (var(--padding) + 1px));\n }\n}\n\n.site-content {\n display: flex;\n transition: min-height 0.2s ease;\n min-height: calc(100% - 61px);\n position: relative;\n z-index: auto;\n align-items: stretch;\n}\n\n.mask {\n opacity: 0;\n background: rgba(0, 0, 0, 0.3);\n position: fixed;\n left: 0;\n right: 0;\n top: 0;\n height: 100vh;\n z-index: -1;\n transition:\n transform 0.2s ease,\n opacity 0.2s ease,\n visibility 0.01s ease 0.2s,\n z-index 0.01s ease 0.2s;\n visibility: hidden;\n\n &.open {\n opacity: 1;\n transition:\n z-index 0.01s ease,\n visibility 0.01s ease,\n transform 0.2s ease 0.01s,\n opacity 0.2s ease 0.01s;\n z-index: 3;\n visibility: visible;\n }\n}\n","import {\n Component,\n h,\n Host,\n Element,\n State,\n Watch,\n Event,\n EventEmitter,\n Prop,\n Listen,\n Build,\n getAssetPath,\n readTask,\n writeTask,\n Method,\n VNode,\n ComponentInterface,\n} from '@stencil/core';\nimport algoliasearch, { SearchClient as AlgoliaClient } from 'algoliasearch';\nimport { debounce, closestElement, displayTransition } from '../../utils';\nimport { clientFetch } from '../../utils/fetch';\nimport {\n InputChangeEventDetail,\n SelectChangeEventDetail,\n AlgoliaResults,\n SearchIndex,\n MyAccountLink,\n AloliaSearchResultDetail,\n AlgoliaMultiResult,\n MyAccountUser,\n NavItemEventDetail,\n AlgoliaResultHit,\n AlgoliaNetworkError,\n AlgoliaMultiResults,\n} from '../../interface';\nimport { ComponentStore } from '../../utils/store/component-store';\n\ninterface MyAccountData {\n user: MyAccountUser;\n cart: {\n count: number;\n url: string;\n };\n notifications: { count: number };\n hs: { lists?: Array<number> };\n registration: { next_url: string | null };\n links: null | MyAccountLink[];\n urls: {\n forgot_password: string | null;\n logout: string | null;\n login: string | null;\n messages: string | null;\n cart: string | null;\n };\n domains: [\n {\n origin: string;\n domain: string;\n }\n ];\n search: {\n app_id: string;\n api_key: string;\n indeces: [\n {\n index: string;\n name: string;\n domain: string;\n all_group?: boolean;\n filters?: [string];\n }\n ];\n };\n}\n\n// the 'breakpoints' that different segments of content go into or out-of the burger / overflow menu\nconst THRESHOLDBREAKS = {\n search: 0,\n about: 1,\n main: 2,\n login: 3,\n icon: 4,\n};\n\n/**\n * Nanopore digital global navigation and search bar.\n * Incorporates MyAccount / SSO states (messages / cart / user name etc).\n * Incorporates Algolia search.\n * GlobalNav is designed to be at the root of the `<body>`.\n * There should only be one <nano-global-nav> in the DOM.\n * The following demo uses static data.\n * @slot main - main nav items. Should be used with nano-nav-item's\n * @slot icon - nano-nav-item's displayed alongside icon links that come from MyAccount\n * @slot loggedin - nano-nav-item's to display when users are signed in, alongside links from from MyAccount (within the overflow menu panel).\n * @slot about - nano-nav-item's to display with about links that come from MyAccount\n * @slot site - nano-nav-item's to display with site links that come from MyAccount\n * @slot overflow - items to always display in the overflow menu\n * @slot search - when not using myaccount search OR show-search=\"false\" you can utilise the search slot\n * @slot promotion - a free area for any promotional content, displayed within the overflow menu panel\n * @slot logo - when show-logo=\"false\" you can utilise the logo slot\n */\n@Component({\n tag: 'nano-global-nav',\n styleUrl: 'global-nav.scss',\n shadow: true,\n assetsDirs: ['assets'],\n})\nexport class GlobalNav implements ComponentInterface {\n // position and dimension state\n private io: IntersectionObserver;\n private debounceResize: () => {};\n private debounceSetResizingState: () => {};\n private currSize: number = 0;\n private thresholdsGoingUp: boolean = false;\n private THRESHOLDLIMIT = Object.keys(THRESHOLDBREAKS).length;\n\n // menu\n private menuDiv: HTMLElement;\n private menuBtn: HTMLButtonElement;\n private menuWrapDiv: HTMLDivElement;\n private menuContentDiv: HTMLDivElement;\n\n // search\n private searchBarEl: HTMLDivElement;\n private searchInput: HTMLNanoInputElement;\n private algoliaClient: AlgoliaClient;\n private currentIndex: SearchIndex;\n private autocompleteResults: AlgoliaResults | null;\n private autocompleteEles: Array<HTMLAnchorElement | HTMLButtonElement> = [];\n private currAIndex: number = -1;\n private algoliaSearchResults: AlgoliaMultiResults | null;\n private scopeSearch: AlgoliaMultiResults | null;\n\n // general\n private mainBarDiv: HTMLElement;\n private barsDiv: HTMLDivElement;\n private siteContent: HTMLDivElement;\n private userLinkPanel: HTMLDivElement;\n private isLoggedIn: boolean = false;\n\n private myAccData: MyAccountData = null;\n\n // myaccount links\n private aboutNavItms: MyAccountLink[] = [];\n private siteNavItms: MyAccountLink[] = [];\n private loggedInNavItms: MyAccountLink[] = [];\n\n // has slot tests\n private mo?: MutationObserver;\n @State() hasLoggedinSlot: boolean = false;\n @State() hasSiteSlot: boolean = false;\n @State() hasPromotionSlot: boolean = false;\n\n // slot item number tests\n @State() aboutSlotLen: number = 0;\n @State() iconSlotLen: number = 0;\n @State() mainSlotLen: number = 0;\n @State() overflowSlotLen: number = 0;\n @State() searchSlotLen: number = 0;\n\n @State() internalSearchIndeces: Array<SearchIndex> = [];\n @State() thresholdReady: boolean = false;\n @State() remoteDataReady: boolean = false;\n @State() ready: boolean = false;\n @State() isResizing: boolean = false;\n @State() intersectRatio: number;\n @State() threshold: number = this.THRESHOLDLIMIT;\n @State() modalOpen: boolean = false;\n @State() modalIsOpen: boolean = false;\n @State() searchBarShown: boolean = false;\n @State() scrollingUp: boolean = true;\n @State() searchLoading: boolean = false;\n @State() showAutocomplete: boolean = false;\n @State() secondaryMenuOpen: boolean = false;\n @State() userMenuOpen: boolean = false;\n @State() menuFullScreen: boolean = false;\n @State() searchValInternal: string = '';\n\n @Element() private el: HTMLNanoGlobalNavElement;\n\n /**\n * Connect to local, dev, test or prod MyAccount\n * environments to retrieve global nav / sso data.\n * Alternatively, you can use the `ssoDataUrl` prop.\n */\n @Prop() env?: 'local' | 'dev' | 'test' | 'prod' = 'prod';\n\n /**\n * A base url to retrieve global nav / sso data.\n * `nav_bar_data.json` will be appended to this url.\n * An alternative to the pre-defined `env` urls\n */\n @Prop() ssoDataUrl?: string;\n\n /**\n * Where to take user after SSO login\n */\n @Prop() ssoRedirect: string = encodeURIComponent(window.location.href);\n\n /**\n * Whether to attempt to get global nav / sso data from MyAccount\n */\n @Prop() getMyAccountData: boolean = true;\n\n /**\n * Active MyAccount link sections. By default all will show.\n */\n @Prop() activeMyAccountSections: (\n | 'about'\n | 'loggedin'\n | 'sites'\n | 'icons'\n )[] = null;\n\n /**\n * Whether to show search functionality\n */\n @Prop() showSearch: boolean = true;\n\n /**\n * Whether to show Nanopore logo\n */\n @Prop() showLogo: boolean = true;\n\n /**\n * The link to put on the logo\n */\n @Prop() logoUrl: string = location.protocol + '//' + location.host;\n\n /**\n * An array of Algolia search indexes (and optional display names). Will be automatically populated from MyAccount\n */\n @Prop() searchIndeces: Array<SearchIndex> = [];\n\n /**\n * Logged in user details automatically populated from MyAccount\n */\n @Prop({ mutable: true }) myAccountUser: {\n id: string | null;\n name: string | null;\n first_name: string | null;\n last_name: string | null;\n email: string | null;\n company: string | null;\n lifecycle_stage: string | null;\n indirect_customer: boolean;\n } = null;\n\n /**\n * An Algolia App ID key. Will be automatically populated from MyAccount\n */\n @Prop({ mutable: true }) searchAppId: string;\n\n /**\n * An Algolia API Key. Will be automatically populated from MyAccount\n */\n @Prop({ mutable: true }) searchApiKey: string;\n\n /**\n * A search value to passed to Algolia to programatically get or to preload search results\n */\n @Prop({ mutable: true }) searchValue: string = '';\n\n /**\n * Algolia search index to programatically set or to set an initial index\n */\n @Prop({ mutable: true }) searchIndex: string = 'all_prod_en';\n\n /**\n * MyAccount store cart count.\n */\n @Prop({ mutable: true }) cartCount: number = 0;\n\n /**\n * MyAccount undread message count.\n */\n @Prop({ mutable: true }) msgCount: number = 0;\n\n /**\n * Url to the Nanopore store cart. Will default to the url supplied by MyAccount\n */\n @Prop({ mutable: true }) cartUrl: string = null;\n\n /**\n * Url to the Nanopore message center. Will default to the url supplied by MyAccount\n */\n @Prop({ mutable: true }) msgUrl: string = null;\n\n /**\n * Emitted when the global nav is ready.\n */\n @Event() nanoIsReady!: EventEmitter<void>;\n\n /**\n * Emitted when search results are successfully returned from Algolia.\n */\n @Event() nanoSearchResult!: EventEmitter<AloliaSearchResultDetail>;\n\n /**\n * Emitted when algolia returns an error.\n */\n @Event() nanoSearchError!: EventEmitter<AlgoliaNetworkError>;\n\n /**\n * Emitted when search field is cleared.\n */\n @Event() nanoSearchReset!: EventEmitter<AloliaSearchResultDetail>;\n\n /**\n * Submit the search form (a search value must be present)\n */\n @Method()\n async submitSearch() {\n this.onSearchSubmit();\n this.showAutocomplete = false;\n return;\n }\n\n @Watch('env')\n @Watch('ssoDataUrl')\n async getMyAccData() {\n if (!this.getMyAccountData || this.myAccData) {\n this.remoteDataReady = true;\n return;\n }\n\n let url = this.ssoDataUrl;\n\n if (!url) {\n switch (this.env) {\n case 'dev':\n url = 'https://myaccount-dev.nanoporetech.com/';\n break;\n case 'test':\n url = 'https://myaccount-test.nanoporetech.com/';\n break;\n default:\n url = 'https://myaccount.nanoporetech.com/';\n break;\n }\n }\n\n var config = { timeout: 5000 };\n\n try {\n if (this.env === 'local') {\n this.myAccData = (await import(\n `./assets/local-my-account.json`\n )) as unknown as MyAccountData;\n } else {\n this.myAccData = await clientFetch(url + 'nav_bar_data.json', config);\n }\n if (this.myAccData.user.id) {\n this.isLoggedIn = true;\n this.myAccountUser = this.myAccData.user;\n }\n this.processMyAccLinks();\n this.processMyAccData();\n setTimeout(() => (this.remoteDataReady = true), 300);\n } catch (e) {\n console.error(e);\n this.remoteDataReady = true;\n }\n }\n\n @Watch('searchIndex')\n currentSelectedIndex() {\n if (!this.internalSearchIndeces.length) {\n return;\n }\n\n let foundIndex = this.internalSearchIndeces.find(\n (index) => index.index === this.searchIndex\n );\n\n if (!foundIndex) {\n this.currentIndex = this.internalSearchIndeces[0];\n console.error('index not found');\n return;\n }\n\n this.currentIndex = foundIndex;\n return foundIndex;\n }\n\n @Watch('searchValInternal')\n changeInternalSearchVal() {\n if (this.searchValInternal !== this.searchValue)\n this.searchValue = this.searchValInternal;\n }\n\n @Watch('searchApiKey')\n @Watch('searchAppId')\n initAlgoliaClient() {\n if (!this.searchAppId || !this.searchApiKey) return;\n\n this.algoliaClient = algoliasearch(this.searchAppId, this.searchApiKey);\n this.addAlgoliaIndeces();\n }\n\n @Watch('searchIndeces')\n addIndeces() {\n this.internalSearchIndeces = [\n ...this.internalSearchIndeces,\n ...this.searchIndeces,\n ];\n }\n\n @Watch('internalSearchIndeces')\n addAlgoliaIndeces() {\n if (!this.algoliaClient || !this.internalSearchIndeces.length) return;\n\n this.internalSearchIndeces.forEach((searchIndex) => {\n searchIndex.alogliaIndex = this.algoliaClient.initIndex(\n searchIndex.index\n );\n });\n if (!this.searchIndex)\n this.searchIndex = this.internalSearchIndeces[0].index;\n }\n\n @Watch('threshold')\n thresholdChange(newThreshold, oldThreshold) {\n if (newThreshold > oldThreshold) {\n // we've resized to larger screen.\n this.thresholdsGoingUp = true;\n this.setResizingState(true);\n }\n }\n\n /**\n * Primary logic for resizing changes.\n * When content doesn't fit - we loop down through break points until it does\n */\n @Watch('intersectRatio')\n ratioChange() {\n if (this.intersectRatio < 1 && this.threshold > 0) {\n // content doesn't fit\n if (this.thresholdsGoingUp) this.setResizingState(true);\n this.threshold--;\n setTimeout(() => this.ratioChange(), 500);\n } else {\n this.thresholdReady = true;\n\n // content now fits so add / remove context classes\n // on nav-items depending on whether they're added to bar or burger.\n this.siteContent.style.minHeight = `calc(100% - ${\n this.barsDiv.clientHeight + 1\n }px)`;\n\n let menuItems: Array<Element>, barItems: Array<Element>;\n readTask(() => {\n menuItems = [\n ...Array.from(this.el.querySelectorAll('nano-nav-item[slot=\"site\"]')),\n ...Array.from(\n this.el.querySelectorAll('nano-nav-item[slot=\"overflow\"]')\n ),\n ];\n barItems = [];\n\n if (this.threshold < this.THRESHOLDLIMIT - THRESHOLDBREAKS.icon)\n menuItems.push(\n ...Array.from(\n this.el.querySelectorAll('nano-nav-item[slot=\"icon\"]')\n )\n );\n else\n barItems.push(\n ...Array.from(\n this.el.querySelectorAll('nano-nav-item[slot=\"icon\"]')\n )\n );\n\n if (this.threshold < this.THRESHOLDLIMIT - THRESHOLDBREAKS.login)\n menuItems.push(\n ...Array.from(\n this.el.querySelectorAll('nano-nav-item[slot=\"loggedin\"]')\n )\n );\n else\n barItems.push(\n ...Array.from(\n this.el.querySelectorAll('nano-nav-item[slot=\"loggedin\"]')\n )\n );\n\n if (this.threshold < this.THRESHOLDLIMIT - THRESHOLDBREAKS.main)\n menuItems.push(\n ...Array.from(\n this.el.querySelectorAll('nano-nav-item[slot=\"main\"]')\n )\n );\n else\n barItems.push(\n ...Array.from(\n this.el.querySelectorAll('nano-nav-item[slot=\"main\"]')\n )\n );\n\n if (this.threshold < this.THRESHOLDLIMIT - THRESHOLDBREAKS.about)\n menuItems.push(\n ...Array.from(\n this.el.querySelectorAll('nano-nav-item[slot=\"about\"]')\n )\n );\n else\n barItems.push(\n ...Array.from(\n this.el.querySelectorAll('nano-nav-item[slot=\"about\"]')\n )\n );\n });\n\n writeTask(() => {\n menuItems.forEach((item) => {\n item.classList.add('nano-global-nav-menu');\n item.classList.remove('nano-global-nav-bar');\n });\n barItems.forEach((item) => {\n item.classList.remove('nano-global-nav-menu');\n item.classList.add('nano-global-nav-bar');\n });\n });\n }\n }\n\n @Watch('thresholdReady')\n @Watch('remoteDataReady')\n assessReady() {\n if (this.thresholdReady && this.remoteDataReady) {\n this.ready = true;\n }\n }\n\n @Watch('remoteDataReady')\n remoteReady() {\n this.attachIO();\n }\n\n @Watch('ready')\n isReady() {\n this.nanoIsReady.emit();\n }\n\n /**\n * Add / remove events when autocomplete results show / hide.\n */\n @Watch('showAutocomplete')\n setupAutocompleteBlur() {\n this.searchInput.clientWidth; // force reflow\n if (this.showAutocomplete) {\n this.el.shadowRoot.addEventListener('click', this.onAutocompleteBlur);\n } else {\n this.el.shadowRoot.removeEventListener('click', this.onAutocompleteBlur);\n }\n }\n\n /**\n * As relevant slotted items change, reset resizing breakpoints\n */\n @Watch('aboutSlotLen')\n @Watch('iconSlotLen')\n @Watch('mainSlotLen')\n @Watch('overflowSlotLen')\n @Watch('searchSlotLen')\n slotChange() {\n this.threshold = this.THRESHOLDLIMIT;\n }\n\n // General classes for visuals\n\n private thresholdClasses() {\n let classes = [];\n let i = 0;\n for (i; i < this.threshold; i++) classes.push('threshold-' + (i + 1));\n return classes;\n }\n\n /**\n * provides 'isResizing' - we use this to fade content out on 'breakpoint' increase\n * (when the screen size increases). Otherwise the stepping through of\n * breakpoints to calculate if content currently fits shows on screen (looks ugly)\n */\n private setResizingState = (state: boolean = false) => {\n if (typeof this.debounceSetResizingState === 'undefined') {\n this.debounceSetResizingState = debounce(this.setResizingState, 600);\n }\n if (state) {\n this.isResizing = true;\n this.debounceSetResizingState();\n } else {\n this.isResizing = false;\n this.thresholdsGoingUp = false;\n }\n };\n\n // Global DOM Events\n\n private onWindowResize() {\n if (\n this.threshold < this.THRESHOLDLIMIT &&\n window.innerWidth > this.currSize\n ) {\n this.threshold = this.THRESHOLDLIMIT;\n }\n this.currSize = window.innerWidth;\n this.searchBarShown = false;\n }\n\n // Burger / Overflow Menu\n\n // listen to nav-item secondary open / close events primarily for resizing the menu\n @Listen('nanoOpen')\n secondaryOpen(ev: CustomEvent) {\n if (!(ev.detail as NavItemEventDetail).secondaryMenu) return;\n ev.stopPropagation();\n this.secondaryMenuOpen = true;\n this.menuContentDiv.style.minHeight =\n (ev.detail as NavItemEventDetail).secondaryMenu.scrollHeight + 'px';\n }\n\n @Listen('nanoClose')\n secondaryClose(ev: CustomEvent) {\n if (!(ev.detail as NavItemEventDetail).secondaryMenu) return;\n ev.stopPropagation();\n this.secondaryMenuOpen = false;\n this.menuContentDiv.style.minHeight = '';\n }\n\n private onMenuBtnKeyDown = (ev: KeyboardEvent) => {\n switch (ev.key) {\n case 'Enter':\n case ' ':\n this.modalOpen ? this.menuClose(ev, true) : this.menuOpen();\n break;\n }\n };\n\n private onMenuBtnClick = (ev: MouseEvent) => {\n this.menuClose(ev, true);\n };\n\n private menuOpen = (e?: MouseEvent) => {\n if (e) e.preventDefault();\n\n this.menuDiv.style.display = 'block';\n // need to open menu in stages\n // wait for re-flow after changing display\n // wait for repaint after animate, then focus\n\n this.menuDiv.clientWidth; // force reflow\n\n this.modalOpen = true;\n this.modalIsOpen = true;\n this.menuWrapDiv.addEventListener('focusout', this.menuClose);\n\n this.menuDiv.clientWidth; // force reflow\n\n this.menuWrapDiv.focus({ preventScroll: true });\n if (\n this.threshold < 2 ||\n this.menuWrapDiv.scrollHeight > window.innerHeight\n ) {\n document.body.style.overflow = 'hidden';\n this.menuFullScreen = true;\n } else document.body.style.overflowX = 'hidden';\n };\n\n private onMenuHidden = () => {\n this.menuDiv.removeEventListener('transitionend', this.onMenuHidden);\n this.menuWrapDiv.removeEventListener('focusout', this.menuClose);\n\n document.body.style.overflow = '';\n this.menuDiv.style.display = 'none';\n this.modalIsOpen = false;\n this.menuFullScreen = false;\n\n setTimeout(() => {\n if (document.activeElement === document.body && this.menuBtn)\n this.mainBarDiv.focus({ preventScroll: true });\n }, 50);\n };\n\n private menuClose = (\n ev?: FocusEvent | MouseEvent | KeyboardEvent | TouchEvent,\n force: boolean = false\n ) => {\n if (!force) {\n let e = ev as FocusEvent;\n if (\n e &&\n e.relatedTarget &&\n closestElement('#global-nav-menu', e.relatedTarget as HTMLElement)\n )\n return;\n if (\n e &&\n e.relatedTarget &&\n (e.relatedTarget as HTMLElement).closest('#global-nav-menu')\n )\n return;\n if (\n e &&\n e.relatedTarget &&\n (e.relatedTarget as HTMLElement).closest('[slot=\"promotion\"]')\n )\n return;\n if (this.secondaryMenuOpen) return;\n }\n\n this.modalOpen = false;\n this.menuDiv.addEventListener('transitionend', this.onMenuHidden);\n };\n\n private subMenuClose = (ev?: MouseEvent) => {\n ev.preventDefault();\n (ev.target as HTMLNanoNavItemElement).closest('nano-nav-item').open = false;\n };\n\n // User profile menu\n\n private onUserBtnClick = (ev: MouseEvent) => {\n ev.preventDefault();\n this.userMenuOpen = !this.userMenuOpen;\n };\n\n private onUserBtnKeyDown = (ev: KeyboardEvent) => {\n switch (ev.key) {\n case 'Enter':\n case ' ':\n this.userMenuOpen = !this.userMenuOpen;\n break;\n }\n };\n\n private onUserMenuBlur = (ev: FocusEvent) => {\n if (!ev.relatedTarget) {\n this.userMenuOpen = false;\n return;\n }\n if (!!(ev.relatedTarget as HTMLElement).closest('.user-links-panel'))\n return false;\n this.userMenuOpen = false;\n };\n\n @Watch('userMenuOpen')\n async handleUserMenu() {\n await displayTransition(this.userLinkPanel, 'show', this.userMenuOpen);\n if (this.userMenuOpen) {\n this.userLinkPanel.focus();\n this.userLinkPanel.addEventListener('focusout', this.onUserMenuBlur);\n } else {\n this.userLinkPanel.removeEventListener('focusout', this.onUserMenuBlur);\n this.el.focus();\n }\n }\n\n // Search bar (smaller screens / mobile)\n\n private onSearchBtnClick = (ev: MouseEvent) => {\n ev.preventDefault();\n if (!this.searchBarShown) this.searchbarShow();\n else this.searchbarHide();\n };\n\n private onSearchBtnKeyDown = (ev: KeyboardEvent) => {\n switch (ev.key) {\n case 'Enter':\n case ' ':\n this.searchBarShown ? this.searchbarHide() : this.searchbarShow();\n break;\n }\n };\n\n private searchbarShow() {\n this.searchBarShown = true;\n this.searchBarEl.addEventListener('transitionend', this.onSearchBarShown);\n this.searchBarEl.style.display = 'block';\n\n setTimeout(() => {\n this.searchBarEl.style.height =\n this.searchBarEl.querySelector('.search-widget').scrollHeight + 'px';\n }, 50);\n }\n\n private onSearchBarShown = () => {\n this.searchBarEl.removeEventListener(\n 'transitionend',\n this.onSearchBarShown\n );\n if (this.searchInput) this.searchInput.setFocus();\n this.searchBarEl.style.overflow = 'visible';\n };\n\n private searchbarHide = (ev?: FocusEvent) => {\n if (\n ev &&\n ev.relatedTarget &&\n (ev.relatedTarget as HTMLElement).closest('#global-nav-search-bar')\n )\n return;\n this.showAutocomplete = false;\n if (this.searchValInternal.length && ev) return;\n\n this.searchBarEl.addEventListener('transitionend', this.onSearchBarHidden);\n this.searchBarEl.style.overflow = 'hidden';\n this.searchBarEl.style.height = '0px';\n };\n\n private onSearchBarHidden = () => {\n this.searchBarEl.removeEventListener(\n 'transitionend',\n this.onSearchBarHidden\n );\n this.searchBarEl.style.display = 'none';\n this.searchBarShown = false;\n };\n\n // Algolia search\n\n private autocompleteSnippet(hit: AlgoliaResultHit) {\n let lookFor = ['title']; // , 'body'\n if (hit._snippetResult) {\n let found = lookFor.find(\n (prop) =>\n hit._snippetResult[prop] &&\n hit._snippetResult[prop].matchLevel !== 'none'\n );\n\n if (found) {\n if (found !== 'title')\n return (\n (hit.title.length > 15\n ? hit.title.substring(0, 15) + ' ...'\n : hit.title) +\n ' ' +\n hit._snippetResult[found].value\n );\n else return hit._snippetResult['title'].value;\n }\n }\n return hit.title;\n }\n\n private onSearchInput = (ev: CustomEvent<InputEvent>) => {\n this.searchValInternal = this.searchInput.value;\n\n if (!this.isSearchValSet()) {\n this.searchLoading = false;\n return;\n }\n\n if (ev.detail.type === 'input') {\n this.showAutocomplete = false;\n this.searchLoading = true;\n }\n };\n\n private onSearchChange = async (ev?: CustomEvent<InputChangeEventDetail>) => {\n this.searchValInternal = this.searchValue = ev\n ? ev.detail.value\n : this.searchValInternal;\n this.showAutocomplete = false;\n this.autocompleteResults = null;\n\n if (!this.isSearchValSet()) {\n if (!this.searchValInternal.length) {\n this.nanoSearchReset.emit();\n }\n this.searchLoading = false;\n return;\n }\n if (!this.currentIndex) this.currentSelectedIndex();\n\n try {\n this.autocompleteResults = this.processSearchResults(\n (await this.currentIndex.alogliaIndex.search(this.searchValInternal, {\n attributesToSnippet: ['body:5', 'title:8'],\n hitsPerPage: 5,\n filters: 'created > ' + Math.floor((Date.now() - 63115200000) / 1000), // only get last 2 years\n })) as any\n ) as AlgoliaResults;\n } catch (e) {\n console.error(e);\n }\n\n this.scopeSearch = null;\n this.scopeSearch = await this.onSearchSubmit(null, false);\n\n this.searchLoading = false;\n this.showAutocompleteResults();\n };\n\n private onSearchSubmit = async (ev?, emit: boolean = true) => {\n if (ev) ev.preventDefault();\n if (!this.isSearchValSet()) return;\n this.searchLoading = true;\n this.algoliaSearchResults = null;\n\n if (!this.currentIndex) this.currentSelectedIndex();\n\n let queries = this.internalSearchIndeces.map((index) => {\n return {\n indexName: index.index,\n query: this.searchValInternal,\n facets: index.filters,\n hitsPerPage: 10,\n filters: 'created > ' + Math.floor((Date.now() - 63115200000) / 1000), // only get last 2 years\n };\n });\n\n try {\n this.algoliaSearchResults = this.processSearchResults(\n (await this.algoliaClient.multipleQueries(queries)) as any\n ) as AlgoliaMultiResults;\n } catch (e) {\n this.nanoSearchError.emit(e as AlgoliaNetworkError);\n }\n this.searchLoading = false;\n if (!this.algoliaSearchResults) return;\n\n this.algoliaSearchResults.results.map((result, i) => {\n result.indexName = this.internalSearchIndeces[i].name;\n result.selected =\n this.currentIndex.name === this.internalSearchIndeces[i].name;\n result.domain = this.currentIndex.domain || null;\n result.domains = this.myAccData.domains || null;\n result.allGroup = !!this.internalSearchIndeces[i].allGroup;\n result.filters = this.internalSearchIndeces[i].filters;\n });\n\n if (emit) {\n this.nanoSearchResult.emit({\n results: this.algoliaSearchResults.results,\n client: { apiKey: this.searchApiKey, appId: this.searchAppId },\n });\n this.showAutocomplete = false;\n }\n return this.algoliaSearchResults;\n };\n\n private onSearchIndexChange = async (\n index: CustomEvent<SelectChangeEventDetail> | string\n ) => {\n let ev = index as CustomEvent<SelectChangeEventDetail>;\n let indexStr = index as string;\n\n if (!this.currentIndex) this.currentSelectedIndex();\n\n if (ev.detail && ev.detail.value.length)\n indexStr = ev.detail.value as string;\n if (!indexStr || !indexStr.length) return;\n if (this.currentIndex.index === indexStr) return;\n\n let selectedIndex = this.internalSearchIndeces.find(\n (index) => index.index === indexStr\n );\n if (!selectedIndex || !selectedIndex.alogliaIndex) return;\n\n this.searchIndex = selectedIndex.index;\n if (this.isSearchValSet()) await this.onSearchChange();\n };\n\n private isSearchValSet() {\n if (this.searchValInternal.length < 3) return false;\n return true;\n }\n\n private switchIndexSubmit = async (index: string) => {\n if (this.isSearchValSet()) {\n await this.onSearchIndexChange(index);\n this.onSearchSubmit();\n } else this.onSearchIndexChange(index);\n };\n\n // Autocomplete\n\n @Watch('showAutocomplete')\n resetHitFocus() {\n this.currAIndex = -1;\n }\n\n private onAutocompleteBlur = (ev: MouseEvent) => {\n if (!this.showAutocomplete || !this.autocompleteResults) return;\n if (ev && ev.target && (ev.target as HTMLElement).closest('.search-widget'))\n return;\n this.showAutocomplete = false;\n };\n\n private showAutocompleteResults = () => {\n if (!this.autocompleteResults || !this.autocompleteResults.hits) return;\n this.showAutocomplete = true;\n };\n\n private setActiveElement(\n autocompleteEle: HTMLAnchorElement | HTMLButtonElement\n ) {\n this.autocompleteEles.map((ele) =>\n ele.setAttribute('aria-selected', 'false')\n );\n autocompleteEle.focus({ preventScroll: true });\n autocompleteEle.setAttribute('aria-selected', 'true');\n }\n\n private onAutocompleteInteract = (ev: KeyboardEvent) => {\n // list open, navigate items with arrows\n if (!this.showAutocomplete || !this.autocompleteResults) return;\n let testIndex = this.currAIndex;\n\n switch (ev.key) {\n case 'Tab':\n setTimeout(() => {\n if (\n !this.el.shadowRoot.activeElement ||\n !this.el.shadowRoot.activeElement.closest('.search-widget')\n ) {\n this.showAutocomplete = false;\n return;\n } else {\n let found = this.autocompleteEles.find((ele, i) => {\n if (ele === this.el.shadowRoot.activeElement) {\n this.currAIndex = i;\n return true;\n }\n });\n if (found) this.setActiveElement(found);\n else this.currAIndex = -1;\n }\n });\n break;\n case 'ArrowDown':\n case 'ArrowUp':\n if (ev.key === 'ArrowDown') testIndex++;\n else if (ev.key === 'ArrowUp') testIndex--;\n\n let found = this.autocompleteEles[testIndex];\n if (\n found ||\n testIndex < 0 ||\n testIndex > this.autocompleteEles.length - 1\n )\n ev.preventDefault();\n this.searchInput.clientWidth; // force reflow\n\n if (found) {\n this.setActiveElement(found);\n this.currAIndex = testIndex;\n } else if (testIndex < 0) {\n this.searchInput.setFocus();\n this.currAIndex = -1;\n }\n break;\n case 'Enter':\n case ' ':\n if (this.autocompleteEles[this.currAIndex]) {\n this.autocompleteEles[this.currAIndex].click();\n }\n break;\n }\n };\n\n // Various.\n\n /**\n * Assesses what content is present in which slots\n */\n private assessSlottedContent() {\n readTask(() => {\n this.hasSiteSlot = !!this.el.querySelectorAll('[slot=\"site\"]').length;\n this.hasLoggedinSlot =\n !!this.el.querySelectorAll('[slot=\"loggedin\"]').length;\n this.hasPromotionSlot =\n !!this.el.querySelectorAll('[slot=\"promotion\"]').length;\n\n this.aboutSlotLen = this.el.querySelectorAll('[slot=\"about\"]').length;\n this.iconSlotLen = this.el.querySelectorAll('[slot=\"icon\"]').length;\n this.mainSlotLen = this.el.querySelectorAll('[slot=\"main\"]').length;\n this.overflowSlotLen =\n this.el.querySelectorAll('[slot=\"overflow\"]').length;\n this.searchSlotLen = this.el.querySelectorAll('[slot=\"search\"]').length;\n });\n }\n\n /**\n * Attach the IntersectionObserver - from which all threshold / breakpoint logic hinges\n */\n private attachIO() {\n if (this.io) return;\n let root = this.el.shadowRoot.querySelector('.global-nav .main-bar');\n if (\n Build.isBrowser &&\n typeof window !== 'undefined' &&\n (window as any).IntersectionObserver &&\n !!root\n ) {\n const io = (this.io = new (window as any).IntersectionObserver(\n (data: IntersectionObserverEntry[]) => {\n this.intersectRatio = data.slice(-1)[0].intersectionRatio;\n },\n { root, threshold: 1 }\n ));\n io.observe(root.querySelector('.measure-ele'));\n }\n }\n\n // Stencil Lifecycle / Rendering\n\n componentDidLoad() {\n if (Build.isBrowser) {\n this.debounceResize = debounce(this.onWindowResize.bind(this), 300);\n\n window.addEventListener('resize', this.debounceResize);\n this.currSize = window.innerWidth;\n }\n\n this.initAlgoliaClient();\n this.addAlgoliaIndeces();\n if (this.remoteDataReady) this.attachIO();\n }\n\n componentWillLoad() {\n ComponentStore.init(\n this,\n ['searchIndex', 'searchValue'],\n 'url-hash',\n 'gns'\n );\n\n if (\n Build.isBrowser &&\n typeof window !== 'undefined' &&\n (window as any).MutationObserver\n ) {\n const mo = (this.mo = new MutationObserver(() => {\n this.assessSlottedContent();\n }));\n mo.observe(this.el, { childList: true, subtree: false });\n }\n this.assessSlottedContent();\n }\n\n disconnectedCallback() {\n if (this.io) {\n this.io.disconnect();\n this.io = undefined;\n }\n if (this.mo) {\n this.mo.disconnect();\n this.mo = undefined;\n }\n if (Build.isBrowser)\n window.removeEventListener('resize', this.debounceResize);\n }\n\n async connectedCallback() {\n this.getMyAccData();\n }\n\n // Render output\n\n private autocompleteList(): VNode {\n let content;\n if (this.showAutocomplete && this.scrollingUp) {\n let currentScopeHits = 0;\n let scopeChangeSuggestions = 0;\n\n let scopeSuggestReducer = (total: number, result: AlgoliaMultiResult) => {\n return result.index !== this.currentIndex.index\n ? total + result.hits.length\n : total;\n };\n let currentSuggestReducer = (\n total: number,\n result: AlgoliaMultiResult\n ) => {\n return result.index === this.currentIndex.index\n ? total + result.hits.length\n : total;\n };\n\n if (this.scopeSearch) {\n scopeChangeSuggestions = this.scopeSearch.results.reduce(\n scopeSuggestReducer,\n 0\n );\n currentScopeHits = this.scopeSearch.results.reduce(\n currentSuggestReducer,\n 0\n );\n }\n\n if (\n (this.autocompleteResults && this.autocompleteResults.hits.length) ||\n (scopeChangeSuggestions && !currentScopeHits)\n ) {\n let scopeSuggestions = 0;\n\n content = (\n <div>\n {!currentScopeHits && (\n <div class=\"search-autocomplete-hit search-autocomplete-hit--no-result\">\n No results matching '{this.searchValInternal}' were found in{' '}\n <strong>{this.currentIndex.name}</strong>. Try another phrase.\n </div>\n )}\n {this.autocompleteResults && [\n this.autocompleteResults.hits.map((hit, i) => {\n return (\n <a\n role=\"option\"\n ref={(a) => this.autocompleteEles.push(a)}\n tabindex=\"-1\"\n id={'autocomplete-hit-' + i}\n href={hit.url}\n class=\"search-autocomplete-hit\"\n innerHTML={this.autocompleteSnippet(hit)}\n ></a>\n );\n }),\n ]}\n {(!currentScopeHits || this.currentIndex.allGroup) &&\n this.scopeSearch &&\n this.scopeSearch.results && [\n this.scopeSearch.results.map((result, i) => {\n if (\n !result.hits.length ||\n result.index === this.currentIndex.index ||\n scopeSuggestions > 1\n )\n return;\n scopeSuggestions++;\n return (\n <button\n role=\"option\"\n ref={(button) => this.autocompleteEles.push(button)}\n tabindex=\"-1\"\n id={'autocomplete-scope-' + i}\n class=\"search-autocomplete-hit\"\n onClick={() => this.switchIndexSubmit(result.index)}\n onMouseDown={() => this.switchIndexSubmit(result.index)}\n >\n \"{this.searchValInternal}\"{' '}\n <div class=\"search-autocomplete-hit-scope\">\n in {result.indexName}\n </div>\n </button>\n );\n }),\n ]}\n {!!currentScopeHits && (\n <div class=\"search-autocomplete-foot\">\n <button\n role=\"option\"\n class=\"search-autocomplete-submit\"\n ref={(button) => this.autocompleteEles.push(button)}\n id={'autocomplete-foot'}\n onClick={this.onSearchSubmit}\n onMouseDown={this.onSearchSubmit}\n >\n View all results\n </button>\n </div>\n )}\n </div>\n );\n } else if (!currentScopeHits) {\n content = (\n <div class=\"search-autocomplete-hit search-autocomplete-hit--no-result\">\n No results matching '{this.searchValInternal}' were found. Try\n another phrase.\n </div>\n );\n }\n }\n\n return (\n <div\n class=\"search-autocomplete\"\n role=\"listbox\"\n id=\"autocomplete-results\"\n aria-expanded={this.showAutocomplete ? 'true' : 'false'}\n hidden={!this.showAutocomplete}\n onKeyDown={this.onAutocompleteInteract}\n >\n {content}\n </div>\n );\n }\n\n private searchWidget(): VNode[] {\n return [\n <form\n class=\"search-inputs\"\n onSubmit={this.onSearchSubmit}\n id=\"global-nav-search\"\n >\n <nano-select\n class=\"search-input\"\n label=\"Which area of content would you like to search?\"\n hideLabel={true}\n showInlineError={false}\n value={this.searchIndex}\n onNanoChange={this.onSearchIndexChange}\n mask={true}\n >\n {this.internalSearchIndeces.map((index) => {\n return (\n <nano-option\n selected={index.index === this.searchIndex}\n value={index.index}\n >\n {index.name || index.index}\n </nano-option>\n );\n })}\n <nano-icon\n name=\"solid/caret-down\"\n class=\"down-arrow\"\n slot=\"down-arrow\"\n ></nano-icon>\n </nano-select>\n <nano-input\n class=\"search-input\"\n label=\"What would you like to search for?\"\n aria-label=\"What would you like to search for?\"\n hideLabel={true}\n showInlineError={false}\n clear-input\n placeholder=\"Search...\"\n type=\"text\"\n ref={(input) => (this.searchInput = input)}\n onNanoChange={this.onSearchChange}\n onNanoInput={this.onSearchInput}\n onKeyDown={this.onAutocompleteInteract}\n debounce={500}\n aria-autocomplete=\"list\"\n aria-activedescendant={\n this.autocompleteEles[this.currAIndex]\n ? this.autocompleteEles[this.currAIndex].id\n : false\n }\n aria-controls=\"autocomplete-results\"\n onNanoFocus={this.showAutocompleteResults}\n value={this.searchValue}\n role=\"textbox\"\n >\n <button\n class={{\n 'search-icon': true,\n 'search-icon--search': true,\n 'search-icon--show': !this.searchValInternal.length,\n }}\n slot=\"end\"\n onMouseDown={(e) => {\n this.searchValInternal = this.searchInput.value;\n this.onSearchSubmit(e, true);\n }}\n >\n <nano-icon name=\"light/search\"></nano-icon>\n </button>\n <span\n class={{\n 'search-icon': true,\n 'search-icon--loader': true,\n 'search-icon--show': this.searchLoading,\n }}\n slot=\"end\"\n >\n <nano-icon name=\"light/spinner-third\"></nano-icon>\n </span>\n </nano-input>\n <input type=\"submit\" />\n </form>,\n ];\n }\n\n render() {\n this.autocompleteEles = [];\n let isRtl = (this.el.ownerDocument as Document).dir === 'rtl';\n\n let searchWidget = this.searchWidget();\n searchWidget.push(this.autocompleteList());\n\n return (\n <Host\n class={{\n [this.thresholdClasses().join(' ')]: true,\n ready: this.ready,\n 'search-bar-shown': this.searchBarShown && this.scrollingUp,\n 'search-auto-complete-shown':\n this.showAutocomplete && this.scrollingUp,\n 'modal-open': this.modalIsOpen,\n resizing: this.isResizing,\n }}\n dir={isRtl ? 'rtl' : null}\n >\n <div\n class={{\n 'global-nav': true,\n 'scrolling-down': !this.scrollingUp,\n }}\n >\n {/* START BURGER / OVERFLOW MENU */}\n <nav\n id=\"global-nav-menu\"\n class={{\n 'gn-menu': true,\n open: this.modalOpen,\n 'has-promotion': this.hasPromotionSlot,\n 'menu-full-screen': this.menuFullScreen,\n 'secondary-open': this.secondaryMenuOpen,\n }}\n aria-expanded={this.modalOpen ? 'true' : 'false'}\n ref={(div) => (this.menuDiv = div)}\n >\n <div\n class=\"gn-menu_wrap\"\n ref={(div) => (this.menuWrapDiv = div)}\n tabindex=\"-1\"\n >\n <div class=\"gn-menu_actions\">\n <button\n class=\"menu-btn icon-btn icon-btn\"\n onMouseDown={this.onMenuBtnClick}\n onKeyDown={this.onMenuBtnKeyDown}\n >\n {this.threshold < this.THRESHOLDLIMIT - 3 && (\n <nano-icon\n name=\"light/times\"\n aria-label=\"close menu\"\n ></nano-icon>\n )}\n {this.threshold >= this.THRESHOLDLIMIT - 3 && (\n <nano-icon\n name=\"light/bars\"\n aria-label=\"close menu\"\n ></nano-icon>\n )}\n </button>\n\n {this.threshold <\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.icon && [\n !!this.iconSlotLen && <slot name=\"icon\" />,\n this.myAccData &&\n (!this.activeMyAccountSections ||\n this.activeMyAccountSections.includes('icons')) && [\n this.msgUrl && (\n <a href={this.msgUrl} class=\"icon-btn\">\n <nano-icon name=\"light/bell\"></nano-icon>\n {this.msgCount > 0 && (\n <span class=\"gn-menu_actions-counter\">\n {this.msgCount}\n </span>\n )}\n </a>\n ),\n this.cartUrl && (\n <a href={this.cartUrl} class=\"icon-btn\">\n <nano-icon name=\"light/shopping-cart\"></nano-icon>\n {this.cartCount > 0 && (\n <span class=\"gn-menu_actions-counter\">\n {this.cartCount}\n </span>\n )}\n </a>\n ),\n ],\n ]}\n\n {this.myAccData && this.myAccData.urls.login && (\n <a\n href={this.myAccData.urls.login + this.ssoRedirect}\n class=\"login-btn\"\n >\n Login / Register{' '}\n <nano-icon name=\"solid/chevron-right\"></nano-icon>\n </a>\n )}\n </div>\n\n <div\n class=\"content-wrap\"\n ref={(div) => (this.menuContentDiv = div)}\n >\n <div class=\"content\">\n <nav class=\"nav-links nav-links--main\">\n <slot name=\"overflow\" />\n {this.threshold <\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.main &&\n !!this.mainSlotLen && <slot name=\"main\" />}\n </nav>\n\n {/* ABOUT AND SITE MENU IN BURGER */}\n {(((!!this.aboutSlotLen || !!this.aboutNavItms.length) &&\n this.threshold <\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.about) ||\n this.hasSiteSlot ||\n !!this.siteNavItms.length) && (\n <div>\n {(!!this.aboutSlotLen || !!this.aboutNavItms.length) &&\n this.threshold <\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.about && [\n // About Menu as an open list (before more items are added to burger)\n (this.threshold >=\n this.THRESHOLDLIMIT - (THRESHOLDBREAKS.about + 1) ||\n this.mainSlotLen < 2) &&\n this.overflowSlotLen < 2 && (\n <div class=\"nav-links-wrap\">\n {!!this.aboutNavItms.length && (\n <h4 class=\"nav-links_title\">About</h4>\n )}\n <nav\n class=\"nav-links nav-links--sub\"\n aria-label=\"About the company links\"\n >\n <slot name=\"about\" />\n\n {this.aboutNavItms.map((link) => {\n return (\n <nano-nav-item class=\"nano-global-nav nano-global-nav-menu\">\n <a\n href={link.address}\n target={link.target}\n >\n {link.title}\n </a>\n </nano-nav-item>\n );\n })}\n </nav>\n </div>\n ),\n // About Menu as hidden list (when more items are added to burger)\n ((this.threshold <\n this.THRESHOLDLIMIT - (THRESHOLDBREAKS.about + 1) &&\n this.mainSlotLen >= 2) ||\n this.overflowSlotLen >= 2) && (\n <nav\n class=\"nav-links\"\n aria-label=\"About the company links\"\n >\n {!this.aboutNavItms.length && (\n <slot name=\"about\" />\n )}\n {!!this.aboutNavItms.length && (\n <nano-nav-item class=\"nano-global-nav nano-global-nav-menu\">\n Company\n <nano-icon\n slot=\"icon-end\"\n name=\"solid/chevron-right\"\n ></nano-icon>\n <div slot=\"secondary\">\n <div class=\"content\">\n <button\n class=\"back-btn\"\n onClick={this.subMenuClose}\n >\n <nano-icon\n slot=\"icon-end\"\n name=\"solid/chevron-left\"\n aria-label=\"go back\"\n ></nano-icon>\n Company\n </button>\n <slot name=\"about\" />\n <div class=\"content--sub\">\n {this.aboutNavItms.map((link) => {\n return (\n <nano-nav-item class=\"nano-global-nav nano-global-nav-menu\">\n <a\n href={link.address}\n target={link.target}\n >\n {link.title}\n </a>\n </nano-nav-item>\n );\n })}\n </div>\n </div>\n </div>\n </nano-nav-item>\n )}\n </nav>\n ),\n ]}\n\n {/* SITES MENU (Always in burger) */}\n {(this.hasSiteSlot || !!this.siteNavItms.length) && [\n (this.threshold >= this.THRESHOLDLIMIT - 2 ||\n this.mainSlotLen < 2) &&\n this.overflowSlotLen < 2 && (\n <div class=\"nav-links-wrap\">\n <h4 class=\"nav-links_title\">Sites</h4>\n <nav\n class=\"nav-links nav-links--sub\"\n aria-label=\"Different company site links\"\n >\n <slot name=\"site\" />\n {this.siteNavItms.map((link) => {\n return (\n <nano-nav-item class=\"nano-global-nav nano-global-nav-menu\">\n <a\n href={link.address}\n target={link.target}\n >\n {link.title}\n </a>\n </nano-nav-item>\n );\n })}\n </nav>\n </div>\n ),\n ((this.threshold < this.THRESHOLDLIMIT - 2 &&\n this.mainSlotLen >= 2) ||\n this.overflowSlotLen >= 2) && (\n <nav\n class=\"nav-links\"\n aria-label=\"Different company site links\"\n >\n <nano-nav-item class=\"nano-global-nav nano-global-nav-menu\">\n Sites\n <nano-icon\n slot=\"icon-end\"\n name=\"solid/chevron-right\"\n ></nano-icon>\n <div slot=\"secondary\">\n <div class=\"content\">\n <button\n class=\"back-btn\"\n onClick={this.subMenuClose}\n >\n <nano-icon\n slot=\"icon-end\"\n name=\"solid/chevron-left\"\n aria-label=\"go back\"\n ></nano-icon>\n Sites\n </button>\n <div class=\"content--sub\">\n <slot name=\"site\" />\n {this.siteNavItms.map((link) => {\n return (\n <nano-nav-item class=\"nano-global-nav nano-global-nav-menu\">\n <a\n href={link.address}\n target={link.target}\n >\n {link.title}\n </a>\n </nano-nav-item>\n );\n })}\n </div>\n </div>\n </div>\n </nano-nav-item>\n </nav>\n ),\n ]}\n </div>\n )}\n </div>\n\n {this.isLoggedIn &&\n this.threshold <\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.login &&\n (this.loggedInNavItms.length || this.hasLoggedinSlot) && (\n <nav class=\"nav-links\" aria-label=\"Your user account links\">\n <nano-nav-item class=\"nano-global-nav user-nav nano-global-nav-menu\">\n {this.myAccountUser.name}\n <nano-icon\n slot=\"icon-end\"\n name=\"solid/chevron-right\"\n ></nano-icon>\n <div slot=\"secondary\">\n <div class=\"content\">\n <button\n class=\"back-btn\"\n onClick={this.subMenuClose}\n >\n <nano-icon\n slot=\"icon-end\"\n name=\"solid/chevron-left\"\n aria-label=\"go back\"\n ></nano-icon>\n {this.myAccountUser.name}\n </button>\n <div class=\"content--sub\">\n <slot name=\"loggedin\" />\n {this.loggedInNavItms.map((link) => {\n return (\n <nano-nav-item class=\"nano-global-nav nano-global-nav-menu\">\n <a href={link.address} target={link.target}>\n {link.title}\n </a>\n </nano-nav-item>\n );\n })}\n <nano-nav-item class=\"nano-global-nav nano-global-nav-menu\">\n <a\n href={\n this.myAccData.urls.forgot_password +\n this.ssoRedirect\n }\n >\n Change Password\n </a>\n </nano-nav-item>\n </div>\n </div>\n </div>\n </nano-nav-item>\n </nav>\n )}\n\n <slot name=\"promotion\" />\n\n {this.myAccData && this.myAccData.urls.logout && (\n <div class=\"login-btn logout-btn\">\n <a href={this.myAccData.urls.logout + this.ssoRedirect}>\n Logout\n </a>\n </div>\n )}\n </div>\n </div>\n </nav>\n {/* END BURGER / OVERFLOW MENU */}\n\n {/* START MAIN NAV BAR */}\n <nano-sticker\n auto-resize=\"false\"\n break-point-max=\"800\"\n quietMode={{ h: 600, w: 800 }}\n >\n <div class=\"bars\" ref={(div) => (this.barsDiv = div)}>\n <nav\n class=\"main-bar\"\n aria-label=\"Main site navigation\"\n tabindex=\"-1\"\n ref={(div) => (this.mainBarDiv = div)}\n >\n {(this.hasPromotionSlot ||\n !!this.overflowSlotLen ||\n ((this.myAccData || !!this.iconSlotLen) &&\n this.threshold <\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.icon) ||\n (this.isLoggedIn &&\n (!!this.loggedInNavItms.length || this.hasLoggedinSlot) &&\n this.threshold <\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.login) ||\n (!!this.mainSlotLen &&\n this.threshold <\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.main) ||\n ((!!this.aboutSlotLen || !!this.aboutNavItms.length) &&\n this.threshold <\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.about) ||\n this.hasSiteSlot ||\n !!this.siteNavItms.length) && (\n <button\n class=\"menu-btn icon-btn\"\n onMouseDown={this.menuOpen}\n onKeyDown={this.onMenuBtnKeyDown}\n aria-expanded={this.modalOpen ? 'true' : 'false'}\n aria-controls=\"global-nav-menu\"\n ref={(btn) => (this.menuBtn = btn)}\n >\n <nano-icon\n name=\"light/bars\"\n aria-label=\"open menu\"\n ></nano-icon>\n </button>\n )}\n\n {this.showLogo && (\n <a href={this.logoUrl} class=\"logo-link\">\n <img\n src={getAssetPath(`./assets/ont-logo.svg`)}\n alt=\"Oxford Nanopore Technologies Logo\"\n class=\"logo\"\n />\n </a>\n )}\n {!this.showLogo && (\n <div class=\"logo-link\">\n <slot name=\"logo\" />\n </div>\n )}\n\n <div class=\"nav-links nav-links--main\">\n <slot name=\"main\" />\n </div>\n\n {this.threshold >=\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.search && [\n this.showSearch && !!this.internalSearchIndeces.length && (\n <div\n class=\"search-widget\"\n role=\"combobox\"\n aria-owns=\"autocomplete-results\"\n aria-expanded={\n this.showAutocomplete && this.autocompleteResults\n ? 'true'\n : 'false'\n }\n >\n {searchWidget}\n </div>\n ),\n (!this.showSearch || !this.myAccData) &&\n !!this.searchSlotLen && <slot name=\"search\" />,\n ]}\n\n {(!!this.aboutSlotLen || !!this.aboutNavItms.length) &&\n this.threshold >=\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.about && (\n <nav\n class=\"nav-links nav-links--sub\"\n aria-label=\"About the company. Links\"\n >\n <slot name=\"about\" />\n {this.aboutNavItms.map((link) => {\n return (\n <nano-nav-item class=\"nano-global-nav nano-global-nav-bar\">\n <a href={link.address} target={link.target}>\n {link.title}\n </a>\n </nano-nav-item>\n );\n })}\n </nav>\n )}\n\n {this.threshold <\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.search &&\n ((this.showSearch && !!this.internalSearchIndeces.length) ||\n !!this.searchSlotLen) && (\n <button\n class=\"icon-btn\"\n aria-controls=\"global-nav-search-bar\"\n aria-expanded={this.searchBarShown ? 'true' : 'false'}\n onMouseDown={this.onSearchBtnClick}\n onKeyDown={this.onSearchBtnKeyDown}\n >\n <nano-icon name=\"light/search\"></nano-icon>\n </button>\n )}\n\n {this.threshold >=\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.icon && [\n !!this.iconSlotLen && <slot name=\"icon\" />,\n this.myAccData &&\n (!this.activeMyAccountSections ||\n this.activeMyAccountSections.includes('icons')) && [\n this.msgUrl && (\n <a href={this.msgUrl} class=\"icon-btn\">\n <nano-icon name=\"light/bell\"></nano-icon>\n {this.msgCount > 0 && (\n <span class=\"gn-menu_actions-counter\">\n {this.msgCount}\n </span>\n )}\n </a>\n ),\n this.cartUrl && (\n <a href={this.cartUrl} class=\"icon-btn\">\n <nano-icon name=\"light/shopping-cart\"></nano-icon>\n {this.cartCount > 0 && (\n <span class=\"gn-menu_actions-counter\">\n {this.cartCount}\n </span>\n )}\n </a>\n ),\n ],\n ]}\n\n {this.myAccData &&\n (!this.activeMyAccountSections ||\n this.activeMyAccountSections.includes('loggedin')) &&\n this.threshold >=\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.login && [\n this.myAccData.urls.login && (\n <a\n href={this.myAccData.urls.login + this.ssoRedirect}\n class=\"login-btn\"\n >\n Login / Register\n </a>\n ),\n this.myAccountUser && (\n <div class=\"user-links\">\n <button\n class={{\n 'icon-btn': true,\n 'user-links-btn': true,\n open: this.userMenuOpen,\n }}\n onMouseDown={this.onUserBtnClick}\n onKeyDown={this.onUserBtnKeyDown}\n >\n {' '}\n {this.myAccountUser.name}\n <nano-icon name=\"solid/caret-down\"></nano-icon>\n </button>\n <div\n class=\"user-links-panel\"\n tabindex=\"-1\"\n ref={(div) => (this.userLinkPanel = div)}\n >\n <div class=\"user-links-panel-content\">\n {this.loggedInNavItms.map((link) => {\n return (\n <a href={link.address} target={link.target}>\n {link.title}\n </a>\n );\n })}\n </div>\n <div class=\"user-links-panel-foot\">\n <a\n href={\n this.myAccData.urls.forgot_password +\n this.ssoRedirect\n }\n >\n Change Password\n </a>\n <a\n href={\n this.myAccData.urls.logout + this.ssoRedirect\n }\n >\n Logout\n </a>\n </div>\n </div>\n </div>\n ),\n ]}\n <span class=\"measure-ele\"></span>\n </nav>\n\n {this.threshold <\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.search && (\n <div\n id=\"global-nav-search-bar\"\n class={{\n 'search-bar': true,\n show: this.searchBarShown,\n }}\n aria-expanded={this.searchBarShown ? 'true' : 'false'}\n role=\"region\"\n tabindex=\"-1\"\n ref={(div) => (this.searchBarEl = div)}\n >\n <div class=\"search-widget\">\n {this.showSearch && !!this.internalSearchIndeces.length && (\n <div>{searchWidget}</div>\n )}\n {(!this.showSearch || !this.myAccData) &&\n !!this.searchSlotLen && <slot name=\"search\" />}\n </div>\n </div>\n )}\n </div>\n </nano-sticker>\n {/* END MAIN NAV BAR */}\n\n {(this.threshold < this.THRESHOLDLIMIT - 3 ||\n this.menuFullScreen) && (\n <div\n class={{\n mask: true,\n open: this.modalOpen,\n }}\n onClick={this.menuClose}\n onTouchEnd={this.menuClose}\n ></div>\n )}\n </div>\n <div class=\"site-content\" ref={(div) => (this.siteContent = div)}>\n <slot />\n </div>\n </Host>\n );\n }\n\n // Data processing\n\n private domainFor(origin: string): string {\n if (!this.myAccData) return '';\n let domain = this.myAccData.domains.find((dm) => dm.origin === origin);\n return domain ? domain.domain : '';\n }\n\n private processSearchResults(results: AlgoliaMultiResults | AlgoliaResults) {\n let multiResults = results as AlgoliaMultiResults;\n let singleResult = results as AlgoliaResults;\n\n if (multiResults.results) {\n multiResults.results.forEach((result, i) => {\n multiResults.results[i] = this.processSearchResults(\n result\n ) as AlgoliaResults;\n });\n return multiResults;\n } else {\n singleResult.hits.map((hit) => {\n if (hit.url && !hit.url.match(/^http/))\n hit.url =\n location.protocol + '//' + this.domainFor(hit.origin) + hit.url;\n });\n return singleResult;\n }\n }\n\n private processMyAccData() {\n if (!this.myAccData || !this.myAccData.search.indeces.length) return;\n\n if (this.myAccData.search.api_key)\n this.searchApiKey = this.myAccData.search.api_key;\n if (this.myAccData.search.app_id)\n this.searchAppId = this.myAccData.search.app_id;\n\n if (this.myAccData.cart.count) this.cartCount = this.myAccData.cart.count;\n if (this.myAccData.notifications.count)\n this.msgCount = this.myAccData.notifications.count;\n\n if (!this.searchAppId || !this.searchApiKey) return;\n this.internalSearchIndeces = [\n ...this.myAccData.search.indeces,\n ...this.searchIndeces,\n ];\n\n if (this.myAccData.urls.cart && !this.cartUrl)\n this.cartUrl = this.myAccData.urls.cart;\n if (this.myAccData.urls.messages && !this.msgUrl)\n this.msgUrl = this.myAccData.urls.messages;\n }\n\n private processMyAccLinks() {\n if (!this.myAccData.links || !this.myAccData.links.length) return;\n\n this.myAccData.links.forEach((link) => {\n switch (link.area) {\n case 'left-side-logged-in':\n case 'left-side-logged-out':\n if (\n this.activeMyAccountSections &&\n !this.activeMyAccountSections.includes('sites')\n )\n break;\n if (this.isLoggedIn && link.area === 'left-side-logged-in')\n this.siteNavItms.push(link);\n else if (!this.isLoggedIn && link.area === 'left-side-logged-out')\n this.siteNavItms.push(link);\n break;\n case 'right-side-logged-in':\n case 'right-side-logged-out':\n if (\n this.activeMyAccountSections &&\n !this.activeMyAccountSections.includes('about')\n )\n break;\n if (this.isLoggedIn && link.area === 'right-side-logged-in')\n this.aboutNavItms.push(link);\n else if (!this.isLoggedIn && link.area === 'right-side-logged-out')\n this.aboutNavItms.push(link);\n break;\n case 'profile-panel-list':\n if (\n this.activeMyAccountSections &&\n !this.activeMyAccountSections.includes('loggedin')\n )\n break;\n this.loggedInNavItms.push(link);\n break;\n }\n });\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,n,o){function i(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,r){function s(e){try{d(o.next(e))}catch(t){r(t)}}function a(e){try{d(o["throw"](e))}catch(t){r(t)}}function d(e){e.done?n(e.value):i(e.value).then(s,a)}d((o=o.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},o,i,r,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(e){return function(t){return d([e,t])}}function d(s){if(o)throw new TypeError("Generator is already executing.");while(n)try{if(o=1,i&&(r=s[0]&2?i["return"]:s[0]?i["throw"]||((r=i["return"])&&r.call(i),0):i.next)&&!(r=r.call(i,s[1])).done)return r;if(i=0,r)s=[s[0]&2,r.value];switch(s[0]){case 0:case 1:r=s;break;case 4:n.label++;return{value:s[1],done:false};case 5:n.label++;i=s[1];s=[0];continue;case 7:s=n.ops.pop();n.trys.pop();continue;default:if(!(r=n.trys,r=r.length>0&&r[r.length-1])&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!r||s[1]>r[0]&&s[1]<r[3])){n.label=s[1];break}if(s[0]===6&&n.label<r[1]){n.label=r[1];r=s;break}if(r&&n.label<r[2]){n.label=r[2];n.ops.push(s);break}if(r[2])n.ops.pop();n.trys.pop();continue}s=t.call(e,n)}catch(a){s=[6,a];i=0}finally{o=r=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};
1
+ var __awaiter=this&&this.__awaiter||function(e,t,n,o){function i(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,r){function s(e){try{h(o.next(e))}catch(t){r(t)}}function a(e){try{h(o["throw"](e))}catch(t){r(t)}}function h(e){e.done?n(e.value):i(e.value).then(s,a)}h((o=o.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},o,i,r,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(e){return function(t){return h([e,t])}}function h(s){if(o)throw new TypeError("Generator is already executing.");while(n)try{if(o=1,i&&(r=s[0]&2?i["return"]:s[0]?i["throw"]||((r=i["return"])&&r.call(i),0):i.next)&&!(r=r.call(i,s[1])).done)return r;if(i=0,r)s=[s[0]&2,r.value];switch(s[0]){case 0:case 1:r=s;break;case 4:n.label++;return{value:s[1],done:false};case 5:n.label++;i=s[1];s=[0];continue;case 7:s=n.ops.pop();n.trys.pop();continue;default:if(!(r=n.trys,r=r.length>0&&r[r.length-1])&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!r||s[1]>r[0]&&s[1]<r[3])){n.label=s[1];break}if(s[0]===6&&n.label<r[1]){n.label=r[1];r=s;break}if(r&&n.label<r[2]){n.label=r[2];n.ops.push(s);break}if(r[2])n.ops.pop();n.trys.pop();continue}s=t.call(e,n)}catch(a){s=[6,a];i=0}finally{o=r=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};
2
2
  /*!
3
3
  * Web Components for Nanopore digital Web Apps
4
- */System.register(["./p-59b3d24b.system.js","./p-9745d44e.system.js","./p-09d2d944.system.js","./p-9de508a5.system.js","./p-1c216ca4.system.js"],(function(e){"use strict";var t,n,o,i,r,s,a;return{setters:[function(e){t=e.r;n=e.c;o=e.h;i=e.g},function(e){r=e.P},function(e){s=e.g},function(e){a=e.a},function(){}],execute:function(){var d=":host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{--width:auto;--border:var(--nano-layer-border-style, 1px solid var(--nano-layer-border-color, rgba(0, 0, 0, 0.1)));--border-radius:var(--nano-layer-border-radius, var(--nano-border-radius-medium, 4px));--background:var(--nano-layer-bg, #fff);--padding:10px 0;--overflow:hidden;--dropdown-z-index:var(--nano-layer-index-dropdown, 300);--min-width:0;--box-shadow:var(--nano-layer-shadow-large, 0 2px 8px rgba(0, 0, 0, 0.2));display:-webkit-box;display:-ms-flexbox;display:flex}.dropdown{position:relative}.dropdown__trigger{display:block}.dropdown__positioner{position:absolute;z-index:var(--dropdown-z-index);min-width:var(--min-width)}@media (max-width: 35.9375em){.dropdown__positioner{z-index:100}}.dropdown__panel{padding:var(--padding);background:var(--background);min-width:var(--min-width);width:var(--width);border:var(--border);border-radius:var(--border-radius);color:currentColor;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);opacity:0;-webkit-transition:0.2s ease opacity, 0.2s ease transform, 0.2s ease min-height;transition:0.2s ease opacity, 0.2s ease transform, 0.2s ease min-height;min-height:20px;overflow:var(--overflow);-webkit-box-sizing:content-box !important;box-sizing:content-box !important}.dropdown__panel.loading{overflow-y:hidden}.dropdown__panel.top{-webkit-transform:translateY(-20px) translateZ(0);transform:translateY(-20px) translateZ(0)}.dropdown__panel.bottom{-webkit-transform:translateY(20px) translateZ(0);transform:translateY(20px) translateZ(0)}.dropdown__positioner.popover-visible .dropdown__panel{opacity:1;-webkit-transform:translateY(0) translateZ(0);transform:translateY(0) translateZ(0)}.dropdown__panel ::slotted(nano-menu){max-height:50vh}.dropdown__accessible-title{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}";var h=0;var l=e("nano_dropdown",function(){function e(e){var o=this;t(this,e);this.nanoShow=n(this,"nanoShow",7);this.nanoAfterShow=n(this,"nanoAfterShow",7);this.nanoHide=n(this,"nanoHide",7);this.nanoAfterHide=n(this,"nanoAfterHide",7);this.dropdownId="dropdown-"+h++;this.labelId=this.dropdownId+"-title";this.ignoreOpenWatcher=false;this.didLoad=false;this.autoOpen=true;this.open=false;this.closeOnSelect=true;this.tetherTo=null;this.placement="bottom-start";this.distance=2;this.skidding=0;this.hoist=false;this.togglePanel=function(){if(!o.autoOpen)return;o.open?o.hide():o.show()};this.handleTriggerKeyDown=function(e){if(["ArrowDown","ArrowUp"," "].includes(e.key)){o.show();e.preventDefault();e.stopPropagation();if(o.menu)o.menu.setFocus()}};this.handleTriggerSlotChange=function(){o.updateAccessibleTrigger()}}Object.defineProperty(e.prototype,"menu",{get:function(){return this.host.querySelector("nano-menu")},enumerable:false,configurable:true});e.prototype.handleOpenChange=function(){if(this.ignoreOpenWatcher)return;this.open?this.show():this.hide();if(this.accessibleTrigger){this.accessibleTrigger.setAttribute("aria-expanded",this.open.toString());return}this.updateAccessibleTrigger()};e.prototype.handleTetherToChange=function(){this.createPopover();this.updateAccessibleTrigger()};e.prototype.handlePopoverOptionsChange=function(){this.popover.setOptions({strategy:this.hoist?"fixed":"absolute",placement:this.placement,skidding:this.skidding,distance:this.distance})};e.prototype.secondaryOpen=function(e){var t=this;if(!e.detail.secondaryMenu)return;e.stopPropagation();this.panel.classList.add("loading");this.panel.addEventListener("transitionend",(function(){t.panel.classList.remove("loading")}),{once:true});this.panel.style.minHeight=e.detail.secondaryMenu.scrollHeight+"px"};e.prototype.secondaryClose=function(e){if(!e.detail.secondaryMenu)return;e.stopPropagation();if(!e.target.parentElement)return;this.panel.style.minHeight=e.target.parentElement.scrollHeight+"px"};e.prototype.handlePanelSelect=function(e){var t=e.target;if(this.closeOnSelect&&t.tagName.toLowerCase()==="nano-menu")this.hide()};e.prototype.show=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(t){this.ignoreOpenWatcher=true;this.open=true;e=this.nanoShow.emit();if(e.defaultPrevented){this.open=false;this.ignoreOpenWatcher=false;return[2]}this.popover.show();this.ignoreOpenWatcher=false;document.addEventListener("mousedown",this.handleDocumentMouseDown);document.addEventListener("keydown",this.handleDocumentKeyDown);return[2]}))}))};e.prototype.hide=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(t){this.ignoreOpenWatcher=true;this.open=false;e=this.nanoHide.emit();if(e.defaultPrevented){this.open=true;this.ignoreOpenWatcher=false;return[2]}if(this.popover)this.popover.hide();this.ignoreOpenWatcher=false;document.removeEventListener("mousedown",this.handleDocumentMouseDown);document.removeEventListener("keydown",this.handleDocumentKeyDown);if(this.accessibleTrigger&&this.focusEleInDropDwn()){this.accessibleTrigger.focus()}return[2]}))}))};e.prototype.focusEleInDropDwn=function(e){var t;var n=s();if(e&&((t=e.composedPath())===null||t===void 0?void 0:t.length)){var o=e.composedPath().includes(this.containingElement);return!e.composedPath().includes(this.accessibleTrigger)&&o}return n&&n.closest(this.containingElement.tagName.toLowerCase())===this.containingElement&&n!==this.accessibleTrigger};e.prototype.updateAccessibleTrigger=function(){if(!this.didLoad)return;var e;this.accessibleTrigger=null;if(!this.tetherTo){var t=Array.from(this.host.querySelectorAll('[slot="trigger"]'));e=t.map(a)[0]}else{e=a(this.tetherTo)}if(e){e.setAttribute("aria-haspopup","true");e.setAttribute("aria-expanded",this.open?"true":"false");this.accessibleTrigger=e}};e.prototype.handleDocumentKeyDown=function(e){var t=this;if(e.key==="Escape"){this.hide();return}if(e.key==="Tab"){setTimeout((function(){if(document.activeElement&&document.activeElement.closest(t.containingElement.tagName.toLowerCase())!==t.containingElement){t.hide();return}}))}if(this.menu&&["ArrowDown","ArrowUp"].includes(e.key)){if(!this.open||this.focusEleInDropDwn(e))return;e.preventDefault();this.menu.setFocus();return}var n=e.composedPath();if(this.menu&&n.length&&!n.find((function(e){return e!==t.menu}))){this.menu.dispatchEvent(new KeyboardEvent(e.type,e));return}};e.prototype.handleDocumentMouseDown=function(e){if(!this.focusEleInDropDwn(e)){this.hide();return}};e.prototype.createPopover=function(){var e=this;if(this.popover){if(this.open)this.hide();this.popover.destroy();this.popover=null}this.popover=new r(this.tetherTo||this.trigger,this.positioner,{strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding,transitionElement:this.panel,onAfterHide:function(){return e.nanoAfterHide.emit()},onAfterShow:function(){return e.nanoAfterShow.emit()},onTransitionEnd:function(){if(!e.open){e.panel.scrollTop=0}else if(e.menu){e.menu.showActiveElement()}}});if(this.open){this.show()}};e.prototype.connectedCallback=function(){this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this);this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this);if(!this.containingElement)this.containingElement=this.host};e.prototype.componentDidLoad=function(){var e=this;this.didLoad=true;this.createPopover();setTimeout((function(){return e.updateAccessibleTrigger()}),100)};e.prototype.disconnectedCallback=function(){this.hide();if(this.popover)this.popover.destroy()};e.prototype.render=function(){var e=this;return o("div",{part:"base",id:this.dropdownId,class:{dropdown:true,"dropdown--open":this.open}},o("span",{part:"trigger",class:"dropdown__trigger",ref:function(t){return e.trigger=t},onKeyDown:this.handleTriggerKeyDown,onClick:this.togglePanel},o("slot",{name:"trigger",onSlotchange:this.handleTriggerSlotChange})),o("div",{ref:function(t){return e.positioner=t},class:"dropdown__positioner"},o("div",{ref:function(t){return e.panel=t},part:"panel",class:"dropdown__panel "+this.placement.split("-").join(" "),"aria-hidden":!this.open,role:"dialog","aria-modal":"true","aria-labelledby":this.dialogTitle?this.labelId:undefined},this.dialogTitle&&o("h2",{id:this.labelId,class:"dropdown__accessible-title","aria-live":"polite"},this.dialogTitle),o("slot",null))))};Object.defineProperty(e.prototype,"host",{get:function(){return i(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{open:["handleOpenChange"],tetherTo:["handleTetherToChange"],placement:["handlePopoverOptionsChange"],distance:["handlePopoverOptionsChange"],skidding:["handlePopoverOptionsChange"],hoist:["handlePopoverOptionsChange"]}},enumerable:false,configurable:true});return e}());l.style=d}}}));
5
- //# sourceMappingURL=p-9acc4596.system.entry.js.map
4
+ */System.register(["./p-59b3d24b.system.js","./p-e43ec257.system.js","./p-09d2d944.system.js","./p-9de508a5.system.js","./p-1c216ca4.system.js"],(function(e){"use strict";var t,n,o,i,r,s,a;return{setters:[function(e){t=e.r;n=e.c;o=e.h;i=e.g},function(e){r=e.P},function(e){s=e.g},function(e){a=e.a},function(){}],execute:function(){var h=":host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{--width:auto;--border:var(--nano-layer-border-style, 1px solid var(--nano-layer-border-color, rgba(0, 0, 0, 0.1)));--border-radius:var(--nano-layer-border-radius, var(--nano-border-radius-medium, 4px));--background:var(--nano-layer-bg, #fff);--padding:10px 0;--overflow:hidden;--dropdown-z-index:var(--nano-layer-index-dropdown, 300);--min-width:0;--box-shadow:var(--nano-layer-shadow-large, 0 2px 8px rgba(0, 0, 0, 0.2));display:-webkit-box;display:-ms-flexbox;display:flex}.dropdown{position:relative}.dropdown__trigger{display:block}.dropdown__positioner{position:absolute;z-index:var(--dropdown-z-index);min-width:var(--min-width)}@media (max-width: 35.9375em){.dropdown__positioner{z-index:100}}.dropdown__panel{padding:var(--padding);background:var(--background);min-width:var(--min-width);width:var(--width);border:var(--border);border-radius:var(--border-radius);color:currentColor;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);opacity:0;-webkit-transition:0.2s ease opacity, 0.2s ease transform, 0.2s ease min-height;transition:0.2s ease opacity, 0.2s ease transform, 0.2s ease min-height;min-height:20px;overflow:var(--overflow);-webkit-box-sizing:content-box !important;box-sizing:content-box !important}.dropdown__panel.loading{overflow-y:hidden}.dropdown__panel.top{-webkit-transform:translateY(-20px) translateZ(0);transform:translateY(-20px) translateZ(0)}.dropdown__panel.bottom{-webkit-transform:translateY(20px) translateZ(0);transform:translateY(20px) translateZ(0)}.dropdown__positioner.popover-visible .dropdown__panel{opacity:1;-webkit-transform:translateY(0) translateZ(0);transform:translateY(0) translateZ(0)}.dropdown__panel ::slotted(nano-menu){max-height:50vh}.dropdown__accessible-title{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}";var d=0;var l=e("nano_dropdown",function(){function e(e){var o=this;t(this,e);this.nanoShow=n(this,"nanoShow",7);this.nanoAfterShow=n(this,"nanoAfterShow",7);this.nanoHide=n(this,"nanoHide",7);this.nanoAfterHide=n(this,"nanoAfterHide",7);this.dropdownId="dropdown-"+d++;this.labelId=this.dropdownId+"-title";this.ignoreOpenWatcher=false;this.didLoad=false;this.autoOpen=true;this.open=false;this.closeOnSelect=true;this.tetherTo=null;this.placement="bottom-start";this.distance=2;this.skidding=0;this.hoist=false;this.togglePanel=function(){if(!o.autoOpen)return;o.open?o.hide():o.show()};this.handleTriggerKeyDown=function(e){if(["ArrowDown","ArrowUp"," "].includes(e.key)){o.show();e.preventDefault();e.stopPropagation();if(o.menu)o.menu.setFocus()}};this.handleTriggerSlotChange=function(){o.updateAccessibleTrigger()}}Object.defineProperty(e.prototype,"menu",{get:function(){return this.host.querySelector("nano-menu")},enumerable:false,configurable:true});e.prototype.handleOpenChange=function(){if(this.ignoreOpenWatcher)return;this.open?this.show():this.hide();if(this.accessibleTrigger){this.accessibleTrigger.setAttribute("aria-expanded",this.open.toString());return}this.updateAccessibleTrigger()};e.prototype.handleTetherToChange=function(){this.createPopover();this.updateAccessibleTrigger()};e.prototype.handlePopoverOptionsChange=function(){this.popover.setOptions({strategy:this.hoist?"fixed":"absolute",placement:this.placement,skidding:this.skidding,distance:this.distance})};e.prototype.secondaryOpen=function(e){var t=this;if(!e.detail.secondaryMenu)return;e.stopPropagation();this.panel.classList.add("loading");this.panel.addEventListener("transitionend",(function(){t.panel.classList.remove("loading")}),{once:true});this.panel.style.minHeight=e.detail.secondaryMenu.scrollHeight+"px"};e.prototype.secondaryClose=function(e){if(!e.detail.secondaryMenu)return;e.stopPropagation();if(!e.target.parentElement)return;this.panel.style.minHeight=e.target.parentElement.scrollHeight+"px"};e.prototype.handlePanelSelect=function(e){var t=e.target;if(this.closeOnSelect&&t.tagName.toLowerCase()==="nano-menu")this.hide()};e.prototype.show=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(t){this.ignoreOpenWatcher=true;this.open=true;e=this.nanoShow.emit();if(e.defaultPrevented){this.open=false;this.ignoreOpenWatcher=false;return[2]}this.popover.show();this.ignoreOpenWatcher=false;document.addEventListener("mousedown",this.handleDocumentMouseDown);document.addEventListener("keydown",this.handleDocumentKeyDown);return[2]}))}))};e.prototype.hide=function(){return __awaiter(this,void 0,void 0,(function(){var e;return __generator(this,(function(t){this.ignoreOpenWatcher=true;this.open=false;e=this.nanoHide.emit();if(e.defaultPrevented){this.open=true;this.ignoreOpenWatcher=false;return[2]}if(this.popover)this.popover.hide();this.ignoreOpenWatcher=false;document.removeEventListener("mousedown",this.handleDocumentMouseDown);document.removeEventListener("keydown",this.handleDocumentKeyDown);if(this.accessibleTrigger&&this.focusEleInDropDwn()){this.accessibleTrigger.focus()}return[2]}))}))};e.prototype.focusEleInDropDwn=function(e){var t;var n=s();if(e&&((t=e.composedPath())===null||t===void 0?void 0:t.length)){var o=e.composedPath().includes(this.containingElement);return!e.composedPath().includes(this.accessibleTrigger)&&o}return n&&n.closest(this.containingElement.tagName.toLowerCase())===this.containingElement&&n!==this.accessibleTrigger};e.prototype.updateAccessibleTrigger=function(){if(!this.didLoad)return;var e;this.accessibleTrigger=null;if(!this.tetherTo){var t=Array.from(this.host.querySelectorAll('[slot="trigger"]'));e=t.map(a)[0]}else{e=a(this.tetherTo)}if(e){e.setAttribute("aria-haspopup","true");e.setAttribute("aria-expanded",this.open?"true":"false");this.accessibleTrigger=e}};e.prototype.handleDocumentKeyDown=function(e){var t=this;if(e.key==="Escape"){this.hide();return}if(e.key==="Tab"){setTimeout((function(){if(document.activeElement&&document.activeElement.closest(t.containingElement.tagName.toLowerCase())!==t.containingElement){t.hide();return}}))}if(this.menu&&["ArrowDown","ArrowUp"].includes(e.key)){if(!this.open||this.focusEleInDropDwn(e))return;e.preventDefault();this.menu.setFocus();return}var n=e.composedPath();if(this.menu&&n.length&&!n.find((function(e){return e!==t.menu}))){this.menu.dispatchEvent(new KeyboardEvent(e.type,e));return}};e.prototype.handleDocumentMouseDown=function(e){if(!this.focusEleInDropDwn(e)){this.hide();return}};e.prototype.createPopover=function(){var e=this;if(this.popover){if(this.open)this.hide();this.popover.destroy();this.popover=null}this.popover=new r(this.tetherTo||this.trigger,this.positioner,{strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding,transitionElement:this.panel,onAfterHide:function(){return e.nanoAfterHide.emit()},onAfterShow:function(){return e.nanoAfterShow.emit()},onTransitionEnd:function(){if(!e.open){e.panel.scrollTop=0}else if(e.menu){e.menu.showActiveElement()}}});if(this.open){this.show()}};e.prototype.connectedCallback=function(){this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this);this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this);if(!this.containingElement)this.containingElement=this.host};e.prototype.componentDidLoad=function(){var e=this;this.didLoad=true;this.createPopover();setTimeout((function(){return e.updateAccessibleTrigger()}),100)};e.prototype.disconnectedCallback=function(){this.hide();if(this.popover)this.popover.destroy()};e.prototype.render=function(){var e=this;return o("div",{part:"base",id:this.dropdownId,class:{dropdown:true,"dropdown--open":this.open}},o("span",{part:"trigger",class:"dropdown__trigger",ref:function(t){return e.trigger=t},onKeyDown:this.handleTriggerKeyDown,onClick:this.togglePanel},o("slot",{name:"trigger",onSlotchange:this.handleTriggerSlotChange})),o("div",{ref:function(t){return e.positioner=t},class:"dropdown__positioner"},o("div",{ref:function(t){return e.panel=t},part:"panel",class:"dropdown__panel "+this.placement.split("-").join(" "),"aria-hidden":!this.open,role:"dialog","aria-modal":"true","aria-labelledby":this.dialogTitle?this.labelId:undefined},this.dialogTitle&&o("h2",{id:this.labelId,class:"dropdown__accessible-title","aria-live":"polite"},this.dialogTitle),o("slot",null))))};Object.defineProperty(e.prototype,"host",{get:function(){return i(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{open:["handleOpenChange"],tetherTo:["handleTetherToChange"],placement:["handlePopoverOptionsChange"],distance:["handlePopoverOptionsChange"],skidding:["handlePopoverOptionsChange"],hoist:["handlePopoverOptionsChange"]}},enumerable:false,configurable:true});return e}());l.style=h}}}));
5
+ //# sourceMappingURL=p-2ae4918d.system.entry.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Web Components for Nanopore digital Web Apps
3
3
  */
4
- import{r as t,c as i,h as s,g as e}from"./p-ab5813a7.js";import{P as o}from"./p-178c34e3.js";import{g as n}from"./p-74a7fc4f.js";import{a as r}from"./p-9a385481.js";import"./p-289aa03f.js";const a=":host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{--width:auto;--border:var(--nano-layer-border-style, 1px solid var(--nano-layer-border-color, rgba(0, 0, 0, 0.1)));--border-radius:var(--nano-layer-border-radius, var(--nano-border-radius-medium, 4px));--background:var(--nano-layer-bg, #fff);--padding:10px 0;--overflow:hidden;--dropdown-z-index:var(--nano-layer-index-dropdown, 300);--min-width:0;--box-shadow:var(--nano-layer-shadow-large, 0 2px 8px rgba(0, 0, 0, 0.2));display:-webkit-box;display:-ms-flexbox;display:flex}.dropdown{position:relative}.dropdown__trigger{display:block}.dropdown__positioner{position:absolute;z-index:var(--dropdown-z-index);min-width:var(--min-width)}@media (max-width: 35.9375em){.dropdown__positioner{z-index:100}}.dropdown__panel{padding:var(--padding);background:var(--background);min-width:var(--min-width);width:var(--width);border:var(--border);border-radius:var(--border-radius);color:currentColor;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);opacity:0;-webkit-transition:0.2s ease opacity, 0.2s ease transform, 0.2s ease min-height;transition:0.2s ease opacity, 0.2s ease transform, 0.2s ease min-height;min-height:20px;overflow:var(--overflow);-webkit-box-sizing:content-box !important;box-sizing:content-box !important}.dropdown__panel.loading{overflow-y:hidden}.dropdown__panel.top{-webkit-transform:translateY(-20px) translateZ(0);transform:translateY(-20px) translateZ(0)}.dropdown__panel.bottom{-webkit-transform:translateY(20px) translateZ(0);transform:translateY(20px) translateZ(0)}.dropdown__positioner.popover-visible .dropdown__panel{opacity:1;-webkit-transform:translateY(0) translateZ(0);transform:translateY(0) translateZ(0)}.dropdown__panel ::slotted(nano-menu){max-height:50vh}.dropdown__accessible-title{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}";let h=0;let d=class{constructor(s){t(this,s);this.nanoShow=i(this,"nanoShow",7);this.nanoAfterShow=i(this,"nanoAfterShow",7);this.nanoHide=i(this,"nanoHide",7);this.nanoAfterHide=i(this,"nanoAfterHide",7);this.dropdownId=`dropdown-${h++}`;this.labelId=this.dropdownId+"-title";this.ignoreOpenWatcher=false;this.didLoad=false;this.autoOpen=true;this.open=false;this.closeOnSelect=true;this.tetherTo=null;this.placement="bottom-start";this.distance=2;this.skidding=0;this.hoist=false;this.togglePanel=()=>{if(!this.autoOpen)return;this.open?this.hide():this.show()};this.handleTriggerKeyDown=t=>{if(["ArrowDown","ArrowUp"," "].includes(t.key)){this.show();t.preventDefault();t.stopPropagation();if(this.menu)this.menu.setFocus()}};this.handleTriggerSlotChange=()=>{this.updateAccessibleTrigger()}}get menu(){return this.host.querySelector("nano-menu")}handleOpenChange(){if(this.ignoreOpenWatcher)return;this.open?this.show():this.hide();if(this.accessibleTrigger){this.accessibleTrigger.setAttribute("aria-expanded",this.open.toString());return}this.updateAccessibleTrigger()}handleTetherToChange(){this.createPopover();this.updateAccessibleTrigger()}handlePopoverOptionsChange(){this.popover.setOptions({strategy:this.hoist?"fixed":"absolute",placement:this.placement,skidding:this.skidding,distance:this.distance})}secondaryOpen(t){if(!t.detail.secondaryMenu)return;t.stopPropagation();this.panel.classList.add("loading");this.panel.addEventListener("transitionend",(()=>{this.panel.classList.remove("loading")}),{once:true});this.panel.style.minHeight=t.detail.secondaryMenu.scrollHeight+"px"}secondaryClose(t){if(!t.detail.secondaryMenu)return;t.stopPropagation();if(!t.target.parentElement)return;this.panel.style.minHeight=t.target.parentElement.scrollHeight+"px"}handlePanelSelect(t){const i=t.target;if(this.closeOnSelect&&i.tagName.toLowerCase()==="nano-menu")this.hide()}async show(){this.ignoreOpenWatcher=true;this.open=true;const t=this.nanoShow.emit();if(t.defaultPrevented){this.open=false;this.ignoreOpenWatcher=false;return}this.popover.show();this.ignoreOpenWatcher=false;document.addEventListener("mousedown",this.handleDocumentMouseDown);document.addEventListener("keydown",this.handleDocumentKeyDown)}async hide(){this.ignoreOpenWatcher=true;this.open=false;const t=this.nanoHide.emit();if(t.defaultPrevented){this.open=true;this.ignoreOpenWatcher=false;return}if(this.popover)this.popover.hide();this.ignoreOpenWatcher=false;document.removeEventListener("mousedown",this.handleDocumentMouseDown);document.removeEventListener("keydown",this.handleDocumentKeyDown);if(this.accessibleTrigger&&this.focusEleInDropDwn()){this.accessibleTrigger.focus()}}focusEleInDropDwn(t){var i;const s=n();if(t&&((i=t.composedPath())===null||i===void 0?void 0:i.length)){const i=t.composedPath().includes(this.containingElement);return!t.composedPath().includes(this.accessibleTrigger)&&i}return s&&s.closest(this.containingElement.tagName.toLowerCase())===this.containingElement&&s!==this.accessibleTrigger}updateAccessibleTrigger(){if(!this.didLoad)return;let t;this.accessibleTrigger=null;if(!this.tetherTo){const i=Array.from(this.host.querySelectorAll('[slot="trigger"]'));t=i.map(r)[0]}else{t=r(this.tetherTo)}if(t){t.setAttribute("aria-haspopup","true");t.setAttribute("aria-expanded",this.open?"true":"false");this.accessibleTrigger=t}}handleDocumentKeyDown(t){if(t.key==="Escape"){this.hide();return}if(t.key==="Tab"){setTimeout((()=>{if(document.activeElement&&document.activeElement.closest(this.containingElement.tagName.toLowerCase())!==this.containingElement){this.hide();return}}))}if(this.menu&&["ArrowDown","ArrowUp"].includes(t.key)){if(!this.open||this.focusEleInDropDwn(t))return;t.preventDefault();this.menu.setFocus();return}const i=t.composedPath();if(this.menu&&i.length&&!i.find((t=>t!==this.menu))){this.menu.dispatchEvent(new KeyboardEvent(t.type,t));return}}handleDocumentMouseDown(t){if(!this.focusEleInDropDwn(t)){this.hide();return}}createPopover(){if(this.popover){if(this.open)this.hide();this.popover.destroy();this.popover=null}this.popover=new o(this.tetherTo||this.trigger,this.positioner,{strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding,transitionElement:this.panel,onAfterHide:()=>this.nanoAfterHide.emit(),onAfterShow:()=>this.nanoAfterShow.emit(),onTransitionEnd:()=>{if(!this.open){this.panel.scrollTop=0}else if(this.menu){this.menu.showActiveElement()}}});if(this.open){this.show()}}connectedCallback(){this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this);this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this);if(!this.containingElement)this.containingElement=this.host}componentDidLoad(){this.didLoad=true;this.createPopover();setTimeout((()=>this.updateAccessibleTrigger()),100)}disconnectedCallback(){this.hide();if(this.popover)this.popover.destroy()}render(){return s("div",{part:"base",id:this.dropdownId,class:{dropdown:true,"dropdown--open":this.open}},s("span",{part:"trigger",class:"dropdown__trigger",ref:t=>this.trigger=t,onKeyDown:this.handleTriggerKeyDown,onClick:this.togglePanel},s("slot",{name:"trigger",onSlotchange:this.handleTriggerSlotChange})),s("div",{ref:t=>this.positioner=t,class:"dropdown__positioner"},s("div",{ref:t=>this.panel=t,part:"panel",class:`dropdown__panel ${this.placement.split("-").join(" ")}`,"aria-hidden":!this.open,role:"dialog","aria-modal":"true","aria-labelledby":this.dialogTitle?this.labelId:undefined},this.dialogTitle&&s("h2",{id:this.labelId,class:"dropdown__accessible-title","aria-live":"polite"},this.dialogTitle),s("slot",null))))}get host(){return e(this)}static get watchers(){return{open:["handleOpenChange"],tetherTo:["handleTetherToChange"],placement:["handlePopoverOptionsChange"],distance:["handlePopoverOptionsChange"],skidding:["handlePopoverOptionsChange"],hoist:["handlePopoverOptionsChange"]}}};d.style=a;export{d as nano_dropdown};
5
- //# sourceMappingURL=p-c9d09839.entry.js.map
4
+ import{r as t,c as i,h as s,g as e}from"./p-ab5813a7.js";import{P as o}from"./p-3de7735c.js";import{g as n}from"./p-74a7fc4f.js";import{a as r}from"./p-9a385481.js";import"./p-289aa03f.js";const a=":host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{--width:auto;--border:var(--nano-layer-border-style, 1px solid var(--nano-layer-border-color, rgba(0, 0, 0, 0.1)));--border-radius:var(--nano-layer-border-radius, var(--nano-border-radius-medium, 4px));--background:var(--nano-layer-bg, #fff);--padding:10px 0;--overflow:hidden;--dropdown-z-index:var(--nano-layer-index-dropdown, 300);--min-width:0;--box-shadow:var(--nano-layer-shadow-large, 0 2px 8px rgba(0, 0, 0, 0.2));display:-webkit-box;display:-ms-flexbox;display:flex}.dropdown{position:relative}.dropdown__trigger{display:block}.dropdown__positioner{position:absolute;z-index:var(--dropdown-z-index);min-width:var(--min-width)}@media (max-width: 35.9375em){.dropdown__positioner{z-index:100}}.dropdown__panel{padding:var(--padding);background:var(--background);min-width:var(--min-width);width:var(--width);border:var(--border);border-radius:var(--border-radius);color:currentColor;-webkit-box-shadow:var(--box-shadow);box-shadow:var(--box-shadow);opacity:0;-webkit-transition:0.2s ease opacity, 0.2s ease transform, 0.2s ease min-height;transition:0.2s ease opacity, 0.2s ease transform, 0.2s ease min-height;min-height:20px;overflow:var(--overflow);-webkit-box-sizing:content-box !important;box-sizing:content-box !important}.dropdown__panel.loading{overflow-y:hidden}.dropdown__panel.top{-webkit-transform:translateY(-20px) translateZ(0);transform:translateY(-20px) translateZ(0)}.dropdown__panel.bottom{-webkit-transform:translateY(20px) translateZ(0);transform:translateY(20px) translateZ(0)}.dropdown__positioner.popover-visible .dropdown__panel{opacity:1;-webkit-transform:translateY(0) translateZ(0);transform:translateY(0) translateZ(0)}.dropdown__panel ::slotted(nano-menu){max-height:50vh}.dropdown__accessible-title{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}";let h=0;let d=class{constructor(s){t(this,s);this.nanoShow=i(this,"nanoShow",7);this.nanoAfterShow=i(this,"nanoAfterShow",7);this.nanoHide=i(this,"nanoHide",7);this.nanoAfterHide=i(this,"nanoAfterHide",7);this.dropdownId=`dropdown-${h++}`;this.labelId=this.dropdownId+"-title";this.ignoreOpenWatcher=false;this.didLoad=false;this.autoOpen=true;this.open=false;this.closeOnSelect=true;this.tetherTo=null;this.placement="bottom-start";this.distance=2;this.skidding=0;this.hoist=false;this.togglePanel=()=>{if(!this.autoOpen)return;this.open?this.hide():this.show()};this.handleTriggerKeyDown=t=>{if(["ArrowDown","ArrowUp"," "].includes(t.key)){this.show();t.preventDefault();t.stopPropagation();if(this.menu)this.menu.setFocus()}};this.handleTriggerSlotChange=()=>{this.updateAccessibleTrigger()}}get menu(){return this.host.querySelector("nano-menu")}handleOpenChange(){if(this.ignoreOpenWatcher)return;this.open?this.show():this.hide();if(this.accessibleTrigger){this.accessibleTrigger.setAttribute("aria-expanded",this.open.toString());return}this.updateAccessibleTrigger()}handleTetherToChange(){this.createPopover();this.updateAccessibleTrigger()}handlePopoverOptionsChange(){this.popover.setOptions({strategy:this.hoist?"fixed":"absolute",placement:this.placement,skidding:this.skidding,distance:this.distance})}secondaryOpen(t){if(!t.detail.secondaryMenu)return;t.stopPropagation();this.panel.classList.add("loading");this.panel.addEventListener("transitionend",(()=>{this.panel.classList.remove("loading")}),{once:true});this.panel.style.minHeight=t.detail.secondaryMenu.scrollHeight+"px"}secondaryClose(t){if(!t.detail.secondaryMenu)return;t.stopPropagation();if(!t.target.parentElement)return;this.panel.style.minHeight=t.target.parentElement.scrollHeight+"px"}handlePanelSelect(t){const i=t.target;if(this.closeOnSelect&&i.tagName.toLowerCase()==="nano-menu")this.hide()}async show(){this.ignoreOpenWatcher=true;this.open=true;const t=this.nanoShow.emit();if(t.defaultPrevented){this.open=false;this.ignoreOpenWatcher=false;return}this.popover.show();this.ignoreOpenWatcher=false;document.addEventListener("mousedown",this.handleDocumentMouseDown);document.addEventListener("keydown",this.handleDocumentKeyDown)}async hide(){this.ignoreOpenWatcher=true;this.open=false;const t=this.nanoHide.emit();if(t.defaultPrevented){this.open=true;this.ignoreOpenWatcher=false;return}if(this.popover)this.popover.hide();this.ignoreOpenWatcher=false;document.removeEventListener("mousedown",this.handleDocumentMouseDown);document.removeEventListener("keydown",this.handleDocumentKeyDown);if(this.accessibleTrigger&&this.focusEleInDropDwn()){this.accessibleTrigger.focus()}}focusEleInDropDwn(t){var i;const s=n();if(t&&((i=t.composedPath())===null||i===void 0?void 0:i.length)){const i=t.composedPath().includes(this.containingElement);return!t.composedPath().includes(this.accessibleTrigger)&&i}return s&&s.closest(this.containingElement.tagName.toLowerCase())===this.containingElement&&s!==this.accessibleTrigger}updateAccessibleTrigger(){if(!this.didLoad)return;let t;this.accessibleTrigger=null;if(!this.tetherTo){const i=Array.from(this.host.querySelectorAll('[slot="trigger"]'));t=i.map(r)[0]}else{t=r(this.tetherTo)}if(t){t.setAttribute("aria-haspopup","true");t.setAttribute("aria-expanded",this.open?"true":"false");this.accessibleTrigger=t}}handleDocumentKeyDown(t){if(t.key==="Escape"){this.hide();return}if(t.key==="Tab"){setTimeout((()=>{if(document.activeElement&&document.activeElement.closest(this.containingElement.tagName.toLowerCase())!==this.containingElement){this.hide();return}}))}if(this.menu&&["ArrowDown","ArrowUp"].includes(t.key)){if(!this.open||this.focusEleInDropDwn(t))return;t.preventDefault();this.menu.setFocus();return}const i=t.composedPath();if(this.menu&&i.length&&!i.find((t=>t!==this.menu))){this.menu.dispatchEvent(new KeyboardEvent(t.type,t));return}}handleDocumentMouseDown(t){if(!this.focusEleInDropDwn(t)){this.hide();return}}createPopover(){if(this.popover){if(this.open)this.hide();this.popover.destroy();this.popover=null}this.popover=new o(this.tetherTo||this.trigger,this.positioner,{strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding,transitionElement:this.panel,onAfterHide:()=>this.nanoAfterHide.emit(),onAfterShow:()=>this.nanoAfterShow.emit(),onTransitionEnd:()=>{if(!this.open){this.panel.scrollTop=0}else if(this.menu){this.menu.showActiveElement()}}});if(this.open){this.show()}}connectedCallback(){this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this);this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this);if(!this.containingElement)this.containingElement=this.host}componentDidLoad(){this.didLoad=true;this.createPopover();setTimeout((()=>this.updateAccessibleTrigger()),100)}disconnectedCallback(){this.hide();if(this.popover)this.popover.destroy()}render(){return s("div",{part:"base",id:this.dropdownId,class:{dropdown:true,"dropdown--open":this.open}},s("span",{part:"trigger",class:"dropdown__trigger",ref:t=>this.trigger=t,onKeyDown:this.handleTriggerKeyDown,onClick:this.togglePanel},s("slot",{name:"trigger",onSlotchange:this.handleTriggerSlotChange})),s("div",{ref:t=>this.positioner=t,class:"dropdown__positioner"},s("div",{ref:t=>this.panel=t,part:"panel",class:`dropdown__panel ${this.placement.split("-").join(" ")}`,"aria-hidden":!this.open,role:"dialog","aria-modal":"true","aria-labelledby":this.dialogTitle?this.labelId:undefined},this.dialogTitle&&s("h2",{id:this.labelId,class:"dropdown__accessible-title","aria-live":"polite"},this.dialogTitle),s("slot",null))))}get host(){return e(this)}static get watchers(){return{open:["handleOpenChange"],tetherTo:["handleTetherToChange"],placement:["handlePopoverOptionsChange"],distance:["handlePopoverOptionsChange"],skidding:["handlePopoverOptionsChange"],hoist:["handlePopoverOptionsChange"]}}};d.style=a;export{d as nano_dropdown};
5
+ //# sourceMappingURL=p-313970ff.entry.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Web Components for Nanopore digital Web Apps
3
3
  */
4
- import{r}from"./p-289aa03f.js";var t="top";var e="bottom";var n="right";var a="left";var i="auto";var o=[t,e,n,a];var f="start";var v="end";var u="clippingParents";var s="viewport";var c="popper";var l="reference";var d=o.reduce((function(r,t){return r.concat([t+"-"+f,t+"-"+v])}),[]);var p=[].concat(o,[i]).reduce((function(r,t){return r.concat([t,t+"-"+f,t+"-"+v])}),[]);var h="beforeRead";var b="read";var m="afterRead";var y="beforeMain";var w="main";var x="afterMain";var O="beforeWrite";var g="write";var j="afterWrite";var k=[h,b,m,y,w,x,O,g,j];function M(r){return r?(r.nodeName||"").toLowerCase():null}function A(r){if(r==null){return window}if(r.toString()!=="[object Window]"){var t=r.ownerDocument;return t?t.defaultView||window:window}return r}function E(r){var t=A(r).Element;return r instanceof t||r instanceof Element}function q(r){var t=A(r).HTMLElement;return r instanceof t||r instanceof HTMLElement}function P(r){if(typeof ShadowRoot==="undefined"){return false}var t=A(r).ShadowRoot;return r instanceof t||r instanceof ShadowRoot}function S(r){var t=r.state;Object.keys(t.elements).forEach((function(r){var e=t.styles[r]||{};var n=t.attributes[r]||{};var a=t.elements[r];if(!q(a)||!M(a)){return}Object.assign(a.style,e);Object.keys(n).forEach((function(r){var t=n[r];if(t===false){a.removeAttribute(r)}else{a.setAttribute(r,t===true?"":t)}}))}))}function W(r){var t=r.state;var e={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(t.elements.popper.style,e.popper);t.styles=e;if(t.elements.arrow){Object.assign(t.elements.arrow.style,e.arrow)}return function(){Object.keys(t.elements).forEach((function(r){var n=t.elements[r];var a=t.attributes[r]||{};var i=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:e[r]);var o=i.reduce((function(r,t){r[t]="";return r}),{});if(!q(n)||!M(n)){return}Object.assign(n.style,o);Object.keys(a).forEach((function(r){n.removeAttribute(r)}))}))}}const B={name:"applyStyles",enabled:true,phase:"write",fn:S,effect:W,requires:["computeStyles"]};function T(r){return r.split("-")[0]}var R=Math.max;var H=Math.min;var L=Math.round;function I(r,t){if(t===void 0){t=false}var e=r.getBoundingClientRect();var n=1;var a=1;if(q(r)&&t){var i=r.offsetHeight;var o=r.offsetWidth;if(o>0){n=L(e.width)/o||1}if(i>0){a=L(e.height)/i||1}}return{width:e.width/n,height:e.height/a,top:e.top/a,right:e.right/n,bottom:e.bottom/a,left:e.left/n,x:e.left/n,y:e.top/a}}function C(r){var t=I(r);var e=r.offsetWidth;var n=r.offsetHeight;if(Math.abs(t.width-e)<=1){e=t.width}if(Math.abs(t.height-n)<=1){n=t.height}return{x:r.offsetLeft,y:r.offsetTop,width:e,height:n}}function F(r,t){var e=t.getRootNode&&t.getRootNode();if(r.contains(t)){return true}else if(e&&P(e)){var n=t;do{if(n&&r.isSameNode(n)){return true}n=n.parentNode||n.host}while(n)}return false}function z(r){return A(r).getComputedStyle(r)}function D(r){return["table","td","th"].indexOf(M(r))>=0}function U(r){return((E(r)?r.ownerDocument:r.document)||window.document).documentElement}function V(r){if(M(r)==="html"){return r}return r.assignedSlot||r.parentNode||(P(r)?r.host:null)||U(r)}function $(r){if(!q(r)||z(r).position==="fixed"){return null}return r.offsetParent}function _(r){var t=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1;var e=navigator.userAgent.indexOf("Trident")!==-1;if(e&&q(r)){var n=z(r);if(n.position==="fixed"){return null}}var a=V(r);if(P(a)){a=a.host}while(q(a)&&["html","body"].indexOf(M(a))<0){var i=z(a);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||t&&i.willChange==="filter"||t&&i.filter&&i.filter!=="none"){return a}else{a=a.parentNode}}return null}function G(r){var t=A(r);var e=$(r);while(e&&D(e)&&z(e).position==="static"){e=$(e)}if(e&&(M(e)==="html"||M(e)==="body"&&z(e).position==="static")){return t}return e||_(r)||t}function J(r){return["top","bottom"].indexOf(r)>=0?"x":"y"}function K(r,t,e){return R(r,H(t,e))}function N(r,t,e){var n=K(r,t,e);return n>e?e:n}function Q(){return{top:0,right:0,bottom:0,left:0}}function X(r){return Object.assign({},Q(),r)}function Y(r,t){return t.reduce((function(t,e){t[e]=r;return t}),{})}var Z=function r(t,e){t=typeof t==="function"?t(Object.assign({},e.rects,{placement:e.placement})):t;return X(typeof t!=="number"?t:Y(t,o))};function rr(r){var i;var o=r.state,f=r.name,v=r.options;var u=o.elements.arrow;var s=o.modifiersData.popperOffsets;var c=T(o.placement);var l=J(c);var d=[a,n].indexOf(c)>=0;var p=d?"height":"width";if(!u||!s){return}var h=Z(v.padding,o);var b=C(u);var m=l==="y"?t:a;var y=l==="y"?e:n;var w=o.rects.reference[p]+o.rects.reference[l]-s[l]-o.rects.popper[p];var x=s[l]-o.rects.reference[l];var O=G(u);var g=O?l==="y"?O.clientHeight||0:O.clientWidth||0:0;var j=w/2-x/2;var k=h[m];var M=g-b[p]-h[y];var A=g/2-b[p]/2+j;var E=K(k,A,M);var q=l;o.modifiersData[f]=(i={},i[q]=E,i.centerOffset=E-A,i)}function tr(r){var t=r.state,e=r.options;var n=e.element,a=n===void 0?"[data-popper-arrow]":n;if(a==null){return}if(typeof a==="string"){a=t.elements.popper.querySelector(a);if(!a){return}}if(!F(t.elements.popper,a)){return}t.elements.arrow=a}const er={name:"arrow",enabled:true,phase:"main",fn:rr,effect:tr,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function nr(r){return r.split("-")[1]}var ar={top:"auto",right:"auto",bottom:"auto",left:"auto"};function ir(r){var t=r.x,e=r.y;var n=window;var a=n.devicePixelRatio||1;return{x:L(t*a)/a||0,y:L(e*a)/a||0}}function or(r){var i;var o=r.popper,f=r.popperRect,u=r.placement,s=r.variation,c=r.offsets,l=r.position,d=r.gpuAcceleration,p=r.adaptive,h=r.roundOffsets,b=r.isFixed;var m=c.x,y=m===void 0?0:m,w=c.y,x=w===void 0?0:w;var O=typeof h==="function"?h({x:y,y:x}):{x:y,y:x};y=O.x;x=O.y;var g=c.hasOwnProperty("x");var j=c.hasOwnProperty("y");var k=a;var M=t;var E=window;if(p){var q=G(o);var P="clientHeight";var S="clientWidth";if(q===A(o)){q=U(o);if(z(q).position!=="static"&&l==="absolute"){P="scrollHeight";S="scrollWidth"}}q=q;if(u===t||(u===a||u===n)&&s===v){M=e;var W=b&&q===E&&E.visualViewport?E.visualViewport.height:q[P];x-=W-f.height;x*=d?1:-1}if(u===a||(u===t||u===e)&&s===v){k=n;var B=b&&q===E&&E.visualViewport?E.visualViewport.width:q[S];y-=B-f.width;y*=d?1:-1}}var T=Object.assign({position:l},p&&ar);var R=h===true?ir({x:y,y:x}):{x:y,y:x};y=R.x;x=R.y;if(d){var H;return Object.assign({},T,(H={},H[M]=j?"0":"",H[k]=g?"0":"",H.transform=(E.devicePixelRatio||1)<=1?"translate("+y+"px, "+x+"px)":"translate3d("+y+"px, "+x+"px, 0)",H))}return Object.assign({},T,(i={},i[M]=j?x+"px":"",i[k]=g?y+"px":"",i.transform="",i))}function fr(r){var t=r.state,e=r.options;var n=e.gpuAcceleration,a=n===void 0?true:n,i=e.adaptive,o=i===void 0?true:i,f=e.roundOffsets,v=f===void 0?true:f;var u={placement:T(t.placement),variation:nr(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:a,isFixed:t.options.strategy==="fixed"};if(t.modifiersData.popperOffsets!=null){t.styles.popper=Object.assign({},t.styles.popper,or(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:v})))}if(t.modifiersData.arrow!=null){t.styles.arrow=Object.assign({},t.styles.arrow,or(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:false,roundOffsets:v})))}t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const vr={name:"computeStyles",enabled:true,phase:"beforeWrite",fn:fr,data:{}};var ur={passive:true};function sr(r){var t=r.state,e=r.instance,n=r.options;var a=n.scroll,i=a===void 0?true:a,o=n.resize,f=o===void 0?true:o;var v=A(t.elements.popper);var u=[].concat(t.scrollParents.reference,t.scrollParents.popper);if(i){u.forEach((function(r){r.addEventListener("scroll",e.update,ur)}))}if(f){v.addEventListener("resize",e.update,ur)}return function(){if(i){u.forEach((function(r){r.removeEventListener("scroll",e.update,ur)}))}if(f){v.removeEventListener("resize",e.update,ur)}}}const cr={name:"eventListeners",enabled:true,phase:"write",fn:function r(){},effect:sr,data:{}};var lr={left:"right",right:"left",bottom:"top",top:"bottom"};function dr(r){return r.replace(/left|right|bottom|top/g,(function(r){return lr[r]}))}var pr={start:"end",end:"start"};function hr(r){return r.replace(/start|end/g,(function(r){return pr[r]}))}function br(r){var t=A(r);var e=t.pageXOffset;var n=t.pageYOffset;return{scrollLeft:e,scrollTop:n}}function mr(r){return I(U(r)).left+br(r).scrollLeft}function yr(r){var t=A(r);var e=U(r);var n=t.visualViewport;var a=e.clientWidth;var i=e.clientHeight;var o=0;var f=0;if(n){a=n.width;i=n.height;if(!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)){o=n.offsetLeft;f=n.offsetTop}}return{width:a,height:i,x:o+mr(r),y:f}}function wr(r){var t;var e=U(r);var n=br(r);var a=(t=r.ownerDocument)==null?void 0:t.body;var i=R(e.scrollWidth,e.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0);var o=R(e.scrollHeight,e.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0);var f=-n.scrollLeft+mr(r);var v=-n.scrollTop;if(z(a||e).direction==="rtl"){f+=R(e.clientWidth,a?a.clientWidth:0)-i}return{width:i,height:o,x:f,y:v}}function xr(r){var t=z(r),e=t.overflow,n=t.overflowX,a=t.overflowY;return/auto|scroll|overlay|hidden/.test(e+a+n)}function Or(r){if(["html","body","#document"].indexOf(M(r))>=0){return r.ownerDocument.body}if(q(r)&&xr(r)){return r}return Or(V(r))}function gr(r,t){var e;if(t===void 0){t=[]}var n=Or(r);var a=n===((e=r.ownerDocument)==null?void 0:e.body);var i=A(n);var o=a?[i].concat(i.visualViewport||[],xr(n)?n:[]):n;var f=t.concat(o);return a?f:f.concat(gr(V(o)))}function jr(r){return Object.assign({},r,{left:r.x,top:r.y,right:r.x+r.width,bottom:r.y+r.height})}function kr(r){var t=I(r);t.top=t.top+r.clientTop;t.left=t.left+r.clientLeft;t.bottom=t.top+r.clientHeight;t.right=t.left+r.clientWidth;t.width=r.clientWidth;t.height=r.clientHeight;t.x=t.left;t.y=t.top;return t}function Mr(r,t){return t===s?jr(yr(r)):E(t)?kr(t):jr(wr(U(r)))}function Ar(r){var t=gr(V(r));var e=["absolute","fixed"].indexOf(z(r).position)>=0;var n=e&&q(r)?G(r):r;if(!E(n)){return[]}return t.filter((function(r){return E(r)&&F(r,n)&&M(r)!=="body"}))}function Er(r,t,e){var n=t==="clippingParents"?Ar(r):[].concat(t);var a=[].concat(n,[e]);var i=a[0];var o=a.reduce((function(t,e){var n=Mr(r,e);t.top=R(n.top,t.top);t.right=H(n.right,t.right);t.bottom=H(n.bottom,t.bottom);t.left=R(n.left,t.left);return t}),Mr(r,i));o.width=o.right-o.left;o.height=o.bottom-o.top;o.x=o.left;o.y=o.top;return o}function qr(r){var i=r.reference,o=r.element,u=r.placement;var s=u?T(u):null;var c=u?nr(u):null;var l=i.x+i.width/2-o.width/2;var d=i.y+i.height/2-o.height/2;var p;switch(s){case t:p={x:l,y:i.y-o.height};break;case e:p={x:l,y:i.y+i.height};break;case n:p={x:i.x+i.width,y:d};break;case a:p={x:i.x-o.width,y:d};break;default:p={x:i.x,y:i.y}}var h=s?J(s):null;if(h!=null){var b=h==="y"?"height":"width";switch(c){case f:p[h]=p[h]-(i[b]/2-o[b]/2);break;case v:p[h]=p[h]+(i[b]/2-o[b]/2);break}}return p}function Pr(r,a){if(a===void 0){a={}}var i=a,f=i.placement,v=f===void 0?r.placement:f,d=i.boundary,p=d===void 0?u:d,h=i.rootBoundary,b=h===void 0?s:h,m=i.elementContext,y=m===void 0?c:m,w=i.altBoundary,x=w===void 0?false:w,O=i.padding,g=O===void 0?0:O;var j=X(typeof g!=="number"?g:Y(g,o));var k=y===c?l:c;var M=r.rects.popper;var A=r.elements[x?k:y];var q=Er(E(A)?A:A.contextElement||U(r.elements.popper),p,b);var P=I(r.elements.reference);var S=qr({reference:P,element:M,strategy:"absolute",placement:v});var W=jr(Object.assign({},M,S));var B=y===c?W:P;var T={top:q.top-B.top+j.top,bottom:B.bottom-q.bottom+j.bottom,left:q.left-B.left+j.left,right:B.right-q.right+j.right};var R=r.modifiersData.offset;if(y===c&&R){var H=R[v];Object.keys(T).forEach((function(r){var a=[n,e].indexOf(r)>=0?1:-1;var i=[t,e].indexOf(r)>=0?"y":"x";T[r]+=H[i]*a}))}return T}function Sr(r,t){if(t===void 0){t={}}var e=t,n=e.placement,a=e.boundary,i=e.rootBoundary,f=e.padding,v=e.flipVariations,u=e.allowedAutoPlacements,s=u===void 0?p:u;var c=nr(n);var l=c?v?d:d.filter((function(r){return nr(r)===c})):o;var h=l.filter((function(r){return s.indexOf(r)>=0}));if(h.length===0){h=l}var b=h.reduce((function(t,e){t[e]=Pr(r,{placement:e,boundary:a,rootBoundary:i,padding:f})[T(e)];return t}),{});return Object.keys(b).sort((function(r,t){return b[r]-b[t]}))}function Wr(r){if(T(r)===i){return[]}var t=dr(r);return[hr(r),t,hr(t)]}function Br(r){var o=r.state,v=r.options,u=r.name;if(o.modifiersData[u]._skip){return}var s=v.mainAxis,c=s===void 0?true:s,l=v.altAxis,d=l===void 0?true:l,p=v.fallbackPlacements,h=v.padding,b=v.boundary,m=v.rootBoundary,y=v.altBoundary,w=v.flipVariations,x=w===void 0?true:w,O=v.allowedAutoPlacements;var g=o.options.placement;var j=T(g);var k=j===g;var M=p||(k||!x?[dr(g)]:Wr(g));var A=[g].concat(M).reduce((function(r,t){return r.concat(T(t)===i?Sr(o,{placement:t,boundary:b,rootBoundary:m,padding:h,flipVariations:x,allowedAutoPlacements:O}):t)}),[]);var E=o.rects.reference;var q=o.rects.popper;var P=new Map;var S=true;var W=A[0];for(var B=0;B<A.length;B++){var R=A[B];var H=T(R);var L=nr(R)===f;var I=[t,e].indexOf(H)>=0;var C=I?"width":"height";var F=Pr(o,{placement:R,boundary:b,rootBoundary:m,altBoundary:y,padding:h});var z=I?L?n:a:L?e:t;if(E[C]>q[C]){z=dr(z)}var D=dr(z);var U=[];if(c){U.push(F[H]<=0)}if(d){U.push(F[z]<=0,F[D]<=0)}if(U.every((function(r){return r}))){W=R;S=false;break}P.set(R,U)}if(S){var V=x?3:1;var $=function r(t){var e=A.find((function(r){var e=P.get(r);if(e){return e.slice(0,t).every((function(r){return r}))}}));if(e){W=e;return"break"}};for(var _=V;_>0;_--){var G=$(_);if(G==="break")break}}if(o.placement!==W){o.modifiersData[u]._skip=true;o.placement=W;o.reset=true}}const Tr={name:"flip",enabled:true,phase:"main",fn:Br,requiresIfExists:["offset"],data:{_skip:false}};function Rr(r,t,e){if(e===void 0){e={x:0,y:0}}return{top:r.top-t.height-e.y,right:r.right-t.width+e.x,bottom:r.bottom-t.height+e.y,left:r.left-t.width-e.x}}function Hr(r){return[t,n,e,a].some((function(t){return r[t]>=0}))}function Lr(r){var t=r.state,e=r.name;var n=t.rects.reference;var a=t.rects.popper;var i=t.modifiersData.preventOverflow;var o=Pr(t,{elementContext:"reference"});var f=Pr(t,{altBoundary:true});var v=Rr(o,n);var u=Rr(f,a,i);var s=Hr(v);var c=Hr(u);t.modifiersData[e]={referenceClippingOffsets:v,popperEscapeOffsets:u,isReferenceHidden:s,hasPopperEscaped:c};t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":s,"data-popper-escaped":c})}const Ir={name:"hide",enabled:true,phase:"main",requiresIfExists:["preventOverflow"],fn:Lr};function Cr(r,e,i){var o=T(r);var f=[a,t].indexOf(o)>=0?-1:1;var v=typeof i==="function"?i(Object.assign({},e,{placement:r})):i,u=v[0],s=v[1];u=u||0;s=(s||0)*f;return[a,n].indexOf(o)>=0?{x:s,y:u}:{x:u,y:s}}function Fr(r){var t=r.state,e=r.options,n=r.name;var a=e.offset,i=a===void 0?[0,0]:a;var o=p.reduce((function(r,e){r[e]=Cr(e,t.rects,i);return r}),{});var f=o[t.placement],v=f.x,u=f.y;if(t.modifiersData.popperOffsets!=null){t.modifiersData.popperOffsets.x+=v;t.modifiersData.popperOffsets.y+=u}t.modifiersData[n]=o}const zr={name:"offset",enabled:true,phase:"main",requires:["popperOffsets"],fn:Fr};function Dr(r){var t=r.state,e=r.name;t.modifiersData[e]=qr({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const Ur={name:"popperOffsets",enabled:true,phase:"read",fn:Dr,data:{}};function Vr(r){return r==="x"?"y":"x"}function $r(r){var i=r.state,o=r.options,v=r.name;var u=o.mainAxis,s=u===void 0?true:u,c=o.altAxis,l=c===void 0?false:c,d=o.boundary,p=o.rootBoundary,h=o.altBoundary,b=o.padding,m=o.tether,y=m===void 0?true:m,w=o.tetherOffset,x=w===void 0?0:w;var O=Pr(i,{boundary:d,rootBoundary:p,padding:b,altBoundary:h});var g=T(i.placement);var j=nr(i.placement);var k=!j;var M=J(g);var A=Vr(M);var E=i.modifiersData.popperOffsets;var q=i.rects.reference;var P=i.rects.popper;var S=typeof x==="function"?x(Object.assign({},i.rects,{placement:i.placement})):x;var W=typeof S==="number"?{mainAxis:S,altAxis:S}:Object.assign({mainAxis:0,altAxis:0},S);var B=i.modifiersData.offset?i.modifiersData.offset[i.placement]:null;var L={x:0,y:0};if(!E){return}if(s){var I;var F=M==="y"?t:a;var z=M==="y"?e:n;var D=M==="y"?"height":"width";var U=E[M];var V=U+O[F];var $=U-O[z];var _=y?-P[D]/2:0;var X=j===f?q[D]:P[D];var Y=j===f?-P[D]:-q[D];var Z=i.elements.arrow;var rr=y&&Z?C(Z):{width:0,height:0};var tr=i.modifiersData["arrow#persistent"]?i.modifiersData["arrow#persistent"].padding:Q();var er=tr[F];var ar=tr[z];var ir=K(0,q[D],rr[D]);var or=k?q[D]/2-_-ir-er-W.mainAxis:X-ir-er-W.mainAxis;var fr=k?-q[D]/2+_+ir+ar+W.mainAxis:Y+ir+ar+W.mainAxis;var vr=i.elements.arrow&&G(i.elements.arrow);var ur=vr?M==="y"?vr.clientTop||0:vr.clientLeft||0:0;var sr=(I=B==null?void 0:B[M])!=null?I:0;var cr=U+or-sr-ur;var lr=U+fr-sr;var dr=K(y?H(V,cr):V,U,y?R($,lr):$);E[M]=dr;L[M]=dr-U}if(l){var pr;var hr=M==="x"?t:a;var br=M==="x"?e:n;var mr=E[A];var yr=A==="y"?"height":"width";var wr=mr+O[hr];var xr=mr-O[br];var Or=[t,a].indexOf(g)!==-1;var gr=(pr=B==null?void 0:B[A])!=null?pr:0;var jr=Or?wr:mr-q[yr]-P[yr]-gr+W.altAxis;var kr=Or?mr+q[yr]+P[yr]-gr-W.altAxis:xr;var Mr=y&&Or?N(jr,mr,kr):K(y?jr:wr,mr,y?kr:xr);E[A]=Mr;L[A]=Mr-mr}i.modifiersData[v]=L}const _r={name:"preventOverflow",enabled:true,phase:"main",fn:$r,requiresIfExists:["offset"]};function Gr(r){return{scrollLeft:r.scrollLeft,scrollTop:r.scrollTop}}function Jr(r){if(r===A(r)||!q(r)){return br(r)}else{return Gr(r)}}function Kr(r){var t=r.getBoundingClientRect();var e=L(t.width)/r.offsetWidth||1;var n=L(t.height)/r.offsetHeight||1;return e!==1||n!==1}function Nr(r,t,e){if(e===void 0){e=false}var n=q(t);var a=q(t)&&Kr(t);var i=U(t);var o=I(r,a);var f={scrollLeft:0,scrollTop:0};var v={x:0,y:0};if(n||!n&&!e){if(M(t)!=="body"||xr(i)){f=Jr(t)}if(q(t)){v=I(t,true);v.x+=t.clientLeft;v.y+=t.clientTop}else if(i){v.x=mr(i)}}return{x:o.left+f.scrollLeft-v.x,y:o.top+f.scrollTop-v.y,width:o.width,height:o.height}}function Qr(r){var t=new Map;var e=new Set;var n=[];r.forEach((function(r){t.set(r.name,r)}));function a(r){e.add(r.name);var i=[].concat(r.requires||[],r.requiresIfExists||[]);i.forEach((function(r){if(!e.has(r)){var n=t.get(r);if(n){a(n)}}}));n.push(r)}r.forEach((function(r){if(!e.has(r.name)){a(r)}}));return n}function Xr(r){var t=Qr(r);return k.reduce((function(r,e){return r.concat(t.filter((function(r){return r.phase===e})))}),[])}function Yr(r){var t;return function(){if(!t){t=new Promise((function(e){Promise.resolve().then((function(){t=undefined;e(r())}))}))}return t}}function Zr(r){var t=r.reduce((function(r,t){var e=r[t.name];r[t.name]=e?Object.assign({},e,t,{options:Object.assign({},e.options,t.options),data:Object.assign({},e.data,t.data)}):t;return r}),{});return Object.keys(t).map((function(r){return t[r]}))}var rt={placement:"bottom",modifiers:[],strategy:"absolute"};function tt(){for(var r=arguments.length,t=new Array(r),e=0;e<r;e++){t[e]=arguments[e]}return!t.some((function(r){return!(r&&typeof r.getBoundingClientRect==="function")}))}function et(r){if(r===void 0){r={}}var t=r,e=t.defaultModifiers,n=e===void 0?[]:e,a=t.defaultOptions,i=a===void 0?rt:a;return function r(t,e,a){if(a===void 0){a=i}var o={placement:"bottom",orderedModifiers:[],options:Object.assign({},rt,i),modifiersData:{},elements:{reference:t,popper:e},attributes:{},styles:{}};var f=[];var v=false;var u={state:o,setOptions:function r(a){var f=typeof a==="function"?a(o.options):a;c();o.options=Object.assign({},i,o.options,f);o.scrollParents={reference:E(t)?gr(t):t.contextElement?gr(t.contextElement):[],popper:gr(e)};var v=Xr(Zr([].concat(n,o.options.modifiers)));o.orderedModifiers=v.filter((function(r){return r.enabled}));s();return u.update()},forceUpdate:function r(){if(v){return}var t=o.elements,e=t.reference,n=t.popper;if(!tt(e,n)){return}o.rects={reference:Nr(e,G(n),o.options.strategy==="fixed"),popper:C(n)};o.reset=false;o.placement=o.options.placement;o.orderedModifiers.forEach((function(r){return o.modifiersData[r.name]=Object.assign({},r.data)}));for(var a=0;a<o.orderedModifiers.length;a++){if(o.reset===true){o.reset=false;a=-1;continue}var i=o.orderedModifiers[a],f=i.fn,s=i.options,c=s===void 0?{}:s,l=i.name;if(typeof f==="function"){o=f({state:o,options:c,name:l,instance:u})||o}}},update:Yr((function(){return new Promise((function(r){u.forceUpdate();r(o)}))})),destroy:function r(){c();v=true}};if(!tt(t,e)){return u}u.setOptions(a).then((function(r){if(!v&&a.onFirstUpdate){a.onFirstUpdate(r)}}));function s(){o.orderedModifiers.forEach((function(r){var t=r.name,e=r.options,n=e===void 0?{}:e,a=r.effect;if(typeof a==="function"){var i=a({state:o,name:t,instance:u,options:n});var v=function r(){};f.push(i||v)}}))}function c(){f.forEach((function(r){return r()}));f=[]}return u}}var nt=[cr,Ur,vr,B,zr,Tr,_r,er,Ir];var at=et({defaultModifiers:nt});class it{constructor(r,t,e){this.handleTransitionEnd=this.handleTransitionEnd.bind(this);this.anchor=r;this.popover=t;this.options=Object.assign({skidding:0,distance:0,placement:"bottom-start",strategy:"absolute",transitionElement:this.popover,visibleClass:"popover-visible",onAfterShow:()=>{},onAfterHide:()=>{},onTransitionEnd:()=>{}},e);this.popover.hidden=true;this.popover.classList.remove(this.options.visibleClass);this.popover.addEventListener("transitionend",this.handleTransitionEnd)}handleTransitionEnd(r){const t=r.target;if(t===this.options.transitionElement){this.options.onTransitionEnd.call(this,r);if(this.isVisible===false&&!this.popover.hidden){this.popover.hidden=true;this.popover.classList.remove(this.options.visibleClass);this.options.onAfterHide.call(this)}}}destroy(){this.popover.removeEventListener("transitionend",this.handleTransitionEnd);if(this.popper){this.popper.destroy();this.popper=null}}show(){this.isVisible=true;this.popover.hidden=false;r((()=>this.popover.classList.add(this.options.visibleClass)));if(this.popper){this.popper.destroy()}const t=this.options.placement.includes("center")?"top":this.options.placement;this.popper=at(this.anchor,this.popover,{placement:t,strategy:this.options.strategy,modifiers:[{name:"sameWidth",enabled:true,fn:({state:r})=>{r.styles.popper.minWidth=`${r.rects.reference.width}px`},phase:"beforeWrite",requires:["computeStyles"]},{name:"flip",options:{boundary:"viewport"}},{name:"offset",options:{padding:5,offset:({reference:r,placement:t,popper:e})=>{if(this.options.placement!=="center")return[this.options.skidding,this.options.distance];return[this.options.skidding,["top","bottom"].includes(t)?-r.height-(e.height-r.height)/2:-r.width-(e.width-r.width)/2]}}}]});this.popover.addEventListener("transitionend",(()=>this.options.onAfterShow.call(this)),{once:true});requestAnimationFrame((()=>this.popper.update()))}hide(){this.isVisible=false;this.popover.classList.remove(this.options.visibleClass)}setOptions(r){this.options=Object.assign(this.options,r);this.isVisible?this.popover.classList.add(this.options.visibleClass):this.popover.classList.remove(this.options.visibleClass);const t=this.options.placement.includes("center")?"top":this.options.placement;if(this.popper){this.popper.setOptions({placement:t,strategy:this.options.strategy});requestAnimationFrame((()=>this.popper.update()))}}}export{it as P};
5
- //# sourceMappingURL=p-178c34e3.js.map
4
+ import{r}from"./p-289aa03f.js";var t="top";var e="bottom";var n="right";var a="left";var i="auto";var o=[t,e,n,a];var f="start";var v="end";var u="clippingParents";var s="viewport";var c="popper";var l="reference";var d=o.reduce((function(r,t){return r.concat([t+"-"+f,t+"-"+v])}),[]);var p=[].concat(o,[i]).reduce((function(r,t){return r.concat([t,t+"-"+f,t+"-"+v])}),[]);var h="beforeRead";var b="read";var m="afterRead";var y="beforeMain";var w="main";var x="afterMain";var O="beforeWrite";var g="write";var j="afterWrite";var k=[h,b,m,y,w,x,O,g,j];function M(r){return r?(r.nodeName||"").toLowerCase():null}function A(r){if(r==null){return window}if(r.toString()!=="[object Window]"){var t=r.ownerDocument;return t?t.defaultView||window:window}return r}function E(r){var t=A(r).Element;return r instanceof t||r instanceof Element}function q(r){var t=A(r).HTMLElement;return r instanceof t||r instanceof HTMLElement}function P(r){if(typeof ShadowRoot==="undefined"){return false}var t=A(r).ShadowRoot;return r instanceof t||r instanceof ShadowRoot}function S(r){var t=r.state;Object.keys(t.elements).forEach((function(r){var e=t.styles[r]||{};var n=t.attributes[r]||{};var a=t.elements[r];if(!q(a)||!M(a)){return}Object.assign(a.style,e);Object.keys(n).forEach((function(r){var t=n[r];if(t===false){a.removeAttribute(r)}else{a.setAttribute(r,t===true?"":t)}}))}))}function W(r){var t=r.state;var e={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(t.elements.popper.style,e.popper);t.styles=e;if(t.elements.arrow){Object.assign(t.elements.arrow.style,e.arrow)}return function(){Object.keys(t.elements).forEach((function(r){var n=t.elements[r];var a=t.attributes[r]||{};var i=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:e[r]);var o=i.reduce((function(r,t){r[t]="";return r}),{});if(!q(n)||!M(n)){return}Object.assign(n.style,o);Object.keys(a).forEach((function(r){n.removeAttribute(r)}))}))}}const B={name:"applyStyles",enabled:true,phase:"write",fn:S,effect:W,requires:["computeStyles"]};function T(r){return r.split("-")[0]}var R=Math.max;var H=Math.min;var L=Math.round;function I(r,t){if(t===void 0){t=false}var e=r.getBoundingClientRect();var n=1;var a=1;if(q(r)&&t){var i=r.offsetHeight;var o=r.offsetWidth;if(o>0){n=L(e.width)/o||1}if(i>0){a=L(e.height)/i||1}}return{width:e.width/n,height:e.height/a,top:e.top/a,right:e.right/n,bottom:e.bottom/a,left:e.left/n,x:e.left/n,y:e.top/a}}function C(r){var t=I(r);var e=r.offsetWidth;var n=r.offsetHeight;if(Math.abs(t.width-e)<=1){e=t.width}if(Math.abs(t.height-n)<=1){n=t.height}return{x:r.offsetLeft,y:r.offsetTop,width:e,height:n}}function F(r,t){var e=t.getRootNode&&t.getRootNode();if(r.contains(t)){return true}else if(e&&P(e)){var n=t;do{if(n&&r.isSameNode(n)){return true}n=n.parentNode||n.host}while(n)}return false}function z(r){return A(r).getComputedStyle(r)}function D(r){return["table","td","th"].indexOf(M(r))>=0}function U(r){return((E(r)?r.ownerDocument:r.document)||window.document).documentElement}function V(r){if(M(r)==="html"){return r}return r.assignedSlot||r.parentNode||(P(r)?r.host:null)||U(r)}function $(r){if(!q(r)||z(r).position==="fixed"){return null}return r.offsetParent}function _(r){var t=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1;var e=navigator.userAgent.indexOf("Trident")!==-1;if(e&&q(r)){var n=z(r);if(n.position==="fixed"){return null}}var a=V(r);if(P(a)){a=a.host}while(q(a)&&["html","body"].indexOf(M(a))<0){var i=z(a);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||t&&i.willChange==="filter"||t&&i.filter&&i.filter!=="none"){return a}else{a=a.parentNode}}return null}function G(r){var t=A(r);var e=$(r);while(e&&D(e)&&z(e).position==="static"){e=$(e)}if(e&&(M(e)==="html"||M(e)==="body"&&z(e).position==="static")){return t}return e||_(r)||t}function J(r){return["top","bottom"].indexOf(r)>=0?"x":"y"}function K(r,t,e){return R(r,H(t,e))}function N(r,t,e){var n=K(r,t,e);return n>e?e:n}function Q(){return{top:0,right:0,bottom:0,left:0}}function X(r){return Object.assign({},Q(),r)}function Y(r,t){return t.reduce((function(t,e){t[e]=r;return t}),{})}var Z=function r(t,e){t=typeof t==="function"?t(Object.assign({},e.rects,{placement:e.placement})):t;return X(typeof t!=="number"?t:Y(t,o))};function rr(r){var i;var o=r.state,f=r.name,v=r.options;var u=o.elements.arrow;var s=o.modifiersData.popperOffsets;var c=T(o.placement);var l=J(c);var d=[a,n].indexOf(c)>=0;var p=d?"height":"width";if(!u||!s){return}var h=Z(v.padding,o);var b=C(u);var m=l==="y"?t:a;var y=l==="y"?e:n;var w=o.rects.reference[p]+o.rects.reference[l]-s[l]-o.rects.popper[p];var x=s[l]-o.rects.reference[l];var O=G(u);var g=O?l==="y"?O.clientHeight||0:O.clientWidth||0:0;var j=w/2-x/2;var k=h[m];var M=g-b[p]-h[y];var A=g/2-b[p]/2+j;var E=K(k,A,M);var q=l;o.modifiersData[f]=(i={},i[q]=E,i.centerOffset=E-A,i)}function tr(r){var t=r.state,e=r.options;var n=e.element,a=n===void 0?"[data-popper-arrow]":n;if(a==null){return}if(typeof a==="string"){a=t.elements.popper.querySelector(a);if(!a){return}}if(!F(t.elements.popper,a)){return}t.elements.arrow=a}const er={name:"arrow",enabled:true,phase:"main",fn:rr,effect:tr,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function nr(r){return r.split("-")[1]}var ar={top:"auto",right:"auto",bottom:"auto",left:"auto"};function ir(r){var t=r.x,e=r.y;var n=window;var a=n.devicePixelRatio||1;return{x:L(t*a)/a||0,y:L(e*a)/a||0}}function or(r){var i;var o=r.popper,f=r.popperRect,u=r.placement,s=r.variation,c=r.offsets,l=r.position,d=r.gpuAcceleration,p=r.adaptive,h=r.roundOffsets,b=r.isFixed;var m=c.x,y=m===void 0?0:m,w=c.y,x=w===void 0?0:w;var O=typeof h==="function"?h({x:y,y:x}):{x:y,y:x};y=O.x;x=O.y;var g=c.hasOwnProperty("x");var j=c.hasOwnProperty("y");var k=a;var M=t;var E=window;if(p){var q=G(o);var P="clientHeight";var S="clientWidth";if(q===A(o)){q=U(o);if(z(q).position!=="static"&&l==="absolute"){P="scrollHeight";S="scrollWidth"}}q=q;if(u===t||(u===a||u===n)&&s===v){M=e;var W=b&&q===E&&E.visualViewport?E.visualViewport.height:q[P];x-=W-f.height;x*=d?1:-1}if(u===a||(u===t||u===e)&&s===v){k=n;var B=b&&q===E&&E.visualViewport?E.visualViewport.width:q[S];y-=B-f.width;y*=d?1:-1}}var T=Object.assign({position:l},p&&ar);var R=h===true?ir({x:y,y:x}):{x:y,y:x};y=R.x;x=R.y;if(d){var H;return Object.assign({},T,(H={},H[M]=j?"0":"",H[k]=g?"0":"",H.transform=(E.devicePixelRatio||1)<=1?"translate("+y+"px, "+x+"px)":"translate3d("+y+"px, "+x+"px, 0)",H))}return Object.assign({},T,(i={},i[M]=j?x+"px":"",i[k]=g?y+"px":"",i.transform="",i))}function fr(r){var t=r.state,e=r.options;var n=e.gpuAcceleration,a=n===void 0?true:n,i=e.adaptive,o=i===void 0?true:i,f=e.roundOffsets,v=f===void 0?true:f;var u={placement:T(t.placement),variation:nr(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:a,isFixed:t.options.strategy==="fixed"};if(t.modifiersData.popperOffsets!=null){t.styles.popper=Object.assign({},t.styles.popper,or(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:v})))}if(t.modifiersData.arrow!=null){t.styles.arrow=Object.assign({},t.styles.arrow,or(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:false,roundOffsets:v})))}t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const vr={name:"computeStyles",enabled:true,phase:"beforeWrite",fn:fr,data:{}};var ur={passive:true};function sr(r){var t=r.state,e=r.instance,n=r.options;var a=n.scroll,i=a===void 0?true:a,o=n.resize,f=o===void 0?true:o;var v=A(t.elements.popper);var u=[].concat(t.scrollParents.reference,t.scrollParents.popper);if(i){u.forEach((function(r){r.addEventListener("scroll",e.update,ur)}))}if(f){v.addEventListener("resize",e.update,ur)}return function(){if(i){u.forEach((function(r){r.removeEventListener("scroll",e.update,ur)}))}if(f){v.removeEventListener("resize",e.update,ur)}}}const cr={name:"eventListeners",enabled:true,phase:"write",fn:function r(){},effect:sr,data:{}};var lr={left:"right",right:"left",bottom:"top",top:"bottom"};function dr(r){return r.replace(/left|right|bottom|top/g,(function(r){return lr[r]}))}var pr={start:"end",end:"start"};function hr(r){return r.replace(/start|end/g,(function(r){return pr[r]}))}function br(r){var t=A(r);var e=t.pageXOffset;var n=t.pageYOffset;return{scrollLeft:e,scrollTop:n}}function mr(r){return I(U(r)).left+br(r).scrollLeft}function yr(r){var t=A(r);var e=U(r);var n=t.visualViewport;var a=e.clientWidth;var i=e.clientHeight;var o=0;var f=0;if(n){a=n.width;i=n.height;if(!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)){o=n.offsetLeft;f=n.offsetTop}}return{width:a,height:i,x:o+mr(r),y:f}}function wr(r){var t;var e=U(r);var n=br(r);var a=(t=r.ownerDocument)==null?void 0:t.body;var i=R(e.scrollWidth,e.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0);var o=R(e.scrollHeight,e.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0);var f=-n.scrollLeft+mr(r);var v=-n.scrollTop;if(z(a||e).direction==="rtl"){f+=R(e.clientWidth,a?a.clientWidth:0)-i}return{width:i,height:o,x:f,y:v}}function xr(r){var t=z(r),e=t.overflow,n=t.overflowX,a=t.overflowY;return/auto|scroll|overlay|hidden/.test(e+a+n)}function Or(r){if(["html","body","#document"].indexOf(M(r))>=0){return r.ownerDocument.body}if(q(r)&&xr(r)){return r}return Or(V(r))}function gr(r,t){var e;if(t===void 0){t=[]}var n=Or(r);var a=n===((e=r.ownerDocument)==null?void 0:e.body);var i=A(n);var o=a?[i].concat(i.visualViewport||[],xr(n)?n:[]):n;var f=t.concat(o);return a?f:f.concat(gr(V(o)))}function jr(r){return Object.assign({},r,{left:r.x,top:r.y,right:r.x+r.width,bottom:r.y+r.height})}function kr(r){var t=I(r);t.top=t.top+r.clientTop;t.left=t.left+r.clientLeft;t.bottom=t.top+r.clientHeight;t.right=t.left+r.clientWidth;t.width=r.clientWidth;t.height=r.clientHeight;t.x=t.left;t.y=t.top;return t}function Mr(r,t){return t===s?jr(yr(r)):E(t)?kr(t):jr(wr(U(r)))}function Ar(r){var t=gr(V(r));var e=["absolute","fixed"].indexOf(z(r).position)>=0;var n=e&&q(r)?G(r):r;if(!E(n)){return[]}return t.filter((function(r){return E(r)&&F(r,n)&&M(r)!=="body"}))}function Er(r,t,e){var n=t==="clippingParents"?Ar(r):[].concat(t);var a=[].concat(n,[e]);var i=a[0];var o=a.reduce((function(t,e){var n=Mr(r,e);t.top=R(n.top,t.top);t.right=H(n.right,t.right);t.bottom=H(n.bottom,t.bottom);t.left=R(n.left,t.left);return t}),Mr(r,i));o.width=o.right-o.left;o.height=o.bottom-o.top;o.x=o.left;o.y=o.top;return o}function qr(r){var i=r.reference,o=r.element,u=r.placement;var s=u?T(u):null;var c=u?nr(u):null;var l=i.x+i.width/2-o.width/2;var d=i.y+i.height/2-o.height/2;var p;switch(s){case t:p={x:l,y:i.y-o.height};break;case e:p={x:l,y:i.y+i.height};break;case n:p={x:i.x+i.width,y:d};break;case a:p={x:i.x-o.width,y:d};break;default:p={x:i.x,y:i.y}}var h=s?J(s):null;if(h!=null){var b=h==="y"?"height":"width";switch(c){case f:p[h]=p[h]-(i[b]/2-o[b]/2);break;case v:p[h]=p[h]+(i[b]/2-o[b]/2);break}}return p}function Pr(r,a){if(a===void 0){a={}}var i=a,f=i.placement,v=f===void 0?r.placement:f,d=i.boundary,p=d===void 0?u:d,h=i.rootBoundary,b=h===void 0?s:h,m=i.elementContext,y=m===void 0?c:m,w=i.altBoundary,x=w===void 0?false:w,O=i.padding,g=O===void 0?0:O;var j=X(typeof g!=="number"?g:Y(g,o));var k=y===c?l:c;var M=r.rects.popper;var A=r.elements[x?k:y];var q=Er(E(A)?A:A.contextElement||U(r.elements.popper),p,b);var P=I(r.elements.reference);var S=qr({reference:P,element:M,strategy:"absolute",placement:v});var W=jr(Object.assign({},M,S));var B=y===c?W:P;var T={top:q.top-B.top+j.top,bottom:B.bottom-q.bottom+j.bottom,left:q.left-B.left+j.left,right:B.right-q.right+j.right};var R=r.modifiersData.offset;if(y===c&&R){var H=R[v];Object.keys(T).forEach((function(r){var a=[n,e].indexOf(r)>=0?1:-1;var i=[t,e].indexOf(r)>=0?"y":"x";T[r]+=H[i]*a}))}return T}function Sr(r,t){if(t===void 0){t={}}var e=t,n=e.placement,a=e.boundary,i=e.rootBoundary,f=e.padding,v=e.flipVariations,u=e.allowedAutoPlacements,s=u===void 0?p:u;var c=nr(n);var l=c?v?d:d.filter((function(r){return nr(r)===c})):o;var h=l.filter((function(r){return s.indexOf(r)>=0}));if(h.length===0){h=l}var b=h.reduce((function(t,e){t[e]=Pr(r,{placement:e,boundary:a,rootBoundary:i,padding:f})[T(e)];return t}),{});return Object.keys(b).sort((function(r,t){return b[r]-b[t]}))}function Wr(r){if(T(r)===i){return[]}var t=dr(r);return[hr(r),t,hr(t)]}function Br(r){var o=r.state,v=r.options,u=r.name;if(o.modifiersData[u]._skip){return}var s=v.mainAxis,c=s===void 0?true:s,l=v.altAxis,d=l===void 0?true:l,p=v.fallbackPlacements,h=v.padding,b=v.boundary,m=v.rootBoundary,y=v.altBoundary,w=v.flipVariations,x=w===void 0?true:w,O=v.allowedAutoPlacements;var g=o.options.placement;var j=T(g);var k=j===g;var M=p||(k||!x?[dr(g)]:Wr(g));var A=[g].concat(M).reduce((function(r,t){return r.concat(T(t)===i?Sr(o,{placement:t,boundary:b,rootBoundary:m,padding:h,flipVariations:x,allowedAutoPlacements:O}):t)}),[]);var E=o.rects.reference;var q=o.rects.popper;var P=new Map;var S=true;var W=A[0];for(var B=0;B<A.length;B++){var R=A[B];var H=T(R);var L=nr(R)===f;var I=[t,e].indexOf(H)>=0;var C=I?"width":"height";var F=Pr(o,{placement:R,boundary:b,rootBoundary:m,altBoundary:y,padding:h});var z=I?L?n:a:L?e:t;if(E[C]>q[C]){z=dr(z)}var D=dr(z);var U=[];if(c){U.push(F[H]<=0)}if(d){U.push(F[z]<=0,F[D]<=0)}if(U.every((function(r){return r}))){W=R;S=false;break}P.set(R,U)}if(S){var V=x?3:1;var $=function r(t){var e=A.find((function(r){var e=P.get(r);if(e){return e.slice(0,t).every((function(r){return r}))}}));if(e){W=e;return"break"}};for(var _=V;_>0;_--){var G=$(_);if(G==="break")break}}if(o.placement!==W){o.modifiersData[u]._skip=true;o.placement=W;o.reset=true}}const Tr={name:"flip",enabled:true,phase:"main",fn:Br,requiresIfExists:["offset"],data:{_skip:false}};function Rr(r,t,e){if(e===void 0){e={x:0,y:0}}return{top:r.top-t.height-e.y,right:r.right-t.width+e.x,bottom:r.bottom-t.height+e.y,left:r.left-t.width-e.x}}function Hr(r){return[t,n,e,a].some((function(t){return r[t]>=0}))}function Lr(r){var t=r.state,e=r.name;var n=t.rects.reference;var a=t.rects.popper;var i=t.modifiersData.preventOverflow;var o=Pr(t,{elementContext:"reference"});var f=Pr(t,{altBoundary:true});var v=Rr(o,n);var u=Rr(f,a,i);var s=Hr(v);var c=Hr(u);t.modifiersData[e]={referenceClippingOffsets:v,popperEscapeOffsets:u,isReferenceHidden:s,hasPopperEscaped:c};t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":s,"data-popper-escaped":c})}const Ir={name:"hide",enabled:true,phase:"main",requiresIfExists:["preventOverflow"],fn:Lr};function Cr(r,e,i){var o=T(r);var f=[a,t].indexOf(o)>=0?-1:1;var v=typeof i==="function"?i(Object.assign({},e,{placement:r})):i,u=v[0],s=v[1];u=u||0;s=(s||0)*f;return[a,n].indexOf(o)>=0?{x:s,y:u}:{x:u,y:s}}function Fr(r){var t=r.state,e=r.options,n=r.name;var a=e.offset,i=a===void 0?[0,0]:a;var o=p.reduce((function(r,e){r[e]=Cr(e,t.rects,i);return r}),{});var f=o[t.placement],v=f.x,u=f.y;if(t.modifiersData.popperOffsets!=null){t.modifiersData.popperOffsets.x+=v;t.modifiersData.popperOffsets.y+=u}t.modifiersData[n]=o}const zr={name:"offset",enabled:true,phase:"main",requires:["popperOffsets"],fn:Fr};function Dr(r){var t=r.state,e=r.name;t.modifiersData[e]=qr({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const Ur={name:"popperOffsets",enabled:true,phase:"read",fn:Dr,data:{}};function Vr(r){return r==="x"?"y":"x"}function $r(r){var i=r.state,o=r.options,v=r.name;var u=o.mainAxis,s=u===void 0?true:u,c=o.altAxis,l=c===void 0?false:c,d=o.boundary,p=o.rootBoundary,h=o.altBoundary,b=o.padding,m=o.tether,y=m===void 0?true:m,w=o.tetherOffset,x=w===void 0?0:w;var O=Pr(i,{boundary:d,rootBoundary:p,padding:b,altBoundary:h});var g=T(i.placement);var j=nr(i.placement);var k=!j;var M=J(g);var A=Vr(M);var E=i.modifiersData.popperOffsets;var q=i.rects.reference;var P=i.rects.popper;var S=typeof x==="function"?x(Object.assign({},i.rects,{placement:i.placement})):x;var W=typeof S==="number"?{mainAxis:S,altAxis:S}:Object.assign({mainAxis:0,altAxis:0},S);var B=i.modifiersData.offset?i.modifiersData.offset[i.placement]:null;var L={x:0,y:0};if(!E){return}if(s){var I;var F=M==="y"?t:a;var z=M==="y"?e:n;var D=M==="y"?"height":"width";var U=E[M];var V=U+O[F];var $=U-O[z];var _=y?-P[D]/2:0;var X=j===f?q[D]:P[D];var Y=j===f?-P[D]:-q[D];var Z=i.elements.arrow;var rr=y&&Z?C(Z):{width:0,height:0};var tr=i.modifiersData["arrow#persistent"]?i.modifiersData["arrow#persistent"].padding:Q();var er=tr[F];var ar=tr[z];var ir=K(0,q[D],rr[D]);var or=k?q[D]/2-_-ir-er-W.mainAxis:X-ir-er-W.mainAxis;var fr=k?-q[D]/2+_+ir+ar+W.mainAxis:Y+ir+ar+W.mainAxis;var vr=i.elements.arrow&&G(i.elements.arrow);var ur=vr?M==="y"?vr.clientTop||0:vr.clientLeft||0:0;var sr=(I=B==null?void 0:B[M])!=null?I:0;var cr=U+or-sr-ur;var lr=U+fr-sr;var dr=K(y?H(V,cr):V,U,y?R($,lr):$);E[M]=dr;L[M]=dr-U}if(l){var pr;var hr=M==="x"?t:a;var br=M==="x"?e:n;var mr=E[A];var yr=A==="y"?"height":"width";var wr=mr+O[hr];var xr=mr-O[br];var Or=[t,a].indexOf(g)!==-1;var gr=(pr=B==null?void 0:B[A])!=null?pr:0;var jr=Or?wr:mr-q[yr]-P[yr]-gr+W.altAxis;var kr=Or?mr+q[yr]+P[yr]-gr-W.altAxis:xr;var Mr=y&&Or?N(jr,mr,kr):K(y?jr:wr,mr,y?kr:xr);E[A]=Mr;L[A]=Mr-mr}i.modifiersData[v]=L}const _r={name:"preventOverflow",enabled:true,phase:"main",fn:$r,requiresIfExists:["offset"]};function Gr(r){return{scrollLeft:r.scrollLeft,scrollTop:r.scrollTop}}function Jr(r){if(r===A(r)||!q(r)){return br(r)}else{return Gr(r)}}function Kr(r){var t=r.getBoundingClientRect();var e=L(t.width)/r.offsetWidth||1;var n=L(t.height)/r.offsetHeight||1;return e!==1||n!==1}function Nr(r,t,e){if(e===void 0){e=false}var n=q(t);var a=q(t)&&Kr(t);var i=U(t);var o=I(r,a);var f={scrollLeft:0,scrollTop:0};var v={x:0,y:0};if(n||!n&&!e){if(M(t)!=="body"||xr(i)){f=Jr(t)}if(q(t)){v=I(t,true);v.x+=t.clientLeft;v.y+=t.clientTop}else if(i){v.x=mr(i)}}return{x:o.left+f.scrollLeft-v.x,y:o.top+f.scrollTop-v.y,width:o.width,height:o.height}}function Qr(r){var t=new Map;var e=new Set;var n=[];r.forEach((function(r){t.set(r.name,r)}));function a(r){e.add(r.name);var i=[].concat(r.requires||[],r.requiresIfExists||[]);i.forEach((function(r){if(!e.has(r)){var n=t.get(r);if(n){a(n)}}}));n.push(r)}r.forEach((function(r){if(!e.has(r.name)){a(r)}}));return n}function Xr(r){var t=Qr(r);return k.reduce((function(r,e){return r.concat(t.filter((function(r){return r.phase===e})))}),[])}function Yr(r){var t;return function(){if(!t){t=new Promise((function(e){Promise.resolve().then((function(){t=undefined;e(r())}))}))}return t}}function Zr(r){var t=r.reduce((function(r,t){var e=r[t.name];r[t.name]=e?Object.assign({},e,t,{options:Object.assign({},e.options,t.options),data:Object.assign({},e.data,t.data)}):t;return r}),{});return Object.keys(t).map((function(r){return t[r]}))}var rt={placement:"bottom",modifiers:[],strategy:"absolute"};function tt(){for(var r=arguments.length,t=new Array(r),e=0;e<r;e++){t[e]=arguments[e]}return!t.some((function(r){return!(r&&typeof r.getBoundingClientRect==="function")}))}function et(r){if(r===void 0){r={}}var t=r,e=t.defaultModifiers,n=e===void 0?[]:e,a=t.defaultOptions,i=a===void 0?rt:a;return function r(t,e,a){if(a===void 0){a=i}var o={placement:"bottom",orderedModifiers:[],options:Object.assign({},rt,i),modifiersData:{},elements:{reference:t,popper:e},attributes:{},styles:{}};var f=[];var v=false;var u={state:o,setOptions:function r(a){var f=typeof a==="function"?a(o.options):a;c();o.options=Object.assign({},i,o.options,f);o.scrollParents={reference:E(t)?gr(t):t.contextElement?gr(t.contextElement):[],popper:gr(e)};var v=Xr(Zr([].concat(n,o.options.modifiers)));o.orderedModifiers=v.filter((function(r){return r.enabled}));s();return u.update()},forceUpdate:function r(){if(v){return}var t=o.elements,e=t.reference,n=t.popper;if(!tt(e,n)){return}o.rects={reference:Nr(e,G(n),o.options.strategy==="fixed"),popper:C(n)};o.reset=false;o.placement=o.options.placement;o.orderedModifiers.forEach((function(r){return o.modifiersData[r.name]=Object.assign({},r.data)}));for(var a=0;a<o.orderedModifiers.length;a++){if(o.reset===true){o.reset=false;a=-1;continue}var i=o.orderedModifiers[a],f=i.fn,s=i.options,c=s===void 0?{}:s,l=i.name;if(typeof f==="function"){o=f({state:o,options:c,name:l,instance:u})||o}}},update:Yr((function(){return new Promise((function(r){u.forceUpdate();r(o)}))})),destroy:function r(){c();v=true}};if(!tt(t,e)){return u}u.setOptions(a).then((function(r){if(!v&&a.onFirstUpdate){a.onFirstUpdate(r)}}));function s(){o.orderedModifiers.forEach((function(r){var t=r.name,e=r.options,n=e===void 0?{}:e,a=r.effect;if(typeof a==="function"){var i=a({state:o,name:t,instance:u,options:n});var v=function r(){};f.push(i||v)}}))}function c(){f.forEach((function(r){return r()}));f=[]}return u}}var nt=[cr,Ur,vr,B,zr,Tr,_r,er,Ir];var at=et({defaultModifiers:nt});class it{constructor(r,t,e){this.handleTransitionEnd=this.handleTransitionEnd.bind(this);this.anchor=r;this.popover=t;this.options=Object.assign({skidding:0,distance:0,placement:"bottom-start",strategy:"absolute",transitionElement:this.popover,visibleClass:"popover-visible",onAfterShow:()=>{},onAfterHide:()=>{},onTransitionEnd:()=>{}},e);this.popover.hidden=true;this.popover.classList.remove(this.options.visibleClass);this.popover.addEventListener("transitionend",this.handleTransitionEnd)}handleTransitionEnd(r){const t=r.target;if(t===this.options.transitionElement){this.options.onTransitionEnd.call(this,r);if(this.isVisible===false&&!this.popover.hidden){this.popover.hidden=true;this.popover.classList.remove(this.options.visibleClass);this.options.onAfterHide.call(this)}}}destroy(){this.popover.removeEventListener("transitionend",this.handleTransitionEnd);if(this.popper){this.popper.destroy();this.popper=null}}show(){this.isVisible=true;this.popover.hidden=false;r((()=>this.popover.classList.add(this.options.visibleClass)));if(this.popper){this.popper.destroy()}const t=this.options.placement.includes("center")?"top":this.options.placement;this.popper=at(this.anchor,this.popover,{placement:t,strategy:this.options.strategy,modifiers:[{name:"sameWidth",enabled:true,fn:({state:r})=>{r.styles.popper.minWidth=`${r.rects.reference.width}px`},phase:"beforeWrite",requires:["computeStyles"]},{name:"flip",options:{boundary:"viewport"}},{name:"offset",options:{padding:5,offset:({reference:r})=>{if(this.options.placement!=="center")return[this.options.skidding,this.options.distance];return[this.options.skidding,(r.height+1)*-1]}}}]});this.popover.addEventListener("transitionend",(()=>this.options.onAfterShow.call(this)),{once:true});requestAnimationFrame((()=>this.popper.update()))}hide(){this.isVisible=false;this.popover.classList.remove(this.options.visibleClass)}setOptions(r){this.options=Object.assign(this.options,r);this.isVisible?this.popover.classList.add(this.options.visibleClass):this.popover.classList.remove(this.options.visibleClass);const t=this.options.placement.includes("center")?"top":this.options.placement;if(this.popper){this.popper.setOptions({placement:t,strategy:this.options.strategy});requestAnimationFrame((()=>this.popper.update()))}}}export{it as P};
5
+ //# sourceMappingURL=p-3de7735c.js.map