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

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 (464) hide show
  1. package/dist/blazor-docs.json +1598 -933
  2. package/dist/cjs/{app-globals-69764290.js → app-globals-d8cbb987.js} +2 -2
  3. package/dist/cjs/{app-globals-69764290.js.map → app-globals-d8cbb987.js.map} +1 -1
  4. package/dist/cjs/{index-72b8a9ad.js → index-c50face0.js} +504 -863
  5. package/dist/cjs/index-c50face0.js.map +1 -0
  6. package/dist/cjs/loader.cjs.js +3 -3
  7. package/dist/cjs/native.cjs.js +4 -4
  8. package/dist/cjs/native.cjs.js.map +1 -1
  9. package/dist/cjs/nv-alert.cjs.entry.js +9 -22
  10. package/dist/cjs/nv-alert.cjs.entry.js.map +1 -1
  11. package/dist/cjs/nv-avatar.cjs.entry.js +11 -8
  12. package/dist/cjs/nv-avatar.cjs.entry.js.map +1 -1
  13. package/dist/cjs/{nv-badge.cjs.entry.js → nv-badge_2.cjs.entry.js} +52 -38
  14. package/dist/cjs/nv-badge_2.cjs.entry.js.map +1 -0
  15. package/dist/cjs/nv-base.cjs.entry.js +1 -1
  16. package/dist/cjs/nv-button.cjs.entry.js +8 -40
  17. package/dist/cjs/nv-button.cjs.entry.js.map +1 -1
  18. package/dist/cjs/nv-col.cjs.entry.js +2 -1
  19. package/dist/cjs/nv-col.cjs.entry.js.map +1 -1
  20. package/dist/cjs/nv-datagrid.cjs.entry.js +5 -31
  21. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
  22. package/dist/cjs/nv-datagridbody.cjs.entry.js +1 -1
  23. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +3 -1
  24. package/dist/cjs/nv-datagridcolumn.cjs.entry.js.map +1 -1
  25. package/dist/cjs/nv-datagriddatacell.cjs.entry.js +2 -1
  26. package/dist/cjs/nv-datagriddatacell.cjs.entry.js.map +1 -1
  27. package/dist/cjs/nv-datagridhead.cjs.entry.js +1 -1
  28. package/dist/cjs/nv-datagridrow.cjs.entry.js +1 -1
  29. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +9 -40
  30. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js.map +1 -1
  31. package/dist/cjs/nv-fielddropdown.cjs.entry.js +19 -58
  32. package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
  33. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +5 -11
  34. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js.map +1 -1
  35. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +1038 -0
  36. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -0
  37. package/dist/cjs/nv-fieldnumber.cjs.entry.js +21 -47
  38. package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
  39. package/dist/cjs/nv-fieldpassword.cjs.entry.js +24 -65
  40. package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
  41. package/dist/cjs/nv-fieldradio.cjs.entry.js +11 -29
  42. package/dist/cjs/nv-fieldradio.cjs.entry.js.map +1 -1
  43. package/dist/cjs/nv-fieldselect.cjs.entry.js +23 -64
  44. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
  45. package/dist/cjs/nv-fieldtext.cjs.entry.js +25 -55
  46. package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -1
  47. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +23 -61
  48. package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
  49. package/dist/cjs/nv-fieldtoggle.cjs.entry.js +8 -21
  50. package/dist/cjs/nv-fieldtoggle.cjs.entry.js.map +1 -1
  51. package/dist/cjs/nv-icon.cjs.entry.js +10 -5
  52. package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
  53. package/dist/cjs/{nv-iconbutton.cjs.entry.js → nv-iconbutton_2.cjs.entry.js} +31 -44
  54. package/dist/cjs/nv-iconbutton_2.cjs.entry.js.map +1 -0
  55. package/dist/cjs/nv-menu.cjs.entry.js +2 -21
  56. package/dist/cjs/nv-menu.cjs.entry.js.map +1 -1
  57. package/dist/cjs/nv-menuitem.cjs.entry.js +3 -7
  58. package/dist/cjs/nv-menuitem.cjs.entry.js.map +1 -1
  59. package/dist/cjs/nv-popover.cjs.entry.js +13 -49
  60. package/dist/cjs/nv-popover.cjs.entry.js.map +1 -1
  61. package/dist/cjs/nv-row.cjs.entry.js +2 -2
  62. package/dist/cjs/nv-stack.cjs.entry.js +6 -8
  63. package/dist/cjs/nv-stack.cjs.entry.js.map +1 -1
  64. package/dist/cjs/nv-table.cjs.entry.js +7 -28
  65. package/dist/cjs/nv-table.cjs.entry.js.map +1 -1
  66. package/dist/cjs/nv-tablebody.cjs.entry.js +2 -2
  67. package/dist/cjs/nv-tablecolumn.cjs.entry.js +5 -16
  68. package/dist/cjs/nv-tablecolumn.cjs.entry.js.map +1 -1
  69. package/dist/cjs/nv-tabledatacell.cjs.entry.js +3 -18
  70. package/dist/cjs/nv-tabledatacell.cjs.entry.js.map +1 -1
  71. package/dist/cjs/nv-tablehead.cjs.entry.js +2 -2
  72. package/dist/cjs/nv-tablerow.cjs.entry.js +2 -2
  73. package/dist/cjs/nv-tooltip.cjs.entry.js +3 -12
  74. package/dist/cjs/nv-tooltip.cjs.entry.js.map +1 -1
  75. package/dist/collection/collection-manifest.json +3 -1
  76. package/dist/collection/components/nv-alert/nv-alert.js +8 -37
  77. package/dist/collection/components/nv-alert/nv-alert.js.map +1 -1
  78. package/dist/collection/components/nv-avatar/nv-avatar.js +10 -31
  79. package/dist/collection/components/nv-avatar/nv-avatar.js.map +1 -1
  80. package/dist/collection/components/nv-badge/nv-badge.js +10 -54
  81. package/dist/collection/components/nv-badge/nv-badge.js.map +1 -1
  82. package/dist/collection/components/nv-button/nv-button.js +7 -53
  83. package/dist/collection/components/nv-button/nv-button.js.map +1 -1
  84. package/dist/collection/components/nv-col/nv-col.js +3 -2
  85. package/dist/collection/components/nv-col/nv-col.js.map +1 -1
  86. package/dist/collection/components/nv-datagrid/nv-datagrid.js +4 -42
  87. package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -1
  88. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +4 -4
  89. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js.map +1 -1
  90. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.js +3 -2
  91. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.js.map +1 -1
  92. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +8 -73
  93. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js.map +1 -1
  94. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +18 -87
  95. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
  96. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +4 -18
  97. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js.map +1 -1
  98. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.css +12 -0
  99. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.docs.js +6 -0
  100. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.docs.js.map +1 -0
  101. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +171 -0
  102. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js.map +1 -0
  103. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.css +201 -0
  104. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +257 -0
  105. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js.map +1 -0
  106. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +1578 -0
  107. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -0
  108. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +20 -80
  109. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +1 -1
  110. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +23 -102
  111. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js.map +1 -1
  112. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +10 -52
  113. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js.map +1 -1
  114. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +22 -93
  115. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js.map +1 -1
  116. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +24 -96
  117. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +1 -1
  118. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +22 -98
  119. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js.map +1 -1
  120. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.js +7 -40
  121. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.js.map +1 -1
  122. package/dist/collection/components/nv-icon/nv-icon.js +9 -20
  123. package/dist/collection/components/nv-icon/nv-icon.js.map +1 -1
  124. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +9 -58
  125. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js.map +1 -1
  126. package/dist/collection/components/nv-loader/nv-loader.js +2 -12
  127. package/dist/collection/components/nv-loader/nv-loader.js.map +1 -1
  128. package/dist/collection/components/nv-menu/nv-menu.js +1 -28
  129. package/dist/collection/components/nv-menu/nv-menu.js.map +1 -1
  130. package/dist/collection/components/nv-menuitem/nv-menuitem.js +2 -14
  131. package/dist/collection/components/nv-menuitem/nv-menuitem.js.map +1 -1
  132. package/dist/collection/components/nv-popover/nv-popover.js +13 -71
  133. package/dist/collection/components/nv-popover/nv-popover.js.map +1 -1
  134. package/dist/collection/components/nv-row/nv-row.js +1 -1
  135. package/dist/collection/components/nv-stack/nv-stack.js +5 -17
  136. package/dist/collection/components/nv-stack/nv-stack.js.map +1 -1
  137. package/dist/collection/components/nv-table/nv-table.js +6 -39
  138. package/dist/collection/components/nv-table/nv-table.js.map +1 -1
  139. package/dist/collection/components/nv-tablebody/nv-tablebody.js +1 -1
  140. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js +4 -25
  141. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js.map +1 -1
  142. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.js +2 -23
  143. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.js.map +1 -1
  144. package/dist/collection/components/nv-tablehead/nv-tablehead.js +1 -1
  145. package/dist/collection/components/nv-tablerow/nv-tablerow.js +1 -1
  146. package/dist/collection/components/nv-tooltip/nv-tooltip.js +2 -17
  147. package/dist/collection/components/nv-tooltip/nv-tooltip.js.map +1 -1
  148. package/dist/components/index.js +3 -3
  149. package/dist/components/nv-alert.js +10 -23
  150. package/dist/components/nv-alert.js.map +1 -1
  151. package/dist/components/nv-avatar.js +12 -9
  152. package/dist/components/nv-avatar.js.map +1 -1
  153. package/dist/components/nv-badge.js +1 -173
  154. package/dist/components/nv-badge.js.map +1 -1
  155. package/dist/components/nv-base.js +1 -1
  156. package/dist/components/nv-button.js +9 -41
  157. package/dist/components/nv-button.js.map +1 -1
  158. package/dist/components/nv-col.js +2 -1
  159. package/dist/components/nv-col.js.map +1 -1
  160. package/dist/components/nv-datagrid.js +5 -31
  161. package/dist/components/nv-datagrid.js.map +1 -1
  162. package/dist/components/nv-datagridbody.js +1 -1
  163. package/dist/components/nv-datagridcolumn.js +3 -1
  164. package/dist/components/nv-datagridcolumn.js.map +1 -1
  165. package/dist/components/nv-datagriddatacell.js +2 -1
  166. package/dist/components/nv-datagriddatacell.js.map +1 -1
  167. package/dist/components/nv-datagridhead.js +1 -1
  168. package/dist/components/nv-datagridrow.js +1 -1
  169. package/dist/components/nv-fieldcheckbox.js +1 -152
  170. package/dist/components/nv-fieldcheckbox.js.map +1 -1
  171. package/dist/components/nv-fielddropdown.js +24 -63
  172. package/dist/components/nv-fielddropdown.js.map +1 -1
  173. package/dist/components/nv-fielddropdownitem.js +1 -1
  174. package/dist/components/nv-fielddropdownitemcheck.d.ts +11 -0
  175. package/dist/components/nv-fielddropdownitemcheck.js +8 -0
  176. package/dist/components/nv-fielddropdownitemcheck.js.map +1 -0
  177. package/dist/components/nv-fieldmultiselect.d.ts +11 -0
  178. package/dist/components/nv-fieldmultiselect.js +1129 -0
  179. package/dist/components/nv-fieldmultiselect.js.map +1 -0
  180. package/dist/components/nv-fieldnumber.js +22 -48
  181. package/dist/components/nv-fieldnumber.js.map +1 -1
  182. package/dist/components/nv-fieldpassword.js +27 -68
  183. package/dist/components/nv-fieldpassword.js.map +1 -1
  184. package/dist/components/nv-fieldradio.js +11 -29
  185. package/dist/components/nv-fieldradio.js.map +1 -1
  186. package/dist/components/nv-fieldselect.js +24 -65
  187. package/dist/components/nv-fieldselect.js.map +1 -1
  188. package/dist/components/nv-fieldtext.js +26 -56
  189. package/dist/components/nv-fieldtext.js.map +1 -1
  190. package/dist/components/nv-fieldtextarea.js +23 -61
  191. package/dist/components/nv-fieldtextarea.js.map +1 -1
  192. package/dist/components/nv-fieldtoggle.js +8 -21
  193. package/dist/components/nv-fieldtoggle.js.map +1 -1
  194. package/dist/components/nv-icon.js +1 -1
  195. package/dist/components/nv-iconbutton.js +1 -1
  196. package/dist/components/nv-loader.js +1 -1
  197. package/dist/components/nv-menu.js +3 -22
  198. package/dist/components/nv-menu.js.map +1 -1
  199. package/dist/components/nv-menuitem.js +4 -8
  200. package/dist/components/nv-menuitem.js.map +1 -1
  201. package/dist/components/nv-popover.js +1 -1
  202. package/dist/components/nv-row.js +2 -2
  203. package/dist/components/nv-stack.js +6 -8
  204. package/dist/components/nv-stack.js.map +1 -1
  205. package/dist/components/nv-table.js +7 -28
  206. package/dist/components/nv-table.js.map +1 -1
  207. package/dist/components/nv-tablebody.js +2 -2
  208. package/dist/components/nv-tablecolumn.js +5 -16
  209. package/dist/components/nv-tablecolumn.js.map +1 -1
  210. package/dist/components/nv-tabledatacell.js +3 -18
  211. package/dist/components/nv-tabledatacell.js.map +1 -1
  212. package/dist/components/nv-tablehead.js +2 -2
  213. package/dist/components/nv-tablerow.js +2 -2
  214. package/dist/components/nv-tooltip.js +4 -13
  215. package/dist/components/nv-tooltip.js.map +1 -1
  216. package/dist/components/p-5ce661bd.js +125 -0
  217. package/dist/components/p-5ce661bd.js.map +1 -0
  218. package/dist/components/{p-f0d5586a.js → p-8bec002e.js} +13 -46
  219. package/dist/components/p-8bec002e.js.map +1 -0
  220. package/dist/components/{p-3ef4ded9.js → p-a1aa8970.js} +4 -10
  221. package/dist/components/p-a1aa8970.js.map +1 -0
  222. package/dist/{esm/nv-badge.entry.js → components/p-a4802979.js} +58 -48
  223. package/dist/components/p-a4802979.js.map +1 -0
  224. package/dist/components/{p-c08a278d.js → p-ae6a0d80.js} +172 -207
  225. package/dist/components/p-ae6a0d80.js.map +1 -0
  226. package/dist/components/{p-6c1b9782.js → p-b12abc99.js} +7 -13
  227. package/dist/components/p-b12abc99.js.map +1 -0
  228. package/dist/components/{p-0caa4741.js → p-d506ae63.js} +489 -834
  229. package/dist/components/p-d506ae63.js.map +1 -0
  230. package/dist/components/{p-54ea8e62.js → p-d5dd3def.js} +15 -51
  231. package/dist/components/p-d5dd3def.js.map +1 -0
  232. package/dist/components/{p-39e93e5b.js → p-d70df149.js} +11 -6
  233. package/dist/components/p-d70df149.js.map +1 -0
  234. package/dist/components/p-e4641c41.js +72 -0
  235. package/dist/components/p-e4641c41.js.map +1 -0
  236. package/dist/docs.d.ts +0 -8
  237. package/dist/docs.json +1579 -930
  238. package/dist/esm/{app-globals-c5484a00.js → app-globals-eea8674a.js} +2 -2
  239. package/dist/esm/{app-globals-c5484a00.js.map → app-globals-eea8674a.js.map} +1 -1
  240. package/dist/esm/{index-b6f70e4a.js → index-e7b35c14.js} +504 -863
  241. package/dist/esm/index-e7b35c14.js.map +1 -0
  242. package/dist/esm/loader.js +4 -4
  243. package/dist/esm/native.js +5 -5
  244. package/dist/esm/native.js.map +1 -1
  245. package/dist/esm/nv-alert.entry.js +9 -22
  246. package/dist/esm/nv-alert.entry.js.map +1 -1
  247. package/dist/esm/nv-avatar.entry.js +11 -8
  248. package/dist/esm/nv-avatar.entry.js.map +1 -1
  249. package/dist/esm/nv-badge_2.entry.js +154 -0
  250. package/dist/esm/nv-badge_2.entry.js.map +1 -0
  251. package/dist/esm/nv-base.entry.js +1 -1
  252. package/dist/esm/nv-button.entry.js +8 -40
  253. package/dist/esm/nv-button.entry.js.map +1 -1
  254. package/dist/esm/nv-col.entry.js +2 -1
  255. package/dist/esm/nv-col.entry.js.map +1 -1
  256. package/dist/esm/nv-datagrid.entry.js +5 -31
  257. package/dist/esm/nv-datagrid.entry.js.map +1 -1
  258. package/dist/esm/nv-datagridbody.entry.js +1 -1
  259. package/dist/esm/nv-datagridcolumn.entry.js +3 -1
  260. package/dist/esm/nv-datagridcolumn.entry.js.map +1 -1
  261. package/dist/esm/nv-datagriddatacell.entry.js +2 -1
  262. package/dist/esm/nv-datagriddatacell.entry.js.map +1 -1
  263. package/dist/esm/nv-datagridhead.entry.js +1 -1
  264. package/dist/esm/nv-datagridrow.entry.js +1 -1
  265. package/dist/esm/nv-fieldcheckbox.entry.js +9 -40
  266. package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -1
  267. package/dist/esm/nv-fielddropdown.entry.js +19 -58
  268. package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
  269. package/dist/esm/nv-fielddropdownitem.entry.js +5 -11
  270. package/dist/esm/nv-fielddropdownitem.entry.js.map +1 -1
  271. package/dist/esm/nv-fieldmultiselect.entry.js +1034 -0
  272. package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -0
  273. package/dist/esm/nv-fieldnumber.entry.js +21 -47
  274. package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
  275. package/dist/esm/nv-fieldpassword.entry.js +24 -65
  276. package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
  277. package/dist/esm/nv-fieldradio.entry.js +11 -29
  278. package/dist/esm/nv-fieldradio.entry.js.map +1 -1
  279. package/dist/esm/nv-fieldselect.entry.js +23 -64
  280. package/dist/esm/nv-fieldselect.entry.js.map +1 -1
  281. package/dist/esm/nv-fieldtext.entry.js +25 -55
  282. package/dist/esm/nv-fieldtext.entry.js.map +1 -1
  283. package/dist/esm/nv-fieldtextarea.entry.js +23 -61
  284. package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
  285. package/dist/esm/nv-fieldtoggle.entry.js +8 -21
  286. package/dist/esm/nv-fieldtoggle.entry.js.map +1 -1
  287. package/dist/esm/nv-icon.entry.js +10 -5
  288. package/dist/esm/nv-icon.entry.js.map +1 -1
  289. package/dist/esm/{nv-iconbutton.entry.js → nv-iconbutton_2.entry.js} +31 -45
  290. package/dist/esm/nv-iconbutton_2.entry.js.map +1 -0
  291. package/dist/esm/nv-menu.entry.js +2 -21
  292. package/dist/esm/nv-menu.entry.js.map +1 -1
  293. package/dist/esm/nv-menuitem.entry.js +3 -7
  294. package/dist/esm/nv-menuitem.entry.js.map +1 -1
  295. package/dist/esm/nv-popover.entry.js +13 -49
  296. package/dist/esm/nv-popover.entry.js.map +1 -1
  297. package/dist/esm/nv-row.entry.js +2 -2
  298. package/dist/esm/nv-stack.entry.js +6 -8
  299. package/dist/esm/nv-stack.entry.js.map +1 -1
  300. package/dist/esm/nv-table.entry.js +7 -28
  301. package/dist/esm/nv-table.entry.js.map +1 -1
  302. package/dist/esm/nv-tablebody.entry.js +2 -2
  303. package/dist/esm/nv-tablecolumn.entry.js +5 -16
  304. package/dist/esm/nv-tablecolumn.entry.js.map +1 -1
  305. package/dist/esm/nv-tabledatacell.entry.js +3 -18
  306. package/dist/esm/nv-tabledatacell.entry.js.map +1 -1
  307. package/dist/esm/nv-tablehead.entry.js +2 -2
  308. package/dist/esm/nv-tablerow.entry.js +2 -2
  309. package/dist/esm/nv-tooltip.entry.js +3 -12
  310. package/dist/esm/nv-tooltip.entry.js.map +1 -1
  311. package/dist/native/native.css +1 -1
  312. package/dist/native/native.esm.js +1 -1
  313. package/dist/native/native.esm.js.map +1 -1
  314. package/dist/native/p-0fbb962b.entry.js +2 -0
  315. package/dist/native/p-0fbb962b.entry.js.map +1 -0
  316. package/dist/native/{p-919cf3ec.entry.js → p-12eaebd6.entry.js} +2 -2
  317. package/dist/native/p-12eaebd6.entry.js.map +1 -0
  318. package/dist/native/{p-50c31094.entry.js → p-13070761.entry.js} +2 -2
  319. package/dist/native/p-13070761.entry.js.map +1 -0
  320. package/dist/native/{p-7701e4cc.entry.js → p-1aaee302.entry.js} +2 -2
  321. package/dist/native/p-1aaee302.entry.js.map +1 -0
  322. package/dist/native/p-1c689ec7.entry.js +2 -0
  323. package/dist/native/p-1c689ec7.entry.js.map +1 -0
  324. package/dist/native/{p-6e8bcd5b.entry.js → p-20c7fc4d.entry.js} +2 -2
  325. package/dist/native/p-20c7fc4d.entry.js.map +1 -0
  326. package/dist/native/p-2fca31c0.entry.js +2 -0
  327. package/dist/native/{p-9f89229b.entry.js.map → p-2fca31c0.entry.js.map} +1 -1
  328. package/dist/native/{p-4a64f5b0.entry.js → p-305951e4.entry.js} +2 -2
  329. package/dist/native/p-305951e4.entry.js.map +1 -0
  330. package/dist/native/p-306d1f04.entry.js +2 -0
  331. package/dist/native/p-306d1f04.entry.js.map +1 -0
  332. package/dist/native/{p-e71fc762.entry.js → p-330c929d.entry.js} +2 -2
  333. package/dist/native/{p-c85d031d.entry.js → p-36d5158c.entry.js} +3 -3
  334. package/dist/native/p-36d5158c.entry.js.map +1 -0
  335. package/dist/native/{p-25e410c1.entry.js → p-39dbb15b.entry.js} +2 -2
  336. package/dist/native/p-39dbb15b.entry.js.map +1 -0
  337. package/dist/native/p-3f912745.entry.js +2 -0
  338. package/dist/native/p-3f912745.entry.js.map +1 -0
  339. package/dist/native/p-4e351d8e.entry.js +2 -0
  340. package/dist/native/p-4e351d8e.entry.js.map +1 -0
  341. package/dist/native/p-589eb477.entry.js +2 -0
  342. package/dist/native/{p-d4277c50.entry.js → p-5b4bdbe2.entry.js} +2 -2
  343. package/dist/native/p-5b4bdbe2.entry.js.map +1 -0
  344. package/dist/native/{p-df6c9137.entry.js → p-65ad60eb.entry.js} +2 -2
  345. package/dist/native/p-65ad60eb.entry.js.map +1 -0
  346. package/dist/native/p-671699bf.entry.js +2 -0
  347. package/dist/native/{p-f2e31579.entry.js.map → p-671699bf.entry.js.map} +1 -1
  348. package/dist/native/{p-11faaf31.entry.js → p-69ca8c88.entry.js} +2 -2
  349. package/dist/native/p-69ca8c88.entry.js.map +1 -0
  350. package/dist/native/p-7a7b9b95.entry.js +2 -0
  351. package/dist/native/{p-a89f5542.entry.js → p-7b2d8b8c.entry.js} +2 -2
  352. package/dist/native/p-7b2d8b8c.entry.js.map +1 -0
  353. package/dist/native/{p-c5e7ecc8.entry.js → p-7b3a4cbf.entry.js} +2 -2
  354. package/dist/native/p-7b3a4cbf.entry.js.map +1 -0
  355. package/dist/native/{p-cd75ee63.entry.js → p-91d30cd7.entry.js} +2 -2
  356. package/dist/native/p-91d30cd7.entry.js.map +1 -0
  357. package/dist/native/{p-6eb50254.entry.js → p-92e3e334.entry.js} +2 -2
  358. package/dist/native/p-92e3e334.entry.js.map +1 -0
  359. package/dist/native/p-982e474f.entry.js +2 -0
  360. package/dist/native/{p-86947929.entry.js.map → p-982e474f.entry.js.map} +1 -1
  361. package/dist/native/{p-fa8a8b21.entry.js → p-a03df637.entry.js} +2 -2
  362. package/dist/native/p-a03df637.entry.js.map +1 -0
  363. package/dist/native/p-a5582014.entry.js +2 -0
  364. package/dist/native/p-a5582014.entry.js.map +1 -0
  365. package/dist/native/{p-605f8b3d.entry.js → p-a59ec107.entry.js} +2 -2
  366. package/dist/native/p-a59ec107.entry.js.map +1 -0
  367. package/dist/native/p-a7a3c45f.entry.js +2 -0
  368. package/dist/native/p-a7be7540.entry.js +2 -0
  369. package/dist/native/p-a7be7540.entry.js.map +1 -0
  370. package/dist/native/p-a8c0fefa.entry.js +2 -0
  371. package/dist/native/p-a8c0fefa.entry.js.map +1 -0
  372. package/dist/native/p-b4aea326.js +3 -0
  373. package/dist/native/p-b4aea326.js.map +1 -0
  374. package/dist/native/{p-2a6ca749.entry.js → p-c8f36510.entry.js} +2 -2
  375. package/dist/native/p-c8f36510.entry.js.map +1 -0
  376. package/dist/native/p-d3d682a7.entry.js +2 -0
  377. package/dist/native/p-d4c0a1e0.entry.js +2 -0
  378. package/dist/native/{p-a64baca2.entry.js → p-dbade286.entry.js} +2 -2
  379. package/dist/native/p-dbade286.entry.js.map +1 -0
  380. package/dist/native/p-e842220b.entry.js +2 -0
  381. package/dist/native/{p-93eea6e1.entry.js.map → p-e842220b.entry.js.map} +1 -1
  382. package/dist/native/p-eeb6a3dc.js +2 -0
  383. package/dist/native/p-f7b96c42.entry.js +2 -0
  384. package/dist/types/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.d.ts +52 -0
  385. package/dist/types/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.docs.d.ts +4 -0
  386. package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +405 -0
  387. package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.d.ts +4 -0
  388. package/dist/types/components.d.ts +329 -0
  389. package/dist/vscode-data.json +324 -0
  390. package/hydrate/index.js +2107 -1750
  391. package/hydrate/index.mjs +2107 -1750
  392. package/package.json +1 -1
  393. package/dist/cjs/index-72b8a9ad.js.map +0 -1
  394. package/dist/cjs/nv-badge.cjs.entry.js.map +0 -1
  395. package/dist/cjs/nv-iconbutton.cjs.entry.js.map +0 -1
  396. package/dist/cjs/nv-loader.cjs.entry.js +0 -35
  397. package/dist/cjs/nv-loader.cjs.entry.js.map +0 -1
  398. package/dist/components/p-0caa4741.js.map +0 -1
  399. package/dist/components/p-39e93e5b.js.map +0 -1
  400. package/dist/components/p-3ef4ded9.js.map +0 -1
  401. package/dist/components/p-54ea8e62.js.map +0 -1
  402. package/dist/components/p-6c1b9782.js.map +0 -1
  403. package/dist/components/p-c08a278d.js.map +0 -1
  404. package/dist/components/p-f0d5586a.js.map +0 -1
  405. package/dist/esm/index-b6f70e4a.js.map +0 -1
  406. package/dist/esm/nv-badge.entry.js.map +0 -1
  407. package/dist/esm/nv-iconbutton.entry.js.map +0 -1
  408. package/dist/esm/nv-loader.entry.js +0 -31
  409. package/dist/esm/nv-loader.entry.js.map +0 -1
  410. package/dist/native/p-01262eaf.entry.js +0 -2
  411. package/dist/native/p-01262eaf.entry.js.map +0 -1
  412. package/dist/native/p-0bf2007c.entry.js +0 -2
  413. package/dist/native/p-0bf2007c.entry.js.map +0 -1
  414. package/dist/native/p-11faaf31.entry.js.map +0 -1
  415. package/dist/native/p-17dba26d.entry.js +0 -2
  416. package/dist/native/p-25e410c1.entry.js.map +0 -1
  417. package/dist/native/p-2a6ca749.entry.js.map +0 -1
  418. package/dist/native/p-327fa1a0.entry.js +0 -2
  419. package/dist/native/p-3bc5875e.entry.js +0 -2
  420. package/dist/native/p-3bc5875e.entry.js.map +0 -1
  421. package/dist/native/p-47c78fe4.entry.js +0 -2
  422. package/dist/native/p-47c78fe4.entry.js.map +0 -1
  423. package/dist/native/p-4a64f5b0.entry.js.map +0 -1
  424. package/dist/native/p-50c31094.entry.js.map +0 -1
  425. package/dist/native/p-605f8b3d.entry.js.map +0 -1
  426. package/dist/native/p-64ae9a21.entry.js +0 -2
  427. package/dist/native/p-64ae9a21.entry.js.map +0 -1
  428. package/dist/native/p-6e8bcd5b.entry.js.map +0 -1
  429. package/dist/native/p-6eb50254.entry.js.map +0 -1
  430. package/dist/native/p-6ef216c4.js +0 -3
  431. package/dist/native/p-6ef216c4.js.map +0 -1
  432. package/dist/native/p-7701e4cc.entry.js.map +0 -1
  433. package/dist/native/p-86947929.entry.js +0 -2
  434. package/dist/native/p-8bfdda07.entry.js +0 -2
  435. package/dist/native/p-8bfdda07.entry.js.map +0 -1
  436. package/dist/native/p-8f95f4fa.entry.js +0 -2
  437. package/dist/native/p-8f95f4fa.entry.js.map +0 -1
  438. package/dist/native/p-919cf3ec.entry.js.map +0 -1
  439. package/dist/native/p-93eea6e1.entry.js +0 -2
  440. package/dist/native/p-95714583.js +0 -2
  441. package/dist/native/p-9f89229b.entry.js +0 -2
  442. package/dist/native/p-a64baca2.entry.js.map +0 -1
  443. package/dist/native/p-a89f5542.entry.js.map +0 -1
  444. package/dist/native/p-b3ec71c9.entry.js +0 -2
  445. package/dist/native/p-bbe9a373.entry.js +0 -2
  446. package/dist/native/p-c2dfee1a.entry.js +0 -2
  447. package/dist/native/p-c5e3e234.entry.js +0 -2
  448. package/dist/native/p-c5e3e234.entry.js.map +0 -1
  449. package/dist/native/p-c5e7ecc8.entry.js.map +0 -1
  450. package/dist/native/p-c85d031d.entry.js.map +0 -1
  451. package/dist/native/p-cd75ee63.entry.js.map +0 -1
  452. package/dist/native/p-d4277c50.entry.js.map +0 -1
  453. package/dist/native/p-df6c9137.entry.js.map +0 -1
  454. package/dist/native/p-ef7f605a.entry.js +0 -2
  455. package/dist/native/p-f2e31579.entry.js +0 -2
  456. package/dist/native/p-fa8a8b21.entry.js.map +0 -1
  457. /package/dist/native/{p-e71fc762.entry.js.map → p-330c929d.entry.js.map} +0 -0
  458. /package/dist/native/{p-b3ec71c9.entry.js.map → p-589eb477.entry.js.map} +0 -0
  459. /package/dist/native/{p-bbe9a373.entry.js.map → p-7a7b9b95.entry.js.map} +0 -0
  460. /package/dist/native/{p-17dba26d.entry.js.map → p-a7a3c45f.entry.js.map} +0 -0
  461. /package/dist/native/{p-c2dfee1a.entry.js.map → p-d3d682a7.entry.js.map} +0 -0
  462. /package/dist/native/{p-327fa1a0.entry.js.map → p-d4c0a1e0.entry.js.map} +0 -0
  463. /package/dist/native/{p-95714583.js.map → p-eeb6a3dc.js.map} +0 -0
  464. /package/dist/native/{p-ef7f605a.entry.js.map → p-f7b96c42.entry.js.map} +0 -0
@@ -1,7 +1,7 @@
1
- import { p as proxyCustomElement, H, h, d as Host } from './p-0caa4741.js';
1
+ import { p as proxyCustomElement, H, h, d as Host } from './p-d506ae63.js';
2
2
  import { c as clsx } from './p-8a1a6e56.js';
3
3
  import { S as SemanticSizes } from './p-a15ddd42.js';
4
- import { d as defineCustomElement$2 } from './p-39e93e5b.js';
4
+ import { d as defineCustomElement$2 } from './p-d70df149.js';
5
5
 
6
6
  const nvAvatarCss = "nv-icon{display:inline-block;width:fit-content;height:fit-content;color:inherit}nv-icon>.nv-icon-xs{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-icon>.nv-icon-sm{width:var(--spacing-4);height:var(--spacing-4);stroke-width:1.5px}nv-icon>.nv-icon-md{width:var(--spacing-5);height:var(--spacing-5);stroke-width:1.6px}nv-icon>.nv-icon-lg{width:var(--spacing-6);height:var(--spacing-6);stroke-width:1.8px}nv-icon>.nv-icon-xl{width:var(--spacing-7);height:var(--spacing-7);stroke-width:1.9px}nv-avatar{align-items:center !important;background-color:var(--components-avatar-background-1);border-radius:var(--radius-rounded-full) !important;display:flex !important;flex-shrink:0 !important;font-family:\"TT Norms Pro\", sans-serif;font-style:normal;font-weight:var(--font-weight-medium-emphasis);justify-content:center !important;leading-trim:both;line-height:1 !important;text-align:center;text-edge:cap;text-transform:uppercase}nv-avatar.avatar-color-1{background-color:var(--components-avatar-background-1);color:var(--components-avatar-content-1)}nv-avatar.avatar-color-2{background-color:var(--components-avatar-background-2);color:var(--components-avatar-content-2)}nv-avatar.avatar-color-3{background-color:var(--components-avatar-background-3);color:var(--components-avatar-content-3)}nv-avatar.avatar-color-4{background-color:var(--components-avatar-background-4);color:var(--components-avatar-content-4)}nv-avatar.avatar-color-5{background-color:var(--components-avatar-background-5);color:var(--components-avatar-content-5)}nv-avatar.avatar-color-6{background-color:var(--components-avatar-background-6);color:var(--components-avatar-content-6)}nv-avatar.avatar-color-7{background-color:var(--components-avatar-background-7);color:var(--components-avatar-content-7)}nv-avatar.avatar-color-8{background-color:var(--components-avatar-background-8);color:var(--components-avatar-content-8)}nv-avatar.avatar-color-9{background-color:var(--components-avatar-background-9);color:var(--components-avatar-content-9)}nv-avatar.avatar-color-10{background-color:var(--components-avatar-background-10);color:var(--components-avatar-content-10)}nv-avatar img{height:100%;width:100%;object-fit:cover;object-position:center;border-radius:50%}nv-avatar.avatar-xs{width:var(--avatar-xs-size);height:var(--avatar-xs-size);font-size:var(--avatar-xs-font-size);line-height:var(--avatar-xs-font-size)}nv-avatar.avatar-xs nv-icon>svg{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-avatar.avatar-sm{width:var(--avatar-sm-size);height:var(--avatar-sm-size);font-size:var(--avatar-sm-font-size);line-height:var(--avatar-sm-font-size)}nv-avatar.avatar-sm nv-icon>svg{width:var(--spacing-4);height:var(--spacing-4);stroke-width:1.5px}nv-avatar.avatar-md{width:var(--avatar-md-size);height:var(--avatar-md-size);font-size:var(--avatar-md-font-size);line-height:var(--avatar-md-font-size)}nv-avatar.avatar-md nv-icon>svg{width:var(--spacing-5);height:var(--spacing-5);stroke-width:1.6px}nv-avatar.avatar-lg{width:var(--avatar-lg-size);height:var(--avatar-lg-size);font-size:var(--avatar-lg-font-size);line-height:var(--avatar-lg-font-size)}nv-avatar.avatar-lg nv-icon>svg{width:var(--spacing-6);height:var(--spacing-6);stroke-width:1.8px}nv-avatar.avatar-xl{width:var(--avatar-xl-size);height:var(--avatar-xl-size);font-size:var(--avatar-xl-font-size);line-height:var(--avatar-xl-font-size)}nv-avatar.avatar-xl nv-icon>svg{width:var(--spacing-7);height:var(--spacing-7);stroke-width:1.9px}";
7
7
  const NvAvatarStyle0 = nvAvatarCss;
@@ -10,14 +10,17 @@ const NvAvatar$1 = /*@__PURE__*/ proxyCustomElement(class NvAvatar extends H {
10
10
  constructor() {
11
11
  super();
12
12
  this.__registerHost();
13
- /**
14
- * Define the size of the avatar. You can use t-shirt sizes.
15
- */
13
+ this.xsmall = undefined;
14
+ this.small = undefined;
15
+ this.medium = undefined;
16
+ this.large = undefined;
17
+ this.xlarge = undefined;
18
+ this.text = undefined;
19
+ this.url = undefined;
20
+ this.alt = undefined;
21
+ this.src = undefined;
22
+ this.initials = undefined;
16
23
  this.size = 'md';
17
- /**
18
- * You can apply different colors on the Avatar.
19
- * Use a string number between 1 and 10.
20
- */
21
24
  this.color = '1';
22
25
  }
23
26
  componentWillRender() {
@@ -1 +1 @@
1
- {"file":"nv-avatar.js","mappings":";;;;;AAAA,MAAM,WAAW,GAAG,u7GAAu7G,CAAC;AAC58G,uBAAe,WAAW;;MCYbA,UAAQ;IALrB;;;;;;QA8GE,SAAI,GAAuB,IAAI,CAAC;;;;;QAOvB,UAAK,GAAW,GAAG,CAAC;KAuC9B;IAjGC,mBAAmB;QACjB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC;SACtC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC;SACjC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC;SACjC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC;SACtC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;SAC3B;QACD,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;SACrB;KACF;;;;;;;;;IA+CO,YAAY,CAAC,QAAgB;QACnC,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACxC;;;;IAMD,MAAM;QACJ,QACE,EAAC,IAAI,qDACH,KAAK,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,EAAE,EAAE,gBAAgB,IAAI,CAAC,KAAK,EAAE,CAAC,gBACpD,IAAI,CAAC,GAAG,IAEnB,IAAI,CAAC,GAAG,IACP,WAAK,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAI,IACnC,IAAI,CAAC,QAAQ,IACf,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAEhC,YAAM,IAAI,EAAC,MAAM,IACf,eAAS,IAAI,EAAC,MAAM,GAAG,CAClB,CACR,CACI,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["NvAvatar"],"sources":["src/components/nv-avatar/nv-avatar.scss?tag=nv-avatar","src/components/nv-avatar/nv-avatar.tsx"],"sourcesContent":["@use \"sass:map\";\n@use \"../nv-icon/nv-icon.scss\" as icon;\n\n/* Variants */\n$avatar-sizes: (\"xs\", \"sm\", \"md\", \"lg\", \"xl\");\n$avatar-colors: (\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\");\n\n/* Define maps for size-related variables */\n$avatar-size: (\n \"xs\": var(--avatar-xs-size),\n \"sm\": var(--avatar-sm-size),\n \"md\": var(--avatar-md-size),\n \"lg\": var(--avatar-lg-size),\n \"xl\": var(--avatar-xl-size)\n);\n\n$avatar-font-size: (\n \"xs\": var(--avatar-xs-font-size),\n \"sm\": var(--avatar-sm-font-size),\n \"md\": var(--avatar-md-font-size),\n \"lg\": var(--avatar-lg-font-size),\n \"xl\": var(--avatar-xl-font-size)\n);\n\n/* Define maps for color-related variables */\n$avatar-color-background: (\n \"1\": var(--components-avatar-background-1),\n \"2\": var(--components-avatar-background-2),\n \"3\": var(--components-avatar-background-3),\n \"4\": var(--components-avatar-background-4),\n \"5\": var(--components-avatar-background-5),\n \"6\": var(--components-avatar-background-6),\n \"7\": var(--components-avatar-background-7),\n \"8\": var(--components-avatar-background-8),\n \"9\": var(--components-avatar-background-9),\n \"10\": var(--components-avatar-background-10)\n);\n\n$avatar-color-content: (\n \"1\": var(--components-avatar-content-1),\n \"2\": var(--components-avatar-content-2),\n \"3\": var(--components-avatar-content-3),\n \"4\": var(--components-avatar-content-4),\n \"5\": var(--components-avatar-content-5),\n \"6\": var(--components-avatar-content-6),\n \"7\": var(--components-avatar-content-7),\n \"8\": var(--components-avatar-content-8),\n \"9\": var(--components-avatar-content-9),\n \"10\": var(--components-avatar-content-10)\n);\n\n@mixin avatar-base-styles() {\n align-items: center !important;\n background-color: var(--components-avatar-background-1);\n border-radius: var(--radius-rounded-full) !important;\n display: flex !important;\n flex-shrink: 0 !important;\n font-family: \"TT Norms Pro\", sans-serif;\n font-style: normal;\n font-weight: var(--font-weight-medium-emphasis);\n justify-content: center !important;\n leading-trim: both;\n line-height: 1 !important;\n text-align: center;\n text-edge: cap;\n text-transform: uppercase;\n}\n\n@mixin avatar-color($avatar-number) {\n background-color: map.get($avatar-color-background, $avatar-number);\n color: map.get($avatar-color-content, $avatar-number);\n}\n\n@mixin avatar-image-styles() {\n height: 100%;\n width: 100%;\n object-fit: cover;\n object-position: center;\n border-radius: 50%;\n}\n\n@mixin avatar-size-styles($size) {\n width: map.get($avatar-size, $size);\n height: map.get($avatar-size, $size);\n font-size: map.get($avatar-font-size, $size);\n line-height: map.get($avatar-font-size, $size);\n\n nv-icon > svg {\n @include icon.icon-size-and-stroke(\n map.get(map.get(icon.$icon-config, $size), size),\n map.get(map.get(icon.$icon-config, $size), stroke)\n );\n }\n}\n\nnv-avatar {\n @include avatar-base-styles();\n\n @each $color in $avatar-colors {\n &.avatar-color-#{$color} {\n @include avatar-color($color);\n }\n }\n\n img {\n @include avatar-image-styles();\n }\n\n @each $size in $avatar-sizes {\n &.avatar-#{$size} {\n @include avatar-size-styles($size);\n }\n }\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\nimport clsx from 'clsx';\n\nimport { SemanticSizes } from '../../utils/constants';\n\n/**\n * @slot icon - if you want to add an icon to the avatar, use this slot with an svg or nv-icon\n */\n@Component({\n tag: 'nv-avatar',\n styleUrl: 'nv-avatar.scss',\n shadow: false,\n})\nexport class NvAvatar {\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Set size to ExtraSmall to the avatar.\n * @deprecated use size instead.\n */\n @Prop()\n readonly xsmall: boolean;\n\n /**\n * Set size to Small to the avatar.\n * @deprecated use size instead.\n */\n @Prop()\n readonly small: boolean;\n\n /**\n * Set size to Medium to the avatar.\n * @deprecated use size instead.\n */\n @Prop()\n readonly medium: boolean;\n\n /**\n * Set size to Large to the avatar.\n * @deprecated use size instead.\n */\n @Prop()\n readonly large: boolean;\n\n /**\n * Set size to ExtraLarge to the avatar.\n * @deprecated use size instead.\n */\n @Prop()\n readonly xlarge: boolean;\n\n /**\n * Set initials to the avatar.\n * @deprecated use initials instead.\n */\n\n @Prop()\n readonly text: string;\n\n /**\n * Set src to the avatar.\n * @deprecated use src instead.\n */\n @Prop()\n readonly url: string;\n\n componentWillRender() {\n if (this.xsmall) {\n this.size = SemanticSizes.ExtraSmall;\n }\n if (this.small) {\n this.size = SemanticSizes.Small;\n }\n if (this.medium) {\n this.size = SemanticSizes.Medium;\n }\n if (this.large) {\n this.size = SemanticSizes.Large;\n }\n if (this.xlarge) {\n this.size = SemanticSizes.ExtraLarge;\n }\n if (this.text) {\n this.initials = this.text;\n }\n if (this.url) {\n this.src = this.url;\n }\n }\n\n //#endregion DEPRECATED\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * If and image is provided, add an alt tag to describe it.\n */\n @Prop({ reflect: true })\n readonly alt: string;\n\n /**\n * Will insert an image into the avatar.\n */\n @Prop({ reflect: true, mutable: true })\n src: string;\n\n /**\n * Initials of the avatar. Usually use two letters\n * When filled with the src parameter, the text will not be rendered.\n */\n @Prop({ reflect: true, mutable: true })\n initials: string;\n\n /**\n * Define the size of the avatar. You can use t-shirt sizes.\n */\n @Prop({ reflect: true, mutable: true })\n size: `${SemanticSizes}` = 'md';\n\n /**\n * You can apply different colors on the Avatar.\n * Use a string number between 1 and 10.\n */\n @Prop({ reflect: true })\n readonly color: string = '1';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Makes sure the initials are trimmed to 2 letters.\n * @param {string} initials - The initials to be trimmed.\n * @returns {string} The trimmed initials.\n */\n private trimInitials(initials: string): string {\n return initials.trim().substring(0, 2);\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n class={clsx(`avatar-${this.size}`, `avatar-color-${this.color}`)}\n aria-label={this.alt}\n >\n {this.src ? (\n <img src={this.src} alt={this.alt} />\n ) : this.initials ? (\n this.trimInitials(this.initials)\n ) : (\n <slot name=\"icon\">\n <nv-icon name=\"user\" />\n </slot>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
1
+ {"file":"nv-avatar.js","mappings":";;;;;AAAA,MAAM,WAAW,GAAG,u7GAAu7G,CAAC;AAC58G,uBAAe,WAAW;;MCYbA,UAAQ;;;;;;;;;;;;;;oBAyGQ,IAAI;qBAON,GAAG;;IA1D5B,mBAAmB;QACjB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC;SACtC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC;SACjC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC;SACjC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC;SACtC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;SAC3B;QACD,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;SACrB;KACF;;;;;;;;;IA+CO,YAAY,CAAC,QAAgB;QACnC,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACxC;;;;IAMD,MAAM;QACJ,QACE,EAAC,IAAI,qDACH,KAAK,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,EAAE,EAAE,gBAAgB,IAAI,CAAC,KAAK,EAAE,CAAC,gBACpD,IAAI,CAAC,GAAG,IAEnB,IAAI,CAAC,GAAG,IACP,WAAK,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAI,IACnC,IAAI,CAAC,QAAQ,IACf,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,KAEhC,YAAM,IAAI,EAAC,MAAM,IACf,eAAS,IAAI,EAAC,MAAM,GAAG,CAClB,CACR,CACI,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["NvAvatar"],"sources":["src/components/nv-avatar/nv-avatar.scss?tag=nv-avatar","src/components/nv-avatar/nv-avatar.tsx"],"sourcesContent":["@use \"sass:map\";\n@use \"../nv-icon/nv-icon.scss\" as icon;\n\n/* Variants */\n$avatar-sizes: (\"xs\", \"sm\", \"md\", \"lg\", \"xl\");\n$avatar-colors: (\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\");\n\n/* Define maps for size-related variables */\n$avatar-size: (\n \"xs\": var(--avatar-xs-size),\n \"sm\": var(--avatar-sm-size),\n \"md\": var(--avatar-md-size),\n \"lg\": var(--avatar-lg-size),\n \"xl\": var(--avatar-xl-size)\n);\n\n$avatar-font-size: (\n \"xs\": var(--avatar-xs-font-size),\n \"sm\": var(--avatar-sm-font-size),\n \"md\": var(--avatar-md-font-size),\n \"lg\": var(--avatar-lg-font-size),\n \"xl\": var(--avatar-xl-font-size)\n);\n\n/* Define maps for color-related variables */\n$avatar-color-background: (\n \"1\": var(--components-avatar-background-1),\n \"2\": var(--components-avatar-background-2),\n \"3\": var(--components-avatar-background-3),\n \"4\": var(--components-avatar-background-4),\n \"5\": var(--components-avatar-background-5),\n \"6\": var(--components-avatar-background-6),\n \"7\": var(--components-avatar-background-7),\n \"8\": var(--components-avatar-background-8),\n \"9\": var(--components-avatar-background-9),\n \"10\": var(--components-avatar-background-10)\n);\n\n$avatar-color-content: (\n \"1\": var(--components-avatar-content-1),\n \"2\": var(--components-avatar-content-2),\n \"3\": var(--components-avatar-content-3),\n \"4\": var(--components-avatar-content-4),\n \"5\": var(--components-avatar-content-5),\n \"6\": var(--components-avatar-content-6),\n \"7\": var(--components-avatar-content-7),\n \"8\": var(--components-avatar-content-8),\n \"9\": var(--components-avatar-content-9),\n \"10\": var(--components-avatar-content-10)\n);\n\n@mixin avatar-base-styles() {\n align-items: center !important;\n background-color: var(--components-avatar-background-1);\n border-radius: var(--radius-rounded-full) !important;\n display: flex !important;\n flex-shrink: 0 !important;\n font-family: \"TT Norms Pro\", sans-serif;\n font-style: normal;\n font-weight: var(--font-weight-medium-emphasis);\n justify-content: center !important;\n leading-trim: both;\n line-height: 1 !important;\n text-align: center;\n text-edge: cap;\n text-transform: uppercase;\n}\n\n@mixin avatar-color($avatar-number) {\n background-color: map.get($avatar-color-background, $avatar-number);\n color: map.get($avatar-color-content, $avatar-number);\n}\n\n@mixin avatar-image-styles() {\n height: 100%;\n width: 100%;\n object-fit: cover;\n object-position: center;\n border-radius: 50%;\n}\n\n@mixin avatar-size-styles($size) {\n width: map.get($avatar-size, $size);\n height: map.get($avatar-size, $size);\n font-size: map.get($avatar-font-size, $size);\n line-height: map.get($avatar-font-size, $size);\n\n nv-icon > svg {\n @include icon.icon-size-and-stroke(\n map.get(map.get(icon.$icon-config, $size), size),\n map.get(map.get(icon.$icon-config, $size), stroke)\n );\n }\n}\n\nnv-avatar {\n @include avatar-base-styles();\n\n @each $color in $avatar-colors {\n &.avatar-color-#{$color} {\n @include avatar-color($color);\n }\n }\n\n img {\n @include avatar-image-styles();\n }\n\n @each $size in $avatar-sizes {\n &.avatar-#{$size} {\n @include avatar-size-styles($size);\n }\n }\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\nimport clsx from 'clsx';\n\nimport { SemanticSizes } from '../../utils/constants';\n\n/**\n * @slot icon - if you want to add an icon to the avatar, use this slot with an svg or nv-icon\n */\n@Component({\n tag: 'nv-avatar',\n styleUrl: 'nv-avatar.scss',\n shadow: false,\n})\nexport class NvAvatar {\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Set size to ExtraSmall to the avatar.\n * @deprecated use size instead.\n */\n @Prop()\n readonly xsmall: boolean;\n\n /**\n * Set size to Small to the avatar.\n * @deprecated use size instead.\n */\n @Prop()\n readonly small: boolean;\n\n /**\n * Set size to Medium to the avatar.\n * @deprecated use size instead.\n */\n @Prop()\n readonly medium: boolean;\n\n /**\n * Set size to Large to the avatar.\n * @deprecated use size instead.\n */\n @Prop()\n readonly large: boolean;\n\n /**\n * Set size to ExtraLarge to the avatar.\n * @deprecated use size instead.\n */\n @Prop()\n readonly xlarge: boolean;\n\n /**\n * Set initials to the avatar.\n * @deprecated use initials instead.\n */\n\n @Prop()\n readonly text: string;\n\n /**\n * Set src to the avatar.\n * @deprecated use src instead.\n */\n @Prop()\n readonly url: string;\n\n componentWillRender() {\n if (this.xsmall) {\n this.size = SemanticSizes.ExtraSmall;\n }\n if (this.small) {\n this.size = SemanticSizes.Small;\n }\n if (this.medium) {\n this.size = SemanticSizes.Medium;\n }\n if (this.large) {\n this.size = SemanticSizes.Large;\n }\n if (this.xlarge) {\n this.size = SemanticSizes.ExtraLarge;\n }\n if (this.text) {\n this.initials = this.text;\n }\n if (this.url) {\n this.src = this.url;\n }\n }\n\n //#endregion DEPRECATED\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * If and image is provided, add an alt tag to describe it.\n */\n @Prop({ reflect: true })\n readonly alt: string;\n\n /**\n * Will insert an image into the avatar.\n */\n @Prop({ reflect: true, mutable: true })\n src: string;\n\n /**\n * Initials of the avatar. Usually use two letters\n * When filled with the src parameter, the text will not be rendered.\n */\n @Prop({ reflect: true, mutable: true })\n initials: string;\n\n /**\n * Define the size of the avatar. You can use t-shirt sizes.\n */\n @Prop({ reflect: true, mutable: true })\n size: `${SemanticSizes}` = 'md';\n\n /**\n * You can apply different colors on the Avatar.\n * Use a string number between 1 and 10.\n */\n @Prop({ reflect: true })\n readonly color: string = '1';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Makes sure the initials are trimmed to 2 letters.\n * @param {string} initials - The initials to be trimmed.\n * @returns {string} The trimmed initials.\n */\n private trimInitials(initials: string): string {\n return initials.trim().substring(0, 2);\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n class={clsx(`avatar-${this.size}`, `avatar-color-${this.color}`)}\n aria-label={this.alt}\n >\n {this.src ? (\n <img src={this.src} alt={this.alt} />\n ) : this.initials ? (\n this.trimInitials(this.initials)\n ) : (\n <slot name=\"icon\">\n <nv-icon name=\"user\" />\n </slot>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
@@ -1,176 +1,4 @@
1
- import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-0caa4741.js';
2
- import { c as clsx } from './p-8a1a6e56.js';
3
- import { u as useCollapse, t as timeline } from './p-42301d8f.js';
4
- import { u as useFade } from './p-1daca48a.js';
5
- import { d as defineCustomElement$2 } from './p-39e93e5b.js';
6
-
7
- const nvBadgeCss = "nv-icon{display:inline-block;width:fit-content;height:fit-content;color:inherit}nv-icon>.nv-icon-xs{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-icon>.nv-icon-sm{width:var(--spacing-4);height:var(--spacing-4);stroke-width:1.5px}nv-icon>.nv-icon-md{width:var(--spacing-5);height:var(--spacing-5);stroke-width:1.6px}nv-icon>.nv-icon-lg{width:var(--spacing-6);height:var(--spacing-6);stroke-width:1.8px}nv-icon>.nv-icon-xl{width:var(--spacing-7);height:var(--spacing-7);stroke-width:1.9px}nv-badge{padding:var(--badge-padding-y) var(--badge-padding-x);display:inline-flex !important;vertical-align:middle;align-items:center;border-radius:var(--radius-rounded-full);height:fit-content;width:fit-content}nv-badge.with-gap{padding:var(--badge-padding-y) var(--badge-padding-x);display:inline-flex !important;vertical-align:middle;align-items:center;border-radius:var(--radius-rounded-full);height:fit-content;width:fit-content;gap:var(--badge-gap-x)}nv-badge:not(.with-gap){padding:var(--badge-padding-y) var(--badge-padding-x);display:inline-flex !important;vertical-align:middle;align-items:center;border-radius:var(--radius-rounded-full);height:fit-content;width:fit-content}nv-badge.badge-1{color:var(--color-rainbow-1-content);background-color:var(--color-rainbow-1-background)}nv-badge.badge-1 .close:focus,nv-badge.badge-1 .close:focus-within{outline:none}nv-badge.badge-1 .close:focus-visible,nv-badge.badge-1 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-1-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-1 nv-icon{color:var(--color-rainbow-1-content)}nv-badge.badge-2{color:var(--color-rainbow-2-content);background-color:var(--color-rainbow-2-background)}nv-badge.badge-2 .close:focus,nv-badge.badge-2 .close:focus-within{outline:none}nv-badge.badge-2 .close:focus-visible,nv-badge.badge-2 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-2-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-2 nv-icon{color:var(--color-rainbow-2-content)}nv-badge.badge-3{color:var(--color-rainbow-3-content);background-color:var(--color-rainbow-3-background)}nv-badge.badge-3 .close:focus,nv-badge.badge-3 .close:focus-within{outline:none}nv-badge.badge-3 .close:focus-visible,nv-badge.badge-3 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-3-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-3 nv-icon{color:var(--color-rainbow-3-content)}nv-badge.badge-4{color:var(--color-rainbow-4-content);background-color:var(--color-rainbow-4-background)}nv-badge.badge-4 .close:focus,nv-badge.badge-4 .close:focus-within{outline:none}nv-badge.badge-4 .close:focus-visible,nv-badge.badge-4 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-4-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-4 nv-icon{color:var(--color-rainbow-4-content)}nv-badge.badge-5{color:var(--color-rainbow-5-content);background-color:var(--color-rainbow-5-background)}nv-badge.badge-5 .close:focus,nv-badge.badge-5 .close:focus-within{outline:none}nv-badge.badge-5 .close:focus-visible,nv-badge.badge-5 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-5-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-5 nv-icon{color:var(--color-rainbow-5-content)}nv-badge.badge-6{color:var(--color-rainbow-6-content);background-color:var(--color-rainbow-6-background)}nv-badge.badge-6 .close:focus,nv-badge.badge-6 .close:focus-within{outline:none}nv-badge.badge-6 .close:focus-visible,nv-badge.badge-6 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-6-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-6 nv-icon{color:var(--color-rainbow-6-content)}nv-badge.badge-7{color:var(--color-rainbow-7-content);background-color:var(--color-rainbow-7-background)}nv-badge.badge-7 .close:focus,nv-badge.badge-7 .close:focus-within{outline:none}nv-badge.badge-7 .close:focus-visible,nv-badge.badge-7 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-7-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-7 nv-icon{color:var(--color-rainbow-7-content)}nv-badge.badge-8{color:var(--color-rainbow-8-content);background-color:var(--color-rainbow-8-background)}nv-badge.badge-8 .close:focus,nv-badge.badge-8 .close:focus-within{outline:none}nv-badge.badge-8 .close:focus-visible,nv-badge.badge-8 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-8-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-8 nv-icon{color:var(--color-rainbow-8-content)}nv-badge.badge-9{color:var(--color-rainbow-9-content);background-color:var(--color-rainbow-9-background)}nv-badge.badge-9 .close:focus,nv-badge.badge-9 .close:focus-within{outline:none}nv-badge.badge-9 .close:focus-visible,nv-badge.badge-9 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-9-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-9 nv-icon{color:var(--color-rainbow-9-content)}nv-badge.badge-10{color:var(--color-rainbow-10-content);background-color:var(--color-rainbow-10-background)}nv-badge.badge-10 .close:focus,nv-badge.badge-10 .close:focus-within{outline:none}nv-badge.badge-10 .close:focus-visible,nv-badge.badge-10 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-10-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-10 nv-icon{color:var(--color-rainbow-10-content)}nv-badge span{font-size:var(--font-size-xs);line-height:var(--line-height-xs) !important}nv-badge nv-icon>svg.icon-xs{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-sm{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-md{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-lg{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-xl{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge .close{padding:0;line-height:0;border:none;background:none;cursor:pointer;color:inherit;display:inline-flex;align-items:center;aspect-ratio:1/1;border-radius:var(--radius-rounded-full)}";
8
- const NvBadgeStyle0 = nvBadgeCss;
9
-
10
- const NvBadge$1 = /*@__PURE__*/ proxyCustomElement(class NvBadge extends H {
11
- constructor() {
12
- super();
13
- this.__registerHost();
14
- this.closeClicked = createEvent(this, "closeClicked", 7);
15
- this.hiddenChanged = createEvent(this, "hiddenChanged", 7);
16
- this.hiddenChangedComplete = createEvent(this, "hiddenChangedComplete", 7);
17
- /****************************************************************************/
18
- //#region DEPRECATED
19
- /**
20
- * Whether the badge is dismissible.
21
- * @deprecated use dismissible instead.
22
- */
23
- this.dismissal = false;
24
- //#endregion DEPRECATED
25
- /****************************************************************************/
26
- //#region PROPERTIES
27
- /**
28
- * The color of the badge. Use a string between 1 to 10
29
- */
30
- this.color = '1';
31
- /**
32
- * Main content of the badge.
33
- */
34
- this.label = null;
35
- /**
36
- * The lead icon of the badge.
37
- */
38
- this.leadIcon = null;
39
- /**
40
- * Whether the badge is dismissible.
41
- */
42
- this.dismissible = false;
43
- /**
44
- * Controls the visibility of the badge. Will animate with fade and collapse.
45
- */
46
- this.hidden = false; // eslint-disable-line @stencil-community/reserved-member-names
47
- this._isHidden = this.hidden;
48
- /**
49
- * When true, the alert does not automatically close upon dismissing.
50
- * Useful for externally controlled component behavior.
51
- */
52
- this.preventAutoClose = false;
53
- //#endregion LIFECYCLE
54
- /****************************************************************************/
55
- //#region METHODS
56
- /**
57
- * Handles the close button click.
58
- * @param {MouseEvent} originalEvent - The original event.
59
- */
60
- this.handleClose = (originalEvent) => {
61
- if (!this.preventAutoClose) {
62
- this.hidden = true;
63
- }
64
- this.closeClicked.emit(originalEvent);
65
- };
66
- }
67
- //#endregion EVENTS
68
- /****************************************************************************/
69
- //#region WATCHERS
70
- /**
71
- * Handles the dismissal prop change.
72
- * @param {boolean} dismissal - The new dismissal value.
73
- */
74
- handleDismissalChange(dismissal) {
75
- this.dismissible = dismissal;
76
- }
77
- /**
78
- * Handles the icon prop change.
79
- * @param {string} icon - The new icon value.
80
- */
81
- handleIconChange(icon) {
82
- this.leadIcon = icon;
83
- }
84
- /**
85
- * Handles the hidden prop change.
86
- * @param {boolean} hidden - The new hidden value.
87
- */
88
- async handleHiddenChange(hidden) {
89
- this.hiddenChanged.emit(hidden);
90
- if (this._isHidden === true)
91
- this._isHidden = hidden;
92
- const { fadeIn, fadeOut } = useFade(this.ref, { duration: 150 });
93
- const { collapse, expand } = useCollapse(this.ref, { duration: 150 });
94
- if (hidden === true)
95
- await timeline(fadeOut, collapse).start();
96
- if (hidden === false)
97
- await timeline(expand, fadeIn).start();
98
- this.hiddenChangedComplete.emit(hidden);
99
- if (this._isHidden === false)
100
- this._isHidden = hidden;
101
- }
102
- //#endregion WATCHERS
103
- /****************************************************************************/
104
- //#region LIFECYCLE
105
- /**
106
- * Component will load.
107
- */
108
- componentWillLoad() {
109
- if (this.dismissal) {
110
- this.dismissible = this.dismissal;
111
- }
112
- if (this.icon != null && this.icon != '') {
113
- this.leadIcon = this.icon;
114
- }
115
- if (this.hidden) {
116
- const { setCollapsed } = useCollapse(this.ref);
117
- const { setFadeOut } = useFade(this.ref);
118
- setCollapsed();
119
- setFadeOut();
120
- }
121
- }
122
- //#endregion METHODS
123
- /****************************************************************************/
124
- //#region RENDER
125
- render() {
126
- return (h(Host, { key: '18d3a28777aa74117ccc68aa0c889ea716b90d56', class: clsx(`badge-${this.color}`, {
127
- 'has-close': this.dismissible,
128
- 'with-gap': this.dismissible || this.label,
129
- 'visually-hidden': this._isHidden,
130
- }) }, h("slot", { key: '87ac2dd4ae3ba521d1a6b15394d79c85c1899102', name: "leading-icon" }, this.leadIcon && (h("nv-icon", { key: '22fbc091fe0c861e9a6ce12e5ba1b8d0e83ca7da', slot: "leading-icon", name: this.leadIcon, size: "sm" }))), this.label && h("span", { key: '040559657d6a337b2cd3ce265d2e99cdd0245324' }, this.label), this.dismissible && (h("button", { key: 'd0f992bdf748be5bf63d7a3e9864f96cad4dfae7', onClick: this.handleClose, class: "close", type: "button" }, h("nv-icon", { key: '60915e33efb355a5e2820507fe2365ba4e602c26', name: "x", size: "sm" })))));
131
- }
132
- get ref() { return this; }
133
- static get watchers() { return {
134
- "dismissal": ["handleDismissalChange"],
135
- "icon": ["handleIconChange"],
136
- "hidden": ["handleHiddenChange"]
137
- }; }
138
- static get style() { return NvBadgeStyle0; }
139
- }, [4, "nv-badge", {
140
- "dismissal": [4],
141
- "icon": [1],
142
- "iconLocation": [513, "icon-location"],
143
- "color": [513],
144
- "label": [513],
145
- "leadIcon": [1537, "lead-icon"],
146
- "dismissible": [1540],
147
- "hidden": [1540],
148
- "preventAutoClose": [516, "prevent-auto-close"],
149
- "_isHidden": [32]
150
- }, undefined, {
151
- "dismissal": ["handleDismissalChange"],
152
- "icon": ["handleIconChange"],
153
- "hidden": ["handleHiddenChange"]
154
- }]);
155
- function defineCustomElement$1() {
156
- if (typeof customElements === "undefined") {
157
- return;
158
- }
159
- const components = ["nv-badge", "nv-icon"];
160
- components.forEach(tagName => { switch (tagName) {
161
- case "nv-badge":
162
- if (!customElements.get(tagName)) {
163
- customElements.define(tagName, NvBadge$1);
164
- }
165
- break;
166
- case "nv-icon":
167
- if (!customElements.get(tagName)) {
168
- defineCustomElement$2();
169
- }
170
- break;
171
- } });
172
- }
173
- defineCustomElement$1();
1
+ import { N as NvBadge$1, d as defineCustomElement$1 } from './p-a4802979.js';
174
2
 
175
3
  const NvBadge = NvBadge$1;
176
4
  const defineCustomElement = defineCustomElement$1;
@@ -1 +1 @@
1
- {"file":"nv-badge.js","mappings":";;;;;;AAAA,MAAM,UAAU,GAAG,w4MAAw4M,CAAC;AAC55M,sBAAe,UAAU;;MCqBZA,SAAO;IALpB;;;;;;;;;;;;QAgBW,cAAS,GAAY,KAAK,CAAC;;;;;;;QAwB3B,UAAK,GAAY,GAAG,CAAC;;;;QAMrB,UAAK,GAAmB,IAAI,CAAC;;;;QAMtC,aAAQ,GAAmB,IAAI,CAAC;;;;QAMhC,gBAAW,GAAY,KAAK,CAAC;;;;QAM7B,WAAM,GAAY,KAAK,CAAC;QAEhB,cAAS,GAAY,IAAI,CAAC,MAAM,CAAC;;;;;QAOhC,qBAAgB,GAAY,KAAK,CAAC;;;;;;;;QAoG1B,gBAAW,GAAG,CAAC,aAA0B;YACxD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACpB;YAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACvC,CAAC;KAmCH;;;;;;;;IA3GC,qBAAqB,CAAC,SAAkB;QACtC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;KAC9B;;;;;IAOD,gBAAgB,CAAC,IAAY;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;KACtB;;;;;IAOD,MAAM,kBAAkB,CAAC,MAAe;QACtC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI;YAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;QAErD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QACjE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QAEtE,IAAI,MAAM,KAAK,IAAI;YAAE,MAAM,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/D,IAAI,MAAM,KAAK,KAAK;YAAE,MAAM,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAE7D,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAExC,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK;YAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;KACvD;;;;;;;IASD,iBAAiB;QACf,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;SACnC;QAED,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE;YACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;SAC3B;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,MAAM,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEzC,YAAY,EAAE,CAAC;YACf,UAAU,EAAE,CAAC;SACd;KACF;;;;IAsBD,MAAM;QACJ,QACE,EAAC,IAAI,qDACH,KAAK,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,EAAE;gBACjC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK;gBAC1C,iBAAiB,EAAE,IAAI,CAAC,SAAS;aAClC,CAAC,IAEF,6DAAM,IAAI,EAAC,cAAc,IACtB,IAAI,CAAC,QAAQ,KACZ,gEACE,IAAI,EAAC,cAAc,EACnB,IAAI,EAAE,IAAI,CAAC,QAAQ,EACnB,IAAI,EAAC,IAAI,GACA,CACZ,CACI,EACN,IAAI,CAAC,KAAK,IAAI,+DAAO,IAAI,CAAC,KAAK,CAAQ,EACvC,IAAI,CAAC,WAAW,KACf,+DAAQ,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAC,OAAO,EAAC,IAAI,EAAC,QAAQ,IAC5D,gEAAS,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,GAAG,CACvB,CACV,CACI,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["NvBadge"],"sources":["src/components/nv-badge/nv-badge.scss?tag=nv-badge","src/components/nv-badge/nv-badge.tsx"],"sourcesContent":["@use \"sass:map\";\n@use \"../nv-icon/nv-icon.scss\" as icon;\n@import \"../../styles/focus-ring\";\n\n/* Variants */\n$badge-colors: (\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"10\");\n\n/* Define maps for color-related variables */\n$color-rainbow-content: (\n \"1\": var(--color-rainbow-1-content),\n \"2\": var(--color-rainbow-2-content),\n \"3\": var(--color-rainbow-3-content),\n \"4\": var(--color-rainbow-4-content),\n \"5\": var(--color-rainbow-5-content),\n \"6\": var(--color-rainbow-6-content),\n \"7\": var(--color-rainbow-7-content),\n \"8\": var(--color-rainbow-8-content),\n \"9\": var(--color-rainbow-9-content),\n \"10\": var(--color-rainbow-10-content)\n);\n\n$color-rainbow-background: (\n \"1\": var(--color-rainbow-1-background),\n \"2\": var(--color-rainbow-2-background),\n \"3\": var(--color-rainbow-3-background),\n \"4\": var(--color-rainbow-4-background),\n \"5\": var(--color-rainbow-5-background),\n \"6\": var(--color-rainbow-6-background),\n \"7\": var(--color-rainbow-7-background),\n \"8\": var(--color-rainbow-8-background),\n \"9\": var(--color-rainbow-9-background),\n \"10\": var(--color-rainbow-10-background)\n);\n\n@mixin root-styles() {\n padding: var(--badge-padding-y) var(--badge-padding-x);\n display: inline-flex !important; // override the display: none in [hidden] css\n vertical-align: middle;\n align-items: center;\n border-radius: var(--radius-rounded-full);\n height: fit-content;\n width: fit-content;\n}\n\n@mixin root-styles-with-gap() {\n @include root-styles();\n gap: var(--badge-gap-x);\n}\n\n@mixin badge-color($badge-number) {\n color: map.get($color-rainbow-content, $badge-number);\n background-color: map.get($color-rainbow-background, $badge-number);\n .close {\n @include focus-ring(var(--color-rainbow-#{$badge-number}-content), 0.2);\n }\n}\n\n@mixin icon-color($badge-number) {\n color: map.get($color-rainbow-content, $badge-number);\n}\n\n@mixin type-settings($font-size, $line-height) {\n font-size: var(--font-size-xs);\n line-height: var(--line-height-xs) !important;\n}\n\nnv-badge {\n @include root-styles();\n\n //gap styles\n &.with-gap {\n @include root-styles-with-gap();\n }\n\n &:not(.with-gap) {\n @include root-styles();\n }\n\n // color styles\n @each $i in $badge-colors {\n &.badge-#{$i} {\n @include badge-color($i);\n nv-icon {\n @include icon-color($i);\n }\n }\n }\n\n //label styles\n & span {\n @include type-settings(xs, xs);\n }\n\n // nv-icon styles\n & nv-icon > svg {\n @each $size, $config in icon.$icon-config {\n &.icon-#{$size} {\n @include icon.icon-size-and-stroke(\n map.get(map.get(icon.$icon-config, \"xs\"), size),\n map.get(map.get(icon.$icon-config, \"xs\"), stroke)\n );\n }\n }\n }\n\n .close {\n padding: 0;\n line-height: 0;\n border: none;\n background: none;\n cursor: pointer;\n color: inherit;\n display: inline-flex;\n align-items: center;\n aspect-ratio: 1/1;\n border-radius: var(--radius-rounded-full);\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Watch,\n Element,\n State,\n} from '@stencil/core';\nimport clsx from 'clsx';\nimport { useFade, useCollapse, timeline } from '../../animations';\n\n/**\n * @slot leading-icon - Icon before the label.\n */\n@Component({\n tag: 'nv-badge',\n styleUrl: 'nv-badge.scss',\n shadow: false,\n})\nexport class NvBadge {\n @Element() ref: HTMLNvBadgeElement;\n\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Whether the badge is dismissible.\n * @deprecated use dismissible instead.\n */\n @Prop()\n readonly dismissal: boolean = false;\n\n /**\n * The icon to display in the badge.\n * @deprecated use leadIcon or slot=\"leading-icon\" instead.\n */\n @Prop()\n readonly icon: string;\n\n /**\n * The location of the icon in the badge.\n * @deprecated only leadIcon now.\n */\n @Prop({ reflect: true })\n readonly iconLocation: 'left' | 'right';\n\n //#endregion DEPRECATED\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * The color of the badge. Use a string between 1 to 10\n */\n @Prop({ reflect: true })\n readonly color?: string = '1';\n\n /**\n * Main content of the badge.\n */\n @Prop({ reflect: true })\n readonly label?: string | null = null;\n\n /**\n * The lead icon of the badge.\n */\n @Prop({ reflect: true, mutable: true })\n leadIcon?: string | null = null;\n\n /**\n * Whether the badge is dismissible.\n */\n @Prop({ reflect: true, mutable: true })\n dismissible: boolean = false;\n\n /**\n * Controls the visibility of the badge. Will animate with fade and collapse.\n */\n @Prop({ reflect: true, mutable: true })\n hidden: boolean = false; // eslint-disable-line @stencil-community/reserved-member-names\n @State()\n private _isHidden: boolean = this.hidden;\n\n /**\n * When true, the alert does not automatically close upon dismissing.\n * Useful for externally controlled component behavior.\n */\n @Prop({ reflect: true })\n readonly preventAutoClose: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the badge is dismissed.\n */\n @Event()\n closeClicked: EventEmitter<MouseEvent>;\n\n /**\n * Emits when the 'hidden' prop changes, reflecting a change in visibility.\n * Passes hidden value to the detail.\n */\n @Event()\n hiddenChanged: EventEmitter<boolean>;\n\n /**\n * Emitted when the animations complete, detail includes the hidden value.\n */\n @Event()\n hiddenChangedComplete: EventEmitter<boolean>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n /**\n * Handles the dismissal prop change.\n * @param {boolean} dismissal - The new dismissal value.\n */\n @Watch('dismissal')\n handleDismissalChange(dismissal: boolean) {\n this.dismissible = dismissal;\n }\n\n /**\n * Handles the icon prop change.\n * @param {string} icon - The new icon value.\n */\n @Watch('icon')\n handleIconChange(icon: string) {\n this.leadIcon = icon;\n }\n\n /**\n * Handles the hidden prop change.\n * @param {boolean} hidden - The new hidden value.\n */\n @Watch('hidden')\n async handleHiddenChange(hidden: boolean) {\n this.hiddenChanged.emit(hidden);\n if (this._isHidden === true) this._isHidden = hidden;\n\n const { fadeIn, fadeOut } = useFade(this.ref, { duration: 150 });\n const { collapse, expand } = useCollapse(this.ref, { duration: 150 });\n\n if (hidden === true) await timeline(fadeOut, collapse).start();\n if (hidden === false) await timeline(expand, fadeIn).start();\n\n this.hiddenChangedComplete.emit(hidden);\n\n if (this._isHidden === false) this._isHidden = hidden;\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n /**\n * Component will load.\n */\n componentWillLoad() {\n if (this.dismissal) {\n this.dismissible = this.dismissal;\n }\n\n if (this.icon != null && this.icon != '') {\n this.leadIcon = this.icon;\n }\n\n if (this.hidden) {\n const { setCollapsed } = useCollapse(this.ref);\n const { setFadeOut } = useFade(this.ref);\n\n setCollapsed();\n setFadeOut();\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles the close button click.\n * @param {MouseEvent} originalEvent - The original event.\n */\n private readonly handleClose = (originalEvent?: MouseEvent) => {\n if (!this.preventAutoClose) {\n this.hidden = true;\n }\n\n this.closeClicked.emit(originalEvent);\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n class={clsx(`badge-${this.color}`, {\n 'has-close': this.dismissible,\n 'with-gap': this.dismissible || this.label,\n 'visually-hidden': this._isHidden,\n })}\n >\n <slot name=\"leading-icon\">\n {this.leadIcon && (\n <nv-icon\n slot=\"leading-icon\"\n name={this.leadIcon}\n size=\"sm\"\n ></nv-icon>\n )}\n </slot>\n {this.label && <span>{this.label}</span>}\n {this.dismissible && (\n <button onClick={this.handleClose} class=\"close\" type=\"button\">\n <nv-icon name=\"x\" size=\"sm\" />\n </button>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
1
+ {"file":"nv-badge.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1,4 +1,4 @@
1
- import { p as proxyCustomElement, H, h, d as Host } from './p-0caa4741.js';
1
+ import { p as proxyCustomElement, H, h, d as Host } from './p-d506ae63.js';
2
2
 
3
3
  const classes = {
4
4
  'w-full': 'w-full',
@@ -1,6 +1,6 @@
1
- import { p as proxyCustomElement, H, h, d as Host } from './p-0caa4741.js';
1
+ import { p as proxyCustomElement, H, h, d as Host } from './p-d506ae63.js';
2
2
  import { B as ButtonSize } from './p-a15ddd42.js';
3
- import { d as defineCustomElement$2 } from './p-3ef4ded9.js';
3
+ import { d as defineCustomElement$2 } from './p-a1aa8970.js';
4
4
 
5
5
  const nvButtonCss = "nv-icon{display:inline-block;width:fit-content;height:fit-content;color:inherit}nv-icon>.nv-icon-xs{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-icon>.nv-icon-sm{width:var(--spacing-4);height:var(--spacing-4);stroke-width:1.5px}nv-icon>.nv-icon-md{width:var(--spacing-5);height:var(--spacing-5);stroke-width:1.6px}nv-icon>.nv-icon-lg{width:var(--spacing-6);height:var(--spacing-6);stroke-width:1.8px}nv-icon>.nv-icon-xl{width:var(--spacing-7);height:var(--spacing-7);stroke-width:1.9px}nv-button{display:inline-flex;justify-content:center;align-items:center;font-style:normal;font-weight:var(--font-weight-medium-emphasis);font-family:\"TT Norms Pro\", sans-serif;transition:background-color 150ms ease-out;user-select:none;cursor:pointer;height:fit-content;width:fit-content}nv-button[size=xs]{padding:var(--button-xs-padding-y) var(--button-xs-padding-x);gap:var(--button-xs-gap);border-radius:var(--button-xs-border-radius);line-height:var(--button-xs-line-height);font-size:var(--button-xs-font-size)}nv-button[size=xs] nv-icon>svg{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-button[size=sm]{padding:var(--button-sm-padding-y) var(--button-sm-padding-x);gap:var(--button-sm-gap);border-radius:var(--button-sm-border-radius);line-height:var(--button-sm-line-height);font-size:var(--button-sm-font-size)}nv-button[size=sm] nv-icon>svg{width:var(--spacing-4);height:var(--spacing-4);stroke-width:1.5px}nv-button[size=md]{padding:var(--button-md-padding-y) var(--button-md-padding-x);gap:var(--button-md-gap);border-radius:var(--button-md-border-radius);line-height:var(--button-md-line-height);font-size:var(--button-md-font-size)}nv-button[size=md] nv-icon>svg{width:var(--spacing-5);height:var(--spacing-5);stroke-width:1.6px}nv-button[size=lg]{padding:var(--button-lg-padding-y) var(--button-lg-padding-x);gap:var(--button-lg-gap);border-radius:var(--button-lg-border-radius);line-height:var(--button-lg-line-height);font-size:var(--button-lg-font-size)}nv-button[size=lg] nv-icon>svg{width:var(--spacing-6);height:var(--spacing-6);stroke-width:1.8px}nv-button[emphasis=high]{background:var(--components-button-high-background);border:1px solid var(--components-button-high-border);color:var(--components-button-high-text)}nv-button[emphasis=high]:hover{background:var(--components-button-high-background-hover);border:1px solid var(--components-button-high-border);color:var(--components-button-high-text-hover)}nv-button[emphasis=high]:focus,nv-button[emphasis=high]:focus-within{outline:none}nv-button[emphasis=high]:focus-visible,nv-button[emphasis=high]:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=high]:disabled:not([disabled=false]){opacity:0.5;cursor:not-allowed;box-shadow:none}nv-button[emphasis=high][danger]:not([danger=false]){background:var(--components-button-high-background);border:1px solid var(--components-button-high-border);color:var(--components-button-high-text)}nv-button[emphasis=high][danger]:not([danger=false]):hover{background:var(--components-button-high-background-hover);border:1px solid var(--components-button-high-border);color:var(--components-button-high-text-hover)}nv-button[emphasis=high][danger]:not([danger=false]):focus,nv-button[emphasis=high][danger]:not([danger=false]):focus-within{outline:none}nv-button[emphasis=high][danger]:not([danger=false]):focus-visible,nv-button[emphasis=high][danger]:not([danger=false]):has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-destructive);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=medium]{background:var(--components-button-medium-background);border:1px solid var(--components-button-medium-border);color:var(--components-button-medium-text)}nv-button[emphasis=medium]:hover{background:var(--components-button-medium-background-hover);border:1px solid var(--components-button-medium-border);color:var(--components-button-medium-text-hover)}nv-button[emphasis=medium]:focus,nv-button[emphasis=medium]:focus-within{outline:none}nv-button[emphasis=medium]:focus-visible,nv-button[emphasis=medium]:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=medium]:disabled:not([disabled=false]){opacity:0.5;cursor:not-allowed;box-shadow:none}nv-button[emphasis=medium][danger]:not([danger=false]){background:var(--components-button-medium-background);border:1px solid var(--components-button-medium-border);color:var(--components-button-medium-text)}nv-button[emphasis=medium][danger]:not([danger=false]):hover{background:var(--components-button-medium-background-hover);border:1px solid var(--components-button-medium-border);color:var(--components-button-medium-text-hover)}nv-button[emphasis=medium][danger]:not([danger=false]):focus,nv-button[emphasis=medium][danger]:not([danger=false]):focus-within{outline:none}nv-button[emphasis=medium][danger]:not([danger=false]):focus-visible,nv-button[emphasis=medium][danger]:not([danger=false]):has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-destructive);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=low]{background:var(--components-button-low-background);border:1px solid var(--components-button-low-border);color:var(--components-button-low-text)}nv-button[emphasis=low]:hover{background:var(--components-button-low-background-hover);border:1px solid var(--components-button-low-border);color:var(--components-button-low-text-hover)}nv-button[emphasis=low]:focus,nv-button[emphasis=low]:focus-within{outline:none}nv-button[emphasis=low]:focus-visible,nv-button[emphasis=low]:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=low]:disabled:not([disabled=false]){opacity:0.5;cursor:not-allowed;box-shadow:none}nv-button[emphasis=low][danger]:not([danger=false]){background:var(--components-button-low-background);border:1px solid var(--components-button-low-border);color:var(--components-button-low-text)}nv-button[emphasis=low][danger]:not([danger=false]):hover{background:var(--components-button-low-background-hover);border:1px solid var(--components-button-low-border);color:var(--components-button-low-text-hover)}nv-button[emphasis=low][danger]:not([danger=false]):focus,nv-button[emphasis=low][danger]:not([danger=false]):focus-within{outline:none}nv-button[emphasis=low][danger]:not([danger=false]):focus-visible,nv-button[emphasis=low][danger]:not([danger=false]):has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-destructive);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=lower]{background:var(--components-button-lower-background);border:1px solid var(--components-button-lower-border);color:var(--components-button-lower-text)}nv-button[emphasis=lower]:hover{background:var(--components-button-lower-background-hover);border:1px solid var(--components-button-lower-border);color:var(--components-button-lower-text-hover)}nv-button[emphasis=lower]:focus,nv-button[emphasis=lower]:focus-within{outline:none}nv-button[emphasis=lower]:focus-visible,nv-button[emphasis=lower]:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[emphasis=lower]:disabled:not([disabled=false]){opacity:0.5;cursor:not-allowed;box-shadow:none}nv-button[emphasis=lower][danger]:not([danger=false]){background:var(--components-button-lower-background);border:1px solid var(--components-button-lower-border);color:var(--components-button-lower-text)}nv-button[emphasis=lower][danger]:not([danger=false]):hover{background:var(--components-button-lower-background-hover);border:1px solid var(--components-button-lower-border);color:var(--components-button-lower-text-hover)}nv-button[emphasis=lower][danger]:not([danger=false]):focus,nv-button[emphasis=lower][danger]:not([danger=false]):focus-within{outline:none}nv-button[emphasis=lower][danger]:not([danger=false]):focus-visible,nv-button[emphasis=lower][danger]:not([danger=false]):has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-focus-destructive);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-button[fluid]:not([fluid=false]){width:100%}nv-button[loading]:not([loading=false]) [slot=leading-icon]{display:none}";
6
6
  const NvButtonStyle0 = nvButtonCss;
@@ -10,45 +10,6 @@ const NvButton$1 = /*@__PURE__*/ proxyCustomElement(class NvButton extends H {
10
10
  super();
11
11
  this.__registerHost();
12
12
  this.internals = this.attachInternals();
13
- /****************************************************************************/
14
- //#region PROPERTIES
15
- /**
16
- * Determines how large or small the button appears, allowing for
17
- * customization of the button's dimensions to fit different design
18
- * specifications and user needs.
19
- */
20
- this.size = 'md';
21
- /**
22
- * Adjusts the button's emphasis to make it more or less visually prominent
23
- * to users. Use this to draw attention to important actions or reduce focus
24
- * on less critical ones
25
- */
26
- this.emphasis = 'high';
27
- /**
28
- * Applies styling that visually indicates the button represents a dangerous
29
- * action.
30
- */
31
- this.danger = false;
32
- /**
33
- * Set this to true to show a spinner on the button, letting users know that
34
- * their action is being processed. It helps improve user experience by
35
- * indicating ongoing activities.
36
- */
37
- this.loading = false;
38
- /**
39
- * Disables the button, preventing user interaction.
40
- */
41
- this.disabled = false;
42
- /**
43
- * Allows the button to stretch and fill the entire width of its container.
44
- */
45
- this.fluid = false;
46
- /**
47
- * Sets the button type to control its function in forms. Use 'submit' to send
48
- * form data, 'reset' to clear the form, or 'button' for a standard button
49
- * that doesn’t interact with form submission by default.
50
- */
51
- this.type = 'button';
52
13
  //#endregion PROPERTIES
53
14
  /****************************************************************************/
54
15
  //#region METHODS
@@ -71,6 +32,13 @@ const NvButton$1 = /*@__PURE__*/ proxyCustomElement(class NvButton extends H {
71
32
  (_d = (_c = this.internals) === null || _c === void 0 ? void 0 : _c.form) === null || _d === void 0 ? void 0 : _d.reset();
72
33
  }
73
34
  };
35
+ this.size = 'md';
36
+ this.emphasis = 'high';
37
+ this.danger = false;
38
+ this.loading = false;
39
+ this.disabled = false;
40
+ this.fluid = false;
41
+ this.type = 'button';
74
42
  }
75
43
  //#endregion METHODS
76
44
  /****************************************************************************/
@@ -1 +1 @@
1
- {"file":"nv-button.js","mappings":";;;;AAAA,MAAM,WAAW,GAAG,w3QAAw3Q,CAAC;AAC74Q,uBAAe,WAAW;;MCsBbA,UAAQ;IANrB;;;;;;;;;;;QAmBW,SAAI,GAAoB,IAAI,CAAC;;;;;;QAQ7B,aAAQ,GAAwB,MAAM,CAAC;;;;;QAOvC,WAAM,GAAY,KAAK,CAAC;;;;;;QAQjC,YAAO,GAAY,KAAK,CAAC;;;;QAMzB,aAAQ,GAAY,KAAK,CAAC;;;;QAMjB,UAAK,GAAY,KAAK,CAAC;;;;;;QAQvB,SAAI,GAAoB,QAAQ,CAAC;;;;;;;;;;QAYlC,gBAAW,GAAG,CAAC,KAAY;;YACjC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,OAAO;aACR;YAED,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC1B,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,IAAI,0CAAE,aAAa,EAAE,CAAC;aACvC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;gBACzB,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,IAAI,0CAAE,KAAK,EAAE,CAAC;aAC/B;SACF,CAAC;KAoDH;;;;IA7CC,mBAAmB,CAAC,OAAgB;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;KACzB;IAGD,oBAAoB,CAAC,QAAiB;QACpC,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC1B;KACF;;;;IAMD,iBAAiB;QACf,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;SAC9B;KACF;;;;IAMD,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAC,GAAG,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,IACvD,IAAI,CAAC,OAAO,KACX,kEACE,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,GACvC,CACd,EAED,6DAAM,IAAI,EAAC,cAAc,GAAQ,EACjC,8DAAa,EACb,6DAAM,IAAI,EAAC,eAAe,GAAQ,CAC7B,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["NvButton"],"sources":["src/components/nv-button/nv-button.scss?tag=nv-button","src/components/nv-button/nv-button.tsx"],"sourcesContent":["@use \"sass:map\";\n@use \"../nv-icon/nv-icon.scss\" as icon;\n@import \"../../styles/focus-ring\";\n\n/* Variants */\n$button-sizes: (\"xs\", \"sm\", \"md\", \"lg\");\n$button-emphasis: (\"high\", \"medium\", \"low\", \"lower\");\n\n/* Define maps for size-related variables */\n$button-padding-y: (\n \"xs\": var(--button-xs-padding-y),\n \"sm\": var(--button-sm-padding-y),\n \"md\": var(--button-md-padding-y),\n \"lg\": var(--button-lg-padding-y)\n);\n\n$button-padding-x: (\n \"xs\": var(--button-xs-padding-x),\n \"sm\": var(--button-sm-padding-x),\n \"md\": var(--button-md-padding-x),\n \"lg\": var(--button-lg-padding-x)\n);\n\n$button-gap: (\n \"xs\": var(--button-xs-gap),\n \"sm\": var(--button-sm-gap),\n \"md\": var(--button-md-gap),\n \"lg\": var(--button-lg-gap)\n);\n\n$button-border-radius: (\n \"xs\": var(--button-xs-border-radius),\n \"sm\": var(--button-sm-border-radius),\n \"md\": var(--button-md-border-radius),\n \"lg\": var(--button-lg-border-radius)\n);\n\n$button-line-height: (\n \"xs\": var(--button-xs-line-height),\n \"sm\": var(--button-sm-line-height),\n \"md\": var(--button-md-line-height),\n \"lg\": var(--button-lg-line-height)\n);\n\n$button-font-size: (\n \"xs\": var(--button-xs-font-size),\n \"sm\": var(--button-sm-font-size),\n \"md\": var(--button-md-font-size),\n \"lg\": var(--button-lg-font-size)\n);\n\n/* Define maps for emphasis-related variables */\n$components-button-background: (\n \"high\": var(--components-button-high-background),\n \"medium\": var(--components-button-medium-background),\n \"low\": var(--components-button-low-background),\n \"lower\": var(--components-button-lower-background)\n);\n\n$components-button-border: (\n \"high\": var(--components-button-high-border),\n \"medium\": var(--components-button-medium-border),\n \"low\": var(--components-button-low-border),\n \"lower\": var(--components-button-lower-border)\n);\n\n$components-button-text: (\n \"high\": var(--components-button-high-text),\n \"medium\": var(--components-button-medium-text),\n \"low\": var(--components-button-low-text),\n \"lower\": var(--components-button-lower-text)\n);\n\n$components-button-background-hover: (\n \"high\": var(--components-button-high-background-hover),\n \"medium\": var(--components-button-medium-background-hover),\n \"low\": var(--components-button-low-background-hover),\n \"lower\": var(--components-button-lower-background-hover)\n);\n\n$components-button-text-hover: (\n \"high\": var(--components-button-high-text-hover),\n \"medium\": var(--components-button-medium-text-hover),\n \"low\": var(--components-button-low-text-hover),\n \"lower\": var(--components-button-lower-text-hover)\n);\n\n@mixin root-styles() {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n font-style: normal;\n font-weight: var(--font-weight-medium-emphasis);\n font-family: \"TT Norms Pro\", sans-serif;\n transition: background-color 150ms ease-out;\n user-select: none;\n cursor: pointer;\n height: fit-content;\n width: fit-content;\n}\n\n@mixin size-styles($size) {\n padding: map.get($button-padding-y, $size) map.get($button-padding-x, $size);\n gap: map.get($button-gap, $size);\n border-radius: map.get($button-border-radius, $size);\n line-height: map.get($button-line-height, $size);\n font-size: map.get($button-font-size, $size);\n\n & nv-icon > svg {\n @include icon.icon-size-and-stroke(\n map.get(map.get(icon.$icon-config, $size), size),\n map.get(map.get(icon.$icon-config, $size), stroke)\n );\n }\n}\n\n@mixin emphasis-styles($emphasis) {\n background: map.get($components-button-background, $emphasis);\n border: 1px solid map.get($components-button-border, $emphasis);\n color: map.get($components-button-text, $emphasis);\n\n &:hover {\n background: map.get($components-button-background-hover, $emphasis);\n border: 1px solid map.get($components-button-border, $emphasis);\n color: map.get($components-button-text-hover, $emphasis);\n }\n\n @include focus-ring();\n\n &:disabled:not([disabled=\"false\"]) {\n opacity: 0.5;\n cursor: not-allowed;\n box-shadow: none;\n }\n}\n\n@mixin danger-styles($emphasis) {\n background: map.get($components-button-background, $emphasis);\n border: 1px solid map.get($components-button-border, $emphasis);\n color: map.get($components-button-text, $emphasis);\n\n &:hover {\n background: map.get($components-button-background-hover, $emphasis);\n border: 1px solid map.get($components-button-border, $emphasis);\n color: map.get($components-button-text-hover, $emphasis);\n }\n\n @include focus-ring(var(--color-focus-destructive));\n}\n\n@mixin fluid-styles() {\n width: 100%;\n}\n\nnv-button {\n @include root-styles();\n\n @each $size in $button-sizes {\n &[size=\"#{$size}\"] {\n @include size-styles($size);\n }\n }\n\n @each $emphasis in $button-emphasis {\n &[emphasis=\"#{$emphasis}\"] {\n @include emphasis-styles($emphasis);\n\n &[danger]:not([danger=\"false\"]) {\n @include danger-styles($emphasis);\n }\n }\n }\n\n &[fluid]:not([fluid=\"false\"]) {\n @include fluid-styles();\n }\n\n &[loading]:not([loading=\"false\"]) {\n [slot=\"leading-icon\"] {\n display: none;\n }\n }\n}\n","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"],"version":3}
1
+ {"file":"nv-button.js","mappings":";;;;AAAA,MAAM,WAAW,GAAG,w3QAAw3Q,CAAC;AAC74Q,uBAAe,WAAW;;MCsBbA,UAAQ;;;;;;;;;;;;;;QAoEX,gBAAW,GAAG,CAAC,KAAY;;YACjC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,OAAO;aACR;YAED,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC1B,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,IAAI,0CAAE,aAAa,EAAE,CAAC;aACvC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;gBACzB,MAAA,MAAA,IAAI,CAAC,SAAS,0CAAE,IAAI,0CAAE,KAAK,EAAE,CAAC;aAC/B;SACF,CAAC;oBAnE+B,IAAI;wBAQI,MAAM;sBAOpB,KAAK;uBAQb,KAAK;wBAMJ,KAAK;qBAMC,KAAK;oBAQE,QAAQ;;;;;IA+BzC,mBAAmB,CAAC,OAAgB;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;KACzB;IAGD,oBAAoB,CAAC,QAAiB;QACpC,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;SAC1B;KACF;;;;IAMD,iBAAiB;QACf,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;SAC9B;KACF;;;;IAMD,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAC,GAAG,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,IACvD,IAAI,CAAC,OAAO,KACX,kEACE,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,GACvC,CACd,EAED,6DAAM,IAAI,EAAC,cAAc,GAAQ,EACjC,8DAAa,EACb,6DAAM,IAAI,EAAC,eAAe,GAAQ,CAC7B,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["NvButton"],"sources":["src/components/nv-button/nv-button.scss?tag=nv-button","src/components/nv-button/nv-button.tsx"],"sourcesContent":["@use \"sass:map\";\n@use \"../nv-icon/nv-icon.scss\" as icon;\n@import \"../../styles/focus-ring\";\n\n/* Variants */\n$button-sizes: (\"xs\", \"sm\", \"md\", \"lg\");\n$button-emphasis: (\"high\", \"medium\", \"low\", \"lower\");\n\n/* Define maps for size-related variables */\n$button-padding-y: (\n \"xs\": var(--button-xs-padding-y),\n \"sm\": var(--button-sm-padding-y),\n \"md\": var(--button-md-padding-y),\n \"lg\": var(--button-lg-padding-y)\n);\n\n$button-padding-x: (\n \"xs\": var(--button-xs-padding-x),\n \"sm\": var(--button-sm-padding-x),\n \"md\": var(--button-md-padding-x),\n \"lg\": var(--button-lg-padding-x)\n);\n\n$button-gap: (\n \"xs\": var(--button-xs-gap),\n \"sm\": var(--button-sm-gap),\n \"md\": var(--button-md-gap),\n \"lg\": var(--button-lg-gap)\n);\n\n$button-border-radius: (\n \"xs\": var(--button-xs-border-radius),\n \"sm\": var(--button-sm-border-radius),\n \"md\": var(--button-md-border-radius),\n \"lg\": var(--button-lg-border-radius)\n);\n\n$button-line-height: (\n \"xs\": var(--button-xs-line-height),\n \"sm\": var(--button-sm-line-height),\n \"md\": var(--button-md-line-height),\n \"lg\": var(--button-lg-line-height)\n);\n\n$button-font-size: (\n \"xs\": var(--button-xs-font-size),\n \"sm\": var(--button-sm-font-size),\n \"md\": var(--button-md-font-size),\n \"lg\": var(--button-lg-font-size)\n);\n\n/* Define maps for emphasis-related variables */\n$components-button-background: (\n \"high\": var(--components-button-high-background),\n \"medium\": var(--components-button-medium-background),\n \"low\": var(--components-button-low-background),\n \"lower\": var(--components-button-lower-background)\n);\n\n$components-button-border: (\n \"high\": var(--components-button-high-border),\n \"medium\": var(--components-button-medium-border),\n \"low\": var(--components-button-low-border),\n \"lower\": var(--components-button-lower-border)\n);\n\n$components-button-text: (\n \"high\": var(--components-button-high-text),\n \"medium\": var(--components-button-medium-text),\n \"low\": var(--components-button-low-text),\n \"lower\": var(--components-button-lower-text)\n);\n\n$components-button-background-hover: (\n \"high\": var(--components-button-high-background-hover),\n \"medium\": var(--components-button-medium-background-hover),\n \"low\": var(--components-button-low-background-hover),\n \"lower\": var(--components-button-lower-background-hover)\n);\n\n$components-button-text-hover: (\n \"high\": var(--components-button-high-text-hover),\n \"medium\": var(--components-button-medium-text-hover),\n \"low\": var(--components-button-low-text-hover),\n \"lower\": var(--components-button-lower-text-hover)\n);\n\n@mixin root-styles() {\n display: inline-flex;\n justify-content: center;\n align-items: center;\n font-style: normal;\n font-weight: var(--font-weight-medium-emphasis);\n font-family: \"TT Norms Pro\", sans-serif;\n transition: background-color 150ms ease-out;\n user-select: none;\n cursor: pointer;\n height: fit-content;\n width: fit-content;\n}\n\n@mixin size-styles($size) {\n padding: map.get($button-padding-y, $size) map.get($button-padding-x, $size);\n gap: map.get($button-gap, $size);\n border-radius: map.get($button-border-radius, $size);\n line-height: map.get($button-line-height, $size);\n font-size: map.get($button-font-size, $size);\n\n & nv-icon > svg {\n @include icon.icon-size-and-stroke(\n map.get(map.get(icon.$icon-config, $size), size),\n map.get(map.get(icon.$icon-config, $size), stroke)\n );\n }\n}\n\n@mixin emphasis-styles($emphasis) {\n background: map.get($components-button-background, $emphasis);\n border: 1px solid map.get($components-button-border, $emphasis);\n color: map.get($components-button-text, $emphasis);\n\n &:hover {\n background: map.get($components-button-background-hover, $emphasis);\n border: 1px solid map.get($components-button-border, $emphasis);\n color: map.get($components-button-text-hover, $emphasis);\n }\n\n @include focus-ring();\n\n &:disabled:not([disabled=\"false\"]) {\n opacity: 0.5;\n cursor: not-allowed;\n box-shadow: none;\n }\n}\n\n@mixin danger-styles($emphasis) {\n background: map.get($components-button-background, $emphasis);\n border: 1px solid map.get($components-button-border, $emphasis);\n color: map.get($components-button-text, $emphasis);\n\n &:hover {\n background: map.get($components-button-background-hover, $emphasis);\n border: 1px solid map.get($components-button-border, $emphasis);\n color: map.get($components-button-text-hover, $emphasis);\n }\n\n @include focus-ring(var(--color-focus-destructive));\n}\n\n@mixin fluid-styles() {\n width: 100%;\n}\n\nnv-button {\n @include root-styles();\n\n @each $size in $button-sizes {\n &[size=\"#{$size}\"] {\n @include size-styles($size);\n }\n }\n\n @each $emphasis in $button-emphasis {\n &[emphasis=\"#{$emphasis}\"] {\n @include emphasis-styles($emphasis);\n\n &[danger]:not([danger=\"false\"]) {\n @include danger-styles($emphasis);\n }\n }\n }\n\n &[fluid]:not([fluid=\"false\"]) {\n @include fluid-styles();\n }\n\n &[loading]:not([loading=\"false\"]) {\n [slot=\"leading-icon\"] {\n display: none;\n }\n }\n}\n","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"],"version":3}
@@ -1,4 +1,4 @@
1
- import { p as proxyCustomElement, H, h, d as Host } from './p-0caa4741.js';
1
+ import { p as proxyCustomElement, H, h, d as Host } from './p-d506ae63.js';
2
2
  import { c as clsx } from './p-8a1a6e56.js';
3
3
 
4
4
  const nvColCss = "nv-col{display:block;flex:1 1 0%;padding-left:calc(var(--spacing-4) / 2);padding-right:calc(var(--spacing-4) / 2)}nv-col[class*=w-]{flex:none}nv-col.w-1\\/12{width:calc(100% * 1 / 12)}nv-col.w-2\\/12{width:calc(100% * 2 / 12)}nv-col.w-3\\/12{width:calc(100% * 3 / 12)}nv-col.w-4\\/12{width:calc(100% * 4 / 12)}nv-col.w-5\\/12{width:calc(100% * 5 / 12)}nv-col.w-6\\/12{width:calc(100% * 6 / 12)}nv-col.w-7\\/12{width:calc(100% * 7 / 12)}nv-col.w-8\\/12{width:calc(100% * 8 / 12)}nv-col.w-9\\/12{width:calc(100% * 9 / 12)}nv-col.w-10\\/12{width:calc(100% * 10 / 12)}nv-col.w-11\\/12{width:calc(100% * 11 / 12)}nv-col.w-12\\/12{width:calc(100% * 12 / 12)}";
@@ -8,6 +8,7 @@ const NvCol$1 = /*@__PURE__*/ proxyCustomElement(class NvCol extends H {
8
8
  constructor() {
9
9
  super();
10
10
  this.__registerHost();
11
+ this.size = undefined;
11
12
  }
12
13
  //#endregion PROPERTIES
13
14
  /****************************************************************************/
@@ -1 +1 @@
1
- {"file":"nv-col.js","mappings":";;;AAAA,MAAM,QAAQ,GAAG,8oBAA8oB,CAAC;AAChqB,oBAAe,QAAQ;;MCUVA,OAAK;;;;;;;;;;;;IAkBR,UAAU;QAChB,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,EAAE;gBAAE,OAAO;YAC5C,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC;SAC5B;KACF;;;;IAMD,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAClC,8DAAa,CACR,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;","names":["NvCol"],"sources":["src/components/nv-col/nv-col.scss?tag=nv-col","src/components/nv-col/nv-col.tsx"],"sourcesContent":["@function calculate-width($columns) {\n $total-columns: 12;\n @return calc(100% * #{$columns} / #{$total-columns});\n}\n\nnv-col {\n display: block;\n flex: 1 1 0%;\n padding-left: calc(var(--spacing-4) / 2);\n padding-right: calc(var(--spacing-4) / 2);\n\n &[class*=\"w-\"] {\n flex: none;\n }\n\n @for $i from 1 through 12 {\n &.w-#{$i}\\/12 {\n width: calculate-width($i);\n }\n }\n}","import { Component, Host, Prop, h } from '@stencil/core';\nimport clsx from 'clsx';\n\n/**\n * @slot default - The column content.\n */\n@Component({\n tag: 'nv-col',\n styleUrl: './nv-col.scss',\n shadow: false,\n})\nexport class NvCol {\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Defines the column size based on a 12 column grid system.\n */\n @Prop({ reflect: true })\n readonly size: number;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Get the column size class.\n * @returns {string | undefined} The column size class.\n */\n private getColSize() {\n if (this.size) {\n if (this.size < 1 || this.size > 12) return;\n return `w-${this.size}/12`;\n }\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host class={clsx(this.getColSize())}>\n <slot></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
1
+ {"file":"nv-col.js","mappings":";;;AAAA,MAAM,QAAQ,GAAG,8oBAA8oB,CAAC;AAChqB,oBAAe,QAAQ;;MCUVA,OAAK;;;;;;;;;;;;;IAkBR,UAAU;QAChB,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,EAAE;gBAAE,OAAO;YAC5C,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC;SAC5B;KACF;;;;IAMD,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAClC,8DAAa,CACR,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;","names":["NvCol"],"sources":["src/components/nv-col/nv-col.scss?tag=nv-col","src/components/nv-col/nv-col.tsx"],"sourcesContent":["@function calculate-width($columns) {\n $total-columns: 12;\n @return calc(100% * #{$columns} / #{$total-columns});\n}\n\nnv-col {\n display: block;\n flex: 1 1 0%;\n padding-left: calc(var(--spacing-4) / 2);\n padding-right: calc(var(--spacing-4) / 2);\n\n &[class*=\"w-\"] {\n flex: none;\n }\n\n @for $i from 1 through 12 {\n &.w-#{$i}\\/12 {\n width: calculate-width($i);\n }\n }\n}","import { Component, Host, Prop, h } from '@stencil/core';\nimport clsx from 'clsx';\n\n/**\n * @slot default - The column content.\n */\n@Component({\n tag: 'nv-col',\n styleUrl: './nv-col.scss',\n shadow: false,\n})\nexport class NvCol {\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Defines the column size based on a 12 column grid system.\n */\n @Prop({ reflect: true })\n readonly size: number;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Get the column size class.\n * @returns {string | undefined} The column size class.\n */\n private getColSize() {\n if (this.size) {\n if (this.size < 1 || this.size > 12) return;\n return `w-${this.size}/12`;\n }\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host class={clsx(this.getColSize())}>\n <slot></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
- import { p as proxyCustomElement, H, h, d as Host } from './p-0caa4741.js';
1
+ import { p as proxyCustomElement, H, h, d as Host } from './p-d506ae63.js';
2
2
 
3
3
  /**
4
4
  * table-core
@@ -2960,42 +2960,16 @@ const NvDatagrid$1 = /*@__PURE__*/ proxyCustomElement(class NvDatagrid extends H
2960
2960
  constructor() {
2961
2961
  super();
2962
2962
  this.__registerHost();
2963
- /****************************************************************************/
2964
- //#region STATES
2965
2963
  this.table = null;
2966
- this.parsedColumns = []; // Parsed array
2967
- this.parsedData = []; // Parsed array
2964
+ this.parsedColumns = [];
2965
+ this.parsedData = [];
2968
2966
  this.hasSlotHead = false;
2969
2967
  this.hasSlotBody = false;
2970
- //#endregion STATES
2971
- /****************************************************************************/
2972
- //#region PROPERTIES
2973
- /**
2974
- * The columns to display in the data grid.
2975
- * @example
2976
- * [
2977
- * {"header":"Name","accessor":"name"},
2978
- * {"header":"Age","accessor":"age"},
2979
- * {"header":"Email","accessor":"email"}
2980
- * ]
2981
- * @default []
2982
- */
2983
2968
  this.columns = [];
2984
- /**
2985
- * The data to display in the data grid.
2986
- * @example [{ "name": "Alice", "age": 25 }, { "name": "Bob", "age": 30 }]
2987
- * @default []
2988
- */
2969
+ this.columnsJson = undefined;
2989
2970
  this.data = [];
2990
- /**
2991
- * The message to display when there is no data available.
2992
- * @default 'No data available'
2993
- */
2971
+ this.dataJson = undefined;
2994
2972
  this.noDataMessage = 'No data available';
2995
- /**
2996
- * The message to display when there are no columns or data available.
2997
- * @default 'No data or columns available to display.'
2998
- */
2999
2973
  this.noColumnsNoDataMessage = 'No data or columns available to display.';
3000
2974
  }
3001
2975
  //#endregion PROPERTIES