@nova-design-system/nova-webcomponents 3.0.0-beta.44 → 3.0.0-beta.46

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 (351) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/native.cjs.js +1 -1
  3. package/dist/cjs/nv-badge_2.cjs.entry.js +6 -5
  4. package/dist/cjs/nv-badge_2.cjs.entry.js.map +1 -1
  5. package/dist/cjs/nv-base.cjs.entry.js +1 -1
  6. package/dist/cjs/nv-breadcrumb.cjs.entry.js +2 -2
  7. package/dist/cjs/nv-breadcrumb.cjs.entry.js.map +1 -1
  8. package/dist/cjs/nv-breadcrumbs.cjs.entry.js +1 -1
  9. package/dist/cjs/nv-button.cjs.entry.js +5 -3
  10. package/dist/cjs/nv-button.cjs.entry.js.map +1 -1
  11. package/dist/cjs/nv-calendar.cjs.entry.js +1 -1
  12. package/dist/cjs/nv-col.cjs.entry.js +1 -1
  13. package/dist/cjs/nv-datagrid.cjs.entry.js +66 -6
  14. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
  15. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +5 -1
  16. package/dist/cjs/nv-datagridcolumn.cjs.entry.js.map +1 -1
  17. package/dist/cjs/nv-dialog.cjs.entry.js +16 -12
  18. package/dist/cjs/nv-dialog.cjs.entry.js.map +1 -1
  19. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +2 -2
  20. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +5 -5
  21. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js.map +1 -1
  22. package/dist/cjs/nv-fielddate.cjs.entry.js +5 -5
  23. package/dist/cjs/nv-fielddaterange.cjs.entry.js +4 -4
  24. package/dist/cjs/nv-fielddropdown.cjs.entry.js +3 -9
  25. package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
  26. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
  27. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +9 -64
  28. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
  29. package/dist/cjs/nv-fieldnumber.cjs.entry.js +3 -3
  30. package/dist/cjs/nv-fieldpassword.cjs.entry.js +9 -7
  31. package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
  32. package/dist/cjs/nv-fieldradio.cjs.entry.js +3 -3
  33. package/dist/cjs/nv-fieldselect.cjs.entry.js +5 -5
  34. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
  35. package/dist/cjs/nv-fieldtext.cjs.entry.js +3 -3
  36. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +3 -3
  37. package/dist/cjs/nv-fieldtime.cjs.entry.js +9 -9
  38. package/dist/cjs/nv-icon.cjs.entry.js +1 -1
  39. package/dist/cjs/nv-iconbutton_2.cjs.entry.js +2 -2
  40. package/dist/cjs/nv-menu.cjs.entry.js +3 -3
  41. package/dist/cjs/nv-menu.cjs.entry.js.map +1 -1
  42. package/dist/cjs/nv-menuitem.cjs.entry.js +1 -1
  43. package/dist/cjs/nv-popover.cjs.entry.js +11 -9
  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-stack.cjs.entry.js +1 -1
  47. package/dist/cjs/nv-table.cjs.entry.js +2 -2
  48. package/dist/cjs/nv-toggle.cjs.entry.js +3 -3
  49. package/dist/cjs/nv-toggle.cjs.entry.js.map +1 -1
  50. package/dist/cjs/nv-tooltip.cjs.entry.js +1 -1
  51. package/dist/collection/components/nv-badge/nv-badge.css +11 -0
  52. package/dist/collection/components/nv-badge/nv-badge.js +5 -4
  53. package/dist/collection/components/nv-badge/nv-badge.js.map +1 -1
  54. package/dist/collection/components/nv-base/nv-base.js +1 -1
  55. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.css +11 -0
  56. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js +1 -1
  57. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js +1 -1
  58. package/dist/collection/components/nv-button/nv-button.js +5 -3
  59. package/dist/collection/components/nv-button/nv-button.js.map +1 -1
  60. package/dist/collection/components/nv-calendar/nv-calendar.js +1 -1
  61. package/dist/collection/components/nv-col/nv-col.js +1 -1
  62. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +43 -2
  63. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +1 -1
  64. package/dist/collection/components/nv-datagrid/nv-datagrid.js +91 -7
  65. package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -1
  66. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +27 -1
  67. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js.map +1 -1
  68. package/dist/collection/components/nv-dialog/nv-dialog.js +24 -17
  69. package/dist/collection/components/nv-dialog/nv-dialog.js.map +1 -1
  70. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js +1 -1
  71. package/dist/collection/components/nv-dialogheader/nv-dialogheader.js +1 -1
  72. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.css +11 -0
  73. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +4 -4
  74. package/dist/collection/components/nv-fielddate/nv-fielddate.js +5 -5
  75. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +4 -4
  76. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +4 -13
  77. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
  78. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +1 -1
  79. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +1 -1
  80. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +9 -67
  81. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
  82. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +3 -3
  83. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +9 -7
  84. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js.map +1 -1
  85. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
  86. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +5 -5
  87. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js.map +1 -1
  88. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +3 -3
  89. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -3
  90. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +9 -9
  91. package/dist/collection/components/nv-icon/nv-icon.docs.js +1 -0
  92. package/dist/collection/components/nv-icon/nv-icon.docs.js.map +1 -1
  93. package/dist/collection/components/nv-icon/nv-icon.js +1 -1
  94. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
  95. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  96. package/dist/collection/components/nv-menu/nv-menu.js +6 -6
  97. package/dist/collection/components/nv-menu/nv-menu.js.map +1 -1
  98. package/dist/collection/components/nv-menuitem/nv-menuitem.js +1 -1
  99. package/dist/collection/components/nv-popover/nv-popover.js +11 -9
  100. package/dist/collection/components/nv-popover/nv-popover.js.map +1 -1
  101. package/dist/collection/components/nv-row/nv-row.js +1 -1
  102. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  103. package/dist/collection/components/nv-table/nv-table.js +2 -2
  104. package/dist/collection/components/nv-toggle/nv-toggle.css +11 -0
  105. package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
  106. package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
  107. package/dist/components/nv-alert.js +1 -1
  108. package/dist/components/nv-avatar.js +1 -1
  109. package/dist/components/nv-badge.js +1 -1
  110. package/dist/components/nv-base.js +1 -1
  111. package/dist/components/nv-breadcrumb.js +4 -4
  112. package/dist/components/nv-breadcrumb.js.map +1 -1
  113. package/dist/components/nv-breadcrumbs.js +1 -1
  114. package/dist/components/nv-button.js +1 -1
  115. package/dist/components/nv-calendar.js +1 -1
  116. package/dist/components/nv-col.js +1 -1
  117. package/dist/components/nv-datagrid.js +69 -7
  118. package/dist/components/nv-datagrid.js.map +1 -1
  119. package/dist/components/nv-datagridcolumn.js +7 -2
  120. package/dist/components/nv-datagridcolumn.js.map +1 -1
  121. package/dist/components/nv-dialog.js +22 -18
  122. package/dist/components/nv-dialog.js.map +1 -1
  123. package/dist/components/nv-dialogfooter.js +1 -1
  124. package/dist/components/nv-dialogheader.js +1 -1
  125. package/dist/components/nv-fieldcheckbox.js +1 -1
  126. package/dist/components/nv-fielddate.js +12 -12
  127. package/dist/components/nv-fielddaterange.js +11 -11
  128. package/dist/components/nv-fielddropdown.js +9 -17
  129. package/dist/components/nv-fielddropdown.js.map +1 -1
  130. package/dist/components/nv-fielddropdownitem.js +1 -1
  131. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  132. package/dist/components/nv-fieldmultiselect.js +18 -75
  133. package/dist/components/nv-fieldmultiselect.js.map +1 -1
  134. package/dist/components/nv-fieldnumber.js +6 -6
  135. package/dist/components/nv-fieldpassword.js +12 -10
  136. package/dist/components/nv-fieldpassword.js.map +1 -1
  137. package/dist/components/nv-fieldradio.js +3 -3
  138. package/dist/components/nv-fieldselect.js +8 -8
  139. package/dist/components/nv-fieldselect.js.map +1 -1
  140. package/dist/components/nv-fieldtext.js +4 -4
  141. package/dist/components/nv-fieldtextarea.js +3 -3
  142. package/dist/components/nv-fieldtime.js +13 -13
  143. package/dist/components/nv-icon.js +1 -1
  144. package/dist/components/nv-iconbutton.js +1 -1
  145. package/dist/components/nv-loader.js +1 -1
  146. package/dist/components/nv-menu.js +6 -6
  147. package/dist/components/nv-menu.js.map +1 -1
  148. package/dist/components/nv-menuitem.js +1 -1
  149. package/dist/components/nv-popover.js +1 -1
  150. package/dist/components/nv-row.js +1 -1
  151. package/dist/components/nv-stack.js +1 -1
  152. package/dist/components/nv-table.js +2 -2
  153. package/dist/components/nv-toggle.js +3 -3
  154. package/dist/components/nv-toggle.js.map +1 -1
  155. package/dist/components/nv-tooltip.js +1 -1
  156. package/dist/components/{p-e66d6274.js → p-18bc0291.js} +3 -3
  157. package/dist/components/{p-e66d6274.js.map → p-18bc0291.js.map} +1 -1
  158. package/dist/components/{p-b2d2fd35.js → p-56ef8131.js} +3 -3
  159. package/dist/components/{p-b2d2fd35.js.map → p-56ef8131.js.map} +1 -1
  160. package/dist/components/p-5a5f11c2.js +177 -0
  161. package/dist/components/p-5a5f11c2.js.map +1 -0
  162. package/dist/components/{p-62f6da8a.js → p-664c5a14.js} +12 -10
  163. package/dist/components/p-664c5a14.js.map +1 -0
  164. package/dist/components/{p-6726f512.js → p-7b89fb48.js} +2 -2
  165. package/dist/components/{p-6726f512.js.map → p-7b89fb48.js.map} +1 -1
  166. package/dist/components/{p-0631d152.js → p-8674c7af.js} +7 -5
  167. package/dist/components/p-8674c7af.js.map +1 -0
  168. package/dist/components/{p-293e1a5c.js → p-8c5a861b.js} +3 -3
  169. package/dist/components/{p-293e1a5c.js.map → p-8c5a861b.js.map} +1 -1
  170. package/dist/components/{p-23b6b33b.js → p-91b58443.js} +2 -2
  171. package/dist/components/{p-23b6b33b.js.map → p-91b58443.js.map} +1 -1
  172. package/dist/components/{p-d552352b.js → p-9d6aaf76.js} +6 -6
  173. package/dist/components/p-9d6aaf76.js.map +1 -0
  174. package/dist/components/{p-3a74719c.js → p-a9e1bf70.js} +4 -4
  175. package/dist/components/{p-3a74719c.js.map → p-a9e1bf70.js.map} +1 -1
  176. package/dist/components/{p-016dbae8.js → p-a9f162a8.js} +6 -6
  177. package/dist/components/{p-016dbae8.js.map → p-a9f162a8.js.map} +1 -1
  178. package/dist/components/{p-3a990da7.js → p-b4768da6.js} +5 -5
  179. package/dist/components/{p-3a990da7.js.map → p-b4768da6.js.map} +1 -1
  180. package/dist/components/{p-543082ff.js → p-d88ced51.js} +2 -2
  181. package/dist/components/{p-543082ff.js.map → p-d88ced51.js.map} +1 -1
  182. package/dist/components/{p-e7f21fe7.js → p-dcabc6fa.js} +3 -3
  183. package/dist/components/{p-e7f21fe7.js.map → p-dcabc6fa.js.map} +1 -1
  184. package/dist/components/{p-e40363fd.js → p-f469df15.js} +2 -2
  185. package/dist/components/{p-e40363fd.js.map → p-f469df15.js.map} +1 -1
  186. package/dist/esm/loader.js +1 -1
  187. package/dist/esm/native.js +1 -1
  188. package/dist/esm/nv-badge_2.entry.js +6 -5
  189. package/dist/esm/nv-badge_2.entry.js.map +1 -1
  190. package/dist/esm/nv-base.entry.js +1 -1
  191. package/dist/esm/nv-breadcrumb.entry.js +2 -2
  192. package/dist/esm/nv-breadcrumb.entry.js.map +1 -1
  193. package/dist/esm/nv-breadcrumbs.entry.js +1 -1
  194. package/dist/esm/nv-button.entry.js +5 -3
  195. package/dist/esm/nv-button.entry.js.map +1 -1
  196. package/dist/esm/nv-calendar.entry.js +1 -1
  197. package/dist/esm/nv-col.entry.js +1 -1
  198. package/dist/esm/nv-datagrid.entry.js +66 -6
  199. package/dist/esm/nv-datagrid.entry.js.map +1 -1
  200. package/dist/esm/nv-datagridcolumn.entry.js +5 -1
  201. package/dist/esm/nv-datagridcolumn.entry.js.map +1 -1
  202. package/dist/esm/nv-dialog.entry.js +16 -12
  203. package/dist/esm/nv-dialog.entry.js.map +1 -1
  204. package/dist/esm/nv-dialogfooter_2.entry.js +2 -2
  205. package/dist/esm/nv-fieldcheckbox.entry.js +5 -5
  206. package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -1
  207. package/dist/esm/nv-fielddate.entry.js +5 -5
  208. package/dist/esm/nv-fielddaterange.entry.js +4 -4
  209. package/dist/esm/nv-fielddropdown.entry.js +3 -9
  210. package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
  211. package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
  212. package/dist/esm/nv-fieldmultiselect.entry.js +9 -64
  213. package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
  214. package/dist/esm/nv-fieldnumber.entry.js +3 -3
  215. package/dist/esm/nv-fieldpassword.entry.js +9 -7
  216. package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
  217. package/dist/esm/nv-fieldradio.entry.js +3 -3
  218. package/dist/esm/nv-fieldselect.entry.js +5 -5
  219. package/dist/esm/nv-fieldselect.entry.js.map +1 -1
  220. package/dist/esm/nv-fieldtext.entry.js +3 -3
  221. package/dist/esm/nv-fieldtextarea.entry.js +3 -3
  222. package/dist/esm/nv-fieldtime.entry.js +9 -9
  223. package/dist/esm/nv-icon.entry.js +1 -1
  224. package/dist/esm/nv-iconbutton_2.entry.js +2 -2
  225. package/dist/esm/nv-menu.entry.js +3 -3
  226. package/dist/esm/nv-menu.entry.js.map +1 -1
  227. package/dist/esm/nv-menuitem.entry.js +1 -1
  228. package/dist/esm/nv-popover.entry.js +11 -9
  229. package/dist/esm/nv-popover.entry.js.map +1 -1
  230. package/dist/esm/nv-row.entry.js +1 -1
  231. package/dist/esm/nv-stack.entry.js +1 -1
  232. package/dist/esm/nv-table.entry.js +2 -2
  233. package/dist/esm/nv-toggle.entry.js +3 -3
  234. package/dist/esm/nv-toggle.entry.js.map +1 -1
  235. package/dist/esm/nv-tooltip.entry.js +1 -1
  236. package/dist/native/native.css +1 -1
  237. package/dist/native/native.esm.js +1 -1
  238. package/dist/native/native.esm.js.map +1 -1
  239. package/dist/native/{p-ddb4fcc3.entry.js → p-000ef9c9.entry.js} +2 -2
  240. package/dist/native/p-000ef9c9.entry.js.map +1 -0
  241. package/dist/native/{p-4d2adf8c.entry.js → p-002e7bf1.entry.js} +2 -2
  242. package/dist/native/{p-3a47035f.entry.js → p-115ad66c.entry.js} +2 -2
  243. package/dist/native/{p-2b584e35.entry.js → p-1e5453be.entry.js} +2 -2
  244. package/dist/native/p-2ed9934a.entry.js +2 -0
  245. package/dist/native/{p-5e04b50f.entry.js → p-3df6febe.entry.js} +2 -2
  246. package/dist/native/{p-794b7820.entry.js → p-43cc98dc.entry.js} +2 -2
  247. package/dist/native/p-4977fcd0.entry.js +2 -0
  248. package/dist/native/{p-16b38dc2.entry.js → p-4c859a14.entry.js} +2 -2
  249. package/dist/native/{p-9fe6a9b7.entry.js → p-4fe5ebe9.entry.js} +2 -2
  250. package/dist/native/{p-dcfef507.entry.js → p-50dcce07.entry.js} +2 -2
  251. package/dist/native/{p-657a0b8a.entry.js → p-60d6ffa3.entry.js} +2 -2
  252. package/dist/native/p-60d6ffa3.entry.js.map +1 -0
  253. package/dist/native/{p-569e9663.entry.js → p-626a1372.entry.js} +2 -2
  254. package/dist/native/p-6603d939.entry.js +2 -0
  255. package/dist/native/p-6603d939.entry.js.map +1 -0
  256. package/dist/native/{p-a6834c17.entry.js → p-74f7f404.entry.js} +2 -2
  257. package/dist/native/{p-a6834c17.entry.js.map → p-74f7f404.entry.js.map} +1 -1
  258. package/dist/native/p-75f4bfe8.entry.js +2 -0
  259. package/dist/native/{p-ca1eff59.entry.js.map → p-75f4bfe8.entry.js.map} +1 -1
  260. package/dist/native/{p-c84eb11f.entry.js → p-76cd466a.entry.js} +2 -2
  261. package/dist/native/p-76cd466a.entry.js.map +1 -0
  262. package/dist/native/p-7e1fa44c.entry.js +2 -0
  263. package/dist/native/{p-4b6d3739.entry.js.map → p-7e1fa44c.entry.js.map} +1 -1
  264. package/dist/native/p-8946883b.entry.js +2 -0
  265. package/dist/native/p-8946883b.entry.js.map +1 -0
  266. package/dist/native/{p-552ca13e.entry.js → p-8f7c1bb8.entry.js} +2 -2
  267. package/dist/native/{p-ede0c391.entry.js → p-98030346.entry.js} +2 -2
  268. package/dist/native/p-98030346.entry.js.map +1 -0
  269. package/dist/native/{p-ac72abfc.entry.js → p-aa957898.entry.js} +2 -2
  270. package/dist/native/{p-4c88e8be.entry.js → p-aeac63ea.entry.js} +2 -2
  271. package/dist/native/{p-4c88e8be.entry.js.map → p-aeac63ea.entry.js.map} +1 -1
  272. package/dist/native/{p-39fd54e3.entry.js → p-b11fdaed.entry.js} +2 -2
  273. package/dist/native/{p-a3ea7b59.entry.js → p-b6164ebc.entry.js} +2 -2
  274. package/dist/native/p-b8b58064.entry.js +2 -0
  275. package/dist/native/p-b8b58064.entry.js.map +1 -0
  276. package/dist/native/{p-ffcf8271.entry.js → p-be5f62e5.entry.js} +2 -2
  277. package/dist/native/p-be5f62e5.entry.js.map +1 -0
  278. package/dist/native/p-c6fe73a9.entry.js +2 -0
  279. package/dist/native/p-c6fe73a9.entry.js.map +1 -0
  280. package/dist/native/p-ce64d562.entry.js +2 -0
  281. package/dist/native/p-d352a8b3.entry.js +2 -0
  282. package/dist/native/p-d352a8b3.entry.js.map +1 -0
  283. package/dist/native/{p-d987271c.entry.js → p-d4e48d08.entry.js} +2 -2
  284. package/dist/native/p-d5158e27.entry.js +2 -0
  285. package/dist/native/p-d5158e27.entry.js.map +1 -0
  286. package/dist/native/{p-4eb132d3.entry.js → p-e200185a.entry.js} +2 -2
  287. package/dist/native/p-e200185a.entry.js.map +1 -0
  288. package/dist/native/{p-870d5a5c.entry.js → p-e4f84faa.entry.js} +2 -2
  289. package/dist/types/components/nv-badge/nv-badge.d.ts +1 -1
  290. package/dist/types/components/nv-datagrid/nv-datagrid.d.ts +7 -0
  291. package/dist/types/components/nv-datagridcolumn/nv-datagridcolumn.d.ts +4 -0
  292. package/dist/types/components/nv-dialog/nv-dialog.d.ts +4 -3
  293. package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +1 -3
  294. package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +2 -11
  295. package/dist/types/components/nv-fieldpassword/nv-fieldpassword.d.ts +2 -0
  296. package/dist/types/components/nv-menu/nv-menu.d.ts +4 -4
  297. package/dist/types/components.d.ts +43 -8
  298. package/dist/types/nova-docs.d.ts +11 -0
  299. package/dist/vscode-data.json +9 -1
  300. package/hydrate/index.js +207 -192
  301. package/hydrate/index.mjs +207 -192
  302. package/package.json +11 -10
  303. package/dist/blazor-docs.json +0 -18738
  304. package/dist/components/p-0631d152.js.map +0 -1
  305. package/dist/components/p-62f6da8a.js.map +0 -1
  306. package/dist/components/p-cd083aba.js +0 -176
  307. package/dist/components/p-cd083aba.js.map +0 -1
  308. package/dist/components/p-d552352b.js.map +0 -1
  309. package/dist/docs.d.ts +0 -443
  310. package/dist/docs.json +0 -18538
  311. package/dist/native/p-1d5b6c6d.entry.js +0 -2
  312. package/dist/native/p-4b6d3739.entry.js +0 -2
  313. package/dist/native/p-4c96b614.entry.js +0 -2
  314. package/dist/native/p-4eb132d3.entry.js.map +0 -1
  315. package/dist/native/p-657a0b8a.entry.js.map +0 -1
  316. package/dist/native/p-8ae27c0a.entry.js +0 -2
  317. package/dist/native/p-8ae27c0a.entry.js.map +0 -1
  318. package/dist/native/p-adf0f628.entry.js +0 -2
  319. package/dist/native/p-adf0f628.entry.js.map +0 -1
  320. package/dist/native/p-c84eb11f.entry.js.map +0 -1
  321. package/dist/native/p-ca1eff59.entry.js +0 -2
  322. package/dist/native/p-cce90f27.entry.js +0 -2
  323. package/dist/native/p-cce90f27.entry.js.map +0 -1
  324. package/dist/native/p-d3d664c7.entry.js +0 -2
  325. package/dist/native/p-d3d664c7.entry.js.map +0 -1
  326. package/dist/native/p-d7b5ab6e.entry.js +0 -2
  327. package/dist/native/p-d7b5ab6e.entry.js.map +0 -1
  328. package/dist/native/p-ddb4fcc3.entry.js.map +0 -1
  329. package/dist/native/p-ed595c96.entry.js +0 -2
  330. package/dist/native/p-ed595c96.entry.js.map +0 -1
  331. package/dist/native/p-ede0c391.entry.js.map +0 -1
  332. package/dist/native/p-efb52057.entry.js +0 -2
  333. package/dist/native/p-ffcf8271.entry.js.map +0 -1
  334. /package/dist/native/{p-4d2adf8c.entry.js.map → p-002e7bf1.entry.js.map} +0 -0
  335. /package/dist/native/{p-3a47035f.entry.js.map → p-115ad66c.entry.js.map} +0 -0
  336. /package/dist/native/{p-2b584e35.entry.js.map → p-1e5453be.entry.js.map} +0 -0
  337. /package/dist/native/{p-efb52057.entry.js.map → p-2ed9934a.entry.js.map} +0 -0
  338. /package/dist/native/{p-5e04b50f.entry.js.map → p-3df6febe.entry.js.map} +0 -0
  339. /package/dist/native/{p-794b7820.entry.js.map → p-43cc98dc.entry.js.map} +0 -0
  340. /package/dist/native/{p-4c96b614.entry.js.map → p-4977fcd0.entry.js.map} +0 -0
  341. /package/dist/native/{p-16b38dc2.entry.js.map → p-4c859a14.entry.js.map} +0 -0
  342. /package/dist/native/{p-9fe6a9b7.entry.js.map → p-4fe5ebe9.entry.js.map} +0 -0
  343. /package/dist/native/{p-dcfef507.entry.js.map → p-50dcce07.entry.js.map} +0 -0
  344. /package/dist/native/{p-569e9663.entry.js.map → p-626a1372.entry.js.map} +0 -0
  345. /package/dist/native/{p-552ca13e.entry.js.map → p-8f7c1bb8.entry.js.map} +0 -0
  346. /package/dist/native/{p-ac72abfc.entry.js.map → p-aa957898.entry.js.map} +0 -0
  347. /package/dist/native/{p-39fd54e3.entry.js.map → p-b11fdaed.entry.js.map} +0 -0
  348. /package/dist/native/{p-a3ea7b59.entry.js.map → p-b6164ebc.entry.js.map} +0 -0
  349. /package/dist/native/{p-1d5b6c6d.entry.js.map → p-ce64d562.entry.js.map} +0 -0
  350. /package/dist/native/{p-d987271c.entry.js.map → p-d4e48d08.entry.js.map} +0 -0
  351. /package/dist/native/{p-870d5a5c.entry.js.map → p-e4f84faa.entry.js.map} +0 -0
@@ -14,7 +14,7 @@ const NvRow = class {
14
14
  /****************************************************************************/
15
15
  //#region RENDER
16
16
  render() {
17
- return (index.h(index.Host, { key: '81e601144158d09429560e6d936454485807d92d' }, index.h("slot", { key: 'f58b212ba8c754db2f84bc48468db5a6ee817f59' })));
17
+ return (index.h(index.Host, { key: '0b27560267e6f5186ca4237658ad35f3a436b70d' }, index.h("slot", { key: 'b2805eb6abe9d02b57f030c91344ecf4927136d8' })));
18
18
  }
19
19
  };
20
20
  NvRow.style = NvRowStyle0;
@@ -23,7 +23,7 @@ const NvStack = class {
23
23
  /****************************************************************************/
24
24
  //#region RENDER
25
25
  render() {
26
- return (index.h(index.Host, { key: 'cb020ed488cd43090467bbe122b83b0c714d8606', class: clsx.clsx(this.fill && 'nv-stack-fill', this.flex && 'nv-stack-flex', this.full && 'w-full', this.gutter && !this.vertical && `gutter-x-${this.gutter}`, this.gutter && this.vertical && `gutter-y-${this.gutter}`, this.vertical && 'nv-stack-vertical') }, index.h("slot", { key: 'd06069ed1efd5e81b4a32dac07c37ce884841c06' })));
26
+ return (index.h(index.Host, { key: '9869c0eaa423e363482bd4685dbd082dfba017f5', class: clsx.clsx(this.fill && 'nv-stack-fill', this.flex && 'nv-stack-flex', this.full && 'w-full', this.gutter && !this.vertical && `gutter-x-${this.gutter}`, this.gutter && this.vertical && `gutter-y-${this.gutter}`, this.vertical && 'nv-stack-vertical') }, index.h("slot", { key: 'd4b597ec95f71c47edf99d58d22c95a5540e904c' })));
27
27
  }
28
28
  };
29
29
  NvStack.style = NvStackStyle0;
@@ -315,14 +315,14 @@ const NvTable = class {
315
315
  const rows = !this.table || this.table === undefined || this.parsedData.length === 0
316
316
  ? []
317
317
  : this.table.data;
318
- return (index.h(index.Host, { key: 'a08b8c3fbb73b6201ad09ade112f30bf386e9d57' }, index.h("div", { key: '061f5b1e31292efce4d6c97f2377811b0f8c1551', class: "hidden" }, index.h("slot", { key: 'd40cc5c47598873b865bd3175e0f6db00b034a0b' })), index.h("slot", { key: 'e51a7bb121f10cdcf893a594cc27e46b89855403', name: "before" }), this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (index.h("div", { class: "no-data" }, this.noColumnsNoDataMessage)) : (index.h("table", { class: "table" }, this.parsedColumns.length > 0 && headerGroups.length > 0 && (index.h("thead", { class: "table-header" }, index.h("tr", null, headerGroups &&
318
+ return (index.h(index.Host, { key: '89d230b38e5f853a9d8246b3634d25f3add88bb0' }, index.h("div", { key: '130f44d0833635aec8eb1ff5db6f92f5342e39b4', class: "hidden" }, index.h("slot", { key: 'e68523ead80fd187bfb0fc6710aaea42e1d9c4e7' })), index.h("slot", { key: '087164f8a817d99091d54ed841b4faa5f01b215e', name: "before" }), this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (index.h("div", { class: "no-data" }, this.noColumnsNoDataMessage)) : (index.h("table", { class: "table" }, this.parsedColumns.length > 0 && headerGroups.length > 0 && (index.h("thead", { class: "table-header" }, index.h("tr", null, headerGroups &&
319
319
  headerGroups.map(col => {
320
320
  return (index.h("th", { key: col.name }, this.renderTemplate(this.headerTemplateCache.get(col.name), {}) || col.header));
321
321
  })))), index.h("tbody", { class: "table-body" }, !rows || rows.length === 0 ? (index.h("tr", null, index.h("td", { colSpan: headerGroups.length || 12, class: "no-data" }, this.noDataMessage))) : (rows.map(row => (index.h("tr", { key: JSON.stringify(row) }, headerGroups.map(col => {
322
322
  var _a;
323
323
  return (index.h("td", null, this.renderTemplate(this.templateCache.get(col.name), row) ||
324
324
  ((_a = row[col.name]) !== null && _a !== void 0 ? _a : this.fallbackValue)));
325
- })))))))), index.h("slot", { key: '3cf2f0a8de9f52bf60dcd7a641e40e046874c164', name: "after" })));
325
+ })))))))), index.h("slot", { key: '046b1b705c5885eb2685a0e8780e6eec2f1ca50e', name: "after" })));
326
326
  }
327
327
  get el() { return index.getElement(this); }
328
328
  static get watchers() { return {
@@ -6,7 +6,7 @@ const index = require('./index-9bda5507.js');
6
6
  const clsx = require('./clsx-fc789adc.js');
7
7
  const v4 = require('./v4-7014b8b0.js');
8
8
 
9
- const nvToggleCss = "nv-toggle{display:inline-flex;align-items:flex-start;gap:var(--form-gap-x);position:relative}nv-toggle:not([disabled],[readonly]) input,nv-toggle:not([disabled],[readonly]) label{cursor:pointer}nv-toggle.label-placement-before{flex-direction:row-reverse}nv-toggle[disabled]{opacity:0.5}nv-toggle label{align-self:stretch;color:var(--components-form-text-label-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:500;line-height:var(--form-label-line-height)}nv-toggle .input-container{position:relative;color:var(--components-form-shape-foreground-default)}nv-toggle .input-container:has(input[type=checkbox]:disabled:not([readonly])){color:var(--components-form-shape-foreground-disabled)}nv-toggle .input-container input[type=checkbox]{appearance:none;position:relative;display:flex;width:var(--form-toggle-width);height:var(--form-toggle-height);flex-direction:column;align-items:flex-start;border-radius:var(--form-toggle-radius);border-width:var(--form-toggle-border-width);border-style:solid;border-color:var(--components-form-field-border-default);background:var(--components-form-field-background-default)}nv-toggle .input-container input[type=checkbox]::after{content:\"\";display:block;width:var(--form-toggle-switch-dot-default);height:var(--form-toggle-switch-dot-default);background-color:var(--components-form-shape-foreground-switch-dot);border-radius:var(--radius-rounded-full);position:absolute;top:50%;left:25%;transform:translate(-50%, -50%)}nv-toggle .input-container input[type=checkbox]:hover{border-color:var(--components-form-field-border-hover)}nv-toggle .input-container input[type=checkbox]:focus{border-color:var(--components-form-field-border-default)}nv-toggle .input-container input[type=checkbox]:focus,nv-toggle .input-container input[type=checkbox]:focus-within{outline:none}nv-toggle .input-container input[type=checkbox]:focus-visible,nv-toggle .input-container input[type=checkbox]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-toggle .input-container input[type=checkbox]:checked{background:var(--components-form-field-background-checked);border-color:var(--components-form-field-background-checked)}nv-toggle .input-container input[type=checkbox]:checked::after{content:\"\";display:block;width:var(--form-toggle-switch-dot-default);height:var(--form-toggle-switch-dot-default);background-color:var(--components-form-shape-foreground-default);border-radius:var(--radius-rounded-full);position:absolute;top:50%;left:75%;transform:translate(-50%, -50%)}nv-toggle .input-container input[type=checkbox]:checked:focus{background:var(--components-form-field-background-checked);border-color:var(--components-form-field-border-focus)}nv-toggle .input-container input[type=checkbox]:disabled:not([readonly]){box-shadow:unset;background:var(--components-form-field-background-disabled);border-color:var(--components-form-field-border-default)}nv-toggle .input-container input[type=checkbox]:disabled:not([readonly]):checked::after{background-color:var(--components-form-shape-foreground-disabled)}nv-toggle .description{align-self:stretch;color:var(--components-form-text-description-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-description-font-size);font-style:normal;font-weight:450;line-height:var(--form-description-line-height)}nv-toggle .text-container{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0}";
9
+ const nvToggleCss = "nv-toggle{display:inline-flex;align-items:flex-start;gap:var(--form-gap-x);position:relative}nv-toggle:not([disabled],[readonly]) input,nv-toggle:not([disabled],[readonly]) label{cursor:pointer}nv-toggle.label-placement-before{flex-direction:row-reverse}nv-toggle[disabled]{opacity:0.5}nv-toggle label{align-self:stretch;color:var(--components-form-text-label-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:500;line-height:var(--form-label-line-height)}nv-toggle label.visually-hidden{position:absolute;padding:0;border:0;overflow:hidden;white-space:nowrap;width:1px;height:1px;margin:-1px;clip:rect(0, 0, 0, 0)}nv-toggle .input-container{position:relative;color:var(--components-form-shape-foreground-default)}nv-toggle .input-container:has(input[type=checkbox]:disabled:not([readonly])){color:var(--components-form-shape-foreground-disabled)}nv-toggle .input-container input[type=checkbox]{appearance:none;position:relative;display:flex;width:var(--form-toggle-width);height:var(--form-toggle-height);flex-direction:column;align-items:flex-start;border-radius:var(--form-toggle-radius);border-width:var(--form-toggle-border-width);border-style:solid;border-color:var(--components-form-field-border-default);background:var(--components-form-field-background-default)}nv-toggle .input-container input[type=checkbox]::after{content:\"\";display:block;width:var(--form-toggle-switch-dot-default);height:var(--form-toggle-switch-dot-default);background-color:var(--components-form-shape-foreground-switch-dot);border-radius:var(--radius-rounded-full);position:absolute;top:50%;left:25%;transform:translate(-50%, -50%)}nv-toggle .input-container input[type=checkbox]:hover{border-color:var(--components-form-field-border-hover)}nv-toggle .input-container input[type=checkbox]:focus{border-color:var(--components-form-field-border-default)}nv-toggle .input-container input[type=checkbox]:focus,nv-toggle .input-container input[type=checkbox]:focus-within{outline:none}nv-toggle .input-container input[type=checkbox]:focus-visible,nv-toggle .input-container input[type=checkbox]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-toggle .input-container input[type=checkbox]:checked{background:var(--components-form-field-background-checked);border-color:var(--components-form-field-background-checked)}nv-toggle .input-container input[type=checkbox]:checked::after{content:\"\";display:block;width:var(--form-toggle-switch-dot-default);height:var(--form-toggle-switch-dot-default);background-color:var(--components-form-shape-foreground-default);border-radius:var(--radius-rounded-full);position:absolute;top:50%;left:75%;transform:translate(-50%, -50%)}nv-toggle .input-container input[type=checkbox]:checked:focus{background:var(--components-form-field-background-checked);border-color:var(--components-form-field-border-focus)}nv-toggle .input-container input[type=checkbox]:disabled:not([readonly]){box-shadow:unset;background:var(--components-form-field-background-disabled);border-color:var(--components-form-field-border-default)}nv-toggle .input-container input[type=checkbox]:disabled:not([readonly]):checked::after{background-color:var(--components-form-shape-foreground-disabled)}nv-toggle .description{align-self:stretch;color:var(--components-form-text-description-default);font-family:\"TT Norms Pro\", sans-serif;font-size:var(--form-description-font-size);font-style:normal;font-weight:450;line-height:var(--form-description-line-height)}nv-toggle .text-container{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0}";
10
10
  const NvToggleStyle0 = nvToggleCss;
11
11
 
12
12
  const NvToggle = class {
@@ -66,8 +66,8 @@ const NvToggle = class {
66
66
  /****************************************************************************/
67
67
  //#region RENDER
68
68
  render() {
69
- return (index.h(index.Host, { key: '59aa4f6fba2a51afd7e2ed35396e1e906cf338e9', class: clsx.clsx(this.labelPlacement === 'before' && 'label-placement-before') }, index.h("div", { key: '5ed63f6be69e49e93e21761e583122f3a5c73ea0', class: "input-container" }, index.h("input", { key: 'dc48775994ef9873478191bdb7ecfb11090b0298', type: "checkbox", id: this.inputId, name: this.name, autocomplete: "off", value: this.value, checked: Boolean(this.checked), disabled: this.disabled || this.readonly, readonly: this.readonly })), index.h("div", { key: '4731c95eefb7a762f868b5105c613b635be330bf', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (index.h("label", { key: '80b0737dc38cbee593cb15f84362cbf2d5a4fbdd', htmlFor: this.inputId, class: clsx.clsx(this.hideLabel && 'visually-hidden') }, index.h("slot", { key: '8c886a43d3f7e30330f6f2c23f27fd8848bb845d', name: "label" }, this.label))), (this.description ||
70
- this.el.querySelector('[slot="description"]')) && (index.h("div", { key: '32036ee81dd3d286950d85f7b9ce4a3e06661ed3', class: "description" }, index.h("slot", { key: '090417815292fa0b07bb21551b47630261f7f7dd', name: "description" }, this.description))))));
69
+ return (index.h(index.Host, { key: '6e18c6145fccdf7926bcc64a2414e6b41d364487', class: clsx.clsx(this.labelPlacement === 'before' && 'label-placement-before') }, index.h("div", { key: 'fda6ce7b087d1acef0f2afb24edbdc2566ca6cbf', class: "input-container" }, index.h("input", { key: '53569ce97f75b7a2ac0c94a702096d3f9215432a', type: "checkbox", id: this.inputId, name: this.name, autocomplete: "off", value: this.value, checked: Boolean(this.checked), disabled: this.disabled || this.readonly, readonly: this.readonly })), index.h("div", { key: '26f0a6f570b8ef4150d53a7733c832f1c5f4343d', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (index.h("label", { key: '5ff30cca4abfd0c2f4283eab6c7ae678653748d3', htmlFor: this.inputId, class: clsx.clsx(this.hideLabel && 'visually-hidden') }, index.h("slot", { key: 'c6cc3536fa741fb89ebb24dfe455957b66edd77b', name: "label" }, this.label))), (this.description ||
70
+ this.el.querySelector('[slot="description"]')) && (index.h("div", { key: '0b1804f9e5407f15037fb6e5c80d7b8dafee5599', class: "description" }, index.h("slot", { key: '8f1b272158ffebb03992ed8c3b115e52504ff8ce', name: "description" }, this.description))))));
71
71
  }
72
72
  static get formAssociated() { return true; }
73
73
  get el() { return index.getElement(this); }
@@ -1 +1 @@
1
- {"file":"nv-toggle.entry.cjs.js","mappings":";;;;;;;;AAAA,MAAM,WAAW,GAAG,w+GAAw+G,CAAC;AAC7/G,uBAAe,WAAW;;MCyBb,QAAQ;IANrB;;;;;;;;;;;QAmBW,YAAO,GAAWA,KAAM,EAAE,CAAC;;;;;QAgC3B,cAAS,GAAY,KAAK,CAAC;;QAWpC,YAAO,GAAY,KAAK,CAAC;;QAIhB,aAAQ,GAAY,KAAK,CAAC;;;;;QAO1B,aAAQ,GAAY,KAAK,CAAC;KA2FpC;;;;;;;;IArEC,gBAAgB,CAAC,OAAgB;QAC/B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACnC;;;;;;IAQD,YAAY,CAAC,KAAY;QACvB,MAAM,MAAM,GAAG,KAAK,CAAC,MAA0B,CAAC;QAEhD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE;YAC5D,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAClC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,OAAO;aACR;YAED,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;SAC/B;KACF;;;;IAMD,MAAM;QACJ,QACEC,QAACC,UAAI,qDACH,KAAK,EAAEC,SAAI,CACT,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,wBAAwB,CAC7D,IAEDF,kEAAK,KAAK,EAAC,iBAAiB,IAC1BA,oEACE,IAAI,EAAC,UAAU,EACf,EAAE,EAAE,IAAI,CAAC,OAAO,EAChB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,YAAY,EAAC,KAAK,EAClB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GACvB,CACE,EAENA,kEAAK,KAAK,EAAC,gBAAgB,IACxB,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,MACrDA,oEACE,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAEE,SAAI,CAAC,IAAI,CAAC,SAAS,IAAI,iBAAiB,CAAC,IAEhDF,mEAAM,IAAI,EAAC,OAAO,IAAE,IAAI,CAAC,KAAK,CAAQ,CAChC,CACT,EAEA,CAAC,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAC,MAC7CA,kEAAK,KAAK,EAAC,aAAa,IACtBA,mEAAM,IAAI,EAAC,aAAa,IAAE,IAAI,CAAC,WAAW,CAAQ,CAC9C,CACP,CACG,CACD,EACP;KACH;;;;;;;;;;;","names":["uuidv4","h","Host","clsx"],"sources":["src/components/nv-toggle/nv-toggle.scss?tag=nv-toggle","src/components/nv-toggle/nv-toggle.tsx"],"sourcesContent":["@import \"../../styles/focus-ring\";\n\n@mixin root-styles() {\n display: inline-flex;\n align-items: flex-start;\n gap: var(--form-gap-x);\n position: relative;\n\n &:not([disabled], [readonly]) {\n input,\n label {\n cursor: pointer;\n }\n }\n}\n\n@mixin label-before-styles() {\n flex-direction: row-reverse;\n}\n\n@mixin label-styles() {\n align-self: stretch;\n color: var(--components-form-text-label-default);\n font-family: \"TT Norms Pro\", sans-serif;\n font-size: var(--form-label-font-size);\n font-style: normal;\n font-weight: 500;\n line-height: var(--form-label-line-height);\n}\n\n@mixin description-styles() {\n align-self: stretch;\n color: var(--components-form-text-description-default);\n font-family: \"TT Norms Pro\", sans-serif;\n font-size: var(--form-description-font-size);\n font-style: normal;\n font-weight: 450;\n line-height: var(--form-description-line-height);\n}\n\n@mixin text-container-styles() {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n flex: 1 0 0;\n}\n\n@mixin input-container-styles() {\n position: relative;\n color: var(--components-form-shape-foreground-default);\n\n &:has(input[type=\"checkbox\"]:disabled:not([readonly])) {\n color: var(--components-form-shape-foreground-disabled);\n }\n}\n\n@mixin input-styles() {\n appearance: none;\n position: relative;\n display: flex;\n width: var(--form-toggle-width);\n height: var(--form-toggle-height);\n flex-direction: column;\n align-items: flex-start;\n border-radius: var(--form-toggle-radius);\n border-width: var(--form-toggle-border-width);\n border-style: solid;\n border-color: var(--components-form-field-border-default);\n background: var(--components-form-field-background-default);\n\n &::after {\n content: '';\n display: block;\n width: var(--form-toggle-switch-dot-default);\n height: var(--form-toggle-switch-dot-default);\n background-color: var(--components-form-shape-foreground-switch-dot);\n border-radius: var(--radius-rounded-full);\n position: absolute;\n top: 50%;\n left: 25%;\n transform: translate(-50%, -50%);\n }\n\n &:hover {\n border-color: var(--components-form-field-border-hover);\n }\n\n &:focus {\n border-color: var(--components-form-field-border-default);\n }\n\n @include focus-ring();\n\n &:checked {\n background: var(--components-form-field-background-checked);\n border-color: var(--components-form-field-background-checked);\n\n &::after {\n content: '';\n display: block;\n width: var(--form-toggle-switch-dot-default);\n height: var(--form-toggle-switch-dot-default);\n background-color: var(--components-form-shape-foreground-default);\n border-radius: var(--radius-rounded-full);\n position: absolute;\n top: 50%;\n left: 75%;\n transform: translate(-50%, -50%);\n }\n\n &:focus {\n background: var(--components-form-field-background-checked);\n border-color: var(--components-form-field-border-focus);\n }\n }\n\n &:disabled:not([readonly]) {\n box-shadow: unset;\n background: var(--components-form-field-background-disabled);\n border-color: var(--components-form-field-border-default);\n\n &:checked {\n &::after {\n background-color: var(--components-form-shape-foreground-disabled);\n }\n }\n }\n}\n\nnv-toggle {\n @include root-styles();\n\n &.label-placement-before {\n @include label-before-styles();\n }\n\n &[disabled] {\n // TODO: Find a way to use the --components-form-opacity-disabled variable properly, right now it outputs a value of 50px instead of 0.5.\n // opacity: var(--components-form-opacity-disabled); Error: Invalid value for --components-form-opacity-disabled (expected a <number> but got \"50px\")\n opacity: 0.5;\n }\n label {\n @include label-styles();\n }\n\n .input-container {\n @include input-container-styles();\n\n input[type=\"checkbox\"] {\n @include input-styles();\n }\n }\n\n .description {\n @include description-styles();\n }\n\n .text-container {\n @include text-container-styles();\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Watch,\n Event,\n EventEmitter,\n Listen,\n} from '@stencil/core';\nimport clsx from 'clsx';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { type LabelPlacement } from '../../utils/constants';\n\n/**\n * @slot 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 */\n@Component({\n tag: 'nv-toggle',\n styleUrl: 'nv-toggle.scss',\n shadow: false,\n formAssociated: true,\n})\nexport class NvToggle {\n @Element() el!: HTMLNvToggleElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the ID for the radio button’s input element and the for attribute of\n * the associated label. If no ID is provided, a random one will be\n * automatically generated to ensure unique identification, facilitating\n * proper label association and accessibility.\n */\n @Prop({ reflect: true })\n readonly inputId: string = uuidv4();\n\n /**\n * The name attribute for the toggle input, used to reference the form data\n * after submission.\n */\n @Prop({ reflect: true })\n readonly name?: string;\n\n /**\n * The value attribute of the toggle input, representing the value sent on\n * form submission when the toggle is checked.\n */\n @Prop({ reflect: true })\n readonly value?: string;\n\n /** The label displayed next to the toggle.*/\n @Prop({ reflect: true })\n readonly label?: string;\n\n /**\n * Determines the position of the label relative to the toggle, either\n * 'start' (before) or 'end' (after).\n */\n @Prop({ reflect: true })\n readonly labelPlacement: `${LabelPlacement}`;\n\n /**\n * Hides the label visually while still keeping it available for screen\n * readers.\n */\n @Prop({ reflect: true })\n readonly hideLabel: boolean = false;\n\n /**\n * A description providing additional context or information about the\n * toggle.\n */\n @Prop({ reflect: true })\n readonly description?: string;\n\n /** Indicates whether the toggle is checked or not. */\n @Prop({ reflect: true, mutable: true })\n checked: boolean = false;\n\n /** Disables the toggle, preventing user interaction. */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Sets the toggle to read-only, preventing user changes but still allowing\n * focus and selection of text.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emits when the checked state changes.\n * @bind checked\n */\n @Event()\n checkedChanged: EventEmitter<boolean>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n /**\n * Watches for changes to the checked state and emits the new value.\n * @param {boolean} checked - The new value of the checked state.\n */\n @Watch('checked')\n onCheckedChanged(checked: boolean) {\n this.checkedChanged.emit(checked);\n }\n\n /**\n * Listens for the change event on the toggle input element and updates the checked state.\n * the checked state of the host elements.\n * @param {Event} event - The change event.\n */\n @Listen('change')\n handleChange(event: Event) {\n const target = event.target as HTMLInputElement;\n\n if (target.type === 'checkbox' && target.id === this.inputId) {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n return;\n }\n\n this.checked = target.checked;\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n class={clsx(\n this.labelPlacement === 'before' && 'label-placement-before',\n )}\n >\n <div class=\"input-container\">\n <input\n type=\"checkbox\"\n id={this.inputId}\n name={this.name}\n autocomplete=\"off\"\n value={this.value}\n checked={Boolean(this.checked)}\n disabled={this.disabled || this.readonly}\n readonly={this.readonly}\n />\n </div>\n\n <div class=\"text-container\">\n {(this.label || this.el.querySelector('[slot=\"label\"]')) && (\n <label\n htmlFor={this.inputId}\n class={clsx(this.hideLabel && 'visually-hidden')}\n >\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n {(this.description ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n </div>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
1
+ {"file":"nv-toggle.entry.cjs.js","mappings":";;;;;;;;AAAA,MAAM,WAAW,GAAG,uoHAAuoH,CAAC;AAC5pH,uBAAe,WAAW;;MCyBb,QAAQ;IANrB;;;;;;;;;;;QAmBW,YAAO,GAAWA,KAAM,EAAE,CAAC;;;;;QAgC3B,cAAS,GAAY,KAAK,CAAC;;QAWpC,YAAO,GAAY,KAAK,CAAC;;QAIhB,aAAQ,GAAY,KAAK,CAAC;;;;;QAO1B,aAAQ,GAAY,KAAK,CAAC;KA2FpC;;;;;;;;IArEC,gBAAgB,CAAC,OAAgB;QAC/B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACnC;;;;;;IAQD,YAAY,CAAC,KAAY;QACvB,MAAM,MAAM,GAAG,KAAK,CAAC,MAA0B,CAAC;QAEhD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE;YAC5D,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;gBAClC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,OAAO;aACR;YAED,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;SAC/B;KACF;;;;IAMD,MAAM;QACJ,QACEC,QAACC,UAAI,qDACH,KAAK,EAAEC,SAAI,CACT,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,wBAAwB,CAC7D,IAEDF,kEAAK,KAAK,EAAC,iBAAiB,IAC1BA,oEACE,IAAI,EAAC,UAAU,EACf,EAAE,EAAE,IAAI,CAAC,OAAO,EAChB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,YAAY,EAAC,KAAK,EAClB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GACvB,CACE,EAENA,kEAAK,KAAK,EAAC,gBAAgB,IACxB,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,MACrDA,oEACE,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,KAAK,EAAEE,SAAI,CAAC,IAAI,CAAC,SAAS,IAAI,iBAAiB,CAAC,IAEhDF,mEAAM,IAAI,EAAC,OAAO,IAAE,IAAI,CAAC,KAAK,CAAQ,CAChC,CACT,EAEA,CAAC,IAAI,CAAC,WAAW;YAChB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAC,MAC7CA,kEAAK,KAAK,EAAC,aAAa,IACtBA,mEAAM,IAAI,EAAC,aAAa,IAAE,IAAI,CAAC,WAAW,CAAQ,CAC9C,CACP,CACG,CACD,EACP;KACH;;;;;;;;;;;","names":["uuidv4","h","Host","clsx"],"sources":["src/components/nv-toggle/nv-toggle.scss?tag=nv-toggle","src/components/nv-toggle/nv-toggle.tsx"],"sourcesContent":["@use \"../../styles/utils\" as utils;\n@import \"../../styles/focus-ring\";\n\n@mixin root-styles() {\n display: inline-flex;\n align-items: flex-start;\n gap: var(--form-gap-x);\n position: relative;\n\n &:not([disabled], [readonly]) {\n input,\n label {\n cursor: pointer;\n }\n }\n}\n\n@mixin label-before-styles() {\n flex-direction: row-reverse;\n}\n\n@mixin label-styles() {\n align-self: stretch;\n color: var(--components-form-text-label-default);\n font-family: \"TT Norms Pro\", sans-serif;\n font-size: var(--form-label-font-size);\n font-style: normal;\n font-weight: 500;\n line-height: var(--form-label-line-height);\n}\n\n@mixin description-styles() {\n align-self: stretch;\n color: var(--components-form-text-description-default);\n font-family: \"TT Norms Pro\", sans-serif;\n font-size: var(--form-description-font-size);\n font-style: normal;\n font-weight: 450;\n line-height: var(--form-description-line-height);\n}\n\n@mixin text-container-styles() {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n flex: 1 0 0;\n}\n\n@mixin input-container-styles() {\n position: relative;\n color: var(--components-form-shape-foreground-default);\n\n &:has(input[type=\"checkbox\"]:disabled:not([readonly])) {\n color: var(--components-form-shape-foreground-disabled);\n }\n}\n\n@mixin input-styles() {\n appearance: none;\n position: relative;\n display: flex;\n width: var(--form-toggle-width);\n height: var(--form-toggle-height);\n flex-direction: column;\n align-items: flex-start;\n border-radius: var(--form-toggle-radius);\n border-width: var(--form-toggle-border-width);\n border-style: solid;\n border-color: var(--components-form-field-border-default);\n background: var(--components-form-field-background-default);\n\n &::after {\n content: '';\n display: block;\n width: var(--form-toggle-switch-dot-default);\n height: var(--form-toggle-switch-dot-default);\n background-color: var(--components-form-shape-foreground-switch-dot);\n border-radius: var(--radius-rounded-full);\n position: absolute;\n top: 50%;\n left: 25%;\n transform: translate(-50%, -50%);\n }\n\n &:hover {\n border-color: var(--components-form-field-border-hover);\n }\n\n &:focus {\n border-color: var(--components-form-field-border-default);\n }\n\n @include focus-ring();\n\n &:checked {\n background: var(--components-form-field-background-checked);\n border-color: var(--components-form-field-background-checked);\n\n &::after {\n content: '';\n display: block;\n width: var(--form-toggle-switch-dot-default);\n height: var(--form-toggle-switch-dot-default);\n background-color: var(--components-form-shape-foreground-default);\n border-radius: var(--radius-rounded-full);\n position: absolute;\n top: 50%;\n left: 75%;\n transform: translate(-50%, -50%);\n }\n\n &:focus {\n background: var(--components-form-field-background-checked);\n border-color: var(--components-form-field-border-focus);\n }\n }\n\n &:disabled:not([readonly]) {\n box-shadow: unset;\n background: var(--components-form-field-background-disabled);\n border-color: var(--components-form-field-border-default);\n\n &:checked {\n &::after {\n background-color: var(--components-form-shape-foreground-disabled);\n }\n }\n }\n}\n\nnv-toggle {\n @include root-styles();\n\n &.label-placement-before {\n @include label-before-styles();\n }\n\n &[disabled] {\n // TODO: Find a way to use the --components-form-opacity-disabled variable properly, right now it outputs a value of 50px instead of 0.5.\n // opacity: var(--components-form-opacity-disabled); Error: Invalid value for --components-form-opacity-disabled (expected a <number> but got \"50px\")\n opacity: 0.5;\n }\n label {\n @include label-styles();\n\n &.visually-hidden {\n @include utils.visually-hidden();\n }\n }\n\n .input-container {\n @include input-container-styles();\n\n input[type=\"checkbox\"] {\n @include input-styles();\n }\n }\n\n .description {\n @include description-styles();\n }\n\n .text-container {\n @include text-container-styles();\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Watch,\n Event,\n EventEmitter,\n Listen,\n} from '@stencil/core';\nimport clsx from 'clsx';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { type LabelPlacement } from '../../utils/constants';\n\n/**\n * @slot 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 */\n@Component({\n tag: 'nv-toggle',\n styleUrl: 'nv-toggle.scss',\n shadow: false,\n formAssociated: true,\n})\nexport class NvToggle {\n @Element() el!: HTMLNvToggleElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the ID for the radio button’s input element and the for attribute of\n * the associated label. If no ID is provided, a random one will be\n * automatically generated to ensure unique identification, facilitating\n * proper label association and accessibility.\n */\n @Prop({ reflect: true })\n readonly inputId: string = uuidv4();\n\n /**\n * The name attribute for the toggle input, used to reference the form data\n * after submission.\n */\n @Prop({ reflect: true })\n readonly name?: string;\n\n /**\n * The value attribute of the toggle input, representing the value sent on\n * form submission when the toggle is checked.\n */\n @Prop({ reflect: true })\n readonly value?: string;\n\n /** The label displayed next to the toggle.*/\n @Prop({ reflect: true })\n readonly label?: string;\n\n /**\n * Determines the position of the label relative to the toggle, either\n * 'start' (before) or 'end' (after).\n */\n @Prop({ reflect: true })\n readonly labelPlacement: `${LabelPlacement}`;\n\n /**\n * Hides the label visually while still keeping it available for screen\n * readers.\n */\n @Prop({ reflect: true })\n readonly hideLabel: boolean = false;\n\n /**\n * A description providing additional context or information about the\n * toggle.\n */\n @Prop({ reflect: true })\n readonly description?: string;\n\n /** Indicates whether the toggle is checked or not. */\n @Prop({ reflect: true, mutable: true })\n checked: boolean = false;\n\n /** Disables the toggle, preventing user interaction. */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Sets the toggle to read-only, preventing user changes but still allowing\n * focus and selection of text.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emits when the checked state changes.\n * @bind checked\n */\n @Event()\n checkedChanged: EventEmitter<boolean>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n /**\n * Watches for changes to the checked state and emits the new value.\n * @param {boolean} checked - The new value of the checked state.\n */\n @Watch('checked')\n onCheckedChanged(checked: boolean) {\n this.checkedChanged.emit(checked);\n }\n\n /**\n * Listens for the change event on the toggle input element and updates the checked state.\n * the checked state of the host elements.\n * @param {Event} event - The change event.\n */\n @Listen('change')\n handleChange(event: Event) {\n const target = event.target as HTMLInputElement;\n\n if (target.type === 'checkbox' && target.id === this.inputId) {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n return;\n }\n\n this.checked = target.checked;\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n class={clsx(\n this.labelPlacement === 'before' && 'label-placement-before',\n )}\n >\n <div class=\"input-container\">\n <input\n type=\"checkbox\"\n id={this.inputId}\n name={this.name}\n autocomplete=\"off\"\n value={this.value}\n checked={Boolean(this.checked)}\n disabled={this.disabled || this.readonly}\n readonly={this.readonly}\n />\n </div>\n\n <div class=\"text-container\">\n {(this.label || this.el.querySelector('[slot=\"label\"]')) && (\n <label\n htmlFor={this.inputId}\n class={clsx(this.hideLabel && 'visually-hidden')}\n >\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n {(this.description ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n </div>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
@@ -36,7 +36,7 @@ const NvTooltip = class {
36
36
  /****************************************************************************/
37
37
  //#region RENDER
38
38
  render() {
39
- return (index.h(index.Host, { key: 'e11a19bbdd775cb54b054bd502c589d80feacb35' }, index.h("slot", { key: '9fb404ae962570d3b1f5cdd42ed8673f86eeedae' }), index.h("nv-popover", { key: 'd5114554c2e97909b25dfa7ec0d64a7d10d624ec', triggerMode: "hover", hasArrow: true, placement: this.placement, triggerElement: this.triggerElement, groupName: 'tooltip', enterDelay: this.enterDelay }, index.h("p", { key: '4d675b15e413054b7bd9fd71df6f3c236c175c47', slot: "content" }, this.message), index.h("slot", { key: '2967e58a96ed6d8d4d0fecc195209c8b2f9d1353', name: "content" }))));
39
+ return (index.h(index.Host, { key: '42d55bd749a31fc808d6685b75b5002b10575b63' }, index.h("slot", { key: '7ccb801774290a4e47c9bf6e61994936f0cb793e' }), index.h("nv-popover", { key: '6c67ddae0787dbc9e24d239e3b34218dfa997747', triggerMode: "hover", hasArrow: true, placement: this.placement, triggerElement: this.triggerElement, groupName: 'tooltip', enterDelay: this.enterDelay }, index.h("p", { key: '900d3a61fc7adb7aee3f9982d932c6e2f9889ab3', slot: "content" }, this.message), index.h("slot", { key: '3f5e490d760e723271acef897cf4e0247ca7cd44', name: "content" }))));
40
40
  }
41
41
  get el() { return index.getElement(this); }
42
42
  };
@@ -23,6 +23,17 @@ nv-badge.with-gap {
23
23
  width: fit-content;
24
24
  gap: var(--badge-gap-x);
25
25
  }
26
+ nv-badge.visually-hidden {
27
+ position: absolute;
28
+ padding: 0;
29
+ border: 0;
30
+ overflow: hidden;
31
+ white-space: nowrap;
32
+ width: 1px;
33
+ height: 1px;
34
+ margin: -1px;
35
+ clip: rect(0, 0, 0, 0);
36
+ }
26
37
  nv-badge:not(.with-gap) {
27
38
  padding: var(--badge-padding-y) var(--badge-padding-x);
28
39
  display: inline-flex !important;
@@ -3,7 +3,7 @@ import clsx from "clsx";
3
3
  import { useFade, useCollapse, timeline } from "../../animations";
4
4
  /**
5
5
  * @slot leading-icon - Icon before the label.
6
- * @slot default - Default slot for the badge label.
6
+ * @slot default - for custom content, for pure text use label instead.
7
7
  */
8
8
  export class NvBadge {
9
9
  constructor() {
@@ -37,7 +37,6 @@ export class NvBadge {
37
37
  * Controls the visibility of the badge. Will animate with fade and collapse.
38
38
  */
39
39
  this.hidden = false; // eslint-disable-line @stencil-community/reserved-member-names
40
- this._isHidden = this.hidden;
41
40
  /**
42
41
  * When true, the alert does not automatically close upon dismissing.
43
42
  * Useful for externally controlled component behavior.
@@ -106,6 +105,7 @@ export class NvBadge {
106
105
  this.leadIcon = this.icon;
107
106
  }
108
107
  if (this.hidden) {
108
+ this._isHidden = true;
109
109
  const { setCollapsed } = useCollapse(this.ref);
110
110
  const { setFadeOut } = useFade(this.ref);
111
111
  setCollapsed();
@@ -116,10 +116,11 @@ export class NvBadge {
116
116
  /****************************************************************************/
117
117
  //#region RENDER
118
118
  render() {
119
- return (h(Host, { key: '0fe871313f0a98b8dfb4b84e1fc4898ae73baa69', class: clsx(`badge-${this.color} with-gap`, {
119
+ return (h(Host, { key: '8d97eed4a84f2f913e4f8cd64d08c806d9724f33', class: clsx(`badge-${this.color}`, {
120
120
  'has-close': this.dismissible,
121
+ 'with-gap': this.dismissible || this.label,
121
122
  'visually-hidden': this._isHidden,
122
- }) }, h("slot", { key: '728a5ed5ad4795619bf0bc1c89478c68bc47497a', name: "leading-icon" }, this.leadIcon && (h("nv-icon", { key: '4b48fc280769ffe520c6a8f15eb2b283cb42243b', slot: "leading-icon", name: this.leadIcon, size: "sm" }))), this.label && h("span", { key: 'c1f3ab6775ffcf3079bf2c861fb34831aa5ffda7' }, this.label), h("span", { key: '352cca4c6a6ffb300c25f7ed05d9fdca3fda161c' }, h("slot", { key: 'a0a36898691b9a3cf42eb1d87ab3fb3084ae8489' })), this.dismissible && (h("button", { key: 'e5702056e9a2080d15df91d2bc3a32898bdc0ce5', onClick: this.handleClose, class: "close", type: "button" }, h("nv-icon", { key: '23a856aaa98c4489cd1dabe2eb4a88a5d9065e92', name: "x", size: "sm" })))));
123
+ }) }, h("slot", { key: '34c2c387727e6b68d37fe2b2ac68c82799356e3d', name: "leading-icon" }, this.leadIcon && h("nv-icon", { key: '0c23dd58e48fce39d7935549c6289f87f1fb66af', name: this.leadIcon, size: "sm" })), h("slot", { key: '7485f570aa3cf519b030bedfa8ccf6a6d37d2c1b' }, this.label && h("span", { key: 'eb7afa0eb52582c6d782d2383dfe2eeb41a9649b' }, this.label)), this.dismissible && (h("button", { key: 'bc07eed3e1328a8009cb2c8add026a7f8a5335da', onClick: this.handleClose, class: "close", type: "button" }, h("nv-icon", { key: 'ab0b2c6224f4b8b147e8158856acbf1ab987b392', name: "x", size: "sm" })))));
123
124
  }
124
125
  static get is() { return "nv-badge"; }
125
126
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"nv-badge.js","sourceRoot":"","sources":["../../../src/components/nv-badge/nv-badge.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Watch,\n Element,\n State,\n} from '@stencil/core';\nimport clsx from 'clsx';\nimport { useFade, useCollapse, timeline } from '../../animations';\n\n/**\n * @slot leading-icon - Icon before the label.\n * @slot default - Default slot for the badge label.\n */\n@Component({\n tag: 'nv-badge',\n styleUrl: 'nv-badge.scss',\n shadow: false,\n})\nexport class NvBadge {\n @Element() ref: HTMLNvBadgeElement;\n\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Whether the badge is dismissible.\n * @deprecated use dismissible instead.\n */\n @Prop({ reflect: true })\n readonly dismissal: boolean = false;\n\n /**\n * The icon to display in the badge.\n * @deprecated use leadIcon or slot=\"leading-icon\" instead.\n */\n @Prop({ reflect: true })\n readonly icon: string;\n\n /**\n * The location of the icon in the badge.\n * @deprecated only leadIcon now.\n */\n @Prop({ reflect: true })\n readonly iconLocation: 'left' | 'right';\n\n //#endregion DEPRECATED\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * The color of the badge. Use a string between 1 to 10\n */\n @Prop({ reflect: true })\n readonly color?: string = '1';\n\n /**\n * Main content of the badge.\n */\n @Prop({ reflect: true })\n readonly label?: string | null = null;\n\n /**\n * The lead icon of the badge.\n */\n @Prop({ reflect: true, mutable: true })\n leadIcon?: string | null = null;\n\n /**\n * Whether the badge is dismissible.\n */\n @Prop({ reflect: true, mutable: true })\n dismissible: boolean = false;\n\n /**\n * Controls the visibility of the badge. Will animate with fade and collapse.\n */\n @Prop({ reflect: true, mutable: true })\n hidden: boolean = false; // eslint-disable-line @stencil-community/reserved-member-names\n @State()\n private _isHidden: boolean = this.hidden;\n\n /**\n * When true, the alert does not automatically close upon dismissing.\n * Useful for externally controlled component behavior.\n */\n @Prop({ reflect: true })\n readonly preventAutoClose: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the badge is dismissed.\n */\n @Event()\n closeClicked: EventEmitter<MouseEvent>;\n\n /**\n * Emits when the 'hidden' prop changes, reflecting a change in visibility.\n * Passes hidden value to the detail.\n */\n @Event()\n hiddenChanged: EventEmitter<boolean>;\n\n /**\n * Emitted when the animations complete, detail includes the hidden value.\n */\n @Event()\n hiddenChangedComplete: EventEmitter<boolean>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n /**\n * Handles the dismissal prop change.\n * @param {boolean} dismissal - The new dismissal value.\n */\n @Watch('dismissal')\n handleDismissalChange(dismissal: boolean) {\n this.dismissible = dismissal;\n }\n\n /**\n * Handles the icon prop change.\n * @param {string} icon - The new icon value.\n */\n @Watch('icon')\n handleIconChange(icon: string) {\n this.leadIcon = icon;\n }\n\n /**\n * Handles the hidden prop change.\n * @param {boolean} hidden - The new hidden value.\n */\n @Watch('hidden')\n async handleHiddenChange(hidden: boolean) {\n this.hiddenChanged.emit(hidden);\n if (this._isHidden === true) this._isHidden = hidden;\n\n const { fadeIn, fadeOut } = useFade(this.ref, { duration: 150 });\n const { collapse, expand } = useCollapse(this.ref, { duration: 150 });\n\n if (hidden === true) await timeline(fadeOut, collapse).start();\n if (hidden === false) await timeline(expand, fadeIn).start();\n\n this.hiddenChangedComplete.emit(hidden);\n\n if (this._isHidden === false) this._isHidden = hidden;\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n /**\n * Component will load.\n */\n componentWillLoad() {\n if (this.dismissal) {\n this.dismissible = this.dismissal;\n }\n\n if (this.icon != null && this.icon != '') {\n this.leadIcon = this.icon;\n }\n\n if (this.hidden) {\n const { setCollapsed } = useCollapse(this.ref);\n const { setFadeOut } = useFade(this.ref);\n\n setCollapsed();\n setFadeOut();\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles the close button click.\n * @param {MouseEvent} originalEvent - The original event.\n */\n private readonly handleClose = (originalEvent?: MouseEvent) => {\n if (!this.preventAutoClose) {\n this.hidden = true;\n }\n\n this.closeClicked.emit(originalEvent);\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n class={clsx(`badge-${this.color} with-gap`, {\n 'has-close': this.dismissible,\n 'visually-hidden': this._isHidden,\n })}\n >\n <slot name=\"leading-icon\">\n {this.leadIcon && (\n <nv-icon\n slot=\"leading-icon\"\n name={this.leadIcon}\n size=\"sm\"\n ></nv-icon>\n )}\n </slot>\n {this.label && <span>{this.label}</span>}\n <span>\n <slot></slot>\n </span>\n {this.dismissible && (\n <button onClick={this.handleClose} class=\"close\" type=\"button\">\n <nv-icon name=\"x\" size=\"sm\" />\n </button>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
1
+ {"version":3,"file":"nv-badge.js","sourceRoot":"","sources":["../../../src/components/nv-badge/nv-badge.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Watch,\n Element,\n State,\n} from '@stencil/core';\nimport clsx from 'clsx';\nimport { useFade, useCollapse, timeline } from '../../animations';\n\n/**\n * @slot leading-icon - Icon before the label.\n * @slot default - for custom content, for pure text use label instead.\n */\n@Component({\n tag: 'nv-badge',\n styleUrl: 'nv-badge.scss',\n shadow: false,\n})\nexport class NvBadge {\n @Element() ref: HTMLNvBadgeElement;\n\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Whether the badge is dismissible.\n * @deprecated use dismissible instead.\n */\n @Prop({ reflect: true })\n readonly dismissal: boolean = false;\n\n /**\n * The icon to display in the badge.\n * @deprecated use leadIcon or slot=\"leading-icon\" instead.\n */\n @Prop({ reflect: true })\n readonly icon: string;\n\n /**\n * The location of the icon in the badge.\n * @deprecated only leadIcon now.\n */\n @Prop({ reflect: true })\n readonly iconLocation: 'left' | 'right';\n\n //#endregion DEPRECATED\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * The color of the badge. Use a string between 1 to 10\n */\n @Prop({ reflect: true })\n readonly color?: string = '1';\n\n /**\n * Main content of the badge.\n */\n @Prop({ reflect: true })\n readonly label?: string | null = null;\n\n /**\n * The lead icon of the badge.\n */\n @Prop({ reflect: true, mutable: true })\n leadIcon?: string | null = null;\n\n /**\n * Whether the badge is dismissible.\n */\n @Prop({ reflect: true, mutable: true })\n dismissible: boolean = false;\n\n /**\n * Controls the visibility of the badge. Will animate with fade and collapse.\n */\n @Prop({ reflect: true, mutable: true })\n hidden: boolean = false; // eslint-disable-line @stencil-community/reserved-member-names\n @State()\n private _isHidden: boolean;\n\n /**\n * When true, the alert does not automatically close upon dismissing.\n * Useful for externally controlled component behavior.\n */\n @Prop({ reflect: true })\n readonly preventAutoClose: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the badge is dismissed.\n */\n @Event()\n closeClicked: EventEmitter<MouseEvent>;\n\n /**\n * Emits when the 'hidden' prop changes, reflecting a change in visibility.\n * Passes hidden value to the detail.\n */\n @Event()\n hiddenChanged: EventEmitter<boolean>;\n\n /**\n * Emitted when the animations complete, detail includes the hidden value.\n */\n @Event()\n hiddenChangedComplete: EventEmitter<boolean>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n /**\n * Handles the dismissal prop change.\n * @param {boolean} dismissal - The new dismissal value.\n */\n @Watch('dismissal')\n handleDismissalChange(dismissal: boolean) {\n this.dismissible = dismissal;\n }\n\n /**\n * Handles the icon prop change.\n * @param {string} icon - The new icon value.\n */\n @Watch('icon')\n handleIconChange(icon: string) {\n this.leadIcon = icon;\n }\n\n /**\n * Handles the hidden prop change.\n * @param {boolean} hidden - The new hidden value.\n */\n @Watch('hidden')\n async handleHiddenChange(hidden: boolean) {\n this.hiddenChanged.emit(hidden);\n if (this._isHidden === true) this._isHidden = hidden;\n\n const { fadeIn, fadeOut } = useFade(this.ref, { duration: 150 });\n const { collapse, expand } = useCollapse(this.ref, { duration: 150 });\n\n if (hidden === true) await timeline(fadeOut, collapse).start();\n if (hidden === false) await timeline(expand, fadeIn).start();\n\n this.hiddenChangedComplete.emit(hidden);\n\n if (this._isHidden === false) this._isHidden = hidden;\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n /**\n * Component will load.\n */\n componentWillLoad() {\n if (this.dismissal) {\n this.dismissible = this.dismissal;\n }\n\n if (this.icon != null && this.icon != '') {\n this.leadIcon = this.icon;\n }\n\n if (this.hidden) {\n this._isHidden = true;\n const { setCollapsed } = useCollapse(this.ref);\n const { setFadeOut } = useFade(this.ref);\n\n setCollapsed();\n setFadeOut();\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles the close button click.\n * @param {MouseEvent} originalEvent - The original event.\n */\n private readonly handleClose = (originalEvent?: MouseEvent) => {\n if (!this.preventAutoClose) {\n this.hidden = true;\n }\n\n this.closeClicked.emit(originalEvent);\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n class={clsx(`badge-${this.color}`, {\n 'has-close': this.dismissible,\n 'with-gap': this.dismissible || this.label,\n 'visually-hidden': this._isHidden,\n })}\n >\n <slot name=\"leading-icon\">\n {this.leadIcon && <nv-icon name={this.leadIcon} size=\"sm\"></nv-icon>}\n </slot>\n\n <slot>{this.label && <span>{this.label}</span>}</slot>\n\n {this.dismissible && (\n <button onClick={this.handleClose} class=\"close\" type=\"button\">\n <nv-icon name=\"x\" size=\"sm\" />\n </button>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
@@ -60,7 +60,7 @@ export class NvBaseComponent {
60
60
  /****************************************************************************/
61
61
  //#region RENDER
62
62
  render() {
63
- return (h(Host, { key: '1294fcaf46e19af023796e1f21cbb2b2506d8163', style: { display: 'block' } }, h("slot", { key: '447dad96223063ef7914d21a98a370a47441d97f' })));
63
+ return (h(Host, { key: 'ba3d284241a61fa30bd434f563b7e4962ea3f238', style: { display: 'block' } }, h("slot", { key: '44a0f1bc5267cf7e7bd0c1d258e8d9b8020a59f3' })));
64
64
  }
65
65
  static get is() { return "nv-base"; }
66
66
  static get elementRef() { return "el"; }
@@ -7,6 +7,17 @@ nv-breadcrumb {
7
7
  font-weight: 500;
8
8
  line-height: var(--line-height-sm);
9
9
  }
10
+ nv-breadcrumb.visually-hidden {
11
+ position: absolute;
12
+ padding: 0;
13
+ border: 0;
14
+ overflow: hidden;
15
+ white-space: nowrap;
16
+ width: 1px;
17
+ height: 1px;
18
+ margin: -1px;
19
+ clip: rect(0, 0, 0, 0);
20
+ }
10
21
  nv-breadcrumb ul {
11
22
  display: flex;
12
23
  flex-direction: column;
@@ -31,7 +31,7 @@ export class NvBreadcrumb {
31
31
  /****************************************************************************/
32
32
  //#region RENDER
33
33
  render() {
34
- return (h(Host, { key: '54b25de1375f6a01c5bb5b302474d00c5b26bb33', role: "listitem", "aria-current": this.current ? 'location' : undefined, class: clsx({ 'visually-hidden': this.current }) }, this.type === 'collapsed' ? (h("button", { ref: el => (this.popoverTrigger = el) }, "...")) : (h("slot", null)), this.tooltip && (h("nv-tooltip", { key: '636034df91035bbd6d8e06a53d61a3997a3c5ff2', message: this.tooltip, triggerElement: this.popoverTrigger, placement: "top" })), this.type === 'collapsed' && (h("nv-popover", { key: 'ab5b203d0f40b130d31c5a1830278e3cc2117c00', triggerMode: "click", groupName: "breadcrumbs", triggerElement: this.popoverTrigger }, h("ul", { key: 'acb0cd65282b1091823664a9769509cafbba15db', slot: "content" }, h("slot", { key: 'c343113351979000b071404e8edb1632147415e6' })))), h("span", { key: '9ccdb10f973c408b655c4bf94f312fb5d4ac18c7', "data-scope": "separator" }, "/")));
34
+ return (h(Host, { key: '8ffa46d8714261924aaab55940c7dc6b36f2a9f9', role: "listitem", "aria-current": this.current ? 'location' : undefined, class: clsx({ 'visually-hidden': this.current }) }, this.type === 'collapsed' ? (h("button", { ref: el => (this.popoverTrigger = el) }, "...")) : (h("slot", null)), this.tooltip && (h("nv-tooltip", { key: 'a2beda9f4b9a5eb71962a1cc060f5467fd2b0134', message: this.tooltip, triggerElement: this.popoverTrigger, placement: "top" })), this.type === 'collapsed' && (h("nv-popover", { key: 'd4a837d21c07697d6ef01506169474bd5cf5a304', triggerMode: "click", groupName: "breadcrumbs", triggerElement: this.popoverTrigger }, h("ul", { key: 'bf089278cfe03ed3ae4beeac57ad67dc029b91cf', slot: "content" }, h("slot", { key: '23f21367fc803a5f176947720e55dba4201f64c4' })))), h("span", { key: 'e1a9414f3be1fd6ef3450f3e7b99d7ff091ec2f0', "data-scope": "separator" }, "/")));
35
35
  }
36
36
  static get is() { return "nv-breadcrumb"; }
37
37
  static get originalStyleUrls() {
@@ -5,7 +5,7 @@ import { Host, h } from "@stencil/core";
5
5
  export class NvBreadcrumbs {
6
6
  //#region RENDER
7
7
  render() {
8
- return (h(Host, { key: '6dd93d8f605b851f8a1d5de50b04b32b694e73e8', role: "navigation", "aria-label": "breadcrumbs" }, h("ol", { key: 'c116a1e51d947a81686770a5283c8efe44de63ef' }, h("slot", { key: '3afae5018687f3906f207aef913c7b329bcfce2f' }))));
8
+ return (h(Host, { key: '5ab0f09cb86a92464ffcd06d8129543539bdcddf', role: "navigation", "aria-label": "breadcrumbs" }, h("ol", { key: 'a7624a2400d9a91ec477694bbd3600960e198981' }, h("slot", { key: '7c4102ceebe110377bf212e0695bdec6b455ea74' }))));
9
9
  }
10
10
  static get is() { return "nv-breadcrumbs"; }
11
11
  static get originalStyleUrls() {
@@ -61,14 +61,16 @@ export class NvButton {
61
61
  * @param {Event} event - The click event.
62
62
  */
63
63
  this.handleButtonClick = (event) => {
64
+ var _a;
64
65
  if (this.loading || this.disabled) {
65
66
  event.preventDefault();
66
67
  return;
67
68
  }
68
- if (this.form && this.type !== ButtonType.Button) {
69
+ if (this.type !== ButtonType.Button &&
70
+ (this.form || ((_a = this.internals) === null || _a === void 0 ? void 0 : _a.form))) {
69
71
  this.processFormAction();
70
72
  }
71
- else if (this.form) {
73
+ else if (this.form && this.type === ButtonType.Button) {
72
74
  console.warn('Button has a form id but is not of type submit or reset so no form action will be processed.', `Button:`, this.el);
73
75
  }
74
76
  };
@@ -138,7 +140,7 @@ export class NvButton {
138
140
  /****************************************************************************/
139
141
  //#region RENDER
140
142
  render() {
141
- return (h(Host, { key: '2919f1f230ca7c49e4f722832b36cf139f5cebf1', role: "button", tabindex: "0", onClick: this.handleButtonClick }, this.loading && (h("nv-loader", { key: 'e2105d891322b9dbe2c5d6138d59533a13115d96', size: this.size === ButtonSize.Large ? 'sm' : 'xs' })), h("slot", { key: 'ba5757e4ff651db4e5a5e074f0fd72590f94fcf6', name: "leading-icon" }), h("slot", { key: 'b0e0c3869846618b0d8558d247e72271838f0a27' }), h("slot", { key: '1cea166b81b36016e095d65691d9d364436f8d91', name: "trailing-icon" })));
143
+ return (h(Host, { key: '751fa0a552eaf13a193a15f9c9d6fe0c257b93e8', role: "button", tabindex: "0", onClick: this.handleButtonClick }, this.loading && (h("nv-loader", { key: 'ae8b39b13bfd6cd8a33f7a30afea19e426d0064d', size: this.size === ButtonSize.Large ? 'sm' : 'xs' })), h("slot", { key: 'e1a213305895c9b35d517bedce3a61f49e39642a', name: "leading-icon" }), h("slot", { key: '2e9e5ed4381790f3c1c06f1a4bf5f60bda79bd1c' }), h("slot", { key: 'e960ec4f4eca0a2a941ca7f3b96a4e31603fa633', name: "trailing-icon" })));
142
144
  }
143
145
  static get is() { return "nv-button"; }
144
146
  static get formAssociated() { return true; }
@@ -1 +1 @@
1
- {"version":3,"file":"nv-button.js","sourceRoot":"","sources":["../../../src/components/nv-button/nv-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Listen,\n Host,\n h,\n Prop,\n AttachInternals,\n Element,\n Watch,\n} from '@stencil/core';\n\nimport { ButtonSize, ButtonEmphasis, ButtonType } from '../../utils/constants';\n\n/**\n * @slot default - Content of the button.\n * @slot leading-icon - Icon before the label.\n * @slot trailing-icon - Icon after the label.\n */\n@Component({\n tag: 'nv-button',\n shadow: false,\n formAssociated: true,\n styleUrl: 'styles/nv-button.scss',\n})\nexport class NvButton {\n @AttachInternals() internals: ElementInternals;\n @Element() el: HTMLNvButtonElement;\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 * Use this prop to highlight the button when it represents the current page\n * or active selection. This helps users understand their navigation context.\n */\n @Prop({ reflect: true })\n readonly active: boolean = false;\n\n /**\n * Applies styling that visually indicates the button represents a dangerous\n * action.\n */\n @Prop({ reflect: true })\n readonly danger: boolean = false;\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.\n */\n @Prop({ reflect: true, mutable: true })\n loading: boolean = false;\n\n /**\n * Disables the button, preventing user interaction.\n */\n @Prop({ reflect: true, mutable: true })\n disabled: boolean = false;\n\n /**\n * Allows the button to stretch and fill the entire width of its container.\n */\n @Prop({ reflect: true })\n readonly fluid: boolean = false;\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 form associated with the button in case the (submit) button is not a child of a form.\n * Matches the native HTML button 'form' attribute behavior.\n */\n @Prop({ reflect: true })\n readonly form: string;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles button click events, managing form actions and disabled states.\n * Prevents default behavior when button is disabled or loading, and\n * processes form submissions/resets when appropriate.\n * @param {Event} event - The click event.\n */\n private handleButtonClick = (event: Event): void => {\n if (this.loading || this.disabled) {\n event.preventDefault();\n return;\n }\n\n if (this.form && this.type !== ButtonType.Button) {\n this.processFormAction();\n } else if (this.form) {\n console.warn(\n 'Button has a form id but is not of type submit or reset so no form action will be processed.',\n `Button:`,\n this.el,\n );\n }\n };\n\n /**\n * Processes form-related actions by finding the associated form element\n * and triggering the appropriate action (submit/reset) based on button type.\n * Falls back to ElementInternals form if no explicit form ID is provided.\n */\n private processFormAction = (): void => {\n const formElement = this.form\n ? (document.getElementById(this.form) as HTMLFormElement)\n : this.internals?.form;\n\n if (!formElement) {\n console.warn(\n 'No form element found.',\n `Form ID: ${this.form || 'Not provided'}`,\n `Internals form:`,\n this.internals?.form,\n );\n return;\n }\n\n switch (this.type) {\n case ButtonType.Submit:\n formElement.requestSubmit();\n break;\n case ButtonType.Reset:\n formElement.reset();\n break;\n }\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region EVENTS\n\n @Listen('keydown', { passive: false })\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.el.click();\n }\n }\n\n @Listen('touchstart', { passive: false })\n handleTouchStart(event: TouchEvent) {\n if (event.touches.length > 1) return;\n event.preventDefault();\n this.el.click();\n }\n\n //#endregion EVENTS\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 role=\"button\" tabindex=\"0\" onClick={this.handleButtonClick}>\n {this.loading && (\n <nv-loader\n size={this.size === ButtonSize.Large ? 'sm' : 'xs'}\n ></nv-loader>\n )}\n\n <slot name=\"leading-icon\"></slot>\n <slot></slot>\n <slot name=\"trailing-icon\"></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
1
+ {"version":3,"file":"nv-button.js","sourceRoot":"","sources":["../../../src/components/nv-button/nv-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Listen,\n Host,\n h,\n Prop,\n AttachInternals,\n Element,\n Watch,\n} from '@stencil/core';\n\nimport { ButtonSize, ButtonEmphasis, ButtonType } from '../../utils/constants';\n\n/**\n * @slot default - Content of the button.\n * @slot leading-icon - Icon before the label.\n * @slot trailing-icon - Icon after the label.\n */\n@Component({\n tag: 'nv-button',\n shadow: false,\n formAssociated: true,\n styleUrl: 'styles/nv-button.scss',\n})\nexport class NvButton {\n @AttachInternals() internals: ElementInternals;\n @Element() el: HTMLNvButtonElement;\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 * Use this prop to highlight the button when it represents the current page\n * or active selection. This helps users understand their navigation context.\n */\n @Prop({ reflect: true })\n readonly active: boolean = false;\n\n /**\n * Applies styling that visually indicates the button represents a dangerous\n * action.\n */\n @Prop({ reflect: true })\n readonly danger: boolean = false;\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.\n */\n @Prop({ reflect: true, mutable: true })\n loading: boolean = false;\n\n /**\n * Disables the button, preventing user interaction.\n */\n @Prop({ reflect: true, mutable: true })\n disabled: boolean = false;\n\n /**\n * Allows the button to stretch and fill the entire width of its container.\n */\n @Prop({ reflect: true })\n readonly fluid: boolean = false;\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 form associated with the button in case the (submit) button is not a child of a form.\n * Matches the native HTML button 'form' attribute behavior.\n */\n @Prop({ reflect: true })\n readonly form: string;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles button click events, managing form actions and disabled states.\n * Prevents default behavior when button is disabled or loading, and\n * processes form submissions/resets when appropriate.\n * @param {Event} event - The click event.\n */\n private handleButtonClick = (event: Event): void => {\n if (this.loading || this.disabled) {\n event.preventDefault();\n return;\n }\n\n if (\n this.type !== ButtonType.Button &&\n (this.form || this.internals?.form)\n ) {\n this.processFormAction();\n } else if (this.form && this.type === ButtonType.Button) {\n console.warn(\n 'Button has a form id but is not of type submit or reset so no form action will be processed.',\n `Button:`,\n this.el,\n );\n }\n };\n\n /**\n * Processes form-related actions by finding the associated form element\n * and triggering the appropriate action (submit/reset) based on button type.\n * Falls back to ElementInternals form if no explicit form ID is provided.\n */\n private processFormAction = (): void => {\n const formElement = this.form\n ? (document.getElementById(this.form) as HTMLFormElement)\n : this.internals?.form;\n\n if (!formElement) {\n console.warn(\n 'No form element found.',\n `Form ID: ${this.form || 'Not provided'}`,\n `Internals form:`,\n this.internals?.form,\n );\n return;\n }\n\n switch (this.type) {\n case ButtonType.Submit:\n formElement.requestSubmit();\n break;\n case ButtonType.Reset:\n formElement.reset();\n break;\n }\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region EVENTS\n\n @Listen('keydown', { passive: false })\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.el.click();\n }\n }\n\n @Listen('touchstart', { passive: false })\n handleTouchStart(event: TouchEvent) {\n if (event.touches.length > 1) return;\n event.preventDefault();\n this.el.click();\n }\n\n //#endregion EVENTS\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 role=\"button\" tabindex=\"0\" onClick={this.handleButtonClick}>\n {this.loading && (\n <nv-loader\n size={this.size === ButtonSize.Large ? 'sm' : 'xs'}\n ></nv-loader>\n )}\n\n <slot name=\"leading-icon\"></slot>\n <slot></slot>\n <slot name=\"trailing-icon\"></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
@@ -986,7 +986,7 @@ export class NvCalendar {
986
986
  * @slot default - Child content of the component.
987
987
  */
988
988
  render() {
989
- return (h(Host, { key: '9b09650b368bcc9e0ce3c9508630c2fdeb573674' }, h("div", { key: '57d3ef9b5f450570176132293fb2a102bba51312', class: "datepicker-root" }, h("div", { key: 'aa49f6897b3da87214945d77eb046dc7f8c68b82', class: `datepicker-container ${this.numberOfCalendars === 1 ? 'datepicker-container-single' : ''}` }, h("div", { key: '0939858f254cfc36db1d40e8fdb4e524699a8e91', class: `datepicker-wrapper ${this.numberOfCalendars === 1 ? 'single' : ''}` }, this.shortcutsPlacement === 'left' && this.renderShortcuts(), Array.from({ length: this.numberOfCalendars }, (_, index) => this.renderCalendar(index, index)), this.shortcutsPlacement === 'right' && this.renderShortcuts()), (this.hasShortcuts || this.hasActions) && (h("div", { key: '39df0c4b31203d6fd500a8b97c1c33c87b2e326a', class: "datepicker-controls" }, this.hasShortcuts && this.renderShortcuts(), this.hasActions && this.renderActions())))), h("slot", { key: 'a1433b59ecda88aad2d5589cebd310dff4ad30fb' })));
989
+ return (h(Host, { key: '49bdf5cc44f9e8f13b0fd61936d3b015e6105d18' }, h("div", { key: 'e1a0fcc20c7c12930df31c36751824a64fae053f', class: "datepicker-root" }, h("div", { key: '48cd6f6d92c41c748fdd05a6d932cbb634e3dfd6', class: `datepicker-container ${this.numberOfCalendars === 1 ? 'datepicker-container-single' : ''}` }, h("div", { key: 'f5d5ca631e448067cbfb04f0bcc74695b5c6fb5e', class: `datepicker-wrapper ${this.numberOfCalendars === 1 ? 'single' : ''}` }, this.shortcutsPlacement === 'left' && this.renderShortcuts(), Array.from({ length: this.numberOfCalendars }, (_, index) => this.renderCalendar(index, index)), this.shortcutsPlacement === 'right' && this.renderShortcuts()), (this.hasShortcuts || this.hasActions) && (h("div", { key: 'cb1ebc42e3616b9c35d147c227a53924fd2c73c8', class: "datepicker-controls" }, this.hasShortcuts && this.renderShortcuts(), this.hasActions && this.renderActions())))), h("slot", { key: 'e9bec2dd219502e8855c6195ebe69bff8fff0da5' })));
990
990
  }
991
991
  static get is() { return "nv-calendar"; }
992
992
  static get originalStyleUrls() {
@@ -22,7 +22,7 @@ export class NvCol {
22
22
  /****************************************************************************/
23
23
  //#region RENDER
24
24
  render() {
25
- return (h(Host, { key: '2f4052741fbe2e2c67c4ce6e1fd83446e724e216', class: clsx(this.getColSize()) }, h("slot", { key: 'a5803fe2cfcd9ced01e025907759f4859db60470' })));
25
+ return (h(Host, { key: '8c6efe159aa3b9d853d07897e17045adabf5716c', class: clsx(this.getColSize()) }, h("slot", { key: '5438e2dd941088fde68b17495a4d231cc56fba3c' })));
26
26
  }
27
27
  static get is() { return "nv-col"; }
28
28
  static get originalStyleUrls() {
@@ -65,9 +65,20 @@ const NvDatagridDocs = {
65
65
  name: nameof(x => x.dataJson),
66
66
  args: {
67
67
  dataJson: `[
68
- { "name": "Alice", "age": "25", "email": "alice@mail.com" },
69
- { "name": "Bob", "age": "30", "email": "bob@mail.com" }
68
+ { "name": "Alice", "age": "25", "email": "alice@mail.com", "roles": [{ "id": "1", "name": "Admin" }] },
69
+ { "name": "Bob", "age": "30", "email": "bob@mail.com", "roles": [{ "id": "2", "name": "User" }] }
70
+ ]`,
71
+ },
72
+ template: h("nv-datagrid", { "data-storybook-args": true }),
73
+ },
74
+ {
75
+ name: nameof(x => x.autoGenerateColumns),
76
+ args: {
77
+ dataJson: `[
78
+ { "name": "Alice", "age": "25", "email": "alice@mail.com", "roles": [{ "id": "1", "name": "Admin" }] },
79
+ { "name": "Bob", "age": "30", "email": "bob@mail.com", "roles": [{ "id": "2", "name": "User" }] }
70
80
  ]`,
81
+ autoGenerateColumns: true,
71
82
  },
72
83
  template: h("nv-datagrid", { "data-storybook-args": true }),
73
84
  },
@@ -192,6 +203,36 @@ const NvDatagridDocs = {
192
203
  },
193
204
  template: (h("nv-datagrid", { "data-storybook-args": true }, h("div", { slot: "before" }, "Before"), h("div", { slot: "after" }, "After"))),
194
205
  },
206
+ {
207
+ name: 'WithDataAndTemplateAndMultipleElements',
208
+ args: {
209
+ dataJson: `[
210
+ {"id":1,"name":"John Doe","age":25,"email":"john.doe@mail.com","roles":["Admin","User"]},
211
+ {"id":2,"name":"Jane Doe","age":30,"email":"jane.doe@mail.com","roles":["User"]}
212
+ ]`,
213
+ },
214
+ template: (h("nv-datagrid", { "data-storybook-args": true }, h("nv-datagridcolumn", { accessor: "name", header: "Name" }, h("div", { slot: "header" }, h("strong", null, "Name")), h("div", { slot: "cell" }, h("strong", null, "__name__"))), h("nv-datagridcolumn", { accessor: "age", header: "Age" }, h("div", { slot: "header" }, h("em", null, "Age")), h("div", { slot: "cell" }, h("span", null, "__age__ years old"))), h("nv-datagridcolumn", { accessor: "email", header: "Mail Address" }, h("div", { slot: "cell" }, h("a", { href: "mailto:__email__" }, "__email__"))), h("nv-datagridcolumn", { accessor: "roles", header: "Role(s)" }, h("div", { slot: "cell" }, h("span", null, "__roles__"))))),
215
+ },
216
+ {
217
+ name: 'WithDataAndTemplateAndMultipleComplexElements',
218
+ args: {
219
+ dataJson: `[
220
+ {"id":1,"name":"John Doe","age":25,"email":"john.doe@mail.com","roles":[{"id":"1","name":"Admin"},{"id":"2","name":"User"}]},
221
+ {"id":2,"name":"Jane Doe","age":30,"email":"jane.doe@mail.com","roles":[{"id":"2","name":"User"}]}
222
+ ]`,
223
+ },
224
+ template: (h("nv-datagrid", { "data-storybook-args": true }, h("nv-datagridcolumn", { accessor: "name", header: "Name" }, h("div", { slot: "header" }, h("strong", null, "Name")), h("div", { slot: "cell" }, h("strong", null, "__name__"))), h("nv-datagridcolumn", { accessor: "age", header: "Age" }, h("div", { slot: "header" }, h("em", null, "Age")), h("div", { slot: "cell" }, h("span", null, "__age__ years old"))), h("nv-datagridcolumn", { accessor: "email", header: "Mail Address" }, h("div", { slot: "cell" }, h("a", { href: "mailto:__email__" }, "__email__"))), h("nv-datagridcolumn", { accessor: "roles", header: "Role(s)" }, h("div", { slot: "cell" }, h("span", null, "__roles.name__"))))),
225
+ },
226
+ {
227
+ name: 'WithDataAndTemplateAndMultipleComplexElementsRepeatTemplate',
228
+ args: {
229
+ dataJson: `[
230
+ {"id":1,"name":"John Doe","age":25,"email":"john.doe@mail.com","roles":[{"id":"1","name":"Admin"},{"id":"2","name":"User"}]},
231
+ {"id":2,"name":"Jane Doe","age":30,"email":"jane.doe@mail.com","roles":[{"id":"2","name":"User"}]}
232
+ ]`,
233
+ },
234
+ template: (h("nv-datagrid", { "data-storybook-args": true }, h("nv-datagridcolumn", { accessor: "name", header: "Name" }, h("div", { slot: "header" }, h("strong", null, "Name")), h("div", { slot: "cell" }, h("strong", null, "__name__"))), h("nv-datagridcolumn", { accessor: "age", header: "Age" }, h("div", { slot: "header" }, h("em", null, "Age")), h("div", { slot: "cell" }, h("span", null, "__age__ years old"))), h("nv-datagridcolumn", { accessor: "email", header: "Mail Address" }, h("div", { slot: "cell" }, h("a", { href: "mailto:__email__" }, "__email__"))), h("nv-datagridcolumn", { accessor: "roles", header: "Role(s)", "repeat-template": true }, h("div", { slot: "cell" }, h("nv-badge", { label: "__roles.name__" }))))),
235
+ },
195
236
  ],
196
237
  };
197
238
  export default NvDatagridDocs;