@nanoporetech-digital/components 7.9.2 → 8.0.0-alpha.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 (1783) hide show
  1. package/dist/cjs/active-element-DB7WRcF-.js +69 -0
  2. package/dist/cjs/algolia-data-JweofGji.js +49 -0
  3. package/dist/cjs/algoliasearch-lite.esm.browser-DWj6KfUw.js +951 -0
  4. package/dist/cjs/component-store-DKMzj8Ei.js +326 -0
  5. package/dist/cjs/date-utils-DqYlulq4.js +232 -0
  6. package/dist/cjs/dom-a3wgHxbn.js +71 -0
  7. package/dist/cjs/drag-B5XXLJW9.js +72 -0
  8. package/dist/cjs/events-pBdXJwIU.js +37 -0
  9. package/dist/cjs/fade-run1oYFS.js +212 -0
  10. package/dist/cjs/form-control-zW-pmQ5Y.js +84 -0
  11. package/dist/cjs/fullscreen-DGiusO_n.js +132 -0
  12. package/dist/cjs/index-BV7Y7Zvi.js +198 -0
  13. package/dist/cjs/index-D0X7QVou.js +655 -0
  14. package/dist/cjs/index-DYD4xvxr.js +3328 -0
  15. package/dist/cjs/index-browser-3bwVgSYS.js +13 -0
  16. package/dist/cjs/index.cjs.js +41 -24
  17. package/dist/cjs/lazyload-CavfHrQV.js +94 -0
  18. package/dist/cjs/loader.cjs.js +4 -9
  19. package/dist/cjs/local-logged-in-C8Qr7Q7o.js +223 -0
  20. package/dist/cjs/local-logged-out-fCQ614s8.js +219 -0
  21. package/dist/cjs/math-DIjJ3V87.js +39 -0
  22. package/dist/cjs/modal-lJ_KdrUQ.js +49 -0
  23. package/dist/cjs/nano-accordion.cjs.entry.js +13 -27
  24. package/dist/cjs/nano-alert.cjs.entry.js +85 -36
  25. package/dist/cjs/nano-algolia-filter.cjs.entry.js +10 -15
  26. package/dist/cjs/nano-algolia-pagination.cjs.entry.js +5 -9
  27. package/dist/cjs/nano-algolia-results.cjs.entry.js +7 -11
  28. package/dist/cjs/nano-algolia.cjs.entry.js +22 -27
  29. package/dist/cjs/nano-animation.cjs.entry.js +4 -8
  30. package/dist/cjs/nano-avatar_5.cjs.entry.js +1778 -0
  31. package/dist/cjs/nano-breadcrumb.cjs.entry.js +41 -0
  32. package/dist/cjs/nano-card-carousel.cjs.entry.js +95 -0
  33. package/dist/cjs/nano-card.cjs.entry.js +23 -0
  34. package/dist/cjs/nano-checkbox-group.cjs.entry.js +79 -47
  35. package/dist/cjs/nano-checkbox.cjs.entry.js +34 -24
  36. package/dist/cjs/nano-collapsible-comparison.cjs.entry.js +62 -0
  37. package/dist/cjs/nano-components.cjs.js +8 -11
  38. package/dist/cjs/nano-content-links.cjs.entry.js +17 -0
  39. package/dist/cjs/nano-cta.cjs.entry.js +42 -0
  40. package/dist/cjs/nano-data-table-DlJaR4KG.js +1847 -0
  41. package/dist/cjs/nano-data-table.cjs.entry.js +17 -0
  42. package/dist/cjs/nano-datalist_3.cjs.entry.js +86 -260
  43. package/dist/cjs/nano-date-input.cjs.entry.js +14 -27
  44. package/dist/cjs/nano-date-picker_2.cjs.entry.js +999 -0
  45. package/dist/cjs/nano-details.cjs.entry.js +61 -81
  46. package/dist/cjs/nano-dialog.cjs.entry.js +45 -42
  47. package/dist/cjs/nano-dropdown_2.cjs.entry.js +640 -0
  48. package/dist/cjs/nano-field-validator.cjs.entry.js +9 -17
  49. package/dist/cjs/nano-file-upload.cjs.entry.js +6 -11
  50. package/dist/cjs/nano-footer.cjs.entry.js +25 -0
  51. package/dist/cjs/nano-global-nav.cjs.entry.js +416 -1171
  52. package/dist/cjs/nano-grid-item.cjs.entry.js +3 -7
  53. package/dist/cjs/nano-grid_2.cjs.entry.js +12 -18
  54. package/dist/cjs/nano-hero.cjs.entry.js +9 -16
  55. package/dist/cjs/nano-icon-item.cjs.entry.js +21 -0
  56. package/dist/cjs/nano-icon_3.cjs.entry.js +655 -0
  57. package/dist/cjs/nano-in-page-nav.cjs.entry.js +212 -0
  58. package/dist/cjs/nano-intersection-observe.cjs.entry.js +15 -10
  59. package/dist/cjs/nano-masked-overflow.cjs.entry.js +351 -0
  60. package/dist/cjs/nano-menu-drawer.cjs.entry.js +8 -13
  61. package/dist/cjs/nano-more-less.cjs.entry.js +5 -9
  62. package/dist/cjs/nano-nav-item.cjs.entry.js +271 -0
  63. package/dist/cjs/nano-progress-bar.cjs.entry.js +8 -13
  64. package/dist/cjs/nano-range.cjs.entry.js +9 -14
  65. package/dist/cjs/nano-rating.cjs.entry.js +10 -20
  66. package/dist/cjs/nano-resize-observe_2.cjs.entry.js +8 -13
  67. package/dist/cjs/nano-slide.cjs.entry.js +6 -11
  68. package/dist/cjs/nano-slides-D5q9vQ4P.js +3050 -0
  69. package/dist/cjs/nano-slides.cjs.entry.js +4 -8
  70. package/dist/cjs/nano-sortable.cjs.entry.js +11 -14
  71. package/dist/cjs/nano-spinner.cjs.entry.js +6 -11
  72. package/dist/cjs/nano-split-pane.cjs.entry.js +9 -14
  73. package/dist/cjs/nano-sticker.cjs.entry.js +12 -17
  74. package/dist/cjs/nano-tab-content.cjs.entry.js +9 -14
  75. package/dist/cjs/nano-tab-group.cjs.entry.js +64 -228
  76. package/dist/cjs/nano-tab.cjs.entry.js +18 -20
  77. package/dist/cjs/nano-table.cjs.entry.js +232 -13
  78. package/dist/cjs/page-dots-D-QQnR4W.js +138 -0
  79. package/dist/cjs/popover-CpIMxMWJ.js +1947 -0
  80. package/dist/cjs/renderer-SkVn69pT.js +71 -0
  81. package/dist/cjs/scroll-DXjC771e.js +185 -0
  82. package/dist/cjs/search-insights-BtxuX7Wv.js +50 -0
  83. package/dist/cjs/slot-CBvkJee9.js +107 -0
  84. package/dist/cjs/style-BccHkuhC.js +58 -0
  85. package/dist/cjs/tabbable-M9OUrhLE.js +124 -0
  86. package/dist/cjs/table.worker-BTF0UXAd.js +4 -0
  87. package/dist/cjs/table.worker-FkRsUwRY.js +32 -0
  88. package/dist/cjs/theme-2potFCtG.js +46 -0
  89. package/dist/cjs/throttle-CrRDOkln.js +52 -0
  90. package/dist/collection/assets/img/bsi/27001.svg +188 -0
  91. package/dist/collection/assets/img/bsi/9001.svg +172 -0
  92. package/dist/collection/assets/img/bsi/mark-of-trust.svg +230 -0
  93. package/dist/collection/assets/img/flags/en.svg +15 -0
  94. package/dist/collection/assets/img/flags/es.svg +544 -0
  95. package/dist/collection/assets/img/flags/ja.svg +11 -0
  96. package/dist/collection/assets/img/flags/zh.svg +14 -0
  97. package/dist/collection/collection-manifest.json +16 -4
  98. package/dist/collection/components/accordion/accordion.css +24 -10
  99. package/dist/collection/components/accordion/accordion.js +20 -55
  100. package/dist/collection/components/alert/alert.css +127 -58
  101. package/dist/collection/components/alert/alert.helpers.js +19 -12
  102. package/dist/collection/components/alert/alert.js +147 -32
  103. package/dist/collection/components/algolia/algolia-data.js +1 -2
  104. package/dist/collection/components/algolia/algolia-filter.css +23 -9
  105. package/dist/collection/components/algolia/algolia-filter.js +8 -9
  106. package/dist/collection/components/algolia/algolia-interface.js +0 -1
  107. package/dist/collection/components/algolia/algolia-pagination.js +4 -5
  108. package/dist/collection/components/algolia/algolia-results.js +5 -6
  109. package/dist/collection/components/algolia/algolia.css +23 -9
  110. package/dist/collection/components/algolia/algolia.js +20 -18
  111. package/dist/collection/components/algolia/lib/squirrelly/browser.js +1 -2
  112. package/dist/collection/components/algolia/lib/squirrelly/compile-string.js +1 -2
  113. package/dist/collection/components/algolia/lib/squirrelly/compile.js +1 -2
  114. package/dist/collection/components/algolia/lib/squirrelly/config.js +1 -2
  115. package/dist/collection/components/algolia/lib/squirrelly/container-utils.js +1 -2
  116. package/dist/collection/components/algolia/lib/squirrelly/containers.js +1 -2
  117. package/dist/collection/components/algolia/lib/squirrelly/err.js +1 -2
  118. package/dist/collection/components/algolia/lib/squirrelly/parse.js +1 -2
  119. package/dist/collection/components/algolia/lib/squirrelly/render.js +1 -2
  120. package/dist/collection/components/algolia/lib/squirrelly/storage.js +1 -2
  121. package/dist/collection/components/algolia/lib/squirrelly/utils.js +1 -2
  122. package/dist/collection/components/algolia/lib/template.js +1 -2
  123. package/dist/collection/components/animation/animation.js +15 -15
  124. package/dist/collection/components/animation/animations/attention_seekers/bounce.js +1 -2
  125. package/dist/collection/components/animation/animations/attention_seekers/flash.js +1 -2
  126. package/dist/collection/components/animation/animations/attention_seekers/headShake.js +1 -2
  127. package/dist/collection/components/animation/animations/attention_seekers/heartBeat.js +1 -2
  128. package/dist/collection/components/animation/animations/attention_seekers/jello.js +1 -2
  129. package/dist/collection/components/animation/animations/attention_seekers/pulse.js +1 -2
  130. package/dist/collection/components/animation/animations/attention_seekers/rubberBand.js +1 -2
  131. package/dist/collection/components/animation/animations/attention_seekers/shake.js +1 -2
  132. package/dist/collection/components/animation/animations/attention_seekers/shakeX.js +1 -2
  133. package/dist/collection/components/animation/animations/attention_seekers/shakeY.js +1 -2
  134. package/dist/collection/components/animation/animations/attention_seekers/swing.js +1 -2
  135. package/dist/collection/components/animation/animations/attention_seekers/tada.js +1 -2
  136. package/dist/collection/components/animation/animations/attention_seekers/wobble.js +1 -2
  137. package/dist/collection/components/animation/animations/back_entrances/backInDown.js +1 -2
  138. package/dist/collection/components/animation/animations/back_entrances/backInLeft.js +1 -2
  139. package/dist/collection/components/animation/animations/back_entrances/backInRight.js +1 -2
  140. package/dist/collection/components/animation/animations/back_entrances/backInUp.js +1 -2
  141. package/dist/collection/components/animation/animations/back_exits/backOutDown.js +1 -2
  142. package/dist/collection/components/animation/animations/back_exits/backOutLeft.js +1 -2
  143. package/dist/collection/components/animation/animations/back_exits/backOutRight.js +1 -2
  144. package/dist/collection/components/animation/animations/back_exits/backOutUp.js +1 -2
  145. package/dist/collection/components/animation/animations/bouncing_entrances/bounceIn.js +1 -2
  146. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInDown.js +1 -2
  147. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInLeft.js +1 -2
  148. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInRight.js +1 -2
  149. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInUp.js +1 -2
  150. package/dist/collection/components/animation/animations/bouncing_exits/bounceOut.js +1 -2
  151. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutDown.js +1 -2
  152. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutLeft.js +1 -2
  153. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutRight.js +1 -2
  154. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutUp.js +1 -2
  155. package/dist/collection/components/animation/animations/easings/easings.js +1 -2
  156. package/dist/collection/components/animation/animations/fading_entrances/fadeIn.js +1 -2
  157. package/dist/collection/components/animation/animations/fading_entrances/fadeInBottomLeft.js +1 -2
  158. package/dist/collection/components/animation/animations/fading_entrances/fadeInBottomRight.js +1 -2
  159. package/dist/collection/components/animation/animations/fading_entrances/fadeInDown.js +1 -2
  160. package/dist/collection/components/animation/animations/fading_entrances/fadeInDownBig.js +1 -2
  161. package/dist/collection/components/animation/animations/fading_entrances/fadeInLeft.js +1 -2
  162. package/dist/collection/components/animation/animations/fading_entrances/fadeInLeftBig.js +1 -2
  163. package/dist/collection/components/animation/animations/fading_entrances/fadeInRight.js +1 -2
  164. package/dist/collection/components/animation/animations/fading_entrances/fadeInRightBig.js +1 -2
  165. package/dist/collection/components/animation/animations/fading_entrances/fadeInTopLeft.js +1 -2
  166. package/dist/collection/components/animation/animations/fading_entrances/fadeInTopRight.js +1 -2
  167. package/dist/collection/components/animation/animations/fading_entrances/fadeInUp.js +1 -2
  168. package/dist/collection/components/animation/animations/fading_entrances/fadeInUpBig.js +1 -2
  169. package/dist/collection/components/animation/animations/fading_exits/fadeOut.js +1 -2
  170. package/dist/collection/components/animation/animations/fading_exits/fadeOutBottomLeft.js +1 -2
  171. package/dist/collection/components/animation/animations/fading_exits/fadeOutBottomRight.js +1 -2
  172. package/dist/collection/components/animation/animations/fading_exits/fadeOutDown.js +1 -2
  173. package/dist/collection/components/animation/animations/fading_exits/fadeOutDownBig.js +1 -2
  174. package/dist/collection/components/animation/animations/fading_exits/fadeOutLeft.js +1 -2
  175. package/dist/collection/components/animation/animations/fading_exits/fadeOutLeftBig.js +1 -2
  176. package/dist/collection/components/animation/animations/fading_exits/fadeOutRight.js +1 -2
  177. package/dist/collection/components/animation/animations/fading_exits/fadeOutRightBig.js +1 -2
  178. package/dist/collection/components/animation/animations/fading_exits/fadeOutTopLeft.js +1 -2
  179. package/dist/collection/components/animation/animations/fading_exits/fadeOutTopRight.js +1 -2
  180. package/dist/collection/components/animation/animations/fading_exits/fadeOutUp.js +1 -2
  181. package/dist/collection/components/animation/animations/fading_exits/fadeOutUpBig.js +1 -2
  182. package/dist/collection/components/animation/animations/flippers/flip.js +1 -2
  183. package/dist/collection/components/animation/animations/flippers/flipInX.js +1 -2
  184. package/dist/collection/components/animation/animations/flippers/flipInY.js +1 -2
  185. package/dist/collection/components/animation/animations/flippers/flipOutX.js +1 -2
  186. package/dist/collection/components/animation/animations/flippers/flipOutY.js +1 -2
  187. package/dist/collection/components/animation/animations/index.js +1 -2
  188. package/dist/collection/components/animation/animations/lightspeed/lightSpeedInLeft.js +1 -2
  189. package/dist/collection/components/animation/animations/lightspeed/lightSpeedInRight.js +1 -2
  190. package/dist/collection/components/animation/animations/lightspeed/lightSpeedOutLeft.js +1 -2
  191. package/dist/collection/components/animation/animations/lightspeed/lightSpeedOutRight.js +1 -2
  192. package/dist/collection/components/animation/animations/rotating_entrances/rotateIn.js +1 -2
  193. package/dist/collection/components/animation/animations/rotating_entrances/rotateInDownLeft.js +1 -2
  194. package/dist/collection/components/animation/animations/rotating_entrances/rotateInDownRight.js +1 -2
  195. package/dist/collection/components/animation/animations/rotating_entrances/rotateInUpLeft.js +1 -2
  196. package/dist/collection/components/animation/animations/rotating_entrances/rotateInUpRight.js +1 -2
  197. package/dist/collection/components/animation/animations/rotating_exits/rotateOut.js +1 -2
  198. package/dist/collection/components/animation/animations/rotating_exits/rotateOutDownLeft.js +1 -2
  199. package/dist/collection/components/animation/animations/rotating_exits/rotateOutDownRight.js +1 -2
  200. package/dist/collection/components/animation/animations/rotating_exits/rotateOutUpLeft.js +1 -2
  201. package/dist/collection/components/animation/animations/rotating_exits/rotateOutUpRight.js +1 -2
  202. package/dist/collection/components/animation/animations/sliding_entrances/slideInDown.js +1 -2
  203. package/dist/collection/components/animation/animations/sliding_entrances/slideInLeft.js +1 -2
  204. package/dist/collection/components/animation/animations/sliding_entrances/slideInRight.js +1 -2
  205. package/dist/collection/components/animation/animations/sliding_entrances/slideInUp.js +1 -2
  206. package/dist/collection/components/animation/animations/sliding_exits/slideOutDown.js +1 -2
  207. package/dist/collection/components/animation/animations/sliding_exits/slideOutLeft.js +1 -2
  208. package/dist/collection/components/animation/animations/sliding_exits/slideOutRight.js +1 -2
  209. package/dist/collection/components/animation/animations/sliding_exits/slideOutUp.js +1 -2
  210. package/dist/collection/components/animation/animations/specials/hinge.js +1 -2
  211. package/dist/collection/components/animation/animations/specials/jackInTheBox.js +1 -2
  212. package/dist/collection/components/animation/animations/specials/rollIn.js +1 -2
  213. package/dist/collection/components/animation/animations/specials/rollOut.js +1 -2
  214. package/dist/collection/components/animation/animations/zooming_entrances/zoomIn.js +1 -2
  215. package/dist/collection/components/animation/animations/zooming_entrances/zoomInDown.js +1 -2
  216. package/dist/collection/components/animation/animations/zooming_entrances/zoomInLeft.js +1 -2
  217. package/dist/collection/components/animation/animations/zooming_entrances/zoomInRight.js +1 -2
  218. package/dist/collection/components/animation/animations/zooming_entrances/zoomInUp.js +1 -2
  219. package/dist/collection/components/animation/animations/zooming_exits/zoomOut.js +1 -2
  220. package/dist/collection/components/animation/animations/zooming_exits/zoomOutDown.js +1 -2
  221. package/dist/collection/components/animation/animations/zooming_exits/zoomOutLeft.js +1 -2
  222. package/dist/collection/components/animation/animations/zooming_exits/zoomOutRight.js +1 -2
  223. package/dist/collection/components/animation/animations/zooming_exits/zoomOutUp.js +1 -2
  224. package/dist/collection/components/avatar/avatar.css +41 -0
  225. package/dist/collection/components/avatar/avatar.js +47 -0
  226. package/dist/collection/components/badge/badge.js +84 -0
  227. package/dist/collection/components/breadcrumb/breadcrumb.css +168 -0
  228. package/dist/collection/components/breadcrumb/breadcrumb.js +83 -0
  229. package/dist/collection/components/card/card.css +43 -0
  230. package/dist/collection/components/card/card.js +92 -0
  231. package/dist/collection/components/card-carousel/card-carousel.css +167 -0
  232. package/dist/collection/components/card-carousel/card-carousel.js +144 -0
  233. package/dist/collection/components/checkbox/checkbox-group.css +96 -106
  234. package/dist/collection/components/checkbox/checkbox-group.js +95 -56
  235. package/dist/collection/components/checkbox/checkbox-interface.js +0 -1
  236. package/dist/collection/components/checkbox/checkbox.css +303 -305
  237. package/dist/collection/components/checkbox/checkbox.js +76 -59
  238. package/dist/collection/components/collapsible-comparison/collapsible-comparison.css +80 -0
  239. package/dist/collection/components/collapsible-comparison/collapsible-comparison.js +120 -0
  240. package/dist/collection/components/content-links/content-links.css +46 -0
  241. package/dist/collection/components/content-links/content-links.js +21 -0
  242. package/dist/collection/components/cta/cta.css +49 -0
  243. package/dist/collection/components/cta/cta.js +175 -0
  244. package/dist/collection/components/data-table/table.cell.js +114 -0
  245. package/dist/collection/components/data-table/table.constants.js +4 -0
  246. package/dist/collection/components/data-table/table.css +327 -0
  247. package/dist/collection/components/data-table/table.header.js +65 -0
  248. package/dist/collection/components/data-table/table.js +1721 -0
  249. package/dist/collection/components/data-table/table.pin-service.js +388 -0
  250. package/dist/collection/components/data-table/table.row.js +112 -0
  251. package/dist/collection/components/data-table/table.store.js +144 -0
  252. package/dist/collection/components/data-table/table.utils.js +133 -0
  253. package/dist/collection/components/data-table/table.worker.js +220 -0
  254. package/dist/collection/components/datalist/datalist.css +43 -26
  255. package/dist/collection/components/datalist/datalist.js +36 -36
  256. package/dist/collection/components/date-input/date-input.css +25 -13
  257. package/dist/collection/components/date-input/date-input.js +49 -48
  258. package/dist/collection/components/date-picker/date-picker.css +51 -53
  259. package/dist/collection/components/date-picker/date-picker.js +41 -73
  260. package/dist/collection/components/date-picker/duet-date-picker/date-adapter.js +1 -2
  261. package/dist/collection/components/date-picker/duet-date-picker/date-localization.js +1 -2
  262. package/dist/collection/components/date-picker/duet-date-picker/date-picker-day.js +1 -2
  263. package/dist/collection/components/date-picker/duet-date-picker/date-picker-month.js +2 -3
  264. package/dist/collection/components/details/details.css +80 -106
  265. package/dist/collection/components/details/details.js +83 -134
  266. package/dist/collection/components/dialog/dialog.css +89 -87
  267. package/dist/collection/components/dialog/dialog.helpers.js +18 -7
  268. package/dist/collection/components/dialog/dialog.js +47 -57
  269. package/dist/collection/components/drawer/drawer.css +119 -50
  270. package/dist/collection/components/drawer/drawer.js +144 -55
  271. package/dist/collection/components/dropdown/dropdown.css +46 -31
  272. package/dist/collection/components/dropdown/dropdown.js +82 -64
  273. package/dist/collection/components/field-validator/field-validator.js +22 -25
  274. package/dist/collection/components/file-upload/file-upload-list.js +1 -2
  275. package/dist/collection/components/file-upload/file-upload.css +29 -17
  276. package/dist/collection/components/file-upload/file-upload.js +20 -20
  277. package/dist/collection/components/footer/footer.css +185 -0
  278. package/dist/collection/components/footer/footer.js +43 -0
  279. package/dist/collection/components/form-control/form-control.js +8 -8
  280. package/dist/collection/components/global-nav/assets/local-logged-in.json +202 -0
  281. package/dist/collection/components/global-nav/assets/local-logged-out.json +198 -0
  282. package/dist/collection/components/global-nav/global-nav.css +435 -0
  283. package/dist/collection/components/global-nav/global-nav.js +573 -1468
  284. package/dist/collection/components/global-search-results/global-search-results.css +26 -14
  285. package/dist/collection/components/global-search-results/global-search-results.js +36 -27
  286. package/dist/collection/components/grid/grid-item.js +2 -3
  287. package/dist/collection/components/grid/grid.css +23 -9
  288. package/dist/collection/components/grid/grid.js +21 -24
  289. package/dist/collection/components/hero/hero.css +23 -9
  290. package/dist/collection/components/hero/hero.js +12 -13
  291. package/dist/collection/components/icon/device/elysion.svg +5 -0
  292. package/dist/collection/components/icon/device/flongle.svg +4 -0
  293. package/dist/collection/components/icon/device/gridion.svg +9 -0
  294. package/dist/collection/components/icon/device/minion-mk1d.svg +4 -0
  295. package/dist/collection/components/icon/device/p2-integrated.svg +7 -0
  296. package/dist/collection/components/icon/device/p2-solo.svg +5 -0
  297. package/dist/collection/components/icon/device/p24.svg +6 -0
  298. package/dist/collection/components/icon/device/q.svg +4 -0
  299. package/dist/collection/components/icon/icon.css +76 -37
  300. package/dist/collection/components/icon/icon.js +144 -103
  301. package/dist/collection/components/icon/pictogram/analyse.svg +10 -0
  302. package/dist/collection/components/icon/pictogram/animal-research.svg +4 -0
  303. package/dist/collection/components/icon/pictogram/assembly.svg +3 -0
  304. package/dist/collection/components/icon/pictogram/biopharma.svg +3 -0
  305. package/dist/collection/components/icon/pictogram/cancer-research.svg +15 -0
  306. package/dist/collection/components/icon/pictogram/chromatin-conformation.svg +3 -0
  307. package/dist/collection/components/icon/pictogram/clinical-research.svg +3 -0
  308. package/dist/collection/components/icon/pictogram/environmental-conservation.svg +5 -0
  309. package/dist/collection/components/icon/pictogram/epigenetics.svg +5 -0
  310. package/dist/collection/components/icon/pictogram/fusion-transcripts.svg +3 -0
  311. package/dist/collection/components/icon/pictogram/gene-expression.svg +3 -0
  312. package/dist/collection/components/icon/pictogram/genome-research.svg +3 -0
  313. package/dist/collection/components/icon/pictogram/human-genomics.svg +4 -0
  314. package/dist/collection/components/icon/pictogram/infectious-disease.svg +13 -0
  315. package/dist/collection/components/icon/pictogram/microbial-genomics.svg +15 -0
  316. package/dist/collection/components/icon/pictogram/microbiome-metagenomics.svg +16 -0
  317. package/dist/collection/components/icon/pictogram/multiomics.svg +13 -0
  318. package/dist/collection/components/icon/pictogram/plant-research.svg +3 -0
  319. package/dist/collection/components/icon/pictogram/population-genomics.svg +6 -0
  320. package/dist/collection/components/icon/pictogram/prepare.svg +4 -0
  321. package/dist/collection/components/icon/pictogram/scalable.svg +12 -0
  322. package/dist/collection/components/icon/pictogram/sequence.svg +3 -0
  323. package/dist/collection/components/icon/pictogram/single-cell-spatial-transcriptions.svg +12 -0
  324. package/dist/collection/components/icon/pictogram/snvs-phasing.svg +4 -0
  325. package/dist/collection/components/icon/pictogram/splice-variation.svg +4 -0
  326. package/dist/collection/components/icon/pictogram/structural-variation.svg +4 -0
  327. package/dist/collection/components/icon/pictogram/targeted-sequencing.svg +10 -0
  328. package/dist/collection/components/icon/pictogram/transcriptomics.svg +3 -0
  329. package/dist/collection/components/icon/pictogram/unrestricted-read-length.svg +10 -0
  330. package/dist/collection/components/icon/pictogram/whole-genome-sequencing.svg +3 -0
  331. package/dist/collection/components/icon/pictogram/workflow-end-to-end.svg +3 -0
  332. package/dist/collection/components/icon/request.js +1 -2
  333. package/dist/collection/components/icon/utils.js +8 -11
  334. package/dist/collection/components/icon/validate.js +1 -2
  335. package/dist/collection/components/icon-button/icon-button.css +45 -37
  336. package/dist/collection/components/icon-button/icon-button.js +17 -26
  337. package/dist/collection/components/icon-item/icon-item.css +41 -0
  338. package/dist/collection/components/icon-item/icon-item.js +72 -0
  339. package/dist/collection/components/img/img.css +23 -9
  340. package/dist/collection/components/img/img.js +10 -11
  341. package/dist/collection/components/in-page-nav/in-page-nav.css +122 -0
  342. package/dist/collection/components/in-page-nav/in-page-nav.js +278 -0
  343. package/dist/collection/components/input/input.css +215 -167
  344. package/dist/collection/components/input/input.js +372 -133
  345. package/dist/collection/components/intersection-observe/intersection-observe.js +21 -10
  346. package/dist/collection/components/masked-overflow/masked-overflow.css +241 -0
  347. package/dist/collection/components/masked-overflow/masked-overflow.js +610 -0
  348. package/dist/collection/components/menu/menu.css +38 -46
  349. package/dist/collection/components/menu/menu.js +93 -36
  350. package/dist/collection/components/menu-drawer/menu-drawer.css +23 -9
  351. package/dist/collection/components/menu-drawer/menu-drawer.js +7 -8
  352. package/dist/collection/components/more-less/more-less.js +7 -8
  353. package/dist/collection/components/nav-item/nav-item.css +73 -270
  354. package/dist/collection/components/nav-item/nav-item.js +128 -291
  355. package/dist/collection/components/option/option.css +57 -39
  356. package/dist/collection/components/option/option.js +33 -18
  357. package/dist/collection/components/progress-bar/progress-bar.css +23 -9
  358. package/dist/collection/components/progress-bar/progress-bar.js +11 -9
  359. package/dist/collection/components/range/range.css +23 -9
  360. package/dist/collection/components/range/range.js +17 -19
  361. package/dist/collection/components/rating/rating.css +24 -10
  362. package/dist/collection/components/rating/rating.js +13 -18
  363. package/dist/collection/components/resize-observe/resize-observe.js +6 -9
  364. package/dist/collection/components/select/select.css +194 -223
  365. package/dist/collection/components/select/select.js +110 -138
  366. package/dist/collection/components/skeleton/skeleton.css +23 -9
  367. package/dist/collection/components/skeleton/skeleton.js +7 -7
  368. package/dist/collection/components/slides/lib/js/animate.js +1 -2
  369. package/dist/collection/components/slides/lib/js/cell.js +1 -2
  370. package/dist/collection/components/slides/lib/js/drag.js +1 -2
  371. package/dist/collection/components/slides/lib/js/fade.js +1 -2
  372. package/dist/collection/components/slides/lib/js/flickity.js +15 -5
  373. package/dist/collection/components/slides/lib/js/fullscreen.js +1 -2
  374. package/dist/collection/components/slides/lib/js/index.js +1 -2
  375. package/dist/collection/components/slides/lib/js/lazyload.js +1 -2
  376. package/dist/collection/components/slides/lib/js/page-dots.js +5 -7
  377. package/dist/collection/components/slides/lib/js/player.js +1 -2
  378. package/dist/collection/components/slides/lib/js/prev-next-button.js +1 -2
  379. package/dist/collection/components/slides/lib/js/slide.js +1 -2
  380. package/dist/collection/components/slides/lib/js/utils/event-emitter.js +1 -2
  381. package/dist/collection/components/slides/lib/js/utils/gestures.js +1 -2
  382. package/dist/collection/components/slides/lib/js/utils/get-size.js +1 -2
  383. package/dist/collection/components/slides/lib/js/utils/utils.js +1 -2
  384. package/dist/collection/components/slides/slide.css +23 -9
  385. package/dist/collection/components/slides/slide.js +3 -4
  386. package/dist/collection/components/slides/slides.css +49 -24
  387. package/dist/collection/components/slides/slides.js +16 -16
  388. package/dist/collection/components/sortable/sortable.css +25 -13
  389. package/dist/collection/components/sortable/sortable.js +34 -25
  390. package/dist/collection/components/spinner/spinner.css +23 -11
  391. package/dist/collection/components/spinner/spinner.js +8 -5
  392. package/dist/collection/components/split-pane/split-pane.css +33 -20
  393. package/dist/collection/components/split-pane/split-pane.js +13 -11
  394. package/dist/collection/components/sticker/sticker.css +23 -9
  395. package/dist/collection/components/sticker/sticker.js +14 -14
  396. package/dist/collection/components/table/table.css +31 -383
  397. package/dist/collection/components/table/table.js +211 -1566
  398. package/dist/collection/components/tabs/tab-content.css +23 -9
  399. package/dist/collection/components/tabs/tab-content.js +11 -7
  400. package/dist/collection/components/tabs/tab-group.css +70 -229
  401. package/dist/collection/components/tabs/tab-group.js +98 -266
  402. package/dist/collection/components/tabs/tab.css +83 -134
  403. package/dist/collection/components/tabs/tab.js +25 -18
  404. package/dist/collection/components/tag/tag.css +45 -0
  405. package/dist/collection/components/tag/tag.js +122 -0
  406. package/dist/collection/components/tooltip/tooltip.css +93 -66
  407. package/dist/collection/components/tooltip/tooltip.js +30 -14
  408. package/dist/collection/global/script/global.js +1 -2
  409. package/dist/collection/index.js +2 -2
  410. package/dist/collection/types/shared.js +0 -1
  411. package/dist/collection/utils/active-element.js +49 -2
  412. package/dist/collection/utils/constructible-style.js +3 -4
  413. package/dist/collection/utils/custom-template.js +1 -2
  414. package/dist/collection/utils/date-utils.js +1 -2
  415. package/dist/collection/utils/dom.js +10 -11
  416. package/dist/collection/utils/drag.js +1 -2
  417. package/dist/collection/utils/events.js +1 -2
  418. package/dist/collection/utils/fetch.js +1 -2
  419. package/dist/collection/utils/form.js +1 -2
  420. package/dist/collection/utils/gesture/gesture-controller.js +1 -2
  421. package/dist/collection/utils/gesture/index.js +1 -2
  422. package/dist/collection/utils/gesture/listener.js +1 -2
  423. package/dist/collection/utils/gesture/pointer-events.js +1 -2
  424. package/dist/collection/utils/gesture/recognizers.js +1 -2
  425. package/dist/collection/utils/gesture/swipe-back.js +1 -2
  426. package/dist/collection/utils/math.js +1 -2
  427. package/dist/collection/utils/modal.js +1 -2
  428. package/dist/collection/utils/popover.js +7 -4
  429. package/dist/collection/utils/promise-queue.js +1 -2
  430. package/dist/collection/utils/renderer.js +12 -3
  431. package/dist/collection/utils/scroll.js +59 -3
  432. package/dist/collection/utils/search-insights.js +1 -2
  433. package/dist/collection/utils/slot.js +82 -28
  434. package/dist/collection/utils/store/component-store.js +25 -14
  435. package/dist/collection/utils/store/get-set.js +1 -2
  436. package/dist/collection/utils/style.js +54 -0
  437. package/dist/collection/utils/tabbable.js +41 -27
  438. package/dist/collection/utils/testing/index.js +1 -2
  439. package/dist/collection/utils/theme.js +2 -4
  440. package/dist/collection/utils/throttle.js +1 -2
  441. package/dist/collection/utils/transitions.js +24 -7
  442. package/dist/components/active-element.js +50 -4
  443. package/dist/components/algolia-data.js +1 -3
  444. package/dist/components/algolia.js +964 -23
  445. package/dist/components/avatar.js +33 -0
  446. package/dist/components/badge.js +36 -0
  447. package/dist/components/component-store.js +27 -26
  448. package/dist/components/cta.js +61 -0
  449. package/dist/components/datalist.js +25 -30
  450. package/dist/components/date-picker.js +33 -45
  451. package/dist/components/details.js +198 -0
  452. package/dist/components/dom.js +11 -22
  453. package/dist/components/drag.js +1 -3
  454. package/dist/components/drawer.js +402 -0
  455. package/dist/components/dropdown.js +65 -59
  456. package/dist/components/events.js +1 -3
  457. package/dist/components/fade.js +2 -4
  458. package/dist/components/form-control.js +11 -9
  459. package/dist/components/fullscreen.js +2 -4
  460. package/dist/components/global-search-results.js +735 -0
  461. package/dist/components/grid.js +6 -9
  462. package/dist/components/icon-button.js +3 -17
  463. package/dist/components/icon.js +98 -90
  464. package/dist/components/img.js +6 -9
  465. package/dist/components/index-browser.js +3 -5
  466. package/dist/components/index.js +41 -22
  467. package/dist/components/index2.js +1 -3
  468. package/dist/components/index3.js +4 -9
  469. package/dist/components/input.js +178 -65
  470. package/dist/components/lazyload.js +2 -4
  471. package/dist/components/local-logged-in.js +214 -0
  472. package/dist/components/local-logged-out.js +210 -0
  473. package/dist/components/masked-overflow.js +402 -0
  474. package/dist/components/math.js +2 -4
  475. package/dist/components/menu.js +76 -29
  476. package/dist/components/modal.js +1 -3
  477. package/dist/components/nano-accordion.js +13 -26
  478. package/dist/components/nano-alert.js +82 -28
  479. package/dist/components/nano-algolia-filter.js +5 -8
  480. package/dist/components/nano-algolia-pagination.js +3 -5
  481. package/dist/components/nano-algolia-results.js +4 -6
  482. package/dist/components/nano-algolia.js +1 -3
  483. package/dist/components/nano-animation.js +2 -4
  484. package/dist/components/nano-avatar.d.ts +11 -0
  485. package/dist/components/nano-avatar.js +9 -0
  486. package/dist/components/nano-badge.d.ts +11 -0
  487. package/dist/components/nano-badge.js +9 -0
  488. package/dist/components/nano-breadcrumb.d.ts +11 -0
  489. package/dist/components/nano-breadcrumb.js +84 -0
  490. package/dist/components/nano-card-carousel.d.ts +11 -0
  491. package/dist/components/nano-card-carousel.js +124 -0
  492. package/dist/components/nano-card.d.ts +11 -0
  493. package/dist/components/nano-card.js +42 -0
  494. package/dist/components/nano-checkbox-group.js +76 -42
  495. package/dist/components/nano-checkbox.js +35 -22
  496. package/dist/components/nano-collapsible-comparison.d.ts +11 -0
  497. package/dist/components/nano-collapsible-comparison.js +106 -0
  498. package/dist/components/nano-content-links.d.ts +11 -0
  499. package/dist/components/nano-content-links.js +32 -0
  500. package/dist/components/nano-cta.d.ts +11 -0
  501. package/dist/components/nano-cta.js +9 -0
  502. package/dist/components/nano-data-table.d.ts +11 -0
  503. package/dist/components/nano-data-table.js +1945 -0
  504. package/dist/components/nano-datalist.js +1 -3
  505. package/dist/components/nano-date-input.js +35 -34
  506. package/dist/components/nano-date-picker.js +3 -5
  507. package/dist/components/nano-details.js +3 -209
  508. package/dist/components/nano-dialog.js +38 -34
  509. package/dist/components/nano-drawer.js +2 -335
  510. package/dist/components/nano-dropdown.js +1 -3
  511. package/dist/components/nano-field-validator.js +8 -14
  512. package/dist/components/nano-file-upload.js +4 -7
  513. package/dist/components/nano-footer.d.ts +11 -0
  514. package/dist/components/nano-footer.js +47 -0
  515. package/dist/components/nano-global-nav.js +519 -1251
  516. package/dist/components/nano-global-search-results.js +2 -669
  517. package/dist/components/nano-grid-item.js +2 -4
  518. package/dist/components/nano-grid.js +1 -3
  519. package/dist/components/nano-hero.js +9 -12
  520. package/dist/components/nano-icon-button.js +1 -3
  521. package/dist/components/nano-icon-item.d.ts +11 -0
  522. package/dist/components/nano-icon-item.js +39 -0
  523. package/dist/components/nano-icon.js +1 -3
  524. package/dist/components/nano-img.js +1 -3
  525. package/dist/components/nano-in-page-nav.d.ts +11 -0
  526. package/dist/components/nano-in-page-nav.js +246 -0
  527. package/dist/components/nano-input.js +1 -3
  528. package/dist/components/nano-intersection-observe.js +11 -5
  529. package/dist/components/nano-masked-overflow.d.ts +11 -0
  530. package/dist/components/nano-masked-overflow.js +9 -0
  531. package/dist/components/nano-menu-drawer.js +5 -8
  532. package/dist/components/nano-menu.js +1 -3
  533. package/dist/components/nano-more-less.js +3 -5
  534. package/dist/components/nano-nav-item.js +1 -3
  535. package/dist/components/nano-option.js +1 -3
  536. package/dist/components/nano-progress-bar.js +1 -3
  537. package/dist/components/nano-range.js +4 -7
  538. package/dist/components/nano-rating.js +8 -16
  539. package/dist/components/nano-resize-observe.js +1 -3
  540. package/dist/components/nano-select.js +1 -3
  541. package/dist/components/nano-skeleton.js +1 -3
  542. package/dist/components/nano-slide.js +4 -7
  543. package/dist/components/nano-slides.js +3 -3087
  544. package/dist/components/nano-sortable.js +12 -13
  545. package/dist/components/nano-spinner.js +1 -3
  546. package/dist/components/nano-split-pane.js +5 -8
  547. package/dist/components/nano-sticker.js +1 -3
  548. package/dist/components/nano-tab-content.js +8 -11
  549. package/dist/components/nano-tab-group.js +85 -239
  550. package/dist/components/nano-tab.js +17 -17
  551. package/dist/components/nano-table.js +205 -1882
  552. package/dist/components/nano-tag.d.ts +11 -0
  553. package/dist/components/nano-tag.js +9 -0
  554. package/dist/components/nano-tooltip.js +1 -3
  555. package/dist/components/nav-item.js +174 -225
  556. package/dist/components/option.js +12 -13
  557. package/dist/components/page-dots.js +6 -9
  558. package/dist/components/popover.js +31 -16
  559. package/dist/components/progress-bar.js +6 -9
  560. package/dist/components/renderer.js +12 -4
  561. package/dist/components/resize-observe.js +2 -4
  562. package/dist/components/scroll.js +60 -5
  563. package/dist/components/select.js +113 -102
  564. package/dist/components/skeleton.js +5 -8
  565. package/dist/components/slides.js +3097 -0
  566. package/dist/components/slot.js +84 -36
  567. package/dist/components/spinner.js +4 -7
  568. package/dist/components/sticker.js +7 -10
  569. package/dist/components/style.js +56 -0
  570. package/dist/components/tabbable.js +42 -28
  571. package/dist/components/table.worker.js +3 -5
  572. package/dist/components/tag.js +89 -0
  573. package/dist/components/theme.js +2 -5
  574. package/dist/components/throttle.js +1 -3
  575. package/dist/components/tooltip.js +20 -10
  576. package/dist/esm/active-element-C1pBwzyj.js +65 -0
  577. package/dist/esm/algolia-data-BNDipgId.js +47 -0
  578. package/dist/esm/algoliasearch-lite.esm.browser-C1SNUAIj.js +949 -0
  579. package/dist/esm/component-store-DqCSKpAK.js +324 -0
  580. package/dist/esm/date-utils-BZYdjI1P.js +217 -0
  581. package/dist/esm/dom-CF0Ycs9M.js +67 -0
  582. package/dist/esm/drag-BLOEuv-q.js +70 -0
  583. package/dist/esm/events-ClRFmcmJ.js +34 -0
  584. package/dist/esm/fade-CdIyPeai.js +210 -0
  585. package/dist/esm/form-control-DXPQniNX.js +81 -0
  586. package/dist/esm/fullscreen-C4GllGer.js +130 -0
  587. package/dist/esm/index-BQSuCPXH.js +652 -0
  588. package/dist/esm/index-CFYZ-ZOT.js +3289 -0
  589. package/dist/esm/index-DxKBolVo.js +196 -0
  590. package/dist/esm/index-browser-BvSm1vXe.js +6 -0
  591. package/dist/esm/index.js +43 -24
  592. package/dist/esm/lazyload-pTbJ7q2S.js +92 -0
  593. package/dist/esm/loader.js +4 -7
  594. package/dist/esm/local-logged-in-DNQyU0ot.js +214 -0
  595. package/dist/esm/local-logged-out-CD2oXHpq.js +210 -0
  596. package/dist/esm/math-BEqsTfVK.js +36 -0
  597. package/dist/esm/modal-B50PWCuY.js +47 -0
  598. package/dist/esm/nano-accordion.entry.js +13 -25
  599. package/dist/esm/nano-alert.entry.js +85 -34
  600. package/dist/esm/nano-algolia-filter.entry.js +10 -13
  601. package/dist/esm/nano-algolia-pagination.entry.js +5 -7
  602. package/dist/esm/nano-algolia-results.entry.js +7 -9
  603. package/dist/esm/nano-algolia.entry.js +22 -25
  604. package/dist/esm/nano-animation.entry.js +4 -6
  605. package/dist/esm/nano-avatar_5.entry.js +1772 -0
  606. package/dist/esm/nano-breadcrumb.entry.js +39 -0
  607. package/dist/esm/nano-card-carousel.entry.js +93 -0
  608. package/dist/esm/nano-card.entry.js +21 -0
  609. package/dist/esm/nano-checkbox-group.entry.js +79 -45
  610. package/dist/esm/nano-checkbox.entry.js +34 -22
  611. package/dist/esm/nano-collapsible-comparison.entry.js +60 -0
  612. package/dist/esm/nano-components.js +6 -8
  613. package/dist/esm/nano-content-links.entry.js +15 -0
  614. package/dist/esm/nano-cta.entry.js +40 -0
  615. package/dist/esm/nano-data-table-DsTG4mqR.js +1844 -0
  616. package/dist/esm/nano-data-table.entry.js +11 -0
  617. package/dist/esm/nano-datalist_3.entry.js +85 -257
  618. package/dist/esm/nano-date-input.entry.js +14 -25
  619. package/dist/esm/nano-date-picker_2.entry.js +996 -0
  620. package/dist/esm/nano-details.entry.js +61 -79
  621. package/dist/esm/nano-dialog.entry.js +45 -40
  622. package/dist/esm/nano-dropdown_2.entry.js +637 -0
  623. package/dist/esm/nano-field-validator.entry.js +9 -15
  624. package/dist/esm/nano-file-upload.entry.js +6 -9
  625. package/dist/esm/nano-footer.entry.js +23 -0
  626. package/dist/esm/nano-global-nav.entry.js +416 -1169
  627. package/dist/esm/nano-grid-item.entry.js +3 -5
  628. package/dist/esm/nano-grid_2.entry.js +12 -16
  629. package/dist/esm/nano-hero.entry.js +9 -14
  630. package/dist/esm/nano-icon-item.entry.js +19 -0
  631. package/dist/esm/nano-icon_3.entry.js +651 -0
  632. package/dist/esm/nano-in-page-nav.entry.js +210 -0
  633. package/dist/esm/nano-intersection-observe.entry.js +14 -7
  634. package/dist/esm/nano-masked-overflow.entry.js +349 -0
  635. package/dist/esm/nano-menu-drawer.entry.js +8 -11
  636. package/dist/esm/nano-more-less.entry.js +5 -7
  637. package/dist/esm/nano-nav-item.entry.js +269 -0
  638. package/dist/esm/nano-progress-bar.entry.js +8 -11
  639. package/dist/esm/nano-range.entry.js +9 -12
  640. package/dist/esm/nano-rating.entry.js +10 -18
  641. package/dist/esm/nano-resize-observe_2.entry.js +8 -11
  642. package/dist/esm/nano-slide.entry.js +6 -9
  643. package/dist/esm/nano-slides-BcyK9Szs.js +3045 -0
  644. package/dist/esm/nano-slides.entry.js +4 -6
  645. package/dist/esm/nano-sortable.entry.js +11 -12
  646. package/dist/esm/nano-spinner.entry.js +6 -9
  647. package/dist/esm/nano-split-pane.entry.js +9 -12
  648. package/dist/esm/nano-sticker.entry.js +10 -13
  649. package/dist/esm/nano-tab-content.entry.js +9 -12
  650. package/dist/esm/nano-tab-group.entry.js +64 -226
  651. package/dist/esm/nano-tab.entry.js +18 -18
  652. package/dist/esm/nano-table.entry.js +234 -9
  653. package/dist/esm/page-dots-Cq8hjoql.js +136 -0
  654. package/dist/esm/popover-D1cBIHdr.js +1945 -0
  655. package/dist/esm/renderer-LJzCFyMt.js +66 -0
  656. package/dist/esm/scroll-BRRzrkAi.js +179 -0
  657. package/dist/esm/search-insights-8OL2oeQN.js +48 -0
  658. package/dist/esm/slot-DBzVpliZ.js +104 -0
  659. package/dist/esm/style-BrRDhFfF.js +56 -0
  660. package/dist/esm/tabbable-BpHwrUYt.js +121 -0
  661. package/dist/esm/table.worker-BTF0UXAd.js +4 -0
  662. package/dist/esm/table.worker-BoX4CUXT.js +28 -0
  663. package/dist/esm/theme-aiuyr36I.js +43 -0
  664. package/dist/esm/throttle-C93FMm2Z.js +48 -0
  665. package/dist/nano-assets/font/jp/noto-sans-jp-v53-japanese_latin-300.woff2 +0 -0
  666. package/dist/nano-assets/font/latin/noto-sans-v39-latin-300.woff2 +0 -0
  667. package/dist/nano-assets/font/latin/noto-sans-v39-latin-300italic.woff2 +0 -0
  668. package/dist/nano-assets/font/sc/noto-sans-sc-v37-chinese-simplified_latin-300.woff2 +0 -0
  669. package/dist/nano-assets/hash.txt +1 -1
  670. package/dist/nano-assets/icon/device/elysion.svg +5 -0
  671. package/dist/nano-assets/icon/device/flongle.svg +4 -0
  672. package/dist/nano-assets/icon/device/gridion.svg +9 -0
  673. package/dist/nano-assets/icon/device/minion-mk1d.svg +4 -0
  674. package/dist/nano-assets/icon/device/p2-integrated.svg +7 -0
  675. package/dist/nano-assets/icon/device/p2-solo.svg +5 -0
  676. package/dist/nano-assets/icon/device/p24.svg +6 -0
  677. package/dist/nano-assets/icon/device/q.svg +4 -0
  678. package/dist/nano-assets/icon/pictogram/analyse.svg +10 -0
  679. package/dist/nano-assets/icon/pictogram/animal-research.svg +4 -0
  680. package/dist/nano-assets/icon/pictogram/assembly.svg +3 -0
  681. package/dist/nano-assets/icon/pictogram/biopharma.svg +3 -0
  682. package/dist/nano-assets/icon/pictogram/cancer-research.svg +15 -0
  683. package/dist/nano-assets/icon/pictogram/chromatin-conformation.svg +3 -0
  684. package/dist/nano-assets/icon/pictogram/clinical-research.svg +3 -0
  685. package/dist/nano-assets/icon/pictogram/environmental-conservation.svg +5 -0
  686. package/dist/nano-assets/icon/pictogram/epigenetics.svg +5 -0
  687. package/dist/nano-assets/icon/pictogram/fusion-transcripts.svg +3 -0
  688. package/dist/nano-assets/icon/pictogram/gene-expression.svg +3 -0
  689. package/dist/nano-assets/icon/pictogram/genome-research.svg +3 -0
  690. package/dist/nano-assets/icon/pictogram/human-genomics.svg +4 -0
  691. package/dist/nano-assets/icon/pictogram/infectious-disease.svg +13 -0
  692. package/dist/nano-assets/icon/pictogram/microbial-genomics.svg +15 -0
  693. package/dist/nano-assets/icon/pictogram/microbiome-metagenomics.svg +16 -0
  694. package/dist/nano-assets/icon/pictogram/multiomics.svg +13 -0
  695. package/dist/nano-assets/icon/pictogram/plant-research.svg +3 -0
  696. package/dist/nano-assets/icon/pictogram/population-genomics.svg +6 -0
  697. package/dist/nano-assets/icon/pictogram/prepare.svg +4 -0
  698. package/dist/nano-assets/icon/pictogram/scalable.svg +12 -0
  699. package/dist/nano-assets/icon/pictogram/sequence.svg +3 -0
  700. package/dist/nano-assets/icon/pictogram/single-cell-spatial-transcriptions.svg +12 -0
  701. package/dist/nano-assets/icon/pictogram/snvs-phasing.svg +4 -0
  702. package/dist/nano-assets/icon/pictogram/splice-variation.svg +4 -0
  703. package/dist/nano-assets/icon/pictogram/structural-variation.svg +4 -0
  704. package/dist/nano-assets/icon/pictogram/targeted-sequencing.svg +10 -0
  705. package/dist/nano-assets/icon/pictogram/transcriptomics.svg +3 -0
  706. package/dist/nano-assets/icon/pictogram/unrestricted-read-length.svg +10 -0
  707. package/dist/nano-assets/icon/pictogram/whole-genome-sequencing.svg +3 -0
  708. package/dist/nano-assets/icon/pictogram/workflow-end-to-end.svg +3 -0
  709. package/dist/nano-assets/img/bsi/27001.svg +188 -0
  710. package/dist/nano-assets/img/bsi/9001.svg +172 -0
  711. package/dist/nano-assets/img/bsi/mark-of-trust.svg +230 -0
  712. package/dist/nano-assets/img/flags/en.svg +15 -0
  713. package/dist/nano-assets/img/flags/es.svg +544 -0
  714. package/dist/nano-assets/img/flags/ja.svg +11 -0
  715. package/dist/nano-assets/img/flags/zh.svg +14 -0
  716. package/dist/nano-assets/local-logged-in.json +202 -0
  717. package/dist/nano-assets/local-logged-out.json +198 -0
  718. package/dist/nano-components/active-element-C1pBwzyj.js +4 -0
  719. package/dist/nano-components/algolia-data-BNDipgId.js +4 -0
  720. package/dist/nano-components/algoliasearch-lite.esm.browser-C1SNUAIj.js +4 -0
  721. package/dist/nano-components/assets/local-logged-in.json +202 -0
  722. package/dist/nano-components/assets/local-logged-out.json +198 -0
  723. package/dist/nano-components/component-store-DqCSKpAK.js +4 -0
  724. package/dist/nano-components/date-utils-BZYdjI1P.js +4 -0
  725. package/dist/nano-components/device/elysion.svg +5 -0
  726. package/dist/nano-components/device/flongle.svg +4 -0
  727. package/dist/nano-components/device/gridion.svg +9 -0
  728. package/dist/nano-components/device/minion-mk1d.svg +4 -0
  729. package/dist/nano-components/device/p2-integrated.svg +7 -0
  730. package/dist/nano-components/device/p2-solo.svg +5 -0
  731. package/dist/nano-components/device/p24.svg +6 -0
  732. package/dist/nano-components/device/q.svg +4 -0
  733. package/dist/nano-components/dom-CF0Ycs9M.js +4 -0
  734. package/dist/nano-components/drag-BLOEuv-q.js +4 -0
  735. package/dist/nano-components/events-ClRFmcmJ.js +4 -0
  736. package/dist/nano-components/fade-CdIyPeai.js +4 -0
  737. package/dist/nano-components/form-control-DXPQniNX.js +4 -0
  738. package/dist/nano-components/fullscreen-C4GllGer.js +4 -0
  739. package/dist/nano-components/index-BQSuCPXH.js +4 -0
  740. package/dist/nano-components/index-CFYZ-ZOT.js +5 -0
  741. package/dist/nano-components/index-DxKBolVo.js +4 -0
  742. package/dist/nano-components/index-browser-BvSm1vXe.js +4 -0
  743. package/dist/nano-components/index.esm.js +2 -3
  744. package/dist/nano-components/lazyload-pTbJ7q2S.js +4 -0
  745. package/dist/nano-components/local-logged-in-DNQyU0ot.js +4 -0
  746. package/dist/nano-components/local-logged-out-CD2oXHpq.js +4 -0
  747. package/dist/nano-components/math-BEqsTfVK.js +4 -0
  748. package/dist/nano-components/modal-B50PWCuY.js +4 -0
  749. package/dist/nano-components/nano-accordion.entry.js +2 -3
  750. package/dist/nano-components/nano-alert.entry.js +2 -3
  751. package/dist/nano-components/nano-algolia-filter.entry.js +2 -3
  752. package/dist/nano-components/nano-algolia-pagination.entry.js +2 -3
  753. package/dist/nano-components/nano-algolia-results.entry.js +2 -3
  754. package/dist/nano-components/nano-algolia.entry.js +2 -3
  755. package/dist/nano-components/nano-animation.entry.js +2 -3
  756. package/dist/nano-components/nano-avatar_5.entry.js +4 -0
  757. package/dist/nano-components/nano-breadcrumb.entry.js +4 -0
  758. package/dist/nano-components/nano-card-carousel.entry.js +4 -0
  759. package/dist/nano-components/nano-card.entry.js +4 -0
  760. package/dist/nano-components/nano-checkbox-group.entry.js +2 -3
  761. package/dist/nano-components/nano-checkbox.entry.js +2 -3
  762. package/dist/nano-components/nano-collapsible-comparison.entry.js +4 -0
  763. package/dist/nano-components/nano-components.css +2025 -1
  764. package/dist/nano-components/nano-components.esm.js +2 -3
  765. package/dist/nano-components/nano-content-links.entry.js +4 -0
  766. package/dist/nano-components/nano-cta.entry.js +4 -0
  767. package/dist/nano-components/nano-data-table-DsTG4mqR.js +4 -0
  768. package/dist/nano-components/nano-data-table.entry.js +4 -0
  769. package/dist/nano-components/nano-datalist_3.entry.js +2 -3
  770. package/dist/nano-components/nano-date-input.entry.js +2 -3
  771. package/dist/nano-components/nano-date-picker_2.entry.js +4 -0
  772. package/dist/nano-components/nano-details.entry.js +2 -3
  773. package/dist/nano-components/nano-dialog.entry.js +2 -3
  774. package/dist/nano-components/nano-dropdown_2.entry.js +4 -0
  775. package/dist/nano-components/nano-field-validator.entry.js +2 -3
  776. package/dist/nano-components/nano-file-upload.entry.js +2 -3
  777. package/dist/nano-components/nano-footer.entry.js +4 -0
  778. package/dist/nano-components/nano-global-nav.entry.js +2 -3
  779. package/dist/nano-components/nano-grid-item.entry.js +2 -3
  780. package/dist/nano-components/nano-grid_2.entry.js +2 -3
  781. package/dist/nano-components/nano-hero.entry.js +2 -3
  782. package/dist/nano-components/nano-icon-item.entry.js +4 -0
  783. package/dist/nano-components/nano-icon_3.entry.js +4 -0
  784. package/dist/nano-components/nano-in-page-nav.entry.js +4 -0
  785. package/dist/nano-components/nano-intersection-observe.entry.js +2 -3
  786. package/dist/nano-components/nano-masked-overflow.entry.js +4 -0
  787. package/dist/nano-components/nano-menu-drawer.entry.js +2 -3
  788. package/dist/nano-components/nano-more-less.entry.js +2 -3
  789. package/dist/nano-components/nano-nav-item.entry.js +4 -0
  790. package/dist/nano-components/nano-progress-bar.entry.js +2 -3
  791. package/dist/nano-components/nano-range.entry.js +2 -3
  792. package/dist/nano-components/nano-rating.entry.js +2 -3
  793. package/dist/nano-components/nano-resize-observe_2.entry.js +2 -3
  794. package/dist/nano-components/nano-slide.entry.js +2 -3
  795. package/dist/nano-components/nano-slides-BcyK9Szs.js +22 -0
  796. package/dist/nano-components/nano-slides.entry.js +2 -3
  797. package/dist/nano-components/nano-sortable.entry.js +2 -3
  798. package/dist/nano-components/nano-spinner.entry.js +2 -3
  799. package/dist/nano-components/nano-split-pane.entry.js +2 -3
  800. package/dist/nano-components/nano-sticker.entry.js +2 -3
  801. package/dist/nano-components/nano-tab-content.entry.js +2 -3
  802. package/dist/nano-components/nano-tab-group.entry.js +2 -3
  803. package/dist/nano-components/nano-tab.entry.js +2 -3
  804. package/dist/nano-components/nano-table.entry.js +2 -3
  805. package/dist/nano-components/page-dots-Cq8hjoql.js +4 -0
  806. package/dist/nano-components/pictogram/analyse.svg +10 -0
  807. package/dist/nano-components/pictogram/animal-research.svg +4 -0
  808. package/dist/nano-components/pictogram/assembly.svg +3 -0
  809. package/dist/nano-components/pictogram/biopharma.svg +3 -0
  810. package/dist/nano-components/pictogram/cancer-research.svg +15 -0
  811. package/dist/nano-components/pictogram/chromatin-conformation.svg +3 -0
  812. package/dist/nano-components/pictogram/clinical-research.svg +3 -0
  813. package/dist/nano-components/pictogram/environmental-conservation.svg +5 -0
  814. package/dist/nano-components/pictogram/epigenetics.svg +5 -0
  815. package/dist/nano-components/pictogram/fusion-transcripts.svg +3 -0
  816. package/dist/nano-components/pictogram/gene-expression.svg +3 -0
  817. package/dist/nano-components/pictogram/genome-research.svg +3 -0
  818. package/dist/nano-components/pictogram/human-genomics.svg +4 -0
  819. package/dist/nano-components/pictogram/infectious-disease.svg +13 -0
  820. package/dist/nano-components/pictogram/microbial-genomics.svg +15 -0
  821. package/dist/nano-components/pictogram/microbiome-metagenomics.svg +16 -0
  822. package/dist/nano-components/pictogram/multiomics.svg +13 -0
  823. package/dist/nano-components/pictogram/plant-research.svg +3 -0
  824. package/dist/nano-components/pictogram/population-genomics.svg +6 -0
  825. package/dist/nano-components/pictogram/prepare.svg +4 -0
  826. package/dist/nano-components/pictogram/scalable.svg +12 -0
  827. package/dist/nano-components/pictogram/sequence.svg +3 -0
  828. package/dist/nano-components/pictogram/single-cell-spatial-transcriptions.svg +12 -0
  829. package/dist/nano-components/pictogram/snvs-phasing.svg +4 -0
  830. package/dist/nano-components/pictogram/splice-variation.svg +4 -0
  831. package/dist/nano-components/pictogram/structural-variation.svg +4 -0
  832. package/dist/nano-components/pictogram/targeted-sequencing.svg +10 -0
  833. package/dist/nano-components/pictogram/transcriptomics.svg +3 -0
  834. package/dist/nano-components/pictogram/unrestricted-read-length.svg +10 -0
  835. package/dist/nano-components/pictogram/whole-genome-sequencing.svg +3 -0
  836. package/dist/nano-components/pictogram/workflow-end-to-end.svg +3 -0
  837. package/dist/nano-components/popover-D1cBIHdr.js +4 -0
  838. package/dist/nano-components/renderer-LJzCFyMt.js +4 -0
  839. package/dist/nano-components/scroll-BRRzrkAi.js +4 -0
  840. package/dist/nano-components/search-insights-8OL2oeQN.js +4 -0
  841. package/dist/nano-components/slot-DBzVpliZ.js +4 -0
  842. package/dist/nano-components/style-BrRDhFfF.js +4 -0
  843. package/dist/nano-components/tabbable-BpHwrUYt.js +4 -0
  844. package/dist/nano-components/table.worker-BTF0UXAd.js +4 -0
  845. package/dist/nano-components/table.worker-BoX4CUXT.js +4 -0
  846. package/dist/nano-components/theme-aiuyr36I.js +4 -0
  847. package/dist/nano-components/throttle-C93FMm2Z.js +4 -0
  848. package/dist/plugins/postcss/scoped-part.js +26 -0
  849. package/dist/plugins/stencil/vue-output/generate-vue-component.js +73 -0
  850. package/dist/plugins/stencil/vue-output/index.js +4 -0
  851. package/dist/plugins/stencil/vue-output/output-vue.js +95 -0
  852. package/dist/plugins/stencil/vue-output/plugin.js +43 -0
  853. package/dist/plugins/stencil/vue-output/types.js +1 -0
  854. package/dist/plugins/stencil/vue-output/utils.js +81 -0
  855. package/dist/stencil.config.js +50 -22
  856. package/dist/stencil.config.prod.js +4 -2
  857. package/dist/style/components.css +1 -0
  858. package/dist/style/components.css.map +1 -0
  859. package/dist/style/core.css +1 -0
  860. package/dist/style/core.css.map +1 -0
  861. package/dist/style/dark.css +1 -0
  862. package/dist/style/dark.css.map +1 -0
  863. package/dist/style/light.css +1 -0
  864. package/dist/style/light.css.map +1 -0
  865. package/dist/style/nano.css +1 -0
  866. package/dist/style/nano.css.map +1 -0
  867. package/dist/testing/mocks/intersection-observer.js +1 -2
  868. package/dist/types/Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/postcss/scoped-part.d.ts +8 -0
  869. package/dist/types/Users/John.Jenkins/projects/nano-components/packages/components/.stencil/stencil.config.d.ts +2 -0
  870. package/dist/types/Users/John.Jenkins/projects/nano-components/packages/components/.stencil/stencil.config.prod.d.ts +2 -0
  871. package/dist/types/components/accordion/accordion.d.ts +10 -12
  872. package/dist/types/components/alert/alert.d.ts +35 -5
  873. package/dist/types/components/alert/alert.helpers.d.ts +7 -5
  874. package/dist/types/components/algolia/algolia-interface.d.ts +1 -1
  875. package/dist/types/components/avatar/avatar.d.ts +13 -0
  876. package/dist/types/components/badge/badge.d.ts +17 -0
  877. package/dist/types/components/breadcrumb/breadcrumb.d.ts +22 -0
  878. package/dist/types/components/card/card.d.ts +20 -0
  879. package/dist/types/components/card-carousel/card-carousel.d.ts +32 -0
  880. package/dist/types/components/checkbox/checkbox-group.d.ts +12 -7
  881. package/dist/types/components/checkbox/checkbox.d.ts +16 -11
  882. package/dist/types/components/collapsible-comparison/collapsible-comparison.d.ts +30 -0
  883. package/dist/types/components/content-links/content-links.d.ts +10 -0
  884. package/dist/types/components/cta/cta.d.ts +30 -0
  885. package/dist/types/components/data-table/table-interface.d.ts +280 -0
  886. package/dist/types/components/data-table/table.d.ts +250 -0
  887. package/dist/types/components/data-table/table.store.d.ts +24 -0
  888. package/dist/types/components/data-table/table.utils.d.ts +63 -0
  889. package/dist/types/components/datalist/datalist.d.ts +5 -5
  890. package/dist/types/components/date-input/date-input.d.ts +8 -5
  891. package/dist/types/components/date-picker/date-picker.d.ts +11 -15
  892. package/dist/types/components/details/details.d.ts +25 -27
  893. package/dist/types/components/dialog/dialog.d.ts +4 -5
  894. package/dist/types/components/dialog/dialog.helpers.d.ts +2 -5
  895. package/dist/types/components/drawer/drawer.d.ts +14 -3
  896. package/dist/types/components/dropdown/dropdown.d.ts +11 -9
  897. package/dist/types/components/field-validator/field-validator.d.ts +4 -6
  898. package/dist/types/components/footer/footer.d.ts +21 -0
  899. package/dist/types/components/form-control/form-control.d.ts +4 -1
  900. package/dist/types/components/global-nav/global-nav.d.ts +111 -280
  901. package/dist/types/components/global-search-results/global-search-results.d.ts +8 -7
  902. package/dist/types/components/grid/grid.d.ts +4 -6
  903. package/dist/types/components/icon/icon.d.ts +21 -14
  904. package/dist/types/components/icon-button/icon-button.d.ts +4 -4
  905. package/dist/types/components/icon-item/icon-item.d.ts +17 -0
  906. package/dist/types/components/in-page-nav/in-page-nav.d.ts +52 -0
  907. package/dist/types/components/input/input.d.ts +59 -21
  908. package/dist/types/components/intersection-observe/intersection-observe.d.ts +6 -2
  909. package/dist/types/components/masked-overflow/masked-overflow.d.ts +94 -0
  910. package/dist/types/components/menu/menu.d.ts +15 -7
  911. package/dist/types/components/nav-item/nav-item.d.ts +30 -84
  912. package/dist/types/components/option/option.d.ts +2 -1
  913. package/dist/types/components/progress-bar/progress-bar.d.ts +4 -1
  914. package/dist/types/components/range/range.d.ts +3 -4
  915. package/dist/types/components/rating/rating.d.ts +0 -1
  916. package/dist/types/components/resize-observe/resize-observe.d.ts +2 -4
  917. package/dist/types/components/select/select.d.ts +20 -21
  918. package/dist/types/components/skeleton/skeleton.d.ts +3 -2
  919. package/dist/types/components/slides/slides.d.ts +3 -3
  920. package/dist/types/components/sortable/sortable.d.ts +5 -5
  921. package/dist/types/components/spinner/spinner.d.ts +4 -0
  922. package/dist/types/components/split-pane/split-pane.d.ts +3 -0
  923. package/dist/types/components/table/table.d.ts +27 -245
  924. package/dist/types/components/tabs/tab-content.d.ts +6 -1
  925. package/dist/types/components/tabs/tab-group.d.ts +17 -37
  926. package/dist/types/components/tabs/tab.d.ts +9 -4
  927. package/dist/types/components/tag/tag.d.ts +30 -0
  928. package/dist/types/components/tooltip/tooltip.d.ts +4 -0
  929. package/dist/types/components.d.ts +2617 -1108
  930. package/dist/types/stencil-public-runtime.d.ts +23 -1
  931. package/dist/types/types/shared.d.ts +1 -1
  932. package/dist/types/utils/active-element.d.ts +20 -0
  933. package/dist/types/utils/popover.d.ts +1 -0
  934. package/dist/types/utils/scroll.d.ts +15 -1
  935. package/dist/types/utils/slot.d.ts +25 -9
  936. package/dist/types/utils/store/component-store.d.ts +21 -0
  937. package/dist/types/utils/style.d.ts +9 -0
  938. package/dist/types/utils/tabbable.d.ts +4 -2
  939. package/dist/types/utils/transitions.d.ts +2 -0
  940. package/dist/wdio.conf.js +1 -3
  941. package/docs-json.json +15694 -12511
  942. package/docs-vscode.json +807 -442
  943. package/hydrate/index.d.ts +38 -24
  944. package/hydrate/index.js +15165 -14546
  945. package/hydrate/index.mjs +15164 -14545
  946. package/loader/cdn.js +1 -1
  947. package/loader/index.cjs.js +1 -1
  948. package/loader/index.es2017.js +1 -1
  949. package/loader/index.js +1 -1
  950. package/package.json +26 -19
  951. package/dist/cjs/active-element-8ffcfe49.js +0 -21
  952. package/dist/cjs/active-element-8ffcfe49.js.map +0 -1
  953. package/dist/cjs/algolia-data-ca9cd58e.js +0 -51
  954. package/dist/cjs/algolia-data-ca9cd58e.js.map +0 -1
  955. package/dist/cjs/algoliasearch-lite.esm.browser-890872fc.js +0 -968
  956. package/dist/cjs/algoliasearch-lite.esm.browser-890872fc.js.map +0 -1
  957. package/dist/cjs/app-globals-3e14cb71.js +0 -41
  958. package/dist/cjs/app-globals-3e14cb71.js.map +0 -1
  959. package/dist/cjs/component-store-b8d4bd91.js +0 -325
  960. package/dist/cjs/component-store-b8d4bd91.js.map +0 -1
  961. package/dist/cjs/date-utils-d9d3e6b4.js +0 -234
  962. package/dist/cjs/date-utils-d9d3e6b4.js.map +0 -1
  963. package/dist/cjs/dom-b99a1aec.js +0 -83
  964. package/dist/cjs/dom-b99a1aec.js.map +0 -1
  965. package/dist/cjs/drag-c0a99167.js +0 -74
  966. package/dist/cjs/drag-c0a99167.js.map +0 -1
  967. package/dist/cjs/events-96e9a3d4.js +0 -39
  968. package/dist/cjs/events-96e9a3d4.js.map +0 -1
  969. package/dist/cjs/fade-6a5004f4.js +0 -214
  970. package/dist/cjs/fade-6a5004f4.js.map +0 -1
  971. package/dist/cjs/focus-visible-39b54d1f.js +0 -68
  972. package/dist/cjs/focus-visible-39b54d1f.js.map +0 -1
  973. package/dist/cjs/form-control-5bb39cc2.js +0 -82
  974. package/dist/cjs/form-control-5bb39cc2.js.map +0 -1
  975. package/dist/cjs/fullscreen-f5db9bbe.js +0 -134
  976. package/dist/cjs/fullscreen-f5db9bbe.js.map +0 -1
  977. package/dist/cjs/index-41263d6e.js +0 -660
  978. package/dist/cjs/index-41263d6e.js.map +0 -1
  979. package/dist/cjs/index-615cdb64.js +0 -3085
  980. package/dist/cjs/index-615cdb64.js.map +0 -1
  981. package/dist/cjs/index-a92a0379.js +0 -200
  982. package/dist/cjs/index-a92a0379.js.map +0 -1
  983. package/dist/cjs/index-browser-745018ea.js +0 -16
  984. package/dist/cjs/index-browser-745018ea.js.map +0 -1
  985. package/dist/cjs/index.cjs.js.map +0 -1
  986. package/dist/cjs/lazyload-13d72e60.js +0 -96
  987. package/dist/cjs/lazyload-13d72e60.js.map +0 -1
  988. package/dist/cjs/loader.cjs.js.map +0 -1
  989. package/dist/cjs/local-my-account-53c19159.js +0 -472
  990. package/dist/cjs/local-my-account-53c19159.js.map +0 -1
  991. package/dist/cjs/math-ea9cdc71.js +0 -41
  992. package/dist/cjs/math-ea9cdc71.js.map +0 -1
  993. package/dist/cjs/modal-ff47c677.js +0 -51
  994. package/dist/cjs/modal-ff47c677.js.map +0 -1
  995. package/dist/cjs/nano-accordion.cjs.entry.js.map +0 -1
  996. package/dist/cjs/nano-alert.cjs.entry.js.map +0 -1
  997. package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +0 -1
  998. package/dist/cjs/nano-algolia-pagination.cjs.entry.js.map +0 -1
  999. package/dist/cjs/nano-algolia-results.cjs.entry.js.map +0 -1
  1000. package/dist/cjs/nano-algolia.cjs.entry.js.map +0 -1
  1001. package/dist/cjs/nano-animation.cjs.entry.js.map +0 -1
  1002. package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +0 -1
  1003. package/dist/cjs/nano-checkbox.cjs.entry.js.map +0 -1
  1004. package/dist/cjs/nano-components.cjs.js.map +0 -1
  1005. package/dist/cjs/nano-datalist_3.cjs.entry.js.map +0 -1
  1006. package/dist/cjs/nano-date-input.cjs.entry.js.map +0 -1
  1007. package/dist/cjs/nano-date-picker.cjs.entry.js +0 -393
  1008. package/dist/cjs/nano-date-picker.cjs.entry.js.map +0 -1
  1009. package/dist/cjs/nano-details.cjs.entry.js.map +0 -1
  1010. package/dist/cjs/nano-dialog.cjs.entry.js.map +0 -1
  1011. package/dist/cjs/nano-drawer.cjs.entry.js +0 -289
  1012. package/dist/cjs/nano-drawer.cjs.entry.js.map +0 -1
  1013. package/dist/cjs/nano-dropdown.cjs.entry.js +0 -373
  1014. package/dist/cjs/nano-dropdown.cjs.entry.js.map +0 -1
  1015. package/dist/cjs/nano-field-validator.cjs.entry.js.map +0 -1
  1016. package/dist/cjs/nano-file-upload.cjs.entry.js.map +0 -1
  1017. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js +0 -1107
  1018. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js.map +0 -1
  1019. package/dist/cjs/nano-global-nav.cjs.entry.js.map +0 -1
  1020. package/dist/cjs/nano-global-search-results.cjs.entry.js +0 -636
  1021. package/dist/cjs/nano-global-search-results.cjs.entry.js.map +0 -1
  1022. package/dist/cjs/nano-grid-item.cjs.entry.js.map +0 -1
  1023. package/dist/cjs/nano-grid_2.cjs.entry.js.map +0 -1
  1024. package/dist/cjs/nano-hero.cjs.entry.js.map +0 -1
  1025. package/dist/cjs/nano-icon-button_2.cjs.entry.js +0 -341
  1026. package/dist/cjs/nano-icon-button_2.cjs.entry.js.map +0 -1
  1027. package/dist/cjs/nano-icon.cjs.entry.js +0 -320
  1028. package/dist/cjs/nano-icon.cjs.entry.js.map +0 -1
  1029. package/dist/cjs/nano-input.cjs.entry.js +0 -548
  1030. package/dist/cjs/nano-input.cjs.entry.js.map +0 -1
  1031. package/dist/cjs/nano-intersection-observe.cjs.entry.js.map +0 -1
  1032. package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +0 -1
  1033. package/dist/cjs/nano-more-less.cjs.entry.js.map +0 -1
  1034. package/dist/cjs/nano-overflow-nav.cjs.entry.js +0 -342
  1035. package/dist/cjs/nano-overflow-nav.cjs.entry.js.map +0 -1
  1036. package/dist/cjs/nano-progress-bar.cjs.entry.js.map +0 -1
  1037. package/dist/cjs/nano-range.cjs.entry.js.map +0 -1
  1038. package/dist/cjs/nano-rating.cjs.entry.js.map +0 -1
  1039. package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +0 -1
  1040. package/dist/cjs/nano-slide.cjs.entry.js.map +0 -1
  1041. package/dist/cjs/nano-slides-0a60315d.js +0 -3043
  1042. package/dist/cjs/nano-slides-0a60315d.js.map +0 -1
  1043. package/dist/cjs/nano-slides.cjs.entry.js.map +0 -1
  1044. package/dist/cjs/nano-sortable.cjs.entry.js.map +0 -1
  1045. package/dist/cjs/nano-spinner.cjs.entry.js.map +0 -1
  1046. package/dist/cjs/nano-split-pane.cjs.entry.js.map +0 -1
  1047. package/dist/cjs/nano-sticker.cjs.entry.js.map +0 -1
  1048. package/dist/cjs/nano-tab-content.cjs.entry.js.map +0 -1
  1049. package/dist/cjs/nano-tab-group.cjs.entry.js.map +0 -1
  1050. package/dist/cjs/nano-tab.cjs.entry.js.map +0 -1
  1051. package/dist/cjs/nano-table-132f2056.js +0 -1880
  1052. package/dist/cjs/nano-table-132f2056.js.map +0 -1
  1053. package/dist/cjs/nano-table.cjs.entry.js.map +0 -1
  1054. package/dist/cjs/page-dots-ecdd64d1.js +0 -141
  1055. package/dist/cjs/page-dots-ecdd64d1.js.map +0 -1
  1056. package/dist/cjs/popover-3dfc73f6.js +0 -1932
  1057. package/dist/cjs/popover-3dfc73f6.js.map +0 -1
  1058. package/dist/cjs/renderer-cd8b6098.js +0 -63
  1059. package/dist/cjs/renderer-cd8b6098.js.map +0 -1
  1060. package/dist/cjs/scroll-a3e5c6c6.js +0 -128
  1061. package/dist/cjs/scroll-a3e5c6c6.js.map +0 -1
  1062. package/dist/cjs/scroll-parent-798d9651.js +0 -31
  1063. package/dist/cjs/scroll-parent-798d9651.js.map +0 -1
  1064. package/dist/cjs/search-insights-694b3436.js +0 -53
  1065. package/dist/cjs/search-insights-694b3436.js.map +0 -1
  1066. package/dist/cjs/slot-4e057042.js +0 -61
  1067. package/dist/cjs/slot-4e057042.js.map +0 -1
  1068. package/dist/cjs/tabbable-619dc959.js +0 -112
  1069. package/dist/cjs/tabbable-619dc959.js.map +0 -1
  1070. package/dist/cjs/table.worker-1a4b9015.js +0 -33
  1071. package/dist/cjs/table.worker-1a4b9015.js.map +0 -1
  1072. package/dist/cjs/table.worker-da5412ed.js +0 -4
  1073. package/dist/cjs/theme-a2f7ddf8.js +0 -49
  1074. package/dist/cjs/theme-a2f7ddf8.js.map +0 -1
  1075. package/dist/cjs/throttle-46a497fb.js +0 -54
  1076. package/dist/cjs/throttle-46a497fb.js.map +0 -1
  1077. package/dist/cjs/transitions-a2b2090b.js +0 -62
  1078. package/dist/cjs/transitions-a2b2090b.js.map +0 -1
  1079. package/dist/collection/components/accordion/accordion.js.map +0 -1
  1080. package/dist/collection/components/alert/alert.helpers.js.map +0 -1
  1081. package/dist/collection/components/alert/alert.js.map +0 -1
  1082. package/dist/collection/components/algolia/algolia-data.js.map +0 -1
  1083. package/dist/collection/components/algolia/algolia-filter.js.map +0 -1
  1084. package/dist/collection/components/algolia/algolia-interface.js.map +0 -1
  1085. package/dist/collection/components/algolia/algolia-pagination.js.map +0 -1
  1086. package/dist/collection/components/algolia/algolia-results.js.map +0 -1
  1087. package/dist/collection/components/algolia/algolia.js.map +0 -1
  1088. package/dist/collection/components/algolia/lib/squirrelly/browser.js.map +0 -1
  1089. package/dist/collection/components/algolia/lib/squirrelly/compile-string.js.map +0 -1
  1090. package/dist/collection/components/algolia/lib/squirrelly/compile.js.map +0 -1
  1091. package/dist/collection/components/algolia/lib/squirrelly/config.js.map +0 -1
  1092. package/dist/collection/components/algolia/lib/squirrelly/container-utils.js.map +0 -1
  1093. package/dist/collection/components/algolia/lib/squirrelly/containers.js.map +0 -1
  1094. package/dist/collection/components/algolia/lib/squirrelly/err.js.map +0 -1
  1095. package/dist/collection/components/algolia/lib/squirrelly/parse.js.map +0 -1
  1096. package/dist/collection/components/algolia/lib/squirrelly/render.js.map +0 -1
  1097. package/dist/collection/components/algolia/lib/squirrelly/storage.js.map +0 -1
  1098. package/dist/collection/components/algolia/lib/squirrelly/utils.js.map +0 -1
  1099. package/dist/collection/components/algolia/lib/template.js.map +0 -1
  1100. package/dist/collection/components/animation/animation.js.map +0 -1
  1101. package/dist/collection/components/animation/animations/attention_seekers/bounce.js.map +0 -1
  1102. package/dist/collection/components/animation/animations/attention_seekers/flash.js.map +0 -1
  1103. package/dist/collection/components/animation/animations/attention_seekers/headShake.js.map +0 -1
  1104. package/dist/collection/components/animation/animations/attention_seekers/heartBeat.js.map +0 -1
  1105. package/dist/collection/components/animation/animations/attention_seekers/jello.js.map +0 -1
  1106. package/dist/collection/components/animation/animations/attention_seekers/pulse.js.map +0 -1
  1107. package/dist/collection/components/animation/animations/attention_seekers/rubberBand.js.map +0 -1
  1108. package/dist/collection/components/animation/animations/attention_seekers/shake.js.map +0 -1
  1109. package/dist/collection/components/animation/animations/attention_seekers/shakeX.js.map +0 -1
  1110. package/dist/collection/components/animation/animations/attention_seekers/shakeY.js.map +0 -1
  1111. package/dist/collection/components/animation/animations/attention_seekers/swing.js.map +0 -1
  1112. package/dist/collection/components/animation/animations/attention_seekers/tada.js.map +0 -1
  1113. package/dist/collection/components/animation/animations/attention_seekers/wobble.js.map +0 -1
  1114. package/dist/collection/components/animation/animations/back_entrances/backInDown.js.map +0 -1
  1115. package/dist/collection/components/animation/animations/back_entrances/backInLeft.js.map +0 -1
  1116. package/dist/collection/components/animation/animations/back_entrances/backInRight.js.map +0 -1
  1117. package/dist/collection/components/animation/animations/back_entrances/backInUp.js.map +0 -1
  1118. package/dist/collection/components/animation/animations/back_exits/backOutDown.js.map +0 -1
  1119. package/dist/collection/components/animation/animations/back_exits/backOutLeft.js.map +0 -1
  1120. package/dist/collection/components/animation/animations/back_exits/backOutRight.js.map +0 -1
  1121. package/dist/collection/components/animation/animations/back_exits/backOutUp.js.map +0 -1
  1122. package/dist/collection/components/animation/animations/bouncing_entrances/bounceIn.js.map +0 -1
  1123. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInDown.js.map +0 -1
  1124. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInLeft.js.map +0 -1
  1125. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInRight.js.map +0 -1
  1126. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInUp.js.map +0 -1
  1127. package/dist/collection/components/animation/animations/bouncing_exits/bounceOut.js.map +0 -1
  1128. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutDown.js.map +0 -1
  1129. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutLeft.js.map +0 -1
  1130. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutRight.js.map +0 -1
  1131. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutUp.js.map +0 -1
  1132. package/dist/collection/components/animation/animations/easings/easings.js.map +0 -1
  1133. package/dist/collection/components/animation/animations/fading_entrances/fadeIn.js.map +0 -1
  1134. package/dist/collection/components/animation/animations/fading_entrances/fadeInBottomLeft.js.map +0 -1
  1135. package/dist/collection/components/animation/animations/fading_entrances/fadeInBottomRight.js.map +0 -1
  1136. package/dist/collection/components/animation/animations/fading_entrances/fadeInDown.js.map +0 -1
  1137. package/dist/collection/components/animation/animations/fading_entrances/fadeInDownBig.js.map +0 -1
  1138. package/dist/collection/components/animation/animations/fading_entrances/fadeInLeft.js.map +0 -1
  1139. package/dist/collection/components/animation/animations/fading_entrances/fadeInLeftBig.js.map +0 -1
  1140. package/dist/collection/components/animation/animations/fading_entrances/fadeInRight.js.map +0 -1
  1141. package/dist/collection/components/animation/animations/fading_entrances/fadeInRightBig.js.map +0 -1
  1142. package/dist/collection/components/animation/animations/fading_entrances/fadeInTopLeft.js.map +0 -1
  1143. package/dist/collection/components/animation/animations/fading_entrances/fadeInTopRight.js.map +0 -1
  1144. package/dist/collection/components/animation/animations/fading_entrances/fadeInUp.js.map +0 -1
  1145. package/dist/collection/components/animation/animations/fading_entrances/fadeInUpBig.js.map +0 -1
  1146. package/dist/collection/components/animation/animations/fading_exits/fadeOut.js.map +0 -1
  1147. package/dist/collection/components/animation/animations/fading_exits/fadeOutBottomLeft.js.map +0 -1
  1148. package/dist/collection/components/animation/animations/fading_exits/fadeOutBottomRight.js.map +0 -1
  1149. package/dist/collection/components/animation/animations/fading_exits/fadeOutDown.js.map +0 -1
  1150. package/dist/collection/components/animation/animations/fading_exits/fadeOutDownBig.js.map +0 -1
  1151. package/dist/collection/components/animation/animations/fading_exits/fadeOutLeft.js.map +0 -1
  1152. package/dist/collection/components/animation/animations/fading_exits/fadeOutLeftBig.js.map +0 -1
  1153. package/dist/collection/components/animation/animations/fading_exits/fadeOutRight.js.map +0 -1
  1154. package/dist/collection/components/animation/animations/fading_exits/fadeOutRightBig.js.map +0 -1
  1155. package/dist/collection/components/animation/animations/fading_exits/fadeOutTopLeft.js.map +0 -1
  1156. package/dist/collection/components/animation/animations/fading_exits/fadeOutTopRight.js.map +0 -1
  1157. package/dist/collection/components/animation/animations/fading_exits/fadeOutUp.js.map +0 -1
  1158. package/dist/collection/components/animation/animations/fading_exits/fadeOutUpBig.js.map +0 -1
  1159. package/dist/collection/components/animation/animations/flippers/flip.js.map +0 -1
  1160. package/dist/collection/components/animation/animations/flippers/flipInX.js.map +0 -1
  1161. package/dist/collection/components/animation/animations/flippers/flipInY.js.map +0 -1
  1162. package/dist/collection/components/animation/animations/flippers/flipOutX.js.map +0 -1
  1163. package/dist/collection/components/animation/animations/flippers/flipOutY.js.map +0 -1
  1164. package/dist/collection/components/animation/animations/index.js.map +0 -1
  1165. package/dist/collection/components/animation/animations/lightspeed/lightSpeedInLeft.js.map +0 -1
  1166. package/dist/collection/components/animation/animations/lightspeed/lightSpeedInRight.js.map +0 -1
  1167. package/dist/collection/components/animation/animations/lightspeed/lightSpeedOutLeft.js.map +0 -1
  1168. package/dist/collection/components/animation/animations/lightspeed/lightSpeedOutRight.js.map +0 -1
  1169. package/dist/collection/components/animation/animations/rotating_entrances/rotateIn.js.map +0 -1
  1170. package/dist/collection/components/animation/animations/rotating_entrances/rotateInDownLeft.js.map +0 -1
  1171. package/dist/collection/components/animation/animations/rotating_entrances/rotateInDownRight.js.map +0 -1
  1172. package/dist/collection/components/animation/animations/rotating_entrances/rotateInUpLeft.js.map +0 -1
  1173. package/dist/collection/components/animation/animations/rotating_entrances/rotateInUpRight.js.map +0 -1
  1174. package/dist/collection/components/animation/animations/rotating_exits/rotateOut.js.map +0 -1
  1175. package/dist/collection/components/animation/animations/rotating_exits/rotateOutDownLeft.js.map +0 -1
  1176. package/dist/collection/components/animation/animations/rotating_exits/rotateOutDownRight.js.map +0 -1
  1177. package/dist/collection/components/animation/animations/rotating_exits/rotateOutUpLeft.js.map +0 -1
  1178. package/dist/collection/components/animation/animations/rotating_exits/rotateOutUpRight.js.map +0 -1
  1179. package/dist/collection/components/animation/animations/sliding_entrances/slideInDown.js.map +0 -1
  1180. package/dist/collection/components/animation/animations/sliding_entrances/slideInLeft.js.map +0 -1
  1181. package/dist/collection/components/animation/animations/sliding_entrances/slideInRight.js.map +0 -1
  1182. package/dist/collection/components/animation/animations/sliding_entrances/slideInUp.js.map +0 -1
  1183. package/dist/collection/components/animation/animations/sliding_exits/slideOutDown.js.map +0 -1
  1184. package/dist/collection/components/animation/animations/sliding_exits/slideOutLeft.js.map +0 -1
  1185. package/dist/collection/components/animation/animations/sliding_exits/slideOutRight.js.map +0 -1
  1186. package/dist/collection/components/animation/animations/sliding_exits/slideOutUp.js.map +0 -1
  1187. package/dist/collection/components/animation/animations/specials/hinge.js.map +0 -1
  1188. package/dist/collection/components/animation/animations/specials/jackInTheBox.js.map +0 -1
  1189. package/dist/collection/components/animation/animations/specials/rollIn.js.map +0 -1
  1190. package/dist/collection/components/animation/animations/specials/rollOut.js.map +0 -1
  1191. package/dist/collection/components/animation/animations/zooming_entrances/zoomIn.js.map +0 -1
  1192. package/dist/collection/components/animation/animations/zooming_entrances/zoomInDown.js.map +0 -1
  1193. package/dist/collection/components/animation/animations/zooming_entrances/zoomInLeft.js.map +0 -1
  1194. package/dist/collection/components/animation/animations/zooming_entrances/zoomInRight.js.map +0 -1
  1195. package/dist/collection/components/animation/animations/zooming_entrances/zoomInUp.js.map +0 -1
  1196. package/dist/collection/components/animation/animations/zooming_exits/zoomOut.js.map +0 -1
  1197. package/dist/collection/components/animation/animations/zooming_exits/zoomOutDown.js.map +0 -1
  1198. package/dist/collection/components/animation/animations/zooming_exits/zoomOutLeft.js.map +0 -1
  1199. package/dist/collection/components/animation/animations/zooming_exits/zoomOutRight.js.map +0 -1
  1200. package/dist/collection/components/animation/animations/zooming_exits/zoomOutUp.js.map +0 -1
  1201. package/dist/collection/components/checkbox/checkbox-group.js.map +0 -1
  1202. package/dist/collection/components/checkbox/checkbox-interface.js.map +0 -1
  1203. package/dist/collection/components/checkbox/checkbox.js.map +0 -1
  1204. package/dist/collection/components/datalist/datalist.js.map +0 -1
  1205. package/dist/collection/components/date-input/date-input.js.map +0 -1
  1206. package/dist/collection/components/date-picker/date-picker.js.map +0 -1
  1207. package/dist/collection/components/date-picker/duet-date-picker/date-adapter.js.map +0 -1
  1208. package/dist/collection/components/date-picker/duet-date-picker/date-localization.js.map +0 -1
  1209. package/dist/collection/components/date-picker/duet-date-picker/date-picker-day.js.map +0 -1
  1210. package/dist/collection/components/date-picker/duet-date-picker/date-picker-month.js.map +0 -1
  1211. package/dist/collection/components/details/details.js.map +0 -1
  1212. package/dist/collection/components/dialog/dialog.helpers.js.map +0 -1
  1213. package/dist/collection/components/dialog/dialog.js.map +0 -1
  1214. package/dist/collection/components/drawer/drawer.js.map +0 -1
  1215. package/dist/collection/components/dropdown/dropdown.js.map +0 -1
  1216. package/dist/collection/components/field-validator/field-validator.js.map +0 -1
  1217. package/dist/collection/components/file-upload/file-upload-list.js.map +0 -1
  1218. package/dist/collection/components/file-upload/file-upload.js.map +0 -1
  1219. package/dist/collection/components/form-control/form-control.js.map +0 -1
  1220. package/dist/collection/components/global-nav/assets/local-my-account.json +0 -447
  1221. package/dist/collection/components/global-nav/global-nav-user-profile.js +0 -70
  1222. package/dist/collection/components/global-nav/global-nav-user-profile.js.map +0 -1
  1223. package/dist/collection/components/global-nav/global-nav.js.map +0 -1
  1224. package/dist/collection/components/global-nav/style/global-nav.css +0 -893
  1225. package/dist/collection/components/global-search-results/global-search-results.js.map +0 -1
  1226. package/dist/collection/components/grid/grid-item.js.map +0 -1
  1227. package/dist/collection/components/grid/grid.js.map +0 -1
  1228. package/dist/collection/components/hero/hero.js.map +0 -1
  1229. package/dist/collection/components/icon/icon.js.map +0 -1
  1230. package/dist/collection/components/icon/request.js.map +0 -1
  1231. package/dist/collection/components/icon/utils.js.map +0 -1
  1232. package/dist/collection/components/icon/validate.js.map +0 -1
  1233. package/dist/collection/components/icon-button/icon-button.js.map +0 -1
  1234. package/dist/collection/components/img/img.js.map +0 -1
  1235. package/dist/collection/components/input/input.js.map +0 -1
  1236. package/dist/collection/components/intersection-observe/intersection-observe.js.map +0 -1
  1237. package/dist/collection/components/menu/menu.js.map +0 -1
  1238. package/dist/collection/components/menu-drawer/menu-drawer.js.map +0 -1
  1239. package/dist/collection/components/more-less/more-less.js.map +0 -1
  1240. package/dist/collection/components/nav-item/nav-item.js.map +0 -1
  1241. package/dist/collection/components/option/option.js.map +0 -1
  1242. package/dist/collection/components/overflow-nav/overflow-nav.css +0 -226
  1243. package/dist/collection/components/overflow-nav/overflow-nav.js +0 -537
  1244. package/dist/collection/components/overflow-nav/overflow-nav.js.map +0 -1
  1245. package/dist/collection/components/progress-bar/progress-bar.js.map +0 -1
  1246. package/dist/collection/components/range/range.js.map +0 -1
  1247. package/dist/collection/components/rating/rating.js.map +0 -1
  1248. package/dist/collection/components/resize-observe/resize-observe.js.map +0 -1
  1249. package/dist/collection/components/select/select.js.map +0 -1
  1250. package/dist/collection/components/skeleton/skeleton.js.map +0 -1
  1251. package/dist/collection/components/slides/lib/js/animate.js.map +0 -1
  1252. package/dist/collection/components/slides/lib/js/cell.js.map +0 -1
  1253. package/dist/collection/components/slides/lib/js/drag.js.map +0 -1
  1254. package/dist/collection/components/slides/lib/js/fade.js.map +0 -1
  1255. package/dist/collection/components/slides/lib/js/flickity.js.map +0 -1
  1256. package/dist/collection/components/slides/lib/js/fullscreen.js.map +0 -1
  1257. package/dist/collection/components/slides/lib/js/index.js.map +0 -1
  1258. package/dist/collection/components/slides/lib/js/lazyload.js.map +0 -1
  1259. package/dist/collection/components/slides/lib/js/page-dots.js.map +0 -1
  1260. package/dist/collection/components/slides/lib/js/player.js.map +0 -1
  1261. package/dist/collection/components/slides/lib/js/prev-next-button.js.map +0 -1
  1262. package/dist/collection/components/slides/lib/js/slide.js.map +0 -1
  1263. package/dist/collection/components/slides/lib/js/utils/event-emitter.js.map +0 -1
  1264. package/dist/collection/components/slides/lib/js/utils/gestures.js.map +0 -1
  1265. package/dist/collection/components/slides/lib/js/utils/get-size.js.map +0 -1
  1266. package/dist/collection/components/slides/lib/js/utils/utils.js.map +0 -1
  1267. package/dist/collection/components/slides/slide.js.map +0 -1
  1268. package/dist/collection/components/slides/slides.js.map +0 -1
  1269. package/dist/collection/components/sortable/sortable.js.map +0 -1
  1270. package/dist/collection/components/spinner/spinner.js.map +0 -1
  1271. package/dist/collection/components/split-pane/split-pane.js.map +0 -1
  1272. package/dist/collection/components/sticker/sticker.js.map +0 -1
  1273. package/dist/collection/components/table/table.cell.js +0 -113
  1274. package/dist/collection/components/table/table.cell.js.map +0 -1
  1275. package/dist/collection/components/table/table.constants.js +0 -5
  1276. package/dist/collection/components/table/table.constants.js.map +0 -1
  1277. package/dist/collection/components/table/table.header.js +0 -63
  1278. package/dist/collection/components/table/table.header.js.map +0 -1
  1279. package/dist/collection/components/table/table.js.map +0 -1
  1280. package/dist/collection/components/table/table.pin-service.js +0 -389
  1281. package/dist/collection/components/table/table.pin-service.js.map +0 -1
  1282. package/dist/collection/components/table/table.row.js +0 -113
  1283. package/dist/collection/components/table/table.row.js.map +0 -1
  1284. package/dist/collection/components/table/table.store.js +0 -145
  1285. package/dist/collection/components/table/table.store.js.map +0 -1
  1286. package/dist/collection/components/table/table.utils.js +0 -157
  1287. package/dist/collection/components/table/table.utils.js.map +0 -1
  1288. package/dist/collection/components/table/table.worker.js +0 -221
  1289. package/dist/collection/components/table/table.worker.js.map +0 -1
  1290. package/dist/collection/components/tabs/tab-content.js.map +0 -1
  1291. package/dist/collection/components/tabs/tab-group.js.map +0 -1
  1292. package/dist/collection/components/tabs/tab.js.map +0 -1
  1293. package/dist/collection/components/tooltip/tooltip.js.map +0 -1
  1294. package/dist/collection/global/script/global.js.map +0 -1
  1295. package/dist/collection/index.js.map +0 -1
  1296. package/dist/collection/types/shared.js.map +0 -1
  1297. package/dist/collection/utils/active-element.js.map +0 -1
  1298. package/dist/collection/utils/constructible-style.js.map +0 -1
  1299. package/dist/collection/utils/custom-template.js.map +0 -1
  1300. package/dist/collection/utils/date-utils.js.map +0 -1
  1301. package/dist/collection/utils/dom.js.map +0 -1
  1302. package/dist/collection/utils/drag.js.map +0 -1
  1303. package/dist/collection/utils/events.js.map +0 -1
  1304. package/dist/collection/utils/fetch.js.map +0 -1
  1305. package/dist/collection/utils/focus-visible.js +0 -63
  1306. package/dist/collection/utils/focus-visible.js.map +0 -1
  1307. package/dist/collection/utils/form.js.map +0 -1
  1308. package/dist/collection/utils/gesture/gesture-controller.js.map +0 -1
  1309. package/dist/collection/utils/gesture/index.js.map +0 -1
  1310. package/dist/collection/utils/gesture/listener.js.map +0 -1
  1311. package/dist/collection/utils/gesture/pointer-events.js.map +0 -1
  1312. package/dist/collection/utils/gesture/recognizers.js.map +0 -1
  1313. package/dist/collection/utils/gesture/swipe-back.js.map +0 -1
  1314. package/dist/collection/utils/math.js.map +0 -1
  1315. package/dist/collection/utils/modal.js.map +0 -1
  1316. package/dist/collection/utils/popover.js.map +0 -1
  1317. package/dist/collection/utils/promise-queue.js.map +0 -1
  1318. package/dist/collection/utils/renderer.js.map +0 -1
  1319. package/dist/collection/utils/scroll-parent.js +0 -26
  1320. package/dist/collection/utils/scroll-parent.js.map +0 -1
  1321. package/dist/collection/utils/scroll.js.map +0 -1
  1322. package/dist/collection/utils/search-insights.js.map +0 -1
  1323. package/dist/collection/utils/slot.js.map +0 -1
  1324. package/dist/collection/utils/store/component-store.js.map +0 -1
  1325. package/dist/collection/utils/store/get-set.js.map +0 -1
  1326. package/dist/collection/utils/tabbable.js.map +0 -1
  1327. package/dist/collection/utils/testing/index.js.map +0 -1
  1328. package/dist/collection/utils/theme.js.map +0 -1
  1329. package/dist/collection/utils/throttle.js.map +0 -1
  1330. package/dist/collection/utils/transitions.js.map +0 -1
  1331. package/dist/components/active-element.js.map +0 -1
  1332. package/dist/components/algolia-data.js.map +0 -1
  1333. package/dist/components/algolia.js.map +0 -1
  1334. package/dist/components/algoliasearch-lite.esm.browser.js +0 -966
  1335. package/dist/components/algoliasearch-lite.esm.browser.js.map +0 -1
  1336. package/dist/components/component-store.js.map +0 -1
  1337. package/dist/components/datalist.js.map +0 -1
  1338. package/dist/components/date-picker.js.map +0 -1
  1339. package/dist/components/dom.js.map +0 -1
  1340. package/dist/components/drag.js.map +0 -1
  1341. package/dist/components/dropdown.js.map +0 -1
  1342. package/dist/components/events.js.map +0 -1
  1343. package/dist/components/fade.js.map +0 -1
  1344. package/dist/components/focus-visible.js +0 -66
  1345. package/dist/components/focus-visible.js.map +0 -1
  1346. package/dist/components/form-control.js.map +0 -1
  1347. package/dist/components/fullscreen.js.map +0 -1
  1348. package/dist/components/global-nav-user-profile.js +0 -50
  1349. package/dist/components/global-nav-user-profile.js.map +0 -1
  1350. package/dist/components/grid.js.map +0 -1
  1351. package/dist/components/icon-button.js.map +0 -1
  1352. package/dist/components/icon.js.map +0 -1
  1353. package/dist/components/img.js.map +0 -1
  1354. package/dist/components/index-browser.js.map +0 -1
  1355. package/dist/components/index.js.map +0 -1
  1356. package/dist/components/index2.js.map +0 -1
  1357. package/dist/components/index3.js.map +0 -1
  1358. package/dist/components/input.js.map +0 -1
  1359. package/dist/components/lazyload.js.map +0 -1
  1360. package/dist/components/local-my-account.js +0 -462
  1361. package/dist/components/local-my-account.js.map +0 -1
  1362. package/dist/components/math.js.map +0 -1
  1363. package/dist/components/menu.js.map +0 -1
  1364. package/dist/components/modal.js.map +0 -1
  1365. package/dist/components/nano-accordion.js.map +0 -1
  1366. package/dist/components/nano-alert.js.map +0 -1
  1367. package/dist/components/nano-algolia-filter.js.map +0 -1
  1368. package/dist/components/nano-algolia-pagination.js.map +0 -1
  1369. package/dist/components/nano-algolia-results.js.map +0 -1
  1370. package/dist/components/nano-algolia.js.map +0 -1
  1371. package/dist/components/nano-animation.js.map +0 -1
  1372. package/dist/components/nano-checkbox-group.js.map +0 -1
  1373. package/dist/components/nano-checkbox.js.map +0 -1
  1374. package/dist/components/nano-datalist.js.map +0 -1
  1375. package/dist/components/nano-date-input.js.map +0 -1
  1376. package/dist/components/nano-date-picker.js.map +0 -1
  1377. package/dist/components/nano-details.js.map +0 -1
  1378. package/dist/components/nano-dialog.js.map +0 -1
  1379. package/dist/components/nano-drawer.js.map +0 -1
  1380. package/dist/components/nano-dropdown.js.map +0 -1
  1381. package/dist/components/nano-field-validator.js.map +0 -1
  1382. package/dist/components/nano-file-upload.js.map +0 -1
  1383. package/dist/components/nano-global-nav-user-profile.d.ts +0 -11
  1384. package/dist/components/nano-global-nav-user-profile.js +0 -11
  1385. package/dist/components/nano-global-nav-user-profile.js.map +0 -1
  1386. package/dist/components/nano-global-nav.js.map +0 -1
  1387. package/dist/components/nano-global-search-results.js.map +0 -1
  1388. package/dist/components/nano-grid-item.js.map +0 -1
  1389. package/dist/components/nano-grid.js.map +0 -1
  1390. package/dist/components/nano-hero.js.map +0 -1
  1391. package/dist/components/nano-icon-button.js.map +0 -1
  1392. package/dist/components/nano-icon.js.map +0 -1
  1393. package/dist/components/nano-img.js.map +0 -1
  1394. package/dist/components/nano-input.js.map +0 -1
  1395. package/dist/components/nano-intersection-observe.js.map +0 -1
  1396. package/dist/components/nano-menu-drawer.js.map +0 -1
  1397. package/dist/components/nano-menu.js.map +0 -1
  1398. package/dist/components/nano-more-less.js.map +0 -1
  1399. package/dist/components/nano-nav-item.js.map +0 -1
  1400. package/dist/components/nano-option.js.map +0 -1
  1401. package/dist/components/nano-overflow-nav.d.ts +0 -11
  1402. package/dist/components/nano-overflow-nav.js +0 -390
  1403. package/dist/components/nano-overflow-nav.js.map +0 -1
  1404. package/dist/components/nano-progress-bar.js.map +0 -1
  1405. package/dist/components/nano-range.js.map +0 -1
  1406. package/dist/components/nano-rating.js.map +0 -1
  1407. package/dist/components/nano-resize-observe.js.map +0 -1
  1408. package/dist/components/nano-select.js.map +0 -1
  1409. package/dist/components/nano-skeleton.js.map +0 -1
  1410. package/dist/components/nano-slide.js.map +0 -1
  1411. package/dist/components/nano-slides.js.map +0 -1
  1412. package/dist/components/nano-sortable.js.map +0 -1
  1413. package/dist/components/nano-spinner.js.map +0 -1
  1414. package/dist/components/nano-split-pane.js.map +0 -1
  1415. package/dist/components/nano-sticker.js.map +0 -1
  1416. package/dist/components/nano-tab-content.js.map +0 -1
  1417. package/dist/components/nano-tab-group.js.map +0 -1
  1418. package/dist/components/nano-tab.js.map +0 -1
  1419. package/dist/components/nano-table.js.map +0 -1
  1420. package/dist/components/nano-tooltip.js.map +0 -1
  1421. package/dist/components/nav-item.js.map +0 -1
  1422. package/dist/components/option.js.map +0 -1
  1423. package/dist/components/page-dots.js.map +0 -1
  1424. package/dist/components/popover.js.map +0 -1
  1425. package/dist/components/progress-bar.js.map +0 -1
  1426. package/dist/components/renderer.js.map +0 -1
  1427. package/dist/components/resize-observe.js.map +0 -1
  1428. package/dist/components/scroll-parent.js +0 -29
  1429. package/dist/components/scroll-parent.js.map +0 -1
  1430. package/dist/components/scroll.js.map +0 -1
  1431. package/dist/components/search-insights.js +0 -51
  1432. package/dist/components/search-insights.js.map +0 -1
  1433. package/dist/components/select.js.map +0 -1
  1434. package/dist/components/skeleton.js.map +0 -1
  1435. package/dist/components/slot.js.map +0 -1
  1436. package/dist/components/spinner.js.map +0 -1
  1437. package/dist/components/sticker.js.map +0 -1
  1438. package/dist/components/tabbable.js.map +0 -1
  1439. package/dist/components/table.worker.js.map +0 -1
  1440. package/dist/components/theme.js.map +0 -1
  1441. package/dist/components/throttle.js.map +0 -1
  1442. package/dist/components/tooltip.js.map +0 -1
  1443. package/dist/components/transitions.js +0 -60
  1444. package/dist/components/transitions.js.map +0 -1
  1445. package/dist/esm/active-element-a2502948.js +0 -19
  1446. package/dist/esm/active-element-a2502948.js.map +0 -1
  1447. package/dist/esm/algolia-data-f0f72f1d.js +0 -49
  1448. package/dist/esm/algolia-data-f0f72f1d.js.map +0 -1
  1449. package/dist/esm/algoliasearch-lite.esm.browser-0f71b631.js +0 -966
  1450. package/dist/esm/algoliasearch-lite.esm.browser-0f71b631.js.map +0 -1
  1451. package/dist/esm/app-globals-f0120bbe.js +0 -39
  1452. package/dist/esm/app-globals-f0120bbe.js.map +0 -1
  1453. package/dist/esm/component-store-199a9fd8.js +0 -323
  1454. package/dist/esm/component-store-199a9fd8.js.map +0 -1
  1455. package/dist/esm/date-utils-1e39c114.js +0 -219
  1456. package/dist/esm/date-utils-1e39c114.js.map +0 -1
  1457. package/dist/esm/dom-fafdec9a.js +0 -78
  1458. package/dist/esm/dom-fafdec9a.js.map +0 -1
  1459. package/dist/esm/drag-9d765d2d.js +0 -72
  1460. package/dist/esm/drag-9d765d2d.js.map +0 -1
  1461. package/dist/esm/events-f38f3e59.js +0 -36
  1462. package/dist/esm/events-f38f3e59.js.map +0 -1
  1463. package/dist/esm/fade-ce1a4958.js +0 -212
  1464. package/dist/esm/fade-ce1a4958.js.map +0 -1
  1465. package/dist/esm/focus-visible-e5f02c46.js +0 -66
  1466. package/dist/esm/focus-visible-e5f02c46.js.map +0 -1
  1467. package/dist/esm/form-control-f48fa873.js +0 -79
  1468. package/dist/esm/form-control-f48fa873.js.map +0 -1
  1469. package/dist/esm/fullscreen-52d62028.js +0 -132
  1470. package/dist/esm/fullscreen-52d62028.js.map +0 -1
  1471. package/dist/esm/index-6cc72cd9.js +0 -3045
  1472. package/dist/esm/index-6cc72cd9.js.map +0 -1
  1473. package/dist/esm/index-a2043fcd.js +0 -657
  1474. package/dist/esm/index-a2043fcd.js.map +0 -1
  1475. package/dist/esm/index-browser-8c563093.js +0 -8
  1476. package/dist/esm/index-browser-8c563093.js.map +0 -1
  1477. package/dist/esm/index-f5f7b950.js +0 -198
  1478. package/dist/esm/index-f5f7b950.js.map +0 -1
  1479. package/dist/esm/index.js.map +0 -1
  1480. package/dist/esm/lazyload-8ff69ba4.js +0 -94
  1481. package/dist/esm/lazyload-8ff69ba4.js.map +0 -1
  1482. package/dist/esm/loader.js.map +0 -1
  1483. package/dist/esm/local-my-account-3ba1ec04.js +0 -462
  1484. package/dist/esm/local-my-account-3ba1ec04.js.map +0 -1
  1485. package/dist/esm/math-d160f8a6.js +0 -38
  1486. package/dist/esm/math-d160f8a6.js.map +0 -1
  1487. package/dist/esm/modal-02828a39.js +0 -49
  1488. package/dist/esm/modal-02828a39.js.map +0 -1
  1489. package/dist/esm/nano-accordion.entry.js.map +0 -1
  1490. package/dist/esm/nano-alert.entry.js.map +0 -1
  1491. package/dist/esm/nano-algolia-filter.entry.js.map +0 -1
  1492. package/dist/esm/nano-algolia-pagination.entry.js.map +0 -1
  1493. package/dist/esm/nano-algolia-results.entry.js.map +0 -1
  1494. package/dist/esm/nano-algolia.entry.js.map +0 -1
  1495. package/dist/esm/nano-animation.entry.js.map +0 -1
  1496. package/dist/esm/nano-checkbox-group.entry.js.map +0 -1
  1497. package/dist/esm/nano-checkbox.entry.js.map +0 -1
  1498. package/dist/esm/nano-components.js.map +0 -1
  1499. package/dist/esm/nano-datalist_3.entry.js.map +0 -1
  1500. package/dist/esm/nano-date-input.entry.js.map +0 -1
  1501. package/dist/esm/nano-date-picker.entry.js +0 -389
  1502. package/dist/esm/nano-date-picker.entry.js.map +0 -1
  1503. package/dist/esm/nano-details.entry.js.map +0 -1
  1504. package/dist/esm/nano-dialog.entry.js.map +0 -1
  1505. package/dist/esm/nano-drawer.entry.js +0 -285
  1506. package/dist/esm/nano-drawer.entry.js.map +0 -1
  1507. package/dist/esm/nano-dropdown.entry.js +0 -369
  1508. package/dist/esm/nano-dropdown.entry.js.map +0 -1
  1509. package/dist/esm/nano-field-validator.entry.js.map +0 -1
  1510. package/dist/esm/nano-file-upload.entry.js.map +0 -1
  1511. package/dist/esm/nano-global-nav-user-profile_3.entry.js +0 -1101
  1512. package/dist/esm/nano-global-nav-user-profile_3.entry.js.map +0 -1
  1513. package/dist/esm/nano-global-nav.entry.js.map +0 -1
  1514. package/dist/esm/nano-global-search-results.entry.js +0 -632
  1515. package/dist/esm/nano-global-search-results.entry.js.map +0 -1
  1516. package/dist/esm/nano-grid-item.entry.js.map +0 -1
  1517. package/dist/esm/nano-grid_2.entry.js.map +0 -1
  1518. package/dist/esm/nano-hero.entry.js.map +0 -1
  1519. package/dist/esm/nano-icon-button_2.entry.js +0 -336
  1520. package/dist/esm/nano-icon-button_2.entry.js.map +0 -1
  1521. package/dist/esm/nano-icon.entry.js +0 -316
  1522. package/dist/esm/nano-icon.entry.js.map +0 -1
  1523. package/dist/esm/nano-input.entry.js +0 -544
  1524. package/dist/esm/nano-input.entry.js.map +0 -1
  1525. package/dist/esm/nano-intersection-observe.entry.js.map +0 -1
  1526. package/dist/esm/nano-menu-drawer.entry.js.map +0 -1
  1527. package/dist/esm/nano-more-less.entry.js.map +0 -1
  1528. package/dist/esm/nano-overflow-nav.entry.js +0 -338
  1529. package/dist/esm/nano-overflow-nav.entry.js.map +0 -1
  1530. package/dist/esm/nano-progress-bar.entry.js.map +0 -1
  1531. package/dist/esm/nano-range.entry.js.map +0 -1
  1532. package/dist/esm/nano-rating.entry.js.map +0 -1
  1533. package/dist/esm/nano-resize-observe_2.entry.js.map +0 -1
  1534. package/dist/esm/nano-slide.entry.js.map +0 -1
  1535. package/dist/esm/nano-slides-2715825b.js +0 -3038
  1536. package/dist/esm/nano-slides-2715825b.js.map +0 -1
  1537. package/dist/esm/nano-slides.entry.js.map +0 -1
  1538. package/dist/esm/nano-sortable.entry.js.map +0 -1
  1539. package/dist/esm/nano-spinner.entry.js.map +0 -1
  1540. package/dist/esm/nano-split-pane.entry.js.map +0 -1
  1541. package/dist/esm/nano-sticker.entry.js.map +0 -1
  1542. package/dist/esm/nano-tab-content.entry.js.map +0 -1
  1543. package/dist/esm/nano-tab-group.entry.js.map +0 -1
  1544. package/dist/esm/nano-tab.entry.js.map +0 -1
  1545. package/dist/esm/nano-table-5eaf3a0c.js +0 -1877
  1546. package/dist/esm/nano-table-5eaf3a0c.js.map +0 -1
  1547. package/dist/esm/nano-table.entry.js.map +0 -1
  1548. package/dist/esm/page-dots-5b23db8c.js +0 -139
  1549. package/dist/esm/page-dots-5b23db8c.js.map +0 -1
  1550. package/dist/esm/popover-30ce6cac.js +0 -1930
  1551. package/dist/esm/popover-30ce6cac.js.map +0 -1
  1552. package/dist/esm/renderer-4bc3e2dc.js +0 -58
  1553. package/dist/esm/renderer-4bc3e2dc.js.map +0 -1
  1554. package/dist/esm/scroll-1afc6a4e.js +0 -124
  1555. package/dist/esm/scroll-1afc6a4e.js.map +0 -1
  1556. package/dist/esm/scroll-parent-be39fbd0.js +0 -29
  1557. package/dist/esm/scroll-parent-be39fbd0.js.map +0 -1
  1558. package/dist/esm/search-insights-1a7b7dc5.js +0 -51
  1559. package/dist/esm/search-insights-1a7b7dc5.js.map +0 -1
  1560. package/dist/esm/slot-1cd90e53.js +0 -58
  1561. package/dist/esm/slot-1cd90e53.js.map +0 -1
  1562. package/dist/esm/tabbable-44932eb7.js +0 -109
  1563. package/dist/esm/tabbable-44932eb7.js.map +0 -1
  1564. package/dist/esm/table.worker-94b9c69e.js +0 -29
  1565. package/dist/esm/table.worker-94b9c69e.js.map +0 -1
  1566. package/dist/esm/table.worker-da5412ed.js +0 -4
  1567. package/dist/esm/theme-d553c17a.js +0 -46
  1568. package/dist/esm/theme-d553c17a.js.map +0 -1
  1569. package/dist/esm/throttle-df960210.js +0 -50
  1570. package/dist/esm/throttle-df960210.js.map +0 -1
  1571. package/dist/esm/transitions-c09bd7f6.js +0 -60
  1572. package/dist/esm/transitions-c09bd7f6.js.map +0 -1
  1573. package/dist/generators/custom-element-doc-generator.js +0 -75
  1574. package/dist/generators/custom-element-doc-generator.js.map +0 -1
  1575. package/dist/generators/vue/generate-vue-component.js +0 -74
  1576. package/dist/generators/vue/generate-vue-component.js.map +0 -1
  1577. package/dist/generators/vue/index.js +0 -5
  1578. package/dist/generators/vue/index.js.map +0 -1
  1579. package/dist/generators/vue/output-vue.js +0 -96
  1580. package/dist/generators/vue/output-vue.js.map +0 -1
  1581. package/dist/generators/vue/plugin.js +0 -44
  1582. package/dist/generators/vue/plugin.js.map +0 -1
  1583. package/dist/generators/vue/types.js +0 -2
  1584. package/dist/generators/vue/types.js.map +0 -1
  1585. package/dist/generators/vue/utils.js +0 -82
  1586. package/dist/generators/vue/utils.js.map +0 -1
  1587. package/dist/nano-assets/fonts/jp/noto-sans-jp-v53-japanese-500.woff2 +0 -0
  1588. package/dist/nano-assets/fonts/latin/noto-sans-v38-latin-500.woff2 +0 -0
  1589. package/dist/nano-assets/fonts/latin/noto-sans-v38-latin-500italic.woff2 +0 -0
  1590. package/dist/nano-assets/fonts/sc/noto-sans-sc-v37-chinese-simplified-500.woff2 +0 -0
  1591. package/dist/nano-assets/local-my-account.json +0 -447
  1592. package/dist/nano-components/active-element-a2502948.js +0 -5
  1593. package/dist/nano-components/active-element-a2502948.js.map +0 -1
  1594. package/dist/nano-components/algolia-data-f0f72f1d.js +0 -5
  1595. package/dist/nano-components/algolia-data-f0f72f1d.js.map +0 -1
  1596. package/dist/nano-components/algoliasearch-lite.esm.browser-0f71b631.js +0 -5
  1597. package/dist/nano-components/algoliasearch-lite.esm.browser-0f71b631.js.map +0 -1
  1598. package/dist/nano-components/app-globals-f0120bbe.js +0 -5
  1599. package/dist/nano-components/app-globals-f0120bbe.js.map +0 -1
  1600. package/dist/nano-components/assets/local-my-account.json +0 -447
  1601. package/dist/nano-components/component-store-199a9fd8.js +0 -5
  1602. package/dist/nano-components/component-store-199a9fd8.js.map +0 -1
  1603. package/dist/nano-components/date-utils-1e39c114.js +0 -5
  1604. package/dist/nano-components/date-utils-1e39c114.js.map +0 -1
  1605. package/dist/nano-components/dom-fafdec9a.js +0 -5
  1606. package/dist/nano-components/dom-fafdec9a.js.map +0 -1
  1607. package/dist/nano-components/drag-9d765d2d.js +0 -5
  1608. package/dist/nano-components/drag-9d765d2d.js.map +0 -1
  1609. package/dist/nano-components/events-f38f3e59.js +0 -5
  1610. package/dist/nano-components/events-f38f3e59.js.map +0 -1
  1611. package/dist/nano-components/fade-ce1a4958.js +0 -5
  1612. package/dist/nano-components/fade-ce1a4958.js.map +0 -1
  1613. package/dist/nano-components/focus-visible-e5f02c46.js +0 -5
  1614. package/dist/nano-components/focus-visible-e5f02c46.js.map +0 -1
  1615. package/dist/nano-components/form-control-f48fa873.js +0 -5
  1616. package/dist/nano-components/form-control-f48fa873.js.map +0 -1
  1617. package/dist/nano-components/fullscreen-52d62028.js +0 -5
  1618. package/dist/nano-components/fullscreen-52d62028.js.map +0 -1
  1619. package/dist/nano-components/index-6cc72cd9.js +0 -6
  1620. package/dist/nano-components/index-6cc72cd9.js.map +0 -1
  1621. package/dist/nano-components/index-a2043fcd.js +0 -5
  1622. package/dist/nano-components/index-a2043fcd.js.map +0 -1
  1623. package/dist/nano-components/index-browser-8c563093.js +0 -5
  1624. package/dist/nano-components/index-browser-8c563093.js.map +0 -1
  1625. package/dist/nano-components/index-f5f7b950.js +0 -5
  1626. package/dist/nano-components/index-f5f7b950.js.map +0 -1
  1627. package/dist/nano-components/index.esm.js.map +0 -1
  1628. package/dist/nano-components/lazyload-8ff69ba4.js +0 -5
  1629. package/dist/nano-components/lazyload-8ff69ba4.js.map +0 -1
  1630. package/dist/nano-components/local-my-account-3ba1ec04.js +0 -5
  1631. package/dist/nano-components/local-my-account-3ba1ec04.js.map +0 -1
  1632. package/dist/nano-components/math-d160f8a6.js +0 -5
  1633. package/dist/nano-components/math-d160f8a6.js.map +0 -1
  1634. package/dist/nano-components/modal-02828a39.js +0 -5
  1635. package/dist/nano-components/modal-02828a39.js.map +0 -1
  1636. package/dist/nano-components/nano-accordion.entry.js.map +0 -1
  1637. package/dist/nano-components/nano-alert.entry.js.map +0 -1
  1638. package/dist/nano-components/nano-algolia-filter.entry.js.map +0 -1
  1639. package/dist/nano-components/nano-algolia-pagination.entry.js.map +0 -1
  1640. package/dist/nano-components/nano-algolia-results.entry.js.map +0 -1
  1641. package/dist/nano-components/nano-algolia.entry.js.map +0 -1
  1642. package/dist/nano-components/nano-animation.entry.js.map +0 -1
  1643. package/dist/nano-components/nano-checkbox-group.entry.js.map +0 -1
  1644. package/dist/nano-components/nano-checkbox.entry.js.map +0 -1
  1645. package/dist/nano-components/nano-components.esm.js.map +0 -1
  1646. package/dist/nano-components/nano-datalist_3.entry.js.map +0 -1
  1647. package/dist/nano-components/nano-date-input.entry.js.map +0 -1
  1648. package/dist/nano-components/nano-date-picker.entry.js +0 -5
  1649. package/dist/nano-components/nano-date-picker.entry.js.map +0 -1
  1650. package/dist/nano-components/nano-details.entry.js.map +0 -1
  1651. package/dist/nano-components/nano-dialog.entry.js.map +0 -1
  1652. package/dist/nano-components/nano-drawer.entry.js +0 -5
  1653. package/dist/nano-components/nano-drawer.entry.js.map +0 -1
  1654. package/dist/nano-components/nano-dropdown.entry.js +0 -5
  1655. package/dist/nano-components/nano-dropdown.entry.js.map +0 -1
  1656. package/dist/nano-components/nano-field-validator.entry.js.map +0 -1
  1657. package/dist/nano-components/nano-file-upload.entry.js.map +0 -1
  1658. package/dist/nano-components/nano-global-nav-user-profile_3.entry.js +0 -5
  1659. package/dist/nano-components/nano-global-nav-user-profile_3.entry.js.map +0 -1
  1660. package/dist/nano-components/nano-global-nav.entry.js.map +0 -1
  1661. package/dist/nano-components/nano-global-search-results.entry.js +0 -5
  1662. package/dist/nano-components/nano-global-search-results.entry.js.map +0 -1
  1663. package/dist/nano-components/nano-grid-item.entry.js.map +0 -1
  1664. package/dist/nano-components/nano-grid_2.entry.js.map +0 -1
  1665. package/dist/nano-components/nano-hero.entry.js.map +0 -1
  1666. package/dist/nano-components/nano-icon-button_2.entry.js +0 -5
  1667. package/dist/nano-components/nano-icon-button_2.entry.js.map +0 -1
  1668. package/dist/nano-components/nano-icon.entry.js +0 -5
  1669. package/dist/nano-components/nano-icon.entry.js.map +0 -1
  1670. package/dist/nano-components/nano-input.entry.js +0 -5
  1671. package/dist/nano-components/nano-input.entry.js.map +0 -1
  1672. package/dist/nano-components/nano-intersection-observe.entry.js.map +0 -1
  1673. package/dist/nano-components/nano-menu-drawer.entry.js.map +0 -1
  1674. package/dist/nano-components/nano-more-less.entry.js.map +0 -1
  1675. package/dist/nano-components/nano-overflow-nav.entry.js +0 -5
  1676. package/dist/nano-components/nano-overflow-nav.entry.js.map +0 -1
  1677. package/dist/nano-components/nano-progress-bar.entry.js.map +0 -1
  1678. package/dist/nano-components/nano-range.entry.js.map +0 -1
  1679. package/dist/nano-components/nano-rating.entry.js.map +0 -1
  1680. package/dist/nano-components/nano-resize-observe_2.entry.js.map +0 -1
  1681. package/dist/nano-components/nano-slide.entry.js.map +0 -1
  1682. package/dist/nano-components/nano-slides-2715825b.js +0 -20
  1683. package/dist/nano-components/nano-slides-2715825b.js.map +0 -1
  1684. package/dist/nano-components/nano-slides.entry.js.map +0 -1
  1685. package/dist/nano-components/nano-sortable.entry.js.map +0 -1
  1686. package/dist/nano-components/nano-spinner.entry.js.map +0 -1
  1687. package/dist/nano-components/nano-split-pane.entry.js.map +0 -1
  1688. package/dist/nano-components/nano-sticker.entry.js.map +0 -1
  1689. package/dist/nano-components/nano-tab-content.entry.js.map +0 -1
  1690. package/dist/nano-components/nano-tab-group.entry.js.map +0 -1
  1691. package/dist/nano-components/nano-tab.entry.js.map +0 -1
  1692. package/dist/nano-components/nano-table-5eaf3a0c.js +0 -5
  1693. package/dist/nano-components/nano-table-5eaf3a0c.js.map +0 -1
  1694. package/dist/nano-components/nano-table.entry.js.map +0 -1
  1695. package/dist/nano-components/page-dots-5b23db8c.js +0 -5
  1696. package/dist/nano-components/page-dots-5b23db8c.js.map +0 -1
  1697. package/dist/nano-components/popover-30ce6cac.js +0 -5
  1698. package/dist/nano-components/popover-30ce6cac.js.map +0 -1
  1699. package/dist/nano-components/renderer-4bc3e2dc.js +0 -5
  1700. package/dist/nano-components/renderer-4bc3e2dc.js.map +0 -1
  1701. package/dist/nano-components/scroll-1afc6a4e.js +0 -5
  1702. package/dist/nano-components/scroll-1afc6a4e.js.map +0 -1
  1703. package/dist/nano-components/scroll-parent-be39fbd0.js +0 -5
  1704. package/dist/nano-components/scroll-parent-be39fbd0.js.map +0 -1
  1705. package/dist/nano-components/search-insights-1a7b7dc5.js +0 -5
  1706. package/dist/nano-components/search-insights-1a7b7dc5.js.map +0 -1
  1707. package/dist/nano-components/slot-1cd90e53.js +0 -5
  1708. package/dist/nano-components/slot-1cd90e53.js.map +0 -1
  1709. package/dist/nano-components/tabbable-44932eb7.js +0 -5
  1710. package/dist/nano-components/tabbable-44932eb7.js.map +0 -1
  1711. package/dist/nano-components/table.worker-94b9c69e.js +0 -5
  1712. package/dist/nano-components/table.worker-94b9c69e.js.map +0 -1
  1713. package/dist/nano-components/table.worker-da5412ed.js +0 -4
  1714. package/dist/nano-components/theme-d553c17a.js +0 -5
  1715. package/dist/nano-components/theme-d553c17a.js.map +0 -1
  1716. package/dist/nano-components/throttle-df960210.js +0 -5
  1717. package/dist/nano-components/throttle-df960210.js.map +0 -1
  1718. package/dist/nano-components/transitions-c09bd7f6.js +0 -5
  1719. package/dist/nano-components/transitions-c09bd7f6.js.map +0 -1
  1720. package/dist/stencil.config.js.map +0 -1
  1721. package/dist/stencil.config.prod.js.map +0 -1
  1722. package/dist/testing/mocks/intersection-observer.js.map +0 -1
  1723. package/dist/themes/base/normalize.css +0 -1
  1724. package/dist/themes/base/normalize.css.map +0 -1
  1725. package/dist/themes/base/noto-sans-jp.css +0 -1
  1726. package/dist/themes/base/noto-sans-jp.css.map +0 -1
  1727. package/dist/themes/base/noto-sans-sc.css +0 -1
  1728. package/dist/themes/base/noto-sans-sc.css.map +0 -1
  1729. package/dist/themes/base/noto-sans.css +0 -1
  1730. package/dist/themes/base/noto-sans.css.map +0 -1
  1731. package/dist/themes/base/structure.css +0 -1
  1732. package/dist/themes/base/structure.css.map +0 -1
  1733. package/dist/themes/london-calling.css +0 -1
  1734. package/dist/themes/london-calling.css.map +0 -1
  1735. package/dist/themes/nanopore.css +0 -1
  1736. package/dist/themes/nanopore.css.map +0 -1
  1737. package/dist/types/builds/WUhA-BsM/0/Digital/nano-components/packages/components/.stencil/generators/custom-element-doc-generator.d.ts +0 -8
  1738. package/dist/types/builds/WUhA-BsM/0/Digital/nano-components/packages/components/.stencil/stencil.config.d.ts +0 -2
  1739. package/dist/types/builds/WUhA-BsM/0/Digital/nano-components/packages/components/.stencil/stencil.config.prod.d.ts +0 -2
  1740. package/dist/types/components/global-nav/global-nav-user-profile.d.ts +0 -16
  1741. package/dist/types/components/overflow-nav/overflow-nav.d.ts +0 -89
  1742. package/dist/types/components/table/table-interface.d.ts +0 -278
  1743. package/dist/types/components/table/table.store.d.ts +0 -24
  1744. package/dist/types/components/table/table.utils.d.ts +0 -70
  1745. package/dist/types/utils/focus-visible.d.ts +0 -8
  1746. package/dist/types/utils/scroll-parent.d.ts +0 -6
  1747. package/dist/wdio.conf.js.map +0 -1
  1748. package/themes/base/normalize.css +0 -1
  1749. package/themes/base/normalize.css.map +0 -1
  1750. package/themes/base/noto-sans-jp.css +0 -1
  1751. package/themes/base/noto-sans-jp.css.map +0 -1
  1752. package/themes/base/noto-sans-sc.css +0 -1
  1753. package/themes/base/noto-sans-sc.css.map +0 -1
  1754. package/themes/base/noto-sans.css +0 -1
  1755. package/themes/base/noto-sans.css.map +0 -1
  1756. package/themes/base/structure.css +0 -1
  1757. package/themes/base/structure.css.map +0 -1
  1758. package/themes/london-calling.css +0 -1
  1759. package/themes/london-calling.css.map +0 -1
  1760. package/themes/nanopore.css +0 -1
  1761. package/themes/nanopore.css.map +0 -1
  1762. /package/dist/nano-assets/{fonts/jp/noto-sans-jp-v53-japanese-700.woff2 → font/jp/noto-sans-jp-v53-japanese_latin-700.woff2} +0 -0
  1763. /package/dist/nano-assets/{fonts/jp/noto-sans-jp-v53-japanese-regular.woff2 → font/jp/noto-sans-jp-v53-japanese_latin-regular.woff2} +0 -0
  1764. /package/dist/nano-assets/{fonts → font}/latin/noto-sans-v38-latin-700.woff2 +0 -0
  1765. /package/dist/nano-assets/{fonts → font}/latin/noto-sans-v38-latin-700italic.woff2 +0 -0
  1766. /package/dist/nano-assets/{fonts → font}/latin/noto-sans-v38-latin-italic.woff2 +0 -0
  1767. /package/dist/nano-assets/{fonts → font}/latin/noto-sans-v38-latin-regular.woff2 +0 -0
  1768. /package/dist/nano-assets/{fonts/sc/noto-sans-sc-v37-chinese-simplified-700.woff2 → font/sc/noto-sans-sc-v37-chinese-simplified_latin-700.woff2} +0 -0
  1769. /package/dist/nano-assets/{fonts/sc/noto-sans-sc-v37-chinese-simplified-regular.woff2 → font/sc/noto-sans-sc-v37-chinese-simplified_latin-regular.woff2} +0 -0
  1770. /package/dist/types/{builds/WUhA-BsM/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/generate-vue-component.d.ts +0 -0
  1771. /package/dist/types/{builds/WUhA-BsM/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/index.d.ts +0 -0
  1772. /package/dist/types/{builds/WUhA-BsM/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/output-vue.d.ts +0 -0
  1773. /package/dist/types/{builds/WUhA-BsM/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/plugin.d.ts +0 -0
  1774. /package/dist/types/{builds/WUhA-BsM/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/types.d.ts +0 -0
  1775. /package/dist/types/{builds/WUhA-BsM/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/utils.d.ts +0 -0
  1776. /package/dist/types/{builds/WUhA-BsM/0/Digital → Users/John.Jenkins/projects}/nano-components/packages/components/.stencil/testing/mocks/intersection-observer.d.ts +0 -0
  1777. /package/dist/types/{builds/WUhA-BsM/0/Digital → Users/John.Jenkins/projects}/nano-components/packages/components/.stencil/wdio.conf.d.ts +0 -0
  1778. /package/dist/types/components/{table → data-table}/table.cell.d.ts +0 -0
  1779. /package/dist/types/components/{table → data-table}/table.constants.d.ts +0 -0
  1780. /package/dist/types/components/{table → data-table}/table.header.d.ts +0 -0
  1781. /package/dist/types/components/{table → data-table}/table.pin-service.d.ts +0 -0
  1782. /package/dist/types/components/{table → data-table}/table.row.d.ts +0 -0
  1783. /package/dist/types/components/{table → data-table}/table.worker.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"file":"nano-global-nav-user-profile.nano-nav-item.nano-select.entry.cjs.js","mappings":"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","names":["h","getAssetPath","getTabbableElements","displayTransition","getSiblings","getDirectChildren","transformTag","Host","debounce","debounceEvent","getActiveElement","closestElement","createColorClasses","FormControlWrap","FormControl"],"sources":["src/components/global-nav/global-nav-user-profile.tsx","src/components/nav-item/nav-item.scss?tag=nano-nav-item&encapsulation=shadow","src/components/nav-item/nav-item.tsx","src/components/select/select.scss?tag=nano-select&encapsulation=scoped","src/components/select/select.tsx"],"sourcesContent":["import {\n Component,\n Prop,\n getAssetPath,\n ComponentInterface,\n} from '@stencil/core';\nimport { h } from '../../utils/renderer';\nimport { MyAccountUser } from './global-nav-interface';\n\n/**\n * Nanopore digital global navigation user profile.\n */\n@Component({\n tag: 'nano-global-nav-user-profile',\n})\nexport class GlobalNavUserProfile implements ComponentInterface {\n /**\n * Logged in user details automatically populated from MyAccount\n */\n @Prop() myAccountUser: MyAccountUser;\n\n /**\n * Link to the user profile\n */\n @Prop() userProfileUrl: string;\n\n // Render output\n\n render() {\n return (\n !!this.myAccountUser && (\n <a href={this.userProfileUrl} class=\"user-profile\">\n <div class=\"left\">\n <div class=\"avatar-container\">\n <img\n class=\"avatar\"\n src={this.myAccountUser?.small_avatar_url}\n alt=\"User Avatar\"\n height={75}\n width={75}\n />\n {this.myAccountUser.is_nanopore_user && (\n <img\n class=\"logo-small\"\n src={getAssetPath(`../nano-assets/ont-wheel-light.svg`)}\n alt=\"Nanopore Logo\"\n />\n )}\n </div>\n\n <div class=\"user-details\">\n <span class=\"name\">{this.myAccountUser.name}</span>\n\n <span class=\"bio\">\n {this.myAccountUser.job_title} at {this.myAccountUser.company}\n </span>\n </div>\n </div>\n\n <div class=\"right\">\n <div class=\"chevron-right\">\n <nano-icon slot=\"icon-end\" name=\"light/chevron-right\"></nano-icon>\n </div>\n </div>\n </a>\n )\n );\n }\n}\n","@use '../../global/style/utilities/mixins' as mx;\n@use '../../global/style/nano-theme/tokens/form';\n\n:host {\n // These can be overwritten, but are automatically set from context components\n\n // --padding-top: inherit;\n // --padding-bottom: inherit;\n // --padding-start: inherit;\n // --padding-end: inherit;\n // --margin: inherit;\n\n // --secondary-padding-top: inherit;\n // --secondary-padding-bottom: inherit;\n // --secondary-padding-start: inherit;\n // --secondary-padding-end: inherit;\n\n // --border-bottom: inherit;\n // --icon-size: inherit;\n\n // --color: inherit;\n // --color-hover: inherit;\n // --color-focus: inherit;\n // --color-selected: inherit;\n // --color-open: inherit;\n\n // --bg-color: inherit;\n // --bg-color-hover: inherit;\n // --bg-color-selected: inherit;\n // --bg-color-open: inherit;\n // --bg-color-focus: inherit;\n\n // --secondary-bg-color: inherit;\n // --secondary-color: inherit;\n\n opacity: inherit;\n display: block;\n color: var(--color) !important;\n margin: var(--margin);\n outline: none !important;\n\n .nav-item,\n .link {\n outline: none !important;\n border-radius: inherit;\n }\n\n ::slotted(*),\n * {\n box-sizing: border-box;\n }\n\n ::slotted(button),\n button {\n background: none;\n border: none;\n margin: 0;\n }\n\n ::slotted(button),\n ::slotted(a),\n ::slotted(a:visited),\n button,\n a,\n a:visited {\n @include mx.text-inherit();\n\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: var(--padding-top) var(--padding-bottom);\n display: var(--display, block);\n white-space: nowrap;\n color: var(--color) !important;\n background-color: var(--bg-color);\n line-height: inherit;\n outline: none !important;\n }\n\n ::slotted(.nano-icon[slot='icon-start']) {\n padding-inline-end: var(--padding-end);\n }\n\n ::slotted(.nano-icon[slot='icon-end']) {\n padding-inline-start: var(--padding-start);\n }\n\n .link {\n ::slotted(.nano-icon[slot='icon-start']) {\n padding-inline: var(--padding-start) 0;\n }\n\n ::slotted(.nano-icon[slot='icon-end']) {\n padding-inline: 0 var(--padding-end);\n }\n }\n\n .link,\n button,\n a {\n border-block-end: var(--border-bottom);\n display: flex;\n align-items: center;\n border-radius: inherit;\n }\n\n .secondary-menu {\n display: none;\n }\n\n ::slotted(a:hover),\n ::slotted(button:hover),\n .link:hover,\n button:hover,\n a:hover {\n text-decoration: inherit !important;\n }\n\n button:focus-visible,\n a:focus-visible {\n color: var(--color-focus, var(--color-hover, var(--color))) !important;\n background-color:\n var(\n --bg-color-focus,\n var(--bg-color-hover, var(--bg-color))\n );\n box-shadow: #{form.$control-focus-style};\n }\n\n ::slotted(a:focus-visible),\n ::slotted(button:focus-visible) {\n color: var(--color-focus, var(--color-hover, var(--color))) !important;\n background-color:\n var(\n --bg-color-focus,\n var(--bg-color-hover, var(--bg-color))\n );\n box-shadow: #{form.$control-focus-style};\n }\n}\n\n.nav-item {\n &.selected {\n .link,\n button,\n a {\n color: var(--color-selected, var(--color-open, var(--color))) !important;\n background-color:\n var(\n --bg-color-selected,\n var(--bg-color-open, var(--bg-color))\n );\n }\n }\n\n &.secondary-open {\n button,\n a {\n color: var(--color-open, var(--color-selected, var(--color))) !important;\n background-color:\n var(\n --bg-color-open,\n var(--secondary-bg-color, var(--bg-color-selected, var(--bg-color)))\n );\n }\n }\n\n &.disabled {\n opacity: 0.6;\n\n button,\n a {\n color: var(--color-disabled, var(--color)) !important;\n }\n }\n\n &:not(.nano-menu) {\n ::slotted(a:hover),\n ::slotted(button:hover),\n .link:hover,\n button:hover,\n a:hover {\n color: var(--color-hover, var(--color-hover, var(--color))) !important;\n background-color:\n var(\n --bg-color-hover,\n var(--bg-color-focus, var(--bg-color))\n );\n }\n }\n}\n\n:host(.has-focus) {\n .link {\n color: var(--color-focus, var(--color-hover, var(--color))) !important;\n background-color:\n var(\n --bg-color-focus,\n var(--bg-color-hover, var(--bg-color))\n );\n outline: var(--focus-outline, 5px auto -webkit-focus-ring-color);\n }\n}\n\n:host(.nano-global-nav-menu),\n:host(.nano-menu) {\n a,\n a:visited,\n button,\n .link {\n display: flex;\n justify-content: flex-start;\n flex-direction: row;\n align-items: center;\n color: currentcolor;\n text-decoration: inherit;\n white-space: normal;\n cursor: pointer;\n line-height: 1.2;\n inline-size: 100%;\n }\n\n .text {\n padding-inline: 0 var(--padding-end);\n flex: 1;\n }\n\n ::slotted(a),\n ::slotted(button) {\n flex: 1;\n }\n\n .secondary-menu {\n display: none;\n position: absolute;\n color: var(--secondary-color, currentcolor);\n min-block-size: 100%;\n inset-block-start: 0;\n inset-inline-start: 0;\n inline-size: 100%;\n z-index: 1;\n opacity: 0;\n transition: opacity 0.3s ease, transform 0.3s ease;\n background-color: var(--secondary-bg-color, white);\n transform: translate3d(100%, 0, 0);\n\n &:focus {\n outline: none;\n }\n\n &.open {\n opacity: 1;\n transform: translate3d(0, 0, 0);\n transition: opacity 0.3s ease, transform 0.3s ease;\n }\n }\n}\n\n:host(.nano-global-nav-menu) {\n ::slotted(.nano-icon[slot='icon-start']) {\n padding-inline: 0 var(--padding-end);\n padding-block: 0;\n }\n\n ::slotted(.nano-icon[slot='icon-end']) {\n padding-inline: 0 var(--padding-end);\n padding-block: 0;\n font-size: 10px;\n flex: 0 0 10px;\n pointer-events: none;\n }\n\n button,\n a {\n ::slotted(.nano-icon[slot='icon-end']) {\n padding: 0;\n }\n }\n}\n\n:host(.nano-global-nav-menu[dir='rtl']),\n:host(.nano-menu[dir='rtl']) {\n .secondary-menu {\n transform: translateX(-100%);\n\n &.open {\n transform: translateX(0);\n }\n }\n}\n\n:host(.nano-menu) {\n ::slotted(a:focus),\n ::slotted(button:focus) {\n box-shadow: none;\n }\n\n .secondary-menu-content {\n padding-inline: var(--secondary-padding-start) var(--secondary-padding-end);\n padding-block: var(--secondary-padding-top) var(--secondary-padding-bottom);\n }\n}\n\n:host(.nano-global-nav-bar) {\n .link,\n a,\n button {\n display: flex;\n align-items: center;\n cursor: pointer;\n }\n\n .text {\n flex: 1 0 auto;\n }\n\n ::slotted(.nano-icon[slot='icon-end']) {\n margin-inline: var(--padding-end) 0;\n margin-block: 0;\n }\n\n ::slotted(.nano-icon[slot='icon-start']) {\n margin-inline: 0 var(--padding-start);\n margin-block: 0;\n }\n\n ::slotted(a),\n button {\n position: relative;\n\n &::before {\n content: '';\n background-color: rgb(12 90 113);\n block-size: 9px;\n inset-inline: 0 5px;\n inset-block-end: -22px;\n position: absolute;\n transform: translateZ(0) scaleX(0);\n transform-origin: 0;\n transition: transform 0.2s ease;\n }\n }\n\n .secondary-open button::before {\n transform: translateZ(0) scaleX(1);\n }\n}\n\n:host(.nano-global-nav-bar.selected) {\n ::slotted(a),\n button {\n &::before {\n transform: translateZ(0) scaleX(1);\n }\n }\n}\n\n:host(.nano-global-nav-bar.has-secondary) {\n .secondary-open button::before {\n opacity: 0.7;\n }\n\n .secondary-menu {\n display: none;\n transition: transform 0.3s ease;\n transform: translateY(-100%) translateZ(0);\n background-color: var(--secondary-bg-color, #196c82);\n color: var(--secondary-color);\n position: absolute;\n box-shadow: 0 1px 25px 0 rgb(0 0 0 / 15%);\n inset-inline: 0;\n z-index: -2;\n outline: none;\n\n &.open {\n transform: translateY(12px) translateZ(0);\n }\n }\n}\n\n:host(.nano-menu-drawer) {\n .link,\n a,\n button {\n padding-block: calc(var(--padding-top) / 2) calc(var(--padding-bottom) / 2);\n padding-inline: var(--padding-start) 0;\n display: flex;\n justify-content: flex-start;\n flex-direction: row;\n align-items: center;\n color: currentcolor;\n text-decoration: inherit;\n white-space: normal;\n border: none;\n cursor: pointer;\n line-height: 1.2;\n inline-size: 100%;\n }\n\n .text {\n padding-inline: 0 var(--padding-end);\n text-align: start;\n flex: 0 1 auto;\n min-inline-size: 130px;\n inline-size: 130px;\n }\n\n ::slotted(.nano-icon[slot='icon-start']) {\n padding-inline: 0 var(--padding-end);\n padding-block: 0;\n font-size: var(--icon-size);\n inline-size: var(--icon-size);\n flex: 0 0 var(--icon-size);\n }\n\n ::slotted(.nano-icon[slot='icon-end']) {\n padding: 0 var(--padding-end) 0 0;\n font-size: 10px;\n flex: 0 0 20px;\n min-inline-size: 20px;\n }\n\n .secondary-menu {\n display: none;\n position: absolute;\n background-color: var(--secondary-bg-color);\n color: var(--secondary-color);\n block-size: 100vh;\n inset-inline: auto 0;\n inset-block: 0;\n transform: translateX(0);\n z-index: -1;\n transition: transform 0.3s ease, opacity 0.2s ease;\n overflow-y: auto;\n inline-size: var(--secondary-width, 400px);\n max-inline-size: 62vw;\n opacity: 1;\n padding-inline:\n var(--secondary-padding-start, var(--padding-start))\n var(--secondary-padding-end, var(--padding-end));\n padding-block:\n var(--secondary-padding-top, var(--padding-top))\n var(--secondary-padding-bottom, var(--padding-bottom));\n\n &:focus {\n outline: none;\n }\n\n &.open {\n transform: translateX(100%);\n }\n }\n\n .notification {\n position: relative;\n\n &::after {\n content: '';\n display: block;\n position: absolute;\n inline-size: 6px;\n block-size: 6px;\n background-color: #ef4135;\n inset-inline-start: 10px;\n inset-block-start: 7px;\n border-radius: 50%;\n\n @media (width >= 52em) {\n inline-size: 7px;\n block-size: 7px;\n inset-inline-start: 8px;\n inset-block-start: 5px;\n }\n }\n }\n}\n\n:host(.nano-menu-drawer[dir='rtl']) {\n .secondary-menu {\n transform: translateX(0%);\n\n &.open {\n transform: translateX(-100%);\n opacity: 1;\n }\n }\n}\n","import {\n Component,\n Host,\n Element,\n Prop,\n Watch,\n EventEmitter,\n Event,\n State,\n Method,\n ComponentInterface,\n Listen,\n} from '@stencil/core';\nimport { getSiblings, getDirectChildren } from '../../utils/dom';\nimport { displayTransition } from '../../utils/transitions';\nimport { getTabbableElements } from '../../utils/tabbable';\nimport { h, transformTag } from '../../utils/renderer';\nimport { NavItemEventDetail } from './nav-item-interface';\n\n/**\n * Nav items to be used with the various nav items.\n * [Globla-Nav](/story/compounds-global-nav)\n * [Menu-Drawer](/story/components-menu-drawer)\n * [Dropdown](/story/components-dropdown)\n *\n * @slot icon-start - an icon at the start of the main control\n * @slot icon-end - an icon at the end of the main control\n * @slot secondary - a content panel in which you can place any html to display on control click\n * @slot - use the default slot for either `<a>` or text (if constructing a secondary content panel or using `href` directly)\n * @part ctrl - the controlling `<a>` or `<button>` element\n * @part ctrl--button - the controlling `<button>` element\n * @part ctrl--anchor - the controlling <a> element\n * @part ctrl-wrapper - the wrapping div around the control (shadow `<button>` / `<a>` or slotted `<a>`)\n * @part secondary-wrapper - the div surrounding slotted secondary content\n * @part secondary-mask - the div that is added when secondary content is shown\n */\n@Component({\n tag: 'nano-nav-item',\n styleUrl: 'nav-item.scss',\n shadow: true,\n})\nexport class NavItem implements ComponentInterface {\n private hasSecondarySlot: boolean = false;\n private btn: HTMLButtonElement | HTMLAnchorElement;\n private fromHover: boolean;\n private animating: boolean = false;\n private waitHide: number;\n private waitShow: number;\n private globalNavEle?: HTMLNanoGlobalNavElement;\n private secondaryDiv: HTMLDivElement;\n\n @State() hasAnchorEle: boolean = false;\n @State() didOpen: boolean = false;\n @State() isInGlobalNav: boolean = false;\n @State() isInMenuDrawer: boolean = false;\n @State() isInMenu: boolean = false;\n @State() hasFocus: boolean = false;\n @Element() private el: HTMLNanoNavItemElement;\n\n /**\n * Href to link to\n */\n @Prop({ mutable: true }) href: string = null;\n\n /**\n * Target to use for links\n */\n @Prop() target: '_self' | '_blank' | '_parent' | '_top' = '_self';\n\n /**\n * Disable the nav item\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Whether a secondary menu should be or is currently open\n */\n @Prop({ mutable: true, reflect: true }) open: boolean = false;\n\n /**\n * Whether this menu item is currently 'selected'\n */\n @Prop({ reflect: true }) selected: boolean = false;\n\n /**\n * Screen pixel width to activate the secondary menu\n */\n @Prop() secondaryActiveWidth: number = 0;\n\n /**\n * Secondary fallback function for when the secondary menu is no longer active.\n */\n @Prop() secondaryFallback = () => {};\n\n /**\n * Whether secondary menus should close on blur\n */\n @Prop() closeOnBlur: boolean = true;\n\n /**\n * Will show an indicator badge - only when placed in a nano-menu-draw\n */\n @Prop() notification: boolean = false;\n\n /**\n * Emitted when the nav item closes it's secondary navigation.\n */\n @Event() nanoClose!: EventEmitter<NavItemEventDetail>;\n\n /**\n * Emitted when the nav item opens it's secondary navigation.\n */\n @Event() nanoOpen!: EventEmitter<NavItemEventDetail>;\n\n /**\n * Emitted when the nav item is about to open it's secondary navigation.\n */\n @Event() nanoOpening!: EventEmitter<NavItemEventDetail>;\n\n /**\n * Emitted when the nav item is about to close it's secondary navigation.\n */\n @Event() nanoClosing!: EventEmitter<NavItemEventDetail>;\n\n /**\n * Emitted when the nav item loses focus.\n */\n @Event() nanoBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the nav item has focus.\n */\n @Event() nanoFocus!: EventEmitter<void>;\n\n /**\n * Sets focus on the first button or anchor present. Use this method instead of the global\n * `element.focus()`.\n */\n @Method()\n async setFocus() {\n if (!this.btn) return;\n this.btn.focus();\n }\n\n /**\n * Public open watcher\n */\n @Watch('open')\n openChange() {\n if (this.open) this.openSecondary();\n else this.closeSecondary();\n }\n\n /**\n * Internal open watcher\n */\n @Watch('didOpen')\n didOpenChange() {\n if (!this.hasSecondarySlot) return;\n\n if (!this.didOpen) {\n /* the secondadry panel is not closing via hover,\n remove blur events, add focus back to originating button */\n setTimeout(() => {\n if (\n !this.fromHover &&\n (!document.activeElement || document.activeElement === document.body)\n )\n this.btn.focus({ preventScroll: true });\n this.el.tabIndex = null;\n this.nanoClose.emit({ secondaryMenu: this.secondaryDiv });\n }, 50);\n } else {\n /* the secondary panel is not opening via hover,\n scroll content into view, focus on it and add blur events */\n if (!this.fromHover) {\n const panelIO = new (window as any).IntersectionObserver(\n (data: IntersectionObserverEntry[]) => {\n if (data[0].boundingClientRect.top < 0) {\n this.secondaryDiv.scrollIntoView({\n behavior: 'smooth',\n });\n }\n panelIO.disconnect();\n },\n { threshold: 1 }\n );\n panelIO.observe(this.secondaryDiv);\n this.secondaryDiv.focus({ preventScroll: true });\n\n const focusableChild = getTabbableElements(this.secondaryDiv, true);\n if (focusableChild[0]) focusableChild[0].focus();\n\n this.el.tabIndex = -1;\n this.nanoOpen.emit({ secondaryMenu: this.secondaryDiv });\n }\n }\n }\n\n @Listen('click', { target: 'body' })\n @Listen('keyup', { target: 'body' })\n handleClose(e: MouseEvent | KeyboardEvent) {\n if (!this.didOpen || !this.hasSecondarySlot || !this.closeOnBlur) return;\n if (!e.composedPath().some((el) => el === this.secondaryDiv))\n this.toggleSecondary();\n }\n\n private closeSecondary = async () => {\n if (!this.hasSecondarySlot || !this.didOpen) return;\n this.open = false;\n await displayTransition(this.secondaryDiv, {\n className: 'open',\n show: false,\n });\n this.nanoClosing.emit({ secondaryMenu: this.secondaryDiv });\n this.didOpen = false;\n };\n\n private openSecondary = async () => {\n if (window.innerWidth < this.secondaryActiveWidth) {\n this.secondaryFallback.call(this);\n return;\n }\n\n if (!this.hasSecondarySlot || this.didOpen) return;\n this.open = true;\n await displayTransition(this.secondaryDiv, {\n className: 'open',\n show: true,\n });\n this.nanoOpening.emit({ secondaryMenu: this.secondaryDiv });\n this.didOpen = true;\n };\n\n private toggleSecondary = () => {\n if (!this.hasSecondarySlot) return;\n if (this.didOpen) this.closeSecondary();\n else this.openSecondary();\n };\n\n private handleFocus = () => {\n this.hasFocus = true;\n // opens secondary panel when activated via hover\n if (this.href && !this.animating && this.hasSecondarySlot)\n this.openSecondary();\n this.nanoFocus.emit();\n };\n\n private handleHostBlur = () => {\n if (this.animating) return;\n\n // tab index is added to host when secondary panel opens\n // to return focus after secondary panel closes. Remove now if it was added\n this.el.removeAttribute('tabindex');\n this.hasFocus = false;\n this.nanoBlur.emit();\n };\n\n // direct host clicks to internal button\n private handleHostClick = (ev: MouseEvent) => {\n if (!this.hasAnchorEle) return;\n const foundlink = (ev.target as HTMLElement).closest('a, button');\n if (!foundlink) this.btn.click();\n };\n\n // handles secondary menu hover behaviour.\n private handleMouseEnter = async () => {\n if (\n !this.href ||\n this.animating ||\n !this.hasSecondarySlot ||\n (this.globalNavEle && !this.globalNavEle.classList.contains('ready'))\n )\n return;\n\n // if there are sibling secondary panels currently open,\n // we need to wait before opening otherwise we get unwanted overlapping\n let timeToWait = 0;\n if (getSiblings(this.el, '.secondary-open.has-secondary').length)\n timeToWait = 300;\n\n clearTimeout(this.waitHide);\n this.fromHover = true;\n this.animating = true;\n this.waitShow = window.setTimeout(\n async () => await this.openSecondary(),\n timeToWait\n );\n this.animating = false;\n };\n\n // handles secondary menu hover-out behaviour.\n private handleMouseLeave = () => {\n if (!this.href) return;\n clearTimeout(this.waitShow);\n this.fromHover = true;\n this.animating = true;\n\n // prevent closing immediately - makes navigating to items within more forgiving\n this.waitHide = window.setTimeout(\n async () => await this.closeSecondary(),\n 300\n );\n this.animating = false;\n };\n\n private handleClick = () => {\n this.fromHover = false;\n if (this.hasSecondarySlot) this.toggleSecondary();\n };\n\n connectedCallback() {\n const secondaryEle = this.el.querySelector('[slot=\"secondary\"]');\n this.hasSecondarySlot = !!secondaryEle;\n\n const link = getDirectChildren<HTMLAnchorElement | HTMLButtonElement>(\n this.el,\n 'a, button'\n )[0];\n this.hasAnchorEle = !!link;\n\n if (link) {\n this.href = (link as HTMLAnchorElement).href\n ? (link as HTMLAnchorElement).href\n : null;\n this.btn = link;\n if (this.hasSecondarySlot)\n this.btn.addEventListener('click', this.toggleSecondary);\n\n this.btn.addEventListener('focus', this.handleFocus);\n this.btn.addEventListener('blur', this.handleHostBlur);\n }\n\n this.isInGlobalNav = false;\n this.isInMenuDrawer = false;\n this.globalNavEle = this.el.closest(transformTag('nano-global-nav'));\n\n this.isInMenuDrawer = !!this.el.closest(transformTag('nano-menu-drawer'));\n this.isInMenu = !!this.el.closest(transformTag('nano-menu'));\n this.isInGlobalNav =\n this.el.parentElement === this.globalNavEle ||\n !!this.el.closest('.global-nav');\n }\n\n componentDidLoad() {\n this.openChange();\n }\n\n disconnectedCallback(): void {\n this.btn.removeEventListener('click', this.toggleSecondary);\n this.btn.removeEventListener('focus', this.handleFocus);\n this.btn.removeEventListener('blur', this.handleHostBlur);\n }\n\n render() {\n return (\n <Host\n class={{\n 'has-secondary': this.hasSecondarySlot,\n 'secondary-open': this.open,\n selected: this.selected,\n 'has-focus': this.hasFocus,\n disabled: this.disabled,\n 'nano-global-nav': this.isInGlobalNav,\n 'nano-menu-drawer': this.isInMenuDrawer,\n 'nano-menu': this.isInMenu,\n 'nano-nav-item': true,\n }}\n onBlur={this.handleHostBlur}\n dir={this.el.ownerDocument.dir === 'rtl' ? 'rtl' : null}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onClick={this.handleHostClick}\n role={this.el.closest('[role=\"menu\"]') ? 'menuitem' : undefined}\n >\n <div\n class={{\n 'nav-item': true,\n 'secondary-open': this.open,\n selected: this.selected,\n }}\n part=\"ctrl-wrapper\"\n >\n {this.href && !this.hasAnchorEle && !this.disabled && (\n <a\n part=\"ctrl ctrl--anchor\"\n target={this.target}\n ref={(a) => (this.btn = a)}\n href={this.href}\n onFocus={this.handleFocus}\n class={{\n notification: this.notification,\n }}\n >\n <slot name=\"icon-start\" />\n <span class=\"text\">\n <slot />\n </span>\n <slot name=\"icon-end\" />\n </a>\n )}\n {((!this.hasAnchorEle && !this.href) || this.disabled) && (\n <button\n part=\"ctrl ctrl--button\"\n ref={(btn) => (this.btn = btn)}\n onClick={this.handleClick}\n onFocus={this.handleFocus}\n disabled={this.disabled}\n class={{\n notification: this.notification,\n }}\n >\n <slot name=\"icon-start\" />\n <span class=\"text\">\n <slot />\n </span>\n <slot name=\"icon-end\" />\n </button>\n )}\n {this.hasAnchorEle && !this.disabled && (\n <div class=\"link\">\n <slot name=\"icon-start\" />\n <slot />\n <slot name=\"icon-end\" />\n </div>\n )}\n {this.hasSecondarySlot && !this.disabled && (\n <div\n class=\"secondary-menu\"\n ref={(div) => (this.secondaryDiv = div)}\n tabIndex={-1}\n >\n <div class=\"secondary-menu-content\" part=\"secondary-wrapper\">\n <slot name=\"secondary\" />\n </div>\n <div\n class=\"secondary-menu-mask\"\n onClick={this.closeSecondary}\n part=\"secondary-mask\"\n ></div>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n","@use '../../global/style/utilities/mixins' as mx;\n@use '../../global/style/utilities/colours' as color;\n@use '../../global/style/utilities/globals' as globals;\n@use '../../global/style/nano-theme/tokens';\n@use '../form-control/form-control-vars' as formControl;\n@use '../form-control/form-control';\n\n\n:host {\n @include formControl.vars;\n\n /**\n * @prop --max-menu-height: the maximum of the dropdown menu. Defaults to 50vw.\n */\n\n position: relative;\n inline-size: 100%;\n padding: 0 !important;\n font-family: globals.$font-family-base;\n display: block;\n}\n\n:host(.nano-color) {\n --input-border-style--focus:\n #{tokens.$input-border-style} var(\n --nano-color-tint,\n #{tokens.nano-color(\n primary,\n tint\n )}\n );\n --multi-input-value-bg: var(--nano-color-tint-rgb);\n --multi-input-value-border: var(--nano-color-shade);\n --multi-input-value-text-color: var(--nano-color-contrast);\n\n color: color.current-color(base);\n}\n\n:host([disabled]:not([disabled='false'])) {\n * {\n pointer-events: none !important;\n }\n}\n\nselect {\n display: none;\n}\n\n.select__native-input {\n @include mx.text-inherit();\n\n padding: unset;\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: 0;\n border-radius: var(--input-border-radius);\n text-overflow: ellipsis;\n color: var(--input-text-color);\n display: inline-block;\n flex: 1;\n inline-size: 100%;\n max-inline-size: 100%;\n max-block-size: 100%;\n border: 0;\n outline: none;\n background: transparent;\n appearance: none;\n margin: 0;\n box-sizing: border-box;\n resize: none;\n overflow: hidden;\n cursor: default;\n line-height: 2.5em;\n\n .has-float-label & {\n line-height: 2.1em;\n min-block-size: 2.1em;\n padding-block-start: 1.4em;\n }\n\n &::selection {\n background: transparent;\n }\n\n /* stylelint-disable-next-line selector-no-vendor-prefix */\n &::-moz-selection {\n background: transparent;\n }\n\n &::placeholder {\n color: var(--placeholder-color);\n font-family: inherit;\n font-style: var(--placeholder-font-style);\n font-weight: var(--placeholder-font-weight);\n opacity: var(--placeholder-opacity);\n line-height: inherit;\n min-block-size: initial;\n }\n\n /* stylelint-disable-next-line selector-no-vendor-prefix */\n &::-moz-placeholder {\n line-height: 2.8em;\n text-overflow: ellipsis;\n }\n\n &:-webkit-autofill {\n background-color: transparent;\n }\n\n &::-webkit-search-decoration,\n &::-webkit-search-cancel-button,\n &::-webkit-search-results-button,\n &::-webkit-search-results-decoration {\n appearance: none;\n }\n\n &:invalid {\n box-shadow: none;\n }\n\n &::-ms-clear,\n &::-ms-reveal {\n display: none;\n }\n\n &.resizable {\n resize: vertical;\n overflow: auto;\n }\n\n .form-ctrl__textarea & {\n line-height: 1.5em;\n padding-block: var(--padding-top) var(--padding-bottom);\n white-space: pre-wrap;\n\n &::placeholder {\n line-height: 1.5em;\n }\n }\n\n .has-float-label.textarea & {\n padding-block-start: 1.8em;\n }\n\n :host(.masked) & {\n opacity: 0;\n position: absolute;\n inset-inline-start: 0;\n inset-block-start: 0;\n }\n}\n\n.select__mask {\n @include mx.text-inherit();\n\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: 0;\n border-radius: var(--input-border-radius);\n pointer-events: none;\n line-height: 2.5em;\n min-block-size: 2.5em;\n}\n\n// multi stuff\n\n.select__multi {\n &-wrap {\n padding-block: 0 var(--padding-bottom);\n padding-inline: 0;\n display: flex;\n flex: 1;\n flex-wrap: wrap;\n overflow: hidden;\n align-items: flex-start;\n\n :host(.has-float-label) & {\n padding-block-start: 1em;\n }\n }\n\n &-input {\n @include mx.text-inherit();\n\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: var(--padding-bottom) 0;\n min-inline-size: 50px;\n inline-size: 100%;\n max-block-size: 100%;\n appearance: none;\n border: 0;\n outline: none;\n display: inline-block;\n background: transparent;\n flex: 0;\n position: relative;\n box-sizing: border-box;\n line-height: calc(2.5em - var(--padding-bottom));\n block-size: calc(2.5em - var(--padding-bottom));\n\n &:last-child {\n flex: 1;\n }\n }\n\n &-value {\n margin-block: var(--padding-bottom) 0;\n margin-inline: var(--padding-start) -3px;\n background: rgb(var(--multi-input-value-bg) / 80%);\n color: var(--multi-input-value-text-color);\n border: 1px solid;\n border-color: var(--multi-input-value-border);\n padding: 0.35em 0.5em;\n display: flex;\n align-items: center;\n font-size: var(--input-font-size);\n letter-spacing: 1px;\n max-block-size: calc(2.5em - 8px);\n max-inline-size: calc(100% - 8px);\n border-radius: 4px;\n\n &--closable {\n padding-inline-end: 0;\n }\n\n span {\n text-overflow: ellipsis;\n white-space: nowrap;\n max-inline-size: 100%;\n overflow: hidden;\n }\n }\n\n &-value-remove {\n @include mx.background-position(center);\n\n padding-inline-start: 0.5em;\n margin: 0;\n color: inherit;\n border: 0;\n outline: none;\n background-color: transparent;\n background-repeat: no-repeat;\n appearance: none;\n display: flex;\n align-items: center;\n inset-block-start: 0;\n font-size: 1em;\n\n .nano-icon {\n --color: var(--multi-input-value-text-color);\n }\n }\n}\n\n.form-ctrl__float-label {\n inline-size: calc(100% - (1em + (var(--padding-start) * 2)));\n\n :host(.has-focus.has-multiple) & {\n transform: translateY(-110%);\n font-size: 0.8em;\n }\n\n :host(.has-value.has-multiple) & {\n transform: translateY(21%);\n inset-block-start: 0;\n }\n}\n\n:host(.has-focus) select,\n:host(.has-focus) a,\n:host(.has-focus) button {\n pointer-events: auto;\n}\n","import {\n Build,\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n Watch,\n VNode,\n Listen,\n} from '@stencil/core';\nimport { h } from '../../utils/renderer';\n\nimport { getActiveElement } from '../../utils/active-element';\nimport { closestElement } from '../../utils/dom';\nimport { createColorClasses } from '../../utils/theme';\nimport { debounce, debounceEvent } from '../../utils/throttle';\nimport { FormControl, FormControlWrap } from '../form-control/form-control';\nimport { OptionInterface } from '../option/option-interface';\nimport { InputChangeEventDetail } from '../input/input-interface';\nimport { SelectChangeEventDetail } from './select-interface';\nimport type {\n Color,\n ControlValidityEventDetail,\n ControlValidity,\n} from '../../types/shared';\nimport type { Dropdown as DropdownInterface } from '../dropdown/dropdown';\n\nlet selectIds = 0;\n\n/**\n * The select component is a wrapper to the HTML select element with custom styling and additional functionality.\n * It accepts most of the same properties as the HTML [select](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select).\n * It's multi selection functionality is vastly improved from the native solution. It allows for the control of\n * value order through drag and drop or changing the insertion point with arrow keys. It also can allow for user defined values.\n *\n * @slot start - suitable for inline action buttons or icons that may add extra contextual information\n * @slot end - suitable for inline action buttons or icons that may add extra contextual information\n * @slot value-start - similar to 'start', however clicking elements using this slot will activate the input control. This would be suitable to show a secondary 'value' for context or to show a dropdown arrow if using a datalist\n * @slot value-end - similar to 'end', however clicking elements using this slot will activate the input control. This would be suitable to show a secondary 'value' for context or to show a dropdown arrow if using a datalist\n * @slot label - if you do not set a label attribute, you can use this slot for more complex markup\n * @slot helper - helper text to accompany the form field underneath.\n * @slot helper-end - helper text to accompany the form field on the side.\n * @slot down-arrow - use this to replace the default down arrow\n * @slot - default slot; nest `nano-option` elements\n */\n@Component({\n tag: 'nano-select',\n styleUrl: 'select.scss',\n scoped: true,\n})\nexport class Select implements ComponentInterface {\n private nativeSelect?: HTMLSelectElement;\n private valueItems: Array<HTMLSpanElement> = [];\n private dragVal: string;\n private mo?: MutationObserver;\n private selectId = `nano-select-${selectIds++}`;\n private rtl: boolean = false;\n private onInit: boolean = true;\n private customError: string = '';\n\n private get inputCtrl() {\n return this._inputCtrl;\n }\n private set inputCtrl(input) {\n if (input === this._inputCtrl) return;\n this._inputCtrl = input;\n this.setDataListOpts();\n }\n private _inputCtrl?: HTMLInputElement;\n\n // we don't want these rendered eles decorated with @State\n // because that will cause re-renders. Use get/set to set datalist options\n private _selectWrap: HTMLElement;\n private get selectWrap() {\n return this._selectWrap;\n }\n private set selectWrap(ele: HTMLElement) {\n if (this._selectWrap === ele) return;\n this._selectWrap = ele;\n this.setDataListOpts();\n }\n\n private _datalist: HTMLNanoDatalistElement;\n private get datalist() {\n return this._datalist;\n }\n private set datalist(ele: HTMLNanoDatalistElement) {\n if (this._datalist === ele) return;\n this._datalist = ele;\n this.setDataListOpts();\n }\n\n constructor() {\n this.showInlineValidation = debounce(this.showInlineValidation, 50);\n }\n\n @State() currInsertIndex: number = -1;\n @State() showErrorMsg = false;\n @State() errorMessage: string = '';\n @State() hasFocus = false;\n @State() hasLabelSlot: boolean = false;\n @State() hasHelperSlot: boolean = false;\n @State() hasHelperEndSlot = false;\n @State() inputSearchVal: string = '';\n\n @Element() el!: HTMLNanoSelectElement;\n\n /**\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.\n */\n @Prop({ reflect: true })\n get invalid() {\n return this._invalid;\n }\n @State() _invalid = false;\n\n /**\n * Current validation message - if any. @readonly\n */\n @Prop()\n get validityMessage() {\n if (!this.nativeSelect) return '';\n return this.nativeSelect.validationMessage;\n }\n\n /**\n * The color to use from your application's color palette.\n * Default options are: `\"primary\"`, `\"secondary\"`, `\"tertiary\"`, `\"success\"`, `\"warning\"`, `\"danger\"`, `\"light\"`, `\"medium\"`, and `\"dark\"`.\n */\n @Prop() color?: Color;\n\n /**\n * This Boolean attribute lets you specify that a form control should have select focus when the page loads.\n */\n @Prop() autofocus = false;\n\n /**\n * If `true`, the user cannot interact with the select.\n */\n @Prop({ reflect: true }) disabled = false;\n\n /**\n * When should the field perform validation\n * @default 'submitThenDirty'\n */\n @Prop({ mutable: true }) validateOn?: 'dirty' | 'submit' | 'submitThenDirty' =\n 'submitThenDirty';\n\n /**\n * Whether to show validation errors underneath input\n */\n @Prop({ reflect: true }) showInlineError = true;\n\n /**\n * String to place within a label element. Alternatively use the 'label' slot\n */\n @Prop() label!: string;\n\n /**\n * Visually hide the label - but make it accessible.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * Enable floating label behaviour. Will disable placeholder if set.\n */\n @Prop() floatLabel: boolean = false;\n\n /**\n * If `true`, the user can enter more than one value. This attribute applies when the type attribute is set to `\"email\"` or `\"file\"`, otherwise it is ignored.\n */\n @Prop() multiple?: boolean = false;\n\n /** When `multiple=\"true\"`, control how many values to show within the control at once.\n * After the maximum, \"+n\" will be shown to indicate the number of additional items that are selected. */\n @Prop() maxValuesVisible?: boolean | number = 3;\n private _maxValuesVisible: number;\n\n @Watch('maxValuesVisible')\n watchMaxValuesVisible() {\n if (!this.multiple) return;\n\n this._maxValuesVisible =\n this.maxValuesVisible === false ? NaN : Number(this.maxValuesVisible);\n\n // make sure maxValuesVisible is a number\n if (!Number.isNaN(this._maxValuesVisible)) {\n if (this.currInsertIndex > this._maxValuesVisible) {\n // make the input position is no more than the max\n this.currInsertIndex = this._maxValuesVisible;\n }\n } else {\n // if maxValuesVisible is undefined, it will be `NaN`\n this.currInsertIndex = this.value.length - 1;\n }\n }\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.selectId + '-name';\n\n /**\n * Instructional text that shows before the select has a value. Text set here will be placed inside the label when a value is set.\n * If you don't want this behaviour just set the first option to have no value.\n */\n @Prop() placeholder?: string | null;\n\n /**\n * If `true`, the user cannot modify the value.\n */\n @Prop({ reflect: true }) readonly = false;\n\n /**\n * If `true`, the user must fill in a value before submitting a form.\n */\n @Prop() required = false;\n\n /**\n * The initial size of the control.\n */\n @Prop() size?: number;\n\n /**\n * Maximum number of options that can be selected when multiple is true\n */\n @Prop() max?: number;\n\n /**\n * Minimum number of options that can be selected when multiple is true\n */\n @Prop() min?: number;\n\n /**\n * The form element to associate the select with (its form owner). Must be the id of a form.\n */\n @Prop() form?: string | null;\n\n /**\n * in multiple mode, allow users to enter their own values\n */\n @Prop() allowCustomValues: boolean = false;\n\n /**\n * The value of the select.\n */\n @Prop()\n get value() {\n return this._value || (this.multiple ? [] : '');\n }\n set value(val: string | string[]) {\n if (!!val && !!this._value) {\n if (JSON.stringify(val) === JSON.stringify(this._value)) return;\n }\n\n if (typeof val === 'string') {\n if (this.multiple) this._value = val.split(',');\n else this._value = val;\n } else if (Array.isArray(val)) {\n if (this.multiple) this._value = val;\n else this._value = val[0];\n }\n }\n private _value: Array<string> | string;\n\n /**\n * You can set options via js as an array of strings: `domElement.options = ['option 1', 'option 2']` or\n * objects `domElement.options = [{label: 'option 1', value: 'opt-1'}]`. See `nano-option` docs for all available properties.\n * Alternatively, you can nest `<nano-option>` elements within a `<nano-select>`\n * Regardless - reading `options` will return the current component options - slotted or otherwise\n */\n @Prop()\n get options(): Array<OptionInterface | string> {\n if (this._options.length) return this._options;\n\n if (!this.datalist || !this.datalist.activeOptions) return [];\n\n return this._elementOptions.map((ao) => {\n const { value, selected, label, filterMeta } = ao;\n return { value, selected, label, filterMeta };\n });\n }\n set options(opts: Array<OptionInterface | string>) {\n this._options = opts.map((opt) => {\n if (typeof opt === 'string') return { value: opt, label: opt };\n else return opt;\n });\n }\n private _options: OptionInterface[] = [];\n @State() _elementOptions: OptionInterface[] = [];\n\n /**\n * If `true`, a clear icon will appear in the select when there is a value. Clicking it clears the select.\n */\n @Prop() clearSelect = false;\n\n /**\n * Hide the native select element and cover with a value 'mask'.\n * Enables a fluid nano-select width upon value change (if required). Doesn't work with multiple=\"true\".\n */\n @Prop() mask = false;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `nanoSearchChange` event after each keystroke.\n */\n @Prop() debounce = 0;\n\n @Watch('debounce')\n protected debounceChanged() {\n this.nanoSearchChange = debounceEvent(this.nanoSearchChange, this.debounce);\n }\n\n @Watch('required')\n @Watch('disabled')\n @Watch('min')\n @Watch('max')\n @Watch('readonly')\n protected shouldValidate() {\n if (this.onInit) return;\n if (this.invalid) this.showErrorMsg = this._invalid = false;\n\n this.customValidate();\n if (this.validateOn !== 'dirty') return;\n this.showInlineValidation();\n }\n\n /**\n * Update the native select element when the value changes\n */\n @Watch('value')\n valueChanged() {\n this.customValidate();\n\n if (this.onInit) {\n if (this.multiple) this.currInsertIndex = this.value.length - 1;\n return;\n }\n requestAnimationFrame(() => {\n this.shouldValidate();\n this.nanoChange.emit({ value: this.value });\n });\n }\n\n /** nano-dropdown config options you can pass to the nested dropdown component */\n @Prop() dropDownConfig?: Partial<DropdownInterface> = {};\n\n @Watch('dropDownConfig')\n setDataListOpts() {\n if (!this.datalist || !this.selectWrap) return;\n\n this.datalist.input = this.inputCtrl;\n\n const currDWConfig = this.datalist.dropDownConfig || {};\n this.datalist.dropDownConfig = {\n ...currDWConfig,\n ...this.dropDownConfig,\n tetherTo: this.selectWrap,\n };\n }\n\n /**\n * A function that customizes the tag value to be rendered when `multiple=\"true\"`.\n * @param option - the incoming option that was selected\n * @param index - the incoming option index\n * @returns Should return either a string / templateResult or a string containing trusted HTML or an HTMLElement\n */\n @Prop() valueTagTemplate: (option: OptionInterface, index: number) => string;\n\n // Custom Events\n\n /**\n * Emitted when the value has changed.\n */\n @Event() nanoChange!: EventEmitter<SelectChangeEventDetail>;\n\n /**\n * Emitted when the select loses focus.\n */\n @Event() nanoBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the select has focus.\n */\n @Event() nanoFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the select has been created.\n * @internal\n */\n @Event() nanoDidLoad!: EventEmitter<void>;\n\n /**\n * Emitted when the select has been removed.\n * @internal\n */\n @Event() nanoDidUnload!: EventEmitter<void>;\n\n /**\n * Emitted when a keyboard input occurred on a multiple=\"true\" input\n */\n @Event() nanoSearchChange!: EventEmitter<InputChangeEventDetail>;\n\n /**\n * Called when validation is performed (which depends on `validateOn`).\n * @returns event.detail: `{ isValid: boolean, errorMessage: string, originalEvent: Event }`.\n */\n @Event() nanoValidate: EventEmitter<ControlValidityEventDetail>;\n\n // Public Methods\n\n /**\n * Get the current state of the control.\n * @param validateFirst - perform validation first before reporting\n * @returns `{ isValid: boolean, errorMessage: string }`\n */\n @Method()\n async reportValidity(validateFirst: boolean): Promise<ControlValidity> {\n return new Promise((resolve) => {\n if (validateFirst) {\n this.customValidate();\n this.showInlineValidation();\n }\n setTimeout(() => {\n resolve({\n isValid: !this._invalid,\n errorMessage: this.nativeSelect.validationMessage,\n });\n }, 50);\n });\n }\n\n /**\n * Sets focus on the specified `nano-select`. Use this method instead of the global\n * `select.focus()`.\n */\n @Method()\n async setFocus() {\n if (!this.inputCtrl) return;\n this.inputCtrl.focus();\n setTimeout(() => this.inputCtrl.click(), 50);\n }\n\n /**\n * @returns the native `<select>` element used under the hood.\n */\n @Method()\n getSelectElement(): Promise<HTMLSelectElement> {\n return Promise.resolve(this.nativeSelect);\n }\n\n /**\n * Invalidate the field and show a custom error message.\n * To clear the error you will need to re-call this method with an empty string.\n */\n @Method()\n async showError(message: string) {\n if (this.nativeSelect) {\n this.customError = message;\n this.nativeSelect.setCustomValidity(message);\n this.showInlineValidation();\n }\n }\n\n /* Logic */\n\n private get valArray() {\n return typeof this.value === 'string'\n ? this.value.length\n ? [this.value]\n : []\n : this.value;\n }\n\n private isValidValues() {\n return this.valArray.find((val) =>\n (this.options as OptionInterface[]).find((opt) => opt.value === val)\n );\n }\n\n private customValidate = () => {\n if (\n !this.nativeSelect ||\n !!this.customError ||\n !this.nativeSelect['setCustomValidity']\n )\n return;\n\n this.nativeSelect.setCustomValidity('');\n // add custom validations 'cos html5 validations are a bit rubbish on selects\n if (this.required && !this.valArray.length) {\n this.nativeSelect.setCustomValidity('Please fill in this field.');\n return true;\n }\n if (\n this.valArray.length &&\n !this.allowCustomValues &&\n !this.isValidValues()\n ) {\n this.nativeSelect.setCustomValidity(\n 'Please choose an item from this field.'\n );\n return true;\n }\n if (this.max && this.valArray.length > this.max) {\n this.nativeSelect.setCustomValidity(\n `Only up to ${this.max} values are allowed.`\n );\n return true;\n }\n if (this.min && this.valArray.length < this.min) {\n this.nativeSelect.setCustomValidity(\n `You must select a minimum of ${this.min} values.`\n );\n return true;\n }\n return false;\n };\n\n private showInlineValidation = (ev?: Event) => {\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n\n this._invalid = false;\n this.showErrorMsg = false;\n this.errorMessage = '';\n\n if (!this.nativeSelect.validity.valid) {\n this.errorMessage = this.nativeSelect.validationMessage;\n this._invalid = true;\n this.showErrorMsg = true;\n }\n this.nanoValidate.emit({\n isValid: !this.invalid,\n errorMessage: this.errorMessage,\n originalEvent: ev,\n });\n };\n\n private handleInvalid = (ev: Event) => {\n this._invalid = true;\n\n if (this.validateOn === 'submit') {\n this._invalid = this.showErrorMsg = this.customValidate();\n }\n if (this.showInlineError) ev.preventDefault();\n\n requestAnimationFrame(() => this.showInlineValidation(ev));\n };\n\n private setValue = (e: CustomEvent<HTMLNanoOptionElement>) => {\n e.preventDefault();\n\n if (!this.multiple) {\n this.value = e.detail.value;\n return;\n }\n if (this.value && this.value.length && this.value.includes(e.detail.value))\n return;\n if (this.max && this.value.length === this.max) return;\n\n if (\n Number.isNaN(this._maxValuesVisible) ||\n this.value.length <= this._maxValuesVisible\n ) {\n this.currInsertIndex++;\n }\n\n this.value = [\n ...this.value.slice(0, this.currInsertIndex),\n e.detail.value,\n ...this.value.slice(this.currInsertIndex),\n ];\n this.inputSearchVal = '';\n };\n\n private removeValue = (toFind?: string) => {\n if (this.readonly || this.disabled) return;\n if (!this.multiple || !this.value.length) return;\n\n if (!toFind) toFind = this.value[this.value.length - 1];\n this.value = (this.value as Array<string>).filter((val) => val !== toFind);\n\n if (\n Number.isNaN(this._maxValuesVisible) ||\n this.value.length <= this._maxValuesVisible\n ) {\n this.currInsertIndex--;\n }\n this.setFocus();\n };\n\n private slotChangeObserver() {\n if (!window['MutationObserver']) return;\n\n const mo = (this.mo = new MutationObserver(() =>\n this.processSlottedContent()\n ));\n mo.observe(this.el, { childList: true, subtree: true });\n }\n\n private processSlottedContent() {\n // see if we have label / helper content\n this.hasLabelSlot = !!this.el.querySelectorAll('[slot=\"label\"]').length;\n this.hasHelperSlot = !!this.el.querySelector('[slot=\"helper\"]');\n this.hasHelperEndSlot = !!this.el.querySelector('[slot=\"helper-end\"]');\n }\n\n private getOptionWithValue(value: string) {\n let index: number;\n const options = this.datalist?.activeOptions?.length\n ? this.datalist.activeOptions\n : (this.options as OptionInterface[]);\n const option = options.find((opt, i) => {\n index = i;\n return !opt.disabled && opt.value?.length && opt.value === value;\n });\n return [option, index] as const;\n }\n\n private getLabel(toFind: string) {\n const option = this.getOptionWithValue(toFind)[0];\n return option && option.label ? option.label : toFind;\n }\n\n /* Event handling */\n\n @Listen('reset', { target: 'body' })\n onReset(e) {\n const form = this.form\n ? document.querySelector('#' + this.form)\n : this.el.closest('form');\n if (!form || e.target !== this.el.closest('form')) return;\n\n this.clearSelectValue();\n }\n\n @Listen('mousedown', { target: 'body' })\n @Listen('keydown')\n handleBlur(e: KeyboardEvent | MouseEvent) {\n if (!this.hasFocus) return;\n\n const kev = e as KeyboardEvent;\n let target: Element;\n\n requestAnimationFrame(() => {\n if (kev.key) {\n if (kev.key !== 'Tab') return;\n target = getActiveElement();\n } else target = e.target as Element;\n\n if (closestElement(this.el.tagName.toLowerCase(), target) !== this.el) {\n this.onBlur();\n }\n });\n }\n\n private setOptions = () => {\n if (\n !this.datalist ||\n !this.datalist.activeOptions ||\n !this.datalist.activeOptions.length\n )\n return;\n\n this._elementOptions = this.datalist.activeOptions.map((ao) => {\n const { value, selected, label, filterMeta } = ao;\n return { value, selected, label, filterMeta };\n });\n this.customValidate();\n };\n\n private handleDocumentKeyDown = (ev: KeyboardEvent) => {\n if (!this.multiple || !this.hasFocus) return;\n\n if (!this.inputSearchVal) {\n let rm: HTMLSpanElement;\n\n switch (ev.key) {\n case 'Backspace':\n if (this.inputCtrl.previousElementSibling)\n rm = this.inputCtrl.previousElementSibling as HTMLSpanElement;\n else break;\n\n this.removeValue(rm.dataset.value || null);\n break;\n\n case 'Delete':\n if (this.inputCtrl.nextElementSibling)\n rm = this.inputCtrl.nextElementSibling as HTMLSpanElement;\n else break;\n\n this.removeValue(rm.dataset.value || null);\n break;\n\n case 'ArrowLeft':\n case 'ArrowRight':\n if (!this.value.length) break;\n\n if (ev.key === 'ArrowLeft' && this.inputCtrl.previousSibling)\n this.currInsertIndex--;\n if (ev.key === 'ArrowRight' && this.inputCtrl.nextSibling)\n this.currInsertIndex++;\n\n setTimeout(() => {\n this.inputCtrl.focus();\n }, 20);\n ev.preventDefault();\n break;\n }\n }\n };\n\n private onBlur = () => {\n this.hasFocus = false;\n\n requestAnimationFrame(() => {\n if (this.validateOn === 'dirty' && !this.hasFocus)\n this.showInlineValidation();\n });\n this.nanoBlur.emit();\n\n if (!this.allowCustomValues && this.multiple) {\n this.inputSearchVal = '';\n const event = new window.Event('change');\n this.inputCtrl.dispatchEvent(event);\n }\n };\n\n private onFocus = () => {\n this.hasFocus = true;\n this.nanoFocus.emit();\n };\n\n private clearSelectValue = (ev?: Event) => {\n if (this.clearSelect && !this.readonly && !this.disabled && ev) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n if (this.multiple) {\n this.value = [];\n this.currInsertIndex = -1;\n } else this.value = '';\n\n this.inputCtrl.value = '';\n const event = new window.Event('change');\n this.inputCtrl.dispatchEvent(event);\n };\n\n private onClick = () => {\n this.setFocus();\n };\n\n /* Multi event handlers */\n\n private onDragStart = (ev: MouseEvent) => {\n const ele = ev.target as HTMLSpanElement;\n this.dragVal = ele.dataset.value;\n };\n\n private onDragEnd = (ev) => {\n this.dragVal = null;\n ev.preventDefault();\n };\n\n private onDragLeave = (ev: MouseEvent) => {\n const ele = ev.target as HTMLSpanElement;\n const spanVal: string =\n ele.dataset && ele.dataset.value ? ele.dataset.value : null;\n\n if (\n !spanVal ||\n this.dragVal === spanVal ||\n !this.value.includes(this.dragVal)\n ) {\n ev.preventDefault();\n return;\n }\n\n const to = this.value.indexOf(spanVal);\n const from = this.value.indexOf(this.dragVal);\n const tmpArr = this.value as Array<string>;\n const tmpVal = tmpArr[to];\n\n tmpArr[to] = tmpArr[from];\n tmpArr[from] = tmpVal;\n this.value = [...tmpArr];\n };\n\n private onMultiInput = (ev) => {\n this.inputSearchVal = ev.target.value.trim();\n this.nanoSearchChange.emit({ value: ev.target.value.trim() });\n };\n\n /* Stencil Component lifecycle hooks */\n\n connectedCallback() {\n this.debounceChanged();\n this.watchMaxValuesVisible();\n\n if (!Build.isBrowser) return;\n\n this.el.dispatchEvent(\n new CustomEvent('nanoDidLoad', {\n detail: this.el,\n })\n );\n }\n\n disconnectedCallback() {\n document.dispatchEvent(\n new CustomEvent('nanoDidUnload', {\n detail: this.el,\n })\n );\n\n if (!Build.isBrowser) return;\n if (this.mo) this.mo.disconnect();\n }\n\n componentDidLoad() {\n this.slotChangeObserver();\n this.customValidate();\n this.setDataListOpts();\n requestAnimationFrame(() => (this.onInit = false));\n }\n\n componentWillLoad() {\n this.processSlottedContent();\n }\n\n render() {\n const labelId = this.selectId + '-lbl';\n const moreId =\n this.showInlineError || this.hasHelperSlot\n ? this.selectId + '-moreId'\n : '';\n const helperEndId = this.hasHelperEndSlot ? this.selectId + '-helper' : '';\n\n this.rtl = this.el.ownerDocument.dir === 'rtl';\n this.valueItems = [];\n\n const compWrapOptions = (({\n el,\n floatLabel,\n label,\n errorMessage,\n showInlineError,\n hasHelperSlot,\n hasHelperEndSlot,\n hasLabelSlot,\n hideLabel,\n placeholder,\n rtl,\n }) => ({\n el,\n floatLabel,\n label,\n errorMessage,\n showInlineError,\n hasHelperSlot,\n hasHelperEndSlot,\n hasLabelSlot,\n hideLabel,\n placeholder,\n rtl,\n }))(this);\n const wrapOptions = {\n ...compWrapOptions,\n labelId,\n moreId,\n helperEndId,\n hasValue: !!this.value.length || !!this.inputSearchVal.length,\n controlId: this.selectId,\n };\n\n const controlOptions = (({ readonly, disabled }) => ({\n readonly,\n disabled,\n clearControl: this.clearSelect,\n }))(this);\n\n return (\n <Host\n type={this.multiple ? 'select-multiple' : 'select-one'}\n aria-disabled={this.disabled ? 'true' : null}\n class={{\n ...createColorClasses(this.color),\n 'has-value': !!this.value.length || !!this.inputSearchVal.length,\n 'has-focus': this.hasFocus,\n 'is-invalid': this.invalid,\n 'has-label': this.label !== null && !this.floatLabel,\n 'has-float-label': this.label !== null && this.floatLabel,\n rtl: this.rtl,\n 'has-multiple': this.multiple,\n 'has-clr-btn': this.clearSelect,\n masked: this.mask,\n 'nano-select': true,\n }}\n >\n <FormControlWrap {...wrapOptions}>\n <FormControl\n {...controlOptions}\n onClearText={this.clearSelectValue}\n control={this.el}\n ref={(el) => (this.selectWrap = el)}\n endValueSlot={\n <slot name=\"down-arrow\">\n <nano-icon slot=\"value-end\" name=\"light/chevron-down\" />\n </slot>\n }\n >\n {this.multiple && (\n <div class=\"select__multi-wrap select\">\n {this.multipleValues(labelId, moreId, helperEndId)}\n </div>\n )}\n {!this.multiple && [\n this.mask && (\n <div class=\"select__mask\">\n {this.getLabel(this.value as string)}\n </div>\n ),\n <input\n id={this.selectId}\n class=\"select__native-input\"\n ref={(input) => (this.inputCtrl = input)}\n aria-labelledby={labelId + ' ' + moreId + ' ' + helperEndId}\n disabled={this.disabled}\n form={this.form}\n placeholder={this.placeholder}\n readonly\n required={this.required}\n value={this.getLabel(this.value as string)}\n onFocus={this.onFocus}\n />,\n ]}\n </FormControl>\n </FormControlWrap>\n <nano-datalist\n disabled={this.disabled || this.readonly}\n onNanoOptionsUpdated={this.setOptions}\n ref={(el) => (this.datalist = el)}\n selected={this.valArray}\n type={this.multiple ? 'selctMulti' : 'select'}\n onNanoSelect={this.setValue}\n onNanoDeselect={(e) => {\n e.preventDefault();\n this.removeValue(e.detail.value);\n }}\n options={this._options.length ? this._options : undefined}\n >\n {this.allowCustomValues && this.multiple && !!this.inputSearchVal && (\n <nano-option\n slot=\"list-top\"\n value={this.inputSearchVal}\n selected={false}\n label={this.inputSearchVal}\n onNanoSelect={() => this.inputCtrl.focus()}\n >\n <span slot=\"check-icon\"></span>\n Add '{this.inputSearchVal}'\n </nano-option>\n )}\n <slot />\n </nano-datalist>\n\n <select\n id={this.selectId + '-hidden'}\n class=\"select__native-ctrl\"\n ref={(select) => (this.nativeSelect = select)}\n aria-labelledby={labelId + ' ' + moreId + ' ' + helperEndId}\n disabled={this.disabled}\n form={this.form}\n multiple={this.multiple}\n name={this.name}\n required={this.required}\n onInvalid={this.handleInvalid}\n >\n {this.allowCustomValues &&\n this.valArray.map((val) => {\n return (\n <option value={val} selected>\n {val}\n </option>\n );\n })}\n {!this.allowCustomValues &&\n this.options.map((opt: OptionInterface) => {\n return (\n <option\n value={opt.value}\n selected={this.valArray.includes(opt.value)}\n disabled={opt.disabled}\n label={opt.label}\n >\n {this.valArray.includes(opt.value)}\n </option>\n );\n })}\n </select>\n </Host>\n );\n }\n\n private multipleValues(\n labelId: string,\n moreId: string,\n helperEndId: string\n ): VNode | (VNode | VNode[])[] {\n const input: VNode = (\n <input\n class=\"select__multi-input\"\n id={this.selectId}\n ref={(input) => (this.inputCtrl = input)}\n readonly={this.readonly}\n disabled={this.disabled}\n autoFocus={this.autofocus}\n autocomplete=\"off\"\n onKeyDown={this.handleDocumentKeyDown}\n onInput={this.onMultiInput}\n value={this.inputSearchVal}\n onTouchStart={this.onClick}\n onMouseDown={this.onClick}\n onFocus={this.onFocus}\n placeholder={\n this.placeholder && !this.value.length ? this.placeholder : ''\n }\n aria-labelledby={labelId + ' ' + moreId + ' ' + helperEndId}\n />\n );\n if (!this.value.length) return input;\n\n const toReturn: VNode[] = [];\n\n (this.value as Array<string>).forEach((val, i) => {\n if (!Number.isNaN(this._maxValuesVisible) && i > this._maxValuesVisible)\n return;\n\n let valueTag: VNode;\n\n if (i === this._maxValuesVisible) {\n valueTag = (\n <span data-value={val} class=\"select__multi-value\">\n <span>+{this.value.length - this._maxValuesVisible}</span>\n </span>\n );\n } else {\n valueTag = (\n <span\n onDragStart={this.onDragStart}\n onDragLeave={this.onDragLeave}\n onDragEnd={this.onDragEnd}\n onDragOver={(e) => e.preventDefault()}\n draggable\n data-value={val}\n ref={(span) => this.valueItems.push(span)}\n class=\"select__multi-value select__multi-value--closable\"\n >\n {this.valueTagTemplate ? (\n <span\n innerHTML={\n this.valueTagTemplate\n ? this.valueTagTemplate(...this.getOptionWithValue(val))\n : undefined\n }\n />\n ) : (\n <span>{this.getLabel(val)}</span>\n )}\n <button\n class=\"select__multi-value-remove\"\n type=\"button\"\n tabindex=\"-1\"\n onTouchEnd={() => {\n this.removeValue(val);\n }}\n onMouseUp={() => {\n this.removeValue(val);\n }}\n >\n <nano-icon name=\"light/xmark\"></nano-icon>\n </button>\n </span>\n );\n }\n\n if (i === 0 && this.currInsertIndex < 0) {\n toReturn.push(input, valueTag);\n } else if (i === this.currInsertIndex) {\n toReturn.push(valueTag, input);\n } else {\n toReturn.push(valueTag);\n }\n });\n\n return toReturn;\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"nano-global-nav.entry.cjs.js","mappings":"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","names":["debounce","algoliasearch","searchInsight","transformTag","displayTransition","readTask","writeTask","ComponentStore","h","Host","getAssetPath"],"sources":["src/utils/fetch.ts","src/components/global-nav/style/global-nav.scss?tag=nano-global-nav&encapsulation=shadow","src/components/global-nav/global-nav.tsx"],"sourcesContent":["interface FetchInputConfig {\n body?: { [prop: string]: string };\n headers?: { [prop: string]: string };\n [prop: string]: any;\n}\n\nexport async function clientFetch(\n url: string,\n { body, ...customConfig }: FetchInputConfig = {}\n) {\n const headers: { [prop: string]: string } = {\n Accept: 'application/json, text/plain, */*',\n 'Access-Control-Allow-Origin': '*',\n 'Content-Type': 'application/json',\n Cache: 'no-cache',\n };\n const config: RequestInit = {\n method: body ? 'POST' : 'GET',\n credentials: 'include',\n keepalive: true,\n mode: 'cors',\n ...customConfig,\n headers: {\n ...headers,\n ...customConfig.headers,\n },\n };\n if (body) {\n config.body = JSON.stringify(body);\n }\n\n let id = setTimeout(() => {}, 0);\n if (window.AbortController) {\n const controller = new AbortController();\n const { timeout = 500 } = customConfig;\n id = setTimeout(() => controller.abort(), timeout);\n config.signal = controller.signal;\n }\n\n const response = await fetch(url, config);\n clearTimeout(id);\n\n if (response.ok) {\n return await response.json();\n } else {\n const errorMessage = await response.text();\n return new Error(errorMessage);\n }\n}\n","@use 'sass:map';\n@use '../../../global/style/nano-theme/tokens';\n\n// local\n@use 'setup';\n@use 'bar';\n@use 'burger';\n@use 'search';\n@use 'user';\n\n:host {\n /**\n * @prop --bar-vertical-padding: Defaults to 21px;\n * @prop --bar-item-spacing: Defaults to 16px;\n * @prop --bar-background: Defaults to white;\n * @prop --bar-text-color: Defaults to #{map.get(tokens.$colors, black)};\n * @prop --bar-color-shade: Defaults to #d8d8d8;\n * @prop --bar-color-tint: Defaults to rgb(19 89 111);\n * @prop --bar-color-focus: Defaults to #007fa9;\n * @prop --bar-user-panel-bg: Defaults to #016d86;\n * @prop --bar-dropdown-bg: Defaults to #196c82;\n * @prop --bar-dropdown-text: Defaults to white;\n * @prop --bar-search-focus: Defaults to #007FA9;\n\n * @prop --menu-background: Defaults to #001a21;\n * @prop --menu-text-color: Defaults to white;\n * @prop --menu-user-profile-bg: Defaults to #001a21;\n * @prop --menu-user-panel-bg: Defaults to #193037;\n * @prop --menu-padding: Defaults to 12px;\n * @prop --menu-hint-color: Defaults to #33484d;\n * @prop --menu-title-text: Defaults to #{map.get(tokens.$colors, lightblue)};\n * @prop --menu-icon-color: Defaults to white;\n\n * @prop --login-button-bg: Defaults to #17bb75;\n * @prop --login-button-text: Defaults to white;\n */\n\n --bar-vertical-padding: 19px;\n --bar-item-spacing: 13px;\n --bar-background: white;\n --bar-text-color: #{map.get(tokens.$colors, black)};\n --bar-color-shade: #d8d8d8;\n --bar-color-tint: rgb(19 89 111);\n --bar-color-focus: #007fa9;\n --bar-user-panel-bg: #016d86;\n --bar-dropdown-bg: #196c82;\n --bar-dropdown-text: white;\n --bar-search-focus: #007FA9; \n --menu-background: #001a21;\n --menu-text-color: white;\n --menu-user-profile-bg: #001a21;\n --menu-user-panel-bg: #193037;\n --menu-padding: 12px;\n --menu-hint-color: #33484d;\n --menu-title-text: #{map.get(tokens.$colors, lightblue)};\n --menu-icon-color: white;\n --login-button-bg: #007fa9;\n --login-button-text: white;\n\n // not sure if this required any more.\n --padding: 12px;\n --padding-top: var(--padding);\n --padding-end: var(--padding);\n --padding-bottom: var(--padding);\n --padding-start: var(--padding);\n\n display: flex;\n flex-direction: column;\n position: relative;\n line-height: 1.5;\n block-size: 100%;\n font-size: 0.9375em;\n font-size: clamp(0.77rem, 1vw, 0.9rem);\n\n input,\n select,\n button {\n font-family: inherit;\n appearance: none;\n font-size: inherit;\n }\n\n a,\n button {\n &:focus {\n outline: none;\n }\n\n &:focus-visible {\n box-shadow: #{tokens.$control-focus-style};\n }\n }\n}\n","import {\n Component,\n Host,\n Element,\n State,\n Watch,\n Event,\n EventEmitter,\n Prop,\n Listen,\n Build,\n getAssetPath,\n readTask,\n writeTask,\n Method,\n VNode,\n ComponentInterface,\n} from '@stencil/core';\nimport algoliasearch from 'algoliasearch/dist/algoliasearch-lite.esm.browser';\nimport { clientFetch } from '../../utils/fetch';\nimport { ComponentStore } from '../../utils/store/component-store';\nimport { debounce } from '../../utils/throttle';\nimport { displayTransition } from '../../utils/transitions';\nimport searchInsight from '../../utils/search-insights';\n\nimport {\n AlgoliaMultiResult,\n AlgoliaMultiResults,\n AlgoliaResultHit,\n AlgoliaResults,\n AlgoliaSearchResultDetail,\n SearchIndex,\n} from '../algolia/algolia-interface';\nimport { NavItemEventDetail } from '../nav-item/nav-item-interface';\nimport { InputChangeEventDetail } from '../input/input-interface';\nimport { SelectChangeEventDetail } from '../select/select-interface';\nimport { transformTag, h } from '../../utils/renderer';\nimport {\n AlgoliaNetworkError,\n MyAccountData,\n MyAccountLink,\n MyAccountUser,\n} from './global-nav-interface';\nimport type { MultipleQueriesQuery } from '@algolia/client-search';\nimport type { SearchClient as AlgoliaClient } from 'algoliasearch/lite';\n\n// the 'breakpoints' where different segments of content go into or out-of the burger / overflow menu\nconst THRESHOLDBREAKS = {\n about: 0,\n main: 1,\n login: 2,\n search: 3,\n icon: 4,\n};\nconst THRESHOLDLIMIT = Object.keys(THRESHOLDBREAKS).length;\n\n/**\n * Nanopore digital global navigation and search bar.\n * Incorporates MyAccount / SSO states (messages / cart / user name etc).\n * Incorporates Algolia search.\n *\n * @slot main - main nav items. Should be used with nano-nav-item's\n * @slot icon - nano-nav-item's displayed alongside icon links that come from MyAccount\n * @slot loggedin - nano-nav-item's to display when users are signed in, alongside links from from MyAccount (within the overflow menu panel).\n * @slot about - nano-nav-item's to display with about links that come from MyAccount\n * @slot site - nano-nav-item's to display with site links that come from MyAccount\n * @slot overflow - items to always display in the overflow menu\n * @slot search - when not using myaccount search OR show-search=\"false\" you can utilise the search slot\n * @slot promotion - a free area for any promotional content, displayed within the overflow menu panel\n * @slot logo - when show-logo=\"false\" you can utilise the logo slot\n * @slot - if using search functionality, place a `<nano-search-results />` element in the default slot\n *\n * @part burger - the overflow / burger ui element\n * @part burger-menu - the overflow / burger menu\n * @part burger-actions-bar - the top bar of the overflow / burger menu\n * @part burger-content - the main content area of the overflow / burger menu\n * @part bars - the main wrapper around the `main-bar` and `search-bar` nav bars\n * @part main-bar - the main nav menu bar\n * @part logo-link - the link wrapping the logo\n * @part search-bar - the search bar that appears under the main nav menu bar\n */\n@Component({\n tag: 'nano-global-nav',\n styleUrl: 'style/global-nav.scss',\n shadow: true,\n assetsDirs: ['assets'],\n})\nexport class GlobalNav implements ComponentInterface {\n // position and dimension state\n private debounceResize: () => any;\n private debounceSetResizingState: () => any;\n private currSize: number = 0;\n\n // menu\n private menuDiv: HTMLElement;\n private menuBtn: HTMLButtonElement;\n private menuWrapDiv: HTMLDivElement;\n private menuContentDiv: HTMLDivElement;\n private menuSelectedItems: NodeListOf<HTMLNanoNavItemElement>;\n\n // search\n private searchBarEl: HTMLDivElement;\n private searchInput: HTMLNanoInputElement;\n private algoliaClient: AlgoliaClient;\n private currentIndex: SearchIndex;\n private autocompleteResults: AlgoliaResults | null;\n private autocompleteEles: Array<HTMLAnchorElement | HTMLButtonElement> = [];\n private currAIndex: number = -1;\n private algoliaSearchResults: AlgoliaMultiResults | null;\n private scopeSearch: AlgoliaMultiResults | null;\n\n // general\n private mainBarDiv: HTMLElement;\n private userLinkPanel: HTMLDivElement;\n private isLoggedIn: boolean = false;\n private myAccData: MyAccountData = null;\n\n // myaccount links\n private aboutNavItms: MyAccountLink[] = [];\n private siteNavItms: MyAccountLink[] = [];\n private loggedInNavItms: MyAccountLink[] = [];\n\n constructor() {\n this.assessSlottedContent = debounce(\n this.assessSlottedContent.bind(this),\n 10\n );\n this.handleBarResize = debounce(this.handleBarResize.bind(this), 200);\n }\n\n // user profile link\n @State() userProfileUrl: string = '';\n\n // has slot tests\n @State() hasLoggedinSlot: boolean = false;\n @State() hasSiteSlot: boolean = false;\n @State() hasPromotionSlot: boolean = false;\n\n // slot item number tests\n @State() aboutSlotLen: number = 0;\n @State() iconSlotLen: number = 0;\n @State() mainSlotLen: number = 0;\n @State() overflowSlotLen: number = 0;\n @State() searchSlotLen: number = 0;\n\n // threshold / sizing\n @State() thresholdReady: boolean = false;\n @State() remoteDataReady: boolean = false;\n @State() ready: boolean = false;\n @State() isResizing: boolean = false;\n @State() threshold: number = THRESHOLDLIMIT;\n\n // modals state\n @State() modalOpen: boolean = false;\n @State() modalIsOpen: boolean = false;\n @State() searchBarShown: boolean = false;\n @State() scrollingUp: boolean = true;\n @State() showAutocomplete: boolean = false;\n @State() secondaryMenuOpen: HTMLNanoNavItemElement = null;\n @State() userMenuOpen: boolean = false;\n @State() menuFullScreen: boolean = false;\n\n // search\n @State() searchLoading: boolean = false;\n @State() searchValInternal: string = '';\n @State() internalSearchIndeces: Array<SearchIndex> = [];\n\n @Element() private el: HTMLNanoGlobalNavElement;\n\n /**\n * Connect to local, dev, test or prod MyAccount\n * environments to retrieve global nav / sso data.\n * Alternatively, you can use the `ssoDataUrl` prop.\n */\n @Prop() env?: 'local' | 'dev' | 'test' | 'prod' = 'prod';\n\n /**\n * A base url to retrieve global nav / sso data.\n * `nav_bar_data.json` will be appended to this url.\n * An alternative to the pre-defined `env` urls\n */\n @Prop() ssoDataUrl?: string;\n\n /**\n * An alternative to both 'env' and 'ssoDataUrl'.\n * You can directly provide a JSON object of myaccount data.\n * (e.g. https://myaccount.nanoporetech.com/nav_bar_data.json)\n * This is useful for SSR\n */\n @Prop() myAccountData: MyAccountData | null;\n @Watch('myAccountData')\n handleMyAccountData() {\n if (!this.myAccountData) return;\n\n if (!this.myAccountData.user || !this.myAccountData.links) return;\n\n this.myAccData = this.myAccountData;\n if (this.myAccData.user.id) {\n this.isLoggedIn = true;\n this.myAccountUser = this.myAccData.user;\n }\n\n this.processMyAccLinks();\n this.processMyAccData();\n this.remoteDataReady = true;\n }\n\n /**\n * Where to take user after SSO login\n */\n @Prop() ssoRedirect: string = encodeURIComponent(window.location.href);\n\n /**\n * Whether to attempt to get global nav / sso data from MyAccount\n */\n @Prop() getMyAccountData: boolean = true;\n\n /**\n * Active MyAccount link sections. By default all will show.\n */\n @Prop() activeMyAccountSections: (\n | 'about'\n | 'loggedin'\n | 'sites'\n | 'icons'\n )[] = null;\n\n /**\n * Whether to show search functionality\n */\n @Prop() showSearch: boolean = true;\n\n /**\n * Whether to show Nanopore logo\n */\n @Prop() showLogo: boolean = true;\n\n /**\n * The link to put on the logo\n */\n @Prop() logoUrl: string = location.protocol + '//' + location.host;\n\n /**\n * An array of Algolia search indexes (and optional display names). Will be automatically populated from MyAccount\n */\n @Prop() searchIndeces: Array<SearchIndex> = [];\n\n /**\n * Logged in user details automatically populated from MyAccount\n */\n @Prop({ mutable: true }) myAccountUser: MyAccountUser = null;\n\n /**\n * An Algolia App ID key. Will be automatically populated from MyAccount\n */\n @Prop({ mutable: true }) searchAppId: string;\n\n /**\n * An Algolia API Key. Will be automatically populated from MyAccount\n */\n @Prop({ mutable: true }) searchApiKey: string;\n\n /**\n * A search value to passed to Algolia to programmatically get or to preload search results\n */\n @Prop({ mutable: true }) searchValue: string = '';\n\n /**\n * Algolia search index to programmatically set or to set an initial index\n */\n @Prop({ mutable: true }) searchIndex: string = 'All';\n\n /**\n * MyAccount store cart count.\n */\n @Prop({ mutable: true }) cartCount: number = 0;\n\n /**\n * MyAccount un-read message count.\n */\n @Prop({ mutable: true }) msgCount: number = 0;\n\n /**\n * Url to the Nanopore store cart. Will default to the url supplied by MyAccount\n */\n @Prop({ mutable: true }) cartUrl: string = null;\n\n /**\n * Url to the Nanopore message center. Will default to the url supplied by MyAccount\n */\n @Prop({ mutable: true }) msgUrl: string = null;\n\n /**\n * Emitted when the global nav is ready.\n */\n @Event() nanoIsReady!: EventEmitter<void>;\n\n /**\n * Emitted when search results are successfully returned from Algolia.\n */\n @Event() nanoSearchResult!: EventEmitter<AlgoliaSearchResultDetail>;\n\n /**\n * Emitted when algolia returns an error.\n */\n @Event() nanoSearchError!: EventEmitter<AlgoliaNetworkError>;\n\n /**\n * Emitted when search field is cleared.\n */\n @Event() nanoSearchReset!: EventEmitter<AlgoliaSearchResultDetail>;\n\n /**\n * Submit the search form (a search value must be present)\n */\n @Method()\n async submitSearch() {\n this.onSearchSubmit();\n this.showAutocomplete = false;\n return;\n }\n\n /**\n * Manually open or close the overflow (burger) menu\n * @param openClose - optionally force open (true) or close (false)\n */\n @Method()\n async toggleOverflowMenu(openClose?: boolean) {\n if (openClose === true || (openClose === undefined && !this.modalIsOpen)) {\n this.menuOpen();\n } else {\n this.menuClose(null, true);\n }\n }\n\n @Watch('env')\n @Watch('ssoDataUrl')\n async getMyAccData() {\n if (this.myAccData) return;\n\n switch (this.env) {\n case 'prod':\n this.userProfileUrl = 'https://myaccount.nanoporetech.com/';\n break;\n case 'local':\n case 'dev':\n case 'test':\n default:\n this.userProfileUrl = 'https://myaccount.nanoporetech.com/';\n break;\n }\n\n if (!this.getMyAccountData || this.myAccData) {\n this.remoteDataReady = true;\n return;\n }\n\n let url = this.ssoDataUrl;\n\n if (!url) {\n switch (this.env) {\n case 'dev':\n url = 'https://myaccount-dev.nanoporetech.com/';\n break;\n case 'test':\n url = 'https://myaccount-test.nanoporetech.com/';\n break;\n default:\n url = 'https://myaccount.nanoporetech.com/';\n break;\n }\n }\n\n const config = { timeout: 5000 };\n\n try {\n if (this.env === 'local') {\n this.myAccData = (await import(\n `./assets/local-my-account.json`\n )) as unknown as MyAccountData;\n } else {\n this.myAccData = await clientFetch(url + 'nav_bar_data.json', config);\n }\n if (this.myAccData.user.id) {\n this.isLoggedIn = true;\n this.myAccountUser = this.myAccData.user;\n }\n this.processMyAccLinks();\n this.processMyAccData();\n setTimeout(() => (this.remoteDataReady = true), 300);\n } catch (e) {\n console.error(e);\n this.remoteDataReady = true;\n }\n }\n\n @Watch('searchIndex')\n currentSelectedIndex() {\n if (!this.internalSearchIndeces.length) {\n return;\n }\n if (!this.searchIndex) return this.internalSearchIndeces[0];\n\n const foundIndex = this.internalSearchIndeces.find(\n (index) => index.name === this.searchIndex\n );\n\n if (!foundIndex) {\n this.currentIndex = this.internalSearchIndeces[0];\n console.error('index not found');\n return;\n }\n\n this.currentIndex = foundIndex;\n return foundIndex;\n }\n\n @Watch('searchValInternal')\n changeInternalSearchVal() {\n if (this.searchValInternal !== this.searchValue)\n this.searchValue = this.searchValInternal;\n }\n\n @Watch('searchApiKey')\n @Watch('searchAppId')\n initAlgoliaClient() {\n if (!this.searchAppId || !this.searchApiKey) return;\n\n this.algoliaClient = algoliasearch(this.searchAppId, this.searchApiKey);\n this.addAlgoliaIndeces();\n\n // setup algolia analytics\n searchInsight.init(this.searchAppId, this.searchApiKey).then(() => {\n if (this.myAccountUser) searchInsight.setUser(this.myAccountUser.uuid);\n });\n }\n\n /** Public facing set of Algolia indices. Add to any indices we may already have (e.g. from MyAccount) */\n @Watch('searchIndeces')\n addIndeces() {\n this.internalSearchIndeces = [\n ...this.internalSearchIndeces,\n ...this.searchIndeces,\n ];\n }\n\n /** Internal set of of Algolia indices. Includes public & private (e.g. from MyAccount) */\n @Watch('internalSearchIndeces')\n addAlgoliaIndeces() {\n if (!this.algoliaClient || !this.internalSearchIndeces.length) return;\n\n this.internalSearchIndeces.forEach((searchIndex) => {\n searchIndex.alogliaIndex = this.algoliaClient.initIndex(\n searchIndex.index\n );\n });\n if (!this.searchIndex) {\n this.searchIndex = this.internalSearchIndeces[0].name;\n }\n }\n\n /** Current content breakpoint. If it goes up, things can look wonky for a second so we temporarily hide stuff */\n @Watch('threshold')\n thresholdChange(newThreshold: number, oldThreshold: number) {\n if (newThreshold > oldThreshold) {\n // we've resized to larger screen.\n this.setResizingState(true);\n }\n }\n\n /* Check if data and item placement is ready */\n @Watch('thresholdReady')\n @Watch('remoteDataReady')\n assessReady() {\n if (this.thresholdReady && this.remoteDataReady) {\n this.ready = true;\n this.nanoIsReady.emit();\n\n if (this.searchValue) requestAnimationFrame(() => this.searchbarShow());\n }\n }\n\n /**\n * Add / remove events when autocomplete results show / hide.\n */\n @Watch('showAutocomplete')\n setupAutocompleteBlur() {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this.searchInput.clientWidth; // force reflow\n if (this.showAutocomplete) {\n this.el.shadowRoot.addEventListener('click', this.onAutocompleteBlur);\n } else {\n this.el.shadowRoot.removeEventListener('click', this.onAutocompleteBlur);\n }\n }\n\n @Watch('secondaryMenuOpen')\n closeSearchBar() {\n if (!!this.secondaryMenuOpen && this.searchBarShown) this.searchbarHide();\n }\n\n /** As relevant slotted items change, reset resizing breakpoints */\n @Watch('aboutSlotLen')\n @Watch('iconSlotLen')\n @Watch('mainSlotLen')\n @Watch('overflowSlotLen')\n @Watch('searchSlotLen')\n slotChange() {\n this.threshold = THRESHOLDLIMIT;\n }\n\n // General classes for visuals\n\n private thresholdClasses() {\n const classes = [];\n let i = 0;\n for (i; i < this.threshold; i++) classes.push('threshold-' + (i + 1));\n return classes;\n }\n\n /**\n * provides 'isResizing' - we use this to fade content out on 'breakpoint' increase\n * (when the screen size increases). Otherwise the stepping through of\n * breakpoints to calculate if content currently fits shows on screen (looks ugly)\n */\n private setResizingState = (state: boolean = false) => {\n if (typeof this.debounceSetResizingState === 'undefined') {\n this.debounceSetResizingState = debounce(this.setResizingState, 600);\n }\n if (state) {\n this.isResizing = true;\n this.debounceSetResizingState();\n } else {\n this.isResizing = false;\n }\n };\n\n // Global DOM Events\n\n /**\n * 1) Reset threshold (item fit breakpoint) when screen is bigger than before.\n * 2) Assess the all threshold / breakpoints to see if content fits\n * 3) Hide search bar whenever we resize\n */\n private onWindowResize() {\n if (this.threshold < THRESHOLDLIMIT && window.innerWidth > this.currSize) {\n this.threshold = THRESHOLDLIMIT;\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this.mainBarDiv.clientWidth; // force reflow\n }\n this.currSize = window.innerWidth;\n this.searchbarHide();\n this.handleBarResize();\n }\n\n // Burger / Overflow Menu\n\n /* listen to nav-item secondary open / close events primarily for resizing the menu */\n @Listen('nanoOpen')\n secondaryOpen(ev: CustomEvent & { target: HTMLNanoNavItemElement }) {\n if (!(ev.detail as NavItemEventDetail).secondaryMenu) return;\n ev.stopPropagation();\n this.secondaryMenuOpen = ev.target;\n\n if (!this.menuSelectedItems) {\n this.menuSelectedItems = this.el.querySelectorAll(\n `${transformTag('nano-nav-item')}[selected]`\n );\n this.menuSelectedItems.forEach((i) => i.classList.remove('selected'));\n }\n\n this.menuContentDiv.style.minHeight =\n (ev.detail as NavItemEventDetail).secondaryMenu.scrollHeight + 'px';\n }\n\n @Listen('nanoClose')\n secondaryClose(ev: CustomEvent & { target: HTMLNanoNavItemElement }) {\n if (!(ev.detail as NavItemEventDetail).secondaryMenu) return;\n ev.stopPropagation();\n\n if (this.secondaryMenuOpen === ev.target && this.menuSelectedItems) {\n this.secondaryMenuOpen = null;\n this.menuContentDiv.style.minHeight = '';\n this.menuSelectedItems = null;\n this.el\n .querySelectorAll(`${transformTag('nano-nav-item')}[selected]`)\n .forEach((i) => i.classList.add('selected'));\n }\n }\n\n private onMenuBtnKeyDown = (ev: KeyboardEvent) => {\n switch (ev.key) {\n case 'Enter':\n case ' ':\n if (this.modalOpen) this.menuClose(ev, true);\n else this.menuOpen();\n break;\n }\n };\n\n private onMenuBtnClick = (ev: MouseEvent) => {\n this.menuClose(ev, true);\n };\n\n private menuOpen = (e?: MouseEvent) => {\n if (e) e.preventDefault();\n\n this.menuDiv.style.display = 'block';\n // need to open menu in stages\n // wait for re-flow after changing display\n // wait for repaint after animate, then focus\n\n this.modalOpen = true;\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this.menuDiv.clientWidth; // force reflow\n\n this.menuWrapDiv.focus({ preventScroll: true });\n if (\n this.threshold < 2 ||\n this.menuWrapDiv.scrollHeight > window.innerHeight\n ) {\n document.body.style.overflow = 'hidden';\n this.menuFullScreen = true;\n } else document.body.style.overflowX = 'hidden';\n\n setTimeout(() => (this.modalIsOpen = true), 300);\n };\n\n private onMenuHidden = () => {\n this.menuDiv.removeEventListener('transitionend', this.onMenuHidden);\n\n document.body.style.overflow = '';\n this.menuDiv.style.display = 'none';\n this.modalIsOpen = false;\n this.menuFullScreen = false;\n\n setTimeout(() => {\n if (document.activeElement === document.body && this.menuBtn)\n this.mainBarDiv.focus({ preventScroll: true });\n }, 50);\n };\n\n @Listen('click', { target: 'body' })\n menuClose(\n ev?: FocusEvent | MouseEvent | KeyboardEvent | TouchEvent,\n force: boolean = false\n ) {\n if (!this.modalIsOpen) return;\n\n if (force) {\n this.modalOpen = false;\n this.menuDiv.addEventListener('transitionend', this.onMenuHidden);\n return;\n }\n\n if (\n !ev\n .composedPath()\n .some(\n (el) =>\n el === this.menuContentDiv ||\n (el as Element).classList?.contains('gn-menu_actions')\n )\n ) {\n requestAnimationFrame(() => {\n if (this.secondaryMenuOpen) return;\n\n this.modalOpen = false;\n this.menuDiv.addEventListener('transitionend', this.onMenuHidden);\n });\n }\n }\n\n private subMenuClose = (ev?: MouseEvent) => {\n ev.preventDefault();\n (ev.target as HTMLNanoNavItemElement).closest<HTMLNanoNavItemElement>(\n transformTag('nano-nav-item')\n ).open = false;\n };\n\n // User profile menu\n\n private onUserBtnClick = (ev: MouseEvent) => {\n ev.preventDefault();\n this.userMenuOpen = !this.userMenuOpen;\n };\n\n private onUserBtnKeyDown = (ev: KeyboardEvent) => {\n switch (ev.key) {\n case 'Enter':\n case ' ':\n this.userMenuOpen = !this.userMenuOpen;\n break;\n }\n };\n\n private onUserMenuBlur = (ev: FocusEvent) => {\n if (!ev.relatedTarget) {\n this.userMenuOpen = false;\n return;\n }\n if ((ev.relatedTarget as HTMLElement).closest('.user-links-panel'))\n return false;\n this.userMenuOpen = false;\n };\n\n @Watch('userMenuOpen')\n async handleUserMenu() {\n await displayTransition(this.userLinkPanel, {\n className: 'show',\n show: this.userMenuOpen,\n });\n if (this.userMenuOpen) {\n this.userLinkPanel.focus();\n this.userLinkPanel.addEventListener('focusout', this.onUserMenuBlur);\n } else {\n this.userLinkPanel.removeEventListener('focusout', this.onUserMenuBlur);\n this.el.focus();\n }\n }\n\n // Search bar open / closed\n\n private onSearchBtnClick = (ev: MouseEvent) => {\n ev.preventDefault();\n if (this.searchBarShown) this.searchbarHide();\n else this.searchbarShow();\n };\n\n private async searchbarShow() {\n if (!this.searchBarEl) return;\n this.searchBarShown = true;\n\n this.searchBarEl.removeEventListener(\n 'transitionend',\n this.onSearchBarHidden\n );\n this.searchBarEl.addEventListener('transitionend', this.onSearchBarShown);\n this.searchBarEl.style.display = 'block';\n\n requestAnimationFrame(() => {\n const widgetHeight =\n Math.floor(\n this.searchBarEl.querySelector('.search-widget').scrollHeight\n ) - 1;\n this.searchBarEl.style.height = widgetHeight.toString() + 'px';\n });\n }\n\n private onSearchBarShown = () => {\n this.searchBarEl.removeEventListener(\n 'transitionend',\n this.onSearchBarShown\n );\n if (this.searchInput) this.searchInput.setFocus();\n this.searchBarEl.style.overflow = 'visible';\n };\n\n private searchbarHide = (ev?: FocusEvent) => {\n if (\n ev &&\n ev.relatedTarget &&\n (ev.relatedTarget as HTMLElement).closest('#global-nav-search-bar')\n ) {\n return;\n }\n this.showAutocomplete = this.searchBarShown = false;\n if (this.searchValInternal.length && ev) return;\n\n if (!this.searchBarEl) return;\n this.searchBarEl.addEventListener('transitionend', this.onSearchBarHidden);\n this.searchBarEl.style.overflow = 'hidden';\n this.searchBarEl.style.height = '0px';\n };\n\n private onSearchBarHidden = () => {\n this.searchBarEl.style.display = 'none';\n };\n\n // Algolia search\n\n private autocompleteSnippet(hit: AlgoliaResultHit) {\n const lookFor = ['title']; // , 'body'\n if (hit._snippetResult) {\n const found = lookFor.find(\n (prop) =>\n hit._snippetResult[prop] &&\n hit._snippetResult[prop].matchLevel !== 'none'\n );\n\n if (found) {\n if (found !== 'title')\n return (\n (hit.title.length > 15\n ? hit.title.substring(0, 15) + ' ...'\n : hit.title) +\n ' ' +\n hit._snippetResult[found].value\n );\n else return hit._snippetResult['title'].value;\n }\n }\n return hit.title;\n }\n\n private onSearchInput = (ev: CustomEvent<InputEvent>) => {\n this.searchValInternal = this.searchInput.value;\n\n if (!this.isSearchValSet()) {\n this.searchLoading = false;\n return;\n }\n\n if (ev.detail.type === 'input') {\n this.showAutocomplete = false;\n this.searchLoading = true;\n }\n };\n\n /**\n * Constructs a multi-search query for all set search indices\n * (which are normally controlled via the myAccount payload) then sends to Algolia.\n * Post-processes results, adding correct domains to url fields.\n * @returns formatted algolia results\n */\n private async doAlgoliaSearch() {\n this.algoliaSearchResults = null;\n\n const queries: MultipleQueriesQuery[] = this.internalSearchIndeces.map(\n (index) => {\n const toReturn = {\n clickAnalytics: true,\n attributesToSnippet: ['body:5', 'title:8'],\n indexName: index.index,\n query: this.searchValInternal,\n facets: index.filters,\n hitsPerPage: 5,\n filters: '',\n };\n if (index.name === 'Community') {\n toReturn.filters =\n 'created > ' + Math.floor((Date.now() - 63115200000) / 1000); // only get last 2 years\n }\n return toReturn;\n }\n );\n\n try {\n this.algoliaSearchResults = this.processSearchResults(\n (await this.algoliaClient.search(queries)) as any\n ) as AlgoliaMultiResults;\n } catch (e) {\n this.nanoSearchError.emit(e as AlgoliaNetworkError);\n }\n this.searchLoading = false;\n if (!this.algoliaSearchResults) return;\n\n this.algoliaSearchResults.results.map((result, i) => {\n result.indexName = this.internalSearchIndeces[i].name;\n result.selected =\n this.currentIndex.name === this.internalSearchIndeces[i].name;\n result.domain = this.currentIndex.domain || null;\n result.domains = this.myAccData.domains || null;\n result.allGroup = !!this.internalSearchIndeces[i].allGroup;\n result.filters = this.internalSearchIndeces[i].filters;\n result.replicas = this.currentIndex.replicas;\n });\n\n return this.algoliaSearchResults;\n }\n\n /**\n * Called whenever the search input value changes.\n * Performs Algolia search and shows autocomplete results.\n * @param ev optional input change event\n */\n private onSearchChange = async (ev?: CustomEvent<InputChangeEventDetail>) => {\n this.searchValInternal = this.searchValue = ev\n ? ev.detail.value\n : this.searchValInternal;\n this.showAutocomplete = false;\n this.autocompleteResults = null;\n\n if (!this.isSearchValSet()) {\n if (!this.searchValInternal.length) {\n this.nanoSearchReset.emit();\n }\n this.searchLoading = false;\n return;\n }\n if (!this.currentIndex) this.currentSelectedIndex();\n\n // start search\n this.searchLoading = true;\n const algoliaHits = await this.doAlgoliaSearch();\n\n this.scopeSearch = null;\n this.scopeSearch = algoliaHits;\n\n // set / show autocomplete results\n this.autocompleteResults = algoliaHits.results.find((res) => res.selected);\n this.showAutocompleteResults();\n\n this.searchLoading = false;\n };\n\n /**\n * Called whenever the search form is submitted (but can also be called manually).\n * Fires event which will activate / display `nano-global-search-results`\n *\n * @param ev optional form submit event\n * @returns Algolia search results\n */\n private onSearchSubmit = async (ev?) => {\n if (ev) ev.preventDefault();\n if (!this.isSearchValSet()) return;\n\n if (!this.currentIndex) this.currentSelectedIndex();\n if (!this.algoliaSearchResults) await this.doAlgoliaSearch();\n\n const activeIndex = this.algoliaSearchResults.results.find(\n (res) => res.selected\n );\n const { index, domain, filters, query, replicas } = activeIndex;\n\n this.nanoSearchResult.emit({\n meta: {\n indexTitle: activeIndex.indexName,\n index,\n domain,\n filters,\n query,\n replicas,\n },\n client: { apiKey: this.searchApiKey, appId: this.searchAppId },\n });\n this.showAutocomplete = false;\n return this.algoliaSearchResults;\n };\n\n private onSearchIndexChange = async (\n index: CustomEvent<SelectChangeEventDetail> | string\n ) => {\n const ev = index as CustomEvent<SelectChangeEventDetail>;\n let indexStr = index as string;\n\n if (!this.currentIndex) this.currentSelectedIndex();\n\n if (ev.detail && ev.detail.value.length)\n indexStr = ev.detail.value as string;\n if (!indexStr || !indexStr.length) return;\n if (this.currentIndex.index === indexStr) return;\n\n const selectedIndex = this.internalSearchIndeces.find(\n (index) => index.index === indexStr\n );\n if (!selectedIndex || !selectedIndex.alogliaIndex) return;\n\n this.searchIndex = selectedIndex.name;\n if (this.isSearchValSet()) await this.onSearchChange();\n };\n\n private isSearchValSet() {\n if (this.searchValInternal.length < 3) return false;\n return true;\n }\n\n private switchIndexSubmit = async (index: string) => {\n if (this.isSearchValSet()) {\n await this.onSearchIndexChange(index);\n this.onSearchSubmit();\n } else this.onSearchIndexChange(index);\n };\n\n // Autocomplete\n\n @Watch('showAutocomplete')\n resetHitFocus() {\n this.currAIndex = -1;\n }\n\n private onAutocompleteBlur = (ev: MouseEvent) => {\n if (!this.showAutocomplete || !this.autocompleteResults) return;\n if (ev && ev.target && (ev.target as HTMLElement).closest('.search-widget'))\n return;\n this.showAutocomplete = false;\n };\n\n private showAutocompleteResults = () => {\n if (!this.autocompleteResults || !this.autocompleteResults.hits) return;\n this.showAutocomplete = true;\n };\n\n private setActiveElement(\n autocompleteEle: HTMLAnchorElement | HTMLButtonElement\n ) {\n this.autocompleteEles.map((ele) =>\n ele.setAttribute('aria-selected', 'false')\n );\n autocompleteEle.focus({ preventScroll: true });\n autocompleteEle.setAttribute('aria-selected', 'true');\n }\n\n private onAutocompleteInteract = (ev: KeyboardEvent) => {\n // list open, navigate items with arrows\n if (!this.showAutocomplete || !this.autocompleteResults) return;\n let testIndex = this.currAIndex;\n\n switch (ev.key) {\n case 'Tab':\n setTimeout(() => {\n if (\n !this.el.shadowRoot.activeElement ||\n !this.el.shadowRoot.activeElement.closest('.search-widget')\n ) {\n this.showAutocomplete = false;\n return;\n } else {\n const found = this.autocompleteEles.find((ele, i) => {\n if (ele === this.el.shadowRoot.activeElement) {\n this.currAIndex = i;\n return true;\n }\n });\n if (found) this.setActiveElement(found);\n else this.currAIndex = -1;\n }\n });\n break;\n case 'ArrowDown':\n case 'ArrowUp': {\n if (ev.key === 'ArrowDown') testIndex++;\n else if (ev.key === 'ArrowUp') testIndex--;\n\n const found = this.autocompleteEles[testIndex];\n if (\n found ||\n testIndex < 0 ||\n testIndex > this.autocompleteEles.length - 1\n ) {\n ev.preventDefault();\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this.searchInput.clientWidth; // force reflow\n\n if (found) {\n this.setActiveElement(found);\n this.currAIndex = testIndex;\n } else if (testIndex < 0) {\n this.searchInput.setFocus();\n this.currAIndex = -1;\n }\n break;\n }\n case 'Enter':\n case ' ':\n if (this.autocompleteEles[this.currAIndex]) {\n this.autocompleteEles[this.currAIndex].click();\n }\n break;\n }\n };\n\n // Various.\n\n /**\n * Assesses what content is present in which slots\n */\n private assessSlottedContent = () => {\n readTask(() => {\n this.hasSiteSlot = !!this.el.querySelectorAll('[slot=\"site\"]').length;\n this.hasLoggedinSlot =\n !!this.el.querySelectorAll('[slot=\"loggedin\"]').length;\n this.hasPromotionSlot =\n !!this.el.querySelectorAll('[slot=\"promotion\"]').length;\n\n this.aboutSlotLen = this.el.querySelectorAll('[slot=\"about\"]').length;\n this.iconSlotLen = this.el.querySelectorAll('[slot=\"icon\"]').length;\n this.mainSlotLen = this.el.querySelectorAll('[slot=\"main\"]').length;\n this.overflowSlotLen =\n this.el.querySelectorAll('[slot=\"overflow\"]').length;\n this.searchSlotLen = this.el.querySelectorAll('[slot=\"search\"]').length;\n });\n };\n\n private async handleBarResize() {\n const descreaseThreshold = () => {\n return new Promise<void>((resolve) => {\n this.threshold--;\n\n setTimeout(() => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this.mainBarDiv.clientWidth; // force reflow\n resolve();\n }, 200);\n });\n };\n\n // Decrease the threshold until content fits\n while (this.threshold > 0) {\n if (\n this.mainBarDiv.scrollWidth <= this.mainBarDiv.parentElement.clientWidth\n )\n break;\n await descreaseThreshold();\n }\n\n /* content now fits so add / remove context classes\n on nav-items depending on whether they're added to bar or burger. */\n\n this.thresholdReady = true;\n\n let menuItems: Array<Element>, barItems: Array<Element>;\n readTask(() => {\n menuItems = [\n ...Array.from(\n this.el.querySelectorAll(\n `${transformTag('nano-nav-item')}[slot=\"site\"]`\n )\n ),\n ...Array.from(\n this.el.querySelectorAll(\n `${transformTag('nano-nav-item')}[slot=\"overflow\"]`\n )\n ),\n ];\n barItems = [];\n\n if (this.threshold < THRESHOLDLIMIT - THRESHOLDBREAKS.icon)\n menuItems.push(\n ...Array.from(\n this.el.querySelectorAll(\n `${transformTag('nano-nav-item')}[slot=\"icon\"]`\n )\n )\n );\n else\n barItems.push(\n ...Array.from(\n this.el.querySelectorAll(\n `${transformTag('nano-nav-item')}[slot=\"icon\"]`\n )\n )\n );\n\n if (this.threshold < THRESHOLDLIMIT - THRESHOLDBREAKS.login)\n menuItems.push(\n ...Array.from(\n this.el.querySelectorAll(\n `${transformTag('nano-nav-item')}[slot=\"loggedin\"]`\n )\n )\n );\n else\n barItems.push(\n ...Array.from(\n this.el.querySelectorAll(\n `${transformTag('nano-nav-item')}[slot=\"loggedin\"]`\n )\n )\n );\n\n if (this.threshold < THRESHOLDLIMIT - THRESHOLDBREAKS.main)\n menuItems.push(\n ...Array.from(\n this.el.querySelectorAll(\n `${transformTag('nano-nav-item')}[slot=\"main\"]`\n )\n )\n );\n else\n barItems.push(\n ...Array.from(\n this.el.querySelectorAll(\n `${transformTag('nano-nav-item')}[slot=\"main\"]`\n )\n )\n );\n\n if (this.threshold < THRESHOLDLIMIT - THRESHOLDBREAKS.about)\n menuItems.push(\n ...Array.from(\n this.el.querySelectorAll(\n `${transformTag('nano-nav-item')}[slot=\"about\"]`\n )\n )\n );\n else\n barItems.push(\n ...Array.from(\n this.el.querySelectorAll(\n `${transformTag('nano-nav-item')}[slot=\"about\"]`\n )\n )\n );\n });\n\n writeTask(() => {\n menuItems.forEach((item) => {\n item.classList.add('nano-global-nav-menu');\n item.classList.remove('nano-global-nav-bar');\n });\n barItems.forEach((item) => {\n item.classList.remove('nano-global-nav-menu');\n item.classList.add('nano-global-nav-bar');\n });\n });\n }\n\n // Stencil Lifecycle / Rendering\n\n componentWillLoad() {\n ComponentStore.init(\n this,\n ['searchIndex', 'searchValue'],\n 'url-hash',\n 'gns'\n );\n\n this.assessSlottedContent();\n }\n\n connectedCallback() {\n this.handleMyAccountData();\n this.getMyAccData();\n }\n\n componentDidLoad() {\n if (Build.isBrowser) {\n this.debounceResize = debounce(this.onWindowResize.bind(this), 200);\n window.addEventListener('resize', this.debounceResize);\n this.currSize = window.innerWidth;\n }\n\n this.initAlgoliaClient();\n this.addAlgoliaIndeces();\n requestAnimationFrame(() => this.handleBarResize());\n }\n\n disconnectedCallback() {\n if (Build.isBrowser)\n window.removeEventListener('resize', this.debounceResize);\n }\n\n // Render output\n\n private autocompleteList(): VNode {\n let content;\n if (this.showAutocomplete && this.scrollingUp) {\n let currentScopeHits = 0;\n let scopeChangeSuggestions = 0;\n\n const scopeSuggestReducer = (\n total: number,\n result: AlgoliaMultiResult\n ) => {\n return result.index !== this.currentIndex.index\n ? total + result.hits.length\n : total;\n };\n const currentSuggestReducer = (\n total: number,\n result: AlgoliaMultiResult\n ) => {\n return result.index === this.currentIndex.index\n ? total + result.hits.length\n : total;\n };\n\n if (this.scopeSearch) {\n scopeChangeSuggestions = this.scopeSearch.results.reduce(\n scopeSuggestReducer,\n 0\n );\n currentScopeHits = this.scopeSearch.results.reduce(\n currentSuggestReducer,\n 0\n );\n }\n\n if (\n (this.autocompleteResults && this.autocompleteResults.hits.length) ||\n (scopeChangeSuggestions && !currentScopeHits)\n ) {\n let scopeSuggestions = 0;\n\n content = (\n <div>\n {!currentScopeHits && (\n <div class=\"search-autocomplete-hit search-autocomplete-hit--no-result\">\n No results matching '{this.searchValInternal}' were found in{' '}\n <strong>{this.currentIndex.name}</strong>. Try another phrase.\n </div>\n )}\n {this.autocompleteResults && [\n this.autocompleteResults.hits.map((hit, i) => {\n return (\n <a\n role=\"option\"\n ref={(a) => this.autocompleteEles.push(a)}\n tabindex=\"-1\"\n id={'autocomplete-hit-' + i}\n href={hit.url}\n class=\"search-autocomplete-hit\"\n innerHTML={this.autocompleteSnippet(hit)}\n onClick={() => {\n searchInsight.sendClick({\n index: this.currentIndex.index,\n eventName:\n 'Global nav quick search - search result clicked',\n queryID: this.autocompleteResults.queryID,\n objectIDs: [hit.objectID],\n positions: [i + 1],\n });\n }}\n ></a>\n );\n }),\n ]}\n {(!currentScopeHits || this.currentIndex.allGroup) &&\n this.scopeSearch &&\n this.scopeSearch.results && [\n this.scopeSearch.results.map((result, i) => {\n if (\n !result.hits.length ||\n result.index === this.currentIndex.index ||\n scopeSuggestions > 1\n )\n return;\n scopeSuggestions++;\n return (\n <button\n role=\"option\"\n ref={(button) => this.autocompleteEles.push(button)}\n tabindex=\"-1\"\n id={'autocomplete-scope-' + i}\n class=\"search-autocomplete-hit\"\n onClick={() => this.switchIndexSubmit(result.index)}\n onMouseDown={() => this.switchIndexSubmit(result.index)}\n >\n \"{this.searchValInternal}\"{' '}\n <div class=\"search-autocomplete-hit-scope\">\n in {result.indexName}\n </div>\n </button>\n );\n }),\n ]}\n {!!currentScopeHits && (\n <div class=\"search-autocomplete-foot\">\n <button\n role=\"option\"\n class=\"search-autocomplete-submit\"\n ref={(button) => this.autocompleteEles.push(button)}\n id={'autocomplete-foot'}\n onClick={this.onSearchSubmit}\n onMouseDown={this.onSearchSubmit}\n >\n View all results\n </button>\n </div>\n )}\n </div>\n );\n } else if (!currentScopeHits) {\n content = (\n <div class=\"search-autocomplete-hit search-autocomplete-hit--no-result\">\n No results matching '{this.searchValInternal}' were found. Try\n another phrase.\n </div>\n );\n }\n }\n\n return (\n <div\n class=\"search-autocomplete\"\n role=\"listbox\"\n id=\"autocomplete-results\"\n aria-expanded={this.showAutocomplete ? 'true' : 'false'}\n hidden={!this.showAutocomplete}\n onKeyDown={this.onAutocompleteInteract}\n >\n {content}\n </div>\n );\n }\n\n private searchWidget(): VNode[] {\n return [\n <form\n class=\"search-inputs\"\n onSubmit={this.onSearchSubmit}\n id=\"global-nav-search\"\n >\n <nano-select\n class=\"search-input\"\n label=\"Which area of content would you like to search?\"\n hideLabel\n showInlineError={false}\n value={this.currentSelectedIndex()?.index}\n onNanoChange={this.onSearchIndexChange}\n mask\n >\n {this.internalSearchIndeces.map((index) => {\n return (\n <nano-option\n selected={index.name === this.searchIndex}\n value={index.index}\n >\n {index.name || index.index}\n </nano-option>\n );\n })}\n <nano-icon\n name=\"light/chevron-down\"\n class=\"select-input__arrow\"\n slot=\"down-arrow\"\n />\n </nano-select>\n <nano-input\n class=\"search-input\"\n label=\"What would you like to search for?\"\n aria-label=\"What would you like to search for\"\n hideLabel\n showInlineError={false}\n clear-input\n placeholder=\"Search Nanopore\"\n type=\"text\"\n ref={(input) => (this.searchInput = input)}\n onNanoChange={this.onSearchChange}\n onNanoInput={this.onSearchInput}\n onKeyDown={this.onAutocompleteInteract}\n debounce={500}\n aria-autocomplete=\"list\"\n aria-activedescendant={\n this.autocompleteEles[this.currAIndex]\n ? this.autocompleteEles[this.currAIndex].id\n : false\n }\n aria-controls=\"autocomplete-results\"\n onNanoFocus={this.showAutocompleteResults}\n value={this.searchValue}\n role=\"textbox\"\n >\n <button\n class={{\n 'search-icon': true,\n 'search-icon--search': true,\n 'search-icon--show': !!this.searchValue && !this.searchLoading,\n }}\n slot=\"end\"\n onClick={(e) => {\n this.searchValInternal = this.searchInput.value;\n this.onSearchSubmit(e);\n }}\n >\n <nano-icon\n name=\"light/magnifying-glass\"\n role=\"img\"\n ariaLabel=\"Search now\"\n ></nano-icon>\n </button>\n <span\n class={{\n 'search-icon': true,\n 'search-icon--loader': true,\n 'search-icon--show': this.searchLoading,\n }}\n slot=\"end\"\n >\n <nano-icon name=\"light/spinner-third\"></nano-icon>\n </span>\n </nano-input>\n <input type=\"submit\" />\n </form>,\n ];\n }\n\n render() {\n this.autocompleteEles = [];\n const isRtl = this.el.ownerDocument.dir === 'rtl';\n\n const searchWidget = this.searchWidget();\n searchWidget.push(this.autocompleteList());\n\n return (\n <Host\n class={{\n [this.thresholdClasses().join(' ')]: true,\n ready: this.ready,\n 'search-bar-shown': this.searchBarShown && this.scrollingUp,\n 'search-auto-complete-shown':\n this.showAutocomplete && this.scrollingUp,\n 'modal-open': this.modalIsOpen,\n resizing: this.isResizing,\n 'nano-global-nav': true,\n }}\n dir={isRtl ? 'rtl' : null}\n >\n <div\n class={{\n 'global-nav': true,\n 'scrolling-down': !this.scrollingUp,\n }}\n >\n {/* START BURGER / OVERFLOW MENU */}\n <nav\n id=\"global-nav-menu\"\n class={{\n 'gn-menu': true,\n open: this.modalOpen,\n 'has-promotion': this.hasPromotionSlot,\n 'menu-full-screen': this.menuFullScreen,\n 'secondary-open': !!this.secondaryMenuOpen,\n }}\n aria-expanded={this.modalOpen ? 'true' : 'false'}\n ref={(div) => (this.menuDiv = div)}\n part=\"burger\"\n >\n <div\n class=\"gn-menu_wrap\"\n ref={(div) => (this.menuWrapDiv = div)}\n tabindex=\"-1\"\n part=\"burger-menu\"\n >\n <div class=\"gn-menu_actions\" part=\"burger-actions-bar\">\n <button\n class=\"menu-btn icon-btn icon-btn\"\n onMouseDown={this.onMenuBtnClick}\n onKeyDown={this.onMenuBtnKeyDown}\n >\n {this.threshold < THRESHOLDLIMIT - THRESHOLDBREAKS.login && (\n <nano-icon\n name=\"light/xmark\"\n aria-label=\"close menu\"\n role=\"img\"\n ></nano-icon>\n )}\n {this.threshold >= THRESHOLDLIMIT - THRESHOLDBREAKS.login && (\n <nano-icon\n name=\"light/bars\"\n aria-label=\"close menu\"\n role=\"img\"\n ></nano-icon>\n )}\n </button>\n\n {this.threshold < THRESHOLDLIMIT - THRESHOLDBREAKS.icon && [\n !!this.iconSlotLen && <slot name=\"icon\" />,\n this.myAccData &&\n (!this.activeMyAccountSections ||\n this.activeMyAccountSections.includes('icons')) && [\n this.msgUrl && (\n <a href={this.msgUrl} class=\"icon-btn\">\n <nano-icon\n name=\"light/bell\"\n role=\"img\"\n ariaLabel=\"Check notifications\"\n ></nano-icon>\n {this.msgCount > 0 && (\n <span class=\"gn-menu_actions-counter\">\n {this.msgCount}\n </span>\n )}\n </a>\n ),\n this.cartUrl && (\n <a href={this.cartUrl} class=\"icon-btn\">\n <nano-icon\n name=\"light/cart-shopping\"\n role=\"img\"\n ariaLabel=\"Go to cart\"\n ></nano-icon>\n {this.cartCount > 0 && (\n <span class=\"gn-menu_actions-counter\">\n {this.cartCount}\n </span>\n )}\n </a>\n ),\n ],\n ]}\n\n {this.myAccData && this.myAccData.urls.login && (\n <a\n href={this.myAccData.urls.login + this.ssoRedirect}\n class=\"login-btn\"\n >\n Login / Register{' '}\n <nano-icon name=\"solid/chevron-right\"></nano-icon>\n </a>\n )}\n </div>\n\n <div\n class=\"content-wrap\"\n ref={(div) => (this.menuContentDiv = div)}\n >\n <div class=\"content\" part=\"burger-content\">\n <nav class=\"nav-links nav-links--main\" role=\"menu\">\n <slot\n name=\"overflow\"\n onSlotchange={this.assessSlottedContent}\n />\n {this.threshold < THRESHOLDLIMIT - THRESHOLDBREAKS.main &&\n !!this.mainSlotLen && (\n <slot\n name=\"main\"\n onSlotchange={this.assessSlottedContent}\n />\n )}\n </nav>\n\n {/* ABOUT AND SITE MENU IN BURGER */}\n {(((!!this.aboutSlotLen || !!this.aboutNavItms.length) &&\n this.hasSiteSlot) ||\n !!this.siteNavItms.length) && (\n <div>\n {/* SITES MENU (Always in burger) */}\n {(this.hasSiteSlot || !!this.siteNavItms.length) && [\n (this.threshold >= THRESHOLDLIMIT - 2 ||\n this.mainSlotLen < 2) &&\n this.overflowSlotLen < 2 && (\n <div class=\"nav-links-wrap\">\n <h4 class=\"nav-links_title nav-links_title--sites\">\n Sites\n </h4>\n <nav\n class=\"nav-links nav-links--sub nav-links--sites\"\n aria-label=\"Different company site links\"\n >\n <slot\n name=\"site\"\n onSlotchange={this.assessSlottedContent}\n />\n {this.siteNavItms.map((link) => {\n return (\n <nano-nav-item class=\"nano-global-nav nano-global-nav-menu\">\n <a\n href={link.address}\n target={link.target}\n >\n {link.title}\n </a>\n </nano-nav-item>\n );\n })}\n </nav>\n </div>\n ),\n ((this.threshold < THRESHOLDLIMIT - 2 &&\n this.mainSlotLen >= 2) ||\n this.overflowSlotLen >= 2) && (\n <nav\n class=\"nav-links\"\n aria-label=\"Different company site links\"\n >\n <nano-nav-item\n class=\"nano-global-nav nano-global-nav-menu\"\n closeOnBlur={false}\n >\n Sites\n <nano-icon\n slot=\"icon-end\"\n name=\"solid/chevron-right\"\n ></nano-icon>\n <div slot=\"secondary\">\n <div class=\"content\">\n <button\n class=\"back-btn\"\n onClick={this.subMenuClose}\n >\n <nano-icon\n slot=\"icon-end\"\n name=\"solid/chevron-left\"\n aria-label=\"go back\"\n role=\"img\"\n ></nano-icon>\n Sites\n </button>\n <div class=\"content--sub\">\n <slot\n name=\"site\"\n onSlotchange={this.assessSlottedContent}\n />\n {this.siteNavItms.map((link) => {\n return (\n <nano-nav-item class=\"nano-global-nav nano-global-nav-menu\">\n <a\n href={link.address}\n target={link.target}\n >\n {link.title}\n </a>\n </nano-nav-item>\n );\n })}\n </div>\n </div>\n </div>\n </nano-nav-item>\n </nav>\n ),\n ]}\n </div>\n )}\n </div>\n\n {/* USER PROFILE IN BURGER */}\n {this.isLoggedIn &&\n this.threshold < THRESHOLDLIMIT - THRESHOLDBREAKS.login &&\n (this.loggedInNavItms.length || this.hasLoggedinSlot) && (\n <nav class=\"nav-links\" aria-label=\"Your user account links\">\n <nano-nav-item\n class=\"nano-global-nav user-nav nano-global-nav-menu\"\n closeOnBlur={false}\n >\n {this.myAccountUser.name}\n <nano-icon\n slot=\"icon-end\"\n name=\"solid/chevron-right\"\n ></nano-icon>\n <div slot=\"secondary\">\n <div class=\"content\">\n <button\n class=\"back-btn\"\n onClick={this.subMenuClose}\n >\n <nano-icon\n slot=\"icon-end\"\n name=\"solid/chevron-left\"\n aria-label=\"go back\"\n role=\"img\"\n ></nano-icon>\n {this.myAccountUser.name}\n </button>\n {!!this.myAccountUser?.small_avatar_url && (\n <nano-global-nav-user-profile\n myAccountUser={this.myAccountUser}\n userProfileUrl={this.userProfileUrl}\n ></nano-global-nav-user-profile>\n )}\n <div class=\"content--sub\">\n <slot\n name=\"loggedin\"\n onSlotchange={this.assessSlottedContent}\n />\n {this.loggedInNavItms.map((link) => {\n return (\n <nano-nav-item class=\"nano-global-nav nano-global-nav-menu\">\n <a href={link.address} target={link.target}>\n {link.title}\n </a>\n </nano-nav-item>\n );\n })}\n <nano-nav-item class=\"nano-global-nav nano-global-nav-menu\">\n <a\n href={\n this.myAccData.urls.forgot_password +\n this.ssoRedirect\n }\n >\n Change Password\n </a>\n </nano-nav-item>\n </div>\n </div>\n </div>\n </nano-nav-item>\n </nav>\n )}\n\n <slot\n name=\"promotion\"\n onSlotchange={this.assessSlottedContent}\n />\n\n {this.myAccData && this.myAccData.urls.logout && (\n <div class=\"login-btn logout-btn\">\n <a href={this.myAccData.urls.logout + this.ssoRedirect}>\n Logout\n </a>\n </div>\n )}\n </div>\n </div>\n </nav>\n {/* END BURGER / OVERFLOW MENU */}\n\n {/* START MAIN NAV BAR */}\n <div class=\"bars\" part=\"bars\">\n <nav\n part=\"main-bar\"\n class=\"main-bar\"\n aria-label=\"Main site navigation\"\n tabindex=\"-1\"\n ref={(div) => (this.mainBarDiv = div)}\n >\n {(this.hasPromotionSlot ||\n !!this.overflowSlotLen ||\n ((this.myAccData || !!this.iconSlotLen) &&\n this.threshold < THRESHOLDLIMIT - THRESHOLDBREAKS.icon) ||\n (this.isLoggedIn &&\n (!!this.loggedInNavItms.length || this.hasLoggedinSlot) &&\n this.threshold < THRESHOLDLIMIT - THRESHOLDBREAKS.login) ||\n (!!this.mainSlotLen &&\n this.threshold < THRESHOLDLIMIT - THRESHOLDBREAKS.main) ||\n ((!!this.aboutSlotLen || !!this.aboutNavItms.length) &&\n this.threshold < THRESHOLDLIMIT - THRESHOLDBREAKS.about) ||\n this.hasSiteSlot ||\n !!this.siteNavItms.length) && (\n <button\n class=\"menu-btn icon-btn\"\n onMouseDown={this.menuOpen}\n onKeyDown={this.onMenuBtnKeyDown}\n aria-expanded={this.modalOpen ? 'true' : 'false'}\n aria-controls=\"global-nav-menu\"\n ref={(btn) => (this.menuBtn = btn)}\n >\n <nano-icon\n name=\"light/bars\"\n aria-label=\"Open menu\"\n ></nano-icon>\n </button>\n )}\n\n {this.showLogo && (\n <a href={this.logoUrl} class=\"logo-link\" part=\"logo-link\">\n <img\n src={getAssetPath(`../nano-assets/ont-logo.svg`)}\n alt=\"Oxford Nanopore Technologies Logo\"\n class=\"logo\"\n />\n </a>\n )}\n {!this.showLogo && (\n <div class=\"logo-link\">\n <slot name=\"logo\" onSlotchange={this.assessSlottedContent} />\n </div>\n )}\n\n <div class=\"nav-links nav-links--main\">\n <slot name=\"main\" onSlotchange={this.assessSlottedContent} />\n </div>\n\n {/* search widget displayed in the bar (there is enough space to show it) */}\n {this.mainSlotLen === 0 &&\n this.threshold >= THRESHOLDLIMIT - THRESHOLDBREAKS.search && [\n this.showSearch && !!this.internalSearchIndeces.length && (\n <div\n class=\"search-widget\"\n role=\"combobox\"\n aria-owns=\"autocomplete-results\"\n aria-expanded={\n this.showAutocomplete && this.autocompleteResults\n ? 'true'\n : 'false'\n }\n >\n {searchWidget}\n </div>\n ),\n (!this.showSearch || !this.myAccData) &&\n !!this.searchSlotLen && (\n <slot\n name=\"search\"\n onSlotchange={this.assessSlottedContent}\n />\n ),\n ]}\n\n {/* Bar Icon buttons */}\n\n {/* Bar search icon button (when not enough to show search in bar) */}\n {(this.mainSlotLen > 0 ||\n this.threshold < THRESHOLDLIMIT - THRESHOLDBREAKS.search) &&\n ((this.showSearch && !!this.internalSearchIndeces.length) ||\n !!this.searchSlotLen) && (\n <button\n class={{\n 'icon-btn': true,\n 'search-btn': true,\n 'search-btn--open': this.searchBarShown,\n }}\n aria-controls=\"global-nav-search-bar\"\n aria-expanded={this.searchBarShown ? 'true' : 'false'}\n onClick={this.onSearchBtnClick}\n >\n <nano-icon\n name=\"light/magnifying-glass\"\n role=\"img\"\n ariaLabel=\"Search Oxford Nanopore\"\n ></nano-icon>\n </button>\n )}\n\n {/* Bar cart and notifications */}\n {this.threshold >= THRESHOLDLIMIT - THRESHOLDBREAKS.icon && [\n !!this.iconSlotLen && <slot name=\"icon\" />,\n this.myAccData &&\n (!this.activeMyAccountSections ||\n this.activeMyAccountSections.includes('icons')) && [\n this.msgUrl && (\n <a href={this.msgUrl} class=\"icon-btn\">\n <nano-icon\n name=\"light/bell\"\n ariaLabel=\"View your notifications\"\n ></nano-icon>\n {this.msgCount > 0 && (\n <span class=\"gn-menu_actions-counter\">\n {this.msgCount}\n </span>\n )}\n </a>\n ),\n this.cartUrl && (\n <a href={this.cartUrl} class=\"icon-btn\">\n <nano-icon\n name=\"light/cart-shopping\"\n ariaLabel=\"View your shopping cart\"\n ></nano-icon>\n {this.cartCount > 0 && (\n <span class=\"gn-menu_actions-counter\">\n {this.cartCount}\n </span>\n )}\n </a>\n ),\n ],\n ]}\n\n {/* Bar about links */}\n {(!!this.aboutSlotLen || !!this.aboutNavItms.length) &&\n this.threshold >= THRESHOLDLIMIT - THRESHOLDBREAKS.about && (\n <nav\n class=\"nav-links nav-links--sub\"\n aria-label=\"About the company. Links\"\n role=\"menu\"\n >\n <slot\n name=\"about\"\n onSlotchange={this.assessSlottedContent}\n />\n {!!this.aboutNavItms.length && (\n <nano-nav-item class=\"nano-global-nav nano-global-nav-bar\">\n <a\n href={this.aboutNavItms[0].address}\n target={this.aboutNavItms[0].target}\n >\n {this.aboutNavItms[0].title}\n </a>\n </nano-nav-item>\n )}\n </nav>\n )}\n\n {/* Bar login button / User panel */}\n {this.myAccData &&\n (!this.activeMyAccountSections ||\n this.activeMyAccountSections.includes('loggedin')) &&\n this.threshold >= THRESHOLDLIMIT - THRESHOLDBREAKS.login && [\n this.myAccData.urls.login && (\n <a\n href={this.myAccData.urls.login + this.ssoRedirect}\n class=\"login-btn\"\n >\n Login / Register\n </a>\n ),\n this.myAccountUser && (\n <div class=\"user-links\">\n <button\n class={{\n 'icon-btn': true,\n 'user-links-btn': true,\n open: this.userMenuOpen,\n }}\n onMouseDown={this.onUserBtnClick}\n onKeyDown={this.onUserBtnKeyDown}\n >\n {' '}\n {this.myAccountUser.name}\n <nano-icon\n name=\"solid/caret-down\"\n ariaLabel=\"View your account links\"\n ></nano-icon>\n </button>\n <div\n class=\"user-links-panel\"\n tabindex=\"-1\"\n ref={(div) => (this.userLinkPanel = div)}\n >\n {!!this.myAccountUser?.small_avatar_url && (\n <nano-global-nav-user-profile\n myAccountUser={this.myAccountUser}\n userProfileUrl={this.userProfileUrl}\n ></nano-global-nav-user-profile>\n )}\n <div class=\"user-links-panel-content\">\n {this.loggedInNavItms.map((link) => {\n return (\n <a href={link.address} target={link.target}>\n {link.title}\n </a>\n );\n })}\n </div>\n <div class=\"user-links-panel-foot\">\n <a\n href={\n this.myAccData.urls.forgot_password +\n this.ssoRedirect\n }\n >\n Change Password\n </a>\n <a\n href={this.myAccData.urls.logout + this.ssoRedirect}\n >\n Logout\n </a>\n </div>\n </div>\n </div>\n ),\n ]}\n </nav>\n\n {/* Search widget shown in bar underneath main bar when there is not enough space */}\n {(this.mainSlotLen > 0 ||\n this.threshold < THRESHOLDLIMIT - THRESHOLDBREAKS.search) && (\n <div\n id=\"global-nav-search-bar\"\n class={{\n 'search-bar': true,\n show: this.searchBarShown,\n }}\n aria-expanded={this.searchBarShown ? 'true' : 'false'}\n role=\"region\"\n tabindex=\"-1\"\n ref={(div) => (this.searchBarEl = div)}\n part=\"search-bar\"\n >\n <div class=\"search-widget\">\n {this.showSearch && !!this.internalSearchIndeces.length && (\n <div>{searchWidget}</div>\n )}\n {(!this.showSearch || !this.myAccData) &&\n !!this.searchSlotLen && (\n <slot\n name=\"search\"\n onSlotchange={this.assessSlottedContent}\n />\n )}\n </div>\n </div>\n )}\n </div>\n {/* END MAIN NAV BAR */}\n\n {/* BURGER MENU MOBILE MASK */}\n {(this.threshold < THRESHOLDLIMIT - THRESHOLDBREAKS.login ||\n this.menuFullScreen) && (\n <div\n class={{\n mask: true,\n open: this.modalOpen,\n }}\n onClick={this.menuClose}\n onTouchEnd={this.menuClose}\n ></div>\n )}\n </div>\n <div class=\"site-content\">\n <slot />\n </div>\n </Host>\n );\n }\n\n // Data processing\n\n /**\n * Finds a correct domain (as defined by myAccount data) for a given origin\n * @returns a domain string for this origin\n */\n private domainFor(origin: string): string {\n if (!this.myAccData) return '';\n const domain = this.myAccData.domains.find((dm) => dm.origin === origin);\n return domain ? domain.domain : '';\n }\n\n /**\n * process a set, or multiple sets of algolia results\n * and applies correct domain names / http protocol to each result's url\n * @returns results where partial paths are turned to full urls\n */\n private processSearchResults(results: AlgoliaMultiResults | AlgoliaResults) {\n const multiResults = results as AlgoliaMultiResults;\n const singleResult = results as AlgoliaResults;\n\n if (multiResults.results) {\n multiResults.results.forEach((result, i) => {\n multiResults.results[i] = this.processSearchResults(\n result\n ) as AlgoliaResults;\n });\n return multiResults;\n } else {\n singleResult.hits.map((hit) => {\n if (hit.url && !hit.url.match(/^http/))\n hit.url =\n location.protocol + '//' + this.domainFor(hit.origin) + hit.url;\n });\n return singleResult;\n }\n }\n\n /**\n * Ingests the data blob from myAccount; turns prescient fields to internal state\n */\n private processMyAccData() {\n if (!this.myAccData || !this.myAccData.search.indeces.length) return;\n\n if (this.myAccData.search.api_key)\n this.searchApiKey = this.myAccData.search.api_key;\n if (this.myAccData.search.app_id)\n this.searchAppId = this.myAccData.search.app_id;\n\n if (this.myAccData.cart.count) this.cartCount = this.myAccData.cart.count;\n if (this.myAccData.notifications.count)\n this.msgCount = this.myAccData.notifications.count;\n\n if (!this.searchAppId || !this.searchApiKey) return;\n this.internalSearchIndeces = [\n ...this.myAccData.search.indeces,\n ...this.searchIndeces,\n ];\n\n if (this.myAccData.urls.cart && !this.cartUrl)\n this.cartUrl = this.myAccData.urls.cart;\n if (this.myAccData.urls.messages && !this.msgUrl)\n this.msgUrl = this.myAccData.urls.messages;\n }\n\n /**\n * Ingests the data blob from myAccount links; applies prescient fields to internal state\n */\n private processMyAccLinks() {\n if (!this.myAccData.links || !this.myAccData.links.length) return;\n\n this.myAccData.links.forEach((link) => {\n switch (link.area) {\n case 'left-side-logged-in':\n case 'left-side-logged-out':\n if (\n this.activeMyAccountSections &&\n !this.activeMyAccountSections.includes('sites')\n )\n break;\n if (this.isLoggedIn && link.area === 'left-side-logged-in')\n this.siteNavItms.push(link);\n else if (!this.isLoggedIn && link.area === 'left-side-logged-out')\n this.siteNavItms.push(link);\n break;\n case 'right-side-logged-in':\n case 'right-side-logged-out':\n if (\n this.activeMyAccountSections &&\n !this.activeMyAccountSections.includes('about')\n )\n break;\n if (this.isLoggedIn && link.area === 'right-side-logged-in')\n this.aboutNavItms.push(link);\n else if (!this.isLoggedIn && link.area === 'right-side-logged-out')\n this.aboutNavItms.push(link);\n break;\n case 'profile-panel-list':\n if (\n this.activeMyAccountSections &&\n !this.activeMyAccountSections.includes('loggedin')\n )\n break;\n this.loggedInNavItms.push(link);\n break;\n }\n });\n }\n}\n"],"version":3}