@nova-design-system/nova-webcomponents 3.0.0-beta.25 → 3.0.0-beta.28

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 (400) hide show
  1. package/LICENSE.MD +61 -108
  2. package/dist/blazor-docs.json +1283 -172
  3. package/dist/cjs/app-globals-d8cbb987.js.map +1 -1
  4. package/dist/cjs/index-c50face0.js +48 -0
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/native.cjs.js +1 -1
  7. package/dist/cjs/nv-datagrid.cjs.entry.js +3226 -0
  8. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -0
  9. package/dist/cjs/nv-datagridbody.cjs.entry.js +24 -0
  10. package/dist/cjs/nv-datagridbody.cjs.entry.js.map +1 -0
  11. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +27 -0
  12. package/dist/cjs/nv-datagridcolumn.cjs.entry.js.map +1 -0
  13. package/dist/cjs/nv-datagriddatacell.cjs.entry.js +26 -0
  14. package/dist/cjs/nv-datagriddatacell.cjs.entry.js.map +1 -0
  15. package/dist/cjs/nv-datagridhead.cjs.entry.js +24 -0
  16. package/dist/cjs/nv-datagridhead.cjs.entry.js.map +1 -0
  17. package/dist/cjs/nv-datagridrow.cjs.entry.js +24 -0
  18. package/dist/cjs/nv-datagridrow.cjs.entry.js.map +1 -0
  19. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +4 -4
  20. package/dist/cjs/nv-fielddropdown.cjs.entry.js +3 -3
  21. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
  22. package/dist/cjs/nv-fieldnumber.cjs.entry.js +3 -3
  23. package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
  24. package/dist/cjs/nv-fieldpassword.cjs.entry.js +3 -3
  25. package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
  26. package/dist/cjs/nv-fieldradio.cjs.entry.js +3 -3
  27. package/dist/cjs/nv-fieldradio.cjs.entry.js.map +1 -1
  28. package/dist/cjs/nv-fieldselect.cjs.entry.js +5 -5
  29. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
  30. package/dist/cjs/nv-fieldtext.cjs.entry.js +3 -3
  31. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +3 -3
  32. package/dist/cjs/nv-fieldtoggle.cjs.entry.js +8 -4
  33. package/dist/cjs/nv-fieldtoggle.cjs.entry.js.map +1 -1
  34. package/dist/cjs/nv-icon.cjs.entry.js +1 -1
  35. package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
  36. package/dist/cjs/nv-iconbutton.cjs.entry.js +1 -1
  37. package/dist/cjs/nv-iconbutton.cjs.entry.js.map +1 -1
  38. package/dist/cjs/nv-loader.cjs.entry.js +1 -1
  39. package/dist/cjs/nv-loader.cjs.entry.js.map +1 -1
  40. package/dist/cjs/nv-menu.cjs.entry.js +1 -1
  41. package/dist/cjs/nv-menuitem.cjs.entry.js +1 -1
  42. package/dist/cjs/nv-menuitem.cjs.entry.js.map +1 -1
  43. package/dist/cjs/nv-popover.cjs.entry.js +1 -1
  44. package/dist/cjs/nv-popover.cjs.entry.js.map +1 -1
  45. package/dist/cjs/nv-row.cjs.entry.js +1 -1
  46. package/dist/cjs/nv-row.cjs.entry.js.map +1 -1
  47. package/dist/cjs/nv-stack.cjs.entry.js +1 -1
  48. package/dist/cjs/nv-stack.cjs.entry.js.map +1 -1
  49. package/dist/cjs/nv-table.cjs.entry.js +134 -0
  50. package/dist/cjs/nv-table.cjs.entry.js.map +1 -0
  51. package/dist/cjs/nv-tablebody.cjs.entry.js +24 -0
  52. package/dist/cjs/nv-tablebody.cjs.entry.js.map +1 -0
  53. package/dist/cjs/nv-tablecolumn.cjs.entry.js +30 -0
  54. package/dist/cjs/nv-tablecolumn.cjs.entry.js.map +1 -0
  55. package/dist/cjs/nv-tabledatacell.cjs.entry.js +28 -0
  56. package/dist/cjs/nv-tabledatacell.cjs.entry.js.map +1 -0
  57. package/dist/cjs/nv-tablehead.cjs.entry.js +24 -0
  58. package/dist/cjs/nv-tablehead.cjs.entry.js.map +1 -0
  59. package/dist/cjs/nv-tablerow.cjs.entry.js +24 -0
  60. package/dist/cjs/nv-tablerow.cjs.entry.js.map +1 -0
  61. package/dist/cjs/nv-tooltip.cjs.entry.js +1 -1
  62. package/dist/cjs/nv-tooltip.cjs.entry.js.map +1 -1
  63. package/dist/collection/collection-manifest.json +12 -0
  64. package/dist/collection/components/nv-datagrid/nv-datagrid.css +5 -0
  65. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +225 -0
  66. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +1 -0
  67. package/dist/collection/components/nv-datagrid/nv-datagrid.js +441 -0
  68. package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -0
  69. package/dist/collection/components/nv-datagridbody/nv-datagridbody.css +0 -0
  70. package/dist/collection/components/nv-datagridbody/nv-datagridbody.docs.js +8 -0
  71. package/dist/collection/components/nv-datagridbody/nv-datagridbody.docs.js.map +1 -0
  72. package/dist/collection/components/nv-datagridbody/nv-datagridbody.js +23 -0
  73. package/dist/collection/components/nv-datagridbody/nv-datagridbody.js.map +1 -0
  74. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.css +0 -0
  75. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.docs.js +6 -0
  76. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.docs.js.map +1 -0
  77. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +66 -0
  78. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js.map +1 -0
  79. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.css +0 -0
  80. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.docs.js +6 -0
  81. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.docs.js.map +1 -0
  82. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.js +51 -0
  83. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.js.map +1 -0
  84. package/dist/collection/components/nv-datagridhead/nv-datagridhead.css +0 -0
  85. package/dist/collection/components/nv-datagridhead/nv-datagridhead.docs.js +8 -0
  86. package/dist/collection/components/nv-datagridhead/nv-datagridhead.docs.js.map +1 -0
  87. package/dist/collection/components/nv-datagridhead/nv-datagridhead.js +23 -0
  88. package/dist/collection/components/nv-datagridhead/nv-datagridhead.js.map +1 -0
  89. package/dist/collection/components/nv-datagridrow/nv-datagridrow.css +0 -0
  90. package/dist/collection/components/nv-datagridrow/nv-datagridrow.docs.js +8 -0
  91. package/dist/collection/components/nv-datagridrow/nv-datagridrow.docs.js.map +1 -0
  92. package/dist/collection/components/nv-datagridrow/nv-datagridrow.js +23 -0
  93. package/dist/collection/components/nv-datagridrow/nv-datagridrow.js.map +1 -0
  94. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +4 -4
  95. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +3 -3
  96. package/dist/collection/components/nv-fielddropdownitem/DropdownItemSelectedEventDetail.js.map +1 -1
  97. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +1 -1
  98. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +3 -3
  99. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +1 -1
  100. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +3 -3
  101. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js.map +1 -1
  102. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
  103. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js.map +1 -1
  104. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +5 -5
  105. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js.map +1 -1
  106. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +3 -3
  107. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -3
  108. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.js +8 -4
  109. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.js.map +1 -1
  110. package/dist/collection/components/nv-icon/nv-icon.js +1 -1
  111. package/dist/collection/components/nv-icon/nv-icon.js.map +1 -1
  112. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
  113. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js.map +1 -1
  114. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  115. package/dist/collection/components/nv-loader/nv-loader.js.map +1 -1
  116. package/dist/collection/components/nv-menu/nv-menu.js +1 -1
  117. package/dist/collection/components/nv-menuitem/nv-menuitem.js +1 -1
  118. package/dist/collection/components/nv-menuitem/nv-menuitem.js.map +1 -1
  119. package/dist/collection/components/nv-popover/nv-popover.js +1 -1
  120. package/dist/collection/components/nv-popover/nv-popover.js.map +1 -1
  121. package/dist/collection/components/nv-row/nv-row.js +1 -1
  122. package/dist/collection/components/nv-row/nv-row.js.map +1 -1
  123. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  124. package/dist/collection/components/nv-stack/nv-stack.js.map +1 -1
  125. package/dist/collection/components/nv-table/nv-table.css +5 -0
  126. package/dist/collection/components/nv-table/nv-table.docs.js +178 -0
  127. package/dist/collection/components/nv-table/nv-table.docs.js.map +1 -0
  128. package/dist/collection/components/nv-table/nv-table.js +287 -0
  129. package/dist/collection/components/nv-table/nv-table.js.map +1 -0
  130. package/dist/collection/components/nv-tablebody/nv-tablebody.css +0 -0
  131. package/dist/collection/components/nv-tablebody/nv-tablebody.docs.js +8 -0
  132. package/dist/collection/components/nv-tablebody/nv-tablebody.docs.js.map +1 -0
  133. package/dist/collection/components/nv-tablebody/nv-tablebody.js +23 -0
  134. package/dist/collection/components/nv-tablebody/nv-tablebody.js.map +1 -0
  135. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.css +0 -0
  136. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.docs.js +6 -0
  137. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.docs.js.map +1 -0
  138. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js +131 -0
  139. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js.map +1 -0
  140. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.css +0 -0
  141. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.docs.js +6 -0
  142. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.docs.js.map +1 -0
  143. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.js +95 -0
  144. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.js.map +1 -0
  145. package/dist/collection/components/nv-tablehead/nv-tablehead.css +0 -0
  146. package/dist/collection/components/nv-tablehead/nv-tablehead.docs.js +8 -0
  147. package/dist/collection/components/nv-tablehead/nv-tablehead.docs.js.map +1 -0
  148. package/dist/collection/components/nv-tablehead/nv-tablehead.js +23 -0
  149. package/dist/collection/components/nv-tablehead/nv-tablehead.js.map +1 -0
  150. package/dist/collection/components/nv-tablerow/nv-tablerow.css +0 -0
  151. package/dist/collection/components/nv-tablerow/nv-tablerow.docs.js +8 -0
  152. package/dist/collection/components/nv-tablerow/nv-tablerow.docs.js.map +1 -0
  153. package/dist/collection/components/nv-tablerow/nv-tablerow.js +23 -0
  154. package/dist/collection/components/nv-tablerow/nv-tablerow.js.map +1 -0
  155. package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
  156. package/dist/collection/components/nv-tooltip/nv-tooltip.js.map +1 -1
  157. package/dist/collection/interfaces/Column.js +2 -0
  158. package/dist/collection/interfaces/Column.js.map +1 -0
  159. package/dist/components/nv-alert.js +1 -1
  160. package/dist/components/nv-avatar.js +1 -1
  161. package/dist/components/nv-badge.js +1 -1
  162. package/dist/components/nv-button.js +1 -1
  163. package/dist/components/nv-datagrid.d.ts +11 -0
  164. package/dist/components/nv-datagrid.js +3259 -0
  165. package/dist/components/nv-datagrid.js.map +1 -0
  166. package/dist/components/nv-datagridbody.d.ts +11 -0
  167. package/dist/components/nv-datagridbody.js +38 -0
  168. package/dist/components/nv-datagridbody.js.map +1 -0
  169. package/dist/components/nv-datagridcolumn.d.ts +11 -0
  170. package/dist/components/nv-datagridcolumn.js +44 -0
  171. package/dist/components/nv-datagridcolumn.js.map +1 -0
  172. package/dist/components/nv-datagriddatacell.d.ts +11 -0
  173. package/dist/components/nv-datagriddatacell.js +42 -0
  174. package/dist/components/nv-datagriddatacell.js.map +1 -0
  175. package/dist/components/nv-datagridhead.d.ts +11 -0
  176. package/dist/components/nv-datagridhead.js +38 -0
  177. package/dist/components/nv-datagridhead.js.map +1 -0
  178. package/dist/components/nv-datagridrow.d.ts +11 -0
  179. package/dist/components/nv-datagridrow.js +38 -0
  180. package/dist/components/nv-datagridrow.js.map +1 -0
  181. package/dist/components/nv-fieldcheckbox.js +4 -4
  182. package/dist/components/nv-fielddropdown.js +8 -8
  183. package/dist/components/nv-fielddropdownitem.js +1 -1
  184. package/dist/components/nv-fieldnumber.js +4 -4
  185. package/dist/components/nv-fieldnumber.js.map +1 -1
  186. package/dist/components/nv-fieldpassword.js +6 -6
  187. package/dist/components/nv-fieldpassword.js.map +1 -1
  188. package/dist/components/nv-fieldradio.js +3 -3
  189. package/dist/components/nv-fieldradio.js.map +1 -1
  190. package/dist/components/nv-fieldselect.js +6 -6
  191. package/dist/components/nv-fieldselect.js.map +1 -1
  192. package/dist/components/nv-fieldtext.js +4 -4
  193. package/dist/components/nv-fieldtextarea.js +3 -3
  194. package/dist/components/nv-fieldtoggle.js +8 -4
  195. package/dist/components/nv-fieldtoggle.js.map +1 -1
  196. package/dist/components/nv-icon.js +1 -1
  197. package/dist/components/nv-iconbutton.js +1 -1
  198. package/dist/components/nv-loader.js +1 -1
  199. package/dist/components/nv-menu.js +2 -2
  200. package/dist/components/nv-menuitem.js +2 -2
  201. package/dist/components/nv-menuitem.js.map +1 -1
  202. package/dist/components/nv-popover.js +1 -1
  203. package/dist/components/nv-row.js +1 -1
  204. package/dist/components/nv-row.js.map +1 -1
  205. package/dist/components/nv-stack.js +1 -1
  206. package/dist/components/nv-stack.js.map +1 -1
  207. package/dist/components/nv-table.d.ts +11 -0
  208. package/dist/components/nv-table.js +164 -0
  209. package/dist/components/nv-table.js.map +1 -0
  210. package/dist/components/nv-tablebody.d.ts +11 -0
  211. package/dist/components/nv-tablebody.js +38 -0
  212. package/dist/components/nv-tablebody.js.map +1 -0
  213. package/dist/components/nv-tablecolumn.d.ts +11 -0
  214. package/dist/components/nv-tablecolumn.js +50 -0
  215. package/dist/components/nv-tablecolumn.js.map +1 -0
  216. package/dist/components/nv-tabledatacell.d.ts +11 -0
  217. package/dist/components/nv-tabledatacell.js +46 -0
  218. package/dist/components/nv-tabledatacell.js.map +1 -0
  219. package/dist/components/nv-tablehead.d.ts +11 -0
  220. package/dist/components/nv-tablehead.js +38 -0
  221. package/dist/components/nv-tablehead.js.map +1 -0
  222. package/dist/components/nv-tablerow.d.ts +11 -0
  223. package/dist/components/nv-tablerow.js +38 -0
  224. package/dist/components/nv-tablerow.js.map +1 -0
  225. package/dist/components/nv-tooltip.js +2 -2
  226. package/dist/components/nv-tooltip.js.map +1 -1
  227. package/dist/components/{p-76eb28db.js → p-45405075.js} +3 -3
  228. package/dist/components/{p-76eb28db.js.map → p-45405075.js.map} +1 -1
  229. package/dist/components/{p-9647924f.js → p-45c63143.js} +4 -4
  230. package/dist/components/{p-9647924f.js.map → p-45c63143.js.map} +1 -1
  231. package/dist/components/{p-9be1ebd4.js → p-689a7b38.js} +2 -2
  232. package/dist/components/{p-9be1ebd4.js.map → p-689a7b38.js.map} +1 -1
  233. package/dist/components/{p-ff97f99e.js → p-89fb6636.js} +2 -2
  234. package/dist/components/{p-ff97f99e.js.map → p-89fb6636.js.map} +1 -1
  235. package/dist/components/{p-69cc7819.js → p-8c8cf8ea.js} +2 -2
  236. package/dist/components/{p-69cc7819.js.map → p-8c8cf8ea.js.map} +1 -1
  237. package/dist/docs.json +1300 -256
  238. package/dist/esm/app-globals-eea8674a.js.map +1 -1
  239. package/dist/esm/index-e7b35c14.js +48 -0
  240. package/dist/esm/loader.js +1 -1
  241. package/dist/esm/native.js +1 -1
  242. package/dist/esm/nv-datagrid.entry.js +3222 -0
  243. package/dist/esm/nv-datagrid.entry.js.map +1 -0
  244. package/dist/esm/nv-datagridbody.entry.js +20 -0
  245. package/dist/esm/nv-datagridbody.entry.js.map +1 -0
  246. package/dist/esm/nv-datagridcolumn.entry.js +23 -0
  247. package/dist/esm/nv-datagridcolumn.entry.js.map +1 -0
  248. package/dist/esm/nv-datagriddatacell.entry.js +22 -0
  249. package/dist/esm/nv-datagriddatacell.entry.js.map +1 -0
  250. package/dist/esm/nv-datagridhead.entry.js +20 -0
  251. package/dist/esm/nv-datagridhead.entry.js.map +1 -0
  252. package/dist/esm/nv-datagridrow.entry.js +20 -0
  253. package/dist/esm/nv-datagridrow.entry.js.map +1 -0
  254. package/dist/esm/nv-fieldcheckbox.entry.js +4 -4
  255. package/dist/esm/nv-fielddropdown.entry.js +3 -3
  256. package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
  257. package/dist/esm/nv-fieldnumber.entry.js +3 -3
  258. package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
  259. package/dist/esm/nv-fieldpassword.entry.js +3 -3
  260. package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
  261. package/dist/esm/nv-fieldradio.entry.js +3 -3
  262. package/dist/esm/nv-fieldradio.entry.js.map +1 -1
  263. package/dist/esm/nv-fieldselect.entry.js +5 -5
  264. package/dist/esm/nv-fieldselect.entry.js.map +1 -1
  265. package/dist/esm/nv-fieldtext.entry.js +3 -3
  266. package/dist/esm/nv-fieldtextarea.entry.js +3 -3
  267. package/dist/esm/nv-fieldtoggle.entry.js +8 -4
  268. package/dist/esm/nv-fieldtoggle.entry.js.map +1 -1
  269. package/dist/esm/nv-icon.entry.js +1 -1
  270. package/dist/esm/nv-icon.entry.js.map +1 -1
  271. package/dist/esm/nv-iconbutton.entry.js +1 -1
  272. package/dist/esm/nv-iconbutton.entry.js.map +1 -1
  273. package/dist/esm/nv-loader.entry.js +1 -1
  274. package/dist/esm/nv-loader.entry.js.map +1 -1
  275. package/dist/esm/nv-menu.entry.js +1 -1
  276. package/dist/esm/nv-menuitem.entry.js +1 -1
  277. package/dist/esm/nv-menuitem.entry.js.map +1 -1
  278. package/dist/esm/nv-popover.entry.js +1 -1
  279. package/dist/esm/nv-popover.entry.js.map +1 -1
  280. package/dist/esm/nv-row.entry.js +1 -1
  281. package/dist/esm/nv-row.entry.js.map +1 -1
  282. package/dist/esm/nv-stack.entry.js +1 -1
  283. package/dist/esm/nv-stack.entry.js.map +1 -1
  284. package/dist/esm/nv-table.entry.js +130 -0
  285. package/dist/esm/nv-table.entry.js.map +1 -0
  286. package/dist/esm/nv-tablebody.entry.js +20 -0
  287. package/dist/esm/nv-tablebody.entry.js.map +1 -0
  288. package/dist/esm/nv-tablecolumn.entry.js +26 -0
  289. package/dist/esm/nv-tablecolumn.entry.js.map +1 -0
  290. package/dist/esm/nv-tabledatacell.entry.js +24 -0
  291. package/dist/esm/nv-tabledatacell.entry.js.map +1 -0
  292. package/dist/esm/nv-tablehead.entry.js +20 -0
  293. package/dist/esm/nv-tablehead.entry.js.map +1 -0
  294. package/dist/esm/nv-tablerow.entry.js +20 -0
  295. package/dist/esm/nv-tablerow.entry.js.map +1 -0
  296. package/dist/esm/nv-tooltip.entry.js +1 -1
  297. package/dist/esm/nv-tooltip.entry.js.map +1 -1
  298. package/dist/native/native.css +1 -1
  299. package/dist/native/native.esm.js +1 -1
  300. package/dist/native/native.esm.js.map +1 -1
  301. package/dist/native/p-01be802d.entry.js +2 -0
  302. package/dist/native/p-01be802d.entry.js.map +1 -0
  303. package/dist/native/{p-71fbdb92.entry.js → p-0cfe2048.entry.js} +2 -2
  304. package/dist/native/{p-71fbdb92.entry.js.map → p-0cfe2048.entry.js.map} +1 -1
  305. package/dist/native/{p-4a43953f.entry.js → p-13070761.entry.js} +2 -2
  306. package/dist/native/{p-000749ae.entry.js → p-1edb76e1.entry.js} +2 -2
  307. package/dist/native/{p-000749ae.entry.js.map → p-1edb76e1.entry.js.map} +1 -1
  308. package/dist/native/{p-c16a4fbe.entry.js → p-20c7fc4d.entry.js} +2 -2
  309. package/dist/native/p-20c7fc4d.entry.js.map +1 -0
  310. package/dist/native/p-28cf537b.entry.js +2 -0
  311. package/dist/native/{p-4b550f95.entry.js.map → p-28cf537b.entry.js.map} +1 -1
  312. package/dist/native/p-36d5158c.entry.js +13 -0
  313. package/dist/native/p-36d5158c.entry.js.map +1 -0
  314. package/dist/native/{p-396b65bb.entry.js → p-38817aa3.entry.js} +2 -2
  315. package/dist/native/{p-396b65bb.entry.js.map → p-38817aa3.entry.js.map} +1 -1
  316. package/dist/native/{p-bb243eaf.entry.js → p-39dbb15b.entry.js} +2 -2
  317. package/dist/native/p-4b926563.entry.js +2 -0
  318. package/dist/native/p-4b926563.entry.js.map +1 -0
  319. package/dist/native/{p-d5c24d8f.entry.js → p-4e351d8e.entry.js} +2 -2
  320. package/dist/native/p-671699bf.entry.js +2 -0
  321. package/dist/native/p-671699bf.entry.js.map +1 -0
  322. package/dist/native/{p-25e1bc94.entry.js → p-75b5fdce.entry.js} +2 -2
  323. package/dist/native/{p-25e1bc94.entry.js.map → p-75b5fdce.entry.js.map} +1 -1
  324. package/dist/native/p-7a7b9b95.entry.js +2 -0
  325. package/dist/native/p-7a7b9b95.entry.js.map +1 -0
  326. package/dist/native/{p-5172aa15.entry.js → p-808cf007.entry.js} +2 -2
  327. package/dist/native/{p-23b20b80.entry.js → p-81256924.entry.js} +2 -2
  328. package/dist/native/{p-23b20b80.entry.js.map → p-81256924.entry.js.map} +1 -1
  329. package/dist/native/{p-8de6396f.entry.js → p-844f4878.entry.js} +2 -2
  330. package/dist/native/{p-8de6396f.entry.js.map → p-844f4878.entry.js.map} +1 -1
  331. package/dist/native/p-861f91d3.entry.js +2 -0
  332. package/dist/native/p-861f91d3.entry.js.map +1 -0
  333. package/dist/native/p-9221f72a.entry.js +2 -0
  334. package/dist/native/p-9221f72a.entry.js.map +1 -0
  335. package/dist/native/p-982e474f.entry.js +2 -0
  336. package/dist/native/p-982e474f.entry.js.map +1 -0
  337. package/dist/native/p-99850272.entry.js +2 -0
  338. package/dist/native/p-99850272.entry.js.map +1 -0
  339. package/dist/native/{p-d4e0b6e1.entry.js → p-bdab3562.entry.js} +2 -2
  340. package/dist/native/{p-4cba27be.entry.js → p-c1c661a0.entry.js} +2 -2
  341. package/dist/native/{p-89468485.entry.js → p-c4f7e36d.entry.js} +2 -2
  342. package/dist/native/{p-89468485.entry.js.map → p-c4f7e36d.entry.js.map} +1 -1
  343. package/dist/native/{p-20ea1b61.entry.js → p-dba9c57c.entry.js} +2 -2
  344. package/dist/native/{p-20ea1b61.entry.js.map → p-dba9c57c.entry.js.map} +1 -1
  345. package/dist/native/p-dbae3920.entry.js +2 -0
  346. package/dist/native/{p-0d335326.entry.js.map → p-dbae3920.entry.js.map} +1 -1
  347. package/dist/native/p-de6e0e1f.entry.js +2 -0
  348. package/dist/native/p-de6e0e1f.entry.js.map +1 -0
  349. package/dist/native/{p-aeaa326f.entry.js → p-e2df46e2.entry.js} +2 -2
  350. package/dist/native/{p-aeaa326f.entry.js.map → p-e2df46e2.entry.js.map} +1 -1
  351. package/dist/native/p-e842220b.entry.js +2 -0
  352. package/dist/native/p-e842220b.entry.js.map +1 -0
  353. package/dist/native/{p-a016e4b6.entry.js → p-ea4092a7.entry.js} +2 -2
  354. package/dist/native/{p-a016e4b6.entry.js.map → p-ea4092a7.entry.js.map} +1 -1
  355. package/dist/native/p-eeb6a3dc.js.map +1 -1
  356. package/dist/native/p-f7b96c42.entry.js +2 -0
  357. package/dist/native/p-f7b96c42.entry.js.map +1 -0
  358. package/dist/types/components/nv-datagrid/nv-datagrid.d.ts +87 -0
  359. package/dist/types/components/nv-datagrid/nv-datagrid.docs.d.ts +4 -0
  360. package/dist/types/components/nv-datagridbody/nv-datagridbody.d.ts +7 -0
  361. package/dist/types/components/nv-datagridbody/nv-datagridbody.docs.d.ts +4 -0
  362. package/dist/types/components/nv-datagridcolumn/nv-datagridcolumn.d.ts +16 -0
  363. package/dist/types/components/nv-datagridcolumn/nv-datagridcolumn.docs.d.ts +4 -0
  364. package/dist/types/components/nv-datagriddatacell/nv-datagriddatacell.d.ts +14 -0
  365. package/dist/types/components/nv-datagriddatacell/nv-datagriddatacell.docs.d.ts +4 -0
  366. package/dist/types/components/nv-datagridhead/nv-datagridhead.d.ts +7 -0
  367. package/dist/types/components/nv-datagridhead/nv-datagridhead.docs.d.ts +4 -0
  368. package/dist/types/components/nv-datagridrow/nv-datagridrow.d.ts +7 -0
  369. package/dist/types/components/nv-datagridrow/nv-datagridrow.docs.d.ts +4 -0
  370. package/dist/types/components/nv-fielddropdownitem/DropdownItemSelectedEventDetail.d.ts +12 -0
  371. package/dist/types/components/nv-fieldtoggle/nv-fieldtoggle.d.ts +4 -4
  372. package/dist/types/components/nv-menuitem/nv-menuitem.d.ts +3 -0
  373. package/dist/types/components/nv-table/nv-table.d.ts +72 -0
  374. package/dist/types/components/nv-table/nv-table.docs.d.ts +4 -0
  375. package/dist/types/components/nv-tablebody/nv-tablebody.d.ts +7 -0
  376. package/dist/types/components/nv-tablebody/nv-tablebody.docs.d.ts +4 -0
  377. package/dist/types/components/nv-tablecolumn/nv-tablecolumn.d.ts +51 -0
  378. package/dist/types/components/nv-tablecolumn/nv-tablecolumn.docs.d.ts +4 -0
  379. package/dist/types/components/nv-tabledatacell/nv-tabledatacell.d.ts +30 -0
  380. package/dist/types/components/nv-tabledatacell/nv-tabledatacell.docs.d.ts +4 -0
  381. package/dist/types/components/nv-tablehead/nv-tablehead.d.ts +7 -0
  382. package/dist/types/components/nv-tablehead/nv-tablehead.docs.d.ts +4 -0
  383. package/dist/types/components/nv-tablerow/nv-tablerow.d.ts +7 -0
  384. package/dist/types/components/nv-tablerow/nv-tablerow.docs.d.ts +4 -0
  385. package/dist/types/components.d.ts +400 -0
  386. package/dist/types/interfaces/Column.d.ts +13 -0
  387. package/dist/types/nova-docs.d.ts +18 -0
  388. package/dist/vscode-data.json +192 -0
  389. package/hydrate/index.js +3743 -41
  390. package/hydrate/index.mjs +3743 -41
  391. package/package.json +57 -1
  392. package/dist/native/p-0d335326.entry.js +0 -2
  393. package/dist/native/p-4b550f95.entry.js +0 -2
  394. package/dist/native/p-c16a4fbe.entry.js.map +0 -1
  395. /package/dist/native/{p-4a43953f.entry.js.map → p-13070761.entry.js.map} +0 -0
  396. /package/dist/native/{p-bb243eaf.entry.js.map → p-39dbb15b.entry.js.map} +0 -0
  397. /package/dist/native/{p-d5c24d8f.entry.js.map → p-4e351d8e.entry.js.map} +0 -0
  398. /package/dist/native/{p-5172aa15.entry.js.map → p-808cf007.entry.js.map} +0 -0
  399. /package/dist/native/{p-d4e0b6e1.entry.js.map → p-bdab3562.entry.js.map} +0 -0
  400. /package/dist/native/{p-4cba27be.entry.js.map → p-c1c661a0.entry.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ import{r as e,h as a,a as b}from"./p-b4aea326.js";const s="";const t=s;const c=class{constructor(a){e(this,a)}render(){return a(b,{key:"664bc779e57e372c4939f34e79be34672c701b9b"},a("thead",{key:"772dfe48aea949fa05229f036589947dcf097992"},a("slot",{key:"bc76551105f0f0dfb4d6639bbe5b304b5b824328"})))}};c.style=t;export{c as nv_tablehead};
2
+ //# sourceMappingURL=p-861f91d3.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["nvTableheadCss","NvTableheadStyle0","NvTablehead","render","h","Host","key"],"sources":["src/components/nv-tablehead/nv-tablehead.scss?tag=nv-tablehead","src/components/nv-tablehead/nv-tablehead.tsx"],"sourcesContent":["// No need for the moment\n","import { Component, Host, h } from '@stencil/core';\n\n/**\n * @slot default - Use this slot to insert HTML into the table head.\n */\n@Component({\n tag: 'nv-tablehead',\n styleUrl: 'nv-tablehead.scss',\n shadow: false,\n})\nexport class NvTablehead {\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n <thead>\n <slot></slot>\n </thead>\n </Host>\n );\n }\n\n //#endregion RENDER\n /****************************************************************************/\n}\n"],"mappings":"kDAAA,MAAMA,EAAiB,GACvB,MAAAC,EAAeD,E,MCSFE,EAAW,M,yBAItB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,SAAAE,IAAA,4CACEF,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as a,a as d}from"./p-b4aea326.js";const s="";const t=s;const c=class{constructor(a){e(this,a)}render(){return a(d,{key:"033046403a927a4e738ee0b17491436872845375"},a("tbody",{key:"e9dd64ba4c4463b64f7c48ea01aa8d577d1abddd"},a("slot",{key:"3790e34a3f1c0c870e41f5259edf956253cf031d"})))}};c.style=t;export{c as nv_tablebody};
2
+ //# sourceMappingURL=p-9221f72a.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["nvTablebodyCss","NvTablebodyStyle0","NvTablebody","render","h","Host","key"],"sources":["src/components/nv-tablebody/nv-tablebody.scss?tag=nv-tablebody","src/components/nv-tablebody/nv-tablebody.tsx"],"sourcesContent":["// No need for the moment\n","import { Component, Host, h } from '@stencil/core';\n\n/**\n * @slot default - Use this slot to insert HTML into the table body.\n */\n@Component({\n tag: 'nv-tablebody',\n styleUrl: 'nv-tablebody.scss',\n shadow: false,\n})\nexport class NvTablebody {\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n <tbody>\n <slot></slot>\n </tbody>\n </Host>\n );\n }\n\n //#endregion RENDER\n /****************************************************************************/\n}\n"],"mappings":"kDAAA,MAAMA,EAAiB,GACvB,MAAAC,EAAeD,E,MCSFE,EAAW,M,yBAItB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,SAAAE,IAAA,4CACEF,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as a,h as e,a as d}from"./p-b4aea326.js";const t="";const s=t;const c=class{constructor(e){a(this,e);this.accessor=undefined}render(){return e(d,{key:"bf3caf31ee31fdba6254c1907883474a84610dda"},e("td",{key:"709febb6ab666afd3841c7d0086f889309f31fbd"},e("slot",{key:"c309eda6f57527a3ca1bba68983521121944a156"})))}};c.style=s;export{c as nv_datagriddatacell};
2
+ //# sourceMappingURL=p-982e474f.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["nvDatagriddatacellCss","NvDatagriddatacellStyle0","NvDatagriddatacell","render","h","Host","key"],"sources":["src/components/nv-datagriddatacell/nv-datagriddatacell.scss?tag=nv-datagriddatacell","src/components/nv-datagriddatacell/nv-datagriddatacell.tsx"],"sourcesContent":["// No need for the moment\n","import { Component, Host, Prop, h } from '@stencil/core';\n\n/**\n * @slot default - Use this slot to insert HTML into the data grid data cell.\n */\n@Component({\n tag: 'nv-datagriddatacell',\n styleUrl: 'nv-datagriddatacell.scss',\n shadow: false,\n})\nexport class NvDatagriddatacell {\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Contains a string that identifies a cell in a table. It is used with the\n * headers attribute to associate data cells with header cells in complex tables.\n * @example 'col1'\n */\n @Prop()\n readonly accessor: string;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n <td>\n <slot></slot>\n </td>\n </Host>\n );\n }\n\n //#endregion RENDER\n /****************************************************************************/\n}\n"],"mappings":"kDAAA,MAAMA,EAAwB,GAC9B,MAAAC,EAAeD,E,MCSFE,EAAkB,M,iDAgB7B,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,MAAAE,IAAA,4CACEF,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as s,a}from"./p-b4aea326.js";const t="";const n=t;const i=class{constructor(s){e(this,s);this.abbr=undefined;this.colspan=1;this.rowspan=1;this.headers=undefined;this.scope=undefined}render(){return s(a,{key:"9e3e12375467e02e9e964b3f008aaee842704132"},s("th",{key:"9e4ee5f486d53a6200bd73652d35783da9d56eae",abbr:this.abbr,colSpan:this.colspan,headers:this.headers,rowSpan:this.rowspan,scope:this.scope},s("slot",{key:"b59a867f3fad0e30e475f730aaaf482564969807"})))}};i.style=n;export{i as nv_tablecolumn};
2
+ //# sourceMappingURL=p-99850272.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["nvTablecolumnCss","NvTablecolumnStyle0","NvTablecolumn","render","h","Host","key","abbr","this","colSpan","colspan","headers","rowSpan","rowspan","scope"],"sources":["src/components/nv-tablecolumn/nv-tablecolumn.scss?tag=nv-tablecolumn","src/components/nv-tablecolumn/nv-tablecolumn.tsx"],"sourcesContent":["// No need for the moment\n","import { Component, Host, Prop, h } from '@stencil/core';\n\n/**\n * @slot default - Use this slot to insert HTML into the table column.\n */\n@Component({\n tag: 'nv-tablecolumn',\n styleUrl: 'nv-tablecolumn.scss',\n shadow: false,\n})\nexport class NvTablecolumn {\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * A short, abbreviated description of the header cell's content provided as an\n * alternative label to use for the header cell when referencing the cell in other\n * contexts. Some user-agents, such as speech readers, may present this description\n * before the content itself.\n */\n @Prop()\n readonly abbr: string;\n\n /**\n * A non-negative integer value indicating how many columns the header cell spans\n * or extends. The default value is 1. User agents dismiss values higher than 1000\n * as incorrect, defaulting such values to 1.\n * @default 1\n */\n @Prop()\n readonly colspan: number = 1;\n\n /**\n * A non-negative integer value indicating how many rows the header cell spans or\n * extends. The default value is 1; if its value is set to 0, the header cell will\n * extends to the end of the table grouping section (`<thead>`, `<tbody>`, `<tfoot>`,\n * even if implicitly defined), that the `<th>` belongs to. Values higher than 65534\n * are clipped at 65534.\n * @default 1\n */\n @Prop()\n readonly rowspan: number = 1;\n\n /**\n * A list of space-separated strings corresponding to the id attributes of the `<th>`\n * elements that provide the headers for this header cell.\n * @example 'col1 col2'\n */\n @Prop()\n readonly headers: string;\n\n /**\n * Defines the cells that the header (defined in the `<th>`) element relates to.\n * Possible enumerated values are:\n *\n * - `col`: The header relates to all cells of the column it belongs to.\n * - `row`: The header relates to all cells of the row it belongs to.\n * - `colgroup`: The header relates to all cells of the column group it belongs to.\n * - `rowgroup`: The header relates to all cells of the row group it belongs to.\n *\n * If the `scope` attribute is not specified, or its value is not `row`, `col`,\n * `rowgroup`, or `colgroup`, then browsers automatically select the set of cells to\n * which the header cell applies.\n */\n @Prop()\n readonly scope: 'col' | 'row' | 'colgroup' | 'rowgroup';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n <th\n abbr={this.abbr}\n colSpan={this.colspan}\n headers={this.headers}\n rowSpan={this.rowspan}\n scope={this.scope}\n >\n <slot></slot>\n </th>\n </Host>\n );\n }\n\n //#endregion RENDER\n /****************************************************************************/\n}\n"],"mappings":"6CAAA,MAAMA,EAAmB,GACzB,MAAAC,EAAeD,E,MCSFE,EAAa,M,0DAoBG,E,aAWA,E,4CA8B3B,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,MAAAE,IAAA,2CACEC,KAAMC,KAAKD,KACXE,QAASD,KAAKE,QACdC,QAASH,KAAKG,QACdC,QAASJ,KAAKK,QACdC,MAAON,KAAKM,OAEZV,EAAA,QAAAE,IAAA,8C","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as e,c as r,h as i,a as o,g as t}from"./p-b4aea326.js";import{v as n}from"./p-f5ff676c.js";const d='nv-fieldtext{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box}nv-fieldtext[readonly]:not([readonly=false]){--nv-field-border-default:var(--components-form-field-border-readonly);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-background:var(--components-form-field-background-readonly)}nv-fieldtext[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive)}nv-fieldtext[success]:not([success=false]){--nv-field-border-default:var(--components-form-field-border-success);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-success)}nv-fieldtext[required]:not([required=false]) label::after{content:"*";color:var(--components-form-text-required);font-weight:700}nv-fieldtext label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:500;line-height:var(--form-label-line-height)}nv-fieldtext .input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch}nv-fieldtext .input-wrapper .input-container{display:flex;flex-grow:1;padding:calc(var(--form-field-padding-y) - 1px) var(--form-field-padding-x);justify-content:center;align-items:center;gap:var(--form-field-gap);align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fieldtext .input-wrapper .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldtext .input-wrapper .input-container:focus-within{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fieldtext .input-wrapper .input-container:has(input:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fieldtext .input-wrapper .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldtext .input-wrapper .input-container input{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);text-overflow:ellipsis;font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height)}nv-fieldtext .input-wrapper .input-container input:focus{outline:none}nv-fieldtext .input-wrapper .input-container input::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:"TT Norms Pro", sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:400;line-height:var(--form-field-line-height)}nv-fieldtext .input-wrapper .input-container nv-icon.validation{color:var(--nv-field-border-default)}nv-fieldtext .description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fieldtext .error-description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}';const a=d;const l=class{constructor(i){e(this,i);this.valueChanged=r(this,"valueChanged",7);this.handleInput=e=>{const r=e.target;this.value=r.value;this.valueChanged.emit(r.value)};this.handleInputContainerClick=()=>{this.inputElement.focus()};this.message=undefined;this.validation=undefined;this.textInputType=undefined;this.inputId=n();this.label=undefined;this.description=undefined;this.placeholder=undefined;this.name=undefined;this.value=undefined;this.type="text";this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.errorDescription=undefined;this.success=false;this.maxlength=undefined;this.minlength=undefined;this.pattern=undefined;this.autocomplete=undefined;this.multiple=false}componentWillRender(){if(this.textInputType){this.type=this.textInputType}if(this.message){this.description=this.message}if(this.validation){this.errorDescription=this.validation;this.error=true}}render(){return i(o,{key:"e225aa4eaca09107049fa32ccf899bce6ee470a7"},(this.label||this.el.querySelector('[slot="label"]'))&&i("label",{key:"ba7633e59530f2ee1d4705d7d1a9aba41e1b3f35",htmlFor:this.inputId},i("slot",{key:"2baaf93329a6ccc2272dffa02b5cae183e0df7c5",name:"label"},this.label)),i("div",{key:"acb57998333c6f120e8f2767edb5219522cef1b1",class:"input-wrapper"},i("slot",{key:"9514a67fc44ed12d19a77d7dbe207973c9e2a2e4",name:"before-input"}),i("div",{key:"5ddfe286f746e0a8bb227cb161f136e3accd31d8",class:"input-container",onClick:this.handleInputContainerClick},i("slot",{key:"468801862e9586bd7c4ced9514e03e564e003751",name:"leading-input"}),i("input",{key:"5fee6340bb6b66fa06459f646528b31e1894493f",id:this.inputId,ref:e=>this.inputElement=e,placeholder:this.placeholder,name:this.name,type:this.type,disabled:this.disabled,readOnly:this.readonly,required:this.required,maxlength:this.maxlength,minlength:this.minlength,pattern:this.pattern,autocomplete:this.autocomplete,multiple:this.multiple,value:this.value,onInput:this.handleInput}),this.error&&i("nv-icon",{key:"29cef781d6815da459d2459749237c2fd8daa3a5",name:"alert-circle",class:"validation",size:"sm"}),this.success&&i("nv-icon",{key:"2d43eed9dd4cfc5545bb001809604903879cbe44",name:"circle-check",class:"validation",size:"sm"})),i("slot",{key:"bf438d831e88a0a2a8886c4539c9a294f0276507",name:"after-input"})),(this.description||this.el.querySelector('[slot="description"]'))&&i("div",{key:"11ead2a09340dc116ed3f6701dcd42cf14393e68",class:"description"},i("slot",{key:"a54450d197d3fe5565d64b66899aac0a69fc27be",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&i("div",{key:"ee77c6e156665ab92ece7d653f2079d841a3ba71",hidden:!this.error,class:"error-description"},i("slot",{key:"b8eb5b43f7a7df72b4f278b9b86c0c621642900b",name:"error-description"},this.errorDescription)))}static get formAssociated(){return true}get el(){return t(this)}};l.style=a;export{l as nv_fieldtext};
2
- //# sourceMappingURL=p-d4e0b6e1.entry.js.map
1
+ import{r as e,c as r,h as i,a as o,g as t}from"./p-b4aea326.js";import{v as n}from"./p-f5ff676c.js";const d='nv-fieldtext{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box}nv-fieldtext[readonly]:not([readonly=false]){--nv-field-border-default:var(--components-form-field-border-readonly);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-background:var(--components-form-field-background-readonly)}nv-fieldtext[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive)}nv-fieldtext[success]:not([success=false]){--nv-field-border-default:var(--components-form-field-border-success);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-success)}nv-fieldtext[required]:not([required=false]) label::after{content:"*";color:var(--components-form-text-required);font-weight:700}nv-fieldtext label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:500;line-height:var(--form-label-line-height)}nv-fieldtext .input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch}nv-fieldtext .input-wrapper .input-container{display:flex;flex-grow:1;padding:calc(var(--form-field-padding-y) - 1px) var(--form-field-padding-x);justify-content:center;align-items:center;gap:var(--form-field-gap);align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fieldtext .input-wrapper .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldtext .input-wrapper .input-container:focus-within{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fieldtext .input-wrapper .input-container:has(input:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fieldtext .input-wrapper .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldtext .input-wrapper .input-container input{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);text-overflow:ellipsis;font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height)}nv-fieldtext .input-wrapper .input-container input:focus{outline:none}nv-fieldtext .input-wrapper .input-container input::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:"TT Norms Pro", sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:400;line-height:var(--form-field-line-height)}nv-fieldtext .input-wrapper .input-container nv-icon.validation{color:var(--nv-field-border-default)}nv-fieldtext .description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fieldtext .error-description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}';const a=d;const l=class{constructor(i){e(this,i);this.valueChanged=r(this,"valueChanged",7);this.handleInput=e=>{const r=e.target;this.value=r.value;this.valueChanged.emit(r.value)};this.handleInputContainerClick=()=>{this.inputElement.focus()};this.message=undefined;this.validation=undefined;this.textInputType=undefined;this.inputId=n();this.label=undefined;this.description=undefined;this.placeholder=undefined;this.name=undefined;this.value=undefined;this.type="text";this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.errorDescription=undefined;this.success=false;this.maxlength=undefined;this.minlength=undefined;this.pattern=undefined;this.autocomplete=undefined;this.multiple=false}componentWillRender(){if(this.textInputType){this.type=this.textInputType}if(this.message){this.description=this.message}if(this.validation){this.errorDescription=this.validation;this.error=true}}render(){return i(o,{key:"8c9c791ef7164a3d1dc248242ced345652fae05d"},(this.label||this.el.querySelector('[slot="label"]'))&&i("label",{key:"8e768c2299d48e0ec4f2f4052503b38ec07367e9",htmlFor:this.inputId},i("slot",{key:"316e1beffe5534bd1386c9a85818a4fc134de595",name:"label"},this.label)),i("div",{key:"9a52ffcbcf9ef514c108c0f64ab09b0f1c70f80b",class:"input-wrapper"},i("slot",{key:"bcb5d42ea25518e7d4408f6044ec70343476bd80",name:"before-input"}),i("div",{key:"478c7770b2d00c7a0a4182cc4e23b426d74924b9",class:"input-container",onClick:this.handleInputContainerClick},i("slot",{key:"0b9538c630b6d1e27b439c54e47c31c39cce6001",name:"leading-input"}),i("input",{key:"3a3ccf0c9fb16ef47f1c143c4d54a73e400e2b29",id:this.inputId,ref:e=>this.inputElement=e,placeholder:this.placeholder,name:this.name,type:this.type,disabled:this.disabled,readOnly:this.readonly,required:this.required,maxlength:this.maxlength,minlength:this.minlength,pattern:this.pattern,autocomplete:this.autocomplete,multiple:this.multiple,value:this.value,onInput:this.handleInput}),this.error&&i("nv-icon",{key:"cd45c694b5480e3ee92d58ac05e51c97a1dd12f6",name:"alert-circle",class:"validation",size:"sm"}),this.success&&i("nv-icon",{key:"6fca533bbceb8c4f4f9ed7dbcd9373df54d8496d",name:"circle-check",class:"validation",size:"sm"})),i("slot",{key:"0ee33ded353265eeed3253b5c9f039b739508a82",name:"after-input"})),(this.description||this.el.querySelector('[slot="description"]'))&&i("div",{key:"12bd5f917245feb4562dd8903c157429ef72dae9",class:"description"},i("slot",{key:"37894343aa3ad21d37dc93f47a27723fdc7cc89a",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&i("div",{key:"04253d575a1c987f48a95e32c41a38e0fe10c3a4",hidden:!this.error,class:"error-description"},i("slot",{key:"2db01455b977c68638271427283d95b811f41d54",name:"error-description"},this.errorDescription)))}static get formAssociated(){return true}get el(){return t(this)}};l.style=a;export{l as nv_fieldtext};
2
+ //# sourceMappingURL=p-bdab3562.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as e,c as r,h as t,a,g as o}from"./p-b4aea326.js";import{c as i}from"./p-8a1a6e56.js";import{v as n}from"./p-f5ff676c.js";const d='nv-fieldtextarea{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box}nv-fieldtextarea[readonly]:not([readonly=false]){--nv-field-border-default:var(--components-form-field-border-readonly);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-background:var(--components-form-field-background-readonly)}nv-fieldtextarea[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive)}nv-fieldtextarea[success]:not([success=false]){--nv-field-border-default:var(--components-form-field-border-success);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-success)}nv-fieldtextarea[required]:not([required=false]) label::after{content:"*";color:var(--components-form-text-required);font-weight:700}nv-fieldtextarea label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:500;line-height:var(--form-label-line-height)}nv-fieldtextarea .textarea-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch}nv-fieldtextarea .textarea-wrapper .textarea-container{display:flex;flex-grow:1;padding:calc(var(--form-field-padding-y) - 1px) var(--form-field-padding-x);justify-content:center;align-items:center;gap:var(--form-field-gap);align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fieldtextarea .textarea-wrapper .textarea-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldtextarea .textarea-wrapper .textarea-container:focus-within{border-color:var(--nv-field-border-focus);box-shadow:0 0 0 var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fieldtextarea .textarea-wrapper .textarea-container:has(textarea:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fieldtextarea .textarea-wrapper .textarea-container:has(textarea:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldtextarea .textarea-wrapper .textarea-container textarea{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);text-overflow:ellipsis;font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height)}nv-fieldtextarea .textarea-wrapper .textarea-container textarea:focus{outline:none}nv-fieldtextarea .textarea-wrapper .textarea-container textarea::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:"TT Norms Pro", sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:400;line-height:var(--form-field-line-height)}nv-fieldtextarea .textarea-wrapper .textarea-container nv-icon.validation{color:var(--nv-field-border-default)}nv-fieldtextarea .description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fieldtextarea .error-description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}';const s=d;const l=class{constructor(t){e(this,t);this.valueChanged=r(this,"valueChanged",7);this.handleTextarea=e=>{const r=e.target;this.value=r.value;this.valueChanged.emit(r.value);if(this.autosize){this.adjustTextareaHeight()}};this.handleTextareaContainerClick=()=>{this.textareaElement.focus()};this.message=undefined;this.validation=undefined;this.textareaId=n();this.label=undefined;this.description=undefined;this.placeholder=undefined;this.name=undefined;this.value=undefined;this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.errorDescription=undefined;this.success=false;this.maxlength=undefined;this.minlength=undefined;this.rows=3;this.resize="vertical";this.autosize=false}componentWillRender(){if(this.message){this.description=this.message}if(this.validation){this.errorDescription=this.validation;this.error=true}}rowsChanged(){if(this.autosize){this.adjustTextareaHeight()}}autosizeChanged(){var e;if(this.autosize){this.adjustTextareaHeight()}else{(e=this.textareaElement)===null||e===void 0?void 0:e.style.removeProperty("height")}}adjustTextareaHeight(){if(this.textareaElement&&this.autosize){this.textareaElement.style.height="auto";const e=window.getComputedStyle(this.textareaElement);const r=parseFloat(e.lineHeight);const t=parseFloat(e.paddingTop);const a=parseFloat(e.paddingBottom);const o=parseFloat(e.borderTopWidth);const i=parseFloat(e.borderBottomWidth);const n=r*this.rows+t+a+o+i;this.textareaElement.style.minHeight=`${n}px`;this.textareaElement.style.height=this.textareaElement.scrollHeight+"px"}}getResize(){if(this.resize==="none")return"resize-none";if(this.resize==="vertical")return"resize-y";if(this.resize==="horizontal")return"resize-x";if(this.resize==="both")return"resize";return"resize-none"}componentDidLoad(){if(this.autosize){this.adjustTextareaHeight()}}render(){return t(a,{key:"b2d6c6960de6f0345aa68d6a7745736bbc17af63"},(this.label||this.el.querySelector('[slot="label"]'))&&t("label",{key:"208a64d1a050d9660feddc5a9da12fdf5cbba3b5",htmlFor:this.textareaId},t("slot",{key:"c6a6c34c0a9947552b24acd1a036b960d475989c",name:"label"},this.label)),t("div",{key:"4f843961c1411ee913394e62b340854073a7af76",class:"textarea-wrapper"},t("div",{key:"622dc04df7e02c63f3880b55787000f81e8450a8",class:"textarea-container",onClick:this.handleTextareaContainerClick},t("textarea",{key:"3da5d56fed71c6a4d2ace78610a94e6fa873bc85",id:this.textareaId,ref:e=>this.textareaElement=e,placeholder:this.placeholder,name:this.name,disabled:this.disabled,readOnly:this.readonly,required:this.required,maxlength:this.maxlength,minlength:this.minlength,autocomplete:"off",value:this.value,onInput:this.handleTextarea,rows:this.rows,class:i(this.getResize())}))),(this.description||this.el.querySelector('[slot="description"]'))&&t("div",{key:"3f7dee56c20b55baa0f57cb366e54048cb247599",class:"description"},t("slot",{key:"3aaa22737a238e6a26818a9b0f5556aff70c1273",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&t("div",{key:"b0849984658ba6794ee510cdc24f000b791c095e",hidden:!this.error,class:"error-description"},t("slot",{key:"952f86cfe6f319cfcaeba136ef21f3bf1695dbec",name:"error-description"},this.errorDescription)))}static get formAssociated(){return true}get el(){return o(this)}static get watchers(){return{rows:["rowsChanged"],autosize:["autosizeChanged"]}}};l.style=s;export{l as nv_fieldtextarea};
2
- //# sourceMappingURL=p-4cba27be.entry.js.map
1
+ import{r as e,c as r,h as t,a,g as o}from"./p-b4aea326.js";import{c as i}from"./p-8a1a6e56.js";import{v as n}from"./p-f5ff676c.js";const d='nv-fieldtextarea{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box}nv-fieldtextarea[readonly]:not([readonly=false]){--nv-field-border-default:var(--components-form-field-border-readonly);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-background:var(--components-form-field-background-readonly)}nv-fieldtextarea[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive)}nv-fieldtextarea[success]:not([success=false]){--nv-field-border-default:var(--components-form-field-border-success);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-success)}nv-fieldtextarea[required]:not([required=false]) label::after{content:"*";color:var(--components-form-text-required);font-weight:700}nv-fieldtextarea label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:500;line-height:var(--form-label-line-height)}nv-fieldtextarea .textarea-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch}nv-fieldtextarea .textarea-wrapper .textarea-container{display:flex;flex-grow:1;padding:calc(var(--form-field-padding-y) - 1px) var(--form-field-padding-x);justify-content:center;align-items:center;gap:var(--form-field-gap);align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fieldtextarea .textarea-wrapper .textarea-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldtextarea .textarea-wrapper .textarea-container:focus-within{border-color:var(--nv-field-border-focus);box-shadow:0 0 0 var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fieldtextarea .textarea-wrapper .textarea-container:has(textarea:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fieldtextarea .textarea-wrapper .textarea-container:has(textarea:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldtextarea .textarea-wrapper .textarea-container textarea{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);text-overflow:ellipsis;font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height)}nv-fieldtextarea .textarea-wrapper .textarea-container textarea:focus{outline:none}nv-fieldtextarea .textarea-wrapper .textarea-container textarea::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:"TT Norms Pro", sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:400;line-height:var(--form-field-line-height)}nv-fieldtextarea .textarea-wrapper .textarea-container nv-icon.validation{color:var(--nv-field-border-default)}nv-fieldtextarea .description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fieldtextarea .error-description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}';const s=d;const f=class{constructor(t){e(this,t);this.valueChanged=r(this,"valueChanged",7);this.handleTextarea=e=>{const r=e.target;this.value=r.value;this.valueChanged.emit(r.value);if(this.autosize){this.adjustTextareaHeight()}};this.handleTextareaContainerClick=()=>{this.textareaElement.focus()};this.message=undefined;this.validation=undefined;this.textareaId=n();this.label=undefined;this.description=undefined;this.placeholder=undefined;this.name=undefined;this.value=undefined;this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.errorDescription=undefined;this.success=false;this.maxlength=undefined;this.minlength=undefined;this.rows=3;this.resize="vertical";this.autosize=false}componentWillRender(){if(this.message){this.description=this.message}if(this.validation){this.errorDescription=this.validation;this.error=true}}rowsChanged(){if(this.autosize){this.adjustTextareaHeight()}}autosizeChanged(){var e;if(this.autosize){this.adjustTextareaHeight()}else{(e=this.textareaElement)===null||e===void 0?void 0:e.style.removeProperty("height")}}adjustTextareaHeight(){if(this.textareaElement&&this.autosize){this.textareaElement.style.height="auto";const e=window.getComputedStyle(this.textareaElement);const r=parseFloat(e.lineHeight);const t=parseFloat(e.paddingTop);const a=parseFloat(e.paddingBottom);const o=parseFloat(e.borderTopWidth);const i=parseFloat(e.borderBottomWidth);const n=r*this.rows+t+a+o+i;this.textareaElement.style.minHeight=`${n}px`;this.textareaElement.style.height=this.textareaElement.scrollHeight+"px"}}getResize(){if(this.resize==="none")return"resize-none";if(this.resize==="vertical")return"resize-y";if(this.resize==="horizontal")return"resize-x";if(this.resize==="both")return"resize";return"resize-none"}componentDidLoad(){if(this.autosize){this.adjustTextareaHeight()}}render(){return t(a,{key:"f5b311b7b6ce4ad9d6ff0a63103018a065d8ff66"},(this.label||this.el.querySelector('[slot="label"]'))&&t("label",{key:"377483fb782672a29a9a9b3824e102587eb166b1",htmlFor:this.textareaId},t("slot",{key:"2705fb3d2736caef5b289fb3338790e62d758d56",name:"label"},this.label)),t("div",{key:"49d270fed9367b58eb1197a9e91d86c36cee90a8",class:"textarea-wrapper"},t("div",{key:"28e591c39cff80eeb5fa6105bafa2423f02b8da9",class:"textarea-container",onClick:this.handleTextareaContainerClick},t("textarea",{key:"0dc54edc1a23221287810ecff5b51c7b91fe2b7b",id:this.textareaId,ref:e=>this.textareaElement=e,placeholder:this.placeholder,name:this.name,disabled:this.disabled,readOnly:this.readonly,required:this.required,maxlength:this.maxlength,minlength:this.minlength,autocomplete:"off",value:this.value,onInput:this.handleTextarea,rows:this.rows,class:i(this.getResize())}))),(this.description||this.el.querySelector('[slot="description"]'))&&t("div",{key:"32f6d57c4c3fa1fb937c8b92ef630280bc4238e1",class:"description"},t("slot",{key:"1896e7a524753172cdeb19aa21fc83afd394c1a7",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&t("div",{key:"94757defcafe57f7074871f81987a2733f509f88",hidden:!this.error,class:"error-description"},t("slot",{key:"561620515caa5c115c9bd8bb9139bf7fa29e22fb",name:"error-description"},this.errorDescription)))}static get formAssociated(){return true}get el(){return o(this)}static get watchers(){return{rows:["rowsChanged"],autosize:["autosizeChanged"]}}};f.style=s;export{f as nv_fieldtextarea};
2
+ //# sourceMappingURL=p-c1c661a0.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as e,c as r,h as o,a as i,g as d}from"./p-b4aea326.js";import{v as t}from"./p-f5ff676c.js";const n='nv-fieldpassword{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box}nv-fieldpassword[readonly]:not([readonly=false]){--nv-field-border-default:var(--components-form-field-border-readonly);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-background:var(--components-form-field-background-readonly)}nv-fieldpassword[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive)}nv-fieldpassword[success]:not([success=false]){--nv-field-border-default:var(--components-form-field-border-success);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-success)}nv-fieldpassword[required]:not([required=false]) label::after{content:"*";color:var(--components-form-text-required);font-weight:700}nv-fieldpassword label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:500;line-height:var(--form-label-line-height)}nv-fieldpassword .input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch}nv-fieldpassword .input-wrapper .input-container{display:flex;flex-grow:1;padding:calc(var(--form-field-padding-y) - 1px) var(--form-field-padding-x);justify-content:center;align-items:center;gap:var(--form-field-gap);align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default);background:var(--nv-field-background);transition:all 150ms ease-out;position:relative}nv-fieldpassword .input-wrapper .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldpassword .input-wrapper .input-container:focus-within{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fieldpassword .input-wrapper .input-container:has(input:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fieldpassword .input-wrapper .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldpassword .input-wrapper .input-container input{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);text-overflow:ellipsis;font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height)}nv-fieldpassword .input-wrapper .input-container input:focus{outline:none}nv-fieldpassword .input-wrapper .input-container input::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:"TT Norms Pro", sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:400;line-height:var(--form-field-line-height)}nv-fieldpassword .input-wrapper .input-container nv-icon.validation{color:var(--nv-field-border-default);position:absolute;right:50px}nv-fieldpassword .description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fieldpassword .error-description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}nv-fieldpassword .toggle-password-icon{position:absolute;right:-1px;border:0 solid transparent !important}';const a=n;const s=class{constructor(o){e(this,o);this.valueChanged=r(this,"valueChanged",7);this.handleInputContainerClick=()=>{this.inputElement.focus()};this.togglePasswordVisibility=()=>{this.showPasswordState=!this.showPasswordState};this.handleKeyDown=e=>{if(e.key===" "){e.preventDefault();setTimeout((()=>{this.togglePasswordVisibility()}),0)}};this.handleInput=e=>{const r=e.target;this.value=r.value;this.valueChanged.emit(r.value)};this.inputId=t();this.label=undefined;this.description=undefined;this.placeholder=undefined;this.name=undefined;this.value=undefined;this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.errorDescription=undefined;this.success=false;this.maxlength=undefined;this.minlength=undefined;this.pattern=undefined;this.mode="text";this.autocomplete="off";this.hidePasswordIcon=false;this.showPassword=false;this.showPasswordState=this.showPassword}handleShowPasswordChange(e){this.showPasswordState=e}render(){return o(i,{key:"69ec0ce8bb09a3d18bc35ea9d3507642577e1d73"},(this.label||this.el.querySelector('[slot="label"]'))&&o("label",{key:"d1d7da07f6a385d9f1e533bcd2265416ad72c081",htmlFor:this.inputId},o("slot",{key:"e3636425c7ff4774efcebf23003c4ddfffd8deeb",name:"label"},this.label)),o("div",{key:"b1c900415a7c52f7c8049ee25095d672fcf0b2ae",class:"input-wrapper"},o("slot",{key:"a185ce16ac38763e53a874221a6d356b5a124a26",name:"before-input"}),o("div",{key:"fea4f799535237b6eeaf74f4c689df99a9961676",class:"input-container",onClick:this.handleInputContainerClick},o("slot",{key:"9d0b505fc3c5289d6e58c097d4c60ee7afee7df1",name:"leading-input"}),o("input",{key:"c3edbe0d8ff28fe7fc37adc73857654bebab642b",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&&o("nv-iconbutton",{key:"603d51f607526c519a181fd76d4e710948485041",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)&&o("nv-icon",{key:"64d7c84b4c559a1d5abde6838f851a7020a13479",name:this.success?"circle-check":"alert-circle",class:"validation",size:"md"})),o("slot",{key:"a4b2924196420f0907721fe48d759720cf0b2bbb",name:"after-input"})),(this.description||this.el.querySelector('[slot="description"]'))&&o("div",{key:"e5d33079071a718cafc7b0fc8fde5f9117dda201",class:"description"},o("slot",{key:"29ea9388ff1d4ec61ae54c13ff34f9101661bc62",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&o("div",{key:"34ed51e1bf050712126bd5a48ab9f426a3444db9",hidden:!this.error,class:"error-description"},o("slot",{key:"940aa4d7799df58265a82b9440bf1e0bb36eb68e",name:"error-description"},this.errorDescription)))}static get formAssociated(){return true}get el(){return d(this)}static get watchers(){return{showPassword:["handleShowPasswordChange"]}}};s.style=a;export{s as nv_fieldpassword};
2
- //# sourceMappingURL=p-89468485.entry.js.map
1
+ import{r as e,c as r,h as o,a as i,g as d}from"./p-b4aea326.js";import{v as t}from"./p-f5ff676c.js";const n='nv-fieldpassword{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box}nv-fieldpassword[readonly]:not([readonly=false]){--nv-field-border-default:var(--components-form-field-border-readonly);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-background:var(--components-form-field-background-readonly)}nv-fieldpassword[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive)}nv-fieldpassword[success]:not([success=false]){--nv-field-border-default:var(--components-form-field-border-success);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-success)}nv-fieldpassword[required]:not([required=false]) label::after{content:"*";color:var(--components-form-text-required);font-weight:700}nv-fieldpassword label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:500;line-height:var(--form-label-line-height)}nv-fieldpassword .input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch}nv-fieldpassword .input-wrapper .input-container{display:flex;flex-grow:1;padding:calc(var(--form-field-padding-y) - 1px) var(--form-field-padding-x);justify-content:center;align-items:center;gap:var(--form-field-gap);align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default);background:var(--nv-field-background);transition:all 150ms ease-out;position:relative}nv-fieldpassword .input-wrapper .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldpassword .input-wrapper .input-container:focus-within{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fieldpassword .input-wrapper .input-container:has(input:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fieldpassword .input-wrapper .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldpassword .input-wrapper .input-container input{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);text-overflow:ellipsis;font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height)}nv-fieldpassword .input-wrapper .input-container input:focus{outline:none}nv-fieldpassword .input-wrapper .input-container input::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:"TT Norms Pro", sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:400;line-height:var(--form-field-line-height)}nv-fieldpassword .input-wrapper .input-container nv-icon.validation{color:var(--nv-field-border-default);position:absolute;right:50px}nv-fieldpassword .description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fieldpassword .error-description{align-self:stretch;color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}nv-fieldpassword .toggle-password-icon{position:absolute;right:-1px;border:0 solid transparent !important}';const s=n;const a=class{constructor(o){e(this,o);this.valueChanged=r(this,"valueChanged",7);this.handleInputContainerClick=()=>{this.inputElement.focus()};this.togglePasswordVisibility=()=>{this.showPasswordState=!this.showPasswordState};this.handleKeyDown=e=>{if(e.key===" "){e.preventDefault();setTimeout((()=>{this.togglePasswordVisibility()}),0)}};this.handleInput=e=>{const r=e.target;this.value=r.value;this.valueChanged.emit(r.value)};this.inputId=t();this.label=undefined;this.description=undefined;this.placeholder=undefined;this.name=undefined;this.value=undefined;this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.errorDescription=undefined;this.success=false;this.maxlength=undefined;this.minlength=undefined;this.pattern=undefined;this.mode="text";this.autocomplete="off";this.hidePasswordIcon=false;this.showPassword=false;this.showPasswordState=this.showPassword}handleShowPasswordChange(e){this.showPasswordState=e}render(){return o(i,{key:"40f6d172ebe46636a4240e010cc1dd9eb9e90e79"},(this.label||this.el.querySelector('[slot="label"]'))&&o("label",{key:"dc7b47c5796cfc862e1dafbe6720fe725662dd2c",htmlFor:this.inputId},o("slot",{key:"a5696e12f593408bb20b92e49c0c5a6b21fef9b1",name:"label"},this.label)),o("div",{key:"a1856e68415b5685982e936588791d36c9188d29",class:"input-wrapper"},o("slot",{key:"ee701f5efbc0f7dcdbfd8d8494eb660ed9081f80",name:"before-input"}),o("div",{key:"3a2b900d7fadac36538d936cc6853fe855713f26",class:"input-container",onClick:this.handleInputContainerClick},o("slot",{key:"b59c93d7457f00ff7b7cb4fcd7caca927a197dc4",name:"leading-input"}),o("input",{key:"67755bdf835476b8511083ba6e35ed5eca8868e5",id:this.inputId,ref:e=>this.inputElement=e,autocomplete:this.autocomplete,placeholder:this.placeholder,name:this.name,type:this.showPasswordState?"text":"password",inputMode:this.mode,value:this.value,required:this.required,maxlength:this.maxlength,minlength:this.minlength,pattern:this.pattern,disabled:this.disabled,readOnly:this.readonly,onInput:this.handleInput}),!this.hidePasswordIcon&&o("nv-iconbutton",{key:"d9ffdbb9a4bd76d30c6adbb5ada4a989c6bdc092",class:"toggle-password-icon",name:this.showPasswordState?"eye":"eye-off",size:"md",emphasis:"lower",onClick:this.togglePasswordVisibility,onKeyDown:this.handleKeyDown,"aria-label":this.showPasswordState?"Hide password":"Show password","aria-pressed":this.showPasswordState.toString()}),(this.success||this.error)&&o("nv-icon",{key:"40b2376b0cf815998eede9c8917f1126cda51d28",name:this.success?"circle-check":"alert-circle",class:"validation",size:"md"})),o("slot",{key:"6ae6f802256ac343a232bb24f7b7ec7e21ee5dd0",name:"after-input"})),(this.description||this.el.querySelector('[slot="description"]'))&&o("div",{key:"e08e5965bebe38262e5efd30f0ab3d3a905083ff",class:"description"},o("slot",{key:"8554c3620920efc3dd108b5e4f0e79dddc55c845",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&o("div",{key:"cf40170d0e1c8de40601b1ef2d3a8260a07cf7e9",hidden:!this.error,class:"error-description"},o("slot",{key:"e3b0ff01a8ffd569d2eb2c2e3a188cb6e53f0f6f",name:"error-description"},this.errorDescription)))}static get formAssociated(){return true}get el(){return d(this)}static get watchers(){return{showPassword:["handleShowPasswordChange"]}}};a.style=s;export{a as nv_fieldpassword};
2
+ //# sourceMappingURL=p-c4f7e36d.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["nvFieldpasswordCss","NvFieldpasswordStyle0","NvFieldpassword","this","handleInputContainerClick","inputElement","focus","togglePasswordVisibility","showPasswordState","handleKeyDown","event","key","preventDefault","setTimeout","handleInput","input","target","value","valueChanged","emit","uuidv4","showPassword","handleShowPasswordChange","newValue","render","h","Host","label","el","querySelector","htmlFor","inputId","name","class","onClick","id","ref","e","autocomplete","placeholder","type","inputMode","mode","required","maxlength","minlength","pattern","disabled","readOnly","readonly","onInput","hidePasswordIcon","size","emphasis","onKeyDown","toString","success","error","description","errorDescription","hidden"],"sources":["src/components/nv-fieldpassword/nv-fieldpassword.scss?tag=nv-fieldpassword","src/components/nv-fieldpassword/nv-fieldpassword.tsx"],"sourcesContent":["@import '../../styles/form-field';\n\nnv-fieldpassword {\n @include form-field-variables();\n @include form-field-root();\n\n &[readonly]:not([readonly='false']) {\n @include form-field-readonly-variables();\n }\n\n &[error]:not([error='false']) {\n @include form-field-error-variables();\n }\n\n &[success]:not([success='false']) {\n @include form-field-success-variables();\n }\n\n &[required]:not([required='false']) label {\n @include form-field-label-required();\n }\n\n label {\n @include form-field-label();\n }\n\n .input-wrapper {\n @include form-field-input-wrapper();\n\n .input-container {\n @include form-field-input-container();\n\n position: relative;\n\n input {\n @include form-field-input();\n }\n\n nv-icon.validation {\n @include form-field-icon();\n\n position: absolute;\n right: 50px;\n }\n }\n }\n\n .description {\n @include form-field-description();\n }\n\n .error-description {\n @include form-field-error-description();\n }\n\n .toggle-password-icon {\n position: absolute;\n right: -1px;\n border: 0 solid transparent !important;\n }\n}\n","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"],"mappings":"oGAAA,MAAMA,EAAqB,k7JAC3B,MAAAC,EAAeD,E,MC4BFE,EAAe,M,oEAmLlBC,KAAAC,0BAA4B,KAClCD,KAAKE,aAAaC,OAAO,EAQnBH,KAAAI,yBAA2B,KACjCJ,KAAKK,mBAAqBL,KAAKK,iBAAiB,EAG1CL,KAAAM,cAAiBC,IACvB,GAAIA,EAAMC,MAAQ,IAAK,CACrBD,EAAME,iBACNC,YAAW,KACTV,KAAKI,0BAA0B,GAC9B,E,GAICJ,KAAAW,YAAeJ,IACrB,MAAMK,EAAQL,EAAMM,OACpBb,KAAKc,MAAQF,EAAME,MACnBd,KAAKe,aAAaC,KAAKJ,EAAME,MAAM,E,aA9LVG,I,kIAkDE,M,cAQA,M,cAOA,M,WAQH,M,6CAeE,M,mFAiCO,O,kBASiB,M,sBAMf,M,kBAMJ,M,uBAMJjB,KAAKkB,Y,CAsBlC,wBAAAC,CAAyBC,GACvBpB,KAAKK,kBAAoBe,C,CA0B3B,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAf,IAAA,6CACDR,KAAKwB,OAASxB,KAAKyB,GAAGC,cAAc,oBACpCJ,EAAA,SAAAd,IAAA,2CAAOmB,QAAS3B,KAAK4B,SACnBN,EAAA,QAAAd,IAAA,2CAAMqB,KAAK,SAAS7B,KAAKwB,QAI7BF,EAAA,OAAAd,IAAA,2CAAKsB,MAAM,iBACTR,EAAA,QAAAd,IAAA,2CAAMqB,KAAK,iBAEXP,EAAA,OAAAd,IAAA,2CAAKsB,MAAM,kBAAkBC,QAAS/B,KAAKC,2BACzCqB,EAAA,QAAAd,IAAA,2CAAMqB,KAAK,kBAEXP,EAAA,SAAAd,IAAA,2CACEwB,GAAIhC,KAAK4B,QACTK,IAAKC,GAAMlC,KAAKE,aAAegC,EAC/BC,aAAcnC,KAAKmC,aACnBC,YAAapC,KAAKoC,YAClBP,KAAM7B,KAAK6B,KACXQ,KAAMrC,KAAKK,kBAAoB,OAAS,WACxCiC,UAAWtC,KAAKuC,KAChBzB,MAAOd,KAAKc,MACZ0B,SAAUxC,KAAKwC,SACfC,UAAWzC,KAAKyC,UAChBC,UAAW1C,KAAK0C,UAChBC,QAAS3C,KAAK2C,QACdC,SAAU5C,KAAK4C,SACfC,SAAU7C,KAAK8C,SACfC,QAAS/C,KAAKW,eAGdX,KAAKgD,kBACL1B,EAAA,iBAAAd,IAAA,2CACEsB,MAAM,uBACND,KAAM7B,KAAKK,kBAAoB,MAAQ,UACvC4C,KAAK,KACLC,SAAS,QACTnB,QAAS/B,KAAKI,yBACd+C,UAAWnD,KAAKM,cAAa,aAE3BN,KAAKK,kBAAoB,gBAAkB,gBAAe,eAE9CL,KAAKK,kBAAkB+C,cAIvCpD,KAAKqD,SAAWrD,KAAKsD,QACrBhC,EAAA,WAAAd,IAAA,2CACEqB,KAAM7B,KAAKqD,QAAU,eAAiB,eACtCvB,MAAM,aACNmB,KAAK,QAKX3B,EAAA,QAAAd,IAAA,2CAAMqB,KAAK,kBAGX7B,KAAKuD,aACLvD,KAAKyB,GAAGC,cAAc,0BACtBJ,EAAA,OAAAd,IAAA,2CAAKsB,MAAM,eACTR,EAAA,QAAAd,IAAA,2CAAMqB,KAAK,eAAe7B,KAAKuD,eAIjCvD,KAAKwD,kBACLxD,KAAKyB,GAAGC,cAAc,gCACtBJ,EAAA,OAAAd,IAAA,2CAAKiD,QAASzD,KAAKsD,MAAOxB,MAAM,qBAC9BR,EAAA,QAAAd,IAAA,2CAAMqB,KAAK,qBAAqB7B,KAAKwD,mB","ignoreList":[]}
1
+ {"version":3,"names":["nvFieldpasswordCss","NvFieldpasswordStyle0","NvFieldpassword","this","handleInputContainerClick","inputElement","focus","togglePasswordVisibility","showPasswordState","handleKeyDown","event","key","preventDefault","setTimeout","handleInput","input","target","value","valueChanged","emit","uuidv4","showPassword","handleShowPasswordChange","newValue","render","h","Host","label","el","querySelector","htmlFor","inputId","name","class","onClick","id","ref","e","autocomplete","placeholder","type","inputMode","mode","required","maxlength","minlength","pattern","disabled","readOnly","readonly","onInput","hidePasswordIcon","size","emphasis","onKeyDown","toString","success","error","description","errorDescription","hidden"],"sources":["src/components/nv-fieldpassword/nv-fieldpassword.scss?tag=nv-fieldpassword","src/components/nv-fieldpassword/nv-fieldpassword.tsx"],"sourcesContent":["@import '../../styles/form-field';\n\nnv-fieldpassword {\n @include form-field-variables();\n @include form-field-root();\n\n &[readonly]:not([readonly='false']) {\n @include form-field-readonly-variables();\n }\n\n &[error]:not([error='false']) {\n @include form-field-error-variables();\n }\n\n &[success]:not([success='false']) {\n @include form-field-success-variables();\n }\n\n &[required]:not([required='false']) label {\n @include form-field-label-required();\n }\n\n label {\n @include form-field-label();\n }\n\n .input-wrapper {\n @include form-field-input-wrapper();\n\n .input-container {\n @include form-field-input-container();\n\n position: relative;\n\n input {\n @include form-field-input();\n }\n\n nv-icon.validation {\n @include form-field-icon();\n\n position: absolute;\n right: 50px;\n }\n }\n }\n\n .description {\n @include form-field-description();\n }\n\n .error-description {\n @include form-field-error-description();\n }\n\n .toggle-password-icon {\n position: absolute;\n right: -1px;\n border: 0 solid transparent !important;\n }\n}\n","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"],"mappings":"oGAAA,MAAMA,EAAqB,k7JAC3B,MAAAC,EAAeD,E,MC4BFE,EAAe,M,oEAmLlBC,KAAAC,0BAA4B,KAClCD,KAAKE,aAAaC,OAAO,EAQnBH,KAAAI,yBAA2B,KACjCJ,KAAKK,mBAAqBL,KAAKK,iBAAiB,EAG1CL,KAAAM,cAAiBC,IACvB,GAAIA,EAAMC,MAAQ,IAAK,CACrBD,EAAME,iBACNC,YAAW,KACTV,KAAKI,0BAA0B,GAC9B,E,GAICJ,KAAAW,YAAeJ,IACrB,MAAMK,EAAQL,EAAMM,OACpBb,KAAKc,MAAQF,EAAME,MACnBd,KAAKe,aAAaC,KAAKJ,EAAME,MAAM,E,aA9LVG,I,kIAkDE,M,cAQA,M,cAOA,M,WAQH,M,6CAeE,M,mFAiCO,O,kBASiB,M,sBAMf,M,kBAMJ,M,uBAMJjB,KAAKkB,Y,CAsBlC,wBAAAC,CAAyBC,GACvBpB,KAAKK,kBAAoBe,C,CA0B3B,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAf,IAAA,6CACDR,KAAKwB,OAASxB,KAAKyB,GAAGC,cAAc,oBACpCJ,EAAA,SAAAd,IAAA,2CAAOmB,QAAS3B,KAAK4B,SACnBN,EAAA,QAAAd,IAAA,2CAAMqB,KAAK,SAAS7B,KAAKwB,QAI7BF,EAAA,OAAAd,IAAA,2CAAKsB,MAAM,iBACTR,EAAA,QAAAd,IAAA,2CAAMqB,KAAK,iBAEXP,EAAA,OAAAd,IAAA,2CAAKsB,MAAM,kBAAkBC,QAAS/B,KAAKC,2BACzCqB,EAAA,QAAAd,IAAA,2CAAMqB,KAAK,kBAEXP,EAAA,SAAAd,IAAA,2CACEwB,GAAIhC,KAAK4B,QACTK,IAAKC,GAAMlC,KAAKE,aAAegC,EAC/BC,aAAcnC,KAAKmC,aACnBC,YAAapC,KAAKoC,YAClBP,KAAM7B,KAAK6B,KACXQ,KAAMrC,KAAKK,kBAAoB,OAAS,WACxCiC,UAAWtC,KAAKuC,KAChBzB,MAAOd,KAAKc,MACZ0B,SAAUxC,KAAKwC,SACfC,UAAWzC,KAAKyC,UAChBC,UAAW1C,KAAK0C,UAChBC,QAAS3C,KAAK2C,QACdC,SAAU5C,KAAK4C,SACfC,SAAU7C,KAAK8C,SACfC,QAAS/C,KAAKW,eAGdX,KAAKgD,kBACL1B,EAAA,iBAAAd,IAAA,2CACEsB,MAAM,uBACND,KAAM7B,KAAKK,kBAAoB,MAAQ,UACvC4C,KAAK,KACLC,SAAS,QACTnB,QAAS/B,KAAKI,yBACd+C,UAAWnD,KAAKM,cAAa,aAE3BN,KAAKK,kBAAoB,gBAAkB,gBAAe,eAE9CL,KAAKK,kBAAkB+C,cAIvCpD,KAAKqD,SAAWrD,KAAKsD,QACrBhC,EAAA,WAAAd,IAAA,2CACEqB,KAAM7B,KAAKqD,QAAU,eAAiB,eACtCvB,MAAM,aACNmB,KAAK,QAKX3B,EAAA,QAAAd,IAAA,2CAAMqB,KAAK,kBAGX7B,KAAKuD,aACLvD,KAAKyB,GAAGC,cAAc,0BACtBJ,EAAA,OAAAd,IAAA,2CAAKsB,MAAM,eACTR,EAAA,QAAAd,IAAA,2CAAMqB,KAAK,eAAe7B,KAAKuD,eAIjCvD,KAAKwD,kBACLxD,KAAKyB,GAAGC,cAAc,gCACtBJ,EAAA,OAAAd,IAAA,2CAAKiD,QAASzD,KAAKsD,MAAOxB,MAAM,qBAC9BR,EAAA,QAAAd,IAAA,2CAAMqB,KAAK,qBAAqB7B,KAAKwD,mB","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as o,h as n,a as t,g as i}from"./p-b4aea326.js";import{c as e}from"./p-8a1a6e56.js";const s='nv-iconbutton.root{display:inline-flex;justify-content:center;align-items:center;font-style:normal;font-weight:500;font-family:"TT Norms Pro", sans-serif;transition:background-color 150ms ease-out;height:fit-content;width:fit-content}nv-iconbutton.size-xs{padding:var(--button-xs-icon-button-padding);gap:var(--button-xs-gap);border-radius:var(--button-xs-border-radius);line-height:var(--button-xs-line-height);font-size:var(--button-xs-font-size)}nv-iconbutton.size-sm{padding:var(--button-sm-icon-button-padding);gap:var(--button-sm-gap);border-radius:var(--button-sm-border-radius);line-height:var(--button-sm-line-height);font-size:var(--button-sm-font-size)}nv-iconbutton.size-md{padding:var(--button-md-icon-button-padding);gap:var(--button-md-gap);border-radius:var(--button-md-border-radius);line-height:var(--button-md-line-height);font-size:var(--button-md-font-size)}nv-iconbutton.size-lg{padding:var(--button-lg-icon-button-padding);gap:var(--button-lg-gap);border-radius:var(--button-lg-border-radius);line-height:var(--button-lg-line-height);font-size:var(--button-lg-font-size)}nv-iconbutton.emphasis-high{background:var(--components-button-high-background);border:1px solid var(--components-button-high-border);color:var(--components-button-high-text)}nv-iconbutton.emphasis-high:hover{background:var(--components-button-high-background-hover);color:var(--components-button-high-text-hover)}nv-iconbutton.emphasis-high:focus,nv-iconbutton.emphasis-high:focus-within{outline:none}nv-iconbutton.emphasis-high:focus-visible,nv-iconbutton.emphasis-high:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-iconbutton.emphasis-high:disabled{background:var(--components-button-high-background);color:var(--components-button-high-text);opacity:0.5;cursor:not-allowed;box-shadow:none}nv-iconbutton.emphasis-high nv-icon>svg{color:var(--components-button-high-icon)}nv-iconbutton.emphasis-medium{background:var(--components-button-medium-background);border:1px solid var(--components-button-medium-border);color:var(--components-button-medium-text)}nv-iconbutton.emphasis-medium:hover{background:var(--components-button-medium-background-hover);color:var(--components-button-medium-text-hover)}nv-iconbutton.emphasis-medium:focus,nv-iconbutton.emphasis-medium:focus-within{outline:none}nv-iconbutton.emphasis-medium:focus-visible,nv-iconbutton.emphasis-medium:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-iconbutton.emphasis-medium:disabled{background:var(--components-button-medium-background);color:var(--components-button-medium-text);opacity:0.5;cursor:not-allowed;box-shadow:none}nv-iconbutton.emphasis-medium nv-icon>svg{color:var(--components-button-medium-icon)}nv-iconbutton.emphasis-low{background:var(--components-button-low-background);border:1px solid var(--components-button-low-border);color:var(--components-button-low-text)}nv-iconbutton.emphasis-low:hover{background:var(--components-button-low-background-hover);color:var(--components-button-low-text-hover)}nv-iconbutton.emphasis-low:focus,nv-iconbutton.emphasis-low:focus-within{outline:none}nv-iconbutton.emphasis-low:focus-visible,nv-iconbutton.emphasis-low:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-iconbutton.emphasis-low:disabled{background:var(--components-button-low-background);color:var(--components-button-low-text);opacity:0.5;cursor:not-allowed;box-shadow:none}nv-iconbutton.emphasis-low nv-icon>svg{color:var(--components-button-low-icon)}nv-iconbutton.emphasis-lower{background:var(--components-button-lower-background);border:1px solid var(--components-button-lower-border);color:var(--components-button-lower-text)}nv-iconbutton.emphasis-lower:hover{background:var(--components-button-lower-background-hover);color:var(--components-button-lower-text-hover)}nv-iconbutton.emphasis-lower:focus,nv-iconbutton.emphasis-lower:focus-within{outline:none}nv-iconbutton.emphasis-lower:focus-visible,nv-iconbutton.emphasis-lower:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-iconbutton.emphasis-lower:disabled{background:var(--components-button-lower-background);color:var(--components-button-lower-text);opacity:0.5;cursor:not-allowed;box-shadow:none}nv-iconbutton.emphasis-lower nv-icon>svg{color:var(--components-button-lower-icon)}nv-iconbutton.loading [slot=leading-icon]{display:none}nv-iconbutton.shape-rounded{border-radius:var(--radius-rounded-full)}';const a=s;const r=class{constructor(n){o(this,n);if(n.$hostElement$["s-ei"]){this.internals=n.$hostElement$["s-ei"]}else{this.internals=n.$hostElement$.attachInternals();n.$hostElement$["s-ei"]=this.internals}this.handleClick=o=>{var n,t,i,e;if(this.loading||this.disabled){o.preventDefault();return}if(this.type==="submit"){(t=(n=this.internals)===null||n===void 0?void 0:n.form)===null||t===void 0?void 0:t.requestSubmit()}if(this.type==="reset"){(e=(i=this.internals)===null||i===void 0?void 0:i.form)===null||e===void 0?void 0:e.reset()}};this.size="md";this.emphasis="high";this.loading=false;this.disabled=false;this.active=false;this.name=undefined;this.type="button";this.shape="square"}handleLoadingChange(o){this.loading=o;this.disabled=o}handleDisabledChange(o){if(this.loading){this.disabled=this.loading}else{this.disabled=o}}componentWillLoad(){if(this.loading){this.disabled=this.loading}}render(){return n(t,{key:"50d222f7466955415b3f14d23661cea99cac11d3",role:"button",type:this.type,tabindex:"0",disabled:this.disabled?true:undefined,class:e("root",`size-${this.size}`,`emphasis-${this.emphasis}`,this.loading&&"loading",`shape-${this.shape}`),onClick:this.handleClick},this.loading&&n("nv-loader",{key:"53956bced12f2fa88bd8a1c53edef08df06b03c6",size:this.size}),!this.loading&&n("nv-icon",{key:"802248d952f0724dcb8f9e22821d270a01c52800",name:this.name,size:this.size}),n("slot",{key:"3429a4dfaa3d683a23c0b18770a8caf0bfb26726"}))}static get formAssociated(){return true}get el(){return i(this)}static get watchers(){return{loading:["handleLoadingChange"],disabled:["handleDisabledChange"]}}};r.style=a;export{r as nv_iconbutton};
2
- //# sourceMappingURL=p-20ea1b61.entry.js.map
1
+ import{r as o,h as n,a as t,g as i}from"./p-b4aea326.js";import{c as e}from"./p-8a1a6e56.js";const s='nv-iconbutton.root{display:inline-flex;justify-content:center;align-items:center;font-style:normal;font-weight:500;font-family:"TT Norms Pro", sans-serif;transition:background-color 150ms ease-out;height:fit-content;width:fit-content}nv-iconbutton.size-xs{padding:var(--button-xs-icon-button-padding);gap:var(--button-xs-gap);border-radius:var(--button-xs-border-radius);line-height:var(--button-xs-line-height);font-size:var(--button-xs-font-size)}nv-iconbutton.size-sm{padding:var(--button-sm-icon-button-padding);gap:var(--button-sm-gap);border-radius:var(--button-sm-border-radius);line-height:var(--button-sm-line-height);font-size:var(--button-sm-font-size)}nv-iconbutton.size-md{padding:var(--button-md-icon-button-padding);gap:var(--button-md-gap);border-radius:var(--button-md-border-radius);line-height:var(--button-md-line-height);font-size:var(--button-md-font-size)}nv-iconbutton.size-lg{padding:var(--button-lg-icon-button-padding);gap:var(--button-lg-gap);border-radius:var(--button-lg-border-radius);line-height:var(--button-lg-line-height);font-size:var(--button-lg-font-size)}nv-iconbutton.emphasis-high{background:var(--components-button-high-background);border:1px solid var(--components-button-high-border);color:var(--components-button-high-text)}nv-iconbutton.emphasis-high:hover{background:var(--components-button-high-background-hover);color:var(--components-button-high-text-hover)}nv-iconbutton.emphasis-high:focus,nv-iconbutton.emphasis-high:focus-within{outline:none}nv-iconbutton.emphasis-high:focus-visible,nv-iconbutton.emphasis-high:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-iconbutton.emphasis-high:disabled{background:var(--components-button-high-background);color:var(--components-button-high-text);opacity:0.5;cursor:not-allowed;box-shadow:none}nv-iconbutton.emphasis-high nv-icon>svg{color:var(--components-button-high-icon)}nv-iconbutton.emphasis-medium{background:var(--components-button-medium-background);border:1px solid var(--components-button-medium-border);color:var(--components-button-medium-text)}nv-iconbutton.emphasis-medium:hover{background:var(--components-button-medium-background-hover);color:var(--components-button-medium-text-hover)}nv-iconbutton.emphasis-medium:focus,nv-iconbutton.emphasis-medium:focus-within{outline:none}nv-iconbutton.emphasis-medium:focus-visible,nv-iconbutton.emphasis-medium:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-iconbutton.emphasis-medium:disabled{background:var(--components-button-medium-background);color:var(--components-button-medium-text);opacity:0.5;cursor:not-allowed;box-shadow:none}nv-iconbutton.emphasis-medium nv-icon>svg{color:var(--components-button-medium-icon)}nv-iconbutton.emphasis-low{background:var(--components-button-low-background);border:1px solid var(--components-button-low-border);color:var(--components-button-low-text)}nv-iconbutton.emphasis-low:hover{background:var(--components-button-low-background-hover);color:var(--components-button-low-text-hover)}nv-iconbutton.emphasis-low:focus,nv-iconbutton.emphasis-low:focus-within{outline:none}nv-iconbutton.emphasis-low:focus-visible,nv-iconbutton.emphasis-low:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-iconbutton.emphasis-low:disabled{background:var(--components-button-low-background);color:var(--components-button-low-text);opacity:0.5;cursor:not-allowed;box-shadow:none}nv-iconbutton.emphasis-low nv-icon>svg{color:var(--components-button-low-icon)}nv-iconbutton.emphasis-lower{background:var(--components-button-lower-background);border:1px solid var(--components-button-lower-border);color:var(--components-button-lower-text)}nv-iconbutton.emphasis-lower:hover{background:var(--components-button-lower-background-hover);color:var(--components-button-lower-text-hover)}nv-iconbutton.emphasis-lower:focus,nv-iconbutton.emphasis-lower:focus-within{outline:none}nv-iconbutton.emphasis-lower:focus-visible,nv-iconbutton.emphasis-lower:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-iconbutton.emphasis-lower:disabled{background:var(--components-button-lower-background);color:var(--components-button-lower-text);opacity:0.5;cursor:not-allowed;box-shadow:none}nv-iconbutton.emphasis-lower nv-icon>svg{color:var(--components-button-lower-icon)}nv-iconbutton.loading [slot=leading-icon]{display:none}nv-iconbutton.shape-rounded{border-radius:var(--radius-rounded-full)}';const r=s;const a=class{constructor(n){o(this,n);if(n.$hostElement$["s-ei"]){this.internals=n.$hostElement$["s-ei"]}else{this.internals=n.$hostElement$.attachInternals();n.$hostElement$["s-ei"]=this.internals}this.handleClick=o=>{var n,t,i,e;if(this.loading||this.disabled){o.preventDefault();return}if(this.type==="submit"){(t=(n=this.internals)===null||n===void 0?void 0:n.form)===null||t===void 0?void 0:t.requestSubmit()}if(this.type==="reset"){(e=(i=this.internals)===null||i===void 0?void 0:i.form)===null||e===void 0?void 0:e.reset()}};this.size="md";this.emphasis="high";this.loading=false;this.disabled=false;this.active=false;this.name=undefined;this.type="button";this.shape="square"}handleLoadingChange(o){this.loading=o;this.disabled=o}handleDisabledChange(o){if(this.loading){this.disabled=this.loading}else{this.disabled=o}}componentWillLoad(){if(this.loading){this.disabled=this.loading}}render(){return n(t,{key:"7d785e95270a8ebcf303a345a887005774295ee6",role:"button",type:this.type,tabindex:"0",disabled:this.disabled?true:undefined,class:e("root",`size-${this.size}`,`emphasis-${this.emphasis}`,this.loading&&"loading",`shape-${this.shape}`),onClick:this.handleClick},this.loading&&n("nv-loader",{key:"028836989901ce6f625f325d368c661b31477e62",size:this.size}),!this.loading&&n("nv-icon",{key:"5184638cc9dd4550c65eca5b2492806e5e77e43e",name:this.name,size:this.size}),n("slot",{key:"36ab315cb2ac6741c4debb5bfa84eb2e05e3abc8"}))}static get formAssociated(){return true}get el(){return i(this)}static get watchers(){return{loading:["handleLoadingChange"],disabled:["handleDisabledChange"]}}};a.style=r;export{a as nv_iconbutton};
2
+ //# sourceMappingURL=p-dba9c57c.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["nvIconbuttonCss","NvIconbuttonStyle0","NvIconbutton","this","handleClick","event","loading","disabled","preventDefault","type","_b","_a","internals","form","requestSubmit","_d","_c","reset","handleLoadingChange","handleDisabledChange","componentWillLoad","render","h","Host","key","role","tabindex","undefined","class","clsx","size","emphasis","shape","onClick","name"],"sources":["src/components/nv-iconbutton/nv-iconbutton.scss?tag=nv-iconbutton","src/components/nv-iconbutton/nv-iconbutton.tsx"],"sourcesContent":["@use \"sass:map\";\n@import \"../../styles/focus-ring\";\n\n/* Variants */\n$button-sizes: (\"xs\", \"sm\", \"md\", \"lg\");\n$button-emphasis: (\"high\", \"medium\", \"low\", \"lower\");\n\n/* Define maps for size-related variables */\n$button-icon-button-padding: (\n \"xs\": var(--button-xs-icon-button-padding),\n \"sm\": var(--button-sm-icon-button-padding),\n \"md\": var(--button-md-icon-button-padding),\n \"lg\": var(--button-lg-icon-button-padding)\n);\n\n$button-gap: (\n \"xs\": var(--button-xs-gap),\n \"sm\": var(--button-sm-gap),\n \"md\": var(--button-md-gap),\n \"lg\": var(--button-lg-gap)\n);\n\n$button-border-radius: (\n \"xs\": var(--button-xs-border-radius),\n \"sm\": var(--button-sm-border-radius),\n \"md\": var(--button-md-border-radius),\n \"lg\": var(--button-lg-border-radius)\n);\n\n$button-line-height: (\n \"xs\": var(--button-xs-line-height),\n \"sm\": var(--button-sm-line-height),\n \"md\": var(--button-md-line-height),\n \"lg\": var(--button-lg-line-height)\n);\n\n$button-font-size: (\n \"xs\": var(--button-xs-font-size),\n \"sm\": var(--button-sm-font-size),\n \"md\": var(--button-md-font-size),\n \"lg\": var(--button-lg-font-size)\n);\n\n/* Define maps for emphasis-related variables */\n$components-button-background: (\n \"high\": var(--components-button-high-background),\n \"medium\": var(--components-button-medium-background),\n \"low\": var(--components-button-low-background),\n \"lower\": var(--components-button-lower-background)\n);\n\n$components-button-border: (\n \"high\": var(--components-button-high-border),\n \"medium\": var(--components-button-medium-border),\n \"low\": var(--components-button-low-border),\n \"lower\": var(--components-button-lower-border)\n);\n\n$components-button-text: (\n \"high\": var(--components-button-high-text),\n \"medium\": var(--components-button-medium-text),\n \"low\": var(--components-button-low-text),\n \"lower\": var(--components-button-lower-text)\n);\n\n$components-button-background-hover: (\n \"high\": var(--components-button-high-background-hover),\n \"medium\": var(--components-button-medium-background-hover),\n \"low\": var(--components-button-low-background-hover),\n \"lower\": var(--components-button-lower-background-hover)\n);\n\n$components-button-text-hover: (\n \"high\": var(--components-button-high-text-hover),\n \"medium\": var(--components-button-medium-text-hover),\n \"low\": var(--components-button-low-text-hover),\n \"lower\": var(--components-button-lower-text-hover)\n);\n\n$components-button-icon: (\n \"high\": var(--components-button-high-icon),\n \"medium\": var(--components-button-medium-icon),\n \"low\": var(--components-button-low-icon),\n \"lower\": var(--components-button-lower-icon)\n);\n\n@mixin root-styles() {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n font-style: normal;\n font-weight: 500;\n font-family: \"TT Norms Pro\", sans-serif;\n transition: background-color 150ms ease-out;\n height: fit-content;\n width: fit-content;\n}\n\n@mixin size-styles($size) {\n padding: map.get($button-icon-button-padding, $size);\n gap: map.get($button-gap, $size);\n border-radius: map.get($button-border-radius, $size);\n line-height: map.get($button-line-height, $size);\n font-size: map.get($button-font-size, $size);\n}\n\n@mixin emphasis-styles($emphasis) {\n background: map.get($components-button-background, $emphasis);\n border: 1px solid map.get($components-button-border, $emphasis);\n color: map.get($components-button-text, $emphasis);\n\n &:hover {\n background: map.get($components-button-background-hover, $emphasis);\n color: map.get($components-button-text-hover, $emphasis);\n }\n\n @include focus-ring();\n\n &:disabled {\n background: map.get($components-button-background, $emphasis);\n color: map.get($components-button-text, $emphasis);\n opacity: 0.5;\n cursor: not-allowed;\n box-shadow: none;\n }\n\n & nv-icon > svg {\n color: map.get($components-button-icon, $emphasis);\n }\n}\n\nnv-iconbutton {\n &.root {\n @include root-styles();\n }\n\n @each $size in $button-sizes {\n &.size-#{$size} {\n @include size-styles($size);\n }\n }\n\n @each $emphasis in $button-emphasis {\n &.emphasis-#{$emphasis} {\n @include emphasis-styles($emphasis);\n }\n }\n\n &.loading {\n [slot=\"leading-icon\"] {\n display: none;\n }\n }\n\n &.shape-rounded {\n border-radius: var(--radius-rounded-full);\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n AttachInternals,\n Element,\n Watch,\n} from '@stencil/core';\nimport clsx from 'clsx';\n\nimport { ButtonSize, ButtonEmphasis, ButtonType } from '../../utils/constants';\nimport { IconName } from '../nv-icon/nv-icons';\n\n/**\n * @slot default - Content of the button.\n */\n@Component({\n tag: 'nv-iconbutton',\n shadow: false,\n formAssociated: true,\n styleUrl: 'nv-iconbutton.scss',\n scoped: false,\n})\nexport class NvIconbutton {\n @AttachInternals() internals: ElementInternals;\n @Element() el: HTMLNvIconbuttonElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n /**\n * Determines how large or small the button appears, allowing for\n * customization of the button's dimensions to fit different design\n * specifications and user needs.\n */\n @Prop({ reflect: true })\n readonly size: `${ButtonSize}` = 'md';\n\n /**\n * Adjusts the button’s emphasis to make it more or less visually prominent\n * to users. Use this to draw attention to important actions or reduce focus\n * on less critical ones.\n */\n @Prop({ reflect: true })\n readonly emphasis: `${ButtonEmphasis}` = 'high';\n\n /**\n * Set this to true to show a spinner on the button, letting users know that\n * their action is being processed. It helps improve user experience by\n * indicating ongoing activities. The icon is not displayed when the button\n * is loading. Also, the button is disabled. If you want to disable the\n * button, it is not possible. It is automatically disabled when loading.\n */\n @Prop({ reflect: true, mutable: true })\n loading: boolean = false;\n\n /**\n * Disables the button, preventing user interaction.\n */\n @Prop({ mutable: true, reflect: true })\n disabled: boolean = false;\n\n /**\n * Makes the button look active when it’s within a compatible component\n * like a button group.\n */\n @Prop({ reflect: true })\n readonly active: boolean = false;\n\n /**\n * Choose the icon you want to display. This also sets the aria-label for\n * improved accessibility, helping users who rely on screen readers.\n * The icon is not displayed when the button is loading.\n */\n @Prop({ reflect: true })\n readonly name: `${IconName}` | string;\n\n /**\n * Sets the button type to control its function in forms. Use 'submit' to send\n * form data, 'reset' to clear the form, or 'button' for a standard button\n * that doesn’t interact with form submission by default.\n */\n @Prop({ reflect: true })\n readonly type: `${ButtonType}` = 'button';\n\n /**\n * Sets the shape of the button. Choose between square and rounded.\n */\n @Prop({ reflect: true })\n readonly shape: 'square' | 'rounded' = 'square';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles form-related actions when the button is clicked.\n * - Submits the form if the button type is 'submit'.\n * - Resets the form if the button type is 'reset'.\n * @param {Event} event - The click event.\n */\n private handleClick = (event: Event) => {\n if (this.loading || this.disabled) {\n event.preventDefault();\n return;\n }\n\n if (this.type === 'submit') {\n this.internals?.form?.requestSubmit();\n }\n if (this.type === 'reset') {\n this.internals?.form?.reset();\n }\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('loading')\n handleLoadingChange(loading: boolean) {\n this.loading = loading;\n this.disabled = loading;\n }\n\n @Watch('disabled')\n handleDisabledChange(disabled: boolean) {\n if (this.loading) {\n this.disabled = this.loading;\n } else {\n this.disabled = disabled;\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n if (this.loading) {\n this.disabled = this.loading;\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n role=\"button\"\n type={this.type}\n tabindex=\"0\"\n disabled={this.disabled ? true : undefined}\n class={clsx(\n 'root',\n `size-${this.size}`,\n `emphasis-${this.emphasis}`,\n this.loading && 'loading',\n `shape-${this.shape}`,\n )}\n onClick={this.handleClick}\n >\n {this.loading && <nv-loader size={this.size}></nv-loader>}\n\n {!this.loading && <nv-icon name={this.name} size={this.size} />}\n\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"6FAAA,MAAMA,EAAkB,6nJACxB,MAAAC,EAAeD,E,MCuBFE,EAAY,M,yLA6EfC,KAAAC,YAAeC,I,YACrB,GAAIF,KAAKG,SAAWH,KAAKI,SAAU,CACjCF,EAAMG,iBACN,M,CAGF,GAAIL,KAAKM,OAAS,SAAU,EAC1BC,GAAAC,EAAAR,KAAKS,aAAS,MAAAD,SAAA,SAAAA,EAAEE,QAAI,MAAAH,SAAA,SAAAA,EAAEI,e,CAExB,GAAIX,KAAKM,OAAS,QAAS,EACzBM,GAAAC,EAAAb,KAAKS,aAAS,MAAAI,SAAA,SAAAA,EAAEH,QAAI,MAAAE,SAAA,SAAAA,EAAEE,O,aA3EO,K,cAQQ,O,aAUtB,M,cAMC,M,YAOO,M,8BAgBM,S,WAMM,Q,CA+BvC,mBAAAC,CAAoBZ,GAClBH,KAAKG,QAAUA,EACfH,KAAKI,SAAWD,C,CAIlB,oBAAAa,CAAqBZ,GACnB,GAAIJ,KAAKG,QAAS,CAChBH,KAAKI,SAAWJ,KAAKG,O,KAChB,CACLH,KAAKI,SAAWA,C,EAQpB,iBAAAa,GACE,GAAIjB,KAAKG,QAAS,CAChBH,KAAKI,SAAWJ,KAAKG,O,EAQzB,MAAAe,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,KAAK,SACLhB,KAAMN,KAAKM,KACXiB,SAAS,IACTnB,SAAUJ,KAAKI,SAAW,KAAOoB,UACjCC,MAAOC,EACL,OACA,QAAQ1B,KAAK2B,OACb,YAAY3B,KAAK4B,WACjB5B,KAAKG,SAAW,UAChB,SAASH,KAAK6B,SAEhBC,QAAS9B,KAAKC,aAEbD,KAAKG,SAAWgB,EAAA,aAAAE,IAAA,2CAAWM,KAAM3B,KAAK2B,QAErC3B,KAAKG,SAAWgB,EAAA,WAAAE,IAAA,2CAASU,KAAM/B,KAAK+B,KAAMJ,KAAM3B,KAAK2B,OAEvDR,EAAA,QAAAE,IAAA,6C","ignoreList":[]}
1
+ {"version":3,"names":["nvIconbuttonCss","NvIconbuttonStyle0","NvIconbutton","this","handleClick","event","loading","disabled","preventDefault","type","_b","_a","internals","form","requestSubmit","_d","_c","reset","handleLoadingChange","handleDisabledChange","componentWillLoad","render","h","Host","key","role","tabindex","undefined","class","clsx","size","emphasis","shape","onClick","name"],"sources":["src/components/nv-iconbutton/nv-iconbutton.scss?tag=nv-iconbutton","src/components/nv-iconbutton/nv-iconbutton.tsx"],"sourcesContent":["@use \"sass:map\";\n@import \"../../styles/focus-ring\";\n\n/* Variants */\n$button-sizes: (\"xs\", \"sm\", \"md\", \"lg\");\n$button-emphasis: (\"high\", \"medium\", \"low\", \"lower\");\n\n/* Define maps for size-related variables */\n$button-icon-button-padding: (\n \"xs\": var(--button-xs-icon-button-padding),\n \"sm\": var(--button-sm-icon-button-padding),\n \"md\": var(--button-md-icon-button-padding),\n \"lg\": var(--button-lg-icon-button-padding)\n);\n\n$button-gap: (\n \"xs\": var(--button-xs-gap),\n \"sm\": var(--button-sm-gap),\n \"md\": var(--button-md-gap),\n \"lg\": var(--button-lg-gap)\n);\n\n$button-border-radius: (\n \"xs\": var(--button-xs-border-radius),\n \"sm\": var(--button-sm-border-radius),\n \"md\": var(--button-md-border-radius),\n \"lg\": var(--button-lg-border-radius)\n);\n\n$button-line-height: (\n \"xs\": var(--button-xs-line-height),\n \"sm\": var(--button-sm-line-height),\n \"md\": var(--button-md-line-height),\n \"lg\": var(--button-lg-line-height)\n);\n\n$button-font-size: (\n \"xs\": var(--button-xs-font-size),\n \"sm\": var(--button-sm-font-size),\n \"md\": var(--button-md-font-size),\n \"lg\": var(--button-lg-font-size)\n);\n\n/* Define maps for emphasis-related variables */\n$components-button-background: (\n \"high\": var(--components-button-high-background),\n \"medium\": var(--components-button-medium-background),\n \"low\": var(--components-button-low-background),\n \"lower\": var(--components-button-lower-background)\n);\n\n$components-button-border: (\n \"high\": var(--components-button-high-border),\n \"medium\": var(--components-button-medium-border),\n \"low\": var(--components-button-low-border),\n \"lower\": var(--components-button-lower-border)\n);\n\n$components-button-text: (\n \"high\": var(--components-button-high-text),\n \"medium\": var(--components-button-medium-text),\n \"low\": var(--components-button-low-text),\n \"lower\": var(--components-button-lower-text)\n);\n\n$components-button-background-hover: (\n \"high\": var(--components-button-high-background-hover),\n \"medium\": var(--components-button-medium-background-hover),\n \"low\": var(--components-button-low-background-hover),\n \"lower\": var(--components-button-lower-background-hover)\n);\n\n$components-button-text-hover: (\n \"high\": var(--components-button-high-text-hover),\n \"medium\": var(--components-button-medium-text-hover),\n \"low\": var(--components-button-low-text-hover),\n \"lower\": var(--components-button-lower-text-hover)\n);\n\n$components-button-icon: (\n \"high\": var(--components-button-high-icon),\n \"medium\": var(--components-button-medium-icon),\n \"low\": var(--components-button-low-icon),\n \"lower\": var(--components-button-lower-icon)\n);\n\n@mixin root-styles() {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n font-style: normal;\n font-weight: 500;\n font-family: \"TT Norms Pro\", sans-serif;\n transition: background-color 150ms ease-out;\n height: fit-content;\n width: fit-content;\n}\n\n@mixin size-styles($size) {\n padding: map.get($button-icon-button-padding, $size);\n gap: map.get($button-gap, $size);\n border-radius: map.get($button-border-radius, $size);\n line-height: map.get($button-line-height, $size);\n font-size: map.get($button-font-size, $size);\n}\n\n@mixin emphasis-styles($emphasis) {\n background: map.get($components-button-background, $emphasis);\n border: 1px solid map.get($components-button-border, $emphasis);\n color: map.get($components-button-text, $emphasis);\n\n &:hover {\n background: map.get($components-button-background-hover, $emphasis);\n color: map.get($components-button-text-hover, $emphasis);\n }\n\n @include focus-ring();\n\n &:disabled {\n background: map.get($components-button-background, $emphasis);\n color: map.get($components-button-text, $emphasis);\n opacity: 0.5;\n cursor: not-allowed;\n box-shadow: none;\n }\n\n & nv-icon > svg {\n color: map.get($components-button-icon, $emphasis);\n }\n}\n\nnv-iconbutton {\n &.root {\n @include root-styles();\n }\n\n @each $size in $button-sizes {\n &.size-#{$size} {\n @include size-styles($size);\n }\n }\n\n @each $emphasis in $button-emphasis {\n &.emphasis-#{$emphasis} {\n @include emphasis-styles($emphasis);\n }\n }\n\n &.loading {\n [slot=\"leading-icon\"] {\n display: none;\n }\n }\n\n &.shape-rounded {\n border-radius: var(--radius-rounded-full);\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n AttachInternals,\n Element,\n Watch,\n} from '@stencil/core';\nimport clsx from 'clsx';\n\nimport { ButtonSize, ButtonEmphasis, ButtonType } from '../../utils/constants';\nimport { IconName } from '../nv-icon/nv-icons';\n\n/**\n * @slot default - Content of the button.\n */\n@Component({\n tag: 'nv-iconbutton',\n shadow: false,\n formAssociated: true,\n styleUrl: 'nv-iconbutton.scss',\n scoped: false,\n})\nexport class NvIconbutton {\n @AttachInternals() internals: ElementInternals;\n @Element() el: HTMLNvIconbuttonElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Determines how large or small the button appears, allowing for\n * customization of the button's dimensions to fit different design\n * specifications and user needs.\n */\n @Prop({ reflect: true })\n readonly size: `${ButtonSize}` = 'md';\n\n /**\n * Adjusts the button’s emphasis to make it more or less visually prominent\n * to users. Use this to draw attention to important actions or reduce focus\n * on less critical ones.\n */\n @Prop({ reflect: true })\n readonly emphasis: `${ButtonEmphasis}` = 'high';\n\n /**\n * Set this to true to show a spinner on the button, letting users know that\n * their action is being processed. It helps improve user experience by\n * indicating ongoing activities. The icon is not displayed when the button\n * is loading. Also, the button is disabled. If you want to disable the\n * button, it is not possible. It is automatically disabled when loading.\n */\n @Prop({ reflect: true, mutable: true })\n loading: boolean = false;\n\n /**\n * Disables the button, preventing user interaction.\n */\n @Prop({ mutable: true, reflect: true })\n disabled: boolean = false;\n\n /**\n * Makes the button look active when it’s within a compatible component\n * like a button group.\n */\n @Prop({ reflect: true })\n readonly active: boolean = false;\n\n /**\n * Choose the icon you want to display. This also sets the aria-label for\n * improved accessibility, helping users who rely on screen readers.\n * The icon is not displayed when the button is loading.\n */\n @Prop({ reflect: true })\n readonly name: `${IconName}` | string;\n\n /**\n * Sets the button type to control its function in forms. Use 'submit' to send\n * form data, 'reset' to clear the form, or 'button' for a standard button\n * that doesn’t interact with form submission by default.\n */\n @Prop({ reflect: true })\n readonly type: `${ButtonType}` = 'button';\n\n /**\n * Sets the shape of the button. Choose between square and rounded.\n */\n @Prop({ reflect: true })\n readonly shape: 'square' | 'rounded' = 'square';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles form-related actions when the button is clicked.\n * - Submits the form if the button type is 'submit'.\n * - Resets the form if the button type is 'reset'.\n * @param {Event} event - The click event.\n */\n private handleClick = (event: Event) => {\n if (this.loading || this.disabled) {\n event.preventDefault();\n return;\n }\n\n if (this.type === 'submit') {\n this.internals?.form?.requestSubmit();\n }\n if (this.type === 'reset') {\n this.internals?.form?.reset();\n }\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('loading')\n handleLoadingChange(loading: boolean) {\n this.loading = loading;\n this.disabled = loading;\n }\n\n @Watch('disabled')\n handleDisabledChange(disabled: boolean) {\n if (this.loading) {\n this.disabled = this.loading;\n } else {\n this.disabled = disabled;\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n if (this.loading) {\n this.disabled = this.loading;\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n role=\"button\"\n type={this.type}\n tabindex=\"0\"\n disabled={this.disabled ? true : undefined}\n class={clsx(\n 'root',\n `size-${this.size}`,\n `emphasis-${this.emphasis}`,\n this.loading && 'loading',\n `shape-${this.shape}`,\n )}\n onClick={this.handleClick}\n >\n {this.loading && <nv-loader size={this.size}></nv-loader>}\n\n {!this.loading && <nv-icon name={this.name} size={this.size} />}\n\n <slot></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"mappings":"6FAAA,MAAMA,EAAkB,6nJACxB,MAAAC,EAAeD,E,MCuBFE,EAAY,M,yLA8EfC,KAAAC,YAAeC,I,YACrB,GAAIF,KAAKG,SAAWH,KAAKI,SAAU,CACjCF,EAAMG,iBACN,M,CAGF,GAAIL,KAAKM,OAAS,SAAU,EAC1BC,GAAAC,EAAAR,KAAKS,aAAS,MAAAD,SAAA,SAAAA,EAAEE,QAAI,MAAAH,SAAA,SAAAA,EAAEI,e,CAExB,GAAIX,KAAKM,OAAS,QAAS,EACzBM,GAAAC,EAAAb,KAAKS,aAAS,MAAAI,SAAA,SAAAA,EAAEH,QAAI,MAAAE,SAAA,SAAAA,EAAEE,O,aA3EO,K,cAQQ,O,aAUtB,M,cAMC,M,YAOO,M,8BAgBM,S,WAMM,Q,CA+BvC,mBAAAC,CAAoBZ,GAClBH,KAAKG,QAAUA,EACfH,KAAKI,SAAWD,C,CAIlB,oBAAAa,CAAqBZ,GACnB,GAAIJ,KAAKG,QAAS,CAChBH,KAAKI,SAAWJ,KAAKG,O,KAChB,CACLH,KAAKI,SAAWA,C,EAQpB,iBAAAa,GACE,GAAIjB,KAAKG,QAAS,CAChBH,KAAKI,SAAWJ,KAAKG,O,EAQzB,MAAAe,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,KAAK,SACLhB,KAAMN,KAAKM,KACXiB,SAAS,IACTnB,SAAUJ,KAAKI,SAAW,KAAOoB,UACjCC,MAAOC,EACL,OACA,QAAQ1B,KAAK2B,OACb,YAAY3B,KAAK4B,WACjB5B,KAAKG,SAAW,UAChB,SAASH,KAAK6B,SAEhBC,QAAS9B,KAAKC,aAEbD,KAAKG,SAAWgB,EAAA,aAAAE,IAAA,2CAAWM,KAAM3B,KAAK2B,QAErC3B,KAAKG,SAAWgB,EAAA,WAAAE,IAAA,2CAASU,KAAM/B,KAAK+B,KAAMJ,KAAM3B,KAAK2B,OAEvDR,EAAA,QAAAE,IAAA,6C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as o,h as a,a as t,g as e}from"./p-b4aea326.js";const r="nv-tooltip{display:inline-block;position:relative}nv-tooltip:has([fluid]:not([fluid=false])){display:block}nv-tooltip [data-scope=popover]{background:var(--components-tooltip-background);color:var(--components-tooltip-text);font-weight:var(--font-weight-medium-emphasis);padding:var(--tooltip-padding-y) var(--tooltip-padding-x);font-size:var(--tooltip-font-size);border-radius:var(--tooltip-radius);border:none;box-shadow:0px var(--shadow-y-axis-lg-1) var(--shadow-blur-lg-1) var(--shadow-spread-lg-1) var(--shadow-color-opacity-1), 0px var(--shadow-y-axis-lg-2) var(--shadow-blur-lg-2) var(--shadow-spread-lg-2) var(--shadow-color-opacity-2)}nv-tooltip [data-scope=arrow]{background:var(--components-tooltip-background);box-shadow:none;border:none}";const s=r;const i=class{constructor(a){o(this,a);this.message=undefined;this.placement="bottom";this.enterDelay=0}componentWillLoad(){this.triggerElement=Array.from(this.el.children).find((o=>o.getAttribute("slot")===null))}render(){return a(t,{key:"590d897c7012f9020f6ac6e9f49acb840b4067ca"},a("slot",{key:"9479477482e361a042d464311a90dc3b0babb9e5"}),a("nv-popover",{key:"89a2903946a89074201b5eb61a64b0595d831512",triggerMode:"hover",hasArrow:true,placement:this.placement,triggerElement:this.triggerElement,groupName:"tooltip",enterDelay:this.enterDelay},a("p",{key:"5a6097b56440b06c33b20d5c06054f6aad9c9a42",slot:"content"},this.message),a("slot",{key:"595f1185183da50e916b243276c38a10a84e5712",name:"content"})))}get el(){return e(this)}};i.style=s;export{i as nv_tooltip};
2
+ //# sourceMappingURL=p-dbae3920.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["nvTooltipCss","NvTooltipStyle0","NvTooltip","componentWillLoad","this","triggerElement","Array","from","el","children","find","child","getAttribute","render","h","Host","key","triggerMode","hasArrow","placement","groupName","enterDelay","slot","message","name"],"sources":["src/components/nv-tooltip/nv-tooltip.scss?tag=nv-tooltip","src/components/nv-tooltip/nv-tooltip.tsx"],"sourcesContent":["@mixin root-styles() {\n display: inline-block;\n position: relative;\n &:has([fluid]:not([fluid=\"false\"])) {\n display: block;\n }\n}\n\n@mixin tooltip-styles() {\n background: var(--components-tooltip-background);\n color: var(--components-tooltip-text);\n font-weight: var(--font-weight-medium-emphasis);\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n font-size: var(--tooltip-font-size);\n border-radius: var(--tooltip-radius);\n border: none;\n box-shadow: 0px var(--shadow-y-axis-lg-1) var(--shadow-blur-lg-1) var(--shadow-spread-lg-1) var(--shadow-color-opacity-1), 0px var(--shadow-y-axis-lg-2) var(--shadow-blur-lg-2) var(--shadow-spread-lg-2) var(--shadow-color-opacity-2);\n}\n\n@mixin arrow-styles() {\n background: var(--components-tooltip-background);\n box-shadow: none;\n border: none;\n}\n\nnv-tooltip {\n @include root-styles();\n\n [data-scope=\"popover\"] {\n @include tooltip-styles();\n }\n\n [data-scope=\"arrow\"] {\n @include arrow-styles();\n }\n}\n","import { Component, Host, h, Element, Prop } from '@stencil/core';\nimport type { Placement } from '@floating-ui/dom';\n\n/**\n * @slot default - Content to be placed as the trigger.\n * @slot content - Content to be placed within the popover. Use for custom html, will render under the message.\n */\n@Component({\n tag: 'nv-tooltip',\n styleUrl: 'nv-tooltip.scss',\n shadow: false,\n})\nexport class NvTooltip {\n @Element() el: HTMLNvTooltipElement;\n private triggerElement!: Element;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * A string representing the text to be displayed inside the tooltip. This\n * content is shown when the tooltip is activated by the user, such as on\n * hover or focus events.\n */\n @Prop()\n readonly message: string;\n\n /**\n * Decides where the tooltip shows up next to the element it’s linked to\n * (above, below, to the sides). If there isn’t enough room, it will adjust\n * it's position on the axis to fit on the screen, so users can always see it.\n */\n @Prop()\n readonly placement: Placement = 'bottom';\n\n /**\n * Controls how long (in milliseconds) the tooltip waits to show after you\n * hover over or focus on an element. If you move away before the delay is up,\n * the tooltip won’t appear.\n */\n @Prop()\n readonly enterDelay: number = 0;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.triggerElement = Array.from(this.el.children).find(child => {\n return child.getAttribute('slot') === null;\n });\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n <slot></slot>\n\n <nv-popover\n triggerMode=\"hover\"\n hasArrow\n placement={this.placement}\n triggerElement={this.triggerElement}\n groupName={'tooltip'}\n enterDelay={this.enterDelay}\n >\n <p slot=\"content\">{this.message}</p>\n <slot name=\"content\"></slot>\n </nv-popover>\n </Host>\n );\n }\n}\n"],"mappings":"oDAAA,MAAMA,EAAe,ivBACrB,MAAAC,EAAeD,E,MCWFE,EAAS,M,+DAqBY,S,gBAQF,C,CAM9B,iBAAAC,GACEC,KAAKC,eAAiBC,MAAMC,KAAKH,KAAKI,GAAGC,UAAUC,MAAKC,GAC/CA,EAAMC,aAAa,UAAY,M,CAQ1C,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,QAAAE,IAAA,6CAEAF,EAAA,cAAAE,IAAA,2CACEC,YAAY,QACZC,SAAQ,KACRC,UAAWf,KAAKe,UAChBd,eAAgBD,KAAKC,eACrBe,UAAW,UACXC,WAAYjB,KAAKiB,YAEjBP,EAAA,KAAAE,IAAA,2CAAGM,KAAK,WAAWlB,KAAKmB,SACxBT,EAAA,QAAAE,IAAA,2CAAMQ,KAAK,a","ignoreList":[]}
1
+ {"version":3,"names":["nvTooltipCss","NvTooltipStyle0","NvTooltip","componentWillLoad","this","triggerElement","Array","from","el","children","find","child","getAttribute","render","h","Host","key","triggerMode","hasArrow","placement","groupName","enterDelay","slot","message","name"],"sources":["src/components/nv-tooltip/nv-tooltip.scss?tag=nv-tooltip","src/components/nv-tooltip/nv-tooltip.tsx"],"sourcesContent":["@mixin root-styles() {\n display: inline-block;\n position: relative;\n &:has([fluid]:not([fluid=\"false\"])) {\n display: block;\n }\n}\n\n@mixin tooltip-styles() {\n background: var(--components-tooltip-background);\n color: var(--components-tooltip-text);\n font-weight: var(--font-weight-medium-emphasis);\n padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n font-size: var(--tooltip-font-size);\n border-radius: var(--tooltip-radius);\n border: none;\n box-shadow: 0px var(--shadow-y-axis-lg-1) var(--shadow-blur-lg-1) var(--shadow-spread-lg-1) var(--shadow-color-opacity-1), 0px var(--shadow-y-axis-lg-2) var(--shadow-blur-lg-2) var(--shadow-spread-lg-2) var(--shadow-color-opacity-2);\n}\n\n@mixin arrow-styles() {\n background: var(--components-tooltip-background);\n box-shadow: none;\n border: none;\n}\n\nnv-tooltip {\n @include root-styles();\n\n [data-scope=\"popover\"] {\n @include tooltip-styles();\n }\n\n [data-scope=\"arrow\"] {\n @include arrow-styles();\n }\n}\n","import { Component, Host, h, Element, Prop } from '@stencil/core';\nimport type { Placement } from '@floating-ui/dom';\n\n/**\n * @slot default - Content to be placed as the trigger.\n * @slot content - Content to be placed within the popover. Use for custom html, will render under the message.\n */\n@Component({\n tag: 'nv-tooltip',\n styleUrl: 'nv-tooltip.scss',\n shadow: false,\n})\nexport class NvTooltip {\n @Element() el: HTMLNvTooltipElement;\n private triggerElement!: Element;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * A string representing the text to be displayed inside the tooltip. This\n * content is shown when the tooltip is activated by the user, such as on\n * hover or focus events.\n */\n @Prop()\n readonly message: string;\n\n /**\n * Decides where the tooltip shows up next to the element it’s linked to\n * (above, below, to the sides). If there isn’t enough room, it will adjust\n * it's position on the axis to fit on the screen, so users can always see it.\n */\n @Prop()\n readonly placement: Placement = 'bottom';\n\n /**\n * Controls how long (in milliseconds) the tooltip waits to show after you\n * hover over or focus on an element. If you move away before the delay is up,\n * the tooltip won’t appear.\n */\n @Prop()\n readonly enterDelay: number = 0;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.triggerElement = Array.from(this.el.children).find(child => {\n return child.getAttribute('slot') === null;\n });\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n <slot></slot>\n\n <nv-popover\n triggerMode=\"hover\"\n hasArrow\n placement={this.placement}\n triggerElement={this.triggerElement}\n groupName={'tooltip'}\n enterDelay={this.enterDelay}\n >\n <p slot=\"content\">{this.message}</p>\n <slot name=\"content\"></slot>\n </nv-popover>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"mappings":"yDAAA,MAAMA,EAAe,ivBACrB,MAAAC,EAAeD,E,MCWFE,EAAS,M,+DAqBY,S,gBAQF,C,CAM9B,iBAAAC,GACEC,KAAKC,eAAiBC,MAAMC,KAAKH,KAAKI,GAAGC,UAAUC,MAAKC,GAC/CA,EAAMC,aAAa,UAAY,M,CAQ1C,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,QAAAE,IAAA,6CAEAF,EAAA,cAAAE,IAAA,2CACEC,YAAY,QACZC,SAAQ,KACRC,UAAWf,KAAKe,UAChBd,eAAgBD,KAAKC,eACrBe,UAAW,UACXC,WAAYjB,KAAKiB,YAEjBP,EAAA,KAAAE,IAAA,2CAAGM,KAAK,WAAWlB,KAAKmB,SACxBT,EAAA,QAAAE,IAAA,2CAAMQ,KAAK,a","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,h as s,a,g as e}from"./p-b4aea326.js";const l="nv-table table{border-collapse:collapse;border-color:inherit;text-indent:0}";const n=l;const r=class{constructor(s){t(this,s);this.parsedColumns=[];this.parsedData=[];this.hasSlotHead=false;this.hasSlotBody=false;this.columns=[];this.columnsJson=undefined;this.data=[];this.dataJson=undefined;this.noDataMessage="No data available";this.noColumnsNoDataMessage="No data or columns available to display."}parseColumns(t,s){this.parseColumnsArray(t,s)}parseJsonColumns(t){try{const s=t?JSON.parse(t):[];this.parseColumnsArray(s,this.parsedColumns)}catch(t){console.error("Invalid JSON format for columnsJson:",t.message);this.parsedColumns=[]}}parseData(t,s){this.parseDataArray(t,s)}parseJsonData(t){try{const s=t?JSON.parse(t):[];this.parseDataArray(s,this.parsedData)}catch(t){console.error("Invalid JSON format for dataJson:",t.message);this.parsedData=[]}}parseColumnsArray(t,s){if(JSON.stringify(t)===JSON.stringify(s))return;this.parsedColumns=Array.isArray(t)?t:[]}parseDataArray(t,s){if(JSON.stringify(t)===JSON.stringify(s))return;this.parsedData=Array.isArray(t)?t:[]}componentWillLoad(){this.hasSlotHead=!!this.el.querySelector('[slot="head"]');this.hasSlotBody=!!this.el.querySelector('[slot="body"]');if(this.columnsJson){this.parseJsonColumns(this.columnsJson)}else{this.parseColumns(this.columns,this.parsedColumns)}if(this.dataJson){this.parseJsonData(this.dataJson)}else{this.parseData(this.data,this.parsedData)}}render(){const t=this.hasSlotHead?Array.from(this.el.querySelector('[slot="head"]').querySelectorAll("nv-tablerow")):[];const e=this.hasSlotBody?Array.from(this.el.querySelector('[slot="body"]').querySelectorAll("nv-tablerow")):[];return s(a,{key:"ab2f459ea80c9f134a537b62298ffd55ad7b719f"},s("div",{key:"081211573d87749e8b133b89e9da2a201b9e8bf3",class:"hidden"},s("slot",{key:"7dd2c168d379818e1456eb2117e14cf79e44f33e"}),s("slot",{key:"7c8e1b4cf0b223257148459d753c2eb325a7cd17",name:"head"}),s("slot",{key:"d107814f31a82e3fd6e22dbccff319c5baf2b3db",name:"body"})),s("slot",{key:"d704c43a322b073ed459947f23950bc719402656",name:"before"}),this.parsedColumns.length===0&&this.parsedData.length===0&&t.length===0&&e.length===0?s("p",null,this.noColumnsNoDataMessage):s("table",null,this.parsedColumns.length>0?s("thead",null,s("tr",null,this.parsedColumns.map((t=>s("th",null,t))))):t.length>0?s("thead",null,t.map((t=>{const a=Array.from(t.querySelectorAll("nv-tablecolumn"));return s("tr",null,a.map((t=>s("th",{colSpan:t.colspan,rowSpan:t.rowspan,headers:t.headers,scope:t.scope,innerHTML:t.innerHTML}))))}))):null,s("tbody",null,this.parsedData.length===0&&e.length===0?s("tr",null,s("td",{colSpan:this.parsedColumns.length||12},this.noDataMessage)):this.parsedData.length>0?this.parsedData.map((t=>s("tr",null,this.parsedColumns.length>0?this.parsedColumns.map((a=>s("td",null,t[a.toLowerCase()]||""))):Object.values(t).map((t=>s("td",null,t)))))):e.length>0?e.map((t=>{const a=Array.from(t.querySelectorAll("nv-tabledatacell"));return s("tr",null,a.map((t=>s("td",{colSpan:t.colspan,rowSpan:t.rowspan,headers:t.headers,innerHTML:t.innerHTML}))))})):null)),s("slot",{key:"727d2040bec14d6632d062637b86b3a79e30b88d",name:"after"}))}get el(){return e(this)}static get watchers(){return{columns:["parseColumns"],columnsJson:["parseJsonColumns"],data:["parseData"],dataJson:["parseJsonData"]}}};r.style=n;export{r as nv_table};
2
+ //# sourceMappingURL=p-de6e0e1f.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["nvTableCss","NvTableStyle0","NvTable","parseColumns","newValue","oldValue","this","parseColumnsArray","parseJsonColumns","newItems","JSON","parse","parsedColumns","e","console","error","message","parseData","parseDataArray","parseJsonData","parsedData","stringify","Array","isArray","componentWillLoad","hasSlotHead","el","querySelector","hasSlotBody","columnsJson","columns","dataJson","data","render","headerRows","from","querySelectorAll","bodyRows","h","Host","key","class","name","length","noColumnsNoDataMessage","map","column","row","cells","cell","colSpan","colspan","rowSpan","rowspan","headers","scope","innerHTML","noDataMessage","toLowerCase","Object","values","value"],"sources":["src/components/nv-table/nv-table.scss?tag=nv-table","src/components/nv-table/nv-table.tsx"],"sourcesContent":["nv-table {\n table {\n border-collapse: collapse;\n border-color: inherit;\n text-indent: 0;\n }\n}\n\n// https://tailwindcss.com/docs/table-layout\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Component, Host, Prop, State, Watch, h, Element } from '@stencil/core';\n\n/**\n * @slot default - Use this slot to insert HTML into the table content.\n * @slot head - Use this slot to insert HTML into the table header.\n * @slot before - Use this slot to insert HTML before the table.\n * @slot after - Use this slot to insert HTML after the table.\n * @slot body - Use this slot to insert HTML into the table body.\n */\n@Component({\n tag: 'nv-table',\n styleUrl: './nv-table.scss',\n shadow: false,\n})\nexport class NvTable {\n @Element() el: HTMLNvTableElement;\n\n /****************************************************************************/\n //#region STATES\n\n @State()\n parsedColumns: string[] = []; // Parsed array of column headers\n\n @State()\n parsedData: any[] = []; // Parsed array of data rows\n\n @State()\n hasSlotHead: boolean = false;\n\n @State()\n hasSlotBody: boolean = false;\n\n //#endregion STATES\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Defines the table columns.\n * @example ['Name', 'Age', 'Email']\n * @default []\n */\n @Prop()\n readonly columns: string[] = [];\n\n /**\n * Defines the table columns.\n * It can be passed directly as an array of strings or as a JSON string.\n * @example '[\"Name\", \"Age\", \"Email\"]'\n */\n @Prop({ reflect: true })\n readonly columnsJson?: string;\n\n /**\n * Defines the table data.\n * @example [{ name: 'Alice', age: 25, email: 'alice@mail.com' }, { name: 'Bob', age: 30, email: 'bob@mail.com' }]\n * @default []\n */\n @Prop()\n readonly data: any[] = [];\n\n /**\n * Defines the table data.\n * It can be passed directly as an array of objects or as a JSON string.\n * @example '[{ \"name\": \"Alice\", \"age\": \"25\", \"email\": \"alice@mail.com\" },{ \"name\": \"Bob\", \"age\": \"30\", \"email\": \"bob@mail.com\" }]'\n */\n @Prop({ reflect: true })\n readonly dataJson?: string;\n\n /**\n * The message to display when there is no data available.\n * @default 'No data available'\n */\n @Prop()\n readonly noDataMessage: string = 'No data available';\n\n /**\n * The message to display when there are no columns or data available.\n * @default 'No data or columns available to display.'\n */\n @Prop()\n readonly noColumnsNoDataMessage: string =\n 'No data or columns available to display.';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('columns')\n parseColumns(newValue: string[], oldValue: string[]) {\n this.parseColumnsArray(newValue, oldValue);\n }\n\n @Watch('columnsJson')\n parseJsonColumns(newValue: string | undefined) {\n try {\n const newItems = newValue ? JSON.parse(newValue) : [];\n\n this.parseColumnsArray(newItems, this.parsedColumns);\n } catch (e) {\n console.error('Invalid JSON format for columnsJson:', e.message);\n this.parsedColumns = [];\n }\n }\n\n @Watch('data')\n parseData(newValue: any[], oldValue: any[]) {\n this.parseDataArray(newValue, oldValue);\n }\n\n @Watch('dataJson')\n parseJsonData(newValue: string | undefined) {\n try {\n const newItems = newValue ? JSON.parse(newValue) : [];\n\n this.parseDataArray(newItems, this.parsedData);\n } catch (e) {\n console.error('Invalid JSON format for dataJson:', e.message);\n this.parsedData = [];\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Parses the columns array.\n * @param {string[]} newValue - The new value of the columns array.\n * @param {string[]} oldValue - The old value of the columns array.\n */\n private parseColumnsArray(newValue: string[], oldValue: string[]) {\n if (JSON.stringify(newValue) === JSON.stringify(oldValue)) return; // Deep comparison\n this.parsedColumns = Array.isArray(newValue) ? newValue : [];\n }\n\n /**\n * Parses the data array.\n * @param {any[]} newValue - The new value of the data array.\n * @param {any[]} oldValue - The old value of the data array.\n */\n private parseDataArray(newValue: any[], oldValue: any[]) {\n if (JSON.stringify(newValue) === JSON.stringify(oldValue)) return; // Deep comparison\n this.parsedData = Array.isArray(newValue) ? newValue : [];\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.hasSlotHead = !!this.el.querySelector('[slot=\"head\"]');\n this.hasSlotBody = !!this.el.querySelector('[slot=\"body\"]');\n\n if (this.columnsJson) {\n this.parseJsonColumns(this.columnsJson);\n } else {\n this.parseColumns(this.columns, this.parsedColumns);\n }\n\n if (this.dataJson) {\n this.parseJsonData(this.dataJson);\n } else {\n this.parseData(this.data, this.parsedData);\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n const headerRows = this.hasSlotHead\n ? Array.from(\n this.el\n .querySelector('[slot=\"head\"]')\n .querySelectorAll('nv-tablerow'),\n )\n : [];\n const bodyRows = this.hasSlotBody\n ? Array.from(\n this.el\n .querySelector('[slot=\"body\"]')\n .querySelectorAll('nv-tablerow'),\n )\n : [];\n\n return (\n <Host>\n <div class=\"hidden\">\n <slot></slot>\n <slot name=\"head\"></slot>\n <slot name=\"body\"></slot>\n </div>\n\n <slot name=\"before\"></slot>\n\n {this.parsedColumns.length === 0 &&\n this.parsedData.length === 0 &&\n headerRows.length === 0 &&\n bodyRows.length === 0 ? (\n <p>{this.noColumnsNoDataMessage}</p>\n ) : (\n <table>\n {this.parsedColumns.length > 0 ? (\n <thead>\n <tr>\n {this.parsedColumns.map(column => (\n <th>{column}</th>\n ))}\n </tr>\n </thead>\n ) : headerRows.length > 0 ? (\n <thead>\n {headerRows.map(row => {\n const cells = Array.from(\n row.querySelectorAll('nv-tablecolumn'),\n );\n return (\n <tr>\n {cells.map(cell => (\n <th\n colSpan={cell.colspan}\n rowSpan={cell.rowspan}\n headers={cell.headers}\n scope={cell.scope}\n innerHTML={cell.innerHTML}\n ></th>\n ))}\n </tr>\n );\n })}\n </thead>\n ) : null}\n\n <tbody>\n {this.parsedData.length === 0 && bodyRows.length === 0 ? (\n <tr>\n <td colSpan={this.parsedColumns.length || 12}>\n {this.noDataMessage}\n </td>\n </tr>\n ) : this.parsedData.length > 0 ? (\n this.parsedData.map(row => (\n <tr>\n {this.parsedColumns.length > 0\n ? this.parsedColumns.map(column => (\n <td>{row[column.toLowerCase()] || ''}</td>\n ))\n : Object.values(row).map(value => <td>{value}</td>)}\n </tr>\n ))\n ) : bodyRows.length > 0 ? (\n bodyRows.map(row => {\n const cells = Array.from(\n row.querySelectorAll('nv-tabledatacell'),\n );\n return (\n <tr>\n {cells.map(cell => (\n <td\n colSpan={cell.colspan}\n rowSpan={cell.rowspan}\n headers={cell.headers}\n innerHTML={cell.innerHTML}\n ></td>\n ))}\n </tr>\n );\n })\n ) : null}\n </tbody>\n </table>\n )}\n\n <slot name=\"after\"></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n /****************************************************************************/\n}\n"],"mappings":"oDAAA,MAAMA,EAAa,8EACnB,MAAAC,EAAeD,E,MCcFE,EAAO,M,4CAOQ,G,gBAGN,G,iBAGG,M,iBAGA,M,aAYM,G,qCAgBN,G,2CAeU,oB,4BAQ/B,0C,CAOF,YAAAC,CAAaC,EAAoBC,GAC/BC,KAAKC,kBAAkBH,EAAUC,E,CAInC,gBAAAG,CAAiBJ,GACf,IACE,MAAMK,EAAWL,EAAWM,KAAKC,MAAMP,GAAY,GAEnDE,KAAKC,kBAAkBE,EAAUH,KAAKM,c,CACtC,MAAOC,GACPC,QAAQC,MAAM,uCAAwCF,EAAEG,SACxDV,KAAKM,cAAgB,E,EAKzB,SAAAK,CAAUb,EAAiBC,GACzBC,KAAKY,eAAed,EAAUC,E,CAIhC,aAAAc,CAAcf,GACZ,IACE,MAAMK,EAAWL,EAAWM,KAAKC,MAAMP,GAAY,GAEnDE,KAAKY,eAAeT,EAAUH,KAAKc,W,CACnC,MAAOP,GACPC,QAAQC,MAAM,oCAAqCF,EAAEG,SACrDV,KAAKc,WAAa,E,EAad,iBAAAb,CAAkBH,EAAoBC,GAC5C,GAAIK,KAAKW,UAAUjB,KAAcM,KAAKW,UAAUhB,GAAW,OAC3DC,KAAKM,cAAgBU,MAAMC,QAAQnB,GAAYA,EAAW,E,CAQpD,cAAAc,CAAed,EAAiBC,GACtC,GAAIK,KAAKW,UAAUjB,KAAcM,KAAKW,UAAUhB,GAAW,OAC3DC,KAAKc,WAAaE,MAAMC,QAAQnB,GAAYA,EAAW,E,CAOzD,iBAAAoB,GACElB,KAAKmB,cAAgBnB,KAAKoB,GAAGC,cAAc,iBAC3CrB,KAAKsB,cAAgBtB,KAAKoB,GAAGC,cAAc,iBAE3C,GAAIrB,KAAKuB,YAAa,CACpBvB,KAAKE,iBAAiBF,KAAKuB,Y,KACtB,CACLvB,KAAKH,aAAaG,KAAKwB,QAASxB,KAAKM,c,CAGvC,GAAIN,KAAKyB,SAAU,CACjBzB,KAAKa,cAAcb,KAAKyB,S,KACnB,CACLzB,KAAKW,UAAUX,KAAK0B,KAAM1B,KAAKc,W,EAQnC,MAAAa,GACE,MAAMC,EAAa5B,KAAKmB,YACpBH,MAAMa,KACJ7B,KAAKoB,GACFC,cAAc,iBACdS,iBAAiB,gBAEtB,GACJ,MAAMC,EAAW/B,KAAKsB,YAClBN,MAAMa,KACJ7B,KAAKoB,GACFC,cAAc,iBACdS,iBAAiB,gBAEtB,GAEJ,OACEE,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CAAKC,MAAM,UACTH,EAAA,QAAAE,IAAA,6CACAF,EAAA,QAAAE,IAAA,2CAAME,KAAK,SACXJ,EAAA,QAAAE,IAAA,2CAAME,KAAK,UAGbJ,EAAA,QAAAE,IAAA,2CAAME,KAAK,WAEVpC,KAAKM,cAAc+B,SAAW,GAC/BrC,KAAKc,WAAWuB,SAAW,GAC3BT,EAAWS,SAAW,GACtBN,EAASM,SAAW,EAClBL,EAAA,SAAIhC,KAAKsC,wBAETN,EAAA,aACGhC,KAAKM,cAAc+B,OAAS,EAC3BL,EAAA,aACEA,EAAA,UACGhC,KAAKM,cAAciC,KAAIC,GACtBR,EAAA,UAAKQ,OAITZ,EAAWS,OAAS,EACtBL,EAAA,aACGJ,EAAWW,KAAIE,IACd,MAAMC,EAAQ1B,MAAMa,KAClBY,EAAIX,iBAAiB,mBAEvB,OACEE,EAAA,UACGU,EAAMH,KAAII,GACTX,EAAA,MACEY,QAASD,EAAKE,QACdC,QAASH,EAAKI,QACdC,QAASL,EAAKK,QACdC,MAAON,EAAKM,MACZC,UAAWP,EAAKO,cAGjB,KAIT,KAEJlB,EAAA,aACGhC,KAAKc,WAAWuB,SAAW,GAAKN,EAASM,SAAW,EACnDL,EAAA,UACEA,EAAA,MAAIY,QAAS5C,KAAKM,cAAc+B,QAAU,IACvCrC,KAAKmD,gBAGRnD,KAAKc,WAAWuB,OAAS,EAC3BrC,KAAKc,WAAWyB,KAAIE,GAClBT,EAAA,UACGhC,KAAKM,cAAc+B,OAAS,EACzBrC,KAAKM,cAAciC,KAAIC,GACrBR,EAAA,UAAKS,EAAID,EAAOY,gBAAkB,MAEpCC,OAAOC,OAAOb,GAAKF,KAAIgB,GAASvB,EAAA,UAAKuB,QAG3CxB,EAASM,OAAS,EACpBN,EAASQ,KAAIE,IACX,MAAMC,EAAQ1B,MAAMa,KAClBY,EAAIX,iBAAiB,qBAEvB,OACEE,EAAA,UACGU,EAAMH,KAAII,GACTX,EAAA,MACEY,QAASD,EAAKE,QACdC,QAASH,EAAKI,QACdC,QAASL,EAAKK,QACdE,UAAWP,EAAKO,cAGjB,IAGP,OAKVlB,EAAA,QAAAE,IAAA,2CAAME,KAAK,U","ignoreList":[]}