@nova-design-system/nova-webcomponents 3.18.0 → 3.19.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 (288) hide show
  1. package/dist/cjs/index.cjs.js +13 -0
  2. package/dist/cjs/index.cjs.js.map +1 -1
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/native.cjs.js +1 -1
  5. package/dist/cjs/nv-badge_2.cjs.entry.js +1 -1
  6. package/dist/cjs/nv-fielddate.cjs.entry.js +10 -6
  7. package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
  8. package/dist/cjs/nv-fielddaterange.cjs.entry.js +11 -7
  9. package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
  10. package/dist/cjs/nv-fielddropdown.cjs.entry.js +193 -209
  11. package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
  12. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +7 -4
  13. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js.map +1 -1
  14. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +4 -0
  15. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
  16. package/dist/cjs/nv-fieldnumber.cjs.entry.js +3 -3
  17. package/dist/cjs/nv-fieldpassword.cjs.entry.js +3 -3
  18. package/dist/cjs/nv-fieldradio.cjs.entry.js +3 -3
  19. package/dist/cjs/nv-fieldselect.cjs.entry.js +5 -5
  20. package/dist/cjs/nv-fieldslider.cjs.entry.js +3 -3
  21. package/dist/cjs/nv-fieldtext.cjs.entry.js +3 -3
  22. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +3 -3
  23. package/dist/cjs/nv-fieldtime.cjs.entry.js +4 -3
  24. package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -1
  25. package/dist/cjs/nv-icon.cjs.entry.js +2 -2
  26. package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
  27. package/dist/cjs/nv-iconbutton_2.cjs.entry.js +2 -2
  28. package/dist/cjs/nv-menu.cjs.entry.js +2 -2
  29. package/dist/cjs/nv-menu.cjs.entry.js.map +1 -1
  30. package/dist/cjs/nv-menuitem.cjs.entry.js +1 -1
  31. package/dist/cjs/nv-notification.cjs.entry.js +1 -1
  32. package/dist/cjs/nv-notificationcontainer.cjs.entry.js +1 -1
  33. package/dist/cjs/nv-popover.cjs.entry.js +2 -2
  34. package/dist/cjs/nv-popover.cjs.entry.js.map +1 -1
  35. package/dist/cjs/nv-row.cjs.entry.js +1 -1
  36. package/dist/cjs/nv-split.cjs.entry.js +1 -1
  37. package/dist/cjs/nv-stack.cjs.entry.js +1 -1
  38. package/dist/cjs/nv-table.cjs.entry.js +1 -1
  39. package/dist/cjs/nv-toggle.cjs.entry.js +2 -2
  40. package/dist/cjs/nv-togglebutton.cjs.entry.js +1 -1
  41. package/dist/cjs/nv-togglebuttongroup.cjs.entry.js +1 -1
  42. package/dist/cjs/nv-tooltip.cjs.entry.js +1 -1
  43. package/dist/collection/components/nv-fielddate/nv-fielddate.js +10 -6
  44. package/dist/collection/components/nv-fielddate/nv-fielddate.js.map +1 -1
  45. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +10 -6
  46. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +1 -1
  47. package/dist/collection/components/nv-fielddaterange/styles/nv-fielddaterange.css +2 -0
  48. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +31 -13
  49. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +1 -1
  50. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +310 -245
  51. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
  52. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +29 -6
  53. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js.map +1 -1
  54. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +1 -1
  55. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +4 -0
  56. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
  57. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +3 -3
  58. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +3 -3
  59. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
  60. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +5 -5
  61. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +3 -3
  62. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +3 -3
  63. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -3
  64. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +4 -3
  65. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js.map +1 -1
  66. package/dist/collection/components/nv-icon/nv-icon.js +1 -1
  67. package/dist/collection/components/nv-icon/nv-icons.js +13 -0
  68. package/dist/collection/components/nv-icon/nv-icons.js.map +1 -1
  69. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
  70. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  71. package/dist/collection/components/nv-menu/nv-menu.js +3 -3
  72. package/dist/collection/components/nv-menu/nv-menu.js.map +1 -1
  73. package/dist/collection/components/nv-menuitem/nv-menuitem.js +2 -2
  74. package/dist/collection/components/nv-notification/nv-notification.js +1 -1
  75. package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.js +1 -1
  76. package/dist/collection/components/nv-popover/nv-popover.js +2 -2
  77. package/dist/collection/components/nv-popover/nv-popover.js.map +1 -1
  78. package/dist/collection/components/nv-row/nv-row.js +1 -1
  79. package/dist/collection/components/nv-split/nv-split.js +1 -1
  80. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  81. package/dist/collection/components/nv-table/nv-table.js +1 -1
  82. package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
  83. package/dist/collection/components/nv-togglebutton/nv-togglebutton.js +1 -1
  84. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js +1 -1
  85. package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
  86. package/dist/components/index.js +13 -0
  87. package/dist/components/index.js.map +1 -1
  88. package/dist/components/nv-accordion-item.js +1 -1
  89. package/dist/components/nv-accordion.js +4 -4
  90. package/dist/components/nv-alert.js +1 -1
  91. package/dist/components/nv-avatar.js +1 -1
  92. package/dist/components/nv-badge.js +1 -1
  93. package/dist/components/nv-breadcrumb.js +2 -2
  94. package/dist/components/nv-button.js +1 -1
  95. package/dist/components/nv-datagrid.js +2 -2
  96. package/dist/components/nv-dialog.js +4 -4
  97. package/dist/components/nv-dialogfooter.js +1 -1
  98. package/dist/components/nv-fielddate.js +14 -10
  99. package/dist/components/nv-fielddate.js.map +1 -1
  100. package/dist/components/nv-fielddaterange.js +15 -11
  101. package/dist/components/nv-fielddaterange.js.map +1 -1
  102. package/dist/components/nv-fielddropdown.js +207 -220
  103. package/dist/components/nv-fielddropdown.js.map +1 -1
  104. package/dist/components/nv-fielddropdownitem.js +1 -1
  105. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  106. package/dist/components/nv-fieldmultiselect.js +10 -6
  107. package/dist/components/nv-fieldmultiselect.js.map +1 -1
  108. package/dist/components/nv-fieldnumber.js +1 -1
  109. package/dist/components/nv-fieldpassword.js +6 -6
  110. package/dist/components/nv-fieldradio.js +3 -3
  111. package/dist/components/nv-fieldselect.js +8 -8
  112. package/dist/components/nv-fieldslider.js +7 -7
  113. package/dist/components/nv-fieldtext.js +1 -1
  114. package/dist/components/nv-fieldtextarea.js +3 -3
  115. package/dist/components/nv-fieldtime.js +8 -7
  116. package/dist/components/nv-fieldtime.js.map +1 -1
  117. package/dist/components/nv-icon.js +1 -1
  118. package/dist/components/nv-iconbutton.js +1 -1
  119. package/dist/components/nv-loader.js +1 -1
  120. package/dist/components/nv-menu.js +5 -5
  121. package/dist/components/nv-menu.js.map +1 -1
  122. package/dist/components/nv-menuitem.js +1 -1
  123. package/dist/components/nv-notification.js +2 -2
  124. package/dist/components/nv-notificationcontainer.js +1 -1
  125. package/dist/components/nv-popover.js +1 -1
  126. package/dist/components/nv-row.js +1 -1
  127. package/dist/components/nv-split.js +1 -1
  128. package/dist/components/nv-stack.js +1 -1
  129. package/dist/components/nv-table.js +1 -1
  130. package/dist/components/nv-toggle.js +2 -2
  131. package/dist/components/nv-togglebutton.js +1 -1
  132. package/dist/components/nv-togglebuttongroup.js +1 -1
  133. package/dist/components/nv-tooltip.js +1 -1
  134. package/dist/components/{p-015330b8.js → p-18f50d91.js} +2 -2
  135. package/dist/components/{p-015330b8.js.map → p-18f50d91.js.map} +1 -1
  136. package/dist/components/{p-c981bb48.js → p-222136c2.js} +2 -2
  137. package/dist/components/{p-c981bb48.js.map → p-222136c2.js.map} +1 -1
  138. package/dist/components/{p-fca4d85b.js → p-2ac6f42d.js} +3 -3
  139. package/dist/components/{p-fca4d85b.js.map → p-2ac6f42d.js.map} +1 -1
  140. package/dist/components/{p-fabbaf47.js → p-334e19d3.js} +4 -4
  141. package/dist/components/{p-fabbaf47.js.map → p-334e19d3.js.map} +1 -1
  142. package/dist/components/{p-5e315239.js → p-45a3cf85.js} +11 -7
  143. package/dist/components/p-45a3cf85.js.map +1 -0
  144. package/dist/components/{p-ebfecbaa.js → p-4799b6c3.js} +3 -3
  145. package/dist/components/p-4799b6c3.js.map +1 -0
  146. package/dist/components/{p-4cd6f629.js → p-49205084.js} +5 -5
  147. package/dist/components/{p-4cd6f629.js.map → p-49205084.js.map} +1 -1
  148. package/dist/components/{p-6ca3d847.js → p-5a5db065.js} +4 -4
  149. package/dist/components/{p-6ca3d847.js.map → p-5a5db065.js.map} +1 -1
  150. package/dist/components/{p-1bd396b1.js → p-60083982.js} +4 -4
  151. package/dist/components/{p-1bd396b1.js.map → p-60083982.js.map} +1 -1
  152. package/dist/components/{p-ea45f1ab.js → p-81d915ef.js} +3 -3
  153. package/dist/components/{p-ea45f1ab.js.map → p-81d915ef.js.map} +1 -1
  154. package/dist/components/p-946a047c.js +88 -0
  155. package/dist/components/p-946a047c.js.map +1 -0
  156. package/dist/components/{p-715e5235.js → p-a6c29711.js} +2 -2
  157. package/dist/components/{p-715e5235.js.map → p-a6c29711.js.map} +1 -1
  158. package/dist/components/{p-d1b02966.js → p-e0eb748c.js} +7 -7
  159. package/dist/components/{p-d1b02966.js.map → p-e0eb748c.js.map} +1 -1
  160. package/dist/components/{p-2574f8c2.js → p-e1b2eba2.js} +2 -2
  161. package/dist/components/{p-2574f8c2.js.map → p-e1b2eba2.js.map} +1 -1
  162. package/dist/esm/index.js +13 -0
  163. package/dist/esm/index.js.map +1 -1
  164. package/dist/esm/loader.js +1 -1
  165. package/dist/esm/native.js +1 -1
  166. package/dist/esm/nv-badge_2.entry.js +1 -1
  167. package/dist/esm/nv-fielddate.entry.js +10 -6
  168. package/dist/esm/nv-fielddate.entry.js.map +1 -1
  169. package/dist/esm/nv-fielddaterange.entry.js +11 -7
  170. package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
  171. package/dist/esm/nv-fielddropdown.entry.js +193 -209
  172. package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
  173. package/dist/esm/nv-fielddropdownitem.entry.js +7 -4
  174. package/dist/esm/nv-fielddropdownitem.entry.js.map +1 -1
  175. package/dist/esm/nv-fieldmultiselect.entry.js +4 -0
  176. package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
  177. package/dist/esm/nv-fieldnumber.entry.js +3 -3
  178. package/dist/esm/nv-fieldpassword.entry.js +3 -3
  179. package/dist/esm/nv-fieldradio.entry.js +3 -3
  180. package/dist/esm/nv-fieldselect.entry.js +5 -5
  181. package/dist/esm/nv-fieldslider.entry.js +3 -3
  182. package/dist/esm/nv-fieldtext.entry.js +3 -3
  183. package/dist/esm/nv-fieldtextarea.entry.js +3 -3
  184. package/dist/esm/nv-fieldtime.entry.js +4 -3
  185. package/dist/esm/nv-fieldtime.entry.js.map +1 -1
  186. package/dist/esm/nv-icon.entry.js +2 -2
  187. package/dist/esm/nv-icon.entry.js.map +1 -1
  188. package/dist/esm/nv-iconbutton_2.entry.js +2 -2
  189. package/dist/esm/nv-menu.entry.js +2 -2
  190. package/dist/esm/nv-menu.entry.js.map +1 -1
  191. package/dist/esm/nv-menuitem.entry.js +1 -1
  192. package/dist/esm/nv-notification.entry.js +1 -1
  193. package/dist/esm/nv-notificationcontainer.entry.js +1 -1
  194. package/dist/esm/nv-popover.entry.js +2 -2
  195. package/dist/esm/nv-popover.entry.js.map +1 -1
  196. package/dist/esm/nv-row.entry.js +1 -1
  197. package/dist/esm/nv-split.entry.js +1 -1
  198. package/dist/esm/nv-stack.entry.js +1 -1
  199. package/dist/esm/nv-table.entry.js +1 -1
  200. package/dist/esm/nv-toggle.entry.js +2 -2
  201. package/dist/esm/nv-togglebutton.entry.js +1 -1
  202. package/dist/esm/nv-togglebuttongroup.entry.js +1 -1
  203. package/dist/esm/nv-tooltip.entry.js +1 -1
  204. package/dist/native/index.esm.js +1 -1
  205. package/dist/native/index.esm.js.map +1 -1
  206. package/dist/native/native.esm.js +1 -1
  207. package/dist/native/native.esm.js.map +1 -1
  208. package/dist/native/{p-acada158.entry.js → p-0177409b.entry.js} +2 -2
  209. package/dist/native/{p-14d2f70a.entry.js → p-075d231e.entry.js} +2 -2
  210. package/dist/native/{p-d878e90a.entry.js → p-144d0f8a.entry.js} +2 -2
  211. package/dist/native/p-144d0f8a.entry.js.map +1 -0
  212. package/dist/native/{p-b4c15f25.entry.js → p-17666092.entry.js} +2 -2
  213. package/dist/native/{p-107e80c6.entry.js → p-218135b1.entry.js} +2 -2
  214. package/dist/native/p-218135b1.entry.js.map +1 -0
  215. package/dist/native/p-2a7f80f4.entry.js +2 -0
  216. package/dist/native/p-2a7f80f4.entry.js.map +1 -0
  217. package/dist/native/{p-e5b7ce4e.entry.js → p-445221dc.entry.js} +2 -2
  218. package/dist/native/{p-4e6fb719.entry.js → p-44a78545.entry.js} +2 -2
  219. package/dist/native/p-57420a2f.entry.js +2 -0
  220. package/dist/native/{p-5c678bc7.entry.js → p-587d94f3.entry.js} +2 -2
  221. package/dist/native/{p-95184ea2.entry.js → p-6a418ec4.entry.js} +2 -2
  222. package/dist/native/{p-5039ceb8.entry.js → p-859bf9ad.entry.js} +2 -2
  223. package/dist/native/{p-5039ceb8.entry.js.map → p-859bf9ad.entry.js.map} +1 -1
  224. package/dist/native/{p-ae43eee2.entry.js → p-9950e075.entry.js} +2 -2
  225. package/dist/native/{p-ad029453.entry.js → p-9c432751.entry.js} +2 -2
  226. package/dist/native/{p-8c053954.entry.js → p-a026654f.entry.js} +2 -2
  227. package/dist/native/p-a026654f.entry.js.map +1 -0
  228. package/dist/native/{p-417fba7d.entry.js → p-a2f58133.entry.js} +2 -2
  229. package/dist/native/{p-3464b86a.entry.js → p-b02c896a.entry.js} +2 -2
  230. package/dist/native/{p-9613087c.entry.js → p-b4382c94.entry.js} +2 -2
  231. package/dist/native/{p-835abdb9.entry.js → p-b626ef47.entry.js} +2 -2
  232. package/dist/native/{p-23ee0384.entry.js → p-c0de4bb0.entry.js} +2 -2
  233. package/dist/native/{p-5f98d4cd.entry.js → p-c9fea0df.entry.js} +2 -2
  234. package/dist/native/{p-5f98d4cd.entry.js.map → p-c9fea0df.entry.js.map} +1 -1
  235. package/dist/native/{p-ca39f78d.entry.js → p-d62869ff.entry.js} +2 -2
  236. package/dist/native/p-d63689da.entry.js +2 -0
  237. package/dist/native/p-d63689da.entry.js.map +1 -0
  238. package/dist/native/p-d8f3cf92.entry.js +2 -0
  239. package/dist/native/p-d8f3cf92.entry.js.map +1 -0
  240. package/dist/native/{p-539666dd.entry.js → p-dfb6b65e.entry.js} +2 -2
  241. package/dist/native/{p-230af58a.entry.js → p-e6f24210.entry.js} +2 -2
  242. package/dist/native/p-e6f24210.entry.js.map +1 -0
  243. package/dist/native/{p-da2060a5.entry.js → p-eb74feb7.entry.js} +2 -2
  244. package/dist/native/{p-6d427897.entry.js → p-fa3e588e.entry.js} +2 -2
  245. package/dist/native/{p-112d096c.entry.js → p-fffbd3c1.entry.js} +2 -2
  246. package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +54 -35
  247. package/dist/types/components/nv-fielddropdownitem/nv-fielddropdownitem.d.ts +7 -0
  248. package/dist/types/components/nv-icon/nv-icons.d.ts +1 -1
  249. package/dist/types/components.d.ts +59 -13
  250. package/dist/vscode-data.json +50 -3
  251. package/hydrate/index.js +283 -279
  252. package/hydrate/index.mjs +283 -279
  253. package/package.json +1 -1
  254. package/dist/components/p-5e315239.js.map +0 -1
  255. package/dist/components/p-ebfecbaa.js.map +0 -1
  256. package/dist/components/p-ed43bcec.js +0 -88
  257. package/dist/components/p-ed43bcec.js.map +0 -1
  258. package/dist/native/p-00d1e5e1.entry.js +0 -2
  259. package/dist/native/p-00d1e5e1.entry.js.map +0 -1
  260. package/dist/native/p-107e80c6.entry.js.map +0 -1
  261. package/dist/native/p-230af58a.entry.js.map +0 -1
  262. package/dist/native/p-5e70f9ce.entry.js +0 -2
  263. package/dist/native/p-8c053954.entry.js.map +0 -1
  264. package/dist/native/p-b72b5e88.entry.js +0 -2
  265. package/dist/native/p-b72b5e88.entry.js.map +0 -1
  266. package/dist/native/p-d7f444fb.entry.js +0 -2
  267. package/dist/native/p-d7f444fb.entry.js.map +0 -1
  268. package/dist/native/p-d878e90a.entry.js.map +0 -1
  269. /package/dist/native/{p-acada158.entry.js.map → p-0177409b.entry.js.map} +0 -0
  270. /package/dist/native/{p-14d2f70a.entry.js.map → p-075d231e.entry.js.map} +0 -0
  271. /package/dist/native/{p-b4c15f25.entry.js.map → p-17666092.entry.js.map} +0 -0
  272. /package/dist/native/{p-e5b7ce4e.entry.js.map → p-445221dc.entry.js.map} +0 -0
  273. /package/dist/native/{p-4e6fb719.entry.js.map → p-44a78545.entry.js.map} +0 -0
  274. /package/dist/native/{p-5e70f9ce.entry.js.map → p-57420a2f.entry.js.map} +0 -0
  275. /package/dist/native/{p-5c678bc7.entry.js.map → p-587d94f3.entry.js.map} +0 -0
  276. /package/dist/native/{p-95184ea2.entry.js.map → p-6a418ec4.entry.js.map} +0 -0
  277. /package/dist/native/{p-ae43eee2.entry.js.map → p-9950e075.entry.js.map} +0 -0
  278. /package/dist/native/{p-ad029453.entry.js.map → p-9c432751.entry.js.map} +0 -0
  279. /package/dist/native/{p-417fba7d.entry.js.map → p-a2f58133.entry.js.map} +0 -0
  280. /package/dist/native/{p-3464b86a.entry.js.map → p-b02c896a.entry.js.map} +0 -0
  281. /package/dist/native/{p-9613087c.entry.js.map → p-b4382c94.entry.js.map} +0 -0
  282. /package/dist/native/{p-835abdb9.entry.js.map → p-b626ef47.entry.js.map} +0 -0
  283. /package/dist/native/{p-23ee0384.entry.js.map → p-c0de4bb0.entry.js.map} +0 -0
  284. /package/dist/native/{p-ca39f78d.entry.js.map → p-d62869ff.entry.js.map} +0 -0
  285. /package/dist/native/{p-539666dd.entry.js.map → p-dfb6b65e.entry.js.map} +0 -0
  286. /package/dist/native/{p-da2060a5.entry.js.map → p-eb74feb7.entry.js.map} +0 -0
  287. /package/dist/native/{p-6d427897.entry.js.map → p-fa3e588e.entry.js.map} +0 -0
  288. /package/dist/native/{p-112d096c.entry.js.map → p-fffbd3c1.entry.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{r as e,c as o,h as r,H as i,g as t}from"./p-3060df80.js";import{v as n}from"./p-f5ff676c.js";const d='nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-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:var(--font-weight-high-emphasis)}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:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:var(--font-weight-medium-emphasis);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:var(--font-weight-medium-emphasis);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:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:var(--font-weight-low-emphasis);line-height:var(--form-field-line-height)}nv-fielddropdown .input-container input[type=password]::-ms-clear,nv-fielddropdown .input-container input[type=password]::-ms-reveal,nv-fielddropdown .input-container p.non-filterable-text[type=password]::-ms-clear,nv-fielddropdown .input-container p.non-filterable-text[type=password]::-ms-reveal{display:none;width:0;height:0}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-iconbutton:last-of-type{border-top-right-radius:var(--form-field-radius);border-bottom-right-radius:var(--form-field-radius)}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:var(--font-weight-medium-emphasis);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:var(--font-family-default), var(--font-family-fallback), 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:var(--font-family-default), var(--font-family-fallback), 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)}';const l=d;const a=class{constructor(r){e(this,r);this.valueChanged=o(this,"valueChanged",7);this.dropdownItemSelected=o(this,"dropdownItemSelected",7);this.inputId=n();this.autocomplete="off";this.required=false;this.readonly=false;this.disabled=false;this.error=false;this.maxHeight="";this.open=false;this.emptyResult="No results found";this.filterable=false;this.debounceDelay=300;this.autofocus=false;this.fluid=false;this.filterText="";this.selectedValues=new Set;this.handleInputContainerClick=e=>{if(this.disabled||this.readonly){return}const o=e.target;if(o.tagName==="P"||o.tagName==="SPAN"){this.open=true;const e=this.el.querySelector(".input-container");if(e){e.classList.add("focus-within");const o=()=>{e.classList.remove("focus-within")};this.popoverElement.addEventListener("hide",o)}}};this.handleInput=e=>{if(!this.filterable)return;if(this.disabled||this.readonly){return}const o=e.target;this.open=true;if(this.debounceTimer){window.clearTimeout(this.debounceTimer)}this.debounceTimer=window.setTimeout((()=>{this.filterText=o.value.toLowerCase();this.filterItems()}),this.debounceDelay)};this.handleInputFocus=()=>{if(this.disabled||this.readonly)return;this.open=true};this.togglePopover=()=>{if(this.disabled||this.readonly)return;this.open=!this.open};this.getSelectedLabel=()=>{var e,o,r,i,t,n;if(!this.value)return"";if(((e=this.options)===null||e===void 0?void 0:e.length)>1){const e=this.options.find((e=>e.value===this.value));return(r=(o=e===null||e===void 0?void 0:e.label)!==null&&o!==void 0?o:e===null||e===void 0?void 0:e.value)!==null&&r!==void 0?r:this.value}const d=Array.from(this.el.querySelectorAll("nv-fielddropdownitem"));const l=d.find((e=>e.value===this.value));const a=l?(n=(i=l.label)!==null&&i!==void 0?i:(t=l.textContent)===null||t===void 0?void 0:t.trim())!==null&&n!==void 0?n:l.value:"";return a};this.clearFilter=()=>{if(!this.filterable)return;this.filterText="";this.inputElement.value=this.getSelectedLabel();this.inputElement.focus();this.filterItems()};this.handleBlurInput=e=>{var o;const r=e.relatedTarget;if(!this.el.contains(r)&&!((o=this.popoverElement)===null||o===void 0?void 0:o.contains(r))){this.open=false;if(this.filterable){this.clearFilter()}}}}handleOptionsChange(e){var o;if(!e)return;if(!this.value){const r=e.find((e=>e.selected));this.value=(o=r===null||r===void 0?void 0:r.value)!==null&&o!==void 0?o:"";this.updateSelectedItem(this.value)}}watchValueHandler(e){this.valueChanged.emit(e)}handleOpenChange(e){if(e&&this.filterable){this.filterItems()}else if(!e){this.clearFilter()}}handleOpenChanged(e){e.stopPropagation();if(e.target===this.popoverElement){this.open=e.detail}if(!e.detail&&this.filterable){this.clearFilter()}}handleDropdownItemSelected(e){if(this.disabled||this.readonly)return;const o=Array.from(this.el.querySelectorAll("nv-fielddropdownitem"));o.forEach((o=>{if(o!==e.target){o.removeAttribute("selected")}else{o.setAttribute("selected","true")}}));this.clearFilter();this.value=e.detail.value;this.open=false}handleBlur(e){const o=e.relatedTarget;if(!(o instanceof Node)||!this.el.contains(o)){this.open=false;if(this.inputElement){this.filterText="";this.inputElement.value=this.getSelectedLabel();setTimeout((()=>{this.filterItems()}),200)}}}handleKeyDown(e){if(!this.el)return;if(!this.open){if(e.key==="ArrowDown"){this.open=true;e.preventDefault();return}return}const o=Array.from(this.el.querySelectorAll("nv-fielddropdownitem:not([disabled]):not([hidden])"));let r=o.findIndex((e=>e.classList.contains("highlighted")));if(e.key==="ArrowDown"){e.preventDefault();r=(r+1)%o.length;this.updateHighlightedItem(o,r)}else if(e.key==="ArrowUp"){e.preventDefault();r=(r-1+o.length)%o.length;this.updateHighlightedItem(o,r)}else if(e.key==="Escape"){e.preventDefault();this.open=false}}componentWillLoad(){this.resetFilter();if(this.filterable&&this.filterText){this.filterItems()}if(this.options){this.handleOptionsChange(this.options)}}componentDidLoad(){if(this.value){this.updateSelectedItem(this.value)}if(this.inputElement){this.inputElement.value=this.getSelectedLabel()}}async getFilterText(){return this.filterText}filterItems(){var e;const o=Array.from(this.el.querySelectorAll("nv-fielddropdownitem"));const r=this.el.querySelector("nv-fielddropdownitem[data-empty]");if(r){r.remove()}let i=false;o.forEach((e=>{var o,r;const t=((o=e.textContent)===null||o===void 0?void 0:o.toLowerCase())||"";const n=((r=e.value)===null||r===void 0?void 0:r.toLowerCase())||"";const d=n.includes(this.filterText)||t.includes(this.filterText);if(d)e.removeAttribute("hidden");else e.setAttribute("hidden","");if(d){i=true}}));if(!i){const o=document.createElement("nv-fielddropdownitem");o.setAttribute("data-empty","true");o.setAttribute("disabled","true");o.textContent=this.emptyResult;(e=this.el.querySelector('ul[slot="content"]'))===null||e===void 0?void 0:e.appendChild(o)}}resetFilter(){const e=Array.from(this.el.querySelectorAll("nv-fielddropdownitem"));e.forEach((e=>{e.style.display=""}))}updateHighlightedItem(e,o){e.forEach(((e,r)=>{if(r===o){e.classList.add("highlighted");e.focus();e.scrollIntoView({block:"nearest"})}else{e.classList.remove("highlighted")}}))}updateSelectedItem(e){if(!e)return;const o=Array.from(this.el.querySelectorAll("nv-fielddropdownitem"));const r=o.find((o=>{var r;const i=o.getAttribute("label");const t=o.getAttribute("value");const n=(r=o.textContent)===null||r===void 0?void 0:r.trim();return i===e||t===e||n===e}));o.forEach((e=>{if(e===r){e.setAttribute("selected","")}else{e.removeAttribute("selected")}}))}render(){var e;return r(i,{key:"1d5a87b2a5e9d9ca0be659ba5706b1db068d1d2d",role:"combobox","aria-expanded":this.open.toString(),"aria-haspopup":"listbox","aria-label":this.label},(this.label||this.el.querySelector('[slot="label"]'))&&r("label",{key:"b07ca241c89f45292e479de79de618c6444a9c42",htmlFor:this.inputId},r("slot",{key:"0dd6ac2799e187e7233a5a5651ef18d59e4507e8",name:"label"},this.label)),r("nv-popover",{key:"b06d107776724937816dc4b98a035b282ed6c1f3",ref:e=>this.popoverElement=e,triggerMode:"controlled",placement:"bottom-start",open:this.open},r("div",{key:"ab755801a0f2a732ea895e04d6c3a85261422f17",class:"input-wrapper",slot:"trigger"},r("slot",{key:"b78c41d4064cf067d69fa20ae583c1be29d1f620",name:"before-input"}),r("div",{key:"b46f6440660056ff71b9debf503f15ca7046ca02",class:"input-container",onClick:this.handleInputContainerClick},r("slot",{key:"36069ce529fba771c9339a3cb6c9c5c838f441c4",name:"leading-input"}),this.filterable||this.disabled||this.readonly?r("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,onBlur:this.handleBlurInput}):r("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,onBlur:this.handleBlurInput},this.getSelectedLabel()||this.value||this.placeholder),this.filterable&&this.filterText&&this.open&&r("nv-iconbutton",{key:"36f76135c0e3e1e6750c95116aae6ddd397eec1f",name:"x",size:"md",emphasis:"lower",class:"clear-button",onClick:this.clearFilter,"aria-label":"Clear input"}),this.error&&r("nv-icon",{key:"bd73c43ffae11897359adfae69572ee490f0f5c2",name:"alert-circle",class:"validation",size:"md"}),r("nv-iconbutton",{key:"a0f237814e9f58aa9e4d72e73a1747248911ade8","data-scope":"toggle-dropdown",name:this.open?"chevron-top":"chevron-down",size:"md",emphasis:"lower","aria-label":this.open?"Hide dropdown":"Show dropdown",onClick:this.togglePopover,tabIndex:this.disabled?-1:0})),r("slot",{key:"66d2b27cfcf7ef97df493accaa333e0694234344",name:"after-input"})),r("div",{key:"de6d7e18d676788cf0c7bfebd25f22b5cd2067ce",slot:"content",style:this.maxHeight?{maxHeight:this.maxHeight}:{}},((e=this.options)===null||e===void 0?void 0:e.length)>0?r("ul",null,this.options.map((e=>r("nv-fielddropdownitem",{label:e.label,value:e.value,disabled:e.disabled,selected:e.value===this.value})))):r("slot",{name:"content"}))),(this.description||this.el.querySelector('[slot="description"]'))&&r("div",{key:"ea889c8ecdcfad160010374541b73f548322a0ad",class:"description"},r("slot",{key:"b69f67d3a03bf1839edd912ea369cfd87395ae51",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&r("div",{key:"6ecd397cb41aab81173992c90e42f593f1227730",hidden:!this.error,class:"error-description"},r("slot",{key:"3dff83b119d3cbbf2d00bc8641882326d08f939d",name:"error-description"},this.errorDescription)))}static get formAssociated(){return true}get el(){return t(this)}static get watchers(){return{options:["handleOptionsChange"],value:["watchValueHandler"],open:["handleOpenChange"]}}};a.style=l;export{a as nv_fielddropdown};
2
- //# sourceMappingURL=p-d878e90a.entry.js.map
1
+ import{r as e,c as o,h as r,H as i,g as t}from"./p-3060df80.js";import{v as n}from"./p-f5ff676c.js";const d='nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-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:var(--font-weight-high-emphasis)}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:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:var(--font-weight-medium-emphasis);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:var(--font-weight-medium-emphasis);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:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:var(--font-weight-low-emphasis);line-height:var(--form-field-line-height)}nv-fielddropdown .input-container input[type=password]::-ms-clear,nv-fielddropdown .input-container input[type=password]::-ms-reveal,nv-fielddropdown .input-container p.non-filterable-text[type=password]::-ms-clear,nv-fielddropdown .input-container p.non-filterable-text[type=password]::-ms-reveal{display:none;width:0;height:0}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-iconbutton:last-of-type{border-top-right-radius:var(--form-field-radius);border-bottom-right-radius:var(--form-field-radius)}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:var(--font-weight-medium-emphasis);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:var(--font-family-default), var(--font-family-fallback), 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:var(--font-family-default), var(--font-family-fallback), 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)}';const a=d;const l=class{constructor(r){e(this,r);this.valueChanged=o(this,"valueChanged",7);this.filterTextChanged=o(this,"filterTextChanged",7);this.openChanged=o(this,"openChanged",7);this.dropdownItemSelected=o(this,"dropdownItemSelected",7);this.inputId=n();this.autocomplete="off";this.required=false;this.readonly=false;this.disabled=false;this.error=false;this.maxHeight="";this.emptyResult="No results found";this.filterable=false;this.openOnSelect=false;this.controlledFilter=false;this.debounceDelay=300;this.autofocus=false;this.fluid=false;this.filterText="";this.selectedValues=new Set;this.open=false;this.handleClickOutside=e=>{var o;if(!(e.target instanceof Node))return;if(!((o=this.el)===null||o===void 0?void 0:o.contains(e.target)))this.open=false};this.handleFilterInput=()=>{this.open=true;this.filterText=this.inputElement.value;this.filterTextChanged.emit(this.inputElement.value);clearTimeout(this.debounceTimer);this.debounceTimer=window.setTimeout((()=>{this.filterItems()}),this.debounceDelay)};this.getSelectedLabel=()=>{var e,o,r,i,t,n,d;if(!this.value)return"";if((e=this.filterText)===null||e===void 0?void 0:e.length)return this.filterText;if(((o=this.options)===null||o===void 0?void 0:o.length)>1){const e=this.options.find((e=>e.value===this.value));return(i=(r=e===null||e===void 0?void 0:e.label)!==null&&r!==void 0?r:e===null||e===void 0?void 0:e.value)!==null&&i!==void 0?i:this.value}const a=Array.from(this.el.querySelectorAll("nv-fielddropdownitem"));const l=a.find((e=>e.value===this.value));const s=l?(d=(t=l.label)!==null&&t!==void 0?t:(n=l.textContent)===null||n===void 0?void 0:n.trim())!==null&&d!==void 0?d:l.value:"";return s}}handleOpenChange(e){if(e===false){clearTimeout(this.debounceTimer);setTimeout((()=>{this.clearFilter()}),100)}}handleValueChange(){this.updateSelectedItem();if(!this.open||!this.filterText)this.setFilterInputToSelectedValue()}handleOptionsChange(){this.updateSelectedItem()}handleDropdownItemSelected(e){if(this.disabled||this.readonly)return;if(!this.openOnSelect)this.open=false;if(e.detail.detached)return;const o=this.getAllItems();o.forEach((o=>{if(o!==e.target){o.removeAttribute("selected")}else{o.setAttribute("selected","true")}}));this.value=e.detail.value;this.setFilterInputToSelectedValue();this.valueChanged.emit(e.detail.value)}handleFocus(e){if(e.relatedTarget instanceof HTMLElement&&e.relatedTarget.tagName.includes("NV-FIELDDROPDOWNITEM")){return}if(e.target!=this.toggleElement)this.open=true}handleFocusOut(e){if(!(e.relatedTarget instanceof Node))return;if(this.el.contains(e.relatedTarget))return;this.open=false}handleKeyDown(e){if(e.key==="Escape"){this.focusField();this.open=false;return}if(e.key===" "){if(e.target==this.selectElement){e.preventDefault();this.open=true}return}const o=this.getNavigableItems();const r=this.getHighlightedItemIndex(o);if(e.key==="ArrowDown"){e.preventDefault();this.open=true;const i=r+1;this.updateHighlightedItem(o,i>=o.length?0:i)}if(e.key==="ArrowUp"){e.preventDefault();this.open=true;const i=r-1;this.updateHighlightedItem(o,i<0?o.length-1:i)}}handleDocumentClick(e){this.handleClickOutside(e)}async clearFilter(){var e;if(!this.filterable)return;if((e=this.filterText)===null||e===void 0?void 0:e.length){this.filterText="";this.filterTextChanged.emit(this.filterText)}this.filterItems();setTimeout((()=>{this.setFilterInputToSelectedValue()}),0)}async toggleDropdown(e){if(e!==undefined){setTimeout((()=>{this.open=e}),0)}else{setTimeout((()=>{this.open=!this.open}),0)}}syncToggleDropdown(){this.open=!this.open}setFilterInputToSelectedValue(){if(!this.filterable)return;if(!this.value)return this.inputElement.value="";this.inputElement.value=this.getSelectedLabel()}getFilterableItems(){return Array.from(this.el.querySelectorAll("nv-fielddropdownitem:not([data-empty]):not([detached])"))}getNavigableItems(){return Array.from(this.el.querySelectorAll("nv-fielddropdownitem:not([disabled]):not([hidden])"))}getAllItems(){return Array.from(this.el.querySelectorAll("nv-fielddropdownitem"))}getHighlightedItemIndex(e){return e.findIndex((e=>e.classList.contains("highlighted")))}updateHighlightedItem(e,o){e.forEach(((e,r)=>{e.classList.remove("highlighted");if(r===o){e.classList.add("highlighted");e.focus();e.scrollIntoView({block:"nearest"})}}))}focusField(){const e=this.el.querySelector('[data-scope="focusable"]');e===null||e===void 0?void 0:e.focus()}filterItems(){var e,o;if(this.controlledFilter)return;let r=false;const i=this.getFilterableItems();(e=this.el.querySelector("nv-fielddropdownitem[data-empty]"))===null||e===void 0?void 0:e.remove();i.forEach((e=>{var o,i;const t=this.filterText.toLowerCase();const n=((o=e.textContent)===null||o===void 0?void 0:o.toLowerCase())||"";const d=((i=e.value)===null||i===void 0?void 0:i.toLowerCase())||"";const a=d.includes(t)||n.includes(t);if(a)e.removeAttribute("hidden");else e.setAttribute("hidden","");if(a){r=true}}));if(!r){const e=document.createElement("nv-fielddropdownitem");e.setAttribute("data-empty","true");e.setAttribute("disabled","true");e.textContent=this.emptyResult;(o=this.el.querySelector('div[slot="content"] ul'))===null||o===void 0?void 0:o.prepend(e)}}async updateSelectedItem(){const e=this.getAllItems();if(this.value){e.forEach((e=>{if(e.value===this.value){e.selected=true}else{e.selected=false}}))}}componentDidLoad(){this.updateSelectedItem();this.setFilterInputToSelectedValue()}disconnectedCallback(){clearTimeout(this.debounceTimer)}render(){var e;return r(i,{key:"428dd85337710d430ac04cf8cbc9021a93307bfe",role:"combobox","aria-expanded":this.open.toString(),"aria-haspopup":"listbox","aria-label":this.label},(this.label||this.el.querySelector('[slot="label"]'))&&r("label",{key:"a527c33d31152a90f8641e27fbaf91cf73eb06b6",htmlFor:this.inputId,onClick:this.syncToggleDropdown.bind(this)},r("slot",{key:"e4cf96c38db69080228666e4b924367a0c3a9d72",name:"label"},this.label)),r("nv-popover",{key:"41723f7ec67e4e5680381e217eba45a1d73b47fc",triggerMode:"controlled",placement:"bottom-start",open:this.open},r("div",{key:"d4af00d5171b09923c36df9fd44853e1399e584f",class:"input-wrapper",slot:"trigger"},r("slot",{key:"bb6e53746c70fcc8172acd9a7ef8cbf72ae70698",name:"before-input"}),r("div",{key:"ef3dc9ac5d0d895384653a17f8e61f616a7cbba9",class:"input-container"},r("slot",{key:"7621b8cb7222330e73a426282877df2e0040714c",name:"leading-input"}),this.filterable||this.disabled||this.readonly?r("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,required:this.required,disabled:this.disabled,readOnly:this.readonly,onInput:this.handleFilterInput}):r("p",{"data-scope":"focusable",id:this.inputId,ref:e=>this.selectElement=e,class:"non-filterable-text",tabIndex:this.disabled?-1:0},this.getSelectedLabel()||this.value||this.placeholder),this.filterable&&this.filterText&&r("nv-iconbutton",{key:"3de283e59d0c7811b39e30d98fdd7e400a1b3d49",name:"x",size:"md",emphasis:"lower",class:"clear-button",onClick:this.clearFilter.bind(this),"aria-label":"Clear input"}),this.error&&r("nv-icon",{key:"6f826edb19430ce535dc8742dfbd77b05d673f4d",name:"alert-circle",class:"validation",size:"md"}),r("nv-iconbutton",{key:"611f8df410c38faeb9fec9a43ac1f7013ce9b32b","data-scope":"toggle-dropdown",ref:e=>this.toggleElement=e,name:this.open?"chevron-top":"chevron-down",size:"md",emphasis:"lower","aria-label":this.open?"Hide dropdown":"Show dropdown",onClick:this.syncToggleDropdown.bind(this),tabIndex:this.disabled?-1:0})),r("slot",{key:"18d16b6c1d3c1ab910f8a45a339ae750e2277542",name:"after-input"})),r("div",{key:"53624675adac2c6c9345b64e634cbbad4f009a82",slot:"content",style:this.maxHeight?{maxHeight:this.maxHeight}:{}},((e=this.options)===null||e===void 0?void 0:e.length)>0&&r("ul",{key:"3dfd5e914176bab898fd7872eb4ea0206d12b80a"},this.options.map((e=>r("nv-fielddropdownitem",{label:e.label,value:e.value,disabled:e.disabled,selected:e.value===this.value})))),r("slot",{key:"e1c9151e125d0fe6f129b879b0adf1ae91b94bc4",name:"content"}))),(this.description||this.el.querySelector('[slot="description"]'))&&r("div",{key:"13247930760480ec767ce75c61385036126cd2f3",class:"description"},r("slot",{key:"09c3f2fa0a1be5bcbe69b757a68a8327fef29ec1",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&r("div",{key:"9b43e41b6b38242b21c750d2d442c78e0930b9bc",hidden:!this.error,class:"error-description"},r("slot",{key:"44f7756522adbc54b8d85a211dace24a37073fc6",name:"error-description"},this.errorDescription)))}static get formAssociated(){return true}get el(){return t(this)}static get watchers(){return{open:["handleOpenChange"],value:["handleValueChange"],options:["handleOptionsChange"]}}};l.style=a;export{l as nv_fielddropdown};
2
+ //# sourceMappingURL=p-144d0f8a.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["nvFielddropdownCss","NvFielddropdownStyle0","NvFielddropdown","constructor","hostRef","this","inputId","uuidv4","autocomplete","required","readonly","disabled","error","maxHeight","emptyResult","filterable","openOnSelect","controlledFilter","debounceDelay","autofocus","fluid","filterText","selectedValues","Set","open","handleClickOutside","event","target","Node","_a","el","contains","handleFilterInput","inputElement","value","filterTextChanged","emit","clearTimeout","debounceTimer","window","setTimeout","filterItems","getSelectedLabel","length","_b","options","matchingItem","find","option","_d","_c","label","items","Array","from","querySelectorAll","item","selectedLabel","_g","_e","_f","textContent","trim","handleOpenChange","newOpen","clearFilter","handleValueChange","updateSelectedItem","setFilterInputToSelectedValue","handleOptionsChange","handleDropdownItemSelected","detail","detached","getAllItems","forEach","removeAttribute","setAttribute","valueChanged","handleFocus","relatedTarget","HTMLElement","tagName","includes","toggleElement","handleFocusOut","handleKeyDown","key","focusField","selectElement","preventDefault","getNavigableItems","highlightedItem","getHighlightedItemIndex","nextIndex","updateHighlightedItem","handleDocumentClick","toggleDropdown","undefined","syncToggleDropdown","getFilterableItems","findIndex","classList","index","i","remove","add","focus","scrollIntoView","block","focusableItem","querySelector","hasVisibleItems","toLowerCase","shouldShow","emptyItem","document","createElement","prepend","selected","componentDidLoad","disconnectedCallback","render","h","Host","role","toString","htmlFor","onClick","bind","name","triggerMode","placement","class","slot","id","type","ref","e","placeholder","readOnly","onInput","tabIndex","size","emphasis","style","map","description","errorDescription","hidden"],"sources":["src/components/nv-fielddropdown/styles/nv-fielddropdown.scss?tag=nv-fielddropdown","src/components/nv-fielddropdown/nv-fielddropdown.tsx"],"sourcesContent":["@use './mixins' as *;\n@import '../../../styles/form-field';\n@import '../../../styles/scrollbar';\n\nnv-fielddropdown {\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 &[required]:not([required='false']) label {\n @include form-field-label-required();\n }\n\n &[hidden]:not([hidden='false']) label {\n display: none;\n }\n\n label {\n @include form-field-label();\n }\n\n nv-popover {\n @include form-field-popover();\n\n div[slot='content'] {\n @include scrollbar();\n max-height: calc(90vh - var(--list-dropdown-padding) * 2);\n overflow-y: auto;\n position: relative;\n }\n }\n\n .input-wrapper {\n @include form-field-input-wrapper();\n @include input-wrapper-styles();\n }\n\n .input-container {\n @include form-field-input-container();\n @include input-container-styles();\n\n input[type='search']::-webkit-search-decoration,\n input[type='search']::-webkit-search-cancel-button,\n input[type='search']::-webkit-search-results-button,\n input[type='search']::-webkit-search-results-decoration {\n -webkit-appearance: none;\n }\n\n input,\n p.non-filterable-text {\n @include form-field-input();\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 .non-filterable-text {\n @include non-filterable-text-styles();\n }\n\n .description {\n @include form-field-description();\n }\n\n .error-description {\n @include form-field-error-description();\n }\n}\n","import {\n Component,\n Host,\n h,\n Element,\n Prop,\n State,\n Listen,\n Event,\n EventEmitter,\n Watch,\n Method,\n} from '@stencil/core';\n\nimport { v4 as uuidv4 } from 'uuid';\nimport { TextInputAutocomplete } from '../../utils/constants';\n\n/**\n * @slot content - Use a <ul></ul> tag for the slot, and place <nv-dropdownitem> elements inside.\n * @slot leading-input - Content to be placed before the input text, within the input container.\n * @slot before-input - Content to be placed before the input text, outside the input container.\n * @slot after-input - Content to be placed after the input text, outside the input container.\n * @slot label - Content to be placed as the label, will override the label prop.\n * @slot description - Content to be placed as the description, will override the description prop.\n * @slot error-description - Content to be placed as the error description, will override the errorDescription prop.\n */\n@Component({\n tag: 'nv-fielddropdown',\n styleUrl: 'styles/nv-fielddropdown.scss',\n shadow: false,\n formAssociated: true,\n})\nexport class NvFielddropdown {\n @Element() el: HTMLNvFielddropdownElement;\n private inputElement!: HTMLInputElement;\n private selectElement!: HTMLElement;\n private toggleElement!: HTMLNvIconbuttonElement;\n private debounceTimer: number;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the ID for the input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated\n * to ensure unique identification, facilitating proper label association and\n * accessibility.\n */\n @Prop({ reflect: true })\n readonly inputId: string = uuidv4();\n\n /**\n * Defines the name attribute of the input field, which is crucial for form\n * submission. This value is used as the key in the key-value pair sent to\n * the server, representing the input's data in form submissions. It should be\n * unique within the form to avoid conflicts.\n */\n @Prop({ reflect: true })\n readonly name: string;\n\n /**\n * Lets you define the text that explains what users should enter in the text\n * input field. It's a crucial element for making forms clear and\n * user-friendly.\n */\n @Prop({ reflect: true })\n readonly label: string;\n\n /**\n * Add helpful hints or extra information under the text input field. This is\n * where you can clarify what users should enter or provide additional\n * instructions, making the form easier to fill out correctly.\n */\n @Prop({ reflect: true })\n readonly description: string;\n\n /**\n * Display temporary text inside the input field to give users a hint about\n * what to type. It's a great way to provide examples or suggestions directly\n * in the field before they start typing.\n * The placeholder is displayed only when the filterable option is enabled.\n */\n @Prop({ reflect: true })\n readonly placeholder: string;\n\n /**\n * The autocomplete prop helps users fill out the input field faster by\n * suggesting entries they've used before, like their email or address.\n * You can turn it on to make forms more convenient or off to ensure users\n * always type in fresh data.\n */\n @Prop({ reflect: true })\n readonly autocomplete: `${TextInputAutocomplete}` = 'off';\n\n /**\n * Specifies the value of the input field, which determines the text displayed\n * within the field. This prop is typically used in controlled components\n * where the input's value is managed by the component's state.\n */\n @Prop({ reflect: true, mutable: true })\n value: string;\n\n /**\n * Marks the input field as required, ensuring that the user must fill it out\n * before submitting the form.\n */\n @Prop({ reflect: true })\n readonly required: boolean = false;\n\n /**\n * Display the input field's content without allowing users to change it.\n * Users can still click on it, select, and copy the text, but they won't be\n * able to type or delete anything.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n /**\n * The disabled prop lets you turn off the input field so that users can't\n * type in it. When disabled, the field is grayed out and won't respond to\n * clicks or touches.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Alters the input field's appearance to indicate an error, helping users\n * identify fields that need correction.\n * @validator error\n */\n @Prop({ reflect: true })\n readonly error: boolean = false;\n\n /**\n * A description that appears when there is an error related to the dropdown\n * field.\n * @validator message\n */\n @Prop({ reflect: true })\n readonly errorDescription: string;\n\n /**\n * Defines the maximum height of the multiselect list when open.\n */\n @Prop({ reflect: true })\n readonly maxHeight: string = '';\n\n /**\n * The text to display when no items match the filter.\n */\n @Prop({ reflect: true })\n readonly emptyResult: string = 'No results found';\n\n /**\n * Enables or disables the filtering feature for the dropdown items.\n */\n @Prop({ reflect: true })\n readonly filterable: boolean = false;\n\n /**\n * When an item is selected by the user, the dropdown will continue to stay\n * open.\n */\n @Prop({ reflect: true })\n readonly openOnSelect: boolean = false;\n\n /**\n * Determines if the component’s filtering behavior is managed externally.\n * When set to true and filterable is enabled, the component won’t\n * automatically filter items. Instead, you must implement your own filtering\n * logic (e.g., server-side search or custom matching) using the\n * filterTextChanged event.\n */\n @Prop({ reflect: true })\n readonly controlledFilter: boolean = false;\n\n /**\n * List of options used to automatically generate dropdown items. This\n * provides an alternative to using the slot manually.\n *\n * @example\n * options=[{\n * \"label\": \"Option 1\",\n * \"value\": \"option1\",\n * \"selected\": true,\n * },\n * {\n * \"label\": \"Option 2\",\n * \"value\": \"option2\",\n * }]\n */\n @Prop({ reflect: false })\n readonly options?: {\n /** Label to display for the option */\n label: string;\n /** Value associated with the option */\n value: string;\n /** Whether this option is disabled */\n disabled?: boolean;\n }[];\n\n /**\n * Delay in milliseconds before the search is triggered when typing in the\n * filter input.\n * @default 300\n */\n @Prop({ reflect: true })\n readonly debounceDelay: number = 300;\n\n /**\n * Applies focus to the input field as soon as the component is mounted. This\n * is equivalent to setting the native autofocus attribute on an <input>\n * element.\n */\n @Prop({ reflect: true })\n // eslint-disable-next-line @stencil-community/reserved-member-names\n readonly autofocus: boolean = false;\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 STATE\n\n /**\n * The text entered by the user for filtering dropdown items.\n */\n @State()\n filterText: string = '';\n\n @State()\n selectedValues: Set<string> = new Set();\n\n @State()\n open: boolean = false;\n\n //#endregion STATE\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the input value changes.\n * @bind value\n */\n @Event()\n valueChanged: EventEmitter<string>;\n\n /**\n * Event emitted when the filter input value changes.\n */\n @Event()\n filterTextChanged: EventEmitter<string>;\n\n ///////////////////////// CHILD COMPONENT EVENTS /////////////////////////////\n /**\n * Event emitted when the dropdown opened or closed.\n */\n @Event({\n eventName: 'openChanged' satisfies keyof HTMLNvPopoverElementEventMap,\n })\n openChanged: EventEmitter<HTMLNvPopoverElementEventMap['openChanged']>;\n\n /**\n * Event emitted when an item is clicked.\n */\n @Event({\n eventName:\n 'dropdownItemSelected' satisfies keyof HTMLNvFielddropdownitemElementEventMap,\n })\n dropdownItemSelected: EventEmitter<\n HTMLNvFielddropdownitemElementEventMap['dropdownItemSelected']\n >;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('open')\n handleOpenChange(newOpen: boolean) {\n if (newOpen === false) {\n clearTimeout(this.debounceTimer);\n setTimeout(() => {\n this.clearFilter();\n }, 100);\n }\n }\n\n @Watch('value')\n handleValueChange() {\n this.updateSelectedItem();\n if (!this.open || !this.filterText) this.setFilterInputToSelectedValue();\n }\n\n @Watch('options')\n handleOptionsChange() {\n this.updateSelectedItem();\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LISTENERS\n\n @Listen('dropdownItemSelected')\n handleDropdownItemSelected(\n event: CustomEvent<\n HTMLNvFielddropdownitemElementEventMap['dropdownItemSelected']\n >,\n ) {\n if (this.disabled || this.readonly) return;\n if (!this.openOnSelect) this.open = false;\n if (event.detail.detached) return;\n\n const items = this.getAllItems();\n\n items.forEach(item => {\n if (item !== event.target) {\n item.removeAttribute('selected');\n } else {\n item.setAttribute('selected', 'true');\n }\n });\n this.value = event.detail.value;\n this.setFilterInputToSelectedValue();\n this.valueChanged.emit(event.detail.value);\n }\n\n @Listen('focus', { capture: true, passive: true })\n handleFocus(event: FocusEvent) {\n if (\n event.relatedTarget instanceof HTMLElement &&\n event.relatedTarget.tagName.includes('NV-FIELDDROPDOWNITEM')\n ) {\n return;\n }\n\n if (event.target != this.toggleElement) this.open = true;\n }\n\n @Listen('focusout', { capture: true, passive: true })\n handleFocusOut(event: FocusEvent) {\n if (!(event.relatedTarget instanceof Node)) return;\n if (this.el.contains(event.relatedTarget)) return;\n this.open = false;\n }\n\n @Listen('keydown', { passive: false })\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.focusField();\n this.open = false;\n return;\n }\n\n if (event.key === ' ') {\n if (event.target == this.selectElement) {\n event.preventDefault(); // Prevent scrolling down\n this.open = true;\n }\n return;\n }\n\n const items = this.getNavigableItems();\n const highlightedItem = this.getHighlightedItemIndex(items);\n\n if (event.key === 'ArrowDown') {\n event.preventDefault(); // Prevent scrolling down\n this.open = true;\n const nextIndex = highlightedItem + 1;\n this.updateHighlightedItem(\n items,\n nextIndex >= items.length ? 0 : nextIndex,\n );\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault(); // Prevent scrolling up\n this.open = true;\n const nextIndex = highlightedItem - 1;\n this.updateHighlightedItem(\n items,\n nextIndex < 0 ? items.length - 1 : nextIndex,\n );\n }\n }\n\n @Listen('click', { target: 'document' })\n handleDocumentClick(event: MouseEvent) {\n this.handleClickOutside(event);\n }\n\n /**\n * Closes the popover when a click is detected outside the component.\n * @param {MouseEvent} event - The click event.\n */\n private handleClickOutside = (event: MouseEvent) => {\n if (!(event.target instanceof Node)) return;\n if (!this.el?.contains(event.target)) this.open = false;\n };\n\n //#endregion LISTENERS\n /****************************************************************************/\n //#region METHODS\n\n /** Clears the filter text */\n @Method()\n async clearFilter(): Promise<void> {\n if (!this.filterable) return;\n if (this.filterText?.length) {\n this.filterText = '';\n this.filterTextChanged.emit(this.filterText);\n }\n this.filterItems();\n\n // Wait for wrapper lifecycle to finish\n setTimeout(() => {\n this.setFilterInputToSelectedValue();\n }, 0);\n }\n\n /**\n * Toggles the dropdown popover open state\n * @param {boolean} open - The open state to set, if null, toggles the state\n */\n @Method()\n async toggleDropdown(open?: boolean) {\n if (open !== undefined) {\n setTimeout(() => {\n this.open = open;\n }, 0);\n } else {\n setTimeout(() => {\n this.open = !this.open;\n }, 0);\n }\n }\n\n private syncToggleDropdown() {\n this.open = !this.open;\n }\n\n private handleFilterInput = () => {\n this.open = true;\n this.filterText = this.inputElement.value;\n this.filterTextChanged.emit(this.inputElement.value);\n clearTimeout(this.debounceTimer);\n\n this.debounceTimer = window.setTimeout(() => {\n this.filterItems();\n }, this.debounceDelay);\n };\n\n private setFilterInputToSelectedValue() {\n if (!this.filterable) return;\n if (!this.value) return (this.inputElement.value = '');\n\n this.inputElement.value = this.getSelectedLabel();\n }\n\n private getSelectedLabel = (): string => {\n if (!this.value) return '';\n if (this.filterText?.length) return this.filterText;\n\n if (this.options?.length > 1) {\n const matchingItem = this.options.find(\n option => option.value === this.value,\n );\n return matchingItem?.label ?? matchingItem?.value ?? this.value;\n }\n\n const items = Array.from(\n this.el.querySelectorAll<HTMLNvFielddropdownitemElement>(\n 'nv-fielddropdownitem',\n ),\n );\n\n const matchingItem = items.find(item => item.value === this.value);\n const selectedLabel = matchingItem\n ? matchingItem.label ??\n matchingItem.textContent?.trim() ??\n matchingItem.value\n : '';\n\n return selectedLabel;\n };\n\n // Will exclude detached items and data-empty\n private getFilterableItems(): HTMLNvFielddropdownitemElement[] {\n return Array.from(\n this.el.querySelectorAll<HTMLNvFielddropdownitemElement>(\n 'nv-fielddropdownitem:not([data-empty]):not([detached])',\n ),\n );\n }\n\n private getNavigableItems(): HTMLNvFielddropdownitemElement[] {\n return Array.from(\n this.el.querySelectorAll<HTMLNvFielddropdownitemElement>(\n 'nv-fielddropdownitem:not([disabled]):not([hidden])',\n ),\n );\n }\n\n private getAllItems(): HTMLNvFielddropdownitemElement[] {\n return Array.from(\n this.el.querySelectorAll<HTMLNvFielddropdownitemElement>(\n 'nv-fielddropdownitem',\n ),\n );\n }\n\n private getHighlightedItemIndex(\n items: HTMLNvFielddropdownitemElement[],\n ): number {\n return items.findIndex(item => item.classList.contains('highlighted'));\n }\n\n private updateHighlightedItem(\n items: HTMLNvFielddropdownitemElement[],\n index: number,\n ) {\n items.forEach((item, i) => {\n item.classList.remove('highlighted');\n if (i === index) {\n item.classList.add('highlighted');\n item.focus();\n item.scrollIntoView({ block: 'nearest' });\n }\n });\n }\n\n private focusField() {\n const focusableItem = this.el.querySelector<HTMLElement>(\n '[data-scope=\"focusable\"]',\n );\n focusableItem?.focus();\n }\n\n /**\n * Filter dropdown items based on the text entered by the user.\n * If no items are found, display a message indicating no results.\n */\n private filterItems() {\n if (this.controlledFilter) return;\n let hasVisibleItems = false;\n const items = this.getFilterableItems();\n\n // Remove the \"no results found\" item if it exists\n this.el\n .querySelector<HTMLNvFielddropdownitemElement>(\n 'nv-fielddropdownitem[data-empty]',\n )\n ?.remove();\n\n items.forEach(item => {\n const filterText = this.filterText.toLowerCase();\n const textContent = item.textContent?.toLowerCase() || '';\n const value = item.value?.toLowerCase() || '';\n\n // Either in the value or in the textual content\n const shouldShow =\n value.includes(filterText) || textContent.includes(filterText);\n\n if (shouldShow) item.removeAttribute('hidden');\n else item.setAttribute('hidden', '');\n\n if (shouldShow) {\n hasVisibleItems = true;\n }\n });\n\n // If no items are visible, add the \"no results found\" item\n if (!hasVisibleItems) {\n const emptyItem = document.createElement('nv-fielddropdownitem');\n emptyItem.setAttribute('data-empty', 'true');\n emptyItem.setAttribute('disabled', 'true');\n emptyItem.textContent = this.emptyResult;\n this.el.querySelector('div[slot=\"content\"] ul')?.prepend(emptyItem);\n }\n }\n\n private async updateSelectedItem() {\n const items = this.getAllItems();\n if (this.value) {\n items.forEach(item => {\n if (item.value === this.value) {\n item.selected = true;\n } else {\n item.selected = false;\n }\n });\n }\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentDidLoad() {\n this.updateSelectedItem();\n this.setFilterInputToSelectedValue();\n }\n\n disconnectedCallback() {\n clearTimeout(this.debounceTimer);\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n role=\"combobox\"\n aria-expanded={this.open.toString()}\n aria-haspopup=\"listbox\"\n aria-label={this.label}\n >\n {(this.label || this.el.querySelector('[slot=\"label\"]')) && (\n <label\n htmlFor={this.inputId}\n onClick={this.syncToggleDropdown.bind(this)}\n >\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n <nv-popover\n triggerMode=\"controlled\"\n placement=\"bottom-start\"\n open={this.open}\n >\n <div class=\"input-wrapper\" slot=\"trigger\">\n <slot name=\"before-input\"></slot>\n\n <div class=\"input-container\">\n <slot name=\"leading-input\"></slot>\n\n {this.filterable || this.disabled || this.readonly ? (\n <input\n data-scope=\"focusable\"\n id={this.inputId}\n type=\"search\"\n ref={e => (this.inputElement = e)}\n autofocus={this.autofocus}\n autocomplete={this.autocomplete}\n placeholder={this.placeholder}\n name={this.name}\n required={this.required}\n disabled={this.disabled}\n readOnly={this.readonly}\n onInput={this.handleFilterInput}\n />\n ) : (\n <p\n data-scope=\"focusable\"\n id={this.inputId}\n ref={el => (this.selectElement = el)}\n class=\"non-filterable-text\"\n tabIndex={this.disabled ? -1 : 0}\n >\n {this.getSelectedLabel() || this.value || this.placeholder}\n </p>\n )}\n\n {this.filterable && this.filterText && (\n <nv-iconbutton\n name=\"x\"\n size=\"md\"\n emphasis=\"lower\"\n class=\"clear-button\"\n onClick={this.clearFilter.bind(this)}\n aria-label=\"Clear input\"\n />\n )}\n\n {this.error && (\n <nv-icon name=\"alert-circle\" class=\"validation\" size=\"md\" />\n )}\n\n <nv-iconbutton\n data-scope=\"toggle-dropdown\"\n ref={el => (this.toggleElement = el)}\n name={this.open ? 'chevron-top' : 'chevron-down'}\n size=\"md\"\n emphasis=\"lower\"\n aria-label={this.open ? 'Hide dropdown' : 'Show dropdown'}\n onClick={this.syncToggleDropdown.bind(this)}\n tabIndex={this.disabled ? -1 : 0}\n />\n </div>\n\n <slot name=\"after-input\"></slot>\n </div>\n\n <div\n slot=\"content\"\n style={this.maxHeight ? { maxHeight: this.maxHeight } : {}}\n >\n {this.options?.length > 0 && (\n <ul>\n {this.options.map(option => (\n <nv-fielddropdownitem\n label={option.label}\n value={option.value}\n disabled={option.disabled}\n selected={option.value === this.value}\n />\n ))}\n </ul>\n )}\n <slot name=\"content\"></slot>\n </div>\n </nv-popover>\n\n {(this.description ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n\n {(this.errorDescription ||\n this.el.querySelector('[slot=\"error-description\"]')) && (\n <div hidden={!this.error} class=\"error-description\">\n <slot name=\"error-description\">{this.errorDescription}</slot>\n </div>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n /****************************************************************************/\n}\n"],"mappings":"oGAAA,MAAMA,EAAqB,+zSAC3B,MAAAC,EAAeD,E,MC+BFE,EAAe,MAN5B,WAAAC,CAAAC,G,8MAuBWC,KAAAC,QAAkBC,IA2ClBF,KAAAG,aAA2C,MAe3CH,KAAAI,SAAoB,MAQpBJ,KAAAK,SAAoB,MAQpBL,KAAAM,SAAoB,MAQpBN,KAAAO,MAAiB,MAcjBP,KAAAQ,UAAoB,GAMpBR,KAAAS,YAAsB,mBAMtBT,KAAAU,WAAsB,MAOtBV,KAAAW,aAAwB,MAUxBX,KAAAY,iBAA4B,MAiC5BZ,KAAAa,cAAwB,IASxBb,KAAAc,UAAqB,MAMrBd,KAAAe,MAAiB,MAU1Bf,KAAAgB,WAAqB,GAGrBhB,KAAAiB,eAA8B,IAAIC,IAGlClB,KAAAmB,KAAgB,MAgKRnB,KAAAoB,mBAAsBC,I,MAC5B,KAAMA,EAAMC,kBAAkBC,MAAO,OACrC,MAAKC,EAAAxB,KAAKyB,MAAE,MAAAD,SAAA,SAAAA,EAAEE,SAASL,EAAMC,SAAStB,KAAKmB,KAAO,KAAK,EA4CjDnB,KAAA2B,kBAAoB,KAC1B3B,KAAKmB,KAAO,KACZnB,KAAKgB,WAAahB,KAAK4B,aAAaC,MACpC7B,KAAK8B,kBAAkBC,KAAK/B,KAAK4B,aAAaC,OAC9CG,aAAahC,KAAKiC,eAElBjC,KAAKiC,cAAgBC,OAAOC,YAAW,KACrCnC,KAAKoC,aAAa,GACjBpC,KAAKa,cAAc,EAUhBb,KAAAqC,iBAAmB,K,kBACzB,IAAKrC,KAAK6B,MAAO,MAAO,GACxB,IAAIL,EAAAxB,KAAKgB,cAAU,MAAAQ,SAAA,SAAAA,EAAEc,OAAQ,OAAOtC,KAAKgB,WAEzC,KAAIuB,EAAAvC,KAAKwC,WAAO,MAAAD,SAAA,SAAAA,EAAED,QAAS,EAAG,CAC5B,MAAMG,EAAezC,KAAKwC,QAAQE,MAChCC,GAAUA,EAAOd,QAAU7B,KAAK6B,QAElC,OAAOe,GAAAC,EAAAJ,IAAY,MAAZA,SAAY,SAAZA,EAAcK,SAAK,MAAAD,SAAA,EAAAA,EAAIJ,IAAY,MAAZA,SAAY,SAAZA,EAAcZ,SAAK,MAAAe,SAAA,EAAAA,EAAI5C,KAAK6B,K,CAG5D,MAAMkB,EAAQC,MAAMC,KAClBjD,KAAKyB,GAAGyB,iBACN,yBAIJ,MAAMT,EAAeM,EAAML,MAAKS,GAAQA,EAAKtB,QAAU7B,KAAK6B,QAC5D,MAAMuB,EAAgBX,GAClBY,GAAAC,EAAAb,EAAaK,SAAK,MAAAQ,SAAA,EAAAA,GAClBC,EAAAd,EAAae,eAAW,MAAAD,SAAA,SAAAA,EAAEE,UAAM,MAAAJ,SAAA,EAAAA,EAChCZ,EAAaZ,MACb,GAEJ,OAAOuB,CAAa,C,CA5MtB,gBAAAM,CAAiBC,GACf,GAAIA,IAAY,MAAO,CACrB3B,aAAahC,KAAKiC,eAClBE,YAAW,KACTnC,KAAK4D,aAAa,GACjB,I,EAKP,iBAAAC,GACE7D,KAAK8D,qBACL,IAAK9D,KAAKmB,OAASnB,KAAKgB,WAAYhB,KAAK+D,+B,CAI3C,mBAAAC,GACEhE,KAAK8D,oB,CAQP,0BAAAG,CACE5C,GAIA,GAAIrB,KAAKM,UAAYN,KAAKK,SAAU,OACpC,IAAKL,KAAKW,aAAcX,KAAKmB,KAAO,MACpC,GAAIE,EAAM6C,OAAOC,SAAU,OAE3B,MAAMpB,EAAQ/C,KAAKoE,cAEnBrB,EAAMsB,SAAQlB,IACZ,GAAIA,IAAS9B,EAAMC,OAAQ,CACzB6B,EAAKmB,gBAAgB,W,KAChB,CACLnB,EAAKoB,aAAa,WAAY,O,KAGlCvE,KAAK6B,MAAQR,EAAM6C,OAAOrC,MAC1B7B,KAAK+D,gCACL/D,KAAKwE,aAAazC,KAAKV,EAAM6C,OAAOrC,M,CAItC,WAAA4C,CAAYpD,GACV,GACEA,EAAMqD,yBAAyBC,aAC/BtD,EAAMqD,cAAcE,QAAQC,SAAS,wBACrC,CACA,M,CAGF,GAAIxD,EAAMC,QAAUtB,KAAK8E,cAAe9E,KAAKmB,KAAO,I,CAItD,cAAA4D,CAAe1D,GACb,KAAMA,EAAMqD,yBAAyBnD,MAAO,OAC5C,GAAIvB,KAAKyB,GAAGC,SAASL,EAAMqD,eAAgB,OAC3C1E,KAAKmB,KAAO,K,CAId,aAAA6D,CAAc3D,GACZ,GAAIA,EAAM4D,MAAQ,SAAU,CAC1BjF,KAAKkF,aACLlF,KAAKmB,KAAO,MACZ,M,CAGF,GAAIE,EAAM4D,MAAQ,IAAK,CACrB,GAAI5D,EAAMC,QAAUtB,KAAKmF,cAAe,CACtC9D,EAAM+D,iBACNpF,KAAKmB,KAAO,I,CAEd,M,CAGF,MAAM4B,EAAQ/C,KAAKqF,oBACnB,MAAMC,EAAkBtF,KAAKuF,wBAAwBxC,GAErD,GAAI1B,EAAM4D,MAAQ,YAAa,CAC7B5D,EAAM+D,iBACNpF,KAAKmB,KAAO,KACZ,MAAMqE,EAAYF,EAAkB,EACpCtF,KAAKyF,sBACH1C,EACAyC,GAAazC,EAAMT,OAAS,EAAIkD,E,CAIpC,GAAInE,EAAM4D,MAAQ,UAAW,CAC3B5D,EAAM+D,iBACNpF,KAAKmB,KAAO,KACZ,MAAMqE,EAAYF,EAAkB,EACpCtF,KAAKyF,sBACH1C,EACAyC,EAAY,EAAIzC,EAAMT,OAAS,EAAIkD,E,EAMzC,mBAAAE,CAAoBrE,GAClBrB,KAAKoB,mBAAmBC,E,CAkB1B,iBAAMuC,G,MACJ,IAAK5D,KAAKU,WAAY,OACtB,IAAIc,EAAAxB,KAAKgB,cAAU,MAAAQ,SAAA,SAAAA,EAAEc,OAAQ,CAC3BtC,KAAKgB,WAAa,GAClBhB,KAAK8B,kBAAkBC,KAAK/B,KAAKgB,W,CAEnChB,KAAKoC,cAGLD,YAAW,KACTnC,KAAK+D,+BAA+B,GACnC,E,CAQL,oBAAM4B,CAAexE,GACnB,GAAIA,IAASyE,UAAW,CACtBzD,YAAW,KACTnC,KAAKmB,KAAOA,CAAI,GACf,E,KACE,CACLgB,YAAW,KACTnC,KAAKmB,MAAQnB,KAAKmB,IAAI,GACrB,E,EAIC,kBAAA0E,GACN7F,KAAKmB,MAAQnB,KAAKmB,I,CAcZ,6BAAA4C,GACN,IAAK/D,KAAKU,WAAY,OACtB,IAAKV,KAAK6B,MAAO,OAAQ7B,KAAK4B,aAAaC,MAAQ,GAEnD7B,KAAK4B,aAAaC,MAAQ7B,KAAKqC,kB,CA+BzB,kBAAAyD,GACN,OAAO9C,MAAMC,KACXjD,KAAKyB,GAAGyB,iBACN,0D,CAKE,iBAAAmC,GACN,OAAOrC,MAAMC,KACXjD,KAAKyB,GAAGyB,iBACN,sD,CAKE,WAAAkB,GACN,OAAOpB,MAAMC,KACXjD,KAAKyB,GAAGyB,iBACN,wB,CAKE,uBAAAqC,CACNxC,GAEA,OAAOA,EAAMgD,WAAU5C,GAAQA,EAAK6C,UAAUtE,SAAS,gB,CAGjD,qBAAA+D,CACN1C,EACAkD,GAEAlD,EAAMsB,SAAQ,CAAClB,EAAM+C,KACnB/C,EAAK6C,UAAUG,OAAO,eACtB,GAAID,IAAMD,EAAO,CACf9C,EAAK6C,UAAUI,IAAI,eACnBjD,EAAKkD,QACLlD,EAAKmD,eAAe,CAAEC,MAAO,W,KAK3B,UAAArB,GACN,MAAMsB,EAAgBxG,KAAKyB,GAAGgF,cAC5B,4BAEFD,IAAa,MAAbA,SAAa,SAAbA,EAAeH,O,CAOT,WAAAjE,G,QACN,GAAIpC,KAAKY,iBAAkB,OAC3B,IAAI8F,EAAkB,MACtB,MAAM3D,EAAQ/C,KAAK8F,sBAGnBtE,EAAAxB,KAAKyB,GACFgF,cACC,uCACD,MAAAjF,SAAA,SAAAA,EACC2E,SAEJpD,EAAMsB,SAAQlB,I,QACZ,MAAMnC,EAAahB,KAAKgB,WAAW2F,cACnC,MAAMnD,IAAchC,EAAA2B,EAAKK,eAAW,MAAAhC,SAAA,SAAAA,EAAEmF,gBAAiB,GACvD,MAAM9E,IAAQU,EAAAY,EAAKtB,SAAK,MAAAU,SAAA,SAAAA,EAAEoE,gBAAiB,GAG3C,MAAMC,EACJ/E,EAAMgD,SAAS7D,IAAewC,EAAYqB,SAAS7D,GAErD,GAAI4F,EAAYzD,EAAKmB,gBAAgB,eAChCnB,EAAKoB,aAAa,SAAU,IAEjC,GAAIqC,EAAY,CACdF,EAAkB,I,KAKtB,IAAKA,EAAiB,CACpB,MAAMG,EAAYC,SAASC,cAAc,wBACzCF,EAAUtC,aAAa,aAAc,QACrCsC,EAAUtC,aAAa,WAAY,QACnCsC,EAAUrD,YAAcxD,KAAKS,aAC7B8B,EAAAvC,KAAKyB,GAAGgF,cAAc,6BAAyB,MAAAlE,SAAA,SAAAA,EAAEyE,QAAQH,E,EAIrD,wBAAM/C,GACZ,MAAMf,EAAQ/C,KAAKoE,cACnB,GAAIpE,KAAK6B,MAAO,CACdkB,EAAMsB,SAAQlB,IACZ,GAAIA,EAAKtB,QAAU7B,KAAK6B,MAAO,CAC7BsB,EAAK8D,SAAW,I,KACX,CACL9D,EAAK8D,SAAW,K,MAUxB,gBAAAC,GACElH,KAAK8D,qBACL9D,KAAK+D,+B,CAGP,oBAAAoD,GACEnF,aAAahC,KAAKiC,c,CAOpB,MAAAmF,G,MACE,OACEC,EAACC,EAAI,CAAArC,IAAA,2CACHsC,KAAK,WAAU,gBACAvH,KAAKmB,KAAKqG,WAAU,gBACrB,UAAS,aACXxH,KAAK8C,QAEf9C,KAAK8C,OAAS9C,KAAKyB,GAAGgF,cAAc,oBACpCY,EAAA,SAAApC,IAAA,2CACEwC,QAASzH,KAAKC,QACdyH,QAAS1H,KAAK6F,mBAAmB8B,KAAK3H,OAEtCqH,EAAA,QAAApC,IAAA,2CAAM2C,KAAK,SAAS5H,KAAK8C,QAG7BuE,EAAA,cAAApC,IAAA,2CACE4C,YAAY,aACZC,UAAU,eACV3G,KAAMnB,KAAKmB,MAEXkG,EAAA,OAAApC,IAAA,2CAAK8C,MAAM,gBAAgBC,KAAK,WAC9BX,EAAA,QAAApC,IAAA,2CAAM2C,KAAK,iBAEXP,EAAA,OAAApC,IAAA,2CAAK8C,MAAM,mBACTV,EAAA,QAAApC,IAAA,2CAAM2C,KAAK,kBAEV5H,KAAKU,YAAcV,KAAKM,UAAYN,KAAKK,SACxCgH,EAAA,sBACa,YACXY,GAAIjI,KAAKC,QACTiI,KAAK,SACLC,IAAKC,GAAMpI,KAAK4B,aAAewG,EAC/BtH,UAAWd,KAAKc,UAChBX,aAAcH,KAAKG,aACnBkI,YAAarI,KAAKqI,YAClBT,KAAM5H,KAAK4H,KACXxH,SAAUJ,KAAKI,SACfE,SAAUN,KAAKM,SACfgI,SAAUtI,KAAKK,SACfkI,QAASvI,KAAK2B,oBAGhB0F,EAAA,kBACa,YACXY,GAAIjI,KAAKC,QACTkI,IAAK1G,GAAOzB,KAAKmF,cAAgB1D,EACjCsG,MAAM,sBACNS,SAAUxI,KAAKM,UAAY,EAAI,GAE9BN,KAAKqC,oBAAsBrC,KAAK6B,OAAS7B,KAAKqI,aAIlDrI,KAAKU,YAAcV,KAAKgB,YACvBqG,EAAA,iBAAApC,IAAA,2CACE2C,KAAK,IACLa,KAAK,KACLC,SAAS,QACTX,MAAM,eACNL,QAAS1H,KAAK4D,YAAY+D,KAAK3H,MAAK,aACzB,gBAIdA,KAAKO,OACJ8G,EAAA,WAAApC,IAAA,2CAAS2C,KAAK,eAAeG,MAAM,aAAaU,KAAK,OAGvDpB,EAAA,iBAAApC,IAAA,wDACa,kBACXkD,IAAK1G,GAAOzB,KAAK8E,cAAgBrD,EACjCmG,KAAM5H,KAAKmB,KAAO,cAAgB,eAClCsH,KAAK,KACLC,SAAS,QAAO,aACJ1I,KAAKmB,KAAO,gBAAkB,gBAC1CuG,QAAS1H,KAAK6F,mBAAmB8B,KAAK3H,MACtCwI,SAAUxI,KAAKM,UAAY,EAAI,KAInC+G,EAAA,QAAApC,IAAA,2CAAM2C,KAAK,iBAGbP,EAAA,OAAApC,IAAA,2CACE+C,KAAK,UACLW,MAAO3I,KAAKQ,UAAY,CAAEA,UAAWR,KAAKQ,WAAc,MAEvDgB,EAAAxB,KAAKwC,WAAO,MAAAhB,SAAA,SAAAA,EAAEc,QAAS,GACtB+E,EAAA,MAAApC,IAAA,4CACGjF,KAAKwC,QAAQoG,KAAIjG,GAChB0E,EAAA,wBACEvE,MAAOH,EAAOG,MACdjB,MAAOc,EAAOd,MACdvB,SAAUqC,EAAOrC,SACjB2G,SAAUtE,EAAOd,QAAU7B,KAAK6B,WAKxCwF,EAAA,QAAApC,IAAA,2CAAM2C,KAAK,eAIb5H,KAAK6I,aACL7I,KAAKyB,GAAGgF,cAAc,0BACtBY,EAAA,OAAApC,IAAA,2CAAK8C,MAAM,eACTV,EAAA,QAAApC,IAAA,2CAAM2C,KAAK,eAAe5H,KAAK6I,eAIjC7I,KAAK8I,kBACL9I,KAAKyB,GAAGgF,cAAc,gCACtBY,EAAA,OAAApC,IAAA,2CAAK8D,QAAS/I,KAAKO,MAAOwH,MAAM,qBAC9BV,EAAA,QAAApC,IAAA,2CAAM2C,KAAK,qBAAqB5H,KAAK8I,mB","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as e,c as r,h as a,H as t,g as o}from"./p-3060df80.js";import{c as i}from"./p-8a1a6e56.js";import{v as n}from"./p-f5ff676c.js";const l='nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldtextarea{--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-fieldtextarea[fluid]:not([fluid=false]){max-width:unset}nv-fieldtextarea[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-fieldtextarea[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-fieldtextarea[success]:not([success=false]){--nv-field-border-default:var(--components-form-field-border-success);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-success)}nv-fieldtextarea[required]:not([required=false]) label::after{content:"*";color:var(--components-form-text-required);font-weight:var(--font-weight-high-emphasis)}nv-fieldtextarea label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--form-label-line-height)}nv-fieldtextarea .textarea-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch}nv-fieldtextarea .textarea-wrapper .textarea-container{display:flex;flex-grow:1;padding:calc(var(--form-field-padding-y) - 1px) var(--form-field-padding-x);justify-content:center;align-items:center;gap:var(--form-field-gap);align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fieldtextarea .textarea-wrapper .textarea-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldtextarea .textarea-wrapper .textarea-container:focus-within{border-color:var(--nv-field-border-focus);box-shadow:0 0 0 var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fieldtextarea .textarea-wrapper .textarea-container:has(textarea:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fieldtextarea .textarea-wrapper .textarea-container:has(textarea:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldtextarea .textarea-wrapper .textarea-container textarea{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);text-overflow:ellipsis;font-size:var(--form-field-font-size);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--form-field-line-height)}nv-fieldtextarea .textarea-wrapper .textarea-container textarea::-webkit-scrollbar{width:6px;height:6px}nv-fieldtextarea .textarea-wrapper .textarea-container textarea::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}nv-fieldtextarea .textarea-wrapper .textarea-container textarea::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}nv-fieldtextarea .textarea-wrapper .textarea-container textarea:focus{outline:none}nv-fieldtextarea .textarea-wrapper .textarea-container textarea::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:var(--font-weight-low-emphasis);line-height:var(--form-field-line-height)}nv-fieldtextarea .textarea-wrapper .textarea-container nv-icon.validation{color:var(--nv-field-border-default)}nv-fieldtextarea .description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fieldtextarea .error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:var(--font-family-default), var(--font-family-fallback), 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)}';const d=l;const s=class{constructor(a){e(this,a);this.valueChanged=r(this,"valueChanged",7);this.inputId=n();this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.success=false;this.rows=3;this.resize="vertical";this.autosize=false;this.autofocus=false;this.fluid=false;this.handleTextarea=e=>{const r=e.target;this.value=r.value;this.valueChanged.emit(r.value)};this.handleTextareaContainerClick=()=>{this.textareaElement.focus()}}rowsChanged(){if(this.autosize){this.adjustTextareaHeight()}}autosizeChanged(){var e;if(this.autosize){this.adjustTextareaHeight()}else{(e=this.textareaElement)===null||e===void 0?void 0:e.style.removeProperty("height")}}handleValueChange(){if(this.autosize){this.adjustTextareaHeight()}}adjustTextareaHeight(){if(this.textareaElement&&this.autosize){requestAnimationFrame((()=>{requestAnimationFrame((()=>{this.textareaElement.style.height="auto";const e=window.getComputedStyle(this.textareaElement);const r=parseFloat(e.lineHeight);const a=parseFloat(e.paddingTop);const t=parseFloat(e.paddingBottom);const o=parseFloat(e.borderTopWidth);const i=parseFloat(e.borderBottomWidth);const n=r*this.rows+a+t+o+i;this.textareaElement.style.minHeight=`${n}px`;this.textareaElement.style.height=this.textareaElement.scrollHeight+"px"}))}))}}componentWillRender(){if(this.message){this.description=this.message}if(this.validation){this.errorDescription=this.validation;this.error=true}}componentDidLoad(){if(this.autosize){this.adjustTextareaHeight()}}render(){return a(t,{key:"8f7f14974b855a44e88a951ff0795e11e3ab7d61"},(this.label||this.el.querySelector('[slot="label"]'))&&a("label",{key:"9b438132196d7bc75cc4efdae736451bd7a23cdc",htmlFor:this.inputId},a("slot",{key:"f64e341eccefed72152326fadd9287f056842634",name:"label"},this.label)),a("div",{key:"454213728d3b455d602a21653c1fc784bc411477",class:"textarea-wrapper"},a("div",{key:"9ab87f44cf9622ca7c389d797a7e777eda7621d9",class:"textarea-container",onClick:this.handleTextareaContainerClick},a("textarea",{key:"d8c66568fa9c581063e2b9f531f3442020d07b70",id:this.inputId,ref:e=>this.textareaElement=e,placeholder:this.placeholder,autofocus:this.autofocus,name:this.name,disabled:this.disabled,readOnly:this.readonly,required:this.required,maxlength:this.maxlength,minlength:this.minlength,autocomplete:"off",value:this.value,onInput:this.handleTextarea,rows:this.rows,class:i(this.resize==="none"&&"resize-none",this.resize==="vertical"&&"resize-y",this.resize==="horizontal"&&"resize-x",this.resize==="both"&&"resize")}))),(this.description||this.el.querySelector('[slot="description"]'))&&a("div",{key:"92700f5775053107569d2a2a0857c939a882debb",class:"description"},a("slot",{key:"d38ebd52d5d08ffe286acbee11e8733023c45824",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&a("div",{key:"872008326796f477c7c48ee2e8eec60ca51135ba",hidden:!this.error,class:"error-description"},a("slot",{key:"eae9c837562d2b39bbe5813390c9bf63d86dcf36",name:"error-description"},this.errorDescription)))}static get formAssociated(){return true}get el(){return o(this)}static get watchers(){return{rows:["rowsChanged"],autosize:["autosizeChanged"],value:["handleValueChange"]}}};s.style=d;export{s as nv_fieldtextarea};
2
- //# sourceMappingURL=p-b4c15f25.entry.js.map
1
+ import{r as e,c as r,h as a,H as t,g as o}from"./p-3060df80.js";import{c as i}from"./p-8a1a6e56.js";import{v as n}from"./p-f5ff676c.js";const l='nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldtextarea{--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-fieldtextarea[fluid]:not([fluid=false]){max-width:unset}nv-fieldtextarea[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-fieldtextarea[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-fieldtextarea[success]:not([success=false]){--nv-field-border-default:var(--components-form-field-border-success);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-success)}nv-fieldtextarea[required]:not([required=false]) label::after{content:"*";color:var(--components-form-text-required);font-weight:var(--font-weight-high-emphasis)}nv-fieldtextarea label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--form-label-line-height)}nv-fieldtextarea .textarea-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch}nv-fieldtextarea .textarea-wrapper .textarea-container{display:flex;flex-grow:1;padding:calc(var(--form-field-padding-y) - 1px) var(--form-field-padding-x);justify-content:center;align-items:center;gap:var(--form-field-gap);align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fieldtextarea .textarea-wrapper .textarea-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldtextarea .textarea-wrapper .textarea-container:focus-within{border-color:var(--nv-field-border-focus);box-shadow:0 0 0 var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fieldtextarea .textarea-wrapper .textarea-container:has(textarea:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fieldtextarea .textarea-wrapper .textarea-container:has(textarea:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldtextarea .textarea-wrapper .textarea-container textarea{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);text-overflow:ellipsis;font-size:var(--form-field-font-size);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--form-field-line-height)}nv-fieldtextarea .textarea-wrapper .textarea-container textarea::-webkit-scrollbar{width:6px;height:6px}nv-fieldtextarea .textarea-wrapper .textarea-container textarea::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}nv-fieldtextarea .textarea-wrapper .textarea-container textarea::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}nv-fieldtextarea .textarea-wrapper .textarea-container textarea:focus{outline:none}nv-fieldtextarea .textarea-wrapper .textarea-container textarea::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:var(--font-weight-low-emphasis);line-height:var(--form-field-line-height)}nv-fieldtextarea .textarea-wrapper .textarea-container nv-icon.validation{color:var(--nv-field-border-default)}nv-fieldtextarea .description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fieldtextarea .error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:var(--font-family-default), var(--font-family-fallback), 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)}';const d=l;const s=class{constructor(a){e(this,a);this.valueChanged=r(this,"valueChanged",7);this.inputId=n();this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.success=false;this.rows=3;this.resize="vertical";this.autosize=false;this.autofocus=false;this.fluid=false;this.handleTextarea=e=>{const r=e.target;this.value=r.value;this.valueChanged.emit(r.value)};this.handleTextareaContainerClick=()=>{this.textareaElement.focus()}}rowsChanged(){if(this.autosize){this.adjustTextareaHeight()}}autosizeChanged(){var e;if(this.autosize){this.adjustTextareaHeight()}else{(e=this.textareaElement)===null||e===void 0?void 0:e.style.removeProperty("height")}}handleValueChange(){if(this.autosize){this.adjustTextareaHeight()}}adjustTextareaHeight(){if(this.textareaElement&&this.autosize){requestAnimationFrame((()=>{requestAnimationFrame((()=>{this.textareaElement.style.height="auto";const e=window.getComputedStyle(this.textareaElement);const r=parseFloat(e.lineHeight);const a=parseFloat(e.paddingTop);const t=parseFloat(e.paddingBottom);const o=parseFloat(e.borderTopWidth);const i=parseFloat(e.borderBottomWidth);const n=r*this.rows+a+t+o+i;this.textareaElement.style.minHeight=`${n}px`;this.textareaElement.style.height=this.textareaElement.scrollHeight+"px"}))}))}}componentWillRender(){if(this.message){this.description=this.message}if(this.validation){this.errorDescription=this.validation;this.error=true}}componentDidLoad(){if(this.autosize){this.adjustTextareaHeight()}}render(){return a(t,{key:"3011ab5796ff80bef57fa31f8c0c3862ea8b2ec9"},(this.label||this.el.querySelector('[slot="label"]'))&&a("label",{key:"5ce143e110d23ae0812d8e3282c7cfd7013dbf8c",htmlFor:this.inputId},a("slot",{key:"d2aec99e424f7acef8b6831ce88a094e7b97d5a2",name:"label"},this.label)),a("div",{key:"d7ca0f0a7002649b62c90a0f414ce951a45fb36f",class:"textarea-wrapper"},a("div",{key:"7052a545876c11736cc851099aeca3d827e23e94",class:"textarea-container",onClick:this.handleTextareaContainerClick},a("textarea",{key:"efd08cdc7604f7394beb6040c4a4e85fffdd01a5",id:this.inputId,ref:e=>this.textareaElement=e,placeholder:this.placeholder,autofocus:this.autofocus,name:this.name,disabled:this.disabled,readOnly:this.readonly,required:this.required,maxlength:this.maxlength,minlength:this.minlength,autocomplete:"off",value:this.value,onInput:this.handleTextarea,rows:this.rows,class:i(this.resize==="none"&&"resize-none",this.resize==="vertical"&&"resize-y",this.resize==="horizontal"&&"resize-x",this.resize==="both"&&"resize")}))),(this.description||this.el.querySelector('[slot="description"]'))&&a("div",{key:"03c0ac2d2a63ac5836ec45b64fa368d7e6462e41",class:"description"},a("slot",{key:"afe544101550988895f12598adbc13e25d5f221f",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&a("div",{key:"45f08a76bf8abfc53a231d4e8977bbe6ed80b64d",hidden:!this.error,class:"error-description"},a("slot",{key:"4f37c2099badf5ccf9b58bb5ce71292c3b2baae5",name:"error-description"},this.errorDescription)))}static get formAssociated(){return true}get el(){return o(this)}static get watchers(){return{rows:["rowsChanged"],autosize:["autosizeChanged"],value:["handleValueChange"]}}};s.style=d;export{s as nv_fieldtextarea};
2
+ //# sourceMappingURL=p-17666092.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as e,c as t,h as i,F as s,H as r,g as o}from"./p-3060df80.js";import{v as n}from"./p-f5ff676c.js";const l='nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldmultiselect{--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-fieldmultiselect[fluid]:not([fluid=false]){max-width:unset}nv-fieldmultiselect[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-fieldmultiselect[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-fieldmultiselect[required]:not([required=false]) label::after{content:"*";color:var(--components-form-text-required);font-weight:var(--font-weight-high-emphasis)}nv-fieldmultiselect label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--form-label-line-height)}nv-fieldmultiselect nv-popover{width:100%;display:block}nv-fieldmultiselect 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-fieldmultiselect nv-popover [slot=content]{gap:var(--list-dropdown-gap-y);display:flex;flex-direction:column}nv-fieldmultiselect nv-popover hr{color:var(--components-list-dropdown-separator)}nv-fieldmultiselect nv-popover div[slot=content]{max-height:calc(90vh - var(--list-dropdown-padding) * 2);overflow-y:auto;position:relative}nv-fieldmultiselect nv-popover div[slot=content]::-webkit-scrollbar{width:6px;height:6px}nv-fieldmultiselect nv-popover div[slot=content]::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}nv-fieldmultiselect nv-popover div[slot=content]::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}nv-fieldmultiselect .input-wrapper-multiselect{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch;width:100%}nv-fieldmultiselect .input-container-multiselect{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-fieldmultiselect .input-container-multiselect:hover{border-color:var(--nv-field-border-hover)}nv-fieldmultiselect .input-container-multiselect:focus-within,nv-fieldmultiselect .input-container-multiselect:focus-within:hover,nv-fieldmultiselect .input-container-multiselect:focus,nv-fieldmultiselect .input-container-multiselect: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-fieldmultiselect .input-container-multiselect:has(input:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fieldmultiselect .input-container-multiselect:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldmultiselect .input-container-multiselect>nv-badge{margin-left:var(--form-field-padding-x)}nv-fieldmultiselect .input-container-multiselect input,nv-fieldmultiselect .input-container-multiselect 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:var(--font-weight-medium-emphasis);line-height:var(--form-field-line-height);width:100%;width:100%;flex-grow:1;margin:0;min-height:100%;box-sizing:border-box}nv-fieldmultiselect .input-container-multiselect input:focus,nv-fieldmultiselect .input-container-multiselect p.non-filterable-text:focus{outline:none}nv-fieldmultiselect .input-container-multiselect input::placeholder,nv-fieldmultiselect .input-container-multiselect p.non-filterable-text::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:var(--font-weight-low-emphasis);line-height:var(--form-field-line-height)}nv-fieldmultiselect .input-container-multiselect input[type=password]::-ms-clear,nv-fieldmultiselect .input-container-multiselect input[type=password]::-ms-reveal,nv-fieldmultiselect .input-container-multiselect p.non-filterable-text[type=password]::-ms-clear,nv-fieldmultiselect .input-container-multiselect p.non-filterable-text[type=password]::-ms-reveal{display:none;width:0;height:0}nv-fieldmultiselect .input-container-multiselect>nv-iconbutton{border:0px;border-radius:0px}nv-fieldmultiselect .input-container-multiselect>nv-iconbutton:focus-visible{border-radius:var(--button-md-border-radius);outline-offset:-3px}nv-fieldmultiselect .input-container-multiselect>nv-iconbutton:last-of-type{border-top-right-radius:var(--form-field-radius);border-bottom-right-radius:var(--form-field-radius)}nv-fieldmultiselect .input-container-multiselect nv-icon.validation{color:var(--nv-field-border-default)}nv-fieldmultiselect .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:var(--font-weight-medium-emphasis);line-height:var(--form-field-line-height);box-sizing:border-box;cursor:pointer;height:100%;min-height:40px}nv-fieldmultiselect .non-filterable-text span{display:inline-block;width:100%;overflow:hidden;text-overflow:ellipsis}nv-fieldmultiselect .description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fieldmultiselect .error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:var(--font-family-default), var(--font-family-fallback), 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)}.no-results-message{cursor:not-allowed;background-color:unset;color:var(--components-menu-contextual-item-content-disabled);padding:var(--list-dropdown-item-padding-y) var(--list-dropdown-item-padding-x)}.multiselect-divider{display:block;width:100%;height:1px;background-color:var(--components-list-dropdown-separator);margin:var(--list-dropdown-item-padding-y) 0;border:0}.select-all-container{position:sticky;top:0;background-color:var(--components-list-dropdown-background);border-bottom:1px solid var(--components-list-dropdown-separator);padding:var(--list-dropdown-item-padding-y) var(--list-dropdown-item-padding-x);z-index:10;margin-bottom:0}.select-all-container .select-all-header{display:flex;align-items:center;gap:var(--form-field-gap)}.select-all-container .select-all-header nv-fieldcheckbox{flex:1;margin:0}.select-all-container .select-all-header nv-iconbutton,.select-all-container .select-all-header nv-button{flex-shrink:0;margin-left:auto}.select-all-container .select-all-header nv-button{justify-content:center}';const a=l;const d=class{constructor(o){e(this,o);this.valueChanged=t(this,"valueChanged",7);this.filterTextChanged=t(this,"filterTextChanged",7);this.isBulkOperation=false;this.preventBlurClose=false;this.inputId=n();this.autocomplete="off";this.required=false;this.readonly=false;this.disabled=false;this.error=false;this.maxHeight="";this.open=false;this.fluid=false;this.value=[];this.filterable=false;this.emptyResult="No results found";this.debounceDelay=300;this.autofocus=false;this.badgeLabel="";this.filterText="";this.enableSelectAll=false;this.selectAllLabel="Select/deselect all";this.deselectAllLabel="Select/deselect all";this.sortedOptions=[];this.isHandlingEscape=false;this.hasFilterResults=true;this.isSelectAllSectionVisible=true;this.handleBadgeCloseOptions=()=>{this.value=[];this.valueChanged.emit(this.value);const e=Array.from(this.el.querySelectorAll("nv-fielddropdownitemcheck"));e.forEach((e=>{e.checked=false;e.style.display=""}));this.options=this.options.filter((e=>!e.isDivider));this.reorderOptionsContent()};this.handleBadgeCloseSlots=()=>{this.value=[];this.valueChanged.emit(this.value);const e=Array.from(this.el.querySelectorAll("nv-fielddropdownitemcheck"));e.forEach((e=>{e.checked=false;e.style.display=""}));requestAnimationFrame((()=>{this.reorderSlotContent()}))};this.handlePopoverClose=()=>{if(this.isHandlingEscape){return}};this.clearFilterText=()=>{if(this.filterText!==""){this.filterText="";this.filterTextChanged.emit("")}this.resetFilter();this.hasFilterResults=true};this.handleInputBlurOptions=()=>{setTimeout((()=>{if(this.preventBlurClose){this.preventBlurClose=false;return}if(!this.el.contains(document.activeElement)){this.open=false;if(this.filterable){this.clearFilterText()}}}),150)};this.handleInputContainerClickOptions=e=>{if(this.disabled||this.readonly){return}const t=e.target;if(t.tagName==="P"||t.tagName==="SPAN"){this.open=true;const e=this.el.querySelector(".input-container");if(e){e.classList.add("focus-within");const t=()=>{e.classList.remove("focus-within")};this.popoverElement.addEventListener("hide",t)}}};this.handleInputContainerClickSlots=e=>{if(this.disabled||this.readonly){return}const t=e.target;if(t.tagName==="P"||t.tagName==="SPAN"){this.open=true;const e=this.el.querySelector(".input-container");if(e){e.classList.add("focus-within");const t=()=>{e.classList.remove("focus-within")};this.popoverElement.addEventListener("hide",t)}}};this.handleInputOptions=e=>{if(!this.filterable)return;if(this.disabled||this.readonly){return}const t=e.target;this.filterText=t.value;this.filterTextChanged.emit(this.filterText);if(this.debounceTimer){window.clearTimeout(this.debounceTimer)}this.debounceTimer=window.setTimeout((()=>{this.filterItemsOption()}),this.debounceDelay)};this.handleInputSlots=e=>{if(!this.filterable)return;if(this.disabled||this.readonly)return;const t=e.target;this.filterText=t.value;this.filterTextChanged.emit(this.filterText);if(this.debounceTimer){window.clearTimeout(this.debounceTimer)}this.debounceTimer=window.setTimeout((()=>{this.filterSlotsItems()}),this.debounceDelay)};this.handleInputFocusOptions=()=>{if(this.disabled||this.readonly){return}this.open=true};this.handleInputFocusSlots=()=>{if(this.disabled||this.readonly){return}this.open=true};this.handleInputBlurSlots=()=>{setTimeout((()=>{if(this.preventBlurClose){this.preventBlurClose=false;return}if(!this.el.contains(document.activeElement)){this.open=false;if(this.filterable){this.clearFilterText()}}}),150)};this.togglePopoverOptions=()=>{if(this.disabled||this.readonly){return}this.open=!this.open};this.togglePopoverSlots=()=>{if(this.disabled||this.readonly){return}this.open=!this.open};this.toggleSelectAllOptions=e=>{if(!this.options)return;this.isBulkOperation=true;try{const t=this.getVisibleEnabledOptionItems();if(e){this.value=[...new Set([...this.value,...t])]}else{this.value=this.value.filter((e=>!t.includes(e)))}this.valueChanged.emit(this.value);this.syncChildComponents();this.reorderOptionsContent()}finally{requestAnimationFrame((()=>{this.isBulkOperation=false}))}};this.toggleSelectAllSlots=e=>{if(this.options)return;this.isBulkOperation=true;try{const t=this.getVisibleEnabledSlotItems();if(e){const e=t.map((e=>e.getAttribute("value")||e.getAttribute("label")||"")).filter((e=>e!==""));this.value=[...new Set([...this.value,...e])]}else{const e=t.map((e=>e.getAttribute("value")||e.getAttribute("label")||"")).filter((e=>e!==""));this.value=this.value.filter((t=>!e.includes(t)))}this.valueChanged.emit(this.value);requestAnimationFrame((()=>{this.syncChildComponents();this.reorderSlotContent()}))}finally{requestAnimationFrame((()=>{this.isBulkOperation=false}))}};this.handleSelectAllCheckboxOptionsClick=e=>{e.stopPropagation();e.preventDefault();const t=this.getSelectAllCheckboxStateOptions();const i=t==="unchecked"||t==="indeterminate";this.toggleSelectAllOptions(i)};this.handleSelectAllCheckboxSlotsClick=e=>{e.stopPropagation();e.preventDefault();const t=this.getSelectAllCheckboxStateSlots();const i=t==="unchecked"||t==="indeterminate";this.toggleSelectAllSlots(i)};this.handleMouseDownPreventBlur=()=>{this.preventBlurClose=true};this.renderOptionsMode=()=>{var e,t,o,n;return i(r,{"aria-label":this.label},(this.label||this.el.querySelector('[slot="label"]'))&&i("label",{htmlFor:this.inputId},i("slot",{name:"label"},this.label)),i("nv-popover",{ref:e=>this.popoverElement=e,triggerMode:"controlled",placement:"bottom-start",open:this.open},i("div",{class:"input-wrapper-multiselect",slot:"trigger"},i("slot",{name:"before-input"}),i("div",{class:"input-container-multiselect"},i("slot",{name:"leading-input"}),(((e=this.value)===null||e===void 0?void 0:e.length)||0)>0&&i("nv-badge",{slot:"leading-input","prevent-auto-close":true,color:"10",dismissible:(((t=this.value)===null||t===void 0?void 0:t.length)||0)>0,label:`${((o=this.value)===null||o===void 0?void 0:o.length)||0} ${this.badgeLabel}`,"aria-label":`Clear all ${((n=this.value)===null||n===void 0?void 0:n.length)||0} ${this.badgeLabel} items`,onCloseClicked:this.handleBadgeCloseOptions}),this.filterable||this.disabled||this.readonly?i("input",{type:"text",id:this.inputId,ref:e=>this.inputElement=e,autofocus:this.autofocus,autocomplete:this.autocomplete,placeholder:this.placeholder,name:this.name,value:this.filterText,required:this.required,disabled:this.disabled,readOnly:this.readonly,onInput:this.handleInputOptions,onFocus:this.handleInputFocusOptions,onBlur:this.handleInputBlurOptions,onKeyDown:this.handleKeyDown,"data-scope":"focusable","aria-label":this.label,"aria-controls":`${this.inputId}-listbox`}):i(s,null,i("input",{id:this.inputId,type:"text",style:{position:"absolute",opacity:"0",width:"0",height:"0",pointerEvents:"none"},tabIndex:-1,"aria-hidden":"true",autoComplete:this.autocomplete,name:this.name,onFocus:this.handleInputFocusOptions}),i("p",{id:this.inputId,class:"non-filterable-text",onClick:this.handleInputContainerClickOptions,tabIndex:0,onKeyDown:this.handleKeyDown,onFocus:this.handleInputFocusOptions,"aria-label":this.label,"aria-controls":`${this.inputId}-listbox`,"data-scope":"focusable",role:"button"},i("span",null,this.placeholder))),this.error&&i("nv-icon",{name:"alert-circle",class:"validation",size:"md"}),this.filterable&&this.filterText.length>0&&i("nv-iconbutton",{"data-scope":"clear-filter",name:"x",size:"md",emphasis:"lower","aria-label":"Clear filter text",tabindex:"-1",title:"Clear filter text",onMouseDown:this.handleMouseDownPreventBlur,onClick:this.clearFilterText}),i("nv-iconbutton",{"data-scope":"toggle-dropdown",name:this.open?"chevron-top":"chevron-down",size:"md",emphasis:"lower","aria-label":this.open?"Hide dropdown":"Show dropdown",title:this.open?"Hide dropdown":"Show dropdown",onMouseDown:this.handleMouseDownPreventBlur,onClick:this.togglePopoverOptions})),i("slot",{name:"after-input"})),i("div",{id:`${this.inputId}-listbox`,slot:"content",style:this.maxHeight?{maxHeight:this.maxHeight}:{},onMouseDown:this.handleMouseDownPreventBlur},this.shouldShowToggleAllOptionsButton()&&i("div",{class:"select-all-container"},i("div",{class:"select-all-header"},this.isSelectAllSectionVisible&&i("nv-fieldcheckbox",{checked:this.getSelectAllCheckboxStateOptions()==="checked",indeterminate:this.getSelectAllCheckboxStateOptions()==="indeterminate",label:this.getSelectAllCheckboxStateOptions()==="unchecked"?this.selectAllLabel:this.deselectAllLabel,onMouseDown:this.handleMouseDownPreventBlur,onClick:this.handleSelectAllCheckboxOptionsClick}))),i("ul",{role:"listbox","aria-multiselectable":"true"},this.options.map((e=>i("nv-fielddropdownitemcheck",{role:"option",label:e.label,description:e.description,value:e.value,checked:(this.value||[]).includes(e.value),disabled:e.disabled})))))),this.renderDescriptions())};this.renderSlotsMode=()=>{var e,t,o,n;return i(r,{"aria-label":this.label},(this.label||this.el.querySelector('[slot="label"]'))&&i("label",{htmlFor:this.inputId},i("slot",{name:"label"},this.label)),i("nv-popover",{ref:e=>this.popoverElement=e,triggerMode:"controlled",placement:"bottom-start",open:this.open},i("div",{class:"input-wrapper-multiselect",slot:"trigger"},i("slot",{name:"before-input"}),i("div",{class:"input-container-multiselect",onClick:this.handleInputContainerClickSlots},i("slot",{name:"leading-input"}),(((e=this.value)===null||e===void 0?void 0:e.length)||0)>0&&i("nv-badge",{slot:"leading-input","prevent-auto-close":true,color:"10",dismissible:(((t=this.value)===null||t===void 0?void 0:t.length)||0)>0,label:`${((o=this.value)===null||o===void 0?void 0:o.length)||0} ${this.badgeLabel}`,"aria-label":`Clear all ${((n=this.value)===null||n===void 0?void 0:n.length)||0} ${this.badgeLabel} items`,onCloseClicked:this.handleBadgeCloseSlots}),this.filterable||this.disabled||this.readonly?i("input",{id:this.inputId,ref:e=>this.inputElement=e,autocomplete:this.autocomplete,placeholder:this.placeholder,name:this.name,value:this.filterText,required:this.required,disabled:this.disabled,readOnly:this.readonly,onInput:this.handleInputSlots,onFocus:this.handleInputFocusSlots,onBlur:this.handleInputBlurSlots,onKeyDown:this.handleKeyDown,"data-scope":"focusable","aria-label":this.label,"aria-controls":`${this.inputId}-listbox`}):i(s,null,i("input",{id:this.inputId,type:"text",style:{position:"absolute",opacity:"0",width:"0",height:"0",pointerEvents:"none"},tabIndex:-1,"aria-hidden":"true",autoComplete:this.autocomplete,name:this.name,onFocus:this.handleInputFocusSlots}),i("p",{id:this.inputId,class:"non-filterable-text","aria-label":this.label,onClick:this.handleInputContainerClickSlots,tabIndex:0,onKeyDown:this.handleKeyDown,onFocus:this.handleInputFocusSlots,"aria-controls":`${this.inputId}-listbox`,"data-scope":"focusable",role:"button"},i("span",null,this.placeholder))),this.error&&i("nv-icon",{name:"alert-circle",class:"validation",size:"md"}),this.filterable&&this.filterText.length>0&&i("nv-iconbutton",{name:"x",size:"md",emphasis:"lower",tabindex:"-1",onMouseDown:this.handleMouseDownPreventBlur,onClick:this.clearFilterText,"aria-label":"Clear filter text"}),i("nv-iconbutton",{"data-scope":"toggle-dropdown",name:this.open?"chevron-top":"chevron-down",size:"md",emphasis:"lower","aria-label":this.open?"Hide dropdown":"Show dropdown",title:this.open?"Hide dropdown":"Show dropdown",onMouseDown:this.handleMouseDownPreventBlur,onClick:this.togglePopoverSlots})),i("slot",{name:"after-input"})),i("div",{id:`${this.inputId}-listbox`,slot:"content",style:this.maxHeight?{maxHeight:this.maxHeight}:{},onMouseDown:this.handleMouseDownPreventBlur},this.shouldShowToggleAllSlotButton()&&i("div",{class:"select-all-container"},i("div",{class:"select-all-header"},this.isSelectAllSectionVisible&&i("nv-fieldcheckbox",{checked:this.getSelectAllCheckboxStateSlots()==="checked",indeterminate:this.getSelectAllCheckboxStateSlots()==="indeterminate",label:this.getSelectAllCheckboxStateSlots()==="unchecked"?this.selectAllLabel:this.deselectAllLabel,onMouseDown:this.handleMouseDownPreventBlur,onClick:this.handleSelectAllCheckboxSlotsClick}))),i("slot",{name:"content"}))),this.renderDescriptions())}}handleOptionsChange(e){if(!e)return;if(!this.value||this.value.length===0){this.value=e.filter((e=>e.checked)).map((e=>e.value))}else{e.forEach((e=>{e.checked=(this.value||[]).includes(e.value)}))}this.reorderOptionsContent()}watchValueHandler(){if(this.isBulkOperation){return}if(this.el&&this.el.isConnected){this.syncChildComponents()}if(this.options){this.options.forEach((e=>{e.checked=(this.value||[]).includes(e.value)}))}}handleOpenChange(e){if(e){if(this.options){this.reorderOptionsContent()}else{this.reorderSlotContent()}if(this.filterText){this.filterItems()}}}handleOpenChanged(e){e.stopPropagation();if(e.target===this.popoverElement){if(this.open!==e.detail){this.open=e.detail;if(this.open){if(this.filterText){this.filterItems()}}else{if(this.filterable){this.clearFilterText()}this.handlePopoverClose()}if(this.options){this.reorderOptionsContent()}else{this.reorderSlotContent()}}}}handleItemChecked(e){if(this.disabled||this.readonly||this.isBulkOperation){return}const{value:t,checked:i}=e.detail;if(t!==undefined&&t!==null){const e=[...this.value||[]];const s=e.indexOf(t);let r=false;if(i&&s===-1){e.push(t);r=true}else if(!i&&s>-1){e.splice(s,1);r=true}if(r){this.value=e;this.valueChanged.emit(this.value);this.syncChildComponents()}if(this.filterable&&this.inputElement){this.inputElement.value=this.filterText}}else{console.warn("[Event:itemChecked] Received itemChecked event with undefined or null value")}}handleSlotChange(e){const t=e.target;if(t&&t.name==="content"){requestAnimationFrame((()=>{this.reorderSlotContent()}))}}async handleKeyDown(e){if(!this.open){if(e.key==="ArrowDown"){this.open=true;if(!this.filterable){requestAnimationFrame((()=>{this.focusFirstItem()}))}e.preventDefault();return}return}const t=Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck:not([style*="display: none"])'));if(t.length===0){console.warn("No visible items found to navigate");return}let i=t.findIndex((e=>e.classList.contains("highlighted")));if(e.key==="ArrowDown"){e.preventDefault();i=i===-1?0:(i+1)%t.length;this.updateHighlightedItem(t,i)}else if(e.key==="ArrowUp"){e.preventDefault();i=i===-1?t.length-1:(i-1+t.length)%t.length;this.updateHighlightedItem(t,i)}else if(e.key==="Enter"&&i>=0){e.preventDefault();const s=t[i];const r=s.hasAttribute("checked");s.checked=!r;s.dispatchEvent(new MouseEvent("click",{view:window,bubbles:true,cancelable:true}))}else if(e.key==="Escape"){e.preventDefault();e.stopPropagation();const t=async()=>{this.isHandlingEscape=true;if(this.options){this.reorderOptionsContent()}else{this.reorderSlotContent()}await new Promise((e=>setTimeout(e,100)));setTimeout((()=>{this.isHandlingEscape=false;this.open=false}),150);if(this.inputElement){this.inputElement.blur()}};await t()}}connectedCallback(){if(!this._boundHandleClickOutside){this._boundHandleClickOutside=this.handleClickOutside.bind(this)}document.addEventListener("click",this._boundHandleClickOutside)}componentWillLoad(){var e;if(this.options){this.handleOptionsChange(this.options)}if(!this.options){this.initializeValueFromSlots();Promise.resolve().then((()=>{this.syncChildComponents();requestAnimationFrame((()=>{this.reorderSlotContent()}))}))}if(this.options){this.sortedOptions=[...(e=this.options)!==null&&e!==void 0?e:[]]}if(!this.filterText){this.resetFilter()}this.hasFilterResults=true}componentDidLoad(){if(this.options){this.handleOptionsChange(this.options)}this.syncChildComponents();if(!this.options){this.initializeValueFromSlots();this.syncChildComponents()}}disconnectedCallback(){if(this._boundHandleClickOutside){document.removeEventListener("click",this._boundHandleClickOutside)}}async getFilterText(){return this.filterText}async resetFilter(){const e=Array.from(this.el.querySelectorAll("nv-fielddropdownitemcheck"));e.forEach((e=>{e.style.display=""}));const t=this.el.querySelector("ul");if(t){const i=t.querySelector("[data-empty]");if(i)i.remove();const s=e.filter((e=>(this.value||[]).includes(e.getAttribute("value")||"")));const r=e.filter((e=>!(this.value||[]).includes(e.getAttribute("value")||"")));if(s.length>0){this.manageDivider(t,s,r)}}this.hasFilterResults=true}async getSelectedValues(){return this.value}async selectAll(){if(this.disabled||this.readonly)return;if(this.options){this.toggleSelectAllOptions(true)}else{this.toggleSelectAllSlots(true)}}async deselectAll(){if(this.disabled||this.readonly)return;if(this.options){this.toggleSelectAllOptions(false)}else{this.toggleSelectAllSlots(false)}}async toggleSelectAll(){if(this.disabled||this.readonly)return;const e=this.options?this.getSelectAllCheckboxStateOptions():this.getSelectAllCheckboxStateSlots();const t=e==="unchecked"||e==="indeterminate";if(this.options){this.toggleSelectAllOptions(t)}else{this.toggleSelectAllSlots(t)}}reorderSlotContent(){if(this.options)return;const e=this.el.querySelector("ul");if(!e)return;e.querySelectorAll("hr.multiselect-divider").forEach((e=>e.remove()));const t=Array.from(this.el.querySelectorAll("nv-fielddropdownitemcheck")).filter((e=>e.style.display!=="none"));const i=e.querySelector("[data-empty]");if(i){return}const s=t.filter((e=>(this.value||[]).includes(e.getAttribute("value")||"")));const r=t.filter((e=>!(this.value||[]).includes(e.getAttribute("value")||"")));s.forEach((t=>{e.appendChild(t)}));if(s.length>0&&r.length>0){const t=document.createElement("hr");t.className="multiselect-divider";e.appendChild(t)}r.forEach((t=>{e.appendChild(t)}))}reorderOptionsContent(){const e=this.el.querySelector("ul");if(!e)return;const t=Array.from(e.querySelectorAll("nv-fielddropdownitemcheck")).filter((e=>e.style.display!=="none"));const i=t.filter((e=>(this.value||[]).includes(e.getAttribute("value")||"")));const s=t.filter((e=>!(this.value||[]).includes(e.getAttribute("value")||"")));i.forEach((t=>e.appendChild(t)));s.forEach((t=>e.appendChild(t)));this.manageDivider(e,i,s)}filterItems(){const e=this.el.querySelector("ul");if(!e)return;const t=e.querySelector("[data-empty]");if(t){t.remove()}if(!this.filterText.trim()){if(this.options&&this.options.length>0){const t=Array.from(e.querySelectorAll("nv-fielddropdownitemcheck"));t.forEach((e=>{e.style.display=""}))}else{const e=Array.from(this.el.querySelectorAll("nv-fielddropdownitemcheck"));e.forEach((e=>{e.style.display=""}))}const t=Array.from(e.querySelectorAll("nv-fielddropdownitemcheck"));const i=t.filter((e=>(this.value||[]).includes(e.getAttribute("value")||"")));const s=t.filter((e=>!(this.value||[]).includes(e.getAttribute("value")||"")));this.manageDivider(e,i,s);return}const i=this.normalizeText(this.filterText);let s=false;if(this.options&&this.options.length>0){const t=Array.from(e.querySelectorAll("nv-fielddropdownitemcheck"));t.forEach((e=>{const t=this.options.find((t=>t.value===e.getAttribute("value")));if(t&&!t.isDivider){const r=this.normalizeText(t.label).includes(i)||this.normalizeText(t.value).includes(i);e.style.display=r?"":"none";if(r)s=true}}));const r=t.filter((e=>e.style.display!=="none"));const o=r.filter((e=>(this.value||[]).includes(e.getAttribute("value")||"")));const n=r.filter((e=>!(this.value||[]).includes(e.getAttribute("value")||"")));this.manageDivider(e,o,n)}else{const e=Array.from(this.el.querySelectorAll("nv-fielddropdownitemcheck"));e.forEach((e=>{const t=e.getAttribute("label")||"";const r=e.getAttribute("value")||"";const o=e.textContent||"";const n=this.normalizeText(t).includes(i)||this.normalizeText(r).includes(i)||this.normalizeText(o).includes(i);e.style.display=n?"":"none";if(n)s=true}))}if(!s){const t=document.createElement("li");t.setAttribute("data-empty","true");t.textContent=this.emptyResult;t.classList.add("no-results-message");e.appendChild(t)}this.reorderSlotContent()}filterItemsOption(){const e=this.el.querySelector("ul");if(!e)return;const t=this.normalizeText(this.filterText);let i=false;const s=Array.from(e.querySelectorAll("nv-fielddropdownitemcheck"));if(!this.filterText.trim()){this.removeEmptyMessageOption(e);s.forEach((e=>{e.style.display="";e.removeAttribute("aria-hidden")}));this.reorderOptionsContent();this.hasFilterResults=true;return}s.forEach((e=>{const s=this.options.find((t=>t.value===e.getAttribute("value")));if(s&&!s.isDivider){const r=this.normalizeText(s.label).includes(t)||this.normalizeText(s.value).includes(t);e.style.display=r?"":"none";e.setAttribute("aria-hidden",r?"false":"true");if(r)i=true}else{e.style.display="none";e.setAttribute("aria-hidden","true")}}));this.hasFilterResults=i;const r=s.filter((e=>e.style.display!=="none"));const o=r.filter((e=>(this.value||[]).includes(e.getAttribute("value")||"")));const n=r.filter((e=>!(this.value||[]).includes(e.getAttribute("value")||"")));this.manageDivider(e,o,n);if(!i){this.addEmptyMessageOption(e)}else{this.removeEmptyMessageOption(e)}}filterSlotsItems(){if(this.options)return;const e=this.el.querySelector("ul");if(!e)return;const t=e.querySelector("[data-empty]");if(t){t.remove()}if(!this.filterText.trim()){this.resetFilter();this.hasFilterResults=true;return}const i=this.normalizeText(this.filterText);let s=false;const r=Array.from(this.el.querySelectorAll("nv-fielddropdownitemcheck"));r.forEach((e=>{var t;const r=e.getAttribute("label")||"";const o=e.getAttribute("value")||"";const n=((t=e.textContent)===null||t===void 0?void 0:t.trim())||"";const l=this.normalizeText(r).includes(i)||this.normalizeText(o).includes(i)||this.normalizeText(n).includes(i);e.style.display=l?"":"none";if(l)s=true}));this.hasFilterResults=s;const o=r.filter((e=>e.style.display!=="none"));const n=o.filter((e=>(this.value||[]).includes(e.getAttribute("value")||"")));this.manageDivider(e,n,o.filter((e=>!(this.value||[]).includes(e.getAttribute("value")||""))));if(!s){const t=document.createElement("li");t.setAttribute("data-empty","true");t.textContent=this.emptyResult;t.classList.add("no-results-message");e.appendChild(t)}}normalizeText(e){return e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().trim()}handleClickOutside(e){if(this.el.contains(e.target)||this.inputElement&&this.inputElement.contains(e.target)){return}this.open=false}updateHighlightedItem(e,t){e.forEach(((e,i)=>{if(i===t){e.classList.add("highlighted");e.setAttribute("tabindex","0");e.scrollIntoView({block:"nearest"});const t=e.querySelector("nv-fieldcheckbox");if(t){t.focus()}}else{e.classList.remove("highlighted");e.setAttribute("tabindex","-1")}}))}focusFirstItem(){const e=this.el.querySelector('nv-fielddropdownitemcheck:not([style*="display: none"])');if(e){e.setAttribute("tabindex","0");e.classList.add("highlighted");e.scrollIntoView({block:"nearest"});const t=e.querySelector("nv-fieldcheckbox");if(t){t.focus()}}else{console.warn("No visible first item found to focus")}}addEmptyMessageOption(e){const t=e.querySelector("[data-empty]");if(t)return;const i=document.createElement("li");i.setAttribute("data-empty","true");i.textContent=this.emptyResult;i.classList.add("no-results-message");e.appendChild(i)}removeEmptyMessageOption(e){const t=e.querySelector("[data-empty]");if(t)t.remove()}manageDivider(e,t,i){let s=e.querySelector("hr.multiselect-divider");if(!s){s=document.createElement("hr");s.className="multiselect-divider";e.appendChild(s)}const r=t.length>0&&i.length>0;if(r){const e=t[t.length-1];e.after(s);s.style.display=""}else{s.style.display="none"}}syncChildComponents(){if(!this.el||!this.el.isConnected){return}const e=Array.from(this.el.querySelectorAll("nv-fielddropdownitemcheck"));e.forEach((e=>{const t=e.getAttribute("value")||e.getAttribute("label")||"";const i=(this.value||[]).includes(t);if(e.checked!==i){if(this.isBulkOperation){if(i){e.setAttribute("checked","")}else{e.removeAttribute("checked")}e.checked=i}else{e.checked=i}}}))}getVisibleEnabledSlotItems(){const e=Array.from(this.el.querySelectorAll("nv-fielddropdownitemcheck"));return e.filter((e=>{const t=e.style.display==="none";const i=e.hasAttribute("disabled");return!t&&!i}))}getVisibleEnabledOptionItems(){const e=Array.from(this.el.querySelectorAll("nv-fielddropdownitemcheck"));const t=e.filter((e=>{const t=e.style.display==="none"||e.getAttribute("aria-hidden")==="true";const i=e.hasAttribute("disabled")||e.getAttribute("disabled")==="true";return!t&&!i}));return t.map((e=>e.getAttribute("value")||"")).filter((e=>e!==""))}shouldShowToggleAllOptionsButton(){if(!this.options)return false;return this.enableSelectAll&&this.hasFilterResults}getSelectAllCheckboxStateOptions(){if(!this.options)return"unchecked";const e=this.getVisibleEnabledOptionItems();if(e.length===0)return"unchecked";const t=e.filter((e=>(this.value||[]).includes(e)));if(t.length===0)return"unchecked";if(t.length===e.length)return"checked";return"indeterminate"}getSelectAllCheckboxStateSlots(){if(this.options)return"unchecked";const e=this.getVisibleEnabledSlotItems();if(e.length===0)return"unchecked";const t=e.filter((e=>{const t=e.getAttribute("value")||e.getAttribute("label")||"";return t!==""&&(this.value||[]).includes(t)}));if(t.length===0)return"unchecked";if(t.length===e.length)return"checked";return"indeterminate"}shouldShowToggleAllSlotButton(){if(this.options)return false;return this.enableSelectAll&&this.hasFilterResults}initializeValueFromSlots(){const e=Array.from(this.el.querySelectorAll("nv-fielddropdownitemcheck"));const t=e.filter((e=>e.hasAttribute("checked"))).map((e=>e.getAttribute("value")||e.getAttribute("label")||""));this.value=Array.from(new Set([...this.value||[],...t]))}renderDescriptions(){return[(this.description||this.el.querySelector('[slot="description"]'))&&i("div",{class:"description"},i("slot",{name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&i("div",{hidden:!this.error,class:"error-description"},i("slot",{name:"error-description"},this.errorDescription))]}render(){return this.options?this.renderOptionsMode():this.renderSlotsMode()}static get formAssociated(){return true}get el(){return o(this)}static get watchers(){return{options:["handleOptionsChange"],value:["watchValueHandler"],open:["handleOpenChange"]}}};d.style=a;export{d as nv_fieldmultiselect};
2
- //# sourceMappingURL=p-107e80c6.entry.js.map
1
+ import{r as e,c as t,h as i,F as s,H as r,g as o}from"./p-3060df80.js";import{v as n}from"./p-f5ff676c.js";const l='nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldmultiselect{--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-fieldmultiselect[fluid]:not([fluid=false]){max-width:unset}nv-fieldmultiselect[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-fieldmultiselect[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-fieldmultiselect[required]:not([required=false]) label::after{content:"*";color:var(--components-form-text-required);font-weight:var(--font-weight-high-emphasis)}nv-fieldmultiselect label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--form-label-line-height)}nv-fieldmultiselect nv-popover{width:100%;display:block}nv-fieldmultiselect 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-fieldmultiselect nv-popover [slot=content]{gap:var(--list-dropdown-gap-y);display:flex;flex-direction:column}nv-fieldmultiselect nv-popover hr{color:var(--components-list-dropdown-separator)}nv-fieldmultiselect nv-popover div[slot=content]{max-height:calc(90vh - var(--list-dropdown-padding) * 2);overflow-y:auto;position:relative}nv-fieldmultiselect nv-popover div[slot=content]::-webkit-scrollbar{width:6px;height:6px}nv-fieldmultiselect nv-popover div[slot=content]::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}nv-fieldmultiselect nv-popover div[slot=content]::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}nv-fieldmultiselect .input-wrapper-multiselect{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch;width:100%}nv-fieldmultiselect .input-container-multiselect{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-fieldmultiselect .input-container-multiselect:hover{border-color:var(--nv-field-border-hover)}nv-fieldmultiselect .input-container-multiselect:focus-within,nv-fieldmultiselect .input-container-multiselect:focus-within:hover,nv-fieldmultiselect .input-container-multiselect:focus,nv-fieldmultiselect .input-container-multiselect: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-fieldmultiselect .input-container-multiselect:has(input:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fieldmultiselect .input-container-multiselect:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldmultiselect .input-container-multiselect>nv-badge{margin-left:var(--form-field-padding-x)}nv-fieldmultiselect .input-container-multiselect input,nv-fieldmultiselect .input-container-multiselect 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:var(--font-weight-medium-emphasis);line-height:var(--form-field-line-height);width:100%;width:100%;flex-grow:1;margin:0;min-height:100%;box-sizing:border-box}nv-fieldmultiselect .input-container-multiselect input:focus,nv-fieldmultiselect .input-container-multiselect p.non-filterable-text:focus{outline:none}nv-fieldmultiselect .input-container-multiselect input::placeholder,nv-fieldmultiselect .input-container-multiselect p.non-filterable-text::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:var(--font-weight-low-emphasis);line-height:var(--form-field-line-height)}nv-fieldmultiselect .input-container-multiselect input[type=password]::-ms-clear,nv-fieldmultiselect .input-container-multiselect input[type=password]::-ms-reveal,nv-fieldmultiselect .input-container-multiselect p.non-filterable-text[type=password]::-ms-clear,nv-fieldmultiselect .input-container-multiselect p.non-filterable-text[type=password]::-ms-reveal{display:none;width:0;height:0}nv-fieldmultiselect .input-container-multiselect>nv-iconbutton{border:0px;border-radius:0px}nv-fieldmultiselect .input-container-multiselect>nv-iconbutton:focus-visible{border-radius:var(--button-md-border-radius);outline-offset:-3px}nv-fieldmultiselect .input-container-multiselect>nv-iconbutton:last-of-type{border-top-right-radius:var(--form-field-radius);border-bottom-right-radius:var(--form-field-radius)}nv-fieldmultiselect .input-container-multiselect nv-icon.validation{color:var(--nv-field-border-default)}nv-fieldmultiselect .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:var(--font-weight-medium-emphasis);line-height:var(--form-field-line-height);box-sizing:border-box;cursor:pointer;height:100%;min-height:40px}nv-fieldmultiselect .non-filterable-text span{display:inline-block;width:100%;overflow:hidden;text-overflow:ellipsis}nv-fieldmultiselect .description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:var(--font-family-default), var(--font-family-fallback), sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fieldmultiselect .error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:var(--font-family-default), var(--font-family-fallback), 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)}.no-results-message{cursor:not-allowed;background-color:unset;color:var(--components-menu-contextual-item-content-disabled);padding:var(--list-dropdown-item-padding-y) var(--list-dropdown-item-padding-x)}.multiselect-divider{display:block;width:100%;height:1px;background-color:var(--components-list-dropdown-separator);margin:var(--list-dropdown-item-padding-y) 0;border:0}.select-all-container{position:sticky;top:0;background-color:var(--components-list-dropdown-background);border-bottom:1px solid var(--components-list-dropdown-separator);padding:var(--list-dropdown-item-padding-y) var(--list-dropdown-item-padding-x);z-index:10;margin-bottom:0}.select-all-container .select-all-header{display:flex;align-items:center;gap:var(--form-field-gap)}.select-all-container .select-all-header nv-fieldcheckbox{flex:1;margin:0}.select-all-container .select-all-header nv-iconbutton,.select-all-container .select-all-header nv-button{flex-shrink:0;margin-left:auto}.select-all-container .select-all-header nv-button{justify-content:center}';const a=l;const d=class{constructor(o){e(this,o);this.valueChanged=t(this,"valueChanged",7);this.filterTextChanged=t(this,"filterTextChanged",7);this.isBulkOperation=false;this.preventBlurClose=false;this.inputId=n();this.autocomplete="off";this.required=false;this.readonly=false;this.disabled=false;this.error=false;this.maxHeight="";this.open=false;this.fluid=false;this.value=[];this.filterable=false;this.emptyResult="No results found";this.debounceDelay=300;this.autofocus=false;this.badgeLabel="";this.filterText="";this.enableSelectAll=false;this.selectAllLabel="Select/deselect all";this.deselectAllLabel="Select/deselect all";this.sortedOptions=[];this.isHandlingEscape=false;this.hasFilterResults=true;this.isSelectAllSectionVisible=true;this.handleBadgeCloseOptions=()=>{this.value=[];this.valueChanged.emit(this.value);const e=Array.from(this.el.querySelectorAll("nv-fielddropdownitemcheck"));e.forEach((e=>{e.checked=false;e.style.display=""}));this.options=this.options.filter((e=>!e.isDivider));this.reorderOptionsContent()};this.handleBadgeCloseSlots=()=>{this.value=[];this.valueChanged.emit(this.value);const e=Array.from(this.el.querySelectorAll("nv-fielddropdownitemcheck"));e.forEach((e=>{e.checked=false;e.style.display=""}));requestAnimationFrame((()=>{this.reorderSlotContent()}))};this.handlePopoverClose=()=>{if(this.isHandlingEscape){return}};this.clearFilterText=()=>{if(this.filterText!==""){this.filterText="";this.filterTextChanged.emit("")}this.resetFilter();this.hasFilterResults=true};this.handleInputBlurOptions=()=>{setTimeout((()=>{if(this.preventBlurClose){this.preventBlurClose=false;return}if(!this.el.contains(document.activeElement)){this.open=false;if(this.filterable){this.clearFilterText()}}}),150)};this.handleInputContainerClickOptions=e=>{if(this.disabled||this.readonly){return}const t=e.target;if(t.tagName==="P"||t.tagName==="SPAN"){this.open=true;const e=this.el.querySelector(".input-container");if(e){e.classList.add("focus-within");const t=()=>{e.classList.remove("focus-within")};this.popoverElement.addEventListener("hide",t)}}};this.handleInputContainerClickSlots=e=>{if(this.disabled||this.readonly){return}const t=e.target;if(t.tagName==="P"||t.tagName==="SPAN"){this.open=true;const e=this.el.querySelector(".input-container");if(e){e.classList.add("focus-within");const t=()=>{e.classList.remove("focus-within")};this.popoverElement.addEventListener("hide",t)}}};this.handleInputOptions=e=>{if(!this.filterable)return;if(this.disabled||this.readonly){return}const t=e.target;this.filterText=t.value;this.filterTextChanged.emit(this.filterText);if(this.debounceTimer){window.clearTimeout(this.debounceTimer)}this.debounceTimer=window.setTimeout((()=>{this.filterItemsOption()}),this.debounceDelay)};this.handleInputSlots=e=>{if(!this.filterable)return;if(this.disabled||this.readonly)return;const t=e.target;this.filterText=t.value;this.filterTextChanged.emit(this.filterText);if(this.debounceTimer){window.clearTimeout(this.debounceTimer)}this.debounceTimer=window.setTimeout((()=>{this.filterSlotsItems()}),this.debounceDelay)};this.handleInputFocusOptions=()=>{if(this.disabled||this.readonly){return}this.open=true};this.handleInputFocusSlots=()=>{if(this.disabled||this.readonly){return}this.open=true};this.handleInputBlurSlots=()=>{setTimeout((()=>{if(this.preventBlurClose){this.preventBlurClose=false;return}if(!this.el.contains(document.activeElement)){this.open=false;if(this.filterable){this.clearFilterText()}}}),150)};this.togglePopoverOptions=()=>{if(this.disabled||this.readonly){return}this.open=!this.open};this.togglePopoverSlots=()=>{if(this.disabled||this.readonly){return}this.open=!this.open};this.toggleSelectAllOptions=e=>{if(!this.options)return;this.isBulkOperation=true;try{const t=this.getVisibleEnabledOptionItems();if(e){this.value=[...new Set([...this.value,...t])]}else{this.value=this.value.filter((e=>!t.includes(e)))}this.valueChanged.emit(this.value);this.syncChildComponents();this.reorderOptionsContent()}finally{requestAnimationFrame((()=>{this.isBulkOperation=false}))}};this.toggleSelectAllSlots=e=>{if(this.options)return;this.isBulkOperation=true;try{const t=this.getVisibleEnabledSlotItems();if(e){const e=t.map((e=>e.getAttribute("value")||e.getAttribute("label")||"")).filter((e=>e!==""));this.value=[...new Set([...this.value,...e])]}else{const e=t.map((e=>e.getAttribute("value")||e.getAttribute("label")||"")).filter((e=>e!==""));this.value=this.value.filter((t=>!e.includes(t)))}this.valueChanged.emit(this.value);requestAnimationFrame((()=>{this.syncChildComponents();this.reorderSlotContent()}))}finally{requestAnimationFrame((()=>{this.isBulkOperation=false}))}};this.handleSelectAllCheckboxOptionsClick=e=>{e.stopPropagation();e.preventDefault();const t=this.getSelectAllCheckboxStateOptions();const i=t==="unchecked"||t==="indeterminate";this.toggleSelectAllOptions(i)};this.handleSelectAllCheckboxSlotsClick=e=>{e.stopPropagation();e.preventDefault();const t=this.getSelectAllCheckboxStateSlots();const i=t==="unchecked"||t==="indeterminate";this.toggleSelectAllSlots(i)};this.handleMouseDownPreventBlur=()=>{this.preventBlurClose=true};this.renderOptionsMode=()=>{var e,t,o,n;return i(r,{"aria-label":this.label},(this.label||this.el.querySelector('[slot="label"]'))&&i("label",{htmlFor:this.inputId},i("slot",{name:"label"},this.label)),i("nv-popover",{ref:e=>this.popoverElement=e,triggerMode:"controlled",placement:"bottom-start",open:this.open},i("div",{class:"input-wrapper-multiselect",slot:"trigger"},i("slot",{name:"before-input"}),i("div",{class:"input-container-multiselect"},i("slot",{name:"leading-input"}),(((e=this.value)===null||e===void 0?void 0:e.length)||0)>0&&i("nv-badge",{slot:"leading-input","prevent-auto-close":true,color:"10",dismissible:(((t=this.value)===null||t===void 0?void 0:t.length)||0)>0,label:`${((o=this.value)===null||o===void 0?void 0:o.length)||0} ${this.badgeLabel}`,"aria-label":`Clear all ${((n=this.value)===null||n===void 0?void 0:n.length)||0} ${this.badgeLabel} items`,onCloseClicked:this.handleBadgeCloseOptions}),this.filterable||this.disabled||this.readonly?i("input",{type:"text",id:this.inputId,ref:e=>this.inputElement=e,autofocus:this.autofocus,autocomplete:this.autocomplete,placeholder:this.placeholder,name:this.name,value:this.filterText,required:this.required,disabled:this.disabled,readOnly:this.readonly,onInput:this.handleInputOptions,onFocus:this.handleInputFocusOptions,onBlur:this.handleInputBlurOptions,onKeyDown:this.handleKeyDown,"data-scope":"focusable","aria-label":this.label,"aria-controls":`${this.inputId}-listbox`}):i(s,null,i("input",{id:this.inputId,type:"text",style:{position:"absolute",opacity:"0",width:"0",height:"0",pointerEvents:"none"},tabIndex:-1,"aria-hidden":"true",autoComplete:this.autocomplete,name:this.name,onFocus:this.handleInputFocusOptions}),i("p",{id:this.inputId,class:"non-filterable-text",onClick:this.handleInputContainerClickOptions,tabIndex:0,onKeyDown:this.handleKeyDown,onFocus:this.handleInputFocusOptions,"aria-label":this.label,"aria-controls":`${this.inputId}-listbox`,"data-scope":"focusable",role:"button"},i("span",null,this.placeholder))),this.error&&i("nv-icon",{name:"alert-circle",class:"validation",size:"md"}),this.filterable&&this.filterText.length>0&&i("nv-iconbutton",{"data-scope":"clear-filter",name:"x",size:"md",emphasis:"lower","aria-label":"Clear filter text",tabindex:"-1",title:"Clear filter text",onMouseDown:this.handleMouseDownPreventBlur,onClick:this.clearFilterText}),i("nv-iconbutton",{"data-scope":"toggle-dropdown",name:this.open?"chevron-top":"chevron-down",size:"md",emphasis:"lower","aria-label":this.open?"Hide dropdown":"Show dropdown",title:this.open?"Hide dropdown":"Show dropdown",onMouseDown:this.handleMouseDownPreventBlur,onClick:this.togglePopoverOptions})),i("slot",{name:"after-input"})),i("div",{id:`${this.inputId}-listbox`,slot:"content",style:this.maxHeight?{maxHeight:this.maxHeight}:{},onMouseDown:this.handleMouseDownPreventBlur},this.shouldShowToggleAllOptionsButton()&&i("div",{class:"select-all-container"},i("div",{class:"select-all-header"},this.isSelectAllSectionVisible&&i("nv-fieldcheckbox",{checked:this.getSelectAllCheckboxStateOptions()==="checked",indeterminate:this.getSelectAllCheckboxStateOptions()==="indeterminate",label:this.getSelectAllCheckboxStateOptions()==="unchecked"?this.selectAllLabel:this.deselectAllLabel,onMouseDown:this.handleMouseDownPreventBlur,onClick:this.handleSelectAllCheckboxOptionsClick}))),i("ul",{role:"listbox","aria-multiselectable":"true"},this.options.map((e=>i("nv-fielddropdownitemcheck",{role:"option",label:e.label,description:e.description,value:e.value,checked:(this.value||[]).includes(e.value),disabled:e.disabled})))))),this.renderDescriptions())};this.renderSlotsMode=()=>{var e,t,o,n;return i(r,{"aria-label":this.label},(this.label||this.el.querySelector('[slot="label"]'))&&i("label",{htmlFor:this.inputId},i("slot",{name:"label"},this.label)),i("nv-popover",{ref:e=>this.popoverElement=e,triggerMode:"controlled",placement:"bottom-start",open:this.open},i("div",{class:"input-wrapper-multiselect",slot:"trigger"},i("slot",{name:"before-input"}),i("div",{class:"input-container-multiselect",onClick:this.handleInputContainerClickSlots},i("slot",{name:"leading-input"}),(((e=this.value)===null||e===void 0?void 0:e.length)||0)>0&&i("nv-badge",{slot:"leading-input","prevent-auto-close":true,color:"10",dismissible:(((t=this.value)===null||t===void 0?void 0:t.length)||0)>0,label:`${((o=this.value)===null||o===void 0?void 0:o.length)||0} ${this.badgeLabel}`,"aria-label":`Clear all ${((n=this.value)===null||n===void 0?void 0:n.length)||0} ${this.badgeLabel} items`,onCloseClicked:this.handleBadgeCloseSlots}),this.filterable||this.disabled||this.readonly?i("input",{id:this.inputId,ref:e=>this.inputElement=e,autocomplete:this.autocomplete,placeholder:this.placeholder,name:this.name,value:this.filterText,required:this.required,disabled:this.disabled,readOnly:this.readonly,onInput:this.handleInputSlots,onFocus:this.handleInputFocusSlots,onBlur:this.handleInputBlurSlots,onKeyDown:this.handleKeyDown,"data-scope":"focusable","aria-label":this.label,"aria-controls":`${this.inputId}-listbox`}):i(s,null,i("input",{id:this.inputId,type:"text",style:{position:"absolute",opacity:"0",width:"0",height:"0",pointerEvents:"none"},tabIndex:-1,"aria-hidden":"true",autoComplete:this.autocomplete,name:this.name,onFocus:this.handleInputFocusSlots}),i("p",{id:this.inputId,class:"non-filterable-text","aria-label":this.label,onClick:this.handleInputContainerClickSlots,tabIndex:0,onKeyDown:this.handleKeyDown,onFocus:this.handleInputFocusSlots,"aria-controls":`${this.inputId}-listbox`,"data-scope":"focusable",role:"button"},i("span",null,this.placeholder))),this.error&&i("nv-icon",{name:"alert-circle",class:"validation",size:"md"}),this.filterable&&this.filterText.length>0&&i("nv-iconbutton",{name:"x",size:"md",emphasis:"lower",tabindex:"-1",onMouseDown:this.handleMouseDownPreventBlur,onClick:this.clearFilterText,"aria-label":"Clear filter text"}),i("nv-iconbutton",{"data-scope":"toggle-dropdown",name:this.open?"chevron-top":"chevron-down",size:"md",emphasis:"lower","aria-label":this.open?"Hide dropdown":"Show dropdown",title:this.open?"Hide dropdown":"Show dropdown",onMouseDown:this.handleMouseDownPreventBlur,onClick:this.togglePopoverSlots})),i("slot",{name:"after-input"})),i("div",{id:`${this.inputId}-listbox`,slot:"content",style:this.maxHeight?{maxHeight:this.maxHeight}:{},onMouseDown:this.handleMouseDownPreventBlur},this.shouldShowToggleAllSlotButton()&&i("div",{class:"select-all-container"},i("div",{class:"select-all-header"},this.isSelectAllSectionVisible&&i("nv-fieldcheckbox",{checked:this.getSelectAllCheckboxStateSlots()==="checked",indeterminate:this.getSelectAllCheckboxStateSlots()==="indeterminate",label:this.getSelectAllCheckboxStateSlots()==="unchecked"?this.selectAllLabel:this.deselectAllLabel,onMouseDown:this.handleMouseDownPreventBlur,onClick:this.handleSelectAllCheckboxSlotsClick}))),i("slot",{name:"content"}))),this.renderDescriptions())}}handleOptionsChange(e){if(!e)return;if(!this.value||this.value.length===0){this.value=e.filter((e=>e.checked)).map((e=>e.value))}else{e.forEach((e=>{e.checked=(this.value||[]).includes(e.value)}))}this.reorderOptionsContent()}watchValueHandler(){if(this.isBulkOperation){return}if(this.el&&this.el.isConnected){this.syncChildComponents()}if(this.options){this.options.forEach((e=>{e.checked=(this.value||[]).includes(e.value)}))}}handleOpenChange(e){if(e){if(this.options){this.reorderOptionsContent()}else{this.reorderSlotContent()}if(this.filterText){this.filterItems()}}}handleOpenChanged(e){e.stopPropagation();if(e.target===this.popoverElement){if(this.open!==e.detail){this.open=e.detail;if(this.open){if(this.filterText){this.filterItems()}}else{if(this.filterable){this.clearFilterText()}this.handlePopoverClose()}if(this.options){this.reorderOptionsContent()}else{this.reorderSlotContent()}}}}handleItemChecked(e){if(this.disabled||this.readonly||this.isBulkOperation){return}const{value:t,checked:i}=e.detail;if(t!==undefined&&t!==null){const e=[...this.value||[]];const s=e.indexOf(t);let r=false;if(i&&s===-1){e.push(t);r=true}else if(!i&&s>-1){e.splice(s,1);r=true}if(r){this.value=e;this.valueChanged.emit(this.value);this.syncChildComponents()}if(this.filterable&&this.inputElement){this.inputElement.value=this.filterText}}else{console.warn("[Event:itemChecked] Received itemChecked event with undefined or null value")}}handleSlotChange(e){const t=e.target;if(t&&t.name==="content"){requestAnimationFrame((()=>{this.reorderSlotContent()}))}}async handleKeyDown(e){if(e.key==="Escape"){this.open=false;return}if(!this.open){if(e.key==="ArrowDown"){this.open=true;if(!this.filterable){requestAnimationFrame((()=>{this.focusFirstItem()}))}e.preventDefault();return}return}const t=Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck:not([style*="display: none"])'));if(t.length===0){console.warn("No visible items found to navigate");return}let i=t.findIndex((e=>e.classList.contains("highlighted")));if(e.key==="ArrowDown"){e.preventDefault();i=i===-1?0:(i+1)%t.length;this.updateHighlightedItem(t,i)}else if(e.key==="ArrowUp"){e.preventDefault();i=i===-1?t.length-1:(i-1+t.length)%t.length;this.updateHighlightedItem(t,i)}else if(e.key==="Enter"&&i>=0){e.preventDefault();const s=t[i];const r=s.hasAttribute("checked");s.checked=!r;s.dispatchEvent(new MouseEvent("click",{view:window,bubbles:true,cancelable:true}))}else if(e.key==="Escape"){e.preventDefault();e.stopPropagation();const t=async()=>{this.isHandlingEscape=true;if(this.options){this.reorderOptionsContent()}else{this.reorderSlotContent()}await new Promise((e=>setTimeout(e,100)));setTimeout((()=>{this.isHandlingEscape=false;this.open=false}),150);if(this.inputElement){this.inputElement.blur()}};await t()}}connectedCallback(){if(!this._boundHandleClickOutside){this._boundHandleClickOutside=this.handleClickOutside.bind(this)}document.addEventListener("click",this._boundHandleClickOutside)}componentWillLoad(){var e;if(this.options){this.handleOptionsChange(this.options)}if(!this.options){this.initializeValueFromSlots();Promise.resolve().then((()=>{this.syncChildComponents();requestAnimationFrame((()=>{this.reorderSlotContent()}))}))}if(this.options){this.sortedOptions=[...(e=this.options)!==null&&e!==void 0?e:[]]}if(!this.filterText){this.resetFilter()}this.hasFilterResults=true}componentDidLoad(){if(this.options){this.handleOptionsChange(this.options)}this.syncChildComponents();if(!this.options){this.initializeValueFromSlots();this.syncChildComponents()}}disconnectedCallback(){if(this._boundHandleClickOutside){document.removeEventListener("click",this._boundHandleClickOutside)}}async getFilterText(){return this.filterText}async resetFilter(){const e=Array.from(this.el.querySelectorAll("nv-fielddropdownitemcheck"));e.forEach((e=>{e.style.display=""}));const t=this.el.querySelector("ul");if(t){const i=t.querySelector("[data-empty]");if(i)i.remove();const s=e.filter((e=>(this.value||[]).includes(e.getAttribute("value")||"")));const r=e.filter((e=>!(this.value||[]).includes(e.getAttribute("value")||"")));if(s.length>0){this.manageDivider(t,s,r)}}this.hasFilterResults=true}async getSelectedValues(){return this.value}async selectAll(){if(this.disabled||this.readonly)return;if(this.options){this.toggleSelectAllOptions(true)}else{this.toggleSelectAllSlots(true)}}async deselectAll(){if(this.disabled||this.readonly)return;if(this.options){this.toggleSelectAllOptions(false)}else{this.toggleSelectAllSlots(false)}}async toggleSelectAll(){if(this.disabled||this.readonly)return;const e=this.options?this.getSelectAllCheckboxStateOptions():this.getSelectAllCheckboxStateSlots();const t=e==="unchecked"||e==="indeterminate";if(this.options){this.toggleSelectAllOptions(t)}else{this.toggleSelectAllSlots(t)}}reorderSlotContent(){if(this.options)return;const e=this.el.querySelector("ul");if(!e)return;e.querySelectorAll("hr.multiselect-divider").forEach((e=>e.remove()));const t=Array.from(this.el.querySelectorAll("nv-fielddropdownitemcheck")).filter((e=>e.style.display!=="none"));const i=e.querySelector("[data-empty]");if(i){return}const s=t.filter((e=>(this.value||[]).includes(e.getAttribute("value")||"")));const r=t.filter((e=>!(this.value||[]).includes(e.getAttribute("value")||"")));s.forEach((t=>{e.appendChild(t)}));if(s.length>0&&r.length>0){const t=document.createElement("hr");t.className="multiselect-divider";e.appendChild(t)}r.forEach((t=>{e.appendChild(t)}))}reorderOptionsContent(){const e=this.el.querySelector("ul");if(!e)return;const t=Array.from(e.querySelectorAll("nv-fielddropdownitemcheck")).filter((e=>e.style.display!=="none"));const i=t.filter((e=>(this.value||[]).includes(e.getAttribute("value")||"")));const s=t.filter((e=>!(this.value||[]).includes(e.getAttribute("value")||"")));i.forEach((t=>e.appendChild(t)));s.forEach((t=>e.appendChild(t)));this.manageDivider(e,i,s)}filterItems(){const e=this.el.querySelector("ul");if(!e)return;const t=e.querySelector("[data-empty]");if(t){t.remove()}if(!this.filterText.trim()){if(this.options&&this.options.length>0){const t=Array.from(e.querySelectorAll("nv-fielddropdownitemcheck"));t.forEach((e=>{e.style.display=""}))}else{const e=Array.from(this.el.querySelectorAll("nv-fielddropdownitemcheck"));e.forEach((e=>{e.style.display=""}))}const t=Array.from(e.querySelectorAll("nv-fielddropdownitemcheck"));const i=t.filter((e=>(this.value||[]).includes(e.getAttribute("value")||"")));const s=t.filter((e=>!(this.value||[]).includes(e.getAttribute("value")||"")));this.manageDivider(e,i,s);return}const i=this.normalizeText(this.filterText);let s=false;if(this.options&&this.options.length>0){const t=Array.from(e.querySelectorAll("nv-fielddropdownitemcheck"));t.forEach((e=>{const t=this.options.find((t=>t.value===e.getAttribute("value")));if(t&&!t.isDivider){const r=this.normalizeText(t.label).includes(i)||this.normalizeText(t.value).includes(i);e.style.display=r?"":"none";if(r)s=true}}));const r=t.filter((e=>e.style.display!=="none"));const o=r.filter((e=>(this.value||[]).includes(e.getAttribute("value")||"")));const n=r.filter((e=>!(this.value||[]).includes(e.getAttribute("value")||"")));this.manageDivider(e,o,n)}else{const e=Array.from(this.el.querySelectorAll("nv-fielddropdownitemcheck"));e.forEach((e=>{const t=e.getAttribute("label")||"";const r=e.getAttribute("value")||"";const o=e.textContent||"";const n=this.normalizeText(t).includes(i)||this.normalizeText(r).includes(i)||this.normalizeText(o).includes(i);e.style.display=n?"":"none";if(n)s=true}))}if(!s){const t=document.createElement("li");t.setAttribute("data-empty","true");t.textContent=this.emptyResult;t.classList.add("no-results-message");e.appendChild(t)}this.reorderSlotContent()}filterItemsOption(){const e=this.el.querySelector("ul");if(!e)return;const t=this.normalizeText(this.filterText);let i=false;const s=Array.from(e.querySelectorAll("nv-fielddropdownitemcheck"));if(!this.filterText.trim()){this.removeEmptyMessageOption(e);s.forEach((e=>{e.style.display="";e.removeAttribute("aria-hidden")}));this.reorderOptionsContent();this.hasFilterResults=true;return}s.forEach((e=>{const s=this.options.find((t=>t.value===e.getAttribute("value")));if(s&&!s.isDivider){const r=this.normalizeText(s.label).includes(t)||this.normalizeText(s.value).includes(t);e.style.display=r?"":"none";e.setAttribute("aria-hidden",r?"false":"true");if(r)i=true}else{e.style.display="none";e.setAttribute("aria-hidden","true")}}));this.hasFilterResults=i;const r=s.filter((e=>e.style.display!=="none"));const o=r.filter((e=>(this.value||[]).includes(e.getAttribute("value")||"")));const n=r.filter((e=>!(this.value||[]).includes(e.getAttribute("value")||"")));this.manageDivider(e,o,n);if(!i){this.addEmptyMessageOption(e)}else{this.removeEmptyMessageOption(e)}}filterSlotsItems(){if(this.options)return;const e=this.el.querySelector("ul");if(!e)return;const t=e.querySelector("[data-empty]");if(t){t.remove()}if(!this.filterText.trim()){this.resetFilter();this.hasFilterResults=true;return}const i=this.normalizeText(this.filterText);let s=false;const r=Array.from(this.el.querySelectorAll("nv-fielddropdownitemcheck"));r.forEach((e=>{var t;const r=e.getAttribute("label")||"";const o=e.getAttribute("value")||"";const n=((t=e.textContent)===null||t===void 0?void 0:t.trim())||"";const l=this.normalizeText(r).includes(i)||this.normalizeText(o).includes(i)||this.normalizeText(n).includes(i);e.style.display=l?"":"none";if(l)s=true}));this.hasFilterResults=s;const o=r.filter((e=>e.style.display!=="none"));const n=o.filter((e=>(this.value||[]).includes(e.getAttribute("value")||"")));this.manageDivider(e,n,o.filter((e=>!(this.value||[]).includes(e.getAttribute("value")||""))));if(!s){const t=document.createElement("li");t.setAttribute("data-empty","true");t.textContent=this.emptyResult;t.classList.add("no-results-message");e.appendChild(t)}}normalizeText(e){return e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().trim()}handleClickOutside(e){if(this.el.contains(e.target)||this.inputElement&&this.inputElement.contains(e.target)){return}this.open=false}updateHighlightedItem(e,t){e.forEach(((e,i)=>{if(i===t){e.classList.add("highlighted");e.setAttribute("tabindex","0");e.scrollIntoView({block:"nearest"});const t=e.querySelector("nv-fieldcheckbox");if(t){t.focus()}}else{e.classList.remove("highlighted");e.setAttribute("tabindex","-1")}}))}focusFirstItem(){const e=this.el.querySelector('nv-fielddropdownitemcheck:not([style*="display: none"])');if(e){e.setAttribute("tabindex","0");e.classList.add("highlighted");e.scrollIntoView({block:"nearest"});const t=e.querySelector("nv-fieldcheckbox");if(t){t.focus()}}else{console.warn("No visible first item found to focus")}}addEmptyMessageOption(e){const t=e.querySelector("[data-empty]");if(t)return;const i=document.createElement("li");i.setAttribute("data-empty","true");i.textContent=this.emptyResult;i.classList.add("no-results-message");e.appendChild(i)}removeEmptyMessageOption(e){const t=e.querySelector("[data-empty]");if(t)t.remove()}manageDivider(e,t,i){let s=e.querySelector("hr.multiselect-divider");if(!s){s=document.createElement("hr");s.className="multiselect-divider";e.appendChild(s)}const r=t.length>0&&i.length>0;if(r){const e=t[t.length-1];e.after(s);s.style.display=""}else{s.style.display="none"}}syncChildComponents(){if(!this.el||!this.el.isConnected){return}const e=Array.from(this.el.querySelectorAll("nv-fielddropdownitemcheck"));e.forEach((e=>{const t=e.getAttribute("value")||e.getAttribute("label")||"";const i=(this.value||[]).includes(t);if(e.checked!==i){if(this.isBulkOperation){if(i){e.setAttribute("checked","")}else{e.removeAttribute("checked")}e.checked=i}else{e.checked=i}}}))}getVisibleEnabledSlotItems(){const e=Array.from(this.el.querySelectorAll("nv-fielddropdownitemcheck"));return e.filter((e=>{const t=e.style.display==="none";const i=e.hasAttribute("disabled");return!t&&!i}))}getVisibleEnabledOptionItems(){const e=Array.from(this.el.querySelectorAll("nv-fielddropdownitemcheck"));const t=e.filter((e=>{const t=e.style.display==="none"||e.getAttribute("aria-hidden")==="true";const i=e.hasAttribute("disabled")||e.getAttribute("disabled")==="true";return!t&&!i}));return t.map((e=>e.getAttribute("value")||"")).filter((e=>e!==""))}shouldShowToggleAllOptionsButton(){if(!this.options)return false;return this.enableSelectAll&&this.hasFilterResults}getSelectAllCheckboxStateOptions(){if(!this.options)return"unchecked";const e=this.getVisibleEnabledOptionItems();if(e.length===0)return"unchecked";const t=e.filter((e=>(this.value||[]).includes(e)));if(t.length===0)return"unchecked";if(t.length===e.length)return"checked";return"indeterminate"}getSelectAllCheckboxStateSlots(){if(this.options)return"unchecked";const e=this.getVisibleEnabledSlotItems();if(e.length===0)return"unchecked";const t=e.filter((e=>{const t=e.getAttribute("value")||e.getAttribute("label")||"";return t!==""&&(this.value||[]).includes(t)}));if(t.length===0)return"unchecked";if(t.length===e.length)return"checked";return"indeterminate"}shouldShowToggleAllSlotButton(){if(this.options)return false;return this.enableSelectAll&&this.hasFilterResults}initializeValueFromSlots(){const e=Array.from(this.el.querySelectorAll("nv-fielddropdownitemcheck"));const t=e.filter((e=>e.hasAttribute("checked"))).map((e=>e.getAttribute("value")||e.getAttribute("label")||""));this.value=Array.from(new Set([...this.value||[],...t]))}renderDescriptions(){return[(this.description||this.el.querySelector('[slot="description"]'))&&i("div",{class:"description"},i("slot",{name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&i("div",{hidden:!this.error,class:"error-description"},i("slot",{name:"error-description"},this.errorDescription))]}render(){return this.options?this.renderOptionsMode():this.renderSlotsMode()}static get formAssociated(){return true}get el(){return o(this)}static get watchers(){return{options:["handleOptionsChange"],value:["watchValueHandler"],open:["handleOpenChange"]}}};d.style=a;export{d as nv_fieldmultiselect};
2
+ //# sourceMappingURL=p-218135b1.entry.js.map