@nova-design-system/nova-webcomponents 3.0.0-beta.31 → 3.0.0-beta.33

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 (452) hide show
  1. package/dist/blazor-docs.json +370 -128
  2. package/dist/cjs/{app-globals-69764290.js → app-globals-6b0931bc.js} +2 -2
  3. package/dist/cjs/app-globals-6b0931bc.js.map +1 -0
  4. package/dist/cjs/{constants-33057c89.js → constants-9525a915.js} +7 -1
  5. package/dist/cjs/constants-9525a915.js.map +1 -0
  6. package/dist/cjs/{index-72b8a9ad.js → index-ddc37f87.js} +22 -10
  7. package/dist/cjs/index-ddc37f87.js.map +1 -0
  8. package/dist/cjs/index.cjs.js +1 -1
  9. package/dist/cjs/loader.cjs.js +3 -3
  10. package/dist/cjs/native.cjs.js +3 -3
  11. package/dist/cjs/nv-alert.cjs.entry.js +3 -3
  12. package/dist/cjs/nv-avatar.cjs.entry.js +4 -4
  13. package/dist/cjs/nv-avatar.cjs.entry.js.map +1 -1
  14. package/dist/cjs/nv-badge.cjs.entry.js +4 -4
  15. package/dist/cjs/nv-badge.cjs.entry.js.map +1 -1
  16. package/dist/cjs/nv-base.cjs.entry.js +2 -3
  17. package/dist/cjs/nv-base.cjs.entry.js.map +1 -1
  18. package/dist/cjs/nv-breadcrumb.cjs.entry.js +47 -0
  19. package/dist/cjs/nv-breadcrumb.cjs.entry.js.map +1 -0
  20. package/dist/cjs/nv-breadcrumbs.cjs.entry.js +23 -0
  21. package/dist/cjs/nv-breadcrumbs.cjs.entry.js.map +1 -0
  22. package/dist/cjs/nv-button.cjs.entry.js +4 -4
  23. package/dist/cjs/nv-button.cjs.entry.js.map +1 -1
  24. package/dist/cjs/nv-col.cjs.entry.js +2 -2
  25. package/dist/cjs/nv-datagrid.cjs.entry.js +4 -4
  26. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
  27. package/dist/cjs/nv-datagridbody.cjs.entry.js +2 -2
  28. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +2 -2
  29. package/dist/cjs/nv-datagriddatacell.cjs.entry.js +2 -2
  30. package/dist/cjs/nv-datagridhead.cjs.entry.js +2 -2
  31. package/dist/cjs/nv-datagridrow.cjs.entry.js +2 -2
  32. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +5 -5
  33. package/dist/cjs/nv-fielddropdown.cjs.entry.js +64 -25
  34. package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
  35. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +2 -2
  36. package/dist/cjs/nv-fieldnumber.cjs.entry.js +4 -4
  37. package/dist/cjs/nv-fieldpassword.cjs.entry.js +4 -4
  38. package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
  39. package/dist/cjs/nv-fieldradio.cjs.entry.js +4 -4
  40. package/dist/cjs/nv-fieldselect.cjs.entry.js +9 -9
  41. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
  42. package/dist/cjs/nv-fieldtext.cjs.entry.js +4 -4
  43. package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -1
  44. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +46 -44
  45. package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
  46. package/dist/cjs/nv-fieldtoggle.cjs.entry.js +3 -3
  47. package/dist/cjs/nv-icon.cjs.entry.js +3 -3
  48. package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
  49. package/dist/cjs/nv-iconbutton.cjs.entry.js +3 -3
  50. package/dist/cjs/nv-iconbutton.cjs.entry.js.map +1 -1
  51. package/dist/cjs/nv-loader.cjs.entry.js +2 -2
  52. package/dist/cjs/nv-menu.cjs.entry.js +7 -44
  53. package/dist/cjs/nv-menu.cjs.entry.js.map +1 -1
  54. package/dist/cjs/nv-menuitem.cjs.entry.js +30 -3
  55. package/dist/cjs/nv-menuitem.cjs.entry.js.map +1 -1
  56. package/dist/cjs/nv-popover.cjs.entry.js +21 -7
  57. package/dist/cjs/nv-popover.cjs.entry.js.map +1 -1
  58. package/dist/cjs/nv-row.cjs.entry.js +2 -2
  59. package/dist/cjs/nv-stack.cjs.entry.js +2 -2
  60. package/dist/cjs/nv-table.cjs.entry.js +3 -3
  61. package/dist/cjs/nv-tablebody.cjs.entry.js +2 -2
  62. package/dist/cjs/nv-tablecolumn.cjs.entry.js +2 -2
  63. package/dist/cjs/nv-tabledatacell.cjs.entry.js +2 -2
  64. package/dist/cjs/nv-tablehead.cjs.entry.js +2 -2
  65. package/dist/cjs/nv-tablerow.cjs.entry.js +2 -2
  66. package/dist/cjs/nv-tooltip.cjs.entry.js +6 -5
  67. package/dist/cjs/nv-tooltip.cjs.entry.js.map +1 -1
  68. package/dist/collection/collection-manifest.json +3 -1
  69. package/dist/collection/components/nv-alert/nv-alert.js +1 -1
  70. package/dist/collection/components/nv-avatar/nv-avatar.css +0 -33
  71. package/dist/collection/components/nv-avatar/nv-avatar.js +1 -1
  72. package/dist/collection/components/nv-badge/nv-badge.css +0 -33
  73. package/dist/collection/components/nv-badge/nv-badge.js +2 -2
  74. package/dist/collection/components/nv-base/nv-base.js +1 -2
  75. package/dist/collection/components/nv-base/nv-base.js.map +1 -1
  76. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.css +14 -0
  77. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.docs.js +6 -0
  78. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.docs.js.map +1 -0
  79. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js +111 -0
  80. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js.map +1 -0
  81. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.css +12 -0
  82. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js +34 -0
  83. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js.map +1 -0
  84. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js +22 -0
  85. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js.map +1 -0
  86. package/dist/collection/components/nv-button/nv-button.docs.js +5 -0
  87. package/dist/collection/components/nv-button/nv-button.docs.js.map +1 -1
  88. package/dist/collection/components/nv-button/nv-button.js +3 -3
  89. package/dist/collection/components/nv-button/nv-button.js.map +1 -1
  90. package/dist/collection/components/nv-button/{nv-button.css → styles/nv-button.css} +25 -60
  91. package/dist/collection/components/nv-col/nv-col.js +1 -1
  92. package/dist/collection/components/nv-datagrid/nv-datagrid.js +3 -3
  93. package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -1
  94. package/dist/collection/components/nv-datagridbody/nv-datagridbody.js +1 -1
  95. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +1 -1
  96. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.js +1 -1
  97. package/dist/collection/components/nv-datagridhead/nv-datagridhead.js +1 -1
  98. package/dist/collection/components/nv-datagridrow/nv-datagridrow.js +1 -1
  99. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +4 -4
  100. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.css +13 -9
  101. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +8 -19
  102. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +1 -1
  103. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +63 -24
  104. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
  105. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +1 -1
  106. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +3 -3
  107. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +5 -5
  108. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js.map +1 -1
  109. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
  110. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +10 -10
  111. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js.map +1 -1
  112. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +1 -1
  113. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +1 -1
  114. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +5 -5
  115. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +1 -1
  116. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +46 -42
  117. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js.map +1 -1
  118. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.js +2 -2
  119. package/dist/collection/components/nv-icon/nv-icon.js +3 -3
  120. package/dist/collection/components/nv-icon/nv-icon.js.map +1 -1
  121. package/dist/collection/components/nv-icon/{nv-icon.css → styles/nv-icon.css} +0 -1
  122. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +10 -4
  123. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js.map +1 -1
  124. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  125. package/dist/collection/components/nv-menu/nv-menu.js +11 -48
  126. package/dist/collection/components/nv-menu/nv-menu.js.map +1 -1
  127. package/dist/collection/components/nv-menuitem/nv-menuitem.js +88 -4
  128. package/dist/collection/components/nv-menuitem/nv-menuitem.js.map +1 -1
  129. package/dist/collection/components/nv-popover/nv-popover.js +20 -6
  130. package/dist/collection/components/nv-popover/nv-popover.js.map +1 -1
  131. package/dist/collection/components/nv-row/nv-row.js +1 -1
  132. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  133. package/dist/collection/components/nv-table/nv-table.js +2 -2
  134. package/dist/collection/components/nv-tablebody/nv-tablebody.js +1 -1
  135. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js +1 -1
  136. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.js +1 -1
  137. package/dist/collection/components/nv-tablehead/nv-tablehead.js +1 -1
  138. package/dist/collection/components/nv-tablerow/nv-tablerow.js +1 -1
  139. package/dist/collection/components/nv-tooltip/nv-tooltip.js +31 -4
  140. package/dist/collection/components/nv-tooltip/nv-tooltip.js.map +1 -1
  141. package/dist/collection/dev/dev-components.js +1 -1
  142. package/dist/collection/dev/dev-components.js.map +1 -1
  143. package/dist/collection/templates/navigation.docs.js +13 -0
  144. package/dist/collection/templates/navigation.docs.js.map +1 -0
  145. package/dist/collection/utils/constants.js +5 -0
  146. package/dist/collection/utils/constants.js.map +1 -1
  147. package/dist/components/index.js +4 -4
  148. package/dist/components/nv-alert.js +4 -4
  149. package/dist/components/nv-avatar.js +5 -5
  150. package/dist/components/nv-avatar.js.map +1 -1
  151. package/dist/components/nv-badge.js +5 -5
  152. package/dist/components/nv-badge.js.map +1 -1
  153. package/dist/components/nv-base.js +2 -3
  154. package/dist/components/nv-base.js.map +1 -1
  155. package/dist/components/nv-breadcrumb.d.ts +11 -0
  156. package/dist/components/nv-breadcrumb.js +83 -0
  157. package/dist/components/nv-breadcrumb.js.map +1 -0
  158. package/dist/components/nv-breadcrumbs.d.ts +11 -0
  159. package/dist/components/nv-breadcrumbs.js +37 -0
  160. package/dist/components/nv-breadcrumbs.js.map +1 -0
  161. package/dist/components/nv-button.js +5 -5
  162. package/dist/components/nv-button.js.map +1 -1
  163. package/dist/components/nv-col.js +2 -2
  164. package/dist/components/nv-datagrid.js +4 -4
  165. package/dist/components/nv-datagrid.js.map +1 -1
  166. package/dist/components/nv-datagridbody.js +2 -2
  167. package/dist/components/nv-datagridcolumn.js +2 -2
  168. package/dist/components/nv-datagriddatacell.js +2 -2
  169. package/dist/components/nv-datagridhead.js +2 -2
  170. package/dist/components/nv-datagridrow.js +2 -2
  171. package/dist/components/nv-fieldcheckbox.js +5 -5
  172. package/dist/components/nv-fielddropdown.js +69 -30
  173. package/dist/components/nv-fielddropdown.js.map +1 -1
  174. package/dist/components/nv-fielddropdownitem.js +1 -1
  175. package/dist/components/nv-fieldnumber.js +5 -5
  176. package/dist/components/nv-fieldpassword.js +7 -7
  177. package/dist/components/nv-fieldpassword.js.map +1 -1
  178. package/dist/components/nv-fieldradio.js +4 -4
  179. package/dist/components/nv-fieldselect.js +11 -11
  180. package/dist/components/nv-fieldselect.js.map +1 -1
  181. package/dist/components/nv-fieldtext.js +5 -5
  182. package/dist/components/nv-fieldtext.js.map +1 -1
  183. package/dist/components/nv-fieldtextarea.js +48 -45
  184. package/dist/components/nv-fieldtextarea.js.map +1 -1
  185. package/dist/components/nv-fieldtoggle.js +3 -3
  186. package/dist/components/nv-icon.js +1 -1
  187. package/dist/components/nv-iconbutton.js +1 -1
  188. package/dist/components/nv-loader.js +1 -1
  189. package/dist/components/nv-menu.js +9 -46
  190. package/dist/components/nv-menu.js.map +1 -1
  191. package/dist/components/nv-menuitem.js +34 -6
  192. package/dist/components/nv-menuitem.js.map +1 -1
  193. package/dist/components/nv-popover.js +1 -1
  194. package/dist/components/nv-row.js +2 -2
  195. package/dist/components/nv-stack.js +2 -2
  196. package/dist/components/nv-table.js +3 -3
  197. package/dist/components/nv-tablebody.js +2 -2
  198. package/dist/components/nv-tablecolumn.js +2 -2
  199. package/dist/components/nv-tabledatacell.js +2 -2
  200. package/dist/components/nv-tablehead.js +2 -2
  201. package/dist/components/nv-tablerow.js +2 -2
  202. package/dist/components/nv-tooltip.js +1 -63
  203. package/dist/components/nv-tooltip.js.map +1 -1
  204. package/dist/components/{p-ca5c171f.js → p-09a2a880.js} +4 -4
  205. package/dist/components/{p-ca5c171f.js.map → p-09a2a880.js.map} +1 -1
  206. package/dist/components/{p-f0d5586a.js → p-0cdf2cc7.js} +6 -6
  207. package/dist/components/p-0cdf2cc7.js.map +1 -0
  208. package/dist/components/{p-c08a278d.js → p-3a65a05e.js} +6 -2
  209. package/dist/components/p-3a65a05e.js.map +1 -0
  210. package/dist/components/{p-0caa4741.js → p-3b209e94.js} +17 -3
  211. package/dist/components/{p-c08a278d.js.map → p-3b209e94.js.map} +1 -1
  212. package/dist/{esm/constants-e9bee611.js → components/p-74407727.js} +7 -1
  213. package/dist/components/p-74407727.js.map +1 -0
  214. package/dist/components/{p-39e93e5b.js → p-a61d9ce8.js} +4 -4
  215. package/dist/{native/p-d4277c50.entry.js.map → components/p-a61d9ce8.js.map} +1 -1
  216. package/dist/components/{p-3ef4ded9.js → p-b7462fc2.js} +3 -3
  217. package/dist/components/{p-3ef4ded9.js.map → p-b7462fc2.js.map} +1 -1
  218. package/dist/components/{p-1fa35ae5.js → p-ce67d70c.js} +23 -9
  219. package/dist/components/p-ce67d70c.js.map +1 -0
  220. package/dist/components/p-e7131c30.js +69 -0
  221. package/dist/components/p-e7131c30.js.map +1 -0
  222. package/dist/docs.json +377 -143
  223. package/dist/esm/{app-globals-c5484a00.js → app-globals-246d6b7c.js} +2 -2
  224. package/dist/esm/app-globals-246d6b7c.js.map +1 -0
  225. package/dist/{components/p-a15ddd42.js → esm/constants-7b642e1d.js} +7 -1
  226. package/dist/esm/constants-7b642e1d.js.map +1 -0
  227. package/dist/esm/{index-b6f70e4a.js → index-cd557d0a.js} +22 -10
  228. package/dist/esm/index-cd557d0a.js.map +1 -0
  229. package/dist/esm/index.js +1 -1
  230. package/dist/esm/loader.js +4 -4
  231. package/dist/esm/native.js +4 -4
  232. package/dist/esm/nv-alert.entry.js +3 -3
  233. package/dist/esm/nv-avatar.entry.js +4 -4
  234. package/dist/esm/nv-avatar.entry.js.map +1 -1
  235. package/dist/esm/nv-badge.entry.js +4 -4
  236. package/dist/esm/nv-badge.entry.js.map +1 -1
  237. package/dist/esm/nv-base.entry.js +2 -3
  238. package/dist/esm/nv-base.entry.js.map +1 -1
  239. package/dist/esm/nv-breadcrumb.entry.js +43 -0
  240. package/dist/esm/nv-breadcrumb.entry.js.map +1 -0
  241. package/dist/esm/nv-breadcrumbs.entry.js +19 -0
  242. package/dist/esm/nv-breadcrumbs.entry.js.map +1 -0
  243. package/dist/esm/nv-button.entry.js +4 -4
  244. package/dist/esm/nv-button.entry.js.map +1 -1
  245. package/dist/esm/nv-col.entry.js +2 -2
  246. package/dist/esm/nv-datagrid.entry.js +4 -4
  247. package/dist/esm/nv-datagrid.entry.js.map +1 -1
  248. package/dist/esm/nv-datagridbody.entry.js +2 -2
  249. package/dist/esm/nv-datagridcolumn.entry.js +2 -2
  250. package/dist/esm/nv-datagriddatacell.entry.js +2 -2
  251. package/dist/esm/nv-datagridhead.entry.js +2 -2
  252. package/dist/esm/nv-datagridrow.entry.js +2 -2
  253. package/dist/esm/nv-fieldcheckbox.entry.js +5 -5
  254. package/dist/esm/nv-fielddropdown.entry.js +64 -25
  255. package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
  256. package/dist/esm/nv-fielddropdownitem.entry.js +2 -2
  257. package/dist/esm/nv-fieldnumber.entry.js +4 -4
  258. package/dist/esm/nv-fieldpassword.entry.js +4 -4
  259. package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
  260. package/dist/esm/nv-fieldradio.entry.js +4 -4
  261. package/dist/esm/nv-fieldselect.entry.js +9 -9
  262. package/dist/esm/nv-fieldselect.entry.js.map +1 -1
  263. package/dist/esm/nv-fieldtext.entry.js +4 -4
  264. package/dist/esm/nv-fieldtext.entry.js.map +1 -1
  265. package/dist/esm/nv-fieldtextarea.entry.js +46 -44
  266. package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
  267. package/dist/esm/nv-fieldtoggle.entry.js +3 -3
  268. package/dist/esm/nv-icon.entry.js +3 -3
  269. package/dist/esm/nv-icon.entry.js.map +1 -1
  270. package/dist/esm/nv-iconbutton.entry.js +3 -3
  271. package/dist/esm/nv-iconbutton.entry.js.map +1 -1
  272. package/dist/esm/nv-loader.entry.js +2 -2
  273. package/dist/esm/nv-menu.entry.js +7 -44
  274. package/dist/esm/nv-menu.entry.js.map +1 -1
  275. package/dist/esm/nv-menuitem.entry.js +30 -3
  276. package/dist/esm/nv-menuitem.entry.js.map +1 -1
  277. package/dist/esm/nv-popover.entry.js +22 -8
  278. package/dist/esm/nv-popover.entry.js.map +1 -1
  279. package/dist/esm/nv-row.entry.js +2 -2
  280. package/dist/esm/nv-stack.entry.js +2 -2
  281. package/dist/esm/nv-table.entry.js +3 -3
  282. package/dist/esm/nv-tablebody.entry.js +2 -2
  283. package/dist/esm/nv-tablecolumn.entry.js +2 -2
  284. package/dist/esm/nv-tabledatacell.entry.js +2 -2
  285. package/dist/esm/nv-tablehead.entry.js +2 -2
  286. package/dist/esm/nv-tablerow.entry.js +2 -2
  287. package/dist/esm/nv-tooltip.entry.js +6 -5
  288. package/dist/esm/nv-tooltip.entry.js.map +1 -1
  289. package/dist/native/index.esm.js +1 -1
  290. package/dist/native/native.css +1 -1
  291. package/dist/native/native.esm.js +1 -1
  292. package/dist/native/native.esm.js.map +1 -1
  293. package/dist/native/p-0710efd7.entry.js +2 -0
  294. package/dist/native/p-0710efd7.entry.js.map +1 -0
  295. package/dist/native/p-0f9262ed.entry.js +2 -0
  296. package/dist/native/{p-dacd68ab.entry.js → p-10a06059.entry.js} +2 -2
  297. package/dist/native/p-10a06059.entry.js.map +1 -0
  298. package/dist/native/p-132b8588.entry.js +2 -0
  299. package/dist/native/{p-c5e3e234.entry.js.map → p-132b8588.entry.js.map} +1 -1
  300. package/dist/native/p-2063c768.entry.js +2 -0
  301. package/dist/native/p-2063c768.entry.js.map +1 -0
  302. package/dist/native/p-2ac838b8.entry.js +2 -0
  303. package/dist/native/p-2ac838b8.entry.js.map +1 -0
  304. package/dist/native/p-38d3eee3.js +2 -0
  305. package/dist/native/p-38d3eee3.js.map +1 -0
  306. package/dist/native/{p-d4277c50.entry.js → p-3e9521a0.entry.js} +2 -2
  307. package/dist/native/p-3e9521a0.entry.js.map +1 -0
  308. package/dist/native/{p-11faaf31.entry.js → p-40f4828a.entry.js} +2 -2
  309. package/dist/native/p-44cc8b59.entry.js +2 -0
  310. package/dist/native/p-44cc8b59.entry.js.map +1 -0
  311. package/dist/native/p-45aa0c68.entry.js +2 -0
  312. package/dist/native/p-45aa0c68.entry.js.map +1 -0
  313. package/dist/native/p-4f30312d.entry.js +2 -0
  314. package/dist/native/p-4f30312d.entry.js.map +1 -0
  315. package/dist/native/p-52a7f936.entry.js +2 -0
  316. package/dist/native/{p-50c31094.entry.js → p-5d0dc7c8.entry.js} +2 -2
  317. package/dist/native/p-5d67a825.entry.js +2 -0
  318. package/dist/native/{p-47c78fe4.entry.js.map → p-5d67a825.entry.js.map} +1 -1
  319. package/dist/native/p-5e467b49.entry.js +2 -0
  320. package/dist/native/p-6c1b9c89.entry.js +2 -0
  321. package/dist/native/{p-b3ec71c9.entry.js.map → p-6c1b9c89.entry.js.map} +1 -1
  322. package/dist/native/p-74407727.js +2 -0
  323. package/dist/native/p-74407727.js.map +1 -0
  324. package/dist/native/{p-df6c9137.entry.js → p-74778f5f.entry.js} +2 -2
  325. package/dist/native/p-87b93cc2.entry.js +2 -0
  326. package/dist/native/p-8f0984b0.entry.js +2 -0
  327. package/dist/native/p-8f0984b0.entry.js.map +1 -0
  328. package/dist/native/p-907c3eda.entry.js +2 -0
  329. package/dist/native/p-91d4b4d7.entry.js +2 -0
  330. package/dist/native/{p-9f89229b.entry.js → p-9341cf9d.entry.js} +2 -2
  331. package/dist/native/{p-6ef216c4.js → p-9b093b92.js} +3 -3
  332. package/dist/native/p-9b093b92.js.map +1 -0
  333. package/dist/native/{p-31367928.entry.js → p-9cef006d.entry.js} +2 -2
  334. package/dist/native/{p-01262eaf.entry.js → p-a9b6461b.entry.js} +2 -2
  335. package/dist/native/p-a9b6461b.entry.js.map +1 -0
  336. package/dist/native/{p-a89f5542.entry.js → p-b902c7c0.entry.js} +2 -2
  337. package/dist/native/p-bbc45099.entry.js +2 -0
  338. package/dist/native/{p-919cf3ec.entry.js → p-c59e3500.entry.js} +2 -2
  339. package/dist/native/{p-4a64f5b0.entry.js → p-d0f83d1f.entry.js} +2 -2
  340. package/dist/native/{p-4a64f5b0.entry.js.map → p-d0f83d1f.entry.js.map} +1 -1
  341. package/dist/native/p-e390557d.entry.js +2 -0
  342. package/dist/native/p-e390557d.entry.js.map +1 -0
  343. package/dist/native/p-e56d3715.entry.js +2 -0
  344. package/dist/native/p-e56d3715.entry.js.map +1 -0
  345. package/dist/native/{p-e05b0c4a.entry.js → p-e5fbe545.entry.js} +2 -2
  346. package/dist/native/p-eade52d4.entry.js +2 -0
  347. package/dist/native/p-eade52d4.entry.js.map +1 -0
  348. package/dist/native/p-eda8cd9d.entry.js +2 -0
  349. package/dist/native/p-ee78addb.entry.js +2 -0
  350. package/dist/native/p-ee78addb.entry.js.map +1 -0
  351. package/dist/native/p-f1545844.entry.js +2 -0
  352. package/dist/native/p-f1545844.entry.js.map +1 -0
  353. package/dist/native/{p-6eb50254.entry.js → p-f2ea8aa9.entry.js} +2 -2
  354. package/dist/native/{p-6eb50254.entry.js.map → p-f2ea8aa9.entry.js.map} +1 -1
  355. package/dist/native/p-f42e87b5.entry.js +2 -0
  356. package/dist/native/{p-0bf2007c.entry.js → p-f4ecacf6.entry.js} +2 -2
  357. package/dist/native/{p-c85d031d.entry.js → p-f7db0785.entry.js} +3 -3
  358. package/dist/native/{p-c85d031d.entry.js.map → p-f7db0785.entry.js.map} +1 -1
  359. package/dist/types/components/nv-base/nv-base.docs.d.ts +1 -1
  360. package/dist/types/components/nv-breadcrumb/nv-breadcrumb.d.ts +30 -0
  361. package/dist/types/components/nv-breadcrumb/nv-breadcrumb.docs.d.ts +4 -0
  362. package/dist/types/components/nv-breadcrumbs/nv-breadcrumbs.d.ts +6 -0
  363. package/dist/types/components/nv-breadcrumbs/nv-breadcrumbs.docs.d.ts +4 -0
  364. package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +4 -1
  365. package/dist/types/components/nv-fieldpassword/nv-fieldpassword.d.ts +1 -1
  366. package/dist/types/components/nv-fieldselect/nv-fieldselect.d.ts +1 -1
  367. package/dist/types/components/nv-fieldtext/nv-fieldtext.d.ts +1 -1
  368. package/dist/types/components/nv-fieldtextarea/nv-fieldtextarea.d.ts +5 -9
  369. package/dist/types/components/nv-iconbutton/nv-iconbutton.d.ts +2 -2
  370. package/dist/types/components/nv-menu/nv-menu.d.ts +4 -5
  371. package/dist/types/components/nv-menuitem/nv-menuitem.d.ts +25 -1
  372. package/dist/types/components/nv-popover/nv-popover.d.ts +7 -0
  373. package/dist/types/components/nv-tooltip/nv-tooltip.d.ts +6 -1
  374. package/dist/types/components.d.ts +97 -17
  375. package/dist/types/nova-docs.d.ts +46 -24
  376. package/dist/types/templates/navigation.docs.d.ts +3 -0
  377. package/dist/types/utils/constants.d.ts +4 -0
  378. package/dist/vscode-data.json +113 -72
  379. package/hydrate/index.js +322 -188
  380. package/hydrate/index.mjs +322 -188
  381. package/package.json +17 -15
  382. package/dist/cjs/app-globals-69764290.js.map +0 -1
  383. package/dist/cjs/constants-33057c89.js.map +0 -1
  384. package/dist/cjs/index-72b8a9ad.js.map +0 -1
  385. package/dist/collection/components/nv-icon/test/nv-icon.test.js +0 -25
  386. package/dist/collection/components/nv-icon/test/nv-icon.test.js.map +0 -1
  387. package/dist/components/p-0caa4741.js.map +0 -1
  388. package/dist/components/p-1fa35ae5.js.map +0 -1
  389. package/dist/components/p-39e93e5b.js.map +0 -1
  390. package/dist/components/p-a15ddd42.js.map +0 -1
  391. package/dist/components/p-f0d5586a.js.map +0 -1
  392. package/dist/esm/app-globals-c5484a00.js.map +0 -1
  393. package/dist/esm/constants-e9bee611.js.map +0 -1
  394. package/dist/esm/index-b6f70e4a.js.map +0 -1
  395. package/dist/native/p-01262eaf.entry.js.map +0 -1
  396. package/dist/native/p-17dba26d.entry.js +0 -2
  397. package/dist/native/p-2a6ca749.entry.js +0 -2
  398. package/dist/native/p-2a6ca749.entry.js.map +0 -1
  399. package/dist/native/p-327fa1a0.entry.js +0 -2
  400. package/dist/native/p-380bcc2b.entry.js +0 -2
  401. package/dist/native/p-380bcc2b.entry.js.map +0 -1
  402. package/dist/native/p-47c78fe4.entry.js +0 -2
  403. package/dist/native/p-605f8b3d.entry.js +0 -2
  404. package/dist/native/p-605f8b3d.entry.js.map +0 -1
  405. package/dist/native/p-64ae9a21.entry.js +0 -2
  406. package/dist/native/p-64ae9a21.entry.js.map +0 -1
  407. package/dist/native/p-6e8bcd5b.entry.js +0 -2
  408. package/dist/native/p-6e8bcd5b.entry.js.map +0 -1
  409. package/dist/native/p-6ef216c4.js.map +0 -1
  410. package/dist/native/p-7701e4cc.entry.js +0 -2
  411. package/dist/native/p-7701e4cc.entry.js.map +0 -1
  412. package/dist/native/p-86947929.entry.js +0 -2
  413. package/dist/native/p-8f95f4fa.entry.js +0 -2
  414. package/dist/native/p-93eea6e1.entry.js +0 -2
  415. package/dist/native/p-95714583.js +0 -2
  416. package/dist/native/p-95714583.js.map +0 -1
  417. package/dist/native/p-9fe47948.entry.js +0 -2
  418. package/dist/native/p-9fe47948.entry.js.map +0 -1
  419. package/dist/native/p-a15ddd42.js +0 -2
  420. package/dist/native/p-a15ddd42.js.map +0 -1
  421. package/dist/native/p-afbc5259.entry.js +0 -2
  422. package/dist/native/p-afbc5259.entry.js.map +0 -1
  423. package/dist/native/p-b3ec71c9.entry.js +0 -2
  424. package/dist/native/p-bbe9a373.entry.js +0 -2
  425. package/dist/native/p-c2dfee1a.entry.js +0 -2
  426. package/dist/native/p-c5e3e234.entry.js +0 -2
  427. package/dist/native/p-dacd68ab.entry.js.map +0 -1
  428. package/dist/native/p-de9d0b05.entry.js +0 -2
  429. package/dist/native/p-de9d0b05.entry.js.map +0 -1
  430. package/dist/native/p-e71fc762.entry.js +0 -2
  431. package/dist/native/p-e71fc762.entry.js.map +0 -1
  432. package/dist/native/p-ef7f605a.entry.js +0 -2
  433. package/dist/native/p-f2e31579.entry.js +0 -2
  434. package/dist/types/components/nv-icon/test/nv-icon.test.d.ts +0 -1
  435. /package/dist/native/{p-bbe9a373.entry.js.map → p-0f9262ed.entry.js.map} +0 -0
  436. /package/dist/native/{p-11faaf31.entry.js.map → p-40f4828a.entry.js.map} +0 -0
  437. /package/dist/native/{p-f2e31579.entry.js.map → p-52a7f936.entry.js.map} +0 -0
  438. /package/dist/native/{p-50c31094.entry.js.map → p-5d0dc7c8.entry.js.map} +0 -0
  439. /package/dist/native/{p-86947929.entry.js.map → p-5e467b49.entry.js.map} +0 -0
  440. /package/dist/native/{p-df6c9137.entry.js.map → p-74778f5f.entry.js.map} +0 -0
  441. /package/dist/native/{p-ef7f605a.entry.js.map → p-87b93cc2.entry.js.map} +0 -0
  442. /package/dist/native/{p-17dba26d.entry.js.map → p-907c3eda.entry.js.map} +0 -0
  443. /package/dist/native/{p-8f95f4fa.entry.js.map → p-91d4b4d7.entry.js.map} +0 -0
  444. /package/dist/native/{p-9f89229b.entry.js.map → p-9341cf9d.entry.js.map} +0 -0
  445. /package/dist/native/{p-31367928.entry.js.map → p-9cef006d.entry.js.map} +0 -0
  446. /package/dist/native/{p-a89f5542.entry.js.map → p-b902c7c0.entry.js.map} +0 -0
  447. /package/dist/native/{p-327fa1a0.entry.js.map → p-bbc45099.entry.js.map} +0 -0
  448. /package/dist/native/{p-919cf3ec.entry.js.map → p-c59e3500.entry.js.map} +0 -0
  449. /package/dist/native/{p-e05b0c4a.entry.js.map → p-e5fbe545.entry.js.map} +0 -0
  450. /package/dist/native/{p-93eea6e1.entry.js.map → p-eda8cd9d.entry.js.map} +0 -0
  451. /package/dist/native/{p-c2dfee1a.entry.js.map → p-f42e87b5.entry.js.map} +0 -0
  452. /package/dist/native/{p-0bf2007c.entry.js.map → p-f4ecacf6.entry.js.map} +0 -0
@@ -81,25 +81,14 @@ const NvFielddropdownDocs = {
81
81
  },
82
82
  template: (h("nv-fielddropdown", { "data-storybook-args": true }, h("ul", { slot: "content" }, h("nv-fielddropdownitem", { label: "Item 1" })))),
83
83
  },
84
- // {
85
- // name: 'PreSelected',
86
- // template: (
87
- // <nv-fielddropdown data-storybook-args filterable>
88
- // <ul slot="content">
89
- // <nv-fielddropdownitem
90
- // label="Item 1"
91
- // selected
92
- // ></nv-fielddropdownitem>
93
- // <nv-fielddropdownitem label="Item 2"></nv-fielddropdownitem>
94
- // <nv-fielddropdownitem label="Item 3"></nv-fielddropdownitem>
95
- // <nv-fielddropdownitem
96
- // label="Item disabled"
97
- // disabled
98
- // ></nv-fielddropdownitem>
99
- // </ul>
100
- // </nv-fielddropdown>
101
- // ),
102
- // },
84
+ {
85
+ name: 'PreSelected',
86
+ args: {
87
+ label: 'Dropdown with Pre-selected Value',
88
+ value: 'Item 2',
89
+ },
90
+ template: (h("nv-fielddropdown", { "data-storybook-args": true, filterable: true }, h("ul", { slot: "content" }, h("nv-fielddropdownitem", { label: "Item 1", selected: true }), h("nv-fielddropdownitem", { label: "Item 2" }), h("nv-fielddropdownitem", { label: "Item 3" }), h("nv-fielddropdownitem", { label: "Item disabled", disabled: true })))),
91
+ },
103
92
  {
104
93
  name: 'DefaultSlot',
105
94
  args: {
@@ -1 +1 @@
1
- {"version":3,"file":"nv-fielddropdown.docs.js","sourceRoot":"","sources":["../../../src/components/nv-fielddropdown/nv-fielddropdown.docs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h } from '@stencil/core';\nimport type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\nimport { nameof } from '../../utils/class.utils';\n\nconst NvFielddropdownDocs: NovaDocs<Components.NvFielddropdown> = {\n component: 'nv-fielddropdown',\n subcomponents: ['nv-fielddropdownitem', 'nv-avatar', 'nv-icon'],\n stories: [\n {\n name: 'Default',\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n <nv-fielddropdownitem label=\"Item 2\"></nv-fielddropdownitem>\n <nv-fielddropdownitem label=\"Item 3\"></nv-fielddropdownitem>\n <nv-fielddropdownitem\n label=\"Item disabled\"\n disabled\n ></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.filterable),\n args: {\n label: 'Dropdown Label',\n filterable: true,\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n <nv-fielddropdownitem label=\"Item 2\"></nv-fielddropdownitem>\n <nv-fielddropdownitem label=\"Item 3\"></nv-fielddropdownitem>\n <nv-fielddropdownitem\n label=\"Item disabled\"\n disabled\n ></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.label),\n args: {\n label: 'filterable Dropdown',\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.description),\n args: {\n label: 'Dropdown with Description',\n description: 'Description will show here',\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.placeholder),\n args: {\n label: 'Dropdown with Placeholder',\n placeholder: 'Select an option...',\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.disabled),\n args: {\n label: 'Disabled Dropdown',\n disabled: true,\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.required),\n args: {\n label: 'Required Dropdown',\n required: true,\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: 'Dividers',\n args: {\n label: 'Dropdown with dividers',\n filterable: true,\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n <hr />\n <nv-fielddropdownitem label=\"Item 2\"></nv-fielddropdownitem>\n <hr />\n <nv-fielddropdownitem label=\"Item 3\"></nv-fielddropdownitem>\n <nv-fielddropdownitem\n label=\"Item disabled\"\n disabled\n ></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.error),\n args: {\n label: 'Dropdown with Error',\n error: true,\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.errorDescription),\n args: {\n label: 'Dropdown with Error Description',\n description: 'Ensure you select an option.',\n error: true,\n errorDescription: 'This dropdown has an error.',\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n // {\n // name: 'PreSelected',\n // template: (\n // <nv-fielddropdown data-storybook-args filterable>\n // <ul slot=\"content\">\n // <nv-fielddropdownitem\n // label=\"Item 1\"\n // selected\n // ></nv-fielddropdownitem>\n // <nv-fielddropdownitem label=\"Item 2\"></nv-fielddropdownitem>\n // <nv-fielddropdownitem label=\"Item 3\"></nv-fielddropdownitem>\n // <nv-fielddropdownitem\n // label=\"Item disabled\"\n // disabled\n // ></nv-fielddropdownitem>\n // </ul>\n // </nv-fielddropdown>\n // ),\n // },\n {\n name: 'DefaultSlot',\n args: {\n label: 'DefaultSlot Dropdown',\n description: 'This is a DefaultSlot dropdown.',\n placeholder: 'Select an option...',\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem class=\"flex gap-2\" value=\"AB\">\n <nv-avatar initials=\"AB\" size=\"xs\"></nv-avatar>\n <span>Custom Item Text</span>\n </nv-fielddropdownitem>\n <nv-fielddropdownitem class=\"flex gap-2\" value=\"CD\">\n <nv-avatar initials=\"CD\" size=\"xs\"></nv-avatar>\n <span>Custom Item Text</span>\n </nv-fielddropdownitem>\n <nv-fielddropdownitem class=\"flex gap-2\" value=\"EF\">\n <nv-avatar initials=\"EF\" size=\"xs\"></nv-avatar>\n <span>Custom Item Text</span>\n </nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: 'DefaultSlotFiltereable',\n args: {\n label: 'Default Slot Filtereable Dropdown',\n description: 'This is a Default Slot Filtereable dropdown.',\n placeholder: 'Select an option...',\n filterable: true,\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem class=\"flex gap-2\" value=\"AB\">\n <nv-avatar initials=\"AB\" size=\"xs\"></nv-avatar>\n <span>Custom Item Text</span>\n </nv-fielddropdownitem>\n <nv-fielddropdownitem class=\"flex gap-2\" value=\"CD\">\n <nv-avatar initials=\"CD\" size=\"xs\"></nv-avatar>\n <span>Custom Item Text</span>\n </nv-fielddropdownitem>\n <nv-fielddropdownitem class=\"flex gap-2\" value=\"EF\">\n <nv-avatar initials=\"EF\" size=\"xs\"></nv-avatar>\n <span>Custom Item Text</span>\n </nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.open),\n args: {\n label: 'Dropdown Opened',\n open: true,\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n <nv-fielddropdownitem label=\"Item 2\"></nv-fielddropdownitem>\n <nv-fielddropdownitem label=\"Item 3\"></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.value),\n args: {\n label: 'Dropdown with Pre-selected Value',\n value: 'Item 2',\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n <nv-fielddropdownitem label=\"Item 2\"></nv-fielddropdownitem>\n <nv-fielddropdownitem label=\"Item 3\"></nv-fielddropdownitem>\n <nv-fielddropdownitem\n label=\"Item disabled\"\n disabled\n ></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.readonly),\n args: {\n label: 'Readonly Dropdown',\n readonly: true,\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n <nv-fielddropdownitem label=\"Item 2\"></nv-fielddropdownitem>\n <nv-fielddropdownitem label=\"Item 3\"></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.emptyresult),\n args: {\n label: 'Dropdown with Empty Result Text',\n filterable: true,\n open: true,\n value: 'search for a inexistent item',\n emptyresult: 'No items found',\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n ],\n};\n\nexport default NvFielddropdownDocs;\n"]}
1
+ {"version":3,"file":"nv-fielddropdown.docs.js","sourceRoot":"","sources":["../../../src/components/nv-fielddropdown/nv-fielddropdown.docs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAGlC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,MAAM,mBAAmB,GAAyC;IAChE,SAAS,EAAE,kBAAkB;IAC7B,aAAa,EAAE,CAAC,sBAAsB,EAAE,WAAW,EAAE,SAAS,CAAC;IAC/D,OAAO,EAAE;QACP;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,CACR;gBACE,UAAI,IAAI,EAAC,SAAS;oBAChB,4BAAsB,KAAK,EAAC,QAAQ,GAAwB;oBAC5D,4BAAsB,KAAK,EAAC,QAAQ,GAAwB;oBAC5D,4BAAsB,KAAK,EAAC,QAAQ,GAAwB;oBAC5D,4BACE,KAAK,EAAC,eAAe,EACrB,QAAQ,SACc,CACrB,CACY,CACpB;SACF;QACD;YACE,IAAI,EAAE,MAAM,CAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;YAC3D,IAAI,EAAE;gBACJ,KAAK,EAAE,gBAAgB;gBACvB,UAAU,EAAE,IAAI;aACjB;YACD,QAAQ,EAAE,CACR;gBACE,UAAI,IAAI,EAAC,SAAS;oBAChB,4BAAsB,KAAK,EAAC,QAAQ,GAAwB;oBAC5D,4BAAsB,KAAK,EAAC,QAAQ,GAAwB;oBAC5D,4BAAsB,KAAK,EAAC,QAAQ,GAAwB;oBAC5D,4BACE,KAAK,EAAC,eAAe,EACrB,QAAQ,SACc,CACrB,CACY,CACpB;SACF;QACD;YACE,IAAI,EAAE,MAAM,CAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACtD,IAAI,EAAE;gBACJ,KAAK,EAAE,qBAAqB;aAC7B;YACD,QAAQ,EAAE,CACR;gBACE,UAAI,IAAI,EAAC,SAAS;oBAChB,4BAAsB,KAAK,EAAC,QAAQ,GAAwB,CACzD,CACY,CACpB;SACF;QACD;YACE,IAAI,EAAE,MAAM,CAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;YAC5D,IAAI,EAAE;gBACJ,KAAK,EAAE,2BAA2B;gBAClC,WAAW,EAAE,4BAA4B;aAC1C;YACD,QAAQ,EAAE,CACR;gBACE,UAAI,IAAI,EAAC,SAAS;oBAChB,4BAAsB,KAAK,EAAC,QAAQ,GAAwB,CACzD,CACY,CACpB;SACF;QACD;YACE,IAAI,EAAE,MAAM,CAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;YAC5D,IAAI,EAAE;gBACJ,KAAK,EAAE,2BAA2B;gBAClC,WAAW,EAAE,qBAAqB;aACnC;YACD,QAAQ,EAAE,CACR;gBACE,UAAI,IAAI,EAAC,SAAS;oBAChB,4BAAsB,KAAK,EAAC,QAAQ,GAAwB,CACzD,CACY,CACpB;SACF;QACD;YACE,IAAI,EAAE,MAAM,CAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;YACzD,IAAI,EAAE;gBACJ,KAAK,EAAE,mBAAmB;gBAC1B,QAAQ,EAAE,IAAI;aACf;YACD,QAAQ,EAAE,CACR;gBACE,UAAI,IAAI,EAAC,SAAS;oBAChB,4BAAsB,KAAK,EAAC,QAAQ,GAAwB,CACzD,CACY,CACpB;SACF;QACD;YACE,IAAI,EAAE,MAAM,CAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;YACzD,IAAI,EAAE;gBACJ,KAAK,EAAE,mBAAmB;gBAC1B,QAAQ,EAAE,IAAI;aACf;YACD,QAAQ,EAAE,CACR;gBACE,UAAI,IAAI,EAAC,SAAS;oBAChB,4BAAsB,KAAK,EAAC,QAAQ,GAAwB,CACzD,CACY,CACpB;SACF;QACD;YACE,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE;gBACJ,KAAK,EAAE,wBAAwB;gBAC/B,UAAU,EAAE,IAAI;aACjB;YACD,QAAQ,EAAE,CACR;gBACE,UAAI,IAAI,EAAC,SAAS;oBAChB,4BAAsB,KAAK,EAAC,QAAQ,GAAwB;oBAC5D,aAAM;oBACN,4BAAsB,KAAK,EAAC,QAAQ,GAAwB;oBAC5D,aAAM;oBACN,4BAAsB,KAAK,EAAC,QAAQ,GAAwB;oBAC5D,4BACE,KAAK,EAAC,eAAe,EACrB,QAAQ,SACc,CACrB,CACY,CACpB;SACF;QACD;YACE,IAAI,EAAE,MAAM,CAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACtD,IAAI,EAAE;gBACJ,KAAK,EAAE,qBAAqB;gBAC5B,KAAK,EAAE,IAAI;aACZ;YACD,QAAQ,EAAE,CACR;gBACE,UAAI,IAAI,EAAC,SAAS;oBAChB,4BAAsB,KAAK,EAAC,QAAQ,GAAwB,CACzD,CACY,CACpB;SACF;QACD;YACE,IAAI,EAAE,MAAM,CAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACjE,IAAI,EAAE;gBACJ,KAAK,EAAE,iCAAiC;gBACxC,WAAW,EAAE,8BAA8B;gBAC3C,KAAK,EAAE,IAAI;gBACX,gBAAgB,EAAE,6BAA6B;aAChD;YACD,QAAQ,EAAE,CACR;gBACE,UAAI,IAAI,EAAC,SAAS;oBAChB,4BAAsB,KAAK,EAAC,QAAQ,GAAwB,CACzD,CACY,CACpB;SACF;QACD;YACE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE;gBACJ,KAAK,EAAE,kCAAkC;gBACzC,KAAK,EAAE,QAAQ;aAChB;YACD,QAAQ,EAAE,CACR,qDAAsC,UAAU;gBAC9C,UAAI,IAAI,EAAC,SAAS;oBAChB,4BACE,KAAK,EAAC,QAAQ,EACd,QAAQ,SACc;oBACxB,4BAAsB,KAAK,EAAC,QAAQ,GAAwB;oBAC5D,4BAAsB,KAAK,EAAC,QAAQ,GAAwB;oBAC5D,4BACE,KAAK,EAAC,eAAe,EACrB,QAAQ,SACc,CACrB,CACY,CACpB;SACF;QACD;YACE,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE;gBACJ,KAAK,EAAE,sBAAsB;gBAC7B,WAAW,EAAE,iCAAiC;gBAC9C,WAAW,EAAE,qBAAqB;aACnC;YACD,QAAQ,EAAE,CACR;gBACE,UAAI,IAAI,EAAC,SAAS;oBAChB,4BAAsB,KAAK,EAAC,YAAY,EAAC,KAAK,EAAC,IAAI;wBACjD,iBAAW,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,GAAa;wBAC/C,mCAA6B,CACR;oBACvB,4BAAsB,KAAK,EAAC,YAAY,EAAC,KAAK,EAAC,IAAI;wBACjD,iBAAW,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,GAAa;wBAC/C,mCAA6B,CACR;oBACvB,4BAAsB,KAAK,EAAC,YAAY,EAAC,KAAK,EAAC,IAAI;wBACjD,iBAAW,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,GAAa;wBAC/C,mCAA6B,CACR,CACpB,CACY,CACpB;SACF;QACD;YACE,IAAI,EAAE,wBAAwB;YAC9B,IAAI,EAAE;gBACJ,KAAK,EAAE,mCAAmC;gBAC1C,WAAW,EAAE,8CAA8C;gBAC3D,WAAW,EAAE,qBAAqB;gBAClC,UAAU,EAAE,IAAI;aACjB;YACD,QAAQ,EAAE,CACR;gBACE,UAAI,IAAI,EAAC,SAAS;oBAChB,4BAAsB,KAAK,EAAC,YAAY,EAAC,KAAK,EAAC,IAAI;wBACjD,iBAAW,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,GAAa;wBAC/C,mCAA6B,CACR;oBACvB,4BAAsB,KAAK,EAAC,YAAY,EAAC,KAAK,EAAC,IAAI;wBACjD,iBAAW,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,GAAa;wBAC/C,mCAA6B,CACR;oBACvB,4BAAsB,KAAK,EAAC,YAAY,EAAC,KAAK,EAAC,IAAI;wBACjD,iBAAW,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,GAAa;wBAC/C,mCAA6B,CACR,CACpB,CACY,CACpB;SACF;QACD;YACE,IAAI,EAAE,MAAM,CAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACrD,IAAI,EAAE;gBACJ,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,IAAI;aACX;YACD,QAAQ,EAAE,CACR;gBACE,UAAI,IAAI,EAAC,SAAS;oBAChB,4BAAsB,KAAK,EAAC,QAAQ,GAAwB;oBAC5D,4BAAsB,KAAK,EAAC,QAAQ,GAAwB;oBAC5D,4BAAsB,KAAK,EAAC,QAAQ,GAAwB,CACzD,CACY,CACpB;SACF;QACD;YACE,IAAI,EAAE,MAAM,CAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YACtD,IAAI,EAAE;gBACJ,KAAK,EAAE,kCAAkC;gBACzC,KAAK,EAAE,QAAQ;aAChB;YACD,QAAQ,EAAE,CACR;gBACE,UAAI,IAAI,EAAC,SAAS;oBAChB,4BAAsB,KAAK,EAAC,QAAQ,GAAwB;oBAC5D,4BAAsB,KAAK,EAAC,QAAQ,GAAwB;oBAC5D,4BAAsB,KAAK,EAAC,QAAQ,GAAwB;oBAC5D,4BACE,KAAK,EAAC,eAAe,EACrB,QAAQ,SACc,CACrB,CACY,CACpB;SACF;QACD;YACE,IAAI,EAAE,MAAM,CAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;YACzD,IAAI,EAAE;gBACJ,KAAK,EAAE,mBAAmB;gBAC1B,QAAQ,EAAE,IAAI;aACf;YACD,QAAQ,EAAE,CACR;gBACE,UAAI,IAAI,EAAC,SAAS;oBAChB,4BAAsB,KAAK,EAAC,QAAQ,GAAwB;oBAC5D,4BAAsB,KAAK,EAAC,QAAQ,GAAwB;oBAC5D,4BAAsB,KAAK,EAAC,QAAQ,GAAwB,CACzD,CACY,CACpB;SACF;QACD;YACE,IAAI,EAAE,MAAM,CAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;YAC5D,IAAI,EAAE;gBACJ,KAAK,EAAE,iCAAiC;gBACxC,UAAU,EAAE,IAAI;gBAChB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,8BAA8B;gBACrC,WAAW,EAAE,gBAAgB;aAC9B;YACD,QAAQ,EAAE,CACR;gBACE,UAAI,IAAI,EAAC,SAAS;oBAChB,4BAAsB,KAAK,EAAC,QAAQ,GAAwB,CACzD,CACY,CACpB;SACF;KACF;CACF,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["import { h } from '@stencil/core';\nimport type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\nimport { nameof } from '../../utils/class.utils';\n\nconst NvFielddropdownDocs: NovaDocs<Components.NvFielddropdown> = {\n component: 'nv-fielddropdown',\n subcomponents: ['nv-fielddropdownitem', 'nv-avatar', 'nv-icon'],\n stories: [\n {\n name: 'Default',\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n <nv-fielddropdownitem label=\"Item 2\"></nv-fielddropdownitem>\n <nv-fielddropdownitem label=\"Item 3\"></nv-fielddropdownitem>\n <nv-fielddropdownitem\n label=\"Item disabled\"\n disabled\n ></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.filterable),\n args: {\n label: 'Dropdown Label',\n filterable: true,\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n <nv-fielddropdownitem label=\"Item 2\"></nv-fielddropdownitem>\n <nv-fielddropdownitem label=\"Item 3\"></nv-fielddropdownitem>\n <nv-fielddropdownitem\n label=\"Item disabled\"\n disabled\n ></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.label),\n args: {\n label: 'filterable Dropdown',\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.description),\n args: {\n label: 'Dropdown with Description',\n description: 'Description will show here',\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.placeholder),\n args: {\n label: 'Dropdown with Placeholder',\n placeholder: 'Select an option...',\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.disabled),\n args: {\n label: 'Disabled Dropdown',\n disabled: true,\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.required),\n args: {\n label: 'Required Dropdown',\n required: true,\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: 'Dividers',\n args: {\n label: 'Dropdown with dividers',\n filterable: true,\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n <hr />\n <nv-fielddropdownitem label=\"Item 2\"></nv-fielddropdownitem>\n <hr />\n <nv-fielddropdownitem label=\"Item 3\"></nv-fielddropdownitem>\n <nv-fielddropdownitem\n label=\"Item disabled\"\n disabled\n ></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.error),\n args: {\n label: 'Dropdown with Error',\n error: true,\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.errorDescription),\n args: {\n label: 'Dropdown with Error Description',\n description: 'Ensure you select an option.',\n error: true,\n errorDescription: 'This dropdown has an error.',\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: 'PreSelected',\n args: {\n label: 'Dropdown with Pre-selected Value',\n value: 'Item 2',\n },\n template: (\n <nv-fielddropdown data-storybook-args filterable>\n <ul slot=\"content\">\n <nv-fielddropdownitem\n label=\"Item 1\"\n selected\n ></nv-fielddropdownitem>\n <nv-fielddropdownitem label=\"Item 2\"></nv-fielddropdownitem>\n <nv-fielddropdownitem label=\"Item 3\"></nv-fielddropdownitem>\n <nv-fielddropdownitem\n label=\"Item disabled\"\n disabled\n ></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: 'DefaultSlot',\n args: {\n label: 'DefaultSlot Dropdown',\n description: 'This is a DefaultSlot dropdown.',\n placeholder: 'Select an option...',\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem class=\"flex gap-2\" value=\"AB\">\n <nv-avatar initials=\"AB\" size=\"xs\"></nv-avatar>\n <span>Custom Item Text</span>\n </nv-fielddropdownitem>\n <nv-fielddropdownitem class=\"flex gap-2\" value=\"CD\">\n <nv-avatar initials=\"CD\" size=\"xs\"></nv-avatar>\n <span>Custom Item Text</span>\n </nv-fielddropdownitem>\n <nv-fielddropdownitem class=\"flex gap-2\" value=\"EF\">\n <nv-avatar initials=\"EF\" size=\"xs\"></nv-avatar>\n <span>Custom Item Text</span>\n </nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: 'DefaultSlotFiltereable',\n args: {\n label: 'Default Slot Filtereable Dropdown',\n description: 'This is a Default Slot Filtereable dropdown.',\n placeholder: 'Select an option...',\n filterable: true,\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem class=\"flex gap-2\" value=\"AB\">\n <nv-avatar initials=\"AB\" size=\"xs\"></nv-avatar>\n <span>Custom Item Text</span>\n </nv-fielddropdownitem>\n <nv-fielddropdownitem class=\"flex gap-2\" value=\"CD\">\n <nv-avatar initials=\"CD\" size=\"xs\"></nv-avatar>\n <span>Custom Item Text</span>\n </nv-fielddropdownitem>\n <nv-fielddropdownitem class=\"flex gap-2\" value=\"EF\">\n <nv-avatar initials=\"EF\" size=\"xs\"></nv-avatar>\n <span>Custom Item Text</span>\n </nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.open),\n args: {\n label: 'Dropdown Opened',\n open: true,\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n <nv-fielddropdownitem label=\"Item 2\"></nv-fielddropdownitem>\n <nv-fielddropdownitem label=\"Item 3\"></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.value),\n args: {\n label: 'Dropdown with Pre-selected Value',\n value: 'Item 2',\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n <nv-fielddropdownitem label=\"Item 2\"></nv-fielddropdownitem>\n <nv-fielddropdownitem label=\"Item 3\"></nv-fielddropdownitem>\n <nv-fielddropdownitem\n label=\"Item disabled\"\n disabled\n ></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.readonly),\n args: {\n label: 'Readonly Dropdown',\n readonly: true,\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n <nv-fielddropdownitem label=\"Item 2\"></nv-fielddropdownitem>\n <nv-fielddropdownitem label=\"Item 3\"></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n {\n name: nameof<Components.NvFielddropdown>(x => x.emptyresult),\n args: {\n label: 'Dropdown with Empty Result Text',\n filterable: true,\n open: true,\n value: 'search for a inexistent item',\n emptyresult: 'No items found',\n },\n template: (\n <nv-fielddropdown data-storybook-args>\n <ul slot=\"content\">\n <nv-fielddropdownitem label=\"Item 1\"></nv-fielddropdownitem>\n </ul>\n </nv-fielddropdown>\n ),\n },\n ],\n};\n\nexport default NvFielddropdownDocs;\n"]}
@@ -181,28 +181,39 @@ export class NVFieldDropDown {
181
181
  this.isFilterable = newValue;
182
182
  this.filterable = newValue;
183
183
  }
184
- watchValueHandler() {
185
- // Handle value change and update the corresponding dropdown item if it exists
186
- this.setInitialSelection();
184
+ watchValueHandler(newValue) {
185
+ if (newValue) {
186
+ this.updateSelectedItem(newValue);
187
+ }
187
188
  }
188
189
  //#endregion EVENTS
189
190
  /****************************************************************************/
190
191
  //#region METHODS
192
+ componentWillLoad() {
193
+ if (this.value) {
194
+ // If an initial value exists, set it as selected
195
+ this.updateSelectedItem(this.value);
196
+ }
197
+ }
198
+ componentDidLoad() {
199
+ document.addEventListener('click', this.handleClickOutside.bind(this));
200
+ // Check again after complete rendering
201
+ if (this.value) {
202
+ this.updateSelectedItem(this.value);
203
+ }
204
+ }
191
205
  /**
192
206
  * Subscribe to click outside event.
193
207
  */
194
208
  connectedCallback() {
195
209
  document.addEventListener('click', this.handleClickOutside.bind(this));
196
- // Handle pre-selection during component initialization
210
+ // First, reset the filter to ensure all elements are visible
211
+ this.resetFilter();
212
+ // Then, handle the pre-selection
197
213
  this.setInitialSelection();
198
- // Apply filtering if the dropdown is filterable and there is a value
199
- if (this.filterable && this.value) {
200
- this.filterText = this.value.toLowerCase();
201
- this.filterItems(); // Update the visibility of items
202
- }
203
- else {
204
- // Ensure all items are visible if no filtering is applied
205
- this.resetFilter();
214
+ // Finally, apply the filter if needed
215
+ if (this.filterable && this.filterText) {
216
+ this.filterItems();
206
217
  }
207
218
  }
208
219
  /**
@@ -217,16 +228,13 @@ export class NVFieldDropDown {
217
228
  item.getAttribute('value') === this.value ||
218
229
  ((_a = item.textContent) === null || _a === void 0 ? void 0 : _a.trim()) === this.value;
219
230
  });
220
- // Remove 'selected' from all items first to reset the state
221
231
  items.forEach(item => {
222
232
  item.removeAttribute('selected');
223
233
  item.classList.remove('selected');
224
234
  });
225
235
  if (selectedItem) {
226
- // Add the `selected` attribute and `selected` class for visual styling
227
236
  selectedItem.setAttribute('selected', 'true');
228
237
  selectedItem.classList.add('selected');
229
- // Update the value and inputElement value to reflect the pre-selected item
230
238
  this.value =
231
239
  selectedItem.getAttribute('label') ||
232
240
  selectedItem.getAttribute('value') ||
@@ -236,6 +244,9 @@ export class NVFieldDropDown {
236
244
  this.inputElement.value = this.value;
237
245
  }
238
246
  }
247
+ else {
248
+ console.warn('No matching item found for value:', this.value);
249
+ }
239
250
  }
240
251
  /**
241
252
  * Unsubscribe from click outside event.
@@ -301,10 +312,9 @@ export class NVFieldDropDown {
301
312
  handleClickOutside(event) {
302
313
  if (this.el.contains(event.target) ||
303
314
  (this.inputElement && this.inputElement.contains(event.target))) {
304
- // If the click is inside the component or on the input, do not close the popover
305
315
  return;
306
316
  }
307
- this.popoverElement.hide(); // Close the popover if the click is outside the component
317
+ this.popoverElement.hide();
308
318
  }
309
319
  handleKeyDown(event) {
310
320
  if (!this.open) {
@@ -360,9 +370,6 @@ export class NVFieldDropDown {
360
370
  if (i === index) {
361
371
  item.classList.add('highlighted');
362
372
  item.setAttribute('tabindex', '0');
363
- if (!item.checkVisibility()) {
364
- console.log('Item not focused');
365
- }
366
373
  item.focus(); // Forcer le focus ici
367
374
  item.scrollIntoView({ block: 'nearest' });
368
375
  }
@@ -382,13 +389,45 @@ export class NVFieldDropDown {
382
389
  console.warn('No first item found to focus');
383
390
  }
384
391
  }
392
+ updateSelectedItem(value) {
393
+ const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitem'));
394
+ // Reset all items
395
+ items.forEach(item => {
396
+ item.removeAttribute('selected');
397
+ item.classList.remove('selected');
398
+ });
399
+ // Find the item matching the value
400
+ const matchingItem = items.find(item => {
401
+ var _a;
402
+ const itemLabel = item.getAttribute('label');
403
+ const itemValue = item.getAttribute('value');
404
+ const itemText = (_a = item.textContent) === null || _a === void 0 ? void 0 : _a.trim();
405
+ return itemLabel === value || itemValue === value || itemText === value;
406
+ });
407
+ if (matchingItem) {
408
+ // Mark the item as selected
409
+ matchingItem.setAttribute('selected', 'true');
410
+ matchingItem.classList.add('selected');
411
+ // Update the input
412
+ if (this.inputElement) {
413
+ this.inputElement.value = value;
414
+ }
415
+ // Emit the selection event
416
+ this.dropdownItemSelected.emit({
417
+ value: value,
418
+ label: matchingItem.getAttribute('label') || value,
419
+ selected: true,
420
+ disabled: matchingItem.hasAttribute('disabled'),
421
+ });
422
+ }
423
+ }
385
424
  //#endregion METHODS
386
425
  /****************************************************************************/
387
426
  //#region RENDER
388
427
  render() {
389
- return (h(Host, { key: 'ee220f04cb94b18afa0504938ee269c0edb1d1b5' }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: '9cf2035bcef627718cb0e9cda9f10d1deb829201', htmlFor: this.inputId }, h("slot", { key: '6fe8d6dadee22c489696fbd94067398f5b22f8a7', name: "label" }, this.label))), h("nv-popover", { key: 'c96697a489ceb13a600f63e1496dcc2cedf6baa7', ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, h("div", { key: '0a996e770694e7521e57007f5b3a9272ef9ad485', class: "input-wrapper", slot: "trigger" }, h("slot", { key: '41b6e77ce228cd4aedbffbb440bf375c82e05c30', name: "before-input" }), h("div", { key: 'ffdeba473c57672b13577a225c0b2cc436df2c12', class: "input-container", onClick: this.handleInputContainerClick }, h("slot", { key: '14af93b626704024c44371934cc1b4b49b068ac7', 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: '961e3b20bb234ba3c24e8e5389154245ae35fdb9', 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: '37f6b2288683f0b2e16e553b66e5a534a0d372f6', name: "after-input" })), h("slot", { key: 'd7c7ad38d9f486408858a68c1cba7e9c6ae8788f', name: "content" })), (this.description ||
390
- this.el.querySelector('[slot="description"]')) && (h("div", { key: '6a4d137ba434bb2d36bc74b6f4cb442274857716', class: "description" }, h("slot", { key: 'd2e85ddebab03a8a752c0f7558b57f35d2e30b85', name: "description" }, this.description))), (this.errorDescription ||
391
- this.el.querySelector('[slot="error-description"]')) && (h("div", { key: 'b05d210c0e0a43ce8bd96849f7556f1accd691fb', hidden: !this.error, class: "error-description" }, h("slot", { key: '7d455d5027589ccad7cdccf5ce0e0cc25a7ac7bd', name: "error-description" }, this.errorDescription)))));
428
+ return (h(Host, { key: '2ff0476929b58734a50c303ebb6ad308f0c41602' }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: '87756cac62747e76d851813426c4aa560b6a5a4e', htmlFor: this.inputId }, h("slot", { key: 'ae2d7374b524274e86777639cd1ad5cbc5c57404', name: "label" }, this.label))), h("nv-popover", { key: 'ed58d72aab9b23f25cd4ec8359ce7148a43fb22e', ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, h("div", { key: 'ae3e65b9274c56f012e9798f549ee62063879688', class: "input-wrapper", slot: "trigger" }, h("slot", { key: '1fc77f160aebd9e21c8a79406ec1e829bd3c9265', name: "before-input" }), h("div", { key: '7502dc9df91a3b91bf1bb448e9f3cbee9f356f80', class: "input-container", onClick: this.handleInputContainerClick }, h("slot", { key: '50acd86050d4357c8e7af3c8464ad34cb73382ad', 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: '2f8c2773754656835583484e2fa7acc0fabcffb6', 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: '26d4de108aa80b931f03201adc7b2470dc9ed526', name: "after-input" })), h("slot", { key: 'b9a39773f100d2579b2a9e568c19fabbbabbcefe', name: "content" })), (this.description ||
429
+ this.el.querySelector('[slot="description"]')) && (h("div", { key: '220b815bc502ff4f18fe40471139efc808f6a31b', class: "description" }, h("slot", { key: '6d0bfc07e3c5c5329d38e447f0c3a1974663e15b', name: "description" }, this.description))), (this.errorDescription ||
430
+ this.el.querySelector('[slot="error-description"]')) && (h("div", { key: '0cc511a914c00de65ee9f0f2033e292b9123620c', hidden: !this.error, class: "error-description" }, h("slot", { key: 'f442db41fdde383abc0873bafbaabba8be1387b3', name: "error-description" }, this.errorDescription)))));
392
431
  }
393
432
  static get is() { return "nv-fielddropdown"; }
394
433
  static get formAssociated() { return true; }
@@ -525,7 +564,7 @@ export class NVFieldDropDown {
525
564
  "mutable": false,
526
565
  "complexType": {
527
566
  "original": "`${TextInputAutocomplete}`",
528
- "resolved": "\"on\" | \"off\" | \"section-*\" | \"shipping\" | \"billing\" | \"home\" | \"work\" | \"mobile\" | \"fax\" | \"pager\" | \"tel\" | \"tel-country-code\" | \"tel-national\" | \"tel-area-code\" | \"tel-local\" | \"tel-local-prefix\" | \"tel-local-suffix\" | \"tel-extension\" | \"email\" | \"impp\" | \"name\" | \"honorific-prefix\" | \"given-name\" | \"additional-name\" | \"family-name\" | \"honorific-suffix\" | \"nickname\" | \"username\" | \"new-password\" | \"current-password\" | \"one-time-code\" | \"organization-title\" | \"organization\" | \"street-address\" | \"address-line1\" | \"address-line2\" | \"address-line3\" | \"address-level4\" | \"address-level3\" | \"address-level2\" | \"address-level1\" | \"country\" | \"country-name\" | \"postal-code\" | \"cc-name\" | \"cc-given-name\" | \"cc-additional-name\" | \"cc-family-name\" | \"cc-number\" | \"cc-exp\" | \"cc-exp-month\" | \"cc-exp-year\" | \"cc-csc\" | \"cc-type\" | \"transaction-currency\" | \"transaction-amount\" | \"language\" | \"bday\" | \"bday-day\" | \"bday-month\" | \"bday-year\" | \"sex\" | \"url\" | \"photo\"",
567
+ "resolved": "\"on\" | \"off\" | \"home\" | \"section-*\" | \"shipping\" | \"billing\" | \"work\" | \"mobile\" | \"fax\" | \"pager\" | \"tel\" | \"tel-country-code\" | \"tel-national\" | \"tel-area-code\" | \"tel-local\" | \"tel-local-prefix\" | \"tel-local-suffix\" | \"tel-extension\" | \"email\" | \"impp\" | \"name\" | \"honorific-prefix\" | \"given-name\" | \"additional-name\" | \"family-name\" | \"honorific-suffix\" | \"nickname\" | \"username\" | \"new-password\" | \"current-password\" | \"one-time-code\" | \"organization-title\" | \"organization\" | \"street-address\" | \"address-line1\" | \"address-line2\" | \"address-line3\" | \"address-level4\" | \"address-level3\" | \"address-level2\" | \"address-level1\" | \"country\" | \"country-name\" | \"postal-code\" | \"cc-name\" | \"cc-given-name\" | \"cc-additional-name\" | \"cc-family-name\" | \"cc-number\" | \"cc-exp\" | \"cc-exp-month\" | \"cc-exp-year\" | \"cc-csc\" | \"cc-type\" | \"transaction-currency\" | \"transaction-amount\" | \"language\" | \"bday\" | \"bday-day\" | \"bday-month\" | \"bday-year\" | \"sex\" | \"url\" | \"photo\"",
529
568
  "references": {
530
569
  "TextInputAutocomplete": {
531
570
  "location": "import",
@@ -1 +1 @@
1
- {"version":3,"file":"nv-fielddropdown.js","sourceRoot":"","sources":["../../../src/components/nv-fielddropdown/nv-fielddropdown.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n State,\n Listen,\n Event,\n EventEmitter,\n Watch,\n Method,\n} from '@stencil/core';\n\nimport { v4 as uuidv4 } from 'uuid';\nimport { TextInputAutocomplete } from '../../utils/constants';\nimport { DropdownItemSelectedEventDetail } from '../nv-fielddropdownitem/DropdownItemSelectedEventDetail';\n\n/**\n * @slot content - Use a <ul></ul> tag for the slot, and place <nv-dropdownitem> elements inside.\n * @slot leading-input - Content to be placed before the input text, within the input container.\n * @slot before-input - Content to be placed before the input text, outside the input container.\n * @slot after-input - Content to be placed after the input text, outside the input container.\n * @slot label - Content to be placed as the label, will override the label prop.\n * @slot description - Content to be placed as the description, will override the description prop.\n * @slot error-description - Content to be placed as the error description, will override the errorDescription prop.\n */\n\n@Component({\n tag: 'nv-fielddropdown',\n styleUrl: 'nv-fielddropdown.scss',\n shadow: false,\n formAssociated: true,\n})\nexport class NVFieldDropDown {\n @Element() el: HTMLNvFielddropdownElement;\n private inputElement!: HTMLInputElement;\n private popoverElement!: HTMLNvPopoverElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the ID for the input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated\n * to ensure unique identification, facilitating proper label association and\n * accessibility.\n */\n @Prop({ reflect: true })\n readonly inputId: string = uuidv4();\n\n /**\n * Lets you define the text that explains what users should enter in the text\n * input field. It’s a crucial element for making forms clear and\n * user-friendly.\n */\n @Prop({ reflect: true })\n readonly label: string;\n\n /**\n * Add helpful hints or extra information under the text input field. This is\n * where you can clarify what users should enter or provide additional\n * instructions, making the form easier to fill out correctly.\n */\n @Prop({ reflect: true })\n readonly description: string;\n\n /**\n * Display temporary text inside the input field to give users a hint about\n * what to type. It’s a great way to provide examples or suggestions directly\n * in the field before they start typing.\n * The placeholder is displayed only when the filterable option is enabled.\n */\n @Prop({ reflect: true })\n readonly placeholder: string;\n\n /**\n * Defines the name attribute of the input field, which is crucial for form\n * submission. This value is used as the key in the key-value pair sent to\n * the server, representing the input’s data in form submissions. It should be\n * unique within the form to avoid conflicts.\n */\n @Prop({ reflect: true })\n readonly name: string;\n\n /**\n * State of the dropdown popover.\n */\n @Prop({ reflect: true, mutable: true })\n open: boolean = false;\n\n /**\n * The autocomplete prop helps users fill out the input field faster by\n * suggesting entries they’ve used before, like their email or address.\n * You can turn it on to make forms more convenient or off to ensure users\n * always type in fresh data.\n */\n @Prop({ reflect: true })\n readonly autocomplete: `${TextInputAutocomplete}` = 'off';\n\n /**\n * Specifies the value of the input field, which determines the text displayed\n * within the field. This prop is typically used in controlled components\n * where the input’s value is managed by the component’s state.\n */\n @Prop({ reflect: true, mutable: true })\n value: string;\n\n /**\n * Marks the input field as required, ensuring that the user must fill it out\n * before submitting the form.\n */\n @Prop({ reflect: true })\n readonly required: boolean = false;\n\n /**\n * Alters the input field’s appearance to indicate an error, helping users\n * identify fields that need correction.\n * @validator error\n */\n @Prop({ reflect: true })\n readonly error: boolean = false;\n\n /**\n * A description that appears when there is an error related to the dropdown\n * field.\n * @validator message\n */\n @Prop({ reflect: true })\n readonly errorDescription: string;\n\n /**\n * Display the input field’s content without allowing users to change it.\n * Users can still click on it, select, and copy the text, but they won’t be\n * able to type or delete anything.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n /**\n * The disabled prop lets you turn off the input field so that users can’t\n * type in it. When disabled, the field is grayed out and won’t respond to\n * clicks or touches.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * The text to display when no items match the filter.\n */\n @Prop({ reflect: true })\n readonly emptyresult: string = 'No results found';\n\n /**\n * The text entered by the user for filtering dropdown items.\n */\n @State()\n filterText: string = '';\n\n /**\n * Enables or disables the filtering feature for the dropdown items.\n */\n @Prop({ reflect: true, mutable: true })\n filterable: boolean = false;\n\n @State()\n isFilterable: boolean = this.filterable;\n\n @State()\n selectedValues: Set<string> = new Set();\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Event emitted when an item is selected.\n */\n @Event()\n dropdownItemSelected: EventEmitter<DropdownItemSelectedEventDetail>;\n\n @Listen('itemSelected')\n handleItemSelected(event: CustomEvent<DropdownItemSelectedEventDetail>) {\n if (this.disabled || this.readonly) return;\n\n // Retrieve all nv-fielddropdownitem elements present in the dropdown.\n const items = Array.from(\n this.el.querySelectorAll('nv-fielddropdownitem'),\n ) as HTMLNvFielddropdownitemElement[];\n\n // For each item, remove the 'selected' attribute and the 'selected' class.\n items.forEach(item => {\n if (item !== event.target) {\n item.removeAttribute('selected');\n item.classList.remove('selected');\n }\n });\n\n // Update the value and emit the event with the selected item.\n this.value = event.detail.value;\n (event.target as HTMLNvFielddropdownitemElement).setAttribute(\n 'selected',\n 'true',\n );\n (event.target as HTMLElement).classList.add('selected');\n this.dropdownItemSelected.emit(event.detail);\n\n // Close the popover after selecting.\n if (this.popoverElement) {\n this.popoverElement.hide();\n }\n }\n\n /**\n * Emitted when the input value changes.\n * @bind value\n */\n @Event()\n valueChanged: EventEmitter<string>;\n\n @Listen('openChanged')\n handleOpenChanged(event: CustomEvent<boolean>) {\n this.open = event.detail; // Update `open` based on the popover state\n }\n\n @Watch('filterable')\n watchFilterableHandler(newValue: boolean) {\n this.isFilterable = newValue;\n this.filterable = newValue;\n }\n\n @Watch('value')\n watchValueHandler() {\n // Handle value change and update the corresponding dropdown item if it exists\n this.setInitialSelection();\n }\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Subscribe to click outside event.\n */\n connectedCallback() {\n document.addEventListener('click', this.handleClickOutside.bind(this));\n\n // Handle pre-selection during component initialization\n this.setInitialSelection();\n\n // Apply filtering if the dropdown is filterable and there is a value\n if (this.filterable && this.value) {\n this.filterText = this.value.toLowerCase();\n this.filterItems(); // Update the visibility of items\n } else {\n // Ensure all items are visible if no filtering is applied\n this.resetFilter();\n }\n }\n\n /**\n * Set the initial selection based on the current value and update the inputElement value.\n */\n private setInitialSelection() {\n const items = Array.from(\n this.el.querySelectorAll('nv-fielddropdownitem'),\n ) as HTMLNvFielddropdownitemElement[];\n\n const selectedItem = items.find(\n item =>\n item.getAttribute('label') === this.value ||\n item.getAttribute('value') === this.value ||\n item.textContent?.trim() === this.value,\n );\n\n // Remove 'selected' from all items first to reset the state\n items.forEach(item => {\n item.removeAttribute('selected');\n item.classList.remove('selected');\n });\n\n if (selectedItem) {\n // Add the `selected` attribute and `selected` class for visual styling\n selectedItem.setAttribute('selected', 'true');\n selectedItem.classList.add('selected');\n\n // Update the value and inputElement value to reflect the pre-selected item\n this.value =\n selectedItem.getAttribute('label') ||\n selectedItem.getAttribute('value') ||\n selectedItem.textContent?.trim() ||\n '';\n if (this.inputElement) {\n this.inputElement.value = this.value;\n }\n }\n }\n\n /**\n * Unsubscribe from click outside event.\n */\n disconnectedCallback() {\n document.removeEventListener('click', this.handleClickOutside.bind(this));\n }\n\n /**\n * Handle click on the input container.\n * @param {MouseEvent} event - The click event.\n */\n private handleInputContainerClick = (event: MouseEvent) => {\n if (this.disabled || this.readonly) {\n return; // Do nothing if the dropdown is disabled or read-only\n }\n\n const target = event.target as HTMLElement;\n\n // Check if it is the paragraph or another part of the container\n if (target.tagName === 'P' || target.tagName === 'SPAN') {\n this.open = true;\n this.popoverElement.show();\n\n // Simulate focus to trigger \"focus-within\" style\n const inputContainer = this.el.querySelector(\n '.input-container',\n ) as HTMLElement;\n if (inputContainer) {\n inputContainer.classList.add('focus-within');\n\n // Remove the \"focus-within\" class after a delay or when the popover is closed\n const removeFocusWithin = () => {\n inputContainer.classList.remove('focus-within');\n };\n\n // Or remove the class when the popover is closed\n this.popoverElement.addEventListener('hide', removeFocusWithin);\n }\n }\n };\n\n /**\n * Handle input change.\n * @param {Event} event - The input event.\n */\n private handleInput = (event: Event) => {\n if (!this.filterable) return; // Do not filter if `filterable` is false\n if (this.disabled || this.readonly) {\n return; // Do not toggle the state if the dropdown is disabled or read-only\n }\n const input = event.target as HTMLInputElement;\n this.filterText = input.value.toLowerCase();\n this.value = input.value; // Update the value\n this.valueChanged.emit(input.value); // Emit an event if needed\n this.filterItems(); // Update the visibility of items\n };\n\n /**\n * Filter dropdown items based on the text entered by the user.\n * If no items are found, display a message indicating no results.\n */\n private filterItems() {\n const items = Array.from(\n this.el.querySelectorAll('nv-fielddropdownitem'),\n ) as HTMLNvFielddropdownitemElement[];\n\n // Remove the \"no results found\" item if it exists\n const existingEmptyItem = this.el.querySelector(\n 'nv-fielddropdownitem[data-empty]',\n );\n if (existingEmptyItem) {\n existingEmptyItem.remove();\n }\n\n let hasVisibleItems = false;\n\n // Iterate over all items and adjust their visibility\n items.forEach(item => {\n const textContent = item.textContent?.toLowerCase() || ''; // Get the textual content of the slot\n const value = item.value?.toLowerCase() || ''; // Get the value of the `value` attribute\n\n // Check if the filtered text is present either in the value or in the textual content\n const shouldShow =\n value.includes(this.filterText) ||\n textContent.includes(this.filterText);\n\n item.style.display = shouldShow ? '' : 'none'; // Hide or show the item\n\n if (shouldShow) {\n hasVisibleItems = true;\n }\n });\n\n // If no items are visible, add the \"no results found\" item\n if (!hasVisibleItems) {\n const emptyItem = document.createElement('nv-fielddropdownitem');\n emptyItem.setAttribute('data-empty', 'true');\n emptyItem.setAttribute('disabled', 'true');\n emptyItem.textContent = this.emptyresult;\n this.el.querySelector('ul[slot=\"content\"]')?.appendChild(emptyItem);\n }\n }\n\n /**\n * Reset the filter and make all items visible.\n */\n private resetFilter() {\n const items = Array.from(\n this.el.querySelectorAll('nv-fielddropdownitem'),\n ) as HTMLNvFielddropdownitemElement[];\n\n items.forEach(item => {\n item.style.display = '';\n });\n }\n\n /**\n * Retrieves the current filter text entered by the user.\n * @returns {string} The filter text.\n */\n @Method()\n async getFilterText(): Promise<string> {\n return this.filterText;\n }\n\n /**\n * Handle click outside the component.\n * @param {MouseEvent} event - The click event.\n */\n private handleClickOutside(event: MouseEvent) {\n if (\n this.el.contains(event.target as Node) ||\n (this.inputElement && this.inputElement.contains(event.target as Node))\n ) {\n // If the click is inside the component or on the input, do not close the popover\n return;\n }\n\n this.popoverElement.hide(); // Close the popover if the click is outside the component\n }\n\n /**\n * Handle input focus.\n */\n private handleInputFocus = () => {\n if (this.disabled || this.readonly) {\n return; // Do not toggle the state if the dropdown is disabled or read-only\n }\n this.open = true; // Force the popover to open\n };\n\n /**\n * Handle input blur.\n */\n private handleInputBlur = () => {\n // Use a delay to check if the focus is still within the popover\n setTimeout(() => {\n if (!this.el.contains(document.activeElement)) {\n this.open = false;\n this.popoverElement.hide(); // Close the popover if the focus is outside the component\n }\n }, 150);\n };\n\n /**\n * Toggle the dropdown popover.\n * @returns {void}\n */\n private togglePopover = (): void => {\n if (this.disabled || this.readonly) {\n return; // Do not toggle if disabled or read-only\n }\n\n this.open = !this.open;\n if (this.open) {\n this.popoverElement.show();\n\n // Si le dropdown n'est pas filtrable, focus sur le premier élément\n if (!this.filterable) {\n this.focusFirstItem();\n }\n } else {\n this.popoverElement.hide();\n }\n };\n\n @Listen('keydown', { passive: false })\n handleKeyDown(event: KeyboardEvent) {\n if (!this.open) {\n if (event.key === 'ArrowDown') {\n this.open = true;\n this.popoverElement.show();\n\n if (!this.filterable) {\n // Focus sur le premier élément si ce n'est pas filtrable\n this.focusFirstItem();\n }\n\n event.preventDefault();\n return;\n }\n return;\n }\n\n // Vérifiez si le popover est défini avant de chercher les items\n if (!this.popoverElement) {\n console.warn('Popover element is not defined');\n return;\n }\n\n const items = Array.from(\n this.el.querySelectorAll('nv-fielddropdownitem:not([data-empty])'),\n ) as HTMLNvFielddropdownitemElement[];\n\n // Vérifiez si les items existent\n if (items.length === 0) {\n console.warn('No dropdown items found to navigate');\n return;\n }\n\n let currentIndex = items.findIndex(item =>\n item.classList.contains('highlighted'),\n );\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n currentIndex = (currentIndex + 1) % items.length;\n this.updateHighlightedItem(items, currentIndex);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n currentIndex = (currentIndex - 1 + items.length) % items.length;\n this.updateHighlightedItem(items, currentIndex);\n } else if (event.key === 'Enter' && currentIndex >= 0) {\n event.preventDefault();\n items[currentIndex].click();\n } else if (event.key === 'Escape') {\n event.preventDefault();\n this.open = false;\n this.popoverElement.hide();\n if (this.inputElement) {\n this.inputElement.blur();\n }\n }\n }\n\n private updateHighlightedItem(\n items: HTMLNvFielddropdownitemElement[],\n index: number,\n ) {\n items.forEach((item, i) => {\n if (i === index) {\n item.classList.add('highlighted');\n item.setAttribute('tabindex', '0');\n if (!item.checkVisibility()) {\n console.log('Item not focused');\n }\n\n item.focus(); // Forcer le focus ici\n item.scrollIntoView({ block: 'nearest' });\n } else {\n item.classList.remove('highlighted');\n item.setAttribute('tabindex', '-1');\n }\n });\n }\n\n private focusFirstItem() {\n const firstItem = this.el.querySelector('nv-fielddropdownitem');\n if (firstItem) {\n (firstItem as HTMLElement).focus();\n this.updateHighlightedItem(\n Array.from(\n this.el.querySelectorAll('nv-fielddropdownitem'),\n ) as HTMLNvFielddropdownitemElement[],\n 0,\n );\n } else {\n console.warn('No first item found to focus');\n }\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n {(this.label || this.el.querySelector('[slot=\"label\"]')) && (\n <label htmlFor={this.inputId}>\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n <nv-popover\n ref={el => (this.popoverElement = el as HTMLNvPopoverElement)}\n triggerMode=\"controlled\"\n placement=\"bottom-start\"\n open={this.open}\n >\n <div class=\"input-wrapper\" slot=\"trigger\">\n <slot name=\"before-input\"></slot>\n\n <div\n class=\"input-container\"\n onClick={this.handleInputContainerClick}\n >\n <slot name=\"leading-input\"></slot>\n\n {this.isFilterable || this.disabled || this.readonly ? (\n <input\n id={this.inputId}\n type=\"search\"\n ref={e => (this.inputElement = e)}\n autocomplete={this.autocomplete}\n placeholder={this.placeholder}\n name={this.name}\n value={this.value}\n required={this.required}\n disabled={this.disabled}\n readOnly={this.readonly}\n onInput={this.handleInput}\n onFocus={this.handleInputFocus}\n onBlur={this.handleInputBlur}\n onKeyDown={this.handleKeyDown} // Gérer les touches fléchées ici\n />\n ) : (\n <p\n id={this.inputId}\n class=\"non-filterable-text\"\n onClick={this.handleInputContainerClick}\n tabIndex={0} // Ajout du tabindex pour permettre de le focus\n onKeyDown={this.handleKeyDown} // Gérer les touches fléchées ici également\n onFocus={this.handleInputFocus}\n >\n <span>{this.value || this.placeholder}</span>\n </p>\n )}\n\n <nv-iconbutton\n class=\"toggle-dropdown-icon\"\n name={this.open ? 'chevron-top' : 'chevron-down'}\n size=\"md\"\n emphasis=\"lower\"\n aria-label={this.open ? 'Hide dropdown' : 'Show dropdown'}\n aria-pressed={this.open.toString()}\n onClick={this.togglePopover}\n />\n </div>\n\n <slot name=\"after-input\"></slot>\n </div>\n\n <slot name=\"content\"></slot>\n </nv-popover>\n\n {(this.description ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n\n {(this.errorDescription ||\n this.el.querySelector('[slot=\"error-description\"]')) && (\n <div hidden={!this.error} class=\"error-description\">\n <slot name=\"error-description\">{this.errorDescription}</slot>\n </div>\n )}\n </Host>\n );\n }\n //#endregion RENDER\n}\n"]}
1
+ {"version":3,"file":"nv-fielddropdown.js","sourceRoot":"","sources":["../../../src/components/nv-fielddropdown/nv-fielddropdown.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n State,\n Listen,\n Event,\n EventEmitter,\n Watch,\n Method,\n} from '@stencil/core';\n\nimport { v4 as uuidv4 } from 'uuid';\nimport { TextInputAutocomplete } from '../../utils/constants';\nimport { DropdownItemSelectedEventDetail } from '../nv-fielddropdownitem/DropdownItemSelectedEventDetail';\n\n/**\n * @slot content - Use a <ul></ul> tag for the slot, and place <nv-dropdownitem> elements inside.\n * @slot leading-input - Content to be placed before the input text, within the input container.\n * @slot before-input - Content to be placed before the input text, outside the input container.\n * @slot after-input - Content to be placed after the input text, outside the input container.\n * @slot label - Content to be placed as the label, will override the label prop.\n * @slot description - Content to be placed as the description, will override the description prop.\n * @slot error-description - Content to be placed as the error description, will override the errorDescription prop.\n */\n\n@Component({\n tag: 'nv-fielddropdown',\n styleUrl: 'nv-fielddropdown.scss',\n shadow: false,\n formAssociated: true,\n})\nexport class NVFieldDropDown {\n @Element() el: HTMLNvFielddropdownElement;\n private inputElement!: HTMLInputElement;\n private popoverElement!: HTMLNvPopoverElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the ID for the input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated\n * to ensure unique identification, facilitating proper label association and\n * accessibility.\n */\n @Prop({ reflect: true })\n readonly inputId: string = uuidv4();\n\n /**\n * Lets you define the text that explains what users should enter in the text\n * input field. It’s a crucial element for making forms clear and\n * user-friendly.\n */\n @Prop({ reflect: true })\n readonly label: string;\n\n /**\n * Add helpful hints or extra information under the text input field. This is\n * where you can clarify what users should enter or provide additional\n * instructions, making the form easier to fill out correctly.\n */\n @Prop({ reflect: true })\n readonly description: string;\n\n /**\n * Display temporary text inside the input field to give users a hint about\n * what to type. It’s a great way to provide examples or suggestions directly\n * in the field before they start typing.\n * The placeholder is displayed only when the filterable option is enabled.\n */\n @Prop({ reflect: true })\n readonly placeholder: string;\n\n /**\n * Defines the name attribute of the input field, which is crucial for form\n * submission. This value is used as the key in the key-value pair sent to\n * the server, representing the input’s data in form submissions. It should be\n * unique within the form to avoid conflicts.\n */\n @Prop({ reflect: true })\n readonly name: string;\n\n /**\n * State of the dropdown popover.\n */\n @Prop({ reflect: true, mutable: true })\n open: boolean = false;\n\n /**\n * The autocomplete prop helps users fill out the input field faster by\n * suggesting entries they’ve used before, like their email or address.\n * You can turn it on to make forms more convenient or off to ensure users\n * always type in fresh data.\n */\n @Prop({ reflect: true })\n readonly autocomplete: `${TextInputAutocomplete}` = 'off';\n\n /**\n * Specifies the value of the input field, which determines the text displayed\n * within the field. This prop is typically used in controlled components\n * where the input’s value is managed by the component’s state.\n */\n @Prop({ reflect: true, mutable: true })\n value: string;\n\n /**\n * Marks the input field as required, ensuring that the user must fill it out\n * before submitting the form.\n */\n @Prop({ reflect: true })\n readonly required: boolean = false;\n\n /**\n * Alters the input field’s appearance to indicate an error, helping users\n * identify fields that need correction.\n * @validator error\n */\n @Prop({ reflect: true })\n readonly error: boolean = false;\n\n /**\n * A description that appears when there is an error related to the dropdown\n * field.\n * @validator message\n */\n @Prop({ reflect: true })\n readonly errorDescription: string;\n\n /**\n * Display the input field’s content without allowing users to change it.\n * Users can still click on it, select, and copy the text, but they won’t be\n * able to type or delete anything.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n /**\n * The disabled prop lets you turn off the input field so that users can’t\n * type in it. When disabled, the field is grayed out and won’t respond to\n * clicks or touches.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * The text to display when no items match the filter.\n */\n @Prop({ reflect: true })\n readonly emptyresult: string = 'No results found';\n\n /**\n * The text entered by the user for filtering dropdown items.\n */\n @State()\n filterText: string = '';\n\n /**\n * Enables or disables the filtering feature for the dropdown items.\n */\n @Prop({ reflect: true, mutable: true })\n filterable: boolean = false;\n\n @State()\n isFilterable: boolean = this.filterable;\n\n @State()\n selectedValues: Set<string> = new Set();\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Event emitted when an item is selected.\n */\n @Event()\n dropdownItemSelected: EventEmitter<DropdownItemSelectedEventDetail>;\n\n @Listen('itemSelected')\n handleItemSelected(event: CustomEvent<DropdownItemSelectedEventDetail>) {\n if (this.disabled || this.readonly) return;\n\n // Retrieve all nv-fielddropdownitem elements present in the dropdown.\n const items = Array.from(\n this.el.querySelectorAll('nv-fielddropdownitem'),\n ) as HTMLNvFielddropdownitemElement[];\n\n // For each item, remove the 'selected' attribute and the 'selected' class.\n items.forEach(item => {\n if (item !== event.target) {\n item.removeAttribute('selected');\n item.classList.remove('selected');\n }\n });\n\n // Update the value and emit the event with the selected item.\n this.value = event.detail.value;\n (event.target as HTMLNvFielddropdownitemElement).setAttribute(\n 'selected',\n 'true',\n );\n (event.target as HTMLElement).classList.add('selected');\n this.dropdownItemSelected.emit(event.detail);\n\n // Close the popover after selecting.\n if (this.popoverElement) {\n this.popoverElement.hide();\n }\n }\n\n /**\n * Emitted when the input value changes.\n * @bind value\n */\n @Event()\n valueChanged: EventEmitter<string>;\n\n @Listen('openChanged')\n handleOpenChanged(event: CustomEvent<boolean>) {\n this.open = event.detail; // Update `open` based on the popover state\n }\n\n @Watch('filterable')\n watchFilterableHandler(newValue: boolean) {\n this.isFilterable = newValue;\n this.filterable = newValue;\n }\n\n @Watch('value')\n watchValueHandler(newValue: string) {\n if (newValue) {\n this.updateSelectedItem(newValue);\n }\n }\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region METHODS\n\n componentWillLoad() {\n if (this.value) {\n // If an initial value exists, set it as selected\n this.updateSelectedItem(this.value);\n }\n }\n\n componentDidLoad() {\n document.addEventListener('click', this.handleClickOutside.bind(this));\n\n // Check again after complete rendering\n if (this.value) {\n this.updateSelectedItem(this.value);\n }\n }\n\n /**\n * Subscribe to click outside event.\n */\n connectedCallback() {\n document.addEventListener('click', this.handleClickOutside.bind(this));\n\n // First, reset the filter to ensure all elements are visible\n this.resetFilter();\n\n // Then, handle the pre-selection\n this.setInitialSelection();\n\n // Finally, apply the filter if needed\n if (this.filterable && this.filterText) {\n this.filterItems();\n }\n }\n\n /**\n * Set the initial selection based on the current value and update the inputElement value.\n */\n private setInitialSelection() {\n const items = Array.from(\n this.el.querySelectorAll('nv-fielddropdownitem'),\n ) as HTMLNvFielddropdownitemElement[];\n\n const selectedItem = items.find(\n item =>\n item.getAttribute('label') === this.value ||\n item.getAttribute('value') === this.value ||\n item.textContent?.trim() === this.value,\n );\n\n items.forEach(item => {\n item.removeAttribute('selected');\n item.classList.remove('selected');\n });\n\n if (selectedItem) {\n selectedItem.setAttribute('selected', 'true');\n selectedItem.classList.add('selected');\n this.value =\n selectedItem.getAttribute('label') ||\n selectedItem.getAttribute('value') ||\n selectedItem.textContent?.trim() ||\n '';\n if (this.inputElement) {\n this.inputElement.value = this.value;\n }\n } else {\n console.warn('No matching item found for value:', this.value);\n }\n }\n\n /**\n * Unsubscribe from click outside event.\n */\n disconnectedCallback() {\n document.removeEventListener('click', this.handleClickOutside.bind(this));\n }\n\n /**\n * Handle click on the input container.\n * @param {MouseEvent} event - The click event.\n */\n private handleInputContainerClick = (event: MouseEvent) => {\n if (this.disabled || this.readonly) {\n return; // Do nothing if the dropdown is disabled or read-only\n }\n\n const target = event.target as HTMLElement;\n\n // Check if it is the paragraph or another part of the container\n if (target.tagName === 'P' || target.tagName === 'SPAN') {\n this.open = true;\n this.popoverElement.show();\n\n // Simulate focus to trigger \"focus-within\" style\n const inputContainer = this.el.querySelector(\n '.input-container',\n ) as HTMLElement;\n if (inputContainer) {\n inputContainer.classList.add('focus-within');\n\n // Remove the \"focus-within\" class after a delay or when the popover is closed\n const removeFocusWithin = () => {\n inputContainer.classList.remove('focus-within');\n };\n\n // Or remove the class when the popover is closed\n this.popoverElement.addEventListener('hide', removeFocusWithin);\n }\n }\n };\n\n /**\n * Handle input change.\n * @param {Event} event - The input event.\n */\n private handleInput = (event: Event) => {\n if (!this.filterable) return; // Do not filter if `filterable` is false\n if (this.disabled || this.readonly) {\n return; // Do not toggle the state if the dropdown is disabled or read-only\n }\n const input = event.target as HTMLInputElement;\n this.filterText = input.value.toLowerCase();\n this.value = input.value; // Update the value\n this.valueChanged.emit(input.value); // Emit an event if needed\n this.filterItems(); // Update the visibility of items\n };\n\n /**\n * Filter dropdown items based on the text entered by the user.\n * If no items are found, display a message indicating no results.\n */\n private filterItems() {\n const items = Array.from(\n this.el.querySelectorAll('nv-fielddropdownitem'),\n ) as HTMLNvFielddropdownitemElement[];\n\n // Remove the \"no results found\" item if it exists\n const existingEmptyItem = this.el.querySelector(\n 'nv-fielddropdownitem[data-empty]',\n );\n if (existingEmptyItem) {\n existingEmptyItem.remove();\n }\n\n let hasVisibleItems = false;\n\n // Iterate over all items and adjust their visibility\n items.forEach(item => {\n const textContent = item.textContent?.toLowerCase() || ''; // Get the textual content of the slot\n const value = item.value?.toLowerCase() || ''; // Get the value of the `value` attribute\n\n // Check if the filtered text is present either in the value or in the textual content\n const shouldShow =\n value.includes(this.filterText) ||\n textContent.includes(this.filterText);\n\n item.style.display = shouldShow ? '' : 'none'; // Hide or show the item\n\n if (shouldShow) {\n hasVisibleItems = true;\n }\n });\n\n // If no items are visible, add the \"no results found\" item\n if (!hasVisibleItems) {\n const emptyItem = document.createElement('nv-fielddropdownitem');\n emptyItem.setAttribute('data-empty', 'true');\n emptyItem.setAttribute('disabled', 'true');\n emptyItem.textContent = this.emptyresult;\n this.el.querySelector('ul[slot=\"content\"]')?.appendChild(emptyItem);\n }\n }\n\n /**\n * Reset the filter and make all items visible.\n */\n private resetFilter() {\n const items = Array.from(\n this.el.querySelectorAll('nv-fielddropdownitem'),\n ) as HTMLNvFielddropdownitemElement[];\n\n items.forEach(item => {\n item.style.display = '';\n });\n }\n\n /**\n * Retrieves the current filter text entered by the user.\n * @returns {string} The filter text.\n */\n @Method()\n async getFilterText(): Promise<string> {\n return this.filterText;\n }\n\n /**\n * Handle click outside the component.\n * @param {MouseEvent} event - The click event.\n */\n private handleClickOutside(event: MouseEvent) {\n if (\n this.el.contains(event.target as Node) ||\n (this.inputElement && this.inputElement.contains(event.target as Node))\n ) {\n return;\n }\n this.popoverElement.hide();\n }\n\n /**\n * Handle input focus.\n */\n private handleInputFocus = () => {\n if (this.disabled || this.readonly) {\n return; // Do not toggle the state if the dropdown is disabled or read-only\n }\n this.open = true; // Force the popover to open\n };\n\n /**\n * Handle input blur.\n */\n private handleInputBlur = () => {\n // Use a delay to check if the focus is still within the popover\n setTimeout(() => {\n if (!this.el.contains(document.activeElement)) {\n this.open = false;\n this.popoverElement.hide(); // Close the popover if the focus is outside the component\n }\n }, 150);\n };\n\n /**\n * Toggle the dropdown popover.\n * @returns {void}\n */\n private togglePopover = (): void => {\n if (this.disabled || this.readonly) {\n return; // Do not toggle if disabled or read-only\n }\n\n this.open = !this.open;\n if (this.open) {\n this.popoverElement.show();\n\n // Si le dropdown n'est pas filtrable, focus sur le premier élément\n if (!this.filterable) {\n this.focusFirstItem();\n }\n } else {\n this.popoverElement.hide();\n }\n };\n\n @Listen('keydown', { passive: false })\n handleKeyDown(event: KeyboardEvent) {\n if (!this.open) {\n if (event.key === 'ArrowDown') {\n this.open = true;\n this.popoverElement.show();\n\n if (!this.filterable) {\n // Focus sur le premier élément si ce n'est pas filtrable\n this.focusFirstItem();\n }\n\n event.preventDefault();\n return;\n }\n return;\n }\n\n // Vérifiez si le popover est défini avant de chercher les items\n if (!this.popoverElement) {\n console.warn('Popover element is not defined');\n return;\n }\n\n const items = Array.from(\n this.el.querySelectorAll('nv-fielddropdownitem:not([data-empty])'),\n ) as HTMLNvFielddropdownitemElement[];\n\n // Vérifiez si les items existent\n if (items.length === 0) {\n console.warn('No dropdown items found to navigate');\n return;\n }\n\n let currentIndex = items.findIndex(item =>\n item.classList.contains('highlighted'),\n );\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n currentIndex = (currentIndex + 1) % items.length;\n this.updateHighlightedItem(items, currentIndex);\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n currentIndex = (currentIndex - 1 + items.length) % items.length;\n this.updateHighlightedItem(items, currentIndex);\n } else if (event.key === 'Enter' && currentIndex >= 0) {\n event.preventDefault();\n items[currentIndex].click();\n } else if (event.key === 'Escape') {\n event.preventDefault();\n this.open = false;\n this.popoverElement.hide();\n if (this.inputElement) {\n this.inputElement.blur();\n }\n }\n }\n\n private updateHighlightedItem(\n items: HTMLNvFielddropdownitemElement[],\n index: number,\n ) {\n items.forEach((item, i) => {\n if (i === index) {\n item.classList.add('highlighted');\n item.setAttribute('tabindex', '0');\n item.focus(); // Forcer le focus ici\n item.scrollIntoView({ block: 'nearest' });\n } else {\n item.classList.remove('highlighted');\n item.setAttribute('tabindex', '-1');\n }\n });\n }\n\n private focusFirstItem() {\n const firstItem = this.el.querySelector('nv-fielddropdownitem');\n if (firstItem) {\n (firstItem as HTMLElement).focus();\n this.updateHighlightedItem(\n Array.from(\n this.el.querySelectorAll('nv-fielddropdownitem'),\n ) as HTMLNvFielddropdownitemElement[],\n 0,\n );\n } else {\n console.warn('No first item found to focus');\n }\n }\n\n private updateSelectedItem(value: string) {\n const items = Array.from(\n this.el.querySelectorAll('nv-fielddropdownitem'),\n ) as HTMLNvFielddropdownitemElement[];\n\n // Reset all items\n items.forEach(item => {\n item.removeAttribute('selected');\n item.classList.remove('selected');\n });\n\n // Find the item matching the value\n const matchingItem = items.find(item => {\n const itemLabel = item.getAttribute('label');\n const itemValue = item.getAttribute('value');\n const itemText = item.textContent?.trim();\n\n return itemLabel === value || itemValue === value || itemText === value;\n });\n\n if (matchingItem) {\n // Mark the item as selected\n matchingItem.setAttribute('selected', 'true');\n matchingItem.classList.add('selected');\n\n // Update the input\n if (this.inputElement) {\n this.inputElement.value = value;\n }\n\n // Emit the selection event\n this.dropdownItemSelected.emit({\n value: value,\n label: matchingItem.getAttribute('label') || value,\n selected: true,\n disabled: matchingItem.hasAttribute('disabled'),\n });\n }\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n {(this.label || this.el.querySelector('[slot=\"label\"]')) && (\n <label htmlFor={this.inputId}>\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n <nv-popover\n ref={el => (this.popoverElement = el as HTMLNvPopoverElement)}\n triggerMode=\"controlled\"\n placement=\"bottom-start\"\n open={this.open}\n >\n <div class=\"input-wrapper\" slot=\"trigger\">\n <slot name=\"before-input\"></slot>\n\n <div\n class=\"input-container\"\n onClick={this.handleInputContainerClick}\n >\n <slot name=\"leading-input\"></slot>\n\n {this.isFilterable || this.disabled || this.readonly ? (\n <input\n id={this.inputId}\n type=\"search\"\n ref={e => (this.inputElement = e)}\n autocomplete={this.autocomplete}\n placeholder={this.placeholder}\n name={this.name}\n value={this.value}\n required={this.required}\n disabled={this.disabled}\n readOnly={this.readonly}\n onInput={this.handleInput}\n onFocus={this.handleInputFocus}\n onBlur={this.handleInputBlur}\n onKeyDown={this.handleKeyDown} // Gérer les touches fléchées ici\n />\n ) : (\n <p\n id={this.inputId}\n class=\"non-filterable-text\"\n onClick={this.handleInputContainerClick}\n tabIndex={0} // Ajout du tabindex pour permettre de le focus\n onKeyDown={this.handleKeyDown} // Gérer les touches fléchées ici également\n onFocus={this.handleInputFocus}\n >\n <span>{this.value || this.placeholder}</span>\n </p>\n )}\n\n <nv-iconbutton\n class=\"toggle-dropdown-icon\"\n name={this.open ? 'chevron-top' : 'chevron-down'}\n size=\"md\"\n emphasis=\"lower\"\n aria-label={this.open ? 'Hide dropdown' : 'Show dropdown'}\n aria-pressed={this.open.toString()}\n onClick={this.togglePopover}\n />\n </div>\n\n <slot name=\"after-input\"></slot>\n </div>\n\n <slot name=\"content\"></slot>\n </nv-popover>\n\n {(this.description ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n\n {(this.errorDescription ||\n this.el.querySelector('[slot=\"error-description\"]')) && (\n <div hidden={!this.error} class=\"error-description\">\n <slot name=\"error-description\">{this.errorDescription}</slot>\n </div>\n )}\n </Host>\n );\n }\n //#endregion RENDER\n}\n"]}
@@ -50,7 +50,7 @@ export class NvFielddropdownitem {
50
50
  //#region RENDER
51
51
  render() {
52
52
  const showDefaultLayout = this.isNullOrEmptyOrWhitespace(this.label);
53
- return (h(Host, { key: '0b0070ad824841f49bf5c24423131c46c41ef4ef', role: "menuitem", tabindex: this.disabled ? '-1' : '0', onClick: this.handleClick, class: { selected: this.selected } }, showDefaultLayout ? (h("slot", null)) : (h("div", { class: "dropdown-item-text-wrapper" }, h("span", { "data-scope": "text" }, this.label), this.selected && (h("nv-icon", { name: "check", "aria-hidden": "true", class: "selection-icon" }))))));
53
+ return (h(Host, { key: 'e482a762c7b011389f1f1312b14f1686e38528aa', role: "menuitem", tabindex: this.disabled ? '-1' : '0', onClick: this.handleClick, class: { selected: this.selected } }, showDefaultLayout ? (h("slot", null)) : (h("div", { class: "dropdown-item-text-wrapper" }, h("span", { "data-scope": "text" }, this.label), this.selected && (h("nv-icon", { name: "check", "aria-hidden": "true", class: "selection-icon" }))))));
54
54
  }
55
55
  static get is() { return "nv-fielddropdownitem"; }
56
56
  static get originalStyleUrls() {
@@ -101,9 +101,9 @@ export class NvFieldnumber {
101
101
  /****************************************************************************/
102
102
  //#region RENDER
103
103
  render() {
104
- return (h(Host, { key: '5d63f2dca1678d7ea971b52a40f55481eae421d6' }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: '145560063839b6fe34e3c8431003d5f5fb5eb65d', htmlFor: this.inputId }, h("slot", { key: 'd36ca2394cf3ce62c7d5f6177480a41979d7d1cb', name: "label" }, this.label))), h("div", { key: 'c53243b5f2019033a24b22120e1bd5209c415075', class: "input-wrapper" }, h("slot", { key: 'e32e0fdd6b0e27cbb719b3d962fb6417eb2f3e1b', name: "before-input" }), h("div", { key: 'b9de75924bde8a2cd1108e34173d0f867f0bdcea', class: "input-container", onClick: this.handleInputContainerClick }, h("slot", { key: '4d0bbdce8201370f1f62d06eabb5a2bd3b248c1f', name: "leading-input" }), h("input", { key: '0c85ade03f9ca7e6c3aca788b3a107d0807d7b70', id: this.inputId, ref: e => (this.inputElement = e), placeholder: this.placeholder, name: this.name, type: "number", required: this.required, max: this.max, min: this.min, step: this.step, value: this.value, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput }), this.error && (h("nv-icon", { key: '5da0668775a6841bf01c662009ec7bf9048b1622', name: "alert-circle", class: "validation", size: "md" })), this.success && (h("nv-icon", { key: 'be8e6e9e3c5428885aed216f49f1510b0fb29201', name: "circle-check", class: "validation", size: "md" })), h("div", { key: '84ddbc5eb7e35ea216e0c9650dcbcb865e3bd726', class: "stepper-spacer" }), h("div", { key: '9ba5a8087ef4fa46614d1c7492c80781af5c4a40', class: "stepper" }, h("nv-icon", { key: 'a3b5adffd9b7a5a266711f02ed2862e84f2a5839', name: "minus", size: "md", onClick: this.handleMinus, class: clsx({ disabled: this.isMinValueReached() }) }), h("nv-icon", { key: '1a37933cfeab32a057807173a3b411e23a3c93b0', name: "plus", size: "md", onClick: this.handlePlus, class: clsx({ disabled: this.isMaxValueReached() }) }))), h("slot", { key: '99c9105e0f46dfb5e56fa3949dd99264f61e7be5', name: "after-input" })), (this.description ||
105
- this.el.querySelector('[slot="description"]')) && (h("div", { key: '3b9df6f1e03117123b376c637840e4219ee4e45d', class: "description" }, h("slot", { key: 'deb7681e9d6fe583e418f6d25248b667c4b2fcf0', name: "description" }, this.description))), (this.errorDescription ||
106
- this.el.querySelector('[slot="error-description"]')) && (h("div", { key: '6848cf6e73924df0552ed71078d19cc1423b6d72', hidden: !this.error, class: "error-description" }, h("slot", { key: 'cf5526311207e2fca942ba84a5480cae6917060d', name: "error-description" }, this.errorDescription)))));
104
+ return (h(Host, { key: '440aa92437d7cbd00e09ad8f7aab663ad09c8406' }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: 'e892aef7b1534c6d73181d2d25fe7f17945524ac', htmlFor: this.inputId }, h("slot", { key: '77489c52e374149a75effa7d3f4ab97c3109a13c', name: "label" }, this.label))), h("div", { key: 'a1d23b332303ac468771b2b7dd2a31d21d9a3487', class: "input-wrapper" }, h("slot", { key: '76f9993d1168a004b1de82b1e19b99062e7b6386', name: "before-input" }), h("div", { key: 'a51ec42108436d853c2e74aeb64088dc071074f7', class: "input-container", onClick: this.handleInputContainerClick }, h("slot", { key: '9084cef7de60e84db9dc7042b64e6c64a4a8f5d7', name: "leading-input" }), h("input", { key: '395d2d7a2b8157495735b47cac47fd37e7c24c7e', id: this.inputId, ref: e => (this.inputElement = e), placeholder: this.placeholder, name: this.name, type: "number", required: this.required, max: this.max, min: this.min, step: this.step, value: this.value, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput }), this.error && (h("nv-icon", { key: 'e015cebd60a0bda842dd8aff05dbce27586e861c', name: "alert-circle", class: "validation", size: "md" })), this.success && (h("nv-icon", { key: '42a0ea62a160f92150d949789694d1d6e992c39d', name: "circle-check", class: "validation", size: "md" })), h("div", { key: '9df0a8c66b6086dfcd0e1c48e21d4d1866ed4563', class: "stepper-spacer" }), h("div", { key: 'a4d16b2f50878ecdb5a322b6707fce5e908e88a0', class: "stepper" }, h("nv-icon", { key: 'edf55fafe8d8f58aab7b5083d630905e78783c2e', name: "minus", size: "md", onClick: this.handleMinus, class: clsx({ disabled: this.isMinValueReached() }) }), h("nv-icon", { key: '04d7e7b4fdc80d444ab64660f71c998bbce0f73a', name: "plus", size: "md", onClick: this.handlePlus, class: clsx({ disabled: this.isMaxValueReached() }) }))), h("slot", { key: '9893c52a46ad08a1ccb301411141bd723af33b21', name: "after-input" })), (this.description ||
105
+ this.el.querySelector('[slot="description"]')) && (h("div", { key: 'b21b984e9695fab93a198ef58a3bd394bfc3aaa3', class: "description" }, h("slot", { key: '1750efcd886f70078848f608e0be326324ea6928', name: "description" }, this.description))), (this.errorDescription ||
106
+ this.el.querySelector('[slot="error-description"]')) && (h("div", { key: '14cde2f86fd23c98fafb2cd4645e7af64ce6c011', hidden: !this.error, class: "error-description" }, h("slot", { key: '96e1a6084ec5467cf35e1eb3e86fa6b757f2574c', name: "error-description" }, this.errorDescription)))));
107
107
  }
108
108
  static get is() { return "nv-fieldnumber"; }
109
109
  static get formAssociated() { return true; }
@@ -101,9 +101,9 @@ export class NvFieldpassword {
101
101
  /****************************************************************************/
102
102
  //#region RENDER
103
103
  render() {
104
- return (h(Host, { key: '40f6d172ebe46636a4240e010cc1dd9eb9e90e79' }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: 'dc7b47c5796cfc862e1dafbe6720fe725662dd2c', htmlFor: this.inputId }, h("slot", { key: 'a5696e12f593408bb20b92e49c0c5a6b21fef9b1', name: "label" }, this.label))), h("div", { key: 'a1856e68415b5685982e936588791d36c9188d29', class: "input-wrapper" }, h("slot", { key: 'ee701f5efbc0f7dcdbfd8d8494eb660ed9081f80', name: "before-input" }), h("div", { key: '3a2b900d7fadac36538d936cc6853fe855713f26', class: "input-container", onClick: this.handleInputContainerClick }, h("slot", { key: 'b59c93d7457f00ff7b7cb4fcd7caca927a197dc4', name: "leading-input" }), h("input", { key: '67755bdf835476b8511083ba6e35ed5eca8868e5', id: this.inputId, ref: e => (this.inputElement = e), autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, type: this.showPasswordState ? 'text' : 'password', inputMode: this.mode, value: this.value, required: this.required, maxlength: this.maxlength, minlength: this.minlength, pattern: this.pattern, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput }), !this.hidePasswordIcon && (h("nv-iconbutton", { key: 'd9ffdbb9a4bd76d30c6adbb5ada4a989c6bdc092', class: "toggle-password-icon", name: this.showPasswordState ? 'eye' : 'eye-off', size: "md", emphasis: "lower", onClick: this.togglePasswordVisibility, onKeyDown: this.handleKeyDown, "aria-label": this.showPasswordState ? 'Hide password' : 'Show password', "aria-pressed": this.showPasswordState.toString() })), (this.success || this.error) && (h("nv-icon", { key: '40b2376b0cf815998eede9c8917f1126cda51d28', name: this.success ? 'circle-check' : 'alert-circle', class: "validation", size: "md" }))), h("slot", { key: '6ae6f802256ac343a232bb24f7b7ec7e21ee5dd0', name: "after-input" })), (this.description ||
105
- this.el.querySelector('[slot="description"]')) && (h("div", { key: 'e08e5965bebe38262e5efd30f0ab3d3a905083ff', class: "description" }, h("slot", { key: '8554c3620920efc3dd108b5e4f0e79dddc55c845', name: "description" }, this.description))), (this.errorDescription ||
106
- this.el.querySelector('[slot="error-description"]')) && (h("div", { key: 'cf40170d0e1c8de40601b1ef2d3a8260a07cf7e9', hidden: !this.error, class: "error-description" }, h("slot", { key: 'e3b0ff01a8ffd569d2eb2c2e3a188cb6e53f0f6f', name: "error-description" }, this.errorDescription)))));
104
+ return (h(Host, { key: '77ade2d0b5b4282b16925957709433d047a730c7' }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: '158f0347fa53cebea4b89ceee56c8d92c801861f', htmlFor: this.inputId }, h("slot", { key: '6ad0d4a2b7d0e6c32249f8ecfc221523999a7e86', name: "label" }, this.label))), h("div", { key: '7cab4de8be04d0cbdbaee4b3ea64fcb6d9043ca5', class: "input-wrapper" }, h("slot", { key: '808e2c1308b7e095f5207cd9a9198c4667bf2310', name: "before-input" }), h("div", { key: '23f6b0833be73faef6d46dcf0c007c1c16c59681', class: "input-container", onClick: this.handleInputContainerClick }, h("slot", { key: 'f53ff33bc75dd2417cac55a39e1f24875375c564', name: "leading-input" }), h("input", { key: '70e7e28f957224c7613a1da4b2156afeba706d14', id: this.inputId, ref: e => (this.inputElement = e), autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, type: this.showPasswordState ? 'text' : 'password', inputMode: this.mode, value: this.value, required: this.required, maxlength: this.maxlength, minlength: this.minlength, pattern: this.pattern, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput }), !this.hidePasswordIcon && (h("nv-iconbutton", { key: '96742eeecc9de1bf4ae753fc8c64c2e436e5af86', class: "toggle-password-icon", name: this.showPasswordState ? 'eye' : 'eye-off', size: "md", emphasis: "lower", onClick: this.togglePasswordVisibility, onKeyDown: this.handleKeyDown, "aria-label": this.showPasswordState ? 'Hide password' : 'Show password', "aria-pressed": this.showPasswordState.toString() })), (this.success || this.error) && (h("nv-icon", { key: '71666d2e39bc4fe5057ec014cc788f3b734c0e69', name: this.success ? 'circle-check' : 'alert-circle', class: "validation", size: "md" }))), h("slot", { key: '7d232c975753c74ce8419b6258dd63f7ca7ab811', name: "after-input" })), (this.description ||
105
+ this.el.querySelector('[slot="description"]')) && (h("div", { key: 'f9330dd27bce24c81d2fb58c0da7a8de079deb87', class: "description" }, h("slot", { key: '61b9f61075435d7854603aa9e4700a755e0eeb4f', name: "description" }, this.description))), (this.errorDescription ||
106
+ this.el.querySelector('[slot="error-description"]')) && (h("div", { key: 'f4e9183622a9451baa054eea9eb7113b38aa72c2', hidden: !this.error, class: "error-description" }, h("slot", { key: '234af9d31bc011493f700f34a707305a8fb421d4', name: "error-description" }, this.errorDescription)))));
107
107
  }
108
108
  static get is() { return "nv-fieldpassword"; }
109
109
  static get formAssociated() { return true; }
@@ -409,7 +409,7 @@ export class NvFieldpassword {
409
409
  "optional": false,
410
410
  "docs": {
411
411
  "tags": [],
412
- "text": "Set rules for how the input should be formatted. For example, you can\nrequire that a phone number includes only digits or that an email address\nhas the correct format. If users don\u2019t follow these rules, they\u2019ll get a\nprompt to correct their input.\nthe rules are applied to the input value via regexes."
412
+ "text": "Set rules for how the input should be formatted. For example, you can\nrequire that a phone number includes only digits or that an email address\nhas the correct format. If users don\u2019t follow these rules, they\u2019ll get a\nprompt to correct their input on form submission.\nthe rules are applied to the input value via regexes."
413
413
  },
414
414
  "getter": false,
415
415
  "setter": false,
@@ -444,7 +444,7 @@ export class NvFieldpassword {
444
444
  "mutable": false,
445
445
  "complexType": {
446
446
  "original": "`${TextInputAutocomplete}`",
447
- "resolved": "\"on\" | \"off\" | \"section-*\" | \"shipping\" | \"billing\" | \"home\" | \"work\" | \"mobile\" | \"fax\" | \"pager\" | \"tel\" | \"tel-country-code\" | \"tel-national\" | \"tel-area-code\" | \"tel-local\" | \"tel-local-prefix\" | \"tel-local-suffix\" | \"tel-extension\" | \"email\" | \"impp\" | \"name\" | \"honorific-prefix\" | \"given-name\" | \"additional-name\" | \"family-name\" | \"honorific-suffix\" | \"nickname\" | \"username\" | \"new-password\" | \"current-password\" | \"one-time-code\" | \"organization-title\" | \"organization\" | \"street-address\" | \"address-line1\" | \"address-line2\" | \"address-line3\" | \"address-level4\" | \"address-level3\" | \"address-level2\" | \"address-level1\" | \"country\" | \"country-name\" | \"postal-code\" | \"cc-name\" | \"cc-given-name\" | \"cc-additional-name\" | \"cc-family-name\" | \"cc-number\" | \"cc-exp\" | \"cc-exp-month\" | \"cc-exp-year\" | \"cc-csc\" | \"cc-type\" | \"transaction-currency\" | \"transaction-amount\" | \"language\" | \"bday\" | \"bday-day\" | \"bday-month\" | \"bday-year\" | \"sex\" | \"url\" | \"photo\"",
447
+ "resolved": "\"on\" | \"off\" | \"home\" | \"section-*\" | \"shipping\" | \"billing\" | \"work\" | \"mobile\" | \"fax\" | \"pager\" | \"tel\" | \"tel-country-code\" | \"tel-national\" | \"tel-area-code\" | \"tel-local\" | \"tel-local-prefix\" | \"tel-local-suffix\" | \"tel-extension\" | \"email\" | \"impp\" | \"name\" | \"honorific-prefix\" | \"given-name\" | \"additional-name\" | \"family-name\" | \"honorific-suffix\" | \"nickname\" | \"username\" | \"new-password\" | \"current-password\" | \"one-time-code\" | \"organization-title\" | \"organization\" | \"street-address\" | \"address-line1\" | \"address-line2\" | \"address-line3\" | \"address-level4\" | \"address-level3\" | \"address-level2\" | \"address-level1\" | \"country\" | \"country-name\" | \"postal-code\" | \"cc-name\" | \"cc-given-name\" | \"cc-additional-name\" | \"cc-family-name\" | \"cc-number\" | \"cc-exp\" | \"cc-exp-month\" | \"cc-exp-year\" | \"cc-csc\" | \"cc-type\" | \"transaction-currency\" | \"transaction-amount\" | \"language\" | \"bday\" | \"bday-day\" | \"bday-month\" | \"bday-year\" | \"sex\" | \"url\" | \"photo\"",
448
448
  "references": {
449
449
  "TextInputAutocomplete": {
450
450
  "location": "import",