@nova-design-system/nova-webcomponents 3.1.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (409) hide show
  1. package/dist/cjs/{index-9bda5507.js → index-108ddff0.js} +20 -4
  2. package/dist/cjs/index-108ddff0.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +1 -0
  4. package/dist/cjs/index.cjs.js.map +1 -1
  5. package/dist/cjs/loader.cjs.js +2 -2
  6. package/dist/cjs/native.cjs.js +2 -2
  7. package/dist/cjs/nv-alert.cjs.entry.js +1 -1
  8. package/dist/cjs/nv-avatar.cjs.entry.js +1 -1
  9. package/dist/cjs/nv-badge_2.cjs.entry.js +1 -1
  10. package/dist/cjs/nv-breadcrumb.cjs.entry.js +1 -1
  11. package/dist/cjs/nv-breadcrumbs.cjs.entry.js +1 -1
  12. package/dist/cjs/nv-button.cjs.entry.js +1 -1
  13. package/dist/cjs/nv-calendar.cjs.entry.js +16 -37
  14. package/dist/cjs/nv-calendar.cjs.entry.js.map +1 -1
  15. package/dist/cjs/nv-col.cjs.entry.js +1 -1
  16. package/dist/cjs/nv-datagrid.cjs.entry.js +95 -103
  17. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
  18. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +2 -2
  19. package/dist/cjs/nv-datagridcolumn.cjs.entry.js.map +1 -1
  20. package/dist/cjs/nv-dialog.cjs.entry.js +1 -1
  21. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +1 -1
  22. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +1 -1
  23. package/dist/cjs/nv-fielddate.cjs.entry.js +2 -2
  24. package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
  25. package/dist/cjs/nv-fielddaterange.cjs.entry.js +73 -18
  26. package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
  27. package/dist/cjs/nv-fielddropdown.cjs.entry.js +84 -60
  28. package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
  29. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
  30. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +116 -104
  31. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
  32. package/dist/cjs/nv-fieldnumber.cjs.entry.js +2 -2
  33. package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
  34. package/dist/cjs/nv-fieldpassword.cjs.entry.js +2 -2
  35. package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
  36. package/dist/cjs/nv-fieldradio.cjs.entry.js +1 -1
  37. package/dist/cjs/nv-fieldselect.cjs.entry.js +2 -2
  38. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
  39. package/dist/cjs/nv-fieldslider.cjs.entry.js +663 -0
  40. package/dist/cjs/nv-fieldslider.cjs.entry.js.map +1 -0
  41. package/dist/cjs/nv-fieldtext.cjs.entry.js +5 -5
  42. package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -1
  43. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +5 -5
  44. package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
  45. package/dist/cjs/nv-fieldtime.cjs.entry.js +11 -11
  46. package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -1
  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_2.cjs.entry.js +3 -3
  50. package/dist/cjs/nv-menu.cjs.entry.js +2 -2
  51. package/dist/cjs/nv-menuitem.cjs.entry.js +2 -2
  52. package/dist/cjs/nv-popover.cjs.entry.js +2 -2
  53. package/dist/cjs/nv-row.cjs.entry.js +2 -2
  54. package/dist/cjs/nv-stack.cjs.entry.js +2 -2
  55. package/dist/cjs/nv-table.cjs.entry.js +3 -3
  56. package/dist/cjs/nv-tablecolumn.cjs.entry.js +1 -1
  57. package/dist/cjs/nv-toggle.cjs.entry.js +3 -3
  58. package/dist/cjs/nv-tooltip.cjs.entry.js +3 -3
  59. package/dist/cjs/nv-tooltip.cjs.entry.js.map +1 -1
  60. package/dist/collection/collection-manifest.json +1 -0
  61. package/dist/collection/components/nv-calendar/nv-calendar.css +6 -2
  62. package/dist/collection/components/nv-calendar/nv-calendar.js +14 -35
  63. package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -1
  64. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +131 -48
  65. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +1 -1
  66. package/dist/collection/components/nv-datagrid/nv-datagrid.js +94 -152
  67. package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -1
  68. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +20 -1
  69. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js.map +1 -1
  70. package/dist/collection/components/nv-fielddate/styles/nv-fielddate.css +7 -1
  71. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +85 -17
  72. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +1 -1
  73. package/dist/collection/components/nv-fielddaterange/styles/nv-fielddaterange.css +7 -1
  74. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +8 -0
  75. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +1 -1
  76. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +173 -106
  77. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
  78. package/dist/collection/components/nv-fielddropdown/styles/nv-fielddropdown.css +31 -1
  79. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +202 -190
  80. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
  81. package/dist/collection/components/nv-fieldmultiselect/{nv-fieldmultiselect.css → styles/nv-fieldmultiselect.css} +15 -4
  82. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.css +7 -1
  83. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.css +7 -1
  84. package/dist/collection/components/nv-fieldselect/nv-fieldselect.css +7 -1
  85. package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js +264 -0
  86. package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js.map +1 -0
  87. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +1035 -0
  88. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js.map +1 -0
  89. package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js +77 -0
  90. package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js.map +1 -0
  91. package/dist/collection/components/nv-fieldslider/partials/field-input.js +33 -0
  92. package/dist/collection/components/nv-fieldslider/partials/field-input.js.map +1 -0
  93. package/dist/collection/components/nv-fieldslider/partials/range-thumb.js +34 -0
  94. package/dist/collection/components/nv-fieldslider/partials/range-thumb.js.map +1 -0
  95. package/dist/collection/components/nv-fieldslider/partials/single-thumb.js +18 -0
  96. package/dist/collection/components/nv-fieldslider/partials/single-thumb.js.map +1 -0
  97. package/dist/collection/components/nv-fieldslider/partials/tick-marks.js +18 -0
  98. package/dist/collection/components/nv-fieldslider/partials/tick-marks.js.map +1 -0
  99. package/dist/collection/components/nv-fieldslider/styles/nv-fieldslider.css +267 -0
  100. package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js +159 -0
  101. package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js.map +1 -0
  102. package/dist/collection/components/nv-fieldtext/nv-fieldtext.css +15 -1
  103. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +9 -1
  104. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +1 -1
  105. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +4 -3
  106. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +1 -1
  107. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.css +7 -1
  108. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -3
  109. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +9 -9
  110. package/dist/collection/components/nv-fieldtime/styles/nv-fieldtime.css +7 -1
  111. package/dist/collection/components/nv-icon/nv-icon.js +1 -1
  112. package/dist/collection/components/nv-icon/nv-icons.js +1 -0
  113. package/dist/collection/components/nv-icon/nv-icons.js.map +1 -1
  114. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
  115. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  116. package/dist/collection/components/nv-menu/nv-menu.js +1 -1
  117. package/dist/collection/components/nv-menuitem/nv-menuitem.js +2 -2
  118. package/dist/collection/components/nv-popover/nv-popover.js +1 -1
  119. package/dist/collection/components/nv-row/nv-row.js +1 -1
  120. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  121. package/dist/collection/components/nv-table/nv-table.js +2 -2
  122. package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
  123. package/dist/collection/components/nv-tooltip/nv-tooltip.css +1 -0
  124. package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
  125. package/dist/collection/interfaces/Column.js.map +1 -1
  126. package/dist/components/index.js +2 -1
  127. package/dist/components/index.js.map +1 -1
  128. package/dist/components/nv-alert.js +2 -2
  129. package/dist/components/nv-avatar.js +2 -2
  130. package/dist/components/nv-badge.js +1 -1
  131. package/dist/components/nv-breadcrumb.js +3 -3
  132. package/dist/components/nv-breadcrumbs.js +1 -1
  133. package/dist/components/nv-button.js +1 -1
  134. package/dist/components/nv-calendar.js +1 -1
  135. package/dist/components/nv-col.js +1 -1
  136. package/dist/components/nv-datagrid.js +97 -109
  137. package/dist/components/nv-datagrid.js.map +1 -1
  138. package/dist/components/nv-datagridcolumn.js +4 -3
  139. package/dist/components/nv-datagridcolumn.js.map +1 -1
  140. package/dist/components/nv-dialog.js +6 -6
  141. package/dist/components/nv-dialogfooter.js +1 -1
  142. package/dist/components/nv-dialogheader.js +1 -1
  143. package/dist/components/nv-fieldcheckbox.js +1 -1
  144. package/dist/components/nv-fielddate.js +9 -9
  145. package/dist/components/nv-fielddate.js.map +1 -1
  146. package/dist/components/nv-fielddaterange.js +83 -27
  147. package/dist/components/nv-fielddaterange.js.map +1 -1
  148. package/dist/components/nv-fielddropdown.js +98 -72
  149. package/dist/components/nv-fielddropdown.js.map +1 -1
  150. package/dist/components/nv-fielddropdownitem.js +1 -1
  151. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  152. package/dist/components/nv-fieldmultiselect.js +132 -120
  153. package/dist/components/nv-fieldmultiselect.js.map +1 -1
  154. package/dist/components/nv-fieldnumber.js +5 -5
  155. package/dist/components/nv-fieldnumber.js.map +1 -1
  156. package/dist/components/nv-fieldpassword.js +5 -5
  157. package/dist/components/nv-fieldpassword.js.map +1 -1
  158. package/dist/components/nv-fieldradio.js +1 -1
  159. package/dist/components/nv-fieldselect.js +5 -5
  160. package/dist/components/nv-fieldselect.js.map +1 -1
  161. package/dist/components/nv-fieldslider.d.ts +11 -0
  162. package/dist/components/nv-fieldslider.js +726 -0
  163. package/dist/components/nv-fieldslider.js.map +1 -0
  164. package/dist/components/nv-fieldtext.js +1 -1
  165. package/dist/components/nv-fieldtextarea.js +5 -5
  166. package/dist/components/nv-fieldtextarea.js.map +1 -1
  167. package/dist/components/nv-fieldtime.js +15 -15
  168. package/dist/components/nv-fieldtime.js.map +1 -1
  169. package/dist/components/nv-icon.js +1 -1
  170. package/dist/components/nv-iconbutton.js +1 -1
  171. package/dist/components/nv-loader.js +1 -1
  172. package/dist/components/nv-menu.js +5 -5
  173. package/dist/components/nv-menuitem.js +1 -1
  174. package/dist/components/nv-popover.js +1 -1
  175. package/dist/components/nv-row.js +2 -2
  176. package/dist/components/nv-stack.js +2 -2
  177. package/dist/components/nv-table.js +3 -3
  178. package/dist/components/nv-tablecolumn.js +1 -1
  179. package/dist/components/nv-toggle.js +3 -3
  180. package/dist/components/nv-tooltip.js +1 -1
  181. package/dist/components/{p-10faa938.js → p-04cb3a6f.js} +5 -5
  182. package/dist/components/{p-10faa938.js.map → p-04cb3a6f.js.map} +1 -1
  183. package/dist/components/{p-0a0f6daf.js → p-07a89754.js} +3 -3
  184. package/dist/components/{p-0a0f6daf.js.map → p-07a89754.js.map} +1 -1
  185. package/dist/components/{p-10b37876.js → p-0ab80d95.js} +3 -3
  186. package/dist/components/{p-10b37876.js.map → p-0ab80d95.js.map} +1 -1
  187. package/dist/components/{p-02752770.js → p-33e231f4.js} +2 -2
  188. package/dist/components/{p-02752770.js.map → p-33e231f4.js.map} +1 -1
  189. package/dist/components/{p-854c32dc.js → p-4656efae.js} +21 -42
  190. package/dist/components/p-4656efae.js.map +1 -0
  191. package/dist/components/{p-35a70c5e.js → p-581e67cc.js} +3 -3
  192. package/dist/components/{p-35a70c5e.js.map → p-581e67cc.js.map} +1 -1
  193. package/dist/components/{p-1c45c0f2.js → p-679e0fa9.js} +16 -4
  194. package/dist/components/p-679e0fa9.js.map +1 -0
  195. package/dist/components/p-76a30bf1.js +88 -0
  196. package/dist/components/p-76a30bf1.js.map +1 -0
  197. package/dist/components/{p-f5cb0a63.js → p-83c8873a.js} +3 -3
  198. package/dist/components/{p-f5cb0a63.js.map → p-83c8873a.js.map} +1 -1
  199. package/dist/components/{p-f76bb0c3.js → p-c0a91091.js} +5 -5
  200. package/dist/components/p-c0a91091.js.map +1 -0
  201. package/dist/components/{p-41c56ddc.js → p-cbdc2c8b.js} +5 -5
  202. package/dist/components/{p-41c56ddc.js.map → p-cbdc2c8b.js.map} +1 -1
  203. package/dist/components/{p-a2527411.js → p-cbe9521f.js} +3 -3
  204. package/dist/components/{p-a2527411.js.map → p-cbe9521f.js.map} +1 -1
  205. package/dist/components/{p-608eb9da.js → p-d19b41d2.js} +2 -2
  206. package/dist/components/{p-608eb9da.js.map → p-d19b41d2.js.map} +1 -1
  207. package/dist/components/{p-eb632278.js → p-d63f1cbe.js} +3 -3
  208. package/dist/components/{p-eb632278.js.map → p-d63f1cbe.js.map} +1 -1
  209. package/dist/components/{p-e00cbb8a.js → p-dd2273a3.js} +2 -2
  210. package/dist/components/{p-e00cbb8a.js.map → p-dd2273a3.js.map} +1 -1
  211. package/dist/components/{p-9decffb6.js → p-f0a5e7e4.js} +7 -7
  212. package/dist/components/p-f0a5e7e4.js.map +1 -0
  213. package/dist/components/{p-b48d5a94.js → p-f1859ddc.js} +4 -4
  214. package/dist/components/{p-b48d5a94.js.map → p-f1859ddc.js.map} +1 -1
  215. package/dist/esm/{index-1fb7a9a6.js → index-8f0e5f19.js} +20 -4
  216. package/dist/esm/index-8f0e5f19.js.map +1 -0
  217. package/dist/esm/index.js +1 -0
  218. package/dist/esm/index.js.map +1 -1
  219. package/dist/esm/loader.js +3 -3
  220. package/dist/esm/native.js +3 -3
  221. package/dist/esm/nv-alert.entry.js +1 -1
  222. package/dist/esm/nv-avatar.entry.js +1 -1
  223. package/dist/esm/nv-badge_2.entry.js +1 -1
  224. package/dist/esm/nv-breadcrumb.entry.js +1 -1
  225. package/dist/esm/nv-breadcrumbs.entry.js +1 -1
  226. package/dist/esm/nv-button.entry.js +1 -1
  227. package/dist/esm/nv-calendar.entry.js +16 -37
  228. package/dist/esm/nv-calendar.entry.js.map +1 -1
  229. package/dist/esm/nv-col.entry.js +1 -1
  230. package/dist/esm/nv-datagrid.entry.js +95 -103
  231. package/dist/esm/nv-datagrid.entry.js.map +1 -1
  232. package/dist/esm/nv-datagridcolumn.entry.js +2 -2
  233. package/dist/esm/nv-datagridcolumn.entry.js.map +1 -1
  234. package/dist/esm/nv-dialog.entry.js +1 -1
  235. package/dist/esm/nv-dialogfooter_2.entry.js +1 -1
  236. package/dist/esm/nv-fieldcheckbox.entry.js +1 -1
  237. package/dist/esm/nv-fielddate.entry.js +2 -2
  238. package/dist/esm/nv-fielddate.entry.js.map +1 -1
  239. package/dist/esm/nv-fielddaterange.entry.js +73 -18
  240. package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
  241. package/dist/esm/nv-fielddropdown.entry.js +84 -60
  242. package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
  243. package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
  244. package/dist/esm/nv-fieldmultiselect.entry.js +116 -104
  245. package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
  246. package/dist/esm/nv-fieldnumber.entry.js +2 -2
  247. package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
  248. package/dist/esm/nv-fieldpassword.entry.js +2 -2
  249. package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
  250. package/dist/esm/nv-fieldradio.entry.js +1 -1
  251. package/dist/esm/nv-fieldselect.entry.js +2 -2
  252. package/dist/esm/nv-fieldselect.entry.js.map +1 -1
  253. package/dist/esm/nv-fieldslider.entry.js +659 -0
  254. package/dist/esm/nv-fieldslider.entry.js.map +1 -0
  255. package/dist/esm/nv-fieldtext.entry.js +5 -5
  256. package/dist/esm/nv-fieldtext.entry.js.map +1 -1
  257. package/dist/esm/nv-fieldtextarea.entry.js +5 -5
  258. package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
  259. package/dist/esm/nv-fieldtime.entry.js +11 -11
  260. package/dist/esm/nv-fieldtime.entry.js.map +1 -1
  261. package/dist/esm/nv-icon.entry.js +3 -3
  262. package/dist/esm/nv-icon.entry.js.map +1 -1
  263. package/dist/esm/nv-iconbutton_2.entry.js +3 -3
  264. package/dist/esm/nv-menu.entry.js +2 -2
  265. package/dist/esm/nv-menuitem.entry.js +2 -2
  266. package/dist/esm/nv-popover.entry.js +2 -2
  267. package/dist/esm/nv-row.entry.js +2 -2
  268. package/dist/esm/nv-stack.entry.js +2 -2
  269. package/dist/esm/nv-table.entry.js +3 -3
  270. package/dist/esm/nv-tablecolumn.entry.js +1 -1
  271. package/dist/esm/nv-toggle.entry.js +3 -3
  272. package/dist/esm/nv-tooltip.entry.js +3 -3
  273. package/dist/esm/nv-tooltip.entry.js.map +1 -1
  274. package/dist/native/index.esm.js +1 -1
  275. package/dist/native/index.esm.js.map +1 -1
  276. package/dist/native/native.css +1 -1
  277. package/dist/native/native.esm.js +1 -1
  278. package/dist/native/native.esm.js.map +1 -1
  279. package/dist/native/{p-7fd4d13d.entry.js → p-0323daf6.entry.js} +2 -2
  280. package/dist/native/{p-14c07207.entry.js → p-05d95d4d.entry.js} +2 -2
  281. package/dist/native/{p-90e6d9dd.entry.js → p-0ec1e2e3.entry.js} +2 -2
  282. package/dist/native/{p-c7b201cd.entry.js → p-16a4cdf3.entry.js} +2 -2
  283. package/dist/native/{p-1da72182.entry.js → p-19fb0fd0.entry.js} +2 -2
  284. package/dist/native/p-1e3d3374.entry.js +2 -0
  285. package/dist/native/{p-9135fdf5.entry.js.map → p-1e3d3374.entry.js.map} +1 -1
  286. package/dist/native/p-21e7132f.entry.js +2 -0
  287. package/dist/native/{p-ae7ab110.entry.js.map → p-21e7132f.entry.js.map} +1 -1
  288. package/dist/native/{p-c0f79bac.entry.js → p-221b8f72.entry.js} +2 -2
  289. package/dist/native/p-2805f9f2.entry.js +2 -0
  290. package/dist/native/{p-5d21532a.entry.js.map → p-2805f9f2.entry.js.map} +1 -1
  291. package/dist/native/p-3f2b6a22.entry.js +2 -0
  292. package/dist/native/p-3f2b6a22.entry.js.map +1 -0
  293. package/dist/native/{p-0245863d.entry.js → p-407fc32d.entry.js} +2 -2
  294. package/dist/native/{p-3cd77d82.entry.js → p-4c0d81b0.entry.js} +2 -2
  295. package/dist/native/{p-615947e7.entry.js → p-519b4819.entry.js} +2 -2
  296. package/dist/native/{p-7042ba8a.entry.js → p-5382eab2.entry.js} +2 -2
  297. package/dist/native/p-5ba3fc3c.entry.js +2 -0
  298. package/dist/native/{p-b94d9f0b.entry.js.map → p-5ba3fc3c.entry.js.map} +1 -1
  299. package/dist/native/{p-656c56f0.entry.js → p-60b204ac.entry.js} +2 -2
  300. package/dist/native/p-7092a675.entry.js +2 -0
  301. package/dist/native/p-711a7778.js +3 -0
  302. package/dist/native/p-711a7778.js.map +1 -0
  303. package/dist/native/p-759c9ce4.entry.js +2 -0
  304. package/dist/native/p-759c9ce4.entry.js.map +1 -0
  305. package/dist/native/{p-efe6a46c.entry.js → p-7c676f2c.entry.js} +2 -2
  306. package/dist/native/p-7c6edd1c.entry.js +2 -0
  307. package/dist/native/p-7c6edd1c.entry.js.map +1 -0
  308. package/dist/native/p-987c79d8.entry.js +2 -0
  309. package/dist/native/p-987c79d8.entry.js.map +1 -0
  310. package/dist/native/{p-b8b6875d.entry.js → p-9fba8663.entry.js} +2 -2
  311. package/dist/native/{p-08a75cfa.entry.js → p-a2c0f1a7.entry.js} +2 -2
  312. package/dist/native/p-aa86af25.entry.js +2 -0
  313. package/dist/native/{p-49cac014.entry.js.map → p-aa86af25.entry.js.map} +1 -1
  314. package/dist/native/p-adc96c3a.entry.js +2 -0
  315. package/dist/native/{p-4d164ed6.entry.js.map → p-adc96c3a.entry.js.map} +1 -1
  316. package/dist/native/p-b0fc08e7.entry.js +2 -0
  317. package/dist/native/p-b0fc08e7.entry.js.map +1 -0
  318. package/dist/native/{p-c67186f8.entry.js → p-c930adb7.entry.js} +2 -2
  319. package/dist/native/{p-3b7ef609.entry.js → p-cfe0a6c6.entry.js} +2 -2
  320. package/dist/native/p-d07ab618.entry.js +2 -0
  321. package/dist/native/{p-7e154bfd.entry.js → p-dac0089b.entry.js} +2 -2
  322. package/dist/native/p-dac0089b.entry.js.map +1 -0
  323. package/dist/native/{p-470588c2.entry.js → p-de2c07a6.entry.js} +3 -3
  324. package/dist/native/p-de2c07a6.entry.js.map +1 -0
  325. package/dist/native/{p-3953464e.entry.js → p-ed488498.entry.js} +2 -2
  326. package/dist/native/p-ef76178b.entry.js +2 -0
  327. package/dist/native/p-ef76178b.entry.js.map +1 -0
  328. package/dist/native/{p-e5de64d5.entry.js → p-f0ddf60b.entry.js} +2 -2
  329. package/dist/native/p-f39803d9.entry.js +2 -0
  330. package/dist/native/p-f39803d9.entry.js.map +1 -0
  331. package/dist/native/p-fb897f7d.entry.js +2 -0
  332. package/dist/native/{p-fc97f071.entry.js.map → p-fb897f7d.entry.js.map} +1 -1
  333. package/dist/native/{p-244f56ac.entry.js → p-fc3bea07.entry.js} +2 -2
  334. package/dist/types/components/nv-calendar/nv-calendar.d.ts +1 -5
  335. package/dist/types/components/nv-datagrid/nv-datagrid.d.ts +0 -16
  336. package/dist/types/components/nv-datagridcolumn/nv-datagridcolumn.d.ts +4 -0
  337. package/dist/types/components/nv-fielddaterange/nv-fielddaterange.d.ts +11 -1
  338. package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +47 -26
  339. package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +61 -55
  340. package/dist/types/components/nv-fieldslider/nv-fieldslider.d.ts +230 -0
  341. package/dist/types/components/nv-fieldslider/nv-fieldslider.docs.d.ts +4 -0
  342. package/dist/types/components/nv-fieldslider/nv-fieldslider.utils.d.ts +46 -0
  343. package/dist/types/components/nv-fieldslider/partials/field-input.d.ts +45 -0
  344. package/dist/types/components/nv-fieldslider/partials/range-thumb.d.ts +37 -0
  345. package/dist/types/components/nv-fieldslider/partials/single-thumb.d.ts +35 -0
  346. package/dist/types/components/nv-fieldslider/partials/tick-marks.d.ts +28 -0
  347. package/dist/types/components/nv-fieldslider/test/nv-fieldslider.utils.test.d.ts +1 -0
  348. package/dist/types/components/nv-fieldtext/nv-fieldtext.d.ts +1 -0
  349. package/dist/types/components/nv-icon/nv-icons.d.ts +1 -1
  350. package/dist/types/components.d.ts +387 -38
  351. package/dist/types/interfaces/Column.d.ts +5 -1
  352. package/dist/vscode-data.json +121 -9
  353. package/hydrate/index.js +1172 -393
  354. package/hydrate/index.mjs +1172 -393
  355. package/package.json +6 -2
  356. package/dist/cjs/index-9bda5507.js.map +0 -1
  357. package/dist/components/p-1c45c0f2.js.map +0 -1
  358. package/dist/components/p-76646ce9.js +0 -88
  359. package/dist/components/p-76646ce9.js.map +0 -1
  360. package/dist/components/p-854c32dc.js.map +0 -1
  361. package/dist/components/p-9decffb6.js.map +0 -1
  362. package/dist/components/p-f76bb0c3.js.map +0 -1
  363. package/dist/esm/index-1fb7a9a6.js.map +0 -1
  364. package/dist/native/p-2523eead.entry.js +0 -2
  365. package/dist/native/p-2523eead.entry.js.map +0 -1
  366. package/dist/native/p-470588c2.entry.js.map +0 -1
  367. package/dist/native/p-49cac014.entry.js +0 -2
  368. package/dist/native/p-4d164ed6.entry.js +0 -2
  369. package/dist/native/p-4dc1d036.entry.js +0 -2
  370. package/dist/native/p-4e635fa7.entry.js +0 -2
  371. package/dist/native/p-4e635fa7.entry.js.map +0 -1
  372. package/dist/native/p-5d21532a.entry.js +0 -2
  373. package/dist/native/p-7e154bfd.entry.js.map +0 -1
  374. package/dist/native/p-7eba904e.entry.js +0 -2
  375. package/dist/native/p-7eba904e.entry.js.map +0 -1
  376. package/dist/native/p-9135fdf5.entry.js +0 -2
  377. package/dist/native/p-ab002252.js +0 -3
  378. package/dist/native/p-ab002252.js.map +0 -1
  379. package/dist/native/p-ae7ab110.entry.js +0 -2
  380. package/dist/native/p-b94d9f0b.entry.js +0 -2
  381. package/dist/native/p-c71c6f23.entry.js +0 -2
  382. package/dist/native/p-c71c6f23.entry.js.map +0 -1
  383. package/dist/native/p-d9a52884.entry.js +0 -2
  384. package/dist/native/p-d9a52884.entry.js.map +0 -1
  385. package/dist/native/p-f2ef6771.entry.js +0 -2
  386. package/dist/native/p-f5f68992.entry.js +0 -2
  387. package/dist/native/p-f5f68992.entry.js.map +0 -1
  388. package/dist/native/p-fc97f071.entry.js +0 -2
  389. /package/dist/native/{p-7fd4d13d.entry.js.map → p-0323daf6.entry.js.map} +0 -0
  390. /package/dist/native/{p-14c07207.entry.js.map → p-05d95d4d.entry.js.map} +0 -0
  391. /package/dist/native/{p-90e6d9dd.entry.js.map → p-0ec1e2e3.entry.js.map} +0 -0
  392. /package/dist/native/{p-c7b201cd.entry.js.map → p-16a4cdf3.entry.js.map} +0 -0
  393. /package/dist/native/{p-1da72182.entry.js.map → p-19fb0fd0.entry.js.map} +0 -0
  394. /package/dist/native/{p-c0f79bac.entry.js.map → p-221b8f72.entry.js.map} +0 -0
  395. /package/dist/native/{p-0245863d.entry.js.map → p-407fc32d.entry.js.map} +0 -0
  396. /package/dist/native/{p-3cd77d82.entry.js.map → p-4c0d81b0.entry.js.map} +0 -0
  397. /package/dist/native/{p-615947e7.entry.js.map → p-519b4819.entry.js.map} +0 -0
  398. /package/dist/native/{p-7042ba8a.entry.js.map → p-5382eab2.entry.js.map} +0 -0
  399. /package/dist/native/{p-656c56f0.entry.js.map → p-60b204ac.entry.js.map} +0 -0
  400. /package/dist/native/{p-f2ef6771.entry.js.map → p-7092a675.entry.js.map} +0 -0
  401. /package/dist/native/{p-efe6a46c.entry.js.map → p-7c676f2c.entry.js.map} +0 -0
  402. /package/dist/native/{p-b8b6875d.entry.js.map → p-9fba8663.entry.js.map} +0 -0
  403. /package/dist/native/{p-08a75cfa.entry.js.map → p-a2c0f1a7.entry.js.map} +0 -0
  404. /package/dist/native/{p-c67186f8.entry.js.map → p-c930adb7.entry.js.map} +0 -0
  405. /package/dist/native/{p-3b7ef609.entry.js.map → p-cfe0a6c6.entry.js.map} +0 -0
  406. /package/dist/native/{p-4dc1d036.entry.js.map → p-d07ab618.entry.js.map} +0 -0
  407. /package/dist/native/{p-3953464e.entry.js.map → p-ed488498.entry.js.map} +0 -0
  408. /package/dist/native/{p-e5de64d5.entry.js.map → p-f0ddf60b.entry.js.map} +0 -0
  409. /package/dist/native/{p-244f56ac.entry.js.map → p-fc3bea07.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"nv-fielddaterange.js","mappings":"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","names":["NvFielddaterange","uuidv4"],"sources":["src/components/nv-fielddaterange/styles/nv-fielddaterange.scss?tag=nv-fielddaterange","src/components/nv-fielddaterange/nv-fielddaterange.tsx"],"sourcesContent":["@import '../../../styles/form-field';\n\nnv-fielddaterange {\n @include form-field-variables();\n @include form-field-root();\n\n &[fluid]:not([fluid=\"false\"]) {\n @include form-field-fluid();\n }\n\n &[readonly]:not([readonly='false']) {\n @include form-field-readonly-variables();\n }\n\n &[error]:not([error='false']) {\n @include form-field-error-variables();\n }\n\n &[success]:not([success='false']) {\n @include form-field-success-variables();\n }\n\n &[required]:not([required='false']) label {\n @include form-field-label-required();\n }\n\n label {\n @include form-field-label();\n }\n\n nv-popover {\n width: 100%;\n display: block;\n\n [data-scope='popover'] {\n padding: 0;\n background-color: var(--components-list-dropdown-background);\n border: 1px solid var(--components-list-dropdown-border);\n width: auto;\n }\n\n [slot='content'] {\n display: block;\n width: 100%;\n }\n }\n\n .input-wrapper {\n @include form-field-input-wrapper();\n display: flex;\n align-items: center;\n gap: 8px;\n\n .input-container {\n @include form-field-input-container();\n\n input {\n @include form-field-input();\n width: 100%;\n }\n\n > nv-iconbutton {\n @include form-field-action();\n }\n\n nv-icon.validation {\n @include form-field-icon();\n }\n }\n }\n\n .description {\n @include form-field-description();\n }\n\n .error-description {\n @include form-field-error-description();\n }\n\n .range-inputs {\n display: flex;\n align-items: center;\n gap: 8px;\n\n input {\n flex: 1;\n border: none;\n outline: none;\n padding: 0;\n font-size: var(--form-field-font-size);\n color: var(--components-form-field-content-text);\n background: transparent;\n min-width: 0; // to avoid overflow\n text-align: center;\n\n &::placeholder {\n color: var(--components-form-field-content-placeholder);\n }\n\n &:disabled {\n cursor: not-allowed;\n color: var(--components-form-field-content-text);\n background-color: var(--components-form-field-background-disabled);\n }\n }\n }\n}\n","import {\n Component,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n Listen,\n Host,\n Watch,\n} from '@stencil/core';\nimport Inputmask from 'inputmask';\nimport { v4 as uuidv4 } from 'uuid';\n\n/**\n * @slot default - Child content of the component.\n * @slot leading-input - Content to be placed before the input text, within the input container.\n * @slot before-input - Content to be placed before the input text, outside the input container.\n * @slot after-input - Content to be placed after the input text, outside the input container.\n * @slot label - Content to be placed as the label, will override the label prop.\n * @slot description - Content to be placed as the description, will override the description prop.\n * @slot error-description - Content to be placed as the error description, will override the errorDescription prop.\n */\n@Component({\n tag: 'nv-fielddaterange',\n styleUrl: 'styles/nv-fielddaterange.scss',\n shadow: false,\n})\nexport class NvFielddaterange {\n @Element() el!: HTMLNvFielddaterangeElement;\n private popoverElement!: HTMLNvPopoverElement;\n private popoverId: string = uuidv4();\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the ID for the start input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated.\n */\n @Prop({ reflect: true })\n readonly startInputId: string = uuidv4();\n\n /**\n * Sets the ID for the end input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated.\n */\n @Prop({ reflect: true })\n readonly endInputId: string = uuidv4();\n\n /**\n * Text displayed as label. A slot label can override this prop.\n */\n @Prop({ reflect: true })\n readonly label: string;\n\n /**\n * Description displayed below the input. A slot description can override this prop.\n */\n @Prop({ reflect: true })\n readonly description: string;\n\n /**\n * Placeholder for the start input field.\n */\n @Prop({ reflect: true })\n readonly startPlaceholder: string;\n\n /**\n * Placeholder for the end input field.\n */\n @Prop({ reflect: true })\n readonly endPlaceholder: string;\n\n /**\n * Name attribute for the start input.\n */\n @Prop({ reflect: true })\n readonly startName: string;\n\n /**\n * Name attribute for the end input.\n */\n @Prop({ reflect: true })\n readonly endName: string;\n\n /**\n * Disables both input fields.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Sets both input fields as read-only.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n /**\n * Marks both input fields as required.\n */\n @Prop({ reflect: true })\n readonly required: boolean = false;\n\n /**\n * Indicates an error state.\n */\n @Prop({ reflect: true })\n readonly error: boolean = false;\n\n /**\n * Error description. A slot error-description can override this prop.\n */\n @Prop({ reflect: true })\n readonly errorDescription?: string;\n\n /**\n * Indicates a success state.\n */\n @Prop({ reflect: true })\n readonly success: boolean = false;\n\n /**\n * Autofocus the start input when the component is mounted.\n */\n @Prop({ reflect: true })\n // eslint-disable-next-line @stencil-community/reserved-member-names\n readonly autofocus: boolean = false;\n\n /**\n * The initial value of the date range (in string format).\n */\n @Prop({ reflect: true })\n readonly value: string = '';\n\n /**\n * The current value of the start date in string format.\n */\n @State()\n startValue: string = '';\n\n /**\n * The current value of the end date in string format.\n */\n @State()\n endValue: string = '';\n\n /**\n * Controls the opening of the popover.\n */\n @State()\n open: boolean = false;\n\n /**\n * First day of the week 0 = Sunday, 1 = Monday, etc.\n * @default 1\n */\n @Prop({ reflect: true })\n readonly firstDayOfWeek: number = 1;\n\n /**\n * Number of calendars to display\n * @default 2\n */\n @Prop({ reflect: true })\n readonly numberOfCalendars: number = 2;\n\n /**\n * Minimum date for selection ISO string format, ex: 2025-01-01\n */\n @Prop({ reflect: true })\n readonly min?: string = '';\n\n /**\n * Maximum date for selection ISO string format, ex: 2025-12-31\n */\n @Prop({ reflect: true })\n readonly max?: string = '';\n\n /** Locale for date formatting\n * @default 'en-BE'\n */\n @Prop({ reflect: true })\n readonly locale: string = 'en-BE';\n\n /** Date format ex: YYYY-MM-DD, DD-MM-YYYY, etc.\n * @default 'YYYY-MM-DD'\n */\n @Prop({ reflect: true })\n readonly dateFormat: string = 'YYYY-MM-DD';\n\n /**\n * Footer placement\n * @default 'bottom'\n */\n @Prop({ reflect: true })\n readonly shortcutsPlacement: 'bottom' | 'left' | 'right' = 'bottom';\n\n /**\n * Show action buttons\n * @default false\n */\n @Prop({ reflect: true })\n readonly showActions: boolean = false;\n\n /**\n * Custom actions to display in the footer\n */\n @Prop({ reflect: true })\n readonly shortcuts: HTMLNvCalendarElement['shortcuts'];\n\n /**\n * Show week numbers\n */\n @Prop({ reflect: true })\n readonly showWeekNumbers: boolean;\n\n /**\n * Disabled dates ISO string array\n */\n @Prop({ reflect: true })\n readonly disabledDates: Array<string>;\n\n /**\n * Allows the field to stretch and fill the entire width of its container.\n */\n @Prop({ reflect: true })\n readonly fluid: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Converts the nv-calendar date format to the format expected by Inputmask.\n * @param {string} format - The date format to convert\n * @returns {string} The converted format for Inputmask\n */\n private convertToInputmaskFormat(format: string): string {\n // If the format is not specified, use the default format YYYY-MM-DD\n if (!format) {\n return 'dd/mm/yyyy';\n }\n\n const formatMap = {\n 'YYYY-MM-DD': 'yyyy-mm-dd',\n 'DD/MM/YYYY': 'dd/mm/yyyy',\n 'MM/DD/YYYY': 'mm/dd/yyyy',\n 'DD.MM.YYYY': 'dd.mm.yyyy',\n 'YYYYMMDD': 'yyyymmdd',\n };\n\n return formatMap[format] || 'dd/mm/yyyy';\n }\n\n /**\n * Closes the popover when a click is detected outside the component.\n * @param {MouseEvent} event - The mouse event\n */\n private handleClickOutside = (event: MouseEvent) => {\n if (this.open && this.el && !this.el.contains(event.target as Node)) {\n this.open = false;\n }\n };\n\n /**\n * Handles the input event on the start input element.\n * @param {Event} event - The input event\n */\n private handleStartInput = (event: Event) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n return;\n }\n const input = event.target as HTMLInputElement;\n this.startValue = input.value;\n this.dateRangeChange.emit({ start: input.value, end: this.endValue });\n this.updateCalendarValue();\n };\n\n /**\n * Handles the input event on the end input element.\n * @param {Event} event - The input event\n */\n private handleEndInput = (event: Event) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n return;\n }\n const input = event.target as HTMLInputElement;\n this.endValue = input.value;\n this.dateRangeChange.emit({ start: this.startValue, end: input.value });\n this.updateCalendarValue();\n };\n\n /**\n * Update the calendar's rangeValue property\n */\n private updateCalendarValue() {\n const calendar = this.el.querySelector(\n 'nv-calendar',\n ) as HTMLNvCalendarElement;\n if (calendar && this.startValue && this.endValue) {\n calendar.rangeValue = {\n start: this.startValue,\n end: this.endValue,\n };\n }\n }\n\n /**\n * Handles focus events on the input elements.\n * @param {FocusEvent} event - The focus event\n */\n private handleFocus = (event: FocusEvent) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n (event.target as HTMLElement).blur();\n return;\n }\n\n // Open the popover when an input is focused\n this.open = true;\n };\n\n /**\n * Toggles the opening/closing of the popover.\n */\n private toggleCalendar = () => {\n if (this.readonly || this.disabled) {\n return;\n }\n this.open = !this.open;\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n connectedCallback() {\n document.addEventListener('click', this.handleClickOutside);\n }\n\n componentWillLoad() {\n if (this.value) {\n try {\n const range = JSON.parse(\n this.value,\n ) as HTMLNvCalendarElement['rangeValue'];\n this.startValue = range.start || '';\n this.endValue = range.end || '';\n } catch (error) {\n console.error('Invalid JSON for value:');\n console.error(error);\n }\n }\n }\n\n componentDidLoad() {\n const inputs = this.el.querySelectorAll('.input-wrapper input');\n inputs.forEach((input: HTMLInputElement) => {\n const inputMask = new Inputmask({\n alias: 'datetime',\n inputFormat: this.convertToInputmaskFormat(this.dateFormat),\n placeholder: '_',\n clearIncomplete: false,\n showMaskOnHover: false,\n showMaskOnFocus: false,\n clearMaskOnLostFocus: false,\n insertMode: true,\n rightAlign: false,\n oncomplete: function (e) {\n const input = e.target as HTMLInputElement;\n const event = new CustomEvent('input', { bubbles: true });\n input.dispatchEvent(event);\n },\n });\n inputMask.mask(input);\n\n // Set the value after applying the mask\n if (input.name === this.startName && this.startValue) {\n requestAnimationFrame(() => {\n input.value = this.startValue;\n const event = new CustomEvent('input', { bubbles: true });\n input.dispatchEvent(event);\n });\n } else if (input.name === this.endName && this.endValue) {\n requestAnimationFrame(() => {\n input.value = this.endValue;\n const event = new CustomEvent('input', { bubbles: true });\n input.dispatchEvent(event);\n });\n }\n });\n }\n\n componentDidRender() {\n const inputs = this.el.querySelectorAll('.input-wrapper input');\n inputs.forEach((input: HTMLInputElement) => {\n const value =\n input.name === this.startName\n ? this.startValue\n : this.endName\n ? this.endValue\n : '';\n if (value) {\n // Make sure the value is defined both as a property and attribute\n requestAnimationFrame(() => {\n input.value = value;\n input.setAttribute('value', value);\n });\n }\n });\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.handleClickOutside);\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emits an event when the date range changes.\n */\n @Event()\n dateRangeChange: EventEmitter<\n HTMLNvCalendarElementEventMap['rangeDateChange']\n >;\n\n /**\n * Handles the range date selection event from nv-calendar.\n * @param {CustomEvent<DateRange>} event - The custom event\n */\n @Listen('rangeDateChange')\n handleRangeDateChange(\n event: CustomEvent<HTMLNvCalendarElementEventMap['rangeDateChange']>,\n ) {\n const { start, end } = event.detail || {};\n\n // Check that both dates are defined\n if (start && end) {\n this.startValue = start;\n this.endValue = end;\n this.dateRangeChange.emit({\n start: this.startValue,\n end: this.endValue,\n });\n\n if (!this.showActions) {\n this.open = false;\n }\n }\n }\n\n @Listen('closePopover')\n handleClosePopover() {\n this.open = false;\n }\n\n @Listen('applyDateRange')\n handleApplyDateRange() {\n this.open = false;\n }\n\n /**\n * Handles keyboard events.\n * @param {KeyboardEvent} event - The keyboard event\n */\n @Listen('keydown', { passive: false })\n handleKeyDown(event: KeyboardEvent) {\n if (!this.open) {\n if (event.key === 'ArrowDown') {\n this.open = true;\n event.preventDefault();\n return;\n }\n return;\n }\n\n if (!this.popoverElement) {\n console.warn('nv-fielddaterange -> Popover element is not defined');\n return;\n }\n }\n\n @Watch('value')\n handleValueChange(newValue: string) {\n try {\n const range = JSON.parse(newValue) as HTMLNvCalendarElement['rangeValue'];\n this.startValue = range.start || '';\n this.endValue = range.end || '';\n } catch (error) {\n console.error('Invalid JSON for value:', error);\n }\n }\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n {((this.label && this.label.length > 0) ||\n this.el.querySelector('[slot=\"label\"]')) && (\n <label htmlFor={this.startInputId}>\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n <nv-popover\n ref={el => (this.popoverElement = el as HTMLNvPopoverElement)}\n id={this.popoverId}\n triggerMode=\"controlled\"\n placement=\"bottom-start\"\n open={this.open}\n >\n <div slot=\"trigger\" class=\"input-wrapper\">\n <slot name=\"before-input\"></slot>\n\n <div class=\"input-container\">\n <slot name=\"leading-input\"></slot>\n\n <div class=\"range-inputs\">\n <input\n id={this.startInputId}\n type=\"text\"\n placeholder={this.startPlaceholder}\n name={this.startName}\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n autofocus={this.autofocus}\n value={this.startValue}\n onInput={this.handleStartInput}\n onFocus={this.handleFocus}\n data-scope=\"date-range\"\n />\n\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"icon icon-tabler icons-tabler-outline icon-tabler-arrows-move-horizontal\"\n >\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M18 9l3 3l-3 3\" />\n <path d=\"M15 12h6\" />\n <path d=\"M6 9l-3 3l3 3\" />\n <path d=\"M3 12h6\" />\n </svg>\n\n <input\n id={this.endInputId}\n type=\"text\"\n placeholder={this.endPlaceholder}\n name={this.endName}\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n value={this.endValue}\n onInput={this.handleEndInput}\n onFocus={this.handleFocus}\n data-scope=\"date-range\"\n />\n </div>\n\n {this.error && (\n <nv-icon name=\"alert-circle\" class=\"validation\" size=\"md\" />\n )}\n {this.success && (\n <nv-icon name=\"circle-check\" class=\"validation\" size=\"md\" />\n )}\n\n <nv-iconbutton\n class=\"toggle-calendar-icon\"\n name=\"calendar\"\n size=\"md\"\n emphasis=\"lower\"\n aria-label={this.open ? 'Hide calendar' : 'Show calendar'}\n aria-pressed={this.open.toString()}\n onClick={this.toggleCalendar}\n tabIndex={this.disabled ? -1 : 0}\n />\n </div>\n\n <slot name=\"after-input\"></slot>\n </div>\n\n <div slot=\"content\">\n <nv-calendar\n dateFormat={this.dateFormat}\n rangeValue={\n this.startValue && this.endValue\n ? {\n start: this.startValue,\n end: this.endValue,\n }\n : null\n }\n firstDayOfWeek={this.firstDayOfWeek}\n numberOfCalendars={this.numberOfCalendars}\n min={this.min}\n max={this.max}\n locale={this.locale}\n shortcutsPlacement={this.shortcutsPlacement}\n showActions={this.showActions}\n shortcuts={this.shortcuts}\n showWeekNumbers={this.showWeekNumbers}\n disabledDates={this.disabledDates}\n selectionType=\"range\"\n ></nv-calendar>\n </div>\n </nv-popover>\n\n {((this.description && this.description.length > 0) ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n\n {(this.errorDescription ||\n this.el.querySelector('[slot=\"error-description\"]')) && (\n <div hidden={!this.error} class=\"error-description\">\n {this.el.querySelector('[slot=\"error-description\"]') ? (\n <slot name=\"error-description\"></slot>\n ) : (\n this.errorDescription\n )}\n </div>\n )}\n\n <slot></slot>\n </Host>\n );\n }\n //#endregion RENDER\n}\n"],"version":3}
1
+ {"file":"nv-fielddaterange.js","mappings":"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","names":["NvFielddaterange","uuidv4"],"sources":["src/components/nv-fielddaterange/styles/nv-fielddaterange.scss?tag=nv-fielddaterange","src/components/nv-fielddaterange/nv-fielddaterange.tsx"],"sourcesContent":["@import '../../../styles/form-field';\n\nnv-fielddaterange {\n @include form-field-variables();\n @include form-field-root();\n\n &[fluid]:not([fluid=\"false\"]) {\n @include form-field-fluid();\n }\n\n &[readonly]:not([readonly='false']) {\n @include form-field-readonly-variables();\n }\n\n &[error]:not([error='false']) {\n @include form-field-error-variables();\n }\n\n &[success]:not([success='false']) {\n @include form-field-success-variables();\n }\n\n &[required]:not([required='false']) label {\n @include form-field-label-required();\n }\n\n label {\n @include form-field-label();\n }\n\n nv-popover {\n width: 100%;\n display: block;\n\n [data-scope='popover'] {\n padding: 0;\n background-color: var(--components-list-dropdown-background);\n border: 1px solid var(--components-list-dropdown-border);\n width: auto;\n }\n\n [slot='content'] {\n display: block;\n width: 100%;\n }\n }\n\n .input-wrapper {\n @include form-field-input-wrapper();\n display: flex;\n align-items: center;\n gap: 8px;\n\n .input-container {\n @include form-field-input-container();\n\n input {\n @include form-field-input();\n width: 100%;\n }\n\n > nv-iconbutton {\n @include form-field-action();\n }\n\n nv-icon.validation {\n @include form-field-icon();\n }\n }\n }\n\n .description {\n @include form-field-description();\n }\n\n .error-description {\n @include form-field-error-description();\n }\n\n .range-inputs {\n display: flex;\n align-items: center;\n gap: 8px;\n\n input {\n flex: 1;\n border: none;\n outline: none;\n padding: 0;\n font-size: var(--form-field-font-size);\n color: var(--components-form-field-content-text);\n background: transparent;\n min-width: 0; // to avoid overflow\n text-align: center;\n\n &::placeholder {\n color: var(--components-form-field-content-placeholder);\n }\n\n &:disabled {\n cursor: not-allowed;\n color: var(--components-form-field-content-text);\n background-color: var(--components-form-field-background-disabled);\n }\n }\n }\n}\n","import {\n Component,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n Listen,\n Host,\n Watch,\n} from '@stencil/core';\nimport Inputmask from 'inputmask';\nimport { v4 as uuidv4 } from 'uuid';\n\n/**\n * @slot default - Child content of the component.\n * @slot leading-input - Content to be placed before the input text, within the input container.\n * @slot before-input - Content to be placed before the input text, outside the input container.\n * @slot after-input - Content to be placed after the input text, outside the input container.\n * @slot label - Content to be placed as the label, will override the label prop.\n * @slot description - Content to be placed as the description, will override the description prop.\n * @slot error-description - Content to be placed as the error description, will override the errorDescription prop.\n */\n@Component({\n tag: 'nv-fielddaterange',\n styleUrl: 'styles/nv-fielddaterange.scss',\n shadow: false,\n})\nexport class NvFielddaterange {\n @Element() el!: HTMLNvFielddaterangeElement;\n private popoverElement!: HTMLNvPopoverElement;\n private calendarElement!: HTMLNvCalendarElement;\n private popoverId: string = uuidv4();\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the ID for the start input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated.\n */\n @Prop({ reflect: true })\n readonly startInputId: string = uuidv4();\n\n /**\n * Sets the ID for the end input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated.\n */\n @Prop({ reflect: true })\n readonly endInputId: string = uuidv4();\n\n /**\n * Text displayed as label. A slot label can override this prop.\n */\n @Prop({ reflect: true })\n readonly label: string;\n\n /**\n * Description displayed below the input. A slot description can override this prop.\n */\n @Prop({ reflect: true })\n readonly description: string;\n\n /**\n * Placeholder for the start input field.\n */\n @Prop({ reflect: true })\n readonly startPlaceholder: string;\n\n /**\n * Placeholder for the end input field.\n */\n @Prop({ reflect: true })\n readonly endPlaceholder: string;\n\n /**\n * Name attribute for the start input.\n */\n @Prop({ reflect: true })\n readonly startName: string;\n\n /**\n * Name attribute for the end input.\n */\n @Prop({ reflect: true })\n readonly endName: string;\n\n /**\n * Disables both input fields.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Sets both input fields as read-only.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n /**\n * Marks both input fields as required.\n */\n @Prop({ reflect: true })\n readonly required: boolean = false;\n\n /**\n * Indicates an error state.\n */\n @Prop({ reflect: true })\n readonly error: boolean = false;\n\n /**\n * Error description. A slot error-description can override this prop.\n */\n @Prop({ reflect: true })\n readonly errorDescription?: string;\n\n /**\n * Indicates a success state.\n */\n @Prop({ reflect: true })\n readonly success: boolean = false;\n\n /**\n * Autofocus the start input when the component is mounted.\n */\n @Prop({ reflect: true })\n // eslint-disable-next-line @stencil-community/reserved-member-names\n readonly autofocus: boolean = false;\n\n /**\n * The initial value of the date range (in string format).\n */\n @Prop({ reflect: true })\n readonly value: string = '';\n\n /**\n * The current value of the start date in string format.\n */\n @State()\n startValue: string = '';\n\n /**\n * The current value of the end date in string format.\n */\n @State()\n endValue: string = '';\n\n /**\n * Controls the opening of the popover.\n */\n @State()\n open: boolean = false;\n\n /**\n * Current calendar state to prevent unwanted navigation\n */\n @State()\n private calendarState: {\n /** Start date in string format */\n start: string;\n /** End date in string format */\n end: string;\n } = null;\n\n /**\n * First day of the week 0 = Sunday, 1 = Monday, etc.\n * @default 1\n */\n @Prop({ reflect: true })\n readonly firstDayOfWeek: number = 1;\n\n /**\n * Number of calendars to display\n * @default 2\n */\n @Prop({ reflect: true })\n readonly numberOfCalendars: number = 2;\n\n /**\n * Minimum date for selection ISO string format, ex: 2025-01-01\n */\n @Prop({ reflect: true })\n readonly min?: string = '';\n\n /**\n * Maximum date for selection ISO string format, ex: 2025-12-31\n */\n @Prop({ reflect: true })\n readonly max?: string = '';\n\n /** Locale for date formatting\n * @default 'en-BE'\n */\n @Prop({ reflect: true })\n readonly locale: string = 'en-BE';\n\n /** Date format ex: YYYY-MM-DD, DD-MM-YYYY, etc.\n * @default 'YYYY-MM-DD'\n */\n @Prop({ reflect: true })\n readonly dateFormat: string = 'YYYY-MM-DD';\n\n /**\n * Footer placement\n * @default 'bottom'\n */\n @Prop({ reflect: true })\n readonly shortcutsPlacement: 'bottom' | 'left' | 'right' = 'bottom';\n\n /**\n * Show action buttons\n * @default false\n */\n @Prop({ reflect: true })\n readonly showActions: boolean = false;\n\n /**\n * Custom actions to display in the footer\n */\n @Prop({ reflect: true })\n readonly shortcuts: HTMLNvCalendarElement['shortcuts'];\n\n /**\n * Show week numbers\n */\n @Prop({ reflect: true })\n readonly showWeekNumbers: boolean;\n\n /**\n * Disabled dates ISO string array\n */\n @Prop({ reflect: true })\n readonly disabledDates: Array<string>;\n\n /**\n * Allows the field to stretch and fill the entire width of its container.\n */\n @Prop({ reflect: true })\n readonly fluid: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Converts the nv-calendar date format to the format expected by Inputmask.\n * @param {string} format - The date format to convert\n * @returns {string} The converted format for Inputmask\n */\n private convertToInputmaskFormat(format: string): string {\n // If the format is not specified, use the default format YYYY-MM-DD\n if (!format) {\n return 'dd/mm/yyyy';\n }\n\n const formatMap = {\n 'YYYY-MM-DD': 'yyyy-mm-dd',\n 'DD/MM/YYYY': 'dd/mm/yyyy',\n 'MM/DD/YYYY': 'mm/dd/yyyy',\n 'DD.MM.YYYY': 'dd.mm.yyyy',\n 'YYYYMMDD': 'yyyymmdd',\n };\n\n return formatMap[format] || 'dd/mm/yyyy';\n }\n\n /**\n * Closes the popover when a click is detected outside the component.\n * @param {MouseEvent} event - The mouse event\n */\n private handleClickOutside = (event: MouseEvent) => {\n if (this.open && this.el && !this.el.contains(event.target as Node)) {\n this.open = false;\n }\n };\n\n /**\n * Handles the input event on the start input element.\n * @param {Event} event - The input event\n */\n private handleStartInput = (event: Event) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n return;\n }\n const input = event.target as HTMLInputElement;\n this.startValue = input.value;\n this.dateRangeChange.emit({ start: input.value, end: this.endValue });\n\n // Temporarily enable navigation for keyboard input\n if (this.calendarElement) {\n this.calendarElement.removeAttribute('data-prevent-navigation');\n this.updateCalendarValue();\n // Restore navigation prevention after update\n setTimeout(() => {\n if (this.calendarElement) {\n this.calendarElement.setAttribute('data-prevent-navigation', 'true');\n }\n }, 100);\n }\n };\n\n /**\n * Handles the input event on the end input element.\n * @param {Event} event - The input event\n */\n private handleEndInput = (event: Event) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n return;\n }\n const input = event.target as HTMLInputElement;\n this.endValue = input.value;\n this.dateRangeChange.emit({ start: this.startValue, end: input.value });\n\n // Temporarily enable navigation for keyboard input\n if (this.calendarElement) {\n this.calendarElement.removeAttribute('data-prevent-navigation');\n this.updateCalendarValue();\n // Restore navigation prevention after update\n setTimeout(() => {\n if (this.calendarElement) {\n this.calendarElement.setAttribute('data-prevent-navigation', 'true');\n }\n }, 100);\n }\n };\n\n /**\n * Update the calendar's rangeValue property without forcing month change\n */\n private updateCalendarValue() {\n if (this.calendarElement && this.startValue && this.endValue) {\n // Store the current calendar state\n this.calendarState = {\n start: this.startValue,\n end: this.endValue,\n };\n }\n }\n\n /**\n * Handles focus events on the input elements.\n * @param {FocusEvent} event - The focus event\n */\n private handleFocus = (event: FocusEvent) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n (event.target as HTMLElement).blur();\n return;\n }\n\n // Enable navigation on focus\n if (this.calendarElement) {\n this.calendarElement.removeAttribute('data-prevent-navigation');\n }\n\n this.open = true;\n\n // Restore navigation prevention after opening\n setTimeout(() => {\n if (this.calendarElement) {\n this.calendarElement.setAttribute('data-prevent-navigation', 'true');\n }\n }, 300);\n };\n\n /**\n * Toggles the opening/closing of the popover.\n */\n private toggleCalendar = () => {\n if (this.readonly || this.disabled) {\n return;\n }\n this.open = !this.open;\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n connectedCallback() {\n document.addEventListener('click', this.handleClickOutside);\n }\n\n componentWillLoad() {\n if (this.value) {\n try {\n const range = JSON.parse(\n this.value,\n ) as HTMLNvCalendarElement['rangeValue'];\n this.startValue = range.start || '';\n this.endValue = range.end || '';\n if (range.start && range.end) {\n this.calendarState = {\n start: range.start,\n end: range.end,\n };\n }\n } catch (error) {\n console.error('Invalid JSON for value:');\n console.error(error);\n }\n }\n }\n\n componentDidLoad() {\n const inputs = this.el.querySelectorAll('.input-wrapper input');\n inputs.forEach((input: HTMLInputElement) => {\n const inputMask = new Inputmask({\n alias: 'datetime',\n inputFormat: this.convertToInputmaskFormat(this.dateFormat),\n placeholder: '_',\n clearIncomplete: false,\n showMaskOnHover: false,\n showMaskOnFocus: false,\n clearMaskOnLostFocus: false,\n insertMode: true,\n rightAlign: false,\n oncomplete: function (e) {\n const input = e.target as HTMLInputElement;\n const event = new CustomEvent('input', { bubbles: true });\n input.dispatchEvent(event);\n },\n });\n inputMask.mask(input);\n\n // Set the value after applying the mask\n if (input.name === this.startName && this.startValue) {\n requestAnimationFrame(() => {\n input.value = this.startValue;\n const event = new CustomEvent('input', { bubbles: true });\n input.dispatchEvent(event);\n });\n } else if (input.name === this.endName && this.endValue) {\n requestAnimationFrame(() => {\n input.value = this.endValue;\n const event = new CustomEvent('input', { bubbles: true });\n input.dispatchEvent(event);\n });\n }\n });\n }\n\n componentDidRender() {\n const inputs = this.el.querySelectorAll('.input-wrapper input');\n inputs.forEach((input: HTMLInputElement) => {\n const value =\n input.name === this.startName\n ? this.startValue\n : this.endName\n ? this.endValue\n : '';\n if (value) {\n // Make sure the value is defined both as a property and attribute\n requestAnimationFrame(() => {\n input.value = value;\n input.setAttribute('value', value);\n });\n }\n });\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.handleClickOutside);\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emits an event when the date range changes.\n */\n @Event()\n dateRangeChange: EventEmitter<\n HTMLNvCalendarElementEventMap['rangeDateChange']\n >;\n\n /**\n * Handles the range date selection event from nv-calendar.\n * @param {CustomEvent<DateRange>} event - The custom event\n */\n @Listen('rangeDateChange')\n handleRangeDateChange(\n event: CustomEvent<HTMLNvCalendarElementEventMap['rangeDateChange']>,\n ) {\n const { start, end } = event.detail || {};\n\n // Check that both dates are defined\n if (start && end) {\n this.startValue = start;\n this.endValue = end;\n this.calendarState = { start, end };\n this.dateRangeChange.emit({\n start: this.startValue,\n end: this.endValue,\n });\n\n if (!this.showActions) {\n this.open = false;\n }\n }\n }\n\n @Listen('closePopover')\n handleClosePopover() {\n this.open = false;\n }\n\n @Listen('applyDateRange')\n handleApplyDateRange() {\n this.open = false;\n }\n\n /**\n * Handles the reset event from the calendar's cancel button\n * @param {CustomEvent} event - The event emitted by the calendar\n */\n @Listen('singleDateChange')\n @Listen('rangeDateChange')\n handleDateReset(event: CustomEvent) {\n const isResetSingle =\n event.type === 'singleDateChange' && event.detail === '';\n const isResetRange =\n event.type === 'rangeDateChange' &&\n event.detail &&\n event.detail.start === '' &&\n event.detail.end === '';\n\n if (isResetSingle || isResetRange) {\n this.startValue = '';\n this.endValue = '';\n\n const inputs = this.el.querySelectorAll('.input-wrapper input');\n inputs.forEach((input: HTMLInputElement) => {\n input.value = '';\n });\n\n this.dateRangeChange.emit({ start: '', end: '' });\n }\n }\n\n /**\n * Handles keyboard events.\n * @param {KeyboardEvent} event - The keyboard event\n */\n @Listen('keydown', { passive: false })\n handleKeyDown(event: KeyboardEvent) {\n if (!this.open) {\n if (event.key === 'ArrowDown') {\n this.open = true;\n event.preventDefault();\n return;\n }\n return;\n }\n\n if (!this.popoverElement) {\n console.warn('nv-fielddaterange -> Popover element is not defined');\n return;\n }\n }\n\n @Watch('value')\n handleValueChange(newValue: string) {\n try {\n const range = JSON.parse(newValue) as HTMLNvCalendarElement['rangeValue'];\n this.startValue = range.start || '';\n this.endValue = range.end || '';\n } catch (error) {\n console.error('Invalid JSON for value:', error);\n }\n }\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n {((this.label && this.label.length > 0) ||\n this.el.querySelector('[slot=\"label\"]')) && (\n <label htmlFor={this.startInputId}>\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n <nv-popover\n ref={el => (this.popoverElement = el as HTMLNvPopoverElement)}\n id={this.popoverId}\n triggerMode=\"controlled\"\n placement=\"bottom-start\"\n open={this.open}\n >\n <div slot=\"trigger\" class=\"input-wrapper\">\n <slot name=\"before-input\"></slot>\n\n <div class=\"input-container\">\n <slot name=\"leading-input\"></slot>\n\n <div class=\"range-inputs\">\n <input\n id={this.startInputId}\n type=\"text\"\n placeholder={this.startPlaceholder}\n name={this.startName}\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n autofocus={this.autofocus}\n value={this.startValue}\n onInput={this.handleStartInput}\n onFocus={this.handleFocus}\n data-scope=\"date-range\"\n />\n\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"icon icon-tabler icons-tabler-outline icon-tabler-arrows-move-horizontal\"\n >\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M18 9l3 3l-3 3\" />\n <path d=\"M15 12h6\" />\n <path d=\"M6 9l-3 3l3 3\" />\n <path d=\"M3 12h6\" />\n </svg>\n\n <input\n id={this.endInputId}\n type=\"text\"\n placeholder={this.endPlaceholder}\n name={this.endName}\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n value={this.endValue}\n onInput={this.handleEndInput}\n onFocus={this.handleFocus}\n data-scope=\"date-range\"\n />\n </div>\n\n {this.error && (\n <nv-icon name=\"alert-circle\" class=\"validation\" size=\"md\" />\n )}\n {this.success && (\n <nv-icon name=\"circle-check\" class=\"validation\" size=\"md\" />\n )}\n\n <nv-iconbutton\n class=\"toggle-calendar-icon\"\n name=\"calendar\"\n size=\"md\"\n emphasis=\"lower\"\n aria-label={this.open ? 'Hide calendar' : 'Show calendar'}\n aria-pressed={this.open.toString()}\n onClick={this.toggleCalendar}\n tabIndex={this.disabled ? -1 : 0}\n />\n </div>\n\n <slot name=\"after-input\"></slot>\n </div>\n\n <div slot=\"content\">\n <nv-calendar\n ref={el => (this.calendarElement = el as HTMLNvCalendarElement)}\n dateFormat={this.dateFormat}\n rangeValue={this.calendarState}\n firstDayOfWeek={this.firstDayOfWeek}\n numberOfCalendars={this.numberOfCalendars}\n min={this.min}\n max={this.max}\n locale={this.locale}\n shortcutsPlacement={this.shortcutsPlacement}\n showActions={this.showActions}\n shortcuts={this.shortcuts}\n showWeekNumbers={this.showWeekNumbers}\n disabledDates={this.disabledDates}\n selectionType=\"range\"\n data-prevent-navigation=\"true\"\n ></nv-calendar>\n </div>\n </nv-popover>\n\n {((this.description && this.description.length > 0) ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n\n {(this.errorDescription ||\n this.el.querySelector('[slot=\"error-description\"]')) && (\n <div hidden={!this.error} class=\"error-description\">\n {this.el.querySelector('[slot=\"error-description\"]') ? (\n <slot name=\"error-description\"></slot>\n ) : (\n this.errorDescription\n )}\n </div>\n )}\n\n <slot></slot>\n </Host>\n );\n }\n //#endregion RENDER\n}\n"],"version":3}
@@ -1,12 +1,12 @@
1
- import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-1c45c0f2.js';
2
- import { d as defineCustomElement$6 } from './p-eb632278.js';
3
- import { d as defineCustomElement$5 } from './p-76646ce9.js';
4
- import { d as defineCustomElement$4 } from './p-10faa938.js';
5
- import { d as defineCustomElement$3 } from './p-f5cb0a63.js';
6
- import { d as defineCustomElement$2 } from './p-10b37876.js';
1
+ import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-679e0fa9.js';
2
+ import { d as defineCustomElement$6 } from './p-d63f1cbe.js';
3
+ import { d as defineCustomElement$5 } from './p-76a30bf1.js';
4
+ import { d as defineCustomElement$4 } from './p-04cb3a6f.js';
5
+ import { d as defineCustomElement$3 } from './p-83c8873a.js';
6
+ import { d as defineCustomElement$2 } from './p-0ab80d95.js';
7
7
  import { v as v4 } from './p-f5ff676c.js';
8
8
 
9
- const nvFielddropdownCss = "nv-fielddropdown{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box;max-width:480px}nv-fielddropdown[fluid]:not([fluid=false]){max-width:unset}nv-fielddropdown[readonly]:not([readonly=false]){--nv-field-border-default:var(--components-form-field-border-readonly);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-background:var(--components-form-field-background-readonly)}nv-fielddropdown[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive)}nv-fielddropdown[required]:not([required=false]) label::after{content:\"*\";color:var(--components-form-text-required);font-weight:700}nv-fielddropdown[hidden]:not([hidden=false]) label{display:none}nv-fielddropdown label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:500;line-height:var(--form-label-line-height)}nv-fielddropdown nv-popover{width:100%;display:block}nv-fielddropdown nv-popover [data-scope=popover]{width:100%;padding:var(--list-dropdown-padding);border-radius:var(--list-dropdown-radius);background-color:var(--components-list-dropdown-background);border:1px solid var(--components-list-dropdown-border)}nv-fielddropdown nv-popover [slot=content]{gap:var(--list-dropdown-gap-y);display:flex;flex-direction:column}nv-fielddropdown nv-popover hr{color:var(--components-list-dropdown-separator)}nv-fielddropdown .input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch;width:100%}nv-fielddropdown .input-container{display:flex;flex-grow:1;justify-content:center;align-items:center;align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default, 1);background:var(--nv-field-background);transition:all 150ms ease-out;position:relative;width:100%;min-height:40px}nv-fielddropdown .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fielddropdown .input-container:focus-within,nv-fielddropdown .input-container:focus-within:hover,nv-fielddropdown .input-container:focus,nv-fielddropdown .input-container:focus:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fielddropdown .input-container:has(input:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fielddropdown .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fielddropdown .input-container input[type=search]::-webkit-search-decoration,nv-fielddropdown .input-container input[type=search]::-webkit-search-cancel-button,nv-fielddropdown .input-container input[type=search]::-webkit-search-results-button,nv-fielddropdown .input-container input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none}nv-fielddropdown .input-container input,nv-fielddropdown .input-container p.non-filterable-text{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);padding:var(--form-field-padding-y) var(--form-field-padding-x);font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height);width:100%}nv-fielddropdown .input-container input:focus,nv-fielddropdown .input-container p.non-filterable-text:focus{outline:none}nv-fielddropdown .input-container input::placeholder,nv-fielddropdown .input-container p.non-filterable-text::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:400;line-height:var(--form-field-line-height)}nv-fielddropdown .input-container>nv-iconbutton{border:0px;border-radius:0px}nv-fielddropdown .input-container>nv-iconbutton:focus-visible{border-radius:var(--button-md-border-radius);outline-offset:-3px}nv-fielddropdown .input-container nv-icon.validation{color:var(--nv-field-border-default)}nv-fielddropdown .non-filterable-text{display:block;border-radius:var(--form-field-radius);background-color:var(--nv-field-background);color:var(--components-form-field-content-text);font-size:var(--form-field-font-size);font-weight:500;line-height:var(--form-field-line-height);box-sizing:border-box;cursor:pointer;height:100%;min-height:40px}nv-fielddropdown .non-filterable-text span{display:inline-block;width:100%;overflow:hidden;text-overflow:ellipsis}nv-fielddropdown .description{align-self:stretch;color:var(--components-form-text-description-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fielddropdown .error-description{align-self:stretch;color:var(--components-form-text-description-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}";
9
+ const nvFielddropdownCss = "nv-fielddropdown{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box;max-width:480px}nv-fielddropdown[fluid]:not([fluid=false]){max-width:unset}nv-fielddropdown[readonly]:not([readonly=false]){--nv-field-border-default:var(--components-form-field-border-readonly);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-background:var(--components-form-field-background-readonly)}nv-fielddropdown[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive-in-field)}nv-fielddropdown[required]:not([required=false]) label::after{content:\"*\";color:var(--components-form-text-required);font-weight:700}nv-fielddropdown[hidden]:not([hidden=false]) label{display:none}nv-fielddropdown label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:500;line-height:var(--form-label-line-height)}nv-fielddropdown nv-popover{width:100%;display:block}nv-fielddropdown nv-popover [data-scope=popover]{width:100%;padding:var(--list-dropdown-padding);border-radius:var(--list-dropdown-radius);background-color:var(--components-list-dropdown-background);border:1px solid var(--components-list-dropdown-border)}nv-fielddropdown nv-popover [slot=content]{gap:var(--list-dropdown-gap-y);display:flex;flex-direction:column}nv-fielddropdown nv-popover hr{color:var(--components-list-dropdown-separator)}nv-fielddropdown nv-popover div[slot=content]{max-height:calc(90vh - var(--list-dropdown-padding) * 2);overflow-y:auto;position:relative}nv-fielddropdown nv-popover div[slot=content]::-webkit-scrollbar{width:6px;height:6px}nv-fielddropdown nv-popover div[slot=content]::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}nv-fielddropdown nv-popover div[slot=content]::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}nv-fielddropdown .input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch;width:100%}nv-fielddropdown .input-container{display:flex;flex-grow:1;justify-content:center;align-items:center;align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default, 1);background:var(--nv-field-background);transition:all 150ms ease-out;position:relative;width:100%;min-height:40px}nv-fielddropdown .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fielddropdown .input-container:focus-within,nv-fielddropdown .input-container:focus-within:hover,nv-fielddropdown .input-container:focus,nv-fielddropdown .input-container:focus:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fielddropdown .input-container:has(input:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fielddropdown .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fielddropdown .input-container input[type=search]::-webkit-search-decoration,nv-fielddropdown .input-container input[type=search]::-webkit-search-cancel-button,nv-fielddropdown .input-container input[type=search]::-webkit-search-results-button,nv-fielddropdown .input-container input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none}nv-fielddropdown .input-container input,nv-fielddropdown .input-container p.non-filterable-text{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);padding:var(--form-field-padding-y) var(--form-field-padding-x);font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height);width:100%}nv-fielddropdown .input-container input:focus,nv-fielddropdown .input-container p.non-filterable-text:focus{outline:none}nv-fielddropdown .input-container input::placeholder,nv-fielddropdown .input-container p.non-filterable-text::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:400;line-height:var(--form-field-line-height)}nv-fielddropdown .input-container>nv-iconbutton{border:0px;border-radius:0px}nv-fielddropdown .input-container>nv-iconbutton:focus-visible{border-radius:var(--button-md-border-radius);outline-offset:-3px}nv-fielddropdown .input-container nv-icon.validation{color:var(--nv-field-border-default)}nv-fielddropdown .non-filterable-text{display:block;border-radius:var(--form-field-radius);background-color:var(--nv-field-background);color:var(--components-form-field-content-text);font-size:var(--form-field-font-size);font-weight:500;line-height:var(--form-field-line-height);box-sizing:border-box;cursor:pointer;height:100%;min-height:40px}nv-fielddropdown .non-filterable-text span{display:inline-block;width:100%;overflow:hidden;text-overflow:ellipsis}nv-fielddropdown .description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fielddropdown .error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}";
10
10
  const NvFielddropdownStyle0 = nvFielddropdownCss;
11
11
 
12
12
  const NvFielddropdown$1 = /*@__PURE__*/ proxyCustomElement(class NvFielddropdown extends H {
@@ -24,10 +24,6 @@ const NvFielddropdown$1 = /*@__PURE__*/ proxyCustomElement(class NvFielddropdown
24
24
  * accessibility.
25
25
  */
26
26
  this.inputId = v4();
27
- /**
28
- * State of the dropdown popover.
29
- */
30
- this.open = false;
31
27
  /**
32
28
  * The autocomplete prop helps users fill out the input field faster by
33
29
  * suggesting entries they've used before, like their email or address.
@@ -40,12 +36,6 @@ const NvFielddropdown$1 = /*@__PURE__*/ proxyCustomElement(class NvFielddropdown
40
36
  * before submitting the form.
41
37
  */
42
38
  this.required = false;
43
- /**
44
- * Alters the input field's appearance to indicate an error, helping users
45
- * identify fields that need correction.
46
- * @validator error
47
- */
48
- this.error = false;
49
39
  /**
50
40
  * Display the input field's content without allowing users to change it.
51
41
  * Users can still click on it, select, and copy the text, but they won't be
@@ -58,6 +48,20 @@ const NvFielddropdown$1 = /*@__PURE__*/ proxyCustomElement(class NvFielddropdown
58
48
  * clicks or touches.
59
49
  */
60
50
  this.disabled = false;
51
+ /**
52
+ * Alters the input field's appearance to indicate an error, helping users
53
+ * identify fields that need correction.
54
+ * @validator error
55
+ */
56
+ this.error = false;
57
+ /**
58
+ * Defines the maximum height of the multiselect list when open.
59
+ */
60
+ this.maxHeight = '';
61
+ /**
62
+ * State of the dropdown popover.
63
+ */
64
+ this.open = false;
61
65
  /**
62
66
  * The text to display when no items match the filter.
63
67
  */
@@ -66,6 +70,11 @@ const NvFielddropdown$1 = /*@__PURE__*/ proxyCustomElement(class NvFielddropdown
66
70
  * Enables or disables the filtering feature for the dropdown items.
67
71
  */
68
72
  this.filterable = false;
73
+ /**
74
+ * Delay in milliseconds before the search is triggered when typing in the filter input.
75
+ * @default 300
76
+ */
77
+ this.debounceDelay = 300;
69
78
  /**
70
79
  * Applies focus to the input field as soon as the component is mounted. This
71
80
  * is equivalent to setting the native autofocus attribute on an <input>
@@ -79,7 +88,9 @@ const NvFielddropdown$1 = /*@__PURE__*/ proxyCustomElement(class NvFielddropdown
79
88
  //#endregion PROPERTIES
80
89
  /****************************************************************************/
81
90
  //#region STATE
82
- /** The text entered by the user for filtering dropdown items. */
91
+ /**
92
+ * The text entered by the user for filtering dropdown items.
93
+ */
83
94
  this.filterText = '';
84
95
  this.selectedValues = new Set();
85
96
  this.handleInputContainerClick = (event) => {
@@ -110,8 +121,15 @@ const NvFielddropdown$1 = /*@__PURE__*/ proxyCustomElement(class NvFielddropdown
110
121
  }
111
122
  const input = event.target;
112
123
  this.open = true;
113
- this.filterText = input.value.toLowerCase();
114
- this.filterItems();
124
+ // Clear any existing timer
125
+ if (this.debounceTimer) {
126
+ window.clearTimeout(this.debounceTimer);
127
+ }
128
+ // Set a new timer for filtering
129
+ this.debounceTimer = window.setTimeout(() => {
130
+ this.filterText = input.value.toLowerCase();
131
+ this.filterItems();
132
+ }, this.debounceDelay);
115
133
  };
116
134
  this.handleInputFocus = () => {
117
135
  if (this.disabled || this.readonly)
@@ -147,6 +165,31 @@ const NvFielddropdown$1 = /*@__PURE__*/ proxyCustomElement(class NvFielddropdown
147
165
  this.filterItems();
148
166
  };
149
167
  }
168
+ //#endregion EVENTS
169
+ /****************************************************************************/
170
+ //#region WATCHERS
171
+ handleOptionsChange(newValue) {
172
+ var _a;
173
+ if (!newValue)
174
+ return;
175
+ if (!this.value) {
176
+ const defaultValue = newValue.find(option => option.selected);
177
+ this.value = (_a = defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.value) !== null && _a !== void 0 ? _a : '';
178
+ this.updateSelectedItem(this.value);
179
+ }
180
+ }
181
+ watchValueHandler(newValue) {
182
+ this.valueChanged.emit(newValue);
183
+ }
184
+ //#endregion WATCHERS
185
+ /****************************************************************************/
186
+ //#region LISTENERS
187
+ handleOpenChanged(event) {
188
+ // Stop propagation to prevent the event from affecting parent components like dialogs
189
+ event.stopPropagation();
190
+ // Update `open` based on the popover state
191
+ this.open = event.detail;
192
+ }
150
193
  handleDropdownItemSelected(event) {
151
194
  if (this.disabled || this.readonly)
152
195
  return;
@@ -163,25 +206,6 @@ const NvFielddropdown$1 = /*@__PURE__*/ proxyCustomElement(class NvFielddropdown
163
206
  this.value = event.detail.value;
164
207
  this.open = false;
165
208
  }
166
- handleOpenChanged(event) {
167
- // Stop propagation to prevent the event from affecting parent components like dialogs
168
- event.stopPropagation();
169
- // Update `open` based on the popover state
170
- this.open = event.detail;
171
- }
172
- watchValueHandler(newValue) {
173
- this.valueChanged.emit(newValue);
174
- }
175
- handleOptionsChange(newValue) {
176
- var _a;
177
- if (!newValue)
178
- return;
179
- if (!this.value) {
180
- const defaultValue = newValue.find(option => option.selected);
181
- this.value = (_a = defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.value) !== null && _a !== void 0 ? _a : '';
182
- this.updateSelectedItem(this.value);
183
- }
184
- }
185
209
  handleBlur(event) {
186
210
  const target = event.relatedTarget;
187
211
  if (!(target instanceof Node) || !this.el.contains(target)) {
@@ -223,7 +247,27 @@ const NvFielddropdown$1 = /*@__PURE__*/ proxyCustomElement(class NvFielddropdown
223
247
  this.open = false;
224
248
  }
225
249
  }
226
- //#endregion EVENTS
250
+ //#endregion LISTENERS
251
+ /****************************************************************************/
252
+ //#region LIFECYCLE
253
+ componentWillLoad() {
254
+ this.resetFilter();
255
+ if (this.filterable && this.filterText) {
256
+ this.filterItems();
257
+ }
258
+ if (this.options) {
259
+ this.handleOptionsChange(this.options);
260
+ }
261
+ }
262
+ componentDidLoad() {
263
+ if (this.value) {
264
+ this.updateSelectedItem(this.value);
265
+ }
266
+ if (this.inputElement) {
267
+ this.inputElement.value = this.getSelectedLabel();
268
+ }
269
+ }
270
+ //#endregion LIFECYCLE
227
271
  /****************************************************************************/
228
272
  //#region METHODS
229
273
  /**
@@ -312,65 +356,47 @@ const NvFielddropdown$1 = /*@__PURE__*/ proxyCustomElement(class NvFielddropdown
312
356
  }
313
357
  //#endregion METHODS
314
358
  /****************************************************************************/
315
- //#region LIFECYCLE
316
- componentWillLoad() {
317
- this.resetFilter();
318
- if (this.filterable && this.filterText) {
319
- this.filterItems();
320
- }
321
- if (this.options) {
322
- this.handleOptionsChange(this.options);
323
- }
324
- }
325
- componentDidLoad() {
326
- if (this.value) {
327
- this.updateSelectedItem(this.value);
328
- }
329
- if (this.inputElement) {
330
- this.inputElement.value = this.getSelectedLabel();
331
- }
332
- }
333
- //#endregion LIFECYCLE
334
- /****************************************************************************/
335
359
  //#region RENDER
336
360
  render() {
337
361
  var _a;
338
- return (h(Host, { key: 'cf5547bf05355ee548804c697fd6a3524d68c1ba', role: "combobox", "aria-expanded": this.open.toString(), "aria-haspopup": "listbox", "aria-label": this.label }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: '76d23fc85b18e8bf4288d4f7bcf47a4af283fc23', htmlFor: this.inputId }, h("slot", { key: 'fe4faee394762bb88feeaea26ae508981cf25f95', name: "label" }, this.label))), h("nv-popover", { key: '477a08c8898de641e707bf34fc1584ad217f8beb', ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, h("div", { key: '4154ac008b7868eb231eb951e88dd6feba4a758a', class: "input-wrapper", slot: "trigger" }, h("slot", { key: 'c59d39d2f18c2a5a8a40c2c796ca564f4356168c', name: "before-input" }), h("div", { key: '4eb6163061b5daf3aa4d6afe64970e0e5bf551d6', class: "input-container", onClick: this.handleInputContainerClick }, h("slot", { key: 'b183868757274f389a00a4cd8f745a137d6ead44', name: "leading-input" }), this.filterable || this.disabled || this.readonly ? (h("input", { "data-scope": "focusable", id: this.inputId, type: "search", ref: e => (this.inputElement = e), autofocus: this.autofocus, autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, value: this.getSelectedLabel(), required: this.required, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput, onFocus: this.handleInputFocus, onClick: this.handleInputFocus, onKeyDown: this.handleKeyDown })) : (h("p", { "data-scope": "focusable", id: this.inputId, class: "non-filterable-text", onClick: this.handleInputContainerClick, tabIndex: this.disabled ? -1 : 0, onKeyDown: this.handleKeyDown, onFocus: this.handleInputFocus }, this.getSelectedLabel() || this.value || this.placeholder)), this.filterable && this.filterText && this.open && (h("nv-iconbutton", { key: 'ca073047dfa1cf558c77fbae2d84e77fd5ae33bf', name: "x", size: "md", emphasis: "lower", class: "clear-button", onClick: this.clearFilter, "aria-label": "Clear input" })), this.error && (h("nv-icon", { key: 'b847592deb061bcc9c2ec6649ba66290da54e1d0', name: "alert-circle", class: "validation", size: "md" })), h("nv-iconbutton", { key: 'f30ddb81d582840918866bdaa8055fcf30cdf9dc', "data-scope": "toggle-dropdown", name: this.open ? 'chevron-top' : 'chevron-down', size: "md", emphasis: "lower", "aria-label": this.open ? 'Hide dropdown' : 'Show dropdown', "aria-pressed": this.open.toString(), onClick: this.togglePopover, tabIndex: this.disabled ? -1 : 0 })), h("slot", { key: '023464c8dc5c2d502abff1e5738d861eccb31cd7', name: "after-input" })), h("div", { key: '7143961a33d624d653e066e5dc3f74865171303f', slot: "content" }, ((_a = this.options) === null || _a === void 0 ? void 0 : _a.length) > 0 ? (h("ul", null, this.options.map(option => (h("nv-fielddropdownitem", { label: option.label, value: option.value, disabled: option.disabled, selected: option.value === this.value }))))) : (h("slot", { name: "content" })))), (this.description ||
339
- this.el.querySelector('[slot="description"]')) && (h("div", { key: 'afee31c96dade12087ea2a476ef51dd235c34ad7', class: "description" }, h("slot", { key: '53ca646ce1abc0d2d96764b7e7cf08dcdf908909', name: "description" }, this.description))), (this.errorDescription ||
340
- this.el.querySelector('[slot="error-description"]')) && (h("div", { key: 'f282d962255459043b865d18c95a328cd5c7b2e8', hidden: !this.error, class: "error-description" }, h("slot", { key: 'c01c9c62d1fb43c469b271f1e5f5ac5c401b112e', name: "error-description" }, this.errorDescription)))));
362
+ return (h(Host, { key: '3864f366575665c4730dde8fd0d8e37c4ee11d82', role: "combobox", "aria-expanded": this.open.toString(), "aria-haspopup": "listbox", "aria-label": this.label }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: '8ce42f691251468c6c054464ee3695e2bea90bd5', htmlFor: this.inputId }, h("slot", { key: '7e779704e1c3f9f6ee71455679c0e1d5d4ee8795', name: "label" }, this.label))), h("nv-popover", { key: '82cdd318e195ef44513684afba0e9c9772cad448', ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, h("div", { key: '1189c8fd06db511cb51721ac14cdc54ef286691c', class: "input-wrapper", slot: "trigger" }, h("slot", { key: '9069907e055d77a19c30c045e29eaf4bf998f9a0', name: "before-input" }), h("div", { key: '2c57f017b25754d4b5baf44e3457e95256dfdccf', class: "input-container", onClick: this.handleInputContainerClick }, h("slot", { key: '939e749473e4df95a28fcf98e8b6d455408bff71', name: "leading-input" }), this.filterable || this.disabled || this.readonly ? (h("input", { "data-scope": "focusable", id: this.inputId, type: "search", ref: e => (this.inputElement = e), autofocus: this.autofocus, autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, value: this.getSelectedLabel(), required: this.required, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput, onFocus: this.handleInputFocus, onClick: this.handleInputFocus, onKeyDown: this.handleKeyDown })) : (h("p", { "data-scope": "focusable", id: this.inputId, class: "non-filterable-text", onClick: this.handleInputContainerClick, tabIndex: this.disabled ? -1 : 0, onKeyDown: this.handleKeyDown, onFocus: this.handleInputFocus }, this.getSelectedLabel() || this.value || this.placeholder)), this.filterable && this.filterText && this.open && (h("nv-iconbutton", { key: 'dcf54042b261665e5317ac122a93ca12fcedd9bc', name: "x", size: "md", emphasis: "lower", class: "clear-button", onClick: this.clearFilter, "aria-label": "Clear input" })), this.error && (h("nv-icon", { key: '3551957d94021648d731f97c1ba7ecdc8a325c15', name: "alert-circle", class: "validation", size: "md" })), h("nv-iconbutton", { key: 'e8576d20f760219f236aa9ba52a34f762cc8d23e', "data-scope": "toggle-dropdown", name: this.open ? 'chevron-top' : 'chevron-down', size: "md", emphasis: "lower", "aria-label": this.open ? 'Hide dropdown' : 'Show dropdown', "aria-pressed": this.open.toString(), onClick: this.togglePopover, tabIndex: this.disabled ? -1 : 0 })), h("slot", { key: '48e9ae570e34cde3d20594a3f6518298ebbad02e', name: "after-input" })), h("div", { key: 'cec0a670f4158ca91aa45dcee7a5c25a584226f9', slot: "content", style: this.maxHeight ? { maxHeight: this.maxHeight } : {} }, ((_a = this.options) === null || _a === void 0 ? void 0 : _a.length) > 0 ? (h("ul", null, this.options.map(option => (h("nv-fielddropdownitem", { label: option.label, value: option.value, disabled: option.disabled, selected: option.value === this.value }))))) : (h("slot", { name: "content" })))), (this.description ||
363
+ this.el.querySelector('[slot="description"]')) && (h("div", { key: 'e24dbfc170fb20e48ca2a474508a7c9beac6b87e', class: "description" }, h("slot", { key: '3b4429e2dd0b4f070309b00c6cba94cd343e7165', name: "description" }, this.description))), (this.errorDescription ||
364
+ this.el.querySelector('[slot="error-description"]')) && (h("div", { key: 'b59ecbf446b142840f5c5933c505900abf126378', hidden: !this.error, class: "error-description" }, h("slot", { key: 'bf3c16d6a9fdc7a10741518153465a736eff808c', name: "error-description" }, this.errorDescription)))));
341
365
  }
342
366
  static get formAssociated() { return true; }
343
367
  get el() { return this; }
344
368
  static get watchers() { return {
345
- "value": ["watchValueHandler"],
346
- "options": ["handleOptionsChange"]
369
+ "options": ["handleOptionsChange"],
370
+ "value": ["watchValueHandler"]
347
371
  }; }
348
372
  static get style() { return NvFielddropdownStyle0; }
349
373
  }, [68, "nv-fielddropdown", {
350
374
  "inputId": [513, "input-id"],
375
+ "name": [513],
351
376
  "label": [513],
352
377
  "description": [513],
353
378
  "placeholder": [513],
354
- "name": [513],
355
- "open": [1540],
356
379
  "autocomplete": [513],
357
380
  "value": [1537],
358
381
  "required": [516],
359
- "error": [516],
360
- "errorDescription": [513, "error-description"],
361
382
  "readonly": [516],
362
383
  "disabled": [516],
384
+ "error": [516],
385
+ "errorDescription": [513, "error-description"],
386
+ "maxHeight": [513, "max-height"],
387
+ "open": [1540],
363
388
  "emptyResult": [513, "empty-result"],
364
389
  "filterable": [516],
365
390
  "options": [16],
391
+ "debounceDelay": [514, "debounce-delay"],
366
392
  "autofocus": [516],
367
393
  "fluid": [516],
368
394
  "filterText": [32],
369
395
  "selectedValues": [32],
370
396
  "getFilterText": [64]
371
- }, [[0, "dropdownItemSelected", "handleDropdownItemSelected"], [0, "openChanged", "handleOpenChanged"], [2, "blur", "handleBlur"], [0, "keydown", "handleKeyDown"]], {
372
- "value": ["watchValueHandler"],
373
- "options": ["handleOptionsChange"]
397
+ }, [[0, "openChanged", "handleOpenChanged"], [0, "dropdownItemSelected", "handleDropdownItemSelected"], [2, "blur", "handleBlur"], [0, "keydown", "handleKeyDown"]], {
398
+ "options": ["handleOptionsChange"],
399
+ "value": ["watchValueHandler"]
374
400
  }]);
375
401
  function defineCustomElement$1() {
376
402
  if (typeof customElements === "undefined") {