@nanoporetech-digital/components 2.9.0 → 2.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (660) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/dist/cjs/{algoliasearch.umd-dcf18a4a.js → algoliasearch.umd-7ee60729.js} +3 -3
  3. package/dist/cjs/{algoliasearch.umd-dcf18a4a.js.map → algoliasearch.umd-7ee60729.js.map} +1 -1
  4. package/dist/cjs/{component-store-722032a5.js → component-store-19844199.js} +37 -25
  5. package/dist/cjs/component-store-19844199.js.map +1 -0
  6. package/dist/cjs/{date-utils-0ae9a12d.js → date-utils-b3af910d.js} +2 -2
  7. package/dist/cjs/date-utils-b3af910d.js.map +1 -0
  8. package/dist/cjs/{global-0d4f3b77.js → global-989678ec.js} +1 -8
  9. package/dist/cjs/global-989678ec.js.map +1 -0
  10. package/dist/cjs/index-cb62df44.js +5 -0
  11. package/dist/cjs/loader.cjs.js +2 -2
  12. package/dist/cjs/nano-algolia-filter.cjs.entry.js +1 -1
  13. package/dist/cjs/nano-algolia-input.cjs.entry.js +2 -2
  14. package/dist/cjs/nano-algolia.cjs.entry.js +2 -2
  15. package/dist/cjs/nano-checkbox-group.cjs.entry.js +58 -20
  16. package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
  17. package/dist/cjs/nano-checkbox.cjs.entry.js +27 -15
  18. package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
  19. package/dist/cjs/nano-components.cjs.js +2 -2
  20. package/dist/cjs/nano-datalist_3.cjs.entry.js +4 -1
  21. package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -1
  22. package/dist/cjs/nano-date-input.cjs.entry.js +30 -9
  23. package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
  24. package/dist/cjs/nano-date-picker.cjs.entry.js +2 -2
  25. package/dist/cjs/nano-date-picker.cjs.entry.js.map +1 -1
  26. package/dist/cjs/nano-details.cjs.entry.js +1 -2
  27. package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
  28. package/dist/cjs/nano-dialog.cjs.entry.js +13 -2
  29. package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
  30. package/dist/cjs/nano-field-validator.cjs.entry.js +531 -0
  31. package/dist/cjs/nano-field-validator.cjs.entry.js.map +1 -0
  32. package/dist/cjs/nano-file-upload.cjs.entry.js +59 -36
  33. package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
  34. package/dist/cjs/nano-global-nav.cjs.entry.js +2 -2
  35. package/dist/cjs/nano-global-search-results.cjs.entry.js +1 -2
  36. package/dist/cjs/nano-global-search-results.cjs.entry.js.map +1 -1
  37. package/dist/cjs/nano-grid_3.cjs.entry.js +1 -2
  38. package/dist/cjs/nano-grid_3.cjs.entry.js.map +1 -1
  39. package/dist/cjs/nano-icon-button.cjs.entry.js +4 -0
  40. package/dist/cjs/nano-icon-button.cjs.entry.js.map +1 -1
  41. package/dist/cjs/nano-icon.cjs.entry.js.map +1 -1
  42. package/dist/cjs/nano-input.cjs.entry.js +25 -13
  43. package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
  44. package/dist/cjs/nano-nav-item_2.cjs.entry.js +52 -16
  45. package/dist/cjs/nano-nav-item_2.cjs.entry.js.map +1 -1
  46. package/dist/cjs/nano-resize-observe_2.cjs.entry.js +1 -2
  47. package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
  48. package/dist/cjs/nano-slides.cjs.entry.js +1 -2
  49. package/dist/cjs/nano-slides.cjs.entry.js.map +1 -1
  50. package/dist/cjs/nano-sticker.cjs.entry.js +4 -5
  51. package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
  52. package/dist/cjs/nano-tab-group.cjs.entry.js +5 -3
  53. package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
  54. package/dist/cjs/nano-tab.cjs.entry.js +5 -1
  55. package/dist/cjs/nano-tab.cjs.entry.js.map +1 -1
  56. package/dist/cjs/nano-tooltip.cjs.entry.js +1 -1
  57. package/dist/cjs/nano-tooltip.cjs.entry.js.map +1 -1
  58. package/dist/collection/collection-manifest.json +2 -1
  59. package/dist/collection/components/accordion/accordion.js +1 -1
  60. package/dist/collection/components/alert/alert.js +1 -1
  61. package/dist/collection/components/algolia/algolia-filter.js +2 -2
  62. package/dist/collection/components/algolia/algolia-input.js +5 -5
  63. package/dist/collection/components/algolia/algolia-results.js +1 -1
  64. package/dist/collection/components/algolia/algolia.js +6 -6
  65. package/dist/collection/components/checkbox/checkbox-group.css +5 -5
  66. package/dist/collection/components/checkbox/checkbox-group.js +119 -25
  67. package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
  68. package/dist/collection/components/checkbox/checkbox.css +1 -1
  69. package/dist/collection/components/checkbox/checkbox.js +83 -22
  70. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  71. package/dist/collection/components/datalist/datalist.js +5 -2
  72. package/dist/collection/components/datalist/datalist.js.map +1 -1
  73. package/dist/collection/components/date-input/date-input.js +99 -16
  74. package/dist/collection/components/date-input/date-input.js.map +1 -1
  75. package/dist/collection/components/date-picker/date-picker.css +1 -1
  76. package/dist/collection/components/date-picker/date-picker.js +5 -5
  77. package/dist/collection/components/details/details.js +1 -2
  78. package/dist/collection/components/details/details.js.map +1 -1
  79. package/dist/collection/components/dialog/dialog.js +34 -1
  80. package/dist/collection/components/dialog/dialog.js.map +1 -1
  81. package/dist/collection/components/dropdown/dropdown.js +1 -1
  82. package/dist/collection/components/field-validator/field-validator.js +579 -0
  83. package/dist/collection/components/field-validator/field-validator.js.map +1 -0
  84. package/dist/collection/components/file-upload/file-upload.css +17 -5
  85. package/dist/collection/components/file-upload/file-upload.js +111 -44
  86. package/dist/collection/components/file-upload/file-upload.js.map +1 -1
  87. package/dist/collection/components/global-nav/global-nav.js +4 -4
  88. package/dist/collection/components/global-search-results/global-search-results.js +0 -1
  89. package/dist/collection/components/global-search-results/global-search-results.js.map +1 -1
  90. package/dist/collection/components/grid/grid-item.js +1 -1
  91. package/dist/collection/components/grid/grid.js +0 -1
  92. package/dist/collection/components/grid/grid.js.map +1 -1
  93. package/dist/collection/components/icon/icon.js +2 -2
  94. package/dist/collection/components/icon/icon.js.map +1 -1
  95. package/dist/collection/components/icon-button/icon-button.js +23 -1
  96. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  97. package/dist/collection/components/input/input.css +3 -2
  98. package/dist/collection/components/input/input.js +51 -22
  99. package/dist/collection/components/input/input.js.map +1 -1
  100. package/dist/collection/components/nav-item/nav-item.js +4 -4
  101. package/dist/collection/components/range/range.js +4 -4
  102. package/dist/collection/components/resize-observe/resize-observe.js +1 -2
  103. package/dist/collection/components/resize-observe/resize-observe.js.map +1 -1
  104. package/dist/collection/components/select/select.css +4 -3
  105. package/dist/collection/components/select/select.js +86 -26
  106. package/dist/collection/components/select/select.js.map +1 -1
  107. package/dist/collection/components/slides/slides.js +7 -8
  108. package/dist/collection/components/slides/slides.js.map +1 -1
  109. package/dist/collection/components/{sticky → sticker}/sticker.css +0 -0
  110. package/dist/collection/components/{sticky → sticker}/sticker.js +2 -3
  111. package/dist/collection/components/sticker/sticker.js.map +1 -0
  112. package/dist/collection/components/tabs/tab-group.js +5 -3
  113. package/dist/collection/components/tabs/tab-group.js.map +1 -1
  114. package/dist/collection/components/tabs/tab.js +5 -1
  115. package/dist/collection/components/tabs/tab.js.map +1 -1
  116. package/dist/collection/components/tooltip/tooltip.css +0 -1
  117. package/dist/collection/global/script/global.js +0 -7
  118. package/dist/collection/global/script/global.js.map +1 -1
  119. package/dist/collection/utils/date-utils.js +1 -1
  120. package/dist/collection/utils/date-utils.js.map +1 -1
  121. package/dist/collection/utils/store/component-store.js +4 -13
  122. package/dist/collection/utils/store/component-store.js.map +1 -1
  123. package/dist/collection/utils/store/get-set.js +15 -1
  124. package/dist/collection/utils/store/get-set.js.map +1 -1
  125. package/dist/components/algoliasearch.umd.js +2 -2
  126. package/dist/components/algoliasearch.umd.js.map +1 -1
  127. package/dist/components/component-store.js +36 -24
  128. package/dist/components/component-store.js.map +1 -1
  129. package/dist/components/datalist.js +4 -1
  130. package/dist/components/datalist.js.map +1 -1
  131. package/dist/components/date-picker.js +2 -2
  132. package/dist/components/date-picker.js.map +1 -1
  133. package/dist/components/grid.js +1 -2
  134. package/dist/components/grid.js.map +1 -1
  135. package/dist/components/icon-button.js +6 -1
  136. package/dist/components/icon-button.js.map +1 -1
  137. package/dist/components/icon.js.map +1 -1
  138. package/dist/components/index.js +0 -7
  139. package/dist/components/index.js.map +1 -1
  140. package/dist/components/input.js +27 -14
  141. package/dist/components/input.js.map +1 -1
  142. package/dist/components/nano-checkbox-group.js +62 -21
  143. package/dist/components/nano-checkbox-group.js.map +1 -1
  144. package/dist/components/nano-checkbox.js +31 -17
  145. package/dist/components/nano-checkbox.js.map +1 -1
  146. package/dist/components/nano-date-input.js +32 -8
  147. package/dist/components/nano-date-input.js.map +1 -1
  148. package/dist/components/nano-details.js +1 -2
  149. package/dist/components/nano-details.js.map +1 -1
  150. package/dist/components/nano-dialog.js +13 -1
  151. package/dist/components/nano-dialog.js.map +1 -1
  152. package/dist/components/nano-field-validator.d.ts +11 -0
  153. package/dist/components/nano-field-validator.js +559 -0
  154. package/dist/components/nano-field-validator.js.map +1 -0
  155. package/dist/components/nano-file-upload.js +62 -37
  156. package/dist/components/nano-file-upload.js.map +1 -1
  157. package/dist/components/nano-global-search-results.js +1 -2
  158. package/dist/components/nano-global-search-results.js.map +1 -1
  159. package/dist/components/nano-slides.js +1 -2
  160. package/dist/components/nano-slides.js.map +1 -1
  161. package/dist/components/nano-tab-group.js +4 -2
  162. package/dist/components/nano-tab-group.js.map +1 -1
  163. package/dist/components/nano-tab.js +5 -1
  164. package/dist/components/nano-tab.js.map +1 -1
  165. package/dist/components/resize-observe.js +1 -2
  166. package/dist/components/resize-observe.js.map +1 -1
  167. package/dist/components/select.js +56 -18
  168. package/dist/components/select.js.map +1 -1
  169. package/dist/components/sticker.js +4 -5
  170. package/dist/components/sticker.js.map +1 -1
  171. package/dist/components/tooltip.js +1 -1
  172. package/dist/components/tooltip.js.map +1 -1
  173. package/dist/custom-elements/index.d.ts +6 -0
  174. package/dist/custom-elements/index.js +20842 -20843
  175. package/dist/custom-elements/index.js.map +1 -1
  176. package/dist/esm/{algolia-data-dd72d1b7.js → algolia-data-80c1169a.js} +2 -2
  177. package/dist/esm/{algolia-data-dd72d1b7.js.map → algolia-data-80c1169a.js.map} +1 -1
  178. package/dist/esm/{algoliasearch.umd-6143495f.js → algoliasearch.umd-86359963.js} +3 -3
  179. package/dist/esm/{algoliasearch.umd-6143495f.js.map → algoliasearch.umd-86359963.js.map} +1 -1
  180. package/dist/esm/{component-store-b6fbfa35.js → component-store-d238fee4.js} +38 -26
  181. package/dist/esm/component-store-d238fee4.js.map +1 -0
  182. package/dist/esm/{date-utils-e4b757ff.js → date-utils-839cb010.js} +2 -2
  183. package/dist/esm/date-utils-839cb010.js.map +1 -0
  184. package/dist/esm/{form-control-cf23c6a2.js → form-control-ad05507c.js} +2 -2
  185. package/dist/esm/{form-control-cf23c6a2.js.map → form-control-ad05507c.js.map} +1 -1
  186. package/dist/esm/{global-d5ec4d53.js → global-8047b4ff.js} +1 -8
  187. package/dist/esm/global-8047b4ff.js.map +1 -0
  188. package/dist/esm/{index-5f8d16e7.js → index-c42becad.js} +7 -2
  189. package/dist/esm/{index-5f8d16e7.js.map → index-c42becad.js.map} +1 -1
  190. package/dist/esm/loader.js +3 -3
  191. package/dist/esm/nano-accordion.entry.js +1 -1
  192. package/dist/esm/nano-alert.entry.js +1 -1
  193. package/dist/esm/nano-algolia-filter.entry.js +3 -3
  194. package/dist/esm/nano-algolia-input.entry.js +4 -4
  195. package/dist/esm/nano-algolia-pagination.entry.js +2 -2
  196. package/dist/esm/nano-algolia-results.entry.js +2 -2
  197. package/dist/esm/nano-algolia.entry.js +4 -4
  198. package/dist/esm/nano-aspect-ratio.entry.js +1 -1
  199. package/dist/esm/nano-checkbox-group.entry.js +59 -21
  200. package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
  201. package/dist/esm/nano-checkbox.entry.js +28 -16
  202. package/dist/esm/nano-checkbox.entry.js.map +1 -1
  203. package/dist/esm/nano-components.js +3 -3
  204. package/dist/esm/nano-datalist_3.entry.js +5 -2
  205. package/dist/esm/nano-datalist_3.entry.js.map +1 -1
  206. package/dist/esm/nano-date-input.entry.js +31 -10
  207. package/dist/esm/nano-date-input.entry.js.map +1 -1
  208. package/dist/esm/nano-date-picker.entry.js +3 -3
  209. package/dist/esm/nano-date-picker.entry.js.map +1 -1
  210. package/dist/esm/nano-details.entry.js +2 -3
  211. package/dist/esm/nano-details.entry.js.map +1 -1
  212. package/dist/esm/nano-dialog.entry.js +14 -3
  213. package/dist/esm/nano-dialog.entry.js.map +1 -1
  214. package/dist/esm/nano-drawer.entry.js +1 -1
  215. package/dist/esm/nano-dropdown.entry.js +1 -1
  216. package/dist/esm/nano-field-validator.entry.js +527 -0
  217. package/dist/esm/nano-field-validator.entry.js.map +1 -0
  218. package/dist/esm/nano-file-upload.entry.js +60 -37
  219. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  220. package/dist/esm/nano-global-nav.entry.js +3 -3
  221. package/dist/esm/nano-global-search-results.entry.js +2 -3
  222. package/dist/esm/nano-global-search-results.entry.js.map +1 -1
  223. package/dist/esm/nano-grid_3.entry.js +2 -3
  224. package/dist/esm/nano-grid_3.entry.js.map +1 -1
  225. package/dist/esm/nano-hero.entry.js +1 -1
  226. package/dist/esm/nano-icon-button.entry.js +5 -1
  227. package/dist/esm/nano-icon-button.entry.js.map +1 -1
  228. package/dist/esm/nano-icon.entry.js +1 -1
  229. package/dist/esm/nano-icon.entry.js.map +1 -1
  230. package/dist/esm/nano-input.entry.js +28 -16
  231. package/dist/esm/nano-input.entry.js.map +1 -1
  232. package/dist/esm/nano-menu-drawer.entry.js +1 -1
  233. package/dist/esm/nano-nav-item_2.entry.js +55 -19
  234. package/dist/esm/nano-nav-item_2.entry.js.map +1 -1
  235. package/dist/esm/nano-range.entry.js +1 -1
  236. package/dist/esm/nano-rating.entry.js +1 -1
  237. package/dist/esm/nano-resize-observe_2.entry.js +2 -3
  238. package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
  239. package/dist/esm/nano-slide.entry.js +1 -1
  240. package/dist/esm/nano-slides.entry.js +2 -3
  241. package/dist/esm/nano-slides.entry.js.map +1 -1
  242. package/dist/esm/nano-spinner.entry.js +1 -1
  243. package/dist/esm/nano-split-pane.entry.js +1 -1
  244. package/dist/esm/nano-sticker.entry.js +5 -6
  245. package/dist/esm/nano-sticker.entry.js.map +1 -1
  246. package/dist/esm/nano-tab-content.entry.js +1 -1
  247. package/dist/esm/nano-tab-group.entry.js +6 -4
  248. package/dist/esm/nano-tab-group.entry.js.map +1 -1
  249. package/dist/esm/nano-tab.entry.js +6 -2
  250. package/dist/esm/nano-tab.entry.js.map +1 -1
  251. package/dist/esm/nano-tooltip.entry.js +2 -2
  252. package/dist/esm/nano-tooltip.entry.js.map +1 -1
  253. package/dist/esm-es5/{algolia-data-dd72d1b7.js → algolia-data-80c1169a.js} +2 -2
  254. package/dist/esm-es5/{algolia-data-dd72d1b7.js.map → algolia-data-80c1169a.js.map} +0 -0
  255. package/dist/esm-es5/{algoliasearch.umd-6143495f.js → algoliasearch.umd-86359963.js} +3 -3
  256. package/dist/esm-es5/{algoliasearch.umd-6143495f.js.map → algoliasearch.umd-86359963.js.map} +1 -1
  257. package/dist/esm-es5/component-store-d238fee4.js +5 -0
  258. package/dist/esm-es5/component-store-d238fee4.js.map +1 -0
  259. package/dist/esm-es5/date-utils-839cb010.js +5 -0
  260. package/dist/esm-es5/date-utils-839cb010.js.map +1 -0
  261. package/dist/esm-es5/{form-control-cf23c6a2.js → form-control-ad05507c.js} +2 -2
  262. package/dist/esm-es5/{form-control-cf23c6a2.js.map → form-control-ad05507c.js.map} +0 -0
  263. package/dist/esm-es5/{global-d5ec4d53.js → global-8047b4ff.js} +2 -2
  264. package/dist/esm-es5/global-8047b4ff.js.map +1 -0
  265. package/dist/esm-es5/{index-5f8d16e7.js → index-c42becad.js} +2 -2
  266. package/dist/esm-es5/{index-5f8d16e7.js.map → index-c42becad.js.map} +0 -0
  267. package/dist/esm-es5/loader.js +1 -1
  268. package/dist/esm-es5/loader.js.map +1 -1
  269. package/dist/esm-es5/nano-accordion.entry.js +1 -1
  270. package/dist/esm-es5/nano-alert.entry.js +1 -1
  271. package/dist/esm-es5/nano-algolia-filter.entry.js +1 -1
  272. package/dist/esm-es5/nano-algolia-input.entry.js +1 -1
  273. package/dist/esm-es5/nano-algolia-pagination.entry.js +1 -1
  274. package/dist/esm-es5/nano-algolia-results.entry.js +1 -1
  275. package/dist/esm-es5/nano-algolia.entry.js +1 -1
  276. package/dist/esm-es5/nano-aspect-ratio.entry.js +1 -1
  277. package/dist/esm-es5/nano-checkbox-group.entry.js +2 -2
  278. package/dist/esm-es5/nano-checkbox-group.entry.js.map +1 -1
  279. package/dist/esm-es5/nano-checkbox.entry.js +1 -1
  280. package/dist/esm-es5/nano-checkbox.entry.js.map +1 -1
  281. package/dist/esm-es5/nano-components.js +1 -1
  282. package/dist/esm-es5/nano-components.js.map +1 -1
  283. package/dist/esm-es5/nano-datalist_3.entry.js +1 -1
  284. package/dist/esm-es5/nano-datalist_3.entry.js.map +1 -1
  285. package/dist/esm-es5/nano-date-input.entry.js +1 -1
  286. package/dist/esm-es5/nano-date-input.entry.js.map +1 -1
  287. package/dist/esm-es5/nano-date-picker.entry.js +1 -1
  288. package/dist/esm-es5/nano-date-picker.entry.js.map +1 -1
  289. package/dist/esm-es5/nano-details.entry.js +1 -1
  290. package/dist/esm-es5/nano-details.entry.js.map +1 -1
  291. package/dist/esm-es5/nano-dialog.entry.js +1 -1
  292. package/dist/esm-es5/nano-dialog.entry.js.map +1 -1
  293. package/dist/esm-es5/nano-drawer.entry.js +1 -1
  294. package/dist/esm-es5/nano-dropdown.entry.js +1 -1
  295. package/dist/esm-es5/nano-field-validator.entry.js +5 -0
  296. package/dist/esm-es5/nano-field-validator.entry.js.map +1 -0
  297. package/dist/esm-es5/nano-file-upload.entry.js +2 -2
  298. package/dist/esm-es5/nano-file-upload.entry.js.map +1 -1
  299. package/dist/esm-es5/nano-global-nav.entry.js +1 -1
  300. package/dist/esm-es5/nano-global-search-results.entry.js +1 -1
  301. package/dist/esm-es5/nano-global-search-results.entry.js.map +1 -1
  302. package/dist/esm-es5/nano-grid_3.entry.js +1 -1
  303. package/dist/esm-es5/nano-grid_3.entry.js.map +1 -1
  304. package/dist/esm-es5/nano-hero.entry.js +1 -1
  305. package/dist/esm-es5/nano-icon-button.entry.js +2 -2
  306. package/dist/esm-es5/nano-icon-button.entry.js.map +1 -1
  307. package/dist/esm-es5/nano-icon.entry.js +1 -1
  308. package/dist/esm-es5/nano-icon.entry.js.map +1 -1
  309. package/dist/esm-es5/nano-input.entry.js +1 -1
  310. package/dist/esm-es5/nano-input.entry.js.map +1 -1
  311. package/dist/esm-es5/nano-menu-drawer.entry.js +1 -1
  312. package/dist/esm-es5/nano-nav-item_2.entry.js +1 -1
  313. package/dist/esm-es5/nano-nav-item_2.entry.js.map +1 -1
  314. package/dist/esm-es5/nano-range.entry.js +1 -1
  315. package/dist/esm-es5/nano-rating.entry.js +1 -1
  316. package/dist/esm-es5/nano-resize-observe_2.entry.js +1 -1
  317. package/dist/esm-es5/nano-resize-observe_2.entry.js.map +1 -1
  318. package/dist/esm-es5/nano-slide.entry.js +1 -1
  319. package/dist/esm-es5/nano-slides.entry.js +2 -2
  320. package/dist/esm-es5/nano-slides.entry.js.map +1 -1
  321. package/dist/esm-es5/nano-spinner.entry.js +1 -1
  322. package/dist/esm-es5/nano-split-pane.entry.js +1 -1
  323. package/dist/esm-es5/nano-sticker.entry.js +1 -1
  324. package/dist/esm-es5/nano-sticker.entry.js.map +1 -1
  325. package/dist/esm-es5/nano-tab-content.entry.js +1 -1
  326. package/dist/esm-es5/nano-tab-group.entry.js +2 -2
  327. package/dist/esm-es5/nano-tab-group.entry.js.map +1 -1
  328. package/dist/esm-es5/nano-tab.entry.js +1 -1
  329. package/dist/esm-es5/nano-tab.entry.js.map +1 -1
  330. package/dist/esm-es5/nano-tooltip.entry.js +1 -1
  331. package/dist/esm-es5/nano-tooltip.entry.js.map +1 -1
  332. package/dist/nano-components/nano-components.css +1 -1
  333. package/dist/nano-components/nano-components.esm.js +1 -1
  334. package/dist/nano-components/nano-components.esm.js.map +1 -1
  335. package/dist/nano-components/nano-components.js +1 -1
  336. package/dist/nano-components/p-01667573.entry.js +5 -0
  337. package/dist/nano-components/p-01667573.entry.js.map +1 -0
  338. package/dist/nano-components/p-0193a282.entry.js +5 -0
  339. package/dist/nano-components/p-0193a282.entry.js.map +1 -0
  340. package/dist/nano-components/p-0320410c.entry.js +5 -0
  341. package/dist/nano-components/p-0320410c.entry.js.map +1 -0
  342. package/dist/nano-components/{p-4429caac.system.entry.js → p-0c6c2141.system.entry.js} +2 -2
  343. package/dist/nano-components/{p-4429caac.system.entry.js.map → p-0c6c2141.system.entry.js.map} +0 -0
  344. package/dist/nano-components/{p-7232c046.system.entry.js → p-0d0dfc06.system.entry.js} +2 -2
  345. package/dist/nano-components/{p-7232c046.system.entry.js.map → p-0d0dfc06.system.entry.js.map} +0 -0
  346. package/dist/nano-components/{p-e562bffd.entry.js → p-0e2e3f4a.entry.js} +2 -2
  347. package/dist/nano-components/{p-e562bffd.entry.js.map → p-0e2e3f4a.entry.js.map} +0 -0
  348. package/dist/nano-components/p-129e2b4b.system.js +5 -0
  349. package/dist/nano-components/p-129e2b4b.system.js.map +1 -0
  350. package/dist/nano-components/{p-c0ddb4c3.entry.js → p-166ade3e.entry.js} +2 -2
  351. package/dist/nano-components/{p-c0ddb4c3.entry.js.map → p-166ade3e.entry.js.map} +0 -0
  352. package/dist/nano-components/p-1b120f53.entry.js +5 -0
  353. package/dist/nano-components/p-1b120f53.entry.js.map +1 -0
  354. package/dist/nano-components/{p-7d351076.system.entry.js → p-21af2a5e.system.entry.js} +2 -2
  355. package/dist/nano-components/{p-7d351076.system.entry.js.map → p-21af2a5e.system.entry.js.map} +0 -0
  356. package/dist/nano-components/p-21d6d31e.system.entry.js +5 -0
  357. package/dist/nano-components/p-21d6d31e.system.entry.js.map +1 -0
  358. package/dist/nano-components/{p-040b6cda.entry.js → p-2649fc8e.entry.js} +2 -2
  359. package/dist/nano-components/{p-040b6cda.entry.js.map → p-2649fc8e.entry.js.map} +0 -0
  360. package/dist/nano-components/p-2720ee8f.entry.js +5 -0
  361. package/dist/nano-components/p-2720ee8f.entry.js.map +1 -0
  362. package/dist/nano-components/{p-3456db01.entry.js → p-27efac97.entry.js} +2 -2
  363. package/dist/nano-components/{p-3456db01.entry.js.map → p-27efac97.entry.js.map} +0 -0
  364. package/dist/nano-components/{p-2e6c55e2.entry.js → p-2d53d1a0.entry.js} +2 -2
  365. package/dist/nano-components/{p-2e6c55e2.entry.js.map → p-2d53d1a0.entry.js.map} +0 -0
  366. package/dist/nano-components/{p-8a8f893b.system.entry.js → p-316f83a9.system.entry.js} +2 -2
  367. package/dist/nano-components/{p-8a8f893b.system.entry.js.map → p-316f83a9.system.entry.js.map} +0 -0
  368. package/dist/nano-components/p-32900c91.entry.js +5 -0
  369. package/dist/nano-components/p-32900c91.entry.js.map +1 -0
  370. package/dist/nano-components/p-32f4516e.js +5 -0
  371. package/dist/nano-components/p-32f4516e.js.map +1 -0
  372. package/dist/nano-components/{p-43543d18.entry.js → p-333237e8.entry.js} +2 -2
  373. package/dist/nano-components/{p-43543d18.entry.js.map → p-333237e8.entry.js.map} +0 -0
  374. package/dist/nano-components/p-33fce1a6.js +5 -0
  375. package/dist/nano-components/p-33fce1a6.js.map +1 -0
  376. package/dist/nano-components/p-371aebe7.system.entry.js +23 -0
  377. package/dist/nano-components/p-371aebe7.system.entry.js.map +1 -0
  378. package/dist/nano-components/{p-a898bf92.system.entry.js → p-379e21d9.system.entry.js} +2 -2
  379. package/dist/nano-components/{p-a898bf92.system.entry.js.map → p-379e21d9.system.entry.js.map} +0 -0
  380. package/dist/nano-components/{p-3ad1d5aa.system.entry.js → p-39d36fd1.system.entry.js} +2 -2
  381. package/dist/nano-components/{p-3ad1d5aa.system.entry.js.map → p-39d36fd1.system.entry.js.map} +0 -0
  382. package/dist/nano-components/{p-41a2e2e4.system.js → p-3a00de47.system.js} +2 -2
  383. package/dist/nano-components/{p-41a2e2e4.system.js.map → p-3a00de47.system.js.map} +0 -0
  384. package/dist/nano-components/p-41899a31.system.entry.js +5 -0
  385. package/dist/nano-components/p-41899a31.system.entry.js.map +1 -0
  386. package/dist/nano-components/{p-3ef30ded.system.entry.js → p-48874481.system.entry.js} +2 -2
  387. package/dist/nano-components/{p-3ef30ded.system.entry.js.map → p-48874481.system.entry.js.map} +0 -0
  388. package/dist/nano-components/{p-08ffc9a1.entry.js → p-4e2c0abb.entry.js} +2 -2
  389. package/dist/nano-components/{p-08ffc9a1.entry.js.map → p-4e2c0abb.entry.js.map} +0 -0
  390. package/dist/nano-components/{p-090f22a9.system.entry.js → p-5100ae70.system.entry.js} +2 -2
  391. package/dist/nano-components/{p-090f22a9.system.entry.js.map → p-5100ae70.system.entry.js.map} +0 -0
  392. package/dist/nano-components/{p-593de29b.system.entry.js → p-52769304.system.entry.js} +2 -2
  393. package/dist/nano-components/{p-593de29b.system.entry.js.map → p-52769304.system.entry.js.map} +0 -0
  394. package/dist/nano-components/p-53957ec6.system.js +5 -0
  395. package/dist/nano-components/p-53957ec6.system.js.map +1 -0
  396. package/dist/nano-components/p-561500f0.system.entry.js +5 -0
  397. package/dist/nano-components/p-561500f0.system.entry.js.map +1 -0
  398. package/dist/nano-components/{p-8278c5d2.system.entry.js → p-56f86047.system.entry.js} +2 -2
  399. package/dist/nano-components/{p-8278c5d2.system.entry.js.map → p-56f86047.system.entry.js.map} +0 -0
  400. package/dist/nano-components/{p-2057d480.system.entry.js → p-5b66bb8f.system.entry.js} +2 -2
  401. package/dist/nano-components/{p-2057d480.system.entry.js.map → p-5b66bb8f.system.entry.js.map} +0 -0
  402. package/dist/nano-components/{p-20387cde.system.entry.js → p-6b4dd158.system.entry.js} +2 -2
  403. package/dist/nano-components/{p-20387cde.system.entry.js.map → p-6b4dd158.system.entry.js.map} +0 -0
  404. package/dist/nano-components/{p-d24811c8.system.js → p-6b5760b1.system.js} +3 -3
  405. package/dist/nano-components/{p-d24811c8.system.js.map → p-6b5760b1.system.js.map} +1 -1
  406. package/dist/nano-components/{p-5066e563.system.entry.js → p-6dad332b.system.entry.js} +2 -2
  407. package/dist/nano-components/{p-5066e563.system.entry.js.map → p-6dad332b.system.entry.js.map} +0 -0
  408. package/dist/nano-components/{p-730f60ea.entry.js → p-6ddb51e4.entry.js} +2 -2
  409. package/dist/nano-components/p-6ddb51e4.entry.js.map +1 -0
  410. package/dist/nano-components/p-70272eae.js +5 -0
  411. package/dist/nano-components/p-70272eae.js.map +1 -0
  412. package/dist/nano-components/{p-a6c84740.js → p-71e9fa33.js} +2 -2
  413. package/dist/nano-components/{p-a6c84740.js.map → p-71e9fa33.js.map} +0 -0
  414. package/dist/nano-components/{p-313970ff.entry.js → p-73985eda.entry.js} +2 -2
  415. package/dist/nano-components/{p-313970ff.entry.js.map → p-73985eda.entry.js.map} +0 -0
  416. package/dist/nano-components/p-755d9227.entry.js +5 -0
  417. package/dist/nano-components/p-755d9227.entry.js.map +1 -0
  418. package/dist/nano-components/{p-58d7f10f.entry.js → p-76c903db.entry.js} +2 -2
  419. package/dist/nano-components/{p-58d7f10f.entry.js.map → p-76c903db.entry.js.map} +0 -0
  420. package/dist/nano-components/{p-f53989c3.system.entry.js → p-7aa7425d.system.entry.js} +2 -2
  421. package/dist/nano-components/{p-f53989c3.system.entry.js.map → p-7aa7425d.system.entry.js.map} +1 -1
  422. package/dist/nano-components/{p-531d5275.system.entry.js → p-7ad4a27a.system.entry.js} +2 -2
  423. package/dist/nano-components/p-7ad4a27a.system.entry.js.map +1 -0
  424. package/dist/nano-components/p-7bd25494.entry.js +5 -0
  425. package/dist/nano-components/p-7bd25494.entry.js.map +1 -0
  426. package/dist/nano-components/p-7c837460.entry.js +5 -0
  427. package/dist/nano-components/p-7c837460.entry.js.map +1 -0
  428. package/dist/nano-components/{p-2ae4918d.system.entry.js → p-7e55b214.system.entry.js} +2 -2
  429. package/dist/nano-components/{p-2ae4918d.system.entry.js.map → p-7e55b214.system.entry.js.map} +0 -0
  430. package/dist/nano-components/{p-62ecd3a1.system.entry.js → p-7f1374b6.system.entry.js} +2 -2
  431. package/dist/nano-components/{p-62ecd3a1.system.entry.js.map → p-7f1374b6.system.entry.js.map} +0 -0
  432. package/dist/nano-components/{p-1e974cad.entry.js → p-7fe9d769.entry.js} +2 -2
  433. package/dist/nano-components/{p-1e974cad.entry.js.map → p-7fe9d769.entry.js.map} +0 -0
  434. package/dist/nano-components/{p-93880c28.system.js → p-82e28afd.system.js} +2 -2
  435. package/dist/nano-components/p-82e28afd.system.js.map +1 -0
  436. package/dist/nano-components/p-8378428e.system.js +5 -0
  437. package/dist/nano-components/p-8378428e.system.js.map +1 -0
  438. package/dist/nano-components/p-85c8b070.system.entry.js +5 -0
  439. package/dist/nano-components/p-85c8b070.system.entry.js.map +1 -0
  440. package/dist/nano-components/p-86bd5194.entry.js +5 -0
  441. package/dist/nano-components/p-86bd5194.entry.js.map +1 -0
  442. package/dist/nano-components/{p-4535e3bb.entry.js → p-8b6fcd6d.entry.js} +2 -2
  443. package/dist/nano-components/{p-4535e3bb.entry.js.map → p-8b6fcd6d.entry.js.map} +0 -0
  444. package/dist/nano-components/p-8df4f125.system.entry.js +5 -0
  445. package/dist/nano-components/p-8df4f125.system.entry.js.map +1 -0
  446. package/dist/nano-components/{p-6ade3290.entry.js → p-8eb4f24a.entry.js} +2 -2
  447. package/dist/nano-components/{p-6ade3290.entry.js.map → p-8eb4f24a.entry.js.map} +0 -0
  448. package/dist/nano-components/{p-07bdf44d.entry.js → p-8fe2f846.entry.js} +2 -2
  449. package/dist/nano-components/{p-07bdf44d.entry.js.map → p-8fe2f846.entry.js.map} +0 -0
  450. package/dist/nano-components/{p-1238f0fc.system.entry.js → p-93596c3d.system.entry.js} +2 -2
  451. package/dist/nano-components/p-93596c3d.system.entry.js.map +1 -0
  452. package/dist/nano-components/p-96d9b8b9.system.entry.js +5 -0
  453. package/dist/nano-components/p-96d9b8b9.system.entry.js.map +1 -0
  454. package/dist/nano-components/{p-08b43111.entry.js → p-9d9b0b66.entry.js} +2 -2
  455. package/dist/nano-components/p-9d9b0b66.entry.js.map +1 -0
  456. package/dist/nano-components/p-9ffdf6cc.entry.js +5 -0
  457. package/dist/nano-components/{p-346588cc.entry.js.map → p-9ffdf6cc.entry.js.map} +1 -1
  458. package/dist/nano-components/{p-c9c1a345.system.entry.js → p-a02cc654.system.entry.js} +2 -2
  459. package/dist/nano-components/{p-c9c1a345.system.entry.js.map → p-a02cc654.system.entry.js.map} +0 -0
  460. package/dist/nano-components/{p-a77e3fbb.js → p-a0b93616.js} +3 -3
  461. package/dist/nano-components/{p-a77e3fbb.js.map → p-a0b93616.js.map} +1 -1
  462. package/dist/nano-components/p-a1444980.entry.js +5 -0
  463. package/dist/nano-components/p-a1444980.entry.js.map +1 -0
  464. package/dist/nano-components/p-a4969844.entry.js +5 -0
  465. package/dist/nano-components/p-a4969844.entry.js.map +1 -0
  466. package/dist/nano-components/{p-70dec19f.entry.js → p-a6327a9a.entry.js} +2 -2
  467. package/dist/nano-components/{p-70dec19f.entry.js.map → p-a6327a9a.entry.js.map} +0 -0
  468. package/dist/nano-components/{p-a315ed2c.entry.js → p-a9a4fc3e.entry.js} +2 -2
  469. package/dist/nano-components/{p-a315ed2c.entry.js.map → p-a9a4fc3e.entry.js.map} +1 -1
  470. package/dist/nano-components/p-aa84c727.system.entry.js +5 -0
  471. package/dist/nano-components/p-aa84c727.system.entry.js.map +1 -0
  472. package/dist/nano-components/{p-98222c39.system.entry.js → p-ab07c1fa.system.entry.js} +2 -2
  473. package/dist/nano-components/{p-98222c39.system.entry.js.map → p-ab07c1fa.system.entry.js.map} +0 -0
  474. package/dist/nano-components/p-ac5e3775.system.entry.js +5 -0
  475. package/dist/nano-components/p-ac5e3775.system.entry.js.map +1 -0
  476. package/dist/nano-components/{p-ab5813a7.js → p-b5c33aff.js} +2 -2
  477. package/dist/nano-components/{p-ab5813a7.js.map → p-b5c33aff.js.map} +0 -0
  478. package/dist/nano-components/p-b85cf493.system.entry.js +5 -0
  479. package/dist/nano-components/{p-69439aa1.system.entry.js.map → p-b85cf493.system.entry.js.map} +1 -1
  480. package/dist/nano-components/p-bc394857.system.entry.js +5 -0
  481. package/dist/nano-components/p-bc394857.system.entry.js.map +1 -0
  482. package/dist/nano-components/{p-b4f8e541.entry.js → p-bce998f2.entry.js} +2 -2
  483. package/dist/nano-components/{p-b4f8e541.entry.js.map → p-bce998f2.entry.js.map} +0 -0
  484. package/dist/nano-components/{p-92f85aaf.system.entry.js → p-bf9aa89d.system.entry.js} +2 -2
  485. package/dist/nano-components/{p-92f85aaf.system.entry.js.map → p-bf9aa89d.system.entry.js.map} +0 -0
  486. package/dist/nano-components/p-c070ffd3.system.entry.js +5 -0
  487. package/dist/nano-components/p-c070ffd3.system.entry.js.map +1 -0
  488. package/dist/nano-components/p-c3830c43.entry.js +5 -0
  489. package/dist/nano-components/p-c3830c43.entry.js.map +1 -0
  490. package/dist/nano-components/{p-50514e5e.entry.js → p-c4156fea.entry.js} +2 -2
  491. package/dist/nano-components/{p-50514e5e.entry.js.map → p-c4156fea.entry.js.map} +0 -0
  492. package/dist/nano-components/{p-6eb25600.system.js → p-d01bd3c3.system.js} +2 -2
  493. package/dist/nano-components/{p-6eb25600.system.js.map → p-d01bd3c3.system.js.map} +0 -0
  494. package/dist/nano-components/{p-b59d2bd5.entry.js → p-d122b1ff.entry.js} +2 -2
  495. package/dist/nano-components/{p-b59d2bd5.entry.js.map → p-d122b1ff.entry.js.map} +0 -0
  496. package/dist/nano-components/{p-56ba0d63.entry.js → p-d37e1489.entry.js} +2 -2
  497. package/dist/nano-components/p-d37e1489.entry.js.map +1 -0
  498. package/dist/nano-components/p-d61ae833.system.entry.js +5 -0
  499. package/dist/nano-components/p-d61ae833.system.entry.js.map +1 -0
  500. package/dist/nano-components/p-d93274de.entry.js +5 -0
  501. package/dist/nano-components/p-d93274de.entry.js.map +1 -0
  502. package/dist/nano-components/p-da88981f.entry.js +23 -0
  503. package/dist/nano-components/p-da88981f.entry.js.map +1 -0
  504. package/dist/nano-components/{p-394c3c19.entry.js → p-defd4552.entry.js} +2 -2
  505. package/dist/nano-components/{p-394c3c19.entry.js.map → p-defd4552.entry.js.map} +0 -0
  506. package/dist/nano-components/p-e8a913ac.system.entry.js +5 -0
  507. package/dist/nano-components/p-e8a913ac.system.entry.js.map +1 -0
  508. package/dist/nano-components/p-e9a279ee.system.entry.js +5 -0
  509. package/dist/nano-components/p-e9a279ee.system.entry.js.map +1 -0
  510. package/dist/nano-components/{p-22884654.system.entry.js → p-eacf5b5b.system.entry.js} +2 -2
  511. package/dist/nano-components/{p-22884654.system.entry.js.map → p-eacf5b5b.system.entry.js.map} +0 -0
  512. package/dist/nano-components/p-ed336501.entry.js +5 -0
  513. package/dist/nano-components/p-ed336501.entry.js.map +1 -0
  514. package/dist/nano-components/{p-5ae80fd7.js → p-ef7f1e9c.js} +2 -2
  515. package/dist/nano-components/{p-5ae80fd7.js.map → p-ef7f1e9c.js.map} +0 -0
  516. package/dist/nano-components/{p-59b3d24b.system.js → p-f48be9f5.system.js} +2 -2
  517. package/dist/nano-components/{p-59b3d24b.system.js.map → p-f48be9f5.system.js.map} +0 -0
  518. package/dist/nano-components/p-f780d2f6.system.entry.js +5 -0
  519. package/dist/nano-components/p-f780d2f6.system.entry.js.map +1 -0
  520. package/dist/nano-components/p-faba2fc1.system.entry.js +5 -0
  521. package/dist/nano-components/p-faba2fc1.system.entry.js.map +1 -0
  522. package/dist/nano-components/{p-65c10b3f.entry.js → p-fbe3c89e.entry.js} +2 -2
  523. package/dist/nano-components/{p-65c10b3f.entry.js.map → p-fbe3c89e.entry.js.map} +0 -0
  524. package/dist/nano-components/p-ff026352.system.entry.js +5 -0
  525. package/dist/nano-components/p-ff026352.system.entry.js.map +1 -0
  526. package/dist/types/components/checkbox/checkbox-group.d.ts +12 -1
  527. package/dist/types/components/checkbox/checkbox.d.ts +11 -3
  528. package/dist/types/components/date-input/date-input.d.ts +10 -1
  529. package/dist/types/components/dialog/dialog.d.ts +4 -1
  530. package/dist/types/components/field-validator/field-validator.d.ts +125 -0
  531. package/dist/types/components/file-upload/file-upload.d.ts +8 -0
  532. package/dist/types/components/icon/icon.d.ts +1 -1
  533. package/dist/types/components/icon-button/icon-button.d.ts +2 -0
  534. package/dist/types/components/input/input.d.ts +6 -1
  535. package/dist/types/components/select/select.d.ts +10 -2
  536. package/dist/types/components/{sticky → sticker}/sticker.d.ts +0 -0
  537. package/dist/types/components/tabs/tab.d.ts +1 -0
  538. package/dist/types/components.d.ts +207 -4
  539. package/dist/types/utils/store/get-set.d.ts +1 -1
  540. package/docs-json.json +489 -15
  541. package/docs-vscode.json +77 -1
  542. package/package.json +3 -4
  543. package/dist/cjs/ResizeObserver.es-09b81a1b.js +0 -935
  544. package/dist/cjs/ResizeObserver.es-09b81a1b.js.map +0 -1
  545. package/dist/cjs/component-store-722032a5.js.map +0 -1
  546. package/dist/cjs/date-utils-0ae9a12d.js.map +0 -1
  547. package/dist/cjs/global-0d4f3b77.js.map +0 -1
  548. package/dist/cjs/intersection-observer-1822c787.js +0 -987
  549. package/dist/cjs/intersection-observer-1822c787.js.map +0 -1
  550. package/dist/collection/components/sticky/sticker.js.map +0 -1
  551. package/dist/components/ResizeObserver.es.js +0 -933
  552. package/dist/components/ResizeObserver.es.js.map +0 -1
  553. package/dist/components/intersection-observer.js +0 -985
  554. package/dist/components/intersection-observer.js.map +0 -1
  555. package/dist/esm/ResizeObserver.es-724af9fd.js +0 -933
  556. package/dist/esm/ResizeObserver.es-724af9fd.js.map +0 -1
  557. package/dist/esm/component-store-b6fbfa35.js.map +0 -1
  558. package/dist/esm/date-utils-e4b757ff.js.map +0 -1
  559. package/dist/esm/global-d5ec4d53.js.map +0 -1
  560. package/dist/esm/intersection-observer-dff9fb5b.js +0 -985
  561. package/dist/esm/intersection-observer-dff9fb5b.js.map +0 -1
  562. package/dist/esm-es5/ResizeObserver.es-724af9fd.js +0 -5
  563. package/dist/esm-es5/ResizeObserver.es-724af9fd.js.map +0 -1
  564. package/dist/esm-es5/component-store-b6fbfa35.js +0 -5
  565. package/dist/esm-es5/component-store-b6fbfa35.js.map +0 -1
  566. package/dist/esm-es5/date-utils-e4b757ff.js +0 -5
  567. package/dist/esm-es5/date-utils-e4b757ff.js.map +0 -1
  568. package/dist/esm-es5/global-d5ec4d53.js.map +0 -1
  569. package/dist/esm-es5/intersection-observer-dff9fb5b.js +0 -5
  570. package/dist/esm-es5/intersection-observer-dff9fb5b.js.map +0 -1
  571. package/dist/nano-components/p-033296c7.system.entry.js +0 -23
  572. package/dist/nano-components/p-033296c7.system.entry.js.map +0 -1
  573. package/dist/nano-components/p-08b43111.entry.js.map +0 -1
  574. package/dist/nano-components/p-096682d9.system.js +0 -5
  575. package/dist/nano-components/p-096682d9.system.js.map +0 -1
  576. package/dist/nano-components/p-09e38c5f.system.entry.js +0 -5
  577. package/dist/nano-components/p-09e38c5f.system.entry.js.map +0 -1
  578. package/dist/nano-components/p-10a6216d.system.entry.js +0 -5
  579. package/dist/nano-components/p-10a6216d.system.entry.js.map +0 -1
  580. package/dist/nano-components/p-11a2dcce.js +0 -5
  581. package/dist/nano-components/p-11a2dcce.js.map +0 -1
  582. package/dist/nano-components/p-1238f0fc.system.entry.js.map +0 -1
  583. package/dist/nano-components/p-1ca46443.entry.js +0 -5
  584. package/dist/nano-components/p-1ca46443.entry.js.map +0 -1
  585. package/dist/nano-components/p-1e8321ea.entry.js +0 -5
  586. package/dist/nano-components/p-1e8321ea.entry.js.map +0 -1
  587. package/dist/nano-components/p-1f99d776.entry.js +0 -5
  588. package/dist/nano-components/p-1f99d776.entry.js.map +0 -1
  589. package/dist/nano-components/p-346588cc.entry.js +0 -5
  590. package/dist/nano-components/p-39a5280e.system.entry.js +0 -5
  591. package/dist/nano-components/p-39a5280e.system.entry.js.map +0 -1
  592. package/dist/nano-components/p-3aa1d07d.entry.js +0 -5
  593. package/dist/nano-components/p-3aa1d07d.entry.js.map +0 -1
  594. package/dist/nano-components/p-4265cf95.system.entry.js +0 -5
  595. package/dist/nano-components/p-4265cf95.system.entry.js.map +0 -1
  596. package/dist/nano-components/p-44c08842.system.entry.js +0 -5
  597. package/dist/nano-components/p-44c08842.system.entry.js.map +0 -1
  598. package/dist/nano-components/p-457d4893.entry.js +0 -5
  599. package/dist/nano-components/p-457d4893.entry.js.map +0 -1
  600. package/dist/nano-components/p-462ad4f1.entry.js +0 -5
  601. package/dist/nano-components/p-462ad4f1.entry.js.map +0 -1
  602. package/dist/nano-components/p-4870e76d.system.entry.js +0 -5
  603. package/dist/nano-components/p-4870e76d.system.entry.js.map +0 -1
  604. package/dist/nano-components/p-531d5275.system.entry.js.map +0 -1
  605. package/dist/nano-components/p-5653961d.system.entry.js +0 -5
  606. package/dist/nano-components/p-5653961d.system.entry.js.map +0 -1
  607. package/dist/nano-components/p-56ba0d63.entry.js.map +0 -1
  608. package/dist/nano-components/p-5a0095f9.js +0 -5
  609. package/dist/nano-components/p-5a0095f9.js.map +0 -1
  610. package/dist/nano-components/p-5a315696.entry.js +0 -5
  611. package/dist/nano-components/p-5a315696.entry.js.map +0 -1
  612. package/dist/nano-components/p-69439aa1.system.entry.js +0 -5
  613. package/dist/nano-components/p-6afdb510.system.entry.js +0 -5
  614. package/dist/nano-components/p-6afdb510.system.entry.js.map +0 -1
  615. package/dist/nano-components/p-6f94d755.entry.js +0 -5
  616. package/dist/nano-components/p-6f94d755.entry.js.map +0 -1
  617. package/dist/nano-components/p-7246bef5.entry.js +0 -5
  618. package/dist/nano-components/p-7246bef5.entry.js.map +0 -1
  619. package/dist/nano-components/p-730f60ea.entry.js.map +0 -1
  620. package/dist/nano-components/p-802e1416.system.entry.js +0 -5
  621. package/dist/nano-components/p-802e1416.system.entry.js.map +0 -1
  622. package/dist/nano-components/p-84767e87.entry.js +0 -5
  623. package/dist/nano-components/p-84767e87.entry.js.map +0 -1
  624. package/dist/nano-components/p-88f17c86.system.entry.js +0 -5
  625. package/dist/nano-components/p-88f17c86.system.entry.js.map +0 -1
  626. package/dist/nano-components/p-933c35a6.system.entry.js +0 -5
  627. package/dist/nano-components/p-933c35a6.system.entry.js.map +0 -1
  628. package/dist/nano-components/p-93880c28.system.js.map +0 -1
  629. package/dist/nano-components/p-971b40a4.system.entry.js +0 -5
  630. package/dist/nano-components/p-971b40a4.system.entry.js.map +0 -1
  631. package/dist/nano-components/p-9d35768b.entry.js +0 -5
  632. package/dist/nano-components/p-9d35768b.entry.js.map +0 -1
  633. package/dist/nano-components/p-9ea13fbe.entry.js +0 -5
  634. package/dist/nano-components/p-9ea13fbe.entry.js.map +0 -1
  635. package/dist/nano-components/p-b430a9b6.system.js +0 -5
  636. package/dist/nano-components/p-b430a9b6.system.js.map +0 -1
  637. package/dist/nano-components/p-ba13bb56.entry.js +0 -23
  638. package/dist/nano-components/p-ba13bb56.entry.js.map +0 -1
  639. package/dist/nano-components/p-bcd69559.entry.js +0 -5
  640. package/dist/nano-components/p-bcd69559.entry.js.map +0 -1
  641. package/dist/nano-components/p-d8d8bac6.system.entry.js +0 -5
  642. package/dist/nano-components/p-d8d8bac6.system.entry.js.map +0 -1
  643. package/dist/nano-components/p-debd9efc.js +0 -5
  644. package/dist/nano-components/p-debd9efc.js.map +0 -1
  645. package/dist/nano-components/p-e195ab77.system.js +0 -5
  646. package/dist/nano-components/p-e195ab77.system.js.map +0 -1
  647. package/dist/nano-components/p-e1f46998.system.js +0 -5
  648. package/dist/nano-components/p-e1f46998.system.js.map +0 -1
  649. package/dist/nano-components/p-e7c69d4f.entry.js +0 -5
  650. package/dist/nano-components/p-e7c69d4f.entry.js.map +0 -1
  651. package/dist/nano-components/p-ec39b143.system.entry.js +0 -5
  652. package/dist/nano-components/p-ec39b143.system.entry.js.map +0 -1
  653. package/dist/nano-components/p-f2e7d2f9.system.entry.js +0 -5
  654. package/dist/nano-components/p-f2e7d2f9.system.entry.js.map +0 -1
  655. package/dist/nano-components/p-f5d4d13b.system.js +0 -5
  656. package/dist/nano-components/p-f5d4d13b.system.js.map +0 -1
  657. package/dist/nano-components/p-f66958c1.js +0 -5
  658. package/dist/nano-components/p-f66958c1.js.map +0 -1
  659. package/dist/nano-components/p-f9c7d961.js +0 -5
  660. package/dist/nano-components/p-f9c7d961.js.map +0 -1
@@ -1 +1 @@
1
- {"file":"nano-tab.entry.cjs.js","mappings":";;;;;;;;;AAAA,MAAM,MAAM,GAAG,+uGAA+uG;;ACY9vG,IAAI,EAAE,GAAG,CAAC,CAAC;IAWE,GAAG;EALhB;;;IAMU,UAAK,GAAG,YAAY,EAAE,EAAE,EAAE,CAAC;;IAMV,UAAK,GAAG,EAAE,CAAC;;IAGX,WAAM,GAAG,KAAK,CAAC;;IAGf,aAAQ,GAAG,KAAK,CAAC;;IAGlC,aAAQ,GAAG,KAAK,CAAC;IAiBjB,qBAAgB,GAAG;MACzB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KAC1B,CAAC;GAiCH;;EA7CC,MAAM,QAAQ;IACZ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;GACzC;;EAID,MAAM,WAAW;IACf,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;GACjB;EAMD,MAAM;IACJ,QACEA,QAACC,UAAI,IAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,IAClCD,iBACE,IAAI,EAAC,MAAM,EACX,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAC5B,KAAK,EAAE;QACL,OAAO,EAAE,IAAI;QACb,iBAAiB,EAAE,IAAI,CAAC,MAAM;QAC9B,mBAAmB,EAAE,IAAI,CAAC,QAAQ;QAClC,mBAAmB,EAAE,IAAI,CAAC,QAAQ;OACnC,EACD,IAAI,EAAC,KAAK,mBACK,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,mBAChC,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,EAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,GAAG,IAEpDA,qBAAQ,EACP,IAAI,CAAC,QAAQ,KACZA,8BACE,KAAK,EAAC,gBAAgB,EACtB,QAAQ,EAAC,aAAa,EACtB,KAAK,EAAC,uBAAuB,EAC7B,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,QAAQ,EAAE,CAAC,CAAC,GACZ,CACH,CACG,CACD,EACP;GACH;;;;;;;","names":["h","Host"],"sources":["./src/components/tabs/tab.scss?tag=nano-tab&encapsulation=shadow","./src/components/tabs/tab.tsx"],"sourcesContent":["@use 'sass:map';\n@use 'sass:list';\n\n@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n@import '../../global/style/nano-theme/base';\n@import '../../global/style/nano-theme/layers';\n\n/**\n * @prop --focus-shadow: Defaults to #{$control-focus-style};\n\n * @prop --padding: Defaults to .75rem 1rem on placement 'top' and 1rem on placement 'start';\n\n * @prop --bg-rgb: Defaults to #{$layer-bg-color-rgb};\n * @prop --active-bg: Defaults to rgba(var(--bg-rgb), 1);\n * @prop --disabled-bg-rgb: Defaults to var(--bg-rgb);\n * @prop --inactive-bg: Defaults to rgba(var(--bg-rgb), 0.7);\n\n * @prop --text-color: Defaults to #{map.get($colors, blue)};\n * @prop --disabled-text-color: Defaults to #{map.get($colors, darkgrey)};\n * @prop --active-text-color: Defaults to #{map.get($colors, darkblue)};\n\n * @prop --h-font-size: Defaults to .93em;\n * @prop --v-font-size: Defaults to .875em;\n * @prop --tab-spacing: Gap between tabs. Defaults to 1rem;\n * @prop --tab-divider-size: Defaults to 0;\n * @prop --tab-divider-color: Defaults to #{map.get($colors, lightblue)};\n */\n\n:host {\n --focus-shadow: #{$control-focus-style};\n --padding: 0.75rem 1rem;\n --bg-rgb: #{$layer-bg-color-rgb};\n --active-bg: rgba(var(--bg-rgb), 1);\n --inactive-bg: rgba(var(--bg-rgb), 0.7);\n --disabled-bg-rgb: var(--bg-rgb);\n --text-color: #{map.get($colors, blue)};\n --disabled-text-color: #{map.get($colors, darkgrey)};\n --active-text-color: #{map.get($colors, darkblue)};\n --h-font-size: 0.93em;\n --v-font-size: 0.875em;\n --tab-spacing: 0.5rem;\n --tab-divider-size: 0;\n --tab-divider-color: #{map.get($colors, lightblue)};\n --tab-indicator-size: 5px;\n\n display: inline-block;\n}\n\n:host([direction='vertical']) {\n --padding: 1rem;\n\n .nanotab {\n font-size: var(--v-font-size);\n\n &.nanotab--active {\n font-weight: 600;\n color: var(--active-text-color);\n }\n }\n}\n\n:host([direction='horizontal']) {\n .nanotab {\n font-size: var(--h-font-size);\n margin-top: var(--tab-indicator-size);\n border-right: solid var(--tab-divider-size) var(--tab-divider-color);\n\n &.nanotab--active {\n margin-top: 0;\n border-top: solid var(--tab-indicator-size) var(--tab-indicator-color);\n background: var(--active-bg);\n color: var(--active-text-color);\n }\n }\n}\n\n.nanotab {\n @include text-inherit();\n @include margin(null, var(--tab-spacing), null, null);\n\n padding: var(--padding);\n display: flex;\n height: 100%;\n width: auto;\n background: var(--inactive-bg);\n border-radius: var(--border-radius) var(--border-radius) 0 0;\n user-select: none;\n cursor: pointer;\n overflow: visible;\n white-space: nowrap;\n align-items: center;\n\n & ::slotted(*) {\n display: flex;\n align-items: center;\n }\n\n :host(:last-of-type) & {\n @include margin(null, 0, null, null);\n }\n\n &:hover:not(.tab--disabled) {\n text-shadow: 0 0 0.01px var(--text-color);\n }\n\n &:focus {\n outline: none;\n outline-style: none;\n box-shadow: none;\n border-color: transparent;\n }\n\n &:focus:not(.nanotab--disabled) {\n box-shadow: var(--focus-shadow) inset;\n }\n\n &--disabled {\n background: rgba(var(--disabled-bg-rgb), 1);\n opacity: 0.5;\n cursor: not-allowed;\n color: var(--disabled-text-color);\n }\n\n &__close-button {\n @include margin(null, null, null, #{$spacing-small});\n\n --padding: #{$spacing-xsmall} !important;\n }\n}\n","import {\n Component,\n Element,\n Host,\n ComponentInterface,\n Method,\n Prop,\n h,\n Event,\n EventEmitter,\n} from '@stencil/core';\n\nlet id = 0;\n\n/**\n * @slot - The tab's label.\n */\n\n@Component({\n tag: 'nano-tab',\n styleUrl: 'tab.scss',\n shadow: true,\n})\nexport class Tab implements ComponentInterface {\n private tabId = `nano-tab-${++id}`;\n private tab: HTMLElement;\n\n @Element() host: HTMLNanoTabElement;\n\n /** The name of the tab panel the tab will control. The panel must be located in the same tab group. */\n @Prop({ reflect: true }) panel = '';\n\n /** The active, selected tab. If none active, the first will automatically be selected. */\n @Prop({ reflect: true }) active = false;\n\n /** Set to true to draw the tab in an active state. */\n @Prop({ reflect: true }) disabled = false;\n\n /** When true, the tab will be rendered with a close icon. */\n @Prop() closable = false;\n\n /** Emitted when the tab is closable and the close button is activated. */\n @Event() nanoTabClose: EventEmitter;\n\n /** Sets focus to the tab. */\n @Method()\n async setFocus() {\n this.tab.focus({ preventScroll: true });\n }\n\n /** Removes focus from the tab. */\n @Method()\n async removeFocus() {\n this.tab.blur();\n }\n\n private handleCloseClick = () => {\n this.nanoTabClose.emit();\n };\n\n render() {\n return (\n <Host id={this.host.id || this.tabId}>\n <div\n part=\"base\"\n ref={(el) => (this.tab = el)}\n class={{\n nanotab: true,\n 'nanotab--active': this.active,\n 'nanotab--disabled': this.disabled,\n 'nanotab--closable': this.closable,\n }}\n role=\"tab\"\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-selected={this.active ? 'true' : 'false'}\n tabindex={this.disabled || !this.active ? '-1' : '0'}\n >\n <slot />\n {this.closable && (\n <nano-icon-button\n label=\"Close this tab\"\n iconName=\"light/times\"\n class=\"nanotab__close-button\"\n onClick={this.handleCloseClick}\n tabIndex={-1}\n />\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"nano-tab.entry.cjs.js","mappings":";;;;;;;;;AAAA,MAAM,MAAM,GAAG,+uGAA+uG;;ACY9vG,IAAI,EAAE,GAAG,CAAC,CAAC;IAWE,GAAG;EALhB;;;IAMU,UAAK,GAAG,YAAY,EAAE,EAAE,EAAE,CAAC;;IAMV,UAAK,GAAG,EAAE,CAAC;;IAGX,WAAM,GAAG,KAAK,CAAC;;IAGf,aAAQ,GAAG,KAAK,CAAC;;IAGlC,aAAQ,GAAG,KAAK,CAAC;IAiBjB,qBAAgB,GAAG;MACzB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KAC1B,CAAC;IAEM,uBAAkB,GAAG,CAAC,CAAgB;MAC5C,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG;QAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;KAC5C,CAAC;GAkCH;;EAlDC,MAAM,QAAQ;IACZ,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;GACzC;;EAID,MAAM,WAAW;IACf,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;GACjB;EAUD,MAAM;IACJ,QACEA,QAACC,UAAI,IAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,IAClCD,iBACE,IAAI,EAAC,MAAM,EACX,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAC5B,KAAK,EAAE;QACL,OAAO,EAAE,IAAI;QACb,iBAAiB,EAAE,IAAI,CAAC,MAAM;QAC9B,mBAAmB,EAAE,IAAI,CAAC,QAAQ;QAClC,mBAAmB,EAAE,IAAI,CAAC,QAAQ;OACnC,EACD,IAAI,EAAC,KAAK,mBACK,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,mBAChC,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,EAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,GAAG,IAEpDA,qBAAQ,EACP,IAAI,CAAC,QAAQ,KACZA,8BACE,KAAK,EAAC,gBAAgB,EACtB,QAAQ,EAAC,aAAa,EACtB,KAAK,EAAC,uBAAuB,EAC7B,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAClC,QAAQ,EAAE,CAAC,CAAC,GACZ,CACH,CACG,CACD,EACP;GACH;;;;;;;","names":["h","Host"],"sources":["./src/components/tabs/tab.scss?tag=nano-tab&encapsulation=shadow","./src/components/tabs/tab.tsx"],"sourcesContent":["@use 'sass:map';\n@use 'sass:list';\n\n@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n@import '../../global/style/nano-theme/base';\n@import '../../global/style/nano-theme/layers';\n\n/**\n * @prop --focus-shadow: Defaults to #{$control-focus-style};\n\n * @prop --padding: Defaults to .75rem 1rem on placement 'top' and 1rem on placement 'start';\n\n * @prop --bg-rgb: Defaults to #{$layer-bg-color-rgb};\n * @prop --active-bg: Defaults to rgba(var(--bg-rgb), 1);\n * @prop --disabled-bg-rgb: Defaults to var(--bg-rgb);\n * @prop --inactive-bg: Defaults to rgba(var(--bg-rgb), 0.7);\n\n * @prop --text-color: Defaults to #{map.get($colors, blue)};\n * @prop --disabled-text-color: Defaults to #{map.get($colors, darkgrey)};\n * @prop --active-text-color: Defaults to #{map.get($colors, darkblue)};\n\n * @prop --h-font-size: Defaults to .93em;\n * @prop --v-font-size: Defaults to .875em;\n * @prop --tab-spacing: Gap between tabs. Defaults to 1rem;\n * @prop --tab-divider-size: Defaults to 0;\n * @prop --tab-divider-color: Defaults to #{map.get($colors, lightblue)};\n */\n\n:host {\n --focus-shadow: #{$control-focus-style};\n --padding: 0.75rem 1rem;\n --bg-rgb: #{$layer-bg-color-rgb};\n --active-bg: rgba(var(--bg-rgb), 1);\n --inactive-bg: rgba(var(--bg-rgb), 0.7);\n --disabled-bg-rgb: var(--bg-rgb);\n --text-color: #{map.get($colors, blue)};\n --disabled-text-color: #{map.get($colors, darkgrey)};\n --active-text-color: #{map.get($colors, darkblue)};\n --h-font-size: 0.93em;\n --v-font-size: 0.875em;\n --tab-spacing: 0.5rem;\n --tab-divider-size: 0;\n --tab-divider-color: #{map.get($colors, lightblue)};\n --tab-indicator-size: 5px;\n\n display: inline-block;\n}\n\n:host([direction='vertical']) {\n --padding: 1rem;\n\n .nanotab {\n font-size: var(--v-font-size);\n\n &.nanotab--active {\n font-weight: 600;\n color: var(--active-text-color);\n }\n }\n}\n\n:host([direction='horizontal']) {\n .nanotab {\n font-size: var(--h-font-size);\n margin-top: var(--tab-indicator-size);\n border-right: solid var(--tab-divider-size) var(--tab-divider-color);\n\n &.nanotab--active {\n margin-top: 0;\n border-top: solid var(--tab-indicator-size) var(--tab-indicator-color);\n background: var(--active-bg);\n color: var(--active-text-color);\n }\n }\n}\n\n.nanotab {\n @include text-inherit();\n @include margin(null, var(--tab-spacing), null, null);\n\n padding: var(--padding);\n display: flex;\n height: 100%;\n width: auto;\n background: var(--inactive-bg);\n border-radius: var(--border-radius) var(--border-radius) 0 0;\n user-select: none;\n cursor: pointer;\n overflow: visible;\n white-space: nowrap;\n align-items: center;\n\n & ::slotted(*) {\n display: flex;\n align-items: center;\n }\n\n :host(:last-of-type) & {\n @include margin(null, 0, null, null);\n }\n\n &:hover:not(.tab--disabled) {\n text-shadow: 0 0 0.01px var(--text-color);\n }\n\n &:focus {\n outline: none;\n outline-style: none;\n box-shadow: none;\n border-color: transparent;\n }\n\n &:focus:not(.nanotab--disabled) {\n box-shadow: var(--focus-shadow) inset;\n }\n\n &--disabled {\n background: rgba(var(--disabled-bg-rgb), 1);\n opacity: 0.5;\n cursor: not-allowed;\n color: var(--disabled-text-color);\n }\n\n &__close-button {\n @include margin(null, null, null, #{$spacing-small});\n\n --padding: #{$spacing-xsmall} !important;\n }\n}\n","import {\n Component,\n Element,\n Host,\n ComponentInterface,\n Method,\n Prop,\n h,\n Event,\n EventEmitter,\n} from '@stencil/core';\n\nlet id = 0;\n\n/**\n * @slot - The tab's label.\n */\n\n@Component({\n tag: 'nano-tab',\n styleUrl: 'tab.scss',\n shadow: true,\n})\nexport class Tab implements ComponentInterface {\n private tabId = `nano-tab-${++id}`;\n private tab: HTMLElement;\n\n @Element() host: HTMLNanoTabElement;\n\n /** The name of the tab panel the tab will control. The panel must be located in the same tab group. */\n @Prop({ reflect: true }) panel = '';\n\n /** The active, selected tab. If none active, the first will automatically be selected. */\n @Prop({ reflect: true }) active = false;\n\n /** Set to true to draw the tab in an active state. */\n @Prop({ reflect: true }) disabled = false;\n\n /** When true, the tab will be rendered with a close icon. */\n @Prop() closable = false;\n\n /** Emitted when the tab is closable and the close button is activated. */\n @Event() nanoTabClose: EventEmitter;\n\n /** Sets focus to the tab. */\n @Method()\n async setFocus() {\n this.tab.focus({ preventScroll: true });\n }\n\n /** Removes focus from the tab. */\n @Method()\n async removeFocus() {\n this.tab.blur();\n }\n\n private handleCloseClick = () => {\n this.nanoTabClose.emit();\n };\n\n private handleCloseKeydown = (e: KeyboardEvent) => {\n if (e.key === ' ') this.handleCloseClick();\n };\n\n render() {\n return (\n <Host id={this.host.id || this.tabId}>\n <div\n part=\"base\"\n ref={(el) => (this.tab = el)}\n class={{\n nanotab: true,\n 'nanotab--active': this.active,\n 'nanotab--disabled': this.disabled,\n 'nanotab--closable': this.closable,\n }}\n role=\"tab\"\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-selected={this.active ? 'true' : 'false'}\n tabindex={this.disabled || !this.active ? '-1' : '0'}\n >\n <slot />\n {this.closable && (\n <nano-icon-button\n label=\"Close this tab\"\n iconName=\"light/times\"\n class=\"nanotab__close-button\"\n onClick={this.handleCloseClick}\n onKeyDown={this.handleCloseKeydown}\n tabIndex={-1}\n />\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -9,7 +9,7 @@ const index = require('./index-cb62df44.js');
9
9
  const popover = require('./popover-5f152a19.js');
10
10
  require('./index-53d02e05.js');
11
11
 
12
- const tooltipCss = ":host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{--max-width:20rem;--hide-delay:0s;--hide-duration:0.125s;--hide-timing-function:ease;--show-delay:0.125s;--show-duration:0.125s;--show-timing-function:ease;display:contents}.tooltip{max-width:var(--max-width);border-radius:var(--nano-tooltip-border-radius, var(--nano-border-radius-small, 2px));background-color:black;font-size:var(--nano-fontsize-small, 0.875rem);line-height:1.5;color:white;opacity:0;padding:var(--nano-tooltip-padding, var(--nano-spacing-xsmall, 4px) var(--nano-spacing-small, 8px));-webkit-transform:translateY(10px) translateZ(0);transform:translateY(10px) translateZ(0);-webkit-transform-origin:bottom;transform-origin:bottom;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:opacity, transform;transition-property:opacity, transform, -webkit-transform;-webkit-transition-delay:var(--hide-delay);transition-delay:var(--hide-delay);-webkit-transition-duration:var(--hide-duration);transition-duration:var(--hide-duration);-webkit-transition-timing-function:var(--hide-timing-function);transition-timing-function:var(--hide-timing-function);white-space:normal}.tooltip-arrow{content:\"\";position:absolute;width:0;height:0;color:black;-webkit-transition:0.2s ease transform;transition:0.2s ease transform}.tooltip-positioner{position:absolute;z-index:var(--nano-layer-index-tooltip, 1000);pointer-events:none}.tooltip-positioner[data-popper-placement^=top] .tooltip{-webkit-transform-origin:bottom;transform-origin:bottom;-webkit-transform:translateY(-10px) translateZ(0);transform:translateY(-10px) translateZ(0)}.tooltip-positioner[data-popper-placement^=bottom] .tooltip{-webkit-transform-origin:top;transform-origin:top}.tooltip-positioner[data-popper-placement^=left] .tooltip{-webkit-transform-origin:right;transform-origin:right}.tooltip-positioner[data-popper-placement^=right] .tooltip{-webkit-transform-origin:left;transform-origin:left}.tooltip-positioner.popover-visible .tooltip{opacity:1;-webkit-transform:none;transform:none;-webkit-transition-delay:var(--show-delay);transition-delay:var(--show-delay);-webkit-transition-duration:var(--show-duration);transition-duration:var(--show-duration);-webkit-transition-timing-function:var(--show-timing-function);transition-timing-function:var(--show-timing-function)}.tooltip-positioner[data-popper-placement^=bottom] .tooltip-arrow{bottom:100%;left:calc(50% - 5px);border-bottom:5px solid;border-left:5px solid transparent;border-right:5px solid transparent}.tooltip-positioner[data-popper-placement=bottom-start] .tooltip-arrow{left:5px}.tooltip-positioner[data-popper-placement=bottom-end] .tooltip-arrow{right:5px;left:auto}.tooltip-positioner[data-popper-placement^=top] .tooltip-arrow{top:100%;left:calc(50% - 5px);border-top:5px solid;border-left:5px solid transparent;border-right:5px solid transparent}.tooltip-positioner[data-popper-placement=top-start] .tooltip-arrow{left:5px}.tooltip-positioner[data-popper-placement=top-end] .tooltip-arrow{right:5px;left:auto}.tooltip-positioner[data-popper-placement^=left] .tooltip-arrow{top:calc(50% - 5px);left:100%;border-left:5px solid;border-top:5px solid transparent;border-bottom:5px solid transparent}.tooltip-positioner[data-popper-placement=left-start] .tooltip-arrow{top:5px}.tooltip-positioner[data-popper-placement=left-end] .tooltip-arrow{top:auto;bottom:5px}.tooltip-positioner[data-popper-placement^=right] .tooltip-arrow{top:calc(50% - 5px);right:100%;border-right:5px solid;border-top:5px solid transparent;border-bottom:5px solid transparent}.tooltip-positioner[data-popper-placement=right-start] .tooltip-arrow{top:5px}.tooltip-positioner[data-popper-placement=right-end] .tooltip-arrow{top:auto;bottom:5px}";
12
+ const tooltipCss = ":host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{--max-width:20rem;--hide-delay:0s;--hide-duration:0.125s;--hide-timing-function:ease;--show-delay:0.125s;--show-duration:0.125s;--show-timing-function:ease;display:contents}.tooltip{max-width:var(--max-width);border-radius:var(--nano-tooltip-border-radius, var(--nano-border-radius-small, 2px));background-color:black;font-size:var(--nano-fontsize-small, 0.875rem);line-height:1.5;color:white;opacity:0;padding:var(--nano-tooltip-padding, var(--nano-spacing-xsmall, 4px) var(--nano-spacing-small, 8px));-webkit-transform:translateY(10px) translateZ(0);transform:translateY(10px) translateZ(0);-webkit-transform-origin:bottom;transform-origin:bottom;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:opacity, transform;transition-property:opacity, transform, -webkit-transform;-webkit-transition-delay:var(--hide-delay);transition-delay:var(--hide-delay);-webkit-transition-duration:var(--hide-duration);transition-duration:var(--hide-duration);-webkit-transition-timing-function:var(--hide-timing-function);transition-timing-function:var(--hide-timing-function);white-space:normal}.tooltip-arrow{content:\"\";position:absolute;width:0;height:0;color:black;-webkit-transition:0.2s ease transform;transition:0.2s ease transform}.tooltip-positioner{position:absolute;z-index:var(--nano-layer-index-tooltip, 1000)}.tooltip-positioner[data-popper-placement^=top] .tooltip{-webkit-transform-origin:bottom;transform-origin:bottom;-webkit-transform:translateY(-10px) translateZ(0);transform:translateY(-10px) translateZ(0)}.tooltip-positioner[data-popper-placement^=bottom] .tooltip{-webkit-transform-origin:top;transform-origin:top}.tooltip-positioner[data-popper-placement^=left] .tooltip{-webkit-transform-origin:right;transform-origin:right}.tooltip-positioner[data-popper-placement^=right] .tooltip{-webkit-transform-origin:left;transform-origin:left}.tooltip-positioner.popover-visible .tooltip{opacity:1;-webkit-transform:none;transform:none;-webkit-transition-delay:var(--show-delay);transition-delay:var(--show-delay);-webkit-transition-duration:var(--show-duration);transition-duration:var(--show-duration);-webkit-transition-timing-function:var(--show-timing-function);transition-timing-function:var(--show-timing-function)}.tooltip-positioner[data-popper-placement^=bottom] .tooltip-arrow{bottom:100%;left:calc(50% - 5px);border-bottom:5px solid;border-left:5px solid transparent;border-right:5px solid transparent}.tooltip-positioner[data-popper-placement=bottom-start] .tooltip-arrow{left:5px}.tooltip-positioner[data-popper-placement=bottom-end] .tooltip-arrow{right:5px;left:auto}.tooltip-positioner[data-popper-placement^=top] .tooltip-arrow{top:100%;left:calc(50% - 5px);border-top:5px solid;border-left:5px solid transparent;border-right:5px solid transparent}.tooltip-positioner[data-popper-placement=top-start] .tooltip-arrow{left:5px}.tooltip-positioner[data-popper-placement=top-end] .tooltip-arrow{right:5px;left:auto}.tooltip-positioner[data-popper-placement^=left] .tooltip-arrow{top:calc(50% - 5px);left:100%;border-left:5px solid;border-top:5px solid transparent;border-bottom:5px solid transparent}.tooltip-positioner[data-popper-placement=left-start] .tooltip-arrow{top:5px}.tooltip-positioner[data-popper-placement=left-end] .tooltip-arrow{top:auto;bottom:5px}.tooltip-positioner[data-popper-placement^=right] .tooltip-arrow{top:calc(50% - 5px);right:100%;border-right:5px solid;border-top:5px solid transparent;border-bottom:5px solid transparent}.tooltip-positioner[data-popper-placement=right-start] .tooltip-arrow{top:5px}.tooltip-positioner[data-popper-placement=right-end] .tooltip-arrow{top:auto;bottom:5px}";
13
13
 
14
14
  let id = 0;
15
15
  let Tooltip = class {
@@ -1 +1 @@
1
- {"file":"nano-tooltip.entry.cjs.js","mappings":"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","names":["Popover","h","Host"],"sources":["./src/components/tooltip/tooltip.scss?tag=nano-tooltip&encapsulation=shadow","./src/components/tooltip/tooltip.tsx"],"sourcesContent":["@import '../../global/style/nano-theme/components';\n@import '../../global/style/nano-theme/layers';\n\n/**\n * @prop --hide-delay: The amount of time to wait before hiding the tooltip.\n * @prop --hide-duration: The amount of time the hide transition takes to complete.\n * @prop --hide-timing-function: The timing function (easing) to use for the hide transition.\n * @prop --max-width: The maximum width of the tooltip.\n * @prop --show-delay: The amount of time to wait before showing the tooltip.\n * @prop --show-duration: The amount of time the show transition takes to complete.\n * @prop --show-timing-function: The timing function (easing) to use for the show transition.\n */\n:host {\n --max-width: 20rem;\n --hide-delay: 0s;\n --hide-duration: 0.125s;\n --hide-timing-function: ease;\n --show-delay: 0.125s;\n --show-duration: 0.125s;\n --show-timing-function: ease;\n\n /* autoprefixer: ignore next */\n display: contents;\n}\n\n.tooltip {\n $self: &;\n\n max-width: var(--max-width);\n border-radius: #{$tooltip-border-radius};\n background-color: black;\n font-size: #{$tooltip-fontsize};\n line-height: 1.5;\n color: white;\n opacity: 0;\n padding: #{$tooltip-padding};\n transform: translateY(10px) translateZ(0);\n transform-origin: bottom;\n transition-property: opacity, transform;\n transition-delay: var(--hide-delay);\n transition-duration: var(--hide-duration);\n transition-timing-function: var(--hide-timing-function);\n white-space: normal;\n\n &-arrow {\n content: '';\n position: absolute;\n width: 0;\n height: 0;\n color: black;\n transition: 0.2s ease transform;\n }\n\n &-positioner {\n position: absolute;\n z-index: #{$layer-index-tooltip};\n pointer-events: none;\n\n &[data-popper-placement^='top'] #{$self} {\n transform-origin: bottom;\n transform: translateY(-10px) translateZ(0);\n }\n\n &[data-popper-placement^='bottom'] #{$self} {\n transform-origin: top;\n }\n\n &[data-popper-placement^='left'] #{$self} {\n transform-origin: right;\n }\n\n &[data-popper-placement^='right'] #{$self} {\n transform-origin: left;\n }\n\n &.popover-visible #{$self} {\n opacity: 1;\n transform: none;\n transition-delay: var(--show-delay);\n transition-duration: var(--show-duration);\n transition-timing-function: var(--show-timing-function);\n }\n\n // Arrow + bottom\n &[data-popper-placement^='bottom'] #{$self}-arrow {\n bottom: 100%;\n left: calc(50% - #{$tooltip-arrow-size});\n border-bottom: #{$tooltip-arrow-size} solid;\n border-left: #{$tooltip-arrow-size} solid transparent;\n border-right: #{$tooltip-arrow-size} solid transparent;\n }\n\n &[data-popper-placement='bottom-start'] #{$self}-arrow {\n left: #{$tooltip-arrow-offset};\n }\n\n &[data-popper-placement='bottom-end'] #{$self}-arrow {\n right: #{$tooltip-arrow-offset};\n left: auto;\n }\n\n // Arrow + top\n &[data-popper-placement^='top'] #{$self}-arrow {\n top: 100%;\n left: calc(50% - #{$tooltip-arrow-size});\n border-top: #{$tooltip-arrow-size} solid;\n border-left: #{$tooltip-arrow-size} solid transparent;\n border-right: #{$tooltip-arrow-size} solid transparent;\n }\n\n &[data-popper-placement='top-start'] #{$self}-arrow {\n left: #{$tooltip-arrow-offset};\n }\n\n &[data-popper-placement='top-end'] #{$self}-arrow {\n right: #{$tooltip-arrow-offset};\n left: auto;\n }\n\n // Arrow + left\n &[data-popper-placement^='left'] #{$self}-arrow {\n top: calc(50% - #{$tooltip-arrow-size});\n left: 100%;\n border-left: #{$tooltip-arrow-size} solid;\n border-top: #{$tooltip-arrow-size} solid transparent;\n border-bottom: #{$tooltip-arrow-size} solid transparent;\n }\n\n &[data-popper-placement='left-start'] #{$self}-arrow {\n top: #{$tooltip-arrow-offset};\n }\n\n &[data-popper-placement='left-end'] #{$self}-arrow {\n top: auto;\n bottom: #{$tooltip-arrow-offset};\n }\n\n // Arrow + right\n &[data-popper-placement^='right'] #{$self}-arrow {\n top: calc(50% - #{$tooltip-arrow-size});\n right: 100%;\n border-right: #{$tooltip-arrow-size} solid;\n border-top: #{$tooltip-arrow-size} solid transparent;\n border-bottom: #{$tooltip-arrow-size} solid transparent;\n }\n\n &[data-popper-placement='right-start'] #{$self}-arrow {\n top: #{$tooltip-arrow-offset};\n }\n\n &[data-popper-placement='right-end'] #{$self}-arrow {\n top: auto;\n bottom: #{$tooltip-arrow-offset};\n }\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n Watch,\n h,\n} from '@stencil/core';\nimport Popover from '../../utils/popover';\n\nlet id = 0;\n\n/**\n * Tooltips display additional information based on a specific action.\n * @slot - The tooltip's target element. Only the first element will be used as the target.\n * @slot content - The tooltip's content. Alternatively, you can use the content prop.\n */\n@Component({\n tag: 'nano-tooltip',\n styleUrl: 'tooltip.scss',\n shadow: true,\n})\nexport class Tooltip {\n private componentId = `tooltip-${++id}`;\n private isVisible = false;\n private popover: Popover;\n private tooltipPositioner: HTMLElement;\n private tooltip: any;\n\n private _target: HTMLElement;\n private get target() {\n return this._target;\n }\n private set target(newTarget) {\n if (newTarget !== this._target && this._target) {\n this._target.removeAttribute('aria-describedby');\n }\n newTarget.setAttribute('aria-describedby', this.componentId);\n this._target = newTarget;\n }\n\n @Element() host: HTMLNanoTooltipElement;\n\n /** The tooltip's content. Alternatively, you can use the content slot. */\n @Prop() content = '';\n\n /**\n * The preferred placement of the tooltip. Note that the actual placement may vary as needed to keep the tooltip\n * inside of the viewport.\n */\n @Prop() placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'top';\n\n /** Set to true to disable the tooltip so it won't show when triggered. */\n @Prop() disabled = false;\n\n /** The distance in pixels from which to offset the tooltip away from its target. */\n @Prop() distance = 10;\n\n /** Indicates whether or not the tooltip is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** The distance in pixels from which to offset the tooltip along its target. */\n @Prop() skidding = 0;\n\n /**\n * Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`, and `manual`. Multiple\n * options can be passed by separating them with a space. When manual is used, the tooltip must be activated\n * programmatically.\n */\n @Prop() trigger: string = 'hover focus';\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n // Events\n\n /** Emitted when the tooltip begins to show. Calling `event.preventDefault()` will prevent it from being shown. */\n @Event() nanoShow: EventEmitter;\n\n /** Emitted after the tooltip has shown and all transitions are complete. */\n @Event() nanoAfterShow: EventEmitter;\n\n /** Emitted when the tooltip begins to hide. Calling `event.preventDefault()` will prevent it from being hidden. */\n @Event() nanoHide: EventEmitter;\n\n /** Emitted after the tooltip has hidden and all transitions are complete. */\n @Event() nanoAfterHide: EventEmitter;\n\n // Public methods\n\n /** Shows the tooltip. */\n @Method()\n async show() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (this.isVisible) {\n return;\n }\n\n const slShow = this.nanoShow.emit();\n if (slShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.isVisible = true;\n this.open = true;\n this.popover.show();\n }\n\n /** Hides the tooltip. */\n @Method()\n async hide() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (!this.isVisible) {\n return;\n }\n\n const slHide = this.nanoHide.emit();\n if (slHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n this.isVisible = false;\n this.open = false;\n this.popover.hide();\n }\n\n // Private methods\n\n private getTarget() {\n // Get the first child that isn't a <style> or content slot\n const target = [...Array.from(this.host.children)].find(\n (el) =>\n el.tagName.toLowerCase() !== 'style' &&\n el.getAttribute('slot') !== 'content'\n ) as HTMLElement;\n\n if (!target) {\n throw new Error('Invalid tooltip target: no child element was found.');\n }\n\n return target;\n }\n\n private hasTrigger(triggerType: string) {\n const triggers = this.trigger.split(' ');\n return triggers.includes(triggerType);\n }\n\n private syncOptions() {\n this.popover.setOptions({\n placement: this.placement,\n distance: this.distance,\n skidding: this.skidding,\n transitionElement: this.tooltip,\n onAfterHide: () => this.nanoAfterHide.emit(),\n onAfterShow: () => this.nanoAfterShow.emit(),\n });\n }\n\n // Event Handlers\n\n private handleBlur = () => {\n if (this.hasTrigger('focus')) {\n this.hide();\n }\n };\n\n private handleClick = () => {\n if (this.hasTrigger('click')) {\n this.open ? this.hide() : this.show();\n }\n };\n\n private handleFocus = () => {\n if (this.hasTrigger('focus')) {\n this.show();\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n // Pressing escape when the target element has focus should dismiss the tooltip\n if (this.open && event.key === 'Escape') {\n event.stopPropagation();\n this.hide();\n }\n };\n\n private handleMouseOver = () => {\n if (this.hasTrigger('hover')) {\n this.show();\n }\n };\n\n private handleMouseOut = () => {\n if (this.hasTrigger('hover')) {\n this.hide();\n }\n };\n\n private handleSlotChange = () => {\n this.target = this.getTarget();\n };\n\n private handleTTSlotChange = () => {\n const contentDiv =\n this.host.querySelector(`[id=\"${this.componentId}\"]`) ||\n this.host.shadowRoot.getElementById(this.componentId);\n Array.from(this.host.querySelectorAll('[slot=\"content\"]'))\n .filter((elm) => elm !== contentDiv)\n .forEach((elm) => {\n contentDiv.appendChild(elm);\n });\n };\n\n // Stencil hooks\n\n componentDidLoad() {\n this.target = this.getTarget();\n this.popover = new Popover(this.target, this.tooltipPositioner);\n this.syncOptions();\n\n const ele = this.host.shadowRoot.getElementById(this.componentId);\n ele.slot = 'content';\n this.host.appendChild(ele);\n this.handleTTSlotChange();\n\n // Show on init if open\n this.tooltipPositioner.hidden = !this.open;\n if (this.open) {\n this.show();\n }\n }\n\n componentDidUpdate() {\n this.syncOptions();\n }\n\n disconnectedCallback() {\n this.popover.destroy();\n }\n\n render() {\n return (\n <Host\n onKeyDown={this.handleKeyDown}\n onMouseOver={this.handleMouseOver}\n onMouseOut={this.handleMouseOut}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.handleClick}\n >\n <slot onSlotchange={this.handleSlotChange} />\n\n {!this.disabled && (\n <div\n ref={(el) => (this.tooltipPositioner = el)}\n class=\"tooltip-positioner\"\n >\n <div\n part=\"base\"\n ref={(el) => (this.tooltip = el)}\n class={{\n tooltip: true,\n 'tooltip--open': this.open,\n }}\n role=\"tooltip\"\n aria-hidden={this.open ? 'false' : 'true'}\n >\n <slot name=\"content\" onSlotchange={this.handleTTSlotChange}>\n <div id={this.componentId}>{this.content}</div>\n </slot>\n <div class=\"tooltip-arrow\" data-popper-arrow></div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"nano-tooltip.entry.cjs.js","mappings":"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","names":["Popover","h","Host"],"sources":["./src/components/tooltip/tooltip.scss?tag=nano-tooltip&encapsulation=shadow","./src/components/tooltip/tooltip.tsx"],"sourcesContent":["@import '../../global/style/nano-theme/components';\n@import '../../global/style/nano-theme/layers';\n\n/**\n * @prop --hide-delay: The amount of time to wait before hiding the tooltip.\n * @prop --hide-duration: The amount of time the hide transition takes to complete.\n * @prop --hide-timing-function: The timing function (easing) to use for the hide transition.\n * @prop --max-width: The maximum width of the tooltip.\n * @prop --show-delay: The amount of time to wait before showing the tooltip.\n * @prop --show-duration: The amount of time the show transition takes to complete.\n * @prop --show-timing-function: The timing function (easing) to use for the show transition.\n */\n:host {\n --max-width: 20rem;\n --hide-delay: 0s;\n --hide-duration: 0.125s;\n --hide-timing-function: ease;\n --show-delay: 0.125s;\n --show-duration: 0.125s;\n --show-timing-function: ease;\n\n /* autoprefixer: ignore next */\n display: contents;\n}\n\n.tooltip {\n $self: &;\n\n max-width: var(--max-width);\n border-radius: #{$tooltip-border-radius};\n background-color: black;\n font-size: #{$tooltip-fontsize};\n line-height: 1.5;\n color: white;\n opacity: 0;\n padding: #{$tooltip-padding};\n transform: translateY(10px) translateZ(0);\n transform-origin: bottom;\n transition-property: opacity, transform;\n transition-delay: var(--hide-delay);\n transition-duration: var(--hide-duration);\n transition-timing-function: var(--hide-timing-function);\n white-space: normal;\n\n &-arrow {\n content: '';\n position: absolute;\n width: 0;\n height: 0;\n color: black;\n transition: 0.2s ease transform;\n }\n\n &-positioner {\n position: absolute;\n z-index: #{$layer-index-tooltip};\n\n &[data-popper-placement^='top'] #{$self} {\n transform-origin: bottom;\n transform: translateY(-10px) translateZ(0);\n }\n\n &[data-popper-placement^='bottom'] #{$self} {\n transform-origin: top;\n }\n\n &[data-popper-placement^='left'] #{$self} {\n transform-origin: right;\n }\n\n &[data-popper-placement^='right'] #{$self} {\n transform-origin: left;\n }\n\n &.popover-visible #{$self} {\n opacity: 1;\n transform: none;\n transition-delay: var(--show-delay);\n transition-duration: var(--show-duration);\n transition-timing-function: var(--show-timing-function);\n }\n\n // Arrow + bottom\n &[data-popper-placement^='bottom'] #{$self}-arrow {\n bottom: 100%;\n left: calc(50% - #{$tooltip-arrow-size});\n border-bottom: #{$tooltip-arrow-size} solid;\n border-left: #{$tooltip-arrow-size} solid transparent;\n border-right: #{$tooltip-arrow-size} solid transparent;\n }\n\n &[data-popper-placement='bottom-start'] #{$self}-arrow {\n left: #{$tooltip-arrow-offset};\n }\n\n &[data-popper-placement='bottom-end'] #{$self}-arrow {\n right: #{$tooltip-arrow-offset};\n left: auto;\n }\n\n // Arrow + top\n &[data-popper-placement^='top'] #{$self}-arrow {\n top: 100%;\n left: calc(50% - #{$tooltip-arrow-size});\n border-top: #{$tooltip-arrow-size} solid;\n border-left: #{$tooltip-arrow-size} solid transparent;\n border-right: #{$tooltip-arrow-size} solid transparent;\n }\n\n &[data-popper-placement='top-start'] #{$self}-arrow {\n left: #{$tooltip-arrow-offset};\n }\n\n &[data-popper-placement='top-end'] #{$self}-arrow {\n right: #{$tooltip-arrow-offset};\n left: auto;\n }\n\n // Arrow + left\n &[data-popper-placement^='left'] #{$self}-arrow {\n top: calc(50% - #{$tooltip-arrow-size});\n left: 100%;\n border-left: #{$tooltip-arrow-size} solid;\n border-top: #{$tooltip-arrow-size} solid transparent;\n border-bottom: #{$tooltip-arrow-size} solid transparent;\n }\n\n &[data-popper-placement='left-start'] #{$self}-arrow {\n top: #{$tooltip-arrow-offset};\n }\n\n &[data-popper-placement='left-end'] #{$self}-arrow {\n top: auto;\n bottom: #{$tooltip-arrow-offset};\n }\n\n // Arrow + right\n &[data-popper-placement^='right'] #{$self}-arrow {\n top: calc(50% - #{$tooltip-arrow-size});\n right: 100%;\n border-right: #{$tooltip-arrow-size} solid;\n border-top: #{$tooltip-arrow-size} solid transparent;\n border-bottom: #{$tooltip-arrow-size} solid transparent;\n }\n\n &[data-popper-placement='right-start'] #{$self}-arrow {\n top: #{$tooltip-arrow-offset};\n }\n\n &[data-popper-placement='right-end'] #{$self}-arrow {\n top: auto;\n bottom: #{$tooltip-arrow-offset};\n }\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n Watch,\n h,\n} from '@stencil/core';\nimport Popover from '../../utils/popover';\n\nlet id = 0;\n\n/**\n * Tooltips display additional information based on a specific action.\n * @slot - The tooltip's target element. Only the first element will be used as the target.\n * @slot content - The tooltip's content. Alternatively, you can use the content prop.\n */\n@Component({\n tag: 'nano-tooltip',\n styleUrl: 'tooltip.scss',\n shadow: true,\n})\nexport class Tooltip {\n private componentId = `tooltip-${++id}`;\n private isVisible = false;\n private popover: Popover;\n private tooltipPositioner: HTMLElement;\n private tooltip: any;\n\n private _target: HTMLElement;\n private get target() {\n return this._target;\n }\n private set target(newTarget) {\n if (newTarget !== this._target && this._target) {\n this._target.removeAttribute('aria-describedby');\n }\n newTarget.setAttribute('aria-describedby', this.componentId);\n this._target = newTarget;\n }\n\n @Element() host: HTMLNanoTooltipElement;\n\n /** The tooltip's content. Alternatively, you can use the content slot. */\n @Prop() content = '';\n\n /**\n * The preferred placement of the tooltip. Note that the actual placement may vary as needed to keep the tooltip\n * inside of the viewport.\n */\n @Prop() placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'top';\n\n /** Set to true to disable the tooltip so it won't show when triggered. */\n @Prop() disabled = false;\n\n /** The distance in pixels from which to offset the tooltip away from its target. */\n @Prop() distance = 10;\n\n /** Indicates whether or not the tooltip is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** The distance in pixels from which to offset the tooltip along its target. */\n @Prop() skidding = 0;\n\n /**\n * Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`, and `manual`. Multiple\n * options can be passed by separating them with a space. When manual is used, the tooltip must be activated\n * programmatically.\n */\n @Prop() trigger: string = 'hover focus';\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n // Events\n\n /** Emitted when the tooltip begins to show. Calling `event.preventDefault()` will prevent it from being shown. */\n @Event() nanoShow: EventEmitter;\n\n /** Emitted after the tooltip has shown and all transitions are complete. */\n @Event() nanoAfterShow: EventEmitter;\n\n /** Emitted when the tooltip begins to hide. Calling `event.preventDefault()` will prevent it from being hidden. */\n @Event() nanoHide: EventEmitter;\n\n /** Emitted after the tooltip has hidden and all transitions are complete. */\n @Event() nanoAfterHide: EventEmitter;\n\n // Public methods\n\n /** Shows the tooltip. */\n @Method()\n async show() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (this.isVisible) {\n return;\n }\n\n const slShow = this.nanoShow.emit();\n if (slShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.isVisible = true;\n this.open = true;\n this.popover.show();\n }\n\n /** Hides the tooltip. */\n @Method()\n async hide() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (!this.isVisible) {\n return;\n }\n\n const slHide = this.nanoHide.emit();\n if (slHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n this.isVisible = false;\n this.open = false;\n this.popover.hide();\n }\n\n // Private methods\n\n private getTarget() {\n // Get the first child that isn't a <style> or content slot\n const target = [...Array.from(this.host.children)].find(\n (el) =>\n el.tagName.toLowerCase() !== 'style' &&\n el.getAttribute('slot') !== 'content'\n ) as HTMLElement;\n\n if (!target) {\n throw new Error('Invalid tooltip target: no child element was found.');\n }\n\n return target;\n }\n\n private hasTrigger(triggerType: string) {\n const triggers = this.trigger.split(' ');\n return triggers.includes(triggerType);\n }\n\n private syncOptions() {\n this.popover.setOptions({\n placement: this.placement,\n distance: this.distance,\n skidding: this.skidding,\n transitionElement: this.tooltip,\n onAfterHide: () => this.nanoAfterHide.emit(),\n onAfterShow: () => this.nanoAfterShow.emit(),\n });\n }\n\n // Event Handlers\n\n private handleBlur = () => {\n if (this.hasTrigger('focus')) {\n this.hide();\n }\n };\n\n private handleClick = () => {\n if (this.hasTrigger('click')) {\n this.open ? this.hide() : this.show();\n }\n };\n\n private handleFocus = () => {\n if (this.hasTrigger('focus')) {\n this.show();\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n // Pressing escape when the target element has focus should dismiss the tooltip\n if (this.open && event.key === 'Escape') {\n event.stopPropagation();\n this.hide();\n }\n };\n\n private handleMouseOver = () => {\n if (this.hasTrigger('hover')) {\n this.show();\n }\n };\n\n private handleMouseOut = () => {\n if (this.hasTrigger('hover')) {\n this.hide();\n }\n };\n\n private handleSlotChange = () => {\n this.target = this.getTarget();\n };\n\n private handleTTSlotChange = () => {\n const contentDiv =\n this.host.querySelector(`[id=\"${this.componentId}\"]`) ||\n this.host.shadowRoot.getElementById(this.componentId);\n Array.from(this.host.querySelectorAll('[slot=\"content\"]'))\n .filter((elm) => elm !== contentDiv)\n .forEach((elm) => {\n contentDiv.appendChild(elm);\n });\n };\n\n // Stencil hooks\n\n componentDidLoad() {\n this.target = this.getTarget();\n this.popover = new Popover(this.target, this.tooltipPositioner);\n this.syncOptions();\n\n const ele = this.host.shadowRoot.getElementById(this.componentId);\n ele.slot = 'content';\n this.host.appendChild(ele);\n this.handleTTSlotChange();\n\n // Show on init if open\n this.tooltipPositioner.hidden = !this.open;\n if (this.open) {\n this.show();\n }\n }\n\n componentDidUpdate() {\n this.syncOptions();\n }\n\n disconnectedCallback() {\n this.popover.destroy();\n }\n\n render() {\n return (\n <Host\n onKeyDown={this.handleKeyDown}\n onMouseOver={this.handleMouseOver}\n onMouseOut={this.handleMouseOut}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onClick={this.handleClick}\n >\n <slot onSlotchange={this.handleSlotChange} />\n\n {!this.disabled && (\n <div\n ref={(el) => (this.tooltipPositioner = el)}\n class=\"tooltip-positioner\"\n >\n <div\n part=\"base\"\n ref={(el) => (this.tooltip = el)}\n class={{\n tooltip: true,\n 'tooltip--open': this.open,\n }}\n role=\"tooltip\"\n aria-hidden={this.open ? 'false' : 'true'}\n >\n <slot name=\"content\" onSlotchange={this.handleTTSlotChange}>\n <div id={this.componentId}>{this.content}</div>\n </slot>\n <div class=\"tooltip-arrow\" data-popper-arrow></div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -17,6 +17,7 @@
17
17
  "./components/details/details.js",
18
18
  "./components/dialog/dialog.js",
19
19
  "./components/drawer/drawer.js",
20
+ "./components/field-validator/field-validator.js",
20
21
  "./components/file-upload/file-upload.js",
21
22
  "./components/global-nav/global-nav.js",
22
23
  "./components/global-search-results/global-search-results.js",
@@ -40,7 +41,7 @@
40
41
  "./components/slides/slides.js",
41
42
  "./components/spinner/spinner.js",
42
43
  "./components/split-pane/split-pane.js",
43
- "./components/sticky/sticker.js",
44
+ "./components/sticker/sticker.js",
44
45
  "./components/tabs/tab-content.js",
45
46
  "./components/tabs/tab-group.js",
46
47
  "./components/tabs/tab.js",
@@ -47,7 +47,7 @@ export class Accordion {
47
47
  "references": {
48
48
  "Color": {
49
49
  "location": "import",
50
- "path": "/builds/99mRzSBj/0/Digital/nano-components/packages/components/src/interface.d.ts"
50
+ "path": "/builds/78sSozaT/0/Digital/nano-components/packages/components/src/interface.d.ts"
51
51
  }
52
52
  }
53
53
  },
@@ -305,7 +305,7 @@ export class Alert {
305
305
  "references": {
306
306
  "Color": {
307
307
  "location": "import",
308
- "path": "/builds/99mRzSBj/0/Digital/nano-components/packages/components/src/interface.d.ts"
308
+ "path": "/builds/78sSozaT/0/Digital/nano-components/packages/components/src/interface.d.ts"
309
309
  }
310
310
  }
311
311
  },
@@ -362,7 +362,7 @@ export class AlgoliaFilter {
362
362
  "references": {
363
363
  "StorageMethods": {
364
364
  "location": "import",
365
- "path": "/builds/99mRzSBj/0/Digital/nano-components/packages/components/src/utils/store/component-store.ts"
365
+ "path": "/builds/78sSozaT/0/Digital/nano-components/packages/components/src/utils/store/component-store.ts"
366
366
  }
367
367
  }
368
368
  },
@@ -405,7 +405,7 @@ export class AlgoliaFilter {
405
405
  "references": {
406
406
  "FilterChangeEventDetail": {
407
407
  "location": "import",
408
- "path": "/builds/99mRzSBj/0/Digital/nano-components/packages/components/src/interface.d.ts"
408
+ "path": "/builds/78sSozaT/0/Digital/nano-components/packages/components/src/interface.d.ts"
409
409
  }
410
410
  }
411
411
  }
@@ -228,7 +228,7 @@ export class AlgoliaInput {
228
228
  "references": {
229
229
  "SearchIndex": {
230
230
  "location": "import",
231
- "path": "/builds/99mRzSBj/0/Digital/nano-components/packages/components/src/interface.d.ts"
231
+ "path": "/builds/78sSozaT/0/Digital/nano-components/packages/components/src/interface.d.ts"
232
232
  }
233
233
  }
234
234
  },
@@ -349,7 +349,7 @@ export class AlgoliaInput {
349
349
  "references": {
350
350
  "StorageMethods": {
351
351
  "location": "import",
352
- "path": "/builds/99mRzSBj/0/Digital/nano-components/packages/components/src/utils/store/component-store.ts"
352
+ "path": "/builds/78sSozaT/0/Digital/nano-components/packages/components/src/utils/store/component-store.ts"
353
353
  }
354
354
  }
355
355
  },
@@ -390,7 +390,7 @@ export class AlgoliaInput {
390
390
  "references": {
391
391
  "AloliaSearchResultDetail": {
392
392
  "location": "import",
393
- "path": "/builds/99mRzSBj/0/Digital/nano-components/packages/components/src/interface.d.ts"
393
+ "path": "/builds/78sSozaT/0/Digital/nano-components/packages/components/src/interface.d.ts"
394
394
  }
395
395
  }
396
396
  }
@@ -410,7 +410,7 @@ export class AlgoliaInput {
410
410
  "references": {
411
411
  "AloliaSearchResultDetail": {
412
412
  "location": "import",
413
- "path": "/builds/99mRzSBj/0/Digital/nano-components/packages/components/src/interface.d.ts"
413
+ "path": "/builds/78sSozaT/0/Digital/nano-components/packages/components/src/interface.d.ts"
414
414
  }
415
415
  }
416
416
  }
@@ -430,7 +430,7 @@ export class AlgoliaInput {
430
430
  "references": {
431
431
  "AloliaSearchResultDetail": {
432
432
  "location": "import",
433
- "path": "/builds/99mRzSBj/0/Digital/nano-components/packages/components/src/interface.d.ts"
433
+ "path": "/builds/78sSozaT/0/Digital/nano-components/packages/components/src/interface.d.ts"
434
434
  }
435
435
  }
436
436
  }
@@ -251,7 +251,7 @@ export class AlgoliaResults {
251
251
  "references": {
252
252
  "PageChangeEventDetail": {
253
253
  "location": "import",
254
- "path": "/builds/99mRzSBj/0/Digital/nano-components/packages/components/src/interface.d.ts"
254
+ "path": "/builds/78sSozaT/0/Digital/nano-components/packages/components/src/interface.d.ts"
255
255
  }
256
256
  }
257
257
  }
@@ -738,7 +738,7 @@ export class Algolia {
738
738
  "references": {
739
739
  "SearchIndex": {
740
740
  "location": "import",
741
- "path": "/builds/99mRzSBj/0/Digital/nano-components/packages/components/src/interface.d.ts"
741
+ "path": "/builds/78sSozaT/0/Digital/nano-components/packages/components/src/interface.d.ts"
742
742
  }
743
743
  }
744
744
  },
@@ -982,7 +982,7 @@ export class Algolia {
982
982
  "references": {
983
983
  "StorageMethods": {
984
984
  "location": "import",
985
- "path": "/builds/99mRzSBj/0/Digital/nano-components/packages/components/src/utils/store/component-store.ts"
985
+ "path": "/builds/78sSozaT/0/Digital/nano-components/packages/components/src/utils/store/component-store.ts"
986
986
  }
987
987
  }
988
988
  },
@@ -1047,7 +1047,7 @@ export class Algolia {
1047
1047
  "references": {
1048
1048
  "IndexResult": {
1049
1049
  "location": "import",
1050
- "path": "/builds/99mRzSBj/0/Digital/nano-components/packages/components/src/interface.d.ts"
1050
+ "path": "/builds/78sSozaT/0/Digital/nano-components/packages/components/src/interface.d.ts"
1051
1051
  }
1052
1052
  }
1053
1053
  }
@@ -1067,7 +1067,7 @@ export class Algolia {
1067
1067
  "references": {
1068
1068
  "IndexResult": {
1069
1069
  "location": "import",
1070
- "path": "/builds/99mRzSBj/0/Digital/nano-components/packages/components/src/interface.d.ts"
1070
+ "path": "/builds/78sSozaT/0/Digital/nano-components/packages/components/src/interface.d.ts"
1071
1071
  }
1072
1072
  }
1073
1073
  }
@@ -1087,7 +1087,7 @@ export class Algolia {
1087
1087
  "references": {
1088
1088
  "IndexResult": {
1089
1089
  "location": "import",
1090
- "path": "/builds/99mRzSBj/0/Digital/nano-components/packages/components/src/interface.d.ts"
1090
+ "path": "/builds/78sSozaT/0/Digital/nano-components/packages/components/src/interface.d.ts"
1091
1091
  }
1092
1092
  }
1093
1093
  }
@@ -1107,7 +1107,7 @@ export class Algolia {
1107
1107
  "references": {
1108
1108
  "IndexResult": {
1109
1109
  "location": "import",
1110
- "path": "/builds/99mRzSBj/0/Digital/nano-components/packages/components/src/interface.d.ts"
1110
+ "path": "/builds/78sSozaT/0/Digital/nano-components/packages/components/src/interface.d.ts"
1111
1111
  }
1112
1112
  }
1113
1113
  }
@@ -25,7 +25,7 @@
25
25
  * @prop --label-color: Default var(--nano-input-label-color, "currentColor");
26
26
  * @prop --label-color--invalid: Default var(--nano-input-label-color-invalid, "currentColor");
27
27
  * @prop --label-font-size: Default var(--nano-input-label-color, 1em);
28
- * @prop --label-padding: space between legend and control. Default var(--nano-input-padding-bottom, var(--nano-input-padding, 8px));
28
+ * @prop --label-padding: space between legend and control. Default var(--nano-input-padding-bottom, var(--nano-input-padding, 6px));
29
29
  */
30
30
  --control-margin-top: 0;
31
31
  --control-margin-end: 0;
@@ -37,7 +37,7 @@
37
37
  --label-color: var(--nano-input-label-color, "currentColor");
38
38
  --label-color--invalid: var(--nano-input-label-color-invalid, "currentColor");
39
39
  --label-font-size: var(--nano-input-label-color, 1em);
40
- --label-padding: var(--nano-input-padding-bottom, var(--nano-input-padding, 8px));
40
+ --label-padding: var(--nano-input-padding-bottom, var(--nano-input-padding, 6px));
41
41
  display: block;
42
42
  }
43
43
  :host * {
@@ -49,7 +49,7 @@
49
49
  :host([types-segment]) {
50
50
  --control-margin-top: 0;
51
51
  --control-margin-end: 8px;
52
- --control-margin-bottom: 8px;
52
+ --control-margin-bottom: 6px;
53
53
  --control-margin-start: 0;
54
54
  }
55
55
 
@@ -57,7 +57,7 @@
57
57
  :host([types-radio]) {
58
58
  --control-margin-top: 0;
59
59
  --control-margin-end: 10px;
60
- --control-margin-bottom: 8px;
60
+ --control-margin-bottom: 6px;
61
61
  --control-margin-start: 0;
62
62
  }
63
63
 
@@ -77,7 +77,7 @@
77
77
  font-size: var(--label-font-size);
78
78
  padding: 0 0 var(--label-padding);
79
79
  margin: 0;
80
- line-height: 1;
80
+ line-height: 1.5;
81
81
  white-space: normal;
82
82
  display: block;
83
83
  width: 100%;
@@ -13,7 +13,6 @@ import { debounce, getClassMap } from '../../utils';
13
13
  export class CheckboxGroup {
14
14
  constructor() {
15
15
  this.grpId = `nano-checkbox-group-${grpIds++}`;
16
- this._invalid = false;
17
16
  this.errorMessage = '';
18
17
  this.showErrorMsg = false;
19
18
  this.hasHelperSlot = false;
@@ -21,7 +20,7 @@ export class CheckboxGroup {
21
20
  /**
22
21
  * When should the field perform validation
23
22
  */
24
- this.validateOn = 'submit';
23
+ this.validateOn = 'submitThenDirty';
25
24
  /**
26
25
  * Whether to show validation errors underneath input
27
26
  */
@@ -44,6 +43,7 @@ export class CheckboxGroup {
44
43
  * A common label for children controls
45
44
  */
46
45
  this.legend = '';
46
+ this._invalid = false;
47
47
  this.handleInvalid = (ev) => {
48
48
  this._invalid = true;
49
49
  if (this.validateOn === 'submit') {
@@ -51,7 +51,7 @@ export class CheckboxGroup {
51
51
  }
52
52
  if (!!this.showInlineError)
53
53
  ev.preventDefault();
54
- setTimeout((_) => this.showInlineValidation(ev), 20);
54
+ this.showInlineValidation(ev);
55
55
  };
56
56
  this.showInlineValidation = (ev) => {
57
57
  if (!this.nativeCbs || !this.nativeCbs.length)
@@ -60,14 +60,11 @@ export class CheckboxGroup {
60
60
  this.validateOn = 'dirty';
61
61
  this.showErrorMsg = false;
62
62
  this._invalid = false;
63
- this.nativeCbs.forEach((cb, i) => {
63
+ this.nativeCbs.forEach((cb, _i) => {
64
64
  if (!cb.validity.valid) {
65
65
  this.errorMessage = cb.validationMessage;
66
66
  this.showErrorMsg = true;
67
67
  this._invalid = true;
68
- if (!!this.showInlineError) {
69
- this.checkboxes[i].setFocus();
70
- }
71
68
  }
72
69
  });
73
70
  this.nanoValidate.emit({
@@ -84,6 +81,12 @@ export class CheckboxGroup {
84
81
  get invalid() {
85
82
  return this._invalid;
86
83
  }
84
+ /**
85
+ * Current validation message - if any. @readonly
86
+ */
87
+ get validityMessage() {
88
+ return this.errorMessage;
89
+ }
87
90
  // Public methods
88
91
  /**
89
92
  * Get the current state of the control.
@@ -92,16 +95,37 @@ export class CheckboxGroup {
92
95
  */
93
96
  async reportValidity(validateFirst) {
94
97
  return new Promise((resolve) => {
95
- if (validateFirst)
98
+ if (validateFirst) {
99
+ this.customValidate();
96
100
  this.showInlineValidation();
101
+ }
97
102
  setTimeout(() => {
98
103
  resolve({
99
104
  isValid: !this.invalid,
100
105
  errorMessage: this.errorMessage,
101
106
  });
102
- }, 20);
107
+ }, 50);
103
108
  });
104
109
  }
110
+ /**
111
+ * Invalidate the field and show a custom error message.
112
+ * To clear the error you will need to re-call this method with an empty string.
113
+ * @param message - the error message to show
114
+ * @param optVal - optionally supply an option value to target which checkbox to show invalidate against (default is the first)
115
+ */
116
+ async showError(message, optVal) {
117
+ let cb;
118
+ if (optVal)
119
+ cb = this.checkboxes.find((c) => c.value === optVal);
120
+ if (!cb)
121
+ cb = this.checkboxes[0];
122
+ if (!cb)
123
+ return;
124
+ this.errorMessage = message;
125
+ await cb.setError(message);
126
+ if (!!this.showInlineError)
127
+ this.showInlineValidation();
128
+ }
105
129
  // listeners & watchers
106
130
  /**
107
131
  * Notes on validation... custom validation messages should be set
@@ -119,23 +143,36 @@ export class CheckboxGroup {
119
143
  customValidate() {
120
144
  if (!this.nativeCbs || !this.nativeCbs.length || !this.checkboxes)
121
145
  return;
146
+ let onlyRadios = this.nativeCbs.filter((cb) => cb.type === 'radio');
147
+ if (onlyRadios &&
148
+ onlyRadios.length &&
149
+ (this.showErrorMsg || this.validateOn === 'dirty')) {
150
+ let required = onlyRadios.find((cb) => cb.required);
151
+ let checked = onlyRadios.filter((cb) => cb.checked);
152
+ if (required && checked) {
153
+ this.checkboxes.forEach((rd) => rd.reportValidity(false));
154
+ return false;
155
+ }
156
+ else if (required && !checked)
157
+ return true;
158
+ }
122
159
  // we only care about checkbox controls.
123
160
  let onlyCbs = this.nativeCbs.filter((cb) => cb.type === 'checkbox');
124
161
  if (!onlyCbs || !onlyCbs.length)
125
162
  return;
126
- let checked = onlyCbs.filter((cb) => cb.checked).length;
163
+ let checked = onlyCbs.filter((cb) => cb.checked);
164
+ let required = onlyCbs.find((cb) => cb.required);
127
165
  let invalid = false;
166
+ if (required && !checked.find((cb) => cb === required))
167
+ return true;
128
168
  this.checkboxes.forEach((cb) => {
129
- if (cb.required && !cb.checked) {
130
- invalid = true;
131
- }
132
169
  cb.setError('');
133
- if (this.min && checked < this.min) {
134
- cb.setError(`You must select a minimum of ${this.min} values.`);
170
+ if (this.min && checked.length < this.min) {
171
+ cb.setError(`You must select a minimum of ${this.min} values.`, this.showErrorMsg);
135
172
  invalid = true;
136
173
  }
137
- if (this.max && checked > this.max) {
138
- cb.setError(`Only up to ${this.max} values are allowed.`);
174
+ if (this.max && checked.length > this.max) {
175
+ cb.setError(`Only up to ${this.max} values are allowed.`, this.showErrorMsg);
139
176
  invalid = true;
140
177
  }
141
178
  });
@@ -151,6 +188,8 @@ export class CheckboxGroup {
151
188
  }
152
189
  // private methods
153
190
  attachSlotObserver() {
191
+ if (!!this.mo)
192
+ return;
154
193
  const mo = (this.mo = new MutationObserver(() => this.handleSlotChange()));
155
194
  mo.observe(this.host, { childList: true });
156
195
  }
@@ -166,7 +205,7 @@ export class CheckboxGroup {
166
205
  }
167
206
  // stencil hooks
168
207
  componentWillLoad() {
169
- this.showInlineValidation = debounce(this.showInlineValidation, 20);
208
+ this.showInlineValidation = debounce(this.showInlineValidation, 50);
170
209
  this.customValidate = this.customValidate.bind(this);
171
210
  this.handleDisabledChange();
172
211
  }
@@ -221,7 +260,7 @@ export class CheckboxGroup {
221
260
  "setter": false,
222
261
  "attribute": "validate-on",
223
262
  "reflect": false,
224
- "defaultValue": "'submit'"
263
+ "defaultValue": "'submitThenDirty'"
225
264
  },
226
265
  "showInlineError": {
227
266
  "type": "boolean",
@@ -342,6 +381,26 @@ export class CheckboxGroup {
342
381
  "attribute": "invalid",
343
382
  "reflect": true,
344
383
  "defaultValue": "false"
384
+ },
385
+ "validityMessage": {
386
+ "type": "string",
387
+ "mutable": false,
388
+ "complexType": {
389
+ "original": "string",
390
+ "resolved": "string",
391
+ "references": {}
392
+ },
393
+ "required": false,
394
+ "optional": false,
395
+ "docs": {
396
+ "tags": [],
397
+ "text": "Current validation message - if any. @readonly"
398
+ },
399
+ "getter": true,
400
+ "setter": false,
401
+ "attribute": "validity-message",
402
+ "reflect": false,
403
+ "defaultValue": "''"
345
404
  }
346
405
  }; }
347
406
  static get states() { return {
@@ -349,7 +408,8 @@ export class CheckboxGroup {
349
408
  "nativeCbs": {},
350
409
  "errorMessage": {},
351
410
  "showErrorMsg": {},
352
- "hasHelperSlot": {}
411
+ "hasHelperSlot": {},
412
+ "_invalid": {}
353
413
  }; }
354
414
  static get events() { return [{
355
415
  "method": "nanoValidate",
@@ -370,7 +430,7 @@ export class CheckboxGroup {
370
430
  "references": {
371
431
  "ControlValidityEventDetail": {
372
432
  "location": "import",
373
- "path": "/builds/99mRzSBj/0/Digital/nano-components/packages/components/src/interface.d.ts"
433
+ "path": "/builds/78sSozaT/0/Digital/nano-components/packages/components/src/interface.d.ts"
374
434
  }
375
435
  }
376
436
  }
@@ -392,7 +452,7 @@ export class CheckboxGroup {
392
452
  },
393
453
  "ControlValidity": {
394
454
  "location": "import",
395
- "path": "/builds/99mRzSBj/0/Digital/nano-components/packages/components/src/interface.d.ts"
455
+ "path": "/builds/78sSozaT/0/Digital/nano-components/packages/components/src/interface.d.ts"
396
456
  }
397
457
  },
398
458
  "return": "Promise<ControlValidity>"
@@ -407,13 +467,47 @@ export class CheckboxGroup {
407
467
  "text": "`{ isValid: boolean, errorMessage: string }`"
408
468
  }]
409
469
  }
470
+ },
471
+ "showError": {
472
+ "complexType": {
473
+ "signature": "(message: string, optVal?: string) => Promise<void>",
474
+ "parameters": [{
475
+ "tags": [{
476
+ "name": "param",
477
+ "text": "message - the error message to show"
478
+ }],
479
+ "text": "- the error message to show"
480
+ }, {
481
+ "tags": [{
482
+ "name": "param",
483
+ "text": "optVal - optionally supply an option value to target which checkbox to show invalidate against (default is the first)"
484
+ }],
485
+ "text": "- optionally supply an option value to target which checkbox to show invalidate against (default is the first)"
486
+ }],
487
+ "references": {
488
+ "Promise": {
489
+ "location": "global"
490
+ },
491
+ "HTMLNanoCheckboxElement": {
492
+ "location": "global"
493
+ }
494
+ },
495
+ "return": "Promise<void>"
496
+ },
497
+ "docs": {
498
+ "text": "Invalidate the field and show a custom error message.\nTo clear the error you will need to re-call this method with an empty string.",
499
+ "tags": [{
500
+ "name": "param",
501
+ "text": "message - the error message to show"
502
+ }, {
503
+ "name": "param",
504
+ "text": "optVal - optionally supply an option value to target which checkbox to show invalidate against (default is the first)"
505
+ }]
506
+ }
410
507
  }
411
508
  }; }
412
509
  static get elementRef() { return "host"; }
413
510
  static get watchers() { return [{
414
- "propName": "validateOn",
415
- "methodName": "handleCbChange"
416
- }, {
417
511
  "propName": "min",
418
512
  "methodName": "handleCbChange"
419
513
  }, {