@nova-design-system/nova-webcomponents 3.6.0 → 3.7.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 (291) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/native.cjs.js +1 -1
  3. package/dist/cjs/nv-accordion-item.cjs.entry.js +2 -2
  4. package/dist/cjs/nv-accordion-item.cjs.entry.js.map +1 -1
  5. package/dist/cjs/nv-accordion.cjs.entry.js +16 -43
  6. package/dist/cjs/nv-accordion.cjs.entry.js.map +1 -1
  7. package/dist/cjs/nv-badge_2.cjs.entry.js +1 -1
  8. package/dist/cjs/nv-badge_2.cjs.entry.js.map +1 -1
  9. package/dist/cjs/nv-calendar.cjs.entry.js +96 -75
  10. package/dist/cjs/nv-calendar.cjs.entry.js.map +1 -1
  11. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +4 -4
  12. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js.map +1 -1
  13. package/dist/cjs/nv-fielddate.cjs.entry.js +26 -5
  14. package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
  15. package/dist/cjs/nv-fielddaterange.cjs.entry.js +32 -4
  16. package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
  17. package/dist/cjs/nv-fielddropdown.cjs.entry.js +3 -3
  18. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
  19. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +14 -6
  20. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
  21. package/dist/cjs/nv-fieldnumber.cjs.entry.js +3 -3
  22. package/dist/cjs/nv-fieldpassword.cjs.entry.js +3 -3
  23. package/dist/cjs/nv-fieldradio.cjs.entry.js +3 -3
  24. package/dist/cjs/nv-fieldselect.cjs.entry.js +5 -5
  25. package/dist/cjs/nv-fieldslider.cjs.entry.js +3 -3
  26. package/dist/cjs/nv-fieldtext.cjs.entry.js +3 -3
  27. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +3 -3
  28. package/dist/cjs/nv-fieldtime.cjs.entry.js +10 -10
  29. package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -1
  30. package/dist/cjs/nv-icon.cjs.entry.js +1 -1
  31. package/dist/cjs/nv-iconbutton_2.cjs.entry.js +2 -2
  32. package/dist/cjs/nv-menu.cjs.entry.js +1 -1
  33. package/dist/cjs/nv-menuitem.cjs.entry.js +1 -1
  34. package/dist/cjs/nv-popover.cjs.entry.js +1 -1
  35. package/dist/cjs/nv-row.cjs.entry.js +1 -1
  36. package/dist/cjs/nv-stack.cjs.entry.js +1 -1
  37. package/dist/cjs/nv-table.cjs.entry.js +2 -2
  38. package/dist/cjs/nv-toggle.cjs.entry.js +2 -2
  39. package/dist/cjs/nv-tooltip.cjs.entry.js +1 -1
  40. package/dist/collection/components/nv-accordion/nv-accordion.docs.js +17 -10
  41. package/dist/collection/components/nv-accordion/nv-accordion.docs.js.map +1 -1
  42. package/dist/collection/components/nv-accordion/nv-accordion.js +23 -55
  43. package/dist/collection/components/nv-accordion/nv-accordion.js.map +1 -1
  44. package/dist/collection/components/nv-accordion-item/nv-accordion-item.js +5 -5
  45. package/dist/collection/components/nv-accordion-item/nv-accordion-item.js.map +1 -1
  46. package/dist/collection/components/nv-calendar/nv-calendar.css +5 -0
  47. package/dist/collection/components/nv-calendar/nv-calendar.js +113 -74
  48. package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -1
  49. package/dist/collection/components/nv-calendar/partials/calendar-grid.js +3 -0
  50. package/dist/collection/components/nv-calendar/partials/calendar-grid.js.map +1 -1
  51. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +6 -4
  52. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js.map +1 -1
  53. package/dist/collection/components/nv-fielddate/nv-fielddate.js +51 -5
  54. package/dist/collection/components/nv-fielddate/nv-fielddate.js.map +1 -1
  55. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +61 -4
  56. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +1 -1
  57. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +3 -3
  58. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +1 -1
  59. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +7 -1
  60. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js.map +1 -1
  61. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +8 -8
  62. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js.map +1 -1
  63. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +14 -6
  64. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
  65. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +3 -3
  66. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +3 -3
  67. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
  68. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +5 -5
  69. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +3 -3
  70. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +3 -3
  71. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -3
  72. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +9 -9
  73. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js.map +1 -1
  74. package/dist/collection/components/nv-fieldtime/styles/nv-fieldtime.css +11 -13
  75. package/dist/collection/components/nv-icon/nv-icon.js +1 -1
  76. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
  77. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  78. package/dist/collection/components/nv-menu/nv-menu.js +1 -1
  79. package/dist/collection/components/nv-menuitem/nv-menuitem.js +1 -1
  80. package/dist/collection/components/nv-popover/nv-popover.js +1 -1
  81. package/dist/collection/components/nv-row/nv-row.js +1 -1
  82. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  83. package/dist/collection/components/nv-table/nv-table.js +2 -2
  84. package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
  85. package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
  86. package/dist/components/nv-accordion-item.js +1 -1
  87. package/dist/components/nv-accordion.js +22 -52
  88. package/dist/components/nv-accordion.js.map +1 -1
  89. package/dist/components/nv-alert.js +1 -1
  90. package/dist/components/nv-avatar.js +1 -1
  91. package/dist/components/nv-badge.js +1 -1
  92. package/dist/components/nv-breadcrumb.js +2 -2
  93. package/dist/components/nv-button.js +1 -1
  94. package/dist/components/nv-calendar.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-fieldcheckbox.js +1 -1
  99. package/dist/components/nv-fielddate.js +34 -12
  100. package/dist/components/nv-fielddate.js.map +1 -1
  101. package/dist/components/nv-fielddaterange.js +40 -11
  102. package/dist/components/nv-fielddaterange.js.map +1 -1
  103. package/dist/components/nv-fielddropdown.js +8 -8
  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 +21 -13
  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 +14 -14
  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 +4 -4
  121. package/dist/components/nv-menuitem.js +1 -1
  122. package/dist/components/nv-popover.js +1 -1
  123. package/dist/components/nv-row.js +1 -1
  124. package/dist/components/nv-stack.js +1 -1
  125. package/dist/components/nv-table.js +2 -2
  126. package/dist/components/nv-toggle.js +2 -2
  127. package/dist/components/nv-tooltip.js +1 -1
  128. package/dist/components/{p-9ed7a440.js → p-0143cee0.js} +5 -5
  129. package/dist/components/p-0143cee0.js.map +1 -0
  130. package/dist/components/{p-d2b4441a.js → p-07550eac.js} +3 -3
  131. package/dist/components/{p-d2b4441a.js.map → p-07550eac.js.map} +1 -1
  132. package/dist/components/{p-f266b533.js → p-12258eef.js} +5 -5
  133. package/dist/components/{p-f266b533.js.map → p-12258eef.js.map} +1 -1
  134. package/dist/components/{p-316ae8e3.js → p-144e80f0.js} +4 -4
  135. package/dist/components/{p-316ae8e3.js.map → p-144e80f0.js.map} +1 -1
  136. package/dist/components/{p-230ad6c5.js → p-44df0d22.js} +7 -7
  137. package/dist/components/p-44df0d22.js.map +1 -0
  138. package/dist/components/{p-8a5b0f74.js → p-5d5668f0.js} +2 -2
  139. package/dist/components/{p-8a5b0f74.js.map → p-5d5668f0.js.map} +1 -1
  140. package/dist/components/{p-618ae85a.js → p-8067d283.js} +2 -2
  141. package/dist/components/{p-618ae85a.js.map → p-8067d283.js.map} +1 -1
  142. package/dist/components/{p-5e89eb9d.js → p-8b82a6f4.js} +7 -7
  143. package/dist/components/{p-5e89eb9d.js.map → p-8b82a6f4.js.map} +1 -1
  144. package/dist/components/{p-9cff2fd1.js → p-91a558eb.js} +2 -2
  145. package/dist/components/{p-9cff2fd1.js.map → p-91a558eb.js.map} +1 -1
  146. package/dist/components/{p-436a0f99.js → p-ba87d9d5.js} +3 -3
  147. package/dist/components/{p-436a0f99.js.map → p-ba87d9d5.js.map} +1 -1
  148. package/dist/components/{p-840858ed.js → p-d32b75ac.js} +99 -77
  149. package/dist/components/p-d32b75ac.js.map +1 -0
  150. package/dist/components/{p-ac76a11c.js → p-d576d64f.js} +4 -4
  151. package/dist/components/{p-ac76a11c.js.map → p-d576d64f.js.map} +1 -1
  152. package/dist/components/{p-f1bbb9e8.js → p-dd7ff995.js} +2 -2
  153. package/dist/components/{p-f1bbb9e8.js.map → p-dd7ff995.js.map} +1 -1
  154. package/dist/components/{p-4864a690.js → p-dfd2d4f0.js} +2 -2
  155. package/dist/components/{p-4864a690.js.map → p-dfd2d4f0.js.map} +1 -1
  156. package/dist/components/{p-190c8f60.js → p-e104c58a.js} +4 -4
  157. package/dist/components/p-e104c58a.js.map +1 -0
  158. package/dist/components/{p-4069966e.js → p-e8e6f88a.js} +2 -2
  159. package/dist/components/{p-4069966e.js.map → p-e8e6f88a.js.map} +1 -1
  160. package/dist/components/{p-79b38dfb.js → p-f97d1cb1.js} +3 -3
  161. package/dist/components/{p-79b38dfb.js.map → p-f97d1cb1.js.map} +1 -1
  162. package/dist/esm/loader.js +1 -1
  163. package/dist/esm/native.js +1 -1
  164. package/dist/esm/nv-accordion-item.entry.js +2 -2
  165. package/dist/esm/nv-accordion-item.entry.js.map +1 -1
  166. package/dist/esm/nv-accordion.entry.js +16 -43
  167. package/dist/esm/nv-accordion.entry.js.map +1 -1
  168. package/dist/esm/nv-badge_2.entry.js +1 -1
  169. package/dist/esm/nv-badge_2.entry.js.map +1 -1
  170. package/dist/esm/nv-calendar.entry.js +96 -75
  171. package/dist/esm/nv-calendar.entry.js.map +1 -1
  172. package/dist/esm/nv-fieldcheckbox.entry.js +4 -4
  173. package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -1
  174. package/dist/esm/nv-fielddate.entry.js +26 -5
  175. package/dist/esm/nv-fielddate.entry.js.map +1 -1
  176. package/dist/esm/nv-fielddaterange.entry.js +32 -4
  177. package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
  178. package/dist/esm/nv-fielddropdown.entry.js +3 -3
  179. package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
  180. package/dist/esm/nv-fieldmultiselect.entry.js +14 -6
  181. package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
  182. package/dist/esm/nv-fieldnumber.entry.js +3 -3
  183. package/dist/esm/nv-fieldpassword.entry.js +3 -3
  184. package/dist/esm/nv-fieldradio.entry.js +3 -3
  185. package/dist/esm/nv-fieldselect.entry.js +5 -5
  186. package/dist/esm/nv-fieldslider.entry.js +3 -3
  187. package/dist/esm/nv-fieldtext.entry.js +3 -3
  188. package/dist/esm/nv-fieldtextarea.entry.js +3 -3
  189. package/dist/esm/nv-fieldtime.entry.js +10 -10
  190. package/dist/esm/nv-fieldtime.entry.js.map +1 -1
  191. package/dist/esm/nv-icon.entry.js +1 -1
  192. package/dist/esm/nv-iconbutton_2.entry.js +2 -2
  193. package/dist/esm/nv-menu.entry.js +1 -1
  194. package/dist/esm/nv-menuitem.entry.js +1 -1
  195. package/dist/esm/nv-popover.entry.js +1 -1
  196. package/dist/esm/nv-row.entry.js +1 -1
  197. package/dist/esm/nv-stack.entry.js +1 -1
  198. package/dist/esm/nv-table.entry.js +2 -2
  199. package/dist/esm/nv-toggle.entry.js +2 -2
  200. package/dist/esm/nv-tooltip.entry.js +1 -1
  201. package/dist/native/native.css +1 -1
  202. package/dist/native/native.esm.js +1 -1
  203. package/dist/native/native.esm.js.map +1 -1
  204. package/dist/native/p-051db87c.entry.js +2 -0
  205. package/dist/native/p-051db87c.entry.js.map +1 -0
  206. package/dist/native/{p-c9cde996.entry.js → p-0e005d95.entry.js} +2 -2
  207. package/dist/native/{p-33e5037d.entry.js → p-10ce53ea.entry.js} +2 -2
  208. package/dist/native/{p-cf468c67.entry.js → p-12039da4.entry.js} +2 -2
  209. package/dist/native/{p-b829383a.entry.js → p-16ef7dd4.entry.js} +2 -2
  210. package/dist/native/{p-0ada0382.entry.js → p-2a6783ca.entry.js} +2 -2
  211. package/dist/native/p-2a6783ca.entry.js.map +1 -0
  212. package/dist/native/{p-ddb0b9f6.entry.js → p-34bf336f.entry.js} +2 -2
  213. package/dist/native/{p-625be06b.entry.js → p-3f139780.entry.js} +2 -2
  214. package/dist/native/{p-c2826f22.entry.js → p-40fa3328.entry.js} +2 -2
  215. package/dist/native/{p-8030c16b.entry.js → p-4b15cff3.entry.js} +2 -2
  216. package/dist/native/{p-0ac03708.entry.js → p-516da423.entry.js} +2 -2
  217. package/dist/native/p-516da423.entry.js.map +1 -0
  218. package/dist/native/{p-f9aa4900.entry.js → p-64cb38e6.entry.js} +2 -2
  219. package/dist/native/{p-bab6d0a5.entry.js → p-67c34b8c.entry.js} +2 -2
  220. package/dist/native/{p-31e72603.entry.js → p-68edb2e8.entry.js} +2 -2
  221. package/dist/native/p-73c08f3b.entry.js +2 -0
  222. package/dist/native/p-73c08f3b.entry.js.map +1 -0
  223. package/dist/native/p-7703c736.entry.js +2 -0
  224. package/dist/native/p-7703c736.entry.js.map +1 -0
  225. package/dist/native/{p-1cce9b24.entry.js → p-916acbd3.entry.js} +2 -2
  226. package/dist/native/p-a50f3850.entry.js +2 -0
  227. package/dist/native/{p-2d23fcea.entry.js → p-a73fa60a.entry.js} +2 -2
  228. package/dist/native/{p-5eca22c7.entry.js → p-b3f9db23.entry.js} +2 -2
  229. package/dist/native/{p-5eca22c7.entry.js.map → p-b3f9db23.entry.js.map} +1 -1
  230. package/dist/native/{p-be67545e.entry.js → p-bba5cc9b.entry.js} +2 -2
  231. package/dist/native/{p-e802fbb8.entry.js → p-bee62b2b.entry.js} +2 -2
  232. package/dist/native/p-dc34da69.entry.js +2 -0
  233. package/dist/native/p-dc34da69.entry.js.map +1 -0
  234. package/dist/native/{p-2576c1a0.entry.js → p-f00a4552.entry.js} +2 -2
  235. package/dist/native/{p-609b3822.entry.js → p-f540db71.entry.js} +2 -2
  236. package/dist/native/{p-fca3e27d.entry.js → p-f687e05c.entry.js} +2 -2
  237. package/dist/native/p-f687e05c.entry.js.map +1 -0
  238. package/dist/native/{p-18831490.entry.js → p-fa81b77f.entry.js} +2 -2
  239. package/dist/native/p-fa81b77f.entry.js.map +1 -0
  240. package/dist/native/{p-e19a8885.entry.js → p-fcd52432.entry.js} +2 -2
  241. package/dist/types/components/nv-accordion/nv-accordion.d.ts +16 -49
  242. package/dist/types/components/nv-accordion-item/nv-accordion-item.d.ts +2 -2
  243. package/dist/types/components/nv-calendar/nv-calendar.d.ts +7 -1
  244. package/dist/types/components/nv-calendar/partials/calendar-grid.d.ts +2 -0
  245. package/dist/types/components/nv-fieldcheckbox/nv-fieldcheckbox.d.ts +2 -0
  246. package/dist/types/components/nv-fielddate/nv-fielddate.d.ts +5 -0
  247. package/dist/types/components/nv-fielddaterange/nv-fielddaterange.d.ts +5 -0
  248. package/dist/types/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.d.ts +6 -0
  249. package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +4 -0
  250. package/dist/types/components.d.ts +56 -10
  251. package/dist/vscode-data.json +1 -5
  252. package/hydrate/index.js +261 -200
  253. package/hydrate/index.mjs +261 -200
  254. package/package.json +1 -1
  255. package/readme.md +6 -0
  256. package/dist/components/p-190c8f60.js.map +0 -1
  257. package/dist/components/p-230ad6c5.js.map +0 -1
  258. package/dist/components/p-840858ed.js.map +0 -1
  259. package/dist/components/p-9ed7a440.js.map +0 -1
  260. package/dist/native/p-0ac03708.entry.js.map +0 -1
  261. package/dist/native/p-0ada0382.entry.js.map +0 -1
  262. package/dist/native/p-12963ae4.entry.js +0 -2
  263. package/dist/native/p-12963ae4.entry.js.map +0 -1
  264. package/dist/native/p-18831490.entry.js.map +0 -1
  265. package/dist/native/p-4cf00884.entry.js +0 -2
  266. package/dist/native/p-4cf00884.entry.js.map +0 -1
  267. package/dist/native/p-5172f17a.entry.js +0 -2
  268. package/dist/native/p-a6dc9b59.entry.js +0 -2
  269. package/dist/native/p-a6dc9b59.entry.js.map +0 -1
  270. package/dist/native/p-fca3e27d.entry.js.map +0 -1
  271. package/dist/native/p-fe4e516b.entry.js +0 -2
  272. package/dist/native/p-fe4e516b.entry.js.map +0 -1
  273. /package/dist/native/{p-c9cde996.entry.js.map → p-0e005d95.entry.js.map} +0 -0
  274. /package/dist/native/{p-33e5037d.entry.js.map → p-10ce53ea.entry.js.map} +0 -0
  275. /package/dist/native/{p-cf468c67.entry.js.map → p-12039da4.entry.js.map} +0 -0
  276. /package/dist/native/{p-b829383a.entry.js.map → p-16ef7dd4.entry.js.map} +0 -0
  277. /package/dist/native/{p-ddb0b9f6.entry.js.map → p-34bf336f.entry.js.map} +0 -0
  278. /package/dist/native/{p-625be06b.entry.js.map → p-3f139780.entry.js.map} +0 -0
  279. /package/dist/native/{p-c2826f22.entry.js.map → p-40fa3328.entry.js.map} +0 -0
  280. /package/dist/native/{p-8030c16b.entry.js.map → p-4b15cff3.entry.js.map} +0 -0
  281. /package/dist/native/{p-f9aa4900.entry.js.map → p-64cb38e6.entry.js.map} +0 -0
  282. /package/dist/native/{p-bab6d0a5.entry.js.map → p-67c34b8c.entry.js.map} +0 -0
  283. /package/dist/native/{p-31e72603.entry.js.map → p-68edb2e8.entry.js.map} +0 -0
  284. /package/dist/native/{p-1cce9b24.entry.js.map → p-916acbd3.entry.js.map} +0 -0
  285. /package/dist/native/{p-5172f17a.entry.js.map → p-a50f3850.entry.js.map} +0 -0
  286. /package/dist/native/{p-2d23fcea.entry.js.map → p-a73fa60a.entry.js.map} +0 -0
  287. /package/dist/native/{p-be67545e.entry.js.map → p-bba5cc9b.entry.js.map} +0 -0
  288. /package/dist/native/{p-e802fbb8.entry.js.map → p-bee62b2b.entry.js.map} +0 -0
  289. /package/dist/native/{p-2576c1a0.entry.js.map → p-f00a4552.entry.js.map} +0 -0
  290. /package/dist/native/{p-609b3822.entry.js.map → p-f540db71.entry.js.map} +0 -0
  291. /package/dist/native/{p-e19a8885.entry.js.map → p-fcd52432.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["nvFielddaterangeCss","NvFielddaterangeStyle0","NvFielddaterange","constructor","hostRef","this","popoverId","uuidv4","startInputId","endInputId","disabled","readonly","required","error","success","autofocus","value","startValue","endValue","open","firstDayOfWeek","numberOfCalendars","min","max","locale","dateFormat","shortcutsPlacement","showActions","fluid","parseUnifiedValue","values","split","map","v","trim","filter","Boolean","length","console","warn","handleClickOutside","event","el","contains","target","handleStartInput","preventDefault","input","valueChanged","emit","dateRangeChange","start","end","calendarElement","removeAttribute","updateCalendarValue","setTimeout","setAttribute","handleEndInput","handleFocus","blur","toggleCalendar","convertToInputmaskFormat","format","formatMap","YYYYMMDD","clear","inputs","querySelectorAll","forEach","inputmask","remove","connectedCallback","document","addEventListener","componentWillLoad","componentDidLoad","inputMask","Inputmask","alias","inputFormat","placeholder","clearIncomplete","showMaskOnHover","showMaskOnFocus","clearMaskOnLostFocus","insertMode","rightAlign","oncomplete","e","CustomEvent","bubbles","dispatchEvent","mask","name","startName","requestAnimationFrame","endName","componentDidRender","disconnectedCallback","removeEventListener","handleRangeDateChange","detail","handleCalendarValueChanged","newValue","handleClosePopover","handleApplyDateRange","handleDateReset","isResetSingle","type","isResetRange","handleKeyDown","key","popoverElement","handleValueChange","onOpenChanged","contentRef","style","transition","maxHeight","scrollHeight","render","h","Host","label","querySelector","htmlFor","ref","id","triggerMode","placement","slot","class","startPlaceholder","readOnly","onInput","onFocus","endPlaceholder","size","emphasis","toString","onClick","tabIndex","shortcuts","showWeekNumbers","disabledDates","selectionType","description","errorDescription","hidden"],"sources":["src/components/nv-fielddaterange/styles/nv-fielddaterange.scss?tag=nv-fielddaterange","src/components/nv-fielddaterange/nv-fielddaterange.tsx"],"sourcesContent":["@import '../../../styles/form-field';\n@import './mixins';\n\nnv-fielddaterange {\n @include form-field-variables();\n @include form-field-root();\n\n &[fluid]:not([fluid='false']) {\n @include form-field-fluid();\n }\n\n &[readonly]:not([readonly='false']) {\n @include form-field-readonly-variables();\n }\n\n &[error]:not([error='false']) {\n @include form-field-error-variables();\n }\n\n &[success]:not([success='false']) {\n @include form-field-success-variables();\n }\n\n &[required]:not([required='false']) label {\n @include form-field-label-required();\n }\n\n label {\n @include form-field-label();\n }\n\n nv-popover {\n width: 100%;\n display: block;\n\n [data-scope='popover'] {\n padding: 0;\n background-color: var(--components-list-dropdown-background);\n border: 1px solid var(--components-list-dropdown-border);\n width: auto;\n }\n\n [slot='content'] {\n display: block;\n width: 100%;\n }\n }\n\n .input-wrapper {\n @include form-field-input-wrapper();\n display: flex;\n align-items: center;\n gap: 8px;\n\n .input-container {\n @include form-field-input-container();\n\n &:focus-within,\n &:focus-within:hover,\n &:focus,\n &:focus:hover {\n box-shadow: none;\n border-color: var(--nv-field-border-default);\n }\n\n input {\n @include form-field-input();\n width: 100%;\n &:focus-within,\n &:focus-within:hover,\n &:focus,\n &:focus:hover {\n outline: var(--focus-outline-stroke) solid var(--nv-field-border-focus);\n outline-offset: 0px;\n & ~ .range-separator {\n background-color: transparent;\n }\n }\n }\n\n > nv-iconbutton {\n @include form-field-action();\n }\n\n nv-icon.validation {\n @include form-field-icon();\n }\n }\n }\n\n .description {\n @include form-field-description();\n }\n\n .error-description {\n @include form-field-error-description();\n }\n\n .range-inputs {\n display: flex;\n align-items: center;\n gap: 0;\n width: 100%;\n\n input {\n flex: 1;\n border: none;\n outline: none;\n padding: 0;\n font-size: var(--form-field-font-size);\n color: var(--components-form-field-content-text);\n background: transparent;\n min-width: 0; // to avoid overflow\n\n &::placeholder {\n color: var(--components-form-field-content-placeholder);\n }\n\n &:disabled {\n cursor: not-allowed;\n color: var(--components-form-field-content-text);\n background-color: var(--components-form-field-background-disabled);\n }\n }\n\n .range-separator {\n @include range-separator();\n }\n }\n}\n","import {\n Component,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n Listen,\n Host,\n Watch,\n Method,\n} from '@stencil/core';\nimport Inputmask from 'inputmask';\nimport { v4 as uuidv4 } from 'uuid';\n\n/**\n * Extends HTMLInputElement to include the inputmask property.\n */\ninterface HTMLInputElementWithInputmask extends HTMLInputElement {\n /**\n * The inputmask instance that provides masking functionality.\n */\n inputmask?: {\n /**\n * Removes the inputmask instance.\n */\n remove: () => void;\n };\n}\n\n/**\n * @slot default - Child content of the component.\n * @slot leading-input - Content to be placed before the input text, within the input container.\n * @slot before-input - Content to be placed before the input text, outside the input container.\n * @slot after-input - Content to be placed after the input text, outside the input container.\n * @slot label - Content to be placed as the label, will override the label prop.\n * @slot description - Content to be placed as the description, will override the description prop.\n * @slot error-description - Content to be placed as the error description, will override the errorDescription prop.\n */\n@Component({\n tag: 'nv-fielddaterange',\n styleUrl: 'styles/nv-fielddaterange.scss',\n shadow: false,\n})\nexport class NvFielddaterange {\n @Element() el!: HTMLNvFielddaterangeElement;\n private popoverElement!: HTMLNvPopoverElement;\n private calendarElement!: HTMLNvCalendarElement;\n private popoverId: string = uuidv4();\n private contentRef?: HTMLDivElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the ID for the start input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated.\n */\n @Prop({ reflect: true })\n readonly startInputId: string = uuidv4();\n\n /**\n * Sets the ID for the end input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated.\n */\n @Prop({ reflect: true })\n readonly endInputId: string = uuidv4();\n\n /**\n * Text displayed as label. A slot label can override this prop.\n */\n @Prop({ reflect: true })\n readonly label: string;\n\n /**\n * Description displayed below the input. A slot description can override this prop.\n */\n @Prop({ reflect: true })\n readonly description: string;\n\n /**\n * Placeholder for the start input field.\n */\n @Prop({ reflect: true })\n readonly startPlaceholder: string;\n\n /**\n * Placeholder for the end input field.\n */\n @Prop({ reflect: true })\n readonly endPlaceholder: string;\n\n /**\n * Name attribute for the start input.\n */\n @Prop({ reflect: true })\n readonly startName: string;\n\n /**\n * Name attribute for the end input.\n */\n @Prop({ reflect: true })\n readonly endName: string;\n\n /**\n * Disables both input fields.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Sets both input fields as read-only.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n /**\n * Marks both input fields as required.\n */\n @Prop({ reflect: true })\n readonly required: boolean = false;\n\n /**\n * Indicates an error state.\n */\n @Prop({ reflect: true })\n readonly error: boolean = false;\n\n /**\n * Error description. A slot error-description can override this prop.\n */\n @Prop({ reflect: true })\n readonly errorDescription?: string;\n\n /**\n * Indicates a success state.\n */\n @Prop({ reflect: true })\n readonly success: boolean = false;\n\n /**\n * Autofocus the start input when the component is mounted.\n */\n @Prop({ reflect: true })\n // eslint-disable-next-line @stencil-community/reserved-member-names\n readonly autofocus: boolean = false;\n\n /**\n * The initial value of the date range (in string format).\n */\n // eslint-disable-next-line @stencil-community/strict-mutable\n @Prop({ reflect: true, mutable: true })\n value: string = '';\n\n /**\n * The current value of the start date in string format.\n */\n @State()\n startValue: string = '';\n\n /**\n * The current value of the end date in string format.\n */\n @State()\n endValue: string = '';\n\n /**\n * Controls the opening of the popover.\n */\n @State()\n open: boolean = false;\n\n /**\n * First day of the week 0 = Sunday, 1 = Monday, etc.\n * @default 1\n */\n @Prop({ reflect: true })\n readonly firstDayOfWeek: number = 1;\n\n /**\n * Number of calendars to display\n * @default 2\n */\n @Prop({ reflect: true })\n readonly numberOfCalendars: number = 2;\n\n /**\n * Minimum date for selection ISO string format, ex: 2025-01-01\n */\n @Prop({ reflect: true })\n readonly min?: string = '';\n\n /**\n * Maximum date for selection ISO string format, ex: 2025-12-31\n */\n @Prop({ reflect: true })\n readonly max?: string = '';\n\n /** Locale for date formatting\n * @default 'en-BE'\n */\n @Prop({ reflect: true })\n readonly locale: string = 'en-BE';\n\n /** Date format ex: YYYY-MM-DD, DD-MM-YYYY, etc.\n * @default 'YYYY-MM-DD'\n */\n @Prop({ reflect: true })\n readonly dateFormat: string = 'YYYY-MM-DD';\n\n /**\n * Footer placement\n * @default 'bottom'\n */\n @Prop({ reflect: true })\n readonly shortcutsPlacement: 'bottom' | 'left' | 'right' = 'bottom';\n\n /**\n * Show action buttons\n * @default false\n */\n @Prop({ reflect: true })\n readonly showActions: boolean = false;\n\n /**\n * Custom actions to display in the footer\n */\n @Prop({ reflect: true })\n readonly shortcuts: HTMLNvCalendarElement['shortcuts'];\n\n /**\n * Show week numbers\n */\n @Prop({ reflect: true })\n readonly showWeekNumbers: boolean;\n\n /**\n * Disabled dates ISO string array\n */\n @Prop({ reflect: true })\n readonly disabledDates: Array<string>;\n\n /**\n * Allows the field to stretch and fill the entire width of its container.\n */\n @Prop({ reflect: true })\n readonly fluid: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Parses the unified value prop and synchronizes with internal state\n * @param {string} value - Value to parse\n */\n private parseUnifiedValue = (value: string): void => {\n if (!value) {\n // Reset all selections\n this.startValue = '';\n this.endValue = '';\n return;\n }\n\n const values = value\n .split(',')\n .map(v => v.trim())\n .filter(Boolean);\n\n if (values.length >= 2) {\n this.startValue = values[0];\n this.endValue = values[1];\n } else {\n // Handle malformed value gracefully\n console.warn(`Invalid date range format: ${value}`);\n this.startValue = '';\n this.endValue = '';\n }\n };\n\n /**\n * Converts the nv-calendar date format to the format expected by Inputmask.\n * @param {string} format - The date format to convert\n * @returns {string} The converted format for Inputmask\n */\n private convertToInputmaskFormat(format: string): string {\n // If the format is not specified, use the default format YYYY-MM-DD\n if (!format) {\n return 'dd/mm/yyyy';\n }\n\n const formatMap = {\n 'YYYY-MM-DD': 'yyyy-mm-dd',\n 'DD/MM/YYYY': 'dd/mm/yyyy',\n 'MM/DD/YYYY': 'mm/dd/yyyy',\n 'DD.MM.YYYY': 'dd.mm.yyyy',\n 'YYYYMMDD': 'yyyymmdd',\n };\n\n return formatMap[format] || 'dd/mm/yyyy';\n }\n\n /**\n * Closes the popover when a click is detected outside the component.\n * @param {MouseEvent} event - The mouse event\n */\n private handleClickOutside = (event: MouseEvent) => {\n if (this.open && this.el && !this.el.contains(event.target as Node)) {\n this.open = false;\n }\n };\n\n /**\n * Handles the input event on the start input element.\n * @param {Event} event - The input event\n */\n private handleStartInput = (event: Event) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n return;\n }\n const input = event.target as HTMLInputElement;\n this.startValue = input.value;\n\n // Update unified value prop\n this.value = `${input.value},${this.endValue}`;\n this.valueChanged.emit(this.value);\n\n // Legacy support (deprecated)\n this.dateRangeChange.emit({ start: input.value, end: this.endValue });\n\n // Temporarily enable navigation for keyboard input\n if (this.calendarElement) {\n this.calendarElement.removeAttribute('data-prevent-navigation');\n this.updateCalendarValue();\n // Restore navigation prevention after update\n setTimeout(() => {\n if (this.calendarElement) {\n this.calendarElement.setAttribute('data-prevent-navigation', 'true');\n }\n }, 100);\n }\n };\n\n /**\n * Handles the input event on the end input element.\n * @param {Event} event - The input event\n */\n private handleEndInput = (event: Event) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n return;\n }\n const input = event.target as HTMLInputElement;\n this.endValue = input.value;\n\n // Update unified value prop\n this.value = `${this.startValue},${input.value}`;\n this.valueChanged.emit(this.value);\n\n // Legacy support (deprecated)\n this.dateRangeChange.emit({ start: this.startValue, end: input.value });\n\n // Temporarily enable navigation for keyboard input\n if (this.calendarElement) {\n this.calendarElement.removeAttribute('data-prevent-navigation');\n this.updateCalendarValue();\n // Restore navigation prevention after update\n setTimeout(() => {\n if (this.calendarElement) {\n this.calendarElement.setAttribute('data-prevent-navigation', 'true');\n }\n }, 100);\n }\n };\n\n /**\n * Update the calendar's rangeValue property without forcing month change\n */\n private updateCalendarValue() {\n if (this.calendarElement && this.startValue && this.endValue) {\n // Store the current calendar state\n }\n }\n\n /**\n * Handles focus events on the input elements.\n * @param {FocusEvent} event - The focus event\n */\n private handleFocus = (event: FocusEvent) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n (event.target as HTMLElement).blur();\n return;\n }\n\n // Enable navigation on focus\n if (this.calendarElement) {\n this.calendarElement.removeAttribute('data-prevent-navigation');\n }\n\n this.open = true;\n\n // Restore navigation prevention after opening\n setTimeout(() => {\n if (this.calendarElement) {\n this.calendarElement.setAttribute('data-prevent-navigation', 'true');\n }\n }, 300);\n };\n\n /**\n * Toggles the opening/closing of the popover.\n */\n private toggleCalendar = () => {\n if (this.readonly || this.disabled) {\n return;\n }\n this.open = !this.open;\n };\n\n /**\n * Clears the current selection and resets the date range field to its initial state.\n * This method can be called programmatically to reset the field.\n */\n @Method()\n async clear(): Promise<void> {\n // Reset internal state\n this.startValue = '';\n this.endValue = '';\n this.value = '';\n\n // Reset both input elements\n const inputs = this.el.querySelectorAll('.input-wrapper input');\n inputs.forEach((input: HTMLInputElement) => {\n input.value = '';\n // Remove input mask if exists\n if ((input as HTMLInputElementWithInputmask).inputmask) {\n (input as HTMLInputElementWithInputmask).inputmask.remove();\n }\n });\n\n // Emit events to notify about the change\n this.valueChanged.emit('');\n this.dateRangeChange.emit({ start: '', end: '' });\n\n // Close the popover if open\n this.open = false;\n\n // Clear the calendar if it exists\n if (this.calendarElement) {\n this.calendarElement.clear();\n }\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n connectedCallback() {\n document.addEventListener('click', this.handleClickOutside);\n }\n\n componentWillLoad() {\n if (this.value) {\n // Use the unified parsing method\n this.parseUnifiedValue(this.value);\n }\n }\n\n componentDidLoad() {\n const inputs = this.el.querySelectorAll('.input-wrapper input');\n inputs.forEach((input: HTMLInputElement) => {\n const inputMask = new Inputmask({\n alias: 'datetime',\n inputFormat: this.convertToInputmaskFormat(this.dateFormat),\n placeholder: this.convertToInputmaskFormat(this.dateFormat),\n clearIncomplete: false,\n showMaskOnHover: false,\n showMaskOnFocus: false,\n clearMaskOnLostFocus: false,\n insertMode: true,\n rightAlign: false,\n oncomplete: function (e) {\n const input = e.target as HTMLInputElement;\n const event = new CustomEvent('input', { bubbles: true });\n input.dispatchEvent(event);\n },\n });\n inputMask.mask(input);\n\n // Set the value after applying the mask\n if (input.name === this.startName && this.startValue) {\n requestAnimationFrame(() => {\n input.value = this.startValue;\n const event = new CustomEvent('input', { bubbles: true });\n input.dispatchEvent(event);\n });\n } else if (input.name === this.endName && this.endValue) {\n requestAnimationFrame(() => {\n input.value = this.endValue;\n const event = new CustomEvent('input', { bubbles: true });\n input.dispatchEvent(event);\n });\n }\n });\n }\n\n componentDidRender() {\n const inputs = this.el.querySelectorAll('.input-wrapper input');\n inputs.forEach((input: HTMLInputElement) => {\n const value =\n input.name === this.startName\n ? this.startValue\n : this.endName\n ? this.endValue\n : '';\n if (value) {\n // Make sure the value is defined both as a property and attribute\n requestAnimationFrame(() => {\n input.value = value;\n input.setAttribute('value', value);\n });\n }\n });\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.handleClickOutside);\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the date range changes.\n */\n @Event()\n dateRangeChange: EventEmitter<\n HTMLNvCalendarElementEventMap['rangeDateChange']\n >;\n\n /**\n * Emitted when the unified value changes\n * @bind value\n */\n @Event()\n valueChanged: EventEmitter<string>;\n\n /**\n * Handles the range date selection event from nv-calendar.\n * @param {CustomEvent<DateRange>} event - The custom event\n */\n @Listen('rangeDateChange')\n handleRangeDateChange(\n event: CustomEvent<HTMLNvCalendarElementEventMap['rangeDateChange']>,\n ) {\n const { start, end } = event.detail || {};\n\n // Check that both dates are defined\n if (start && end) {\n this.startValue = start;\n this.endValue = end;\n\n // Update unified value prop (like nv-calendar)\n this.value = `${start},${end}`;\n this.valueChanged.emit(this.value);\n\n // Legacy support (deprecated)\n this.dateRangeChange.emit({\n start: this.startValue,\n end: this.endValue,\n });\n\n if (!this.showActions) {\n this.open = false;\n }\n }\n }\n\n /**\n * Handles the unified value change event from nv-calendar\n * @param {CustomEvent<string>} event - The custom event\n */\n @Listen('valueChanged')\n handleCalendarValueChanged(event: CustomEvent<string>) {\n const newValue = event.detail || '';\n\n if (newValue !== this.value) {\n this.value = newValue;\n this.valueChanged.emit(newValue);\n\n // Parse and update internal state\n this.parseUnifiedValue(newValue);\n\n // Legacy support - emit dateRangeChange\n this.dateRangeChange.emit({\n start: this.startValue,\n end: this.endValue,\n });\n }\n }\n\n @Listen('closePopover')\n handleClosePopover() {\n this.open = false;\n }\n\n @Listen('applyDateRange')\n handleApplyDateRange() {\n this.open = false;\n }\n\n /**\n * Handles the reset event from the calendar's cancel button\n * @param {CustomEvent} event - The event emitted by the calendar\n */\n @Listen('singleDateChange')\n @Listen('rangeDateChange')\n handleDateReset(event: CustomEvent) {\n const isResetSingle =\n event.type === 'singleDateChange' && event.detail === '';\n const isResetRange =\n event.type === 'rangeDateChange' &&\n event.detail &&\n event.detail.start === '' &&\n event.detail.end === '';\n\n if (isResetSingle || isResetRange) {\n this.startValue = '';\n this.endValue = '';\n\n // Update unified value prop\n this.value = '';\n this.valueChanged.emit('');\n\n const inputs = this.el.querySelectorAll('.input-wrapper input');\n inputs.forEach((input: HTMLInputElement) => {\n input.value = '';\n });\n\n // Legacy support (deprecated)\n this.dateRangeChange.emit({ start: '', end: '' });\n }\n }\n\n /**\n * Handles keyboard events.\n * @param {KeyboardEvent} event - The keyboard event\n */\n @Listen('keydown', { passive: false })\n handleKeyDown(event: KeyboardEvent) {\n if (!this.open) {\n if (event.key === 'ArrowDown') {\n this.open = true;\n event.preventDefault();\n return;\n }\n return;\n }\n\n if (!this.popoverElement) {\n console.warn('nv-fielddaterange -> Popover element is not defined');\n return;\n }\n }\n\n @Watch('value')\n handleValueChange(newValue: string) {\n // Use the unified parsing method instead of JSON.parse\n this.parseUnifiedValue(newValue);\n }\n\n @Watch('open')\n onOpenChanged(newValue: boolean) {\n if (this.contentRef) {\n if (newValue) {\n this.contentRef.style.transition = 'none';\n this.contentRef.style.maxHeight = '0px';\n void this.contentRef.offsetHeight;\n requestAnimationFrame(() => {\n this.contentRef.style.transition =\n 'max-height 0.18s cubic-bezier(0.4,0,0.2,1)';\n this.contentRef.style.maxHeight = this.contentRef.scrollHeight + 'px';\n });\n } else {\n this.contentRef.style.transition = 'none';\n this.contentRef.style.maxHeight = this.contentRef.scrollHeight + 'px';\n void this.contentRef.offsetHeight;\n requestAnimationFrame(() => {\n this.contentRef.style.transition =\n 'max-height 0.18s cubic-bezier(0.4,0,0.2,1)';\n this.contentRef.style.maxHeight = '0px';\n });\n }\n }\n }\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n {((this.label && this.label.length > 0) ||\n this.el.querySelector('[slot=\"label\"]')) && (\n <label htmlFor={this.startInputId}>\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n <nv-popover\n ref={el => (this.popoverElement = el as HTMLNvPopoverElement)}\n id={this.popoverId}\n triggerMode=\"controlled\"\n placement=\"bottom-start\"\n open={this.open}\n >\n <div slot=\"trigger\" class=\"input-wrapper\">\n <slot name=\"before-input\"></slot>\n\n <div class=\"input-container\">\n <slot name=\"leading-input\"></slot>\n\n <div class=\"range-inputs\">\n <input\n id={this.startInputId}\n type=\"text\"\n placeholder={this.startPlaceholder}\n name={this.startName}\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n autofocus={this.autofocus}\n value={this.startValue}\n onInput={this.handleStartInput}\n onFocus={this.handleFocus}\n data-scope=\"date-range\"\n />\n\n <div class=\"range-separator\"></div>\n\n <input\n id={this.endInputId}\n type=\"text\"\n placeholder={this.endPlaceholder}\n name={this.endName}\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n value={this.endValue}\n onInput={this.handleEndInput}\n onFocus={this.handleFocus}\n data-scope=\"date-range\"\n />\n </div>\n\n {this.error && (\n <nv-icon name=\"alert-circle\" class=\"validation\" size=\"md\" />\n )}\n {this.success && (\n <nv-icon name=\"circle-check\" class=\"validation\" size=\"md\" />\n )}\n\n <nv-iconbutton\n class=\"toggle-calendar-icon\"\n name=\"calendar\"\n size=\"md\"\n emphasis=\"lower\"\n aria-label={this.open ? 'Hide calendar' : 'Show calendar'}\n aria-pressed={this.open.toString()}\n onClick={this.toggleCalendar}\n tabIndex={this.disabled ? -1 : 0}\n />\n </div>\n\n <slot name=\"after-input\"></slot>\n </div>\n\n <div slot=\"content\">\n <nv-calendar\n ref={el => (this.calendarElement = el as HTMLNvCalendarElement)}\n dateFormat={this.dateFormat}\n value={this.value}\n firstDayOfWeek={this.firstDayOfWeek}\n numberOfCalendars={this.numberOfCalendars}\n min={this.min}\n max={this.max}\n locale={this.locale}\n shortcutsPlacement={this.shortcutsPlacement}\n showActions={this.showActions}\n shortcuts={this.shortcuts}\n showWeekNumbers={this.showWeekNumbers}\n disabledDates={this.disabledDates}\n selectionType=\"range\"\n data-prevent-navigation=\"true\"\n ></nv-calendar>\n </div>\n </nv-popover>\n\n {((this.description && this.description.length > 0) ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n\n {(this.errorDescription ||\n this.el.querySelector('[slot=\"error-description\"]')) && (\n <div hidden={!this.error} class=\"error-description\">\n {this.el.querySelector('[slot=\"error-description\"]') ? (\n <slot name=\"error-description\"></slot>\n ) : (\n this.errorDescription\n )}\n </div>\n )}\n\n <slot></slot>\n </Host>\n );\n }\n //#endregion RENDER\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as e,c as o,h as i,H as c,g as n}from"./p-d0a33e64.js";import{c as t}from"./p-8a1a6e56.js";import{v as r}from"./p-f5ff676c.js";const a='nv-fieldcheckbox{--nv-fieldcheckbox-border-default:var(\n --components-form-field-border-default\n );--nv-fieldcheckbox-border-hover:var(--components-form-field-border-hover);--nv-fieldcheckbox-border-focus:var(--components-form-field-border-default);--nv-fieldcheckbox-background-default:var(\n --components-form-field-background-default\n );--nv-fieldcheckbox-background-checked:var(\n --components-form-field-background-checked\n );--nv-fieldcheckbox-background-disabled:var(\n --components-form-field-background-disabled\n );--nv-fieldcheckbox-focus-box-shadow:var(--color-focus-brand);--nv-fieldcheckbox-color-checked:var(\n --components-form-shape-foreground-default\n );--nv-fieldcheckbox-color-disabled:var(\n --components-form-shape-foreground-disabled\n );--nv-fieldcheckbox-outline-color:var(--color-focus-brand);display:inline-flex;align-items:flex-start;gap:var(--form-gap-x);position:relative}nv-fieldcheckbox:not([disabled],[readonly]) input,nv-fieldcheckbox:not([disabled],[readonly]) label{cursor:pointer}nv-fieldcheckbox.error>.input-container{--nv-fieldcheckbox-border-default:var(--components-form-field-border-error);--nv-fieldcheckbox-border-hover:var(--nv-fieldcheckbox-border-default);--nv-fieldcheckbox-border-focus:var(--components-form-field-border-error);--nv-fieldcheckbox-focus-box-shadow:var(--color-focus-destructive);--nv-fieldcheckbox-color-disabled:var(\n --components-form-shape-foreground-disabled-error\n );--nv-fieldcheckbox-background-checked:var(\n --components-form-field-background-error\n );--nv-fieldcheckbox-outline-color:var(--color-focus-destructive)}nv-fieldcheckbox.label-placement-before{flex-direction:row-reverse}nv-fieldcheckbox[disabled]:not([disabled=false]){opacity:0.5}nv-fieldcheckbox>.input-container{position:relative;color:var(--nv-fieldcheckbox-color-checked)}nv-fieldcheckbox>.input-container input[type=checkbox][readonly]{opacity:0.5}nv-fieldcheckbox>.input-container:has(input[type=checkbox]:disabled:not([readonly])){color:var(--nv-fieldcheckbox-color-disabled)}nv-fieldcheckbox>.input-container input[type=checkbox]{appearance:none;position:relative;display:flex;width:var(--form-checkbox-size);height:var(--form-checkbox-size);flex-direction:column;align-items:flex-start;border-radius:var(--form-checkbox-radius);border-width:var(--form-checkbox-border-width);border-style:solid;border-color:var(--nv-fieldcheckbox-border-default);background:var(--nv-fieldcheckbox-background-default)}nv-fieldcheckbox>.input-container input[type=checkbox]:hover{border-color:var(--nv-fieldcheckbox-border-hover)}nv-fieldcheckbox>.input-container input[type=checkbox]:focus{border-color:var(--nv-fieldcheckbox-border-focus)}nv-fieldcheckbox>.input-container input[type=checkbox]:focus,nv-fieldcheckbox>.input-container input[type=checkbox]:focus-within{outline:none}nv-fieldcheckbox>.input-container input[type=checkbox]:focus-visible,nv-fieldcheckbox>.input-container input[type=checkbox]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--nv-fieldcheckbox-outline-color);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-fieldcheckbox>.input-container input[type=checkbox]:checked,nv-fieldcheckbox>.input-container input[type=checkbox]:indeterminate{background:var(--nv-fieldcheckbox-background-checked);border-color:var(--nv-fieldcheckbox-background-checked)}nv-fieldcheckbox>.input-container input[type=checkbox]:disabled:not([readonly]){background:var(--nv-fieldcheckbox-background-disabled);border-color:var(--nv-fieldcheckbox-border-default)}nv-fieldcheckbox>.input-container input[type=checkbox][readonly]{opacity:0.5}nv-fieldcheckbox>.input-container .icon{pointer-events:none;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}nv-fieldcheckbox>.input-container .icon svg{width:var(--form-checkbox-icon-size);height:var(--form-checkbox-icon-size);fill:none;stroke:currentcolor;stroke-width:var(--form-checkbox-icon-stroke);flex-shrink:0}nv-fieldcheckbox>.text-container{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0}nv-fieldcheckbox>.text-container label{align-self:stretch;color:var(--components-form-text-label-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:var(--form-label-font-weight);line-height:var(--form-label-line-height)}nv-fieldcheckbox>.text-container label.visually-hidden{position:absolute;padding:0;border:0;overflow:hidden;white-space:nowrap;width:1px;height:1px;margin:-1px;clip:rect(0, 0, 0, 0)}nv-fieldcheckbox>.text-container .description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;font-weight:var(--form-description-font-weight);line-height:var(--form-description-line-height)}nv-fieldcheckbox>.text-container .error-description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;font-weight:var(--form-description-font-weight);line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}';const d=a;const s=class{constructor(i){e(this,i);this.checkedChanged=o(this,"checkedChanged",7);this.labelBefore=false;this.inputId=r();this.hideLabel=false;this.error=false;this.checked=false;this.indeterminate=false;this.disabled=false;this.readonly=false;this.required=false;this.autofocus=false}handleChange(e){const o=e.target;if(o.type==="checkbox"&&o.id===this.inputId){if(this.readonly||this.disabled){e.preventDefault();return}if(this.indeterminate){this.indeterminate=false}this.checked=o.checked}}onCheckedChanged(e){this.checkedChanged.emit(e)}componentWillRender(){if(this.message){this.description=this.message}if(this.labelBefore){this.labelPlacement="before"}if(this.validation){this.errorDescription=this.validation;this.error=true}}render(){return i(c,{key:"cfb710b2af0ea4442d1c2011d8414c6987a98117",class:t(this.labelPlacement==="before"&&"label-placement-before",this.error&&"error")},i("div",{key:"a463fa87357a91d71941a265d3daf735abf3a36f",class:"input-container"},i("input",{key:"0dd7db02107246b427a1e78d8c36068debff85bd",type:"checkbox",id:this.inputId,name:this.name,autofocus:this.autofocus,autocomplete:"off",value:this.value,checked:Boolean(this.checked),disabled:this.disabled||this.readonly,readonly:this.readonly&&!this.required,required:this.required,indeterminate:this.indeterminate,ref:e=>{if(e){e.indeterminate=this.indeterminate}}}),i("span",{key:"a7ee7c812df54bbf91ac6c92e786d4895faa29d4",class:"icon"},this.checked&&!this.indeterminate&&i("slot",{key:"fe06ae9b2416f08c1889c86d47d0207af6ded057",name:"checked-icon"},i("svg",{key:"96a1c7a8113f160e4c9fc4ec23ad28f1359151b4",xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 14 14",fill:"none"},i("path",{key:"37c61f5f7cda8c91f1f5d44781b8326c216eca2a",d:"M11.6667 3.5L5.25004 9.91667L2.33337 7","stroke-linecap":"round","stroke-linejoin":"round"}))),this.indeterminate&&i("slot",{key:"276fcac2c23f7f278aa1576fa1f79393263812a6",name:"indeterminate-icon"},i("svg",{key:"fcc8e138e98413b0e30e7744f7eeb1e72ca69876",class:"indeterminate-svg",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 14 14",fill:"none"},i("path",{key:"d6b6146dc3d3ff52939d644439f8eb92ba9aad64",d:"M2.9165 7H11.0832","stroke-linecap":"round","stroke-linejoin":"round"}))))),i("div",{key:"a13aa3a0a671e6442e0c46c267596deb494d4da9",class:"text-container"},(this.label||this.el.querySelector('[slot="label"]'))&&i("label",{key:"2c2aa68889b6cdd278a99872364336c54f71e96a",htmlFor:this.inputId,class:t(this.hideLabel&&"visually-hidden")},i("slot",{key:"edd654aa92145a0f24fb56b447c8f6d7839fb329",name:"label"},this.label)),(this.description||this.el.querySelector('[slot="description"]'))&&i("div",{key:"1c4fe0f3c27aa59ed6059c91abb7ad060f21baf5",class:"description"},i("slot",{key:"109955006fefe62ec784bd5d6f3642efc732eb51",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&i("div",{key:"b86fae37461b9afca6168b8d049293efb395828f",hidden:!this.error,class:"error-description"},i("slot",{key:"6225f886e6aee38026a4aaf93644a76e70b7ee01",name:"error-description"},this.errorDescription))))}static get formAssociated(){return true}get el(){return n(this)}static get watchers(){return{checked:["onCheckedChanged"]}}};s.style=d;export{s as nv_fieldcheckbox};
2
- //# sourceMappingURL=p-18831490.entry.js.map
1
+ import{r as e,c as o,h as c,H as i,g as n}from"./p-d0a33e64.js";import{c as t}from"./p-8a1a6e56.js";import{v as r}from"./p-f5ff676c.js";const a='nv-fieldcheckbox{--nv-fieldcheckbox-border-default:var(\n --components-form-field-border-default\n );--nv-fieldcheckbox-border-hover:var(--components-form-field-border-hover);--nv-fieldcheckbox-border-focus:var(--components-form-field-border-default);--nv-fieldcheckbox-background-default:var(\n --components-form-field-background-default\n );--nv-fieldcheckbox-background-checked:var(\n --components-form-field-background-checked\n );--nv-fieldcheckbox-background-disabled:var(\n --components-form-field-background-disabled\n );--nv-fieldcheckbox-focus-box-shadow:var(--color-focus-brand);--nv-fieldcheckbox-color-checked:var(\n --components-form-shape-foreground-default\n );--nv-fieldcheckbox-color-disabled:var(\n --components-form-shape-foreground-disabled\n );--nv-fieldcheckbox-outline-color:var(--color-focus-brand);display:inline-flex;align-items:flex-start;gap:var(--form-gap-x);position:relative}nv-fieldcheckbox:not([disabled],[readonly]) input,nv-fieldcheckbox:not([disabled],[readonly]) label{cursor:pointer}nv-fieldcheckbox.error>.input-container{--nv-fieldcheckbox-border-default:var(--components-form-field-border-error);--nv-fieldcheckbox-border-hover:var(--nv-fieldcheckbox-border-default);--nv-fieldcheckbox-border-focus:var(--components-form-field-border-error);--nv-fieldcheckbox-focus-box-shadow:var(--color-focus-destructive);--nv-fieldcheckbox-color-disabled:var(\n --components-form-shape-foreground-disabled-error\n );--nv-fieldcheckbox-background-checked:var(\n --components-form-field-background-error\n );--nv-fieldcheckbox-outline-color:var(--color-focus-destructive)}nv-fieldcheckbox.label-placement-before{flex-direction:row-reverse}nv-fieldcheckbox[disabled]:not([disabled=false]){opacity:0.5}nv-fieldcheckbox>.input-container{position:relative;color:var(--nv-fieldcheckbox-color-checked)}nv-fieldcheckbox>.input-container input[type=checkbox][readonly]{opacity:0.5}nv-fieldcheckbox>.input-container:has(input[type=checkbox]:disabled:not([readonly])){color:var(--nv-fieldcheckbox-color-disabled)}nv-fieldcheckbox>.input-container input[type=checkbox]{appearance:none;position:relative;display:flex;width:var(--form-checkbox-size);height:var(--form-checkbox-size);flex-direction:column;align-items:flex-start;border-radius:var(--form-checkbox-radius);border-width:var(--form-checkbox-border-width);border-style:solid;border-color:var(--nv-fieldcheckbox-border-default);background:var(--nv-fieldcheckbox-background-default)}nv-fieldcheckbox>.input-container input[type=checkbox]:hover{border-color:var(--nv-fieldcheckbox-border-hover)}nv-fieldcheckbox>.input-container input[type=checkbox]:focus{border-color:var(--nv-fieldcheckbox-border-focus)}nv-fieldcheckbox>.input-container input[type=checkbox]:focus,nv-fieldcheckbox>.input-container input[type=checkbox]:focus-within{outline:none}nv-fieldcheckbox>.input-container input[type=checkbox]:focus-visible,nv-fieldcheckbox>.input-container input[type=checkbox]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--nv-fieldcheckbox-outline-color);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-fieldcheckbox>.input-container input[type=checkbox]:checked,nv-fieldcheckbox>.input-container input[type=checkbox]:indeterminate{background:var(--nv-fieldcheckbox-background-checked);border-color:var(--nv-fieldcheckbox-background-checked)}nv-fieldcheckbox>.input-container input[type=checkbox]:disabled:not([readonly]){background:var(--nv-fieldcheckbox-background-disabled);border-color:var(--nv-fieldcheckbox-border-default)}nv-fieldcheckbox>.input-container input[type=checkbox][readonly]{opacity:0.5}nv-fieldcheckbox>.input-container .icon{pointer-events:none;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}nv-fieldcheckbox>.input-container .icon svg{width:var(--form-checkbox-icon-size);height:var(--form-checkbox-icon-size);fill:none;stroke:currentcolor;stroke-width:var(--form-checkbox-icon-stroke);flex-shrink:0}nv-fieldcheckbox>.text-container{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0}nv-fieldcheckbox>.text-container label{align-self:stretch;color:var(--components-form-text-label-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:var(--form-label-font-weight);line-height:var(--form-label-line-height)}nv-fieldcheckbox>.text-container label.visually-hidden{position:absolute;padding:0;border:0;overflow:hidden;white-space:nowrap;width:1px;height:1px;margin:-1px;clip:rect(0, 0, 0, 0)}nv-fieldcheckbox>.text-container .description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;font-weight:var(--form-description-font-weight);line-height:var(--form-description-line-height)}nv-fieldcheckbox>.text-container .error-description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;font-weight:var(--form-description-font-weight);line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}';const d=a;const s=class{constructor(c){e(this,c);this.checkedChanged=o(this,"checkedChanged",7);this.labelBefore=false;this.inputId=r();this.hideLabel=false;this.error=false;this.checked=false;this.indeterminate=false;this.disabled=false;this.readonly=false;this.required=false;this.autofocus=false}handleChange(e){const o=e.target;if(o.type==="checkbox"&&o.id===this.inputId){if(this.readonly||this.disabled){e.preventDefault();return}if(this.indeterminate){this.indeterminate=false}this.checked=o.checked}}onCheckedChanged(e){this.checkedChanged.emit(e)}componentWillRender(){if(this.message){this.description=this.message}if(this.labelBefore){this.labelPlacement="before"}if(this.validation){this.errorDescription=this.validation;this.error=true}}render(){return c(i,{key:"46e0688340e1cda23f1fdbefb349fbaa8bb188f2",class:t(this.labelPlacement==="before"&&"label-placement-before",this.error&&"error")},c("div",{key:"5769e3e61f69b7a9821864aab6338b13b46db4cc",class:"input-container"},c("input",{key:"0acc841c8583ca1d0781135b95a038703b3be516",type:"checkbox",id:this.inputId,name:this.name,autofocus:this.autofocus,autocomplete:"off",value:this.value,checked:Boolean(this.checked),disabled:this.disabled||this.readonly,readonly:this.readonly&&!this.required,required:this.required,indeterminate:this.indeterminate,ref:e=>{if(e){e.indeterminate=this.indeterminate}}}),c("span",{key:"a2bdc7fa16b4cb5e266c1666746f88b462ef6bbc",class:"icon"},this.checked&&!this.indeterminate&&c("slot",{key:"aa00b58bb2fb2132b4b355568bbecafbf14d9536",name:"checked-icon"},c("svg",{key:"3d7e92b03fc0ebc0676a5f5a011e0a5f16bb06d9",xmlns:"http://www.w3.org/2000/svg",width:"14",height:"14",viewBox:"0 0 14 14",fill:"none"},c("path",{key:"28170c912acd9442af03c889afc10d348657a84b",d:"M11.6667 3.5L5.25004 9.91667L2.33337 7","stroke-linecap":"round","stroke-linejoin":"round"}))),this.indeterminate&&c("slot",{key:"790eca10b1eea865ecde7be45c00ae3bbf65132b",name:"indeterminate-icon"},c("svg",{key:"a00b2e00c2e2038dd1d67c43aef4f30e5d7a27e7",class:"indeterminate-svg",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 14 14",fill:"none"},c("path",{key:"6e7eb5f117a0244594392a52f932a91056093168",d:"M2.9165 7H11.0832","stroke-linecap":"round","stroke-linejoin":"round"}))))),c("slot",{key:"4c11bb2b8078adc0d7d5f3c52c2525bc836ad075"}),c("div",{key:"323cab79ca6e047df5482d75490ba7288eef5e27",class:"text-container"},c("slot",{key:"5bc6845d98ee06117b97588e71467ce106e1ab60",name:"main"},(this.label||this.el.querySelector('[slot="label"]'))&&c("label",{key:"ce639cb27b8ea446f2a0d73a36c3c9541bde9ab8",htmlFor:this.inputId,class:t(this.hideLabel&&"visually-hidden")},c("slot",{key:"cd4b650b2f1b064b65211e90fdddff15b0d6f1f4",name:"label"},this.label)),(this.description||this.el.querySelector('[slot="description"]'))&&c("div",{key:"7de730e025d5eeae626bbe64125479dc9ebb4332",class:"description"},c("slot",{key:"2c2f6343838ffff29e1e920ae927d89e9a63f02e",name:"description"},this.description))),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&c("div",{key:"b49fd559c3bf84e814da0093f9af64e62510725d",hidden:!this.error,class:"error-description"},c("slot",{key:"b15a968201d8ef5ea5e764beac553cf8ca0b87d3",name:"error-description"},this.errorDescription))))}static get formAssociated(){return true}get el(){return n(this)}static get watchers(){return{checked:["onCheckedChanged"]}}};s.style=d;export{s as nv_fieldcheckbox};
2
+ //# sourceMappingURL=p-fa81b77f.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["nvFieldcheckboxCss","NvFieldcheckboxStyle0","NvFieldcheckbox","constructor","hostRef","this","labelBefore","inputId","uuidv4","hideLabel","error","checked","indeterminate","disabled","readonly","required","autofocus","handleChange","event","target","type","id","preventDefault","onCheckedChanged","checkedChanged","emit","componentWillRender","message","description","labelPlacement","validation","errorDescription","render","h","Host","key","class","clsx","name","autocomplete","value","Boolean","ref","el","xmlns","width","height","viewBox","fill","d","label","querySelector","htmlFor","hidden"],"sources":["src/components/nv-fieldcheckbox/nv-fieldcheckbox.scss?tag=nv-fieldcheckbox","src/components/nv-fieldcheckbox/nv-fieldcheckbox.tsx"],"sourcesContent":["@use \"../../styles/utils\" as utils;\n@import '../../styles/focus-ring';\n\n@mixin fieldcheckbox-variables() {\n --nv-fieldcheckbox-border-default: var(\n --components-form-field-border-default\n );\n --nv-fieldcheckbox-border-hover: var(--components-form-field-border-hover);\n --nv-fieldcheckbox-border-focus: var(--components-form-field-border-default);\n --nv-fieldcheckbox-background-default: var(\n --components-form-field-background-default\n );\n --nv-fieldcheckbox-background-checked: var(\n --components-form-field-background-checked\n );\n --nv-fieldcheckbox-background-disabled: var(\n --components-form-field-background-disabled\n );\n --nv-fieldcheckbox-focus-box-shadow: var(--color-focus-brand);\n --nv-fieldcheckbox-color-checked: var(\n --components-form-shape-foreground-default\n );\n --nv-fieldcheckbox-color-disabled: var(\n --components-form-shape-foreground-disabled\n );\n --nv-fieldcheckbox-outline-color: var(--color-focus-brand);\n}\n\n@mixin fieldcheckbox-error-variables() {\n --nv-fieldcheckbox-border-default: var(--components-form-field-border-error);\n --nv-fieldcheckbox-border-hover: var(--nv-fieldcheckbox-border-default);\n --nv-fieldcheckbox-border-focus: var(--components-form-field-border-error);\n --nv-fieldcheckbox-focus-box-shadow: var(--color-focus-destructive);\n --nv-fieldcheckbox-color-disabled: var(\n --components-form-shape-foreground-disabled-error\n );\n --nv-fieldcheckbox-background-checked: var(\n --components-form-field-background-error\n );\n --nv-fieldcheckbox-outline-color: var(--color-focus-destructive);\n}\n\n@mixin root-styles() {\n display: inline-flex;\n align-items: flex-start;\n gap: var(--form-gap-x);\n position: relative;\n\n &:not([disabled], [readonly]) {\n input,\n label {\n cursor: pointer;\n }\n }\n}\n\n@mixin label-before-styles() {\n flex-direction: row-reverse;\n}\n\n@mixin label-styles() {\n align-self: stretch;\n color: var(--components-form-text-label-default);\n font-family: 'TT Norms Pro', sans-serif;\n font-size: var(--form-label-font-size);\n font-style: normal;\n font-weight: var(--form-label-font-weight);\n line-height: var(--form-label-line-height);\n}\n\n@mixin description-styles() {\n align-self: stretch;\n color: var(--components-form-text-description-default);\n font-family: 'TT Norms Pro', sans-serif;\n font-size: var(--form-description-font-size);\n font-style: normal;\n font-weight: var(--form-description-font-weight);\n line-height: var(--form-description-line-height);\n}\n\n@mixin error-description-styles() {\n @include description-styles();\n\n color: var(--components-form-text-description-error);\n}\n\n@mixin text-container-styles() {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n flex: 1 0 0;\n}\n\n@mixin input-container-styles() {\n position: relative;\n color: var(--nv-fieldcheckbox-color-checked);\n\n input[type='checkbox'][readonly] {\n // TODO: Find a way to use the --components-form-opacity-disabled variable properly, right now it outputs a value of 50px instead of 0.5.\n opacity: 0.5;\n }\n\n &:has(input[type='checkbox']:disabled:not([readonly])) {\n color: var(--nv-fieldcheckbox-color-disabled);\n }\n}\n\n@mixin input-styles() {\n appearance: none;\n position: relative;\n display: flex;\n width: var(--form-checkbox-size);\n height: var(--form-checkbox-size);\n flex-direction: column;\n align-items: flex-start;\n border-radius: var(--form-checkbox-radius);\n border-width: var(--form-checkbox-border-width);\n border-style: solid;\n border-color: var(--nv-fieldcheckbox-border-default);\n background: var(--nv-fieldcheckbox-background-default);\n\n &:hover {\n border-color: var(--nv-fieldcheckbox-border-hover);\n }\n\n &:focus {\n border-color: var(--nv-fieldcheckbox-border-focus);\n }\n\n @include focus-ring(var(--nv-fieldcheckbox-outline-color));\n\n &:checked,\n &:indeterminate {\n background: var(--nv-fieldcheckbox-background-checked);\n border-color: var(--nv-fieldcheckbox-background-checked);\n }\n\n &:disabled:not([readonly]) {\n background: var(--nv-fieldcheckbox-background-disabled);\n border-color: var(--nv-fieldcheckbox-border-default);\n }\n\n &[readonly] {\n // TODO: Find a way to use the --components-form-opacity-disabled variable properly, right now it outputs a value of 50px instead of 0.5.\n opacity: 0.5;\n }\n}\n\n@mixin icon-styles() {\n pointer-events: none;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n\n svg {\n width: var(--form-checkbox-icon-size);\n height: var(--form-checkbox-icon-size);\n fill: none;\n stroke: currentcolor;\n stroke-width: var(--form-checkbox-icon-stroke);\n flex-shrink: 0;\n }\n}\n\nnv-fieldcheckbox {\n @include fieldcheckbox-variables();\n @include root-styles();\n\n &.error > .input-container {\n @include fieldcheckbox-error-variables();\n }\n\n &.label-placement-before {\n @include label-before-styles();\n }\n\n &[disabled]:not([disabled='false']) {\n // TODO: Find a way to use the --components-form-opacity-disabled variable properly, right now it outputs a value of 50px instead of 0.5.\n opacity: 0.5;\n }\n\n > .input-container {\n @include input-container-styles();\n\n input[type='checkbox'] {\n @include input-styles();\n }\n\n .icon {\n @include icon-styles();\n }\n }\n\n > .text-container {\n @include text-container-styles();\n\n label {\n @include label-styles();\n &.visually-hidden {\n @include utils.visually-hidden();\n }\n }\n\n .description {\n @include description-styles();\n }\n\n .error-description {\n @include error-description-styles();\n }\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Watch,\n Event,\n EventEmitter,\n Listen,\n} from '@stencil/core';\nimport clsx from 'clsx';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { type LabelPlacement } from '../../utils/constants';\n\n/**\n * @slot default - Next to the label and description.\n * @slot main - Replaces the label and description.\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 * @slot checked-icon - Content to be placed as the checked icon, will override the checkedIcon prop.\n * @slot indeterminate-icon - Content to be placed as the indeterminate icon, will override the indeterminateIcon prop.\n */\n@Component({\n tag: 'nv-fieldcheckbox',\n styleUrl: 'nv-fieldcheckbox.scss',\n formAssociated: true,\n shadow: false,\n})\nexport class NvFieldcheckbox {\n @Element() el!: HTMLNvFieldcheckboxElement;\n\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Message define a 'hint ' message for the Field.\n * @deprecated Use `description` instead.\n * */\n @Prop({ reflect: true })\n readonly message?: string;\n\n /**\n * The text for the validation message.\n * @deprecated Use `errorDescription` and set the error prop instead.\n * */\n @Prop({ reflect: true })\n readonly validation?: string;\n\n /**\n * When true, the label will be placed before the checkbox.\n * @deprecated Use `labelPlacement = end` instead.\n * */\n @Prop({ reflect: true })\n readonly labelBefore?: boolean = false;\n\n //#endregion DEPRECATED\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the ID for the radio button’s input element and the for attribute of\n * the associated label. If no ID is provided, a random one will be\n * automatically generated to ensure unique identification, facilitating\n * proper label association and accessibility.\n */\n @Prop({ reflect: true })\n readonly inputId: string = uuidv4();\n\n /**\n * The name attribute for the checkbox input, used to reference the form data\n * after submission.\n */\n @Prop({ reflect: true })\n readonly name?: string;\n\n /**\n * The value attribute of the checkbox input, representing the value sent on\n * form submission when the checkbox is checked. When the form is submitted,\n * the data will consist of a name=value pair.\n */\n @Prop({ reflect: true })\n readonly value?: string;\n\n /**\n * The label displayed next to the checkbox.\n */\n @Prop({ reflect: true })\n readonly label?: string;\n\n /**\n * Determines the position of the label relative to the checkbox, either\n * 'start' (before) or 'end' (after).\n */\n @Prop({ reflect: true, mutable: true })\n labelPlacement: `${LabelPlacement}`;\n\n /**\n * Hides the label visually while still keeping it available for screen\n * readers.\n */\n @Prop({ reflect: true })\n readonly hideLabel: boolean = false;\n\n /**\n * A description providing additional context or information about the\n * checkbox.\n */\n @Prop({ reflect: true, mutable: true })\n description?: string;\n\n /**\n * Signals that there is an error associated with the checkbox, which can\n * trigger visual cues.\n * @validator error\n */\n @Prop({ reflect: true, mutable: true })\n error: boolean = false;\n\n /**\n * A description that appears when there is an error related to the checkbox.\n * @validator message\n */\n @Prop({ reflect: true, mutable: true })\n errorDescription?: string;\n\n /**\n * Indicates whether the checkbox is checked or not.\n */\n @Prop({ reflect: true, mutable: true })\n checked: boolean = false;\n\n /**\n * Indicates whether the checkbox is in an indeterminate state, typically used\n * for hierarchical checkboxes.\n */\n @Prop({ reflect: true, mutable: true })\n indeterminate: boolean = false;\n\n /**\n * Disables the checkbox, preventing user interaction.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Sets the checkbox to read-only, preventing user changes but still allowing\n * focus and selection of text.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n /**\n * Marks the checkbox as required, indicating that it must be checked for\n * form submission.\n */\n @Prop({ reflect: true })\n readonly required: boolean = false;\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 //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emits when the checked state changes.\n * @bind checked\n */\n @Event()\n checkedChanged: EventEmitter<boolean>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region LISTENERS\n\n /**\n * Listens for the change event on the checkbox input element and updates the\n * checked state.\n * @param {Event} event - The change event.\n */\n @Listen('change')\n handleChange(event: Event) {\n const target = event.target as HTMLInputElement;\n\n if (target.type === 'checkbox' && target.id === this.inputId) {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n return;\n }\n\n if (this.indeterminate) {\n this.indeterminate = false;\n }\n\n this.checked = target.checked;\n }\n }\n\n //#endregion LISTENERS\n /****************************************************************************/\n //#region WATCHERS\n\n /**\n * Watches for changes to the checked state and emits the new value.\n * @param {boolean} checked - The new value of the checked state.\n */\n @Watch('checked')\n onCheckedChanged(checked: boolean) {\n this.checkedChanged.emit(checked);\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillRender() {\n if (this.message) {\n this.description = this.message;\n }\n\n if (this.labelBefore) {\n this.labelPlacement = 'before';\n }\n\n if (this.validation) {\n this.errorDescription = this.validation;\n this.error = true;\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n class={clsx(\n this.labelPlacement === 'before' && 'label-placement-before',\n this.error && 'error',\n )}\n >\n <div class=\"input-container\">\n <input\n type=\"checkbox\"\n id={this.inputId}\n name={this.name}\n autofocus={this.autofocus}\n autocomplete=\"off\"\n value={this.value}\n checked={Boolean(this.checked)}\n disabled={this.disabled || this.readonly}\n readonly={this.readonly && !this.required}\n required={this.required}\n indeterminate={this.indeterminate}\n ref={el => {\n if (el) {\n el.indeterminate = this.indeterminate;\n }\n }}\n />\n <span class=\"icon\">\n {this.checked && !this.indeterminate && (\n <slot name=\"checked-icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n >\n <path\n d=\"M11.6667 3.5L5.25004 9.91667L2.33337 7\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </slot>\n )}\n {this.indeterminate && (\n <slot name=\"indeterminate-icon\">\n <svg\n class=\"indeterminate-svg\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n >\n <path\n d=\"M2.9165 7H11.0832\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </slot>\n )}\n </span>\n </div>\n\n <slot></slot>\n\n <div class=\"text-container\">\n <slot name=\"main\">\n {(this.label || this.el.querySelector('[slot=\"label\"]')) && (\n <label\n htmlFor={this.inputId}\n class={clsx(this.hideLabel && 'visually-hidden')}\n >\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\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 </slot>\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 </div>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as e,c as r,h as o,H as d,g as i}from"./p-d0a33e64.js";import{c as a}from"./p-8a1a6e56.js";import{v as t}from"./p-f5ff676c.js";const n='nv-fieldradio{--nv-fieldradio-border-default:var(--components-form-field-border-default);--nv-fieldradio-border-hover:var(--components-form-field-border-hover);--nv-fieldradio-border-focus:var(--components-form-field-border-default);--nv-fieldradio-background-default:var(--components-form-field-background-default);--nv-fieldradio-background-checked:var(--components-form-field-background-checked);--nv-fieldradio-background-disabled:var(--components-form-field-background-disabled);--nv-fieldradio-focus-box-shadow:var(--color-focus-brand);--nv-fieldradio-dot-color-checked:var(--components-form-shape-foreground-default);--nv-fieldradio-dot-color-disabled:var(--components-form-shape-foreground-disabled);--nv-fieldradio-outline-color:var(--color-focus-brand);display:inline-flex;align-items:flex-start;gap:var(--form-gap-x)}nv-fieldradio:not([disabled]) input,nv-fieldradio:not([disabled]) label,nv-fieldradio[disabled=false] input,nv-fieldradio[disabled=false] label{cursor:pointer}nv-fieldradio.error{--nv-fieldradio-border-default:var(--components-form-field-border-error);--nv-fieldradio-border-hover:var(--nv-fieldradio-border-default);--nv-fieldradio-border-focus:var(--components-form-field-border-error);--nv-fieldradio-background-checked:var(--components-form-field-background-error);--nv-fieldradio-focus-box-shadow:var(--color-focus-destructive);--nv-fieldradio-dot-color-checked:var(--components-form-shape-foreground-default);--nv-fieldradio-dot-color-disabled:var(--components-form-field-border-error);--nv-fieldradio-outline-color:var(--color-focus-destructive)}nv-fieldradio.label-placement-before{flex-direction:row-reverse}nv-fieldradio[disabled]{opacity:0.5}nv-fieldradio label{align-self:stretch;color:var(--components-form-text-label-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:var(--form-label-font-weight);line-height:var(--form-label-line-height)}nv-fieldradio input[type=radio]{appearance:none;position:relative;display:flex;width:var(--form-radio-size);height:var(--form-radio-size);padding:var(--form-radio-inner-circle-padding);flex-direction:column;align-items:flex-start;border-radius:var(--radius-rounded-full);border-width:var(--form-radio-border-width);border-style:solid;border-color:var(--nv-fieldradio-border-default);background:var(--nv-fieldradio-background-default)}nv-fieldradio input[type=radio]:hover{border-color:var(--nv-fieldradio-border-hover)}nv-fieldradio input[type=radio]:focus{border-color:var(--nv-fieldradio-border-focus)}nv-fieldradio input[type=radio]:focus,nv-fieldradio input[type=radio]:focus-within{outline:none}nv-fieldradio input[type=radio]:focus-visible,nv-fieldradio input[type=radio]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--nv-fieldradio-outline-color);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-fieldradio input[type=radio]:checked{background:var(--nv-fieldradio-background-checked);border-color:var(--nv-fieldradio-background-checked)}nv-fieldradio input[type=radio]:checked:hover,nv-fieldradio input[type=radio]:checked:focus{border-color:var(--nv-fieldradio-background-checked);background:var(--nv-fieldradio-background-checked)}nv-fieldradio input[type=radio]:checked::before{content:"";position:absolute;top:50%;right:50%;transform:translate(50%, -50%);left:0;width:var(--form-radio-inner-circle-size);height:var(--form-radio-inner-circle-size);flex-shrink:0;border-radius:var(--radius-rounded-full);background:var(--nv-fieldradio-dot-color-checked)}nv-fieldradio input[type=radio]:disabled{border-radius:var(--radius-rounded-full);border-width:var(--form-radio-border-width);border-style:solid;border-color:var(--nv-fieldradio-border-default);background:var(--nv-fieldradio-background-disabled)}nv-fieldradio input[type=radio]:disabled:checked::before{background:var(--nv-fieldradio-dot-color-disabled)}nv-fieldradio input[type=radio]:disabled:hover{border-color:var(--nv-fieldradio-border-default);background:var(--nv-fieldradio-background-disabled)}nv-fieldradio .description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;font-weight:var(--form-description-font-weight);line-height:var(--form-description-line-height)}nv-fieldradio .error-description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;font-weight:var(--form-description-font-weight);line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}nv-fieldradio .text-container{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0}';const l=n;const f=class{constructor(o){e(this,o);this.checkedChanged=r(this,"checkedChanged",7);this.labelBefore=false;this.inputId=t();this.error=false;this.checked=false;this.disabled=false;this.autofocus=false}componentWillRender(){if(this.message){this.description=this.message}if(this.labelBefore){this.labelPlacement="before"}}handleCheckedChange(e){this.checkedChanged.emit(e)}handleChange(e){const r=e.target;if((r===null||r===void 0?void 0:r.type)==="radio"){Array.from(document.getElementsByTagName("nv-fieldradio")).forEach((e=>{if(e.name===this.name){e.checked=false}}));this.checked=r.checked}}render(){return o(d,{key:"abfa20ef5921ee52cbe6c3ea92b27bbd4e81a116",class:a(this.labelPlacement==="before"&&"label-placement-before",this.error&&"error")},o("input",{key:"ffa244c2692f3f4b3781df6ed3916139763d3253",type:"radio",id:this.inputId,name:this.name,autofocus:this.autofocus,autocomplete:"off",value:this.value,checked:this.checked,disabled:this.disabled}),o("div",{key:"661ccebfcd608d3d5a819144c1048b7b612d93ad",class:"text-container"},(this.label||this.el.querySelector('[slot="label"]'))&&o("label",{key:"0764fffd0b6c961d3149130fd92fc3e5be4617d4",htmlFor:this.inputId},o("slot",{key:"5b5c107074f406864f889187a73c3b6c25b5ad36",name:"label"},this.label)),(this.description||this.el.querySelector('[slot="description"]'))&&o("div",{key:"68bb23249fc70db7346e4deb1924e24fd0e43133",class:"description"},o("slot",{key:"fee77e49f6a48f592eba370f8e842cc3c51a9569",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&o("div",{key:"0544f59d2446dd3d1137839643222ae1d32236a2",hidden:!this.error,class:"error-description"},o("slot",{key:"655fbb4ca21e3001425dcfbb6d9188586e0548ca",name:"error-description"},this.errorDescription))))}static get formAssociated(){return true}get el(){return i(this)}static get watchers(){return{checked:["handleCheckedChange"]}}};f.style=l;export{f as nv_fieldradio};
2
- //# sourceMappingURL=p-e19a8885.entry.js.map
1
+ import{r as e,c as r,h as o,H as i,g as d}from"./p-d0a33e64.js";import{c as a}from"./p-8a1a6e56.js";import{v as t}from"./p-f5ff676c.js";const n='nv-fieldradio{--nv-fieldradio-border-default:var(--components-form-field-border-default);--nv-fieldradio-border-hover:var(--components-form-field-border-hover);--nv-fieldradio-border-focus:var(--components-form-field-border-default);--nv-fieldradio-background-default:var(--components-form-field-background-default);--nv-fieldradio-background-checked:var(--components-form-field-background-checked);--nv-fieldradio-background-disabled:var(--components-form-field-background-disabled);--nv-fieldradio-focus-box-shadow:var(--color-focus-brand);--nv-fieldradio-dot-color-checked:var(--components-form-shape-foreground-default);--nv-fieldradio-dot-color-disabled:var(--components-form-shape-foreground-disabled);--nv-fieldradio-outline-color:var(--color-focus-brand);display:inline-flex;align-items:flex-start;gap:var(--form-gap-x)}nv-fieldradio:not([disabled]) input,nv-fieldradio:not([disabled]) label,nv-fieldradio[disabled=false] input,nv-fieldradio[disabled=false] label{cursor:pointer}nv-fieldradio.error{--nv-fieldradio-border-default:var(--components-form-field-border-error);--nv-fieldradio-border-hover:var(--nv-fieldradio-border-default);--nv-fieldradio-border-focus:var(--components-form-field-border-error);--nv-fieldradio-background-checked:var(--components-form-field-background-error);--nv-fieldradio-focus-box-shadow:var(--color-focus-destructive);--nv-fieldradio-dot-color-checked:var(--components-form-shape-foreground-default);--nv-fieldradio-dot-color-disabled:var(--components-form-field-border-error);--nv-fieldradio-outline-color:var(--color-focus-destructive)}nv-fieldradio.label-placement-before{flex-direction:row-reverse}nv-fieldradio[disabled]{opacity:0.5}nv-fieldradio label{align-self:stretch;color:var(--components-form-text-label-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:var(--form-label-font-weight);line-height:var(--form-label-line-height)}nv-fieldradio input[type=radio]{appearance:none;position:relative;display:flex;width:var(--form-radio-size);height:var(--form-radio-size);padding:var(--form-radio-inner-circle-padding);flex-direction:column;align-items:flex-start;border-radius:var(--radius-rounded-full);border-width:var(--form-radio-border-width);border-style:solid;border-color:var(--nv-fieldradio-border-default);background:var(--nv-fieldradio-background-default)}nv-fieldradio input[type=radio]:hover{border-color:var(--nv-fieldradio-border-hover)}nv-fieldradio input[type=radio]:focus{border-color:var(--nv-fieldradio-border-focus)}nv-fieldradio input[type=radio]:focus,nv-fieldradio input[type=radio]:focus-within{outline:none}nv-fieldradio input[type=radio]:focus-visible,nv-fieldradio input[type=radio]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--nv-fieldradio-outline-color);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-fieldradio input[type=radio]:checked{background:var(--nv-fieldradio-background-checked);border-color:var(--nv-fieldradio-background-checked)}nv-fieldradio input[type=radio]:checked:hover,nv-fieldradio input[type=radio]:checked:focus{border-color:var(--nv-fieldradio-background-checked);background:var(--nv-fieldradio-background-checked)}nv-fieldradio input[type=radio]:checked::before{content:"";position:absolute;top:50%;right:50%;transform:translate(50%, -50%);left:0;width:var(--form-radio-inner-circle-size);height:var(--form-radio-inner-circle-size);flex-shrink:0;border-radius:var(--radius-rounded-full);background:var(--nv-fieldradio-dot-color-checked)}nv-fieldradio input[type=radio]:disabled{border-radius:var(--radius-rounded-full);border-width:var(--form-radio-border-width);border-style:solid;border-color:var(--nv-fieldradio-border-default);background:var(--nv-fieldradio-background-disabled)}nv-fieldradio input[type=radio]:disabled:checked::before{background:var(--nv-fieldradio-dot-color-disabled)}nv-fieldradio input[type=radio]:disabled:hover{border-color:var(--nv-fieldradio-border-default);background:var(--nv-fieldradio-background-disabled)}nv-fieldradio .description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;font-weight:var(--form-description-font-weight);line-height:var(--form-description-line-height)}nv-fieldradio .error-description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;font-weight:var(--form-description-font-weight);line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}nv-fieldradio .text-container{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0}';const l=n;const f=class{constructor(o){e(this,o);this.checkedChanged=r(this,"checkedChanged",7);this.labelBefore=false;this.inputId=t();this.error=false;this.checked=false;this.disabled=false;this.autofocus=false}componentWillRender(){if(this.message){this.description=this.message}if(this.labelBefore){this.labelPlacement="before"}}handleCheckedChange(e){this.checkedChanged.emit(e)}handleChange(e){const r=e.target;if((r===null||r===void 0?void 0:r.type)==="radio"){Array.from(document.getElementsByTagName("nv-fieldradio")).forEach((e=>{if(e.name===this.name){e.checked=false}}));this.checked=r.checked}}render(){return o(i,{key:"5721fd4ffd6d8b1392e65d0b8eaea4dea241be63",class:a(this.labelPlacement==="before"&&"label-placement-before",this.error&&"error")},o("input",{key:"c54d8952edb57e34016a85ba2b6b9c7fc2a20a37",type:"radio",id:this.inputId,name:this.name,autofocus:this.autofocus,autocomplete:"off",value:this.value,checked:this.checked,disabled:this.disabled}),o("div",{key:"e80c6c12fbf461776822185109e05aea5a6c954b",class:"text-container"},(this.label||this.el.querySelector('[slot="label"]'))&&o("label",{key:"0f89b274c7ee7ea7d2e3116a004575176d044b5b",htmlFor:this.inputId},o("slot",{key:"04b04fbc8ad5a199def48e728c74f13e7230414d",name:"label"},this.label)),(this.description||this.el.querySelector('[slot="description"]'))&&o("div",{key:"e5c5048c50d0089393a29f12eb09f0ae26aedcfc",class:"description"},o("slot",{key:"6902044f273d508a79a66a3f185fc4a9ac48e94f",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&o("div",{key:"8d388b64deccd2f398485dfa0b83d70b8c50ae47",hidden:!this.error,class:"error-description"},o("slot",{key:"c5237272b97c754d2745eb62a85519f2c14dfb27",name:"error-description"},this.errorDescription))))}static get formAssociated(){return true}get el(){return d(this)}static get watchers(){return{checked:["handleCheckedChange"]}}};f.style=l;export{f as nv_fieldradio};
2
+ //# sourceMappingURL=p-fcd52432.entry.js.map
@@ -1,36 +1,4 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- /**
3
- * Interface defining the structure of an accordion item
4
- */
5
- export interface AccordionItem {
6
- /** Unique identifier of the item */
7
- id: string;
8
- /** Item title */
9
- title: string;
10
- /** Optional subtitle */
11
- subtitle?: string;
12
- /** Main content */
13
- content: string;
14
- /** Optional footer */
15
- footer?: string;
16
- /** Disabled state */
17
- disabled?: boolean;
18
- }
19
- /**
20
- * Interface for nv-accordion-item component props
21
- */
22
- export interface AccordionItemProps {
23
- /** Item title (displayed if header slot is absent) */
24
- itemtitle?: string;
25
- /** Item subtitle (displayed if header slot is absent) */
26
- subtitle?: string;
27
- /** Open or closed */
28
- open?: boolean;
29
- /** Disables the item */
30
- disabled?: boolean;
31
- /** Parent expansion mode (accordion or multi) */
32
- mode?: 'accordion' | 'multi';
33
- }
34
2
  /**
35
3
  * @slot default - Slot for custom content (optional, ignored if data is provided)
36
4
  */
@@ -38,15 +6,21 @@ export declare class NvAccordion {
38
6
  /****************************************************************************/
39
7
  /**
40
8
  * Data to display as a list of items (title, subtitle, content).
41
- * Must be provided as a JSON string containing an array of items with:
42
- * - title: main title (required)
43
- * - subtitle: subtitle (optional)
44
- * - content: main content (required)
45
- * - footer: footer (optional)
46
- * - disabled: disables the item (optional)
47
- * - id: unique identifier (optional)
48
9
  */
49
- readonly data: string;
10
+ readonly data: {
11
+ /** Unique identifier of the item */
12
+ id: string;
13
+ /** Item title */
14
+ title: string;
15
+ /** Optional subtitle */
16
+ subtitle?: string;
17
+ /** Main content */
18
+ content: string;
19
+ /** Optional footer */
20
+ footer?: string;
21
+ /** Disabled state */
22
+ disabled?: boolean;
23
+ }[];
50
24
  /**
51
25
  * Expansion mode: 'accordion' (single open) or 'multi' (multiple open)
52
26
  */
@@ -60,10 +34,6 @@ export declare class NvAccordion {
60
34
  * Internal index of open items (not exposed)
61
35
  */
62
36
  internalOpenIndexes: number[];
63
- /**
64
- * Parsed data from data prop
65
- */
66
- private parsedData;
67
37
  /**
68
38
  * Reference to host element to access children
69
39
  */
@@ -72,7 +42,7 @@ export declare class NvAccordion {
72
42
  /**
73
43
  * Event emitted when an item's open state changes
74
44
  */
75
- nvChange: EventEmitter<{
45
+ openChanged: EventEmitter<{
76
46
  /** Index of open items */
77
47
  openIndexes: number[];
78
48
  }>;
@@ -103,13 +73,10 @@ export declare class NvAccordion {
103
73
  */
104
74
  onItemToggle(event: CustomEvent<boolean>): void;
105
75
  /****************************************************************************/
106
- dataChanged(): void;
107
- private itemToggleHandlers;
108
- private parseData;
76
+ /****************************************************************************/
109
77
  componentWillLoad(): void;
110
78
  componentDidLoad(): void;
111
79
  componentWillUpdate(): void;
112
80
  /****************************************************************************/
113
- /****************************************************************************/
114
81
  render(): any;
115
82
  }
@@ -2,7 +2,7 @@ import { EventEmitter } from '../../stencil-public-runtime';
2
2
  /**
3
3
  * Accordion item element for nv-accordion.
4
4
  *
5
- * @slot header - Custom header (replaces itemtitle/subtitle)
5
+ * @slot header - Custom header (replaces itemTitle/subtitle)
6
6
  * @slot content - Main content (expandable area)
7
7
  */
8
8
  export declare class NvAccordionItem {
@@ -11,7 +11,7 @@ export declare class NvAccordionItem {
11
11
  private mutationObserver?;
12
12
  /****************************************************************************/
13
13
  /** Item title (displayed if header slot is absent) */
14
- readonly itemtitle?: string;
14
+ readonly itemTitle?: string;
15
15
  /** Item subtitle (displayed if header slot is absent) */
16
16
  readonly subtitle?: string;
17
17
  /** Open or closed */
@@ -95,6 +95,8 @@ export declare class NvCalendar {
95
95
  readonly showWeekNumbers: boolean;
96
96
  /** Cache for parsed disabled dates */
97
97
  private parsedDisabledDates;
98
+ /** Flag to indicate a user click for selection */
99
+ private isUserClick;
98
100
  /****************************************************************************/
99
101
  currentDate: Date | null;
100
102
  selectedDate: Date | null;
@@ -220,7 +222,6 @@ export declare class NvCalendar {
220
222
  /**
221
223
  * Generates the days of the current month
222
224
  * @param {number} offset - Month offset (0 by default)
223
- * @param {number} totalCalendars - Number of calendars to display (1 by default)
224
225
  * @returns {Array<{ dayOfMonth: number | null, date: Date | null, isSelected: boolean, isDisabled: boolean }>} Array of formatted days
225
226
  */
226
227
  private getDaysInMonth;
@@ -283,6 +284,11 @@ export declare class NvCalendar {
283
284
  * Confirms the current selection
284
285
  */
285
286
  private confirmSelection;
287
+ /**
288
+ * Clears the current selection and resets the calendar to its initial state.
289
+ * This method can be called programmatically to reset the calendar.
290
+ */
291
+ clear(): Promise<void>;
286
292
  /****************************************************************************/
287
293
  /**
288
294
  * Renders the header
@@ -12,6 +12,8 @@ interface DayData {
12
12
  isCurrentMonth: boolean;
13
13
  /** If the day is disabled */
14
14
  isDisabled: boolean;
15
+ /** If the day is blank */
16
+ isBlank: boolean;
15
17
  }
16
18
  /**
17
19
  * Props for the CalendarGrid component
@@ -1,6 +1,8 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
2
  import { type LabelPlacement } from '../../utils/constants';
3
3
  /**
4
+ * @slot default - Next to the label and description.
5
+ * @slot main - Replaces the label and description.
4
6
  * @slot label - Content to be placed as the label, will override the label prop.
5
7
  * @slot description - Content to be placed as the description, will override the description prop.
6
8
  * @slot error-description - Content to be placed as the error description, will override the errorDescription prop.
@@ -198,6 +198,11 @@ export declare class NvFielddate {
198
198
  * Toggles the opening/closing of the popover.
199
199
  */
200
200
  private toggleCalendar;
201
+ /**
202
+ * Clears the current selection and resets the field to its initial state.
203
+ * This method can be called programmatically to reset the field.
204
+ */
205
+ clear(): Promise<void>;
201
206
  /****************************************************************************/
202
207
  connectedCallback(): void;
203
208
  componentWillLoad(): void;
@@ -185,6 +185,11 @@ export declare class NvFielddaterange {
185
185
  * Toggles the opening/closing of the popover.
186
186
  */
187
187
  private toggleCalendar;
188
+ /**
189
+ * Clears the current selection and resets the date range field to its initial state.
190
+ * This method can be called programmatically to reset the field.
191
+ */
192
+ clear(): Promise<void>;
188
193
  /****************************************************************************/
189
194
  connectedCallback(): void;
190
195
  componentWillLoad(): void;
@@ -1,4 +1,10 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
+ /**
3
+ * @slot default - Next to the label and description.
4
+ * @slot main - Replaces the label and description.
5
+ * @slot label - Content to be placed as the label, will override the label prop.
6
+ * @slot description - Content to be placed as the description, will override the description prop.
7
+ */
2
8
  export declare class NvFielddropdownitemcheck {
3
9
  el: HTMLNvFielddropdownitemcheckElement;
4
10
  /****************************************************************************/
@@ -281,6 +281,10 @@ export declare class NvFieldmultiselect {
281
281
  * Handle popover close
282
282
  */
283
283
  private handlePopoverClose;
284
+ /**
285
+ * Clear the filter text
286
+ */
287
+ private clearFilterText;
284
288
  /**
285
289
  * Handle input blur for options mode.
286
290
  */
@@ -25,9 +25,22 @@ export namespace Components {
25
25
  */
26
26
  "close": (index: number) => Promise<void>;
27
27
  /**
28
- * Data to display as a list of items (title, subtitle, content). Must be provided as a JSON string containing an array of items with: - title: main title (required) - subtitle: subtitle (optional) - content: main content (required) - footer: footer (optional) - disabled: disables the item (optional) - id: unique identifier (optional)
29
- */
30
- "data": string;
28
+ * Data to display as a list of items (title, subtitle, content).
29
+ */
30
+ "data": {
31
+ /** Unique identifier of the item */
32
+ id: string;
33
+ /** Item title */
34
+ title: string;
35
+ /** Optional subtitle */
36
+ subtitle?: string;
37
+ /** Main content */
38
+ content: string;
39
+ /** Optional footer */
40
+ footer?: string;
41
+ /** Disabled state */
42
+ disabled?: boolean;
43
+ }[];
31
44
  /**
32
45
  * Expansion mode: 'accordion' (single open) or 'multi' (multiple open)
33
46
  */
@@ -53,7 +66,11 @@ export namespace Components {
53
66
  /**
54
67
  * Item title (displayed if header slot is absent)
55
68
  */
56
- "itemtitle"?: string;
69
+ "itemTitle"?: string;
70
+ /**
71
+ * @deprecated use camelCase instead. Support for dash-casing will be removed in Stencil v5.
72
+ */
73
+ "item-title"?: string;
57
74
  /**
58
75
  * Maximum content height (in px, optional). If not defined, auto height.
59
76
  */
@@ -299,6 +316,10 @@ export namespace Components {
299
316
  "type": `${ButtonType}`;
300
317
  }
301
318
  interface NvCalendar {
319
+ /**
320
+ * Clears the current selection and resets the calendar to its initial state. This method can be called programmatically to reset the calendar.
321
+ */
322
+ "clear": () => Promise<void>;
302
323
  /**
303
324
  * Date format (ex: 'YYYY-MM-DD', 'DD-MM-YYYY', etc.)
304
325
  * @default 'YYYY-MM-DD'
@@ -802,6 +823,10 @@ export namespace Components {
802
823
  * Autofocus the input when the component is mounted.
803
824
  */
804
825
  "autofocus": boolean;
826
+ /**
827
+ * Clears the current selection and resets the field to its initial state. This method can be called programmatically to reset the field.
828
+ */
829
+ "clear": () => Promise<void>;
805
830
  /**
806
831
  * Date format ex: YYYY-MM-DD, DD-MM-YYYY, etc.
807
832
  * @default 'YYYY-MM-DD'
@@ -946,6 +971,10 @@ export namespace Components {
946
971
  * Autofocus the start input when the component is mounted.
947
972
  */
948
973
  "autofocus": boolean;
974
+ /**
975
+ * Clears the current selection and resets the date range field to its initial state. This method can be called programmatically to reset the field.
976
+ */
977
+ "clear": () => Promise<void>;
949
978
  /**
950
979
  * Date format ex: YYYY-MM-DD, DD-MM-YYYY, etc.
951
980
  * @default 'YYYY-MM-DD'
@@ -2768,7 +2797,7 @@ export interface NvTooltipCustomEvent<T> extends CustomEvent<T> {
2768
2797
  }
2769
2798
  declare global {
2770
2799
  interface HTMLNvAccordionElementEventMap {
2771
- "nvChange": {
2800
+ "openChanged": {
2772
2801
  /** Index of open items */
2773
2802
  openIndexes: number[];
2774
2803
  };
@@ -3499,9 +3528,22 @@ declare global {
3499
3528
  declare namespace LocalJSX {
3500
3529
  interface NvAccordion {
3501
3530
  /**
3502
- * Data to display as a list of items (title, subtitle, content). Must be provided as a JSON string containing an array of items with: - title: main title (required) - subtitle: subtitle (optional) - content: main content (required) - footer: footer (optional) - disabled: disables the item (optional) - id: unique identifier (optional)
3503
- */
3504
- "data"?: string;
3531
+ * Data to display as a list of items (title, subtitle, content).
3532
+ */
3533
+ "data"?: {
3534
+ /** Unique identifier of the item */
3535
+ id: string;
3536
+ /** Item title */
3537
+ title: string;
3538
+ /** Optional subtitle */
3539
+ subtitle?: string;
3540
+ /** Main content */
3541
+ content: string;
3542
+ /** Optional footer */
3543
+ footer?: string;
3544
+ /** Disabled state */
3545
+ disabled?: boolean;
3546
+ }[];
3505
3547
  /**
3506
3548
  * Expansion mode: 'accordion' (single open) or 'multi' (multiple open)
3507
3549
  */
@@ -3509,7 +3551,7 @@ declare namespace LocalJSX {
3509
3551
  /**
3510
3552
  * Event emitted when an item's open state changes
3511
3553
  */
3512
- "onNvChange"?: (event: NvAccordionCustomEvent<{
3554
+ "onOpenChanged"?: (event: NvAccordionCustomEvent<{
3513
3555
  /** Index of open items */
3514
3556
  openIndexes: number[];
3515
3557
  }>) => void;
@@ -3529,7 +3571,11 @@ declare namespace LocalJSX {
3529
3571
  /**
3530
3572
  * Item title (displayed if header slot is absent)
3531
3573
  */
3532
- "itemtitle"?: string;
3574
+ "itemTitle"?: string;
3575
+ /**
3576
+ * @deprecated use camelCase instead. Support for dash-casing will be removed in Stencil v5.
3577
+ */
3578
+ "item-title"?: string;
3533
3579
  /**
3534
3580
  * Maximum content height (in px, optional). If not defined, auto height.
3535
3581
  */
@@ -8,10 +8,6 @@
8
8
  "value": "The nv-accordion is a compact, interactive UI component that groups content into collapsible panels. Clicking a header smoothly toggles its panel open or closed, revealing or hiding the associated details. This clear, animated behavior helps users navigate large sections—like FAQs or settings—without overwhelming the page. By default, only headers display, letting users expand only the sections they need."
9
9
  },
10
10
  "attributes": [
11
- {
12
- "name": "data",
13
- "description": "Data to display as a list of items (title, subtitle, content).\nMust be provided as a JSON string containing an array of items with:\n- title: main title (required)\n- subtitle: subtitle (optional)\n- content: main content (required)\n- footer: footer (optional)\n- disabled: disables the item (optional)\n- id: unique identifier (optional)"
14
- },
15
11
  {
16
12
  "name": "mode",
17
13
  "description": "Expansion mode: 'accordion' (single open) or 'multi' (multiple open)",
@@ -38,7 +34,7 @@
38
34
  "description": "Disables the item"
39
35
  },
40
36
  {
41
- "name": "itemtitle",
37
+ "name": "item-title",
42
38
  "description": "Item title (displayed if header slot is absent)"
43
39
  },
44
40
  {