@nanoporetech-digital/components 2.1.4 → 2.3.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 (258) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +1 -1
  3. package/dist/cjs/index-cb62df44.js +5 -0
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/nano-alert.cjs.entry.js.map +1 -1
  6. package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
  7. package/dist/cjs/nano-components.cjs.js +1 -1
  8. package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -1
  9. package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
  10. package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
  11. package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
  12. package/dist/cjs/nano-dropdown.cjs.entry.js +2 -1
  13. package/dist/cjs/nano-dropdown.cjs.entry.js.map +1 -1
  14. package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
  15. package/dist/cjs/nano-global-nav.cjs.entry.js +62 -33
  16. package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
  17. package/dist/cjs/nano-global-search-results.cjs.entry.js.map +1 -1
  18. package/dist/cjs/nano-hero.cjs.entry.js.map +1 -1
  19. package/dist/cjs/nano-icon-button.cjs.entry.js.map +1 -1
  20. package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +1 -1
  21. package/dist/cjs/nano-nav-item_2.cjs.entry.js +1 -1
  22. package/dist/cjs/nano-nav-item_2.cjs.entry.js.map +1 -1
  23. package/dist/cjs/nano-rating.cjs.entry.js.map +1 -1
  24. package/dist/cjs/nano-split-pane.cjs.entry.js +278 -0
  25. package/dist/cjs/nano-split-pane.cjs.entry.js.map +1 -0
  26. package/dist/cjs/nano-tab-group.cjs.entry.js +1 -0
  27. package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
  28. package/dist/cjs/nano-tab.cjs.entry.js +1 -1
  29. package/dist/cjs/nano-tab.cjs.entry.js.map +1 -1
  30. package/dist/cjs/nano-tooltip.cjs.entry.js +2 -1
  31. package/dist/cjs/nano-tooltip.cjs.entry.js.map +1 -1
  32. package/dist/cjs/{popover-55c687c2.js → popover-848d73ea.js} +4 -2
  33. package/dist/cjs/popover-848d73ea.js.map +1 -0
  34. package/dist/collection/collection-manifest.json +1 -0
  35. package/dist/collection/components/accordion/accordion.js +1 -1
  36. package/dist/collection/components/alert/alert.js +1 -1
  37. package/dist/collection/components/algolia/algolia-filter.js +2 -2
  38. package/dist/collection/components/algolia/algolia-input.js +5 -5
  39. package/dist/collection/components/algolia/algolia-results.js +1 -1
  40. package/dist/collection/components/algolia/algolia.js +6 -6
  41. package/dist/collection/components/checkbox/checkbox-group.js +2 -2
  42. package/dist/collection/components/checkbox/checkbox.js +3 -3
  43. package/dist/collection/components/datalist/datalist.css +1 -1
  44. package/dist/collection/components/datalist/datalist.js +1 -1
  45. package/dist/collection/components/date-input/date-input.js +7 -7
  46. package/dist/collection/components/date-picker/date-picker.js +5 -5
  47. package/dist/collection/components/details/details.js +1 -1
  48. package/dist/collection/components/dialog/dialog.js +1 -1
  49. package/dist/collection/components/file-upload/file-upload.js +4 -4
  50. package/dist/collection/components/global-nav/global-nav.css +11 -6
  51. package/dist/collection/components/global-nav/global-nav.js +67 -38
  52. package/dist/collection/components/global-nav/global-nav.js.map +1 -1
  53. package/dist/collection/components/grid/grid-item.js +1 -1
  54. package/dist/collection/components/icon/icon.js +1 -1
  55. package/dist/collection/components/input/input.js +5 -5
  56. package/dist/collection/components/nav-item/nav-item.css +3 -1
  57. package/dist/collection/components/nav-item/nav-item.js +4 -4
  58. package/dist/collection/components/range/range.js +4 -4
  59. package/dist/collection/components/resize-observe/resize-observe.js +1 -1
  60. package/dist/collection/components/select/select.js +7 -7
  61. package/dist/collection/components/slides/slides.js +7 -7
  62. package/dist/collection/components/split-pane/split-pane.css +104 -0
  63. package/dist/collection/components/split-pane/split-pane.js +464 -0
  64. package/dist/collection/components/split-pane/split-pane.js.map +1 -0
  65. package/dist/collection/components/tabs/tab-group.js +3 -2
  66. package/dist/collection/components/tabs/tab-group.js.map +1 -1
  67. package/dist/collection/components/tabs/tab.js +1 -1
  68. package/dist/collection/components/tabs/tab.js.map +1 -1
  69. package/dist/collection/utils/drag.js +21 -0
  70. package/dist/collection/utils/drag.js.map +1 -0
  71. package/dist/collection/utils/popover.js +2 -1
  72. package/dist/collection/utils/popover.js.map +1 -1
  73. package/dist/components/datalist.js.map +1 -1
  74. package/dist/components/icon-button.js.map +1 -1
  75. package/dist/components/menu.js.map +1 -1
  76. package/dist/components/nano-alert.js.map +1 -1
  77. package/dist/components/nano-checkbox.js.map +1 -1
  78. package/dist/components/nano-date-input.js.map +1 -1
  79. package/dist/components/nano-details.js.map +1 -1
  80. package/dist/components/nano-dialog.js.map +1 -1
  81. package/dist/components/nano-file-upload.js.map +1 -1
  82. package/dist/components/nano-global-nav.js +62 -33
  83. package/dist/components/nano-global-nav.js.map +1 -1
  84. package/dist/components/nano-global-search-results.js.map +1 -1
  85. package/dist/components/nano-hero.js.map +1 -1
  86. package/dist/components/nano-menu-drawer.js.map +1 -1
  87. package/dist/components/nano-rating.js.map +1 -1
  88. package/dist/components/nano-split-pane.d.ts +11 -0
  89. package/dist/components/nano-split-pane.js +308 -0
  90. package/dist/components/nano-split-pane.js.map +1 -0
  91. package/dist/components/nano-tab-group.js +1 -0
  92. package/dist/components/nano-tab-group.js.map +1 -1
  93. package/dist/components/nano-tab.js +1 -1
  94. package/dist/components/nano-tab.js.map +1 -1
  95. package/dist/components/nav-item.js +1 -1
  96. package/dist/components/nav-item.js.map +1 -1
  97. package/dist/components/option.js.map +1 -1
  98. package/dist/components/popover.js +3 -1
  99. package/dist/components/popover.js.map +1 -1
  100. package/dist/custom-elements/index.d.ts +6 -0
  101. package/dist/custom-elements/index.js +338 -40
  102. package/dist/custom-elements/index.js.map +1 -1
  103. package/dist/esm/index-5f8d16e7.js +5 -0
  104. package/dist/esm/loader.js +1 -1
  105. package/dist/esm/nano-alert.entry.js.map +1 -1
  106. package/dist/esm/nano-checkbox.entry.js.map +1 -1
  107. package/dist/esm/nano-components.js +1 -1
  108. package/dist/esm/nano-datalist_3.entry.js.map +1 -1
  109. package/dist/esm/nano-date-input.entry.js.map +1 -1
  110. package/dist/esm/nano-details.entry.js.map +1 -1
  111. package/dist/esm/nano-dialog.entry.js.map +1 -1
  112. package/dist/esm/nano-dropdown.entry.js +2 -1
  113. package/dist/esm/nano-dropdown.entry.js.map +1 -1
  114. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  115. package/dist/esm/nano-global-nav.entry.js +62 -33
  116. package/dist/esm/nano-global-nav.entry.js.map +1 -1
  117. package/dist/esm/nano-global-search-results.entry.js.map +1 -1
  118. package/dist/esm/nano-hero.entry.js.map +1 -1
  119. package/dist/esm/nano-icon-button.entry.js.map +1 -1
  120. package/dist/esm/nano-menu-drawer.entry.js.map +1 -1
  121. package/dist/esm/nano-nav-item_2.entry.js +1 -1
  122. package/dist/esm/nano-nav-item_2.entry.js.map +1 -1
  123. package/dist/esm/nano-rating.entry.js.map +1 -1
  124. package/dist/esm/nano-split-pane.entry.js +274 -0
  125. package/dist/esm/nano-split-pane.entry.js.map +1 -0
  126. package/dist/esm/nano-tab-group.entry.js +1 -0
  127. package/dist/esm/nano-tab-group.entry.js.map +1 -1
  128. package/dist/esm/nano-tab.entry.js +1 -1
  129. package/dist/esm/nano-tab.entry.js.map +1 -1
  130. package/dist/esm/nano-tooltip.entry.js +2 -1
  131. package/dist/esm/nano-tooltip.entry.js.map +1 -1
  132. package/dist/esm/{popover-d9dc8e13.js → popover-46b5193d.js} +4 -2
  133. package/dist/{nano-components/p-3c3e9fec.system.js.map → esm/popover-46b5193d.js.map} +1 -1
  134. package/dist/esm-es5/index-5f8d16e7.js +1 -1
  135. package/dist/esm-es5/loader.js +1 -1
  136. package/dist/esm-es5/loader.js.map +1 -1
  137. package/dist/esm-es5/nano-alert.entry.js.map +1 -1
  138. package/dist/esm-es5/nano-checkbox.entry.js.map +1 -1
  139. package/dist/esm-es5/nano-components.js +1 -1
  140. package/dist/esm-es5/nano-components.js.map +1 -1
  141. package/dist/esm-es5/nano-datalist_3.entry.js.map +1 -1
  142. package/dist/esm-es5/nano-date-input.entry.js.map +1 -1
  143. package/dist/esm-es5/nano-details.entry.js.map +1 -1
  144. package/dist/esm-es5/nano-dialog.entry.js.map +1 -1
  145. package/dist/esm-es5/nano-dropdown.entry.js +1 -1
  146. package/dist/esm-es5/nano-dropdown.entry.js.map +1 -1
  147. package/dist/esm-es5/nano-file-upload.entry.js.map +1 -1
  148. package/dist/esm-es5/nano-global-nav.entry.js +1 -1
  149. package/dist/esm-es5/nano-global-nav.entry.js.map +1 -1
  150. package/dist/esm-es5/nano-global-search-results.entry.js.map +1 -1
  151. package/dist/esm-es5/nano-hero.entry.js.map +1 -1
  152. package/dist/esm-es5/nano-icon-button.entry.js.map +1 -1
  153. package/dist/esm-es5/nano-menu-drawer.entry.js.map +1 -1
  154. package/dist/esm-es5/nano-nav-item_2.entry.js +1 -1
  155. package/dist/esm-es5/nano-nav-item_2.entry.js.map +1 -1
  156. package/dist/esm-es5/nano-rating.entry.js.map +1 -1
  157. package/dist/esm-es5/nano-split-pane.entry.js +5 -0
  158. package/dist/esm-es5/nano-split-pane.entry.js.map +1 -0
  159. package/dist/esm-es5/nano-tab-group.entry.js +1 -1
  160. package/dist/esm-es5/nano-tab-group.entry.js.map +1 -1
  161. package/dist/esm-es5/nano-tab.entry.js +2 -2
  162. package/dist/esm-es5/nano-tab.entry.js.map +1 -1
  163. package/dist/esm-es5/nano-tooltip.entry.js +1 -1
  164. package/dist/esm-es5/nano-tooltip.entry.js.map +1 -1
  165. package/dist/esm-es5/popover-46b5193d.js +5 -0
  166. package/dist/esm-es5/popover-46b5193d.js.map +1 -0
  167. package/dist/nano-components/nano-components.css +1 -1
  168. package/dist/nano-components/nano-components.esm.js +1 -1
  169. package/dist/nano-components/nano-components.esm.js.map +1 -1
  170. package/dist/nano-components/{p-e35eac75.entry.js → p-08b43111.entry.js} +2 -2
  171. package/dist/nano-components/p-08b43111.entry.js.map +1 -0
  172. package/dist/nano-components/p-090f22a9.system.entry.js.map +1 -1
  173. package/dist/nano-components/p-094ab6f8.entry.js +5 -0
  174. package/dist/nano-components/{p-a0515a0f.entry.js.map → p-094ab6f8.entry.js.map} +1 -1
  175. package/dist/nano-components/p-096682d9.system.js +1 -1
  176. package/dist/nano-components/p-096682d9.system.js.map +1 -1
  177. package/dist/nano-components/{p-e6f8f9f7.system.entry.js → p-1238f0fc.system.entry.js} +2 -2
  178. package/dist/nano-components/p-1238f0fc.system.entry.js.map +1 -0
  179. package/dist/nano-components/p-1e974cad.entry.js.map +1 -1
  180. package/dist/nano-components/p-1f99d776.entry.js.map +1 -1
  181. package/dist/nano-components/p-20db18f3.entry.js.map +1 -1
  182. package/dist/nano-components/p-2fca45bc.entry.js +5 -0
  183. package/dist/nano-components/p-2fca45bc.entry.js.map +1 -0
  184. package/dist/nano-components/p-3456db01.entry.js.map +1 -1
  185. package/dist/nano-components/p-3ad1d5aa.system.entry.js.map +1 -1
  186. package/dist/nano-components/{p-3cf35ac4.system.entry.js → p-3f736fa2.system.entry.js} +2 -2
  187. package/dist/nano-components/p-3f736fa2.system.entry.js.map +1 -0
  188. package/dist/nano-components/p-4429caac.system.entry.js.map +1 -1
  189. package/dist/nano-components/p-4b7cd30c.js +5 -0
  190. package/dist/nano-components/p-4b7cd30c.js.map +1 -0
  191. package/dist/nano-components/p-531d5275.system.entry.js.map +1 -1
  192. package/dist/nano-components/p-56ba0d63.entry.js.map +1 -1
  193. package/dist/nano-components/p-5a476bba.system.entry.js.map +1 -1
  194. package/dist/nano-components/p-6afdb510.system.entry.js.map +1 -1
  195. package/dist/nano-components/p-71c26ace.entry.js.map +1 -1
  196. package/dist/nano-components/p-730f60ea.entry.js.map +1 -1
  197. package/dist/nano-components/p-7d2e2685.entry.js.map +1 -1
  198. package/dist/nano-components/p-8a8f893b.system.entry.js.map +1 -1
  199. package/dist/nano-components/p-8b3ee91b.system.entry.js +5 -0
  200. package/dist/nano-components/{p-ca466250.system.entry.js.map → p-8b3ee91b.system.entry.js.map} +1 -1
  201. package/dist/nano-components/p-8de6e276.entry.js +5 -0
  202. package/dist/nano-components/p-8de6e276.entry.js.map +1 -0
  203. package/dist/nano-components/p-93448bcd.system.entry.js.map +1 -1
  204. package/dist/nano-components/p-94593617.system.entry.js.map +1 -1
  205. package/dist/nano-components/p-9ca5e023.system.entry.js +5 -0
  206. package/dist/nano-components/p-9ca5e023.system.entry.js.map +1 -0
  207. package/dist/nano-components/{p-bbe6b7af.entry.js → p-ad0715d1.entry.js} +2 -2
  208. package/dist/nano-components/p-ad0715d1.entry.js.map +1 -0
  209. package/dist/nano-components/p-b59d2bd5.entry.js.map +1 -1
  210. package/dist/nano-components/p-c0ddb4c3.entry.js.map +1 -1
  211. package/dist/nano-components/p-c20b6f1c.system.entry.js +5 -0
  212. package/dist/nano-components/p-c20b6f1c.system.entry.js.map +1 -0
  213. package/dist/nano-components/p-d35d468b.system.js +5 -0
  214. package/dist/{cjs/popover-55c687c2.js.map → nano-components/p-d35d468b.system.js.map} +1 -1
  215. package/dist/nano-components/p-d6569144.entry.js.map +1 -1
  216. package/dist/nano-components/p-d9f2dda5.entry.js +5 -0
  217. package/dist/nano-components/p-d9f2dda5.entry.js.map +1 -0
  218. package/dist/nano-components/p-e01adaa3.entry.js +5 -0
  219. package/dist/nano-components/{p-17bf76c4.entry.js.map → p-e01adaa3.entry.js.map} +1 -1
  220. package/dist/nano-components/p-e11bd40d.entry.js.map +1 -1
  221. package/dist/nano-components/p-e15be516.system.entry.js.map +1 -1
  222. package/dist/nano-components/p-ef4e0912.system.entry.js.map +1 -1
  223. package/dist/nano-components/p-f2e7d2f9.system.entry.js.map +1 -1
  224. package/dist/nano-components/p-f9e30f31.system.entry.js +5 -0
  225. package/dist/nano-components/p-f9e30f31.system.entry.js.map +1 -0
  226. package/dist/nano-components/p-fd1a86d2.system.entry.js +5 -0
  227. package/dist/nano-components/{p-7fcbc27f.system.entry.js.map → p-fd1a86d2.system.entry.js.map} +1 -1
  228. package/dist/themes/nanopore.css +1 -1
  229. package/dist/themes/nanopore.css.map +1 -1
  230. package/dist/types/components/global-nav/global-nav.d.ts +1 -0
  231. package/dist/types/components/split-pane/split-pane.d.ts +74 -0
  232. package/dist/types/components.d.ts +85 -0
  233. package/dist/types/utils/drag.d.ts +1 -0
  234. package/docs-json.json +294 -2
  235. package/docs-vscode.json +49 -0
  236. package/package.json +8 -6
  237. package/dist/esm/popover-d9dc8e13.js.map +0 -1
  238. package/dist/esm-es5/popover-d9dc8e13.js +0 -5
  239. package/dist/esm-es5/popover-d9dc8e13.js.map +0 -1
  240. package/dist/nano-components/p-17bf76c4.entry.js +0 -5
  241. package/dist/nano-components/p-1ec44caf.entry.js +0 -5
  242. package/dist/nano-components/p-1ec44caf.entry.js.map +0 -1
  243. package/dist/nano-components/p-3c3e9fec.system.js +0 -5
  244. package/dist/nano-components/p-3cf35ac4.system.entry.js.map +0 -1
  245. package/dist/nano-components/p-58419bed.system.entry.js +0 -5
  246. package/dist/nano-components/p-58419bed.system.entry.js.map +0 -1
  247. package/dist/nano-components/p-625d3733.js +0 -5
  248. package/dist/nano-components/p-625d3733.js.map +0 -1
  249. package/dist/nano-components/p-7fcbc27f.system.entry.js +0 -5
  250. package/dist/nano-components/p-a0515a0f.entry.js +0 -5
  251. package/dist/nano-components/p-b19e0775.system.entry.js +0 -5
  252. package/dist/nano-components/p-b19e0775.system.entry.js.map +0 -1
  253. package/dist/nano-components/p-bbe6b7af.entry.js.map +0 -1
  254. package/dist/nano-components/p-c954c040.entry.js +0 -5
  255. package/dist/nano-components/p-c954c040.entry.js.map +0 -1
  256. package/dist/nano-components/p-ca466250.system.entry.js +0 -5
  257. package/dist/nano-components/p-e35eac75.entry.js.map +0 -1
  258. package/dist/nano-components/p-e6f8f9f7.system.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["src/components/file-upload/file-upload.scss?tag=nano-file-upload&encapsulation=scoped","src/components/file-upload/file-upload.tsx"],"names":["fileUploadCss","fileInputIds","getDataTransfer","DataTransfer","_a","ClipboardEvent","clipboardData","_b","FileUpload","class_1","hostRef","_this","this","fileInputId","canChangeFileList","removeFiles","errorMessage","isDragging","fileList","maxFileSize","maxFiles","placeholder","hideLabel","required","disabled","clearInput","showInlineError","validateOn","_invalid","onClearClick","value","onBlur","hasFocus","validate","nanoBlur","emit","onFocus","nanoFocus","ev","inputEl","setCustomValidity","error","validity","valid","validationMessage","forEach","fileItem","checkFileSize","file","size","checkFileType","type","accept","length","nanoValidate","isValid","originalEvent","onInvalid","preventDefault","onFileChoose","e","files","target","addNewFiles","onFileRemoveFileClick","push","closest","classList","remove","onFileRemoveAnim","filter","find","rmFile","onInputChange","nanoChange","onDragStop","stopPropagation","onDragStart","onDrop","dataTransfer","FileUploadInput","eleType","listId","labelId","moreId","hasHelperSlot","h","class","htmlFor","id","onDragEnd","onDragLeave","onDragEnter","onDragOver","label","hasLabelSlot","name","tabindex","onClick","aria-labelledby","multiple","undefined","ref","input","publicInputEl","onChange","onReset","tabIndex","button","dropArea","map","key","onAnimationEnd","_","content","placement","iconName","href","location","prototype","fileListChange","arrToFileList","shouldValidate","setTimeout","Object","defineProperty","Array","from","objectURL","URL","createObjectURL","val","reportValidity","validateFirst","invalid","setFocus","focus","getInputElement","Promise","resolve","showError","message","globalClickHandler","composedPath","every","node","host","globalKeydownHandler","i","len","items","add","match","slotChangeObserver","mo","disconnect","MutationObserver","processSlottedContent","observe","childList","subtree","querySelectorAll","querySelector","newFiles","findFile","__spreadArray","disconnectedCallback","componentDidLoad","componentWillLoad","render","Host","file-upload","file-upload--dragging","file-upload--focus","file-upload--invalid"],"mappings":"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","sourcesContent":["@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n@import '../../global/style/nano-theme/base';\n@import '../../global/style/nano-theme/button';\n\n:host {\n /**\n * @prop --invalid-msg-color: Default value #{nano-color(danger, base)};\n * @prop --invalid-msg-font-size: Default value #{$input-help-font-size};\n\n * @prop --help-msg-color: Default value #{$input-help-color};\n\n * @prop --label-color: Default value #{$label-color};\n * @prop --label-color--invalid: Default value #{$label-color-invalid};\n * @prop --label-font-size: Default value #{$label-font-size};\n * @prop --label-padding: Default value #{$input-padding-bottom};\n * @prop --label-color--invalid: Default value #{$label-color-invalid};\n\n * @prop --drop-bg: Default value #{$color-blue--faded};\n * @prop --drop-text: Default value #{$color-dimgrey};\n * @prop --drop-height: Default value 3.5em;\n * @prop --drop-border-tint: Default value #{nano-color(primary, base, null, true)};\n * @prop --drop-border-width: Default value 2px;\n * @prop --drop-border-radius: Default value 5px;\n * @prop --drop-bg--invalid: Default value #{$input-background-color--invalid};\n * @prop --drop-border--invalid: Default value #{nano-color(danger, base, null, true)};\n\n * @prop --btn-bg: Default value #{nano-color(primary, base)};\n * @prop --btn-text: Default value #{nano-color(primary, contrast)};\n * @prop --btn-icon-size: Default value var(--nano-btn-icon-size, 1.4em);\n * @prop --btn-padding-top: Default value var(--nano-btn-padding-top, .5em);\n * @prop --btn-padding-bottom: Default value var(--nano-btn-padding-bottom, .5em);\n * @prop --btn-padding-start: Default value var(--nano-btn-padding-start, 1em);\n * @prop --btn-padding-end: Default value var(--nano-btn-padding-end, 1em);\n */\n\n min-height: 1rem;\n display: block;\n\n --invalid-msg-color: #{nano-color(danger, base)};\n --invalid-msg-font-size: #{$input-help-font-size};\n --help-msg-color: #{$input-help-color};\n --label-color: #{$label-color};\n --label-font-size: #{$label-font-size};\n --label-padding: #{$input-padding-bottom};\n --label-color--invalid: #{$label-color-invalid};\n --drop-bg: #{$color-blue--faded};\n --drop-text: #{darken($color-dimgrey, 11%)};\n --drop-height: 3.5em;\n --drop-border-tint: #{nano-color(primary, base, null, true)};\n --drop-border-width: 2px;\n --drop-border-radius: 5px;\n --drop-bg--invalid: #{$input-background-color--invalid};\n --drop-border--invalid: #{nano-color(danger, base, null, true)};\n --btn-bg: #{nano-color(primary, base)};\n --btn-text: #{nano-color(primary, contrast)};\n --btn-icon-size: var(--nano-btn-icon-size, 1.4em);\n --btn-padding-top: var(--nano-btn-padding-top, 0.5em);\n --btn-padding-bottom: var(--nano-btn-padding-bottom, 0.5em);\n --btn-padding-start: var(--nano-btn-padding-start, 1em);\n --btn-padding-end: var(--nano-btn-padding-end, 1em);\n}\n\n:host([disabled]:not([disabled='false'])) {\n opacity: 0.7;\n\n * {\n pointer-events: none !important;\n }\n}\n\n.file-upload {\n $self: &;\n\n /* Common */\n\n &__label {\n font-size: var(--label-font-size);\n padding: 0 0 var(--label-padding);\n margin: 0;\n line-height: 1;\n\n :host([invalid]:not([invalid='false'])) & {\n color: var(--label-color--invalid);\n }\n }\n\n &__input {\n display: none;\n }\n\n &__error,\n &__help,\n &__more,\n &__label {\n display: block;\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n &__more {\n height: 1em;\n\n @include margin(\n calc(var(--label-padding) / 2),\n 0,\n var(--label-padding),\n 3px\n );\n\n position: relative;\n }\n\n &__error,\n &__help {\n top: 0;\n left: 0;\n position: absolute;\n font-size: var(--invalid-msg-font-size);\n line-height: 1.2;\n transition: 0.3s ease-out opacity;\n\n .file-upload--invalid & {\n opacity: 1;\n }\n }\n\n &__error {\n color: var(--invalid-msg-color);\n font-stretch: condensed;\n opacity: 0;\n\n .file-upload--invalid & {\n opacity: 1;\n }\n }\n\n &__help {\n font-style: italic;\n opacity: 1;\n color: var(--help-msg-color);\n\n .file-upload--invalid & {\n opacity: 0;\n }\n }\n\n /* Drop area / Multi file upload */\n\n &__drop {\n position: relative;\n width: 100%;\n display: inline-block;\n }\n\n &__drop-area {\n background-color: var(--drop-bg);\n color: var(--drop-text);\n min-height: var(--drop-height);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 0.9em;\n position: relative;\n transition: background-color 0.15s ease-in-out;\n padding: 0.5rem;\n\n :host([disabled]:not([disabled='false'])) & {\n opacity: 0.7;\n }\n\n .file-upload--invalid & {\n background-color: var(--drop-bg--invalid);\n }\n\n .file-upload--dragging & {\n background-color: #{$color-white};\n }\n\n &::after {\n content: '';\n position: absolute;\n border-radius: var(--drop-border-radius);\n border-width: var(--drop-border-width);\n border-color: rgba(var(--drop-border-tint), 0.5);\n border-style: dashed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n transition:\n top 0.1s ease-in-out,\n bottom 0.1s ease-in-out,\n left 0.1s ease-in-out,\n right 0.1s ease-in-out;\n\n .file-upload--invalid & {\n border-color: rgba(var(--drop-border--invalid), 1);\n }\n\n .file-upload--dragging & {\n top: 5px;\n bottom: 5px;\n left: 5px;\n right: 5px;\n }\n }\n\n span {\n color: rgba(var(--drop-border-tint), 1);\n text-decoration: underline;\n border-radius: 2px;\n z-index: 1;\n cursor: pointer;\n position: relative;\n\n .file-upload--focus & {\n box-shadow: #{$control-focus-style};\n }\n }\n }\n\n &__list {\n list-style: none;\n margin: 0;\n padding: 0;\n\n &-wrap {\n position: relative;\n top: -4px;\n }\n\n &-item {\n width: 100%;\n margin: 0 0 2px;\n display: flex;\n align-items: center;\n transform: translateZ(0);\n animation: hideListItem 0.3s ease-in-out forwards;\n\n @keyframes hideListItem {\n 0% {\n opacity: 1;\n transform: translateY(0);\n transform: translateZ(0);\n }\n\n 100% {\n opacity: 0;\n transform: translateY(10px);\n transform: translateZ(0);\n }\n }\n\n &--active {\n animation: showListItem 0.3s ease-in-out forwards;\n\n @keyframes showListItem {\n 0% {\n opacity: 0;\n transform: translateY(10px);\n transform: translateZ(0);\n }\n\n 100% {\n opacity: 1;\n transform: translateY(0);\n transform: translateZ(0);\n }\n }\n }\n }\n\n .list-title {\n background: white;\n border-radius: 5px;\n padding: 5px 5px;\n margin-right: 2px;\n display: block;\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 0.9em;\n color: var(--help-msg-color);\n }\n\n .list-button {\n background: white;\n border-radius: 5px;\n margin: 2px;\n }\n\n .list-error {\n --color: rgba(var(--drop-border--invalid), 1);\n }\n }\n\n /* Button display / Single file upload */\n\n &__button {\n @include button-base;\n @include button-standard(\n var(--btn-bg),\n var(--btn-text),\n #{nano-color(primary, shade)}\n );\n\n --nano-btn-icon-size: var(--btn-icon-size);\n --nano-btn-line-height: var(--btn-icon-size);\n --nano-btn-padding-top: var(--btn-padding-top);\n --nano-btn-padding-bottom: var(--btn-padding-bottom);\n --nano-btn-padding-start: var(--btn-padding-start);\n --nano-btn-padding-end: var(--btn-padding-end);\n\n max-width: 100%;\n font-size: 0.9em;\n\n :host([disabled]:not([disabled='false'])) & {\n opacity: 0.4;\n }\n\n .file-upload--dragging & {\n --nano-btn-border-style: dashed;\n }\n #{$self}__clear-btn {\n @include margin(0);\n\n font-size: inherit;\n padding: 0;\n border: 0;\n outline: none;\n background-color: transparent;\n display: flex;\n align-items: stretch;\n width: auto;\n color: var(--clear-btn-color);\n\n :host(.is-invalid) & {\n color: var(--clear-btn-color--invalid);\n }\n\n nano-icon {\n @include margin(0, 0, 0, 0.4rem);\n }\n }\n #{$self}__btn-content {\n display: flex;\n align-items: center;\n\n span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n }\n }\n }\n}\n","import {\n Component,\n Prop,\n h,\n Host,\n Element,\n ComponentInterface,\n State,\n Event,\n EventEmitter,\n Watch,\n VNode,\n Method,\n Listen,\n} from '@stencil/core';\nimport {\n ControlValidity,\n ControlValidityEventDetail,\n FileInputChangeEventDetail,\n FileWithUrl,\n} from '../../interface';\n\nlet fileInputIds = 0;\n\nlet getDataTransfer = () => new DataTransfer();\ntry {\n getDataTransfer();\n} catch {\n try {\n getDataTransfer = () => new ClipboardEvent('').clipboardData;\n getDataTransfer();\n } catch {\n getDataTransfer = null;\n }\n}\n\ninterface FileValidation {\n file: File;\n valid: boolean;\n validationMessage?: string;\n location?: string;\n}\n/**\n * A better UI experience for `input type=\"file\"` form controls.\n *\n * - Drag and Drop\n * - Validation options\n * - Preview and manage multiple files\n */\n@Component({\n tag: 'nano-file-upload',\n styleUrl: 'file-upload.scss',\n scoped: true,\n})\nexport class FileUpload implements ComponentInterface {\n private inputEl: HTMLInputElement;\n private publicInputEl: HTMLInputElement;\n private mo!: MutationObserver;\n private fileInputId = `nano-file-upload-${fileInputIds++}`;\n private canChangeFileList = !!getDataTransfer;\n private removeFiles: FileValidation[] = [];\n\n @State() hasHelperSlot: boolean;\n @State() hasLabelSlot: boolean;\n @State() errorMessage: string = null;\n @State() isDragging = false;\n @State() fileList: FileValidation[] = [];\n @Watch('fileList')\n fileListChange() {\n if (this.canChangeFileList) {\n this.publicInputEl.value = '';\n this.inputEl.files = this.arrToFileList(\n this.fileList.map((file) => file.file)\n );\n this.nanoChange.emit({ value: this.value, files: this.files });\n }\n }\n @State() hasFocus: boolean;\n\n @Element() host: HTMLNanoFileUploadElement;\n\n // public props\n\n /** Name of the form control. Submitted with the form as part of a name/value pair. */\n @Prop() name!: string;\n\n /** The accept attribute value is a string that defines the file types the file input should accept.\n * E.g. for a MS Word file: `.doc, .docx,application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document` */\n @Prop() accept?: string;\n\n /** Specifies which camera to use for capture of image or video data. `user` for the user-facing camera and/or microphone.\n * `environment` specifies the the outward-facing camera and/or microphone. If the requested facing mode isn't available,\n * the user agent may fall back to its preferred default mode. */\n @Prop() capture?: 'user' | 'environment';\n\n /** The maximum file size allowed per file (Megabytes) */\n @Prop() maxFileSize: number = 1;\n\n /** The maximum file size allowed per file (bytes). */\n @Prop() maxFiles: number = 1;\n\n /** String to place within a label element. */\n @Prop() label!: string;\n\n /** Placeholder only used within single file uploads. */\n @Prop() placeholder: string = 'Choose a file...';\n\n /** Visually hide the label - but make it accessible. */\n @Prop() hideLabel?: boolean = false;\n\n /** If `true`, the user must select a file to upload before submitting a form. */\n @Prop() required = false;\n\n /** If `true`, the user cannot interact with the select. */\n @Prop({ reflect: true }) disabled = false;\n\n /** If `true`, a clear icon will appear in the input when there is a value.\n * Clicking it clears the input. Only used within single file uploads. */\n @Prop() clearInput = false;\n\n /** Whether to show validation errors underneath input */\n @Prop({ reflect: true }) showInlineError = true;\n\n /** When should the field perform validation */\n @Prop({ mutable: true }) validateOn?: 'dirty' | 'submit' | 'submitThenDirty' =\n 'submit';\n\n @Watch('maxFiles')\n @Watch('maxFileSize')\n @Watch('capture')\n @Watch('accept')\n @Watch('required')\n @Watch('disabled')\n @Watch('validateOn')\n @Watch('fileList')\n protected shouldValidate() {\n if (!this.inputEl) return;\n setTimeout(() => {\n if (this.validateOn === 'dirty') this.validate();\n }, 20);\n }\n\n @State() _invalid = false;\n /** This will be true when the control is in an invalid state.\n * Validity is determined by the `required` prop. Or if custom validity message is set. @readonly */\n @Prop({ reflect: true })\n get invalid() {\n return this._invalid;\n }\n\n /** A File array that lists every selected file.\n * Has an added `objectURL` property returning a `DOMString`\n * containing an object URL that can be used to reference the contents of the specified source\n * This list has no more than one member unless the multiple attribute is specified. @readonly */\n @Prop()\n get files(): FileWithUrl[] {\n return this.inputEl\n ? Array.from(this.inputEl.files).map((file: FileWithUrl) => {\n file.objectURL = URL.createObjectURL(file);\n return file;\n })\n : [];\n }\n\n /** A file input's value attribute contains a DOMString that represents the path to the selected file(s).\n * If the user selected multiple files, the value represents the first file in the list of files they selected.\n * You can reset the file-upload control by setting the value to an emptry string e.g. `var input.value = ''` */\n @Prop()\n get value() {\n return this.inputEl ? this.inputEl.value : '';\n }\n set value(val: string) {\n if (val === '' && this.inputEl) {\n this.fileList = [];\n this.inputEl.value = '';\n }\n }\n\n // Events\n\n /** Emitted when the value has changed. */\n @Event() nanoChange!: EventEmitter<FileInputChangeEventDetail>;\n\n /** Emited when the checkbox is focused */\n @Event() nanoFocus: EventEmitter;\n\n /** Emited when the checkbox is blurred */\n @Event() nanoBlur: EventEmitter;\n\n /** Called when validation is performed (which depends on `validateOn`).\n * @returns event.detail: `{ isValid: boolean, errorMessage: string, originalEvent: Event }`. */\n @Event() nanoValidate: EventEmitter<ControlValidityEventDetail>;\n\n // Public methods\n\n /** Get the current state of the control.\n * @param validateFirst - perform validation first before reporting\n * @returns `{ isValid: boolean, errorMessage: string }` */\n @Method()\n async reportValidity(validateFirst: boolean): Promise<ControlValidity> {\n if (validateFirst) this.validate();\n return {\n isValid: !this.invalid,\n errorMessage: this.inputEl.validationMessage,\n };\n }\n\n /** Sets focus on the specified `nano-input`. Use this method instead of the global\n * `input.focus()`. */\n @Method()\n async setFocus() {\n if (this.inputEl) this.inputEl.focus();\n }\n\n /** Returns the native `<input>` element used under the hood */\n @Method()\n getInputElement(): Promise<HTMLInputElement | HTMLTextAreaElement> {\n return Promise.resolve(this.inputEl!);\n }\n\n /** Invalidate the field and show a custom error message. To clear the error you will need to re-call this method with an empty string.\n * @param message */\n @Method()\n async showError(message: string) {\n if (this.inputEl) {\n this.inputEl.setCustomValidity(message);\n this.validate();\n }\n }\n\n // Listeners\n\n @Listen('click', { target: 'window' })\n globalClickHandler(e: Event) {\n if (!this.hasFocus) return;\n if (e.composedPath().every((node) => node !== this.host)) this.onBlur();\n }\n\n @Listen('keydown', { target: 'window' })\n globalKeydownHandler(e: KeyboardEvent) {\n if (!this.hasFocus || e.key !== 'Tab') return;\n if (e.target !== this.inputEl) this.onBlur();\n }\n\n // Private methods\n\n private onClearClick = () => {\n this.value = '';\n };\n\n private onBlur = () => {\n this.hasFocus = false;\n if (this.validateOn === 'dirty') this.validate();\n this.nanoBlur.emit();\n };\n\n private onFocus = () => {\n this.hasFocus = true;\n this.nanoFocus.emit();\n };\n\n private arrToFileList(files: File[]): FileList {\n const fileList = getDataTransfer();\n for (var i = 0, len = files.length; i < len; i++)\n fileList.items.add(files[i]);\n return fileList.files;\n }\n\n private checkFileSize(size: number): boolean {\n return size / 1000000 <= this.maxFileSize;\n }\n\n private checkFileType(type: string): boolean {\n if (!this.accept) return true;\n return this.accept.match(type) && this.accept.match(type).length > 0;\n }\n\n private validate = (ev?: Event) => {\n this.errorMessage = null;\n this.inputEl.setCustomValidity('');\n let error: string;\n\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n\n if (!this.inputEl.validity.valid) {\n if (this.showInlineError)\n this.errorMessage = this.inputEl.validationMessage;\n } else {\n this.fileList.forEach((fileItem) => {\n error = null;\n if (!this.checkFileSize(fileItem.file.size)) {\n error =\n 'Maximum file size exceeded. Max file size is ' +\n this.maxFileSize +\n 'Mb';\n } else if (!this.checkFileType(fileItem.file.type))\n error = `File type is not allowed (${this.accept})`;\n\n if (!this.errorMessage && error) this.errorMessage = error;\n fileItem.validationMessage = error;\n fileItem.valid = !error;\n });\n if (this.fileList.length > this.maxFiles)\n this.errorMessage = `Maxinum number of files exceeded (${this.maxFiles})`;\n }\n\n if (!!this.errorMessage) {\n this._invalid = true;\n this.inputEl.setCustomValidity(this.errorMessage);\n } else {\n this._invalid = false;\n }\n\n this.nanoValidate.emit({\n isValid: !this._invalid,\n errorMessage: this.inputEl.validationMessage,\n originalEvent: ev,\n });\n };\n\n private slotChangeObserver() {\n if (this.mo) this.mo.disconnect();\n const mo = (this.mo = new MutationObserver(() =>\n this.processSlottedContent()\n ));\n mo.observe(this.host, { childList: true, subtree: true });\n }\n\n private processSlottedContent() {\n // see if we have slot content\n this.hasLabelSlot = !!this.host.querySelectorAll('[slot=\"label\"]');\n this.hasHelperSlot = !!this.host.querySelector('[slot=\"helper\"]');\n }\n\n private addNewFiles(files: FileList) {\n const fileList: FileValidation[] = Array.from(files).map((file) => {\n return {\n file: file,\n location: URL.createObjectURL(file),\n valid: true,\n validationMessage: null,\n };\n });\n\n // if we have a list and we're in a browser that can amend files\n // append files to the list, otherwise replace\n if (this.canChangeFileList && this.maxFiles > 1) {\n const newFiles = fileList.filter(\n (findFile) =>\n !this.fileList.find((file) => file.file.name === findFile.file.name)\n );\n this.fileList = [...this.fileList, ...newFiles];\n } else this.fileList = fileList;\n }\n\n // event handlers & hooks\n\n private onInvalid = (ev: Event) => {\n this.validate(ev);\n if (this.showInlineError) ev.preventDefault();\n };\n\n private onFileChoose = (e: Event) => {\n const files = (e.target as HTMLInputElement).files;\n if (files && files.length)\n this.addNewFiles((e.target as HTMLInputElement).files);\n };\n\n private onFileRemoveFileClick = (e: Event, file: FileValidation) => {\n if (!this.canChangeFileList) return;\n this.removeFiles.push(file);\n\n (e.target as HTMLElement)\n .closest('.file-upload__list-item--active')\n .classList.remove('file-upload__list-item--active');\n };\n\n private onFileRemoveAnim = () => {\n if (!this.canChangeFileList || !this.removeFiles.length) return;\n this.fileList = this.fileList.filter(\n (fileItem) => !this.removeFiles.find((rmFile) => rmFile === fileItem)\n );\n this.removeFiles = [];\n };\n\n private onInputChange = () => {\n this.nanoChange.emit({ value: this.value, files: this.files });\n };\n\n private onDragStop = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n this.isDragging = false;\n };\n\n private onDragStart = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n this.isDragging = true;\n };\n\n private onDrop = (e: DragEvent) => {\n this.onDragStop(e);\n if (e.dataTransfer.files && e.dataTransfer.files.length)\n this.addNewFiles(e.dataTransfer.files);\n };\n\n // Component lifecycle\n\n disconnectedCallback() {\n if (this.mo) this.mo.disconnect();\n }\n\n componentDidLoad() {\n this.slotChangeObserver();\n }\n\n componentWillLoad() {\n this.processSlottedContent();\n }\n\n private FileUploadInput = (\n eleType: 'drop' | 'btn',\n listId?: string\n ): VNode[] => {\n const labelId = this.fileInputId + '-lbl';\n const moreId =\n this.showInlineError || this.hasHelperSlot\n ? this.fileInputId + '-more'\n : '';\n\n return [\n <div class={'file-upload__' + eleType + '-wrap'}>\n <label\n class={`file-upload__` + eleType}\n htmlFor={this.fileInputId}\n id={labelId}\n onDrop={(e) => {\n this.onDrop(e);\n this.onDragStop(e);\n }}\n onDragEnd={this.onDragStop}\n onDragLeave={this.onDragStop}\n onDragEnter={this.onDragStart}\n onDragOver={this.onDragStart}\n >\n <div\n class={`file-upload__label ${\n this.hideLabel || eleType !== 'drop' ? 'visually-hide' : ''\n }`}\n >\n {this.label && this.label}\n {!this.label && this.hasLabelSlot && <slot name=\"label\" />}\n </div>\n {eleType === 'drop' && (\n <div class=\"file-upload__drop-area\">\n Drap and drop or&nbsp;<span>browse</span>\n </div>\n )}\n {eleType === 'btn' && (\n <div\n class={`file-upload__button button--keyline button--icon-start ${\n this.hasFocus ? 'button--focus' : ''\n }`}\n >\n <div class={`file-upload__btn-content`}>\n <nano-icon name=\"regular/cloud-upload\" />\n <span>\n {!!this.fileList.length\n ? this.fileList[0].file.name\n : this.placeholder}\n </span>\n {!!this.value && this.clearInput && !this.disabled && (\n <button\n type=\"button\"\n class=\"icon file-upload__clear-btn\"\n tabindex=\"-1\"\n onClick={this.onClearClick}\n >\n <nano-icon name=\"light/times\"></nano-icon>\n </button>\n )}\n </div>\n </div>\n )}\n <input\n aria-labelledby={labelId + ' ' + moreId + ' ' + listId}\n type=\"file\"\n id={this.fileInputId}\n accept={this.accept}\n class=\"file-upload__input\"\n multiple={this.maxFiles > 1}\n disabled={this.disabled}\n name={this.canChangeFileList ? undefined : this.name}\n ref={(input) => {\n if (this.canChangeFileList) {\n this.publicInputEl = input;\n return;\n }\n this.inputEl = input;\n }}\n onChange={this.onFileChoose}\n onFocus={this.onFocus}\n onReset={this.onInputChange}\n />\n </label>\n <input\n name={!this.canChangeFileList ? undefined : this.name}\n ref={(input) => {\n if (!this.canChangeFileList) return;\n this.inputEl = input;\n }}\n type=\"file\"\n id={this.fileInputId + '-hidden'}\n tabIndex={-1}\n multiple={true}\n class=\"file-upload__input\"\n disabled={this.disabled}\n required={this.required}\n accept={this.accept}\n onInvalid={this.onInvalid}\n onChange={this.onInputChange}\n />\n </div>,\n this.showInlineError || this.hasHelperSlot ? (\n <div class=\"file-upload__more\" id={moreId}>\n {this.showInlineError ? (\n <div class=\"file-upload__error\">{this.errorMessage}</div>\n ) : (\n ''\n )}\n <div class=\"file-upload__help\">\n <slot name=\"helper\" />\n </div>\n </div>\n ) : (\n ''\n ),\n ];\n };\n\n private button = (): VNode[] => {\n return this.FileUploadInput('btn');\n };\n\n private dropArea = (): VNode[] => {\n const listId = this.fileInputId + '-list';\n return [\n this.FileUploadInput('drop', listId),\n <output class=\"file-upload__list-wrap\" id={listId}>\n {!!this.fileList && this.fileList.length > 0 && (\n <ul class=\"file-upload__list list\">\n {this.fileList.map((file) => {\n return (\n <li\n key={file.file.name}\n class=\"file-upload__list-item file-upload__list-item--active list-item\"\n onAnimationEnd={(_) => this.onFileRemoveAnim()}\n >\n <span class=\"list-title\">{file.file.name}</span>\n {!file.valid && (\n <nano-tooltip\n content={file.validationMessage}\n placement=\"left\"\n >\n <nano-icon-button\n class=\"list-button list-error\"\n iconName=\"light/exclamation-triangle\"\n label=\"File error\"\n />\n </nano-tooltip>\n )}\n {this.canChangeFileList && (\n <nano-icon-button\n class=\"list-button list-button--view\"\n type=\"button\"\n iconName=\"light/eye\"\n label=\"View file\"\n target=\"_blank\"\n href={file.location}\n />\n )}\n {this.canChangeFileList && (\n <nano-icon-button\n onClick={(e) => this.onFileRemoveFileClick(e, file)}\n class=\"list-button list-button--remove\"\n iconName=\"light/times\"\n label=\"Remove file\"\n />\n )}\n </li>\n );\n })}\n </ul>\n )}\n </output>,\n ];\n };\n\n render() {\n return (\n <Host>\n <div\n class={{\n 'file-upload': true,\n 'file-upload--dragging': this.isDragging,\n 'file-upload--focus': this.hasFocus,\n 'file-upload--invalid': this._invalid,\n }}\n >\n {this.maxFiles > 1 ? <this.dropArea /> : <this.button />}\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["src/components/file-upload/file-upload.scss?tag=nano-file-upload&encapsulation=scoped","src/components/file-upload/file-upload.tsx"],"names":["fileUploadCss","fileInputIds","getDataTransfer","DataTransfer","_a","ClipboardEvent","clipboardData","_b","FileUpload","class_1","hostRef","_this","this","fileInputId","canChangeFileList","removeFiles","errorMessage","isDragging","fileList","maxFileSize","maxFiles","placeholder","hideLabel","required","disabled","clearInput","showInlineError","validateOn","_invalid","onClearClick","value","onBlur","hasFocus","validate","nanoBlur","emit","onFocus","nanoFocus","ev","inputEl","setCustomValidity","error","validity","valid","validationMessage","forEach","fileItem","checkFileSize","file","size","checkFileType","type","accept","length","nanoValidate","isValid","originalEvent","onInvalid","preventDefault","onFileChoose","e","files","target","addNewFiles","onFileRemoveFileClick","push","closest","classList","remove","onFileRemoveAnim","filter","find","rmFile","onInputChange","nanoChange","onDragStop","stopPropagation","onDragStart","onDrop","dataTransfer","FileUploadInput","eleType","listId","labelId","moreId","hasHelperSlot","h","class","htmlFor","id","onDragEnd","onDragLeave","onDragEnter","onDragOver","label","hasLabelSlot","name","tabindex","onClick","aria-labelledby","multiple","undefined","ref","input","publicInputEl","onChange","onReset","tabIndex","button","dropArea","map","key","onAnimationEnd","_","content","placement","iconName","href","location","prototype","fileListChange","arrToFileList","shouldValidate","setTimeout","Object","defineProperty","Array","from","objectURL","URL","createObjectURL","val","reportValidity","validateFirst","invalid","setFocus","focus","getInputElement","Promise","resolve","showError","message","globalClickHandler","composedPath","every","node","host","globalKeydownHandler","i","len","items","add","match","slotChangeObserver","mo","disconnect","MutationObserver","processSlottedContent","observe","childList","subtree","querySelectorAll","querySelector","newFiles","findFile","__spreadArray","disconnectedCallback","componentDidLoad","componentWillLoad","render","Host","file-upload","file-upload--dragging","file-upload--focus","file-upload--invalid"],"mappings":"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","sourcesContent":["@use 'sass:map';\n@use 'sass:list';\n\n@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n@import '../../global/style/nano-theme/base';\n@import '../../global/style/nano-theme/button';\n\n:host {\n /**\n * @prop --invalid-msg-color: Default value #{nano-color(danger, base)};\n * @prop --invalid-msg-font-size: Default value #{$input-help-font-size};\n\n * @prop --help-msg-color: Default value #{$input-help-color};\n\n * @prop --label-color: Default value #{$label-color};\n * @prop --label-color--invalid: Default value #{$label-color-invalid};\n * @prop --label-font-size: Default value #{$label-font-size};\n * @prop --label-padding: Default value #{$input-padding-bottom};\n * @prop --label-color--invalid: Default value #{$label-color-invalid};\n\n * @prop --drop-bg: Default value #{map.get($colors, blue--faded)};\n * @prop --drop-text: Default value #{map.get($colors, dimgrey)};\n * @prop --drop-height: Default value 3.5em;\n * @prop --drop-border-tint: Default value #{nano-color(primary, base, null, true)};\n * @prop --drop-border-width: Default value 2px;\n * @prop --drop-border-radius: Default value 5px;\n * @prop --drop-bg--invalid: Default value #{$input-background-color--invalid};\n * @prop --drop-border--invalid: Default value #{nano-color(danger, base, null, true)};\n\n * @prop --btn-bg: Default value #{nano-color(primary, base)};\n * @prop --btn-text: Default value #{nano-color(primary, contrast)};\n * @prop --btn-icon-size: Default value var(--nano-btn-icon-size, 1.4em);\n * @prop --btn-padding-top: Default value var(--nano-btn-padding-top, .5em);\n * @prop --btn-padding-bottom: Default value var(--nano-btn-padding-bottom, .5em);\n * @prop --btn-padding-start: Default value var(--nano-btn-padding-start, 1em);\n * @prop --btn-padding-end: Default value var(--nano-btn-padding-end, 1em);\n */\n\n min-height: 1rem;\n display: block;\n\n --invalid-msg-color: #{nano-color(danger, base)};\n --invalid-msg-font-size: #{$input-help-font-size};\n --help-msg-color: #{$input-help-color};\n --label-color: #{$label-color};\n --label-font-size: #{$label-font-size};\n --label-padding: #{$input-padding-bottom};\n --label-color--invalid: #{$label-color-invalid};\n --drop-bg: #{map.get($colors, blue--faded)};\n --drop-text: #{darken(map.get($colors, dimgrey), 11%)};\n --drop-height: 3.5em;\n --drop-border-tint: #{nano-color(primary, base, null, true)};\n --drop-border-width: 2px;\n --drop-border-radius: 5px;\n --drop-bg--invalid: #{$input-background-color--invalid};\n --drop-border--invalid: #{nano-color(danger, base, null, true)};\n --btn-bg: #{nano-color(primary, base)};\n --btn-text: #{nano-color(primary, contrast)};\n --btn-icon-size: var(--nano-btn-icon-size, 1.4em);\n --btn-padding-top: var(--nano-btn-padding-top, 0.5em);\n --btn-padding-bottom: var(--nano-btn-padding-bottom, 0.5em);\n --btn-padding-start: var(--nano-btn-padding-start, 1em);\n --btn-padding-end: var(--nano-btn-padding-end, 1em);\n}\n\n:host([disabled]:not([disabled='false'])) {\n opacity: 0.7;\n\n * {\n pointer-events: none !important;\n }\n}\n\n.file-upload {\n $self: &;\n\n /* Common */\n\n &__label {\n font-size: var(--label-font-size);\n padding: 0 0 var(--label-padding);\n margin: 0;\n line-height: 1;\n\n :host([invalid]:not([invalid='false'])) & {\n color: var(--label-color--invalid);\n }\n }\n\n &__input {\n display: none;\n }\n\n &__error,\n &__help,\n &__more,\n &__label {\n display: block;\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n &__more {\n height: 1em;\n\n @include margin(\n calc(var(--label-padding) / 2),\n 0,\n var(--label-padding),\n 3px\n );\n\n position: relative;\n }\n\n &__error,\n &__help {\n top: 0;\n left: 0;\n position: absolute;\n font-size: var(--invalid-msg-font-size);\n line-height: 1.2;\n transition: 0.3s ease-out opacity;\n\n .file-upload--invalid & {\n opacity: 1;\n }\n }\n\n &__error {\n color: var(--invalid-msg-color);\n font-stretch: condensed;\n opacity: 0;\n\n .file-upload--invalid & {\n opacity: 1;\n }\n }\n\n &__help {\n font-style: italic;\n opacity: 1;\n color: var(--help-msg-color);\n\n .file-upload--invalid & {\n opacity: 0;\n }\n }\n\n /* Drop area / Multi file upload */\n\n &__drop {\n position: relative;\n width: 100%;\n display: inline-block;\n }\n\n &__drop-area {\n background-color: var(--drop-bg);\n color: var(--drop-text);\n min-height: var(--drop-height);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 0.9em;\n position: relative;\n transition: background-color 0.15s ease-in-out;\n padding: 0.5rem;\n\n :host([disabled]:not([disabled='false'])) & {\n opacity: 0.7;\n }\n\n .file-upload--invalid & {\n background-color: var(--drop-bg--invalid);\n }\n\n .file-upload--dragging & {\n background-color: #{map.get($colors, white)};\n }\n\n &::after {\n content: '';\n position: absolute;\n border-radius: var(--drop-border-radius);\n border-width: var(--drop-border-width);\n border-color: rgba(var(--drop-border-tint), 0.5);\n border-style: dashed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n transition:\n top 0.1s ease-in-out,\n bottom 0.1s ease-in-out,\n left 0.1s ease-in-out,\n right 0.1s ease-in-out;\n\n .file-upload--invalid & {\n border-color: rgba(var(--drop-border--invalid), 1);\n }\n\n .file-upload--dragging & {\n top: 5px;\n bottom: 5px;\n left: 5px;\n right: 5px;\n }\n }\n\n span {\n color: rgba(var(--drop-border-tint), 1);\n text-decoration: underline;\n border-radius: 2px;\n z-index: 1;\n cursor: pointer;\n position: relative;\n\n .file-upload--focus & {\n box-shadow: #{$control-focus-style};\n }\n }\n }\n\n &__list {\n list-style: none;\n margin: 0;\n padding: 0;\n\n &-wrap {\n position: relative;\n top: -4px;\n }\n\n &-item {\n width: 100%;\n margin: 0 0 2px;\n display: flex;\n align-items: center;\n transform: translateZ(0);\n animation: hideListItem 0.3s ease-in-out forwards;\n\n @keyframes hideListItem {\n 0% {\n opacity: 1;\n transform: translateY(0);\n transform: translateZ(0);\n }\n\n 100% {\n opacity: 0;\n transform: translateY(10px);\n transform: translateZ(0);\n }\n }\n\n &--active {\n animation: showListItem 0.3s ease-in-out forwards;\n\n @keyframes showListItem {\n 0% {\n opacity: 0;\n transform: translateY(10px);\n transform: translateZ(0);\n }\n\n 100% {\n opacity: 1;\n transform: translateY(0);\n transform: translateZ(0);\n }\n }\n }\n }\n\n .list-title {\n background: white;\n border-radius: 5px;\n padding: 5px 5px;\n margin-right: 2px;\n display: block;\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n font-size: 0.9em;\n color: var(--help-msg-color);\n }\n\n .list-button {\n background: white;\n border-radius: 5px;\n margin: 2px;\n }\n\n .list-error {\n --color: rgba(var(--drop-border--invalid), 1);\n }\n }\n\n /* Button display / Single file upload */\n\n &__button {\n @include button-base;\n @include button-standard(\n var(--btn-bg),\n var(--btn-text),\n #{nano-color(primary, shade)}\n );\n\n --nano-btn-icon-size: var(--btn-icon-size);\n --nano-btn-line-height: var(--btn-icon-size);\n --nano-btn-padding-top: var(--btn-padding-top);\n --nano-btn-padding-bottom: var(--btn-padding-bottom);\n --nano-btn-padding-start: var(--btn-padding-start);\n --nano-btn-padding-end: var(--btn-padding-end);\n\n max-width: 100%;\n font-size: 0.9em;\n\n :host([disabled]:not([disabled='false'])) & {\n opacity: 0.4;\n }\n\n .file-upload--dragging & {\n --nano-btn-border-style: dashed;\n }\n #{$self}__clear-btn {\n @include margin(0);\n\n font-size: inherit;\n padding: 0;\n border: 0;\n outline: none;\n background-color: transparent;\n display: flex;\n align-items: stretch;\n width: auto;\n color: var(--clear-btn-color);\n\n :host(.is-invalid) & {\n color: var(--clear-btn-color--invalid);\n }\n\n nano-icon {\n @include margin(0, 0, 0, 0.4rem);\n }\n }\n #{$self}__btn-content {\n display: flex;\n align-items: center;\n\n span {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: 0;\n }\n }\n }\n}\n","import {\n Component,\n Prop,\n h,\n Host,\n Element,\n ComponentInterface,\n State,\n Event,\n EventEmitter,\n Watch,\n VNode,\n Method,\n Listen,\n} from '@stencil/core';\nimport {\n ControlValidity,\n ControlValidityEventDetail,\n FileInputChangeEventDetail,\n FileWithUrl,\n} from '../../interface';\n\nlet fileInputIds = 0;\n\nlet getDataTransfer = () => new DataTransfer();\ntry {\n getDataTransfer();\n} catch {\n try {\n getDataTransfer = () => new ClipboardEvent('').clipboardData;\n getDataTransfer();\n } catch {\n getDataTransfer = null;\n }\n}\n\ninterface FileValidation {\n file: File;\n valid: boolean;\n validationMessage?: string;\n location?: string;\n}\n/**\n * A better UI experience for `input type=\"file\"` form controls.\n *\n * - Drag and Drop\n * - Validation options\n * - Preview and manage multiple files\n */\n@Component({\n tag: 'nano-file-upload',\n styleUrl: 'file-upload.scss',\n scoped: true,\n})\nexport class FileUpload implements ComponentInterface {\n private inputEl: HTMLInputElement;\n private publicInputEl: HTMLInputElement;\n private mo!: MutationObserver;\n private fileInputId = `nano-file-upload-${fileInputIds++}`;\n private canChangeFileList = !!getDataTransfer;\n private removeFiles: FileValidation[] = [];\n\n @State() hasHelperSlot: boolean;\n @State() hasLabelSlot: boolean;\n @State() errorMessage: string = null;\n @State() isDragging = false;\n @State() fileList: FileValidation[] = [];\n @Watch('fileList')\n fileListChange() {\n if (this.canChangeFileList) {\n this.publicInputEl.value = '';\n this.inputEl.files = this.arrToFileList(\n this.fileList.map((file) => file.file)\n );\n this.nanoChange.emit({ value: this.value, files: this.files });\n }\n }\n @State() hasFocus: boolean;\n\n @Element() host: HTMLNanoFileUploadElement;\n\n // public props\n\n /** Name of the form control. Submitted with the form as part of a name/value pair. */\n @Prop() name!: string;\n\n /** The accept attribute value is a string that defines the file types the file input should accept.\n * E.g. for a MS Word file: `.doc, .docx,application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document` */\n @Prop() accept?: string;\n\n /** Specifies which camera to use for capture of image or video data. `user` for the user-facing camera and/or microphone.\n * `environment` specifies the the outward-facing camera and/or microphone. If the requested facing mode isn't available,\n * the user agent may fall back to its preferred default mode. */\n @Prop() capture?: 'user' | 'environment';\n\n /** The maximum file size allowed per file (Megabytes) */\n @Prop() maxFileSize: number = 1;\n\n /** The maximum file size allowed per file (bytes). */\n @Prop() maxFiles: number = 1;\n\n /** String to place within a label element. */\n @Prop() label!: string;\n\n /** Placeholder only used within single file uploads. */\n @Prop() placeholder: string = 'Choose a file...';\n\n /** Visually hide the label - but make it accessible. */\n @Prop() hideLabel?: boolean = false;\n\n /** If `true`, the user must select a file to upload before submitting a form. */\n @Prop() required = false;\n\n /** If `true`, the user cannot interact with the select. */\n @Prop({ reflect: true }) disabled = false;\n\n /** If `true`, a clear icon will appear in the input when there is a value.\n * Clicking it clears the input. Only used within single file uploads. */\n @Prop() clearInput = false;\n\n /** Whether to show validation errors underneath input */\n @Prop({ reflect: true }) showInlineError = true;\n\n /** When should the field perform validation */\n @Prop({ mutable: true }) validateOn?: 'dirty' | 'submit' | 'submitThenDirty' =\n 'submit';\n\n @Watch('maxFiles')\n @Watch('maxFileSize')\n @Watch('capture')\n @Watch('accept')\n @Watch('required')\n @Watch('disabled')\n @Watch('validateOn')\n @Watch('fileList')\n protected shouldValidate() {\n if (!this.inputEl) return;\n setTimeout(() => {\n if (this.validateOn === 'dirty') this.validate();\n }, 20);\n }\n\n @State() _invalid = false;\n /** This will be true when the control is in an invalid state.\n * Validity is determined by the `required` prop. Or if custom validity message is set. @readonly */\n @Prop({ reflect: true })\n get invalid() {\n return this._invalid;\n }\n\n /** A File array that lists every selected file.\n * Has an added `objectURL` property returning a `DOMString`\n * containing an object URL that can be used to reference the contents of the specified source\n * This list has no more than one member unless the multiple attribute is specified. @readonly */\n @Prop()\n get files(): FileWithUrl[] {\n return this.inputEl\n ? Array.from(this.inputEl.files).map((file: FileWithUrl) => {\n file.objectURL = URL.createObjectURL(file);\n return file;\n })\n : [];\n }\n\n /** A file input's value attribute contains a DOMString that represents the path to the selected file(s).\n * If the user selected multiple files, the value represents the first file in the list of files they selected.\n * You can reset the file-upload control by setting the value to an emptry string e.g. `var input.value = ''` */\n @Prop()\n get value() {\n return this.inputEl ? this.inputEl.value : '';\n }\n set value(val: string) {\n if (val === '' && this.inputEl) {\n this.fileList = [];\n this.inputEl.value = '';\n }\n }\n\n // Events\n\n /** Emitted when the value has changed. */\n @Event() nanoChange!: EventEmitter<FileInputChangeEventDetail>;\n\n /** Emited when the checkbox is focused */\n @Event() nanoFocus: EventEmitter;\n\n /** Emited when the checkbox is blurred */\n @Event() nanoBlur: EventEmitter;\n\n /** Called when validation is performed (which depends on `validateOn`).\n * @returns event.detail: `{ isValid: boolean, errorMessage: string, originalEvent: Event }`. */\n @Event() nanoValidate: EventEmitter<ControlValidityEventDetail>;\n\n // Public methods\n\n /** Get the current state of the control.\n * @param validateFirst - perform validation first before reporting\n * @returns `{ isValid: boolean, errorMessage: string }` */\n @Method()\n async reportValidity(validateFirst: boolean): Promise<ControlValidity> {\n if (validateFirst) this.validate();\n return {\n isValid: !this.invalid,\n errorMessage: this.inputEl.validationMessage,\n };\n }\n\n /** Sets focus on the specified `nano-input`. Use this method instead of the global\n * `input.focus()`. */\n @Method()\n async setFocus() {\n if (this.inputEl) this.inputEl.focus();\n }\n\n /** Returns the native `<input>` element used under the hood */\n @Method()\n getInputElement(): Promise<HTMLInputElement | HTMLTextAreaElement> {\n return Promise.resolve(this.inputEl!);\n }\n\n /** Invalidate the field and show a custom error message. To clear the error you will need to re-call this method with an empty string.\n * @param message */\n @Method()\n async showError(message: string) {\n if (this.inputEl) {\n this.inputEl.setCustomValidity(message);\n this.validate();\n }\n }\n\n // Listeners\n\n @Listen('click', { target: 'window' })\n globalClickHandler(e: Event) {\n if (!this.hasFocus) return;\n if (e.composedPath().every((node) => node !== this.host)) this.onBlur();\n }\n\n @Listen('keydown', { target: 'window' })\n globalKeydownHandler(e: KeyboardEvent) {\n if (!this.hasFocus || e.key !== 'Tab') return;\n if (e.target !== this.inputEl) this.onBlur();\n }\n\n // Private methods\n\n private onClearClick = () => {\n this.value = '';\n };\n\n private onBlur = () => {\n this.hasFocus = false;\n if (this.validateOn === 'dirty') this.validate();\n this.nanoBlur.emit();\n };\n\n private onFocus = () => {\n this.hasFocus = true;\n this.nanoFocus.emit();\n };\n\n private arrToFileList(files: File[]): FileList {\n const fileList = getDataTransfer();\n for (var i = 0, len = files.length; i < len; i++)\n fileList.items.add(files[i]);\n return fileList.files;\n }\n\n private checkFileSize(size: number): boolean {\n return size / 1000000 <= this.maxFileSize;\n }\n\n private checkFileType(type: string): boolean {\n if (!this.accept) return true;\n return this.accept.match(type) && this.accept.match(type).length > 0;\n }\n\n private validate = (ev?: Event) => {\n this.errorMessage = null;\n this.inputEl.setCustomValidity('');\n let error: string;\n\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n\n if (!this.inputEl.validity.valid) {\n if (this.showInlineError)\n this.errorMessage = this.inputEl.validationMessage;\n } else {\n this.fileList.forEach((fileItem) => {\n error = null;\n if (!this.checkFileSize(fileItem.file.size)) {\n error =\n 'Maximum file size exceeded. Max file size is ' +\n this.maxFileSize +\n 'Mb';\n } else if (!this.checkFileType(fileItem.file.type))\n error = `File type is not allowed (${this.accept})`;\n\n if (!this.errorMessage && error) this.errorMessage = error;\n fileItem.validationMessage = error;\n fileItem.valid = !error;\n });\n if (this.fileList.length > this.maxFiles)\n this.errorMessage = `Maxinum number of files exceeded (${this.maxFiles})`;\n }\n\n if (!!this.errorMessage) {\n this._invalid = true;\n this.inputEl.setCustomValidity(this.errorMessage);\n } else {\n this._invalid = false;\n }\n\n this.nanoValidate.emit({\n isValid: !this._invalid,\n errorMessage: this.inputEl.validationMessage,\n originalEvent: ev,\n });\n };\n\n private slotChangeObserver() {\n if (this.mo) this.mo.disconnect();\n const mo = (this.mo = new MutationObserver(() =>\n this.processSlottedContent()\n ));\n mo.observe(this.host, { childList: true, subtree: true });\n }\n\n private processSlottedContent() {\n // see if we have slot content\n this.hasLabelSlot = !!this.host.querySelectorAll('[slot=\"label\"]');\n this.hasHelperSlot = !!this.host.querySelector('[slot=\"helper\"]');\n }\n\n private addNewFiles(files: FileList) {\n const fileList: FileValidation[] = Array.from(files).map((file) => {\n return {\n file: file,\n location: URL.createObjectURL(file),\n valid: true,\n validationMessage: null,\n };\n });\n\n // if we have a list and we're in a browser that can amend files\n // append files to the list, otherwise replace\n if (this.canChangeFileList && this.maxFiles > 1) {\n const newFiles = fileList.filter(\n (findFile) =>\n !this.fileList.find((file) => file.file.name === findFile.file.name)\n );\n this.fileList = [...this.fileList, ...newFiles];\n } else this.fileList = fileList;\n }\n\n // event handlers & hooks\n\n private onInvalid = (ev: Event) => {\n this.validate(ev);\n if (this.showInlineError) ev.preventDefault();\n };\n\n private onFileChoose = (e: Event) => {\n const files = (e.target as HTMLInputElement).files;\n if (files && files.length)\n this.addNewFiles((e.target as HTMLInputElement).files);\n };\n\n private onFileRemoveFileClick = (e: Event, file: FileValidation) => {\n if (!this.canChangeFileList) return;\n this.removeFiles.push(file);\n\n (e.target as HTMLElement)\n .closest('.file-upload__list-item--active')\n .classList.remove('file-upload__list-item--active');\n };\n\n private onFileRemoveAnim = () => {\n if (!this.canChangeFileList || !this.removeFiles.length) return;\n this.fileList = this.fileList.filter(\n (fileItem) => !this.removeFiles.find((rmFile) => rmFile === fileItem)\n );\n this.removeFiles = [];\n };\n\n private onInputChange = () => {\n this.nanoChange.emit({ value: this.value, files: this.files });\n };\n\n private onDragStop = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n this.isDragging = false;\n };\n\n private onDragStart = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n this.isDragging = true;\n };\n\n private onDrop = (e: DragEvent) => {\n this.onDragStop(e);\n if (e.dataTransfer.files && e.dataTransfer.files.length)\n this.addNewFiles(e.dataTransfer.files);\n };\n\n // Component lifecycle\n\n disconnectedCallback() {\n if (this.mo) this.mo.disconnect();\n }\n\n componentDidLoad() {\n this.slotChangeObserver();\n }\n\n componentWillLoad() {\n this.processSlottedContent();\n }\n\n private FileUploadInput = (\n eleType: 'drop' | 'btn',\n listId?: string\n ): VNode[] => {\n const labelId = this.fileInputId + '-lbl';\n const moreId =\n this.showInlineError || this.hasHelperSlot\n ? this.fileInputId + '-more'\n : '';\n\n return [\n <div class={'file-upload__' + eleType + '-wrap'}>\n <label\n class={`file-upload__` + eleType}\n htmlFor={this.fileInputId}\n id={labelId}\n onDrop={(e) => {\n this.onDrop(e);\n this.onDragStop(e);\n }}\n onDragEnd={this.onDragStop}\n onDragLeave={this.onDragStop}\n onDragEnter={this.onDragStart}\n onDragOver={this.onDragStart}\n >\n <div\n class={`file-upload__label ${\n this.hideLabel || eleType !== 'drop' ? 'visually-hide' : ''\n }`}\n >\n {this.label && this.label}\n {!this.label && this.hasLabelSlot && <slot name=\"label\" />}\n </div>\n {eleType === 'drop' && (\n <div class=\"file-upload__drop-area\">\n Drap and drop or&nbsp;<span>browse</span>\n </div>\n )}\n {eleType === 'btn' && (\n <div\n class={`file-upload__button button--keyline button--icon-start ${\n this.hasFocus ? 'button--focus' : ''\n }`}\n >\n <div class={`file-upload__btn-content`}>\n <nano-icon name=\"regular/cloud-upload\" />\n <span>\n {!!this.fileList.length\n ? this.fileList[0].file.name\n : this.placeholder}\n </span>\n {!!this.value && this.clearInput && !this.disabled && (\n <button\n type=\"button\"\n class=\"icon file-upload__clear-btn\"\n tabindex=\"-1\"\n onClick={this.onClearClick}\n >\n <nano-icon name=\"light/times\"></nano-icon>\n </button>\n )}\n </div>\n </div>\n )}\n <input\n aria-labelledby={labelId + ' ' + moreId + ' ' + listId}\n type=\"file\"\n id={this.fileInputId}\n accept={this.accept}\n class=\"file-upload__input\"\n multiple={this.maxFiles > 1}\n disabled={this.disabled}\n name={this.canChangeFileList ? undefined : this.name}\n ref={(input) => {\n if (this.canChangeFileList) {\n this.publicInputEl = input;\n return;\n }\n this.inputEl = input;\n }}\n onChange={this.onFileChoose}\n onFocus={this.onFocus}\n onReset={this.onInputChange}\n />\n </label>\n <input\n name={!this.canChangeFileList ? undefined : this.name}\n ref={(input) => {\n if (!this.canChangeFileList) return;\n this.inputEl = input;\n }}\n type=\"file\"\n id={this.fileInputId + '-hidden'}\n tabIndex={-1}\n multiple={true}\n class=\"file-upload__input\"\n disabled={this.disabled}\n required={this.required}\n accept={this.accept}\n onInvalid={this.onInvalid}\n onChange={this.onInputChange}\n />\n </div>,\n this.showInlineError || this.hasHelperSlot ? (\n <div class=\"file-upload__more\" id={moreId}>\n {this.showInlineError ? (\n <div class=\"file-upload__error\">{this.errorMessage}</div>\n ) : (\n ''\n )}\n <div class=\"file-upload__help\">\n <slot name=\"helper\" />\n </div>\n </div>\n ) : (\n ''\n ),\n ];\n };\n\n private button = (): VNode[] => {\n return this.FileUploadInput('btn');\n };\n\n private dropArea = (): VNode[] => {\n const listId = this.fileInputId + '-list';\n return [\n this.FileUploadInput('drop', listId),\n <output class=\"file-upload__list-wrap\" id={listId}>\n {!!this.fileList && this.fileList.length > 0 && (\n <ul class=\"file-upload__list list\">\n {this.fileList.map((file) => {\n return (\n <li\n key={file.file.name}\n class=\"file-upload__list-item file-upload__list-item--active list-item\"\n onAnimationEnd={(_) => this.onFileRemoveAnim()}\n >\n <span class=\"list-title\">{file.file.name}</span>\n {!file.valid && (\n <nano-tooltip\n content={file.validationMessage}\n placement=\"left\"\n >\n <nano-icon-button\n class=\"list-button list-error\"\n iconName=\"light/exclamation-triangle\"\n label=\"File error\"\n />\n </nano-tooltip>\n )}\n {this.canChangeFileList && (\n <nano-icon-button\n class=\"list-button list-button--view\"\n type=\"button\"\n iconName=\"light/eye\"\n label=\"View file\"\n target=\"_blank\"\n href={file.location}\n />\n )}\n {this.canChangeFileList && (\n <nano-icon-button\n onClick={(e) => this.onFileRemoveFileClick(e, file)}\n class=\"list-button list-button--remove\"\n iconName=\"light/times\"\n label=\"Remove file\"\n />\n )}\n </li>\n );\n })}\n </ul>\n )}\n </output>,\n ];\n };\n\n render() {\n return (\n <Host>\n <div\n class={{\n 'file-upload': true,\n 'file-upload--dragging': this.isDragging,\n 'file-upload--focus': this.hasFocus,\n 'file-upload--invalid': this._invalid,\n }}\n >\n {this.maxFiles > 1 ? <this.dropArea /> : <this.button />}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  var __awaiter=this&&this.__awaiter||function(e,t,n,a){function i(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,s){function o(e){try{l(a.next(e))}catch(t){s(t)}}function r(e){try{l(a["throw"](e))}catch(t){s(t)}}function l(e){e.done?n(e.value):i(e.value).then(o,r)}l((a=a.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},a,i,s,o;return o={next:r(0),throw:r(1),return:r(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function r(e){return function(t){return l([e,t])}}function l(o){if(a)throw new TypeError("Generator is already executing.");while(n)try{if(a=1,i&&(s=o[0]&2?i["return"]:o[0]?i["throw"]||((s=i["return"])&&s.call(i),0):i.next)&&!(s=s.call(i,o[1])).done)return s;if(i=0,s)o=[o[0]&2,s.value];switch(o[0]){case 0:case 1:s=o;break;case 4:n.label++;return{value:o[1],done:false};case 5:n.label++;i=o[1];o=[0];continue;case 7:o=n.ops.pop();n.trys.pop();continue;default:if(!(s=n.trys,s=s.length>0&&s[s.length-1])&&(o[0]===6||o[0]===2)){n=0;continue}if(o[0]===3&&(!s||o[1]>s[0]&&o[1]<s[3])){n.label=o[1];break}if(o[0]===6&&n.label<s[1]){n.label=s[1];s=o;break}if(s&&n.label<s[2]){n.label=s[2];n.ops.push(o);break}if(s[2])n.ops.pop();n.trys.pop();continue}o=t.call(e,n)}catch(r){o=[6,r];i=0}finally{a=s=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,t){for(var n=0,a=t.length,i=e.length;n<a;n++,i++)e[i]=t[n];return e};
2
2
  /*!
3
3
  * Web Components for Nanopore digital Web Apps
4
- */import{r as registerInstance,c as createEvent,i as readTask,f as writeTask,h,k as getAssetPath,e as Host,g as getElement}from"./index-5f8d16e7.js";import{a as algoliasearch_umd}from"./algoliasearch.umd-6143495f.js";import{d as displayTransition}from"./index-bf53664b.js";import{C as ComponentStore}from"./component-store-b6fbfa35.js";import{d as debounce}from"./throttle-d3d933cd.js";import{c as closestElement}from"./dom-faa69d29.js";import"./_commonjsHelpers-e401b2a2.js";var __rest=undefined&&undefined.__rest||function(e,t){var n={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0)n[a]=e[a];if(e!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,a=Object.getOwnPropertySymbols(e);i<a.length;i++){if(t.indexOf(a[i])<0&&Object.prototype.propertyIsEnumerable.call(e,a[i]))n[a[i]]=e[a[i]]}return n};function clientFetch(e,t){if(t===void 0){t={}}return __awaiter(this,void 0,void 0,(function(){var n,a,i,s,o,r,l,c,h,u;return __generator(this,(function(d){switch(d.label){case 0:n=t.body,a=__rest(t,["body"]);i={Accept:"application/json, text/plain, */*","Access-Control-Allow-Origin":"*","Content-Type":"application/json",Cache:"no-cache"};s=Object.assign(Object.assign({method:n?"POST":"GET",credentials:"include",keepalive:true,mode:"cors"},a),{headers:Object.assign(Object.assign({},i),a.headers)});if(n){s.body=JSON.stringify(n)}o=setTimeout((function(){}),0);if(window.AbortController){r=new AbortController;l=a.timeout,c=l===void 0?500:l;o=setTimeout((function(){return r.abort()}),c);s.signal=r.signal}return[4,fetch(e,s)];case 1:h=d.sent();clearTimeout(o);if(!h.ok)return[3,3];return[4,h.json()];case 2:return[2,d.sent()];case 3:return[4,h.text()];case 4:u=d.sent();return[2,new Error(u)]}}))}))}var globalNavCss=':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{--padding:12px;--padding-top:var(--padding);--padding-end:var(--padding);--padding-bottom:var(--padding);--padding-start:var(--padding);--bar-background:#005c75;--bar-text-color:white;--bar-color-shade:rgb(19, 89, 111);--bar-color-tint:rgb(19, 89, 111);--bar-color-focus:#90c6e7;--menu-background:#001a21;--menu-text-color:white;--menu-dropdown-bg:#196c82;--menu-dropdown-color:white;display:block;position:relative;line-height:1.5;height:100%}:host *{-webkit-box-sizing:inherit;box-sizing:inherit}.global-nav{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;font-size:0.88em;z-index:var(--nano-layer-index-menubar, 10)}.global-nav button{background:none;color:inherit;border:none;padding:0}.global-nav .icon-btn{position:relative;background:none;color:inherit;border:none;-ms-flex-item-align:normal;-ms-grid-row-align:normal;align-self:normal;padding:9px 7px;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.global-nav .icon-btn nano-icon{width:18px;height:18px}.global-nav ::slotted(nano-nav-item[slot=icon]){--padding-top:9px;--padding-bottom:9px;--padding-start:7px;--padding-end:7px;--display:flex;font-size:18px}.global-nav a{color:inherit;text-decoration:none;white-space:nowrap}.global-nav .nav-links_title{margin:8px 0 3px}.global-nav .nav-links ul{margin:0;padding:0}.global-nav .nav-links li{list-style:none}.global-nav .login-btn{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:0.94em}.global-nav .menu-btn{padding:9px var(--padding) 9px var(--padding)}.gn-menu{position:fixed;top:0;left:0;z-index:-1;display:none;-webkit-transition:z-index 0.01s ease 0.2s;transition:z-index 0.01s ease 0.2s;height:100vh;width:100vw;overflow-y:auto}:host([dir=rtl]) .gn-menu{left:auto;right:0}:host(.threshold-2) .gn-menu{position:absolute;width:calc(100vw - 20px)}.gn-menu.menu-full-screen{width:100vw !important}.gn-menu_wrap{max-width:92vw;width:335px;background:var(--menu-background);color:var(--menu-text-color);padding:var(--padding) 0;-webkit-box-shadow:0 0 36px 0 rgba(0, 0, 0, 0.8);box-shadow:0 0 36px 0 rgba(0, 0, 0, 0.8);position:relative;pointer-events:all;margin-bottom:36px;opacity:0;outline:none;-webkit-transition:opacity 0.2s ease, -webkit-transform 0.2s ease;transition:opacity 0.2s ease, -webkit-transform 0.2s ease;transition:transform 0.2s ease, opacity 0.2s ease;transition:transform 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease}.gn-menu_wrap.has-promotion{padding:var(--padding) 0 0}.gn-menu.open{z-index:var(--nano-layer-index-dropdown, 300);-webkit-transition:z-index 0.01s ease;transition:z-index 0.01s ease}.gn-menu.open .gn-menu_wrap{opacity:1;-webkit-transform:translate3d(0, 0, 0) !important;transform:translate3d(0, 0, 0) !important;-webkit-transition:opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s;transition:opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s;transition:transform 0.2s ease 0.01s, opacity 0.2s ease 0.01s;transition:transform 0.2s ease 0.01s, opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s}.gn-menu_actions{padding-right:calc(var(--padding) / 2);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.gn-menu_actions{padding-right:unset;-webkit-padding-end:calc(var(--padding) / 2);padding-inline-end:calc(var(--padding) / 2)}}.gn-menu_actions-counter{background:#d0021b;color:#fff;position:absolute;bottom:4px;right:0;left:auto;font-size:9px;height:14px;line-height:14px;width:auto;min-width:14px;border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;text-indent:0}.gn-menu .content-wrap{position:relative;overflow:hidden;-webkit-transition:0.2s ease min-height;transition:0.2s ease min-height;min-height:190px}.gn-menu .content--sub{padding:var(--padding) 0 var(--padding) 7px}.gn-menu .menu-btn{margin-right:auto}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.gn-menu .menu-btn{margin-right:unset;-webkit-margin-end:auto;margin-inline-end:auto}}.gn-menu .nav-links{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.gn-menu .nav-links ::slotted(nano-nav-item),.gn-menu .nav-links nano-nav-item{--icon-size:14px;--display:inline-block;--secondary-bg-color:#001a21;--padding-top:10px;--padding-bottom:10px;--padding-end:calc(var(--padding) * 2);--padding-start:calc(var(--padding) + 3px);--color:white;--color-hover:#90c6e7;--bg-color-hover:transparent;--bg-color-focus:#002530;--focus-outline:none;font-size:0.99em;width:100%}.gn-menu .nav-links .user-nav{--bg-color:#193037;--padding-top:9px;--padding-bottom:9px;font-weight:bold;margin:5px 0 0}.gn-menu .nav-links .user-nav ::slotted(nano-nav-item),.gn-menu .nav-links .user-nav nano-nav-item{font-weight:500;--bg-color:transparent}.gn-menu .nav-links_title{margin:0 var(--padding) 4px;border-bottom:1px solid #33484d;padding-bottom:8px;font-size:0.86em;text-transform:uppercase;color:#90c6e7;letter-spacing:1px;font-weight:700}.gn-menu .nav-links-wrap{margin:18px 0}.gn-menu .nav-links-wrap:last-child{margin-bottom:0}.gn-menu .nav-links .back-btn{border-top:1px solid #33484d;border-bottom:1px solid #33484d;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:10px 11px 10px 0;width:100%;font-size:12px;text-transform:uppercase;color:#90c6e7;letter-spacing:1px;font-weight:700}.gn-menu .nav-links .back-btn nano-icon{margin-right:10px;font-size:12px;color:white}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.gn-menu .nav-links .back-btn nano-icon{margin-right:unset;-webkit-margin-end:10px;margin-inline-end:10px}}.gn-menu .nav-links--sub{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.gn-menu .nav-links--sub ::slotted(nano-nav-item),.gn-menu .nav-links--sub nano-nav-item{--border-bottom:none;--padding-end:var(--padding);--padding-start:var(--padding);--padding-top:8px;--padding-bottom:8px;margin:0;width:50%;line-height:1.8}.gn-menu .nav-links .content{padding:8px var(--padding)}.gn-menu .login-btn{padding-left:7px;padding-right:var(--padding);padding-top:9px;padding-bottom:9px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.gn-menu .login-btn{padding-left:unset;padding-right:unset;-webkit-padding-start:7px;padding-inline-start:7px;-webkit-padding-end:var(--padding);padding-inline-end:var(--padding)}}.gn-menu .login-btn nano-icon{margin-left:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.gn-menu .login-btn nano-icon{margin-left:unset;-webkit-margin-start:10px;margin-inline-start:10px;}}.gn-menu .logout-btn{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.gn-menu .logout-btn a{padding:0 5px}.sticker-trigger{background:var(--bar-background);width:100%;z-index:calc(var(--nano-layer-index-menubar, 10) + 1)}.bars{color:var(--bar-text-color);z-index:var(--nano-layer-index-menubar, 10);position:relative;max-width:100%;min-width:100%;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:0.2s ease box-shadow;transition:0.2s ease box-shadow}[stuck] .bars{-webkit-box-shadow:0 1px 25px 0 rgba(0, 0, 0, 0.15);box-shadow:0 1px 25px 0 rgba(0, 0, 0, 0.15)}.bars::before{content:"";width:100%;height:100%;z-index:-1;background:var(--bar-background);position:absolute}.bars .search-widget{margin-left:11px;margin-right:auto;position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;max-width:45vw;min-width:269px;max-height:36px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.bars .search-widget{margin-left:unset;margin-right:unset;-webkit-margin-start:11px;margin-inline-start:11px;-webkit-margin-end:auto;margin-inline-end:auto}}.bars .search-inputs{display:-webkit-box;display:-ms-flexbox;display:flex;margin:0}.bars .search-inputs input[type=submit]{display:none}.bars .search-autocomplete{position:absolute;top:calc(100% - 2px);width:100%;left:0;background:white;border:2px solid var(--bar-color-tint);border-radius:0 0 5px 5px;color:#4a4a4a;font-size:0.85em;padding:calc(var(--padding) / 2) 0 1px 0;z-index:1}:host([dir=rtl]) .bars .search-autocomplete{left:auto;right:0}.bars .search-autocomplete-hit{padding:calc(var(--padding) / 4) var(--padding) calc(var(--padding) / 4) var(--padding);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;text-align:left;line-height:1.5;cursor:pointer}:host([dir=rtl]) .bars .search-autocomplete-hit{text-align:right}.bars .search-autocomplete-hit-scope{font-size:0.76em;color:#a7b0b3;font-weight:600}.bars .search-autocomplete-hit:hover,.bars .search-autocomplete-hit:focus{background-color:#e4e6e8}.bars .search-autocomplete-hit .search__highlight,.bars .search-autocomplete-hit em{font-weight:bold;font-style:normal}.bars .search-autocomplete-hit--no-result:hover,.bars .search-autocomplete-hit--no-result:focus{background:none !important}.bars .search-autocomplete-foot{margin:7px 0 0}.bars .search-autocomplete-submit{background:none;border:none;-ms-flex-item-align:normal;-ms-grid-row-align:normal;align-self:normal;padding:9px var(--padding);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#007495;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;width:100%;text-decoration:underline;border-top:1px solid #e8eaea}.bars .search-autocomplete-submit:hover,.bars .search-autocomplete-submit:focus{background-color:#e4e6e8}.bars .search-input{--input-border-style:solid 1px rgb(85, 140, 157);--input-border-style--focus:solid 1px var(--bar-color-focus, #90c6e7);--input-border-width:1px;font-size:0.9em}.bars nano-select.search-input{--input-bg-color:var(--bar-color-tint, rgb(88, 140, 161));--input-text-color:inherit;--input-border-radius:5px 0 0 5px;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:relative;left:1px}:host([dir=rtl]) .bars nano-select.search-input{--input-border-radius:0 5px 5px 0}:host(:not(.ready)) .bars nano-select.search-input{overflow:hidden;max-height:1em}.bars nano-select.search-input .down-arrow{font-size:0.65em}.bars nano-input.search-input{--input-text-color:inherit;--input-bg-color:var(--bar-color-shade, rgb(40, 110, 133));--clear-btn-color:#4a4a4a;--input-border-radius:0 5px 5px 0;--placeholder-color:white;width:206px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1}:host([dir=rtl]) .bars nano-input.search-input{--input-border-radius:5px 0 0 5px}:host(:not(.ready)) .bars nano-input.search-input{overflow:hidden;max-height:1em}.bars nano-input.search-input.has-value{--input-bg-color:#fff;--input-text-color:#4a4a4a}.bars nano-input.search-input.has-value .search-icon{color:#4a4a4a}.bars nano-input.search-input .search-icon{background:none;color:white;padding:0 8px;display:none}.bars nano-input.search-input .search-icon--show{display:-webkit-box;display:-ms-flexbox;display:flex}.bars nano-input.search-input .search-icon--loader{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.bars nano-input.search-input .search-icon nano-icon{height:1.4em}.main-bar{width:100%;padding-left:0;padding-right:var(--padding);padding-top:var(--padding);padding-bottom:var(--padding);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;overflow-x:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar{padding-left:unset;padding-right:unset;-webkit-padding-start:0;padding-inline-start:0;-webkit-padding-end:var(--padding);padding-inline-end:var(--padding)}}.main-bar:focus{outline:none}:host(.ready) .main-bar{overflow-x:visible}.main-bar>*,.main-bar ::slotted(*){-webkit-transition:opacity 0.2s ease;transition:opacity 0.2s ease}:host(:not(.ready)) .main-bar>*,:host(:not(.ready)) .main-bar ::slotted(*){opacity:0 !important}:host(.ready) .main-bar>*,:host(.ready) .main-bar ::slotted(*){opacity:1}:host(.resizing) .main-bar>*,:host(.resizing) .main-bar ::slotted(*){opacity:0 !important}.main-bar>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.main-bar>* ::slotted(nano-nav-item[slot=icon]){margin-left:11px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar>* ::slotted(nano-nav-item[slot=icon]){margin-left:unset;-webkit-margin-start:11px;margin-inline-start:11px;}}.main-bar>* ::slotted(nano-nav-item),.main-bar>* nano-nav-item{--color-hover:#e4e6e8;--secondary-bg-color:var(--menu-dropdown-bg);--secondary-color:var(--menu-dropdown-color);--bg-color-open:var(--bar-background);text-decoration:none !important}.main-bar .icon-btn{margin-left:6px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .icon-btn{margin-left:unset;-webkit-margin-start:6px;margin-inline-start:6px;}}:host(.threshold-2) .main-bar .icon-btn{margin-left:11px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.threshold-2) .main-bar .icon-btn{margin-left:unset;-webkit-margin-start:11px;margin-inline-start:11px;}}.main-bar .menu-btn.icon-btn{margin:0 !important}:host(:not([dir=rtl])) .main-bar .menu-btn.icon-btn{border-right:1.5px solid var(--bar-color-shade)}:host([dir=rtl]) .main-bar .menu-btn.icon-btn{border-left:1.5px solid var(--bar-color-shade)}.main-bar .user-links{position:relative}.main-bar .user-links .icon-btn{padding-right:0;font-size:0.93em;font-weight:500}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .user-links .icon-btn{padding-right:unset;-webkit-padding-end:0;padding-inline-end:0}}.main-bar .user-links .icon-btn nano-icon{margin-left:5px;width:16px;height:16px;-webkit-transform-origin:center;transform-origin:center;-webkit-transition:color 0.2s ease, -webkit-transform 0.2s ease;transition:color 0.2s ease, -webkit-transform 0.2s ease;transition:transform 0.2s ease, color 0.2s ease;transition:transform 0.2s ease, color 0.2s ease, -webkit-transform 0.2s ease}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .user-links .icon-btn nano-icon{margin-left:unset;-webkit-margin-start:5px;margin-inline-start:5px;}}.main-bar .user-links .icon-btn.open nano-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);color:#007495}.main-bar .user-links-panel{display:none;position:absolute;border-radius:4px 0 4px 4px;-webkit-box-shadow:0 1px 5px 0 rgba(0, 0, 0, 0.4);box-shadow:0 1px 5px 0 rgba(0, 0, 0, 0.4);background-color:#568c9d;opacity:0;-webkit-transform:translate3d(0, 24px, 0);transform:translate3d(0, 24px, 0);-webkit-transition:opacity 0.2s ease, -webkit-transform 0.2s ease;transition:opacity 0.2s ease, -webkit-transform 0.2s ease;transition:transform 0.2s ease, opacity 0.2s ease;transition:transform 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease;right:0;font-size:0.85em;min-width:250px;z-index:1}:host([dir=rtl]) .main-bar .user-links-panel{right:auto;left:0}.main-bar .user-links-panel:focus{outline:none}.main-bar .user-links-panel.show{opacity:1;-webkit-transform:translate3d(0, 4px, 0);transform:translate3d(0, 4px, 0)}.main-bar .user-links-panel-content{padding:0 18px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.main-bar .user-links-panel-content a{padding:11px 0;border-bottom:#669dac 1px solid}.main-bar .user-links-panel-content a:hover,.main-bar .user-links-panel-content a:focus{color:#455556}.main-bar .user-links-panel-content a:last-child{border-bottom:none}.main-bar .user-links-panel-foot{background-color:#aac5cd;border-radius:0 0 4px 4px;padding:var(--padding);color:#455556;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:500;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.main-bar .user-links-panel-foot a:hover{text-decoration:underline}.main-bar .logo{height:34px;width:auto;min-width:196px}:host(:not(.threshold-1)) .main-bar .logo{height:30px}.main-bar .logo-link{margin-left:0;margin-right:auto;padding-left:11px;padding-right:11px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .logo-link{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:auto;margin-inline-end:auto}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .logo-link{padding-left:unset;padding-right:unset;-webkit-padding-start:11px;padding-inline-start:11px;-webkit-padding-end:11px;padding-inline-end:11px}}.main-bar .nav-links{font-size:0.86em;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.main-bar .nav-links ul{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.main-bar .nav-links ::slotted(nano-nav-item),.main-bar .nav-links nano-nav-item{--padding-top:7px;--padding-bottom:7px;--padding-end:2px;--padding-start:2px;--margin:0 11px}.main-bar .nav-links--main{font-weight:bold;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.main-bar .nav-links--main ::slotted(nano-nav-item){--color:white;--padding-end:6px;--padding-start:6px}.main-bar .nav-links--sub{margin-left:6px;--color:#e2e2e2;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .nav-links--sub{margin-left:unset;-webkit-margin-start:6px;margin-inline-start:6px;}}.main-bar .login-btn{display:inline-block;border-radius:4px;background-color:#17bb75;color:#fff;padding:3px 10px;position:relative;left:auto;bottom:auto;margin-left:11px;margin-right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .login-btn{margin-left:unset;margin-right:unset;-webkit-margin-start:11px;margin-inline-start:11px;-webkit-margin-end:0;margin-inline-end:0}}.main-bar .measure-ele{min-width:1px;display:block;margin:0;padding:0}.search-bar{height:0;overflow:hidden;-webkit-transition:0.2s ease height;transition:0.2s ease height;padding:0 var(--padding);outline:none}.search-bar .search-widget{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;overflow:inherit;max-width:none;max-height:none;padding:0 0 var(--padding)}.search-bar .search-inputs{padding:0 0;margin:0 0}.search-bar .search-autocomplete{top:calc(100% - (var(--padding) + 1px))}.site-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition:min-height 0.2s ease;transition:min-height 0.2s ease;min-height:calc(100% - 61px);position:relative;z-index:auto;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.mask{opacity:0;background:rgba(0, 0, 0, 0.3);position:fixed;left:0;right:0;top:0;height:100vh;z-index:-1;-webkit-transition:opacity 0.2s ease, visibility 0.01s ease 0.2s, z-index 0.01s ease 0.2s, -webkit-transform 0.2s ease;transition:opacity 0.2s ease, visibility 0.01s ease 0.2s, z-index 0.01s ease 0.2s, -webkit-transform 0.2s ease;transition:transform 0.2s ease, opacity 0.2s ease, visibility 0.01s ease 0.2s, z-index 0.01s ease 0.2s;transition:transform 0.2s ease, opacity 0.2s ease, visibility 0.01s ease 0.2s, z-index 0.01s ease 0.2s, -webkit-transform 0.2s ease;visibility:hidden}.mask.open{opacity:1;-webkit-transition:z-index 0.01s ease, visibility 0.01s ease, opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, transform 0.2s ease 0.01s, opacity 0.2s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, transform 0.2s ease 0.01s, opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s;z-index:3;visibility:visible}';var THRESHOLDLIMIT=5;var GlobalNav=function(){function e(e){var t=this;registerInstance(this,e);this.nanoIsReady=createEvent(this,"nanoIsReady",7);this.nanoSearchResult=createEvent(this,"nanoSearchResult",7);this.nanoSearchError=createEvent(this,"nanoSearchError",7);this.nanoSearchReset=createEvent(this,"nanoSearchReset",7);this.currSize=0;this.thresholdsGoingUp=false;this.autocompleteEles=[];this.currAIndex=-1;this.isLoggedIn=false;this.myAccData=null;this.aboutNavItms=[];this.siteNavItms=[];this.loggedInNavItms=[];this.hasLoggedinSlot=false;this.hasSiteSlot=false;this.hasPromotionSlot=false;this.aboutSlotLen=0;this.iconSlotLen=0;this.mainSlotLen=0;this.overflowSlotLen=0;this.searchSlotLen=0;this.internalSearchIndeces=[];this.thresholdReady=false;this.remoteDataReady=false;this.ready=false;this.isResizing=false;this.threshold=THRESHOLDLIMIT;this.modalOpen=false;this.modalIsOpen=false;this.searchBarShown=false;this.scrollingUp=true;this.searchLoading=false;this.showAutocomplete=false;this.secondaryMenuOpen=false;this.userMenuOpen=false;this.menuFullScreen=false;this.searchValInternal="";this.env="prod";this.ssoRedirect=encodeURIComponent(window.location.href);this.getMyAccountData=true;this.activeMyAccountSections=null;this.showSearch=true;this.showLogo=true;this.logoUrl=location.protocol+"//"+location.host;this.searchIndeces=[];this.myAccountUser=null;this.searchValue="";this.searchIndex="all_prod_en";this.cartCount=0;this.msgCount=0;this.cartUrl=null;this.msgUrl=null;this.setResizingState=function(e){if(e===void 0){e=false}if(typeof t.debounceSetResizingState==="undefined"){t.debounceSetResizingState=debounce(t.setResizingState,600)}if(e){t.isResizing=true;t.debounceSetResizingState()}else{t.isResizing=false;t.thresholdsGoingUp=false}};this.onMenuBtnKeyDown=function(e){switch(e.key){case"Enter":case" ":t.modalOpen?t.menuClose(e,true):t.menuOpen();break}};this.onMenuBtnClick=function(e){t.menuClose(e,true)};this.menuOpen=function(e){if(e)e.preventDefault();t.menuDiv.style.display="block";t.modalOpen=true;t.modalIsOpen=true;t.menuWrapDiv.addEventListener("focusout",t.menuClose);t.menuWrapDiv.focus({preventScroll:true});if(t.threshold<2||t.menuWrapDiv.scrollHeight>window.innerHeight){document.body.style.overflow="hidden";t.menuFullScreen=true}else document.body.style.overflowX="hidden"};this.onMenuHidden=function(){t.menuDiv.removeEventListener("transitionend",t.onMenuHidden);t.menuWrapDiv.removeEventListener("focusout",t.menuClose);document.body.style.overflow="";t.menuDiv.style.display="none";t.modalIsOpen=false;t.menuFullScreen=false;setTimeout((function(){if(document.activeElement===document.body&&t.menuBtn)t.mainBarDiv.focus({preventScroll:true})}),50)};this.menuClose=function(e,n){if(n===void 0){n=false}if(!n){var a=e;if(a&&a.relatedTarget&&closestElement("#global-nav-menu",a.relatedTarget))return;if(a&&a.relatedTarget&&a.relatedTarget.closest("#global-nav-menu"))return;if(a&&a.relatedTarget&&a.relatedTarget.closest('[slot="promotion"]'))return;if(t.secondaryMenuOpen)return}t.modalOpen=false;t.menuDiv.addEventListener("transitionend",t.onMenuHidden)};this.subMenuClose=function(e){e.preventDefault();e.target.closest("nano-nav-item").open=false};this.onUserBtnClick=function(e){e.preventDefault();t.userMenuOpen=!t.userMenuOpen};this.onUserBtnKeyDown=function(e){switch(e.key){case"Enter":case" ":t.userMenuOpen=!t.userMenuOpen;break}};this.onUserMenuBlur=function(e){if(!e.relatedTarget){t.userMenuOpen=false;return}if(!!e.relatedTarget.closest(".user-links-panel"))return false;t.userMenuOpen=false};this.onSearchBtnClick=function(e){e.preventDefault();if(!t.searchBarShown)t.searchbarShow();else t.searchbarHide()};this.onSearchBtnKeyDown=function(e){switch(e.key){case"Enter":case" ":t.searchBarShown?t.searchbarHide():t.searchbarShow();break}};this.onSearchBarShown=function(){t.searchBarEl.removeEventListener("transitionend",t.onSearchBarShown);if(t.searchInput)t.searchInput.setFocus();t.searchBarEl.style.overflow="visible"};this.searchbarHide=function(e){if(e&&e.relatedTarget&&e.relatedTarget.closest("#global-nav-search-bar"))return;t.showAutocomplete=false;if(t.searchValInternal.length&&e)return;t.searchBarEl.addEventListener("transitionend",t.onSearchBarHidden);t.searchBarEl.style.overflow="hidden";t.searchBarEl.style.height="0px"};this.onSearchBarHidden=function(){t.searchBarEl.removeEventListener("transitionend",t.onSearchBarHidden);t.searchBarEl.style.display="none";t.searchBarShown=false};this.onSearchInput=function(e){t.searchValInternal=t.searchInput.value;if(!t.isSearchValSet()){t.searchLoading=false;return}if(e.detail.type==="input"){t.showAutocomplete=false;t.searchLoading=true}};this.onSearchChange=function(e){return __awaiter(t,void 0,void 0,(function(){var t,n,a,i;return __generator(this,(function(s){switch(s.label){case 0:this.searchValInternal=this.searchValue=e?e.detail.value:this.searchValInternal;this.showAutocomplete=false;this.autocompleteResults=null;if(!this.isSearchValSet()){if(!this.searchValInternal.length){this.nanoSearchReset.emit()}this.searchLoading=false;return[2]}if(!this.currentIndex)this.currentSelectedIndex();s.label=1;case 1:s.trys.push([1,3,,4]);t=this;n=this.processSearchResults;return[4,this.currentIndex.alogliaIndex.search(this.searchValInternal,{attributesToSnippet:["body:5","title:8"],hitsPerPage:5,filters:"created > "+Math.floor((Date.now()-631152e5)/1e3)})];case 2:t.autocompleteResults=n.apply(this,[s.sent()]);return[3,4];case 3:a=s.sent();console.error(a);return[3,4];case 4:this.scopeSearch=null;i=this;return[4,this.onSearchSubmit(null,false)];case 5:i.scopeSearch=s.sent();this.searchLoading=false;this.showAutocompleteResults();return[2]}}))}))};this.onSearchSubmit=function(e,n){if(n===void 0){n=true}return __awaiter(t,void 0,void 0,(function(){var t,a,i,s;var o=this;return __generator(this,(function(r){switch(r.label){case 0:if(e)e.preventDefault();if(!this.isSearchValSet())return[2];this.searchLoading=true;this.algoliaSearchResults=null;if(!this.currentIndex)this.currentSelectedIndex();t=this.internalSearchIndeces.map((function(e){return{indexName:e.index,query:o.searchValInternal,facets:e.filters,hitsPerPage:10,filters:"created > "+Math.floor((Date.now()-631152e5)/1e3)}}));r.label=1;case 1:r.trys.push([1,3,,4]);a=this;i=this.processSearchResults;return[4,this.algoliaClient.multipleQueries(t)];case 2:a.algoliaSearchResults=i.apply(this,[r.sent()]);return[3,4];case 3:s=r.sent();this.nanoSearchError.emit(s);return[3,4];case 4:this.searchLoading=false;if(!this.algoliaSearchResults)return[2];this.algoliaSearchResults.results.map((function(e,t){e.indexName=o.internalSearchIndeces[t].name;e.selected=o.currentIndex.name===o.internalSearchIndeces[t].name;e.domain=o.currentIndex.domain||null;e.domains=o.myAccData.domains||null;e.allGroup=!!o.internalSearchIndeces[t].allGroup;e.filters=o.internalSearchIndeces[t].filters}));if(n){this.nanoSearchResult.emit({results:this.algoliaSearchResults.results,client:{apiKey:this.searchApiKey,appId:this.searchAppId}});this.showAutocomplete=false}return[2,this.algoliaSearchResults]}}))}))};this.onSearchIndexChange=function(e){return __awaiter(t,void 0,void 0,(function(){var t,n,a;return __generator(this,(function(i){switch(i.label){case 0:t=e;n=e;if(!this.currentIndex)this.currentSelectedIndex();if(t.detail&&t.detail.value.length)n=t.detail.value;if(!n||!n.length)return[2];if(this.currentIndex.index===n)return[2];a=this.internalSearchIndeces.find((function(e){return e.index===n}));if(!a||!a.alogliaIndex)return[2];this.searchIndex=a.index;if(!this.isSearchValSet())return[3,2];return[4,this.onSearchChange()];case 1:i.sent();i.label=2;case 2:return[2]}}))}))};this.switchIndexSubmit=function(e){return __awaiter(t,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:if(!this.isSearchValSet())return[3,2];return[4,this.onSearchIndexChange(e)];case 1:t.sent();this.onSearchSubmit();return[3,3];case 2:this.onSearchIndexChange(e);t.label=3;case 3:return[2]}}))}))};this.onAutocompleteBlur=function(e){if(!t.showAutocomplete||!t.autocompleteResults)return;if(e&&e.target&&e.target.closest(".search-widget"))return;t.showAutocomplete=false};this.showAutocompleteResults=function(){if(!t.autocompleteResults||!t.autocompleteResults.hits)return;t.showAutocomplete=true};this.onAutocompleteInteract=function(e){if(!t.showAutocomplete||!t.autocompleteResults)return;var n=t.currAIndex;switch(e.key){case"Tab":setTimeout((function(){if(!t.el.shadowRoot.activeElement||!t.el.shadowRoot.activeElement.closest(".search-widget")){t.showAutocomplete=false;return}else{var e=t.autocompleteEles.find((function(e,n){if(e===t.el.shadowRoot.activeElement){t.currAIndex=n;return true}}));if(e)t.setActiveElement(e);else t.currAIndex=-1}}));break;case"ArrowDown":case"ArrowUp":if(e.key==="ArrowDown")n++;else if(e.key==="ArrowUp")n--;var a=t.autocompleteEles[n];if(a||n<0||n>t.autocompleteEles.length-1)e.preventDefault();if(a){t.setActiveElement(a);t.currAIndex=n}else if(n<0){t.searchInput.setFocus();t.currAIndex=-1}break;case"Enter":case" ":if(t.autocompleteEles[t.currAIndex]){t.autocompleteEles[t.currAIndex].click()}break}}}e.prototype.submitSearch=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){this.onSearchSubmit();this.showAutocomplete=false;return[2]}))}))};e.prototype.currentSelectedIndex=function(){var e=this;if(!this.internalSearchIndeces.length){return}var t=this.internalSearchIndeces.find((function(t){return t.index===e.searchIndex}));if(!t){this.currentIndex=this.internalSearchIndeces[0];console.error("index not found");return}this.currentIndex=t;return t};e.prototype.changeInternalSearchVal=function(){if(this.searchValInternal!==this.searchValue)this.searchValue=this.searchValInternal};e.prototype.initAlgoliaClient=function(){if(!this.searchAppId||!this.searchApiKey)return;this.algoliaClient=algoliasearch_umd(this.searchAppId,this.searchApiKey);this.addAlgoliaIndeces()};e.prototype.addIndeces=function(){this.internalSearchIndeces=__spreadArray(__spreadArray([],this.internalSearchIndeces),this.searchIndeces)};e.prototype.addAlgoliaIndeces=function(){var e=this;if(!this.algoliaClient||!this.internalSearchIndeces.length)return;this.internalSearchIndeces.forEach((function(t){t.alogliaIndex=e.algoliaClient.initIndex(t.index)}));if(!this.searchIndex)this.searchIndex=this.internalSearchIndeces[0].index};e.prototype.thresholdChange=function(e,t){if(e>t){this.thresholdsGoingUp=true;this.setResizingState(true)}};e.prototype.ratioChange=function(){var e=this;if(this.intersectRatio<1&&this.threshold>0){if(this.thresholdsGoingUp)this.setResizingState(true);this.threshold--;setTimeout((function(){return e.ratioChange()}),500)}else{this.thresholdReady=true;this.siteContent.style.minHeight="calc(100% - "+(this.barsDiv.clientHeight+1)+"px)";var t,n;readTask((function(){t=__spreadArray(__spreadArray([],Array.from(e.el.querySelectorAll('nano-nav-item[slot="site"]'))),Array.from(e.el.querySelectorAll('nano-nav-item[slot="overflow"]')));n=[];if(e.threshold<THRESHOLDLIMIT-4)t.push.apply(t,Array.from(e.el.querySelectorAll('nano-nav-item[slot="icon"]')));else n.push.apply(n,Array.from(e.el.querySelectorAll('nano-nav-item[slot="icon"]')));if(e.threshold<THRESHOLDLIMIT-3)t.push.apply(t,Array.from(e.el.querySelectorAll('nano-nav-item[slot="loggedin"]')));else n.push.apply(n,Array.from(e.el.querySelectorAll('nano-nav-item[slot="loggedin"]')));if(e.threshold<THRESHOLDLIMIT-2)t.push.apply(t,Array.from(e.el.querySelectorAll('nano-nav-item[slot="main"]')));else n.push.apply(n,Array.from(e.el.querySelectorAll('nano-nav-item[slot="main"]')));if(e.threshold<THRESHOLDLIMIT-1)t.push.apply(t,Array.from(e.el.querySelectorAll('nano-nav-item[slot="about"]')));else n.push.apply(n,Array.from(e.el.querySelectorAll('nano-nav-item[slot="about"]')))}));writeTask((function(){t.forEach((function(e){e.classList.add("nano-global-nav-menu");e.classList.remove("nano-global-nav-bar")}));n.forEach((function(e){e.classList.remove("nano-global-nav-menu");e.classList.add("nano-global-nav-bar")}))}))}};e.prototype.assessReady=function(){if(this.thresholdReady&&this.remoteDataReady){this.ready=true}};e.prototype.remoteReady=function(){this.attachIO()};e.prototype.isReady=function(){this.nanoIsReady.emit()};e.prototype.setupAutocompleteBlur=function(){if(this.showAutocomplete){this.el.shadowRoot.addEventListener("click",this.onAutocompleteBlur)}else{this.el.shadowRoot.removeEventListener("click",this.onAutocompleteBlur)}};e.prototype.slotChange=function(){this.threshold=THRESHOLDLIMIT};e.prototype.thresholdClasses=function(){var e=[];var t=0;for(t;t<this.threshold;t++)e.push("threshold-"+(t+1));return e};e.prototype.onWindowResize=function(){if(this.threshold<THRESHOLDLIMIT&&window.innerWidth>this.currSize){this.threshold=THRESHOLDLIMIT}this.currSize=window.innerWidth;this.searchBarShown=false};e.prototype.secondaryOpen=function(e){if(!e.detail.secondaryMenu)return;e.stopPropagation();this.secondaryMenuOpen=true;this.menuContentDiv.style.minHeight=e.detail.secondaryMenu.scrollHeight+"px"};e.prototype.secondaryClose=function(e){if(!e.detail.secondaryMenu)return;e.stopPropagation();this.secondaryMenuOpen=false;this.menuContentDiv.style.minHeight=""};e.prototype.handleUserMenu=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:return[4,displayTransition(this.userLinkPanel,"show",this.userMenuOpen)];case 1:e.sent();if(this.userMenuOpen){this.userLinkPanel.focus();this.userLinkPanel.addEventListener("focusout",this.onUserMenuBlur)}else{this.userLinkPanel.removeEventListener("focusout",this.onUserMenuBlur);this.el.focus()}return[2]}}))}))};e.prototype.searchbarShow=function(){var e=this;this.searchBarShown=true;this.searchBarEl.addEventListener("transitionend",this.onSearchBarShown);this.searchBarEl.style.display="block";setTimeout((function(){e.searchBarEl.style.height=e.searchBarEl.querySelector(".search-widget").scrollHeight+"px"}),50)};e.prototype.autocompleteSnippet=function(e){var t=["title"];if(e._snippetResult){var n=t.find((function(t){return e._snippetResult[t]&&e._snippetResult[t].matchLevel!=="none"}));if(n){if(n!=="title")return(e.title.length>15?e.title.substring(0,15)+" ...":e.title)+" "+e._snippetResult[n].value;else return e._snippetResult["title"].value}}return e.title};e.prototype.isSearchValSet=function(){if(this.searchValInternal.length<3)return false;return true};e.prototype.resetHitFocus=function(){this.currAIndex=-1};e.prototype.setActiveElement=function(e){this.autocompleteEles.map((function(e){return e.setAttribute("aria-selected","false")}));e.focus({preventScroll:true});e.setAttribute("aria-selected","true")};e.prototype.assessSlottedContent=function(){var e=this;readTask((function(){e.hasSiteSlot=!!e.el.querySelectorAll('[slot="site"]').length;e.hasLoggedinSlot=!!e.el.querySelectorAll('[slot="loggedin"]').length;e.hasPromotionSlot=!!e.el.querySelectorAll('[slot="promotion"]').length;e.aboutSlotLen=e.el.querySelectorAll('[slot="about"]').length;e.iconSlotLen=e.el.querySelectorAll('[slot="icon"]').length;e.mainSlotLen=e.el.querySelectorAll('[slot="main"]').length;e.overflowSlotLen=e.el.querySelectorAll('[slot="overflow"]').length;e.searchSlotLen=e.el.querySelectorAll('[slot="search"]').length}))};e.prototype.attachIO=function(){var e=this;if(this.io)return;var t=this.el.shadowRoot.querySelector(".global-nav .main-bar");if(typeof window!=="undefined"&&window.IntersectionObserver&&!!t){var n=this.io=new window.IntersectionObserver((function(t){e.intersectRatio=t.slice(-1)[0].intersectionRatio}),{root:t,threshold:1});n.observe(t.querySelector(".measure-ele"))}};e.prototype.componentDidLoad=function(){{this.debounceResize=debounce(this.onWindowResize.bind(this),300);window.addEventListener("resize",this.debounceResize);this.currSize=window.innerWidth}this.initAlgoliaClient();this.addAlgoliaIndeces();if(this.remoteDataReady)this.attachIO()};e.prototype.componentWillLoad=function(){var e=this;ComponentStore.init(this,["searchIndex","searchValue"],"url-hash","gns");if(typeof window!=="undefined"&&window.MutationObserver){var t=this.mo=new MutationObserver((function(){e.assessSlottedContent()}));t.observe(this.el,{childList:true,subtree:false})}this.assessSlottedContent()};e.prototype.disconnectedCallback=function(){if(this.io){this.io.disconnect();this.io=undefined}if(this.mo){this.mo.disconnect();this.mo=undefined}window.removeEventListener("resize",this.debounceResize)};e.prototype.connectedCallback=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){this.getMyAccData();return[2]}))}))};e.prototype.autocompleteList=function(){var e=this;var t;if(this.showAutocomplete&&this.scrollingUp){var n=0;var a=0;var i=function(t,n){return n.index!==e.currentIndex.index?t+n.hits.length:t};var s=function(t,n){return n.index===e.currentIndex.index?t+n.hits.length:t};if(this.scopeSearch){a=this.scopeSearch.results.reduce(i,0);n=this.scopeSearch.results.reduce(s,0)}if(this.autocompleteResults&&this.autocompleteResults.hits.length||a&&!n){var o=0;t=h("div",null,!n&&h("div",{class:"search-autocomplete-hit search-autocomplete-hit--no-result"},"No results matching '",this.searchValInternal,"' were found in"," ",h("strong",null,this.currentIndex.name),". Try another phrase."),this.autocompleteResults&&[this.autocompleteResults.hits.map((function(t,n){return h("a",{role:"option",ref:function(t){return e.autocompleteEles.push(t)},tabindex:"-1",id:"autocomplete-hit-"+n,href:t.url,class:"search-autocomplete-hit",innerHTML:e.autocompleteSnippet(t)})}))],(!n||this.currentIndex.allGroup)&&this.scopeSearch&&this.scopeSearch.results&&[this.scopeSearch.results.map((function(t,n){if(!t.hits.length||t.index===e.currentIndex.index||o>1)return;o++;return h("button",{role:"option",ref:function(t){return e.autocompleteEles.push(t)},tabindex:"-1",id:"autocomplete-scope-"+n,class:"search-autocomplete-hit",onClick:function(){return e.switchIndexSubmit(t.index)},onMouseDown:function(){return e.switchIndexSubmit(t.index)}},'"',e.searchValInternal,'"'," ",h("div",{class:"search-autocomplete-hit-scope"},"in ",t.indexName))}))],!!n&&h("div",{class:"search-autocomplete-foot"},h("button",{role:"option",class:"search-autocomplete-submit",ref:function(t){return e.autocompleteEles.push(t)},id:"autocomplete-foot",onClick:this.onSearchSubmit,onMouseDown:this.onSearchSubmit},"View all results")))}else if(!n){t=h("div",{class:"search-autocomplete-hit search-autocomplete-hit--no-result"},"No results matching '",this.searchValInternal,"' were found. Try another phrase.")}}return h("div",{class:"search-autocomplete",role:"listbox",id:"autocomplete-results","aria-expanded":this.showAutocomplete?"true":"false",hidden:!this.showAutocomplete,onKeyDown:this.onAutocompleteInteract},t)};e.prototype.searchWidget=function(){var e=this;return[h("form",{class:"search-inputs",onSubmit:this.onSearchSubmit,id:"global-nav-search"},h("nano-select",{class:"search-input",label:"Which area of content would you like to search?",hideLabel:true,showInlineError:false,value:this.searchIndex,onNanoChange:this.onSearchIndexChange,mask:true},this.internalSearchIndeces.map((function(t){return h("nano-option",{selected:t.index===e.searchIndex,value:t.index},t.name||t.index)})),h("nano-icon",{name:"solid/caret-down",class:"down-arrow",slot:"down-arrow"})),h("nano-input",{class:"search-input",label:"What would you like to search for?","aria-label":"What would you like to search for?",hideLabel:true,showInlineError:false,"clear-input":true,placeholder:"Search...",type:"text",ref:function(t){return e.searchInput=t},onNanoChange:this.onSearchChange,onNanoInput:this.onSearchInput,onKeyDown:this.onAutocompleteInteract,debounce:500,"aria-autocomplete":"list","aria-activedescendant":this.autocompleteEles[this.currAIndex]?this.autocompleteEles[this.currAIndex].id:false,"aria-controls":"autocomplete-results",onNanoFocus:this.showAutocompleteResults,value:this.searchValue,role:"textbox"},h("button",{class:{"search-icon":true,"search-icon--search":true,"search-icon--show":!this.searchValInternal.length},slot:"end",onMouseDown:function(t){e.searchValInternal=e.searchInput.value;e.onSearchSubmit(t,true)}},h("nano-icon",{name:"light/search"})),h("span",{class:{"search-icon":true,"search-icon--loader":true,"search-icon--show":this.searchLoading},slot:"end"},h("nano-icon",{name:"light/spinner-third"}))),h("input",{type:"submit"}))]};e.prototype.render=function(){var e;var t=this;this.autocompleteEles=[];var n=this.el.ownerDocument.dir==="rtl";var a=this.searchWidget();a.push(this.autocompleteList());return h(Host,{class:(e={},e[this.thresholdClasses().join(" ")]=true,e.ready=this.ready,e["search-bar-shown"]=this.searchBarShown&&this.scrollingUp,e["search-auto-complete-shown"]=this.showAutocomplete&&this.scrollingUp,e["modal-open"]=this.modalIsOpen,e.resizing=this.isResizing,e),dir:n?"rtl":null},h("div",{class:{"global-nav":true,"scrolling-down":!this.scrollingUp}},h("nav",{id:"global-nav-menu",class:{"gn-menu":true,open:this.modalOpen,"has-promotion":this.hasPromotionSlot,"menu-full-screen":this.menuFullScreen,"secondary-open":this.secondaryMenuOpen},"aria-expanded":this.modalOpen?"true":"false",ref:function(e){return t.menuDiv=e}},h("div",{class:"gn-menu_wrap",ref:function(e){return t.menuWrapDiv=e},tabindex:"-1"},h("div",{class:"gn-menu_actions"},h("button",{class:"menu-btn icon-btn icon-btn",onMouseDown:this.onMenuBtnClick,onKeyDown:this.onMenuBtnKeyDown},this.threshold<THRESHOLDLIMIT-3&&h("nano-icon",{name:"light/times","aria-label":"close menu"}),this.threshold>=THRESHOLDLIMIT-3&&h("nano-icon",{name:"light/bars","aria-label":"close menu"})),this.threshold<THRESHOLDLIMIT-4&&[!!this.iconSlotLen&&h("slot",{name:"icon"}),this.myAccData&&(!this.activeMyAccountSections||this.activeMyAccountSections.includes("icons"))&&[this.msgUrl&&h("a",{href:this.msgUrl,class:"icon-btn"},h("nano-icon",{name:"light/bell"}),this.msgCount>0&&h("span",{class:"gn-menu_actions-counter"},this.msgCount)),this.cartUrl&&h("a",{href:this.cartUrl,class:"icon-btn"},h("nano-icon",{name:"light/shopping-cart"}),this.cartCount>0&&h("span",{class:"gn-menu_actions-counter"},this.cartCount))]],this.myAccData&&this.myAccData.urls.login&&h("a",{href:this.myAccData.urls.login+this.ssoRedirect,class:"login-btn"},"Login / Register"," ",h("nano-icon",{name:"solid/chevron-right"}))),h("div",{class:"content-wrap",ref:function(e){return t.menuContentDiv=e}},h("div",{class:"content"},h("nav",{class:"nav-links nav-links--main"},h("slot",{name:"overflow"}),this.threshold<THRESHOLDLIMIT-2&&!!this.mainSlotLen&&h("slot",{name:"main"})),((!!this.aboutSlotLen||!!this.aboutNavItms.length)&&this.threshold<THRESHOLDLIMIT||this.hasSiteSlot||!!this.siteNavItms.length)&&h("div",null,(!!this.aboutSlotLen||!!this.aboutNavItms.length)&&this.threshold<THRESHOLDLIMIT&&[(this.threshold>=THRESHOLDLIMIT-2||this.mainSlotLen<2)&&this.overflowSlotLen<2&&h("div",{class:"nav-links-wrap"},!!this.aboutNavItms.length&&h("h4",{class:"nav-links_title"},"About"),h("nav",{class:"nav-links nav-links--sub","aria-label":"About the company links"},h("slot",{name:"about"}),this.aboutNavItms.map((function(e){return h("nano-nav-item",{class:"nano-global-nav nano-global-nav-menu"},h("a",{href:e.address,target:e.target},e.title))})))),(this.threshold<THRESHOLDLIMIT-2&&this.mainSlotLen>=2||this.overflowSlotLen>=2)&&h("nav",{class:"nav-links","aria-label":"About the company links"},!this.aboutNavItms.length&&h("slot",{name:"about"}),!!this.aboutNavItms.length&&h("nano-nav-item",{class:"nano-global-nav nano-global-nav-menu"},"Company",h("nano-icon",{slot:"icon-end",name:"solid/chevron-right"}),h("div",{slot:"secondary"},h("div",{class:"content"},h("button",{class:"back-btn",onClick:this.subMenuClose},h("nano-icon",{slot:"icon-end",name:"solid/chevron-left","aria-label":"go back"}),"Company"),h("slot",{name:"about"}),h("div",{class:"content--sub"},this.aboutNavItms.map((function(e){return h("nano-nav-item",{class:"nano-global-nav nano-global-nav-menu"},h("a",{href:e.address,target:e.target},e.title))})))))))],(this.hasSiteSlot||!!this.siteNavItms.length)&&[(this.threshold>=THRESHOLDLIMIT-2||this.mainSlotLen<2)&&this.overflowSlotLen<2&&h("div",{class:"nav-links-wrap"},h("h4",{class:"nav-links_title"},"Sites"),h("nav",{class:"nav-links nav-links--sub","aria-label":"Different company site links"},h("slot",{name:"site"}),this.siteNavItms.map((function(e){return h("nano-nav-item",{class:"nano-global-nav nano-global-nav-menu"},h("a",{href:e.address,target:e.target},e.title))})))),(this.threshold<THRESHOLDLIMIT-2&&this.mainSlotLen>=2||this.overflowSlotLen>=2)&&h("nav",{class:"nav-links","aria-label":"Different company site links"},h("nano-nav-item",{class:"nano-global-nav nano-global-nav-menu"},"Sites",h("nano-icon",{slot:"icon-end",name:"solid/chevron-right"}),h("div",{slot:"secondary"},h("div",{class:"content"},h("button",{class:"back-btn",onClick:this.subMenuClose},h("nano-icon",{slot:"icon-end",name:"solid/chevron-left","aria-label":"go back"}),"Sites"),h("div",{class:"content--sub"},h("slot",{name:"site"}),this.siteNavItms.map((function(e){return h("nano-nav-item",{class:"nano-global-nav nano-global-nav-menu"},h("a",{href:e.address,target:e.target},e.title))})))))))])),this.isLoggedIn&&this.threshold<THRESHOLDLIMIT-3&&(this.loggedInNavItms.length||this.hasLoggedinSlot)&&h("nav",{class:"nav-links","aria-label":"Your user account links"},h("nano-nav-item",{class:"nano-global-nav user-nav nano-global-nav-menu"},this.myAccountUser.name,h("nano-icon",{slot:"icon-end",name:"solid/chevron-right"}),h("div",{slot:"secondary"},h("div",{class:"content"},h("button",{class:"back-btn",onClick:this.subMenuClose},h("nano-icon",{slot:"icon-end",name:"solid/chevron-left","aria-label":"go back"}),this.myAccountUser.name),h("div",{class:"content--sub"},h("slot",{name:"loggedin"}),this.loggedInNavItms.map((function(e){return h("nano-nav-item",{class:"nano-global-nav nano-global-nav-menu"},h("a",{href:e.address,target:e.target},e.title))})),h("nano-nav-item",{class:"nano-global-nav nano-global-nav-menu"},h("a",{href:this.myAccData.urls.forgot_password+this.ssoRedirect},"Change Password"))))))),h("slot",{name:"promotion"}),this.myAccData&&this.myAccData.urls.logout&&h("div",{class:"login-btn logout-btn"},h("a",{href:this.myAccData.urls.logout+this.ssoRedirect},"Logout"))))),h("nano-sticker",{"auto-resize":"false","break-point-max":"800",quietMode:{h:600,w:800}},h("div",{class:"bars",ref:function(e){return t.barsDiv=e}},h("nav",{class:"main-bar","aria-label":"Main site navigation",tabindex:"-1",ref:function(e){return t.mainBarDiv=e}},(this.hasPromotionSlot||!!this.overflowSlotLen||(this.myAccData||!!this.iconSlotLen)&&this.threshold<THRESHOLDLIMIT-4||this.isLoggedIn&&(!!this.loggedInNavItms.length||this.hasLoggedinSlot)&&this.threshold<THRESHOLDLIMIT-3||!!this.mainSlotLen&&this.threshold<THRESHOLDLIMIT-2||(!!this.aboutSlotLen||!!this.aboutNavItms.length)&&this.threshold<THRESHOLDLIMIT||this.hasSiteSlot||!!this.siteNavItms.length)&&h("button",{class:"menu-btn icon-btn",onMouseDown:this.menuOpen,onKeyDown:this.onMenuBtnKeyDown,"aria-expanded":this.modalOpen?"true":"false","aria-controls":"global-nav-menu",ref:function(e){return t.menuBtn=e}},h("nano-icon",{name:"light/bars","aria-label":"open menu"})),this.showLogo&&h("a",{href:this.logoUrl,class:"logo-link"},h("img",{src:getAssetPath("./assets/ont-logo.svg"),alt:"Oxford Nanopore Technologies Logo",class:"logo"})),!this.showLogo&&h("div",{class:"logo-link"},h("slot",{name:"logo"})),h("div",{class:"nav-links nav-links--main"},h("slot",{name:"main"})),this.threshold>=THRESHOLDLIMIT-1&&[this.showSearch&&!!this.internalSearchIndeces.length&&h("div",{class:"search-widget",role:"combobox","aria-owns":"autocomplete-results","aria-expanded":this.showAutocomplete&&this.autocompleteResults?"true":"false"},a),(!this.showSearch||!this.myAccData)&&!!this.searchSlotLen&&h("slot",{name:"search"})],(this.threshold>=THRESHOLDLIMIT-1||!this.showSearch||!this.internalSearchIndeces.length)&&h("nav",{class:"nav-links nav-links--sub","aria-label":"About the company links"},(!!this.aboutSlotLen||!!this.aboutNavItms.length)&&this.threshold===THRESHOLDLIMIT&&[h("slot",{name:"about"}),this.aboutNavItms.map((function(e){return h("nano-nav-item",{class:"nano-global-nav nano-global-nav-bar"},h("a",{href:e.address,target:e.target},e.title))}))]),this.threshold<THRESHOLDLIMIT-1&&(this.showSearch&&!!this.internalSearchIndeces.length||!!this.searchSlotLen)&&h("button",{class:"icon-btn","aria-controls":"global-nav-search-bar","aria-expanded":this.searchBarShown?"true":"false",onMouseDown:this.onSearchBtnClick,onKeyDown:this.onSearchBtnKeyDown},h("nano-icon",{name:"light/search"})),this.threshold>=THRESHOLDLIMIT-4&&[!!this.iconSlotLen&&h("slot",{name:"icon"}),this.myAccData&&(!this.activeMyAccountSections||this.activeMyAccountSections.includes("icons"))&&[this.msgUrl&&h("a",{href:this.msgUrl,class:"icon-btn"},h("nano-icon",{name:"light/bell"}),this.msgCount>0&&h("span",{class:"gn-menu_actions-counter"},this.msgCount)),this.cartUrl&&h("a",{href:this.cartUrl,class:"icon-btn"},h("nano-icon",{name:"light/shopping-cart"}),this.cartCount>0&&h("span",{class:"gn-menu_actions-counter"},this.cartCount))]],this.myAccData&&this.threshold>=THRESHOLDLIMIT-3&&[this.myAccData.urls.login&&h("a",{href:this.myAccData.urls.login+this.ssoRedirect,class:"login-btn"},"Login / Register"),this.myAccountUser&&h("div",{class:"user-links"},h("button",{class:{"icon-btn":true,"user-links-btn":true,open:this.userMenuOpen},onMouseDown:this.onUserBtnClick,onKeyDown:this.onUserBtnKeyDown}," ",this.myAccountUser.name,h("nano-icon",{name:"solid/caret-down"})),h("div",{class:"user-links-panel",tabindex:"-1",ref:function(e){return t.userLinkPanel=e}},h("div",{class:"user-links-panel-content"},this.loggedInNavItms.map((function(e){return h("a",{href:e.address,target:e.target},e.title)}))),h("div",{class:"user-links-panel-foot"},h("a",{href:this.myAccData.urls.forgot_password+this.ssoRedirect},"Change Password"),h("a",{href:this.myAccData.urls.logout+this.ssoRedirect},"Logout"))))],h("span",{class:"measure-ele"})),this.threshold<THRESHOLDLIMIT-1&&h("div",{id:"global-nav-search-bar",class:{"search-bar":true,show:this.searchBarShown},"aria-expanded":this.searchBarShown?"true":"false",role:"region",tabindex:"-1",ref:function(e){return t.searchBarEl=e}},h("div",{class:"search-widget"},this.showSearch&&!!this.internalSearchIndeces.length&&h("div",null,a),(!this.showSearch||!this.myAccData)&&!!this.searchSlotLen&&h("slot",{name:"search"}))))),(this.threshold<THRESHOLDLIMIT-3||this.menuFullScreen)&&h("div",{class:{mask:true,open:this.modalOpen},onClick:this.menuClose,onTouchEnd:this.menuClose})),h("div",{class:"site-content",ref:function(e){return t.siteContent=e}},h("slot",null)))};e.prototype.domainFor=function(e){if(!this.myAccData)return"";var t=this.myAccData.domains.find((function(t){return t.origin===e}));return t?t.domain:""};e.prototype.processSearchResults=function(e){var t=this;var n=e;var a=e;if(n.results){n.results.forEach((function(e,a){n.results[a]=t.processSearchResults(e)}));return n}else{a.hits.map((function(e){if(e.url&&!e.url.match(/^http/))e.url=location.protocol+"//"+t.domainFor(e.origin)+e.url}));return a}};e.prototype.getMyAccData=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,n,a,i;var s=this;return __generator(this,(function(o){switch(o.label){case 0:if(!this.getMyAccountData||this.myAccData){this.remoteDataReady=true;return[2]}switch(this.env){case"dev":e="https://myaccount-dev.nanoporetech.com/";break;case"test":e="https://myaccount-test.nanoporetech.com/";break;default:e="https://myaccount.nanoporetech.com/";break}t={timeout:5e3};o.label=1;case 1:o.trys.push([1,6,,7]);if(!(this.env==="local"))return[3,3];n=this;return[4,import("./local-my-account-aed156bf.js")];case 2:n.myAccData=o.sent();return[3,5];case 3:a=this;return[4,clientFetch(e+"nav_bar_data.json",t)];case 4:a.myAccData=o.sent();o.label=5;case 5:if(this.myAccData.user.id){this.isLoggedIn=true;this.myAccountUser=this.myAccData.user}this.processMyAccLinks();this.processMyAccData();setTimeout((function(){return s.remoteDataReady=true}),300);return[3,7];case 6:i=o.sent();console.error(i);this.remoteDataReady=true;return[3,7];case 7:return[2]}}))}))};e.prototype.processMyAccData=function(){if(!this.myAccData||!this.myAccData.search.indeces.length)return;if(this.myAccData.search.api_key)this.searchApiKey=this.myAccData.search.api_key;if(this.myAccData.search.app_id)this.searchAppId=this.myAccData.search.app_id;if(this.myAccData.cart.count)this.cartCount=this.myAccData.cart.count;if(this.myAccData.notifications.count)this.msgCount=this.myAccData.notifications.count;if(!this.searchAppId||!this.searchApiKey)return;this.internalSearchIndeces=__spreadArray(__spreadArray([],this.myAccData.search.indeces),this.searchIndeces);if(this.myAccData.urls.cart&&!this.cartUrl)this.cartUrl=this.myAccData.urls.cart;if(this.myAccData.urls.messages&&!this.msgUrl)this.msgUrl=this.myAccData.urls.messages};e.prototype.processMyAccLinks=function(){var e=this;if(!this.myAccData.links||!this.myAccData.links.length)return;this.myAccData.links.forEach((function(t){switch(t.area){case"left-side-logged-in":case"left-side-logged-out":if(e.activeMyAccountSections&&!e.activeMyAccountSections.includes("sites"))break;if(e.isLoggedIn&&t.area==="left-side-logged-in")e.siteNavItms.push(t);else if(!e.isLoggedIn&&t.area==="left-side-logged-out")e.siteNavItms.push(t);break;case"right-side-logged-in":case"right-side-logged-out":if(e.activeMyAccountSections&&!e.activeMyAccountSections.includes("about"))break;if(e.isLoggedIn&&t.area==="right-side-logged-in")e.aboutNavItms.push(t);else if(!e.isLoggedIn&&t.area==="right-side-logged-out")e.aboutNavItms.push(t);break;case"profile-panel-list":if(e.activeMyAccountSections&&!e.activeMyAccountSections.includes("loggedin"))break;e.loggedInNavItms.push(t);break}}))};Object.defineProperty(e,"assetsDirs",{get:function(){return["assets"]},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{searchIndex:["currentSelectedIndex"],searchValInternal:["changeInternalSearchVal"],searchApiKey:["initAlgoliaClient"],searchAppId:["initAlgoliaClient"],searchIndeces:["addIndeces"],internalSearchIndeces:["addAlgoliaIndeces"],threshold:["thresholdChange"],intersectRatio:["ratioChange"],thresholdReady:["assessReady"],remoteDataReady:["assessReady","remoteReady"],ready:["isReady"],showAutocomplete:["setupAutocompleteBlur","resetHitFocus"],aboutSlotLen:["slotChange"],iconSlotLen:["slotChange"],mainSlotLen:["slotChange"],overflowSlotLen:["slotChange"],searchSlotLen:["slotChange"],userMenuOpen:["handleUserMenu"]}},enumerable:false,configurable:true});return e}();GlobalNav.style=globalNavCss;export{GlobalNav as nano_global_nav};
4
+ */import{r as registerInstance,c as createEvent,i as readTask,f as writeTask,h,k as getAssetPath,e as Host,g as getElement}from"./index-5f8d16e7.js";import{a as algoliasearch_umd}from"./algoliasearch.umd-6143495f.js";import{d as displayTransition}from"./index-bf53664b.js";import{C as ComponentStore}from"./component-store-b6fbfa35.js";import{d as debounce}from"./throttle-d3d933cd.js";import{c as closestElement}from"./dom-faa69d29.js";import"./_commonjsHelpers-e401b2a2.js";var __rest=undefined&&undefined.__rest||function(e,t){var n={};for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0)n[a]=e[a];if(e!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,a=Object.getOwnPropertySymbols(e);i<a.length;i++){if(t.indexOf(a[i])<0&&Object.prototype.propertyIsEnumerable.call(e,a[i]))n[a[i]]=e[a[i]]}return n};function clientFetch(e,t){if(t===void 0){t={}}return __awaiter(this,void 0,void 0,(function(){var n,a,i,s,o,r,l,c,h,u;return __generator(this,(function(d){switch(d.label){case 0:n=t.body,a=__rest(t,["body"]);i={Accept:"application/json, text/plain, */*","Access-Control-Allow-Origin":"*","Content-Type":"application/json",Cache:"no-cache"};s=Object.assign(Object.assign({method:n?"POST":"GET",credentials:"include",keepalive:true,mode:"cors"},a),{headers:Object.assign(Object.assign({},i),a.headers)});if(n){s.body=JSON.stringify(n)}o=setTimeout((function(){}),0);if(window.AbortController){r=new AbortController;l=a.timeout,c=l===void 0?500:l;o=setTimeout((function(){return r.abort()}),c);s.signal=r.signal}return[4,fetch(e,s)];case 1:h=d.sent();clearTimeout(o);if(!h.ok)return[3,3];return[4,h.json()];case 2:return[2,d.sent()];case 3:return[4,h.text()];case 4:u=d.sent();return[2,new Error(u)]}}))}))}var globalNavCss=':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{--padding:12px;--padding-top:var(--padding);--padding-end:var(--padding);--padding-bottom:var(--padding);--padding-start:var(--padding);--bar-background:#005c75;--bar-text-color:white;--bar-color-shade:rgb(19, 89, 111);--bar-color-tint:rgb(19, 89, 111);--bar-color-focus:#90c6e7;--menu-background:#001a21;--menu-text-color:white;--menu-dropdown-bg:#196c82;--menu-dropdown-color:white;display:block;position:relative;line-height:1.5;height:100%}:host *{-webkit-box-sizing:inherit;box-sizing:inherit}.global-nav{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;font-size:0.88em;z-index:var(--nano-layer-index-menubar, 10)}.global-nav button{background:none;color:inherit;border:none;padding:0}.global-nav .icon-btn{position:relative;background:none;color:inherit;border:none;-ms-flex-item-align:normal;-ms-grid-row-align:normal;align-self:normal;padding:9px 7px;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.global-nav .icon-btn nano-icon{width:18px;height:18px}.global-nav ::slotted(nano-nav-item[slot=icon]){--padding-top:9px;--padding-bottom:9px;--padding-start:7px;--padding-end:7px;--display:flex;font-size:18px}.global-nav a{color:inherit;text-decoration:none;white-space:nowrap}.global-nav .nav-links_title{margin:8px 0 3px}.global-nav .nav-links ul{margin:0;padding:0}.global-nav .nav-links li{list-style:none}.global-nav .login-btn{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:0.94em}.global-nav .menu-btn{padding:9px var(--padding) 9px var(--padding)}.gn-menu{position:fixed;top:0;left:0;z-index:-1;display:none;-webkit-transition:z-index 0.01s ease 0.2s;transition:z-index 0.01s ease 0.2s;height:100vh;width:100vw;overflow-y:auto}:host([dir=rtl]) .gn-menu{left:auto;right:0}:host(.threshold-2) .gn-menu{position:absolute;width:calc(100vw - 20px)}.gn-menu.menu-full-screen{width:100vw !important}.gn-menu_wrap{max-width:92vw;width:335px;background:var(--menu-background);color:var(--menu-text-color);padding:var(--padding) 0;-webkit-box-shadow:0 0 36px 0 rgba(0, 0, 0, 0.8);box-shadow:0 0 36px 0 rgba(0, 0, 0, 0.8);position:relative;pointer-events:all;margin-bottom:36px;opacity:0;outline:none;-webkit-transition:opacity 0.2s ease, -webkit-transform 0.2s ease;transition:opacity 0.2s ease, -webkit-transform 0.2s ease;transition:transform 0.2s ease, opacity 0.2s ease;transition:transform 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease}.gn-menu_wrap.has-promotion{padding:var(--padding) 0 0}.gn-menu.open{z-index:var(--nano-layer-index-dropdown, 300);-webkit-transition:z-index 0.01s ease;transition:z-index 0.01s ease}.gn-menu.open .gn-menu_wrap{opacity:1;-webkit-transform:translate3d(0, 0, 0) !important;transform:translate3d(0, 0, 0) !important;-webkit-transition:opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s;transition:opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s;transition:transform 0.2s ease 0.01s, opacity 0.2s ease 0.01s;transition:transform 0.2s ease 0.01s, opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s}.gn-menu_actions{padding-right:calc(var(--padding) / 2);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.gn-menu_actions{padding-right:unset;-webkit-padding-end:calc(var(--padding) / 2);padding-inline-end:calc(var(--padding) / 2)}}.gn-menu_actions-counter{background:#d0021b;color:#fff;position:absolute;bottom:4px;right:0;left:auto;font-size:9px;height:14px;line-height:14px;width:auto;min-width:14px;border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;text-indent:0}.gn-menu .content-wrap{position:relative;overflow:hidden;-webkit-transition:0.2s ease min-height;transition:0.2s ease min-height;min-height:190px}.gn-menu .content--sub{padding:var(--padding) 0 var(--padding) 7px}.gn-menu .menu-btn{margin-right:auto}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.gn-menu .menu-btn{margin-right:unset;-webkit-margin-end:auto;margin-inline-end:auto}}.gn-menu .nav-links{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.gn-menu .nav-links ::slotted(nano-nav-item),.gn-menu .nav-links nano-nav-item{--icon-size:14px;--display:inline-block;--secondary-bg-color:#001a21;--padding-top:10px;--padding-bottom:10px;--padding-end:calc(var(--padding) * 2);--padding-start:calc(var(--padding) + 3px);--color:white;--color-hover:#90c6e7;--bg-color-hover:transparent;--bg-color-focus:#002530;--focus-outline:none;font-size:0.99em;width:100%}.gn-menu .nav-links .user-nav{--bg-color:#193037;--padding-top:9px;--padding-bottom:9px;font-weight:bold;margin:5px 0 0}.gn-menu .nav-links .user-nav ::slotted(nano-nav-item),.gn-menu .nav-links .user-nav nano-nav-item{font-weight:500;--bg-color:transparent}.gn-menu .nav-links_title{margin:0 var(--padding) 4px;border-bottom:1px solid #33484d;padding-bottom:8px;font-size:0.86em;text-transform:uppercase;color:#90c6e7;letter-spacing:1px;font-weight:700}.gn-menu .nav-links-wrap{margin:18px 0}.gn-menu .nav-links-wrap:last-child{margin-bottom:0}.gn-menu .nav-links .back-btn{border-top:1px solid #33484d;border-bottom:1px solid #33484d;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:10px 11px 10px 0;width:100%;font-size:12px;text-transform:uppercase;color:#90c6e7;letter-spacing:1px;font-weight:700}.gn-menu .nav-links .back-btn nano-icon{margin-right:10px;font-size:12px;color:white}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.gn-menu .nav-links .back-btn nano-icon{margin-right:unset;-webkit-margin-end:10px;margin-inline-end:10px}}.gn-menu .nav-links--sub{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.gn-menu .nav-links--sub ::slotted(nano-nav-item),.gn-menu .nav-links--sub nano-nav-item{--border-bottom:none;--padding-end:var(--padding);--padding-start:var(--padding);--padding-top:8px;--padding-bottom:8px;margin:0;width:50%;line-height:1.8}.gn-menu .nav-links .content{padding:8px var(--padding)}.gn-menu .login-btn{padding-left:7px;padding-right:var(--padding);padding-top:9px;padding-bottom:9px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.gn-menu .login-btn{padding-left:unset;padding-right:unset;-webkit-padding-start:7px;padding-inline-start:7px;-webkit-padding-end:var(--padding);padding-inline-end:var(--padding)}}.gn-menu .login-btn nano-icon{margin-left:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.gn-menu .login-btn nano-icon{margin-left:unset;-webkit-margin-start:10px;margin-inline-start:10px;}}.gn-menu .logout-btn{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.gn-menu .logout-btn a{padding:0 5px}.sticker-trigger{background:var(--bar-background);width:100%;z-index:calc(var(--nano-layer-index-menubar, 10) + 1)}.bars{color:var(--bar-text-color);z-index:var(--nano-layer-index-menubar, 10);position:relative;max-width:100%;min-width:100%;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:0.2s ease box-shadow;transition:0.2s ease box-shadow}[stuck] .bars{-webkit-box-shadow:0 1px 25px 0 rgba(0, 0, 0, 0.15);box-shadow:0 1px 25px 0 rgba(0, 0, 0, 0.15)}.bars::before{content:"";width:100%;height:100%;z-index:-1;background:var(--bar-background);position:absolute}.bars .search-widget{margin-left:11px;margin-right:auto;position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;max-width:45vw;min-width:269px;max-height:36px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.bars .search-widget{margin-left:unset;margin-right:unset;-webkit-margin-start:11px;margin-inline-start:11px;-webkit-margin-end:auto;margin-inline-end:auto}}.bars .search-inputs{display:-webkit-box;display:-ms-flexbox;display:flex;margin:0}.bars .search-inputs input[type=submit]{display:none}.bars .search-autocomplete{position:absolute;top:calc(100% - 2px);width:100%;left:0;background:white;border:2px solid var(--bar-color-tint);border-radius:0 0 5px 5px;color:#4a4a4a;font-size:0.85em;padding:calc(var(--padding) / 2) 0 1px 0;z-index:1}:host([dir=rtl]) .bars .search-autocomplete{left:auto;right:0}.bars .search-autocomplete-hit{padding:calc(var(--padding) / 4) var(--padding) calc(var(--padding) / 4) var(--padding);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;text-align:left;line-height:1.5;cursor:pointer}:host([dir=rtl]) .bars .search-autocomplete-hit{text-align:right}.bars .search-autocomplete-hit-scope{font-size:0.76em;color:#a7b0b3;font-weight:600}.bars .search-autocomplete-hit:hover,.bars .search-autocomplete-hit:focus{background-color:#e4e6e8}.bars .search-autocomplete-hit .search__highlight,.bars .search-autocomplete-hit em{font-weight:bold;font-style:normal}.bars .search-autocomplete-hit--no-result:hover,.bars .search-autocomplete-hit--no-result:focus{background:none !important}.bars .search-autocomplete-foot{margin:7px 0 0}.bars .search-autocomplete-submit{background:none;border:none;-ms-flex-item-align:normal;-ms-grid-row-align:normal;align-self:normal;padding:9px var(--padding);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#007495;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;width:100%;text-decoration:underline;border-top:1px solid #e8eaea}.bars .search-autocomplete-submit:hover,.bars .search-autocomplete-submit:focus{background-color:#e4e6e8}.bars .search-input{--input-border-style:solid 1px rgb(85, 140, 157);--input-border-style--focus:solid 1px var(--bar-color-focus, #90c6e7);--input-border-width:1px;font-size:0.9em}.bars nano-select.search-input{--input-bg-color:var(--bar-color-tint, rgb(88, 140, 161));--input-text-color:inherit;--input-border-radius:5px 0 0 5px;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:relative;left:1px}:host([dir=rtl]) .bars nano-select.search-input{--input-border-radius:0 5px 5px 0}:host(:not(.ready)) .bars nano-select.search-input{overflow:hidden;max-height:1em}.bars nano-select.search-input .down-arrow{font-size:0.65em}.bars nano-input.search-input{--input-text-color:inherit;--input-bg-color:var(--bar-color-shade, rgb(40, 110, 133));--clear-btn-color:#4a4a4a;--input-border-radius:0 5px 5px 0;--placeholder-color:white;width:206px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1}:host([dir=rtl]) .bars nano-input.search-input{--input-border-radius:5px 0 0 5px}:host(:not(.ready)) .bars nano-input.search-input{overflow:hidden;max-height:1em}.bars nano-input.search-input.has-value{--input-bg-color:#fff;--input-text-color:#4a4a4a}.bars nano-input.search-input.has-value .search-icon{color:#4a4a4a}.bars nano-input.search-input .search-icon{background:none;color:white;padding:0 8px;display:none}.bars nano-input.search-input .search-icon--show{display:-webkit-box;display:-ms-flexbox;display:flex}.bars nano-input.search-input .search-icon--loader{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.bars nano-input.search-input .search-icon nano-icon{height:1.4em}.main-bar{width:100%;padding-left:0;padding-right:var(--padding);padding-top:var(--padding);padding-bottom:var(--padding);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;overflow-x:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar{padding-left:unset;padding-right:unset;-webkit-padding-start:0;padding-inline-start:0;-webkit-padding-end:var(--padding);padding-inline-end:var(--padding)}}.main-bar:focus{outline:none}:host(.ready) .main-bar{overflow-x:visible}.main-bar>*,.main-bar ::slotted(*){-webkit-transition:opacity 0.2s ease;transition:opacity 0.2s ease}:host(:not(.ready)) .main-bar>*,:host(:not(.ready)) .main-bar ::slotted(*){opacity:0 !important}:host(.ready) .main-bar>*,:host(.ready) .main-bar ::slotted(*){opacity:1}:host(.resizing) .main-bar>*,:host(.resizing) .main-bar ::slotted(*){opacity:0 !important}.main-bar>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.main-bar>* ::slotted(nano-nav-item[slot=icon]){margin-left:11px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar>* ::slotted(nano-nav-item[slot=icon]){margin-left:unset;-webkit-margin-start:11px;margin-inline-start:11px;}}.main-bar>* ::slotted(nano-nav-item),.main-bar>* nano-nav-item{--color-hover:#e4e6e8;--secondary-bg-color:var(--menu-dropdown-bg);--secondary-color:var(--menu-dropdown-color);--bg-color-open:var(--bar-background);text-decoration:none !important}.main-bar .icon-btn{margin-left:6px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .icon-btn{margin-left:unset;-webkit-margin-start:6px;margin-inline-start:6px;}}:host(.threshold-2) .main-bar .icon-btn{margin-left:11px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.threshold-2) .main-bar .icon-btn{margin-left:unset;-webkit-margin-start:11px;margin-inline-start:11px;}}.main-bar .menu-btn.icon-btn{margin:0 !important}:host(:not([dir=rtl])) .main-bar .menu-btn.icon-btn{border-right:1.5px solid var(--bar-color-shade)}:host([dir=rtl]) .main-bar .menu-btn.icon-btn{border-left:1.5px solid var(--bar-color-shade)}.main-bar .user-links{position:relative}.main-bar .user-links .icon-btn{padding-right:0;font-size:0.93em;font-weight:500}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .user-links .icon-btn{padding-right:unset;-webkit-padding-end:0;padding-inline-end:0}}.main-bar .user-links .icon-btn nano-icon{margin-left:5px;width:16px;height:16px;-webkit-transform-origin:center;transform-origin:center;-webkit-transition:color 0.2s ease, -webkit-transform 0.2s ease;transition:color 0.2s ease, -webkit-transform 0.2s ease;transition:transform 0.2s ease, color 0.2s ease;transition:transform 0.2s ease, color 0.2s ease, -webkit-transform 0.2s ease}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .user-links .icon-btn nano-icon{margin-left:unset;-webkit-margin-start:5px;margin-inline-start:5px;}}.main-bar .user-links .icon-btn.open nano-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);color:#007495}.main-bar .user-links-panel{display:none;position:absolute;border-radius:4px 0 4px 4px;-webkit-box-shadow:0 1px 5px 0 rgba(0, 0, 0, 0.4);box-shadow:0 1px 5px 0 rgba(0, 0, 0, 0.4);background-color:#568c9d;opacity:0;-webkit-transform:translate3d(0, 24px, 0);transform:translate3d(0, 24px, 0);-webkit-transition:opacity 0.2s ease, -webkit-transform 0.2s ease;transition:opacity 0.2s ease, -webkit-transform 0.2s ease;transition:transform 0.2s ease, opacity 0.2s ease;transition:transform 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease;right:0;font-size:0.85em;min-width:250px;z-index:1}:host([dir=rtl]) .main-bar .user-links-panel{right:auto;left:0}.main-bar .user-links-panel:focus{outline:none}.main-bar .user-links-panel.show{opacity:1;-webkit-transform:translate3d(0, 4px, 0);transform:translate3d(0, 4px, 0)}.main-bar .user-links-panel-content{padding:0 18px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.main-bar .user-links-panel-content a{padding:11px 0;border-bottom:#669dac 1px solid}.main-bar .user-links-panel-content a:hover,.main-bar .user-links-panel-content a:focus{color:#455556}.main-bar .user-links-panel-content a:last-child{border-bottom:none}.main-bar .user-links-panel-foot{background-color:#aac5cd;border-radius:0 0 4px 4px;padding:var(--padding);color:#455556;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:500;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.main-bar .user-links-panel-foot a:hover{text-decoration:underline}.main-bar .logo{height:34px;width:auto;min-width:196px}:host(:not(.threshold-1)) .main-bar .logo{height:30px}.main-bar .logo-link{margin-left:0;margin-right:auto;padding-left:11px;padding-right:11px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .logo-link{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:auto;margin-inline-end:auto}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .logo-link{padding-left:unset;padding-right:unset;-webkit-padding-start:11px;padding-inline-start:11px;-webkit-padding-end:11px;padding-inline-end:11px}}.main-bar .nav-links{font-size:0.75rem;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.main-bar .nav-links ul{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.main-bar .nav-links ::slotted(nano-nav-item),.main-bar .nav-links nano-nav-item{--padding-top:7px;--padding-bottom:7px;--padding-end:2px;--padding-start:2px;--margin:0 8px}.main-bar .nav-links--main{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;letter-spacing:0.33px;font-weight:600;font-stretch:expanded;font-size:0.8125rem}.main-bar .nav-links--main ::slotted(nano-nav-item){--color:#fff;--padding-end:3px;--padding-start:0}.main-bar .nav-links--sub{margin-left:6px;--color:#e2e2e2;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .nav-links--sub{margin-left:unset;-webkit-margin-start:6px;margin-inline-start:6px;}}.main-bar .login-btn{display:inline-block;border-radius:4px;background-color:#17bb75;color:#fff;padding:3px 10px;position:relative;left:auto;bottom:auto;margin-left:11px;margin-right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .login-btn{margin-left:unset;margin-right:unset;-webkit-margin-start:11px;margin-inline-start:11px;-webkit-margin-end:0;margin-inline-end:0}}.main-bar .measure-ele{min-width:1px;display:block;margin:0;padding:0}.search-bar{height:0;overflow:hidden;-webkit-transition:0.2s ease height;transition:0.2s ease height;padding:0 var(--padding);outline:none;max-width:45em;margin-left:auto}.search-bar .search-widget{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;overflow:inherit;max-width:none;max-height:none;padding:0 0 var(--padding)}.search-bar .search-inputs{padding:0 0;margin:0 0}.search-bar .search-autocomplete{top:calc(100% - (var(--padding) + 1px))}.site-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition:min-height 0.2s ease;transition:min-height 0.2s ease;min-height:calc(100% - 61px);position:relative;z-index:auto;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.mask{opacity:0;background:rgba(0, 0, 0, 0.3);position:fixed;left:0;right:0;top:0;height:100vh;z-index:-1;-webkit-transition:opacity 0.2s ease, visibility 0.01s ease 0.2s, z-index 0.01s ease 0.2s, -webkit-transform 0.2s ease;transition:opacity 0.2s ease, visibility 0.01s ease 0.2s, z-index 0.01s ease 0.2s, -webkit-transform 0.2s ease;transition:transform 0.2s ease, opacity 0.2s ease, visibility 0.01s ease 0.2s, z-index 0.01s ease 0.2s;transition:transform 0.2s ease, opacity 0.2s ease, visibility 0.01s ease 0.2s, z-index 0.01s ease 0.2s, -webkit-transform 0.2s ease;visibility:hidden}.mask.open{opacity:1;-webkit-transition:z-index 0.01s ease, visibility 0.01s ease, opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, transform 0.2s ease 0.01s, opacity 0.2s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, transform 0.2s ease 0.01s, opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s;z-index:3;visibility:visible}';var THRESHOLDBREAKS={search:0,about:1,main:2,login:3,icon:4};var GlobalNav=function(){function e(e){var t=this;registerInstance(this,e);this.nanoIsReady=createEvent(this,"nanoIsReady",7);this.nanoSearchResult=createEvent(this,"nanoSearchResult",7);this.nanoSearchError=createEvent(this,"nanoSearchError",7);this.nanoSearchReset=createEvent(this,"nanoSearchReset",7);this.currSize=0;this.thresholdsGoingUp=false;this.THRESHOLDLIMIT=Object.keys(THRESHOLDBREAKS).length;this.autocompleteEles=[];this.currAIndex=-1;this.isLoggedIn=false;this.myAccData=null;this.aboutNavItms=[];this.siteNavItms=[];this.loggedInNavItms=[];this.hasLoggedinSlot=false;this.hasSiteSlot=false;this.hasPromotionSlot=false;this.aboutSlotLen=0;this.iconSlotLen=0;this.mainSlotLen=0;this.overflowSlotLen=0;this.searchSlotLen=0;this.internalSearchIndeces=[];this.thresholdReady=false;this.remoteDataReady=false;this.ready=false;this.isResizing=false;this.threshold=this.THRESHOLDLIMIT;this.modalOpen=false;this.modalIsOpen=false;this.searchBarShown=false;this.scrollingUp=true;this.searchLoading=false;this.showAutocomplete=false;this.secondaryMenuOpen=false;this.userMenuOpen=false;this.menuFullScreen=false;this.searchValInternal="";this.env="prod";this.ssoRedirect=encodeURIComponent(window.location.href);this.getMyAccountData=true;this.activeMyAccountSections=null;this.showSearch=true;this.showLogo=true;this.logoUrl=location.protocol+"//"+location.host;this.searchIndeces=[];this.myAccountUser=null;this.searchValue="";this.searchIndex="all_prod_en";this.cartCount=0;this.msgCount=0;this.cartUrl=null;this.msgUrl=null;this.setResizingState=function(e){if(e===void 0){e=false}if(typeof t.debounceSetResizingState==="undefined"){t.debounceSetResizingState=debounce(t.setResizingState,600)}if(e){t.isResizing=true;t.debounceSetResizingState()}else{t.isResizing=false;t.thresholdsGoingUp=false}};this.onMenuBtnKeyDown=function(e){switch(e.key){case"Enter":case" ":t.modalOpen?t.menuClose(e,true):t.menuOpen();break}};this.onMenuBtnClick=function(e){t.menuClose(e,true)};this.menuOpen=function(e){if(e)e.preventDefault();t.menuDiv.style.display="block";t.modalOpen=true;t.modalIsOpen=true;t.menuWrapDiv.addEventListener("focusout",t.menuClose);t.menuWrapDiv.focus({preventScroll:true});if(t.threshold<2||t.menuWrapDiv.scrollHeight>window.innerHeight){document.body.style.overflow="hidden";t.menuFullScreen=true}else document.body.style.overflowX="hidden"};this.onMenuHidden=function(){t.menuDiv.removeEventListener("transitionend",t.onMenuHidden);t.menuWrapDiv.removeEventListener("focusout",t.menuClose);document.body.style.overflow="";t.menuDiv.style.display="none";t.modalIsOpen=false;t.menuFullScreen=false;setTimeout((function(){if(document.activeElement===document.body&&t.menuBtn)t.mainBarDiv.focus({preventScroll:true})}),50)};this.menuClose=function(e,n){if(n===void 0){n=false}if(!n){var a=e;if(a&&a.relatedTarget&&closestElement("#global-nav-menu",a.relatedTarget))return;if(a&&a.relatedTarget&&a.relatedTarget.closest("#global-nav-menu"))return;if(a&&a.relatedTarget&&a.relatedTarget.closest('[slot="promotion"]'))return;if(t.secondaryMenuOpen)return}t.modalOpen=false;t.menuDiv.addEventListener("transitionend",t.onMenuHidden)};this.subMenuClose=function(e){e.preventDefault();e.target.closest("nano-nav-item").open=false};this.onUserBtnClick=function(e){e.preventDefault();t.userMenuOpen=!t.userMenuOpen};this.onUserBtnKeyDown=function(e){switch(e.key){case"Enter":case" ":t.userMenuOpen=!t.userMenuOpen;break}};this.onUserMenuBlur=function(e){if(!e.relatedTarget){t.userMenuOpen=false;return}if(!!e.relatedTarget.closest(".user-links-panel"))return false;t.userMenuOpen=false};this.onSearchBtnClick=function(e){e.preventDefault();if(!t.searchBarShown)t.searchbarShow();else t.searchbarHide()};this.onSearchBtnKeyDown=function(e){switch(e.key){case"Enter":case" ":t.searchBarShown?t.searchbarHide():t.searchbarShow();break}};this.onSearchBarShown=function(){t.searchBarEl.removeEventListener("transitionend",t.onSearchBarShown);if(t.searchInput)t.searchInput.setFocus();t.searchBarEl.style.overflow="visible"};this.searchbarHide=function(e){if(e&&e.relatedTarget&&e.relatedTarget.closest("#global-nav-search-bar"))return;t.showAutocomplete=false;if(t.searchValInternal.length&&e)return;t.searchBarEl.addEventListener("transitionend",t.onSearchBarHidden);t.searchBarEl.style.overflow="hidden";t.searchBarEl.style.height="0px"};this.onSearchBarHidden=function(){t.searchBarEl.removeEventListener("transitionend",t.onSearchBarHidden);t.searchBarEl.style.display="none";t.searchBarShown=false};this.onSearchInput=function(e){t.searchValInternal=t.searchInput.value;if(!t.isSearchValSet()){t.searchLoading=false;return}if(e.detail.type==="input"){t.showAutocomplete=false;t.searchLoading=true}};this.onSearchChange=function(e){return __awaiter(t,void 0,void 0,(function(){var t,n,a,i;return __generator(this,(function(s){switch(s.label){case 0:this.searchValInternal=this.searchValue=e?e.detail.value:this.searchValInternal;this.showAutocomplete=false;this.autocompleteResults=null;if(!this.isSearchValSet()){if(!this.searchValInternal.length){this.nanoSearchReset.emit()}this.searchLoading=false;return[2]}if(!this.currentIndex)this.currentSelectedIndex();s.label=1;case 1:s.trys.push([1,3,,4]);t=this;n=this.processSearchResults;return[4,this.currentIndex.alogliaIndex.search(this.searchValInternal,{attributesToSnippet:["body:5","title:8"],hitsPerPage:5,filters:"created > "+Math.floor((Date.now()-631152e5)/1e3)})];case 2:t.autocompleteResults=n.apply(this,[s.sent()]);return[3,4];case 3:a=s.sent();console.error(a);return[3,4];case 4:this.scopeSearch=null;i=this;return[4,this.onSearchSubmit(null,false)];case 5:i.scopeSearch=s.sent();this.searchLoading=false;this.showAutocompleteResults();return[2]}}))}))};this.onSearchSubmit=function(e,n){if(n===void 0){n=true}return __awaiter(t,void 0,void 0,(function(){var t,a,i,s;var o=this;return __generator(this,(function(r){switch(r.label){case 0:if(e)e.preventDefault();if(!this.isSearchValSet())return[2];this.searchLoading=true;this.algoliaSearchResults=null;if(!this.currentIndex)this.currentSelectedIndex();t=this.internalSearchIndeces.map((function(e){return{indexName:e.index,query:o.searchValInternal,facets:e.filters,hitsPerPage:10,filters:"created > "+Math.floor((Date.now()-631152e5)/1e3)}}));r.label=1;case 1:r.trys.push([1,3,,4]);a=this;i=this.processSearchResults;return[4,this.algoliaClient.multipleQueries(t)];case 2:a.algoliaSearchResults=i.apply(this,[r.sent()]);return[3,4];case 3:s=r.sent();this.nanoSearchError.emit(s);return[3,4];case 4:this.searchLoading=false;if(!this.algoliaSearchResults)return[2];this.algoliaSearchResults.results.map((function(e,t){e.indexName=o.internalSearchIndeces[t].name;e.selected=o.currentIndex.name===o.internalSearchIndeces[t].name;e.domain=o.currentIndex.domain||null;e.domains=o.myAccData.domains||null;e.allGroup=!!o.internalSearchIndeces[t].allGroup;e.filters=o.internalSearchIndeces[t].filters}));if(n){this.nanoSearchResult.emit({results:this.algoliaSearchResults.results,client:{apiKey:this.searchApiKey,appId:this.searchAppId}});this.showAutocomplete=false}return[2,this.algoliaSearchResults]}}))}))};this.onSearchIndexChange=function(e){return __awaiter(t,void 0,void 0,(function(){var t,n,a;return __generator(this,(function(i){switch(i.label){case 0:t=e;n=e;if(!this.currentIndex)this.currentSelectedIndex();if(t.detail&&t.detail.value.length)n=t.detail.value;if(!n||!n.length)return[2];if(this.currentIndex.index===n)return[2];a=this.internalSearchIndeces.find((function(e){return e.index===n}));if(!a||!a.alogliaIndex)return[2];this.searchIndex=a.index;if(!this.isSearchValSet())return[3,2];return[4,this.onSearchChange()];case 1:i.sent();i.label=2;case 2:return[2]}}))}))};this.switchIndexSubmit=function(e){return __awaiter(t,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:if(!this.isSearchValSet())return[3,2];return[4,this.onSearchIndexChange(e)];case 1:t.sent();this.onSearchSubmit();return[3,3];case 2:this.onSearchIndexChange(e);t.label=3;case 3:return[2]}}))}))};this.onAutocompleteBlur=function(e){if(!t.showAutocomplete||!t.autocompleteResults)return;if(e&&e.target&&e.target.closest(".search-widget"))return;t.showAutocomplete=false};this.showAutocompleteResults=function(){if(!t.autocompleteResults||!t.autocompleteResults.hits)return;t.showAutocomplete=true};this.onAutocompleteInteract=function(e){if(!t.showAutocomplete||!t.autocompleteResults)return;var n=t.currAIndex;switch(e.key){case"Tab":setTimeout((function(){if(!t.el.shadowRoot.activeElement||!t.el.shadowRoot.activeElement.closest(".search-widget")){t.showAutocomplete=false;return}else{var e=t.autocompleteEles.find((function(e,n){if(e===t.el.shadowRoot.activeElement){t.currAIndex=n;return true}}));if(e)t.setActiveElement(e);else t.currAIndex=-1}}));break;case"ArrowDown":case"ArrowUp":if(e.key==="ArrowDown")n++;else if(e.key==="ArrowUp")n--;var a=t.autocompleteEles[n];if(a||n<0||n>t.autocompleteEles.length-1)e.preventDefault();if(a){t.setActiveElement(a);t.currAIndex=n}else if(n<0){t.searchInput.setFocus();t.currAIndex=-1}break;case"Enter":case" ":if(t.autocompleteEles[t.currAIndex]){t.autocompleteEles[t.currAIndex].click()}break}}}e.prototype.submitSearch=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){this.onSearchSubmit();this.showAutocomplete=false;return[2]}))}))};e.prototype.currentSelectedIndex=function(){var e=this;if(!this.internalSearchIndeces.length){return}var t=this.internalSearchIndeces.find((function(t){return t.index===e.searchIndex}));if(!t){this.currentIndex=this.internalSearchIndeces[0];console.error("index not found");return}this.currentIndex=t;return t};e.prototype.changeInternalSearchVal=function(){if(this.searchValInternal!==this.searchValue)this.searchValue=this.searchValInternal};e.prototype.initAlgoliaClient=function(){if(!this.searchAppId||!this.searchApiKey)return;this.algoliaClient=algoliasearch_umd(this.searchAppId,this.searchApiKey);this.addAlgoliaIndeces()};e.prototype.addIndeces=function(){this.internalSearchIndeces=__spreadArray(__spreadArray([],this.internalSearchIndeces),this.searchIndeces)};e.prototype.addAlgoliaIndeces=function(){var e=this;if(!this.algoliaClient||!this.internalSearchIndeces.length)return;this.internalSearchIndeces.forEach((function(t){t.alogliaIndex=e.algoliaClient.initIndex(t.index)}));if(!this.searchIndex)this.searchIndex=this.internalSearchIndeces[0].index};e.prototype.thresholdChange=function(e,t){if(e>t){this.thresholdsGoingUp=true;this.setResizingState(true)}};e.prototype.ratioChange=function(){var e=this;if(this.intersectRatio<1&&this.threshold>0){if(this.thresholdsGoingUp)this.setResizingState(true);this.threshold--;setTimeout((function(){return e.ratioChange()}),500)}else{this.thresholdReady=true;this.siteContent.style.minHeight="calc(100% - "+(this.barsDiv.clientHeight+1)+"px)";var t,n;readTask((function(){t=__spreadArray(__spreadArray([],Array.from(e.el.querySelectorAll('nano-nav-item[slot="site"]'))),Array.from(e.el.querySelectorAll('nano-nav-item[slot="overflow"]')));n=[];if(e.threshold<e.THRESHOLDLIMIT-THRESHOLDBREAKS.icon)t.push.apply(t,Array.from(e.el.querySelectorAll('nano-nav-item[slot="icon"]')));else n.push.apply(n,Array.from(e.el.querySelectorAll('nano-nav-item[slot="icon"]')));if(e.threshold<e.THRESHOLDLIMIT-THRESHOLDBREAKS.login)t.push.apply(t,Array.from(e.el.querySelectorAll('nano-nav-item[slot="loggedin"]')));else n.push.apply(n,Array.from(e.el.querySelectorAll('nano-nav-item[slot="loggedin"]')));if(e.threshold<e.THRESHOLDLIMIT-THRESHOLDBREAKS.main)t.push.apply(t,Array.from(e.el.querySelectorAll('nano-nav-item[slot="main"]')));else n.push.apply(n,Array.from(e.el.querySelectorAll('nano-nav-item[slot="main"]')));if(e.threshold<e.THRESHOLDLIMIT-THRESHOLDBREAKS.about)t.push.apply(t,Array.from(e.el.querySelectorAll('nano-nav-item[slot="about"]')));else n.push.apply(n,Array.from(e.el.querySelectorAll('nano-nav-item[slot="about"]')))}));writeTask((function(){t.forEach((function(e){e.classList.add("nano-global-nav-menu");e.classList.remove("nano-global-nav-bar")}));n.forEach((function(e){e.classList.remove("nano-global-nav-menu");e.classList.add("nano-global-nav-bar")}))}))}};e.prototype.assessReady=function(){if(this.thresholdReady&&this.remoteDataReady){this.ready=true}};e.prototype.remoteReady=function(){this.attachIO()};e.prototype.isReady=function(){this.nanoIsReady.emit()};e.prototype.setupAutocompleteBlur=function(){if(this.showAutocomplete){this.el.shadowRoot.addEventListener("click",this.onAutocompleteBlur)}else{this.el.shadowRoot.removeEventListener("click",this.onAutocompleteBlur)}};e.prototype.slotChange=function(){this.threshold=this.THRESHOLDLIMIT};e.prototype.thresholdClasses=function(){var e=[];var t=0;for(t;t<this.threshold;t++)e.push("threshold-"+(t+1));return e};e.prototype.onWindowResize=function(){if(this.threshold<this.THRESHOLDLIMIT&&window.innerWidth>this.currSize){this.threshold=this.THRESHOLDLIMIT}this.currSize=window.innerWidth;this.searchBarShown=false};e.prototype.secondaryOpen=function(e){if(!e.detail.secondaryMenu)return;e.stopPropagation();this.secondaryMenuOpen=true;this.menuContentDiv.style.minHeight=e.detail.secondaryMenu.scrollHeight+"px"};e.prototype.secondaryClose=function(e){if(!e.detail.secondaryMenu)return;e.stopPropagation();this.secondaryMenuOpen=false;this.menuContentDiv.style.minHeight=""};e.prototype.handleUserMenu=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:return[4,displayTransition(this.userLinkPanel,"show",this.userMenuOpen)];case 1:e.sent();if(this.userMenuOpen){this.userLinkPanel.focus();this.userLinkPanel.addEventListener("focusout",this.onUserMenuBlur)}else{this.userLinkPanel.removeEventListener("focusout",this.onUserMenuBlur);this.el.focus()}return[2]}}))}))};e.prototype.searchbarShow=function(){var e=this;this.searchBarShown=true;this.searchBarEl.addEventListener("transitionend",this.onSearchBarShown);this.searchBarEl.style.display="block";setTimeout((function(){e.searchBarEl.style.height=e.searchBarEl.querySelector(".search-widget").scrollHeight+"px"}),50)};e.prototype.autocompleteSnippet=function(e){var t=["title"];if(e._snippetResult){var n=t.find((function(t){return e._snippetResult[t]&&e._snippetResult[t].matchLevel!=="none"}));if(n){if(n!=="title")return(e.title.length>15?e.title.substring(0,15)+" ...":e.title)+" "+e._snippetResult[n].value;else return e._snippetResult["title"].value}}return e.title};e.prototype.isSearchValSet=function(){if(this.searchValInternal.length<3)return false;return true};e.prototype.resetHitFocus=function(){this.currAIndex=-1};e.prototype.setActiveElement=function(e){this.autocompleteEles.map((function(e){return e.setAttribute("aria-selected","false")}));e.focus({preventScroll:true});e.setAttribute("aria-selected","true")};e.prototype.assessSlottedContent=function(){var e=this;readTask((function(){e.hasSiteSlot=!!e.el.querySelectorAll('[slot="site"]').length;e.hasLoggedinSlot=!!e.el.querySelectorAll('[slot="loggedin"]').length;e.hasPromotionSlot=!!e.el.querySelectorAll('[slot="promotion"]').length;e.aboutSlotLen=e.el.querySelectorAll('[slot="about"]').length;e.iconSlotLen=e.el.querySelectorAll('[slot="icon"]').length;e.mainSlotLen=e.el.querySelectorAll('[slot="main"]').length;e.overflowSlotLen=e.el.querySelectorAll('[slot="overflow"]').length;e.searchSlotLen=e.el.querySelectorAll('[slot="search"]').length}))};e.prototype.attachIO=function(){var e=this;if(this.io)return;var t=this.el.shadowRoot.querySelector(".global-nav .main-bar");if(typeof window!=="undefined"&&window.IntersectionObserver&&!!t){var n=this.io=new window.IntersectionObserver((function(t){e.intersectRatio=t.slice(-1)[0].intersectionRatio}),{root:t,threshold:1});n.observe(t.querySelector(".measure-ele"))}};e.prototype.componentDidLoad=function(){{this.debounceResize=debounce(this.onWindowResize.bind(this),300);window.addEventListener("resize",this.debounceResize);this.currSize=window.innerWidth}this.initAlgoliaClient();this.addAlgoliaIndeces();if(this.remoteDataReady)this.attachIO()};e.prototype.componentWillLoad=function(){var e=this;ComponentStore.init(this,["searchIndex","searchValue"],"url-hash","gns");if(typeof window!=="undefined"&&window.MutationObserver){var t=this.mo=new MutationObserver((function(){e.assessSlottedContent()}));t.observe(this.el,{childList:true,subtree:false})}this.assessSlottedContent()};e.prototype.disconnectedCallback=function(){if(this.io){this.io.disconnect();this.io=undefined}if(this.mo){this.mo.disconnect();this.mo=undefined}window.removeEventListener("resize",this.debounceResize)};e.prototype.connectedCallback=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){this.getMyAccData();return[2]}))}))};e.prototype.autocompleteList=function(){var e=this;var t;if(this.showAutocomplete&&this.scrollingUp){var n=0;var a=0;var i=function(t,n){return n.index!==e.currentIndex.index?t+n.hits.length:t};var s=function(t,n){return n.index===e.currentIndex.index?t+n.hits.length:t};if(this.scopeSearch){a=this.scopeSearch.results.reduce(i,0);n=this.scopeSearch.results.reduce(s,0)}if(this.autocompleteResults&&this.autocompleteResults.hits.length||a&&!n){var o=0;t=h("div",null,!n&&h("div",{class:"search-autocomplete-hit search-autocomplete-hit--no-result"},"No results matching '",this.searchValInternal,"' were found in"," ",h("strong",null,this.currentIndex.name),". Try another phrase."),this.autocompleteResults&&[this.autocompleteResults.hits.map((function(t,n){return h("a",{role:"option",ref:function(t){return e.autocompleteEles.push(t)},tabindex:"-1",id:"autocomplete-hit-"+n,href:t.url,class:"search-autocomplete-hit",innerHTML:e.autocompleteSnippet(t)})}))],(!n||this.currentIndex.allGroup)&&this.scopeSearch&&this.scopeSearch.results&&[this.scopeSearch.results.map((function(t,n){if(!t.hits.length||t.index===e.currentIndex.index||o>1)return;o++;return h("button",{role:"option",ref:function(t){return e.autocompleteEles.push(t)},tabindex:"-1",id:"autocomplete-scope-"+n,class:"search-autocomplete-hit",onClick:function(){return e.switchIndexSubmit(t.index)},onMouseDown:function(){return e.switchIndexSubmit(t.index)}},'"',e.searchValInternal,'"'," ",h("div",{class:"search-autocomplete-hit-scope"},"in ",t.indexName))}))],!!n&&h("div",{class:"search-autocomplete-foot"},h("button",{role:"option",class:"search-autocomplete-submit",ref:function(t){return e.autocompleteEles.push(t)},id:"autocomplete-foot",onClick:this.onSearchSubmit,onMouseDown:this.onSearchSubmit},"View all results")))}else if(!n){t=h("div",{class:"search-autocomplete-hit search-autocomplete-hit--no-result"},"No results matching '",this.searchValInternal,"' were found. Try another phrase.")}}return h("div",{class:"search-autocomplete",role:"listbox",id:"autocomplete-results","aria-expanded":this.showAutocomplete?"true":"false",hidden:!this.showAutocomplete,onKeyDown:this.onAutocompleteInteract},t)};e.prototype.searchWidget=function(){var e=this;return[h("form",{class:"search-inputs",onSubmit:this.onSearchSubmit,id:"global-nav-search"},h("nano-select",{class:"search-input",label:"Which area of content would you like to search?",hideLabel:true,showInlineError:false,value:this.searchIndex,onNanoChange:this.onSearchIndexChange,mask:true},this.internalSearchIndeces.map((function(t){return h("nano-option",{selected:t.index===e.searchIndex,value:t.index},t.name||t.index)})),h("nano-icon",{name:"solid/caret-down",class:"down-arrow",slot:"down-arrow"})),h("nano-input",{class:"search-input",label:"What would you like to search for?","aria-label":"What would you like to search for?",hideLabel:true,showInlineError:false,"clear-input":true,placeholder:"Search...",type:"text",ref:function(t){return e.searchInput=t},onNanoChange:this.onSearchChange,onNanoInput:this.onSearchInput,onKeyDown:this.onAutocompleteInteract,debounce:500,"aria-autocomplete":"list","aria-activedescendant":this.autocompleteEles[this.currAIndex]?this.autocompleteEles[this.currAIndex].id:false,"aria-controls":"autocomplete-results",onNanoFocus:this.showAutocompleteResults,value:this.searchValue,role:"textbox"},h("button",{class:{"search-icon":true,"search-icon--search":true,"search-icon--show":!this.searchValInternal.length},slot:"end",onMouseDown:function(t){e.searchValInternal=e.searchInput.value;e.onSearchSubmit(t,true)}},h("nano-icon",{name:"light/search"})),h("span",{class:{"search-icon":true,"search-icon--loader":true,"search-icon--show":this.searchLoading},slot:"end"},h("nano-icon",{name:"light/spinner-third"}))),h("input",{type:"submit"}))]};e.prototype.render=function(){var e;var t=this;this.autocompleteEles=[];var n=this.el.ownerDocument.dir==="rtl";var a=this.searchWidget();a.push(this.autocompleteList());return h(Host,{class:(e={},e[this.thresholdClasses().join(" ")]=true,e.ready=this.ready,e["search-bar-shown"]=this.searchBarShown&&this.scrollingUp,e["search-auto-complete-shown"]=this.showAutocomplete&&this.scrollingUp,e["modal-open"]=this.modalIsOpen,e.resizing=this.isResizing,e),dir:n?"rtl":null},h("div",{class:{"global-nav":true,"scrolling-down":!this.scrollingUp}},h("nav",{id:"global-nav-menu",class:{"gn-menu":true,open:this.modalOpen,"has-promotion":this.hasPromotionSlot,"menu-full-screen":this.menuFullScreen,"secondary-open":this.secondaryMenuOpen},"aria-expanded":this.modalOpen?"true":"false",ref:function(e){return t.menuDiv=e}},h("div",{class:"gn-menu_wrap",ref:function(e){return t.menuWrapDiv=e},tabindex:"-1"},h("div",{class:"gn-menu_actions"},h("button",{class:"menu-btn icon-btn icon-btn",onMouseDown:this.onMenuBtnClick,onKeyDown:this.onMenuBtnKeyDown},this.threshold<this.THRESHOLDLIMIT-3&&h("nano-icon",{name:"light/times","aria-label":"close menu"}),this.threshold>=this.THRESHOLDLIMIT-3&&h("nano-icon",{name:"light/bars","aria-label":"close menu"})),this.threshold<this.THRESHOLDLIMIT-THRESHOLDBREAKS.icon&&[!!this.iconSlotLen&&h("slot",{name:"icon"}),this.myAccData&&(!this.activeMyAccountSections||this.activeMyAccountSections.includes("icons"))&&[this.msgUrl&&h("a",{href:this.msgUrl,class:"icon-btn"},h("nano-icon",{name:"light/bell"}),this.msgCount>0&&h("span",{class:"gn-menu_actions-counter"},this.msgCount)),this.cartUrl&&h("a",{href:this.cartUrl,class:"icon-btn"},h("nano-icon",{name:"light/shopping-cart"}),this.cartCount>0&&h("span",{class:"gn-menu_actions-counter"},this.cartCount))]],this.myAccData&&this.myAccData.urls.login&&h("a",{href:this.myAccData.urls.login+this.ssoRedirect,class:"login-btn"},"Login / Register"," ",h("nano-icon",{name:"solid/chevron-right"}))),h("div",{class:"content-wrap",ref:function(e){return t.menuContentDiv=e}},h("div",{class:"content"},h("nav",{class:"nav-links nav-links--main"},h("slot",{name:"overflow"}),this.threshold<this.THRESHOLDLIMIT-THRESHOLDBREAKS.main&&!!this.mainSlotLen&&h("slot",{name:"main"})),((!!this.aboutSlotLen||!!this.aboutNavItms.length)&&this.threshold<this.THRESHOLDLIMIT-THRESHOLDBREAKS.about||this.hasSiteSlot||!!this.siteNavItms.length)&&h("div",null,(!!this.aboutSlotLen||!!this.aboutNavItms.length)&&this.threshold<this.THRESHOLDLIMIT-THRESHOLDBREAKS.about&&[(this.threshold>=this.THRESHOLDLIMIT-(THRESHOLDBREAKS.about+1)||this.mainSlotLen<2)&&this.overflowSlotLen<2&&h("div",{class:"nav-links-wrap"},!!this.aboutNavItms.length&&h("h4",{class:"nav-links_title"},"About"),h("nav",{class:"nav-links nav-links--sub","aria-label":"About the company links"},h("slot",{name:"about"}),this.aboutNavItms.map((function(e){return h("nano-nav-item",{class:"nano-global-nav nano-global-nav-menu"},h("a",{href:e.address,target:e.target},e.title))})))),(this.threshold<this.THRESHOLDLIMIT-(THRESHOLDBREAKS.about+1)&&this.mainSlotLen>=2||this.overflowSlotLen>=2)&&h("nav",{class:"nav-links","aria-label":"About the company links"},!this.aboutNavItms.length&&h("slot",{name:"about"}),!!this.aboutNavItms.length&&h("nano-nav-item",{class:"nano-global-nav nano-global-nav-menu"},"Company",h("nano-icon",{slot:"icon-end",name:"solid/chevron-right"}),h("div",{slot:"secondary"},h("div",{class:"content"},h("button",{class:"back-btn",onClick:this.subMenuClose},h("nano-icon",{slot:"icon-end",name:"solid/chevron-left","aria-label":"go back"}),"Company"),h("slot",{name:"about"}),h("div",{class:"content--sub"},this.aboutNavItms.map((function(e){return h("nano-nav-item",{class:"nano-global-nav nano-global-nav-menu"},h("a",{href:e.address,target:e.target},e.title))})))))))],(this.hasSiteSlot||!!this.siteNavItms.length)&&[(this.threshold>=this.THRESHOLDLIMIT-2||this.mainSlotLen<2)&&this.overflowSlotLen<2&&h("div",{class:"nav-links-wrap"},h("h4",{class:"nav-links_title"},"Sites"),h("nav",{class:"nav-links nav-links--sub","aria-label":"Different company site links"},h("slot",{name:"site"}),this.siteNavItms.map((function(e){return h("nano-nav-item",{class:"nano-global-nav nano-global-nav-menu"},h("a",{href:e.address,target:e.target},e.title))})))),(this.threshold<this.THRESHOLDLIMIT-2&&this.mainSlotLen>=2||this.overflowSlotLen>=2)&&h("nav",{class:"nav-links","aria-label":"Different company site links"},h("nano-nav-item",{class:"nano-global-nav nano-global-nav-menu"},"Sites",h("nano-icon",{slot:"icon-end",name:"solid/chevron-right"}),h("div",{slot:"secondary"},h("div",{class:"content"},h("button",{class:"back-btn",onClick:this.subMenuClose},h("nano-icon",{slot:"icon-end",name:"solid/chevron-left","aria-label":"go back"}),"Sites"),h("div",{class:"content--sub"},h("slot",{name:"site"}),this.siteNavItms.map((function(e){return h("nano-nav-item",{class:"nano-global-nav nano-global-nav-menu"},h("a",{href:e.address,target:e.target},e.title))})))))))])),this.isLoggedIn&&this.threshold<this.THRESHOLDLIMIT-THRESHOLDBREAKS.login&&(this.loggedInNavItms.length||this.hasLoggedinSlot)&&h("nav",{class:"nav-links","aria-label":"Your user account links"},h("nano-nav-item",{class:"nano-global-nav user-nav nano-global-nav-menu"},this.myAccountUser.name,h("nano-icon",{slot:"icon-end",name:"solid/chevron-right"}),h("div",{slot:"secondary"},h("div",{class:"content"},h("button",{class:"back-btn",onClick:this.subMenuClose},h("nano-icon",{slot:"icon-end",name:"solid/chevron-left","aria-label":"go back"}),this.myAccountUser.name),h("div",{class:"content--sub"},h("slot",{name:"loggedin"}),this.loggedInNavItms.map((function(e){return h("nano-nav-item",{class:"nano-global-nav nano-global-nav-menu"},h("a",{href:e.address,target:e.target},e.title))})),h("nano-nav-item",{class:"nano-global-nav nano-global-nav-menu"},h("a",{href:this.myAccData.urls.forgot_password+this.ssoRedirect},"Change Password"))))))),h("slot",{name:"promotion"}),this.myAccData&&this.myAccData.urls.logout&&h("div",{class:"login-btn logout-btn"},h("a",{href:this.myAccData.urls.logout+this.ssoRedirect},"Logout"))))),h("nano-sticker",{"auto-resize":"false","break-point-max":"800",quietMode:{h:600,w:800}},h("div",{class:"bars",ref:function(e){return t.barsDiv=e}},h("nav",{class:"main-bar","aria-label":"Main site navigation",tabindex:"-1",ref:function(e){return t.mainBarDiv=e}},(this.hasPromotionSlot||!!this.overflowSlotLen||(this.myAccData||!!this.iconSlotLen)&&this.threshold<this.THRESHOLDLIMIT-THRESHOLDBREAKS.icon||this.isLoggedIn&&(!!this.loggedInNavItms.length||this.hasLoggedinSlot)&&this.threshold<this.THRESHOLDLIMIT-THRESHOLDBREAKS.login||!!this.mainSlotLen&&this.threshold<this.THRESHOLDLIMIT-THRESHOLDBREAKS.main||(!!this.aboutSlotLen||!!this.aboutNavItms.length)&&this.threshold<this.THRESHOLDLIMIT-THRESHOLDBREAKS.about||this.hasSiteSlot||!!this.siteNavItms.length)&&h("button",{class:"menu-btn icon-btn",onMouseDown:this.menuOpen,onKeyDown:this.onMenuBtnKeyDown,"aria-expanded":this.modalOpen?"true":"false","aria-controls":"global-nav-menu",ref:function(e){return t.menuBtn=e}},h("nano-icon",{name:"light/bars","aria-label":"open menu"})),this.showLogo&&h("a",{href:this.logoUrl,class:"logo-link"},h("img",{src:getAssetPath("./assets/ont-logo.svg"),alt:"Oxford Nanopore Technologies Logo",class:"logo"})),!this.showLogo&&h("div",{class:"logo-link"},h("slot",{name:"logo"})),h("div",{class:"nav-links nav-links--main"},h("slot",{name:"main"})),this.threshold>=this.THRESHOLDLIMIT-THRESHOLDBREAKS.search&&[this.showSearch&&!!this.internalSearchIndeces.length&&h("div",{class:"search-widget",role:"combobox","aria-owns":"autocomplete-results","aria-expanded":this.showAutocomplete&&this.autocompleteResults?"true":"false"},a),(!this.showSearch||!this.myAccData)&&!!this.searchSlotLen&&h("slot",{name:"search"})],this.threshold>=this.THRESHOLDLIMIT-THRESHOLDBREAKS.about&&h("nav",{class:"nav-links nav-links--sub","aria-label":"About the company links"},(!!this.aboutSlotLen||!!this.aboutNavItms.length)&&this.threshold>=this.THRESHOLDLIMIT-THRESHOLDBREAKS.about&&[h("slot",{name:"about"}),this.aboutNavItms.map((function(e){return h("nano-nav-item",{class:"nano-global-nav nano-global-nav-bar"},h("a",{href:e.address,target:e.target},e.title))}))]),this.threshold<this.THRESHOLDLIMIT-THRESHOLDBREAKS.search&&(this.showSearch&&!!this.internalSearchIndeces.length||!!this.searchSlotLen)&&h("button",{class:"icon-btn","aria-controls":"global-nav-search-bar","aria-expanded":this.searchBarShown?"true":"false",onMouseDown:this.onSearchBtnClick,onKeyDown:this.onSearchBtnKeyDown},h("nano-icon",{name:"light/search"})),this.threshold>=this.THRESHOLDLIMIT-THRESHOLDBREAKS.icon&&[!!this.iconSlotLen&&h("slot",{name:"icon"}),this.myAccData&&(!this.activeMyAccountSections||this.activeMyAccountSections.includes("icons"))&&[this.msgUrl&&h("a",{href:this.msgUrl,class:"icon-btn"},h("nano-icon",{name:"light/bell"}),this.msgCount>0&&h("span",{class:"gn-menu_actions-counter"},this.msgCount)),this.cartUrl&&h("a",{href:this.cartUrl,class:"icon-btn"},h("nano-icon",{name:"light/shopping-cart"}),this.cartCount>0&&h("span",{class:"gn-menu_actions-counter"},this.cartCount))]],this.myAccData&&this.threshold>=this.THRESHOLDLIMIT-THRESHOLDBREAKS.login&&[this.myAccData.urls.login&&h("a",{href:this.myAccData.urls.login+this.ssoRedirect,class:"login-btn"},"Login / Register"),this.myAccountUser&&h("div",{class:"user-links"},h("button",{class:{"icon-btn":true,"user-links-btn":true,open:this.userMenuOpen},onMouseDown:this.onUserBtnClick,onKeyDown:this.onUserBtnKeyDown}," ",this.myAccountUser.name,h("nano-icon",{name:"solid/caret-down"})),h("div",{class:"user-links-panel",tabindex:"-1",ref:function(e){return t.userLinkPanel=e}},h("div",{class:"user-links-panel-content"},this.loggedInNavItms.map((function(e){return h("a",{href:e.address,target:e.target},e.title)}))),h("div",{class:"user-links-panel-foot"},h("a",{href:this.myAccData.urls.forgot_password+this.ssoRedirect},"Change Password"),h("a",{href:this.myAccData.urls.logout+this.ssoRedirect},"Logout"))))],h("span",{class:"measure-ele"})),this.threshold<this.THRESHOLDLIMIT-THRESHOLDBREAKS.search&&h("div",{id:"global-nav-search-bar",class:{"search-bar":true,show:this.searchBarShown},"aria-expanded":this.searchBarShown?"true":"false",role:"region",tabindex:"-1",ref:function(e){return t.searchBarEl=e}},h("div",{class:"search-widget"},this.showSearch&&!!this.internalSearchIndeces.length&&h("div",null,a),(!this.showSearch||!this.myAccData)&&!!this.searchSlotLen&&h("slot",{name:"search"}))))),(this.threshold<this.THRESHOLDLIMIT-3||this.menuFullScreen)&&h("div",{class:{mask:true,open:this.modalOpen},onClick:this.menuClose,onTouchEnd:this.menuClose})),h("div",{class:"site-content",ref:function(e){return t.siteContent=e}},h("slot",null)))};e.prototype.domainFor=function(e){if(!this.myAccData)return"";var t=this.myAccData.domains.find((function(t){return t.origin===e}));return t?t.domain:""};e.prototype.processSearchResults=function(e){var t=this;var n=e;var a=e;if(n.results){n.results.forEach((function(e,a){n.results[a]=t.processSearchResults(e)}));return n}else{a.hits.map((function(e){if(e.url&&!e.url.match(/^http/))e.url=location.protocol+"//"+t.domainFor(e.origin)+e.url}));return a}};e.prototype.getMyAccData=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,n,a,i;var s=this;return __generator(this,(function(o){switch(o.label){case 0:if(!this.getMyAccountData||this.myAccData){this.remoteDataReady=true;return[2]}switch(this.env){case"dev":e="https://myaccount-dev.nanoporetech.com/";break;case"test":e="https://myaccount-test.nanoporetech.com/";break;default:e="https://myaccount.nanoporetech.com/";break}t={timeout:5e3};o.label=1;case 1:o.trys.push([1,6,,7]);if(!(this.env==="local"))return[3,3];n=this;return[4,import("./local-my-account-aed156bf.js")];case 2:n.myAccData=o.sent();return[3,5];case 3:a=this;return[4,clientFetch(e+"nav_bar_data.json",t)];case 4:a.myAccData=o.sent();o.label=5;case 5:if(this.myAccData.user.id){this.isLoggedIn=true;this.myAccountUser=this.myAccData.user}this.processMyAccLinks();this.processMyAccData();setTimeout((function(){return s.remoteDataReady=true}),300);return[3,7];case 6:i=o.sent();console.error(i);this.remoteDataReady=true;return[3,7];case 7:return[2]}}))}))};e.prototype.processMyAccData=function(){if(!this.myAccData||!this.myAccData.search.indeces.length)return;if(this.myAccData.search.api_key)this.searchApiKey=this.myAccData.search.api_key;if(this.myAccData.search.app_id)this.searchAppId=this.myAccData.search.app_id;if(this.myAccData.cart.count)this.cartCount=this.myAccData.cart.count;if(this.myAccData.notifications.count)this.msgCount=this.myAccData.notifications.count;if(!this.searchAppId||!this.searchApiKey)return;this.internalSearchIndeces=__spreadArray(__spreadArray([],this.myAccData.search.indeces),this.searchIndeces);if(this.myAccData.urls.cart&&!this.cartUrl)this.cartUrl=this.myAccData.urls.cart;if(this.myAccData.urls.messages&&!this.msgUrl)this.msgUrl=this.myAccData.urls.messages};e.prototype.processMyAccLinks=function(){var e=this;if(!this.myAccData.links||!this.myAccData.links.length)return;this.myAccData.links.forEach((function(t){switch(t.area){case"left-side-logged-in":case"left-side-logged-out":if(e.activeMyAccountSections&&!e.activeMyAccountSections.includes("sites"))break;if(e.isLoggedIn&&t.area==="left-side-logged-in")e.siteNavItms.push(t);else if(!e.isLoggedIn&&t.area==="left-side-logged-out")e.siteNavItms.push(t);break;case"right-side-logged-in":case"right-side-logged-out":if(e.activeMyAccountSections&&!e.activeMyAccountSections.includes("about"))break;if(e.isLoggedIn&&t.area==="right-side-logged-in")e.aboutNavItms.push(t);else if(!e.isLoggedIn&&t.area==="right-side-logged-out")e.aboutNavItms.push(t);break;case"profile-panel-list":if(e.activeMyAccountSections&&!e.activeMyAccountSections.includes("loggedin"))break;e.loggedInNavItms.push(t);break}}))};Object.defineProperty(e,"assetsDirs",{get:function(){return["assets"]},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{searchIndex:["currentSelectedIndex"],searchValInternal:["changeInternalSearchVal"],searchApiKey:["initAlgoliaClient"],searchAppId:["initAlgoliaClient"],searchIndeces:["addIndeces"],internalSearchIndeces:["addAlgoliaIndeces"],threshold:["thresholdChange"],intersectRatio:["ratioChange"],thresholdReady:["assessReady"],remoteDataReady:["assessReady","remoteReady"],ready:["isReady"],showAutocomplete:["setupAutocompleteBlur","resetHitFocus"],aboutSlotLen:["slotChange"],iconSlotLen:["slotChange"],mainSlotLen:["slotChange"],overflowSlotLen:["slotChange"],searchSlotLen:["slotChange"],userMenuOpen:["handleUserMenu"]}},enumerable:false,configurable:true});return e}();GlobalNav.style=globalNavCss;export{GlobalNav as nano_global_nav};
5
5
  //# sourceMappingURL=nano-global-nav.entry.js.map