@nanoporetech-digital/components 2.1.2 → 2.2.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 (266) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +1 -1
  3. package/dist/cjs/{algoliasearch.umd-79e17a1a.js → algoliasearch.umd-dcf18a4a.js} +3 -3
  4. package/dist/cjs/{algoliasearch.umd-79e17a1a.js.map → algoliasearch.umd-dcf18a4a.js.map} +1 -1
  5. package/dist/cjs/index-cb62df44.js +5 -0
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/nano-alert.cjs.entry.js.map +1 -1
  8. package/dist/cjs/nano-algolia-input.cjs.entry.js +1 -1
  9. package/dist/cjs/nano-algolia.cjs.entry.js +1 -1
  10. package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
  11. package/dist/cjs/nano-components.cjs.js +1 -1
  12. package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -1
  13. package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
  14. package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
  15. package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
  16. package/dist/cjs/nano-dropdown.cjs.entry.js +1 -1
  17. package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
  18. package/dist/cjs/nano-global-nav.cjs.entry.js +1 -1
  19. package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
  20. package/dist/cjs/nano-global-search-results.cjs.entry.js +38 -28
  21. package/dist/cjs/nano-global-search-results.cjs.entry.js.map +1 -1
  22. package/dist/cjs/nano-hero.cjs.entry.js.map +1 -1
  23. package/dist/cjs/nano-icon-button.cjs.entry.js.map +1 -1
  24. package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +1 -1
  25. package/dist/cjs/nano-rating.cjs.entry.js.map +1 -1
  26. package/dist/cjs/nano-split-pane.cjs.entry.js +284 -0
  27. package/dist/cjs/nano-split-pane.cjs.entry.js.map +1 -0
  28. package/dist/cjs/nano-tab-group.cjs.entry.js +1 -0
  29. package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
  30. package/dist/cjs/nano-tab.cjs.entry.js +1 -1
  31. package/dist/cjs/nano-tab.cjs.entry.js.map +1 -1
  32. package/dist/cjs/nano-tooltip.cjs.entry.js +1 -1
  33. package/dist/cjs/{popover-86f1775c.js → popover-55c687c2.js} +7 -3
  34. package/dist/cjs/popover-55c687c2.js.map +1 -0
  35. package/dist/collection/collection-manifest.json +1 -0
  36. package/dist/collection/components/accordion/accordion.js +1 -1
  37. package/dist/collection/components/alert/alert.js +1 -1
  38. package/dist/collection/components/algolia/algolia-filter.js +2 -2
  39. package/dist/collection/components/algolia/algolia-input.js +5 -5
  40. package/dist/collection/components/algolia/algolia-results.js +1 -1
  41. package/dist/collection/components/algolia/algolia.js +6 -6
  42. package/dist/collection/components/checkbox/checkbox-group.js +2 -2
  43. package/dist/collection/components/checkbox/checkbox.js +3 -3
  44. package/dist/collection/components/datalist/datalist.css +1 -1
  45. package/dist/collection/components/datalist/datalist.js +1 -1
  46. package/dist/collection/components/date-input/date-input.js +7 -7
  47. package/dist/collection/components/date-picker/date-picker.js +5 -5
  48. package/dist/collection/components/details/details.js +1 -1
  49. package/dist/collection/components/dialog/dialog.js +1 -1
  50. package/dist/collection/components/file-upload/file-upload.js +4 -4
  51. package/dist/collection/components/global-nav/global-nav.js +4 -4
  52. package/dist/collection/components/global-search-results/global-search-results.css +27 -8
  53. package/dist/collection/components/global-search-results/global-search-results.js +37 -27
  54. package/dist/collection/components/global-search-results/global-search-results.js.map +1 -1
  55. package/dist/collection/components/grid/grid-item.js +1 -1
  56. package/dist/collection/components/icon/icon.js +1 -1
  57. package/dist/collection/components/input/input.js +5 -5
  58. package/dist/collection/components/nav-item/nav-item.js +4 -4
  59. package/dist/collection/components/range/range.js +4 -4
  60. package/dist/collection/components/resize-observe/resize-observe.js +1 -1
  61. package/dist/collection/components/select/select.js +7 -7
  62. package/dist/collection/components/slides/slides.js +7 -7
  63. package/dist/collection/components/split-pane/split-pane.css +104 -0
  64. package/dist/collection/components/split-pane/split-pane.js +479 -0
  65. package/dist/collection/components/split-pane/split-pane.js.map +1 -0
  66. package/dist/collection/components/tabs/tab-group.js +3 -2
  67. package/dist/collection/components/tabs/tab-group.js.map +1 -1
  68. package/dist/collection/components/tabs/tab.js +1 -1
  69. package/dist/collection/components/tabs/tab.js.map +1 -1
  70. package/dist/collection/utils/drag.js +21 -0
  71. package/dist/collection/utils/drag.js.map +1 -0
  72. package/dist/components/algoliasearch.umd.js +2 -2
  73. package/dist/components/algoliasearch.umd.js.map +1 -1
  74. package/dist/components/datalist.js.map +1 -1
  75. package/dist/components/icon-button.js.map +1 -1
  76. package/dist/components/menu.js.map +1 -1
  77. package/dist/components/nano-alert.js.map +1 -1
  78. package/dist/components/nano-checkbox.js.map +1 -1
  79. package/dist/components/nano-date-input.js.map +1 -1
  80. package/dist/components/nano-details.js.map +1 -1
  81. package/dist/components/nano-dialog.js.map +1 -1
  82. package/dist/components/nano-file-upload.js.map +1 -1
  83. package/dist/components/nano-global-nav.js.map +1 -1
  84. package/dist/components/nano-global-search-results.js +38 -28
  85. package/dist/components/nano-global-search-results.js.map +1 -1
  86. package/dist/components/nano-hero.js.map +1 -1
  87. package/dist/components/nano-menu-drawer.js.map +1 -1
  88. package/dist/components/nano-rating.js.map +1 -1
  89. package/dist/components/nano-split-pane.d.ts +11 -0
  90. package/dist/components/nano-split-pane.js +315 -0
  91. package/dist/components/nano-split-pane.js.map +1 -0
  92. package/dist/components/nano-tab-group.js +1 -0
  93. package/dist/components/nano-tab-group.js.map +1 -1
  94. package/dist/components/nano-tab.js +1 -1
  95. package/dist/components/nano-tab.js.map +1 -1
  96. package/dist/components/option.js.map +1 -1
  97. package/dist/components/popover.js +6 -2
  98. package/dist/components/popover.js.map +1 -1
  99. package/dist/custom-elements/index.d.ts +6 -0
  100. package/dist/custom-elements/index.js +326 -37
  101. package/dist/custom-elements/index.js.map +1 -1
  102. package/dist/esm/{algoliasearch.umd-6d09b727.js → algoliasearch.umd-6143495f.js} +3 -3
  103. package/dist/esm/{algoliasearch.umd-6d09b727.js.map → algoliasearch.umd-6143495f.js.map} +1 -1
  104. package/dist/esm/index-5f8d16e7.js +5 -0
  105. package/dist/esm/loader.js +1 -1
  106. package/dist/esm/nano-alert.entry.js.map +1 -1
  107. package/dist/esm/nano-algolia-input.entry.js +1 -1
  108. package/dist/esm/nano-algolia.entry.js +1 -1
  109. package/dist/esm/nano-checkbox.entry.js.map +1 -1
  110. package/dist/esm/nano-components.js +1 -1
  111. package/dist/esm/nano-datalist_3.entry.js.map +1 -1
  112. package/dist/esm/nano-date-input.entry.js.map +1 -1
  113. package/dist/esm/nano-details.entry.js.map +1 -1
  114. package/dist/esm/nano-dialog.entry.js.map +1 -1
  115. package/dist/esm/nano-dropdown.entry.js +1 -1
  116. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  117. package/dist/esm/nano-global-nav.entry.js +1 -1
  118. package/dist/esm/nano-global-nav.entry.js.map +1 -1
  119. package/dist/esm/nano-global-search-results.entry.js +38 -28
  120. package/dist/esm/nano-global-search-results.entry.js.map +1 -1
  121. package/dist/esm/nano-hero.entry.js.map +1 -1
  122. package/dist/esm/nano-icon-button.entry.js.map +1 -1
  123. package/dist/esm/nano-menu-drawer.entry.js.map +1 -1
  124. package/dist/esm/nano-rating.entry.js.map +1 -1
  125. package/dist/esm/nano-split-pane.entry.js +280 -0
  126. package/dist/esm/nano-split-pane.entry.js.map +1 -0
  127. package/dist/esm/nano-tab-group.entry.js +1 -0
  128. package/dist/esm/nano-tab-group.entry.js.map +1 -1
  129. package/dist/esm/nano-tab.entry.js +1 -1
  130. package/dist/esm/nano-tab.entry.js.map +1 -1
  131. package/dist/esm/nano-tooltip.entry.js +1 -1
  132. package/dist/esm/{popover-db86a392.js → popover-d9dc8e13.js} +7 -3
  133. package/dist/esm/popover-d9dc8e13.js.map +1 -0
  134. package/dist/esm-es5/{algoliasearch.umd-6d09b727.js → algoliasearch.umd-6143495f.js} +3 -3
  135. package/dist/esm-es5/{algoliasearch.umd-6d09b727.js.map → algoliasearch.umd-6143495f.js.map} +1 -1
  136. package/dist/esm-es5/index-5f8d16e7.js +1 -1
  137. package/dist/esm-es5/loader.js +1 -1
  138. package/dist/esm-es5/loader.js.map +1 -1
  139. package/dist/esm-es5/nano-alert.entry.js.map +1 -1
  140. package/dist/esm-es5/nano-algolia-input.entry.js +1 -1
  141. package/dist/esm-es5/nano-algolia.entry.js +1 -1
  142. package/dist/esm-es5/nano-checkbox.entry.js.map +1 -1
  143. package/dist/esm-es5/nano-components.js +1 -1
  144. package/dist/esm-es5/nano-components.js.map +1 -1
  145. package/dist/esm-es5/nano-datalist_3.entry.js.map +1 -1
  146. package/dist/esm-es5/nano-date-input.entry.js.map +1 -1
  147. package/dist/esm-es5/nano-details.entry.js.map +1 -1
  148. package/dist/esm-es5/nano-dialog.entry.js.map +1 -1
  149. package/dist/esm-es5/nano-dropdown.entry.js +1 -1
  150. package/dist/esm-es5/nano-file-upload.entry.js.map +1 -1
  151. package/dist/esm-es5/nano-global-nav.entry.js +1 -1
  152. package/dist/esm-es5/nano-global-nav.entry.js.map +1 -1
  153. package/dist/esm-es5/nano-global-search-results.entry.js +1 -1
  154. package/dist/esm-es5/nano-global-search-results.entry.js.map +1 -1
  155. package/dist/esm-es5/nano-hero.entry.js.map +1 -1
  156. package/dist/esm-es5/nano-icon-button.entry.js.map +1 -1
  157. package/dist/esm-es5/nano-menu-drawer.entry.js.map +1 -1
  158. package/dist/esm-es5/nano-rating.entry.js.map +1 -1
  159. package/dist/esm-es5/nano-split-pane.entry.js +5 -0
  160. package/dist/esm-es5/nano-split-pane.entry.js.map +1 -0
  161. package/dist/esm-es5/nano-tab-group.entry.js +1 -1
  162. package/dist/esm-es5/nano-tab-group.entry.js.map +1 -1
  163. package/dist/esm-es5/nano-tab.entry.js +2 -2
  164. package/dist/esm-es5/nano-tab.entry.js.map +1 -1
  165. package/dist/esm-es5/nano-tooltip.entry.js +1 -1
  166. package/dist/esm-es5/popover-d9dc8e13.js +5 -0
  167. package/dist/esm-es5/popover-d9dc8e13.js.map +1 -0
  168. package/dist/nano-components/nano-components.css +1 -1
  169. package/dist/nano-components/nano-components.esm.js +1 -1
  170. package/dist/nano-components/nano-components.esm.js.map +1 -1
  171. package/dist/nano-components/{p-e35eac75.entry.js → p-08b43111.entry.js} +2 -2
  172. package/dist/nano-components/p-08b43111.entry.js.map +1 -0
  173. package/dist/nano-components/{p-46d0bb7b.entry.js → p-08ffc9a1.entry.js} +2 -2
  174. package/dist/nano-components/{p-46d0bb7b.entry.js.map → p-08ffc9a1.entry.js.map} +0 -0
  175. package/dist/nano-components/p-090f22a9.system.entry.js.map +1 -1
  176. package/dist/nano-components/p-096682d9.system.js +1 -1
  177. package/dist/nano-components/p-096682d9.system.js.map +1 -1
  178. package/dist/nano-components/{p-e6f8f9f7.system.entry.js → p-1238f0fc.system.entry.js} +2 -2
  179. package/dist/nano-components/p-1238f0fc.system.entry.js.map +1 -0
  180. package/dist/nano-components/{p-1a293bd0.entry.js → p-17bf76c4.entry.js} +2 -2
  181. package/dist/nano-components/{p-1a293bd0.entry.js.map → p-17bf76c4.entry.js.map} +0 -0
  182. package/dist/nano-components/p-1e974cad.entry.js.map +1 -1
  183. package/dist/nano-components/{p-a4075d49.entry.js → p-1ec44caf.entry.js} +2 -2
  184. package/dist/nano-components/p-1ec44caf.entry.js.map +1 -0
  185. package/dist/nano-components/p-1f99d776.entry.js +5 -0
  186. package/dist/nano-components/p-1f99d776.entry.js.map +1 -0
  187. package/dist/nano-components/p-20db18f3.entry.js.map +1 -1
  188. package/dist/nano-components/p-3456db01.entry.js.map +1 -1
  189. package/dist/nano-components/p-3ad1d5aa.system.entry.js.map +1 -1
  190. package/dist/nano-components/p-3c3e9fec.system.js +5 -0
  191. package/dist/nano-components/p-3c3e9fec.system.js.map +1 -0
  192. package/dist/nano-components/{p-3cf35ac4.system.entry.js → p-3f736fa2.system.entry.js} +2 -2
  193. package/dist/nano-components/p-3f736fa2.system.entry.js.map +1 -0
  194. package/dist/nano-components/p-4429caac.system.entry.js.map +1 -1
  195. package/dist/nano-components/p-531d5275.system.entry.js.map +1 -1
  196. package/dist/nano-components/p-56ba0d63.entry.js.map +1 -1
  197. package/dist/nano-components/{p-3a725f1f.system.entry.js → p-58419bed.system.entry.js} +2 -2
  198. package/dist/nano-components/p-58419bed.system.entry.js.map +1 -0
  199. package/dist/nano-components/p-5a476bba.system.entry.js.map +1 -1
  200. package/dist/nano-components/p-625d3733.js +5 -0
  201. package/dist/nano-components/p-625d3733.js.map +1 -0
  202. package/dist/nano-components/{p-f1bf1099.entry.js → p-65c10b3f.entry.js} +2 -2
  203. package/dist/nano-components/{p-f1bf1099.entry.js.map → p-65c10b3f.entry.js.map} +0 -0
  204. package/dist/nano-components/p-6afdb510.system.entry.js +5 -0
  205. package/dist/nano-components/p-6afdb510.system.entry.js.map +1 -0
  206. package/dist/nano-components/p-71c26ace.entry.js.map +1 -1
  207. package/dist/nano-components/p-730f60ea.entry.js.map +1 -1
  208. package/dist/nano-components/p-7d2e2685.entry.js.map +1 -1
  209. package/dist/nano-components/{p-09066701.system.entry.js → p-7fcbc27f.system.entry.js} +2 -2
  210. package/dist/nano-components/{p-09066701.system.entry.js.map → p-7fcbc27f.system.entry.js.map} +0 -0
  211. package/dist/nano-components/p-8a8f893b.system.entry.js.map +1 -1
  212. package/dist/nano-components/{p-774e090b.system.entry.js → p-92f85aaf.system.entry.js} +2 -2
  213. package/dist/nano-components/{p-774e090b.system.entry.js.map → p-92f85aaf.system.entry.js.map} +0 -0
  214. package/dist/nano-components/p-93448bcd.system.entry.js.map +1 -1
  215. package/dist/nano-components/p-94593617.system.entry.js.map +1 -1
  216. package/dist/nano-components/{p-82f4b071.entry.js → p-a0515a0f.entry.js} +2 -2
  217. package/dist/nano-components/{p-82f4b071.entry.js.map → p-a0515a0f.entry.js.map} +0 -0
  218. package/dist/nano-components/{p-e3583b00.js → p-a77e3fbb.js} +3 -3
  219. package/dist/nano-components/{p-e3583b00.js.map → p-a77e3fbb.js.map} +1 -1
  220. package/dist/nano-components/{p-0bee6fe6.system.entry.js → p-a898bf92.system.entry.js} +2 -2
  221. package/dist/nano-components/{p-0bee6fe6.system.entry.js.map → p-a898bf92.system.entry.js.map} +0 -0
  222. package/dist/nano-components/{p-bbe6b7af.entry.js → p-ad0715d1.entry.js} +2 -2
  223. package/dist/nano-components/p-ad0715d1.entry.js.map +1 -0
  224. package/dist/nano-components/p-b59d2bd5.entry.js.map +1 -1
  225. package/dist/nano-components/p-c0ddb4c3.entry.js.map +1 -1
  226. package/dist/nano-components/{p-05c7bde1.system.entry.js → p-ca466250.system.entry.js} +2 -2
  227. package/dist/nano-components/{p-05c7bde1.system.entry.js.map → p-ca466250.system.entry.js.map} +0 -0
  228. package/dist/nano-components/{p-67cc0d9b.system.js → p-d24811c8.system.js} +3 -3
  229. package/dist/nano-components/{p-67cc0d9b.system.js.map → p-d24811c8.system.js.map} +1 -1
  230. package/dist/nano-components/p-d628547b.entry.js +5 -0
  231. package/dist/nano-components/p-d628547b.entry.js.map +1 -0
  232. package/dist/nano-components/p-d6569144.entry.js.map +1 -1
  233. package/dist/nano-components/p-d87ebf95.system.entry.js +5 -0
  234. package/dist/nano-components/p-d87ebf95.system.entry.js.map +1 -0
  235. package/dist/nano-components/p-e11bd40d.entry.js.map +1 -1
  236. package/dist/nano-components/p-e15be516.system.entry.js.map +1 -1
  237. package/dist/nano-components/p-ef4e0912.system.entry.js.map +1 -1
  238. package/dist/nano-components/p-f2e7d2f9.system.entry.js.map +1 -1
  239. package/dist/themes/london-calling.css +1 -1
  240. package/dist/themes/london-calling.css.map +1 -1
  241. package/dist/themes/nanopore.css +1 -1
  242. package/dist/themes/nanopore.css.map +1 -1
  243. package/dist/types/components/split-pane/split-pane.d.ts +76 -0
  244. package/dist/types/components.d.ts +89 -0
  245. package/dist/types/utils/drag.d.ts +1 -0
  246. package/docs-json.json +309 -2
  247. package/docs-vscode.json +53 -0
  248. package/package.json +8 -6
  249. package/dist/cjs/popover-86f1775c.js.map +0 -1
  250. package/dist/esm/popover-db86a392.js.map +0 -1
  251. package/dist/esm-es5/popover-db86a392.js +0 -5
  252. package/dist/esm-es5/popover-db86a392.js.map +0 -1
  253. package/dist/nano-components/p-3a725f1f.system.entry.js.map +0 -1
  254. package/dist/nano-components/p-3cf35ac4.system.entry.js.map +0 -1
  255. package/dist/nano-components/p-52ab579e.system.entry.js +0 -5
  256. package/dist/nano-components/p-52ab579e.system.entry.js.map +0 -1
  257. package/dist/nano-components/p-7be6b7f3.system.js +0 -5
  258. package/dist/nano-components/p-7be6b7f3.system.js.map +0 -1
  259. package/dist/nano-components/p-a4075d49.entry.js.map +0 -1
  260. package/dist/nano-components/p-bbe6b7af.entry.js.map +0 -1
  261. package/dist/nano-components/p-d9c7909e.js +0 -5
  262. package/dist/nano-components/p-d9c7909e.js.map +0 -1
  263. package/dist/nano-components/p-e35eac75.entry.js.map +0 -1
  264. package/dist/nano-components/p-e6f41b97.entry.js +0 -5
  265. package/dist/nano-components/p-e6f41b97.entry.js.map +0 -1
  266. package/dist/nano-components/p-e6f8f9f7.system.entry.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/global-search-results/global-search-results.scss?tag=nano-global-search-results&encapsulation=shadow","src/components/global-search-results/global-search-results.tsx"],"names":["globalSearchResultsCss","GlobalSearchResults","[object Object]","hostRef","this","tagClick","e","preventDefault","tagVal","target","dataset","value","toLowerCase","filter","algoliaEle","querySelector","indexOf","apiKey","appId","index","searchIndex","tagName","algoliaResultsEle","goback","detail","results","client","result","find","selected","name","indexName","domain","filters","query","composedPath","ele","classList","contains","changeOrder","id","attachResultListeners","querySelectorAll","forEach","item","addEventListener","removeAllFilters","closefilters","filterWrap","stopPropagation","filtersDiv","el","resultEle","clickEv","removeFilter","filterVal","openFilterBtn","tabIndex","add","setAttribute","document","body","style","overflow","setTimeout","focus","tags","Array","from","tag","removeEventListener","ev","replicaIndex","showResults","facet","removeFilters","remove","ro","ResizeObserver","entries","entry","contentRect","width","currentWidth","observe","Math","floor","Date","now","h","Host","class","small","dir","ownerDocument","store-id","store-method","ref","raf","type","slot"],"mappings":"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","sourcesContent":["@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/colours';\n\n:host {\n display: block;\n flex: 1 1 100%;\n}\n\n.main-search {\n display: flex;\n background: white;\n font-size: 14px;\n min-height: calc(100vh - 63px);\n justify-content: space-between;\n\n &__wrap {\n /* autoprefixer: ignore next */\n display: contents;\n height: 100%;\n }\n\n ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n li {\n margin: 0;\n padding: 0;\n }\n\n button:not(.result__tags-tag) {\n appearance: none;\n border: none;\n background: none;\n position: relative;\n top: -2px;\n }\n\n .icon-button {\n color: inherit;\n align-self: normal;\n padding: 9px 7px;\n cursor: pointer;\n display: flex;\n align-items: center;\n }\n\n &__topbar {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n margin-bottom: 1em;\n\n &::after {\n content: '';\n width: calc(100% - 30px);\n left: 30px;\n position: relative;\n border-bottom: 1px solid #e5eef1;\n padding-top: 0.9em;\n }\n }\n\n &__applied-filters {\n border: solid 1px $color-lightgrey;\n text-transform: uppercase;\n border-radius: 3px;\n font-weight: bold;\n display: flex;\n align-items: center;\n line-height: 0.9;\n padding: 5px 5px 0 5px;\n letter-spacing: 2px;\n flex-wrap: wrap;\n margin-bottom: 0.5rem;\n\n span {\n display: flex;\n align-items: center;\n }\n\n :host(.small) & {\n display: none;\n }\n }\n\n &__applied-nofilter {\n @include margin(0, 5px, 3px, 0);\n @include padding(10px, 7px, 10px, 7px);\n\n font-size: 12px;\n color: rgba(69, 85, 86, 0.85);\n }\n\n &__applied-filter {\n @include padding(5px, 2px, 3px, 8px);\n @include margin(0, 5px, 5px, 0);\n\n color: $color-darkgrey;\n font-size: 11px;\n border-radius: 2px;\n border: solid 1px rgba(0, 132, 169, 0.5);\n background-color: rgba(0, 132, 169, 0.2);\n line-height: 1;\n\n .icon-button {\n @include padding(2px, 4px, 1px, 10px);\n\n nano-icon {\n pointer-events: none;\n }\n }\n }\n\n .topbar {\n &__bkbtn {\n position: relative;\n left: -7px;\n }\n\n &__query {\n :host(.small) & {\n display: none;\n }\n }\n\n &__filtering {\n display: flex;\n align-items: center;\n\n @include margin(0, 0, 0, 1em);\n\n flex: 1;\n }\n\n &__order {\n min-width: 175px;\n max-width: 200px;\n\n @include margin(0, 0, 0, auto);\n\n // @include media-breakpoint-down('sm') {\n // max-width: 300px;\n // }\n\n :host(.small) & {\n max-width: 300px;\n }\n }\n\n nano-select {\n opacity: 1;\n transition: 0.1s ease opacity;\n\n &:not(.hydrated) {\n opacity: 0;\n }\n }\n\n &__show-filters {\n @include margin(0, 0, 0, 0.5em);\n\n text-transform: uppercase;\n display: none;\n flex-direction: column;\n align-items: center;\n\n nano-icon {\n font-size: 20px;\n }\n\n // @include media-breakpoint-down('sm') {\n // display: flex;\n // }\n\n :host(.small) & {\n display: flex;\n }\n }\n\n &__filter-count {\n width: 12px;\n height: 12px;\n box-shadow: inset 0 3px 4px 0 rgba(0, 0, 0, 0.2);\n border: solid 1px #005c76;\n background-color: #005c76;\n color: white;\n font-size: 7px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n margin-bottom: 3px;\n }\n }\n\n &__results {\n font-size: 14px;\n padding: 1em 40px;\n color: rgba(69, 85, 86, 0.85);\n width: 70%;\n height: 100%;\n\n @include media-breakpoint-down('sm') {\n padding: 1em 20px;\n }\n\n :host(.small) & {\n width: 100%;\n }\n }\n\n &__filters {\n outline: none;\n\n @include padding(1.8em, 40px, 1em, 0);\n\n @include media-breakpoint-down('sm') {\n @include padding(null, 20px, null, null);\n }\n\n flex: 1 1 30%;\n box-sizing: border-box;\n\n :host(:not(.small)) & {\n max-width: 350px;\n min-width: 220px;\n }\n }\n}\n\n.filters {\n color: $color-darkgrey;\n background: white;\n font-size: 14px;\n\n :host(.small) & {\n position: fixed;\n width: 0;\n height: 0;\n z-index: 10;\n top: 0;\n right: 0;\n transition: all 0s ease 0.5s;\n background: none;\n\n &.show {\n height: 100vh;\n width: 100vw;\n transition: all 0s ease 0s;\n\n &::after {\n opacity: 1;\n }\n }\n\n &::after {\n content: '';\n background: rgba(0, 0, 0, 0.5);\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: -1;\n opacity: 0;\n transition: 0.1s ease opacity;\n }\n }\n\n &__close-filters {\n display: none !important;\n font-size: 1.4em;\n\n :host(.small) & {\n display: inline-block !important;\n\n @include margin(0, 0, 0, auto);\n }\n }\n\n &-wrap {\n :host(.small) & {\n position: absolute;\n top: 0;\n right: 0;\n background: rgb(247, 246, 246);\n transform: translateX(100%);\n width: 300px;\n min-width: 200px;\n max-width: 80vw;\n transition: transform 0.3s ease;\n padding: 1em;\n color: black;\n overflow: auto;\n height: 100vh;\n }\n }\n\n &.show {\n .filters-wrap {\n :host(.small) & {\n transform: translateX(0%);\n box-shadow: -3px -3px 7px rgba(0, 0, 0, 0.1);\n }\n }\n }\n\n ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n li {\n margin: 0;\n padding: 0;\n }\n\n nano-details {\n --padding: 0.8em;\n\n margin: 0.8em 0;\n\n strong[slot] {\n display: block;\n\n @include padding(null, null, null, calc(20px - 0.8em));\n }\n\n nano-icon[slot='icon-end'] {\n @include padding(null, calc(20px - 0.8em), null, calc(20px - 0.8em));\n }\n }\n\n li:last-child .filter-label {\n margin-bottom: 0;\n }\n\n .filter-label {\n display: flex;\n align-items: center;\n position: relative;\n margin: 0.5em 0;\n line-height: 1.4;\n z-index: 0;\n\n &::before {\n @include margin(0, 1em, 0, 0);\n\n content: '';\n border: 1px solid $color-blue;\n background: $color-white;\n border-radius: 3px;\n height: 1em;\n width: 1em;\n min-width: 1em;\n min-height: 1em;\n display: inline-block;\n }\n\n &::after {\n @include svg-background-image(\n \"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path fill='#ffffff' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/></svg>\"\n );\n\n content: '';\n height: 0.7em;\n width: 0.7em;\n position: absolute;\n left: 2px;\n top: 50%;\n transform: translateY(-50%);\n z-index: 1;\n display: block;\n background-size: 100%;\n background-position: center center;\n background-repeat: no-repeat;\n\n @include rtl-host() {\n right: 1px;\n left: auto;\n }\n }\n }\n\n .filter-cb {\n @include visually-hide;\n\n &:checked + .filter-label {\n &::before {\n background: $color-blue--darker;\n }\n }\n\n &:focus + .filter-label {\n &::before {\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.7);\n }\n }\n }\n\n &-header {\n display: flex;\n align-items: center;\n }\n\n &-reset {\n color: $color-blue;\n font-size: 12px;\n text-decoration: underline;\n\n @include margin(0, 0, 0, auto);\n\n :host(.small) & {\n @include margin(0, 0, 0, 0);\n }\n }\n\n &-title {\n @include margin(0, 0, 0, 0);\n\n text-transform: uppercase;\n color: rgba(69, 85, 86, 0.85);\n font-weight: bold;\n font-size: 14px;\n\n :host(.small) & {\n display: none;\n }\n }\n}\n\n.result {\n text-decoration: none;\n display: flex;\n flex-wrap: wrap;\n flex-direction: row;\n padding-bottom: 14px;\n border-bottom: 1px solid $color-lightblue;\n\n * {\n word-wrap: break-word;\n word-break: break-word;\n }\n\n &__title {\n margin: 1em 0 0.5em 0;\n width: 70%;\n display: flex;\n\n a {\n color: lighten($color-blue, 4%);\n font-size: 14px;\n line-height: 1.43;\n text-decoration: none;\n font-weight: 600;\n }\n\n nano-icon {\n @include margin(0, 0.5em, 0, 0);\n\n min-width: 20px;\n min-height: 20px;\n opacity: 0.8;\n }\n\n @include media-breakpoint-down('lg') {\n width: 100%;\n }\n }\n\n &__body {\n color: $color-darkgrey;\n font-size: 13px;\n width: 70%;\n text-decoration: none;\n\n @include media-breakpoint-down('lg') {\n width: 100%;\n }\n }\n\n &__pdf {\n display: inline-block;\n margin-inline-start: 0.5rem;\n color: $color-palegrey;\n }\n\n &__meta {\n display: flex;\n flex-flow: row wrap;\n color: $color-darkgrey;\n font-size: 11px;\n line-height: 13px;\n width: 100%;\n align-items: center;\n\n > * {\n margin-top: 0.5rem;\n\n &:not(:last-child) {\n padding-inline-end: 0;\n\n &::after {\n content: '';\n height: 1rem;\n width: 1px;\n background: #90c6e7;\n display: inline-block;\n margin-inline-start: 0.7rem;\n margin-inline-end: 0.7rem;\n\n @include media-breakpoint-down('sm') {\n display: none;\n }\n }\n }\n }\n\n @include media-breakpoint-down('sm') {\n flex-flow: column;\n align-items: flex-start;\n }\n }\n\n &__tags {\n display: flex;\n flex-flow: row wrap;\n\n @include media-breakpoint-down('sm') {\n padding-inline-start: 0;\n }\n\n &-tag {\n color: $color-darkgrey;\n display: inline-block;\n font-size: 0.4375rem;\n letter-spacing: 1.4px;\n background: #fff;\n border-radius: 2px;\n text-transform: uppercase;\n padding: 0 4px 1px 5px;\n font-weight: 600;\n margin: 3px 0.25rem 0.25rem 0;\n border: 1px solid #b5aea7;\n white-space: nowrap;\n line-height: 13px;\n }\n }\n\n &__type {\n font-weight: 600;\n text-transform: capitalize;\n white-space: nowrap;\n display: flex;\n align-items: center;\n }\n\n &__date {\n color: $color-darkgrey;\n padding: 0 0.75rem;\n white-space: nowrap;\n\n @include media-breakpoint-down('lg') {\n width: 100%;\n margin: 0.8em 0 0 0;\n }\n }\n\n &__source {\n color: $color-darkgrey;\n padding-inline-end: 0.75rem;\n }\n\n &__authors {\n font-size: 12px;\n color: $color-darkgrey;\n margin-bottom: 0.25rem;\n text-decoration: none;\n width: 70%;\n }\n\n &__buttons {\n width: 70%;\n margin-bottom: 0.5rem;\n\n &-button {\n background-color: $color-blue;\n color: #fff;\n padding: 5px 8px 1px;\n border-radius: 4px;\n display: inline-block;\n font-size: 11px;\n text-decoration: none;\n border: none;\n }\n }\n\n &__promo {\n width: 70%;\n margin-bottom: 0.5rem;\n text-decoration: none;\n color: $color-darkgrey;\n\n &-box {\n width: 300px;\n background-color: #e3eef1;\n padding: 12px 12px 8px 4px;\n display: flex;\n flex-flow: row nowrap;\n margin-top: 1rem;\n }\n\n &-bigdate {\n flex: 0 1 60px;\n text-align: center;\n font-weight: 600;\n color: $color-blue;\n text-transform: uppercase;\n line-height: 1.25;\n letter-spacing: 1.5px;\n\n @include media-breakpoint-down('lg') {\n width: 100%;\n }\n\n span {\n color: $color-darkgrey;\n display: block;\n }\n\n & ~ div {\n padding-inline-start: 1rem;\n border-inline-start: 1px solid #c5dbe1;\n }\n }\n\n &-date {\n font-size: 12px;\n }\n\n &-venue {\n font-size: 12px;\n }\n\n nano-icon {\n color: $color-blue;\n position: relative;\n top: 1px;\n padding-inline-end: 2px;\n }\n }\n\n &__image {\n display: block;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n border-radius: 4px;\n position: relative;\n width: 100%;\n height: 150px;\n margin-bottom: 0.5rem;\n\n @include media-breakpoint-up('sm') {\n width: 142px;\n height: 80px;\n }\n\n nano-icon {\n position: absolute;\n top: calc(50% - 0.75rem);\n left: calc(50% - 0.75rem);\n font-size: 1.5rem;\n color: #0084a9;\n\n --primary-color: #fff;\n --secondary-color: #0084a9;\n --primary-opacity: 1;\n\n @include media-breakpoint-down('sm') {\n font-size: 3rem;\n top: calc(50% - 1.5rem);\n left: calc(50% - 1.5rem);\n }\n }\n }\n\n &__video {\n &-body {\n width: 70%;\n text-decoration: none;\n display: flex;\n flex-flow: row wrap;\n\n @include media-breakpoint-down('lg') {\n width: 100%;\n }\n\n @include media-breakpoint-down('sm') {\n flex-flow: column;\n }\n\n .result__body {\n padding-inline-start: 1rem;\n display: flex;\n flex-direction: column;\n margin-bottom: 0;\n flex: 1;\n\n @include media-breakpoint-down('sm') {\n padding-inline-start: 0;\n }\n\n p {\n display: inline;\n margin: 0;\n }\n\n u,\n li,\n a {\n text-decoration: none;\n }\n\n .result__meta {\n margin-top: 0.5rem;\n }\n\n .result__description {\n flex: 1 0 auto;\n }\n }\n }\n }\n}\n","import {\n Component,\n h,\n Host,\n Element,\n State,\n ComponentInterface,\n Watch,\n Listen,\n} from '@stencil/core';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nimport { AloliaSearchResultDetail } from '../../interface';\nimport { SearchIndex } from '../../interface';\nimport { raf } from '../../utils';\n\n/**\n * Nanopore Global Search results component\n * to be used in conjunction with [Globla-Nav](/story/nano-compounds-global-nav).\n * A shortcut / helper which combines algolia components.\n * There should only be one <nano-global-search-results> per page\n * and should be a direct child of <nano-global-nav>\n */\n@Component({\n tag: 'nano-global-search-results',\n styleUrl: 'global-search-results.scss',\n shadow: true,\n})\nexport class GlobalSearchResults implements ComponentInterface {\n private algoliaResultsEle: HTMLNanoAlgoliaResultsElement;\n private filtersDiv: HTMLElement;\n private openFilterBtn: HTMLButtonElement;\n private ro: ResizeObserver;\n\n @State() algoliaEle: HTMLNanoAlgoliaElement;\n @State() currentWidth: number;\n @State() apiKey: string;\n @State() appId: string;\n @State() index: SearchIndex;\n\n @Element() private el: HTMLNanoGlobalSearchResultsElement;\n\n @Watch('algoliaEle')\n @Watch('apiKey')\n @Watch('appId')\n handleAlgoliaCredsChange() {\n if (!this.apiKey || !this.appId || !this.algoliaEle) return;\n this.algoliaEle.apiKey = this.apiKey;\n this.algoliaEle.appId = this.appId;\n }\n\n @Watch('algoliaEle')\n @Watch('index')\n handleAlgoliaIndexChange() {\n if (!this.index || !this.algoliaEle) return;\n this.algoliaEle.searchIndex = this.index;\n }\n\n @Listen('nanoSearchReset', { target: 'body' })\n handleGlobalNavReset(e: CustomEvent & { target: HTMLElement }) {\n if (e.target.tagName !== 'NANO-GLOBAL-NAV') return;\n this.algoliaResultsEle = null;\n this.goback();\n }\n\n @Listen('nanoSearchResult', { target: 'body' })\n handleGlobalNavSearch(e: CustomEvent & { target: HTMLElement }) {\n if (e.target.tagName !== 'NANO-GLOBAL-NAV') return;\n const {\n detail: { results, client },\n } = e as { detail: AloliaSearchResultDetail };\n const result = results.find((result) => result.selected);\n\n this.apiKey = client.apiKey;\n this.appId = client.appId;\n this.index = {\n name: result.indexName,\n index: result.index,\n domain: result.domain,\n filters: result.filters,\n };\n this.algoliaEle.query = result.query;\n }\n\n @Listen('nanoChange')\n handleReorder(e: CustomEvent & { target: HTMLNanoSelectElement }) {\n if (\n e\n .composedPath()\n .find(\n (ele: HTMLElement) =>\n ele.classList && ele.classList.contains('indexchange')\n ) &&\n !!this.algoliaResultsEle\n ) {\n this.changeOrder(e);\n }\n }\n\n @Listen('nanoResultsShown')\n attachListeners(e: CustomEvent & { target: HTMLElement }) {\n if (\n !e\n .composedPath()\n .find((ele: HTMLElement) => ele.id && ele.id === 'main-search')\n )\n return;\n\n this.algoliaResultsEle = this.algoliaEle.querySelector(\n '#main-search-results'\n );\n\n // add results listeners\n this.attachResultListeners();\n\n this.algoliaEle.querySelectorAll('.filters-reset').forEach((item) => {\n item.addEventListener('click', () => {\n this.removeAllFilters();\n });\n });\n\n this.algoliaEle.querySelectorAll('.close-filters').forEach((item) => {\n item.addEventListener('click', () => {\n this.closefilters();\n });\n });\n\n let filterWrap = this.algoliaEle.querySelector('.filters-wrap');\n if (filterWrap) {\n filterWrap.addEventListener('click', (e) => {\n e.stopPropagation();\n });\n }\n\n this.filtersDiv = this.algoliaEle.querySelector('#main-search-filters');\n }\n\n @Listen('nanoNewResults', { target: 'body' })\n attachResultListeners(e?: CustomEvent & { target: HTMLElement }) {\n if (e && e.composedPath().find((el) => el === this.algoliaEle)) {\n this.algoliaResultsEle = this.algoliaEle.querySelector(\n 'nano-algolia-results'\n );\n }\n if (!this.algoliaResultsEle) return;\n let resultEle = this.algoliaResultsEle;\n\n resultEle.querySelectorAll('.remove-filter').forEach((item) => {\n item.addEventListener('click', (clickEv: MouseEvent) => {\n let filter = clickEv.target as HTMLElement;\n this.removeFilter(filter.dataset.filter, filter.dataset.filterVal);\n });\n });\n\n resultEle.querySelectorAll('.back-btn').forEach((item) => {\n item.addEventListener('click', () => {\n this.goback();\n });\n });\n\n resultEle.querySelectorAll('.topbar__show-filters').forEach((item) => {\n this.openFilterBtn = item as HTMLButtonElement;\n item.addEventListener('click', () => {\n this.filtersDiv.tabIndex = -1;\n this.filtersDiv.classList.add('show');\n this.filtersDiv.setAttribute('aria-expanded', 'true');\n document.body.style.overflow = 'hidden';\n setTimeout(() => this.filtersDiv.focus(), 20);\n });\n });\n\n const tags = Array.from(resultEle.querySelectorAll('.result__tags-tag'));\n tags.forEach((tag) => {\n tag.removeEventListener('click', this.tagClick);\n tag.addEventListener('click', this.tagClick);\n });\n }\n\n private tagClick = (e: MouseEvent & { target: HTMLElement }) => {\n e.preventDefault();\n let tagVal = e.target.dataset.value;\n tagVal = tagVal === 'publication' ? 'publications' : tagVal;\n tagVal = tagVal.toLowerCase();\n\n const filter: HTMLNanoAlgoliaFilterElement = this.algoliaEle.querySelector(\n 'nano-algolia-filter[filter-name=\"tags\"]'\n );\n if (filter.value.indexOf(tagVal) === -1) {\n filter.value = filter.value ? [...filter.value, tagVal] : [tagVal];\n }\n };\n\n private changeOrder(ev) {\n this.algoliaEle.replicaIndex = ev.detail.value;\n }\n\n private goback() {\n this.removeAllFilters();\n this.algoliaEle.showResults = false;\n this.algoliaEle.query = '';\n }\n\n private removeFilter(facet, filter) {\n this.algoliaEle.removeFilters(facet, filter);\n }\n\n private removeAllFilters() {\n this.algoliaEle.removeFilters();\n }\n\n private closefilters() {\n if (!this.filtersDiv) return;\n this.filtersDiv.tabIndex = null;\n this.filtersDiv.classList.remove('show');\n this.filtersDiv.setAttribute('aria-expanded', 'false');\n document.body.style.overflow = '';\n setTimeout(() => this.openFilterBtn.focus(), 20);\n }\n\n componentDidLoad() {\n this.ro = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (!entry.contentRect.width) return;\n this.currentWidth = entry.contentRect.width;\n }\n });\n this.ro.observe(this.el);\n this.algoliaEle.filters = [\n 'created > ' + Math.floor((Date.now() - 63115200000) / 1000),\n ]; // only get last 2 years\n }\n\n render() {\n return (\n <Host\n class={{ small: this.currentWidth < 677 }}\n dir={(this.el.ownerDocument as Document).dir === 'rtl' ? 'rtl' : false}\n >\n <nano-algolia\n store-id=\"searchq\"\n store-method=\"url-hash-push\"\n class=\"main-search__wrap sc-nano-global-search-results\"\n ref={(ele) => raf(() => (this.algoliaEle = ele))}\n id=\"main-search\"\n >\n <script type=\"text/template\" slot=\"template\">\n {`<div class=\"main-search sc-nano-global-search-results\">\n <nano-algolia-results id=\"main-search-results\" class=\"main-search__results sc-nano-global-search-results\" infinite-scroll>\n <script type=\"text/template\" slot=\"start-template\">\n <div class=\"sc-nano-global-search-results main-search__topbar topbar\">\n <button class=\"sc-nano-global-search-results topbar__bkbtn back-btn icon-button\">\n <nano-icon class=\"sc-nano-global-search-results\" name=\"light/chevron-left\" size=\"small\"></nano-icon>\n </button>\n <div>\n <em class=\"sc-nano-global-search-results topbar__query\">'{{ it.query }}' - </em> <strong>{{ it.totalHitsWithFilters }}</strong> Results\n </div>\n\n <div class=\"sc-nano-global-search-results topbar__filtering\">\n {{ @if (it.results.length) }}\n\n {{ @if (it.indexName === 'All') }}\n <nano-select class=\"sc-nano-global-search-results topbar__order topbar__order--www indexchange\" value=\"{{ it.index }}\" hide-label=\"true\" label=\"Sort order\" show-inline-error=\"false\">\n <nano-option value=\"all_prod_en\">Sort by: Most relevant</nano-option>\n <nano-option value=\"all_prod_en_date_desc\">Sort by: Newest</nano-option>\n <nano-option value=\"all_prod_en_date_asc\">Sort by: Oldest</nano-option>\n <nano-option value=\"all_prod_en_activity_date_desc\">Sort by: Recent activity</nano-option>\n </nano-select>\n {{ /if }}\n\n {{ @if (it.indexName === 'www') }}\n <nano-select class=\"sc-nano-global-search-results topbar__order topbar__order--www indexchange\" value=\"{{ it.index }}\" hide-label=\"true\" label=\"Sort order\" show-inline-error=\"false\">\n <nano-option value=\"cws_english_en\">Sort by: Most relevant</nano-option>\n <nano-option value=\"cws_english_en_date_desc\">Sort by: Newest</nano-option>\n <nano-option value=\"cws_english_en_date_asc\">Sort by: Oldest</nano-option>\n </nano-select>\n {{ /if }}\n\n {{ @if (it.indexName === 'Resources') }}\n <nano-select class=\"sc-nano-global-search-results topbar__order topbar__order--www indexchange\" value=\"{{ it.index }}\" hide-label=\"true\" label=\"Sort order\" show-inline-error=\"false\">\n <nano-option value=\"cws_english_resources_en\">Sort by: Most relevant</nano-option>\n <nano-option value=\"cws_english_resources_en_featured_desc\">Sort by: Newest</nano-option>\n <nano-option value=\"cws_english_resources_en_featured_asc\">Sort by: Oldest</nano-option>\n </nano-select>\n {{ /if }}\n\n {{ @if (it.indexName === 'Store') }}\n <nano-select class=\"sc-nano-global-search-results topbar__order topbar__order--www indexchange\" value=\"{{ it.index }}\" hide-label=\"true\" label=\"Sort order\" show-inline-error=\"false\">\n <nano-option value=\"store_prod\">Sort by: Most relevant</nano-option>\n <nano-option value=\"store_prod_date_desc\">Sort by: Newest</nano-option>\n <nano-option value=\"store_prod_date_asc\">Sort by: Oldest</nano-option>\n </nano-select>\n {{ /if }}\n\n {{ @if (it.indexName === 'Community') }}\n <nano-select class=\"sc-nano-global-search-results topbar__order topbar__order--community indexchange\" value=\"{{ it.index }}\" hide-label=\"true\" label=\"Sort order\" show-inline-error=\"false\">\n <nano-option value=\"community_prod\">Sort by: Most relevant</nano-option>\n <nano-option value=\"community_prod_date_desc\">Sort by: Newest</nano-option>\n <nano-option value=\"community_prod_date_asc\">Sort by: Oldest</nano-option>\n <nano-option value=\"community_prod_activity_date_desc\">Sort by: Recent activity</nano-option>\n </nano-select>\n {{ /if }}\n {{ /if }}\n\n <button class=\"sc-nano-global-search-results topbar__show-filters filters-title\" aria-controls=\"main-search-filters\">\n {{ @if (it.appliedFilters && it.appliedFilters.length > 0) }}\n <span class=\"sc-nano-global-search-results topbar__filter-count\">\n {{ (it.appliedFilters.reduce(function(a, b) { return a + (b.values ? b.values.length : 0) }, 0)) }}\n </span>\n {{ /if }}\n <nano-icon class=\"sc-nano-global-search-results\" name=\"light/filter\"></nano-icon>\n </button>\n </div>\n </div>\n\n {{ @if (it.results.length) }}\n <div class=\"sc-nano-global-search-results main-search__applied-filters\">\n {{ @if (it.appliedFilters) }}\n {{ @each(it.appliedFilters) => filterObj }}\n {{ @each(filterObj.values) => filterVal }}\n <span class=\"sc-nano-global-search-results main-search__applied-filter\">\n {{ filterVal | public_name }}\n <button class=\"sc-nano-global-search-results icon-button remove-filter\" data-filter=\"{{ filterObj.name }}\" data-filter-val=\"{{ filterVal }}\">\n <nano-icon class=\"sc-nano-global-search-results\" name=\"light/times\"></nano-icon>\n </button>\n </span>\n {{ /each }}\n {{ /each }}\n {{ #else }}\n <span class=\"sc-nano-global-search-results main-search__applied-nofilter\">&nbsp;</span>\n {{ /if }}\n </div>\n {{ /if }}\n </script>\n\n <script type=\"text/template\" slot=\"result-template\">\n {{ @if (it.totalHitsWithFilters > 0) }}\n {{ @each(it.results) => result }}\n <li class=\"sc-nano-global-search-results\">\n <div class=\"sc-nano-global-search-results result\">\n <h4 class=\"sc-nano-global-search-results result__title\" data-icon-set=\"{{(iconSet = false)}}\">\n <a href=\"{{ result.url | abs_url(it, result) }}\">\n {{ result.title | safe }}\n {{ @if (result.type === 'technical_document' || result.type === 'literature' || result.type === 'white_paper' || result.type === 'protocol') }}\n <span class=\"sc-nano-global-search-results result__pdf\">PDF</span>\n {{ /if }}\n </a>\n </h4>\n {{ @if (result.authors) }}\n {{ @if (typeof result.authors === 'string') }}\n <a class=\"sc-nano-global-search-results result__authors\" href=\"{{ result.url | abs_url(it, result) }}\">Authors: {{ result.authors | trim_to(50) }}</a>\n {{ #else }}\n <a class=\"sc-nano-global-search-results result__authors\" href=\"{{ result.url | abs_url(it, result) }}\">\n {{ @each(result.authors) => author, index }}\n <!-- {{ @if(index == 0)}} -->\n Athors: {{ author | trim_to(60) }}\n <!-- {{ /if }} -->\n {{ /each }}\n </a>\n {{ /if }}\n {{ /if }}\n {{ @if (result.type === 'video' || result.type === 'lc_lightning_talk' ) }}\n {{ @if (result.name) }}\n <a class=\"sc-nano-global-search-results result__authors\" href=\"{{ result.url | abs_url(it, result) }}\">Speaker: {{ result.name | trim_to(50) }}</a>\n {{ /if }}\n <a class=\"sc-nano-global-search-results result__video-body\" href=\"{{ result.url | abs_url(it, result) }}\">\n {{ @if (result.image) }}\n <div class=\"sc-nano-global-search-results result__image\" style=\"background-image: url('{{ result.image | abs_url(it, result) }}')\">\n <nano-icon class=\"sc-nano-global-search-results\" name=\"duotone/play-circle\"></nano-icon>\n </div>\n {{ /if }}\n <div class=\"sc-nano-global-search-results result__body\">\n <div class=\"sc-nano-global-search-results result__description\">\n {{ @if (result.description) }}\n {{ result.description | safe | trim_to(200) }}\n {{ /if }}\n </div>\n </div>\n <div class=\"sc-nano-global-search-results result__meta\">\n {{ @if (result.type) }}\n <div class=\"sc-nano-global-search-results result__type\">\n {{ @if (result.type === 'lc_lightning_talk') }}\n Presentation\n {{ #else }}\n {{ result.type }}\n {{ /if }}\n </div>\n {{ /if }}\n {{ @if (result.tags) }}\n <div class=\"sc-nano-global-search-results result__tags\">\n {{ @if (typeof result.tags === 'string') }}\n <button data-value=\"{{ result.tags | lowercase }}\" class=\"sc-nano-global-search-results result__tags-tag\">{{ result.tags }}</button>\n {{ #else }}\n {{ @each(result.tags) => tag, index }}\n {{ @if(index < 5)}}\n {{ @if (tag !== \"No video\" && tag !== \"Resources\" && tag !== \"Video\") }}\n <button data-value=\"{{ tag | lowercase }}\" class=\"sc-nano-global-search-results result__tags-tag\">{{ tag }}</button>\n {{ /if }}\n {{ /if }}\n {{ /each }}\n {{ /if }}\n </div>\n {{ /if }}\n {{ @if (result.source) }}\n <div class=\"sc-nano-global-search-results result__source\">Source: {{ result.source }}</div>\n {{ /if }}\n </div>\n </a>\n {{ /if }}\n {{ @if (result.body) }}\n <a class=\"sc-nano-global-search-results result__body\" href=\"{{ result.url | abs_url(it, result) }}\">{{ result.body | safe | trim_to(200) }}</a>\n {{ /if }}\n {{ @if (result.type === 'product' }}\n <div class=\"sc-nano-global-search-results result__buttons\">\n <a class=\"sc-nano-global-search-results result__buttons-button\" href=\"{{ result.url | abs_url(it, result) }}\">View product</a>\n </div>\n {{ /if }}\n {{ @if (result.type === 'event') }}\n <a class=\"sc-nano-global-search-results result__promo\" href=\"{{ result.url | abs_url(it, result) }}\">\n <div class=\"sc-nano-global-search-results result__promo-box\">\n <div class=\"sc-nano-global-search-results result__promo-bigdate\">\n {{ result.start_date | date_long({year: undefined, month: 'short', day: undefined}) }}\n <span>{{ result.start_date | date_long({year: undefined, month: undefined, day: 'numeric'}) }}</span>\n </div>\n <div>\n <div class=\"sc-nano-global-search-results result__promo-date\">\n <nano-icon class=\"sc-nano-global-search-results\" name=\"light/calendar-alt\"></nano-icon>\n {{ @if (result.end_date) }}\n {{ @if (result.end_date !== result.start_date) }}\n {{ result.start_date | date_long({weekday: 'short', day: 'numeric', month: 'short'}) }} - {{ result.end_date | date_long({weekday: 'short', day: 'numeric', year: 'numeric', month: 'short'}) }}\n {{ #else }}\n {{ result.start_date | date_long({weekday: 'short', day: 'numeric', year: 'numeric', month: 'short'}) }}\n {{ /if }}\n {{ #else }}\n {{ @if (result.start_date) }}\n {{ result.start_date | date_long({weekday: 'short', day: 'numeric', year: 'numeric', month: 'short'}) }}\n {{ /if }}\n {{ /if }}\n </div>\n <div class=\"sc-nano-global-search-results result__promo-venue\">\n <nano-icon class=\"sc-nano-global-search-results\" name=\"light/map-marker-alt\"></nano-icon>\n Venue\n </div>\n </div>\n </div>\n </a>\n {{ /if }}\n {{ @if (result.type !== 'lc_lightning_talk' && result.type !== 'video') }}\n <div class=\"sc-nano-global-search-results result__meta\">\n {{ @if (result.type) }}\n <div class=\"sc-nano-global-search-results result__type\">\n {{ @if (result.type === 'news_item') }}\n News\n {{ #elif (result.type === 'static_page' || result.type === 'flexible' || result.type === 'bespoke') }}\n Page\n {{ #elif (result.type === 'case_study') }}\n Case study\n {{ #elif (result.type === 'lc_poster') }}\n Poster\n {{ #elif (result.type === 'nanopore_live') }}\n Live stream\n {{ #elif (result.type === 'data_release') }}\n Data release\n {{ #elif (result.type === 'research_area') }}\n Research area\n {{ #elif (result.type === 'white_paper') }}\n White paper\n {{ #elif (result.type === 'technical_document') }}\n Technical document\n {{ #elif (result.type === 'info_sheet') }}\n Info sheet\n {{ #elif (result.type === 'lc_home' || result.type === 'lc_venue') }}\n London Calling\n {{ #else }}\n {{ result.type }}\n {{ /if }}\n </div>\n {{ /if }}\n {{ @if (!result.type === 'event') }}\n {{ @if (result.updated) }}\n <div class=\"sc-nano-global-search-results result__date\">{{ result.updated | date_long({year: 'numeric', month: 'short', day: undefined}) }}</div>\n {{ #else }}\n {{ @if (result.created) }}\n <div class=\"sc-nano-global-search-results result__date\">{{ result.created | date_long({year: 'numeric', month: 'short', day: undefined}) }}</div>\n {{ /if }}\n {{ /if }}\n {{ /if }}\n {{ @if (result.tags) }}\n <div class=\"sc-nano-global-search-results result__tags\">\n {{ @if (typeof result.tags === 'string') }}\n {{ @if (result.tags !== \"Resources\" && result.tags !== \"Tools\" && result.tags !== \"Publications\" && result.tags !== \"Case studies\") }}\n <button data-value=\"{{ result.tags | lowercase }}\" class=\"sc-nano-global-search-results result__tags-tag\">{{ result.tags }}</button>\n {{ /if }}\n {{ #else }}\n {{ @each(result.tags) => tag, index }}\n {{ @if(index < 5)}}\n {{ @if (tag !== \"Resources\" && tag !== \"Tools\" && tag !== \"Publications\" && tag !== \"Case studies\") }}\n <button data-value=\"{{ tag | lowercase }}\" class=\"sc-nano-global-search-results result__tags-tag\">{{ tag }}</button>\n {{ /if }}\n {{ /if }}\n {{ /each }}\n {{ /if }}\n </div>\n {{ /if }}\n {{ @if (result.source) }}\n <div class=\"sc-nano-global-search-results result__source\">Source: {{ result.source }}</div>\n {{ /if }}\n </div>\n {{ /if }}\n </div>\n </li>\n {{ /each }}\n {{ /if }}\n </script>\n\n <div slot=\"start-output\"></div>\n <ul slot=\"result-output\" class=\"sc-nano-global-search-results\"></ul>\n </nano-algolia-results>\n\n {{ @if(Object.keys(it.origFilters).length) }}\n <div class=\"sc-nano-global-search-results main-search__filters filters close-filters\" id=\"main-search-filters\">\n <div class=\"sc-nano-global-search-results filters-wrap\">\n {{ @if(it.totalHits) }}\n <div class=\"sc-nano-global-search-results filters-header\">\n <strong class=\"sc-nano-global-search-results filters-title\">Filters</strong>\n <button class=\"sc-nano-global-search-results filters-reset\">Reset</button>\n <button class=\"sc-nano-global-search-results filters__close-filters close-filters icon-button\" aria-controls=\"main-search-filters\">\n <nano-icon class=\"sc-nano-global-search-results\" name=\"light/times\"></nano-icon>\n </button>\n </div>\n {{ /if }}\n\n <div>\n {{ @if(it.origFilters['type']) }}\n <nano-details class=\"sc-nano-global-search-results\" open={true} icon-rotation=\"180\">\n <strong slot=\"label\">Type</strong>\n <nano-icon slot=\"icon-end\" name=\"light/chevron-down\" size=\"small\"></nano-icon>\n <nano-algolia-filter store-id=\"searchf1\" store-method=\"url-hash-push\" filter-name=\"type\">\n <script type=\"text/template\" slot=\"filter-template\">\n <ul class=\"sc-nano-global-search-results\" data-num=\"{{(x = 0)}}\">\n {{ @foreach(it.dyn) => filter, filterVal }}\n <li class=\"sc-nano-global-search-results\" data-num=\"{{(x++)}}\">\n <input class=\"sc-nano-global-search-results filter-cb\" type=\"checkbox\" value=\"{{ filter }}\" id=\"type-{{ filter }}-{{x}}\" />\n <label class=\"sc-nano-global-search-results filter-label\" for=\"type-{{ filter }}-{{x}}\">\n <span>{{ filter | public_name }} (<strong>{{ filterVal }}</strong>)</span>\n </label></li>\n {{ /foreach }}\n </ul>\n </script>\n <div slot=\"output\"></div>\n </nano-algolia-filter>\n </nano-details>\n {{ /if }}\n\n {{ @if(it.origFilters['channel']) }}\n <nano-details open={true} icon-rotation=\"180\">\n <strong slot=\"label\">Channels</strong>\n <nano-icon slot=\"icon-end\" name=\"light/chevron-down\" size=\"small\"></nano-icon>\n <nano-algolia-filter store-id=\"searchf2\" store-method=\"url-hash-push\" filter-name=\"channel\">\n <script type=\"text/template\" slot=\"filter-template\">\n <ul class=\"sc-nano-global-search-results\" data-num=\"{{(x = 0)}}\">\n {{ @foreach(it.dyn) => filter, filterVal }}\n <li class=\"sc-nano-global-search-results\" data-num=\"{{(x++)}}\">\n <input class=\"filter-cb sc-nano-global-search-results\" type=\"checkbox\" value=\"{{ filter }}\" id=\"channel-{{ filter }}-{{x}}\" />\n <label class=\"filter-label sc-nano-global-search-results\" for=\"channel-{{ filter }}-{{x}}\">\n <span>{{ filter | public_name }} (<strong>{{ filterVal }}</strong>)</span>\n </label></li>\n {{ /foreach }}\n </ul>\n </script>\n <div slot=\"output\"></div>\n </nano-algolia-filter>\n </nano-details>\n {{ /if }}\n\n {{ @if(it.origFilters['authors']) }}\n <nano-details open={true} icon-rotation=\"180\">\n <strong slot=\"label\">Authors</strong>\n <nano-icon slot=\"icon-end\" name=\"light/chevron-down\" size=\"small\"></nano-icon>\n <nano-algolia-filter store-id=\"searchf3\" store-method=\"url-hash-push\" filter-name=\"authors\">\n <script type=\"text/template\" slot=\"filter-template\">\n <ul class=\"sc-nano-global-search-results\" data-num=\"{{(x = 0)}}\">\n {{ @foreach(it.dyn) => filter, filterVal }}\n <li class=\"sc-nano-global-search-results\" data-num=\"{{(x++)}}\">\n <input class=\"filter-cb sc-nano-global-search-results\" type=\"checkbox\" value=\"{{ filter }}\" id=\"authors-{{ filter }}-{{x}}\" />\n <label class=\"filter-label sc-nano-global-search-results\" for=\"authors-{{ filter }}-{{x}}\">\n <span>{{ filter | public_name }} (<strong>{{ filterVal }}</strong>)</span>\n </label></li>\n {{ /foreach }}\n </ul>\n </script>\n <div slot=\"output\"></div>\n </nano-algolia-filter>\n </nano-details>\n {{ /if }}\n\n {{ @if(it.origFilters['categories_without_path']) }}\n <nano-details open={true} icon-rotation=\"180\">\n <strong slot=\"label\">Category</strong>\n <nano-icon slot=\"icon-end\" name=\"light/chevron-down\" size=\"small\"></nano-icon>\n <nano-algolia-filter store-id=\"searchf4\" store-method=\"url-hash-push\" filter-name=\"categories_without_path\">\n <script type=\"text/template\" slot=\"filter-template\">\n <ul class=\"sc-nano-global-search-results\" data-num=\"{{(x = 0)}}\">\n {{ @foreach(it.dyn) => filter, filterVal }}\n {{ @if(!filter.match(/publication/)) }}\n <li class=\"sc-nano-global-search-results\" data-num=\"{{(x++)}}\">\n <input class=\"sc-nano-global-search-results filter-cb\" type=\"checkbox\" value=\"{{ filter }}\" id=\"cwp-{{ filter }}-{{x}}\" />\n <label class=\"sc-nano-global-search-results filter-label\" for=\"cwp-{{ filter }}-{{x}}\">\n <span>{{ filter | public_name }} (<strong>{{ filterVal }}</strong>)</span>\n </label></li>\n {{ /if }}\n {{ /foreach }}\n </ul>\n </script>\n <div slot=\"output\"></div>\n </nano-algolia-filter>\n </nano-details>\n {{ /if }}\n\n {{ @if(it.origFilters['tags']) }}\n <nano-details open={true} icon-rotation=\"180\">\n <strong slot=\"label\">Tags</strong>\n <nano-icon slot=\"icon-end\" name=\"light/chevron-down\" size=\"small\"></nano-icon>\n <nano-algolia-filter store-id=\"searchf5\" store-method=\"url-hash-push\" filter-name=\"tags\">\n <script type=\"text/template\" slot=\"filter-template\">\n <ul class=\"sc-nano-global-search-results\" data-num=\"{{(x = 0)}}\">\n {{ @foreach(it.dyn) => filter, filterVal }}\n <li class=\"sc-nano-global-search-results\" data-num=\"{{(x++)}}\">\n <input class=\"filter-cb sc-nano-global-search-results\" type=\"checkbox\" value=\"{{ filter | lowercase }}\" id=\"tags-{{ filter }}-{{x}}\" />\n <label class=\"filter-label sc-nano-global-search-results\" for=\"tags-{{ filter }}-{{x}}\">\n <span>{{ filter | public_name }} (<strong>{{ filterVal }}</strong>)</span>\n </label></li>\n {{ /foreach }}\n </ul>\n </script>\n <div slot=\"output\"></div>\n </nano-algolia-filter>\n </nano-details>\n {{ /if }}\n </div>\n </div>\n </div>\n {{ /if }}\n </div>`}\n </script>\n <div slot=\"output\"></div>\n <slot />\n </nano-algolia>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/tabs/tab.scss?tag=nano-tab&encapsulation=shadow","src/components/tabs/tab.tsx"],"names":["tabCss","id","Tab","exports","class_1","hostRef","_this","this","tabId","panel","active","disabled","closable","handleCloseClick","nanoTabClose","emit","prototype","setFocus","tab","focus","preventScroll","removeFocus","blur","render","h","Host","host","part","ref","el","class","nanotab","nanotab--active","nanotab--disabled","nanotab--closable","role","aria-disabled","aria-selected","tabindex","label","iconName","onClick","tabIndex","aria-hidden"],"mappings":";;;qKAAA,IAAMA,EAAS,gvGCYf,IAAIC,EAAK,MAWIC,EAAGC,EAAA,WAAA,WALhB,SAAAC,EAAAC,GAAA,IAAAC,EAAAC,0DAMUA,KAAAC,MAAQ,eAAcP,EAMLM,KAAAE,MAAQ,GAGRF,KAAAG,OAAS,MAGTH,KAAAI,SAAW,MAG5BJ,KAAAK,SAAW,MAiBXL,KAAAM,iBAAmB,WACzBP,EAAKQ,aAAaC,QAXdX,EAAAY,UAAAC,SAAN,gGACEV,KAAKW,IAAIC,MAAM,CAAEC,cAAe,wBAK5BhB,EAAAY,UAAAK,YAAN,gGACEd,KAAKW,IAAII,wBAOXlB,EAAAY,UAAAO,OAAA,WAAA,IAAAjB,EAAAC,KACE,OACEiB,EAACC,EAAI,CAACxB,GAAIM,KAAKmB,KAAKzB,IAAMM,KAAKC,OAC7BgB,EAAA,MAAA,CACEG,KAAK,OACLC,IAAK,SAACC,GAAE,OAAMvB,EAAKY,IAAMW,GACzBC,MAAO,CACLC,QAAS,KACTC,kBAAmBzB,KAAKG,OACxBuB,oBAAqB1B,KAAKI,SAC1BuB,oBAAqB3B,KAAKK,UAE5BuB,KAAK,MAAKC,gBACK7B,KAAKI,SAAW,OAAS,QAAO0B,gBAChC9B,KAAKG,OAAS,OAAS,QACtC4B,SAAU/B,KAAKI,WAAaJ,KAAKG,OAAS,KAAO,KAEjDc,EAAA,OAAA,MACCjB,KAAKK,UACJY,EAAA,mBAAA,CACEe,MAAM,iBACNC,SAAS,cACTV,MAAM,wBACNW,QAASlC,KAAKM,iBACd6B,UAAW,EAACC,cACA,mIA9DV","sourcesContent":["@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n@import '../../global/style/nano-theme/base';\n@import '../../global/style/nano-theme/layers';\n\n/**\n * @prop --focus-shadow: Defaults to #{$control-focus-style};\n\n * @prop --padding: Defaults to .75rem 1rem on placement 'top' and 1rem on placement 'start';\n\n * @prop --bg-rgb: Defaults to #{$layer-bg-color-rgb};\n * @prop --active-bg: Defaults to rgba(var(--bg-rgb), 1);\n * @prop --disabled-bg-rgb: Defaults to var(--bg-rgb);\n * @prop --inactive-bg: Defaults to rgba(var(--bg-rgb), 0.7);\n\n * @prop --text-color: Defaults to #{$color-blue};\n * @prop --disabled-text-color: Defaults to #{$color-darkgrey};\n * @prop --active-text-color: Defaults to #{$color-darkblue};\n\n * @prop --h-font-size: Defaults to .93em;\n * @prop --v-font-size: Defaults to .875em;\n * @prop --tab-spacing: Gap between tabs. Defaults to 1rem;\n * @prop --tab-divider-size: Defaults to 0;\n * @prop --tab-divider-color: Defaults to #{$color-lightblue};\n */\n\n:host {\n --focus-shadow: #{$control-focus-style};\n --padding: 0.75rem 1rem;\n --bg-rgb: #{$layer-bg-color-rgb};\n --active-bg: rgba(var(--bg-rgb), 1);\n --inactive-bg: rgba(var(--bg-rgb), 0.7);\n --disabled-bg-rgb: var(--bg-rgb);\n --text-color: #{$color-blue};\n --disabled-text-color: #{$color-darkgrey};\n --active-text-color: #{$color-darkblue};\n --h-font-size: 0.93em;\n --v-font-size: 0.875em;\n --tab-spacing: 0.5rem;\n --tab-divider-size: 0;\n --tab-divider-color: #{$color-lightblue};\n --tab-indicator-size: 5px;\n\n display: inline-block;\n}\n\n:host([direction='vertical']) {\n --padding: 1rem;\n\n .nanotab {\n font-size: var(--v-font-size);\n\n &.nanotab--active {\n font-weight: 600;\n color: var(--active-text-color);\n }\n }\n}\n\n:host([direction='horizontal']) {\n .nanotab {\n font-size: var(--h-font-size);\n margin-top: var(--tab-indicator-size);\n border-right: solid var(--tab-divider-size) var(--tab-divider-color);\n\n &.nanotab--active {\n margin-top: 0;\n border-top: solid var(--tab-indicator-size) var(--tab-indicator-color);\n background: var(--active-bg);\n color: var(--active-text-color);\n }\n }\n}\n\n.nanotab {\n @include text-inherit();\n @include margin(null, var(--tab-spacing), null, null);\n\n padding: var(--padding);\n display: flex;\n height: 100%;\n width: auto;\n background: var(--inactive-bg);\n border-radius: var(--border-radius) var(--border-radius) 0 0;\n user-select: none;\n cursor: pointer;\n overflow: visible;\n white-space: nowrap;\n align-items: center;\n\n & ::slotted(*) {\n display: flex;\n align-items: center;\n }\n\n :host(:last-of-type) & {\n @include margin(null, 0, null, null);\n }\n\n &:hover:not(.tab--disabled) {\n text-shadow: 0 0 0.01px var(--text-color);\n }\n\n &:focus {\n outline: none;\n outline-style: none;\n box-shadow: none;\n border-color: transparent;\n }\n\n &:focus:not(.nanotab--disabled) {\n box-shadow: var(--focus-shadow) inset;\n }\n\n &--disabled {\n background: rgba(var(--disabled-bg-rgb), 1);\n opacity: 0.5;\n cursor: not-allowed;\n color: var(--disabled-text-color);\n }\n\n &__close-button {\n @include margin(null, null, null, #{$spacing-small});\n\n --padding: #{$spacing-xsmall} !important;\n }\n}\n","import {\n Component,\n Element,\n Host,\n ComponentInterface,\n Method,\n Prop,\n h,\n Event,\n EventEmitter,\n} from '@stencil/core';\n\nlet id = 0;\n\n/**\n * @slot - The tab's label.\n */\n\n@Component({\n tag: 'nano-tab',\n styleUrl: 'tab.scss',\n shadow: true,\n})\nexport class Tab implements ComponentInterface {\n private tabId = `nano-tab-${++id}`;\n private tab: HTMLElement;\n\n @Element() host: HTMLNanoTabElement;\n\n /** The name of the tab panel the tab will control. The panel must be located in the same tab group. */\n @Prop({ reflect: true }) panel = '';\n\n /** The active, selected tab. If none active, the first will automatically be selected. */\n @Prop({ reflect: true }) active = false;\n\n /** Set to true to draw the tab in an active state. */\n @Prop({ reflect: true }) disabled = false;\n\n /** When true, the tab will be rendered with a close icon. */\n @Prop() closable = false;\n\n /** Emitted when the tab is closable and the close button is activated. */\n @Event() nanoTabClose: EventEmitter;\n\n /** Sets focus to the tab. */\n @Method()\n async setFocus() {\n this.tab.focus({ preventScroll: true });\n }\n\n /** Removes focus from the tab. */\n @Method()\n async removeFocus() {\n this.tab.blur();\n }\n\n private handleCloseClick = () => {\n this.nanoTabClose.emit();\n };\n\n render() {\n return (\n <Host id={this.host.id || this.tabId}>\n <div\n part=\"base\"\n ref={(el) => (this.tab = el)}\n class={{\n nanotab: true,\n 'nanotab--active': this.active,\n 'nanotab--disabled': this.disabled,\n 'nanotab--closable': this.closable,\n }}\n role=\"tab\"\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-selected={this.active ? 'true' : 'false'}\n tabindex={this.disabled || !this.active ? '-1' : '0'}\n >\n <slot />\n {this.closable && (\n <nano-icon-button\n label=\"Close this tab\"\n iconName=\"light/times\"\n class=\"nanotab__close-button\"\n onClick={this.handleCloseClick}\n tabIndex={-1}\n aria-hidden=\"true\"\n />\n )}\n </div>\n </Host>\n );\n }\n}\n"]}