@nanoporetech-digital/components 1.14.1 → 1.15.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 (492) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/{algolia-data-4d5ee8da.js → algolia-data-a98ccf4f.js} +2 -2
  3. package/dist/cjs/algolia-data-a98ccf4f.js.map +1 -0
  4. package/dist/cjs/algoliasearch.umd-5dc661c5.js +12 -0
  5. package/dist/cjs/algoliasearch.umd-5dc661c5.js.map +1 -0
  6. package/dist/cjs/{component-store-4dfd3a12.js → component-store-8d99743e.js} +2 -2
  7. package/dist/cjs/{component-store-4dfd3a12.js.map → component-store-8d99743e.js.map} +1 -1
  8. package/dist/cjs/{global-befb7a64.js → global-aa92d50f.js} +5 -3
  9. package/dist/cjs/global-aa92d50f.js.map +1 -0
  10. package/dist/cjs/{index-197e7a3f.js → index-f12395b8.js} +3 -1
  11. package/dist/cjs/index-f12395b8.js.map +1 -0
  12. package/dist/cjs/loader.cjs.js +3 -3
  13. package/dist/cjs/nano-accordion.cjs.entry.js +1 -1
  14. package/dist/cjs/nano-alert.cjs.entry.js +2 -2
  15. package/dist/cjs/nano-algolia-filter.cjs.entry.js +3 -3
  16. package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +1 -1
  17. package/dist/cjs/nano-algolia-input.cjs.entry.js +5 -5
  18. package/dist/cjs/nano-algolia-input.cjs.entry.js.map +1 -1
  19. package/dist/cjs/nano-algolia-pagination.cjs.entry.js +2 -2
  20. package/dist/cjs/nano-algolia-results.cjs.entry.js +2 -2
  21. package/dist/cjs/nano-algolia.cjs.entry.js +5 -5
  22. package/dist/cjs/nano-algolia.cjs.entry.js.map +1 -1
  23. package/dist/cjs/nano-aspect-ratio.cjs.entry.js +1 -1
  24. package/dist/cjs/nano-checkbox-group.cjs.entry.js +2 -2
  25. package/dist/cjs/nano-checkbox.cjs.entry.js +2 -2
  26. package/dist/cjs/nano-components.cjs.js +3 -3
  27. package/dist/cjs/nano-date-input.cjs.entry.js +43 -15
  28. package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
  29. package/dist/cjs/nano-date-picker_2.cjs.entry.js +31 -11
  30. package/dist/cjs/nano-date-picker_2.cjs.entry.js.map +1 -1
  31. package/dist/cjs/nano-details.cjs.entry.js +14 -8
  32. package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
  33. package/dist/cjs/nano-dialog.cjs.entry.js +5 -9
  34. package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
  35. package/dist/cjs/nano-drawer.cjs.entry.js +1 -1
  36. package/dist/cjs/nano-file-upload.cjs.entry.js +7 -14
  37. package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
  38. package/dist/cjs/nano-global-nav.cjs.entry.js +4 -4
  39. package/dist/cjs/nano-global-search-results.cjs.entry.js +2 -2
  40. package/dist/cjs/nano-grid_3.cjs.entry.js +1 -1
  41. package/dist/cjs/nano-hero.cjs.entry.js +1 -1
  42. package/dist/cjs/nano-icon-button.cjs.entry.js +2 -2
  43. package/dist/cjs/nano-icon.cjs.entry.js +1 -1
  44. package/dist/cjs/nano-input.cjs.entry.js +12 -2
  45. package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
  46. package/dist/cjs/nano-menu-drawer.cjs.entry.js +1 -1
  47. package/dist/cjs/nano-menu.cjs.entry.js +2 -2
  48. package/dist/cjs/nano-nav-item_2.cjs.entry.js +2 -2
  49. package/dist/cjs/nano-range.cjs.entry.js +2 -2
  50. package/dist/cjs/nano-rating.cjs.entry.js +1 -1
  51. package/dist/cjs/nano-resize-observe_2.cjs.entry.js +1 -1
  52. package/dist/cjs/nano-select-option.cjs.entry.js +1 -1
  53. package/dist/cjs/nano-slide.cjs.entry.js +1 -1
  54. package/dist/cjs/nano-slides.cjs.entry.js +2 -2
  55. package/dist/cjs/nano-spinner.cjs.entry.js +2 -2
  56. package/dist/cjs/nano-sticker.cjs.entry.js +1 -1
  57. package/dist/cjs/nano-tab-content.cjs.entry.js +1 -1
  58. package/dist/cjs/nano-tab-group.cjs.entry.js +3 -3
  59. package/dist/cjs/nano-tab.cjs.entry.js +2 -2
  60. package/dist/cjs/nano-tooltip.cjs.entry.js +1 -1
  61. package/dist/collection/components/accordion/accordion.js +1 -1
  62. package/dist/collection/components/alert/alert.css +3 -3
  63. package/dist/collection/components/alert/alert.js +1 -1
  64. package/dist/collection/components/algolia/algolia-data.js.map +1 -1
  65. package/dist/collection/components/algolia/algolia-filter.js +3 -3
  66. package/dist/collection/components/algolia/algolia-filter.js.map +1 -1
  67. package/dist/collection/components/algolia/algolia-input.js +7 -7
  68. package/dist/collection/components/algolia/algolia-input.js.map +1 -1
  69. package/dist/collection/components/algolia/algolia-results.js +1 -1
  70. package/dist/collection/components/algolia/algolia.js +7 -7
  71. package/dist/collection/components/algolia/algolia.js.map +1 -1
  72. package/dist/collection/components/checkbox/__tests__/__fixtures__/checkbox-templates.js +7 -2
  73. package/dist/collection/components/checkbox/__tests__/__fixtures__/checkbox-templates.js.map +1 -1
  74. package/dist/collection/components/checkbox/checkbox-group.css +2 -2
  75. package/dist/collection/components/checkbox/checkbox-group.js +2 -2
  76. package/dist/collection/components/checkbox/checkbox.css +2 -2
  77. package/dist/collection/components/checkbox/checkbox.js +3 -3
  78. package/dist/collection/components/date-input/date-input.css +0 -4
  79. package/dist/collection/components/date-input/date-input.js +70 -21
  80. package/dist/collection/components/date-input/date-input.js.map +1 -1
  81. package/dist/collection/components/date-picker/date-picker.css +15 -4
  82. package/dist/collection/components/date-picker/date-picker.js +44 -16
  83. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  84. package/dist/collection/components/details/details.css +3 -3
  85. package/dist/collection/components/details/details.js +13 -7
  86. package/dist/collection/components/details/details.js.map +1 -1
  87. package/dist/collection/components/dialog/dialog.css +2 -3
  88. package/dist/collection/components/dialog/dialog.js +6 -10
  89. package/dist/collection/components/dialog/dialog.js.map +1 -1
  90. package/dist/collection/components/dropdown/dropdown.js +2 -1
  91. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  92. package/dist/collection/components/file-upload/file-upload-interface.js.map +1 -1
  93. package/dist/collection/components/file-upload/file-upload.css +9 -17
  94. package/dist/collection/components/file-upload/file-upload.js +17 -20
  95. package/dist/collection/components/file-upload/file-upload.js.map +1 -1
  96. package/dist/collection/components/global-nav/global-nav.css +2 -2
  97. package/dist/collection/components/global-nav/global-nav.js +4 -4
  98. package/dist/collection/components/global-search-results/global-search-results.css +3 -3
  99. package/dist/collection/components/grid/grid-item.js +1 -1
  100. package/dist/collection/components/icon/icon.js +1 -1
  101. package/dist/collection/components/icon-button/icon-button.css +2 -2
  102. package/dist/collection/components/input/input.css +5 -6
  103. package/dist/collection/components/input/input.js +25 -6
  104. package/dist/collection/components/input/input.js.map +1 -1
  105. package/dist/collection/components/menu/menu.css +7 -7
  106. package/dist/collection/components/nav-item/nav-item.js +4 -4
  107. package/dist/collection/components/range/range.css +4 -4
  108. package/dist/collection/components/range/range.js +4 -4
  109. package/dist/collection/components/resize-observe/resize-observe.js +1 -1
  110. package/dist/collection/components/select/select.css +4 -4
  111. package/dist/collection/components/select/select.js +5 -5
  112. package/dist/collection/components/slides/slides.css +2 -2
  113. package/dist/collection/components/slides/slides.js +7 -7
  114. package/dist/collection/components/spinner/spinner.css +2 -2
  115. package/dist/collection/components/tabs/tab-group.css +6 -6
  116. package/dist/collection/components/tabs/tab-group.js +2 -2
  117. package/dist/collection/components/tabs/tab.css +2 -2
  118. package/dist/collection/global/script/global.js +4 -2
  119. package/dist/collection/global/script/global.js.map +1 -1
  120. package/dist/collection/utils/testing/index.js +91 -18
  121. package/dist/collection/utils/testing/index.js.map +1 -1
  122. package/dist/custom-elements/index.js +131 -74
  123. package/dist/custom-elements/index.js.map +1 -1
  124. package/dist/esm/{algolia-data-6db3f5f2.js → algolia-data-b31a9800.js} +2 -2
  125. package/dist/esm/algolia-data-b31a9800.js.map +1 -0
  126. package/dist/esm/algoliasearch.umd-7ecbe0e9.js +10 -0
  127. package/dist/esm/algoliasearch.umd-7ecbe0e9.js.map +1 -0
  128. package/dist/esm/{component-store-6736ee0f.js → component-store-93172454.js} +2 -2
  129. package/dist/esm/{component-store-6736ee0f.js.map → component-store-93172454.js.map} +1 -1
  130. package/dist/esm/{global-c85d24a2.js → global-118ae701.js} +5 -3
  131. package/dist/esm/global-118ae701.js.map +1 -0
  132. package/dist/esm/{index-8e9bc704.js → index-912ef959.js} +3 -1
  133. package/dist/esm/index-912ef959.js.map +1 -0
  134. package/dist/esm/loader.js +3 -3
  135. package/dist/esm/nano-accordion.entry.js +1 -1
  136. package/dist/esm/nano-alert.entry.js +2 -2
  137. package/dist/esm/nano-algolia-filter.entry.js +3 -3
  138. package/dist/esm/nano-algolia-filter.entry.js.map +1 -1
  139. package/dist/esm/nano-algolia-input.entry.js +5 -5
  140. package/dist/esm/nano-algolia-input.entry.js.map +1 -1
  141. package/dist/esm/nano-algolia-pagination.entry.js +2 -2
  142. package/dist/esm/nano-algolia-results.entry.js +2 -2
  143. package/dist/esm/nano-algolia.entry.js +5 -5
  144. package/dist/esm/nano-algolia.entry.js.map +1 -1
  145. package/dist/esm/nano-aspect-ratio.entry.js +1 -1
  146. package/dist/esm/nano-checkbox-group.entry.js +2 -2
  147. package/dist/esm/nano-checkbox.entry.js +2 -2
  148. package/dist/esm/nano-components.js +3 -3
  149. package/dist/esm/nano-date-input.entry.js +43 -15
  150. package/dist/esm/nano-date-input.entry.js.map +1 -1
  151. package/dist/esm/nano-date-picker_2.entry.js +31 -11
  152. package/dist/esm/nano-date-picker_2.entry.js.map +1 -1
  153. package/dist/esm/nano-details.entry.js +14 -8
  154. package/dist/esm/nano-details.entry.js.map +1 -1
  155. package/dist/esm/nano-dialog.entry.js +5 -9
  156. package/dist/esm/nano-dialog.entry.js.map +1 -1
  157. package/dist/esm/nano-drawer.entry.js +1 -1
  158. package/dist/esm/nano-file-upload.entry.js +7 -14
  159. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  160. package/dist/esm/nano-global-nav.entry.js +4 -4
  161. package/dist/esm/nano-global-search-results.entry.js +2 -2
  162. package/dist/esm/nano-grid_3.entry.js +1 -1
  163. package/dist/esm/nano-hero.entry.js +1 -1
  164. package/dist/esm/nano-icon-button.entry.js +2 -2
  165. package/dist/esm/nano-icon.entry.js +1 -1
  166. package/dist/esm/nano-input.entry.js +12 -2
  167. package/dist/esm/nano-input.entry.js.map +1 -1
  168. package/dist/esm/nano-menu-drawer.entry.js +1 -1
  169. package/dist/esm/nano-menu.entry.js +2 -2
  170. package/dist/esm/nano-nav-item_2.entry.js +2 -2
  171. package/dist/esm/nano-range.entry.js +2 -2
  172. package/dist/esm/nano-rating.entry.js +1 -1
  173. package/dist/esm/nano-resize-observe_2.entry.js +1 -1
  174. package/dist/esm/nano-select-option.entry.js +1 -1
  175. package/dist/esm/nano-slide.entry.js +1 -1
  176. package/dist/esm/nano-slides.entry.js +2 -2
  177. package/dist/esm/nano-spinner.entry.js +2 -2
  178. package/dist/esm/nano-sticker.entry.js +1 -1
  179. package/dist/esm/nano-tab-content.entry.js +1 -1
  180. package/dist/esm/nano-tab-group.entry.js +3 -3
  181. package/dist/esm/nano-tab.entry.js +2 -2
  182. package/dist/esm/nano-tooltip.entry.js +1 -1
  183. package/dist/esm-es5/{algolia-data-6db3f5f2.js → algolia-data-b31a9800.js} +2 -2
  184. package/dist/esm-es5/algolia-data-b31a9800.js.map +1 -0
  185. package/dist/esm-es5/algoliasearch.umd-7ecbe0e9.js +4 -0
  186. package/dist/esm-es5/algoliasearch.umd-7ecbe0e9.js.map +1 -0
  187. package/dist/esm-es5/{component-store-6736ee0f.js → component-store-93172454.js} +2 -2
  188. package/dist/esm-es5/{component-store-6736ee0f.js.map → component-store-93172454.js.map} +0 -0
  189. package/dist/esm-es5/{global-c85d24a2.js → global-118ae701.js} +2 -2
  190. package/dist/esm-es5/global-118ae701.js.map +1 -0
  191. package/dist/esm-es5/index-912ef959.js +2 -0
  192. package/dist/esm-es5/index-912ef959.js.map +1 -0
  193. package/dist/esm-es5/loader.js +1 -1
  194. package/dist/esm-es5/loader.js.map +1 -1
  195. package/dist/esm-es5/nano-accordion.entry.js +1 -1
  196. package/dist/esm-es5/nano-alert.entry.js +1 -1
  197. package/dist/esm-es5/nano-algolia-filter.entry.js +1 -1
  198. package/dist/esm-es5/nano-algolia-filter.entry.js.map +1 -1
  199. package/dist/esm-es5/nano-algolia-input.entry.js +1 -1
  200. package/dist/esm-es5/nano-algolia-input.entry.js.map +1 -1
  201. package/dist/esm-es5/nano-algolia-pagination.entry.js +1 -1
  202. package/dist/esm-es5/nano-algolia-results.entry.js +1 -1
  203. package/dist/esm-es5/nano-algolia.entry.js +1 -1
  204. package/dist/esm-es5/nano-algolia.entry.js.map +1 -1
  205. package/dist/esm-es5/nano-aspect-ratio.entry.js +1 -1
  206. package/dist/esm-es5/nano-checkbox-group.entry.js +1 -1
  207. package/dist/esm-es5/nano-checkbox.entry.js +1 -1
  208. package/dist/esm-es5/nano-components.js +1 -1
  209. package/dist/esm-es5/nano-components.js.map +1 -1
  210. package/dist/esm-es5/nano-date-input.entry.js +1 -1
  211. package/dist/esm-es5/nano-date-input.entry.js.map +1 -1
  212. package/dist/esm-es5/nano-date-picker_2.entry.js +1 -1
  213. package/dist/esm-es5/nano-date-picker_2.entry.js.map +1 -1
  214. package/dist/esm-es5/nano-details.entry.js +1 -1
  215. package/dist/esm-es5/nano-details.entry.js.map +1 -1
  216. package/dist/esm-es5/nano-dialog.entry.js +1 -1
  217. package/dist/esm-es5/nano-dialog.entry.js.map +1 -1
  218. package/dist/esm-es5/nano-drawer.entry.js +1 -1
  219. package/dist/esm-es5/nano-file-upload.entry.js +1 -1
  220. package/dist/esm-es5/nano-file-upload.entry.js.map +1 -1
  221. package/dist/esm-es5/nano-global-nav.entry.js +1 -1
  222. package/dist/esm-es5/nano-global-search-results.entry.js +1 -1
  223. package/dist/esm-es5/nano-grid_3.entry.js +1 -1
  224. package/dist/esm-es5/nano-hero.entry.js +1 -1
  225. package/dist/esm-es5/nano-icon-button.entry.js +1 -1
  226. package/dist/esm-es5/nano-icon.entry.js +1 -1
  227. package/dist/esm-es5/nano-input.entry.js +1 -1
  228. package/dist/esm-es5/nano-input.entry.js.map +1 -1
  229. package/dist/esm-es5/nano-menu-drawer.entry.js +1 -1
  230. package/dist/esm-es5/nano-menu.entry.js +1 -1
  231. package/dist/esm-es5/nano-nav-item_2.entry.js +1 -1
  232. package/dist/esm-es5/nano-range.entry.js +1 -1
  233. package/dist/esm-es5/nano-rating.entry.js +1 -1
  234. package/dist/esm-es5/nano-resize-observe_2.entry.js +1 -1
  235. package/dist/esm-es5/nano-select-option.entry.js +1 -1
  236. package/dist/esm-es5/nano-slide.entry.js +1 -1
  237. package/dist/esm-es5/nano-slides.entry.js +2 -2
  238. package/dist/esm-es5/nano-spinner.entry.js +1 -1
  239. package/dist/esm-es5/nano-sticker.entry.js +1 -1
  240. package/dist/esm-es5/nano-tab-content.entry.js +1 -1
  241. package/dist/esm-es5/nano-tab-group.entry.js +1 -1
  242. package/dist/esm-es5/nano-tab.entry.js +1 -1
  243. package/dist/esm-es5/nano-tooltip.entry.js +1 -1
  244. package/dist/nano-components/nano-components.esm.js +1 -1
  245. package/dist/nano-components/nano-components.esm.js.map +1 -1
  246. package/dist/nano-components/nano-components.js +1 -1
  247. package/dist/nano-components/{p-dbd71a33.system.entry.js → p-007c6041.system.entry.js} +2 -2
  248. package/dist/nano-components/{p-dbd71a33.system.entry.js.map → p-007c6041.system.entry.js.map} +0 -0
  249. package/dist/nano-components/{p-83bf885b.entry.js → p-02177814.entry.js} +2 -2
  250. package/dist/nano-components/{p-83bf885b.entry.js.map → p-02177814.entry.js.map} +0 -0
  251. package/dist/nano-components/{p-df2764c8.system.entry.js → p-046af455.system.entry.js} +2 -2
  252. package/dist/nano-components/{p-df2764c8.system.entry.js.map → p-046af455.system.entry.js.map} +0 -0
  253. package/dist/nano-components/p-05c062ae.js +4 -0
  254. package/dist/nano-components/p-05c062ae.js.map +1 -0
  255. package/dist/nano-components/{p-4d17169a.entry.js → p-104a9d64.entry.js} +2 -2
  256. package/dist/nano-components/p-104a9d64.entry.js.map +1 -0
  257. package/dist/nano-components/{p-55b80a92.system.entry.js → p-10f24f67.system.entry.js} +2 -2
  258. package/dist/nano-components/{p-55b80a92.system.entry.js.map → p-10f24f67.system.entry.js.map} +0 -0
  259. package/dist/nano-components/{p-6403dd02.system.entry.js → p-1c7614c4.system.entry.js} +2 -2
  260. package/dist/nano-components/p-1c7614c4.system.entry.js.map +1 -0
  261. package/dist/nano-components/{p-007c6ccc.system.entry.js → p-1d16e897.system.entry.js} +2 -2
  262. package/dist/nano-components/{p-007c6ccc.system.entry.js.map → p-1d16e897.system.entry.js.map} +0 -0
  263. package/dist/nano-components/{p-daf1462f.system.entry.js → p-21a6f295.system.entry.js} +2 -2
  264. package/dist/nano-components/{p-daf1462f.system.entry.js.map → p-21a6f295.system.entry.js.map} +0 -0
  265. package/dist/nano-components/{p-acbc08ea.system.entry.js → p-273b19b0.system.entry.js} +2 -2
  266. package/dist/nano-components/{p-acbc08ea.system.entry.js.map → p-273b19b0.system.entry.js.map} +0 -0
  267. package/dist/nano-components/p-28123e6e.entry.js +2 -0
  268. package/dist/nano-components/p-28123e6e.entry.js.map +1 -0
  269. package/dist/nano-components/{p-f1cd2d9b.entry.js → p-2ae39fa1.entry.js} +2 -2
  270. package/dist/nano-components/{p-f1cd2d9b.entry.js.map → p-2ae39fa1.entry.js.map} +0 -0
  271. package/dist/nano-components/{p-9393bfbb.system.entry.js → p-2edaf0eb.system.entry.js} +3 -3
  272. package/dist/nano-components/{p-9393bfbb.system.entry.js.map → p-2edaf0eb.system.entry.js.map} +0 -0
  273. package/dist/nano-components/{p-e7e898f5.system.entry.js → p-2f876f68.system.entry.js} +2 -2
  274. package/dist/nano-components/{p-e7e898f5.system.entry.js.map → p-2f876f68.system.entry.js.map} +0 -0
  275. package/dist/nano-components/{p-19962dda.system.entry.js → p-305ba54b.system.entry.js} +2 -2
  276. package/dist/nano-components/{p-19962dda.system.entry.js.map → p-305ba54b.system.entry.js.map} +0 -0
  277. package/dist/nano-components/{p-5f9e92b0.system.entry.js → p-30a22cd0.system.entry.js} +2 -2
  278. package/dist/nano-components/{p-5f9e92b0.system.entry.js.map → p-30a22cd0.system.entry.js.map} +0 -0
  279. package/dist/nano-components/{p-cc8fb176.system.entry.js → p-31c52d0a.system.entry.js} +2 -2
  280. package/dist/nano-components/{p-cc8fb176.system.entry.js.map → p-31c52d0a.system.entry.js.map} +0 -0
  281. package/dist/nano-components/{p-c6f7ce64.system.entry.js → p-325f32b3.system.entry.js} +2 -2
  282. package/dist/nano-components/p-325f32b3.system.entry.js.map +1 -0
  283. package/dist/nano-components/{p-3f9a70f8.entry.js → p-3b2ea5fd.entry.js} +2 -2
  284. package/dist/nano-components/{p-3f9a70f8.entry.js.map → p-3b2ea5fd.entry.js.map} +0 -0
  285. package/dist/nano-components/{p-0283a2ec.js → p-4370f8ae.js} +2 -2
  286. package/dist/nano-components/p-4370f8ae.js.map +1 -0
  287. package/dist/nano-components/{p-8097b205.system.js → p-4647a31f.system.js} +2 -2
  288. package/dist/nano-components/{p-8097b205.system.js.map → p-4647a31f.system.js.map} +0 -0
  289. package/dist/nano-components/{p-447ed63d.system.entry.js → p-491096f0.system.entry.js} +2 -2
  290. package/dist/nano-components/p-491096f0.system.entry.js.map +1 -0
  291. package/dist/nano-components/{p-1de83f90.system.entry.js → p-4e21bfe1.system.entry.js} +2 -2
  292. package/dist/nano-components/{p-1de83f90.system.entry.js.map → p-4e21bfe1.system.entry.js.map} +0 -0
  293. package/dist/nano-components/{p-6855167a.entry.js → p-4fa0b560.entry.js} +2 -2
  294. package/dist/nano-components/{p-6855167a.entry.js.map → p-4fa0b560.entry.js.map} +0 -0
  295. package/dist/nano-components/{p-7db31794.system.entry.js → p-4fbc3c8b.system.entry.js} +2 -2
  296. package/dist/nano-components/{p-7db31794.system.entry.js.map → p-4fbc3c8b.system.entry.js.map} +0 -0
  297. package/dist/nano-components/{p-5198e4c6.system.js → p-508484f8.system.js} +2 -2
  298. package/dist/nano-components/p-508484f8.system.js.map +1 -0
  299. package/dist/nano-components/p-5672ebbb.system.entry.js +2 -0
  300. package/dist/nano-components/p-5672ebbb.system.entry.js.map +1 -0
  301. package/dist/nano-components/{p-7a8ea050.entry.js → p-574143b5.entry.js} +2 -2
  302. package/dist/nano-components/{p-7a8ea050.entry.js.map → p-574143b5.entry.js.map} +0 -0
  303. package/dist/nano-components/{p-ff530ea6.system.entry.js → p-57434dc5.system.entry.js} +2 -2
  304. package/dist/nano-components/{p-ff530ea6.system.entry.js.map → p-57434dc5.system.entry.js.map} +0 -0
  305. package/dist/nano-components/{p-44cf7aeb.entry.js → p-574f1393.entry.js} +2 -2
  306. package/dist/nano-components/p-574f1393.entry.js.map +1 -0
  307. package/dist/nano-components/{p-24ad4b09.entry.js → p-580eac05.entry.js} +2 -2
  308. package/dist/nano-components/{p-24ad4b09.entry.js.map → p-580eac05.entry.js.map} +0 -0
  309. package/dist/nano-components/{p-fc9828c7.entry.js → p-59aba360.entry.js} +2 -2
  310. package/dist/nano-components/{p-fc9828c7.entry.js.map → p-59aba360.entry.js.map} +0 -0
  311. package/dist/nano-components/{p-c8945124.system.js → p-698a8ab3.system.js} +2 -2
  312. package/dist/nano-components/p-698a8ab3.system.js.map +1 -0
  313. package/dist/nano-components/{p-c05d2d62.entry.js → p-6a3eee01.entry.js} +2 -2
  314. package/dist/nano-components/{p-c05d2d62.entry.js.map → p-6a3eee01.entry.js.map} +0 -0
  315. package/dist/nano-components/{p-ddaa8946.entry.js → p-6aab52a0.entry.js} +2 -2
  316. package/dist/nano-components/p-6aab52a0.entry.js.map +1 -0
  317. package/dist/nano-components/{p-4b9a1f76.entry.js → p-6dc59ae8.entry.js} +2 -2
  318. package/dist/nano-components/{p-4b9a1f76.entry.js.map → p-6dc59ae8.entry.js.map} +0 -0
  319. package/dist/nano-components/{p-057177d7.entry.js → p-6eba639a.entry.js} +3 -3
  320. package/dist/nano-components/{p-057177d7.entry.js.map → p-6eba639a.entry.js.map} +0 -0
  321. package/dist/nano-components/{p-185dedd1.system.entry.js → p-73d969d0.system.entry.js} +2 -2
  322. package/dist/nano-components/{p-185dedd1.system.entry.js.map → p-73d969d0.system.entry.js.map} +0 -0
  323. package/dist/nano-components/{p-4a319e09.system.entry.js → p-7dc79f13.system.entry.js} +2 -2
  324. package/dist/nano-components/{p-4a319e09.system.entry.js.map → p-7dc79f13.system.entry.js.map} +0 -0
  325. package/dist/nano-components/{p-fd6ff03f.entry.js → p-7df31b1c.entry.js} +2 -2
  326. package/dist/nano-components/{p-fd6ff03f.entry.js.map → p-7df31b1c.entry.js.map} +0 -0
  327. package/dist/nano-components/{p-172053d0.system.entry.js → p-7e208086.system.entry.js} +2 -2
  328. package/dist/nano-components/{p-172053d0.system.entry.js.map → p-7e208086.system.entry.js.map} +0 -0
  329. package/dist/nano-components/{p-173755c4.system.entry.js → p-7e4129b4.system.entry.js} +2 -2
  330. package/dist/nano-components/{p-173755c4.system.entry.js.map → p-7e4129b4.system.entry.js.map} +0 -0
  331. package/dist/nano-components/{p-f3bb5f81.entry.js → p-7e68796f.entry.js} +2 -2
  332. package/dist/nano-components/{p-f3bb5f81.entry.js.map → p-7e68796f.entry.js.map} +0 -0
  333. package/dist/nano-components/{p-a17e6ab1.entry.js → p-81d7fd45.entry.js} +2 -2
  334. package/dist/nano-components/{p-a17e6ab1.entry.js.map → p-81d7fd45.entry.js.map} +0 -0
  335. package/dist/nano-components/{p-981f997c.entry.js → p-82571543.entry.js} +2 -2
  336. package/dist/nano-components/p-82571543.entry.js.map +1 -0
  337. package/dist/nano-components/{p-016c6482.system.entry.js → p-844a1134.system.entry.js} +2 -2
  338. package/dist/nano-components/{p-016c6482.system.entry.js.map → p-844a1134.system.entry.js.map} +0 -0
  339. package/dist/nano-components/p-8535a942.entry.js +2 -0
  340. package/dist/nano-components/{p-6d718c9a.entry.js.map → p-8535a942.entry.js.map} +1 -1
  341. package/dist/nano-components/{p-e422c66f.entry.js → p-8c1d85ae.entry.js} +2 -2
  342. package/dist/nano-components/{p-e422c66f.entry.js.map → p-8c1d85ae.entry.js.map} +0 -0
  343. package/dist/nano-components/{p-46f84983.system.entry.js → p-8ed6acea.system.entry.js} +2 -2
  344. package/dist/nano-components/{p-46f84983.system.entry.js.map → p-8ed6acea.system.entry.js.map} +0 -0
  345. package/dist/nano-components/p-9164e5e2.system.entry.js +2 -0
  346. package/dist/nano-components/p-9164e5e2.system.entry.js.map +1 -0
  347. package/dist/nano-components/{p-896b7462.system.entry.js → p-9371d81b.system.entry.js} +2 -2
  348. package/dist/nano-components/{p-896b7462.system.entry.js.map → p-9371d81b.system.entry.js.map} +0 -0
  349. package/dist/nano-components/{p-b49d1e17.system.entry.js → p-95a4c3f2.system.entry.js} +2 -2
  350. package/dist/nano-components/{p-b49d1e17.system.entry.js.map → p-95a4c3f2.system.entry.js.map} +0 -0
  351. package/dist/nano-components/{p-06cc7501.entry.js → p-96ba0d00.entry.js} +2 -2
  352. package/dist/nano-components/{p-06cc7501.entry.js.map → p-96ba0d00.entry.js.map} +0 -0
  353. package/dist/nano-components/p-99637978.entry.js +2 -0
  354. package/dist/nano-components/p-99637978.entry.js.map +1 -0
  355. package/dist/nano-components/{p-56a8af2c.entry.js → p-9ccd832b.entry.js} +2 -2
  356. package/dist/nano-components/{p-56a8af2c.entry.js.map → p-9ccd832b.entry.js.map} +0 -0
  357. package/dist/nano-components/{p-2116ecb5.js → p-a1680208.js} +2 -2
  358. package/dist/nano-components/{p-2116ecb5.js.map → p-a1680208.js.map} +0 -0
  359. package/dist/nano-components/{p-b4a53bea.entry.js → p-a53a193c.entry.js} +2 -2
  360. package/dist/nano-components/{p-b4a53bea.entry.js.map → p-a53a193c.entry.js.map} +0 -0
  361. package/dist/nano-components/{p-b74ba77b.system.entry.js → p-a7ac7964.system.entry.js} +2 -2
  362. package/dist/nano-components/{p-b74ba77b.system.entry.js.map → p-a7ac7964.system.entry.js.map} +0 -0
  363. package/dist/nano-components/{p-30c68e8e.system.entry.js → p-aadd8c31.system.entry.js} +2 -2
  364. package/dist/nano-components/{p-30c68e8e.system.entry.js.map → p-aadd8c31.system.entry.js.map} +0 -0
  365. package/dist/nano-components/p-ab666582.entry.js +2 -0
  366. package/dist/nano-components/p-ab666582.entry.js.map +1 -0
  367. package/dist/nano-components/p-acd5d0f0.system.entry.js +2 -0
  368. package/dist/nano-components/p-acd5d0f0.system.entry.js.map +1 -0
  369. package/dist/nano-components/p-af9f6453.system.js +2 -0
  370. package/dist/nano-components/p-af9f6453.system.js.map +1 -0
  371. package/dist/nano-components/p-b1d3ab54.system.entry.js +2 -0
  372. package/dist/nano-components/p-b1d3ab54.system.entry.js.map +1 -0
  373. package/dist/nano-components/{p-bd04677f.entry.js → p-b3131821.entry.js} +2 -2
  374. package/dist/nano-components/{p-bd04677f.entry.js.map → p-b3131821.entry.js.map} +0 -0
  375. package/dist/nano-components/{p-ef46375f.entry.js → p-b7a58722.entry.js} +2 -2
  376. package/dist/nano-components/{p-ef46375f.entry.js.map → p-b7a58722.entry.js.map} +0 -0
  377. package/dist/nano-components/p-bb0619e6.js +2 -0
  378. package/dist/nano-components/p-bb0619e6.js.map +1 -0
  379. package/dist/nano-components/{p-081356e2.entry.js → p-c3f861c5.entry.js} +2 -2
  380. package/dist/nano-components/{p-081356e2.entry.js.map → p-c3f861c5.entry.js.map} +0 -0
  381. package/dist/nano-components/{p-ab384425.system.entry.js → p-c655e010.system.entry.js} +2 -2
  382. package/dist/nano-components/{p-ab384425.system.entry.js.map → p-c655e010.system.entry.js.map} +0 -0
  383. package/dist/nano-components/p-c72b22be.entry.js +2 -0
  384. package/dist/nano-components/p-c72b22be.entry.js.map +1 -0
  385. package/dist/nano-components/{p-d7ddc7e3.entry.js → p-d250987a.entry.js} +2 -2
  386. package/dist/nano-components/{p-d7ddc7e3.entry.js.map → p-d250987a.entry.js.map} +0 -0
  387. package/dist/nano-components/{p-b1badcb1.system.entry.js → p-d393d10a.system.entry.js} +2 -2
  388. package/dist/nano-components/{p-b1badcb1.system.entry.js.map → p-d393d10a.system.entry.js.map} +0 -0
  389. package/dist/nano-components/{p-868872fa.entry.js → p-db271541.entry.js} +2 -2
  390. package/dist/nano-components/{p-868872fa.entry.js.map → p-db271541.entry.js.map} +0 -0
  391. package/dist/nano-components/p-dccd86ec.system.js +4 -0
  392. package/dist/nano-components/p-dccd86ec.system.js.map +1 -0
  393. package/dist/nano-components/p-e0cc37fb.entry.js +2 -0
  394. package/dist/nano-components/{p-b19e2af5.entry.js.map → p-e0cc37fb.entry.js.map} +1 -1
  395. package/dist/nano-components/{p-db4ba5d8.system.entry.js → p-e28536b4.system.entry.js} +2 -2
  396. package/dist/nano-components/{p-db4ba5d8.system.entry.js.map → p-e28536b4.system.entry.js.map} +0 -0
  397. package/dist/nano-components/{p-b2804245.entry.js → p-ebf34764.entry.js} +2 -2
  398. package/dist/nano-components/{p-b2804245.entry.js.map → p-ebf34764.entry.js.map} +0 -0
  399. package/dist/nano-components/p-edddeaae.system.js +2 -0
  400. package/dist/nano-components/{p-f2d24fc6.system.js.map → p-edddeaae.system.js.map} +1 -1
  401. package/dist/nano-components/{p-d7a2499b.entry.js → p-ef5d9308.entry.js} +2 -2
  402. package/dist/nano-components/{p-d7a2499b.entry.js.map → p-ef5d9308.entry.js.map} +0 -0
  403. package/dist/nano-components/p-f234e064.system.entry.js +2 -0
  404. package/dist/nano-components/p-f234e064.system.entry.js.map +1 -0
  405. package/dist/nano-components/{p-6dae7bdd.system.entry.js → p-f27c9429.system.entry.js} +2 -2
  406. package/dist/nano-components/{p-6dae7bdd.system.entry.js.map → p-f27c9429.system.entry.js.map} +0 -0
  407. package/dist/nano-components/{p-3c25067f.entry.js → p-f3688bce.entry.js} +2 -2
  408. package/dist/nano-components/{p-3c25067f.entry.js.map → p-f3688bce.entry.js.map} +0 -0
  409. package/dist/nano-components/{p-66a5132f.system.entry.js → p-f86db7c0.system.entry.js} +2 -2
  410. package/dist/nano-components/{p-66a5132f.system.entry.js.map → p-f86db7c0.system.entry.js.map} +0 -0
  411. package/dist/nano-components/{p-7e259efb.system.entry.js → p-fa86645d.system.entry.js} +2 -2
  412. package/dist/nano-components/p-fa86645d.system.entry.js.map +1 -0
  413. package/dist/nano-components/{p-b5ff5764.entry.js → p-fdfa03d7.entry.js} +2 -2
  414. package/dist/nano-components/{p-b5ff5764.entry.js.map → p-fdfa03d7.entry.js.map} +0 -0
  415. package/dist/nano-components/p-ff2ff5b0.js +2 -0
  416. package/dist/nano-components/p-ff2ff5b0.js.map +1 -0
  417. package/dist/nano-components/p-ff5890b4.entry.js +2 -0
  418. package/dist/nano-components/p-ff5890b4.entry.js.map +1 -0
  419. package/dist/nano-components/{p-dbe19aba.entry.js → p-ffab923c.entry.js} +2 -2
  420. package/dist/nano-components/{p-dbe19aba.entry.js.map → p-ffab923c.entry.js.map} +0 -0
  421. package/dist/themes/nanopore.css +1 -1
  422. package/dist/types/components/date-input/date-input.d.ts +9 -0
  423. package/dist/types/components/date-picker/date-picker.d.ts +9 -4
  424. package/dist/types/components/details/details.d.ts +1 -0
  425. package/dist/types/components/file-upload/file-upload-interface.d.ts +4 -3
  426. package/dist/types/components/file-upload/file-upload.d.ts +2 -12
  427. package/dist/types/components/input/input.d.ts +1 -0
  428. package/dist/types/components.d.ts +16 -7
  429. package/dist/types/utils/testing/index.d.ts +4 -1
  430. package/docs-json.json +60 -31
  431. package/docs-vscode.json +4 -0
  432. package/package.json +8 -7
  433. package/dist/cjs/algolia-data-4d5ee8da.js.map +0 -1
  434. package/dist/cjs/algoliasearch.umd-51f0001d.js +0 -12
  435. package/dist/cjs/algoliasearch.umd-51f0001d.js.map +0 -1
  436. package/dist/cjs/global-befb7a64.js.map +0 -1
  437. package/dist/cjs/index-197e7a3f.js.map +0 -1
  438. package/dist/esm/algolia-data-6db3f5f2.js.map +0 -1
  439. package/dist/esm/algoliasearch.umd-2c129faa.js +0 -10
  440. package/dist/esm/algoliasearch.umd-2c129faa.js.map +0 -1
  441. package/dist/esm/global-c85d24a2.js.map +0 -1
  442. package/dist/esm/index-8e9bc704.js.map +0 -1
  443. package/dist/esm-es5/algolia-data-6db3f5f2.js.map +0 -1
  444. package/dist/esm-es5/algoliasearch.umd-2c129faa.js +0 -4
  445. package/dist/esm-es5/algoliasearch.umd-2c129faa.js.map +0 -1
  446. package/dist/esm-es5/global-c85d24a2.js.map +0 -1
  447. package/dist/esm-es5/index-8e9bc704.js +0 -2
  448. package/dist/esm-es5/index-8e9bc704.js.map +0 -1
  449. package/dist/nano-components/p-01e5c484.system.entry.js +0 -2
  450. package/dist/nano-components/p-01e5c484.system.entry.js.map +0 -1
  451. package/dist/nano-components/p-0283a2ec.js.map +0 -1
  452. package/dist/nano-components/p-03e4f363.system.js +0 -2
  453. package/dist/nano-components/p-03e4f363.system.js.map +0 -1
  454. package/dist/nano-components/p-19aecfb6.js +0 -2
  455. package/dist/nano-components/p-19aecfb6.js.map +0 -1
  456. package/dist/nano-components/p-23da4de5.js +0 -4
  457. package/dist/nano-components/p-23da4de5.js.map +0 -1
  458. package/dist/nano-components/p-2e2b4393.system.entry.js +0 -2
  459. package/dist/nano-components/p-2e2b4393.system.entry.js.map +0 -1
  460. package/dist/nano-components/p-32c68c7c.entry.js +0 -2
  461. package/dist/nano-components/p-32c68c7c.entry.js.map +0 -1
  462. package/dist/nano-components/p-38ed336b.entry.js +0 -2
  463. package/dist/nano-components/p-38ed336b.entry.js.map +0 -1
  464. package/dist/nano-components/p-447ed63d.system.entry.js.map +0 -1
  465. package/dist/nano-components/p-44cf7aeb.entry.js.map +0 -1
  466. package/dist/nano-components/p-4573be34.entry.js +0 -2
  467. package/dist/nano-components/p-4573be34.entry.js.map +0 -1
  468. package/dist/nano-components/p-4d17169a.entry.js.map +0 -1
  469. package/dist/nano-components/p-5198e4c6.system.js.map +0 -1
  470. package/dist/nano-components/p-6403dd02.system.entry.js.map +0 -1
  471. package/dist/nano-components/p-68eb3c21.entry.js +0 -2
  472. package/dist/nano-components/p-68eb3c21.entry.js.map +0 -1
  473. package/dist/nano-components/p-6d718c9a.entry.js +0 -2
  474. package/dist/nano-components/p-6edd2945.system.entry.js +0 -2
  475. package/dist/nano-components/p-6edd2945.system.entry.js.map +0 -1
  476. package/dist/nano-components/p-7e259efb.system.entry.js.map +0 -1
  477. package/dist/nano-components/p-981f997c.entry.js.map +0 -1
  478. package/dist/nano-components/p-b19e2af5.entry.js +0 -2
  479. package/dist/nano-components/p-c6f7ce64.system.entry.js.map +0 -1
  480. package/dist/nano-components/p-c8945124.system.js.map +0 -1
  481. package/dist/nano-components/p-cb750e49.system.js +0 -4
  482. package/dist/nano-components/p-cb750e49.system.js.map +0 -1
  483. package/dist/nano-components/p-ddaa8946.entry.js.map +0 -1
  484. package/dist/nano-components/p-eb090a2c.system.entry.js +0 -2
  485. package/dist/nano-components/p-eb090a2c.system.entry.js.map +0 -1
  486. package/dist/nano-components/p-f2d24fc6.system.js +0 -2
  487. package/dist/nano-components/p-f31f23ad.entry.js +0 -2
  488. package/dist/nano-components/p-f31f23ad.entry.js.map +0 -1
  489. package/dist/nano-components/p-fc189b6d.js +0 -2
  490. package/dist/nano-components/p-fc189b6d.js.map +0 -1
  491. package/dist/nano-components/p-fd4630d0.system.entry.js +0 -2
  492. package/dist/nano-components/p-fd4630d0.system.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-templates.js","sourceRoot":"","sources":["../../../../../src/components/checkbox/__tests__/__fixtures__/checkbox-templates.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG;EACvB,OAAO,EAAE;;;;;GAKR;EACD,QAAQ,EAAE;;;;;;;;;;GAUT;EACD,KAAK,EAAE;;;;;;;;;GASN;EACD,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDL;EACD,OAAO,EAAE;;;;;;;;;;;;;;;;;;;GAmBR;EACD,KAAK,EAAE;;;;;;;;;GASN;CACF,CAAC","sourcesContent":["export const templates = {\n default: `\n <form>\n <nano-checkbox {{ attrs }}><strong>Slotted Label</strong></nano-checkbox>\n <button class=\"button\" type=\"submit\">Native Button</button>\n </form>\n `,\n checkbox: `\n <style>\n .cb {\n display: block; margin: 1rem;\n }\n </style>\n <nano-checkbox class=\"cb\" label=\"Unchecked\"></nano-checkbox>\n <nano-checkbox class=\"cb\" checked label=\"Checked\"></nano-checkbox>\n <nano-checkbox indeterminate class=\"cb\" label=\"Indeterminate\"></nano-checkbox>\n <nano-checkbox class=\"cb\" disabled label=\"Disabled\"></nano-checkbox>\n `,\n radio: `\n <style>\n .rd {\n display: block; margin: 1rem;\n }\n </style>\n <nano-checkbox class=\"rd\" label=\"Checked\" checked name=\"radio\" type=\"radio\"></nano-checkbox>\n <nano-checkbox class=\"rd\" label=\"Unchecked\" name=\"radio\" type=\"radio\"></nano-checkbox>\n <nano-checkbox class=\"rd\" label=\"Disabled\" disabled name=\"radio\" type=\"radio\"></nano-checkbox>\n `,\n tags: `\n <style>\n .tags {\n margin: 4px 0;\n }\n </style>\n <div class=\"tags\">\n <nano-checkbox checked label=\"Checked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox label=\"Unchecked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox label=\"Disabled\" type=\"tag\" disabled></nano-checkbox>\n </div>\n <div class=\"tags\">\n <nano-checkbox checked color=\"primary\" label=\"Checked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"primary\" label=\"Unchecked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"primary\" label=\"Disabled\" type=\"tag\" disabled></nano-checkbox>\n </div>\n <div class=\"tags\">\n <nano-checkbox checked color=\"tertiary\" label=\"Checked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"tertiary\" label=\"Unchecked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"tertiary\" label=\"Disabled\" type=\"tag\" disabled></nano-checkbox>\n </div>\n <div class=\"tags\">\n <nano-checkbox checked color=\"warning\" label=\"Checked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"warning\" label=\"Unchecked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"warning\" label=\"Disabled\" type=\"tag\" disabled></nano-checkbox>\n </div>\n <div class=\"tags\">\n <nano-checkbox checked color=\"danger\" label=\"Checked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"danger\" label=\"Unchecked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"danger\" label=\"Disabled\" type=\"tag\" disabled></nano-checkbox>\n </div>\n <div class=\"tags\">\n <nano-checkbox checked color=\"success\" label=\"Checked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"success\" label=\"Unchecked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"success\" label=\"Disabled\" type=\"tag\" disabled></nano-checkbox>\n </div>\n <div class=\"tags\">\n <nano-checkbox checked color=\"light\" label=\"Checked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"light\" label=\"Unchecked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"light\" label=\"Disabled\" type=\"tag\" disabled></nano-checkbox>\n </div>\n <div class=\"tags\">\n <nano-checkbox checked color=\"medium\" label=\"Checked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"medium\" label=\"Unchecked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"medium\" label=\"Disabled\" type=\"tag\" disabled></nano-checkbox>\n </div>\n <div class=\"tags\">\n <nano-checkbox checked color=\"dark\" label=\"Checked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"dark\" label=\"Unchecked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"dark\" label=\"Disabled\" type=\"tag\" disabled></nano-checkbox>\n </div>\n `,\n segment: `\n <style>\n .segment {\n margin: 1rem 0;\n }\n </style>\n <div class=\"segment\">\n <nano-checkbox checked label=\"Checked\" type=\"segment\"></nano-checkbox>\n <nano-checkbox label=\"Unchecked\" type=\"segment\"></nano-checkbox>\n <nano-checkbox disabled label=\"Disabled\" type=\"segment\"></nano-checkbox>\n </div>\n <div class=\"segment\">\n <nano-checkbox-group>\n <nano-checkbox checked label=\"Checked\" name=\"pill\" type=\"segment-pill\"></nano-checkbox>\n <nano-checkbox label=\"Unchecked\" name=\"pill\" type=\"segment-pill\"></nano-checkbox>\n <nano-checkbox label=\"Unchecked 2\" name=\"pill\" type=\"segment-pill\"></nano-checkbox>\n <nano-checkbox disabled label=\"Disabled\" name=\"pill\" type=\"segment-pill\"></nano-checkbox>\n </nano-checkbox-group>\n </div>\n `,\n group: `\n <form>\n <nano-checkbox-group {{ attrs }}>\n <nano-checkbox name=\"checkbox-1\" value=\"1\" label=\"CB 1\"></nano-checkbox>\n <nano-checkbox name=\"checkbox-1\" value=\"2\" label=\"CB 2\"></nano-checkbox>\n <nano-checkbox name=\"checkbox-3\" value=\"3\" required label=\"CB 3\"></nano-checkbox>\n </nano-checkbox-group>\n <button class=\"button\" type=\"submit\">Native Button</button>\n </form>\n `,\n};\n"]}
1
+ {"version":3,"file":"checkbox-templates.js","sourceRoot":"","sources":["../../../../../src/components/checkbox/__tests__/__fixtures__/checkbox-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,CAAC,MAAM,SAAS,GAAG;EACvB,OAAO,EAAE;;;;;;;;MAQL,oBAAoB;GACvB;EACD,QAAQ,EAAE;;;;;;;;;;GAUT;EACD,KAAK,EAAE;;;;;;;;;GASN;EACD,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDL;EACD,OAAO,EAAE;;;;;;;;;;;;;;;;;;;GAmBR;EACD,KAAK,EAAE;;;;;;;;;GASN;CACF,CAAC","sourcesContent":["import { stringifyFormSnippet } from '../../../../utils/testing';\n\nexport const templates = {\n default: `\n <form>\n <nano-checkbox {{ attrs }} value=\"Value 1\"><strong>Slotted Label</strong></nano-checkbox>\n <nano-checkbox {{ attrs }} value=\"Value 2\"><strong>Slotted Label</strong></nano-checkbox>\n <br>\n <button class=\"button button--primary\" type=\"submit\">Submit</button>\n <button class=\"button\" type=\"reset\">Reset</button>\n </form>\n ${stringifyFormSnippet}\n `,\n checkbox: `\n <style>\n .cb {\n display: block; margin: 1rem;\n }\n </style>\n <nano-checkbox class=\"cb\" label=\"Unchecked\"></nano-checkbox>\n <nano-checkbox class=\"cb\" checked label=\"Checked\"></nano-checkbox>\n <nano-checkbox indeterminate class=\"cb\" label=\"Indeterminate\"></nano-checkbox>\n <nano-checkbox class=\"cb\" disabled label=\"Disabled\"></nano-checkbox>\n `,\n radio: `\n <style>\n .rd {\n display: block; margin: 1rem;\n }\n </style>\n <nano-checkbox class=\"rd\" label=\"Checked\" checked name=\"radio\" type=\"radio\"></nano-checkbox>\n <nano-checkbox class=\"rd\" label=\"Unchecked\" name=\"radio\" type=\"radio\"></nano-checkbox>\n <nano-checkbox class=\"rd\" label=\"Disabled\" disabled name=\"radio\" type=\"radio\"></nano-checkbox>\n `,\n tags: `\n <style>\n .tags {\n margin: 4px 0;\n }\n </style>\n <div class=\"tags\">\n <nano-checkbox checked label=\"Checked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox label=\"Unchecked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox label=\"Disabled\" type=\"tag\" disabled></nano-checkbox>\n </div>\n <div class=\"tags\">\n <nano-checkbox checked color=\"primary\" label=\"Checked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"primary\" label=\"Unchecked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"primary\" label=\"Disabled\" type=\"tag\" disabled></nano-checkbox>\n </div>\n <div class=\"tags\">\n <nano-checkbox checked color=\"tertiary\" label=\"Checked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"tertiary\" label=\"Unchecked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"tertiary\" label=\"Disabled\" type=\"tag\" disabled></nano-checkbox>\n </div>\n <div class=\"tags\">\n <nano-checkbox checked color=\"warning\" label=\"Checked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"warning\" label=\"Unchecked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"warning\" label=\"Disabled\" type=\"tag\" disabled></nano-checkbox>\n </div>\n <div class=\"tags\">\n <nano-checkbox checked color=\"danger\" label=\"Checked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"danger\" label=\"Unchecked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"danger\" label=\"Disabled\" type=\"tag\" disabled></nano-checkbox>\n </div>\n <div class=\"tags\">\n <nano-checkbox checked color=\"success\" label=\"Checked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"success\" label=\"Unchecked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"success\" label=\"Disabled\" type=\"tag\" disabled></nano-checkbox>\n </div>\n <div class=\"tags\">\n <nano-checkbox checked color=\"light\" label=\"Checked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"light\" label=\"Unchecked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"light\" label=\"Disabled\" type=\"tag\" disabled></nano-checkbox>\n </div>\n <div class=\"tags\">\n <nano-checkbox checked color=\"medium\" label=\"Checked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"medium\" label=\"Unchecked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"medium\" label=\"Disabled\" type=\"tag\" disabled></nano-checkbox>\n </div>\n <div class=\"tags\">\n <nano-checkbox checked color=\"dark\" label=\"Checked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"dark\" label=\"Unchecked\" type=\"tag\"></nano-checkbox>\n <nano-checkbox color=\"dark\" label=\"Disabled\" type=\"tag\" disabled></nano-checkbox>\n </div>\n `,\n segment: `\n <style>\n .segment {\n margin: 1rem 0;\n }\n </style>\n <div class=\"segment\">\n <nano-checkbox checked label=\"Checked\" type=\"segment\"></nano-checkbox>\n <nano-checkbox label=\"Unchecked\" type=\"segment\"></nano-checkbox>\n <nano-checkbox disabled label=\"Disabled\" type=\"segment\"></nano-checkbox>\n </div>\n <div class=\"segment\">\n <nano-checkbox-group>\n <nano-checkbox checked label=\"Checked\" name=\"pill\" type=\"segment-pill\"></nano-checkbox>\n <nano-checkbox label=\"Unchecked\" name=\"pill\" type=\"segment-pill\"></nano-checkbox>\n <nano-checkbox label=\"Unchecked 2\" name=\"pill\" type=\"segment-pill\"></nano-checkbox>\n <nano-checkbox disabled label=\"Disabled\" name=\"pill\" type=\"segment-pill\"></nano-checkbox>\n </nano-checkbox-group>\n </div>\n `,\n group: `\n <form>\n <nano-checkbox-group {{ attrs }}>\n <nano-checkbox name=\"checkbox-1\" value=\"1\" label=\"CB 1\"></nano-checkbox>\n <nano-checkbox name=\"checkbox-1\" value=\"2\" label=\"CB 2\"></nano-checkbox>\n <nano-checkbox name=\"checkbox-3\" value=\"3\" required label=\"CB 3\"></nano-checkbox>\n </nano-checkbox-group>\n <button class=\"button\" type=\"submit\">Native Button</button>\n </form>\n `,\n};\n"]}
@@ -17,7 +17,7 @@
17
17
  * @prop --invalid-msg-color: Default var(--nano-color-danger, #ef4135);
18
18
  * @prop --invalid-msg-font-size: Default var(--nano-input-help-font-size, 0.75em);
19
19
 
20
- * @prop --help-msg-color: Font color applied to slot="helper". Default var(--nano-input-help-color, #687576);
20
+ * @prop --help-msg-color: Font color applied to slot="helper". Default var(--nano-input-help-color, #616d6e);
21
21
 
22
22
  * @prop --label-color: Default var(--nano-input-label-color, "currentColor");
23
23
  * @prop --label-color--invalid: Default var(--nano-input-label-color-invalid, "currentColor");
@@ -30,7 +30,7 @@
30
30
  --control-margin-start: 0;
31
31
  --invalid-msg-color: var(--nano-color-danger, #ef4135);
32
32
  --invalid-msg-font-size: var(--nano-input-help-font-size, 0.75em);
33
- --help-msg-color: var(--nano-input-help-color, #687576);
33
+ --help-msg-color: var(--nano-input-help-color, #616d6e);
34
34
  --label-color: var(--nano-input-label-color, "currentColor");
35
35
  --label-color--invalid: var(--nano-input-label-color-invalid, "currentColor");
36
36
  --label-font-size: var(--nano-input-label-color, 1em);
@@ -364,7 +364,7 @@ export class CheckboxGroup {
364
364
  "references": {
365
365
  "ControlValidityEventDetail": {
366
366
  "location": "import",
367
- "path": "/builds/zfg2rJd-/0/Digital/nano-components/packages/components/src/interface.d.ts"
367
+ "path": "/builds/Xi7NpFYo/0/Digital/nano-components/packages/components/src/interface.d.ts"
368
368
  }
369
369
  }
370
370
  }
@@ -386,7 +386,7 @@ export class CheckboxGroup {
386
386
  },
387
387
  "ControlValidity": {
388
388
  "location": "import",
389
- "path": "/builds/zfg2rJd-/0/Digital/nano-components/packages/components/src/interface.d.ts"
389
+ "path": "/builds/Xi7NpFYo/0/Digital/nano-components/packages/components/src/interface.d.ts"
390
390
  }
391
391
  },
392
392
  "return": "Promise<ControlValidity>"
@@ -26,7 +26,7 @@
26
26
  * @prop --tagbox-rgb: an rba list for tags which can be used to generate --tagbox-border-color and --tagbox-bg-color. Defaults to 144, 198, 231;
27
27
  * @prop --tagbox-border-color: Defaults to rgba(var(--tagbox-rgb), .5);
28
28
  * @prop --tagbox-bg-color: Defaults to rgba(var(--tagbox-rgb), .1);
29
- * @prop --segment-color: Segment, unselected text color. (selected color is --check-checked-higlight-color). Defaults to #0084a9;
29
+ * @prop --segment-color: Segment, unselected text color. (selected color is --check-checked-higlight-color). Defaults to #007495;
30
30
  * @prop --segment-border-radius: Defaults to 3px;
31
31
  * @prop --segment-shadow: 0 1px 4px rgba(0,0,0,.2);
32
32
  */
@@ -43,7 +43,7 @@
43
43
  --tagbox-border-color: rgba(var(--tagbox-rgb), 0.5);
44
44
  --tagbox-bg-color: rgba(var(--tagbox-rgb), 0.2);
45
45
  --tagbox-border-radius: 0;
46
- --segment-color: #0084a9;
46
+ --segment-color: #007495;
47
47
  --segment-border-radius: 3px;
48
48
  --segment-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
49
49
  --cb-border-radius: 2px;
@@ -402,7 +402,7 @@ export class Checkbox {
402
402
  "references": {
403
403
  "Color": {
404
404
  "location": "import",
405
- "path": "/builds/zfg2rJd-/0/Digital/nano-components/packages/components/src/interface.d.ts"
405
+ "path": "/builds/Xi7NpFYo/0/Digital/nano-components/packages/components/src/interface.d.ts"
406
406
  }
407
407
  }
408
408
  },
@@ -438,7 +438,7 @@ export class Checkbox {
438
438
  "references": {
439
439
  "CheckboxChangeEventDetail": {
440
440
  "location": "import",
441
- "path": "/builds/zfg2rJd-/0/Digital/nano-components/packages/components/src/interface.d.ts"
441
+ "path": "/builds/Xi7NpFYo/0/Digital/nano-components/packages/components/src/interface.d.ts"
442
442
  }
443
443
  }
444
444
  }
@@ -509,7 +509,7 @@ export class Checkbox {
509
509
  },
510
510
  "ControlValidity": {
511
511
  "location": "import",
512
- "path": "/builds/zfg2rJd-/0/Digital/nano-components/packages/components/src/interface.d.ts"
512
+ "path": "/builds/Xi7NpFYo/0/Digital/nano-components/packages/components/src/interface.d.ts"
513
513
  }
514
514
  },
515
515
  "return": "Promise<ControlValidity>"
@@ -28,10 +28,6 @@
28
28
  --focus-shadow: 0 0 0 0.1875rem rgba(var(--nano-color-tint-rgb), 0.56);
29
29
  }
30
30
 
31
- :host([disabled]:not([disabled=false])) {
32
- opacity: 0.7;
33
- }
34
-
35
31
  nano-icon {
36
32
  pointer-events: none;
37
33
  }
@@ -18,7 +18,10 @@ export class DateInput {
18
18
  this.directInput = false;
19
19
  this.dateOrderIndeces = { d: 0, m: 1, y: 3 };
20
20
  this.inputId = `nano-input-${inputIds++}`;
21
- // Public Api / Prop
21
+ this.locale = window.navigator.languages ||
22
+ window.navigator.language ||
23
+ undefined;
24
+ this._invalid = false;
22
25
  /**
23
26
  * Whether to show a long form, confirmation date string of the one currently entered
24
27
  */
@@ -101,6 +104,7 @@ export class DateInput {
101
104
  };
102
105
  this.onInputValidate = (e) => {
103
106
  e.stopPropagation();
107
+ this._invalid = !e.detail.isValid;
104
108
  this.nanoValidate.emit({
105
109
  isValid: e.detail.isValid,
106
110
  errorMessage: e.detail.errorMessage,
@@ -121,11 +125,24 @@ export class DateInput {
121
125
  setTimeout((_) => this.trigger.focus(), 20);
122
126
  };
123
127
  this.onDropdownShow = () => {
124
- setTimeout((_) => this.pickerEle.setFocus(), 200);
128
+ setTimeout((_) => {
129
+ this.pickerEle.setFocus(false, this.pickerOpenSource === 'key');
130
+ this.pickerOpenSource = null;
131
+ }, 200);
125
132
  };
126
133
  this.onTriggerClick = () => {
127
- if (!this.pickerOpen)
134
+ if (!this.pickerOpen) {
128
135
  this.pickerOpen = true;
136
+ this.pickerOpenSource = 'mouse';
137
+ }
138
+ };
139
+ this.onTriggerKey = (e) => {
140
+ if ([' ', 'Enter'].includes(e.key)) {
141
+ if (!this.pickerOpen) {
142
+ this.pickerOpen = true;
143
+ this.pickerOpenSource = 'key';
144
+ }
145
+ }
129
146
  };
130
147
  this.onCloseClick = () => {
131
148
  if (this.pickerOpen)
@@ -139,6 +156,14 @@ export class DateInput {
139
156
  }
140
157
  };
141
158
  }
159
+ // Public Api / Prop
160
+ /**
161
+ * This will be true when the control is in an invalid state.
162
+ * Validity is determined by the `required` prop. Or if custom validity message is set. @readonly
163
+ */
164
+ get invalid() {
165
+ return this._invalid;
166
+ }
142
167
  handleValueChange() {
143
168
  if (!this.directInput)
144
169
  this.inputValue = this.formatIsoDate(this.value);
@@ -155,14 +180,14 @@ export class DateInput {
155
180
  if (this.min && (min = parseISODate(this.min)) && valueDate < min) {
156
181
  error =
157
182
  'Date below the minimum: ' +
158
- min.toLocaleDateString(undefined, this.helperTextFormat);
183
+ min.toLocaleDateString(this.locale, this.helperTextFormat);
159
184
  }
160
185
  else if (this.max &&
161
186
  (max = parseISODate(this.max)) &&
162
187
  valueDate > max) {
163
188
  error =
164
189
  'Date above the maximum: ' +
165
- max.toLocaleDateString(undefined, this.helperTextFormat);
190
+ max.toLocaleDateString(this.locale, this.helperTextFormat);
166
191
  }
167
192
  }
168
193
  setTimeout(async (_) => {
@@ -199,8 +224,8 @@ export class DateInput {
199
224
  /**
200
225
  * Returns the native `<input>` element used under the hood.
201
226
  */
202
- getInputElement() {
203
- return this.input.getInputElement();
227
+ async getInputElement() {
228
+ return await this.input.getInputElement();
204
229
  }
205
230
  /**
206
231
  * Invalidate the field and show a custom error message. To clear the error you will need to re-call this method with an empty string.
@@ -232,9 +257,9 @@ export class DateInput {
232
257
  if (!matches)
233
258
  return '';
234
259
  let formatted = [];
235
- formatted.splice(this.dateOrderIndeces.d, 0, matches[3]);
236
- formatted.splice(this.dateOrderIndeces.m, 0, matches[2]);
237
- formatted.splice(this.dateOrderIndeces.y, 0, matches[1]);
260
+ formatted[this.dateOrderIndeces.d] = matches[3];
261
+ formatted[this.dateOrderIndeces.m] = matches[2];
262
+ formatted[this.dateOrderIndeces.y] = matches[1];
238
263
  return formatted.join(' ');
239
264
  }
240
265
  // on manual user entry, set the value that will be sent with the form field
@@ -268,8 +293,11 @@ export class DateInput {
268
293
  return;
269
294
  this.pickerEle.firstFocusEle = this.pickerCloseBtn;
270
295
  this.dropdown.tetherTo = this.trigger;
296
+ setTimeout((_) => this.handlePickerOpenChange(), 300);
271
297
  }
272
298
  render() {
299
+ this.locale =
300
+ navigator.languages || navigator.language || undefined;
273
301
  let placement = this.host.ownerDocument.dir === 'rtl'
274
302
  ? 'bottom-start'
275
303
  : 'bottom-end';
@@ -280,12 +308,12 @@ export class DateInput {
280
308
  h("nano-input", { class: "date-field__input", slot: "trigger", required: this.required || undefined, showInlineError: this.showInlineError, validateOn: this.validateOn, placeholder: this.placeholder !== 'false' ? this.placeholder : undefined, pattern: this.pattern, label: this.label, disabled: this.disabled || undefined, color: this.color || undefined, autofocus: this.autofocus || undefined, clearInput: this.clearInput || undefined, onNanoChange: this.onInputChange, onNanoInput: this.onInputKey, onNanoValidate: this.onInputValidate, name: "", form: this.form || undefined, size: this.size || undefined, readonly: this.readonly, value: this.inputValue, ref: (input) => (this.input = input), floatLabel: this.floatLabel, hideLabel: this.hideLabel, inputmode: 'numeric' },
281
309
  h("slot", { name: "label" }),
282
310
  this.picker && [
283
- h("button", { slot: "inline-button", class: "date-field__open", type: "button", onClick: this.onTriggerClick, ref: (trigger) => (this.trigger = trigger), disabled: this.disabled || this.readonly },
311
+ h("button", { slot: "inline-button", class: "date-field__open", type: "button", onKeyDown: this.onTriggerKey, onClick: this.onTriggerClick, ref: (trigger) => (this.trigger = trigger), disabled: this.disabled || this.readonly },
284
312
  h("nano-icon", { name: "light/calendar-alt" })),
285
313
  h("nano-dropdown", { slot: "inline-button", placement: placement, onNanoHide: this.onDropdownHide, onNanoShow: this.onDropdownShow, dialogTitle: "Choose a date", class: "date-field__dropdown", ref: (dropdown) => (this.dropdown = dropdown) },
286
314
  h("div", null,
287
315
  h("div", { class: "date-field__close-bar" },
288
- h("button", { class: "date-field__close", type: "button", onClick: this.onCloseClick, onKeyDown: this.onCloseKeyDown, ref: (pickerClose) => (this.pickerCloseBtn = pickerClose) },
316
+ h("button", { class: "date-field__close", type: "button", onMouseDown: this.onCloseClick, onKeyDown: this.onCloseKeyDown, ref: (pickerClose) => (this.pickerCloseBtn = pickerClose) },
289
317
  h("nano-icon", { name: "light/times" }),
290
318
  h("span", { class: "vhidden" }, "Close window"))),
291
319
  h("nano-date-picker", { onNanoDatePicked: this.onDatePicked, min: this.min || undefined, max: this.max || undefined, "is-modal": true, ref: (picker) => (this.pickerEle = picker), localization: this.localization, selectedDate: this.value || this.initialPickerDate, firstDayOfWeek: this.firstDayOfWeek, color: this.color || undefined }))),
@@ -293,7 +321,7 @@ export class DateInput {
293
321
  (hasHelperSlot || this.helperText || this.showInlineError) && (h("span", { slot: "helper" },
294
322
  h("span", { class: { vhidden: !!this.value.length } },
295
323
  h("slot", { name: "helper" })),
296
- this.helperText && !!valueDate && (h("span", null, valueDate.toLocaleDateString(undefined, this.helperTextFormat)))))),
324
+ this.helperText && !!valueDate && (h("span", null, valueDate.toLocaleDateString(this.locale, this.helperTextFormat)))))),
297
325
  h("input", { type: "hidden", value: this.value, name: this.name }))));
298
326
  }
299
327
  static get is() { return "nano-date-input"; }
@@ -305,6 +333,26 @@ export class DateInput {
305
333
  "$": ["date-input.css"]
306
334
  }; }
307
335
  static get properties() { return {
336
+ "invalid": {
337
+ "type": "boolean",
338
+ "mutable": false,
339
+ "complexType": {
340
+ "original": "boolean",
341
+ "resolved": "boolean",
342
+ "references": {}
343
+ },
344
+ "required": false,
345
+ "optional": false,
346
+ "docs": {
347
+ "tags": [],
348
+ "text": "This will be true when the control is in an invalid state.\nValidity is determined by the `required` prop. Or if custom validity message is set. @readonly"
349
+ },
350
+ "getter": true,
351
+ "setter": false,
352
+ "attribute": "invalid",
353
+ "reflect": true,
354
+ "defaultValue": "false"
355
+ },
308
356
  "helperText": {
309
357
  "type": "boolean",
310
358
  "mutable": false,
@@ -334,7 +382,7 @@ export class DateInput {
334
382
  "references": {
335
383
  "LocalDateOpts": {
336
384
  "location": "import",
337
- "path": "/builds/zfg2rJd-/0/Digital/nano-components/packages/components/src/interface.d.ts"
385
+ "path": "/builds/Xi7NpFYo/0/Digital/nano-components/packages/components/src/interface.d.ts"
338
386
  }
339
387
  }
340
388
  },
@@ -455,7 +503,7 @@ export class DateInput {
455
503
  "references": {
456
504
  "DaysOfWeek": {
457
505
  "location": "import",
458
- "path": "/builds/zfg2rJd-/0/Digital/nano-components/packages/components/src/utils/date-utils.ts"
506
+ "path": "/builds/Xi7NpFYo/0/Digital/nano-components/packages/components/src/utils/date-utils.ts"
459
507
  }
460
508
  }
461
509
  },
@@ -479,7 +527,7 @@ export class DateInput {
479
527
  "references": {
480
528
  "DuetLocalizedText": {
481
529
  "location": "import",
482
- "path": "/builds/zfg2rJd-/0/Digital/nano-components/packages/components/src/interface.d.ts"
530
+ "path": "/builds/Xi7NpFYo/0/Digital/nano-components/packages/components/src/interface.d.ts"
483
531
  }
484
532
  }
485
533
  },
@@ -521,7 +569,7 @@ export class DateInput {
521
569
  "references": {
522
570
  "Color": {
523
571
  "location": "import",
524
- "path": "/builds/zfg2rJd-/0/Digital/nano-components/packages/components/src/interface.d.ts"
572
+ "path": "/builds/Xi7NpFYo/0/Digital/nano-components/packages/components/src/interface.d.ts"
525
573
  }
526
574
  }
527
575
  },
@@ -854,7 +902,8 @@ export class DateInput {
854
902
  }; }
855
903
  static get states() { return {
856
904
  "pattern": {},
857
- "inputValue": {}
905
+ "inputValue": {},
906
+ "_invalid": {}
858
907
  }; }
859
908
  static get events() { return [{
860
909
  "method": "nanoChange",
@@ -872,7 +921,7 @@ export class DateInput {
872
921
  "references": {
873
922
  "DateInputChangeEventDetail": {
874
923
  "location": "import",
875
- "path": "/builds/zfg2rJd-/0/Digital/nano-components/packages/components/src/interface.d.ts"
924
+ "path": "/builds/Xi7NpFYo/0/Digital/nano-components/packages/components/src/interface.d.ts"
876
925
  }
877
926
  }
878
927
  }
@@ -895,7 +944,7 @@ export class DateInput {
895
944
  "references": {
896
945
  "ControlValidityEventDetail": {
897
946
  "location": "import",
898
- "path": "/builds/zfg2rJd-/0/Digital/nano-components/packages/components/src/interface.d.ts"
947
+ "path": "/builds/Xi7NpFYo/0/Digital/nano-components/packages/components/src/interface.d.ts"
899
948
  }
900
949
  }
901
950
  }
@@ -917,7 +966,7 @@ export class DateInput {
917
966
  },
918
967
  "ControlValidity": {
919
968
  "location": "import",
920
- "path": "/builds/zfg2rJd-/0/Digital/nano-components/packages/components/src/interface.d.ts"
969
+ "path": "/builds/Xi7NpFYo/0/Digital/nano-components/packages/components/src/interface.d.ts"
921
970
  }
922
971
  },
923
972
  "return": "Promise<ControlValidity>"
@@ -1 +1 @@
1
- {"version":3,"file":"date-input.js","sourceRoot":"","sources":["../../../src/components/date-input/date-input.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,OAAO,EACP,CAAC,EACD,IAAI,EACJ,KAAK,EACL,KAAK,EACL,KAAK,EAEL,IAAI,EACJ,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,UAAU,EAEV,YAAY,EACZ,YAAY,GACb,MAAM,wBAAwB,CAAC;AAWhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,UAAU,GAAG;EACjB,CAAC,EAAE,YAAY;EACf,CAAC,EAAE,YAAY;EACf,CAAC,EAAE,UAAU;CACd,CAAC;AAEF,IAAI,QAAQ,GAAG,CAAC,CAAC;AAEjB;;;;;GAKG;AAMH,MAAM,OAAO,SAAS;EALtB;IAYU,gBAAW,GAAG,KAAK,CAAC;IACpB,qBAAgB,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACxC,YAAO,GAAG,cAAc,QAAQ,EAAE,EAAE,CAAC;IAS7C,oBAAoB;IAEpB;;OAEG;IACK,eAAU,GAAY,IAAI,CAAC;IAEnC;;OAEG;IACK,qBAAgB,GAAkB;MACxC,IAAI,EAAE,SAAS;MACf,KAAK,EAAE,MAAM;MACb,GAAG,EAAE,SAAS;KACf,CAAC;IAEF;;OAEG;IACK,eAAU,GAAY,KAAK,CAAC;IAEpC;;OAEG;IACK,SAAI,GAAW,IAAI,CAAC,OAAO,CAAC;IAEpC;;OAEG;IACK,aAAQ,GAAG,KAAK,CAAC;IAwBzB;;OAEG;IACK,aAAQ,GAAG,KAAK,CAAC;IAOzB;;OAEG;IACK,cAAS,GAAG,KAAK,CAAC;IAE1B;;OAEG;IACK,eAAU,GAAG,KAAK,CAAC;IAa3B;;OAEG;IACqC,UAAK,GAAW,EAAE,CAAC;IAS3D;;OAEG;IACK,eAAU,GAA4C,QAAQ,CAAC;IAEvE;;OAEG;IACsB,oBAAe,GAAG,IAAI,CAAC;IAEhD;;;OAGG;IACK,cAAS,GAAkC,KAAK,CAAC;IAOzD;;OAEG;IACK,aAAQ,GAAG,KAAK,CAAC;IAczB;;OAEG;IACK,cAAS,GAAa,KAAK,CAAC;IAuCpC;;;;OAIG;IACK,WAAM,GAAY,IAAI,CAAC;IAQ/B;;OAEG;IACqC,eAAU,GAAY,KAAK,CAAC;IAOpE;;OAEG;IACK,qBAAgB,GAAY,IAAI,CAAC;IAoDzC,iBAAiB;IAET,kBAAa,GAAG,CAAC,CAAc,EAAE,EAAE;MACzC,CAAC,CAAC,eAAe,EAAE,CAAC;MACpB,IAAI,CAAC,QAAQ,CAAE,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC;IAEM,oBAAe,GAAG,CAAC,CAA0C,EAAE,EAAE;MACvE,CAAC,CAAC,eAAe,EAAE,CAAC;MACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QACrB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;QACzB,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY;QACnC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa;OACtC,CAAC,CAAC;IACL,CAAC,CAAC;IAEM,eAAU,GAAG,GAAG,EAAE;MACxB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC,CAAC;IAEM,iBAAY,GAAG,CAAC,CAAgC,EAAE,EAAE;MAC1D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;MACzB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;MAC5B,IAAI,IAAI,CAAC,gBAAgB;QAAE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IACrD,CAAC,CAAC;IAEM,mBAAc,GAAG,GAAG,EAAE;MAC5B,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;MAClD,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEM,mBAAc,GAAG,GAAG,EAAE;MAC5B,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;IACpD,CAAC,CAAC;IAEM,mBAAc,GAAG,GAAG,EAAE;MAC5B,IAAI,CAAC,IAAI,CAAC,UAAU;QAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IAC/C,CAAC,CAAC;IAEM,iBAAY,GAAG,GAAG,EAAE;MAC1B,IAAI,IAAI,CAAC,UAAU;QAAE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC/C,CAAC,CAAC;IAEM,mBAAc,GAAG,CAAC,CAAgB,EAAE,EAAE;MAC5C,kDAAkD;MAClD,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,QAAQ,EAAE;QACjC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAC,cAAc,EAAE,CAAC;OACpB;IACH,CAAC,CAAC;GA0LH;EA/YC,iBAAiB;IACf,IAAI,CAAC,IAAI,CAAC,WAAW;MAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5E,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;EAC3B,CAAC;EAmBD,qBAAqB;IACnB,IAAI,CAAC,cAAc,EAAE,CAAC;EACxB,CAAC;EA2BD,gBAAgB;IACd,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,GAAS,EACX,GAAS,EACT,KAAK,GAAW,EAAE,CAAC;IAErB,IAAI,IAAI,CAAC,KAAK,IAAI,SAAS,EAAE;MAC3B,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,SAAS,GAAG,GAAG,EAAE;QACjE,KAAK;UACH,0BAA0B;YAC1B,GAAG,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;OAC5D;WAAM,IACL,IAAI,CAAC,GAAG;QACR,CAAC,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,SAAS,GAAG,GAAG,EACf;QACA,KAAK;UACH,0BAA0B;YAC1B,GAAG,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;OAC5D;KACF;IAED,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;MACrB,IAAI,CAAC,IAAI,CAAC,KAAK;QAAE,OAAO;MACxB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;MACjD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,SAAS;QAAE,KAAK,GAAG,2BAA2B,CAAC;MAEzE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;MAC/B,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,OAAO,EAAE;QACrC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;OAC7B;IACH,CAAC,EAAE,GAAG,CAAC,CAAC;EACV,CAAC;EAqBD,sBAAsB;IACpB,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;EACvC,CAAC;EAoBD,UAAU;EAEV;;;;KAIG;EAEH,KAAK,CAAC,cAAc,CAAC,aAAsB;IACzC,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;EACxD,CAAC;EAED;;KAEG;EAEH,KAAK,CAAC,QAAQ;IACZ,IAAI,IAAI,CAAC,KAAK;MAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;EACxC,CAAC;EAED;;KAEG;EAEH,eAAe;IACb,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;EACtC,CAAC;EAED;;KAEG;EAEH,KAAK,CAAC,SAAS,CAAC,OAAe;IAC7B,IAAI,CAAC,IAAI,CAAC,KAAK;MAAE,OAAO;IACxB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;EAChC,CAAC;EAqDD,gBAAgB;EAEhB,8DAA8D;EACtD,cAAc;IACpB,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAC1B,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;MAC7C,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;MAC5C,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;MACpC,UAAU,CAAC,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO;MACnD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EAC5C,CAAC;EAED,oCAAoC;EAC5B,aAAa,CAAC,OAAe;IACnC,IAAI,gBAAgB,GAAG,EAAE,CAAC;IAC1B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACjC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAC5C,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,OAAO;MAAE,OAAO,EAAE,CAAC;IAExB,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EAC7B,CAAC;EAED,4EAA4E;EACpE,QAAQ,CAAC,UAAkB;IACjC,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAE3D,oDAAoD;IACpD,IAAI,CAAC,OAAO,EAAE;MACZ,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;MACxB,OAAO;KACR;IAED,IAAI,IAAI,GAAG,UAAU,CACnB,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,EACpC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,EACpC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CACrC,CAAC;IAEF,IAAI,CAAC,IAAI,EAAE;MACT,4DAA4D;MAC5D,IAAI,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;MAE5B,6EAA6E;MAC7E,IAAI,CAAC,IAAI,EAAE;QACT,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC;QACxB,OAAO;OACR;KACF;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;IACrB,OAAO,OAAO,CAAC;EACjB,CAAC;EAED,iBAAiB;IACf,IAAI,CAAC,cAAc,EAAE,CAAC;IACtB,IAAI,CAAC,iBAAiB,EAAE,CAAC;EAC3B,CAAC;EAED,gBAAgB;IACd,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,MAAM;MAAE,OAAO;IACjD,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;IACnD,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;EACxC,CAAC;EAED,MAAM;IACJ,IAAI,SAAS,GACV,IAAI,CAAC,IAAI,CAAC,aAA0B,CAAC,GAAG,KAAK,KAAK;MACjD,CAAC,CAAC,cAAc;MAChB,CAAC,CAAC,YAAY,CAAC;IACnB,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAEnE,OAAO,CACL,EAAC,IAAI,IAAC,KAAK,oBAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;MAC9C,WAAK,KAAK,EAAC,YAAY;QACrB,kBACE,KAAK,EAAC,mBAAmB,EACzB,IAAI,EAAC,SAAS,EACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS,EACpC,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EACT,IAAI,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAE7D,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS,EACpC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS,EAC9B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,SAAS,EACtC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,SAAS,EACxC,YAAY,EAAE,IAAI,CAAC,aAAa,EAChC,WAAW,EAAE,IAAI,CAAC,UAAU,EAC5B,cAAc,EAAE,IAAI,CAAC,eAAe,EACpC,IAAI,EAAC,EAAE,EACP,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,SAAS,EAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,SAAS,EAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,IAAI,CAAC,UAAU,EACtB,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,EACpC,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,SAAS;UAEpB,YAAM,IAAI,EAAC,OAAO,GAAG;UACpB,IAAI,CAAC,MAAM,IAAI;YACd,cACE,IAAI,EAAC,eAAe,EACpB,KAAK,EAAC,kBAAkB,EACxB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,cAAc,EAC5B,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,EAC1C,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;cAExC,iBAAW,IAAI,EAAC,oBAAoB,GAAa,CAC1C;YAET,qBACE,IAAI,EAAC,eAAe,EACpB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,IAAI,CAAC,cAAc,EAC/B,UAAU,EAAE,IAAI,CAAC,cAAc,EAC/B,WAAW,EAAC,eAAe,EAC3B,KAAK,EAAC,sBAAsB,EAC5B,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;cAE7C;gBACE,WAAK,KAAK,EAAC,uBAAuB;kBAChC,cACE,KAAK,EAAC,mBAAmB,EACzB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,SAAS,EAAE,IAAI,CAAC,cAAc,EAC9B,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC;oBAEzD,iBAAW,IAAI,EAAC,aAAa,GAAa;oBAC1C,YAAM,KAAK,EAAC,SAAS,mBAAoB,CAClC,CACL;gBACN,wBACE,gBAAgB,EAAE,IAAI,CAAC,YAAY,EACnC,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,SAAS,EAC1B,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,SAAS,cAChB,IAAI,EACd,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,EAC1C,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,YAAY,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,iBAAiB,EAClD,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS,GACZ,CAChB,CACQ;WACjB;UACA,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAC7D,YAAM,IAAI,EAAC,QAAQ;YACjB,YAAM,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;cAC3C,YAAM,IAAI,EAAC,QAAQ,GAAG,CACjB;YACN,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,SAAS,IAAI,CACjC,gBACG,SAAS,CAAC,kBAAkB,CAC3B,SAAS,EACT,IAAI,CAAC,gBAAgB,CACtB,CACI,CACR,CACI,CACR,CACU;QACb,aAAO,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,CACvD,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n ComponentInterface,\n Element,\n h,\n Prop,\n Watch,\n State,\n Event,\n EventEmitter,\n Host,\n Method,\n} from '@stencil/core';\nimport {\n createDate,\n DaysOfWeek,\n printISODate,\n parseISODate,\n} from '../../utils/date-utils';\n\nimport {\n PickerChangeEvent,\n DateInputChangeEventDetail,\n Color,\n LocalDateOpts,\n DuetLocalizedText,\n ControlValidity,\n ControlValidityEventDetail,\n} from '../../interface';\nimport { createColorClasses } from '../../utils';\n\nconst DateRegxps = {\n d: '(\\\\d{1,2})',\n m: '(\\\\d{1,2})',\n y: '(\\\\d{4})',\n};\n\nlet inputIds = 0;\n\n/**\n * The date-input component combines `nano-dropdown`, `nano-input` and `nano-date-picker` components to make a fully featured date form field. It has specific options for localisation, date formatting and validation.\n *\n * @slot label - if you do not set a label attribute, you can use this slot for more complex markup\n * @slot helper - helper text to accompany the form field underneath.\n */\n@Component({\n tag: 'nano-date-input',\n styleUrl: 'date-input.scss',\n scoped: true,\n})\nexport class DateInput implements ComponentInterface {\n private pickerEle!: HTMLNanoDatePickerElement;\n private trigger!: HTMLButtonElement;\n private pickerCloseBtn!: HTMLButtonElement;\n private dropdown!: HTMLNanoDropdownElement;\n private input: HTMLNanoInputElement;\n\n private directInput = false;\n private dateOrderIndeces = { d: 0, m: 1, y: 3 };\n private inputId = `nano-input-${inputIds++}`;\n\n @Element() host: HTMLNanoDateInputElement;\n\n // Private state\n\n @State() pattern!: string;\n @State() inputValue: string;\n\n // Public Api / Prop\n\n /**\n * Whether to show a long form, confirmation date string of the one currently entered\n */\n @Prop() helperText: boolean = true;\n\n /**\n * Options for the date string display. Refer to https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString.\n */\n @Prop() helperTextFormat: LocalDateOpts = {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n };\n\n /**\n * Enable floating label behaviour. Will disable placeholder if set.\n */\n @Prop() floatLabel: boolean = false;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.inputId;\n\n /**\n * If `true`, the user cannot modify the value.\n */\n @Prop() readonly = false;\n\n /**\n * The initial size (number of characters) of the control.\n */\n @Prop() size?: number;\n\n /**\n * The form element to associate the select with (its form owner). Must be the id of a form.\n */\n @Prop() form?: string | null;\n\n /**\n * Which day is considered first day of the week? `0` for Sunday, `1` for Monday, etc.\n * Default is Monday.\n */\n @Prop() firstDayOfWeek?: DaysOfWeek;\n\n /**\n * Button labels, day names, month names, etc, used for localization.\n * Default is English.\n */\n @Prop() localization?: DuetLocalizedText;\n\n /**\n * If `true`, the user cannot interact with the input.\n */\n @Prop() disabled = false;\n\n /**\n * The color to use from the application's color palette.\n */\n @Prop() color?: Color;\n\n /**\n * This Boolean attribute lets you specify that a form control should have input focus when the page loads.\n */\n @Prop() autofocus = false;\n\n /**\n * If `true`, a clear icon will appear in the input when there is a value. Clicking it clears the input.\n */\n @Prop() clearInput = false;\n\n /**\n * String to place within a label element. Alternatively you may use a label slot.\n */\n @Prop() label?: string;\n\n /**\n * Instructional text that shows before the input has a value.\n * The pattern prop will be used to create a placeholder automatically if unused.\n */\n @Prop({ mutable: true }) placeholder: string;\n\n /**\n * Current value. Must be in IS0-8601 format: YYYY-MM-DD.\n */\n @Prop({ reflect: true, mutable: true }) value: string = '';\n\n @Watch('value')\n handleValueChange() {\n if (!this.directInput) this.inputValue = this.formatIsoDate(this.value);\n this.nanoChange.emit({ value: this.value, date: parseISODate(this.value) });\n this.directInput = false;\n }\n\n /**\n * When should the field perform validation\n */\n @Prop() validateOn?: 'dirty' | 'submit' | 'submitThenDirty' = 'submit';\n\n /**\n * Whether to show validation errors underneath input\n */\n @Prop({ reflect: true }) showInlineError = true;\n\n /**\n * The order of the date parts for entry and display.\n * e.g. dmy = dd mm yyyy\n */\n @Prop() dateOrder: 'dmy' | 'mdy' | 'ymd' | 'dym' = 'dmy';\n\n @Watch('dateOrder')\n handleDateOrderChange() {\n this.setDatePattern();\n }\n\n /**\n * If `true`, the user must fill in a value before submitting a form.\n */\n @Prop() required = false;\n\n /**\n * Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\n * This setting can be used alone or together with the max property.\n */\n @Prop() min?: string;\n\n /**\n * Maximum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\n * This setting can be used alone or together with the min property.\n */\n @Prop() max?: string;\n\n /**\n * Visually hide the label - but make it accessible.\n */\n @Prop() hideLabel?: boolean = false;\n\n @Watch('min')\n @Watch('max')\n @Watch('value')\n testDateValidity() {\n const valueDate = parseISODate(this.value);\n let min: Date,\n max: Date,\n error: string = '';\n\n if (this.value && valueDate) {\n if (this.min && (min = parseISODate(this.min)) && valueDate < min) {\n error =\n 'Date below the minimum: ' +\n min.toLocaleDateString(undefined, this.helperTextFormat);\n } else if (\n this.max &&\n (max = parseISODate(this.max)) &&\n valueDate > max\n ) {\n error =\n 'Date above the maximum: ' +\n max.toLocaleDateString(undefined, this.helperTextFormat);\n }\n }\n\n setTimeout(async (_) => {\n if (!this.input) return;\n const input = await this.input.getInputElement();\n if (this.value.length && !valueDate) error = 'Please enter a valid date';\n\n input.setCustomValidity(error);\n if (this.input.validateOn === 'dirty') {\n this.input.showError(error);\n }\n }, 100);\n }\n\n /**\n * Show a date picker. Date pickers are not very useful\n * if the potential input is too far in the distance or past\n * e.g. Birthdays\n */\n @Prop() picker: boolean = true;\n\n /**\n * Initial picker date. Will be to `value` if set. Will be today's date if nothing set.\n * Must be in IS0-8601 format: YYYY-MM-DD.\n */\n @Prop() initialPickerDate?: string;\n\n /**\n * Set / read whether the picker is currently open.\n */\n @Prop({ reflect: true, mutable: true }) pickerOpen: boolean = false;\n\n @Watch('pickerOpen')\n handlePickerOpenChange() {\n this.dropdown.open = this.pickerOpen;\n }\n\n /**\n * Close the picker after a date is selected\n */\n @Prop() closeAfterPicked: boolean = true;\n\n // Event emitters\n\n /**\n * Event emitted when a date is selected.\n */\n @Event() nanoChange: EventEmitter<DateInputChangeEventDetail>;\n\n /**\n * Called when validation is performed (which depends on `validateOn`).\n * @returns event.detail: `{ isValid: boolean, errorMessage: string, originalEvent: Event }`.\n */\n @Event() nanoValidate: EventEmitter<ControlValidityEventDetail>;\n\n // Methods\n\n /**\n * Get the current state of the control.\n * @param validateFirst - perform validation first before reporting\n * @returns `{ isValid: boolean, errorMessage: string }`\n */\n @Method()\n async reportValidity(validateFirst: boolean): Promise<ControlValidity> {\n return await this.input.reportValidity(validateFirst);\n }\n\n /**\n * Sets focus on the child `nano-input`.\n */\n @Method()\n async setFocus() {\n if (this.input) this.input.setFocus();\n }\n\n /**\n * Returns the native `<input>` element used under the hood.\n */\n @Method()\n getInputElement(): Promise<HTMLInputElement | HTMLTextAreaElement> {\n return this.input.getInputElement();\n }\n\n /**\n * Invalidate the field and show a custom error message. To clear the error you will need to re-call this method with an empty string.\n */\n @Method()\n async showError(message: string) {\n if (!this.input) return;\n this.input.showError(message);\n }\n\n // Event handlers\n\n private onInputChange = (e: CustomEvent) => {\n e.stopPropagation();\n this.setValue((e.target as HTMLInputElement).value);\n };\n\n private onInputValidate = (e: CustomEvent<ControlValidityEventDetail>) => {\n e.stopPropagation();\n this.nanoValidate.emit({\n isValid: e.detail.isValid,\n errorMessage: e.detail.errorMessage,\n originalEvent: e.detail.originalEvent,\n });\n };\n\n private onInputKey = () => {\n this.directInput = true;\n };\n\n private onDatePicked = (e: { detail: PickerChangeEvent }) => {\n this.directInput = false;\n this.value = e.detail.value;\n if (this.closeAfterPicked) this.pickerOpen = false;\n };\n\n private onDropdownHide = () => {\n setTimeout((_) => (this.pickerOpen = false), 200);\n setTimeout((_) => this.trigger.focus(), 20);\n };\n\n private onDropdownShow = () => {\n setTimeout((_) => this.pickerEle.setFocus(), 200);\n };\n\n private onTriggerClick = () => {\n if (!this.pickerOpen) this.pickerOpen = true;\n };\n\n private onCloseClick = () => {\n if (this.pickerOpen) this.pickerOpen = false;\n };\n\n private onCloseKeyDown = (e: KeyboardEvent) => {\n // this ensures focus is trapped inside the picker\n if (e.key === 'Tab' && e.shiftKey) {\n this.pickerEle.setFocus(true);\n e.preventDefault();\n }\n };\n\n // Private logic\n\n // set the regexp input pattern and placeholder (if necessary)\n private setDatePattern() {\n let dateRegexOrdered = [];\n let dateStrOrd = [];\n Array.from(this.dateOrder).map((datepart, i) => {\n dateRegexOrdered.push(DateRegxps[datepart]);\n this.dateOrderIndeces[datepart] = i;\n dateStrOrd.push(datepart === 'y' ? 'yyyy' : datepart + datepart);\n });\n this.pattern = dateRegexOrdered.join('\\\\W+');\n if (!this.placeholder && this.placeholder !== 'false')\n this.placeholder = dateStrOrd.join(' ');\n }\n\n // set the public facing date string\n private formatIsoDate(isoDate: string) {\n let dateRegexOrdered = [];\n Array.from('ymd').map((datepart) =>\n dateRegexOrdered.push(DateRegxps[datepart])\n );\n const matches = isoDate.match(new RegExp(dateRegexOrdered.join('\\\\W+')));\n if (!matches) return '';\n\n let formatted = [];\n formatted.splice(this.dateOrderIndeces.d, 0, matches[3]);\n formatted.splice(this.dateOrderIndeces.m, 0, matches[2]);\n formatted.splice(this.dateOrderIndeces.y, 0, matches[1]);\n return formatted.join(' ');\n }\n\n // on manual user entry, set the value that will be sent with the form field\n private setValue(inputValue: string) {\n const matches = inputValue.match(new RegExp(this.pattern));\n\n // it's an invalid date, but we still need to set it\n if (!matches) {\n this.value = inputValue;\n return;\n }\n\n let date = createDate(\n matches[this.dateOrderIndeces.y + 1],\n matches[this.dateOrderIndeces.m + 1],\n matches[this.dateOrderIndeces.d + 1]\n );\n\n if (!date) {\n // last ditch attempt - see if the browser can get something\n date = new Date(inputValue);\n\n // it's definitely an invalid date, but set it anyway for validation messages\n if (!date) {\n this.value = inputValue;\n return;\n }\n }\n\n const dateStr = printISODate(date);\n this.value = dateStr;\n return dateStr;\n }\n\n connectedCallback() {\n this.setDatePattern();\n this.handleValueChange();\n }\n\n componentDidLoad() {\n if (!this.pickerCloseBtn || !this.picker) return;\n this.pickerEle.firstFocusEle = this.pickerCloseBtn;\n this.dropdown.tetherTo = this.trigger;\n }\n\n render() {\n let placement: 'bottom-start' | 'bottom-end' =\n (this.host.ownerDocument as Document).dir === 'rtl'\n ? 'bottom-start'\n : 'bottom-end';\n const valueDate = parseISODate(this.value);\n const hasHelperSlot = !!this.host.querySelector('[slot=\"helper\"]');\n\n return (\n <Host class={{ ...createColorClasses(this.color) }}>\n <div class=\"date-field\">\n <nano-input\n class=\"date-field__input\"\n slot=\"trigger\"\n required={this.required || undefined}\n showInlineError={this.showInlineError}\n validateOn={this.validateOn}\n placeholder={\n this.placeholder !== 'false' ? this.placeholder : undefined\n }\n pattern={this.pattern}\n label={this.label}\n disabled={this.disabled || undefined}\n color={this.color || undefined}\n autofocus={this.autofocus || undefined}\n clearInput={this.clearInput || undefined}\n onNanoChange={this.onInputChange}\n onNanoInput={this.onInputKey}\n onNanoValidate={this.onInputValidate}\n name=\"\"\n form={this.form || undefined}\n size={this.size || undefined}\n readonly={this.readonly}\n value={this.inputValue}\n ref={(input) => (this.input = input)}\n floatLabel={this.floatLabel}\n hideLabel={this.hideLabel}\n inputmode={'numeric'}\n >\n <slot name=\"label\" />\n {this.picker && [\n <button\n slot=\"inline-button\"\n class=\"date-field__open\"\n type=\"button\"\n onClick={this.onTriggerClick}\n ref={(trigger) => (this.trigger = trigger)}\n disabled={this.disabled || this.readonly}\n >\n <nano-icon name=\"light/calendar-alt\"></nano-icon>\n </button>,\n\n <nano-dropdown\n slot=\"inline-button\"\n placement={placement}\n onNanoHide={this.onDropdownHide}\n onNanoShow={this.onDropdownShow}\n dialogTitle=\"Choose a date\"\n class=\"date-field__dropdown\"\n ref={(dropdown) => (this.dropdown = dropdown)}\n >\n <div>\n <div class=\"date-field__close-bar\">\n <button\n class=\"date-field__close\"\n type=\"button\"\n onClick={this.onCloseClick}\n onKeyDown={this.onCloseKeyDown}\n ref={(pickerClose) => (this.pickerCloseBtn = pickerClose)}\n >\n <nano-icon name=\"light/times\"></nano-icon>\n <span class=\"vhidden\">Close window</span>\n </button>\n </div>\n <nano-date-picker\n onNanoDatePicked={this.onDatePicked}\n min={this.min || undefined}\n max={this.max || undefined}\n is-modal={true}\n ref={(picker) => (this.pickerEle = picker)}\n localization={this.localization}\n selectedDate={this.value || this.initialPickerDate}\n firstDayOfWeek={this.firstDayOfWeek}\n color={this.color || undefined}\n ></nano-date-picker>\n </div>\n </nano-dropdown>,\n ]}\n {(hasHelperSlot || this.helperText || this.showInlineError) && (\n <span slot=\"helper\">\n <span class={{ vhidden: !!this.value.length }}>\n <slot name=\"helper\" />\n </span>\n {this.helperText && !!valueDate && (\n <span>\n {valueDate.toLocaleDateString(\n undefined,\n this.helperTextFormat\n )}\n </span>\n )}\n </span>\n )}\n </nano-input>\n <input type=\"hidden\" value={this.value} name={this.name} />\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"date-input.js","sourceRoot":"","sources":["../../../src/components/date-input/date-input.tsx"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n ComponentInterface,\n Element,\n h,\n Prop,\n Watch,\n State,\n Event,\n EventEmitter,\n Host,\n Method,\n} from '@stencil/core';\nimport {\n createDate,\n DaysOfWeek,\n printISODate,\n parseISODate,\n} from '../../utils/date-utils';\n\nimport {\n PickerChangeEvent,\n DateInputChangeEventDetail,\n Color,\n LocalDateOpts,\n DuetLocalizedText,\n ControlValidity,\n ControlValidityEventDetail,\n} from '../../interface';\nimport { createColorClasses } from '../../utils';\n\nconst DateRegxps = {\n d: '(\\\\d{1,2})',\n m: '(\\\\d{1,2})',\n y: '(\\\\d{4})',\n};\n\nlet inputIds = 0;\n\n/**\n * The date-input component combines `nano-dropdown`, `nano-input` and `nano-date-picker` components to make a fully featured date form field. It has specific options for localisation, date formatting and validation.\n *\n * @slot label - if you do not set a label attribute, you can use this slot for more complex markup\n * @slot helper - helper text to accompany the form field underneath.\n */\n@Component({\n tag: 'nano-date-input',\n styleUrl: 'date-input.scss',\n scoped: true,\n})\nexport class DateInput implements ComponentInterface {\n private pickerEle!: HTMLNanoDatePickerElement;\n private trigger!: HTMLButtonElement;\n private pickerCloseBtn!: HTMLButtonElement;\n private dropdown!: HTMLNanoDropdownElement;\n private input: HTMLNanoInputElement;\n private pickerOpenSource: 'key' | 'mouse';\n\n private directInput = false;\n private dateOrderIndeces = { d: 0, m: 1, y: 3 };\n private inputId = `nano-input-${inputIds++}`;\n private locale =\n (window.navigator.languages as string[]) ||\n window.navigator.language ||\n undefined;\n\n @Element() host: HTMLNanoDateInputElement;\n\n // Private state\n\n @State() pattern!: string;\n @State() inputValue: string;\n\n // Public Api / Prop\n\n /**\n * This will be true when the control is in an invalid state.\n * Validity is determined by the `required` prop. Or if custom validity message is set. @readonly\n */\n @Prop({ reflect: true })\n get invalid() {\n return this._invalid;\n }\n @State() _invalid = false;\n\n /**\n * Whether to show a long form, confirmation date string of the one currently entered\n */\n @Prop() helperText: boolean = true;\n\n /**\n * Options for the date string display. Refer to https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString.\n */\n @Prop() helperTextFormat: LocalDateOpts = {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n };\n\n /**\n * Enable floating label behaviour. Will disable placeholder if set.\n */\n @Prop() floatLabel: boolean = false;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.inputId;\n\n /**\n * If `true`, the user cannot modify the value.\n */\n @Prop() readonly = false;\n\n /**\n * The initial size (number of characters) of the control.\n */\n @Prop() size?: number;\n\n /**\n * The form element to associate the select with (its form owner). Must be the id of a form.\n */\n @Prop() form?: string | null;\n\n /**\n * Which day is considered first day of the week? `0` for Sunday, `1` for Monday, etc.\n * Default is Monday.\n */\n @Prop() firstDayOfWeek?: DaysOfWeek;\n\n /**\n * Button labels, day names, month names, etc, used for localization.\n * Default is English.\n */\n @Prop() localization?: DuetLocalizedText;\n\n /**\n * If `true`, the user cannot interact with the input.\n */\n @Prop() disabled = false;\n\n /**\n * The color to use from the application's color palette.\n */\n @Prop() color?: Color;\n\n /**\n * This Boolean attribute lets you specify that a form control should have input focus when the page loads.\n */\n @Prop() autofocus = false;\n\n /**\n * If `true`, a clear icon will appear in the input when there is a value. Clicking it clears the input.\n */\n @Prop() clearInput = false;\n\n /**\n * String to place within a label element. Alternatively you may use a label slot.\n */\n @Prop() label?: string;\n\n /**\n * Instructional text that shows before the input has a value.\n * The pattern prop will be used to create a placeholder automatically if unused.\n */\n @Prop({ mutable: true }) placeholder: string;\n\n /**\n * Current value. Must be in IS0-8601 format: YYYY-MM-DD.\n */\n @Prop({ reflect: true, mutable: true }) value: string = '';\n\n @Watch('value')\n handleValueChange() {\n if (!this.directInput) this.inputValue = this.formatIsoDate(this.value);\n this.nanoChange.emit({ value: this.value, date: parseISODate(this.value) });\n this.directInput = false;\n }\n\n /**\n * When should the field perform validation\n */\n @Prop() validateOn?: 'dirty' | 'submit' | 'submitThenDirty' = 'submit';\n\n /**\n * Whether to show validation errors underneath input\n */\n @Prop({ reflect: true }) showInlineError = true;\n\n /**\n * The order of the date parts for entry and display.\n * e.g. dmy = dd mm yyyy\n */\n @Prop() dateOrder: 'dmy' | 'mdy' | 'ymd' | 'dym' = 'dmy';\n\n @Watch('dateOrder')\n handleDateOrderChange() {\n this.setDatePattern();\n }\n\n /**\n * If `true`, the user must fill in a value before submitting a form.\n */\n @Prop() required = false;\n\n /**\n * Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\n * This setting can be used alone or together with the max property.\n */\n @Prop() min?: string;\n\n /**\n * Maximum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\n * This setting can be used alone or together with the min property.\n */\n @Prop() max?: string;\n\n /**\n * Visually hide the label - but make it accessible.\n */\n @Prop() hideLabel?: boolean = false;\n\n @Watch('min')\n @Watch('max')\n @Watch('value')\n testDateValidity() {\n const valueDate = parseISODate(this.value);\n let min: Date,\n max: Date,\n error: string = '';\n\n if (this.value && valueDate) {\n if (this.min && (min = parseISODate(this.min)) && valueDate < min) {\n error =\n 'Date below the minimum: ' +\n min.toLocaleDateString(this.locale, this.helperTextFormat);\n } else if (\n this.max &&\n (max = parseISODate(this.max)) &&\n valueDate > max\n ) {\n error =\n 'Date above the maximum: ' +\n max.toLocaleDateString(this.locale, this.helperTextFormat);\n }\n }\n\n setTimeout(async (_) => {\n if (!this.input) return;\n const input = await this.input.getInputElement();\n if (this.value.length && !valueDate) error = 'Please enter a valid date';\n\n input.setCustomValidity(error);\n if (this.input.validateOn === 'dirty') {\n this.input.showError(error);\n }\n }, 100);\n }\n\n /**\n * Show a date picker. Date pickers are not very useful\n * if the potential input is too far in the distance or past\n * e.g. Birthdays\n */\n @Prop() picker: boolean = true;\n\n /**\n * Initial picker date. Will be to `value` if set. Will be today's date if nothing set.\n * Must be in IS0-8601 format: YYYY-MM-DD.\n */\n @Prop() initialPickerDate?: string;\n\n /**\n * Set / read whether the picker is currently open.\n */\n @Prop({ reflect: true, mutable: true }) pickerOpen: boolean = false;\n\n @Watch('pickerOpen')\n handlePickerOpenChange() {\n this.dropdown.open = this.pickerOpen;\n }\n\n /**\n * Close the picker after a date is selected\n */\n @Prop() closeAfterPicked: boolean = true;\n\n // Event emitters\n\n /**\n * Event emitted when a date is selected.\n */\n @Event() nanoChange: EventEmitter<DateInputChangeEventDetail>;\n\n /**\n * Called when validation is performed (which depends on `validateOn`).\n * @returns event.detail: `{ isValid: boolean, errorMessage: string, originalEvent: Event }`.\n */\n @Event() nanoValidate: EventEmitter<ControlValidityEventDetail>;\n\n // Methods\n\n /**\n * Get the current state of the control.\n * @param validateFirst - perform validation first before reporting\n * @returns `{ isValid: boolean, errorMessage: string }`\n */\n @Method()\n async reportValidity(validateFirst: boolean): Promise<ControlValidity> {\n return await this.input.reportValidity(validateFirst);\n }\n\n /**\n * Sets focus on the child `nano-input`.\n */\n @Method()\n async setFocus() {\n if (this.input) this.input.setFocus();\n }\n\n /**\n * Returns the native `<input>` element used under the hood.\n */\n @Method()\n async getInputElement() {\n return await this.input.getInputElement();\n }\n\n /**\n * Invalidate the field and show a custom error message. To clear the error you will need to re-call this method with an empty string.\n */\n @Method()\n async showError(message: string) {\n if (!this.input) return;\n this.input.showError(message);\n }\n\n // Event handlers\n\n private onInputChange = (\n e: CustomEvent & {\n target: HTMLInputElement;\n }\n ) => {\n e.stopPropagation();\n this.setValue(e.target.value);\n };\n\n private onInputValidate = (e: CustomEvent<ControlValidityEventDetail>) => {\n e.stopPropagation();\n this._invalid = !e.detail.isValid;\n this.nanoValidate.emit({\n isValid: e.detail.isValid,\n errorMessage: e.detail.errorMessage,\n originalEvent: e.detail.originalEvent,\n });\n };\n\n private onInputKey = () => {\n this.directInput = true;\n };\n\n private onDatePicked = (e: { detail: PickerChangeEvent }) => {\n this.directInput = false;\n this.value = e.detail.value;\n if (this.closeAfterPicked) this.pickerOpen = false;\n };\n\n private onDropdownHide = () => {\n setTimeout((_) => (this.pickerOpen = false), 200);\n setTimeout((_) => this.trigger.focus(), 20);\n };\n\n private onDropdownShow = () => {\n setTimeout((_) => {\n this.pickerEle.setFocus(false, this.pickerOpenSource === 'key');\n this.pickerOpenSource = null;\n }, 200);\n };\n\n private onTriggerClick = () => {\n if (!this.pickerOpen) {\n this.pickerOpen = true;\n this.pickerOpenSource = 'mouse';\n }\n };\n\n private onTriggerKey = (e: KeyboardEvent) => {\n if ([' ', 'Enter'].includes(e.key)) {\n if (!this.pickerOpen) {\n this.pickerOpen = true;\n this.pickerOpenSource = 'key';\n }\n }\n };\n\n private onCloseClick = () => {\n if (this.pickerOpen) this.pickerOpen = false;\n };\n\n private onCloseKeyDown = (e: KeyboardEvent) => {\n // this ensures focus is trapped inside the picker\n if (e.key === 'Tab' && e.shiftKey) {\n this.pickerEle.setFocus(true);\n e.preventDefault();\n }\n };\n\n // Private logic\n\n // set the regexp input pattern and placeholder (if necessary)\n private setDatePattern() {\n let dateRegexOrdered = [];\n let dateStrOrd = [];\n Array.from(this.dateOrder).map((datepart, i) => {\n dateRegexOrdered.push(DateRegxps[datepart]);\n this.dateOrderIndeces[datepart] = i;\n dateStrOrd.push(datepart === 'y' ? 'yyyy' : datepart + datepart);\n });\n this.pattern = dateRegexOrdered.join('\\\\W+');\n\n if (!this.placeholder && this.placeholder !== 'false')\n this.placeholder = dateStrOrd.join(' ');\n }\n\n // set the public facing date string\n private formatIsoDate(isoDate: string) {\n let dateRegexOrdered = [];\n Array.from('ymd').map((datepart) =>\n dateRegexOrdered.push(DateRegxps[datepart])\n );\n const matches = isoDate.match(new RegExp(dateRegexOrdered.join('\\\\W+')));\n if (!matches) return '';\n\n let formatted = [];\n formatted[this.dateOrderIndeces.d] = matches[3];\n formatted[this.dateOrderIndeces.m] = matches[2];\n formatted[this.dateOrderIndeces.y] = matches[1];\n\n return formatted.join(' ');\n }\n\n // on manual user entry, set the value that will be sent with the form field\n private setValue(inputValue: string) {\n const matches = inputValue.match(new RegExp(this.pattern));\n\n // it's an invalid date, but we still need to set it\n if (!matches) {\n this.value = inputValue;\n return;\n }\n\n let date = createDate(\n matches[this.dateOrderIndeces.y + 1],\n matches[this.dateOrderIndeces.m + 1],\n matches[this.dateOrderIndeces.d + 1]\n );\n\n if (!date) {\n // last ditch attempt - see if the browser can get something\n date = new Date(inputValue);\n\n // it's definitely an invalid date, but set it anyway for validation messages\n if (!date) {\n this.value = inputValue;\n return;\n }\n }\n\n const dateStr = printISODate(date);\n this.value = dateStr;\n return dateStr;\n }\n\n connectedCallback() {\n this.setDatePattern();\n this.handleValueChange();\n }\n\n componentDidLoad() {\n if (!this.pickerCloseBtn || !this.picker) return;\n this.pickerEle.firstFocusEle = this.pickerCloseBtn;\n this.dropdown.tetherTo = this.trigger;\n setTimeout((_) => this.handlePickerOpenChange(), 300);\n }\n\n render() {\n this.locale =\n (navigator.languages as string[]) || navigator.language || undefined;\n let placement: 'bottom-start' | 'bottom-end' =\n (this.host.ownerDocument as Document).dir === 'rtl'\n ? 'bottom-start'\n : 'bottom-end';\n const valueDate = parseISODate(this.value);\n const hasHelperSlot = !!this.host.querySelector('[slot=\"helper\"]');\n\n return (\n <Host class={{ ...createColorClasses(this.color) }}>\n <div class=\"date-field\">\n <nano-input\n class=\"date-field__input\"\n slot=\"trigger\"\n required={this.required || undefined}\n showInlineError={this.showInlineError}\n validateOn={this.validateOn}\n placeholder={\n this.placeholder !== 'false' ? this.placeholder : undefined\n }\n pattern={this.pattern}\n label={this.label}\n disabled={this.disabled || undefined}\n color={this.color || undefined}\n autofocus={this.autofocus || undefined}\n clearInput={this.clearInput || undefined}\n onNanoChange={this.onInputChange}\n onNanoInput={this.onInputKey}\n onNanoValidate={this.onInputValidate}\n name=\"\"\n form={this.form || undefined}\n size={this.size || undefined}\n readonly={this.readonly}\n value={this.inputValue}\n ref={(input) => (this.input = input)}\n floatLabel={this.floatLabel}\n hideLabel={this.hideLabel}\n inputmode={'numeric'}\n >\n <slot name=\"label\" />\n {this.picker && [\n <button\n slot=\"inline-button\"\n class=\"date-field__open\"\n type=\"button\"\n onKeyDown={this.onTriggerKey}\n onClick={this.onTriggerClick}\n ref={(trigger) => (this.trigger = trigger)}\n disabled={this.disabled || this.readonly}\n >\n <nano-icon name=\"light/calendar-alt\"></nano-icon>\n </button>,\n\n <nano-dropdown\n slot=\"inline-button\"\n placement={placement}\n onNanoHide={this.onDropdownHide}\n onNanoShow={this.onDropdownShow}\n dialogTitle=\"Choose a date\"\n class=\"date-field__dropdown\"\n ref={(dropdown) => (this.dropdown = dropdown)}\n >\n <div>\n <div class=\"date-field__close-bar\">\n <button\n class=\"date-field__close\"\n type=\"button\"\n onMouseDown={this.onCloseClick}\n onKeyDown={this.onCloseKeyDown}\n ref={(pickerClose) => (this.pickerCloseBtn = pickerClose)}\n >\n <nano-icon name=\"light/times\"></nano-icon>\n <span class=\"vhidden\">Close window</span>\n </button>\n </div>\n <nano-date-picker\n onNanoDatePicked={this.onDatePicked}\n min={this.min || undefined}\n max={this.max || undefined}\n is-modal={true}\n ref={(picker) => (this.pickerEle = picker)}\n localization={this.localization}\n selectedDate={this.value || this.initialPickerDate}\n firstDayOfWeek={this.firstDayOfWeek}\n color={this.color || undefined}\n ></nano-date-picker>\n </div>\n </nano-dropdown>,\n ]}\n {(hasHelperSlot || this.helperText || this.showInlineError) && (\n <span slot=\"helper\">\n <span class={{ vhidden: !!this.value.length }}>\n <slot name=\"helper\" />\n </span>\n {this.helperText && !!valueDate && (\n <span>\n {valueDate.toLocaleDateString(\n this.locale,\n this.helperTextFormat\n )}\n </span>\n )}\n </span>\n )}\n </nano-input>\n <input type=\"hidden\" value={this.value} name={this.name} />\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -10,13 +10,13 @@
10
10
  :host {
11
11
  /**
12
12
  * @prop --background: defaults to var(--nano-layer-bg, #fff)
13
- * @prop --active-color: defaults to var(--nano-color-base, var(--nano-color-primary, #0084a9))
13
+ * @prop --active-color: defaults to var(--nano-color-base, var(--nano-color-primary, #007495))
14
14
  * @prop --active-text-color: defaults to var(--nano-color-contrast, var(--nano-color-primary-contrast, #fff))
15
15
  * @prop --focus-shadow: defaults to var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)))
16
16
  * @prop --inactive-color: defaults to var(--nano-button-color, #f0efed)
17
17
  */
18
18
  --background: var(--nano-layer-bg, #fff);
19
- --active-color: var(--nano-color-base, var(--nano-color-primary, #0084a9));
19
+ --active-color: var(--nano-color-base, var(--nano-color-primary, #007495));
20
20
  --active-text-color:
21
21
  var(
22
22
  --nano-color-contrast,
@@ -29,7 +29,7 @@
29
29
  }
30
30
 
31
31
  :host(.nano-color) {
32
- --active-color: var(--nano-color-base, var(--nano-color-primary, #0084a9));
32
+ --active-color: var(--nano-color-base, var(--nano-color-primary, #007495));
33
33
  --active-text-color: var(--nano-color-contrast);
34
34
  --focus-shadow: 0 0 0 0.1875rem rgba(var(--nano-color-tint-rgb), 0.56);
35
35
  }
@@ -252,6 +252,17 @@
252
252
  .duet-date__select span {
253
253
  margin-right: 4px;
254
254
  }
255
+ @supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0) {
256
+ .duet-date__select span {
257
+ margin-right: unset;
258
+ /* autoprefixer: ignore next */
259
+ /* autoprefixer: ignore next */
260
+ /* autoprefixer: ignore next */
261
+ -webkit-margin-end: 4px;
262
+ /* autoprefixer: ignore next */
263
+ margin-inline-end: 4px;
264
+ }
265
+ }
255
266
  .duet-date__select select {
256
267
  cursor: pointer;
257
268
  font-size: 1em;
@@ -263,7 +274,7 @@
263
274
  width: 100%;
264
275
  z-index: 2;
265
276
  }
266
- .duet-date__select select:focus + .duet-date__select-label {
277
+ .duet-date__select select.focus-visible:focus + .duet-date__select-label {
267
278
  -webkit-box-shadow: var(--focus-shadow);
268
279
  box-shadow: var(--focus-shadow);
269
280
  }