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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (452) hide show
  1. package/dist/blazor-docs.json +370 -128
  2. package/dist/cjs/{app-globals-69764290.js → app-globals-6b0931bc.js} +2 -2
  3. package/dist/cjs/app-globals-6b0931bc.js.map +1 -0
  4. package/dist/cjs/{constants-33057c89.js → constants-9525a915.js} +7 -1
  5. package/dist/cjs/constants-9525a915.js.map +1 -0
  6. package/dist/cjs/{index-72b8a9ad.js → index-ddc37f87.js} +22 -10
  7. package/dist/cjs/index-ddc37f87.js.map +1 -0
  8. package/dist/cjs/index.cjs.js +1 -1
  9. package/dist/cjs/loader.cjs.js +3 -3
  10. package/dist/cjs/native.cjs.js +3 -3
  11. package/dist/cjs/nv-alert.cjs.entry.js +3 -3
  12. package/dist/cjs/nv-avatar.cjs.entry.js +4 -4
  13. package/dist/cjs/nv-avatar.cjs.entry.js.map +1 -1
  14. package/dist/cjs/nv-badge.cjs.entry.js +4 -4
  15. package/dist/cjs/nv-badge.cjs.entry.js.map +1 -1
  16. package/dist/cjs/nv-base.cjs.entry.js +2 -3
  17. package/dist/cjs/nv-base.cjs.entry.js.map +1 -1
  18. package/dist/cjs/nv-breadcrumb.cjs.entry.js +47 -0
  19. package/dist/cjs/nv-breadcrumb.cjs.entry.js.map +1 -0
  20. package/dist/cjs/nv-breadcrumbs.cjs.entry.js +23 -0
  21. package/dist/cjs/nv-breadcrumbs.cjs.entry.js.map +1 -0
  22. package/dist/cjs/nv-button.cjs.entry.js +4 -4
  23. package/dist/cjs/nv-button.cjs.entry.js.map +1 -1
  24. package/dist/cjs/nv-col.cjs.entry.js +2 -2
  25. package/dist/cjs/nv-datagrid.cjs.entry.js +4 -4
  26. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
  27. package/dist/cjs/nv-datagridbody.cjs.entry.js +2 -2
  28. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +2 -2
  29. package/dist/cjs/nv-datagriddatacell.cjs.entry.js +2 -2
  30. package/dist/cjs/nv-datagridhead.cjs.entry.js +2 -2
  31. package/dist/cjs/nv-datagridrow.cjs.entry.js +2 -2
  32. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +5 -5
  33. package/dist/cjs/nv-fielddropdown.cjs.entry.js +64 -25
  34. package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
  35. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +2 -2
  36. package/dist/cjs/nv-fieldnumber.cjs.entry.js +4 -4
  37. package/dist/cjs/nv-fieldpassword.cjs.entry.js +4 -4
  38. package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
  39. package/dist/cjs/nv-fieldradio.cjs.entry.js +4 -4
  40. package/dist/cjs/nv-fieldselect.cjs.entry.js +9 -9
  41. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
  42. package/dist/cjs/nv-fieldtext.cjs.entry.js +4 -4
  43. package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -1
  44. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +46 -44
  45. package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
  46. package/dist/cjs/nv-fieldtoggle.cjs.entry.js +3 -3
  47. package/dist/cjs/nv-icon.cjs.entry.js +3 -3
  48. package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
  49. package/dist/cjs/nv-iconbutton.cjs.entry.js +3 -3
  50. package/dist/cjs/nv-iconbutton.cjs.entry.js.map +1 -1
  51. package/dist/cjs/nv-loader.cjs.entry.js +2 -2
  52. package/dist/cjs/nv-menu.cjs.entry.js +7 -44
  53. package/dist/cjs/nv-menu.cjs.entry.js.map +1 -1
  54. package/dist/cjs/nv-menuitem.cjs.entry.js +30 -3
  55. package/dist/cjs/nv-menuitem.cjs.entry.js.map +1 -1
  56. package/dist/cjs/nv-popover.cjs.entry.js +21 -7
  57. package/dist/cjs/nv-popover.cjs.entry.js.map +1 -1
  58. package/dist/cjs/nv-row.cjs.entry.js +2 -2
  59. package/dist/cjs/nv-stack.cjs.entry.js +2 -2
  60. package/dist/cjs/nv-table.cjs.entry.js +3 -3
  61. package/dist/cjs/nv-tablebody.cjs.entry.js +2 -2
  62. package/dist/cjs/nv-tablecolumn.cjs.entry.js +2 -2
  63. package/dist/cjs/nv-tabledatacell.cjs.entry.js +2 -2
  64. package/dist/cjs/nv-tablehead.cjs.entry.js +2 -2
  65. package/dist/cjs/nv-tablerow.cjs.entry.js +2 -2
  66. package/dist/cjs/nv-tooltip.cjs.entry.js +6 -5
  67. package/dist/cjs/nv-tooltip.cjs.entry.js.map +1 -1
  68. package/dist/collection/collection-manifest.json +3 -1
  69. package/dist/collection/components/nv-alert/nv-alert.js +1 -1
  70. package/dist/collection/components/nv-avatar/nv-avatar.css +0 -33
  71. package/dist/collection/components/nv-avatar/nv-avatar.js +1 -1
  72. package/dist/collection/components/nv-badge/nv-badge.css +0 -33
  73. package/dist/collection/components/nv-badge/nv-badge.js +2 -2
  74. package/dist/collection/components/nv-base/nv-base.js +1 -2
  75. package/dist/collection/components/nv-base/nv-base.js.map +1 -1
  76. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.css +14 -0
  77. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.docs.js +6 -0
  78. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.docs.js.map +1 -0
  79. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js +111 -0
  80. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js.map +1 -0
  81. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.css +12 -0
  82. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js +34 -0
  83. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js.map +1 -0
  84. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js +22 -0
  85. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js.map +1 -0
  86. package/dist/collection/components/nv-button/nv-button.docs.js +5 -0
  87. package/dist/collection/components/nv-button/nv-button.docs.js.map +1 -1
  88. package/dist/collection/components/nv-button/nv-button.js +3 -3
  89. package/dist/collection/components/nv-button/nv-button.js.map +1 -1
  90. package/dist/collection/components/nv-button/{nv-button.css → styles/nv-button.css} +25 -60
  91. package/dist/collection/components/nv-col/nv-col.js +1 -1
  92. package/dist/collection/components/nv-datagrid/nv-datagrid.js +3 -3
  93. package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -1
  94. package/dist/collection/components/nv-datagridbody/nv-datagridbody.js +1 -1
  95. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +1 -1
  96. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.js +1 -1
  97. package/dist/collection/components/nv-datagridhead/nv-datagridhead.js +1 -1
  98. package/dist/collection/components/nv-datagridrow/nv-datagridrow.js +1 -1
  99. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +4 -4
  100. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.css +13 -9
  101. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +8 -19
  102. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +1 -1
  103. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +63 -24
  104. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
  105. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +1 -1
  106. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +3 -3
  107. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +5 -5
  108. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js.map +1 -1
  109. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
  110. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +10 -10
  111. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js.map +1 -1
  112. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +1 -1
  113. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +1 -1
  114. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +5 -5
  115. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +1 -1
  116. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +46 -42
  117. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js.map +1 -1
  118. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.js +2 -2
  119. package/dist/collection/components/nv-icon/nv-icon.js +3 -3
  120. package/dist/collection/components/nv-icon/nv-icon.js.map +1 -1
  121. package/dist/collection/components/nv-icon/{nv-icon.css → styles/nv-icon.css} +0 -1
  122. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +10 -4
  123. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js.map +1 -1
  124. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  125. package/dist/collection/components/nv-menu/nv-menu.js +11 -48
  126. package/dist/collection/components/nv-menu/nv-menu.js.map +1 -1
  127. package/dist/collection/components/nv-menuitem/nv-menuitem.js +88 -4
  128. package/dist/collection/components/nv-menuitem/nv-menuitem.js.map +1 -1
  129. package/dist/collection/components/nv-popover/nv-popover.js +20 -6
  130. package/dist/collection/components/nv-popover/nv-popover.js.map +1 -1
  131. package/dist/collection/components/nv-row/nv-row.js +1 -1
  132. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  133. package/dist/collection/components/nv-table/nv-table.js +2 -2
  134. package/dist/collection/components/nv-tablebody/nv-tablebody.js +1 -1
  135. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js +1 -1
  136. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.js +1 -1
  137. package/dist/collection/components/nv-tablehead/nv-tablehead.js +1 -1
  138. package/dist/collection/components/nv-tablerow/nv-tablerow.js +1 -1
  139. package/dist/collection/components/nv-tooltip/nv-tooltip.js +31 -4
  140. package/dist/collection/components/nv-tooltip/nv-tooltip.js.map +1 -1
  141. package/dist/collection/dev/dev-components.js +1 -1
  142. package/dist/collection/dev/dev-components.js.map +1 -1
  143. package/dist/collection/templates/navigation.docs.js +13 -0
  144. package/dist/collection/templates/navigation.docs.js.map +1 -0
  145. package/dist/collection/utils/constants.js +5 -0
  146. package/dist/collection/utils/constants.js.map +1 -1
  147. package/dist/components/index.js +4 -4
  148. package/dist/components/nv-alert.js +4 -4
  149. package/dist/components/nv-avatar.js +5 -5
  150. package/dist/components/nv-avatar.js.map +1 -1
  151. package/dist/components/nv-badge.js +5 -5
  152. package/dist/components/nv-badge.js.map +1 -1
  153. package/dist/components/nv-base.js +2 -3
  154. package/dist/components/nv-base.js.map +1 -1
  155. package/dist/components/nv-breadcrumb.d.ts +11 -0
  156. package/dist/components/nv-breadcrumb.js +83 -0
  157. package/dist/components/nv-breadcrumb.js.map +1 -0
  158. package/dist/components/nv-breadcrumbs.d.ts +11 -0
  159. package/dist/components/nv-breadcrumbs.js +37 -0
  160. package/dist/components/nv-breadcrumbs.js.map +1 -0
  161. package/dist/components/nv-button.js +5 -5
  162. package/dist/components/nv-button.js.map +1 -1
  163. package/dist/components/nv-col.js +2 -2
  164. package/dist/components/nv-datagrid.js +4 -4
  165. package/dist/components/nv-datagrid.js.map +1 -1
  166. package/dist/components/nv-datagridbody.js +2 -2
  167. package/dist/components/nv-datagridcolumn.js +2 -2
  168. package/dist/components/nv-datagriddatacell.js +2 -2
  169. package/dist/components/nv-datagridhead.js +2 -2
  170. package/dist/components/nv-datagridrow.js +2 -2
  171. package/dist/components/nv-fieldcheckbox.js +5 -5
  172. package/dist/components/nv-fielddropdown.js +69 -30
  173. package/dist/components/nv-fielddropdown.js.map +1 -1
  174. package/dist/components/nv-fielddropdownitem.js +1 -1
  175. package/dist/components/nv-fieldnumber.js +5 -5
  176. package/dist/components/nv-fieldpassword.js +7 -7
  177. package/dist/components/nv-fieldpassword.js.map +1 -1
  178. package/dist/components/nv-fieldradio.js +4 -4
  179. package/dist/components/nv-fieldselect.js +11 -11
  180. package/dist/components/nv-fieldselect.js.map +1 -1
  181. package/dist/components/nv-fieldtext.js +5 -5
  182. package/dist/components/nv-fieldtext.js.map +1 -1
  183. package/dist/components/nv-fieldtextarea.js +48 -45
  184. package/dist/components/nv-fieldtextarea.js.map +1 -1
  185. package/dist/components/nv-fieldtoggle.js +3 -3
  186. package/dist/components/nv-icon.js +1 -1
  187. package/dist/components/nv-iconbutton.js +1 -1
  188. package/dist/components/nv-loader.js +1 -1
  189. package/dist/components/nv-menu.js +9 -46
  190. package/dist/components/nv-menu.js.map +1 -1
  191. package/dist/components/nv-menuitem.js +34 -6
  192. package/dist/components/nv-menuitem.js.map +1 -1
  193. package/dist/components/nv-popover.js +1 -1
  194. package/dist/components/nv-row.js +2 -2
  195. package/dist/components/nv-stack.js +2 -2
  196. package/dist/components/nv-table.js +3 -3
  197. package/dist/components/nv-tablebody.js +2 -2
  198. package/dist/components/nv-tablecolumn.js +2 -2
  199. package/dist/components/nv-tabledatacell.js +2 -2
  200. package/dist/components/nv-tablehead.js +2 -2
  201. package/dist/components/nv-tablerow.js +2 -2
  202. package/dist/components/nv-tooltip.js +1 -63
  203. package/dist/components/nv-tooltip.js.map +1 -1
  204. package/dist/components/{p-ca5c171f.js → p-09a2a880.js} +4 -4
  205. package/dist/components/{p-ca5c171f.js.map → p-09a2a880.js.map} +1 -1
  206. package/dist/components/{p-f0d5586a.js → p-0cdf2cc7.js} +6 -6
  207. package/dist/components/p-0cdf2cc7.js.map +1 -0
  208. package/dist/components/{p-c08a278d.js → p-3a65a05e.js} +6 -2
  209. package/dist/components/p-3a65a05e.js.map +1 -0
  210. package/dist/components/{p-0caa4741.js → p-3b209e94.js} +17 -3
  211. package/dist/components/{p-c08a278d.js.map → p-3b209e94.js.map} +1 -1
  212. package/dist/{esm/constants-e9bee611.js → components/p-74407727.js} +7 -1
  213. package/dist/components/p-74407727.js.map +1 -0
  214. package/dist/components/{p-39e93e5b.js → p-a61d9ce8.js} +4 -4
  215. package/dist/{native/p-d4277c50.entry.js.map → components/p-a61d9ce8.js.map} +1 -1
  216. package/dist/components/{p-3ef4ded9.js → p-b7462fc2.js} +3 -3
  217. package/dist/components/{p-3ef4ded9.js.map → p-b7462fc2.js.map} +1 -1
  218. package/dist/components/{p-1fa35ae5.js → p-ce67d70c.js} +23 -9
  219. package/dist/components/p-ce67d70c.js.map +1 -0
  220. package/dist/components/p-e7131c30.js +69 -0
  221. package/dist/components/p-e7131c30.js.map +1 -0
  222. package/dist/docs.json +377 -143
  223. package/dist/esm/{app-globals-c5484a00.js → app-globals-246d6b7c.js} +2 -2
  224. package/dist/esm/app-globals-246d6b7c.js.map +1 -0
  225. package/dist/{components/p-a15ddd42.js → esm/constants-7b642e1d.js} +7 -1
  226. package/dist/esm/constants-7b642e1d.js.map +1 -0
  227. package/dist/esm/{index-b6f70e4a.js → index-cd557d0a.js} +22 -10
  228. package/dist/esm/index-cd557d0a.js.map +1 -0
  229. package/dist/esm/index.js +1 -1
  230. package/dist/esm/loader.js +4 -4
  231. package/dist/esm/native.js +4 -4
  232. package/dist/esm/nv-alert.entry.js +3 -3
  233. package/dist/esm/nv-avatar.entry.js +4 -4
  234. package/dist/esm/nv-avatar.entry.js.map +1 -1
  235. package/dist/esm/nv-badge.entry.js +4 -4
  236. package/dist/esm/nv-badge.entry.js.map +1 -1
  237. package/dist/esm/nv-base.entry.js +2 -3
  238. package/dist/esm/nv-base.entry.js.map +1 -1
  239. package/dist/esm/nv-breadcrumb.entry.js +43 -0
  240. package/dist/esm/nv-breadcrumb.entry.js.map +1 -0
  241. package/dist/esm/nv-breadcrumbs.entry.js +19 -0
  242. package/dist/esm/nv-breadcrumbs.entry.js.map +1 -0
  243. package/dist/esm/nv-button.entry.js +4 -4
  244. package/dist/esm/nv-button.entry.js.map +1 -1
  245. package/dist/esm/nv-col.entry.js +2 -2
  246. package/dist/esm/nv-datagrid.entry.js +4 -4
  247. package/dist/esm/nv-datagrid.entry.js.map +1 -1
  248. package/dist/esm/nv-datagridbody.entry.js +2 -2
  249. package/dist/esm/nv-datagridcolumn.entry.js +2 -2
  250. package/dist/esm/nv-datagriddatacell.entry.js +2 -2
  251. package/dist/esm/nv-datagridhead.entry.js +2 -2
  252. package/dist/esm/nv-datagridrow.entry.js +2 -2
  253. package/dist/esm/nv-fieldcheckbox.entry.js +5 -5
  254. package/dist/esm/nv-fielddropdown.entry.js +64 -25
  255. package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
  256. package/dist/esm/nv-fielddropdownitem.entry.js +2 -2
  257. package/dist/esm/nv-fieldnumber.entry.js +4 -4
  258. package/dist/esm/nv-fieldpassword.entry.js +4 -4
  259. package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
  260. package/dist/esm/nv-fieldradio.entry.js +4 -4
  261. package/dist/esm/nv-fieldselect.entry.js +9 -9
  262. package/dist/esm/nv-fieldselect.entry.js.map +1 -1
  263. package/dist/esm/nv-fieldtext.entry.js +4 -4
  264. package/dist/esm/nv-fieldtext.entry.js.map +1 -1
  265. package/dist/esm/nv-fieldtextarea.entry.js +46 -44
  266. package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
  267. package/dist/esm/nv-fieldtoggle.entry.js +3 -3
  268. package/dist/esm/nv-icon.entry.js +3 -3
  269. package/dist/esm/nv-icon.entry.js.map +1 -1
  270. package/dist/esm/nv-iconbutton.entry.js +3 -3
  271. package/dist/esm/nv-iconbutton.entry.js.map +1 -1
  272. package/dist/esm/nv-loader.entry.js +2 -2
  273. package/dist/esm/nv-menu.entry.js +7 -44
  274. package/dist/esm/nv-menu.entry.js.map +1 -1
  275. package/dist/esm/nv-menuitem.entry.js +30 -3
  276. package/dist/esm/nv-menuitem.entry.js.map +1 -1
  277. package/dist/esm/nv-popover.entry.js +22 -8
  278. package/dist/esm/nv-popover.entry.js.map +1 -1
  279. package/dist/esm/nv-row.entry.js +2 -2
  280. package/dist/esm/nv-stack.entry.js +2 -2
  281. package/dist/esm/nv-table.entry.js +3 -3
  282. package/dist/esm/nv-tablebody.entry.js +2 -2
  283. package/dist/esm/nv-tablecolumn.entry.js +2 -2
  284. package/dist/esm/nv-tabledatacell.entry.js +2 -2
  285. package/dist/esm/nv-tablehead.entry.js +2 -2
  286. package/dist/esm/nv-tablerow.entry.js +2 -2
  287. package/dist/esm/nv-tooltip.entry.js +6 -5
  288. package/dist/esm/nv-tooltip.entry.js.map +1 -1
  289. package/dist/native/index.esm.js +1 -1
  290. package/dist/native/native.css +1 -1
  291. package/dist/native/native.esm.js +1 -1
  292. package/dist/native/native.esm.js.map +1 -1
  293. package/dist/native/p-0710efd7.entry.js +2 -0
  294. package/dist/native/p-0710efd7.entry.js.map +1 -0
  295. package/dist/native/p-0f9262ed.entry.js +2 -0
  296. package/dist/native/{p-dacd68ab.entry.js → p-10a06059.entry.js} +2 -2
  297. package/dist/native/p-10a06059.entry.js.map +1 -0
  298. package/dist/native/p-132b8588.entry.js +2 -0
  299. package/dist/native/{p-c5e3e234.entry.js.map → p-132b8588.entry.js.map} +1 -1
  300. package/dist/native/p-2063c768.entry.js +2 -0
  301. package/dist/native/p-2063c768.entry.js.map +1 -0
  302. package/dist/native/p-2ac838b8.entry.js +2 -0
  303. package/dist/native/p-2ac838b8.entry.js.map +1 -0
  304. package/dist/native/p-38d3eee3.js +2 -0
  305. package/dist/native/p-38d3eee3.js.map +1 -0
  306. package/dist/native/{p-d4277c50.entry.js → p-3e9521a0.entry.js} +2 -2
  307. package/dist/native/p-3e9521a0.entry.js.map +1 -0
  308. package/dist/native/{p-11faaf31.entry.js → p-40f4828a.entry.js} +2 -2
  309. package/dist/native/p-44cc8b59.entry.js +2 -0
  310. package/dist/native/p-44cc8b59.entry.js.map +1 -0
  311. package/dist/native/p-45aa0c68.entry.js +2 -0
  312. package/dist/native/p-45aa0c68.entry.js.map +1 -0
  313. package/dist/native/p-4f30312d.entry.js +2 -0
  314. package/dist/native/p-4f30312d.entry.js.map +1 -0
  315. package/dist/native/p-52a7f936.entry.js +2 -0
  316. package/dist/native/{p-50c31094.entry.js → p-5d0dc7c8.entry.js} +2 -2
  317. package/dist/native/p-5d67a825.entry.js +2 -0
  318. package/dist/native/{p-47c78fe4.entry.js.map → p-5d67a825.entry.js.map} +1 -1
  319. package/dist/native/p-5e467b49.entry.js +2 -0
  320. package/dist/native/p-6c1b9c89.entry.js +2 -0
  321. package/dist/native/{p-b3ec71c9.entry.js.map → p-6c1b9c89.entry.js.map} +1 -1
  322. package/dist/native/p-74407727.js +2 -0
  323. package/dist/native/p-74407727.js.map +1 -0
  324. package/dist/native/{p-df6c9137.entry.js → p-74778f5f.entry.js} +2 -2
  325. package/dist/native/p-87b93cc2.entry.js +2 -0
  326. package/dist/native/p-8f0984b0.entry.js +2 -0
  327. package/dist/native/p-8f0984b0.entry.js.map +1 -0
  328. package/dist/native/p-907c3eda.entry.js +2 -0
  329. package/dist/native/p-91d4b4d7.entry.js +2 -0
  330. package/dist/native/{p-9f89229b.entry.js → p-9341cf9d.entry.js} +2 -2
  331. package/dist/native/{p-6ef216c4.js → p-9b093b92.js} +3 -3
  332. package/dist/native/p-9b093b92.js.map +1 -0
  333. package/dist/native/{p-31367928.entry.js → p-9cef006d.entry.js} +2 -2
  334. package/dist/native/{p-01262eaf.entry.js → p-a9b6461b.entry.js} +2 -2
  335. package/dist/native/p-a9b6461b.entry.js.map +1 -0
  336. package/dist/native/{p-a89f5542.entry.js → p-b902c7c0.entry.js} +2 -2
  337. package/dist/native/p-bbc45099.entry.js +2 -0
  338. package/dist/native/{p-919cf3ec.entry.js → p-c59e3500.entry.js} +2 -2
  339. package/dist/native/{p-4a64f5b0.entry.js → p-d0f83d1f.entry.js} +2 -2
  340. package/dist/native/{p-4a64f5b0.entry.js.map → p-d0f83d1f.entry.js.map} +1 -1
  341. package/dist/native/p-e390557d.entry.js +2 -0
  342. package/dist/native/p-e390557d.entry.js.map +1 -0
  343. package/dist/native/p-e56d3715.entry.js +2 -0
  344. package/dist/native/p-e56d3715.entry.js.map +1 -0
  345. package/dist/native/{p-e05b0c4a.entry.js → p-e5fbe545.entry.js} +2 -2
  346. package/dist/native/p-eade52d4.entry.js +2 -0
  347. package/dist/native/p-eade52d4.entry.js.map +1 -0
  348. package/dist/native/p-eda8cd9d.entry.js +2 -0
  349. package/dist/native/p-ee78addb.entry.js +2 -0
  350. package/dist/native/p-ee78addb.entry.js.map +1 -0
  351. package/dist/native/p-f1545844.entry.js +2 -0
  352. package/dist/native/p-f1545844.entry.js.map +1 -0
  353. package/dist/native/{p-6eb50254.entry.js → p-f2ea8aa9.entry.js} +2 -2
  354. package/dist/native/{p-6eb50254.entry.js.map → p-f2ea8aa9.entry.js.map} +1 -1
  355. package/dist/native/p-f42e87b5.entry.js +2 -0
  356. package/dist/native/{p-0bf2007c.entry.js → p-f4ecacf6.entry.js} +2 -2
  357. package/dist/native/{p-c85d031d.entry.js → p-f7db0785.entry.js} +3 -3
  358. package/dist/native/{p-c85d031d.entry.js.map → p-f7db0785.entry.js.map} +1 -1
  359. package/dist/types/components/nv-base/nv-base.docs.d.ts +1 -1
  360. package/dist/types/components/nv-breadcrumb/nv-breadcrumb.d.ts +30 -0
  361. package/dist/types/components/nv-breadcrumb/nv-breadcrumb.docs.d.ts +4 -0
  362. package/dist/types/components/nv-breadcrumbs/nv-breadcrumbs.d.ts +6 -0
  363. package/dist/types/components/nv-breadcrumbs/nv-breadcrumbs.docs.d.ts +4 -0
  364. package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +4 -1
  365. package/dist/types/components/nv-fieldpassword/nv-fieldpassword.d.ts +1 -1
  366. package/dist/types/components/nv-fieldselect/nv-fieldselect.d.ts +1 -1
  367. package/dist/types/components/nv-fieldtext/nv-fieldtext.d.ts +1 -1
  368. package/dist/types/components/nv-fieldtextarea/nv-fieldtextarea.d.ts +5 -9
  369. package/dist/types/components/nv-iconbutton/nv-iconbutton.d.ts +2 -2
  370. package/dist/types/components/nv-menu/nv-menu.d.ts +4 -5
  371. package/dist/types/components/nv-menuitem/nv-menuitem.d.ts +25 -1
  372. package/dist/types/components/nv-popover/nv-popover.d.ts +7 -0
  373. package/dist/types/components/nv-tooltip/nv-tooltip.d.ts +6 -1
  374. package/dist/types/components.d.ts +97 -17
  375. package/dist/types/nova-docs.d.ts +46 -24
  376. package/dist/types/templates/navigation.docs.d.ts +3 -0
  377. package/dist/types/utils/constants.d.ts +4 -0
  378. package/dist/vscode-data.json +113 -72
  379. package/hydrate/index.js +322 -188
  380. package/hydrate/index.mjs +322 -188
  381. package/package.json +17 -15
  382. package/dist/cjs/app-globals-69764290.js.map +0 -1
  383. package/dist/cjs/constants-33057c89.js.map +0 -1
  384. package/dist/cjs/index-72b8a9ad.js.map +0 -1
  385. package/dist/collection/components/nv-icon/test/nv-icon.test.js +0 -25
  386. package/dist/collection/components/nv-icon/test/nv-icon.test.js.map +0 -1
  387. package/dist/components/p-0caa4741.js.map +0 -1
  388. package/dist/components/p-1fa35ae5.js.map +0 -1
  389. package/dist/components/p-39e93e5b.js.map +0 -1
  390. package/dist/components/p-a15ddd42.js.map +0 -1
  391. package/dist/components/p-f0d5586a.js.map +0 -1
  392. package/dist/esm/app-globals-c5484a00.js.map +0 -1
  393. package/dist/esm/constants-e9bee611.js.map +0 -1
  394. package/dist/esm/index-b6f70e4a.js.map +0 -1
  395. package/dist/native/p-01262eaf.entry.js.map +0 -1
  396. package/dist/native/p-17dba26d.entry.js +0 -2
  397. package/dist/native/p-2a6ca749.entry.js +0 -2
  398. package/dist/native/p-2a6ca749.entry.js.map +0 -1
  399. package/dist/native/p-327fa1a0.entry.js +0 -2
  400. package/dist/native/p-380bcc2b.entry.js +0 -2
  401. package/dist/native/p-380bcc2b.entry.js.map +0 -1
  402. package/dist/native/p-47c78fe4.entry.js +0 -2
  403. package/dist/native/p-605f8b3d.entry.js +0 -2
  404. package/dist/native/p-605f8b3d.entry.js.map +0 -1
  405. package/dist/native/p-64ae9a21.entry.js +0 -2
  406. package/dist/native/p-64ae9a21.entry.js.map +0 -1
  407. package/dist/native/p-6e8bcd5b.entry.js +0 -2
  408. package/dist/native/p-6e8bcd5b.entry.js.map +0 -1
  409. package/dist/native/p-6ef216c4.js.map +0 -1
  410. package/dist/native/p-7701e4cc.entry.js +0 -2
  411. package/dist/native/p-7701e4cc.entry.js.map +0 -1
  412. package/dist/native/p-86947929.entry.js +0 -2
  413. package/dist/native/p-8f95f4fa.entry.js +0 -2
  414. package/dist/native/p-93eea6e1.entry.js +0 -2
  415. package/dist/native/p-95714583.js +0 -2
  416. package/dist/native/p-95714583.js.map +0 -1
  417. package/dist/native/p-9fe47948.entry.js +0 -2
  418. package/dist/native/p-9fe47948.entry.js.map +0 -1
  419. package/dist/native/p-a15ddd42.js +0 -2
  420. package/dist/native/p-a15ddd42.js.map +0 -1
  421. package/dist/native/p-afbc5259.entry.js +0 -2
  422. package/dist/native/p-afbc5259.entry.js.map +0 -1
  423. package/dist/native/p-b3ec71c9.entry.js +0 -2
  424. package/dist/native/p-bbe9a373.entry.js +0 -2
  425. package/dist/native/p-c2dfee1a.entry.js +0 -2
  426. package/dist/native/p-c5e3e234.entry.js +0 -2
  427. package/dist/native/p-dacd68ab.entry.js.map +0 -1
  428. package/dist/native/p-de9d0b05.entry.js +0 -2
  429. package/dist/native/p-de9d0b05.entry.js.map +0 -1
  430. package/dist/native/p-e71fc762.entry.js +0 -2
  431. package/dist/native/p-e71fc762.entry.js.map +0 -1
  432. package/dist/native/p-ef7f605a.entry.js +0 -2
  433. package/dist/native/p-f2e31579.entry.js +0 -2
  434. package/dist/types/components/nv-icon/test/nv-icon.test.d.ts +0 -1
  435. /package/dist/native/{p-bbe9a373.entry.js.map → p-0f9262ed.entry.js.map} +0 -0
  436. /package/dist/native/{p-11faaf31.entry.js.map → p-40f4828a.entry.js.map} +0 -0
  437. /package/dist/native/{p-f2e31579.entry.js.map → p-52a7f936.entry.js.map} +0 -0
  438. /package/dist/native/{p-50c31094.entry.js.map → p-5d0dc7c8.entry.js.map} +0 -0
  439. /package/dist/native/{p-86947929.entry.js.map → p-5e467b49.entry.js.map} +0 -0
  440. /package/dist/native/{p-df6c9137.entry.js.map → p-74778f5f.entry.js.map} +0 -0
  441. /package/dist/native/{p-ef7f605a.entry.js.map → p-87b93cc2.entry.js.map} +0 -0
  442. /package/dist/native/{p-17dba26d.entry.js.map → p-907c3eda.entry.js.map} +0 -0
  443. /package/dist/native/{p-8f95f4fa.entry.js.map → p-91d4b4d7.entry.js.map} +0 -0
  444. /package/dist/native/{p-9f89229b.entry.js.map → p-9341cf9d.entry.js.map} +0 -0
  445. /package/dist/native/{p-31367928.entry.js.map → p-9cef006d.entry.js.map} +0 -0
  446. /package/dist/native/{p-a89f5542.entry.js.map → p-b902c7c0.entry.js.map} +0 -0
  447. /package/dist/native/{p-327fa1a0.entry.js.map → p-bbc45099.entry.js.map} +0 -0
  448. /package/dist/native/{p-919cf3ec.entry.js.map → p-c59e3500.entry.js.map} +0 -0
  449. /package/dist/native/{p-e05b0c4a.entry.js.map → p-e5fbe545.entry.js.map} +0 -0
  450. /package/dist/native/{p-93eea6e1.entry.js.map → p-eda8cd9d.entry.js.map} +0 -0
  451. /package/dist/native/{p-c2dfee1a.entry.js.map → p-f42e87b5.entry.js.map} +0 -0
  452. /package/dist/native/{p-0bf2007c.entry.js.map → p-f4ecacf6.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nv-breadcrumbs.docs.js","sourceRoot":"","sources":["../../../src/components/nv-breadcrumbs/nv-breadcrumbs.docs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAIlC,MAAM,iBAAiB,GAAuC;IAC5D,SAAS,EAAE,gBAAgB;IAC3B,aAAa,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC;IAC3C,kBAAkB,EAAE,CAAC,eAAe,CAAC;IACrC,OAAO,EAAE;QACP;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,CACR;gBACE;oBACE,eAAS,IAAI,EAAC,MAAM,GAAW,CACjB;gBAChB;oBACE,SAAG,IAAI,EAAC,GAAG,wBAAsB,CACnB;gBAChB,qBAAe,OAAO;oBACpB,SAAG,IAAI,EAAC,GAAG,mBAAiB,CACd,CACD,CAClB;SACF;QACD;YACE,IAAI,EAAE,eAAe;YACrB,WAAW,EACT,uIAAuI;YACzI,QAAQ,EAAE,CACR,iEAA+C,MAAM;gBACnD,qBAAe,OAAO,EAAC,MAAM;oBAC3B,SAAG,IAAI,EAAC,GAAG;wBACT,eAAS,IAAI,EAAC,MAAM,GAAW,CAC7B,CACU;gBAChB,qBAAe,OAAO,EAAC,cAAc;oBACnC,SAAG,IAAI,EAAC,GAAG;wBACT,eAAS,IAAI,EAAC,MAAM,GAAW,CAC7B,CACU;gBAChB,qBAAe,OAAO,QAAC,OAAO,EAAC,cAAc;oBAC3C,SAAG,IAAI,EAAC,GAAG,mBAAiB,CACd,CACD,CAClB;SACF;QACD;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EACT,oFAAoF;YACtF,QAAQ,EAAE,CACR,iEAA+C,YAAY;gBACzD;oBACE,SAAG,IAAI,EAAC,GAAG;wBACT,eAAS,IAAI,EAAC,MAAM,GAAW,CAC7B,CACU;gBAChB,qBAAe,IAAI,EAAC,WAAW,EAAC,OAAO,EAAC,iBAAiB;oBACvD;wBACE,SAAG,IAAI,EAAC,GAAG,mBAAiB,CACzB;oBACL;wBACE,SAAG,IAAI,EAAC,GAAG,eAAa,CACrB;oBACL;wBACE,SAAG,IAAI,EAAC,GAAG,cAAY,CACpB,CACS;gBAChB,qBAAe,OAAO;oBACpB,SAAG,IAAI,EAAC,GAAG,mBAAiB,CACd,CACD,CAClB;SACF;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,WAAW,EACT,2EAA2E;YAC7E,QAAQ,EAAE,CACR;gBACE;oBACE,eAAS,IAAI,EAAC,MAAM,GAAW;oBAC/B,YAAM,IAAI,EAAC,WAAW,QAAS,CACjB;gBAChB;oBACE,SAAG,IAAI,EAAC,GAAG,wBAAsB;oBACjC,YAAM,IAAI,EAAC,WAAW,QAAS,CACjB;gBAChB,qBAAe,OAAO;oBACpB,SAAG,IAAI,EAAC,GAAG,mBAAiB,CACd,CACD,CAClB;SACF;QACD;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EACT,iHAAiH;YACnH,QAAQ,EAAE,CACR;gBACE;oBACE,SAAG,IAAI,EAAC,GAAG,WAAS,CACN;gBAChB;oBACE,SAAG,IAAI,EAAC,GAAG,mBAAiB,CACd;gBAChB,qBAAe,OAAO;oBACpB,SAAG,IAAI,EAAC,GAAG,mBAAiB,CACd,CACD,CAClB;SACF;KACF;CACF,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["import { h } from '@stencil/core';\nimport type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\n\nconst NvBreadcrumbsDocs: NovaDocs<Components.NvBreadcrumbs> = {\n component: 'nv-breadcrumbs',\n subcomponents: ['nv-breadcrumb', 'nv-icon'],\n composedComponents: ['nv-breadcrumb'],\n stories: [\n {\n name: 'Default',\n template: (\n <nv-breadcrumbs data-storybook-args>\n <nv-breadcrumb>\n <nv-icon name=\"home\"></nv-icon>\n </nv-breadcrumb>\n <nv-breadcrumb>\n <a href=\"#\">Example with link</a>\n </nv-breadcrumb>\n <nv-breadcrumb current>\n <a href=\"#\">Current page</a>\n </nv-breadcrumb>\n </nv-breadcrumbs>\n ),\n },\n {\n name: 'With tooltips',\n description:\n 'A breadcrumb structure that includes tooltips for additional context. Each breadcrumb item provides a tooltip describing its function',\n template: (\n <nv-breadcrumbs data-storybook-args data-class=\"my-5\">\n <nv-breadcrumb tooltip=\"Home\">\n <a href=\"#\">\n <nv-icon name=\"home\"></nv-icon>\n </a>\n </nv-breadcrumb>\n <nv-breadcrumb tooltip=\"User account\">\n <a href=\"#\">\n <nv-icon name=\"user\"></nv-icon>\n </a>\n </nv-breadcrumb>\n <nv-breadcrumb current tooltip=\"You are here\">\n <a href=\"#\">Current page</a>\n </nv-breadcrumb>\n </nv-breadcrumbs>\n ),\n },\n {\n name: 'Collapsed',\n description:\n 'A breadcrumb example featuring a collapsed menu for handling long navigation paths',\n template: (\n <nv-breadcrumbs data-storybook-args data-class=\"mt-5 mb-20\">\n <nv-breadcrumb>\n <a href=\"#\">\n <nv-icon name=\"home\"></nv-icon>\n </a>\n </nv-breadcrumb>\n <nv-breadcrumb type=\"collapsed\" tooltip=\"Click to expand\">\n <li>\n <a href=\"#\">User Account</a>\n </li>\n <li>\n <a href=\"#\">Settings</a>\n </li>\n <li>\n <a href=\"#\">Payment</a>\n </li>\n </nv-breadcrumb>\n <nv-breadcrumb current>\n <a href=\"#\">Current page</a>\n </nv-breadcrumb>\n </nv-breadcrumbs>\n ),\n },\n {\n name: 'Custom separator',\n description:\n 'A breadcrumb example featuring a custom separator icon for visual clarity',\n template: (\n <nv-breadcrumbs data-storybook-args>\n <nv-breadcrumb>\n <nv-icon name=\"home\"></nv-icon>\n <span slot=\"separator\">/</span>\n </nv-breadcrumb>\n <nv-breadcrumb>\n <a href=\"#\">Example with link</a>\n <span slot=\"separator\">/</span>\n </nv-breadcrumb>\n <nv-breadcrumb current>\n <a href=\"#\">Current page</a>\n </nv-breadcrumb>\n </nv-breadcrumbs>\n ),\n },\n {\n name: 'Current page',\n description:\n 'Toggle the breadcrumbs to show the current page the visitor is on, updates the style and aria-current attribute',\n template: (\n <nv-breadcrumbs data-storybook-args>\n <nv-breadcrumb>\n <a href=\"#\">Home</a>\n </nv-breadcrumb>\n <nv-breadcrumb>\n <a href=\"#\">User account</a>\n </nv-breadcrumb>\n <nv-breadcrumb current>\n <a href=\"#\">Current page</a>\n </nv-breadcrumb>\n </nv-breadcrumbs>\n ),\n },\n ],\n};\n\nexport default NvBreadcrumbsDocs;\n"]}
@@ -0,0 +1,22 @@
1
+ import { Host, h } from "@stencil/core";
2
+ /**
3
+ * @slot default - Child content of the component.
4
+ */
5
+ export class NvBreadcrumbs {
6
+ //#region RENDER
7
+ render() {
8
+ return (h(Host, { key: '5ab0f09cb86a92464ffcd06d8129543539bdcddf', role: "navigation", "aria-label": "breadcrumbs" }, h("ol", { key: 'a7624a2400d9a91ec477694bbd3600960e198981' }, h("slot", { key: '7c4102ceebe110377bf212e0695bdec6b455ea74' }))));
9
+ }
10
+ static get is() { return "nv-breadcrumbs"; }
11
+ static get originalStyleUrls() {
12
+ return {
13
+ "$": ["nv-breadcrumbs.scss"]
14
+ };
15
+ }
16
+ static get styleUrls() {
17
+ return {
18
+ "$": ["nv-breadcrumbs.css"]
19
+ };
20
+ }
21
+ }
22
+ //# sourceMappingURL=nv-breadcrumbs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nv-breadcrumbs.js","sourceRoot":"","sources":["../../../src/components/nv-breadcrumbs/nv-breadcrumbs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAEnD;;GAEG;AAMH,MAAM,OAAO,aAAa;IACxB,gBAAgB;IAEhB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,IAAI,EAAC,YAAY,gBAAY,aAAa;YAC9C;gBACE,8DAAa,CACV,CACA,CACR,CAAC;IACJ,CAAC;;;;;;;;CAGF","sourcesContent":["import { Component, Host, h } from '@stencil/core';\n\n/**\n * @slot default - Child content of the component.\n */\n@Component({\n tag: 'nv-breadcrumbs',\n styleUrl: 'nv-breadcrumbs.scss',\n shadow: false,\n})\nexport class NvBreadcrumbs {\n //#region RENDER\n\n render() {\n return (\n <Host role=\"navigation\" aria-label=\"breadcrumbs\">\n <ol>\n <slot></slot>\n </ol>\n </Host>\n );\n }\n\n // #endregion RENDER\n}\n"]}
@@ -40,6 +40,11 @@ const NvButtonDocs = {
40
40
  name: nameof(x => x.type),
41
41
  template: (h("div", { "data-class": "flex gap-4" }, h("nv-button", { "data-storybook-args": true, type: "submit" }, "submit"), h("nv-button", { "data-storybook-args": true, type: "reset" }, "reset"))),
42
42
  },
43
+ {
44
+ name: 'LinkAsButton',
45
+ description: 'You can use our button classes if you need to use link tags',
46
+ template: (h("div", { "data-class": "flex flex-col gap-4" }, h("a", { href: "#", "data-class": "nv-button" }, "Default Link"), h("div", { "data-class": "flex flex-wrap gap-4 items-center" }, h("a", { href: "#", "data-class": "nv-button size-xs" }, "Link size-xs"), h("a", { href: "#", "data-class": "nv-button size-sm" }, "Link size-sm"), h("a", { href: "#", "data-class": "nv-button size-md" }, "Link size-md"), h("a", { href: "#", "data-class": "nv-button size-lg" }, "Link size-lg")), h("div", { "data-class": "flex flex-wrap gap-4" }, h("a", { href: "#", "data-class": "nv-button emphasis-high" }, "Emphasis High"), h("a", { href: "#", "data-class": "nv-button emphasis-medium" }, "Emphasis Medium"), h("a", { href: "#", "data-class": "nv-button emphasis-low" }, "Emphasis Low"), h("a", { href: "#", "data-class": "nv-button emphasis-lower" }, "Emphasis Lower")), h("div", { "data-class": "flex flex-wrap gap-4" }, h("a", { href: "#", "data-class": "nv-button danger" }, "Default Danger"), h("a", { href: "#", "data-class": "nv-button danger emphasis-high" }, "Danger Emphasis High"), h("a", { href: "#", "data-class": "nv-button danger emphasis-medium" }, "Danger Emphasis Medium"), h("a", { href: "#", "data-class": "nv-button danger emphasis-low" }, "Danger Emphasis Low"), h("a", { href: "#", "data-class": "nv-button danger emphasis-lower" }, "Danger Emphasis Lower")))),
47
+ },
43
48
  {
44
49
  name: 'DefaultSlot',
45
50
  description: 'Add content to the button via the default slot.',
@@ -1 +1 @@
1
- {"version":3,"file":"nv-button.docs.js","sourceRoot":"","sources":["../../../src/components/nv-button/nv-button.docs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h } from '@stencil/core';\nimport type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\nimport { nameof } from '../../utils/class.utils';\n\nconst NvButtonDocs: NovaDocs<Components.NvButton> = {\n component: 'nv-button',\n subcomponents: ['nv-icon'],\n stories: [\n {\n name: 'Default',\n template: <nv-button data-storybook-args>NV Button</nv-button>,\n },\n {\n name: nameof<Components.NvButton>(x => x.size),\n template: (\n <div data-class=\"flex gap-4 items-center\">\n <nv-button data-storybook-args size=\"xs\">\n size: xs\n </nv-button>\n <nv-button data-storybook-args size=\"sm\">\n size: sm\n </nv-button>\n <nv-button data-storybook-args size=\"md\">\n size: md\n </nv-button>\n <nv-button data-storybook-args size=\"lg\">\n size: lg\n </nv-button>\n </div>\n ),\n },\n {\n name: nameof<Components.NvButton>(x => x.emphasis),\n template: (\n <div data-class=\"flex gap-4\">\n <nv-button data-storybook-args emphasis=\"high\">\n emphasis: high\n </nv-button>\n <nv-button data-storybook-args emphasis=\"medium\">\n emphasis: medium\n </nv-button>\n <nv-button data-storybook-args emphasis=\"low\">\n emphasis: low\n </nv-button>\n <nv-button data-storybook-args emphasis=\"lower\">\n emphasis: lower\n </nv-button>\n </div>\n ),\n },\n {\n name: nameof<Components.NvButton>(x => x.danger),\n args: { size: 'md' },\n template: (\n <div data-class=\"flex gap-4\">\n <nv-button data-storybook-args emphasis=\"high\" danger>\n high danger\n </nv-button>\n <nv-button data-storybook-args emphasis=\"medium\" danger>\n medium danger\n </nv-button>\n <nv-button data-storybook-args emphasis=\"low\" danger>\n low danger\n </nv-button>\n <nv-button data-storybook-args emphasis=\"lower\" danger>\n lower danger\n </nv-button>\n </div>\n ),\n },\n {\n name: nameof<Components.NvButton>(x => x.loading),\n args: { loading: true },\n template: <nv-button data-storybook-args>loading</nv-button>,\n },\n {\n name: nameof<Components.NvButton>(x => x.disabled),\n args: { disabled: true },\n template: <nv-button data-storybook-args>disabled</nv-button>,\n },\n {\n name: nameof<Components.NvButton>(x => x.fluid),\n args: { fluid: true },\n template: <nv-button data-storybook-args>fluid</nv-button>,\n },\n {\n name: nameof<Components.NvButton>(x => x.type),\n template: (\n <div data-class=\"flex gap-4\">\n <nv-button data-storybook-args type=\"submit\">\n submit\n </nv-button>\n <nv-button data-storybook-args type=\"reset\">\n reset\n </nv-button>\n </div>\n ),\n },\n {\n name: 'DefaultSlot',\n description: 'Add content to the button via the default slot.',\n template: (\n <nv-button data-storybook-args>\n <nv-icon name=\"user\"></nv-icon>\n Default Slot\n </nv-button>\n ),\n },\n {\n name: 'IconSlots',\n description:\n 'Add icons to the button via the leading-icon or trailing-icon slots.',\n template: (\n <div data-class=\"flex gap-4\">\n <nv-button data-storybook-args>\n Leading Icon\n <nv-icon slot=\"leading-icon\" name=\"user\"></nv-icon>\n </nv-button>\n <nv-button data-storybook-args>\n Trailing Icon\n <nv-icon slot=\"trailing-icon\" name=\"user\"></nv-icon>\n </nv-button>\n <nv-button data-storybook-args>\n Both Sides\n <nv-icon slot=\"leading-icon\" name=\"user\"></nv-icon>\n <nv-icon slot=\"leading-icon\" name=\"bell\"></nv-icon>\n <nv-icon slot=\"trailing-icon\" name=\"filter\"></nv-icon>\n </nv-button>\n </div>\n ),\n },\n ],\n};\n\nexport default NvButtonDocs;\n"]}
1
+ {"version":3,"file":"nv-button.docs.js","sourceRoot":"","sources":["../../../src/components/nv-button/nv-button.docs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAGlC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,MAAM,YAAY,GAAkC;IAClD,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,CAAC,SAAS,CAAC;IAC1B,OAAO,EAAE;QACP;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,4DAAoD;SAC/D;QACD;YACE,IAAI,EAAE,MAAM,CAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9C,QAAQ,EAAE,CACR,yBAAgB,yBAAyB;gBACvC,8CAA+B,IAAI,EAAC,IAAI,eAE5B;gBACZ,8CAA+B,IAAI,EAAC,IAAI,eAE5B;gBACZ,8CAA+B,IAAI,EAAC,IAAI,eAE5B;gBACZ,8CAA+B,IAAI,EAAC,IAAI,eAE5B,CACR,CACP;SACF;QACD;YACE,IAAI,EAAE,MAAM,CAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;YAClD,QAAQ,EAAE,CACR,yBAAgB,YAAY;gBAC1B,8CAA+B,QAAQ,EAAC,MAAM,qBAElC;gBACZ,8CAA+B,QAAQ,EAAC,QAAQ,uBAEpC;gBACZ,8CAA+B,QAAQ,EAAC,KAAK,oBAEjC;gBACZ,8CAA+B,QAAQ,EAAC,OAAO,sBAEnC,CACR,CACP;SACF;QACD;YACE,IAAI,EAAE,MAAM,CAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YAChD,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;YACpB,QAAQ,EAAE,CACR,yBAAgB,YAAY;gBAC1B,8CAA+B,QAAQ,EAAC,MAAM,EAAC,MAAM,wBAEzC;gBACZ,8CAA+B,QAAQ,EAAC,QAAQ,EAAC,MAAM,0BAE3C;gBACZ,8CAA+B,QAAQ,EAAC,KAAK,EAAC,MAAM,uBAExC;gBACZ,8CAA+B,QAAQ,EAAC,OAAO,EAAC,MAAM,yBAE1C,CACR,CACP;SACF;QACD;YACE,IAAI,EAAE,MAAM,CAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACjD,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YACvB,QAAQ,EAAE,0DAAkD;SAC7D;QACD;YACE,IAAI,EAAE,MAAM,CAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;YAClD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YACxB,QAAQ,EAAE,2DAAmD;SAC9D;QACD;YACE,IAAI,EAAE,MAAM,CAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;YAC/C,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACrB,QAAQ,EAAE,wDAAgD;SAC3D;QACD;YACE,IAAI,EAAE,MAAM,CAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9C,QAAQ,EAAE,CACR,yBAAgB,YAAY;gBAC1B,8CAA+B,IAAI,EAAC,QAAQ,aAEhC;gBACZ,8CAA+B,IAAI,EAAC,OAAO,YAE/B,CACR,CACP;SACF;QACD;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EACT,6DAA6D;YAC/D,QAAQ,EAAE,CACR,yBAAgB,qBAAqB;gBACnC,SAAG,IAAI,EAAC,GAAG,gBAAY,WAAW,mBAE9B;gBAEJ,yBAAgB,mCAAmC;oBACjD,SAAG,IAAI,EAAC,GAAG,gBAAY,mBAAmB,mBAEtC;oBACJ,SAAG,IAAI,EAAC,GAAG,gBAAY,mBAAmB,mBAEtC;oBACJ,SAAG,IAAI,EAAC,GAAG,gBAAY,mBAAmB,mBAEtC;oBACJ,SAAG,IAAI,EAAC,GAAG,gBAAY,mBAAmB,mBAEtC,CACA;gBAEN,yBAAgB,sBAAsB;oBACpC,SAAG,IAAI,EAAC,GAAG,gBAAY,yBAAyB,oBAE5C;oBACJ,SAAG,IAAI,EAAC,GAAG,gBAAY,2BAA2B,sBAE9C;oBACJ,SAAG,IAAI,EAAC,GAAG,gBAAY,wBAAwB,mBAE3C;oBACJ,SAAG,IAAI,EAAC,GAAG,gBAAY,0BAA0B,qBAE7C,CACA;gBAEN,yBAAgB,sBAAsB;oBACpC,SAAG,IAAI,EAAC,GAAG,gBAAY,kBAAkB,qBAErC;oBAEJ,SAAG,IAAI,EAAC,GAAG,gBAAY,gCAAgC,2BAEnD;oBACJ,SAAG,IAAI,EAAC,GAAG,gBAAY,kCAAkC,6BAErD;oBACJ,SAAG,IAAI,EAAC,GAAG,gBAAY,+BAA+B,0BAElD;oBACJ,SAAG,IAAI,EAAC,GAAG,gBAAY,iCAAiC,4BAEpD,CACA,CACF,CACP;SACF;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,iDAAiD;YAC9D,QAAQ,EAAE,CACR;gBACE,eAAS,IAAI,EAAC,MAAM,GAAW;+BAErB,CACb;SACF;QACD;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EACT,sEAAsE;YACxE,QAAQ,EAAE,CACR,yBAAgB,YAAY;gBAC1B;;oBAEE,eAAS,IAAI,EAAC,cAAc,EAAC,IAAI,EAAC,MAAM,GAAW,CACzC;gBACZ;;oBAEE,eAAS,IAAI,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,GAAW,CAC1C;gBACZ;;oBAEE,eAAS,IAAI,EAAC,cAAc,EAAC,IAAI,EAAC,MAAM,GAAW;oBACnD,eAAS,IAAI,EAAC,cAAc,EAAC,IAAI,EAAC,MAAM,GAAW;oBACnD,eAAS,IAAI,EAAC,eAAe,EAAC,IAAI,EAAC,QAAQ,GAAW,CAC5C,CACR,CACP;SACF;KACF;CACF,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["import { h } from '@stencil/core';\nimport type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\nimport { nameof } from '../../utils/class.utils';\n\nconst NvButtonDocs: NovaDocs<Components.NvButton> = {\n component: 'nv-button',\n subcomponents: ['nv-icon'],\n stories: [\n {\n name: 'Default',\n template: <nv-button data-storybook-args>NV Button</nv-button>,\n },\n {\n name: nameof<Components.NvButton>(x => x.size),\n template: (\n <div data-class=\"flex gap-4 items-center\">\n <nv-button data-storybook-args size=\"xs\">\n size: xs\n </nv-button>\n <nv-button data-storybook-args size=\"sm\">\n size: sm\n </nv-button>\n <nv-button data-storybook-args size=\"md\">\n size: md\n </nv-button>\n <nv-button data-storybook-args size=\"lg\">\n size: lg\n </nv-button>\n </div>\n ),\n },\n {\n name: nameof<Components.NvButton>(x => x.emphasis),\n template: (\n <div data-class=\"flex gap-4\">\n <nv-button data-storybook-args emphasis=\"high\">\n emphasis: high\n </nv-button>\n <nv-button data-storybook-args emphasis=\"medium\">\n emphasis: medium\n </nv-button>\n <nv-button data-storybook-args emphasis=\"low\">\n emphasis: low\n </nv-button>\n <nv-button data-storybook-args emphasis=\"lower\">\n emphasis: lower\n </nv-button>\n </div>\n ),\n },\n {\n name: nameof<Components.NvButton>(x => x.danger),\n args: { size: 'md' },\n template: (\n <div data-class=\"flex gap-4\">\n <nv-button data-storybook-args emphasis=\"high\" danger>\n high danger\n </nv-button>\n <nv-button data-storybook-args emphasis=\"medium\" danger>\n medium danger\n </nv-button>\n <nv-button data-storybook-args emphasis=\"low\" danger>\n low danger\n </nv-button>\n <nv-button data-storybook-args emphasis=\"lower\" danger>\n lower danger\n </nv-button>\n </div>\n ),\n },\n {\n name: nameof<Components.NvButton>(x => x.loading),\n args: { loading: true },\n template: <nv-button data-storybook-args>loading</nv-button>,\n },\n {\n name: nameof<Components.NvButton>(x => x.disabled),\n args: { disabled: true },\n template: <nv-button data-storybook-args>disabled</nv-button>,\n },\n {\n name: nameof<Components.NvButton>(x => x.fluid),\n args: { fluid: true },\n template: <nv-button data-storybook-args>fluid</nv-button>,\n },\n {\n name: nameof<Components.NvButton>(x => x.type),\n template: (\n <div data-class=\"flex gap-4\">\n <nv-button data-storybook-args type=\"submit\">\n submit\n </nv-button>\n <nv-button data-storybook-args type=\"reset\">\n reset\n </nv-button>\n </div>\n ),\n },\n {\n name: 'LinkAsButton',\n description:\n 'You can use our button classes if you need to use link tags',\n template: (\n <div data-class=\"flex flex-col gap-4\">\n <a href=\"#\" data-class=\"nv-button\">\n Default Link\n </a>\n\n <div data-class=\"flex flex-wrap gap-4 items-center\">\n <a href=\"#\" data-class=\"nv-button size-xs\">\n Link size-xs\n </a>\n <a href=\"#\" data-class=\"nv-button size-sm\">\n Link size-sm\n </a>\n <a href=\"#\" data-class=\"nv-button size-md\">\n Link size-md\n </a>\n <a href=\"#\" data-class=\"nv-button size-lg\">\n Link size-lg\n </a>\n </div>\n\n <div data-class=\"flex flex-wrap gap-4\">\n <a href=\"#\" data-class=\"nv-button emphasis-high\">\n Emphasis High\n </a>\n <a href=\"#\" data-class=\"nv-button emphasis-medium\">\n Emphasis Medium\n </a>\n <a href=\"#\" data-class=\"nv-button emphasis-low\">\n Emphasis Low\n </a>\n <a href=\"#\" data-class=\"nv-button emphasis-lower\">\n Emphasis Lower\n </a>\n </div>\n\n <div data-class=\"flex flex-wrap gap-4\">\n <a href=\"#\" data-class=\"nv-button danger\">\n Default Danger\n </a>\n\n <a href=\"#\" data-class=\"nv-button danger emphasis-high\">\n Danger Emphasis High\n </a>\n <a href=\"#\" data-class=\"nv-button danger emphasis-medium\">\n Danger Emphasis Medium\n </a>\n <a href=\"#\" data-class=\"nv-button danger emphasis-low\">\n Danger Emphasis Low\n </a>\n <a href=\"#\" data-class=\"nv-button danger emphasis-lower\">\n Danger Emphasis Lower\n </a>\n </div>\n </div>\n ),\n },\n {\n name: 'DefaultSlot',\n description: 'Add content to the button via the default slot.',\n template: (\n <nv-button data-storybook-args>\n <nv-icon name=\"user\"></nv-icon>\n Default Slot\n </nv-button>\n ),\n },\n {\n name: 'IconSlots',\n description:\n 'Add icons to the button via the leading-icon or trailing-icon slots.',\n template: (\n <div data-class=\"flex gap-4\">\n <nv-button data-storybook-args>\n Leading Icon\n <nv-icon slot=\"leading-icon\" name=\"user\"></nv-icon>\n </nv-button>\n <nv-button data-storybook-args>\n Trailing Icon\n <nv-icon slot=\"trailing-icon\" name=\"user\"></nv-icon>\n </nv-button>\n <nv-button data-storybook-args>\n Both Sides\n <nv-icon slot=\"leading-icon\" name=\"user\"></nv-icon>\n <nv-icon slot=\"leading-icon\" name=\"bell\"></nv-icon>\n <nv-icon slot=\"trailing-icon\" name=\"filter\"></nv-icon>\n </nv-button>\n </div>\n ),\n },\n ],\n};\n\nexport default NvButtonDocs;\n"]}
@@ -96,18 +96,18 @@ export class NvButton {
96
96
  /****************************************************************************/
97
97
  //#region RENDER
98
98
  render() {
99
- return (h(Host, { key: 'f3349cdf1da05ae9a11a1b213db9f4cf062f6d9d', role: "button", tabindex: "0", onClick: this.handleClick }, this.loading && (h("nv-loader", { key: 'e776853069e4a34e72a1f07065cb969a08998f19', size: this.size === ButtonSize.Large ? 'sm' : 'xs' })), h("slot", { key: '4533e74ed576e23a75ca68a58711013c4c3482cd', name: "leading-icon" }), h("slot", { key: 'ecd5b1c5e970e47144ee522d17891af2a9c8eef7' }), h("slot", { key: '275517fb22c5cbfda415d0c5b5e45f44e1d99b21', name: "trailing-icon" })));
99
+ return (h(Host, { key: '09d1a764e1dd0a8175e5b1ec0e5fececac19ad31', role: "button", tabindex: "0", onClick: this.handleClick }, this.loading && (h("nv-loader", { key: '796432d620655f263be114909f9777b2d408a75c', size: this.size === ButtonSize.Large ? 'sm' : 'xs' })), h("slot", { key: '4309b3ec76fd089bb57af356c08212498ada787b', name: "leading-icon" }), h("slot", { key: '2531e9e7c50cf549eea56595c16bbcf0431d346e' }), h("slot", { key: 'b1884a687df70ead0e5ff5ab905eb6a3265d7f59', name: "trailing-icon" })));
100
100
  }
101
101
  static get is() { return "nv-button"; }
102
102
  static get formAssociated() { return true; }
103
103
  static get originalStyleUrls() {
104
104
  return {
105
- "$": ["nv-button.scss"]
105
+ "$": ["styles/nv-button.scss"]
106
106
  };
107
107
  }
108
108
  static get styleUrls() {
109
109
  return {
110
- "$": ["nv-button.css"]
110
+ "$": ["styles/nv-button.css"]
111
111
  };
112
112
  }
113
113
  static get properties() {
@@ -1 +1 @@
1
- {"version":3,"file":"nv-button.js","sourceRoot":"","sources":["../../../src/components/nv-button/nv-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,CAAC,EACD,IAAI,EACJ,eAAe,EACf,OAAO,EACP,KAAK,GACN,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,UAAU,EAA8B,MAAM,uBAAuB,CAAC;AAE/E;;;;GAIG;AAOH,MAAM,OAAO,QAAQ;IANrB;QAUE,8EAA8E;QAC9E,oBAAoB;QAEpB;;;;WAIG;QAEM,SAAI,GAAoB,IAAI,CAAC;QAEtC;;;;WAIG;QAEM,aAAQ,GAAwB,MAAM,CAAC;QAEhD;;;WAGG;QAEM,WAAM,GAAY,KAAK,CAAC;QAEjC;;;;WAIG;QAEH,YAAO,GAAY,KAAK,CAAC;QAEzB;;WAEG;QAEH,aAAQ,GAAY,KAAK,CAAC;QAE1B;;WAEG;QAEM,UAAK,GAAY,KAAK,CAAC;QAEhC;;;;WAIG;QAEM,SAAI,GAAoB,QAAQ,CAAC;QAE1C,uBAAuB;QACvB,8EAA8E;QAC9E,iBAAiB;QAEjB;;;;;WAKG;QACK,gBAAW,GAAG,CAAC,KAAY,EAAE,EAAE;;YACrC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,IAAI,0CAAE,aAAa,EAAE,CAAC;YACxC,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1B,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,IAAI,0CAAE,KAAK,EAAE,CAAC;YAChC,CAAC;QACH,CAAC,CAAC;KAoDH;IAlDC,oBAAoB;IACpB,8EAA8E;IAC9E,kBAAkB;IAGlB,mBAAmB,CAAC,OAAgB;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAGD,oBAAoB,CAAC,QAAiB;QACpC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,8EAA8E;IAC9E,mBAAmB;IAEnB,iBAAiB;QACf,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,8EAA8E;IAC9E,gBAAgB;IAEhB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAC,GAAG,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW;YACvD,IAAI,CAAC,OAAO,IAAI,CACf,kEACE,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GACvC,CACd;YAED,6DAAM,IAAI,EAAC,cAAc,GAAQ;YACjC,8DAAa;YACb,6DAAM,IAAI,EAAC,eAAe,GAAQ,CAC7B,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGF","sourcesContent":["import {\n Component,\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: '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 * 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 //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles form-related actions when the button is clicked.\n * - Submits the form if the button type is 'submit'.\n * - Resets the form if the button type is 'reset'.\n * @param {Event} event - The click event.\n */\n private handleClick = (event: Event) => {\n if (this.loading || this.disabled) {\n event.preventDefault();\n return;\n }\n\n if (this.type === 'submit') {\n this.internals?.form?.requestSubmit();\n }\n if (this.type === 'reset') {\n this.internals?.form?.reset();\n }\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('loading')\n handleLoadingChange(loading: boolean) {\n this.loading = loading;\n this.disabled = loading;\n }\n\n @Watch('disabled')\n handleDisabledChange(disabled: boolean) {\n if (this.loading) {\n this.disabled = this.loading;\n } else {\n this.disabled = disabled;\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n if (this.loading) {\n this.disabled = this.loading;\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host role=\"button\" tabindex=\"0\" onClick={this.handleClick}>\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":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,CAAC,EACD,IAAI,EACJ,eAAe,EACf,OAAO,EACP,KAAK,GACN,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,UAAU,EAA8B,MAAM,uBAAuB,CAAC;AAE/E;;;;GAIG;AAOH,MAAM,OAAO,QAAQ;IANrB;QAUE,8EAA8E;QAC9E,oBAAoB;QAEpB;;;;WAIG;QAEM,SAAI,GAAoB,IAAI,CAAC;QAEtC;;;;WAIG;QAEM,aAAQ,GAAwB,MAAM,CAAC;QAEhD;;;WAGG;QAEM,WAAM,GAAY,KAAK,CAAC;QAEjC;;;;WAIG;QAEH,YAAO,GAAY,KAAK,CAAC;QAEzB;;WAEG;QAEH,aAAQ,GAAY,KAAK,CAAC;QAE1B;;WAEG;QAEM,UAAK,GAAY,KAAK,CAAC;QAEhC;;;;WAIG;QAEM,SAAI,GAAoB,QAAQ,CAAC;QAE1C,uBAAuB;QACvB,8EAA8E;QAC9E,iBAAiB;QAEjB;;;;;WAKG;QACK,gBAAW,GAAG,CAAC,KAAY,EAAE,EAAE;;YACrC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,IAAI,0CAAE,aAAa,EAAE,CAAC;YACxC,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1B,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,IAAI,0CAAE,KAAK,EAAE,CAAC;YAChC,CAAC;QACH,CAAC,CAAC;KAoDH;IAlDC,oBAAoB;IACpB,8EAA8E;IAC9E,kBAAkB;IAGlB,mBAAmB,CAAC,OAAgB;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAGD,oBAAoB,CAAC,QAAiB;QACpC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,8EAA8E;IAC9E,mBAAmB;IAEnB,iBAAiB;QACf,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,8EAA8E;IAC9E,gBAAgB;IAEhB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAC,GAAG,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW;YACvD,IAAI,CAAC,OAAO,IAAI,CACf,kEACE,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GACvC,CACd;YAED,6DAAM,IAAI,EAAC,cAAc,GAAQ;YACjC,8DAAa;YACb,6DAAM,IAAI,EAAC,eAAe,GAAQ,CAC7B,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGF","sourcesContent":["import {\n Component,\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 * 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 //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles form-related actions when the button is clicked.\n * - Submits the form if the button type is 'submit'.\n * - Resets the form if the button type is 'reset'.\n * @param {Event} event - The click event.\n */\n private handleClick = (event: Event) => {\n if (this.loading || this.disabled) {\n event.preventDefault();\n return;\n }\n\n if (this.type === 'submit') {\n this.internals?.form?.requestSubmit();\n }\n if (this.type === 'reset') {\n this.internals?.form?.reset();\n }\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('loading')\n handleLoadingChange(loading: boolean) {\n this.loading = loading;\n this.disabled = loading;\n }\n\n @Watch('disabled')\n handleDisabledChange(disabled: boolean) {\n if (this.loading) {\n this.disabled = this.loading;\n } else {\n this.disabled = disabled;\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n if (this.loading) {\n this.disabled = this.loading;\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host role=\"button\" tabindex=\"0\" onClick={this.handleClick}>\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,40 +1,5 @@
1
- /* Variants */
2
- nv-icon {
3
- display: inline-block;
4
- width: fit-content;
5
- height: fit-content;
6
- color: inherit;
7
- }
8
- nv-icon > .nv-icon-xs {
9
- width: var(--spacing-3);
10
- height: var(--spacing-3);
11
- stroke-width: 1.2px;
12
- }
13
- nv-icon > .nv-icon-sm {
14
- width: var(--spacing-4);
15
- height: var(--spacing-4);
16
- stroke-width: 1.5px;
17
- }
18
- nv-icon > .nv-icon-md {
19
- width: var(--spacing-5);
20
- height: var(--spacing-5);
21
- stroke-width: 1.6px;
22
- }
23
- nv-icon > .nv-icon-lg {
24
- width: var(--spacing-6);
25
- height: var(--spacing-6);
26
- stroke-width: 1.8px;
27
- }
28
- nv-icon > .nv-icon-xl {
29
- width: var(--spacing-7);
30
- height: var(--spacing-7);
31
- stroke-width: 1.9px;
32
- }
33
-
34
- /* Variants */
35
- /* Define maps for size-related variables */
36
- /* Define maps for emphasis-related variables */
37
1
  nv-button {
2
+ text-decoration: none;
38
3
  display: inline-flex;
39
4
  justify-content: center;
40
5
  align-items: center;
@@ -118,14 +83,14 @@ nv-button[emphasis=high]:disabled:not([disabled=false]) {
118
83
  box-shadow: none;
119
84
  }
120
85
  nv-button[emphasis=high][danger]:not([danger=false]) {
121
- background: var(--components-button-high-background);
122
- border: 1px solid var(--components-button-high-border);
123
- color: var(--components-button-high-text);
86
+ background: var(--components-button-destructive-high-background);
87
+ border: 1px solid unset;
88
+ color: var(--components-button-destructive-high-text);
124
89
  }
125
90
  nv-button[emphasis=high][danger]:not([danger=false]):hover {
126
- background: var(--components-button-high-background-hover);
127
- border: 1px solid var(--components-button-high-border);
128
- color: var(--components-button-high-text-hover);
91
+ background: var(--components-button-destructive-high-background-hover);
92
+ border: 1px solid unset;
93
+ color: var(--components-button-destructive-high-text-hover);
129
94
  }
130
95
  nv-button[emphasis=high][danger]:not([danger=false]):focus, nv-button[emphasis=high][danger]:not([danger=false]):focus-within {
131
96
  outline: none;
@@ -157,14 +122,14 @@ nv-button[emphasis=medium]:disabled:not([disabled=false]) {
157
122
  box-shadow: none;
158
123
  }
159
124
  nv-button[emphasis=medium][danger]:not([danger=false]) {
160
- background: var(--components-button-medium-background);
161
- border: 1px solid var(--components-button-medium-border);
162
- color: var(--components-button-medium-text);
125
+ background: var(--components-button-destructive-medium-background);
126
+ border: 1px solid var(--components-button-destructive-medium-border);
127
+ color: var(--components-button-destructive-medium-text);
163
128
  }
164
129
  nv-button[emphasis=medium][danger]:not([danger=false]):hover {
165
- background: var(--components-button-medium-background-hover);
166
- border: 1px solid var(--components-button-medium-border);
167
- color: var(--components-button-medium-text-hover);
130
+ background: var(--components-button-destructive-medium-background-hover);
131
+ border: 1px solid var(--components-button-destructive-medium-border);
132
+ color: var(--components-button-destructive-medium-text-hover);
168
133
  }
169
134
  nv-button[emphasis=medium][danger]:not([danger=false]):focus, nv-button[emphasis=medium][danger]:not([danger=false]):focus-within {
170
135
  outline: none;
@@ -196,14 +161,14 @@ nv-button[emphasis=low]:disabled:not([disabled=false]) {
196
161
  box-shadow: none;
197
162
  }
198
163
  nv-button[emphasis=low][danger]:not([danger=false]) {
199
- background: var(--components-button-low-background);
200
- border: 1px solid var(--components-button-low-border);
201
- color: var(--components-button-low-text);
164
+ background: var(--components-button-destructive-low-background);
165
+ border: 1px solid var(--components-button-destructive-low-border);
166
+ color: var(--components-button-destructive-low-text);
202
167
  }
203
168
  nv-button[emphasis=low][danger]:not([danger=false]):hover {
204
- background: var(--components-button-low-background-hover);
205
- border: 1px solid var(--components-button-low-border);
206
- color: var(--components-button-low-text-hover);
169
+ background: var(--components-button-destructive-low-background-hover);
170
+ border: 1px solid var(--components-button-destructive-low-border);
171
+ color: var(--components-button-destructive-low-text-hover);
207
172
  }
208
173
  nv-button[emphasis=low][danger]:not([danger=false]):focus, nv-button[emphasis=low][danger]:not([danger=false]):focus-within {
209
174
  outline: none;
@@ -235,14 +200,14 @@ nv-button[emphasis=lower]:disabled:not([disabled=false]) {
235
200
  box-shadow: none;
236
201
  }
237
202
  nv-button[emphasis=lower][danger]:not([danger=false]) {
238
- background: var(--components-button-lower-background);
239
- border: 1px solid var(--components-button-lower-border);
240
- color: var(--components-button-lower-text);
203
+ background: var(--components-button-destructive-lower-background);
204
+ border: 1px solid var(--components-button-destructive-lower-border);
205
+ color: var(--components-button-destructive-lower-text);
241
206
  }
242
207
  nv-button[emphasis=lower][danger]:not([danger=false]):hover {
243
- background: var(--components-button-lower-background-hover);
244
- border: 1px solid var(--components-button-lower-border);
245
- color: var(--components-button-lower-text-hover);
208
+ background: var(--components-button-destructive-lower-background-hover);
209
+ border: 1px solid var(--components-button-destructive-lower-border);
210
+ color: var(--components-button-destructive-lower-text-hover);
246
211
  }
247
212
  nv-button[emphasis=lower][danger]:not([danger=false]):focus, nv-button[emphasis=lower][danger]:not([danger=false]):focus-within {
248
213
  outline: none;
@@ -22,7 +22,7 @@ export class NvCol {
22
22
  /****************************************************************************/
23
23
  //#region RENDER
24
24
  render() {
25
- return (h(Host, { key: 'e0caccedd19c02c1854eb48f89302405e2cb0f46', class: clsx(this.getColSize()) }, h("slot", { key: 'a8d672a55a70d6ee551e9ac9e7366455f76aa1e5' })));
25
+ return (h(Host, { key: 'b3ef4b6e10022cdb97e2ea6238ba99b5a84c5c82', class: clsx(this.getColSize()) }, h("slot", { key: 'a77821b6384d2abc78233bfa966795b99db785ff' })));
26
26
  }
27
27
  static get is() { return "nv-col"; }
28
28
  static get originalStyleUrls() {
@@ -93,7 +93,7 @@ export class NvDatagrid {
93
93
  data: [],
94
94
  getCoreRowModel: getCoreRowModel(),
95
95
  debugAll: true,
96
- onStateChange: state => console.log('Table state changed:', state),
96
+ onStateChange: state => console.log('Table state changed:', state), // eslint-disable-line nova/no-console
97
97
  renderFallbackValue: 'No rows to display',
98
98
  state: {
99
99
  sorting: [], // Default: no active sorting
@@ -268,7 +268,7 @@ export class NvDatagrid {
268
268
  (this.parsedData.length === 0 && !this.hasSlotBody)
269
269
  ? []
270
270
  : (_c = (_b = this.table) === null || _b === void 0 ? void 0 : _b.getRowModel()) === null || _c === void 0 ? void 0 : _c.rows;
271
- return (h(Host, { key: '7f3244baba5487f57ba32b6f5e68cbb5794efce9' }, h("div", { key: '35cbeed33a37393ee16dbd06a43fd75e8affb0d6', class: "hidden" }, h("slot", { key: '03458f585639fb906e74c3124f74c38fb2d9d96f' }), h("slot", { key: 'e4862ff4ba814bd34c1d39081be83d11e3884b4a', name: "head" }), h("slot", { key: 'd0d77e8d159590531760052d842b4e461c6e0652', name: "body" })), h("slot", { key: '57150feaf6ac865d838e31edeae0af6d92a9dedb', name: "before" }), this.parsedColumns.length === 0 &&
271
+ return (h(Host, { key: '4ac86760843a2877a240757998a368867ece89da' }, h("div", { key: '608eab614751fd7d889859f4b4ba7a602c31e464', class: "hidden" }, h("slot", { key: 'e97d3a0b6ad7a338eda2e03e1f9ab43825bd3e73' }), h("slot", { key: 'f277710a088202b4afdfcaeda0b42c1632e6cc3d', name: "head" }), h("slot", { key: 'c2bf75d94b72a343995e777c62fe150aa330c586', name: "body" })), h("slot", { key: '0bdf3ae59fb4674d30ff8c36efa150c226f59149', name: "before" }), this.parsedColumns.length === 0 &&
272
272
  this.parsedData.length === 0 &&
273
273
  !this.hasSlotHead &&
274
274
  !this.hasSlotBody ? (h("p", null, this.noColumnsNoDataMessage)) : (h("table", null, this.parsedColumns.length > 0 && headerGroups.length > 0 && (h("thead", null, this.parsedColumns.length > 0 && headerGroups
@@ -283,7 +283,7 @@ export class NvDatagrid {
283
283
  return `<td key="${cell.id}" data-row-id="${rowId}">${cellValue}</td>`;
284
284
  }).join('');
285
285
  return h("tr", { key: rowId, innerHTML: cells });
286
- }))))), h("slot", { key: '35b4438cfaa83c045d49da21aeb4dc13356242ad', name: "after" })));
286
+ }))))), h("slot", { key: '0511cd2b445c149093b09a3583ca33cfc22650f2', name: "after" })));
287
287
  }
288
288
  static get is() { return "nv-datagrid"; }
289
289
  static get originalStyleUrls() {
@@ -1 +1 @@
1
- {"version":3,"file":"nv-datagrid.js","sourceRoot":"","sources":["../../../src/components/nv-datagrid/nv-datagrid.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Component, Prop, h, State, Host, Watch, Element } from '@stencil/core';\nimport {\n createTable,\n Table,\n TableOptionsResolved,\n getCoreRowModel,\n createColumnHelper,\n} from '@tanstack/table-core';\nimport { Column } from '../../interfaces/Column';\n\n/**\n * A flexible data grid component powered by `@tanstack/table-core`.\n * @slot default - Use this slot to insert HTML into the data grid content.\n * @slot head - Use this slot to insert HTML into the data grid header.\n * @slot before - Use this slot to insert HTML before the data grid.\n * @slot after - Use this slot to insert HTML after the data grid.\n * @slot body - Use this slot to insert HTML into the data grid body.\n */\n@Component({\n tag: 'nv-datagrid',\n styleUrl: './nv-datagrid.scss',\n shadow: false,\n})\nexport class NvDatagrid {\n @Element() el: HTMLNvDatagridElement;\n\n /****************************************************************************/\n //#region STATES\n\n @State()\n private table: Table<any> | null = null;\n\n @State()\n parsedColumns: Column[] = []; // Parsed array\n\n @State()\n parsedData: any[] = []; // Parsed array\n\n @State()\n hasSlotHead: boolean = false;\n\n @State()\n hasSlotBody: boolean = false;\n\n //#endregion STATES\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * The columns to display in the data grid.\n * @example\n * [\n * {\"header\":\"Name\",\"accessor\":\"name\"},\n * {\"header\":\"Age\",\"accessor\":\"age\"},\n * {\"header\":\"Email\",\"accessor\":\"email\"}\n * ]\n * @default []\n */\n @Prop()\n readonly columns: Column[] = [];\n\n /**\n * The columns to display in the data grid.\n * It can be passed directly as an array of objects or as a JSON string\n * (e.g., `[{\"header\":\"Name\",\"accessor\":\"name\"},{\"header\":\"Age\",\"accessor\":\"age\"},{\"header\":\"Email\",\"accessor\":\"email\"}]`).\n * If both `columns` and `columnsJson` are provided, `columns` takes precedence.\n * @example `[{\"header\":\"Name\",\"accessor\":\"name\"},{\"header\":\"Age\",\"accessor\":\"age\"},{\"header\":\"Email\",\"accessor\":\"email\"}]`\n */\n @Prop({ reflect: true })\n readonly columnsJson?: string;\n\n /**\n * The data to display in the data grid.\n * @example [{ \"name\": \"Alice\", \"age\": 25 }, { \"name\": \"Bob\", \"age\": 30 }]\n * @default []\n */\n @Prop()\n readonly data: any[] = [];\n\n /**\n * The data to display in the data grid.\n * It can be passed directly as an array of objects or as a JSON string\n * (e.g., `[{ \"name\": \"Alice\", \"age\": 25 }, { \"name\": \"Bob\", \"age\": 30 }]`).\n * If both `data` and `dataJson` are provided, `data` takes precedence.\n * @example `[{ \"name\": \"Alice\", \"age\": 25 }, { \"name\": \"Bob\", \"age\": 30 }]`\n */\n @Prop({ reflect: true })\n readonly dataJson?: string;\n\n /**\n * The message to display when there is no data available.\n * @default 'No data available'\n */\n @Prop()\n readonly noDataMessage: string = 'No data available';\n\n /**\n * The message to display when there are no columns or data available.\n * @default 'No data or columns available to display.'\n */\n @Prop()\n readonly noColumnsNoDataMessage: string =\n 'No data or columns available to display.';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('columns')\n parseColumns(newValue: Column[], oldValue: Column[]) {\n this.parseColumnsArray(newValue, oldValue);\n }\n\n @Watch('columnsJson')\n parseJsonColumns(newValue: string | undefined) {\n try {\n const newItems = newValue ? JSON.parse(newValue) : [];\n\n this.parseColumnsArray(newItems, this.parsedColumns);\n } catch (e) {\n console.error('Invalid JSON format for columnsJson:', e.message);\n this.parsedColumns = [];\n }\n }\n\n @Watch('data')\n parseData(newValue: any[], oldValue: any[]) {\n this.parseDataArray(newValue, oldValue);\n }\n\n @Watch('dataJson')\n parseJsonData(newValue: string | undefined) {\n try {\n const newItems = newValue ? JSON.parse(newValue) : [];\n\n this.parseDataArray(newItems, this.parsedData);\n } catch (e) {\n console.error('Invalid JSON format for dataJson:', e.message);\n this.parsedData = [];\n }\n }\n\n @Watch('parsedColumns')\n @Watch('parsedData')\n handleParsedChange() {\n this.initializeTable();\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region METHODS\n\n private initializeTable(): void {\n // Clear the previous table instance (if any)\n this.table = null;\n\n // Set default options for the table\n const tableOptions: TableOptionsResolved<any> = {\n columns: [],\n data: [],\n getCoreRowModel: getCoreRowModel(),\n debugAll: true,\n onStateChange: state => console.log('Table state changed:', state),\n renderFallbackValue: 'No rows to display',\n state: {\n sorting: [], // Default: no active sorting\n columnVisibility: {}, // Default: all columns visible\n columnFilters: [], // Default: no column filters\n columnPinning: {}, // Default: no column pinning\n columnSizing: {}, // Default: no column sizing\n columnOrder: [], // Default: as defined in the `columns`\n pagination: null, // Default: no pagination\n grouping: [], // Default: no active grouping\n expanded: {}, // Default: no expanded rows\n rowPinning: {}, // Default: no row pinning\n rowSelection: {}, // Default: no row selection\n globalFilter: null, // Default: no global filter\n columnSizingInfo: {\n columnSizingStart: null,\n deltaOffset: null,\n deltaPercentage: null,\n isResizingColumn: false,\n startOffset: null,\n startSize: null,\n }, // Default: no column sizing info\n },\n };\n\n // Validate and generate column definitions\n const validColumns = this.parsedColumns.filter(\n column => column?.accessor && column?.header,\n );\n\n // Helper function to generate column definitions\n const generateColumns = (): any[] => {\n const columnHelper = createColumnHelper<any>();\n\n if (validColumns.length > 0) {\n // Use defined columns\n return validColumns.map(column =>\n columnHelper.accessor(column.accessor, {\n header: column.header,\n cell: info => info.getValue(),\n }),\n );\n } else if (tableOptions.data && tableOptions.data.length > 0) {\n // Generate columns from data keys\n const sampleRow = tableOptions.data[0];\n return Object.keys(sampleRow).map(key =>\n columnHelper.accessor(key, {\n header: key.charAt(0).toUpperCase() + key.slice(1), // Capitalize key for header\n cell: info => info.getValue(),\n }),\n );\n } else {\n // No columns and no data\n return [];\n }\n };\n\n const setTableData = (): any[] => {\n if (\n this.parsedData &&\n Array.isArray(this.parsedData) &&\n this.parsedData.length > 0\n ) {\n return [...this.parsedData];\n } else {\n return [];\n }\n };\n\n // Update tableOptions based on parsed data and columns\n const hasColumns =\n validColumns && Array.isArray(validColumns) && validColumns.length > 0;\n const hasData =\n (this.parsedData &&\n Array.isArray(this.parsedData) &&\n this.parsedData.length > 0) ||\n this.hasSlotBody;\n\n if (!hasColumns && !hasData) {\n // No columns and no data\n } else if (hasColumns && !hasData) {\n tableOptions.columns = generateColumns();\n } else {\n // Both columns and data are available\n // No columns and data is available\n tableOptions.data = setTableData();\n tableOptions.columns = generateColumns();\n }\n\n // Initialize the table\n this.table = createTable(tableOptions);\n }\n\n /**\n * Parses the columns array.\n * @param {Column[]} newValue - The new value of the columns array.\n * @param {Column[]} oldValue - The old value of the columns array.\n */\n private parseColumnsArray(newValue: Column[], oldValue: Column[]) {\n if (JSON.stringify(newValue) === JSON.stringify(oldValue)) return; // Deep comparison\n this.parsedColumns = Array.isArray(newValue) ? newValue : [];\n }\n\n /**\n * Parses the data array.\n * @param {any[]} newValue - The new value of the data array.\n * @param {any[]} oldValue - The old value of the data array.\n */\n private parseDataArray(newValue: any[], oldValue: any[]) {\n if (JSON.stringify(newValue) === JSON.stringify(oldValue)) return; // Deep comparison\n this.parsedData = Array.isArray(newValue) ? newValue : [];\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.hasSlotHead = !!this.el.querySelector('[slot=\"head\"]');\n\n if (this.hasSlotHead) {\n const headSlot = this.el.querySelector('[slot=\"head\"]');\n const headSlotRows = this.hasSlotHead\n ? Array.from(headSlot.querySelectorAll('nv-datagridrow'))\n : [];\n\n const mappedRows = headSlotRows.map(row => {\n const cells = Array.from(row.querySelectorAll('nv-datagridcolumn'));\n\n return cells.map(cell => ({\n header: cell.getAttribute('header') || '',\n accessor: cell.getAttribute('accessor') || '',\n }));\n });\n\n // Flatten the nested arrays into a single array of columns\n const flatMappedColumns = mappedRows.flat();\n\n this.parsedColumns = flatMappedColumns;\n }\n\n this.hasSlotBody = !!this.el.querySelector('[slot=\"body\"]');\n\n if (this.hasSlotBody) {\n const bodySlot = this.el.querySelector('[slot=\"body\"]');\n const bodySlotRows = this.hasSlotBody\n ? Array.from(bodySlot.querySelectorAll('nv-datagridrow'))\n : [];\n\n const mappedRows = bodySlotRows.map(row => {\n const cells = Array.from(row.querySelectorAll('nv-datagriddatacell'));\n\n return cells.map(cell => {\n return {\n accessor: cell.accessor,\n value: cell.innerHTML,\n };\n });\n });\n\n // Flatten the nested arrays into a single array of data\n const flatMappedData = mappedRows.map(row =>\n row.reduce((acc, cell) => {\n acc[cell.accessor] = cell.value;\n return acc;\n }, {}),\n );\n\n this.parsedData = flatMappedData;\n }\n\n if (this.columnsJson) {\n this.parseJsonColumns(this.columnsJson);\n } else if (this.columns && this.columns.length > 0) {\n this.parseColumns(this.columns, this.parsedColumns);\n }\n\n if (this.dataJson) {\n this.parseJsonData(this.dataJson);\n } else if (this.data && this.data.length > 0) {\n this.parseData(this.data, this.parsedData);\n }\n }\n\n componentDidLoad() {\n this.initializeTable();\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n const headerGroups =\n !this.table ||\n this.table === undefined ||\n (this.parsedColumns.length === 0 && !this.hasSlotHead)\n ? []\n : this.table?.getHeaderGroups();\n\n const rows =\n !this.table ||\n this.table === undefined ||\n (this.parsedData.length === 0 && !this.hasSlotBody)\n ? []\n : this.table?.getRowModel()?.rows;\n\n return (\n <Host>\n <div class=\"hidden\">\n <slot></slot>\n <slot name=\"head\"></slot>\n <slot name=\"body\"></slot>\n </div>\n\n <slot name=\"before\"></slot>\n\n {this.parsedColumns.length === 0 &&\n this.parsedData.length === 0 &&\n !this.hasSlotHead &&\n !this.hasSlotBody ? (\n <p>{this.noColumnsNoDataMessage}</p>\n ) : (\n <table>\n {this.parsedColumns.length > 0 && headerGroups.length > 0 && (\n <thead>\n {this.parsedColumns.length > 0 && headerGroups\n ? headerGroups?.map(headerGroup => (\n <tr key={headerGroup.id}>\n {headerGroup.headers.map(header => (\n <th key={header.id}>\n {header.isPlaceholder\n ? null\n : header.column.columnDef.header}\n </th>\n ))}\n </tr>\n ))\n : null}\n </thead>\n )}\n <tbody>\n {!rows || rows.length === 0 ? (\n <tr>\n <td colSpan={this.parsedColumns.length || 12}>\n {this.noDataMessage}\n </td>\n </tr>\n ) : (\n rows.map(row => {\n const rowId = row.id;\n const visibleCells = row?.getVisibleCells();\n\n const cells = visibleCells\n ?.map(cell => {\n const cellValue = cell.getValue();\n return `<td key=\"${cell.id}\" data-row-id=\"${rowId}\">${cellValue}</td>`;\n })\n .join('');\n\n return <tr key={rowId} innerHTML={cells}></tr>;\n })\n )}\n </tbody>\n </table>\n )}\n\n <slot name=\"after\"></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n /****************************************************************************/\n}\n"]}
1
+ {"version":3,"file":"nv-datagrid.js","sourceRoot":"","sources":["../../../src/components/nv-datagrid/nv-datagrid.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Component, Prop, h, State, Host, Watch, Element } from '@stencil/core';\nimport {\n createTable,\n Table,\n TableOptionsResolved,\n getCoreRowModel,\n createColumnHelper,\n} from '@tanstack/table-core';\nimport { Column } from '../../interfaces/Column';\n\n/**\n * A flexible data grid component powered by `@tanstack/table-core`.\n * @slot default - Use this slot to insert HTML into the data grid content.\n * @slot head - Use this slot to insert HTML into the data grid header.\n * @slot before - Use this slot to insert HTML before the data grid.\n * @slot after - Use this slot to insert HTML after the data grid.\n * @slot body - Use this slot to insert HTML into the data grid body.\n */\n@Component({\n tag: 'nv-datagrid',\n styleUrl: './nv-datagrid.scss',\n shadow: false,\n})\nexport class NvDatagrid {\n @Element() el: HTMLNvDatagridElement;\n\n /****************************************************************************/\n //#region STATES\n\n @State()\n private table: Table<any> | null = null;\n\n @State()\n parsedColumns: Column[] = []; // Parsed array\n\n @State()\n parsedData: any[] = []; // Parsed array\n\n @State()\n hasSlotHead: boolean = false;\n\n @State()\n hasSlotBody: boolean = false;\n\n //#endregion STATES\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * The columns to display in the data grid.\n * @example\n * [\n * {\"header\":\"Name\",\"accessor\":\"name\"},\n * {\"header\":\"Age\",\"accessor\":\"age\"},\n * {\"header\":\"Email\",\"accessor\":\"email\"}\n * ]\n * @default []\n */\n @Prop()\n readonly columns: Column[] = [];\n\n /**\n * The columns to display in the data grid.\n * It can be passed directly as an array of objects or as a JSON string\n * (e.g., `[{\"header\":\"Name\",\"accessor\":\"name\"},{\"header\":\"Age\",\"accessor\":\"age\"},{\"header\":\"Email\",\"accessor\":\"email\"}]`).\n * If both `columns` and `columnsJson` are provided, `columns` takes precedence.\n * @example `[{\"header\":\"Name\",\"accessor\":\"name\"},{\"header\":\"Age\",\"accessor\":\"age\"},{\"header\":\"Email\",\"accessor\":\"email\"}]`\n */\n @Prop({ reflect: true })\n readonly columnsJson?: string;\n\n /**\n * The data to display in the data grid.\n * @example [{ \"name\": \"Alice\", \"age\": 25 }, { \"name\": \"Bob\", \"age\": 30 }]\n * @default []\n */\n @Prop()\n readonly data: any[] = [];\n\n /**\n * The data to display in the data grid.\n * It can be passed directly as an array of objects or as a JSON string\n * (e.g., `[{ \"name\": \"Alice\", \"age\": 25 }, { \"name\": \"Bob\", \"age\": 30 }]`).\n * If both `data` and `dataJson` are provided, `data` takes precedence.\n * @example `[{ \"name\": \"Alice\", \"age\": 25 }, { \"name\": \"Bob\", \"age\": 30 }]`\n */\n @Prop({ reflect: true })\n readonly dataJson?: string;\n\n /**\n * The message to display when there is no data available.\n * @default 'No data available'\n */\n @Prop()\n readonly noDataMessage: string = 'No data available';\n\n /**\n * The message to display when there are no columns or data available.\n * @default 'No data or columns available to display.'\n */\n @Prop()\n readonly noColumnsNoDataMessage: string =\n 'No data or columns available to display.';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('columns')\n parseColumns(newValue: Column[], oldValue: Column[]) {\n this.parseColumnsArray(newValue, oldValue);\n }\n\n @Watch('columnsJson')\n parseJsonColumns(newValue: string | undefined) {\n try {\n const newItems = newValue ? JSON.parse(newValue) : [];\n\n this.parseColumnsArray(newItems, this.parsedColumns);\n } catch (e) {\n console.error('Invalid JSON format for columnsJson:', e.message);\n this.parsedColumns = [];\n }\n }\n\n @Watch('data')\n parseData(newValue: any[], oldValue: any[]) {\n this.parseDataArray(newValue, oldValue);\n }\n\n @Watch('dataJson')\n parseJsonData(newValue: string | undefined) {\n try {\n const newItems = newValue ? JSON.parse(newValue) : [];\n\n this.parseDataArray(newItems, this.parsedData);\n } catch (e) {\n console.error('Invalid JSON format for dataJson:', e.message);\n this.parsedData = [];\n }\n }\n\n @Watch('parsedColumns')\n @Watch('parsedData')\n handleParsedChange() {\n this.initializeTable();\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region METHODS\n\n private initializeTable(): void {\n // Clear the previous table instance (if any)\n this.table = null;\n\n // Set default options for the table\n const tableOptions: TableOptionsResolved<any> = {\n columns: [],\n data: [],\n getCoreRowModel: getCoreRowModel(),\n debugAll: true,\n onStateChange: state => console.log('Table state changed:', state), // eslint-disable-line nova/no-console\n renderFallbackValue: 'No rows to display',\n state: {\n sorting: [], // Default: no active sorting\n columnVisibility: {}, // Default: all columns visible\n columnFilters: [], // Default: no column filters\n columnPinning: {}, // Default: no column pinning\n columnSizing: {}, // Default: no column sizing\n columnOrder: [], // Default: as defined in the `columns`\n pagination: null, // Default: no pagination\n grouping: [], // Default: no active grouping\n expanded: {}, // Default: no expanded rows\n rowPinning: {}, // Default: no row pinning\n rowSelection: {}, // Default: no row selection\n globalFilter: null, // Default: no global filter\n columnSizingInfo: {\n columnSizingStart: null,\n deltaOffset: null,\n deltaPercentage: null,\n isResizingColumn: false,\n startOffset: null,\n startSize: null,\n }, // Default: no column sizing info\n },\n };\n\n // Validate and generate column definitions\n const validColumns = this.parsedColumns.filter(\n column => column?.accessor && column?.header,\n );\n\n // Helper function to generate column definitions\n const generateColumns = (): any[] => {\n const columnHelper = createColumnHelper<any>();\n\n if (validColumns.length > 0) {\n // Use defined columns\n return validColumns.map(column =>\n columnHelper.accessor(column.accessor, {\n header: column.header,\n cell: info => info.getValue(),\n }),\n );\n } else if (tableOptions.data && tableOptions.data.length > 0) {\n // Generate columns from data keys\n const sampleRow = tableOptions.data[0];\n return Object.keys(sampleRow).map(key =>\n columnHelper.accessor(key, {\n header: key.charAt(0).toUpperCase() + key.slice(1), // Capitalize key for header\n cell: info => info.getValue(),\n }),\n );\n } else {\n // No columns and no data\n return [];\n }\n };\n\n const setTableData = (): any[] => {\n if (\n this.parsedData &&\n Array.isArray(this.parsedData) &&\n this.parsedData.length > 0\n ) {\n return [...this.parsedData];\n } else {\n return [];\n }\n };\n\n // Update tableOptions based on parsed data and columns\n const hasColumns =\n validColumns && Array.isArray(validColumns) && validColumns.length > 0;\n const hasData =\n (this.parsedData &&\n Array.isArray(this.parsedData) &&\n this.parsedData.length > 0) ||\n this.hasSlotBody;\n\n if (!hasColumns && !hasData) {\n // No columns and no data\n } else if (hasColumns && !hasData) {\n tableOptions.columns = generateColumns();\n } else {\n // Both columns and data are available\n // No columns and data is available\n tableOptions.data = setTableData();\n tableOptions.columns = generateColumns();\n }\n\n // Initialize the table\n this.table = createTable(tableOptions);\n }\n\n /**\n * Parses the columns array.\n * @param {Column[]} newValue - The new value of the columns array.\n * @param {Column[]} oldValue - The old value of the columns array.\n */\n private parseColumnsArray(newValue: Column[], oldValue: Column[]) {\n if (JSON.stringify(newValue) === JSON.stringify(oldValue)) return; // Deep comparison\n this.parsedColumns = Array.isArray(newValue) ? newValue : [];\n }\n\n /**\n * Parses the data array.\n * @param {any[]} newValue - The new value of the data array.\n * @param {any[]} oldValue - The old value of the data array.\n */\n private parseDataArray(newValue: any[], oldValue: any[]) {\n if (JSON.stringify(newValue) === JSON.stringify(oldValue)) return; // Deep comparison\n this.parsedData = Array.isArray(newValue) ? newValue : [];\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.hasSlotHead = !!this.el.querySelector('[slot=\"head\"]');\n\n if (this.hasSlotHead) {\n const headSlot = this.el.querySelector('[slot=\"head\"]');\n const headSlotRows = this.hasSlotHead\n ? Array.from(headSlot.querySelectorAll('nv-datagridrow'))\n : [];\n\n const mappedRows = headSlotRows.map(row => {\n const cells = Array.from(row.querySelectorAll('nv-datagridcolumn'));\n\n return cells.map(cell => ({\n header: cell.getAttribute('header') || '',\n accessor: cell.getAttribute('accessor') || '',\n }));\n });\n\n // Flatten the nested arrays into a single array of columns\n const flatMappedColumns = mappedRows.flat();\n\n this.parsedColumns = flatMappedColumns;\n }\n\n this.hasSlotBody = !!this.el.querySelector('[slot=\"body\"]');\n\n if (this.hasSlotBody) {\n const bodySlot = this.el.querySelector('[slot=\"body\"]');\n const bodySlotRows = this.hasSlotBody\n ? Array.from(bodySlot.querySelectorAll('nv-datagridrow'))\n : [];\n\n const mappedRows = bodySlotRows.map(row => {\n const cells = Array.from(row.querySelectorAll('nv-datagriddatacell'));\n\n return cells.map(cell => {\n return {\n accessor: cell.accessor,\n value: cell.innerHTML,\n };\n });\n });\n\n // Flatten the nested arrays into a single array of data\n const flatMappedData = mappedRows.map(row =>\n row.reduce((acc, cell) => {\n acc[cell.accessor] = cell.value;\n return acc;\n }, {}),\n );\n\n this.parsedData = flatMappedData;\n }\n\n if (this.columnsJson) {\n this.parseJsonColumns(this.columnsJson);\n } else if (this.columns && this.columns.length > 0) {\n this.parseColumns(this.columns, this.parsedColumns);\n }\n\n if (this.dataJson) {\n this.parseJsonData(this.dataJson);\n } else if (this.data && this.data.length > 0) {\n this.parseData(this.data, this.parsedData);\n }\n }\n\n componentDidLoad() {\n this.initializeTable();\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n const headerGroups =\n !this.table ||\n this.table === undefined ||\n (this.parsedColumns.length === 0 && !this.hasSlotHead)\n ? []\n : this.table?.getHeaderGroups();\n\n const rows =\n !this.table ||\n this.table === undefined ||\n (this.parsedData.length === 0 && !this.hasSlotBody)\n ? []\n : this.table?.getRowModel()?.rows;\n\n return (\n <Host>\n <div class=\"hidden\">\n <slot></slot>\n <slot name=\"head\"></slot>\n <slot name=\"body\"></slot>\n </div>\n\n <slot name=\"before\"></slot>\n\n {this.parsedColumns.length === 0 &&\n this.parsedData.length === 0 &&\n !this.hasSlotHead &&\n !this.hasSlotBody ? (\n <p>{this.noColumnsNoDataMessage}</p>\n ) : (\n <table>\n {this.parsedColumns.length > 0 && headerGroups.length > 0 && (\n <thead>\n {this.parsedColumns.length > 0 && headerGroups\n ? headerGroups?.map(headerGroup => (\n <tr key={headerGroup.id}>\n {headerGroup.headers.map(header => (\n <th key={header.id}>\n {header.isPlaceholder\n ? null\n : header.column.columnDef.header}\n </th>\n ))}\n </tr>\n ))\n : null}\n </thead>\n )}\n <tbody>\n {!rows || rows.length === 0 ? (\n <tr>\n <td colSpan={this.parsedColumns.length || 12}>\n {this.noDataMessage}\n </td>\n </tr>\n ) : (\n rows.map(row => {\n const rowId = row.id;\n const visibleCells = row?.getVisibleCells();\n\n const cells = visibleCells\n ?.map(cell => {\n const cellValue = cell.getValue();\n return `<td key=\"${cell.id}\" data-row-id=\"${rowId}\">${cellValue}</td>`;\n })\n .join('');\n\n return <tr key={rowId} innerHTML={cells}></tr>;\n })\n )}\n </tbody>\n </table>\n )}\n\n <slot name=\"after\"></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n /****************************************************************************/\n}\n"]}
@@ -6,7 +6,7 @@ export class NvDatagridbody {
6
6
  /****************************************************************************/
7
7
  //#region RENDER
8
8
  render() {
9
- return (h(Host, { key: 'c24bf0e6d18d00b39b6e0382b0268ee24e6e7567' }, h("tbody", { key: '1fae4b6126134317bd2dc7d4819ed861e8915761' }, h("slot", { key: 'a6a537e6ed6c8b831da5294c1bce7010038b6291' }))));
9
+ return (h(Host, { key: 'fdb910bb7b6388d4d0f8d61a18822e8334534a18' }, h("tbody", { key: 'f19bd351d639a4d9a94d27647e977d14d6cacf7e' }, h("slot", { key: '376ae58f100a27adefaec863497479d814af8124' }))));
10
10
  }
11
11
  static get is() { return "nv-datagridbody"; }
12
12
  static get originalStyleUrls() {
@@ -7,7 +7,7 @@ export class NvDatagridcolumn {
7
7
  /****************************************************************************/
8
8
  //#region RENDER
9
9
  render() {
10
- return (h(Host, { key: '4607ea5be4f54aec289b09e40f980aaf33c304c7' }, h("th", { key: '5a24f302d8b01c8ed44fb3c015d9701967d2833f' }, h("slot", { key: '272e390027621eb09b17baa1529fbdaba40eb74a' }))));
10
+ return (h(Host, { key: '2982f199f488077a91812c214b0e881a0e32e1ec' }, h("th", { key: 'cc46a9eb1aa232a8068308d7e7175aed89f007c1' }, h("slot", { key: 'bd1f13adfd55b1c4ae8dab30d7aea33c9079f3e0' }))));
11
11
  }
12
12
  static get is() { return "nv-datagridcolumn"; }
13
13
  static get originalStyleUrls() {
@@ -7,7 +7,7 @@ export class NvDatagriddatacell {
7
7
  /****************************************************************************/
8
8
  //#region RENDER
9
9
  render() {
10
- return (h(Host, { key: 'bf3caf31ee31fdba6254c1907883474a84610dda' }, h("td", { key: '709febb6ab666afd3841c7d0086f889309f31fbd' }, h("slot", { key: 'c309eda6f57527a3ca1bba68983521121944a156' }))));
10
+ return (h(Host, { key: 'dbdf7fa0353e84e702ddd082fe466f89492f48e1' }, h("td", { key: '3d3d8ae038cb5a6bf3404fe7178003529790fc10' }, h("slot", { key: 'b8585f6517d053f90be59fe7e492771114911496' }))));
11
11
  }
12
12
  static get is() { return "nv-datagriddatacell"; }
13
13
  static get originalStyleUrls() {
@@ -6,7 +6,7 @@ export class NvDatagridhead {
6
6
  /****************************************************************************/
7
7
  //#region RENDER
8
8
  render() {
9
- return (h(Host, { key: '272ab6e598f1edfc53fd99372acd64c3834c0fd0' }, h("thead", { key: '66d5e24d5d0757be7b0190bc4c156e476e0f748e' }, h("slot", { key: 'b41ac2580003d1df53595d66837ed51d597bee8c' }))));
9
+ return (h(Host, { key: 'e56a8e78a9034ce2cd2eda97ee074662b533ace9' }, h("thead", { key: '0a32742beaf23f214bbf3f03f9de5bab748573cd' }, h("slot", { key: '0beabbfbadee2af0caa07f31fb681d24fe6da240' }))));
10
10
  }
11
11
  static get is() { return "nv-datagridhead"; }
12
12
  static get originalStyleUrls() {
@@ -6,7 +6,7 @@ export class NvDatagridrow {
6
6
  /****************************************************************************/
7
7
  //#region RENDER
8
8
  render() {
9
- return (h(Host, { key: 'f136ccd96f48d5743cc1c08c26029421af4ab2c0' }, h("tr", { key: '21787f1823a778ab6433cbcc5bff0596e2257485' }, h("slot", { key: 'edfc2d36e247097eaddfd694bf9de44f001a8219' }))));
9
+ return (h(Host, { key: '99a83706b411732ff2d2443794ab61bdc0a95c7e' }, h("tr", { key: 'd64ab8c5d39236cdbe4950c7d891f3aca9c696dc' }, h("slot", { key: '696117c1e59fe60e0d3de5928658ba479cfeb472' }))));
10
10
  }
11
11
  static get is() { return "nv-datagridrow"; }
12
12
  static get originalStyleUrls() {
@@ -102,13 +102,13 @@ export class NvFieldcheckbox {
102
102
  /****************************************************************************/
103
103
  //#region RENDER
104
104
  render() {
105
- return (h(Host, { key: 'c87c2b3e3a4b81c9d6eb6c3784919a5fcb78e38b', class: clsx(this.labelPlacement === 'before' && 'label-placement-before', this.error && 'error') }, h("div", { key: '8e43a91fec01b02dfa6b27408e1c1fd252558014', class: "input-container" }, h("input", { key: 'bffbfc1ac879fb70e1c7b436c3a9845150b78bca', 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 && !this.required, required: this.required, indeterminate: this.indeterminate, ref: el => {
105
+ return (h(Host, { key: 'dee6fd99a2e97591189c8a6bdce3c8909b4ceb97', class: clsx(this.labelPlacement === 'before' && 'label-placement-before', this.error && 'error') }, h("div", { key: 'dd6ab7f4cddd11c89cc15249290fe43d83a669ab', class: "input-container" }, h("input", { key: '1132052e8f369f16d3a0ce4698b72644975886f8', 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 && !this.required, required: this.required, indeterminate: this.indeterminate, ref: el => {
106
106
  if (el) {
107
107
  el.indeterminate = this.indeterminate;
108
108
  }
109
- } }), h("span", { key: 'b100feee33694f72c59496f09f5ecbbf9358d7c6', class: "icon" }, this.checked && !this.indeterminate && (h("slot", { key: 'a5f5159aff04c111e4b944123686f00f817ecb1e', name: "checked-icon" }, h("svg", { key: '26a750b600fa0857ec9adf17f9d4dcd9ce0e2aad', xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 14 14", fill: "none" }, h("path", { key: 'ddf0155de05297d7ec966bdaf9633ceb1ee413d7', d: "M11.6667 3.5L5.25004 9.91667L2.33337 7", "stroke-linecap": "round", "stroke-linejoin": "round" })))), this.indeterminate && (h("slot", { key: 'e64681ce70326348083402f7996eaf6134aaca3e', name: "indeterminate-icon" }, h("svg", { key: '9cfcd8118bb6f208278614711fd726fe29c9070a', class: "indeterminate-svg", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 14 14", fill: "none" }, h("path", { key: '8d88be8c4bd195982bf0024e4f67f30601ddfb80', d: "M2.9165 7H11.0832", "stroke-linecap": "round", "stroke-linejoin": "round" })))))), h("div", { key: '061d18d589ef2a8efd0fb73f70d5c0a6013c497d', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: '129013f8e60d1aaae82b97321c4cc26ab6229bbb', htmlFor: this.inputId, class: clsx(this.hideLabel && 'visually-hidden') }, h("slot", { key: 'e134c0683e4c4c410c78d45f3537d8ed1491c67e', name: "label" }, this.label))), (this.description ||
110
- this.el.querySelector('[slot="description"]')) && (h("div", { key: '78166f4fb7d1e5dc20f13ce5b4ca567a90862493', class: "description" }, h("slot", { key: '6bced15913e4a22371520818343de5598c5a5e6d', name: "description" }, this.description))), (this.errorDescription ||
111
- this.el.querySelector('[slot="error-description"]')) && (h("div", { key: '88f4ceaef2412ce5f4bb08b19485fc27d9842792', hidden: !this.error, class: "error-description" }, h("slot", { key: '96a581ce5d0e66416d24bf52219a87d3c39457d8', name: "error-description" }, this.errorDescription))))));
109
+ } }), h("span", { key: 'ac87b7d83e5731da6ce8f9990a1d55bd247cb750', class: "icon" }, this.checked && !this.indeterminate && (h("slot", { key: '911e69045129dc8755fea438570858f338a18ad3', name: "checked-icon" }, h("svg", { key: 'de2e547ac9ab00c52ee9c924fdb4e24cf0321158', xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 14 14", fill: "none" }, h("path", { key: '10dc26b32951b18a6bd29482349894bf1ca87bd8', d: "M11.6667 3.5L5.25004 9.91667L2.33337 7", "stroke-linecap": "round", "stroke-linejoin": "round" })))), this.indeterminate && (h("slot", { key: '7e957be646aa6a96f94e0cf70b5ef88b8037e07e', name: "indeterminate-icon" }, h("svg", { key: 'd132aabc77f0dcf5c67377a60004b72307cf61ba', class: "indeterminate-svg", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 14 14", fill: "none" }, h("path", { key: '353c950a9d8d14c32e276e393c9314374d10337f', d: "M2.9165 7H11.0832", "stroke-linecap": "round", "stroke-linejoin": "round" })))))), h("div", { key: 'a14fc39e16a9dcee74e722a361fcc8df63fad5d6', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: '13a9fee6f1c4aea8735eca27f36944d6c26cf7f2', htmlFor: this.inputId, class: clsx(this.hideLabel && 'visually-hidden') }, h("slot", { key: 'dbbce25b8f65d2b12d10e419f94ae56ef2d0c355', name: "label" }, this.label))), (this.description ||
110
+ this.el.querySelector('[slot="description"]')) && (h("div", { key: '3647cdaa6a4ec2cacab7b2c1fe731e3454746648', class: "description" }, h("slot", { key: '19dff40045f22c6403029731a0a628455b831c5c', name: "description" }, this.description))), (this.errorDescription ||
111
+ this.el.querySelector('[slot="error-description"]')) && (h("div", { key: 'dd78ae62d1a1cd6c2a9b41d32740321cb1f36f2a', hidden: !this.error, class: "error-description" }, h("slot", { key: '1e4d1c10387aaea37c87111c43c84cd204ca1619', name: "error-description" }, this.errorDescription))))));
112
112
  }
113
113
  static get is() { return "nv-fieldcheckbox"; }
114
114
  static get originalStyleUrls() {
@@ -47,24 +47,22 @@ nv-fielddropdown label {
47
47
  }
48
48
  nv-fielddropdown nv-popover {
49
49
  width: 100%;
50
+ display: block;
50
51
  }
51
- nv-fielddropdown div[data-scope=popover] {
52
- width: 100%;
52
+ nv-fielddropdown nv-popover [data-scope=popover] {
53
53
  padding: var(--list-custom-padding);
54
54
  background-color: var(--components-list-custom-background);
55
55
  border: 1px solid var(--components-list-custom-border);
56
+ width: 100%;
57
+ }
58
+ nv-fielddropdown nv-popover [data-scope=popover] hr {
59
+ color: var(--components-list-custom-separator);
56
60
  }
57
- nv-fielddropdown ul[slot=content] {
61
+ nv-fielddropdown nv-popover [slot=content] {
58
62
  gap: var(--list-custom-gap-y);
59
63
  display: flex;
60
64
  flex-direction: column;
61
65
  }
62
- nv-fielddropdown hr {
63
- border: none;
64
- height: 1px;
65
- background-color: var(--components-list-custom-separator);
66
- margin: 0;
67
- }
68
66
  nv-fielddropdown .input-wrapper {
69
67
  display: flex;
70
68
  flex-wrap: wrap;
@@ -198,6 +196,12 @@ nv-fielddropdown .error-description {
198
196
  line-height: var(--form-description-line-height);
199
197
  color: var(--components-form-text-description-error);
200
198
  }
199
+ nv-fielddropdown hr {
200
+ border: none;
201
+ height: 1px;
202
+ background-color: var(--components-list-custom-separator);
203
+ margin: 0;
204
+ }
201
205
 
202
206
  .input-container.focus-within,
203
207
  .input-container:hover {