@nanoporetech-digital/components 1.15.6 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (981) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/dist/cjs/active-element-2f9bf0aa.js +21 -0
  3. package/dist/cjs/active-element-2f9bf0aa.js.map +1 -0
  4. package/dist/cjs/{algoliasearch.umd-0ccd70ce.js → algoliasearch.umd-79e17a1a.js} +3 -3
  5. package/dist/cjs/{algoliasearch.umd-0ccd70ce.js.map → algoliasearch.umd-79e17a1a.js.map} +1 -1
  6. package/dist/cjs/{dom-5f3fae1a.js → dom-52f9b8b7.js} +25 -6
  7. package/dist/cjs/dom-52f9b8b7.js.map +1 -0
  8. package/dist/cjs/form-control-3bc82e3e.js +80 -0
  9. package/dist/cjs/form-control-3bc82e3e.js.map +1 -0
  10. package/dist/cjs/{index-117f36a4.js → index-53d02e05.js} +12 -27
  11. package/dist/cjs/index-53d02e05.js.map +1 -0
  12. package/dist/cjs/index-cb62df44.js +12 -12
  13. package/dist/cjs/index.cjs.js +3 -3
  14. package/dist/cjs/index.cjs.js.map +1 -1
  15. package/dist/cjs/loader.cjs.js +1 -1
  16. package/dist/cjs/{modal-01eed1bf.js → modal-f09e431f.js} +2 -2
  17. package/dist/cjs/{modal-01eed1bf.js.map → modal-f09e431f.js.map} +1 -1
  18. package/dist/cjs/nano-accordion.cjs.entry.js +2 -4
  19. package/dist/cjs/nano-accordion.cjs.entry.js.map +1 -1
  20. package/dist/cjs/nano-alert.cjs.entry.js +6 -6
  21. package/dist/cjs/nano-alert.cjs.entry.js.map +1 -1
  22. package/dist/cjs/nano-algolia-filter.cjs.entry.js +1 -1
  23. package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +1 -1
  24. package/dist/cjs/nano-algolia-input.cjs.entry.js +1 -1
  25. package/dist/cjs/nano-algolia.cjs.entry.js +9 -5
  26. package/dist/cjs/nano-algolia.cjs.entry.js.map +1 -1
  27. package/dist/cjs/nano-aspect-ratio.cjs.entry.js +1 -1
  28. package/dist/cjs/nano-aspect-ratio.cjs.entry.js.map +1 -1
  29. package/dist/cjs/nano-checkbox-group.cjs.entry.js +4 -1
  30. package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
  31. package/dist/cjs/nano-checkbox.cjs.entry.js +1 -1
  32. package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
  33. package/dist/cjs/nano-components.cjs.js +1 -1
  34. package/dist/cjs/nano-datalist_3.cjs.entry.js +790 -0
  35. package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -0
  36. package/dist/cjs/nano-date-input.cjs.entry.js +9 -5
  37. package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
  38. package/dist/cjs/{nano-date-picker_2.cjs.entry.js → nano-date-picker.cjs.entry.js} +2 -274
  39. package/dist/cjs/nano-date-picker.cjs.entry.js.map +1 -0
  40. package/dist/cjs/nano-details.cjs.entry.js +2 -2
  41. package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
  42. package/dist/cjs/nano-dialog.cjs.entry.js +5 -5
  43. package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
  44. package/dist/cjs/nano-drawer.cjs.entry.js +5 -5
  45. package/dist/cjs/nano-drawer.cjs.entry.js.map +1 -1
  46. package/dist/cjs/nano-dropdown.cjs.entry.js +307 -0
  47. package/dist/cjs/nano-dropdown.cjs.entry.js.map +1 -0
  48. package/dist/cjs/nano-file-upload.cjs.entry.js +1 -1
  49. package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
  50. package/dist/cjs/nano-global-nav.cjs.entry.js +19 -24
  51. package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
  52. package/dist/cjs/nano-global-search-results.cjs.entry.js +200 -115
  53. package/dist/cjs/nano-global-search-results.cjs.entry.js.map +1 -1
  54. package/dist/cjs/nano-grid_3.cjs.entry.js +15 -7
  55. package/dist/cjs/nano-grid_3.cjs.entry.js.map +1 -1
  56. package/dist/cjs/nano-hero.cjs.entry.js +13 -5
  57. package/dist/cjs/nano-hero.cjs.entry.js.map +1 -1
  58. package/dist/cjs/nano-icon-button.cjs.entry.js +2 -2
  59. package/dist/cjs/nano-icon-button.cjs.entry.js.map +1 -1
  60. package/dist/cjs/nano-icon.cjs.entry.js +1 -1
  61. package/dist/cjs/nano-icon.cjs.entry.js.map +1 -1
  62. package/dist/cjs/nano-input.cjs.entry.js +80 -75
  63. package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
  64. package/dist/cjs/nano-menu-drawer.cjs.entry.js +2 -2
  65. package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +1 -1
  66. package/dist/cjs/nano-nav-item_2.cjs.entry.js +287 -533
  67. package/dist/cjs/nano-nav-item_2.cjs.entry.js.map +1 -1
  68. package/dist/cjs/nano-range.cjs.entry.js +2 -2
  69. package/dist/cjs/nano-range.cjs.entry.js.map +1 -1
  70. package/dist/cjs/nano-rating.cjs.entry.js +2 -2
  71. package/dist/cjs/nano-rating.cjs.entry.js.map +1 -1
  72. package/dist/cjs/nano-resize-observe_2.cjs.entry.js +1 -1
  73. package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
  74. package/dist/cjs/nano-slide.cjs.entry.js +1 -1
  75. package/dist/cjs/nano-slide.cjs.entry.js.map +1 -1
  76. package/dist/cjs/nano-slides.cjs.entry.js +1 -1
  77. package/dist/cjs/nano-slides.cjs.entry.js.map +1 -1
  78. package/dist/cjs/nano-spinner.cjs.entry.js +1 -1
  79. package/dist/cjs/nano-spinner.cjs.entry.js.map +1 -1
  80. package/dist/cjs/nano-sticker.cjs.entry.js +3 -3
  81. package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
  82. package/dist/cjs/nano-tab-content.cjs.entry.js +2 -2
  83. package/dist/cjs/nano-tab-content.cjs.entry.js.map +1 -1
  84. package/dist/cjs/nano-tab-group.cjs.entry.js +72 -36
  85. package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
  86. package/dist/cjs/nano-tab.cjs.entry.js +9 -2
  87. package/dist/cjs/nano-tab.cjs.entry.js.map +1 -1
  88. package/dist/cjs/nano-tooltip.cjs.entry.js +2 -2
  89. package/dist/cjs/nano-tooltip.cjs.entry.js.map +1 -1
  90. package/dist/cjs/{popover-d033efa2.js → popover-86f1775c.js} +10 -1
  91. package/dist/cjs/popover-86f1775c.js.map +1 -0
  92. package/dist/cjs/{scroll-d7753eed.js → scroll-6b9e6870.js} +2 -2
  93. package/dist/cjs/{scroll-d7753eed.js.map → scroll-6b9e6870.js.map} +1 -1
  94. package/dist/cjs/{tabbable-615c30e1.js → tabbable-de4c23d8.js} +8 -6
  95. package/dist/cjs/tabbable-de4c23d8.js.map +1 -0
  96. package/dist/collection/collection-manifest.json +3 -2
  97. package/dist/collection/components/accordion/accordion.css +3 -0
  98. package/dist/collection/components/accordion/accordion.js +2 -5
  99. package/dist/collection/components/accordion/accordion.js.map +1 -1
  100. package/dist/collection/components/alert/alert.css +5 -6
  101. package/dist/collection/components/alert/alert.helpers.js +2 -2
  102. package/dist/collection/components/alert/alert.helpers.js.map +1 -1
  103. package/dist/collection/components/alert/alert.js +1 -1
  104. package/dist/collection/components/algolia/algolia-filter.css +3 -0
  105. package/dist/collection/components/algolia/algolia-filter.js +2 -2
  106. package/dist/collection/components/algolia/algolia-input.js +5 -5
  107. package/dist/collection/components/algolia/algolia-results.js +1 -1
  108. package/dist/collection/components/algolia/algolia.css +3 -0
  109. package/dist/collection/components/algolia/algolia.js +6 -6
  110. package/dist/collection/components/aspect-ratio/aspect-ratio.css +3 -0
  111. package/dist/collection/components/checkbox/checkbox-group.css +3 -0
  112. package/dist/collection/components/checkbox/checkbox-group.js +5 -2
  113. package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
  114. package/dist/collection/components/checkbox/checkbox.css +3 -0
  115. package/dist/collection/components/checkbox/checkbox.js +3 -3
  116. package/dist/collection/components/datalist/datalist.css +55 -0
  117. package/dist/collection/components/datalist/datalist.js +796 -0
  118. package/dist/collection/components/datalist/datalist.js.map +1 -0
  119. package/dist/collection/components/date-input/date-input.css +3 -0
  120. package/dist/collection/components/date-input/date-input.js +18 -10
  121. package/dist/collection/components/date-input/date-input.js.map +1 -1
  122. package/dist/collection/components/date-picker/date-picker.css +3 -0
  123. package/dist/collection/components/date-picker/date-picker.js +5 -5
  124. package/dist/collection/components/details/details.css +3 -0
  125. package/dist/collection/components/details/details.js +2 -3
  126. package/dist/collection/components/details/details.js.map +1 -1
  127. package/dist/collection/components/dialog/dialog.css +4 -1
  128. package/dist/collection/components/dialog/dialog.helpers.js.map +1 -1
  129. package/dist/collection/components/dialog/dialog.js +1 -1
  130. package/dist/collection/components/drawer/drawer.css +3 -0
  131. package/dist/collection/components/dropdown/dropdown.css +19 -2
  132. package/dist/collection/components/dropdown/dropdown.js +56 -39
  133. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  134. package/dist/collection/components/file-upload/file-upload.css +5 -2
  135. package/dist/collection/components/file-upload/file-upload.js +4 -4
  136. package/dist/collection/components/form-control/form-control.js +73 -0
  137. package/dist/collection/components/form-control/form-control.js.map +1 -0
  138. package/dist/collection/components/global-nav/global-nav.css +43 -37
  139. package/dist/collection/components/global-nav/global-nav.js +21 -26
  140. package/dist/collection/components/global-nav/global-nav.js.map +1 -1
  141. package/dist/collection/components/global-search-results/global-search-results.css +299 -18
  142. package/dist/collection/components/global-search-results/global-search-results.js +200 -113
  143. package/dist/collection/components/global-search-results/global-search-results.js.map +1 -1
  144. package/dist/collection/components/grid/grid-item.css +3 -0
  145. package/dist/collection/components/grid/grid-item.js +1 -1
  146. package/dist/collection/components/grid/grid.css +3 -0
  147. package/dist/collection/components/grid/grid.js +37 -6
  148. package/dist/collection/components/grid/grid.js.map +1 -1
  149. package/dist/collection/components/hero/hero.css +13 -5
  150. package/dist/collection/components/hero/hero.js +32 -22
  151. package/dist/collection/components/hero/hero.js.map +1 -1
  152. package/dist/collection/components/icon/icon.css +3 -0
  153. package/dist/collection/components/icon/icon.js +1 -1
  154. package/dist/collection/components/icon-button/icon-button.css +6 -1
  155. package/dist/collection/components/icon-button/icon-button.js +1 -1
  156. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  157. package/dist/collection/components/img/img.css +3 -0
  158. package/dist/collection/components/input/input.css +242 -232
  159. package/dist/collection/components/input/input.js +111 -114
  160. package/dist/collection/components/input/input.js.map +1 -1
  161. package/dist/collection/components/menu/menu.css +27 -35
  162. package/dist/collection/components/menu/menu.js +222 -48
  163. package/dist/collection/components/menu/menu.js.map +1 -1
  164. package/dist/collection/components/menu-drawer/menu-drawer.css +3 -0
  165. package/dist/collection/components/nav-item/nav-item.css +3 -0
  166. package/dist/collection/components/nav-item/nav-item.js +5 -5
  167. package/dist/collection/components/nav-item/nav-item.js.map +1 -1
  168. package/dist/collection/components/option/option-interface.js +5 -0
  169. package/dist/collection/components/option/option-interface.js.map +1 -0
  170. package/dist/collection/components/option/option.css +187 -0
  171. package/dist/collection/components/option/option.js +242 -0
  172. package/dist/collection/components/option/option.js.map +1 -0
  173. package/dist/collection/components/range/range.css +3 -0
  174. package/dist/collection/components/range/range.js +4 -4
  175. package/dist/collection/components/rating/rating.css +3 -0
  176. package/dist/collection/components/resize-observe/resize-observe.js +1 -1
  177. package/dist/collection/components/select/select.css +458 -391
  178. package/dist/collection/components/select/select.js +367 -607
  179. package/dist/collection/components/select/select.js.map +1 -1
  180. package/dist/collection/components/skeleton/skeleton.css +3 -0
  181. package/dist/collection/components/slides/slide.css +3 -0
  182. package/dist/collection/components/slides/slides.css +3 -0
  183. package/dist/collection/components/slides/slides.js +7 -7
  184. package/dist/collection/components/spinner/spinner.css +3 -0
  185. package/dist/collection/components/sticky/sticker.css +3 -0
  186. package/dist/collection/components/tabs/tab-content.css +3 -0
  187. package/dist/collection/components/tabs/tab-content.js +3 -3
  188. package/dist/collection/components/tabs/tab-content.js.map +1 -1
  189. package/dist/collection/components/tabs/tab-group.css +16 -5
  190. package/dist/collection/components/tabs/tab-group.js +137 -41
  191. package/dist/collection/components/tabs/tab-group.js.map +1 -1
  192. package/dist/collection/components/tabs/tab.css +36 -6
  193. package/dist/collection/components/tabs/tab.js +45 -2
  194. package/dist/collection/components/tabs/tab.js.map +1 -1
  195. package/dist/collection/components/tooltip/tooltip.css +3 -0
  196. package/dist/collection/utils/active-element.js +16 -0
  197. package/dist/collection/utils/active-element.js.map +1 -0
  198. package/dist/collection/utils/dom.js +24 -5
  199. package/dist/collection/utils/dom.js.map +1 -1
  200. package/dist/collection/utils/index.js +13 -13
  201. package/dist/collection/utils/index.js.map +1 -1
  202. package/dist/collection/utils/popover.js +9 -0
  203. package/dist/collection/utils/popover.js.map +1 -1
  204. package/dist/collection/utils/tabbable.js +7 -5
  205. package/dist/collection/utils/tabbable.js.map +1 -1
  206. package/dist/collection/utils/template.js +5 -1
  207. package/dist/collection/utils/template.js.map +1 -1
  208. package/dist/collection/utils/testing/index.js +11 -1
  209. package/dist/collection/utils/testing/index.js.map +1 -1
  210. package/dist/components/ResizeObserver.es.js +933 -0
  211. package/dist/components/ResizeObserver.es.js.map +1 -0
  212. package/dist/components/_commonjsHelpers.js +41 -0
  213. package/dist/components/_commonjsHelpers.js.map +1 -0
  214. package/dist/components/active-element.js +19 -0
  215. package/dist/components/active-element.js.map +1 -0
  216. package/dist/components/algolia-data.js +49 -0
  217. package/dist/components/algolia-data.js.map +1 -0
  218. package/dist/components/algolia.js +906 -0
  219. package/dist/components/algolia.js.map +1 -0
  220. package/dist/components/algoliasearch.umd.js +13 -0
  221. package/dist/components/algoliasearch.umd.js.map +1 -0
  222. package/dist/components/component-store.js +2234 -0
  223. package/dist/components/component-store.js.map +1 -0
  224. package/dist/components/datalist.js +557 -0
  225. package/dist/components/datalist.js.map +1 -0
  226. package/dist/components/date-picker.js +624 -0
  227. package/dist/components/date-picker.js.map +1 -0
  228. package/dist/{esm/dom-a791b223.js → components/dom.js} +25 -6
  229. package/dist/components/dom.js.map +1 -0
  230. package/dist/components/dropdown.js +332 -0
  231. package/dist/components/dropdown.js.map +1 -0
  232. package/dist/components/focus-visible.js +66 -0
  233. package/dist/components/focus-visible.js.map +1 -0
  234. package/dist/components/form-control.js +77 -0
  235. package/dist/components/form-control.js.map +1 -0
  236. package/dist/components/grid-item.js +112 -0
  237. package/dist/components/grid-item.js.map +1 -0
  238. package/dist/components/grid.js +276 -0
  239. package/dist/components/grid.js.map +1 -0
  240. package/dist/components/icon-button.js +70 -0
  241. package/dist/components/icon-button.js.map +1 -0
  242. package/dist/components/icon.js +269 -0
  243. package/dist/components/icon.js.map +1 -0
  244. package/dist/components/img.js +184 -0
  245. package/dist/components/img.js.map +1 -0
  246. package/dist/components/index.d.ts +26 -0
  247. package/dist/components/index.js +251 -0
  248. package/dist/components/index.js.map +1 -0
  249. package/dist/{esm/index-f41ae118.js → components/index2.js} +13 -27
  250. package/dist/components/index2.js.map +1 -0
  251. package/dist/components/index3.js +1075 -0
  252. package/dist/components/index3.js.map +1 -0
  253. package/dist/components/index4.js +637 -0
  254. package/dist/components/index4.js.map +1 -0
  255. package/dist/components/input.js +474 -0
  256. package/dist/components/input.js.map +1 -0
  257. package/dist/components/intersection-observer.js +985 -0
  258. package/dist/components/intersection-observer.js.map +1 -0
  259. package/dist/components/local-my-account.js +353 -0
  260. package/dist/components/local-my-account.js.map +1 -0
  261. package/dist/components/menu.js +235 -0
  262. package/dist/components/menu.js.map +1 -0
  263. package/dist/components/modal.js +48 -0
  264. package/dist/components/modal.js.map +1 -0
  265. package/dist/components/nano-accordion.d.ts +11 -0
  266. package/dist/components/nano-accordion.js +63 -0
  267. package/dist/components/nano-accordion.js.map +1 -0
  268. package/dist/components/nano-alert.d.ts +11 -0
  269. package/dist/components/nano-alert.js +296 -0
  270. package/dist/components/nano-alert.js.map +1 -0
  271. package/dist/components/nano-algolia-filter.d.ts +11 -0
  272. package/dist/components/nano-algolia-filter.js +317 -0
  273. package/dist/components/nano-algolia-filter.js.map +1 -0
  274. package/dist/components/nano-algolia-input.d.ts +11 -0
  275. package/dist/components/nano-algolia-input.js +224 -0
  276. package/dist/components/nano-algolia-input.js.map +1 -0
  277. package/dist/components/nano-algolia-pagination.d.ts +11 -0
  278. package/dist/components/nano-algolia-pagination.js +104 -0
  279. package/dist/components/nano-algolia-pagination.js.map +1 -0
  280. package/dist/components/nano-algolia-results.d.ts +11 -0
  281. package/dist/components/nano-algolia-results.js +224 -0
  282. package/dist/components/nano-algolia-results.js.map +1 -0
  283. package/dist/components/nano-algolia.d.ts +11 -0
  284. package/dist/components/nano-algolia.js +11 -0
  285. package/dist/components/nano-algolia.js.map +1 -0
  286. package/dist/components/nano-aspect-ratio.d.ts +11 -0
  287. package/dist/components/nano-aspect-ratio.js +74 -0
  288. package/dist/components/nano-aspect-ratio.js.map +1 -0
  289. package/dist/components/nano-checkbox-group.d.ts +11 -0
  290. package/dist/components/nano-checkbox-group.js +235 -0
  291. package/dist/components/nano-checkbox-group.js.map +1 -0
  292. package/dist/components/nano-checkbox.d.ts +11 -0
  293. package/dist/components/nano-checkbox.js +231 -0
  294. package/dist/components/nano-checkbox.js.map +1 -0
  295. package/dist/components/nano-datalist.d.ts +11 -0
  296. package/dist/components/nano-datalist.js +11 -0
  297. package/dist/components/nano-datalist.js.map +1 -0
  298. package/dist/components/nano-date-input.d.ts +11 -0
  299. package/dist/components/nano-date-input.js +408 -0
  300. package/dist/components/nano-date-input.js.map +1 -0
  301. package/dist/components/nano-date-picker.d.ts +11 -0
  302. package/dist/components/nano-date-picker.js +11 -0
  303. package/dist/components/nano-date-picker.js.map +1 -0
  304. package/dist/components/nano-details.d.ts +11 -0
  305. package/dist/components/nano-details.js +162 -0
  306. package/dist/components/nano-details.js.map +1 -0
  307. package/dist/components/nano-dialog.d.ts +11 -0
  308. package/dist/components/nano-dialog.js +231 -0
  309. package/dist/components/nano-dialog.js.map +1 -0
  310. package/dist/components/nano-drawer.d.ts +11 -0
  311. package/dist/components/nano-drawer.js +217 -0
  312. package/dist/components/nano-drawer.js.map +1 -0
  313. package/dist/components/nano-dropdown.d.ts +11 -0
  314. package/dist/components/nano-dropdown.js +11 -0
  315. package/dist/components/nano-dropdown.js.map +1 -0
  316. package/dist/components/nano-file-upload.d.ts +11 -0
  317. package/dist/components/nano-file-upload.js +421 -0
  318. package/dist/components/nano-file-upload.js.map +1 -0
  319. package/dist/components/nano-global-nav.d.ts +11 -0
  320. package/dist/components/nano-global-nav.js +1221 -0
  321. package/dist/components/nano-global-nav.js.map +1 -0
  322. package/dist/components/nano-global-search-results.d.ts +11 -0
  323. package/dist/components/nano-global-search-results.js +608 -0
  324. package/dist/components/nano-global-search-results.js.map +1 -0
  325. package/dist/components/nano-grid-item.d.ts +11 -0
  326. package/dist/components/nano-grid-item.js +11 -0
  327. package/dist/components/nano-grid-item.js.map +1 -0
  328. package/dist/components/nano-grid.d.ts +11 -0
  329. package/dist/components/nano-grid.js +11 -0
  330. package/dist/components/nano-grid.js.map +1 -0
  331. package/dist/components/nano-hero.d.ts +11 -0
  332. package/dist/components/nano-hero.js +187 -0
  333. package/dist/components/nano-hero.js.map +1 -0
  334. package/dist/components/nano-icon-button.d.ts +11 -0
  335. package/dist/components/nano-icon-button.js +11 -0
  336. package/dist/components/nano-icon-button.js.map +1 -0
  337. package/dist/components/nano-icon.d.ts +11 -0
  338. package/dist/components/nano-icon.js +11 -0
  339. package/dist/components/nano-icon.js.map +1 -0
  340. package/dist/components/nano-img.d.ts +11 -0
  341. package/dist/components/nano-img.js +11 -0
  342. package/dist/components/nano-img.js.map +1 -0
  343. package/dist/components/nano-input.d.ts +11 -0
  344. package/dist/components/nano-input.js +11 -0
  345. package/dist/components/nano-input.js.map +1 -0
  346. package/dist/components/nano-menu-drawer.d.ts +11 -0
  347. package/dist/components/nano-menu-drawer.js +221 -0
  348. package/dist/components/nano-menu-drawer.js.map +1 -0
  349. package/dist/components/nano-menu.d.ts +11 -0
  350. package/dist/components/nano-menu.js +11 -0
  351. package/dist/components/nano-menu.js.map +1 -0
  352. package/dist/components/nano-nav-item.d.ts +11 -0
  353. package/dist/components/nano-nav-item.js +11 -0
  354. package/dist/components/nano-nav-item.js.map +1 -0
  355. package/dist/components/nano-option.d.ts +11 -0
  356. package/dist/components/nano-option.js +11 -0
  357. package/dist/components/nano-option.js.map +1 -0
  358. package/dist/components/nano-range.d.ts +11 -0
  359. package/dist/components/nano-range.js +430 -0
  360. package/dist/components/nano-range.js.map +1 -0
  361. package/dist/components/nano-rating.d.ts +11 -0
  362. package/dist/components/nano-rating.js +240 -0
  363. package/dist/components/nano-rating.js.map +1 -0
  364. package/dist/components/nano-resize-observe.d.ts +11 -0
  365. package/dist/components/nano-resize-observe.js +11 -0
  366. package/dist/components/nano-resize-observe.js.map +1 -0
  367. package/dist/components/nano-select.d.ts +11 -0
  368. package/dist/components/nano-select.js +11 -0
  369. package/dist/components/nano-select.js.map +1 -0
  370. package/dist/components/nano-skeleton.d.ts +11 -0
  371. package/dist/components/nano-skeleton.js +11 -0
  372. package/dist/components/nano-skeleton.js.map +1 -0
  373. package/dist/components/nano-slide.d.ts +11 -0
  374. package/dist/components/nano-slide.js +66 -0
  375. package/dist/components/nano-slide.js.map +1 -0
  376. package/dist/components/nano-slides.d.ts +11 -0
  377. package/dist/components/nano-slides.js +4335 -0
  378. package/dist/components/nano-slides.js.map +1 -0
  379. package/dist/components/nano-spinner.d.ts +11 -0
  380. package/dist/components/nano-spinner.js +11 -0
  381. package/dist/components/nano-spinner.js.map +1 -0
  382. package/dist/components/nano-sticker.d.ts +11 -0
  383. package/dist/components/nano-sticker.js +11 -0
  384. package/dist/components/nano-sticker.js.map +1 -0
  385. package/dist/components/nano-tab-content.d.ts +11 -0
  386. package/dist/components/nano-tab-content.js +49 -0
  387. package/dist/components/nano-tab-content.js.map +1 -0
  388. package/dist/components/nano-tab-group.d.ts +11 -0
  389. package/dist/components/nano-tab-group.js +460 -0
  390. package/dist/components/nano-tab-group.js.map +1 -0
  391. package/dist/components/nano-tab.d.ts +11 -0
  392. package/dist/components/nano-tab.js +86 -0
  393. package/dist/components/nano-tab.js.map +1 -0
  394. package/dist/components/nano-tooltip.d.ts +11 -0
  395. package/dist/components/nano-tooltip.js +11 -0
  396. package/dist/components/nano-tooltip.js.map +1 -0
  397. package/dist/components/nav-item.js +327 -0
  398. package/dist/components/nav-item.js.map +1 -0
  399. package/dist/components/option.js +120 -0
  400. package/dist/components/option.js.map +1 -0
  401. package/dist/{esm/popover-2c7b2326.js → components/popover.js} +10 -1
  402. package/dist/components/popover.js.map +1 -0
  403. package/dist/components/resize-observe.js +162 -0
  404. package/dist/components/resize-observe.js.map +1 -0
  405. package/dist/{esm/scroll-5cd0ab13.js → components/scroll.js} +2 -2
  406. package/dist/components/scroll.js.map +1 -0
  407. package/dist/components/select.js +670 -0
  408. package/dist/components/select.js.map +1 -0
  409. package/dist/components/skeleton.js +43 -0
  410. package/dist/components/skeleton.js.map +1 -0
  411. package/dist/components/slot.js +48 -0
  412. package/dist/components/slot.js.map +1 -0
  413. package/dist/components/spinner.js +49 -0
  414. package/dist/components/spinner.js.map +1 -0
  415. package/dist/components/sticker.js +665 -0
  416. package/dist/components/sticker.js.map +1 -0
  417. package/dist/{esm/tabbable-e21f860a.js → components/tabbable.js} +8 -6
  418. package/dist/components/tabbable.js.map +1 -0
  419. package/dist/components/theme.js +29 -0
  420. package/dist/components/theme.js.map +1 -0
  421. package/dist/components/throttle.js +55 -0
  422. package/dist/components/throttle.js.map +1 -0
  423. package/dist/components/tooltip.js +216 -0
  424. package/dist/components/tooltip.js.map +1 -0
  425. package/dist/custom-elements/index.d.ts +12 -6
  426. package/dist/custom-elements/index.js +1745 -1116
  427. package/dist/custom-elements/index.js.map +1 -1
  428. package/dist/esm/active-element-75b7c8a0.js +19 -0
  429. package/dist/esm/active-element-75b7c8a0.js.map +1 -0
  430. package/dist/esm/{algoliasearch.umd-8e5aff52.js → algoliasearch.umd-6d09b727.js} +3 -3
  431. package/dist/esm/{algoliasearch.umd-8e5aff52.js.map → algoliasearch.umd-6d09b727.js.map} +1 -1
  432. package/dist/esm/dom-faa69d29.js +75 -0
  433. package/dist/esm/dom-faa69d29.js.map +1 -0
  434. package/dist/esm/form-control-67eeb108.js +77 -0
  435. package/dist/esm/form-control-67eeb108.js.map +1 -0
  436. package/dist/esm/index-5f8d16e7.js +12 -12
  437. package/dist/esm/index-bf53664b.js +74 -0
  438. package/dist/esm/{index-f41ae118.js.map → index-bf53664b.js.map} +1 -1
  439. package/dist/esm/index.js +4 -4
  440. package/dist/esm/index.js.map +1 -1
  441. package/dist/esm/loader.js +1 -1
  442. package/dist/esm/{modal-eb0a9bb3.js → modal-215df46b.js} +2 -2
  443. package/dist/esm/{modal-eb0a9bb3.js.map → modal-215df46b.js.map} +1 -1
  444. package/dist/esm/nano-accordion.entry.js +2 -4
  445. package/dist/esm/nano-accordion.entry.js.map +1 -1
  446. package/dist/esm/nano-alert.entry.js +6 -6
  447. package/dist/esm/nano-alert.entry.js.map +1 -1
  448. package/dist/esm/nano-algolia-filter.entry.js +1 -1
  449. package/dist/esm/nano-algolia-filter.entry.js.map +1 -1
  450. package/dist/esm/nano-algolia-input.entry.js +1 -1
  451. package/dist/esm/nano-algolia.entry.js +9 -5
  452. package/dist/esm/nano-algolia.entry.js.map +1 -1
  453. package/dist/esm/nano-aspect-ratio.entry.js +1 -1
  454. package/dist/esm/nano-aspect-ratio.entry.js.map +1 -1
  455. package/dist/esm/nano-checkbox-group.entry.js +4 -1
  456. package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
  457. package/dist/esm/nano-checkbox.entry.js +1 -1
  458. package/dist/esm/nano-checkbox.entry.js.map +1 -1
  459. package/dist/esm/nano-components.js +1 -1
  460. package/dist/esm/nano-datalist_3.entry.js +784 -0
  461. package/dist/esm/nano-datalist_3.entry.js.map +1 -0
  462. package/dist/esm/nano-date-input.entry.js +9 -5
  463. package/dist/esm/nano-date-input.entry.js.map +1 -1
  464. package/dist/esm/{nano-date-picker_2.entry.js → nano-date-picker.entry.js} +3 -274
  465. package/dist/esm/nano-date-picker.entry.js.map +1 -0
  466. package/dist/esm/nano-details.entry.js +2 -2
  467. package/dist/esm/nano-details.entry.js.map +1 -1
  468. package/dist/esm/nano-dialog.entry.js +5 -5
  469. package/dist/esm/nano-dialog.entry.js.map +1 -1
  470. package/dist/esm/nano-drawer.entry.js +5 -5
  471. package/dist/esm/nano-drawer.entry.js.map +1 -1
  472. package/dist/esm/nano-dropdown.entry.js +303 -0
  473. package/dist/esm/nano-dropdown.entry.js.map +1 -0
  474. package/dist/esm/nano-file-upload.entry.js +1 -1
  475. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  476. package/dist/esm/nano-global-nav.entry.js +19 -24
  477. package/dist/esm/nano-global-nav.entry.js.map +1 -1
  478. package/dist/esm/nano-global-search-results.entry.js +200 -115
  479. package/dist/esm/nano-global-search-results.entry.js.map +1 -1
  480. package/dist/esm/nano-grid_3.entry.js +16 -8
  481. package/dist/esm/nano-grid_3.entry.js.map +1 -1
  482. package/dist/esm/nano-hero.entry.js +14 -6
  483. package/dist/esm/nano-hero.entry.js.map +1 -1
  484. package/dist/esm/nano-icon-button.entry.js +2 -2
  485. package/dist/esm/nano-icon-button.entry.js.map +1 -1
  486. package/dist/esm/nano-icon.entry.js +1 -1
  487. package/dist/esm/nano-icon.entry.js.map +1 -1
  488. package/dist/esm/nano-input.entry.js +80 -75
  489. package/dist/esm/nano-input.entry.js.map +1 -1
  490. package/dist/esm/nano-menu-drawer.entry.js +2 -2
  491. package/dist/esm/nano-menu-drawer.entry.js.map +1 -1
  492. package/dist/esm/nano-nav-item_2.entry.js +287 -533
  493. package/dist/esm/nano-nav-item_2.entry.js.map +1 -1
  494. package/dist/esm/nano-range.entry.js +2 -2
  495. package/dist/esm/nano-range.entry.js.map +1 -1
  496. package/dist/esm/nano-rating.entry.js +2 -2
  497. package/dist/esm/nano-rating.entry.js.map +1 -1
  498. package/dist/esm/nano-resize-observe_2.entry.js +1 -1
  499. package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
  500. package/dist/esm/nano-slide.entry.js +1 -1
  501. package/dist/esm/nano-slide.entry.js.map +1 -1
  502. package/dist/esm/nano-slides.entry.js +1 -1
  503. package/dist/esm/nano-slides.entry.js.map +1 -1
  504. package/dist/esm/nano-spinner.entry.js +1 -1
  505. package/dist/esm/nano-spinner.entry.js.map +1 -1
  506. package/dist/esm/nano-sticker.entry.js +3 -3
  507. package/dist/esm/nano-sticker.entry.js.map +1 -1
  508. package/dist/esm/nano-tab-content.entry.js +2 -2
  509. package/dist/esm/nano-tab-content.entry.js.map +1 -1
  510. package/dist/esm/nano-tab-group.entry.js +72 -36
  511. package/dist/esm/nano-tab-group.entry.js.map +1 -1
  512. package/dist/esm/nano-tab.entry.js +10 -3
  513. package/dist/esm/nano-tab.entry.js.map +1 -1
  514. package/dist/esm/nano-tooltip.entry.js +2 -2
  515. package/dist/esm/nano-tooltip.entry.js.map +1 -1
  516. package/dist/esm/popover-db86a392.js +1893 -0
  517. package/dist/esm/popover-db86a392.js.map +1 -0
  518. package/dist/esm/scroll-881feb46.js +76 -0
  519. package/dist/esm/{scroll-5cd0ab13.js.map → scroll-881feb46.js.map} +1 -1
  520. package/dist/esm/tabbable-614f515e.js +94 -0
  521. package/dist/esm/tabbable-614f515e.js.map +1 -0
  522. package/dist/esm-es5/active-element-75b7c8a0.js +5 -0
  523. package/dist/esm-es5/active-element-75b7c8a0.js.map +1 -0
  524. package/dist/esm-es5/{algoliasearch.umd-8e5aff52.js → algoliasearch.umd-6d09b727.js} +3 -3
  525. package/dist/esm-es5/{algoliasearch.umd-8e5aff52.js.map → algoliasearch.umd-6d09b727.js.map} +1 -1
  526. package/dist/esm-es5/dom-faa69d29.js +5 -0
  527. package/dist/esm-es5/dom-faa69d29.js.map +1 -0
  528. package/dist/esm-es5/form-control-67eeb108.js +5 -0
  529. package/dist/esm-es5/form-control-67eeb108.js.map +1 -0
  530. package/dist/esm-es5/index-5f8d16e7.js +1 -1
  531. package/dist/esm-es5/index-bf53664b.js +5 -0
  532. package/dist/esm-es5/index-bf53664b.js.map +1 -0
  533. package/dist/esm-es5/index.js +1 -1
  534. package/dist/esm-es5/index.js.map +1 -1
  535. package/dist/esm-es5/loader.js +1 -1
  536. package/dist/esm-es5/loader.js.map +1 -1
  537. package/dist/esm-es5/{modal-eb0a9bb3.js → modal-215df46b.js} +2 -2
  538. package/dist/esm-es5/{modal-eb0a9bb3.js.map → modal-215df46b.js.map} +0 -0
  539. package/dist/esm-es5/nano-accordion.entry.js +1 -1
  540. package/dist/esm-es5/nano-accordion.entry.js.map +1 -1
  541. package/dist/esm-es5/nano-alert.entry.js +1 -1
  542. package/dist/esm-es5/nano-alert.entry.js.map +1 -1
  543. package/dist/esm-es5/nano-algolia-filter.entry.js +1 -1
  544. package/dist/esm-es5/nano-algolia-filter.entry.js.map +1 -1
  545. package/dist/esm-es5/nano-algolia-input.entry.js +1 -1
  546. package/dist/esm-es5/nano-algolia.entry.js +1 -1
  547. package/dist/esm-es5/nano-algolia.entry.js.map +1 -1
  548. package/dist/esm-es5/nano-aspect-ratio.entry.js +1 -1
  549. package/dist/esm-es5/nano-aspect-ratio.entry.js.map +1 -1
  550. package/dist/esm-es5/nano-checkbox-group.entry.js +1 -1
  551. package/dist/esm-es5/nano-checkbox-group.entry.js.map +1 -1
  552. package/dist/esm-es5/nano-checkbox.entry.js +1 -1
  553. package/dist/esm-es5/nano-checkbox.entry.js.map +1 -1
  554. package/dist/esm-es5/nano-components.js +1 -1
  555. package/dist/esm-es5/nano-components.js.map +1 -1
  556. package/dist/esm-es5/nano-datalist_3.entry.js +5 -0
  557. package/dist/esm-es5/nano-datalist_3.entry.js.map +1 -0
  558. package/dist/esm-es5/nano-date-input.entry.js +1 -1
  559. package/dist/esm-es5/nano-date-input.entry.js.map +1 -1
  560. package/dist/esm-es5/nano-date-picker.entry.js +5 -0
  561. package/dist/esm-es5/nano-date-picker.entry.js.map +1 -0
  562. package/dist/esm-es5/nano-details.entry.js +1 -1
  563. package/dist/esm-es5/nano-details.entry.js.map +1 -1
  564. package/dist/esm-es5/nano-dialog.entry.js +1 -1
  565. package/dist/esm-es5/nano-dialog.entry.js.map +1 -1
  566. package/dist/esm-es5/nano-drawer.entry.js +1 -1
  567. package/dist/esm-es5/nano-drawer.entry.js.map +1 -1
  568. package/dist/esm-es5/nano-dropdown.entry.js +5 -0
  569. package/dist/esm-es5/nano-dropdown.entry.js.map +1 -0
  570. package/dist/esm-es5/nano-file-upload.entry.js +1 -1
  571. package/dist/esm-es5/nano-file-upload.entry.js.map +1 -1
  572. package/dist/esm-es5/nano-global-nav.entry.js +1 -1
  573. package/dist/esm-es5/nano-global-nav.entry.js.map +1 -1
  574. package/dist/esm-es5/nano-global-search-results.entry.js +2 -2
  575. package/dist/esm-es5/nano-global-search-results.entry.js.map +1 -1
  576. package/dist/esm-es5/nano-grid_3.entry.js +1 -1
  577. package/dist/esm-es5/nano-grid_3.entry.js.map +1 -1
  578. package/dist/esm-es5/nano-hero.entry.js +1 -1
  579. package/dist/esm-es5/nano-hero.entry.js.map +1 -1
  580. package/dist/esm-es5/nano-icon-button.entry.js +1 -1
  581. package/dist/esm-es5/nano-icon-button.entry.js.map +1 -1
  582. package/dist/esm-es5/nano-icon.entry.js +1 -1
  583. package/dist/esm-es5/nano-icon.entry.js.map +1 -1
  584. package/dist/esm-es5/nano-input.entry.js +2 -2
  585. package/dist/esm-es5/nano-input.entry.js.map +1 -1
  586. package/dist/esm-es5/nano-menu-drawer.entry.js +1 -1
  587. package/dist/esm-es5/nano-menu-drawer.entry.js.map +1 -1
  588. package/dist/esm-es5/nano-nav-item_2.entry.js +1 -1
  589. package/dist/esm-es5/nano-nav-item_2.entry.js.map +1 -1
  590. package/dist/esm-es5/nano-range.entry.js +1 -1
  591. package/dist/esm-es5/nano-range.entry.js.map +1 -1
  592. package/dist/esm-es5/nano-rating.entry.js +1 -1
  593. package/dist/esm-es5/nano-rating.entry.js.map +1 -1
  594. package/dist/esm-es5/nano-resize-observe_2.entry.js +2 -2
  595. package/dist/esm-es5/nano-resize-observe_2.entry.js.map +1 -1
  596. package/dist/esm-es5/nano-slide.entry.js +1 -1
  597. package/dist/esm-es5/nano-slide.entry.js.map +1 -1
  598. package/dist/esm-es5/nano-slides.entry.js +1 -1
  599. package/dist/esm-es5/nano-slides.entry.js.map +1 -1
  600. package/dist/esm-es5/nano-spinner.entry.js +1 -1
  601. package/dist/esm-es5/nano-spinner.entry.js.map +1 -1
  602. package/dist/esm-es5/nano-sticker.entry.js +1 -1
  603. package/dist/esm-es5/nano-sticker.entry.js.map +1 -1
  604. package/dist/esm-es5/nano-tab-content.entry.js +1 -1
  605. package/dist/esm-es5/nano-tab-content.entry.js.map +1 -1
  606. package/dist/esm-es5/nano-tab-group.entry.js +2 -2
  607. package/dist/esm-es5/nano-tab-group.entry.js.map +1 -1
  608. package/dist/esm-es5/nano-tab.entry.js +2 -2
  609. package/dist/esm-es5/nano-tab.entry.js.map +1 -1
  610. package/dist/esm-es5/nano-tooltip.entry.js +1 -1
  611. package/dist/esm-es5/nano-tooltip.entry.js.map +1 -1
  612. package/dist/esm-es5/{popover-2c7b2326.js → popover-db86a392.js} +2 -2
  613. package/dist/esm-es5/popover-db86a392.js.map +1 -0
  614. package/dist/esm-es5/{scroll-5cd0ab13.js → scroll-881feb46.js} +2 -2
  615. package/dist/esm-es5/{scroll-5cd0ab13.js.map → scroll-881feb46.js.map} +0 -0
  616. package/dist/esm-es5/tabbable-614f515e.js +5 -0
  617. package/dist/esm-es5/tabbable-614f515e.js.map +1 -0
  618. package/dist/nano-components/index.esm.js +1 -1
  619. package/dist/nano-components/index.esm.js.map +1 -1
  620. package/dist/nano-components/nano-components.css +1 -1
  621. package/dist/nano-components/nano-components.esm.js +1 -1
  622. package/dist/nano-components/nano-components.esm.js.map +1 -1
  623. package/dist/nano-components/{p-2f21a443.system.entry.js → p-033296c7.system.entry.js} +2 -2
  624. package/dist/nano-components/{p-2f21a443.system.entry.js.map → p-033296c7.system.entry.js.map} +1 -1
  625. package/dist/nano-components/p-040b6cda.entry.js +5 -0
  626. package/dist/nano-components/{p-61565b5a.entry.js.map → p-040b6cda.entry.js.map} +1 -1
  627. package/dist/nano-components/p-05c7bde1.system.entry.js +5 -0
  628. package/dist/nano-components/{p-30df44d9.system.entry.js.map → p-05c7bde1.system.entry.js.map} +1 -1
  629. package/dist/nano-components/p-07bdf44d.entry.js +5 -0
  630. package/dist/nano-components/{p-88bcf55b.entry.js.map → p-07bdf44d.entry.js.map} +1 -1
  631. package/dist/nano-components/p-09066701.system.entry.js +5 -0
  632. package/dist/nano-components/p-09066701.system.entry.js.map +1 -0
  633. package/dist/nano-components/p-090f22a9.system.entry.js +5 -0
  634. package/dist/nano-components/{p-854df906.system.entry.js.map → p-090f22a9.system.entry.js.map} +1 -1
  635. package/dist/nano-components/p-096682d9.system.js +1 -1
  636. package/dist/nano-components/p-096682d9.system.js.map +1 -1
  637. package/dist/nano-components/p-09d2d944.system.js +5 -0
  638. package/dist/nano-components/p-09d2d944.system.js.map +1 -0
  639. package/dist/nano-components/{p-bfc12324.system.entry.js → p-0bee6fe6.system.entry.js} +2 -2
  640. package/dist/nano-components/{p-bfc12324.system.entry.js.map → p-0bee6fe6.system.entry.js.map} +0 -0
  641. package/dist/nano-components/{p-21c2a9a5.system.entry.js → p-173bae15.system.entry.js} +2 -2
  642. package/dist/nano-components/{p-21c2a9a5.system.entry.js.map → p-173bae15.system.entry.js.map} +1 -1
  643. package/dist/nano-components/{p-731935b1.js → p-1805d59a.js} +2 -2
  644. package/dist/nano-components/{p-731935b1.js.map → p-1805d59a.js.map} +0 -0
  645. package/dist/nano-components/p-1a293bd0.entry.js +5 -0
  646. package/dist/nano-components/{p-8b7f8ef4.entry.js.map → p-1a293bd0.entry.js.map} +1 -1
  647. package/dist/nano-components/p-1c216ca4.system.js +5 -0
  648. package/dist/{esm-es5/index-f41ae118.js.map → nano-components/p-1c216ca4.system.js.map} +1 -1
  649. package/dist/nano-components/p-1d13dbdf.system.js +5 -0
  650. package/dist/nano-components/p-1d13dbdf.system.js.map +1 -0
  651. package/dist/nano-components/p-1e974cad.entry.js +5 -0
  652. package/dist/nano-components/{p-7e60c331.entry.js.map → p-1e974cad.entry.js.map} +1 -1
  653. package/dist/nano-components/p-20387cde.system.entry.js +5 -0
  654. package/dist/nano-components/{p-91778977.system.entry.js.map → p-20387cde.system.entry.js.map} +1 -1
  655. package/dist/nano-components/p-20db18f3.entry.js +5 -0
  656. package/dist/nano-components/{p-a9dd7cf9.entry.js.map → p-20db18f3.entry.js.map} +1 -1
  657. package/dist/nano-components/p-22884654.system.entry.js +5 -0
  658. package/dist/nano-components/{p-3d0fbd0e.system.entry.js.map → p-22884654.system.entry.js.map} +1 -1
  659. package/dist/nano-components/p-2559e9c1.entry.js +5 -0
  660. package/dist/nano-components/p-2559e9c1.entry.js.map +1 -0
  661. package/dist/nano-components/p-289aa03f.js +5 -0
  662. package/dist/nano-components/p-289aa03f.js.map +1 -0
  663. package/dist/nano-components/p-2e6c55e2.entry.js +5 -0
  664. package/dist/nano-components/{p-6f3d20fe.entry.js.map → p-2e6c55e2.entry.js.map} +1 -1
  665. package/dist/nano-components/{p-60c9b580.system.js → p-3258c568.system.js} +2 -2
  666. package/dist/nano-components/p-3258c568.system.js.map +1 -0
  667. package/dist/nano-components/p-3456db01.entry.js +5 -0
  668. package/dist/nano-components/p-3456db01.entry.js.map +1 -0
  669. package/dist/nano-components/p-346588cc.entry.js +5 -0
  670. package/dist/nano-components/p-346588cc.entry.js.map +1 -0
  671. package/dist/nano-components/p-394c3c19.entry.js +5 -0
  672. package/dist/nano-components/{p-217f71aa.entry.js.map → p-394c3c19.entry.js.map} +1 -1
  673. package/dist/nano-components/p-3a13948a.system.entry.js +5 -0
  674. package/dist/nano-components/p-3a13948a.system.entry.js.map +1 -0
  675. package/dist/nano-components/p-3a725f1f.system.entry.js +5 -0
  676. package/dist/nano-components/p-3a725f1f.system.entry.js.map +1 -0
  677. package/dist/nano-components/p-3aa1d07d.entry.js +5 -0
  678. package/dist/nano-components/{p-6a1c69d3.entry.js.map → p-3aa1d07d.entry.js.map} +1 -1
  679. package/dist/nano-components/p-3ad1d5aa.system.entry.js +5 -0
  680. package/dist/nano-components/p-3ad1d5aa.system.entry.js.map +1 -0
  681. package/dist/nano-components/p-3ef30ded.system.entry.js +5 -0
  682. package/dist/nano-components/{p-9bf4a6e0.system.entry.js.map → p-3ef30ded.system.entry.js.map} +1 -1
  683. package/dist/nano-components/p-3fc52f19.system.entry.js +5 -0
  684. package/dist/nano-components/p-3fc52f19.system.entry.js.map +1 -0
  685. package/dist/nano-components/p-4429caac.system.entry.js +5 -0
  686. package/dist/nano-components/p-4429caac.system.entry.js.map +1 -0
  687. package/dist/nano-components/p-4535e3bb.entry.js +5 -0
  688. package/dist/nano-components/{p-143bca0d.entry.js.map → p-4535e3bb.entry.js.map} +1 -1
  689. package/dist/nano-components/p-462ad4f1.entry.js +5 -0
  690. package/dist/nano-components/p-462ad4f1.entry.js.map +1 -0
  691. package/dist/nano-components/p-46d0bb7b.entry.js +5 -0
  692. package/dist/nano-components/p-46d0bb7b.entry.js.map +1 -0
  693. package/dist/nano-components/p-5066e563.system.entry.js +5 -0
  694. package/dist/nano-components/{p-006f2fd3.system.entry.js.map → p-5066e563.system.entry.js.map} +1 -1
  695. package/dist/nano-components/p-52ab579e.system.entry.js +5 -0
  696. package/dist/nano-components/p-52ab579e.system.entry.js.map +1 -0
  697. package/dist/nano-components/p-531d5275.system.entry.js +5 -0
  698. package/dist/nano-components/{p-b79dc23a.system.entry.js.map → p-531d5275.system.entry.js.map} +1 -1
  699. package/dist/nano-components/p-5653961d.system.entry.js +5 -0
  700. package/dist/nano-components/{p-18f49ebf.system.entry.js.map → p-5653961d.system.entry.js.map} +1 -1
  701. package/dist/nano-components/p-56ba0d63.entry.js +5 -0
  702. package/dist/nano-components/p-56ba0d63.entry.js.map +1 -0
  703. package/dist/nano-components/p-593de29b.system.entry.js +5 -0
  704. package/dist/nano-components/{p-76b13c27.system.entry.js.map → p-593de29b.system.entry.js.map} +1 -1
  705. package/dist/nano-components/p-5a476bba.system.entry.js +5 -0
  706. package/dist/nano-components/p-5a476bba.system.entry.js.map +1 -0
  707. package/dist/nano-components/{p-8a608e6d.entry.js → p-5e7c7d3d.entry.js} +2 -2
  708. package/dist/nano-components/{p-8a608e6d.entry.js.map → p-5e7c7d3d.entry.js.map} +1 -1
  709. package/dist/nano-components/p-672e5547.js +5 -0
  710. package/dist/nano-components/p-672e5547.js.map +1 -0
  711. package/dist/nano-components/{p-a16651a6.system.js → p-67cc0d9b.system.js} +3 -3
  712. package/dist/nano-components/{p-a16651a6.system.js.map → p-67cc0d9b.system.js.map} +1 -1
  713. package/dist/nano-components/p-69439aa1.system.entry.js +5 -0
  714. package/dist/nano-components/p-69439aa1.system.entry.js.map +1 -0
  715. package/dist/nano-components/p-6ade3290.entry.js +5 -0
  716. package/dist/nano-components/{p-1e03f9bf.entry.js.map → p-6ade3290.entry.js.map} +1 -1
  717. package/dist/nano-components/p-70dec19f.entry.js +5 -0
  718. package/dist/nano-components/{p-d0e9b177.entry.js.map → p-70dec19f.entry.js.map} +1 -1
  719. package/dist/nano-components/p-71c26ace.entry.js +5 -0
  720. package/dist/nano-components/p-71c26ace.entry.js.map +1 -0
  721. package/dist/nano-components/p-7232c046.system.entry.js +5 -0
  722. package/dist/nano-components/{p-92b3f99b.system.entry.js.map → p-7232c046.system.entry.js.map} +1 -1
  723. package/dist/nano-components/p-730f60ea.entry.js +5 -0
  724. package/dist/nano-components/{p-78cf9d39.entry.js.map → p-730f60ea.entry.js.map} +1 -1
  725. package/dist/nano-components/p-74a7fc4f.js +5 -0
  726. package/dist/nano-components/p-74a7fc4f.js.map +1 -0
  727. package/dist/nano-components/p-774e090b.system.entry.js +5 -0
  728. package/dist/nano-components/p-774e090b.system.entry.js.map +1 -0
  729. package/dist/nano-components/{p-d31761c8.system.js → p-7be6b7f3.system.js} +2 -2
  730. package/dist/nano-components/p-7be6b7f3.system.js.map +1 -0
  731. package/dist/nano-components/p-7d2e2685.entry.js +5 -0
  732. package/dist/nano-components/p-7d2e2685.entry.js.map +1 -0
  733. package/dist/nano-components/p-820d9e23.system.entry.js +5 -0
  734. package/dist/nano-components/p-820d9e23.system.entry.js.map +1 -0
  735. package/dist/nano-components/p-8278c5d2.system.entry.js +5 -0
  736. package/dist/nano-components/{p-badf69ee.system.entry.js.map → p-8278c5d2.system.entry.js.map} +1 -1
  737. package/dist/nano-components/p-82f4b071.entry.js +5 -0
  738. package/dist/nano-components/p-82f4b071.entry.js.map +1 -0
  739. package/dist/nano-components/p-88f17c86.system.entry.js +5 -0
  740. package/dist/nano-components/p-88f17c86.system.entry.js.map +1 -0
  741. package/dist/nano-components/p-8a8f893b.system.entry.js +5 -0
  742. package/dist/nano-components/{p-cc668975.system.entry.js.map → p-8a8f893b.system.entry.js.map} +1 -1
  743. package/dist/nano-components/p-93448bcd.system.entry.js +5 -0
  744. package/dist/nano-components/{p-02e82e14.system.entry.js.map → p-93448bcd.system.entry.js.map} +1 -1
  745. package/dist/nano-components/p-94593617.system.entry.js +5 -0
  746. package/dist/nano-components/{p-2442eda0.system.entry.js.map → p-94593617.system.entry.js.map} +1 -1
  747. package/dist/nano-components/{p-56113dd3.js → p-9a385481.js} +2 -2
  748. package/dist/nano-components/p-9a385481.js.map +1 -0
  749. package/dist/nano-components/{p-8134c14e.system.js → p-9de508a5.system.js} +2 -2
  750. package/dist/nano-components/p-9de508a5.system.js.map +1 -0
  751. package/dist/nano-components/p-a315ed2c.entry.js +5 -0
  752. package/dist/nano-components/{p-13801651.entry.js.map → p-a315ed2c.entry.js.map} +1 -1
  753. package/dist/nano-components/p-a4075d49.entry.js +5 -0
  754. package/dist/nano-components/p-a4075d49.entry.js.map +1 -0
  755. package/dist/nano-components/p-b19e0775.system.entry.js +5 -0
  756. package/dist/nano-components/p-b19e0775.system.entry.js.map +1 -0
  757. package/dist/nano-components/{p-18411914.system.js → p-b370e3ef.system.js} +2 -2
  758. package/dist/nano-components/{p-18411914.system.js.map → p-b370e3ef.system.js.map} +0 -0
  759. package/dist/nano-components/p-b59d2bd5.entry.js +5 -0
  760. package/dist/nano-components/p-b59d2bd5.entry.js.map +1 -0
  761. package/dist/nano-components/p-b619500f.js +5 -0
  762. package/dist/nano-components/p-b619500f.js.map +1 -0
  763. package/dist/nano-components/{p-23f65b34.entry.js → p-ba13bb56.entry.js} +2 -2
  764. package/dist/nano-components/{p-23f65b34.entry.js.map → p-ba13bb56.entry.js.map} +1 -1
  765. package/dist/nano-components/p-c0ddb4c3.entry.js +5 -0
  766. package/dist/nano-components/{p-78569d39.entry.js.map → p-c0ddb4c3.entry.js.map} +1 -1
  767. package/dist/nano-components/p-c954c040.entry.js +5 -0
  768. package/dist/nano-components/p-c954c040.entry.js.map +1 -0
  769. package/dist/nano-components/p-c9c1a345.system.entry.js +5 -0
  770. package/dist/nano-components/{p-38a3e791.system.entry.js.map → p-c9c1a345.system.entry.js.map} +1 -1
  771. package/dist/nano-components/{p-8c8963f6.js → p-cb79d1ec.js} +2 -2
  772. package/dist/nano-components/{p-8c8963f6.js.map → p-cb79d1ec.js.map} +0 -0
  773. package/dist/nano-components/p-d6569144.entry.js +5 -0
  774. package/dist/nano-components/{p-c7b7f7ab.entry.js.map → p-d6569144.entry.js.map} +1 -1
  775. package/dist/nano-components/{p-2d1a856e.system.js → p-d84ef175.system.js} +2 -2
  776. package/dist/nano-components/{p-2d1a856e.system.js.map → p-d84ef175.system.js.map} +0 -0
  777. package/dist/nano-components/p-d9c7909e.js +5 -0
  778. package/dist/nano-components/p-d9c7909e.js.map +1 -0
  779. package/dist/nano-components/p-e11bd40d.entry.js +5 -0
  780. package/dist/nano-components/{p-a21d90aa.entry.js.map → p-e11bd40d.entry.js.map} +1 -1
  781. package/dist/nano-components/p-e15be516.system.entry.js +5 -0
  782. package/dist/nano-components/p-e15be516.system.entry.js.map +1 -0
  783. package/dist/nano-components/p-e2ae11d2.entry.js +5 -0
  784. package/dist/nano-components/p-e2ae11d2.entry.js.map +1 -0
  785. package/dist/nano-components/{p-8757b4eb.js → p-e3583b00.js} +3 -3
  786. package/dist/nano-components/{p-8757b4eb.js.map → p-e3583b00.js.map} +1 -1
  787. package/dist/nano-components/p-e35eac75.entry.js +5 -0
  788. package/dist/nano-components/p-e35eac75.entry.js.map +1 -0
  789. package/dist/nano-components/p-e562bffd.entry.js +5 -0
  790. package/dist/nano-components/p-e562bffd.entry.js.map +1 -0
  791. package/dist/nano-components/p-e6f41b97.entry.js +5 -0
  792. package/dist/nano-components/p-e6f41b97.entry.js.map +1 -0
  793. package/dist/nano-components/p-e6f8f9f7.system.entry.js +5 -0
  794. package/dist/nano-components/p-e6f8f9f7.system.entry.js.map +1 -0
  795. package/dist/nano-components/p-ea5eb591.system.js +5 -0
  796. package/dist/nano-components/p-ea5eb591.system.js.map +1 -0
  797. package/dist/nano-components/p-ef4e0912.system.entry.js +5 -0
  798. package/dist/nano-components/{p-2aed806d.system.entry.js.map → p-ef4e0912.system.entry.js.map} +1 -1
  799. package/dist/nano-components/{p-981cc614.entry.js → p-f1bf1099.entry.js} +2 -2
  800. package/dist/nano-components/{p-981cc614.entry.js.map → p-f1bf1099.entry.js.map} +0 -0
  801. package/dist/nano-components/p-f2e7d2f9.system.entry.js +5 -0
  802. package/dist/nano-components/p-f2e7d2f9.system.entry.js.map +1 -0
  803. package/dist/nano-components/p-f3bf942d.entry.js +5 -0
  804. package/dist/nano-components/p-f3bf942d.entry.js.map +1 -0
  805. package/dist/nano-components/p-f53989c3.system.entry.js +5 -0
  806. package/dist/nano-components/{p-6621e4f1.system.entry.js.map → p-f53989c3.system.entry.js.map} +1 -1
  807. package/dist/themes/nanopore.css +1 -1
  808. package/dist/themes/nanopore.css.map +1 -1
  809. package/dist/types/components/accordion/accordion.d.ts +0 -1
  810. package/dist/types/components/checkbox/checkbox-group.d.ts +1 -0
  811. package/dist/types/components/datalist/datalist.d.ts +98 -0
  812. package/dist/types/components/date-input/date-input.d.ts +2 -0
  813. package/dist/types/components/dialog/dialog.helpers.d.ts +2 -2
  814. package/dist/types/components/dropdown/dropdown.d.ts +8 -4
  815. package/dist/types/components/form-control/form-control.d.ts +35 -0
  816. package/dist/types/components/global-search-results/global-search-results.d.ts +1 -0
  817. package/dist/types/components/grid/grid.d.ts +7 -1
  818. package/dist/types/components/hero/hero.d.ts +2 -0
  819. package/dist/types/components/input/input.d.ts +13 -9
  820. package/dist/types/components/menu/menu.d.ts +22 -8
  821. package/dist/types/components/option/option-interface.d.ts +7 -0
  822. package/dist/types/components/option/option.d.ts +45 -0
  823. package/dist/types/components/select/select.d.ts +43 -49
  824. package/dist/types/components/tabs/tab-group.d.ts +32 -6
  825. package/dist/types/components/tabs/tab.d.ts +6 -1
  826. package/dist/types/components.d.ts +241 -70
  827. package/dist/types/interface.d.ts +1 -0
  828. package/dist/types/utils/active-element.d.ts +1 -0
  829. package/dist/types/utils/dom.d.ts +9 -1
  830. package/dist/types/utils/index.d.ts +2 -1
  831. package/dist/types/utils/tabbable.d.ts +2 -2
  832. package/dist/types/utils/testing/index.d.ts +3 -2
  833. package/docs-json.json +1244 -262
  834. package/docs-vscode.json +102 -33
  835. package/package.json +5 -5
  836. package/dist/cjs/dom-5f3fae1a.js.map +0 -1
  837. package/dist/cjs/index-117f36a4.js.map +0 -1
  838. package/dist/cjs/nano-date-picker_2.cjs.entry.js.map +0 -1
  839. package/dist/cjs/nano-menu.cjs.entry.js +0 -156
  840. package/dist/cjs/nano-menu.cjs.entry.js.map +0 -1
  841. package/dist/cjs/nano-select-option.cjs.entry.js +0 -43
  842. package/dist/cjs/nano-select-option.cjs.entry.js.map +0 -1
  843. package/dist/cjs/popover-d033efa2.js.map +0 -1
  844. package/dist/cjs/tabbable-615c30e1.js.map +0 -1
  845. package/dist/collection/components/select/select-option.css +0 -15
  846. package/dist/collection/components/select/select-option.js +0 -127
  847. package/dist/collection/components/select/select-option.js.map +0 -1
  848. package/dist/esm/dom-a791b223.js.map +0 -1
  849. package/dist/esm/nano-date-picker_2.entry.js.map +0 -1
  850. package/dist/esm/nano-menu.entry.js +0 -152
  851. package/dist/esm/nano-menu.entry.js.map +0 -1
  852. package/dist/esm/nano-select-option.entry.js +0 -39
  853. package/dist/esm/nano-select-option.entry.js.map +0 -1
  854. package/dist/esm/popover-2c7b2326.js.map +0 -1
  855. package/dist/esm/tabbable-e21f860a.js.map +0 -1
  856. package/dist/esm-es5/dom-a791b223.js +0 -5
  857. package/dist/esm-es5/dom-a791b223.js.map +0 -1
  858. package/dist/esm-es5/index-f41ae118.js +0 -5
  859. package/dist/esm-es5/nano-date-picker_2.entry.js +0 -5
  860. package/dist/esm-es5/nano-date-picker_2.entry.js.map +0 -1
  861. package/dist/esm-es5/nano-menu.entry.js +0 -5
  862. package/dist/esm-es5/nano-menu.entry.js.map +0 -1
  863. package/dist/esm-es5/nano-select-option.entry.js +0 -5
  864. package/dist/esm-es5/nano-select-option.entry.js.map +0 -1
  865. package/dist/esm-es5/popover-2c7b2326.js.map +0 -1
  866. package/dist/esm-es5/tabbable-e21f860a.js +0 -5
  867. package/dist/esm-es5/tabbable-e21f860a.js.map +0 -1
  868. package/dist/nano-components/p-006f2fd3.system.entry.js +0 -5
  869. package/dist/nano-components/p-02e82e14.system.entry.js +0 -5
  870. package/dist/nano-components/p-05a8014a.entry.js +0 -5
  871. package/dist/nano-components/p-05a8014a.entry.js.map +0 -1
  872. package/dist/nano-components/p-13801651.entry.js +0 -5
  873. package/dist/nano-components/p-13fa75fc.entry.js +0 -5
  874. package/dist/nano-components/p-13fa75fc.entry.js.map +0 -1
  875. package/dist/nano-components/p-143bca0d.entry.js +0 -5
  876. package/dist/nano-components/p-18f49ebf.system.entry.js +0 -5
  877. package/dist/nano-components/p-19428228.system.entry.js +0 -5
  878. package/dist/nano-components/p-19428228.system.entry.js.map +0 -1
  879. package/dist/nano-components/p-1e03f9bf.entry.js +0 -5
  880. package/dist/nano-components/p-217f71aa.entry.js +0 -5
  881. package/dist/nano-components/p-2442eda0.system.entry.js +0 -5
  882. package/dist/nano-components/p-2946bd70.system.entry.js +0 -5
  883. package/dist/nano-components/p-2946bd70.system.entry.js.map +0 -1
  884. package/dist/nano-components/p-2aed806d.system.entry.js +0 -5
  885. package/dist/nano-components/p-30df44d9.system.entry.js +0 -5
  886. package/dist/nano-components/p-38a3e791.system.entry.js +0 -5
  887. package/dist/nano-components/p-3a49ceab.entry.js +0 -5
  888. package/dist/nano-components/p-3a49ceab.entry.js.map +0 -1
  889. package/dist/nano-components/p-3d0fbd0e.system.entry.js +0 -5
  890. package/dist/nano-components/p-3f00179c.js +0 -5
  891. package/dist/nano-components/p-3f00179c.js.map +0 -1
  892. package/dist/nano-components/p-48e6bea3.entry.js +0 -5
  893. package/dist/nano-components/p-48e6bea3.entry.js.map +0 -1
  894. package/dist/nano-components/p-4d62ec32.system.js +0 -5
  895. package/dist/nano-components/p-4d62ec32.system.js.map +0 -1
  896. package/dist/nano-components/p-4e451498.entry.js +0 -5
  897. package/dist/nano-components/p-4e451498.entry.js.map +0 -1
  898. package/dist/nano-components/p-51d9570d.entry.js +0 -5
  899. package/dist/nano-components/p-51d9570d.entry.js.map +0 -1
  900. package/dist/nano-components/p-51fa04a6.entry.js +0 -5
  901. package/dist/nano-components/p-51fa04a6.entry.js.map +0 -1
  902. package/dist/nano-components/p-55189485.system.entry.js +0 -5
  903. package/dist/nano-components/p-55189485.system.entry.js.map +0 -1
  904. package/dist/nano-components/p-56113dd3.js.map +0 -1
  905. package/dist/nano-components/p-5bbd6c81.entry.js +0 -5
  906. package/dist/nano-components/p-5bbd6c81.entry.js.map +0 -1
  907. package/dist/nano-components/p-5e9170ae.entry.js +0 -5
  908. package/dist/nano-components/p-5e9170ae.entry.js.map +0 -1
  909. package/dist/nano-components/p-60c9b580.system.js.map +0 -1
  910. package/dist/nano-components/p-61565b5a.entry.js +0 -5
  911. package/dist/nano-components/p-621750cc.js +0 -5
  912. package/dist/nano-components/p-621750cc.js.map +0 -1
  913. package/dist/nano-components/p-6621e4f1.system.entry.js +0 -5
  914. package/dist/nano-components/p-6a1c69d3.entry.js +0 -5
  915. package/dist/nano-components/p-6ab8d211.system.entry.js +0 -5
  916. package/dist/nano-components/p-6ab8d211.system.entry.js.map +0 -1
  917. package/dist/nano-components/p-6e9b3d60.system.entry.js +0 -5
  918. package/dist/nano-components/p-6e9b3d60.system.entry.js.map +0 -1
  919. package/dist/nano-components/p-6f3d20fe.entry.js +0 -5
  920. package/dist/nano-components/p-6feac35e.entry.js +0 -5
  921. package/dist/nano-components/p-6feac35e.entry.js.map +0 -1
  922. package/dist/nano-components/p-723c212f.system.entry.js +0 -5
  923. package/dist/nano-components/p-723c212f.system.entry.js.map +0 -1
  924. package/dist/nano-components/p-76b13c27.system.entry.js +0 -5
  925. package/dist/nano-components/p-78569d39.entry.js +0 -5
  926. package/dist/nano-components/p-78cf9d39.entry.js +0 -5
  927. package/dist/nano-components/p-7e60c331.entry.js +0 -5
  928. package/dist/nano-components/p-8134c14e.system.js.map +0 -1
  929. package/dist/nano-components/p-81b4ed2a.system.entry.js +0 -5
  930. package/dist/nano-components/p-81b4ed2a.system.entry.js.map +0 -1
  931. package/dist/nano-components/p-854df906.system.entry.js +0 -5
  932. package/dist/nano-components/p-88bcf55b.entry.js +0 -5
  933. package/dist/nano-components/p-8b7f8ef4.entry.js +0 -5
  934. package/dist/nano-components/p-8c3993ff.entry.js +0 -5
  935. package/dist/nano-components/p-8c3993ff.entry.js.map +0 -1
  936. package/dist/nano-components/p-91778977.system.entry.js +0 -5
  937. package/dist/nano-components/p-92b3f99b.system.entry.js +0 -5
  938. package/dist/nano-components/p-9bd73d1d.js +0 -5
  939. package/dist/nano-components/p-9bd73d1d.js.map +0 -1
  940. package/dist/nano-components/p-9bf4a6e0.system.entry.js +0 -5
  941. package/dist/nano-components/p-9df226fd.system.entry.js +0 -5
  942. package/dist/nano-components/p-9df226fd.system.entry.js.map +0 -1
  943. package/dist/nano-components/p-a0b55c38.system.entry.js +0 -5
  944. package/dist/nano-components/p-a0b55c38.system.entry.js.map +0 -1
  945. package/dist/nano-components/p-a21d90aa.entry.js +0 -5
  946. package/dist/nano-components/p-a9dd7cf9.entry.js +0 -5
  947. package/dist/nano-components/p-ad069ba4.entry.js +0 -5
  948. package/dist/nano-components/p-ad069ba4.entry.js.map +0 -1
  949. package/dist/nano-components/p-b246a7bb.entry.js +0 -5
  950. package/dist/nano-components/p-b246a7bb.entry.js.map +0 -1
  951. package/dist/nano-components/p-b45d4be9.entry.js +0 -5
  952. package/dist/nano-components/p-b45d4be9.entry.js.map +0 -1
  953. package/dist/nano-components/p-b79dc23a.system.entry.js +0 -5
  954. package/dist/nano-components/p-b86fc6b7.system.js +0 -5
  955. package/dist/nano-components/p-b86fc6b7.system.js.map +0 -1
  956. package/dist/nano-components/p-badf69ee.system.entry.js +0 -5
  957. package/dist/nano-components/p-bde0deae.system.entry.js +0 -5
  958. package/dist/nano-components/p-bde0deae.system.entry.js.map +0 -1
  959. package/dist/nano-components/p-be3df2e8.system.entry.js +0 -5
  960. package/dist/nano-components/p-be3df2e8.system.entry.js.map +0 -1
  961. package/dist/nano-components/p-c39c1e8d.entry.js +0 -5
  962. package/dist/nano-components/p-c39c1e8d.entry.js.map +0 -1
  963. package/dist/nano-components/p-c7b7f7ab.entry.js +0 -5
  964. package/dist/nano-components/p-c82ccbc8.entry.js +0 -5
  965. package/dist/nano-components/p-c82ccbc8.entry.js.map +0 -1
  966. package/dist/nano-components/p-cc668975.system.entry.js +0 -5
  967. package/dist/nano-components/p-cfd4c9de.system.entry.js +0 -5
  968. package/dist/nano-components/p-cfd4c9de.system.entry.js.map +0 -1
  969. package/dist/nano-components/p-d0e9b177.entry.js +0 -5
  970. package/dist/nano-components/p-d31761c8.system.js.map +0 -1
  971. package/dist/nano-components/p-d47d297b.system.entry.js +0 -5
  972. package/dist/nano-components/p-d47d297b.system.entry.js.map +0 -1
  973. package/dist/nano-components/p-e48a53f5.system.entry.js +0 -5
  974. package/dist/nano-components/p-e48a53f5.system.entry.js.map +0 -1
  975. package/dist/nano-components/p-e5f01860.entry.js +0 -5
  976. package/dist/nano-components/p-e5f01860.entry.js.map +0 -1
  977. package/dist/nano-components/p-f2b2cd38.system.entry.js +0 -5
  978. package/dist/nano-components/p-f2b2cd38.system.entry.js.map +0 -1
  979. package/dist/nano-components/p-fcb5ffaf.system.entry.js +0 -5
  980. package/dist/nano-components/p-fcb5ffaf.system.entry.js.map +0 -1
  981. package/dist/types/components/select/select-option.d.ts +0 -23
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/components/select/select.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Build,\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n Watch,\n h,\n} from '@stencil/core';\n\nimport {\n Color,\n SelectChangeEventDetail,\n InputChangeEventDetail,\n CssClassMap,\n ControlValidityEventDetail,\n ControlValidity,\n} from '../../interface';\nimport {\n testLegacyStyle,\n debounceEvent,\n closestElement,\n createColorClasses,\n} from '../../utils';\nimport Popover from '../../utils/popover';\n\n/**\n * The select component is a wrapper to the HTML select element with custom styling and additional functionality.\n * It accepts most of the same properties as the HTML [select](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select).\n * It's multi selection functionality is vastly improved from the native solution. It allows for the control of\n * value order through drag and drop or changing the insertion point with arrow keys. It also can allow for user defined values.\n *\n * @slot label - if you do not set a label attribute, you can use this slot for more complex markup\n * @slot legacy - you can use this slot to wrap any old select / labels / options. This will set appropriate defaults for the nano-select\n */\n@Component({\n tag: 'nano-select',\n styleUrl: 'select.scss',\n scoped: true,\n})\nexport class Select implements ComponentInterface {\n private nativeSelect?: HTMLSelectElement;\n private multiInput?: HTMLInputElement;\n private multiList?: HTMLUListElement;\n private selectWrap?: HTMLDivElement;\n private listItems: Array<HTMLLIElement> = [];\n private valueItems: Array<HTMLSpanElement> = [];\n private dragVal: string;\n private mo?: MutationObserver;\n private popover: Popover;\n\n private selectId = `nano-select-${selectIds++}`;\n private rtl: boolean = false;\n private currLiIndex: number = -1;\n private inputSearchVal: string = '';\n private watchValue: boolean = true;\n private onInit: boolean = true;\n\n @State() currInsertIndex: number = 0;\n @State() availOpts = [];\n @State() showErrorMsg = false;\n @State() errorMessage: string = '';\n @State() hasFocus = false;\n @State() listOpen = false;\n @State() isLegacy: boolean = 'registerElement' in document;\n @State() hasLabelSlot: boolean = false;\n @State() hasHelperSlot: boolean = false;\n @State() hasIconSlot: boolean = false;\n\n @Element() el!: HTMLNanoSelectElement;\n\n /**\n * This will be true when the control is in an invalid state.\n * Validity is determined by the `required` prop. Or if custom validity message is set.\n */\n @Prop({ mutable: true, reflect: true }) invalid = false;\n\n /**\n * The color to use from your application's color palette.\n * Default options are: `\"primary\"`, `\"secondary\"`, `\"tertiary\"`, `\"success\"`, `\"warning\"`, `\"danger\"`, `\"light\"`, `\"medium\"`, and `\"dark\"`.\n */\n @Prop() color?: Color;\n\n /**\n * This Boolean attribute lets you specify that a form control should have select focus when the page loads.\n */\n @Prop() autofocus = false;\n\n /**\n * If `true`, the user cannot interact with the select.\n */\n @Prop({ reflect: true }) disabled = false;\n\n /**\n * When should the field perform validation\n */\n @Prop({ mutable: true }) validateOn?: 'dirty' | 'submit' | 'submitThenDirty' =\n 'submit';\n\n /**\n * Whether to show validation errors underneath input\n */\n @Prop({ reflect: true }) showInlineError = true;\n\n /**\n * String to place within a label element.\n */\n @Prop() label!: string;\n\n /**\n * Visually hide the label - but make it accessible.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * Enable floating label behaviour. Will disable placeholder if set.\n */\n @Prop() floatLabel: boolean = false;\n\n /**\n * If `true`, the user can enter more than one value. This attribute applies when the type attribute is set to `\"email\"` or `\"file\"`, otherwise it is ignored.\n */\n @Prop() multiple?: boolean = false;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.selectId + '-name';\n\n /**\n * Instructional text that shows before the select has a value. Text set here will be placed inside the label when a value is set. If you don't want this behaviour just set the first option to have no value.\n */\n @Prop() placeholder?: string | null;\n\n /**\n * If `true`, the user cannot modify the value.\n */\n @Prop() readonly = false;\n\n /**\n * If `true`, the user must fill in a value before submitting a form.\n */\n @Prop() required = false;\n\n /**\n * The initial size of the control.\n */\n @Prop() size?: number;\n\n /**\n * Maximum number of options that can be selected when multiple is true\n */\n @Prop() max?: number;\n\n /**\n * Minimum number of options that can be selected when multiple is true\n */\n @Prop() min?: number;\n\n /**\n * The form element to associate the select with (its form owner). Must be the id of a form.\n */\n @Prop() form?: string | null;\n\n /**\n * in multiple mode, allow users to enter their own values\n */\n @Prop() allowCustomValues: boolean = false;\n\n /**\n * The value of the select.\n */\n @Prop({ mutable: true }) value?: string | Array<string | null> = this.multiple\n ? []\n : '';\n\n /**\n * You can set options via js. domElement.options = ['option 1', 'option 2'] or [{label: 'option 1', value: 'opt-1'}]\n */\n @Prop({ mutable: true }) options: Array<\n string | { label: string; value?: string }\n > = [];\n\n /**\n * If `true`, a clear icon will appear in the select when there is a value. Clicking it clears the select.\n */\n @Prop() clearSelect = false;\n\n /**\n * Hide the native select element and cover with a value 'mask'.\n * Enables a fluid nano-select width upon value change (if required). Doesn't work with multiple=\"true\".\n */\n @Prop() mask = false;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `nanoSearchChange` event after each keystroke.\n */\n @Prop() debounce = 0;\n\n /**\n * Whether to use native <select> elements. Setting to false will use a similar UI as multiple=\"true\"\n */\n @Prop() native = true;\n\n @Watch('debounce')\n protected debounceChanged() {\n this.nanoSearchChange = debounceEvent(this.nanoSearchChange, this.debounce);\n }\n\n // @Watch('options')\n @Watch('required')\n @Watch('disabled')\n @Watch('min')\n @Watch('max')\n @Watch('validateOn')\n @Watch('readonly')\n protected shouldValidate() {\n if (this.onInit) return;\n if (this.invalid) this.showErrorMsg = this.invalid = false;\n\n this.customValidate();\n if (this.validateOn !== 'dirty') return;\n this.showInlineValidation();\n }\n\n /**\n * Update the native select element when the value changes\n */\n @Watch('value')\n protected valueChanged() {\n if (!this.watchValue) return;\n\n if (this.multiple) {\n if (typeof this.value === 'string' && !!this.value.length)\n this.value = this.value.split(',');\n if (\n this.value === null ||\n (typeof this.value === 'string' && !this.value.length)\n )\n this.value = [];\n\n if (this.currInsertIndex > this.value.length - 1)\n this.currInsertIndex = this.value.length - 1;\n } else if (typeof this.value !== 'string' && this.value && this.value[0])\n this.value = this.value[0];\n\n this.setNativeValue();\n this.setAvailOpts();\n setTimeout((_) => this.shouldValidate(), 20);\n this.nanoChange.emit({ value: this.value });\n\n if (this.onInit) return;\n }\n\n @Watch('options')\n protected optionsChanged() {\n this.setAvailOpts();\n if (this.hasFocus) this.openList();\n }\n\n /**\n * Setup or rip down custom combobox when select is switched from mutliple\n */\n @Watch('multiple')\n protected multiChange() {\n this.switchValue();\n\n if (this.multiple) this.setupMulti();\n else if (this.popover) this.popover.destroy();\n }\n\n private setupMulti() {\n setTimeout(() => {\n this.setAvailOpts();\n this.popover = new Popover(this.selectWrap, this.multiList, {\n placement: 'bottom-start',\n skidding: 0,\n distance: 0,\n onTransitionEnd: () => {\n if (!this.listOpen) {\n this.multiList.scrollTop = 0;\n }\n },\n });\n }, 20);\n }\n\n @Watch('listOpen')\n listOpenChange() {\n if (this.listOpen) this.popover.show();\n else this.popover.hide();\n }\n\n /**\n * Emitted when the value has changed.\n */\n @Event() nanoChange!: EventEmitter<SelectChangeEventDetail>;\n\n /**\n * Emitted when the select loses focus.\n */\n @Event() nanoBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the select has focus.\n */\n @Event() nanoFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the select has been created.\n * @internal\n */\n @Event() nanoDidLoad!: EventEmitter<void>;\n\n /**\n * Emitted when the select has been removed.\n * @internal\n */\n @Event() nanoDidUnload!: EventEmitter<void>;\n\n /**\n * Emitted when a keyboard input occurred on a multiple=\"true\" input\n */\n @Event() nanoSearchChange!: EventEmitter<InputChangeEventDetail>;\n\n /**\n * Called when validation is performed (which depends on `validateOn`).\n * @returns event.detail: `{ isValid: boolean, errorMessage: string, originalEvent: Event }`.\n */\n @Event() nanoValidate: EventEmitter<ControlValidityEventDetail>;\n\n /**\n * Get the current state of the control.\n * @param validateFirst - perform validation first before reporting\n * @returns `{ isValid: boolean, errorMessage: string }`\n */\n @Method()\n async reportValidity(validateFirst: boolean): Promise<ControlValidity> {\n if (validateFirst) this.showInlineValidation();\n return {\n isValid: !this.invalid,\n errorMessage: this.errorMessage,\n };\n }\n\n /**\n * Sets focus on the specified `nano-select`. Use this method instead of the global\n * `select.focus()`.\n */\n @Method()\n async setFocus() {\n if (this.nativeSelect && !this.multiple) this.nativeSelect.focus();\n else if (this.multiInput) this.multiInput.focus();\n }\n\n /**\n * Returns the native `<select>` element used under the hood.\n */\n @Method()\n getSelectElement(): Promise<HTMLSelectElement> {\n return Promise.resolve(this.nativeSelect!);\n }\n\n /**\n * Invalidate the field and show a custom error message.\n * To clear the error you will need to re-call this method with an empty string.\n */\n @Method()\n async showError(message: string) {\n if (this.nativeSelect) {\n this.nativeSelect.setCustomValidity(message);\n this.nativeSelect.reportValidity();\n }\n }\n\n /* Logic */\n\n // sets the available options of a multi select.\n // Removes ones already selected\n // Filters one if user starts to search\n private setAvailOpts() {\n if (!this.multiple) return;\n\n this.availOpts = this.options.filter((opt) => {\n let toFind = typeof opt === 'string' ? opt : opt['value'];\n let strFilter =\n typeof opt === 'string' ? opt : opt['label'] || opt['value'];\n\n if (!toFind) return false;\n return (\n !(this.value as Array<string>).includes(toFind) &&\n (!this.multiInput ||\n strFilter.toLowerCase().indexOf(this.inputSearchVal.toLowerCase()) >\n -1)\n );\n });\n }\n\n private getNativeValue(): string | Array<string> {\n const nsl = this.nativeSelect;\n if (!nsl) return '';\n\n if (!this.multiple)\n return nsl.options[nsl.selectedIndex] &&\n nsl.options[nsl.selectedIndex].hasAttribute('value')\n ? nsl.options[nsl.selectedIndex].value\n : '';\n else {\n return Array.from(nsl.options).map((opt) => {\n if (opt.selected && opt.hasAttribute('value')) return opt.value;\n });\n }\n }\n\n private setNativeValue() {\n const nsl = this.nativeSelect;\n if (!nsl) return null;\n if (!this.multiple) nsl.value = this.value as string;\n else {\n Array.from(this.nativeSelect.options)\n .filter((opt) => {\n if (typeof this.value === 'string') return opt.value === this.value;\n else\n return this.value.find((val) => {\n if (typeof val === 'string') return val === this.value;\n else if (val['value']) return val === val['value'];\n });\n })\n .map((opt) => {\n opt.selected = true;\n });\n }\n }\n\n private isValidValues() {\n const nsl = this.nativeSelect;\n if (!nsl) return null;\n\n const selected = this.nativeSelect.querySelectorAll('option:checked');\n const values = Array.from(selected).map(\n (el: HTMLOptionElement) => el.value || null\n );\n\n if (this.multiple) {\n return values.reduce((accumulator, currentValue) => {\n if (!accumulator) return false;\n return !!this.options.find((opt) =>\n opt['value'] ? opt['value'] === currentValue : opt === currentValue\n );\n }, true);\n } else {\n return this.options.find((opt) =>\n opt['value'] ? opt['value'] === values[0] : opt === values[0]\n );\n }\n }\n\n private customValidate = () => {\n this.nativeSelect.setCustomValidity('');\n\n // add custom validations 'cos html5 validations are a bit rubbish on selects\n if (this.required && !this.getNativeValue().length) {\n this.nativeSelect.setCustomValidity('Please fill in this field.');\n return true;\n }\n if (\n this.getNativeValue().length &&\n !this.allowCustomValues &&\n !this.isValidValues()\n ) {\n this.nativeSelect.setCustomValidity(\n 'Please choose an item from this field.'\n );\n return true;\n }\n if (this.max && this.getNativeValue().length > this.max) {\n this.nativeSelect.setCustomValidity(\n `Only up to ${this.max} values are allowed.`\n );\n return true;\n }\n if (this.min && this.getNativeValue().length < this.min) {\n this.nativeSelect.setCustomValidity(\n `You must select a minimum of ${this.min} values.`\n );\n return true;\n }\n return false;\n };\n\n private showInlineValidation = (ev?: Event) => {\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n\n this.invalid = false;\n this.showErrorMsg = false;\n this.errorMessage = '';\n\n if (!this.nativeSelect.validity.valid) {\n this.errorMessage = this.nativeSelect.validationMessage;\n this.invalid = true;\n this.showErrorMsg = true;\n }\n this.nanoValidate.emit({\n isValid: !this.invalid,\n errorMessage: this.errorMessage,\n originalEvent: ev,\n });\n };\n\n private handleInvalid = (ev: Event) => {\n this.invalid = true;\n\n if (this.validateOn === 'submit')\n this.invalid = this.showErrorMsg = this.customValidate();\n if (this.showInlineError) ev.preventDefault();\n\n setTimeout((_) => this.showInlineValidation(ev), 20);\n };\n\n private openList() {\n if (!this.multiple) return;\n if (\n (this.availOpts.length ||\n (!!this.inputSearchVal.length && this.allowCustomValues)) &&\n (!this.max || (this.max && this.value.length < this.max))\n )\n this.listOpen = true;\n else this.listOpen = false;\n }\n\n private addValue(value) {\n if (!this.multiple) return;\n if (this.value && this.value.length && this.value.includes(value)) return;\n if (this.max && this.value.length === this.max) return;\n\n this.currInsertIndex++;\n this.value = [\n ...this.value.slice(0, this.currInsertIndex),\n value,\n ...this.value.slice(this.currInsertIndex),\n ];\n\n this.inputSearchVal = '';\n\n this.setAvailOpts();\n\n this.selectWrap.clientWidth; // force reflow\n this.setFocus();\n this.openList();\n }\n\n private removeValue(toFind?: string) {\n if (!this.multiple || !this.value.length) return;\n\n if (!toFind) toFind = this.value[this.value.length - 1];\n this.value = (this.value as Array<string>).filter((val) => val !== toFind);\n\n if (this.currInsertIndex > this.value.length - 1)\n this.currInsertIndex = this.value.length - 1;\n\n this.selectWrap.clientWidth; // force reflow\n this.setFocus();\n this.openList();\n }\n\n private switchValue() {\n this.watchValue = false;\n if (this.multiple) {\n if (typeof this.value === 'string' && !!this.value.length)\n this.value = this.value.split(',');\n else this.value = [];\n\n this.currInsertIndex = Math.max(this.value.length - 1, 0);\n } else if (typeof this.value !== 'string' && this.value && this.value[0])\n this.value = this.value[0];\n this.watchValue = true;\n }\n\n private isSelected(value: string) {\n if (this.multiple)\n return (this.value as Array<string>).find((val) => val === value);\n else value === this.value;\n }\n\n private getLabel(val: string) {\n let foundVal = this.options.find((opt) => {\n return opt['value'] ? opt['value'] === val : opt === val;\n });\n if (!foundVal) return null;\n return foundVal['label'] ? foundVal['label'] : foundVal;\n }\n\n private slotChangeObserver() {\n const mo = (this.mo = new MutationObserver((mrs: MutationRecord[]) =>\n this.processSlottedContent(mrs)\n ));\n mo.observe(this.el, { childList: true, subtree: true });\n }\n\n private processSlottedContent(mutations?: MutationRecord[]) {\n // see if we have label / helper content\n this.hasLabelSlot = !!this.el.querySelectorAll('[slot=\"label\"]').length;\n this.hasHelperSlot = !!this.el.querySelector('[slot=\"helper\"]');\n this.hasIconSlot = !!this.el.querySelector('[slot=\"icon\"]');\n\n if (!mutations) {\n // find legacy select. Take attrs and apply to our element\n let existingselect = this.el.querySelector(\n 'select:not([class*=\"sc-nano-select\"])'\n );\n if (existingselect) {\n Array.from(existingselect.attributes)\n .filter((attr) => attr.specified && attr.nodeName in this)\n .map((attr) => (this[attr.nodeName] = attr.nodeValue));\n }\n\n // find legacy label. Apply to our element\n let existingLabel = this.el.querySelector(\n 'label:not([class*=\"sc-nano-select\"])'\n );\n if (existingLabel) this.label = this.label || existingLabel.innerHTML;\n\n // find legacy slotted options. Apply them and add any relevant values\n let legacyOpts = this.el.querySelectorAll(\n 'option:not([class*=\"sc-nano-select\"])'\n );\n\n this.watchValue = false;\n if (legacyOpts && legacyOpts.length) {\n let options = [];\n legacyOpts.forEach((option: HTMLOptionElement) => {\n options.push({\n label: option.label || option.innerText,\n value: option.value,\n });\n if (!option.selected || !option.value) return;\n\n if (this.multiple) (this.value as Array<string>).push(option.value);\n else this.value = option.value;\n });\n this.options = options;\n }\n\n if (legacyOpts.length || existingLabel || existingselect) {\n // empty all legacy slotted stuff\n let children = this.el.querySelectorAll('[slot=\"legacy\"]');\n if (children) children.forEach((n) => n.parentNode.removeChild(n));\n }\n\n this.watchValue = true;\n }\n\n if (\n mutations &&\n !Array.from(mutations[0].addedNodes).find(\n (node) => node.nodeName.toLowerCase() === 'nano-select-option'\n )\n )\n return;\n\n // find nano-select-options\n let nanoOpts = this.el.querySelectorAll('nano-select-option');\n\n if (nanoOpts && nanoOpts.length) {\n let options = [];\n nanoOpts.forEach((option: HTMLNanoSelectOptionElement) => {\n options.push({\n label: option.label || option.innerText,\n value: option.value,\n });\n if (!option.selected || !option.value) return;\n\n if (this.multiple) (this.value as Array<string>).push(option.value);\n else this.value = option.value;\n });\n this.options = options;\n }\n\n this.setAvailOpts();\n }\n\n /* Event handling */\n\n private onChange = (ev?: Event) => {\n if (!this.readonly && !this.disabled && ev) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n this.value = this.getNativeValue();\n };\n\n private onBlur = () => {\n if (this.multiple) {\n this.currLiIndex = -1;\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n }\n this.hasFocus = false;\n\n setTimeout(() => {\n if (this.validateOn === 'dirty' && !this.listOpen && !this.hasFocus)\n this.showInlineValidation();\n }, 20);\n this.nanoBlur.emit();\n };\n\n private onFocus = () => {\n if (this.multiple) {\n this.currLiIndex = -1;\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n this.openList();\n }\n\n this.hasFocus = true;\n this.nanoFocus.emit();\n };\n\n private clearSelectValue = (ev?: Event) => {\n if (this.clearSelect && !this.readonly && !this.disabled && ev) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n if (this.multiple) {\n this.value = [];\n let options = this.nativeSelect.querySelectorAll('option');\n if (options.length) options.forEach((n) => n.remove());\n this.currInsertIndex = -1;\n this.setAvailOpts();\n } else this.value = '';\n\n this.onChange();\n };\n\n private onClick = () => {\n this.setFocus();\n this.openList();\n };\n\n /* Multi event handlers */\n\n private onMultiInputBlur = () => {\n if (this.allowCustomValues) return;\n this.inputSearchVal = '';\n this.setAvailOpts();\n };\n\n private onDragStart = (ev: MouseEvent) => {\n let ele = ev.target as HTMLSpanElement;\n this.dragVal = ele.dataset.value;\n };\n\n private onDragEnd = (ev) => {\n this.dragVal = null;\n ev.preventDefault();\n };\n\n private onDragLeave = (ev: MouseEvent) => {\n let ele = ev.target as HTMLSpanElement;\n let spanVal: string =\n ele.dataset && ele.dataset.value ? ele.dataset.value : null;\n\n if (\n !spanVal ||\n this.dragVal === spanVal ||\n !this.value.includes(this.dragVal)\n ) {\n ev.preventDefault();\n return;\n }\n\n let to = this.value.indexOf(spanVal);\n let from = this.value.indexOf(this.dragVal);\n let tmpArr = this.value as Array<string>;\n let tmpVal = tmpArr[to];\n\n tmpArr[to] = tmpArr[from];\n tmpArr[from] = tmpVal;\n this.value = [...tmpArr];\n };\n\n private onMultiInput = (ev) => {\n this.inputSearchVal = ev.target.value;\n this.setAvailOpts();\n this.openList();\n this.nanoSearchChange.emit({ value: ev.target.value });\n };\n\n private getActiveOpt() {\n return this.multiList.querySelector('.has-focus') as HTMLLIElement;\n }\n\n private onOptFocus = (ev: FocusEvent) => {\n let activeEle = this.getActiveOpt();\n if (activeEle) activeEle.classList.remove('has-focus');\n (ev.target as HTMLElement).classList.add('has-focus');\n };\n\n private onHostClick = () => {\n setTimeout((_) => {\n if (!this.multiple || this.hasFocus) return;\n this.setFocus();\n }, 20);\n };\n\n private handleDocumentMouseDown = (ev: MouseEvent) => {\n const target = ev.target as HTMLElement;\n if (closestElement(this.el.tagName.toLowerCase(), target) !== this.el) {\n this.listOpen = false;\n this.onBlur();\n }\n };\n\n private handleDocumentKeyDown = (ev: KeyboardEvent) => {\n if (!this.multiple) return;\n\n if (!this.inputSearchVal) {\n let rm: HTMLSpanElement;\n\n switch (ev.key) {\n case 'Backspace':\n if (this.multiInput.previousElementSibling)\n rm = this.multiInput.previousElementSibling as HTMLSpanElement;\n else break;\n\n this.removeValue(rm.dataset.value || null);\n break;\n\n case 'Delete':\n if (this.multiInput.nextElementSibling)\n rm = this.multiInput.nextElementSibling as HTMLSpanElement;\n else break;\n\n this.removeValue(rm.dataset.value || null);\n break;\n\n case 'ArrowLeft':\n case 'ArrowRight':\n if (!this.value.length) break;\n\n if (ev.key === 'ArrowLeft' && this.multiInput.previousSibling)\n this.currInsertIndex--;\n if (ev.key === 'ArrowRight' && this.multiInput.nextSibling)\n this.currInsertIndex++;\n\n setTimeout(() => {\n this.multiInput.focus();\n }, 20);\n ev.preventDefault();\n break;\n }\n }\n\n // navigated to component via keyboard. Open with down.\n if (this.hasFocus && !this.listOpen && ev.key === 'ArrowDown') {\n this.openList();\n this.currLiIndex = -1;\n }\n\n // Close when tabbing outside of element\n if (this.hasFocus && ev.key === 'Tab') {\n setTimeout(() => {\n if (\n document.activeElement &&\n closestElement(\n this.el.tagName.toLowerCase(),\n document.activeElement\n ) !== this.el\n ) {\n this.listOpen = false;\n this.onBlur();\n return;\n }\n });\n }\n\n // list open, navigate items with arrows\n if (this.listOpen) {\n const selectedItem = this.getActiveOpt();\n let testIndex = this.listItems.indexOf(selectedItem) || this.currLiIndex;\n\n switch (ev.key) {\n case 'ArrowDown':\n case 'ArrowUp':\n ev.preventDefault();\n\n if (ev.key === 'ArrowDown') testIndex++;\n else if (ev.key === 'ArrowUp') testIndex--;\n\n if (testIndex < 0) {\n this.currLiIndex = 0;\n this.multiInput.focus();\n return;\n }\n\n let foundIndex = this.listItems[testIndex]\n ? testIndex\n : this.currLiIndex;\n setTimeout(() => {\n this.listItems[foundIndex].focus();\n this.currLiIndex = foundIndex;\n }, 20);\n return;\n case 'Enter':\n case ' ':\n if (this.listItems[this.currLiIndex]) {\n this.addValue(this.listItems[this.currLiIndex].dataset.value);\n ev.preventDefault();\n }\n return;\n case 'Escape':\n this.listOpen = false;\n return;\n }\n }\n\n if (this.currLiIndex > -1) ev.preventDefault();\n };\n\n /* Stencil Component lifecycle hooks */\n\n connectedCallback() {\n this.debounceChanged();\n\n if (!Build.isBrowser) return;\n\n this.el.dispatchEvent(\n new CustomEvent('nanoDidLoad', {\n detail: this.el,\n })\n );\n testLegacyStyle(this.el);\n }\n\n disconnectedCallback() {\n document.dispatchEvent(\n new CustomEvent('nanoDidUnload', {\n detail: this.el,\n })\n );\n\n if (!Build.isBrowser) return;\n if (this.mo) this.mo.disconnect();\n if (this.popover) this.popover.destroy();\n }\n\n componentDidLoad() {\n this.slotChangeObserver();\n if (this.multiple) this.setupMulti();\n this.customValidate();\n }\n\n componentWillLoad() {\n this.switchValue();\n this.processSlottedContent();\n this.onInit = false;\n }\n\n private renderLabel(labelId: string, position?: 'float') {\n let classes: CssClassMap = {};\n if (position === 'float') {\n classes = { 'placeholder-as-label': true };\n } else {\n classes = { label: true, 'visually-hide': this.hideLabel };\n }\n if (!this.label && !this.hasLabelSlot) return;\n\n return (\n <label class={classes} htmlFor={this.selectId} id={labelId}>\n {this.label && this.label}\n {!this.label && !!this.hasLabelSlot && <slot name=\"label\" />}\n </label>\n );\n }\n\n render() {\n const labelId = this.selectId + '-lbl';\n const moreId =\n this.showInlineError || this.hasHelperSlot\n ? this.selectId + '-moreId'\n : '';\n const listId = this.selectId + '-list';\n\n this.rtl = (this.el.ownerDocument as Document).dir === 'rtl';\n this.listItems = [];\n this.valueItems = [];\n\n if (\n this.placeholder &&\n (!this.options[0] || this.options[0]['label'] !== this.placeholder)\n ) {\n this.options.unshift({ label: this.placeholder, value: '' });\n }\n\n let optionMenu = this.listOpen;\n\n let valueMarkup;\n if (this.multiple) {\n let input = (\n <input\n class=\"multi-input\"\n id={this.selectId}\n ref={(input) => (this.multiInput = input)}\n disabled={this.disabled}\n autoFocus={this.autofocus}\n autocomplete=\"off\"\n onInput={this.onMultiInput}\n value={this.inputSearchVal}\n onTouchStart={this.onClick}\n onMouseDown={this.onClick}\n onFocus={this.onFocus}\n onBlur={this.onMultiInputBlur}\n placeholder={\n this.placeholder && !this.floatLabel && !this.value.length\n ? this.placeholder\n : ''\n }\n role={this.multiple ? 'combobox' : ''}\n aria-labelledby={labelId + ' ' + moreId}\n aria-controls={listId}\n aria-expanded={optionMenu ? 'true' : 'false'}\n aria-required={this.required ? 'true' : 'false'}\n aria-autocomplete=\"list\"\n />\n );\n\n if (!!this.value.length) {\n valueMarkup = (this.value as Array<string>).map((val, i) => {\n let label = this.options.find((opt) => {\n return opt['value'] ? opt['value'] === val : opt === val;\n });\n label = label && label['label'] ? label['label'] : val;\n\n let toReturn = (\n <span\n onDragStart={this.onDragStart}\n onDragLeave={this.onDragLeave}\n onDragEnd={this.onDragEnd}\n draggable\n data-value={val}\n ref={(span) => this.valueItems.push(span)}\n class=\"multi-value\"\n >\n <span>{label}</span>\n <button\n class=\"multi-value-remove\"\n type=\"button\"\n tabindex=\"-1\"\n onTouchEnd={() => {\n this.removeValue(val);\n }}\n onMouseUp={() => {\n this.removeValue(val);\n }}\n >\n <nano-icon name=\"light/times\"></nano-icon>\n </button>\n </span>\n );\n\n if (i === 0 && this.currInsertIndex < 0) toReturn = [input, toReturn];\n else if (i === this.currInsertIndex) toReturn = [toReturn, input];\n return toReturn;\n });\n } else valueMarkup = input;\n }\n\n return (\n <Host\n type={this.multiple ? 'select-multiple' : 'select-one'}\n aria-disabled={this.disabled ? 'true' : null}\n class={{\n ...createColorClasses(this.color),\n 'has-value': !!this.value.length || !!this.inputSearchVal.length,\n 'has-focus': this.hasFocus,\n 'is-invalid': this.invalid,\n 'has-label': this.label !== null && !this.floatLabel,\n 'has-float-label': this.label !== null && this.floatLabel,\n rtl: this.rtl,\n 'has-multiple': this.multiple,\n 'multi-list-open': this.listOpen,\n 'has-clr-btn': this.clearSelect,\n masked: this.mask,\n legacy: this.isLegacy,\n }}\n onClick={this.onHostClick}\n >\n {!this.floatLabel && this.renderLabel(labelId)}\n <div class=\"select\" ref={(div) => (this.selectWrap = div)}>\n {this.floatLabel && this.renderLabel(labelId, 'float')}\n <div\n class={{\n 'native-select-wrap': true,\n 'native-select-wrap--multiple': this.multiple,\n }}\n >\n {!this.multiple && this.mask && (\n <div class=\"select-mask\">\n {this.getLabel(this.value as string)}\n </div>\n )}\n {this.multiple && [\n <div class=\"multi-wrap\">{valueMarkup}</div>,\n <ul\n role=\"listbox\"\n ref={(ul) => (this.multiList = ul)}\n aria-multiselectable=\"true\"\n aria-required={this.required}\n aria-expanded={optionMenu ? 'true' : 'false'}\n aria-hidden={!optionMenu}\n hidden={!optionMenu}\n id={listId}\n class={{\n 'multi-select-box': true,\n 'multi-select-box--open': optionMenu,\n }}\n >\n {this.allowCustomValues && this.inputSearchVal.length > 0 && (\n <li\n data-value={this.inputSearchVal}\n role=\"option\"\n tabindex=\"-1\"\n ref={(li) => this.listItems.push(li)}\n onMouseDown={() => {\n this.addValue(this.inputSearchVal);\n }}\n onFocus={this.onOptFocus}\n >\n Add {this.inputSearchVal}\n </li>\n )}\n {this.availOpts.map((option) => {\n let optval, label;\n if (option['value']) {\n optval = option['value'];\n label = option['label'] || option['value'];\n } else if (typeof option === 'string') {\n optval = option;\n label = optval;\n }\n if (!optval) return;\n return (\n <li\n role=\"option\"\n key={optval}\n data-value={optval}\n ref={(li) => this.listItems.push(li)}\n tabindex=\"-1\"\n aria-selected={this.isSelected(optval) ? 'true' : 'false'}\n onMouseDown={() => {\n this.addValue(optval);\n }}\n onFocus={this.onOptFocus}\n >\n {label}\n </li>\n );\n })}\n </ul>,\n <select\n id={this.selectId + '-hidden'}\n class=\"native-select\"\n ref={(select) => (this.nativeSelect = select)}\n aria-labelledby={labelId + ' ' + moreId}\n disabled={this.disabled}\n form={this.form}\n multiple={this.multiple}\n name={this.name}\n required={this.required}\n onInvalid={this.handleInvalid}\n >\n {(this.value as Array<string>).map((val) => {\n return (\n <option value={val} selected>\n {val}\n </option>\n );\n })}\n </select>,\n ]}\n {!this.multiple && (\n <select\n id={this.selectId}\n class=\"native-select\"\n ref={(select) => (this.nativeSelect = select)}\n aria-labelledby={labelId + ' ' + moreId}\n disabled={this.disabled}\n form={this.form}\n autoFocus={this.autofocus}\n multiple={this.multiple}\n name={this.name}\n required={this.required}\n size={this.size}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onInvalid={this.handleInvalid}\n onChange={this.onChange}\n >\n {this.options.map((option, i) => {\n if (option['value'] || option['label'])\n return (\n <option\n key={option['label'] + i}\n label={option['label']}\n value={option['value']}\n selected={\n option['value'] === this.value ||\n (!this.value && !option['value'])\n }\n disabled={!option['value'] && this.required}\n >\n {option['label'] ? option['label'] : option['value']}\n </option>\n );\n else\n return (\n <option\n key={(option as string) + i}\n value={option as string}\n selected={option === this.value}\n >\n {option}\n </option>\n );\n })}\n <slot name=\"legacy\" />\n </select>\n )}\n {this.clearSelect && !this.readonly && !this.disabled && (\n <button\n type=\"button\"\n class=\"select-clear-icon\"\n tabindex=\"-1\"\n onTouchEnd={this.clearSelectValue}\n onMouseUp={this.clearSelectValue}\n >\n <nano-icon name=\"light/times\"></nano-icon>\n </button>\n )}\n <div\n onTouchEnd={this.onClick}\n onMouseUp={this.onClick}\n class=\"select-down-icon\"\n >\n {this.hasIconSlot ? (\n <slot name=\"icon\" />\n ) : (\n <nano-icon name=\"regular/chevron-down\"></nano-icon>\n )}\n </div>\n </div>\n </div>\n {(this.showInlineError || this.hasHelperSlot) && (\n <div class=\"more\" id={moreId}>\n {!!this.showInlineError ? (\n <div class=\"error\">{this.errorMessage}</div>\n ) : (\n ''\n )}\n <div class=\"helper\">\n <slot name=\"helper\" />\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n\nlet selectIds = 0;\n"]}
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/components/select/select.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Build,\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n Watch,\n h,\n VNode,\n Listen,\n} from '@stencil/core';\n\nimport {\n Color,\n SelectChangeEventDetail,\n InputChangeEventDetail,\n ControlValidityEventDetail,\n ControlValidity,\n} from '../../interface';\nimport {\n debounceEvent,\n createColorClasses,\n closestElement,\n raf,\n getActiveElement,\n} from '../../utils';\nimport type { Dropdown } from '../dropdown/dropdown';\nimport { FormControl, FormControlWrap } from '../form-control/form-control';\nimport { OptionInterface } from '../option/option-interface';\n\nlet selectIds = 0;\n\n/**\n * The select component is a wrapper to the HTML select element with custom styling and additional functionality.\n * It accepts most of the same properties as the HTML [select](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select).\n * It's multi selection functionality is vastly improved from the native solution. It allows for the control of\n * value order through drag and drop or changing the insertion point with arrow keys. It also can allow for user defined values.\n *\n * @slot start - suitable for inline action buttons or icons that may add extra contextual information\n * @slot end - suitable for inline action buttons or icons that may add extra contextual information\n * @slot value-start - similar to 'start', however clicking elements using this slot will activate the input control. This would be suitable to show a secodary 'value' for context or to show a dropdown arrow if using a datalist\n * @slot value-end - similar to 'end', however clicking elements using this slot will activate the input control. This would be suitable to show a secodary 'value' for context or to show a dropdown arrow if using a datalist\n * @slot label - if you do not set a label attribute, you can use this slot for more complex markup\n * @slot helper - helper text to accompany the form field underneath.\n * @slot down-arrow - use this to replace the default down arrow\n * @slot - default slot; nest `nano-option` elements\n */\n@Component({\n tag: 'nano-select',\n styleUrl: 'select.scss',\n scoped: true,\n})\nexport class Select implements ComponentInterface {\n private nativeSelect?: HTMLSelectElement;\n private inputCtrl?: HTMLInputElement;\n private valueItems: Array<HTMLSpanElement> = [];\n private dragVal: string;\n private mo?: MutationObserver;\n private selectId = `nano-select-${selectIds++}`;\n private rtl: boolean = false;\n private onInit: boolean = true;\n private isLegacy: boolean = 'registerElement' in document;\n\n // we don't want these rendered eles decorated with @State\n // because that will cause re-renders. User get/set to set datalist options\n private _selectWrap: HTMLElement;\n private get selectWrap() {\n return this._selectWrap;\n }\n private set selectWrap(ele: HTMLElement) {\n if (this._selectWrap === ele) return;\n this._selectWrap = ele;\n this.setDataListOpts();\n }\n\n private _datalist: HTMLNanoDatalistElement;\n private get datalist() {\n return this._datalist;\n }\n private set datalist(ele: HTMLNanoDatalistElement) {\n if (this._datalist === ele) return;\n this._datalist = ele;\n this.setDataListOpts();\n }\n\n @State() currInsertIndex: number = -1;\n @State() showErrorMsg = false;\n @State() errorMessage: string = '';\n @State() hasFocus = false;\n @State() hasLabelSlot: boolean = false;\n @State() hasHelperSlot: boolean = false;\n @State() inputSearchVal: string = '';\n\n @Element() el!: HTMLNanoSelectElement;\n\n /**\n * This will be true when the control is in an invalid state.\n * Validity is determined by the `required` prop. Or if custom validity message is set.\n */\n @Prop({ reflect: true })\n get invalid() {\n return this._invalid;\n }\n private _invalid = false;\n\n /**\n * The color to use from your application's color palette.\n * Default options are: `\"primary\"`, `\"secondary\"`, `\"tertiary\"`, `\"success\"`, `\"warning\"`, `\"danger\"`, `\"light\"`, `\"medium\"`, and `\"dark\"`.\n */\n @Prop() color?: Color;\n\n /**\n * This Boolean attribute lets you specify that a form control should have select focus when the page loads.\n */\n @Prop() autofocus = false;\n\n /**\n * If `true`, the user cannot interact with the select.\n */\n @Prop({ reflect: true }) disabled = false;\n\n /**\n * When should the field perform validation\n */\n @Prop({ mutable: true }) validateOn?: 'dirty' | 'submit' | 'submitThenDirty' =\n 'submit';\n\n /**\n * Whether to show validation errors underneath input\n */\n @Prop({ reflect: true }) showInlineError = true;\n\n /**\n * String to place within a label element. Alternatively use the 'label' slot\n */\n @Prop() label!: string;\n\n /**\n * Visually hide the label - but make it accessible.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * Enable floating label behaviour. Will disable placeholder if set.\n */\n @Prop() floatLabel: boolean = false;\n\n /**\n * If `true`, the user can enter more than one value. This attribute applies when the type attribute is set to `\"email\"` or `\"file\"`, otherwise it is ignored.\n */\n @Prop() multiple?: boolean = false;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.selectId + '-name';\n\n /**\n * Instructional text that shows before the select has a value. Text set here will be placed inside the label when a value is set. If you don't want this behaviour just set the first option to have no value.\n */\n @Prop() placeholder?: string | null;\n\n /**\n * If `true`, the user cannot modify the value.\n */\n @Prop({ reflect: true }) readonly = false;\n\n /**\n * If `true`, the user must fill in a value before submitting a form.\n */\n @Prop() required = false;\n\n /**\n * The initial size of the control.\n */\n @Prop() size?: number;\n\n /**\n * Maximum number of options that can be selected when multiple is true\n */\n @Prop() max?: number;\n\n /**\n * Minimum number of options that can be selected when multiple is true\n */\n @Prop() min?: number;\n\n /**\n * The form element to associate the select with (its form owner). Must be the id of a form.\n */\n @Prop() form?: string | null;\n\n /**\n * in multiple mode, allow users to enter their own values\n */\n @Prop() allowCustomValues: boolean = false;\n\n /**\n * The value of the select.\n */\n @Prop()\n get value() {\n return this._value;\n }\n set value(val: string | string[]) {\n if (typeof val === 'string') {\n if (this.multiple) this._value = val.split(',');\n else this._value = val;\n } else if (Array.isArray(val)) {\n if (this.multiple) this._value = val;\n else this._value = val[0];\n }\n }\n private _value: Array<string> | string = this.multiple ? [] : '';\n\n /**\n * You can set options via js as an array of strings: `domElement.options = ['option 1', 'option 2']` or\n * objects `domElement.options = [{label: 'option 1', value: 'opt-1'}]`. See `nano-option` docs for all available properties.\n * Alternatively, you can nest `<nano-option>` elements within a `<nano-select>`\n * Regardless - reading `options` will return the current component options - slotted or otherwise\n */\n @Prop()\n get options(): Array<OptionInterface | string> {\n if (this._options.length) return this._options;\n\n if (!this.datalist || !this.datalist.activeOptions) return [];\n\n return this._eOptions.map((ao) => {\n const { value, selected, label, filterMeta } = ao;\n return { value, selected, label, filterMeta };\n });\n }\n set options(opts: Array<OptionInterface | string>) {\n this._options = opts.map((opt) => {\n if (typeof opt === 'string') return { value: opt, label: opt };\n else return opt;\n });\n }\n private _options: OptionInterface[] = [];\n @State() _eOptions: OptionInterface[] = [];\n\n /**\n * If `true`, a clear icon will appear in the select when there is a value. Clicking it clears the select.\n */\n @Prop() clearSelect = false;\n\n /**\n * Hide the native select element and cover with a value 'mask'.\n * Enables a fluid nano-select width upon value change (if required). Doesn't work with multiple=\"true\".\n */\n @Prop() mask = false;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `nanoSearchChange` event after each keystroke.\n */\n @Prop() debounce = 0;\n\n @Watch('debounce')\n protected debounceChanged() {\n this.nanoSearchChange = debounceEvent(this.nanoSearchChange, this.debounce);\n }\n\n @Watch('required')\n @Watch('disabled')\n @Watch('min')\n @Watch('max')\n @Watch('validateOn')\n @Watch('readonly')\n protected shouldValidate() {\n if (this.onInit) return;\n if (this.invalid) this.showErrorMsg = this._invalid = false;\n\n this.customValidate();\n if (this.validateOn !== 'dirty') return;\n this.showInlineValidation();\n }\n\n /**\n * Update the native select element when the value changes\n */\n // eslint-disable-next-line @stencil/no-unused-watch\n @Watch('value')\n valueChanged() {\n if (this.onInit) {\n if (this.multiple) this.currInsertIndex = this.value.length - 1;\n return;\n }\n setTimeout((_) => this.shouldValidate(), 20);\n this.nanoChange.emit({ value: this.value });\n }\n\n /** nano-dropdown config options you can pass to the nested dropdown component */\n @Prop({ mutable: true }) dropDownConfig?: Partial<Dropdown> = {};\n\n @Watch('dropDownConfig')\n setDataListOpts() {\n if (!this.datalist || !this.selectWrap) return;\n const currDWConfig = this.datalist.dropDownConfig || {};\n this.datalist.dropDownConfig = {\n ...currDWConfig,\n ...this.dropDownConfig,\n tetherTo: this.selectWrap,\n };\n this.datalist.input = this.inputCtrl;\n }\n\n // Custom Events\n\n /**\n * Emitted when the value has changed.\n */\n @Event() nanoChange!: EventEmitter<SelectChangeEventDetail>;\n\n /**\n * Emitted when the select loses focus.\n */\n @Event() nanoBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the select has focus.\n */\n @Event() nanoFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the select has been created.\n * @internal\n */\n @Event() nanoDidLoad!: EventEmitter<void>;\n\n /**\n * Emitted when the select has been removed.\n * @internal\n */\n @Event() nanoDidUnload!: EventEmitter<void>;\n\n /**\n * Emitted when a keyboard input occurred on a multiple=\"true\" input\n */\n @Event() nanoSearchChange!: EventEmitter<InputChangeEventDetail>;\n\n /**\n * Called when validation is performed (which depends on `validateOn`).\n * @returns event.detail: `{ isValid: boolean, errorMessage: string, originalEvent: Event }`.\n */\n @Event() nanoValidate: EventEmitter<ControlValidityEventDetail>;\n\n // Public Methods\n\n /**\n * Get the current state of the control.\n * @param validateFirst - perform validation first before reporting\n * @returns `{ isValid: boolean, errorMessage: string }`\n */\n @Method()\n async reportValidity(validateFirst: boolean): Promise<ControlValidity> {\n if (validateFirst) this.showInlineValidation();\n return {\n isValid: !this.invalid,\n errorMessage: this.errorMessage,\n };\n }\n\n /**\n * Sets focus on the specified `nano-select`. Use this method instead of the global\n * `select.focus()`.\n */\n @Method()\n async setFocus() {\n this.inputCtrl.focus();\n setTimeout(() => this.inputCtrl.click(), 50);\n }\n\n /**\n * Returns the native `<select>` element used under the hood.\n */\n @Method()\n getSelectElement(): Promise<HTMLSelectElement> {\n return Promise.resolve(this.nativeSelect!);\n }\n\n /**\n * Invalidate the field and show a custom error message.\n * To clear the error you will need to re-call this method with an empty string.\n */\n @Method()\n async showError(message: string) {\n if (this.nativeSelect) {\n this.nativeSelect.setCustomValidity(message);\n this.showInlineValidation();\n }\n }\n\n /* Logic */\n\n private get valArray() {\n return typeof this.value === 'string'\n ? this.value.length\n ? [this.value]\n : []\n : this.value;\n }\n\n private isValidValues() {\n return this.valArray.find((val) =>\n (this.options as OptionInterface[]).find((opt) => opt.value === val)\n );\n }\n\n private customValidate = () => {\n this.nativeSelect.setCustomValidity('');\n\n // add custom validations 'cos html5 validations are a bit rubbish on selects\n if (this.required && !this.valArray.length) {\n this.nativeSelect.setCustomValidity('Please fill in this field.');\n return true;\n }\n if (\n this.valArray.length &&\n !this.allowCustomValues &&\n !this.isValidValues()\n ) {\n this.nativeSelect.setCustomValidity(\n 'Please choose an item from this field.'\n );\n return true;\n }\n if (this.max && this.valArray.length > this.max) {\n this.nativeSelect.setCustomValidity(\n `Only up to ${this.max} values are allowed.`\n );\n return true;\n }\n if (this.min && this.valArray.length < this.min) {\n this.nativeSelect.setCustomValidity(\n `You must select a minimum of ${this.min} values.`\n );\n return true;\n }\n return false;\n };\n\n private showInlineValidation = (ev?: Event) => {\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n\n this._invalid = false;\n this.showErrorMsg = false;\n this.errorMessage = '';\n\n if (!this.nativeSelect.validity.valid) {\n this.errorMessage = this.nativeSelect.validationMessage;\n this._invalid = true;\n this.showErrorMsg = true;\n }\n this.nanoValidate.emit({\n isValid: !this.invalid,\n errorMessage: this.errorMessage,\n originalEvent: ev,\n });\n };\n\n private handleInvalid = (ev: Event) => {\n this._invalid = true;\n\n if (this.validateOn === 'submit')\n this._invalid = this.showErrorMsg = this.customValidate();\n if (this.showInlineError) ev.preventDefault();\n\n setTimeout((_) => this.showInlineValidation(ev), 20);\n };\n\n private setValue = (e: CustomEvent<HTMLNanoOptionElement>) => {\n e.preventDefault();\n\n if (!this.multiple) {\n this.value = e.detail.value;\n this.selectWrap.clientWidth; // force reflow\n this.inputCtrl.focus();\n return;\n }\n if (this.value && this.value.length && this.value.includes(e.detail.value))\n return;\n if (this.max && this.value.length === this.max) return;\n\n this.currInsertIndex++;\n this.value = [\n ...this.value.slice(0, this.currInsertIndex),\n e.detail.value,\n ...this.value.slice(this.currInsertIndex),\n ];\n this.inputSearchVal = '';\n // this.selectWrap.clientWidth; // force reflow\n };\n\n private removeValue = (toFind?: string) => {\n if (!this.multiple || !this.value.length) return;\n\n if (!toFind) toFind = this.value[this.value.length - 1];\n this.value = (this.value as Array<string>).filter((val) => val !== toFind);\n\n this.currInsertIndex--;\n // this.selectWrap.clientWidth; // force reflow\n this.setFocus();\n };\n\n private slotChangeObserver() {\n const mo = (this.mo = new MutationObserver(() =>\n this.processSlottedContent()\n ));\n mo.observe(this.el, { childList: true, subtree: true });\n }\n\n private processSlottedContent() {\n // see if we have label / helper content\n this.hasLabelSlot = !!this.el.querySelectorAll('[slot=\"label\"]').length;\n this.hasHelperSlot = !!this.el.querySelector('[slot=\"helper\"]');\n\n // breaking change introduced in v2. Rm in v3\n if (\n !!this.el.querySelector('select:not([class*=\"sc-nano-select\"]) option')\n ) {\n console.warn(\n 'nesting `<option>` elements was removed in v2. Please update your code to use `<nano-option>` elements instead.',\n this.el\n );\n }\n\n // breaking change introduced in v2. Rm in v3\n if (!!this.el.querySelector('[slot=\"legacy\"]')) {\n console.warn(\n 'The `legacy` slot has been removed. Please update your code',\n this.el\n );\n }\n }\n\n private getLabel(toFind: string) {\n let label = (this.options as OptionInterface[]).find((opt) => {\n return !opt.disabled && opt.value?.length && opt.value === toFind;\n });\n return label && label.label ? label.label : toFind;\n }\n\n /* Event handling */\n\n @Listen('mousedown', { target: 'body' })\n @Listen('keydown')\n handleBlur(e: KeyboardEvent | MouseEvent) {\n if (!this.hasFocus) return;\n\n const kev = e as KeyboardEvent;\n let target: Element;\n\n raf(() => {\n if (kev.key) {\n if (kev.key !== 'Tab') return;\n target = getActiveElement();\n } else target = e.target as Element;\n\n if (closestElement(this.el.tagName.toLowerCase(), target) !== this.el) {\n this.onBlur();\n }\n });\n }\n\n private setOptions = () => {\n if (\n !this.datalist ||\n !this.datalist.activeOptions ||\n !this.datalist.activeOptions.length\n )\n return;\n\n this._eOptions = this.datalist.activeOptions.map((ao) => {\n const { value, selected, label, filterMeta } = ao;\n return { value, selected, label, filterMeta };\n });\n };\n\n private handleDocumentKeyDown = (ev: KeyboardEvent) => {\n if (!this.multiple || !this.hasFocus) return;\n\n if (!this.inputSearchVal) {\n let rm: HTMLSpanElement;\n\n switch (ev.key) {\n case 'Backspace':\n if (this.inputCtrl.previousElementSibling)\n rm = this.inputCtrl.previousElementSibling as HTMLSpanElement;\n else break;\n\n this.removeValue(rm.dataset.value || null);\n break;\n\n case 'Delete':\n if (this.inputCtrl.nextElementSibling)\n rm = this.inputCtrl.nextElementSibling as HTMLSpanElement;\n else break;\n\n this.removeValue(rm.dataset.value || null);\n break;\n\n case 'ArrowLeft':\n case 'ArrowRight':\n if (!this.value.length) break;\n\n if (ev.key === 'ArrowLeft' && this.inputCtrl.previousSibling)\n this.currInsertIndex--;\n if (ev.key === 'ArrowRight' && this.inputCtrl.nextSibling)\n this.currInsertIndex++;\n\n setTimeout(() => {\n this.inputCtrl.focus();\n }, 20);\n ev.preventDefault();\n break;\n }\n }\n };\n\n private onBlur = () => {\n this.hasFocus = false;\n\n setTimeout(() => {\n if (this.validateOn === 'dirty' && !this.hasFocus)\n this.showInlineValidation();\n }, 20);\n this.nanoBlur.emit();\n\n if (!this.allowCustomValues && this.multiple) {\n this.inputSearchVal = '';\n const event = new window.Event('change');\n this.inputCtrl.dispatchEvent(event);\n }\n };\n\n private onFocus = () => {\n this.hasFocus = true;\n this.nanoFocus.emit();\n };\n\n private clearSelectValue = (ev?: Event) => {\n if (this.clearSelect && !this.readonly && !this.disabled && ev) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n if (this.multiple) {\n this.value = [];\n this.currInsertIndex = -1;\n } else this.value = '';\n\n this.inputCtrl.value = '';\n const event = new window.Event('change');\n this.inputCtrl.dispatchEvent(event);\n };\n\n private onClick = () => {\n this.setFocus();\n };\n\n /* Multi event handlers */\n\n private onDragStart = (ev: MouseEvent) => {\n let ele = ev.target as HTMLSpanElement;\n this.dragVal = ele.dataset.value;\n };\n\n private onDragEnd = (ev) => {\n this.dragVal = null;\n ev.preventDefault();\n };\n\n private onDragLeave = (ev: MouseEvent) => {\n let ele = ev.target as HTMLSpanElement;\n let spanVal: string =\n ele.dataset && ele.dataset.value ? ele.dataset.value : null;\n\n if (\n !spanVal ||\n this.dragVal === spanVal ||\n !this.value.includes(this.dragVal)\n ) {\n ev.preventDefault();\n return;\n }\n\n let to = this.value.indexOf(spanVal);\n let from = this.value.indexOf(this.dragVal);\n let tmpArr = this.value as Array<string>;\n let tmpVal = tmpArr[to];\n\n tmpArr[to] = tmpArr[from];\n tmpArr[from] = tmpVal;\n this.value = [...tmpArr];\n };\n\n private onMultiInput = (ev) => {\n this.inputSearchVal = ev.target.value.trim();\n this.nanoSearchChange.emit({ value: ev.target.value.trim() });\n };\n\n /* Stencil Component lifecycle hooks */\n\n connectedCallback() {\n this.debounceChanged();\n\n if (!Build.isBrowser) return;\n\n this.el.dispatchEvent(\n new CustomEvent('nanoDidLoad', {\n detail: this.el,\n })\n );\n }\n\n disconnectedCallback() {\n document.dispatchEvent(\n new CustomEvent('nanoDidUnload', {\n detail: this.el,\n })\n );\n\n if (!Build.isBrowser) return;\n if (this.mo) this.mo.disconnect();\n }\n\n componentDidLoad() {\n this.slotChangeObserver();\n this.customValidate();\n this.setDataListOpts();\n raf(() => (this.onInit = false));\n }\n\n componentWillLoad() {\n this.processSlottedContent();\n }\n\n render() {\n const labelId = this.selectId + '-lbl';\n const moreId =\n this.showInlineError || this.hasHelperSlot\n ? this.selectId + '-moreId'\n : '';\n\n this.rtl = (this.el.ownerDocument as Document).dir === 'rtl';\n this.valueItems = [];\n\n const compWrapOptions = (({\n el,\n floatLabel,\n label,\n errorMessage,\n showInlineError,\n hasHelperSlot,\n hasLabelSlot,\n hideLabel,\n placeholder,\n rtl,\n }) => ({\n el,\n floatLabel,\n label,\n errorMessage,\n showInlineError,\n hasHelperSlot,\n hasLabelSlot,\n hideLabel,\n placeholder,\n rtl,\n }))(this);\n const wrapOptions = {\n ...compWrapOptions,\n labelId,\n moreId,\n hasValue: !!this.value.length || !!this.inputSearchVal.length,\n controlId: this.selectId,\n };\n\n const controlOptions = (({ readonly, disabled }) => ({\n readonly,\n disabled,\n clearControl: this.clearSelect,\n }))(this);\n\n return (\n <Host\n type={this.multiple ? 'select-multiple' : 'select-one'}\n aria-disabled={this.disabled ? 'true' : null}\n class={{\n ...createColorClasses(this.color),\n 'has-value': !!this.value.length || !!this.inputSearchVal.length,\n 'has-focus': this.hasFocus,\n 'is-invalid': this.invalid,\n 'has-label': this.label !== null && !this.floatLabel,\n 'has-float-label': this.label !== null && this.floatLabel,\n rtl: this.rtl,\n 'has-multiple': this.multiple,\n 'has-clr-btn': this.clearSelect,\n masked: this.mask,\n legacy: this.isLegacy,\n }}\n >\n <FormControlWrap {...wrapOptions}>\n <FormControl\n {...controlOptions}\n onClearText={this.clearSelectValue}\n control={this.el}\n ref={(el) => (this.selectWrap = el)}\n endValueSlot={\n <slot name=\"down-arrow\">\n <nano-icon slot=\"value-end\" name=\"light/chevron-down\" />\n </slot>\n }\n >\n {this.multiple && (\n <div class=\"multi-wrap\">\n {this.multipleValues(labelId, moreId)}\n </div>\n )}\n {!this.multiple && [\n this.mask && (\n <div class=\"select-mask\">\n {this.getLabel(this.value as string)}\n </div>\n ),\n <input\n id={this.selectId}\n class=\"native-input\"\n ref={(input) => (this.inputCtrl = input)}\n aria-labelledby={labelId + ' ' + moreId}\n disabled={this.disabled}\n form={this.form}\n placeholder={\n !this.floatLabel && this.placeholder ? this.placeholder : ''\n }\n readOnly={true}\n required={this.required}\n value={this.getLabel(this.value as string)}\n onFocus={this.onFocus}\n />,\n ]}\n </FormControl>\n </FormControlWrap>\n {!this.readonly && !this.disabled && (\n <nano-datalist\n onNanoOptionsUpdated={this.setOptions}\n ref={(el) => (this.datalist = el)}\n selected={this.valArray}\n type={this.multiple ? 'selctMulti' : 'select'}\n onNanoSelect={this.setValue}\n onNanoDeselect={(e) => {\n e.preventDefault();\n this.removeValue(e.detail.value);\n }}\n options={this._options.length ? this._options : undefined}\n >\n {this.allowCustomValues && this.multiple && !!this.inputSearchVal && (\n <nano-option\n slot=\"list-top\"\n value={this.inputSearchVal}\n selected={false}\n label={this.inputSearchVal}\n onNanoSelect={() => this.inputCtrl.focus()}\n >\n <span slot=\"check-icon\"></span>\n Add '{this.inputSearchVal}'\n </nano-option>\n )}\n <slot />\n </nano-datalist>\n )}\n\n <select\n id={this.selectId + '-hidden'}\n class=\"native-select\"\n ref={(select) => (this.nativeSelect = select)}\n aria-labelledby={labelId + ' ' + moreId}\n disabled={this.disabled}\n form={this.form}\n multiple={this.multiple}\n name={this.name}\n required={this.required}\n onInvalid={this.handleInvalid}\n >\n {this.allowCustomValues &&\n this.valArray.map((val) => {\n return (\n <option value={val} selected={true}>\n {val}\n </option>\n );\n })}\n {!this.allowCustomValues &&\n this.options.map((opt: OptionInterface) => {\n return (\n <option\n value={opt.value}\n selected={this.valArray.includes(opt.value)}\n disabled={opt.disabled}\n label={opt.label}\n >\n {this.valArray.includes(opt.value)}\n </option>\n );\n })}\n </select>\n </Host>\n );\n }\n\n private multipleValues(\n labelId: string,\n moreId: string\n ): VNode | (VNode | VNode[])[] {\n let input: VNode = (\n <input\n class=\"multi-input\"\n id={this.selectId}\n ref={(input) => (this.inputCtrl = input)}\n readOnly={this.readonly}\n disabled={this.disabled}\n autoFocus={this.autofocus}\n autocomplete=\"off\"\n onKeyDown={this.handleDocumentKeyDown}\n onInput={this.onMultiInput}\n value={this.inputSearchVal}\n onTouchStart={this.onClick}\n onMouseDown={this.onClick}\n onFocus={this.onFocus}\n placeholder={\n this.placeholder && !this.floatLabel && !this.value.length\n ? this.placeholder\n : ''\n }\n aria-labelledby={labelId + ' ' + moreId}\n />\n );\n if (!this.value.length) return input;\n\n return (this.value as Array<string>).map((val, i) => {\n let toReturn: VNode | VNode[] = (\n <span\n onDragStart={this.onDragStart}\n onDragLeave={this.onDragLeave}\n onDragEnd={this.onDragEnd}\n onDragOver={(e) => e.preventDefault()}\n draggable\n data-value={val}\n ref={(span) => this.valueItems.push(span)}\n class=\"multi-value\"\n >\n <span>{this.getLabel(val)}</span>\n <button\n class=\"multi-value-remove\"\n type=\"button\"\n tabindex=\"-1\"\n onTouchEnd={() => {\n this.removeValue(val);\n }}\n onMouseUp={() => {\n this.removeValue(val);\n }}\n >\n <nano-icon name=\"light/times\"></nano-icon>\n </button>\n </span>\n );\n if (i === 0 && this.currInsertIndex < 0)\n toReturn = [input, toReturn as VNode];\n else if (i === this.currInsertIndex)\n toReturn = [toReturn as VNode, input];\n return toReturn;\n });\n }\n}\n"]}
@@ -7,6 +7,9 @@
7
7
  *::after {
8
8
  box-sizing: border-box;
9
9
  }
10
+ [hidden] {
11
+ display: none !important;
12
+ }
10
13
  :host {
11
14
  /**
12
15
  * @prop --base-color-rgb: default var(--nano-skeleton-base-rgb, 228, 230, 232);
@@ -7,6 +7,9 @@
7
7
  *::after {
8
8
  box-sizing: border-box;
9
9
  }
10
+ [hidden] {
11
+ display: none !important;
12
+ }
10
13
  :host {
11
14
  display: -webkit-box;
12
15
  display: -ms-flexbox;
@@ -7,6 +7,9 @@
7
7
  *::after {
8
8
  box-sizing: border-box;
9
9
  }
10
+ [hidden] {
11
+ display: none !important;
12
+ }
10
13
  :host {
11
14
  /**
12
15
  * @prop --dot-color: inactive colour of pager bullets. Default #cccccc;
@@ -453,7 +453,7 @@ export class Slides {
453
453
  "references": {
454
454
  "FlickityOptions": {
455
455
  "location": "import",
456
- "path": "/builds/YGFYbT4i/0/Digital/nano-components/packages/components/src/interface.d.ts"
456
+ "path": "/builds/vyiT33Zh/0/Digital/nano-components/packages/components/src/interface.d.ts"
457
457
  }
458
458
  }
459
459
  },
@@ -556,7 +556,7 @@ export class Slides {
556
556
  "references": {
557
557
  "SlideAnimation": {
558
558
  "location": "import",
559
- "path": "/builds/YGFYbT4i/0/Digital/nano-components/packages/components/src/interface.d.ts"
559
+ "path": "/builds/vyiT33Zh/0/Digital/nano-components/packages/components/src/interface.d.ts"
560
560
  }
561
561
  }
562
562
  },
@@ -747,7 +747,7 @@ export class Slides {
747
747
  "references": {
748
748
  "DragEvent": {
749
749
  "location": "import",
750
- "path": "/builds/YGFYbT4i/0/Digital/nano-components/packages/components/src/interface.d.ts"
750
+ "path": "/builds/vyiT33Zh/0/Digital/nano-components/packages/components/src/interface.d.ts"
751
751
  }
752
752
  }
753
753
  }
@@ -767,7 +767,7 @@ export class Slides {
767
767
  "references": {
768
768
  "DragEvent": {
769
769
  "location": "import",
770
- "path": "/builds/YGFYbT4i/0/Digital/nano-components/packages/components/src/interface.d.ts"
770
+ "path": "/builds/vyiT33Zh/0/Digital/nano-components/packages/components/src/interface.d.ts"
771
771
  }
772
772
  }
773
773
  }
@@ -787,7 +787,7 @@ export class Slides {
787
787
  "references": {
788
788
  "DragEvent": {
789
789
  "location": "import",
790
- "path": "/builds/YGFYbT4i/0/Digital/nano-components/packages/components/src/interface.d.ts"
790
+ "path": "/builds/vyiT33Zh/0/Digital/nano-components/packages/components/src/interface.d.ts"
791
791
  }
792
792
  }
793
793
  }
@@ -807,7 +807,7 @@ export class Slides {
807
807
  "references": {
808
808
  "DragEvent": {
809
809
  "location": "import",
810
- "path": "/builds/YGFYbT4i/0/Digital/nano-components/packages/components/src/interface.d.ts"
810
+ "path": "/builds/vyiT33Zh/0/Digital/nano-components/packages/components/src/interface.d.ts"
811
811
  }
812
812
  }
813
813
  }
@@ -1114,7 +1114,7 @@ export class Slides {
1114
1114
  },
1115
1115
  "Flickity": {
1116
1116
  "location": "import",
1117
- "path": "/builds/YGFYbT4i/0/Digital/nano-components/packages/components/src/interface.d.ts"
1117
+ "path": "/builds/vyiT33Zh/0/Digital/nano-components/packages/components/src/interface.d.ts"
1118
1118
  }
1119
1119
  },
1120
1120
  "return": "Promise<Flickity>"
@@ -7,6 +7,9 @@
7
7
  *::after {
8
8
  box-sizing: border-box;
9
9
  }
10
+ [hidden] {
11
+ display: none !important;
12
+ }
10
13
  :host {
11
14
  /**
12
15
  * @prop --base-color-rgb: default var(--nano-spinner-base-rgb, 0, 116, 149)
@@ -7,6 +7,9 @@
7
7
  *::after {
8
8
  box-sizing: border-box;
9
9
  }
10
+ [hidden] {
11
+ display: none !important;
12
+ }
10
13
  :host {
11
14
  /**
12
15
  * @prop --stuck-left: The left position when your sticker is stuck. This can be useful to force your sticker to fill the viewport for example. Defaults to initial
@@ -7,6 +7,9 @@
7
7
  *::after {
8
8
  box-sizing: border-box;
9
9
  }
10
+ [hidden] {
11
+ display: none !important;
12
+ }
10
13
  :host {
11
14
  display: block;
12
15
  -webkit-transform: translate3d(0, 0, 0);
@@ -16,7 +16,7 @@ export class TabPanel {
16
16
  }
17
17
  render() {
18
18
  return (h(Host, { id: this.host.id || this.tabContentId, style: { display: this.active ? 'block' : 'none' }, role: "tabpanel", "aria-hidden": this.active ? 'false' : 'true' },
19
- h("div", { part: "base", class: "nano-tab-content slide-in" },
19
+ h("div", { part: "base", class: "nano-tab-content" },
20
20
  h("slot", null))));
21
21
  }
22
22
  static get is() { return "nano-tab-content"; }
@@ -45,7 +45,7 @@ export class TabPanel {
45
45
  "getter": false,
46
46
  "setter": false,
47
47
  "attribute": "name",
48
- "reflect": false,
48
+ "reflect": true,
49
49
  "defaultValue": "''"
50
50
  },
51
51
  "active": {
@@ -65,7 +65,7 @@ export class TabPanel {
65
65
  "getter": false,
66
66
  "setter": false,
67
67
  "attribute": "active",
68
- "reflect": false,
68
+ "reflect": true,
69
69
  "defaultValue": "false"
70
70
  }
71
71
  }; }
@@ -1 +1 @@
1
- {"version":3,"file":"tab-content.js","sourceRoot":"","sources":["../../../src/components/tabs/tab-content.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,CAAC,GAEF,MAAM,eAAe,CAAC;AAEvB,IAAI,EAAE,GAAG,CAAC,CAAC;AAEX;;GAEG;AAMH,MAAM,OAAO,QAAQ;EALrB;IAMU,iBAAY,GAAG,oBAAoB,EAAE,EAAE,EAAE,CAAC;IAIlD,4BAA4B;IACpB,SAAI,GAAG,EAAE,CAAC;IAElB,gDAAgD;IACxC,WAAM,GAAG,KAAK,CAAC;GAgBxB;EAdC,MAAM;IACJ,OAAO,CACL,EAAC,IAAI,IACH,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,YAAY,EACrC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,EAClD,IAAI,EAAC,UAAU,iBACF,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;MAE3C,WAAK,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,2BAA2B;QAChD,eAAQ,CACJ,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n h,\n ComponentInterface,\n} from '@stencil/core';\n\nlet id = 0;\n\n/**\n * @slot - The tab panel's content.\n */\n@Component({\n tag: 'nano-tab-content',\n styleUrl: 'tab-content.scss',\n shadow: true,\n})\nexport class TabPanel implements ComponentInterface {\n private tabContentId = `nano-tab-content-${++id}`;\n\n @Element() host: HTMLNanoTabContentElement;\n\n /** The tab panel's name. */\n @Prop() name = '';\n\n /** When true, the tab content will be shown. */\n @Prop() active = false;\n\n render() {\n return (\n <Host\n id={this.host.id || this.tabContentId}\n style={{ display: this.active ? 'block' : 'none' }}\n role=\"tabpanel\"\n aria-hidden={this.active ? 'false' : 'true'}\n >\n <div part=\"base\" class=\"nano-tab-content slide-in\">\n <slot />\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"tab-content.js","sourceRoot":"","sources":["../../../src/components/tabs/tab-content.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,CAAC,GAEF,MAAM,eAAe,CAAC;AAEvB,IAAI,EAAE,GAAG,CAAC,CAAC;AAEX;;GAEG;AAMH,MAAM,OAAO,QAAQ;EALrB;IAMU,iBAAY,GAAG,oBAAoB,EAAE,EAAE,EAAE,CAAC;IAIlD,4BAA4B;IACH,SAAI,GAAG,EAAE,CAAC;IAEnC,gDAAgD;IACvB,WAAM,GAAG,KAAK,CAAC;GAgBzC;EAdC,MAAM;IACJ,OAAO,CACL,EAAC,IAAI,IACH,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,YAAY,EACrC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,EAClD,IAAI,EAAC,UAAU,iBACF,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;MAE3C,WAAK,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,kBAAkB;QACvC,eAAQ,CACJ,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n h,\n ComponentInterface,\n} from '@stencil/core';\n\nlet id = 0;\n\n/**\n * @slot - The tab panel's content.\n */\n@Component({\n tag: 'nano-tab-content',\n styleUrl: 'tab-content.scss',\n shadow: true,\n})\nexport class TabPanel implements ComponentInterface {\n private tabContentId = `nano-tab-content-${++id}`;\n\n @Element() host: HTMLNanoTabContentElement;\n\n /** The tab panel's name. */\n @Prop({ reflect: true }) name = '';\n\n /** When true, the tab content will be shown. */\n @Prop({ reflect: true }) active = false;\n\n render() {\n return (\n <Host\n id={this.host.id || this.tabContentId}\n style={{ display: this.active ? 'block' : 'none' }}\n role=\"tabpanel\"\n aria-hidden={this.active ? 'false' : 'true'}\n >\n <div part=\"base\" class=\"nano-tab-content\">\n <slot />\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -7,6 +7,9 @@
7
7
  *::after {
8
8
  box-sizing: border-box;
9
9
  }
10
+ [hidden] {
11
+ display: none !important;
12
+ }
10
13
  /**
11
14
  * @prop --indicator-transition: Only relevant to placement 'start'. defaults to var(--nano-transition-fast, 0.3s);
12
15
  * @prop --indicator-color: defaults to #90c6e7 on placement 'top' and #007495 on placement 'start';
@@ -34,7 +37,7 @@
34
37
  --indicator-transition: var(--nano-transition-fast, 0.3s);
35
38
  --indicator-color: #90c6e7;
36
39
  --indicator-track-color: #e4e6e8;
37
- --indicator-size: 5px;
40
+ --indicator-size: 0;
38
41
  --border-radius: var(--nano-layer-border-radius, var(--nano-border-radius-medium, 4px));
39
42
  --background-rgb: var(--nano-layer-bg-rgb, 255, 255, 255);
40
43
  --scroll-btn-color: "currentColor";
@@ -45,6 +48,7 @@
45
48
  --tabs-padding-end: 2.5rem;
46
49
  --tabs-padding-top: 0;
47
50
  --tabs-padding-bottom: 0;
51
+ --tabs-container-bg: "transparent";
48
52
  --tabs-bg-rgb: var(--background-rgb);
49
53
  --tab-border-radius: var(--border-radius);
50
54
  --tab-text-color: #007495;
@@ -61,7 +65,6 @@
61
65
  }
62
66
  :host ::slotted(nano-tab) {
63
67
  --tab-indicator-color: var(--indicator-color);
64
- --tab-indicator-size: var(--indicator-size);
65
68
  --bg-rgb: var(--tabs-bg-rgb);
66
69
  --border-radius: var(--tab-border-radius);
67
70
  }
@@ -99,6 +102,9 @@
99
102
  display: flex;
100
103
  border-radius: 0;
101
104
  width: 100%;
105
+ -webkit-box-flex: inherit;
106
+ -ms-flex: inherit;
107
+ flex: inherit;
102
108
  }
103
109
  .nano-tab-group__tabs {
104
110
  display: -webkit-box;
@@ -123,9 +129,7 @@
123
129
  display: -webkit-box;
124
130
  display: -ms-flexbox;
125
131
  display: flex;
126
- -webkit-box-flex: 1;
127
- -ms-flex: 1 0 auto;
128
- flex: 1 0 auto;
132
+ background: var(--tabs-container-bg);
129
133
  }
130
134
  .nano-tab-group button {
131
135
  -webkit-appearance: none;
@@ -290,6 +294,10 @@
290
294
  color: var(--tab-text-color);
291
295
  width: auto;
292
296
  }
297
+ .nano-tab-group--top .nano-tab-group__active-tab-indicator {
298
+ bottom: -2px;
299
+ border-bottom: solid var(--indicator-size) var(--indicator-color);
300
+ }
293
301
  .nano-tab-group--top .nano-tab-group__body {
294
302
  -webkit-box-ordinal-group: 3;
295
303
  -ms-flex-order: 2;
@@ -306,6 +314,9 @@
306
314
  justify-content: center;
307
315
  padding: var(--content-padding);
308
316
  border-radius: var(--content-border-radius);
317
+ -webkit-box-flex: 1;
318
+ -ms-flex: 1 1 auto;
319
+ flex: 1 1 auto;
309
320
  }
310
321
  .nano-tab-group--start {
311
322
  -webkit-box-orient: horizontal;