@nanoporetech-digital/components 8.0.0-alpha.8 → 8.0.0-alpha.9

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 (305) hide show
  1. package/dist/cjs/{algolia-data-Ck3OvAaS.js → algolia-data-CSm7qrG0.js} +1 -1
  2. package/dist/cjs/{component-store-Cpxjkhrv.js → component-store-Bjf_XOwd.js} +1 -1
  3. package/dist/cjs/{dom-B0-coRX2.js → dom-DM4lO0bS.js} +1 -1
  4. package/dist/cjs/{fade-463IMjUb.js → fade-DYt6Phy3.js} +3 -3
  5. package/dist/cjs/{form-control-OWJOOoxA.js → form-control-BGk1kbyE.js} +1 -1
  6. package/dist/cjs/{fullscreen-0yMY8mhF.js → fullscreen-B0RzdP3s.js} +3 -3
  7. package/dist/cjs/{index-ZOnWVzxx.js → index-DMCNW34o.js} +1 -1
  8. package/dist/cjs/{index-BlC8UV0T.js → index-trCnMfo7.js} +1 -1
  9. package/dist/cjs/index.cjs.js +3 -3
  10. package/dist/cjs/{lazyload-CnQrwJrf.js → lazyload-DzKvneFi.js} +3 -3
  11. package/dist/cjs/loader.cjs.js +2 -2
  12. package/dist/cjs/{modal-DTqHsNdW.js → modal-Ca7dG1up.js} +1 -1
  13. package/dist/cjs/nano-accordion.cjs.entry.js +3 -3
  14. package/dist/cjs/nano-alert.cjs.entry.js +7 -7
  15. package/dist/cjs/nano-algolia-filter.cjs.entry.js +4 -4
  16. package/dist/cjs/nano-algolia-pagination.cjs.entry.js +2 -2
  17. package/dist/cjs/nano-algolia-results.cjs.entry.js +3 -3
  18. package/dist/cjs/nano-algolia.cjs.entry.js +6 -6
  19. package/dist/cjs/nano-animation.cjs.entry.js +2 -2
  20. package/dist/cjs/nano-avatar_5.cjs.entry.js +17 -17
  21. package/dist/cjs/nano-breadcrumb.cjs.entry.js +42 -9
  22. package/dist/cjs/nano-card-carousel.cjs.entry.js +2 -2
  23. package/dist/cjs/nano-card.cjs.entry.js +1 -1
  24. package/dist/cjs/nano-checkbox-group.cjs.entry.js +2 -2
  25. package/dist/cjs/nano-checkbox.cjs.entry.js +2 -2
  26. package/dist/cjs/nano-collapsible-comparison.cjs.entry.js +2 -2
  27. package/dist/cjs/nano-components.cjs.js +3 -3
  28. package/dist/cjs/nano-content-links.cjs.entry.js +1 -1
  29. package/dist/cjs/nano-cta.cjs.entry.js +1 -1
  30. package/dist/cjs/{nano-data-table-fppjZGKo.js → nano-data-table-zUnFb2XO.js} +5 -5
  31. package/dist/cjs/nano-data-table.cjs.entry.js +6 -6
  32. package/dist/cjs/nano-datalist_3.cjs.entry.js +15 -15
  33. package/dist/cjs/nano-date-input.cjs.entry.js +6 -6
  34. package/dist/cjs/nano-date-picker_2.cjs.entry.js +4 -4
  35. package/dist/cjs/nano-details.cjs.entry.js +3 -3
  36. package/dist/cjs/nano-dialog.cjs.entry.js +8 -8
  37. package/dist/cjs/nano-dropdown_2.cjs.entry.js +5 -5
  38. package/dist/cjs/nano-feature-box.cjs.entry.js +1 -1
  39. package/dist/cjs/nano-field-validator.cjs.entry.js +3 -3
  40. package/dist/cjs/nano-file-upload.cjs.entry.js +2 -2
  41. package/dist/cjs/nano-footer.cjs.entry.js +2 -2
  42. package/dist/cjs/nano-global-nav.cjs.entry.js +20 -12
  43. package/dist/cjs/nano-grid-item.cjs.entry.js +1 -1
  44. package/dist/cjs/nano-grid_2.cjs.entry.js +3 -3
  45. package/dist/cjs/nano-hero.cjs.entry.js +2 -2
  46. package/dist/cjs/nano-icon-item.cjs.entry.js +1 -1
  47. package/dist/cjs/nano-icon_3.cjs.entry.js +4 -4
  48. package/dist/cjs/nano-in-page-nav.cjs.entry.js +14 -8
  49. package/dist/cjs/nano-intersection-observe.cjs.entry.js +4 -4
  50. package/dist/cjs/nano-masked-overflow.cjs.entry.js +4 -4
  51. package/dist/cjs/nano-menu-drawer.cjs.entry.js +63 -99
  52. package/dist/cjs/nano-more-less.cjs.entry.js +4 -4
  53. package/dist/cjs/nano-nav-item.cjs.entry.js +12 -16
  54. package/dist/cjs/nano-progress-bar.cjs.entry.js +1 -1
  55. package/dist/cjs/nano-range.cjs.entry.js +2 -2
  56. package/dist/cjs/nano-rating.cjs.entry.js +6 -6
  57. package/dist/cjs/nano-resize-observe.cjs.entry.js +43 -34
  58. package/dist/cjs/nano-slide.cjs.entry.js +3 -3
  59. package/dist/cjs/{nano-slides-BxtmLUSX.js → nano-slides-C3CzGlwK.js} +9 -9
  60. package/dist/cjs/nano-slides.cjs.entry.js +3 -3
  61. package/dist/cjs/nano-sortable.cjs.entry.js +3 -3
  62. package/dist/cjs/nano-spinner.cjs.entry.js +1 -1
  63. package/dist/cjs/nano-split-pane.cjs.entry.js +2 -2
  64. package/dist/cjs/nano-sticker.cjs.entry.js +6 -6
  65. package/dist/cjs/nano-tab-content.cjs.entry.js +4 -4
  66. package/dist/cjs/nano-tab-group.cjs.entry.js +4 -4
  67. package/dist/cjs/nano-tab.cjs.entry.js +4 -4
  68. package/dist/cjs/nano-table.cjs.entry.js +4 -4
  69. package/dist/cjs/{page-dots-B2slCN6O.js → page-dots-Cpgo_xGE.js} +3 -3
  70. package/dist/cjs/{renderer-BjTjwe8d.js → renderer-W7BRtd3i.js} +1 -1
  71. package/dist/cjs/{scroll-CtgMHKrt.js → scroll-33Y1FRj4.js} +9 -14
  72. package/dist/cjs/{slot-CoMwYflw.js → slot-CppKo1Tn.js} +1 -1
  73. package/dist/cjs/{tabbable-D33Xh_1b.js → tabbable-CQ4-mXv0.js} +1 -1
  74. package/dist/cjs/{table.worker-CBBDTe_S.js → table.worker-Dto6wn52.js} +6 -6
  75. package/dist/collection/collection-manifest.json +1 -1
  76. package/dist/collection/components/algolia/algolia.js +1 -1
  77. package/dist/collection/components/breadcrumb/breadcrumb.css +24 -28
  78. package/dist/collection/components/breadcrumb/breadcrumb.js +41 -8
  79. package/dist/collection/components/datalist/datalist.js +6 -6
  80. package/dist/collection/components/date-input/date-input.js +5 -6
  81. package/dist/collection/components/drawer/drawer.css +0 -1
  82. package/dist/collection/components/dropdown/dropdown.js +1 -1
  83. package/dist/collection/components/field-validator/field-validator.js +1 -1
  84. package/dist/collection/components/footer/footer.css +15 -1
  85. package/dist/collection/components/global-nav/global-nav.css +1 -1
  86. package/dist/collection/components/global-nav/global-nav.js +34 -9
  87. package/dist/collection/components/global-search-results/global-search-results.css +0 -1
  88. package/dist/collection/components/grid/grid.css +8 -5
  89. package/dist/collection/components/in-page-nav/in-page-nav.js +15 -5
  90. package/dist/collection/components/menu-drawer/menu-drawer.css +61 -83
  91. package/dist/collection/components/menu-drawer/menu-drawer.js +66 -151
  92. package/dist/collection/components/more-less/more-less.js +2 -2
  93. package/dist/collection/components/nav-item/nav-item.css +1 -93
  94. package/dist/collection/components/nav-item/nav-item.js +15 -32
  95. package/dist/collection/components/option/option.css +1 -3
  96. package/dist/collection/components/option/option.js +4 -4
  97. package/dist/collection/components/rating/rating.js +4 -4
  98. package/dist/collection/components/resize-observe/resize-observe.js +44 -32
  99. package/dist/collection/components/select/select.js +7 -7
  100. package/dist/collection/components/slides/slide.js +1 -1
  101. package/dist/collection/components/slides/slides.js +3 -3
  102. package/dist/collection/components/sortable/sortable.js +6 -6
  103. package/dist/collection/components/sticker/sticker.js +2 -2
  104. package/dist/collection/components/table/table.js +2 -2
  105. package/dist/collection/components/tabs/tab-content.js +2 -2
  106. package/dist/collection/components/tabs/tab.js +2 -2
  107. package/dist/collection/components/tag/tag.js +2 -2
  108. package/dist/collection/components/tooltip/tooltip.js +2 -2
  109. package/dist/collection/utils/scroll.js +8 -13
  110. package/dist/components/algolia.js +1 -1
  111. package/dist/components/datalist.js +6 -6
  112. package/dist/components/drawer.js +1 -1
  113. package/dist/components/grid.js +1 -1
  114. package/dist/components/nano-breadcrumb.js +42 -9
  115. package/dist/components/nano-date-input.js +4 -4
  116. package/dist/components/nano-footer.js +1 -1
  117. package/dist/components/nano-global-nav.js +19 -10
  118. package/dist/components/nano-in-page-nav.js +15 -5
  119. package/dist/components/nano-menu-drawer.js +64 -105
  120. package/dist/components/nano-more-less.js +2 -2
  121. package/dist/components/nano-rating.js +4 -4
  122. package/dist/components/nano-slide.js +1 -1
  123. package/dist/components/nano-sortable.js +1 -1
  124. package/dist/components/nano-tab-content.js +2 -2
  125. package/dist/components/nano-tab.js +2 -2
  126. package/dist/components/nano-table.js +2 -2
  127. package/dist/components/nav-item.js +7 -12
  128. package/dist/components/option.js +4 -4
  129. package/dist/components/resize-observe.js +41 -32
  130. package/dist/components/scroll.js +8 -13
  131. package/dist/components/select.js +7 -7
  132. package/dist/components/slides.js +3 -3
  133. package/dist/components/sticker.js +2 -2
  134. package/dist/components/tag.js +2 -2
  135. package/dist/components/tooltip.js +2 -2
  136. package/dist/esm/{algolia-data-B1lm-wYl.js → algolia-data-BWVUf8dc.js} +1 -1
  137. package/dist/esm/{component-store-DMqr8_D3.js → component-store-6lIsMtwd.js} +1 -1
  138. package/dist/esm/{dom-COiksOVZ.js → dom-C8mB0MAq.js} +1 -1
  139. package/dist/esm/{fade-BR_L2aBv.js → fade-BUaM9GO7.js} +3 -3
  140. package/dist/esm/{form-control-dh9YtDPa.js → form-control-COOIq-Al.js} +1 -1
  141. package/dist/esm/{fullscreen-ChzUqF71.js → fullscreen-D9bU32l7.js} +3 -3
  142. package/dist/esm/{index-CX_Hk6ss.js → index-q0XK-YfO.js} +1 -1
  143. package/dist/esm/{index-VZJF9v1K.js → index-wpeqhSWn.js} +1 -1
  144. package/dist/esm/index.js +4 -4
  145. package/dist/esm/{lazyload-IYX4l8Tu.js → lazyload-C6olXHXA.js} +3 -3
  146. package/dist/esm/loader.js +3 -3
  147. package/dist/esm/{modal-CH7Vma1I.js → modal-DmA7xt58.js} +1 -1
  148. package/dist/esm/nano-accordion.entry.js +3 -3
  149. package/dist/esm/nano-alert.entry.js +7 -7
  150. package/dist/esm/nano-algolia-filter.entry.js +4 -4
  151. package/dist/esm/nano-algolia-pagination.entry.js +2 -2
  152. package/dist/esm/nano-algolia-results.entry.js +3 -3
  153. package/dist/esm/nano-algolia.entry.js +6 -6
  154. package/dist/esm/nano-animation.entry.js +2 -2
  155. package/dist/esm/nano-avatar_5.entry.js +17 -17
  156. package/dist/esm/nano-breadcrumb.entry.js +42 -9
  157. package/dist/esm/nano-card-carousel.entry.js +2 -2
  158. package/dist/esm/nano-card.entry.js +1 -1
  159. package/dist/esm/nano-checkbox-group.entry.js +2 -2
  160. package/dist/esm/nano-checkbox.entry.js +2 -2
  161. package/dist/esm/nano-collapsible-comparison.entry.js +2 -2
  162. package/dist/esm/nano-components.js +4 -4
  163. package/dist/esm/nano-content-links.entry.js +1 -1
  164. package/dist/esm/nano-cta.entry.js +1 -1
  165. package/dist/esm/{nano-data-table-EkTqZy8O.js → nano-data-table-CC6zn15I.js} +5 -5
  166. package/dist/esm/nano-data-table.entry.js +6 -6
  167. package/dist/esm/nano-datalist_3.entry.js +15 -15
  168. package/dist/esm/nano-date-input.entry.js +6 -6
  169. package/dist/esm/nano-date-picker_2.entry.js +4 -4
  170. package/dist/esm/nano-details.entry.js +3 -3
  171. package/dist/esm/nano-dialog.entry.js +8 -8
  172. package/dist/esm/nano-dropdown_2.entry.js +5 -5
  173. package/dist/esm/nano-feature-box.entry.js +1 -1
  174. package/dist/esm/nano-field-validator.entry.js +3 -3
  175. package/dist/esm/nano-file-upload.entry.js +2 -2
  176. package/dist/esm/nano-footer.entry.js +2 -2
  177. package/dist/esm/nano-global-nav.entry.js +20 -12
  178. package/dist/esm/nano-grid-item.entry.js +1 -1
  179. package/dist/esm/nano-grid_2.entry.js +3 -3
  180. package/dist/esm/nano-hero.entry.js +2 -2
  181. package/dist/esm/nano-icon-item.entry.js +1 -1
  182. package/dist/esm/nano-icon_3.entry.js +4 -4
  183. package/dist/esm/nano-in-page-nav.entry.js +14 -8
  184. package/dist/esm/nano-intersection-observe.entry.js +4 -4
  185. package/dist/esm/nano-masked-overflow.entry.js +4 -4
  186. package/dist/esm/nano-menu-drawer.entry.js +63 -99
  187. package/dist/esm/nano-more-less.entry.js +4 -4
  188. package/dist/esm/nano-nav-item.entry.js +12 -16
  189. package/dist/esm/nano-progress-bar.entry.js +1 -1
  190. package/dist/esm/nano-range.entry.js +2 -2
  191. package/dist/esm/nano-rating.entry.js +6 -6
  192. package/dist/esm/nano-resize-observe.entry.js +43 -34
  193. package/dist/esm/nano-slide.entry.js +3 -3
  194. package/dist/esm/{nano-slides-DL3S1wHE.js → nano-slides-B0sdF3jS.js} +9 -9
  195. package/dist/esm/nano-slides.entry.js +3 -3
  196. package/dist/esm/nano-sortable.entry.js +3 -3
  197. package/dist/esm/nano-spinner.entry.js +1 -1
  198. package/dist/esm/nano-split-pane.entry.js +2 -2
  199. package/dist/esm/nano-sticker.entry.js +6 -6
  200. package/dist/esm/nano-tab-content.entry.js +4 -4
  201. package/dist/esm/nano-tab-group.entry.js +4 -4
  202. package/dist/esm/nano-tab.entry.js +4 -4
  203. package/dist/esm/nano-table.entry.js +4 -4
  204. package/dist/esm/{page-dots-gxG3_NaA.js → page-dots-B8o2-Gb8.js} +3 -3
  205. package/dist/esm/{renderer-ZmozgREV.js → renderer-BjGZGWn8.js} +1 -1
  206. package/dist/esm/{scroll-D4n69pGx.js → scroll-N_WMYKm7.js} +9 -14
  207. package/dist/esm/{slot-CjAtXEOo.js → slot-CUINJXSo.js} +1 -1
  208. package/dist/esm/{tabbable-CZtanbA9.js → tabbable-DqhO0wy7.js} +1 -1
  209. package/dist/esm/{table.worker-Dcaz5STw.js → table.worker-DxcGLZVJ.js} +6 -6
  210. package/dist/nano-components/{algolia-data-B1lm-wYl.js → algolia-data-BWVUf8dc.js} +1 -1
  211. package/dist/nano-components/{component-store-DMqr8_D3.js → component-store-6lIsMtwd.js} +1 -1
  212. package/dist/nano-components/{dom-COiksOVZ.js → dom-C8mB0MAq.js} +1 -1
  213. package/dist/nano-components/{fade-BR_L2aBv.js → fade-BUaM9GO7.js} +1 -1
  214. package/dist/nano-components/{form-control-dh9YtDPa.js → form-control-COOIq-Al.js} +1 -1
  215. package/dist/nano-components/{fullscreen-ChzUqF71.js → fullscreen-D9bU32l7.js} +1 -1
  216. package/dist/nano-components/{index-VZJF9v1K.js → index-wpeqhSWn.js} +1 -1
  217. package/dist/nano-components/index.esm.js +1 -1
  218. package/dist/nano-components/{lazyload-IYX4l8Tu.js → lazyload-C6olXHXA.js} +1 -1
  219. package/dist/nano-components/{modal-CH7Vma1I.js → modal-DmA7xt58.js} +1 -1
  220. package/dist/nano-components/nano-accordion.entry.js +1 -1
  221. package/dist/nano-components/nano-alert.entry.js +1 -1
  222. package/dist/nano-components/nano-algolia-filter.entry.js +1 -1
  223. package/dist/nano-components/nano-algolia-pagination.entry.js +1 -1
  224. package/dist/nano-components/nano-algolia-results.entry.js +1 -1
  225. package/dist/nano-components/nano-algolia.entry.js +1 -1
  226. package/dist/nano-components/nano-animation.entry.js +1 -1
  227. package/dist/nano-components/nano-avatar_5.entry.js +1 -1
  228. package/dist/nano-components/nano-breadcrumb.entry.js +1 -1
  229. package/dist/nano-components/nano-card-carousel.entry.js +1 -1
  230. package/dist/nano-components/nano-card.entry.js +1 -1
  231. package/dist/nano-components/nano-checkbox-group.entry.js +1 -1
  232. package/dist/nano-components/nano-checkbox.entry.js +1 -1
  233. package/dist/nano-components/nano-collapsible-comparison.entry.js +1 -1
  234. package/dist/nano-components/nano-components.css +319 -176
  235. package/dist/nano-components/nano-components.esm.js +1 -1
  236. package/dist/nano-components/nano-content-links.entry.js +1 -1
  237. package/dist/nano-components/nano-cta.entry.js +1 -1
  238. package/dist/nano-components/{nano-data-table-EkTqZy8O.js → nano-data-table-CC6zn15I.js} +1 -1
  239. package/dist/nano-components/nano-data-table.entry.js +1 -1
  240. package/dist/nano-components/nano-datalist_3.entry.js +1 -1
  241. package/dist/nano-components/nano-date-input.entry.js +1 -1
  242. package/dist/nano-components/nano-date-picker_2.entry.js +1 -1
  243. package/dist/nano-components/nano-details.entry.js +1 -1
  244. package/dist/nano-components/nano-dialog.entry.js +1 -1
  245. package/dist/nano-components/nano-dropdown_2.entry.js +1 -1
  246. package/dist/nano-components/nano-feature-box.entry.js +1 -1
  247. package/dist/nano-components/nano-field-validator.entry.js +1 -1
  248. package/dist/nano-components/nano-file-upload.entry.js +1 -1
  249. package/dist/nano-components/nano-footer.entry.js +1 -1
  250. package/dist/nano-components/nano-global-nav.entry.js +1 -1
  251. package/dist/nano-components/nano-grid-item.entry.js +1 -1
  252. package/dist/nano-components/nano-grid_2.entry.js +1 -1
  253. package/dist/nano-components/nano-hero.entry.js +1 -1
  254. package/dist/nano-components/nano-icon-item.entry.js +1 -1
  255. package/dist/nano-components/nano-icon_3.entry.js +1 -1
  256. package/dist/nano-components/nano-in-page-nav.entry.js +1 -1
  257. package/dist/nano-components/nano-intersection-observe.entry.js +1 -1
  258. package/dist/nano-components/nano-masked-overflow.entry.js +1 -1
  259. package/dist/nano-components/nano-menu-drawer.entry.js +1 -1
  260. package/dist/nano-components/nano-more-less.entry.js +1 -1
  261. package/dist/nano-components/nano-nav-item.entry.js +1 -1
  262. package/dist/nano-components/nano-progress-bar.entry.js +1 -1
  263. package/dist/nano-components/nano-range.entry.js +1 -1
  264. package/dist/nano-components/nano-rating.entry.js +1 -1
  265. package/dist/nano-components/nano-resize-observe.entry.js +1 -1
  266. package/dist/nano-components/nano-slide.entry.js +1 -1
  267. package/dist/nano-components/{nano-slides-DL3S1wHE.js → nano-slides-B0sdF3jS.js} +4 -4
  268. package/dist/nano-components/nano-slides.entry.js +1 -1
  269. package/dist/nano-components/nano-sortable.entry.js +1 -1
  270. package/dist/nano-components/nano-spinner.entry.js +1 -1
  271. package/dist/nano-components/nano-split-pane.entry.js +1 -1
  272. package/dist/nano-components/nano-sticker.entry.js +1 -1
  273. package/dist/nano-components/nano-tab-content.entry.js +1 -1
  274. package/dist/nano-components/nano-tab-group.entry.js +1 -1
  275. package/dist/nano-components/nano-tab.entry.js +1 -1
  276. package/dist/nano-components/nano-table.entry.js +1 -1
  277. package/dist/nano-components/{page-dots-gxG3_NaA.js → page-dots-B8o2-Gb8.js} +1 -1
  278. package/dist/nano-components/{renderer-ZmozgREV.js → renderer-BjGZGWn8.js} +1 -1
  279. package/dist/nano-components/scroll-N_WMYKm7.js +4 -0
  280. package/dist/nano-components/{slot-CjAtXEOo.js → slot-CUINJXSo.js} +1 -1
  281. package/dist/nano-components/{tabbable-CZtanbA9.js → tabbable-DqhO0wy7.js} +1 -1
  282. package/dist/nano-components/table.worker-DxcGLZVJ.js +4 -0
  283. package/dist/style/components.css +1 -1
  284. package/dist/style/components.css.map +1 -1
  285. package/dist/style/nano.css +1 -1
  286. package/dist/style/nano.css.map +1 -1
  287. package/dist/types/components/breadcrumb/breadcrumb.d.ts +7 -1
  288. package/dist/types/components/date-input/date-input.d.ts +1 -2
  289. package/dist/types/components/global-nav/global-nav.d.ts +5 -0
  290. package/dist/types/components/in-page-nav/in-page-nav.d.ts +1 -0
  291. package/dist/types/components/menu-drawer/menu-drawer.d.ts +12 -27
  292. package/dist/types/components/nav-item/nav-item.d.ts +9 -4
  293. package/dist/types/components/option/option.d.ts +1 -1
  294. package/dist/types/components/resize-observe/resize-observe.d.ts +3 -0
  295. package/dist/types/components.d.ts +32 -58
  296. package/dist/types/stencil-public-runtime.d.ts +12 -5
  297. package/dist/types/utils/testing/index.d.ts +50 -0
  298. package/docs-json.json +128 -124
  299. package/docs-vscode.json +4 -16
  300. package/hydrate/index.js +221 -299
  301. package/hydrate/index.mjs +221 -299
  302. package/package.json +3 -3
  303. package/dist/nano-components/scroll-D4n69pGx.js +0 -4
  304. package/dist/nano-components/table.worker-Dcaz5STw.js +0 -4
  305. /package/dist/nano-components/{index-CX_Hk6ss.js → index-q0XK-YfO.js} +0 -0
@@ -38,138 +38,116 @@
38
38
  }
39
39
  }:host {
40
40
  --padding-top: 13px;
41
- --padding-end: 12px;
41
+ --padding-end: 13px;
42
42
  --padding-bottom: 13px;
43
- --padding-start: 12px;
43
+ --padding-start: 13px;
44
44
  --icon-size: 19px;
45
- --font-size: 11px;
46
- --global-nav-height: 79px;
47
- --bg-color: #001a21;
48
- --bg-color-hover: rgb(28 62 72 / 80%);
49
- --bg-color-selected: #274048;
50
- --bg-color-focus: rgb(28 62 72 / 80%);
51
- --focus-outline: none;
52
- --content-color: #fff;
53
- --secondary-bg-color: rgb(28 62 72);
54
- font-family: inherit;
55
- font-size: inherit;
56
- font-stretch: inherit;
57
- font-style: inherit;
58
- font-weight: inherit;
59
- letter-spacing: inherit;
60
- text-decoration: inherit;
61
- text-overflow: inherit;
62
- text-transform: inherit;
63
- text-align: inherit;
64
- white-space: inherit;
65
- color: inherit;
45
+ --font-size: var(--nano-font-size-xs);
46
+ --bg-color: var(--nano-color-grey-mono-1600);
47
+ --bg-color-hover: var(--nano-color-grey-mono-1400);
48
+ --bg-color-selected: var(--nano-color-grey-mono-1200);
49
+ --bg-color-open: var(--nano-color-grey-mono-1500);
50
+ --content-color: var(--nano-color-basic-white);
51
+ --global-nav-height: 76px;
52
+ --menu-width: calc((var(--padding-end) + var(--padding-start)) + var(--icon-size));
53
+ color-scheme: dark;
66
54
  display: block;
67
55
  z-index: 1;
68
56
  background: var(--bg-color);
69
- }
70
- :host ::slotted(.nano-nav-item) {
71
- --secondary-padding-top: var(--global-nav-height);
72
- --nano-icon-size: var(--icon-size);
73
57
  color: var(--content-color);
74
- font-size: var(--font-size);
75
- text-decoration: none;
76
- box-sizing: border-box;
77
- }
78
- :host *,
79
- :host *::before,
80
- :host *::after {
81
- box-sizing: border-box;
58
+ min-height: 100%;
82
59
  }
83
60
 
84
61
  :host(.hide) {
85
62
  display: none;
86
63
  }
87
64
 
88
- :host(.has-global-nav) .content-wrap {
89
- padding-block-start: var(--global-nav-height);
90
- margin-block-start: calc(var(--global-nav-height) * -1);
65
+ .head {
66
+ border-bottom: var(--nano-color-grey-mono-1400) 1px solid;
91
67
  }
92
68
 
93
69
  .container {
94
70
  inset-inline-end: auto;
95
- flex: 0 0 calc(var(--padding-end, 1em) * 2 + var(--icon-size));
96
- background: var(--bg-color);
97
71
  color: var(--content-color);
98
- z-index: 1;
99
- inline-size: calc(var(--padding-end, 1em) * 2 + var(--icon-size));
100
- block-size: 100%;
72
+ inline-size: var(--menu-width);
73
+ transition: inline-size 0.3s ease;
74
+ top: var(--global-nav-height);
75
+ position: sticky;
101
76
  }
102
77
 
103
78
  :host(.open) .container {
104
79
  inline-size: auto;
105
80
  }
106
81
 
107
- :host(:not(.loading)) .container {
108
- transition: inline-size 0.3s ease;
109
- }
110
-
111
82
  .content-wrap {
112
83
  inset-inline-start: 0;
113
84
  inset-block-start: 0;
114
85
  inline-size: inherit;
115
- max-inline-size: inherit;
116
86
  background: var(--bg-color);
117
- color: #fff;
118
- position: sticky;
119
- font-size: var(--icon-size);
87
+ font-size: var(--font-size);
120
88
  line-height: 1;
121
89
  display: flex;
122
- min-block-size: calc(100vh - 79px);
123
- min-block-size: calc(var(--vh, 1vh) * 100 - 79px);
124
- z-index: 1;
90
+ }
91
+ .content-wrap::after {
92
+ content: "";
93
+ position: absolute;
94
+ inset: calc(var(--global-nav-height) * -1) 0 0 0;
95
+ background-color: var(--bg-color);
96
+ z-index: -1;
125
97
  }
126
98
 
127
99
  .content {
100
+ max-height: 100%;
128
101
  inline-size: auto;
129
102
  display: flex;
130
103
  flex-direction: column;
131
104
  overflow: hidden;
132
- background: var(--bg-color);
133
- flex: 1;
105
+ flex: 1 1 0%;
134
106
  }
135
- .content::after {
136
- content: "";
137
- position: absolute;
138
- inset-block-start: 0;
139
- inset-inline: 0;
140
- background: var(--bg-color);
141
- z-index: -1;
142
- block-size: 100vh;
107
+ .content:has(.foot) {
108
+ height: calc(100vh - var(--global-nav-height));
143
109
  }
144
110
 
145
111
  .collapse-btn {
146
- background: var(--bg-color-selected);
147
- border: none;
148
- color: inherit;
149
- font-size: var(--icon-size);
150
- margin-block: var(--padding-top) var(--padding-bottom);
151
- margin-inline: calc(var(--padding-start) / 2) 0;
152
- border-radius: 4px;
112
+ all: unset;
153
113
  padding-block: 6px;
154
- padding-inline: 5px;
114
+ padding-inline: var(--padding-start) var(--padding-end);
115
+ width: 100%;
155
116
  display: flex;
156
- align-content: center;
157
- inline-size: 30px;
158
- flex: 0 0 auto;
117
+ justify-items: flex-start;
118
+ background-color: var(--bg-color);
119
+ appearance: none;
120
+ cursor: pointer;
121
+ font-size: var(--icon-size);
122
+ }
123
+ .collapse-btn:focus-visible {
124
+ outline: var(--nano-focus-ring);
125
+ outline-offset: var(--nano-focus-ring-offset);
126
+ }
127
+ .collapse-btn:hover {
128
+ background-color: var(--bg-color-hover);
129
+ }
130
+ .collapse-btn:active {
131
+ background-color: var(--bg-color-selected);
159
132
  }
160
133
  .collapse-btn .nano-icon {
161
- font-size: var(--icon-size);
162
- transition: 0.2s transform ease-in-out;
163
- transform: translateZ(0) rotate(0deg);
134
+ transition: var(--nano-transition-x-fast) rotate ease-in-out;
135
+ rotate: 0deg;
164
136
  }
165
137
  :host(.open) .collapse-btn .nano-icon {
166
- transform: translateZ(0) rotate(180deg);
138
+ rotate: 180deg;
167
139
  }
168
140
 
169
- .foot {
170
- margin-block-start: auto;
141
+ .visually-hidden {
142
+ clip-path: inset(50%);
143
+ block-size: 1px;
144
+ overflow: hidden;
145
+ position: absolute;
146
+ white-space: nowrap;
147
+ inline-size: 1px;
171
148
  }
172
149
 
173
- .measure-ele {
174
- block-size: 1px;
150
+ .foot {
151
+ margin-block-start: auto;
152
+ margin-block-end: var(--padding-bottom);
175
153
  }
@@ -4,26 +4,26 @@
4
4
  import { Host, writeTask, Build, } from "@stencil/core";
5
5
  import { closestElement } from "../../utils/dom";
6
6
  import { transformTag, h } from "../../utils/renderer";
7
+ import { HasSlotController } from "../../utils/slot";
7
8
  /**
8
- * Menu drawer - digital specific navigation strip designed to be open (default) or closed.
9
- * Shows menu item logos only on minimised, expands to show entire menu item.
10
- * Used in conjunction with the [Globla-Nav](/story/compounds-global-nav) element -> it should be a direct descendent.
11
- * Only one nano-menu-drawer element should be present on any page. It is fixed to a side on larger screens and items are added to the global nav 'burger' on smaller screens.
9
+ *
10
+ * Display navigation items in a collapsible drawer at the side of a UI.
11
+ *
12
+ * @status stable
13
+ * @version 1.0.0
14
+ *
12
15
  * @slot foot - nav items to be placed at the bottom of the drawer
13
16
  * @slot - default slot for nav items
14
17
  */
15
18
  export class MenuDrawer {
16
19
  containerDiv;
17
20
  contentDiv;
18
- measureEle;
19
21
  globalNav;
20
22
  children = [];
21
- io;
22
- currHeight = window.innerHeight;
23
+ ro;
24
+ slotCtrl = new HasSlotController(this, 'foot');
23
25
  el;
24
26
  reset = false;
25
- widthOk = true;
26
- heightOk = true;
27
27
  isLoading = true;
28
28
  hide = false;
29
29
  /**
@@ -31,60 +31,52 @@ export class MenuDrawer {
31
31
  */
32
32
  open = true;
33
33
  /**
34
- * Save open state to localStorage
35
- */
36
- saveState = true;
37
- /**
38
- * Screen width to hide the menu drawer and move the items into the nano-global-nav
34
+ * Global-nav width to hide the menu drawer and move the items into the nano-global-nav
39
35
  */
40
36
  hideWidth = 576;
41
- /**
42
- * Should element hide and move items into the nano-global-nav when items are cut off
43
- * (this will only work when nano-menu-drawer is displayed at full screen)
44
- */
45
- hideHeight = true;
46
37
  cancelNavItemEvents(ev) {
47
38
  if (!ev.detail.secondaryMenu)
48
39
  return;
49
40
  ev.stopPropagation();
50
41
  }
51
42
  openChange() {
52
- if (this.saveState)
43
+ if (Build.isBrowser) {
53
44
  localStorage.setItem('nanoMenuDrawerOpen', this.open.toString());
54
- if (this.containerDiv) {
55
- if (this.open)
56
- writeTask(() => (this.containerDiv.style.width = this.contentDiv.scrollWidth + 'px'));
57
- else
58
- writeTask(() => (this.containerDiv.style.width = null));
59
45
  }
60
- }
61
- widthChange() {
62
- if (this.widthOk)
63
- this.moveItemsToDrawer();
64
- else
65
- this.moveItemsToGlobalNav();
66
- }
67
- hideHeightChange() {
68
- if (this.hideHeight && !this.io)
69
- this.attachIO();
70
- else if (!this.hideHeight && this.io) {
71
- this.io.disconnect();
72
- this.io = undefined;
46
+ if (this.containerDiv) {
47
+ const documentWidth = document.documentElement.clientWidth;
48
+ const scrollbarWidth = Math.abs(window.innerWidth - documentWidth);
49
+ if (this.open) {
50
+ const menuWidth = this.contentDiv.scrollWidth;
51
+ writeTask(() => {
52
+ this.containerDiv.style.width = menuWidth + 'px';
53
+ this.containerDiv.style.setProperty('--menu-width', (menuWidth) + 'px');
54
+ this.containerDiv.style.setProperty('--scrollbar-width', scrollbarWidth + 'px');
55
+ });
56
+ }
57
+ else {
58
+ writeTask(() => {
59
+ this.containerDiv.style.width = null;
60
+ this.containerDiv.style.removeProperty('--menu-width');
61
+ this.containerDiv.style.setProperty('--scrollbar-width', scrollbarWidth + 'px');
62
+ });
63
+ }
73
64
  }
74
65
  }
75
66
  moveItemsToGlobalNav() {
76
- const currNavItems = this.el.querySelectorAll(transformTag('nano-nav-item'));
77
67
  // dimensions not cool - move items out of element and into global nav
68
+ const currNavItems = this.el.querySelectorAll(transformTag('nano-nav-item'));
69
+ this.hide = true;
70
+ this.globalNav.triggerResize();
78
71
  currNavItems.forEach((element) => {
79
72
  this.children.push({
80
73
  slot: element.getAttribute('slot'),
81
74
  element: element,
82
75
  });
83
- element.setAttribute('slot', 'overflow');
76
+ element.setAttribute('slot', 'menu');
84
77
  element.classList.add('nano-global-nav-menu');
85
78
  this.globalNav.appendChild(element);
86
79
  });
87
- this.hide = true;
88
80
  }
89
81
  moveItemsToDrawer() {
90
82
  if (!this.children || !this.children.length)
@@ -98,87 +90,64 @@ export class MenuDrawer {
98
90
  });
99
91
  this.children = [];
100
92
  this.hide = false;
101
- if (!this.io)
102
- this.attachIO();
103
93
  }
104
- onWindowResize = () => {
105
- if (window.innerWidth > this.hideWidth)
106
- this.widthOk = true;
107
- else
108
- this.widthOk = false;
109
- const vh = window.innerHeight * 0.01;
110
- this.el.style.setProperty('--vh', `${vh}px`);
111
- if (window.innerHeight > this.currHeight &&
112
- this.widthOk &&
113
- !this.heightOk) {
94
+ onResize = () => {
95
+ if (!this.globalNav || !Build.isBrowser)
96
+ return;
97
+ const { width } = this.globalNav.getBoundingClientRect();
98
+ if (width > this.hideWidth) {
114
99
  this.moveItemsToDrawer();
115
100
  }
116
- this.currHeight = window.innerHeight;
101
+ else {
102
+ this.moveItemsToGlobalNav();
103
+ }
117
104
  };
118
105
  toggle = (e) => {
119
106
  e.preventDefault();
120
107
  this.open = !this.open;
121
108
  };
122
- onToggleKeyDown = (ev) => {
123
- switch (ev.key) {
124
- case 'Enter':
125
- case ' ':
126
- this.open = !this.open;
127
- break;
128
- }
129
- };
130
- attachIO() {
131
- if (!this.hideHeight)
109
+ attachRO() {
110
+ if (!Build.isBrowser || this.ro)
132
111
  return;
133
- const io = (this.io = new window.IntersectionObserver((data) => {
134
- this.heightOk = data[0].intersectionRatio !== 0;
135
- if (!this.heightOk) {
136
- this.moveItemsToGlobalNav();
137
- this.io.disconnect();
138
- this.io = undefined;
139
- }
140
- }, { threshold: 1 }));
141
- io.observe(this.measureEle);
142
- }
143
- handleGlobalNavReady(e) {
144
- if (e.target.tagName.toLowerCase() !== transformTag('nano-global-nav'))
145
- return;
146
- setTimeout(() => {
147
- this.attachIO();
148
- this.openChange();
149
- this.onWindowResize();
150
- this.isLoading = false;
151
- }, 500);
112
+ this.ro = new ResizeObserver(() => {
113
+ this.onResize();
114
+ });
115
+ this.ro.observe(this.globalNav);
152
116
  }
153
117
  componentWillLoad() {
154
118
  this.globalNav = closestElement(transformTag('nano-global-nav'), this.el);
155
- this.widthOk = window.innerWidth > this.hideWidth;
156
- this.currHeight = window.innerHeight;
157
- if (this.saveState) {
119
+ if (!this.globalNav) {
120
+ console.warn('nano-menu-drawer: no nano-global-nav found in the document. nano-global-nav is required to use nano-menu-drawer.');
121
+ }
122
+ if (Build.isBrowser) {
158
123
  const localState = localStorage.getItem('nanoMenuDrawerOpen');
159
- this.open = localState ? localState === 'true' : this.open;
124
+ this.open = localState ? (localState === 'true' ? true : false) : this.open;
125
+ this.globalNav.componentOnReady().then(() => {
126
+ this.openChange();
127
+ });
160
128
  }
161
129
  }
130
+ connectedCallback() {
131
+ this.onResize();
132
+ }
162
133
  componentDidLoad() {
163
- if (Build.isBrowser) {
164
- window.addEventListener('resize', this.onWindowResize);
165
- }
134
+ if (Build.isBrowser)
135
+ this.attachRO();
166
136
  }
167
137
  disconnectedCallback() {
168
- window.removeEventListener('resize', this.onWindowResize);
169
- if (this.io) {
170
- this.io.disconnect();
171
- this.io = null;
138
+ if (Build.isBrowser) {
139
+ this.ro?.disconnect();
140
+ this.ro = undefined;
172
141
  }
173
142
  }
174
143
  render() {
175
- return (h(Host, { key: 'ce58d5db4ed3a23557189fbc3eb2cf0a0ad32edd', class: {
144
+ return (h(Host, { key: 'fe9f1c17828f6884f663a0990851f66cbb9ff026', class: {
176
145
  open: this.open,
177
146
  hide: this.hide,
178
147
  loading: this.isLoading,
179
148
  'has-global-nav': !!this.globalNav,
180
149
  'nano-menu-drawer': true,
181
- }, dir: this.el.ownerDocument.dir === 'rtl' ? 'rtl' : null }, h("div", { key: 'a68d7698be7747a6a191a44364b615c3866f8160', ref: (div) => (this.containerDiv = div), class: "container" }, h("div", { key: 'f6c92461b79e0b3e44f138736ef65089680101a8', class: "content-wrap" }, h("nav", { key: '51ce192b7cbb38233baced954f4228e756052026', ref: (div) => (this.contentDiv = div), class: "content" }, h("button", { key: '5662329d6320ef44d837afc823c09beb1563c0fe', onMouseDown: this.toggle, onKeyDown: this.onToggleKeyDown, class: "collapse-btn" }, h("nano-icon", { key: '77d0e152d06593f3999072a1b557673a8ddc8a72', name: "light/right-to-line", "aria-label": "collapse / expand" })), h("slot", { key: '8369d8882e41547e088ec41401cc2273efb2b59a' }), h("div", { key: '90c996a4d1debfd4965353e5e60548605418dfbd', class: "foot" }, h("div", { key: '3ca7e34bde41f742d20edbef571400c875179858', class: "measure-ele", ref: (div) => (this.measureEle = div) }), h("slot", { key: '1b5d32415c0e727788186bd9011de394cb7b5759', name: "foot" })))))));
150
+ }, dir: this.el.ownerDocument.dir === 'rtl' ? 'rtl' : null }, h("div", { key: '62bcaa0a299c8887479ec83a067eb8e2ff188de8', ref: (div) => (this.containerDiv = div), class: "container" }, h("div", { key: 'a20706de787a6e6e3b3f1ee4a5a079ed601ac2d2', class: "content-wrap" }, h("nav", { key: 'd487b8709b36b54d207f1a257564b98d12722c09', ref: (div) => (this.contentDiv = div), class: "content" }, h("div", { key: 'e1fb80d26a27fc35d2999908a3d3f264f9bb15af', class: "head" }, h("button", { key: '0778e6742189405de47c34cbe9e346c6fec4de63', onClick: this.toggle, class: "collapse-btn" }, h("nano-icon", { key: '5b53c2819fdf51f6b611d11b6ce9c8d621339308', name: "light/arrow-right-to-line" }), h("span", { key: 'b2eff692e0251e2a05a64cc93ed0635ff8659084', class: "visually-hidden" }, "collapse / expand menu"))), h("slot", { key: '7a65ca13555e4706728916e116af51cb05263ed2' }), this.slotCtrl.has('foot') && (h("div", { key: '40794aacb4185b8020e94c79dc9d47e65a637fcc', class: "foot" }, h("slot", { key: 'f5b7d990d47e336ad725b0c3c3726d65f8143122', name: "foot" }))))))));
182
151
  }
183
152
  static get is() { return "nano-menu-drawer"; }
184
153
  static get encapsulation() { return "shadow"; }
@@ -214,26 +183,6 @@ export class MenuDrawer {
214
183
  "reflect": false,
215
184
  "defaultValue": "true"
216
185
  },
217
- "saveState": {
218
- "type": "boolean",
219
- "attribute": "save-state",
220
- "mutable": false,
221
- "complexType": {
222
- "original": "boolean",
223
- "resolved": "boolean",
224
- "references": {}
225
- },
226
- "required": false,
227
- "optional": false,
228
- "docs": {
229
- "tags": [],
230
- "text": "Save open state to localStorage"
231
- },
232
- "getter": false,
233
- "setter": false,
234
- "reflect": false,
235
- "defaultValue": "true"
236
- },
237
186
  "hideWidth": {
238
187
  "type": "number",
239
188
  "attribute": "hide-width",
@@ -247,40 +196,18 @@ export class MenuDrawer {
247
196
  "optional": false,
248
197
  "docs": {
249
198
  "tags": [],
250
- "text": "Screen width to hide the menu drawer and move the items into the nano-global-nav"
199
+ "text": "Global-nav width to hide the menu drawer and move the items into the nano-global-nav"
251
200
  },
252
201
  "getter": false,
253
202
  "setter": false,
254
203
  "reflect": false,
255
204
  "defaultValue": "576"
256
- },
257
- "hideHeight": {
258
- "type": "boolean",
259
- "attribute": "hide-height",
260
- "mutable": false,
261
- "complexType": {
262
- "original": "boolean",
263
- "resolved": "boolean",
264
- "references": {}
265
- },
266
- "required": false,
267
- "optional": false,
268
- "docs": {
269
- "tags": [],
270
- "text": "Should element hide and move items into the nano-global-nav when items are cut off\n(this will only work when nano-menu-drawer is displayed at full screen)"
271
- },
272
- "getter": false,
273
- "setter": false,
274
- "reflect": false,
275
- "defaultValue": "true"
276
205
  }
277
206
  };
278
207
  }
279
208
  static get states() {
280
209
  return {
281
210
  "reset": {},
282
- "widthOk": {},
283
- "heightOk": {},
284
211
  "isLoading": {},
285
212
  "hide": {}
286
213
  };
@@ -290,12 +217,6 @@ export class MenuDrawer {
290
217
  return [{
291
218
  "propName": "open",
292
219
  "methodName": "openChange"
293
- }, {
294
- "propName": "widthOk",
295
- "methodName": "widthChange"
296
- }, {
297
- "propName": "hideHeight",
298
- "methodName": "hideHeightChange"
299
220
  }];
300
221
  }
301
222
  static get listeners() {
@@ -311,12 +232,6 @@ export class MenuDrawer {
311
232
  "target": undefined,
312
233
  "capture": false,
313
234
  "passive": false
314
- }, {
315
- "name": "nanoIsReady",
316
- "method": "handleGlobalNavReady",
317
- "target": "body",
318
- "capture": false,
319
- "passive": false
320
235
  }];
321
236
  }
322
237
  }
@@ -65,8 +65,8 @@ export class Rating {
65
65
  this.handleShowHideElements();
66
66
  }
67
67
  render() {
68
- return (h(Host, { key: 'e1afec82d8deaccc2710b9523edb2f46e9918c1b', class: "nano-more-less" }, h("slot", { key: '704bb046e601225e50a7dc5b74dee973bf58274c', onSlotchange: () => this.handleShowHideElements() }), this.children?.length > this.maxToShow && [
69
- h("div", { key: 'd905bc9d85634c5eed8e33acdc28f0bfae6396a4', style: { display: this.show ? 'none' : 'contents' }, class: "button-wrapper", part: "button-wrapper button-wrapper--less", onClick: (e) => this.handleClick(e) }, h("slot", { key: '64c6138dc9e43cfe13e7be7d43740e533fa03630', name: "less" }, h("button", { key: '3c447841fafb877de9e2e16ce2f103da5831d744', part: "button button--less" }, "Show more (+", this.children.length - this.maxToShow, ")"))),
68
+ return (h(Host, { key: '3bde961caf3acbf1db08892d2131e8afdc457681', class: "nano-more-less" }, h("slot", { key: 'bc9a9c15a5e0ae53735602b23fbb248e8e51649d', onSlotchange: () => this.handleShowHideElements() }), this.children?.length > this.maxToShow && [
69
+ h("div", { key: '500e8c63e9ef6e0b80318d904388c8cecce8f66f', style: { display: this.show ? 'none' : 'contents' }, class: "button-wrapper", part: "button-wrapper button-wrapper--less", onClick: (e) => this.handleClick(e) }, h("slot", { key: '411cfccdaf9eaa3c6443841100791fd656fc71fe', name: "less" }, h("button", { key: '9001e6086687793575b8e3e62529e1c15846aa4e', part: "button button--less" }, "Show more (+", this.children.length - this.maxToShow, ")"))),
70
70
  !this.noHideBtn ? (h("div", { style: { display: this.show ? 'contents' : 'none' }, class: "button-wrapper", part: "button-wrapper button-wrapper--more", onClick: (e) => this.handleClick(e) }, h("slot", { name: "more" }, h("button", { part: "button button--more" }, "Show less (-", this.children.length - this.maxToShow, ")")))) : (''),
71
71
  ]));
72
72
  }
@@ -42,6 +42,7 @@
42
42
  * that the consumer component will apply specific styles using `::part` properties within a `...light-dom` style-sheet.
43
43
  *
44
44
  * @prop --padding: padding applied to the trigger element. Defaults to `0`
45
+ * @prop --icon-size: size of the icon. Defaults to `1em`
45
46
  */
46
47
  display: contents;
47
48
  }
@@ -99,97 +100,4 @@ a[disabled], button[disabled] {
99
100
  ::slotted([slot=close-button]):focus-visible {
100
101
  outline: var(--nano-focus-ring);
101
102
  outline-offset: var(--nano-focus-ring-offset);
102
- }
103
-
104
- :host(.nano-menu-drawer) a,
105
- :host(.nano-menu-drawer) button {
106
- padding-block: calc(var(--padding-top) / 2) calc(var(--padding-bottom) / 2);
107
- padding-inline: var(--padding-start) 0;
108
- display: flex;
109
- justify-content: flex-start;
110
- flex-direction: row;
111
- align-items: center;
112
- color: currentcolor;
113
- text-decoration: inherit;
114
- white-space: normal;
115
- border: none;
116
- cursor: pointer;
117
- line-height: 1.2;
118
- inline-size: 100%;
119
- }
120
- :host(.nano-menu-drawer) .navitem__label {
121
- padding-inline: 0 var(--padding-end);
122
- text-align: start;
123
- flex: 0 1 auto;
124
- min-inline-size: 130px;
125
- inline-size: 130px;
126
- }
127
- :host(.nano-menu-drawer)::slotted(.nano-icon[slot=icon-start]),
128
- :host(.nano-menu-drawer) ::slotted(.nano-icon[slot=icon-start]) {
129
- padding-inline: 0 var(--padding-end);
130
- padding-block: 0;
131
- font-size: var(--icon-size);
132
- inline-size: var(--icon-size);
133
- flex: 0 0 var(--icon-size);
134
- }
135
- :host(.nano-menu-drawer)::slotted(.nano-icon[slot=icon-end]),
136
- :host(.nano-menu-drawer) ::slotted(.nano-icon[slot=icon-end]) {
137
- padding: 0 var(--padding-end) 0 0;
138
- font-size: 10px;
139
- flex: 0 0 20px;
140
- min-inline-size: 20px;
141
- }
142
- :host(.nano-menu-drawer) .navitem__modal {
143
- display: none;
144
- position: absolute;
145
- background-color: var(--secondary-bg-color);
146
- color: var(--secondary-color);
147
- block-size: 100vh;
148
- inset-inline: auto 0;
149
- inset-block: 0;
150
- transform: translateX(0);
151
- z-index: -1;
152
- transition: transform 0.3s ease, opacity 0.2s ease;
153
- overflow-y: auto;
154
- inline-size: var(--secondary-width, 400px);
155
- max-inline-size: 62vw;
156
- opacity: 1;
157
- padding-inline: var(--secondary-padding-start, var(--padding-start)) var(--secondary-padding-end, var(--padding-end));
158
- padding-block: var(--secondary-padding-top, var(--padding-top)) var(--secondary-padding-bottom, var(--padding-bottom));
159
- }
160
- :host(.nano-menu-drawer) .navitem__modal:focus {
161
- outline: none;
162
- }
163
- .navitem--open :host(.nano-menu-drawer) .navitem__modal {
164
- transform: translateX(100%);
165
- }
166
- :host(.nano-menu-drawer) .notification {
167
- position: relative;
168
- }
169
- :host(.nano-menu-drawer) .notification::after {
170
- content: "";
171
- display: block;
172
- position: absolute;
173
- inline-size: 6px;
174
- block-size: 6px;
175
- background-color: #ef4135;
176
- inset-inline-start: 10px;
177
- inset-block-start: 7px;
178
- border-radius: 50%;
179
- }
180
- @media (width >= 52em) {
181
- :host(.nano-menu-drawer) .notification::after {
182
- inline-size: 7px;
183
- block-size: 7px;
184
- inset-inline-start: 8px;
185
- inset-block-start: 5px;
186
- }
187
- }
188
-
189
- :host(.nano-menu-drawer[dir=rtl]) .navitem__modal {
190
- transform: translateX(0%);
191
- }
192
- .navitem--open :host(.nano-menu-drawer[dir=rtl]) .navitem__modal {
193
- transform: translateX(-100%);
194
- opacity: 1;
195
103
  }