@nanoporetech-digital/components 2.8.0 → 2.10.1

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 (515) hide show
  1. package/CHANGELOG.md +51 -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/{form-control-8f530f7d.js → form-control-d54a847f.js} +26 -19
  7. package/dist/cjs/form-control-d54a847f.js.map +1 -0
  8. package/dist/cjs/index-cb62df44.js +5 -0
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/cjs/nano-algolia-filter.cjs.entry.js +1 -1
  11. package/dist/cjs/nano-algolia-input.cjs.entry.js +2 -2
  12. package/dist/cjs/nano-algolia.cjs.entry.js +2 -2
  13. package/dist/cjs/nano-checkbox-group.cjs.entry.js +58 -20
  14. package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
  15. package/dist/cjs/nano-checkbox.cjs.entry.js +27 -15
  16. package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
  17. package/dist/cjs/nano-components.cjs.js +1 -1
  18. package/dist/cjs/nano-datalist_3.cjs.entry.js +5 -3
  19. package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -1
  20. package/dist/cjs/nano-date-input.cjs.entry.js +17 -4
  21. package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
  22. package/dist/cjs/nano-dialog.cjs.entry.js +13 -2
  23. package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
  24. package/dist/cjs/nano-field-validator.cjs.entry.js +531 -0
  25. package/dist/cjs/nano-field-validator.cjs.entry.js.map +1 -0
  26. package/dist/cjs/nano-file-upload.cjs.entry.js +59 -36
  27. package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
  28. package/dist/cjs/nano-global-nav.cjs.entry.js +2 -2
  29. package/dist/cjs/nano-icon.cjs.entry.js.map +1 -1
  30. package/dist/cjs/nano-input.cjs.entry.js +36 -20
  31. package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
  32. package/dist/cjs/nano-nav-item_2.cjs.entry.js +65 -24
  33. package/dist/cjs/nano-nav-item_2.cjs.entry.js.map +1 -1
  34. package/dist/cjs/nano-resize-observe_2.cjs.entry.js +6 -4
  35. package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
  36. package/dist/cjs/nano-sticker.cjs.entry.js +2 -2
  37. package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
  38. package/dist/cjs/nano-tab-group.cjs.entry.js +1 -1
  39. package/dist/collection/collection-manifest.json +2 -1
  40. package/dist/collection/components/accordion/accordion.js +1 -1
  41. package/dist/collection/components/alert/alert.js +1 -1
  42. package/dist/collection/components/algolia/algolia-filter.js +2 -2
  43. package/dist/collection/components/algolia/algolia-input.js +5 -5
  44. package/dist/collection/components/algolia/algolia-results.js +1 -1
  45. package/dist/collection/components/algolia/algolia.js +6 -6
  46. package/dist/collection/components/checkbox/checkbox-group.css +5 -5
  47. package/dist/collection/components/checkbox/checkbox-group.js +119 -25
  48. package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
  49. package/dist/collection/components/checkbox/checkbox.css +1 -1
  50. package/dist/collection/components/checkbox/checkbox.js +83 -22
  51. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  52. package/dist/collection/components/datalist/datalist.js +5 -2
  53. package/dist/collection/components/datalist/datalist.js.map +1 -1
  54. package/dist/collection/components/date-input/date-input.js +44 -12
  55. package/dist/collection/components/date-input/date-input.js.map +1 -1
  56. package/dist/collection/components/date-picker/date-picker.js +5 -5
  57. package/dist/collection/components/details/details.js +1 -1
  58. package/dist/collection/components/dialog/dialog.js +34 -1
  59. package/dist/collection/components/dialog/dialog.js.map +1 -1
  60. package/dist/collection/components/dropdown/dropdown.js +1 -1
  61. package/dist/collection/components/field-validator/field-validator.js +579 -0
  62. package/dist/collection/components/field-validator/field-validator.js.map +1 -0
  63. package/dist/collection/components/file-upload/file-upload.css +17 -5
  64. package/dist/collection/components/file-upload/file-upload.js +111 -44
  65. package/dist/collection/components/file-upload/file-upload.js.map +1 -1
  66. package/dist/collection/components/form-control/form-control.js +25 -18
  67. package/dist/collection/components/form-control/form-control.js.map +1 -1
  68. package/dist/collection/components/global-nav/global-nav.js +4 -4
  69. package/dist/collection/components/grid/grid-item.js +1 -1
  70. package/dist/collection/components/icon/icon.js +2 -2
  71. package/dist/collection/components/icon/icon.js.map +1 -1
  72. package/dist/collection/components/input/input.css +57 -5
  73. package/dist/collection/components/input/input.js +65 -29
  74. package/dist/collection/components/input/input.js.map +1 -1
  75. package/dist/collection/components/menu/menu.js +1 -2
  76. package/dist/collection/components/menu/menu.js.map +1 -1
  77. package/dist/collection/components/nav-item/nav-item.js +4 -4
  78. package/dist/collection/components/range/range.js +4 -4
  79. package/dist/collection/components/resize-observe/resize-observe.js +7 -6
  80. package/dist/collection/components/resize-observe/resize-observe.js.map +1 -1
  81. package/dist/collection/components/select/select.css +61 -6
  82. package/dist/collection/components/select/select.js +100 -33
  83. package/dist/collection/components/select/select.js.map +1 -1
  84. package/dist/collection/components/slides/slides.js +7 -7
  85. package/dist/collection/components/{sticky → sticker}/sticker.css +0 -0
  86. package/dist/collection/components/{sticky → sticker}/sticker.js +2 -2
  87. package/dist/collection/components/sticker/sticker.js.map +1 -0
  88. package/dist/collection/components/tabs/tab-group.js +2 -2
  89. package/dist/collection/utils/store/component-store.js +4 -13
  90. package/dist/collection/utils/store/component-store.js.map +1 -1
  91. package/dist/collection/utils/store/get-set.js +15 -1
  92. package/dist/collection/utils/store/get-set.js.map +1 -1
  93. package/dist/components/algoliasearch.umd.js +2 -2
  94. package/dist/components/algoliasearch.umd.js.map +1 -1
  95. package/dist/components/component-store.js +36 -24
  96. package/dist/components/component-store.js.map +1 -1
  97. package/dist/components/datalist.js +4 -1
  98. package/dist/components/datalist.js.map +1 -1
  99. package/dist/components/form-control.js +25 -18
  100. package/dist/components/form-control.js.map +1 -1
  101. package/dist/components/icon.js.map +1 -1
  102. package/dist/components/input.js +39 -21
  103. package/dist/components/input.js.map +1 -1
  104. package/dist/components/menu.js +1 -2
  105. package/dist/components/menu.js.map +1 -1
  106. package/dist/components/nano-checkbox-group.js +62 -21
  107. package/dist/components/nano-checkbox-group.js.map +1 -1
  108. package/dist/components/nano-checkbox.js +31 -17
  109. package/dist/components/nano-checkbox.js.map +1 -1
  110. package/dist/components/nano-date-input.js +18 -4
  111. package/dist/components/nano-date-input.js.map +1 -1
  112. package/dist/components/nano-dialog.js +13 -1
  113. package/dist/components/nano-dialog.js.map +1 -1
  114. package/dist/components/nano-field-validator.d.ts +11 -0
  115. package/dist/components/nano-field-validator.js +559 -0
  116. package/dist/components/nano-field-validator.js.map +1 -0
  117. package/dist/components/nano-file-upload.js +62 -37
  118. package/dist/components/nano-file-upload.js.map +1 -1
  119. package/dist/components/resize-observe.js +6 -4
  120. package/dist/components/resize-observe.js.map +1 -1
  121. package/dist/components/select.js +69 -25
  122. package/dist/components/select.js.map +1 -1
  123. package/dist/components/sticker.js +2 -2
  124. package/dist/components/sticker.js.map +1 -1
  125. package/dist/custom-elements/index.d.ts +6 -0
  126. package/dist/custom-elements/index.js +2606 -691
  127. package/dist/custom-elements/index.js.map +1 -1
  128. package/dist/esm/{algolia-data-dd72d1b7.js → algolia-data-80c1169a.js} +2 -2
  129. package/dist/esm/{algolia-data-dd72d1b7.js.map → algolia-data-80c1169a.js.map} +1 -1
  130. package/dist/esm/{algoliasearch.umd-6143495f.js → algoliasearch.umd-86359963.js} +3 -3
  131. package/dist/esm/{algoliasearch.umd-6143495f.js.map → algoliasearch.umd-86359963.js.map} +1 -1
  132. package/dist/esm/{component-store-b6fbfa35.js → component-store-d238fee4.js} +38 -26
  133. package/dist/esm/component-store-d238fee4.js.map +1 -0
  134. package/dist/esm/{form-control-c52b6256.js → form-control-ad05507c.js} +27 -20
  135. package/dist/esm/form-control-ad05507c.js.map +1 -0
  136. package/dist/esm/{index-5f8d16e7.js → index-c42becad.js} +7 -2
  137. package/dist/esm/{index-5f8d16e7.js.map → index-c42becad.js.map} +1 -1
  138. package/dist/esm/loader.js +2 -2
  139. package/dist/esm/nano-accordion.entry.js +1 -1
  140. package/dist/esm/nano-alert.entry.js +1 -1
  141. package/dist/esm/nano-algolia-filter.entry.js +3 -3
  142. package/dist/esm/nano-algolia-input.entry.js +4 -4
  143. package/dist/esm/nano-algolia-pagination.entry.js +2 -2
  144. package/dist/esm/nano-algolia-results.entry.js +2 -2
  145. package/dist/esm/nano-algolia.entry.js +4 -4
  146. package/dist/esm/nano-aspect-ratio.entry.js +1 -1
  147. package/dist/esm/nano-checkbox-group.entry.js +59 -21
  148. package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
  149. package/dist/esm/nano-checkbox.entry.js +28 -16
  150. package/dist/esm/nano-checkbox.entry.js.map +1 -1
  151. package/dist/esm/nano-components.js +2 -2
  152. package/dist/esm/nano-datalist_3.entry.js +6 -4
  153. package/dist/esm/nano-datalist_3.entry.js.map +1 -1
  154. package/dist/esm/nano-date-input.entry.js +18 -5
  155. package/dist/esm/nano-date-input.entry.js.map +1 -1
  156. package/dist/esm/nano-date-picker.entry.js +1 -1
  157. package/dist/esm/nano-details.entry.js +1 -1
  158. package/dist/esm/nano-dialog.entry.js +14 -3
  159. package/dist/esm/nano-dialog.entry.js.map +1 -1
  160. package/dist/esm/nano-drawer.entry.js +1 -1
  161. package/dist/esm/nano-dropdown.entry.js +1 -1
  162. package/dist/esm/nano-field-validator.entry.js +527 -0
  163. package/dist/esm/nano-field-validator.entry.js.map +1 -0
  164. package/dist/esm/nano-file-upload.entry.js +60 -37
  165. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  166. package/dist/esm/nano-global-nav.entry.js +3 -3
  167. package/dist/esm/nano-global-search-results.entry.js +1 -1
  168. package/dist/esm/nano-grid_3.entry.js +1 -1
  169. package/dist/esm/nano-hero.entry.js +1 -1
  170. package/dist/esm/nano-icon-button.entry.js +1 -1
  171. package/dist/esm/nano-icon.entry.js +1 -1
  172. package/dist/esm/nano-icon.entry.js.map +1 -1
  173. package/dist/esm/nano-input.entry.js +38 -22
  174. package/dist/esm/nano-input.entry.js.map +1 -1
  175. package/dist/esm/nano-menu-drawer.entry.js +1 -1
  176. package/dist/esm/nano-nav-item_2.entry.js +67 -26
  177. package/dist/esm/nano-nav-item_2.entry.js.map +1 -1
  178. package/dist/esm/nano-range.entry.js +1 -1
  179. package/dist/esm/nano-rating.entry.js +1 -1
  180. package/dist/esm/nano-resize-observe_2.entry.js +7 -5
  181. package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
  182. package/dist/esm/nano-slide.entry.js +1 -1
  183. package/dist/esm/nano-slides.entry.js +1 -1
  184. package/dist/esm/nano-spinner.entry.js +1 -1
  185. package/dist/esm/nano-split-pane.entry.js +1 -1
  186. package/dist/esm/nano-sticker.entry.js +3 -3
  187. package/dist/esm/nano-sticker.entry.js.map +1 -1
  188. package/dist/esm/nano-tab-content.entry.js +1 -1
  189. package/dist/esm/nano-tab-group.entry.js +2 -2
  190. package/dist/esm/nano-tab.entry.js +1 -1
  191. package/dist/esm/nano-tooltip.entry.js +1 -1
  192. package/dist/esm-es5/{algolia-data-dd72d1b7.js → algolia-data-80c1169a.js} +2 -2
  193. package/dist/esm-es5/{algolia-data-dd72d1b7.js.map → algolia-data-80c1169a.js.map} +0 -0
  194. package/dist/esm-es5/{algoliasearch.umd-6143495f.js → algoliasearch.umd-86359963.js} +3 -3
  195. package/dist/esm-es5/{algoliasearch.umd-6143495f.js.map → algoliasearch.umd-86359963.js.map} +1 -1
  196. package/dist/esm-es5/component-store-d238fee4.js +5 -0
  197. package/dist/esm-es5/component-store-d238fee4.js.map +1 -0
  198. package/dist/esm-es5/form-control-ad05507c.js +5 -0
  199. package/dist/esm-es5/form-control-ad05507c.js.map +1 -0
  200. package/dist/esm-es5/{index-5f8d16e7.js → index-c42becad.js} +2 -2
  201. package/dist/esm-es5/{index-5f8d16e7.js.map → index-c42becad.js.map} +0 -0
  202. package/dist/esm-es5/loader.js +1 -1
  203. package/dist/esm-es5/loader.js.map +1 -1
  204. package/dist/esm-es5/nano-accordion.entry.js +1 -1
  205. package/dist/esm-es5/nano-alert.entry.js +1 -1
  206. package/dist/esm-es5/nano-algolia-filter.entry.js +1 -1
  207. package/dist/esm-es5/nano-algolia-input.entry.js +1 -1
  208. package/dist/esm-es5/nano-algolia-pagination.entry.js +1 -1
  209. package/dist/esm-es5/nano-algolia-results.entry.js +1 -1
  210. package/dist/esm-es5/nano-algolia.entry.js +1 -1
  211. package/dist/esm-es5/nano-aspect-ratio.entry.js +1 -1
  212. package/dist/esm-es5/nano-checkbox-group.entry.js +2 -2
  213. package/dist/esm-es5/nano-checkbox-group.entry.js.map +1 -1
  214. package/dist/esm-es5/nano-checkbox.entry.js +1 -1
  215. package/dist/esm-es5/nano-checkbox.entry.js.map +1 -1
  216. package/dist/esm-es5/nano-components.js +1 -1
  217. package/dist/esm-es5/nano-components.js.map +1 -1
  218. package/dist/esm-es5/nano-datalist_3.entry.js +1 -1
  219. package/dist/esm-es5/nano-datalist_3.entry.js.map +1 -1
  220. package/dist/esm-es5/nano-date-input.entry.js +1 -1
  221. package/dist/esm-es5/nano-date-input.entry.js.map +1 -1
  222. package/dist/esm-es5/nano-date-picker.entry.js +1 -1
  223. package/dist/esm-es5/nano-details.entry.js +1 -1
  224. package/dist/esm-es5/nano-dialog.entry.js +1 -1
  225. package/dist/esm-es5/nano-dialog.entry.js.map +1 -1
  226. package/dist/esm-es5/nano-drawer.entry.js +1 -1
  227. package/dist/esm-es5/nano-dropdown.entry.js +1 -1
  228. package/dist/esm-es5/nano-field-validator.entry.js +5 -0
  229. package/dist/esm-es5/nano-field-validator.entry.js.map +1 -0
  230. package/dist/esm-es5/nano-file-upload.entry.js +2 -2
  231. package/dist/esm-es5/nano-file-upload.entry.js.map +1 -1
  232. package/dist/esm-es5/nano-global-nav.entry.js +1 -1
  233. package/dist/esm-es5/nano-global-search-results.entry.js +1 -1
  234. package/dist/esm-es5/nano-grid_3.entry.js +1 -1
  235. package/dist/esm-es5/nano-hero.entry.js +1 -1
  236. package/dist/esm-es5/nano-icon-button.entry.js +1 -1
  237. package/dist/esm-es5/nano-icon.entry.js +1 -1
  238. package/dist/esm-es5/nano-icon.entry.js.map +1 -1
  239. package/dist/esm-es5/nano-input.entry.js +1 -1
  240. package/dist/esm-es5/nano-input.entry.js.map +1 -1
  241. package/dist/esm-es5/nano-menu-drawer.entry.js +1 -1
  242. package/dist/esm-es5/nano-nav-item_2.entry.js +1 -1
  243. package/dist/esm-es5/nano-nav-item_2.entry.js.map +1 -1
  244. package/dist/esm-es5/nano-range.entry.js +1 -1
  245. package/dist/esm-es5/nano-rating.entry.js +1 -1
  246. package/dist/esm-es5/nano-resize-observe_2.entry.js +2 -2
  247. package/dist/esm-es5/nano-resize-observe_2.entry.js.map +1 -1
  248. package/dist/esm-es5/nano-slide.entry.js +1 -1
  249. package/dist/esm-es5/nano-slides.entry.js +1 -1
  250. package/dist/esm-es5/nano-spinner.entry.js +1 -1
  251. package/dist/esm-es5/nano-split-pane.entry.js +1 -1
  252. package/dist/esm-es5/nano-sticker.entry.js +1 -1
  253. package/dist/esm-es5/nano-sticker.entry.js.map +1 -1
  254. package/dist/esm-es5/nano-tab-content.entry.js +1 -1
  255. package/dist/esm-es5/nano-tab-group.entry.js +1 -1
  256. package/dist/esm-es5/nano-tab.entry.js +2 -2
  257. package/dist/esm-es5/nano-tooltip.entry.js +1 -1
  258. package/dist/nano-components/nano-components.css +1 -1
  259. package/dist/nano-components/nano-components.esm.js +1 -1
  260. package/dist/nano-components/nano-components.esm.js.map +1 -1
  261. package/dist/nano-components/nano-components.js +1 -1
  262. package/dist/nano-components/p-00eaa36a.entry.js +5 -0
  263. package/dist/nano-components/p-00eaa36a.entry.js.map +1 -0
  264. package/dist/nano-components/p-01667573.entry.js +5 -0
  265. package/dist/nano-components/p-01667573.entry.js.map +1 -0
  266. package/dist/nano-components/{p-4429caac.system.entry.js → p-0c6c2141.system.entry.js} +2 -2
  267. package/dist/nano-components/{p-4429caac.system.entry.js.map → p-0c6c2141.system.entry.js.map} +0 -0
  268. package/dist/nano-components/{p-7232c046.system.entry.js → p-0d0dfc06.system.entry.js} +2 -2
  269. package/dist/nano-components/{p-7232c046.system.entry.js.map → p-0d0dfc06.system.entry.js.map} +0 -0
  270. package/dist/nano-components/{p-e562bffd.entry.js → p-0e2e3f4a.entry.js} +2 -2
  271. package/dist/nano-components/{p-e562bffd.entry.js.map → p-0e2e3f4a.entry.js.map} +0 -0
  272. package/dist/nano-components/{p-56ba0d63.entry.js → p-1030797a.entry.js} +2 -2
  273. package/dist/nano-components/{p-56ba0d63.entry.js.map → p-1030797a.entry.js.map} +0 -0
  274. package/dist/nano-components/p-129e2b4b.system.js +5 -0
  275. package/dist/nano-components/p-129e2b4b.system.js.map +1 -0
  276. package/dist/nano-components/{p-c0ddb4c3.entry.js → p-166ade3e.entry.js} +2 -2
  277. package/dist/nano-components/{p-c0ddb4c3.entry.js.map → p-166ade3e.entry.js.map} +0 -0
  278. package/dist/nano-components/{p-5653961d.system.entry.js → p-1a30dfdd.system.entry.js} +2 -2
  279. package/dist/nano-components/p-1a30dfdd.system.entry.js.map +1 -0
  280. package/dist/nano-components/p-1b120f53.entry.js +5 -0
  281. package/dist/nano-components/p-1b120f53.entry.js.map +1 -0
  282. package/dist/nano-components/{p-7d351076.system.entry.js → p-21af2a5e.system.entry.js} +2 -2
  283. package/dist/nano-components/{p-7d351076.system.entry.js.map → p-21af2a5e.system.entry.js.map} +0 -0
  284. package/dist/nano-components/p-21d6d31e.system.entry.js +5 -0
  285. package/dist/nano-components/p-21d6d31e.system.entry.js.map +1 -0
  286. package/dist/nano-components/{p-346588cc.entry.js → p-222d8095.entry.js} +2 -2
  287. package/dist/nano-components/{p-346588cc.entry.js.map → p-222d8095.entry.js.map} +0 -0
  288. package/dist/nano-components/p-241d90eb.system.entry.js +5 -0
  289. package/dist/nano-components/p-241d90eb.system.entry.js.map +1 -0
  290. package/dist/nano-components/{p-040b6cda.entry.js → p-2649fc8e.entry.js} +2 -2
  291. package/dist/nano-components/{p-040b6cda.entry.js.map → p-2649fc8e.entry.js.map} +0 -0
  292. package/dist/nano-components/{p-3456db01.entry.js → p-27efac97.entry.js} +2 -2
  293. package/dist/nano-components/{p-3456db01.entry.js.map → p-27efac97.entry.js.map} +0 -0
  294. package/dist/nano-components/{p-462ad4f1.entry.js → p-2c8d7273.entry.js} +2 -2
  295. package/dist/nano-components/{p-462ad4f1.entry.js.map → p-2c8d7273.entry.js.map} +0 -0
  296. package/dist/nano-components/{p-2e6c55e2.entry.js → p-2d53d1a0.entry.js} +2 -2
  297. package/dist/nano-components/{p-2e6c55e2.entry.js.map → p-2d53d1a0.entry.js.map} +0 -0
  298. package/dist/nano-components/{p-1f99d776.entry.js → p-3093915f.entry.js} +2 -2
  299. package/dist/nano-components/{p-1f99d776.entry.js.map → p-3093915f.entry.js.map} +0 -0
  300. package/dist/nano-components/{p-8a8f893b.system.entry.js → p-316f83a9.system.entry.js} +2 -2
  301. package/dist/nano-components/{p-8a8f893b.system.entry.js.map → p-316f83a9.system.entry.js.map} +0 -0
  302. package/dist/nano-components/{p-7246bef5.entry.js → p-325c1cad.entry.js} +2 -2
  303. package/dist/nano-components/{p-7246bef5.entry.js.map → p-325c1cad.entry.js.map} +0 -0
  304. package/dist/nano-components/{p-ec39b143.system.entry.js → p-32f396c0.system.entry.js} +2 -2
  305. package/dist/nano-components/{p-ec39b143.system.entry.js.map → p-32f396c0.system.entry.js.map} +0 -0
  306. package/dist/nano-components/p-32f4516e.js +5 -0
  307. package/dist/nano-components/p-32f4516e.js.map +1 -0
  308. package/dist/nano-components/{p-43543d18.entry.js → p-333237e8.entry.js} +2 -2
  309. package/dist/nano-components/{p-43543d18.entry.js.map → p-333237e8.entry.js.map} +0 -0
  310. package/dist/nano-components/{p-1e8321ea.entry.js → p-35108e08.entry.js} +2 -2
  311. package/dist/nano-components/{p-1e8321ea.entry.js.map → p-35108e08.entry.js.map} +0 -0
  312. package/dist/nano-components/{p-a898bf92.system.entry.js → p-379e21d9.system.entry.js} +2 -2
  313. package/dist/nano-components/{p-a898bf92.system.entry.js.map → p-379e21d9.system.entry.js.map} +0 -0
  314. package/dist/nano-components/{p-3ad1d5aa.system.entry.js → p-39d36fd1.system.entry.js} +2 -2
  315. package/dist/nano-components/{p-3ad1d5aa.system.entry.js.map → p-39d36fd1.system.entry.js.map} +0 -0
  316. package/dist/nano-components/{p-41a2e2e4.system.js → p-3a00de47.system.js} +2 -2
  317. package/dist/nano-components/{p-41a2e2e4.system.js.map → p-3a00de47.system.js.map} +0 -0
  318. package/dist/nano-components/{p-6afdb510.system.entry.js → p-3ccb176c.system.entry.js} +2 -2
  319. package/dist/nano-components/{p-6afdb510.system.entry.js.map → p-3ccb176c.system.entry.js.map} +0 -0
  320. package/dist/nano-components/{p-08b43111.entry.js → p-3e930ac7.entry.js} +2 -2
  321. package/dist/nano-components/{p-08b43111.entry.js.map → p-3e930ac7.entry.js.map} +0 -0
  322. package/dist/nano-components/{p-d8d8bac6.system.entry.js → p-42cebbfe.system.entry.js} +2 -2
  323. package/dist/nano-components/{p-d8d8bac6.system.entry.js.map → p-42cebbfe.system.entry.js.map} +0 -0
  324. package/dist/nano-components/{p-3ef30ded.system.entry.js → p-48874481.system.entry.js} +2 -2
  325. package/dist/nano-components/{p-3ef30ded.system.entry.js.map → p-48874481.system.entry.js.map} +0 -0
  326. package/dist/nano-components/{p-08ffc9a1.entry.js → p-4e2c0abb.entry.js} +2 -2
  327. package/dist/nano-components/{p-08ffc9a1.entry.js.map → p-4e2c0abb.entry.js.map} +0 -0
  328. package/dist/nano-components/{p-090f22a9.system.entry.js → p-5100ae70.system.entry.js} +2 -2
  329. package/dist/nano-components/{p-090f22a9.system.entry.js.map → p-5100ae70.system.entry.js.map} +0 -0
  330. package/dist/nano-components/{p-593de29b.system.entry.js → p-52769304.system.entry.js} +2 -2
  331. package/dist/nano-components/{p-593de29b.system.entry.js.map → p-52769304.system.entry.js.map} +0 -0
  332. package/dist/nano-components/{p-8278c5d2.system.entry.js → p-56f86047.system.entry.js} +2 -2
  333. package/dist/nano-components/{p-8278c5d2.system.entry.js.map → p-56f86047.system.entry.js.map} +0 -0
  334. package/dist/nano-components/{p-2057d480.system.entry.js → p-5b66bb8f.system.entry.js} +2 -2
  335. package/dist/nano-components/{p-2057d480.system.entry.js.map → p-5b66bb8f.system.entry.js.map} +0 -0
  336. package/dist/nano-components/{p-033296c7.system.entry.js → p-5d17cfbb.system.entry.js} +2 -2
  337. package/dist/nano-components/{p-033296c7.system.entry.js.map → p-5d17cfbb.system.entry.js.map} +0 -0
  338. package/dist/nano-components/{p-88f17c86.system.entry.js → p-5d5ea4ab.system.entry.js} +2 -2
  339. package/dist/nano-components/{p-88f17c86.system.entry.js.map → p-5d5ea4ab.system.entry.js.map} +0 -0
  340. package/dist/nano-components/p-6722447c.entry.js +5 -0
  341. package/dist/nano-components/p-6722447c.entry.js.map +1 -0
  342. package/dist/nano-components/{p-20387cde.system.entry.js → p-6b4dd158.system.entry.js} +2 -2
  343. package/dist/nano-components/{p-20387cde.system.entry.js.map → p-6b4dd158.system.entry.js.map} +0 -0
  344. package/dist/nano-components/{p-d24811c8.system.js → p-6b5760b1.system.js} +3 -3
  345. package/dist/nano-components/{p-d24811c8.system.js.map → p-6b5760b1.system.js.map} +1 -1
  346. package/dist/nano-components/p-6d138abf.entry.js +5 -0
  347. package/dist/nano-components/p-6d138abf.entry.js.map +1 -0
  348. package/dist/nano-components/{p-5066e563.system.entry.js → p-6dad332b.system.entry.js} +2 -2
  349. package/dist/nano-components/{p-5066e563.system.entry.js.map → p-6dad332b.system.entry.js.map} +0 -0
  350. package/dist/nano-components/{p-730f60ea.entry.js → p-6ddb51e4.entry.js} +2 -2
  351. package/dist/nano-components/p-6ddb51e4.entry.js.map +1 -0
  352. package/dist/nano-components/p-71e9fa33.js +5 -0
  353. package/dist/nano-components/p-71e9fa33.js.map +1 -0
  354. package/dist/nano-components/{p-313970ff.entry.js → p-73985eda.entry.js} +2 -2
  355. package/dist/nano-components/{p-313970ff.entry.js.map → p-73985eda.entry.js.map} +0 -0
  356. package/dist/nano-components/{p-58d7f10f.entry.js → p-76c903db.entry.js} +2 -2
  357. package/dist/nano-components/{p-58d7f10f.entry.js.map → p-76c903db.entry.js.map} +0 -0
  358. package/dist/nano-components/{p-3aa1d07d.entry.js → p-76d9d1d4.entry.js} +2 -2
  359. package/dist/nano-components/p-76d9d1d4.entry.js.map +1 -0
  360. package/dist/nano-components/{p-f53989c3.system.entry.js → p-7aa7425d.system.entry.js} +2 -2
  361. package/dist/nano-components/{p-f53989c3.system.entry.js.map → p-7aa7425d.system.entry.js.map} +1 -1
  362. package/dist/nano-components/{p-531d5275.system.entry.js → p-7ad4a27a.system.entry.js} +2 -2
  363. package/dist/nano-components/p-7ad4a27a.system.entry.js.map +1 -0
  364. package/dist/nano-components/{p-2ae4918d.system.entry.js → p-7e55b214.system.entry.js} +2 -2
  365. package/dist/nano-components/{p-2ae4918d.system.entry.js.map → p-7e55b214.system.entry.js.map} +0 -0
  366. package/dist/nano-components/{p-62ecd3a1.system.entry.js → p-7f1374b6.system.entry.js} +2 -2
  367. package/dist/nano-components/{p-62ecd3a1.system.entry.js.map → p-7f1374b6.system.entry.js.map} +0 -0
  368. package/dist/nano-components/{p-1e974cad.entry.js → p-7fe9d769.entry.js} +2 -2
  369. package/dist/nano-components/{p-1e974cad.entry.js.map → p-7fe9d769.entry.js.map} +0 -0
  370. package/dist/nano-components/p-85c8b070.system.entry.js +5 -0
  371. package/dist/nano-components/p-85c8b070.system.entry.js.map +1 -0
  372. package/dist/nano-components/p-866f083f.system.entry.js +5 -0
  373. package/dist/nano-components/p-866f083f.system.entry.js.map +1 -0
  374. package/dist/nano-components/p-86bd5194.entry.js +5 -0
  375. package/dist/nano-components/p-86bd5194.entry.js.map +1 -0
  376. package/dist/nano-components/{p-f2e7d2f9.system.entry.js → p-88779174.system.entry.js} +2 -2
  377. package/dist/nano-components/{p-f2e7d2f9.system.entry.js.map → p-88779174.system.entry.js.map} +0 -0
  378. package/dist/nano-components/{p-4535e3bb.entry.js → p-8b6fcd6d.entry.js} +2 -2
  379. package/dist/nano-components/{p-4535e3bb.entry.js.map → p-8b6fcd6d.entry.js.map} +0 -0
  380. package/dist/nano-components/{p-6ade3290.entry.js → p-8eb4f24a.entry.js} +2 -2
  381. package/dist/nano-components/{p-6ade3290.entry.js.map → p-8eb4f24a.entry.js.map} +0 -0
  382. package/dist/nano-components/{p-07bdf44d.entry.js → p-8fe2f846.entry.js} +2 -2
  383. package/dist/nano-components/{p-07bdf44d.entry.js.map → p-8fe2f846.entry.js.map} +0 -0
  384. package/dist/nano-components/p-96d9b8b9.system.entry.js +5 -0
  385. package/dist/nano-components/p-96d9b8b9.system.entry.js.map +1 -0
  386. package/dist/nano-components/{p-bcd69559.entry.js → p-97b13ad2.entry.js} +2 -2
  387. package/dist/nano-components/{p-bcd69559.entry.js.map → p-97b13ad2.entry.js.map} +0 -0
  388. package/dist/nano-components/{p-c9c1a345.system.entry.js → p-a02cc654.system.entry.js} +2 -2
  389. package/dist/nano-components/{p-c9c1a345.system.entry.js.map → p-a02cc654.system.entry.js.map} +0 -0
  390. package/dist/nano-components/{p-a77e3fbb.js → p-a0b93616.js} +3 -3
  391. package/dist/nano-components/{p-a77e3fbb.js.map → p-a0b93616.js.map} +1 -1
  392. package/dist/nano-components/p-a4969844.entry.js +5 -0
  393. package/dist/nano-components/p-a4969844.entry.js.map +1 -0
  394. package/dist/nano-components/{p-70dec19f.entry.js → p-a6327a9a.entry.js} +2 -2
  395. package/dist/nano-components/{p-70dec19f.entry.js.map → p-a6327a9a.entry.js.map} +0 -0
  396. package/dist/nano-components/{p-a315ed2c.entry.js → p-a9a4fc3e.entry.js} +2 -2
  397. package/dist/nano-components/{p-a315ed2c.entry.js.map → p-a9a4fc3e.entry.js.map} +1 -1
  398. package/dist/nano-components/{p-98222c39.system.entry.js → p-ab07c1fa.system.entry.js} +2 -2
  399. package/dist/nano-components/{p-98222c39.system.entry.js.map → p-ab07c1fa.system.entry.js.map} +0 -0
  400. package/dist/nano-components/{p-ab5813a7.js → p-b5c33aff.js} +2 -2
  401. package/dist/nano-components/{p-ab5813a7.js.map → p-b5c33aff.js.map} +0 -0
  402. package/dist/nano-components/p-bc394857.system.entry.js +5 -0
  403. package/dist/nano-components/p-bc394857.system.entry.js.map +1 -0
  404. package/dist/nano-components/{p-b4f8e541.entry.js → p-bce998f2.entry.js} +2 -2
  405. package/dist/nano-components/{p-b4f8e541.entry.js.map → p-bce998f2.entry.js.map} +0 -0
  406. package/dist/nano-components/{p-92f85aaf.system.entry.js → p-bf9aa89d.system.entry.js} +2 -2
  407. package/dist/nano-components/{p-92f85aaf.system.entry.js.map → p-bf9aa89d.system.entry.js.map} +0 -0
  408. package/dist/nano-components/p-c070ffd3.system.entry.js +5 -0
  409. package/dist/nano-components/p-c070ffd3.system.entry.js.map +1 -0
  410. package/dist/nano-components/p-c3830c43.entry.js +5 -0
  411. package/dist/nano-components/p-c3830c43.entry.js.map +1 -0
  412. package/dist/nano-components/{p-50514e5e.entry.js → p-c4156fea.entry.js} +2 -2
  413. package/dist/nano-components/{p-50514e5e.entry.js.map → p-c4156fea.entry.js.map} +0 -0
  414. package/dist/nano-components/p-d01bd3c3.system.js +5 -0
  415. package/dist/nano-components/p-d01bd3c3.system.js.map +1 -0
  416. package/dist/nano-components/{p-1238f0fc.system.entry.js → p-d0385948.system.entry.js} +2 -2
  417. package/dist/nano-components/{p-1238f0fc.system.entry.js.map → p-d0385948.system.entry.js.map} +0 -0
  418. package/dist/nano-components/{p-b59d2bd5.entry.js → p-d122b1ff.entry.js} +2 -2
  419. package/dist/nano-components/{p-b59d2bd5.entry.js.map → p-d122b1ff.entry.js.map} +0 -0
  420. package/dist/nano-components/{p-394c3c19.entry.js → p-defd4552.entry.js} +2 -2
  421. package/dist/nano-components/{p-394c3c19.entry.js.map → p-defd4552.entry.js.map} +0 -0
  422. package/dist/nano-components/p-e7140887.system.js +5 -0
  423. package/dist/nano-components/p-e7140887.system.js.map +1 -0
  424. package/dist/nano-components/{p-69439aa1.system.entry.js → p-e817ab4a.system.entry.js} +2 -2
  425. package/dist/nano-components/{p-69439aa1.system.entry.js.map → p-e817ab4a.system.entry.js.map} +0 -0
  426. package/dist/nano-components/{p-22884654.system.entry.js → p-eacf5b5b.system.entry.js} +2 -2
  427. package/dist/nano-components/{p-22884654.system.entry.js.map → p-eacf5b5b.system.entry.js.map} +0 -0
  428. package/dist/nano-components/p-ed336501.entry.js +5 -0
  429. package/dist/nano-components/p-ed336501.entry.js.map +1 -0
  430. package/dist/nano-components/{p-5ae80fd7.js → p-ef7f1e9c.js} +2 -2
  431. package/dist/nano-components/{p-5ae80fd7.js.map → p-ef7f1e9c.js.map} +0 -0
  432. package/dist/nano-components/{p-59b3d24b.system.js → p-f48be9f5.system.js} +2 -2
  433. package/dist/nano-components/{p-59b3d24b.system.js.map → p-f48be9f5.system.js.map} +0 -0
  434. package/dist/nano-components/p-f710c763.system.entry.js +5 -0
  435. package/dist/nano-components/p-f710c763.system.entry.js.map +1 -0
  436. package/dist/nano-components/p-f780d2f6.system.entry.js +5 -0
  437. package/dist/nano-components/p-f780d2f6.system.entry.js.map +1 -0
  438. package/dist/nano-components/{p-65c10b3f.entry.js → p-fbe3c89e.entry.js} +2 -2
  439. package/dist/nano-components/{p-65c10b3f.entry.js.map → p-fbe3c89e.entry.js.map} +0 -0
  440. package/dist/nano-components/{p-ba13bb56.entry.js → p-ffc2063a.entry.js} +2 -2
  441. package/dist/nano-components/{p-ba13bb56.entry.js.map → p-ffc2063a.entry.js.map} +0 -0
  442. package/dist/nano-components/{p-4870e76d.system.entry.js → p-fff27907.system.entry.js} +2 -2
  443. package/dist/nano-components/{p-4870e76d.system.entry.js.map → p-fff27907.system.entry.js.map} +0 -0
  444. package/dist/types/components/checkbox/checkbox-group.d.ts +12 -1
  445. package/dist/types/components/checkbox/checkbox.d.ts +11 -3
  446. package/dist/types/components/date-input/date-input.d.ts +4 -0
  447. package/dist/types/components/dialog/dialog.d.ts +4 -1
  448. package/dist/types/components/field-validator/field-validator.d.ts +125 -0
  449. package/dist/types/components/file-upload/file-upload.d.ts +8 -0
  450. package/dist/types/components/form-control/form-control.d.ts +2 -0
  451. package/dist/types/components/icon/icon.d.ts +1 -1
  452. package/dist/types/components/input/input.d.ts +9 -1
  453. package/dist/types/components/resize-observe/resize-observe.d.ts +0 -1
  454. package/dist/types/components/select/select.d.ts +12 -2
  455. package/dist/types/components/{sticky → sticker}/sticker.d.ts +0 -0
  456. package/dist/types/components.d.ts +187 -4
  457. package/dist/types/utils/store/get-set.d.ts +1 -1
  458. package/docs-json.json +454 -16
  459. package/docs-vscode.json +78 -2
  460. package/package.json +3 -2
  461. package/dist/cjs/component-store-722032a5.js.map +0 -1
  462. package/dist/cjs/form-control-8f530f7d.js.map +0 -1
  463. package/dist/collection/components/sticky/sticker.js.map +0 -1
  464. package/dist/esm/component-store-b6fbfa35.js.map +0 -1
  465. package/dist/esm/form-control-c52b6256.js.map +0 -1
  466. package/dist/esm-es5/component-store-b6fbfa35.js +0 -5
  467. package/dist/esm-es5/component-store-b6fbfa35.js.map +0 -1
  468. package/dist/esm-es5/form-control-c52b6256.js +0 -5
  469. package/dist/esm-es5/form-control-c52b6256.js.map +0 -1
  470. package/dist/nano-components/p-0618fac6.system.entry.js +0 -5
  471. package/dist/nano-components/p-0618fac6.system.entry.js.map +0 -1
  472. package/dist/nano-components/p-096682d9.system.js +0 -5
  473. package/dist/nano-components/p-096682d9.system.js.map +0 -1
  474. package/dist/nano-components/p-09e38c5f.system.entry.js +0 -5
  475. package/dist/nano-components/p-09e38c5f.system.entry.js.map +0 -1
  476. package/dist/nano-components/p-10a6216d.system.entry.js +0 -5
  477. package/dist/nano-components/p-10a6216d.system.entry.js.map +0 -1
  478. package/dist/nano-components/p-173bae15.system.entry.js +0 -5
  479. package/dist/nano-components/p-173bae15.system.entry.js.map +0 -1
  480. package/dist/nano-components/p-18176c26.system.entry.js +0 -5
  481. package/dist/nano-components/p-18176c26.system.entry.js.map +0 -1
  482. package/dist/nano-components/p-3aa1d07d.entry.js.map +0 -1
  483. package/dist/nano-components/p-4265cf95.system.entry.js +0 -5
  484. package/dist/nano-components/p-4265cf95.system.entry.js.map +0 -1
  485. package/dist/nano-components/p-457d4893.entry.js +0 -5
  486. package/dist/nano-components/p-457d4893.entry.js.map +0 -1
  487. package/dist/nano-components/p-4ee978ff.entry.js +0 -5
  488. package/dist/nano-components/p-4ee978ff.entry.js.map +0 -1
  489. package/dist/nano-components/p-531d5275.system.entry.js.map +0 -1
  490. package/dist/nano-components/p-5653961d.system.entry.js.map +0 -1
  491. package/dist/nano-components/p-5a0095f9.js +0 -5
  492. package/dist/nano-components/p-5a0095f9.js.map +0 -1
  493. package/dist/nano-components/p-5a315696.entry.js +0 -5
  494. package/dist/nano-components/p-5a315696.entry.js.map +0 -1
  495. package/dist/nano-components/p-5e7c7d3d.entry.js +0 -5
  496. package/dist/nano-components/p-5e7c7d3d.entry.js.map +0 -1
  497. package/dist/nano-components/p-730f60ea.entry.js.map +0 -1
  498. package/dist/nano-components/p-802e1416.system.entry.js +0 -5
  499. package/dist/nano-components/p-802e1416.system.entry.js.map +0 -1
  500. package/dist/nano-components/p-829d7f05.system.entry.js +0 -5
  501. package/dist/nano-components/p-829d7f05.system.entry.js.map +0 -1
  502. package/dist/nano-components/p-9d35768b.entry.js +0 -5
  503. package/dist/nano-components/p-9d35768b.entry.js.map +0 -1
  504. package/dist/nano-components/p-aaef7cc7.js +0 -5
  505. package/dist/nano-components/p-aaef7cc7.js.map +0 -1
  506. package/dist/nano-components/p-af7abf5e.entry.js +0 -5
  507. package/dist/nano-components/p-af7abf5e.entry.js.map +0 -1
  508. package/dist/nano-components/p-df0897ec.system.js +0 -5
  509. package/dist/nano-components/p-df0897ec.system.js.map +0 -1
  510. package/dist/nano-components/p-e1f46998.system.js +0 -5
  511. package/dist/nano-components/p-e1f46998.system.js.map +0 -1
  512. package/dist/nano-components/p-e7c69d4f.entry.js +0 -5
  513. package/dist/nano-components/p-e7c69d4f.entry.js.map +0 -1
  514. package/dist/nano-components/p-f79c3ea0.entry.js +0 -5
  515. package/dist/nano-components/p-f79c3ea0.entry.js.map +0 -1
@@ -0,0 +1,125 @@
1
+ import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
2
+ import { ObservableMap } from '@stencil/store';
3
+ declare type NanoFormEles = HTMLNanoInputElement | HTMLNanoCheckboxElement | HTMLNanoSelectElement | HTMLNanoDateInputElement | HTMLNanoFileUploadElement;
4
+ interface ValueStore {
5
+ [key: string]: any;
6
+ }
7
+ interface ValidationState {
8
+ fields: NanoFormEles[];
9
+ valid: boolean;
10
+ validityMessage: string;
11
+ dirty: boolean;
12
+ name: string | number;
13
+ value: any;
14
+ }
15
+ /**
16
+ * A toolbox for `nano-...` form fields and form validation.
17
+ *
18
+ * - Easy to add validation accross field dependencies - e.g. "When Field1 contains '123' Field2 must contain '456'"
19
+ * - Easy access to whole form and individual field validity states
20
+ * - Easy access to form data payload
21
+ * - Scroll to invalid field on submit
22
+ */
23
+ export declare class FieldValidator implements ComponentInterface {
24
+ host: HTMLNanoFieldValidatorElement;
25
+ store: ObservableMap<ValueStore>;
26
+ userForm: HTMLFormElement;
27
+ submitted: boolean;
28
+ userFormChange(): void;
29
+ private get activeForm();
30
+ private set activeForm(value);
31
+ private _activeForm;
32
+ private mo;
33
+ private fields;
34
+ private internalValidate;
35
+ /** When should the fields perform validation. Will override / sync all nested `nano-...` controls */
36
+ validateOn?: 'dirty' | 'submit' | 'submitThenDirty';
37
+ /** Sync up validateOn with all fields */
38
+ validateOnChange(): void;
39
+ /** Tries to scroll to the first invalid field on submit */
40
+ scrollToInvalid: boolean;
41
+ /** Returns true if any nested fields have been changed @readonly */
42
+ get dirty(): boolean;
43
+ _dirty: boolean;
44
+ /** Returns true if all the nested fields are currently valid @readonly */
45
+ get valid(): boolean;
46
+ _valid: boolean;
47
+ /** The current form payload as a reactive store. @readonly */
48
+ get payload(): ValueStore;
49
+ /** Returns true if validation errors will be displayed to the user */
50
+ get showValidation(): boolean;
51
+ /** Get the current validation state of all form fields. @readonly
52
+ * ```
53
+ {
54
+ fields: NanoFormEles[];
55
+ valid: boolean;
56
+ validityMessage: string;
57
+ dirty: boolean;
58
+ name: string | number;
59
+ value: any;
60
+ }[]
61
+ ```
62
+ */
63
+ get validationState(): ValidationState[];
64
+ /** A validation callback method.
65
+ * @param field - The field name currently being evaluated
66
+ * @param value - The value of the field currently being evaluated
67
+ * @param fields - an array of all currently observered form fields and values
68
+ * @returns field names mapped to an object of status message and validity e.g.
69
+ * ```js
70
+ * {field1: {msg: `This is invalid!`}, field2: {msg: `This is valid!`, valid: true}}
71
+ * ```
72
+ */
73
+ validation: (field: string, value: string, fields: ValueStore) => {
74
+ [key: string]: {
75
+ msg: string;
76
+ valid?: boolean;
77
+ };
78
+ };
79
+ /** Fired whenever the payload changes */
80
+ nanoPayloadChange: EventEmitter<ValueStore>;
81
+ /**
82
+ * Fired on valid form submission.
83
+ * Note: if you wish to prevent a form from submitting, instead
84
+ * of using / preventing the native `submit` event, use this event
85
+ * ```js
86
+ * ele.addEventListener('nanoSubmit', (e) => {
87
+ * e.preventDefault()
88
+ * })
89
+ * ```
90
+ */
91
+ nanoSubmit: EventEmitter;
92
+ /** Fire on invalid form submission attempt */
93
+ nanoInvalid: EventEmitter;
94
+ private attachSlotObserver;
95
+ /** Checks for new `nano-...` fields and adds them to our watch array and value store */
96
+ private setupFields;
97
+ /** Loops through all `nano-...` fields and extracts their values into our store */
98
+ private setFieldValue;
99
+ /** Checks for user defined validations */
100
+ private validate;
101
+ /**
102
+ * Utility to smooth out setting error messages
103
+ * (it's a different method on `nano-checkbox` 'cos they don't show errors themselves)
104
+ * @param field
105
+ * @param msg
106
+ */
107
+ private setFieldError;
108
+ /** Loops through all store entries and checks field validity */
109
+ private validateAllFields;
110
+ private scrollToFirstInvalid;
111
+ private submitForm;
112
+ /** Fired whenever store values change and potentially checks validity */
113
+ private handleStoreChange;
114
+ /** Handles field value changes and passes to store */
115
+ private handleFieldChange;
116
+ /** Handles default field validation events */
117
+ private handleFormInvalid;
118
+ /** stops default form submission, checks if valid, then submits manually */
119
+ private handleSubmit;
120
+ connectedCallback(): void;
121
+ componentDidLoad(): void;
122
+ disconnectedCallback(): void;
123
+ render(): any;
124
+ }
125
+ export {};
@@ -58,11 +58,17 @@ export declare class FileUpload implements ComponentInterface {
58
58
  showInlineError: boolean;
59
59
  /** When should the field perform validation */
60
60
  validateOn?: 'dirty' | 'submit' | 'submitThenDirty';
61
+ /** The form element to associate with this input (its form owner). Must be the id of a form. */
62
+ form?: string | null;
61
63
  protected shouldValidate(): void;
62
64
  _invalid: boolean;
63
65
  /** This will be true when the control is in an invalid state.
64
66
  * Validity is determined by the `required` prop. Or if custom validity message is set. @readonly */
65
67
  get invalid(): boolean;
68
+ /**
69
+ * Current validation message - if any. @readonly
70
+ */
71
+ get validityMessage(): string;
66
72
  /** A File array that lists every selected file.
67
73
  * Has an added `objectURL` property returning a `DOMString`
68
74
  * containing an object URL that can be used to reference the contents of the specified source
@@ -96,6 +102,7 @@ export declare class FileUpload implements ComponentInterface {
96
102
  showError(message: string): Promise<void>;
97
103
  globalClickHandler(e: Event): void;
98
104
  globalKeydownHandler(e: KeyboardEvent): void;
105
+ onReset(e: any): void;
99
106
  private onClearClick;
100
107
  private onBlur;
101
108
  private onFocus;
@@ -103,6 +110,7 @@ export declare class FileUpload implements ComponentInterface {
103
110
  private checkFileSize;
104
111
  private checkFileType;
105
112
  private validate;
113
+ private showInlineValidation;
106
114
  private slotChangeObserver;
107
115
  private processSlottedContent;
108
116
  private addNewFiles;
@@ -6,6 +6,7 @@ interface FormControlWrapProps {
6
6
  labelId: string;
7
7
  label: string;
8
8
  moreId: string;
9
+ helperEndId: string;
9
10
  type?: TextFieldTypes;
10
11
  showInlineError: boolean;
11
12
  hasHelperSlot: boolean;
@@ -18,6 +19,7 @@ interface FormControlWrapProps {
18
19
  showCharCount?: boolean;
19
20
  maxlength?: number;
20
21
  charCount?: number;
22
+ hasHelperEndSlot?: boolean;
21
23
  }
22
24
  interface FormControlProps {
23
25
  clearControl: boolean;
@@ -16,7 +16,7 @@ export declare class Icon {
16
16
  /**
17
17
  * Specifies the label to use for accessibility. Defaults to the icon name.
18
18
  */
19
- ariaLabel?: string;
19
+ ariaLabel: string;
20
20
  /**
21
21
  * Specifies whether the icon should horizontally flip when `dir` is `"rtl"`.
22
22
  */
@@ -4,12 +4,14 @@ import { Color, ControlValidity, ControlValidityEventDetail, InputChangeEventDet
4
4
  * The input component is a wrapper to the HTML input element with custom styling and additional functionality. It accepts most of the same properties as the HTML [input](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input), but works great on desktop devices and integrates with the keyboard on mobile devices.
5
5
 
6
6
  It is meant for text type inputs only, such as "text", "password", "email", "number", "search", "tel", and "url". It supports all standard text input events including keyup, keydown, keypress, and more.
7
+ The default styling reference comes from the [ONT styleguide](https://nanoporetech.zeroheight.com/styleguide/s/31282/p/230c74-text-input--textarea/b/942ee4)
7
8
  * @slot start - suitable for inline action buttons or icons that may add extra contextual information
8
9
  * @slot end - suitable for inline action buttons or icons that may add extra contextual information
9
10
  * @slot value-start - similar to 'start', however clicking elements using this slot will activate the input control. This would be suitable to show a secodary 'value' for context or to show a dropdown arrow if using a datalist
10
11
  * @slot value-end - similar to 'end', however clicking elements using this slot will activate the input control. This would be suitable to show a secodary 'value' for context or to show a dropdown arrow if using a datalist
11
12
  * @slot label - if you do not set a label attribute, you can use this slot for more complex markup
12
13
  * @slot helper - helper text to accompany the form field underneath.
14
+ * @slot helper-end - helper text to accompany the form field on the side.
13
15
  * @slot - can be used with a `nano-datalist`. See the `nano-datalist` docs for more information
14
16
  */
15
17
  export declare class Input implements ComponentInterface {
@@ -23,9 +25,11 @@ export declare class Input implements ComponentInterface {
23
25
  private _nativeInputWrap;
24
26
  private get nativeInputWrap();
25
27
  private set nativeInputWrap(value);
28
+ constructor();
26
29
  hasFocus: boolean;
27
30
  hasLabelSlot: boolean;
28
31
  hasHelperSlot: boolean;
32
+ hasHelperEndSlot: boolean;
29
33
  errorMessage: string;
30
34
  datalist: HTMLNanoDatalistElement;
31
35
  setDataListOpts(): void;
@@ -36,6 +40,10 @@ export declare class Input implements ComponentInterface {
36
40
  */
37
41
  get invalid(): boolean;
38
42
  _invalid: boolean;
43
+ /**
44
+ * Current validation message - if any. @readonly
45
+ */
46
+ get validityMessage(): string;
39
47
  /**
40
48
  * The color to use from the application's color palette.
41
49
  */
@@ -160,7 +168,7 @@ export declare class Input implements ComponentInterface {
160
168
  */
161
169
  type: TextFieldTypes;
162
170
  /**
163
- * The form element to associate the select with (its form owner). Must be the id of a form.
171
+ * The form element to associate the input with (its form owner). Must be the id of a form.
164
172
  */
165
173
  form?: string | null;
166
174
  /**
@@ -8,7 +8,6 @@ import type { ResizeStateChangeEventDetail } from '../../interface';
8
8
  export declare class ResizeObserve implements ComponentInterface {
9
9
  private ro;
10
10
  private appliedStates;
11
- private el;
12
11
  host: HTMLNanoResizeObserveElement;
13
12
  currentWidth: number;
14
13
  currentHeight: number;
@@ -14,30 +14,35 @@ import { OptionInterface } from '../option/option-interface';
14
14
  * @slot value-end - similar to 'end', however clicking elements using this slot will activate the input control. This would be suitable to show a secodary 'value' for context or to show a dropdown arrow if using a datalist
15
15
  * @slot label - if you do not set a label attribute, you can use this slot for more complex markup
16
16
  * @slot helper - helper text to accompany the form field underneath.
17
+ * @slot helper-end - helper text to accompany the form field on the side.
17
18
  * @slot down-arrow - use this to replace the default down arrow
18
19
  * @slot - default slot; nest `nano-option` elements
19
20
  */
20
21
  export declare class Select implements ComponentInterface {
21
22
  private nativeSelect?;
22
- private inputCtrl?;
23
23
  private valueItems;
24
24
  private dragVal;
25
25
  private mo?;
26
26
  private selectId;
27
27
  private rtl;
28
28
  private onInit;
29
+ private get inputCtrl();
30
+ private set inputCtrl(value);
31
+ private _inputCtrl?;
29
32
  private _selectWrap;
30
33
  private get selectWrap();
31
34
  private set selectWrap(value);
32
35
  private _datalist;
33
36
  private get datalist();
34
37
  private set datalist(value);
38
+ constructor();
35
39
  currInsertIndex: number;
36
40
  showErrorMsg: boolean;
37
41
  errorMessage: string;
38
42
  hasFocus: boolean;
39
43
  hasLabelSlot: boolean;
40
44
  hasHelperSlot: boolean;
45
+ hasHelperEndSlot: boolean;
41
46
  inputSearchVal: string;
42
47
  el: HTMLNanoSelectElement;
43
48
  /**
@@ -45,7 +50,11 @@ export declare class Select implements ComponentInterface {
45
50
  * Validity is determined by the `required` prop. Or if custom validity message is set.
46
51
  */
47
52
  get invalid(): boolean;
48
- private _invalid;
53
+ _invalid: boolean;
54
+ /**
55
+ * Current validation message - if any. @readonly
56
+ */
57
+ get validityMessage(): string;
49
58
  /**
50
59
  * The color to use from your application's color palette.
51
60
  * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
@@ -218,6 +227,7 @@ export declare class Select implements ComponentInterface {
218
227
  private slotChangeObserver;
219
228
  private processSlottedContent;
220
229
  private getLabel;
230
+ onReset(e: any): void;
221
231
  handleBlur(e: KeyboardEvent | MouseEvent): void;
222
232
  private setOptions;
223
233
  private handleDocumentKeyDown;