@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
@@ -12,7 +12,7 @@ const NvFieldmultiselect = class {
12
12
  constructor(hostRef) {
13
13
  index.registerInstance(this, hostRef);
14
14
  this.valueChanged = index.createEvent(this, "valueChanged", 7);
15
- this.multiselectChange = index.createEvent(this, "multiselectChange", 7);
15
+ this.filterTextChanged = index.createEvent(this, "filterTextChanged", 7);
16
16
  /****************************************************************************/
17
17
  //#region PROPERTIES
18
18
  /**
@@ -29,6 +29,11 @@ const NvFieldmultiselect = class {
29
29
  * always type in fresh data.
30
30
  */
31
31
  this.autocomplete = 'off';
32
+ /**
33
+ * Specifies the selected values of the multiselect field.
34
+ * This is the canonical value for the component and is used for form submission.
35
+ */
36
+ this.value = [];
32
37
  /**
33
38
  * Marks the input field as required.
34
39
  */
@@ -82,17 +87,13 @@ const NvFieldmultiselect = class {
82
87
  * Text for the badge showing the number of selected items.
83
88
  */
84
89
  this.badgeLabel = '';
85
- //#endregion PROPERTIES
86
- /****************************************************************************/
87
- //#region STATE
88
90
  /**
89
91
  * The text entered by the user for filtering multiselect items.
90
92
  */
91
93
  this.filterText = '';
92
- /**
93
- * List of selected values in the multiselect.
94
- */
95
- this.selectedValues = [];
94
+ //#endregion PROPERTIES
95
+ /****************************************************************************/
96
+ //#region STATE
96
97
  /**
97
98
  * Sorted options for display.
98
99
  */
@@ -102,8 +103,8 @@ const NvFieldmultiselect = class {
102
103
  * Handle badge close for options mode.
103
104
  */
104
105
  this.handleBadgeCloseOptions = () => {
105
- this.selectedValues = [];
106
- this.multiselectChange.emit(this.selectedValues);
106
+ this.value = [];
107
+ this.valueChanged.emit(this.value);
107
108
  // Uncheck all elements
108
109
  const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
109
110
  items.forEach(item => {
@@ -119,8 +120,8 @@ const NvFieldmultiselect = class {
119
120
  * Handle badge close for slots mode.
120
121
  */
121
122
  this.handleBadgeCloseSlots = () => {
122
- this.selectedValues = [];
123
- this.multiselectChange.emit(this.selectedValues);
123
+ this.value = [];
124
+ this.valueChanged.emit(this.value);
124
125
  // Uncheck all elements
125
126
  const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
126
127
  items.forEach(item => {
@@ -138,8 +139,7 @@ const NvFieldmultiselect = class {
138
139
  if (this.isHandlingEscape) {
139
140
  return;
140
141
  }
141
- this.filterText = '';
142
- // Reset filter if needed
142
+ // Reset filter if needed, but preserve the filter text
143
143
  if (this.filterable) {
144
144
  this.resetFilter();
145
145
  }
@@ -152,9 +152,8 @@ const NvFieldmultiselect = class {
152
152
  if (!this.el.contains(document.activeElement)) {
153
153
  // Close the popover without affecting the divider
154
154
  this.open = false;
155
- // Reset filter if needed
155
+ // Reset filter if needed, but preserve the filter text
156
156
  if (this.filterable) {
157
- this.filterText = '';
158
157
  this.resetFilter();
159
158
  }
160
159
  }
@@ -213,15 +212,14 @@ const NvFieldmultiselect = class {
213
212
  return;
214
213
  }
215
214
  const input = event.target;
216
- this.value = input.value;
217
- this.valueChanged.emit(this.value);
215
+ this.filterText = input.value;
216
+ this.filterTextChanged.emit(this.filterText);
218
217
  // Clear any existing timer
219
218
  if (this.debounceTimer) {
220
219
  window.clearTimeout(this.debounceTimer);
221
220
  }
222
221
  // Set a new timer for filtering
223
222
  this.debounceTimer = window.setTimeout(() => {
224
- this.filterText = input.value.toLowerCase();
225
223
  this.filterItemsOption();
226
224
  }, this.debounceDelay);
227
225
  };
@@ -235,15 +233,14 @@ const NvFieldmultiselect = class {
235
233
  if (this.disabled || this.readonly)
236
234
  return;
237
235
  const input = event.target;
238
- this.value = input.value;
239
- this.valueChanged.emit(this.value);
236
+ this.filterText = input.value;
237
+ this.filterTextChanged.emit(this.filterText);
240
238
  // Clear any existing timer
241
239
  if (this.debounceTimer) {
242
240
  window.clearTimeout(this.debounceTimer);
243
241
  }
244
242
  // Set a new timer for filtering
245
243
  this.debounceTimer = window.setTimeout(() => {
246
- this.filterText = input.value.toLowerCase();
247
244
  this.filterSlotsItems();
248
245
  }, this.debounceDelay);
249
246
  };
@@ -273,9 +270,8 @@ const NvFieldmultiselect = class {
273
270
  if (!this.el.contains(document.activeElement)) {
274
271
  // Close the popover without affecting the divider
275
272
  this.open = false;
276
- // Reset filter if needed
273
+ // Reset filter if needed, but preserve the filter text
277
274
  if (this.filterable) {
278
- this.filterText = '';
279
275
  this.resetFilter();
280
276
  }
281
277
  }
@@ -307,14 +303,14 @@ const NvFieldmultiselect = class {
307
303
  * @returns {any} The JSX for options mode
308
304
  */
309
305
  this.renderOptionsMode = () => {
310
- return (index.h(index.Host, { "aria-label": this.label, "aria-expanded": this.open.toString() }, (this.label || this.el.querySelector('[slot="label"]')) && (index.h("label", { htmlFor: this.inputId }, index.h("slot", { name: "label" }, this.label))), index.h("nv-popover", { ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, index.h("div", { class: "input-wrapper-multiselect", slot: "trigger" }, index.h("slot", { name: "before-input" }), index.h("div", { class: "input-container-multiselect" }, index.h("slot", { name: "leading-input" }), this.selectedValues.length > 0 && (index.h("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 ? (index.h("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" })) : (index.h("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" }, index.h("span", null, this.value || this.placeholder))), this.error && (index.h("nv-icon", { name: "alert-circle", class: "validation", size: "md" })), index.h("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 })), index.h("slot", { name: "after-input" })), index.h("div", { slot: "content", role: "listbox", "aria-multiselectable": "true", style: this.maxHeight ? { maxHeight: this.maxHeight } : {} }, index.h("ul", { role: "content" }, this.options.map(option => (index.h("nv-fielddropdownitemcheck", { label: option.label, description: option.description, value: option.value, checked: this.selectedValues.includes(option.value), disabled: option.disabled }))), index.h("hr", { class: "multiselect-divider", style: { display: 'none' } })))), this.renderDescriptions()));
306
+ return (index.h(index.Host, { "aria-label": this.label, "aria-expanded": this.open.toString() }, (this.label || this.el.querySelector('[slot="label"]')) && (index.h("label", { htmlFor: this.inputId }, index.h("slot", { name: "label" }, this.label))), index.h("nv-popover", { ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, index.h("div", { class: "input-wrapper-multiselect", slot: "trigger" }, index.h("slot", { name: "before-input" }), index.h("div", { class: "input-container-multiselect" }, index.h("slot", { name: "leading-input" }), this.value.length > 0 && (index.h("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 ? (index.h("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" })) : (index.h("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" }, index.h("span", null, this.placeholder))), this.error && (index.h("nv-icon", { name: "alert-circle", class: "validation", size: "md" })), index.h("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 })), index.h("slot", { name: "after-input" })), index.h("div", { slot: "content", role: "listbox", "aria-multiselectable": "true", style: this.maxHeight ? { maxHeight: this.maxHeight } : {} }, index.h("ul", { role: "content" }, this.options.map(option => (index.h("nv-fielddropdownitemcheck", { label: option.label, description: option.description, value: option.value, checked: this.value.includes(option.value), disabled: option.disabled }))), index.h("hr", { class: "multiselect-divider", style: { display: 'none' } })))), this.renderDescriptions()));
311
307
  };
312
308
  /**
313
309
  * Renders the component in slots mode
314
310
  * @returns {any} The JSX for slots mode
315
311
  */
316
312
  this.renderSlotsMode = () => {
317
- return (index.h(index.Host, { "aria-label": this.label, "aria-expanded": this.open.toString() }, (this.label || this.el.querySelector('[slot="label"]')) && (index.h("label", { htmlFor: this.inputId }, index.h("slot", { name: "label" }, this.label))), index.h("nv-popover", { ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, index.h("div", { class: "input-wrapper-multiselect", slot: "trigger" }, index.h("slot", { name: "before-input" }), index.h("div", { class: "input-container-multiselect", onClick: this.handleInputContainerClickSlots }, index.h("slot", { name: "leading-input" }), this.selectedValues.length > 0 && (index.h("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 ? (index.h("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" })) : (index.h("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" }, index.h("span", null, this.value || this.placeholder))), this.error && (index.h("nv-icon", { name: "alert-circle", class: "validation", size: "md" })), index.h("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 })), index.h("slot", { name: "after-input" })), index.h("div", { slot: "content", role: "listbox", "aria-multiselectable": "true", style: this.maxHeight ? { maxHeight: this.maxHeight } : {} }, index.h("slot", { name: "content" }))), this.renderDescriptions()));
313
+ return (index.h(index.Host, { "aria-label": this.label, "aria-expanded": this.open.toString() }, (this.label || this.el.querySelector('[slot="label"]')) && (index.h("label", { htmlFor: this.inputId }, index.h("slot", { name: "label" }, this.label))), index.h("nv-popover", { ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, index.h("div", { class: "input-wrapper-multiselect", slot: "trigger" }, index.h("slot", { name: "before-input" }), index.h("div", { class: "input-container-multiselect", onClick: this.handleInputContainerClickSlots }, index.h("slot", { name: "leading-input" }), this.value.length > 0 && (index.h("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 ? (index.h("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" })) : (index.h("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" }, index.h("span", null, this.placeholder))), this.error && (index.h("nv-icon", { name: "alert-circle", class: "validation", size: "md" })), index.h("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 })), index.h("slot", { name: "after-input" })), index.h("div", { slot: "content", role: "listbox", "aria-multiselectable": "true", style: this.maxHeight ? { maxHeight: this.maxHeight } : {} }, index.h("slot", { name: "content" }))), this.renderDescriptions()));
318
314
  };
319
315
  }
320
316
  //#endregion EVENTS
@@ -323,7 +319,7 @@ const NvFieldmultiselect = class {
323
319
  handleOptionsChange(newValue) {
324
320
  if (!newValue)
325
321
  return;
326
- this.selectedValues = newValue
322
+ this.value = newValue
327
323
  .filter(option => option.checked)
328
324
  .map(option => option.value);
329
325
  this.reorderOptionsContent();
@@ -332,8 +328,10 @@ const NvFieldmultiselect = class {
332
328
  * Emitted when the value changes.
333
329
  */
334
330
  watchValueHandler() {
335
- // Handle value change and update the corresponding multiselect item if it exists
336
- this.setInitialSelection();
331
+ // Synchronize child components when value changes programmatically
332
+ if (this.el && this.el.isConnected) {
333
+ this.syncChildComponents();
334
+ }
337
335
  }
338
336
  //#endregion WATCHERS
339
337
  /****************************************************************************/
@@ -373,22 +371,23 @@ const NvFieldmultiselect = class {
373
371
  }
374
372
  const { value, checked } = event.detail;
375
373
  if (value !== undefined && value !== null) {
376
- const newSelectedValues = [...this.selectedValues];
377
- const valueIndex = newSelectedValues.indexOf(value);
374
+ const newValue = [...this.value];
375
+ const valueIndex = newValue.indexOf(value);
378
376
  if (checked && valueIndex === -1) {
379
- newSelectedValues.push(value);
377
+ newValue.push(value);
380
378
  }
381
379
  else if (!checked && valueIndex > -1) {
382
- newSelectedValues.splice(valueIndex, 1);
380
+ newValue.splice(valueIndex, 1);
383
381
  }
384
- // Update the state and emit the event only if the selection has changed
385
- if (JSON.stringify(this.selectedValues) !==
386
- JSON.stringify(newSelectedValues)) {
387
- this.selectedValues = newSelectedValues;
388
- // Use requestAnimationFrame to ensure the state is updated before emitting the event
389
- requestAnimationFrame(() => {
390
- this.multiselectChange.emit(this.selectedValues);
391
- });
382
+ // Always update the state and emit the event when an item is checked/unchecked
383
+ this.value = newValue;
384
+ this.valueChanged.emit(this.value);
385
+ // Update the checked state of all items to ensure consistency
386
+ this.syncChildComponents();
387
+ // Preserve the filter text in the input
388
+ if (this.filterable && this.inputElement) {
389
+ // Keep the current filter text in the input
390
+ this.inputElement.value = this.filterText;
392
391
  }
393
392
  }
394
393
  else {
@@ -427,12 +426,10 @@ const NvFieldmultiselect = class {
427
426
  }
428
427
  // Specific initialization for slots mode
429
428
  if (!this.options) {
429
+ // Use a microtask to ensure DOM is ready
430
430
  Promise.resolve().then(() => {
431
- const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
432
- // Initialize selectedValues with checked items
433
- this.selectedValues = items
434
- .filter(item => item.hasAttribute('checked'))
435
- .map(item => item.getAttribute('value') || '');
431
+ // Synchronize child components
432
+ this.syncChildComponents();
436
433
  // Force a reorder after initialization
437
434
  requestAnimationFrame(() => {
438
435
  this.reorderSlotContent();
@@ -443,13 +440,8 @@ const NvFieldmultiselect = class {
443
440
  if (this.options) {
444
441
  this.sortedOptions = [...((_a = this.options) !== null && _a !== void 0 ? _a : [])];
445
442
  }
446
- // Apply filtering if the multiselect is filterable and there is a value
447
- if (this.filterable && this.value) {
448
- this.filterText = String(this.value).toLocaleLowerCase();
449
- this.filterItems();
450
- }
451
- else {
452
- // Reset visibility state of all dropdown items
443
+ // Reset filter if needed
444
+ if (!this.filterText) {
453
445
  this.resetFilter();
454
446
  }
455
447
  }
@@ -460,6 +452,8 @@ const NvFieldmultiselect = class {
460
452
  if (this.options) {
461
453
  this.handleOptionsChange(this.options);
462
454
  }
455
+ // Final synchronization of child components after everything is loaded
456
+ this.syncChildComponents();
463
457
  }
464
458
  /**
465
459
  * Unsubscribe from click outside event.
@@ -477,38 +471,6 @@ const NvFieldmultiselect = class {
477
471
  async getFilterText() {
478
472
  return this.filterText;
479
473
  }
480
- /**
481
- * Set the initial selection based on the current value and update the inputElement value.
482
- */
483
- setInitialSelection() {
484
- var _a;
485
- const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitem'));
486
- const selectedItem = items.find(item => {
487
- var _a;
488
- return item.getAttribute('label') === this.value ||
489
- item.getAttribute('value') === this.value ||
490
- ((_a = item.textContent) === null || _a === void 0 ? void 0 : _a.trim()) === this.value;
491
- });
492
- // Remove 'selected' from all items first to reset the state
493
- items.forEach(item => {
494
- item.removeAttribute('selected');
495
- item.classList.remove('selected');
496
- });
497
- if (selectedItem) {
498
- // Add the `selected` attribute and `selected` class for visual styling
499
- selectedItem.setAttribute('selected', 'true');
500
- selectedItem.classList.add('selected');
501
- // Update the value and inputElement value to reflect the pre-selected item
502
- this.value =
503
- selectedItem.getAttribute('label') ||
504
- selectedItem.getAttribute('value') ||
505
- ((_a = selectedItem.textContent) === null || _a === void 0 ? void 0 : _a.trim()) ||
506
- '';
507
- if (this.inputElement) {
508
- this.inputElement.value = this.value;
509
- }
510
- }
511
- }
512
474
  /**
513
475
  * Reset the filter and make all items visible.
514
476
  */
@@ -525,8 +487,8 @@ const NvFieldmultiselect = class {
525
487
  if (emptyMessage)
526
488
  emptyMessage.remove();
527
489
  // Reorder with divider if needed
528
- const selectedItems = items.filter(item => this.selectedValues.includes(item.getAttribute('value') || ''));
529
- const unselectedItems = items.filter(item => !this.selectedValues.includes(item.getAttribute('value') || ''));
490
+ const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
491
+ const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
530
492
  if (selectedItems.length > 0) {
531
493
  this.manageDivider(ul, selectedItems, unselectedItems);
532
494
  }
@@ -537,7 +499,7 @@ const NvFieldmultiselect = class {
537
499
  * @returns {string[]} The selected values.
538
500
  */
539
501
  async getSelectedValues() {
540
- return this.selectedValues;
502
+ return this.value;
541
503
  }
542
504
  /**
543
505
  * Reorder the content of the slot.
@@ -559,8 +521,8 @@ const NvFieldmultiselect = class {
559
521
  return;
560
522
  }
561
523
  // Separate checked vs unchecked
562
- const selectedItems = items.filter(item => this.selectedValues.includes(item.getAttribute('value') || ''));
563
- const unselectedItems = items.filter(item => !this.selectedValues.includes(item.getAttribute('value') || ''));
524
+ const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
525
+ const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
564
526
  // Reinsert CHECKED items FIRST
565
527
  // appendChild() moves the element without recreating it
566
528
  // this is not trigger a re-rendering of the component in the platforms
@@ -586,8 +548,8 @@ const NvFieldmultiselect = class {
586
548
  if (!ul)
587
549
  return;
588
550
  const items = Array.from(ul.querySelectorAll('nv-fielddropdownitemcheck')).filter(item => item.style.display !== 'none');
589
- const selectedItems = items.filter(item => this.selectedValues.includes(item.getAttribute('value') || ''));
590
- const unselectedItems = items.filter(item => !this.selectedValues.includes(item.getAttribute('value') || ''));
551
+ const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
552
+ const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
591
553
  // Reorder the elements
592
554
  selectedItems.forEach(item => ul.appendChild(item));
593
555
  unselectedItems.forEach(item => ul.appendChild(item));
@@ -623,8 +585,8 @@ const NvFieldmultiselect = class {
623
585
  }
624
586
  // Reorder with divider
625
587
  const items = Array.from(ul.querySelectorAll('nv-fielddropdownitemcheck'));
626
- const selectedItems = items.filter(item => this.selectedValues.includes(item.getAttribute('value') || ''));
627
- const unselectedItems = items.filter(item => !this.selectedValues.includes(item.getAttribute('value') || ''));
588
+ const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
589
+ const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
628
590
  this.manageDivider(ul, selectedItems, unselectedItems);
629
591
  return;
630
592
  }
@@ -645,8 +607,8 @@ const NvFieldmultiselect = class {
645
607
  });
646
608
  // Manage the divider with the visible items
647
609
  const visibleItems = items.filter(item => item.style.display !== 'none');
648
- const visibleSelected = visibleItems.filter(item => this.selectedValues.includes(item.getAttribute('value') || ''));
649
- const visibleUnselected = visibleItems.filter(item => !this.selectedValues.includes(item.getAttribute('value') || ''));
610
+ const visibleSelected = visibleItems.filter(item => this.value.includes(item.getAttribute('value') || ''));
611
+ const visibleUnselected = visibleItems.filter(item => !this.value.includes(item.getAttribute('value') || ''));
650
612
  this.manageDivider(ul, visibleSelected, visibleUnselected);
651
613
  }
652
614
  else {
@@ -704,8 +666,8 @@ const NvFieldmultiselect = class {
704
666
  });
705
667
  // Manage the divider with the visible items
706
668
  const visibleItems = items.filter(item => item.style.display !== 'none');
707
- const visibleSelected = visibleItems.filter(item => this.selectedValues.includes(item.getAttribute('value') || ''));
708
- const visibleUnselected = visibleItems.filter(item => !this.selectedValues.includes(item.getAttribute('value') || ''));
669
+ const visibleSelected = visibleItems.filter(item => this.value.includes(item.getAttribute('value') || ''));
670
+ const visibleUnselected = visibleItems.filter(item => !this.value.includes(item.getAttribute('value') || ''));
709
671
  this.manageDivider(ul, visibleSelected, visibleUnselected);
710
672
  // Add or remove the empty message based on the case
711
673
  if (!hasVisibleItems) {
@@ -753,8 +715,8 @@ const NvFieldmultiselect = class {
753
715
  });
754
716
  // Get visible items after filtering
755
717
  const visibleItems = items.filter(item => item.style.display !== 'none');
756
- const visibleSelectedItems = visibleItems.filter(item => this.selectedValues.includes(item.getAttribute('value') || ''));
757
- this.manageDivider(ul, visibleSelectedItems, visibleItems.filter(item => !this.selectedValues.includes(item.getAttribute('value') || '')));
718
+ const visibleSelectedItems = visibleItems.filter(item => this.value.includes(item.getAttribute('value') || ''));
719
+ this.manageDivider(ul, visibleSelectedItems, visibleItems.filter(item => !this.value.includes(item.getAttribute('value') || '')));
758
720
  // Add empty message if no items match the filter
759
721
  if (!hasVisibleItems) {
760
722
  const emptyMessage = document.createElement('li');
@@ -951,6 +913,29 @@ const NvFieldmultiselect = class {
951
913
  divider.style.display = 'none';
952
914
  }
953
915
  }
916
+ /**
917
+ * Synchronizes the checked state of all child nv-fielddropdownitemcheck components
918
+ * with the current selectedValues state.
919
+ */
920
+ syncChildComponents() {
921
+ // Early return if element is not ready
922
+ if (!this.el || !this.el.isConnected) {
923
+ return;
924
+ }
925
+ const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
926
+ items.forEach(item => {
927
+ // Get the effective value: use explicit value if present, otherwise use label
928
+ const itemValue = item.getAttribute('value') || item.getAttribute('label') || '';
929
+ if (this.value.includes(itemValue)) {
930
+ item.setAttribute('checked', '');
931
+ item.checked = true;
932
+ }
933
+ else {
934
+ item.removeAttribute('checked');
935
+ item.checked = false;
936
+ }
937
+ });
938
+ }
954
939
  /**
955
940
  * Renders description and error description sections
956
941
  * @returns {any} The JSX for descriptions