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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (571) hide show
  1. package/dist/blazor-docs.json +1320 -1743
  2. package/dist/cjs/{app-globals-d8cbb987.js → app-globals-6b0931bc.js} +2 -2
  3. package/dist/cjs/app-globals-6b0931bc.js.map +1 -0
  4. package/dist/cjs/{constants-33057c89.js → constants-9525a915.js} +7 -1
  5. package/dist/cjs/constants-9525a915.js.map +1 -0
  6. package/dist/cjs/{index-c50face0.js → index-ddc37f87.js} +866 -495
  7. package/dist/cjs/index-ddc37f87.js.map +1 -0
  8. package/dist/cjs/index.cjs.js +1 -1
  9. package/dist/cjs/loader.cjs.js +3 -3
  10. package/dist/cjs/native.cjs.js +4 -4
  11. package/dist/cjs/native.cjs.js.map +1 -1
  12. package/dist/cjs/nv-alert.cjs.entry.js +24 -11
  13. package/dist/cjs/nv-alert.cjs.entry.js.map +1 -1
  14. package/dist/cjs/nv-avatar.cjs.entry.js +11 -14
  15. package/dist/cjs/nv-avatar.cjs.entry.js.map +1 -1
  16. package/dist/cjs/nv-badge.cjs.entry.js +145 -0
  17. package/dist/cjs/nv-badge.cjs.entry.js.map +1 -0
  18. package/dist/cjs/nv-base.cjs.entry.js +2 -3
  19. package/dist/cjs/nv-base.cjs.entry.js.map +1 -1
  20. package/dist/cjs/nv-breadcrumb.cjs.entry.js +47 -0
  21. package/dist/cjs/nv-breadcrumb.cjs.entry.js.map +1 -0
  22. package/dist/cjs/nv-breadcrumbs.cjs.entry.js +23 -0
  23. package/dist/cjs/nv-breadcrumbs.cjs.entry.js.map +1 -0
  24. package/dist/cjs/nv-button.cjs.entry.js +43 -11
  25. package/dist/cjs/nv-button.cjs.entry.js.map +1 -1
  26. package/dist/cjs/nv-col.cjs.entry.js +2 -3
  27. package/dist/cjs/nv-col.cjs.entry.js.map +1 -1
  28. package/dist/cjs/nv-datagrid.cjs.entry.js +34 -8
  29. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
  30. package/dist/cjs/nv-datagridbody.cjs.entry.js +2 -2
  31. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +2 -4
  32. package/dist/cjs/nv-datagridcolumn.cjs.entry.js.map +1 -1
  33. package/dist/cjs/nv-datagriddatacell.cjs.entry.js +2 -3
  34. package/dist/cjs/nv-datagriddatacell.cjs.entry.js.map +1 -1
  35. package/dist/cjs/nv-datagridhead.cjs.entry.js +2 -2
  36. package/dist/cjs/nv-datagridrow.cjs.entry.js +2 -2
  37. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +44 -13
  38. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js.map +1 -1
  39. package/dist/cjs/nv-fielddropdown.cjs.entry.js +121 -43
  40. package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
  41. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +13 -7
  42. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js.map +1 -1
  43. package/dist/cjs/nv-fieldnumber.cjs.entry.js +48 -22
  44. package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
  45. package/dist/cjs/nv-fieldpassword.cjs.entry.js +65 -24
  46. package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
  47. package/dist/cjs/nv-fieldradio.cjs.entry.js +29 -11
  48. package/dist/cjs/nv-fieldradio.cjs.entry.js.map +1 -1
  49. package/dist/cjs/nv-fieldselect.cjs.entry.js +67 -26
  50. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
  51. package/dist/cjs/nv-fieldtext.cjs.entry.js +55 -25
  52. package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -1
  53. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +103 -63
  54. package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
  55. package/dist/cjs/nv-fieldtoggle.cjs.entry.js +21 -8
  56. package/dist/cjs/nv-fieldtoggle.cjs.entry.js.map +1 -1
  57. package/dist/cjs/nv-icon.cjs.entry.js +6 -11
  58. package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
  59. package/dist/cjs/{nv-iconbutton_2.cjs.entry.js → nv-iconbutton.cjs.entry.js} +45 -32
  60. package/dist/cjs/nv-iconbutton.cjs.entry.js.map +1 -0
  61. package/dist/cjs/nv-loader.cjs.entry.js +35 -0
  62. package/dist/cjs/nv-loader.cjs.entry.js.map +1 -0
  63. package/dist/cjs/nv-menu.cjs.entry.js +26 -44
  64. package/dist/cjs/nv-menu.cjs.entry.js.map +1 -1
  65. package/dist/cjs/nv-menuitem.cjs.entry.js +36 -5
  66. package/dist/cjs/nv-menuitem.cjs.entry.js.map +1 -1
  67. package/dist/cjs/nv-popover.cjs.entry.js +68 -18
  68. package/dist/cjs/nv-popover.cjs.entry.js.map +1 -1
  69. package/dist/cjs/nv-row.cjs.entry.js +2 -2
  70. package/dist/cjs/nv-stack.cjs.entry.js +8 -6
  71. package/dist/cjs/nv-stack.cjs.entry.js.map +1 -1
  72. package/dist/cjs/nv-table.cjs.entry.js +28 -7
  73. package/dist/cjs/nv-table.cjs.entry.js.map +1 -1
  74. package/dist/cjs/nv-tablebody.cjs.entry.js +2 -2
  75. package/dist/cjs/nv-tablecolumn.cjs.entry.js +16 -5
  76. package/dist/cjs/nv-tablecolumn.cjs.entry.js.map +1 -1
  77. package/dist/cjs/nv-tabledatacell.cjs.entry.js +18 -3
  78. package/dist/cjs/nv-tabledatacell.cjs.entry.js.map +1 -1
  79. package/dist/cjs/nv-tablehead.cjs.entry.js +2 -2
  80. package/dist/cjs/nv-tablerow.cjs.entry.js +2 -2
  81. package/dist/cjs/nv-tooltip.cjs.entry.js +16 -6
  82. package/dist/cjs/nv-tooltip.cjs.entry.js.map +1 -1
  83. package/dist/collection/collection-manifest.json +4 -4
  84. package/dist/collection/components/nv-alert/nv-alert.js +38 -9
  85. package/dist/collection/components/nv-alert/nv-alert.js.map +1 -1
  86. package/dist/collection/components/nv-avatar/nv-avatar.css +0 -33
  87. package/dist/collection/components/nv-avatar/nv-avatar.js +32 -11
  88. package/dist/collection/components/nv-avatar/nv-avatar.js.map +1 -1
  89. package/dist/collection/components/nv-badge/nv-badge.css +20 -53
  90. package/dist/collection/components/nv-badge/nv-badge.js +56 -12
  91. package/dist/collection/components/nv-badge/nv-badge.js.map +1 -1
  92. package/dist/collection/components/nv-base/nv-base.js +1 -2
  93. package/dist/collection/components/nv-base/nv-base.js.map +1 -1
  94. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.css +14 -0
  95. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.docs.js +6 -0
  96. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.docs.js.map +1 -0
  97. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js +111 -0
  98. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js.map +1 -0
  99. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.css +12 -0
  100. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js +34 -0
  101. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js.map +1 -0
  102. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js +22 -0
  103. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js.map +1 -0
  104. package/dist/collection/components/nv-button/nv-button.docs.js +5 -0
  105. package/dist/collection/components/nv-button/nv-button.docs.js.map +1 -1
  106. package/dist/collection/components/nv-button/nv-button.js +56 -10
  107. package/dist/collection/components/nv-button/nv-button.js.map +1 -1
  108. package/dist/collection/components/nv-button/{nv-button.css → styles/nv-button.css} +25 -60
  109. package/dist/collection/components/nv-col/nv-col.js +3 -4
  110. package/dist/collection/components/nv-col/nv-col.js.map +1 -1
  111. package/dist/collection/components/nv-datagrid/nv-datagrid.js +45 -7
  112. package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -1
  113. package/dist/collection/components/nv-datagridbody/nv-datagridbody.js +1 -1
  114. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +5 -5
  115. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js.map +1 -1
  116. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.js +3 -4
  117. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.js.map +1 -1
  118. package/dist/collection/components/nv-datagridhead/nv-datagridhead.js +1 -1
  119. package/dist/collection/components/nv-datagridrow/nv-datagridrow.js +1 -1
  120. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +77 -12
  121. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js.map +1 -1
  122. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.css +17 -2
  123. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +8 -19
  124. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +1 -1
  125. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +150 -42
  126. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
  127. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.css +9 -17
  128. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +19 -5
  129. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js.map +1 -1
  130. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.css +1 -1
  131. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +80 -20
  132. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +1 -1
  133. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +104 -25
  134. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js.map +1 -1
  135. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +52 -10
  136. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js.map +1 -1
  137. package/dist/collection/components/nv-fieldselect/nv-fieldselect.css +1 -1
  138. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +97 -26
  139. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js.map +1 -1
  140. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +1 -1
  141. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +1 -1
  142. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +98 -26
  143. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +1 -1
  144. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +144 -64
  145. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js.map +1 -1
  146. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.js +40 -7
  147. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.js.map +1 -1
  148. package/dist/collection/components/nv-icon/nv-icon.js +22 -11
  149. package/dist/collection/components/nv-icon/nv-icon.js.map +1 -1
  150. package/dist/collection/components/nv-icon/{nv-icon.css → styles/nv-icon.css} +0 -1
  151. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +67 -12
  152. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js.map +1 -1
  153. package/dist/collection/components/nv-loader/nv-loader.js +12 -2
  154. package/dist/collection/components/nv-loader/nv-loader.js.map +1 -1
  155. package/dist/collection/components/nv-menu/nv-menu.js +38 -48
  156. package/dist/collection/components/nv-menu/nv-menu.js.map +1 -1
  157. package/dist/collection/components/nv-menuitem/nv-menuitem.js +102 -6
  158. package/dist/collection/components/nv-menuitem/nv-menuitem.js.map +1 -1
  159. package/dist/collection/components/nv-popover/nv-popover.js +91 -19
  160. package/dist/collection/components/nv-popover/nv-popover.js.map +1 -1
  161. package/dist/collection/components/nv-row/nv-row.js +1 -1
  162. package/dist/collection/components/nv-stack/nv-stack.js +17 -5
  163. package/dist/collection/components/nv-stack/nv-stack.js.map +1 -1
  164. package/dist/collection/components/nv-table/nv-table.js +39 -6
  165. package/dist/collection/components/nv-table/nv-table.js.map +1 -1
  166. package/dist/collection/components/nv-tablebody/nv-tablebody.js +1 -1
  167. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js +25 -4
  168. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js.map +1 -1
  169. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.js +23 -2
  170. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.js.map +1 -1
  171. package/dist/collection/components/nv-tablehead/nv-tablehead.js +1 -1
  172. package/dist/collection/components/nv-tablerow/nv-tablerow.js +1 -1
  173. package/dist/collection/components/nv-tooltip/nv-tooltip.js +47 -5
  174. package/dist/collection/components/nv-tooltip/nv-tooltip.js.map +1 -1
  175. package/dist/collection/dev/dev-components.js +1 -1
  176. package/dist/collection/dev/dev-components.js.map +1 -1
  177. package/dist/collection/templates/navigation.docs.js +13 -0
  178. package/dist/collection/templates/navigation.docs.js.map +1 -0
  179. package/dist/collection/utils/constants.js +5 -0
  180. package/dist/collection/utils/constants.js.map +1 -1
  181. package/dist/components/index.js +4 -4
  182. package/dist/components/nv-alert.js +25 -12
  183. package/dist/components/nv-alert.js.map +1 -1
  184. package/dist/components/nv-avatar.js +12 -15
  185. package/dist/components/nv-avatar.js.map +1 -1
  186. package/dist/components/nv-badge.js +173 -1
  187. package/dist/components/nv-badge.js.map +1 -1
  188. package/dist/components/nv-base.js +2 -3
  189. package/dist/components/nv-base.js.map +1 -1
  190. package/dist/components/{nv-fieldmultiselect.d.ts → nv-breadcrumb.d.ts} +4 -4
  191. package/dist/components/nv-breadcrumb.js +83 -0
  192. package/dist/components/nv-breadcrumb.js.map +1 -0
  193. package/dist/components/nv-breadcrumbs.d.ts +11 -0
  194. package/dist/components/nv-breadcrumbs.js +37 -0
  195. package/dist/components/nv-breadcrumbs.js.map +1 -0
  196. package/dist/components/nv-button.js +44 -12
  197. package/dist/components/nv-button.js.map +1 -1
  198. package/dist/components/nv-col.js +2 -3
  199. package/dist/components/nv-col.js.map +1 -1
  200. package/dist/components/nv-datagrid.js +34 -8
  201. package/dist/components/nv-datagrid.js.map +1 -1
  202. package/dist/components/nv-datagridbody.js +2 -2
  203. package/dist/components/nv-datagridcolumn.js +2 -4
  204. package/dist/components/nv-datagridcolumn.js.map +1 -1
  205. package/dist/components/nv-datagriddatacell.js +2 -3
  206. package/dist/components/nv-datagriddatacell.js.map +1 -1
  207. package/dist/components/nv-datagridhead.js +2 -2
  208. package/dist/components/nv-datagridrow.js +2 -2
  209. package/dist/components/nv-fieldcheckbox.js +152 -1
  210. package/dist/components/nv-fieldcheckbox.js.map +1 -1
  211. package/dist/components/nv-fielddropdown.js +126 -48
  212. package/dist/components/nv-fielddropdown.js.map +1 -1
  213. package/dist/components/nv-fielddropdownitem.js +1 -1
  214. package/dist/components/nv-fieldnumber.js +49 -23
  215. package/dist/components/nv-fieldnumber.js.map +1 -1
  216. package/dist/components/nv-fieldpassword.js +68 -27
  217. package/dist/components/nv-fieldpassword.js.map +1 -1
  218. package/dist/components/nv-fieldradio.js +29 -11
  219. package/dist/components/nv-fieldradio.js.map +1 -1
  220. package/dist/components/nv-fieldselect.js +69 -28
  221. package/dist/components/nv-fieldselect.js.map +1 -1
  222. package/dist/components/nv-fieldtext.js +56 -26
  223. package/dist/components/nv-fieldtext.js.map +1 -1
  224. package/dist/components/nv-fieldtextarea.js +106 -65
  225. package/dist/components/nv-fieldtextarea.js.map +1 -1
  226. package/dist/components/nv-fieldtoggle.js +21 -8
  227. package/dist/components/nv-fieldtoggle.js.map +1 -1
  228. package/dist/components/nv-icon.js +1 -1
  229. package/dist/components/nv-iconbutton.js +1 -1
  230. package/dist/components/nv-loader.js +1 -1
  231. package/dist/components/nv-menu.js +28 -46
  232. package/dist/components/nv-menu.js.map +1 -1
  233. package/dist/components/nv-menuitem.js +40 -8
  234. package/dist/components/nv-menuitem.js.map +1 -1
  235. package/dist/components/nv-popover.js +1 -1
  236. package/dist/components/nv-row.js +2 -2
  237. package/dist/components/nv-stack.js +8 -6
  238. package/dist/components/nv-stack.js.map +1 -1
  239. package/dist/components/nv-table.js +28 -7
  240. package/dist/components/nv-table.js.map +1 -1
  241. package/dist/components/nv-tablebody.js +2 -2
  242. package/dist/components/nv-tablecolumn.js +16 -5
  243. package/dist/components/nv-tablecolumn.js.map +1 -1
  244. package/dist/components/nv-tabledatacell.js +18 -3
  245. package/dist/components/nv-tabledatacell.js.map +1 -1
  246. package/dist/components/nv-tablehead.js +2 -2
  247. package/dist/components/nv-tablerow.js +2 -2
  248. package/dist/components/nv-tooltip.js +1 -54
  249. package/dist/components/nv-tooltip.js.map +1 -1
  250. package/dist/components/{p-b12abc99.js → p-09a2a880.js} +15 -9
  251. package/dist/components/p-09a2a880.js.map +1 -0
  252. package/dist/components/{p-8bec002e.js → p-0cdf2cc7.js} +47 -14
  253. package/dist/components/{p-8bec002e.js.map → p-0cdf2cc7.js.map} +1 -1
  254. package/dist/components/{p-ae6a0d80.js → p-3a65a05e.js} +211 -172
  255. package/dist/components/p-3a65a05e.js.map +1 -0
  256. package/dist/components/{p-d506ae63.js → p-3b209e94.js} +851 -492
  257. package/dist/components/p-3b209e94.js.map +1 -0
  258. package/dist/components/{p-a15ddd42.js → p-74407727.js} +7 -1
  259. package/dist/components/p-74407727.js.map +1 -0
  260. package/dist/components/{p-d70df149.js → p-a61d9ce8.js} +7 -12
  261. package/dist/components/p-a61d9ce8.js.map +1 -0
  262. package/dist/components/{p-a1aa8970.js → p-b7462fc2.js} +10 -4
  263. package/dist/components/p-b7462fc2.js.map +1 -0
  264. package/dist/components/{p-d5dd3def.js → p-ce67d70c.js} +70 -20
  265. package/dist/components/p-ce67d70c.js.map +1 -0
  266. package/dist/components/p-e7131c30.js +69 -0
  267. package/dist/components/p-e7131c30.js.map +1 -0
  268. package/dist/docs.d.ts +8 -0
  269. package/dist/docs.json +1321 -1736
  270. package/dist/esm/{app-globals-eea8674a.js → app-globals-246d6b7c.js} +2 -2
  271. package/dist/esm/app-globals-246d6b7c.js.map +1 -0
  272. package/dist/esm/{constants-e9bee611.js → constants-7b642e1d.js} +7 -1
  273. package/dist/esm/constants-7b642e1d.js.map +1 -0
  274. package/dist/esm/{index-e7b35c14.js → index-cd557d0a.js} +866 -495
  275. package/dist/esm/index-cd557d0a.js.map +1 -0
  276. package/dist/esm/index.js +1 -1
  277. package/dist/esm/loader.js +4 -4
  278. package/dist/esm/native.js +5 -5
  279. package/dist/esm/native.js.map +1 -1
  280. package/dist/esm/nv-alert.entry.js +24 -11
  281. package/dist/esm/nv-alert.entry.js.map +1 -1
  282. package/dist/esm/nv-avatar.entry.js +11 -14
  283. package/dist/esm/nv-avatar.entry.js.map +1 -1
  284. package/dist/esm/nv-badge.entry.js +141 -0
  285. package/dist/esm/nv-badge.entry.js.map +1 -0
  286. package/dist/esm/nv-base.entry.js +2 -3
  287. package/dist/esm/nv-base.entry.js.map +1 -1
  288. package/dist/esm/nv-breadcrumb.entry.js +43 -0
  289. package/dist/esm/nv-breadcrumb.entry.js.map +1 -0
  290. package/dist/esm/nv-breadcrumbs.entry.js +19 -0
  291. package/dist/esm/nv-breadcrumbs.entry.js.map +1 -0
  292. package/dist/esm/nv-button.entry.js +43 -11
  293. package/dist/esm/nv-button.entry.js.map +1 -1
  294. package/dist/esm/nv-col.entry.js +2 -3
  295. package/dist/esm/nv-col.entry.js.map +1 -1
  296. package/dist/esm/nv-datagrid.entry.js +34 -8
  297. package/dist/esm/nv-datagrid.entry.js.map +1 -1
  298. package/dist/esm/nv-datagridbody.entry.js +2 -2
  299. package/dist/esm/nv-datagridcolumn.entry.js +2 -4
  300. package/dist/esm/nv-datagridcolumn.entry.js.map +1 -1
  301. package/dist/esm/nv-datagriddatacell.entry.js +2 -3
  302. package/dist/esm/nv-datagriddatacell.entry.js.map +1 -1
  303. package/dist/esm/nv-datagridhead.entry.js +2 -2
  304. package/dist/esm/nv-datagridrow.entry.js +2 -2
  305. package/dist/esm/nv-fieldcheckbox.entry.js +44 -13
  306. package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -1
  307. package/dist/esm/nv-fielddropdown.entry.js +121 -43
  308. package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
  309. package/dist/esm/nv-fielddropdownitem.entry.js +13 -7
  310. package/dist/esm/nv-fielddropdownitem.entry.js.map +1 -1
  311. package/dist/esm/nv-fieldnumber.entry.js +48 -22
  312. package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
  313. package/dist/esm/nv-fieldpassword.entry.js +65 -24
  314. package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
  315. package/dist/esm/nv-fieldradio.entry.js +29 -11
  316. package/dist/esm/nv-fieldradio.entry.js.map +1 -1
  317. package/dist/esm/nv-fieldselect.entry.js +67 -26
  318. package/dist/esm/nv-fieldselect.entry.js.map +1 -1
  319. package/dist/esm/nv-fieldtext.entry.js +55 -25
  320. package/dist/esm/nv-fieldtext.entry.js.map +1 -1
  321. package/dist/esm/nv-fieldtextarea.entry.js +103 -63
  322. package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
  323. package/dist/esm/nv-fieldtoggle.entry.js +21 -8
  324. package/dist/esm/nv-fieldtoggle.entry.js.map +1 -1
  325. package/dist/esm/nv-icon.entry.js +6 -11
  326. package/dist/esm/nv-icon.entry.js.map +1 -1
  327. package/dist/esm/{nv-iconbutton_2.entry.js → nv-iconbutton.entry.js} +46 -32
  328. package/dist/esm/nv-iconbutton.entry.js.map +1 -0
  329. package/dist/esm/nv-loader.entry.js +31 -0
  330. package/dist/esm/nv-loader.entry.js.map +1 -0
  331. package/dist/esm/nv-menu.entry.js +26 -44
  332. package/dist/esm/nv-menu.entry.js.map +1 -1
  333. package/dist/esm/nv-menuitem.entry.js +36 -5
  334. package/dist/esm/nv-menuitem.entry.js.map +1 -1
  335. package/dist/esm/nv-popover.entry.js +69 -19
  336. package/dist/esm/nv-popover.entry.js.map +1 -1
  337. package/dist/esm/nv-row.entry.js +2 -2
  338. package/dist/esm/nv-stack.entry.js +8 -6
  339. package/dist/esm/nv-stack.entry.js.map +1 -1
  340. package/dist/esm/nv-table.entry.js +28 -7
  341. package/dist/esm/nv-table.entry.js.map +1 -1
  342. package/dist/esm/nv-tablebody.entry.js +2 -2
  343. package/dist/esm/nv-tablecolumn.entry.js +16 -5
  344. package/dist/esm/nv-tablecolumn.entry.js.map +1 -1
  345. package/dist/esm/nv-tabledatacell.entry.js +18 -3
  346. package/dist/esm/nv-tabledatacell.entry.js.map +1 -1
  347. package/dist/esm/nv-tablehead.entry.js +2 -2
  348. package/dist/esm/nv-tablerow.entry.js +2 -2
  349. package/dist/esm/nv-tooltip.entry.js +16 -6
  350. package/dist/esm/nv-tooltip.entry.js.map +1 -1
  351. package/dist/native/index.esm.js +1 -1
  352. package/dist/native/native.css +1 -1
  353. package/dist/native/native.esm.js +1 -1
  354. package/dist/native/native.esm.js.map +1 -1
  355. package/dist/native/p-0710efd7.entry.js +2 -0
  356. package/dist/native/p-0710efd7.entry.js.map +1 -0
  357. package/dist/native/p-0f9262ed.entry.js +2 -0
  358. package/dist/native/p-10a06059.entry.js +2 -0
  359. package/dist/native/p-10a06059.entry.js.map +1 -0
  360. package/dist/native/p-132b8588.entry.js +2 -0
  361. package/dist/native/p-132b8588.entry.js.map +1 -0
  362. package/dist/native/p-2063c768.entry.js +2 -0
  363. package/dist/native/p-2063c768.entry.js.map +1 -0
  364. package/dist/native/p-2ac838b8.entry.js +2 -0
  365. package/dist/native/p-2ac838b8.entry.js.map +1 -0
  366. package/dist/native/p-38d3eee3.js +2 -0
  367. package/dist/native/p-38d3eee3.js.map +1 -0
  368. package/dist/native/{p-5b4bdbe2.entry.js → p-3e9521a0.entry.js} +2 -2
  369. package/dist/native/p-3e9521a0.entry.js.map +1 -0
  370. package/dist/native/{p-69ca8c88.entry.js → p-40f4828a.entry.js} +2 -2
  371. package/dist/native/p-40f4828a.entry.js.map +1 -0
  372. package/dist/native/p-44cc8b59.entry.js +2 -0
  373. package/dist/native/p-44cc8b59.entry.js.map +1 -0
  374. package/dist/native/p-45aa0c68.entry.js +2 -0
  375. package/dist/native/p-45aa0c68.entry.js.map +1 -0
  376. package/dist/native/p-4f30312d.entry.js +2 -0
  377. package/dist/native/p-4f30312d.entry.js.map +1 -0
  378. package/dist/native/p-52a7f936.entry.js +2 -0
  379. package/dist/native/{p-671699bf.entry.js.map → p-52a7f936.entry.js.map} +1 -1
  380. package/dist/native/{p-13070761.entry.js → p-5d0dc7c8.entry.js} +2 -2
  381. package/dist/native/p-5d0dc7c8.entry.js.map +1 -0
  382. package/dist/native/p-5d67a825.entry.js +2 -0
  383. package/dist/native/p-5d67a825.entry.js.map +1 -0
  384. package/dist/native/p-5e467b49.entry.js +2 -0
  385. package/dist/native/{p-982e474f.entry.js.map → p-5e467b49.entry.js.map} +1 -1
  386. package/dist/native/p-6c1b9c89.entry.js +2 -0
  387. package/dist/native/{p-589eb477.entry.js.map → p-6c1b9c89.entry.js.map} +1 -1
  388. package/dist/native/p-74407727.js +2 -0
  389. package/dist/native/p-74407727.js.map +1 -0
  390. package/dist/native/{p-65ad60eb.entry.js → p-74778f5f.entry.js} +2 -2
  391. package/dist/native/p-74778f5f.entry.js.map +1 -0
  392. package/dist/native/p-87b93cc2.entry.js +2 -0
  393. package/dist/native/p-8f0984b0.entry.js +2 -0
  394. package/dist/native/p-8f0984b0.entry.js.map +1 -0
  395. package/dist/native/p-907c3eda.entry.js +2 -0
  396. package/dist/native/p-91d4b4d7.entry.js +2 -0
  397. package/dist/native/p-91d4b4d7.entry.js.map +1 -0
  398. package/dist/native/p-9341cf9d.entry.js +2 -0
  399. package/dist/native/{p-2fca31c0.entry.js.map → p-9341cf9d.entry.js.map} +1 -1
  400. package/dist/native/p-9b093b92.js +3 -0
  401. package/dist/native/p-9b093b92.js.map +1 -0
  402. package/dist/native/{p-91d30cd7.entry.js → p-9cef006d.entry.js} +2 -2
  403. package/dist/native/p-9cef006d.entry.js.map +1 -0
  404. package/dist/native/p-a9b6461b.entry.js +2 -0
  405. package/dist/native/p-a9b6461b.entry.js.map +1 -0
  406. package/dist/native/{p-7b2d8b8c.entry.js → p-b902c7c0.entry.js} +2 -2
  407. package/dist/native/p-b902c7c0.entry.js.map +1 -0
  408. package/dist/native/p-bbc45099.entry.js +2 -0
  409. package/dist/native/{p-12eaebd6.entry.js → p-c59e3500.entry.js} +2 -2
  410. package/dist/native/p-c59e3500.entry.js.map +1 -0
  411. package/dist/native/{p-305951e4.entry.js → p-d0f83d1f.entry.js} +2 -2
  412. package/dist/native/p-d0f83d1f.entry.js.map +1 -0
  413. package/dist/native/{p-7b3a4cbf.entry.js → p-e390557d.entry.js} +2 -2
  414. package/dist/native/p-e390557d.entry.js.map +1 -0
  415. package/dist/native/p-e56d3715.entry.js +2 -0
  416. package/dist/native/p-e56d3715.entry.js.map +1 -0
  417. package/dist/native/p-e5fbe545.entry.js +2 -0
  418. package/dist/native/p-e5fbe545.entry.js.map +1 -0
  419. package/dist/native/p-eade52d4.entry.js +2 -0
  420. package/dist/native/p-eade52d4.entry.js.map +1 -0
  421. package/dist/native/p-eda8cd9d.entry.js +2 -0
  422. package/dist/native/{p-e842220b.entry.js.map → p-eda8cd9d.entry.js.map} +1 -1
  423. package/dist/native/p-ee78addb.entry.js +2 -0
  424. package/dist/native/p-ee78addb.entry.js.map +1 -0
  425. package/dist/native/p-f1545844.entry.js +2 -0
  426. package/dist/native/p-f1545844.entry.js.map +1 -0
  427. package/dist/native/{p-92e3e334.entry.js → p-f2ea8aa9.entry.js} +2 -2
  428. package/dist/native/p-f2ea8aa9.entry.js.map +1 -0
  429. package/dist/native/p-f42e87b5.entry.js +2 -0
  430. package/dist/native/p-f4ecacf6.entry.js +2 -0
  431. package/dist/native/p-f4ecacf6.entry.js.map +1 -0
  432. package/dist/native/{p-36d5158c.entry.js → p-f7db0785.entry.js} +3 -3
  433. package/dist/native/p-f7db0785.entry.js.map +1 -0
  434. package/dist/types/components/nv-base/nv-base.docs.d.ts +1 -1
  435. package/dist/types/components/nv-breadcrumb/nv-breadcrumb.d.ts +30 -0
  436. package/dist/types/components/nv-breadcrumb/nv-breadcrumb.docs.d.ts +4 -0
  437. package/dist/types/components/nv-breadcrumbs/nv-breadcrumbs.d.ts +6 -0
  438. package/dist/types/components/nv-breadcrumbs/nv-breadcrumbs.docs.d.ts +4 -0
  439. package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +4 -1
  440. package/dist/types/components/nv-fieldpassword/nv-fieldpassword.d.ts +1 -1
  441. package/dist/types/components/nv-fieldselect/nv-fieldselect.d.ts +1 -1
  442. package/dist/types/components/nv-fieldtext/nv-fieldtext.d.ts +1 -1
  443. package/dist/types/components/nv-fieldtextarea/nv-fieldtextarea.d.ts +7 -11
  444. package/dist/types/components/nv-iconbutton/nv-iconbutton.d.ts +2 -2
  445. package/dist/types/components/nv-menu/nv-menu.d.ts +4 -5
  446. package/dist/types/components/nv-menuitem/nv-menuitem.d.ts +25 -1
  447. package/dist/types/components/nv-popover/nv-popover.d.ts +7 -0
  448. package/dist/types/components/nv-tooltip/nv-tooltip.d.ts +6 -1
  449. package/dist/types/components.d.ts +105 -354
  450. package/dist/types/nova-docs.d.ts +46 -24
  451. package/dist/types/templates/navigation.docs.d.ts +3 -0
  452. package/dist/types/utils/constants.d.ts +4 -0
  453. package/dist/vscode-data.json +117 -400
  454. package/hydrate/index.js +2116 -2339
  455. package/hydrate/index.mjs +2116 -2339
  456. package/package.json +17 -15
  457. package/dist/cjs/app-globals-d8cbb987.js.map +0 -1
  458. package/dist/cjs/constants-33057c89.js.map +0 -1
  459. package/dist/cjs/index-c50face0.js.map +0 -1
  460. package/dist/cjs/nv-badge_2.cjs.entry.js +0 -159
  461. package/dist/cjs/nv-badge_2.cjs.entry.js.map +0 -1
  462. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +0 -1038
  463. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +0 -1
  464. package/dist/cjs/nv-iconbutton_2.cjs.entry.js.map +0 -1
  465. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.css +0 -12
  466. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.docs.js +0 -6
  467. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.docs.js.map +0 -1
  468. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +0 -171
  469. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js.map +0 -1
  470. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.css +0 -201
  471. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +0 -257
  472. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js.map +0 -1
  473. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +0 -1578
  474. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +0 -1
  475. package/dist/collection/components/nv-icon/test/nv-icon.test.js +0 -25
  476. package/dist/collection/components/nv-icon/test/nv-icon.test.js.map +0 -1
  477. package/dist/components/nv-fielddropdownitemcheck.d.ts +0 -11
  478. package/dist/components/nv-fielddropdownitemcheck.js +0 -8
  479. package/dist/components/nv-fielddropdownitemcheck.js.map +0 -1
  480. package/dist/components/nv-fieldmultiselect.js +0 -1129
  481. package/dist/components/nv-fieldmultiselect.js.map +0 -1
  482. package/dist/components/p-5ce661bd.js +0 -125
  483. package/dist/components/p-5ce661bd.js.map +0 -1
  484. package/dist/components/p-a15ddd42.js.map +0 -1
  485. package/dist/components/p-a1aa8970.js.map +0 -1
  486. package/dist/components/p-a4802979.js +0 -151
  487. package/dist/components/p-a4802979.js.map +0 -1
  488. package/dist/components/p-ae6a0d80.js.map +0 -1
  489. package/dist/components/p-b12abc99.js.map +0 -1
  490. package/dist/components/p-d506ae63.js.map +0 -1
  491. package/dist/components/p-d5dd3def.js.map +0 -1
  492. package/dist/components/p-d70df149.js.map +0 -1
  493. package/dist/components/p-e4641c41.js +0 -72
  494. package/dist/components/p-e4641c41.js.map +0 -1
  495. package/dist/esm/app-globals-eea8674a.js.map +0 -1
  496. package/dist/esm/constants-e9bee611.js.map +0 -1
  497. package/dist/esm/index-e7b35c14.js.map +0 -1
  498. package/dist/esm/nv-badge_2.entry.js +0 -154
  499. package/dist/esm/nv-badge_2.entry.js.map +0 -1
  500. package/dist/esm/nv-fieldmultiselect.entry.js +0 -1034
  501. package/dist/esm/nv-fieldmultiselect.entry.js.map +0 -1
  502. package/dist/esm/nv-iconbutton_2.entry.js.map +0 -1
  503. package/dist/native/p-0fbb962b.entry.js +0 -2
  504. package/dist/native/p-0fbb962b.entry.js.map +0 -1
  505. package/dist/native/p-12eaebd6.entry.js.map +0 -1
  506. package/dist/native/p-13070761.entry.js.map +0 -1
  507. package/dist/native/p-1aaee302.entry.js +0 -2
  508. package/dist/native/p-1aaee302.entry.js.map +0 -1
  509. package/dist/native/p-1c689ec7.entry.js +0 -2
  510. package/dist/native/p-1c689ec7.entry.js.map +0 -1
  511. package/dist/native/p-20c7fc4d.entry.js +0 -2
  512. package/dist/native/p-20c7fc4d.entry.js.map +0 -1
  513. package/dist/native/p-2fca31c0.entry.js +0 -2
  514. package/dist/native/p-305951e4.entry.js.map +0 -1
  515. package/dist/native/p-306d1f04.entry.js +0 -2
  516. package/dist/native/p-306d1f04.entry.js.map +0 -1
  517. package/dist/native/p-330c929d.entry.js +0 -2
  518. package/dist/native/p-330c929d.entry.js.map +0 -1
  519. package/dist/native/p-36d5158c.entry.js.map +0 -1
  520. package/dist/native/p-39dbb15b.entry.js +0 -2
  521. package/dist/native/p-39dbb15b.entry.js.map +0 -1
  522. package/dist/native/p-3f912745.entry.js +0 -2
  523. package/dist/native/p-3f912745.entry.js.map +0 -1
  524. package/dist/native/p-4e351d8e.entry.js +0 -2
  525. package/dist/native/p-4e351d8e.entry.js.map +0 -1
  526. package/dist/native/p-589eb477.entry.js +0 -2
  527. package/dist/native/p-5b4bdbe2.entry.js.map +0 -1
  528. package/dist/native/p-65ad60eb.entry.js.map +0 -1
  529. package/dist/native/p-671699bf.entry.js +0 -2
  530. package/dist/native/p-69ca8c88.entry.js.map +0 -1
  531. package/dist/native/p-7a7b9b95.entry.js +0 -2
  532. package/dist/native/p-7b2d8b8c.entry.js.map +0 -1
  533. package/dist/native/p-7b3a4cbf.entry.js.map +0 -1
  534. package/dist/native/p-91d30cd7.entry.js.map +0 -1
  535. package/dist/native/p-92e3e334.entry.js.map +0 -1
  536. package/dist/native/p-982e474f.entry.js +0 -2
  537. package/dist/native/p-a03df637.entry.js +0 -2
  538. package/dist/native/p-a03df637.entry.js.map +0 -1
  539. package/dist/native/p-a15ddd42.js +0 -2
  540. package/dist/native/p-a15ddd42.js.map +0 -1
  541. package/dist/native/p-a5582014.entry.js +0 -2
  542. package/dist/native/p-a5582014.entry.js.map +0 -1
  543. package/dist/native/p-a59ec107.entry.js +0 -2
  544. package/dist/native/p-a59ec107.entry.js.map +0 -1
  545. package/dist/native/p-a7a3c45f.entry.js +0 -2
  546. package/dist/native/p-a7be7540.entry.js +0 -2
  547. package/dist/native/p-a7be7540.entry.js.map +0 -1
  548. package/dist/native/p-a8c0fefa.entry.js +0 -2
  549. package/dist/native/p-a8c0fefa.entry.js.map +0 -1
  550. package/dist/native/p-b4aea326.js +0 -3
  551. package/dist/native/p-b4aea326.js.map +0 -1
  552. package/dist/native/p-c8f36510.entry.js +0 -2
  553. package/dist/native/p-c8f36510.entry.js.map +0 -1
  554. package/dist/native/p-d3d682a7.entry.js +0 -2
  555. package/dist/native/p-d4c0a1e0.entry.js +0 -2
  556. package/dist/native/p-dbade286.entry.js +0 -2
  557. package/dist/native/p-dbade286.entry.js.map +0 -1
  558. package/dist/native/p-e842220b.entry.js +0 -2
  559. package/dist/native/p-eeb6a3dc.js +0 -2
  560. package/dist/native/p-eeb6a3dc.js.map +0 -1
  561. package/dist/native/p-f7b96c42.entry.js +0 -2
  562. package/dist/types/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.d.ts +0 -52
  563. package/dist/types/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.docs.d.ts +0 -4
  564. package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +0 -405
  565. package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.d.ts +0 -4
  566. package/dist/types/components/nv-icon/test/nv-icon.test.d.ts +0 -1
  567. /package/dist/native/{p-7a7b9b95.entry.js.map → p-0f9262ed.entry.js.map} +0 -0
  568. /package/dist/native/{p-f7b96c42.entry.js.map → p-87b93cc2.entry.js.map} +0 -0
  569. /package/dist/native/{p-a7a3c45f.entry.js.map → p-907c3eda.entry.js.map} +0 -0
  570. /package/dist/native/{p-d4c0a1e0.entry.js.map → p-bbc45099.entry.js.map} +0 -0
  571. /package/dist/native/{p-d3d682a7.entry.js.map → p-f42e87b5.entry.js.map} +0 -0
@@ -10,6 +10,67 @@ import { v4 as uuidv4 } from "uuid";
10
10
  */
11
11
  export class NvFieldpassword {
12
12
  constructor() {
13
+ /****************************************************************************/
14
+ //#region PROPERTIES
15
+ /**
16
+ * Sets the ID for the input element and the for attribute of the associated
17
+ * label. If no ID is provided, a random one will be automatically generated
18
+ * to ensure unique identification, facilitating proper label association and
19
+ * accessibility.
20
+ */
21
+ this.inputId = uuidv4();
22
+ /**
23
+ * The disabled prop lets you turn off the input field so that users can’t
24
+ * type in it. When disabled, the field is grayed out and won’t respond to#
25
+ * clicks or touches.
26
+ */
27
+ this.disabled = false;
28
+ /**
29
+ * Display the input field’s content without allowing users to change it.
30
+ * Users can still click on it, select, and copy the text, but they won’t be
31
+ * able to type or delete anything.
32
+ */
33
+ this.readonly = false;
34
+ /**
35
+ * Marks the input field as required, ensuring that the user must fill it out
36
+ * before submitting the form.
37
+ */
38
+ this.required = false;
39
+ /**
40
+ * Alters the input field’s appearance to indicate an error, helping users
41
+ * identify fields that need correction.
42
+ * @validator error
43
+ */
44
+ this.error = false;
45
+ /**
46
+ * Changes the input field’s appearance to indicate successful input or
47
+ * validation.
48
+ */
49
+ this.success = false;
50
+ /**
51
+ * Defines the type of the input.
52
+ * @default 'text'
53
+ */
54
+ this.mode = 'text';
55
+ /**
56
+ * The autocomplete prop helps users fill out the input field faster by
57
+ * suggesting entries they’ve used before, like their email or address.
58
+ * You can turn it on to make forms more convenient or off to ensure users
59
+ * always type in fresh data.
60
+ */
61
+ this.autocomplete = 'off';
62
+ /**
63
+ * Hide the button to show/hide the password.
64
+ */
65
+ this.hidePasswordIcon = false;
66
+ /**
67
+ * Show/hide the password programmatically.
68
+ */
69
+ this.showPassword = false;
70
+ /**
71
+ * Defines whether the password is visible or not.
72
+ */
73
+ this.showPasswordState = this.showPassword;
13
74
  //#endregion EVENTS
14
75
  /****************************************************************************/
15
76
  //#region METHODS
@@ -32,26 +93,6 @@ export class NvFieldpassword {
32
93
  this.value = input.value; // Update the input value without worrying about the space
33
94
  this.valueChanged.emit(input.value);
34
95
  };
35
- this.inputId = uuidv4();
36
- this.label = undefined;
37
- this.description = undefined;
38
- this.placeholder = undefined;
39
- this.name = undefined;
40
- this.value = undefined;
41
- this.disabled = false;
42
- this.readonly = false;
43
- this.required = false;
44
- this.error = false;
45
- this.errorDescription = undefined;
46
- this.success = false;
47
- this.maxlength = undefined;
48
- this.minlength = undefined;
49
- this.pattern = undefined;
50
- this.mode = 'text';
51
- this.autocomplete = 'off';
52
- this.hidePasswordIcon = false;
53
- this.showPassword = false;
54
- this.showPasswordState = this.showPassword;
55
96
  }
56
97
  handleShowPasswordChange(newValue) {
57
98
  this.showPasswordState = newValue;
@@ -60,9 +101,9 @@ export class NvFieldpassword {
60
101
  /****************************************************************************/
61
102
  //#region RENDER
62
103
  render() {
63
- return (h(Host, { key: 'e33d3781acc832fe374732bc8c0164b965926439' }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: '27f03dc42fb2a251e669f3e807fd01eee003c2e7', htmlFor: this.inputId }, h("slot", { key: '61d826d1cea9b5035d614503fc187c484252abff', name: "label" }, this.label))), h("div", { key: 'f75cd0ec46d1c92396ff37f7122029b534e46954', class: "input-wrapper" }, h("slot", { key: 'bd54dca65be1b841ed93e534f8738bf685d495a0', name: "before-input" }), h("div", { key: '4e9a7c5aa765a110f655421bf6dad433e5327bd3', class: "input-container", onClick: this.handleInputContainerClick }, h("slot", { key: '8a6ba620bfe1e2b716f58fd544382f2f7d2b6aa2', name: "leading-input" }), h("input", { key: '36c0f4b08067604f40cab2a807318f604786a610', id: this.inputId, ref: e => (this.inputElement = e), autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, type: this.showPasswordState ? 'text' : 'password', inputMode: this.mode, value: this.value, required: this.required, maxlength: this.maxlength, minlength: this.minlength, pattern: this.pattern, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput }), !this.hidePasswordIcon && (h("nv-iconbutton", { key: 'dd8cbe23483e3fcfa9ec4b790835cca031dc1d11', class: "toggle-password-icon", name: this.showPasswordState ? 'eye' : 'eye-off', size: "md", emphasis: "lower", onClick: this.togglePasswordVisibility, onKeyDown: this.handleKeyDown, "aria-label": this.showPasswordState ? 'Hide password' : 'Show password', "aria-pressed": this.showPasswordState.toString() })), (this.success || this.error) && (h("nv-icon", { key: '9cccf9bdef256a36131208c40379e1a7c7109d03', name: this.success ? 'circle-check' : 'alert-circle', class: "validation", size: "md" }))), h("slot", { key: 'ee5afcdd4ab13bbf79166f451208a62c3f868cab', name: "after-input" })), (this.description ||
64
- this.el.querySelector('[slot="description"]')) && (h("div", { key: '195a795c9b498ee6e03cf2ee9ec90c545cc29085', class: "description" }, h("slot", { key: '5490e3158aeeec08e5fda0e2aaa8fdf7923b742a', name: "description" }, this.description))), (this.errorDescription ||
65
- this.el.querySelector('[slot="error-description"]')) && (h("div", { key: '97569ae30b6a0df6a11e687aabc16edd609f4e0b', hidden: !this.error, class: "error-description" }, h("slot", { key: '144baf7c20ed3244bdce250a7eeed76a1b515b13', name: "error-description" }, this.errorDescription)))));
104
+ return (h(Host, { key: '77ade2d0b5b4282b16925957709433d047a730c7' }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: '158f0347fa53cebea4b89ceee56c8d92c801861f', htmlFor: this.inputId }, h("slot", { key: '6ad0d4a2b7d0e6c32249f8ecfc221523999a7e86', name: "label" }, this.label))), h("div", { key: '7cab4de8be04d0cbdbaee4b3ea64fcb6d9043ca5', class: "input-wrapper" }, h("slot", { key: '808e2c1308b7e095f5207cd9a9198c4667bf2310', name: "before-input" }), h("div", { key: '23f6b0833be73faef6d46dcf0c007c1c16c59681', class: "input-container", onClick: this.handleInputContainerClick }, h("slot", { key: 'f53ff33bc75dd2417cac55a39e1f24875375c564', name: "leading-input" }), h("input", { key: '70e7e28f957224c7613a1da4b2156afeba706d14', id: this.inputId, ref: e => (this.inputElement = e), autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, type: this.showPasswordState ? 'text' : 'password', inputMode: this.mode, value: this.value, required: this.required, maxlength: this.maxlength, minlength: this.minlength, pattern: this.pattern, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput }), !this.hidePasswordIcon && (h("nv-iconbutton", { key: '96742eeecc9de1bf4ae753fc8c64c2e436e5af86', class: "toggle-password-icon", name: this.showPasswordState ? 'eye' : 'eye-off', size: "md", emphasis: "lower", onClick: this.togglePasswordVisibility, onKeyDown: this.handleKeyDown, "aria-label": this.showPasswordState ? 'Hide password' : 'Show password', "aria-pressed": this.showPasswordState.toString() })), (this.success || this.error) && (h("nv-icon", { key: '71666d2e39bc4fe5057ec014cc788f3b734c0e69', name: this.success ? 'circle-check' : 'alert-circle', class: "validation", size: "md" }))), h("slot", { key: '7d232c975753c74ce8419b6258dd63f7ca7ab811', name: "after-input" })), (this.description ||
105
+ this.el.querySelector('[slot="description"]')) && (h("div", { key: 'f9330dd27bce24c81d2fb58c0da7a8de079deb87', class: "description" }, h("slot", { key: '61b9f61075435d7854603aa9e4700a755e0eeb4f', name: "description" }, this.description))), (this.errorDescription ||
106
+ this.el.querySelector('[slot="error-description"]')) && (h("div", { key: 'f4e9183622a9451baa054eea9eb7113b38aa72c2', hidden: !this.error, class: "error-description" }, h("slot", { key: '234af9d31bc011493f700f34a707305a8fb421d4', name: "error-description" }, this.errorDescription)))));
66
107
  }
67
108
  static get is() { return "nv-fieldpassword"; }
68
109
  static get formAssociated() { return true; }
@@ -92,6 +133,8 @@ export class NvFieldpassword {
92
133
  "tags": [],
93
134
  "text": "Sets the ID for the input element and the for attribute of the associated\nlabel. If no ID is provided, a random one will be automatically generated\nto ensure unique identification, facilitating proper label association and\naccessibility."
94
135
  },
136
+ "getter": false,
137
+ "setter": false,
95
138
  "attribute": "input-id",
96
139
  "reflect": true,
97
140
  "defaultValue": "uuidv4()"
@@ -110,6 +153,8 @@ export class NvFieldpassword {
110
153
  "tags": [],
111
154
  "text": "Lets you define the text that explains what users should enter in the text\ninput field. It\u2019s a crucial element for making forms clear and\nuser-friendly."
112
155
  },
156
+ "getter": false,
157
+ "setter": false,
113
158
  "attribute": "label",
114
159
  "reflect": true
115
160
  },
@@ -127,6 +172,8 @@ export class NvFieldpassword {
127
172
  "tags": [],
128
173
  "text": "Add helpful hints or extra information under the text input field. This is\nwhere you can clarify what users should enter or provide additional\ninstructions, making the form easier to fill out correctly."
129
174
  },
175
+ "getter": false,
176
+ "setter": false,
130
177
  "attribute": "description",
131
178
  "reflect": true
132
179
  },
@@ -144,6 +191,8 @@ export class NvFieldpassword {
144
191
  "tags": [],
145
192
  "text": "Display temporary text inside the input field to give users a hint about\nwhat to type. It\u2019s a great way to provide examples or suggestions directly\nin the field before they start typing."
146
193
  },
194
+ "getter": false,
195
+ "setter": false,
147
196
  "attribute": "placeholder",
148
197
  "reflect": true
149
198
  },
@@ -161,6 +210,8 @@ export class NvFieldpassword {
161
210
  "tags": [],
162
211
  "text": "Defines the name attribute of the input field, which is crucial for form\nsubmission. This value is used as the key in the key-value pair sent to\nthe server, representing the input\u2019s data in form submissions. It should be\nunique within the form to avoid conflicts"
163
212
  },
213
+ "getter": false,
214
+ "setter": false,
164
215
  "attribute": "name",
165
216
  "reflect": true
166
217
  },
@@ -178,6 +229,8 @@ export class NvFieldpassword {
178
229
  "tags": [],
179
230
  "text": "Specifies the value of the input field, which determines the text displayed\nwithin the field. This prop is typically used in controlled components\nwhere the input\u2019s value is managed by the component\u2019s state."
180
231
  },
232
+ "getter": false,
233
+ "setter": false,
181
234
  "attribute": "value",
182
235
  "reflect": true
183
236
  },
@@ -195,6 +248,8 @@ export class NvFieldpassword {
195
248
  "tags": [],
196
249
  "text": "The disabled prop lets you turn off the input field so that users can\u2019t\ntype in it. When disabled, the field is grayed out and won\u2019t respond to#\nclicks or touches."
197
250
  },
251
+ "getter": false,
252
+ "setter": false,
198
253
  "attribute": "disabled",
199
254
  "reflect": true,
200
255
  "defaultValue": "false"
@@ -213,6 +268,8 @@ export class NvFieldpassword {
213
268
  "tags": [],
214
269
  "text": "Display the input field\u2019s content without allowing users to change it.\nUsers can still click on it, select, and copy the text, but they won\u2019t be\nable to type or delete anything."
215
270
  },
271
+ "getter": false,
272
+ "setter": false,
216
273
  "attribute": "readonly",
217
274
  "reflect": true,
218
275
  "defaultValue": "false"
@@ -231,6 +288,8 @@ export class NvFieldpassword {
231
288
  "tags": [],
232
289
  "text": "Marks the input field as required, ensuring that the user must fill it out\nbefore submitting the form."
233
290
  },
291
+ "getter": false,
292
+ "setter": false,
234
293
  "attribute": "required",
235
294
  "reflect": true,
236
295
  "defaultValue": "false"
@@ -252,6 +311,8 @@ export class NvFieldpassword {
252
311
  }],
253
312
  "text": "Alters the input field\u2019s appearance to indicate an error, helping users\nidentify fields that need correction."
254
313
  },
314
+ "getter": false,
315
+ "setter": false,
255
316
  "attribute": "error",
256
317
  "reflect": true,
257
318
  "defaultValue": "false"
@@ -273,6 +334,8 @@ export class NvFieldpassword {
273
334
  }],
274
335
  "text": "A description that appears when there is an error related to the password\nfield."
275
336
  },
337
+ "getter": false,
338
+ "setter": false,
276
339
  "attribute": "error-description",
277
340
  "reflect": true
278
341
  },
@@ -290,6 +353,8 @@ export class NvFieldpassword {
290
353
  "tags": [],
291
354
  "text": "Changes the input field\u2019s appearance to indicate successful input or\nvalidation."
292
355
  },
356
+ "getter": false,
357
+ "setter": false,
293
358
  "attribute": "success",
294
359
  "reflect": true,
295
360
  "defaultValue": "false"
@@ -308,6 +373,8 @@ export class NvFieldpassword {
308
373
  "tags": [],
309
374
  "text": "Limits how many characters users can type into the input field. It\u2019s\nhelpful for making sure users don\u2019t enter too much information, keeping\ntheir input within the allowed limit."
310
375
  },
376
+ "getter": false,
377
+ "setter": false,
311
378
  "attribute": "maxlength",
312
379
  "reflect": true
313
380
  },
@@ -325,6 +392,8 @@ export class NvFieldpassword {
325
392
  "tags": [],
326
393
  "text": "Ensures that users type at least a certain number of characters into the\ninput field. It\u2019s a way to make sure users provide enough information\nbefore moving on."
327
394
  },
395
+ "getter": false,
396
+ "setter": false,
328
397
  "attribute": "minlength",
329
398
  "reflect": true
330
399
  },
@@ -340,8 +409,10 @@ export class NvFieldpassword {
340
409
  "optional": false,
341
410
  "docs": {
342
411
  "tags": [],
343
- "text": "Set rules for how the input should be formatted. For example, you can\nrequire that a phone number includes only digits or that an email address\nhas the correct format. If users don\u2019t follow these rules, they\u2019ll get a\nprompt to correct their input.\nthe rules are applied to the input value via regexes."
412
+ "text": "Set rules for how the input should be formatted. For example, you can\nrequire that a phone number includes only digits or that an email address\nhas the correct format. If users don\u2019t follow these rules, they\u2019ll get a\nprompt to correct their input on form submission.\nthe rules are applied to the input value via regexes."
344
413
  },
414
+ "getter": false,
415
+ "setter": false,
345
416
  "attribute": "pattern",
346
417
  "reflect": true
347
418
  },
@@ -362,6 +433,8 @@ export class NvFieldpassword {
362
433
  }],
363
434
  "text": "Defines the type of the input."
364
435
  },
436
+ "getter": false,
437
+ "setter": false,
365
438
  "attribute": "mode",
366
439
  "reflect": true,
367
440
  "defaultValue": "'text'"
@@ -371,7 +444,7 @@ export class NvFieldpassword {
371
444
  "mutable": false,
372
445
  "complexType": {
373
446
  "original": "`${TextInputAutocomplete}`",
374
- "resolved": "\"on\" | \"off\" | \"section-*\" | \"shipping\" | \"billing\" | \"home\" | \"work\" | \"mobile\" | \"fax\" | \"pager\" | \"tel\" | \"tel-country-code\" | \"tel-national\" | \"tel-area-code\" | \"tel-local\" | \"tel-local-prefix\" | \"tel-local-suffix\" | \"tel-extension\" | \"email\" | \"impp\" | \"name\" | \"honorific-prefix\" | \"given-name\" | \"additional-name\" | \"family-name\" | \"honorific-suffix\" | \"nickname\" | \"username\" | \"new-password\" | \"current-password\" | \"one-time-code\" | \"organization-title\" | \"organization\" | \"street-address\" | \"address-line1\" | \"address-line2\" | \"address-line3\" | \"address-level4\" | \"address-level3\" | \"address-level2\" | \"address-level1\" | \"country\" | \"country-name\" | \"postal-code\" | \"cc-name\" | \"cc-given-name\" | \"cc-additional-name\" | \"cc-family-name\" | \"cc-number\" | \"cc-exp\" | \"cc-exp-month\" | \"cc-exp-year\" | \"cc-csc\" | \"cc-type\" | \"transaction-currency\" | \"transaction-amount\" | \"language\" | \"bday\" | \"bday-day\" | \"bday-month\" | \"bday-year\" | \"sex\" | \"url\" | \"photo\"",
447
+ "resolved": "\"on\" | \"off\" | \"home\" | \"section-*\" | \"shipping\" | \"billing\" | \"work\" | \"mobile\" | \"fax\" | \"pager\" | \"tel\" | \"tel-country-code\" | \"tel-national\" | \"tel-area-code\" | \"tel-local\" | \"tel-local-prefix\" | \"tel-local-suffix\" | \"tel-extension\" | \"email\" | \"impp\" | \"name\" | \"honorific-prefix\" | \"given-name\" | \"additional-name\" | \"family-name\" | \"honorific-suffix\" | \"nickname\" | \"username\" | \"new-password\" | \"current-password\" | \"one-time-code\" | \"organization-title\" | \"organization\" | \"street-address\" | \"address-line1\" | \"address-line2\" | \"address-line3\" | \"address-level4\" | \"address-level3\" | \"address-level2\" | \"address-level1\" | \"country\" | \"country-name\" | \"postal-code\" | \"cc-name\" | \"cc-given-name\" | \"cc-additional-name\" | \"cc-family-name\" | \"cc-number\" | \"cc-exp\" | \"cc-exp-month\" | \"cc-exp-year\" | \"cc-csc\" | \"cc-type\" | \"transaction-currency\" | \"transaction-amount\" | \"language\" | \"bday\" | \"bday-day\" | \"bday-month\" | \"bday-year\" | \"sex\" | \"url\" | \"photo\"",
375
448
  "references": {
376
449
  "TextInputAutocomplete": {
377
450
  "location": "import",
@@ -386,6 +459,8 @@ export class NvFieldpassword {
386
459
  "tags": [],
387
460
  "text": "The autocomplete prop helps users fill out the input field faster by\nsuggesting entries they\u2019ve used before, like their email or address.\nYou can turn it on to make forms more convenient or off to ensure users\nalways type in fresh data."
388
461
  },
462
+ "getter": false,
463
+ "setter": false,
389
464
  "attribute": "autocomplete",
390
465
  "reflect": true,
391
466
  "defaultValue": "'off'"
@@ -404,6 +479,8 @@ export class NvFieldpassword {
404
479
  "tags": [],
405
480
  "text": "Hide the button to show/hide the password."
406
481
  },
482
+ "getter": false,
483
+ "setter": false,
407
484
  "attribute": "hide-password-icon",
408
485
  "reflect": true,
409
486
  "defaultValue": "false"
@@ -422,6 +499,8 @@ export class NvFieldpassword {
422
499
  "tags": [],
423
500
  "text": "Show/hide the password programmatically."
424
501
  },
502
+ "getter": false,
503
+ "setter": false,
425
504
  "attribute": "show-password",
426
505
  "reflect": true,
427
506
  "defaultValue": "false"
@@ -1 +1 @@
1
- {"version":3,"file":"nv-fieldpassword.js","sourceRoot":"","sources":["../../../src/components/nv-fieldpassword/nv-fieldpassword.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n State,\n Watch,\n} from '@stencil/core';\n\nimport { v4 as uuidv4 } from 'uuid';\nimport { TextInputAutocomplete } from '../../utils/constants';\n/**\n * @slot leading-input - Content to be placed before the input text, within the input container.\n * @slot before-input - Content to be placed before the input text, outside the input container.\n * @slot after-input - Content to be placed after the input text, outside the input container.\n * @slot label - Content to be placed as the label, will override the label prop.\n * @slot description - Content to be placed as the description, will override the description prop.\n * @slot error-description - Content to be placed as the error description, will override the errorDescription prop.\n */\n\n@Component({\n tag: 'nv-fieldpassword',\n styleUrl: 'nv-fieldpassword.scss',\n shadow: false,\n formAssociated: true,\n})\nexport class NvFieldpassword {\n @Element() el: HTMLNvFieldpasswordElement;\n private inputElement!: HTMLInputElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the ID for the input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated\n * to ensure unique identification, facilitating proper label association and\n * accessibility.\n */\n @Prop({ reflect: true })\n readonly inputId: string = uuidv4();\n\n /**\n * Lets you define the text that explains what users should enter in the text\n * input field. It’s a crucial element for making forms clear and\n * user-friendly.\n */\n @Prop({ reflect: true })\n readonly label: string;\n\n /**\n * Add helpful hints or extra information under the text input field. This is\n * where you can clarify what users should enter or provide additional\n * instructions, making the form easier to fill out correctly.\n */\n // eslint-disable-next-line @stencil-community/strict-mutable\n @Prop({ reflect: true, mutable: true })\n description: string;\n\n /**\n * Display temporary text inside the input field to give users a hint about\n * what to type. It’s a great way to provide examples or suggestions directly\n * in the field before they start typing.\n */\n @Prop({ reflect: true })\n readonly placeholder: string;\n\n /**\n * Defines the name attribute of the input field, which is crucial for form\n * submission. This value is used as the key in the key-value pair sent to\n * the server, representing the input’s data in form submissions. It should be\n * unique within the form to avoid conflicts\n */\n @Prop({ reflect: true })\n readonly name: string;\n\n /**\n * Specifies the value of the input field, which determines the text displayed\n * within the field. This prop is typically used in controlled components\n * where the input’s value is managed by the component’s state.\n */\n @Prop({ reflect: true, mutable: true })\n value: string;\n\n /**\n * The disabled prop lets you turn off the input field so that users can’t\n * type in it. When disabled, the field is grayed out and won’t respond to#\n * clicks or touches.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Display the input field’s content without allowing users to change it.\n * Users can still click on it, select, and copy the text, but they won’t be\n * able to type or delete anything.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n /**\n * Marks the input field as required, ensuring that the user must fill it out\n * before submitting the form.\n */\n @Prop({ reflect: true })\n readonly required: boolean = false;\n\n /**\n * Alters the input field’s appearance to indicate an error, helping users\n * identify fields that need correction.\n * @validator error\n */\n @Prop({ reflect: true })\n readonly error: boolean = false;\n\n /**\n * A description that appears when there is an error related to the password\n * field.\n * @validator message\n */\n @Prop({ reflect: true })\n readonly errorDescription: string;\n\n /**\n * Changes the input field’s appearance to indicate successful input or\n * validation.\n */\n @Prop({ reflect: true })\n readonly success: boolean = false;\n\n /**\n * Limits how many characters users can type into the input field. It’s\n * helpful for making sure users don’t enter too much information, keeping\n * their input within the allowed limit.\n */\n @Prop({ reflect: true })\n readonly maxlength: number;\n\n /**\n * Ensures that users type at least a certain number of characters into the\n * input field. It’s a way to make sure users provide enough information\n * before moving on.\n */\n @Prop({ reflect: true })\n readonly minlength: number;\n\n /**\n * Set rules for how the input should be formatted. For example, you can\n * require that a phone number includes only digits or that an email address\n * has the correct format. If users don’t follow these rules, they’ll get a\n * prompt to correct their input.\n * the rules are applied to the input value via regexes.\n */\n @Prop({ reflect: true })\n readonly pattern: string;\n\n /**\n * Defines the type of the input.\n * @default 'text'\n */\n @Prop({ reflect: true })\n readonly mode: 'text' | 'number' = 'text';\n\n /**\n * The autocomplete prop helps users fill out the input field faster by\n * suggesting entries they’ve used before, like their email or address.\n * You can turn it on to make forms more convenient or off to ensure users\n * always type in fresh data.\n */\n @Prop({ reflect: true })\n readonly autocomplete: `${TextInputAutocomplete}` = 'off';\n\n /**\n * Hide the button to show/hide the password.\n */\n @Prop({ reflect: true })\n readonly hidePasswordIcon: boolean = false;\n\n /**\n * Show/hide the password programmatically.\n */\n @Prop({ reflect: true })\n readonly showPassword: boolean = false;\n\n /**\n * Defines whether the password is visible or not.\n */\n @State()\n showPasswordState: boolean = this.showPassword;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the input value changes.\n * @bind value\n */\n @Event()\n valueChanged: EventEmitter<string>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region METHODS\n\n private handleInputContainerClick = () => {\n this.inputElement.focus();\n };\n\n @Watch('showPassword')\n handleShowPasswordChange(newValue: boolean) {\n this.showPasswordState = newValue;\n }\n\n private togglePasswordVisibility = () => {\n this.showPasswordState = !this.showPasswordState;\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === ' ') {\n event.preventDefault(); // Prevent the space character from being added\n setTimeout(() => {\n this.togglePasswordVisibility();\n }, 0);\n }\n };\n\n private handleInput = (event: Event) => {\n const input = event.target as HTMLInputElement;\n this.value = input.value; // Update the input value without worrying about the space\n this.valueChanged.emit(input.value);\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n {(this.label || this.el.querySelector('[slot=\"label\"]')) && (\n <label htmlFor={this.inputId}>\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n <div class=\"input-wrapper\">\n <slot name=\"before-input\"></slot>\n\n <div class=\"input-container\" onClick={this.handleInputContainerClick}>\n <slot name=\"leading-input\"></slot>\n\n <input\n id={this.inputId}\n ref={e => (this.inputElement = e)}\n autocomplete={this.autocomplete}\n placeholder={this.placeholder}\n name={this.name}\n type={this.showPasswordState ? 'text' : 'password'}\n inputMode={this.mode}\n value={this.value}\n required={this.required}\n maxlength={this.maxlength}\n minlength={this.minlength}\n pattern={this.pattern}\n disabled={this.disabled}\n readOnly={this.readonly}\n onInput={this.handleInput}\n />\n\n {!this.hidePasswordIcon && (\n <nv-iconbutton\n class=\"toggle-password-icon\"\n name={this.showPasswordState ? 'eye' : 'eye-off'}\n size=\"md\"\n emphasis=\"lower\"\n onClick={this.togglePasswordVisibility}\n onKeyDown={this.handleKeyDown}\n aria-label={\n this.showPasswordState ? 'Hide password' : 'Show password'\n }\n aria-pressed={this.showPasswordState.toString()}\n />\n )}\n\n {(this.success || this.error) && (\n <nv-icon\n name={this.success ? 'circle-check' : 'alert-circle'}\n class=\"validation\"\n size=\"md\"\n />\n )}\n </div>\n\n <slot name=\"after-input\"></slot>\n </div>\n\n {(this.description ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n\n {(this.errorDescription ||\n this.el.querySelector('[slot=\"error-description\"]')) && (\n <div hidden={!this.error} class=\"error-description\">\n <slot name=\"error-description\">{this.errorDescription}</slot>\n </div>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
1
+ {"version":3,"file":"nv-fieldpassword.js","sourceRoot":"","sources":["../../../src/components/nv-fieldpassword/nv-fieldpassword.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n State,\n Watch,\n} from '@stencil/core';\n\nimport { v4 as uuidv4 } from 'uuid';\nimport { TextInputAutocomplete } from '../../utils/constants';\n/**\n * @slot leading-input - Content to be placed before the input text, within the input container.\n * @slot before-input - Content to be placed before the input text, outside the input container.\n * @slot after-input - Content to be placed after the input text, outside the input container.\n * @slot label - Content to be placed as the label, will override the label prop.\n * @slot description - Content to be placed as the description, will override the description prop.\n * @slot error-description - Content to be placed as the error description, will override the errorDescription prop.\n */\n\n@Component({\n tag: 'nv-fieldpassword',\n styleUrl: 'nv-fieldpassword.scss',\n shadow: false,\n formAssociated: true,\n})\nexport class NvFieldpassword {\n @Element() el: HTMLNvFieldpasswordElement;\n private inputElement!: HTMLInputElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the ID for the input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated\n * to ensure unique identification, facilitating proper label association and\n * accessibility.\n */\n @Prop({ reflect: true })\n readonly inputId: string = uuidv4();\n\n /**\n * Lets you define the text that explains what users should enter in the text\n * input field. It’s a crucial element for making forms clear and\n * user-friendly.\n */\n @Prop({ reflect: true })\n readonly label: string;\n\n /**\n * Add helpful hints or extra information under the text input field. This is\n * where you can clarify what users should enter or provide additional\n * instructions, making the form easier to fill out correctly.\n */\n // eslint-disable-next-line @stencil-community/strict-mutable\n @Prop({ reflect: true, mutable: true })\n description: string;\n\n /**\n * Display temporary text inside the input field to give users a hint about\n * what to type. It’s a great way to provide examples or suggestions directly\n * in the field before they start typing.\n */\n @Prop({ reflect: true })\n readonly placeholder: string;\n\n /**\n * Defines the name attribute of the input field, which is crucial for form\n * submission. This value is used as the key in the key-value pair sent to\n * the server, representing the input’s data in form submissions. It should be\n * unique within the form to avoid conflicts\n */\n @Prop({ reflect: true })\n readonly name: string;\n\n /**\n * Specifies the value of the input field, which determines the text displayed\n * within the field. This prop is typically used in controlled components\n * where the input’s value is managed by the component’s state.\n */\n @Prop({ reflect: true, mutable: true })\n value: string;\n\n /**\n * The disabled prop lets you turn off the input field so that users can’t\n * type in it. When disabled, the field is grayed out and won’t respond to#\n * clicks or touches.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Display the input field’s content without allowing users to change it.\n * Users can still click on it, select, and copy the text, but they won’t be\n * able to type or delete anything.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n /**\n * Marks the input field as required, ensuring that the user must fill it out\n * before submitting the form.\n */\n @Prop({ reflect: true })\n readonly required: boolean = false;\n\n /**\n * Alters the input field’s appearance to indicate an error, helping users\n * identify fields that need correction.\n * @validator error\n */\n @Prop({ reflect: true })\n readonly error: boolean = false;\n\n /**\n * A description that appears when there is an error related to the password\n * field.\n * @validator message\n */\n @Prop({ reflect: true })\n readonly errorDescription: string;\n\n /**\n * Changes the input field’s appearance to indicate successful input or\n * validation.\n */\n @Prop({ reflect: true })\n readonly success: boolean = false;\n\n /**\n * Limits how many characters users can type into the input field. It’s\n * helpful for making sure users don’t enter too much information, keeping\n * their input within the allowed limit.\n */\n @Prop({ reflect: true })\n readonly maxlength: number;\n\n /**\n * Ensures that users type at least a certain number of characters into the\n * input field. It’s a way to make sure users provide enough information\n * before moving on.\n */\n @Prop({ reflect: true })\n readonly minlength: number;\n\n /**\n * Set rules for how the input should be formatted. For example, you can\n * require that a phone number includes only digits or that an email address\n * has the correct format. If users don’t follow these rules, they’ll get a\n * prompt to correct their input on form submission.\n * the rules are applied to the input value via regexes.\n */\n @Prop({ reflect: true })\n readonly pattern: string;\n\n /**\n * Defines the type of the input.\n * @default 'text'\n */\n @Prop({ reflect: true })\n readonly mode: 'text' | 'number' = 'text';\n\n /**\n * The autocomplete prop helps users fill out the input field faster by\n * suggesting entries they’ve used before, like their email or address.\n * You can turn it on to make forms more convenient or off to ensure users\n * always type in fresh data.\n */\n @Prop({ reflect: true })\n readonly autocomplete: `${TextInputAutocomplete}` = 'off';\n\n /**\n * Hide the button to show/hide the password.\n */\n @Prop({ reflect: true })\n readonly hidePasswordIcon: boolean = false;\n\n /**\n * Show/hide the password programmatically.\n */\n @Prop({ reflect: true })\n readonly showPassword: boolean = false;\n\n /**\n * Defines whether the password is visible or not.\n */\n @State()\n showPasswordState: boolean = this.showPassword;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the input value changes.\n * @bind value\n */\n @Event()\n valueChanged: EventEmitter<string>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region METHODS\n\n private handleInputContainerClick = () => {\n this.inputElement.focus();\n };\n\n @Watch('showPassword')\n handleShowPasswordChange(newValue: boolean) {\n this.showPasswordState = newValue;\n }\n\n private togglePasswordVisibility = () => {\n this.showPasswordState = !this.showPasswordState;\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === ' ') {\n event.preventDefault(); // Prevent the space character from being added\n setTimeout(() => {\n this.togglePasswordVisibility();\n }, 0);\n }\n };\n\n private handleInput = (event: Event) => {\n const input = event.target as HTMLInputElement;\n this.value = input.value; // Update the input value without worrying about the space\n this.valueChanged.emit(input.value);\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n {(this.label || this.el.querySelector('[slot=\"label\"]')) && (\n <label htmlFor={this.inputId}>\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n <div class=\"input-wrapper\">\n <slot name=\"before-input\"></slot>\n\n <div class=\"input-container\" onClick={this.handleInputContainerClick}>\n <slot name=\"leading-input\"></slot>\n\n <input\n id={this.inputId}\n ref={e => (this.inputElement = e)}\n autocomplete={this.autocomplete}\n placeholder={this.placeholder}\n name={this.name}\n type={this.showPasswordState ? 'text' : 'password'}\n inputMode={this.mode}\n value={this.value}\n required={this.required}\n maxlength={this.maxlength}\n minlength={this.minlength}\n pattern={this.pattern}\n disabled={this.disabled}\n readOnly={this.readonly}\n onInput={this.handleInput}\n />\n\n {!this.hidePasswordIcon && (\n <nv-iconbutton\n class=\"toggle-password-icon\"\n name={this.showPasswordState ? 'eye' : 'eye-off'}\n size=\"md\"\n emphasis=\"lower\"\n onClick={this.togglePasswordVisibility}\n onKeyDown={this.handleKeyDown}\n aria-label={\n this.showPasswordState ? 'Hide password' : 'Show password'\n }\n aria-pressed={this.showPasswordState.toString()}\n />\n )}\n\n {(this.success || this.error) && (\n <nv-icon\n name={this.success ? 'circle-check' : 'alert-circle'}\n class=\"validation\"\n size=\"md\"\n />\n )}\n </div>\n\n <slot name=\"after-input\"></slot>\n </div>\n\n {(this.description ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n\n {(this.errorDescription ||\n this.el.querySelector('[slot=\"error-description\"]')) && (\n <div hidden={!this.error} class=\"error-description\">\n <slot name=\"error-description\">{this.errorDescription}</slot>\n </div>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
@@ -8,17 +8,35 @@ import { v4 as uuidv4 } from "uuid";
8
8
  */
9
9
  export class NvFieldradio {
10
10
  constructor() {
11
- this.message = undefined;
11
+ /**
12
+ * Set the label placement to before the input
13
+ * @deprecated use labelPlacement instead.
14
+ */
12
15
  this.labelBefore = false;
16
+ //#endregion DEPRECATED
17
+ /****************************************************************************/
18
+ //#region PROPERTIES
19
+ /**
20
+ * Sets the ID for the radio button’s input element and the for attribute of
21
+ * the associated label. If no ID is provided, a random one will be
22
+ * automatically generated to ensure unique identification, facilitating
23
+ * proper label association and accessibility.
24
+ */
13
25
  this.inputId = uuidv4();
14
- this.name = undefined;
15
- this.value = undefined;
16
- this.label = undefined;
17
- this.labelPlacement = undefined;
18
- this.description = undefined;
26
+ /**
27
+ * Highlight the radio button with error styling. It helps users quickly
28
+ * identify which option needs attention, improving their form-filling
29
+ * experience by making issues more visible.
30
+ * @validator error
31
+ */
19
32
  this.error = false;
20
- this.errorDescription = undefined;
33
+ /**
34
+ * Controls whether the radio button is selected.
35
+ */
21
36
  this.checked = false;
37
+ /**
38
+ * Disables the radio button, making it un-selectable.
39
+ */
22
40
  this.disabled = false;
23
41
  }
24
42
  componentWillRender() {
@@ -59,9 +77,9 @@ export class NvFieldradio {
59
77
  /****************************************************************************/
60
78
  //#region RENDER
61
79
  render() {
62
- return (h(Host, { key: '45884696429c5f9232102f1aee32bd1930085faf', class: clsx(this.labelPlacement === 'before' && 'label-placement-before', this.error && 'error') }, h("input", { key: 'ef66e9c39bf0c9f1740b055e77a9bfefb3d6135c', type: "radio", id: this.inputId, name: this.name, autocomplete: "off", value: this.value, checked: this.checked, disabled: this.disabled }), h("div", { key: '972f6f0a53bcfd1ee468195227397011b34f4ca8', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: '8713b8a6433da65c8b84a323baebdc643ddd605a', htmlFor: this.inputId }, h("slot", { key: 'bc1b2f7e682242d0da1be9e1c9d385e844568d62', name: "label" }, this.label))), (this.description ||
63
- this.el.querySelector('[slot="description"]')) && (h("div", { key: 'c67519cdb09a9a5414a8d37b7013730e32efc700', class: "description" }, h("slot", { key: '5058c3dea12bcb2d00cd55219f4a823d50e55c93', name: "description" }, this.description))), (this.errorDescription ||
64
- this.el.querySelector('[slot="error-description"]')) && (h("div", { key: 'cb264c373040e87183e613bd3d434d3c661f47e7', hidden: !this.error, class: "error-description" }, h("slot", { key: '91d8c2e24647ffbce8d6282a2fe1f2f366ef8712', name: "error-description" }, this.errorDescription))))));
80
+ return (h(Host, { key: 'c180e5204343412df6b2539cd46d7bd53d2d7f19', class: clsx(this.labelPlacement === 'before' && 'label-placement-before', this.error && 'error') }, h("input", { key: '778a3ddc598a81df45f6eecda4660f95af48795a', type: "radio", id: this.inputId, name: this.name, autocomplete: "off", value: this.value, checked: this.checked, disabled: this.disabled }), h("div", { key: '82e3e9ed3cdcd5918f824e5956e720ba04ec3160', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: 'b906d712188ef0ba06c177021b81b9b8132e2d58', htmlFor: this.inputId }, h("slot", { key: '2c81a91a98d2d4739d6b912a0018826830b17c7f', name: "label" }, this.label))), (this.description ||
81
+ this.el.querySelector('[slot="description"]')) && (h("div", { key: '1caa426f06d0d5fcb9fe59e58be7000c854fceb9', class: "description" }, h("slot", { key: 'ba454a12b8f535db62945a145c665f189624dc61', name: "description" }, this.description))), (this.errorDescription ||
82
+ this.el.querySelector('[slot="error-description"]')) && (h("div", { key: 'bf7a31b55f2716cb6436b595d0d96a1974c9c313', hidden: !this.error, class: "error-description" }, h("slot", { key: '9a3b54c1e06d7e42eee9c4ca8e213270b66306b6', name: "error-description" }, this.errorDescription))))));
65
83
  }
66
84
  static get is() { return "nv-fieldradio"; }
67
85
  static get formAssociated() { return true; }
@@ -94,6 +112,8 @@ export class NvFieldradio {
94
112
  }],
95
113
  "text": "Adds a helpful hint message below the label"
96
114
  },
115
+ "getter": false,
116
+ "setter": false,
97
117
  "attribute": "message",
98
118
  "reflect": false
99
119
  },
@@ -114,6 +134,8 @@ export class NvFieldradio {
114
134
  }],
115
135
  "text": "Set the label placement to before the input"
116
136
  },
137
+ "getter": false,
138
+ "setter": false,
117
139
  "attribute": "label-before",
118
140
  "reflect": false,
119
141
  "defaultValue": "false"
@@ -132,6 +154,8 @@ export class NvFieldradio {
132
154
  "tags": [],
133
155
  "text": "Sets the ID for the radio button\u2019s input element and the for attribute of\nthe associated label. If no ID is provided, a random one will be\nautomatically generated to ensure unique identification, facilitating\nproper label association and accessibility."
134
156
  },
157
+ "getter": false,
158
+ "setter": false,
135
159
  "attribute": "input-id",
136
160
  "reflect": true,
137
161
  "defaultValue": "uuidv4()"
@@ -150,6 +174,8 @@ export class NvFieldradio {
150
174
  "tags": [],
151
175
  "text": "Use this to assign a group name to your radio buttons. When you have\nmultiple radio buttons with the same name, users will be able to select\nonly one option within that group, making your forms more organized and\nuser-friendly."
152
176
  },
177
+ "getter": false,
178
+ "setter": false,
153
179
  "attribute": "name",
154
180
  "reflect": true
155
181
  },
@@ -167,6 +193,8 @@ export class NvFieldradio {
167
193
  "tags": [],
168
194
  "text": "Defines what data will be sent when the radio button is selected.\nThis helps you identify which option the user has chosen in your form,\nensuring accurate data collection. When the form is submitted, the data\nwill consist of a name=value pair."
169
195
  },
196
+ "getter": false,
197
+ "setter": false,
170
198
  "attribute": "value",
171
199
  "reflect": true
172
200
  },
@@ -184,6 +212,8 @@ export class NvFieldradio {
184
212
  "tags": [],
185
213
  "text": "Sets the text content that is rendered next to the input element of type\nradio. This label is essential for accessibility and user clarity, as it\ndescribes the purpose or option of the radio button."
186
214
  },
215
+ "getter": false,
216
+ "setter": false,
187
217
  "attribute": "label",
188
218
  "reflect": true
189
219
  },
@@ -207,6 +237,8 @@ export class NvFieldradio {
207
237
  "tags": [],
208
238
  "text": "Defines the position of the label relative to the radio button."
209
239
  },
240
+ "getter": false,
241
+ "setter": false,
210
242
  "attribute": "label-placement",
211
243
  "reflect": true
212
244
  },
@@ -224,6 +256,8 @@ export class NvFieldradio {
224
256
  "tags": [],
225
257
  "text": "Adds a helpful hint message below the label. This description provides\nextra information or context about the radio button option, assisting users\nin making more informed choices."
226
258
  },
259
+ "getter": false,
260
+ "setter": false,
227
261
  "attribute": "description",
228
262
  "reflect": true
229
263
  },
@@ -244,6 +278,8 @@ export class NvFieldradio {
244
278
  }],
245
279
  "text": "Highlight the radio button with error styling. It helps users quickly\nidentify which option needs attention, improving their form-filling\nexperience by making issues more visible."
246
280
  },
281
+ "getter": false,
282
+ "setter": false,
247
283
  "attribute": "error",
248
284
  "reflect": true,
249
285
  "defaultValue": "false"
@@ -265,6 +301,8 @@ export class NvFieldradio {
265
301
  }],
266
302
  "text": "A description that appears when there is an error related to the radio\nbutton."
267
303
  },
304
+ "getter": false,
305
+ "setter": false,
268
306
  "attribute": "error-description",
269
307
  "reflect": true
270
308
  },
@@ -282,6 +320,8 @@ export class NvFieldradio {
282
320
  "tags": [],
283
321
  "text": "Controls whether the radio button is selected."
284
322
  },
323
+ "getter": false,
324
+ "setter": false,
285
325
  "attribute": "checked",
286
326
  "reflect": true,
287
327
  "defaultValue": "false"
@@ -300,6 +340,8 @@ export class NvFieldradio {
300
340
  "tags": [],
301
341
  "text": "Disables the radio button, making it un-selectable."
302
342
  },
343
+ "getter": false,
344
+ "setter": false,
303
345
  "attribute": "disabled",
304
346
  "reflect": true,
305
347
  "defaultValue": "false"
@@ -1 +1 @@
1
- {"version":3,"file":"nv-fieldradio.js","sourceRoot":"","sources":["../../../src/components/nv-fieldradio/nv-fieldradio.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Listen,\n Watch,\n Element,\n} from '@stencil/core';\nimport clsx from 'clsx';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { type FieldLabelPlacement } from '../../utils/constants';\n\n/**\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-fieldradio',\n shadow: false,\n styleUrl: 'nv-fieldradio.scss',\n formAssociated: true,\n})\nexport class NvFieldradio {\n @Element() el: HTMLNvFieldradioElement;\n\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Adds a helpful hint message below the label\n * @deprecated use description instead.\n */\n @Prop()\n readonly message: string;\n\n /**\n * Set the label placement to before the input\n * @deprecated use labelPlacement instead.\n */\n @Prop()\n readonly labelBefore: boolean = false;\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\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 * Use this to assign a group name to your radio buttons. When you have\n * multiple radio buttons with the same name, users will be able to select\n * only one option within that group, making your forms more organized and\n * user-friendly.\n */\n @Prop({ reflect: true })\n readonly name: string;\n\n /**\n * Defines what data will be sent when the radio button is selected.\n * This helps you identify which option the user has chosen in your form,\n * ensuring accurate data collection. When the form is submitted, the data\n * will consist of a name=value pair.\n */\n @Prop({ reflect: true })\n readonly value: string;\n\n /**\n * Sets the text content that is rendered next to the input element of type\n * radio. This label is essential for accessibility and user clarity, as it\n * describes the purpose or option of the radio button.\n */\n @Prop({ reflect: true })\n readonly label: string;\n\n /**\n * Defines the position of the label relative to the radio button.\n */\n @Prop({ mutable: true, reflect: true })\n labelPlacement: `${FieldLabelPlacement}`;\n\n /**\n * Adds a helpful hint message below the label. This description provides\n * extra information or context about the radio button option, assisting users\n * in making more informed choices.\n */\n @Prop({ mutable: true, reflect: true })\n description: string;\n\n /**\n * Highlight the radio button with error styling. It helps users quickly\n * identify which option needs attention, improving their form-filling\n * experience by making issues more visible.\n * @validator error\n */\n @Prop({ reflect: true })\n readonly error: boolean = false;\n\n /**\n * A description that appears when there is an error related to the radio\n * button.\n * @validator message\n */\n @Prop({ reflect: true })\n readonly errorDescription: string;\n\n /**\n * Controls whether the radio button is selected.\n */\n @Prop({ mutable: true, reflect: true })\n checked: boolean = false;\n\n /**\n * Disables the radio button, making it un-selectable.\n */\n @Prop({ reflect: true })\n readonly disabled: 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 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 handleCheckedChange(checked: boolean) {\n this.checkedChanged.emit(checked);\n }\n\n /**\n * Listens for the change event on the radio button input element and controls\n * the checked state of the host elements.\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 === 'radio') {\n Array.from(document.getElementsByTagName('nv-fieldradio')).forEach(\n element => {\n if (element.name === this.name) {\n element.checked = false;\n }\n },\n );\n\n this.checked = target.checked;\n }\n }\n\n //#endregion WATCHERS\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 <input\n type=\"radio\"\n id={this.inputId}\n name={this.name}\n autocomplete=\"off\"\n value={this.value}\n checked={this.checked}\n disabled={this.disabled}\n />\n\n <div class=\"text-container\">\n {(this.label || this.el.querySelector('[slot=\"label\"]')) && (\n <label htmlFor={this.inputId}>\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n {(this.description ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n\n {(this.errorDescription ||\n this.el.querySelector('[slot=\"error-description\"]')) && (\n <div hidden={!this.error} class=\"error-description\">\n <slot name=\"error-description\">{this.errorDescription}</slot>\n </div>\n )}\n </div>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
1
+ {"version":3,"file":"nv-fieldradio.js","sourceRoot":"","sources":["../../../src/components/nv-fieldradio/nv-fieldradio.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Listen,\n Watch,\n Element,\n} from '@stencil/core';\nimport clsx from 'clsx';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { type FieldLabelPlacement } from '../../utils/constants';\n\n/**\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-fieldradio',\n shadow: false,\n styleUrl: 'nv-fieldradio.scss',\n formAssociated: true,\n})\nexport class NvFieldradio {\n @Element() el: HTMLNvFieldradioElement;\n\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Adds a helpful hint message below the label\n * @deprecated use description instead.\n */\n @Prop()\n readonly message: string;\n\n /**\n * Set the label placement to before the input\n * @deprecated use labelPlacement instead.\n */\n @Prop()\n readonly labelBefore: boolean = false;\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\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 * Use this to assign a group name to your radio buttons. When you have\n * multiple radio buttons with the same name, users will be able to select\n * only one option within that group, making your forms more organized and\n * user-friendly.\n */\n @Prop({ reflect: true })\n readonly name: string;\n\n /**\n * Defines what data will be sent when the radio button is selected.\n * This helps you identify which option the user has chosen in your form,\n * ensuring accurate data collection. When the form is submitted, the data\n * will consist of a name=value pair.\n */\n @Prop({ reflect: true })\n readonly value: string;\n\n /**\n * Sets the text content that is rendered next to the input element of type\n * radio. This label is essential for accessibility and user clarity, as it\n * describes the purpose or option of the radio button.\n */\n @Prop({ reflect: true })\n readonly label: string;\n\n /**\n * Defines the position of the label relative to the radio button.\n */\n @Prop({ mutable: true, reflect: true })\n labelPlacement: `${FieldLabelPlacement}`;\n\n /**\n * Adds a helpful hint message below the label. This description provides\n * extra information or context about the radio button option, assisting users\n * in making more informed choices.\n */\n @Prop({ mutable: true, reflect: true })\n description: string;\n\n /**\n * Highlight the radio button with error styling. It helps users quickly\n * identify which option needs attention, improving their form-filling\n * experience by making issues more visible.\n * @validator error\n */\n @Prop({ reflect: true })\n readonly error: boolean = false;\n\n /**\n * A description that appears when there is an error related to the radio\n * button.\n * @validator message\n */\n @Prop({ reflect: true })\n readonly errorDescription: string;\n\n /**\n * Controls whether the radio button is selected.\n */\n @Prop({ mutable: true, reflect: true })\n checked: boolean = false;\n\n /**\n * Disables the radio button, making it un-selectable.\n */\n @Prop({ reflect: true })\n readonly disabled: 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 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 handleCheckedChange(checked: boolean) {\n this.checkedChanged.emit(checked);\n }\n\n /**\n * Listens for the change event on the radio button input element and controls\n * the checked state of the host elements.\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 === 'radio') {\n Array.from(document.getElementsByTagName('nv-fieldradio')).forEach(\n element => {\n if (element.name === this.name) {\n element.checked = false;\n }\n },\n );\n\n this.checked = target.checked;\n }\n }\n\n //#endregion WATCHERS\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 <input\n type=\"radio\"\n id={this.inputId}\n name={this.name}\n autocomplete=\"off\"\n value={this.value}\n checked={this.checked}\n disabled={this.disabled}\n />\n\n <div class=\"text-container\">\n {(this.label || this.el.querySelector('[slot=\"label\"]')) && (\n <label htmlFor={this.inputId}>\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n {(this.description ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n\n {(this.errorDescription ||\n this.el.querySelector('[slot=\"error-description\"]')) && (\n <div hidden={!this.error} class=\"error-description\">\n <slot name=\"error-description\">{this.errorDescription}</slot>\n </div>\n )}\n </div>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
@@ -163,7 +163,7 @@ nv-fieldselect .select-wrapper .select-container select option {
163
163
  }
164
164
  nv-fieldselect .select-wrapper .select-container select option:checked {
165
165
  background-color: var(--color-orange-500);
166
- color: var(--color-base-content-high-emphasis);
166
+ color: var(--color-content-high-text);
167
167
  font-size: var(--form-field-font-size, 16px);
168
168
  font-style: normal;
169
169
  font-weight: 500;