@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
package/hydrate/index.mjs CHANGED
@@ -2721,263 +2721,209 @@ var registerHost = (elm, cmpMeta) => {
2721
2721
  };
2722
2722
  var styles = /* @__PURE__ */ new Map();
2723
2723
 
2724
- function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
2724
+ const nvAccordionCss = "nv-accordion{display:block;border:var(--spacing-px) solid var(--color-content-low-border);border-radius:var(--radius-rounded-lg)}nv-accordion .nv-accordion__footer{padding:var(--spacing-3);background:var(--color-level-05-background);border-radius:0 0 var(--radius-rounded-lg) var(--radius-rounded-lg);margin-top:calc(var(--spacing-px) * -1);border-top:var(--spacing-px) solid var(--color-content-low-border)}nv-accordion .nv-accordion__footer:empty{display:none}";
2725
+ var NvAccordionStyle0 = nvAccordionCss;
2725
2726
 
2726
- var FeedbackColors;
2727
- (function (FeedbackColors) {
2728
- FeedbackColors["Information"] = "information";
2729
- FeedbackColors["Warning"] = "warning";
2730
- FeedbackColors["Success"] = "success";
2731
- FeedbackColors["Error"] = "error";
2732
- FeedbackColors["Neutral"] = "neutral";
2733
- })(FeedbackColors || (FeedbackColors = {}));
2734
- var DeprecatedSemanticColors;
2735
- (function (DeprecatedSemanticColors) {
2736
- DeprecatedSemanticColors["Neutral"] = "neutral";
2737
- DeprecatedSemanticColors["Primary"] = "primary";
2738
- DeprecatedSemanticColors["Secondary"] = "secondary";
2739
- DeprecatedSemanticColors["Success"] = "success";
2740
- DeprecatedSemanticColors["Error"] = "error";
2741
- })(DeprecatedSemanticColors || (DeprecatedSemanticColors = {}));
2742
- var SemanticSizes;
2743
- (function (SemanticSizes) {
2744
- SemanticSizes["ExtraSmall"] = "xs";
2745
- SemanticSizes["Small"] = "sm";
2746
- SemanticSizes["Medium"] = "md";
2747
- SemanticSizes["Large"] = "lg";
2748
- SemanticSizes["ExtraLarge"] = "xl";
2749
- })(SemanticSizes || (SemanticSizes = {}));
2750
- var ButtonSize;
2751
- (function (ButtonSize) {
2752
- ButtonSize["ExtraSmall"] = "xs";
2753
- ButtonSize["Small"] = "sm";
2754
- ButtonSize["Medium"] = "md";
2755
- ButtonSize["Large"] = "lg";
2756
- })(ButtonSize || (ButtonSize = {}));
2757
- var ButtonEmphasis;
2758
- (function (ButtonEmphasis) {
2759
- ButtonEmphasis["High"] = "high";
2760
- ButtonEmphasis["Medium"] = "medium";
2761
- ButtonEmphasis["Low"] = "low";
2762
- ButtonEmphasis["Lower"] = "lower";
2763
- })(ButtonEmphasis || (ButtonEmphasis = {}));
2764
- var ButtonType;
2765
- (function (ButtonType) {
2766
- ButtonType["Submit"] = "submit";
2767
- ButtonType["Reset"] = "reset";
2768
- ButtonType["Button"] = "button";
2769
- })(ButtonType || (ButtonType = {}));
2770
- var IconButtonShape;
2771
- (function (IconButtonShape) {
2772
- IconButtonShape["Square"] = "square";
2773
- IconButtonShape["Rounded"] = "rounded";
2774
- })(IconButtonShape || (IconButtonShape = {}));
2775
- var LoaderColors;
2776
- (function (LoaderColors) {
2777
- LoaderColors["High"] = "brand";
2778
- LoaderColors["Low"] = "white";
2779
- })(LoaderColors || (LoaderColors = {}));
2780
- var LabelPlacement;
2781
- (function (LabelPlacement) {
2782
- LabelPlacement["Before"] = "before";
2783
- LabelPlacement["After"] = "after";
2784
- })(LabelPlacement || (LabelPlacement = {}));
2785
- var TextInputAutocomplete;
2786
- (function (TextInputAutocomplete) {
2787
- TextInputAutocomplete["On"] = "on";
2788
- TextInputAutocomplete["Off"] = "off";
2789
- TextInputAutocomplete["Section"] = "section-*";
2790
- TextInputAutocomplete["Shipping"] = "shipping";
2791
- TextInputAutocomplete["Billing"] = "billing";
2792
- TextInputAutocomplete["Home"] = "home";
2793
- TextInputAutocomplete["Work"] = "work";
2794
- TextInputAutocomplete["Mobile"] = "mobile";
2795
- TextInputAutocomplete["Fax"] = "fax";
2796
- TextInputAutocomplete["Pager"] = "pager";
2797
- TextInputAutocomplete["Tel"] = "tel";
2798
- TextInputAutocomplete["TelCountryCode"] = "tel-country-code";
2799
- TextInputAutocomplete["TelNational"] = "tel-national";
2800
- TextInputAutocomplete["TelAreaCode"] = "tel-area-code";
2801
- TextInputAutocomplete["TelLocal"] = "tel-local";
2802
- TextInputAutocomplete["TelLocalPrefix"] = "tel-local-prefix";
2803
- TextInputAutocomplete["TelLocalSuffix"] = "tel-local-suffix";
2804
- TextInputAutocomplete["TelExtension"] = "tel-extension";
2805
- TextInputAutocomplete["Email"] = "email";
2806
- TextInputAutocomplete["IMProtocol"] = "impp";
2807
- TextInputAutocomplete["Name"] = "name";
2808
- TextInputAutocomplete["HonorificPrefix"] = "honorific-prefix";
2809
- TextInputAutocomplete["GivenName"] = "given-name";
2810
- TextInputAutocomplete["AdditionalName"] = "additional-name";
2811
- TextInputAutocomplete["FamilyName"] = "family-name";
2812
- TextInputAutocomplete["HonorificSuffix"] = "honorific-suffix";
2813
- TextInputAutocomplete["Nickname"] = "nickname";
2814
- TextInputAutocomplete["Username"] = "username";
2815
- TextInputAutocomplete["NewPassword"] = "new-password";
2816
- TextInputAutocomplete["CurrentPassword"] = "current-password";
2817
- TextInputAutocomplete["OneTimeCode"] = "one-time-code";
2818
- TextInputAutocomplete["OrganizationTitle"] = "organization-title";
2819
- TextInputAutocomplete["Organization"] = "organization";
2820
- TextInputAutocomplete["StreetAddress"] = "street-address";
2821
- TextInputAutocomplete["AddressLine1"] = "address-line1";
2822
- TextInputAutocomplete["AddressLine2"] = "address-line2";
2823
- TextInputAutocomplete["AddressLine3"] = "address-line3";
2824
- TextInputAutocomplete["AddressLevel4"] = "address-level4";
2825
- TextInputAutocomplete["AddressLevel3"] = "address-level3";
2826
- TextInputAutocomplete["AddressLevel2"] = "address-level2";
2827
- TextInputAutocomplete["AddressLevel1"] = "address-level1";
2828
- TextInputAutocomplete["Country"] = "country";
2829
- TextInputAutocomplete["CountryName"] = "country-name";
2830
- TextInputAutocomplete["PostalCode"] = "postal-code";
2831
- TextInputAutocomplete["CCName"] = "cc-name";
2832
- TextInputAutocomplete["CCGivenName"] = "cc-given-name";
2833
- TextInputAutocomplete["CCAdditionalName"] = "cc-additional-name";
2834
- TextInputAutocomplete["CCFamilyName"] = "cc-family-name";
2835
- TextInputAutocomplete["CCNumber"] = "cc-number";
2836
- TextInputAutocomplete["CCExp"] = "cc-exp";
2837
- TextInputAutocomplete["CCExpMonth"] = "cc-exp-month";
2838
- TextInputAutocomplete["CCExpYear"] = "cc-exp-year";
2839
- TextInputAutocomplete["CCCSC"] = "cc-csc";
2840
- TextInputAutocomplete["CCType"] = "cc-type";
2841
- TextInputAutocomplete["TransactionCurrency"] = "transaction-currency";
2842
- TextInputAutocomplete["TransactionAmount"] = "transaction-amount";
2843
- TextInputAutocomplete["Language"] = "language";
2844
- TextInputAutocomplete["Bday"] = "bday";
2845
- TextInputAutocomplete["BdayDay"] = "bday-day";
2846
- TextInputAutocomplete["BdayMonth"] = "bday-month";
2847
- TextInputAutocomplete["BdayYear"] = "bday-year";
2848
- TextInputAutocomplete["Sex"] = "sex";
2849
- TextInputAutocomplete["Url"] = "url";
2850
- TextInputAutocomplete["Photo"] = "photo";
2851
- })(TextInputAutocomplete || (TextInputAutocomplete = {}));
2852
- var TimeType;
2853
- (function (TimeType) {
2854
- TimeType["Hours"] = "hours";
2855
- TimeType["Minutes"] = "minutes";
2856
- TimeType["Seconds"] = "seconds";
2857
- })(TimeType || (TimeType = {}));
2858
- var GlobalFilterPosition;
2859
- (function (GlobalFilterPosition) {
2860
- GlobalFilterPosition["End"] = "end";
2861
- GlobalFilterPosition["Start"] = "start";
2862
- GlobalFilterPosition["Center"] = "center";
2863
- })(GlobalFilterPosition || (GlobalFilterPosition = {}));
2864
- var SortingPossibility;
2865
- (function (SortingPossibility) {
2866
- SortingPossibility["Asc"] = "asc";
2867
- SortingPossibility["Desc"] = "desc";
2868
- })(SortingPossibility || (SortingPossibility = {}));
2869
- const WEEK_ABBREVIATIONS = {
2870
- 'fr-FR': 'Sem', // Semaine
2871
- 'fr-BE': 'Sem', // Semaine
2872
- 'nl-BE': 'W', // Week
2873
- 'en-BE': 'W', // Week
2874
- 'en-US': 'W', // Week
2875
- 'en-GB': 'W', // Week
2876
- 'es-ES': 'Sem', // Semana
2877
- 'de-DE': 'KW', // Kalenderwoche
2878
- 'it-IT': 'Set', // Settimana
2879
- 'pt-PT': 'Sem', // Semana
2880
- 'nl-NL': 'W', // Week
2881
- 'pl-PL': 'Tyd', // Tydzień
2882
- 'ru-RU': 'Нед', // Неделя
2883
- 'ja-JP': '週', // Shū
2884
- 'zh-CN': '周', // Zhōu
2885
- 'ko-KR': '주', // Ju
2886
- };
2887
- const CUSTOM_DAY_NAMES = {
2888
- 'fr-BE': ['Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa', 'Di'],
2889
- 'nl-BE': ['Ma', 'Di', 'Wo', 'Do', 'Vr', 'Za', 'Zo'],
2890
- 'de-DE': ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So'],
2891
- 'en-BE': ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
2892
- 'en-US': ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
2893
- 'en-GB': ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
2894
- };
2895
- const CUSTOM_MONTH_NAMES = {
2896
- 'fr-BE': [
2897
- 'Jan',
2898
- 'Fev',
2899
- 'Mar',
2900
- 'Avr',
2901
- 'Mai',
2902
- 'Jun',
2903
- 'Jul',
2904
- 'Aou',
2905
- 'Sep',
2906
- 'Oct',
2907
- 'Nov',
2908
- 'Dec',
2909
- ],
2910
- 'nl-BE': [
2911
- 'Jan',
2912
- 'Feb',
2913
- 'Maa',
2914
- 'Apr',
2915
- 'Mei',
2916
- 'Jun',
2917
- 'Jul',
2918
- 'Aug',
2919
- 'Sep',
2920
- 'Okt',
2921
- 'Nov',
2922
- 'Dec',
2923
- ],
2924
- 'de-DE': [
2925
- 'Jan',
2926
- 'Feb',
2927
- 'Mär',
2928
- 'Apr',
2929
- 'Mai',
2930
- 'Jun',
2931
- 'Jul',
2932
- 'Aug',
2933
- 'Sep',
2934
- 'Okt',
2935
- 'Nov',
2936
- 'Dez',
2937
- ],
2938
- 'en-BE': [
2939
- 'Jan',
2940
- 'Feb',
2941
- 'Mar',
2942
- 'Apr',
2943
- 'May',
2944
- 'Jun',
2945
- 'Jul',
2946
- 'Aug',
2947
- 'Sep',
2948
- 'Oct',
2949
- 'Nov',
2950
- 'Dec',
2951
- ],
2952
- 'en-US': [
2953
- 'Jan',
2954
- 'Feb',
2955
- 'Mar',
2956
- 'Apr',
2957
- 'May',
2958
- 'Jun',
2959
- 'Jul',
2960
- 'Aug',
2961
- 'Sep',
2962
- 'Oct',
2963
- 'Nov',
2964
- 'Dec',
2965
- ],
2966
- 'en-GB': [
2967
- 'Jan',
2968
- 'Feb',
2969
- 'Mar',
2970
- 'Apr',
2971
- 'May',
2972
- 'Jun',
2973
- 'Jul',
2974
- 'Aug',
2975
- 'Sep',
2976
- 'Oct',
2977
- 'Nov',
2978
- 'Dec',
2979
- ],
2980
- };
2727
+ /**
2728
+ * @slot default - Slot for custom content (optional, ignored if data is provided)
2729
+ */
2730
+ class NvAccordion {
2731
+ constructor(hostRef) {
2732
+ registerInstance(this, hostRef);
2733
+ this.nvChange = createEvent(this, "nvChange", 7);
2734
+ /**
2735
+ * Expansion mode: 'accordion' (single open) or 'multi' (multiple open)
2736
+ */
2737
+ this.mode = 'accordion';
2738
+ //#endregion PROPERTIES
2739
+ /****************************************************************************/
2740
+ //#region STATE
2741
+ /**
2742
+ * Internal index of open items (not exposed)
2743
+ */
2744
+ this.internalOpenIndexes = [];
2745
+ /**
2746
+ * Parsed data from data prop
2747
+ */
2748
+ this.parsedData = [];
2749
+ // Synchronization openIndexes <-> internalOpenIndexes
2750
+ this.itemToggleHandlers = [];
2751
+ }
2752
+ //#endregion EVENTS
2753
+ /****************************************************************************/
2754
+ //#region METHODS
2755
+ /**
2756
+ * Opens an item by its index (Public API)
2757
+ * @param {number} index Index of the item to open
2758
+ */
2759
+ async open(index) {
2760
+ this.toggleItem(index, true);
2761
+ }
2762
+ /**
2763
+ * Closes an item by its index (Public API)
2764
+ * @param {number} index Index of the item to close
2765
+ */
2766
+ async close(index) {
2767
+ this.toggleItem(index, false);
2768
+ }
2769
+ /**
2770
+ * Toggles an item's state (internal)
2771
+ * @param {number} index Item index
2772
+ * @param {boolean} [forceOpen] Force open (true) or close (false)
2773
+ */
2774
+ toggleItem(index, forceOpen) {
2775
+ let openIndexes = this.openIndexes !== undefined
2776
+ ? [...this.openIndexes]
2777
+ : [...(this.internalOpenIndexes || [])];
2778
+ const isOpen = openIndexes.includes(index);
2779
+ if (this.mode === 'accordion') {
2780
+ openIndexes = forceOpen === false || isOpen ? [] : [index];
2781
+ }
2782
+ else {
2783
+ if (forceOpen === false) {
2784
+ openIndexes = openIndexes.filter(i => i !== index);
2785
+ }
2786
+ else if (!isOpen) {
2787
+ openIndexes.push(index);
2788
+ }
2789
+ }
2790
+ this.internalOpenIndexes = openIndexes;
2791
+ this.nvChange.emit({ openIndexes });
2792
+ if (this.openIndexes !== undefined) {
2793
+ this.openIndexes =
2794
+ this.mode === 'accordion'
2795
+ ? [openIndexes[0]].filter(x => x !== undefined)
2796
+ : [...openIndexes];
2797
+ }
2798
+ // Update child elements state - for both data and slot usage
2799
+ this.updateChildrenState();
2800
+ }
2801
+ /**
2802
+ * Updates the open state of child elements based on internalOpenIndexes
2803
+ */
2804
+ async updateChildrenState() {
2805
+ // Force a re-render by updating the state
2806
+ this.internalOpenIndexes = [...(this.internalOpenIndexes || [])];
2807
+ }
2808
+ /**
2809
+ * Listens to itemToggle events from nv-accordion-item elements
2810
+ * @param {CustomEvent<boolean>} event Event emitted by nv-accordion-item
2811
+ */
2812
+ onItemToggle(event) {
2813
+ // Ignore if using data (handled by itemToggleHandlers)
2814
+ if (this.parsedData && this.parsedData.length > 0)
2815
+ return;
2816
+ // Find the index of the item that emitted the event
2817
+ const items = Array.from(this.el.querySelectorAll('nv-accordion-item'));
2818
+ const targetItem = event.target;
2819
+ const index = items.indexOf(targetItem);
2820
+ if (index !== -1) {
2821
+ // If the event comes from an item that is opening, handle accordion mode
2822
+ if (event.detail === true) {
2823
+ if (this.mode === 'accordion') {
2824
+ // Close all other items
2825
+ items.forEach((item, i) => {
2826
+ if (i !== index && item.open) {
2827
+ item.open = false;
2828
+ }
2829
+ });
2830
+ this.internalOpenIndexes = [index];
2831
+ }
2832
+ else {
2833
+ // Add index to internalOpenIndexes if not already present
2834
+ if (!this.internalOpenIndexes.includes(index)) {
2835
+ this.internalOpenIndexes = [...this.internalOpenIndexes, index];
2836
+ }
2837
+ }
2838
+ }
2839
+ else {
2840
+ // If the item is closing, remove it from internalOpenIndexes
2841
+ this.internalOpenIndexes = this.internalOpenIndexes.filter(i => i !== index);
2842
+ }
2843
+ // Emit nvChange event
2844
+ this.nvChange.emit({ openIndexes: this.internalOpenIndexes });
2845
+ if (this.openIndexes !== undefined) {
2846
+ this.openIndexes =
2847
+ this.mode === 'accordion'
2848
+ ? [this.internalOpenIndexes[0]].filter(x => x !== undefined)
2849
+ : [...this.internalOpenIndexes];
2850
+ }
2851
+ }
2852
+ }
2853
+ //#endregion METHODS
2854
+ /****************************************************************************/
2855
+ //#region WATCHERS
2856
+ dataChanged() {
2857
+ this.parseData();
2858
+ }
2859
+ parseData() {
2860
+ if (typeof this.data === 'string') {
2861
+ try {
2862
+ this.parsedData = JSON.parse(this.data);
2863
+ }
2864
+ catch (e) {
2865
+ console.error('nv-accordion: Failed to parse data prop.', e);
2866
+ this.parsedData = [];
2867
+ }
2868
+ }
2869
+ else {
2870
+ this.parsedData = this.data || [];
2871
+ }
2872
+ if (this.parsedData) {
2873
+ this.itemToggleHandlers = this.parsedData.map((_, i) => () => this.toggleItem(i));
2874
+ }
2875
+ }
2876
+ componentWillLoad() {
2877
+ this.parseData();
2878
+ if (this.openIndexes !== undefined) {
2879
+ this.internalOpenIndexes = [...this.openIndexes];
2880
+ }
2881
+ }
2882
+ componentDidLoad() {
2883
+ // If using direct child elements, initialize their state
2884
+ if (!this.parsedData || this.parsedData.length === 0) {
2885
+ this.updateChildrenState();
2886
+ }
2887
+ }
2888
+ componentWillUpdate() {
2889
+ if (this.openIndexes !== undefined) {
2890
+ this.internalOpenIndexes = [...this.openIndexes];
2891
+ }
2892
+ }
2893
+ //#endregion WATCHERS
2894
+ /****************************************************************************/
2895
+ //#region LIFECYCLE
2896
+ //#endregion LIFECYCLE
2897
+ /****************************************************************************/
2898
+ //#region RENDER
2899
+ render() {
2900
+ return (hAsync(Host, { key: '5dcc9ea52a404dff7c4bb176b8a9781019e64bd3', role: "list", class: "nv-accordion" }, this.parsedData && this.parsedData.length > 0 ? (this.parsedData.map((item, i) => {
2901
+ var _a;
2902
+ return (hAsync("nv-accordion-item", { key: (_a = item.id) !== null && _a !== void 0 ? _a : i, itemtitle: item.title, disabled: item.disabled, open: (this.internalOpenIndexes || []).includes(i), onItemToggle: this.itemToggleHandlers[i] }, item.subtitle ? (hAsync("div", { slot: "header" }, hAsync("div", { class: "nv-accordion-item__header-content" }, hAsync("span", { class: "nv-accordion-item__title" }, item.title), hAsync("span", { class: "nv-accordion-item__subtitle" }, item.subtitle)))) : null, hAsync("div", { slot: "content" }, item.content), item.footer && hAsync("div", { slot: "footer" }, item.footer)));
2903
+ })) : (hAsync("slot", null))));
2904
+ }
2905
+ get el() { return getElement(this); }
2906
+ static get watchers() { return {
2907
+ "data": ["dataChanged"]
2908
+ }; }
2909
+ static get style() { return NvAccordionStyle0; }
2910
+ static get cmpMeta() { return {
2911
+ "$flags$": 4,
2912
+ "$tagName$": "nv-accordion",
2913
+ "$members$": {
2914
+ "data": [513],
2915
+ "mode": [513],
2916
+ "openIndexes": [1040],
2917
+ "internalOpenIndexes": [32],
2918
+ "parsedData": [32],
2919
+ "open": [64],
2920
+ "close": [64]
2921
+ },
2922
+ "$listeners$": [[0, "itemToggle", "onItemToggle"]],
2923
+ "$lazyBundleId$": "-",
2924
+ "$attrsToReflect$": [["data", "data"], ["mode", "mode"]]
2925
+ }; }
2926
+ }
2981
2927
 
2982
2928
  /******************************************************************************
2983
2929
  Copyright (c) Microsoft Corporation.
@@ -4957,79 +4903,532 @@ const useGrow = (node, { duration = 200, amount = 0.8, hasFade = true } = {}) =>
4957
4903
  });
4958
4904
  });
4959
4905
  }
4960
- /**
4961
- * Applies the growOut styles without animating, useful when the initial
4962
- * state is hidden.
4963
- */
4964
- function setGrowOut() {
4965
- node.style.transform = `scale(${amount})`;
4966
- if (hasFade) {
4967
- node.style.opacity = '0';
4906
+ /**
4907
+ * Applies the growOut styles without animating, useful when the initial
4908
+ * state is hidden.
4909
+ */
4910
+ function setGrowOut() {
4911
+ node.style.transform = `scale(${amount})`;
4912
+ if (hasFade) {
4913
+ node.style.opacity = '0';
4914
+ }
4915
+ }
4916
+ /**
4917
+ * Applies the growIn styles without animating, useful when the initial
4918
+ * state is visible.
4919
+ */
4920
+ function setGrowIn() {
4921
+ node.style.transform = `scale(1)`;
4922
+ if (hasFade) {
4923
+ node.style.opacity = '1';
4924
+ }
4925
+ }
4926
+ /**
4927
+ * Will animate the scale and optionally the opacity to make the element shrink and fade out,
4928
+ * leaving the scale and opacity styles on the element.
4929
+ */
4930
+ function growOut() {
4931
+ return new Promise(resolve => {
4932
+ animate({
4933
+ from: { opacity: 1, scale: 1 },
4934
+ to: { opacity: hasFade ? 0 : 1, scale: amount },
4935
+ duration,
4936
+ onUpdate(latest) {
4937
+ const updates = {
4938
+ scale: latest.scale,
4939
+ };
4940
+ if (hasFade) {
4941
+ updates['opacity'] = latest.opacity;
4942
+ }
4943
+ nodeStyler.set(updates);
4944
+ },
4945
+ onComplete() {
4946
+ resolve();
4947
+ },
4948
+ });
4949
+ });
4950
+ }
4951
+ return {
4952
+ growIn,
4953
+ growOut,
4954
+ setGrowOut,
4955
+ setGrowIn,
4956
+ };
4957
+ };
4958
+
4959
+ /**
4960
+ * Will execute a series of animation promises in sequence.
4961
+ * This is useful for chaining animations where each step depends on the
4962
+ * previous one completing before starting the next.
4963
+ *
4964
+ * @param {Array<() => Promise<void>>} animations - The array of animation functions.
4965
+ * @returns {Object} - An object with a `start` method to begin the timeline.
4966
+ *
4967
+ * @example
4968
+ * const { fadeOut } = useFade(this.ref);
4969
+ * const { collapse } = useCollapse(this.ref);
4970
+ *
4971
+ * timeline(fadeOut, collapse).start();
4972
+ */
4973
+ const timeline = (...animations) => ({
4974
+ start: () => {
4975
+ return animations.reduce((promise, animation) => promise.then(() => animation()), Promise.resolve());
4976
+ },
4977
+ });
4978
+
4979
+ const nvAccordionItemCss = "nv-accordion-item{display:block;border-bottom:var(--spacing-px) solid var(--color-content-low-border)}nv-accordion-item:last-child{border-bottom:none}nv-accordion-item .nv-accordion-item__header{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4)}nv-accordion-item .nv-accordion-item__header .nv-accordion-item__chevron{margin-left:var(--spacing-2);flex-shrink:0}nv-accordion-item .nv-accordion-item__header .nv-accordion-item__header-content{display:flex;flex-direction:column;gap:var(--spacing-0-5);flex:1;min-width:0}nv-accordion-item .nv-accordion-item__header .nv-accordion-item__title{color:var(--color-content-high-text);font-size:var(--font-size-lg);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--line-height-lg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}nv-accordion-item .nv-accordion-item__header .nv-accordion-item__subtitle{color:var(--color-content-low-text);font-size:var(--font-size-md);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--line-height-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}nv-accordion-item .nv-accordion-item__content{background:var(--color-level-10-background)}nv-accordion-item .nv-accordion-item__content .nv-accordion-item__content-inner{padding:var(--spacing-4);color:var(--color-content-low-text);font-size:var(--font-size-md);font-style:normal;font-weight:500;line-height:var(--line-height-base);}nv-accordion-item.is-disabled{opacity:var(--opacity-disabled);pointer-events:none}nv-accordion-item.is-open .nv-accordion-item__header{border-bottom:var(--spacing-px) solid var(--color-content-low-border)}";
4980
+ var NvAccordionItemStyle0 = nvAccordionItemCss;
4981
+
4982
+ /**
4983
+ * Accordion item element for nv-accordion.
4984
+ *
4985
+ * @slot header - Custom header (replaces itemtitle/subtitle)
4986
+ * @slot content - Main content (expandable area)
4987
+ */
4988
+ class NvAccordionItem {
4989
+ constructor(hostRef) {
4990
+ registerInstance(this, hostRef);
4991
+ this.itemToggle = createEvent(this, "itemToggle", 7);
4992
+ /** Open or closed */
4993
+ this.open = false;
4994
+ /** Disables the item */
4995
+ this.disabled = false;
4996
+ /** Parent expansion mode (accordion or multi) */
4997
+ this.mode = 'accordion';
4998
+ //#endregion EVENTS
4999
+ /****************************************************************************/
5000
+ //#region STATE
5001
+ /** Internal state for open/close rendering */
5002
+ this.currentOpenState = false;
5003
+ /**
5004
+ * Controls if the panel has been initialized for animations
5005
+ */
5006
+ this.isInitialized = false;
5007
+ /**
5008
+ * Animation in progress
5009
+ */
5010
+ this.isAnimating = false;
5011
+ /**
5012
+ * Handler for header click
5013
+ */
5014
+ this.handleHeaderClick = () => {
5015
+ this.toggle();
5016
+ };
5017
+ /**
5018
+ * Handler for iconbutton click
5019
+ * @param {Event} e - Click event
5020
+ */
5021
+ this.handleIconClick = (e) => {
5022
+ e.stopPropagation(); // Prevent header click from triggering
5023
+ this.toggle();
5024
+ };
5025
+ /**
5026
+ * Handler for keyboard events on iconbutton
5027
+ * @param {KeyboardEvent} e - Keyboard event
5028
+ */
5029
+ this.handleHeaderKeyDown = (e) => {
5030
+ if (this.disabled)
5031
+ return;
5032
+ switch (e.key) {
5033
+ case 'Enter':
5034
+ case ' ':
5035
+ e.preventDefault();
5036
+ this.toggle();
5037
+ break;
5038
+ case 'ArrowDown':
5039
+ e.preventDefault();
5040
+ if (!this.open) {
5041
+ this.open = true;
5042
+ this.itemToggle.emit(this.open);
5043
+ this.updateVisibility(this.open);
5044
+ }
5045
+ break;
5046
+ case 'ArrowUp':
5047
+ e.preventDefault();
5048
+ if (this.open) {
5049
+ this.open = false;
5050
+ this.itemToggle.emit(this.open);
5051
+ this.updateVisibility(this.open);
5052
+ }
5053
+ break;
5054
+ }
5055
+ };
5056
+ }
5057
+ //#endregion STATE
5058
+ /****************************************************************************/
5059
+ //#region WATCHERS
5060
+ async onOpenChanged(newValue, oldValue) {
5061
+ this.currentOpenState = newValue; // Synchronize internal state
5062
+ // Skip initial render
5063
+ if (oldValue === undefined) {
5064
+ return;
5065
+ }
5066
+ await this.updateVisibility(newValue);
5067
+ }
5068
+ //#endregion WATCHERS
5069
+ /****************************************************************************/
5070
+ //#region ANIMATIONS
5071
+ /**
5072
+ * Updates the visibility state with Nova animation system
5073
+ * @param {boolean} open - Whether the accordion item should be open
5074
+ */
5075
+ async updateVisibility(open) {
5076
+ if (!this.contentRef)
5077
+ return;
5078
+ this.isAnimating = true;
5079
+ const { collapse, expand } = useCollapse(this.contentRef, {
5080
+ duration: 200,
5081
+ });
5082
+ if (open) {
5083
+ // Expand with animation
5084
+ await expand();
5085
+ }
5086
+ else {
5087
+ // Collapse with animation
5088
+ await collapse();
5089
+ }
5090
+ this.isAnimating = false;
5091
+ }
5092
+ //#endregion ANIMATIONS
5093
+ /****************************************************************************/
5094
+ //#region LIFECYCLE
5095
+ componentWillLoad() {
5096
+ this.currentOpenState = this.open; // Initial synchronization
5097
+ }
5098
+ componentDidLoad() {
5099
+ if (this.contentRef) {
5100
+ const { setExpanded, setCollapsed } = useCollapse(this.contentRef);
5101
+ if (this.open) {
5102
+ // If open by default on initial load, set expanded state without animation
5103
+ setExpanded();
5104
+ }
5105
+ else {
5106
+ // If closed by default, set collapsed state without animation
5107
+ setCollapsed();
5108
+ }
5109
+ }
5110
+ }
5111
+ disconnectedCallback() {
5112
+ if (this.mutationObserver) {
5113
+ this.mutationObserver.disconnect();
4968
5114
  }
4969
5115
  }
5116
+ //#endregion LIFECYCLE
5117
+ /****************************************************************************/
5118
+ //#region METHODS
4970
5119
  /**
4971
- * Applies the growIn styles without animating, useful when the initial
4972
- * state is visible.
5120
+ * Toggle open/close (Public API)
4973
5121
  */
4974
- function setGrowIn() {
4975
- node.style.transform = `scale(1)`;
4976
- if (hasFade) {
4977
- node.style.opacity = '1';
5122
+ async toggle() {
5123
+ if (!this.disabled && !this.isAnimating) {
5124
+ this.open = !this.open;
5125
+ this.itemToggle.emit(this.open);
5126
+ // Force animation update directly instead of relying on watcher
5127
+ await this.updateVisibility(this.open);
4978
5128
  }
4979
5129
  }
4980
5130
  /**
4981
- * Will animate the scale and optionally the opacity to make the element shrink and fade out,
4982
- * leaving the scale and opacity styles on the element.
5131
+ * Get the chevron icon name based on open state
5132
+ * @returns {string} The icon name to display in the chevron button
4983
5133
  */
4984
- function growOut() {
4985
- return new Promise(resolve => {
4986
- animate({
4987
- from: { opacity: 1, scale: 1 },
4988
- to: { opacity: hasFade ? 0 : 1, scale: amount },
4989
- duration,
4990
- onUpdate(latest) {
4991
- const updates = {
4992
- scale: latest.scale,
4993
- };
4994
- if (hasFade) {
4995
- updates['opacity'] = latest.opacity;
4996
- }
4997
- nodeStyler.set(updates);
4998
- },
4999
- onComplete() {
5000
- resolve();
5001
- },
5002
- });
5003
- });
5134
+ get chevronIconName() {
5135
+ return this.open ? 'chevron-top' : 'chevron-down';
5004
5136
  }
5005
- return {
5006
- growIn,
5007
- growOut,
5008
- setGrowOut,
5009
- setGrowIn,
5010
- };
5137
+ //#endregion METHODS
5138
+ /****************************************************************************/
5139
+ //#region RENDER
5140
+ render() {
5141
+ return (hAsync(Host, { key: 'fd0200c1d78b3e3ae7361783dbba14d55732e7cf', class: {
5142
+ 'nv-accordion-item': true,
5143
+ 'is-open': this.open,
5144
+ 'is-disabled': this.disabled,
5145
+ 'is-animating': this.isAnimating,
5146
+ }, role: "listitem", "aria-expanded": this.open ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }, hAsync("div", { key: '471cc5dc8ec8a3fff592b5b443a82270aea9a477', class: "nv-accordion-item__header", onClick: this.handleHeaderClick, "aria-controls": "content" }, hAsync("slot", { key: 'dacf57578644d0ff3d6c5cf55c382c9c04a6fdf4', name: "header" }, hAsync("div", { key: 'd0e23a45fd43046f4dcebcc9cece8c2650cdaf9e', class: "nv-accordion-item__header-content" }, this.itemtitle && (hAsync("span", { key: '061068f7afa0d25d3273868d70d9f55c336d93d7', class: "nv-accordion-item__title" }, this.itemtitle)), this.subtitle && (hAsync("span", { key: '1ba3c4754c95d6fbe97fb4111dba06543879e400', class: "nv-accordion-item__subtitle" }, this.subtitle)))), hAsync("nv-iconbutton", { key: '834c4aa3111a8619f4c974e87899d0dfa6d14280', emphasis: "low", size: "sm", shape: "square", name: this.chevronIconName, tabindex: this.disabled ? -1 : 0, onClick: this.handleIconClick, onKeyDown: this.handleHeaderKeyDown, "aria-expanded": this.open ? 'true' : 'false', "aria-controls": "content", "aria-label": this.open ? 'Fermer la section' : 'Ouvrir la section' })), hAsync("div", { key: '79ba605179905a7a58a642a2c5d1f0bdf90d67ae', id: "content", class: "nv-accordion-item__content", "aria-hidden": !this.open ? 'true' : 'false', ref: el => (this.contentRef = el) }, hAsync("div", { key: '6ca4b0d9acd5262a4a041ad9d59bbace5cc7850d', class: "nv-accordion-item__content-inner" }, hAsync("slot", { key: '85c288666cf3b13abcd1ee1dbaced7ceb9ff9e6e', name: "content" })))));
5147
+ }
5148
+ get el() { return getElement(this); }
5149
+ static get watchers() { return {
5150
+ "open": ["onOpenChanged"]
5151
+ }; }
5152
+ static get style() { return NvAccordionItemStyle0; }
5153
+ static get cmpMeta() { return {
5154
+ "$flags$": 4,
5155
+ "$tagName$": "nv-accordion-item",
5156
+ "$members$": {
5157
+ "itemtitle": [513],
5158
+ "subtitle": [513],
5159
+ "open": [1540],
5160
+ "disabled": [516],
5161
+ "maxContentHeight": [514, "max-content-height"],
5162
+ "mode": [513],
5163
+ "currentOpenState": [32],
5164
+ "isInitialized": [32],
5165
+ "isAnimating": [32],
5166
+ "toggle": [64]
5167
+ },
5168
+ "$listeners$": undefined,
5169
+ "$lazyBundleId$": "-",
5170
+ "$attrsToReflect$": [["itemtitle", "itemtitle"], ["subtitle", "subtitle"], ["open", "open"], ["disabled", "disabled"], ["maxContentHeight", "max-content-height"], ["mode", "mode"]]
5171
+ }; }
5172
+ }
5173
+
5174
+ function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
5175
+
5176
+ var FeedbackColors;
5177
+ (function (FeedbackColors) {
5178
+ FeedbackColors["Information"] = "information";
5179
+ FeedbackColors["Warning"] = "warning";
5180
+ FeedbackColors["Success"] = "success";
5181
+ FeedbackColors["Error"] = "error";
5182
+ FeedbackColors["Neutral"] = "neutral";
5183
+ })(FeedbackColors || (FeedbackColors = {}));
5184
+ var DeprecatedSemanticColors;
5185
+ (function (DeprecatedSemanticColors) {
5186
+ DeprecatedSemanticColors["Neutral"] = "neutral";
5187
+ DeprecatedSemanticColors["Primary"] = "primary";
5188
+ DeprecatedSemanticColors["Secondary"] = "secondary";
5189
+ DeprecatedSemanticColors["Success"] = "success";
5190
+ DeprecatedSemanticColors["Error"] = "error";
5191
+ })(DeprecatedSemanticColors || (DeprecatedSemanticColors = {}));
5192
+ var SemanticSizes;
5193
+ (function (SemanticSizes) {
5194
+ SemanticSizes["ExtraSmall"] = "xs";
5195
+ SemanticSizes["Small"] = "sm";
5196
+ SemanticSizes["Medium"] = "md";
5197
+ SemanticSizes["Large"] = "lg";
5198
+ SemanticSizes["ExtraLarge"] = "xl";
5199
+ })(SemanticSizes || (SemanticSizes = {}));
5200
+ var ButtonSize;
5201
+ (function (ButtonSize) {
5202
+ ButtonSize["ExtraSmall"] = "xs";
5203
+ ButtonSize["Small"] = "sm";
5204
+ ButtonSize["Medium"] = "md";
5205
+ ButtonSize["Large"] = "lg";
5206
+ })(ButtonSize || (ButtonSize = {}));
5207
+ var ButtonEmphasis;
5208
+ (function (ButtonEmphasis) {
5209
+ ButtonEmphasis["High"] = "high";
5210
+ ButtonEmphasis["Medium"] = "medium";
5211
+ ButtonEmphasis["Low"] = "low";
5212
+ ButtonEmphasis["Lower"] = "lower";
5213
+ })(ButtonEmphasis || (ButtonEmphasis = {}));
5214
+ var ButtonType;
5215
+ (function (ButtonType) {
5216
+ ButtonType["Submit"] = "submit";
5217
+ ButtonType["Reset"] = "reset";
5218
+ ButtonType["Button"] = "button";
5219
+ })(ButtonType || (ButtonType = {}));
5220
+ var IconButtonShape;
5221
+ (function (IconButtonShape) {
5222
+ IconButtonShape["Square"] = "square";
5223
+ IconButtonShape["Rounded"] = "rounded";
5224
+ })(IconButtonShape || (IconButtonShape = {}));
5225
+ var LoaderColors;
5226
+ (function (LoaderColors) {
5227
+ LoaderColors["High"] = "brand";
5228
+ LoaderColors["Low"] = "white";
5229
+ })(LoaderColors || (LoaderColors = {}));
5230
+ var LabelPlacement;
5231
+ (function (LabelPlacement) {
5232
+ LabelPlacement["Before"] = "before";
5233
+ LabelPlacement["After"] = "after";
5234
+ })(LabelPlacement || (LabelPlacement = {}));
5235
+ var TextInputAutocomplete;
5236
+ (function (TextInputAutocomplete) {
5237
+ TextInputAutocomplete["On"] = "on";
5238
+ TextInputAutocomplete["Off"] = "off";
5239
+ TextInputAutocomplete["Section"] = "section-*";
5240
+ TextInputAutocomplete["Shipping"] = "shipping";
5241
+ TextInputAutocomplete["Billing"] = "billing";
5242
+ TextInputAutocomplete["Home"] = "home";
5243
+ TextInputAutocomplete["Work"] = "work";
5244
+ TextInputAutocomplete["Mobile"] = "mobile";
5245
+ TextInputAutocomplete["Fax"] = "fax";
5246
+ TextInputAutocomplete["Pager"] = "pager";
5247
+ TextInputAutocomplete["Tel"] = "tel";
5248
+ TextInputAutocomplete["TelCountryCode"] = "tel-country-code";
5249
+ TextInputAutocomplete["TelNational"] = "tel-national";
5250
+ TextInputAutocomplete["TelAreaCode"] = "tel-area-code";
5251
+ TextInputAutocomplete["TelLocal"] = "tel-local";
5252
+ TextInputAutocomplete["TelLocalPrefix"] = "tel-local-prefix";
5253
+ TextInputAutocomplete["TelLocalSuffix"] = "tel-local-suffix";
5254
+ TextInputAutocomplete["TelExtension"] = "tel-extension";
5255
+ TextInputAutocomplete["Email"] = "email";
5256
+ TextInputAutocomplete["IMProtocol"] = "impp";
5257
+ TextInputAutocomplete["Name"] = "name";
5258
+ TextInputAutocomplete["HonorificPrefix"] = "honorific-prefix";
5259
+ TextInputAutocomplete["GivenName"] = "given-name";
5260
+ TextInputAutocomplete["AdditionalName"] = "additional-name";
5261
+ TextInputAutocomplete["FamilyName"] = "family-name";
5262
+ TextInputAutocomplete["HonorificSuffix"] = "honorific-suffix";
5263
+ TextInputAutocomplete["Nickname"] = "nickname";
5264
+ TextInputAutocomplete["Username"] = "username";
5265
+ TextInputAutocomplete["NewPassword"] = "new-password";
5266
+ TextInputAutocomplete["CurrentPassword"] = "current-password";
5267
+ TextInputAutocomplete["OneTimeCode"] = "one-time-code";
5268
+ TextInputAutocomplete["OrganizationTitle"] = "organization-title";
5269
+ TextInputAutocomplete["Organization"] = "organization";
5270
+ TextInputAutocomplete["StreetAddress"] = "street-address";
5271
+ TextInputAutocomplete["AddressLine1"] = "address-line1";
5272
+ TextInputAutocomplete["AddressLine2"] = "address-line2";
5273
+ TextInputAutocomplete["AddressLine3"] = "address-line3";
5274
+ TextInputAutocomplete["AddressLevel4"] = "address-level4";
5275
+ TextInputAutocomplete["AddressLevel3"] = "address-level3";
5276
+ TextInputAutocomplete["AddressLevel2"] = "address-level2";
5277
+ TextInputAutocomplete["AddressLevel1"] = "address-level1";
5278
+ TextInputAutocomplete["Country"] = "country";
5279
+ TextInputAutocomplete["CountryName"] = "country-name";
5280
+ TextInputAutocomplete["PostalCode"] = "postal-code";
5281
+ TextInputAutocomplete["CCName"] = "cc-name";
5282
+ TextInputAutocomplete["CCGivenName"] = "cc-given-name";
5283
+ TextInputAutocomplete["CCAdditionalName"] = "cc-additional-name";
5284
+ TextInputAutocomplete["CCFamilyName"] = "cc-family-name";
5285
+ TextInputAutocomplete["CCNumber"] = "cc-number";
5286
+ TextInputAutocomplete["CCExp"] = "cc-exp";
5287
+ TextInputAutocomplete["CCExpMonth"] = "cc-exp-month";
5288
+ TextInputAutocomplete["CCExpYear"] = "cc-exp-year";
5289
+ TextInputAutocomplete["CCCSC"] = "cc-csc";
5290
+ TextInputAutocomplete["CCType"] = "cc-type";
5291
+ TextInputAutocomplete["TransactionCurrency"] = "transaction-currency";
5292
+ TextInputAutocomplete["TransactionAmount"] = "transaction-amount";
5293
+ TextInputAutocomplete["Language"] = "language";
5294
+ TextInputAutocomplete["Bday"] = "bday";
5295
+ TextInputAutocomplete["BdayDay"] = "bday-day";
5296
+ TextInputAutocomplete["BdayMonth"] = "bday-month";
5297
+ TextInputAutocomplete["BdayYear"] = "bday-year";
5298
+ TextInputAutocomplete["Sex"] = "sex";
5299
+ TextInputAutocomplete["Url"] = "url";
5300
+ TextInputAutocomplete["Photo"] = "photo";
5301
+ })(TextInputAutocomplete || (TextInputAutocomplete = {}));
5302
+ var TimeType;
5303
+ (function (TimeType) {
5304
+ TimeType["Hours"] = "hours";
5305
+ TimeType["Minutes"] = "minutes";
5306
+ TimeType["Seconds"] = "seconds";
5307
+ })(TimeType || (TimeType = {}));
5308
+ var GlobalFilterPosition;
5309
+ (function (GlobalFilterPosition) {
5310
+ GlobalFilterPosition["End"] = "end";
5311
+ GlobalFilterPosition["Start"] = "start";
5312
+ GlobalFilterPosition["Center"] = "center";
5313
+ })(GlobalFilterPosition || (GlobalFilterPosition = {}));
5314
+ var SortingPossibility;
5315
+ (function (SortingPossibility) {
5316
+ SortingPossibility["Asc"] = "asc";
5317
+ SortingPossibility["Desc"] = "desc";
5318
+ })(SortingPossibility || (SortingPossibility = {}));
5319
+ const WEEK_ABBREVIATIONS = {
5320
+ 'fr-FR': 'Sem', // Semaine
5321
+ 'fr-BE': 'Sem', // Semaine
5322
+ 'nl-BE': 'W', // Week
5323
+ 'en-BE': 'W', // Week
5324
+ 'en-US': 'W', // Week
5325
+ 'en-GB': 'W', // Week
5326
+ 'es-ES': 'Sem', // Semana
5327
+ 'de-DE': 'KW', // Kalenderwoche
5328
+ 'it-IT': 'Set', // Settimana
5329
+ 'pt-PT': 'Sem', // Semana
5330
+ 'nl-NL': 'W', // Week
5331
+ 'pl-PL': 'Tyd', // Tydzień
5332
+ 'ru-RU': 'Нед', // Неделя
5333
+ 'ja-JP': '週', // Shū
5334
+ 'zh-CN': '周', // Zhōu
5335
+ 'ko-KR': '주', // Ju
5336
+ };
5337
+ const CUSTOM_DAY_NAMES = {
5338
+ 'fr-BE': ['Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa', 'Di'],
5339
+ 'nl-BE': ['Ma', 'Di', 'Wo', 'Do', 'Vr', 'Za', 'Zo'],
5340
+ 'de-DE': ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So'],
5341
+ 'en-BE': ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
5342
+ 'en-US': ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
5343
+ 'en-GB': ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
5344
+ };
5345
+ const CUSTOM_MONTH_NAMES = {
5346
+ 'fr-BE': [
5347
+ 'Jan',
5348
+ 'Fev',
5349
+ 'Mar',
5350
+ 'Avr',
5351
+ 'Mai',
5352
+ 'Jun',
5353
+ 'Jul',
5354
+ 'Aou',
5355
+ 'Sep',
5356
+ 'Oct',
5357
+ 'Nov',
5358
+ 'Dec',
5359
+ ],
5360
+ 'nl-BE': [
5361
+ 'Jan',
5362
+ 'Feb',
5363
+ 'Maa',
5364
+ 'Apr',
5365
+ 'Mei',
5366
+ 'Jun',
5367
+ 'Jul',
5368
+ 'Aug',
5369
+ 'Sep',
5370
+ 'Okt',
5371
+ 'Nov',
5372
+ 'Dec',
5373
+ ],
5374
+ 'de-DE': [
5375
+ 'Jan',
5376
+ 'Feb',
5377
+ 'Mär',
5378
+ 'Apr',
5379
+ 'Mai',
5380
+ 'Jun',
5381
+ 'Jul',
5382
+ 'Aug',
5383
+ 'Sep',
5384
+ 'Okt',
5385
+ 'Nov',
5386
+ 'Dez',
5387
+ ],
5388
+ 'en-BE': [
5389
+ 'Jan',
5390
+ 'Feb',
5391
+ 'Mar',
5392
+ 'Apr',
5393
+ 'May',
5394
+ 'Jun',
5395
+ 'Jul',
5396
+ 'Aug',
5397
+ 'Sep',
5398
+ 'Oct',
5399
+ 'Nov',
5400
+ 'Dec',
5401
+ ],
5402
+ 'en-US': [
5403
+ 'Jan',
5404
+ 'Feb',
5405
+ 'Mar',
5406
+ 'Apr',
5407
+ 'May',
5408
+ 'Jun',
5409
+ 'Jul',
5410
+ 'Aug',
5411
+ 'Sep',
5412
+ 'Oct',
5413
+ 'Nov',
5414
+ 'Dec',
5415
+ ],
5416
+ 'en-GB': [
5417
+ 'Jan',
5418
+ 'Feb',
5419
+ 'Mar',
5420
+ 'Apr',
5421
+ 'May',
5422
+ 'Jun',
5423
+ 'Jul',
5424
+ 'Aug',
5425
+ 'Sep',
5426
+ 'Oct',
5427
+ 'Nov',
5428
+ 'Dec',
5429
+ ],
5011
5430
  };
5012
5431
 
5013
- /**
5014
- * Will execute a series of animation promises in sequence.
5015
- * This is useful for chaining animations where each step depends on the
5016
- * previous one completing before starting the next.
5017
- *
5018
- * @param {Array<() => Promise<void>>} animations - The array of animation functions.
5019
- * @returns {Object} - An object with a `start` method to begin the timeline.
5020
- *
5021
- * @example
5022
- * const { fadeOut } = useFade(this.ref);
5023
- * const { collapse } = useCollapse(this.ref);
5024
- *
5025
- * timeline(fadeOut, collapse).start();
5026
- */
5027
- const timeline = (...animations) => ({
5028
- start: () => {
5029
- return animations.reduce((promise, animation) => promise.then(() => animation()), Promise.resolve());
5030
- },
5031
- });
5032
-
5033
5432
  const nvAlertCss = "nv-alert{display:flex !important;align-items:flex-start;position:relative;gap:var(--alert-gap-x);border-radius:var(--alert-radius);font-family:\"TT Norms Pro\", \"Montserrat\", sans-serif}nv-alert>nv-icon{margin-left:var(--alert-icon-position-x);margin-top:var(--alert-icon-position-y)}nv-alert.hidden{display:none !important}nv-alert.feedback-information{background-color:var(--components-alert-information-background);border:1px solid var(--components-alert-information-border) !important}nv-alert.feedback-information>.close:focus,nv-alert.feedback-information>.close:focus-within{outline:none}nv-alert.feedback-information>.close:focus-visible,nv-alert.feedback-information>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-information-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-warning{background-color:var(--components-alert-warning-background);border:1px solid var(--components-alert-warning-border) !important}nv-alert.feedback-warning>.close:focus,nv-alert.feedback-warning>.close:focus-within{outline:none}nv-alert.feedback-warning>.close:focus-visible,nv-alert.feedback-warning>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-warning-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-error{background-color:var(--components-alert-error-background);border:1px solid var(--components-alert-error-border) !important}nv-alert.feedback-error>.close:focus,nv-alert.feedback-error>.close:focus-within{outline:none}nv-alert.feedback-error>.close:focus-visible,nv-alert.feedback-error>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-error-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-success{background-color:var(--components-alert-success-background);border:1px solid var(--components-alert-success-border) !important}nv-alert.feedback-success>.close:focus,nv-alert.feedback-success>.close:focus-within{outline:none}nv-alert.feedback-success>.close:focus-visible,nv-alert.feedback-success>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-success-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-neutral{background-color:var(--components-alert-neutral-background);border:1px solid var(--components-alert-neutral-border) !important}nv-alert.feedback-neutral>.close:focus,nv-alert.feedback-neutral>.close:focus-within{outline:none}nv-alert.feedback-neutral>.close:focus-visible,nv-alert.feedback-neutral>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-neutral-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert>nv-icon.icon-information{color:var(--components-alert-information-icon)}nv-alert>nv-icon.icon-warning{color:var(--components-alert-warning-icon)}nv-alert>nv-icon.icon-error{color:var(--components-alert-error-icon)}nv-alert>nv-icon.icon-success{color:var(--components-alert-success-icon)}nv-alert>nv-icon.icon-neutral{color:var(--components-alert-neutral-icon)}nv-alert>.content{display:flex;padding:var(--alert-padding);padding-left:0;flex-direction:column;gap:var(--alert-gap-y)}nv-alert>.content>.heading{color:var(--components-alert-content-title);font-size:var(--alert-heading-font-size);line-height:var(--alert-heading-line-height);font-weight:var(--alert-heading-font-weight)}nv-alert>.content>.message{color:var(--components-alert-content-description);font-size:var(--alert-message-font-size);line-height:var(--alert-message-line-height)}nv-alert>.close{border-radius:var(--alert-radius);position:absolute;display:flex;top:var(--alert-icon-position-y);right:var(--alert-icon-position-x);padding:0;border:none;background:none;cursor:pointer}";
5034
5433
  var NvAlertStyle0 = nvAlertCss;
5035
5434
 
@@ -5187,7 +5586,7 @@ class NvAlert {
5187
5586
  //#region RENDER
5188
5587
  render() {
5189
5588
  var _a;
5190
- return (hAsync(Host, { key: '8c775b0d81d4f6f82421b667925e1ceafead5b2d', role: "alert", class: clsx('root', `feedback-${this.feedback}`) }, hAsync("nv-icon", { key: 'e42f28e360d600c9863fb7f11eab2a1c501bb6ce', name: (_a = this.icon) !== null && _a !== void 0 ? _a : this.getDefaultIcon(), class: `icon-${this.feedback}`, size: "md" }), hAsync("div", { key: '87f7d65ea812afda0ce6ba6ace6e443dd53263da', class: "content" }, this.heading && hAsync("p", { key: '8150784a2663d47410fd6b92ca678f756f086f28', class: "heading" }, this.heading), this.message && hAsync("p", { key: '27f029f2ded81f82e260dc0f2087d46ba5cd7e62', class: "message" }, this.message), hAsync("slot", { key: '3256f379c6d7ea5dab9d284b9229ceffb55e7443' })), this.dismissible && (hAsync("button", { key: '6b7f333b26ab17c2c523a3c9933599176a9152c0', class: "close", type: "button", onClick: this.handleDismiss }, hAsync("nv-icon", { key: 'badcf4153b6add49042b91415e010f662a042e61', name: "x", size: "sm" })))));
5589
+ return (hAsync(Host, { key: 'f0e75ac2c38aced1dcf76cb1d5f03becefbee71d', role: "alert", class: clsx('root', `feedback-${this.feedback}`) }, hAsync("nv-icon", { key: '19f7fcf452d62277ab436acd20c285f44fbaecd4', name: (_a = this.icon) !== null && _a !== void 0 ? _a : this.getDefaultIcon(), class: `icon-${this.feedback}`, size: "md" }), hAsync("div", { key: '8e656ffd0bce63bd33d92b97df21389af265e182', class: "content" }, this.heading && hAsync("p", { key: '0aa928e8ee8605d735f890bc67128563ce3ad379', class: "heading" }, this.heading), this.message && hAsync("p", { key: '690d9928646d25a636b2bb04eb65eee40c402f52', class: "message" }, this.message), hAsync("slot", { key: '86309f093688dbb81ff805f1c9137b200541e905' })), this.dismissible && (hAsync("button", { key: '387695ff1e23a7e289cf58c51042ccc561d451ad', class: "close", type: "button", onClick: this.handleDismiss }, hAsync("nv-icon", { key: '788b99b4c56fc8c936a67ac48d2db37fdcca7631', name: "x", size: "sm" })))));
5191
5590
  }
5192
5591
  get ref() { return getElement(this); }
5193
5592
  static get watchers() { return {
@@ -5271,7 +5670,7 @@ class NvAvatar {
5271
5670
  /****************************************************************************/
5272
5671
  //#region RENDER
5273
5672
  render() {
5274
- return (hAsync(Host, { key: 'aa00ea05df513c899c6ed43fd0307178e98b6145', class: clsx(`avatar-${this.size}`, `avatar-color-${this.color}`), "aria-label": this.alt }, this.src ? (hAsync("img", { src: this.src, alt: this.alt })) : this.initials ? (this.trimInitials(this.initials)) : (hAsync("slot", { name: "icon" }, hAsync("nv-icon", { name: "user" })))));
5673
+ return (hAsync(Host, { key: '127d470eb9121f611f9e18f029ab9ef15a4a49df', class: clsx(`avatar-${this.size}`, `avatar-color-${this.color}`), "aria-label": this.alt }, this.src ? (hAsync("img", { src: this.src, alt: this.alt })) : this.initials ? (this.trimInitials(this.initials)) : (hAsync("slot", { name: "icon" }, hAsync("nv-icon", { name: "user" })))));
5275
5674
  }
5276
5675
  static get style() { return NvAvatarStyle0; }
5277
5676
  static get cmpMeta() { return {
@@ -5427,12 +5826,12 @@ class NvBadge {
5427
5826
  /****************************************************************************/
5428
5827
  //#region RENDER
5429
5828
  render() {
5430
- return (hAsync(Host, { key: 'cde39aa20bdbc6529d317a1f9f0c04f7bf79112e', class: clsx(`badge-${this.color}`, {
5829
+ return (hAsync(Host, { key: '435c5bb1f565c8bd95cca5c6828157c80f60aa39', class: clsx(`badge-${this.color}`, {
5431
5830
  'has-close': this.dismissible,
5432
5831
  'with-gap': this.dismissible || this.label,
5433
5832
  'visually-hidden': this._isHidden,
5434
5833
  'is-icon-only': this.isIconOnly,
5435
- }) }, hAsync("slot", { key: 'cd0ebe919619431f096fe87e6e9412cbed88e467', name: "leading-icon" }, this.leadIcon && hAsync("nv-icon", { key: 'b010613a9ffe4b9ae027e128ba519c43d4211d7d', name: this.leadIcon, size: "sm" })), hAsync("span", { key: '5035aa8d35272f716442731b9493483835e083c6', class: clsx({ 'visually-hidden': this.isIconOnly }) }, this.label, hAsync("slot", { key: '81a475c0081911d8b4606450ecdf085a4f7e2853' })), this.dismissible && (hAsync("button", { key: '402fe040a11cae0974ffa911b81f781230fd0516', onClick: this.handleClose, class: "close", type: "button" }, hAsync("nv-icon", { key: '6f32fa2ae87170963c22bd35cebcf18500426570', name: "x", size: "sm" })))));
5834
+ }) }, hAsync("slot", { key: '271dc833471e026af5088f48227639682e661e97', name: "leading-icon" }, this.leadIcon && hAsync("nv-icon", { key: 'e578eabf4c5a09e61e28c3839b943804acdf88e8', name: this.leadIcon, size: "sm" })), hAsync("span", { key: '24d16a21b2b4499be712f9b747c9ab63c5e6ca0c', class: clsx({ 'visually-hidden': this.isIconOnly }) }, this.label, hAsync("slot", { key: '3e3827620e6ade8be256ce7dd0b8bb949f36f2d5' })), this.dismissible && (hAsync("button", { key: '90ed9ec1b71815554b963b0eafeb5536578700cf', onClick: this.handleClose, class: "close", type: "button" }, hAsync("nv-icon", { key: 'df426e5d88c2bf02e7aa83c179c05db4795f03db', name: "x", size: "sm" })))));
5436
5835
  }
5437
5836
  get ref() { return getElement(this); }
5438
5837
  static get watchers() { return {
@@ -5495,7 +5894,7 @@ class NvBreadcrumb {
5495
5894
  /****************************************************************************/
5496
5895
  //#region RENDER
5497
5896
  render() {
5498
- return (hAsync(Host, { key: '50f858dc015ef2cd51f54a08fa53ec88ee42ac41', role: "listitem", "aria-current": this.current ? 'location' : undefined, class: clsx({ 'visually-hidden': this.current }) }, this.type === 'collapsed' ? (hAsync("button", { ref: el => (this.popoverTrigger = el) }, "...")) : (hAsync("slot", null)), this.tooltip && (hAsync("nv-tooltip", { key: '1df40faa4a483d4abf8895def5db87696cf0d08e', message: this.tooltip, triggerElement: this.popoverTrigger, placement: "top" })), this.type === 'collapsed' && (hAsync("nv-popover", { key: '90174908cdcf1b3e1f8a8a82a01cfa505311c930', triggerMode: "click", groupName: "breadcrumbs", triggerElement: this.popoverTrigger }, hAsync("ul", { key: '72282abd41c80bb8edf0c6b19506be32bf5ed688', slot: "content" }, hAsync("slot", { key: '4b9c325c0d27162c4856796f6a7d7c9b39edf993' })))), hAsync("span", { key: '62316fc8efc09067a0a64d4e90e76d57b329ee81', "data-scope": "separator" }, "/")));
5897
+ return (hAsync(Host, { key: 'b0cfdee987585488bd49734900ee421b081e6df4', role: "listitem", "aria-current": this.current ? 'location' : undefined, class: clsx({ 'visually-hidden': this.current }) }, this.type === 'collapsed' ? (hAsync("button", { ref: el => (this.popoverTrigger = el) }, "...")) : (hAsync("slot", null)), this.tooltip && (hAsync("nv-tooltip", { key: '970d9552c3f81bffd86889fc2ff169f73810507b', message: this.tooltip, triggerElement: this.popoverTrigger, placement: "top" })), this.type === 'collapsed' && (hAsync("nv-popover", { key: '1b14ce172db49aaeb199d6801978f96204ba05a1', triggerMode: "click", groupName: "breadcrumbs", triggerElement: this.popoverTrigger }, hAsync("ul", { key: 'b984309f9290bb4bcfed796200ffaad6e52a2b93', slot: "content" }, hAsync("slot", { key: '189408f75e689b98b4cf9397074dbaefaecece9a' })))), hAsync("span", { key: '62a4bed098620043b69f1e7dcf51db7de035f5fc', "data-scope": "separator" }, "/")));
5499
5898
  }
5500
5899
  get el() { return getElement(this); }
5501
5900
  static get style() { return NvBreadcrumbStyle0; }
@@ -5525,7 +5924,7 @@ class NvBreadcrumbs {
5525
5924
  }
5526
5925
  //#region RENDER
5527
5926
  render() {
5528
- return (hAsync(Host, { key: '19ad2bb41f4254a98a571cbadb50ba5ed7d29f62', role: "navigation", "aria-label": "breadcrumbs" }, hAsync("ol", { key: '11b77f0f11c6b1dc2ce5ab3f4f7b23e8ec728b61' }, hAsync("slot", { key: 'c0c683f93c6874aa5f84fb735d13c1b5eabcd951' }))));
5927
+ return (hAsync(Host, { key: '4337fe5161c0ce444001e1b92221f3adac26e4bf', role: "navigation", "aria-label": "breadcrumbs" }, hAsync("ol", { key: '00d470eadfe879be525a4a4b7ec3368601a0697c' }, hAsync("slot", { key: '2d012f152b49f33f399aa14dfb18a4c39265128c' }))));
5529
5928
  }
5530
5929
  static get style() { return NvBreadcrumbsStyle0; }
5531
5930
  static get cmpMeta() { return {
@@ -5689,7 +6088,7 @@ class NvButton {
5689
6088
  /****************************************************************************/
5690
6089
  //#region RENDER
5691
6090
  render() {
5692
- return (hAsync(Host, { key: 'f8b20f9052d71f93eaf03f98550a7237225cadf2', role: "button", tabindex: "0", onClick: this.handleButtonClick }, this.loading && (hAsync("nv-loader", { key: 'c1cefa72ee24dad9ce16bbfe1f51e6cec6dc7fbc', size: this.size === ButtonSize.Large ? 'sm' : 'xs' })), hAsync("slot", { key: '36a311494e45ebc23b1133923a676d58e87f3800', name: "leading-icon" }), hAsync("slot", { key: 'f6fea826cda9a09f7152f4e30cc6981c89e73ebe' }), hAsync("slot", { key: 'd59c23ff85ea7efc16c69c5adbeb0e91786f1f68', name: "trailing-icon" })));
6091
+ return (hAsync(Host, { key: '54c0b3351f4d8a180058a03e61a562882fb98498', role: "button", tabindex: "0", onClick: this.handleButtonClick }, this.loading && (hAsync("nv-loader", { key: '21315e4af4111bcf47c67e65a9a58a1d7121a43e', size: this.size === ButtonSize.Large ? 'sm' : 'xs' })), hAsync("slot", { key: 'f37683ddaa2c11c5b7accfc99429c930f5a3dcf6', name: "leading-icon" }), hAsync("slot", { key: 'd17ebe7505d9027c6c58f930a8ea9b097561cead' }), hAsync("slot", { key: '2cd6c9756cc7540417041adf5830b734291b2ab5', name: "trailing-icon" })));
5693
6092
  }
5694
6093
  static get formAssociated() { return true; }
5695
6094
  get el() { return getElement(this); }
@@ -5954,26 +6353,6 @@ function parseDate(dateInput, dateFormat) {
5954
6353
  parsed = dayjs(dateInput, dateFormat, true);
5955
6354
  }
5956
6355
  if (!parsed.isValid()) {
5957
- // Check if the date input contains placeholder characters (incomplete input from Inputmask)
5958
- // This specifically targets partial dates being typed with placeholder characters
5959
- const hasPlaceholderChars = typeof dateInput === 'string' &&
5960
- (dateInput.includes('_') ||
5961
- dateInput.includes('-_') ||
5962
- dateInput.includes('/_') ||
5963
- dateInput.includes('._'));
5964
- // Check if it looks like a partial date being typed (starts with valid pattern)
5965
- const looksLikePartialDate = typeof dateInput === 'string' &&
5966
- dateInput.length < dateFormat.length &&
5967
- /^[\d\-/.]*$/.test(dateInput) && // Only contains digits and date separators
5968
- dateInput.length > 0;
5969
- const isIncompleteInput = hasPlaceholderChars || looksLikePartialDate;
5970
- // Only log error if it's not an incomplete input (to avoid spam during typing)
5971
- if (!isIncompleteInput) {
5972
- console.error(`Parsing error:`, {
5973
- dateInput,
5974
- dateFormat: dateFormat,
5975
- });
5976
- }
5977
6356
  return null;
5978
6357
  }
5979
6358
  return parsed.toDate();
@@ -6136,8 +6515,9 @@ const CalendarGrid = props => {
6136
6515
  hAsync("div", { class: "days-header" }, dayNames.map((day, index) => (hAsync("div", { class: "day-header", key: `day-header-${index}` }, day)))),
6137
6516
  hAsync("div", { class: "days-grid" }, days.map(day => {
6138
6517
  const date = day.date;
6139
- if (!date)
6140
- return null;
6518
+ if (!date || !day.dayOfMonth) {
6519
+ return hAsync("div", { class: "day-cell is-disabled is-empty" });
6520
+ }
6141
6521
  const isSelected = selectionType === 'single' &&
6142
6522
  isSameDate(date, selectedDate, { isUTCMode });
6143
6523
  const isInRange = isDateInRange(date);
@@ -6148,7 +6528,7 @@ const CalendarGrid = props => {
6148
6528
  }))));
6149
6529
  };
6150
6530
 
6151
- const nvCalendarCss = "nv-calendar{display:block}.datepicker-root{display:flex;justify-content:center;align-items:flex-start;width:auto}.datepicker-container{font-family:system-ui, sans-serif;display:flex;flex-direction:column;align-items:stretch;background:var(--components-calendar-background);border-radius:var(--calendar-radius);padding:var(--calendar-padding);box-shadow:0px var(--shadow-y-axis-md-1) var(--shadow-blur-md-1) var(--shadow-spread-md, 0) var(--shadow-color-opacity-0), 0px var(--shadow-y-axis-md-2) var(--shadow-blur-md-2) var(--shadow-spread-md, 0) var(--shadow-color-opacity-2);border:1px solid var(--components-calendar-border);width:auto;max-width:100%}.datepicker-container-single{max-width:300px}.datepicker-container-single .datepicker-wrapper:has(.shortcuts-placement-left),.datepicker-container-single .datepicker-wrapper:has(.shortcuts-placement-right){max-width:410px !important}.datepicker-container-single:has(.shortcuts-placement-left),.datepicker-container-single:has(.shortcuts-placement-right){max-width:410px !important}.datepicker-wrapper{display:flex;justify-content:center;align-items:flex-start;gap:var(--calendar-gap-x);width:auto;overflow-x:hidden}.datepicker-wrapper::-webkit-scrollbar{width:6px;height:6px}.datepicker-wrapper::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}.datepicker-wrapper::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}.datepicker-wrapper.single{justify-content:center}.calendar-container{display:flex;flex-direction:column;align-items:center;padding:var(--calendar-padding);width:auto;position:relative}.calendar-separator{width:1px;background:var(--components-calendar-border);height:auto;min-height:100%;margin:0 10px}.header{display:flex;justify-content:start;align-items:center;margin-bottom:var(--calendar-header-margin-bottom);width:100%}.header nv-iconbutton{width:var(--calendar-header-button-size);height:var(--calendar-header-button-size)}.nav-buttons{display:flex;gap:var(--spacing-0);margin-left:auto}.nav-left{order:-1}.date-controls{display:flex;gap:var(--spacing-1);align-items:center;min-height:34px;justify-content:center}.datepicker-container-single .date-controls{justify-content:flex-start}.datepicker-container:not(.datepicker-container-single) .date-controls{justify-content:start;flex-grow:1}.date-controls .month-select,.date-controls .year-input{background:transparent !important}.calendar-wrapper:nth-child(n+2) .datepicker-container{margin-left:42px}.calendar-grid{display:grid;grid-template-columns:auto 1fr;column-gap:var(--calendar-weeks-calendar-gap-x);position:relative}.calendar-grid.slide-left{animation:slideLeft 0.3s ease-out}.calendar-grid.slide-right{animation:slideRight 0.3s ease-out}.week-numbers{display:grid;grid-template-rows:var(--calendar-cell-size) repeat(6, var(--calendar-cell-size));background:var(--components-calendar-weeks-background);color:var(--components-calendar-weeks-text);border-radius:var(--calendar-weeks-radius);width:var(--calendar-weeks-size);row-gap:var(--calendar-grid-gap-y)}.week-numbers .clickable{cursor:pointer}.week-numbers .clickable:hover{background-color:var(--components-calendar-weeks-background-hover);color:var(--components-calendar-weeks-text-hover);border-radius:var(--calendar-radius)}.week-header,.week-number{display:grid;place-items:center;font-size:var(--calendar-cell-font-size)}.week-header{font-weight:700;color:var(--components-calendar-weeks-text)}.week-number{color:var(--components-calendar-cell-text)}.days-container{display:grid;grid-template-rows:auto 1fr;row-gap:var(--calendar-grid-gap-y)}.days-header{display:grid;grid-template-columns:repeat(7, var(--calendar-cell-size));height:var(--calendar-cell-size)}.day-header{display:grid;place-items:center;font-size:var(--calendar-cell-font-size);color:var(--components-calendar-cell-text)}.days-grid{display:grid;grid-template-columns:repeat(7, var(--calendar-cell-size));grid-template-rows:repeat(6, var(--calendar-cell-size));animation:fadeIn 0.2s ease-in;row-gap:var(--calendar-grid-gap-y);z-index:0}.day{display:grid;place-items:center;width:var(--calendar-cell-size);height:var(--calendar-cell-size);font-size:var(--calendar-cell-font-size);border-radius:var(--calendar-cell-radius);cursor:pointer;border:none;background:transparent;transition:all 0.2s ease;text-align:center;animation:scaleIn 0.2s ease-out}.day:hover:not(.disabled,.empty,.selected){background:var(--components-calendar-cell-background-hover);color:var(--components-calendar-cell-text-hover)}.day.selected,.day.selected:hover .day.is-today.selected,.day.is-today.selected:hover{background:var(--components-calendar-cell-background-selected);color:var(--components-calendar-cell-text-selected) !important}.day.disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.day.outside-month{color:var(--components-calendar-cell-text);opacity:var(--opacity-disabled)}.day.outside-month.selected{opacity:1 !important;color:var(--components-calendar-cell-text-selected)}.day.outside-month.in-range{opacity:0.5 !important;background-color:var(--components-calendar-cell-background-in-range);color:var(--components-calendar-cell-text-in-range)}.day.outside-month.in-range:hover{opacity:0.7 !important;background-color:var(--components-calendar-cell-background-in-range)}.day.in-range{background:var(--components-calendar-cell-background-in-range);color:var(--components-calendar-cell-text-in-range);border-radius:0;position:relative}.day.range-start,.day.range-start:focus,.day.range-start:hover,.day.range-end,.day.range-end:focus,.day.range-end:hover{background-color:var(--components-calendar-cell-background-selected) !important;color:var(--components-calendar-cell-text-selected) !important}.day.range-start,.day.range-end,.day.range-start.is-today,.day.range-end.is-today{background:var(--components-calendar-cell-background-selected);color:var(--components-calendar-cell-text-selected);position:relative;border-radius:var(--radius-rounded-full)}.day.range-start:hover,.day.range-end:hover,.day.range-start.is-today:hover,.day.range-end.is-today:hover{color:var(--components-calendar-cell-text-today)}.day.range-start:before,.day.range-end:before,.day.range-start.is-today:before,.day.range-end.is-today:before{content:\"\";position:absolute;bottom:0;left:0;right:0;top:0;z-index:-1;background-color:var(--components-calendar-cell-background-in-range);border-radius:var(--radius-rounded-full);width:auto;height:auto}.day.range-start:has(~.range-end):before,.day.range-start:has(+.in-range):before{border-top-right-radius:0;border-bottom-right-radius:0}.day.range-end:before{border-top-left-radius:0 !important;border-bottom-left-radius:0 !important}.day.outside-month.range-start,.day.outside-month.range-end{opacity:1 !important;background:var(--components-calendar-cell-background-selected) !important;color:var(--components-calendar-cell-text-selected)}.day.is-today{font-weight:700;position:relative;color:var(--components-calendar-cell-text-today)}.day.is-today.range-start,.day.is-today.range-end{color:var(--components-calendar-cell-text-selected)}.day.is-today.range-start:hover,.day.is-today.range-end:hover{color:var(--components-calendar-cell-text-today)}.day.is-today::after{content:\"\";position:absolute;bottom:var(--spacing-1);left:50%;transform:translateX(-50%);width:var(--calendar-cell-dot-size);height:var(--calendar-cell-dot-size);background-color:currentColor;border-radius:50%}.day.is-today.selected::after{color:var(--components-calendar-cell-text-selected)}.day.is-today.selected::after::after{background-color:var(--components-calendar-cell-dot-selected)}.calendar-footer{display:flex;gap:var(--spacing-1);justify-content:flex-start;width:100%;flex-wrap:wrap}.footer-placement-left{justify-content:flex-start}.footer-placement-right{justify-content:flex-end}.footer-placement-center{justify-content:center}.datepicker-controls{display:flex;flex-direction:column;border-top:1px solid var(--components-calendar-border);padding:var(--calendar-controls-padding-top) var(--calendar-padding) var(--calendar-padding);gap:var(--calendar-grid-gap-y);margin-top:var(--calendar-controls-margin-top)}.datepicker-actions{display:flex;justify-content:flex-end;gap:var(--spacing-1);width:100%}.datepicker-actions slot-fb{display:contents !important}.calendar-footer+.datepicker-actions{margin-top:0}.shortcuts-placement-left,.shortcuts-placement-right{display:flex;flex-direction:column;gap:var(--spacing-1);margin-top:var(--spacing-4)}.shortcuts-placement-left{align-items:flex-end}.shortcuts-placement-right{align-items:flex-start}@keyframes slideLeft{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideRight{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}";
6531
+ const nvCalendarCss = "nv-calendar{display:block}.datepicker-root{display:flex;justify-content:center;align-items:flex-start;width:auto}.datepicker-container{font-family:system-ui, sans-serif;display:flex;flex-direction:column;align-items:stretch;background:var(--components-calendar-background);border-radius:var(--calendar-radius);padding:var(--calendar-padding);box-shadow:0px var(--shadow-y-axis-md-1) var(--shadow-blur-md-1) var(--shadow-spread-md, 0) var(--shadow-color-opacity-0), 0px var(--shadow-y-axis-md-2) var(--shadow-blur-md-2) var(--shadow-spread-md, 0) var(--shadow-color-opacity-2);border:1px solid var(--components-calendar-border);width:auto;max-width:100%}.datepicker-container-single{max-width:300px}.datepicker-container-single .datepicker-wrapper:has(.shortcuts-placement-left),.datepicker-container-single .datepicker-wrapper:has(.shortcuts-placement-right){max-width:410px !important}.datepicker-container-single:has(.shortcuts-placement-left),.datepicker-container-single:has(.shortcuts-placement-right){max-width:410px !important}.datepicker-wrapper{display:flex;justify-content:center;align-items:flex-start;gap:var(--calendar-gap-x);width:auto;overflow-x:hidden}.datepicker-wrapper::-webkit-scrollbar{width:6px;height:6px}.datepicker-wrapper::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}.datepicker-wrapper::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}.datepicker-wrapper.single{justify-content:center}.calendar-container{display:flex;flex-direction:column;align-items:center;padding:var(--calendar-padding);width:auto;position:relative}.calendar-separator{width:1px;background:var(--components-calendar-border);height:auto;min-height:100%;margin:0 10px}.header{display:flex;justify-content:start;align-items:center;margin-bottom:var(--calendar-header-margin-bottom);width:100%}.header nv-iconbutton{width:var(--calendar-header-button-size);height:var(--calendar-header-button-size)}.nav-buttons{display:flex;gap:var(--spacing-0);margin-left:auto}.nav-left{order:-1}.date-controls{display:flex;gap:var(--spacing-1);align-items:center;min-height:34px;justify-content:center}.datepicker-container-single .date-controls{justify-content:flex-start}.datepicker-container:not(.datepicker-container-single) .date-controls{justify-content:start;flex-grow:1}.date-controls .month-select,.date-controls .year-input{background:transparent !important}.calendar-wrapper:nth-child(n+2) .datepicker-container{margin-left:42px}.calendar-grid{display:grid;grid-template-columns:auto 1fr;column-gap:var(--calendar-weeks-calendar-gap-x);position:relative}.calendar-grid.slide-left{animation:slideLeft 0.3s ease-out}.calendar-grid.slide-right{animation:slideRight 0.3s ease-out}.week-numbers{display:grid;grid-template-rows:var(--calendar-cell-size) repeat(6, var(--calendar-cell-size));background:var(--components-calendar-weeks-background);color:var(--components-calendar-weeks-text);border-radius:var(--calendar-weeks-radius);width:var(--calendar-weeks-size);row-gap:var(--calendar-grid-gap-y)}.week-numbers .clickable{cursor:pointer}.week-numbers .clickable:hover{background-color:var(--components-calendar-weeks-background-hover);color:var(--components-calendar-weeks-text-hover);border-radius:var(--calendar-radius)}.week-header,.week-number{display:grid;place-items:center;font-size:var(--calendar-cell-font-size)}.week-header{font-weight:700;color:var(--components-calendar-weeks-text)}.week-number{color:var(--components-calendar-cell-text)}.days-container{display:grid;grid-template-rows:auto 1fr;row-gap:var(--calendar-grid-gap-y)}.days-header{display:grid;grid-template-columns:repeat(7, var(--calendar-cell-size));height:var(--calendar-cell-size)}.day-header{display:grid;place-items:center;font-size:var(--calendar-cell-font-size);color:var(--components-calendar-cell-text)}.days-grid{display:grid;grid-template-columns:repeat(7, var(--calendar-cell-size));grid-template-rows:repeat(6, var(--calendar-cell-size));animation:fadeIn 0.2s ease-in;row-gap:var(--calendar-grid-gap-y);z-index:0}.day{display:grid;place-items:center;width:var(--calendar-cell-size);height:var(--calendar-cell-size);font-size:var(--calendar-cell-font-size);border-radius:var(--calendar-cell-radius);cursor:pointer;border:none;background:transparent;transition:all 0.2s ease;text-align:center;animation:scaleIn 0.2s ease-out}.day:hover:not(.disabled,.empty,.selected){background:var(--components-calendar-cell-background-hover);color:var(--components-calendar-cell-text-hover)}.day.selected,.day.selected:hover .day.is-today.selected,.day.is-today.selected:hover{background:var(--components-calendar-cell-background-selected);color:var(--components-calendar-cell-text-selected) !important}.day.disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.day.is-empty{pointer-events:none;background-color:transparent;border-color:transparent}.day.outside-month{color:var(--components-calendar-cell-text);opacity:var(--opacity-disabled)}.day.outside-month.selected{opacity:1 !important;color:var(--components-calendar-cell-text-selected)}.day.outside-month.in-range{opacity:0.5 !important;background-color:var(--components-calendar-cell-background-in-range);color:var(--components-calendar-cell-text-in-range)}.day.outside-month.in-range:hover{opacity:0.7 !important;background-color:var(--components-calendar-cell-background-in-range)}.day.in-range{background:var(--components-calendar-cell-background-in-range);color:var(--components-calendar-cell-text-in-range);border-radius:0;position:relative}.day.range-start,.day.range-start:focus,.day.range-start:hover,.day.range-end,.day.range-end:focus,.day.range-end:hover{background-color:var(--components-calendar-cell-background-selected) !important;color:var(--components-calendar-cell-text-selected) !important}.day.range-start,.day.range-end,.day.range-start.is-today,.day.range-end.is-today{background:var(--components-calendar-cell-background-selected);color:var(--components-calendar-cell-text-selected);position:relative;border-radius:var(--radius-rounded-full)}.day.range-start:hover,.day.range-end:hover,.day.range-start.is-today:hover,.day.range-end.is-today:hover{color:var(--components-calendar-cell-text-today)}.day.range-start:before,.day.range-end:before,.day.range-start.is-today:before,.day.range-end.is-today:before{content:\"\";position:absolute;bottom:0;left:0;right:0;top:0;z-index:-1;background-color:var(--components-calendar-cell-background-in-range);border-radius:var(--radius-rounded-full);width:auto;height:auto}.day.range-start:has(~.range-end):before,.day.range-start:has(+.in-range):before{border-top-right-radius:0;border-bottom-right-radius:0}.day.range-end:before{border-top-left-radius:0 !important;border-bottom-left-radius:0 !important}.day.outside-month.range-start,.day.outside-month.range-end{opacity:1 !important;background:var(--components-calendar-cell-background-selected) !important;color:var(--components-calendar-cell-text-selected)}.day.is-today{font-weight:700;position:relative;color:var(--components-calendar-cell-text-today)}.day.is-today.range-start,.day.is-today.range-end{color:var(--components-calendar-cell-text-selected)}.day.is-today.range-start:hover,.day.is-today.range-end:hover{color:var(--components-calendar-cell-text-today)}.day.is-today::after{content:\"\";position:absolute;bottom:var(--spacing-1);left:50%;transform:translateX(-50%);width:var(--calendar-cell-dot-size);height:var(--calendar-cell-dot-size);background-color:currentColor;border-radius:50%}.day.is-today.selected::after{color:var(--components-calendar-cell-text-selected)}.day.is-today.selected::after::after{background-color:var(--components-calendar-cell-dot-selected)}.calendar-footer{display:flex;gap:var(--spacing-1);justify-content:flex-start;width:100%;flex-wrap:wrap}.footer-placement-left{justify-content:flex-start}.footer-placement-right{justify-content:flex-end}.footer-placement-center{justify-content:center}.datepicker-controls{display:flex;flex-direction:column;border-top:1px solid var(--components-calendar-border);padding:var(--calendar-controls-padding-top) var(--calendar-padding) var(--calendar-padding);gap:var(--calendar-grid-gap-y);margin-top:var(--calendar-controls-margin-top)}.datepicker-actions{display:flex;justify-content:flex-end;gap:var(--spacing-1);width:100%}.datepicker-actions slot-fb{display:contents !important}.calendar-footer+.datepicker-actions{margin-top:0}.shortcuts-placement-left,.shortcuts-placement-right{display:flex;flex-direction:column;gap:var(--spacing-1);margin-top:var(--spacing-4)}.shortcuts-placement-left{align-items:flex-end}.shortcuts-placement-right{align-items:flex-start}@keyframes slideLeft{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideRight{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}";
6152
6532
  var NvCalendarStyle0 = nvCalendarCss;
6153
6533
 
6154
6534
  /**
@@ -6470,7 +6850,7 @@ class NvCalendar {
6470
6850
  * @param {number} totalCalendars - Number of calendars to display (1 by default)
6471
6851
  * @returns {Array<{ dayOfMonth: number | null, date: Date | null, isSelected: boolean, isDisabled: boolean }>} Array of formatted days
6472
6852
  */
6473
- this.getDaysInMonth = (offset = 0, totalCalendars = 1) => {
6853
+ this.getDaysInMonth = (offset = 0) => {
6474
6854
  const year = this.currentDate.getUTCFullYear();
6475
6855
  const month = this.currentDate.getUTCMonth() + offset;
6476
6856
  const firstDay = new Date(Date.UTC(year, month, 1));
@@ -6481,17 +6861,31 @@ class NvCalendar {
6481
6861
  const dayOfWeekIndex = firstDay.getUTCDay(); // 0 = Sunday, 1 = Monday, etc.
6482
6862
  // Adjust based on firstDayOfWeek (if week starts on Monday, offset is different)
6483
6863
  const offsetDays = (dayOfWeekIndex - this.firstDayOfWeek + 7) % 7;
6484
- // Add the days of the previous month for the first calendar
6485
- if (offset === 0 && offsetDays > 0) {
6486
- const prevMonthLastDay = new Date(Date.UTC(year, month, 0)).getUTCDate();
6487
- for (let i = offsetDays; i > 0; i--) {
6488
- const date = new Date(Date.UTC(year, month - 1, prevMonthLastDay - i + 1));
6489
- days.push({
6490
- dayOfMonth: date.getUTCDate(),
6491
- date,
6492
- isCurrentMonth: false,
6493
- isDisabled: this.isDateDisabled(date),
6494
- });
6864
+ const showPrevMonthDays = this.numberOfCalendars === 1 ||
6865
+ (this.numberOfCalendars > 1 && offset === 0);
6866
+ // Add the days of the previous month
6867
+ if (offsetDays > 0) {
6868
+ if (showPrevMonthDays) {
6869
+ const prevMonthLastDay = new Date(Date.UTC(year, month, 0)).getUTCDate();
6870
+ for (let i = offsetDays; i > 0; i--) {
6871
+ const date = new Date(Date.UTC(year, month - 1, prevMonthLastDay - i + 1));
6872
+ days.push({
6873
+ dayOfMonth: date.getUTCDate(),
6874
+ date,
6875
+ isCurrentMonth: false,
6876
+ isDisabled: this.isDateDisabled(date),
6877
+ });
6878
+ }
6879
+ }
6880
+ else {
6881
+ for (let i = 0; i < offsetDays; i++) {
6882
+ days.push({
6883
+ dayOfMonth: null,
6884
+ date: null,
6885
+ isCurrentMonth: false,
6886
+ isDisabled: true,
6887
+ });
6888
+ }
6495
6889
  }
6496
6890
  }
6497
6891
  // Add the days of the current month
@@ -6504,17 +6898,31 @@ class NvCalendar {
6504
6898
  isDisabled: this.isDateDisabled(date),
6505
6899
  });
6506
6900
  }
6507
- // Add the days of the next month only for the last calendar
6508
- if (offset === totalCalendars - 1) {
6509
- const nextMonthDaysNeeded = 7 - (days.length % 7 || 7);
6510
- for (let i = 1; i <= nextMonthDaysNeeded; i++) {
6511
- const date = new Date(Date.UTC(year, month + 1, i));
6512
- days.push({
6513
- dayOfMonth: i,
6514
- date,
6515
- isCurrentMonth: false,
6516
- isDisabled: this.isDateDisabled(date),
6517
- });
6901
+ const showNextMonthDays = this.numberOfCalendars === 1 ||
6902
+ (this.numberOfCalendars > 1 && offset === this.numberOfCalendars - 1);
6903
+ // Add the days of the next month to fill the grid
6904
+ const nextMonthDaysNeeded = 7 - (days.length % 7 || 7);
6905
+ if (nextMonthDaysNeeded < 7) {
6906
+ if (showNextMonthDays) {
6907
+ for (let i = 1; i <= nextMonthDaysNeeded; i++) {
6908
+ const date = new Date(Date.UTC(year, month + 1, i));
6909
+ days.push({
6910
+ dayOfMonth: i,
6911
+ date,
6912
+ isCurrentMonth: false,
6913
+ isDisabled: this.isDateDisabled(date),
6914
+ });
6915
+ }
6916
+ }
6917
+ else {
6918
+ for (let i = 0; i < nextMonthDaysNeeded; i++) {
6919
+ days.push({
6920
+ dayOfMonth: null,
6921
+ date: null,
6922
+ isCurrentMonth: false,
6923
+ isDisabled: true,
6924
+ });
6925
+ }
6518
6926
  }
6519
6927
  }
6520
6928
  return days;
@@ -6581,7 +6989,7 @@ class NvCalendar {
6581
6989
  this.handleWeekSelection = (weekDays, calendarIndex) => {
6582
6990
  if (this.selectionType !== 'range')
6583
6991
  return;
6584
- const allDays = this.getDaysInMonth(calendarIndex, this.numberOfCalendars);
6992
+ const allDays = this.getDaysInMonth(calendarIndex);
6585
6993
  const weekStart = weekDays[0];
6586
6994
  const weekEnd = weekDays[weekDays.length - 1];
6587
6995
  if (!weekStart || !weekEnd)
@@ -6794,7 +7202,7 @@ class NvCalendar {
6794
7202
  index,
6795
7203
  /** Month offset */
6796
7204
  offset) => {
6797
- const days = this.getDaysInMonth(offset, this.numberOfCalendars);
7205
+ const days = this.getDaysInMonth(offset);
6798
7206
  const weeks = [];
6799
7207
  for (let i = 0; i < days.length; i += 7) {
6800
7208
  weeks.push(days.slice(i, i + 7));
@@ -6998,8 +7406,8 @@ class NvCalendar {
6998
7406
  * @slot default - Child content of the component.
6999
7407
  */
7000
7408
  render() {
7001
- return (hAsync(Host, { key: '43d4f3ab9199e9c5f15e853f15283fa59e4a436d' }, hAsync("div", { key: 'b9956225cb2c16d997aa44266af8f8c8222ea968', class: "datepicker-root" }, hAsync("div", { key: '05b63935bc5ebf500bb52d10688385f994b47fb4', class: `datepicker-container ${this.numberOfCalendars === 1 ? 'datepicker-container-single' : ''}` }, hAsync("div", { key: 'd7af15b9ce051026cf841b3be361b32d8db41fc1', class: `datepicker-wrapper ${this.numberOfCalendars === 1 ? 'single' : ''}` }, this.shortcutsPlacement === 'left' && this.renderShortcuts(), Array.from({ length: this.numberOfCalendars }, (_, index) => this.renderCalendar(index, index)), this.shortcutsPlacement === 'right' && this.renderShortcuts()), ((this.hasShortcuts && this.shortcutsPlacement === 'bottom') ||
7002
- this.hasActions) && (hAsync("div", { key: '1765334bf15564bc9886b210c54bddba64c7042e', class: "datepicker-controls" }, this.shortcutsPlacement === 'bottom' && this.renderShortcuts(), this.hasActions && this.renderActions())))), hAsync("slot", { key: '0ac3446394b8c23b859e5f0065370b95b6fd05d2' })));
7409
+ return (hAsync(Host, { key: '089a80ab34e2bc3f31432437787578f6367fde7c' }, hAsync("div", { key: '9537a1a20798d8ff3cf53972154a4d7fb0156daf', class: "datepicker-root" }, hAsync("div", { key: '17a4630c184001b5fbea941540ee01b0bbf8b58d', class: `datepicker-container ${this.numberOfCalendars === 1 ? 'datepicker-container-single' : ''}` }, hAsync("div", { key: '8d56891ebb52b251a013d6a640d472900b9b62e8', class: `datepicker-wrapper ${this.numberOfCalendars === 1 ? 'single' : ''}` }, this.shortcutsPlacement === 'left' && this.renderShortcuts(), Array.from({ length: this.numberOfCalendars }, (_, index) => this.renderCalendar(index, index)), this.shortcutsPlacement === 'right' && this.renderShortcuts()), ((this.hasShortcuts && this.shortcutsPlacement === 'bottom') ||
7410
+ this.hasActions) && (hAsync("div", { key: 'a7f53681fb23a9b80b8141de19c4decaec5e887b', class: "datepicker-controls" }, this.shortcutsPlacement === 'bottom' && this.renderShortcuts(), this.hasActions && this.renderActions())))), hAsync("slot", { key: '943aca0d1a5b2db40f59dfd8973d26b52b9ed312' })));
7003
7411
  }
7004
7412
  get el() { return getElement(this); }
7005
7413
  static get watchers() { return {
@@ -7069,7 +7477,7 @@ class NvCol {
7069
7477
  /****************************************************************************/
7070
7478
  //#region RENDER
7071
7479
  render() {
7072
- return (hAsync(Host, { key: '8f7112dc8ce8896d9e7265741f06b7449dd508df', class: clsx(this.getColSize()) }, hAsync("slot", { key: '3bedff11752d04db2615a5f26d4d910d95dee76c' })));
7480
+ return (hAsync(Host, { key: 'e258bc3e01d3bd35bf64f14241c70ae044fac132', class: clsx(this.getColSize()) }, hAsync("slot", { key: 'd36caf0fde38eae6cd37b62fb4c02e3de6b7225e' })));
7073
7481
  }
7074
7482
  static get style() { return NvColStyle0; }
7075
7483
  static get cmpMeta() { return {
@@ -11570,7 +11978,7 @@ class NvDatagrid {
11570
11978
  const rows = !this.table || this.table === undefined || this.parsedData.length === 0
11571
11979
  ? []
11572
11980
  : (_c = (_b = this.table) === null || _b === void 0 ? void 0 : _b.getRowModel()) === null || _c === void 0 ? void 0 : _c.rows;
11573
- return (hAsync(Host, { key: '95d3cea67d17f1aab33e7bc054161760e6d6df54' }, hAsync("div", { key: 'b6cbdf841ab4ba64d2ccbf49fc6caf9ef082c7ee', class: "hidden" }, hAsync("slot", { key: '18dde7efeec5c1bc38a044a683910db41f70e22d' })), hAsync("slot", { key: 'd3ffb496e938ee3c91c5a7422357cbee90100d84', name: "before" }), this.enableGlobalFilter && this.table && (hAsync("div", { key: '0ab19e6c1c585d4e77004ec9238dba3baff83614', class: `search-container justify-${this.globalFilterPosition}` }, hAsync("nv-fieldtext", { key: '76722d31da818102347278c7b62a93deaa9c29a1', value: this.globalFilterSearchTerm, onInput: this.handleGlobalFilteringOnInput, placeholder: "Search all columns..." }))), this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (hAsync("div", { class: "no-data" }, this.noColumnsNoDataMessage)) : (hAsync("div", null, hAsync("table", null, this.parsedColumns.length > 0 && headerGroups.length > 0 && (hAsync("thead", null, this.parsedColumns.length > 0 && headerGroups
11981
+ return (hAsync(Host, { key: 'b149279b85a3138e5be62b2f431a82fe5056b996' }, hAsync("div", { key: '84ffd6a613a7e51539f0bc7e5ddff16a1769af5a', class: "hidden" }, hAsync("slot", { key: 'cabafd2aab117816742972bd4eb6e7122c333ee9' })), hAsync("slot", { key: '17a26ba154ddc2dea82f7576878107ede55a2043', name: "before" }), this.enableGlobalFilter && this.table && (hAsync("div", { key: '822bb793cad6266810571dbb2c087c9e2b68958d', class: `search-container justify-${this.globalFilterPosition}` }, hAsync("nv-fieldtext", { key: 'b9fd668a09b602ded195e4d10b79ae3d06c9a0f6', value: this.globalFilterSearchTerm, onInput: this.handleGlobalFilteringOnInput, placeholder: "Search all columns..." }))), this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (hAsync("div", { class: "no-data" }, this.noColumnsNoDataMessage)) : (hAsync("div", null, hAsync("table", null, this.parsedColumns.length > 0 && headerGroups.length > 0 && (hAsync("thead", null, this.parsedColumns.length > 0 && headerGroups
11574
11982
  ? headerGroups === null || headerGroups === void 0 ? void 0 : headerGroups.map(headerGroup => (hAsync("tr", { key: headerGroup.id }, headerGroup.headers.map(header => {
11575
11983
  return this.getHeaderCell(header);
11576
11984
  }))))
@@ -11581,7 +11989,7 @@ class NvDatagrid {
11581
11989
  return (hAsync("td", { key: cell.id, "data-row-id": rowId }, this.flexRender(cell.column.columnDef.cell, cell.getContext())));
11582
11990
  })));
11583
11991
  }))), this.table && this.enableRowSelection ? (hAsync("tfoot", null, hAsync("tr", null, hAsync("td", { colSpan: 20 }, this.enableRowSelection && this.table ? (hAsync("div", null, this.rowSelectionState &&
11584
- Object.keys(this.rowSelectionState).length > 0 ? (hAsync("span", null, Object.keys(this.rowSelectionState).length, " of", ' ', ((_e = (_d = this.table.getPreFilteredRowModel()) === null || _d === void 0 ? void 0 : _d.rows) === null || _e === void 0 ? void 0 : _e.length) || 0, ' ', "Total Rows Selected")) : (hAsync("span", null, "No rows selected")))) : null)))) : null), this.getPagination())), hAsync("slot", { key: 'ee4cdbb4683a3da20154fd60580d694d8f78feb8', name: "after" })));
11992
+ Object.keys(this.rowSelectionState).length > 0 ? (hAsync("span", null, Object.keys(this.rowSelectionState).length, " of", ' ', ((_e = (_d = this.table.getPreFilteredRowModel()) === null || _d === void 0 ? void 0 : _d.rows) === null || _e === void 0 ? void 0 : _e.length) || 0, ' ', "Total Rows Selected")) : (hAsync("span", null, "No rows selected")))) : null)))) : null), this.getPagination())), hAsync("slot", { key: 'f509745423857527f2983c5cce1289441cc1f7c7', name: "after" })));
11585
11993
  }
11586
11994
  get el() { return getElement(this); }
11587
11995
  static get watchers() { return {
@@ -11646,7 +12054,7 @@ class NvDatagridcolumn {
11646
12054
  /****************************************************************************/
11647
12055
  //#region RENDER
11648
12056
  render() {
11649
- return (hAsync(Host, { key: 'daa7b24c99857d7467f0a5ce0b69dcbeb42577e7' }, hAsync("slot", { key: '8c2fe1f1b806322cdf1c89b9243dd0d094e565eb', name: "header" }), hAsync("slot", { key: '81ae95ccd66f88c05253fde0ec9e0d20e02e5304', name: "cell" })));
12057
+ return (hAsync(Host, { key: '49c4b8807b26a76cf26e9ac9567a5bca7de0aee7' }, hAsync("slot", { key: '9e6c8b69a92fe4caec10025c941e39f1266b4f93', name: "header" }), hAsync("slot", { key: '992fa9c1d00fe8ed65df5ad2157b78140d2794a0', name: "cell" })));
11650
12058
  }
11651
12059
  static get cmpMeta() { return {
11652
12060
  "$flags$": 4,
@@ -12278,7 +12686,7 @@ function v4(options, buf, offset) {
12278
12686
  return unsafeStringify(rnds);
12279
12687
  }
12280
12688
 
12281
- const nvDialogCss = "dialog{border-radius:var(--radius-rounded-2xl);background:var(--color-level-00-background);min-width:400px;width:fit-content;max-width:clamp(90vw, min(90vw, 960px), 960px);margin:auto;max-height:90vh;overflow:hidden;box-shadow:0px var(--shadow-y-axis-2xl) var(--shadow-blur-2xl) var(--shadow-spread-2xl) var(--shadow-color-opacity-3) var(--shadow-color-opacity-3)}dialog.full{width:90vw}dialog::backdrop{opacity:var(--components-overlay-opacity);background:var(--components-overlay-background)}dialog .content{display:flex;flex-direction:column;align-items:flex-start;height:fit-content;max-height:90vh;overflow:hidden}dialog .content nv-button.close-button{position:absolute;top:var(--dialog-dismissible-position-top);right:var(--dialog-dismissible-position-right);display:flex;padding:var(--button-sm-icon-button-padding);justify-content:flex-end;align-items:flex-start;gap:10px}dialog .content .content-body{overflow:auto;box-sizing:border-box;padding:var(--dialog-body-padding-y) var(--dialog-body-padding-x);scrollbar-gutter:stable both-edges;font-family:\"TT Norms Pro\", sans-serif;font-size:var(--font-size-md);font-style:normal;font-weight:400;line-height:var(--line-height-base);color:var(--color-content-medium-text)}dialog .content .content-body::-webkit-scrollbar{width:6px;height:6px}dialog .content .content-body::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}dialog .content .content-body::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}";
12689
+ const nvDialogCss = "dialog{border-radius:var(--radius-rounded-2xl);background:var(--color-level-00-background);min-width:min(90vw, 400px);width:fit-content;max-width:clamp(90vw, min(90vw, 960px), 960px);margin:auto;max-height:90vh;overflow:hidden;box-shadow:0px var(--shadow-y-axis-2xl) var(--shadow-blur-2xl) var(--shadow-spread-2xl) var(--shadow-color-opacity-3) var(--shadow-color-opacity-3)}dialog.full{width:90vw}dialog::backdrop{opacity:var(--components-overlay-opacity);background:var(--components-overlay-background)}dialog .content{display:flex;flex-direction:column;align-items:flex-start;height:fit-content;max-height:90vh;overflow:hidden}dialog .content nv-button.close-button{position:absolute;top:var(--dialog-dismissible-position-top);right:var(--dialog-dismissible-position-right);display:flex;padding:var(--button-sm-icon-button-padding);justify-content:flex-end;align-items:flex-start;gap:10px}dialog .content .content-body{overflow:auto;box-sizing:border-box;padding:var(--dialog-body-padding-y) var(--dialog-body-padding-x);scrollbar-gutter:stable both-edges;font-family:\"TT Norms Pro\", sans-serif;font-size:var(--font-size-md);font-style:normal;font-weight:400;line-height:var(--line-height-base);color:var(--color-content-medium-text)}dialog .content .content-body::-webkit-scrollbar{width:6px;height:6px}dialog .content .content-body::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}dialog .content .content-body::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}";
12282
12690
  var NvDialogStyle0 = nvDialogCss;
12283
12691
 
12284
12692
  /**
@@ -12313,6 +12721,11 @@ class NvDialog {
12313
12721
  * If true, the dialog takes full width styling.
12314
12722
  */
12315
12723
  this.full = false;
12724
+ /**
12725
+ * Controls whether the dialog should automatically focus the first focusable element when opened.
12726
+ * When disabled, prevents unwanted tooltip triggers on dialog open.
12727
+ */
12728
+ this.autofocus = false;
12316
12729
  /**
12317
12730
  * Handles the close button click.
12318
12731
  */
@@ -12420,15 +12833,23 @@ class NvDialog {
12420
12833
  }
12421
12834
  /**
12422
12835
  * Prevents the body from scrolling when the dialog is open.
12836
+ * Compensates for scrollbar width to prevent layout shift.
12423
12837
  */
12424
12838
  preventScroll() {
12425
- document.body.style.overflow = 'hidden';
12839
+ // Calculate scrollbar width
12840
+ const scrollBarWidth = window.innerWidth - document.documentElement.clientWidth;
12841
+ // Apply overflow hidden and padding compensation
12842
+ document.documentElement.style.overflow = 'hidden';
12843
+ document.documentElement.style.paddingRight = `${scrollBarWidth}px`;
12426
12844
  }
12427
12845
  /**
12428
12846
  * Allows the body to scroll when the dialog is closed.
12847
+ * Removes the applied overflow and padding styles.
12429
12848
  */
12430
12849
  allowScroll() {
12431
- document.body.style.overflow = '';
12850
+ // Remove the applied styles
12851
+ document.documentElement.style.removeProperty('overflow');
12852
+ document.documentElement.style.removeProperty('padding-right');
12432
12853
  }
12433
12854
  ensureFormId(formElement) {
12434
12855
  if (!formElement.id) {
@@ -12505,8 +12926,8 @@ class NvDialog {
12505
12926
  if (this.open) {
12506
12927
  this.show();
12507
12928
  }
12508
- // Check if any element already has autofocus before setting it automatically
12509
- if (!this.dialogElement.querySelector('[autofocus]')) {
12929
+ // Only set autofocus if the prop is true and no element already has autofocus
12930
+ if (this.autofocus && !this.dialogElement.querySelector('[autofocus]')) {
12510
12931
  this.setAutofocus();
12511
12932
  }
12512
12933
  this.attachEventListeners();
@@ -12525,7 +12946,7 @@ class NvDialog {
12525
12946
  //#region RENDER
12526
12947
  render() {
12527
12948
  const hasForm = this.form || this.el.querySelector('form');
12528
- return (hAsync(Host, { key: 'c1eb9b79f52028c3ef7a57bad99260a45b678eb5' }, hAsync("slot", { key: '65a624853aa7242dc849a1196c6b5b8c331d426f', name: "trigger" }), hAsync("dialog", { key: '17369b9be014e9136d77f99628b4bc8184d36370', ref: el => (this.dialogElement = el), onClose: this.handleDialogClose, role: "dialog", "aria-modal": "true", "aria-labelledby": "dialog-header", "aria-describedby": "dialog-content", class: clsx({ full: this.full }) }, hAsync("div", { key: '8a17cd8deff162b333e2ac90c487454743d76f3d', class: "content" }, !this.undismissable && (hAsync("nv-button", { key: 'd61a63785ce284ce2039be5c62d6e2bcce2a9b44', class: "close-button", emphasis: "lower", size: "sm", onClick: this.handleCloseButton, "aria-label": "Close dialog" }, hAsync("nv-icon", { key: '5a0adb449785bc684c41d0e35aad08ccb725386a', name: "x", size: "sm" }))), this.headerElement ? (hAsync("slot", { name: "header" })) : (hAsync("nv-dialogheader", { id: "dialog-header" })), hAsync("div", { key: '7c39e52d8fe6fc9ab2fdc2574a0c105d790bbfbe', class: "content-body", id: "dialog-content" }, hAsync("slot", { key: '038d9f3623177af5d996631dd9ae25fec49fd778' })), this.footerElement ? (hAsync("slot", { name: "footer" })) : (hAsync("nv-dialogfooter", { form: this.form, primaryButtonType: hasForm ? ButtonType.Submit : ButtonType.Button, onDialogCanceled: this.handleCancelButton, undismissable: this.undismissable }))))));
12949
+ return (hAsync(Host, { key: '8e4a46dd7749656670d5b8eb167aae2108644375' }, hAsync("slot", { key: '954980e2b451c9f5c0e4f09df76c62c1f04ab01e', name: "trigger" }), hAsync("dialog", { key: '8541ad521ae348d26764756e45c668f7aab5c278', ref: el => (this.dialogElement = el), onClose: this.handleDialogClose, role: "dialog", "aria-modal": "true", "aria-labelledby": "dialog-header", "aria-describedby": "dialog-content", class: clsx({ full: this.full }) }, hAsync("div", { key: 'cd07e78da6f5cb3abd14640b941629bff034ec63', class: "content" }, !this.undismissable && (hAsync("nv-button", { key: '5b610a9d30acd450a273e9dc10a4a29bdf85d58c', class: "close-button", emphasis: "lower", size: "sm", onClick: this.handleCloseButton, "aria-label": "Close dialog" }, hAsync("nv-icon", { key: '4e5841c525221c6c23c699deaeefa7492f57e091', name: "x", size: "sm" }))), this.headerElement ? (hAsync("slot", { name: "header" })) : (hAsync("nv-dialogheader", { id: "dialog-header" })), hAsync("div", { key: 'f09fd0f7013b1c2c912ed7958a8a9cab0016858b', class: "content-body", id: "dialog-content" }, hAsync("slot", { key: 'c3c196c3e8f40acbb29f3fa89d1620e7beaad10c' })), this.footerElement ? (hAsync("slot", { name: "footer" })) : (hAsync("nv-dialogfooter", { form: this.form, primaryButtonType: hasForm ? ButtonType.Submit : ButtonType.Button, onDialogCanceled: this.handleCancelButton, undismissable: this.undismissable }))))));
12529
12950
  }
12530
12951
  get el() { return getElement(this); }
12531
12952
  static get watchers() { return {
@@ -12544,12 +12965,13 @@ class NvDialog {
12544
12965
  "clickOutside": [516, "click-outside"],
12545
12966
  "controlled": [516],
12546
12967
  "full": [516],
12968
+ "autofocus": [516],
12547
12969
  "show": [64],
12548
12970
  "close": [64]
12549
12971
  },
12550
12972
  "$listeners$": [[4, "keydown", "handleKeyDown"], [4, "click", "handleDocumentClick"], [5, "touchstart", "handleDocumentTouch"]],
12551
12973
  "$lazyBundleId$": "-",
12552
- "$attrsToReflect$": [["open", "open"], ["undismissable", "undismissable"], ["clickOutside", "click-outside"], ["controlled", "controlled"], ["full", "full"]]
12974
+ "$attrsToReflect$": [["open", "open"], ["undismissable", "undismissable"], ["clickOutside", "click-outside"], ["controlled", "controlled"], ["full", "full"], ["autofocus", "autofocus"]]
12553
12975
  }; }
12554
12976
  }
12555
12977
 
@@ -12641,7 +13063,7 @@ class NvDialogfooter {
12641
13063
  /****************************************************************************/
12642
13064
  //#region RENDER
12643
13065
  render() {
12644
- return (hAsync(Host, { key: '5756a0cc697188c3fdee2930b1c6ae7922af71cc' }, !this.hasSlot ? (hAsync(Fragment, null, !this.undismissable && (hAsync("nv-button", { onClick: this.handleCancel, emphasis: "low", size: "sm" }, this.cancelLabel)), hAsync("nv-button", { onClick: this.handlePrimary, disabled: this.disabled, danger: this.danger, size: "sm", emphasis: "high", form: this.form, type: this.primaryButtonType }, this.leadingIcon && (hAsync("nv-icon", { slot: "leading-icon", name: this.leadingIcon, size: "sm" })), this.primaryLabel, this.trailingIcon && (hAsync("nv-icon", { slot: "trailing-icon", name: this.trailingIcon, size: "sm" }))))) : (hAsync("slot", null))));
13066
+ return (hAsync(Host, { key: '278895398ddd9fd6aaf6da3d0cbcad12d628f908' }, !this.hasSlot ? (hAsync(Fragment, null, !this.undismissable && (hAsync("nv-button", { onClick: this.handleCancel, emphasis: "low", size: "sm" }, this.cancelLabel)), hAsync("nv-button", { onClick: this.handlePrimary, disabled: this.disabled, danger: this.danger, size: "sm", emphasis: "high", form: this.form, type: this.primaryButtonType }, this.leadingIcon && (hAsync("nv-icon", { slot: "leading-icon", name: this.leadingIcon, size: "sm" })), this.primaryLabel, this.trailingIcon && (hAsync("nv-icon", { slot: "trailing-icon", name: this.trailingIcon, size: "sm" }))))) : (hAsync("slot", null))));
12645
13067
  }
12646
13068
  static get formAssociated() { return true; }
12647
13069
  get el() { return getElement(this); }
@@ -12697,7 +13119,7 @@ class NvDialogheader {
12697
13119
  /****************************************************************************/
12698
13120
  //#region RENDER
12699
13121
  render() {
12700
- return (hAsync(Host, { key: '850e2408cb7a35903be3bc51fbee000fc58f4a76' }, !this.hasSlot ? (hAsync(Fragment, null, hAsync("div", { class: "heading" }, this.heading), hAsync("div", { class: "subheading" }, this.subheading))) : (hAsync("slot", null))));
13122
+ return (hAsync(Host, { key: '2ace10c91041456a36909763b62a2adeede183c7' }, !this.hasSlot ? (hAsync(Fragment, null, hAsync("div", { class: "heading" }, this.heading), hAsync("div", { class: "subheading" }, this.subheading))) : (hAsync("slot", null))));
12701
13123
  }
12702
13124
  get el() { return getElement(this); }
12703
13125
  static get style() { return NvDialogheaderStyle0; }
@@ -12834,13 +13256,13 @@ class NvFieldcheckbox {
12834
13256
  /****************************************************************************/
12835
13257
  //#region RENDER
12836
13258
  render() {
12837
- return (hAsync(Host, { key: '98f9dfdadab534193e7076f929c9820a231fecba', class: clsx(this.labelPlacement === 'before' && 'label-placement-before', this.error && 'error') }, hAsync("div", { key: '5a4d02d46b7c8c8930c24f794452180d58604ffe', class: "input-container" }, hAsync("input", { key: 'f7a4002a5fb9800ed4036638773ac42c49d4ae0f', type: "checkbox", id: this.inputId, name: this.name, autofocus: this.autofocus, autocomplete: "off", value: this.value, checked: Boolean(this.checked), disabled: this.disabled || this.readonly, readonly: this.readonly && !this.required, required: this.required, indeterminate: this.indeterminate, ref: el => {
13259
+ return (hAsync(Host, { key: 'cfb710b2af0ea4442d1c2011d8414c6987a98117', class: clsx(this.labelPlacement === 'before' && 'label-placement-before', this.error && 'error') }, hAsync("div", { key: 'a463fa87357a91d71941a265d3daf735abf3a36f', class: "input-container" }, hAsync("input", { key: '0dd7db02107246b427a1e78d8c36068debff85bd', type: "checkbox", id: this.inputId, name: this.name, autofocus: this.autofocus, autocomplete: "off", value: this.value, checked: Boolean(this.checked), disabled: this.disabled || this.readonly, readonly: this.readonly && !this.required, required: this.required, indeterminate: this.indeterminate, ref: el => {
12838
13260
  if (el) {
12839
13261
  el.indeterminate = this.indeterminate;
12840
13262
  }
12841
- } }), hAsync("span", { key: '56a2547ecf96ef3f7f28054592471323497cb94f', class: "icon" }, this.checked && !this.indeterminate && (hAsync("slot", { key: 'af4e10bd52b42850c8348e0aed8c90a7e700d64a', name: "checked-icon" }, hAsync("svg", { key: '105847f526c391566cef42fa35d94fbaba0e8984', xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 14 14", fill: "none" }, hAsync("path", { key: '41e221d5f3eab7a4cc88d4ed9454f198d69ec815', d: "M11.6667 3.5L5.25004 9.91667L2.33337 7", "stroke-linecap": "round", "stroke-linejoin": "round" })))), this.indeterminate && (hAsync("slot", { key: '3a1f5ffdc34a1ecdc1bb7f1b5347e1f12f5f690d', name: "indeterminate-icon" }, hAsync("svg", { key: '1b68c27172d5b6b9ba2419d278c0ac0299d7a4b7', class: "indeterminate-svg", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 14 14", fill: "none" }, hAsync("path", { key: '7b2f4e5fe1d961fad290aade639b9807446f34ba', d: "M2.9165 7H11.0832", "stroke-linecap": "round", "stroke-linejoin": "round" })))))), hAsync("div", { key: 'd472d7d8901ff7de37fe370bf5d637fc8ae6069d', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'c8dbda4d6f9cb757476c9a96934599171f6ea7ae', htmlFor: this.inputId, class: clsx(this.hideLabel && 'visually-hidden') }, hAsync("slot", { key: '3c0ec17aeb856457b63981fd0e21ead69ca3af0f', name: "label" }, this.label))), (this.description ||
12842
- this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'dff6c3a69496324cabcf25ae7639c98a7d908769', class: "description" }, hAsync("slot", { key: '498c8216c9a0a537f1aa2a542b3caa688b76e55d', name: "description" }, this.description))), (this.errorDescription ||
12843
- this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '6c584da0ad93e7f0ad62610d760c36d77b1a6fc6', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: '93df382e666707cdde3133daae7aa66914215149', name: "error-description" }, this.errorDescription))))));
13263
+ } }), hAsync("span", { key: 'a7ee7c812df54bbf91ac6c92e786d4895faa29d4', class: "icon" }, this.checked && !this.indeterminate && (hAsync("slot", { key: 'fe06ae9b2416f08c1889c86d47d0207af6ded057', name: "checked-icon" }, hAsync("svg", { key: '96a1c7a8113f160e4c9fc4ec23ad28f1359151b4', xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 14 14", fill: "none" }, hAsync("path", { key: '37c61f5f7cda8c91f1f5d44781b8326c216eca2a', d: "M11.6667 3.5L5.25004 9.91667L2.33337 7", "stroke-linecap": "round", "stroke-linejoin": "round" })))), this.indeterminate && (hAsync("slot", { key: '276fcac2c23f7f278aa1576fa1f79393263812a6', name: "indeterminate-icon" }, hAsync("svg", { key: 'fcc8e138e98413b0e30e7744f7eeb1e72ca69876', class: "indeterminate-svg", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 14 14", fill: "none" }, hAsync("path", { key: 'd6b6146dc3d3ff52939d644439f8eb92ba9aad64', d: "M2.9165 7H11.0832", "stroke-linecap": "round", "stroke-linejoin": "round" })))))), hAsync("div", { key: 'a13aa3a0a671e6442e0c46c267596deb494d4da9', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '2c2aa68889b6cdd278a99872364336c54f71e96a', htmlFor: this.inputId, class: clsx(this.hideLabel && 'visually-hidden') }, hAsync("slot", { key: 'edd654aa92145a0f24fb56b447c8f6d7839fb329', name: "label" }, this.label))), (this.description ||
13264
+ this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '1c4fe0f3c27aa59ed6059c91abb7ad060f21baf5', class: "description" }, hAsync("slot", { key: '109955006fefe62ec784bd5d6f3642efc732eb51', name: "description" }, this.description))), (this.errorDescription ||
13265
+ this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'b86fae37461b9afca6168b8d049293efb395828f', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: '6225f886e6aee38026a4aaf93644a76e70b7ee01', name: "error-description" }, this.errorDescription))))));
12844
13266
  }
12845
13267
  static get formAssociated() { return true; }
12846
13268
  get el() { return getElement(this); }
@@ -16633,10 +17055,12 @@ var inputmask = {exports: {}};
16633
17055
 
16634
17056
  var Inputmask = /*@__PURE__*/getDefaultExportFromCjs(inputmask.exports);
16635
17057
 
16636
- 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)}";
17058
+ 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)}";
16637
17059
  var NvFielddateStyle0 = nvFielddateCss;
16638
17060
 
16639
17061
  /**
17062
+ * A field date component that combines an input with a calendar popover.
17063
+ *
16640
17064
  * @slot default - Child content of the component.
16641
17065
  * @slot leading-input - Content to be placed before the input text, within the input container.
16642
17066
  * @slot before-input - Content to be placed before the input text, outside the input container.
@@ -16760,10 +17184,7 @@ class NvFielddate {
16760
17184
  this.inputElement.focus();
16761
17185
  // Select the first characters based on the date format
16762
17186
  const format = this.dateFormat;
16763
- if (format.startsWith('DD')) {
16764
- this.inputElement.setSelectionRange(0, 2);
16765
- }
16766
- else if (format.startsWith('MM')) {
17187
+ if (format.startsWith('DD') || format.startsWith('MM')) {
16767
17188
  this.inputElement.setSelectionRange(0, 2);
16768
17189
  }
16769
17190
  else if (format.startsWith('YYYY')) {
@@ -16790,13 +17211,66 @@ class NvFielddate {
16790
17211
  }
16791
17212
  };
16792
17213
  /**
16793
- * Toggles the opening/closing of the popover.
17214
+ * Initializes the input mask.
16794
17215
  */
16795
- this.toggleCalendar = () => {
16796
- if (this.readonly || this.disabled) {
17216
+ this.initializeInputMask = () => {
17217
+ this.currentPlaceholder = '';
17218
+ if (this.inputElement.inputmask) {
16797
17219
  return;
16798
17220
  }
16799
- this.open = !this.open;
17221
+ const inputMask = new Inputmask({
17222
+ alias: 'datetime',
17223
+ inputFormat: this.convertToInputmaskFormat(this.dateFormat),
17224
+ placeholder: ' ',
17225
+ prefillYear: false,
17226
+ clearIncomplete: false,
17227
+ showMaskOnHover: false,
17228
+ showMaskOnFocus: false,
17229
+ clearMaskOnLostFocus: false,
17230
+ insertMode: true,
17231
+ rightAlign: false,
17232
+ oncomplete: function (e) {
17233
+ const input = e.target;
17234
+ const event = new CustomEvent('input', { bubbles: true });
17235
+ input.dispatchEvent(event);
17236
+ },
17237
+ });
17238
+ inputMask.mask(this.inputElement);
17239
+ // Set the value after applying the mask
17240
+ if (this.inputElement.name === this.name && this.singleValue) {
17241
+ requestAnimationFrame(() => {
17242
+ this.inputElement.value = this.singleValue;
17243
+ const event = new CustomEvent('input', { bubbles: true });
17244
+ this.inputElement.dispatchEvent(event);
17245
+ });
17246
+ }
17247
+ };
17248
+ /**
17249
+ * Handles keydown events on the input before the mask is initialized.
17250
+ * Initializes the mask on the first number input.
17251
+ * @param {KeyboardEvent} event - The keyboard event.
17252
+ */
17253
+ this.handleKeydownBeforeMask = (event) => {
17254
+ const allowedKeys = [
17255
+ 'Backspace',
17256
+ 'Delete',
17257
+ 'Tab',
17258
+ 'ArrowLeft',
17259
+ 'ArrowRight',
17260
+ 'ArrowUp',
17261
+ 'ArrowDown',
17262
+ 'Home',
17263
+ 'End',
17264
+ ];
17265
+ if (/\d/.test(event.key)) {
17266
+ this.initializeInputMask();
17267
+ this.inputElement.removeEventListener('keydown', this.handleKeydownBeforeMask);
17268
+ }
17269
+ else if (!allowedKeys.includes(event.key) &&
17270
+ !event.metaKey &&
17271
+ !event.ctrlKey) {
17272
+ event.preventDefault();
17273
+ }
16800
17274
  };
16801
17275
  /**
16802
17276
  * Handles focus events on the input element.
@@ -16808,6 +17282,16 @@ class NvFielddate {
16808
17282
  event.target.blur();
16809
17283
  return;
16810
17284
  }
17285
+ if (!this.inputElement.inputmask) {
17286
+ this.inputElement.addEventListener('keydown', this.handleKeydownBeforeMask);
17287
+ }
17288
+ this.open = true;
17289
+ };
17290
+ /**
17291
+ * Handles blur events on the input element.
17292
+ */
17293
+ this.handleBlur = () => {
17294
+ this.inputElement.removeEventListener('keydown', this.handleKeydownBeforeMask);
16811
17295
  };
16812
17296
  /**
16813
17297
  * Prevents the valueChanged event from the calendar from propagating up.
@@ -16830,6 +17314,15 @@ class NvFielddate {
16830
17314
  this.setInputRef = (el) => {
16831
17315
  this.inputElement = el;
16832
17316
  };
17317
+ /**
17318
+ * Toggles the opening/closing of the popover.
17319
+ */
17320
+ this.toggleCalendar = () => {
17321
+ if (this.readonly || this.disabled) {
17322
+ return;
17323
+ }
17324
+ this.open = !this.open;
17325
+ };
16833
17326
  }
16834
17327
  //#endregion PROPERTIES
16835
17328
  /****************************************************************************/
@@ -16840,20 +17333,18 @@ class NvFielddate {
16840
17333
  * @returns {string} Format adapted for Inputmask.
16841
17334
  */
16842
17335
  convertToInputmaskFormat(format) {
16843
- switch (format) {
16844
- case 'DD/MM/YYYY':
16845
- return 'dd/mm/yyyy';
16846
- case 'MM/DD/YYYY':
16847
- return 'mm/dd/yyyy';
16848
- case 'YYYY-MM-DD':
16849
- return 'yyyy-mm-dd';
16850
- case 'DD.MM.YYYY':
16851
- return 'dd.mm.yyyy';
16852
- case 'YYYYMMDD':
16853
- return 'yyyymmdd';
16854
- default:
16855
- return format;
17336
+ // If the format is not specified, use the default format
17337
+ if (!format) {
17338
+ return 'dd/mm/yyyy';
16856
17339
  }
17340
+ const formatMap = {
17341
+ 'DD/MM/YYYY': 'dd/mm/yyyy',
17342
+ 'MM/DD/YYYY': 'mm/dd/yyyy',
17343
+ 'YYYY-MM-DD': 'yyyy-mm-dd',
17344
+ 'DD.MM.YYYY': 'dd.mm.yyyy',
17345
+ 'YYYYMMDD': 'yyyymmdd',
17346
+ };
17347
+ return formatMap[format] || 'dd/mm/yyyy';
16857
17348
  }
16858
17349
  //#endregion METHODS
16859
17350
  /****************************************************************************/
@@ -16865,19 +17356,17 @@ class NvFielddate {
16865
17356
  if (this.value) {
16866
17357
  this.singleValue = this.value;
16867
17358
  }
17359
+ this.currentPlaceholder = this.placeholder || this.dateFormat;
16868
17360
  }
16869
17361
  componentDidLoad() {
16870
- const inputs = this.el.querySelectorAll('.input-wrapper input');
16871
- inputs.forEach((input) => {
16872
- Inputmask({
16873
- alias: 'datetime',
16874
- inputFormat: this.convertToInputmaskFormat(this.dateFormat),
16875
- placeholder: '_'.repeat(this.dateFormat.length),
16876
- }).mask(input);
16877
- });
17362
+ // Inputmask is now initialized on the first keypress
16878
17363
  }
16879
17364
  disconnectedCallback() {
16880
17365
  document.removeEventListener('click', this.handleClickOutside);
17366
+ if (this.inputElement &&
17367
+ this.inputElement.inputmask) {
17368
+ this.inputElement.inputmask.remove();
17369
+ }
16881
17370
  }
16882
17371
  /**
16883
17372
  * Handles the single date selection event from nv-calendar.
@@ -16922,12 +17411,12 @@ class NvFielddate {
16922
17411
  /****************************************************************************/
16923
17412
  //#region RENDER
16924
17413
  render() {
16925
- return (hAsync(Host, { key: '4af4649cc8fdc95f2f12d1c495549a006c82c742' }, ((this.label && this.label.length > 0) ||
16926
- this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'c4905c94c62c8eb01120b30e3b5c16c2dafec20d', htmlFor: this.inputId }, hAsync("slot", { key: 'b8e952b9a6acb9f136d3461514b82a6767723c3c', name: "label" }, this.label))), hAsync("nv-popover", { key: 'de6620c60eb3db3c6f0f435977f257636be81a80', ref: this.setPopoverRef, id: this.popoverId, triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { key: 'e2189ad3476f3d088c07153bc4c1e63357317ded', slot: "trigger", class: "input-wrapper" }, hAsync("slot", { key: 'a35e545f1379c479734719d8460d5031631f5730', name: "before-input" }), hAsync("div", { key: '01338c24dfff69e019ff6d2344f176effb2dac06', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: 'f6552d188174e77e8f75a9b0554e3ea78c57056d', name: "leading-input" }), hAsync("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 && (hAsync("nv-icon", { key: '0527f051261672a8df205d26dcb253c20b3dfd4b', name: "alert-circle", class: "validation", size: "md" })), this.success && (hAsync("nv-icon", { key: 'ed83a0a0b7a88f392f16bf97f20885261f88665d', name: "circle-check", class: "validation", size: "md" })), hAsync("nv-iconbutton", { key: '6abf3dff6a1bcc0759bea91ab3674d61f4c016c2', class: "toggle-calendar-icon", name: "calendar" //{this.open ? 'chevron-top' : 'chevron-down'}
17414
+ return (hAsync(Host, { key: 'c9f29e6997cf07a03f43e3cc2d8263201829c9c4' }, ((this.label && this.label.length > 0) ||
17415
+ this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '0c12a1773e75621cb7f2c6fbd944405cb444a9e6', htmlFor: this.inputId }, hAsync("slot", { key: '0fdd5a226a5db7ac15be968f42e375f89031235f', name: "label" }, this.label))), hAsync("nv-popover", { key: 'dd0dcf5576026e0b565db34d2a2eafd9e6188127', ref: this.setPopoverRef, id: this.popoverId, triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { key: 'a4c7623e8d72ecc847567be060e8c3db04879062', slot: "trigger", class: "input-wrapper" }, hAsync("slot", { key: 'e270dac5a26904db3d0966871bc10d7c68064e87', name: "before-input" }), hAsync("div", { key: '8d277b89e591249910c9eeae754837ce079de47f', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: '964769b29c4d9119365bf59255180e84ae32b195', name: "leading-input" }), hAsync("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 && (hAsync("nv-icon", { key: '32d5ffac3789d9b3598811605eccfb1207c4e850', name: "alert-circle", class: "validation", size: "md" })), this.success && (hAsync("nv-icon", { key: '4e88c90987c12199512d77c24205bc2f67c3b8d1', name: "circle-check", class: "validation", size: "md" })), hAsync("nv-iconbutton", { key: 'e169bdd9742569cdcdc087d29ee13f9c097907a9', class: "toggle-calendar-icon", name: "calendar" //{this.open ? 'chevron-top' : 'chevron-down'}
16927
17416
  ,
16928
- 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 })), hAsync("slot", { key: '76d584ac756b228e356a17ad36e4558f9a497ea3', name: "after-input" })), hAsync("div", { key: '4914e6fa5046fb287bedb841f2a0b71f1f86e5a3', slot: "content" }, hAsync("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) ||
16929
- this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '52ffcb5f41161b9dc95c0fc18a252b6568817ffb', class: "description" }, hAsync("slot", { key: '91c68f28fe31f5ecfa58d80e5decb018890f18fe', name: "description" }, this.description))), (this.errorDescription ||
16930
- this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '0c0b8c65f261c2439446dd05014d172e6b829244', hidden: !this.error, class: "error-description" }, this.el.querySelector('[slot="error-description"]') ? (hAsync("slot", { name: "error-description" })) : (this.errorDescription))), hAsync("slot", { key: 'cf9410ad858faf59d7ada7ce70b18aa768e30a65' })));
17417
+ 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 })), hAsync("slot", { key: '897e5ba6a908c96fdc55bdd522be3f04e9dd14f8', name: "after-input" })), hAsync("div", { key: '6fcb101108ea4536654c2e6204416f899c9f0a04', slot: "content" }, hAsync("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) ||
17418
+ this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'f76d5dde2222f39883b59a86fe4237818040e03c', class: "description" }, hAsync("slot", { key: 'de07e1ee885a5804b352dba6a37898bba500b731', name: "description" }, this.description))), (this.errorDescription ||
17419
+ this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'b7dbb4406ee38548f8751f9425a800577f3a3cb2', hidden: !this.error, class: "error-description" }, this.el.querySelector('[slot="error-description"]') ? (hAsync("slot", { name: "error-description" })) : (this.errorDescription))), hAsync("slot", { key: 'a0170ef43d415238e57f29f985329e40f8ed0c2a' })));
16931
17420
  }
16932
17421
  get el() { return getElement(this); }
16933
17422
  static get watchers() { return {
@@ -16964,6 +17453,7 @@ class NvFielddate {
16964
17453
  "disabledDates": [16],
16965
17454
  "fluid": [516],
16966
17455
  "singleValue": [32],
17456
+ "currentPlaceholder": [32],
16967
17457
  "open": [32]
16968
17458
  },
16969
17459
  "$listeners$": [[0, "singleDateChange", "handleSingleDateChange"], [0, "closePopover", "handleClosePopover"], [0, "keydown", "handleKeyDown"]],
@@ -17421,10 +17911,10 @@ class NvFielddaterange {
17421
17911
  /****************************************************************************/
17422
17912
  //#region RENDER
17423
17913
  render() {
17424
- return (hAsync(Host, { key: '465121dc54f228353f5e0416de7a6889881244d7' }, ((this.label && this.label.length > 0) ||
17425
- this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '7d49a2c5114d5d15f7e078e2fbbfe67c3200c329', htmlFor: this.startInputId }, hAsync("slot", { key: 'b16d2baa2541b4f08bf038fb67749ee4b79b6567', name: "label" }, this.label))), hAsync("nv-popover", { key: 'e5df35c897f8241d068eb54f94428a1a72f8cd34', ref: el => (this.popoverElement = el), id: this.popoverId, triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { key: 'ea9cc60c12b0d141e9848781fd37152e8987901d', slot: "trigger", class: "input-wrapper" }, hAsync("slot", { key: 'ee646b624af619c46a5d27b6ccab9de3adafd2b8', name: "before-input" }), hAsync("div", { key: 'bb1d2196576e40957ebf8a1a3b35c49432eb8202', class: "input-container" }, hAsync("slot", { key: '29f3b2a8d06e1e2adfcfbafb80d5770d404df7b9', name: "leading-input" }), hAsync("div", { key: '5703a0d07400177971b0204803389e2550c1a774', class: "range-inputs" }, hAsync("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" }), hAsync("div", { key: '039104ceddbd8c19577245e95108abd444a17db4', class: "range-separator" }), hAsync("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 && (hAsync("nv-icon", { key: '85deffe8b8fe96fd4aab624ef787c52dd04040f9', name: "alert-circle", class: "validation", size: "md" })), this.success && (hAsync("nv-icon", { key: '35ed30cb3394f9162883c73406b627aea05ffa64', name: "circle-check", class: "validation", size: "md" })), hAsync("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 })), hAsync("slot", { key: 'd5a00d1a0e49a5a03a6f63dfbdba8073f32543c5', name: "after-input" })), hAsync("div", { key: 'b42689f8f233417af0f84eb8fbc41b60e28fcf4e', slot: "content" }, hAsync("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) ||
17426
- this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '3774d441e866da984a96282978066a4f4ad31f4f', class: "description" }, hAsync("slot", { key: '3c7166a46a880fb5d09f6070ac3f502e69935fc2', name: "description" }, this.description))), (this.errorDescription ||
17427
- this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'b9dad22b19e4b5d2bca41cf361490a7626f025ea', hidden: !this.error, class: "error-description" }, this.el.querySelector('[slot="error-description"]') ? (hAsync("slot", { name: "error-description" })) : (this.errorDescription))), hAsync("slot", { key: '79a3f83127cbcc61f63efe42c8bffa607af33360' })));
17914
+ return (hAsync(Host, { key: 'b2033314494faca72c310df329eab3918fe6935e' }, ((this.label && this.label.length > 0) ||
17915
+ this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '22e0af3e24bada8d859bcf42de0dfcedff9f5988', htmlFor: this.startInputId }, hAsync("slot", { key: '8eb3e4e1a4c67c0d9cd014aa2c73b6fc2ecb1a8f', name: "label" }, this.label))), hAsync("nv-popover", { key: 'f9c722e792ba69738df080975f78ea3dfeb40f07', ref: el => (this.popoverElement = el), id: this.popoverId, triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { key: '805c98d4a9e1defc74c0b751691e413dfbcfa736', slot: "trigger", class: "input-wrapper" }, hAsync("slot", { key: 'd84ddf0a0732a68392c79baab9cde23be6b1b27e', name: "before-input" }), hAsync("div", { key: '4f3cfab2e9a83dacc0f950bc319192b568f90258', class: "input-container" }, hAsync("slot", { key: '2d8dd5e11369dc9bd1894e299f96b41806295568', name: "leading-input" }), hAsync("div", { key: 'b60b40b275099441071b130bed7d097e8c1dcbcb', class: "range-inputs" }, hAsync("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" }), hAsync("div", { key: '3e63ececeeff713f51db0a47e3d3b4f305e6fc66', class: "range-separator" }), hAsync("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 && (hAsync("nv-icon", { key: '971b363f7fafbaeba65a161c1d7792d2bcacacf6', name: "alert-circle", class: "validation", size: "md" })), this.success && (hAsync("nv-icon", { key: '0f498b287b4c9ad9f83a0d380c522441b8afdf6e', name: "circle-check", class: "validation", size: "md" })), hAsync("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 })), hAsync("slot", { key: '7be106f2f1500839e899d6f9c6f3705398cadd1a', name: "after-input" })), hAsync("div", { key: 'd2c56635c83628f37f0c1ec127bfeaca5fb78b90', slot: "content" }, hAsync("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) ||
17916
+ this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'a624ba699b3b7a7bb4d26725fe451ecd5df1f5a2', class: "description" }, hAsync("slot", { key: 'f2c3666075730a248e57c748b32df33a59f3777e', name: "description" }, this.description))), (this.errorDescription ||
17917
+ this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'e2c1f8816b896d00e2c4ba8b32bc28380630ecad', hidden: !this.error, class: "error-description" }, this.el.querySelector('[slot="error-description"]') ? (hAsync("slot", { name: "error-description" })) : (this.errorDescription))), hAsync("slot", { key: 'cee75865d222324b8d7f3144ba2facaefcaf1d35' })));
17428
17918
  }
17429
17919
  get el() { return getElement(this); }
17430
17920
  static get watchers() { return {
@@ -17835,9 +18325,9 @@ class NvFielddropdown {
17835
18325
  //#region RENDER
17836
18326
  render() {
17837
18327
  var _a;
17838
- return (hAsync(Host, { key: '2c45eb94cd36a430780ccb2b6ca75c6d0cf14749', role: "combobox", "aria-expanded": this.open.toString(), "aria-haspopup": "listbox", "aria-label": this.label }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'b5f4fd518e20ffa8bd1f83595279c26fd4627597', htmlFor: this.inputId }, hAsync("slot", { key: '6ba6870341c7ef37698adde01f5402db65d73898', name: "label" }, this.label))), hAsync("nv-popover", { key: '0d3833a9402ff6b3d3ef6592aaeba5030aeca661', ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { key: '5ae8307fbd0a0798f6103ae68fcfd7ac0c0cd5d6', class: "input-wrapper", slot: "trigger" }, hAsync("slot", { key: '1844cb0ffe38189f2a39734a6c78487b0ef5533f', name: "before-input" }), hAsync("div", { key: '9c3fc1eeddb22c0945606b28b08c6e4e59d4f745', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: '0a4eaf84a3b3eb71edec875122e45705d3f0cbbf', name: "leading-input" }), this.filterable || this.disabled || this.readonly ? (hAsync("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 })) : (hAsync("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 && (hAsync("nv-iconbutton", { key: '9cbbd6c7c8ab6bda015d5302d4a7ef2eb5d730f2', name: "x", size: "md", emphasis: "lower", class: "clear-button", onClick: this.clearFilter, "aria-label": "Clear input" })), this.error && (hAsync("nv-icon", { key: 'd1bbfb1f515a79ea7fd74c93041d832c55203939', name: "alert-circle", class: "validation", size: "md" })), hAsync("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 })), hAsync("slot", { key: '9a49e69a4d59c2cd5181b533b2fe9ec34e30d9f4', name: "after-input" })), hAsync("div", { key: '8aafef9ac1c4bfd2d41fc7fe784927cdf4800423', slot: "content", style: this.maxHeight ? { maxHeight: this.maxHeight } : {} }, ((_a = this.options) === null || _a === void 0 ? void 0 : _a.length) > 0 ? (hAsync("ul", null, this.options.map(option => (hAsync("nv-fielddropdownitem", { label: option.label, value: option.value, disabled: option.disabled, selected: option.value === this.value }))))) : (hAsync("slot", { name: "content" })))), (this.description ||
17839
- this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '8cc32aa4d2e7b7137d07505c70d522bf14241c59', class: "description" }, hAsync("slot", { key: '096efa39ff2ea02e76ed5a90459889d33321e99a', name: "description" }, this.description))), (this.errorDescription ||
17840
- this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'bae304b963c369cf0417339cf1d3d5b45f5914ed', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: 'b17b69ee8240bf72bcee918ba8210df995434917', name: "error-description" }, this.errorDescription)))));
18328
+ return (hAsync(Host, { key: 'a4de1529678c493e92022229993443c93533f0a4', role: "combobox", "aria-expanded": this.open.toString(), "aria-haspopup": "listbox", "aria-label": this.label }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '6bf4ff6df1b4c62304ac623bea21554779b1bcfa', htmlFor: this.inputId }, hAsync("slot", { key: '10bd19c28259c033ad2b8c9601655da9723bdbd0', name: "label" }, this.label))), hAsync("nv-popover", { key: 'fc85eb3c9d72a90f47c6fcfbbf6f6cc234fa8df1', ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { key: '6a7f4be2cdfd6399ce79f4cd7b0dc9abfd3a1c74', class: "input-wrapper", slot: "trigger" }, hAsync("slot", { key: '97e82c45801d338456d81601fb147e235dd604d4', name: "before-input" }), hAsync("div", { key: 'd6f3d6ca42acc7c14689fedac22328c53d2a61af', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: 'd48c3800aa174716eb4bf4a81e545fabeb73d187', name: "leading-input" }), this.filterable || this.disabled || this.readonly ? (hAsync("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 })) : (hAsync("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 && (hAsync("nv-iconbutton", { key: 'f01cf253ba3f31ff0269ecdf36d7d1e3249039a8', name: "x", size: "md", emphasis: "lower", class: "clear-button", onClick: this.clearFilter, "aria-label": "Clear input" })), this.error && (hAsync("nv-icon", { key: '10b828451cf4a177a3580d2d01080036a25e9692', name: "alert-circle", class: "validation", size: "md" })), hAsync("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 })), hAsync("slot", { key: '25e76d6ecfcff7514d2dfb970387f2af23506b40', name: "after-input" })), hAsync("div", { key: '58c6e1de57d31f1827e9bf24da62f5801f8c99b9', slot: "content", style: this.maxHeight ? { maxHeight: this.maxHeight } : {} }, ((_a = this.options) === null || _a === void 0 ? void 0 : _a.length) > 0 ? (hAsync("ul", null, this.options.map(option => (hAsync("nv-fielddropdownitem", { label: option.label, value: option.value, disabled: option.disabled, selected: option.value === this.value }))))) : (hAsync("slot", { name: "content" })))), (this.description ||
18329
+ this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '5a35ceee27f3a2ab41742f396f450b8783832742', class: "description" }, hAsync("slot", { key: 'ff012c2168c6ab6808de46a1f26f2f186fbe452f', name: "description" }, this.description))), (this.errorDescription ||
18330
+ this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '9c668e1c484c4caf45fa9e38dbca4dae0e93fea3', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: 'ec9c91da75b1ec899ef68a569e6dd0a271b0307b', name: "error-description" }, this.errorDescription)))));
17841
18331
  }
17842
18332
  static get formAssociated() { return true; }
17843
18333
  get el() { return getElement(this); }
@@ -17939,7 +18429,7 @@ class NvFielddropdownitem {
17939
18429
  /****************************************************************************/
17940
18430
  //#region RENDER
17941
18431
  render() {
17942
- return (hAsync(Host, { key: '42ae50d3837bdc7dcf986114255efde54f021ad2', role: "menuitem", tabindex: '-1', onClick: this.handleSelected }, hAsync("slot", { key: '8e61bac8b76d9ababa2999099f47cc906a6112c2' }), !this.composed && (hAsync("div", { key: 'b53f386a10225a6ae5dd97978f038feb86c52513', class: "text-wrapper" }, hAsync("span", { key: '69431d91f69f96ead8f31754f66943a1772034fc', "data-scope": "text" }, this.label))), this.selected && (hAsync("nv-icon", { key: '71d79762ef64c0414661878dca7760217edf04d1', name: "check", "aria-hidden": "true", "data-scope": "selected" }))));
18432
+ return (hAsync(Host, { key: '9006514e798c91bf3d447f6e74f80afc8831813c', role: "menuitem", tabindex: '-1', onClick: this.handleSelected }, hAsync("slot", { key: '9344d00bbdaf5fd8e7676ccaf770621925a465b9' }), !this.composed && (hAsync("div", { key: '2f64fb5f87cf35dcc7ddf4b9d28c0811c7143c1d', class: "text-wrapper" }, hAsync("span", { key: 'c7a17a07092e2cfa9698e885f1ecfcf1fff1a38b', "data-scope": "text" }, this.label))), this.selected && (hAsync("nv-icon", { key: '44e8e60b72270c11633fd439ba3c5b3c67e08270', name: "check", "aria-hidden": "true", "data-scope": "selected" }))));
17943
18433
  }
17944
18434
  get el() { return getElement(this); }
17945
18435
  static get style() { return NvFielddropdownitemStyle0; }
@@ -18004,7 +18494,7 @@ class NvFielddropdownitemcheck {
18004
18494
  };
18005
18495
  }
18006
18496
  render() {
18007
- return (hAsync(Host, { key: '7230c0b30bfd5be59114e025748708663f2f16ec', onClick: this.handleClick }, hAsync("nv-fieldcheckbox", { key: 'f71e4add967442b397b6c36dff1653a2bd0ad91d', checked: this.checked, name: this.label || this.value, label: this.label || this.value, "label-placement": "after", description: this.description, disabled: this.disabled, tabindex: "-1", role: "option", onCheckedChanged: this.onFieldcheckboxChanged })));
18497
+ return (hAsync(Host, { key: '69cd9636b76fa1c5f49f9c67b6d0989d9967d0cf', onClick: this.handleClick }, hAsync("nv-fieldcheckbox", { key: 'b0e2035c3ff1a3a2d8f2922c9fe2e6edcfad00d4', checked: this.checked, name: this.label || this.value, label: this.label || this.value, "label-placement": "after", description: this.description, disabled: this.disabled, tabindex: "-1", role: "option", onCheckedChanged: this.onFieldcheckboxChanged })));
18008
18498
  }
18009
18499
  get el() { return getElement(this); }
18010
18500
  static get style() { return NvFielddropdownitemcheckStyle0; }
@@ -18041,7 +18531,7 @@ class NvFieldmultiselect {
18041
18531
  constructor(hostRef) {
18042
18532
  registerInstance(this, hostRef);
18043
18533
  this.valueChanged = createEvent(this, "valueChanged", 7);
18044
- this.multiselectChange = createEvent(this, "multiselectChange", 7);
18534
+ this.filterTextChanged = createEvent(this, "filterTextChanged", 7);
18045
18535
  /****************************************************************************/
18046
18536
  //#region PROPERTIES
18047
18537
  /**
@@ -18058,6 +18548,11 @@ class NvFieldmultiselect {
18058
18548
  * always type in fresh data.
18059
18549
  */
18060
18550
  this.autocomplete = 'off';
18551
+ /**
18552
+ * Specifies the selected values of the multiselect field.
18553
+ * This is the canonical value for the component and is used for form submission.
18554
+ */
18555
+ this.value = [];
18061
18556
  /**
18062
18557
  * Marks the input field as required.
18063
18558
  */
@@ -18111,17 +18606,13 @@ class NvFieldmultiselect {
18111
18606
  * Text for the badge showing the number of selected items.
18112
18607
  */
18113
18608
  this.badgeLabel = '';
18114
- //#endregion PROPERTIES
18115
- /****************************************************************************/
18116
- //#region STATE
18117
18609
  /**
18118
18610
  * The text entered by the user for filtering multiselect items.
18119
18611
  */
18120
18612
  this.filterText = '';
18121
- /**
18122
- * List of selected values in the multiselect.
18123
- */
18124
- this.selectedValues = [];
18613
+ //#endregion PROPERTIES
18614
+ /****************************************************************************/
18615
+ //#region STATE
18125
18616
  /**
18126
18617
  * Sorted options for display.
18127
18618
  */
@@ -18131,8 +18622,8 @@ class NvFieldmultiselect {
18131
18622
  * Handle badge close for options mode.
18132
18623
  */
18133
18624
  this.handleBadgeCloseOptions = () => {
18134
- this.selectedValues = [];
18135
- this.multiselectChange.emit(this.selectedValues);
18625
+ this.value = [];
18626
+ this.valueChanged.emit(this.value);
18136
18627
  // Uncheck all elements
18137
18628
  const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
18138
18629
  items.forEach(item => {
@@ -18148,8 +18639,8 @@ class NvFieldmultiselect {
18148
18639
  * Handle badge close for slots mode.
18149
18640
  */
18150
18641
  this.handleBadgeCloseSlots = () => {
18151
- this.selectedValues = [];
18152
- this.multiselectChange.emit(this.selectedValues);
18642
+ this.value = [];
18643
+ this.valueChanged.emit(this.value);
18153
18644
  // Uncheck all elements
18154
18645
  const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
18155
18646
  items.forEach(item => {
@@ -18167,8 +18658,7 @@ class NvFieldmultiselect {
18167
18658
  if (this.isHandlingEscape) {
18168
18659
  return;
18169
18660
  }
18170
- this.filterText = '';
18171
- // Reset filter if needed
18661
+ // Reset filter if needed, but preserve the filter text
18172
18662
  if (this.filterable) {
18173
18663
  this.resetFilter();
18174
18664
  }
@@ -18181,9 +18671,8 @@ class NvFieldmultiselect {
18181
18671
  if (!this.el.contains(document.activeElement)) {
18182
18672
  // Close the popover without affecting the divider
18183
18673
  this.open = false;
18184
- // Reset filter if needed
18674
+ // Reset filter if needed, but preserve the filter text
18185
18675
  if (this.filterable) {
18186
- this.filterText = '';
18187
18676
  this.resetFilter();
18188
18677
  }
18189
18678
  }
@@ -18242,15 +18731,14 @@ class NvFieldmultiselect {
18242
18731
  return;
18243
18732
  }
18244
18733
  const input = event.target;
18245
- this.value = input.value;
18246
- this.valueChanged.emit(this.value);
18734
+ this.filterText = input.value;
18735
+ this.filterTextChanged.emit(this.filterText);
18247
18736
  // Clear any existing timer
18248
18737
  if (this.debounceTimer) {
18249
18738
  window.clearTimeout(this.debounceTimer);
18250
18739
  }
18251
18740
  // Set a new timer for filtering
18252
18741
  this.debounceTimer = window.setTimeout(() => {
18253
- this.filterText = input.value.toLowerCase();
18254
18742
  this.filterItemsOption();
18255
18743
  }, this.debounceDelay);
18256
18744
  };
@@ -18264,15 +18752,14 @@ class NvFieldmultiselect {
18264
18752
  if (this.disabled || this.readonly)
18265
18753
  return;
18266
18754
  const input = event.target;
18267
- this.value = input.value;
18268
- this.valueChanged.emit(this.value);
18755
+ this.filterText = input.value;
18756
+ this.filterTextChanged.emit(this.filterText);
18269
18757
  // Clear any existing timer
18270
18758
  if (this.debounceTimer) {
18271
18759
  window.clearTimeout(this.debounceTimer);
18272
18760
  }
18273
18761
  // Set a new timer for filtering
18274
18762
  this.debounceTimer = window.setTimeout(() => {
18275
- this.filterText = input.value.toLowerCase();
18276
18763
  this.filterSlotsItems();
18277
18764
  }, this.debounceDelay);
18278
18765
  };
@@ -18302,9 +18789,8 @@ class NvFieldmultiselect {
18302
18789
  if (!this.el.contains(document.activeElement)) {
18303
18790
  // Close the popover without affecting the divider
18304
18791
  this.open = false;
18305
- // Reset filter if needed
18792
+ // Reset filter if needed, but preserve the filter text
18306
18793
  if (this.filterable) {
18307
- this.filterText = '';
18308
18794
  this.resetFilter();
18309
18795
  }
18310
18796
  }
@@ -18336,14 +18822,14 @@ class NvFieldmultiselect {
18336
18822
  * @returns {any} The JSX for options mode
18337
18823
  */
18338
18824
  this.renderOptionsMode = () => {
18339
- return (hAsync(Host, { "aria-label": this.label, "aria-expanded": this.open.toString() }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { htmlFor: this.inputId }, hAsync("slot", { name: "label" }, this.label))), hAsync("nv-popover", { ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { class: "input-wrapper-multiselect", slot: "trigger" }, hAsync("slot", { name: "before-input" }), hAsync("div", { class: "input-container-multiselect" }, hAsync("slot", { name: "leading-input" }), this.selectedValues.length > 0 && (hAsync("nv-badge", { slot: "leading-input", "prevent-auto-close": true, color: "10", dismissible: this.selectedValues.length > 0, label: `${this.selectedValues.length} ${this.badgeLabel}`, "aria-label": `Clear all ${this.selectedValues.length} ${this.badgeLabel} items`, onCloseClicked: this.handleBadgeCloseOptions })), this.filterable || this.disabled || this.readonly ? (hAsync("input", { type: "text", id: this.inputId, ref: e => (this.inputElement = e), autofocus: this.autofocus, autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, value: this.value, required: this.required, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInputOptions, onFocus: this.handleInputFocusOptions, onBlur: this.handleInputBlurOptions, onKeyDown: this.handleKeyDown, "data-scope": "focusable" })) : (hAsync("p", { id: this.inputId, class: "non-filterable-text", onClick: this.handleInputContainerClickOptions, tabIndex: 0, onKeyDown: this.handleKeyDown, onFocus: this.handleInputFocusOptions, role: "combobox", "aria-expanded": this.open, "data-scope": "focusable" }, hAsync("span", null, this.value || this.placeholder))), this.error && (hAsync("nv-icon", { name: "alert-circle", class: "validation", size: "md" })), hAsync("nv-iconbutton", { "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.togglePopoverOptions })), hAsync("slot", { name: "after-input" })), hAsync("div", { slot: "content", role: "listbox", "aria-multiselectable": "true", style: this.maxHeight ? { maxHeight: this.maxHeight } : {} }, hAsync("ul", { role: "content" }, this.options.map(option => (hAsync("nv-fielddropdownitemcheck", { label: option.label, description: option.description, value: option.value, checked: this.selectedValues.includes(option.value), disabled: option.disabled }))), hAsync("hr", { class: "multiselect-divider", style: { display: 'none' } })))), this.renderDescriptions()));
18825
+ return (hAsync(Host, { "aria-label": this.label, "aria-expanded": this.open.toString() }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { htmlFor: this.inputId }, hAsync("slot", { name: "label" }, this.label))), hAsync("nv-popover", { ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { class: "input-wrapper-multiselect", slot: "trigger" }, hAsync("slot", { name: "before-input" }), hAsync("div", { class: "input-container-multiselect" }, hAsync("slot", { name: "leading-input" }), this.value.length > 0 && (hAsync("nv-badge", { slot: "leading-input", "prevent-auto-close": true, color: "10", dismissible: this.value.length > 0, label: `${this.value.length} ${this.badgeLabel}`, "aria-label": `Clear all ${this.value.length} ${this.badgeLabel} items`, onCloseClicked: this.handleBadgeCloseOptions })), this.filterable || this.disabled || this.readonly ? (hAsync("input", { type: "text", id: this.inputId, ref: e => (this.inputElement = e), autofocus: this.autofocus, autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, value: this.filterText, required: this.required, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInputOptions, onFocus: this.handleInputFocusOptions, onBlur: this.handleInputBlurOptions, onKeyDown: this.handleKeyDown, "data-scope": "focusable" })) : (hAsync("p", { id: this.inputId, class: "non-filterable-text", onClick: this.handleInputContainerClickOptions, tabIndex: 0, onKeyDown: this.handleKeyDown, onFocus: this.handleInputFocusOptions, role: "combobox", "aria-expanded": this.open, "data-scope": "focusable" }, hAsync("span", null, this.placeholder))), this.error && (hAsync("nv-icon", { name: "alert-circle", class: "validation", size: "md" })), hAsync("nv-iconbutton", { "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.togglePopoverOptions })), hAsync("slot", { name: "after-input" })), hAsync("div", { slot: "content", role: "listbox", "aria-multiselectable": "true", style: this.maxHeight ? { maxHeight: this.maxHeight } : {} }, hAsync("ul", { role: "content" }, this.options.map(option => (hAsync("nv-fielddropdownitemcheck", { label: option.label, description: option.description, value: option.value, checked: this.value.includes(option.value), disabled: option.disabled }))), hAsync("hr", { class: "multiselect-divider", style: { display: 'none' } })))), this.renderDescriptions()));
18340
18826
  };
18341
18827
  /**
18342
18828
  * Renders the component in slots mode
18343
18829
  * @returns {any} The JSX for slots mode
18344
18830
  */
18345
18831
  this.renderSlotsMode = () => {
18346
- return (hAsync(Host, { "aria-label": this.label, "aria-expanded": this.open.toString() }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { htmlFor: this.inputId }, hAsync("slot", { name: "label" }, this.label))), hAsync("nv-popover", { ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { class: "input-wrapper-multiselect", slot: "trigger" }, hAsync("slot", { name: "before-input" }), hAsync("div", { class: "input-container-multiselect", onClick: this.handleInputContainerClickSlots }, hAsync("slot", { name: "leading-input" }), this.selectedValues.length > 0 && (hAsync("nv-badge", { slot: "leading-input", "prevent-auto-close": true, color: "10", dismissible: this.selectedValues.length > 0, label: `${this.selectedValues.length} ${this.badgeLabel}`, "aria-label": `Clear all ${this.selectedValues.length} ${this.badgeLabel} items`, onCloseClicked: this.handleBadgeCloseSlots })), this.filterable || this.disabled || this.readonly ? (hAsync("input", { id: this.inputId, ref: e => (this.inputElement = e), autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, value: this.value, required: this.required, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInputSlots, onFocus: this.handleInputFocusSlots, onBlur: this.handleInputBlurSlots, onKeyDown: this.handleKeyDown, "data-scope": "focusable" })) : (hAsync("p", { id: this.inputId, class: "non-filterable-text", onClick: this.handleInputContainerClickSlots, tabIndex: 0, onKeyDown: this.handleKeyDown, onFocus: this.handleInputFocusSlots, role: "combobox", "aria-expanded": this.open, "data-scope": "focusable" }, hAsync("span", null, this.value || this.placeholder))), this.error && (hAsync("nv-icon", { name: "alert-circle", class: "validation", size: "md" })), hAsync("nv-iconbutton", { "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.togglePopoverSlots })), hAsync("slot", { name: "after-input" })), hAsync("div", { slot: "content", role: "listbox", "aria-multiselectable": "true", style: this.maxHeight ? { maxHeight: this.maxHeight } : {} }, hAsync("slot", { name: "content" }))), this.renderDescriptions()));
18832
+ return (hAsync(Host, { "aria-label": this.label, "aria-expanded": this.open.toString() }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { htmlFor: this.inputId }, hAsync("slot", { name: "label" }, this.label))), hAsync("nv-popover", { ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { class: "input-wrapper-multiselect", slot: "trigger" }, hAsync("slot", { name: "before-input" }), hAsync("div", { class: "input-container-multiselect", onClick: this.handleInputContainerClickSlots }, hAsync("slot", { name: "leading-input" }), this.value.length > 0 && (hAsync("nv-badge", { slot: "leading-input", "prevent-auto-close": true, color: "10", dismissible: this.value.length > 0, label: `${this.value.length} ${this.badgeLabel}`, "aria-label": `Clear all ${this.value.length} ${this.badgeLabel} items`, onCloseClicked: this.handleBadgeCloseSlots })), this.filterable || this.disabled || this.readonly ? (hAsync("input", { id: this.inputId, ref: e => (this.inputElement = e), autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, value: this.filterText, required: this.required, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInputSlots, onFocus: this.handleInputFocusSlots, onBlur: this.handleInputBlurSlots, onKeyDown: this.handleKeyDown, "data-scope": "focusable" })) : (hAsync("p", { id: this.inputId, class: "non-filterable-text", onClick: this.handleInputContainerClickSlots, tabIndex: 0, onKeyDown: this.handleKeyDown, onFocus: this.handleInputFocusSlots, role: "combobox", "aria-expanded": this.open, "data-scope": "focusable" }, hAsync("span", null, this.placeholder))), this.error && (hAsync("nv-icon", { name: "alert-circle", class: "validation", size: "md" })), hAsync("nv-iconbutton", { "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.togglePopoverSlots })), hAsync("slot", { name: "after-input" })), hAsync("div", { slot: "content", role: "listbox", "aria-multiselectable": "true", style: this.maxHeight ? { maxHeight: this.maxHeight } : {} }, hAsync("slot", { name: "content" }))), this.renderDescriptions()));
18347
18833
  };
18348
18834
  }
18349
18835
  //#endregion EVENTS
@@ -18352,7 +18838,7 @@ class NvFieldmultiselect {
18352
18838
  handleOptionsChange(newValue) {
18353
18839
  if (!newValue)
18354
18840
  return;
18355
- this.selectedValues = newValue
18841
+ this.value = newValue
18356
18842
  .filter(option => option.checked)
18357
18843
  .map(option => option.value);
18358
18844
  this.reorderOptionsContent();
@@ -18361,8 +18847,10 @@ class NvFieldmultiselect {
18361
18847
  * Emitted when the value changes.
18362
18848
  */
18363
18849
  watchValueHandler() {
18364
- // Handle value change and update the corresponding multiselect item if it exists
18365
- this.setInitialSelection();
18850
+ // Synchronize child components when value changes programmatically
18851
+ if (this.el && this.el.isConnected) {
18852
+ this.syncChildComponents();
18853
+ }
18366
18854
  }
18367
18855
  //#endregion WATCHERS
18368
18856
  /****************************************************************************/
@@ -18402,22 +18890,23 @@ class NvFieldmultiselect {
18402
18890
  }
18403
18891
  const { value, checked } = event.detail;
18404
18892
  if (value !== undefined && value !== null) {
18405
- const newSelectedValues = [...this.selectedValues];
18406
- const valueIndex = newSelectedValues.indexOf(value);
18893
+ const newValue = [...this.value];
18894
+ const valueIndex = newValue.indexOf(value);
18407
18895
  if (checked && valueIndex === -1) {
18408
- newSelectedValues.push(value);
18896
+ newValue.push(value);
18409
18897
  }
18410
18898
  else if (!checked && valueIndex > -1) {
18411
- newSelectedValues.splice(valueIndex, 1);
18899
+ newValue.splice(valueIndex, 1);
18412
18900
  }
18413
- // Update the state and emit the event only if the selection has changed
18414
- if (JSON.stringify(this.selectedValues) !==
18415
- JSON.stringify(newSelectedValues)) {
18416
- this.selectedValues = newSelectedValues;
18417
- // Use requestAnimationFrame to ensure the state is updated before emitting the event
18418
- requestAnimationFrame(() => {
18419
- this.multiselectChange.emit(this.selectedValues);
18420
- });
18901
+ // Always update the state and emit the event when an item is checked/unchecked
18902
+ this.value = newValue;
18903
+ this.valueChanged.emit(this.value);
18904
+ // Update the checked state of all items to ensure consistency
18905
+ this.syncChildComponents();
18906
+ // Preserve the filter text in the input
18907
+ if (this.filterable && this.inputElement) {
18908
+ // Keep the current filter text in the input
18909
+ this.inputElement.value = this.filterText;
18421
18910
  }
18422
18911
  }
18423
18912
  else {
@@ -18456,12 +18945,10 @@ class NvFieldmultiselect {
18456
18945
  }
18457
18946
  // Specific initialization for slots mode
18458
18947
  if (!this.options) {
18948
+ // Use a microtask to ensure DOM is ready
18459
18949
  Promise.resolve().then(() => {
18460
- const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
18461
- // Initialize selectedValues with checked items
18462
- this.selectedValues = items
18463
- .filter(item => item.hasAttribute('checked'))
18464
- .map(item => item.getAttribute('value') || '');
18950
+ // Synchronize child components
18951
+ this.syncChildComponents();
18465
18952
  // Force a reorder after initialization
18466
18953
  requestAnimationFrame(() => {
18467
18954
  this.reorderSlotContent();
@@ -18472,13 +18959,8 @@ class NvFieldmultiselect {
18472
18959
  if (this.options) {
18473
18960
  this.sortedOptions = [...((_a = this.options) !== null && _a !== void 0 ? _a : [])];
18474
18961
  }
18475
- // Apply filtering if the multiselect is filterable and there is a value
18476
- if (this.filterable && this.value) {
18477
- this.filterText = String(this.value).toLocaleLowerCase();
18478
- this.filterItems();
18479
- }
18480
- else {
18481
- // Reset visibility state of all dropdown items
18962
+ // Reset filter if needed
18963
+ if (!this.filterText) {
18482
18964
  this.resetFilter();
18483
18965
  }
18484
18966
  }
@@ -18489,6 +18971,8 @@ class NvFieldmultiselect {
18489
18971
  if (this.options) {
18490
18972
  this.handleOptionsChange(this.options);
18491
18973
  }
18974
+ // Final synchronization of child components after everything is loaded
18975
+ this.syncChildComponents();
18492
18976
  }
18493
18977
  /**
18494
18978
  * Unsubscribe from click outside event.
@@ -18506,38 +18990,6 @@ class NvFieldmultiselect {
18506
18990
  async getFilterText() {
18507
18991
  return this.filterText;
18508
18992
  }
18509
- /**
18510
- * Set the initial selection based on the current value and update the inputElement value.
18511
- */
18512
- setInitialSelection() {
18513
- var _a;
18514
- const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitem'));
18515
- const selectedItem = items.find(item => {
18516
- var _a;
18517
- return item.getAttribute('label') === this.value ||
18518
- item.getAttribute('value') === this.value ||
18519
- ((_a = item.textContent) === null || _a === void 0 ? void 0 : _a.trim()) === this.value;
18520
- });
18521
- // Remove 'selected' from all items first to reset the state
18522
- items.forEach(item => {
18523
- item.removeAttribute('selected');
18524
- item.classList.remove('selected');
18525
- });
18526
- if (selectedItem) {
18527
- // Add the `selected` attribute and `selected` class for visual styling
18528
- selectedItem.setAttribute('selected', 'true');
18529
- selectedItem.classList.add('selected');
18530
- // Update the value and inputElement value to reflect the pre-selected item
18531
- this.value =
18532
- selectedItem.getAttribute('label') ||
18533
- selectedItem.getAttribute('value') ||
18534
- ((_a = selectedItem.textContent) === null || _a === void 0 ? void 0 : _a.trim()) ||
18535
- '';
18536
- if (this.inputElement) {
18537
- this.inputElement.value = this.value;
18538
- }
18539
- }
18540
- }
18541
18993
  /**
18542
18994
  * Reset the filter and make all items visible.
18543
18995
  */
@@ -18554,8 +19006,8 @@ class NvFieldmultiselect {
18554
19006
  if (emptyMessage)
18555
19007
  emptyMessage.remove();
18556
19008
  // Reorder with divider if needed
18557
- const selectedItems = items.filter(item => this.selectedValues.includes(item.getAttribute('value') || ''));
18558
- const unselectedItems = items.filter(item => !this.selectedValues.includes(item.getAttribute('value') || ''));
19009
+ const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
19010
+ const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
18559
19011
  if (selectedItems.length > 0) {
18560
19012
  this.manageDivider(ul, selectedItems, unselectedItems);
18561
19013
  }
@@ -18566,7 +19018,7 @@ class NvFieldmultiselect {
18566
19018
  * @returns {string[]} The selected values.
18567
19019
  */
18568
19020
  async getSelectedValues() {
18569
- return this.selectedValues;
19021
+ return this.value;
18570
19022
  }
18571
19023
  /**
18572
19024
  * Reorder the content of the slot.
@@ -18588,8 +19040,8 @@ class NvFieldmultiselect {
18588
19040
  return;
18589
19041
  }
18590
19042
  // Separate checked vs unchecked
18591
- const selectedItems = items.filter(item => this.selectedValues.includes(item.getAttribute('value') || ''));
18592
- const unselectedItems = items.filter(item => !this.selectedValues.includes(item.getAttribute('value') || ''));
19043
+ const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
19044
+ const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
18593
19045
  // Reinsert CHECKED items FIRST
18594
19046
  // appendChild() moves the element without recreating it
18595
19047
  // this is not trigger a re-rendering of the component in the platforms
@@ -18615,8 +19067,8 @@ class NvFieldmultiselect {
18615
19067
  if (!ul)
18616
19068
  return;
18617
19069
  const items = Array.from(ul.querySelectorAll('nv-fielddropdownitemcheck')).filter(item => item.style.display !== 'none');
18618
- const selectedItems = items.filter(item => this.selectedValues.includes(item.getAttribute('value') || ''));
18619
- const unselectedItems = items.filter(item => !this.selectedValues.includes(item.getAttribute('value') || ''));
19070
+ const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
19071
+ const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
18620
19072
  // Reorder the elements
18621
19073
  selectedItems.forEach(item => ul.appendChild(item));
18622
19074
  unselectedItems.forEach(item => ul.appendChild(item));
@@ -18652,8 +19104,8 @@ class NvFieldmultiselect {
18652
19104
  }
18653
19105
  // Reorder with divider
18654
19106
  const items = Array.from(ul.querySelectorAll('nv-fielddropdownitemcheck'));
18655
- const selectedItems = items.filter(item => this.selectedValues.includes(item.getAttribute('value') || ''));
18656
- const unselectedItems = items.filter(item => !this.selectedValues.includes(item.getAttribute('value') || ''));
19107
+ const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
19108
+ const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
18657
19109
  this.manageDivider(ul, selectedItems, unselectedItems);
18658
19110
  return;
18659
19111
  }
@@ -18674,8 +19126,8 @@ class NvFieldmultiselect {
18674
19126
  });
18675
19127
  // Manage the divider with the visible items
18676
19128
  const visibleItems = items.filter(item => item.style.display !== 'none');
18677
- const visibleSelected = visibleItems.filter(item => this.selectedValues.includes(item.getAttribute('value') || ''));
18678
- const visibleUnselected = visibleItems.filter(item => !this.selectedValues.includes(item.getAttribute('value') || ''));
19129
+ const visibleSelected = visibleItems.filter(item => this.value.includes(item.getAttribute('value') || ''));
19130
+ const visibleUnselected = visibleItems.filter(item => !this.value.includes(item.getAttribute('value') || ''));
18679
19131
  this.manageDivider(ul, visibleSelected, visibleUnselected);
18680
19132
  }
18681
19133
  else {
@@ -18733,8 +19185,8 @@ class NvFieldmultiselect {
18733
19185
  });
18734
19186
  // Manage the divider with the visible items
18735
19187
  const visibleItems = items.filter(item => item.style.display !== 'none');
18736
- const visibleSelected = visibleItems.filter(item => this.selectedValues.includes(item.getAttribute('value') || ''));
18737
- const visibleUnselected = visibleItems.filter(item => !this.selectedValues.includes(item.getAttribute('value') || ''));
19188
+ const visibleSelected = visibleItems.filter(item => this.value.includes(item.getAttribute('value') || ''));
19189
+ const visibleUnselected = visibleItems.filter(item => !this.value.includes(item.getAttribute('value') || ''));
18738
19190
  this.manageDivider(ul, visibleSelected, visibleUnselected);
18739
19191
  // Add or remove the empty message based on the case
18740
19192
  if (!hasVisibleItems) {
@@ -18782,8 +19234,8 @@ class NvFieldmultiselect {
18782
19234
  });
18783
19235
  // Get visible items after filtering
18784
19236
  const visibleItems = items.filter(item => item.style.display !== 'none');
18785
- const visibleSelectedItems = visibleItems.filter(item => this.selectedValues.includes(item.getAttribute('value') || ''));
18786
- this.manageDivider(ul, visibleSelectedItems, visibleItems.filter(item => !this.selectedValues.includes(item.getAttribute('value') || '')));
19237
+ const visibleSelectedItems = visibleItems.filter(item => this.value.includes(item.getAttribute('value') || ''));
19238
+ this.manageDivider(ul, visibleSelectedItems, visibleItems.filter(item => !this.value.includes(item.getAttribute('value') || '')));
18787
19239
  // Add empty message if no items match the filter
18788
19240
  if (!hasVisibleItems) {
18789
19241
  const emptyMessage = document.createElement('li');
@@ -18980,6 +19432,29 @@ class NvFieldmultiselect {
18980
19432
  divider.style.display = 'none';
18981
19433
  }
18982
19434
  }
19435
+ /**
19436
+ * Synchronizes the checked state of all child nv-fielddropdownitemcheck components
19437
+ * with the current selectedValues state.
19438
+ */
19439
+ syncChildComponents() {
19440
+ // Early return if element is not ready
19441
+ if (!this.el || !this.el.isConnected) {
19442
+ return;
19443
+ }
19444
+ const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
19445
+ items.forEach(item => {
19446
+ // Get the effective value: use explicit value if present, otherwise use label
19447
+ const itemValue = item.getAttribute('value') || item.getAttribute('label') || '';
19448
+ if (this.value.includes(itemValue)) {
19449
+ item.setAttribute('checked', '');
19450
+ item.checked = true;
19451
+ }
19452
+ else {
19453
+ item.removeAttribute('checked');
19454
+ item.checked = false;
19455
+ }
19456
+ });
19457
+ }
18983
19458
  /**
18984
19459
  * Renders description and error description sections
18985
19460
  * @returns {any} The JSX for descriptions
@@ -19015,7 +19490,7 @@ class NvFieldmultiselect {
19015
19490
  "description": [513],
19016
19491
  "placeholder": [513],
19017
19492
  "autocomplete": [513],
19018
- "value": [1537],
19493
+ "value": [1040],
19019
19494
  "required": [516],
19020
19495
  "readonly": [516],
19021
19496
  "disabled": [516],
@@ -19030,8 +19505,7 @@ class NvFieldmultiselect {
19030
19505
  "autofocus": [516],
19031
19506
  "fluid": [516],
19032
19507
  "badgeLabel": [513, "badge-label"],
19033
- "filterText": [32],
19034
- "selectedValues": [32],
19508
+ "filterText": [1537, "filter-text"],
19035
19509
  "sortedOptions": [32],
19036
19510
  "isHandlingEscape": [32],
19037
19511
  "getFilterText": [64],
@@ -19040,7 +19514,7 @@ class NvFieldmultiselect {
19040
19514
  },
19041
19515
  "$listeners$": [[0, "openChanged", "handleOpenChanged"], [0, "itemChecked", "handleItemChecked"], [0, "slotchange", "handleSlotChange"], [0, "keydown", "handleKeyDown"]],
19042
19516
  "$lazyBundleId$": "-",
19043
- "$attrsToReflect$": [["inputId", "input-id"], ["name", "name"], ["label", "label"], ["description", "description"], ["placeholder", "placeholder"], ["autocomplete", "autocomplete"], ["value", "value"], ["required", "required"], ["readonly", "readonly"], ["disabled", "disabled"], ["error", "error"], ["errorDescription", "error-description"], ["maxHeight", "max-height"], ["open", "open"], ["emptyResult", "empty-result"], ["filterable", "filterable"], ["debounceDelay", "debounce-delay"], ["autofocus", "autofocus"], ["fluid", "fluid"], ["badgeLabel", "badge-label"]]
19517
+ "$attrsToReflect$": [["inputId", "input-id"], ["name", "name"], ["label", "label"], ["description", "description"], ["placeholder", "placeholder"], ["autocomplete", "autocomplete"], ["required", "required"], ["readonly", "readonly"], ["disabled", "disabled"], ["error", "error"], ["errorDescription", "error-description"], ["maxHeight", "max-height"], ["open", "open"], ["emptyResult", "empty-result"], ["filterable", "filterable"], ["debounceDelay", "debounce-delay"], ["autofocus", "autofocus"], ["fluid", "fluid"], ["badgeLabel", "badge-label"], ["filterText", "filter-text"]]
19044
19518
  }; }
19045
19519
  }
19046
19520
 
@@ -19164,9 +19638,9 @@ class NvFieldnumber {
19164
19638
  /****************************************************************************/
19165
19639
  //#region RENDER
19166
19640
  render() {
19167
- return (hAsync(Host, { key: '9a2922f5aaa1047da249563152b08f5fd74f0340' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'f7f0f9a711f4c94ea4f6257a541aabbd08b9ca31', htmlFor: this.inputId }, hAsync("slot", { key: '9dbcb9386a05462da3cdeba01e6c4831ef52b7a5', name: "label" }, this.label))), hAsync("div", { key: '81ff77ec49a03d9bb622b8e934b71a475770b518', class: "input-wrapper" }, hAsync("slot", { key: 'd445e90aeebaf9b546b96cbbc77c72b10ab144bf', name: "before-input" }), hAsync("div", { key: '537c96360b91404d1ca560be27a71dbd0efd54ce', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: '894fc44bf45a7d66d5d108fd816d19aa86b24407', name: "leading-input" }), hAsync("input", { key: 'a774febb21a489c858d1308f6d38b138815896aa', id: this.inputId, ref: e => (this.inputElement = e), placeholder: this.placeholder, name: this.name, type: "number", autofocus: this.autofocus, required: this.required, max: this.max, min: this.min, step: this.step, value: this.value, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput }), hAsync("slot", { key: 'e955eb9ad46950afcfe3de93ae18540ed583f66f', name: "trailing-input" }), this.error && (hAsync("nv-icon", { key: 'b2b5824c6cb2e1bb378600f0fb6511b8695e8df4', name: "alert-circle", class: "validation", size: "md" })), this.success && (hAsync("nv-icon", { key: 'bce78b06f5ae6ed68bf795abad0f34dadd849422', name: "circle-check", class: "validation", size: "md" })), hAsync("div", { key: '2c304550d4f49de47cf24e6d650e995f98b4a17a', class: "stepper" }, hAsync("nv-iconbutton", { key: 'e96f7a47521387c79149f93f3cb4719cd24a9c0d', size: "md", name: "minus", emphasis: "lower", onClick: this.handleMinus, disabled: this.isMinValueReached(), onMouseDown: this.preventSelection, tabindex: "-1" }), hAsync("nv-iconbutton", { key: '2f579a243c57166f3ccd43960deccda9b3f2d798', size: "md", name: "plus", emphasis: "lower", onClick: this.handlePlus, disabled: this.isMaxValueReached(), onMouseDown: this.preventSelection, tabindex: "-1" }))), hAsync("slot", { key: 'b305bae132034786a51e6a918f650391f0e4d406', name: "after-input" })), (this.description ||
19168
- this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '6eaae8de9885c77a36342ba48b9b0e88266e9bfe', class: "description" }, hAsync("slot", { key: '3a2f56c02df550ce7ca8b51771acbfd3dd7bf2d4', name: "description" }, this.description))), (this.errorDescription ||
19169
- this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'aa505a05a032ac11c8626cbb601544c1037aabf6', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: 'e94717e1233cba33c2c189bb0b971f8ca6dc979e', name: "error-description" }, this.errorDescription)))));
19641
+ return (hAsync(Host, { key: '908571e657b876e4bf13d2cd88c74ed56375a4a9' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'd46ff199fa0211227293ebab6159ee98916e4845', htmlFor: this.inputId }, hAsync("slot", { key: '0e825e862bfadb313b723898d0732efb36f001c0', name: "label" }, this.label))), hAsync("div", { key: 'e001c956494a7b3c90cb713540b9300f6482cbb7', class: "input-wrapper" }, hAsync("slot", { key: '07f53c5fafcd308609b4ecfb721b9b0f791d5bf5', name: "before-input" }), hAsync("div", { key: '266fe99cc757c5646aa4bcbf262d7f6eb21fa507', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: 'f80e50ffa553656b26c80be179fd5bda8fd7234e', name: "leading-input" }), hAsync("input", { key: '3fb53e266a44118a464f5fffef5019d900f25668', id: this.inputId, ref: e => (this.inputElement = e), placeholder: this.placeholder, name: this.name, type: "number", autofocus: this.autofocus, required: this.required, max: this.max, min: this.min, step: this.step, value: this.value, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput }), hAsync("slot", { key: '9769d9b13676f8022eb7771869876125e7d13ea2', name: "trailing-input" }), this.error && (hAsync("nv-icon", { key: 'feedeb1dfcf9a5b8c3e6f4e355af64db5e108125', name: "alert-circle", class: "validation", size: "md" })), this.success && (hAsync("nv-icon", { key: '6f3819ea3bad57b373e24e5b167887c2175534ce', name: "circle-check", class: "validation", size: "md" })), hAsync("div", { key: 'ab83ad88264a5295f8239b308af7b61c04095b8c', class: "stepper" }, hAsync("nv-iconbutton", { key: '67bf2dc34cab126f8ebb8ad1368d326ce4e448c9', size: "md", name: "minus", emphasis: "lower", onClick: this.handleMinus, disabled: this.isMinValueReached(), onMouseDown: this.preventSelection, tabindex: "-1" }), hAsync("nv-iconbutton", { key: '2ae711f4ff770049fb9b9afa4075b02a5d41d881', size: "md", name: "plus", emphasis: "lower", onClick: this.handlePlus, disabled: this.isMaxValueReached(), onMouseDown: this.preventSelection, tabindex: "-1" }))), hAsync("slot", { key: 'f59664d1200b6e1e300cac52ceaee03b1be68cea', name: "after-input" })), (this.description ||
19642
+ this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '10cefd1d1e86d33456b6800d5d1f3f5c7a10a16c', class: "description" }, hAsync("slot", { key: 'a8544e2917993f7fa45200e51e983277c6f0b393', name: "description" }, this.description))), (this.errorDescription ||
19643
+ this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '95ffb42b6014514a51102b0bfa60887ff3394362', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: '47d19a9cf2de2cdd2f23a5cf7a74943f9de8cb7e', name: "error-description" }, this.errorDescription)))));
19170
19644
  }
19171
19645
  static get formAssociated() { return true; }
19172
19646
  get el() { return getElement(this); }
@@ -19314,9 +19788,9 @@ class NvFieldpassword {
19314
19788
  /****************************************************************************/
19315
19789
  //#region RENDER
19316
19790
  render() {
19317
- return (hAsync(Host, { key: 'de631f354c11bca46438aa57eb2f5b255b99f439' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'b5b7d00ec3cd2bf062c7891f44cb1b9f4032e659', htmlFor: this.inputId }, hAsync("slot", { key: '04149706c9f07e290cf9d93b2890de26c6ba832a', name: "label" }, this.label))), hAsync("div", { key: 'eb7a834ceb2769de0059ca96226bb8a31e7f3e95', class: "input-wrapper" }, hAsync("slot", { key: 'd250f823150eb3ff2fc93869cd7c7afa9738a8ef', name: "before-input" }), hAsync("div", { key: 'a1ce5f337b3c29152869395a33acdf4b872e8e04', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: '589cc579cba9c2364bda3948cdf14ac4e1687088', name: "leading-input" }), hAsync("input", { key: '5f45023c3a4f5dca5bff08e960221c711eb008b6', id: this.inputId, ref: e => (this.inputElement = e), autofocus: this.autofocus, autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, type: this.showPasswordState ? 'text' : 'password', inputMode: this.mode, value: this.value, required: this.required, maxlength: this.maxlength, minlength: this.minlength, pattern: this.pattern, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput }), (this.success || this.error) && (hAsync("nv-icon", { key: '1b78092817109ee795bf90c8182abfa0a9af35af', name: this.success ? 'circle-check' : 'alert-circle', class: "validation", size: "md" })), !this.hidePasswordIcon && (hAsync("nv-iconbutton", { key: '1d64a57a5e4eab88b499a9783d460a33d052950e', name: this.showPasswordState ? 'eye' : 'eye-off', size: "md", emphasis: "lower", onClick: this.togglePasswordVisibility, "aria-label": this.showPasswordState ? 'Hide password' : 'Show password', "aria-pressed": this.showPasswordState.toString() }))), hAsync("slot", { key: '1183158e98fa88ca143b5443db36f7f658b9acb7', name: "after-input" })), (this.description ||
19318
- this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '34181f122eb6651a605bc00f96bccd7cfce6b11b', class: "description" }, hAsync("slot", { key: '74a0b8e00d96d60884f32c89a4a15e9b2f7c25ed', name: "description" }, this.description))), (this.errorDescription ||
19319
- this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'd16bf3d39dc42960dc089df6ac8959d09f8a1076', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: 'cf19821689d4889eda9ce5a6cfa5675b97fca86e', name: "error-description" }, this.errorDescription)))));
19791
+ return (hAsync(Host, { key: 'a14a4df5990def8c1b76e191dc3480c2eee73446' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'b3f8d2a9b98afbd9ba7e932a4fd2639855bce785', htmlFor: this.inputId }, hAsync("slot", { key: 'af896d231a0c0b5b5ce921e24f98b32702fe0058', name: "label" }, this.label))), hAsync("div", { key: '6047dabbbb95967bf4afb01144a5f2af98677caf', class: "input-wrapper" }, hAsync("slot", { key: 'eb36d6c886f7efc91508b97a4cb11c43d7e7809b', name: "before-input" }), hAsync("div", { key: 'f9de2896f8d7a29d700e9c7f586f5190c48b0304', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: '3203cc62507460372c3babcede4071cf4a068122', name: "leading-input" }), hAsync("input", { key: 'bef15c1b3da5f949e4a55644dbea6499f398f71a', id: this.inputId, ref: e => (this.inputElement = e), autofocus: this.autofocus, autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, type: this.showPasswordState ? 'text' : 'password', inputMode: this.mode, value: this.value, required: this.required, maxlength: this.maxlength, minlength: this.minlength, pattern: this.pattern, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput }), (this.success || this.error) && (hAsync("nv-icon", { key: 'b23cac5c39ea1a428831583075d2e631eb13c231', name: this.success ? 'circle-check' : 'alert-circle', class: "validation", size: "md" })), !this.hidePasswordIcon && (hAsync("nv-iconbutton", { key: '9a6a4900981781239b40e7106974e0d520dbf76a', name: this.showPasswordState ? 'eye' : 'eye-off', size: "md", emphasis: "lower", onClick: this.togglePasswordVisibility, "aria-label": this.showPasswordState ? 'Hide password' : 'Show password', "aria-pressed": this.showPasswordState.toString() }))), hAsync("slot", { key: 'e3be0e70cad0f581b7fb0bee13046dcbf3d01791', name: "after-input" })), (this.description ||
19792
+ this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'a0613b0fc5f68e82a3bff9a7943c33fd89fad6c8', class: "description" }, hAsync("slot", { key: '7f74f1207e31772ff485927d3c0334185bb14e77', name: "description" }, this.description))), (this.errorDescription ||
19793
+ this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '1fba0209bef041b3582bc36dc3b603c6b3a24088', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: '16c86655cc33bf47d1d4c388bcc4ac6272aa7714', name: "error-description" }, this.errorDescription)))));
19320
19794
  }
19321
19795
  static get formAssociated() { return true; }
19322
19796
  get el() { return getElement(this); }
@@ -19444,9 +19918,9 @@ class NvFieldradio {
19444
19918
  /****************************************************************************/
19445
19919
  //#region RENDER
19446
19920
  render() {
19447
- return (hAsync(Host, { key: 'e1a92204a7d3e07de9485873906ed57dc2f4dfb1', class: clsx(this.labelPlacement === 'before' && 'label-placement-before', this.error && 'error') }, hAsync("input", { key: '8161b36c31b960a4ca4f7a1291a9cdbdd830429c', type: "radio", id: this.inputId, name: this.name, autofocus: this.autofocus, autocomplete: "off", value: this.value, checked: this.checked, disabled: this.disabled }), hAsync("div", { key: '8d5ff5b5742a96dc9d1167298859a7a97347eeab', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '7417fe1c5041e20fd63abca907fd75fe7d3b49d2', htmlFor: this.inputId }, hAsync("slot", { key: 'e29a092dbd19c912c496e1ae56d9f46bcb44208c', name: "label" }, this.label))), (this.description ||
19448
- this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'a894108a6e5235010d18547a39daf526e066e432', class: "description" }, hAsync("slot", { key: 'c67b5b5a5d2ef1f27e69eb251e9a15c98909db85', name: "description" }, this.description))), (this.errorDescription ||
19449
- this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '18ea2ae58994289900f28c0e6220e113b45b2a92', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: '52a10763fb7bf688e5a1de5e854aa0d80bc996f4', name: "error-description" }, this.errorDescription))))));
19921
+ return (hAsync(Host, { key: 'abfa20ef5921ee52cbe6c3ea92b27bbd4e81a116', class: clsx(this.labelPlacement === 'before' && 'label-placement-before', this.error && 'error') }, hAsync("input", { key: 'ffa244c2692f3f4b3781df6ed3916139763d3253', type: "radio", id: this.inputId, name: this.name, autofocus: this.autofocus, autocomplete: "off", value: this.value, checked: this.checked, disabled: this.disabled }), hAsync("div", { key: '661ccebfcd608d3d5a819144c1048b7b612d93ad', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '0764fffd0b6c961d3149130fd92fc3e5be4617d4', htmlFor: this.inputId }, hAsync("slot", { key: '5b5c107074f406864f889187a73c3b6c25b5ad36', name: "label" }, this.label))), (this.description ||
19922
+ this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '68bb23249fc70db7346e4deb1924e24fd0e43133', class: "description" }, hAsync("slot", { key: 'fee77e49f6a48f592eba370f8e842cc3c51a9569', name: "description" }, this.description))), (this.errorDescription ||
19923
+ this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '0544f59d2446dd3d1137839643222ae1d32236a2', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: '655fbb4ca21e3001425dcfbb6d9188586e0548ca', name: "error-description" }, this.errorDescription))))));
19450
19924
  }
19451
19925
  static get formAssociated() { return true; }
19452
19926
  get el() { return getElement(this); }
@@ -19830,13 +20304,13 @@ class NvFieldselect {
19830
20304
  * @returns {HTMLStencilElement} The HTML element to render.
19831
20305
  */
19832
20306
  render() {
19833
- return (hAsync(Host, { key: '17dc03e5db7ec57623e6fb4c06199aaf1ed85991' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '81fff1ee75f4e1415f60a2900303123cee3c8b58', htmlFor: this.inputId }, hAsync("slot", { key: '69569c3981e754e22ffcfb4d73121ee7056f0695', name: "label" }, this.label))), hAsync("div", { key: '251d557b6f1618241cccbb36e8c03415075ddf98', class: "select-wrapper" }, hAsync("slot", { key: '765d37ea12613de6e65cc77c9aa0000e75dc1243', name: "before-input" }), hAsync("div", { key: '6150af4f94e13a2fced6dcf597d1310a2282c337', class: "select-container", onClick: this.handleSelectContainerClick }, hAsync("slot", { key: '88f48c27c2a109d9db8a65671e3028c13272dde7', name: "leading-input" }), this.internalReadonly && (hAsync("input", { key: '2e0884fdbdda028426957530f815f0ce2b772322', id: this.inputId + '-readonly', type: "text", value: this.computedDisplayValue, readonly: true, class: "readonly-input", "aria-readonly": "true", "aria-label": this.label, "aria-describedby": this.error
20307
+ return (hAsync(Host, { key: 'd7c179e0ad3bdc22afa4a4ad8b84cc0d7403e3f9' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '545ba543c78e93bb790fca363325d40052899b53', htmlFor: this.inputId }, hAsync("slot", { key: '5141dc2bda9b312682fe7adcf2ad8ae23a720696', name: "label" }, this.label))), hAsync("div", { key: '791b9ed3213a44b2222613e54e21ec5f7814625f', class: "select-wrapper" }, hAsync("slot", { key: '51590cb6c8152955ffef574caaa5858064652cf8', name: "before-input" }), hAsync("div", { key: '030cfcb568435a8518d2680bee21b6e66c0955eb', class: "select-container", onClick: this.handleSelectContainerClick }, hAsync("slot", { key: '9eb92fb0b383a2b08ef8ba61baf8340f6ecb12a6', name: "leading-input" }), this.internalReadonly && (hAsync("input", { key: 'fe4debae13d4258fe5e6a6d273e7384ef7071f35', id: this.inputId + '-readonly', type: "text", value: this.computedDisplayValue, readonly: true, class: "readonly-input", "aria-readonly": "true", "aria-label": this.label, "aria-describedby": this.error
19834
20308
  ? `${this.inputId}-error`
19835
- : `${this.inputId}-description` })), hAsync("select", { key: '0bd79358080fd6d76e28ba574e5fae336ab4b34d', id: this.inputId, ref: el => (this.selectElement = el), name: this.name, autofocus: this.autofocus, disabled: this.disabled, required: this.required, multiple: this.multiple, onChange: this.handleSelectChange, class: this.internalReadonly ? 'hidden' : '', "aria-label": this.label, "aria-describedby": this.error
20309
+ : `${this.inputId}-description` })), hAsync("select", { key: '767c5c8f1a0f34aa645d49e7b09b0cfb230d5e3c', id: this.inputId, ref: el => (this.selectElement = el), name: this.name, autofocus: this.autofocus, disabled: this.disabled, required: this.required, multiple: this.multiple, onChange: this.handleSelectChange, class: this.internalReadonly ? 'hidden' : '', "aria-label": this.label, "aria-describedby": this.error
19836
20310
  ? `${this.inputId}-error`
19837
- : `${this.inputId}-description` }, this.parsedOptions.length > 0 ? (this.parsedOptions.map(option => (hAsync("option", { value: option.value, selected: option.selected, disabled: option.disabled }, option.label)))) : (hAsync("slot", null))), hAsync("div", { key: '8266f6651293d179f5d119bc25b0d171d1064cd8', class: "select-icons" }, this.error && (hAsync("nv-icon", { key: '5300e5c151dfdca429550a4e1823954783b4f086', name: "alert-circle", class: "validation", size: "md" })), this.success && (hAsync("nv-icon", { key: '40ff228bfc531fe269a4acca577ebe2230d679e9', name: "circle-check", class: "validation", size: "md" })), !this.multiple && (hAsync("nv-iconbutton", { key: '5d77e09bbce330e3e855035f2cab0b0001ba7839', name: "chevron-down", size: "md", emphasis: "lower", tabindex: -1 })))), hAsync("slot", { key: 'b19c29e25d9f9cae2c6a3e4129f6f74cbb01becd', name: "after-input" })), (this.description ||
19838
- this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'ef53e3d22291e580bcf2554273d47cdfa43eefc4', class: "description", id: `${this.inputId}-description` }, hAsync("slot", { key: '8bdbcef6106634c2ce37c8c1be50d6bd7cbe9e2f', name: "description" }, this.description))), (this.errorDescription ||
19839
- this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '1e4b5d282fcacceac0c46a02dfa1243a00c28ac0', class: "error-description", id: `${this.inputId}-error` }, hAsync("slot", { key: '634be5308aaf40697bd1e7a2ef085e94e0d38f43', name: "error-description" }, this.errorDescription)))));
20311
+ : `${this.inputId}-description` }, this.parsedOptions.length > 0 ? (this.parsedOptions.map(option => (hAsync("option", { value: option.value, selected: option.selected, disabled: option.disabled }, option.label)))) : (hAsync("slot", null))), hAsync("div", { key: '911644aa7ded450918f6424ebd8ce9dc4b6ed1d6', class: "select-icons" }, this.error && (hAsync("nv-icon", { key: 'd5ae32439983916d17346fdce50d51e73d429c23', name: "alert-circle", class: "validation", size: "md" })), this.success && (hAsync("nv-icon", { key: '783f0d7f1d4a0bbcbd8cff9416e5c3f61408061a', name: "circle-check", class: "validation", size: "md" })), !this.multiple && (hAsync("nv-iconbutton", { key: '252cd65b1e9437aa89161c6342f4f107ad330136', name: "chevron-down", size: "md", emphasis: "lower", tabindex: -1 })))), hAsync("slot", { key: '8e1088c34086ee58b240acb99c25fa113517e76c', name: "after-input" })), (this.description ||
20312
+ this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '7c521ab944ec72bec68c32c33400eb3c3a7c32bc', class: "description", id: `${this.inputId}-description` }, hAsync("slot", { key: 'dab0be52dc34f499575775f9131c51c4cd7fd290', name: "description" }, this.description))), (this.errorDescription ||
20313
+ this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '00d9ce6b2a5fb946575e54cc3bf2fd83acc83290', class: "error-description", id: `${this.inputId}-error` }, hAsync("slot", { key: '0e1027874f6e2b275ca354e2d64c0289ca961a0c', name: "error-description" }, this.errorDescription)))));
19840
20314
  }
19841
20315
  static get formAssociated() { return true; }
19842
20316
  get el() { return getElement(this); }
@@ -19882,6 +20356,18 @@ class NvFieldselect {
19882
20356
  /**
19883
20357
  * Utility functions for nv-fieldslider.
19884
20358
  */
20359
+ /**
20360
+ * Gets the number of decimal places in a number.
20361
+ * @param {number} num - The number to check
20362
+ * @returns {number} The number of decimal places
20363
+ */
20364
+ function getDecimalPlaces(num) {
20365
+ if (Number.isInteger(num))
20366
+ return 0;
20367
+ const str = num.toString();
20368
+ const decimalPart = str.split('.')[1];
20369
+ return decimalPart ? decimalPart.length : 0;
20370
+ }
19885
20371
  /**
19886
20372
  * Clamp a value between min and max.
19887
20373
  * @param {number} value - The value to clamp
@@ -19914,7 +20400,26 @@ function valueToPercent(value, min, max) {
19914
20400
  */
19915
20401
  function snapToStep(value, min, max, step) {
19916
20402
  const clamped = clamp$1(value, min, max);
19917
- const snapped = Math.round((clamped - min) / step) * step + min;
20403
+ const decimalPlaces = getDecimalPlaces(step);
20404
+ // To avoid floating point issues in calculations, we can work with integers
20405
+ // by multiplying all values by a power of 10 based on decimal places
20406
+ if (decimalPlaces > 0) {
20407
+ const multiplier = Math.pow(10, decimalPlaces);
20408
+ // Convert to integer-based calculation
20409
+ const scaledValue = Math.round((clamped - min) * multiplier);
20410
+ const scaledStep = Math.round(step * multiplier);
20411
+ // Round to nearest step using integer math
20412
+ const roundedSteps = Math.round(scaledValue / scaledStep);
20413
+ // Calculate snapped value and scale back down
20414
+ const scaledSnapped = roundedSteps * scaledStep;
20415
+ const snapped = min + scaledSnapped / multiplier;
20416
+ // Format to correct decimal places to ensure precision
20417
+ return clamp$1(parseFloat(snapped.toFixed(decimalPlaces)), min, max);
20418
+ }
20419
+ // For integer steps, use the original method
20420
+ const stepsFromMin = (clamped - min) / step;
20421
+ const roundedSteps = Math.round(stepsFromMin);
20422
+ const snapped = min + roundedSteps * step;
19918
20423
  return clamp$1(snapped, min, max);
19919
20424
  }
19920
20425
  /**
@@ -19955,6 +20460,19 @@ function snapToTicks(value, ticks) {
19955
20460
  }
19956
20461
  return closestTick;
19957
20462
  }
20463
+ /**
20464
+ * Format a numeric value for display, preserving trailing zeros based on step precision
20465
+ * @param {number} value - The value to format
20466
+ * @param {number} step - The step size that determines decimal precision
20467
+ * @returns {string} Formatted value string with appropriate decimal places
20468
+ */
20469
+ function formatValueForDisplay(value, step) {
20470
+ const decimalPlaces = getDecimalPlaces(step);
20471
+ if (decimalPlaces > 0) {
20472
+ return value.toFixed(decimalPlaces);
20473
+ }
20474
+ return String(value);
20475
+ }
19958
20476
 
19959
20477
  /**
19960
20478
  * Renders single thumb in standard mode.
@@ -19962,7 +20480,7 @@ function snapToTicks(value, ticks) {
19962
20480
  * @returns {JSX.Element} JSX element representing the thumb
19963
20481
  */
19964
20482
  const SingleThumb = props => {
19965
- const { value, min, max, rawPosition, isDragging, snap, disabled, readonly, onKeyDown, labelBeforeValue, labelAfterValue, } = props;
20483
+ const { value, min, max, step, rawPosition, isDragging, snap, disabled, readonly, onKeyDown, labelBeforeValue, labelAfterValue, } = props;
19966
20484
  // Use raw position for visual display during dragging, but the snapped value otherwise
19967
20485
  let displayPosition = value;
19968
20486
  if (isDragging && !snap) {
@@ -19972,7 +20490,7 @@ const SingleThumb = props => {
19972
20490
  return (hAsync("div", { class: "thumb", style: { left: `${percent}%` }, role: "slider", "aria-valuemin": min, "aria-valuemax": max, "aria-valuenow": value, "aria-disabled": disabled ? 'true' : undefined, "aria-readonly": readonly ? 'true' : undefined, tabindex: disabled ? -1 : 0, onKeyDown: onKeyDown },
19973
20491
  hAsync("div", { class: "thumb-tooltip" },
19974
20492
  labelBeforeValue && (hAsync("span", { class: "label-before" }, labelBeforeValue)),
19975
- String(value),
20493
+ formatValueForDisplay(value, step),
19976
20494
  labelAfterValue && hAsync("span", { class: "label-after" }, labelAfterValue))));
19977
20495
  };
19978
20496
 
@@ -19982,7 +20500,7 @@ const SingleThumb = props => {
19982
20500
  * @returns {JSX.Element[]} Array of JSX elements representing the range slider thumbs
19983
20501
  */
19984
20502
  const RangeThumb = props => {
19985
- const { rangeValue, rawRangePosition, activeDragThumb, isDragging, snap, min, max, disabled, readonly, onKeyDown, labelBeforeValue, labelAfterValue, } = props;
20503
+ const { rangeValue, rawRangePosition, activeDragThumb, isDragging, snap, min, max, step, disabled, readonly, onKeyDown, labelBeforeValue, labelAfterValue, } = props;
19986
20504
  const [leftValue, rightValue] = rangeValue;
19987
20505
  // Use raw positions for visual display during dragging, but the snapped values otherwise
19988
20506
  let displayLeftPosition = leftValue;
@@ -20006,12 +20524,12 @@ const RangeThumb = props => {
20006
20524
  hAsync("div", { class: "thumb thumb-left", style: { left: `${leftPercent}%` }, role: "slider", "aria-valuemin": min, "aria-valuemax": max, "aria-valuenow": leftValue, "aria-disabled": disabled ? 'true' : undefined, "aria-readonly": readonly ? 'true' : undefined, "data-thumb": "left", tabindex: disabled ? -1 : 0, onKeyDown: onKeyDown },
20007
20525
  hAsync("div", { class: "thumb-tooltip" },
20008
20526
  labelBeforeValue && (hAsync("span", { class: "label-before" }, labelBeforeValue)),
20009
- String(leftValue),
20527
+ formatValueForDisplay(leftValue, step),
20010
20528
  labelAfterValue && hAsync("span", { class: "label-after" }, labelAfterValue))),
20011
20529
  hAsync("div", { class: "thumb thumb-right", style: { left: `${rightPercent}%` }, role: "slider", "aria-valuemin": min, "aria-valuemax": max, "aria-valuenow": rightValue, "aria-disabled": disabled ? 'true' : undefined, "aria-readonly": readonly ? 'true' : undefined, "data-thumb": "right", tabindex: disabled ? -1 : 0, onKeyDown: onKeyDown },
20012
20530
  hAsync("div", { class: "thumb-tooltip" },
20013
20531
  labelBeforeValue && (hAsync("span", { class: "label-before" }, labelBeforeValue)),
20014
- String(rightValue),
20532
+ formatValueForDisplay(rightValue, step),
20015
20533
  labelAfterValue && hAsync("span", { class: "label-after" }, labelAfterValue))),
20016
20534
  ];
20017
20535
  };
@@ -20520,11 +21038,11 @@ class NvFieldslider {
20520
21038
  /****************************************************************************/
20521
21039
  //#region RENDER
20522
21040
  render() {
20523
- return (hAsync(Host, { key: 'b6d4fb8acbdeecc38af8cedc10b57bc051d16306' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '5ca9f08e3f0d4640aad7433c0ec861dcc2044936', htmlFor: this.startInputId }, hAsync("slot", { key: 'c31ba9e87a5fd0f6c5d28f0bfa6e42895d6ce6e9', name: "label" }, this.label))), hAsync("div", { key: 'd6942e4dba60e5b58eb16c8631466743ea0590dd', class: "slider-container" }, this.range ? (hAsync(FieldInput, { range: this.range, hasField: this.hasField, value: this.valueInternal, rangeValue: this.rangeValueInternal, index: 0, inputId: this.startInputId, min: this.min, max: this.max, step: this.step, disabled: this.disabled, readonly: this.readonly, onInput: this.handleFieldChange, labelBeforeValue: this.labelBeforeValue, labelAfterValue: this.labelAfterValue, name: this.name, endName: this.endName })) : null, hAsync("div", { key: '7404f2d26e96220f9c1c615487b837855694d335', class: "track-container" }, hAsync("div", { key: '353747e80e3af3ec203b527648f7eca0d47c837b', class: "track", onPointerDown: this.onTrackInteraction }, this.range ? (hAsync(RangeThumb, { rangeValue: this.rangeValueInternal, rawRangePosition: this.rawRangePosition, activeDragThumb: this.activeDragThumb, isDragging: this.isDragging, snap: this.snap, min: this.min, max: this.max, disabled: this.disabled, readonly: this.readonly, onKeyDown: this.onKeyDown, labelBeforeValue: this.labelBeforeValue, labelAfterValue: this.labelAfterValue })) : (hAsync(SingleThumb, { value: this.valueInternal, min: this.min, max: this.max, rawPosition: this.rawPosition, isDragging: this.isDragging, snap: this.snap, disabled: this.disabled, readonly: this.readonly, onKeyDown: this.onKeyDown, labelBeforeValue: this.labelBeforeValue, labelAfterValue: this.labelAfterValue }))), hAsync(TickMarks, { key: '08e3ed7962b8ca6b15c4c592993c79adcb4622ee', ticks: this.internalTicks, min: this.min, max: this.max })), this.range ? (hAsync(FieldInput, { range: this.range, hasField: this.hasField, value: this.valueInternal, rangeValue: this.rangeValueInternal, index: 1, inputId: this.endInputId, min: this.min, max: this.max, step: this.step, disabled: this.disabled, readonly: this.readonly, onInput: this.handleFieldChange, labelBeforeValue: this.labelBeforeValue, labelAfterValue: this.labelAfterValue, name: this.name, endName: this.endName })) : (hAsync(FieldInput, { range: this.range, hasField: this.hasField, value: this.valueInternal, rangeValue: this.rangeValueInternal, inputId: this.startInputId, min: this.min, max: this.max, step: this.step, disabled: this.disabled, readonly: this.readonly, onInput: this.handleFieldChange, labelBeforeValue: this.labelBeforeValue, labelAfterValue: this.labelAfterValue, name: this.name }))), (this.success ||
21041
+ return (hAsync(Host, { key: '5bb5a06e9742f87d098da76260ee269ef4ea06d5' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'dd6e12d6c6379e07c4f9964984b3458a71ce6e6f', htmlFor: this.startInputId }, hAsync("slot", { key: '6229200586d90f4f21604d411f473e6df66527c4', name: "label" }, this.label))), hAsync("div", { key: '44f60b538c83d9074a5d06b5a39c1e62e5aa5c55', class: "slider-container" }, this.range ? (hAsync(FieldInput, { range: this.range, hasField: this.hasField, value: this.valueInternal, rangeValue: this.rangeValueInternal, index: 0, inputId: this.startInputId, min: this.min, max: this.max, step: this.step, disabled: this.disabled, readonly: this.readonly, onInput: this.handleFieldChange, labelBeforeValue: this.labelBeforeValue, labelAfterValue: this.labelAfterValue, name: this.name, endName: this.endName })) : null, hAsync("div", { key: '4ec60f07b203b6836649a709027fdace39468c41', class: "track-container" }, hAsync("div", { key: '4fcc799c962bf17e582fa5daf51a9c986d2d5901', class: "track", onPointerDown: this.onTrackInteraction }, this.range ? (hAsync(RangeThumb, { rangeValue: this.rangeValueInternal, rawRangePosition: this.rawRangePosition, activeDragThumb: this.activeDragThumb, isDragging: this.isDragging, snap: this.snap, min: this.min, max: this.max, step: this.step, disabled: this.disabled, readonly: this.readonly, onKeyDown: this.onKeyDown, labelBeforeValue: this.labelBeforeValue, labelAfterValue: this.labelAfterValue })) : (hAsync(SingleThumb, { value: this.valueInternal, min: this.min, max: this.max, step: this.step, rawPosition: this.rawPosition, isDragging: this.isDragging, snap: this.snap, disabled: this.disabled, readonly: this.readonly, onKeyDown: this.onKeyDown, labelBeforeValue: this.labelBeforeValue, labelAfterValue: this.labelAfterValue }))), hAsync(TickMarks, { key: '95b75deb4c7d0142f575af39fafe7b913c315ed5', ticks: this.internalTicks, min: this.min, max: this.max })), this.range ? (hAsync(FieldInput, { range: this.range, hasField: this.hasField, value: this.valueInternal, rangeValue: this.rangeValueInternal, index: 1, inputId: this.endInputId, min: this.min, max: this.max, step: this.step, disabled: this.disabled, readonly: this.readonly, onInput: this.handleFieldChange, labelBeforeValue: this.labelBeforeValue, labelAfterValue: this.labelAfterValue, name: this.name, endName: this.endName })) : (hAsync(FieldInput, { range: this.range, hasField: this.hasField, value: this.valueInternal, rangeValue: this.rangeValueInternal, inputId: this.startInputId, min: this.min, max: this.max, step: this.step, disabled: this.disabled, readonly: this.readonly, onInput: this.handleFieldChange, labelBeforeValue: this.labelBeforeValue, labelAfterValue: this.labelAfterValue, name: this.name }))), (this.success ||
20524
21042
  this.description ||
20525
- this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '0860c3cdee38cc112e8e29d61a6ea357c2a146d6', class: "description" }, this.success && (hAsync("nv-icon", { key: '2ad1463f9e868d6b9757a5d5d657111595d711cb', name: "circle-check", class: "validation", size: "md" })), hAsync("slot", { key: '7559546a6067060db4f20d6f65786c868a4638a4', name: "description" }, this.description))), (this.error ||
21043
+ this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '4b86941f66df96014d4710e6f1f79523a4f332f3', class: "description" }, this.success && (hAsync("nv-icon", { key: 'b53792e0fe60354cdfb2e34dbf54fd87df10050c', name: "circle-check", class: "validation", size: "md" })), hAsync("slot", { key: '149788e0ce96516b812370b247ddd59de555bf90', name: "description" }, this.description))), (this.error ||
20526
21044
  this.errorDescription ||
20527
- this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'cb3c997c250f9ebe3d46bd869bb7c4c9e81e9738', class: "error-description", hidden: !this.error }, this.error && (hAsync("nv-icon", { key: '3644d3f766a30872eaadbad89c87fdfd893a2a1b', name: "alert-circle", class: "validation", size: "md" })), hAsync("slot", { key: '162a532c42328f0aee7309af5544b4d92230ce86', name: "error-description" }, this.errorDescription)))));
21045
+ this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '11814ba28092b2ded30f6b15362b0eb9e67c20a0', class: "error-description", hidden: !this.error }, this.error && (hAsync("nv-icon", { key: '86b555aa52f4295932d80947737116c3f6c0ce99', name: "alert-circle", class: "validation", size: "md" })), hAsync("slot", { key: '334739920eb67abc49b2bdb942d0a2f65a925460', name: "error-description" }, this.errorDescription)))));
20528
21046
  }
20529
21047
  static get formAssociated() { return true; }
20530
21048
  get el() { return getElement(this); }
@@ -20699,9 +21217,9 @@ class NvFieldtext {
20699
21217
  /****************************************************************************/
20700
21218
  //#region RENDER
20701
21219
  render() {
20702
- return (hAsync(Host, { key: '1619b7f63a882e953e0153cc2b70de086eeeeb56' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'd7eb27295ab541c523ada7a85faa9c1b03144447', htmlFor: this.inputId }, hAsync("slot", { key: 'a2e0942edc5435cf9f712e98ec74c1162bdd7a9f', name: "label" }, this.label))), hAsync("div", { key: 'acbb7cc279abe926cfd4778c6b244227bf8f1545', class: "input-wrapper" }, hAsync("slot", { key: 'c5e7d37de44dc3948bbebea67d78dc36d9af3106', name: "before-input" }), hAsync("div", { key: '174bc5b0fe2d89c2a6622d924490e57e079c4033', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: 'e2af299a1f2e0f576405d2bb3176e6759faeafda', name: "leading-input" }), hAsync("input", { key: '4e00aa5a7f8bd52e7080be30c8438ca01d151e6d', id: this.inputId, ref: e => (this.inputElement = e), placeholder: this.placeholder, name: this.name, type: this.type, disabled: this.disabled, readOnly: this.readonly, required: this.required, maxlength: this.maxlength, minlength: this.minlength, pattern: this.pattern, autofocus: this.autofocus, autocomplete: this.autocomplete, multiple: this.multiple, value: this.value, onInput: this.handleInput }), hAsync("slot", { key: '035e7478da88e9d944ee192f5af345eab44782d9', name: "trailing-input" }), this.error && (hAsync("nv-icon", { key: '21cc0d22e9e1e355c522985fd15c9a1b5aa40464', name: "alert-circle", class: "validation", size: "md" })), this.success && (hAsync("nv-icon", { key: '229b732174f1b464c240cec94a77725bcf1c7e96', name: "circle-check", class: "validation", size: "md" }))), hAsync("slot", { key: '6522e7106f888f39415e853df131a2a5bb85d5fd', name: "after-input" })), (this.description ||
20703
- this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '77c4b156e39216f5122b7d5cc9cf4db89171f7f3', class: "description" }, hAsync("slot", { key: '59b732c941ea2ab6fcda2fe87d856b5f7bd6edff', name: "description" }, this.description))), (this.errorDescription ||
20704
- this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'ba3a666fe48b90369f3c58d1e8a9e14d0d9726f4', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: '686143748e2a9c2d079c383e48d02d40beae1ec6', name: "error-description" }, this.errorDescription)))));
21220
+ return (hAsync(Host, { key: 'aa009c45d11efe9fef7ae0acfb701e25db7d3004' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '90aedd9dc50b1485b76e4bb6df2f5ea017eee9f4', htmlFor: this.inputId }, hAsync("slot", { key: '3d7c37806fd01f1bb4c1d1d67372ce257d1b382d', name: "label" }, this.label))), hAsync("div", { key: 'd399c53383708363c986c8f02f0f0a3b48bb4c39', class: "input-wrapper" }, hAsync("slot", { key: '19b8cb3165c3ff0523c257ad0fc53f0df7413685', name: "before-input" }), hAsync("div", { key: '3564795cf1775f2113c9a35d1865f84358be3144', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: 'b9b0b3b44f8474ba4f0c46552bb9c3a83fa0d7d2', name: "leading-input" }), hAsync("input", { key: '39687f0583e734b03262aac593ab50ffad7957fd', id: this.inputId, ref: e => (this.inputElement = e), placeholder: this.placeholder, name: this.name, type: this.type, disabled: this.disabled, readOnly: this.readonly, required: this.required, maxlength: this.maxlength, minlength: this.minlength, pattern: this.pattern, autofocus: this.autofocus, autocomplete: this.autocomplete, multiple: this.multiple, value: this.value, onInput: this.handleInput }), hAsync("slot", { key: '0faf9e99190d1d7e4295a454d2b89a31c728a38f', name: "trailing-input" }), this.error && (hAsync("nv-icon", { key: 'fe4646f13b1fba38883f1e03ea6c1ba274c9aa47', name: "alert-circle", class: "validation", size: "md" })), this.success && (hAsync("nv-icon", { key: '1e51b8182acc3b049ad608ddefd8c1631efbef94', name: "circle-check", class: "validation", size: "md" }))), hAsync("slot", { key: '65bf5da97918592f3d8ebc63d134ddc4723188a1', name: "after-input" })), (this.description ||
21221
+ this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'c3f771bc7f641612baead1d82f8bcf8d8586a152', class: "description" }, hAsync("slot", { key: '27df5104927ce680472aff0054e4ae5c3a9727c6', name: "description" }, this.description))), (this.errorDescription ||
21222
+ this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '8126a6159a24b68a9fa7f017aa289269f63035d4', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: 'd7cebdf0101cbed1d898c2bcc73581387ddb23b9', name: "error-description" }, this.errorDescription)))));
20705
21223
  }
20706
21224
  static get formAssociated() { return true; }
20707
21225
  get el() { return getElement(this); }
@@ -20921,9 +21439,9 @@ class NvFieldtextarea {
20921
21439
  /****************************************************************************/
20922
21440
  //#region RENDER
20923
21441
  render() {
20924
- return (hAsync(Host, { key: 'f5ac973e97efc7bb3d2c3ce59507a56b2605ecb0' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'e36602ae0fe5eb0684611c100502152dd85cfc5e', htmlFor: this.inputId }, hAsync("slot", { key: 'd6a35797136c52201a67bfbcf06c9ba1826a6594', name: "label" }, this.label))), hAsync("div", { key: 'fdab36db53b550a8ce9c88bb0f52aeb40d724a34', class: "textarea-wrapper" }, hAsync("div", { key: '447355abb8874e1f8b6a958e026bb4b9a955ad4e', class: "textarea-container", onClick: this.handleTextareaContainerClick }, hAsync("textarea", { key: '4a2151f726b1335ab78f895e8ce85f7a17fc62d3', id: this.inputId, ref: e => (this.textareaElement = e), placeholder: this.placeholder, autofocus: this.autofocus, name: this.name, disabled: this.disabled, readOnly: this.readonly, required: this.required, maxlength: this.maxlength, minlength: this.minlength, autocomplete: "off", value: this.value, onInput: this.handleTextarea, rows: this.rows, class: clsx(this.resize === 'none' && 'resize-none', this.resize === 'vertical' && 'resize-y', this.resize === 'horizontal' && 'resize-x', this.resize === 'both' && 'resize') }))), (this.description ||
20925
- this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '2e66d3bd367d812f9f94110e094716adb489a600', class: "description" }, hAsync("slot", { key: 'bbc7983f3c6884766e8d14322d1a803243e0b6df', name: "description" }, this.description))), (this.errorDescription ||
20926
- this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'e62612c112e89ba2c3309869ac15670ac36d90d7', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: '1d53e6c9f6abd5f026c47e3fbad331bb8614eea2', name: "error-description" }, this.errorDescription)))));
21442
+ return (hAsync(Host, { key: 'a0e5cd4a7cf3dbfc928a08518b9ea031ae995e0a' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'bb327648d74c5340f7069afd5d3afd8cfbe816e8', htmlFor: this.inputId }, hAsync("slot", { key: '778cd6b79f71b4751e08b754f127da9460c104f0', name: "label" }, this.label))), hAsync("div", { key: '21e2126f2115b1de134e4d2acfa3a9b7eba713c0', class: "textarea-wrapper" }, hAsync("div", { key: '12b431b44cc6c8402a4af3fc5180ef95464571c4', class: "textarea-container", onClick: this.handleTextareaContainerClick }, hAsync("textarea", { key: 'dbb7bf5fc51aa93993eb485b8650837e892747ed', id: this.inputId, ref: e => (this.textareaElement = e), placeholder: this.placeholder, autofocus: this.autofocus, name: this.name, disabled: this.disabled, readOnly: this.readonly, required: this.required, maxlength: this.maxlength, minlength: this.minlength, autocomplete: "off", value: this.value, onInput: this.handleTextarea, rows: this.rows, class: clsx(this.resize === 'none' && 'resize-none', this.resize === 'vertical' && 'resize-y', this.resize === 'horizontal' && 'resize-x', this.resize === 'both' && 'resize') }))), (this.description ||
21443
+ this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'd4758f3b173c84d5b7785c790832f794fae21504', class: "description" }, hAsync("slot", { key: 'def8fe57e0dd229fc31ba5372663b9053ef6a3d0', name: "description" }, this.description))), (this.errorDescription ||
21444
+ this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '5f6f6bce639a3690cd51d208be62bacdf5779f10', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: 'e0d185195a4c18d2a3627c554c4ce70a52db77d7', name: "error-description" }, this.errorDescription)))));
20927
21445
  }
20928
21446
  static get formAssociated() { return true; }
20929
21447
  get el() { return getElement(this); }
@@ -21951,26 +22469,26 @@ class NvFieldtime {
21951
22469
  }, key: `${option}-${index}`, onClick: e => this.handleTimeOptionClick(e, type) }, option)))));
21952
22470
  }
21953
22471
  render() {
21954
- return (hAsync(Host, { key: '757fd8e7217562805cc463fcc62a29b150e07746', onclick: e => this.handleHostClick(e) }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '50bc85aea3f5191e8629ff5f8dee2386513d01f2', htmlFor: this.inputId }, hAsync("slot", { key: '61a751dee3629e470168ec75fbb66ded1ad3c5bc', name: "label" }, this.label))), hAsync("nv-popover", { key: 'fd96b7e7bc80c873442d01c13998b718c71a0434', ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { key: '65c075a139cb62092e1cbddbab2ac50a4dd6eb0b', class: "input-wrapper", slot: "trigger" }, hAsync("slot", { key: 'b7adb1b1cb3d02715e9c9b5099ce750850998bd9', name: "before-input" }), hAsync("div", { key: '61e8f2283bf0c1e56d37904532002753055957c4', class: "input-container" }, hAsync("slot", { key: 'cd0f10bac015e720a7bb9ce195f0bbd15c989f72', name: "leading-input" }), startsWithIgnoreCase(this.format, 'HH') && [
21955
- hAsync("input", { key: '4609d5071d4436d3bd59fa57017348ad2e1b34ae', ref: el => (this.inputElements[TimeType.Hours] = el), type: "number", autofocus: this.autofocus, class: "time-input", pattern: "[0-9]*", maxlength: "3", value: this.hours, onInput: e => this.handleInputChange(e, TimeType.Hours), placeholder: this.format.includes('hh') ? 'hh' : 'HH', inputMode: "numeric", onFocus: () => this.handleFocus(TimeType.Hours), name: this.name
22472
+ return (hAsync(Host, { key: '9779298ba2b38f3987af0cfa03250f0e9a99b9f8', onclick: e => this.handleHostClick(e) }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'e2a9108cbc9d28d14aad58dc2e857e54ae39f09f', htmlFor: this.inputId }, hAsync("slot", { key: '94e26cbf12ac61bc32de87a32a91eca65da6461c', name: "label" }, this.label))), hAsync("nv-popover", { key: '9d3b59e19a11a7cdebfc03eef6278f87f6f440e4', ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { key: '2651f57c27384c367d29543f390ace075a08225f', class: "input-wrapper", slot: "trigger" }, hAsync("slot", { key: '2df5c90ff04b28ab426929729e94948aa6491b2a', name: "before-input" }), hAsync("div", { key: 'bb490ebb175df4e579f0add8113e28dd7c29e866', class: "input-container" }, hAsync("slot", { key: 'b09f37a743d0b3dc12a8de0d39641571e9d7090b', name: "leading-input" }), startsWithIgnoreCase(this.format, 'HH') && [
22473
+ hAsync("input", { key: 'bd97f546da7231ad6ae40799a797da2368e89213', ref: el => (this.inputElements[TimeType.Hours] = el), type: "number", autofocus: this.autofocus, class: "time-input", pattern: "[0-9]*", maxlength: "3", value: this.hours, onInput: e => this.handleInputChange(e, TimeType.Hours), placeholder: this.format.includes('hh') ? 'hh' : 'HH', inputMode: "numeric", onFocus: () => this.handleFocus(TimeType.Hours), name: this.name
21956
22474
  ? `${TimeType.Hours}-${this.name}`
21957
22475
  : TimeType.Hours, id: this.inputId, readonly: this.readonly, disabled: this.disabled, required: this.required, onKeyDown: e => this.handleKeyDown(e), onBlur: () => this.handleInputBlur() }),
21958
22476
  ], this.format.includes('mm') && [
21959
- hAsync("span", { key: 'a92d1f6762397cf19fb9b66650ece033a34090fa' }, ":"),
21960
- hAsync("input", { key: '88f8e9e3a1dfcbee2b1ea1a5aa9e698b6ad455e5', ref: el => (this.inputElements[TimeType.Minutes] = el), type: "number", autofocus: this.autofocus, class: "time-input", pattern: "[0-9]*", maxlength: "3", value: this.minutes, onInput: e => this.handleInputChange(e, TimeType.Minutes), placeholder: "mm", inputMode: "numeric", onFocus: () => this.handleFocus(TimeType.Minutes), name: this.name
22477
+ hAsync("span", { key: 'd1e8a8938b214717f178d462976afd91f582eb50' }, ":"),
22478
+ hAsync("input", { key: '720445f3892535abd7d81fdbf38f7941a66a01a5', ref: el => (this.inputElements[TimeType.Minutes] = el), type: "number", autofocus: this.autofocus, class: "time-input", pattern: "[0-9]*", maxlength: "3", value: this.minutes, onInput: e => this.handleInputChange(e, TimeType.Minutes), placeholder: "mm", inputMode: "numeric", onFocus: () => this.handleFocus(TimeType.Minutes), name: this.name
21961
22479
  ? `${TimeType.Minutes}-${this.name}`
21962
22480
  : TimeType.Minutes, id: `${this.inputId}-minutes`, readonly: this.readonly, disabled: this.disabled, required: this.required, onKeyDown: e => this.handleKeyDown(e), onBlur: () => this.handleInputBlur() }),
21963
22481
  ], this.format.includes('ss') && [
21964
- hAsync("span", { key: '80f7b55263f287a136a0d75965ca2aeebb9286a4' }, ":"),
21965
- hAsync("input", { key: '71cf4d20ed7c85f535092c29116849982dfcfa54', ref: el => (this.inputElements[TimeType.Seconds] = el), type: "number", autofocus: this.autofocus, class: "time-input", pattern: "[0-9]*", maxlength: "3", value: this.seconds, onInput: e => this.handleInputChange(e, TimeType.Seconds), placeholder: "ss", inputMode: "numeric", onFocus: () => this.handleFocus(TimeType.Seconds), name: this.name
22482
+ hAsync("span", { key: 'e8b19bdd054f792a48df56a2ad884d9ec3f96dc0' }, ":"),
22483
+ hAsync("input", { key: 'd2020d37b004a15912791d804daeeee2aadadb70', ref: el => (this.inputElements[TimeType.Seconds] = el), type: "number", autofocus: this.autofocus, class: "time-input", pattern: "[0-9]*", maxlength: "3", value: this.seconds, onInput: e => this.handleInputChange(e, TimeType.Seconds), placeholder: "ss", inputMode: "numeric", onFocus: () => this.handleFocus(TimeType.Seconds), name: this.name
21966
22484
  ? `${TimeType.Seconds}-${this.name}`
21967
22485
  : TimeType.Seconds, id: `${this.inputId}-seconds`, readonly: this.readonly, disabled: this.disabled, required: this.required, onKeyDown: e => this.handleKeyDown(e), onBlur: () => this.handleInputBlur() }),
21968
- ], hAsync("nv-iconbutton", { key: 'd7dd4eeec66097b1b28843a2b152de3a54264d86', name: this.open ? 'chevron-top' : 'chevron-down', size: "md", emphasis: "lower", "aria-label": this.open ? 'Hide time picker' : 'Show time picker', "aria-pressed": this.open.toString(), onClick: () => this.HandleDropdownIconClick() }), this.error && (hAsync("nv-icon", { key: 'a4d970f47e77340f0d979018f82d63fe16e330ac', name: "alert-circle", class: "validation", size: "sm" })), this.success && (hAsync("nv-icon", { key: '09a48f8cddcbc7ebd68e824cd3b6b98d4bdb05bc', name: "circle-check", class: "validation", size: "sm" }))), hAsync("slot", { key: 'd0f36a492944565d4abaf110ba5852c32c9aa17f', name: "after-input" })), hAsync("div", { key: 'edf9e7b894f55b2ba8075a26a24dad36034baba3', class: "time-dropdown", slot: "content" }, hAsync("div", { key: '3119fd1f881fbc06e1b00c687aa5e2e719959455', class: "time-columns" }, startsWithIgnoreCase(this.format, 'HH') &&
22486
+ ], hAsync("nv-iconbutton", { key: '96e3cbee01387385f1ed16bd5e7a1b639fae592f', name: this.open ? 'chevron-top' : 'chevron-down', size: "md", emphasis: "lower", "aria-label": this.open ? 'Hide time picker' : 'Show time picker', "aria-pressed": this.open.toString(), onClick: () => this.HandleDropdownIconClick() }), this.error && (hAsync("nv-icon", { key: '6ef9a8a535914394e7a8a9e82f55e9ac82655161', name: "alert-circle", class: "validation", size: "sm" })), this.success && (hAsync("nv-icon", { key: 'ab1313914251a15de716d60a4f60afe91c949d7a', name: "circle-check", class: "validation", size: "sm" }))), hAsync("slot", { key: 'cf346d219445fc595419e834302d03d30a5dcf97', name: "after-input" })), hAsync("div", { key: '8cfe562d283109f305db84b843c68ad1535fed6b', class: "time-dropdown", slot: "content" }, hAsync("div", { key: '9690c5733e3fcd0ae22743e4c572d9a5ff2d1bff', class: "time-columns" }, startsWithIgnoreCase(this.format, 'HH') &&
21969
22487
  this.RenderTimeOptionsColumn(TimeType.Hours), this.format.includes('mm') &&
21970
22488
  this.RenderTimeOptionsColumn(TimeType.Minutes), this.format.includes('ss') &&
21971
22489
  this.RenderTimeOptionsColumn(TimeType.Seconds)))), (this.description ||
21972
- this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'fdce7e05e292bf00dcec4ff8f00e8d014d4e35d8', class: "description" }, hAsync("slot", { key: '8f0a4f0a8128d49eeb6910f5fc77b7518dee60d4', name: "description" }, this.description))), (this.errorDescription ||
21973
- this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'c54ffb42c2cb4ffb002f6786f8ffe17b2c33cbd3', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: '902f6adc01ec02ecbbb1a8f524e14e3f3ad9c707', name: "error-description" }, this.errorDescription)))));
22490
+ this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '6671a07feeac69f2d9374dd25b00c6d7a7258bbd', class: "description" }, hAsync("slot", { key: '2ebc81fa182462a44a62d075c187b94bfe16ad96', name: "description" }, this.description))), (this.errorDescription ||
22491
+ this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'f1815ed7f65eaf25fd69d56de613c01be842d147', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: '028896c0e9bffa83f2429a77e1dfaace6f8a07d8', name: "error-description" }, this.errorDescription)))));
21974
22492
  }
21975
22493
  static get formAssociated() { return true; }
21976
22494
  get el() { return getElement(this); }
@@ -22075,7 +22593,7 @@ class NvIcon {
22075
22593
  /****************************************************************************/
22076
22594
  //#region RENDER
22077
22595
  render() {
22078
- return (hAsync(Host, { key: 'aff2c5f8f5ec978f9c5fce0f4ff17563d09e9a27', class: clsx(this.color && `${this.color}`), role: "img", "aria-label": `${this.name}-icon` }, hAsync("svg", { key: 'd16b1b378c88ecef80efb00356d30c0e9b4ad022', stroke: "currentColor", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: `nv-icon-${this.size}` }, hAsync("use", { key: 'b3588d9c1e56dffe2bd432cac7e2410ed3f1b2ca', href: `#${this.name}` }))));
22596
+ return (hAsync(Host, { key: 'a3219e9be865e466fef36c8135ab14604e20fe40', class: clsx(this.color && `${this.color}`), role: "img", "aria-label": `${this.name}-icon` }, hAsync("svg", { key: '29cfc530d71369210b1bbd896760e19f7811c557', stroke: "currentColor", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: `nv-icon-${this.size}` }, hAsync("use", { key: 'f601f44101684971c1286b9f6214d5dcdaa7e66e', href: `#${this.name}` }))));
22079
22597
  }
22080
22598
  static get style() { return NvIconStyle0; }
22081
22599
  static get cmpMeta() { return {
@@ -22219,7 +22737,7 @@ class NvIconbutton {
22219
22737
  /****************************************************************************/
22220
22738
  //#region RENDER
22221
22739
  render() {
22222
- return (hAsync(Host, { key: '9e290d8190d198790563c7523ac4708157bb27e4', role: "button", type: this.type, tabindex: "0", disabled: this.disabled ? true : undefined, class: clsx('root', `size-${this.size}`, `emphasis-${this.emphasis}`, this.loading && 'loading', `shape-${this.shape}`), onClick: this.handleClick }, this.loading && hAsync("nv-loader", { key: 'a3d3af89e6e000de9e4e6112a22ae901c1bf0409', size: this.size }), !this.loading && hAsync("nv-icon", { key: '1094bb262963888f1313744f1779809a76a78e44', name: this.name, size: this.size }), hAsync("slot", { key: '7dea704e805ed97fd7933e019b4117d86fb9aca6' })));
22740
+ return (hAsync(Host, { key: '789d2f8b19178efb5e2998386670cfcbe239efed', role: "button", type: this.type, tabindex: "0", disabled: this.disabled ? true : undefined, class: clsx('root', `size-${this.size}`, `emphasis-${this.emphasis}`, this.loading && 'loading', `shape-${this.shape}`), onClick: this.handleClick }, this.loading && hAsync("nv-loader", { key: '4f09a5b6fee239e01856aa7ed90e9af0f13a69dc', size: this.size }), !this.loading && hAsync("nv-icon", { key: '44649863d33226aafad217dfbaba4cd56865b86d', name: this.name, size: this.size }), hAsync("slot", { key: 'e5483a758287d3e3843774a0581cd1db6da172e3' })));
22223
22741
  }
22224
22742
  static get formAssociated() { return true; }
22225
22743
  get el() { return getElement(this); }
@@ -22267,7 +22785,7 @@ class NvLoader {
22267
22785
  //#region RENDER
22268
22786
  /* <slot> empty to force rendering change */
22269
22787
  render() {
22270
- return (hAsync(Host, { key: '34d77e3d0ceec39d545b8098ebb1c673633d6660', class: clsx(this.size && `size-${this.size}`, this.color && `color-${this.color}`) }));
22788
+ return (hAsync(Host, { key: 'dad18e0ecc71ae0305fa1f287a336e8fa0da6889', class: clsx(this.size && `size-${this.size}`, this.color && `color-${this.color}`) }));
22271
22789
  }
22272
22790
  static get style() { return NvLoaderStyle0; }
22273
22791
  static get cmpMeta() { return {
@@ -22478,7 +22996,7 @@ class NvMenu {
22478
22996
  });
22479
22997
  }
22480
22998
  render() {
22481
- return (hAsync(Host, { key: 'a830e83199683e3e02cc19dc1f1148a8db8a510b' }, hAsync("slot", { key: '9f02da6e13c4ea8be3d561c4c2f500cfc7441b47', name: "trigger" }), hAsync("nv-popover", { key: '46fc7825a9a90b06862d487b856cf1085cfa2603', ref: el => (this.popoverElement = el), triggerMode: "click", triggerElement: this.triggerElement, placement: this.placement, nested: this.nested, open: this.open }, this.items ? (hAsync("ul", { slot: "content" }, this.renderMenuItems())) : (hAsync("slot", { name: "content" })))));
22999
+ return (hAsync(Host, { key: '287ae16bc4971d1d7811bd80384e93b8b7017945' }, hAsync("slot", { key: 'f09fa7b923d4f66e7fb8bebcfd943daf843eec38', name: "trigger" }), hAsync("nv-popover", { key: '757ff04ef461eb60c061bd28914f82fc59437e82', ref: el => (this.popoverElement = el), triggerMode: "click", triggerElement: this.triggerElement, placement: this.placement, nested: this.nested, open: this.open }, this.items ? (hAsync("ul", { slot: "content" }, this.renderMenuItems())) : (hAsync("slot", { name: "content" })))));
22482
23000
  }
22483
23001
  get el() { return getElement(this); }
22484
23002
  static get style() { return NvMenuStyle0; }
@@ -22549,7 +23067,7 @@ class NvMenuitem {
22549
23067
  /****************************************************************************/
22550
23068
  //#region RENDER
22551
23069
  render() {
22552
- return (hAsync(Host, { key: 'e1d8de1448ac00846ecec2480e1e00d2a4b9fbf1', role: "menuitem", tabindex: this.disabled ? '-1' : '0' }, this.icon && hAsync("nv-icon", { key: '1fe6acb264c0c54114dfa22df1efc676be300baf', name: this.icon }), hAsync("slot", { key: 'f3e1c15b56d209867bc28c7b23122309feb7c93f' }), this.label && hAsync("span", { key: '38619eb47c50150a0e4779fbf5fa7fa8da1e1d4c', "data-scope": "text" }, this.label), this.shortcut && !this.hasSubmenu && hAsync("kbd", { key: 'f30be0820969fd79f1ed55eb39878efb8cf9e527' }, this.shortcut), this.hasSubmenu && hAsync("nv-icon", { key: '8ab74974f2e12f7eb16aabe587597f64502c2911', name: "chevron-right" })));
23070
+ return (hAsync(Host, { key: 'c008da503776b85bec237b25e321e4bba02d153f', role: "menuitem", tabindex: this.disabled ? '-1' : '0' }, this.icon && hAsync("nv-icon", { key: '66341d40e68409b4c0ab6595a67eed1e4354d6ba', name: this.icon }), hAsync("slot", { key: 'e3960af26ffbc703a5702981e948013179b1a83b' }), this.label && hAsync("span", { key: '9633388dcbad3080b54b83845ced54f9b9d05061', "data-scope": "text" }, this.label), this.shortcut && !this.hasSubmenu && hAsync("kbd", { key: 'da358858336a86a7a49bbd4a52b5f628aadc1c29' }, this.shortcut), this.hasSubmenu && hAsync("nv-icon", { key: '36a85c271a5dbe2c41eefac33209e5d9a909ae04', name: "chevron-right" })));
22553
23071
  }
22554
23072
  get el() { return getElement(this); }
22555
23073
  static get style() { return NvMenuitemStyle0; }
@@ -24934,7 +25452,7 @@ class NvPopover {
24934
25452
  /****************************************************************************/
24935
25453
  //#region RENDER
24936
25454
  render() {
24937
- return (hAsync(Host, { key: 'dd1a09e6df99069395fff7bb1a1b5d5e52331755' }, hAsync("slot", { key: '998460dcac1e6cae6e420413c2e9bef460ed7d76', name: "trigger" }), hAsync("div", { key: '36a4bad082087b073e1f26b997f902611f6b7265', "data-scope": "popover", hidden: true, ref: el => (this.popoverElement = el) }, this.hasArrow && (hAsync("div", { key: '7734847121f62b2233c0d99baa05c9c71ba9d6e4', "data-scope": "arrow", ref: el => (this.arrowElement = el) })), hAsync("slot", { key: '29d5e8860f9ccdf2382f61c4276019a36983b0ff', name: "content" }))));
25455
+ return (hAsync(Host, { key: '843ac572358b402d6338945d671446fec1c51a6d' }, hAsync("slot", { key: '090f01aea3932cb95357985766a20112c63c4992', name: "trigger" }), hAsync("div", { key: '737822dd1539381bb485a389670f09a071441365', "data-scope": "popover", hidden: true, ref: el => (this.popoverElement = el) }, this.hasArrow && (hAsync("div", { key: '9d268df3f0e1df7b2a2264154143c3db14619661', "data-scope": "arrow", ref: el => (this.arrowElement = el) })), hAsync("slot", { key: '432aae053b25d2e7d6594203ad0ff3ecee26c059', name: "content" }))));
24938
25456
  }
24939
25457
  get el() { return getElement(this); }
24940
25458
  static get watchers() { return {
@@ -24979,7 +25497,7 @@ class NvRow {
24979
25497
  /****************************************************************************/
24980
25498
  //#region RENDER
24981
25499
  render() {
24982
- return (hAsync(Host, { key: '7a41dce9acbfdc42b66a032f1d20437ebf3d79a1' }, hAsync("slot", { key: '570d2bc95ad3ab2502a1e87699cdcb5818743b7b' })));
25500
+ return (hAsync(Host, { key: '20e40e37c82b00712ed3d60d46d460f5f877e10a' }, hAsync("slot", { key: '80ba27becb4d56ff0785054597d88c728fb3eca5' })));
24983
25501
  }
24984
25502
  static get style() { return NvRowStyle0; }
24985
25503
  static get cmpMeta() { return {
@@ -25014,7 +25532,7 @@ class NvStack {
25014
25532
  /****************************************************************************/
25015
25533
  //#region RENDER
25016
25534
  render() {
25017
- return (hAsync(Host, { key: '5f8251f0d74fbad4eb2af388202d943b10a57667', class: clsx(this.fill && 'nv-stack-fill', this.flex && 'nv-stack-flex', this.full && 'w-full', this.gutter && !this.vertical && `gap-x-${this.gutter}`, this.gutter && this.vertical && `gap-y-${this.gutter}`, this.vertical && 'nv-stack-vertical') }, hAsync("slot", { key: '751196ccf84a2c64dd2c453e4f9ef92799102140' })));
25535
+ return (hAsync(Host, { key: '24cca0f7101de5f37d30884983da28a839df9bee', class: clsx(this.fill && 'nv-stack-fill', this.flex && 'nv-stack-flex', this.full && 'w-full', this.gutter && !this.vertical && `gap-x-${this.gutter}`, this.gutter && this.vertical && `gap-y-${this.gutter}`, this.vertical && 'nv-stack-vertical') }, hAsync("slot", { key: '3521e5dd684d2c6185fd434711ae85a6ea0b68ab' })));
25018
25536
  }
25019
25537
  static get style() { return NvStackStyle0; }
25020
25538
  static get cmpMeta() { return {
@@ -25351,14 +25869,14 @@ class NvTable {
25351
25869
  const rows = !this.table || this.table === undefined || this.parsedData.length === 0
25352
25870
  ? []
25353
25871
  : this.table.data;
25354
- return (hAsync(Host, { key: 'a7c287297ac47d07daf0039f9379a7698147475d' }, hAsync("div", { key: '039d839527e1ac48b9725fb2a66e4d852c7a08e3', class: "hidden" }, hAsync("slot", { key: '31c79cf49fa8799d5c68047995b02aebdbff33de' })), hAsync("slot", { key: 'c007f5ce656ecbb736678454a64a531763af4df1', name: "before" }), this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (hAsync("div", { class: "no-data" }, this.noColumnsNoDataMessage)) : (hAsync("table", { class: "table" }, this.parsedColumns.length > 0 && headerGroups.length > 0 && (hAsync("thead", { class: "table-header" }, hAsync("tr", null, headerGroups &&
25872
+ return (hAsync(Host, { key: '0e7b7e03592f9f68b9158e8374986986e0f155d4' }, hAsync("div", { key: 'eeebf671dde65fcd725fbbe78099816d1c07c65f', class: "hidden" }, hAsync("slot", { key: '2ac114cec120874bb0f7bf6ddde9ec9c88d978cf' })), hAsync("slot", { key: 'b8dea8ff4c987b679ab78e73c4b7698a608c1ee3', name: "before" }), this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (hAsync("div", { class: "no-data" }, this.noColumnsNoDataMessage)) : (hAsync("table", { class: "table" }, this.parsedColumns.length > 0 && headerGroups.length > 0 && (hAsync("thead", { class: "table-header" }, hAsync("tr", null, headerGroups &&
25355
25873
  headerGroups.map(col => {
25356
25874
  return (hAsync("th", { key: col.name }, this.renderTemplate(this.headerTemplateCache.get(col.name), {}) || col.header));
25357
25875
  })))), hAsync("tbody", { class: "table-body" }, !rows || rows.length === 0 ? (hAsync("tr", null, hAsync("td", { colSpan: headerGroups.length || 12, class: "no-data" }, this.noDataMessage))) : (rows.map(row => (hAsync("tr", { key: JSON.stringify(row) }, headerGroups.map(col => {
25358
25876
  var _a;
25359
25877
  return (hAsync("td", null, this.renderTemplate(this.templateCache.get(col.name), row) ||
25360
25878
  ((_a = row[col.name]) !== null && _a !== void 0 ? _a : this.fallbackValue)));
25361
- })))))))), hAsync("slot", { key: 'f50f12ca506cf3e6484dd04b485d06c505f23664', name: "after" })));
25879
+ })))))))), hAsync("slot", { key: '4dc0404a05946bc942f65af599fea186166cde9c', name: "after" })));
25362
25880
  }
25363
25881
  get el() { return getElement(this); }
25364
25882
  static get watchers() { return {
@@ -25478,8 +25996,8 @@ class NvToggle {
25478
25996
  /****************************************************************************/
25479
25997
  //#region RENDER
25480
25998
  render() {
25481
- return (hAsync(Host, { key: 'e9159f5b38ef70de9058878abc81c35fb2a3d5d9', class: clsx(this.labelPlacement === 'before' && 'label-placement-before') }, hAsync("div", { key: '912ae7587d86e0f31114fd2166571b412dbe63d7', class: "input-container" }, hAsync("input", { key: 'ecbc0069ec0ccbccfa664cd2253125bb8310e086', type: "checkbox", id: this.inputId, name: this.name, autocomplete: "off", value: this.value, checked: Boolean(this.checked), disabled: this.disabled || this.readonly, readonly: this.readonly })), hAsync("div", { key: 'd7dd3611927aa1a38adcb8283a648239d68108b6', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '6d4f9adc04cc2e40a6b581d73ef68aeee4f8ec31', htmlFor: this.inputId, class: clsx(this.hideLabel && 'visually-hidden') }, hAsync("slot", { key: 'dccd8f62b8fec99879450d8073ed85c4d9203431', name: "label" }, this.label))), (this.description ||
25482
- this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'dd148af7f803d3e407f24d0e4e8ec67a752ee119', class: "description" }, hAsync("slot", { key: '95119657c064cdcdb24482381bf398287d1500de', name: "description" }, this.description))))));
25999
+ return (hAsync(Host, { key: '9b3a2c50180d17241f514ebfecb2d959d6aaf263', class: clsx(this.labelPlacement === 'before' && 'label-placement-before') }, hAsync("div", { key: '70420566c51bb19c3ef9b8718ba0069bd739fd26', class: "input-container" }, hAsync("input", { key: '5c1cfd0858a14cf1854de5a09b2daa55c4e781ba', type: "checkbox", id: this.inputId, name: this.name, autocomplete: "off", value: this.value, checked: Boolean(this.checked), disabled: this.disabled || this.readonly, readonly: this.readonly })), hAsync("div", { key: 'f4678a7ed5a7e58397aadfe5155b95a395f39fba', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '4d25373b9c782d3016da002d1fa22dd551a1597a', htmlFor: this.inputId, class: clsx(this.hideLabel && 'visually-hidden') }, hAsync("slot", { key: 'f297abef15befddc6b180edffe3ab7b0bb39d223', name: "label" }, this.label))), (this.description ||
26000
+ this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '97f2b1045c5152fb66da582c7fcf2975cbe10e68', class: "description" }, hAsync("slot", { key: 'fae238400ac3a106079a7e361d179598a99363a4', name: "description" }, this.description))))));
25483
26001
  }
25484
26002
  static get formAssociated() { return true; }
25485
26003
  get el() { return getElement(this); }
@@ -25518,6 +26036,7 @@ var NvTooltipStyle0 = nvTooltipCss;
25518
26036
  class NvTooltip {
25519
26037
  constructor(hostRef) {
25520
26038
  registerInstance(this, hostRef);
26039
+ this.openChanged = createEvent(this, "openChanged", 7);
25521
26040
  /**
25522
26041
  * Decides where the tooltip shows up next to the element it’s linked to
25523
26042
  * (above, below, to the sides). If there isn’t enough room, it will adjust
@@ -25531,7 +26050,7 @@ class NvTooltip {
25531
26050
  */
25532
26051
  this.enterDelay = 0;
25533
26052
  }
25534
- //#endregion PROPERTIES
26053
+ //#endregion EVENTS
25535
26054
  /****************************************************************************/
25536
26055
  //#region LIFECYCLE
25537
26056
  componentWillLoad() {
@@ -25544,7 +26063,7 @@ class NvTooltip {
25544
26063
  /****************************************************************************/
25545
26064
  //#region RENDER
25546
26065
  render() {
25547
- return (hAsync(Host, { key: 'a5ac533aff7f1dbeb92fdea0b512418a05ed39d1' }, hAsync("slot", { key: '5c96133df21b7fdc7cf2d9eb73766dc88d4bdc2e' }), hAsync("nv-popover", { key: 'e80cb8ebb57f57940e9a32bb00499a5a35e1e547', triggerMode: "hover", hasArrow: true, placement: this.placement, triggerElement: this.triggerElement, groupName: 'tooltip', enterDelay: this.enterDelay }, hAsync("p", { key: '180dedb4dcf838271ea48986f5c8183fd8772af4', slot: "content" }, this.message), hAsync("slot", { key: 'b5a026e8a446e08a1a50fc3838757e4b4264b07a', name: "content" }))));
26066
+ return (hAsync(Host, { key: 'eb3e25818bb1e57340ac169d1c40a0e4e9c56668' }, hAsync("slot", { key: '7937859bff530ff10a0de9076a77c92afa9ec9e7' }), hAsync("nv-popover", { key: 'e825c93c7d90f5598416f1f081c95517c7a27883', triggerMode: "hover", hasArrow: true, placement: this.placement, triggerElement: this.triggerElement, groupName: 'tooltip', enterDelay: this.enterDelay }, hAsync("p", { key: '5a5987e3a04f02be104e5f8fcca2f40b75938a97', slot: "content" }, this.message), hAsync("slot", { key: 'd7efc512e29969e7c8c1a693f2fb15f9319e1fa8', name: "content" }))));
25548
26067
  }
25549
26068
  get el() { return getElement(this); }
25550
26069
  static get style() { return NvTooltipStyle0; }
@@ -25564,6 +26083,8 @@ class NvTooltip {
25564
26083
  }
25565
26084
 
25566
26085
  registerComponents([
26086
+ NvAccordion,
26087
+ NvAccordionItem,
25567
26088
  NvAlert,
25568
26089
  NvAvatar,
25569
26090
  NvBadge,