@nova-design-system/nova-webcomponents 3.5.0 → 3.6.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 (442) hide show
  1. package/dist/cjs/{timeline.animation-dbb9c5ea.js → collapse.animation-a129dc3f.js} +5 -26
  2. package/dist/cjs/collapse.animation-a129dc3f.js.map +1 -0
  3. package/dist/cjs/fade.animation-644b5c4d.js +70 -0
  4. package/dist/cjs/fade.animation-644b5c4d.js.map +1 -0
  5. package/dist/cjs/{grow.animation-a1f0bc22.js → grow.animation-6d003803.js} +5 -5
  6. package/dist/cjs/{grow.animation-a1f0bc22.js.map → grow.animation-6d003803.js.map} +1 -1
  7. package/dist/cjs/index-c56424e5.js +8 -0
  8. package/dist/cjs/index.cjs.js +6 -4
  9. package/dist/cjs/index.cjs.js.map +1 -1
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/cjs/native.cjs.js +1 -1
  12. package/dist/cjs/nv-accordion-item.cjs.entry.js +181 -0
  13. package/dist/cjs/nv-accordion-item.cjs.entry.js.map +1 -0
  14. package/dist/cjs/nv-accordion.cjs.entry.js +194 -0
  15. package/dist/cjs/nv-accordion.cjs.entry.js.map +1 -0
  16. package/dist/cjs/nv-alert.cjs.entry.js +6 -4
  17. package/dist/cjs/nv-alert.cjs.entry.js.map +1 -1
  18. package/dist/cjs/nv-avatar.cjs.entry.js +1 -1
  19. package/dist/cjs/nv-badge_2.cjs.entry.js +9 -7
  20. package/dist/cjs/nv-badge_2.cjs.entry.js.map +1 -1
  21. package/dist/cjs/nv-breadcrumb.cjs.entry.js +1 -1
  22. package/dist/cjs/nv-breadcrumbs.cjs.entry.js +1 -1
  23. package/dist/cjs/nv-button.cjs.entry.js +1 -1
  24. package/dist/cjs/nv-calendar.cjs.entry.js +59 -50
  25. package/dist/cjs/nv-calendar.cjs.entry.js.map +1 -1
  26. package/dist/cjs/nv-col.cjs.entry.js +1 -1
  27. package/dist/cjs/nv-datagrid.cjs.entry.js +2 -2
  28. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +1 -1
  29. package/dist/cjs/nv-dialog.cjs.entry.js +19 -6
  30. package/dist/cjs/nv-dialog.cjs.entry.js.map +1 -1
  31. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +2 -2
  32. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +4 -4
  33. package/dist/cjs/nv-fielddate.cjs.entry.js +100 -35
  34. package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
  35. package/dist/cjs/nv-fielddaterange.cjs.entry.js +4 -4
  36. package/dist/cjs/nv-fielddropdown.cjs.entry.js +3 -3
  37. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
  38. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +85 -100
  39. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
  40. package/dist/cjs/nv-fieldnumber.cjs.entry.js +3 -3
  41. package/dist/cjs/nv-fieldpassword.cjs.entry.js +3 -3
  42. package/dist/cjs/nv-fieldradio.cjs.entry.js +3 -3
  43. package/dist/cjs/nv-fieldselect.cjs.entry.js +5 -5
  44. package/dist/cjs/nv-fieldslider.cjs.entry.js +53 -9
  45. package/dist/cjs/nv-fieldslider.cjs.entry.js.map +1 -1
  46. package/dist/cjs/nv-fieldtext.cjs.entry.js +3 -3
  47. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +3 -3
  48. package/dist/cjs/nv-fieldtime.cjs.entry.js +9 -9
  49. package/dist/cjs/nv-icon.cjs.entry.js +1 -1
  50. package/dist/cjs/nv-iconbutton_2.cjs.entry.js +2 -2
  51. package/dist/cjs/nv-menu.cjs.entry.js +1 -1
  52. package/dist/cjs/nv-menuitem.cjs.entry.js +1 -1
  53. package/dist/cjs/nv-popover.cjs.entry.js +4 -3
  54. package/dist/cjs/nv-popover.cjs.entry.js.map +1 -1
  55. package/dist/cjs/nv-row.cjs.entry.js +1 -1
  56. package/dist/cjs/nv-stack.cjs.entry.js +1 -1
  57. package/dist/cjs/nv-table.cjs.entry.js +2 -2
  58. package/dist/cjs/nv-toggle.cjs.entry.js +2 -2
  59. package/dist/cjs/nv-tooltip.cjs.entry.js +3 -2
  60. package/dist/cjs/nv-tooltip.cjs.entry.js.map +1 -1
  61. package/dist/cjs/{fade.animation-0d33d198.js → stylefire.es-717e022a.js} +1 -65
  62. package/dist/cjs/stylefire.es-717e022a.js.map +1 -0
  63. package/dist/cjs/timeline.animation-155e8839.js +25 -0
  64. package/dist/cjs/timeline.animation-155e8839.js.map +1 -0
  65. package/dist/collection/collection-manifest.json +2 -0
  66. package/dist/collection/components/nv-accordion/nv-accordion.docs.js +146 -0
  67. package/dist/collection/components/nv-accordion/nv-accordion.docs.js.map +1 -0
  68. package/dist/collection/components/nv-accordion/nv-accordion.js +342 -0
  69. package/dist/collection/components/nv-accordion/nv-accordion.js.map +1 -0
  70. package/dist/collection/components/nv-accordion/styles/nv-accordion.css +15 -0
  71. package/dist/collection/components/nv-accordion-item/nv-accordion-item.docs.js +6 -0
  72. package/dist/collection/components/nv-accordion-item/nv-accordion-item.docs.js.map +1 -0
  73. package/dist/collection/components/nv-accordion-item/nv-accordion-item.js +353 -0
  74. package/dist/collection/components/nv-accordion-item/nv-accordion-item.js.map +1 -0
  75. package/dist/collection/components/nv-accordion-item/styles/nv-accordion-item.css +66 -0
  76. package/dist/collection/components/nv-alert/nv-alert.js +1 -1
  77. package/dist/collection/components/nv-avatar/nv-avatar.js +1 -1
  78. package/dist/collection/components/nv-badge/nv-badge.js +2 -2
  79. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js +1 -1
  80. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js +1 -1
  81. package/dist/collection/components/nv-button/nv-button.js +1 -1
  82. package/dist/collection/components/nv-calendar/nv-calendar.css +5 -0
  83. package/dist/collection/components/nv-calendar/nv-calendar.js +55 -27
  84. package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -1
  85. package/dist/collection/components/nv-calendar/nv-calendar.utils.js +0 -20
  86. package/dist/collection/components/nv-calendar/nv-calendar.utils.js.map +1 -1
  87. package/dist/collection/components/nv-calendar/partials/calendar-grid.js +3 -2
  88. package/dist/collection/components/nv-calendar/partials/calendar-grid.js.map +1 -1
  89. package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js +5 -31
  90. package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js.map +1 -1
  91. package/dist/collection/components/nv-col/nv-col.js +1 -1
  92. package/dist/collection/components/nv-datagrid/nv-datagrid.js +2 -2
  93. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +1 -1
  94. package/dist/collection/components/nv-dialog/nv-dialog.css +1 -1
  95. package/dist/collection/components/nv-dialog/nv-dialog.js +38 -5
  96. package/dist/collection/components/nv-dialog/nv-dialog.js.map +1 -1
  97. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js +1 -1
  98. package/dist/collection/components/nv-dialogheader/nv-dialogheader.js +1 -1
  99. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +4 -4
  100. package/dist/collection/components/nv-fielddate/nv-fielddate.js +102 -34
  101. package/dist/collection/components/nv-fielddate/nv-fielddate.js.map +1 -1
  102. package/dist/collection/components/nv-fielddate/styles/nv-fielddate.css +2 -0
  103. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +4 -4
  104. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +3 -3
  105. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +1 -1
  106. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +1 -1
  107. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +36 -26
  108. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js.map +1 -1
  109. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +117 -115
  110. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
  111. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +3 -3
  112. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +3 -3
  113. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
  114. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +5 -5
  115. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +3 -3
  116. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js.map +1 -1
  117. package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js +45 -1
  118. package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js.map +1 -1
  119. package/dist/collection/components/nv-fieldslider/partials/range-thumb.js +4 -4
  120. package/dist/collection/components/nv-fieldslider/partials/range-thumb.js.map +1 -1
  121. package/dist/collection/components/nv-fieldslider/partials/single-thumb.js +3 -3
  122. package/dist/collection/components/nv-fieldslider/partials/single-thumb.js.map +1 -1
  123. package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js +42 -1
  124. package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js.map +1 -1
  125. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +3 -3
  126. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -3
  127. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +9 -9
  128. package/dist/collection/components/nv-icon/nv-icon.js +1 -1
  129. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
  130. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  131. package/dist/collection/components/nv-menu/nv-menu.js +1 -1
  132. package/dist/collection/components/nv-menuitem/nv-menuitem.js +1 -1
  133. package/dist/collection/components/nv-popover/nv-popover.js +1 -1
  134. package/dist/collection/components/nv-row/nv-row.js +1 -1
  135. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  136. package/dist/collection/components/nv-table/nv-table.js +2 -2
  137. package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
  138. package/dist/collection/components/nv-tooltip/nv-tooltip.js +21 -3
  139. package/dist/collection/components/nv-tooltip/nv-tooltip.js.map +1 -1
  140. package/dist/components/index.js +4 -3
  141. package/dist/components/index.js.map +1 -1
  142. package/dist/components/nv-accordion-item.d.ts +11 -0
  143. package/dist/components/nv-accordion-item.js +8 -0
  144. package/dist/components/nv-accordion-item.js.map +1 -0
  145. package/dist/components/nv-accordion.d.ts +11 -0
  146. package/dist/components/nv-accordion.js +242 -0
  147. package/dist/components/nv-accordion.js.map +1 -0
  148. package/dist/components/nv-alert.js +6 -4
  149. package/dist/components/nv-alert.js.map +1 -1
  150. package/dist/components/nv-avatar.js +2 -2
  151. package/dist/components/nv-badge.js +1 -1
  152. package/dist/components/nv-breadcrumb.js +3 -3
  153. package/dist/components/nv-breadcrumbs.js +1 -1
  154. package/dist/components/nv-button.js +1 -1
  155. package/dist/components/nv-calendar.js +1 -1
  156. package/dist/components/nv-col.js +1 -1
  157. package/dist/components/nv-datagrid.js +4 -4
  158. package/dist/components/nv-datagridcolumn.js +1 -1
  159. package/dist/components/nv-dialog.js +25 -11
  160. package/dist/components/nv-dialog.js.map +1 -1
  161. package/dist/components/nv-dialogfooter.js +1 -1
  162. package/dist/components/nv-dialogheader.js +1 -1
  163. package/dist/components/nv-fieldcheckbox.js +1 -1
  164. package/dist/components/nv-fielddate.js +107 -41
  165. package/dist/components/nv-fielddate.js.map +1 -1
  166. package/dist/components/nv-fielddaterange.js +10 -10
  167. package/dist/components/nv-fielddropdown.js +8 -8
  168. package/dist/components/nv-fielddropdownitem.js +1 -1
  169. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  170. package/dist/components/nv-fieldmultiselect.js +94 -110
  171. package/dist/components/nv-fieldmultiselect.js.map +1 -1
  172. package/dist/components/nv-fieldnumber.js +1 -1
  173. package/dist/components/nv-fieldpassword.js +6 -6
  174. package/dist/components/nv-fieldradio.js +3 -3
  175. package/dist/components/nv-fieldselect.js +8 -8
  176. package/dist/components/nv-fieldslider.js +57 -13
  177. package/dist/components/nv-fieldslider.js.map +1 -1
  178. package/dist/components/nv-fieldtext.js +1 -1
  179. package/dist/components/nv-fieldtextarea.js +3 -3
  180. package/dist/components/nv-fieldtime.js +13 -13
  181. package/dist/components/nv-icon.js +1 -1
  182. package/dist/components/nv-iconbutton.js +1 -1
  183. package/dist/components/nv-loader.js +1 -1
  184. package/dist/components/nv-menu.js +4 -4
  185. package/dist/components/nv-menuitem.js +1 -1
  186. package/dist/components/nv-popover.js +1 -1
  187. package/dist/components/nv-row.js +1 -1
  188. package/dist/components/nv-stack.js +1 -1
  189. package/dist/components/nv-table.js +2 -2
  190. package/dist/components/nv-toggle.js +2 -2
  191. package/dist/components/nv-tooltip.js +1 -1
  192. package/dist/components/{p-1daca48a.js → p-09cdd71f.js} +2 -65
  193. package/dist/components/p-09cdd71f.js.map +1 -0
  194. package/dist/components/p-15aeab4d.js +23 -0
  195. package/dist/components/p-15aeab4d.js.map +1 -0
  196. package/dist/components/{p-44f0039b.js → p-190c8f60.js} +3 -3
  197. package/dist/components/{p-44f0039b.js.map → p-190c8f60.js.map} +1 -1
  198. package/dist/components/p-1cbacdba.js +68 -0
  199. package/dist/components/p-1cbacdba.js.map +1 -0
  200. package/dist/components/p-230ad6c5.js +223 -0
  201. package/dist/components/p-230ad6c5.js.map +1 -0
  202. package/dist/components/{p-05c19c9a.js → p-316ae8e3.js} +4 -4
  203. package/dist/components/{p-05c19c9a.js.map → p-316ae8e3.js.map} +1 -1
  204. package/dist/components/{p-00ac701f.js → p-4069966e.js} +8 -6
  205. package/dist/components/p-4069966e.js.map +1 -0
  206. package/dist/components/{p-5bee0141.js → p-436a0f99.js} +6 -5
  207. package/dist/components/p-436a0f99.js.map +1 -0
  208. package/dist/components/{p-918bb719.js → p-4864a690.js} +2 -2
  209. package/dist/components/{p-918bb719.js.map → p-4864a690.js.map} +1 -1
  210. package/dist/components/{p-4badc1d2.js → p-5e89eb9d.js} +7 -7
  211. package/dist/components/{p-4badc1d2.js.map → p-5e89eb9d.js.map} +1 -1
  212. package/dist/components/{p-001c888b.js → p-618ae85a.js} +5 -4
  213. package/dist/components/p-618ae85a.js.map +1 -0
  214. package/dist/components/{p-d56b30ab.js → p-79b38dfb.js} +3 -3
  215. package/dist/components/{p-d56b30ab.js.map → p-79b38dfb.js.map} +1 -1
  216. package/dist/components/{p-a0d7e0cd.js → p-840858ed.js} +60 -51
  217. package/dist/components/p-840858ed.js.map +1 -0
  218. package/dist/components/{p-cebdbb40.js → p-8a5b0f74.js} +3 -3
  219. package/dist/components/{p-cebdbb40.js.map → p-8a5b0f74.js.map} +1 -1
  220. package/dist/components/{p-c1765831.js → p-8d45dbfe.js} +2 -2
  221. package/dist/components/{p-c1765831.js.map → p-8d45dbfe.js.map} +1 -1
  222. package/dist/components/{p-42301d8f.js → p-9a263d0e.js} +3 -23
  223. package/dist/components/p-9a263d0e.js.map +1 -0
  224. package/dist/components/{p-9f1e8ef3.js → p-9cff2fd1.js} +2 -2
  225. package/dist/components/{p-9f1e8ef3.js.map → p-9cff2fd1.js.map} +1 -1
  226. package/dist/components/{p-9e6e26cb.js → p-9ed7a440.js} +5 -5
  227. package/dist/components/{p-9e6e26cb.js.map → p-9ed7a440.js.map} +1 -1
  228. package/dist/components/{p-970cd9b1.js → p-ac76a11c.js} +5 -5
  229. package/dist/components/{p-970cd9b1.js.map → p-ac76a11c.js.map} +1 -1
  230. package/dist/components/{p-6277f746.js → p-ca130ad2.js} +2 -2
  231. package/dist/components/{p-6277f746.js.map → p-ca130ad2.js.map} +1 -1
  232. package/dist/components/{p-e8c083e3.js → p-d2b4441a.js} +3 -3
  233. package/dist/components/{p-e8c083e3.js.map → p-d2b4441a.js.map} +1 -1
  234. package/dist/components/{p-e072f051.js → p-f1bbb9e8.js} +2 -2
  235. package/dist/components/{p-e072f051.js.map → p-f1bbb9e8.js.map} +1 -1
  236. package/dist/components/{p-919b5237.js → p-f266b533.js} +5 -5
  237. package/dist/components/{p-919b5237.js.map → p-f266b533.js.map} +1 -1
  238. package/dist/esm/{timeline.animation-1b88f052.js → collapse.animation-16e3af45.js} +3 -23
  239. package/dist/esm/collapse.animation-16e3af45.js.map +1 -0
  240. package/dist/esm/fade.animation-71e8e34c.js +68 -0
  241. package/dist/esm/fade.animation-71e8e34c.js.map +1 -0
  242. package/dist/esm/{grow.animation-cac164da.js → grow.animation-f7b26024.js} +2 -2
  243. package/dist/esm/{grow.animation-cac164da.js.map → grow.animation-f7b26024.js.map} +1 -1
  244. package/dist/esm/index-a1936cd0.js +8 -0
  245. package/dist/esm/index.js +5 -3
  246. package/dist/esm/index.js.map +1 -1
  247. package/dist/esm/loader.js +1 -1
  248. package/dist/esm/native.js +1 -1
  249. package/dist/esm/nv-accordion-item.entry.js +177 -0
  250. package/dist/esm/nv-accordion-item.entry.js.map +1 -0
  251. package/dist/esm/nv-accordion.entry.js +190 -0
  252. package/dist/esm/nv-accordion.entry.js.map +1 -0
  253. package/dist/esm/nv-alert.entry.js +5 -3
  254. package/dist/esm/nv-alert.entry.js.map +1 -1
  255. package/dist/esm/nv-avatar.entry.js +1 -1
  256. package/dist/esm/nv-badge_2.entry.js +7 -5
  257. package/dist/esm/nv-badge_2.entry.js.map +1 -1
  258. package/dist/esm/nv-breadcrumb.entry.js +1 -1
  259. package/dist/esm/nv-breadcrumbs.entry.js +1 -1
  260. package/dist/esm/nv-button.entry.js +1 -1
  261. package/dist/esm/nv-calendar.entry.js +59 -50
  262. package/dist/esm/nv-calendar.entry.js.map +1 -1
  263. package/dist/esm/nv-col.entry.js +1 -1
  264. package/dist/esm/nv-datagrid.entry.js +2 -2
  265. package/dist/esm/nv-datagridcolumn.entry.js +1 -1
  266. package/dist/esm/nv-dialog.entry.js +19 -6
  267. package/dist/esm/nv-dialog.entry.js.map +1 -1
  268. package/dist/esm/nv-dialogfooter_2.entry.js +2 -2
  269. package/dist/esm/nv-fieldcheckbox.entry.js +4 -4
  270. package/dist/esm/nv-fielddate.entry.js +100 -35
  271. package/dist/esm/nv-fielddate.entry.js.map +1 -1
  272. package/dist/esm/nv-fielddaterange.entry.js +4 -4
  273. package/dist/esm/nv-fielddropdown.entry.js +3 -3
  274. package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
  275. package/dist/esm/nv-fieldmultiselect.entry.js +85 -100
  276. package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
  277. package/dist/esm/nv-fieldnumber.entry.js +3 -3
  278. package/dist/esm/nv-fieldpassword.entry.js +3 -3
  279. package/dist/esm/nv-fieldradio.entry.js +3 -3
  280. package/dist/esm/nv-fieldselect.entry.js +5 -5
  281. package/dist/esm/nv-fieldslider.entry.js +53 -9
  282. package/dist/esm/nv-fieldslider.entry.js.map +1 -1
  283. package/dist/esm/nv-fieldtext.entry.js +3 -3
  284. package/dist/esm/nv-fieldtextarea.entry.js +3 -3
  285. package/dist/esm/nv-fieldtime.entry.js +9 -9
  286. package/dist/esm/nv-icon.entry.js +1 -1
  287. package/dist/esm/nv-iconbutton_2.entry.js +2 -2
  288. package/dist/esm/nv-menu.entry.js +1 -1
  289. package/dist/esm/nv-menuitem.entry.js +1 -1
  290. package/dist/esm/nv-popover.entry.js +4 -3
  291. package/dist/esm/nv-popover.entry.js.map +1 -1
  292. package/dist/esm/nv-row.entry.js +1 -1
  293. package/dist/esm/nv-stack.entry.js +1 -1
  294. package/dist/esm/nv-table.entry.js +2 -2
  295. package/dist/esm/nv-toggle.entry.js +2 -2
  296. package/dist/esm/nv-tooltip.entry.js +4 -3
  297. package/dist/esm/nv-tooltip.entry.js.map +1 -1
  298. package/dist/esm/{fade.animation-2a077983.js → stylefire.es-74da334a.js} +2 -65
  299. package/dist/esm/stylefire.es-74da334a.js.map +1 -0
  300. package/dist/esm/timeline.animation-adf35ecb.js +23 -0
  301. package/dist/esm/timeline.animation-adf35ecb.js.map +1 -0
  302. package/dist/native/index.esm.js +1 -1
  303. package/dist/native/index.esm.js.map +1 -1
  304. package/dist/native/native.esm.js +1 -1
  305. package/dist/native/native.esm.js.map +1 -1
  306. package/dist/native/{p-a0505695.entry.js → p-08452012.entry.js} +2 -2
  307. package/dist/native/p-09cdd71f.js +16 -0
  308. package/dist/native/p-09cdd71f.js.map +1 -0
  309. package/dist/native/p-0ac03708.entry.js +2 -0
  310. package/dist/native/p-0ac03708.entry.js.map +1 -0
  311. package/dist/native/p-0ada0382.entry.js +2 -0
  312. package/dist/native/p-0ada0382.entry.js.map +1 -0
  313. package/dist/native/p-1235c007.entry.js +2 -0
  314. package/dist/native/p-12963ae4.entry.js +2 -0
  315. package/dist/native/p-12963ae4.entry.js.map +1 -0
  316. package/dist/native/p-15aeab4d.js +2 -0
  317. package/dist/native/p-15aeab4d.js.map +1 -0
  318. package/dist/native/{p-b5b9190a.entry.js → p-18831490.entry.js} +2 -2
  319. package/dist/native/{p-1d98477d.entry.js → p-1ad1bff9.entry.js} +2 -2
  320. package/dist/native/p-1cbacdba.js +2 -0
  321. package/dist/native/p-1cbacdba.js.map +1 -0
  322. package/dist/native/p-1cce9b24.entry.js +2 -0
  323. package/dist/native/p-1cce9b24.entry.js.map +1 -0
  324. package/dist/native/{p-914da1e1.entry.js → p-1f932a4b.entry.js} +2 -2
  325. package/dist/native/{p-6ea1c78b.entry.js → p-2576c1a0.entry.js} +2 -2
  326. package/dist/native/{p-19f484a0.entry.js → p-2d23fcea.entry.js} +2 -2
  327. package/dist/native/{p-e9962dac.entry.js → p-31e72603.entry.js} +2 -2
  328. package/dist/native/p-33e5037d.entry.js +2 -0
  329. package/dist/native/{p-b9c7b644.entry.js → p-4cf00884.entry.js} +2 -2
  330. package/dist/native/p-5172f17a.entry.js +2 -0
  331. package/dist/native/{p-08ca678c.entry.js → p-51a57a3a.entry.js} +2 -2
  332. package/dist/native/p-5eca22c7.entry.js +2 -0
  333. package/dist/native/{p-82568ec7.entry.js.map → p-5eca22c7.entry.js.map} +1 -1
  334. package/dist/native/{p-dd6b1d79.entry.js → p-609b3822.entry.js} +2 -2
  335. package/dist/native/{p-e293b3fe.entry.js → p-625be06b.entry.js} +2 -2
  336. package/dist/native/{p-a983e6a0.entry.js → p-8030c16b.entry.js} +2 -2
  337. package/dist/native/{p-6029e51b.entry.js → p-85a54ef2.entry.js} +2 -2
  338. package/dist/native/p-8d45dbfe.js +2 -0
  339. package/dist/native/p-9a263d0e.js +2 -0
  340. package/dist/native/p-9a263d0e.js.map +1 -0
  341. package/dist/native/{p-1a5d3b87.entry.js → p-9dc1c3e7.entry.js} +2 -2
  342. package/dist/native/p-a36dc25a.entry.js +2 -0
  343. package/dist/native/{p-ad128108.entry.js.map → p-a36dc25a.entry.js.map} +1 -1
  344. package/dist/native/p-a6dc9b59.entry.js +2 -0
  345. package/dist/native/p-a6dc9b59.entry.js.map +1 -0
  346. package/dist/native/{p-003b6377.entry.js → p-b829383a.entry.js} +2 -2
  347. package/dist/native/{p-af1e6035.entry.js → p-bab6d0a5.entry.js} +2 -2
  348. package/dist/native/p-baddee4c.entry.js +7 -0
  349. package/dist/native/p-baddee4c.entry.js.map +1 -0
  350. package/dist/native/p-be67545e.entry.js +2 -0
  351. package/dist/native/p-be67545e.entry.js.map +1 -0
  352. package/dist/native/{p-dd256ea3.entry.js → p-c2826f22.entry.js} +2 -2
  353. package/dist/native/p-c9cde996.entry.js +2 -0
  354. package/dist/native/{p-d4bf2587.entry.js.map → p-c9cde996.entry.js.map} +1 -1
  355. package/dist/native/{p-54198779.entry.js → p-cf468c67.entry.js} +2 -2
  356. package/dist/native/{p-a5c72bd3.entry.js → p-ddb0b9f6.entry.js} +2 -2
  357. package/dist/native/{p-2d98d4f0.entry.js → p-e19a8885.entry.js} +2 -2
  358. package/dist/native/{p-1e0df2d3.entry.js → p-e802fbb8.entry.js} +2 -2
  359. package/dist/native/p-ec92ee7a.entry.js +2 -0
  360. package/dist/native/{p-5b06f4b5.entry.js → p-f9aa4900.entry.js} +2 -2
  361. package/dist/native/{p-be9aeed4.entry.js → p-fca3e27d.entry.js} +2 -2
  362. package/dist/native/p-fe4e516b.entry.js +2 -0
  363. package/dist/native/p-fe4e516b.entry.js.map +1 -0
  364. package/dist/types/components/nv-accordion/nv-accordion.d.ts +115 -0
  365. package/dist/types/components/nv-accordion/nv-accordion.docs.d.ts +4 -0
  366. package/dist/types/components/nv-accordion-item/nv-accordion-item.d.ts +79 -0
  367. package/dist/types/components/nv-accordion-item/nv-accordion-item.docs.d.ts +4 -0
  368. package/dist/types/components/nv-calendar/partials/calendar-grid.d.ts +4 -2
  369. package/dist/types/components/nv-dialog/nv-dialog.d.ts +7 -0
  370. package/dist/types/components/nv-fielddate/nv-fielddate.d.ts +22 -2
  371. package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +13 -16
  372. package/dist/types/components/nv-fieldslider/nv-fieldslider.utils.d.ts +13 -0
  373. package/dist/types/components/nv-fieldslider/partials/range-thumb.d.ts +2 -0
  374. package/dist/types/components/nv-fieldslider/partials/single-thumb.d.ts +2 -0
  375. package/dist/types/components/nv-tooltip/nv-tooltip.d.ts +7 -0
  376. package/dist/types/components.d.ts +241 -10
  377. package/dist/vscode-data.json +75 -5
  378. package/hydrate/index.js +1113 -592
  379. package/hydrate/index.mjs +1113 -592
  380. package/package.json +1 -1
  381. package/dist/cjs/fade.animation-0d33d198.js.map +0 -1
  382. package/dist/cjs/timeline.animation-dbb9c5ea.js.map +0 -1
  383. package/dist/components/p-001c888b.js.map +0 -1
  384. package/dist/components/p-00ac701f.js.map +0 -1
  385. package/dist/components/p-1daca48a.js.map +0 -1
  386. package/dist/components/p-42301d8f.js.map +0 -1
  387. package/dist/components/p-5bee0141.js.map +0 -1
  388. package/dist/components/p-a0d7e0cd.js.map +0 -1
  389. package/dist/esm/fade.animation-2a077983.js.map +0 -1
  390. package/dist/esm/timeline.animation-1b88f052.js.map +0 -1
  391. package/dist/native/p-0493c51a.entry.js +0 -2
  392. package/dist/native/p-1daca48a.js +0 -16
  393. package/dist/native/p-1daca48a.js.map +0 -1
  394. package/dist/native/p-42301d8f.js +0 -2
  395. package/dist/native/p-42301d8f.js.map +0 -1
  396. package/dist/native/p-45cbe6e4.entry.js +0 -2
  397. package/dist/native/p-46428304.entry.js +0 -2
  398. package/dist/native/p-46428304.entry.js.map +0 -1
  399. package/dist/native/p-58f4dc0e.entry.js +0 -2
  400. package/dist/native/p-58f4dc0e.entry.js.map +0 -1
  401. package/dist/native/p-59b07b36.entry.js +0 -2
  402. package/dist/native/p-59b07b36.entry.js.map +0 -1
  403. package/dist/native/p-82568ec7.entry.js +0 -2
  404. package/dist/native/p-82c4bf56.entry.js +0 -2
  405. package/dist/native/p-82c4bf56.entry.js.map +0 -1
  406. package/dist/native/p-86ab23ea.entry.js +0 -2
  407. package/dist/native/p-ad128108.entry.js +0 -2
  408. package/dist/native/p-bee972c7.entry.js +0 -2
  409. package/dist/native/p-c1765831.js +0 -2
  410. package/dist/native/p-d21b2da2.entry.js +0 -7
  411. package/dist/native/p-d21b2da2.entry.js.map +0 -1
  412. package/dist/native/p-d4bf2587.entry.js +0 -2
  413. package/dist/native/p-eaf51f2c.entry.js +0 -2
  414. package/dist/native/p-eaf51f2c.entry.js.map +0 -1
  415. /package/dist/native/{p-a0505695.entry.js.map → p-08452012.entry.js.map} +0 -0
  416. /package/dist/native/{p-86ab23ea.entry.js.map → p-1235c007.entry.js.map} +0 -0
  417. /package/dist/native/{p-b5b9190a.entry.js.map → p-18831490.entry.js.map} +0 -0
  418. /package/dist/native/{p-1d98477d.entry.js.map → p-1ad1bff9.entry.js.map} +0 -0
  419. /package/dist/native/{p-914da1e1.entry.js.map → p-1f932a4b.entry.js.map} +0 -0
  420. /package/dist/native/{p-6ea1c78b.entry.js.map → p-2576c1a0.entry.js.map} +0 -0
  421. /package/dist/native/{p-19f484a0.entry.js.map → p-2d23fcea.entry.js.map} +0 -0
  422. /package/dist/native/{p-e9962dac.entry.js.map → p-31e72603.entry.js.map} +0 -0
  423. /package/dist/native/{p-0493c51a.entry.js.map → p-33e5037d.entry.js.map} +0 -0
  424. /package/dist/native/{p-b9c7b644.entry.js.map → p-4cf00884.entry.js.map} +0 -0
  425. /package/dist/native/{p-bee972c7.entry.js.map → p-5172f17a.entry.js.map} +0 -0
  426. /package/dist/native/{p-08ca678c.entry.js.map → p-51a57a3a.entry.js.map} +0 -0
  427. /package/dist/native/{p-dd6b1d79.entry.js.map → p-609b3822.entry.js.map} +0 -0
  428. /package/dist/native/{p-e293b3fe.entry.js.map → p-625be06b.entry.js.map} +0 -0
  429. /package/dist/native/{p-a983e6a0.entry.js.map → p-8030c16b.entry.js.map} +0 -0
  430. /package/dist/native/{p-6029e51b.entry.js.map → p-85a54ef2.entry.js.map} +0 -0
  431. /package/dist/native/{p-c1765831.js.map → p-8d45dbfe.js.map} +0 -0
  432. /package/dist/native/{p-1a5d3b87.entry.js.map → p-9dc1c3e7.entry.js.map} +0 -0
  433. /package/dist/native/{p-003b6377.entry.js.map → p-b829383a.entry.js.map} +0 -0
  434. /package/dist/native/{p-af1e6035.entry.js.map → p-bab6d0a5.entry.js.map} +0 -0
  435. /package/dist/native/{p-dd256ea3.entry.js.map → p-c2826f22.entry.js.map} +0 -0
  436. /package/dist/native/{p-54198779.entry.js.map → p-cf468c67.entry.js.map} +0 -0
  437. /package/dist/native/{p-a5c72bd3.entry.js.map → p-ddb0b9f6.entry.js.map} +0 -0
  438. /package/dist/native/{p-2d98d4f0.entry.js.map → p-e19a8885.entry.js.map} +0 -0
  439. /package/dist/native/{p-1e0df2d3.entry.js.map → p-e802fbb8.entry.js.map} +0 -0
  440. /package/dist/native/{p-45cbe6e4.entry.js.map → p-ec92ee7a.entry.js.map} +0 -0
  441. /package/dist/native/{p-5b06f4b5.entry.js.map → p-f9aa4900.entry.js.map} +0 -0
  442. /package/dist/native/{p-be9aeed4.entry.js.map → p-fca3e27d.entry.js.map} +0 -0
@@ -7,7 +7,7 @@ const inputmask = require('./inputmask-76b7b93f.js');
7
7
  const v4 = require('./v4-7014b8b0.js');
8
8
  require('./_commonjsHelpers-b3309d7b.js');
9
9
 
10
- const nvFielddateCss = "nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fielddate{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box;max-width:480px}nv-fielddate[fluid]:not([fluid=false]){max-width:unset}nv-fielddate[readonly]:not([readonly=false]){--nv-field-border-default:var(--components-form-field-border-readonly);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-background:var(--components-form-field-background-readonly)}nv-fielddate[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive-in-field)}nv-fielddate[success]:not([success=false]){--nv-field-border-default:var(--components-form-field-border-success);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-success)}nv-fielddate[required]:not([required=false]) label::after{content:\"*\";color:var(--components-form-text-required);font-weight:700}nv-fielddate label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:500;line-height:var(--form-label-line-height)}nv-fielddate nv-popover{width:100%;display:block}nv-fielddate nv-popover [data-scope=popover]{padding:0;background-color:var(--components-list-dropdown-background);border:1px solid var(--components-list-dropdown-border);width:auto}nv-fielddate nv-popover [slot=content]{display:block;width:100%}nv-fielddate nv-popover .datepicker-container{border:none}nv-fielddate .input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch;display:flex;align-items:center;gap:8px}nv-fielddate .input-wrapper .input-container{display:flex;flex-grow:1;justify-content:center;align-items:center;align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default, 1);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fielddate .input-wrapper .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fielddate .input-wrapper .input-container:focus-within,nv-fielddate .input-wrapper .input-container:focus-within:hover,nv-fielddate .input-wrapper .input-container:focus,nv-fielddate .input-wrapper .input-container:focus:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fielddate .input-wrapper .input-container:has(input:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fielddate .input-wrapper .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fielddate .input-wrapper .input-container input{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);padding:var(--form-field-padding-y) var(--form-field-padding-x);font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height);width:100%;}nv-fielddate .input-wrapper .input-container input:focus{outline:none}nv-fielddate .input-wrapper .input-container input::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:400;line-height:var(--form-field-line-height)}nv-fielddate .input-wrapper .input-container input[type=password]::-ms-clear,nv-fielddate .input-wrapper .input-container input[type=password]::-ms-reveal{display:none;width:0;height:0}nv-fielddate .input-wrapper .input-container>nv-iconbutton{border:0px;border-radius:0px}nv-fielddate .input-wrapper .input-container>nv-iconbutton:focus-visible{border-radius:var(--button-md-border-radius);outline-offset:-3px}nv-fielddate .input-wrapper .input-container nv-icon.validation{color:var(--nv-field-border-default)}nv-fielddate .description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fielddate .error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}";
10
+ const nvFielddateCss = "nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fielddate{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box;max-width:480px}nv-fielddate[fluid]:not([fluid=false]){max-width:unset}nv-fielddate[readonly]:not([readonly=false]){--nv-field-border-default:var(--components-form-field-border-readonly);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-background:var(--components-form-field-background-readonly)}nv-fielddate[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive-in-field)}nv-fielddate[success]:not([success=false]){--nv-field-border-default:var(--components-form-field-border-success);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-success)}nv-fielddate[required]:not([required=false]) label::after{content:\"*\";color:var(--components-form-text-required);font-weight:700}nv-fielddate label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:500;line-height:var(--form-label-line-height)}nv-fielddate nv-popover{width:100%;display:block}nv-fielddate nv-popover [data-scope=popover]{padding:0;background-color:var(--components-list-dropdown-background);border:1px solid var(--components-list-dropdown-border);width:auto}nv-fielddate nv-popover [slot=content]{display:block;width:100%}nv-fielddate nv-popover .datepicker-container{border:none}nv-fielddate .input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch;display:flex;align-items:center;gap:8px}nv-fielddate .input-wrapper .input-container{display:flex;flex-grow:1;justify-content:center;align-items:center;align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default, 1);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fielddate .input-wrapper .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fielddate .input-wrapper .input-container:focus-within,nv-fielddate .input-wrapper .input-container:focus-within:hover,nv-fielddate .input-wrapper .input-container:focus,nv-fielddate .input-wrapper .input-container:focus:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fielddate .input-wrapper .input-container:has(input:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fielddate .input-wrapper .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fielddate .input-wrapper .input-container input{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);padding:var(--form-field-padding-y) var(--form-field-padding-x);font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height);width:100%;font-feature-settings:\"tnum\";font-family:\"TTNorms Pro Mono\", monospace}nv-fielddate .input-wrapper .input-container input:focus{outline:none}nv-fielddate .input-wrapper .input-container input::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:400;line-height:var(--form-field-line-height)}nv-fielddate .input-wrapper .input-container input[type=password]::-ms-clear,nv-fielddate .input-wrapper .input-container input[type=password]::-ms-reveal{display:none;width:0;height:0}nv-fielddate .input-wrapper .input-container>nv-iconbutton{border:0px;border-radius:0px}nv-fielddate .input-wrapper .input-container>nv-iconbutton:focus-visible{border-radius:var(--button-md-border-radius);outline-offset:-3px}nv-fielddate .input-wrapper .input-container nv-icon.validation{color:var(--nv-field-border-default)}nv-fielddate .description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fielddate .error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}";
11
11
  const NvFielddateStyle0 = nvFielddateCss;
12
12
 
13
13
  const NvFielddate = class {
@@ -125,10 +125,7 @@ const NvFielddate = class {
125
125
  this.inputElement.focus();
126
126
  // Select the first characters based on the date format
127
127
  const format = this.dateFormat;
128
- if (format.startsWith('DD')) {
129
- this.inputElement.setSelectionRange(0, 2);
130
- }
131
- else if (format.startsWith('MM')) {
128
+ if (format.startsWith('DD') || format.startsWith('MM')) {
132
129
  this.inputElement.setSelectionRange(0, 2);
133
130
  }
134
131
  else if (format.startsWith('YYYY')) {
@@ -155,13 +152,66 @@ const NvFielddate = class {
155
152
  }
156
153
  };
157
154
  /**
158
- * Toggles the opening/closing of the popover.
155
+ * Initializes the input mask.
159
156
  */
160
- this.toggleCalendar = () => {
161
- if (this.readonly || this.disabled) {
157
+ this.initializeInputMask = () => {
158
+ this.currentPlaceholder = '';
159
+ if (this.inputElement.inputmask) {
162
160
  return;
163
161
  }
164
- this.open = !this.open;
162
+ const inputMask = new inputmask.Inputmask({
163
+ alias: 'datetime',
164
+ inputFormat: this.convertToInputmaskFormat(this.dateFormat),
165
+ placeholder: ' ',
166
+ prefillYear: false,
167
+ clearIncomplete: false,
168
+ showMaskOnHover: false,
169
+ showMaskOnFocus: false,
170
+ clearMaskOnLostFocus: false,
171
+ insertMode: true,
172
+ rightAlign: false,
173
+ oncomplete: function (e) {
174
+ const input = e.target;
175
+ const event = new CustomEvent('input', { bubbles: true });
176
+ input.dispatchEvent(event);
177
+ },
178
+ });
179
+ inputMask.mask(this.inputElement);
180
+ // Set the value after applying the mask
181
+ if (this.inputElement.name === this.name && this.singleValue) {
182
+ requestAnimationFrame(() => {
183
+ this.inputElement.value = this.singleValue;
184
+ const event = new CustomEvent('input', { bubbles: true });
185
+ this.inputElement.dispatchEvent(event);
186
+ });
187
+ }
188
+ };
189
+ /**
190
+ * Handles keydown events on the input before the mask is initialized.
191
+ * Initializes the mask on the first number input.
192
+ * @param {KeyboardEvent} event - The keyboard event.
193
+ */
194
+ this.handleKeydownBeforeMask = (event) => {
195
+ const allowedKeys = [
196
+ 'Backspace',
197
+ 'Delete',
198
+ 'Tab',
199
+ 'ArrowLeft',
200
+ 'ArrowRight',
201
+ 'ArrowUp',
202
+ 'ArrowDown',
203
+ 'Home',
204
+ 'End',
205
+ ];
206
+ if (/\d/.test(event.key)) {
207
+ this.initializeInputMask();
208
+ this.inputElement.removeEventListener('keydown', this.handleKeydownBeforeMask);
209
+ }
210
+ else if (!allowedKeys.includes(event.key) &&
211
+ !event.metaKey &&
212
+ !event.ctrlKey) {
213
+ event.preventDefault();
214
+ }
165
215
  };
166
216
  /**
167
217
  * Handles focus events on the input element.
@@ -173,6 +223,16 @@ const NvFielddate = class {
173
223
  event.target.blur();
174
224
  return;
175
225
  }
226
+ if (!this.inputElement.inputmask) {
227
+ this.inputElement.addEventListener('keydown', this.handleKeydownBeforeMask);
228
+ }
229
+ this.open = true;
230
+ };
231
+ /**
232
+ * Handles blur events on the input element.
233
+ */
234
+ this.handleBlur = () => {
235
+ this.inputElement.removeEventListener('keydown', this.handleKeydownBeforeMask);
176
236
  };
177
237
  /**
178
238
  * Prevents the valueChanged event from the calendar from propagating up.
@@ -195,6 +255,15 @@ const NvFielddate = class {
195
255
  this.setInputRef = (el) => {
196
256
  this.inputElement = el;
197
257
  };
258
+ /**
259
+ * Toggles the opening/closing of the popover.
260
+ */
261
+ this.toggleCalendar = () => {
262
+ if (this.readonly || this.disabled) {
263
+ return;
264
+ }
265
+ this.open = !this.open;
266
+ };
198
267
  }
199
268
  //#endregion PROPERTIES
200
269
  /****************************************************************************/
@@ -205,20 +274,18 @@ const NvFielddate = class {
205
274
  * @returns {string} Format adapted for Inputmask.
206
275
  */
207
276
  convertToInputmaskFormat(format) {
208
- switch (format) {
209
- case 'DD/MM/YYYY':
210
- return 'dd/mm/yyyy';
211
- case 'MM/DD/YYYY':
212
- return 'mm/dd/yyyy';
213
- case 'YYYY-MM-DD':
214
- return 'yyyy-mm-dd';
215
- case 'DD.MM.YYYY':
216
- return 'dd.mm.yyyy';
217
- case 'YYYYMMDD':
218
- return 'yyyymmdd';
219
- default:
220
- return format;
277
+ // If the format is not specified, use the default format
278
+ if (!format) {
279
+ return 'dd/mm/yyyy';
221
280
  }
281
+ const formatMap = {
282
+ 'DD/MM/YYYY': 'dd/mm/yyyy',
283
+ 'MM/DD/YYYY': 'mm/dd/yyyy',
284
+ 'YYYY-MM-DD': 'yyyy-mm-dd',
285
+ 'DD.MM.YYYY': 'dd.mm.yyyy',
286
+ 'YYYYMMDD': 'yyyymmdd',
287
+ };
288
+ return formatMap[format] || 'dd/mm/yyyy';
222
289
  }
223
290
  //#endregion METHODS
224
291
  /****************************************************************************/
@@ -230,19 +297,17 @@ const NvFielddate = class {
230
297
  if (this.value) {
231
298
  this.singleValue = this.value;
232
299
  }
300
+ this.currentPlaceholder = this.placeholder || this.dateFormat;
233
301
  }
234
302
  componentDidLoad() {
235
- const inputs = this.el.querySelectorAll('.input-wrapper input');
236
- inputs.forEach((input) => {
237
- inputmask.Inputmask({
238
- alias: 'datetime',
239
- inputFormat: this.convertToInputmaskFormat(this.dateFormat),
240
- placeholder: '_'.repeat(this.dateFormat.length),
241
- }).mask(input);
242
- });
303
+ // Inputmask is now initialized on the first keypress
243
304
  }
244
305
  disconnectedCallback() {
245
306
  document.removeEventListener('click', this.handleClickOutside);
307
+ if (this.inputElement &&
308
+ this.inputElement.inputmask) {
309
+ this.inputElement.inputmask.remove();
310
+ }
246
311
  }
247
312
  /**
248
313
  * Handles the single date selection event from nv-calendar.
@@ -287,12 +352,12 @@ const NvFielddate = class {
287
352
  /****************************************************************************/
288
353
  //#region RENDER
289
354
  render() {
290
- return (index.h(index.Host, { key: '4af4649cc8fdc95f2f12d1c495549a006c82c742' }, ((this.label && this.label.length > 0) ||
291
- this.el.querySelector('[slot="label"]')) && (index.h("label", { key: 'c4905c94c62c8eb01120b30e3b5c16c2dafec20d', htmlFor: this.inputId }, index.h("slot", { key: 'b8e952b9a6acb9f136d3461514b82a6767723c3c', name: "label" }, this.label))), index.h("nv-popover", { key: 'de6620c60eb3db3c6f0f435977f257636be81a80', ref: this.setPopoverRef, id: this.popoverId, triggerMode: "controlled", placement: "bottom-start", open: this.open }, index.h("div", { key: 'e2189ad3476f3d088c07153bc4c1e63357317ded', slot: "trigger", class: "input-wrapper" }, index.h("slot", { key: 'a35e545f1379c479734719d8460d5031631f5730', name: "before-input" }), index.h("div", { key: '01338c24dfff69e019ff6d2344f176effb2dac06', class: "input-container", onClick: this.handleInputContainerClick }, index.h("slot", { key: 'f6552d188174e77e8f75a9b0554e3ea78c57056d', name: "leading-input" }), index.h("input", { key: '1b9ad6226166b6bf08afda41f0f6b789fe12dd27', id: this.inputId, ref: this.setInputRef, placeholder: this.placeholder, name: this.name, disabled: this.disabled, readOnly: this.readonly, required: this.required, autofocus: this.autofocus, value: this.singleValue, onInput: this.handleInput, onFocus: this.handleFocus, "data-scope": "date" }), this.error && (index.h("nv-icon", { key: '0527f051261672a8df205d26dcb253c20b3dfd4b', name: "alert-circle", class: "validation", size: "md" })), this.success && (index.h("nv-icon", { key: 'ed83a0a0b7a88f392f16bf97f20885261f88665d', name: "circle-check", class: "validation", size: "md" })), index.h("nv-iconbutton", { key: '6abf3dff6a1bcc0759bea91ab3674d61f4c016c2', class: "toggle-calendar-icon", name: "calendar" //{this.open ? 'chevron-top' : 'chevron-down'}
355
+ return (index.h(index.Host, { key: 'c9f29e6997cf07a03f43e3cc2d8263201829c9c4' }, ((this.label && this.label.length > 0) ||
356
+ this.el.querySelector('[slot="label"]')) && (index.h("label", { key: '0c12a1773e75621cb7f2c6fbd944405cb444a9e6', htmlFor: this.inputId }, index.h("slot", { key: '0fdd5a226a5db7ac15be968f42e375f89031235f', name: "label" }, this.label))), index.h("nv-popover", { key: 'dd0dcf5576026e0b565db34d2a2eafd9e6188127', ref: this.setPopoverRef, id: this.popoverId, triggerMode: "controlled", placement: "bottom-start", open: this.open }, index.h("div", { key: 'a4c7623e8d72ecc847567be060e8c3db04879062', slot: "trigger", class: "input-wrapper" }, index.h("slot", { key: 'e270dac5a26904db3d0966871bc10d7c68064e87', name: "before-input" }), index.h("div", { key: '8d277b89e591249910c9eeae754837ce079de47f', class: "input-container", onClick: this.handleInputContainerClick }, index.h("slot", { key: '964769b29c4d9119365bf59255180e84ae32b195', name: "leading-input" }), index.h("input", { key: '41f0f565b4854e7907a5a8972d5ce265e587b7f0', id: this.inputId, ref: this.setInputRef, placeholder: this.currentPlaceholder, name: this.name, disabled: this.disabled, readOnly: this.readonly, required: this.required, autofocus: this.autofocus, value: this.singleValue, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, "data-scope": "date" }), this.error && (index.h("nv-icon", { key: '32d5ffac3789d9b3598811605eccfb1207c4e850', name: "alert-circle", class: "validation", size: "md" })), this.success && (index.h("nv-icon", { key: '4e88c90987c12199512d77c24205bc2f67c3b8d1', name: "circle-check", class: "validation", size: "md" })), index.h("nv-iconbutton", { key: 'e169bdd9742569cdcdc087d29ee13f9c097907a9', class: "toggle-calendar-icon", name: "calendar" //{this.open ? 'chevron-top' : 'chevron-down'}
292
357
  ,
293
- size: "md", emphasis: "lower", "aria-label": this.open ? 'Hide calendar' : 'Show calendar', "aria-pressed": this.open.toString(), onClick: this.toggleCalendar, tabIndex: this.disabled ? -1 : 0 })), index.h("slot", { key: '76d584ac756b228e356a17ad36e4558f9a497ea3', name: "after-input" })), index.h("div", { key: '4914e6fa5046fb287bedb841f2a0b71f1f86e5a3', slot: "content" }, index.h("nv-calendar", { key: 'fcfb949ee9c378aac2d7c792ed79fcb3cbf8e987', dateFormat: this.dateFormat, singleValue: this.singleValue, firstDayOfWeek: this.firstDayOfWeek, numberOfCalendars: this.numberOfCalendars, min: this.min, max: this.max, locale: this.locale, shortcutsPlacement: this.shortcutsPlacement, showActions: this.showActions, shortcuts: this.shortcuts, showWeekNumbers: this.showWeekNumbers, disabledDates: this.disabledDates, onValueChanged: this.handleCalendarValueChanged }))), ((this.description && this.description.length > 0) ||
294
- this.el.querySelector('[slot="description"]')) && (index.h("div", { key: '52ffcb5f41161b9dc95c0fc18a252b6568817ffb', class: "description" }, index.h("slot", { key: '91c68f28fe31f5ecfa58d80e5decb018890f18fe', name: "description" }, this.description))), (this.errorDescription ||
295
- this.el.querySelector('[slot="error-description"]')) && (index.h("div", { key: '0c0b8c65f261c2439446dd05014d172e6b829244', hidden: !this.error, class: "error-description" }, this.el.querySelector('[slot="error-description"]') ? (index.h("slot", { name: "error-description" })) : (this.errorDescription))), index.h("slot", { key: 'cf9410ad858faf59d7ada7ce70b18aa768e30a65' })));
358
+ size: "md", emphasis: "lower", "aria-label": this.open ? 'Hide calendar' : 'Show calendar', "aria-pressed": this.open.toString(), onClick: this.toggleCalendar, tabIndex: this.disabled ? -1 : 0 })), index.h("slot", { key: '897e5ba6a908c96fdc55bdd522be3f04e9dd14f8', name: "after-input" })), index.h("div", { key: '6fcb101108ea4536654c2e6204416f899c9f0a04', slot: "content" }, index.h("nv-calendar", { key: 'd4d7c823ad832ed1c8430b041eacaa1db5633a9f', dateFormat: this.dateFormat, singleValue: this.singleValue, firstDayOfWeek: this.firstDayOfWeek, numberOfCalendars: this.numberOfCalendars, min: this.min, max: this.max, locale: this.locale, shortcutsPlacement: this.shortcutsPlacement, showActions: this.showActions, shortcuts: this.shortcuts, showWeekNumbers: this.showWeekNumbers, disabledDates: this.disabledDates, onValueChanged: this.handleCalendarValueChanged }))), ((this.description && this.description.length > 0) ||
359
+ this.el.querySelector('[slot="description"]')) && (index.h("div", { key: 'f76d5dde2222f39883b59a86fe4237818040e03c', class: "description" }, index.h("slot", { key: 'de07e1ee885a5804b352dba6a37898bba500b731', name: "description" }, this.description))), (this.errorDescription ||
360
+ this.el.querySelector('[slot="error-description"]')) && (index.h("div", { key: 'b7dbb4406ee38548f8751f9425a800577f3a3cb2', hidden: !this.error, class: "error-description" }, this.el.querySelector('[slot="error-description"]') ? (index.h("slot", { name: "error-description" })) : (this.errorDescription))), index.h("slot", { key: 'a0170ef43d415238e57f29f985329e40f8ed0c2a' })));
296
361
  }
297
362
  get el() { return index.getElement(this); }
298
363
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"nv-fielddate.entry.cjs.js","mappings":"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","names":["uuidv4","Inputmask","h","Host"],"sources":["src/components/nv-fielddate/styles/nv-fielddate.scss?tag=nv-fielddate","src/components/nv-fielddate/nv-fielddate.tsx"],"sourcesContent":["@import '../../../styles/form-field';\n\nnv-fielddate {\n @include form-field-variables();\n @include form-field-root();\n\n &[fluid]:not([fluid=\"false\"]) {\n @include form-field-fluid();\n }\n\n &[readonly]:not([readonly='false']) {\n @include form-field-readonly-variables();\n }\n\n &[error]:not([error='false']) {\n @include form-field-error-variables();\n }\n\n &[success]:not([success='false']) {\n @include form-field-success-variables();\n }\n\n &[required]:not([required='false']) label {\n @include form-field-label-required();\n }\n\n label {\n @include form-field-label();\n }\n\n nv-popover {\n width: 100%;\n display: block;\n\n [data-scope='popover'] {\n padding: 0;\n background-color: var(--components-list-dropdown-background);\n border: 1px solid var(--components-list-dropdown-border);\n width: auto;\n }\n\n [slot='content'] {\n display: block;\n width: 100%;\n }\n .datepicker-container {\n border: none\n }\n }\n\n .input-wrapper {\n @include form-field-input-wrapper();\n display: flex;\n align-items: center;\n gap: 8px;\n\n .input-container {\n @include form-field-input-container();\n\n input {\n @include form-field-input();\n }\n\n > nv-iconbutton {\n @include form-field-action();\n }\n\n nv-icon.validation {\n @include form-field-icon();\n }\n }\n }\n\n .description {\n @include form-field-description();\n }\n\n .error-description {\n @include form-field-error-description();\n }\n}\n","import {\n Component,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n Listen,\n Host,\n Watch,\n} from '@stencil/core';\nimport Inputmask from 'inputmask';\nimport { v4 as uuidv4 } from 'uuid';\n\n/**\n * @slot default - Child content of the component.\n * @slot leading-input - Content to be placed before the input text, within the input container.\n * @slot before-input - Content to be placed before the input text, outside the input container.\n * @slot after-input - Content to be placed after the input text, outside the input container.\n * @slot label - Content to be placed as the label, will override the label prop.\n * @slot description - Content to be placed as the description, will override the description prop.\n * @slot error-description - Content to be placed as the error description, will override the errorDescription prop.\n */\n@Component({\n tag: 'nv-fielddate',\n styleUrl: 'styles/nv-fielddate.scss',\n shadow: false,\n})\nexport class NvFielddate {\n @Element() el: HTMLNvFielddateElement;\n private inputElement!: HTMLInputElement;\n\n private popoverElement!: HTMLNvPopoverElement;\n private popoverId: string = uuidv4();\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the ID for the input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated.\n */\n @Prop({ reflect: true })\n readonly inputId: string = uuidv4();\n\n /**\n * Text displayed as label. A slot label can override this prop.\n */\n @Prop({ reflect: true })\n readonly label: string;\n\n /**\n * Description displayed below the input. A slot description can override this prop.\n */\n @Prop({ reflect: true })\n readonly description: string;\n\n /**\n * Placeholder for the input field.\n */\n @Prop({ reflect: true })\n readonly placeholder: string;\n\n /**\n * Name attribute for the input.\n */\n @Prop({ reflect: true })\n readonly name: string;\n\n /**\n * Disables the input field.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Sets the input field as read-only.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n /**\n * Marks the input field as required.\n */\n @Prop({ reflect: true })\n readonly required: boolean = false;\n\n /**\n * Indicates an error state.\n */\n @Prop({ reflect: true })\n readonly error: boolean = false;\n\n /**\n * Error description. A slot error-description can override this prop.\n */\n @Prop({ reflect: true })\n readonly errorDescription?: string;\n\n /**\n * Indicates a success state.\n */\n @Prop({ reflect: true })\n readonly success: boolean = false;\n\n /**\n * Autofocus the input when the component is mounted.\n */\n @Prop({ reflect: true })\n // eslint-disable-next-line @stencil-community/reserved-member-names\n readonly autofocus: boolean = false;\n\n /**\n * The initial value of the input (date in string format).\n * @bind value\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n // eslint-disable-next-line @stencil-community/strict-mutable\n @Prop({ reflect: true, mutable: true })\n value: string = '';\n\n /**\n * The current value of the input date in string format.\n */\n @State()\n singleValue: string = '';\n\n /**\n * Controls the opening of the popover.\n */\n @State()\n open: boolean = false;\n\n /**\n * First day of the week 0 = Sunday, 1 = Monday, etc.\n * @default 1\n */\n @Prop({ reflect: true })\n readonly firstDayOfWeek: number = 1;\n\n /**\n * Number of calendars to display\n * @default 1\n */\n @Prop({ reflect: true })\n readonly numberOfCalendars: number = 1;\n\n /**\n * Minimum date for selection ISO string format, ex: 2025-01-01\n */\n @Prop({ reflect: true })\n readonly min?: string = '';\n\n /**\n * Maximum date for selection ISO string format, ex: 2025-12-31\n */\n @Prop({ reflect: true })\n readonly max?: string = '';\n\n /** Locale for date formatting\n * @default 'en-BE'\n */\n @Prop({ reflect: true })\n readonly locale: string = 'en-BE';\n\n /** Date format ex: YYYY-MM-DD, DD-MM-YYYY, etc.\n * @default 'YYYY-MM-DD'\n * @note If the date format is in UTC mode, the date will be displayed in UTC time.\n * @note If the date format is not in UTC mode, the date will be displayed in the local time.\n */\n @Prop({ reflect: true })\n readonly dateFormat: string = 'YYYY-MM-DD';\n\n /**\n * Footer placement\n * @default 'bottom'\n */\n @Prop({ reflect: true })\n readonly shortcutsPlacement: 'bottom' | 'left' | 'right' = 'bottom';\n\n /**\n * Show action buttons\n * @default false\n */\n @Prop({ reflect: true })\n readonly showActions: boolean = false;\n\n /**\n * Custom actions to display in the footer\n */\n @Prop({ reflect: true })\n readonly shortcuts: HTMLNvCalendarElement['shortcuts'];\n\n /**\n * Show week numbers\n * @default true\n */\n @Prop({ reflect: true })\n readonly showWeekNumbers: boolean;\n\n /**\n * Disabled dates ISO string array\n */\n @Prop({ reflect: true })\n readonly disabledDates: Array<string>;\n\n /**\n * Allows the field to stretch and fill the entire width of its container.\n */\n @Prop({ reflect: true })\n readonly fluid: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Converts the nv-calendar date format to the format expected by Inputmask.\n * @param {string} format - The date format.\n * @returns {string} Format adapted for Inputmask.\n */\n private convertToInputmaskFormat(format: string): string {\n switch (format) {\n case 'DD/MM/YYYY':\n return 'dd/mm/yyyy';\n case 'MM/DD/YYYY':\n return 'mm/dd/yyyy';\n case 'YYYY-MM-DD':\n return 'yyyy-mm-dd';\n case 'DD.MM.YYYY':\n return 'dd.mm.yyyy';\n case 'YYYYMMDD':\n return 'yyyymmdd';\n default:\n return format;\n }\n }\n\n /**\n * Closes the popover when a click is detected outside the component.\n * @param {MouseEvent} event - The click event.\n */\n private handleClickOutside = (event: MouseEvent) => {\n if (this.open && this.el && !this.el.contains(event.target as Node)) {\n this.open = false;\n }\n };\n\n /**\n * Focuses the input when the input container is clicked.\n * @param {MouseEvent} event - The click event.\n */\n private handleInputContainerClick = (event: MouseEvent) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n this.inputElement.focus();\n // Select the first characters based on the date format\n const format = this.dateFormat;\n if (format.startsWith('DD')) {\n this.inputElement.setSelectionRange(0, 2);\n } else if (format.startsWith('MM')) {\n this.inputElement.setSelectionRange(0, 2);\n } else if (format.startsWith('YYYY')) {\n this.inputElement.setSelectionRange(0, 4);\n }\n };\n\n /**\n * Handles the input event on the input element.\n * Updates the singleValue and emits the valueChanged event.\n * @param {Event} event - The input event.\n */\n private handleInput = (event: Event) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n return;\n }\n const input = event.target as HTMLInputElement;\n const previousValue = this.value;\n this.singleValue = input.value;\n this.value = input.value;\n // Only emit valueChanged if the value actually changed\n if (previousValue !== input.value) {\n this.valueChanged.emit(input.value);\n }\n };\n\n /**\n * Toggles the opening/closing of the popover.\n */\n private toggleCalendar = () => {\n if (this.readonly || this.disabled) {\n return;\n }\n this.open = !this.open;\n };\n\n /**\n * Handles focus events on the input element.\n * @param {FocusEvent} event - The focus event.\n */\n private handleFocus = (event: FocusEvent) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n (event.target as HTMLElement).blur();\n return;\n }\n };\n\n /**\n * Prevents the valueChanged event from the calendar from propagating up.\n * @param {CustomEvent} event - The valueChanged event from nv-calendar.\n */\n private handleCalendarValueChanged = (event: CustomEvent) => {\n event.stopPropagation();\n };\n\n /**\n * Sets the reference to the popover element.\n * @param {HTMLNvPopoverElement} el - The popover element.\n */\n private setPopoverRef = (el: HTMLNvPopoverElement) => {\n this.popoverElement = el;\n };\n\n /**\n * Sets the reference to the input element.\n * @param {HTMLInputElement} el - The input element.\n */\n private setInputRef = (el: HTMLInputElement) => {\n this.inputElement = el;\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n connectedCallback() {\n document.addEventListener('click', this.handleClickOutside);\n }\n\n componentWillLoad() {\n if (this.value) {\n this.singleValue = this.value;\n }\n }\n\n componentDidLoad() {\n const inputs = this.el.querySelectorAll('.input-wrapper input');\n inputs.forEach((input: HTMLInputElement) => {\n Inputmask({\n alias: 'datetime',\n inputFormat: this.convertToInputmaskFormat(this.dateFormat),\n placeholder: '_'.repeat(this.dateFormat.length),\n }).mask(input);\n });\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.handleClickOutside);\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the value changes (unified value binding).\n * @bind value\n */\n @Event()\n valueChanged: EventEmitter<string>;\n\n /**\n * Handles the single date selection event from nv-calendar.\n * Updates the input value and closes the popover.\n * @param {CustomEvent} event - The event from nv-calendar.\n */\n @Listen('singleDateChange')\n handleSingleDateChange(event: CustomEvent) {\n const value: string = event.detail;\n const previousValue = this.value;\n this.singleValue = value;\n this.value = value;\n // Only emit valueChanged if the value actually changed\n if (previousValue !== value) {\n this.valueChanged.emit(value);\n }\n if (!this.showActions) {\n this.open = false;\n }\n }\n\n @Listen('closePopover')\n handleClosePopover() {\n this.open = false;\n }\n\n @Listen('keydown', { passive: false })\n handleKeyDown(event: KeyboardEvent) {\n if (!this.open) {\n if (event.key === 'ArrowDown') {\n this.open = true;\n\n event.preventDefault();\n return;\n }\n return;\n }\n\n // Verify if the popover element is defined\n if (!this.popoverElement) {\n console.warn('nv-fielddate -> Popover element is not defined');\n return;\n }\n }\n\n @Watch('value')\n handleValueChange(newValue: string) {\n this.singleValue = newValue;\n }\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region RENDER\n render() {\n return (\n <Host>\n {((this.label && this.label.length > 0) ||\n this.el.querySelector('[slot=\"label\"]')) && (\n <label htmlFor={this.inputId}>\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n <nv-popover\n ref={this.setPopoverRef}\n id={this.popoverId}\n triggerMode=\"controlled\"\n placement=\"bottom-start\"\n open={this.open}\n >\n <div slot=\"trigger\" class=\"input-wrapper\">\n <slot name=\"before-input\"></slot>\n\n <div\n class=\"input-container\"\n onClick={this.handleInputContainerClick}\n >\n <slot name=\"leading-input\"></slot>\n\n <input\n id={this.inputId}\n ref={this.setInputRef}\n placeholder={this.placeholder}\n name={this.name}\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n autofocus={this.autofocus}\n value={this.singleValue}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n data-scope=\"date\"\n />\n\n {this.error && (\n <nv-icon name=\"alert-circle\" class=\"validation\" size=\"md\" />\n )}\n {this.success && (\n <nv-icon name=\"circle-check\" class=\"validation\" size=\"md\" />\n )}\n\n <nv-iconbutton\n class=\"toggle-calendar-icon\"\n name=\"calendar\" //{this.open ? 'chevron-top' : 'chevron-down'}\n size=\"md\"\n emphasis=\"lower\"\n aria-label={this.open ? 'Hide calendar' : 'Show calendar'}\n aria-pressed={this.open.toString()}\n onClick={this.toggleCalendar}\n tabIndex={this.disabled ? -1 : 0}\n />\n </div>\n\n <slot name=\"after-input\"></slot>\n </div>\n\n <div slot=\"content\">\n <nv-calendar\n dateFormat={this.dateFormat}\n singleValue={this.singleValue}\n firstDayOfWeek={this.firstDayOfWeek}\n numberOfCalendars={this.numberOfCalendars}\n min={this.min}\n max={this.max}\n locale={this.locale}\n shortcutsPlacement={this.shortcutsPlacement}\n showActions={this.showActions}\n shortcuts={this.shortcuts}\n showWeekNumbers={this.showWeekNumbers}\n disabledDates={this.disabledDates}\n onValueChanged={this.handleCalendarValueChanged}\n ></nv-calendar>\n </div>\n </nv-popover>\n\n {((this.description && this.description.length > 0) ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n\n {(this.errorDescription ||\n this.el.querySelector('[slot=\"error-description\"]')) && (\n <div hidden={!this.error} class=\"error-description\">\n {this.el.querySelector('[slot=\"error-description\"]') ? (\n <slot name=\"error-description\"></slot>\n ) : (\n this.errorDescription\n )}\n </div>\n )}\n\n <slot></slot>\n </Host>\n );\n }\n //#endregion RENDER\n}\n"],"version":3}
1
+ {"file":"nv-fielddate.entry.cjs.js","mappings":";;;;;;;;;AAAA,MAAM,cAAc,GAAG,4mPAA4mP,CAAC;AACpoP,0BAAe,cAAc;;MC6ChB,WAAW;IALxB;;;QAUU,cAAS,GAAWA,KAAM,EAAE,CAAC;;;;;;;QAU5B,YAAO,GAAWA,KAAM,EAAE,CAAC;;;;QA8B3B,aAAQ,GAAY,KAAK,CAAC;;;;QAM1B,aAAQ,GAAY,KAAK,CAAC;;;;QAM1B,aAAQ,GAAY,KAAK,CAAC;;;;QAM1B,UAAK,GAAY,KAAK,CAAC;;;;QAYvB,YAAO,GAAY,KAAK,CAAC;;;;QAOzB,cAAS,GAAY,KAAK,CAAC;;;;;;;QASpC,UAAK,GAAW,EAAE,CAAC;;;;QAMnB,gBAAW,GAAW,EAAE,CAAC;;;;QAYzB,SAAI,GAAY,KAAK,CAAC;;;;;QAOb,mBAAc,GAAW,CAAC,CAAC;;;;;QAO3B,sBAAiB,GAAW,CAAC,CAAC;;;;QAM9B,QAAG,GAAY,EAAE,CAAC;;;;QAMlB,QAAG,GAAY,EAAE,CAAC;;;;QAMlB,WAAM,GAAW,OAAO,CAAC;;;;;;QAQzB,eAAU,GAAW,YAAY,CAAC;;;;;QAOlC,uBAAkB,GAAgC,QAAQ,CAAC;;;;;QAO3D,gBAAW,GAAY,KAAK,CAAC;;;;QAyB7B,UAAK,GAAY,KAAK,CAAC;;;;;QAgCxB,uBAAkB,GAAG,CAAC,KAAiB;YAC7C,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,EAAE;gBACnE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;aACnB;SACF,CAAC;;;;;QAMM,8BAAyB,GAAG,CAAC,KAAiB;YACpD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAClC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,OAAO;aACR;YACD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;;YAE1B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;YAC/B,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBACtD,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC3C;iBAAM,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;gBACpC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC3C;SACF,CAAC;;;;;;QAOM,gBAAW,GAAG,CAAC,KAAY;YACjC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAClC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,OAAO;aACR;YACD,MAAM,KAAK,GAAG,KAAK,CAAC,MAA0B,CAAC;YAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;YACjC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC;YAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;;YAEzB,IAAI,aAAa,KAAK,KAAK,CAAC,KAAK,EAAE;gBACjC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACrC;SACF,CAAC;;;;QAKM,wBAAmB,GAAG;YAC5B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAE7B,IAAK,IAAI,CAAC,YAA8C,CAAC,SAAS,EAAE;gBAClE,OAAO;aACR;YAED,MAAM,SAAS,GAAG,IAAIC,mBAAS,CAAC;gBAC9B,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC3D,WAAW,EAAE,GAAG;gBAChB,WAAW,EAAE,KAAK;gBAClB,eAAe,EAAE,KAAK;gBACtB,eAAe,EAAE,KAAK;gBACtB,eAAe,EAAE,KAAK;gBACtB,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,KAAK;gBACjB,UAAU,EAAE,UAAU,CAAC;oBACrB,MAAM,KAAK,GAAG,CAAC,CAAC,MAA0B,CAAC;oBAC3C,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC1D,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;iBAC5B;aACF,CAAC,CAAC;YACH,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;;YAGlC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;gBAC5D,qBAAqB,CAAC;oBACpB,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;oBAC3C,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC1D,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;iBACxC,CAAC,CAAC;aACJ;SACF,CAAC;;;;;;QAOM,4BAAuB,GAAG,CAAC,KAAoB;YACrD,MAAM,WAAW,GAAG;gBAClB,WAAW;gBACX,QAAQ;gBACR,KAAK;gBACL,WAAW;gBACX,YAAY;gBACZ,SAAS;gBACT,WAAW;gBACX,MAAM;gBACN,KAAK;aACN,CAAC;YAEF,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACxB,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACnC,SAAS,EACT,IAAI,CAAC,uBAAuB,CAC7B,CAAC;aACH;iBAAM,IACL,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;gBAChC,CAAC,KAAK,CAAC,OAAO;gBACd,CAAC,KAAK,CAAC,OAAO,EACd;gBACA,KAAK,CAAC,cAAc,EAAE,CAAC;aACxB;SACF,CAAC;;;;;QAMM,gBAAW,GAAG,CAAC,KAAiB;YACtC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAClC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACtB,KAAK,CAAC,MAAsB,CAAC,IAAI,EAAE,CAAC;gBACrC,OAAO;aACR;YAED,IAAI,CAAE,IAAI,CAAC,YAA8C,CAAC,SAAS,EAAE;gBACnE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAChC,SAAS,EACT,IAAI,CAAC,uBAAuB,CAC7B,CAAC;aACH;YAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB,CAAC;;;;QAKM,eAAU,GAAG;YACnB,IAAI,CAAC,YAAY,CAAC,mBAAmB,CACnC,SAAS,EACT,IAAI,CAAC,uBAAuB,CAC7B,CAAC;SACH,CAAC;;;;;QAMM,+BAA0B,GAAG,CAAC,KAAkB;YACtD,KAAK,CAAC,eAAe,EAAE,CAAC;SACzB,CAAC;;;;;QAMM,kBAAa,GAAG,CAAC,EAAwB;YAC/C,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;SAC1B,CAAC;;;;;QAMM,gBAAW,GAAG,CAAC,EAAoB;YACzC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SACxB,CAAC;;;;QAKM,mBAAc,GAAG;YACvB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAClC,OAAO;aACR;YACD,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB,CAAC;KAwMH;;;;;;;;;IAlZS,wBAAwB,CAAC,MAAc;;QAE7C,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,YAAY,CAAC;SACrB;QAED,MAAM,SAAS,GAAG;YAChB,YAAY,EAAE,YAAY;YAC1B,YAAY,EAAE,YAAY;YAC1B,YAAY,EAAE,YAAY;YAC1B,YAAY,EAAE,YAAY;YAC1B,UAAU,EAAE,UAAU;SACvB,CAAC;QAEF,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC;KAC1C;;;;IAiMD,iBAAiB;QACf,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;KAC7D;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;SAC/B;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC;KAC/D;IAED,gBAAgB;;KAEf;IAED,oBAAoB;QAClB,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/D,IACE,IAAI,CAAC,YAAY;YAChB,IAAI,CAAC,YAA8C,CAAC,SAAS,EAC9D;YACC,IAAI,CAAC,YAA8C,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;SACzE;KACF;;;;;;IAmBD,sBAAsB,CAAC,KAAkB;QACvC,MAAM,KAAK,GAAW,KAAK,CAAC,MAAM,CAAC;QACnC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;;QAEnB,IAAI,aAAa,KAAK,KAAK,EAAE;YAC3B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC/B;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;SACnB;KACF;IAGD,kBAAkB;QAChB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;KACnB;IAGD,aAAa,CAAC,KAAoB;QAChC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE;gBAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBAEjB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,OAAO;aACR;YACD,OAAO;SACR;;QAGD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAC/D,OAAO;SACR;KACF;IAGD,iBAAiB,CAAC,QAAgB;QAChC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;KAC7B;;;;IAKD,MAAM;QACJ,QACEC,QAACC,UAAI,uDACF,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YACpC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,MACvCD,oEAAO,OAAO,EAAE,IAAI,CAAC,OAAO,IAC1BA,mEAAM,IAAI,EAAC,OAAO,IAAE,IAAI,CAAC,KAAK,CAAQ,CAChC,CACT,EAEDA,yEACE,GAAG,EAAE,IAAI,CAAC,aAAa,EACvB,EAAE,EAAE,IAAI,CAAC,SAAS,EAClB,WAAW,EAAC,YAAY,EACxB,SAAS,EAAC,cAAc,EACxB,IAAI,EAAE,IAAI,CAAC,IAAI,IAEfA,kEAAK,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,eAAe,IACvCA,mEAAM,IAAI,EAAC,cAAc,GAAQ,EAEjCA,kEACE,KAAK,EAAC,iBAAiB,EACvB,OAAO,EAAE,IAAI,CAAC,yBAAyB,IAEvCA,mEAAM,IAAI,EAAC,eAAe,GAAQ,EAElCA,oEACE,EAAE,EAAE,IAAI,CAAC,OAAO,EAChB,GAAG,EAAE,IAAI,CAAC,WAAW,EACrB,WAAW,EAAE,IAAI,CAAC,kBAAkB,EACpC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,KAAK,EAAE,IAAI,CAAC,WAAW,EACvB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,MAAM,EAAE,IAAI,CAAC,UAAU,gBACZ,MAAM,GACjB,EAED,IAAI,CAAC,KAAK,KACTA,sEAAS,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,YAAY,EAAC,IAAI,EAAC,IAAI,GAAG,CAC7D,EACA,IAAI,CAAC,OAAO,KACXA,sEAAS,IAAI,EAAC,cAAc,EAAC,KAAK,EAAC,YAAY,EAAC,IAAI,EAAC,IAAI,GAAG,CAC7D,EAEDA,4EACE,KAAK,EAAC,sBAAsB,EAC5B,IAAI,EAAC,UAAU;;YACf,IAAI,EAAC,IAAI,EACT,QAAQ,EAAC,OAAO,gBACJ,IAAI,CAAC,IAAI,GAAG,eAAe,GAAG,eAAe,kBAC3C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAClC,OAAO,EAAE,IAAI,CAAC,cAAc,EAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,GAChC,CACE,EAENA,mEAAM,IAAI,EAAC,aAAa,GAAQ,CAC5B,EAENA,kEAAK,IAAI,EAAC,SAAS,IACjBA,0EACE,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAC3C,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,cAAc,EAAE,IAAI,CAAC,0BAA0B,GAClC,CACX,CACK,EAEZ,CAAC,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YAChD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAC,MAC7CA,kEAAK,KAAK,EAAC,aAAa,IACtBA,mEAAM,IAAI,EAAC,aAAa,IAAE,IAAI,CAAC,WAAW,CAAQ,CAC9C,CACP,EAEA,CAAC,IAAI,CAAC,gBAAgB;YACrB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,4BAA4B,CAAC,MACnDA,kEAAK,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAC,mBAAmB,IAChD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,4BAA4B,CAAC,IAClDA,kBAAM,IAAI,EAAC,mBAAmB,GAAQ,KAEtC,IAAI,CAAC,gBAAgB,CACtB,CACG,CACP,EAEDA,oEAAa,CACR,EACP;KACH;;;;;;;;;;","names":["uuidv4","Inputmask","h","Host"],"sources":["src/components/nv-fielddate/styles/nv-fielddate.scss?tag=nv-fielddate","src/components/nv-fielddate/nv-fielddate.tsx"],"sourcesContent":["@import '../../../styles/form-field';\n\nnv-fielddate {\n @include form-field-variables();\n @include form-field-root();\n\n &[fluid]:not([fluid=\"false\"]) {\n @include form-field-fluid();\n }\n\n &[readonly]:not([readonly='false']) {\n @include form-field-readonly-variables();\n }\n\n &[error]:not([error='false']) {\n @include form-field-error-variables();\n }\n\n &[success]:not([success='false']) {\n @include form-field-success-variables();\n }\n\n &[required]:not([required='false']) label {\n @include form-field-label-required();\n }\n\n label {\n @include form-field-label();\n }\n\n nv-popover {\n width: 100%;\n display: block;\n\n [data-scope='popover'] {\n padding: 0;\n background-color: var(--components-list-dropdown-background);\n border: 1px solid var(--components-list-dropdown-border);\n width: auto;\n }\n\n [slot='content'] {\n display: block;\n width: 100%;\n }\n .datepicker-container {\n border: none\n }\n }\n\n .input-wrapper {\n @include form-field-input-wrapper();\n display: flex;\n align-items: center;\n gap: 8px;\n\n .input-container {\n @include form-field-input-container();\n\n input {\n @include form-field-input();\n font-feature-settings: 'tnum';\n font-family: \"TTNorms Pro Mono\", monospace;\n }\n\n > nv-iconbutton {\n @include form-field-action();\n }\n\n nv-icon.validation {\n @include form-field-icon();\n }\n }\n }\n\n .description {\n @include form-field-description();\n }\n\n .error-description {\n @include form-field-error-description();\n }\n}\n","import {\n Component,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n Listen,\n Host,\n Watch,\n} from '@stencil/core';\nimport Inputmask from 'inputmask';\nimport { v4 as uuidv4 } from 'uuid';\n\n/**\n * Extends HTMLInputElement to include the inputmask property.\n */\ninterface HTMLInputElementWithInputmask extends HTMLInputElement {\n /**\n * The inputmask instance that provides masking functionality.\n */\n inputmask?: {\n /**\n * Removes the inputmask instance.\n */\n remove: () => void;\n };\n}\n\n/**\n * A field date component that combines an input with a calendar popover.\n *\n * @slot default - Child content of the component.\n * @slot leading-input - Content to be placed before the input text, within the input container.\n * @slot before-input - Content to be placed before the input text, outside the input container.\n * @slot after-input - Content to be placed after the input text, outside the input container.\n * @slot label - Content to be placed as the label, will override the label prop.\n * @slot description - Content to be placed as the description, will override the description prop.\n * @slot error-description - Content to be placed as the error description, will override the errorDescription prop.\n */\n@Component({\n tag: 'nv-fielddate',\n styleUrl: 'styles/nv-fielddate.scss',\n shadow: false,\n})\nexport class NvFielddate {\n @Element() el: HTMLNvFielddateElement;\n private inputElement!: HTMLInputElement;\n\n private popoverElement!: HTMLNvPopoverElement;\n private popoverId: string = uuidv4();\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the ID for the input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated.\n */\n @Prop({ reflect: true })\n readonly inputId: string = uuidv4();\n\n /**\n * Text displayed as label. A slot label can override this prop.\n */\n @Prop({ reflect: true })\n readonly label: string;\n\n /**\n * Description displayed below the input. A slot description can override this prop.\n */\n @Prop({ reflect: true })\n readonly description: string;\n\n /**\n * Placeholder for the input field.\n */\n @Prop({ reflect: true })\n readonly placeholder: string;\n\n /**\n * Name attribute for the input.\n */\n @Prop({ reflect: true })\n readonly name: string;\n\n /**\n * Disables the input field.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Sets the input field as read-only.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n /**\n * Marks the input field as required.\n */\n @Prop({ reflect: true })\n readonly required: boolean = false;\n\n /**\n * Indicates an error state.\n */\n @Prop({ reflect: true })\n readonly error: boolean = false;\n\n /**\n * Error description. A slot error-description can override this prop.\n */\n @Prop({ reflect: true })\n readonly errorDescription?: string;\n\n /**\n * Indicates a success state.\n */\n @Prop({ reflect: true })\n readonly success: boolean = false;\n\n /**\n * Autofocus the input when the component is mounted.\n */\n @Prop({ reflect: true })\n // eslint-disable-next-line @stencil-community/reserved-member-names\n readonly autofocus: boolean = false;\n\n /**\n * The initial value of the input (date in string format).\n * @bind value\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n // eslint-disable-next-line @stencil-community/strict-mutable\n @Prop({ reflect: true, mutable: true })\n value: string = '';\n\n /**\n * The current value of the input date in string format.\n */\n @State()\n singleValue: string = '';\n\n /**\n * The placeholder to display in the input.\n */\n @State()\n currentPlaceholder: string;\n\n /**\n * Controls the opening of the popover.\n */\n @State()\n open: boolean = false;\n\n /**\n * First day of the week 0 = Sunday, 1 = Monday, etc.\n * @default 1\n */\n @Prop({ reflect: true })\n readonly firstDayOfWeek: number = 1;\n\n /**\n * Number of calendars to display\n * @default 1\n */\n @Prop({ reflect: true })\n readonly numberOfCalendars: number = 1;\n\n /**\n * Minimum date for selection ISO string format, ex: 2025-01-01\n */\n @Prop({ reflect: true })\n readonly min?: string = '';\n\n /**\n * Maximum date for selection ISO string format, ex: 2025-12-31\n */\n @Prop({ reflect: true })\n readonly max?: string = '';\n\n /** Locale for date formatting\n * @default 'en-BE'\n */\n @Prop({ reflect: true })\n readonly locale: string = 'en-BE';\n\n /** Date format ex: YYYY-MM-DD, DD-MM-YYYY, etc.\n * @default 'YYYY-MM-DD'\n * @note If the date format is in UTC mode, the date will be displayed in UTC time.\n * @note If the date format is not in UTC mode, the date will be displayed in the local time.\n */\n @Prop({ reflect: true })\n readonly dateFormat: string = 'YYYY-MM-DD';\n\n /**\n * Footer placement\n * @default 'bottom'\n */\n @Prop({ reflect: true })\n readonly shortcutsPlacement: 'bottom' | 'left' | 'right' = 'bottom';\n\n /**\n * Show action buttons\n * @default false\n */\n @Prop({ reflect: true })\n readonly showActions: boolean = false;\n\n /**\n * Custom actions to display in the footer\n */\n @Prop({ reflect: true })\n readonly shortcuts: HTMLNvCalendarElement['shortcuts'];\n\n /**\n * Show week numbers\n * @default true\n */\n @Prop({ reflect: true })\n readonly showWeekNumbers: boolean;\n\n /**\n * Disabled dates ISO string array\n */\n @Prop({ reflect: true })\n readonly disabledDates: Array<string>;\n\n /**\n * Allows the field to stretch and fill the entire width of its container.\n */\n @Prop({ reflect: true })\n readonly fluid: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Converts the nv-calendar date format to the format expected by Inputmask.\n * @param {string} format - The date format.\n * @returns {string} Format adapted for Inputmask.\n */\n private convertToInputmaskFormat(format: string): string {\n // If the format is not specified, use the default format\n if (!format) {\n return 'dd/mm/yyyy';\n }\n\n const formatMap = {\n 'DD/MM/YYYY': 'dd/mm/yyyy',\n 'MM/DD/YYYY': 'mm/dd/yyyy',\n 'YYYY-MM-DD': 'yyyy-mm-dd',\n 'DD.MM.YYYY': 'dd.mm.yyyy',\n 'YYYYMMDD': 'yyyymmdd',\n };\n\n return formatMap[format] || 'dd/mm/yyyy';\n }\n\n /**\n * Closes the popover when a click is detected outside the component.\n * @param {MouseEvent} event - The click event.\n */\n private handleClickOutside = (event: MouseEvent) => {\n if (this.open && this.el && !this.el.contains(event.target as Node)) {\n this.open = false;\n }\n };\n\n /**\n * Focuses the input when the input container is clicked.\n * @param {MouseEvent} event - The click event.\n */\n private handleInputContainerClick = (event: MouseEvent) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n this.inputElement.focus();\n // Select the first characters based on the date format\n const format = this.dateFormat;\n if (format.startsWith('DD') || format.startsWith('MM')) {\n this.inputElement.setSelectionRange(0, 2);\n } else if (format.startsWith('YYYY')) {\n this.inputElement.setSelectionRange(0, 4);\n }\n };\n\n /**\n * Handles the input event on the input element.\n * Updates the singleValue and emits the valueChanged event.\n * @param {Event} event - The input event.\n */\n private handleInput = (event: Event) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n return;\n }\n const input = event.target as HTMLInputElement;\n const previousValue = this.value;\n this.singleValue = input.value;\n this.value = input.value;\n // Only emit valueChanged if the value actually changed\n if (previousValue !== input.value) {\n this.valueChanged.emit(input.value);\n }\n };\n\n /**\n * Initializes the input mask.\n */\n private initializeInputMask = () => {\n this.currentPlaceholder = '';\n\n if ((this.inputElement as HTMLInputElementWithInputmask).inputmask) {\n return;\n }\n\n const inputMask = new Inputmask({\n alias: 'datetime',\n inputFormat: this.convertToInputmaskFormat(this.dateFormat),\n placeholder: ' ',\n prefillYear: false,\n clearIncomplete: false,\n showMaskOnHover: false,\n showMaskOnFocus: false,\n clearMaskOnLostFocus: false,\n insertMode: true,\n rightAlign: false,\n oncomplete: function (e) {\n const input = e.target as HTMLInputElement;\n const event = new CustomEvent('input', { bubbles: true });\n input.dispatchEvent(event);\n },\n });\n inputMask.mask(this.inputElement);\n\n // Set the value after applying the mask\n if (this.inputElement.name === this.name && this.singleValue) {\n requestAnimationFrame(() => {\n this.inputElement.value = this.singleValue;\n const event = new CustomEvent('input', { bubbles: true });\n this.inputElement.dispatchEvent(event);\n });\n }\n };\n\n /**\n * Handles keydown events on the input before the mask is initialized.\n * Initializes the mask on the first number input.\n * @param {KeyboardEvent} event - The keyboard event.\n */\n private handleKeydownBeforeMask = (event: KeyboardEvent) => {\n const allowedKeys = [\n 'Backspace',\n 'Delete',\n 'Tab',\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n ];\n\n if (/\\d/.test(event.key)) {\n this.initializeInputMask();\n this.inputElement.removeEventListener(\n 'keydown',\n this.handleKeydownBeforeMask,\n );\n } else if (\n !allowedKeys.includes(event.key) &&\n !event.metaKey &&\n !event.ctrlKey\n ) {\n event.preventDefault();\n }\n };\n\n /**\n * Handles focus events on the input element.\n * @param {FocusEvent} event - The focus event.\n */\n private handleFocus = (event: FocusEvent) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n (event.target as HTMLElement).blur();\n return;\n }\n\n if (!(this.inputElement as HTMLInputElementWithInputmask).inputmask) {\n this.inputElement.addEventListener(\n 'keydown',\n this.handleKeydownBeforeMask,\n );\n }\n\n this.open = true;\n };\n\n /**\n * Handles blur events on the input element.\n */\n private handleBlur = () => {\n this.inputElement.removeEventListener(\n 'keydown',\n this.handleKeydownBeforeMask,\n );\n };\n\n /**\n * Prevents the valueChanged event from the calendar from propagating up.\n * @param {CustomEvent} event - The valueChanged event from nv-calendar.\n */\n private handleCalendarValueChanged = (event: CustomEvent) => {\n event.stopPropagation();\n };\n\n /**\n * Sets the reference to the popover element.\n * @param {HTMLNvPopoverElement} el - The popover element.\n */\n private setPopoverRef = (el: HTMLNvPopoverElement) => {\n this.popoverElement = el;\n };\n\n /**\n * Sets the reference to the input element.\n * @param {HTMLInputElement} el - The input element.\n */\n private setInputRef = (el: HTMLInputElement) => {\n this.inputElement = el;\n };\n\n /**\n * Toggles the opening/closing of the popover.\n */\n private toggleCalendar = () => {\n if (this.readonly || this.disabled) {\n return;\n }\n this.open = !this.open;\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n connectedCallback() {\n document.addEventListener('click', this.handleClickOutside);\n }\n\n componentWillLoad() {\n if (this.value) {\n this.singleValue = this.value;\n }\n this.currentPlaceholder = this.placeholder || this.dateFormat;\n }\n\n componentDidLoad() {\n // Inputmask is now initialized on the first keypress\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.handleClickOutside);\n if (\n this.inputElement &&\n (this.inputElement as HTMLInputElementWithInputmask).inputmask\n ) {\n (this.inputElement as HTMLInputElementWithInputmask).inputmask.remove();\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the value changes (unified value binding).\n * @bind value\n */\n @Event()\n valueChanged: EventEmitter<string>;\n\n /**\n * Handles the single date selection event from nv-calendar.\n * Updates the input value and closes the popover.\n * @param {CustomEvent} event - The event from nv-calendar.\n */\n @Listen('singleDateChange')\n handleSingleDateChange(event: CustomEvent) {\n const value: string = event.detail;\n const previousValue = this.value;\n this.singleValue = value;\n this.value = value;\n // Only emit valueChanged if the value actually changed\n if (previousValue !== value) {\n this.valueChanged.emit(value);\n }\n if (!this.showActions) {\n this.open = false;\n }\n }\n\n @Listen('closePopover')\n handleClosePopover() {\n this.open = false;\n }\n\n @Listen('keydown', { passive: false })\n handleKeyDown(event: KeyboardEvent) {\n if (!this.open) {\n if (event.key === 'ArrowDown') {\n this.open = true;\n\n event.preventDefault();\n return;\n }\n return;\n }\n\n // Verify if the popover element is defined\n if (!this.popoverElement) {\n console.warn('nv-fielddate -> Popover element is not defined');\n return;\n }\n }\n\n @Watch('value')\n handleValueChange(newValue: string) {\n this.singleValue = newValue;\n }\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region RENDER\n render() {\n return (\n <Host>\n {((this.label && this.label.length > 0) ||\n this.el.querySelector('[slot=\"label\"]')) && (\n <label htmlFor={this.inputId}>\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n <nv-popover\n ref={this.setPopoverRef}\n id={this.popoverId}\n triggerMode=\"controlled\"\n placement=\"bottom-start\"\n open={this.open}\n >\n <div slot=\"trigger\" class=\"input-wrapper\">\n <slot name=\"before-input\"></slot>\n\n <div\n class=\"input-container\"\n onClick={this.handleInputContainerClick}\n >\n <slot name=\"leading-input\"></slot>\n\n <input\n id={this.inputId}\n ref={this.setInputRef}\n placeholder={this.currentPlaceholder}\n name={this.name}\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n autofocus={this.autofocus}\n value={this.singleValue}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n data-scope=\"date\"\n />\n\n {this.error && (\n <nv-icon name=\"alert-circle\" class=\"validation\" size=\"md\" />\n )}\n {this.success && (\n <nv-icon name=\"circle-check\" class=\"validation\" size=\"md\" />\n )}\n\n <nv-iconbutton\n class=\"toggle-calendar-icon\"\n name=\"calendar\" //{this.open ? 'chevron-top' : 'chevron-down'}\n size=\"md\"\n emphasis=\"lower\"\n aria-label={this.open ? 'Hide calendar' : 'Show calendar'}\n aria-pressed={this.open.toString()}\n onClick={this.toggleCalendar}\n tabIndex={this.disabled ? -1 : 0}\n />\n </div>\n\n <slot name=\"after-input\"></slot>\n </div>\n\n <div slot=\"content\">\n <nv-calendar\n dateFormat={this.dateFormat}\n singleValue={this.singleValue}\n firstDayOfWeek={this.firstDayOfWeek}\n numberOfCalendars={this.numberOfCalendars}\n min={this.min}\n max={this.max}\n locale={this.locale}\n shortcutsPlacement={this.shortcutsPlacement}\n showActions={this.showActions}\n shortcuts={this.shortcuts}\n showWeekNumbers={this.showWeekNumbers}\n disabledDates={this.disabledDates}\n onValueChanged={this.handleCalendarValueChanged}\n ></nv-calendar>\n </div>\n </nv-popover>\n\n {((this.description && this.description.length > 0) ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n\n {(this.errorDescription ||\n this.el.querySelector('[slot=\"error-description\"]')) && (\n <div hidden={!this.error} class=\"error-description\">\n {this.el.querySelector('[slot=\"error-description\"]') ? (\n <slot name=\"error-description\"></slot>\n ) : (\n this.errorDescription\n )}\n </div>\n )}\n\n <slot></slot>\n </Host>\n );\n }\n //#endregion RENDER\n}\n"],"version":3}
@@ -447,10 +447,10 @@ const NvFielddaterange = class {
447
447
  /****************************************************************************/
448
448
  //#region RENDER
449
449
  render() {
450
- return (index.h(index.Host, { key: '465121dc54f228353f5e0416de7a6889881244d7' }, ((this.label && this.label.length > 0) ||
451
- this.el.querySelector('[slot="label"]')) && (index.h("label", { key: '7d49a2c5114d5d15f7e078e2fbbfe67c3200c329', htmlFor: this.startInputId }, index.h("slot", { key: 'b16d2baa2541b4f08bf038fb67749ee4b79b6567', name: "label" }, this.label))), index.h("nv-popover", { key: 'e5df35c897f8241d068eb54f94428a1a72f8cd34', ref: el => (this.popoverElement = el), id: this.popoverId, triggerMode: "controlled", placement: "bottom-start", open: this.open }, index.h("div", { key: 'ea9cc60c12b0d141e9848781fd37152e8987901d', slot: "trigger", class: "input-wrapper" }, index.h("slot", { key: 'ee646b624af619c46a5d27b6ccab9de3adafd2b8', name: "before-input" }), index.h("div", { key: 'bb1d2196576e40957ebf8a1a3b35c49432eb8202', class: "input-container" }, index.h("slot", { key: '29f3b2a8d06e1e2adfcfbafb80d5770d404df7b9', name: "leading-input" }), index.h("div", { key: '5703a0d07400177971b0204803389e2550c1a774', class: "range-inputs" }, index.h("input", { key: '9005cfb0e5d7b21ce934ac4938e81a5abac57c64', id: this.startInputId, type: "text", placeholder: this.startPlaceholder, name: this.startName, disabled: this.disabled, readOnly: this.readonly, required: this.required, autofocus: this.autofocus, value: this.startValue, onInput: this.handleStartInput, onFocus: this.handleFocus, "data-scope": "date-range" }), index.h("div", { key: '039104ceddbd8c19577245e95108abd444a17db4', class: "range-separator" }), index.h("input", { key: 'b55cbf8f5abc64384d050504c41a144d01ec3487', id: this.endInputId, type: "text", placeholder: this.endPlaceholder, name: this.endName, disabled: this.disabled, readOnly: this.readonly, required: this.required, value: this.endValue, onInput: this.handleEndInput, onFocus: this.handleFocus, "data-scope": "date-range" })), this.error && (index.h("nv-icon", { key: '85deffe8b8fe96fd4aab624ef787c52dd04040f9', name: "alert-circle", class: "validation", size: "md" })), this.success && (index.h("nv-icon", { key: '35ed30cb3394f9162883c73406b627aea05ffa64', name: "circle-check", class: "validation", size: "md" })), index.h("nv-iconbutton", { key: '6013c80bacd8183f0d2e2f2bfb176b937070fff2', class: "toggle-calendar-icon", name: "calendar", size: "md", emphasis: "lower", "aria-label": this.open ? 'Hide calendar' : 'Show calendar', "aria-pressed": this.open.toString(), onClick: this.toggleCalendar, tabIndex: this.disabled ? -1 : 0 })), index.h("slot", { key: 'd5a00d1a0e49a5a03a6f63dfbdba8073f32543c5', name: "after-input" })), index.h("div", { key: 'b42689f8f233417af0f84eb8fbc41b60e28fcf4e', slot: "content" }, index.h("nv-calendar", { key: '5d581f7c5a6fab5933580733a8b22acddb62bc95', ref: el => (this.calendarElement = el), dateFormat: this.dateFormat, value: this.value, firstDayOfWeek: this.firstDayOfWeek, numberOfCalendars: this.numberOfCalendars, min: this.min, max: this.max, locale: this.locale, shortcutsPlacement: this.shortcutsPlacement, showActions: this.showActions, shortcuts: this.shortcuts, showWeekNumbers: this.showWeekNumbers, disabledDates: this.disabledDates, selectionType: "range", "data-prevent-navigation": "true" }))), ((this.description && this.description.length > 0) ||
452
- this.el.querySelector('[slot="description"]')) && (index.h("div", { key: '3774d441e866da984a96282978066a4f4ad31f4f', class: "description" }, index.h("slot", { key: '3c7166a46a880fb5d09f6070ac3f502e69935fc2', name: "description" }, this.description))), (this.errorDescription ||
453
- this.el.querySelector('[slot="error-description"]')) && (index.h("div", { key: 'b9dad22b19e4b5d2bca41cf361490a7626f025ea', hidden: !this.error, class: "error-description" }, this.el.querySelector('[slot="error-description"]') ? (index.h("slot", { name: "error-description" })) : (this.errorDescription))), index.h("slot", { key: '79a3f83127cbcc61f63efe42c8bffa607af33360' })));
450
+ return (index.h(index.Host, { key: 'b2033314494faca72c310df329eab3918fe6935e' }, ((this.label && this.label.length > 0) ||
451
+ this.el.querySelector('[slot="label"]')) && (index.h("label", { key: '22e0af3e24bada8d859bcf42de0dfcedff9f5988', htmlFor: this.startInputId }, index.h("slot", { key: '8eb3e4e1a4c67c0d9cd014aa2c73b6fc2ecb1a8f', name: "label" }, this.label))), index.h("nv-popover", { key: 'f9c722e792ba69738df080975f78ea3dfeb40f07', ref: el => (this.popoverElement = el), id: this.popoverId, triggerMode: "controlled", placement: "bottom-start", open: this.open }, index.h("div", { key: '805c98d4a9e1defc74c0b751691e413dfbcfa736', slot: "trigger", class: "input-wrapper" }, index.h("slot", { key: 'd84ddf0a0732a68392c79baab9cde23be6b1b27e', name: "before-input" }), index.h("div", { key: '4f3cfab2e9a83dacc0f950bc319192b568f90258', class: "input-container" }, index.h("slot", { key: '2d8dd5e11369dc9bd1894e299f96b41806295568', name: "leading-input" }), index.h("div", { key: 'b60b40b275099441071b130bed7d097e8c1dcbcb', class: "range-inputs" }, index.h("input", { key: 'b7c647676fa5e48d51e7b7f1cf83e4a0275805ec', id: this.startInputId, type: "text", placeholder: this.startPlaceholder, name: this.startName, disabled: this.disabled, readOnly: this.readonly, required: this.required, autofocus: this.autofocus, value: this.startValue, onInput: this.handleStartInput, onFocus: this.handleFocus, "data-scope": "date-range" }), index.h("div", { key: '3e63ececeeff713f51db0a47e3d3b4f305e6fc66', class: "range-separator" }), index.h("input", { key: '1c54a2e3f43ad077bfe9e9b17886300d06840bfd', id: this.endInputId, type: "text", placeholder: this.endPlaceholder, name: this.endName, disabled: this.disabled, readOnly: this.readonly, required: this.required, value: this.endValue, onInput: this.handleEndInput, onFocus: this.handleFocus, "data-scope": "date-range" })), this.error && (index.h("nv-icon", { key: '971b363f7fafbaeba65a161c1d7792d2bcacacf6', name: "alert-circle", class: "validation", size: "md" })), this.success && (index.h("nv-icon", { key: '0f498b287b4c9ad9f83a0d380c522441b8afdf6e', name: "circle-check", class: "validation", size: "md" })), index.h("nv-iconbutton", { key: '257549f7c201391c083f28f1b89ffa3a439f268c', class: "toggle-calendar-icon", name: "calendar", size: "md", emphasis: "lower", "aria-label": this.open ? 'Hide calendar' : 'Show calendar', "aria-pressed": this.open.toString(), onClick: this.toggleCalendar, tabIndex: this.disabled ? -1 : 0 })), index.h("slot", { key: '7be106f2f1500839e899d6f9c6f3705398cadd1a', name: "after-input" })), index.h("div", { key: 'd2c56635c83628f37f0c1ec127bfeaca5fb78b90', slot: "content" }, index.h("nv-calendar", { key: '4ec9eea45e030463c2df0115a0cfd6453da66f01', ref: el => (this.calendarElement = el), dateFormat: this.dateFormat, value: this.value, firstDayOfWeek: this.firstDayOfWeek, numberOfCalendars: this.numberOfCalendars, min: this.min, max: this.max, locale: this.locale, shortcutsPlacement: this.shortcutsPlacement, showActions: this.showActions, shortcuts: this.shortcuts, showWeekNumbers: this.showWeekNumbers, disabledDates: this.disabledDates, selectionType: "range", "data-prevent-navigation": "true" }))), ((this.description && this.description.length > 0) ||
452
+ this.el.querySelector('[slot="description"]')) && (index.h("div", { key: 'a624ba699b3b7a7bb4d26725fe451ecd5df1f5a2', class: "description" }, index.h("slot", { key: 'f2c3666075730a248e57c748b32df33a59f3777e', name: "description" }, this.description))), (this.errorDescription ||
453
+ this.el.querySelector('[slot="error-description"]')) && (index.h("div", { key: 'e2c1f8816b896d00e2c4ba8b32bc28380630ecad', hidden: !this.error, class: "error-description" }, this.el.querySelector('[slot="error-description"]') ? (index.h("slot", { name: "error-description" })) : (this.errorDescription))), index.h("slot", { key: 'cee75865d222324b8d7f3144ba2facaefcaf1d35' })));
454
454
  }
455
455
  get el() { return index.getElement(this); }
456
456
  static get watchers() { return {
@@ -357,9 +357,9 @@ const NvFielddropdown = class {
357
357
  //#region RENDER
358
358
  render() {
359
359
  var _a;
360
- return (index.h(index.Host, { key: '2c45eb94cd36a430780ccb2b6ca75c6d0cf14749', role: "combobox", "aria-expanded": this.open.toString(), "aria-haspopup": "listbox", "aria-label": this.label }, (this.label || this.el.querySelector('[slot="label"]')) && (index.h("label", { key: 'b5f4fd518e20ffa8bd1f83595279c26fd4627597', htmlFor: this.inputId }, index.h("slot", { key: '6ba6870341c7ef37698adde01f5402db65d73898', name: "label" }, this.label))), index.h("nv-popover", { key: '0d3833a9402ff6b3d3ef6592aaeba5030aeca661', ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, index.h("div", { key: '5ae8307fbd0a0798f6103ae68fcfd7ac0c0cd5d6', class: "input-wrapper", slot: "trigger" }, index.h("slot", { key: '1844cb0ffe38189f2a39734a6c78487b0ef5533f', name: "before-input" }), index.h("div", { key: '9c3fc1eeddb22c0945606b28b08c6e4e59d4f745', class: "input-container", onClick: this.handleInputContainerClick }, index.h("slot", { key: '0a4eaf84a3b3eb71edec875122e45705d3f0cbbf', name: "leading-input" }), this.filterable || this.disabled || this.readonly ? (index.h("input", { "data-scope": "focusable", id: this.inputId, type: "search", ref: e => (this.inputElement = e), autofocus: this.autofocus, autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, value: this.getSelectedLabel(), required: this.required, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput, onFocus: this.handleInputFocus, onClick: this.handleInputFocus, onKeyDown: this.handleKeyDown })) : (index.h("p", { "data-scope": "focusable", id: this.inputId, class: "non-filterable-text", onClick: this.handleInputContainerClick, tabIndex: this.disabled ? -1 : 0, onKeyDown: this.handleKeyDown, onFocus: this.handleInputFocus }, this.getSelectedLabel() || this.value || this.placeholder)), this.filterable && this.filterText && this.open && (index.h("nv-iconbutton", { key: '9cbbd6c7c8ab6bda015d5302d4a7ef2eb5d730f2', name: "x", size: "md", emphasis: "lower", class: "clear-button", onClick: this.clearFilter, "aria-label": "Clear input" })), this.error && (index.h("nv-icon", { key: 'd1bbfb1f515a79ea7fd74c93041d832c55203939', name: "alert-circle", class: "validation", size: "md" })), index.h("nv-iconbutton", { key: '8665b644210fb6fc3a763d955a81ac7202647965', "data-scope": "toggle-dropdown", name: this.open ? 'chevron-top' : 'chevron-down', size: "md", emphasis: "lower", "aria-label": this.open ? 'Hide dropdown' : 'Show dropdown', "aria-pressed": this.open.toString(), onClick: this.togglePopover, tabIndex: this.disabled ? -1 : 0 })), index.h("slot", { key: '9a49e69a4d59c2cd5181b533b2fe9ec34e30d9f4', name: "after-input" })), index.h("div", { key: '8aafef9ac1c4bfd2d41fc7fe784927cdf4800423', slot: "content", style: this.maxHeight ? { maxHeight: this.maxHeight } : {} }, ((_a = this.options) === null || _a === void 0 ? void 0 : _a.length) > 0 ? (index.h("ul", null, this.options.map(option => (index.h("nv-fielddropdownitem", { label: option.label, value: option.value, disabled: option.disabled, selected: option.value === this.value }))))) : (index.h("slot", { name: "content" })))), (this.description ||
361
- this.el.querySelector('[slot="description"]')) && (index.h("div", { key: '8cc32aa4d2e7b7137d07505c70d522bf14241c59', class: "description" }, index.h("slot", { key: '096efa39ff2ea02e76ed5a90459889d33321e99a', name: "description" }, this.description))), (this.errorDescription ||
362
- this.el.querySelector('[slot="error-description"]')) && (index.h("div", { key: 'bae304b963c369cf0417339cf1d3d5b45f5914ed', hidden: !this.error, class: "error-description" }, index.h("slot", { key: 'b17b69ee8240bf72bcee918ba8210df995434917', name: "error-description" }, this.errorDescription)))));
360
+ return (index.h(index.Host, { key: 'a4de1529678c493e92022229993443c93533f0a4', role: "combobox", "aria-expanded": this.open.toString(), "aria-haspopup": "listbox", "aria-label": this.label }, (this.label || this.el.querySelector('[slot="label"]')) && (index.h("label", { key: '6bf4ff6df1b4c62304ac623bea21554779b1bcfa', htmlFor: this.inputId }, index.h("slot", { key: '10bd19c28259c033ad2b8c9601655da9723bdbd0', name: "label" }, this.label))), index.h("nv-popover", { key: 'fc85eb3c9d72a90f47c6fcfbbf6f6cc234fa8df1', ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, index.h("div", { key: '6a7f4be2cdfd6399ce79f4cd7b0dc9abfd3a1c74', class: "input-wrapper", slot: "trigger" }, index.h("slot", { key: '97e82c45801d338456d81601fb147e235dd604d4', name: "before-input" }), index.h("div", { key: 'd6f3d6ca42acc7c14689fedac22328c53d2a61af', class: "input-container", onClick: this.handleInputContainerClick }, index.h("slot", { key: 'd48c3800aa174716eb4bf4a81e545fabeb73d187', name: "leading-input" }), this.filterable || this.disabled || this.readonly ? (index.h("input", { "data-scope": "focusable", id: this.inputId, type: "search", ref: e => (this.inputElement = e), autofocus: this.autofocus, autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, value: this.getSelectedLabel(), required: this.required, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput, onFocus: this.handleInputFocus, onClick: this.handleInputFocus, onKeyDown: this.handleKeyDown })) : (index.h("p", { "data-scope": "focusable", id: this.inputId, class: "non-filterable-text", onClick: this.handleInputContainerClick, tabIndex: this.disabled ? -1 : 0, onKeyDown: this.handleKeyDown, onFocus: this.handleInputFocus }, this.getSelectedLabel() || this.value || this.placeholder)), this.filterable && this.filterText && this.open && (index.h("nv-iconbutton", { key: 'f01cf253ba3f31ff0269ecdf36d7d1e3249039a8', name: "x", size: "md", emphasis: "lower", class: "clear-button", onClick: this.clearFilter, "aria-label": "Clear input" })), this.error && (index.h("nv-icon", { key: '10b828451cf4a177a3580d2d01080036a25e9692', name: "alert-circle", class: "validation", size: "md" })), index.h("nv-iconbutton", { key: '94edaa4e3ce5f80021db58bc5fa087424d4bf7d3', "data-scope": "toggle-dropdown", name: this.open ? 'chevron-top' : 'chevron-down', size: "md", emphasis: "lower", "aria-label": this.open ? 'Hide dropdown' : 'Show dropdown', "aria-pressed": this.open.toString(), onClick: this.togglePopover, tabIndex: this.disabled ? -1 : 0 })), index.h("slot", { key: '25e76d6ecfcff7514d2dfb970387f2af23506b40', name: "after-input" })), index.h("div", { key: '58c6e1de57d31f1827e9bf24da62f5801f8c99b9', slot: "content", style: this.maxHeight ? { maxHeight: this.maxHeight } : {} }, ((_a = this.options) === null || _a === void 0 ? void 0 : _a.length) > 0 ? (index.h("ul", null, this.options.map(option => (index.h("nv-fielddropdownitem", { label: option.label, value: option.value, disabled: option.disabled, selected: option.value === this.value }))))) : (index.h("slot", { name: "content" })))), (this.description ||
361
+ this.el.querySelector('[slot="description"]')) && (index.h("div", { key: '5a35ceee27f3a2ab41742f396f450b8783832742', class: "description" }, index.h("slot", { key: 'ff012c2168c6ab6808de46a1f26f2f186fbe452f', name: "description" }, this.description))), (this.errorDescription ||
362
+ this.el.querySelector('[slot="error-description"]')) && (index.h("div", { key: '9c668e1c484c4caf45fa9e38dbca4dae0e93fea3', hidden: !this.error, class: "error-description" }, index.h("slot", { key: 'ec9c91da75b1ec899ef68a569e6dd0a271b0307b', name: "error-description" }, this.errorDescription)))));
363
363
  }
364
364
  static get formAssociated() { return true; }
365
365
  get el() { return index.getElement(this); }
@@ -60,7 +60,7 @@ const NvFielddropdownitem = class {
60
60
  /****************************************************************************/
61
61
  //#region RENDER
62
62
  render() {
63
- return (index.h(index.Host, { key: '42ae50d3837bdc7dcf986114255efde54f021ad2', role: "menuitem", tabindex: '-1', onClick: this.handleSelected }, index.h("slot", { key: '8e61bac8b76d9ababa2999099f47cc906a6112c2' }), !this.composed && (index.h("div", { key: 'b53f386a10225a6ae5dd97978f038feb86c52513', class: "text-wrapper" }, index.h("span", { key: '69431d91f69f96ead8f31754f66943a1772034fc', "data-scope": "text" }, this.label))), this.selected && (index.h("nv-icon", { key: '71d79762ef64c0414661878dca7760217edf04d1', name: "check", "aria-hidden": "true", "data-scope": "selected" }))));
63
+ return (index.h(index.Host, { key: '9006514e798c91bf3d447f6e74f80afc8831813c', role: "menuitem", tabindex: '-1', onClick: this.handleSelected }, index.h("slot", { key: '9344d00bbdaf5fd8e7676ccaf770621925a465b9' }), !this.composed && (index.h("div", { key: '2f64fb5f87cf35dcc7ddf4b9d28c0811c7143c1d', class: "text-wrapper" }, index.h("span", { key: 'c7a17a07092e2cfa9698e885f1ecfcf1fff1a38b', "data-scope": "text" }, this.label))), this.selected && (index.h("nv-icon", { key: '44e8e60b72270c11633fd439ba3c5b3c67e08270', name: "check", "aria-hidden": "true", "data-scope": "selected" }))));
64
64
  }
65
65
  get el() { return index.getElement(this); }
66
66
  };