@nova-design-system/nova-webcomponents 3.0.0-beta.37 → 3.0.0-beta.39

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 (541) hide show
  1. package/dist/blazor-docs.json +996 -164
  2. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  3. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  4. package/dist/cjs/{constants-69b40456.js → constants-2ae3d9eb.js} +22 -2
  5. package/dist/cjs/constants-2ae3d9eb.js.map +1 -0
  6. package/dist/cjs/index-5910ba06.js +8 -4
  7. package/dist/cjs/index.cjs.js +24 -1
  8. package/dist/cjs/index.cjs.js.map +1 -1
  9. package/dist/cjs/loader.cjs.js +2 -2
  10. package/dist/cjs/native.cjs.js +2 -2
  11. package/dist/cjs/nv-alert.cjs.entry.js +1 -1
  12. package/dist/cjs/nv-avatar.cjs.entry.js +1 -1
  13. package/dist/cjs/nv-badge_2.cjs.entry.js +2 -2
  14. package/dist/cjs/nv-badge_2.cjs.entry.js.map +1 -1
  15. package/dist/cjs/nv-button.cjs.entry.js +1 -1
  16. package/dist/cjs/nv-calendar.cjs.entry.js +984 -0
  17. package/dist/cjs/nv-calendar.cjs.entry.js.map +1 -0
  18. package/dist/cjs/nv-col.cjs.entry.js +1 -1
  19. package/dist/cjs/nv-datagrid.cjs.entry.js +2 -2
  20. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
  21. package/dist/cjs/nv-datagridbody.cjs.entry.js +1 -1
  22. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +1 -1
  23. package/dist/cjs/nv-datagriddatacell.cjs.entry.js +1 -1
  24. package/dist/cjs/nv-datagridhead.cjs.entry.js +1 -1
  25. package/dist/cjs/nv-datagridrow.cjs.entry.js +1 -1
  26. package/dist/cjs/nv-dialog.cjs.entry.js +17 -4
  27. package/dist/cjs/nv-dialog.cjs.entry.js.map +1 -1
  28. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +2 -2
  29. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +10 -4
  30. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js.map +1 -1
  31. package/dist/cjs/nv-fielddropdown.cjs.entry.js +146 -223
  32. package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
  33. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +37 -32
  34. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js.map +1 -1
  35. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +12 -11
  36. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
  37. package/dist/cjs/nv-fieldnumber.cjs.entry.js +10 -4
  38. package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
  39. package/dist/cjs/nv-fieldpassword.cjs.entry.js +10 -4
  40. package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
  41. package/dist/cjs/nv-fieldradio.cjs.entry.js +9 -3
  42. package/dist/cjs/nv-fieldradio.cjs.entry.js.map +1 -1
  43. package/dist/cjs/nv-fieldselect.cjs.entry.js +11 -5
  44. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
  45. package/dist/cjs/nv-fieldtext.cjs.entry.js +10 -4
  46. package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -1
  47. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +9 -3
  48. package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
  49. package/dist/cjs/nv-fieldtime.cjs.entry.js +20 -12
  50. package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -1
  51. package/dist/cjs/nv-icon.cjs.entry.js +20 -13
  52. package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
  53. package/dist/cjs/nv-iconbutton.cjs.entry.js +1 -1
  54. package/dist/cjs/nv-loader.cjs.entry.js +1 -1
  55. package/dist/cjs/nv-menu.cjs.entry.js +1 -1
  56. package/dist/cjs/nv-menuitem.cjs.entry.js +1 -1
  57. package/dist/cjs/nv-popover.cjs.entry.js +2 -2
  58. package/dist/cjs/nv-popover.cjs.entry.js.map +1 -1
  59. package/dist/cjs/nv-row.cjs.entry.js +1 -1
  60. package/dist/cjs/nv-stack.cjs.entry.js +1 -1
  61. package/dist/cjs/nv-table.cjs.entry.js +2 -2
  62. package/dist/cjs/nv-table.cjs.entry.js.map +1 -1
  63. package/dist/cjs/nv-tablebody.cjs.entry.js +1 -1
  64. package/dist/cjs/nv-tablecolumn.cjs.entry.js +1 -1
  65. package/dist/cjs/nv-tabledatacell.cjs.entry.js +1 -1
  66. package/dist/cjs/nv-tablehead.cjs.entry.js +1 -1
  67. package/dist/cjs/nv-tablerow.cjs.entry.js +1 -1
  68. package/dist/cjs/nv-toggle.cjs.entry.js +2 -2
  69. package/dist/cjs/nv-tooltip.cjs.entry.js +1 -1
  70. package/dist/cjs/uri.utils-8523ad2b.js +26 -0
  71. package/dist/cjs/uri.utils-8523ad2b.js.map +1 -0
  72. package/dist/collection/collection-manifest.json +2 -2
  73. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js +1 -0
  74. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js.map +1 -1
  75. package/dist/collection/components/nv-calendar/nv-calendar.css +341 -0
  76. package/dist/collection/components/nv-calendar/nv-calendar.docs.js +401 -0
  77. package/dist/collection/components/nv-calendar/nv-calendar.docs.js.map +1 -0
  78. package/dist/collection/components/nv-calendar/nv-calendar.js +1328 -0
  79. package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -0
  80. package/dist/collection/components/nv-col/nv-col.js +1 -1
  81. package/dist/collection/components/nv-datagrid/nv-datagrid.js +5 -2
  82. package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -1
  83. package/dist/collection/components/nv-datagridbody/nv-datagridbody.js +1 -1
  84. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +1 -1
  85. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.js +1 -1
  86. package/dist/collection/components/nv-datagridhead/nv-datagridhead.js +1 -1
  87. package/dist/collection/components/nv-datagridrow/nv-datagridrow.js +1 -1
  88. package/dist/collection/components/nv-dialog/nv-dialog.css +2 -0
  89. package/dist/collection/components/nv-dialog/nv-dialog.docs.js +6 -6
  90. package/dist/collection/components/nv-dialog/nv-dialog.docs.js.map +1 -1
  91. package/dist/collection/components/nv-dialog/nv-dialog.js +16 -3
  92. package/dist/collection/components/nv-dialog/nv-dialog.js.map +1 -1
  93. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js +1 -1
  94. package/dist/collection/components/nv-dialogheader/nv-dialogheader.js +1 -1
  95. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.js +8 -0
  96. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.js.map +1 -1
  97. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +30 -4
  98. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js.map +1 -1
  99. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +11 -3
  100. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +1 -1
  101. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +197 -252
  102. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
  103. package/dist/collection/components/nv-fielddropdown/{nv-fielddropdown.css → styles/nv-fielddropdown.css} +10 -28
  104. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +55 -47
  105. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js.map +1 -1
  106. package/dist/collection/components/nv-fielddropdownitem/{nv-fielddropdownitem.css → styles/nv-fielddropdownitem.css} +12 -9
  107. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.css +7 -7
  108. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +1 -1
  109. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.css +34 -17
  110. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +10 -2
  111. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js.map +1 -1
  112. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +34 -33
  113. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
  114. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.css +2 -2
  115. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js +8 -0
  116. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js.map +1 -1
  117. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +29 -3
  118. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +1 -1
  119. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.css +2 -2
  120. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js +8 -0
  121. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js.map +1 -1
  122. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +30 -4
  123. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js.map +1 -1
  124. package/dist/collection/components/nv-fieldradio/nv-fieldradio.docs.js +8 -0
  125. package/dist/collection/components/nv-fieldradio/nv-fieldradio.docs.js.map +1 -1
  126. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +29 -3
  127. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js.map +1 -1
  128. package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js +8 -19
  129. package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js.map +1 -1
  130. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +31 -5
  131. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js.map +1 -1
  132. package/dist/collection/components/nv-fieldtext/nv-fieldtext.css +2 -2
  133. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +8 -0
  134. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +1 -1
  135. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +30 -4
  136. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +1 -1
  137. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js +8 -0
  138. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js.map +1 -1
  139. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +29 -3
  140. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js.map +1 -1
  141. package/dist/collection/components/nv-fieldtime/nv-fieldtime.css +27 -24
  142. package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js +9 -0
  143. package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js.map +1 -1
  144. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +38 -10
  145. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js.map +1 -1
  146. package/dist/collection/components/nv-icon/nv-icon.js +19 -17
  147. package/dist/collection/components/nv-icon/nv-icon.js.map +1 -1
  148. package/dist/collection/components/nv-icon/nv-icons.js +21 -0
  149. package/dist/collection/components/nv-icon/nv-icons.js.map +1 -1
  150. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
  151. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  152. package/dist/collection/components/nv-menu/nv-menu.js +1 -1
  153. package/dist/collection/components/nv-menuitem/nv-menuitem.js +2 -2
  154. package/dist/collection/components/nv-popover/nv-popover.css +3 -0
  155. package/dist/collection/components/nv-popover/nv-popover.js +1 -1
  156. package/dist/collection/components/nv-row/nv-row.js +1 -1
  157. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  158. package/dist/collection/components/nv-table/nv-table.js +5 -2
  159. package/dist/collection/components/nv-table/nv-table.js.map +1 -1
  160. package/dist/collection/components/nv-tablebody/nv-tablebody.js +1 -1
  161. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js +1 -1
  162. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.js +1 -1
  163. package/dist/collection/components/nv-tablehead/nv-tablehead.js +1 -1
  164. package/dist/collection/components/nv-tablerow/nv-tablerow.js +1 -1
  165. package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
  166. package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
  167. package/dist/collection/index.js +2 -0
  168. package/dist/collection/index.js.map +1 -1
  169. package/dist/collection/interfaces/calendarShortcut.js +2 -0
  170. package/dist/collection/interfaces/calendarShortcut.js.map +1 -0
  171. package/dist/collection/interfaces/dateRange.js +2 -0
  172. package/dist/collection/interfaces/dateRange.js.map +1 -0
  173. package/dist/collection/interfaces/localization.js +2 -0
  174. package/dist/collection/interfaces/localization.js.map +1 -0
  175. package/dist/collection/templates/navigation.docs.js +6 -0
  176. package/dist/collection/templates/navigation.docs.js.map +1 -1
  177. package/dist/collection/utils/constants.js +18 -0
  178. package/dist/collection/utils/constants.js.map +1 -1
  179. package/dist/collection/utils/test/uri.utils.test.js +21 -0
  180. package/dist/collection/utils/test/uri.utils.test.js.map +1 -0
  181. package/dist/collection/utils/uri.utils.js +15 -0
  182. package/dist/collection/utils/uri.utils.js.map +1 -0
  183. package/dist/components/index.js +24 -2
  184. package/dist/components/index.js.map +1 -1
  185. package/dist/components/nv-alert.js +2 -2
  186. package/dist/components/nv-avatar.js +2 -2
  187. package/dist/components/nv-badge.js +1 -1
  188. package/dist/components/nv-breadcrumb.js +2 -2
  189. package/dist/components/nv-button.js +1 -1
  190. package/dist/components/nv-calendar.d.ts +11 -0
  191. package/dist/components/nv-calendar.js +1046 -0
  192. package/dist/components/nv-calendar.js.map +1 -0
  193. package/dist/components/nv-col.js +1 -1
  194. package/dist/components/nv-datagrid.js +2 -2
  195. package/dist/components/nv-datagrid.js.map +1 -1
  196. package/dist/components/nv-datagridbody.js +1 -1
  197. package/dist/components/nv-datagridcolumn.js +1 -1
  198. package/dist/components/nv-datagriddatacell.js +1 -1
  199. package/dist/components/nv-datagridhead.js +1 -1
  200. package/dist/components/nv-datagridrow.js +1 -1
  201. package/dist/components/nv-dialog.js +22 -9
  202. package/dist/components/nv-dialog.js.map +1 -1
  203. package/dist/components/nv-dialogfooter.js +1 -1
  204. package/dist/components/nv-dialogheader.js +1 -1
  205. package/dist/components/nv-fieldcheckbox.js +1 -1
  206. package/dist/components/nv-fielddropdown.js +154 -230
  207. package/dist/components/nv-fielddropdown.js.map +1 -1
  208. package/dist/components/nv-fielddropdownitem.js +1 -1
  209. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  210. package/dist/components/nv-fieldmultiselect.js +21 -19
  211. package/dist/components/nv-fieldmultiselect.js.map +1 -1
  212. package/dist/components/nv-fieldnumber.js +13 -6
  213. package/dist/components/nv-fieldnumber.js.map +1 -1
  214. package/dist/components/nv-fieldpassword.js +14 -7
  215. package/dist/components/nv-fieldpassword.js.map +1 -1
  216. package/dist/components/nv-fieldradio.js +11 -4
  217. package/dist/components/nv-fieldradio.js.map +1 -1
  218. package/dist/components/nv-fieldselect.js +13 -6
  219. package/dist/components/nv-fieldselect.js.map +1 -1
  220. package/dist/components/nv-fieldtext.js +13 -6
  221. package/dist/components/nv-fieldtext.js.map +1 -1
  222. package/dist/components/nv-fieldtextarea.js +11 -4
  223. package/dist/components/nv-fieldtextarea.js.map +1 -1
  224. package/dist/components/nv-fieldtime.js +25 -16
  225. package/dist/components/nv-fieldtime.js.map +1 -1
  226. package/dist/components/nv-icon.js +1 -1
  227. package/dist/components/nv-iconbutton.js +1 -1
  228. package/dist/components/nv-loader.js +1 -1
  229. package/dist/components/nv-menu.js +4 -4
  230. package/dist/components/nv-menuitem.js +1 -1
  231. package/dist/components/nv-popover.js +1 -1
  232. package/dist/components/nv-row.js +1 -1
  233. package/dist/components/nv-stack.js +1 -1
  234. package/dist/components/nv-table.js +2 -2
  235. package/dist/components/nv-table.js.map +1 -1
  236. package/dist/components/nv-tablebody.js +1 -1
  237. package/dist/components/nv-tablecolumn.js +1 -1
  238. package/dist/components/nv-tabledatacell.js +1 -1
  239. package/dist/components/nv-tablehead.js +1 -1
  240. package/dist/components/nv-tablerow.js +1 -1
  241. package/dist/components/nv-toggle.js +2 -2
  242. package/dist/components/nv-tooltip.js +1 -1
  243. package/dist/components/{p-de8411ee.js → p-17b6705f.js} +5 -5
  244. package/dist/components/{p-de8411ee.js.map → p-17b6705f.js.map} +1 -1
  245. package/dist/components/{p-2768d2c0.js → p-33e07c91.js} +2 -2
  246. package/dist/components/{p-2768d2c0.js.map → p-33e07c91.js.map} +1 -1
  247. package/dist/components/{p-3859dc5c.js → p-48317c2c.js} +4 -4
  248. package/dist/components/p-48317c2c.js.map +1 -0
  249. package/dist/components/{p-a9a52105.js → p-492ad81d.js} +1178 -5
  250. package/dist/components/p-492ad81d.js.map +1 -0
  251. package/dist/components/p-5f5e2bf2.js +88 -0
  252. package/dist/components/p-5f5e2bf2.js.map +1 -0
  253. package/dist/components/{p-e431a0ad.js → p-659a5ae4.js} +4 -4
  254. package/dist/components/{p-e431a0ad.js.map → p-659a5ae4.js.map} +1 -1
  255. package/dist/components/{p-18d221e3.js → p-73e703a1.js} +2 -2
  256. package/dist/components/{p-18d221e3.js.map → p-73e703a1.js.map} +1 -1
  257. package/dist/components/p-7e58e7d1.js +23 -0
  258. package/dist/components/p-7e58e7d1.js.map +1 -0
  259. package/dist/components/{p-16badb3b.js → p-83e1177b.js} +3 -3
  260. package/dist/components/{p-16badb3b.js.map → p-83e1177b.js.map} +1 -1
  261. package/dist/components/{p-2baea6ba.js → p-842afd9a.js} +3 -3
  262. package/dist/components/{p-2baea6ba.js.map → p-842afd9a.js.map} +1 -1
  263. package/dist/components/{p-4938572a.js → p-88165c0e.js} +2 -2
  264. package/dist/components/{p-4938572a.js.map → p-88165c0e.js.map} +1 -1
  265. package/dist/components/{p-91bf0cb6.js → p-8d7a57d1.js} +3 -3
  266. package/dist/components/{p-91bf0cb6.js.map → p-8d7a57d1.js.map} +1 -1
  267. package/dist/components/p-c1765831.js +89 -0
  268. package/dist/components/p-c1765831.js.map +1 -0
  269. package/dist/components/p-f40a7e2f.js +95 -0
  270. package/dist/components/p-f40a7e2f.js.map +1 -0
  271. package/dist/{esm/constants-0181211f.js → components/p-fd65c51f.js} +22 -3
  272. package/dist/components/p-fd65c51f.js.map +1 -0
  273. package/dist/components/{p-98ff0e5f.js → p-fdf57d25.js} +13 -6
  274. package/dist/components/p-fdf57d25.js.map +1 -0
  275. package/dist/docs.json +972 -147
  276. package/dist/esm/app-globals-0f993ce5.js +5 -0
  277. package/dist/esm/app-globals-0f993ce5.js.map +1 -0
  278. package/dist/{components/p-56f71851.js → esm/constants-8243d2ea.js} +22 -3
  279. package/dist/esm/constants-8243d2ea.js.map +1 -0
  280. package/dist/esm/index-fac2d5d2.js +8 -4
  281. package/dist/esm/index.js +23 -1
  282. package/dist/esm/index.js.map +1 -1
  283. package/dist/esm/loader.js +2 -2
  284. package/dist/esm/native.js +2 -2
  285. package/dist/esm/nv-alert.entry.js +1 -1
  286. package/dist/esm/nv-avatar.entry.js +1 -1
  287. package/dist/esm/nv-badge_2.entry.js +2 -2
  288. package/dist/esm/nv-badge_2.entry.js.map +1 -1
  289. package/dist/esm/nv-button.entry.js +1 -1
  290. package/dist/esm/nv-calendar.entry.js +980 -0
  291. package/dist/esm/nv-calendar.entry.js.map +1 -0
  292. package/dist/esm/nv-col.entry.js +1 -1
  293. package/dist/esm/nv-datagrid.entry.js +2 -2
  294. package/dist/esm/nv-datagrid.entry.js.map +1 -1
  295. package/dist/esm/nv-datagridbody.entry.js +1 -1
  296. package/dist/esm/nv-datagridcolumn.entry.js +1 -1
  297. package/dist/esm/nv-datagriddatacell.entry.js +1 -1
  298. package/dist/esm/nv-datagridhead.entry.js +1 -1
  299. package/dist/esm/nv-datagridrow.entry.js +1 -1
  300. package/dist/esm/nv-dialog.entry.js +17 -4
  301. package/dist/esm/nv-dialog.entry.js.map +1 -1
  302. package/dist/esm/nv-dialogfooter_2.entry.js +2 -2
  303. package/dist/esm/nv-fieldcheckbox.entry.js +10 -4
  304. package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -1
  305. package/dist/esm/nv-fielddropdown.entry.js +146 -223
  306. package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
  307. package/dist/esm/nv-fielddropdownitem.entry.js +37 -32
  308. package/dist/esm/nv-fielddropdownitem.entry.js.map +1 -1
  309. package/dist/esm/nv-fieldmultiselect.entry.js +12 -11
  310. package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
  311. package/dist/esm/nv-fieldnumber.entry.js +10 -4
  312. package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
  313. package/dist/esm/nv-fieldpassword.entry.js +10 -4
  314. package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
  315. package/dist/esm/nv-fieldradio.entry.js +9 -3
  316. package/dist/esm/nv-fieldradio.entry.js.map +1 -1
  317. package/dist/esm/nv-fieldselect.entry.js +11 -5
  318. package/dist/esm/nv-fieldselect.entry.js.map +1 -1
  319. package/dist/esm/nv-fieldtext.entry.js +10 -4
  320. package/dist/esm/nv-fieldtext.entry.js.map +1 -1
  321. package/dist/esm/nv-fieldtextarea.entry.js +9 -3
  322. package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
  323. package/dist/esm/nv-fieldtime.entry.js +20 -12
  324. package/dist/esm/nv-fieldtime.entry.js.map +1 -1
  325. package/dist/esm/nv-icon.entry.js +20 -13
  326. package/dist/esm/nv-icon.entry.js.map +1 -1
  327. package/dist/esm/nv-iconbutton.entry.js +1 -1
  328. package/dist/esm/nv-loader.entry.js +1 -1
  329. package/dist/esm/nv-menu.entry.js +1 -1
  330. package/dist/esm/nv-menuitem.entry.js +1 -1
  331. package/dist/esm/nv-popover.entry.js +2 -2
  332. package/dist/esm/nv-popover.entry.js.map +1 -1
  333. package/dist/esm/nv-row.entry.js +1 -1
  334. package/dist/esm/nv-stack.entry.js +1 -1
  335. package/dist/esm/nv-table.entry.js +2 -2
  336. package/dist/esm/nv-table.entry.js.map +1 -1
  337. package/dist/esm/nv-tablebody.entry.js +1 -1
  338. package/dist/esm/nv-tablecolumn.entry.js +1 -1
  339. package/dist/esm/nv-tabledatacell.entry.js +1 -1
  340. package/dist/esm/nv-tablehead.entry.js +1 -1
  341. package/dist/esm/nv-tablerow.entry.js +1 -1
  342. package/dist/esm/nv-toggle.entry.js +2 -2
  343. package/dist/esm/nv-tooltip.entry.js +1 -1
  344. package/dist/esm/uri.utils-4c2a1e4c.js +23 -0
  345. package/dist/esm/uri.utils-4c2a1e4c.js.map +1 -0
  346. package/dist/native/index.esm.js +1 -1
  347. package/dist/native/index.esm.js.map +1 -1
  348. package/dist/native/native.css +1 -1
  349. package/dist/native/native.esm.js +1 -1
  350. package/dist/native/native.esm.js.map +1 -1
  351. package/dist/native/{p-4d0caf4a.entry.js → p-1bae8cdd.entry.js} +2 -2
  352. package/dist/native/{p-4d0caf4a.entry.js.map → p-1bae8cdd.entry.js.map} +1 -1
  353. package/dist/native/{p-8c1a6aa6.entry.js → p-1ca72f74.entry.js} +2 -2
  354. package/dist/native/{p-d67b7502.entry.js → p-2151f564.entry.js} +2 -2
  355. package/dist/native/{p-87083363.entry.js → p-2b99e720.entry.js} +2 -2
  356. package/dist/native/{p-87083363.entry.js.map → p-2b99e720.entry.js.map} +1 -1
  357. package/dist/native/p-3422397d.entry.js +2 -0
  358. package/dist/native/{p-e3827605.entry.js → p-39b4ec02.entry.js} +2 -2
  359. package/dist/native/p-39b4ec02.entry.js.map +1 -0
  360. package/dist/native/{p-9ac790b3.entry.js → p-3b2c7871.entry.js} +2 -2
  361. package/dist/native/{p-9ac790b3.entry.js.map → p-3b2c7871.entry.js.map} +1 -1
  362. package/dist/native/{p-51ad8bcd.entry.js → p-3bfd5a30.entry.js} +2 -2
  363. package/dist/native/p-3bfd5a30.entry.js.map +1 -0
  364. package/dist/native/p-44e7e3e8.entry.js +2 -0
  365. package/dist/native/p-44e7e3e8.entry.js.map +1 -0
  366. package/dist/native/p-46c9aa04.entry.js +2 -0
  367. package/dist/native/p-46c9aa04.entry.js.map +1 -0
  368. package/dist/native/p-4a7fa613.entry.js +2 -0
  369. package/dist/native/{p-96902bb3.entry.js.map → p-4a7fa613.entry.js.map} +1 -1
  370. package/dist/native/{p-e192c25c.entry.js → p-4db7add6.entry.js} +2 -2
  371. package/dist/native/{p-a998f8df.entry.js → p-4eacd598.entry.js} +2 -2
  372. package/dist/native/p-51e0c5d3.entry.js +2 -0
  373. package/dist/native/{p-2aebf31b.entry.js.map → p-51e0c5d3.entry.js.map} +1 -1
  374. package/dist/native/p-57513eb0.entry.js +2 -0
  375. package/dist/native/{p-ab5a8ce5.entry.js.map → p-57513eb0.entry.js.map} +1 -1
  376. package/dist/native/p-5851fbed.entry.js +2 -0
  377. package/dist/native/{p-61d2cb2e.entry.js → p-634b49fe.entry.js} +2 -2
  378. package/dist/native/{p-211f7b19.entry.js → p-63c894f0.entry.js} +2 -2
  379. package/dist/native/p-6acbf729.entry.js +2 -0
  380. package/dist/native/p-6acbf729.entry.js.map +1 -0
  381. package/dist/native/p-7211a3cb.entry.js +7 -0
  382. package/dist/native/p-7211a3cb.entry.js.map +1 -0
  383. package/dist/native/p-79765c7d.entry.js +2 -0
  384. package/dist/native/p-7e58e7d1.js +2 -0
  385. package/dist/native/p-7e58e7d1.js.map +1 -0
  386. package/dist/native/{p-3c004551.entry.js → p-833af1bf.entry.js} +2 -2
  387. package/dist/native/p-833af1bf.entry.js.map +1 -0
  388. package/dist/native/p-87bd53df.entry.js +2 -0
  389. package/dist/native/p-87bd53df.entry.js.map +1 -0
  390. package/dist/native/p-8b323a15.entry.js +2 -0
  391. package/dist/native/{p-10ba289c.entry.js.map → p-8b323a15.entry.js.map} +1 -1
  392. package/dist/native/p-943a19a5.entry.js +2 -0
  393. package/dist/native/{p-8ee30013.entry.js.map → p-943a19a5.entry.js.map} +1 -1
  394. package/dist/native/{p-6d68f133.entry.js → p-9c8eadde.entry.js} +2 -2
  395. package/dist/native/p-9c8eadde.entry.js.map +1 -0
  396. package/dist/native/p-ac81e143.entry.js +2 -0
  397. package/dist/native/p-ac81e143.entry.js.map +1 -0
  398. package/dist/native/{p-99e7a452.entry.js → p-afc16010.entry.js} +2 -2
  399. package/dist/native/p-afc16010.entry.js.map +1 -0
  400. package/dist/native/p-b13b2663.entry.js +2 -0
  401. package/dist/native/p-b13b2663.entry.js.map +1 -0
  402. package/dist/native/p-b2ace8e9.entry.js +2 -0
  403. package/dist/native/p-b2ace8e9.entry.js.map +1 -0
  404. package/dist/native/{p-4f11286d.entry.js → p-bac62e20.entry.js} +2 -2
  405. package/dist/native/{p-46553ffd.entry.js → p-bfb6e22c.entry.js} +2 -2
  406. package/dist/native/p-c29be15d.entry.js +2 -0
  407. package/dist/native/{p-aa2834e2.entry.js.map → p-c29be15d.entry.js.map} +1 -1
  408. package/dist/native/p-cba14168.entry.js +2 -0
  409. package/dist/native/p-cba14168.entry.js.map +1 -0
  410. package/dist/native/p-dbb89408.entry.js +2 -0
  411. package/dist/native/p-e1255160.js +2 -0
  412. package/dist/native/p-e1255160.js.map +1 -0
  413. package/dist/native/p-e1b22ca7.entry.js +2 -0
  414. package/dist/native/p-e1b22ca7.entry.js.map +1 -0
  415. package/dist/native/{p-d776ed48.entry.js → p-ef9b66d4.entry.js} +2 -2
  416. package/dist/native/p-f867541d.entry.js +2 -0
  417. package/dist/native/p-f954a077.entry.js +2 -0
  418. package/dist/native/{p-f30ce086.entry.js.map → p-f954a077.entry.js.map} +1 -1
  419. package/dist/native/{p-d24586ed.entry.js → p-fa33ec18.entry.js} +2 -2
  420. package/dist/native/{p-56f71851.js → p-fd65c51f.js} +2 -2
  421. package/dist/native/p-fd65c51f.js.map +1 -0
  422. package/dist/native/p-ff7eea0e.entry.js +2 -0
  423. package/dist/types/components/nv-calendar/nv-calendar.d.ts +383 -0
  424. package/dist/types/components/nv-calendar/nv-calendar.docs.d.ts +4 -0
  425. package/dist/types/components/nv-datagrid/nv-datagrid.d.ts +3 -0
  426. package/dist/types/components/nv-dialog/nv-dialog.d.ts +8 -0
  427. package/dist/types/components/nv-fieldcheckbox/nv-fieldcheckbox.d.ts +6 -0
  428. package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +45 -62
  429. package/dist/types/components/nv-fielddropdownitem/nv-fielddropdownitem.d.ts +27 -13
  430. package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +7 -10
  431. package/dist/types/components/nv-fieldnumber/nv-fieldnumber.d.ts +6 -0
  432. package/dist/types/components/nv-fieldpassword/nv-fieldpassword.d.ts +6 -0
  433. package/dist/types/components/nv-fieldradio/nv-fieldradio.d.ts +6 -0
  434. package/dist/types/components/nv-fieldselect/nv-fieldselect.d.ts +6 -0
  435. package/dist/types/components/nv-fieldtext/nv-fieldtext.d.ts +6 -0
  436. package/dist/types/components/nv-fieldtextarea/nv-fieldtextarea.d.ts +6 -0
  437. package/dist/types/components/nv-fieldtime/nv-fieldtime.d.ts +6 -0
  438. package/dist/types/components/nv-icon/nv-icon.d.ts +6 -4
  439. package/dist/types/components/nv-icon/nv-icons.d.ts +1 -1
  440. package/dist/types/components/nv-table/nv-table.d.ts +3 -0
  441. package/dist/types/components.d.ts +316 -28
  442. package/dist/types/index.d.ts +4 -0
  443. package/dist/types/interfaces/calendarShortcut.d.ts +17 -0
  444. package/dist/types/interfaces/dateRange.d.ts +13 -0
  445. package/dist/types/interfaces/localization.d.ts +9 -0
  446. package/dist/types/nova-docs.d.ts +1 -0
  447. package/dist/types/utils/constants.d.ts +2 -0
  448. package/dist/types/utils/uri.utils.d.ts +6 -0
  449. package/dist/vscode-data.json +243 -56
  450. package/hydrate/index.js +2545 -1507
  451. package/hydrate/index.mjs +2545 -1507
  452. package/package.json +11 -3
  453. package/dist/cjs/app-globals-bd4d701e.js +0 -11
  454. package/dist/cjs/app-globals-bd4d701e.js.map +0 -1
  455. package/dist/cjs/constants-69b40456.js.map +0 -1
  456. package/dist/collection/components/nv-fielddropdownitem/DropdownItemSelectedEventDetail.js +0 -2
  457. package/dist/collection/components/nv-fielddropdownitem/DropdownItemSelectedEventDetail.js.map +0 -1
  458. package/dist/collection/dev/dev-components.js +0 -3
  459. package/dist/collection/dev/dev-components.js.map +0 -1
  460. package/dist/collection/dev/dev-forms.js +0 -3
  461. package/dist/collection/dev/dev-forms.js.map +0 -1
  462. package/dist/collection/dev/dev-root.js +0 -23
  463. package/dist/collection/dev/dev-root.js.map +0 -1
  464. package/dist/collection/dev/dev-utils.js +0 -54
  465. package/dist/collection/dev/dev-utils.js.map +0 -1
  466. package/dist/collection/global.js +0 -6
  467. package/dist/collection/global.js.map +0 -1
  468. package/dist/components/p-11fcdad9.js +0 -90
  469. package/dist/components/p-11fcdad9.js.map +0 -1
  470. package/dist/components/p-17714233.js +0 -1263
  471. package/dist/components/p-17714233.js.map +0 -1
  472. package/dist/components/p-3859dc5c.js.map +0 -1
  473. package/dist/components/p-56f71851.js.map +0 -1
  474. package/dist/components/p-98ff0e5f.js.map +0 -1
  475. package/dist/components/p-a01bdf02.js +0 -82
  476. package/dist/components/p-a01bdf02.js.map +0 -1
  477. package/dist/components/p-a9a52105.js.map +0 -1
  478. package/dist/esm/app-globals-0a94217b.js +0 -9
  479. package/dist/esm/app-globals-0a94217b.js.map +0 -1
  480. package/dist/esm/constants-0181211f.js.map +0 -1
  481. package/dist/native/p-02bb8184.entry.js +0 -2
  482. package/dist/native/p-10ba289c.entry.js +0 -2
  483. package/dist/native/p-208accf0.entry.js +0 -2
  484. package/dist/native/p-208accf0.entry.js.map +0 -1
  485. package/dist/native/p-2aebf31b.entry.js +0 -2
  486. package/dist/native/p-3a8a9371.entry.js +0 -2
  487. package/dist/native/p-3a8a9371.entry.js.map +0 -1
  488. package/dist/native/p-3c004551.entry.js.map +0 -1
  489. package/dist/native/p-51ad8bcd.entry.js.map +0 -1
  490. package/dist/native/p-56f71851.js.map +0 -1
  491. package/dist/native/p-6d68f133.entry.js.map +0 -1
  492. package/dist/native/p-724ed8d7.entry.js +0 -7
  493. package/dist/native/p-724ed8d7.entry.js.map +0 -1
  494. package/dist/native/p-75b1ea9f.entry.js +0 -2
  495. package/dist/native/p-75b1ea9f.entry.js.map +0 -1
  496. package/dist/native/p-892052c2.entry.js +0 -2
  497. package/dist/native/p-8ee30013.entry.js +0 -2
  498. package/dist/native/p-96902bb3.entry.js +0 -2
  499. package/dist/native/p-99e7a452.entry.js.map +0 -1
  500. package/dist/native/p-9fb5db20.entry.js +0 -2
  501. package/dist/native/p-9fb5db20.entry.js.map +0 -1
  502. package/dist/native/p-aa2834e2.entry.js +0 -2
  503. package/dist/native/p-ab5a8ce5.entry.js +0 -2
  504. package/dist/native/p-bfeda21c.entry.js +0 -2
  505. package/dist/native/p-bfeda21c.entry.js.map +0 -1
  506. package/dist/native/p-c51ee6dc.entry.js +0 -2
  507. package/dist/native/p-c51ee6dc.entry.js.map +0 -1
  508. package/dist/native/p-d4e56727.entry.js +0 -2
  509. package/dist/native/p-d4e56727.entry.js.map +0 -1
  510. package/dist/native/p-dc9dd5a7.entry.js +0 -2
  511. package/dist/native/p-e3827605.entry.js.map +0 -1
  512. package/dist/native/p-e5a7596b.entry.js +0 -2
  513. package/dist/native/p-e6f45df2.entry.js +0 -2
  514. package/dist/native/p-ed47a702.entry.js +0 -2
  515. package/dist/native/p-f30ce086.entry.js +0 -2
  516. package/dist/native/p-f3fbdea6.js +0 -2
  517. package/dist/native/p-f3fbdea6.js.map +0 -1
  518. package/dist/native/p-fd2955dd.entry.js +0 -2
  519. package/dist/native/p-fd2955dd.entry.js.map +0 -1
  520. package/dist/types/components/nv-fielddropdownitem/DropdownItemSelectedEventDetail.d.ts +0 -21
  521. package/dist/types/dev/dev-components.d.ts +0 -2
  522. package/dist/types/dev/dev-forms.d.ts +0 -2
  523. package/dist/types/dev/dev-utils.d.ts +0 -17
  524. package/dist/types/global.d.ts +0 -1
  525. /package/dist/native/{p-8c1a6aa6.entry.js.map → p-1ca72f74.entry.js.map} +0 -0
  526. /package/dist/native/{p-d67b7502.entry.js.map → p-2151f564.entry.js.map} +0 -0
  527. /package/dist/native/{p-dc9dd5a7.entry.js.map → p-3422397d.entry.js.map} +0 -0
  528. /package/dist/native/{p-e192c25c.entry.js.map → p-4db7add6.entry.js.map} +0 -0
  529. /package/dist/native/{p-a998f8df.entry.js.map → p-4eacd598.entry.js.map} +0 -0
  530. /package/dist/native/{p-e5a7596b.entry.js.map → p-5851fbed.entry.js.map} +0 -0
  531. /package/dist/native/{p-61d2cb2e.entry.js.map → p-634b49fe.entry.js.map} +0 -0
  532. /package/dist/native/{p-211f7b19.entry.js.map → p-63c894f0.entry.js.map} +0 -0
  533. /package/dist/native/{p-e6f45df2.entry.js.map → p-79765c7d.entry.js.map} +0 -0
  534. /package/dist/native/{p-4f11286d.entry.js.map → p-bac62e20.entry.js.map} +0 -0
  535. /package/dist/native/{p-46553ffd.entry.js.map → p-bfb6e22c.entry.js.map} +0 -0
  536. /package/dist/native/{p-02bb8184.entry.js.map → p-dbb89408.entry.js.map} +0 -0
  537. /package/dist/native/{p-d776ed48.entry.js.map → p-ef9b66d4.entry.js.map} +0 -0
  538. /package/dist/native/{p-ed47a702.entry.js.map → p-f867541d.entry.js.map} +0 -0
  539. /package/dist/native/{p-d24586ed.entry.js.map → p-fa33ec18.entry.js.map} +0 -0
  540. /package/dist/native/{p-892052c2.entry.js.map → p-ff7eea0e.entry.js.map} +0 -0
  541. /package/dist/types/{dev/dev-root.d.ts → utils/test/uri.utils.test.d.ts} +0 -0
@@ -1,20 +1,20 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-77d0fedc.js';
2
- import { d as defineCustomElement$6 } from './p-11fcdad9.js';
3
- import { d as defineCustomElement$5 } from './p-a01bdf02.js';
4
- import { d as defineCustomElement$4 } from './p-e431a0ad.js';
5
- import { d as defineCustomElement$3 } from './p-18d221e3.js';
6
- import { d as defineCustomElement$2 } from './p-a9a52105.js';
2
+ import { d as defineCustomElement$6 } from './p-f40a7e2f.js';
3
+ import { d as defineCustomElement$5 } from './p-5f5e2bf2.js';
4
+ import { d as defineCustomElement$4 } from './p-659a5ae4.js';
5
+ import { d as defineCustomElement$3 } from './p-73e703a1.js';
6
+ import { d as defineCustomElement$2 } from './p-492ad81d.js';
7
7
  import { v as v4 } from './p-f5ff676c.js';
8
8
 
9
- const nvFielddropdownCss = "nv-fielddropdown{--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}nv-fielddropdown[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-fielddropdown[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)}nv-fielddropdown[required]:not([required=false]) label::after{content:\"*\";color:var(--components-form-text-required);font-weight:700}nv-fielddropdown 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-fielddropdown nv-popover{width:100%;display:block}nv-fielddropdown nv-popover [data-scope=popover]{padding:var(--list-custom-padding);background-color:var(--components-list-custom-background);border:1px solid var(--components-list-custom-border);width:100%}nv-fielddropdown nv-popover [data-scope=popover] hr{color:var(--components-list-custom-separator)}nv-fielddropdown nv-popover [slot=content]{gap:var(--list-custom-gap-y);display:flex;flex-direction:column}nv-fielddropdown .input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch;width:100%}nv-fielddropdown .input-container{display:flex;flex-grow:1;padding:calc(var(--form-field-padding-y) - 1px) var(--form-field-padding-x);justify-content:center;align-items:center;gap:var(--form-field-gap);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);background:var(--nv-field-background);transition:all 150ms ease-out;display:flex;align-items:center;position:relative;width:100%;min-height:40px}nv-fielddropdown .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fielddropdown .input-container:focus-within{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fielddropdown .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-fielddropdown .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fielddropdown .input-container input,nv-fielddropdown .input-container p.non-filterable-text{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);text-overflow:ellipsis;font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height);width:100%;padding-right:2rem;flex-grow:1;margin:0;min-height:100%;box-sizing:border-box}nv-fielddropdown .input-container input:focus,nv-fielddropdown .input-container p.non-filterable-text:focus{outline:none}nv-fielddropdown .input-container input::placeholder,nv-fielddropdown .input-container p.non-filterable-text::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-fielddropdown .input-container .toggle-dropdown-icon{position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:2}nv-fielddropdown .input-container nv-icon.validation{color:var(--nv-field-border-default);position:absolute;right:50px}nv-fielddropdown .input-container.focus-within,nv-fielddropdown .input-container:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fielddropdown .non-filterable-text{display:block;border-radius:var(--form-field-radius);background-color:var(--nv-field-background);color:var(--components-form-field-content-text);font-size:var(--form-field-font-size);font-weight:500;line-height:var(--form-field-line-height);box-sizing:border-box;cursor:pointer;height:100%;min-height:40px}nv-fielddropdown .non-filterable-text span{display:inline-block;width:100%;overflow:hidden;text-overflow:ellipsis}nv-fielddropdown .description{align-self:stretch;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-fielddropdown .error-description{align-self:stretch;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)}nv-fielddropdown hr{border:none;height:1px;background-color:var(--components-list-custom-separator);margin:0}.input-container.focus-within,.input-container:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}";
9
+ const nvFielddropdownCss = "nv-fielddropdown{--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}nv-fielddropdown[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-fielddropdown[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)}nv-fielddropdown[required]:not([required=false]) label::after{content:\"*\";color:var(--components-form-text-required);font-weight:700}nv-fielddropdown 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-fielddropdown nv-popover{width:100%;display:block}nv-fielddropdown nv-popover [data-scope=popover]{width:100%;padding:var(--list-dropdown-padding);border-radius:var(--list-dropdown-radius);background-color:var(--components-list-dropdown-background);border:1px solid var(--components-list-dropdown-border)}nv-fielddropdown nv-popover [slot=content]{gap:var(--list-dropdown-gap-y);display:flex;flex-direction:column}nv-fielddropdown nv-popover hr{color:var(--components-list-dropdown-separator)}nv-fielddropdown .input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch;width:100%}nv-fielddropdown .input-container{display:flex;flex-grow:1;padding:calc(var(--form-field-padding-y) - 1px) var(--form-field-padding-x);justify-content:center;align-items:center;gap:var(--form-field-gap);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;position:relative;width:100%;min-height:40px}nv-fielddropdown .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fielddropdown .input-container:focus-within,nv-fielddropdown .input-container:focus-within:hover,nv-fielddropdown .input-container:focus,nv-fielddropdown .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-fielddropdown .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-fielddropdown .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fielddropdown .input-container input,nv-fielddropdown .input-container p.non-filterable-text{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);text-overflow:ellipsis;font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height);width:100%;padding-right:2rem;flex-grow:1;margin:0;min-height:100%;box-sizing:border-box}nv-fielddropdown .input-container input:focus,nv-fielddropdown .input-container p.non-filterable-text:focus{outline:none}nv-fielddropdown .input-container input::placeholder,nv-fielddropdown .input-container p.non-filterable-text::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-fielddropdown .input-container .toggle-dropdown-icon{position:absolute;right:0;top:50%;transform:translateY(-50%)}nv-fielddropdown .input-container nv-icon.validation{color:var(--nv-field-border-default);position:absolute;right:50px}nv-fielddropdown .non-filterable-text{display:block;border-radius:var(--form-field-radius);background-color:var(--nv-field-background);color:var(--components-form-field-content-text);font-size:var(--form-field-font-size);font-weight:500;line-height:var(--form-field-line-height);box-sizing:border-box;cursor:pointer;height:100%;min-height:40px}nv-fielddropdown .non-filterable-text span{display:inline-block;width:100%;overflow:hidden;text-overflow:ellipsis}nv-fielddropdown .description{align-self:stretch;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-fielddropdown .error-description{align-self:stretch;color:var(--components-form-text-description-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}";
10
10
  const NvFielddropdownStyle0 = nvFielddropdownCss;
11
11
 
12
- const NVFieldDropDown = /*@__PURE__*/ proxyCustomElement(class NVFieldDropDown extends H {
12
+ const NvFielddropdown$1 = /*@__PURE__*/ proxyCustomElement(class NvFielddropdown extends H {
13
13
  constructor() {
14
14
  super();
15
15
  this.__registerHost();
16
- this.dropdownItemSelected = createEvent(this, "dropdownItemSelected", 7);
17
16
  this.valueChanged = createEvent(this, "valueChanged", 7);
17
+ this.dropdownItemSelected = createEvent(this, "dropdownItemSelected", 7);
18
18
  /****************************************************************************/
19
19
  //#region PROPERTIES
20
20
  /**
@@ -61,34 +61,35 @@ const NVFieldDropDown = /*@__PURE__*/ proxyCustomElement(class NVFieldDropDown e
61
61
  /**
62
62
  * The text to display when no items match the filter.
63
63
  */
64
- this.emptyresult = 'No results found';
65
- /**
66
- * The text entered by the user for filtering dropdown items.
67
- */
68
- this.filterText = '';
64
+ this.emptyResult = 'No results found';
69
65
  /**
70
66
  * Enables or disables the filtering feature for the dropdown items.
71
67
  */
72
68
  this.filterable = false;
69
+ /**
70
+ * Applies focus to the input field as soon as the component is mounted. This
71
+ * is equivalent to setting the native autofocus attribute on an <input>
72
+ * element.
73
+ */
74
+ this.autofocus = false;
75
+ //#endregion PROPERTIES
76
+ /****************************************************************************/
77
+ //#region STATE
78
+ /** The text entered by the user for filtering dropdown items. */
79
+ this.filterText = '';
73
80
  this.isFilterable = this.filterable;
74
81
  this.selectedValues = new Set();
75
82
  /**
76
83
  * Options configuration for the dropdown items.
77
84
  */
78
85
  this.parsedOptions = [];
79
- /**
80
- * Handle click on the input container.
81
- * @param {MouseEvent} event - The click event.
82
- */
83
86
  this.handleInputContainerClick = (event) => {
84
87
  if (this.disabled || this.readonly) {
85
- return; // Do nothing if the dropdown is disabled or read-only
88
+ return;
86
89
  }
87
90
  const target = event.target;
88
- // Check if it is the paragraph or another part of the container
89
91
  if (target.tagName === 'P' || target.tagName === 'SPAN') {
90
92
  this.open = true;
91
- this.popoverElement.show();
92
93
  // Simulate focus to trigger "focus-within" style
93
94
  const inputContainer = this.el.querySelector('.input-container');
94
95
  if (inputContainer) {
@@ -102,85 +103,59 @@ const NVFieldDropDown = /*@__PURE__*/ proxyCustomElement(class NVFieldDropDown e
102
103
  }
103
104
  }
104
105
  };
105
- /**
106
- * Handle input change.
107
- * @param {Event} event - The input event.
108
- */
109
106
  this.handleInput = (event) => {
110
107
  if (!this.filterable)
111
- return; // Do not filter if `filterable` is false
108
+ return;
112
109
  if (this.disabled || this.readonly) {
113
- return; // Do not toggle the state if the dropdown is disabled or read-only
110
+ return;
114
111
  }
115
112
  const input = event.target;
116
113
  this.filterText = input.value.toLowerCase();
117
- this.value = input.value; // Update the value
118
- this.valueChanged.emit(input.value); // Emit an event if needed
119
- this.filterItems(); // Update the visibility of items
114
+ this.filterItems();
120
115
  };
121
- /**
122
- * Handle input focus.
123
- */
124
- this.handleInputFocus = () => {
125
- if (this.disabled || this.readonly) {
126
- return; // Do not toggle the state if the dropdown is disabled or read-only
116
+ this.handleClickOutside = (event) => {
117
+ if (this.el.contains(event.target) ||
118
+ (this.inputElement && this.inputElement.contains(event.target))) {
119
+ return;
127
120
  }
128
- this.open = true; // Force the popover to open
121
+ this.open = false;
129
122
  };
130
- /**
131
- * Handle input blur.
132
- */
133
- this.handleInputBlur = () => {
134
- // Use a delay to check if the focus is still within the popover
135
- setTimeout(() => {
136
- if (!this.el.contains(document.activeElement)) {
137
- this.open = false;
138
- this.popoverElement.hide(); // Close the popover if the focus is outside the component
139
- }
140
- }, 150);
123
+ this.handleInputFocus = () => {
124
+ if (this.disabled || this.readonly)
125
+ return;
126
+ this.open = true;
141
127
  };
142
- /**
143
- * Toggle the dropdown popover.
144
- * @returns {void}
145
- */
146
128
  this.togglePopover = () => {
147
- if (this.disabled || this.readonly) {
148
- return; // Do not toggle if disabled or read-only
149
- }
129
+ if (this.disabled || this.readonly)
130
+ return;
150
131
  this.open = !this.open;
151
- if (this.open) {
152
- this.popoverElement.show();
153
- // If the dropdown is not filterable, focus on the first item
154
- if (!this.filterable) {
155
- this.focusFirstItem();
156
- }
157
- }
158
- else {
159
- this.popoverElement.hide();
132
+ if (this.open && !this.filterable) {
133
+ this.focusFirstItem();
160
134
  }
161
135
  };
136
+ this.getSelectedLabel = () => {
137
+ var _a, _b, _c;
138
+ const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitem'));
139
+ const matchingItem = items.find(item => item.getAttribute('value') === this.value);
140
+ return matchingItem
141
+ ? (_c = (_a = matchingItem.label) !== null && _a !== void 0 ? _a : (_b = matchingItem.textContent) === null || _b === void 0 ? void 0 : _b.trim()) !== null && _c !== void 0 ? _c : matchingItem.value
142
+ : '';
143
+ };
162
144
  }
163
- handleItemSelected(event) {
145
+ handleDropdownItemSelected(event) {
164
146
  if (this.disabled || this.readonly)
165
147
  return;
166
- // Retrieve all nv-fielddropdownitem elements present in the dropdown.
167
148
  const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitem'));
168
- // For each item, remove the 'selected' attribute and the 'selected' class.
169
149
  items.forEach(item => {
170
150
  if (item !== event.target) {
171
151
  item.removeAttribute('selected');
172
- item.classList.remove('selected');
152
+ }
153
+ else {
154
+ item.setAttribute('selected', 'true');
173
155
  }
174
156
  });
175
- // Update the value and emit the event with the selected item.
176
157
  this.value = event.detail.value;
177
- event.target.setAttribute('selected', 'true');
178
- event.target.classList.add('selected');
179
- this.dropdownItemSelected.emit(event.detail);
180
- // Close the popover after selecting.
181
- if (this.popoverElement) {
182
- this.popoverElement.hide();
183
- }
158
+ this.open = false;
184
159
  }
185
160
  handleOpenChanged(event) {
186
161
  this.open = event.detail; // Update `open` based on the popover state
@@ -194,27 +169,22 @@ const NVFieldDropDown = /*@__PURE__*/ proxyCustomElement(class NVFieldDropDown e
194
169
  this.updateSelectedItem(newValue);
195
170
  }
196
171
  }
197
- /**
198
- * Watch for changes in the options prop
199
- * @param {string} newValue - The new value of the options prop
200
- */
201
172
  handleOptionsChange(newValue) {
202
173
  if (newValue) {
203
174
  try {
204
175
  const parsedOpts = JSON.parse(newValue);
205
176
  this.parsedOptions = [...parsedOpts];
206
- // Handle pre-selected option
207
177
  const selectedOption = this.parsedOptions.find(opt => opt.selected);
208
178
  if (selectedOption) {
209
179
  this.value = selectedOption.value;
210
- // Wait for items to be rendered
211
180
  requestAnimationFrame(() => {
181
+ // Wait for items to be rendered
212
182
  this.updateSelectedItem(selectedOption.value);
213
183
  });
214
184
  }
215
185
  }
216
186
  catch (error) {
217
- console.error('Error parsing options:', error);
187
+ console.error('nv-fielddropdown: error parsing options:', error);
218
188
  this.parsedOptions = [];
219
189
  }
220
190
  }
@@ -222,52 +192,68 @@ const NVFieldDropDown = /*@__PURE__*/ proxyCustomElement(class NVFieldDropDown e
222
192
  this.parsedOptions = [];
223
193
  }
224
194
  }
225
- //#endregion EVENTS
226
- /****************************************************************************/
227
- //#region METHODS
228
- componentWillLoad() {
229
- // Initialize options if provided
230
- if (this.options) {
231
- this.handleOptionsChange(this.options);
232
- }
233
- if (this.value) {
234
- // If an initial value exists, set it as selected
235
- this.updateSelectedItem(this.value);
195
+ handleBlur(event) {
196
+ const target = event.relatedTarget;
197
+ if (!(target instanceof Node) || !this.el.contains(target)) {
198
+ this.open = false;
236
199
  }
237
200
  }
238
- componentDidLoad() {
239
- document.addEventListener('click', this.handleClickOutside.bind(this));
240
- // Check again after complete rendering
241
- if (this.value) {
242
- this.updateSelectedItem(this.value);
201
+ handleKeyDown(event) {
202
+ if (!this.open) {
203
+ if (event.key === 'ArrowDown') {
204
+ this.open = true;
205
+ if (!this.filterable) {
206
+ // Focus on the first item if it is not filterable
207
+ this.focusFirstItem();
208
+ }
209
+ event.preventDefault();
210
+ return;
211
+ }
212
+ return;
213
+ }
214
+ const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitem:not([data-empty])'));
215
+ if (items.length === 0) {
216
+ console.warn('No dropdown items found to navigate');
217
+ return;
218
+ }
219
+ let currentIndex = items.findIndex(item => item.classList.contains('highlighted'));
220
+ if (event.key === 'ArrowDown') {
221
+ event.preventDefault();
222
+ currentIndex = (currentIndex + 1) % items.length;
223
+ this.updateHighlightedItem(items, currentIndex);
224
+ }
225
+ else if (event.key === 'ArrowUp') {
226
+ event.preventDefault();
227
+ currentIndex = (currentIndex - 1 + items.length) % items.length;
228
+ this.updateHighlightedItem(items, currentIndex);
229
+ }
230
+ else if (event.key === 'Escape') {
231
+ event.preventDefault();
232
+ this.open = false;
233
+ if (this.inputElement) {
234
+ this.inputElement.blur();
235
+ }
243
236
  }
244
237
  }
238
+ //#endregion EVENTS
239
+ /****************************************************************************/
240
+ //#region METHODS
245
241
  /**
246
- * Subscribe to click outside event.
242
+ * Retrieves the current filter text entered by the user.
243
+ * @returns {string} The filter text.
247
244
  */
248
- connectedCallback() {
249
- document.addEventListener('click', this.handleClickOutside.bind(this));
250
- // First, reset the filter to ensure all elements are visible
251
- this.resetFilter();
252
- // Then, handle the pre-selection
253
- this.setInitialSelection();
254
- // Finally, apply the filter if needed
255
- if (this.filterable && this.filterText) {
256
- this.filterItems();
257
- }
245
+ async getFilterText() {
246
+ return this.filterText;
258
247
  }
259
248
  /**
260
- * Set the initial selection based on the current value and update the inputElement value.
249
+ * Set the initial selection based on the current value and update the
250
+ * inputElement value.
261
251
  */
262
252
  setInitialSelection() {
263
- var _a;
253
+ if (!this.value)
254
+ return;
264
255
  const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitem'));
265
- const selectedItem = items.find(item => {
266
- var _a;
267
- return item.getAttribute('label') === this.value ||
268
- item.getAttribute('value') === this.value ||
269
- ((_a = item.textContent) === null || _a === void 0 ? void 0 : _a.trim()) === this.value;
270
- });
256
+ const selectedItem = items.find(item => item.getAttribute('value') === this.value);
271
257
  items.forEach(item => {
272
258
  item.removeAttribute('selected');
273
259
  item.classList.remove('selected');
@@ -275,11 +261,7 @@ const NVFieldDropDown = /*@__PURE__*/ proxyCustomElement(class NVFieldDropDown e
275
261
  if (selectedItem) {
276
262
  selectedItem.setAttribute('selected', 'true');
277
263
  selectedItem.classList.add('selected');
278
- this.value =
279
- selectedItem.getAttribute('label') ||
280
- selectedItem.getAttribute('value') ||
281
- ((_a = selectedItem.textContent) === null || _a === void 0 ? void 0 : _a.trim()) ||
282
- '';
264
+ this.value = selectedItem.getAttribute('value');
283
265
  if (this.inputElement) {
284
266
  this.inputElement.value = this.value;
285
267
  }
@@ -288,12 +270,6 @@ const NVFieldDropDown = /*@__PURE__*/ proxyCustomElement(class NVFieldDropDown e
288
270
  console.warn('No matching item found for value:', this.value);
289
271
  }
290
272
  }
291
- /**
292
- * Unsubscribe from click outside event.
293
- */
294
- disconnectedCallback() {
295
- document.removeEventListener('click', this.handleClickOutside.bind(this));
296
- }
297
273
  /**
298
274
  * Filter dropdown items based on the text entered by the user.
299
275
  * If no items are found, display a message indicating no results.
@@ -325,97 +301,26 @@ const NVFieldDropDown = /*@__PURE__*/ proxyCustomElement(class NVFieldDropDown e
325
301
  const emptyItem = document.createElement('nv-fielddropdownitem');
326
302
  emptyItem.setAttribute('data-empty', 'true');
327
303
  emptyItem.setAttribute('disabled', 'true');
328
- emptyItem.textContent = this.emptyresult;
304
+ emptyItem.textContent = this.emptyResult;
329
305
  (_a = this.el.querySelector('ul[slot="content"]')) === null || _a === void 0 ? void 0 : _a.appendChild(emptyItem);
330
306
  }
331
307
  }
332
- /**
333
- * Reset the filter and make all items visible.
334
- */
308
+ /** Reset the filter and make all items visible. */
335
309
  resetFilter() {
336
310
  const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitem'));
337
311
  items.forEach(item => {
338
312
  item.style.display = '';
339
313
  });
340
314
  }
341
- /**
342
- * Retrieves the current filter text entered by the user.
343
- * @returns {string} The filter text.
344
- */
345
- async getFilterText() {
346
- return this.filterText;
347
- }
348
- /**
349
- * Handle click outside the component.
350
- * @param {MouseEvent} event - The click event.
351
- */
352
- handleClickOutside(event) {
353
- if (this.el.contains(event.target) ||
354
- (this.inputElement && this.inputElement.contains(event.target))) {
355
- return;
356
- }
357
- this.popoverElement.hide();
358
- }
359
- handleKeyDown(event) {
360
- if (!this.open) {
361
- if (event.key === 'ArrowDown') {
362
- this.open = true;
363
- this.popoverElement.show();
364
- if (!this.filterable) {
365
- // Focus on the first item if it is not filterable
366
- this.focusFirstItem();
367
- }
368
- event.preventDefault();
369
- return;
370
- }
371
- return;
372
- }
373
- // Verify if the popover is defined before looking for items
374
- if (!this.popoverElement) {
375
- console.warn('Popover element is not defined');
376
- return;
377
- }
378
- const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitem:not([data-empty])'));
379
- // Verify if items exist
380
- if (items.length === 0) {
381
- console.warn('No dropdown items found to navigate');
382
- return;
383
- }
384
- let currentIndex = items.findIndex(item => item.classList.contains('highlighted'));
385
- if (event.key === 'ArrowDown') {
386
- event.preventDefault();
387
- currentIndex = (currentIndex + 1) % items.length;
388
- this.updateHighlightedItem(items, currentIndex);
389
- }
390
- else if (event.key === 'ArrowUp') {
391
- event.preventDefault();
392
- currentIndex = (currentIndex - 1 + items.length) % items.length;
393
- this.updateHighlightedItem(items, currentIndex);
394
- }
395
- else if (event.key === 'Enter' && currentIndex >= 0) {
396
- event.preventDefault();
397
- items[currentIndex].click();
398
- }
399
- else if (event.key === 'Escape') {
400
- event.preventDefault();
401
- this.open = false;
402
- this.popoverElement.hide();
403
- if (this.inputElement) {
404
- this.inputElement.blur();
405
- }
406
- }
407
- }
408
315
  updateHighlightedItem(items, index) {
409
316
  items.forEach((item, i) => {
410
317
  if (i === index) {
411
318
  item.classList.add('highlighted');
412
- item.setAttribute('tabindex', '0');
413
- item.focus(); // Forcer le focus ici
319
+ item.focus();
414
320
  item.scrollIntoView({ block: 'nearest' });
415
321
  }
416
322
  else {
417
323
  item.classList.remove('highlighted');
418
- item.setAttribute('tabindex', '-1');
419
324
  }
420
325
  });
421
326
  }
@@ -426,17 +331,11 @@ const NVFieldDropDown = /*@__PURE__*/ proxyCustomElement(class NVFieldDropDown e
426
331
  this.updateHighlightedItem(Array.from(this.el.querySelectorAll('nv-fielddropdownitem')), 0);
427
332
  }
428
333
  else {
429
- console.warn('No first item found to focus');
334
+ console.warn('nv-fielddropdown: no first item found to focus');
430
335
  }
431
336
  }
432
337
  updateSelectedItem(value) {
433
338
  const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitem'));
434
- // Reset all items
435
- items.forEach(item => {
436
- item.removeAttribute('selected');
437
- item.classList.remove('selected');
438
- });
439
- // Find the item matching the value
440
339
  const matchingItem = items.find(item => {
441
340
  var _a;
442
341
  const itemLabel = item.getAttribute('label');
@@ -444,30 +343,54 @@ const NVFieldDropDown = /*@__PURE__*/ proxyCustomElement(class NVFieldDropDown e
444
343
  const itemText = (_a = item.textContent) === null || _a === void 0 ? void 0 : _a.trim();
445
344
  return itemLabel === value || itemValue === value || itemText === value;
446
345
  });
447
- if (matchingItem) {
448
- // Mark the item as selected
449
- matchingItem.setAttribute('selected', 'true');
450
- matchingItem.classList.add('selected');
451
- // Update the input
452
- if (this.inputElement) {
453
- this.inputElement.value = value;
346
+ items.forEach(item => {
347
+ if (item === matchingItem) {
348
+ item.setAttribute('selected', '');
349
+ }
350
+ else {
351
+ item.removeAttribute('selected');
454
352
  }
455
- // Emit the selection event
456
- this.dropdownItemSelected.emit({
457
- value: value,
458
- label: matchingItem.getAttribute('label') || value,
459
- selected: true,
460
- disabled: matchingItem.hasAttribute('disabled'),
461
- });
353
+ });
354
+ if (matchingItem && this.inputElement) {
355
+ this.inputElement.value = value;
462
356
  }
463
357
  }
464
358
  //#endregion METHODS
465
359
  /****************************************************************************/
360
+ //#region LIFECYCLE
361
+ connectedCallback() {
362
+ document.addEventListener('click', this.handleClickOutside.bind(this));
363
+ this.resetFilter();
364
+ this.setInitialSelection();
365
+ if (this.filterable && this.filterText) {
366
+ this.filterItems();
367
+ }
368
+ }
369
+ componentWillLoad() {
370
+ if (this.options) {
371
+ this.handleOptionsChange(this.options);
372
+ }
373
+ if (this.value) {
374
+ this.updateSelectedItem(this.value);
375
+ }
376
+ }
377
+ componentDidLoad() {
378
+ document.addEventListener('click', this.handleClickOutside.bind(this));
379
+ // Check again after complete rendering
380
+ if (this.value) {
381
+ this.updateSelectedItem(this.value);
382
+ }
383
+ }
384
+ disconnectedCallback() {
385
+ document.removeEventListener('click', this.handleClickOutside.bind(this));
386
+ }
387
+ //#endregion LIFECYCLE
388
+ /****************************************************************************/
466
389
  //#region RENDER
467
390
  render() {
468
- return (h(Host, { key: '9e43d5dee909615ce58a1b64e571e661ccdb4110' }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: '29ffcbf274cb1b0fc8c80e43ffe623f26f3096a3', htmlFor: this.inputId }, h("slot", { key: '8e27c4d52d2ce610f8effcae32a9ee6ade400706', name: "label" }, this.label))), h("nv-popover", { key: '5247b86cd12e74382a9301cac81f861370a8ba98', ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, h("div", { key: '92d59151fc3400a38971a860f73fc43d8f9b92a0', class: "input-wrapper", slot: "trigger" }, h("slot", { key: '9810c88233a55840334a7a57e6626ab17b48a565', name: "before-input" }), h("div", { key: '2670bb58b928b2fcb98f2da6501b852df83c6790', class: "input-container", onClick: this.handleInputContainerClick }, h("slot", { key: 'a66ce39a54b100c2afd9f90daf3777293e59adbb', name: "leading-input" }), this.isFilterable || this.disabled || this.readonly ? (h("input", { id: this.inputId, type: "search", 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.handleInput, onFocus: this.handleInputFocus, onBlur: this.handleInputBlur, onKeyDown: this.handleKeyDown })) : (h("p", { id: this.inputId, class: "non-filterable-text", onClick: this.handleInputContainerClick, tabIndex: 0, onKeyDown: this.handleKeyDown, onFocus: this.handleInputFocus }, h("span", null, this.value || this.placeholder))), h("nv-iconbutton", { key: '41a66e981d964b0b8492a74a17b242766a67a5e1', class: "toggle-dropdown-icon", 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 })), h("slot", { key: '7555c854f681c5fad08f48d77f64483245804280', name: "after-input" })), h("div", { key: 'cf179ec57b0a51e970e1e763ce63d34e23481f40', slot: "content" }, h("ul", { key: '843c7aeccc847171266f36209808d7b3e9b30f08', slot: "content" }, this.parsedOptions.length > 0 ? (this.parsedOptions.map(option => (h("nv-fielddropdownitem", { label: option.label, value: option.value, disabled: option.disabled, selected: option.value === this.value })))) : (h("slot", { name: "content" }))))), (this.description ||
469
- this.el.querySelector('[slot="description"]')) && (h("div", { key: '04e05d9f19e2a932c10ffd63762aa4c0218efe2f', class: "description" }, h("slot", { key: '19c66921ebb6e041ffd7324a3e31a3ed76750590', name: "description" }, this.description))), (this.errorDescription ||
470
- this.el.querySelector('[slot="error-description"]')) && (h("div", { key: 'e2d3829e8469d0ae5da3bbe1942de809f17b7ee8', hidden: !this.error, class: "error-description" }, h("slot", { key: 'd4b83f3b8345cc941c1f3058ddee103f36625974', name: "error-description" }, this.errorDescription)))));
391
+ return (h(Host, { key: '99855b7abf6a00da6e086f2ad69bd95fe096bd50' }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: '36453f817c5a428f55b0d3b344848fefb614ad76', htmlFor: this.inputId }, h("slot", { key: 'a4373ba2f11246c05926b4c1b42af627edb69418', name: "label" }, this.label))), h("nv-popover", { key: '5325f5dbb84f5aab2d52afb0cbf9c2363899c5af', ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, h("div", { key: '9925e66e8222adf7471c12eb3c3a94b320f97d4a', class: "input-wrapper", slot: "trigger" }, h("slot", { key: 'ec55d54c546beef866e0afe9b0593ad4b0b1af94', name: "before-input" }), h("div", { key: '0a0114905e4452ff8a2c7442478d1a0a42c1b058', class: "input-container", onClick: this.handleInputContainerClick }, h("slot", { key: 'b8745ddd519c940f95aad372976b4c4b3dd15b10', name: "leading-input" }), this.isFilterable || this.disabled || this.readonly ? (h("input", { 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, onKeyDown: this.handleKeyDown })) : (h("p", { id: this.inputId, class: "non-filterable-text", onClick: this.handleInputContainerClick, tabIndex: this.disabled ? -1 : 0, onKeyDown: this.handleKeyDown, onFocus: this.handleInputFocus }, h("span", null, this.getSelectedLabel() || this.value || this.placeholder))), h("nv-iconbutton", { key: 'f5b99e6b87c13f131bc212936778e85e5a953788', class: "toggle-dropdown-icon", 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 })), h("slot", { key: 'f1f21795ba6f40193c7c57c5c585315b732a13e1', name: "after-input" })), h("div", { key: '147ce233da3d6c6e118b476eca1ed943bb20951f', slot: "content" }, this.parsedOptions.length > 0 ? (h("ul", null, this.parsedOptions.map(option => (h("nv-fielddropdownitem", { label: option.label, value: option.value, disabled: option.disabled, selected: option.value === this.value }))))) : (h("slot", { name: "content" })))), (this.description ||
392
+ this.el.querySelector('[slot="description"]')) && (h("div", { key: '4e5978d880fd207281e9fa2b1f283c851798b25d', class: "description" }, h("slot", { key: '8c80ef894500189da8944e7abbba9957ea411820', name: "description" }, this.description))), (this.errorDescription ||
393
+ this.el.querySelector('[slot="error-description"]')) && (h("div", { key: '22d0d1c7a84b56978e330c4bb7f073ef221e0fb9', hidden: !this.error, class: "error-description" }, h("slot", { key: 'fe4769ff4c96e525b5f0fca55ed0afbe5d837ac3', name: "error-description" }, this.errorDescription)))));
471
394
  }
472
395
  static get formAssociated() { return true; }
473
396
  get el() { return this; }
@@ -491,15 +414,16 @@ const NVFieldDropDown = /*@__PURE__*/ proxyCustomElement(class NVFieldDropDown e
491
414
  "errorDescription": [513, "error-description"],
492
415
  "readonly": [516],
493
416
  "disabled": [516],
494
- "emptyresult": [513],
417
+ "emptyResult": [513, "empty-result"],
495
418
  "filterable": [1540],
496
419
  "options": [513],
420
+ "autofocus": [516],
497
421
  "filterText": [32],
498
422
  "isFilterable": [32],
499
423
  "selectedValues": [32],
500
424
  "parsedOptions": [32],
501
425
  "getFilterText": [64]
502
- }, [[0, "itemSelected", "handleItemSelected"], [0, "openChanged", "handleOpenChanged"], [0, "keydown", "handleKeyDown"]], {
426
+ }, [[0, "dropdownItemSelected", "handleDropdownItemSelected"], [0, "openChanged", "handleOpenChanged"], [2, "blur", "handleBlur"], [0, "keydown", "handleKeyDown"]], {
503
427
  "filterable": ["watchFilterableHandler"],
504
428
  "value": ["watchValueHandler"],
505
429
  "options": ["handleOptionsChange"]
@@ -512,7 +436,7 @@ function defineCustomElement$1() {
512
436
  components.forEach(tagName => { switch (tagName) {
513
437
  case "nv-fielddropdown":
514
438
  if (!customElements.get(tagName)) {
515
- customElements.define(tagName, NVFieldDropDown);
439
+ customElements.define(tagName, NvFielddropdown$1);
516
440
  }
517
441
  break;
518
442
  case "nv-fielddropdownitem":
@@ -544,7 +468,7 @@ function defineCustomElement$1() {
544
468
  }
545
469
  defineCustomElement$1();
546
470
 
547
- const NvFielddropdown = NVFieldDropDown;
471
+ const NvFielddropdown = NvFielddropdown$1;
548
472
  const defineCustomElement = defineCustomElement$1;
549
473
 
550
474
  export { NvFielddropdown, defineCustomElement };