@nanoporetech-digital/components 3.14.0 → 4.1.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 (319) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/dist/cjs/{algolia-data-533e3a95.js → algolia-data-ed53eaa8.js} +2 -2
  3. package/dist/cjs/{algolia-data-533e3a95.js.map → algolia-data-ed53eaa8.js.map} +1 -1
  4. package/dist/cjs/{component-store-5ad4de07.js → component-store-74d25f63.js} +2 -2
  5. package/dist/cjs/{component-store-5ad4de07.js.map → component-store-74d25f63.js.map} +1 -1
  6. package/dist/cjs/{form-control-80c69d1d.js → form-control-2e900f54.js} +2 -2
  7. package/dist/cjs/{form-control-80c69d1d.js.map → form-control-2e900f54.js.map} +1 -1
  8. package/dist/cjs/{index-46286eea.js → index-71f899a7.js} +85 -42
  9. package/dist/cjs/index-71f899a7.js.map +1 -0
  10. package/dist/cjs/{index-b13f69e7.js → index-99649bef.js} +2 -2
  11. package/dist/cjs/{index-b13f69e7.js.map → index-99649bef.js.map} +1 -1
  12. package/dist/cjs/loader.cjs.js +3 -3
  13. package/dist/cjs/loader.cjs.js.map +1 -1
  14. package/dist/cjs/nano-accordion.cjs.entry.js +1 -1
  15. package/dist/cjs/nano-alert.cjs.entry.js +2 -2
  16. package/dist/cjs/nano-algolia-filter.cjs.entry.js +3 -3
  17. package/dist/cjs/nano-algolia-input.cjs.entry.js +3 -3
  18. package/dist/cjs/nano-algolia-pagination.cjs.entry.js +2 -2
  19. package/dist/cjs/nano-algolia-results.cjs.entry.js +2 -2
  20. package/dist/cjs/nano-algolia.cjs.entry.js +3 -3
  21. package/dist/cjs/nano-aspect-ratio.cjs.entry.js +1 -1
  22. package/dist/cjs/nano-checkbox-group.cjs.entry.js +1 -1
  23. package/dist/cjs/nano-checkbox.cjs.entry.js +1 -1
  24. package/dist/cjs/nano-components.cjs.js +3 -3
  25. package/dist/cjs/nano-components.cjs.js.map +1 -1
  26. package/dist/cjs/nano-datalist_3.cjs.entry.js +1 -1
  27. package/dist/cjs/nano-date-input.cjs.entry.js +1 -1
  28. package/dist/cjs/nano-date-picker.cjs.entry.js +1 -1
  29. package/dist/cjs/nano-demo.cjs.entry.js +1 -1
  30. package/dist/cjs/nano-details.cjs.entry.js +2 -2
  31. package/dist/cjs/nano-dialog.cjs.entry.js +3 -3
  32. package/dist/cjs/nano-drawer.cjs.entry.js +2 -2
  33. package/dist/cjs/nano-dropdown.cjs.entry.js +1 -1
  34. package/dist/cjs/nano-field-validator.cjs.entry.js +2 -2
  35. package/dist/cjs/nano-file-upload.cjs.entry.js +1 -1
  36. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js +3 -3
  37. package/dist/cjs/nano-global-nav.cjs.entry.js +31 -34
  38. package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
  39. package/dist/cjs/nano-global-search-results.cjs.entry.js +1 -1
  40. package/dist/cjs/nano-grid_3.cjs.entry.js +2 -2
  41. package/dist/cjs/nano-grid_3.cjs.entry.js.map +1 -1
  42. package/dist/cjs/nano-hero.cjs.entry.js +1 -1
  43. package/dist/cjs/nano-icon-button.cjs.entry.js +1 -1
  44. package/dist/cjs/nano-icon.cjs.entry.js +1 -1
  45. package/dist/cjs/nano-input.cjs.entry.js +2 -2
  46. package/dist/cjs/nano-menu-drawer.cjs.entry.js +1 -1
  47. package/dist/cjs/nano-overflow-nav.cjs.entry.js +282 -0
  48. package/dist/cjs/nano-overflow-nav.cjs.entry.js.map +1 -0
  49. package/dist/cjs/nano-progress-bar_2.cjs.entry.js +1 -1
  50. package/dist/cjs/nano-range.cjs.entry.js +1 -1
  51. package/dist/cjs/nano-rating.cjs.entry.js +1 -1
  52. package/dist/cjs/nano-resize-observe_2.cjs.entry.js +4 -4
  53. package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
  54. package/dist/cjs/nano-slide.cjs.entry.js +1 -1
  55. package/dist/cjs/nano-slides.cjs.entry.js +2 -2
  56. package/dist/cjs/nano-slides.cjs.entry.js.map +1 -1
  57. package/dist/cjs/nano-spinner.cjs.entry.js +1 -1
  58. package/dist/cjs/nano-split-pane.cjs.entry.js +1 -1
  59. package/dist/cjs/nano-sticker.cjs.entry.js +1 -1
  60. package/dist/cjs/nano-tab-content.cjs.entry.js +1 -1
  61. package/dist/cjs/nano-tab-group.cjs.entry.js +4 -4
  62. package/dist/cjs/nano-tab.cjs.entry.js +2 -2
  63. package/dist/cjs/nano-tab.cjs.entry.js.map +1 -1
  64. package/dist/cjs/{nano-table-9044710f.js → nano-table-c5b6630a.js} +4 -4
  65. package/dist/cjs/{nano-table-9044710f.js.map → nano-table-c5b6630a.js.map} +1 -1
  66. package/dist/cjs/nano-table.cjs.entry.js +3 -3
  67. package/dist/cjs/{scroll-a197d9c4.js → scroll-6a9bedb4.js} +15 -8
  68. package/dist/cjs/scroll-6a9bedb4.js.map +1 -0
  69. package/dist/cjs/{table.worker-8ad26746.js → table.worker-0876611d.js} +4 -4
  70. package/dist/cjs/table.worker-0876611d.js.map +1 -0
  71. package/dist/cjs/{transitions-5cd8f697.js → transitions-1205f12b.js} +3 -3
  72. package/dist/cjs/transitions-1205f12b.js.map +1 -0
  73. package/dist/collection/collection-manifest.json +2 -1
  74. package/dist/collection/components/global-nav/global-nav.js +30 -31
  75. package/dist/collection/components/global-nav/global-nav.js.map +1 -1
  76. package/dist/collection/components/global-nav/style/global-nav.css +8 -5
  77. package/dist/collection/components/img/img.css +1 -1
  78. package/dist/collection/components/overflow-nav/overflow-nav.css +223 -0
  79. package/dist/collection/components/overflow-nav/overflow-nav.js +441 -0
  80. package/dist/collection/components/overflow-nav/overflow-nav.js.map +1 -0
  81. package/dist/collection/components/resize-observe/resize-observe.js +5 -5
  82. package/dist/collection/components/resize-observe/resize-observe.js.map +1 -1
  83. package/dist/collection/components/skeleton/skeleton.css +2 -2
  84. package/dist/collection/components/slides/slides.js +1 -1
  85. package/dist/collection/components/slides/slides.js.map +1 -1
  86. package/dist/collection/components/tabs/tab.css +1 -1
  87. package/dist/collection/utils/scroll.js +14 -7
  88. package/dist/collection/utils/scroll.js.map +1 -1
  89. package/dist/collection/utils/transitions.js +2 -2
  90. package/dist/collection/utils/transitions.js.map +1 -1
  91. package/dist/components/img.js +1 -1
  92. package/dist/components/img.js.map +1 -1
  93. package/dist/components/index.d.ts +1 -0
  94. package/dist/components/index.js +1 -0
  95. package/dist/components/index.js.map +1 -1
  96. package/dist/components/nano-global-nav.js +29 -32
  97. package/dist/components/nano-global-nav.js.map +1 -1
  98. package/dist/components/nano-overflow-nav.d.ts +11 -0
  99. package/dist/components/nano-overflow-nav.js +317 -0
  100. package/dist/components/nano-overflow-nav.js.map +1 -0
  101. package/dist/components/nano-slides.js +1 -1
  102. package/dist/components/nano-slides.js.map +1 -1
  103. package/dist/components/nano-tab.js +1 -1
  104. package/dist/components/nano-tab.js.map +1 -1
  105. package/dist/components/resize-observe.js +3 -3
  106. package/dist/components/resize-observe.js.map +1 -1
  107. package/dist/components/scroll.js +14 -7
  108. package/dist/components/scroll.js.map +1 -1
  109. package/dist/components/skeleton.js.map +1 -1
  110. package/dist/components/transitions.js +2 -2
  111. package/dist/components/transitions.js.map +1 -1
  112. package/dist/esm/{algolia-data-e5e86f12.js → algolia-data-ef2829e0.js} +2 -2
  113. package/dist/esm/{algolia-data-e5e86f12.js.map → algolia-data-ef2829e0.js.map} +1 -1
  114. package/dist/esm/{component-store-2044c2c2.js → component-store-244a8431.js} +2 -2
  115. package/dist/esm/{component-store-2044c2c2.js.map → component-store-244a8431.js.map} +1 -1
  116. package/dist/esm/{form-control-4f3a88a1.js → form-control-269ba84f.js} +2 -2
  117. package/dist/esm/{form-control-4f3a88a1.js.map → form-control-269ba84f.js.map} +1 -1
  118. package/dist/esm/{index-728dda31.js → index-5d0f4704.js} +2 -2
  119. package/dist/esm/{index-728dda31.js.map → index-5d0f4704.js.map} +1 -1
  120. package/dist/esm/{index-52b0408e.js → index-dad5627b.js} +85 -42
  121. package/dist/esm/index-dad5627b.js.map +1 -0
  122. package/dist/esm/loader.js +4 -4
  123. package/dist/esm/loader.js.map +1 -1
  124. package/dist/esm/nano-accordion.entry.js +1 -1
  125. package/dist/esm/nano-alert.entry.js +2 -2
  126. package/dist/esm/nano-algolia-filter.entry.js +3 -3
  127. package/dist/esm/nano-algolia-input.entry.js +3 -3
  128. package/dist/esm/nano-algolia-pagination.entry.js +2 -2
  129. package/dist/esm/nano-algolia-results.entry.js +2 -2
  130. package/dist/esm/nano-algolia.entry.js +3 -3
  131. package/dist/esm/nano-aspect-ratio.entry.js +1 -1
  132. package/dist/esm/nano-checkbox-group.entry.js +1 -1
  133. package/dist/esm/nano-checkbox.entry.js +1 -1
  134. package/dist/esm/nano-components.js +4 -4
  135. package/dist/esm/nano-components.js.map +1 -1
  136. package/dist/esm/nano-datalist_3.entry.js +1 -1
  137. package/dist/esm/nano-date-input.entry.js +1 -1
  138. package/dist/esm/nano-date-picker.entry.js +1 -1
  139. package/dist/esm/nano-demo.entry.js +1 -1
  140. package/dist/esm/nano-details.entry.js +2 -2
  141. package/dist/esm/nano-dialog.entry.js +3 -3
  142. package/dist/esm/nano-drawer.entry.js +2 -2
  143. package/dist/esm/nano-dropdown.entry.js +1 -1
  144. package/dist/esm/nano-field-validator.entry.js +2 -2
  145. package/dist/esm/nano-file-upload.entry.js +1 -1
  146. package/dist/esm/nano-global-nav-user-profile_3.entry.js +3 -3
  147. package/dist/esm/nano-global-nav.entry.js +31 -34
  148. package/dist/esm/nano-global-nav.entry.js.map +1 -1
  149. package/dist/esm/nano-global-search-results.entry.js +1 -1
  150. package/dist/esm/nano-grid_3.entry.js +2 -2
  151. package/dist/esm/nano-grid_3.entry.js.map +1 -1
  152. package/dist/esm/nano-hero.entry.js +1 -1
  153. package/dist/esm/nano-icon-button.entry.js +1 -1
  154. package/dist/esm/nano-icon.entry.js +1 -1
  155. package/dist/esm/nano-input.entry.js +2 -2
  156. package/dist/esm/nano-menu-drawer.entry.js +1 -1
  157. package/dist/esm/nano-overflow-nav.entry.js +278 -0
  158. package/dist/esm/nano-overflow-nav.entry.js.map +1 -0
  159. package/dist/esm/nano-progress-bar_2.entry.js +1 -1
  160. package/dist/esm/nano-range.entry.js +1 -1
  161. package/dist/esm/nano-rating.entry.js +1 -1
  162. package/dist/esm/nano-resize-observe_2.entry.js +4 -4
  163. package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
  164. package/dist/esm/nano-slide.entry.js +1 -1
  165. package/dist/esm/nano-slides.entry.js +2 -2
  166. package/dist/esm/nano-slides.entry.js.map +1 -1
  167. package/dist/esm/nano-spinner.entry.js +1 -1
  168. package/dist/esm/nano-split-pane.entry.js +1 -1
  169. package/dist/esm/nano-sticker.entry.js +1 -1
  170. package/dist/esm/nano-tab-content.entry.js +1 -1
  171. package/dist/esm/nano-tab-group.entry.js +4 -4
  172. package/dist/esm/nano-tab.entry.js +2 -2
  173. package/dist/esm/nano-tab.entry.js.map +1 -1
  174. package/dist/esm/{nano-table-c46586f1.js → nano-table-ff985e63.js} +4 -4
  175. package/dist/esm/{nano-table-c46586f1.js.map → nano-table-ff985e63.js.map} +1 -1
  176. package/dist/esm/nano-table.entry.js +3 -3
  177. package/dist/esm/{scroll-e5825d8d.js → scroll-952d292a.js} +15 -8
  178. package/dist/esm/scroll-952d292a.js.map +1 -0
  179. package/dist/esm/{table.worker-72318b56.js → table.worker-906bc297.js} +4 -4
  180. package/dist/esm/table.worker-906bc297.js.map +1 -0
  181. package/dist/esm/{transitions-71cca3ed.js → transitions-686c5fec.js} +3 -3
  182. package/dist/esm/transitions-686c5fec.js.map +1 -0
  183. package/dist/nano-components/nano-components.css +1 -1
  184. package/dist/nano-components/nano-components.esm.js +1 -1
  185. package/dist/nano-components/nano-components.esm.js.map +1 -1
  186. package/dist/nano-components/{p-f25d2e90.entry.js → p-053eb1df.entry.js} +2 -2
  187. package/dist/nano-components/{p-ad3ddbc8.entry.js → p-068bdd89.entry.js} +2 -2
  188. package/dist/nano-components/{p-fa676bc6.entry.js → p-0c077605.entry.js} +2 -2
  189. package/dist/nano-components/{p-e4505f00.entry.js → p-0d1ca590.entry.js} +2 -2
  190. package/dist/nano-components/{p-ece694af.entry.js → p-104b7e3a.entry.js} +2 -2
  191. package/dist/nano-components/{p-75df97c2.entry.js → p-107d4549.entry.js} +2 -2
  192. package/dist/nano-components/{p-4c5e0c9e.js → p-13dd65c9.js} +2 -2
  193. package/dist/nano-components/p-15217442.entry.js +5 -0
  194. package/dist/nano-components/p-15217442.entry.js.map +1 -0
  195. package/dist/nano-components/{p-1aff5304.entry.js → p-173cc842.entry.js} +2 -2
  196. package/dist/nano-components/{p-93bece01.entry.js → p-1c6c94cb.entry.js} +2 -2
  197. package/dist/nano-components/{p-a9beb006.entry.js → p-207a1fbc.entry.js} +2 -2
  198. package/dist/nano-components/{p-d32dafd9.entry.js → p-239d343a.entry.js} +2 -2
  199. package/dist/nano-components/{p-d32dafd9.entry.js.map → p-239d343a.entry.js.map} +1 -1
  200. package/dist/nano-components/{p-dab8526f.entry.js → p-288dbe6b.entry.js} +2 -2
  201. package/dist/nano-components/{p-7b21ec0b.entry.js → p-30d55046.entry.js} +2 -2
  202. package/dist/nano-components/p-4b136a65.js +5 -0
  203. package/dist/nano-components/{p-378fe272.entry.js → p-57085052.entry.js} +2 -2
  204. package/dist/nano-components/{p-8f888280.entry.js → p-578f5e8d.entry.js} +2 -2
  205. package/dist/nano-components/{p-17eebe94.entry.js → p-583d8d70.entry.js} +2 -2
  206. package/dist/nano-components/{p-6bb4545b.entry.js → p-5984ae16.entry.js} +2 -2
  207. package/dist/nano-components/{p-76d8a8a8.js → p-5ac74848.js} +2 -2
  208. package/dist/nano-components/{p-ebb61a70.entry.js → p-5d466a58.entry.js} +2 -2
  209. package/dist/nano-components/p-60a8c896.js +5 -0
  210. package/dist/nano-components/{p-e113074e.entry.js → p-68928c59.entry.js} +2 -2
  211. package/dist/nano-components/{p-3667832c.entry.js → p-7304107c.entry.js} +2 -2
  212. package/dist/nano-components/{p-16e45583.entry.js → p-76a650b1.entry.js} +2 -2
  213. package/dist/nano-components/{p-09751447.entry.js → p-7d6065c6.entry.js} +2 -2
  214. package/dist/nano-components/{p-07b6af21.entry.js → p-935aef3d.entry.js} +2 -2
  215. package/dist/nano-components/{p-8065d85b.entry.js → p-93cfbdb6.entry.js} +2 -2
  216. package/dist/nano-components/p-9dfe2c55.entry.js +5 -0
  217. package/dist/nano-components/{p-f486c940.entry.js.map → p-9dfe2c55.entry.js.map} +1 -1
  218. package/dist/nano-components/{p-b65e0e63.js → p-9ebbb814.js} +2 -2
  219. package/dist/nano-components/{p-a26a7de3.entry.js → p-a1c0afb6.entry.js} +2 -2
  220. package/dist/nano-components/{p-76ab079e.entry.js → p-a5a560e7.entry.js} +2 -2
  221. package/dist/nano-components/{p-9d1432be.js → p-a6ff5ca6.js} +2 -2
  222. package/dist/nano-components/{p-4bbb04d3.entry.js → p-a761ac89.entry.js} +2 -2
  223. package/dist/nano-components/{p-4bbb04d3.entry.js.map → p-a761ac89.entry.js.map} +1 -1
  224. package/dist/nano-components/{p-62e3646b.entry.js → p-ac0ac58f.entry.js} +2 -2
  225. package/dist/nano-components/{p-63f1e229.entry.js → p-b6306aff.entry.js} +2 -2
  226. package/dist/nano-components/p-c38a246f.entry.js +5 -0
  227. package/dist/nano-components/{p-3e7153c8.entry.js → p-cba50c3e.entry.js} +2 -2
  228. package/dist/nano-components/{p-ce07df57.entry.js → p-cd2f5e97.entry.js} +2 -2
  229. package/dist/nano-components/p-d0e15e46.entry.js +5 -0
  230. package/dist/nano-components/p-d0e15e46.entry.js.map +1 -0
  231. package/dist/nano-components/{p-dc88e52b.entry.js → p-d792f692.entry.js} +2 -2
  232. package/dist/nano-components/p-d7c34990.js +5 -0
  233. package/dist/nano-components/{p-45b7682a.js.map → p-d7c34990.js.map} +1 -1
  234. package/dist/nano-components/{p-4f17deb9.entry.js → p-db370094.entry.js} +3 -3
  235. package/dist/nano-components/{p-4f17deb9.entry.js.map → p-db370094.entry.js.map} +1 -1
  236. package/dist/nano-components/{p-47866646.entry.js → p-e41baa11.entry.js} +2 -2
  237. package/dist/nano-components/{p-9be2cba5.entry.js → p-e43f76c8.entry.js} +2 -2
  238. package/dist/nano-components/{p-7f545755.entry.js → p-eab09335.entry.js} +2 -2
  239. package/dist/nano-components/p-f2d89239.entry.js +5 -0
  240. package/dist/nano-components/p-f2d89239.entry.js.map +1 -0
  241. package/dist/nano-components/p-f6a8467a.js +6 -0
  242. package/dist/nano-components/p-f6a8467a.js.map +1 -0
  243. package/dist/nano-components/p-f6de2d5d.js +5 -0
  244. package/dist/nano-components/p-f6de2d5d.js.map +1 -0
  245. package/dist/nano-components/{p-a20d2028.entry.js → p-f93bd976.entry.js} +2 -2
  246. package/dist/nano-components/{p-36a2f1c0.entry.js → p-fe7a0158.entry.js} +2 -2
  247. package/dist/nano-components/{p-6a5ae656.entry.js → p-fecb72b9.entry.js} +2 -2
  248. package/dist/types/components/global-nav/global-nav.d.ts +1 -1
  249. package/dist/types/components/overflow-nav/overflow-nav.d.ts +78 -0
  250. package/dist/types/components/resize-observe/resize-observe.d.ts +4 -2
  251. package/dist/types/components.d.ts +90 -1
  252. package/dist/types/utils/transitions.d.ts +1 -1
  253. package/docs-json.json +282 -6
  254. package/docs-vscode.json +26 -1
  255. package/hydrate/index.js +389 -67
  256. package/package.json +3 -3
  257. package/dist/cjs/index-46286eea.js.map +0 -1
  258. package/dist/cjs/scroll-a197d9c4.js.map +0 -1
  259. package/dist/cjs/table.worker-8ad26746.js.map +0 -1
  260. package/dist/cjs/transitions-5cd8f697.js.map +0 -1
  261. package/dist/esm/index-52b0408e.js.map +0 -1
  262. package/dist/esm/scroll-e5825d8d.js.map +0 -1
  263. package/dist/esm/table.worker-72318b56.js.map +0 -1
  264. package/dist/esm/transitions-71cca3ed.js.map +0 -1
  265. package/dist/nano-components/p-167b9165.js +0 -5
  266. package/dist/nano-components/p-167b9165.js.map +0 -1
  267. package/dist/nano-components/p-45b7682a.js +0 -5
  268. package/dist/nano-components/p-6ef53fa1.js +0 -6
  269. package/dist/nano-components/p-6ef53fa1.js.map +0 -1
  270. package/dist/nano-components/p-7733f1f8.entry.js +0 -5
  271. package/dist/nano-components/p-7733f1f8.entry.js.map +0 -1
  272. package/dist/nano-components/p-8332890e.js +0 -5
  273. package/dist/nano-components/p-8c04640c.entry.js +0 -5
  274. package/dist/nano-components/p-d518b939.js +0 -5
  275. package/dist/nano-components/p-e44332c2.entry.js +0 -5
  276. package/dist/nano-components/p-e44332c2.entry.js.map +0 -1
  277. package/dist/nano-components/p-f486c940.entry.js +0 -5
  278. /package/dist/nano-components/{p-f25d2e90.entry.js.map → p-053eb1df.entry.js.map} +0 -0
  279. /package/dist/nano-components/{p-ad3ddbc8.entry.js.map → p-068bdd89.entry.js.map} +0 -0
  280. /package/dist/nano-components/{p-fa676bc6.entry.js.map → p-0c077605.entry.js.map} +0 -0
  281. /package/dist/nano-components/{p-e4505f00.entry.js.map → p-0d1ca590.entry.js.map} +0 -0
  282. /package/dist/nano-components/{p-ece694af.entry.js.map → p-104b7e3a.entry.js.map} +0 -0
  283. /package/dist/nano-components/{p-75df97c2.entry.js.map → p-107d4549.entry.js.map} +0 -0
  284. /package/dist/nano-components/{p-4c5e0c9e.js.map → p-13dd65c9.js.map} +0 -0
  285. /package/dist/nano-components/{p-1aff5304.entry.js.map → p-173cc842.entry.js.map} +0 -0
  286. /package/dist/nano-components/{p-93bece01.entry.js.map → p-1c6c94cb.entry.js.map} +0 -0
  287. /package/dist/nano-components/{p-a9beb006.entry.js.map → p-207a1fbc.entry.js.map} +0 -0
  288. /package/dist/nano-components/{p-dab8526f.entry.js.map → p-288dbe6b.entry.js.map} +0 -0
  289. /package/dist/nano-components/{p-7b21ec0b.entry.js.map → p-30d55046.entry.js.map} +0 -0
  290. /package/dist/nano-components/{p-8332890e.js.map → p-4b136a65.js.map} +0 -0
  291. /package/dist/nano-components/{p-378fe272.entry.js.map → p-57085052.entry.js.map} +0 -0
  292. /package/dist/nano-components/{p-8f888280.entry.js.map → p-578f5e8d.entry.js.map} +0 -0
  293. /package/dist/nano-components/{p-17eebe94.entry.js.map → p-583d8d70.entry.js.map} +0 -0
  294. /package/dist/nano-components/{p-6bb4545b.entry.js.map → p-5984ae16.entry.js.map} +0 -0
  295. /package/dist/nano-components/{p-76d8a8a8.js.map → p-5ac74848.js.map} +0 -0
  296. /package/dist/nano-components/{p-ebb61a70.entry.js.map → p-5d466a58.entry.js.map} +0 -0
  297. /package/dist/nano-components/{p-d518b939.js.map → p-60a8c896.js.map} +0 -0
  298. /package/dist/nano-components/{p-e113074e.entry.js.map → p-68928c59.entry.js.map} +0 -0
  299. /package/dist/nano-components/{p-3667832c.entry.js.map → p-7304107c.entry.js.map} +0 -0
  300. /package/dist/nano-components/{p-16e45583.entry.js.map → p-76a650b1.entry.js.map} +0 -0
  301. /package/dist/nano-components/{p-09751447.entry.js.map → p-7d6065c6.entry.js.map} +0 -0
  302. /package/dist/nano-components/{p-07b6af21.entry.js.map → p-935aef3d.entry.js.map} +0 -0
  303. /package/dist/nano-components/{p-8065d85b.entry.js.map → p-93cfbdb6.entry.js.map} +0 -0
  304. /package/dist/nano-components/{p-b65e0e63.js.map → p-9ebbb814.js.map} +0 -0
  305. /package/dist/nano-components/{p-a26a7de3.entry.js.map → p-a1c0afb6.entry.js.map} +0 -0
  306. /package/dist/nano-components/{p-76ab079e.entry.js.map → p-a5a560e7.entry.js.map} +0 -0
  307. /package/dist/nano-components/{p-9d1432be.js.map → p-a6ff5ca6.js.map} +0 -0
  308. /package/dist/nano-components/{p-62e3646b.entry.js.map → p-ac0ac58f.entry.js.map} +0 -0
  309. /package/dist/nano-components/{p-63f1e229.entry.js.map → p-b6306aff.entry.js.map} +0 -0
  310. /package/dist/nano-components/{p-8c04640c.entry.js.map → p-c38a246f.entry.js.map} +0 -0
  311. /package/dist/nano-components/{p-3e7153c8.entry.js.map → p-cba50c3e.entry.js.map} +0 -0
  312. /package/dist/nano-components/{p-ce07df57.entry.js.map → p-cd2f5e97.entry.js.map} +0 -0
  313. /package/dist/nano-components/{p-dc88e52b.entry.js.map → p-d792f692.entry.js.map} +0 -0
  314. /package/dist/nano-components/{p-47866646.entry.js.map → p-e41baa11.entry.js.map} +0 -0
  315. /package/dist/nano-components/{p-9be2cba5.entry.js.map → p-e43f76c8.entry.js.map} +0 -0
  316. /package/dist/nano-components/{p-7f545755.entry.js.map → p-eab09335.entry.js.map} +0 -0
  317. /package/dist/nano-components/{p-a20d2028.entry.js.map → p-f93bd976.entry.js.map} +0 -0
  318. /package/dist/nano-components/{p-36a2f1c0.entry.js.map → p-fe7a0158.entry.js.map} +0 -0
  319. /package/dist/nano-components/{p-6a5ae656.entry.js.map → p-fecb72b9.entry.js.map} +0 -0
@@ -232,9 +232,9 @@
232
232
  }
233
233
  .main-bar .nav-links--main {
234
234
  justify-content: flex-start;
235
- letter-spacing: 0.5px;
236
- font-weight: 500;
237
- font-stretch: expanded;
235
+ letter-spacing: 1.5px;
236
+ font-weight: 600;
237
+ font-stretch: condensed;
238
238
  text-transform: uppercase;
239
239
  font-size: 1.065em;
240
240
  -webkit-margin-end: auto;
@@ -272,8 +272,9 @@
272
272
  .sticker-trigger {
273
273
  background: var(--bar-background);
274
274
  width: 100%;
275
- z-index: calc(var(--nano-layer-index-menubar, 10) + 1);
276
275
  height: 1px;
276
+ z-index: 20;
277
+ position: relative;
277
278
  }
278
279
  .sticker-trigger + .sticker-trigger {
279
280
  display: none;
@@ -661,7 +662,9 @@ nano-select.search-input {
661
662
  --nano-input-border-color: rgb(103 138 154);
662
663
  --padding-end: var(--bar-item-spacing);
663
664
  --nano-input-border-color--focus: black;
664
- font-stretch: expanded;
665
+ font-stretch: condensed;
666
+ font-weight: 600;
667
+ letter-spacing: 1.5px;
665
668
  font-size: 1.2em;
666
669
  flex: 0 1 auto;
667
670
  width: auto;
@@ -77,7 +77,7 @@
77
77
  .img__image.loaded,
78
78
  .img__bg.loaded {
79
79
  opacity: 1;
80
- filter: blur(0.1px);
80
+ filter: blur(0);
81
81
  }
82
82
  @media not all and (min-resolution: 0.001dpcm) {
83
83
  @supports (-webkit-appearance: none) {
@@ -0,0 +1,223 @@
1
+ :host {
2
+ box-sizing: border-box;
3
+ }
4
+
5
+ *,
6
+ *::before,
7
+ *::after {
8
+ box-sizing: border-box;
9
+ }
10
+ [hidden] {
11
+ display: none !important;
12
+ }
13
+ :host {
14
+ /**
15
+ * @prop --indicator-transition. Defaults to var(--nano-transition-fast, 0.3s)
16
+ * @prop --indicator-color. Defaults to #90c6e7;
17
+ * @prop --indicator-size. Defaults to 0;
18
+ * @prop --indicator-track-color. Defaults to #e4e6e8;
19
+ * @prop --indicator-track-size. Defaults to var(--indicator-size);
20
+
21
+ * @prop --scroll-btn-color. Defaults to 'currentColor';
22
+ * @prop --fade-size. The size of the fade areas (when items do not fit). Defaults to 1.75rem;
23
+ * @prop --fade-transparency. Defaults to 0;
24
+ *
25
+ * @prop --padding. Padding that matches the fade size will stop items shifting if fade areas are added (i.e when items do not fit). Defaults to var(--fade-size);
26
+ */
27
+ --indicator-transition: var(--nano-transition-fast, 0.3s);
28
+ --indicator-color: #90c6e7;
29
+ --indicator-size: 0;
30
+ --indicator-track-color: #e4e6e8;
31
+ --indicator-track-size: var(--indicator-size);
32
+ --scroll-btn-color: "currentColor";
33
+ --fade-size: 1.75rem;
34
+ --fade-transparency: 0;
35
+ --padding: var(--fade-size);
36
+ position: relative;
37
+ z-index: var(--nano-layer-index-raised, 5);
38
+ }
39
+
40
+ :host([orientation=horizontal]) {
41
+ display: block;
42
+ }
43
+
44
+ :host([orientation=vertical]) {
45
+ display: flex;
46
+ }
47
+
48
+ .onav__scroller {
49
+ scrollbar-width: none;
50
+ -ms-overflow-style: none;
51
+ display: flex;
52
+ transition: var(--nano-transition-medium, 0.5s) ease;
53
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=");
54
+ -webkit-mask-size: calc(100% + var(--fade-size) * 4);
55
+ mask-size: calc(100% + var(--fade-size) * 4);
56
+ -webkit-mask-position: calc(var(--fade-size) * -2);
57
+ mask-position: calc(var(--fade-size) * -2);
58
+ }
59
+ .onav__scroller::-webkit-scrollbar {
60
+ inline-size: 0;
61
+ block-size: 0;
62
+ }
63
+ .onav__scroller::after {
64
+ content: " ";
65
+ line-height: 1;
66
+ flex: 0 0 auto;
67
+ display: block;
68
+ }
69
+ .onav--has-scroll-controls-start .onav__scroller {
70
+ -webkit-mask-position: 0;
71
+ mask-position: 0;
72
+ -webkit-mask-size: calc(100% + var(--fade-size) * 2);
73
+ mask-size: calc(100% + var(--fade-size) * 2);
74
+ }
75
+ .onav--has-scroll-controls-end .onav__scroller {
76
+ -webkit-mask-position: calc(var(--fade-size) * -1);
77
+ mask-position: calc(var(--fade-size) * -1);
78
+ -webkit-mask-size: calc(100% + var(--fade-size));
79
+ mask-size: calc(100% + var(--fade-size));
80
+ }
81
+ .onav--has-scroll-controls-start.onav--has-scroll-controls-end .onav__scroller {
82
+ -webkit-mask-size: 100%;
83
+ mask-size: 100%;
84
+ -webkit-mask-position: 0;
85
+ mask-position: 0;
86
+ }
87
+ .onav__items {
88
+ flex: 1 1 auto;
89
+ position: relative;
90
+ width: auto;
91
+ flex-wrap: nowrap;
92
+ display: flex;
93
+ }
94
+ .onav__items::before {
95
+ content: "";
96
+ background: var(--indicator-track-color);
97
+ display: block;
98
+ position: absolute;
99
+ z-index: 1;
100
+ }
101
+ .onav__active-indicator {
102
+ position: absolute;
103
+ z-index: 10;
104
+ transition: var(--indicator-transition) transform ease, var(--indicator-transition) width ease, var(--indicator-transition) height ease;
105
+ }
106
+ .onav nano-icon-button.onav__scroll-button {
107
+ --nano-color-base: var(--scroll-btn-color);
108
+ display: flex;
109
+ align-items: center;
110
+ justify-content: center;
111
+ position: absolute;
112
+ border: unset;
113
+ z-index: 2;
114
+ transition: var(--nano-transition-fast, 0.3s) ease opacity;
115
+ opacity: 0;
116
+ color: var(--scroll-btn-color);
117
+ pointer-events: none;
118
+ }
119
+ .onav nano-icon-button.onav__scroll-button:focus {
120
+ outline: none;
121
+ }
122
+ .onav nano-icon-button.onav__scroll-button.is-shown {
123
+ opacity: 1;
124
+ pointer-events: all;
125
+ }
126
+ .onav nano-icon-button.onav__scroll-button:focus-visible {
127
+ box-shadow: var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8))) inset;
128
+ }
129
+ .onav--horizontal .onav__scroller {
130
+ overflow-x: auto;
131
+ overflow-y: hidden;
132
+ -webkit-mask-repeat: no-repeat;
133
+ mask-repeat: no-repeat;
134
+ padding-inline: var(--padding);
135
+ -webkit-mask-image: linear-gradient(to left, rgb(0 0 0/var(--fade-transparency)) 0, rgb(0 0 0/var(--fade-transparency)) var(--fade-size), black calc(var(--fade-size) * 2), black calc(100% - var(--fade-size) * 2), rgb(0 0 0/var(--fade-transparency)) calc(100% - var(--fade-size)), rgb(0 0 0/var(--fade-transparency)));
136
+ mask-image: linear-gradient(to left, rgb(0 0 0/var(--fade-transparency)) 0, rgb(0 0 0/var(--fade-transparency)) var(--fade-size), black calc(var(--fade-size) * 2), black calc(100% - var(--fade-size) * 2), rgb(0 0 0/var(--fade-transparency)) calc(100% - var(--fade-size)), rgb(0 0 0/var(--fade-transparency)));
137
+ }
138
+ .onav--horizontal .onav__scroller::after {
139
+ padding-inline: 0 var(--fade-size);
140
+ padding-block: 0 0;
141
+ }
142
+ .onav--horizontal.onav--has-scroll-controls .onav__scroller {
143
+ padding-inline: var(--fade-size) 0;
144
+ -webkit-padding-before: 0;
145
+ padding-block-start: 0;
146
+ -webkit-padding-after: 0;
147
+ padding-block-end: 0;
148
+ }
149
+ .onav--horizontal .onav__items {
150
+ flex-direction: row;
151
+ }
152
+ .onav--horizontal .onav__items::before {
153
+ content: "";
154
+ width: 100%;
155
+ height: var(--indicator-track-size);
156
+ inset-block-end: 0;
157
+ }
158
+ .onav--horizontal .onav__active-indicator {
159
+ inset-block-end: 0;
160
+ -webkit-border-after: solid var(--indicator-size) var(--indicator-color);
161
+ border-block-end: solid var(--indicator-size) var(--indicator-color);
162
+ }
163
+ .onav--horizontal .onav__scroll-button {
164
+ inset-block: 0;
165
+ }
166
+ .onav--horizontal .onav__scroll-button--start {
167
+ inset-inline-start: 0;
168
+ }
169
+ .onav--horizontal .onav__scroll-button--end {
170
+ inset-inline-end: 0;
171
+ }
172
+ .onav--vertical {
173
+ width: 100%;
174
+ }
175
+ .onav--vertical .onav__nav {
176
+ max-height: 100%;
177
+ display: flex;
178
+ }
179
+ .onav--vertical .onav__scroller {
180
+ width: 100%;
181
+ overflow-y: auto;
182
+ overflow-x: hidden;
183
+ flex-direction: column;
184
+ -webkit-mask-repeat: no-repeat;
185
+ mask-repeat: no-repeat;
186
+ padding-block: var(--padding);
187
+ -webkit-mask-image: linear-gradient(to top, rgb(0 0 0/var(--fade-transparency)) 0, rgb(0 0 0/var(--fade-transparency)) var(--fade-size), black calc(var(--fade-size) * 2), black calc(100% - var(--fade-size) * 2), rgb(0 0 0/var(--fade-transparency)) calc(100% - var(--fade-size)), rgb(0 0 0/var(--fade-transparency)));
188
+ mask-image: linear-gradient(to top, rgb(0 0 0/var(--fade-transparency)) 0, rgb(0 0 0/var(--fade-transparency)) var(--fade-size), black calc(var(--fade-size) * 2), black calc(100% - var(--fade-size) * 2), rgb(0 0 0/var(--fade-transparency)) calc(100% - var(--fade-size)), rgb(0 0 0/var(--fade-transparency)));
189
+ padding-inline: 0 0;
190
+ -webkit-padding-before: calc(var(--fade-size) + 12px);
191
+ padding-block-start: calc(var(--fade-size) + 12px);
192
+ -webkit-padding-after: var(--fade-size);
193
+ padding-block-end: var(--fade-size);
194
+ }
195
+ .onav--vertical .onav__scroller::after {
196
+ padding-inline: 0 0;
197
+ padding-block: 0 var(--fade-size);
198
+ }
199
+ .onav--vertical .onav__items {
200
+ flex-direction: column;
201
+ width: -moz-fit-content;
202
+ width: fit-content;
203
+ }
204
+ .onav--vertical .onav__items::before {
205
+ content: "";
206
+ height: 100%;
207
+ width: var(--indicator-track-size);
208
+ inset-inline-start: 0;
209
+ }
210
+ .onav--vertical .onav__active-indicator {
211
+ inset-inline-start: 0;
212
+ -webkit-border-start: solid var(--indicator-size) var(--indicator-color);
213
+ border-inline-start: solid var(--indicator-size) var(--indicator-color);
214
+ }
215
+ .onav--vertical .onav__scroll-button {
216
+ inset-inline: 0;
217
+ }
218
+ .onav--vertical .onav__scroll-button--start {
219
+ inset-block-start: 0;
220
+ }
221
+ .onav--vertical .onav__scroll-button--end {
222
+ inset-block-end: 0;
223
+ }
@@ -0,0 +1,441 @@
1
+ /*!
2
+ * Web Components for Nanopore digital Web Apps
3
+ */
4
+ import { Host, h, } from '@stencil/core';
5
+ import { getDirectChildren, getOffset } from '../../utils/dom';
6
+ import { debounce } from '../../utils/throttle';
7
+ /**
8
+ * Primarily used to display navigational items that may not fit on smaller screens.
9
+ *
10
+ * - Accepts any collection of elements
11
+ * - Gives visual cues of 'more' with auto display fade effect and scroll buttons
12
+ * - Auto scrolls to the active item onload
13
+ *
14
+ * @slot - Default slot to place items.
15
+ *
16
+ * @part base - root, wrapper element
17
+ * @part scroller - the scrolling element
18
+ * @part items - the item wrapper element
19
+ * @part indicator - the animated, indicator element
20
+ * @part scroll-button - The buttons shown at either side of the scrolling area
21
+ * @part scroll-button-prev - The button shown at the start of the scrolling area
22
+ * @part scroll-button-next - The button shown at the end of the scrolling area
23
+ */
24
+ export class OverflowNav {
25
+ // private state
26
+ constructor() {
27
+ this.updateScrollControls = () => {
28
+ this.hasScrollControls =
29
+ this.nav[this.scrollProp] > this.nav[this.clientDimProp] &&
30
+ this.nav[this.scrollProp] > this.itemContainer[this.clientDimProp];
31
+ this.handleScroll();
32
+ };
33
+ this.handleScroll = () => {
34
+ if (!this.hasScrollControls) {
35
+ this.hideControlStart = this.hideControlEnd = true;
36
+ return;
37
+ }
38
+ const finishEnd = this.isRtl
39
+ ? this.nav[this.scrollOffset] === 0
40
+ : Math.abs(this.nav[this.clientDimProp] -
41
+ (this.nav[this.scrollProp] - this.nav[this.scrollOffset])) < 2;
42
+ const finishStart = this.isRtl
43
+ ? Math.abs(this.nav[this.scrollProp] +
44
+ this.nav[this.scrollOffset] -
45
+ this.nav[this.clientDimProp]) < 2
46
+ : this.nav[this.scrollOffset] === 0;
47
+ if (finishStart) {
48
+ this.hideControlStart = true;
49
+ this.hideControlEnd = false;
50
+ }
51
+ else if (finishEnd) {
52
+ this.hideControlStart = false;
53
+ this.hideControlEnd = true;
54
+ }
55
+ else {
56
+ this.hideControlEnd = false;
57
+ this.hideControlStart = false;
58
+ }
59
+ };
60
+ this.handleBtnClick = (goEnd = false) => {
61
+ const navDim = this.navDim;
62
+ let scrollAmt;
63
+ if (goEnd)
64
+ scrollAmt = this.nav[this.scrollOffset] + navDim - 20;
65
+ else
66
+ scrollAmt = this.nav[this.scrollOffset] - navDim + 20;
67
+ try {
68
+ this.nav.scroll({
69
+ left: this.orientation === 'horizontal' ? scrollAmt : 0,
70
+ top: this.orientation === 'vertical' ? scrollAmt : 0,
71
+ behavior: 'smooth',
72
+ });
73
+ }
74
+ catch (e) {
75
+ this.nav[this.scrollOffset] = scrollAmt;
76
+ }
77
+ };
78
+ this.slotChangeHandler = () => {
79
+ if (this.allActiveItems.length < 2)
80
+ return;
81
+ const item = this.allActiveItems.find((el) => this.isActiveHandler(el));
82
+ if (item)
83
+ this.activeItem = item;
84
+ this.recalculatePositions();
85
+ };
86
+ this.handleClick = (event) => {
87
+ if (this.allActiveItems.length < 2)
88
+ return;
89
+ const foundItem = event
90
+ .composedPath()
91
+ .find((e) => this.allActiveItems.includes(e));
92
+ if (foundItem)
93
+ this.activeItem = foundItem;
94
+ };
95
+ this.handleKeyDown = (event) => {
96
+ // Activate a tab
97
+ if (['Enter', ' '].includes(event.key)) {
98
+ const foundItem = event
99
+ .composedPath()
100
+ .find((e) => this.allActiveItems.includes(e));
101
+ if (foundItem)
102
+ this.activeItem = foundItem;
103
+ }
104
+ };
105
+ this.recalculatePositions = (init) => {
106
+ this.updateScrollControls();
107
+ this.syncActiveItemIndicator(init);
108
+ setTimeout(() => this.scrollToActiveItem(init), 300);
109
+ };
110
+ this.scrollControls = true;
111
+ this.orientation = 'horizontal';
112
+ this.activeHandler = (item) => item.classList.add('active');
113
+ this.inActiveHandler = (item) => item.classList.remove('active');
114
+ this.isActiveHandler = (item) => item.classList.contains('active');
115
+ this.hasScrollControls = false;
116
+ this.hideControlEnd = true;
117
+ this.hideControlStart = true;
118
+ this.recalculatePositions = debounce(this.recalculatePositions, 50);
119
+ }
120
+ get scrollProp() {
121
+ return this.orientation === 'horizontal' ? 'scrollWidth' : 'scrollHeight';
122
+ }
123
+ get clientDimProp() {
124
+ return this.orientation === 'horizontal' ? 'clientWidth' : 'clientHeight';
125
+ }
126
+ get scrollOffset() {
127
+ return this.orientation === 'horizontal' ? 'scrollLeft' : 'scrollTop';
128
+ }
129
+ watchScrollControls() {
130
+ if (this.hasScrollControls)
131
+ this.handleScroll();
132
+ else
133
+ this.hideControlStart = this.hideControlEnd = true;
134
+ }
135
+ hideEndBtn() {
136
+ if (!this.endBtn)
137
+ return;
138
+ this.activateBtn(this.endBtn, !this.hideControlEnd);
139
+ }
140
+ hideStartBtn() {
141
+ if (!this.startBtn)
142
+ return;
143
+ this.activateBtn(this.startBtn, !this.hideControlStart);
144
+ }
145
+ // private logic
146
+ activateBtn(btn, activate = true) {
147
+ if (!activate) {
148
+ btn.tabIndex = -1;
149
+ btn.disabled = true;
150
+ btn.classList.remove('is-shown');
151
+ return;
152
+ }
153
+ btn.tabIndex = 0;
154
+ btn.disabled = false;
155
+ btn.classList.add('is-shown');
156
+ }
157
+ get allActiveItems() {
158
+ return this.allItems.filter((el) => !el.disabled || el.classList.contains('disabled'));
159
+ }
160
+ get allItems() {
161
+ return getDirectChildren(this.host, '*', true);
162
+ }
163
+ get activeItem() {
164
+ if (this._activeItem)
165
+ return this._activeItem;
166
+ return this.allActiveItems.find((el) => this.isActiveHandler(el));
167
+ }
168
+ set activeItem(item) {
169
+ if (!item ||
170
+ item === this.activeItem ||
171
+ item.disabled ||
172
+ !this.allActiveItems.includes(item)) {
173
+ return;
174
+ }
175
+ this._activeItem = item;
176
+ this.allActiveItems.forEach((el) => {
177
+ if (el === this._activeItem)
178
+ this.activeHandler(el);
179
+ else
180
+ this.inActiveHandler(el);
181
+ });
182
+ this.syncActiveItemIndicator();
183
+ this.scrollToActiveItem();
184
+ }
185
+ get navDim() {
186
+ if (!this.nav)
187
+ return 0;
188
+ const computedStyle = getComputedStyle(this.nav);
189
+ let clientDim = this.nav[this.clientDimProp];
190
+ if (this.orientation === 'horizontal') {
191
+ return (clientDim -=
192
+ parseFloat(computedStyle.paddingLeft) +
193
+ parseFloat(computedStyle.paddingRight));
194
+ }
195
+ else {
196
+ return (clientDim -=
197
+ parseFloat(computedStyle.paddingTop) +
198
+ parseFloat(computedStyle.paddingBottom));
199
+ }
200
+ }
201
+ scrollToActiveItem(instant) {
202
+ if (!this.nav || !this.activeItem)
203
+ return;
204
+ requestAnimationFrame(() => {
205
+ this.activeItem.scrollIntoView({
206
+ behavior: instant ? 'auto' : 'smooth',
207
+ block: 'center',
208
+ inline: 'center',
209
+ });
210
+ });
211
+ }
212
+ syncActiveItemIndicator(instant) {
213
+ if (!this.activeItem)
214
+ return;
215
+ const item = this.activeItem;
216
+ const width = item.clientWidth || 0;
217
+ const height = item.clientHeight + 2 || 0;
218
+ const offset = getOffset(item, this.itemContainer);
219
+ if (!this.activeIndicator)
220
+ return;
221
+ const offsetTop = offset.top;
222
+ const offsetLeft = offset.left;
223
+ if (instant)
224
+ this.activeIndicator.style.transition = 'none';
225
+ switch (this.orientation) {
226
+ case 'horizontal':
227
+ this.activeIndicator.style.width = `${width}px`;
228
+ this.activeIndicator.style.height = null;
229
+ this.activeIndicator.style.transform = `translateX(${offsetLeft}px)`;
230
+ break;
231
+ case 'vertical':
232
+ this.activeIndicator.style.width = null;
233
+ this.activeIndicator.style.height = `${height}px`;
234
+ this.activeIndicator.style.transform = `translateY(${offsetTop}px)`;
235
+ break;
236
+ }
237
+ setTimeout(() => (this.activeIndicator.style.transition = null), 400);
238
+ }
239
+ // lifecycle
240
+ connectedCallback() {
241
+ this.isRtl =
242
+ this.orientation === 'horizontal' && !!this.host.closest('[dir="rtl"]');
243
+ if (!window['ResizeObserver'])
244
+ return;
245
+ if (this.ro) {
246
+ this.ro.disconnect();
247
+ this.ro = undefined;
248
+ }
249
+ const mo = (this.ro = new ResizeObserver(this.recalculatePositions));
250
+ mo.observe(this.host);
251
+ }
252
+ componentDidLoad() {
253
+ this.recalculatePositions(true);
254
+ }
255
+ disconnectedCallback() {
256
+ if (this.ro) {
257
+ this.ro.disconnect();
258
+ this.ro = undefined;
259
+ }
260
+ }
261
+ render() {
262
+ return (h(Host, { dir: this.isRtl ? 'rtl' : null }, h("div", { part: "base", class: {
263
+ onav: true,
264
+ [`onav--${this.orientation}`]: true,
265
+ 'onav--has-scroll-controls': this.hasScrollControls,
266
+ 'onav--has-scroll-controls-start': !this.hideControlStart,
267
+ 'onav--has-scroll-controls-end': !this.hideControlEnd,
268
+ }, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, h("div", { class: "onav__nav" }, this.scrollControls && (h("nano-icon-button", { part: "scroll-button scroll-button-prev", class: {
269
+ 'onav__scroll-button': true,
270
+ 'onav__scroll-button--start': true,
271
+ }, ref: (btn) => (this.startBtn = btn), onClick: () => this.handleBtnClick(false), label: "Click to scroll", iconName: this.orientation === 'horizontal'
272
+ ? 'light/chevron-left'
273
+ : 'light/chevron-up' })), h("div", { part: "scroller", ref: (el) => (this.nav = el), class: "onav__scroller", onScroll: this.handleScroll }, h("div", { part: "items", ref: (el) => (this.itemContainer = el), class: "onav__items" }, h("div", { part: "indicator", ref: (el) => (this.activeIndicator = el), class: "onav__active-indicator" }), h("slot", { onSlotchange: this.slotChangeHandler }))), this.scrollControls && (h("nano-icon-button", { part: "scroll-button scroll-button-next", class: {
274
+ 'onav__scroll-button': true,
275
+ 'onav__scroll-button--end': true,
276
+ }, ref: (btn) => (this.endBtn = btn), onClick: () => this.handleBtnClick(true), label: "Click to scroll", iconName: this.orientation === 'horizontal'
277
+ ? 'light/chevron-right'
278
+ : 'light/chevron-down' }))))));
279
+ }
280
+ static get is() { return "nano-overflow-nav"; }
281
+ static get encapsulation() { return "shadow"; }
282
+ static get originalStyleUrls() {
283
+ return {
284
+ "$": ["overflow-nav.scss"]
285
+ };
286
+ }
287
+ static get styleUrls() {
288
+ return {
289
+ "$": ["overflow-nav.css"]
290
+ };
291
+ }
292
+ static get properties() {
293
+ return {
294
+ "scrollControls": {
295
+ "type": "boolean",
296
+ "mutable": false,
297
+ "complexType": {
298
+ "original": "boolean",
299
+ "resolved": "boolean",
300
+ "references": {}
301
+ },
302
+ "required": false,
303
+ "optional": false,
304
+ "docs": {
305
+ "tags": [],
306
+ "text": "Disables the scroll arrow buttons that appear when content overflows"
307
+ },
308
+ "getter": false,
309
+ "setter": false,
310
+ "attribute": "scroll-controls",
311
+ "reflect": false,
312
+ "defaultValue": "true"
313
+ },
314
+ "orientation": {
315
+ "type": "string",
316
+ "mutable": false,
317
+ "complexType": {
318
+ "original": "'horizontal' | 'vertical'",
319
+ "resolved": "\"horizontal\" | \"vertical\"",
320
+ "references": {}
321
+ },
322
+ "required": false,
323
+ "optional": false,
324
+ "docs": {
325
+ "tags": [],
326
+ "text": "The flex direction of the element"
327
+ },
328
+ "getter": false,
329
+ "setter": false,
330
+ "attribute": "orientation",
331
+ "reflect": true,
332
+ "defaultValue": "'horizontal'"
333
+ },
334
+ "activeHandler": {
335
+ "type": "unknown",
336
+ "mutable": false,
337
+ "complexType": {
338
+ "original": "(item: HTMLElement) => void",
339
+ "resolved": "(item: HTMLElement) => void",
340
+ "references": {
341
+ "HTMLElement": {
342
+ "location": "global"
343
+ }
344
+ }
345
+ },
346
+ "required": false,
347
+ "optional": false,
348
+ "docs": {
349
+ "tags": [{
350
+ "name": "param",
351
+ "text": "item"
352
+ }, {
353
+ "name": "returns",
354
+ "text": "void"
355
+ }],
356
+ "text": "A function called when an item becomes 'active' (via click or keyboard)"
357
+ },
358
+ "getter": false,
359
+ "setter": false,
360
+ "defaultValue": "(item: HTMLElement) => item.classList.add('active')"
361
+ },
362
+ "inActiveHandler": {
363
+ "type": "unknown",
364
+ "mutable": false,
365
+ "complexType": {
366
+ "original": "(item: HTMLElement) => void",
367
+ "resolved": "(item: HTMLElement) => void",
368
+ "references": {
369
+ "HTMLElement": {
370
+ "location": "global"
371
+ }
372
+ }
373
+ },
374
+ "required": false,
375
+ "optional": false,
376
+ "docs": {
377
+ "tags": [{
378
+ "name": "param",
379
+ "text": "item"
380
+ }, {
381
+ "name": "returns",
382
+ "text": "void"
383
+ }],
384
+ "text": "A function called when an item becomes 'inactive'\n(because another item was made active)"
385
+ },
386
+ "getter": false,
387
+ "setter": false,
388
+ "defaultValue": "(item: HTMLElement) =>\n item.classList.remove('active')"
389
+ },
390
+ "isActiveHandler": {
391
+ "type": "unknown",
392
+ "mutable": false,
393
+ "complexType": {
394
+ "original": "(item: HTMLElement) => boolean",
395
+ "resolved": "(item: HTMLElement) => boolean",
396
+ "references": {
397
+ "HTMLElement": {
398
+ "location": "global"
399
+ }
400
+ }
401
+ },
402
+ "required": false,
403
+ "optional": false,
404
+ "docs": {
405
+ "tags": [{
406
+ "name": "param",
407
+ "text": "item"
408
+ }, {
409
+ "name": "returns",
410
+ "text": "void"
411
+ }],
412
+ "text": "A function called to assess an initial, active item"
413
+ },
414
+ "getter": false,
415
+ "setter": false,
416
+ "defaultValue": "(item: HTMLElement) =>\n item.classList.contains('active')"
417
+ }
418
+ };
419
+ }
420
+ static get states() {
421
+ return {
422
+ "hasScrollControls": {},
423
+ "hideControlEnd": {},
424
+ "hideControlStart": {}
425
+ };
426
+ }
427
+ static get elementRef() { return "host"; }
428
+ static get watchers() {
429
+ return [{
430
+ "propName": "hasScrollControls",
431
+ "methodName": "watchScrollControls"
432
+ }, {
433
+ "propName": "hideControlEnd",
434
+ "methodName": "hideEndBtn"
435
+ }, {
436
+ "propName": "hideControlStart",
437
+ "methodName": "hideStartBtn"
438
+ }];
439
+ }
440
+ }
441
+ //# sourceMappingURL=overflow-nav.js.map