@nanoporetech-digital/components 3.7.0 → 3.8.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 (783) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/cjs/{algolia-data-9152d0ef.js → algolia-data-f495daf4.js} +2 -2
  3. package/dist/cjs/{algolia-data-9152d0ef.js.map → algolia-data-f495daf4.js.map} +1 -1
  4. package/dist/cjs/{algoliasearch.umd-7ee60729.js → algoliasearch.umd-689c1560.js} +3 -3
  5. package/dist/cjs/{algoliasearch.umd-7ee60729.js.map → algoliasearch.umd-689c1560.js.map} +1 -1
  6. package/dist/cjs/{component-store-d7c8c326.js → component-store-d2fdaecf.js} +25 -12
  7. package/dist/cjs/component-store-d2fdaecf.js.map +1 -0
  8. package/dist/cjs/{dom-d7c33f11.js → dom-7acf7afd.js} +15 -15
  9. package/dist/cjs/dom-7acf7afd.js.map +1 -0
  10. package/dist/cjs/{form-control-57c71246.js → form-control-c24fbff3.js} +4 -4
  11. package/dist/cjs/form-control-c24fbff3.js.map +1 -0
  12. package/dist/{esm/global-8047b4ff.js → cjs/global-3a6a7873.js} +5 -14
  13. package/dist/cjs/global-3a6a7873.js.map +1 -0
  14. package/dist/cjs/{index-bb2a6ab8.js → index-361e5114.js} +2 -2
  15. package/dist/cjs/{index-bb2a6ab8.js.map → index-361e5114.js.map} +1 -1
  16. package/dist/cjs/{index-41582c2a.js → index-5c437a69.js} +1436 -516
  17. package/dist/cjs/index-5c437a69.js.map +1 -0
  18. package/dist/cjs/{index-ece1cb9e.js → index-72ee0363.js} +2 -10
  19. package/dist/cjs/index-72ee0363.js.map +1 -0
  20. package/dist/cjs/index.cjs.js +18 -35
  21. package/dist/cjs/index.cjs.js.map +1 -1
  22. package/dist/cjs/loader.cjs.js +5 -4
  23. package/dist/cjs/loader.cjs.js.map +1 -1
  24. package/dist/cjs/{modal-e4defcc3.js → modal-5884a6de.js} +3 -2
  25. package/dist/cjs/modal-5884a6de.js.map +1 -0
  26. package/dist/cjs/nano-accordion.cjs.entry.js +4 -7
  27. package/dist/cjs/nano-accordion.cjs.entry.js.map +1 -1
  28. package/dist/cjs/nano-alert.cjs.entry.js +25 -19
  29. package/dist/cjs/nano-alert.cjs.entry.js.map +1 -1
  30. package/dist/cjs/nano-algolia-filter.cjs.entry.js +5 -5
  31. package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +1 -1
  32. package/dist/cjs/nano-algolia-input.cjs.entry.js +4 -4
  33. package/dist/cjs/nano-algolia-input.cjs.entry.js.map +1 -1
  34. package/dist/cjs/nano-algolia-pagination.cjs.entry.js +2 -2
  35. package/dist/cjs/nano-algolia-results.cjs.entry.js +2 -2
  36. package/dist/cjs/nano-algolia.cjs.entry.js +8 -8
  37. package/dist/cjs/nano-algolia.cjs.entry.js.map +1 -1
  38. package/dist/cjs/nano-aspect-ratio.cjs.entry.js +1 -1
  39. package/dist/cjs/nano-checkbox-group.cjs.entry.js +52 -9
  40. package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
  41. package/dist/cjs/nano-checkbox.cjs.entry.js +8 -8
  42. package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
  43. package/dist/cjs/nano-components.cjs.js +8 -4
  44. package/dist/cjs/nano-components.cjs.js.map +1 -1
  45. package/dist/cjs/nano-datalist_3.cjs.entry.js +46 -36
  46. package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -1
  47. package/dist/cjs/nano-date-input.cjs.entry.js +6 -6
  48. package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
  49. package/dist/cjs/nano-date-picker.cjs.entry.js +4 -4
  50. package/dist/cjs/nano-date-picker.cjs.entry.js.map +1 -1
  51. package/dist/cjs/nano-demo.cjs.entry.js +13 -9
  52. package/dist/cjs/nano-demo.cjs.entry.js.map +1 -1
  53. package/dist/cjs/nano-details.cjs.entry.js +4 -4
  54. package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
  55. package/dist/cjs/nano-dialog.cjs.entry.js +6 -6
  56. package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
  57. package/dist/cjs/nano-drawer.cjs.entry.js +5 -5
  58. package/dist/cjs/nano-drawer.cjs.entry.js.map +1 -1
  59. package/dist/cjs/nano-dropdown.cjs.entry.js +9 -4
  60. package/dist/cjs/nano-dropdown.cjs.entry.js.map +1 -1
  61. package/dist/cjs/nano-field-validator.cjs.entry.js +4 -3
  62. package/dist/cjs/nano-field-validator.cjs.entry.js.map +1 -1
  63. package/dist/cjs/nano-file-upload.cjs.entry.js +5 -5
  64. package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
  65. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js +54 -67
  66. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js.map +1 -1
  67. package/dist/cjs/nano-global-nav.cjs.entry.js +55 -42
  68. package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
  69. package/dist/cjs/nano-global-search-results.cjs.entry.js +6 -4
  70. package/dist/cjs/nano-global-search-results.cjs.entry.js.map +1 -1
  71. package/dist/cjs/nano-grid_3.cjs.entry.js +8 -7
  72. package/dist/cjs/nano-grid_3.cjs.entry.js.map +1 -1
  73. package/dist/cjs/nano-hero.cjs.entry.js +4 -2
  74. package/dist/cjs/nano-hero.cjs.entry.js.map +1 -1
  75. package/dist/cjs/nano-icon-button.cjs.entry.js +2 -2
  76. package/dist/cjs/nano-icon-button.cjs.entry.js.map +1 -1
  77. package/dist/cjs/nano-icon.cjs.entry.js +7 -14
  78. package/dist/cjs/nano-icon.cjs.entry.js.map +1 -1
  79. package/dist/cjs/nano-input.cjs.entry.js +19 -33
  80. package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
  81. package/dist/cjs/nano-menu-drawer.cjs.entry.js +3 -3
  82. package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +1 -1
  83. package/dist/cjs/nano-progress-bar_2.cjs.entry.js +4 -4
  84. package/dist/cjs/nano-progress-bar_2.cjs.entry.js.map +1 -1
  85. package/dist/cjs/nano-range.cjs.entry.js +4 -4
  86. package/dist/cjs/nano-range.cjs.entry.js.map +1 -1
  87. package/dist/cjs/nano-rating.cjs.entry.js +2 -2
  88. package/dist/cjs/nano-rating.cjs.entry.js.map +1 -1
  89. package/dist/cjs/nano-resize-observe_2.cjs.entry.js +18 -10
  90. package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
  91. package/dist/cjs/nano-slide.cjs.entry.js +1 -1
  92. package/dist/cjs/nano-slides.cjs.entry.js +11 -21
  93. package/dist/cjs/nano-slides.cjs.entry.js.map +1 -1
  94. package/dist/cjs/nano-spinner.cjs.entry.js +3 -3
  95. package/dist/cjs/nano-spinner.cjs.entry.js.map +1 -1
  96. package/dist/cjs/nano-split-pane.cjs.entry.js +15 -13
  97. package/dist/cjs/nano-split-pane.cjs.entry.js.map +1 -1
  98. package/dist/cjs/nano-sticker.cjs.entry.js +6 -4
  99. package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
  100. package/dist/cjs/nano-tab-content.cjs.entry.js +9 -3
  101. package/dist/cjs/nano-tab-content.cjs.entry.js.map +1 -1
  102. package/dist/cjs/nano-tab-group.cjs.entry.js +18 -12
  103. package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
  104. package/dist/cjs/nano-tab.cjs.entry.js +2 -2
  105. package/dist/cjs/nano-tab.cjs.entry.js.map +1 -1
  106. package/dist/cjs/{nano-table-56eb29c1.js → nano-table-860b9714.js} +115 -150
  107. package/dist/cjs/nano-table-860b9714.js.map +1 -0
  108. package/dist/cjs/nano-table.cjs.entry.js +3 -3
  109. package/dist/cjs/{popover-508bcedb.js → popover-088646b2.js} +61 -50
  110. package/dist/cjs/popover-088646b2.js.map +1 -0
  111. package/dist/cjs/{scroll-9bb5e060.js → scroll-a197d9c4.js} +2 -2
  112. package/dist/cjs/{scroll-9bb5e060.js.map → scroll-a197d9c4.js.map} +1 -1
  113. package/dist/cjs/{table.worker-b1c53001.js → table.worker-88f2cb15.js} +4 -4
  114. package/dist/cjs/table.worker-88f2cb15.js.map +1 -0
  115. package/dist/cjs/{theme-50275e1a.js → theme-9cbe28c5.js} +2 -7
  116. package/dist/cjs/theme-9cbe28c5.js.map +1 -0
  117. package/dist/collection/collection-manifest.json +2 -2
  118. package/dist/collection/components/accordion/accordion.js +1 -4
  119. package/dist/collection/components/accordion/accordion.js.map +1 -1
  120. package/dist/collection/components/alert/alert.css +4 -3
  121. package/dist/collection/components/alert/alert.helpers.js +6 -24
  122. package/dist/collection/components/alert/alert.helpers.js.map +1 -1
  123. package/dist/collection/components/alert/alert.js +19 -13
  124. package/dist/collection/components/alert/alert.js.map +1 -1
  125. package/dist/collection/components/algolia/algolia-filter.js +2 -2
  126. package/dist/collection/components/algolia/algolia-filter.js.map +1 -1
  127. package/dist/collection/components/algolia/algolia-input.js.map +1 -1
  128. package/dist/collection/components/algolia/algolia.css +2 -1
  129. package/dist/collection/components/algolia/algolia.js +3 -3
  130. package/dist/collection/components/algolia/algolia.js.map +1 -1
  131. package/dist/collection/components/checkbox/checkbox-group.css +16 -10
  132. package/dist/collection/components/checkbox/checkbox-group.js +91 -7
  133. package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
  134. package/dist/collection/components/checkbox/checkbox.css +14 -12
  135. package/dist/collection/components/checkbox/checkbox.js +5 -5
  136. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  137. package/dist/collection/components/datalist/datalist.js +39 -31
  138. package/dist/collection/components/datalist/datalist.js.map +1 -1
  139. package/dist/collection/components/date-input/date-input.css +3 -3
  140. package/dist/collection/components/date-input/date-input.js +3 -3
  141. package/dist/collection/components/date-input/date-input.js.map +1 -1
  142. package/dist/collection/components/date-picker/date-picker.css +15 -11
  143. package/dist/collection/components/date-picker/date-picker.js +1 -1
  144. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  145. package/dist/collection/components/demo/demo.js +12 -8
  146. package/dist/collection/components/demo/demo.js.map +1 -1
  147. package/dist/collection/components/details/details.css +2 -1
  148. package/dist/collection/components/details/details.js +1 -1
  149. package/dist/collection/components/details/details.js.map +1 -1
  150. package/dist/collection/components/dialog/dialog.css +8 -5
  151. package/dist/collection/components/dialog/dialog.helpers.js +3 -11
  152. package/dist/collection/components/dialog/dialog.helpers.js.map +1 -1
  153. package/dist/collection/components/drawer/drawer.css +2 -2
  154. package/dist/collection/components/dropdown/dropdown.css +1 -1
  155. package/dist/collection/components/dropdown/dropdown.js +6 -1
  156. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  157. package/dist/collection/components/field-validator/field-validator.js +2 -1
  158. package/dist/collection/components/field-validator/field-validator.js.map +1 -1
  159. package/dist/collection/components/file-upload/file-upload.css +35 -25
  160. package/dist/collection/components/file-upload/file-upload.js +4 -4
  161. package/dist/collection/components/file-upload/file-upload.js.map +1 -1
  162. package/dist/collection/components/form-control/form-control.js +2 -2
  163. package/dist/collection/components/form-control/form-control.js.map +1 -1
  164. package/dist/collection/components/global-nav/global-nav-user-profile.js +6 -7
  165. package/dist/collection/components/global-nav/global-nav-user-profile.js.map +1 -1
  166. package/dist/collection/components/global-nav/global-nav.js +62 -27
  167. package/dist/collection/components/global-nav/global-nav.js.map +1 -1
  168. package/dist/collection/components/global-nav/style/global-nav.css +92 -48
  169. package/dist/collection/components/global-search-results/global-search-results.css +83 -44
  170. package/dist/collection/components/global-search-results/global-search-results.js +4 -2
  171. package/dist/collection/components/global-search-results/global-search-results.js.map +1 -1
  172. package/dist/collection/components/grid/grid-item.css +1 -1
  173. package/dist/collection/components/grid/grid.css +1 -0
  174. package/dist/collection/components/grid/grid.js +2 -0
  175. package/dist/collection/components/grid/grid.js.map +1 -1
  176. package/dist/collection/components/hero/hero.css +110 -18
  177. package/dist/collection/components/hero/hero.js +2 -0
  178. package/dist/collection/components/hero/hero.js.map +1 -1
  179. package/dist/collection/components/icon/icon.css +2 -2
  180. package/dist/collection/components/icon/icon.js +3 -10
  181. package/dist/collection/components/icon/icon.js.map +1 -1
  182. package/dist/collection/components/icon-button/icon-button.css +1 -1
  183. package/dist/collection/components/img/img.css +0 -1
  184. package/dist/collection/components/img/img.js +3 -4
  185. package/dist/collection/components/img/img.js.map +1 -1
  186. package/dist/collection/components/input/input.css +54 -32
  187. package/dist/collection/components/input/input.js +14 -28
  188. package/dist/collection/components/input/input.js.map +1 -1
  189. package/dist/collection/components/menu/menu.js +4 -2
  190. package/dist/collection/components/menu/menu.js.map +1 -1
  191. package/dist/collection/components/menu-drawer/menu-drawer.css +20 -13
  192. package/dist/collection/components/menu-drawer/menu-drawer.js +1 -1
  193. package/dist/collection/components/menu-drawer/menu-drawer.js.map +1 -1
  194. package/dist/collection/components/nav-item/nav-item.css +31 -16
  195. package/dist/collection/components/nav-item/nav-item.js +4 -4
  196. package/dist/collection/components/nav-item/nav-item.js.map +1 -1
  197. package/dist/collection/components/option/option.css +4 -2
  198. package/dist/collection/components/progress-bar/progress-bar.css +4 -4
  199. package/dist/collection/components/range/range.css +11 -9
  200. package/dist/collection/components/rating/rating.css +9 -5
  201. package/dist/collection/components/resize-observe/resize-observe.js +17 -6
  202. package/dist/collection/components/resize-observe/resize-observe.js.map +1 -1
  203. package/dist/collection/components/select/select.css +59 -34
  204. package/dist/collection/components/select/select.js +42 -55
  205. package/dist/collection/components/select/select.js.map +1 -1
  206. package/dist/collection/components/skeleton/skeleton.css +5 -5
  207. package/dist/collection/components/slides/slides.css +4 -2
  208. package/dist/collection/components/slides/slides.js +9 -19
  209. package/dist/collection/components/slides/slides.js.map +1 -1
  210. package/dist/collection/components/spinner/spinner.css +13 -8
  211. package/dist/collection/components/spinner/spinner.js +1 -1
  212. package/dist/collection/components/spinner/spinner.js.map +1 -1
  213. package/dist/collection/components/split-pane/split-pane.css +1 -1
  214. package/dist/collection/components/split-pane/split-pane.js +13 -11
  215. package/dist/collection/components/split-pane/split-pane.js.map +1 -1
  216. package/dist/collection/components/sticker/sticker.js +4 -2
  217. package/dist/collection/components/sticker/sticker.js.map +1 -1
  218. package/dist/collection/components/table/table.cell.js +8 -8
  219. package/dist/collection/components/table/table.cell.js.map +1 -1
  220. package/dist/collection/components/table/table.css +46 -25
  221. package/dist/collection/components/table/table.header.js +6 -19
  222. package/dist/collection/components/table/table.header.js.map +1 -1
  223. package/dist/collection/components/table/table.js +85 -93
  224. package/dist/collection/components/table/table.js.map +1 -1
  225. package/dist/collection/components/table/table.row.js +8 -8
  226. package/dist/collection/components/table/table.row.js.map +1 -1
  227. package/dist/collection/components/table/table.store.js +2 -1
  228. package/dist/collection/components/table/table.store.js.map +1 -1
  229. package/dist/collection/components/table/table.utils.js +8 -7
  230. package/dist/collection/components/table/table.utils.js.map +1 -1
  231. package/dist/collection/components/tabs/tab-content.css +7 -2
  232. package/dist/collection/components/tabs/tab-content.js +12 -1
  233. package/dist/collection/components/tabs/tab-content.js.map +1 -1
  234. package/dist/collection/components/tabs/tab-group.css +13 -10
  235. package/dist/collection/components/tabs/tab-group.js +17 -7
  236. package/dist/collection/components/tabs/tab-group.js.map +1 -1
  237. package/dist/collection/components/tabs/tab.css +21 -12
  238. package/dist/collection/components/tooltip/tooltip.css +25 -16
  239. package/dist/collection/global/script/global.js +2 -13
  240. package/dist/collection/global/script/global.js.map +1 -1
  241. package/dist/collection/index.js +17 -0
  242. package/dist/collection/index.js.map +1 -1
  243. package/dist/collection/utils/dom.js +16 -15
  244. package/dist/collection/utils/dom.js.map +1 -1
  245. package/dist/collection/utils/fetch.js +15 -12
  246. package/dist/collection/utils/fetch.js.map +1 -1
  247. package/dist/collection/utils/gesture/index.js +1 -9
  248. package/dist/collection/utils/gesture/index.js.map +1 -1
  249. package/dist/collection/utils/modal.js +2 -1
  250. package/dist/collection/utils/modal.js.map +1 -1
  251. package/dist/collection/utils/store/get-set.js +1 -1
  252. package/dist/collection/utils/store/get-set.js.map +1 -1
  253. package/dist/collection/utils/testing/index.js +1 -0
  254. package/dist/collection/utils/testing/index.js.map +1 -1
  255. package/dist/collection/utils/theme.js +1 -6
  256. package/dist/collection/utils/theme.js.map +1 -1
  257. package/dist/components/algolia.js +3 -3
  258. package/dist/components/algolia.js.map +1 -1
  259. package/dist/components/algoliasearch.umd.js +2 -2
  260. package/dist/components/algoliasearch.umd.js.map +1 -1
  261. package/dist/components/component-store.js +23 -10
  262. package/dist/components/component-store.js.map +1 -1
  263. package/dist/components/datalist.js +39 -31
  264. package/dist/components/datalist.js.map +1 -1
  265. package/dist/components/date-picker.js +2 -2
  266. package/dist/components/date-picker.js.map +1 -1
  267. package/dist/components/dom.js +17 -15
  268. package/dist/components/dom.js.map +1 -1
  269. package/dist/components/dropdown.js +7 -2
  270. package/dist/components/dropdown.js.map +1 -1
  271. package/dist/components/form-control.js +2 -2
  272. package/dist/components/form-control.js.map +1 -1
  273. package/dist/components/global-nav-user-profile.js +4 -3
  274. package/dist/components/global-nav-user-profile.js.map +1 -1
  275. package/dist/components/grid-item.js +1 -1
  276. package/dist/components/grid-item.js.map +1 -1
  277. package/dist/components/grid.js +3 -1
  278. package/dist/components/grid.js.map +1 -1
  279. package/dist/components/icon-button.js +1 -1
  280. package/dist/components/icon-button.js.map +1 -1
  281. package/dist/components/icon.js +4 -11
  282. package/dist/components/icon.js.map +1 -1
  283. package/dist/components/img.js +4 -5
  284. package/dist/components/img.js.map +1 -1
  285. package/dist/components/index.d.ts +9 -0
  286. package/dist/components/index.js +23 -52
  287. package/dist/components/index.js.map +1 -1
  288. package/dist/components/index3.js +635 -1069
  289. package/dist/components/index3.js.map +1 -1
  290. package/dist/components/input.js +15 -29
  291. package/dist/components/input.js.map +1 -1
  292. package/dist/components/menu.js +4 -2
  293. package/dist/components/menu.js.map +1 -1
  294. package/dist/components/modal.js +2 -1
  295. package/dist/components/modal.js.map +1 -1
  296. package/dist/components/nano-accordion.js +1 -4
  297. package/dist/components/nano-accordion.js.map +1 -1
  298. package/dist/components/nano-alert.js +20 -14
  299. package/dist/components/nano-alert.js.map +1 -1
  300. package/dist/components/nano-algolia-filter.js +2 -2
  301. package/dist/components/nano-algolia-filter.js.map +1 -1
  302. package/dist/components/nano-algolia-input.js.map +1 -1
  303. package/dist/components/nano-checkbox-group.js +53 -9
  304. package/dist/components/nano-checkbox-group.js.map +1 -1
  305. package/dist/components/nano-checkbox.js +6 -6
  306. package/dist/components/nano-checkbox.js.map +1 -1
  307. package/dist/components/nano-date-input.js +4 -4
  308. package/dist/components/nano-date-input.js.map +1 -1
  309. package/dist/components/nano-demo.js +12 -8
  310. package/dist/components/nano-demo.js.map +1 -1
  311. package/dist/components/nano-details.js +2 -2
  312. package/dist/components/nano-details.js.map +1 -1
  313. package/dist/components/nano-dialog.js +1 -1
  314. package/dist/components/nano-dialog.js.map +1 -1
  315. package/dist/components/nano-drawer.js +1 -1
  316. package/dist/components/nano-drawer.js.map +1 -1
  317. package/dist/components/nano-field-validator.js +2 -1
  318. package/dist/components/nano-field-validator.js.map +1 -1
  319. package/dist/components/nano-file-upload.js +4 -4
  320. package/dist/components/nano-file-upload.js.map +1 -1
  321. package/dist/components/nano-global-nav.js +52 -38
  322. package/dist/components/nano-global-nav.js.map +1 -1
  323. package/dist/components/nano-global-search-results.js +5 -3
  324. package/dist/components/nano-global-search-results.js.map +1 -1
  325. package/dist/components/nano-hero.js +3 -1
  326. package/dist/components/nano-hero.js.map +1 -1
  327. package/dist/components/nano-menu-drawer.js +2 -2
  328. package/dist/components/nano-menu-drawer.js.map +1 -1
  329. package/dist/components/nano-range.js +2 -2
  330. package/dist/components/nano-range.js.map +1 -1
  331. package/dist/components/nano-rating.js +1 -1
  332. package/dist/components/nano-rating.js.map +1 -1
  333. package/dist/components/nano-slides.js +10 -20
  334. package/dist/components/nano-slides.js.map +1 -1
  335. package/dist/components/nano-split-pane.js +14 -12
  336. package/dist/components/nano-split-pane.js.map +1 -1
  337. package/dist/components/nano-tab-content.js +10 -3
  338. package/dist/components/nano-tab-content.js.map +1 -1
  339. package/dist/components/nano-tab-group.js +18 -8
  340. package/dist/components/nano-tab-group.js.map +1 -1
  341. package/dist/components/nano-tab.js +1 -1
  342. package/dist/components/nano-tab.js.map +1 -1
  343. package/dist/components/nav-item.js +5 -5
  344. package/dist/components/nav-item.js.map +1 -1
  345. package/dist/components/option.js +1 -1
  346. package/dist/components/option.js.map +1 -1
  347. package/dist/components/popover.js +60 -49
  348. package/dist/components/popover.js.map +1 -1
  349. package/dist/components/progress-bar.js +1 -1
  350. package/dist/components/progress-bar.js.map +1 -1
  351. package/dist/components/resize-observe.js +16 -8
  352. package/dist/components/resize-observe.js.map +1 -1
  353. package/dist/components/select.js +43 -56
  354. package/dist/components/select.js.map +1 -1
  355. package/dist/components/skeleton.js +1 -1
  356. package/dist/components/skeleton.js.map +1 -1
  357. package/dist/components/spinner.js +2 -2
  358. package/dist/components/spinner.js.map +1 -1
  359. package/dist/components/sticker.js +4 -2
  360. package/dist/components/sticker.js.map +1 -1
  361. package/dist/components/table.js +117 -152
  362. package/dist/components/table.js.map +1 -1
  363. package/dist/components/theme.js +1 -6
  364. package/dist/components/theme.js.map +1 -1
  365. package/dist/components/tooltip.js +1 -1
  366. package/dist/components/tooltip.js.map +1 -1
  367. package/dist/esm/{algolia-data-b5cd0c58.js → algolia-data-213ed40c.js} +2 -2
  368. package/dist/esm/{algolia-data-b5cd0c58.js.map → algolia-data-213ed40c.js.map} +1 -1
  369. package/dist/esm/{algoliasearch.umd-86359963.js → algoliasearch.umd-4f7efa84.js} +3 -3
  370. package/dist/esm/{algoliasearch.umd-86359963.js.map → algoliasearch.umd-4f7efa84.js.map} +1 -1
  371. package/dist/esm/{component-store-ec512820.js → component-store-df8af0e6.js} +25 -12
  372. package/dist/esm/component-store-df8af0e6.js.map +1 -0
  373. package/dist/esm/{dom-d3ad49e2.js → dom-311c9e1e.js} +15 -15
  374. package/dist/esm/dom-311c9e1e.js.map +1 -0
  375. package/dist/esm/{form-control-84bac7a2.js → form-control-445de741.js} +4 -4
  376. package/dist/esm/form-control-445de741.js.map +1 -0
  377. package/dist/{cjs/global-989678ec.js → esm/global-f6e05656.js} +3 -16
  378. package/dist/esm/global-f6e05656.js.map +1 -0
  379. package/dist/esm/{index-3c280603.js → index-44c85cc8.js} +1436 -517
  380. package/dist/esm/index-44c85cc8.js.map +1 -0
  381. package/dist/esm/{index-c752dae1.js → index-d1b02919.js} +2 -2
  382. package/dist/esm/{index-c752dae1.js.map → index-d1b02919.js.map} +1 -1
  383. package/dist/{components/index4.js → esm/index-f626f476.js} +2 -10
  384. package/dist/esm/index-f626f476.js.map +1 -0
  385. package/dist/esm/index.js +18 -36
  386. package/dist/esm/index.js.map +1 -1
  387. package/dist/esm/loader.js +5 -4
  388. package/dist/esm/loader.js.map +1 -1
  389. package/dist/esm/{modal-5c9ce466.js → modal-1f3223cd.js} +3 -2
  390. package/dist/esm/modal-1f3223cd.js.map +1 -0
  391. package/dist/esm/nano-accordion.entry.js +4 -7
  392. package/dist/esm/nano-accordion.entry.js.map +1 -1
  393. package/dist/esm/nano-alert.entry.js +25 -19
  394. package/dist/esm/nano-alert.entry.js.map +1 -1
  395. package/dist/esm/nano-algolia-filter.entry.js +5 -5
  396. package/dist/esm/nano-algolia-filter.entry.js.map +1 -1
  397. package/dist/esm/nano-algolia-input.entry.js +4 -4
  398. package/dist/esm/nano-algolia-input.entry.js.map +1 -1
  399. package/dist/esm/nano-algolia-pagination.entry.js +2 -2
  400. package/dist/esm/nano-algolia-results.entry.js +2 -2
  401. package/dist/esm/nano-algolia.entry.js +8 -8
  402. package/dist/esm/nano-algolia.entry.js.map +1 -1
  403. package/dist/esm/nano-aspect-ratio.entry.js +1 -1
  404. package/dist/esm/nano-checkbox-group.entry.js +52 -9
  405. package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
  406. package/dist/esm/nano-checkbox.entry.js +8 -8
  407. package/dist/esm/nano-checkbox.entry.js.map +1 -1
  408. package/dist/esm/nano-components.js +5 -4
  409. package/dist/esm/nano-components.js.map +1 -1
  410. package/dist/esm/nano-datalist_3.entry.js +46 -36
  411. package/dist/esm/nano-datalist_3.entry.js.map +1 -1
  412. package/dist/esm/nano-date-input.entry.js +6 -6
  413. package/dist/esm/nano-date-input.entry.js.map +1 -1
  414. package/dist/esm/nano-date-picker.entry.js +4 -4
  415. package/dist/esm/nano-date-picker.entry.js.map +1 -1
  416. package/dist/esm/nano-demo.entry.js +13 -9
  417. package/dist/esm/nano-demo.entry.js.map +1 -1
  418. package/dist/esm/nano-details.entry.js +4 -4
  419. package/dist/esm/nano-details.entry.js.map +1 -1
  420. package/dist/esm/nano-dialog.entry.js +6 -6
  421. package/dist/esm/nano-dialog.entry.js.map +1 -1
  422. package/dist/esm/nano-drawer.entry.js +5 -5
  423. package/dist/esm/nano-drawer.entry.js.map +1 -1
  424. package/dist/esm/nano-dropdown.entry.js +9 -4
  425. package/dist/esm/nano-dropdown.entry.js.map +1 -1
  426. package/dist/esm/nano-field-validator.entry.js +4 -3
  427. package/dist/esm/nano-field-validator.entry.js.map +1 -1
  428. package/dist/esm/nano-file-upload.entry.js +5 -5
  429. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  430. package/dist/esm/nano-global-nav-user-profile_3.entry.js +54 -67
  431. package/dist/esm/nano-global-nav-user-profile_3.entry.js.map +1 -1
  432. package/dist/esm/nano-global-nav.entry.js +55 -42
  433. package/dist/esm/nano-global-nav.entry.js.map +1 -1
  434. package/dist/esm/nano-global-search-results.entry.js +6 -4
  435. package/dist/esm/nano-global-search-results.entry.js.map +1 -1
  436. package/dist/esm/nano-grid_3.entry.js +8 -7
  437. package/dist/esm/nano-grid_3.entry.js.map +1 -1
  438. package/dist/esm/nano-hero.entry.js +4 -2
  439. package/dist/esm/nano-hero.entry.js.map +1 -1
  440. package/dist/esm/nano-icon-button.entry.js +2 -2
  441. package/dist/esm/nano-icon-button.entry.js.map +1 -1
  442. package/dist/esm/nano-icon.entry.js +7 -14
  443. package/dist/esm/nano-icon.entry.js.map +1 -1
  444. package/dist/esm/nano-input.entry.js +19 -33
  445. package/dist/esm/nano-input.entry.js.map +1 -1
  446. package/dist/esm/nano-menu-drawer.entry.js +3 -3
  447. package/dist/esm/nano-menu-drawer.entry.js.map +1 -1
  448. package/dist/esm/nano-progress-bar_2.entry.js +4 -4
  449. package/dist/esm/nano-progress-bar_2.entry.js.map +1 -1
  450. package/dist/esm/nano-range.entry.js +4 -4
  451. package/dist/esm/nano-range.entry.js.map +1 -1
  452. package/dist/esm/nano-rating.entry.js +2 -2
  453. package/dist/esm/nano-rating.entry.js.map +1 -1
  454. package/dist/esm/nano-resize-observe_2.entry.js +18 -10
  455. package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
  456. package/dist/esm/nano-slide.entry.js +1 -1
  457. package/dist/esm/nano-slides.entry.js +11 -21
  458. package/dist/esm/nano-slides.entry.js.map +1 -1
  459. package/dist/esm/nano-spinner.entry.js +3 -3
  460. package/dist/esm/nano-spinner.entry.js.map +1 -1
  461. package/dist/esm/nano-split-pane.entry.js +15 -13
  462. package/dist/esm/nano-split-pane.entry.js.map +1 -1
  463. package/dist/esm/nano-sticker.entry.js +6 -4
  464. package/dist/esm/nano-sticker.entry.js.map +1 -1
  465. package/dist/esm/nano-tab-content.entry.js +9 -3
  466. package/dist/esm/nano-tab-content.entry.js.map +1 -1
  467. package/dist/esm/nano-tab-group.entry.js +18 -12
  468. package/dist/esm/nano-tab-group.entry.js.map +1 -1
  469. package/dist/esm/nano-tab.entry.js +2 -2
  470. package/dist/esm/nano-tab.entry.js.map +1 -1
  471. package/dist/esm/{nano-table-38f3c797.js → nano-table-331a0cad.js} +115 -150
  472. package/dist/esm/nano-table-331a0cad.js.map +1 -0
  473. package/dist/esm/nano-table.entry.js +3 -3
  474. package/dist/esm/polyfills/css-shim.js +1 -1
  475. package/dist/esm/{popover-e748bb61.js → popover-02e6714d.js} +61 -50
  476. package/dist/esm/popover-02e6714d.js.map +1 -0
  477. package/dist/esm/{scroll-a1e59d8c.js → scroll-e5825d8d.js} +2 -2
  478. package/dist/esm/{scroll-a1e59d8c.js.map → scroll-e5825d8d.js.map} +1 -1
  479. package/dist/esm/{table.worker-e57fffd8.js → table.worker-682e581f.js} +4 -4
  480. package/dist/esm/table.worker-682e581f.js.map +1 -0
  481. package/dist/esm/{theme-931bd452.js → theme-82feb8cf.js} +2 -7
  482. package/dist/esm/theme-82feb8cf.js.map +1 -0
  483. package/dist/nano-components/index.esm.js +1 -1
  484. package/dist/nano-components/index.esm.js.map +1 -1
  485. package/dist/nano-components/nano-components.esm.js +1 -1
  486. package/dist/nano-components/nano-components.esm.js.map +1 -1
  487. package/dist/nano-components/p-014872f7.entry.js +5 -0
  488. package/dist/nano-components/p-014872f7.entry.js.map +1 -0
  489. package/dist/nano-components/{p-bd05b3aa.entry.js → p-01c1f47a.entry.js} +2 -2
  490. package/dist/nano-components/{p-bd05b3aa.entry.js.map → p-01c1f47a.entry.js.map} +1 -1
  491. package/dist/nano-components/{p-69e5a37d.entry.js → p-08c3ffaf.entry.js} +2 -2
  492. package/dist/nano-components/p-08c3ffaf.entry.js.map +1 -0
  493. package/dist/nano-components/p-0c3a5c44.entry.js +5 -0
  494. package/dist/nano-components/p-0c3a5c44.entry.js.map +1 -0
  495. package/dist/nano-components/p-0eaa9a08.entry.js +5 -0
  496. package/dist/nano-components/p-0eaa9a08.entry.js.map +1 -0
  497. package/dist/nano-components/p-0f7c19fc.entry.js +5 -0
  498. package/dist/nano-components/p-0f7c19fc.entry.js.map +1 -0
  499. package/dist/nano-components/p-12beee2b.entry.js +5 -0
  500. package/dist/nano-components/p-12beee2b.entry.js.map +1 -0
  501. package/dist/nano-components/p-1416c06b.entry.js +5 -0
  502. package/dist/nano-components/p-1416c06b.entry.js.map +1 -0
  503. package/dist/nano-components/p-14b7f2c7.entry.js +5 -0
  504. package/dist/nano-components/p-14b7f2c7.entry.js.map +1 -0
  505. package/dist/nano-components/p-167b9165.js.map +1 -1
  506. package/dist/nano-components/p-1d0194af.entry.js +5 -0
  507. package/dist/nano-components/p-1d0194af.entry.js.map +1 -0
  508. package/dist/nano-components/{p-1e709f87.entry.js → p-2113cc09.entry.js} +2 -2
  509. package/dist/nano-components/p-2113cc09.entry.js.map +1 -0
  510. package/dist/nano-components/p-2155fc2c.js.map +1 -1
  511. package/dist/nano-components/p-257432ff.js +5 -0
  512. package/dist/nano-components/p-257432ff.js.map +1 -0
  513. package/dist/nano-components/p-28874fdc.entry.js +5 -0
  514. package/dist/nano-components/p-28874fdc.entry.js.map +1 -0
  515. package/dist/nano-components/{p-b40eedcb.entry.js → p-34df2f17.entry.js} +2 -2
  516. package/dist/nano-components/p-34df2f17.entry.js.map +1 -0
  517. package/dist/nano-components/{p-1a8e60c4.entry.js → p-362d6a04.entry.js} +2 -2
  518. package/dist/nano-components/p-362d6a04.entry.js.map +1 -0
  519. package/dist/nano-components/p-38268f3c.entry.js +5 -0
  520. package/dist/nano-components/p-38268f3c.entry.js.map +1 -0
  521. package/dist/nano-components/p-411bb8f1.js +5 -0
  522. package/dist/nano-components/p-411bb8f1.js.map +1 -0
  523. package/dist/nano-components/p-41f33a56.entry.js +5 -0
  524. package/dist/nano-components/p-41f33a56.entry.js.map +1 -0
  525. package/dist/nano-components/p-45abbbdd.js.map +1 -1
  526. package/dist/nano-components/{p-885b6950.js → p-45b7682a.js} +2 -2
  527. package/dist/nano-components/p-45b7682a.js.map +1 -0
  528. package/dist/nano-components/{p-a2d0d7b9.entry.js → p-4971a1f1.entry.js} +2 -2
  529. package/dist/nano-components/p-4971a1f1.entry.js.map +1 -0
  530. package/dist/nano-components/p-4b12ba50.entry.js +5 -0
  531. package/dist/nano-components/p-4b12ba50.entry.js.map +1 -0
  532. package/dist/nano-components/p-4db34382.entry.js +5 -0
  533. package/dist/nano-components/p-4db34382.entry.js.map +1 -0
  534. package/dist/nano-components/p-51bc8b59.js +5 -0
  535. package/dist/nano-components/p-51bc8b59.js.map +1 -0
  536. package/dist/nano-components/p-533db8ad.entry.js +5 -0
  537. package/dist/nano-components/p-533db8ad.entry.js.map +1 -0
  538. package/dist/nano-components/p-578cc92e.entry.js +5 -0
  539. package/dist/nano-components/p-578cc92e.entry.js.map +1 -0
  540. package/dist/nano-components/p-5ec7263c.js +5 -0
  541. package/dist/nano-components/p-5ec7263c.js.map +1 -0
  542. package/dist/nano-components/p-61e22cad.entry.js +5 -0
  543. package/dist/nano-components/p-61e22cad.entry.js.map +1 -0
  544. package/dist/nano-components/{p-447a5910.entry.js → p-63811de1.entry.js} +2 -2
  545. package/dist/nano-components/p-63811de1.entry.js.map +1 -0
  546. package/dist/nano-components/p-67195231.js +5 -0
  547. package/dist/nano-components/p-67195231.js.map +1 -0
  548. package/dist/nano-components/p-69a3e911.js.map +1 -1
  549. package/dist/nano-components/p-6a2c2a7c.entry.js +5 -0
  550. package/dist/nano-components/p-6a2c2a7c.entry.js.map +1 -0
  551. package/dist/nano-components/p-70e718fe.entry.js +5 -0
  552. package/dist/nano-components/p-70e718fe.entry.js.map +1 -0
  553. package/dist/nano-components/{p-dba8a88d.entry.js → p-71e545fe.entry.js} +2 -2
  554. package/dist/nano-components/p-71e545fe.entry.js.map +1 -0
  555. package/dist/nano-components/p-73fc0adc.entry.js +5 -0
  556. package/dist/nano-components/p-73fc0adc.entry.js.map +1 -0
  557. package/dist/nano-components/p-74a7fc4f.js.map +1 -1
  558. package/dist/nano-components/p-7c23e950.js +5 -0
  559. package/dist/nano-components/p-7c23e950.js.map +1 -0
  560. package/dist/nano-components/p-80e42c89.entry.js +5 -0
  561. package/dist/nano-components/p-80e42c89.entry.js.map +1 -0
  562. package/dist/nano-components/p-8a4f6a46.js +5 -0
  563. package/dist/nano-components/p-8a4f6a46.js.map +1 -0
  564. package/dist/nano-components/{p-651b3264.js → p-8e39d4ee.js} +2 -2
  565. package/dist/nano-components/p-8e39d4ee.js.map +1 -0
  566. package/dist/nano-components/p-91f23170.entry.js +5 -0
  567. package/dist/nano-components/p-91f23170.entry.js.map +1 -0
  568. package/dist/nano-components/p-9746b0a5.js.map +1 -1
  569. package/dist/nano-components/p-9c57b61b.entry.js +5 -0
  570. package/dist/nano-components/p-9c57b61b.entry.js.map +1 -0
  571. package/dist/nano-components/p-a8db13db.entry.js +5 -0
  572. package/dist/nano-components/p-a8db13db.entry.js.map +1 -0
  573. package/dist/nano-components/p-ae2ce39b.entry.js +5 -0
  574. package/dist/nano-components/p-ae2ce39b.entry.js.map +1 -0
  575. package/dist/nano-components/p-b11c89f6.entry.js +5 -0
  576. package/dist/nano-components/p-b11c89f6.entry.js.map +1 -0
  577. package/dist/nano-components/p-b8abd6a1.js +5 -0
  578. package/dist/nano-components/p-b8abd6a1.js.map +1 -0
  579. package/dist/nano-components/p-b933f3c8.js.map +1 -1
  580. package/dist/nano-components/{p-2828788c.js → p-bb07c3d0.js} +2 -2
  581. package/dist/nano-components/p-bb07c3d0.js.map +1 -0
  582. package/dist/nano-components/{p-3f25fc76.entry.js → p-bd1ff3a4.entry.js} +2 -2
  583. package/dist/nano-components/p-bd1ff3a4.entry.js.map +1 -0
  584. package/dist/nano-components/{p-151aad1e.entry.js → p-c12042c7.entry.js} +4 -4
  585. package/dist/nano-components/p-c12042c7.entry.js.map +1 -0
  586. package/dist/nano-components/p-cecb9af1.js.map +1 -1
  587. package/dist/nano-components/p-cf0ce679.entry.js +5 -0
  588. package/dist/nano-components/p-cf0ce679.entry.js.map +1 -0
  589. package/dist/nano-components/p-d49c5b2b.entry.js +5 -0
  590. package/dist/nano-components/p-d49c5b2b.entry.js.map +1 -0
  591. package/dist/nano-components/p-d4f6ec9f.js +5 -0
  592. package/dist/nano-components/p-d4f6ec9f.js.map +1 -0
  593. package/dist/nano-components/p-dc785fb7.entry.js +5 -0
  594. package/dist/nano-components/p-dc785fb7.entry.js.map +1 -0
  595. package/dist/nano-components/p-de72a35c.entry.js +5 -0
  596. package/dist/nano-components/p-de72a35c.entry.js.map +1 -0
  597. package/dist/nano-components/{p-c9a7c7ea.js → p-e04f2333.js} +2 -2
  598. package/dist/nano-components/p-e04f2333.js.map +1 -0
  599. package/dist/nano-components/p-e460753c.entry.js +5 -0
  600. package/dist/nano-components/{p-41addb3a.entry.js.map → p-e460753c.entry.js.map} +1 -1
  601. package/dist/nano-components/{p-a0b93616.js → p-ed6adde2.js} +3 -3
  602. package/dist/nano-components/p-ed6adde2.js.map +1 -0
  603. package/dist/nano-components/p-ee045579.js.map +1 -1
  604. package/dist/nano-components/p-f6d105c2.entry.js +5 -0
  605. package/dist/nano-components/p-f6d105c2.entry.js.map +1 -0
  606. package/dist/nano-components/p-f84612d4.js +6 -0
  607. package/dist/nano-components/p-f84612d4.js.map +1 -0
  608. package/dist/nano-components/p-f8f89998.js.map +1 -1
  609. package/dist/nano-components/p-f9d45db1.entry.js +5 -0
  610. package/dist/nano-components/p-f9d45db1.entry.js.map +1 -0
  611. package/dist/themes/london-calling.css +1 -1
  612. package/dist/themes/london-calling.css.map +1 -1
  613. package/dist/themes/nanopore.css +1 -1
  614. package/dist/themes/nanopore.css.map +1 -1
  615. package/dist/types/components/alert/alert-interface.d.ts +1 -1
  616. package/dist/types/components/algolia/algolia-input.d.ts +1 -1
  617. package/dist/types/components/algolia/algolia.d.ts +2 -2
  618. package/dist/types/components/checkbox/checkbox-group.d.ts +11 -0
  619. package/dist/types/components/date-picker/date-picker-interface.d.ts +2 -2
  620. package/dist/types/components/date-picker/duet-date-picker/date-adapter.d.ts +3 -3
  621. package/dist/types/components/date-picker/duet-date-picker/date-localization.d.ts +3 -3
  622. package/dist/types/components/date-picker/duet-date-picker/date-picker-day.d.ts +1 -1
  623. package/dist/types/components/date-picker/duet-date-picker/date-picker-month.d.ts +1 -1
  624. package/dist/types/components/field-validator/field-validator-interface.d.ts +4 -4
  625. package/dist/types/components/file-upload/file-upload.d.ts +1 -1
  626. package/dist/types/components/global-nav/global-nav.d.ts +12 -6
  627. package/dist/types/components/icon/icon.d.ts +3 -3
  628. package/dist/types/components/menu/menu.d.ts +1 -1
  629. package/dist/types/components/nav-item/nav-item.d.ts +1 -1
  630. package/dist/types/components/range/range-interface.d.ts +2 -2
  631. package/dist/types/components/resize-observe/resize-observe.d.ts +1 -0
  632. package/dist/types/components/slides/slides-interface.d.ts +2 -2
  633. package/dist/types/components/slides/slides.d.ts +0 -2
  634. package/dist/types/components/table/table.cell.d.ts +1 -1
  635. package/dist/types/components/table/table.d.ts +9 -14
  636. package/dist/types/components/table/table.header.d.ts +1 -1
  637. package/dist/types/components/table/table.row.d.ts +2 -2
  638. package/dist/types/components/table/table.utils.d.ts +2 -1
  639. package/dist/types/components/tabs/tab-content.d.ts +2 -0
  640. package/dist/types/components.d.ts +829 -9
  641. package/dist/types/index.d.ts +5 -0
  642. package/dist/types/stencil-public-runtime.d.ts +48 -3
  643. package/dist/types/utils/dom.d.ts +9 -0
  644. package/dist/types/utils/gesture/index.d.ts +1 -1
  645. package/dist/types/utils/popover.d.ts +1 -1
  646. package/dist/types/utils/store/component-store.d.ts +2 -2
  647. package/dist/types/utils/testing/index.d.ts +1 -1
  648. package/docs-json.json +89 -50
  649. package/docs-vscode.json +8 -4
  650. package/hydrate/index.d.ts +853 -0
  651. package/{dist/custom-elements → hydrate}/index.js +11477 -7967
  652. package/hydrate/package.json +6 -0
  653. package/loader/index.d.ts +9 -0
  654. package/package.json +23 -15
  655. package/dist/cjs/component-store-d7c8c326.js.map +0 -1
  656. package/dist/cjs/dom-d7c33f11.js.map +0 -1
  657. package/dist/cjs/form-control-57c71246.js.map +0 -1
  658. package/dist/cjs/global-989678ec.js.map +0 -1
  659. package/dist/cjs/index-41582c2a.js.map +0 -1
  660. package/dist/cjs/index-75b61776.js +0 -1077
  661. package/dist/cjs/index-75b61776.js.map +0 -1
  662. package/dist/cjs/index-ece1cb9e.js.map +0 -1
  663. package/dist/cjs/modal-e4defcc3.js.map +0 -1
  664. package/dist/cjs/nano-table-56eb29c1.js.map +0 -1
  665. package/dist/cjs/popover-508bcedb.js.map +0 -1
  666. package/dist/cjs/table.worker-b1c53001.js.map +0 -1
  667. package/dist/cjs/theme-50275e1a.js.map +0 -1
  668. package/dist/components/index4.js.map +0 -1
  669. package/dist/custom-elements/index.d.ts +0 -339
  670. package/dist/custom-elements/index.js.map +0 -1
  671. package/dist/esm/component-store-ec512820.js.map +0 -1
  672. package/dist/esm/dom-d3ad49e2.js.map +0 -1
  673. package/dist/esm/form-control-84bac7a2.js.map +0 -1
  674. package/dist/esm/global-8047b4ff.js.map +0 -1
  675. package/dist/esm/index-3bbaffe4.js +0 -1075
  676. package/dist/esm/index-3bbaffe4.js.map +0 -1
  677. package/dist/esm/index-3c280603.js.map +0 -1
  678. package/dist/esm/index-dc076ea6.js +0 -649
  679. package/dist/esm/index-dc076ea6.js.map +0 -1
  680. package/dist/esm/modal-5c9ce466.js.map +0 -1
  681. package/dist/esm/nano-table-38f3c797.js.map +0 -1
  682. package/dist/esm/popover-e748bb61.js.map +0 -1
  683. package/dist/esm/table.worker-e57fffd8.js.map +0 -1
  684. package/dist/esm/theme-931bd452.js.map +0 -1
  685. package/dist/nano-components/p-0b29b22c.js +0 -5
  686. package/dist/nano-components/p-0b29b22c.js.map +0 -1
  687. package/dist/nano-components/p-135fed16.entry.js +0 -5
  688. package/dist/nano-components/p-135fed16.entry.js.map +0 -1
  689. package/dist/nano-components/p-151aad1e.entry.js.map +0 -1
  690. package/dist/nano-components/p-15543295.entry.js +0 -5
  691. package/dist/nano-components/p-15543295.entry.js.map +0 -1
  692. package/dist/nano-components/p-1a8e60c4.entry.js.map +0 -1
  693. package/dist/nano-components/p-1e709f87.entry.js.map +0 -1
  694. package/dist/nano-components/p-1f347342.entry.js +0 -5
  695. package/dist/nano-components/p-1f347342.entry.js.map +0 -1
  696. package/dist/nano-components/p-1fe12320.js +0 -6
  697. package/dist/nano-components/p-1fe12320.js.map +0 -1
  698. package/dist/nano-components/p-23575705.entry.js +0 -5
  699. package/dist/nano-components/p-23575705.entry.js.map +0 -1
  700. package/dist/nano-components/p-2828788c.js.map +0 -1
  701. package/dist/nano-components/p-284dd9a2.entry.js +0 -5
  702. package/dist/nano-components/p-284dd9a2.entry.js.map +0 -1
  703. package/dist/nano-components/p-2a97ef51.entry.js +0 -5
  704. package/dist/nano-components/p-2a97ef51.entry.js.map +0 -1
  705. package/dist/nano-components/p-36842a50.entry.js +0 -5
  706. package/dist/nano-components/p-36842a50.entry.js.map +0 -1
  707. package/dist/nano-components/p-3a1026d1.entry.js +0 -5
  708. package/dist/nano-components/p-3a1026d1.entry.js.map +0 -1
  709. package/dist/nano-components/p-3f25fc76.entry.js.map +0 -1
  710. package/dist/nano-components/p-41addb3a.entry.js +0 -5
  711. package/dist/nano-components/p-447a5910.entry.js.map +0 -1
  712. package/dist/nano-components/p-4b69178e.entry.js +0 -5
  713. package/dist/nano-components/p-4b69178e.entry.js.map +0 -1
  714. package/dist/nano-components/p-559a6492.entry.js +0 -5
  715. package/dist/nano-components/p-559a6492.entry.js.map +0 -1
  716. package/dist/nano-components/p-5d149792.entry.js +0 -5
  717. package/dist/nano-components/p-5d149792.entry.js.map +0 -1
  718. package/dist/nano-components/p-63834d50.js +0 -5
  719. package/dist/nano-components/p-63834d50.js.map +0 -1
  720. package/dist/nano-components/p-651b3264.js.map +0 -1
  721. package/dist/nano-components/p-69e5a37d.entry.js.map +0 -1
  722. package/dist/nano-components/p-6ad194e4.entry.js +0 -5
  723. package/dist/nano-components/p-6ad194e4.entry.js.map +0 -1
  724. package/dist/nano-components/p-6cb77d5c.entry.js +0 -5
  725. package/dist/nano-components/p-6cb77d5c.entry.js.map +0 -1
  726. package/dist/nano-components/p-77cad8d1.js +0 -5
  727. package/dist/nano-components/p-77cad8d1.js.map +0 -1
  728. package/dist/nano-components/p-793588d1.js +0 -5
  729. package/dist/nano-components/p-793588d1.js.map +0 -1
  730. package/dist/nano-components/p-7b3638b7.js +0 -5
  731. package/dist/nano-components/p-7b3638b7.js.map +0 -1
  732. package/dist/nano-components/p-807c2e92.entry.js +0 -5
  733. package/dist/nano-components/p-807c2e92.entry.js.map +0 -1
  734. package/dist/nano-components/p-845ae77e.js +0 -5
  735. package/dist/nano-components/p-845ae77e.js.map +0 -1
  736. package/dist/nano-components/p-885b6950.js.map +0 -1
  737. package/dist/nano-components/p-8d747891.js +0 -5
  738. package/dist/nano-components/p-8d747891.js.map +0 -1
  739. package/dist/nano-components/p-9059c8c1.entry.js +0 -5
  740. package/dist/nano-components/p-9059c8c1.entry.js.map +0 -1
  741. package/dist/nano-components/p-92504f7f.entry.js +0 -5
  742. package/dist/nano-components/p-92504f7f.entry.js.map +0 -1
  743. package/dist/nano-components/p-99fbae74.entry.js +0 -5
  744. package/dist/nano-components/p-99fbae74.entry.js.map +0 -1
  745. package/dist/nano-components/p-9a4297e1.entry.js +0 -5
  746. package/dist/nano-components/p-9a4297e1.entry.js.map +0 -1
  747. package/dist/nano-components/p-9eeed8f5.entry.js +0 -5
  748. package/dist/nano-components/p-9eeed8f5.entry.js.map +0 -1
  749. package/dist/nano-components/p-a0b93616.js.map +0 -1
  750. package/dist/nano-components/p-a183e3c7.entry.js +0 -5
  751. package/dist/nano-components/p-a183e3c7.entry.js.map +0 -1
  752. package/dist/nano-components/p-a2d0d7b9.entry.js.map +0 -1
  753. package/dist/nano-components/p-b25e79b8.entry.js +0 -5
  754. package/dist/nano-components/p-b25e79b8.entry.js.map +0 -1
  755. package/dist/nano-components/p-b40eedcb.entry.js.map +0 -1
  756. package/dist/nano-components/p-b55ffa92.entry.js +0 -5
  757. package/dist/nano-components/p-b55ffa92.entry.js.map +0 -1
  758. package/dist/nano-components/p-b87539f0.entry.js +0 -5
  759. package/dist/nano-components/p-b87539f0.entry.js.map +0 -1
  760. package/dist/nano-components/p-ba9cd047.entry.js +0 -5
  761. package/dist/nano-components/p-ba9cd047.entry.js.map +0 -1
  762. package/dist/nano-components/p-c9a7c7ea.js.map +0 -1
  763. package/dist/nano-components/p-cc5e7acb.entry.js +0 -5
  764. package/dist/nano-components/p-cc5e7acb.entry.js.map +0 -1
  765. package/dist/nano-components/p-d26b97d1.js +0 -5
  766. package/dist/nano-components/p-d26b97d1.js.map +0 -1
  767. package/dist/nano-components/p-d5303933.entry.js +0 -5
  768. package/dist/nano-components/p-d5303933.entry.js.map +0 -1
  769. package/dist/nano-components/p-d565991d.entry.js +0 -5
  770. package/dist/nano-components/p-d565991d.entry.js.map +0 -1
  771. package/dist/nano-components/p-dba8a88d.entry.js.map +0 -1
  772. package/dist/nano-components/p-dc50b93c.entry.js +0 -5
  773. package/dist/nano-components/p-dc50b93c.entry.js.map +0 -1
  774. package/dist/nano-components/p-e3860f00.js +0 -5
  775. package/dist/nano-components/p-e3860f00.js.map +0 -1
  776. package/dist/nano-components/p-e5408bc8.entry.js +0 -5
  777. package/dist/nano-components/p-e5408bc8.entry.js.map +0 -1
  778. package/dist/nano-components/p-ea2de992.js +0 -19
  779. package/dist/nano-components/p-ea2de992.js.map +0 -1
  780. package/dist/nano-components/p-f7471cca.entry.js +0 -5
  781. package/dist/nano-components/p-f7471cca.entry.js.map +0 -1
  782. package/dist/nano-components/p-fe94eeff.entry.js +0 -5
  783. package/dist/nano-components/p-fe94eeff.entry.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["datalistCss","findLabel","formCtrl","foundLabel","id","document","querySelector","closest","listIds","DataList","allOptEles","this","_allOptEles","opts","_a","connectedInput","value","forEach","opt","selected","includes","changeInputValue","constructor","hostRef","isNanoInput","typeToSelect","listId","isFiltered","shouldFocus","_dropDownConfig","skidding","optSelected","e","stopPropagation","detail","requestAnimationFrame","inputChange","type","shouldOpen","handleShow","async","listBox","setFocus","showActiveElement","handleHide","open","activeElement","getActiveElement","host","tagName","toLowerCase","select","inputClick","manageDropdownDisplay","inputKeydown","ignoreKeys","key","typeToSelectTimeout","test","clearTimeout","window","setTimeout","setOptStartsWith","preventDefault","optionKeyDown","focus","deleteKeys","exactMatch","debounce","bind","dropDownConfig","ddc","Object","assign","activeOptions","openWatcher","writeTask","nanoDropdown","setAttribute","toString","nanoInput","getInputElement","input","manageSlotChangeListener","options","length","mo","MutationObserver","processSlottedContent","observe","childList","subtree","disconnect","undefined","previousOptions","querySelectorAll","internalOpt","remove","flatMap","option","i","label","createElement","ariaPosinset","ariaSetsize","textContent","slot","append","actvOptEles","watchTypeChange","dwConfig","closeOnSelect","autocompleteType","readonly","placement","tetherTo","readOnly","manageInputEvents","newInput","oldInput","removeEventListener","inputLabel","removeAttribute","addEventListener","labels","item","watchActvOptChange","c","val","optIds","hidden","isSelected","push","optionIds","manageCanOpen","hasNoResult","canOpen","disabled","fireActiveOptsEvent","nanoOptionsUpdated","emit","dropwdownOpen","find","nanoSelected","filter","nanoDeselect","nanoSelect","defaultPrevented","event","Event","dispatchEvent","attrFind","toFind","substring","foundEle","trim","filterMeta","Array","from","disableFilter","valStr","activeEles","indexOf","connectedCallback","watchInputChange","componentDidLoad","componentDidRender","console","warn","render","h","Host","role","join","ref","el","dialogTitle","class","dlist__dropdown","onNanoAfterShow","onNanoAfterHide","dlist__menu","tabIndex","onNanoSelect","onKeyDown","name","menuCss","Menu","ignoreMouseEvents","_hasFocus","handleFocus","setActiveFocusItem","selectedItem","getItems","nanoFocus","handleClick","target","handleKeyDown","ignoreMouseTimeout","activeItem","click","items","index","scrollIntoView","block","shadowRoot","getTextContent","handleMouseOver","hasFocus","menu","preventScroll","blur","map","opened","ctx","getDirectChildren","getAttribute","classList","contains","handleBlur","kev","found","composedPath","resetActiveItem","nanoBlur","onClick","onMouseOver","onFocus","part","optionCss","Option","optId","valueChanged","labelContent","labelChanged","componentWillLoad","onMouseDown"],"sources":["./src/components/datalist/datalist.scss?tag=nano-datalist&encapsulation=shadow","./src/components/datalist/datalist.tsx","./src/components/menu/menu.scss?tag=nano-menu&encapsulation=shadow","./src/components/menu/menu.tsx","./src/components/option/option.scss?tag=nano-option&encapsulation=shadow","./src/components/option/option.tsx"],"sourcesContent":["@use 'sass:map';\n@use 'sass:list';\n\n@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n@import '../../global/style/nano-theme/base';\n@import '../../global/style/nano-theme/layers';\n\n:host {\n /**\n * @prop --padding-top: for all nested `nano-option` elements. Defaults to #{$spacing-small};\n * @prop --padding-bottom: for all nested `nano-option` elements. Defaults to #{$spacing-small};\n * @prop --padding-start: for all nested `nano-option` elements. Defaults to #{$spacing-xlarge};\n * @prop --padding-end: for all nested `nano-option` elements. Defaults to #{$spacing-xlarge};\n * @prop --font-size: for all nested `nano-option` elements. Defaults to .8em;\n * @prop --color: default text color of content other than `nano-option`. Defaults to #{map.get($colors, palegrey)};\n */\n\n --padding-top: #{$spacing-small};\n --padding-bottom: #{$spacing-small};\n --padding-start: #{$spacing-xlarge};\n --padding-end: #{$spacing-xlarge};\n --font-size: 0.8em;\n --color: #{map.get($colors, palegrey)};\n\n color: var(--color);\n}\n\n.dlist {\n &--isfiltered {\n ::slotted(*:not(nano-option):not([slot='no-result']):not([slot='list-top']):not([slot='list-bottom'])) {\n display: none !important;\n }\n }\n\n &__dropdown {\n --min-width: 100%;\n --overflow: auto;\n }\n\n &__status {\n @include visually-hide();\n }\n\n &__menu {\n --padding-top: inherit;\n --padding-bottom: inherit;\n --padding-start: inherit;\n --padding-end: inherit;\n --font-size: inherit;\n }\n}\n","import {\n Component,\n ComponentInterface,\n h,\n Host,\n Element,\n State,\n Watch,\n Prop,\n Event,\n writeTask,\n Build,\n EventEmitter,\n} from '@stencil/core';\nimport { getActiveElement } from '../../utils/active-element';\nimport { debounce } from '../../utils/throttle';\nimport type { NanoMenuCustomEvent, OptionInterface } from '../../interface';\nimport type { Dropdown } from '../dropdown/dropdown';\n\nfunction findLabel(formCtrl: Element) {\n let foundLabel: HTMLLabelElement;\n\n if (formCtrl.id) {\n foundLabel = document.querySelector(`label[for='${formCtrl.id}']`);\n }\n if (!foundLabel) {\n foundLabel = formCtrl.closest('label');\n }\n return foundLabel;\n}\n\nlet listIds = 0;\n\n/**\n * `nano-datalist` a visually consistent and more flexible replacement for a native\n * [datalist](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/datalist). Can be nested within a `nano-input`\n * or linked to any input control via the `input` prop. Is used internally within `nano-select`.\n * Options can be defined declaratively by nesting `<nano-option>` elements or imperatively using the `options` prop\n *\n * @slot - use `<nano-option>` elements for more complex html. Alternatively use the `options` prop\n * @slot list-top - shows at the top of the list when there are options present\n * @slot list-bottom - shows at the bottom of the list when there are options present\n * @slot no-result - shown when there are no results otherwise nothing will be shown\n */\n@Component({\n tag: 'nano-datalist',\n styleUrl: 'datalist.scss',\n shadow: true,\n})\nexport class DataList implements ComponentInterface {\n // Private State\n\n private isNanoInput = false;\n private typeToSelect = '';\n private typeToSelectTimeout: number;\n private nanoDropdown: HTMLNanoDropdownElement;\n private listBox: HTMLNanoMenuElement;\n private mo?: MutationObserver;\n private listId = `nano-datalist-${listIds++}`;\n private isFiltered = false;\n private shouldFocus = false;\n // all potential option eles. Set via slot or `options` prop.\n // Some may get hidden due to filtering\n private get allOptEles() {\n return this._allOptEles;\n }\n private set allOptEles(opts) {\n // when allOptEles are initially set (on slot change / options) -\n // add options to 'selected' and fire selected event *if*\n // value isn't set on the input\n this._allOptEles = opts;\n if (this.connectedInput?.value) return;\n\n opts.forEach((opt) => {\n if (opt.selected && !this.selected.includes(opt.value)) {\n this.changeInputValue(opt);\n }\n });\n }\n private _allOptEles: HTMLNanoOptionElement[] = [];\n\n @Element() host: HTMLNanoDatalistElement;\n\n // active option eles that are not hidden.\n @State() actvOptEles: HTMLNanoOptionElement[] = [];\n @State() connectedInput: HTMLInputElement | HTMLTextAreaElement;\n @State() inputLabel: HTMLLabelElement;\n @State() hasNoResult: boolean;\n @State() shouldOpen: boolean;\n @State() canOpen: boolean = true;\n @State() optionIds: string[] = [];\n\n constructor() {\n this.inputChange = debounce(this.inputChange.bind(this), 50);\n }\n\n // Public API\n\n /** By default, items in the list will appear 'selected' when the value in the linked input control matches.\n * However you can add other selected options via the the selected prop. */\n @Prop({ mutable: true }) selected: string[] = [];\n\n /** nano-dropdown config options you can pass to the nested dropdown component */\n @Prop()\n get dropDownConfig() {\n return this._dropDownConfig;\n }\n set dropDownConfig(ddc: Partial<Dropdown>) {\n this._dropDownConfig = { ...this._dropDownConfig, ...ddc };\n }\n private _dropDownConfig: Partial<Dropdown> = {\n skidding: -1,\n };\n\n /** Provide an option list.\n * Options can be defined declaratively by nesting `<nano-option>` elements or imperatively using this prop */\n @Prop() options?: OptionInterface[] = [];\n\n /** A selector to a HTMLInputElement */\n @Prop() input?: string | HTMLInputElement;\n\n /** Tweaks the datalist behaviour and linked control semantics and behaviour.\n * e.g. 'select' will make the linked input control `readonly`.\n */\n @Prop() type: 'select' | 'selctMulti' | 'input' = 'input';\n\n /** return all the active options currently within the datalist. Can be useful for validation */\n @Prop()\n get activeOptions() {\n return this.allOptEles;\n }\n\n /** Force datalist open */\n @Prop({ mutable: true }) open: boolean = false;\n\n @Watch('open')\n openWatcher() {\n writeTask(() => {\n this.nanoDropdown.open = this.open;\n if (this.connectedInput)\n this.connectedInput.setAttribute('aria-expanded', this.open.toString());\n });\n }\n\n /** Use this option to disable to default filtering. This is useful if filtering happens\n * externally via another method (e.g. via ajax)\n */\n @Prop() disableFilter = false;\n\n /** Activate / deactivate the datalist control */\n @Prop() disabled = false;\n\n // State change watchers\n\n @Watch('input')\n async watchInputChange() {\n let nanoInput;\n if ((nanoInput = this.host.closest('nano-input'))) {\n this.isNanoInput = true;\n this.connectedInput = await nanoInput.getInputElement();\n } else if (\n this.input &&\n typeof this.input === 'string' &&\n (nanoInput = document.querySelector(this.input))\n ) {\n this.isNanoInput = false;\n this.connectedInput = nanoInput;\n } else if (typeof this.input === 'object') {\n this.connectedInput = this.input;\n }\n }\n\n @Watch('options')\n manageSlotChangeListener() {\n if (!this.host) return;\n\n // we're not using `options` - setup new MO\n if ((!this.options || !this.options.length) && !this.mo) {\n if (Build.isBrowser) {\n const mo = (this.mo = new MutationObserver(() =>\n this.processSlottedContent()\n ));\n mo.observe(this.host, { childList: true, subtree: true });\n }\n this.processSlottedContent();\n return;\n }\n\n // we're using `options` - trash current MO\n if (this.options?.length) {\n if (!!this.mo) {\n this.mo.disconnect();\n this.mo = undefined;\n }\n\n const previousOptions = this.host.querySelectorAll(\n '[slot=\"internal-opts\"]'\n );\n\n // add imperative `options`\n writeTask(() => {\n // clear all previous\n if (previousOptions?.length)\n previousOptions.forEach((internalOpt) => internalOpt.remove());\n\n this.allOptEles = this.options.flatMap((option, i) => {\n if (option.value || option.label) {\n const opt = Object.assign(document.createElement('nano-option'), {\n label: option.label,\n value: option.value,\n ariaPosinset: i,\n ariaSetsize: this.options.length,\n selected: option.selected,\n id: this.listId + '-option-' + i,\n textContent: option.label ? option.label : option.value,\n slot: 'internal-opts',\n });\n this.host.append(opt);\n return opt;\n }\n });\n\n if (this.connectedInput?.value.length && this.type !== 'select') {\n this.inputChange();\n } else {\n this.actvOptEles = [...this.allOptEles];\n }\n });\n }\n // forceUpdate(this.host);\n }\n\n @Watch('type')\n @Watch('connectedInput')\n watchTypeChange() {\n if (!this.connectedInput) return;\n\n let dwConfig: Partial<Dropdown> = { closeOnSelect: false };\n let autocompleteType: 'list' | 'both' = 'both';\n let readonly = false;\n\n switch (this.type) {\n case 'input':\n dwConfig = { closeOnSelect: true };\n break;\n case 'select':\n autocompleteType = 'list';\n readonly = true;\n dwConfig = { closeOnSelect: true, placement: 'center' };\n break;\n }\n\n if (!this.isNanoInput) {\n dwConfig.tetherTo = this.connectedInput;\n }\n\n this.dropDownConfig = { ...this.dropDownConfig, ...dwConfig };\n this.connectedInput.setAttribute('aria-autocomplete', autocompleteType);\n this.connectedInput.readOnly = readonly;\n }\n\n @Watch('connectedInput')\n manageInputEvents(newInput?: HTMLInputElement, oldInput?: HTMLInputElement) {\n if (!!oldInput) {\n const nanoInput = oldInput.closest('nano-input');\n if (nanoInput) {\n nanoInput.removeEventListener('nanoChange', this.inputChange);\n }\n oldInput.removeEventListener('change', this.inputChange);\n oldInput.removeEventListener('click', this.inputClick);\n oldInput.removeEventListener('keydown', this.inputKeydown);\n oldInput.removeEventListener('input', this.inputChange);\n\n this.inputLabel = null;\n\n writeTask(() => {\n oldInput.removeAttribute('role');\n oldInput.removeAttribute('aria-expanded');\n oldInput.removeAttribute('aria-controls');\n oldInput.removeAttribute('aria-owns');\n oldInput.removeAttribute('aria-haspopup');\n oldInput.removeAttribute('aria-autocomplete');\n oldInput.removeAttribute('autocomplete');\n });\n }\n if (!!newInput) {\n const nanoInput = newInput.closest('nano-input');\n if (nanoInput) {\n nanoInput.addEventListener('nanoChange', this.inputChange);\n }\n newInput.addEventListener('change', this.inputChange);\n newInput.addEventListener('click', this.inputClick);\n newInput.addEventListener('keydown', this.inputKeydown);\n newInput.addEventListener('input', this.inputChange);\n this.listId = this.host.id || this.listId;\n\n this.inputLabel = newInput?.labels?.item(0) || findLabel(newInput);\n\n writeTask(() => {\n this.host.id = this.listId;\n newInput.setAttribute('role', 'combobox');\n newInput.setAttribute('aria-expanded', 'false');\n newInput.setAttribute('aria-controls', this.listId);\n newInput.setAttribute('aria-owns', this.listId);\n newInput.setAttribute('aria-haspopup', 'listbox');\n newInput.setAttribute('autocomplete', 'off');\n });\n }\n }\n\n @Watch('selected')\n @Watch('actvOptEles')\n watchActvOptChange() {\n let c = 0;\n const val = this.connectedInput?.value || '';\n const optIds = [];\n\n writeTask(() => {\n this.allOptEles.forEach((opt, i) => {\n if (this.actvOptEles.includes(opt)) {\n c++;\n opt.setAttribute('aria-posinset', c + '');\n opt.setAttribute('aria-setsize', this.actvOptEles.length + '');\n opt.hidden = false;\n this.isSelected(opt, val);\n } else {\n opt.removeAttribute('aria-posinset');\n opt.removeAttribute('aria-setsize');\n opt.hidden = true;\n opt.selected = false;\n }\n opt.id = this.listId + '-option-' + i;\n optIds.push(opt.id);\n });\n this.optionIds = optIds;\n });\n }\n\n @Watch('actvOptEles')\n @Watch('hasNoResult')\n manageCanOpen() {\n if (this.actvOptEles.length || this.hasNoResult) this.canOpen = true;\n else this.canOpen = false;\n }\n\n /**\n * Opens the dropdown if it can, it should and there are items to display.\n */\n @Watch('shouldOpen')\n @Watch('canOpen')\n manageDropdownDisplay() {\n if (this.shouldOpen && this.canOpen && !this.disabled) this.open = true;\n if (!this.shouldOpen || !this.canOpen) this.open = false;\n this.openWatcher();\n }\n\n @Watch('actvOptEles')\n fireActiveOptsEvent() {\n this.nanoOptionsUpdated.emit(this.actvOptEles);\n }\n\n // Events\n\n /** Fired when an item is selected. */\n @Event() nanoSelect: EventEmitter<HTMLNanoOptionElement>;\n\n /** Fired when a currently selected item is reselected. */\n @Event() nanoDeselect: EventEmitter<HTMLNanoOptionElement>;\n\n /** Fired when active options change */\n @Event() nanoOptionsUpdated: EventEmitter<HTMLNanoOptionElement[]>;\n\n // Private logic\n\n private isSelected(opt: HTMLNanoOptionElement, val: string) {\n if (val === opt.value || this.selected.includes(opt.value)) {\n opt.selected = true;\n } else opt.selected = false;\n }\n\n private get dropwdownOpen() {\n if (!this.nanoDropdown || !this.open) return false;\n return true;\n }\n\n private get exactMatch() {\n return this.allOptEles.find(\n (opt) => this.connectedInput.value === opt.value\n );\n }\n\n /** reflect value back to the connected input unless the event is cancelled */\n private changeInputValue(opt: HTMLNanoOptionElement) {\n let nanoSelected;\n\n if (this.selected.includes(opt.value)) {\n // deselect option\n this.selected = this.selected.filter((val) => val !== opt.value);\n nanoSelected = this.nanoDeselect.emit(opt);\n } else {\n // select new option\n this.selected = [...this.selected];\n nanoSelected = this.nanoSelect.emit(opt);\n }\n\n if (!nanoSelected.defaultPrevented) {\n if (this.connectedInput) this.connectedInput.value = opt.value;\n\n const event = new window.Event('change');\n this.connectedInput?.dispatchEvent(event);\n }\n }\n\n // a new option has been picked\n private optSelected = (e: NanoMenuCustomEvent<HTMLNanoOptionElement>) => {\n e.stopPropagation();\n this.changeInputValue(e.detail);\n requestAnimationFrame(() => this.inputChange());\n\n if (this.type !== 'selctMulti') this.shouldOpen = false;\n };\n\n // this is for type=\"select\" only.\n // Filter options that start with text - aggregates letters (as opposed to getting the value from input)\n private setOptStartsWith() {\n const attrFind = (toFind: string) =>\n toFind.toLowerCase().substring(0, this.typeToSelect.length) ===\n this.typeToSelect;\n\n const foundEle = this.allOptEles.find(\n (opt) =>\n opt.value.trim().length > 0 &&\n !opt.disabled &&\n (attrFind(opt.textContent) ||\n attrFind(opt.value) ||\n attrFind(opt.label) ||\n attrFind(opt.filterMeta))\n );\n if (foundEle) this.changeInputValue(foundEle);\n }\n\n // Event handlers\n\n private processSlottedContent() {\n requestAnimationFrame(() => {\n this.allOptEles = Array.from(this.host.querySelectorAll('nano-option'));\n this.hasNoResult = !!this.host.querySelector('[slot=\"no-result\"]');\n\n if (this.connectedInput?.value.length && this.type !== 'select') {\n this.inputChange();\n } else this.actvOptEles = this.allOptEles;\n });\n }\n\n // sets focus immediately on open when 'select' - mirroring native behaviour\n private handleShow = async () => {\n if (this.shouldFocus) {\n this.shouldFocus = false;\n this.listBox.setFocus();\n } else if (this.type === 'select') this.listBox.showActiveElement();\n };\n\n private handleHide = () => {\n this.open = false;\n const activeElement = getActiveElement();\n if (activeElement.closest(this.host.tagName.toLowerCase())) {\n this.connectedInput.select();\n }\n };\n\n // any changes to the connected input value will filter the list of active options\n private inputChange() {\n if (this.disableFilter) {\n this.actvOptEles = this.allOptEles;\n return;\n }\n\n const val = this.connectedInput.value;\n const valStr = val.trim().toLowerCase();\n\n let exactMatch = false;\n const activeEles = [];\n const attrFind = (toFind: string) =>\n toFind.toLowerCase().indexOf(valStr) > -1;\n\n this.allOptEles.forEach((opt) => {\n if (\n (val === opt.value || val === opt.label) &&\n this.type !== 'selctMulti'\n ) {\n opt.selected = true;\n exactMatch = true;\n } else this.isSelected(opt, val);\n });\n\n this.allOptEles.forEach((opt) => {\n if (!valStr.length || exactMatch) {\n activeEles.push(opt);\n } else if (\n opt.value.trim().length > 0 &&\n !opt.disabled &&\n (attrFind(opt.textContent) ||\n attrFind(opt.value) ||\n attrFind(opt.label) ||\n attrFind(opt.filterMeta))\n ) {\n activeEles.push(opt);\n }\n });\n\n this.isFiltered = valStr.length && !exactMatch;\n this.actvOptEles = activeEles;\n }\n\n private inputClick = () => {\n this.shouldOpen = true;\n // open dropdown if possible\n this.manageDropdownDisplay();\n };\n\n private inputKeydown = (e: KeyboardEvent) => {\n const ignoreKeys = [\n 'Shift',\n 'ArrowRight',\n 'ArrowLeft',\n 'Escape',\n 'Enter',\n 'Tab',\n ];\n if (ignoreKeys.includes(e.key)) {\n if (e.key === 'Tab') this.shouldOpen = false;\n return;\n }\n\n // When select, mirror native select behaviour. Search on closed list\n if (\n this.type === 'select' &&\n !['ArrowDown', 'ArrowUp'].includes(e.key) &&\n (e.key !== ' ' || this.typeToSelectTimeout)\n ) {\n if (e.key === ' ' || /^[a-z0-9]+$/i.test(e.key)) {\n clearTimeout(this.typeToSelectTimeout);\n this.typeToSelectTimeout = window.setTimeout(() => {\n this.typeToSelect = '';\n this.typeToSelectTimeout = 0;\n }, 750);\n this.typeToSelect += e.key;\n this.setOptStartsWith();\n }\n return;\n }\n\n this.shouldOpen = true;\n // open dropdown if possible\n this.manageDropdownDisplay();\n if (['ArrowDown', 'ArrowUp'].includes(e.key)) {\n e.preventDefault();\n this.shouldFocus = true;\n }\n };\n\n // handles key down on options. Either 'picks'\n // an option or passes event back to input for search / filter\n private optionKeyDown = (\n e: KeyboardEvent & { target: HTMLNanoOptionElement }\n ) => {\n const ignoreKeys = [\n 'Shift',\n 'ArrowUp',\n 'ArrowDown',\n 'Escape',\n 'Enter',\n 'Tab',\n 'Space',\n 'PageUp',\n 'PageDown',\n 'Home',\n 'End',\n ' ',\n ];\n if (ignoreKeys.includes(e.key)) {\n if (e.key === 'Escape') this.connectedInput.focus();\n return;\n }\n\n const deleteKeys = ['Delete', 'Backspace'];\n // this passes whatever's typed back to our input control\n if (\n this.type !== 'select' &&\n (!this.exactMatch || deleteKeys.includes(e.key))\n ) {\n this.connectedInput.focus();\n }\n };\n\n // Component lifecycle\n\n connectedCallback() {\n this.watchInputChange();\n }\n\n componentDidLoad() {\n this.manageSlotChangeListener();\n this.openWatcher();\n }\n\n componentDidRender(): void {\n setTimeout(() => {\n if (!this.connectedInput)\n console.warn(\n 'no `nano-input` found. `nano-datalist` should be nested within an `nano-input` or linked via `input` prop',\n this.host\n );\n }, 500);\n }\n\n render() {\n return (\n <Host\n role={this.actvOptEles.length ? 'listbox' : undefined}\n aria-owns={this.optionIds.length ? this.optionIds.join(' ') : undefined}\n aria-label={\n this.optionIds.length\n ? 'Select options from the list below'\n : undefined\n }\n >\n <nano-dropdown\n {...this.dropDownConfig}\n ref={(el) => (this.nanoDropdown = el)}\n dialogTitle=\"Select options from the list below\"\n class={{\n dlist__dropdown: true,\n 'dlist--isfiltered': this.isFiltered,\n }}\n onNanoAfterShow={this.handleShow}\n onNanoAfterHide={this.handleHide}\n role=\"group\"\n >\n <nano-menu\n hidden={!this.actvOptEles.length}\n type=\"listbox\"\n label={this.inputLabel ? this.inputLabel.textContent : undefined}\n class={{\n dlist__menu: true,\n 'dlist__menu--open': this.dropwdownOpen,\n }}\n tabIndex={-1}\n onNanoSelect={this.optSelected}\n onKeyDown={this.optionKeyDown}\n ref={(el) => (this.listBox = el)}\n role=\"list\"\n >\n <slot name=\"list-top\" />\n {!this.options.length && <slot />}\n {!!this.options.length && <slot name=\"internal-opts\" />}\n <slot name=\"list-bottom\" />\n </nano-menu>\n <nano-menu\n type=\"listbox\"\n label=\"No results found\"\n hidden={!!this.actvOptEles.length}\n class={{\n dlist__menu: true,\n 'dlist__menu--open': this.dropwdownOpen,\n }}\n >\n <slot name=\"no-result\" />\n </nano-menu>\n {!!this.actvOptEles && (\n <div class=\"dlist__status\">\n {this.actvOptEles.length} result\n {this.actvOptEles.length > 1 ? 's' : ''} available.\n </div>\n )}\n </nano-dropdown>\n </Host>\n );\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/colours';\n@import '../../global/style/nano-theme/layers';\n\n:host {\n /**\n * @prop --padding-start: padding at the start of nav-items (left r2l / right l2r). Defaults to '10px'\n * @prop --padding-end: padding at the end of nav-items (right r2l / left l2r). Defaults to '10px'\n * @prop --padding-top: padding at the top of nav-items. Defaults to '10px'\n * @prop --padding-bottom: padding at the bottom of nav-items. Defaults to '10px'\n\n * @prop --secondary-padding-top: padding at the top of nested nav-items. Defaults to 0\n * @prop --secondary-padding-bottom: padding at the bottom of nested nav-items. Defaults to 0\n\n * @prop --bg-color-hover: bg hover color of nav-items. Defaults to #{map.get($colors, blue--faded)};\n * @prop --bg-color-focus: bg focus color of nav-items. Defaults to #{map.get($colors, blue--faded)};\n * @prop --bg-color-selected: bg selected color of nav-items. Defaults to #{map.get($colors, blue--faded)};\n\n * @prop --color-hover: text hover color of nav-items. Defaults to #{map.get($colors, blue)}\n * @prop --color-selected: text selected color of nav-items. Defaults to #{map.get($colors, blue)}\n * @prop --color-focus: text focus color of nav-items. Defaults to #{map.get($colors, blue)}\n\n * @prop --focus-outline: the focus style of nav-items. Defaults to 'none'\n * @prop --font-size: default font-size for all items. Defaults .9em;\n */\n\n --padding-start: #{$spacing-medium};\n --padding-end: #{$spacing-medium};\n --padding-top: #{$spacing-small};\n --padding-bottom: #{$spacing-small};\n --secondary-padding-top: 0;\n --secondary-padding-bottom: 0;\n --bg-color-hover: #{map.get($colors, blue--faded)};\n --bg-color-focus: #{map.get($colors, blue--faded)};\n --bg-color-selected: #{map.get($colors, blue--faded)};\n --color-hover: #{map.get($colors, blue)};\n --color-selected: #{map.get($colors, blue)};\n --color-focus: #{map.get($colors, blue)};\n --focus-outline: none;\n --font-size: 0.9em;\n\n display: block;\n}\n\n.menu {\n font-size: var(--font-size, 0.9em);\n overscroll-behavior: none;\n min-width: var(--width);\n position: relative;\n\n &:focus {\n outline: none;\n }\n}\n\n::slotted(*:not(nano-nav-item):not(nano-option):not(hr):not(slot)) {\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: var(--padding-top) var(--padding-bottom);\n display: block;\n}\n","import {\n Component,\n Event,\n EventEmitter,\n Method,\n h,\n Host,\n Element,\n Prop,\n Listen,\n Build,\n} from '@stencil/core';\nimport { getActiveElement } from '../../utils/active-element';\nimport { getDirectChildren } from '../../utils/dom';\nimport { getTextContent } from '../../utils/slot';\n\ntype ValidElement = HTMLNanoNavItemElement | HTMLNanoOptionElement;\ntype NNI = HTMLNanoNavItemElement;\n\n/**\n * Menu element. Commonly wrapped by `nano-dropdown` with `nano-option` and `nano-nav-item` elements nested.\n * Manages focus state / active.\n * @slot - The menu's content; `nano-option`, `nano-nav-item` elements as well as <hr> and more.\n */\n@Component({\n tag: 'nano-menu',\n styleUrl: 'menu.scss',\n shadow: true,\n})\nexport class Menu {\n private ignoreMouseEvents = false;\n private ignoreMouseTimeout: any;\n private menu: HTMLElement;\n private typeToSelect = '';\n private typeToSelectTimeout: any;\n\n @Element() private el: HTMLNanoMenuElement;\n\n // Public API\n\n /** get the focus state of the menu @readonly */\n @Prop()\n get hasFocus() {\n return this._hasFocus;\n }\n private _hasFocus = false;\n\n /** changes the role of the underlying control - sometimes required for semantics */\n @Prop() type: 'menu' | 'listbox' = 'menu';\n\n /** an accessible label */\n @Prop() label: string;\n\n // Events\n\n /** Emitted when the menu gains focus. */\n @Event() nanoFocus: EventEmitter;\n\n /** Emitted when the menu loses focus. */\n @Event() nanoBlur: EventEmitter;\n\n /** Emitted when a menu item is selected. */\n @Event() nanoSelect: EventEmitter<\n HTMLNanoOptionElement | HTMLNanoNavItemElement\n >;\n\n // Public Methods\n\n /** Sets focus on the menu. */\n @Method()\n async setFocus() {\n if (this.menu?.focus) this.menu.focus({ preventScroll: true });\n }\n\n /** Removes focus from the menu. */\n @Method()\n async removeFocus() {\n if (this.menu?.blur) this.menu.blur();\n }\n\n /** Sets the current active item */\n @Method()\n async showActiveElement() {\n if (this.selectedItem)\n this.selectedItem.scrollIntoView({ block: 'nearest' });\n }\n\n /** Removes any active item's state */\n @Method()\n async resetActiveItem() {\n this.getItems\n .filter((i) => i.tagName.toLowerCase() === 'nano-option')\n .map((i) => i.setAttribute('tabindex', '-1'));\n }\n\n // Private methods\n\n get getItems() {\n let items: ValidElement[];\n const opened = this.el.querySelectorAll('nano-nav-item.secondary-open');\n if (opened.length) {\n const ctx = opened[opened.length - 1] as HTMLNanoNavItemElement;\n items = Array.from(ctx.querySelectorAll('nano-nav-item, nano-option'));\n } else {\n items = getDirectChildren(\n this.el,\n 'nano-nav-item, nano-option',\n 'slot'\n ) as ValidElement[];\n }\n return items.filter((el) => !el.disabled && !el.hidden);\n }\n\n get activeItem() {\n const activeElement = getActiveElement();\n return this.getItems.find(\n (i) =>\n i.getAttribute('tabindex') === '0' ||\n i === activeElement ||\n i.classList.contains('has-focus')\n );\n }\n\n get selectedItem() {\n return this.getItems.find((i) => i.selected);\n }\n\n private async setActiveFocusItem(item?: ValidElement, focus = true) {\n const items = this.getItems;\n const activeItem =\n !item || item.disabled ? items.find((i) => i.selected) || items[0] : item;\n\n items\n .filter((i) => i.tagName.toLowerCase() === 'nano-option')\n .map((i: HTMLNanoOptionElement) =>\n i.setAttribute('tabindex', i === activeItem ? '0' : '-1')\n );\n\n if (!focus) return;\n\n if (activeItem) {\n (activeItem as NNI).setFocus\n ? (activeItem as NNI).setFocus()\n : activeItem.focus();\n } else this.menu.focus();\n }\n\n // Event Handlers\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 found: boolean;\n\n if (kev.key) {\n if (kev.key !== 'Tab') return;\n found =\n getActiveElement() &&\n getActiveElement().closest(this.el.tagName.toLowerCase()) === this.el;\n } else found = !!e.composedPath().find((el) => el === this.el);\n\n if (!found) {\n this.resetActiveItem();\n this._hasFocus = false;\n this.nanoBlur.emit();\n }\n }\n\n private handleFocus = () => {\n this.setActiveFocusItem(this.selectedItem || this.getItems[0]);\n\n this._hasFocus = true;\n this.nanoFocus.emit();\n };\n\n private handleClick = (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n const item = target.closest('nano-nav-item');\n\n if (item && !item.disabled) {\n this.nanoSelect.emit(item);\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n // When keying through the menu, if the mouse happens to be hovering over a menu item and the menu scrolls, the\n // mouseout/mouseover event will fire causing the selection to be different than what the user expects. This gives\n // us a way to temporarily ignore mouse events while the user is interacting with a keyboard.\n clearTimeout(this.ignoreMouseTimeout);\n this.ignoreMouseTimeout = setTimeout(\n () => (this.ignoreMouseEvents = false),\n 500\n );\n this.ignoreMouseEvents = true;\n\n // Make a selection when pressing enter\n switch (event.key) {\n case ' ':\n if (this.activeItem) this.activeItem.click();\n break;\n case 'ArrowDown':\n case 'ArrowUp':\n case 'PageDown':\n case 'PageUp':\n case 'Home':\n case 'End':\n const items = this.getItems;\n const selectedItem = this.activeItem;\n let index = items.indexOf(selectedItem);\n\n if (items.length) {\n event.preventDefault();\n\n if (event.key === 'ArrowDown') {\n index++;\n } else if (event.key === 'ArrowUp') {\n index--;\n } else if (event.key === 'Home' || event.key === 'PageUp') {\n index = 0;\n } else if (event.key === 'End' || event.key === 'PageDown') {\n index = items.length - 1;\n }\n\n if (index < 0) index = items.length - 1;\n if (index > items.length - 1) index = 0;\n\n this.setActiveFocusItem(items[index]);\n if (items[index]) items[index].scrollIntoView({ block: 'nearest' });\n return;\n }\n break;\n }\n\n // Handle type-to-search behavior when non-control characters are entered\n if (event.key === ' ' || /^[a-z0-9]+$/i.test(event.key)) {\n clearTimeout(this.typeToSelectTimeout);\n this.typeToSelectTimeout = setTimeout(\n () => (this.typeToSelect = ''),\n 750\n );\n this.typeToSelect += event.key;\n\n const items = this.getItems;\n for (const item of items) {\n const slot = item.shadowRoot.querySelector(\n 'slot:not([name])'\n ) as HTMLSlotElement;\n const label = getTextContent(slot).toLowerCase().trim();\n if (\n label.substring(0, this.typeToSelect.length) === this.typeToSelect\n ) {\n this.setActiveFocusItem(item);\n break;\n }\n }\n }\n };\n\n private handleMouseOver = (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n const item =\n target.closest('nano-nav-item') || target.closest('nano-option');\n\n if (item && !this.ignoreMouseEvents) {\n this.setActiveFocusItem(item);\n }\n };\n\n // Component Lifecycle\n\n componentDidLoad() {\n if (Build.isBrowser) {\n getDirectChildren(\n this.el,\n ':not(nano-nav-item):not(nano-option):not([role])',\n true\n ).forEach((el) => el.setAttribute('role', 'none'));\n }\n }\n\n render() {\n return (\n <Host role={this.type === 'menu' ? 'menu' : 'group'}>\n <div\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n onMouseOver={this.handleMouseOver}\n onFocus={this.handleFocus}\n aria-label={this.label ? this.label : undefined}\n ref={(el) => (this.menu = el)}\n part=\"base\"\n class={{\n menu: true,\n ['menu--' + this.type]: true,\n 'menu--has-focus': this.hasFocus,\n }}\n tabIndex={-1}\n role=\"group\"\n >\n <slot />\n </div>\n </Host>\n );\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n@import '../../global/style/nano-theme/base';\n@import '../../global/style/nano-theme/layers';\n\n:host {\n /**\n * @prop --padding-top: Defaults to #{$spacing-small};\n * @prop --padding-bottom: Defaults to #{$spacing-small};\n * @prop --padding-start: Defaults to #{$spacing-small};\n * @prop --padding-end: Defaults to #{$spacing-small};\n\n * @prop --bg: default background. Defaults to none;\n * @prop --bg-selected: background when selected. Defaults to #{$select-opt-selected};\n * @prop --bg-focus: background when focused. Defaults to var(--nano-color-base, #{nano-color(primary, tint)});\n * @prop --bg-disabled: background when disabled. Defaults to none;\n\n * @prop --color: default text color. Defaults to var(--input-text-color, #{$input-text-color});\n * @prop --color-selected: text color when selected. Defaults to var(--nano-color-base, #{nano-color(primary, base)});\n * @prop --color-focus: text color when focused. Defaults to var(--nano-color-base, #{nano-color(primary, contrast)});\n * @prop --color-disabled: text color when disabled. Defaults to #{map.get($colors, palegrey)};\n\n * @prop --opt-icon-size: Sizes all icons within the option. Defaults to 1.4em;\n */\n\n --bg: none;\n --bg-selected: #{$select-opt-selected};\n --bg-focus: var(--nano-color-base, #{nano-color(primary, tint)});\n --bg-disabled: none;\n --color: var(--input-text-color, #{$input-text-color});\n --color-selected: var(--nano-color-base, #{nano-color(primary, base)});\n --color-focus: var(--nano-color-contrast, #{nano-color(primary, contrast)});\n --color-disabled: #{map.get($colors, palegrey)};\n --opt-icon-size: 1.6em;\n\n display: block;\n color: var(--color);\n overflow: hidden;\n font-size: 14px;\n font-size: #{'clamp(12px, .9em, 16px)'};\n}\n\n:host(:focus) {\n outline: none;\n}\n\n.option {\n $self: &;\n\n position: relative;\n user-select: none;\n cursor: pointer;\n display: flex;\n align-items: stretch;\n width: 100%;\n background: var(--bg);\n padding-inline: var(--padding-start) var(--padding-end);\n padding-block: var(--padding-top) var(--padding-bottom);\n\n // focus\n :host(:focus) &:not(.option--disabled),\n :host &.option--selected {\n outline: none;\n background: var(--bg-selected);\n color: var(--color-selected);\n }\n\n :host(:focus) &:not(.option--disabled) {\n background: var(--bg-focus);\n color: var(--color-focus);\n }\n\n // disabled\n &.option--disabled {\n outline: none;\n color: var(--color-disabled);\n cursor: not-allowed;\n background: var(--bg-disabled);\n }\n\n // no value\n &.option--novalue {\n font-style: italic;\n opacity: 0.7;\n }\n\n &__label {\n flex: 1 1 auto;\n display: flex;\n align-items: center;\n }\n\n &__start {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n\n ::slotted(nano-icon) {\n font-size: var(--opt-icon-size);\n }\n\n ::slotted(:last-child) {\n margin-inline-end: 0.5em;\n }\n }\n\n &__end {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n\n ::slotted(nano-icon) {\n font-size: var(--opt-icon-size);\n }\n\n ::slotted(:first-child) {\n margin-inline-start: 0.5em;\n }\n }\n\n &__check {\n visibility: hidden;\n display: flex;\n position: absolute;\n inset-inline-start: 0.6em;\n inset-block-start: calc(50% - 0.6em);\n align-items: center;\n font-size: 0.9em;\n\n #{$self}--selected:not(#{$self}--novalue) & {\n visibility: visible;\n }\n }\n}\n","import {\n Component,\n Prop,\n h,\n Host,\n State,\n Watch,\n Element,\n Listen,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport { getDirectChildren } from '../../utils/dom';\nimport { debounce } from '../../utils/throttle';\nimport type { OptionInterface } from '../../interface';\n\nlet optIds = 0;\n\n/**\n * Select options to be used with [nano-select](/story/nano-components-select) or [nano-datalist](/story/nano-components-select)\n *\n * @slot - main label. Defaults to `label` or `value` prop\n * @slot checked-icon - icon to indicated checked / selected state. Defaults to fontawesome light/check\n * @slot start - suitable for an icon or content displayed at the start of the main label\n * @slot end - suitable for an icon or content displayed at the end of the main label\n */\n@Component({\n tag: 'nano-option',\n styleUrl: 'option.scss',\n shadow: true,\n})\nexport class Option implements OptionInterface {\n private optId = `nano-option-${optIds++}`;\n @Element() host: HTMLNanoOptionElement;\n @State() hasFocus = false;\n\n constructor() {\n this.handleClick = debounce(this.handleClick.bind(this), 5);\n }\n\n // Public API\n\n /**\n * Value of the option\n */\n @Prop({ mutable: true, reflect: true }) value: string = '';\n\n @Watch('value')\n valueChanged() {\n if (!this.value || !this.value.length) this.value = this.labelContent;\n }\n\n /**\n * Label of the option\n */\n @Prop({ mutable: true, reflect: true }) label: string = '';\n\n @Watch('label')\n labelChanged() {\n if (!this.label || !this.label.length)\n this.label = this.labelContent.length ? this.labelContent : this.value;\n }\n\n /**\n * Whether this option is selected\n */\n @Prop({ reflect: true }) selected: boolean = false;\n\n /**\n * Whether this option should be disabled\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** You can add extra meta for this option. When displayed in a list, users\n * search / filter via extra related terms. Another usecase is 'endonyms'\n */\n @Prop() filterMeta: string = '';\n\n /** Fired when an option is selected */\n @Event() nanoSelect!: EventEmitter<HTMLNanoOptionElement>;\n\n // Event handlers\n\n // stop scrolling on select\n @Listen('keydown')\n handleKeyDown(e: KeyboardEvent) {\n if (e.key !== ' ' && e.key !== 'Enter') return;\n e.preventDefault();\n this.nanoSelect.emit(this.host);\n }\n\n private handleClick() {\n if (this.disabled) return;\n this.nanoSelect.emit(this.host);\n }\n\n // Private logic\n\n private get labelContent() {\n return getDirectChildren(this.host, '*:not([slot])', false)\n .map((el) => el.textContent)\n .join(' ')\n .trim();\n }\n\n // Component lifecycle\n\n componentWillLoad() {\n this.valueChanged();\n this.labelChanged();\n }\n\n render() {\n return (\n <Host\n role=\"option\"\n aria-selected={this.selected ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n >\n <div\n onMouseDown={this.handleClick}\n id={this.optId}\n class={{\n option: true,\n 'option--selected': this.selected,\n 'option--disabled': this.disabled,\n 'option--novalue': !this.value,\n }}\n >\n <div part=\"check-icon\" class=\"option__check\">\n <slot name=\"check-icon\">\n <nano-icon name=\"light/check\" aria-hidden=\"true\" />\n </slot>\n </div>\n <div part=\"start\" class=\"option__start\">\n <slot name=\"start\"></slot>\n </div>\n <div part=\"label\" class=\"option__label\">\n <slot>{this.label || this.value}</slot>\n </div>\n <div part=\"end\" class=\"option__end\">\n <slot name=\"end\"></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["src/utils/active-element.ts"],"names":["getActiveElement","root","document","activeEl","activeElement","shadowRoot"],"mappings":";;;SAAgBA,EACdC,EAA8BC,UAE9B,MAAMC,EAAWF,EAAKG,cAEtB,IAAKD,EAAU,CACb,OAAO,KAGT,GAAIA,EAASE,YAAcF,EAASE,WAAWD,cAAe,CAC5D,OAAOJ,EAAiBG,EAASE,gBAC5B,CACL,OAAOF","sourcesContent":["export function getActiveElement(\n root: Document | ShadowRoot = document\n): Element | null {\n const activeEl = root.activeElement;\n\n if (!activeEl) {\n return null;\n }\n\n if (activeEl.shadowRoot && activeEl.shadowRoot.activeElement) {\n return getActiveElement(activeEl.shadowRoot);\n } else {\n return activeEl;\n }\n}\n"]}
1
+ {"version":3,"names":["getActiveElement","root","document","activeEl","activeElement","shadowRoot"],"sources":["./src/utils/active-element.ts"],"sourcesContent":["export function getActiveElement(\n root: Document | ShadowRoot = document\n): Element | null {\n const activeEl = root.activeElement;\n\n if (!activeEl) {\n return null;\n }\n\n if (activeEl.shadowRoot && activeEl.shadowRoot.activeElement) {\n return getActiveElement(activeEl.shadowRoot);\n } else {\n return activeEl;\n }\n}\n"],"mappings":";;;SAAgBA,EACdC,EAA8BC,UAE9B,MAAMC,EAAWF,EAAKG,cAEtB,IAAKD,EAAU,CACb,OAAO,I,CAGT,GAAIA,EAASE,YAAcF,EAASE,WAAWD,cAAe,CAC5D,OAAOJ,EAAiBG,EAASE,W,KAC5B,CACL,OAAOF,C,CAEX,Q"}
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Web Components for Nanopore digital Web Apps
3
+ */
4
+ import{g as r}from"./p-f84612d4.js";import{d as e}from"./p-9746b0a5.js";import{c as t,g as n}from"./p-69a3e911.js";var o=function r(){if(typeof Symbol!=="function"||typeof Object.getOwnPropertySymbols!=="function"){return false}if(typeof Symbol.iterator==="symbol"){return true}var e={};var t=Symbol("test");var n=Object(t);if(typeof t==="string"){return false}if(Object.prototype.toString.call(t)!=="[object Symbol]"){return false}if(Object.prototype.toString.call(n)!=="[object Symbol]"){return false}var o=42;e[t]=o;for(t in e){return false}if(typeof Object.keys==="function"&&Object.keys(e).length!==0){return false}if(typeof Object.getOwnPropertyNames==="function"&&Object.getOwnPropertyNames(e).length!==0){return false}var i=Object.getOwnPropertySymbols(e);if(i.length!==1||i[0]!==t){return false}if(!Object.prototype.propertyIsEnumerable.call(e,t)){return false}if(typeof Object.getOwnPropertyDescriptor==="function"){var a=Object.getOwnPropertyDescriptor(e,t);if(a.value!==o||a.enumerable!==true){return false}}return true};var i=typeof Symbol!=="undefined"&&Symbol;var a=function r(){if(typeof i!=="function"){return false}if(typeof Symbol!=="function"){return false}if(typeof i("foo")!=="symbol"){return false}if(typeof Symbol("bar")!=="symbol"){return false}return o()};var f="Function.prototype.bind called on incompatible ";var u=Array.prototype.slice;var c=Object.prototype.toString;var y="[object Function]";var p=function r(e){var t=this;if(typeof t!=="function"||c.call(t)!==y){throw new TypeError(f+t)}var n=u.call(arguments,1);var o;var i=function(){if(this instanceof o){var r=t.apply(this,n.concat(u.call(arguments)));if(Object(r)===r){return r}return this}else{return t.apply(e,n.concat(u.call(arguments)))}};var a=Math.max(0,t.length-n.length);var p=[];for(var s=0;s<a;s++){p.push("$"+s)}o=Function("binder","return function ("+p.join(",")+"){ return binder.apply(this,arguments); }")(i);if(t.prototype){var l=function r(){};l.prototype=t.prototype;o.prototype=new l;l.prototype=null}return o};var s=Function.prototype.bind||p;var l=s.call(Function.call,Object.prototype.hasOwnProperty);var v;var d=SyntaxError;var b=Function;var h=TypeError;var m=function(r){try{return b('"use strict"; return ('+r+").constructor;")()}catch(r){}};var g=Object.getOwnPropertyDescriptor;var S=function(){throw new h};var j=g?function(){try{return S}catch(r){try{return g(arguments,"callee").get}catch(r){return S}}}():S;var A=a();var w=Object.getPrototypeOf||function(r){return r.__proto__};var O={};var P=typeof Uint8Array==="undefined"?v:w(Uint8Array);var E={"%AggregateError%":typeof AggregateError==="undefined"?v:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer==="undefined"?v:ArrayBuffer,"%ArrayIteratorPrototype%":A?w([][Symbol.iterator]()):v,"%AsyncFromSyncIteratorPrototype%":v,"%AsyncFunction%":O,"%AsyncGenerator%":O,"%AsyncGeneratorFunction%":O,"%AsyncIteratorPrototype%":O,"%Atomics%":typeof Atomics==="undefined"?v:Atomics,"%BigInt%":typeof BigInt==="undefined"?v:BigInt,"%BigInt64Array%":typeof BigInt64Array==="undefined"?v:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array==="undefined"?v:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView==="undefined"?v:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array==="undefined"?v:Float32Array,"%Float64Array%":typeof Float64Array==="undefined"?v:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry==="undefined"?v:FinalizationRegistry,"%Function%":b,"%GeneratorFunction%":O,"%Int8Array%":typeof Int8Array==="undefined"?v:Int8Array,"%Int16Array%":typeof Int16Array==="undefined"?v:Int16Array,"%Int32Array%":typeof Int32Array==="undefined"?v:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":A?w(w([][Symbol.iterator]())):v,"%JSON%":typeof JSON==="object"?JSON:v,"%Map%":typeof Map==="undefined"?v:Map,"%MapIteratorPrototype%":typeof Map==="undefined"||!A?v:w((new Map)[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise==="undefined"?v:Promise,"%Proxy%":typeof Proxy==="undefined"?v:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect==="undefined"?v:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set==="undefined"?v:Set,"%SetIteratorPrototype%":typeof Set==="undefined"||!A?v:w((new Set)[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer==="undefined"?v:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":A?w(""[Symbol.iterator]()):v,"%Symbol%":A?Symbol:v,"%SyntaxError%":d,"%ThrowTypeError%":j,"%TypedArray%":P,"%TypeError%":h,"%Uint8Array%":typeof Uint8Array==="undefined"?v:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray==="undefined"?v:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array==="undefined"?v:Uint16Array,"%Uint32Array%":typeof Uint32Array==="undefined"?v:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap==="undefined"?v:WeakMap,"%WeakRef%":typeof WeakRef==="undefined"?v:WeakRef,"%WeakSet%":typeof WeakSet==="undefined"?v:WeakSet};var I=function r(e){var t;if(e==="%AsyncFunction%"){t=m("async function () {}")}else if(e==="%GeneratorFunction%"){t=m("function* () {}")}else if(e==="%AsyncGeneratorFunction%"){t=m("async function* () {}")}else if(e==="%AsyncGenerator%"){var n=r("%AsyncGeneratorFunction%");if(n){t=n.prototype}}else if(e==="%AsyncIteratorPrototype%"){var o=r("%AsyncGenerator%");if(o){t=w(o.prototype)}}E[e]=t;return t};var F={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]};var R=s.call(Function.call,Array.prototype.concat);var k=s.call(Function.apply,Array.prototype.splice);var M=s.call(Function.call,String.prototype.replace);var x=s.call(Function.call,String.prototype.slice);var U=s.call(Function.call,RegExp.prototype.exec);var N=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;var B=/\\(\\)?/g;var W=function r(e){var t=x(e,0,1);var n=x(e,-1);if(t==="%"&&n!=="%"){throw new d("invalid intrinsic syntax, expected closing `%`")}else if(n==="%"&&t!=="%"){throw new d("invalid intrinsic syntax, expected opening `%`")}var o=[];M(e,N,(function(r,e,t,n){o[o.length]=t?M(n,B,"$1"):e||r}));return o};var T=function r(e,t){var n=e;var o;if(l(F,n)){o=F[n];n="%"+o[0]+"%"}if(l(E,n)){var i=E[n];if(i===O){i=I(n)}if(typeof i==="undefined"&&!t){throw new h("intrinsic "+e+" exists, but is not available. Please file an issue!")}return{alias:o,name:n,value:i}}throw new d("intrinsic "+e+" does not exist!")};var D=function r(e,t){if(typeof e!=="string"||e.length===0){throw new h("intrinsic name must be a non-empty string")}if(arguments.length>1&&typeof t!=="boolean"){throw new h('"allowMissing" argument must be a boolean')}if(U(/^%?[^%]*%?$/,e)===null){throw new d("`%` may not be present anywhere but at the beginning and end of the intrinsic name")}var n=W(e);var o=n.length>0?n[0]:"";var i=T("%"+o+"%",t);var a=i.name;var f=i.value;var u=false;var c=i.alias;if(c){o=c[0];k(n,R([0,1],c))}for(var y=1,p=true;y<n.length;y+=1){var s=n[y];var b=x(s,0,1);var m=x(s,-1);if((b==='"'||b==="'"||b==="`"||(m==='"'||m==="'"||m==="`"))&&b!==m){throw new d("property names with quotes must have matching quotes")}if(s==="constructor"||!p){u=true}o+="."+s;a="%"+o+"%";if(l(E,a)){f=E[a]}else if(f!=null){if(!(s in f)){if(!t){throw new h("base intrinsic for "+e+" exists, but the property is not available.")}return void v}if(g&&y+1>=n.length){var S=g(f,s);p=!!S;if(p&&"get"in S&&!("originalValue"in S.get)){f=S.get}else{f=f[s]}}else{p=l(f,s);f=f[s]}if(p&&!u){E[a]=f}}}return f};var C=t((function(r){var e=D("%Function.prototype.apply%");var t=D("%Function.prototype.call%");var n=D("%Reflect.apply%",true)||s.call(t,e);var o=D("%Object.getOwnPropertyDescriptor%",true);var i=D("%Object.defineProperty%",true);var a=D("%Math.max%");if(i){try{i({},"a",{value:1})}catch(r){i=null}}r.exports=function r(e){var f=n(s,t,arguments);if(o&&i){var u=o(f,"length");if(u.configurable){i(f,"length",{value:1+a(0,e.length-(arguments.length-1))})}}return f};var f=function r(){return n(s,e,arguments)};if(i){i(r.exports,"apply",{value:f})}else{r.exports.apply=f}}));var _=C(D("String.prototype.indexOf"));var q=function r(e,t){var n=D(e,!!t);if(typeof n==="function"&&_(e,".prototype.")>-1){return C(n)}return n};const G={};const $=Object.freeze({__proto__:null,default:G});const J=n($);var V=typeof Map==="function"&&Map.prototype;var H=Object.getOwnPropertyDescriptor&&V?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null;var L=V&&H&&typeof H.get==="function"?H.get:null;var z=V&&Map.prototype.forEach;var Q=typeof Set==="function"&&Set.prototype;var Y=Object.getOwnPropertyDescriptor&&Q?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null;var K=Q&&Y&&typeof Y.get==="function"?Y.get:null;var X=Q&&Set.prototype.forEach;var Z=typeof WeakMap==="function"&&WeakMap.prototype;var rr=Z?WeakMap.prototype.has:null;var er=typeof WeakSet==="function"&&WeakSet.prototype;var tr=er?WeakSet.prototype.has:null;var nr=typeof WeakRef==="function"&&WeakRef.prototype;var or=nr?WeakRef.prototype.deref:null;var ir=Boolean.prototype.valueOf;var ar=Object.prototype.toString;var fr=Function.prototype.toString;var ur=String.prototype.match;var cr=String.prototype.slice;var yr=String.prototype.replace;var pr=String.prototype.toUpperCase;var sr=String.prototype.toLowerCase;var lr=RegExp.prototype.test;var vr=Array.prototype.concat;var dr=Array.prototype.join;var br=Array.prototype.slice;var hr=Math.floor;var mr=typeof BigInt==="function"?BigInt.prototype.valueOf:null;var gr=Object.getOwnPropertySymbols;var Sr=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?Symbol.prototype.toString:null;var jr=typeof Symbol==="function"&&typeof Symbol.iterator==="object";var Ar=typeof Symbol==="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===jr?"object":"symbol")?Symbol.toStringTag:null;var wr=Object.prototype.propertyIsEnumerable;var Or=(typeof Reflect==="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(r){return r.__proto__}:null);function Pr(r,e){if(r===Infinity||r===-Infinity||r!==r||r&&r>-1e3&&r<1e3||lr.call(/e/,e)){return e}var t=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof r==="number"){var n=r<0?-hr(-r):hr(r);if(n!==r){var o=String(n);var i=cr.call(e,o.length+1);return yr.call(o,t,"$&_")+"."+yr.call(yr.call(i,/([0-9]{3})/g,"$&_"),/_$/,"")}}return yr.call(e,t,"$&_")}var Er=J.custom;var Ir=Dr(Er)?Er:null;var Fr=function r(e,t,n,o){var i=t||{};if(qr(i,"quoteStyle")&&(i.quoteStyle!=="single"&&i.quoteStyle!=="double")){throw new TypeError('option "quoteStyle" must be "single" or "double"')}if(qr(i,"maxStringLength")&&(typeof i.maxStringLength==="number"?i.maxStringLength<0&&i.maxStringLength!==Infinity:i.maxStringLength!==null)){throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`')}var a=qr(i,"customInspect")?i.customInspect:true;if(typeof a!=="boolean"&&a!=="symbol"){throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`")}if(qr(i,"indent")&&i.indent!==null&&i.indent!=="\t"&&!(parseInt(i.indent,10)===i.indent&&i.indent>0)){throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`')}if(qr(i,"numericSeparator")&&typeof i.numericSeparator!=="boolean"){throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`')}var f=i.numericSeparator;if(typeof e==="undefined"){return"undefined"}if(e===null){return"null"}if(typeof e==="boolean"){return e?"true":"false"}if(typeof e==="string"){return Kr(e,i)}if(typeof e==="number"){if(e===0){return Infinity/e>0?"0":"-0"}var u=String(e);return f?Pr(e,u):u}if(typeof e==="bigint"){var c=String(e)+"n";return f?Pr(e,c):c}var y=typeof i.depth==="undefined"?5:i.depth;if(typeof n==="undefined"){n=0}if(n>=y&&y>0&&typeof e==="object"){return Mr(e)?"[Array]":"[Object]"}var p=ne(i,n);if(typeof o==="undefined"){o=[]}else if(Jr(o,e)>=0){return"[Circular]"}function s(e,t,a){if(t){o=br.call(o);o.push(t)}if(a){var f={depth:i.depth};if(qr(i,"quoteStyle")){f.quoteStyle=i.quoteStyle}return r(e,f,n+1,o)}return r(e,i,n+1,o)}if(typeof e==="function"&&!Ur(e)){var l=$r(e);var v=ie(e,s);return"[Function"+(l?": "+l:" (anonymous)")+"]"+(v.length>0?" { "+dr.call(v,", ")+" }":"")}if(Dr(e)){var d=jr?yr.call(String(e),/^(Symbol\(.*\))_[^)]*$/,"$1"):Sr.call(e);return typeof e==="object"&&!jr?Zr(d):d}if(Yr(e)){var b="<"+sr.call(String(e.nodeName));var h=e.attributes||[];for(var m=0;m<h.length;m++){b+=" "+h[m].name+"="+Rr(kr(h[m].value),"double",i)}b+=">";if(e.childNodes&&e.childNodes.length){b+="..."}b+="</"+sr.call(String(e.nodeName))+">";return b}if(Mr(e)){if(e.length===0){return"[]"}var g=ie(e,s);if(p&&!te(g)){return"["+oe(g,p)+"]"}return"[ "+dr.call(g,", ")+" ]"}if(Nr(e)){var S=ie(e,s);if(!("cause"in Error.prototype)&&"cause"in e&&!wr.call(e,"cause")){return"{ ["+String(e)+"] "+dr.call(vr.call("[cause]: "+s(e.cause),S),", ")+" }"}if(S.length===0){return"["+String(e)+"]"}return"{ ["+String(e)+"] "+dr.call(S,", ")+" }"}if(typeof e==="object"&&a){if(Ir&&typeof e[Ir]==="function"&&J){return J(e,{depth:y-n})}else if(a!=="symbol"&&typeof e.inspect==="function"){return e.inspect()}}if(Vr(e)){var j=[];if(z){z.call(e,(function(r,t){j.push(s(t,e,true)+" => "+s(r,e))}))}return ee("Map",L.call(e),j,p)}if(zr(e)){var A=[];if(X){X.call(e,(function(r){A.push(s(r,e))}))}return ee("Set",K.call(e),A,p)}if(Hr(e)){return re("WeakMap")}if(Qr(e)){return re("WeakSet")}if(Lr(e)){return re("WeakRef")}if(Wr(e)){return Zr(s(Number(e)))}if(Cr(e)){return Zr(s(mr.call(e)))}if(Tr(e)){return Zr(ir.call(e))}if(Br(e)){return Zr(s(String(e)))}if(!xr(e)&&!Ur(e)){var w=ie(e,s);var O=Or?Or(e)===Object.prototype:e instanceof Object||e.constructor===Object;var P=e instanceof Object?"":"null prototype";var E=!O&&Ar&&Object(e)===e&&Ar in e?cr.call(Gr(e),8,-1):P?"Object":"";var I=O||typeof e.constructor!=="function"?"":e.constructor.name?e.constructor.name+" ":"";var F=I+(E||P?"["+dr.call(vr.call([],E||[],P||[]),": ")+"] ":"");if(w.length===0){return F+"{}"}if(p){return F+"{"+oe(w,p)+"}"}return F+"{ "+dr.call(w,", ")+" }"}return String(e)};function Rr(r,e,t){var n=(t.quoteStyle||e)==="double"?'"':"'";return n+r+n}function kr(r){return yr.call(String(r),/"/g,"&quot;")}function Mr(r){return Gr(r)==="[object Array]"&&(!Ar||!(typeof r==="object"&&Ar in r))}function xr(r){return Gr(r)==="[object Date]"&&(!Ar||!(typeof r==="object"&&Ar in r))}function Ur(r){return Gr(r)==="[object RegExp]"&&(!Ar||!(typeof r==="object"&&Ar in r))}function Nr(r){return Gr(r)==="[object Error]"&&(!Ar||!(typeof r==="object"&&Ar in r))}function Br(r){return Gr(r)==="[object String]"&&(!Ar||!(typeof r==="object"&&Ar in r))}function Wr(r){return Gr(r)==="[object Number]"&&(!Ar||!(typeof r==="object"&&Ar in r))}function Tr(r){return Gr(r)==="[object Boolean]"&&(!Ar||!(typeof r==="object"&&Ar in r))}function Dr(r){if(jr){return r&&typeof r==="object"&&r instanceof Symbol}if(typeof r==="symbol"){return true}if(!r||typeof r!=="object"||!Sr){return false}try{Sr.call(r);return true}catch(r){}return false}function Cr(r){if(!r||typeof r!=="object"||!mr){return false}try{mr.call(r);return true}catch(r){}return false}var _r=Object.prototype.hasOwnProperty||function(r){return r in this};function qr(r,e){return _r.call(r,e)}function Gr(r){return ar.call(r)}function $r(r){if(r.name){return r.name}var e=ur.call(fr.call(r),/^function\s*([\w$]+)/);if(e){return e[1]}return null}function Jr(r,e){if(r.indexOf){return r.indexOf(e)}for(var t=0,n=r.length;t<n;t++){if(r[t]===e){return t}}return-1}function Vr(r){if(!L||!r||typeof r!=="object"){return false}try{L.call(r);try{K.call(r)}catch(r){return true}return r instanceof Map}catch(r){}return false}function Hr(r){if(!rr||!r||typeof r!=="object"){return false}try{rr.call(r,rr);try{tr.call(r,tr)}catch(r){return true}return r instanceof WeakMap}catch(r){}return false}function Lr(r){if(!or||!r||typeof r!=="object"){return false}try{or.call(r);return true}catch(r){}return false}function zr(r){if(!K||!r||typeof r!=="object"){return false}try{K.call(r);try{L.call(r)}catch(r){return true}return r instanceof Set}catch(r){}return false}function Qr(r){if(!tr||!r||typeof r!=="object"){return false}try{tr.call(r,tr);try{rr.call(r,rr)}catch(r){return true}return r instanceof WeakSet}catch(r){}return false}function Yr(r){if(!r||typeof r!=="object"){return false}if(typeof HTMLElement!=="undefined"&&r instanceof HTMLElement){return true}return typeof r.nodeName==="string"&&typeof r.getAttribute==="function"}function Kr(r,e){if(r.length>e.maxStringLength){var t=r.length-e.maxStringLength;var n="... "+t+" more character"+(t>1?"s":"");return Kr(cr.call(r,0,e.maxStringLength),e)+n}var o=yr.call(yr.call(r,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,Xr);return Rr(o,"single",e)}function Xr(r){var e=r.charCodeAt(0);var t={8:"b",9:"t",10:"n",12:"f",13:"r"}[e];if(t){return"\\"+t}return"\\x"+(e<16?"0":"")+pr.call(e.toString(16))}function Zr(r){return"Object("+r+")"}function re(r){return r+" { ? }"}function ee(r,e,t,n){var o=n?oe(t,n):dr.call(t,", ");return r+" ("+e+") {"+o+"}"}function te(r){for(var e=0;e<r.length;e++){if(Jr(r[e],"\n")>=0){return false}}return true}function ne(r,e){var t;if(r.indent==="\t"){t="\t"}else if(typeof r.indent==="number"&&r.indent>0){t=dr.call(Array(r.indent+1)," ")}else{return null}return{base:t,prev:dr.call(Array(e+1),t)}}function oe(r,e){if(r.length===0){return""}var t="\n"+e.prev+e.base;return t+dr.call(r,","+t)+"\n"+e.prev}function ie(r,e){var t=Mr(r);var n=[];if(t){n.length=r.length;for(var o=0;o<r.length;o++){n[o]=qr(r,o)?e(r[o],r):""}}var i=typeof gr==="function"?gr(r):[];var a;if(jr){a={};for(var f=0;f<i.length;f++){a["$"+i[f]]=i[f]}}for(var u in r){if(!qr(r,u)){continue}if(t&&String(Number(u))===u&&u<r.length){continue}if(jr&&a["$"+u]instanceof Symbol){continue}else if(lr.call(/[^\w$]/,u)){n.push(e(u,r)+": "+e(r[u],r))}else{n.push(u+": "+e(r[u],r))}}if(typeof gr==="function"){for(var c=0;c<i.length;c++){if(wr.call(r,i[c])){n.push("["+e(i[c])+"]: "+e(r[i[c]],r))}}}return n}var ae=D("%TypeError%");var fe=D("%WeakMap%",true);var ue=D("%Map%",true);var ce=q("WeakMap.prototype.get",true);var ye=q("WeakMap.prototype.set",true);var pe=q("WeakMap.prototype.has",true);var se=q("Map.prototype.get",true);var le=q("Map.prototype.set",true);var ve=q("Map.prototype.has",true);var de=function(r,e){for(var t=r,n;(n=t.next)!==null;t=n){if(n.key===e){t.next=n.next;n.next=r.next;r.next=n;return n}}};var be=function(r,e){var t=de(r,e);return t&&t.value};var he=function(r,e,t){var n=de(r,e);if(n){n.value=t}else{r.next={key:e,next:r.next,value:t}}};var me=function(r,e){return!!de(r,e)};var ge=function r(){var e;var t;var n;var o={assert:function(r){if(!o.has(r)){throw new ae("Side channel does not contain "+Fr(r))}},get:function(r){if(fe&&r&&(typeof r==="object"||typeof r==="function")){if(e){return ce(e,r)}}else if(ue){if(t){return se(t,r)}}else{if(n){return be(n,r)}}},has:function(r){if(fe&&r&&(typeof r==="object"||typeof r==="function")){if(e){return pe(e,r)}}else if(ue){if(t){return ve(t,r)}}else{if(n){return me(n,r)}}return false},set:function(r,o){if(fe&&r&&(typeof r==="object"||typeof r==="function")){if(!e){e=new fe}ye(e,r,o)}else if(ue){if(!t){t=new ue}le(t,r,o)}else{if(!n){n={key:{},next:null}}he(n,r,o)}}};return o};var Se=String.prototype.replace;var je=/%20/g;var Ae={RFC1738:"RFC1738",RFC3986:"RFC3986"};var we={default:Ae.RFC3986,formatters:{RFC1738:function(r){return Se.call(r,je,"+")},RFC3986:function(r){return String(r)}},RFC1738:Ae.RFC1738,RFC3986:Ae.RFC3986};var Oe=Object.prototype.hasOwnProperty;var Pe=Array.isArray;var Ee=function(){var r=[];for(var e=0;e<256;++e){r.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase())}return r}();var Ie=function r(e){while(e.length>1){var t=e.pop();var n=t.obj[t.prop];if(Pe(n)){var o=[];for(var i=0;i<n.length;++i){if(typeof n[i]!=="undefined"){o.push(n[i])}}t.obj[t.prop]=o}}};var Fe=function r(e,t){var n=t&&t.plainObjects?Object.create(null):{};for(var o=0;o<e.length;++o){if(typeof e[o]!=="undefined"){n[o]=e[o]}}return n};var Re=function r(e,t,n){if(!t){return e}if(typeof t!=="object"){if(Pe(e)){e.push(t)}else if(e&&typeof e==="object"){if(n&&(n.plainObjects||n.allowPrototypes)||!Oe.call(Object.prototype,t)){e[t]=true}}else{return[e,t]}return e}if(!e||typeof e!=="object"){return[e].concat(t)}var o=e;if(Pe(e)&&!Pe(t)){o=Fe(e,n)}if(Pe(e)&&Pe(t)){t.forEach((function(t,o){if(Oe.call(e,o)){var i=e[o];if(i&&typeof i==="object"&&t&&typeof t==="object"){e[o]=r(i,t,n)}else{e.push(t)}}else{e[o]=t}}));return e}return Object.keys(t).reduce((function(e,o){var i=t[o];if(Oe.call(e,o)){e[o]=r(e[o],i,n)}else{e[o]=i}return e}),o)};var ke=function r(e,t){return Object.keys(t).reduce((function(r,e){r[e]=t[e];return r}),e)};var Me=function(r,e,t){var n=r.replace(/\+/g," ");if(t==="iso-8859-1"){return n.replace(/%[0-9a-f]{2}/gi,unescape)}try{return decodeURIComponent(n)}catch(r){return n}};var xe=function r(e,t,n,o,i){if(e.length===0){return e}var a=e;if(typeof e==="symbol"){a=Symbol.prototype.toString.call(e)}else if(typeof e!=="string"){a=String(e)}if(n==="iso-8859-1"){return escape(a).replace(/%u[0-9a-f]{4}/gi,(function(r){return"%26%23"+parseInt(r.slice(2),16)+"%3B"}))}var f="";for(var u=0;u<a.length;++u){var c=a.charCodeAt(u);if(c===45||c===46||c===95||c===126||c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122||i===we.RFC1738&&(c===40||c===41)){f+=a.charAt(u);continue}if(c<128){f=f+Ee[c];continue}if(c<2048){f=f+(Ee[192|c>>6]+Ee[128|c&63]);continue}if(c<55296||c>=57344){f=f+(Ee[224|c>>12]+Ee[128|c>>6&63]+Ee[128|c&63]);continue}u+=1;c=65536+((c&1023)<<10|a.charCodeAt(u)&1023);f+=Ee[240|c>>18]+Ee[128|c>>12&63]+Ee[128|c>>6&63]+Ee[128|c&63]}return f};var Ue=function r(e){var t=[{obj:{o:e},prop:"o"}];var n=[];for(var o=0;o<t.length;++o){var i=t[o];var a=i.obj[i.prop];var f=Object.keys(a);for(var u=0;u<f.length;++u){var c=f[u];var y=a[c];if(typeof y==="object"&&y!==null&&n.indexOf(y)===-1){t.push({obj:a,prop:c});n.push(y)}}}Ie(t);return e};var Ne=function r(e){return Object.prototype.toString.call(e)==="[object RegExp]"};var Be=function r(e){if(!e||typeof e!=="object"){return false}return!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))};var We=function r(e,t){return[].concat(e,t)};var Te=function r(e,t){if(Pe(e)){var n=[];for(var o=0;o<e.length;o+=1){n.push(t(e[o]))}return n}return t(e)};var De={arrayToObject:Fe,assign:ke,combine:We,compact:Ue,decode:Me,encode:xe,isBuffer:Be,isRegExp:Ne,maybeMap:Te,merge:Re};var Ce=Object.prototype.hasOwnProperty;var _e={brackets:function r(e){return e+"[]"},comma:"comma",indices:function r(e,t){return e+"["+t+"]"},repeat:function r(e){return e}};var qe=Array.isArray;var Ge=String.prototype.split;var $e=Array.prototype.push;var Je=function(r,e){$e.apply(r,qe(e)?e:[e])};var Ve=Date.prototype.toISOString;var He=we["default"];var Le={addQueryPrefix:false,allowDots:false,charset:"utf-8",charsetSentinel:false,delimiter:"&",encode:true,encoder:De.encode,encodeValuesOnly:false,format:He,formatter:we.formatters[He],indices:false,serializeDate:function r(e){return Ve.call(e)},skipNulls:false,strictNullHandling:false};var ze=function r(e){return typeof e==="string"||typeof e==="number"||typeof e==="boolean"||typeof e==="symbol"||typeof e==="bigint"};var Qe={};var Ye=function r(e,t,n,o,i,a,f,u,c,y,p,s,l,v,d,b){var h=e;var m=b;var g=0;var S=false;while((m=m.get(Qe))!==void undefined&&!S){var j=m.get(e);g+=1;if(typeof j!=="undefined"){if(j===g){throw new RangeError("Cyclic object value")}else{S=true}}if(typeof m.get(Qe)==="undefined"){g=0}}if(typeof u==="function"){h=u(t,h)}else if(h instanceof Date){h=p(h)}else if(n==="comma"&&qe(h)){h=De.maybeMap(h,(function(r){if(r instanceof Date){return p(r)}return r}))}if(h===null){if(i){return f&&!v?f(t,Le.encoder,d,"key",s):t}h=""}if(ze(h)||De.isBuffer(h)){if(f){var A=v?t:f(t,Le.encoder,d,"key",s);if(n==="comma"&&v){var w=Ge.call(String(h),",");var O="";for(var P=0;P<w.length;++P){O+=(P===0?"":",")+l(f(w[P],Le.encoder,d,"value",s))}return[l(A)+(o&&qe(h)&&w.length===1?"[]":"")+"="+O]}return[l(A)+"="+l(f(h,Le.encoder,d,"value",s))]}return[l(t)+"="+l(String(h))]}var E=[];if(typeof h==="undefined"){return E}var I;if(n==="comma"&&qe(h)){I=[{value:h.length>0?h.join(",")||null:void undefined}]}else if(qe(u)){I=u}else{var F=Object.keys(h);I=c?F.sort(c):F}var R=o&&qe(h)&&h.length===1?t+"[]":t;for(var k=0;k<I.length;++k){var M=I[k];var x=typeof M==="object"&&typeof M.value!=="undefined"?M.value:h[M];if(a&&x===null){continue}var U=qe(h)?typeof n==="function"?n(R,M):R:R+(y?"."+M:"["+M+"]");b.set(e,g);var N=ge();N.set(Qe,b);Je(E,r(x,U,n,o,i,a,f,u,c,y,p,s,l,v,d,N))}return E};var Ke=function r(e){if(!e){return Le}if(e.encoder!==null&&typeof e.encoder!=="undefined"&&typeof e.encoder!=="function"){throw new TypeError("Encoder has to be a function.")}var t=e.charset||Le.charset;if(typeof e.charset!=="undefined"&&e.charset!=="utf-8"&&e.charset!=="iso-8859-1"){throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined")}var n=we["default"];if(typeof e.format!=="undefined"){if(!Ce.call(we.formatters,e.format)){throw new TypeError("Unknown format option provided.")}n=e.format}var o=we.formatters[n];var i=Le.filter;if(typeof e.filter==="function"||qe(e.filter)){i=e.filter}return{addQueryPrefix:typeof e.addQueryPrefix==="boolean"?e.addQueryPrefix:Le.addQueryPrefix,allowDots:typeof e.allowDots==="undefined"?Le.allowDots:!!e.allowDots,charset:t,charsetSentinel:typeof e.charsetSentinel==="boolean"?e.charsetSentinel:Le.charsetSentinel,delimiter:typeof e.delimiter==="undefined"?Le.delimiter:e.delimiter,encode:typeof e.encode==="boolean"?e.encode:Le.encode,encoder:typeof e.encoder==="function"?e.encoder:Le.encoder,encodeValuesOnly:typeof e.encodeValuesOnly==="boolean"?e.encodeValuesOnly:Le.encodeValuesOnly,filter:i,format:n,formatter:o,serializeDate:typeof e.serializeDate==="function"?e.serializeDate:Le.serializeDate,skipNulls:typeof e.skipNulls==="boolean"?e.skipNulls:Le.skipNulls,sort:typeof e.sort==="function"?e.sort:null,strictNullHandling:typeof e.strictNullHandling==="boolean"?e.strictNullHandling:Le.strictNullHandling}};var Xe=function(r,e){var t=r;var n=Ke(e);var o;var i;if(typeof n.filter==="function"){i=n.filter;t=i("",t)}else if(qe(n.filter)){i=n.filter;o=i}var a=[];if(typeof t!=="object"||t===null){return""}var f;if(e&&e.arrayFormat in _e){f=e.arrayFormat}else if(e&&"indices"in e){f=e.indices?"indices":"repeat"}else{f="indices"}var u=_e[f];if(e&&"commaRoundTrip"in e&&typeof e.commaRoundTrip!=="boolean"){throw new TypeError("`commaRoundTrip` must be a boolean, or absent")}var c=u==="comma"&&e&&e.commaRoundTrip;if(!o){o=Object.keys(t)}if(n.sort){o.sort(n.sort)}var y=ge();for(var p=0;p<o.length;++p){var s=o[p];if(n.skipNulls&&t[s]===null){continue}Je(a,Ye(t[s],s,u,c,n.strictNullHandling,n.skipNulls,n.encode?n.encoder:null,n.filter,n.sort,n.allowDots,n.serializeDate,n.format,n.formatter,n.encodeValuesOnly,n.charset,y))}var l=a.join(n.delimiter);var v=n.addQueryPrefix===true?"?":"";if(n.charsetSentinel){if(n.charset==="iso-8859-1"){v+="utf8=%26%2310003%3B&"}else{v+="utf8=%E2%9C%93&"}}return l.length>0?v+l:""};var Ze=Object.prototype.hasOwnProperty;var rt=Array.isArray;var et={allowDots:false,allowPrototypes:false,allowSparse:false,arrayLimit:20,charset:"utf-8",charsetSentinel:false,comma:false,decoder:De.decode,delimiter:"&",depth:5,ignoreQueryPrefix:false,interpretNumericEntities:false,parameterLimit:1e3,parseArrays:true,plainObjects:false,strictNullHandling:false};var tt=function(r){return r.replace(/&#(\d+);/g,(function(r,e){return String.fromCharCode(parseInt(e,10))}))};var nt=function(r,e){if(r&&typeof r==="string"&&e.comma&&r.indexOf(",")>-1){return r.split(",")}return r};var ot="utf8=%26%2310003%3B";var it="utf8=%E2%9C%93";var at=function r(e,t){var n={};var o=t.ignoreQueryPrefix?e.replace(/^\?/,""):e;var i=t.parameterLimit===Infinity?undefined:t.parameterLimit;var a=o.split(t.delimiter,i);var f=-1;var u;var c=t.charset;if(t.charsetSentinel){for(u=0;u<a.length;++u){if(a[u].indexOf("utf8=")===0){if(a[u]===it){c="utf-8"}else if(a[u]===ot){c="iso-8859-1"}f=u;u=a.length}}}for(u=0;u<a.length;++u){if(u===f){continue}var y=a[u];var p=y.indexOf("]=");var s=p===-1?y.indexOf("="):p+1;var l,v;if(s===-1){l=t.decoder(y,et.decoder,c,"key");v=t.strictNullHandling?null:""}else{l=t.decoder(y.slice(0,s),et.decoder,c,"key");v=De.maybeMap(nt(y.slice(s+1),t),(function(r){return t.decoder(r,et.decoder,c,"value")}))}if(v&&t.interpretNumericEntities&&c==="iso-8859-1"){v=tt(v)}if(y.indexOf("[]=")>-1){v=rt(v)?[v]:v}if(Ze.call(n,l)){n[l]=De.combine(n[l],v)}else{n[l]=v}}return n};var ft=function(r,e,t,n){var o=n?e:nt(e,t);for(var i=r.length-1;i>=0;--i){var a;var f=r[i];if(f==="[]"&&t.parseArrays){a=[].concat(o)}else{a=t.plainObjects?Object.create(null):{};var u=f.charAt(0)==="["&&f.charAt(f.length-1)==="]"?f.slice(1,-1):f;var c=parseInt(u,10);if(!t.parseArrays&&u===""){a={0:o}}else if(!isNaN(c)&&f!==u&&String(c)===u&&c>=0&&(t.parseArrays&&c<=t.arrayLimit)){a=[];a[c]=o}else if(u!=="__proto__"){a[u]=o}}o=a}return o};var ut=function r(e,t,n,o){if(!e){return}var i=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e;var a=/(\[[^[\]]*])/;var f=/(\[[^[\]]*])/g;var u=n.depth>0&&a.exec(i);var c=u?i.slice(0,u.index):i;var y=[];if(c){if(!n.plainObjects&&Ze.call(Object.prototype,c)){if(!n.allowPrototypes){return}}y.push(c)}var p=0;while(n.depth>0&&(u=f.exec(i))!==null&&p<n.depth){p+=1;if(!n.plainObjects&&Ze.call(Object.prototype,u[1].slice(1,-1))){if(!n.allowPrototypes){return}}y.push(u[1])}if(u){y.push("["+i.slice(u.index)+"]")}return ft(y,t,n,o)};var ct=function r(e){if(!e){return et}if(e.decoder!==null&&e.decoder!==undefined&&typeof e.decoder!=="function"){throw new TypeError("Decoder has to be a function.")}if(typeof e.charset!=="undefined"&&e.charset!=="utf-8"&&e.charset!=="iso-8859-1"){throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined")}var t=typeof e.charset==="undefined"?et.charset:e.charset;return{allowDots:typeof e.allowDots==="undefined"?et.allowDots:!!e.allowDots,allowPrototypes:typeof e.allowPrototypes==="boolean"?e.allowPrototypes:et.allowPrototypes,allowSparse:typeof e.allowSparse==="boolean"?e.allowSparse:et.allowSparse,arrayLimit:typeof e.arrayLimit==="number"?e.arrayLimit:et.arrayLimit,charset:t,charsetSentinel:typeof e.charsetSentinel==="boolean"?e.charsetSentinel:et.charsetSentinel,comma:typeof e.comma==="boolean"?e.comma:et.comma,decoder:typeof e.decoder==="function"?e.decoder:et.decoder,delimiter:typeof e.delimiter==="string"||De.isRegExp(e.delimiter)?e.delimiter:et.delimiter,depth:typeof e.depth==="number"||e.depth===false?+e.depth:et.depth,ignoreQueryPrefix:e.ignoreQueryPrefix===true,interpretNumericEntities:typeof e.interpretNumericEntities==="boolean"?e.interpretNumericEntities:et.interpretNumericEntities,parameterLimit:typeof e.parameterLimit==="number"?e.parameterLimit:et.parameterLimit,parseArrays:e.parseArrays!==false,plainObjects:typeof e.plainObjects==="boolean"?e.plainObjects:et.plainObjects,strictNullHandling:typeof e.strictNullHandling==="boolean"?e.strictNullHandling:et.strictNullHandling}};var yt=function(r,e){var t=ct(e);if(r===""||r===null||typeof r==="undefined"){return t.plainObjects?Object.create(null):{}}var n=typeof r==="string"?at(r,t):r;var o=t.plainObjects?Object.create(null):{};var i=Object.keys(n);for(var a=0;a<i.length;++a){var f=i[a];var u=ut(f,n[f],t,typeof r==="string");o=De.merge(o,u,t)}if(t.allowSparse===true){return o}return De.compact(o)};var pt={formats:we,parse:yt,stringify:Xe};const st="nano-component-store:";const lt=(r="hash",e=window)=>{if(!e||!e.location)return{};if(r==="hash"&&e.location.hash)return pt.parse(e.location.hash.replace(/^\#/,""),{strictNullHandling:true});else if(r==="query"&&e.location.search)return pt.parse(e.location.search,{ignoreQueryPrefix:true});return{}};const vt=(r,e="hash",t=window,n="replace")=>{if(!t||!t.history)return;const o=e==="query"?t.location.search:t.location.hash;const i=e==="query"?t.location.pathname:t.location.pathname+t.location.search;let a=pt.stringify(r,{strictNullHandling:true,addQueryPrefix:false,encodeValuesOnly:true});if(!a||!a.length){if(!o||!o.length)return;if(n==="replace")t.history.replaceState(null,null,i);else t.history.pushState(null,null,i);return}if(e==="hash"&&t.location.hash==="#"+a){try{document.querySelector("#"+a).focus()}catch(r){}return}a=(e==="hash"?"#":"?")+a;if(a===o)return;if(n==="replace")t.history.replaceState(null,null,i+a);else t.history.pushState(null,null,i+a)};const dt=(r,e,t="hash",n=window,o="replace")=>{r=Object.keys(pt.parse(r))[0];const i={};i[r]=e;let a=lt(t,n);a=Object.assign(Object.assign({},a),i);vt(a,t,n,o)};const bt=(r,e="hash",t=window)=>{r=Object.keys(pt.parse(r))[0];const n=lt(e,t);return n[r]||null};const ht=(r,e,t=window)=>{try{if(!e){t.sessionStorage.removeItem(st+r);return}t.sessionStorage.setItem(st+r,JSON.stringify(e))}catch(r){throw r}};const mt=(r,e=window)=>{try{const t=e.sessionStorage.getItem(st+r);return t!==null?JSON.parse(t):null}catch(r){throw r}};const gt=(r,e,t=window)=>{try{if(!e){t.localStorage.removeItem(st+r);return}t.localStorage.setItem(st+r,JSON.stringify(e))}catch(r){throw r}};const St=(r,e=window)=>{try{const t=e.localStorage.getItem(st+r);return t!==null?JSON.parse(t):null}catch(r){throw r}};const jt=new Map;const At={init(e,t,n,o){const i=o||e.storeId||r(e).id;if(!i){console.error("No id set. You can only instantiate a new component store with an id. ");return}if(jt.get(i)){console.error("Duplicate store id usage. A store ID must be unique!",i);return}const a=t.reduce(((r,t)=>{if(typeof e[t]!==undefined)r[t]=e[t];return r}),{});jt.set(i,new wt(i,e,t,a,n));const f=jt.get(i);f.dispatchToProps();const u=e.connectedCallback;e.connectedCallback=function(){jt.set(i,new wt(i,e,t,a,n));const r=jt.get(i);if(u){u.call(e)}if(r)r.dispatchToProps()};const c=e.componentDidRender;e.componentDidRender=function(){const r=jt.get(i);if(c){c.call(e)}if(r)r.savePropsToStore()};const y=e.disconnectedCallback;e.disconnectedCallback=function(){const r=jt.get(i);if(r)r.delete();jt.delete(i);if(y){y.call(e)}}}};class wt{constructor(r,t,n,o,i){this.method="session";this.initialState={};this.updateStore=true;this.onUrlChange=()=>{this.dispatchToProps(false)};this.savePropsToStore=()=>{if(this.updateStore){this.save(this.getData)}else if(!this.updateStore)this.updateStore=true};this.dispatchToProps=(r=true)=>{const e=this.retrieve();if(!e&&r)return;this.updateStore=r;this.keys.forEach((r=>{this.component[r]=e?e[r]:undefined}))};this.delete=()=>{if(this.method==="url-hash-push"||this.method==="url-query-push"){window.removeEventListener("popstate",this.onUrlChange)}};if(!r)throw new Error("No id set. You can only instantiate a new component store with an id");this.id=r;this.keys=n;this.component=t;if(o)this.initialState=o;if(i)this.method=i;this.savePropsToStore=e(this.savePropsToStore,500);if(this.method==="url-hash-push"||this.method==="url-query-push"){window.addEventListener("popstate",this.onUrlChange)}}equality(r,e){if(typeof r!==typeof e)return false;if(typeof r!=="object")return r===e;return JSON.stringify(r)===JSON.stringify(e)}get getData(){const r=this.keys.reduce(((r,e)=>{const t=this.equality(this.component[e],this.initialState[e]);if(typeof this.component[e]!=="undefined"&&!t){r[e]=this.component[e]}else if(t)delete r[e];return r}),{});return Object.keys(r).length?r:undefined}retrieve(){switch(this.method){case"url-hash":case"url-hash-push":return bt(this.id,"hash");case"url-query":case"url-query-push":return bt(this.id,"query");case"local":return St(this.id);default:return mt(this.id)}}save(r){switch(this.method){case"url-hash":return dt(this.id,r,"hash");case"url-query":return dt(this.id,r,"query");case"url-hash-push":return dt(this.id,r,"hash",window,"push");case"url-query-push":return dt(this.id,r,"query",window,"push");case"local":return gt(this.id,r);default:return ht(this.id,r)}}}export{At as C};
5
+ //# sourceMappingURL=p-7c23e950.js.map