@nanoporetech-digital/components 2.7.0 → 2.10.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 (543) hide show
  1. package/CHANGELOG.md +58 -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 +4 -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-dropdown.cjs.entry.js +1 -1
  25. package/dist/cjs/nano-field-validator.cjs.entry.js +529 -0
  26. package/dist/cjs/nano-field-validator.cjs.entry.js.map +1 -0
  27. package/dist/cjs/nano-file-upload.cjs.entry.js +59 -36
  28. package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
  29. package/dist/cjs/nano-global-nav.cjs.entry.js +46 -41
  30. package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
  31. package/dist/cjs/nano-icon.cjs.entry.js.map +1 -1
  32. package/dist/cjs/nano-input.cjs.entry.js +36 -20
  33. package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
  34. package/dist/cjs/nano-nav-item_2.cjs.entry.js +53 -23
  35. package/dist/cjs/nano-nav-item_2.cjs.entry.js.map +1 -1
  36. package/dist/cjs/nano-resize-observe_2.cjs.entry.js +6 -4
  37. package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
  38. package/dist/cjs/nano-sticker.cjs.entry.js +2 -2
  39. package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
  40. package/dist/cjs/nano-tab-group.cjs.entry.js +1 -1
  41. package/dist/cjs/nano-tooltip.cjs.entry.js +1 -1
  42. package/dist/cjs/{popover-8c86d338.js → popover-5f152a19.js} +3 -8
  43. package/dist/cjs/{popover-8c86d338.js.map → popover-5f152a19.js.map} +1 -1
  44. package/dist/collection/collection-manifest.json +2 -1
  45. package/dist/collection/components/accordion/accordion.js +1 -1
  46. package/dist/collection/components/alert/alert.js +1 -1
  47. package/dist/collection/components/algolia/algolia-filter.js +2 -2
  48. package/dist/collection/components/algolia/algolia-input.js +5 -5
  49. package/dist/collection/components/algolia/algolia-results.js +1 -1
  50. package/dist/collection/components/algolia/algolia.js +6 -6
  51. package/dist/collection/components/checkbox/checkbox-group.css +9 -6
  52. package/dist/collection/components/checkbox/checkbox-group.js +119 -25
  53. package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
  54. package/dist/collection/components/checkbox/checkbox.css +1 -1
  55. package/dist/collection/components/checkbox/checkbox.js +83 -22
  56. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  57. package/dist/collection/components/datalist/datalist.js +4 -2
  58. package/dist/collection/components/datalist/datalist.js.map +1 -1
  59. package/dist/collection/components/date-input/date-input.js +44 -12
  60. package/dist/collection/components/date-input/date-input.js.map +1 -1
  61. package/dist/collection/components/date-picker/date-picker.js +5 -5
  62. package/dist/collection/components/details/details.js +1 -1
  63. package/dist/collection/components/dialog/dialog.js +34 -1
  64. package/dist/collection/components/dialog/dialog.js.map +1 -1
  65. package/dist/collection/components/dropdown/dropdown.js +1 -1
  66. package/dist/collection/components/field-validator/field-validator.js +577 -0
  67. package/dist/collection/components/field-validator/field-validator.js.map +1 -0
  68. package/dist/collection/components/file-upload/file-upload.css +17 -5
  69. package/dist/collection/components/file-upload/file-upload.js +111 -44
  70. package/dist/collection/components/file-upload/file-upload.js.map +1 -1
  71. package/dist/collection/components/form-control/form-control.js +25 -18
  72. package/dist/collection/components/form-control/form-control.js.map +1 -1
  73. package/dist/collection/components/global-nav/global-nav.js +73 -45
  74. package/dist/collection/components/global-nav/global-nav.js.map +1 -1
  75. package/dist/collection/components/grid/grid-item.js +1 -1
  76. package/dist/collection/components/icon/icon.js +2 -2
  77. package/dist/collection/components/icon/icon.js.map +1 -1
  78. package/dist/collection/components/input/input.css +56 -5
  79. package/dist/collection/components/input/input.js +65 -29
  80. package/dist/collection/components/input/input.js.map +1 -1
  81. package/dist/collection/components/menu/menu.js +1 -2
  82. package/dist/collection/components/menu/menu.js.map +1 -1
  83. package/dist/collection/components/nav-item/nav-item.js +4 -4
  84. package/dist/collection/components/range/range.js +4 -4
  85. package/dist/collection/components/resize-observe/resize-observe.js +7 -6
  86. package/dist/collection/components/resize-observe/resize-observe.js.map +1 -1
  87. package/dist/collection/components/select/select.css +61 -7
  88. package/dist/collection/components/select/select.js +88 -32
  89. package/dist/collection/components/select/select.js.map +1 -1
  90. package/dist/collection/components/slides/slides.js +7 -7
  91. package/dist/collection/components/{sticky → sticker}/sticker.css +0 -0
  92. package/dist/collection/components/{sticky → sticker}/sticker.js +2 -2
  93. package/dist/collection/components/sticker/sticker.js.map +1 -0
  94. package/dist/collection/components/tabs/tab-group.js +2 -2
  95. package/dist/collection/utils/popover.js +2 -7
  96. package/dist/collection/utils/popover.js.map +1 -1
  97. package/dist/collection/utils/store/component-store.js +4 -13
  98. package/dist/collection/utils/store/component-store.js.map +1 -1
  99. package/dist/collection/utils/store/get-set.js +15 -1
  100. package/dist/collection/utils/store/get-set.js.map +1 -1
  101. package/dist/components/algoliasearch.umd.js +2 -2
  102. package/dist/components/algoliasearch.umd.js.map +1 -1
  103. package/dist/components/component-store.js +36 -24
  104. package/dist/components/component-store.js.map +1 -1
  105. package/dist/components/datalist.js +3 -1
  106. package/dist/components/datalist.js.map +1 -1
  107. package/dist/components/form-control.js +25 -18
  108. package/dist/components/form-control.js.map +1 -1
  109. package/dist/components/icon.js.map +1 -1
  110. package/dist/components/input.js +39 -21
  111. package/dist/components/input.js.map +1 -1
  112. package/dist/components/menu.js +1 -2
  113. package/dist/components/menu.js.map +1 -1
  114. package/dist/components/nano-checkbox-group.js +62 -21
  115. package/dist/components/nano-checkbox-group.js.map +1 -1
  116. package/dist/components/nano-checkbox.js +31 -17
  117. package/dist/components/nano-checkbox.js.map +1 -1
  118. package/dist/components/nano-date-input.js +18 -4
  119. package/dist/components/nano-date-input.js.map +1 -1
  120. package/dist/components/nano-dialog.js +13 -1
  121. package/dist/components/nano-dialog.js.map +1 -1
  122. package/dist/components/nano-field-validator.d.ts +11 -0
  123. package/dist/components/nano-field-validator.js +557 -0
  124. package/dist/components/nano-field-validator.js.map +1 -0
  125. package/dist/components/nano-file-upload.js +62 -37
  126. package/dist/components/nano-file-upload.js.map +1 -1
  127. package/dist/components/nano-global-nav.js +45 -39
  128. package/dist/components/nano-global-nav.js.map +1 -1
  129. package/dist/components/popover.js +2 -7
  130. package/dist/components/popover.js.map +1 -1
  131. package/dist/components/resize-observe.js +6 -4
  132. package/dist/components/resize-observe.js.map +1 -1
  133. package/dist/components/select.js +57 -24
  134. package/dist/components/select.js.map +1 -1
  135. package/dist/components/sticker.js +2 -2
  136. package/dist/components/sticker.js.map +1 -1
  137. package/dist/custom-elements/index.d.ts +6 -0
  138. package/dist/custom-elements/index.js +2606 -705
  139. package/dist/custom-elements/index.js.map +1 -1
  140. package/dist/esm/{algolia-data-dd72d1b7.js → algolia-data-80c1169a.js} +2 -2
  141. package/dist/esm/{algolia-data-dd72d1b7.js.map → algolia-data-80c1169a.js.map} +1 -1
  142. package/dist/esm/{algoliasearch.umd-6143495f.js → algoliasearch.umd-86359963.js} +3 -3
  143. package/dist/esm/{algoliasearch.umd-6143495f.js.map → algoliasearch.umd-86359963.js.map} +1 -1
  144. package/dist/esm/{component-store-b6fbfa35.js → component-store-d238fee4.js} +38 -26
  145. package/dist/esm/component-store-d238fee4.js.map +1 -0
  146. package/dist/esm/{form-control-c52b6256.js → form-control-ad05507c.js} +27 -20
  147. package/dist/esm/form-control-ad05507c.js.map +1 -0
  148. package/dist/esm/{index-5f8d16e7.js → index-c42becad.js} +7 -2
  149. package/dist/esm/{index-5f8d16e7.js.map → index-c42becad.js.map} +1 -1
  150. package/dist/esm/loader.js +2 -2
  151. package/dist/esm/nano-accordion.entry.js +1 -1
  152. package/dist/esm/nano-alert.entry.js +1 -1
  153. package/dist/esm/nano-algolia-filter.entry.js +3 -3
  154. package/dist/esm/nano-algolia-input.entry.js +4 -4
  155. package/dist/esm/nano-algolia-pagination.entry.js +2 -2
  156. package/dist/esm/nano-algolia-results.entry.js +2 -2
  157. package/dist/esm/nano-algolia.entry.js +4 -4
  158. package/dist/esm/nano-aspect-ratio.entry.js +1 -1
  159. package/dist/esm/nano-checkbox-group.entry.js +59 -21
  160. package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
  161. package/dist/esm/nano-checkbox.entry.js +28 -16
  162. package/dist/esm/nano-checkbox.entry.js.map +1 -1
  163. package/dist/esm/nano-components.js +2 -2
  164. package/dist/esm/nano-datalist_3.entry.js +5 -4
  165. package/dist/esm/nano-datalist_3.entry.js.map +1 -1
  166. package/dist/esm/nano-date-input.entry.js +18 -5
  167. package/dist/esm/nano-date-input.entry.js.map +1 -1
  168. package/dist/esm/nano-date-picker.entry.js +1 -1
  169. package/dist/esm/nano-details.entry.js +1 -1
  170. package/dist/esm/nano-dialog.entry.js +14 -3
  171. package/dist/esm/nano-dialog.entry.js.map +1 -1
  172. package/dist/esm/nano-drawer.entry.js +1 -1
  173. package/dist/esm/nano-dropdown.entry.js +2 -2
  174. package/dist/esm/nano-field-validator.entry.js +525 -0
  175. package/dist/esm/nano-field-validator.entry.js.map +1 -0
  176. package/dist/esm/nano-file-upload.entry.js +60 -37
  177. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  178. package/dist/esm/nano-global-nav.entry.js +47 -42
  179. package/dist/esm/nano-global-nav.entry.js.map +1 -1
  180. package/dist/esm/nano-global-search-results.entry.js +1 -1
  181. package/dist/esm/nano-grid_3.entry.js +1 -1
  182. package/dist/esm/nano-hero.entry.js +1 -1
  183. package/dist/esm/nano-icon-button.entry.js +1 -1
  184. package/dist/esm/nano-icon.entry.js +1 -1
  185. package/dist/esm/nano-icon.entry.js.map +1 -1
  186. package/dist/esm/nano-input.entry.js +38 -22
  187. package/dist/esm/nano-input.entry.js.map +1 -1
  188. package/dist/esm/nano-menu-drawer.entry.js +1 -1
  189. package/dist/esm/nano-nav-item_2.entry.js +55 -25
  190. package/dist/esm/nano-nav-item_2.entry.js.map +1 -1
  191. package/dist/esm/nano-range.entry.js +1 -1
  192. package/dist/esm/nano-rating.entry.js +1 -1
  193. package/dist/esm/nano-resize-observe_2.entry.js +7 -5
  194. package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
  195. package/dist/esm/nano-slide.entry.js +1 -1
  196. package/dist/esm/nano-slides.entry.js +1 -1
  197. package/dist/esm/nano-spinner.entry.js +1 -1
  198. package/dist/esm/nano-split-pane.entry.js +1 -1
  199. package/dist/esm/nano-sticker.entry.js +3 -3
  200. package/dist/esm/nano-sticker.entry.js.map +1 -1
  201. package/dist/esm/nano-tab-content.entry.js +1 -1
  202. package/dist/esm/nano-tab-group.entry.js +2 -2
  203. package/dist/esm/nano-tab.entry.js +1 -1
  204. package/dist/esm/nano-tooltip.entry.js +2 -2
  205. package/dist/esm/{popover-7639005b.js → popover-a03563f3.js} +3 -8
  206. package/dist/esm/{popover-7639005b.js.map → popover-a03563f3.js.map} +1 -1
  207. package/dist/esm-es5/{algolia-data-dd72d1b7.js → algolia-data-80c1169a.js} +2 -2
  208. package/dist/esm-es5/{algolia-data-dd72d1b7.js.map → algolia-data-80c1169a.js.map} +0 -0
  209. package/dist/esm-es5/{algoliasearch.umd-6143495f.js → algoliasearch.umd-86359963.js} +3 -3
  210. package/dist/esm-es5/{algoliasearch.umd-6143495f.js.map → algoliasearch.umd-86359963.js.map} +1 -1
  211. package/dist/esm-es5/component-store-d238fee4.js +5 -0
  212. package/dist/esm-es5/component-store-d238fee4.js.map +1 -0
  213. package/dist/esm-es5/form-control-ad05507c.js +5 -0
  214. package/dist/esm-es5/form-control-ad05507c.js.map +1 -0
  215. package/dist/esm-es5/{index-5f8d16e7.js → index-c42becad.js} +2 -2
  216. package/dist/esm-es5/{index-5f8d16e7.js.map → index-c42becad.js.map} +0 -0
  217. package/dist/esm-es5/loader.js +1 -1
  218. package/dist/esm-es5/loader.js.map +1 -1
  219. package/dist/esm-es5/nano-accordion.entry.js +1 -1
  220. package/dist/esm-es5/nano-alert.entry.js +1 -1
  221. package/dist/esm-es5/nano-algolia-filter.entry.js +1 -1
  222. package/dist/esm-es5/nano-algolia-input.entry.js +1 -1
  223. package/dist/esm-es5/nano-algolia-pagination.entry.js +1 -1
  224. package/dist/esm-es5/nano-algolia-results.entry.js +1 -1
  225. package/dist/esm-es5/nano-algolia.entry.js +1 -1
  226. package/dist/esm-es5/nano-aspect-ratio.entry.js +1 -1
  227. package/dist/esm-es5/nano-checkbox-group.entry.js +2 -2
  228. package/dist/esm-es5/nano-checkbox-group.entry.js.map +1 -1
  229. package/dist/esm-es5/nano-checkbox.entry.js +1 -1
  230. package/dist/esm-es5/nano-checkbox.entry.js.map +1 -1
  231. package/dist/esm-es5/nano-components.js +1 -1
  232. package/dist/esm-es5/nano-components.js.map +1 -1
  233. package/dist/esm-es5/nano-datalist_3.entry.js +1 -1
  234. package/dist/esm-es5/nano-datalist_3.entry.js.map +1 -1
  235. package/dist/esm-es5/nano-date-input.entry.js +1 -1
  236. package/dist/esm-es5/nano-date-input.entry.js.map +1 -1
  237. package/dist/esm-es5/nano-date-picker.entry.js +1 -1
  238. package/dist/esm-es5/nano-details.entry.js +1 -1
  239. package/dist/esm-es5/nano-dialog.entry.js +1 -1
  240. package/dist/esm-es5/nano-dialog.entry.js.map +1 -1
  241. package/dist/esm-es5/nano-drawer.entry.js +1 -1
  242. package/dist/esm-es5/nano-dropdown.entry.js +1 -1
  243. package/dist/esm-es5/nano-field-validator.entry.js +5 -0
  244. package/dist/esm-es5/nano-field-validator.entry.js.map +1 -0
  245. package/dist/esm-es5/nano-file-upload.entry.js +2 -2
  246. package/dist/esm-es5/nano-file-upload.entry.js.map +1 -1
  247. package/dist/esm-es5/nano-global-nav.entry.js +1 -1
  248. package/dist/esm-es5/nano-global-nav.entry.js.map +1 -1
  249. package/dist/esm-es5/nano-global-search-results.entry.js +1 -1
  250. package/dist/esm-es5/nano-grid_3.entry.js +1 -1
  251. package/dist/esm-es5/nano-hero.entry.js +1 -1
  252. package/dist/esm-es5/nano-icon-button.entry.js +1 -1
  253. package/dist/esm-es5/nano-icon.entry.js +1 -1
  254. package/dist/esm-es5/nano-icon.entry.js.map +1 -1
  255. package/dist/esm-es5/nano-input.entry.js +1 -1
  256. package/dist/esm-es5/nano-input.entry.js.map +1 -1
  257. package/dist/esm-es5/nano-menu-drawer.entry.js +1 -1
  258. package/dist/esm-es5/nano-nav-item_2.entry.js +1 -1
  259. package/dist/esm-es5/nano-nav-item_2.entry.js.map +1 -1
  260. package/dist/esm-es5/nano-range.entry.js +1 -1
  261. package/dist/esm-es5/nano-rating.entry.js +1 -1
  262. package/dist/esm-es5/nano-resize-observe_2.entry.js +2 -2
  263. package/dist/esm-es5/nano-resize-observe_2.entry.js.map +1 -1
  264. package/dist/esm-es5/nano-slide.entry.js +1 -1
  265. package/dist/esm-es5/nano-slides.entry.js +1 -1
  266. package/dist/esm-es5/nano-spinner.entry.js +1 -1
  267. package/dist/esm-es5/nano-split-pane.entry.js +1 -1
  268. package/dist/esm-es5/nano-sticker.entry.js +1 -1
  269. package/dist/esm-es5/nano-sticker.entry.js.map +1 -1
  270. package/dist/esm-es5/nano-tab-content.entry.js +1 -1
  271. package/dist/esm-es5/nano-tab-group.entry.js +1 -1
  272. package/dist/esm-es5/nano-tab.entry.js +2 -2
  273. package/dist/esm-es5/nano-tooltip.entry.js +1 -1
  274. package/dist/esm-es5/{popover-7639005b.js → popover-a03563f3.js} +2 -2
  275. package/dist/esm-es5/popover-a03563f3.js.map +1 -0
  276. package/dist/nano-components/nano-components.css +1 -1
  277. package/dist/nano-components/nano-components.esm.js +1 -1
  278. package/dist/nano-components/nano-components.esm.js.map +1 -1
  279. package/dist/nano-components/nano-components.js +1 -1
  280. package/dist/nano-components/p-00eaa36a.entry.js +5 -0
  281. package/dist/nano-components/p-00eaa36a.entry.js.map +1 -0
  282. package/dist/nano-components/{p-4429caac.system.entry.js → p-0c6c2141.system.entry.js} +2 -2
  283. package/dist/nano-components/{p-4429caac.system.entry.js.map → p-0c6c2141.system.entry.js.map} +0 -0
  284. package/dist/nano-components/{p-7232c046.system.entry.js → p-0d0dfc06.system.entry.js} +2 -2
  285. package/dist/nano-components/{p-7232c046.system.entry.js.map → p-0d0dfc06.system.entry.js.map} +0 -0
  286. package/dist/nano-components/{p-e562bffd.entry.js → p-0e2e3f4a.entry.js} +2 -2
  287. package/dist/nano-components/{p-e562bffd.entry.js.map → p-0e2e3f4a.entry.js.map} +0 -0
  288. package/dist/nano-components/{p-56ba0d63.entry.js → p-1030797a.entry.js} +2 -2
  289. package/dist/nano-components/{p-56ba0d63.entry.js.map → p-1030797a.entry.js.map} +0 -0
  290. package/dist/nano-components/p-11451a4b.system.entry.js +5 -0
  291. package/dist/nano-components/p-11451a4b.system.entry.js.map +1 -0
  292. package/dist/nano-components/p-129e2b4b.system.js +5 -0
  293. package/dist/nano-components/p-129e2b4b.system.js.map +1 -0
  294. package/dist/nano-components/{p-c0ddb4c3.entry.js → p-166ade3e.entry.js} +2 -2
  295. package/dist/nano-components/{p-c0ddb4c3.entry.js.map → p-166ade3e.entry.js.map} +0 -0
  296. package/dist/nano-components/{p-5653961d.system.entry.js → p-1a30dfdd.system.entry.js} +2 -2
  297. package/dist/nano-components/p-1a30dfdd.system.entry.js.map +1 -0
  298. package/dist/nano-components/p-1b120f53.entry.js +5 -0
  299. package/dist/nano-components/p-1b120f53.entry.js.map +1 -0
  300. package/dist/nano-components/{p-7d351076.system.entry.js → p-21af2a5e.system.entry.js} +2 -2
  301. package/dist/nano-components/{p-7d351076.system.entry.js.map → p-21af2a5e.system.entry.js.map} +0 -0
  302. package/dist/nano-components/{p-346588cc.entry.js → p-222d8095.entry.js} +2 -2
  303. package/dist/nano-components/{p-346588cc.entry.js.map → p-222d8095.entry.js.map} +0 -0
  304. package/dist/nano-components/p-241d90eb.system.entry.js +5 -0
  305. package/dist/nano-components/p-241d90eb.system.entry.js.map +1 -0
  306. package/dist/nano-components/{p-040b6cda.entry.js → p-2649fc8e.entry.js} +2 -2
  307. package/dist/nano-components/{p-040b6cda.entry.js.map → p-2649fc8e.entry.js.map} +0 -0
  308. package/dist/nano-components/{p-3456db01.entry.js → p-27efac97.entry.js} +2 -2
  309. package/dist/nano-components/{p-3456db01.entry.js.map → p-27efac97.entry.js.map} +0 -0
  310. package/dist/nano-components/{p-462ad4f1.entry.js → p-2c8d7273.entry.js} +2 -2
  311. package/dist/nano-components/{p-462ad4f1.entry.js.map → p-2c8d7273.entry.js.map} +0 -0
  312. package/dist/nano-components/{p-2e6c55e2.entry.js → p-2d53d1a0.entry.js} +2 -2
  313. package/dist/nano-components/{p-2e6c55e2.entry.js.map → p-2d53d1a0.entry.js.map} +0 -0
  314. package/dist/nano-components/{p-1f99d776.entry.js → p-3093915f.entry.js} +2 -2
  315. package/dist/nano-components/{p-1f99d776.entry.js.map → p-3093915f.entry.js.map} +0 -0
  316. package/dist/nano-components/{p-8a8f893b.system.entry.js → p-316f83a9.system.entry.js} +2 -2
  317. package/dist/nano-components/{p-8a8f893b.system.entry.js.map → p-316f83a9.system.entry.js.map} +0 -0
  318. package/dist/nano-components/{p-7246bef5.entry.js → p-325c1cad.entry.js} +2 -2
  319. package/dist/nano-components/{p-7246bef5.entry.js.map → p-325c1cad.entry.js.map} +0 -0
  320. package/dist/nano-components/{p-ec39b143.system.entry.js → p-32f396c0.system.entry.js} +2 -2
  321. package/dist/nano-components/{p-ec39b143.system.entry.js.map → p-32f396c0.system.entry.js.map} +0 -0
  322. package/dist/nano-components/p-32f4516e.js +5 -0
  323. package/dist/nano-components/p-32f4516e.js.map +1 -0
  324. package/dist/nano-components/{p-43543d18.entry.js → p-333237e8.entry.js} +2 -2
  325. package/dist/nano-components/{p-43543d18.entry.js.map → p-333237e8.entry.js.map} +0 -0
  326. package/dist/nano-components/{p-e7fdc62d.entry.js → p-35108e08.entry.js} +2 -2
  327. package/dist/nano-components/{p-e7fdc62d.entry.js.map → p-35108e08.entry.js.map} +0 -0
  328. package/dist/nano-components/{p-a898bf92.system.entry.js → p-379e21d9.system.entry.js} +2 -2
  329. package/dist/nano-components/{p-a898bf92.system.entry.js.map → p-379e21d9.system.entry.js.map} +0 -0
  330. package/dist/nano-components/{p-3ad1d5aa.system.entry.js → p-39d36fd1.system.entry.js} +2 -2
  331. package/dist/nano-components/{p-3ad1d5aa.system.entry.js.map → p-39d36fd1.system.entry.js.map} +0 -0
  332. package/dist/nano-components/{p-41a2e2e4.system.js → p-3a00de47.system.js} +2 -2
  333. package/dist/nano-components/{p-41a2e2e4.system.js.map → p-3a00de47.system.js.map} +0 -0
  334. package/dist/nano-components/{p-6afdb510.system.entry.js → p-3ccb176c.system.entry.js} +2 -2
  335. package/dist/nano-components/{p-6afdb510.system.entry.js.map → p-3ccb176c.system.entry.js.map} +0 -0
  336. package/dist/nano-components/{p-178c34e3.js → p-3de7735c.js} +2 -2
  337. package/dist/nano-components/p-3de7735c.js.map +1 -0
  338. package/dist/nano-components/{p-08b43111.entry.js → p-3e930ac7.entry.js} +2 -2
  339. package/dist/nano-components/{p-08b43111.entry.js.map → p-3e930ac7.entry.js.map} +0 -0
  340. package/dist/nano-components/{p-d8d8bac6.system.entry.js → p-42cebbfe.system.entry.js} +2 -2
  341. package/dist/nano-components/{p-d8d8bac6.system.entry.js.map → p-42cebbfe.system.entry.js.map} +0 -0
  342. package/dist/nano-components/p-45070c8f.entry.js +5 -0
  343. package/dist/nano-components/p-45070c8f.entry.js.map +1 -0
  344. package/dist/nano-components/{p-3ef30ded.system.entry.js → p-48874481.system.entry.js} +2 -2
  345. package/dist/nano-components/{p-3ef30ded.system.entry.js.map → p-48874481.system.entry.js.map} +0 -0
  346. package/dist/nano-components/{p-08ffc9a1.entry.js → p-4e2c0abb.entry.js} +2 -2
  347. package/dist/nano-components/{p-08ffc9a1.entry.js.map → p-4e2c0abb.entry.js.map} +0 -0
  348. package/dist/nano-components/{p-090f22a9.system.entry.js → p-5100ae70.system.entry.js} +2 -2
  349. package/dist/nano-components/{p-090f22a9.system.entry.js.map → p-5100ae70.system.entry.js.map} +0 -0
  350. package/dist/nano-components/{p-593de29b.system.entry.js → p-52769304.system.entry.js} +2 -2
  351. package/dist/nano-components/{p-593de29b.system.entry.js.map → p-52769304.system.entry.js.map} +0 -0
  352. package/dist/nano-components/{p-8278c5d2.system.entry.js → p-56f86047.system.entry.js} +2 -2
  353. package/dist/nano-components/{p-8278c5d2.system.entry.js.map → p-56f86047.system.entry.js.map} +0 -0
  354. package/dist/nano-components/{p-3c475740.system.entry.js → p-5b66bb8f.system.entry.js} +2 -2
  355. package/dist/nano-components/p-5b66bb8f.system.entry.js.map +1 -0
  356. package/dist/nano-components/{p-033296c7.system.entry.js → p-5d17cfbb.system.entry.js} +2 -2
  357. package/dist/nano-components/{p-033296c7.system.entry.js.map → p-5d17cfbb.system.entry.js.map} +0 -0
  358. package/dist/nano-components/{p-88f17c86.system.entry.js → p-5d5ea4ab.system.entry.js} +2 -2
  359. package/dist/nano-components/{p-88f17c86.system.entry.js.map → p-5d5ea4ab.system.entry.js.map} +0 -0
  360. package/dist/nano-components/{p-20387cde.system.entry.js → p-6b4dd158.system.entry.js} +2 -2
  361. package/dist/nano-components/{p-20387cde.system.entry.js.map → p-6b4dd158.system.entry.js.map} +0 -0
  362. package/dist/nano-components/{p-d24811c8.system.js → p-6b5760b1.system.js} +3 -3
  363. package/dist/nano-components/{p-d24811c8.system.js.map → p-6b5760b1.system.js.map} +1 -1
  364. package/dist/nano-components/p-6d138abf.entry.js +5 -0
  365. package/dist/nano-components/p-6d138abf.entry.js.map +1 -0
  366. package/dist/nano-components/{p-5066e563.system.entry.js → p-6dad332b.system.entry.js} +2 -2
  367. package/dist/nano-components/{p-5066e563.system.entry.js.map → p-6dad332b.system.entry.js.map} +0 -0
  368. package/dist/nano-components/{p-730f60ea.entry.js → p-6ddb51e4.entry.js} +2 -2
  369. package/dist/nano-components/p-6ddb51e4.entry.js.map +1 -0
  370. package/dist/nano-components/p-71bbb7ba.entry.js +5 -0
  371. package/dist/nano-components/p-71bbb7ba.entry.js.map +1 -0
  372. package/dist/nano-components/p-71e9fa33.js +5 -0
  373. package/dist/nano-components/p-71e9fa33.js.map +1 -0
  374. package/dist/nano-components/p-72ed603c.system.entry.js +5 -0
  375. package/dist/nano-components/p-72ed603c.system.entry.js.map +1 -0
  376. package/dist/nano-components/{p-c9d09839.entry.js → p-73985eda.entry.js} +2 -2
  377. package/dist/nano-components/{p-c9d09839.entry.js.map → p-73985eda.entry.js.map} +0 -0
  378. package/dist/nano-components/{p-58d7f10f.entry.js → p-76c903db.entry.js} +2 -2
  379. package/dist/nano-components/{p-58d7f10f.entry.js.map → p-76c903db.entry.js.map} +0 -0
  380. package/dist/nano-components/{p-3aa1d07d.entry.js → p-76d9d1d4.entry.js} +2 -2
  381. package/dist/nano-components/p-76d9d1d4.entry.js.map +1 -0
  382. package/dist/nano-components/{p-f53989c3.system.entry.js → p-7aa7425d.system.entry.js} +2 -2
  383. package/dist/nano-components/{p-f53989c3.system.entry.js.map → p-7aa7425d.system.entry.js.map} +1 -1
  384. package/dist/nano-components/{p-531d5275.system.entry.js → p-7ad4a27a.system.entry.js} +2 -2
  385. package/dist/nano-components/p-7ad4a27a.system.entry.js.map +1 -0
  386. package/dist/nano-components/{p-9acc4596.system.entry.js → p-7e55b214.system.entry.js} +3 -3
  387. package/dist/nano-components/{p-9acc4596.system.entry.js.map → p-7e55b214.system.entry.js.map} +0 -0
  388. package/dist/nano-components/{p-62ecd3a1.system.entry.js → p-7f1374b6.system.entry.js} +2 -2
  389. package/dist/nano-components/{p-62ecd3a1.system.entry.js.map → p-7f1374b6.system.entry.js.map} +0 -0
  390. package/dist/nano-components/{p-1e974cad.entry.js → p-7fe9d769.entry.js} +2 -2
  391. package/dist/nano-components/{p-1e974cad.entry.js.map → p-7fe9d769.entry.js.map} +0 -0
  392. package/dist/nano-components/p-85c8b070.system.entry.js +5 -0
  393. package/dist/nano-components/p-85c8b070.system.entry.js.map +1 -0
  394. package/dist/nano-components/{p-f2e7d2f9.system.entry.js → p-88779174.system.entry.js} +2 -2
  395. package/dist/nano-components/{p-f2e7d2f9.system.entry.js.map → p-88779174.system.entry.js.map} +0 -0
  396. package/dist/nano-components/{p-4535e3bb.entry.js → p-8b6fcd6d.entry.js} +2 -2
  397. package/dist/nano-components/{p-4535e3bb.entry.js.map → p-8b6fcd6d.entry.js.map} +0 -0
  398. package/dist/nano-components/{p-6ade3290.entry.js → p-8eb4f24a.entry.js} +2 -2
  399. package/dist/nano-components/{p-6ade3290.entry.js.map → p-8eb4f24a.entry.js.map} +0 -0
  400. package/dist/nano-components/{p-07bdf44d.entry.js → p-8fe2f846.entry.js} +2 -2
  401. package/dist/nano-components/{p-07bdf44d.entry.js.map → p-8fe2f846.entry.js.map} +0 -0
  402. package/dist/nano-components/p-96150b2c.system.entry.js +5 -0
  403. package/dist/nano-components/p-96150b2c.system.entry.js.map +1 -0
  404. package/dist/nano-components/{p-bcd69559.entry.js → p-97b13ad2.entry.js} +2 -2
  405. package/dist/nano-components/{p-bcd69559.entry.js.map → p-97b13ad2.entry.js.map} +0 -0
  406. package/dist/nano-components/{p-c9c1a345.system.entry.js → p-a02cc654.system.entry.js} +2 -2
  407. package/dist/nano-components/{p-c9c1a345.system.entry.js.map → p-a02cc654.system.entry.js.map} +0 -0
  408. package/dist/nano-components/{p-a77e3fbb.js → p-a0b93616.js} +3 -3
  409. package/dist/nano-components/{p-a77e3fbb.js.map → p-a0b93616.js.map} +1 -1
  410. package/dist/nano-components/p-a4969844.entry.js +5 -0
  411. package/dist/nano-components/p-a4969844.entry.js.map +1 -0
  412. package/dist/nano-components/{p-70dec19f.entry.js → p-a6327a9a.entry.js} +2 -2
  413. package/dist/nano-components/{p-70dec19f.entry.js.map → p-a6327a9a.entry.js.map} +0 -0
  414. package/dist/nano-components/p-a81db037.entry.js +5 -0
  415. package/dist/nano-components/p-a81db037.entry.js.map +1 -0
  416. package/dist/nano-components/{p-a315ed2c.entry.js → p-a9a4fc3e.entry.js} +2 -2
  417. package/dist/nano-components/{p-a315ed2c.entry.js.map → p-a9a4fc3e.entry.js.map} +1 -1
  418. package/dist/nano-components/{p-98222c39.system.entry.js → p-ab07c1fa.system.entry.js} +2 -2
  419. package/dist/nano-components/{p-98222c39.system.entry.js.map → p-ab07c1fa.system.entry.js.map} +0 -0
  420. package/dist/nano-components/{p-ab5813a7.js → p-b5c33aff.js} +2 -2
  421. package/dist/nano-components/{p-ab5813a7.js.map → p-b5c33aff.js.map} +0 -0
  422. package/dist/nano-components/p-bc394857.system.entry.js +5 -0
  423. package/dist/nano-components/p-bc394857.system.entry.js.map +1 -0
  424. package/dist/nano-components/{p-ee3fe567.entry.js → p-bce998f2.entry.js} +2 -2
  425. package/dist/nano-components/p-bce998f2.entry.js.map +1 -0
  426. package/dist/nano-components/{p-92f85aaf.system.entry.js → p-bf9aa89d.system.entry.js} +2 -2
  427. package/dist/nano-components/{p-92f85aaf.system.entry.js.map → p-bf9aa89d.system.entry.js.map} +0 -0
  428. package/dist/nano-components/p-c070ffd3.system.entry.js +5 -0
  429. package/dist/nano-components/p-c070ffd3.system.entry.js.map +1 -0
  430. package/dist/nano-components/{p-50514e5e.entry.js → p-c4156fea.entry.js} +2 -2
  431. package/dist/nano-components/{p-50514e5e.entry.js.map → p-c4156fea.entry.js.map} +0 -0
  432. package/dist/nano-components/p-c9a2d24c.entry.js +5 -0
  433. package/dist/nano-components/p-c9a2d24c.entry.js.map +1 -0
  434. package/dist/nano-components/p-d01bd3c3.system.js +5 -0
  435. package/dist/nano-components/p-d01bd3c3.system.js.map +1 -0
  436. package/dist/nano-components/{p-1238f0fc.system.entry.js → p-d0385948.system.entry.js} +2 -2
  437. package/dist/nano-components/{p-1238f0fc.system.entry.js.map → p-d0385948.system.entry.js.map} +0 -0
  438. package/dist/nano-components/{p-b59d2bd5.entry.js → p-d122b1ff.entry.js} +2 -2
  439. package/dist/nano-components/{p-b59d2bd5.entry.js.map → p-d122b1ff.entry.js.map} +0 -0
  440. package/dist/nano-components/{p-394c3c19.entry.js → p-defd4552.entry.js} +2 -2
  441. package/dist/nano-components/{p-394c3c19.entry.js.map → p-defd4552.entry.js.map} +0 -0
  442. package/dist/nano-components/{p-9745d44e.system.js → p-e43ec257.system.js} +2 -2
  443. package/dist/nano-components/p-e43ec257.system.js.map +1 -0
  444. package/dist/nano-components/p-e7140887.system.js +5 -0
  445. package/dist/nano-components/p-e7140887.system.js.map +1 -0
  446. package/dist/nano-components/{p-69439aa1.system.entry.js → p-e817ab4a.system.entry.js} +2 -2
  447. package/dist/nano-components/{p-69439aa1.system.entry.js.map → p-e817ab4a.system.entry.js.map} +0 -0
  448. package/dist/nano-components/{p-22884654.system.entry.js → p-eacf5b5b.system.entry.js} +2 -2
  449. package/dist/nano-components/{p-22884654.system.entry.js.map → p-eacf5b5b.system.entry.js.map} +0 -0
  450. package/dist/nano-components/p-ed336501.entry.js +5 -0
  451. package/dist/nano-components/p-ed336501.entry.js.map +1 -0
  452. package/dist/nano-components/{p-5ae80fd7.js → p-ef7f1e9c.js} +2 -2
  453. package/dist/nano-components/{p-5ae80fd7.js.map → p-ef7f1e9c.js.map} +0 -0
  454. package/dist/nano-components/{p-59b3d24b.system.js → p-f48be9f5.system.js} +2 -2
  455. package/dist/nano-components/{p-59b3d24b.system.js.map → p-f48be9f5.system.js.map} +0 -0
  456. package/dist/nano-components/p-f710c763.system.entry.js +5 -0
  457. package/dist/nano-components/p-f710c763.system.entry.js.map +1 -0
  458. package/dist/nano-components/{p-65c10b3f.entry.js → p-fbe3c89e.entry.js} +2 -2
  459. package/dist/nano-components/{p-65c10b3f.entry.js.map → p-fbe3c89e.entry.js.map} +0 -0
  460. package/dist/nano-components/p-fc3702a0.system.entry.js +5 -0
  461. package/dist/nano-components/p-fc3702a0.system.entry.js.map +1 -0
  462. package/dist/nano-components/{p-ba13bb56.entry.js → p-ffc2063a.entry.js} +2 -2
  463. package/dist/nano-components/{p-ba13bb56.entry.js.map → p-ffc2063a.entry.js.map} +0 -0
  464. package/dist/nano-components/{p-383fda90.system.entry.js → p-fff27907.system.entry.js} +2 -2
  465. package/dist/nano-components/{p-383fda90.system.entry.js.map → p-fff27907.system.entry.js.map} +0 -0
  466. package/dist/types/components/checkbox/checkbox-group.d.ts +12 -1
  467. package/dist/types/components/checkbox/checkbox.d.ts +11 -3
  468. package/dist/types/components/date-input/date-input.d.ts +4 -0
  469. package/dist/types/components/dialog/dialog.d.ts +4 -1
  470. package/dist/types/components/field-validator/field-validator.d.ts +125 -0
  471. package/dist/types/components/file-upload/file-upload.d.ts +8 -0
  472. package/dist/types/components/form-control/form-control.d.ts +2 -0
  473. package/dist/types/components/global-nav/global-nav.d.ts +10 -3
  474. package/dist/types/components/icon/icon.d.ts +1 -1
  475. package/dist/types/components/input/input.d.ts +9 -1
  476. package/dist/types/components/resize-observe/resize-observe.d.ts +0 -1
  477. package/dist/types/components/select/select.d.ts +9 -1
  478. package/dist/types/components/{sticky → sticker}/sticker.d.ts +0 -0
  479. package/dist/types/components.d.ts +198 -7
  480. package/dist/types/utils/store/get-set.d.ts +1 -1
  481. package/docs-json.json +474 -18
  482. package/docs-vscode.json +83 -3
  483. package/package.json +3 -2
  484. package/dist/cjs/component-store-722032a5.js.map +0 -1
  485. package/dist/cjs/form-control-8f530f7d.js.map +0 -1
  486. package/dist/collection/components/sticky/sticker.js.map +0 -1
  487. package/dist/esm/component-store-b6fbfa35.js.map +0 -1
  488. package/dist/esm/form-control-c52b6256.js.map +0 -1
  489. package/dist/esm-es5/component-store-b6fbfa35.js +0 -5
  490. package/dist/esm-es5/component-store-b6fbfa35.js.map +0 -1
  491. package/dist/esm-es5/form-control-c52b6256.js +0 -5
  492. package/dist/esm-es5/form-control-c52b6256.js.map +0 -1
  493. package/dist/esm-es5/popover-7639005b.js.map +0 -1
  494. package/dist/nano-components/p-0618fac6.system.entry.js +0 -5
  495. package/dist/nano-components/p-0618fac6.system.entry.js.map +0 -1
  496. package/dist/nano-components/p-096682d9.system.js +0 -5
  497. package/dist/nano-components/p-096682d9.system.js.map +0 -1
  498. package/dist/nano-components/p-10a6216d.system.entry.js +0 -5
  499. package/dist/nano-components/p-10a6216d.system.entry.js.map +0 -1
  500. package/dist/nano-components/p-173bae15.system.entry.js +0 -5
  501. package/dist/nano-components/p-173bae15.system.entry.js.map +0 -1
  502. package/dist/nano-components/p-178c34e3.js.map +0 -1
  503. package/dist/nano-components/p-3aa1d07d.entry.js.map +0 -1
  504. package/dist/nano-components/p-3c475740.system.entry.js.map +0 -1
  505. package/dist/nano-components/p-4265cf95.system.entry.js +0 -5
  506. package/dist/nano-components/p-4265cf95.system.entry.js.map +0 -1
  507. package/dist/nano-components/p-4ee978ff.entry.js +0 -5
  508. package/dist/nano-components/p-4ee978ff.entry.js.map +0 -1
  509. package/dist/nano-components/p-531d5275.system.entry.js.map +0 -1
  510. package/dist/nano-components/p-5653961d.system.entry.js.map +0 -1
  511. package/dist/nano-components/p-5a0095f9.js +0 -5
  512. package/dist/nano-components/p-5a0095f9.js.map +0 -1
  513. package/dist/nano-components/p-5a315696.entry.js +0 -5
  514. package/dist/nano-components/p-5a315696.entry.js.map +0 -1
  515. package/dist/nano-components/p-5e7c7d3d.entry.js +0 -5
  516. package/dist/nano-components/p-5e7c7d3d.entry.js.map +0 -1
  517. package/dist/nano-components/p-730f60ea.entry.js.map +0 -1
  518. package/dist/nano-components/p-802e1416.system.entry.js +0 -5
  519. package/dist/nano-components/p-802e1416.system.entry.js.map +0 -1
  520. package/dist/nano-components/p-820d9e23.system.entry.js +0 -5
  521. package/dist/nano-components/p-820d9e23.system.entry.js.map +0 -1
  522. package/dist/nano-components/p-829d7f05.system.entry.js +0 -5
  523. package/dist/nano-components/p-829d7f05.system.entry.js.map +0 -1
  524. package/dist/nano-components/p-894d6967.entry.js +0 -5
  525. package/dist/nano-components/p-894d6967.entry.js.map +0 -1
  526. package/dist/nano-components/p-8e5afc61.system.entry.js +0 -5
  527. package/dist/nano-components/p-8e5afc61.system.entry.js.map +0 -1
  528. package/dist/nano-components/p-9745d44e.system.js.map +0 -1
  529. package/dist/nano-components/p-9d35768b.entry.js +0 -5
  530. package/dist/nano-components/p-9d35768b.entry.js.map +0 -1
  531. package/dist/nano-components/p-aaef7cc7.js +0 -5
  532. package/dist/nano-components/p-aaef7cc7.js.map +0 -1
  533. package/dist/nano-components/p-af7abf5e.entry.js +0 -5
  534. package/dist/nano-components/p-af7abf5e.entry.js.map +0 -1
  535. package/dist/nano-components/p-df0897ec.system.js +0 -5
  536. package/dist/nano-components/p-df0897ec.system.js.map +0 -1
  537. package/dist/nano-components/p-e1f46998.system.js +0 -5
  538. package/dist/nano-components/p-e1f46998.system.js.map +0 -1
  539. package/dist/nano-components/p-e7c69d4f.entry.js +0 -5
  540. package/dist/nano-components/p-e7c69d4f.entry.js.map +0 -1
  541. package/dist/nano-components/p-ee3fe567.entry.js.map +0 -1
  542. package/dist/nano-components/p-f3bf942d.entry.js +0 -5
  543. package/dist/nano-components/p-f3bf942d.entry.js.map +0 -1
@@ -11,7 +11,8 @@ const renderLabel = ({ label, hasLabelSlot, controlId, labelId, floatLabel, plac
11
11
  if (floatLabel) {
12
12
  return (index.h("label", { class: "form-ctrl__float-label", htmlFor: controlId, id: labelId },
13
13
  label && label,
14
- !label && hasLabelSlot && index.h("slot", { name: "label" })));
14
+ !label && hasLabelSlot && index.h("slot", { name: "label" }),
15
+ showCharCount && (index.h("span", { class: "form-ctrl__label-charcount" }, maxlength ? ` ${charCount}/${maxlength}` : ` ${charCount}`))));
15
16
  }
16
17
  else {
17
18
  return (index.h("label", { class: { 'form-ctrl__label': true, 'visually-hide': hideLabel }, htmlFor: controlId, id: labelId },
@@ -31,23 +32,29 @@ const renderLabel = ({ label, hasLabelSlot, controlId, labelId, floatLabel, plac
31
32
  }
32
33
  };
33
34
  const FormControlWrap = (props, children) => {
34
- const { rtl, floatLabel, label, moreId, type, hasHelperSlot, showInlineError, errorMessage, } = props;
35
- return [
36
- !floatLabel ? renderLabel(Object.assign({}, props)) : '',
37
- index.h("div", { class: {
38
- 'has-label': label !== null && !floatLabel,
39
- 'has-float-label': label !== null && floatLabel,
40
- rtl,
41
- 'form-ctrl__input': true,
42
- 'form-ctrl__textarea': type === 'textarea',
43
- } },
44
- floatLabel && renderLabel(Object.assign(Object.assign({}, props), { rtl })),
45
- children),
46
- showInlineError || hasHelperSlot ? (index.h("div", { class: "form-ctrl__more", id: moreId },
47
- !!showInlineError ? (index.h("div", { class: "form-ctrl__error" }, errorMessage)) : (''),
48
- index.h("div", { class: "form-ctrl__helper" },
49
- index.h("slot", { name: "helper" })))) : (''),
50
- ];
35
+ const { rtl, floatLabel, label, moreId, helperEndId, type, hasHelperSlot, showInlineError, errorMessage, hasHelperEndSlot, } = props;
36
+ const MainTag = hasHelperEndSlot ? 'nano-resize-observe' : 'div';
37
+ return (index.h(MainTag, { states: "350w has-enough-width", class: {
38
+ 'has-label': label !== null && !floatLabel,
39
+ 'has-float-label': label !== null && floatLabel,
40
+ 'has-helper-end': hasHelperEndSlot,
41
+ rtl,
42
+ 'form-ctrl': true,
43
+ } },
44
+ index.h("div", { class: "form-ctrl__wrapper" },
45
+ !floatLabel ? renderLabel(Object.assign({}, props)) : '',
46
+ index.h("div", { class: {
47
+ 'form-ctrl__input': true,
48
+ 'form-ctrl__textarea': type === 'textarea',
49
+ } },
50
+ floatLabel && renderLabel(Object.assign(Object.assign({}, props), { rtl })),
51
+ children),
52
+ showInlineError || hasHelperSlot ? (index.h("div", { class: "form-ctrl__more", id: moreId },
53
+ !!showInlineError ? (index.h("div", { class: "form-ctrl__error", "aria-live": "polite" }, errorMessage)) : (''),
54
+ index.h("div", { class: "form-ctrl__helper" },
55
+ index.h("slot", { name: "helper" })))) : ('')),
56
+ hasHelperEndSlot ? (index.h("div", { class: "form-ctrl__helper-end", id: helperEndId },
57
+ index.h("slot", { name: "helper-end" }))) : ('')));
51
58
  };
52
59
  const FormControl = (props, children) => {
53
60
  const { clearControl, onClearText, readonly, disabled, control, ref, endSlot, endValueSlot, startSlot, } = props;
@@ -75,4 +82,4 @@ const FormControl = (props, children) => {
75
82
  exports.FormControl = FormControl;
76
83
  exports.FormControlWrap = FormControlWrap;
77
84
 
78
- //# sourceMappingURL=form-control-8f530f7d.js.map
85
+ //# sourceMappingURL=form-control-d54a847f.js.map
@@ -0,0 +1 @@
1
+ {"file":"form-control-d54a847f.js","mappings":"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","names":["h"],"sources":["./src/components/form-control/form-control.tsx"],"sourcesContent":["import { FunctionalComponent, h, VNode } from '@stencil/core';\nimport { TextFieldTypes } from '../../interface';\n\ninterface FormControlWrapProps {\n rtl: boolean;\n floatLabel: boolean;\n labelId: string;\n label: string;\n moreId: string;\n helperEndId: string;\n type?: TextFieldTypes;\n showInlineError: boolean;\n hasHelperSlot: boolean;\n errorMessage: string;\n controlId: string;\n hasLabelSlot: boolean;\n hideLabel: boolean;\n placeholder: string;\n hasValue: boolean;\n showCharCount?: boolean;\n maxlength?: number;\n charCount?: number;\n hasHelperEndSlot?: boolean;\n}\n\ninterface FormControlProps {\n clearControl: boolean;\n onClearText?: () => void;\n readonly: boolean;\n disabled: boolean;\n control: HTMLNanoInputElement | HTMLNanoSelectElement;\n ref?: (elm?: HTMLElement) => void;\n endSlot?: VNode;\n endValueSlot?: VNode;\n startSlot?: VNode;\n}\n\ninterface LabelProps extends FormControlWrapProps {\n rtl: boolean;\n}\n\nconst renderLabel = ({\n label,\n hasLabelSlot,\n controlId,\n labelId,\n floatLabel,\n placeholder,\n hideLabel,\n hasValue,\n rtl,\n showCharCount,\n maxlength,\n charCount,\n}: LabelProps) => {\n if (!label && !hasLabelSlot) return;\n if (floatLabel) {\n return (\n <label class=\"form-ctrl__float-label\" htmlFor={controlId} id={labelId}>\n {label && label}\n {!label && hasLabelSlot && <slot name=\"label\" />}\n {showCharCount && (\n <span class=\"form-ctrl__label-charcount\">\n {maxlength ? ` ${charCount}/${maxlength}` : ` ${charCount}`}\n </span>\n )}\n </label>\n );\n } else {\n return (\n <label\n class={{ 'form-ctrl__label': true, 'visually-hide': hideLabel }}\n htmlFor={controlId}\n id={labelId}\n >\n <div class=\"form-ctrl__label-wrap\">\n {placeholder && hasValue && rtl && (\n <span class=\"form-ctrl__label-placeholder\">{placeholder} / </span>\n )}\n <span class=\"form-ctrl__labeltext\">\n {label && label}\n {!label && hasLabelSlot && <slot name=\"label\" />}\n </span>\n {placeholder && hasValue && !rtl && (\n <span class=\"form-ctrl__label-placeholder\"> / {placeholder}</span>\n )}\n </div>\n {showCharCount && (\n <span class=\"form-ctrl__label-charcount\">\n {maxlength\n ? maxlength - charCount + ' left'\n : charCount + ' characters'}\n </span>\n )}\n </label>\n );\n }\n};\n\nexport const FormControlWrap: FunctionalComponent<FormControlWrapProps> = (\n props: FormControlWrapProps,\n children\n) => {\n const {\n rtl,\n floatLabel,\n label,\n moreId,\n helperEndId,\n type,\n hasHelperSlot,\n showInlineError,\n errorMessage,\n hasHelperEndSlot,\n } = props;\n\n const MainTag = hasHelperEndSlot ? 'nano-resize-observe' : 'div';\n\n return (\n <MainTag\n states=\"350w has-enough-width\"\n class={{\n 'has-label': label !== null && !floatLabel,\n 'has-float-label': label !== null && floatLabel,\n 'has-helper-end': hasHelperEndSlot,\n rtl,\n 'form-ctrl': true,\n }}\n >\n <div class=\"form-ctrl__wrapper\">\n {!floatLabel ? renderLabel({ ...props }) : ''}\n <div\n class={{\n 'form-ctrl__input': true,\n 'form-ctrl__textarea': type === 'textarea',\n }}\n >\n {floatLabel && renderLabel({ ...props, rtl })}\n {children}\n </div>\n {showInlineError || hasHelperSlot ? (\n <div class=\"form-ctrl__more\" id={moreId}>\n {!!showInlineError ? (\n <div class=\"form-ctrl__error\" aria-live=\"polite\">\n {errorMessage}\n </div>\n ) : (\n ''\n )}\n <div class=\"form-ctrl__helper\">\n <slot name=\"helper\" />\n </div>\n </div>\n ) : (\n ''\n )}\n </div>\n {hasHelperEndSlot ? (\n <div class=\"form-ctrl__helper-end\" id={helperEndId}>\n <slot name=\"helper-end\" />\n </div>\n ) : (\n ''\n )}\n </MainTag>\n );\n};\n\nexport const FormControl: FunctionalComponent<FormControlProps> = (\n props: FormControlProps,\n children\n) => {\n const {\n clearControl,\n onClearText,\n readonly,\n disabled,\n control,\n ref,\n endSlot,\n endValueSlot,\n startSlot,\n } = props;\n const clickThrough = () => {\n control.setFocus();\n };\n\n return (\n <div\n class=\"form-ctrl__input-wrap\"\n ref={(el) => {\n if (ref) ref(el);\n }}\n >\n <span class=\"form-ctrl__slot-start\">\n <slot name=\"start\" />\n {startSlot}\n </span>\n {children}\n {clearControl && !readonly && !disabled && (\n <button\n type=\"button\"\n class=\"icon form-ctrl__clear-btn\"\n tabindex=\"-1\"\n onTouchStart={onClearText}\n onMouseDown={onClearText}\n >\n <nano-icon name=\"light/times\"></nano-icon>\n </button>\n )}\n <span class=\"form-ctrl__slot-value-end\" onClick={clickThrough}>\n <slot name=\"value-end\" />\n {endValueSlot}\n </span>\n <span class=\"form-ctrl__slot-end\">\n <slot name=\"end\" />\n {endSlot}\n </span>\n </div>\n );\n};\n"],"version":3}
@@ -2411,6 +2411,11 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
2411
2411
  /* webpackMode: "lazy" */
2412
2412
  './nano-drawer.cjs.entry.js')); }).then(processMod, consoleError);
2413
2413
 
2414
+ case 'nano-field-validator.cjs':
2415
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2416
+ /* webpackMode: "lazy" */
2417
+ './nano-field-validator.cjs.entry.js')); }).then(processMod, consoleError);
2418
+
2414
2419
  case 'nano-file-upload.cjs':
2415
2420
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2416
2421
  /* webpackMode: "lazy" */
@@ -32,7 +32,7 @@ const patchEsm = () => {
32
32
  const defineCustomElements = (win, options) => {
33
33
  if (typeof window === 'undefined') return Promise.resolve();
34
34
  return patchEsm().then(() => {
35
- return index.bootstrapLazy(JSON.parse("[[\"nano-global-nav.cjs\",[[1,\"nano-global-nav\",{\"env\":[1],\"ssoRedirect\":[1,\"sso-redirect\"],\"getMyAccountData\":[4,\"get-my-account-data\"],\"activeMyAccountSections\":[16],\"showSearch\":[4,\"show-search\"],\"showLogo\":[4,\"show-logo\"],\"logoUrl\":[1,\"logo-url\"],\"searchIndeces\":[16],\"myAccountUser\":[1040],\"searchAppId\":[1025,\"search-app-id\"],\"searchApiKey\":[1025,\"search-api-key\"],\"searchValue\":[1025,\"search-value\"],\"searchIndex\":[1025,\"search-index\"],\"cartCount\":[1026,\"cart-count\"],\"msgCount\":[1026,\"msg-count\"],\"cartUrl\":[1025,\"cart-url\"],\"msgUrl\":[1025,\"msg-url\"],\"hasLoggedinSlot\":[32],\"hasSiteSlot\":[32],\"hasPromotionSlot\":[32],\"aboutSlotLen\":[32],\"iconSlotLen\":[32],\"mainSlotLen\":[32],\"overflowSlotLen\":[32],\"searchSlotLen\":[32],\"internalSearchIndeces\":[32],\"thresholdReady\":[32],\"remoteDataReady\":[32],\"ready\":[32],\"isResizing\":[32],\"intersectRatio\":[32],\"threshold\":[32],\"modalOpen\":[32],\"modalIsOpen\":[32],\"searchBarShown\":[32],\"scrollingUp\":[32],\"searchLoading\":[32],\"showAutocomplete\":[32],\"secondaryMenuOpen\":[32],\"userMenuOpen\":[32],\"menuFullScreen\":[32],\"searchValInternal\":[32],\"submitSearch\":[64]},[[0,\"nanoOpen\",\"secondaryOpen\"],[0,\"nanoClose\",\"secondaryClose\"]]]]],[\"nano-hero.cjs\",[[1,\"nano-hero\",{\"imgSrc\":[1,\"img-src\"],\"imgSrcSet\":[1,\"img-src-set\"],\"largeScreenBP\":[2,\"large-screen-b-p\"],\"theme\":[1],\"level\":[1],\"gridSizes\":[32],\"hasIconBox\":[32],\"hasScrim\":[32],\"hasSecondaryContent\":[32],\"hasQuote\":[32],\"hasBg\":[32],\"hasBackBtn\":[32],\"hasCtas\":[32],\"breadCrumbs\":[32],\"iconBoxItems\":[32]}]]],[\"nano-date-input.cjs\",[[6,\"nano-date-input\",{\"invalid\":[2564],\"helperText\":[4,\"helper-text\"],\"helperTextFormat\":[16],\"floatLabel\":[4,\"float-label\"],\"name\":[1],\"readonly\":[4],\"size\":[2],\"form\":[1],\"firstDayOfWeek\":[2,\"first-day-of-week\"],\"localization\":[16],\"disabled\":[4],\"color\":[1],\"autofocus\":[4],\"clearInput\":[4,\"clear-input\"],\"label\":[1],\"placeholder\":[1025],\"value\":[1537],\"validateOn\":[1,\"validate-on\"],\"showInlineError\":[516,\"show-inline-error\"],\"dateOrder\":[1,\"date-order\"],\"required\":[4],\"min\":[1],\"max\":[1],\"hideLabel\":[4,\"hide-label\"],\"picker\":[4],\"initialPickerDate\":[1,\"initial-picker-date\"],\"pickerOpen\":[1540,\"picker-open\"],\"closeAfterPicked\":[4,\"close-after-picked\"],\"dropDownConfig\":[6160],\"pattern\":[32],\"inputValue\":[32],\"_invalid\":[32],\"reportValidity\":[64],\"setFocus\":[64],\"getInputElement\":[64],\"showError\":[64]}]]],[\"nano-dialog.cjs\",[[1,\"nano-dialog\",{\"showRibbon\":[4,\"show-ribbon\"],\"open\":[1540],\"label\":[1],\"noHeader\":[4,\"no-header\"],\"noFooter\":[4,\"no-footer\"],\"noUserDismiss\":[4,\"no-user-dismiss\"],\"storeId\":[1,\"store-id\"],\"storeMethod\":[1,\"store-method\"],\"isVisible\":[32],\"noDismiss\":[32],\"hasFooter\":[32],\"show\":[64],\"hide\":[64]}]]],[\"nano-file-upload.cjs\",[[6,\"nano-file-upload\",{\"name\":[1],\"accept\":[1],\"capture\":[1],\"maxFileSize\":[2,\"max-file-size\"],\"maxFiles\":[2,\"max-files\"],\"label\":[1],\"placeholder\":[1],\"hideLabel\":[4,\"hide-label\"],\"required\":[4],\"disabled\":[516],\"clearInput\":[4,\"clear-input\"],\"showInlineError\":[516,\"show-inline-error\"],\"validateOn\":[1025,\"validate-on\"],\"invalid\":[2564],\"files\":[2064],\"value\":[6145],\"hasHelperSlot\":[32],\"hasLabelSlot\":[32],\"errorMessage\":[32],\"isDragging\":[32],\"fileList\":[32],\"hasFocus\":[32],\"_invalid\":[32],\"reportValidity\":[64],\"setFocus\":[64],\"getInputElement\":[64],\"showError\":[64]},[[8,\"click\",\"globalClickHandler\"],[8,\"keydown\",\"globalKeydownHandler\"]]]]],[\"nano-alert.cjs\",[[1,\"nano-alert\",{\"open\":[1540],\"closable\":[516],\"color\":[513],\"duration\":[2],\"isModal\":[32],\"isToast\":[32],\"isShowing\":[32],\"label\":[32],\"show\":[64],\"hide\":[64],\"toast\":[64],\"alert\":[64]}]]],[\"nano-global-search-results.cjs\",[[1,\"nano-global-search-results\",{\"algoliaEle\":[32],\"currentWidth\":[32],\"apiKey\":[32],\"appId\":[32],\"index\":[32]},[[16,\"nanoSearchReset\",\"handleGlobalNavReset\"],[16,\"nanoSearchResult\",\"handleGlobalNavSearch\"],[0,\"nanoChange\",\"handleReorder\"],[0,\"nanoResultsShown\",\"attachListeners\"],[16,\"nanoNewResults\",\"attachResultListeners\"]]]]],[\"nano-tab.cjs\",[[1,\"nano-tab\",{\"panel\":[513],\"active\":[516],\"disabled\":[516],\"closable\":[4],\"setFocus\":[64],\"removeFocus\":[64]}]]],[\"nano-menu-drawer.cjs\",[[1,\"nano-menu-drawer\",{\"open\":[4],\"saveState\":[4,\"save-state\"],\"hideWidth\":[2,\"hide-width\"],\"hideHeight\":[4,\"hide-height\"],\"reset\":[32],\"widthOk\":[32],\"heightOk\":[32],\"isLoading\":[32],\"hide\":[32]},[[0,\"nanoOpen\",\"cancelNavItemEvents\"],[0,\"nanoClose\",\"cancelNavItemEvents\"],[16,\"nanoIsReady\",\"handleGlobalNavReady\"]]]]],[\"nano-split-pane.cjs\",[[1,\"nano-split-pane\",{\"position\":[6146],\"positionInPixels\":[1026,\"position-in-pixels\"],\"vertical\":[516],\"disabled\":[516],\"primary\":[1],\"snap\":[1],\"snapThreshold\":[2,\"snap-threshold\"],\"animationDuration\":[2,\"animation-duration\"],\"getPercentageToPixels\":[64],\"getPixelsToPercentage\":[64]}]]],[\"nano-tab-group.cjs\",[[1,\"nano-tab-group\",{\"placement\":[1],\"noScrollControls\":[4,\"no-scroll-controls\"],\"color\":[1],\"storeId\":[1,\"store-id\"],\"storeMethod\":[1,\"store-method\"],\"disableSwipe\":[4,\"disable-swipe\"],\"hasScrollControls\":[32],\"hideControlRight\":[32],\"hideControlLeft\":[32],\"isLegacy\":[32],\"tab\":[32],\"show\":[64]},[[0,\"nanoTabClose\",\"handleTabClose\"]]]]],[\"nano-accordion.cjs\",[[1,\"nano-accordion\",{\"color\":[1],\"itemOpened\":[32]},[[0,\"nanoOpened\",\"onToggleHandler\"],[0,\"nanoClosed\",\"onClosedHandler\"]]]]],[\"nano-algolia-filter.cjs\",[[1,\"nano-algolia-filter\",{\"filterName\":[1,\"filter-name\"],\"value\":[1025],\"operator\":[1],\"storeId\":[1,\"store-id\"],\"storeMethod\":[1,\"store-method\"],\"changeEvent\":[32],\"internalValue\":[32],\"showFilter\":[32],\"indexResults\":[32],\"filterChanged\":[32],\"facets\":[32],\"tplRenderFn\":[32],\"globalStoreMethod\":[32]},[[0,\"nanoChange\",\"handleChangeEvent\"],[0,\"change\",\"handleChangeEvent\"]]]]],[\"nano-algolia-input.cjs\",[[1,\"nano-algolia-input\",{\"appId\":[1,\"app-id\"],\"apiKey\":[1,\"api-key\"],\"searchIndex\":[1040],\"searchIndexName\":[1,\"search-index-name\"],\"minChars\":[2,\"min-chars\"],\"autoEmit\":[4,\"auto-emit\"],\"browseIndex\":[1028,\"browse-index\"],\"storeId\":[1,\"store-id\"],\"storeMethod\":[1,\"store-method\"],\"searchStr\":[32],\"algoliaIndex\":[32],\"currentResults\":[32],\"search\":[64]},[[0,\"nanoChange\",\"searchSubmit\"]]]]],[\"nano-algolia-pagination.cjs\",[[1,\"nano-algolia-pagination\",{\"maxToShow\":[2,\"max-to-show\"],\"currentPage\":[32],\"canGoPrev\":[32],\"canGoNext\":[32],\"show\":[32],\"tplRenderFn\":[32],\"indexResults\":[32],\"infiniteScroll\":[32],\"nextPage\":[64],\"prevPage\":[64],\"goToPage\":[64]}]]],[\"nano-algolia-results.cjs\",[[1,\"nano-algolia-results\",{\"infiniteScroll\":[4,\"infinite-scroll\"],\"appendPages\":[4,\"append-pages\"],\"showResults\":[32],\"tplRenderFn\":[32],\"results\":[32],\"indexResults\":[32],\"resultsPage\":[32],\"changeEvent\":[32],\"facets\":[32],\"isLoading\":[32]}]]],[\"nano-aspect-ratio.cjs\",[[1,\"nano-aspect-ratio\",{\"aspectRatio\":[1,\"aspect-ratio\"],\"fit\":[1]}]]],[\"nano-checkbox.cjs\",[[6,\"nano-checkbox\",{\"hasFocus\":[1540,\"has-focus\"],\"checked\":[1540],\"disabled\":[516],\"value\":[513],\"name\":[513],\"required\":[516],\"type\":[513],\"label\":[1],\"indeterminate\":[1540],\"invalid\":[2564],\"color\":[1],\"_invalid\":[32],\"inputType\":[32],\"getInputElement\":[64],\"reportValidity\":[64],\"setError\":[64],\"setFocus\":[64],\"removeFocus\":[64]}]]],[\"nano-checkbox-group.cjs\",[[6,\"nano-checkbox-group\",{\"validateOn\":[1025,\"validate-on\"],\"showInlineError\":[4,\"show-inline-error\"],\"min\":[2],\"max\":[2],\"disabled\":[516],\"legend\":[1],\"invalid\":[2564],\"checkboxes\":[32],\"nativeCbs\":[32],\"errorMessage\":[32],\"showErrorMsg\":[32],\"hasHelperSlot\":[32],\"reportValidity\":[64]},[[0,\"nanoChange\",\"handleCbChange\"]]]]],[\"nano-details.cjs\",[[1,\"nano-details\",{\"label\":[1],\"open\":[1540],\"noHandle\":[4,\"no-handle\"],\"iconRotation\":[2,\"icon-rotation\"],\"color\":[1],\"isLoading\":[32]}]]],[\"nano-drawer.cjs\",[[1,\"nano-drawer\",{\"open\":[1540],\"label\":[1],\"placement\":[1],\"contained\":[4],\"noHeader\":[4,\"no-header\"],\"type\":[1],\"contentSelector\":[1,\"content-selector\"],\"hasFooter\":[32],\"isVisible\":[32],\"show\":[64],\"hide\":[64]}]]],[\"nano-range.cjs\",[[6,\"nano-range\",{\"color\":[1],\"debounce\":[2],\"name\":[1],\"dualKnobs\":[4,\"dual-knobs\"],\"min\":[2],\"max\":[2],\"pin\":[4],\"snaps\":[4],\"step\":[2],\"ticks\":[4],\"disabled\":[4],\"value\":[1026],\"ratioA\":[32],\"ratioB\":[32],\"pressedKnob\":[32]}]]],[\"nano-rating.cjs\",[[2,\"nano-rating\",{\"value\":[1538],\"max\":[2],\"precision\":[2],\"readonly\":[4],\"disabled\":[4],\"name\":[1],\"symbolName\":[1,\"symbol-name\"],\"symbol\":[16],\"hoverValue\":[32],\"isHovering\":[32],\"setFocus\":[64],\"removeFocus\":[64]}]]],[\"nano-slide.cjs\",[[1,\"nano-slide\",{\"ready\":[1540]}]]],[\"nano-slides.cjs\",[[1,\"nano-slides\",{\"options\":[1040],\"navbtns\":[4],\"pager\":[4],\"fullscreenbtn\":[4],\"fullscreen\":[1540],\"animation\":[513],\"currentSlide\":[1538,\"current-slide\"],\"autoplay\":[8],\"ready\":[1540],\"iCurrentSlide\":[32],\"slidesReady\":[32],\"didInit\":[32],\"update\":[64],\"updateAutoHeight\":[64],\"slideTo\":[64],\"slideNext\":[64],\"slidePrev\":[64],\"getActiveIndex\":[64],\"length\":[64],\"isEnd\":[64],\"isBeginning\":[64],\"startAutoplay\":[64],\"stopAutoplay\":[64],\"lockSwipes\":[64],\"getflickity\":[64],\"reload\":[64]}]]],[\"nano-tab-content.cjs\",[[1,\"nano-tab-content\",{\"name\":[513],\"active\":[516]}]]],[\"nano-spinner.cjs\",[[1,\"nano-spinner\",{\"type\":[1],\"overlay\":[516],\"hasText\":[32]}]]],[\"nano-algolia.cjs\",[[1,\"nano-algolia\",{\"showResults\":[1028,\"show-results\"],\"resultsPage\":[1026,\"results-page\"],\"appId\":[1025,\"app-id\"],\"apiKey\":[1025,\"api-key\"],\"searchIndex\":[1040],\"searchIndexName\":[1025,\"search-index-name\"],\"listenTo\":[1,\"listen-to\"],\"query\":[1025],\"operator\":[1],\"filters\":[16],\"tplEngine\":[16],\"tplRenderFn\":[16],\"replicaIndex\":[1025,\"replica-index\"],\"browseIndex\":[1028,\"browse-index\"],\"minChars\":[2,\"min-chars\"],\"storeId\":[1,\"store-id\"],\"storeMethod\":[1,\"store-method\"],\"_dynFacetFilters\":[32],\"inputField\":[32],\"algoliaIndex\":[32],\"indeces\":[32],\"resultsEmitterEle\":[32],\"indexResults\":[32],\"filterChanged\":[32],\"currentHits\":[32],\"changeEvent\":[32],\"isLoading\":[32],\"wormholeState\":[32],\"removeFilters\":[64]},[[0,\"nanoTplUpdated\",\"onAllTplUpdate\"],[0,\"nanoPageChanged\",\"onPageChange\"],[0,\"nanoFilterChanged\",\"onFilterChange\"],[16,\"nanoChange\",\"handleInputChange\"],[16,\"change\",\"handleInputChange\"]]]]],[\"nano-date-picker.cjs\",[[1,\"nano-date-picker\",{\"selectedDate\":[1025,\"selected-date\"],\"min\":[1],\"max\":[1],\"firstDayOfWeek\":[2,\"first-day-of-week\"],\"localization\":[16],\"color\":[1],\"isDateDisabled\":[16],\"isModal\":[4,\"is-modal\"],\"firstFocusEle\":[16],\"activeFocus\":[32],\"focusedDay\":[32],\"setFocus\":[64]}]]],[\"nano-tooltip.cjs\",[[1,\"nano-tooltip\",{\"content\":[1],\"placement\":[1],\"disabled\":[4],\"distance\":[2],\"open\":[1540],\"skidding\":[2],\"trigger\":[1],\"show\":[64],\"hide\":[64]}]]],[\"nano-sticker.cjs\",[[1,\"nano-sticker\",{\"autoResize\":[4,\"auto-resize\"],\"isSticky\":[1028,\"is-sticky\"],\"offset\":[1026],\"position\":[1],\"quietMode\":[1,\"quiet-mode\"],\"hideOnNewStickers\":[4,\"hide-on-new-stickers\"],\"breakPointMax\":[2,\"break-point-max\"],\"breakPointMin\":[2,\"break-point-min\"],\"scrollParent\":[1040],\"stickTo\":[1,\"stick-to\"],\"isStuck\":[32],\"isRootSticker\":[32],\"hide\":[32],\"scrollHide\":[32],\"multiStickerHide\":[32],\"scrollingTo\":[32],\"quietModeIsOn\":[32],\"stuckCounter\":[32],\"stickerIndex\":[32],\"stickToEle\":[32],\"triggerPos\":[32],\"trigger\":[32],\"_offset\":[32],\"isHiding\":[64],\"isSticking\":[64],\"setTriggerPos\":[64],\"getTriggerPos\":[64],\"pauseHiding\":[64]}]]],[\"nano-icon-button.cjs\",[[2,\"nano-icon-button\",{\"iconName\":[1,\"icon-name\"],\"iconSrc\":[1,\"icon-src\"],\"type\":[513],\"name\":[513],\"value\":[513],\"label\":[1],\"disabled\":[516],\"href\":[1],\"target\":[1]}]]],[\"nano-resize-observe_2.cjs\",[[1,\"nano-resize-observe\",{\"states\":[1],\"currentWidth\":[32],\"currentHeight\":[32],\"classNames\":[32]}],[1,\"nano-skeleton\",{\"animated\":[4]}]]],[\"nano-dropdown.cjs\",[[1,\"nano-dropdown\",{\"autoOpen\":[4,\"auto-open\"],\"open\":[1540],\"closeOnSelect\":[4,\"close-on-select\"],\"containingElement\":[1040],\"tetherTo\":[16],\"placement\":[1],\"distance\":[2],\"skidding\":[2],\"hoist\":[4],\"dialogTitle\":[1,\"dialog-title\"],\"show\":[64],\"hide\":[64]},[[0,\"nanoOpen\",\"secondaryOpen\"],[0,\"nanoClose\",\"secondaryClose\"],[0,\"nanoSelect\",\"handlePanelSelect\"]]]]],[\"nano-icon.cjs\",[[1,\"nano-icon\",{\"color\":[1],\"ariaLabel\":[1537,\"aria-label\"],\"flipRtl\":[4,\"flip-rtl\"],\"name\":[1],\"src\":[1],\"icon\":[8],\"size\":[1],\"lazy\":[4],\"svgContent\":[32],\"isVisible\":[32],\"isLoading\":[32]}]]],[\"nano-datalist_3.cjs\",[[1,\"nano-datalist\",{\"selected\":[1040],\"dropDownConfig\":[6160],\"options\":[16],\"input\":[1],\"type\":[1],\"activeOptions\":[2064],\"open\":[1028],\"disableFilter\":[4,\"disable-filter\"],\"disabled\":[4],\"actvOptEles\":[32],\"connectedInput\":[32],\"inputLabel\":[32],\"hasNoResult\":[32],\"shouldOpen\":[32],\"canOpen\":[32],\"optionIds\":[32]}],[1,\"nano-option\",{\"value\":[1537],\"label\":[1537],\"selected\":[516],\"disabled\":[516],\"filterMeta\":[1,\"filter-meta\"],\"hasFocus\":[32]},[[0,\"keydown\",\"handleKeyDown\"]]],[1,\"nano-menu\",{\"hasFocus\":[2052,\"has-focus\"],\"type\":[1],\"label\":[1],\"setFocus\":[64],\"removeFocus\":[64],\"showActiveElement\":[64],\"resetActiveItem\":[64]},[[17,\"mousedown\",\"handleBlur\"],[0,\"keydown\",\"handleBlur\"]]]]],[\"nano-nav-item_2.cjs\",[[6,\"nano-select\",{\"invalid\":[2564],\"color\":[1],\"autofocus\":[4],\"disabled\":[516],\"validateOn\":[1025,\"validate-on\"],\"showInlineError\":[516,\"show-inline-error\"],\"label\":[1],\"hideLabel\":[4,\"hide-label\"],\"floatLabel\":[4,\"float-label\"],\"multiple\":[4],\"name\":[1],\"placeholder\":[1],\"readonly\":[516],\"required\":[4],\"size\":[2],\"max\":[2],\"min\":[2],\"form\":[1],\"allowCustomValues\":[4,\"allow-custom-values\"],\"value\":[6145],\"options\":[6160],\"clearSelect\":[4,\"clear-select\"],\"mask\":[4],\"debounce\":[2],\"dropDownConfig\":[1040],\"currInsertIndex\":[32],\"showErrorMsg\":[32],\"errorMessage\":[32],\"hasFocus\":[32],\"hasLabelSlot\":[32],\"hasHelperSlot\":[32],\"inputSearchVal\":[32],\"_eOptions\":[32],\"reportValidity\":[64],\"setFocus\":[64],\"getSelectElement\":[64],\"showError\":[64]},[[17,\"mousedown\",\"handleBlur\"],[0,\"keydown\",\"handleBlur\"]]],[1,\"nano-nav-item\",{\"href\":[1025],\"target\":[1],\"disabled\":[4],\"open\":[1540],\"selected\":[516],\"secondaryActiveWidth\":[2,\"secondary-active-width\"],\"secondaryFallback\":[16],\"closeOnBlur\":[4,\"close-on-blur\"],\"notification\":[4],\"didOpen\":[32],\"isInGlobalNav\":[32],\"isInMenuDrawer\":[32],\"isInMenu\":[32],\"isLegacy\":[32],\"hasFocus\":[32],\"setFocus\":[64]}]]],[\"nano-input.cjs\",[[6,\"nano-input\",{\"invalid\":[2564],\"color\":[1],\"accept\":[1],\"autocapitalise\":[1],\"autocomplete\":[1],\"autocorrect\":[1],\"autofocus\":[4],\"clearInput\":[4,\"clear-input\"],\"clearOnEdit\":[4,\"clear-on-edit\"],\"debounce\":[2],\"disabled\":[516],\"inputmode\":[1],\"validateOn\":[1025,\"validate-on\"],\"showInlineError\":[516,\"show-inline-error\"],\"label\":[1],\"hideLabel\":[4,\"hide-label\"],\"floatLabel\":[4,\"float-label\"],\"max\":[1],\"maxlength\":[2],\"min\":[1],\"minlength\":[2],\"multiple\":[4],\"name\":[1],\"pattern\":[1],\"placeholder\":[1],\"readonly\":[516],\"required\":[4],\"spellcheck\":[4],\"step\":[1],\"size\":[2],\"type\":[1],\"form\":[1],\"value\":[1025],\"resize\":[1],\"rows\":[2],\"showCharCount\":[4,\"show-char-count\"],\"hasFocus\":[32],\"hasLabelSlot\":[32],\"hasHelperSlot\":[32],\"errorMessage\":[32],\"datalist\":[32],\"_invalid\":[32],\"reportValidity\":[64],\"setFocus\":[64],\"getInputElement\":[64],\"showError\":[64]},[[16,\"reset\",\"onReset\"],[17,\"mousedown\",\"handleBlur\"],[0,\"keydown\",\"handleBlur\"]]]]],[\"nano-grid_3.cjs\",[[1,\"nano-img\",{\"alt\":[1],\"src\":[1],\"srcSet\":[1,\"src-set\"],\"lazy\":[4],\"background\":[4],\"autoHeight\":[1,\"auto-height\"],\"loadSrc\":[32],\"loadError\":[32],\"hasLoaded\":[32],\"imgStates\":[32],\"_src\":[32]}],[1,\"nano-grid\",{\"sSize\":[2,\"s-size\"],\"mSize\":[2,\"m-size\"],\"lSize\":[2,\"l-size\"],\"xlSize\":[2,\"xl-size\"],\"sCols\":[2,\"s-cols\"],\"mCols\":[2,\"m-cols\"],\"lCols\":[2,\"l-cols\"],\"xlCols\":[2,\"xl-cols\"],\"xxlCols\":[2,\"xxl-cols\"],\"showHelper\":[516,\"show-helper\"],\"contentPanel\":[516,\"content-panel\"],\"fullHeight\":[516,\"full-height\"],\"ready\":[32],\"isSmall\":[32],\"isMedium\":[32],\"isLarge\":[32],\"isXL\":[32],\"isXXL\":[32]}],[1,\"nano-grid-item\",{\"gridStates\":[1,\"grid-states\"],\"changeBP\":[64]}]]]]"), options);
35
+ return index.bootstrapLazy(JSON.parse("[[\"nano-global-nav.cjs\",[[1,\"nano-global-nav\",{\"env\":[1],\"ssoDataUrl\":[1,\"sso-data-url\"],\"ssoRedirect\":[1,\"sso-redirect\"],\"getMyAccountData\":[4,\"get-my-account-data\"],\"activeMyAccountSections\":[16],\"showSearch\":[4,\"show-search\"],\"showLogo\":[4,\"show-logo\"],\"logoUrl\":[1,\"logo-url\"],\"searchIndeces\":[16],\"myAccountUser\":[1040],\"searchAppId\":[1025,\"search-app-id\"],\"searchApiKey\":[1025,\"search-api-key\"],\"searchValue\":[1025,\"search-value\"],\"searchIndex\":[1025,\"search-index\"],\"cartCount\":[1026,\"cart-count\"],\"msgCount\":[1026,\"msg-count\"],\"cartUrl\":[1025,\"cart-url\"],\"msgUrl\":[1025,\"msg-url\"],\"hasLoggedinSlot\":[32],\"hasSiteSlot\":[32],\"hasPromotionSlot\":[32],\"aboutSlotLen\":[32],\"iconSlotLen\":[32],\"mainSlotLen\":[32],\"overflowSlotLen\":[32],\"searchSlotLen\":[32],\"internalSearchIndeces\":[32],\"thresholdReady\":[32],\"remoteDataReady\":[32],\"ready\":[32],\"isResizing\":[32],\"intersectRatio\":[32],\"threshold\":[32],\"modalOpen\":[32],\"modalIsOpen\":[32],\"searchBarShown\":[32],\"scrollingUp\":[32],\"searchLoading\":[32],\"showAutocomplete\":[32],\"secondaryMenuOpen\":[32],\"userMenuOpen\":[32],\"menuFullScreen\":[32],\"searchValInternal\":[32],\"submitSearch\":[64]},[[0,\"nanoOpen\",\"secondaryOpen\"],[0,\"nanoClose\",\"secondaryClose\"]]]]],[\"nano-hero.cjs\",[[1,\"nano-hero\",{\"imgSrc\":[1,\"img-src\"],\"imgSrcSet\":[1,\"img-src-set\"],\"largeScreenBP\":[2,\"large-screen-b-p\"],\"theme\":[1],\"level\":[1],\"gridSizes\":[32],\"hasIconBox\":[32],\"hasScrim\":[32],\"hasSecondaryContent\":[32],\"hasQuote\":[32],\"hasBg\":[32],\"hasBackBtn\":[32],\"hasCtas\":[32],\"breadCrumbs\":[32],\"iconBoxItems\":[32]}]]],[\"nano-date-input.cjs\",[[6,\"nano-date-input\",{\"invalid\":[2564],\"validityMessage\":[2049,\"validity-message\"],\"helperText\":[4,\"helper-text\"],\"helperTextFormat\":[16],\"floatLabel\":[4,\"float-label\"],\"name\":[1],\"readonly\":[4],\"size\":[2],\"form\":[1],\"firstDayOfWeek\":[2,\"first-day-of-week\"],\"localization\":[16],\"disabled\":[4],\"color\":[1],\"autofocus\":[4],\"clearInput\":[4,\"clear-input\"],\"label\":[1],\"placeholder\":[1025],\"value\":[1537],\"validateOn\":[1,\"validate-on\"],\"showInlineError\":[516,\"show-inline-error\"],\"dateOrder\":[1,\"date-order\"],\"required\":[4],\"min\":[1],\"max\":[1],\"hideLabel\":[4,\"hide-label\"],\"picker\":[4],\"initialPickerDate\":[1,\"initial-picker-date\"],\"pickerOpen\":[1540,\"picker-open\"],\"closeAfterPicked\":[4,\"close-after-picked\"],\"dropDownConfig\":[6160],\"pattern\":[32],\"inputValue\":[32],\"_invalid\":[32],\"reportValidity\":[64],\"setFocus\":[64],\"getInputElement\":[64],\"showError\":[64]}]]],[\"nano-dialog.cjs\",[[1,\"nano-dialog\",{\"showRibbon\":[4,\"show-ribbon\"],\"open\":[1540],\"label\":[1],\"noHeader\":[4,\"no-header\"],\"noFooter\":[4,\"no-footer\"],\"noUserDismiss\":[4,\"no-user-dismiss\"],\"storeId\":[1,\"store-id\"],\"storeMethod\":[1,\"store-method\"],\"hoist\":[4],\"isVisible\":[32],\"noDismiss\":[32],\"hasFooter\":[32],\"show\":[64],\"hide\":[64]}]]],[\"nano-file-upload.cjs\",[[6,\"nano-file-upload\",{\"name\":[1],\"accept\":[1],\"capture\":[1],\"maxFileSize\":[2,\"max-file-size\"],\"maxFiles\":[2,\"max-files\"],\"label\":[1],\"placeholder\":[1],\"hideLabel\":[4,\"hide-label\"],\"required\":[4],\"disabled\":[516],\"clearInput\":[4,\"clear-input\"],\"showInlineError\":[516,\"show-inline-error\"],\"validateOn\":[1025,\"validate-on\"],\"form\":[1],\"invalid\":[2564],\"validityMessage\":[2049,\"validity-message\"],\"files\":[2064],\"value\":[6145],\"hasHelperSlot\":[32],\"hasLabelSlot\":[32],\"errorMessage\":[32],\"isDragging\":[32],\"fileList\":[32],\"hasFocus\":[32],\"_invalid\":[32],\"reportValidity\":[64],\"setFocus\":[64],\"getInputElement\":[64],\"showError\":[64]},[[8,\"click\",\"globalClickHandler\"],[8,\"keydown\",\"globalKeydownHandler\"],[16,\"reset\",\"onReset\"]]]]],[\"nano-alert.cjs\",[[1,\"nano-alert\",{\"open\":[1540],\"closable\":[516],\"color\":[513],\"duration\":[2],\"isModal\":[32],\"isToast\":[32],\"isShowing\":[32],\"label\":[32],\"show\":[64],\"hide\":[64],\"toast\":[64],\"alert\":[64]}]]],[\"nano-global-search-results.cjs\",[[1,\"nano-global-search-results\",{\"algoliaEle\":[32],\"currentWidth\":[32],\"apiKey\":[32],\"appId\":[32],\"index\":[32]},[[16,\"nanoSearchReset\",\"handleGlobalNavReset\"],[16,\"nanoSearchResult\",\"handleGlobalNavSearch\"],[0,\"nanoChange\",\"handleReorder\"],[0,\"nanoResultsShown\",\"attachListeners\"],[16,\"nanoNewResults\",\"attachResultListeners\"]]]]],[\"nano-tab.cjs\",[[1,\"nano-tab\",{\"panel\":[513],\"active\":[516],\"disabled\":[516],\"closable\":[4],\"setFocus\":[64],\"removeFocus\":[64]}]]],[\"nano-menu-drawer.cjs\",[[1,\"nano-menu-drawer\",{\"open\":[4],\"saveState\":[4,\"save-state\"],\"hideWidth\":[2,\"hide-width\"],\"hideHeight\":[4,\"hide-height\"],\"reset\":[32],\"widthOk\":[32],\"heightOk\":[32],\"isLoading\":[32],\"hide\":[32]},[[0,\"nanoOpen\",\"cancelNavItemEvents\"],[0,\"nanoClose\",\"cancelNavItemEvents\"],[16,\"nanoIsReady\",\"handleGlobalNavReady\"]]]]],[\"nano-split-pane.cjs\",[[1,\"nano-split-pane\",{\"position\":[6146],\"positionInPixels\":[1026,\"position-in-pixels\"],\"vertical\":[516],\"disabled\":[516],\"primary\":[1],\"snap\":[1],\"snapThreshold\":[2,\"snap-threshold\"],\"animationDuration\":[2,\"animation-duration\"],\"getPercentageToPixels\":[64],\"getPixelsToPercentage\":[64]}]]],[\"nano-tab-group.cjs\",[[1,\"nano-tab-group\",{\"placement\":[1],\"noScrollControls\":[4,\"no-scroll-controls\"],\"color\":[1],\"storeId\":[1,\"store-id\"],\"storeMethod\":[1,\"store-method\"],\"disableSwipe\":[4,\"disable-swipe\"],\"hasScrollControls\":[32],\"hideControlRight\":[32],\"hideControlLeft\":[32],\"isLegacy\":[32],\"tab\":[32],\"show\":[64]},[[0,\"nanoTabClose\",\"handleTabClose\"]]]]],[\"nano-accordion.cjs\",[[1,\"nano-accordion\",{\"color\":[1],\"itemOpened\":[32]},[[0,\"nanoOpened\",\"onToggleHandler\"],[0,\"nanoClosed\",\"onClosedHandler\"]]]]],[\"nano-algolia-filter.cjs\",[[1,\"nano-algolia-filter\",{\"filterName\":[1,\"filter-name\"],\"value\":[1025],\"operator\":[1],\"storeId\":[1,\"store-id\"],\"storeMethod\":[1,\"store-method\"],\"changeEvent\":[32],\"internalValue\":[32],\"showFilter\":[32],\"indexResults\":[32],\"filterChanged\":[32],\"facets\":[32],\"tplRenderFn\":[32],\"globalStoreMethod\":[32]},[[0,\"nanoChange\",\"handleChangeEvent\"],[0,\"change\",\"handleChangeEvent\"]]]]],[\"nano-algolia-input.cjs\",[[1,\"nano-algolia-input\",{\"appId\":[1,\"app-id\"],\"apiKey\":[1,\"api-key\"],\"searchIndex\":[1040],\"searchIndexName\":[1,\"search-index-name\"],\"minChars\":[2,\"min-chars\"],\"autoEmit\":[4,\"auto-emit\"],\"browseIndex\":[1028,\"browse-index\"],\"storeId\":[1,\"store-id\"],\"storeMethod\":[1,\"store-method\"],\"searchStr\":[32],\"algoliaIndex\":[32],\"currentResults\":[32],\"search\":[64]},[[0,\"nanoChange\",\"searchSubmit\"]]]]],[\"nano-algolia-pagination.cjs\",[[1,\"nano-algolia-pagination\",{\"maxToShow\":[2,\"max-to-show\"],\"currentPage\":[32],\"canGoPrev\":[32],\"canGoNext\":[32],\"show\":[32],\"tplRenderFn\":[32],\"indexResults\":[32],\"infiniteScroll\":[32],\"nextPage\":[64],\"prevPage\":[64],\"goToPage\":[64]}]]],[\"nano-algolia-results.cjs\",[[1,\"nano-algolia-results\",{\"infiniteScroll\":[4,\"infinite-scroll\"],\"appendPages\":[4,\"append-pages\"],\"showResults\":[32],\"tplRenderFn\":[32],\"results\":[32],\"indexResults\":[32],\"resultsPage\":[32],\"changeEvent\":[32],\"facets\":[32],\"isLoading\":[32]}]]],[\"nano-aspect-ratio.cjs\",[[1,\"nano-aspect-ratio\",{\"aspectRatio\":[1,\"aspect-ratio\"],\"fit\":[1]}]]],[\"nano-checkbox.cjs\",[[6,\"nano-checkbox\",{\"hasFocus\":[1540,\"has-focus\"],\"checked\":[1540],\"disabled\":[516],\"value\":[513],\"name\":[513],\"required\":[516],\"type\":[513],\"label\":[1],\"indeterminate\":[1540],\"invalid\":[2564],\"validityMessage\":[2049,\"validity-message\"],\"color\":[1],\"form\":[1],\"inputType\":[32],\"_invalid\":[32],\"getInputElement\":[64],\"reportValidity\":[64],\"setError\":[64],\"setFocus\":[64],\"removeFocus\":[64]},[[16,\"reset\",\"onReset\"]]]]],[\"nano-checkbox-group.cjs\",[[6,\"nano-checkbox-group\",{\"validateOn\":[1025,\"validate-on\"],\"showInlineError\":[4,\"show-inline-error\"],\"min\":[2],\"max\":[2],\"disabled\":[516],\"legend\":[1],\"invalid\":[2564],\"validityMessage\":[2049,\"validity-message\"],\"checkboxes\":[32],\"nativeCbs\":[32],\"errorMessage\":[32],\"showErrorMsg\":[32],\"hasHelperSlot\":[32],\"_invalid\":[32],\"reportValidity\":[64],\"showError\":[64]},[[0,\"nanoChange\",\"handleCbChange\"]]]]],[\"nano-details.cjs\",[[1,\"nano-details\",{\"label\":[1],\"open\":[1540],\"noHandle\":[4,\"no-handle\"],\"iconRotation\":[2,\"icon-rotation\"],\"color\":[1],\"isLoading\":[32]}]]],[\"nano-drawer.cjs\",[[1,\"nano-drawer\",{\"open\":[1540],\"label\":[1],\"placement\":[1],\"contained\":[4],\"noHeader\":[4,\"no-header\"],\"type\":[1],\"contentSelector\":[1,\"content-selector\"],\"hasFooter\":[32],\"isVisible\":[32],\"show\":[64],\"hide\":[64]}]]],[\"nano-field-validator.cjs\",[[4,\"nano-field-validator\",{\"validateOn\":[1025,\"validate-on\"],\"scrollToInvalid\":[4,\"scroll-to-invalid\"],\"dirty\":[2564],\"valid\":[2564],\"payload\":[2064],\"showValidation\":[2052,\"show-validation\"],\"validationState\":[2064],\"validation\":[16],\"store\":[32],\"userForm\":[32],\"submitted\":[32],\"_dirty\":[32],\"_valid\":[32]}]]],[\"nano-range.cjs\",[[6,\"nano-range\",{\"color\":[1],\"debounce\":[2],\"name\":[1],\"dualKnobs\":[4,\"dual-knobs\"],\"min\":[2],\"max\":[2],\"pin\":[4],\"snaps\":[4],\"step\":[2],\"ticks\":[4],\"disabled\":[4],\"value\":[1026],\"ratioA\":[32],\"ratioB\":[32],\"pressedKnob\":[32]}]]],[\"nano-rating.cjs\",[[2,\"nano-rating\",{\"value\":[1538],\"max\":[2],\"precision\":[2],\"readonly\":[4],\"disabled\":[4],\"name\":[1],\"symbolName\":[1,\"symbol-name\"],\"symbol\":[16],\"hoverValue\":[32],\"isHovering\":[32],\"setFocus\":[64],\"removeFocus\":[64]}]]],[\"nano-slide.cjs\",[[1,\"nano-slide\",{\"ready\":[1540]}]]],[\"nano-slides.cjs\",[[1,\"nano-slides\",{\"options\":[1040],\"navbtns\":[4],\"pager\":[4],\"fullscreenbtn\":[4],\"fullscreen\":[1540],\"animation\":[513],\"currentSlide\":[1538,\"current-slide\"],\"autoplay\":[8],\"ready\":[1540],\"iCurrentSlide\":[32],\"slidesReady\":[32],\"didInit\":[32],\"update\":[64],\"updateAutoHeight\":[64],\"slideTo\":[64],\"slideNext\":[64],\"slidePrev\":[64],\"getActiveIndex\":[64],\"length\":[64],\"isEnd\":[64],\"isBeginning\":[64],\"startAutoplay\":[64],\"stopAutoplay\":[64],\"lockSwipes\":[64],\"getflickity\":[64],\"reload\":[64]}]]],[\"nano-tab-content.cjs\",[[1,\"nano-tab-content\",{\"name\":[513],\"active\":[516]}]]],[\"nano-algolia.cjs\",[[1,\"nano-algolia\",{\"showResults\":[1028,\"show-results\"],\"resultsPage\":[1026,\"results-page\"],\"appId\":[1025,\"app-id\"],\"apiKey\":[1025,\"api-key\"],\"searchIndex\":[1040],\"searchIndexName\":[1025,\"search-index-name\"],\"listenTo\":[1,\"listen-to\"],\"query\":[1025],\"operator\":[1],\"filters\":[16],\"tplEngine\":[16],\"tplRenderFn\":[16],\"replicaIndex\":[1025,\"replica-index\"],\"browseIndex\":[1028,\"browse-index\"],\"minChars\":[2,\"min-chars\"],\"storeId\":[1,\"store-id\"],\"storeMethod\":[1,\"store-method\"],\"_dynFacetFilters\":[32],\"inputField\":[32],\"algoliaIndex\":[32],\"indeces\":[32],\"resultsEmitterEle\":[32],\"indexResults\":[32],\"filterChanged\":[32],\"currentHits\":[32],\"changeEvent\":[32],\"isLoading\":[32],\"wormholeState\":[32],\"removeFilters\":[64]},[[0,\"nanoTplUpdated\",\"onAllTplUpdate\"],[0,\"nanoPageChanged\",\"onPageChange\"],[0,\"nanoFilterChanged\",\"onFilterChange\"],[16,\"nanoChange\",\"handleInputChange\"],[16,\"change\",\"handleInputChange\"]]]]],[\"nano-date-picker.cjs\",[[1,\"nano-date-picker\",{\"selectedDate\":[1025,\"selected-date\"],\"min\":[1],\"max\":[1],\"firstDayOfWeek\":[2,\"first-day-of-week\"],\"localization\":[16],\"color\":[1],\"isDateDisabled\":[16],\"isModal\":[4,\"is-modal\"],\"firstFocusEle\":[16],\"activeFocus\":[32],\"focusedDay\":[32],\"setFocus\":[64]}]]],[\"nano-tooltip.cjs\",[[1,\"nano-tooltip\",{\"content\":[1],\"placement\":[1],\"disabled\":[4],\"distance\":[2],\"open\":[1540],\"skidding\":[2],\"trigger\":[1],\"show\":[64],\"hide\":[64]}]]],[\"nano-spinner.cjs\",[[1,\"nano-spinner\",{\"type\":[1],\"overlay\":[516],\"hasText\":[32]}]]],[\"nano-sticker.cjs\",[[1,\"nano-sticker\",{\"autoResize\":[4,\"auto-resize\"],\"isSticky\":[1028,\"is-sticky\"],\"offset\":[1026],\"position\":[1],\"quietMode\":[1,\"quiet-mode\"],\"hideOnNewStickers\":[4,\"hide-on-new-stickers\"],\"breakPointMax\":[2,\"break-point-max\"],\"breakPointMin\":[2,\"break-point-min\"],\"scrollParent\":[1040],\"stickTo\":[1,\"stick-to\"],\"isStuck\":[32],\"isRootSticker\":[32],\"hide\":[32],\"scrollHide\":[32],\"multiStickerHide\":[32],\"scrollingTo\":[32],\"quietModeIsOn\":[32],\"stuckCounter\":[32],\"stickerIndex\":[32],\"stickToEle\":[32],\"triggerPos\":[32],\"trigger\":[32],\"_offset\":[32],\"isHiding\":[64],\"isSticking\":[64],\"setTriggerPos\":[64],\"getTriggerPos\":[64],\"pauseHiding\":[64]}]]],[\"nano-icon-button.cjs\",[[2,\"nano-icon-button\",{\"iconName\":[1,\"icon-name\"],\"iconSrc\":[1,\"icon-src\"],\"type\":[513],\"name\":[513],\"value\":[513],\"label\":[1],\"disabled\":[516],\"href\":[1],\"target\":[1]}]]],[\"nano-resize-observe_2.cjs\",[[1,\"nano-resize-observe\",{\"states\":[1],\"currentWidth\":[32],\"currentHeight\":[32],\"classNames\":[32]}],[1,\"nano-skeleton\",{\"animated\":[4]}]]],[\"nano-dropdown.cjs\",[[1,\"nano-dropdown\",{\"autoOpen\":[4,\"auto-open\"],\"open\":[1540],\"closeOnSelect\":[4,\"close-on-select\"],\"containingElement\":[1040],\"tetherTo\":[16],\"placement\":[1],\"distance\":[2],\"skidding\":[2],\"hoist\":[4],\"dialogTitle\":[1,\"dialog-title\"],\"show\":[64],\"hide\":[64]},[[0,\"nanoOpen\",\"secondaryOpen\"],[0,\"nanoClose\",\"secondaryClose\"],[0,\"nanoSelect\",\"handlePanelSelect\"]]]]],[\"nano-icon.cjs\",[[1,\"nano-icon\",{\"color\":[1],\"ariaLabel\":[1537,\"aria-label\"],\"flipRtl\":[4,\"flip-rtl\"],\"name\":[1],\"src\":[1],\"icon\":[8],\"size\":[1],\"lazy\":[4],\"svgContent\":[32],\"isVisible\":[32],\"isLoading\":[32]}]]],[\"nano-datalist_3.cjs\",[[1,\"nano-datalist\",{\"selected\":[1040],\"dropDownConfig\":[6160],\"options\":[16],\"input\":[1],\"type\":[1],\"activeOptions\":[2064],\"open\":[1028],\"disableFilter\":[4,\"disable-filter\"],\"disabled\":[4],\"actvOptEles\":[32],\"connectedInput\":[32],\"inputLabel\":[32],\"hasNoResult\":[32],\"shouldOpen\":[32],\"canOpen\":[32],\"optionIds\":[32]}],[1,\"nano-option\",{\"value\":[1537],\"label\":[1537],\"selected\":[516],\"disabled\":[516],\"filterMeta\":[1,\"filter-meta\"],\"hasFocus\":[32]},[[0,\"keydown\",\"handleKeyDown\"]]],[1,\"nano-menu\",{\"hasFocus\":[2052,\"has-focus\"],\"type\":[1],\"label\":[1],\"setFocus\":[64],\"removeFocus\":[64],\"showActiveElement\":[64],\"resetActiveItem\":[64]},[[17,\"mousedown\",\"handleBlur\"],[0,\"keydown\",\"handleBlur\"]]]]],[\"nano-nav-item_2.cjs\",[[6,\"nano-select\",{\"invalid\":[2564],\"validityMessage\":[2049,\"validity-message\"],\"color\":[1],\"autofocus\":[4],\"disabled\":[516],\"validateOn\":[1025,\"validate-on\"],\"showInlineError\":[516,\"show-inline-error\"],\"label\":[1],\"hideLabel\":[4,\"hide-label\"],\"floatLabel\":[4,\"float-label\"],\"multiple\":[4],\"name\":[1],\"placeholder\":[1],\"readonly\":[516],\"required\":[4],\"size\":[2],\"max\":[2],\"min\":[2],\"form\":[1],\"allowCustomValues\":[4,\"allow-custom-values\"],\"value\":[6145],\"options\":[6160],\"clearSelect\":[4,\"clear-select\"],\"mask\":[4],\"debounce\":[2],\"dropDownConfig\":[1040],\"currInsertIndex\":[32],\"showErrorMsg\":[32],\"errorMessage\":[32],\"hasFocus\":[32],\"hasLabelSlot\":[32],\"hasHelperSlot\":[32],\"hasHelperEndSlot\":[32],\"inputSearchVal\":[32],\"_invalid\":[32],\"_eOptions\":[32],\"reportValidity\":[64],\"setFocus\":[64],\"getSelectElement\":[64],\"showError\":[64]},[[16,\"reset\",\"onReset\"],[17,\"mousedown\",\"handleBlur\"],[0,\"keydown\",\"handleBlur\"]]],[1,\"nano-nav-item\",{\"href\":[1025],\"target\":[1],\"disabled\":[4],\"open\":[1540],\"selected\":[516],\"secondaryActiveWidth\":[2,\"secondary-active-width\"],\"secondaryFallback\":[16],\"closeOnBlur\":[4,\"close-on-blur\"],\"notification\":[4],\"didOpen\":[32],\"isInGlobalNav\":[32],\"isInMenuDrawer\":[32],\"isInMenu\":[32],\"isLegacy\":[32],\"hasFocus\":[32],\"setFocus\":[64]}]]],[\"nano-input.cjs\",[[6,\"nano-input\",{\"invalid\":[2564],\"validityMessage\":[2049,\"validity-message\"],\"color\":[1],\"accept\":[1],\"autocapitalise\":[1],\"autocomplete\":[1],\"autocorrect\":[1],\"autofocus\":[4],\"clearInput\":[4,\"clear-input\"],\"clearOnEdit\":[4,\"clear-on-edit\"],\"debounce\":[2],\"disabled\":[516],\"inputmode\":[1],\"validateOn\":[1025,\"validate-on\"],\"showInlineError\":[516,\"show-inline-error\"],\"label\":[1],\"hideLabel\":[4,\"hide-label\"],\"floatLabel\":[4,\"float-label\"],\"max\":[1],\"maxlength\":[2],\"min\":[1],\"minlength\":[2],\"multiple\":[4],\"name\":[1],\"pattern\":[1],\"placeholder\":[1],\"readonly\":[516],\"required\":[4],\"spellcheck\":[4],\"step\":[1],\"size\":[2],\"type\":[513],\"form\":[1],\"value\":[1025],\"resize\":[1],\"rows\":[2],\"showCharCount\":[4,\"show-char-count\"],\"hasFocus\":[32],\"hasLabelSlot\":[32],\"hasHelperSlot\":[32],\"hasHelperEndSlot\":[32],\"errorMessage\":[32],\"datalist\":[32],\"_invalid\":[32],\"reportValidity\":[64],\"setFocus\":[64],\"getInputElement\":[64],\"showError\":[64]},[[16,\"reset\",\"onReset\"],[17,\"mousedown\",\"handleBlur\"],[0,\"keydown\",\"handleBlur\"]]]]],[\"nano-grid_3.cjs\",[[1,\"nano-img\",{\"alt\":[1],\"src\":[1],\"srcSet\":[1,\"src-set\"],\"lazy\":[4],\"background\":[4],\"autoHeight\":[1,\"auto-height\"],\"loadSrc\":[32],\"loadError\":[32],\"hasLoaded\":[32],\"imgStates\":[32],\"_src\":[32]}],[1,\"nano-grid\",{\"sSize\":[2,\"s-size\"],\"mSize\":[2,\"m-size\"],\"lSize\":[2,\"l-size\"],\"xlSize\":[2,\"xl-size\"],\"sCols\":[2,\"s-cols\"],\"mCols\":[2,\"m-cols\"],\"lCols\":[2,\"l-cols\"],\"xlCols\":[2,\"xl-cols\"],\"xxlCols\":[2,\"xxl-cols\"],\"showHelper\":[516,\"show-helper\"],\"contentPanel\":[516,\"content-panel\"],\"fullHeight\":[516,\"full-height\"],\"ready\":[32],\"isSmall\":[32],\"isMedium\":[32],\"isLarge\":[32],\"isXL\":[32],\"isXXL\":[32]}],[1,\"nano-grid-item\",{\"gridStates\":[1,\"grid-states\"],\"changeBP\":[64]}]]]]"), options);
36
36
  });
37
37
  };
38
38
 
@@ -7,7 +7,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-cb62df44.js');
9
9
  const algoliaData = require('./algolia-data-ed059479.js');
10
- const componentStore = require('./component-store-722032a5.js');
10
+ const componentStore = require('./component-store-19844199.js');
11
11
  require('./_commonjsHelpers-9f2314fc.js');
12
12
  require('./throttle-3c97f7c6.js');
13
13
 
@@ -6,9 +6,9 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-cb62df44.js');
9
- const algoliasearch_umd = require('./algoliasearch.umd-dcf18a4a.js');
9
+ const algoliasearch_umd = require('./algoliasearch.umd-7ee60729.js');
10
10
  const algoliaData = require('./algolia-data-ed059479.js');
11
- const componentStore = require('./component-store-722032a5.js');
11
+ const componentStore = require('./component-store-19844199.js');
12
12
  require('./_commonjsHelpers-9f2314fc.js');
13
13
  require('./throttle-3c97f7c6.js');
14
14
 
@@ -8,9 +8,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
8
8
  const index = require('./index-cb62df44.js');
9
9
  const algoliaData = require('./algolia-data-ed059479.js');
10
10
  const index$1 = require('./index-53d02e05.js');
11
- const algoliasearch_umd = require('./algoliasearch.umd-dcf18a4a.js');
11
+ const algoliasearch_umd = require('./algoliasearch.umd-7ee60729.js');
12
12
  const _commonjsHelpers = require('./_commonjsHelpers-9f2314fc.js');
13
- const componentStore = require('./component-store-722032a5.js');
13
+ const componentStore = require('./component-store-19844199.js');
14
14
  const dom = require('./dom-52f9b8b7.js');
15
15
  const throttle = require('./throttle-3c97f7c6.js');
16
16
 
@@ -9,14 +9,13 @@ const index = require('./index-cb62df44.js');
9
9
  const throttle = require('./throttle-3c97f7c6.js');
10
10
  const theme = require('./theme-7fa08a2b.js');
11
11
 
12
- const checkboxGroupCss = ".sc-nano-checkbox-group-h{-webkit-box-sizing:border-box;box-sizing:border-box}*.sc-nano-checkbox-group,*.sc-nano-checkbox-group::before,*.sc-nano-checkbox-group::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden].sc-nano-checkbox-group{display:none !important}.sc-nano-checkbox-group-h{--control-margin-top:0;--control-margin-end:0;--control-margin-bottom:0;--control-margin-start:0;--invalid-msg-color:var(--nano-color-danger, #ef4135);--invalid-msg-font-size:var(--nano-input-help-font-size, 0.75em);--help-msg-color:var(--nano-input-help-color, #616d6e);--label-color:var(--nano-input-label-color, \"currentColor\");--label-color--invalid:var(--nano-input-label-color-invalid, \"currentColor\");--label-font-size:var(--nano-input-label-color, 1em);--label-padding:var(--nano-input-padding-bottom, var(--nano-input-padding, 8px));display:block}.sc-nano-checkbox-group-h *.sc-nano-checkbox-group{-webkit-box-sizing:inherit;box-sizing:inherit}[types-tag].sc-nano-checkbox-group-h,[types-segment].sc-nano-checkbox-group-h{--control-margin-top:0;--control-margin-end:8px;--control-margin-bottom:8px;--control-margin-start:0}[types-checkbox].sc-nano-checkbox-group-h,[types-radio].sc-nano-checkbox-group-h{--control-margin-top:0;--control-margin-end:10px;--control-margin-bottom:8px;--control-margin-start:0}.nanogroupcb.sc-nano-checkbox-group{border:none;margin:0;padding:0}.nanogroupcb__legend.sc-nano-checkbox-group,.nanogroupcb__error.sc-nano-checkbox-group,.nanogroupcb__help.sc-nano-checkbox-group,.nanogroupcb__more.sc-nano-checkbox-group{display:block;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nanogroupcb__legend.sc-nano-checkbox-group{font-size:var(--label-font-size);padding:0 0 var(--label-padding);margin:0;line-height:1}[invalid].sc-nano-checkbox-group-h:not([invalid=false]) .nanogroupcb__legend.sc-nano-checkbox-group{color:var(--label-color--invalid)}.nanogroupcb__more.sc-nano-checkbox-group{height:1em;margin-left:3px;margin-right:0;margin-top:calc(var(--label-padding) - var(--control-margin-bottom));margin-bottom:var(--label-padding);position:relative}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.nanogroupcb__more.sc-nano-checkbox-group{margin-left:unset;margin-right:unset;-webkit-margin-start:3px;margin-inline-start:3px;-webkit-margin-end:0;margin-inline-end:0}}.nanogroupcb__error.sc-nano-checkbox-group,.nanogroupcb__help.sc-nano-checkbox-group{top:0;left:0;position:absolute;font-size:var(--invalid-msg-font-size);line-height:1.2;-webkit-transition:0.3s ease-out opacity;transition:0.3s ease-out opacity}.show-error.sc-nano-checkbox-group .nanogroupcb__error.sc-nano-checkbox-group,.show-error.sc-nano-checkbox-group .nanogroupcb__help.sc-nano-checkbox-group{opacity:1}.nanogroupcb__error.sc-nano-checkbox-group{color:var(--invalid-msg-color);font-stretch:condensed;opacity:0}.show-error.sc-nano-checkbox-group .nanogroupcb__error.sc-nano-checkbox-group{opacity:1}.nanogroupcb__help.sc-nano-checkbox-group{font-style:italic;opacity:1;color:var(--help-msg-color)}.show-error.sc-nano-checkbox-group .nanogroupcb__help.sc-nano-checkbox-group{opacity:0}.nanogroupcb__cbs.sc-nano-checkbox-group{margin:0;padding:0;line-height:1;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.nanogroupcb__cbs.sc-nano-checkbox-group-s>*:not([type=tag]):not([type=segment]):not([type=segment-pill]),.nanogroupcb__cbs .sc-nano-checkbox-group-s>*:not([type=tag]):not([type=segment]):not([type=segment-pill]){--check-base-size:1.2em;font-size:0.85em}.nanogroupcb__cbs.sc-nano-checkbox-group-s>*,.nanogroupcb__cbs .sc-nano-checkbox-group-s>*{margin-left:var(--control-margin-start);margin-top:var(--control-margin-top);margin-right:var(--control-margin-end);margin-bottom:var(--control-margin-bottom)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.nanogroupcb__cbs.sc-nano-checkbox-group-s>*,.nanogroupcb__cbs .sc-nano-checkbox-group-s>*{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--control-margin-start);margin-inline-start:var(--control-margin-start);-webkit-margin-end:var(--control-margin-end);margin-inline-end:var(--control-margin-end)}}";
12
+ const checkboxGroupCss = ".sc-nano-checkbox-group-h{-webkit-box-sizing:border-box;box-sizing:border-box}*.sc-nano-checkbox-group,*.sc-nano-checkbox-group::before,*.sc-nano-checkbox-group::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden].sc-nano-checkbox-group{display:none !important}.sc-nano-checkbox-group-h{--control-margin-top:0;--control-margin-end:0;--control-margin-bottom:0;--control-margin-start:0;--invalid-msg-color:var(--nano-color-danger, #ef4135);--invalid-msg-font-size:var(--nano-input-help-font-size, 0.75em);--help-msg-color:var(--nano-input-help-color, #616d6e);--label-color:var(--nano-input-label-color, \"currentColor\");--label-color--invalid:var(--nano-input-label-color-invalid, \"currentColor\");--label-font-size:var(--nano-input-label-color, 1em);--label-padding:var(--nano-input-padding-bottom, var(--nano-input-padding, 6px));display:block}.sc-nano-checkbox-group-h *.sc-nano-checkbox-group{-webkit-box-sizing:inherit;box-sizing:inherit}[types-tag].sc-nano-checkbox-group-h,[types-segment].sc-nano-checkbox-group-h{--control-margin-top:0;--control-margin-end:8px;--control-margin-bottom:6px;--control-margin-start:0}[types-checkbox].sc-nano-checkbox-group-h,[types-radio].sc-nano-checkbox-group-h{--control-margin-top:0;--control-margin-end:10px;--control-margin-bottom:6px;--control-margin-start:0}.nanogroupcb.sc-nano-checkbox-group{border:none;margin:0;padding:0}.nanogroupcb__error.sc-nano-checkbox-group,.nanogroupcb__help.sc-nano-checkbox-group,.nanogroupcb__more.sc-nano-checkbox-group{display:block;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.nanogroupcb__legend.sc-nano-checkbox-group{font-size:var(--label-font-size);padding:0 0 var(--label-padding);margin:0;line-height:1.5;white-space:normal;display:block;width:100%}[invalid].sc-nano-checkbox-group-h:not([invalid=false]) .nanogroupcb__legend.sc-nano-checkbox-group{color:var(--label-color--invalid)}.nanogroupcb__more.sc-nano-checkbox-group{height:1em;margin-left:3px;margin-right:0;margin-top:calc(var(--label-padding) - var(--control-margin-bottom));margin-bottom:var(--label-padding);position:relative}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.nanogroupcb__more.sc-nano-checkbox-group{margin-left:unset;margin-right:unset;-webkit-margin-start:3px;margin-inline-start:3px;-webkit-margin-end:0;margin-inline-end:0}}.nanogroupcb__error.sc-nano-checkbox-group,.nanogroupcb__help.sc-nano-checkbox-group{top:0;left:0;position:absolute;font-size:var(--invalid-msg-font-size);line-height:1.2;-webkit-transition:0.3s ease-out opacity;transition:0.3s ease-out opacity}.show-error.sc-nano-checkbox-group .nanogroupcb__error.sc-nano-checkbox-group,.show-error.sc-nano-checkbox-group .nanogroupcb__help.sc-nano-checkbox-group{opacity:1}.nanogroupcb__error.sc-nano-checkbox-group{color:var(--invalid-msg-color);font-stretch:condensed;opacity:0}.show-error.sc-nano-checkbox-group .nanogroupcb__error.sc-nano-checkbox-group{opacity:1}.nanogroupcb__help.sc-nano-checkbox-group{font-style:italic;opacity:1;color:var(--help-msg-color)}.show-error.sc-nano-checkbox-group .nanogroupcb__help.sc-nano-checkbox-group{opacity:0}.nanogroupcb__cbs.sc-nano-checkbox-group{margin:0;padding:0;line-height:1;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.nanogroupcb__cbs.sc-nano-checkbox-group-s>*:not([type=tag]):not([type=segment]):not([type=segment-pill]),.nanogroupcb__cbs .sc-nano-checkbox-group-s>*:not([type=tag]):not([type=segment]):not([type=segment-pill]){--check-base-size:1.2em;font-size:0.85em}.nanogroupcb__cbs.sc-nano-checkbox-group-s>*,.nanogroupcb__cbs .sc-nano-checkbox-group-s>*{margin-left:var(--control-margin-start);margin-top:var(--control-margin-top);margin-right:var(--control-margin-end);margin-bottom:var(--control-margin-bottom)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.nanogroupcb__cbs.sc-nano-checkbox-group-s>*,.nanogroupcb__cbs .sc-nano-checkbox-group-s>*{margin-left:unset;margin-right:unset;-webkit-margin-start:var(--control-margin-start);margin-inline-start:var(--control-margin-start);-webkit-margin-end:var(--control-margin-end);margin-inline-end:var(--control-margin-end)}}";
13
13
 
14
14
  let CheckboxGroup = class {
15
15
  constructor(hostRef) {
16
16
  index.registerInstance(this, hostRef);
17
17
  this.nanoValidate = index.createEvent(this, "nanoValidate", 7);
18
18
  this.grpId = `nano-checkbox-group-${grpIds++}`;
19
- this._invalid = false;
20
19
  this.errorMessage = '';
21
20
  this.showErrorMsg = false;
22
21
  this.hasHelperSlot = false;
@@ -24,7 +23,7 @@ let CheckboxGroup = class {
24
23
  /**
25
24
  * When should the field perform validation
26
25
  */
27
- this.validateOn = 'submit';
26
+ this.validateOn = 'submitThenDirty';
28
27
  /**
29
28
  * Whether to show validation errors underneath input
30
29
  */
@@ -47,6 +46,7 @@ let CheckboxGroup = class {
47
46
  * A common label for children controls
48
47
  */
49
48
  this.legend = '';
49
+ this._invalid = false;
50
50
  this.handleInvalid = (ev) => {
51
51
  this._invalid = true;
52
52
  if (this.validateOn === 'submit') {
@@ -54,7 +54,7 @@ let CheckboxGroup = class {
54
54
  }
55
55
  if (!!this.showInlineError)
56
56
  ev.preventDefault();
57
- setTimeout((_) => this.showInlineValidation(ev), 20);
57
+ this.showInlineValidation(ev);
58
58
  };
59
59
  this.showInlineValidation = (ev) => {
60
60
  if (!this.nativeCbs || !this.nativeCbs.length)
@@ -63,14 +63,11 @@ let CheckboxGroup = class {
63
63
  this.validateOn = 'dirty';
64
64
  this.showErrorMsg = false;
65
65
  this._invalid = false;
66
- this.nativeCbs.forEach((cb, i) => {
66
+ this.nativeCbs.forEach((cb, _i) => {
67
67
  if (!cb.validity.valid) {
68
68
  this.errorMessage = cb.validationMessage;
69
69
  this.showErrorMsg = true;
70
70
  this._invalid = true;
71
- if (!!this.showInlineError) {
72
- this.checkboxes[i].setFocus();
73
- }
74
71
  }
75
72
  });
76
73
  this.nanoValidate.emit({
@@ -87,6 +84,12 @@ let CheckboxGroup = class {
87
84
  get invalid() {
88
85
  return this._invalid;
89
86
  }
87
+ /**
88
+ * Current validation message - if any. @readonly
89
+ */
90
+ get validityMessage() {
91
+ return this.errorMessage;
92
+ }
90
93
  // Public methods
91
94
  /**
92
95
  * Get the current state of the control.
@@ -95,16 +98,37 @@ let CheckboxGroup = class {
95
98
  */
96
99
  async reportValidity(validateFirst) {
97
100
  return new Promise((resolve) => {
98
- if (validateFirst)
101
+ if (validateFirst) {
102
+ this.customValidate();
99
103
  this.showInlineValidation();
104
+ }
100
105
  setTimeout(() => {
101
106
  resolve({
102
107
  isValid: !this.invalid,
103
108
  errorMessage: this.errorMessage,
104
109
  });
105
- }, 20);
110
+ }, 50);
106
111
  });
107
112
  }
113
+ /**
114
+ * Invalidate the field and show a custom error message.
115
+ * To clear the error you will need to re-call this method with an empty string.
116
+ * @param message - the error message to show
117
+ * @param optVal - optionally supply an option value to target which checkbox to show invalidate against (default is the first)
118
+ */
119
+ async showError(message, optVal) {
120
+ let cb;
121
+ if (optVal)
122
+ cb = this.checkboxes.find((c) => c.value === optVal);
123
+ if (!cb)
124
+ cb = this.checkboxes[0];
125
+ if (!cb)
126
+ return;
127
+ this.errorMessage = message;
128
+ await cb.setError(message);
129
+ if (!!this.showInlineError)
130
+ this.showInlineValidation();
131
+ }
108
132
  // listeners & watchers
109
133
  /**
110
134
  * Notes on validation... custom validation messages should be set
@@ -122,23 +146,36 @@ let CheckboxGroup = class {
122
146
  customValidate() {
123
147
  if (!this.nativeCbs || !this.nativeCbs.length || !this.checkboxes)
124
148
  return;
149
+ let onlyRadios = this.nativeCbs.filter((cb) => cb.type === 'radio');
150
+ if (onlyRadios &&
151
+ onlyRadios.length &&
152
+ (this.showErrorMsg || this.validateOn === 'dirty')) {
153
+ let required = onlyRadios.find((cb) => cb.required);
154
+ let checked = onlyRadios.filter((cb) => cb.checked);
155
+ if (required && checked) {
156
+ this.checkboxes.forEach((rd) => rd.reportValidity(false));
157
+ return false;
158
+ }
159
+ else if (required && !checked)
160
+ return true;
161
+ }
125
162
  // we only care about checkbox controls.
126
163
  let onlyCbs = this.nativeCbs.filter((cb) => cb.type === 'checkbox');
127
164
  if (!onlyCbs || !onlyCbs.length)
128
165
  return;
129
- let checked = onlyCbs.filter((cb) => cb.checked).length;
166
+ let checked = onlyCbs.filter((cb) => cb.checked);
167
+ let required = onlyCbs.find((cb) => cb.required);
130
168
  let invalid = false;
169
+ if (required && !checked.find((cb) => cb === required))
170
+ return true;
131
171
  this.checkboxes.forEach((cb) => {
132
- if (cb.required && !cb.checked) {
133
- invalid = true;
134
- }
135
172
  cb.setError('');
136
- if (this.min && checked < this.min) {
137
- cb.setError(`You must select a minimum of ${this.min} values.`);
173
+ if (this.min && checked.length < this.min) {
174
+ cb.setError(`You must select a minimum of ${this.min} values.`, this.showErrorMsg);
138
175
  invalid = true;
139
176
  }
140
- if (this.max && checked > this.max) {
141
- cb.setError(`Only up to ${this.max} values are allowed.`);
177
+ if (this.max && checked.length > this.max) {
178
+ cb.setError(`Only up to ${this.max} values are allowed.`, this.showErrorMsg);
142
179
  invalid = true;
143
180
  }
144
181
  });
@@ -154,6 +191,8 @@ let CheckboxGroup = class {
154
191
  }
155
192
  // private methods
156
193
  attachSlotObserver() {
194
+ if (!!this.mo)
195
+ return;
157
196
  const mo = (this.mo = new MutationObserver(() => this.handleSlotChange()));
158
197
  mo.observe(this.host, { childList: true });
159
198
  }
@@ -169,7 +208,7 @@ let CheckboxGroup = class {
169
208
  }
170
209
  // stencil hooks
171
210
  componentWillLoad() {
172
- this.showInlineValidation = throttle.debounce(this.showInlineValidation, 20);
211
+ this.showInlineValidation = throttle.debounce(this.showInlineValidation, 50);
173
212
  this.customValidate = this.customValidate.bind(this);
174
213
  this.handleDisabledChange();
175
214
  }
@@ -191,7 +230,6 @@ let CheckboxGroup = class {
191
230
  }
192
231
  get host() { return index.getElement(this); }
193
232
  static get watchers() { return {
194
- "validateOn": ["handleCbChange"],
195
233
  "min": ["handleCbChange"],
196
234
  "max": ["handleCbChange"],
197
235
  "nativeCbs": ["customValidate"],
@@ -1 +1 @@
1
- {"file":"nano-checkbox-group.entry.cjs.js","mappings":"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","names":["getClassMap","forceUpdate","debounce","h","Host"],"sources":["./src/components/checkbox/checkbox-group.scss?tag=nano-checkbox-group&encapsulation=scoped","./src/components/checkbox/checkbox-group.tsx"],"sourcesContent":["@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n@import '../../global/style/nano-theme/base';\n\n:host {\n /**\n * @prop --control-margin-top: Margin between controls. Default depends on control type;\n * @prop --control-margin-end: Margin between controls. Default depends on control type;\n * @prop --control-margin-bottom: Margin between controls. Default depends on control type;\n * @prop --control-margin-start: Margin between controls. Default depends on control type;\n\n * @prop --invalid-msg-color: Default #{nano-color(danger, base)};\n * @prop --invalid-msg-font-size: Default #{$input-help-font-size};\n\n * @prop --help-msg-color: Font color applied to slot=\"helper\". Default #{$input-help-color};\n\n * @prop --label-color: Default #{$label-color};\n * @prop --label-color--invalid: Default #{$label-color-invalid};\n * @prop --label-font-size: Default #{$label-font-size};\n * @prop --label-padding: space between legend and control. Default #{$input-padding-bottom};\n */\n\n --control-margin-top: 0;\n --control-margin-end: 0;\n --control-margin-bottom: 0;\n --control-margin-start: 0;\n --invalid-msg-color: #{nano-color(danger, base)};\n --invalid-msg-font-size: #{$input-help-font-size};\n --help-msg-color: #{$input-help-color};\n --label-color: #{$label-color};\n --label-color--invalid: #{$label-color-invalid};\n --label-font-size: #{$label-font-size};\n --label-padding: #{$input-padding-bottom};\n\n display: block;\n\n * {\n box-sizing: inherit;\n }\n}\n\n:host([types-tag]),\n:host([types-segment]) {\n --control-margin-top: 0;\n --control-margin-end: 8px;\n --control-margin-bottom: 8px;\n --control-margin-start: 0;\n}\n\n:host([types-checkbox]),\n:host([types-radio]) {\n --control-margin-top: 0;\n --control-margin-end: 10px;\n --control-margin-bottom: 8px;\n --control-margin-start: 0;\n}\n\n.nanogroupcb {\n border: none;\n margin: 0;\n padding: 0;\n\n &__legend,\n &__error,\n &__help,\n &__more {\n display: block;\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n &__legend {\n font-size: var(--label-font-size);\n padding: 0 0 var(--label-padding);\n margin: 0;\n line-height: 1;\n\n :host([invalid]:not([invalid='false'])) & {\n color: var(--label-color--invalid);\n }\n }\n\n &__more {\n height: 1em;\n\n @include margin(\n calc(var(--label-padding) - var(--control-margin-bottom)),\n 0,\n var(--label-padding),\n 3px\n );\n\n position: relative;\n }\n\n &__error,\n &__help {\n top: 0;\n left: 0;\n position: absolute;\n font-size: var(--invalid-msg-font-size);\n line-height: 1.2;\n transition: 0.3s ease-out opacity;\n\n .show-error & {\n opacity: 1;\n }\n }\n\n &__error {\n color: var(--invalid-msg-color);\n font-stretch: condensed;\n opacity: 0;\n\n .show-error & {\n opacity: 1;\n }\n }\n\n &__help {\n font-style: italic;\n opacity: 1;\n color: var(--help-msg-color);\n\n .show-error & {\n opacity: 0;\n }\n }\n\n &__cbs {\n margin: 0;\n padding: 0;\n line-height: 1;\n display: flex;\n flex-wrap: wrap;\n\n ::slotted(*:not([type='tag']):not([type='segment']):not([type='segment-pill'])) {\n --check-base-size: 1.2em;\n\n font-size: 0.85em;\n }\n\n ::slotted(*) {\n margin-left: var(--control-margin-start);\n margin-top: var(--control-margin-top);\n margin-right: var(--control-margin-end);\n margin-bottom: var(--control-margin-bottom);\n }\n }\n}\n\n/* autoprefixer: ignore next */\n@supports ((margin-inline-start: 0) or (-webkit-margin-start: 0)) {\n .nanogroupcb__cbs {\n &::slotted(*),\n ::slotted(*) {\n margin-left: unset;\n margin-right: unset;\n margin-inline-start: var(--control-margin-start);\n margin-inline-end: var(--control-margin-end);\n }\n }\n}\n","import {\n Component,\n Prop,\n Element,\n h,\n ComponentInterface,\n State,\n Listen,\n Watch,\n Host,\n Method,\n forceUpdate,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport {\n CssClassMap,\n ControlValidityEventDetail,\n ControlValidity,\n} from '../../interface';\nimport { debounce, getClassMap } from '../../utils';\n\n/**\n * `nano-checkbox-group` is an optional wrapper for all `nano-checkbox` controls.\n * It provides a convenient place to anchor a collective label and any validation issues.\n *\n * @slot - Used for grouping checkboxes inside the group wrapper\n * @slot helper - helper text to accompany the form field underneath.\n */\n@Component({\n tag: 'nano-checkbox-group',\n styleUrl: 'checkbox-group.scss',\n scoped: true,\n})\nexport class CheckboxGroup implements ComponentInterface {\n private mo?: MutationObserver;\n private checkboxTypes: CssClassMap;\n private grpId = `nano-checkbox-group-${grpIds++}`;\n private _invalid = false;\n\n @Element() host: HTMLNanoCheckboxGroupElement;\n\n // internal state\n\n @State() checkboxes: HTMLNanoCheckboxElement[];\n @State() nativeCbs: HTMLInputElement[];\n @State() errorMessage: string = '';\n @State() showErrorMsg = false;\n @State() hasHelperSlot = false;\n\n // public properties\n\n /**\n * When should the field perform validation\n */\n @Prop({ mutable: true }) validateOn?: 'dirty' | 'submit' | 'submitThenDirty' =\n 'submit';\n\n /**\n * Whether to show validation errors underneath input\n */\n @Prop() showInlineError = true;\n\n /**\n * The minimum number of checkboxes required to be valid. Only relevant for checkbox type controls.\n * A validation error will be thrown if not enough controls are checked.\n */\n @Prop() min: number = 0;\n\n /**\n * The maximum number of checkboxes allowed. Only relevant for checkbox type controls.\n * Other controls will automatically be disabled upon reaching this number.\n */\n @Prop() max: number = null;\n\n /**\n * Disable all the nested form controls\n */\n @Prop({ reflect: true }) disabled: boolean | null = null;\n\n /**\n * A common label for children controls\n */\n @Prop() legend: string = '';\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\n // Public methods\n\n /**\n * Get the current state of the control.\n * @param validateFirst - perform validation first before reporting\n * @returns `{ isValid: boolean, errorMessage: string }`\n */\n @Method()\n async reportValidity(validateFirst: boolean): Promise<ControlValidity> {\n return new Promise((resolve) => {\n if (validateFirst) this.showInlineValidation();\n setTimeout(() => {\n resolve({\n isValid: !this.invalid,\n errorMessage: this.errorMessage,\n });\n }, 20);\n });\n }\n\n // Events\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 // listeners & watchers\n\n /**\n * Notes on validation... custom validation messages should be set\n * no matter whether we show inline messages or native html5.\n * this will mean forms cannot submit when there are pending validation issues.\n */\n @Listen('nanoChange')\n @Watch('validateOn')\n @Watch('min')\n @Watch('max')\n handleCbChange() {\n if (this.invalid) this.showErrorMsg = this._invalid = false;\n this.customValidate();\n\n if (this.validateOn !== 'dirty') return;\n this.showInlineValidation();\n }\n\n @Watch('nativeCbs')\n customValidate() {\n if (!this.nativeCbs || !this.nativeCbs.length || !this.checkboxes) return;\n\n // we only care about checkbox controls.\n let onlyCbs = this.nativeCbs.filter((cb) => cb.type === 'checkbox');\n if (!onlyCbs || !onlyCbs.length) return;\n\n let checked = onlyCbs.filter((cb) => cb.checked).length;\n let invalid = false;\n\n this.checkboxes.forEach((cb) => {\n if (cb.required && !cb.checked) {\n invalid = true;\n }\n\n cb.setError('');\n\n if (this.min && checked < this.min) {\n cb.setError(`You must select a minimum of ${this.min} values.`);\n invalid = true;\n }\n if (this.max && checked > this.max) {\n cb.setError(`Only up to ${this.max} values are allowed.`);\n invalid = true;\n }\n });\n return invalid;\n }\n\n @Watch('checkboxes')\n handleComponentChange() {\n this.checkboxTypes = getClassMap(\n this.checkboxes.map((cb) => 'types-' + cb.type)\n );\n }\n\n @Watch('disabled')\n @Watch('checkboxes')\n handleDisabledChange() {\n if (this.disabled === null) return;\n this.checkboxes.map((cb) => (cb.disabled = this.disabled));\n }\n\n // private methods\n\n private attachSlotObserver() {\n const mo = (this.mo = new MutationObserver(() => this.handleSlotChange()));\n mo.observe(this.host, { childList: true });\n }\n\n private async handleSlotChange() {\n forceUpdate(this.host);\n this.checkboxes = Array.from(this.host.querySelectorAll('nano-checkbox'));\n this.hasHelperSlot = !!this.host.querySelector('[slot=\"helper\"]');\n\n this.nativeCbs = await Promise.all(\n this.checkboxes.reduce((acc: Array<Promise<HTMLInputElement>>, cb) => {\n acc.push(cb.getInputElement());\n return acc;\n }, [])\n );\n\n this.nativeCbs.forEach((cb) =>\n cb.addEventListener('invalid', this.handleInvalid)\n );\n }\n\n private handleInvalid = (ev: Event) => {\n this._invalid = true;\n\n if (this.validateOn === 'submit') {\n this._invalid = this.showErrorMsg = this.customValidate();\n }\n if (!!this.showInlineError) ev.preventDefault();\n\n setTimeout((_) => this.showInlineValidation(ev), 20);\n };\n\n private showInlineValidation = (ev?: Event) => {\n if (!this.nativeCbs || !this.nativeCbs.length) return;\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n this.showErrorMsg = false;\n this._invalid = false;\n\n this.nativeCbs.forEach((cb, i) => {\n if (!cb.validity.valid) {\n this.errorMessage = cb.validationMessage;\n this.showErrorMsg = true;\n this._invalid = true;\n if (!!this.showInlineError) {\n this.checkboxes[i].setFocus();\n }\n }\n });\n\n this.nanoValidate.emit({\n isValid: !this.invalid,\n errorMessage: this.errorMessage,\n originalEvent: ev,\n });\n };\n\n // stencil hooks\n\n componentWillLoad() {\n this.showInlineValidation = debounce(this.showInlineValidation, 20);\n this.customValidate = this.customValidate.bind(this);\n this.handleDisabledChange();\n }\n\n connectedCallback() {\n this.attachSlotObserver();\n }\n\n disconnectedCallback() {\n if (this.mo) this.mo.disconnect();\n }\n\n componentDidLoad() {\n this.handleComponentChange();\n }\n\n render() {\n let isRtl = (this.host.ownerDocument as Document).dir === 'rtl';\n const legendId = this.grpId + '-lbl';\n const moreId =\n this.showInlineError || this.hasHelperSlot ? this.grpId + '-more' : '';\n\n return (\n <Host {...this.checkboxTypes} dir={isRtl ? 'rtl' : null}>\n <fieldset\n disabled={this.disabled}\n class={{ nanogroupcb: true, 'show-error': this.showErrorMsg }}\n >\n <legend class=\"nanogroupcb__legend\" id={legendId}>\n {this.legend}\n </legend>\n <div\n class=\"nanogroupcb__cbs\"\n role=\"group\"\n aria-labelledby={legendId + ' ' + moreId}\n >\n <slot />\n </div>\n {(this.showInlineError || this.hasHelperSlot) && (\n <div class=\"nanogroupcb__more\" id={moreId}>\n {!!this.showInlineError ? (\n <div class=\"nanogroupcb__error\">{this.errorMessage}</div>\n ) : (\n ''\n )}\n <div class=\"nanogroupcb__help\">\n <slot name=\"helper\" />\n </div>\n </div>\n )}\n </fieldset>\n </Host>\n );\n }\n}\n\nlet grpIds = 0;\n"],"version":3}
1
+ {"file":"nano-checkbox-group.entry.cjs.js","mappings":"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","names":["getClassMap","forceUpdate","debounce","h","Host"],"sources":["./src/components/checkbox/checkbox-group.scss?tag=nano-checkbox-group&encapsulation=scoped","./src/components/checkbox/checkbox-group.tsx"],"sourcesContent":["@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n@import '../../global/style/nano-theme/base';\n\n:host {\n /**\n * @prop --control-margin-top: Margin between controls. Default depends on control type;\n * @prop --control-margin-end: Margin between controls. Default depends on control type;\n * @prop --control-margin-bottom: Margin between controls. Default depends on control type;\n * @prop --control-margin-start: Margin between controls. Default depends on control type;\n\n * @prop --invalid-msg-color: Default #{nano-color(danger, base)};\n * @prop --invalid-msg-font-size: Default #{$input-help-font-size};\n\n * @prop --help-msg-color: Font color applied to slot=\"helper\". Default #{$input-help-color};\n\n * @prop --label-color: Default #{$label-color};\n * @prop --label-color--invalid: Default #{$label-color-invalid};\n * @prop --label-font-size: Default #{$label-font-size};\n * @prop --label-padding: space between legend and control. Default #{$input-padding-bottom};\n */\n\n --control-margin-top: 0;\n --control-margin-end: 0;\n --control-margin-bottom: 0;\n --control-margin-start: 0;\n --invalid-msg-color: #{nano-color(danger, base)};\n --invalid-msg-font-size: #{$input-help-font-size};\n --help-msg-color: #{$input-help-color};\n --label-color: #{$label-color};\n --label-color--invalid: #{$label-color-invalid};\n --label-font-size: #{$label-font-size};\n --label-padding: #{$input-padding-bottom};\n\n display: block;\n\n * {\n box-sizing: inherit;\n }\n}\n\n:host([types-tag]),\n:host([types-segment]) {\n --control-margin-top: 0;\n --control-margin-end: 8px;\n --control-margin-bottom: 6px;\n --control-margin-start: 0;\n}\n\n:host([types-checkbox]),\n:host([types-radio]) {\n --control-margin-top: 0;\n --control-margin-end: 10px;\n --control-margin-bottom: 6px;\n --control-margin-start: 0;\n}\n\n.nanogroupcb {\n border: none;\n margin: 0;\n padding: 0;\n\n &__error,\n &__help,\n &__more {\n display: block;\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n &__legend {\n font-size: var(--label-font-size);\n padding: 0 0 var(--label-padding);\n margin: 0;\n line-height: 1.5;\n white-space: normal;\n display: block;\n width: 100%;\n\n :host([invalid]:not([invalid='false'])) & {\n color: var(--label-color--invalid);\n }\n }\n\n &__more {\n height: 1em;\n\n @include margin(\n calc(var(--label-padding) - var(--control-margin-bottom)),\n 0,\n var(--label-padding),\n 3px\n );\n\n position: relative;\n }\n\n &__error,\n &__help {\n top: 0;\n left: 0;\n position: absolute;\n font-size: var(--invalid-msg-font-size);\n line-height: 1.2;\n transition: 0.3s ease-out opacity;\n\n .show-error & {\n opacity: 1;\n }\n }\n\n &__error {\n color: var(--invalid-msg-color);\n font-stretch: condensed;\n opacity: 0;\n\n .show-error & {\n opacity: 1;\n }\n }\n\n &__help {\n font-style: italic;\n opacity: 1;\n color: var(--help-msg-color);\n\n .show-error & {\n opacity: 0;\n }\n }\n\n &__cbs {\n margin: 0;\n padding: 0;\n line-height: 1;\n display: flex;\n flex-wrap: wrap;\n\n ::slotted(*:not([type='tag']):not([type='segment']):not([type='segment-pill'])) {\n --check-base-size: 1.2em;\n\n font-size: 0.85em;\n }\n\n ::slotted(*) {\n margin-left: var(--control-margin-start);\n margin-top: var(--control-margin-top);\n margin-right: var(--control-margin-end);\n margin-bottom: var(--control-margin-bottom);\n }\n }\n}\n\n/* autoprefixer: ignore next */\n@supports ((margin-inline-start: 0) or (-webkit-margin-start: 0)) {\n .nanogroupcb__cbs {\n &::slotted(*),\n ::slotted(*) {\n margin-left: unset;\n margin-right: unset;\n margin-inline-start: var(--control-margin-start);\n margin-inline-end: var(--control-margin-end);\n }\n }\n}\n","import {\n Component,\n Prop,\n Element,\n h,\n ComponentInterface,\n State,\n Listen,\n Watch,\n Host,\n Method,\n forceUpdate,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport {\n CssClassMap,\n ControlValidityEventDetail,\n ControlValidity,\n} from '../../interface';\nimport { debounce, getClassMap } from '../../utils';\n\n/**\n * `nano-checkbox-group` is an optional wrapper for all `nano-checkbox` controls.\n * It provides a convenient place to anchor a collective label and any validation issues.\n *\n * @slot - Used for grouping checkboxes inside the group wrapper\n * @slot helper - helper text to accompany the form field underneath.\n */\n@Component({\n tag: 'nano-checkbox-group',\n styleUrl: 'checkbox-group.scss',\n scoped: true,\n})\nexport class CheckboxGroup implements ComponentInterface {\n private mo?: MutationObserver;\n private checkboxTypes: CssClassMap;\n private grpId = `nano-checkbox-group-${grpIds++}`;\n\n @Element() host: HTMLNanoCheckboxGroupElement;\n\n // internal state\n\n @State() checkboxes: HTMLNanoCheckboxElement[];\n @State() nativeCbs: HTMLInputElement[];\n @State() errorMessage: string = '';\n @State() showErrorMsg = false;\n @State() hasHelperSlot = false;\n\n // public properties\n\n /**\n * When should the field perform validation\n */\n @Prop({ mutable: true }) validateOn?: 'dirty' | 'submit' | 'submitThenDirty' =\n 'submitThenDirty';\n\n /**\n * Whether to show validation errors underneath input\n */\n @Prop() showInlineError = true;\n\n /**\n * The minimum number of checkboxes required to be valid. Only relevant for checkbox type controls.\n * A validation error will be thrown if not enough controls are checked.\n */\n @Prop() min: number = 0;\n\n /**\n * The maximum number of checkboxes allowed. Only relevant for checkbox type controls.\n * Other controls will automatically be disabled upon reaching this number.\n */\n @Prop() max: number = null;\n\n /**\n * Disable all the nested form controls\n */\n @Prop({ reflect: true }) disabled: boolean | null = null;\n\n /**\n * A common label for children controls\n */\n @Prop() legend: string = '';\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 return this.errorMessage;\n }\n\n // Public methods\n\n /**\n * Get the current state of the control.\n * @param validateFirst - perform validation first before reporting\n * @returns `{ isValid: boolean, errorMessage: string }`\n */\n @Method()\n async reportValidity(validateFirst: boolean): Promise<ControlValidity> {\n return new Promise((resolve) => {\n if (validateFirst) {\n this.customValidate();\n this.showInlineValidation();\n }\n setTimeout(() => {\n resolve({\n isValid: !this.invalid,\n errorMessage: this.errorMessage,\n });\n }, 50);\n });\n }\n\n /**\n * Invalidate the field and show a custom error message.\n * To clear the error you will need to re-call this method with an empty string.\n * @param message - the error message to show\n * @param optVal - optionally supply an option value to target which checkbox to show invalidate against (default is the first)\n */\n @Method()\n async showError(message: string, optVal?: string) {\n let cb: HTMLNanoCheckboxElement;\n if (optVal) cb = this.checkboxes.find((c) => c.value === optVal);\n if (!cb) cb = this.checkboxes[0];\n if (!cb) return;\n\n this.errorMessage = message;\n await cb.setError(message);\n if (!!this.showInlineError) this.showInlineValidation();\n }\n\n // Events\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 // listeners & watchers\n\n /**\n * Notes on validation... custom validation messages should be set\n * no matter whether we show inline messages or native html5.\n * this will mean forms cannot submit when there are pending validation issues.\n */\n @Listen('nanoChange')\n @Watch('min')\n @Watch('max')\n handleCbChange() {\n if (this.invalid) this.showErrorMsg = this._invalid = false;\n this.customValidate();\n\n if (this.validateOn !== 'dirty') return;\n this.showInlineValidation();\n }\n\n @Watch('nativeCbs')\n customValidate() {\n if (!this.nativeCbs || !this.nativeCbs.length || !this.checkboxes) return;\n\n let onlyRadios = this.nativeCbs.filter((cb) => cb.type === 'radio');\n\n if (\n onlyRadios &&\n onlyRadios.length &&\n (this.showErrorMsg || this.validateOn === 'dirty')\n ) {\n let required = onlyRadios.find((cb) => cb.required);\n let checked = onlyRadios.filter((cb) => cb.checked);\n\n if (required && checked) {\n this.checkboxes.forEach((rd) => rd.reportValidity(false));\n return false;\n } else if (required && !checked) return true;\n }\n\n // we only care about checkbox controls.\n let onlyCbs = this.nativeCbs.filter((cb) => cb.type === 'checkbox');\n if (!onlyCbs || !onlyCbs.length) return;\n\n let checked = onlyCbs.filter((cb) => cb.checked);\n let required = onlyCbs.find((cb) => cb.required);\n let invalid = false;\n\n if (required && !checked.find((cb) => cb === required)) return true;\n\n this.checkboxes.forEach((cb) => {\n cb.setError('');\n\n if (this.min && checked.length < this.min) {\n cb.setError(\n `You must select a minimum of ${this.min} values.`,\n this.showErrorMsg\n );\n invalid = true;\n }\n if (this.max && checked.length > this.max) {\n cb.setError(\n `Only up to ${this.max} values are allowed.`,\n this.showErrorMsg\n );\n invalid = true;\n }\n });\n return invalid;\n }\n\n @Watch('checkboxes')\n handleComponentChange() {\n this.checkboxTypes = getClassMap(\n this.checkboxes.map((cb) => 'types-' + cb.type)\n );\n }\n\n @Watch('disabled')\n @Watch('checkboxes')\n handleDisabledChange() {\n if (this.disabled === null) return;\n this.checkboxes.map((cb) => (cb.disabled = this.disabled));\n }\n\n // private methods\n\n private attachSlotObserver() {\n if (!!this.mo) return;\n const mo = (this.mo = new MutationObserver(() => this.handleSlotChange()));\n mo.observe(this.host, { childList: true });\n }\n\n private async handleSlotChange() {\n forceUpdate(this.host);\n this.checkboxes = Array.from(this.host.querySelectorAll('nano-checkbox'));\n this.hasHelperSlot = !!this.host.querySelector('[slot=\"helper\"]');\n\n this.nativeCbs = await Promise.all(\n this.checkboxes.reduce((acc: Array<Promise<HTMLInputElement>>, cb) => {\n acc.push(cb.getInputElement());\n return acc;\n }, [])\n );\n\n this.nativeCbs.forEach((cb) =>\n cb.addEventListener('invalid', this.handleInvalid)\n );\n }\n\n private handleInvalid = (ev: Event) => {\n this._invalid = true;\n\n if (this.validateOn === 'submit') {\n this._invalid = this.showErrorMsg = this.customValidate();\n }\n if (!!this.showInlineError) ev.preventDefault();\n\n this.showInlineValidation(ev);\n };\n\n private showInlineValidation = (ev?: Event) => {\n if (!this.nativeCbs || !this.nativeCbs.length) return;\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n this.showErrorMsg = false;\n this._invalid = false;\n\n this.nativeCbs.forEach((cb, _i) => {\n if (!cb.validity.valid) {\n this.errorMessage = cb.validationMessage;\n this.showErrorMsg = true;\n this._invalid = true;\n }\n });\n\n this.nanoValidate.emit({\n isValid: !this.invalid,\n errorMessage: this.errorMessage,\n originalEvent: ev,\n });\n };\n\n // stencil hooks\n\n componentWillLoad() {\n this.showInlineValidation = debounce(this.showInlineValidation, 50);\n this.customValidate = this.customValidate.bind(this);\n this.handleDisabledChange();\n }\n\n connectedCallback() {\n this.attachSlotObserver();\n }\n\n disconnectedCallback() {\n if (this.mo) this.mo.disconnect();\n }\n\n componentDidLoad() {\n this.handleComponentChange();\n }\n\n render() {\n let isRtl = (this.host.ownerDocument as Document).dir === 'rtl';\n const legendId = this.grpId + '-lbl';\n const moreId =\n this.showInlineError || this.hasHelperSlot ? this.grpId + '-more' : '';\n\n return (\n <Host {...this.checkboxTypes} dir={isRtl ? 'rtl' : null}>\n <fieldset\n disabled={this.disabled}\n class={{ nanogroupcb: true, 'show-error': this.showErrorMsg }}\n >\n <legend class=\"nanogroupcb__legend\" id={legendId}>\n {this.legend}\n </legend>\n <div\n class=\"nanogroupcb__cbs\"\n role=\"group\"\n aria-labelledby={legendId + ' ' + moreId}\n >\n <slot />\n </div>\n {(this.showInlineError || this.hasHelperSlot) && (\n <div class=\"nanogroupcb__more\" id={moreId}>\n {!!this.showInlineError ? (\n <div class=\"nanogroupcb__error\">{this.errorMessage}</div>\n ) : (\n ''\n )}\n <div class=\"nanogroupcb__help\">\n <slot name=\"helper\" />\n </div>\n </div>\n )}\n </fieldset>\n </Host>\n );\n }\n}\n\nlet grpIds = 0;\n"],"version":3}