@nanoporetech-digital/components 2.9.0 → 2.11.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 (660) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/dist/cjs/{algoliasearch.umd-dcf18a4a.js → algoliasearch.umd-7ee60729.js} +3 -3
  3. package/dist/cjs/{algoliasearch.umd-dcf18a4a.js.map → algoliasearch.umd-7ee60729.js.map} +1 -1
  4. package/dist/cjs/{component-store-722032a5.js → component-store-19844199.js} +37 -25
  5. package/dist/cjs/component-store-19844199.js.map +1 -0
  6. package/dist/cjs/{date-utils-0ae9a12d.js → date-utils-b3af910d.js} +2 -2
  7. package/dist/cjs/date-utils-b3af910d.js.map +1 -0
  8. package/dist/cjs/{global-0d4f3b77.js → global-989678ec.js} +1 -8
  9. package/dist/cjs/global-989678ec.js.map +1 -0
  10. package/dist/cjs/index-cb62df44.js +5 -0
  11. package/dist/cjs/loader.cjs.js +2 -2
  12. package/dist/cjs/nano-algolia-filter.cjs.entry.js +1 -1
  13. package/dist/cjs/nano-algolia-input.cjs.entry.js +2 -2
  14. package/dist/cjs/nano-algolia.cjs.entry.js +2 -2
  15. package/dist/cjs/nano-checkbox-group.cjs.entry.js +58 -20
  16. package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
  17. package/dist/cjs/nano-checkbox.cjs.entry.js +27 -15
  18. package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
  19. package/dist/cjs/nano-components.cjs.js +2 -2
  20. package/dist/cjs/nano-datalist_3.cjs.entry.js +4 -1
  21. package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -1
  22. package/dist/cjs/nano-date-input.cjs.entry.js +30 -9
  23. package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
  24. package/dist/cjs/nano-date-picker.cjs.entry.js +2 -2
  25. package/dist/cjs/nano-date-picker.cjs.entry.js.map +1 -1
  26. package/dist/cjs/nano-details.cjs.entry.js +1 -2
  27. package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
  28. package/dist/cjs/nano-dialog.cjs.entry.js +13 -2
  29. package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
  30. package/dist/cjs/nano-field-validator.cjs.entry.js +531 -0
  31. package/dist/cjs/nano-field-validator.cjs.entry.js.map +1 -0
  32. package/dist/cjs/nano-file-upload.cjs.entry.js +59 -36
  33. package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
  34. package/dist/cjs/nano-global-nav.cjs.entry.js +2 -2
  35. package/dist/cjs/nano-global-search-results.cjs.entry.js +1 -2
  36. package/dist/cjs/nano-global-search-results.cjs.entry.js.map +1 -1
  37. package/dist/cjs/nano-grid_3.cjs.entry.js +1 -2
  38. package/dist/cjs/nano-grid_3.cjs.entry.js.map +1 -1
  39. package/dist/cjs/nano-icon-button.cjs.entry.js +4 -0
  40. package/dist/cjs/nano-icon-button.cjs.entry.js.map +1 -1
  41. package/dist/cjs/nano-icon.cjs.entry.js.map +1 -1
  42. package/dist/cjs/nano-input.cjs.entry.js +25 -13
  43. package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
  44. package/dist/cjs/nano-nav-item_2.cjs.entry.js +52 -16
  45. package/dist/cjs/nano-nav-item_2.cjs.entry.js.map +1 -1
  46. package/dist/cjs/nano-resize-observe_2.cjs.entry.js +1 -2
  47. package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
  48. package/dist/cjs/nano-slides.cjs.entry.js +1 -2
  49. package/dist/cjs/nano-slides.cjs.entry.js.map +1 -1
  50. package/dist/cjs/nano-sticker.cjs.entry.js +4 -5
  51. package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
  52. package/dist/cjs/nano-tab-group.cjs.entry.js +5 -3
  53. package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
  54. package/dist/cjs/nano-tab.cjs.entry.js +5 -1
  55. package/dist/cjs/nano-tab.cjs.entry.js.map +1 -1
  56. package/dist/cjs/nano-tooltip.cjs.entry.js +1 -1
  57. package/dist/cjs/nano-tooltip.cjs.entry.js.map +1 -1
  58. package/dist/collection/collection-manifest.json +2 -1
  59. package/dist/collection/components/accordion/accordion.js +1 -1
  60. package/dist/collection/components/alert/alert.js +1 -1
  61. package/dist/collection/components/algolia/algolia-filter.js +2 -2
  62. package/dist/collection/components/algolia/algolia-input.js +5 -5
  63. package/dist/collection/components/algolia/algolia-results.js +1 -1
  64. package/dist/collection/components/algolia/algolia.js +6 -6
  65. package/dist/collection/components/checkbox/checkbox-group.css +5 -5
  66. package/dist/collection/components/checkbox/checkbox-group.js +119 -25
  67. package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
  68. package/dist/collection/components/checkbox/checkbox.css +1 -1
  69. package/dist/collection/components/checkbox/checkbox.js +83 -22
  70. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  71. package/dist/collection/components/datalist/datalist.js +5 -2
  72. package/dist/collection/components/datalist/datalist.js.map +1 -1
  73. package/dist/collection/components/date-input/date-input.js +99 -16
  74. package/dist/collection/components/date-input/date-input.js.map +1 -1
  75. package/dist/collection/components/date-picker/date-picker.css +1 -1
  76. package/dist/collection/components/date-picker/date-picker.js +5 -5
  77. package/dist/collection/components/details/details.js +1 -2
  78. package/dist/collection/components/details/details.js.map +1 -1
  79. package/dist/collection/components/dialog/dialog.js +34 -1
  80. package/dist/collection/components/dialog/dialog.js.map +1 -1
  81. package/dist/collection/components/dropdown/dropdown.js +1 -1
  82. package/dist/collection/components/field-validator/field-validator.js +579 -0
  83. package/dist/collection/components/field-validator/field-validator.js.map +1 -0
  84. package/dist/collection/components/file-upload/file-upload.css +17 -5
  85. package/dist/collection/components/file-upload/file-upload.js +111 -44
  86. package/dist/collection/components/file-upload/file-upload.js.map +1 -1
  87. package/dist/collection/components/global-nav/global-nav.js +4 -4
  88. package/dist/collection/components/global-search-results/global-search-results.js +0 -1
  89. package/dist/collection/components/global-search-results/global-search-results.js.map +1 -1
  90. package/dist/collection/components/grid/grid-item.js +1 -1
  91. package/dist/collection/components/grid/grid.js +0 -1
  92. package/dist/collection/components/grid/grid.js.map +1 -1
  93. package/dist/collection/components/icon/icon.js +2 -2
  94. package/dist/collection/components/icon/icon.js.map +1 -1
  95. package/dist/collection/components/icon-button/icon-button.js +23 -1
  96. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  97. package/dist/collection/components/input/input.css +3 -2
  98. package/dist/collection/components/input/input.js +51 -22
  99. package/dist/collection/components/input/input.js.map +1 -1
  100. package/dist/collection/components/nav-item/nav-item.js +4 -4
  101. package/dist/collection/components/range/range.js +4 -4
  102. package/dist/collection/components/resize-observe/resize-observe.js +1 -2
  103. package/dist/collection/components/resize-observe/resize-observe.js.map +1 -1
  104. package/dist/collection/components/select/select.css +4 -3
  105. package/dist/collection/components/select/select.js +86 -26
  106. package/dist/collection/components/select/select.js.map +1 -1
  107. package/dist/collection/components/slides/slides.js +7 -8
  108. package/dist/collection/components/slides/slides.js.map +1 -1
  109. package/dist/collection/components/{sticky → sticker}/sticker.css +0 -0
  110. package/dist/collection/components/{sticky → sticker}/sticker.js +2 -3
  111. package/dist/collection/components/sticker/sticker.js.map +1 -0
  112. package/dist/collection/components/tabs/tab-group.js +5 -3
  113. package/dist/collection/components/tabs/tab-group.js.map +1 -1
  114. package/dist/collection/components/tabs/tab.js +5 -1
  115. package/dist/collection/components/tabs/tab.js.map +1 -1
  116. package/dist/collection/components/tooltip/tooltip.css +0 -1
  117. package/dist/collection/global/script/global.js +0 -7
  118. package/dist/collection/global/script/global.js.map +1 -1
  119. package/dist/collection/utils/date-utils.js +1 -1
  120. package/dist/collection/utils/date-utils.js.map +1 -1
  121. package/dist/collection/utils/store/component-store.js +4 -13
  122. package/dist/collection/utils/store/component-store.js.map +1 -1
  123. package/dist/collection/utils/store/get-set.js +15 -1
  124. package/dist/collection/utils/store/get-set.js.map +1 -1
  125. package/dist/components/algoliasearch.umd.js +2 -2
  126. package/dist/components/algoliasearch.umd.js.map +1 -1
  127. package/dist/components/component-store.js +36 -24
  128. package/dist/components/component-store.js.map +1 -1
  129. package/dist/components/datalist.js +4 -1
  130. package/dist/components/datalist.js.map +1 -1
  131. package/dist/components/date-picker.js +2 -2
  132. package/dist/components/date-picker.js.map +1 -1
  133. package/dist/components/grid.js +1 -2
  134. package/dist/components/grid.js.map +1 -1
  135. package/dist/components/icon-button.js +6 -1
  136. package/dist/components/icon-button.js.map +1 -1
  137. package/dist/components/icon.js.map +1 -1
  138. package/dist/components/index.js +0 -7
  139. package/dist/components/index.js.map +1 -1
  140. package/dist/components/input.js +27 -14
  141. package/dist/components/input.js.map +1 -1
  142. package/dist/components/nano-checkbox-group.js +62 -21
  143. package/dist/components/nano-checkbox-group.js.map +1 -1
  144. package/dist/components/nano-checkbox.js +31 -17
  145. package/dist/components/nano-checkbox.js.map +1 -1
  146. package/dist/components/nano-date-input.js +32 -8
  147. package/dist/components/nano-date-input.js.map +1 -1
  148. package/dist/components/nano-details.js +1 -2
  149. package/dist/components/nano-details.js.map +1 -1
  150. package/dist/components/nano-dialog.js +13 -1
  151. package/dist/components/nano-dialog.js.map +1 -1
  152. package/dist/components/nano-field-validator.d.ts +11 -0
  153. package/dist/components/nano-field-validator.js +559 -0
  154. package/dist/components/nano-field-validator.js.map +1 -0
  155. package/dist/components/nano-file-upload.js +62 -37
  156. package/dist/components/nano-file-upload.js.map +1 -1
  157. package/dist/components/nano-global-search-results.js +1 -2
  158. package/dist/components/nano-global-search-results.js.map +1 -1
  159. package/dist/components/nano-slides.js +1 -2
  160. package/dist/components/nano-slides.js.map +1 -1
  161. package/dist/components/nano-tab-group.js +4 -2
  162. package/dist/components/nano-tab-group.js.map +1 -1
  163. package/dist/components/nano-tab.js +5 -1
  164. package/dist/components/nano-tab.js.map +1 -1
  165. package/dist/components/resize-observe.js +1 -2
  166. package/dist/components/resize-observe.js.map +1 -1
  167. package/dist/components/select.js +56 -18
  168. package/dist/components/select.js.map +1 -1
  169. package/dist/components/sticker.js +4 -5
  170. package/dist/components/sticker.js.map +1 -1
  171. package/dist/components/tooltip.js +1 -1
  172. package/dist/components/tooltip.js.map +1 -1
  173. package/dist/custom-elements/index.d.ts +6 -0
  174. package/dist/custom-elements/index.js +20842 -20843
  175. package/dist/custom-elements/index.js.map +1 -1
  176. package/dist/esm/{algolia-data-dd72d1b7.js → algolia-data-80c1169a.js} +2 -2
  177. package/dist/esm/{algolia-data-dd72d1b7.js.map → algolia-data-80c1169a.js.map} +1 -1
  178. package/dist/esm/{algoliasearch.umd-6143495f.js → algoliasearch.umd-86359963.js} +3 -3
  179. package/dist/esm/{algoliasearch.umd-6143495f.js.map → algoliasearch.umd-86359963.js.map} +1 -1
  180. package/dist/esm/{component-store-b6fbfa35.js → component-store-d238fee4.js} +38 -26
  181. package/dist/esm/component-store-d238fee4.js.map +1 -0
  182. package/dist/esm/{date-utils-e4b757ff.js → date-utils-839cb010.js} +2 -2
  183. package/dist/esm/date-utils-839cb010.js.map +1 -0
  184. package/dist/esm/{form-control-cf23c6a2.js → form-control-ad05507c.js} +2 -2
  185. package/dist/esm/{form-control-cf23c6a2.js.map → form-control-ad05507c.js.map} +1 -1
  186. package/dist/esm/{global-d5ec4d53.js → global-8047b4ff.js} +1 -8
  187. package/dist/esm/global-8047b4ff.js.map +1 -0
  188. package/dist/esm/{index-5f8d16e7.js → index-c42becad.js} +7 -2
  189. package/dist/esm/{index-5f8d16e7.js.map → index-c42becad.js.map} +1 -1
  190. package/dist/esm/loader.js +3 -3
  191. package/dist/esm/nano-accordion.entry.js +1 -1
  192. package/dist/esm/nano-alert.entry.js +1 -1
  193. package/dist/esm/nano-algolia-filter.entry.js +3 -3
  194. package/dist/esm/nano-algolia-input.entry.js +4 -4
  195. package/dist/esm/nano-algolia-pagination.entry.js +2 -2
  196. package/dist/esm/nano-algolia-results.entry.js +2 -2
  197. package/dist/esm/nano-algolia.entry.js +4 -4
  198. package/dist/esm/nano-aspect-ratio.entry.js +1 -1
  199. package/dist/esm/nano-checkbox-group.entry.js +59 -21
  200. package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
  201. package/dist/esm/nano-checkbox.entry.js +28 -16
  202. package/dist/esm/nano-checkbox.entry.js.map +1 -1
  203. package/dist/esm/nano-components.js +3 -3
  204. package/dist/esm/nano-datalist_3.entry.js +5 -2
  205. package/dist/esm/nano-datalist_3.entry.js.map +1 -1
  206. package/dist/esm/nano-date-input.entry.js +31 -10
  207. package/dist/esm/nano-date-input.entry.js.map +1 -1
  208. package/dist/esm/nano-date-picker.entry.js +3 -3
  209. package/dist/esm/nano-date-picker.entry.js.map +1 -1
  210. package/dist/esm/nano-details.entry.js +2 -3
  211. package/dist/esm/nano-details.entry.js.map +1 -1
  212. package/dist/esm/nano-dialog.entry.js +14 -3
  213. package/dist/esm/nano-dialog.entry.js.map +1 -1
  214. package/dist/esm/nano-drawer.entry.js +1 -1
  215. package/dist/esm/nano-dropdown.entry.js +1 -1
  216. package/dist/esm/nano-field-validator.entry.js +527 -0
  217. package/dist/esm/nano-field-validator.entry.js.map +1 -0
  218. package/dist/esm/nano-file-upload.entry.js +60 -37
  219. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  220. package/dist/esm/nano-global-nav.entry.js +3 -3
  221. package/dist/esm/nano-global-search-results.entry.js +2 -3
  222. package/dist/esm/nano-global-search-results.entry.js.map +1 -1
  223. package/dist/esm/nano-grid_3.entry.js +2 -3
  224. package/dist/esm/nano-grid_3.entry.js.map +1 -1
  225. package/dist/esm/nano-hero.entry.js +1 -1
  226. package/dist/esm/nano-icon-button.entry.js +5 -1
  227. package/dist/esm/nano-icon-button.entry.js.map +1 -1
  228. package/dist/esm/nano-icon.entry.js +1 -1
  229. package/dist/esm/nano-icon.entry.js.map +1 -1
  230. package/dist/esm/nano-input.entry.js +28 -16
  231. package/dist/esm/nano-input.entry.js.map +1 -1
  232. package/dist/esm/nano-menu-drawer.entry.js +1 -1
  233. package/dist/esm/nano-nav-item_2.entry.js +55 -19
  234. package/dist/esm/nano-nav-item_2.entry.js.map +1 -1
  235. package/dist/esm/nano-range.entry.js +1 -1
  236. package/dist/esm/nano-rating.entry.js +1 -1
  237. package/dist/esm/nano-resize-observe_2.entry.js +2 -3
  238. package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
  239. package/dist/esm/nano-slide.entry.js +1 -1
  240. package/dist/esm/nano-slides.entry.js +2 -3
  241. package/dist/esm/nano-slides.entry.js.map +1 -1
  242. package/dist/esm/nano-spinner.entry.js +1 -1
  243. package/dist/esm/nano-split-pane.entry.js +1 -1
  244. package/dist/esm/nano-sticker.entry.js +5 -6
  245. package/dist/esm/nano-sticker.entry.js.map +1 -1
  246. package/dist/esm/nano-tab-content.entry.js +1 -1
  247. package/dist/esm/nano-tab-group.entry.js +6 -4
  248. package/dist/esm/nano-tab-group.entry.js.map +1 -1
  249. package/dist/esm/nano-tab.entry.js +6 -2
  250. package/dist/esm/nano-tab.entry.js.map +1 -1
  251. package/dist/esm/nano-tooltip.entry.js +2 -2
  252. package/dist/esm/nano-tooltip.entry.js.map +1 -1
  253. package/dist/esm-es5/{algolia-data-dd72d1b7.js → algolia-data-80c1169a.js} +2 -2
  254. package/dist/esm-es5/{algolia-data-dd72d1b7.js.map → algolia-data-80c1169a.js.map} +0 -0
  255. package/dist/esm-es5/{algoliasearch.umd-6143495f.js → algoliasearch.umd-86359963.js} +3 -3
  256. package/dist/esm-es5/{algoliasearch.umd-6143495f.js.map → algoliasearch.umd-86359963.js.map} +1 -1
  257. package/dist/esm-es5/component-store-d238fee4.js +5 -0
  258. package/dist/esm-es5/component-store-d238fee4.js.map +1 -0
  259. package/dist/esm-es5/date-utils-839cb010.js +5 -0
  260. package/dist/esm-es5/date-utils-839cb010.js.map +1 -0
  261. package/dist/esm-es5/{form-control-cf23c6a2.js → form-control-ad05507c.js} +2 -2
  262. package/dist/esm-es5/{form-control-cf23c6a2.js.map → form-control-ad05507c.js.map} +0 -0
  263. package/dist/esm-es5/{global-d5ec4d53.js → global-8047b4ff.js} +2 -2
  264. package/dist/esm-es5/global-8047b4ff.js.map +1 -0
  265. package/dist/esm-es5/{index-5f8d16e7.js → index-c42becad.js} +2 -2
  266. package/dist/esm-es5/{index-5f8d16e7.js.map → index-c42becad.js.map} +0 -0
  267. package/dist/esm-es5/loader.js +1 -1
  268. package/dist/esm-es5/loader.js.map +1 -1
  269. package/dist/esm-es5/nano-accordion.entry.js +1 -1
  270. package/dist/esm-es5/nano-alert.entry.js +1 -1
  271. package/dist/esm-es5/nano-algolia-filter.entry.js +1 -1
  272. package/dist/esm-es5/nano-algolia-input.entry.js +1 -1
  273. package/dist/esm-es5/nano-algolia-pagination.entry.js +1 -1
  274. package/dist/esm-es5/nano-algolia-results.entry.js +1 -1
  275. package/dist/esm-es5/nano-algolia.entry.js +1 -1
  276. package/dist/esm-es5/nano-aspect-ratio.entry.js +1 -1
  277. package/dist/esm-es5/nano-checkbox-group.entry.js +2 -2
  278. package/dist/esm-es5/nano-checkbox-group.entry.js.map +1 -1
  279. package/dist/esm-es5/nano-checkbox.entry.js +1 -1
  280. package/dist/esm-es5/nano-checkbox.entry.js.map +1 -1
  281. package/dist/esm-es5/nano-components.js +1 -1
  282. package/dist/esm-es5/nano-components.js.map +1 -1
  283. package/dist/esm-es5/nano-datalist_3.entry.js +1 -1
  284. package/dist/esm-es5/nano-datalist_3.entry.js.map +1 -1
  285. package/dist/esm-es5/nano-date-input.entry.js +1 -1
  286. package/dist/esm-es5/nano-date-input.entry.js.map +1 -1
  287. package/dist/esm-es5/nano-date-picker.entry.js +1 -1
  288. package/dist/esm-es5/nano-date-picker.entry.js.map +1 -1
  289. package/dist/esm-es5/nano-details.entry.js +1 -1
  290. package/dist/esm-es5/nano-details.entry.js.map +1 -1
  291. package/dist/esm-es5/nano-dialog.entry.js +1 -1
  292. package/dist/esm-es5/nano-dialog.entry.js.map +1 -1
  293. package/dist/esm-es5/nano-drawer.entry.js +1 -1
  294. package/dist/esm-es5/nano-dropdown.entry.js +1 -1
  295. package/dist/esm-es5/nano-field-validator.entry.js +5 -0
  296. package/dist/esm-es5/nano-field-validator.entry.js.map +1 -0
  297. package/dist/esm-es5/nano-file-upload.entry.js +2 -2
  298. package/dist/esm-es5/nano-file-upload.entry.js.map +1 -1
  299. package/dist/esm-es5/nano-global-nav.entry.js +1 -1
  300. package/dist/esm-es5/nano-global-search-results.entry.js +1 -1
  301. package/dist/esm-es5/nano-global-search-results.entry.js.map +1 -1
  302. package/dist/esm-es5/nano-grid_3.entry.js +1 -1
  303. package/dist/esm-es5/nano-grid_3.entry.js.map +1 -1
  304. package/dist/esm-es5/nano-hero.entry.js +1 -1
  305. package/dist/esm-es5/nano-icon-button.entry.js +2 -2
  306. package/dist/esm-es5/nano-icon-button.entry.js.map +1 -1
  307. package/dist/esm-es5/nano-icon.entry.js +1 -1
  308. package/dist/esm-es5/nano-icon.entry.js.map +1 -1
  309. package/dist/esm-es5/nano-input.entry.js +1 -1
  310. package/dist/esm-es5/nano-input.entry.js.map +1 -1
  311. package/dist/esm-es5/nano-menu-drawer.entry.js +1 -1
  312. package/dist/esm-es5/nano-nav-item_2.entry.js +1 -1
  313. package/dist/esm-es5/nano-nav-item_2.entry.js.map +1 -1
  314. package/dist/esm-es5/nano-range.entry.js +1 -1
  315. package/dist/esm-es5/nano-rating.entry.js +1 -1
  316. package/dist/esm-es5/nano-resize-observe_2.entry.js +1 -1
  317. package/dist/esm-es5/nano-resize-observe_2.entry.js.map +1 -1
  318. package/dist/esm-es5/nano-slide.entry.js +1 -1
  319. package/dist/esm-es5/nano-slides.entry.js +2 -2
  320. package/dist/esm-es5/nano-slides.entry.js.map +1 -1
  321. package/dist/esm-es5/nano-spinner.entry.js +1 -1
  322. package/dist/esm-es5/nano-split-pane.entry.js +1 -1
  323. package/dist/esm-es5/nano-sticker.entry.js +1 -1
  324. package/dist/esm-es5/nano-sticker.entry.js.map +1 -1
  325. package/dist/esm-es5/nano-tab-content.entry.js +1 -1
  326. package/dist/esm-es5/nano-tab-group.entry.js +2 -2
  327. package/dist/esm-es5/nano-tab-group.entry.js.map +1 -1
  328. package/dist/esm-es5/nano-tab.entry.js +1 -1
  329. package/dist/esm-es5/nano-tab.entry.js.map +1 -1
  330. package/dist/esm-es5/nano-tooltip.entry.js +1 -1
  331. package/dist/esm-es5/nano-tooltip.entry.js.map +1 -1
  332. package/dist/nano-components/nano-components.css +1 -1
  333. package/dist/nano-components/nano-components.esm.js +1 -1
  334. package/dist/nano-components/nano-components.esm.js.map +1 -1
  335. package/dist/nano-components/nano-components.js +1 -1
  336. package/dist/nano-components/p-01667573.entry.js +5 -0
  337. package/dist/nano-components/p-01667573.entry.js.map +1 -0
  338. package/dist/nano-components/p-0193a282.entry.js +5 -0
  339. package/dist/nano-components/p-0193a282.entry.js.map +1 -0
  340. package/dist/nano-components/p-0320410c.entry.js +5 -0
  341. package/dist/nano-components/p-0320410c.entry.js.map +1 -0
  342. package/dist/nano-components/{p-4429caac.system.entry.js → p-0c6c2141.system.entry.js} +2 -2
  343. package/dist/nano-components/{p-4429caac.system.entry.js.map → p-0c6c2141.system.entry.js.map} +0 -0
  344. package/dist/nano-components/{p-7232c046.system.entry.js → p-0d0dfc06.system.entry.js} +2 -2
  345. package/dist/nano-components/{p-7232c046.system.entry.js.map → p-0d0dfc06.system.entry.js.map} +0 -0
  346. package/dist/nano-components/{p-e562bffd.entry.js → p-0e2e3f4a.entry.js} +2 -2
  347. package/dist/nano-components/{p-e562bffd.entry.js.map → p-0e2e3f4a.entry.js.map} +0 -0
  348. package/dist/nano-components/p-129e2b4b.system.js +5 -0
  349. package/dist/nano-components/p-129e2b4b.system.js.map +1 -0
  350. package/dist/nano-components/{p-c0ddb4c3.entry.js → p-166ade3e.entry.js} +2 -2
  351. package/dist/nano-components/{p-c0ddb4c3.entry.js.map → p-166ade3e.entry.js.map} +0 -0
  352. package/dist/nano-components/p-1b120f53.entry.js +5 -0
  353. package/dist/nano-components/p-1b120f53.entry.js.map +1 -0
  354. package/dist/nano-components/{p-7d351076.system.entry.js → p-21af2a5e.system.entry.js} +2 -2
  355. package/dist/nano-components/{p-7d351076.system.entry.js.map → p-21af2a5e.system.entry.js.map} +0 -0
  356. package/dist/nano-components/p-21d6d31e.system.entry.js +5 -0
  357. package/dist/nano-components/p-21d6d31e.system.entry.js.map +1 -0
  358. package/dist/nano-components/{p-040b6cda.entry.js → p-2649fc8e.entry.js} +2 -2
  359. package/dist/nano-components/{p-040b6cda.entry.js.map → p-2649fc8e.entry.js.map} +0 -0
  360. package/dist/nano-components/p-2720ee8f.entry.js +5 -0
  361. package/dist/nano-components/p-2720ee8f.entry.js.map +1 -0
  362. package/dist/nano-components/{p-3456db01.entry.js → p-27efac97.entry.js} +2 -2
  363. package/dist/nano-components/{p-3456db01.entry.js.map → p-27efac97.entry.js.map} +0 -0
  364. package/dist/nano-components/{p-2e6c55e2.entry.js → p-2d53d1a0.entry.js} +2 -2
  365. package/dist/nano-components/{p-2e6c55e2.entry.js.map → p-2d53d1a0.entry.js.map} +0 -0
  366. package/dist/nano-components/{p-8a8f893b.system.entry.js → p-316f83a9.system.entry.js} +2 -2
  367. package/dist/nano-components/{p-8a8f893b.system.entry.js.map → p-316f83a9.system.entry.js.map} +0 -0
  368. package/dist/nano-components/p-32900c91.entry.js +5 -0
  369. package/dist/nano-components/p-32900c91.entry.js.map +1 -0
  370. package/dist/nano-components/p-32f4516e.js +5 -0
  371. package/dist/nano-components/p-32f4516e.js.map +1 -0
  372. package/dist/nano-components/{p-43543d18.entry.js → p-333237e8.entry.js} +2 -2
  373. package/dist/nano-components/{p-43543d18.entry.js.map → p-333237e8.entry.js.map} +0 -0
  374. package/dist/nano-components/p-33fce1a6.js +5 -0
  375. package/dist/nano-components/p-33fce1a6.js.map +1 -0
  376. package/dist/nano-components/p-371aebe7.system.entry.js +23 -0
  377. package/dist/nano-components/p-371aebe7.system.entry.js.map +1 -0
  378. package/dist/nano-components/{p-a898bf92.system.entry.js → p-379e21d9.system.entry.js} +2 -2
  379. package/dist/nano-components/{p-a898bf92.system.entry.js.map → p-379e21d9.system.entry.js.map} +0 -0
  380. package/dist/nano-components/{p-3ad1d5aa.system.entry.js → p-39d36fd1.system.entry.js} +2 -2
  381. package/dist/nano-components/{p-3ad1d5aa.system.entry.js.map → p-39d36fd1.system.entry.js.map} +0 -0
  382. package/dist/nano-components/{p-41a2e2e4.system.js → p-3a00de47.system.js} +2 -2
  383. package/dist/nano-components/{p-41a2e2e4.system.js.map → p-3a00de47.system.js.map} +0 -0
  384. package/dist/nano-components/p-41899a31.system.entry.js +5 -0
  385. package/dist/nano-components/p-41899a31.system.entry.js.map +1 -0
  386. package/dist/nano-components/{p-3ef30ded.system.entry.js → p-48874481.system.entry.js} +2 -2
  387. package/dist/nano-components/{p-3ef30ded.system.entry.js.map → p-48874481.system.entry.js.map} +0 -0
  388. package/dist/nano-components/{p-08ffc9a1.entry.js → p-4e2c0abb.entry.js} +2 -2
  389. package/dist/nano-components/{p-08ffc9a1.entry.js.map → p-4e2c0abb.entry.js.map} +0 -0
  390. package/dist/nano-components/{p-090f22a9.system.entry.js → p-5100ae70.system.entry.js} +2 -2
  391. package/dist/nano-components/{p-090f22a9.system.entry.js.map → p-5100ae70.system.entry.js.map} +0 -0
  392. package/dist/nano-components/{p-593de29b.system.entry.js → p-52769304.system.entry.js} +2 -2
  393. package/dist/nano-components/{p-593de29b.system.entry.js.map → p-52769304.system.entry.js.map} +0 -0
  394. package/dist/nano-components/p-53957ec6.system.js +5 -0
  395. package/dist/nano-components/p-53957ec6.system.js.map +1 -0
  396. package/dist/nano-components/p-561500f0.system.entry.js +5 -0
  397. package/dist/nano-components/p-561500f0.system.entry.js.map +1 -0
  398. package/dist/nano-components/{p-8278c5d2.system.entry.js → p-56f86047.system.entry.js} +2 -2
  399. package/dist/nano-components/{p-8278c5d2.system.entry.js.map → p-56f86047.system.entry.js.map} +0 -0
  400. package/dist/nano-components/{p-2057d480.system.entry.js → p-5b66bb8f.system.entry.js} +2 -2
  401. package/dist/nano-components/{p-2057d480.system.entry.js.map → p-5b66bb8f.system.entry.js.map} +0 -0
  402. package/dist/nano-components/{p-20387cde.system.entry.js → p-6b4dd158.system.entry.js} +2 -2
  403. package/dist/nano-components/{p-20387cde.system.entry.js.map → p-6b4dd158.system.entry.js.map} +0 -0
  404. package/dist/nano-components/{p-d24811c8.system.js → p-6b5760b1.system.js} +3 -3
  405. package/dist/nano-components/{p-d24811c8.system.js.map → p-6b5760b1.system.js.map} +1 -1
  406. package/dist/nano-components/{p-5066e563.system.entry.js → p-6dad332b.system.entry.js} +2 -2
  407. package/dist/nano-components/{p-5066e563.system.entry.js.map → p-6dad332b.system.entry.js.map} +0 -0
  408. package/dist/nano-components/{p-730f60ea.entry.js → p-6ddb51e4.entry.js} +2 -2
  409. package/dist/nano-components/p-6ddb51e4.entry.js.map +1 -0
  410. package/dist/nano-components/p-70272eae.js +5 -0
  411. package/dist/nano-components/p-70272eae.js.map +1 -0
  412. package/dist/nano-components/{p-a6c84740.js → p-71e9fa33.js} +2 -2
  413. package/dist/nano-components/{p-a6c84740.js.map → p-71e9fa33.js.map} +0 -0
  414. package/dist/nano-components/{p-313970ff.entry.js → p-73985eda.entry.js} +2 -2
  415. package/dist/nano-components/{p-313970ff.entry.js.map → p-73985eda.entry.js.map} +0 -0
  416. package/dist/nano-components/p-755d9227.entry.js +5 -0
  417. package/dist/nano-components/p-755d9227.entry.js.map +1 -0
  418. package/dist/nano-components/{p-58d7f10f.entry.js → p-76c903db.entry.js} +2 -2
  419. package/dist/nano-components/{p-58d7f10f.entry.js.map → p-76c903db.entry.js.map} +0 -0
  420. package/dist/nano-components/{p-f53989c3.system.entry.js → p-7aa7425d.system.entry.js} +2 -2
  421. package/dist/nano-components/{p-f53989c3.system.entry.js.map → p-7aa7425d.system.entry.js.map} +1 -1
  422. package/dist/nano-components/{p-531d5275.system.entry.js → p-7ad4a27a.system.entry.js} +2 -2
  423. package/dist/nano-components/p-7ad4a27a.system.entry.js.map +1 -0
  424. package/dist/nano-components/p-7bd25494.entry.js +5 -0
  425. package/dist/nano-components/p-7bd25494.entry.js.map +1 -0
  426. package/dist/nano-components/p-7c837460.entry.js +5 -0
  427. package/dist/nano-components/p-7c837460.entry.js.map +1 -0
  428. package/dist/nano-components/{p-2ae4918d.system.entry.js → p-7e55b214.system.entry.js} +2 -2
  429. package/dist/nano-components/{p-2ae4918d.system.entry.js.map → p-7e55b214.system.entry.js.map} +0 -0
  430. package/dist/nano-components/{p-62ecd3a1.system.entry.js → p-7f1374b6.system.entry.js} +2 -2
  431. package/dist/nano-components/{p-62ecd3a1.system.entry.js.map → p-7f1374b6.system.entry.js.map} +0 -0
  432. package/dist/nano-components/{p-1e974cad.entry.js → p-7fe9d769.entry.js} +2 -2
  433. package/dist/nano-components/{p-1e974cad.entry.js.map → p-7fe9d769.entry.js.map} +0 -0
  434. package/dist/nano-components/{p-93880c28.system.js → p-82e28afd.system.js} +2 -2
  435. package/dist/nano-components/p-82e28afd.system.js.map +1 -0
  436. package/dist/nano-components/p-8378428e.system.js +5 -0
  437. package/dist/nano-components/p-8378428e.system.js.map +1 -0
  438. package/dist/nano-components/p-85c8b070.system.entry.js +5 -0
  439. package/dist/nano-components/p-85c8b070.system.entry.js.map +1 -0
  440. package/dist/nano-components/p-86bd5194.entry.js +5 -0
  441. package/dist/nano-components/p-86bd5194.entry.js.map +1 -0
  442. package/dist/nano-components/{p-4535e3bb.entry.js → p-8b6fcd6d.entry.js} +2 -2
  443. package/dist/nano-components/{p-4535e3bb.entry.js.map → p-8b6fcd6d.entry.js.map} +0 -0
  444. package/dist/nano-components/p-8df4f125.system.entry.js +5 -0
  445. package/dist/nano-components/p-8df4f125.system.entry.js.map +1 -0
  446. package/dist/nano-components/{p-6ade3290.entry.js → p-8eb4f24a.entry.js} +2 -2
  447. package/dist/nano-components/{p-6ade3290.entry.js.map → p-8eb4f24a.entry.js.map} +0 -0
  448. package/dist/nano-components/{p-07bdf44d.entry.js → p-8fe2f846.entry.js} +2 -2
  449. package/dist/nano-components/{p-07bdf44d.entry.js.map → p-8fe2f846.entry.js.map} +0 -0
  450. package/dist/nano-components/{p-1238f0fc.system.entry.js → p-93596c3d.system.entry.js} +2 -2
  451. package/dist/nano-components/p-93596c3d.system.entry.js.map +1 -0
  452. package/dist/nano-components/p-96d9b8b9.system.entry.js +5 -0
  453. package/dist/nano-components/p-96d9b8b9.system.entry.js.map +1 -0
  454. package/dist/nano-components/{p-08b43111.entry.js → p-9d9b0b66.entry.js} +2 -2
  455. package/dist/nano-components/p-9d9b0b66.entry.js.map +1 -0
  456. package/dist/nano-components/p-9ffdf6cc.entry.js +5 -0
  457. package/dist/nano-components/{p-346588cc.entry.js.map → p-9ffdf6cc.entry.js.map} +1 -1
  458. package/dist/nano-components/{p-c9c1a345.system.entry.js → p-a02cc654.system.entry.js} +2 -2
  459. package/dist/nano-components/{p-c9c1a345.system.entry.js.map → p-a02cc654.system.entry.js.map} +0 -0
  460. package/dist/nano-components/{p-a77e3fbb.js → p-a0b93616.js} +3 -3
  461. package/dist/nano-components/{p-a77e3fbb.js.map → p-a0b93616.js.map} +1 -1
  462. package/dist/nano-components/p-a1444980.entry.js +5 -0
  463. package/dist/nano-components/p-a1444980.entry.js.map +1 -0
  464. package/dist/nano-components/p-a4969844.entry.js +5 -0
  465. package/dist/nano-components/p-a4969844.entry.js.map +1 -0
  466. package/dist/nano-components/{p-70dec19f.entry.js → p-a6327a9a.entry.js} +2 -2
  467. package/dist/nano-components/{p-70dec19f.entry.js.map → p-a6327a9a.entry.js.map} +0 -0
  468. package/dist/nano-components/{p-a315ed2c.entry.js → p-a9a4fc3e.entry.js} +2 -2
  469. package/dist/nano-components/{p-a315ed2c.entry.js.map → p-a9a4fc3e.entry.js.map} +1 -1
  470. package/dist/nano-components/p-aa84c727.system.entry.js +5 -0
  471. package/dist/nano-components/p-aa84c727.system.entry.js.map +1 -0
  472. package/dist/nano-components/{p-98222c39.system.entry.js → p-ab07c1fa.system.entry.js} +2 -2
  473. package/dist/nano-components/{p-98222c39.system.entry.js.map → p-ab07c1fa.system.entry.js.map} +0 -0
  474. package/dist/nano-components/p-ac5e3775.system.entry.js +5 -0
  475. package/dist/nano-components/p-ac5e3775.system.entry.js.map +1 -0
  476. package/dist/nano-components/{p-ab5813a7.js → p-b5c33aff.js} +2 -2
  477. package/dist/nano-components/{p-ab5813a7.js.map → p-b5c33aff.js.map} +0 -0
  478. package/dist/nano-components/p-b85cf493.system.entry.js +5 -0
  479. package/dist/nano-components/{p-69439aa1.system.entry.js.map → p-b85cf493.system.entry.js.map} +1 -1
  480. package/dist/nano-components/p-bc394857.system.entry.js +5 -0
  481. package/dist/nano-components/p-bc394857.system.entry.js.map +1 -0
  482. package/dist/nano-components/{p-b4f8e541.entry.js → p-bce998f2.entry.js} +2 -2
  483. package/dist/nano-components/{p-b4f8e541.entry.js.map → p-bce998f2.entry.js.map} +0 -0
  484. package/dist/nano-components/{p-92f85aaf.system.entry.js → p-bf9aa89d.system.entry.js} +2 -2
  485. package/dist/nano-components/{p-92f85aaf.system.entry.js.map → p-bf9aa89d.system.entry.js.map} +0 -0
  486. package/dist/nano-components/p-c070ffd3.system.entry.js +5 -0
  487. package/dist/nano-components/p-c070ffd3.system.entry.js.map +1 -0
  488. package/dist/nano-components/p-c3830c43.entry.js +5 -0
  489. package/dist/nano-components/p-c3830c43.entry.js.map +1 -0
  490. package/dist/nano-components/{p-50514e5e.entry.js → p-c4156fea.entry.js} +2 -2
  491. package/dist/nano-components/{p-50514e5e.entry.js.map → p-c4156fea.entry.js.map} +0 -0
  492. package/dist/nano-components/{p-6eb25600.system.js → p-d01bd3c3.system.js} +2 -2
  493. package/dist/nano-components/{p-6eb25600.system.js.map → p-d01bd3c3.system.js.map} +0 -0
  494. package/dist/nano-components/{p-b59d2bd5.entry.js → p-d122b1ff.entry.js} +2 -2
  495. package/dist/nano-components/{p-b59d2bd5.entry.js.map → p-d122b1ff.entry.js.map} +0 -0
  496. package/dist/nano-components/{p-56ba0d63.entry.js → p-d37e1489.entry.js} +2 -2
  497. package/dist/nano-components/p-d37e1489.entry.js.map +1 -0
  498. package/dist/nano-components/p-d61ae833.system.entry.js +5 -0
  499. package/dist/nano-components/p-d61ae833.system.entry.js.map +1 -0
  500. package/dist/nano-components/p-d93274de.entry.js +5 -0
  501. package/dist/nano-components/p-d93274de.entry.js.map +1 -0
  502. package/dist/nano-components/p-da88981f.entry.js +23 -0
  503. package/dist/nano-components/p-da88981f.entry.js.map +1 -0
  504. package/dist/nano-components/{p-394c3c19.entry.js → p-defd4552.entry.js} +2 -2
  505. package/dist/nano-components/{p-394c3c19.entry.js.map → p-defd4552.entry.js.map} +0 -0
  506. package/dist/nano-components/p-e8a913ac.system.entry.js +5 -0
  507. package/dist/nano-components/p-e8a913ac.system.entry.js.map +1 -0
  508. package/dist/nano-components/p-e9a279ee.system.entry.js +5 -0
  509. package/dist/nano-components/p-e9a279ee.system.entry.js.map +1 -0
  510. package/dist/nano-components/{p-22884654.system.entry.js → p-eacf5b5b.system.entry.js} +2 -2
  511. package/dist/nano-components/{p-22884654.system.entry.js.map → p-eacf5b5b.system.entry.js.map} +0 -0
  512. package/dist/nano-components/p-ed336501.entry.js +5 -0
  513. package/dist/nano-components/p-ed336501.entry.js.map +1 -0
  514. package/dist/nano-components/{p-5ae80fd7.js → p-ef7f1e9c.js} +2 -2
  515. package/dist/nano-components/{p-5ae80fd7.js.map → p-ef7f1e9c.js.map} +0 -0
  516. package/dist/nano-components/{p-59b3d24b.system.js → p-f48be9f5.system.js} +2 -2
  517. package/dist/nano-components/{p-59b3d24b.system.js.map → p-f48be9f5.system.js.map} +0 -0
  518. package/dist/nano-components/p-f780d2f6.system.entry.js +5 -0
  519. package/dist/nano-components/p-f780d2f6.system.entry.js.map +1 -0
  520. package/dist/nano-components/p-faba2fc1.system.entry.js +5 -0
  521. package/dist/nano-components/p-faba2fc1.system.entry.js.map +1 -0
  522. package/dist/nano-components/{p-65c10b3f.entry.js → p-fbe3c89e.entry.js} +2 -2
  523. package/dist/nano-components/{p-65c10b3f.entry.js.map → p-fbe3c89e.entry.js.map} +0 -0
  524. package/dist/nano-components/p-ff026352.system.entry.js +5 -0
  525. package/dist/nano-components/p-ff026352.system.entry.js.map +1 -0
  526. package/dist/types/components/checkbox/checkbox-group.d.ts +12 -1
  527. package/dist/types/components/checkbox/checkbox.d.ts +11 -3
  528. package/dist/types/components/date-input/date-input.d.ts +10 -1
  529. package/dist/types/components/dialog/dialog.d.ts +4 -1
  530. package/dist/types/components/field-validator/field-validator.d.ts +125 -0
  531. package/dist/types/components/file-upload/file-upload.d.ts +8 -0
  532. package/dist/types/components/icon/icon.d.ts +1 -1
  533. package/dist/types/components/icon-button/icon-button.d.ts +2 -0
  534. package/dist/types/components/input/input.d.ts +6 -1
  535. package/dist/types/components/select/select.d.ts +10 -2
  536. package/dist/types/components/{sticky → sticker}/sticker.d.ts +0 -0
  537. package/dist/types/components/tabs/tab.d.ts +1 -0
  538. package/dist/types/components.d.ts +207 -4
  539. package/dist/types/utils/store/get-set.d.ts +1 -1
  540. package/docs-json.json +489 -15
  541. package/docs-vscode.json +77 -1
  542. package/package.json +3 -4
  543. package/dist/cjs/ResizeObserver.es-09b81a1b.js +0 -935
  544. package/dist/cjs/ResizeObserver.es-09b81a1b.js.map +0 -1
  545. package/dist/cjs/component-store-722032a5.js.map +0 -1
  546. package/dist/cjs/date-utils-0ae9a12d.js.map +0 -1
  547. package/dist/cjs/global-0d4f3b77.js.map +0 -1
  548. package/dist/cjs/intersection-observer-1822c787.js +0 -987
  549. package/dist/cjs/intersection-observer-1822c787.js.map +0 -1
  550. package/dist/collection/components/sticky/sticker.js.map +0 -1
  551. package/dist/components/ResizeObserver.es.js +0 -933
  552. package/dist/components/ResizeObserver.es.js.map +0 -1
  553. package/dist/components/intersection-observer.js +0 -985
  554. package/dist/components/intersection-observer.js.map +0 -1
  555. package/dist/esm/ResizeObserver.es-724af9fd.js +0 -933
  556. package/dist/esm/ResizeObserver.es-724af9fd.js.map +0 -1
  557. package/dist/esm/component-store-b6fbfa35.js.map +0 -1
  558. package/dist/esm/date-utils-e4b757ff.js.map +0 -1
  559. package/dist/esm/global-d5ec4d53.js.map +0 -1
  560. package/dist/esm/intersection-observer-dff9fb5b.js +0 -985
  561. package/dist/esm/intersection-observer-dff9fb5b.js.map +0 -1
  562. package/dist/esm-es5/ResizeObserver.es-724af9fd.js +0 -5
  563. package/dist/esm-es5/ResizeObserver.es-724af9fd.js.map +0 -1
  564. package/dist/esm-es5/component-store-b6fbfa35.js +0 -5
  565. package/dist/esm-es5/component-store-b6fbfa35.js.map +0 -1
  566. package/dist/esm-es5/date-utils-e4b757ff.js +0 -5
  567. package/dist/esm-es5/date-utils-e4b757ff.js.map +0 -1
  568. package/dist/esm-es5/global-d5ec4d53.js.map +0 -1
  569. package/dist/esm-es5/intersection-observer-dff9fb5b.js +0 -5
  570. package/dist/esm-es5/intersection-observer-dff9fb5b.js.map +0 -1
  571. package/dist/nano-components/p-033296c7.system.entry.js +0 -23
  572. package/dist/nano-components/p-033296c7.system.entry.js.map +0 -1
  573. package/dist/nano-components/p-08b43111.entry.js.map +0 -1
  574. package/dist/nano-components/p-096682d9.system.js +0 -5
  575. package/dist/nano-components/p-096682d9.system.js.map +0 -1
  576. package/dist/nano-components/p-09e38c5f.system.entry.js +0 -5
  577. package/dist/nano-components/p-09e38c5f.system.entry.js.map +0 -1
  578. package/dist/nano-components/p-10a6216d.system.entry.js +0 -5
  579. package/dist/nano-components/p-10a6216d.system.entry.js.map +0 -1
  580. package/dist/nano-components/p-11a2dcce.js +0 -5
  581. package/dist/nano-components/p-11a2dcce.js.map +0 -1
  582. package/dist/nano-components/p-1238f0fc.system.entry.js.map +0 -1
  583. package/dist/nano-components/p-1ca46443.entry.js +0 -5
  584. package/dist/nano-components/p-1ca46443.entry.js.map +0 -1
  585. package/dist/nano-components/p-1e8321ea.entry.js +0 -5
  586. package/dist/nano-components/p-1e8321ea.entry.js.map +0 -1
  587. package/dist/nano-components/p-1f99d776.entry.js +0 -5
  588. package/dist/nano-components/p-1f99d776.entry.js.map +0 -1
  589. package/dist/nano-components/p-346588cc.entry.js +0 -5
  590. package/dist/nano-components/p-39a5280e.system.entry.js +0 -5
  591. package/dist/nano-components/p-39a5280e.system.entry.js.map +0 -1
  592. package/dist/nano-components/p-3aa1d07d.entry.js +0 -5
  593. package/dist/nano-components/p-3aa1d07d.entry.js.map +0 -1
  594. package/dist/nano-components/p-4265cf95.system.entry.js +0 -5
  595. package/dist/nano-components/p-4265cf95.system.entry.js.map +0 -1
  596. package/dist/nano-components/p-44c08842.system.entry.js +0 -5
  597. package/dist/nano-components/p-44c08842.system.entry.js.map +0 -1
  598. package/dist/nano-components/p-457d4893.entry.js +0 -5
  599. package/dist/nano-components/p-457d4893.entry.js.map +0 -1
  600. package/dist/nano-components/p-462ad4f1.entry.js +0 -5
  601. package/dist/nano-components/p-462ad4f1.entry.js.map +0 -1
  602. package/dist/nano-components/p-4870e76d.system.entry.js +0 -5
  603. package/dist/nano-components/p-4870e76d.system.entry.js.map +0 -1
  604. package/dist/nano-components/p-531d5275.system.entry.js.map +0 -1
  605. package/dist/nano-components/p-5653961d.system.entry.js +0 -5
  606. package/dist/nano-components/p-5653961d.system.entry.js.map +0 -1
  607. package/dist/nano-components/p-56ba0d63.entry.js.map +0 -1
  608. package/dist/nano-components/p-5a0095f9.js +0 -5
  609. package/dist/nano-components/p-5a0095f9.js.map +0 -1
  610. package/dist/nano-components/p-5a315696.entry.js +0 -5
  611. package/dist/nano-components/p-5a315696.entry.js.map +0 -1
  612. package/dist/nano-components/p-69439aa1.system.entry.js +0 -5
  613. package/dist/nano-components/p-6afdb510.system.entry.js +0 -5
  614. package/dist/nano-components/p-6afdb510.system.entry.js.map +0 -1
  615. package/dist/nano-components/p-6f94d755.entry.js +0 -5
  616. package/dist/nano-components/p-6f94d755.entry.js.map +0 -1
  617. package/dist/nano-components/p-7246bef5.entry.js +0 -5
  618. package/dist/nano-components/p-7246bef5.entry.js.map +0 -1
  619. package/dist/nano-components/p-730f60ea.entry.js.map +0 -1
  620. package/dist/nano-components/p-802e1416.system.entry.js +0 -5
  621. package/dist/nano-components/p-802e1416.system.entry.js.map +0 -1
  622. package/dist/nano-components/p-84767e87.entry.js +0 -5
  623. package/dist/nano-components/p-84767e87.entry.js.map +0 -1
  624. package/dist/nano-components/p-88f17c86.system.entry.js +0 -5
  625. package/dist/nano-components/p-88f17c86.system.entry.js.map +0 -1
  626. package/dist/nano-components/p-933c35a6.system.entry.js +0 -5
  627. package/dist/nano-components/p-933c35a6.system.entry.js.map +0 -1
  628. package/dist/nano-components/p-93880c28.system.js.map +0 -1
  629. package/dist/nano-components/p-971b40a4.system.entry.js +0 -5
  630. package/dist/nano-components/p-971b40a4.system.entry.js.map +0 -1
  631. package/dist/nano-components/p-9d35768b.entry.js +0 -5
  632. package/dist/nano-components/p-9d35768b.entry.js.map +0 -1
  633. package/dist/nano-components/p-9ea13fbe.entry.js +0 -5
  634. package/dist/nano-components/p-9ea13fbe.entry.js.map +0 -1
  635. package/dist/nano-components/p-b430a9b6.system.js +0 -5
  636. package/dist/nano-components/p-b430a9b6.system.js.map +0 -1
  637. package/dist/nano-components/p-ba13bb56.entry.js +0 -23
  638. package/dist/nano-components/p-ba13bb56.entry.js.map +0 -1
  639. package/dist/nano-components/p-bcd69559.entry.js +0 -5
  640. package/dist/nano-components/p-bcd69559.entry.js.map +0 -1
  641. package/dist/nano-components/p-d8d8bac6.system.entry.js +0 -5
  642. package/dist/nano-components/p-d8d8bac6.system.entry.js.map +0 -1
  643. package/dist/nano-components/p-debd9efc.js +0 -5
  644. package/dist/nano-components/p-debd9efc.js.map +0 -1
  645. package/dist/nano-components/p-e195ab77.system.js +0 -5
  646. package/dist/nano-components/p-e195ab77.system.js.map +0 -1
  647. package/dist/nano-components/p-e1f46998.system.js +0 -5
  648. package/dist/nano-components/p-e1f46998.system.js.map +0 -1
  649. package/dist/nano-components/p-e7c69d4f.entry.js +0 -5
  650. package/dist/nano-components/p-e7c69d4f.entry.js.map +0 -1
  651. package/dist/nano-components/p-ec39b143.system.entry.js +0 -5
  652. package/dist/nano-components/p-ec39b143.system.entry.js.map +0 -1
  653. package/dist/nano-components/p-f2e7d2f9.system.entry.js +0 -5
  654. package/dist/nano-components/p-f2e7d2f9.system.entry.js.map +0 -1
  655. package/dist/nano-components/p-f5d4d13b.system.js +0 -5
  656. package/dist/nano-components/p-f5d4d13b.system.js.map +0 -1
  657. package/dist/nano-components/p-f66958c1.js +0 -5
  658. package/dist/nano-components/p-f66958c1.js.map +0 -1
  659. package/dist/nano-components/p-f9c7d961.js +0 -5
  660. package/dist/nano-components/p-f9c7d961.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  var __awaiter=this&&this.__awaiter||function(e,t,i,n){function o(e){return e instanceof i?e:new i((function(t){t(e)}))}return new(i||(i=Promise))((function(i,r){function a(e){try{l(n.next(e))}catch(t){r(t)}}function s(e){try{l(n["throw"](e))}catch(t){r(t)}}function l(e){e.done?i(e.value):o(e.value).then(a,s)}l((n=n.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var i={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},n,o,r,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(e){return function(t){return l([e,t])}}function l(a){if(n)throw new TypeError("Generator is already executing.");while(i)try{if(n=1,o&&(r=a[0]&2?o["return"]:a[0]?o["throw"]||((r=o["return"])&&r.call(o),0):o.next)&&!(r=r.call(o,a[1])).done)return r;if(o=0,r)a=[a[0]&2,r.value];switch(a[0]){case 0:case 1:r=a;break;case 4:i.label++;return{value:a[1],done:false};case 5:i.label++;o=a[1];a=[0];continue;case 7:a=i.ops.pop();i.trys.pop();continue;default:if(!(r=i.trys,r=r.length>0&&r[r.length-1])&&(a[0]===6||a[0]===2)){i=0;continue}if(a[0]===3&&(!r||a[1]>r[0]&&a[1]<r[3])){i.label=a[1];break}if(a[0]===6&&i.label<r[1]){i.label=r[1];r=a;break}if(r&&i.label<r[2]){i.label=r[2];i.ops.push(a);break}if(r[2])i.ops.pop();i.trys.pop();continue}a=t.call(e,i)}catch(s){a=[6,s];o=0}finally{n=r=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};
2
2
  /*!
3
3
  * Web Components for Nanopore digital Web Apps
4
- */System.register(["./p-59b3d24b.system.js","./p-1c216ca4.system.js","./p-ef053a2f.system.js"],(function(e){"use strict";var t,i,n,o,r,a,s,l;return{setters:[function(e){t=e.r;i=e.c;n=e.h;o=e.e;r=e.g},function(e){a=e.c;s=e.r},function(e){l=e.d}],execute:function(){function d(e,t){function i(i){var n=e.getBoundingClientRect();var o=e.ownerDocument.defaultView;var r=n.left+o.pageXOffset;var a=n.top+o.pageYOffset;var s=i.pageX-r;var l=i.pageY-a;t(s,l)}function n(){document.removeEventListener("pointermove",i);document.removeEventListener("pointerup",n)}document.addEventListener("pointermove",i,{passive:true});document.addEventListener("pointerup",n)}var c=':host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{--divider-width:12px;--divider-hit-area:14px;--min:0%;--max:100%;--background-color:#e4e6e8;--content-color:#918b86;display:-ms-grid;display:grid}.start,.end{overflow:hidden}.divider{-webkit-box-flex:0;-ms-flex:0 0 var(--divider-width);flex:0 0 var(--divider-width);display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background-color:var(--background-color);color:var(--content-color);z-index:1;font-size:0.8rem}.divider:focus{outline:none}:host(:not([disabled])) .divider:focus-visible{background-color:var(--nano-control-focus-color, rgba(144, 198, 231, 0.8))}:host([disabled]) .divider{cursor:not-allowed}:host(:not([vertical],[disabled])) .divider{cursor:col-resize}:host(:not([vertical])) .divider::after{display:-webkit-box;display:-ms-flexbox;display:flex;content:"";position:absolute;height:100%;left:calc(var(--divider-hit-area) / -2 + var(--divider-width) / 2);width:var(--divider-hit-area)}:host([vertical]){-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}:host([vertical]:not([disabled])) .divider{cursor:row-resize}:host([vertical]) .divider::after{content:"";position:absolute;width:100%;top:calc(var(--divider-hit-area) / -2 + var(--divider-width) / 2);height:var(--divider-hit-area)}';var h=e("nano_split_pane",function(){function e(e){var n=this;t(this,e);this.nanoReposition=i(this,"nanoReposition",7);this.nanoDragging=i(this,"nanoDragging",7);this.isAnimating=false;this.didLoad=false;this._shouldAnimate=true;this.vertical=false;this.disabled=false;this.snapThreshold=12;this.animationDuration=.6;this.handleDrag=function(e){if(n.disabled){return}e.preventDefault();d(n.host,(function(e,t){var i=n.vertical?t:e;n.nanoDragging.emit(i);if(n.primary==="end"){i=n.size-i}if(n.snap){var o=n.snap.split(" ");o.forEach((function(e){var t;if(e.endsWith("%")){t=n.size*(parseFloat(e)/100)}else{t=parseFloat(e)}if(i>=t-n.snapThreshold&&i<=t+n.snapThreshold){i=t}}))}n.shouldAnimate=false;n.position=a(n.pixelsToPercentage(i),0,100);s((function(){return n.shouldAnimate=true}))}))};this.handleKeyDown=function(e){if(n.disabled){return}if(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(e.key)){var t=n.position;var i=(e.shiftKey?10:1)*(n.primary==="end"?-1:1);e.preventDefault();if(e.key==="ArrowLeft"&&!n.vertical||e.key==="ArrowUp"&&n.vertical){t-=i}if(e.key==="ArrowRight"&&!n.vertical||e.key==="ArrowDown"&&n.vertical){t+=i}if(e.key==="Home"){t=n.primary==="end"?100:0}if(e.key==="End"){t=n.primary==="end"?0:100}n.shouldAnimate=false;n.position=a(t,0,100);s((function(){return n.shouldAnimate=true}))}};this.handleResize=function(){if(!n.didLoad||n.isAnimating)return;if(n.primary){n.shouldAnimate=false;n.position=n.pixelsToPercentage(n.cachedPositionInPixels);s((function(){return n.shouldAnimate=true}))}};this.handlePositionChange=l(this.handlePositionChange.bind(this),100)}Object.defineProperty(e.prototype,"size",{get:function(){var e=this.host.getBoundingClientRect(),t=e.width,i=e.height;return this.vertical?i:t},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"shouldAnimate",{get:function(){return this.didLoad&&this._shouldAnimate},set:function(e){this._shouldAnimate=e},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"position",{get:function(){return this._position},set:function(e){e=Math.min(Math.max(e,0),100);if(isNaN(e)||e===this._position)return;if(this.shouldAnimate&&this.animationDuration>0&&!isNaN(this.position)){this.animatePosition(e);return}this._position=e},enumerable:false,configurable:true});e.prototype.handlePositionChange=function(){this.cachedPositionInPixels=this.percentageToPixels(this.position);this.positionInPixels=this.percentageToPixels(this.position);this.nanoReposition.emit()};e.prototype.handlePositionInPixelsChange=function(){this.position=this.pixelsToPercentage(this.positionInPixels)};e.prototype.getPercentageToPixels=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){return[2,this.percentageToPixels(e)]}))}))};e.prototype.getPixelsToPercentage=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){return[2,this.pixelsToPercentage(e)]}))}))};e.prototype.animatePosition=function(e){var t=this;if(this.isAnimating)return;var i=this.animationDuration;var n=60;var o=this.position;var r=e-o;var a=o;var l=0;function d(e,t,i,n){if((e/=n/2)<1)return i/2*e*e+t;else return-i/2*(--e*(e-2)-1)+t}var c=function(){l+=1/n;a=d(l,o,r,i);if(e>o&&a>=e||e<o&&a<=e){t.position=e;t.shouldAnimate=true;t.isAnimating=false;return}t.position=a;s(c)};this.shouldAnimate=false;this.isAnimating=true;s(c)};e.prototype.percentageToPixels=function(e){return this.size*(e/100)};e.prototype.pixelsToPercentage=function(e){return e/this.size*100};e.prototype.attachRO=function(){var e=this;this.detachRO();this.ro=new ResizeObserver((function(){return e.handleResize()}));this.ro.observe(this.host)};e.prototype.detachRO=function(){if(!this.ro)return;this.ro.unobserve(this.host);this.ro=undefined};e.prototype.componentDidLoad=function(){var e=this;if(this.positionInPixels)this.handlePositionInPixelsChange();setTimeout((function(){return e.didLoad=true}))};e.prototype.connectedCallback=function(){this.cachedPositionInPixels=this.percentageToPixels(this.position);this.attachRO()};e.prototype.disconnectedCallback=function(){this.detachRO()};e.prototype.componentDidRender=function(){var e=this;s((function(){if(typeof e.position==="undefined"){e.position=50}}))};e.prototype.render=function(){if(typeof this.position==="undefined")return;var e={};var t=this.vertical?"gridTemplateRows":"gridTemplateColumns";var i="\n clamp(\n 0%,\n clamp(\n var(--min),\n "+this.position+"% - var(--divider-width) / 2,\n var(--max)\n ),\n calc(100% - var(--divider-width))\n )\n ";var r="auto";if(this.primary==="end"){e[t]=r+" var(--divider-width) "+i}else{e[t]=i+" var(--divider-width) "+r}return n(o,{style:e},n("div",{part:"panel start",class:"start"},n("slot",{name:"start"})),n("div",{part:"divider",class:"divider",tabindex:this.disabled?undefined:"0",role:"separator","aria-label":"Resize",onKeyDown:this.handleKeyDown,onMouseDown:this.handleDrag,onTouchStart:this.handleDrag},n("slot",{name:"handle"},!this.disabled&&this.vertical?n("nano-icon",{slot:"handle",name:"solid/grip-lines"}):n("nano-icon",{slot:"handle",name:"solid/grip-lines-vertical"}))),n("div",{part:"panel end",class:"end"},n("slot",{name:"end"})))};Object.defineProperty(e.prototype,"host",{get:function(){return r(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{position:["handlePositionChange"],positionInPixels:["handlePositionInPixelsChange"]}},enumerable:false,configurable:true});return e}());h.style=c}}}));
5
- //# sourceMappingURL=p-7d351076.system.entry.js.map
4
+ */System.register(["./p-f48be9f5.system.js","./p-1c216ca4.system.js","./p-ef053a2f.system.js"],(function(e){"use strict";var t,i,n,o,r,a,s,l;return{setters:[function(e){t=e.r;i=e.c;n=e.h;o=e.e;r=e.g},function(e){a=e.c;s=e.r},function(e){l=e.d}],execute:function(){function d(e,t){function i(i){var n=e.getBoundingClientRect();var o=e.ownerDocument.defaultView;var r=n.left+o.pageXOffset;var a=n.top+o.pageYOffset;var s=i.pageX-r;var l=i.pageY-a;t(s,l)}function n(){document.removeEventListener("pointermove",i);document.removeEventListener("pointerup",n)}document.addEventListener("pointermove",i,{passive:true});document.addEventListener("pointerup",n)}var c=':host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{--divider-width:12px;--divider-hit-area:14px;--min:0%;--max:100%;--background-color:#e4e6e8;--content-color:#918b86;display:-ms-grid;display:grid}.start,.end{overflow:hidden}.divider{-webkit-box-flex:0;-ms-flex:0 0 var(--divider-width);flex:0 0 var(--divider-width);display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background-color:var(--background-color);color:var(--content-color);z-index:1;font-size:0.8rem}.divider:focus{outline:none}:host(:not([disabled])) .divider:focus-visible{background-color:var(--nano-control-focus-color, rgba(144, 198, 231, 0.8))}:host([disabled]) .divider{cursor:not-allowed}:host(:not([vertical],[disabled])) .divider{cursor:col-resize}:host(:not([vertical])) .divider::after{display:-webkit-box;display:-ms-flexbox;display:flex;content:"";position:absolute;height:100%;left:calc(var(--divider-hit-area) / -2 + var(--divider-width) / 2);width:var(--divider-hit-area)}:host([vertical]){-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}:host([vertical]:not([disabled])) .divider{cursor:row-resize}:host([vertical]) .divider::after{content:"";position:absolute;width:100%;top:calc(var(--divider-hit-area) / -2 + var(--divider-width) / 2);height:var(--divider-hit-area)}';var h=e("nano_split_pane",function(){function e(e){var n=this;t(this,e);this.nanoReposition=i(this,"nanoReposition",7);this.nanoDragging=i(this,"nanoDragging",7);this.isAnimating=false;this.didLoad=false;this._shouldAnimate=true;this.vertical=false;this.disabled=false;this.snapThreshold=12;this.animationDuration=.6;this.handleDrag=function(e){if(n.disabled){return}e.preventDefault();d(n.host,(function(e,t){var i=n.vertical?t:e;n.nanoDragging.emit(i);if(n.primary==="end"){i=n.size-i}if(n.snap){var o=n.snap.split(" ");o.forEach((function(e){var t;if(e.endsWith("%")){t=n.size*(parseFloat(e)/100)}else{t=parseFloat(e)}if(i>=t-n.snapThreshold&&i<=t+n.snapThreshold){i=t}}))}n.shouldAnimate=false;n.position=a(n.pixelsToPercentage(i),0,100);s((function(){return n.shouldAnimate=true}))}))};this.handleKeyDown=function(e){if(n.disabled){return}if(["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(e.key)){var t=n.position;var i=(e.shiftKey?10:1)*(n.primary==="end"?-1:1);e.preventDefault();if(e.key==="ArrowLeft"&&!n.vertical||e.key==="ArrowUp"&&n.vertical){t-=i}if(e.key==="ArrowRight"&&!n.vertical||e.key==="ArrowDown"&&n.vertical){t+=i}if(e.key==="Home"){t=n.primary==="end"?100:0}if(e.key==="End"){t=n.primary==="end"?0:100}n.shouldAnimate=false;n.position=a(t,0,100);s((function(){return n.shouldAnimate=true}))}};this.handleResize=function(){if(!n.didLoad||n.isAnimating)return;if(n.primary){n.shouldAnimate=false;n.position=n.pixelsToPercentage(n.cachedPositionInPixels);s((function(){return n.shouldAnimate=true}))}};this.handlePositionChange=l(this.handlePositionChange.bind(this),100)}Object.defineProperty(e.prototype,"size",{get:function(){var e=this.host.getBoundingClientRect(),t=e.width,i=e.height;return this.vertical?i:t},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"shouldAnimate",{get:function(){return this.didLoad&&this._shouldAnimate},set:function(e){this._shouldAnimate=e},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"position",{get:function(){return this._position},set:function(e){e=Math.min(Math.max(e,0),100);if(isNaN(e)||e===this._position)return;if(this.shouldAnimate&&this.animationDuration>0&&!isNaN(this.position)){this.animatePosition(e);return}this._position=e},enumerable:false,configurable:true});e.prototype.handlePositionChange=function(){this.cachedPositionInPixels=this.percentageToPixels(this.position);this.positionInPixels=this.percentageToPixels(this.position);this.nanoReposition.emit()};e.prototype.handlePositionInPixelsChange=function(){this.position=this.pixelsToPercentage(this.positionInPixels)};e.prototype.getPercentageToPixels=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){return[2,this.percentageToPixels(e)]}))}))};e.prototype.getPixelsToPercentage=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){return[2,this.pixelsToPercentage(e)]}))}))};e.prototype.animatePosition=function(e){var t=this;if(this.isAnimating)return;var i=this.animationDuration;var n=60;var o=this.position;var r=e-o;var a=o;var l=0;function d(e,t,i,n){if((e/=n/2)<1)return i/2*e*e+t;else return-i/2*(--e*(e-2)-1)+t}var c=function(){l+=1/n;a=d(l,o,r,i);if(e>o&&a>=e||e<o&&a<=e){t.position=e;t.shouldAnimate=true;t.isAnimating=false;return}t.position=a;s(c)};this.shouldAnimate=false;this.isAnimating=true;s(c)};e.prototype.percentageToPixels=function(e){return this.size*(e/100)};e.prototype.pixelsToPercentage=function(e){return e/this.size*100};e.prototype.attachRO=function(){var e=this;this.detachRO();this.ro=new ResizeObserver((function(){return e.handleResize()}));this.ro.observe(this.host)};e.prototype.detachRO=function(){if(!this.ro)return;this.ro.unobserve(this.host);this.ro=undefined};e.prototype.componentDidLoad=function(){var e=this;if(this.positionInPixels)this.handlePositionInPixelsChange();setTimeout((function(){return e.didLoad=true}))};e.prototype.connectedCallback=function(){this.cachedPositionInPixels=this.percentageToPixels(this.position);this.attachRO()};e.prototype.disconnectedCallback=function(){this.detachRO()};e.prototype.componentDidRender=function(){var e=this;s((function(){if(typeof e.position==="undefined"){e.position=50}}))};e.prototype.render=function(){if(typeof this.position==="undefined")return;var e={};var t=this.vertical?"gridTemplateRows":"gridTemplateColumns";var i="\n clamp(\n 0%,\n clamp(\n var(--min),\n "+this.position+"% - var(--divider-width) / 2,\n var(--max)\n ),\n calc(100% - var(--divider-width))\n )\n ";var r="auto";if(this.primary==="end"){e[t]=r+" var(--divider-width) "+i}else{e[t]=i+" var(--divider-width) "+r}return n(o,{style:e},n("div",{part:"panel start",class:"start"},n("slot",{name:"start"})),n("div",{part:"divider",class:"divider",tabindex:this.disabled?undefined:"0",role:"separator","aria-label":"Resize",onKeyDown:this.handleKeyDown,onMouseDown:this.handleDrag,onTouchStart:this.handleDrag},n("slot",{name:"handle"},!this.disabled&&this.vertical?n("nano-icon",{slot:"handle",name:"solid/grip-lines"}):n("nano-icon",{slot:"handle",name:"solid/grip-lines-vertical"}))),n("div",{part:"panel end",class:"end"},n("slot",{name:"end"})))};Object.defineProperty(e.prototype,"host",{get:function(){return r(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{position:["handlePositionChange"],positionInPixels:["handlePositionInPixelsChange"]}},enumerable:false,configurable:true});return e}());h.style=c}}}));
5
+ //# sourceMappingURL=p-21af2a5e.system.entry.js.map
@@ -0,0 +1,5 @@
1
+ var __awaiter=this&&this.__awaiter||function(t,e,r,n){function i(t){return t instanceof r?t:new r((function(e){e(t)}))}return new(r||(r=Promise))((function(r,a){function s(t){try{u(n.next(t))}catch(e){a(e)}}function o(t){try{u(n["throw"](t))}catch(e){a(e)}}function u(t){t.done?r(t.value):i(t.value).then(s,o)}u((n=n.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var r={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},n,i,a,s;return s={next:o(0),throw:o(1),return:o(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function o(t){return function(e){return u([t,e])}}function u(s){if(n)throw new TypeError("Generator is already executing.");while(r)try{if(n=1,i&&(a=s[0]&2?i["return"]:s[0]?i["throw"]||((a=i["return"])&&a.call(i),0):i.next)&&!(a=a.call(i,s[1])).done)return a;if(i=0,a)s=[s[0]&2,a.value];switch(s[0]){case 0:case 1:a=s;break;case 4:r.label++;return{value:s[1],done:false};case 5:r.label++;i=s[1];s=[0];continue;case 7:s=r.ops.pop();r.trys.pop();continue;default:if(!(a=r.trys,a=a.length>0&&a[a.length-1])&&(s[0]===6||s[0]===2)){r=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){r.label=s[1];break}if(s[0]===6&&r.label<a[1]){r.label=a[1];a=s;break}if(a&&r.label<a[2]){r.label=a[2];r.ops.push(s);break}if(a[2])r.ops.pop();r.trys.pop();continue}s=e.call(t,r)}catch(o){s=[6,o];i=0}finally{n=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(t,e){for(var r=0,n=e.length,i=t.length;r<n;r++,i++)t[i]=e[r];return t};
2
+ /*!
3
+ * Web Components for Nanopore digital Web Apps
4
+ */System.register(["./p-f48be9f5.system.js"],(function(t){"use strict";var e,r,n,i,a,s,o;return{setters:[function(t){e=t.k;r=t.j;n=t.r;i=t.c;a=t.h;s=t.e;o=t.g}],execute:function(){var u=function(t,e,r){var n=t.get(e);if(!n){t.set(e,[r])}else if(!n.includes(r)){n.push(r)}};var l=function(t,e){var r;return function(){var n=[];for(var i=0;i<arguments.length;i++){n[i]=arguments[i]}if(r){clearTimeout(r)}r=setTimeout((function(){r=0;t.apply(void 0,n)}),e)}};var c=function(t){return!("isConnected"in t)||t.isConnected};var f=l((function(t){for(var e=0,r=t.keys();e<r.length;e++){var n=r[e];t.set(n,t.get(n).filter(c))}}),2e3);var h=function(){if(typeof e!=="function"){return{}}var t=new Map;return{dispose:function(){return t.clear()},get:function(r){var n=e();if(n){u(t,r,n)}},set:function(e){var n=t.get(e);if(n){t.set(e,n.filter(r))}f(t)},reset:function(){t.forEach((function(t){return t.forEach(r)}));f(t)}}};var d=function(t,e){if(e===void 0){e=function(t,e){return t!==e}}var r=new Map(Object.entries(t!==null&&t!==void 0?t:{}));var n={dispose:[],get:[],set:[],reset:[]};var i=function(){r=new Map(Object.entries(t!==null&&t!==void 0?t:{}));n.reset.forEach((function(t){return t()}))};var a=function(){n.dispose.forEach((function(t){return t()}));i()};var s=function(t){n.get.forEach((function(e){return e(t)}));return r.get(t)};var o=function(t,i){var a=r.get(t);if(e(i,a,t)){r.set(t,i);n.set.forEach((function(e){return e(t,i,a)}))}};var u=typeof Proxy==="undefined"?{}:new Proxy(t,{get:function(t,e){return s(e)},ownKeys:function(t){return Array.from(r.keys())},getOwnPropertyDescriptor:function(){return{enumerable:true,configurable:true}},has:function(t,e){return r.has(e)},set:function(t,e,r){o(e,r);return true}});var l=function(t,e){n[t].push(e);return function(){v(n[t],e)}};var c=function(e,r){var n=l("set",(function(t,n){if(t===e){r(n)}}));var i=l("reset",(function(){return r(t[e])}));return function(){n();i()}};var f=function(){var t=[];for(var e=0;e<arguments.length;e++){t[e]=arguments[e]}var r=t.reduce((function(t,e){if(e.set){t.push(l("set",e.set))}if(e.get){t.push(l("get",e.get))}if(e.reset){t.push(l("reset",e.reset))}if(e.dispose){t.push(l("dispose",e.dispose))}return t}),[]);return function(){return r.forEach((function(t){return t()}))}};var h=function(t){var e=r.get(t);n.set.forEach((function(r){return r(t,e,e)}))};return{state:u,get:s,set:o,on:l,onChange:c,use:f,dispose:a,reset:i,forceUpdate:h}};var v=function(t,e){var r=t.indexOf(e);if(r>=0){t[r]=t[t.length-1];t.length--}};var p=function(t,e){var r=d(t,e);r.use(h());return r};var m=t("nano_field_validator",function(){function t(t){var e=this;n(this,t);this.nanoPayloadChange=i(this,"nanoPayloadChange",7);this.nanoSubmit=i(this,"nanoSubmit",7);this.nanoInvalid=i(this,"nanoInvalid",7);this.submitted=false;this.fields=[];this.internalValidate=false;this.validateOn="submitThenDirty";this.scrollToInvalid=true;this._dirty=false;this.handleStoreChange=function(t,r){return __awaiter(e,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:if(!(this.validateOn==="dirty"&&this.dirty))return[3,2];this.internalValidate=true;return[4,this.validateAllFields()];case 1:t.sent();this._valid=this.activeForm.checkValidity();this.internalValidate=false;t.label=2;case 2:this.nanoPayloadChange.emit(this.store.state);return[2]}}))}))};this.handleFieldChange=function(t){e._dirty=true;e.setFieldValue([t.target])};this.handleFormInvalid=function(t){return __awaiter(e,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:t.preventDefault();this._valid=false;if(this.internalValidate)return[2];if(this.validateOn==="submitThenDirty")this.validateOn="dirty";this.submitted=true;return[4,this.validateAllFields()];case 1:e.sent();if(this.validateOn==="submit"){this.internalValidate=true;this._valid=this.activeForm.checkValidity();this.internalValidate=false;if(this._valid){this.submitForm();return[2]}}this.scrollToFirstInvalid();this.nanoInvalid.emit();return[2]}}))}))};this.handleSubmit=function(t){return __awaiter(e,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:t.preventDefault();if(this.validateOn==="submitThenDirty")this.validateOn="dirty";this.submitted=true;return[4,this.validateAllFields()];case 1:e.sent();this.internalValidate=true;this._valid=this.activeForm.checkValidity();this.internalValidate=false;if(!this._valid){this.scrollToFirstInvalid();return[2]}this.submitForm();return[2]}}))}))}}t.prototype.userFormChange=function(){if(!!this.userForm)this.activeForm=this.userForm};Object.defineProperty(t.prototype,"activeForm",{get:function(){return this._activeForm},set:function(t){if(this._activeForm)this._activeForm.removeEventListener("invalid",this.handleFormInvalid,true);if(t)t.addEventListener("invalid",this.handleFormInvalid,true);this._activeForm=t},enumerable:false,configurable:true});t.prototype.validateOnChange=function(){var t=this;this.fields.forEach((function(e){if(e.tagName==="NANO-CHECKBOX"){var r=e.closest("nano-checkbox-group");if(r)r.validateOn=t.validateOn}else{e.validateOn=t.validateOn}}))};Object.defineProperty(t.prototype,"dirty",{get:function(){return this._dirty},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"valid",{get:function(){return this._valid},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"payload",{get:function(){return this.store.state},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"showValidation",{get:function(){return this.validateOn==="dirty"&&this.dirty||this.submitted},enumerable:false,configurable:true});Object.defineProperty(t.prototype,"validationState",{get:function(){var t=this;var e=[];this.fields.forEach((function(r){return __awaiter(t,void 0,void 0,(function(){var t;return __generator(this,(function(n){t=e.find((function(t){return t.name===r.name}));if(t){t.validityMessage=r.validityMessage.length?r.validityMessage:t.validityMessage;if(!t.fields.find((function(t){return t===r})))t.fields.push(r);if(t.valid&&r.invalid)t.valid=false;return[2]}e.push({fields:[r],name:r.name,valid:!r.invalid,value:this.store.state[r.name],dirty:false,validityMessage:r.validityMessage});return[2]}))}))}));return e},enumerable:false,configurable:true});t.prototype.attachSlotObserver=function(){var t=this;if(!!this.mo)return;var e=this.mo=new MutationObserver((function(e){var r=t.host.querySelector("form");if(r!==t.activeForm)t.activeForm=r;t.setupFields()}));e.observe(this.host,{childList:true,attributes:true,attributeFilter:["name"],subtree:true})};t.prototype.setupFields=function(){var t=this;var e=Array.from(this.host.querySelectorAll("\n nano-input,\n nano-select,\n nano-file-upload,\n nano-date-input,\n nano-checkbox\n "));e=e.filter((function(t){return!!t.name&&!!t.name.length}));if(!e.filter((function(e){return!t.fields.includes(e)})).length)return;this.fields=e;this.validateOnChange();this.setFieldValue(this.fields);this.nanoPayloadChange.emit(this.store.state)};t.prototype.setFieldValue=function(t){var e=this;t.forEach((function(t){var r=t.name;if(!r.length)return;switch(t.tagName){case"NANO-CHECKBOX":var n=t;if(n.type==="radio"||n.type==="segment"||n.type==="segment-pill"){if(n.checked)e.store.state[r]=n.value;else if(!n.checked&&(n.value===e.store.state[r]||!e.store.state[r]))e.store.state[r]=""}else if(e.fields.filter((function(t){return t.name===r&&t.tagName==="NANO-CHECKBOX"})).length>1){var i=Array.isArray(e.store.state[r])?e.store.state[r]:[];if(n.checked){if(!e.store.state[r].includes(n.value)){e.store.state[r]=__spreadArray(__spreadArray([],i),[n.value])}}else{e.store.state[r]=i.filter((function(t){return t!==n.value}))}}else e.store.state[r]=n.value;break;case"NANO-FILE-UPLOAD":e.store.state[r]=t.files;break;default:e.store.state[r]=t.value;break}}))};t.prototype.validate=function(t,e){return __awaiter(this,void 0,void 0,(function(){var r;var n=this;return __generator(this,(function(i){switch(i.label){case 0:if(!this.validation)return[2];r=this.validation(t,e,this.store.state);if(!r)return[2];return[4,Promise.all(Object.entries(r).map((function(t){var e=t[0],r=t[1];return __awaiter(n,void 0,void 0,(function(){var t,n,i;return __generator(this,(function(a){switch(a.label){case 0:t=this.fields.find((function(t){return t.name===e}));n=t;if(t.tagName==="NANO-CHECKBOX"){i=t.closest("nano-checkbox-group");n=i||t}if(!(n.validityMessage===r.msg&&r.valid))return[3,2];return[4,this.setFieldError(n,"")];case 1:a.sent();return[3,4];case 2:if(!!r.valid)return[3,4];return[4,this.setFieldError(n,r.msg)];case 3:a.sent();a.label=4;case 4:return[2]}}))}))})))];case 1:i.sent();return[2]}}))}))};t.prototype.setFieldError=function(t,e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(r){switch(r.label){case 0:if(!t["showError"])return[3,2];return[4,t.showError(e)];case 1:r.sent();return[3,4];case 2:return[4,t.setError(e)];case 3:r.sent();r.label=4;case 4:return[2]}}))}))};t.prototype.validateAllFields=function(){return __awaiter(this,void 0,void 0,(function(){var t=this;return __generator(this,(function(e){switch(e.label){case 0:return[4,Object.entries(this.store.state).reduce((function(e,r){var n=r[0],i=r[1];return __awaiter(t,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:return[4,e];case 1:t.sent();return[4,this.validate(n,i)];case 2:t.sent();return[2]}}))}))}),undefined)];case 1:e.sent();return[2]}}))}))};t.prototype.scrollToFirstInvalid=function(){var t=this;if(!this.scrollToInvalid)return;setTimeout((function(){var e=t.validationState.find((function(t){return!t.valid}));if(!e)return;e.fields[0].scrollIntoView({behavior:"smooth",block:"nearest"})}),200)};t.prototype.submitForm=function(){var t=this.nanoSubmit.emit();if(t.defaultPrevented)return;this.activeForm.submit()};t.prototype.connectedCallback=function(){this.userForm=this.host.querySelector("form")};t.prototype.componentDidLoad=function(){var t=this;requestAnimationFrame((function(){t.store=p({});t.setupFields();t.attachSlotObserver();t.store.on("set",(function(e,r){return t.handleStoreChange(e,r)}));t.host.addEventListener("nanoChange",t.handleFieldChange);t.host.addEventListener("submit",t.handleSubmit)}))};t.prototype.disconnectedCallback=function(){if(this.mo)this.mo.disconnect();this.store.dispose();this.host.removeEventListener("nanoChange",this.handleFieldChange);this.host.removeEventListener("submit",this.handleSubmit);if(this.activeForm)this.activeForm.removeEventListener("invalid",this.handleFormInvalid,true)};t.prototype.render=function(){var t=this;return a(s,null,this.userForm&&a("slot",null),!this.userForm&&a("form",{ref:function(e){return t.activeForm=e}},a("slot",null)))};Object.defineProperty(t.prototype,"host",{get:function(){return o(this)},enumerable:false,configurable:true});Object.defineProperty(t,"watchers",{get:function(){return{userForm:["userFormChange"],validateOn:["validateOnChange"]}},enumerable:false,configurable:true});return t}())}}}));
5
+ //# sourceMappingURL=p-21d6d31e.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["node_modules/@stencil/store/dist/index.mjs","src/components/field-validator/field-validator.tsx"],"names":["appendToMap","map","propName","value","items","get","set","includes","push","debounce","fn","ms","timeoutId","args","_i","arguments","length","clearTimeout","setTimeout","apply","isConnected","maybeElement","cleanupElements","_a","keys","key","filter","stencilSubscription","getRenderingRef","elmsToUpdate","Map","dispose","clear","elm","elements","forceUpdate","reset","forEach","elms","createObservableMap","defaultState","shouldUpdate","a","b","states","Object","entries","handlers","cb","oldValue","state","Proxy","_","ownKeys","Array","from","getOwnPropertyDescriptor","enumerable","configurable","has","on","eventName","callback","removeFromArray","onChange","unSet","newValue","unReset","use","subscriptions","unsubs","reduce","subscription","unsub","array","item","index","indexOf","createStore","FieldValidator","exports","class_1","hostRef","_this","this","submitted","fields","internalValidate","validateOn","scrollToInvalid","_dirty","handleStoreChange","_key","_newVal","__awaiter","dirty","validateAllFields","sent","_valid","activeForm","checkValidity","nanoPayloadChange","emit","store","handleFieldChange","ev","setFieldValue","target","handleFormInvalid","preventDefault","submitForm","scrollToFirstInvalid","nanoInvalid","handleSubmit","e","prototype","userFormChange","userForm","defineProperty","_activeForm","form","removeEventListener","addEventListener","validateOnChange","field","tagName","cbg","closest","validationState","found","find","v","name","validityMessage","f","valid","invalid","attachSlotObserver","mo","MutationObserver","_entries","host","querySelector","setupFields","observe","childList","attributes","attributeFilter","subtree","querySelectorAll","fieldName","cb_1","type","checked","currentArr","isArray","__spreadArray","files","validate","newVal","validation","res","Promise","all","o","validityTarget","msg","setFieldError","_b","showError","setError","memo","undefined","invalidField","scrollIntoView","behavior","block","nanoSubmit","defaultPrevented","submit","connectedCallback","componentDidLoad","requestAnimationFrame","disconnectedCallback","disconnect","render","h","Host","ref"],"mappings":"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","sourcesContent":["import { getRenderingRef, forceUpdate } from '@stencil/core';\n\nconst appendToMap = (map, propName, value) => {\n const items = map.get(propName);\n if (!items) {\n map.set(propName, [value]);\n }\n else if (!items.includes(value)) {\n items.push(value);\n }\n};\nconst debounce = (fn, ms) => {\n let timeoutId;\n return (...args) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n timeoutId = 0;\n fn(...args);\n }, ms);\n };\n};\n\n/**\n * Check if a possible element isConnected.\n * The property might not be there, so we check for it.\n *\n * We want it to return true if isConnected is not a property,\n * otherwise we would remove these elements and would not update.\n *\n * Better leak in Edge than to be useless.\n */\nconst isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;\nconst cleanupElements = debounce((map) => {\n for (let key of map.keys()) {\n map.set(key, map.get(key).filter(isConnected));\n }\n}, 2000);\nconst stencilSubscription = () => {\n if (typeof getRenderingRef !== 'function') {\n // If we are not in a stencil project, we do nothing.\n // This function is not really exported by @stencil/core.\n return {};\n }\n const elmsToUpdate = new Map();\n return {\n dispose: () => elmsToUpdate.clear(),\n get: (propName) => {\n const elm = getRenderingRef();\n if (elm) {\n appendToMap(elmsToUpdate, propName, elm);\n }\n },\n set: (propName) => {\n const elements = elmsToUpdate.get(propName);\n if (elements) {\n elmsToUpdate.set(propName, elements.filter(forceUpdate));\n }\n cleanupElements(elmsToUpdate);\n },\n reset: () => {\n elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));\n cleanupElements(elmsToUpdate);\n },\n };\n};\n\nconst createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {\n let states = new Map(Object.entries(defaultState !== null && defaultState !== void 0 ? defaultState : {}));\n const handlers = {\n dispose: [],\n get: [],\n set: [],\n reset: [],\n };\n const reset = () => {\n states = new Map(Object.entries(defaultState !== null && defaultState !== void 0 ? defaultState : {}));\n handlers.reset.forEach((cb) => cb());\n };\n const dispose = () => {\n // Call first dispose as resetting the state would\n // cause less updates ;)\n handlers.dispose.forEach((cb) => cb());\n reset();\n };\n const get = (propName) => {\n handlers.get.forEach((cb) => cb(propName));\n return states.get(propName);\n };\n const set = (propName, value) => {\n const oldValue = states.get(propName);\n if (shouldUpdate(value, oldValue, propName)) {\n states.set(propName, value);\n handlers.set.forEach((cb) => cb(propName, value, oldValue));\n }\n };\n const state = (typeof Proxy === 'undefined'\n ? {}\n : new Proxy(defaultState, {\n get(_, propName) {\n return get(propName);\n },\n ownKeys(_) {\n return Array.from(states.keys());\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n };\n },\n has(_, propName) {\n return states.has(propName);\n },\n set(_, propName, value) {\n set(propName, value);\n return true;\n },\n }));\n const on = (eventName, callback) => {\n handlers[eventName].push(callback);\n return () => {\n removeFromArray(handlers[eventName], callback);\n };\n };\n const onChange = (propName, cb) => {\n const unSet = on('set', (key, newValue) => {\n if (key === propName) {\n cb(newValue);\n }\n });\n const unReset = on('reset', () => cb(defaultState[propName]));\n return () => {\n unSet();\n unReset();\n };\n };\n const use = (...subscriptions) => {\n const unsubs = subscriptions.reduce((unsubs, subscription) => {\n if (subscription.set) {\n unsubs.push(on('set', subscription.set));\n }\n if (subscription.get) {\n unsubs.push(on('get', subscription.get));\n }\n if (subscription.reset) {\n unsubs.push(on('reset', subscription.reset));\n }\n if (subscription.dispose) {\n unsubs.push(on('dispose', subscription.dispose));\n }\n return unsubs;\n }, []);\n return () => unsubs.forEach((unsub) => unsub());\n };\n const forceUpdate = (key) => {\n const oldValue = states.get(key);\n handlers.set.forEach((cb) => cb(key, oldValue, oldValue));\n };\n return {\n state,\n get,\n set,\n on,\n onChange,\n use,\n dispose,\n reset,\n forceUpdate,\n };\n};\nconst removeFromArray = (array, item) => {\n const index = array.indexOf(item);\n if (index >= 0) {\n array[index] = array[array.length - 1];\n array.length--;\n }\n};\n\nconst createStore = (defaultState, shouldUpdate) => {\n const map = createObservableMap(defaultState, shouldUpdate);\n map.use(stencilSubscription());\n return map;\n};\n\nexport { createObservableMap, createStore };\n","import {\n Component,\n Prop,\n h,\n Host,\n Element,\n ComponentInterface,\n State,\n Watch,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport { createStore, ObservableMap } from '@stencil/store';\n\ntype NanoFormEles =\n | HTMLNanoInputElement\n | HTMLNanoCheckboxElement\n | HTMLNanoSelectElement\n | HTMLNanoDateInputElement\n | HTMLNanoFileUploadElement;\ntype NanoEvent = CustomEvent & { target: NanoFormEles };\ninterface ValueStore {\n [key: string]: any;\n}\n\ninterface ValidationState {\n fields: NanoFormEles[];\n valid: boolean;\n validityMessage: string;\n dirty: boolean;\n name: string | number;\n value: any;\n}\n\n/**\n * A toolbox for `nano-...` form fields and form validation.\n *\n * - Easy to add validation accross field dependencies - e.g. \"When Field1 contains '123' Field2 must contain '456'\"\n * - Easy access to whole form and individual field validity states\n * - Easy access to form data payload\n * - Scroll to invalid field on submit\n */\n@Component({\n tag: 'nano-field-validator',\n})\nexport class FieldValidator implements ComponentInterface {\n // Internal State\n\n @Element() host: HTMLNanoFieldValidatorElement;\n @State() store: ObservableMap<ValueStore>;\n @State() userForm: HTMLFormElement;\n @State() submitted = false;\n @Watch('userForm')\n userFormChange() {\n if (!!this.userForm) this.activeForm = this.userForm;\n }\n\n private get activeForm() {\n return this._activeForm;\n }\n private set activeForm(form: HTMLFormElement) {\n if (this._activeForm)\n this._activeForm.removeEventListener(\n 'invalid',\n this.handleFormInvalid,\n true\n );\n if (form) form.addEventListener('invalid', this.handleFormInvalid, true);\n this._activeForm = form;\n }\n private _activeForm: HTMLFormElement;\n private mo: MutationObserver;\n private fields: NanoFormEles[] = [];\n // annoyingly, whenever we attempt to checkValidty it fires `invalid` events.\n // this is used to prevent infinite loops / multiple calls\n private internalValidate = false;\n\n // Public API\n\n /** When should the fields perform validation. Will override / sync all nested `nano-...` controls */\n @Prop({ mutable: true }) validateOn?: 'dirty' | 'submit' | 'submitThenDirty' =\n 'submitThenDirty';\n\n /** Sync up validateOn with all fields */\n @Watch('validateOn')\n validateOnChange() {\n this.fields.forEach((field) => {\n if (field.tagName === 'NANO-CHECKBOX') {\n const cbg = field.closest('nano-checkbox-group');\n if (cbg) cbg.validateOn = this.validateOn;\n } else {\n (field as Exclude<NanoFormEles, HTMLNanoCheckboxElement>).validateOn =\n this.validateOn;\n }\n });\n }\n\n /** Tries to scroll to the first invalid field on submit */\n @Prop() scrollToInvalid = true;\n\n /** Returns true if any nested fields have been changed @readonly */\n @Prop({ reflect: true })\n get dirty() {\n return this._dirty;\n }\n @State() _dirty = false;\n\n /** Returns true if all the nested fields are currently valid @readonly */\n @Prop({ reflect: true })\n get valid() {\n return this._valid;\n }\n @State() _valid: boolean;\n\n /** The current form payload as a reactive store. @readonly */\n @Prop()\n get payload() {\n return this.store.state;\n }\n\n /** Returns true if validation errors will be displayed to the user */\n @Prop()\n get showValidation() {\n return (this.validateOn === 'dirty' && this.dirty) || this.submitted;\n }\n\n /** Get the current validation state of all form fields. @readonly\n * ```\n {\n fields: NanoFormEles[];\n valid: boolean;\n validityMessage: string;\n dirty: boolean;\n name: string | number;\n value: any;\n }[]\n ```\n */\n @Prop() get validationState(): ValidationState[] {\n const validationState: ValidationState[] = [];\n\n this.fields.forEach(async (field) => {\n const found = validationState.find((v) => v.name === field.name);\n\n if (found) {\n found.validityMessage = field.validityMessage.length\n ? field.validityMessage\n : found.validityMessage;\n if (!found.fields.find((f) => f === field)) found.fields.push(field);\n if (found.valid && field.invalid) found.valid = false;\n return;\n }\n\n validationState.push({\n fields: [field],\n name: field.name,\n valid: !field.invalid,\n value: this.store.state[field.name],\n dirty: false,\n validityMessage: field.validityMessage,\n });\n });\n return validationState;\n }\n\n /** A validation callback method.\n * @param field - The field name currently being evaluated\n * @param value - The value of the field currently being evaluated\n * @param fields - an array of all currently observered form fields and values\n * @returns field names mapped to an object of status message and validity e.g.\n * ```js\n * {field1: {msg: `This is invalid!`}, field2: {msg: `This is valid!`, valid: true}}\n * ```\n */\n @Prop() validation: (\n field: string,\n value: string,\n fields: ValueStore\n ) => { [key: string]: { msg: string; valid?: boolean } };\n\n /** Fired whenever the payload changes */\n @Event() nanoPayloadChange: EventEmitter<ValueStore>;\n\n /**\n * Fired on valid form submission.\n * Note: if you wish to prevent a form from submitting, instead\n * of using / preventing the native `submit` event, use this event\n * ```js\n * ele.addEventListener('nanoSubmit', (e) => {\n * e.preventDefault()\n * })\n * ```\n */\n @Event() nanoSubmit: EventEmitter;\n\n /** Fire on invalid form submission attempt */\n @Event() nanoInvalid: EventEmitter;\n\n // private methods\n\n private attachSlotObserver() {\n if (!!this.mo) return;\n const mo = (this.mo = new MutationObserver((_entries) => {\n const form = this.host.querySelector('form');\n if (form !== this.activeForm) this.activeForm = form;\n this.setupFields();\n }));\n mo.observe(this.host, {\n childList: true,\n attributes: true,\n attributeFilter: ['name'],\n subtree: true,\n });\n }\n\n /** Checks for new `nano-...` fields and adds them to our watch array and value store */\n private setupFields() {\n let fields = Array.from(\n this.host.querySelectorAll<NanoFormEles>(`\n nano-input,\n nano-select,\n nano-file-upload,\n nano-date-input,\n nano-checkbox\n `)\n );\n fields = fields.filter((f) => !!f.name && !!f.name.length);\n\n // do we have any currently un-watched fields?\n if (!fields.filter((f) => !this.fields.includes(f)).length) return;\n\n // setup the initial store state / refresh on new fields\n this.fields = fields;\n this.validateOnChange();\n this.setFieldValue(this.fields);\n this.nanoPayloadChange.emit(this.store.state);\n }\n\n /** Loops through all `nano-...` fields and extracts their values into our store */\n private setFieldValue(fields: NanoFormEles[]) {\n fields.forEach((field) => {\n const fieldName = field.name;\n if (!fieldName.length) return;\n\n switch (field.tagName) {\n case 'NANO-CHECKBOX':\n let cb = field as HTMLNanoCheckboxElement;\n if (\n cb.type === 'radio' ||\n cb.type === 'segment' ||\n cb.type === 'segment-pill'\n ) {\n if (cb.checked) this.store.state[fieldName] = cb.value;\n else if (\n !cb.checked &&\n (cb.value === this.store.state[fieldName] ||\n !this.store.state[fieldName])\n )\n this.store.state[fieldName] = '';\n } else if (\n this.fields.filter(\n (f) => f.name === fieldName && f.tagName === 'NANO-CHECKBOX'\n ).length > 1\n ) {\n const currentArr = Array.isArray(this.store.state[fieldName])\n ? this.store.state[fieldName]\n : [];\n if (cb.checked) {\n if (!this.store.state[fieldName].includes(cb.value)) {\n this.store.state[fieldName] = [...currentArr, cb.value];\n }\n } else {\n this.store.state[fieldName] = currentArr.filter(\n (v) => v !== cb.value\n );\n }\n } else this.store.state[fieldName] = cb.value;\n break;\n case 'NANO-FILE-UPLOAD':\n this.store.state[fieldName] = (\n field as HTMLNanoFileUploadElement\n ).files;\n break;\n default:\n this.store.state[fieldName] = field.value;\n break;\n }\n });\n }\n\n /** Checks for user defined validations */\n private async validate(key: string | number, newVal: any) {\n if (!this.validation) return;\n\n const res = this.validation(key as string, newVal, this.store.state);\n\n // no nothing - return\n if (!res) return;\n\n // stencil public methods are async\n // so we must to coerce our validation\n // collection loop into a promise\n await Promise.all(\n Object.entries(res).map(async ([key, o]) => {\n // switch on/off validation messages\n const field = this.fields.find((f) => f.name === key);\n let validityTarget: NanoFormEles | HTMLNanoCheckboxGroupElement = field;\n\n if (field.tagName === 'NANO-CHECKBOX') {\n const cbg = field.closest('nano-checkbox-group');\n validityTarget = cbg || field;\n }\n\n // status is now valid - clear the error\n if (validityTarget.validityMessage === o.msg && o.valid)\n await this.setFieldError(validityTarget, '');\n // status is invalid. Set the error\n else if (!o.valid) {\n await this.setFieldError(validityTarget, o.msg);\n }\n })\n );\n }\n\n /**\n * Utility to smooth out setting error messages\n * (it's a different method on `nano-checkbox` 'cos they don't show errors themselves)\n * @param field\n * @param msg\n */\n private async setFieldError(\n field: NanoFormEles | HTMLNanoCheckboxGroupElement,\n msg: string\n ) {\n if (field['showError'])\n await (field as Exclude<NanoFormEles, HTMLNanoCheckboxElement>).showError(\n msg\n );\n else await (field as HTMLNanoCheckboxElement).setError(msg);\n }\n\n /** Loops through all store entries and checks field validity */\n private async validateAllFields() {\n // This forces our loop to `await` and finish sequentially ... silly async stencil methods\n await Object.entries(this.store.state).reduce(\n async (memo, [key, value]) => {\n await memo;\n await this.validate(key, value);\n },\n undefined as any\n );\n }\n\n private scrollToFirstInvalid() {\n if (!this.scrollToInvalid) return;\n\n setTimeout(() => {\n const invalidField = this.validationState.find((f) => !f.valid);\n if (!invalidField) return;\n invalidField.fields[0].scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n });\n }, 200);\n }\n\n private submitForm() {\n const nanoSubmit = this.nanoSubmit.emit();\n if (nanoSubmit.defaultPrevented) return;\n this.activeForm.submit();\n }\n\n // Event handlers\n\n /** Fired whenever store values change and potentially checks validity */\n private handleStoreChange = async (_key: string | number, _newVal: any) => {\n if (this.validateOn === 'dirty' && this.dirty) {\n this.internalValidate = true;\n await this.validateAllFields();\n this._valid = this.activeForm.checkValidity();\n this.internalValidate = false;\n }\n this.nanoPayloadChange.emit(this.store.state);\n };\n\n /** Handles field value changes and passes to store */\n private handleFieldChange = (ev: NanoEvent) => {\n this._dirty = true;\n this.setFieldValue([ev.target]);\n };\n\n /** Handles default field validation events */\n private handleFormInvalid = async (ev: Event) => {\n ev.preventDefault();\n this._valid = false;\n\n if (this.internalValidate) return;\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n this.submitted = true;\n\n await this.validateAllFields();\n\n // kinda insane...but if we're only validating on submit, then if the form is currently\n // in an invalid state, when submitting, it will fire an invalid event and not\n // submit the form. So let's test to make sure it is really invalid, and submit if not\n if (this.validateOn === 'submit') {\n this.internalValidate = true;\n this._valid = this.activeForm.checkValidity();\n this.internalValidate = false;\n\n if (this._valid) {\n this.submitForm();\n return;\n }\n }\n\n this.scrollToFirstInvalid();\n this.nanoInvalid.emit();\n };\n\n /** stops default form submission, checks if valid, then submits manually */\n private handleSubmit = async (e: Event) => {\n e.preventDefault();\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n this.submitted = true;\n await this.validateAllFields();\n\n this.internalValidate = true;\n this._valid = this.activeForm.checkValidity();\n this.internalValidate = false;\n\n if (!this._valid) {\n this.scrollToFirstInvalid();\n return;\n }\n this.submitForm();\n };\n\n connectedCallback(): void {\n this.userForm = this.host.querySelector('form');\n }\n\n componentDidLoad() {\n requestAnimationFrame(() => {\n this.store = createStore<ValueStore>({});\n\n this.setupFields();\n this.attachSlotObserver();\n\n this.store.on('set', (key, value) => this.handleStoreChange(key, value));\n this.host.addEventListener('nanoChange', this.handleFieldChange);\n this.host.addEventListener('submit', this.handleSubmit);\n });\n }\n\n disconnectedCallback() {\n if (this.mo) this.mo.disconnect();\n this.store.dispose();\n this.host.removeEventListener('nanoChange', this.handleFieldChange);\n this.host.removeEventListener('submit', this.handleSubmit);\n if (this.activeForm)\n this.activeForm.removeEventListener(\n 'invalid',\n this.handleFormInvalid,\n true\n );\n }\n\n render() {\n return (\n <Host>\n {this.userForm && <slot />}\n {!this.userForm && (\n <form ref={(f) => (this.activeForm = f)}>\n <slot />\n </form>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Web Components for Nanopore digital Web Apps
3
3
  */
4
- import{r as n,h as a,g as t}from"./p-ab5813a7.js";const e=':host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{display:inline-block;--base-color-rgb:var(--nano-spinner-base-rgb, 0, 116, 149);--indicator-color:var(\n --nano-spinner-indicator-color,\n rgba(var(--base-color-rgb), 1)\n );--track-color:var(--nano-track-color, rgba(var(--base-color-rgb), 0.2));--overlay-color:var(--nano-layer-overlay-light, rgba(255, 255, 255, .7))}.spinner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}:host([overlay]:not([overlay=false])) .spinner{position:absolute;top:0;left:0;right:0;bottom:0}:host([overlay]:not([overlay=false])) .spinner .spinner__loader,:host([overlay]:not([overlay=false])) .spinner .spinner__text{z-index:1}.spinner__overlay{background:var(--overlay-color);position:absolute;top:0;bottom:0;left:0;right:0;z-index:0;-webkit-backdrop-filter:blur(var(--nano-layer-overlay-blur, 3px));backdrop-filter:blur(var(--nano-layer-overlay-blur, 3px))}.spinner__loader{font-size:var(--spinner-scale, 1em)}.spinner__spin{display:block;margin:auto;width:1em;height:1em;border-radius:50%;border:solid 0.1em var(--track-color);border-top-color:var(--indicator-color);border-right-color:var(--indicator-color);border-left-color:var(--indicator-color);-webkit-animation:1s linear infinite spin;animation:1s linear infinite spin}.spinner__dna{font-size:0.2286em;display:-webkit-box;display:-ms-flexbox;display:flex}.spinner__dnatrack{position:relative;padding:0 0.625em;height:4.375em;width:0.625em;overflow:hidden}.spinner__dnatrack::before{content:"";position:absolute;top:1.875em;left:50%;-webkit-transform:translateX(-50%) translateZ(0);transform:translateX(-50%) translateZ(0);width:0.0625em;width:max(.0625em, 1px);height:0.625em;background:var(--track-color);-webkit-animation:flex 1.5s linear infinite;animation:flex 1.5s linear infinite;-webkit-transform-origin:center center;transform-origin:center center}.spinner__dnatrack--2::before{-webkit-animation:flex 1.5s -1.3s linear infinite;animation:flex 1.5s -1.3s linear infinite}.spinner__dnatrack--3::before{-webkit-animation:flex 1.5s -1.1s linear infinite;animation:flex 1.5s -1.1s linear infinite}.spinner__dnatrack--4::before{-webkit-animation:flex 1.5s -0.9s linear infinite;animation:flex 1.5s -0.9s linear infinite}.spinner__dnatrack--5::before{-webkit-animation:flex 1.5s -0.75s linear infinite;animation:flex 1.5s -0.75s linear infinite}.spinner__dnadot{position:absolute;width:0.5em;height:0.5em;border-radius:50% 50%;background:var(--indicator-color);-webkit-animation:rotate 1.5s linear infinite;animation:rotate 1.5s linear infinite;-webkit-transform-origin:center center;transform-origin:center center;left:50%;-webkit-transform:translateX(-50%) translateZ(0) translateY(0);transform:translateX(-50%) translateZ(0) translateY(0)}.spinner__dnadot--2{-webkit-animation:rotate 1.5s -0.75s linear infinite;animation:rotate 1.5s -0.75s linear infinite}.spinner__dnadot--3{-webkit-animation:rotate 1.5s -1.3s linear infinite;animation:rotate 1.5s -1.3s linear infinite}.spinner__dnadot--4{-webkit-animation:rotate 1.5s -0.55s linear infinite;animation:rotate 1.5s -0.55s linear infinite}.spinner__dnadot--5{-webkit-animation:rotate 1.5s -1.1s linear infinite;animation:rotate 1.5s -1.1s linear infinite}.spinner__dnadot--6{-webkit-animation:rotate 1.5s -0.35s linear infinite;animation:rotate 1.5s -0.35s linear infinite}.spinner__dnadot--7{-webkit-animation:rotate 1.5s -0.9s linear infinite;animation:rotate 1.5s -0.9s linear infinite}.spinner__dnadot--8{-webkit-animation:rotate 1.5s -0.15s linear infinite;animation:rotate 1.5s -0.15s linear infinite}.spinner__dnadot--9{-webkit-animation:rotate 1.5s -0.75s linear infinite;animation:rotate 1.5s -0.75s linear infinite}.spinner__dnadot--10{-webkit-animation:rotate 1.5s 0s linear infinite;animation:rotate 1.5s 0s linear infinite}.spinner__text{text-align:center;position:relative;margin-top:0.5em}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes rotate{0%,100%{-webkit-transform:translateX(-50%) translateY(0) scale(1);transform:translateX(-50%) translateY(0) scale(1)}25%{-webkit-transform:translateX(-50%) translateY(1.875em) scale(2);transform:translateX(-50%) translateY(1.875em) scale(2)}50%{-webkit-transform:translateX(-50%) translateY(3.75em) scale(1);transform:translateX(-50%) translateY(3.75em) scale(1)}75%{-webkit-transform:translateX(-50%) translateY(1.875em) scale(0.3);transform:translateX(-50%) translateY(1.875em) scale(0.3)}}@keyframes rotate{0%,100%{-webkit-transform:translateX(-50%) translateY(0) scale(1);transform:translateX(-50%) translateY(0) scale(1)}25%{-webkit-transform:translateX(-50%) translateY(1.875em) scale(2);transform:translateX(-50%) translateY(1.875em) scale(2)}50%{-webkit-transform:translateX(-50%) translateY(3.75em) scale(1);transform:translateX(-50%) translateY(3.75em) scale(1)}75%{-webkit-transform:translateX(-50%) translateY(1.875em) scale(0.3);transform:translateX(-50%) translateY(1.875em) scale(0.3)}}@-webkit-keyframes flex{0%,100%{-webkit-transform:translateX(-50%) scaleY(5);transform:translateX(-50%) scaleY(5)}25%{-webkit-transform:translateX(-50%) scaleY(1);transform:translateX(-50%) scaleY(1)}50%{-webkit-transform:translateX(-50%) scaleY(5);transform:translateX(-50%) scaleY(5)}75%{-webkit-transform:translateX(-50%) scaleY(1);transform:translateX(-50%) scaleY(1)}}@keyframes flex{0%,100%{-webkit-transform:translateX(-50%) scaleY(5);transform:translateX(-50%) scaleY(5)}25%{-webkit-transform:translateX(-50%) scaleY(1);transform:translateX(-50%) scaleY(1)}50%{-webkit-transform:translateX(-50%) scaleY(5);transform:translateX(-50%) scaleY(5)}75%{-webkit-transform:translateX(-50%) scaleY(1);transform:translateX(-50%) scaleY(1)}}';let r=class{constructor(a){n(this,a);this.hasText=false;this.type="dna";this.overlay=false}componentWillLoad(){this.hasText=!!this.el.childNodes.length}render(){return a("div",{class:"spinner","aria-busy":"true","aria-live":"polite"},a("div",{class:"spinner__loader"},this.type==="dna"&&a("div",{class:"spinner__dna"},a("div",{class:"spinner__dnatrack spinner__dnatrack--1"},a("div",{class:"spinner__dnadot spinner__dnadot--1"}),a("div",{class:"spinner__dnadot spinner__dnadot--2"})),a("div",{class:"spinner__dnatrack spinner__dnatrack--2"},a("div",{class:"spinner__dnadot spinner__dnadot--3"}),a("div",{class:"spinner__dnadot spinner__dnadot--4"})),a("div",{class:"spinner__dnatrack spinner__dnatrack--3"},a("div",{class:"spinner__dnadot spinner__dnadot--5"}),a("div",{class:"spinner__dnadot spinner__dnadot--6"})),a("div",{class:"spinner__dnatrack spinner__dnatrack--4"},a("div",{class:"spinner__dnadot spinner__dnadot--7"}),a("div",{class:"spinner__dnadot spinner__dnadot--8"})),a("div",{class:"spinner__dnatrack spinner__dnatrack--5"},a("div",{class:"spinner__dnadot spinner__dnadot--9"}),a("div",{class:"spinner__dnadot spinner__dnadot--10"}))),this.type==="circle"&&a("span",{class:"spinner__spin"})),this.hasText&&a("div",{class:"spinner__text"},a("slot",null)),this.overlay&&a("div",{class:"spinner__overlay"}))}get el(){return t(this)}};r.style=e;export{r as nano_spinner};
5
- //# sourceMappingURL=p-040b6cda.entry.js.map
4
+ import{r as n,h as a,g as t}from"./p-b5c33aff.js";const e=':host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{display:inline-block;--base-color-rgb:var(--nano-spinner-base-rgb, 0, 116, 149);--indicator-color:var(\n --nano-spinner-indicator-color,\n rgba(var(--base-color-rgb), 1)\n );--track-color:var(--nano-track-color, rgba(var(--base-color-rgb), 0.2));--overlay-color:var(--nano-layer-overlay-light, rgba(255, 255, 255, .7))}.spinner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}:host([overlay]:not([overlay=false])) .spinner{position:absolute;top:0;left:0;right:0;bottom:0}:host([overlay]:not([overlay=false])) .spinner .spinner__loader,:host([overlay]:not([overlay=false])) .spinner .spinner__text{z-index:1}.spinner__overlay{background:var(--overlay-color);position:absolute;top:0;bottom:0;left:0;right:0;z-index:0;-webkit-backdrop-filter:blur(var(--nano-layer-overlay-blur, 3px));backdrop-filter:blur(var(--nano-layer-overlay-blur, 3px))}.spinner__loader{font-size:var(--spinner-scale, 1em)}.spinner__spin{display:block;margin:auto;width:1em;height:1em;border-radius:50%;border:solid 0.1em var(--track-color);border-top-color:var(--indicator-color);border-right-color:var(--indicator-color);border-left-color:var(--indicator-color);-webkit-animation:1s linear infinite spin;animation:1s linear infinite spin}.spinner__dna{font-size:0.2286em;display:-webkit-box;display:-ms-flexbox;display:flex}.spinner__dnatrack{position:relative;padding:0 0.625em;height:4.375em;width:0.625em;overflow:hidden}.spinner__dnatrack::before{content:"";position:absolute;top:1.875em;left:50%;-webkit-transform:translateX(-50%) translateZ(0);transform:translateX(-50%) translateZ(0);width:0.0625em;width:max(.0625em, 1px);height:0.625em;background:var(--track-color);-webkit-animation:flex 1.5s linear infinite;animation:flex 1.5s linear infinite;-webkit-transform-origin:center center;transform-origin:center center}.spinner__dnatrack--2::before{-webkit-animation:flex 1.5s -1.3s linear infinite;animation:flex 1.5s -1.3s linear infinite}.spinner__dnatrack--3::before{-webkit-animation:flex 1.5s -1.1s linear infinite;animation:flex 1.5s -1.1s linear infinite}.spinner__dnatrack--4::before{-webkit-animation:flex 1.5s -0.9s linear infinite;animation:flex 1.5s -0.9s linear infinite}.spinner__dnatrack--5::before{-webkit-animation:flex 1.5s -0.75s linear infinite;animation:flex 1.5s -0.75s linear infinite}.spinner__dnadot{position:absolute;width:0.5em;height:0.5em;border-radius:50% 50%;background:var(--indicator-color);-webkit-animation:rotate 1.5s linear infinite;animation:rotate 1.5s linear infinite;-webkit-transform-origin:center center;transform-origin:center center;left:50%;-webkit-transform:translateX(-50%) translateZ(0) translateY(0);transform:translateX(-50%) translateZ(0) translateY(0)}.spinner__dnadot--2{-webkit-animation:rotate 1.5s -0.75s linear infinite;animation:rotate 1.5s -0.75s linear infinite}.spinner__dnadot--3{-webkit-animation:rotate 1.5s -1.3s linear infinite;animation:rotate 1.5s -1.3s linear infinite}.spinner__dnadot--4{-webkit-animation:rotate 1.5s -0.55s linear infinite;animation:rotate 1.5s -0.55s linear infinite}.spinner__dnadot--5{-webkit-animation:rotate 1.5s -1.1s linear infinite;animation:rotate 1.5s -1.1s linear infinite}.spinner__dnadot--6{-webkit-animation:rotate 1.5s -0.35s linear infinite;animation:rotate 1.5s -0.35s linear infinite}.spinner__dnadot--7{-webkit-animation:rotate 1.5s -0.9s linear infinite;animation:rotate 1.5s -0.9s linear infinite}.spinner__dnadot--8{-webkit-animation:rotate 1.5s -0.15s linear infinite;animation:rotate 1.5s -0.15s linear infinite}.spinner__dnadot--9{-webkit-animation:rotate 1.5s -0.75s linear infinite;animation:rotate 1.5s -0.75s linear infinite}.spinner__dnadot--10{-webkit-animation:rotate 1.5s 0s linear infinite;animation:rotate 1.5s 0s linear infinite}.spinner__text{text-align:center;position:relative;margin-top:0.5em}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes rotate{0%,100%{-webkit-transform:translateX(-50%) translateY(0) scale(1);transform:translateX(-50%) translateY(0) scale(1)}25%{-webkit-transform:translateX(-50%) translateY(1.875em) scale(2);transform:translateX(-50%) translateY(1.875em) scale(2)}50%{-webkit-transform:translateX(-50%) translateY(3.75em) scale(1);transform:translateX(-50%) translateY(3.75em) scale(1)}75%{-webkit-transform:translateX(-50%) translateY(1.875em) scale(0.3);transform:translateX(-50%) translateY(1.875em) scale(0.3)}}@keyframes rotate{0%,100%{-webkit-transform:translateX(-50%) translateY(0) scale(1);transform:translateX(-50%) translateY(0) scale(1)}25%{-webkit-transform:translateX(-50%) translateY(1.875em) scale(2);transform:translateX(-50%) translateY(1.875em) scale(2)}50%{-webkit-transform:translateX(-50%) translateY(3.75em) scale(1);transform:translateX(-50%) translateY(3.75em) scale(1)}75%{-webkit-transform:translateX(-50%) translateY(1.875em) scale(0.3);transform:translateX(-50%) translateY(1.875em) scale(0.3)}}@-webkit-keyframes flex{0%,100%{-webkit-transform:translateX(-50%) scaleY(5);transform:translateX(-50%) scaleY(5)}25%{-webkit-transform:translateX(-50%) scaleY(1);transform:translateX(-50%) scaleY(1)}50%{-webkit-transform:translateX(-50%) scaleY(5);transform:translateX(-50%) scaleY(5)}75%{-webkit-transform:translateX(-50%) scaleY(1);transform:translateX(-50%) scaleY(1)}}@keyframes flex{0%,100%{-webkit-transform:translateX(-50%) scaleY(5);transform:translateX(-50%) scaleY(5)}25%{-webkit-transform:translateX(-50%) scaleY(1);transform:translateX(-50%) scaleY(1)}50%{-webkit-transform:translateX(-50%) scaleY(5);transform:translateX(-50%) scaleY(5)}75%{-webkit-transform:translateX(-50%) scaleY(1);transform:translateX(-50%) scaleY(1)}}';let r=class{constructor(a){n(this,a);this.hasText=false;this.type="dna";this.overlay=false}componentWillLoad(){this.hasText=!!this.el.childNodes.length}render(){return a("div",{class:"spinner","aria-busy":"true","aria-live":"polite"},a("div",{class:"spinner__loader"},this.type==="dna"&&a("div",{class:"spinner__dna"},a("div",{class:"spinner__dnatrack spinner__dnatrack--1"},a("div",{class:"spinner__dnadot spinner__dnadot--1"}),a("div",{class:"spinner__dnadot spinner__dnadot--2"})),a("div",{class:"spinner__dnatrack spinner__dnatrack--2"},a("div",{class:"spinner__dnadot spinner__dnadot--3"}),a("div",{class:"spinner__dnadot spinner__dnadot--4"})),a("div",{class:"spinner__dnatrack spinner__dnatrack--3"},a("div",{class:"spinner__dnadot spinner__dnadot--5"}),a("div",{class:"spinner__dnadot spinner__dnadot--6"})),a("div",{class:"spinner__dnatrack spinner__dnatrack--4"},a("div",{class:"spinner__dnadot spinner__dnadot--7"}),a("div",{class:"spinner__dnadot spinner__dnadot--8"})),a("div",{class:"spinner__dnatrack spinner__dnatrack--5"},a("div",{class:"spinner__dnadot spinner__dnadot--9"}),a("div",{class:"spinner__dnadot spinner__dnadot--10"}))),this.type==="circle"&&a("span",{class:"spinner__spin"})),this.hasText&&a("div",{class:"spinner__text"},a("slot",null)),this.overlay&&a("div",{class:"spinner__overlay"}))}get el(){return t(this)}};r.style=e;export{r as nano_spinner};
5
+ //# sourceMappingURL=p-2649fc8e.entry.js.map
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Web Components for Nanopore digital Web Apps
3
+ */
4
+ import{r as t,c as e,h as i,e as s,g as n}from"./p-b5c33aff.js";import{p as a,a as o,c as h}from"./p-70272eae.js";import{c as d}from"./p-d99437a6.js";const r=".sc-nano-date-input-h{-webkit-box-sizing:border-box;box-sizing:border-box}*.sc-nano-date-input,*.sc-nano-date-input::before,*.sc-nano-date-input::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden].sc-nano-date-input{display:none !important}.sc-nano-date-input-h{display:inline-block;width:100%;--focus-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)));--open-btn-color:var(--nano-button-color, #f0efed);--open-btn-border:none;--close-btn-color:var(--nano-button-color, #f0efed);--picker-base-size:16px}.nano-color.sc-nano-date-input-h{--focus-shadow:0 0 0 0.1875rem rgba(var(--nano-color-tint-rgb), 0.56)}nano-icon.sc-nano-date-input{pointer-events:none}.date-field.sc-nano-date-input{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:relative}.date-field__dropdown.sc-nano-date-input{--padding:0;--overflow:visible;padding:0 !important;width:0 !important;width:100%;z-index:var(--nano-layer-index-dropdown, 300) !important}.date-field__close-bar.sc-nano-date-input{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;text-overflow:ellipsis;white-space:nowrap;border:0;margin:0;overflow:visible;padding:0;position:absolute;right:-8px;top:-8px;width:auto;z-index:1}.date-field__open.sc-nano-date-input{background:var(--open-btn-color);border:var(--open-btn-border);margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.date-field__open.sc-nano-date-input:focus{-webkit-box-shadow:var(--focus-shadow);box-shadow:var(--focus-shadow);outline:none}.date-field__close.sc-nano-date-input{-webkit-appearance:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-moz-appearance:none;appearance:none;background:var(--close-btn-color);border:0;border-radius:50%;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;height:24px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:0;width:24px}@media (min-width: 36em){.date-field__close.sc-nano-date-input{opacity:0}}.date-field__close.sc-nano-date-input:focus{-webkit-box-shadow:var(--focus-shadow);box-shadow:var(--focus-shadow);outline:none}@media (min-width: 36em){.date-field__close.sc-nano-date-input:focus{opacity:1}}.date-field__close.sc-nano-date-input nano-icon.sc-nano-date-input{margin:0 auto}.date-field.sc-nano-date-input nano-date-picker.sc-nano-date-input{font-size:var(--picker-base-size)}.vhidden.sc-nano-date-input{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}";const l={d:"(\\d{1,2})",m:"(\\d{1,2})",y:"(\\d{4})"};let c=0;let p=class{constructor(i){t(this,i);this.nanoChange=e(this,"nanoChange",7);this.nanoValidate=e(this,"nanoValidate",7);this.directInput=false;this.dateOrderIndeces={d:0,m:1,y:3};this.inputId=`nano-input-${c++}`;this.locale=window.navigator.languages||window.navigator.language||undefined;this._invalid=false;this.helperText=true;this.helperTextFormat={year:"numeric",month:"long",day:"numeric"};this.floatLabel=false;this.name=this.inputId;this.readonly=false;this.disabled=false;this.autofocus=false;this.clearInput=false;this.value="";this.validateOn="submitThenDirty";this.showInlineError=true;this.dateOrder="dmy";this.required=false;this.hideLabel=false;this.picker=true;this.pickerOpen=false;this.closeAfterPicked=true;this._dropDownConfig={};this.isDateDisabled=()=>false;this.onInputChange=t=>{t.stopPropagation();this.setValue(t.target.value)};this.onInputValidate=t=>{t.stopPropagation();this._invalid=!t.detail.isValid;this.nanoValidate.emit({isValid:t.detail.isValid,errorMessage:t.detail.errorMessage,originalEvent:t.detail.originalEvent})};this.onInputKey=()=>{this.directInput=true};this.onDatePicked=t=>{this.directInput=false;this.value=t.detail.value;if(this.closeAfterPicked)this.pickerOpen=false};this.onDropdownHide=()=>{setTimeout((t=>this.pickerOpen=false),200);setTimeout((t=>this.trigger.focus()),50)};this.onDropdownShow=()=>{setTimeout((t=>{this.pickerEle.setFocus(false,this.pickerOpenSource==="key");this.pickerOpenSource=null}),200)};this.onTriggerClick=()=>{if(!this.pickerOpen){this.pickerOpen=true;this.pickerOpenSource="mouse"}};this.onTriggerKey=t=>{if([" ","Enter"].includes(t.key)){if(!this.pickerOpen){this.pickerOpen=true;this.pickerOpenSource="key"}}};this.onCloseClick=()=>{if(this.pickerOpen)this.pickerOpen=false};this.onCloseKeyDown=t=>{if(t.key==="Tab"&&t.shiftKey){this.pickerEle.setFocus(true);t.preventDefault()}if(t.key===" "||t.key==="Enter"){if(this.pickerOpen)this.pickerOpen=false}}}get invalid(){return this._invalid}get validityMessage(){if(!this.input)return"";return this.input.validityMessage}handleValueChange(){if(!this.directInput)this.inputValue=this.formatIsoDate(this.value);setTimeout((()=>{this.nanoChange.emit({value:this.value,date:a(this.value)})}),20);this.directInput=false}handleDateOrderChange(){this.setDatePattern()}testDateValidity(){const t=a(this.value);let e,i,s="";if(this.value&&t){if(this.min&&(e=a(this.min))&&t<e){s="Date below the minimum: "+e.toLocaleDateString(this.locale,this.helperTextFormat)}if(this.max&&(i=a(this.max))&&t>i){s="Date above the maximum: "+i.toLocaleDateString(this.locale,this.helperTextFormat)}if(this.isDateDisabled(t)){s="Date selected is disabled."}}requestAnimationFrame((async e=>{if(!this.input)return;const i=await this.input.getInputElement();if(this.value.length&&!t)s="Please enter a valid date";i.setCustomValidity(s);if(this.input.validateOn==="dirty"){this.input.showError(s)}}))}handlePickerOpenChange(){this.dropdown.open=this.pickerOpen}get dropDownConfig(){return this._dropDownConfig}set dropDownConfig(t){this._dropDownConfig=Object.assign(Object.assign({},this._dropDownConfig),t)}get dateValue(){return a(this.value)}async reportValidity(t){return await this.input.reportValidity(t)}async setFocus(){if(this.input)this.input.setFocus()}async getInputElement(){return await this.input.getInputElement()}async showError(t){if(!this.input)return;this.input.showError(t)}setDatePattern(){let t=[];let e=[];Array.from(this.dateOrder).map(((i,s)=>{t.push(l[i]);this.dateOrderIndeces[i]=s;e.push(i==="y"?"yyyy":i+i)}));this.pattern=t.join("\\W+");if(!this.placeholder&&this.placeholder!=="false")this.placeholder=e.join(" ")}formatIsoDate(t){let e=[];Array.from("ymd").map((t=>e.push(l[t])));const i=t.match(new RegExp(e.join("\\W+")));if(!i)return"";let s=[];s[this.dateOrderIndeces.d]=i[3];s[this.dateOrderIndeces.m]=i[2];s[this.dateOrderIndeces.y]=i[1];return s.join(" ")}setValue(t){const e=t.match(new RegExp(this.pattern));if(!e){this.value=t;return}let i=h(e[this.dateOrderIndeces.y+1],e[this.dateOrderIndeces.m+1],e[this.dateOrderIndeces.d+1]);if(!i){i=new Date(t);if(!i){this.value=t;return}}const s=o(i);this.value=s;return s}connectedCallback(){this.setDatePattern();this.handleValueChange()}componentDidLoad(){if(!this.pickerCloseBtn||!this.picker)return;this.pickerEle.firstFocusEle=this.pickerCloseBtn;this.dropdown.tetherTo=this.trigger;setTimeout((t=>this.handlePickerOpenChange()),300)}render(){this.locale=navigator.languages||navigator.language||undefined;this.dropDownConfig.placement=this.dropDownConfig.placement||"bottom-end";if(this.host.ownerDocument.dir==="rtl"){this.dropDownConfig.placement.replace("start","end")}if(this.trigger)this.dropDownConfig.tetherTo=this.trigger;const t=a(this.value);const e=!!this.host.querySelector('[slot="helper"]');return i(s,{class:Object.assign({},d(this.color))},i("div",{class:"date-field"},i("nano-input",{class:"date-field__input",slot:"trigger",required:this.required||undefined,showInlineError:this.showInlineError,validateOn:this.validateOn,placeholder:this.placeholder!=="false"?this.placeholder:undefined,pattern:this.pattern,label:this.label,disabled:this.disabled||undefined,color:this.color||undefined,autofocus:this.autofocus||undefined,clearInput:this.clearInput||undefined,onNanoChange:this.onInputChange,onNanoInput:this.onInputKey,onNanoValidate:this.onInputValidate,name:"",form:this.form||undefined,size:this.size||undefined,readonly:this.readonly,value:this.inputValue,ref:t=>this.input=t,floatLabel:this.floatLabel,hideLabel:this.hideLabel,inputmode:"numeric",part:"input"},i("slot",{name:"start",slot:"start"}),i("slot",{name:"label"}),i("slot",{name:"end",slot:"end"}),this.picker&&[i("button",{slot:"end",class:"date-field__open",type:"button",onKeyDown:this.onTriggerKey,onClick:this.onTriggerClick,ref:t=>this.trigger=t,disabled:this.disabled||this.readonly},i("nano-icon",{name:"light/calendar-alt"})),i("nano-dropdown",Object.assign({slot:"end",onNanoHide:this.onDropdownHide,onNanoShow:this.onDropdownShow,dialogTitle:"Choose a date",class:"date-field__dropdown",ref:t=>this.dropdown=t},this.dropDownConfig,{part:"dropdown"}),i("div",null,i("div",{class:"date-field__close-bar"},i("button",{class:"date-field__close",type:"button",onMouseDown:this.onCloseClick,onKeyDown:this.onCloseKeyDown,ref:t=>this.pickerCloseBtn=t},i("nano-icon",{name:"light/times"}),i("span",{class:"vhidden"},"Close window"))),i("nano-date-picker",{isDateDisabled:this.isDateDisabled,onNanoDatePicked:this.onDatePicked,min:this.min||undefined,max:this.max||undefined,"is-modal":true,ref:t=>this.pickerEle=t,localization:this.localization,selectedDate:this.value||this.initialPickerDate,firstDayOfWeek:this.firstDayOfWeek,color:this.color||undefined,part:"date-picker"})))],(e||this.helperText||this.showInlineError)&&i("span",{slot:"helper"},i("span",{class:{vhidden:!!this.value.length}},i("slot",{name:"helper"})),this.helperText&&!!t&&i("span",null,t.toLocaleDateString(this.locale,this.helperTextFormat)))),i("input",{type:"hidden",value:this.value,name:this.name})))}get host(){return n(this)}static get watchers(){return{value:["handleValueChange","testDateValidity"],dateOrder:["handleDateOrderChange"],min:["testDateValidity"],max:["testDateValidity"],pickerOpen:["handlePickerOpenChange"]}}};p.style=r;export{p as nano_date_input};
5
+ //# sourceMappingURL=p-2720ee8f.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/date-input/date-input.scss?tag=nano-date-input&encapsulation=scoped","src/components/date-input/date-input.tsx"],"names":["dateInputCss","DateRegxps","d","m","y","inputIds","DateInput","[object Object]","hostRef","this","directInput","dateOrderIndeces","inputId","locale","window","navigator","languages","language","undefined","_invalid","helperText","helperTextFormat","year","month","day","floatLabel","name","readonly","disabled","autofocus","clearInput","value","validateOn","showInlineError","dateOrder","required","hideLabel","picker","pickerOpen","closeAfterPicked","_dropDownConfig","isDateDisabled","onInputChange","e","stopPropagation","setValue","target","onInputValidate","detail","isValid","nanoValidate","emit","errorMessage","originalEvent","onInputKey","onDatePicked","onDropdownHide","setTimeout","_","trigger","focus","onDropdownShow","pickerEle","setFocus","pickerOpenSource","onTriggerClick","onTriggerKey","includes","key","onCloseClick","onCloseKeyDown","shiftKey","preventDefault","invalid","validityMessage","input","inputValue","formatIsoDate","nanoChange","date","parseISODate","setDatePattern","valueDate","min","max","error","toLocaleDateString","requestAnimationFrame","async","getInputElement","length","setCustomValidity","showError","dropdown","open","dropDownConfig","ddc","Object","assign","dateValue","validateFirst","reportValidity","message","dateRegexOrdered","dateStrOrd","Array","from","map","datepart","i","push","pattern","join","placeholder","isoDate","matches","match","RegExp","formatted","createDate","Date","dateStr","printISODate","handleValueChange","pickerCloseBtn","firstFocusEle","tetherTo","handlePickerOpenChange","placement","host","ownerDocument","dir","replace","hasHelperSlot","querySelector","h","Host","class","createColorClasses","color","slot","label","onNanoChange","onNanoInput","onNanoValidate","form","size","ref","inputmode","part","type","onKeyDown","onClick","onNanoHide","onNanoShow","dialogTitle","onMouseDown","pickerClose","onNanoDatePicked","is-modal","localization","selectedDate","initialPickerDate","firstDayOfWeek","vhidden"],"mappings":"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","sourcesContent":["@use 'sass:map';\n@use 'sass:list';\n\n@import '../../global/style/nano-theme/form';\n@import '../../global/style/nano-theme/layers';\n@import '../../global/style/utilities/globals';\n\n:host {\n /**\n * @prop --focus-shadow: defaults to #{$control-focus-style};\n * @prop --open-btn-color: defaults to #{$button-bg-color};\n * @prop --open-btn-border: defaults to none;\n * @prop --close-btn-color: defaults to #{map.get($colors, celsius)};\n * @prop --picker-base-size: Base font size of the date picker component. Defaults to 16px;\n */\n\n display: inline-block;\n width: 100%;\n\n --focus-shadow: #{$control-focus-style};\n --open-btn-color: #{$button-bg-color};\n --open-btn-border: none;\n --close-btn-color: #{$button-bg-color};\n --picker-base-size: 16px;\n}\n\n:host(.nano-color) {\n --focus-shadow: #{$control-focus-size current-color(tint, 0.56)};\n}\n\nnano-icon {\n pointer-events: none;\n}\n\n.date-field {\n display: flex;\n flex-direction: column;\n position: relative;\n\n &__dropdown {\n --padding: 0;\n --overflow: visible;\n\n padding: 0 !important;\n width: 0 !important;\n width: 100%;\n z-index: $layer-index-dropdown !important;\n }\n\n &__close-bar {\n align-items: center;\n display: flex;\n justify-content: space-between;\n text-overflow: ellipsis;\n white-space: nowrap;\n border: 0;\n margin: 0;\n overflow: visible;\n padding: 0;\n position: absolute;\n right: -8px;\n top: -8px;\n width: auto;\n z-index: 1;\n }\n\n &__open {\n background: var(--open-btn-color);\n border: var(--open-btn-border);\n margin: 0;\n appearance: none;\n\n &:focus {\n box-shadow: var(--focus-shadow);\n outline: none;\n }\n }\n\n &__close {\n -webkit-appearance: none;\n align-items: center;\n appearance: none;\n background: var(--close-btn-color);\n border: 0;\n border-radius: 50%;\n cursor: pointer;\n display: flex;\n height: 24px;\n justify-content: center;\n padding: 0;\n width: 24px;\n\n @media (min-width: 36em) {\n opacity: 0;\n }\n\n &:focus {\n box-shadow: var(--focus-shadow);\n outline: none;\n\n @media (min-width: 36em) {\n opacity: 1;\n }\n }\n\n nano-icon {\n margin: 0 auto;\n }\n }\n\n nano-date-picker {\n font-size: var(--picker-base-size);\n }\n}\n\n.vhidden {\n @include visually-hide();\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n h,\n Prop,\n Watch,\n State,\n Event,\n EventEmitter,\n Host,\n Method,\n} from '@stencil/core';\nimport {\n createDate,\n DaysOfWeek,\n printISODate,\n parseISODate,\n} from '../../utils/date-utils';\n\nimport {\n PickerChangeEvent,\n DateInputChangeEventDetail,\n Color,\n LocalDateOpts,\n DuetLocalizedText,\n ControlValidity,\n ControlValidityEventDetail,\n DateDisabledPredicate,\n} from '../../interface';\nimport { createColorClasses } from '../../utils';\nimport type { Dropdown } from '../dropdown/dropdown';\n\nconst DateRegxps = {\n d: '(\\\\d{1,2})',\n m: '(\\\\d{1,2})',\n y: '(\\\\d{4})',\n};\n\nlet inputIds = 0;\n\n/**\n * The date-input component combines `nano-dropdown`, `nano-input` and `nano-date-picker` components to make a fully featured date form field. It has specific options for localisation, date formatting and validation.\n *\n * @slot label - if you do not set a label attribute, you can use this slot for more complex markup\n * @slot helper - helper text to accompany the form field underneath.\n * @slot start - input start slot\n * @slot end - input end slot\n */\n@Component({\n tag: 'nano-date-input',\n styleUrl: 'date-input.scss',\n scoped: true,\n})\nexport class DateInput implements ComponentInterface {\n private pickerEle!: HTMLNanoDatePickerElement;\n private trigger!: HTMLButtonElement;\n private pickerCloseBtn!: HTMLButtonElement;\n private dropdown!: HTMLNanoDropdownElement;\n private input: HTMLNanoInputElement;\n private pickerOpenSource: 'key' | 'mouse';\n\n private directInput = false;\n private dateOrderIndeces = { d: 0, m: 1, y: 3 };\n private inputId = `nano-input-${inputIds++}`;\n private locale =\n (window.navigator.languages as string[]) ||\n window.navigator.language ||\n undefined;\n\n @Element() host: HTMLNanoDateInputElement;\n\n // Private state\n\n @State() pattern!: string;\n @State() inputValue: string;\n\n // Public Api / Prop\n\n /**\n * This will be true when the control is in an invalid state.\n * Validity is determined by the `required` prop. Or if custom validity message is set. @readonly\n */\n @Prop({ reflect: true })\n get invalid() {\n return this._invalid;\n }\n @State() _invalid = false;\n\n /**\n * Current validation message - if any. @readonly\n */\n @Prop()\n get validityMessage() {\n if (!this.input) return '';\n return this.input.validityMessage;\n }\n\n /**\n * Whether to show a long form, confirmation date string of the one currently entered\n */\n @Prop() helperText: boolean = true;\n\n /**\n * Options for the date string display. Refer to https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString.\n */\n @Prop() helperTextFormat: LocalDateOpts = {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n };\n\n /**\n * Enable floating label behaviour. Will disable placeholder if set.\n */\n @Prop() floatLabel: boolean = false;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.inputId;\n\n /**\n * If `true`, the user cannot modify the value.\n */\n @Prop() readonly = false;\n\n /**\n * The initial size (number of characters) of the control.\n */\n @Prop() size?: number;\n\n /**\n * The form element to associate the select with (its form owner). Must be the id of a form.\n */\n @Prop() form?: string | null;\n\n /**\n * Which day is considered first day of the week? `0` for Sunday, `1` for Monday, etc.\n * Default is Monday.\n */\n @Prop() firstDayOfWeek?: DaysOfWeek;\n\n /**\n * Button labels, day names, month names, etc, used for localization.\n * Default is English.\n */\n @Prop() localization?: DuetLocalizedText;\n\n /**\n * If `true`, the user cannot interact with the input.\n */\n @Prop() disabled = false;\n\n /**\n * The color to use from the application's color palette.\n */\n @Prop() color?: Color;\n\n /**\n * This Boolean attribute lets you specify that a form control should have input focus when the page loads.\n */\n @Prop() autofocus = false;\n\n /**\n * If `true`, a clear icon will appear in the input when there is a value. Clicking it clears the input.\n */\n @Prop() clearInput = false;\n\n /**\n * String to place within a label element. Alternatively you may use a label slot.\n */\n @Prop() label?: string;\n\n /**\n * Instructional text that shows before the input has a value.\n * The pattern prop will be used to create a placeholder automatically if unused.\n */\n @Prop({ mutable: true }) placeholder: string;\n\n /**\n * Current value. Must be in IS0-8601 format: YYYY-MM-DD.\n */\n @Prop({ reflect: true, mutable: true }) value: string = '';\n\n @Watch('value')\n handleValueChange() {\n if (!this.directInput) this.inputValue = this.formatIsoDate(this.value);\n setTimeout(() => {\n this.nanoChange.emit({\n value: this.value,\n date: parseISODate(this.value),\n });\n }, 20);\n this.directInput = false;\n }\n\n /**\n * When should the field perform validation\n */\n @Prop() validateOn?: 'dirty' | 'submit' | 'submitThenDirty' =\n 'submitThenDirty';\n\n /**\n * Whether to show validation errors underneath input\n */\n @Prop({ reflect: true }) showInlineError = true;\n\n /**\n * The order of the date parts for entry and display.\n * e.g. dmy = dd mm yyyy\n */\n @Prop() dateOrder: 'dmy' | 'mdy' | 'ymd' | 'dym' = 'dmy';\n\n @Watch('dateOrder')\n handleDateOrderChange() {\n this.setDatePattern();\n }\n\n /**\n * If `true`, the user must fill in a value before submitting a form.\n */\n @Prop() required = false;\n\n /**\n * Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\n * This setting can be used alone or together with the max property.\n */\n @Prop() min?: string;\n\n /**\n * Maximum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\n * This setting can be used alone or together with the min property.\n */\n @Prop() max?: string;\n\n /**\n * Visually hide the label - but make it accessible.\n */\n @Prop() hideLabel?: boolean = false;\n\n @Watch('min')\n @Watch('max')\n @Watch('value')\n testDateValidity() {\n const valueDate = parseISODate(this.value);\n let min: Date,\n max: Date,\n error: string = '';\n\n if (this.value && valueDate) {\n if (this.min && (min = parseISODate(this.min)) && valueDate < min) {\n error =\n 'Date below the minimum: ' +\n min.toLocaleDateString(this.locale, this.helperTextFormat);\n }\n if (this.max && (max = parseISODate(this.max)) && valueDate > max) {\n error =\n 'Date above the maximum: ' +\n max.toLocaleDateString(this.locale, this.helperTextFormat);\n }\n if (this.isDateDisabled(valueDate)) {\n error = 'Date selected is disabled.';\n }\n }\n\n requestAnimationFrame(async (_) => {\n if (!this.input) return;\n const input = await this.input.getInputElement();\n if (this.value.length && !valueDate) error = 'Please enter a valid date';\n\n input.setCustomValidity(error);\n if (this.input.validateOn === 'dirty') {\n this.input.showError(error);\n }\n });\n }\n\n /**\n * Show a date picker. Date pickers are not very useful\n * if the potential input is too far in the distance or past\n * e.g. Birthdays\n */\n @Prop() picker: boolean = true;\n\n /**\n * Initial picker date. Will be to `value` if set. Will be today's date if nothing set.\n * Must be in IS0-8601 format: YYYY-MM-DD.\n */\n @Prop() initialPickerDate?: string;\n\n /**\n * Set / read whether the picker is currently open.\n */\n @Prop({ reflect: true, mutable: true }) pickerOpen: boolean = false;\n\n @Watch('pickerOpen')\n handlePickerOpenChange() {\n this.dropdown.open = this.pickerOpen;\n }\n\n /**\n * Close the picker after a date is selected\n */\n @Prop() closeAfterPicked: boolean = true;\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\n /** @readonly get the value as a `Date` */\n @Prop()\n get dateValue() {\n return parseISODate(this.value);\n }\n\n /** Controls which days are disabled and therefore disallowed.\n * For example, this can be used to disallow selection of weekends. */\n @Prop() isDateDisabled: DateDisabledPredicate = () => false;\n\n // Event emitters\n\n /**\n * Event emitted when a date is selected.\n */\n @Event() nanoChange: EventEmitter<DateInputChangeEventDetail>;\n\n /**\n * Called when validation is performed (which depends on `validateOn`).\n * @returns event.detail: `{ isValid: boolean, errorMessage: string, originalEvent: Event }`.\n */\n @Event() nanoValidate: EventEmitter<ControlValidityEventDetail>;\n\n // Methods\n\n /**\n * Get the current state of the control.\n * @param validateFirst - perform validation first before reporting\n * @returns `{ isValid: boolean, errorMessage: string }`\n */\n @Method()\n async reportValidity(validateFirst: boolean): Promise<ControlValidity> {\n return await this.input.reportValidity(validateFirst);\n }\n\n /**\n * Sets focus on the child `nano-input`.\n */\n @Method()\n async setFocus() {\n if (this.input) this.input.setFocus();\n }\n\n /**\n * Returns the native `<input>` element used under the hood.\n */\n @Method()\n async getInputElement() {\n return await this.input.getInputElement();\n }\n\n /**\n * Invalidate the field and show a custom error message. To clear the error you will need to re-call this method with an empty string.\n */\n @Method()\n async showError(message: string) {\n if (!this.input) return;\n this.input.showError(message);\n }\n\n // Event handlers\n\n private onInputChange = (\n e: CustomEvent & {\n target: HTMLInputElement;\n }\n ) => {\n e.stopPropagation();\n this.setValue(e.target.value);\n };\n\n private onInputValidate = (e: CustomEvent<ControlValidityEventDetail>) => {\n e.stopPropagation();\n this._invalid = !e.detail.isValid;\n this.nanoValidate.emit({\n isValid: e.detail.isValid,\n errorMessage: e.detail.errorMessage,\n originalEvent: e.detail.originalEvent,\n });\n };\n\n private onInputKey = () => {\n this.directInput = true;\n };\n\n private onDatePicked = (e: { detail: PickerChangeEvent }) => {\n this.directInput = false;\n this.value = e.detail.value;\n if (this.closeAfterPicked) this.pickerOpen = false;\n };\n\n private onDropdownHide = () => {\n setTimeout((_) => (this.pickerOpen = false), 200);\n setTimeout((_) => this.trigger.focus(), 50);\n };\n\n private onDropdownShow = () => {\n setTimeout((_) => {\n this.pickerEle.setFocus(false, this.pickerOpenSource === 'key');\n this.pickerOpenSource = null;\n }, 200);\n };\n\n private onTriggerClick = () => {\n if (!this.pickerOpen) {\n this.pickerOpen = true;\n this.pickerOpenSource = 'mouse';\n }\n };\n\n private onTriggerKey = (e: KeyboardEvent) => {\n if ([' ', 'Enter'].includes(e.key)) {\n if (!this.pickerOpen) {\n this.pickerOpen = true;\n this.pickerOpenSource = 'key';\n }\n }\n };\n\n private onCloseClick = () => {\n if (this.pickerOpen) this.pickerOpen = false;\n };\n\n private onCloseKeyDown = (e: KeyboardEvent) => {\n // this ensures focus is trapped inside the picker\n if (e.key === 'Tab' && e.shiftKey) {\n this.pickerEle.setFocus(true);\n e.preventDefault();\n }\n if (e.key === ' ' || e.key === 'Enter') {\n if (this.pickerOpen) this.pickerOpen = false;\n }\n };\n\n // Private logic\n\n // set the regexp input pattern and placeholder (if necessary)\n private setDatePattern() {\n let dateRegexOrdered = [];\n let dateStrOrd = [];\n Array.from(this.dateOrder).map((datepart, i) => {\n dateRegexOrdered.push(DateRegxps[datepart]);\n this.dateOrderIndeces[datepart] = i;\n dateStrOrd.push(datepart === 'y' ? 'yyyy' : datepart + datepart);\n });\n this.pattern = dateRegexOrdered.join('\\\\W+');\n\n if (!this.placeholder && this.placeholder !== 'false')\n this.placeholder = dateStrOrd.join(' ');\n }\n\n // set the public facing date string\n private formatIsoDate(isoDate: string) {\n let dateRegexOrdered = [];\n Array.from('ymd').map((datepart) =>\n dateRegexOrdered.push(DateRegxps[datepart])\n );\n const matches = isoDate.match(new RegExp(dateRegexOrdered.join('\\\\W+')));\n if (!matches) return '';\n\n let formatted = [];\n formatted[this.dateOrderIndeces.d] = matches[3];\n formatted[this.dateOrderIndeces.m] = matches[2];\n formatted[this.dateOrderIndeces.y] = matches[1];\n\n return formatted.join(' ');\n }\n\n // on manual user entry, set the value that will be sent with the form field\n private setValue(inputValue: string) {\n const matches = inputValue.match(new RegExp(this.pattern));\n\n // it's an invalid date, but we still need to set it\n if (!matches) {\n this.value = inputValue;\n return;\n }\n\n let date = createDate(\n matches[this.dateOrderIndeces.y + 1],\n matches[this.dateOrderIndeces.m + 1],\n matches[this.dateOrderIndeces.d + 1]\n );\n\n if (!date) {\n // last ditch attempt - see if the browser can get something\n date = new Date(inputValue);\n\n // it's definitely an invalid date, but set it anyway for validation messages\n if (!date) {\n this.value = inputValue;\n return;\n }\n }\n\n const dateStr = printISODate(date);\n this.value = dateStr;\n return dateStr;\n }\n\n connectedCallback() {\n this.setDatePattern();\n this.handleValueChange();\n }\n\n componentDidLoad() {\n if (!this.pickerCloseBtn || !this.picker) return;\n this.pickerEle.firstFocusEle = this.pickerCloseBtn;\n this.dropdown.tetherTo = this.trigger;\n setTimeout((_) => this.handlePickerOpenChange(), 300);\n }\n\n render() {\n this.locale =\n (navigator.languages as string[]) || navigator.language || undefined;\n\n this.dropDownConfig.placement =\n this.dropDownConfig.placement || 'bottom-end';\n\n if ((this.host.ownerDocument as Document).dir === 'rtl') {\n this.dropDownConfig.placement.replace('start', 'end');\n }\n if (this.trigger) this.dropDownConfig.tetherTo = this.trigger;\n\n const valueDate = parseISODate(this.value);\n const hasHelperSlot = !!this.host.querySelector('[slot=\"helper\"]');\n\n return (\n <Host class={{ ...createColorClasses(this.color) }}>\n <div class=\"date-field\">\n <nano-input\n class=\"date-field__input\"\n slot=\"trigger\"\n required={this.required || undefined}\n showInlineError={this.showInlineError}\n validateOn={this.validateOn}\n placeholder={\n this.placeholder !== 'false' ? this.placeholder : undefined\n }\n pattern={this.pattern}\n label={this.label}\n disabled={this.disabled || undefined}\n color={this.color || undefined}\n autofocus={this.autofocus || undefined}\n clearInput={this.clearInput || undefined}\n onNanoChange={this.onInputChange}\n onNanoInput={this.onInputKey}\n onNanoValidate={this.onInputValidate}\n name=\"\"\n form={this.form || undefined}\n size={this.size || undefined}\n readonly={this.readonly}\n value={this.inputValue}\n ref={(input) => (this.input = input)}\n floatLabel={this.floatLabel}\n hideLabel={this.hideLabel}\n inputmode={'numeric'}\n part=\"input\"\n >\n <slot name=\"start\" slot=\"start\" />\n <slot name=\"label\" />\n <slot name=\"end\" slot=\"end\" />\n {this.picker && [\n <button\n slot=\"end\"\n class=\"date-field__open\"\n type=\"button\"\n onKeyDown={this.onTriggerKey}\n onClick={this.onTriggerClick}\n ref={(trigger) => (this.trigger = trigger)}\n disabled={this.disabled || this.readonly}\n >\n <nano-icon name=\"light/calendar-alt\"></nano-icon>\n </button>,\n\n <nano-dropdown\n slot=\"end\"\n onNanoHide={this.onDropdownHide}\n onNanoShow={this.onDropdownShow}\n dialogTitle=\"Choose a date\"\n class=\"date-field__dropdown\"\n ref={(dropdown) => (this.dropdown = dropdown)}\n {...this.dropDownConfig}\n part=\"dropdown\"\n >\n <div>\n <div class=\"date-field__close-bar\">\n <button\n class=\"date-field__close\"\n type=\"button\"\n onMouseDown={this.onCloseClick}\n onKeyDown={this.onCloseKeyDown}\n ref={(pickerClose) => (this.pickerCloseBtn = pickerClose)}\n >\n <nano-icon name=\"light/times\"></nano-icon>\n <span class=\"vhidden\">Close window</span>\n </button>\n </div>\n <nano-date-picker\n isDateDisabled={this.isDateDisabled}\n onNanoDatePicked={this.onDatePicked}\n min={this.min || undefined}\n max={this.max || undefined}\n is-modal={true}\n ref={(picker) => (this.pickerEle = picker)}\n localization={this.localization}\n selectedDate={this.value || this.initialPickerDate}\n firstDayOfWeek={this.firstDayOfWeek}\n color={this.color || undefined}\n part=\"date-picker\"\n ></nano-date-picker>\n </div>\n </nano-dropdown>,\n ]}\n {(hasHelperSlot || this.helperText || this.showInlineError) && (\n <span slot=\"helper\">\n <span class={{ vhidden: !!this.value.length }}>\n <slot name=\"helper\" />\n </span>\n {this.helperText && !!valueDate && (\n <span>\n {valueDate.toLocaleDateString(\n this.locale,\n this.helperTextFormat\n )}\n </span>\n )}\n </span>\n )}\n </nano-input>\n <input type=\"hidden\" value={this.value} name={this.name} />\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Web Components for Nanopore digital Web Apps
3
3
  */
4
- import{r as t,c as i,h as e,e as a,g as s}from"./p-ab5813a7.js";import{M as n}from"./p-cb79d1ec.js";import{r as o}from"./p-289aa03f.js";import{l as r,u as l}from"./p-1805d59a.js";import{c}from"./p-d99437a6.js";import"./p-9a385481.js";import"./p-b619500f.js";const h=":host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{--border-radius:var(--nano-layer-border-radius, var(--nano-border-radius-medium, 4px));--border-color:var(--nano-layer-border-color, rgba(0, 0, 0, 0.1));--border-width:var(--nano-layer-border-width, 1px);--background:var(--nano-layer-bg, #fff);--tint-color:var(--nano-color-base, var(--nano-color-primary, #007495));--icon-size:2rem;--scrim-color:var(--nano-layer-overlay-dark, rgba(74, 74, 74, .5));--close-button-color:#b5aea7;display:block}:host(.nano-color){--tint-color:var(--nano-color-base, var(--nano-color-primary, #007495))}.alert{position:relative;background-color:var(--background);border:solid var(--border-width) var(--border-color);border-top-width:4px;border-top-color:var(--tint-color);border-radius:var(--border-radius);opacity:0;-webkit-transform:scale(0.9);transform:scale(0.9);-webkit-transition:var(--nano-transition-medium, 0.5s) opacity ease, var(--nano-transition-fast, 0.3s) transform ease;transition:var(--nano-transition-medium, 0.5s) opacity ease, var(--nano-transition-fast, 0.3s) transform ease}.alert:focus{outline:none}.alert:not(.alert--showing){position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);overflow:hidden;pointer-events:none;visibility:hidden}.alert--open{opacity:1;-webkit-transform:none;transform:none}.alert--toasty,.alert--modal{-webkit-box-shadow:var(--nano-layer-shadow-large, 0 2px 8px rgba(0, 0, 0, 0.2));box-shadow:var(--nano-layer-shadow-large, 0 2px 8px rgba(0, 0, 0, 0.2));margin:var(--nano-spacing-medium, 16px)}.alert__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.alert__modal-wrap{position:fixed;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;top:0;right:0;bottom:0;left:0;z-index:var(--nano-layer-index-alert, 800)}.alert__message{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:var(--nano-spacing-medium, 16px);overflow:hidden;line-height:1.6}.alert__close{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:1.1em;padding-left:0;padding-right:var(--nano-spacing-medium, 16px);padding-top:0;padding-bottom:0;--color:var(--close-button-color)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert__close{padding-left:unset;padding-right:unset;-webkit-padding-start:0;padding-inline-start:0;-webkit-padding-end:var(--nano-spacing-medium, 16px);padding-inline-end:var(--nano-spacing-medium, 16px)}}.alert__footer{padding:0 var(--nano-spacing-small, 8px) 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:distribute;justify-content:space-around;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.alert__footer ::slotted(*),.alert__footer::slotted(*){-webkit-box-flex:1;-ms-flex:1;flex:1;margin:0 var(--nano-spacing-small, 8px) var(--nano-spacing-medium, 16px) !important}.alert__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--scrim-color);opacity:0;-webkit-transition:var(--nano-transition-fast, 0.3s) opacity;transition:var(--nano-transition-fast, 0.3s) opacity;z-index:var(--nano-layer-index-alert, 800);-webkit-backdrop-filter:blur(var(--nano-layer-overlay-blur, 3px));backdrop-filter:blur(var(--nano-layer-overlay-blur, 3px))}.alert__overlay--open{opacity:1}.alert__icon{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:var(--icon-size)}.alert__icon::slotted(*){color:var(--tint-color);margin-left:var(--nano-spacing-medium, 16px)}.alert__icon ::slotted(*){color:var(--tint-color);margin-left:var(--nano-spacing-medium, 16px);margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert__icon ::slotted(*){margin-left:unset;margin-right:unset;-webkit-margin-start:var(--nano-spacing-medium, 16px);margin-inline-start:var(--nano-spacing-medium, 16px);-webkit-margin-end:0;margin-inline-end:0}}";const d=Object.assign(document.createElement("div"),{className:"nano-toast-stack nano-toast-stack--tr"});const b=Object.assign(document.createElement("div"),{className:"nano-toast-stack nano-toast-stack--tl"});const m=Object.assign(document.createElement("div"),{className:"nano-toast-stack nano-toast-stack--bl"});const p=Object.assign(document.createElement("div"),{className:"nano-toast-stack nano-toast-stack--br"});let f=class{constructor(a){t(this,a);this.nanoShow=i(this,"nanoShow",7);this.nanoAfterShow=i(this,"nanoAfterShow",7);this.nanoHide=i(this,"nanoHide",7);this.nanoAfterHide=i(this,"nanoAfterHide",7);this.addedTransEnd=false;this.goingToHide=false;this.goingToShow=false;this.isModal=false;this.isToast=false;this.isShowing=false;this.open=false;this.closable=false;this.duration=Infinity;this.handleMouseMove=()=>{this.restartAutoHide()};this.handleCloseClick=()=>{this.hide()};this.handleTransitionEnd=t=>{if(t.propertyName==="opacity"&&(t.target===this.panel||t.target===this.overlay)){this.host.hidden=!this.open;this.isShowing=this.open;this.open?this.nanoAfterShow.emit():this.nanoAfterHide.emit()}};this.handleButtonClick=t=>{if(t.defaultPrevented)return;if(t.target.tagName&&t.target.tagName.toLowerCase()==="button")this.hide()};this.restartAutoHide=()=>{clearTimeout(this.autoHideTimeout);if(this.open&&this.duration<Infinity){this.autoHideTimeout=setTimeout((()=>this.hide()),this.duration)}};this.Panel=()=>e("div",{ref:t=>this.panel=t,part:"panel",class:{alert:true,"alert--open":this.open,"alert--toasty":this.isToast,"alert--modal":!!this.isModal,"alert--showing":this.isShowing},role:!!this.isModal?"alertdialog":"alert","aria-live":"assertive","aria-atomic":"true","aria-hidden":this.open?"false":"true","aria-modal":!!this.isModal?"true":undefined,"aria-label":this.label?this.label:undefined,onMouseMove:this.handleMouseMove,tabIndex:!!this.isModal?0:undefined},e("div",{class:"alert__content"},e("div",{part:"icon",class:"alert__icon"},e("slot",{name:"icon"})),e("div",{part:"message",class:"alert__message"},e("slot",null)),this.closable&&e("div",{class:"alert__close"},e("nano-icon-button",{class:"alert__close",iconName:"light/times",label:"close menu",onClick:this.handleCloseClick}))),e("div",{class:"alert__footer"},e("slot",{name:"footer"})))}handleOpenChange(){this.open?this.show():this.hide()}handleDurationChange(){this.restartAutoHide()}async show(){if(this.goingToShow){return}const t=this.nanoShow.emit();if(t.defaultPrevented){this.open=false;return false}this.host.hidden=false;this.goingToShow=true;this.open=true;o((()=>{this.isShowing=true;this.goingToShow=false}));if(this.duration<Infinity){clearTimeout(this.autoHideTimeout);this.autoHideTimeout=setTimeout((()=>this.hide()),this.duration)}}async hide(){if(this.goingToHide){return}const t=this.nanoHide.emit();if(t.defaultPrevented){this.open=true;return false}this.goingToHide=true;this.open=false;o((()=>this.goingToHide=false));clearTimeout(this.autoHideTimeout)}async toast(t="tr"){this.isToast=true;return new Promise((i=>{let e;switch(t){case"tl":e=b;break;case"bl":e=m;break;case"br":e=p;break;default:e=d;break}if(!e.parentElement){document.body.appendChild(e)}e.appendChild(this.host);this.connectedCallback();this.show();const a=()=>{this.host.remove();this.isToast=false;i();if(!e.querySelector("nano-alert")){e.remove()}};this.host.addEventListener("nanoAfterHide",a,{once:true});this.host.addEventListener("nanoafterhide",a,{once:true})}))}async alert(t){this.isModal=true;this.label=t;return new Promise((t=>{if(!document.body.contains(this.host)){document.body.appendChild(this.host)}this.modal.activate();r(this.host);this.originalTrigger=document.activeElement;o((()=>{this.show()}));const i=()=>o((()=>this.panel.focus({preventScroll:true})));const e=()=>{this.modal.deactivate();this.host.remove();this.label=undefined;this.isModal=false;t();if(this.originalTrigger&&typeof this.originalTrigger.focus==="function"){setTimeout((()=>this.originalTrigger.focus()))}};this.host.addEventListener("nanoAfterShow",i,{once:true});this.host.addEventListener("nanoaftershow",i,{once:true});this.host.addEventListener("nanoAfterHide",e,{once:true});this.host.addEventListener("nanoafterhide",e,{once:true})}))}connectedCallback(){this.modal=new n(this.host);this.host.addEventListener("click",this.handleButtonClick);if(this.panel){this.addedTransEnd=true;this.panel.addEventListener("transitionend",this.handleTransitionEnd)}}disconnectedCallback(){l(this.host);this.host.removeEventListener("click",this.handleButtonClick);this.addedTransEnd=false;this.panel.removeEventListener("transitionend",this.handleTransitionEnd)}componentDidLoad(){if(this.open){this.show()}if(!this.addedTransEnd){this.panel.addEventListener("transitionend",this.handleTransitionEnd)}}render(){return e(a,{class:Object.assign({},c(this.color)),showing:this.isShowing},this.isModal&&[e("div",{part:"overlay",class:{alert__overlay:true,"alert__overlay--open":this.open},ref:t=>this.overlay=t}),e("div",{class:"alert__modal-wrap"},e(this.Panel,null))],!this.isModal&&e(this.Panel,null))}get host(){return s(this)}static get watchers(){return{open:["handleOpenChange"],duration:["handleDurationChange"]}}};f.style=h;export{f as nano_alert};
5
- //# sourceMappingURL=p-3456db01.entry.js.map
4
+ import{r as t,c as i,h as e,e as a,g as s}from"./p-b5c33aff.js";import{M as n}from"./p-cb79d1ec.js";import{r as o}from"./p-289aa03f.js";import{l as r,u as l}from"./p-1805d59a.js";import{c}from"./p-d99437a6.js";import"./p-9a385481.js";import"./p-b619500f.js";const h=":host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{--border-radius:var(--nano-layer-border-radius, var(--nano-border-radius-medium, 4px));--border-color:var(--nano-layer-border-color, rgba(0, 0, 0, 0.1));--border-width:var(--nano-layer-border-width, 1px);--background:var(--nano-layer-bg, #fff);--tint-color:var(--nano-color-base, var(--nano-color-primary, #007495));--icon-size:2rem;--scrim-color:var(--nano-layer-overlay-dark, rgba(74, 74, 74, .5));--close-button-color:#b5aea7;display:block}:host(.nano-color){--tint-color:var(--nano-color-base, var(--nano-color-primary, #007495))}.alert{position:relative;background-color:var(--background);border:solid var(--border-width) var(--border-color);border-top-width:4px;border-top-color:var(--tint-color);border-radius:var(--border-radius);opacity:0;-webkit-transform:scale(0.9);transform:scale(0.9);-webkit-transition:var(--nano-transition-medium, 0.5s) opacity ease, var(--nano-transition-fast, 0.3s) transform ease;transition:var(--nano-transition-medium, 0.5s) opacity ease, var(--nano-transition-fast, 0.3s) transform ease}.alert:focus{outline:none}.alert:not(.alert--showing){position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);overflow:hidden;pointer-events:none;visibility:hidden}.alert--open{opacity:1;-webkit-transform:none;transform:none}.alert--toasty,.alert--modal{-webkit-box-shadow:var(--nano-layer-shadow-large, 0 2px 8px rgba(0, 0, 0, 0.2));box-shadow:var(--nano-layer-shadow-large, 0 2px 8px rgba(0, 0, 0, 0.2));margin:var(--nano-spacing-medium, 16px)}.alert__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.alert__modal-wrap{position:fixed;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;top:0;right:0;bottom:0;left:0;z-index:var(--nano-layer-index-alert, 800)}.alert__message{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:var(--nano-spacing-medium, 16px);overflow:hidden;line-height:1.6}.alert__close{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:1.1em;padding-left:0;padding-right:var(--nano-spacing-medium, 16px);padding-top:0;padding-bottom:0;--color:var(--close-button-color)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert__close{padding-left:unset;padding-right:unset;-webkit-padding-start:0;padding-inline-start:0;-webkit-padding-end:var(--nano-spacing-medium, 16px);padding-inline-end:var(--nano-spacing-medium, 16px)}}.alert__footer{padding:0 var(--nano-spacing-small, 8px) 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-pack:distribute;justify-content:space-around;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.alert__footer ::slotted(*),.alert__footer::slotted(*){-webkit-box-flex:1;-ms-flex:1;flex:1;margin:0 var(--nano-spacing-small, 8px) var(--nano-spacing-medium, 16px) !important}.alert__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--scrim-color);opacity:0;-webkit-transition:var(--nano-transition-fast, 0.3s) opacity;transition:var(--nano-transition-fast, 0.3s) opacity;z-index:var(--nano-layer-index-alert, 800);-webkit-backdrop-filter:blur(var(--nano-layer-overlay-blur, 3px));backdrop-filter:blur(var(--nano-layer-overlay-blur, 3px))}.alert__overlay--open{opacity:1}.alert__icon{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:var(--icon-size)}.alert__icon::slotted(*){color:var(--tint-color);margin-left:var(--nano-spacing-medium, 16px)}.alert__icon ::slotted(*){color:var(--tint-color);margin-left:var(--nano-spacing-medium, 16px);margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.alert__icon ::slotted(*){margin-left:unset;margin-right:unset;-webkit-margin-start:var(--nano-spacing-medium, 16px);margin-inline-start:var(--nano-spacing-medium, 16px);-webkit-margin-end:0;margin-inline-end:0}}";const d=Object.assign(document.createElement("div"),{className:"nano-toast-stack nano-toast-stack--tr"});const b=Object.assign(document.createElement("div"),{className:"nano-toast-stack nano-toast-stack--tl"});const m=Object.assign(document.createElement("div"),{className:"nano-toast-stack nano-toast-stack--bl"});const p=Object.assign(document.createElement("div"),{className:"nano-toast-stack nano-toast-stack--br"});let f=class{constructor(a){t(this,a);this.nanoShow=i(this,"nanoShow",7);this.nanoAfterShow=i(this,"nanoAfterShow",7);this.nanoHide=i(this,"nanoHide",7);this.nanoAfterHide=i(this,"nanoAfterHide",7);this.addedTransEnd=false;this.goingToHide=false;this.goingToShow=false;this.isModal=false;this.isToast=false;this.isShowing=false;this.open=false;this.closable=false;this.duration=Infinity;this.handleMouseMove=()=>{this.restartAutoHide()};this.handleCloseClick=()=>{this.hide()};this.handleTransitionEnd=t=>{if(t.propertyName==="opacity"&&(t.target===this.panel||t.target===this.overlay)){this.host.hidden=!this.open;this.isShowing=this.open;this.open?this.nanoAfterShow.emit():this.nanoAfterHide.emit()}};this.handleButtonClick=t=>{if(t.defaultPrevented)return;if(t.target.tagName&&t.target.tagName.toLowerCase()==="button")this.hide()};this.restartAutoHide=()=>{clearTimeout(this.autoHideTimeout);if(this.open&&this.duration<Infinity){this.autoHideTimeout=setTimeout((()=>this.hide()),this.duration)}};this.Panel=()=>e("div",{ref:t=>this.panel=t,part:"panel",class:{alert:true,"alert--open":this.open,"alert--toasty":this.isToast,"alert--modal":!!this.isModal,"alert--showing":this.isShowing},role:!!this.isModal?"alertdialog":"alert","aria-live":"assertive","aria-atomic":"true","aria-hidden":this.open?"false":"true","aria-modal":!!this.isModal?"true":undefined,"aria-label":this.label?this.label:undefined,onMouseMove:this.handleMouseMove,tabIndex:!!this.isModal?0:undefined},e("div",{class:"alert__content"},e("div",{part:"icon",class:"alert__icon"},e("slot",{name:"icon"})),e("div",{part:"message",class:"alert__message"},e("slot",null)),this.closable&&e("div",{class:"alert__close"},e("nano-icon-button",{class:"alert__close",iconName:"light/times",label:"close menu",onClick:this.handleCloseClick}))),e("div",{class:"alert__footer"},e("slot",{name:"footer"})))}handleOpenChange(){this.open?this.show():this.hide()}handleDurationChange(){this.restartAutoHide()}async show(){if(this.goingToShow){return}const t=this.nanoShow.emit();if(t.defaultPrevented){this.open=false;return false}this.host.hidden=false;this.goingToShow=true;this.open=true;o((()=>{this.isShowing=true;this.goingToShow=false}));if(this.duration<Infinity){clearTimeout(this.autoHideTimeout);this.autoHideTimeout=setTimeout((()=>this.hide()),this.duration)}}async hide(){if(this.goingToHide){return}const t=this.nanoHide.emit();if(t.defaultPrevented){this.open=true;return false}this.goingToHide=true;this.open=false;o((()=>this.goingToHide=false));clearTimeout(this.autoHideTimeout)}async toast(t="tr"){this.isToast=true;return new Promise((i=>{let e;switch(t){case"tl":e=b;break;case"bl":e=m;break;case"br":e=p;break;default:e=d;break}if(!e.parentElement){document.body.appendChild(e)}e.appendChild(this.host);this.connectedCallback();this.show();const a=()=>{this.host.remove();this.isToast=false;i();if(!e.querySelector("nano-alert")){e.remove()}};this.host.addEventListener("nanoAfterHide",a,{once:true});this.host.addEventListener("nanoafterhide",a,{once:true})}))}async alert(t){this.isModal=true;this.label=t;return new Promise((t=>{if(!document.body.contains(this.host)){document.body.appendChild(this.host)}this.modal.activate();r(this.host);this.originalTrigger=document.activeElement;o((()=>{this.show()}));const i=()=>o((()=>this.panel.focus({preventScroll:true})));const e=()=>{this.modal.deactivate();this.host.remove();this.label=undefined;this.isModal=false;t();if(this.originalTrigger&&typeof this.originalTrigger.focus==="function"){setTimeout((()=>this.originalTrigger.focus()))}};this.host.addEventListener("nanoAfterShow",i,{once:true});this.host.addEventListener("nanoaftershow",i,{once:true});this.host.addEventListener("nanoAfterHide",e,{once:true});this.host.addEventListener("nanoafterhide",e,{once:true})}))}connectedCallback(){this.modal=new n(this.host);this.host.addEventListener("click",this.handleButtonClick);if(this.panel){this.addedTransEnd=true;this.panel.addEventListener("transitionend",this.handleTransitionEnd)}}disconnectedCallback(){l(this.host);this.host.removeEventListener("click",this.handleButtonClick);this.addedTransEnd=false;this.panel.removeEventListener("transitionend",this.handleTransitionEnd)}componentDidLoad(){if(this.open){this.show()}if(!this.addedTransEnd){this.panel.addEventListener("transitionend",this.handleTransitionEnd)}}render(){return e(a,{class:Object.assign({},c(this.color)),showing:this.isShowing},this.isModal&&[e("div",{part:"overlay",class:{alert__overlay:true,"alert__overlay--open":this.open},ref:t=>this.overlay=t}),e("div",{class:"alert__modal-wrap"},e(this.Panel,null))],!this.isModal&&e(this.Panel,null))}get host(){return s(this)}static get watchers(){return{open:["handleOpenChange"],duration:["handleDurationChange"]}}};f.style=h;export{f as nano_alert};
5
+ //# sourceMappingURL=p-27efac97.entry.js.map
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Web Components for Nanopore digital Web Apps
3
3
  */
4
- import{r,c as n,h as a,e,g as t}from"./p-ab5813a7.js";import{c as s,a as o}from"./p-289aa03f.js";import{c as i}from"./p-d99437a6.js";import{a as g}from"./p-1da5f8df.js";const b='.sc-nano-range-h{-webkit-box-sizing:border-box;box-sizing:border-box}*.sc-nano-range,*.sc-nano-range::before,*.sc-nano-range::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden].sc-nano-range{display:none !important}.sc-nano-range-h{--knob-handle-size:(var(--knob-size) * 2);--rgb-inactive:165, 165, 165;--knob-border-radius:50%;--knob-background:var(--nano-color-primary, #007495);--knob-box-shadow:0 2px 4px 0 rgba(0, 0, 0, 0.3);--knob-size:30px;--bar-height:8px;--bar-background:#e2e1e0;--bar-background-active:#a5a5a5;--bar-border-radius:4px;--height:42px;--pin-background:var(--nano-color-primary, #007495);--pin-color:var(--nano-color-primary-contrast, #fff);--focus-style:0 0 0 5px var(--nano-control-focus-color, rgba(144, 198, 231, 0.8))}.range-wrap.sc-nano-range{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-flex:3;-ms-flex:3;flex:3;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.range-wrap.sc-nano-range-s>ion-icon[slot],.range-wrap .sc-nano-range-s>ion-icon[slot]{font-size:1.5em}.range-wrap.sc-nano-range-s>[slot=start],.range-wrap .sc-nano-range-s>[slot=start]{margin-left:0;margin-right:14px;margin-top:0;margin-bottom:0;font-size:0.9em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-wrap.sc-nano-range-s>[slot=start],.range-wrap .sc-nano-range-s>[slot=start]{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:14px;margin-inline-end:14px}}.range-wrap.sc-nano-range-s>[slot=end],.range-wrap .sc-nano-range-s>[slot=end]{margin-left:14px;margin-right:0;margin-top:0;margin-bottom:0;font-size:0.9em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-wrap.sc-nano-range-s>[slot=end],.range-wrap .sc-nano-range-s>[slot=end]{margin-left:unset;margin-right:unset;-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:0;margin-inline-end:0}}.range-slider.sc-nano-range{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}.range-pressed.sc-nano-range-h .range-slider.sc-nano-range{cursor:-webkit-grabbing;cursor:grabbing}.range-bar.sc-nano-range{border-radius:var(--bar-border-radius);left:0;top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}.range-bar[dir=rtl].sc-nano-range{left:unset;right:unset;right:0}.range-snaps.sc-nano-range-h .range-bar.sc-nano-range{border-top-left-radius:var(--bar-border-radius);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--bar-border-radius)}.range-snaps.sc-nano-range-h .range-bar[dir=rtl].sc-nano-range{border-top-left-radius:0;border-top-right-radius:var(--bar-border-radius);border-bottom-right-radius:var(--bar-border-radius);border-bottom-left-radius:0}.range-bar[dir=rtl].sc-nano-range{left:unset}.range-bar-active.sc-nano-range{bottom:0;width:auto;background:var(--bar-background-active)}.range-bar-active .range-pressed.sc-nano-range-h{will-change:left, right}.range-knob.sc-nano-range{border-radius:var(--knob-border-radius);left:calc(50% - var(--knob-size) / 2);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none;-webkit-transform:scale(0.67);transform:scale(0.67);-webkit-transition-duration:120ms;transition-duration:120ms;-webkit-transition-property:background-color, border, -webkit-transform;transition-property:background-color, border, -webkit-transform;transition-property:transform, background-color, border;transition-property:transform, background-color, border, -webkit-transform;-webkit-transition-timing-function:ease;transition-timing-function:ease}.range-knob[dir=rtl].sc-nano-range{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}.range-knob[dir=rtl].sc-nano-range{left:unset}.sc-nano-range-h:not(.range-has-pin) .range-knob-pressed.sc-nano-range .range-knob.sc-nano-range{-webkit-transform:scale(1);transform:scale(1)}.range-knob-handle.sc-nano-range{left:0;top:calc((var(--height) - var(--knob-handle-size)) / 2);margin-left:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:calc(var(--knob-handle-size));height:calc(var(--knob-handle-size));text-align:center}.range-knob-handle[dir=rtl].sc-nano-range{left:unset;right:unset;right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-knob-handle.sc-nano-range{margin-left:unset;-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2)}}.range-knob-handle[dir=rtl].sc-nano-range{left:unset}.range-knob-handle.sc-nano-range:active,.range-knob-handle.sc-nano-range:focus{outline:none}.range-knob-handle.sc-nano-range:active .range-knob.sc-nano-range,.range-knob-handle.sc-nano-range:focus .range-knob.sc-nano-range{-webkit-box-shadow:var(--knob-box-shadow), var(--focus-style);box-shadow:var(--knob-box-shadow), var(--focus-style)}.range-tick.sc-nano-range{position:absolute;top:calc((var(--height) - var(--bar-height)) / 2);width:var(--bar-height);height:var(--bar-height);background:var(--bar-background-active);z-index:1;pointer-events:none}.range-tick.sc-nano-range:first-of-type{border-top-left-radius:var(--bar-border-radius);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--bar-border-radius)}.range-tick.sc-nano-range:first-of-type[dir=rtl]{border-top-left-radius:0;border-top-right-radius:var(--bar-border-radius);border-bottom-right-radius:var(--bar-border-radius);border-bottom-left-radius:0}.range-tick.sc-nano-range:last-of-type{border-top-left-radius:0;border-top-right-radius:var(--bar-border-radius);border-bottom-right-radius:var(--bar-border-radius);border-bottom-left-radius:0}.range-tick.sc-nano-range:last-of-type[dir=rtl]{border-top-left-radius:var(--bar-border-radius);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--bar-border-radius)}.range-tick-active.sc-nano-range{background:transparent}.range-pin.sc-nano-range{-webkit-transform:translate3d(0, 0, 0) scale(0.01);transform:translate3d(0, 0, 0) scale(0.01);-webkit-transform-origin:center top;transform-origin:center top;padding:0.66em 0;border-radius:50%;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;position:relative;min-width:2.33em;height:2.33em;-webkit-transition:background 120ms ease, -webkit-transform 120ms ease;transition:background 120ms ease, -webkit-transform 120ms ease;transition:transform 120ms ease, background 120ms ease;transition:transform 120ms ease, background 120ms ease, -webkit-transform 120ms ease;background:var(--pin-background);color:var(--pin-color);font-size:0.75em}.range-pin.sc-nano-range::before{left:50%;top:0.25em;margin-left:-1.08em;border-radius:50% 50% 50% 0;position:absolute;width:2.16em;height:2.16em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transition:background 120ms ease;transition:background 120ms ease;background:var(--pin-background);content:"";z-index:-1}.range-pin.sc-nano-range::before[dir=rtl]{left:unset;right:unset;right:50%}.range-pin.sc-nano-range::before[dir=rtl]{left:unset}.range-knob-pressed.sc-nano-range .range-pin.sc-nano-range{-webkit-transform:translate3d(0, -50%, 0) scale(1);transform:translate3d(0, -50%, 0) scale(1);-webkit-transform:translate3d(0, calc((100% - var(--bar-height)) * -1), 0) scale(1);transform:translate3d(0, calc((100% - var(--bar-height)) * -1), 0) scale(1)}.range-disabled.sc-nano-range-h{pointer-events:none}.range-disabled.sc-nano-range-h .range-bar-active.sc-nano-range,.range-disabled.sc-nano-range-h .range-bar.sc-nano-range,.range-disabled.sc-nano-range-h .range-tick.sc-nano-range{background-color:rgba(var(--rgb-inactive), 0.5)}.range-disabled.sc-nano-range-h .range-knob.sc-nano-range{-webkit-transform:scale(0.55);transform:scale(0.55);outline:5px solid #fff;background-color:rgba(var(--rgb-inactive), 0.5)}.nano-color.sc-nano-range-h .range-bar-active.sc-nano-range,.nano-color.sc-nano-range-h .range-knob.sc-nano-range,.nano-color.sc-nano-range-h .range-pin.sc-nano-range,.nano-color.sc-nano-range-h .range-pin.sc-nano-range::before,.nano-color.sc-nano-range-h .range-tick.sc-nano-range{background:var(--nano-color-base);color:var(--nano-color-contrast)}.nano-color.sc-nano-range-h .range-bar.sc-nano-range{background:rgba(var(--nano-color-base-rgb), 0.26)}.nano-color.sc-nano-range-h .range-knob-handle.sc-nano-range:active .range-knob.sc-nano-range,.nano-color.sc-nano-range-h .range-knob-handle.sc-nano-range:focus .range-knob.sc-nano-range{-webkit-box-shadow:var(--knob-box-shadow), 0 0 0 5px rgba(var(--nano-color-tint-rgb), 0.56);box-shadow:var(--knob-box-shadow), 0 0 0 5px rgba(var(--nano-color-tint-rgb), 0.56)}';let c=class{constructor(a){r(this,a);this.nanoChange=n(this,"nanoChange",7);this.nanoStyle=n(this,"nanoStyle",7);this.nanoFocus=n(this,"nanoFocus",7);this.nanoBlur=n(this,"nanoBlur",7);this.noUpdate=false;this.hasFocus=false;this.ratioA=0;this.ratioB=0;this.debounce=0;this.name="";this.dualKnobs=false;this.min=0;this.max=100;this.pin=false;this.snaps=false;this.step=1;this.ticks=false;this.disabled=false;this.value=0;this.clampBounds=r=>s(this.min,r,this.max);this.ensureValueInBounds=r=>{if(this.dualKnobs){return{lower:this.clampBounds(r.lower),upper:this.clampBounds(r.upper)}}else{return this.clampBounds(r)}};this.handleKeyboard=(r,n)=>{let a=this.step;a=a>0?a:1;a=a/(this.max-this.min);if(!n){a*=-1}if(r==="A"){this.ratioA=s(0,this.ratioA+a,1)}else{this.ratioB=s(0,this.ratioB+a,1)}this.updateValue()};this.onBlur=()=>{if(this.hasFocus){this.hasFocus=false;this.nanoBlur.emit();this.emitStyle()}};this.onFocus=()=>{if(!this.hasFocus){this.hasFocus=true;this.nanoFocus.emit();this.emitStyle()}}}debounceChanged(){this.nanoChange=g(this.nanoChange,this.debounce)}minChanged(){if(!this.noUpdate){this.updateRatio()}}maxChanged(){if(!this.noUpdate){this.updateRatio()}}disabledChanged(){if(this.gesture){this.gesture.enable(!this.disabled)}this.emitStyle()}valueChanged(r){if(!this.noUpdate){this.updateRatio()}r=this.ensureValueInBounds(r);this.nanoChange.emit({value:r})}connectedCallback(){this.updateRatio();this.debounceChanged();this.disabledChanged()}disconnectedCallback(){if(this.gesture){this.gesture.destroy();this.gesture=undefined}}async componentDidLoad(){const r=this.rangeSlider;if(r){this.gesture=(await __sc_import_nano_components("./p-945bc3ed.js")).createGesture({el:r,gestureName:"range",gesturePriority:100,threshold:0,onStart:r=>this.onStart(r),onMove:r=>this.onMove(r),onEnd:r=>this.onEnd(r)});this.gesture.enable(!this.disabled)}}getValue(){const r=this.value||0;if(this.dualKnobs){if(typeof r==="object"){return r}return{lower:0,upper:r}}else{if(typeof r==="object"){return r.upper}return r}}emitStyle(){this.nanoStyle.emit({interactive:true,"interactive-disabled":this.disabled})}onStart(r){const n=this.rect=this.rangeSlider.getBoundingClientRect();const a=r.currentX;let e=s(0,(a-n.left)/n.width,1);if(document.dir==="rtl"){e=1-e}this.pressedKnob=!this.dualKnobs||Math.abs(this.ratioA-e)<Math.abs(this.ratioB-e)?"A":"B";this.setFocus(this.pressedKnob);this.update(a)}onMove(r){this.update(r.currentX)}onEnd(r){this.update(r.currentX);this.pressedKnob=undefined}update(r){const n=this.rect;let a=s(0,(r-n.left)/n.width,1);if(document.dir==="rtl"){a=1-a}if(this.snaps){a=l(d(a,this.min,this.max,this.step),this.min,this.max)}if(this.pressedKnob==="A"){this.ratioA=a}else{this.ratioB=a}this.updateValue()}get valA(){return d(this.ratioA,this.min,this.max,this.step)}get valB(){return d(this.ratioB,this.min,this.max,this.step)}get ratioLower(){if(this.dualKnobs){return Math.min(this.ratioA,this.ratioB)}return 0}get ratioUpper(){if(this.dualKnobs){return Math.max(this.ratioA,this.ratioB)}return this.ratioA}updateRatio(){const r=this.getValue();const{min:n,max:a}=this;if(this.dualKnobs){this.ratioA=l(r.lower,n,a);this.ratioB=l(r.upper,n,a)}else{this.ratioA=l(r,n,a)}}updateValue(){this.noUpdate=true;const{valA:r,valB:n}=this;this.value=!this.dualKnobs?r:{lower:Math.min(r,n),upper:Math.max(r,n)};this.noUpdate=false}setFocus(r){if(this.el.shadowRoot){const n=this.el.shadowRoot.querySelector(r==="A"?".range-knob-a":".range-knob-b");if(n){n.focus()}}}render(){const{min:r,max:n,step:t,el:s,handleKeyboard:g,pressedKnob:b,disabled:c,pin:d,ratioLower:u,ratioUpper:p}=this;const f=`${u*100}%`;const m=`${100-p*100}%`;const k=document;const v=k.dir==="rtl";const w=v?"right":"left";const x=v?"left":"right";const y=r=>({[w]:r[w]});const z={[w]:f,[x]:m};const A=[];if(this.snaps&&this.ticks){for(let a=r;a<=n;a+=t){const e=l(a,r,n);const t={ratio:e,active:e>=u&&e<=p};t[w]=`${e*100}%`;A.push(t)}}o(true,s,this.name,JSON.stringify(this.getValue()),c);return a(e,{onFocusin:this.onFocus,onFocusout:this.onBlur,class:i(this.color,{"range-disabled":c,"range-pressed":b!==undefined,"range-has-pin":d,"range-snaps":this.snaps})},a("div",{class:"range-wrap"},a("slot",{name:"start"}),a("div",{class:"range-slider",ref:r=>this.rangeSlider=r},A.map((r=>a("span",{style:y(r),role:"presentation",class:{"range-tick":true,"range-tick-active":r.active},part:r.active?"tick-active":"tick"}))),a("div",{class:"range-bar",role:"presentation",part:"bar"}),a("div",{class:"range-bar range-bar-active",role:"presentation",style:z,part:"bar-active"}),h(v,{knob:"A",pressed:b==="A",value:this.valA,ratio:this.ratioA,pin:d,disabled:c,handleKeyboard:g,min:r,max:n}),this.dualKnobs&&h(v,{knob:"B",pressed:b==="B",value:this.valB,ratio:this.ratioB,pin:d,disabled:c,handleKeyboard:g,min:r,max:n})),a("slot",{name:"end"})))}get el(){return t(this)}static get watchers(){return{debounce:["debounceChanged"],min:["minChanged"],max:["maxChanged"],disabled:["disabledChanged"],value:["valueChanged"]}}};const h=(r,{knob:n,value:e,ratio:t,min:s,max:o,disabled:i,pressed:g,pin:b,handleKeyboard:c})=>{const h=r?"right":"left";const d=()=>{const r={};r[h]=`${t*100}%`;return r};return a("div",{onKeyDown:r=>{const a=r.key;if(a==="ArrowLeft"||a==="ArrowDown"){c(n,false);r.preventDefault();r.stopPropagation()}else if(a==="ArrowRight"||a==="ArrowUp"){c(n,true);r.preventDefault();r.stopPropagation()}},class:{"range-knob-handle":true,"range-knob-a":n==="A","range-knob-b":n==="B","range-knob-pressed":g,"range-knob-min":e===s,"range-knob-max":e===o},style:d(),role:"slider",tabindex:i?-1:0,"aria-valuemin":s,"aria-valuemax":o,"aria-disabled":i?"true":null,"aria-valuenow":e},b&&a("div",{class:"range-pin",role:"presentation",part:"pin"},Math.round(e)),a("div",{class:"range-knob",role:"presentation",part:"knob"}))};const d=(r,n,a,e)=>{let t=(a-n)*r;if(e>0){t=Math.round(t/e)*e+n}return s(n,t,a)};const l=(r,n,a)=>s(0,(r-n)/(a-n),1);c.style=b;export{c as nano_range};
5
- //# sourceMappingURL=p-2e6c55e2.entry.js.map
4
+ import{r,c as n,h as a,e,g as t}from"./p-b5c33aff.js";import{c as s,a as o}from"./p-289aa03f.js";import{c as i}from"./p-d99437a6.js";import{a as g}from"./p-1da5f8df.js";const b='.sc-nano-range-h{-webkit-box-sizing:border-box;box-sizing:border-box}*.sc-nano-range,*.sc-nano-range::before,*.sc-nano-range::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden].sc-nano-range{display:none !important}.sc-nano-range-h{--knob-handle-size:(var(--knob-size) * 2);--rgb-inactive:165, 165, 165;--knob-border-radius:50%;--knob-background:var(--nano-color-primary, #007495);--knob-box-shadow:0 2px 4px 0 rgba(0, 0, 0, 0.3);--knob-size:30px;--bar-height:8px;--bar-background:#e2e1e0;--bar-background-active:#a5a5a5;--bar-border-radius:4px;--height:42px;--pin-background:var(--nano-color-primary, #007495);--pin-color:var(--nano-color-primary-contrast, #fff);--focus-style:0 0 0 5px var(--nano-control-focus-color, rgba(144, 198, 231, 0.8))}.range-wrap.sc-nano-range{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-flex:3;-ms-flex:3;flex:3;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.range-wrap.sc-nano-range-s>ion-icon[slot],.range-wrap .sc-nano-range-s>ion-icon[slot]{font-size:1.5em}.range-wrap.sc-nano-range-s>[slot=start],.range-wrap .sc-nano-range-s>[slot=start]{margin-left:0;margin-right:14px;margin-top:0;margin-bottom:0;font-size:0.9em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-wrap.sc-nano-range-s>[slot=start],.range-wrap .sc-nano-range-s>[slot=start]{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:14px;margin-inline-end:14px}}.range-wrap.sc-nano-range-s>[slot=end],.range-wrap .sc-nano-range-s>[slot=end]{margin-left:14px;margin-right:0;margin-top:0;margin-bottom:0;font-size:0.9em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-wrap.sc-nano-range-s>[slot=end],.range-wrap .sc-nano-range-s>[slot=end]{margin-left:unset;margin-right:unset;-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:0;margin-inline-end:0}}.range-slider.sc-nano-range{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}.range-pressed.sc-nano-range-h .range-slider.sc-nano-range{cursor:-webkit-grabbing;cursor:grabbing}.range-bar.sc-nano-range{border-radius:var(--bar-border-radius);left:0;top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}.range-bar[dir=rtl].sc-nano-range{left:unset;right:unset;right:0}.range-snaps.sc-nano-range-h .range-bar.sc-nano-range{border-top-left-radius:var(--bar-border-radius);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--bar-border-radius)}.range-snaps.sc-nano-range-h .range-bar[dir=rtl].sc-nano-range{border-top-left-radius:0;border-top-right-radius:var(--bar-border-radius);border-bottom-right-radius:var(--bar-border-radius);border-bottom-left-radius:0}.range-bar[dir=rtl].sc-nano-range{left:unset}.range-bar-active.sc-nano-range{bottom:0;width:auto;background:var(--bar-background-active)}.range-bar-active .range-pressed.sc-nano-range-h{will-change:left, right}.range-knob.sc-nano-range{border-radius:var(--knob-border-radius);left:calc(50% - var(--knob-size) / 2);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none;-webkit-transform:scale(0.67);transform:scale(0.67);-webkit-transition-duration:120ms;transition-duration:120ms;-webkit-transition-property:background-color, border, -webkit-transform;transition-property:background-color, border, -webkit-transform;transition-property:transform, background-color, border;transition-property:transform, background-color, border, -webkit-transform;-webkit-transition-timing-function:ease;transition-timing-function:ease}.range-knob[dir=rtl].sc-nano-range{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}.range-knob[dir=rtl].sc-nano-range{left:unset}.sc-nano-range-h:not(.range-has-pin) .range-knob-pressed.sc-nano-range .range-knob.sc-nano-range{-webkit-transform:scale(1);transform:scale(1)}.range-knob-handle.sc-nano-range{left:0;top:calc((var(--height) - var(--knob-handle-size)) / 2);margin-left:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:calc(var(--knob-handle-size));height:calc(var(--knob-handle-size));text-align:center}.range-knob-handle[dir=rtl].sc-nano-range{left:unset;right:unset;right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-knob-handle.sc-nano-range{margin-left:unset;-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2)}}.range-knob-handle[dir=rtl].sc-nano-range{left:unset}.range-knob-handle.sc-nano-range:active,.range-knob-handle.sc-nano-range:focus{outline:none}.range-knob-handle.sc-nano-range:active .range-knob.sc-nano-range,.range-knob-handle.sc-nano-range:focus .range-knob.sc-nano-range{-webkit-box-shadow:var(--knob-box-shadow), var(--focus-style);box-shadow:var(--knob-box-shadow), var(--focus-style)}.range-tick.sc-nano-range{position:absolute;top:calc((var(--height) - var(--bar-height)) / 2);width:var(--bar-height);height:var(--bar-height);background:var(--bar-background-active);z-index:1;pointer-events:none}.range-tick.sc-nano-range:first-of-type{border-top-left-radius:var(--bar-border-radius);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--bar-border-radius)}.range-tick.sc-nano-range:first-of-type[dir=rtl]{border-top-left-radius:0;border-top-right-radius:var(--bar-border-radius);border-bottom-right-radius:var(--bar-border-radius);border-bottom-left-radius:0}.range-tick.sc-nano-range:last-of-type{border-top-left-radius:0;border-top-right-radius:var(--bar-border-radius);border-bottom-right-radius:var(--bar-border-radius);border-bottom-left-radius:0}.range-tick.sc-nano-range:last-of-type[dir=rtl]{border-top-left-radius:var(--bar-border-radius);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--bar-border-radius)}.range-tick-active.sc-nano-range{background:transparent}.range-pin.sc-nano-range{-webkit-transform:translate3d(0, 0, 0) scale(0.01);transform:translate3d(0, 0, 0) scale(0.01);-webkit-transform-origin:center top;transform-origin:center top;padding:0.66em 0;border-radius:50%;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;position:relative;min-width:2.33em;height:2.33em;-webkit-transition:background 120ms ease, -webkit-transform 120ms ease;transition:background 120ms ease, -webkit-transform 120ms ease;transition:transform 120ms ease, background 120ms ease;transition:transform 120ms ease, background 120ms ease, -webkit-transform 120ms ease;background:var(--pin-background);color:var(--pin-color);font-size:0.75em}.range-pin.sc-nano-range::before{left:50%;top:0.25em;margin-left:-1.08em;border-radius:50% 50% 50% 0;position:absolute;width:2.16em;height:2.16em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transition:background 120ms ease;transition:background 120ms ease;background:var(--pin-background);content:"";z-index:-1}.range-pin.sc-nano-range::before[dir=rtl]{left:unset;right:unset;right:50%}.range-pin.sc-nano-range::before[dir=rtl]{left:unset}.range-knob-pressed.sc-nano-range .range-pin.sc-nano-range{-webkit-transform:translate3d(0, -50%, 0) scale(1);transform:translate3d(0, -50%, 0) scale(1);-webkit-transform:translate3d(0, calc((100% - var(--bar-height)) * -1), 0) scale(1);transform:translate3d(0, calc((100% - var(--bar-height)) * -1), 0) scale(1)}.range-disabled.sc-nano-range-h{pointer-events:none}.range-disabled.sc-nano-range-h .range-bar-active.sc-nano-range,.range-disabled.sc-nano-range-h .range-bar.sc-nano-range,.range-disabled.sc-nano-range-h .range-tick.sc-nano-range{background-color:rgba(var(--rgb-inactive), 0.5)}.range-disabled.sc-nano-range-h .range-knob.sc-nano-range{-webkit-transform:scale(0.55);transform:scale(0.55);outline:5px solid #fff;background-color:rgba(var(--rgb-inactive), 0.5)}.nano-color.sc-nano-range-h .range-bar-active.sc-nano-range,.nano-color.sc-nano-range-h .range-knob.sc-nano-range,.nano-color.sc-nano-range-h .range-pin.sc-nano-range,.nano-color.sc-nano-range-h .range-pin.sc-nano-range::before,.nano-color.sc-nano-range-h .range-tick.sc-nano-range{background:var(--nano-color-base);color:var(--nano-color-contrast)}.nano-color.sc-nano-range-h .range-bar.sc-nano-range{background:rgba(var(--nano-color-base-rgb), 0.26)}.nano-color.sc-nano-range-h .range-knob-handle.sc-nano-range:active .range-knob.sc-nano-range,.nano-color.sc-nano-range-h .range-knob-handle.sc-nano-range:focus .range-knob.sc-nano-range{-webkit-box-shadow:var(--knob-box-shadow), 0 0 0 5px rgba(var(--nano-color-tint-rgb), 0.56);box-shadow:var(--knob-box-shadow), 0 0 0 5px rgba(var(--nano-color-tint-rgb), 0.56)}';let c=class{constructor(a){r(this,a);this.nanoChange=n(this,"nanoChange",7);this.nanoStyle=n(this,"nanoStyle",7);this.nanoFocus=n(this,"nanoFocus",7);this.nanoBlur=n(this,"nanoBlur",7);this.noUpdate=false;this.hasFocus=false;this.ratioA=0;this.ratioB=0;this.debounce=0;this.name="";this.dualKnobs=false;this.min=0;this.max=100;this.pin=false;this.snaps=false;this.step=1;this.ticks=false;this.disabled=false;this.value=0;this.clampBounds=r=>s(this.min,r,this.max);this.ensureValueInBounds=r=>{if(this.dualKnobs){return{lower:this.clampBounds(r.lower),upper:this.clampBounds(r.upper)}}else{return this.clampBounds(r)}};this.handleKeyboard=(r,n)=>{let a=this.step;a=a>0?a:1;a=a/(this.max-this.min);if(!n){a*=-1}if(r==="A"){this.ratioA=s(0,this.ratioA+a,1)}else{this.ratioB=s(0,this.ratioB+a,1)}this.updateValue()};this.onBlur=()=>{if(this.hasFocus){this.hasFocus=false;this.nanoBlur.emit();this.emitStyle()}};this.onFocus=()=>{if(!this.hasFocus){this.hasFocus=true;this.nanoFocus.emit();this.emitStyle()}}}debounceChanged(){this.nanoChange=g(this.nanoChange,this.debounce)}minChanged(){if(!this.noUpdate){this.updateRatio()}}maxChanged(){if(!this.noUpdate){this.updateRatio()}}disabledChanged(){if(this.gesture){this.gesture.enable(!this.disabled)}this.emitStyle()}valueChanged(r){if(!this.noUpdate){this.updateRatio()}r=this.ensureValueInBounds(r);this.nanoChange.emit({value:r})}connectedCallback(){this.updateRatio();this.debounceChanged();this.disabledChanged()}disconnectedCallback(){if(this.gesture){this.gesture.destroy();this.gesture=undefined}}async componentDidLoad(){const r=this.rangeSlider;if(r){this.gesture=(await __sc_import_nano_components("./p-945bc3ed.js")).createGesture({el:r,gestureName:"range",gesturePriority:100,threshold:0,onStart:r=>this.onStart(r),onMove:r=>this.onMove(r),onEnd:r=>this.onEnd(r)});this.gesture.enable(!this.disabled)}}getValue(){const r=this.value||0;if(this.dualKnobs){if(typeof r==="object"){return r}return{lower:0,upper:r}}else{if(typeof r==="object"){return r.upper}return r}}emitStyle(){this.nanoStyle.emit({interactive:true,"interactive-disabled":this.disabled})}onStart(r){const n=this.rect=this.rangeSlider.getBoundingClientRect();const a=r.currentX;let e=s(0,(a-n.left)/n.width,1);if(document.dir==="rtl"){e=1-e}this.pressedKnob=!this.dualKnobs||Math.abs(this.ratioA-e)<Math.abs(this.ratioB-e)?"A":"B";this.setFocus(this.pressedKnob);this.update(a)}onMove(r){this.update(r.currentX)}onEnd(r){this.update(r.currentX);this.pressedKnob=undefined}update(r){const n=this.rect;let a=s(0,(r-n.left)/n.width,1);if(document.dir==="rtl"){a=1-a}if(this.snaps){a=l(d(a,this.min,this.max,this.step),this.min,this.max)}if(this.pressedKnob==="A"){this.ratioA=a}else{this.ratioB=a}this.updateValue()}get valA(){return d(this.ratioA,this.min,this.max,this.step)}get valB(){return d(this.ratioB,this.min,this.max,this.step)}get ratioLower(){if(this.dualKnobs){return Math.min(this.ratioA,this.ratioB)}return 0}get ratioUpper(){if(this.dualKnobs){return Math.max(this.ratioA,this.ratioB)}return this.ratioA}updateRatio(){const r=this.getValue();const{min:n,max:a}=this;if(this.dualKnobs){this.ratioA=l(r.lower,n,a);this.ratioB=l(r.upper,n,a)}else{this.ratioA=l(r,n,a)}}updateValue(){this.noUpdate=true;const{valA:r,valB:n}=this;this.value=!this.dualKnobs?r:{lower:Math.min(r,n),upper:Math.max(r,n)};this.noUpdate=false}setFocus(r){if(this.el.shadowRoot){const n=this.el.shadowRoot.querySelector(r==="A"?".range-knob-a":".range-knob-b");if(n){n.focus()}}}render(){const{min:r,max:n,step:t,el:s,handleKeyboard:g,pressedKnob:b,disabled:c,pin:d,ratioLower:u,ratioUpper:p}=this;const f=`${u*100}%`;const m=`${100-p*100}%`;const k=document;const v=k.dir==="rtl";const w=v?"right":"left";const x=v?"left":"right";const y=r=>({[w]:r[w]});const z={[w]:f,[x]:m};const A=[];if(this.snaps&&this.ticks){for(let a=r;a<=n;a+=t){const e=l(a,r,n);const t={ratio:e,active:e>=u&&e<=p};t[w]=`${e*100}%`;A.push(t)}}o(true,s,this.name,JSON.stringify(this.getValue()),c);return a(e,{onFocusin:this.onFocus,onFocusout:this.onBlur,class:i(this.color,{"range-disabled":c,"range-pressed":b!==undefined,"range-has-pin":d,"range-snaps":this.snaps})},a("div",{class:"range-wrap"},a("slot",{name:"start"}),a("div",{class:"range-slider",ref:r=>this.rangeSlider=r},A.map((r=>a("span",{style:y(r),role:"presentation",class:{"range-tick":true,"range-tick-active":r.active},part:r.active?"tick-active":"tick"}))),a("div",{class:"range-bar",role:"presentation",part:"bar"}),a("div",{class:"range-bar range-bar-active",role:"presentation",style:z,part:"bar-active"}),h(v,{knob:"A",pressed:b==="A",value:this.valA,ratio:this.ratioA,pin:d,disabled:c,handleKeyboard:g,min:r,max:n}),this.dualKnobs&&h(v,{knob:"B",pressed:b==="B",value:this.valB,ratio:this.ratioB,pin:d,disabled:c,handleKeyboard:g,min:r,max:n})),a("slot",{name:"end"})))}get el(){return t(this)}static get watchers(){return{debounce:["debounceChanged"],min:["minChanged"],max:["maxChanged"],disabled:["disabledChanged"],value:["valueChanged"]}}};const h=(r,{knob:n,value:e,ratio:t,min:s,max:o,disabled:i,pressed:g,pin:b,handleKeyboard:c})=>{const h=r?"right":"left";const d=()=>{const r={};r[h]=`${t*100}%`;return r};return a("div",{onKeyDown:r=>{const a=r.key;if(a==="ArrowLeft"||a==="ArrowDown"){c(n,false);r.preventDefault();r.stopPropagation()}else if(a==="ArrowRight"||a==="ArrowUp"){c(n,true);r.preventDefault();r.stopPropagation()}},class:{"range-knob-handle":true,"range-knob-a":n==="A","range-knob-b":n==="B","range-knob-pressed":g,"range-knob-min":e===s,"range-knob-max":e===o},style:d(),role:"slider",tabindex:i?-1:0,"aria-valuemin":s,"aria-valuemax":o,"aria-disabled":i?"true":null,"aria-valuenow":e},b&&a("div",{class:"range-pin",role:"presentation",part:"pin"},Math.round(e)),a("div",{class:"range-knob",role:"presentation",part:"knob"}))};const d=(r,n,a,e)=>{let t=(a-n)*r;if(e>0){t=Math.round(t/e)*e+n}return s(n,t,a)};const l=(r,n,a)=>s(0,(r-n)/(a-n),1);c.style=b;export{c as nano_range};
5
+ //# sourceMappingURL=p-2d53d1a0.entry.js.map
@@ -1,5 +1,5 @@
1
1
  var __awaiter=this&&this.__awaiter||function(n,t,i,e){function o(n){return n instanceof i?n:new i((function(t){t(n)}))}return new(i||(i=Promise))((function(i,a){function r(n){try{l(e.next(n))}catch(t){a(t)}}function s(n){try{l(e["throw"](n))}catch(t){a(t)}}function l(n){n.done?i(n.value):o(n.value).then(r,s)}l((e=e.apply(n,t||[])).next())}))};var __generator=this&&this.__generator||function(n,t){var i={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},e,o,a,r;return r={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(r[Symbol.iterator]=function(){return this}),r;function s(n){return function(t){return l([n,t])}}function l(r){if(e)throw new TypeError("Generator is already executing.");while(i)try{if(e=1,o&&(a=r[0]&2?o["return"]:r[0]?o["throw"]||((a=o["return"])&&a.call(o),0):o.next)&&!(a=a.call(o,r[1])).done)return a;if(o=0,a)r=[r[0]&2,a.value];switch(r[0]){case 0:case 1:a=r;break;case 4:i.label++;return{value:r[1],done:false};case 5:i.label++;o=r[1];r=[0];continue;case 7:r=i.ops.pop();i.trys.pop();continue;default:if(!(a=i.trys,a=a.length>0&&a[a.length-1])&&(r[0]===6||r[0]===2)){i=0;continue}if(r[0]===3&&(!a||r[1]>a[0]&&r[1]<a[3])){i.label=r[1];break}if(r[0]===6&&i.label<a[1]){i.label=a[1];a=r;break}if(a&&i.label<a[2]){i.label=a[2];i.ops.push(r);break}if(a[2])i.ops.pop();i.trys.pop();continue}r=t.call(n,i)}catch(s){r=[6,s];o=0}finally{e=a=0}if(r[0]&5)throw r[1];return{value:r[0]?r[1]:void 0,done:true}}};
2
2
  /*!
3
3
  * Web Components for Nanopore digital Web Apps
4
- */System.register(["./p-59b3d24b.system.js","./p-0784f2ad.system.js","./p-1c216ca4.system.js"],(function(n){"use strict";var t,i,e,o,a,r;return{setters:[function(n){t=n.r;i=n.c;e=n.h;o=n.g},function(n){a=n.f},function(n){r=n.c}],execute:function(){var s=".sc-nano-rating-h{-webkit-box-sizing:border-box;box-sizing:border-box}*.sc-nano-rating,*.sc-nano-rating::before,*.sc-nano-rating::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden].sc-nano-rating{display:none !important}.sc-nano-rating-h{--symbol-color:#b5aea7;--symbol-color-active:#f5cc49;--symbol-spacing:0.25rem;--focus-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)));display:inline-block}.rating-wrap.sc-nano-rating{position:relative;margin:0 calc(var(--symbol-spacing) * -1)}.rating.sc-nano-rating{position:relative;border-radius:5px;vertical-align:middle;width:100%;-webkit-transition:-webkit-box-shadow 0.15s ease;transition:-webkit-box-shadow 0.15s ease;transition:box-shadow 0.15s ease;transition:box-shadow 0.15s ease, -webkit-box-shadow 0.15s ease}.rating.sc-nano-rating:focus{outline:none}.rating.focus-visible.sc-nano-rating:focus{-webkit-box-shadow:var(--focus-shadow);box-shadow:var(--focus-shadow)}.rating__symbols.sc-nano-rating{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;font-size:var(--symbol-size);color:var(--symbol-color);white-space:nowrap;cursor:pointer;line-height:0;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.rating__symbols--inactive.sc-nano-rating .rating__symbol.sc-nano-rating>.sc-nano-rating:not(nano-icon){background-color:currentColor !important}.rating__symbols.sc-nano-rating>*.sc-nano-rating{margin:var(--symbol-spacing)}.rating__symbols--indicator.sc-nano-rating{position:absolute;top:0;left:0;color:var(--symbol-color-active);pointer-events:none;width:100%}.rating__symbol.sc-nano-rating{-webkit-transition:0.2s -webkit-transform;transition:0.2s -webkit-transform;transition:0.2s transform;transition:0.2s transform, 0.2s -webkit-transform;text-align:center}.rating__symbol--hover.sc-nano-rating{-webkit-transform:scale(1.2);transform:scale(1.2)}.rating--disabled.sc-nano-rating .rating__symbols.sc-nano-rating,.rating--readonly.sc-nano-rating .rating__symbols.sc-nano-rating{cursor:default}.rating--disabled.sc-nano-rating .rating__symbol.sc-nano-rating,.rating--readonly.sc-nano-rating .rating__symbol.sc-nano-rating{-webkit-transform:none !important;transform:none !important}.rating--disabled.sc-nano-rating{opacity:0.5}.rating--disabled.sc-nano-rating .rating__symbols.sc-nano-rating{cursor:not-allowed}";var l=!!document.head.attachShadow;var c=n("nano_rating",function(){function n(n){var e=this;t(this,n);this.nanoChange=i(this,"nanoChange",7);this.nanoBlur=i(this,"nanoBlur",7);this.nanoFocus=i(this,"nanoFocus",7);this.hoverValue=0;this.isHovering=false;this.value=0;this.max=5;this.precision=1;this.readonly=false;this.disabled=false;this.name="";this.symbolName="solid/star";this.symbol=function(n){return'<nano-icon name="'+e.symbolName+'"></nano-icon>'};this.handleClick=function(n){if(e.disabled||e.readonly){return}var t=e.getValueFromMousePosition(n);e.value=t===e.value?0:t;e.isHovering=false};this.handleKeyDown=function(n){if(e.disabled||e.readonly){return}if(n.key==="ArrowLeft"){var t=n.shiftKey?1:e.precision;e.value=e.roundToPrecision(Math.max(0,e.value-t));n.preventDefault()}if(n.key==="ArrowRight"){var i=n.shiftKey?1:e.precision;e.value=e.roundToPrecision(Math.min(e.max,e.value+i));n.preventDefault()}if(n.key==="Home"){e.value=0;n.preventDefault()}if(n.key==="End"){e.value=e.max;n.preventDefault()}};this.handleMouseEnter=function(){e.isHovering=true};this.handleMouseLeave=function(){e.isHovering=false};this.handleFocus=function(){e.nanoFocus.emit()};this.handleBlur=function(){e.nanoBlur.emit()};this.handleMouseMove=function(n){e.hoverValue=e.getValueFromMousePosition(n)}}n.prototype.handleValueChange=function(){this.nanoChange.emit()};n.prototype.handleSymbolChange=function(){var n=this;this.symbol=function(t){return'<nano-icon name="'+n.symbolName+'"></nano-icon>'}};n.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(n){this.rating.focus();return[2]}))}))};n.prototype.removeFocus=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(n){this.rating.blur();return[2]}))}))};n.prototype.getValueFromMousePosition=function(n){var t=this.rating.getBoundingClientRect().left;var i=this.rating.getBoundingClientRect().width;var e;e=this.roundToPrecision((n.clientX-t)/i*this.max,this.precision);if(this.isRtl)e=this.max+this.precision-e;return r(e,0,this.max)};n.prototype.roundToPrecision=function(n,t){if(t===void 0){t=.5}var i=1/t;return Math.ceil(n*i)/i};n.prototype.clip=function(n){if(!this.rating)return;var t=this.rating.getBoundingClientRect().width;if(this.isRtl)return"rect(0, "+t+"px, 2em, "+(t-t/100*(n/this.max*100))+"px)";return"rect(0, "+t/100*(n/this.max*100)+"px, 2em, 0)"};n.prototype._getRoot=function(){return this.host.shadowRoot?this.host.shadowRoot:this.host};n.prototype._fixClassNames=function(){var n=this.rating.className.split(" ").filter((function(n){return n.match(/^sc-nano/)}));var t=this._getRoot().querySelectorAll("*");if(!t)return;Array.from(t).map((function(t){n.map((function(n){return t.classList.add(n)}))}))};n.prototype.componentDidLoad=function(){var n=this;a.observe(this.rating);setTimeout((function(){return n.indicator.style.clip=n.clip(n.value)}),20)};n.prototype.connectedCallback=function(){this.isRtl=this.host.dir==="rtl"||this.host.ownerDocument.dir==="rtl"};n.prototype.disconnectedCallback=function(){a.unobserve(this.rating)};n.prototype.componentDidRender=function(){if(!this.host.shadowRoot||!l)this._fixClassNames()};n.prototype.render=function(){var n=this;this.isRtl=this.host.dir==="rtl"||this.host.ownerDocument.dir==="rtl";var t=Array.from(Array(this.max).keys());var i=0;if(this.disabled||this.readonly){i=this.value}else{i=this.isHovering?this.hoverValue:this.value}return e("div",{class:"rating-wrap"},e("div",{dir:this.isRtl?"rtl":null,ref:function(t){return n.rating=t},part:"base",class:{rating:true,"rating--readonly":this.readonly,"rating--disabled":this.disabled},"aria-disabled":this.disabled?"true":"false","aria-readonly":this.readonly?"true":"false","aria-valuenow":this.value,"aria-valuemin":0,"aria-valuemax":this.max,tabIndex:this.disabled?-1:0,onClick:this.handleClick,onKeyDown:this.handleKeyDown,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,onMouseMove:this.handleMouseMove,onFocus:this.handleFocus,onBlur:this.handleBlur},e("span",{class:"rating__symbols rating__symbols--inactive"},t.map((function(t){return e("span",{class:{rating__symbol:true,"rating__symbol--hover":n.isHovering&&Math.ceil(i)===t+1},role:"presentation",onMouseEnter:n.handleMouseEnter,innerHTML:n.symbol(t+1)})}))),e("span",{ref:function(t){return n.indicator=t},class:"rating__symbols rating__symbols--indicator",style:{clip:this.clip(i)}},t.map((function(t){return e("span",{class:{rating__symbol:true,"rating__symbol--hover":n.isHovering&&Math.ceil(i)===t+1},role:"presentation",innerHTML:n.symbol(t+1)})}))),e("input",{type:"hidden",name:this.name,value:this.value,disabled:this.disabled||this.readonly})))};Object.defineProperty(n.prototype,"host",{get:function(){return o(this)},enumerable:false,configurable:true});Object.defineProperty(n,"watchers",{get:function(){return{value:["handleValueChange"],symbolName:["handleSymbolChange"]}},enumerable:false,configurable:true});return n}());c.style=s}}}));
5
- //# sourceMappingURL=p-8a8f893b.system.entry.js.map
4
+ */System.register(["./p-f48be9f5.system.js","./p-0784f2ad.system.js","./p-1c216ca4.system.js"],(function(n){"use strict";var t,i,e,o,a,r;return{setters:[function(n){t=n.r;i=n.c;e=n.h;o=n.g},function(n){a=n.f},function(n){r=n.c}],execute:function(){var s=".sc-nano-rating-h{-webkit-box-sizing:border-box;box-sizing:border-box}*.sc-nano-rating,*.sc-nano-rating::before,*.sc-nano-rating::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden].sc-nano-rating{display:none !important}.sc-nano-rating-h{--symbol-color:#b5aea7;--symbol-color-active:#f5cc49;--symbol-spacing:0.25rem;--focus-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)));display:inline-block}.rating-wrap.sc-nano-rating{position:relative;margin:0 calc(var(--symbol-spacing) * -1)}.rating.sc-nano-rating{position:relative;border-radius:5px;vertical-align:middle;width:100%;-webkit-transition:-webkit-box-shadow 0.15s ease;transition:-webkit-box-shadow 0.15s ease;transition:box-shadow 0.15s ease;transition:box-shadow 0.15s ease, -webkit-box-shadow 0.15s ease}.rating.sc-nano-rating:focus{outline:none}.rating.focus-visible.sc-nano-rating:focus{-webkit-box-shadow:var(--focus-shadow);box-shadow:var(--focus-shadow)}.rating__symbols.sc-nano-rating{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;font-size:var(--symbol-size);color:var(--symbol-color);white-space:nowrap;cursor:pointer;line-height:0;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.rating__symbols--inactive.sc-nano-rating .rating__symbol.sc-nano-rating>.sc-nano-rating:not(nano-icon){background-color:currentColor !important}.rating__symbols.sc-nano-rating>*.sc-nano-rating{margin:var(--symbol-spacing)}.rating__symbols--indicator.sc-nano-rating{position:absolute;top:0;left:0;color:var(--symbol-color-active);pointer-events:none;width:100%}.rating__symbol.sc-nano-rating{-webkit-transition:0.2s -webkit-transform;transition:0.2s -webkit-transform;transition:0.2s transform;transition:0.2s transform, 0.2s -webkit-transform;text-align:center}.rating__symbol--hover.sc-nano-rating{-webkit-transform:scale(1.2);transform:scale(1.2)}.rating--disabled.sc-nano-rating .rating__symbols.sc-nano-rating,.rating--readonly.sc-nano-rating .rating__symbols.sc-nano-rating{cursor:default}.rating--disabled.sc-nano-rating .rating__symbol.sc-nano-rating,.rating--readonly.sc-nano-rating .rating__symbol.sc-nano-rating{-webkit-transform:none !important;transform:none !important}.rating--disabled.sc-nano-rating{opacity:0.5}.rating--disabled.sc-nano-rating .rating__symbols.sc-nano-rating{cursor:not-allowed}";var l=!!document.head.attachShadow;var c=n("nano_rating",function(){function n(n){var e=this;t(this,n);this.nanoChange=i(this,"nanoChange",7);this.nanoBlur=i(this,"nanoBlur",7);this.nanoFocus=i(this,"nanoFocus",7);this.hoverValue=0;this.isHovering=false;this.value=0;this.max=5;this.precision=1;this.readonly=false;this.disabled=false;this.name="";this.symbolName="solid/star";this.symbol=function(n){return'<nano-icon name="'+e.symbolName+'"></nano-icon>'};this.handleClick=function(n){if(e.disabled||e.readonly){return}var t=e.getValueFromMousePosition(n);e.value=t===e.value?0:t;e.isHovering=false};this.handleKeyDown=function(n){if(e.disabled||e.readonly){return}if(n.key==="ArrowLeft"){var t=n.shiftKey?1:e.precision;e.value=e.roundToPrecision(Math.max(0,e.value-t));n.preventDefault()}if(n.key==="ArrowRight"){var i=n.shiftKey?1:e.precision;e.value=e.roundToPrecision(Math.min(e.max,e.value+i));n.preventDefault()}if(n.key==="Home"){e.value=0;n.preventDefault()}if(n.key==="End"){e.value=e.max;n.preventDefault()}};this.handleMouseEnter=function(){e.isHovering=true};this.handleMouseLeave=function(){e.isHovering=false};this.handleFocus=function(){e.nanoFocus.emit()};this.handleBlur=function(){e.nanoBlur.emit()};this.handleMouseMove=function(n){e.hoverValue=e.getValueFromMousePosition(n)}}n.prototype.handleValueChange=function(){this.nanoChange.emit()};n.prototype.handleSymbolChange=function(){var n=this;this.symbol=function(t){return'<nano-icon name="'+n.symbolName+'"></nano-icon>'}};n.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(n){this.rating.focus();return[2]}))}))};n.prototype.removeFocus=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(n){this.rating.blur();return[2]}))}))};n.prototype.getValueFromMousePosition=function(n){var t=this.rating.getBoundingClientRect().left;var i=this.rating.getBoundingClientRect().width;var e;e=this.roundToPrecision((n.clientX-t)/i*this.max,this.precision);if(this.isRtl)e=this.max+this.precision-e;return r(e,0,this.max)};n.prototype.roundToPrecision=function(n,t){if(t===void 0){t=.5}var i=1/t;return Math.ceil(n*i)/i};n.prototype.clip=function(n){if(!this.rating)return;var t=this.rating.getBoundingClientRect().width;if(this.isRtl)return"rect(0, "+t+"px, 2em, "+(t-t/100*(n/this.max*100))+"px)";return"rect(0, "+t/100*(n/this.max*100)+"px, 2em, 0)"};n.prototype._getRoot=function(){return this.host.shadowRoot?this.host.shadowRoot:this.host};n.prototype._fixClassNames=function(){var n=this.rating.className.split(" ").filter((function(n){return n.match(/^sc-nano/)}));var t=this._getRoot().querySelectorAll("*");if(!t)return;Array.from(t).map((function(t){n.map((function(n){return t.classList.add(n)}))}))};n.prototype.componentDidLoad=function(){var n=this;a.observe(this.rating);setTimeout((function(){return n.indicator.style.clip=n.clip(n.value)}),20)};n.prototype.connectedCallback=function(){this.isRtl=this.host.dir==="rtl"||this.host.ownerDocument.dir==="rtl"};n.prototype.disconnectedCallback=function(){a.unobserve(this.rating)};n.prototype.componentDidRender=function(){if(!this.host.shadowRoot||!l)this._fixClassNames()};n.prototype.render=function(){var n=this;this.isRtl=this.host.dir==="rtl"||this.host.ownerDocument.dir==="rtl";var t=Array.from(Array(this.max).keys());var i=0;if(this.disabled||this.readonly){i=this.value}else{i=this.isHovering?this.hoverValue:this.value}return e("div",{class:"rating-wrap"},e("div",{dir:this.isRtl?"rtl":null,ref:function(t){return n.rating=t},part:"base",class:{rating:true,"rating--readonly":this.readonly,"rating--disabled":this.disabled},"aria-disabled":this.disabled?"true":"false","aria-readonly":this.readonly?"true":"false","aria-valuenow":this.value,"aria-valuemin":0,"aria-valuemax":this.max,tabIndex:this.disabled?-1:0,onClick:this.handleClick,onKeyDown:this.handleKeyDown,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave,onMouseMove:this.handleMouseMove,onFocus:this.handleFocus,onBlur:this.handleBlur},e("span",{class:"rating__symbols rating__symbols--inactive"},t.map((function(t){return e("span",{class:{rating__symbol:true,"rating__symbol--hover":n.isHovering&&Math.ceil(i)===t+1},role:"presentation",onMouseEnter:n.handleMouseEnter,innerHTML:n.symbol(t+1)})}))),e("span",{ref:function(t){return n.indicator=t},class:"rating__symbols rating__symbols--indicator",style:{clip:this.clip(i)}},t.map((function(t){return e("span",{class:{rating__symbol:true,"rating__symbol--hover":n.isHovering&&Math.ceil(i)===t+1},role:"presentation",innerHTML:n.symbol(t+1)})}))),e("input",{type:"hidden",name:this.name,value:this.value,disabled:this.disabled||this.readonly})))};Object.defineProperty(n.prototype,"host",{get:function(){return o(this)},enumerable:false,configurable:true});Object.defineProperty(n,"watchers",{get:function(){return{value:["handleValueChange"],symbolName:["handleSymbolChange"]}},enumerable:false,configurable:true});return n}());c.style=s}}}));
5
+ //# sourceMappingURL=p-316f83a9.system.entry.js.map