@nova-design-system/nova-webcomponents 3.28.0 → 3.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (467) hide show
  1. package/dist/cjs/{constants-BugGJYqL.js → constants-BSdCE1ZF.js} +5 -0
  2. package/dist/cjs/index-Bj9nnTVm.js +4856 -0
  3. package/dist/cjs/index.cjs.js +5 -1
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/native.cjs.js +2 -2
  6. package/dist/cjs/nv-accordion-item.cjs.entry.js +3 -3
  7. package/dist/cjs/nv-accordion.cjs.entry.js +2 -2
  8. package/dist/cjs/nv-alert.cjs.entry.js +3 -3
  9. package/dist/cjs/nv-avatar.cjs.entry.js +3 -3
  10. package/dist/cjs/nv-badge_2.cjs.entry.js +8 -7
  11. package/dist/cjs/nv-breadcrumb.cjs.entry.js +2 -2
  12. package/dist/cjs/nv-breadcrumbs.cjs.entry.js +2 -2
  13. package/dist/cjs/nv-button.cjs.entry.js +3 -3
  14. package/dist/cjs/nv-buttongroup.cjs.entry.js +2 -2
  15. package/dist/cjs/nv-calendar.cjs.entry.js +4 -4
  16. package/dist/cjs/nv-col.cjs.entry.js +2 -2
  17. package/dist/cjs/nv-datagrid.cjs.entry.js +4 -4
  18. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +2 -2
  19. package/dist/cjs/nv-datetest.cjs.entry.js +2 -2
  20. package/dist/cjs/nv-datetimetest.cjs.entry.js +1 -1
  21. package/dist/cjs/nv-dialog.cjs.entry.js +3 -3
  22. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +8 -6
  23. package/dist/cjs/nv-drawer.cjs.entry.js +3 -3
  24. package/dist/cjs/nv-drawerfooter_2.cjs.entry.js +6 -4
  25. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +5 -5
  26. package/dist/cjs/nv-fielddate.cjs.entry.js +8 -8
  27. package/dist/cjs/nv-fielddaterange.cjs.entry.js +8 -8
  28. package/dist/cjs/nv-fielddropdown.cjs.entry.js +6 -6
  29. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +2 -2
  30. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +115 -86
  31. package/dist/cjs/nv-fieldnumber.cjs.entry.js +6 -6
  32. package/dist/cjs/nv-fieldpassword.cjs.entry.js +6 -6
  33. package/dist/cjs/nv-fieldradio.cjs.entry.js +4 -4
  34. package/dist/cjs/nv-fieldselect.cjs.entry.js +7 -7
  35. package/dist/cjs/nv-fieldslider.cjs.entry.js +4 -4
  36. package/dist/cjs/nv-fieldtext.cjs.entry.js +6 -6
  37. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +5 -5
  38. package/dist/cjs/nv-fieldtime.cjs.entry.js +16 -13
  39. package/dist/cjs/nv-icon.cjs.entry.js +3 -3
  40. package/dist/cjs/nv-iconbutton_2.cjs.entry.js +3 -3
  41. package/dist/cjs/nv-menu.cjs.entry.js +2 -2
  42. package/dist/cjs/nv-menuitem.cjs.entry.js +2 -2
  43. package/dist/cjs/nv-notification-bullet.cjs.entry.js +1 -1
  44. package/dist/cjs/nv-notification.cjs.entry.js +3 -3
  45. package/dist/cjs/nv-notificationcontainer.cjs.entry.js +2 -2
  46. package/dist/cjs/nv-pagination-nav.cjs.entry.js +2 -2
  47. package/dist/cjs/nv-paginationtable.cjs.entry.js +19 -3
  48. package/dist/cjs/nv-popover.cjs.entry.js +2 -2
  49. package/dist/cjs/nv-row.cjs.entry.js +2 -2
  50. package/dist/cjs/nv-sidebar.cjs.entry.js +178 -4
  51. package/dist/cjs/nv-sidebarcontent.cjs.entry.js +2 -2
  52. package/dist/cjs/nv-sidebardivider.cjs.entry.js +2 -2
  53. package/dist/cjs/nv-sidebarfooter.cjs.entry.js +2 -2
  54. package/dist/cjs/nv-sidebargroup.cjs.entry.js +2 -2
  55. package/dist/cjs/nv-sidebarheader.cjs.entry.js +2 -2
  56. package/dist/cjs/nv-sidebarlogo.cjs.entry.js +2 -2
  57. package/dist/cjs/nv-sidebarnavitem.cjs.entry.js +3 -3
  58. package/dist/cjs/nv-sidebarnavsubitem.cjs.entry.js +2 -2
  59. package/dist/cjs/nv-split.cjs.entry.js +2 -2
  60. package/dist/cjs/nv-stack.cjs.entry.js +2 -2
  61. package/dist/cjs/nv-statusindicator.cjs.entry.js +39 -0
  62. package/dist/cjs/nv-table.cjs.entry.js +3 -3
  63. package/dist/cjs/nv-tableheader.cjs.entry.js +2 -2
  64. package/dist/cjs/nv-tag.cjs.entry.js +82 -0
  65. package/dist/cjs/nv-timetest.cjs.entry.js +2 -2
  66. package/dist/cjs/nv-toggle.cjs.entry.js +3 -3
  67. package/dist/cjs/nv-togglebutton.cjs.entry.js +2 -2
  68. package/dist/cjs/nv-togglebuttongroup.cjs.entry.js +2 -2
  69. package/dist/cjs/nv-tooltip.cjs.entry.js +2 -2
  70. package/dist/collection/collection-manifest.json +2 -0
  71. package/dist/collection/components/nv-accordion/nv-accordion.js +1 -1
  72. package/dist/collection/components/nv-accordion-item/nv-accordion-item.js +2 -2
  73. package/dist/collection/components/nv-alert/nv-alert.docs.js +1 -1
  74. package/dist/collection/components/nv-alert/nv-alert.js +15 -5
  75. package/dist/collection/components/nv-avatar/nv-avatar.js +1 -1
  76. package/dist/collection/components/nv-badge/nv-badge.js +32 -11
  77. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js +1 -1
  78. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js +1 -1
  79. package/dist/collection/components/nv-button/nv-button.js +1 -1
  80. package/dist/collection/components/nv-buttongroup/nv-buttongroup.js +1 -1
  81. package/dist/collection/components/nv-calendar/nv-calendar.js +2 -2
  82. package/dist/collection/components/nv-col/nv-col.docs.js +2 -1
  83. package/dist/collection/components/nv-col/nv-col.js +2 -1
  84. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +2 -2
  85. package/dist/collection/components/nv-datagrid/nv-datagrid.js +2 -2
  86. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +1 -1
  87. package/dist/collection/components/nv-datetest/nv-datetest.js +1 -1
  88. package/dist/collection/components/nv-dialog/nv-dialog.js +1 -1
  89. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js +35 -13
  90. package/dist/collection/components/nv-dialogheader/nv-dialogheader.js +1 -1
  91. package/dist/collection/components/nv-drawer/nv-drawer.js +1 -1
  92. package/dist/collection/components/nv-drawerfooter/nv-drawerfooter.js +31 -9
  93. package/dist/collection/components/nv-drawerheader/nv-drawerheader.js +1 -1
  94. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.js +1 -1
  95. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +4 -4
  96. package/dist/collection/components/nv-fielddate/nv-fielddate.docs.js +1 -1
  97. package/dist/collection/components/nv-fielddate/nv-fielddate.js +6 -6
  98. package/dist/collection/components/nv-fielddate/styles/nv-fielddate.css +3 -0
  99. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.docs.js +1 -1
  100. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +6 -6
  101. package/dist/collection/components/nv-fielddaterange/styles/nv-fielddaterange.css +3 -0
  102. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +1 -1
  103. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +4 -4
  104. package/dist/collection/components/nv-fielddropdown/styles/nv-fielddropdown.css +3 -0
  105. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.docs.js +1 -1
  106. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +1 -1
  107. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.css +1 -1
  108. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.docs.js +2 -2
  109. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +1 -1
  110. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +1 -1
  111. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +119 -84
  112. package/dist/collection/components/nv-fieldmultiselect/styles/nv-fieldmultiselect.css +13 -2
  113. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.css +3 -0
  114. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js +1 -1
  115. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +4 -4
  116. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.css +3 -0
  117. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js +1 -1
  118. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +4 -4
  119. package/dist/collection/components/nv-fieldradio/nv-fieldradio.docs.js +1 -1
  120. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
  121. package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js +1 -1
  122. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +5 -5
  123. package/dist/collection/components/nv-fieldselect/styles/nv-fieldselect.css +3 -0
  124. package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js +1 -1
  125. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +3 -3
  126. package/dist/collection/components/nv-fieldtext/nv-fieldtext.css +3 -0
  127. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +3 -2
  128. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +4 -4
  129. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.css +3 -0
  130. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js +1 -1
  131. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -3
  132. package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js +1 -1
  133. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +13 -10
  134. package/dist/collection/components/nv-fieldtime/styles/nv-fieldtime.css +3 -0
  135. package/dist/collection/components/nv-icon/nv-icon.js +7 -4
  136. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +7 -4
  137. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  138. package/dist/collection/components/nv-menu/nv-menu.js +1 -1
  139. package/dist/collection/components/nv-menuitem/nv-menuitem.js +5 -2
  140. package/dist/collection/components/nv-notification/nv-notification.js +15 -5
  141. package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.js +1 -1
  142. package/dist/collection/components/nv-pagination-nav/nv-pagination-nav.js +1 -1
  143. package/dist/collection/components/nv-paginationtable/nv-paginationtable.js +6 -3
  144. package/dist/collection/components/nv-paginationtable/nv-paginationtable.utils.js +13 -0
  145. package/dist/collection/components/nv-paginationtable/test/nv-paginationtable.utils.test.js +26 -1
  146. package/dist/collection/components/nv-popover/nv-popover.js +1 -1
  147. package/dist/collection/components/nv-row/nv-row.docs.js +1 -0
  148. package/dist/collection/components/nv-row/nv-row.js +2 -1
  149. package/dist/collection/components/nv-sidebar/nv-sidebar.docs.js +7 -0
  150. package/dist/collection/components/nv-sidebar/nv-sidebar.js +274 -2
  151. package/dist/collection/components/nv-sidebar/styles/nv-sidebar.css +26 -0
  152. package/dist/collection/components/nv-sidebarcontent/nv-sidebarcontent.js +1 -1
  153. package/dist/collection/components/nv-sidebardivider/nv-sidebardivider.js +1 -1
  154. package/dist/collection/components/nv-sidebarfooter/nv-sidebarfooter.js +1 -1
  155. package/dist/collection/components/nv-sidebargroup/nv-sidebargroup.js +1 -1
  156. package/dist/collection/components/nv-sidebarheader/nv-sidebarheader.js +1 -1
  157. package/dist/collection/components/nv-sidebarlogo/nv-sidebarlogo.js +1 -1
  158. package/dist/collection/components/nv-sidebarnavitem/nv-sidebarnavitem.js +7 -4
  159. package/dist/collection/components/nv-sidebarnavsubitem/nv-sidebarnavsubitem.js +1 -1
  160. package/dist/collection/components/nv-split/nv-split.js +2 -1
  161. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  162. package/dist/collection/components/nv-statusindicator/nv-statusindicator.css +73 -0
  163. package/dist/collection/components/nv-statusindicator/nv-statusindicator.docs.js +34 -0
  164. package/dist/collection/components/nv-statusindicator/nv-statusindicator.js +122 -0
  165. package/dist/collection/components/nv-table/nv-table.js +1 -1
  166. package/dist/collection/components/nv-table/styles/nv-table.css +37 -1
  167. package/dist/collection/components/nv-tableheader/nv-tableheader.js +1 -1
  168. package/dist/collection/components/nv-tag/nv-tag.css +228 -0
  169. package/dist/collection/components/nv-tag/nv-tag.docs.js +114 -0
  170. package/dist/collection/components/nv-tag/nv-tag.js +251 -0
  171. package/dist/collection/components/nv-timetest/nv-timetest.js +1 -1
  172. package/dist/collection/components/nv-toggle/nv-toggle.docs.js +1 -1
  173. package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
  174. package/dist/collection/components/nv-togglebutton/nv-togglebutton.docs.js +2 -2
  175. package/dist/collection/components/nv-togglebutton/nv-togglebutton.js +1 -1
  176. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js +1 -1
  177. package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
  178. package/dist/collection/utils/constants.js +5 -0
  179. package/dist/components/index.js +1 -1
  180. package/dist/components/nv-accordion-item.js +1 -1
  181. package/dist/components/nv-accordion.js +1 -1
  182. package/dist/components/nv-alert.js +1 -1
  183. package/dist/components/nv-avatar.js +1 -1
  184. package/dist/components/nv-badge.js +1 -1
  185. package/dist/components/nv-breadcrumb.js +1 -1
  186. package/dist/components/nv-breadcrumbs.js +1 -1
  187. package/dist/components/nv-button.js +1 -1
  188. package/dist/components/nv-buttongroup.js +1 -1
  189. package/dist/components/nv-calendar.js +1 -1
  190. package/dist/components/nv-col.js +1 -1
  191. package/dist/components/nv-datagrid.js +1 -1
  192. package/dist/components/nv-datagridcolumn.js +1 -1
  193. package/dist/components/nv-datetest.js +1 -1
  194. package/dist/components/nv-datetimetest.js +1 -1
  195. package/dist/components/nv-dialog.js +1 -1
  196. package/dist/components/nv-dialogfooter.js +1 -1
  197. package/dist/components/nv-dialogheader.js +1 -1
  198. package/dist/components/nv-drawer.js +1 -1
  199. package/dist/components/nv-drawerfooter.js +1 -1
  200. package/dist/components/nv-drawerheader.js +1 -1
  201. package/dist/components/nv-fieldcheckbox.js +1 -1
  202. package/dist/components/nv-fielddate.js +1 -1
  203. package/dist/components/nv-fielddaterange.js +1 -1
  204. package/dist/components/nv-fielddropdown.js +1 -1
  205. package/dist/components/nv-fielddropdownitem.js +1 -1
  206. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  207. package/dist/components/nv-fieldmultiselect.js +1 -1
  208. package/dist/components/nv-fieldnumber.js +1 -1
  209. package/dist/components/nv-fieldpassword.js +1 -1
  210. package/dist/components/nv-fieldradio.js +1 -1
  211. package/dist/components/nv-fieldselect.js +1 -1
  212. package/dist/components/nv-fieldslider.js +1 -1
  213. package/dist/components/nv-fieldtext.js +1 -1
  214. package/dist/components/nv-fieldtextarea.js +1 -1
  215. package/dist/components/nv-fieldtime.js +1 -1
  216. package/dist/components/nv-icon.js +1 -1
  217. package/dist/components/nv-iconbutton.js +1 -1
  218. package/dist/components/nv-loader.js +1 -1
  219. package/dist/components/nv-menu.js +1 -1
  220. package/dist/components/nv-menuitem.js +1 -1
  221. package/dist/components/nv-notification-bullet.js +1 -1
  222. package/dist/components/nv-notification.js +1 -1
  223. package/dist/components/nv-notificationcontainer.js +1 -1
  224. package/dist/components/nv-pagination-nav.js +1 -1
  225. package/dist/components/nv-paginationtable.js +1 -1
  226. package/dist/components/nv-popover.js +1 -1
  227. package/dist/components/nv-row.js +1 -1
  228. package/dist/components/nv-sidebar.js +1 -1
  229. package/dist/components/nv-sidebarcontent.js +1 -1
  230. package/dist/components/nv-sidebardivider.js +1 -1
  231. package/dist/components/nv-sidebarfooter.js +1 -1
  232. package/dist/components/nv-sidebargroup.js +1 -1
  233. package/dist/components/nv-sidebarheader.js +1 -1
  234. package/dist/components/nv-sidebarlogo.js +1 -1
  235. package/dist/components/nv-sidebarnavitem.js +1 -1
  236. package/dist/components/nv-sidebarnavsubitem.js +1 -1
  237. package/dist/components/nv-split.js +1 -1
  238. package/dist/components/nv-stack.js +1 -1
  239. package/dist/components/nv-statusindicator.d.ts +11 -0
  240. package/dist/components/nv-statusindicator.js +1 -0
  241. package/dist/components/nv-table.js +1 -1
  242. package/dist/components/nv-tableheader.js +1 -1
  243. package/dist/components/nv-tag.d.ts +11 -0
  244. package/dist/components/nv-tag.js +1 -0
  245. package/dist/components/nv-timetest.js +1 -1
  246. package/dist/components/nv-toggle.js +1 -1
  247. package/dist/components/nv-togglebutton.js +1 -1
  248. package/dist/components/nv-togglebuttongroup.js +1 -1
  249. package/dist/components/nv-tooltip.js +1 -1
  250. package/dist/components/{p-Du3Fh0jQ.js → p-B4qcUV0M.js} +1 -1
  251. package/dist/components/p-B8yJMa0S.js +1 -0
  252. package/dist/components/{p-xrXEz2WP.js → p-BU3AWnne.js} +1 -1
  253. package/dist/components/{p-qkNH2RHl.js → p-BYrgllP3.js} +1 -1
  254. package/dist/components/p-BhRpSdkR.js +1 -0
  255. package/dist/components/{p-C5J7jtrC.js → p-Bu90dktV.js} +1 -1
  256. package/dist/components/{p-BwYt1BAb.js → p-CObbk0-q.js} +1 -1
  257. package/dist/components/{p-DlOgBZa8.js → p-CTISxdir.js} +2 -2
  258. package/dist/components/{p-nzxGC8BS.js → p-Cj6urNtm.js} +1 -1
  259. package/dist/components/{p-DE792Sds.js → p-Cx5CLy9v.js} +1 -1
  260. package/dist/components/{p-CAGzfU3O.js → p-Cyn4-37z.js} +1 -1
  261. package/dist/components/p-CzRJpv7x.js +1 -0
  262. package/dist/components/{p-CKFXHAaU.js → p-CzRlra4z.js} +1 -1
  263. package/dist/components/{p-DGj-fiRX.js → p-D54x8OFu.js} +1 -1
  264. package/dist/components/{p-DUaenjr8.js → p-DP_K3tkj.js} +1 -1
  265. package/dist/components/{p-VXpV-BUK.js → p-DQuJvZ4Z.js} +1 -1
  266. package/dist/components/{p-DwtLxfU5.js → p-DZdOQQrW.js} +1 -1
  267. package/dist/components/{p-Co8IghI-.js → p-Dg-Ac5i4.js} +1 -1
  268. package/dist/components/p-DiwYO24j.js +2 -0
  269. package/dist/components/p-GDyaHbt9.js +1 -0
  270. package/dist/components/{p-h3cPA0Cx.js → p-L7U51TAH.js} +1 -1
  271. package/dist/components/{p-CLzCfsnq.js → p-MLanePUO.js} +1 -1
  272. package/dist/components/p-gOKBmbgZ.js +1 -0
  273. package/dist/components/{p-f8OUzde-.js → p-yPMU6HZQ.js} +1 -1
  274. package/dist/esm/{constants-BReL3Lsa.js → constants-gOKBmbgZ.js} +6 -1
  275. package/dist/esm/index-CTmBvINI.js +4820 -0
  276. package/dist/esm/index.js +1 -1
  277. package/dist/esm/loader.js +3 -3
  278. package/dist/esm/native.js +3 -3
  279. package/dist/esm/nv-accordion-item.entry.js +3 -3
  280. package/dist/esm/nv-accordion.entry.js +2 -2
  281. package/dist/esm/nv-alert.entry.js +3 -3
  282. package/dist/esm/nv-avatar.entry.js +3 -3
  283. package/dist/esm/nv-badge_2.entry.js +8 -7
  284. package/dist/esm/nv-breadcrumb.entry.js +2 -2
  285. package/dist/esm/nv-breadcrumbs.entry.js +2 -2
  286. package/dist/esm/nv-button.entry.js +3 -3
  287. package/dist/esm/nv-buttongroup.entry.js +2 -2
  288. package/dist/esm/nv-calendar.entry.js +4 -4
  289. package/dist/esm/nv-col.entry.js +2 -2
  290. package/dist/esm/nv-datagrid.entry.js +4 -4
  291. package/dist/esm/nv-datagridcolumn.entry.js +2 -2
  292. package/dist/esm/nv-datetest.entry.js +2 -2
  293. package/dist/esm/nv-datetimetest.entry.js +1 -1
  294. package/dist/esm/nv-dialog.entry.js +3 -3
  295. package/dist/esm/nv-dialogfooter_2.entry.js +8 -6
  296. package/dist/esm/nv-drawer.entry.js +3 -3
  297. package/dist/esm/nv-drawerfooter_2.entry.js +6 -4
  298. package/dist/esm/nv-fieldcheckbox.entry.js +5 -5
  299. package/dist/esm/nv-fielddate.entry.js +8 -8
  300. package/dist/esm/nv-fielddaterange.entry.js +8 -8
  301. package/dist/esm/nv-fielddropdown.entry.js +6 -6
  302. package/dist/esm/nv-fielddropdownitem.entry.js +2 -2
  303. package/dist/esm/nv-fieldmultiselect.entry.js +115 -86
  304. package/dist/esm/nv-fieldnumber.entry.js +6 -6
  305. package/dist/esm/nv-fieldpassword.entry.js +6 -6
  306. package/dist/esm/nv-fieldradio.entry.js +4 -4
  307. package/dist/esm/nv-fieldselect.entry.js +7 -7
  308. package/dist/esm/nv-fieldslider.entry.js +4 -4
  309. package/dist/esm/nv-fieldtext.entry.js +6 -6
  310. package/dist/esm/nv-fieldtextarea.entry.js +5 -5
  311. package/dist/esm/nv-fieldtime.entry.js +16 -13
  312. package/dist/esm/nv-icon.entry.js +3 -3
  313. package/dist/esm/nv-iconbutton_2.entry.js +3 -3
  314. package/dist/esm/nv-menu.entry.js +2 -2
  315. package/dist/esm/nv-menuitem.entry.js +2 -2
  316. package/dist/esm/nv-notification-bullet.entry.js +1 -1
  317. package/dist/esm/nv-notification.entry.js +3 -3
  318. package/dist/esm/nv-notificationcontainer.entry.js +2 -2
  319. package/dist/esm/nv-pagination-nav.entry.js +2 -2
  320. package/dist/esm/nv-paginationtable.entry.js +19 -3
  321. package/dist/esm/nv-popover.entry.js +2 -2
  322. package/dist/esm/nv-row.entry.js +2 -2
  323. package/dist/esm/nv-sidebar.entry.js +178 -4
  324. package/dist/esm/nv-sidebarcontent.entry.js +2 -2
  325. package/dist/esm/nv-sidebardivider.entry.js +2 -2
  326. package/dist/esm/nv-sidebarfooter.entry.js +2 -2
  327. package/dist/esm/nv-sidebargroup.entry.js +2 -2
  328. package/dist/esm/nv-sidebarheader.entry.js +2 -2
  329. package/dist/esm/nv-sidebarlogo.entry.js +2 -2
  330. package/dist/esm/nv-sidebarnavitem.entry.js +3 -3
  331. package/dist/esm/nv-sidebarnavsubitem.entry.js +2 -2
  332. package/dist/esm/nv-split.entry.js +2 -2
  333. package/dist/esm/nv-stack.entry.js +2 -2
  334. package/dist/esm/nv-statusindicator.entry.js +37 -0
  335. package/dist/esm/nv-table.entry.js +3 -3
  336. package/dist/esm/nv-tableheader.entry.js +2 -2
  337. package/dist/esm/nv-tag.entry.js +80 -0
  338. package/dist/esm/nv-timetest.entry.js +2 -2
  339. package/dist/esm/nv-toggle.entry.js +3 -3
  340. package/dist/esm/nv-togglebutton.entry.js +2 -2
  341. package/dist/esm/nv-togglebuttongroup.entry.js +2 -2
  342. package/dist/esm/nv-tooltip.entry.js +2 -2
  343. package/dist/lib/generators/docs-blazor.js +7 -1
  344. package/dist/native/index.esm.js +1 -1
  345. package/dist/native/native.css +5711 -1
  346. package/dist/native/native.esm.js +1 -1
  347. package/dist/native/{p-0bb64497.entry.js → p-04011d0f.entry.js} +1 -1
  348. package/dist/native/{p-4bf96114.entry.js → p-0c65e726.entry.js} +1 -1
  349. package/dist/native/{p-767ee0fc.entry.js → p-10dee67d.entry.js} +1 -1
  350. package/dist/native/p-16037ec8.entry.js +1 -0
  351. package/dist/native/{p-63f2f87f.entry.js → p-189647e4.entry.js} +1 -1
  352. package/dist/native/{p-213c5836.entry.js → p-270bf467.entry.js} +1 -1
  353. package/dist/native/{p-89348af5.entry.js → p-287c67e1.entry.js} +1 -1
  354. package/dist/native/p-298d893d.entry.js +1 -0
  355. package/dist/native/{p-8e1bcadc.entry.js → p-29acf903.entry.js} +1 -1
  356. package/dist/native/{p-05f7bad5.entry.js → p-2afcd5e4.entry.js} +1 -1
  357. package/dist/native/p-33889f52.entry.js +1 -0
  358. package/dist/native/p-34d30b90.entry.js +1 -0
  359. package/dist/native/p-352854eb.entry.js +1 -0
  360. package/dist/native/{p-cfa0eb58.entry.js → p-37c42bed.entry.js} +1 -1
  361. package/dist/native/{p-5ea697a7.entry.js → p-3969a700.entry.js} +1 -1
  362. package/dist/native/{p-e3fb16af.entry.js → p-3f888601.entry.js} +1 -1
  363. package/dist/native/{p-291b297d.entry.js → p-40000df1.entry.js} +1 -1
  364. package/dist/native/p-410c21e3.entry.js +1 -0
  365. package/dist/native/{p-1e03fc3c.entry.js → p-4514a6a4.entry.js} +1 -1
  366. package/dist/native/{p-b3477504.entry.js → p-49745be2.entry.js} +1 -1
  367. package/dist/native/{p-7aa4605d.entry.js → p-5375ddc6.entry.js} +1 -1
  368. package/dist/native/p-5690757b.entry.js +1 -0
  369. package/dist/native/p-5c321768.entry.js +1 -0
  370. package/dist/native/{p-a16f8a14.entry.js → p-5df9c196.entry.js} +1 -1
  371. package/dist/native/{p-2af6d988.entry.js → p-5ef11914.entry.js} +1 -1
  372. package/dist/native/{p-c5d97054.entry.js → p-64649214.entry.js} +1 -1
  373. package/dist/native/{p-9709c7d5.entry.js → p-6bb02337.entry.js} +1 -1
  374. package/dist/native/{p-3c4114b8.entry.js → p-6ccc84c8.entry.js} +1 -1
  375. package/dist/native/{p-0fe84123.entry.js → p-6dab2e90.entry.js} +1 -1
  376. package/dist/native/{p-fd5e27ae.entry.js → p-728f09d5.entry.js} +1 -1
  377. package/dist/native/{p-72d8cb56.entry.js → p-7b1c369b.entry.js} +1 -1
  378. package/dist/native/p-7b3853be.entry.js +1 -0
  379. package/dist/native/p-7c9e1f01.entry.js +1 -0
  380. package/dist/native/p-7cbc09f0.entry.js +1 -0
  381. package/dist/native/p-859b24ed.entry.js +1 -0
  382. package/dist/native/{p-083b39c5.entry.js → p-8decb323.entry.js} +1 -1
  383. package/dist/native/{p-12a8443b.entry.js → p-8dfcfb72.entry.js} +1 -1
  384. package/dist/native/p-8faf3e05.entry.js +1 -0
  385. package/dist/native/p-915fe20c.entry.js +1 -0
  386. package/dist/native/p-91cb5c65.entry.js +1 -0
  387. package/dist/native/{p-1029a266.entry.js → p-93d2bfab.entry.js} +1 -1
  388. package/dist/native/{p-f9612edf.entry.js → p-9affde0d.entry.js} +1 -1
  389. package/dist/native/p-CTmBvINI.js +2 -0
  390. package/dist/native/{p-f7522dac.entry.js → p-a1ef6740.entry.js} +1 -1
  391. package/dist/native/{p-d3e66306.entry.js → p-b2c31350.entry.js} +1 -1
  392. package/dist/native/p-b2ef61bc.entry.js +1 -0
  393. package/dist/native/{p-67e0680e.entry.js → p-b7a10751.entry.js} +1 -1
  394. package/dist/native/p-b88dcd21.entry.js +1 -0
  395. package/dist/native/p-b99ad8a7.entry.js +1 -0
  396. package/dist/native/{p-fab2f2b3.entry.js → p-be2e4cf0.entry.js} +1 -1
  397. package/dist/native/{p-493c1bb5.entry.js → p-befb5e4e.entry.js} +1 -1
  398. package/dist/native/{p-dc2ce8ee.entry.js → p-c1faed1f.entry.js} +1 -1
  399. package/dist/native/{p-4ac8181c.entry.js → p-c305f1c6.entry.js} +1 -1
  400. package/dist/native/{p-7c00f6da.entry.js → p-c5261442.entry.js} +1 -1
  401. package/dist/native/{p-90b8b889.entry.js → p-cd21a60d.entry.js} +1 -1
  402. package/dist/native/{p-d8120afd.entry.js → p-d0dfa700.entry.js} +1 -1
  403. package/dist/native/{p-58966e0f.entry.js → p-d4d04530.entry.js} +1 -1
  404. package/dist/native/{p-5c003e50.entry.js → p-dc000c85.entry.js} +1 -1
  405. package/dist/native/p-df3ab86a.entry.js +1 -0
  406. package/dist/native/p-dfb46af1.entry.js +1 -0
  407. package/dist/native/{p-6d8d2088.entry.js → p-dfd364de.entry.js} +1 -1
  408. package/dist/native/{p-644ecff8.entry.js → p-e7a73a7c.entry.js} +1 -1
  409. package/dist/native/p-eab25bfa.entry.js +1 -0
  410. package/dist/native/{p-95a9d385.entry.js → p-ec919a10.entry.js} +1 -1
  411. package/dist/native/{p-37c41059.entry.js → p-ffc9e2a0.entry.js} +1 -1
  412. package/dist/native/p-gOKBmbgZ.js +1 -0
  413. package/dist/types/components/nv-alert/nv-alert.d.ts +3 -1
  414. package/dist/types/components/nv-badge/nv-badge.d.ts +6 -3
  415. package/dist/types/components/nv-col/nv-col.d.ts +1 -0
  416. package/dist/types/components/nv-dialogfooter/nv-dialogfooter.d.ts +5 -2
  417. package/dist/types/components/nv-drawerfooter/nv-drawerfooter.d.ts +5 -2
  418. package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +16 -11
  419. package/dist/types/components/nv-icon/nv-icon.d.ts +2 -1
  420. package/dist/types/components/nv-iconbutton/nv-iconbutton.d.ts +2 -1
  421. package/dist/types/components/nv-menuitem/nv-menuitem.d.ts +1 -0
  422. package/dist/types/components/nv-notification/nv-notification.d.ts +3 -1
  423. package/dist/types/components/nv-paginationtable/nv-paginationtable.utils.d.ts +9 -0
  424. package/dist/types/components/nv-row/nv-row.d.ts +1 -0
  425. package/dist/types/components/nv-sidebar/nv-sidebar.d.ts +43 -0
  426. package/dist/types/components/nv-sidebarnavitem/nv-sidebarnavitem.d.ts +2 -1
  427. package/dist/types/components/nv-split/nv-split.d.ts +1 -0
  428. package/dist/types/components/nv-statusindicator/nv-statusindicator.d.ts +22 -0
  429. package/dist/types/components/nv-statusindicator/nv-statusindicator.docs.d.ts +4 -0
  430. package/dist/types/components/nv-tag/nv-tag.d.ts +64 -0
  431. package/dist/types/components/nv-tag/nv-tag.docs.d.ts +4 -0
  432. package/dist/types/components.d.ts +286 -30
  433. package/dist/types/index.d.ts +1 -1
  434. package/dist/types/utils/constants.d.ts +4 -0
  435. package/dist/vscode-data.json +18399 -2634
  436. package/hydrate/index.js +606 -220
  437. package/hydrate/index.mjs +606 -220
  438. package/package.json +21 -9
  439. package/dist/cjs/index-Cfkoz1kc.js +0 -4848
  440. package/dist/components/p-6nAIGZFL.js +0 -2
  441. package/dist/components/p-BReL3Lsa.js +0 -1
  442. package/dist/components/p-CnkB4kvn.js +0 -1
  443. package/dist/components/p-CrRawrjU.js +0 -1
  444. package/dist/components/p-D2C_Qr5O.js +0 -1
  445. package/dist/components/p-DVFofrTe.js +0 -1
  446. package/dist/esm/index-BCjiE1MF.js +0 -4812
  447. package/dist/native/p-148c1d3e.entry.js +0 -1
  448. package/dist/native/p-1d7a27bb.entry.js +0 -1
  449. package/dist/native/p-25ef7329.entry.js +0 -1
  450. package/dist/native/p-343c04db.entry.js +0 -1
  451. package/dist/native/p-46267895.entry.js +0 -1
  452. package/dist/native/p-544b34d4.entry.js +0 -1
  453. package/dist/native/p-5ce3d30b.entry.js +0 -1
  454. package/dist/native/p-5ef0ed10.entry.js +0 -1
  455. package/dist/native/p-75a2a2ac.entry.js +0 -1
  456. package/dist/native/p-7d164a7a.entry.js +0 -1
  457. package/dist/native/p-7ec28d5d.entry.js +0 -1
  458. package/dist/native/p-9fc95cf3.entry.js +0 -1
  459. package/dist/native/p-BCjiE1MF.js +0 -2
  460. package/dist/native/p-BReL3Lsa.js +0 -1
  461. package/dist/native/p-ac765e6a.entry.js +0 -1
  462. package/dist/native/p-c2c826a4.entry.js +0 -1
  463. package/dist/native/p-c56ffa82.entry.js +0 -1
  464. package/dist/native/p-d5f5a6e1.entry.js +0 -1
  465. package/dist/native/p-e46c35a0.entry.js +0 -1
  466. package/dist/native/p-ec23ce93.entry.js +0 -1
  467. package/dist/native/p-fb34fc7d.entry.js +0 -1
@@ -0,0 +1,73 @@
1
+ nv-statusindicator {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ gap: var(--status-indicator-gap-x);
5
+ padding: var(--status-indicator-padding-y) var(--status-indicator-padding-x);
6
+ height: var(--status-indicator-height);
7
+ border-radius: var(--status-indicator-radius);
8
+ border: 1px solid;
9
+ font-family: var(--font-family-default), var(--font-family-fallback), sans-serif;
10
+ font-size: var(--status-indicator-label-size);
11
+ font-weight: var(--font-weight-medium-emphasis);
12
+ line-height: var(--status-indicator-label-line-height);
13
+ width: fit-content;
14
+ vertical-align: middle;
15
+ }
16
+ nv-statusindicator.status-success {
17
+ color: var(--color-feedback-success-low-text);
18
+ border-color: var(--color-feedback-success-low-border);
19
+ }
20
+ nv-statusindicator.status-success nv-icon {
21
+ color: var(--color-feedback-success-low-icon);
22
+ }
23
+ nv-statusindicator.status-success.emphasis-high {
24
+ background-color: var(--color-feedback-success-low-background);
25
+ border-color: var(--color-feedback-success-low-border-subtle);
26
+ }
27
+ nv-statusindicator.status-warning {
28
+ color: var(--color-feedback-warning-low-text);
29
+ border-color: var(--color-feedback-warning-low-border);
30
+ }
31
+ nv-statusindicator.status-warning nv-icon {
32
+ color: var(--color-feedback-warning-low-icon);
33
+ }
34
+ nv-statusindicator.status-warning.emphasis-high {
35
+ background-color: var(--color-feedback-warning-low-background);
36
+ border-color: var(--color-feedback-warning-low-border-subtle);
37
+ }
38
+ nv-statusindicator.status-error {
39
+ color: var(--color-feedback-error-low-text);
40
+ border-color: var(--color-feedback-error-low-border);
41
+ }
42
+ nv-statusindicator.status-error nv-icon {
43
+ color: var(--color-feedback-error-low-icon);
44
+ }
45
+ nv-statusindicator.status-error.emphasis-high {
46
+ background-color: var(--color-feedback-error-low-background);
47
+ border-color: var(--color-feedback-error-low-border-subtle);
48
+ }
49
+ nv-statusindicator.status-information {
50
+ color: var(--color-feedback-information-low-text);
51
+ border-color: var(--color-feedback-information-low-border);
52
+ }
53
+ nv-statusindicator.status-information nv-icon {
54
+ color: var(--color-feedback-information-low-icon);
55
+ }
56
+ nv-statusindicator.status-information.emphasis-high {
57
+ background-color: var(--color-feedback-information-low-background);
58
+ border-color: var(--color-feedback-information-low-border-subtle);
59
+ }
60
+ nv-statusindicator.status-neutral {
61
+ color: var(--color-feedback-neutral-low-text);
62
+ border-color: var(--color-feedback-neutral-low-border);
63
+ }
64
+ nv-statusindicator.status-neutral nv-icon {
65
+ color: var(--color-feedback-neutral-low-icon);
66
+ }
67
+ nv-statusindicator.status-neutral.emphasis-high {
68
+ background-color: var(--color-feedback-neutral-low-background);
69
+ border-color: var(--color-feedback-neutral-low-border-subtle);
70
+ }
71
+ nv-statusindicator .nv-statusindicator-label {
72
+ white-space: nowrap;
73
+ }
@@ -0,0 +1,34 @@
1
+ import { h } from "@stencil/core";
2
+ import { nameof } from "../../utils/class.utils";
3
+ const NvStatusindicatorDocs = {
4
+ component: 'nv-statusindicator',
5
+ badge: 'new',
6
+ parentGroup: 'Status Indicator',
7
+ subcomponents: ['nv-icon'],
8
+ stories: [
9
+ {
10
+ name: 'Default',
11
+ args: {
12
+ status: 'neutral',
13
+ label: 'Draft',
14
+ },
15
+ template: h("nv-statusindicator", { "data-storybook-args": true }),
16
+ },
17
+ {
18
+ name: nameof(x => x.status),
19
+ description: 'Five status variants communicate different system states.',
20
+ template: (h("div", null, h("nv-statusindicator", { status: "success", label: "Validated" }), h("nv-statusindicator", { status: "warning", label: "Expiring" }), h("nv-statusindicator", { status: "error", label: "Failed" }), h("nv-statusindicator", { status: "information", label: "In progress" }), h("nv-statusindicator", { status: "neutral", label: "Draft" }))),
21
+ },
22
+ {
23
+ name: nameof(x => x.emphasis),
24
+ description: 'High emphasis adds a coloured background for greater visual weight. Low emphasis (default) uses border only.',
25
+ template: (h("div", null, h("nv-statusindicator", { status: "success", emphasis: "low", label: "Low" }), h("nv-statusindicator", { status: "success", emphasis: "high", label: "High" }), h("nv-statusindicator", { status: "error", emphasis: "low", label: "Low" }), h("nv-statusindicator", { status: "error", emphasis: "high", label: "High" }))),
26
+ },
27
+ {
28
+ name: nameof(x => x.label),
29
+ description: 'When label is omitted, the indicator renders icon-only with an aria-label for accessibility.',
30
+ template: (h("div", null, h("nv-statusindicator", { status: "success" }), h("nv-statusindicator", { status: "warning" }), h("nv-statusindicator", { status: "error" }), h("nv-statusindicator", { status: "information" }), h("nv-statusindicator", { status: "neutral" }))),
31
+ },
32
+ ],
33
+ };
34
+ export default NvStatusindicatorDocs;
@@ -0,0 +1,122 @@
1
+ import { Host, h } from "@stencil/core";
2
+ import clsx from "clsx";
3
+ const STATUS_ICONS = {
4
+ success: 'circle-check',
5
+ warning: 'alert-triangle',
6
+ error: 'alert-circle',
7
+ information: 'info-circle',
8
+ neutral: 'help',
9
+ };
10
+ /**
11
+ * A static, non-interactive visual indicator that communicates
12
+ * system-controlled status through colour, icon, and optional label.
13
+ */
14
+ export class NvStatusindicator {
15
+ constructor() {
16
+ /****************************************************************************/
17
+ //#region PROPERTIES
18
+ /**
19
+ * The status variant of the indicator.
20
+ */
21
+ this.status = 'neutral';
22
+ /**
23
+ * The visual emphasis of the indicator.
24
+ */
25
+ this.emphasis = 'low';
26
+ }
27
+ //#endregion PROPERTIES
28
+ /****************************************************************************/
29
+ //#region RENDER
30
+ render() {
31
+ const hasLabel = Boolean(this.label);
32
+ return (h(Host, { key: '2f1e9277152efca4f2f3ba95b44934427555854f', class: clsx(`status-${this.status}`, `emphasis-${this.emphasis}`), ...(!hasLabel ? { 'aria-label': this.status } : {}) }, h("nv-icon", { key: '55ba1905d8cde217be9156401c4075522b1e022b', name: STATUS_ICONS[this.status], size: "xs", "aria-hidden": "true" }), hasLabel && h("span", { key: 'a55382c27c4a40dbf7c800c1f1127f31f47f2852', class: "nv-statusindicator-label" }, this.label)));
33
+ }
34
+ static get is() { return "nv-statusindicator"; }
35
+ static get originalStyleUrls() {
36
+ return {
37
+ "$": ["nv-statusindicator.scss"]
38
+ };
39
+ }
40
+ static get styleUrls() {
41
+ return {
42
+ "$": ["nv-statusindicator.css"]
43
+ };
44
+ }
45
+ static get properties() {
46
+ return {
47
+ "status": {
48
+ "type": "string",
49
+ "mutable": false,
50
+ "complexType": {
51
+ "original": "`${FeedbackColors}`",
52
+ "resolved": "\"error\" | \"information\" | \"neutral\" | \"success\" | \"warning\"",
53
+ "references": {
54
+ "FeedbackColors": {
55
+ "location": "import",
56
+ "path": "../../utils/constants",
57
+ "id": "src/utils/constants.ts::FeedbackColors",
58
+ "referenceLocation": "FeedbackColors"
59
+ }
60
+ }
61
+ },
62
+ "required": false,
63
+ "optional": false,
64
+ "docs": {
65
+ "tags": [],
66
+ "text": "The status variant of the indicator."
67
+ },
68
+ "getter": false,
69
+ "setter": false,
70
+ "reflect": true,
71
+ "attribute": "status",
72
+ "defaultValue": "'neutral'"
73
+ },
74
+ "emphasis": {
75
+ "type": "string",
76
+ "mutable": false,
77
+ "complexType": {
78
+ "original": "`${StatusIndicatorEmphasis}`",
79
+ "resolved": "\"high\" | \"low\"",
80
+ "references": {
81
+ "StatusIndicatorEmphasis": {
82
+ "location": "import",
83
+ "path": "../../utils/constants",
84
+ "id": "src/utils/constants.ts::StatusIndicatorEmphasis",
85
+ "referenceLocation": "StatusIndicatorEmphasis"
86
+ }
87
+ }
88
+ },
89
+ "required": false,
90
+ "optional": false,
91
+ "docs": {
92
+ "tags": [],
93
+ "text": "The visual emphasis of the indicator."
94
+ },
95
+ "getter": false,
96
+ "setter": false,
97
+ "reflect": true,
98
+ "attribute": "emphasis",
99
+ "defaultValue": "'low'"
100
+ },
101
+ "label": {
102
+ "type": "string",
103
+ "mutable": false,
104
+ "complexType": {
105
+ "original": "string",
106
+ "resolved": "string",
107
+ "references": {}
108
+ },
109
+ "required": false,
110
+ "optional": true,
111
+ "docs": {
112
+ "tags": [],
113
+ "text": "The text label of the indicator. When omitted, the component renders icon-only."
114
+ },
115
+ "getter": false,
116
+ "setter": false,
117
+ "reflect": true,
118
+ "attribute": "label"
119
+ }
120
+ };
121
+ }
122
+ }
@@ -58,7 +58,7 @@ export class NvTable {
58
58
  /****************************************************************************/
59
59
  //#region RENDER
60
60
  render() {
61
- return (h(Host, { key: 'a6882cbcf9b0b12776f6d4be6d9cbfb42aff6833' }, h("slot", { key: 'd4d47a2eb77c50ff30109e217ceecd2677b9d28d' })));
61
+ return (h(Host, { key: 'bc442df56ece833f6a3b6a4af24e0e67e430aefd' }, h("slot", { key: '9f0deb196b2a1bfca8d30a05a752e446068f3f3c' })));
62
62
  }
63
63
  static get is() { return "nv-table"; }
64
64
  static get originalStyleUrls() {
@@ -9,12 +9,48 @@ nv-table table {
9
9
  nv-table table thead {
10
10
  background: var(--components-datagrid-header-background);
11
11
  }
12
- nv-table table tbody tr:hover td {
12
+ nv-table table tbody tr:hover {
13
13
  background: var(--components-datagrid-body-background-hover);
14
14
  }
15
15
  nv-table table tbody tr[data-selected] {
16
16
  background: var(--components-datagrid-body-background-active);
17
17
  }
18
+ nv-table table tbody tr[data-selected]:hover {
19
+ background: var(--components-datagrid-body-background-active);
20
+ }
21
+ nv-table table tbody tr.nv-datatable-row-clickable {
22
+ cursor: pointer;
23
+ }
24
+ nv-table table tbody tr.nv-datatable-row-clickable td {
25
+ transition: background-color 120ms ease-in-out;
26
+ }
27
+ nv-table table tbody tr.nv-datatable-row-clickable:focus-visible {
28
+ outline: calc(var(--focus-outline-stroke) * 1) solid var(--color-focus-brand);
29
+ outline-offset: calc(var(--focus-outline-offset) * 1);
30
+ }
31
+ nv-table table tbody tr.nv-datatable-expanded-row > td {
32
+ padding: 0;
33
+ height: auto;
34
+ border-bottom: 1px solid var(--components-datagrid-expander-border);
35
+ background: var(--components-datagrid-expander-expander-background);
36
+ }
37
+ nv-table table tbody .nv-datatable-expanded-content {
38
+ position: sticky;
39
+ left: 0;
40
+ width: 0;
41
+ min-width: 100%;
42
+ padding: var(--datagrid-cell-body-padding-y) var(--datagrid-cell-body-padding-x);
43
+ box-sizing: border-box;
44
+ }
45
+ nv-table table[data-row-click-enabled=true] tbody tr.nv-datatable-row-clickable:hover td {
46
+ background: var(--components-datagrid-body-background-hover);
47
+ }
48
+ nv-table table[data-row-click-enabled=false] > tbody > tr:hover:not([data-selected]) {
49
+ cursor: default;
50
+ }
51
+ nv-table table[data-row-click-enabled=false] > tbody > tr:hover:not([data-selected]) > td {
52
+ background: var(--components-datagrid-body-background-default) !important;
53
+ }
18
54
  nv-table table td {
19
55
  height: var(--spacing-16);
20
56
  padding: var(--datagrid-cell-body-padding-y) var(--datagrid-cell-body-padding-x) var(--spacing-2) var(--datagrid-cell-body-padding-x);
@@ -55,7 +55,7 @@ export class NvTableheader {
55
55
  /****************************************************************************/
56
56
  //#region RENDER
57
57
  render() {
58
- return (h(Host, { key: '962f555a02b3035148c5915ae7493c68c0202cc7', role: "columnheader", "aria-sort": this.ariaSort, tabindex: this.sortable ? 0 : undefined, onKeyDown: this.handleKeyDown.bind(this), onClick: this.cycleSortDirection.bind(this) }, h("slot", { key: '0e69da3d4e2eb8ad01060f51d5043ffc14380415' }), this.sortable && (h("span", { key: 'a9b5ff97552d142cc3e1becc14a34ebab1f3092d', class: "sort-icon-wrap", "aria-hidden": "true" }, h("nv-iconbutton", { key: '76f832eba2b57f244dbce597668f493a918cf599', disableTabindex: true, name: "arrow-up", size: "xs", emphasis: this.sortDirection === 'none' ? 'lower' : 'low',
58
+ return (h(Host, { key: '1edf4d679b60517b8fdc239a1bc9e91fc55990ab', role: "columnheader", "aria-sort": this.ariaSort, tabindex: this.sortable ? 0 : undefined, onKeyDown: this.handleKeyDown.bind(this), onClick: this.cycleSortDirection.bind(this) }, h("slot", { key: '33d9ae13cbae6d34cf374bc626bc616c57e43322' }), this.sortable && (h("span", { key: '61e15b2af831a97051590e31369b42774f13ae53', class: "sort-icon-wrap", "aria-hidden": "true" }, h("nv-iconbutton", { key: 'e8cefc8559de91c2e892547b56eb51d5bc103c1c', disableTabindex: true, name: "arrow-up", size: "xs", emphasis: this.sortDirection === 'none' ? 'lower' : 'low',
59
59
  // prevent mousedown from selecting text
60
60
  onMouseDown: (e) => e.preventDefault(), class: {
61
61
  'is-none': this.sortDirection === 'none',
@@ -0,0 +1,228 @@
1
+ /* Tag color variants mapped to rainbow palette tokens */
2
+ /* Color token maps: tag color name -> rainbow token */
3
+ nv-tag {
4
+ display: inline-flex;
5
+ align-items: center;
6
+ gap: var(--tag-gap-x);
7
+ padding: 0 var(--tag-padding-x);
8
+ border-radius: var(--tag-border-radius);
9
+ border: 1px solid;
10
+ overflow: hidden;
11
+ font-family: var(--font-family-default), var(--font-family-fallback), sans-serif;
12
+ font-size: var(--font-size-xs);
13
+ font-weight: var(--font-weight-medium-emphasis);
14
+ line-height: var(--line-height-xs);
15
+ height: var(--tag-height);
16
+ width: fit-content;
17
+ vertical-align: middle;
18
+ }
19
+ nv-tag.has-dismiss {
20
+ padding-right: 0;
21
+ }
22
+ nv-tag.tag-orange {
23
+ color: var(--color-rainbow-2-text);
24
+ background-color: var(--color-rainbow-2-background);
25
+ border-color: var(--color-rainbow-2-border-light);
26
+ }
27
+ nv-tag.tag-orange nv-icon {
28
+ color: var(--color-rainbow-2-icon);
29
+ }
30
+ nv-tag.tag-orange .nv-tag-content:focus, nv-tag.tag-orange .nv-tag-content:focus-within {
31
+ outline: none;
32
+ }
33
+ nv-tag.tag-orange .nv-tag-content:focus-visible, nv-tag.tag-orange .nv-tag-content:has(:focus-visible) {
34
+ outline: calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-2-text);
35
+ outline-offset: calc(var(--focus-outline-offset) * 0.2);
36
+ }
37
+ nv-tag.tag-crimson {
38
+ color: var(--color-rainbow-6-text);
39
+ background-color: var(--color-rainbow-6-background);
40
+ border-color: var(--color-rainbow-6-border-light);
41
+ }
42
+ nv-tag.tag-crimson nv-icon {
43
+ color: var(--color-rainbow-6-icon);
44
+ }
45
+ nv-tag.tag-crimson .nv-tag-content:focus, nv-tag.tag-crimson .nv-tag-content:focus-within {
46
+ outline: none;
47
+ }
48
+ nv-tag.tag-crimson .nv-tag-content:focus-visible, nv-tag.tag-crimson .nv-tag-content:has(:focus-visible) {
49
+ outline: calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-6-text);
50
+ outline-offset: calc(var(--focus-outline-offset) * 0.2);
51
+ }
52
+ nv-tag.tag-yellow {
53
+ color: var(--color-rainbow-3-text);
54
+ background-color: var(--color-rainbow-3-background);
55
+ border-color: var(--color-rainbow-3-border-light);
56
+ }
57
+ nv-tag.tag-yellow nv-icon {
58
+ color: var(--color-rainbow-3-icon);
59
+ }
60
+ nv-tag.tag-yellow .nv-tag-content:focus, nv-tag.tag-yellow .nv-tag-content:focus-within {
61
+ outline: none;
62
+ }
63
+ nv-tag.tag-yellow .nv-tag-content:focus-visible, nv-tag.tag-yellow .nv-tag-content:has(:focus-visible) {
64
+ outline: calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-3-text);
65
+ outline-offset: calc(var(--focus-outline-offset) * 0.2);
66
+ }
67
+ nv-tag.tag-red {
68
+ color: var(--color-rainbow-4-text);
69
+ background-color: var(--color-rainbow-4-background);
70
+ border-color: var(--color-rainbow-4-border-light);
71
+ }
72
+ nv-tag.tag-red nv-icon {
73
+ color: var(--color-rainbow-4-icon);
74
+ }
75
+ nv-tag.tag-red .nv-tag-content:focus, nv-tag.tag-red .nv-tag-content:focus-within {
76
+ outline: none;
77
+ }
78
+ nv-tag.tag-red .nv-tag-content:focus-visible, nv-tag.tag-red .nv-tag-content:has(:focus-visible) {
79
+ outline: calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-4-text);
80
+ outline-offset: calc(var(--focus-outline-offset) * 0.2);
81
+ }
82
+ nv-tag.tag-blue {
83
+ color: var(--color-rainbow-8-text);
84
+ background-color: var(--color-rainbow-8-background);
85
+ border-color: var(--color-rainbow-8-border-light);
86
+ }
87
+ nv-tag.tag-blue nv-icon {
88
+ color: var(--color-rainbow-8-icon);
89
+ }
90
+ nv-tag.tag-blue .nv-tag-content:focus, nv-tag.tag-blue .nv-tag-content:focus-within {
91
+ outline: none;
92
+ }
93
+ nv-tag.tag-blue .nv-tag-content:focus-visible, nv-tag.tag-blue .nv-tag-content:has(:focus-visible) {
94
+ outline: calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-8-text);
95
+ outline-offset: calc(var(--focus-outline-offset) * 0.2);
96
+ }
97
+ nv-tag.tag-amber {
98
+ color: var(--color-rainbow-1-text);
99
+ background-color: var(--color-rainbow-1-background);
100
+ border-color: var(--color-rainbow-1-border-light);
101
+ }
102
+ nv-tag.tag-amber nv-icon {
103
+ color: var(--color-rainbow-1-icon);
104
+ }
105
+ nv-tag.tag-amber .nv-tag-content:focus, nv-tag.tag-amber .nv-tag-content:focus-within {
106
+ outline: none;
107
+ }
108
+ nv-tag.tag-amber .nv-tag-content:focus-visible, nv-tag.tag-amber .nv-tag-content:has(:focus-visible) {
109
+ outline: calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-1-text);
110
+ outline-offset: calc(var(--focus-outline-offset) * 0.2);
111
+ }
112
+ nv-tag.tag-green {
113
+ color: var(--color-rainbow-7-text);
114
+ background-color: var(--color-rainbow-7-background);
115
+ border-color: var(--color-rainbow-7-border-light);
116
+ }
117
+ nv-tag.tag-green nv-icon {
118
+ color: var(--color-rainbow-7-icon);
119
+ }
120
+ nv-tag.tag-green .nv-tag-content:focus, nv-tag.tag-green .nv-tag-content:focus-within {
121
+ outline: none;
122
+ }
123
+ nv-tag.tag-green .nv-tag-content:focus-visible, nv-tag.tag-green .nv-tag-content:has(:focus-visible) {
124
+ outline: calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-7-text);
125
+ outline-offset: calc(var(--focus-outline-offset) * 0.2);
126
+ }
127
+ nv-tag.tag-turquoise {
128
+ color: var(--color-rainbow-5-text);
129
+ background-color: var(--color-rainbow-5-background);
130
+ border-color: var(--color-rainbow-5-border-light);
131
+ }
132
+ nv-tag.tag-turquoise nv-icon {
133
+ color: var(--color-rainbow-5-icon);
134
+ }
135
+ nv-tag.tag-turquoise .nv-tag-content:focus, nv-tag.tag-turquoise .nv-tag-content:focus-within {
136
+ outline: none;
137
+ }
138
+ nv-tag.tag-turquoise .nv-tag-content:focus-visible, nv-tag.tag-turquoise .nv-tag-content:has(:focus-visible) {
139
+ outline: calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-5-text);
140
+ outline-offset: calc(var(--focus-outline-offset) * 0.2);
141
+ }
142
+ nv-tag.tag-lime {
143
+ color: var(--color-rainbow-9-text);
144
+ background-color: var(--color-rainbow-9-background);
145
+ border-color: var(--color-rainbow-9-border-light);
146
+ }
147
+ nv-tag.tag-lime nv-icon {
148
+ color: var(--color-rainbow-9-icon);
149
+ }
150
+ nv-tag.tag-lime .nv-tag-content:focus, nv-tag.tag-lime .nv-tag-content:focus-within {
151
+ outline: none;
152
+ }
153
+ nv-tag.tag-lime .nv-tag-content:focus-visible, nv-tag.tag-lime .nv-tag-content:has(:focus-visible) {
154
+ outline: calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-9-text);
155
+ outline-offset: calc(var(--focus-outline-offset) * 0.2);
156
+ }
157
+ nv-tag.tag-grey {
158
+ color: var(--color-rainbow-10-text);
159
+ background-color: var(--color-rainbow-10-background);
160
+ border-color: var(--color-rainbow-10-border-light);
161
+ }
162
+ nv-tag.tag-grey nv-icon {
163
+ color: var(--color-rainbow-10-icon);
164
+ }
165
+ nv-tag.tag-grey .nv-tag-content:focus, nv-tag.tag-grey .nv-tag-content:focus-within {
166
+ outline: none;
167
+ }
168
+ nv-tag.tag-grey .nv-tag-content:focus-visible, nv-tag.tag-grey .nv-tag-content:has(:focus-visible) {
169
+ outline: calc(var(--focus-outline-stroke) * 1) solid var(--color-rainbow-10-text);
170
+ outline-offset: calc(var(--focus-outline-offset) * 0.2);
171
+ }
172
+ nv-tag .nv-tag-leading {
173
+ display: contents;
174
+ }
175
+ nv-tag .nv-tag-label {
176
+ white-space: nowrap;
177
+ }
178
+ nv-tag .nv-tag-content {
179
+ display: inline-flex;
180
+ align-items: center;
181
+ gap: var(--tag-gap-x);
182
+ color: inherit;
183
+ text-decoration: none;
184
+ border-radius: var(--tag-border-radius);
185
+ }
186
+ nv-tag.is-link .nv-tag-content {
187
+ cursor: pointer;
188
+ }
189
+ nv-tag.is-link .nv-tag-content:hover {
190
+ text-decoration: underline;
191
+ }
192
+ nv-tag .nv-tag-dismiss {
193
+ padding: 0;
194
+ margin: 0;
195
+ line-height: 0;
196
+ border: none;
197
+ background: none;
198
+ cursor: pointer;
199
+ color: inherit;
200
+ display: inline-flex;
201
+ align-items: center;
202
+ justify-content: center;
203
+ width: var(--tag-height);
204
+ height: var(--tag-height);
205
+ border-radius: 0;
206
+ appearance: none;
207
+ }
208
+ nv-tag .nv-tag-dismiss:focus, nv-tag .nv-tag-dismiss:focus-within {
209
+ outline: none;
210
+ }
211
+ nv-tag .nv-tag-dismiss:focus-visible {
212
+ border-radius: 0;
213
+ box-shadow: inset 0 0 0 var(--focus-outline-stroke) var(--color-focus-brand);
214
+ }
215
+ nv-tag .nv-tag-dismiss:hover {
216
+ background-color: var(--color-interaction-container-neutral-background-hover);
217
+ mix-blend-mode: multiply;
218
+ }
219
+ nv-tag .nv-tag-dismiss:disabled {
220
+ opacity: var(--opacity-disabled);
221
+ pointer-events: none;
222
+ cursor: default;
223
+ }
224
+ nv-tag nv-icon > svg {
225
+ width: var(--spacing-3);
226
+ height: var(--spacing-3);
227
+ stroke-width: 1.2px;
228
+ }
@@ -0,0 +1,114 @@
1
+ import { h } from "@stencil/core";
2
+ import { nameof } from "../../utils/class.utils";
3
+ const NvTagDocs = {
4
+ component: 'nv-tag',
5
+ badge: 'new',
6
+ parentGroup: 'Tag',
7
+ subcomponents: ['nv-icon'],
8
+ stories: [
9
+ // Default
10
+ {
11
+ name: 'Default',
12
+ args: {
13
+ label: 'Category',
14
+ },
15
+ template: h("nv-tag", { "data-storybook-args": true }),
16
+ },
17
+ // label
18
+ {
19
+ name: nameof(x => x.label),
20
+ args: {
21
+ label: 'Infrastructure',
22
+ },
23
+ template: h("nv-tag", { "data-storybook-args": true }),
24
+ },
25
+ // color
26
+ {
27
+ name: nameof(x => x.color),
28
+ description: 'Tag supports 10 colour variants from the rainbow palette.',
29
+ template: (h("div", { "data-class": "flex flex-wrap gap-4" }, h("nv-tag", { "data-storybook-args": true, color: "orange", label: "Orange" }), h("nv-tag", { "data-storybook-args": true, color: "crimson", label: "Crimson" }), h("nv-tag", { "data-storybook-args": true, color: "yellow", label: "Yellow" }), h("nv-tag", { "data-storybook-args": true, color: "red", label: "Red" }), h("nv-tag", { "data-storybook-args": true, color: "blue", label: "Blue" }), h("nv-tag", { "data-storybook-args": true, color: "amber", label: "Amber" }), h("nv-tag", { "data-storybook-args": true, color: "green", label: "Green" }), h("nv-tag", { "data-storybook-args": true, color: "turquoise", label: "Turquoise" }), h("nv-tag", { "data-storybook-args": true, color: "lime", label: "Lime" }), h("nv-tag", { "data-storybook-args": true, color: "grey", label: "Grey" }))),
30
+ },
31
+ // dismissible
32
+ {
33
+ name: nameof(x => x.dismissible),
34
+ description: 'When dismissible, a dismiss button is rendered. Clicking it emits the `dismissed` event.',
35
+ args: {
36
+ label: 'Active filter',
37
+ color: 'orange',
38
+ dismissible: true,
39
+ },
40
+ template: h("nv-tag", { "data-storybook-args": true }),
41
+ },
42
+ // href
43
+ {
44
+ name: nameof(x => x.href),
45
+ description: 'When `href` is set, the tag renders as a link. The label area navigates; the dismiss button (if present) is a separate action zone.',
46
+ args: {
47
+ label: 'View category',
48
+ color: 'amber',
49
+ href: '#',
50
+ },
51
+ template: h("nv-tag", { "data-storybook-args": true }),
52
+ },
53
+ // target
54
+ {
55
+ name: nameof(x => x.target),
56
+ description: 'When `target="_blank"`, the link opens in a new tab and `rel="noopener noreferrer"` is automatically applied for security.',
57
+ args: {
58
+ label: 'Documentation',
59
+ color: 'blue',
60
+ href: 'https://nova.eliagroup.io/',
61
+ target: '_blank',
62
+ },
63
+ template: h("nv-tag", { "data-storybook-args": true }),
64
+ },
65
+ // rel
66
+ {
67
+ name: nameof(x => x.rel),
68
+ description: 'Overrides the `rel` attribute on the anchor. When `target="_blank"` and `rel` is not set, it defaults to `"noopener noreferrer"` for security.',
69
+ args: {
70
+ label: 'Partner site',
71
+ color: 'blue',
72
+ href: 'https://partner.example.com/',
73
+ target: '_blank',
74
+ rel: 'noopener',
75
+ },
76
+ template: h("nv-tag", { "data-storybook-args": true }),
77
+ },
78
+ // disabled
79
+ {
80
+ name: nameof(x => x.disabled),
81
+ description: 'When `disabled` is true, the dismiss button is visually dimmed and non-interactive.',
82
+ args: {
83
+ label: 'Read-only filter',
84
+ color: 'orange',
85
+ dismissible: true,
86
+ disabled: true,
87
+ },
88
+ template: h("nv-tag", { "data-storybook-args": true }),
89
+ },
90
+ // Combined: link + dismissible + icon
91
+ {
92
+ name: 'LinkDismissibleWithIcon',
93
+ description: 'Combined variant with link navigation, dismiss action, and a leading icon. The label area navigates while the dismiss button emits a separate event.',
94
+ args: {
95
+ label: 'Energy',
96
+ color: 'turquoise',
97
+ dismissible: true,
98
+ href: '#',
99
+ },
100
+ template: (h("nv-tag", { "data-storybook-args": true }, h("nv-icon", { slot: "leading-icon", name: "bolt" }))),
101
+ },
102
+ // Slot: leading-icon
103
+ {
104
+ name: 'SlotLeadingIcon',
105
+ description: 'Tag with a leading icon via the `leading-icon` slot.',
106
+ args: {
107
+ label: 'Renewable',
108
+ color: 'green',
109
+ },
110
+ template: (h("nv-tag", { "data-storybook-args": true }, h("nv-icon", { slot: "leading-icon", name: "leaf" }))),
111
+ },
112
+ ],
113
+ };
114
+ export default NvTagDocs;