@nova-design-system/nova-webcomponents 3.11.0 → 3.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (543) hide show
  1. package/dist/cjs/collapse.animation-47397763.js +218 -0
  2. package/dist/cjs/collapse.animation-47397763.js.map +1 -0
  3. package/dist/cjs/{constants-3b6beb66.js → constants-52f6f8e9.js} +24 -42
  4. package/dist/cjs/constants-52f6f8e9.js.map +1 -0
  5. package/dist/cjs/fade.animation-cf6eba0d.js +726 -0
  6. package/dist/cjs/fade.animation-cf6eba0d.js.map +1 -0
  7. package/dist/cjs/{grow.animation-6d003803.js → grow.animation-9258ba63.js} +6 -5
  8. package/dist/cjs/grow.animation-9258ba63.js.map +1 -0
  9. package/dist/cjs/index-c56424e5.js +4 -0
  10. package/dist/cjs/index.cjs.js +114 -13
  11. package/dist/cjs/index.cjs.js.map +1 -1
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/cjs/native.cjs.js +1 -1
  14. package/dist/cjs/nv-accordion-item.cjs.entry.js +72 -38
  15. package/dist/cjs/nv-accordion-item.cjs.entry.js.map +1 -1
  16. package/dist/cjs/nv-accordion.cjs.entry.js +79 -65
  17. package/dist/cjs/nv-accordion.cjs.entry.js.map +1 -1
  18. package/dist/cjs/nv-alert.cjs.entry.js +12 -12
  19. package/dist/cjs/nv-alert.cjs.entry.js.map +1 -1
  20. package/dist/cjs/nv-avatar.cjs.entry.js +1 -1
  21. package/dist/cjs/nv-badge_2.cjs.entry.js +5 -5
  22. package/dist/cjs/nv-badge_2.cjs.entry.js.map +1 -1
  23. package/dist/cjs/nv-breadcrumb.cjs.entry.js +1 -1
  24. package/dist/cjs/nv-breadcrumb.cjs.entry.js.map +1 -1
  25. package/dist/cjs/nv-button.cjs.entry.js +2 -2
  26. package/dist/cjs/nv-button.cjs.entry.js.map +1 -1
  27. package/dist/cjs/nv-calendar.cjs.entry.js +14 -10
  28. package/dist/cjs/nv-calendar.cjs.entry.js.map +1 -1
  29. package/dist/cjs/nv-datagrid.cjs.entry.js +2 -2
  30. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
  31. package/dist/cjs/nv-dialog.cjs.entry.js +1 -1
  32. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +9 -6
  33. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js.map +1 -1
  34. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +1 -1
  35. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js.map +1 -1
  36. package/dist/cjs/nv-fielddate.cjs.entry.js +1 -1
  37. package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
  38. package/dist/cjs/nv-fielddaterange.cjs.entry.js +1 -1
  39. package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
  40. package/dist/cjs/nv-fielddropdown.cjs.entry.js +1 -1
  41. package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
  42. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +1 -31
  43. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
  44. package/dist/cjs/nv-fieldnumber.cjs.entry.js +2 -2
  45. package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
  46. package/dist/cjs/nv-fieldpassword.cjs.entry.js +1 -1
  47. package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
  48. package/dist/cjs/nv-fieldradio.cjs.entry.js +1 -1
  49. package/dist/cjs/nv-fieldradio.cjs.entry.js.map +1 -1
  50. package/dist/cjs/nv-fieldselect.cjs.entry.js +1 -1
  51. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
  52. package/dist/cjs/nv-fieldslider.cjs.entry.js +24 -16
  53. package/dist/cjs/nv-fieldslider.cjs.entry.js.map +1 -1
  54. package/dist/cjs/nv-fieldtime.cjs.entry.js +2 -2
  55. package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -1
  56. package/dist/cjs/nv-icon.cjs.entry.js +2 -2
  57. package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
  58. package/dist/cjs/nv-iconbutton_2.cjs.entry.js +1 -1
  59. package/dist/cjs/nv-iconbutton_2.cjs.entry.js.map +1 -1
  60. package/dist/cjs/nv-notification.cjs.entry.js +120 -0
  61. package/dist/cjs/nv-notification.cjs.entry.js.map +1 -0
  62. package/dist/cjs/nv-popover.cjs.entry.js +24 -7
  63. package/dist/cjs/nv-popover.cjs.entry.js.map +1 -1
  64. package/dist/cjs/nv-row.cjs.entry.js +1 -1
  65. package/dist/cjs/nv-stack.cjs.entry.js +1 -1
  66. package/dist/cjs/nv-table.cjs.entry.js +2 -2
  67. package/dist/cjs/nv-toggle.cjs.entry.js +3 -3
  68. package/dist/cjs/nv-toggle.cjs.entry.js.map +1 -1
  69. package/dist/cjs/nv-togglebutton.cjs.entry.js +2 -2
  70. package/dist/cjs/nv-togglebutton.cjs.entry.js.map +1 -1
  71. package/dist/cjs/nv-togglebuttongroup.cjs.entry.js +1 -1
  72. package/dist/cjs/nv-tooltip.cjs.entry.js +11 -2
  73. package/dist/cjs/nv-tooltip.cjs.entry.js.map +1 -1
  74. package/dist/cjs/slide.animation-bedfc827.js +70 -0
  75. package/dist/cjs/slide.animation-bedfc827.js.map +1 -0
  76. package/dist/cjs/{stylefire.es-717e022a.js → style-value-types.es-eea2f16f.js} +51 -696
  77. package/dist/cjs/style-value-types.es-eea2f16f.js.map +1 -0
  78. package/dist/cjs/{timeline.animation-155e8839.js → timeline.animation-2878afb6.js} +20 -1
  79. package/dist/cjs/timeline.animation-2878afb6.js.map +1 -0
  80. package/dist/collection/animations/collapse.animation.js +110 -50
  81. package/dist/collection/animations/collapse.animation.js.map +1 -1
  82. package/dist/collection/animations/index.js +1 -0
  83. package/dist/collection/animations/index.js.map +1 -1
  84. package/dist/collection/animations/slide.animation.js +65 -0
  85. package/dist/collection/animations/slide.animation.js.map +1 -0
  86. package/dist/collection/animations/timeline.animation.js +19 -1
  87. package/dist/collection/animations/timeline.animation.js.map +1 -1
  88. package/dist/collection/collection-manifest.json +1 -0
  89. package/dist/collection/components/nv-accordion/nv-accordion.docs.js +78 -20
  90. package/dist/collection/components/nv-accordion/nv-accordion.docs.js.map +1 -1
  91. package/dist/collection/components/nv-accordion/nv-accordion.js +88 -68
  92. package/dist/collection/components/nv-accordion/nv-accordion.js.map +1 -1
  93. package/dist/collection/components/nv-accordion-item/nv-accordion-item.js +70 -36
  94. package/dist/collection/components/nv-accordion-item/nv-accordion-item.js.map +1 -1
  95. package/dist/collection/components/nv-accordion-item/styles/nv-accordion-item.css +3 -0
  96. package/dist/collection/components/nv-alert/nv-alert.css +1 -6
  97. package/dist/collection/components/nv-alert/nv-alert.js +6 -6
  98. package/dist/collection/components/nv-alert/nv-alert.js.map +1 -1
  99. package/dist/collection/components/nv-badge/nv-badge.css +0 -21
  100. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.css +0 -2
  101. package/dist/collection/components/nv-button/styles/nv-button.css +0 -8
  102. package/dist/collection/components/nv-calendar/nv-calendar.css +4 -0
  103. package/dist/collection/components/nv-calendar/nv-calendar.docs.js +14 -0
  104. package/dist/collection/components/nv-calendar/nv-calendar.docs.js.map +1 -1
  105. package/dist/collection/components/nv-calendar/nv-calendar.js +47 -3
  106. package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -1
  107. package/dist/collection/components/nv-calendar/partials/calendar-actions.js +2 -2
  108. package/dist/collection/components/nv-calendar/partials/calendar-actions.js.map +1 -1
  109. package/dist/collection/components/nv-datagrid/nv-datagrid.css +0 -1
  110. package/dist/collection/components/nv-dialog/nv-dialog.docs.js +8 -0
  111. package/dist/collection/components/nv-dialog/nv-dialog.docs.js.map +1 -1
  112. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js +13 -11
  113. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js.map +1 -1
  114. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.css +0 -1
  115. package/dist/collection/components/nv-fielddate/styles/nv-fielddate.css +4 -0
  116. package/dist/collection/components/nv-fielddaterange/styles/nv-fielddaterange.css +6 -0
  117. package/dist/collection/components/nv-fielddropdown/styles/nv-fielddropdown.css +4 -0
  118. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +0 -30
  119. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
  120. package/dist/collection/components/nv-fieldmultiselect/styles/nv-fieldmultiselect.css +4 -0
  121. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.css +8 -0
  122. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +1 -1
  123. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +1 -1
  124. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.css +4 -0
  125. package/dist/collection/components/nv-fieldradio/nv-fieldradio.css +0 -1
  126. package/dist/collection/components/nv-fieldselect/nv-fieldselect.css +6 -0
  127. package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js +0 -1
  128. package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js.map +1 -1
  129. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +10 -10
  130. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js.map +1 -1
  131. package/dist/collection/components/nv-fieldslider/partials/field-input.js +13 -5
  132. package/dist/collection/components/nv-fieldslider/partials/field-input.js.map +1 -1
  133. package/dist/collection/components/nv-fieldslider/styles/nv-fieldslider.css +27 -0
  134. package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js +0 -1
  135. package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js.map +1 -1
  136. package/dist/collection/components/nv-fieldtime/styles/nv-fieldtime.css +4 -0
  137. package/dist/collection/components/nv-icon/nv-icons.js +5 -5
  138. package/dist/collection/components/nv-icon/nv-icons.js.map +1 -1
  139. package/dist/collection/components/nv-iconbutton/nv-iconbutton.css +0 -4
  140. package/dist/collection/components/nv-menuitem/nv-menuitem.js +1 -1
  141. package/dist/collection/components/nv-notification/nv-notification.docs.js +72 -0
  142. package/dist/collection/components/nv-notification/nv-notification.docs.js.map +1 -0
  143. package/dist/collection/components/nv-notification/nv-notification.js +333 -0
  144. package/dist/collection/components/nv-notification/nv-notification.js.map +1 -0
  145. package/dist/collection/components/nv-notification/styles/nv-notification.css +155 -0
  146. package/dist/collection/components/nv-popover/nv-popover.css +7 -0
  147. package/dist/collection/components/nv-popover/nv-popover.docs.js +4 -0
  148. package/dist/collection/components/nv-popover/nv-popover.docs.js.map +1 -1
  149. package/dist/collection/components/nv-popover/nv-popover.js +47 -2
  150. package/dist/collection/components/nv-popover/nv-popover.js.map +1 -1
  151. package/dist/collection/components/nv-row/nv-row.js +1 -1
  152. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  153. package/dist/collection/components/nv-table/nv-table.js +2 -2
  154. package/dist/collection/components/nv-toggle/nv-toggle.css +0 -1
  155. package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
  156. package/dist/collection/components/nv-togglebutton/nv-togglebutton.js +1 -1
  157. package/dist/collection/components/nv-togglebutton/styles/nv-togglebutton.css +3 -2
  158. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js +0 -1
  159. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js.map +1 -1
  160. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js +1 -1
  161. package/dist/collection/components/nv-tooltip/nv-tooltip.docs.js +5 -0
  162. package/dist/collection/components/nv-tooltip/nv-tooltip.docs.js.map +1 -1
  163. package/dist/collection/components/nv-tooltip/nv-tooltip.js +38 -3
  164. package/dist/collection/components/nv-tooltip/nv-tooltip.js.map +1 -1
  165. package/dist/collection/index.js +10 -2
  166. package/dist/collection/index.js.map +1 -1
  167. package/dist/collection/utils/constants.js +5 -0
  168. package/dist/collection/utils/constants.js.map +1 -1
  169. package/dist/components/index.js +14 -11
  170. package/dist/components/index.js.map +1 -1
  171. package/dist/components/nv-accordion-item.js +1 -1
  172. package/dist/components/nv-accordion.js +88 -71
  173. package/dist/components/nv-accordion.js.map +1 -1
  174. package/dist/components/nv-alert.js +13 -13
  175. package/dist/components/nv-alert.js.map +1 -1
  176. package/dist/components/nv-avatar.js +2 -2
  177. package/dist/components/nv-badge.js +1 -1
  178. package/dist/components/nv-breadcrumb.js +3 -3
  179. package/dist/components/nv-breadcrumb.js.map +1 -1
  180. package/dist/components/nv-button.js +1 -1
  181. package/dist/components/nv-calendar.js +1 -1
  182. package/dist/components/nv-datagrid.js +4 -4
  183. package/dist/components/nv-datagrid.js.map +1 -1
  184. package/dist/components/nv-dialog.js +4 -4
  185. package/dist/components/nv-dialogfooter.js +1 -1
  186. package/dist/components/nv-fieldcheckbox.js +1 -1
  187. package/dist/components/nv-fielddate.js +6 -6
  188. package/dist/components/nv-fielddate.js.map +1 -1
  189. package/dist/components/nv-fielddaterange.js +6 -6
  190. package/dist/components/nv-fielddaterange.js.map +1 -1
  191. package/dist/components/nv-fielddropdown.js +5 -5
  192. package/dist/components/nv-fielddropdown.js.map +1 -1
  193. package/dist/components/nv-fielddropdownitem.js +1 -1
  194. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  195. package/dist/components/nv-fieldmultiselect.js +7 -37
  196. package/dist/components/nv-fieldmultiselect.js.map +1 -1
  197. package/dist/components/nv-fieldnumber.js +1 -1
  198. package/dist/components/nv-fieldpassword.js +3 -3
  199. package/dist/components/nv-fieldpassword.js.map +1 -1
  200. package/dist/components/nv-fieldradio.js +1 -1
  201. package/dist/components/nv-fieldradio.js.map +1 -1
  202. package/dist/components/nv-fieldselect.js +3 -3
  203. package/dist/components/nv-fieldselect.js.map +1 -1
  204. package/dist/components/nv-fieldslider.js +27 -19
  205. package/dist/components/nv-fieldslider.js.map +1 -1
  206. package/dist/components/nv-fieldtext.js +1 -1
  207. package/dist/components/nv-fieldtime.js +5 -5
  208. package/dist/components/nv-fieldtime.js.map +1 -1
  209. package/dist/components/nv-icon.js +1 -1
  210. package/dist/components/nv-iconbutton.js +1 -1
  211. package/dist/components/nv-menu.js +3 -3
  212. package/dist/components/nv-menuitem.js +1 -1
  213. package/dist/components/nv-notification.d.ts +11 -0
  214. package/dist/components/nv-notification.js +150 -0
  215. package/dist/components/nv-notification.js.map +1 -0
  216. package/dist/components/nv-popover.js +1 -1
  217. package/dist/components/nv-row.js +1 -1
  218. package/dist/components/nv-stack.js +1 -1
  219. package/dist/components/nv-table.js +2 -2
  220. package/dist/components/nv-toggle.js +3 -3
  221. package/dist/components/nv-toggle.js.map +1 -1
  222. package/dist/components/nv-togglebutton.js +2 -2
  223. package/dist/components/nv-togglebutton.js.map +1 -1
  224. package/dist/components/nv-togglebuttongroup.js +1 -1
  225. package/dist/components/nv-tooltip.js +1 -1
  226. package/dist/components/{p-0ffb4785.js → p-0b5816f7.js} +2 -2
  227. package/dist/components/{p-0ffb4785.js.map → p-0b5816f7.js.map} +1 -1
  228. package/dist/components/{p-a5002d14.js → p-1172e9bb.js} +2 -2
  229. package/dist/components/{p-a5002d14.js.map → p-1172e9bb.js.map} +1 -1
  230. package/dist/components/{p-a3ddec4c.js → p-2277cfc8.js} +7 -24
  231. package/dist/components/p-2277cfc8.js.map +1 -0
  232. package/dist/components/{p-b659b999.js → p-2854cf01.js} +2 -2
  233. package/dist/components/{p-b659b999.js.map → p-2854cf01.js.map} +1 -1
  234. package/dist/components/{p-cf06032d.js → p-2de17259.js} +3 -3
  235. package/dist/components/{p-cf06032d.js.map → p-2de17259.js.map} +1 -1
  236. package/dist/components/p-31591941.js +216 -0
  237. package/dist/components/p-31591941.js.map +1 -0
  238. package/dist/components/{p-09cdd71f.js → p-42ea6b74.js} +34 -688
  239. package/dist/components/p-42ea6b74.js.map +1 -0
  240. package/dist/components/{p-50d0db7b.js → p-5073bfd6.js} +3 -3
  241. package/dist/components/{p-50d0db7b.js.map → p-5073bfd6.js.map} +1 -1
  242. package/dist/components/{p-195f46f3.js → p-60244646.js} +28 -9
  243. package/dist/components/p-60244646.js.map +1 -0
  244. package/dist/components/{p-8aee1010.js → p-68fa3890.js} +17 -11
  245. package/dist/components/p-68fa3890.js.map +1 -0
  246. package/dist/components/{p-2db5d1ab.js → p-89ac047e.js} +5 -5
  247. package/dist/components/p-89ac047e.js.map +1 -0
  248. package/dist/components/{p-1bb737fa.js → p-99a55bc4.js} +2 -2
  249. package/dist/components/{p-1bb737fa.js.map → p-99a55bc4.js.map} +1 -1
  250. package/dist/{esm/timeline.animation-adf35ecb.js → components/p-a52cd849.js} +20 -2
  251. package/dist/components/p-a52cd849.js.map +1 -0
  252. package/dist/components/{p-45a625fb.js → p-a9dc0824.js} +13 -10
  253. package/dist/components/p-a9dc0824.js.map +1 -0
  254. package/dist/components/{p-ec4558aa.js → p-ac91582e.js} +2 -2
  255. package/dist/components/{p-ec4558aa.js.map → p-ac91582e.js.map} +1 -1
  256. package/dist/components/p-ca38a8a9.js +88 -0
  257. package/dist/components/p-ca38a8a9.js.map +1 -0
  258. package/dist/components/{p-9fdaea9a.js → p-ddd0a394.js} +75 -41
  259. package/dist/components/p-ddd0a394.js.map +1 -0
  260. package/dist/components/p-e4ac8333.js +189 -0
  261. package/dist/components/{p-8011513c.js.map → p-e4ac8333.js.map} +1 -1
  262. package/dist/components/{p-32e8e42e.js → p-e6c04562.js} +2 -2
  263. package/dist/components/{p-32e8e42e.js.map → p-e6c04562.js.map} +1 -1
  264. package/dist/components/{p-f47a1e1e.js → p-eb443b26.js} +15 -5
  265. package/dist/components/p-eb443b26.js.map +1 -0
  266. package/dist/components/p-eda2f9f3.js +68 -0
  267. package/dist/components/p-eda2f9f3.js.map +1 -0
  268. package/dist/components/p-ee0df37f.js +723 -0
  269. package/dist/components/p-ee0df37f.js.map +1 -0
  270. package/dist/components/{p-8d45dbfe.js → p-fb560fa3.js} +3 -2
  271. package/dist/components/p-fb560fa3.js.map +1 -0
  272. package/dist/esm/collapse.animation-acda1bf5.js +216 -0
  273. package/dist/esm/collapse.animation-acda1bf5.js.map +1 -0
  274. package/dist/esm/{constants-23aaef7b.js → constants-d0f19e7b.js} +7 -24
  275. package/dist/esm/constants-d0f19e7b.js.map +1 -0
  276. package/dist/esm/fade.animation-eb454088.js +723 -0
  277. package/dist/esm/fade.animation-eb454088.js.map +1 -0
  278. package/dist/esm/{grow.animation-f7b26024.js → grow.animation-5b2abb3a.js} +3 -2
  279. package/dist/esm/grow.animation-5b2abb3a.js.map +1 -0
  280. package/dist/esm/index-a1936cd0.js +4 -0
  281. package/dist/esm/index.js +15 -12
  282. package/dist/esm/index.js.map +1 -1
  283. package/dist/esm/loader.js +1 -1
  284. package/dist/esm/native.js +1 -1
  285. package/dist/esm/nv-accordion-item.entry.js +72 -38
  286. package/dist/esm/nv-accordion-item.entry.js.map +1 -1
  287. package/dist/esm/nv-accordion.entry.js +80 -66
  288. package/dist/esm/nv-accordion.entry.js.map +1 -1
  289. package/dist/esm/nv-alert.entry.js +12 -12
  290. package/dist/esm/nv-alert.entry.js.map +1 -1
  291. package/dist/esm/nv-avatar.entry.js +1 -1
  292. package/dist/esm/nv-badge_2.entry.js +5 -5
  293. package/dist/esm/nv-badge_2.entry.js.map +1 -1
  294. package/dist/esm/nv-breadcrumb.entry.js +1 -1
  295. package/dist/esm/nv-breadcrumb.entry.js.map +1 -1
  296. package/dist/esm/nv-button.entry.js +2 -2
  297. package/dist/esm/nv-button.entry.js.map +1 -1
  298. package/dist/esm/nv-calendar.entry.js +14 -10
  299. package/dist/esm/nv-calendar.entry.js.map +1 -1
  300. package/dist/esm/nv-datagrid.entry.js +2 -2
  301. package/dist/esm/nv-datagrid.entry.js.map +1 -1
  302. package/dist/esm/nv-dialog.entry.js +1 -1
  303. package/dist/esm/nv-dialogfooter_2.entry.js +9 -6
  304. package/dist/esm/nv-dialogfooter_2.entry.js.map +1 -1
  305. package/dist/esm/nv-fieldcheckbox.entry.js +1 -1
  306. package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -1
  307. package/dist/esm/nv-fielddate.entry.js +1 -1
  308. package/dist/esm/nv-fielddate.entry.js.map +1 -1
  309. package/dist/esm/nv-fielddaterange.entry.js +1 -1
  310. package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
  311. package/dist/esm/nv-fielddropdown.entry.js +1 -1
  312. package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
  313. package/dist/esm/nv-fieldmultiselect.entry.js +1 -31
  314. package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
  315. package/dist/esm/nv-fieldnumber.entry.js +2 -2
  316. package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
  317. package/dist/esm/nv-fieldpassword.entry.js +1 -1
  318. package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
  319. package/dist/esm/nv-fieldradio.entry.js +1 -1
  320. package/dist/esm/nv-fieldradio.entry.js.map +1 -1
  321. package/dist/esm/nv-fieldselect.entry.js +1 -1
  322. package/dist/esm/nv-fieldselect.entry.js.map +1 -1
  323. package/dist/esm/nv-fieldslider.entry.js +24 -16
  324. package/dist/esm/nv-fieldslider.entry.js.map +1 -1
  325. package/dist/esm/nv-fieldtime.entry.js +2 -2
  326. package/dist/esm/nv-fieldtime.entry.js.map +1 -1
  327. package/dist/esm/nv-icon.entry.js +2 -2
  328. package/dist/esm/nv-icon.entry.js.map +1 -1
  329. package/dist/esm/nv-iconbutton_2.entry.js +1 -1
  330. package/dist/esm/nv-iconbutton_2.entry.js.map +1 -1
  331. package/dist/esm/nv-notification.entry.js +116 -0
  332. package/dist/esm/nv-notification.entry.js.map +1 -0
  333. package/dist/esm/nv-popover.entry.js +24 -7
  334. package/dist/esm/nv-popover.entry.js.map +1 -1
  335. package/dist/esm/nv-row.entry.js +1 -1
  336. package/dist/esm/nv-stack.entry.js +1 -1
  337. package/dist/esm/nv-table.entry.js +2 -2
  338. package/dist/esm/nv-toggle.entry.js +3 -3
  339. package/dist/esm/nv-toggle.entry.js.map +1 -1
  340. package/dist/esm/nv-togglebutton.entry.js +2 -2
  341. package/dist/esm/nv-togglebutton.entry.js.map +1 -1
  342. package/dist/esm/nv-togglebuttongroup.entry.js +1 -1
  343. package/dist/esm/nv-tooltip.entry.js +11 -2
  344. package/dist/esm/nv-tooltip.entry.js.map +1 -1
  345. package/dist/esm/slide.animation-f444aa0b.js +68 -0
  346. package/dist/esm/slide.animation-f444aa0b.js.map +1 -0
  347. package/dist/esm/{stylefire.es-74da334a.js → style-value-types.es-f5d10b79.js} +34 -688
  348. package/dist/esm/style-value-types.es-f5d10b79.js.map +1 -0
  349. package/dist/esm/timeline.animation-79215cd4.js +41 -0
  350. package/dist/esm/timeline.animation-79215cd4.js.map +1 -0
  351. package/dist/native/index.esm.js +1 -1
  352. package/dist/native/index.esm.js.map +1 -1
  353. package/dist/native/native.css +1 -1
  354. package/dist/native/native.esm.js +1 -1
  355. package/dist/native/native.esm.js.map +1 -1
  356. package/dist/native/p-08582c21.entry.js +2 -0
  357. package/dist/native/p-08582c21.entry.js.map +1 -0
  358. package/dist/native/p-0a99c6fb.entry.js +2 -0
  359. package/dist/native/p-0a99c6fb.entry.js.map +1 -0
  360. package/dist/native/p-0e488b3d.entry.js +2 -0
  361. package/dist/native/p-0e488b3d.entry.js.map +1 -0
  362. package/dist/native/p-1ad1bff9.entry.js +2 -0
  363. package/dist/native/{p-0ef94dae.entry.js.map → p-1ad1bff9.entry.js.map} +1 -1
  364. package/dist/native/{p-aacd8789.entry.js → p-1f01fb64.entry.js} +2 -2
  365. package/dist/native/p-225a05bf.entry.js +2 -0
  366. package/dist/native/{p-fb672f90.entry.js.map → p-225a05bf.entry.js.map} +1 -1
  367. package/dist/native/p-2277cfc8.js +2 -0
  368. package/dist/native/p-2277cfc8.js.map +1 -0
  369. package/dist/native/p-25f2ce81.entry.js +2 -0
  370. package/dist/native/{p-7f0d576b.entry.js → p-2781637d.entry.js} +2 -2
  371. package/dist/native/{p-7f0d576b.entry.js.map → p-2781637d.entry.js.map} +1 -1
  372. package/dist/native/{p-681f2bac.entry.js → p-29f68e07.entry.js} +2 -2
  373. package/dist/native/p-29f68e07.entry.js.map +1 -0
  374. package/dist/native/p-31591941.js +2 -0
  375. package/dist/native/p-31591941.js.map +1 -0
  376. package/dist/native/p-33f503c5.entry.js +2 -0
  377. package/dist/native/p-33f503c5.entry.js.map +1 -0
  378. package/dist/native/{p-43071c3b.entry.js → p-3784efdc.entry.js} +2 -2
  379. package/dist/native/p-3f861ddc.entry.js +2 -0
  380. package/dist/native/p-3f861ddc.entry.js.map +1 -0
  381. package/dist/native/p-40c4a221.entry.js +2 -0
  382. package/dist/native/{p-9991116a.entry.js.map → p-40c4a221.entry.js.map} +1 -1
  383. package/dist/native/p-42ea6b74.js +16 -0
  384. package/dist/native/p-42ea6b74.js.map +1 -0
  385. package/dist/native/p-52b8c872.entry.js +2 -0
  386. package/dist/native/{p-397c0fca.entry.js.map → p-52b8c872.entry.js.map} +1 -1
  387. package/dist/native/{p-9f451b8a.entry.js → p-5a43fe48.entry.js} +3 -3
  388. package/dist/native/{p-9f451b8a.entry.js.map → p-5a43fe48.entry.js.map} +1 -1
  389. package/dist/native/{p-676447d7.entry.js → p-788e9ee5.entry.js} +3 -3
  390. package/dist/native/{p-f033c4ce.entry.js → p-7bbcf477.entry.js} +2 -2
  391. package/dist/native/p-8c823928.entry.js +2 -0
  392. package/dist/native/p-8c823928.entry.js.map +1 -0
  393. package/dist/native/p-9a46baa9.entry.js +2 -0
  394. package/dist/native/p-9a46baa9.entry.js.map +1 -0
  395. package/dist/native/p-a34beedf.entry.js +2 -0
  396. package/dist/native/p-a34beedf.entry.js.map +1 -0
  397. package/dist/native/p-a52cd849.js +2 -0
  398. package/dist/native/p-a52cd849.js.map +1 -0
  399. package/dist/native/p-bb71a17f.entry.js +2 -0
  400. package/dist/native/{p-ba9906b7.entry.js.map → p-bb71a17f.entry.js.map} +1 -1
  401. package/dist/native/p-bc01787b.entry.js +2 -0
  402. package/dist/native/{p-ad2cc829.entry.js.map → p-bc01787b.entry.js.map} +1 -1
  403. package/dist/native/p-cea942b9.entry.js +2 -0
  404. package/dist/native/{p-3ed84cd9.entry.js.map → p-cea942b9.entry.js.map} +1 -1
  405. package/dist/native/p-cfd5785e.entry.js +2 -0
  406. package/dist/native/p-cfd5785e.entry.js.map +1 -0
  407. package/dist/native/p-d0ef1bbb.entry.js +2 -0
  408. package/dist/native/p-d0ef1bbb.entry.js.map +1 -0
  409. package/dist/native/p-d88c416f.entry.js +2 -0
  410. package/dist/native/{p-2197ffdf.entry.js.map → p-d88c416f.entry.js.map} +1 -1
  411. package/dist/native/p-d95ee31e.entry.js +2 -0
  412. package/dist/native/{p-44dd9a4c.entry.js.map → p-d95ee31e.entry.js.map} +1 -1
  413. package/dist/native/p-da2c7d3c.entry.js +2 -0
  414. package/dist/native/p-da2c7d3c.entry.js.map +1 -0
  415. package/dist/native/p-e765a624.entry.js +2 -0
  416. package/dist/native/{p-184032cb.entry.js.map → p-e765a624.entry.js.map} +1 -1
  417. package/dist/native/p-eda2f9f3.js +2 -0
  418. package/dist/native/p-eda2f9f3.js.map +1 -0
  419. package/dist/native/p-ee0df37f.js +2 -0
  420. package/dist/native/p-ee0df37f.js.map +1 -0
  421. package/dist/native/p-ee516944.entry.js +2 -0
  422. package/dist/native/p-ee516944.entry.js.map +1 -0
  423. package/dist/native/p-f0cbfb3d.entry.js +2 -0
  424. package/dist/native/{p-b58fb522.entry.js.map → p-f0cbfb3d.entry.js.map} +1 -1
  425. package/dist/native/p-f5120223.entry.js +2 -0
  426. package/dist/native/p-f5120223.entry.js.map +1 -0
  427. package/dist/native/{p-2d647761.entry.js → p-f5eb047e.entry.js} +2 -2
  428. package/dist/native/p-fb560fa3.js +2 -0
  429. package/dist/native/{p-8d45dbfe.js.map → p-fb560fa3.js.map} +1 -1
  430. package/dist/types/animations/collapse.animation.d.ts +10 -2
  431. package/dist/types/animations/index.d.ts +1 -0
  432. package/dist/types/animations/slide.animation.d.ts +11 -0
  433. package/dist/types/animations/timeline.animation.d.ts +17 -1
  434. package/dist/types/components/nv-accordion/nv-accordion.d.ts +5 -7
  435. package/dist/types/components/nv-accordion-item/nv-accordion-item.d.ts +23 -8
  436. package/dist/types/components/nv-alert/nv-alert.d.ts +1 -1
  437. package/dist/types/components/nv-calendar/nv-calendar.d.ts +4 -0
  438. package/dist/types/components/nv-calendar/partials/calendar-actions.d.ts +4 -0
  439. package/dist/types/components/nv-dialogfooter/nv-dialogfooter.d.ts +8 -4
  440. package/dist/types/components/nv-fieldslider/nv-fieldslider.d.ts +3 -2
  441. package/dist/types/components/nv-fieldslider/partials/field-input.d.ts +7 -3
  442. package/dist/types/components/nv-icon/nv-icons.d.ts +1 -1
  443. package/dist/types/components/nv-notification/nv-notification.d.ts +75 -0
  444. package/dist/types/components/nv-notification/nv-notification.docs.d.ts +4 -0
  445. package/dist/types/components/nv-popover/nv-popover.d.ts +11 -1
  446. package/dist/types/components/nv-tooltip/nv-tooltip.d.ts +11 -2
  447. package/dist/types/components.d.ts +162 -13
  448. package/dist/types/index.d.ts +1 -1
  449. package/dist/types/nova-docs.d.ts +6 -0
  450. package/dist/types/utils/constants.d.ts +4 -0
  451. package/dist/vscode-data.json +117 -19
  452. package/hydrate/index.js +695 -288
  453. package/hydrate/index.mjs +695 -288
  454. package/package.json +9 -1
  455. package/readme.md +169 -42
  456. package/dist/cjs/collapse.animation-a129dc3f.js +0 -86
  457. package/dist/cjs/collapse.animation-a129dc3f.js.map +0 -1
  458. package/dist/cjs/constants-3b6beb66.js.map +0 -1
  459. package/dist/cjs/fade.animation-644b5c4d.js +0 -70
  460. package/dist/cjs/fade.animation-644b5c4d.js.map +0 -1
  461. package/dist/cjs/grow.animation-6d003803.js.map +0 -1
  462. package/dist/cjs/stylefire.es-717e022a.js.map +0 -1
  463. package/dist/cjs/timeline.animation-155e8839.js.map +0 -1
  464. package/dist/components/p-09cdd71f.js.map +0 -1
  465. package/dist/components/p-15aeab4d.js +0 -23
  466. package/dist/components/p-15aeab4d.js.map +0 -1
  467. package/dist/components/p-195f46f3.js.map +0 -1
  468. package/dist/components/p-1cbacdba.js +0 -68
  469. package/dist/components/p-1cbacdba.js.map +0 -1
  470. package/dist/components/p-2db5d1ab.js.map +0 -1
  471. package/dist/components/p-45a625fb.js.map +0 -1
  472. package/dist/components/p-8011513c.js +0 -189
  473. package/dist/components/p-8aee1010.js.map +0 -1
  474. package/dist/components/p-8d45dbfe.js.map +0 -1
  475. package/dist/components/p-9a263d0e.js +0 -84
  476. package/dist/components/p-9a263d0e.js.map +0 -1
  477. package/dist/components/p-9fdaea9a.js.map +0 -1
  478. package/dist/components/p-a1fe0a5d.js +0 -88
  479. package/dist/components/p-a1fe0a5d.js.map +0 -1
  480. package/dist/components/p-a3ddec4c.js.map +0 -1
  481. package/dist/components/p-f47a1e1e.js.map +0 -1
  482. package/dist/esm/collapse.animation-16e3af45.js +0 -84
  483. package/dist/esm/collapse.animation-16e3af45.js.map +0 -1
  484. package/dist/esm/constants-23aaef7b.js.map +0 -1
  485. package/dist/esm/fade.animation-71e8e34c.js +0 -68
  486. package/dist/esm/fade.animation-71e8e34c.js.map +0 -1
  487. package/dist/esm/grow.animation-f7b26024.js.map +0 -1
  488. package/dist/esm/stylefire.es-74da334a.js.map +0 -1
  489. package/dist/esm/timeline.animation-adf35ecb.js.map +0 -1
  490. package/dist/native/p-019d164d.entry.js +0 -2
  491. package/dist/native/p-019d164d.entry.js.map +0 -1
  492. package/dist/native/p-09cdd71f.js +0 -16
  493. package/dist/native/p-09cdd71f.js.map +0 -1
  494. package/dist/native/p-0da8f0d1.entry.js +0 -2
  495. package/dist/native/p-0da8f0d1.entry.js.map +0 -1
  496. package/dist/native/p-0ef94dae.entry.js +0 -2
  497. package/dist/native/p-15aeab4d.js +0 -2
  498. package/dist/native/p-15aeab4d.js.map +0 -1
  499. package/dist/native/p-184032cb.entry.js +0 -2
  500. package/dist/native/p-1cbacdba.js +0 -2
  501. package/dist/native/p-1cbacdba.js.map +0 -1
  502. package/dist/native/p-2197ffdf.entry.js +0 -2
  503. package/dist/native/p-348c6bb4.entry.js +0 -2
  504. package/dist/native/p-348c6bb4.entry.js.map +0 -1
  505. package/dist/native/p-397c0fca.entry.js +0 -2
  506. package/dist/native/p-3da64006.entry.js +0 -2
  507. package/dist/native/p-3da64006.entry.js.map +0 -1
  508. package/dist/native/p-3ed84cd9.entry.js +0 -2
  509. package/dist/native/p-3fcaac6d.entry.js +0 -2
  510. package/dist/native/p-3fcaac6d.entry.js.map +0 -1
  511. package/dist/native/p-4302824a.entry.js +0 -2
  512. package/dist/native/p-4302824a.entry.js.map +0 -1
  513. package/dist/native/p-44dd9a4c.entry.js +0 -2
  514. package/dist/native/p-4f4ed012.entry.js +0 -2
  515. package/dist/native/p-4f4ed012.entry.js.map +0 -1
  516. package/dist/native/p-553778e6.entry.js +0 -2
  517. package/dist/native/p-553778e6.entry.js.map +0 -1
  518. package/dist/native/p-62032cd9.entry.js +0 -2
  519. package/dist/native/p-62032cd9.entry.js.map +0 -1
  520. package/dist/native/p-681f2bac.entry.js.map +0 -1
  521. package/dist/native/p-7703c736.entry.js +0 -2
  522. package/dist/native/p-7703c736.entry.js.map +0 -1
  523. package/dist/native/p-888ad58e.entry.js +0 -2
  524. package/dist/native/p-888ad58e.entry.js.map +0 -1
  525. package/dist/native/p-8a577f91.entry.js +0 -2
  526. package/dist/native/p-8a577f91.entry.js.map +0 -1
  527. package/dist/native/p-8d45dbfe.js +0 -2
  528. package/dist/native/p-9991116a.entry.js +0 -2
  529. package/dist/native/p-9a263d0e.js +0 -2
  530. package/dist/native/p-9a263d0e.js.map +0 -1
  531. package/dist/native/p-ac5496e7.entry.js +0 -2
  532. package/dist/native/p-ad2cc829.entry.js +0 -2
  533. package/dist/native/p-b58fb522.entry.js +0 -2
  534. package/dist/native/p-ba9906b7.entry.js +0 -2
  535. package/dist/native/p-fb672f90.entry.js +0 -2
  536. package/dist/native/p-fc9564b3.js +0 -2
  537. package/dist/native/p-fc9564b3.js.map +0 -1
  538. /package/dist/native/{p-aacd8789.entry.js.map → p-1f01fb64.entry.js.map} +0 -0
  539. /package/dist/native/{p-ac5496e7.entry.js.map → p-25f2ce81.entry.js.map} +0 -0
  540. /package/dist/native/{p-43071c3b.entry.js.map → p-3784efdc.entry.js.map} +0 -0
  541. /package/dist/native/{p-676447d7.entry.js.map → p-788e9ee5.entry.js.map} +0 -0
  542. /package/dist/native/{p-f033c4ce.entry.js.map → p-7bbcf477.entry.js.map} +0 -0
  543. /package/dist/native/{p-2d647761.entry.js.map → p-f5eb047e.entry.js.map} +0 -0
@@ -1,11 +1,11 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-aff3ed68.js';
2
- import { u as useCollapse } from './p-9a263d0e.js';
3
- import './p-09cdd71f.js';
4
- import { d as defineCustomElement$3 } from './p-a1fe0a5d.js';
5
- import { d as defineCustomElement$2 } from './p-50d0db7b.js';
2
+ import { u as useCollapse } from './p-31591941.js';
3
+ import './p-42ea6b74.js';
4
+ import { d as defineCustomElement$3 } from './p-ca38a8a9.js';
5
+ import { d as defineCustomElement$2 } from './p-5073bfd6.js';
6
6
  import { d as defineCustomElement$1 } from './p-fda58a76.js';
7
7
 
8
- const nvAccordionItemCss = "nv-accordion-item{display:block;border-bottom:var(--spacing-px) solid var(--color-content-low-border)}nv-accordion-item:last-child{border-bottom:none}nv-accordion-item .nv-accordion-item__header{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4)}nv-accordion-item .nv-accordion-item__header .nv-accordion-item__chevron{margin-left:var(--spacing-2);flex-shrink:0}nv-accordion-item .nv-accordion-item__header .nv-accordion-item__header-content{display:flex;flex-direction:column;gap:var(--spacing-0-5);flex:1;min-width:0}nv-accordion-item .nv-accordion-item__header .nv-accordion-item__title{color:var(--color-content-high-text);font-size:var(--font-size-lg);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--line-height-lg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}nv-accordion-item .nv-accordion-item__header .nv-accordion-item__subtitle{color:var(--color-content-low-text);font-size:var(--font-size-md);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--line-height-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}nv-accordion-item .nv-accordion-item__content{background:var(--color-level-10-background)}nv-accordion-item .nv-accordion-item__content .nv-accordion-item__content-inner{padding:var(--spacing-4);color:var(--color-content-low-text);font-size:var(--font-size-md);font-style:normal;font-weight:500;line-height:var(--line-height-base);}nv-accordion-item.is-disabled{opacity:var(--opacity-disabled);pointer-events:none}nv-accordion-item.is-open .nv-accordion-item__header{border-bottom:var(--spacing-px) solid var(--color-content-low-border)}";
8
+ const nvAccordionItemCss = "nv-accordion-item{display:block;border-bottom:var(--spacing-px) solid var(--color-content-low-border)}nv-accordion-item:last-child{border-bottom:none}nv-accordion-item .nv-accordion-item__header{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4)}nv-accordion-item .nv-accordion-item__header .nv-accordion-item__chevron{margin-left:var(--spacing-2);flex-shrink:0}nv-accordion-item .nv-accordion-item__header .nv-accordion-item__header-content{display:flex;flex-direction:column;gap:var(--spacing-0-5);flex:1;min-width:0}nv-accordion-item .nv-accordion-item__header .nv-accordion-item__title{color:var(--color-content-high-text);font-size:var(--font-size-lg);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--line-height-lg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}nv-accordion-item .nv-accordion-item__header .nv-accordion-item__subtitle{color:var(--color-content-low-text);font-size:var(--font-size-md);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--line-height-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}nv-accordion-item .nv-accordion-item__content{background:var(--color-level-10-background)}nv-accordion-item .nv-accordion-item__content .nv-accordion-item__content-inner{padding:var(--spacing-4);color:var(--color-content-low-text);font-size:var(--font-size-md);font-style:normal;font-weight:500;line-height:var(--line-height-base);}nv-accordion-item.is-disabled{opacity:var(--opacity-disabled);pointer-events:none}nv-accordion-item.is-open .nv-accordion-item__header{border-bottom:var(--spacing-px) solid var(--color-content-low-border)}nv-accordion-item:last-child .nv-accordion-item__content{border-radius:0 0 calc(var(--radius-rounded-lg) - var(--spacing-px)) calc(var(--radius-rounded-lg) - var(--spacing-px))}";
9
9
  const NvAccordionItemStyle0 = nvAccordionItemCss;
10
10
 
11
11
  const NvAccordionItem = /*@__PURE__*/ proxyCustomElement(class NvAccordionItem extends H {
@@ -13,16 +13,25 @@ const NvAccordionItem = /*@__PURE__*/ proxyCustomElement(class NvAccordionItem e
13
13
  super();
14
14
  this.__registerHost();
15
15
  this.itemToggle = createEvent(this, "itemToggle", 7);
16
- /** Open or closed */
16
+ this.isToggling = false;
17
+ /**
18
+ * Open or closed
19
+ */
17
20
  this.open = false;
18
- /** Disables the item */
21
+ /**
22
+ * Disables the item
23
+ */
19
24
  this.disabled = false;
20
- /** Parent expansion mode (accordion or multi) */
25
+ /**
26
+ * Parent expansion mode (accordion or multi)
27
+ */
21
28
  this.mode = 'accordion';
22
29
  //#endregion EVENTS
23
30
  /****************************************************************************/
24
31
  //#region STATE
25
- /** Internal state for open/close rendering */
32
+ /**
33
+ * Internal state for open/close rendering
34
+ */
26
35
  this.currentOpenState = false;
27
36
  /**
28
37
  * Controls if the panel has been initialized for animations
@@ -43,7 +52,7 @@ const NvAccordionItem = /*@__PURE__*/ proxyCustomElement(class NvAccordionItem e
43
52
  * @param {Event} e - Click event
44
53
  */
45
54
  this.handleIconClick = (e) => {
46
- e.stopPropagation(); // Prevent header click from triggering
55
+ e.stopPropagation();
47
56
  this.toggle();
48
57
  };
49
58
  /**
@@ -51,8 +60,10 @@ const NvAccordionItem = /*@__PURE__*/ proxyCustomElement(class NvAccordionItem e
51
60
  * @param {KeyboardEvent} e - Keyboard event
52
61
  */
53
62
  this.handleHeaderKeyDown = (e) => {
54
- if (this.disabled)
63
+ if (this.disabled) {
64
+ console.warn('[handleHeaderKeyDown] Ignored (disabled)');
55
65
  return;
66
+ }
56
67
  switch (e.key) {
57
68
  case 'Enter':
58
69
  case ' ':
@@ -62,17 +73,19 @@ const NvAccordionItem = /*@__PURE__*/ proxyCustomElement(class NvAccordionItem e
62
73
  case 'ArrowDown':
63
74
  e.preventDefault();
64
75
  if (!this.open) {
76
+ this.isToggling = true;
65
77
  this.open = true;
66
- this.itemToggle.emit(this.open);
67
- this.updateVisibility(this.open);
78
+ this.itemToggle.emit(true);
79
+ this.isToggling = false;
68
80
  }
69
81
  break;
70
82
  case 'ArrowUp':
71
83
  e.preventDefault();
72
84
  if (this.open) {
85
+ this.isToggling = true;
73
86
  this.open = false;
74
- this.itemToggle.emit(this.open);
75
- this.updateVisibility(this.open);
87
+ this.itemToggle.emit(false);
88
+ this.isToggling = false;
76
89
  }
77
90
  break;
78
91
  }
@@ -82,12 +95,23 @@ const NvAccordionItem = /*@__PURE__*/ proxyCustomElement(class NvAccordionItem e
82
95
  /****************************************************************************/
83
96
  //#region WATCHERS
84
97
  async onOpenChanged(newValue, oldValue) {
85
- this.currentOpenState = newValue; // Synchronize internal state
86
- // Skip initial render
87
- if (oldValue === undefined) {
98
+ if (this.disabled) {
99
+ console.warn('[onOpenChanged] Item is disabled, forcing closed state');
100
+ this.currentOpenState = false;
101
+ this.open = false;
88
102
  return;
89
103
  }
90
- await this.updateVisibility(newValue);
104
+ this.currentOpenState = newValue;
105
+ const isInitialRender = oldValue === undefined;
106
+ if (!isInitialRender) {
107
+ if (newValue === false && !this.isToggling) {
108
+ this.itemToggle.emit(newValue);
109
+ }
110
+ else if (newValue && !this.isToggling) {
111
+ this.itemToggle.emit(newValue);
112
+ }
113
+ await this.updateVisibility(newValue);
114
+ }
91
115
  }
92
116
  //#endregion WATCHERS
93
117
  /****************************************************************************/
@@ -97,18 +121,18 @@ const NvAccordionItem = /*@__PURE__*/ proxyCustomElement(class NvAccordionItem e
97
121
  * @param {boolean} open - Whether the accordion item should be open
98
122
  */
99
123
  async updateVisibility(open) {
100
- if (!this.contentRef)
124
+ if (!this.contentRef) {
125
+ console.error('[updateVisibility] No contentRef available');
101
126
  return;
127
+ }
102
128
  this.isAnimating = true;
103
129
  const { collapse, expand } = useCollapse(this.contentRef, {
104
130
  duration: 200,
105
131
  });
106
132
  if (open) {
107
- // Expand with animation
108
133
  await expand();
109
134
  }
110
135
  else {
111
- // Collapse with animation
112
136
  await collapse();
113
137
  }
114
138
  this.isAnimating = false;
@@ -117,19 +141,24 @@ const NvAccordionItem = /*@__PURE__*/ proxyCustomElement(class NvAccordionItem e
117
141
  /****************************************************************************/
118
142
  //#region LIFECYCLE
119
143
  componentWillLoad() {
120
- this.currentOpenState = this.open; // Initial synchronization
144
+ this.currentOpenState = this.open;
121
145
  }
122
146
  componentDidLoad() {
123
147
  if (this.contentRef) {
124
- const { setExpanded, setCollapsed } = useCollapse(this.contentRef);
125
- if (this.open) {
126
- // If open by default on initial load, set expanded state without animation
127
- setExpanded();
128
- }
129
- else {
130
- // If closed by default, set collapsed state without animation
131
- setCollapsed();
132
- }
148
+ setTimeout(() => {
149
+ const { setExpanded, setCollapsed } = useCollapse(this.contentRef, {
150
+ duration: 200,
151
+ });
152
+ if (this.open) {
153
+ setExpanded();
154
+ this.currentOpenState = true;
155
+ }
156
+ else {
157
+ setCollapsed();
158
+ this.currentOpenState = false;
159
+ }
160
+ this.isInitialized = true;
161
+ }, 0);
133
162
  }
134
163
  }
135
164
  disconnectedCallback() {
@@ -145,10 +174,14 @@ const NvAccordionItem = /*@__PURE__*/ proxyCustomElement(class NvAccordionItem e
145
174
  */
146
175
  async toggle() {
147
176
  if (!this.disabled && !this.isAnimating) {
148
- this.open = !this.open;
149
- this.itemToggle.emit(this.open);
150
- // Force animation update directly instead of relying on watcher
151
- await this.updateVisibility(this.open);
177
+ this.isToggling = true;
178
+ const newOpen = !this.open;
179
+ this.open = newOpen;
180
+ this.itemToggle.emit(newOpen);
181
+ this.isToggling = false;
182
+ }
183
+ else {
184
+ console.warn('[toggle] Ignored toggle (disabled or animating)');
152
185
  }
153
186
  }
154
187
  /**
@@ -156,18 +189,19 @@ const NvAccordionItem = /*@__PURE__*/ proxyCustomElement(class NvAccordionItem e
156
189
  * @returns {string} The icon name to display in the chevron button
157
190
  */
158
191
  get chevronIconName() {
159
- return this.open ? 'chevron-top' : 'chevron-down';
192
+ const name = this.open ? 'chevron-top' : 'chevron-down';
193
+ return name;
160
194
  }
161
195
  //#endregion METHODS
162
196
  /****************************************************************************/
163
197
  //#region RENDER
164
198
  render() {
165
- return (h(Host, { key: 'dfb8ca76f8ac40c938323be1ccba4353ea33a616', class: {
199
+ return (h(Host, { key: '4d5ae52ba3e8cac86316d790f95afd39f6c73019', class: {
166
200
  'nv-accordion-item': true,
167
- 'is-open': this.open,
201
+ 'is-open': this.currentOpenState,
168
202
  'is-disabled': this.disabled,
169
203
  'is-animating': this.isAnimating,
170
- }, role: "listitem", "aria-expanded": this.open ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }, h("div", { key: '258efe0502a39d963a9e75c16285ee9cbc65cb9f', class: "nv-accordion-item__header", onClick: this.handleHeaderClick, "aria-controls": "content" }, h("slot", { key: 'bb4dae743f06e3d41d1f7b8c17793b668df9347b', name: "header" }, h("div", { key: 'f3142a81c6be776d95ab9292101b889db6e35805', class: "nv-accordion-item__header-content" }, this.itemTitle && (h("span", { key: 'e897d8b4d414ba4e93b2853c152059579063335e', class: "nv-accordion-item__title" }, this.itemTitle)), this.subtitle && (h("span", { key: 'b8e03ceb1ca0e4c0b0fe24398f0e1c592ac077ab', class: "nv-accordion-item__subtitle" }, this.subtitle)))), h("nv-iconbutton", { key: '145718cd664f6b1015cf99ad3c72dbe80df1f54e', emphasis: "low", size: "sm", shape: "square", name: this.chevronIconName, tabindex: this.disabled ? -1 : 0, onClick: this.handleIconClick, onKeyDown: this.handleHeaderKeyDown, "aria-controls": "content", "aria-label": this.open ? 'Fermer la section' : 'Ouvrir la section' })), h("div", { key: '667967ca20edaa1fc738188f42cfa8bf47bb080f', id: "content", class: "nv-accordion-item__content", ref: el => (this.contentRef = el) }, h("div", { key: '1f66bac904a5992d5e6cd63852d5aec9bc602ed7', class: "nv-accordion-item__content-inner" }, h("slot", { key: 'd7b5cf5c69daab242e7696e7432769905b3d4c72', name: "content" })))));
204
+ }, role: "listitem", "aria-expanded": this.currentOpenState ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }, h("div", { key: '866562d2f3033189e6d5df8fa5576d2f1540959e', class: "nv-accordion-item__header", onClick: this.handleHeaderClick, "aria-controls": "content" }, h("slot", { key: '36d2b14528c6bd6665ccfc94707d62dc406262d0', name: "header" }, h("div", { key: 'c78c1e485d0128708db6fc5fb2b64c6c01e4ed0f', class: "nv-accordion-item__header-content" }, this.itemTitle && (h("span", { key: '524cf377a4c89752eeed1933dbb8fd2343cd8830', class: "nv-accordion-item__title" }, this.itemTitle)), this.subtitle && (h("span", { key: 'b8ee5edc3c798218348490fc43c458c45934ee83', class: "nv-accordion-item__subtitle" }, this.subtitle)))), h("nv-iconbutton", { key: 'aa474788bb5551ca7b94261dca1ccb2e5aced3d3', emphasis: "low", size: "sm", shape: "square", name: this.chevronIconName, tabindex: this.disabled ? -1 : 0, onClick: this.handleIconClick, onKeyDown: this.handleHeaderKeyDown, "aria-controls": "content", "aria-label": this.currentOpenState ? 'Close the section' : 'Open the section' })), h("div", { key: '3b49afd97cc797b165a8fa6753f564349735aad1', id: "content", class: "nv-accordion-item__content", ref: el => (this.contentRef = el) }, h("div", { key: '955b5c7cef3259a2531ecc14eafb806a9d28c9a6', class: "nv-accordion-item__content-inner" }, h("slot", { key: '56ff89e2041d425f520fe6e62975bbb7193653f2', name: "content" })))));
171
205
  }
172
206
  get el() { return this; }
173
207
  static get watchers() { return {
@@ -220,4 +254,4 @@ defineCustomElement();
220
254
 
221
255
  export { NvAccordionItem as N, defineCustomElement as d };
222
256
 
223
- //# sourceMappingURL=p-9fdaea9a.js.map
257
+ //# sourceMappingURL=p-ddd0a394.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-ddd0a394.js","mappings":"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","names":[],"sources":["src/components/nv-accordion-item/styles/nv-accordion-item.scss?tag=nv-accordion-item","src/components/nv-accordion-item/nv-accordion-item.tsx"],"sourcesContent":["@use './mixins' as *;\n\nnv-accordion-item {\n @include accordion-item-root();\n\n .nv-accordion-item__header {\n @include accordion-item-header();\n\n .nv-accordion-item__chevron {\n @include accordion-item-chevron();\n }\n\n .nv-accordion-item__header-content {\n @include accordion-item-header-content();\n }\n\n .nv-accordion-item__title {\n @include accordion-item-title();\n }\n\n .nv-accordion-item__subtitle {\n @include accordion-item-subtitle();\n }\n }\n\n .nv-accordion-item__content {\n @include accordion-item-content();\n\n .nv-accordion-item__content-inner {\n @include accordion-item-content-inner();\n }\n }\n\n // Styles for disabled items\n &.is-disabled {\n @include accordion-item-disabled();\n }\n\n // Border between header and content when item is open\n &.is-open .nv-accordion-item__header {\n border-bottom: var(--spacing-px) solid var(--color-content-low-border);\n }\n\n // ✅ Add this\n &:last-child {\n .nv-accordion-item__content {\n border-radius: 0 0 calc(var(--radius-rounded-lg) - var(--spacing-px))\n calc(var(--radius-rounded-lg) - var(--spacing-px));\n }\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Method,\n State,\n Element,\n Watch,\n} from '@stencil/core';\nimport { useCollapse } from '../../animations';\n\n/**\n * Accordion item element for nv-accordion.\n *\n * @slot header - Custom header (replaces itemTitle/subtitle)\n * @slot content - Main content (expandable area)\n */\n@Component({\n tag: 'nv-accordion-item',\n styleUrl: 'styles/nv-accordion-item.scss',\n shadow: false,\n})\nexport class NvAccordionItem {\n @Element() el!: HTMLNvAccordionItemElement;\n private contentRef?: HTMLDivElement;\n private mutationObserver?: MutationObserver;\n private isToggling: boolean = false;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Item title (displayed if header slot is absent)\n */\n @Prop({ reflect: true })\n readonly itemTitle?: string;\n\n /**\n * Item subtitle (displayed if header slot is absent)\n */\n @Prop({ reflect: true })\n readonly subtitle?: string;\n\n /**\n * Open or closed\n */\n @Prop({ reflect: true, mutable: true })\n open: boolean = false;\n\n /**\n * Disables the item\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Maximum content height (in px, optional). If not defined, auto height.\n */\n @Prop({ reflect: true })\n readonly maxContentHeight?: number;\n\n /**\n * Parent expansion mode (accordion or multi)\n */\n @Prop({ reflect: true })\n readonly mode?: 'accordion' | 'multi' = 'accordion';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Event emitted on toggle (header click or programmatic change)\n */\n @Event()\n itemToggle: EventEmitter<boolean>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region STATE\n\n /**\n * Internal state for open/close rendering\n */\n @State()\n currentOpenState: boolean = false;\n\n /**\n * Controls if the panel has been initialized for animations\n */\n @State()\n isInitialized: boolean = false;\n\n /**\n * Animation in progress\n */\n @State()\n isAnimating: boolean = false;\n\n //#endregion STATE\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('open')\n async onOpenChanged(newValue: boolean, oldValue: boolean) {\n if (this.disabled) {\n console.warn('[onOpenChanged] Item is disabled, forcing closed state');\n this.currentOpenState = false;\n this.open = false;\n return;\n }\n\n this.currentOpenState = newValue;\n\n const isInitialRender = oldValue === undefined;\n if (!isInitialRender) {\n if (newValue === false && !this.isToggling) {\n this.itemToggle.emit(newValue);\n } else if (newValue && !this.isToggling) {\n this.itemToggle.emit(newValue);\n }\n await this.updateVisibility(newValue);\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region ANIMATIONS\n\n /**\n * Updates the visibility state with Nova animation system\n * @param {boolean} open - Whether the accordion item should be open\n */\n private async updateVisibility(open: boolean) {\n if (!this.contentRef) {\n console.error('[updateVisibility] No contentRef available');\n return;\n }\n\n this.isAnimating = true;\n\n const { collapse, expand } = useCollapse(this.contentRef, {\n duration: 200,\n });\n\n if (open) {\n await expand();\n } else {\n await collapse();\n }\n\n this.isAnimating = false;\n }\n\n //#endregion ANIMATIONS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.currentOpenState = this.open;\n }\n\n componentDidLoad() {\n if (this.contentRef) {\n setTimeout(() => {\n const { setExpanded, setCollapsed } = useCollapse(this.contentRef!, {\n duration: 200,\n });\n\n if (this.open) {\n setExpanded();\n this.currentOpenState = true;\n } else {\n setCollapsed();\n this.currentOpenState = false;\n }\n this.isInitialized = true;\n }, 0);\n }\n }\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Toggle open/close (Public API)\n */\n @Method()\n async toggle() {\n if (!this.disabled && !this.isAnimating) {\n this.isToggling = true;\n const newOpen = !this.open;\n\n this.open = newOpen;\n this.itemToggle.emit(newOpen);\n\n this.isToggling = false;\n } else {\n console.warn('[toggle] Ignored toggle (disabled or animating)');\n }\n }\n\n /**\n * Handler for header click\n */\n private handleHeaderClick = () => {\n this.toggle();\n };\n\n /**\n * Handler for iconbutton click\n * @param {Event} e - Click event\n */\n private handleIconClick = (e: Event) => {\n e.stopPropagation();\n this.toggle();\n };\n\n /**\n * Handler for keyboard events on iconbutton\n * @param {KeyboardEvent} e - Keyboard event\n */\n private handleHeaderKeyDown = (e: KeyboardEvent) => {\n if (this.disabled) {\n console.warn('[handleHeaderKeyDown] Ignored (disabled)');\n return;\n }\n\n switch (e.key) {\n case 'Enter':\n case ' ':\n e.preventDefault();\n this.toggle();\n break;\n case 'ArrowDown':\n e.preventDefault();\n if (!this.open) {\n this.isToggling = true;\n this.open = true;\n this.itemToggle.emit(true);\n this.isToggling = false;\n }\n break;\n case 'ArrowUp':\n e.preventDefault();\n if (this.open) {\n this.isToggling = true;\n this.open = false;\n this.itemToggle.emit(false);\n this.isToggling = false;\n }\n break;\n }\n };\n\n /**\n * Get the chevron icon name based on open state\n * @returns {string} The icon name to display in the chevron button\n */\n private get chevronIconName(): string {\n const name = this.open ? 'chevron-top' : 'chevron-down';\n return name;\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n class={{\n 'nv-accordion-item': true,\n 'is-open': this.currentOpenState,\n 'is-disabled': this.disabled,\n 'is-animating': this.isAnimating,\n }}\n role=\"listitem\"\n aria-expanded={this.currentOpenState ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n >\n <div\n class=\"nv-accordion-item__header\"\n onClick={this.handleHeaderClick}\n aria-controls=\"content\"\n >\n <slot name=\"header\">\n <div class=\"nv-accordion-item__header-content\">\n {this.itemTitle && (\n <span class=\"nv-accordion-item__title\">{this.itemTitle}</span>\n )}\n {this.subtitle && (\n <span class=\"nv-accordion-item__subtitle\">{this.subtitle}</span>\n )}\n </div>\n </slot>\n <nv-iconbutton\n emphasis=\"low\"\n size=\"sm\"\n shape=\"square\"\n name={this.chevronIconName}\n tabindex={this.disabled ? -1 : 0}\n onClick={this.handleIconClick}\n onKeyDown={this.handleHeaderKeyDown}\n aria-controls=\"content\"\n aria-label={\n this.currentOpenState ? 'Close the section' : 'Open the section'\n }\n ></nv-iconbutton>\n </div>\n\n <div\n id=\"content\"\n class=\"nv-accordion-item__content\"\n ref={el => (this.contentRef = el as HTMLDivElement)}\n >\n <div class=\"nv-accordion-item__content-inner\">\n <slot name=\"content\" />\n </div>\n </div>\n </Host>\n );\n }\n\n // #endregion RENDER\n}\n"],"version":3}
@@ -0,0 +1,189 @@
1
+ import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-aff3ed68.js';
2
+ import { c as clsx } from './p-8a1a6e56.js';
3
+ import { u as useCollapse } from './p-31591941.js';
4
+ import { u as useFade } from './p-ee0df37f.js';
5
+ import './p-42ea6b74.js';
6
+ import { t as timeline } from './p-a52cd849.js';
7
+ import { d as defineCustomElement$1 } from './p-ca38a8a9.js';
8
+
9
+ const nvBadgeCss = "nv-badge{padding:var(--badge-padding-y) var(--badge-padding-x);display:inline-flex !important;gap:var(--badge-gap-x);vertical-align:middle;align-items:center;border-radius:var(--radius-rounded-full);border-style:solid;border-width:0.5px;height:fit-content;width:fit-content}nv-badge.is-icon-only{padding:var(--badge-padding-y) var(--badge-padding-icon-only-x);gap:var(--badge-gap-icon-only-x)}nv-badge.with-gap{padding:var(--badge-padding-y) var(--badge-padding-x);display:inline-flex !important;gap:var(--badge-gap-x);vertical-align:middle;align-items:center;border-radius:var(--radius-rounded-full);border-style:solid;border-width:0.5px;height:fit-content;width:fit-content}nv-badge.with-gap.is-icon-only{padding:var(--badge-padding-y) var(--badge-padding-icon-only-x);gap:var(--badge-gap-icon-only-x)}nv-badge.visually-hidden{position:absolute;padding:0;border:0;overflow:hidden;white-space:nowrap;width:1px;height:1px;margin:-1px;clip:rect(0, 0, 0, 0)}nv-badge:not(.with-gap){padding:var(--badge-padding-y) var(--badge-padding-x);display:inline-flex !important;gap:var(--badge-gap-x);vertical-align:middle;align-items:center;border-radius:var(--radius-rounded-full);border-style:solid;border-width:0.5px;height:fit-content;width:fit-content}nv-badge:not(.with-gap).is-icon-only{padding:var(--badge-padding-y) var(--badge-padding-icon-only-x);gap:var(--badge-gap-icon-only-x)}nv-badge.badge-1{color:var(--color-rainbow-1-text);background-color:var(--color-rainbow-1-background);border-color:var(--color-rainbow-1-border)}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:calc(var(--focus-outline-stroke) * 1) 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-icon)}nv-badge.badge-2{color:var(--color-rainbow-2-text);background-color:var(--color-rainbow-2-background);border-color:var(--color-rainbow-2-border)}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:calc(var(--focus-outline-stroke) * 1) 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-icon)}nv-badge.badge-3{color:var(--color-rainbow-3-text);background-color:var(--color-rainbow-3-background);border-color:var(--color-rainbow-3-border)}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:calc(var(--focus-outline-stroke) * 1) 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-icon)}nv-badge.badge-4{color:var(--color-rainbow-4-text);background-color:var(--color-rainbow-4-background);border-color:var(--color-rainbow-4-border)}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:calc(var(--focus-outline-stroke) * 1) 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-icon)}nv-badge.badge-5{color:var(--color-rainbow-5-text);background-color:var(--color-rainbow-5-background);border-color:var(--color-rainbow-5-border)}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:calc(var(--focus-outline-stroke) * 1) 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-icon)}nv-badge.badge-6{color:var(--color-rainbow-6-text);background-color:var(--color-rainbow-6-background);border-color:var(--color-rainbow-6-border)}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:calc(var(--focus-outline-stroke) * 1) 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-icon)}nv-badge.badge-7{color:var(--color-rainbow-7-text);background-color:var(--color-rainbow-7-background);border-color:var(--color-rainbow-7-border)}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:calc(var(--focus-outline-stroke) * 1) 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-icon)}nv-badge.badge-8{color:var(--color-rainbow-8-text);background-color:var(--color-rainbow-8-background);border-color:var(--color-rainbow-8-border)}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:calc(var(--focus-outline-stroke) * 1) 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-icon)}nv-badge.badge-9{color:var(--color-rainbow-9-text);background-color:var(--color-rainbow-9-background);border-color:var(--color-rainbow-9-border)}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:calc(var(--focus-outline-stroke) * 1) 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-icon)}nv-badge.badge-10{color:var(--color-rainbow-10-text);background-color:var(--color-rainbow-10-background);border-color:var(--color-rainbow-10-border)}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:calc(var(--focus-outline-stroke) * 1) 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-icon)}nv-badge.badge-error{color:var(--color-feedback-error-low-text);background-color:var(--color-feedback-error-low-background);border-color:var(--color-feedback-error-low-border)}nv-badge.badge-error .close:focus,nv-badge.badge-error .close:focus-within{outline:none}nv-badge.badge-error .close:focus-visible,nv-badge.badge-error .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-feedback-error-low-content, var(--color-feedback-error-low-text));outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-error nv-icon{color:var(--color-feedback-error-low-icon)}nv-badge.badge-information{color:var(--color-feedback-information-low-text);background-color:var(--color-feedback-information-low-background);border-color:var(--color-feedback-information-low-border)}nv-badge.badge-information .close:focus,nv-badge.badge-information .close:focus-within{outline:none}nv-badge.badge-information .close:focus-visible,nv-badge.badge-information .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-feedback-information-low-content, var(--color-feedback-information-low-text));outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-information nv-icon{color:var(--color-feedback-information-low-icon)}nv-badge.badge-neutral{color:var(--color-feedback-neutral-low-text);background-color:var(--color-feedback-neutral-low-background);border-color:var(--color-feedback-neutral-low-border)}nv-badge.badge-neutral .close:focus,nv-badge.badge-neutral .close:focus-within{outline:none}nv-badge.badge-neutral .close:focus-visible,nv-badge.badge-neutral .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-feedback-neutral-low-content, var(--color-feedback-neutral-low-text));outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-neutral nv-icon{color:var(--color-feedback-neutral-low-icon)}nv-badge.badge-success{color:var(--color-feedback-success-low-text);background-color:var(--color-feedback-success-low-background);border-color:var(--color-feedback-success-low-border)}nv-badge.badge-success .close:focus,nv-badge.badge-success .close:focus-within{outline:none}nv-badge.badge-success .close:focus-visible,nv-badge.badge-success .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-feedback-success-low-content, var(--color-feedback-success-low-text));outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-success nv-icon{color:var(--color-feedback-success-low-icon)}nv-badge.badge-warning{color:var(--color-feedback-warning-low-text);background-color:var(--color-feedback-warning-low-background);border-color:var(--color-feedback-warning-low-border)}nv-badge.badge-warning .close:focus,nv-badge.badge-warning .close:focus-within{outline:none}nv-badge.badge-warning .close:focus-visible,nv-badge.badge-warning .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-feedback-warning-low-content, var(--color-feedback-warning-low-text));outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-warning nv-icon{color:var(--color-feedback-warning-low-icon)}nv-badge.badge-amber{color:var(--color-rainbow-1-text);background-color:var(--color-rainbow-1-background);border-color:var(--color-rainbow-1-border)}nv-badge.badge-amber .close:focus,nv-badge.badge-amber .close:focus-within{outline:none}nv-badge.badge-amber .close:focus-visible,nv-badge.badge-amber .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-amber-content, var(--color-rainbow-1-text));outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-amber nv-icon{color:var(--color-rainbow-1-icon)}nv-badge.badge-orange{color:var(--color-rainbow-2-text);background-color:var(--color-rainbow-2-background);border-color:var(--color-rainbow-2-border)}nv-badge.badge-orange .close:focus,nv-badge.badge-orange .close:focus-within{outline:none}nv-badge.badge-orange .close:focus-visible,nv-badge.badge-orange .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-orange-content, var(--color-rainbow-2-text));outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-orange nv-icon{color:var(--color-rainbow-2-icon)}nv-badge.badge-turquoise{color:var(--color-rainbow-5-text);background-color:var(--color-rainbow-5-background);border-color:var(--color-rainbow-5-border)}nv-badge.badge-turquoise .close:focus,nv-badge.badge-turquoise .close:focus-within{outline:none}nv-badge.badge-turquoise .close:focus-visible,nv-badge.badge-turquoise .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-turquoise-content, var(--color-rainbow-5-text));outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-turquoise nv-icon{color:var(--color-rainbow-5-icon)}nv-badge.badge-crimson{color:var(--color-rainbow-6-text);background-color:var(--color-rainbow-6-background);border-color:var(--color-rainbow-6-border)}nv-badge.badge-crimson .close:focus,nv-badge.badge-crimson .close:focus-within{outline:none}nv-badge.badge-crimson .close:focus-visible,nv-badge.badge-crimson .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-crimson-content, var(--color-rainbow-6-text));outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-crimson nv-icon{color:var(--color-rainbow-6-icon)}nv-badge.badge-lime{color:var(--color-rainbow-9-text);background-color:var(--color-rainbow-9-background);border-color:var(--color-rainbow-9-border)}nv-badge.badge-lime .close:focus,nv-badge.badge-lime .close:focus-within{outline:none}nv-badge.badge-lime .close:focus-visible,nv-badge.badge-lime .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-lime-content, var(--color-rainbow-9-text));outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-lime nv-icon{color:var(--color-rainbow-9-icon)}nv-badge.badge-petrol{color:var(--color-rainbow-8-text);background-color:var(--color-rainbow-8-background);border-color:var(--color-rainbow-8-border)}nv-badge.badge-petrol .close:focus,nv-badge.badge-petrol .close:focus-within{outline:none}nv-badge.badge-petrol .close:focus-visible,nv-badge.badge-petrol .close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-petrol-content, var(--color-rainbow-8-text));outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-petrol nv-icon{color:var(--color-rainbow-8-icon)}nv-badge span{font-size:var(--font-size-xs);line-height:var(--line-height-xs) !important;text-align:center}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)}";
10
+ const NvBadgeStyle0 = nvBadgeCss;
11
+
12
+ const NvBadge = /*@__PURE__*/ proxyCustomElement(class NvBadge extends H {
13
+ constructor() {
14
+ super();
15
+ this.__registerHost();
16
+ this.closeClicked = createEvent(this, "closeClicked", 7);
17
+ this.hiddenChanged = createEvent(this, "hiddenChanged", 7);
18
+ this.hiddenChangedComplete = createEvent(this, "hiddenChangedComplete", 7);
19
+ /****************************************************************************/
20
+ //#region DEPRECATED
21
+ /**
22
+ * Whether the badge is dismissible.
23
+ * @deprecated use dismissible instead.
24
+ */
25
+ this.dismissal = false;
26
+ //#endregion DEPRECATED
27
+ /****************************************************************************/
28
+ //#region PROPERTIES
29
+ /**
30
+ * The color of the badge.
31
+ * deprecated Use status values or named colors instead.
32
+ * Use a string between 1 to 10
33
+ * or one of the status values: error, information, neutral, success, warning
34
+ * or one of the color names: amber, orange, turquoise, crimson, lime
35
+ */
36
+ this.color = '1';
37
+ /**
38
+ * Main content of the badge.
39
+ */
40
+ this.label = null;
41
+ /**
42
+ * The lead icon of the badge.
43
+ */
44
+ this.leadIcon = null;
45
+ /**
46
+ * Whether the badge is dismissible.
47
+ */
48
+ this.dismissible = false;
49
+ /**
50
+ * Controls the visibility of the badge. Will animate with fade and collapse.
51
+ */
52
+ this.hidden = false; // eslint-disable-line @stencil-community/reserved-member-names
53
+ /**
54
+ * When true, the alert does not automatically close upon dismissing.
55
+ * Useful for externally controlled component behavior.
56
+ */
57
+ this.preventAutoClose = false;
58
+ /**
59
+ * When true, the badge will only display an icon without label.
60
+ * The label will be visually hidden but still accessible for screen readers.
61
+ */
62
+ this.isIconOnly = false;
63
+ //#endregion LIFECYCLE
64
+ /****************************************************************************/
65
+ //#region METHODS
66
+ /**
67
+ * Handles the close button click.
68
+ */
69
+ this.handleClose = () => {
70
+ if (!this.preventAutoClose) {
71
+ this.hidden = true;
72
+ }
73
+ this.closeClicked.emit();
74
+ };
75
+ }
76
+ //#endregion EVENTS
77
+ /****************************************************************************/
78
+ //#region WATCHERS
79
+ /**
80
+ * Handles the dismissal prop change.
81
+ * @param {boolean} dismissal - The new dismissal value.
82
+ */
83
+ handleDismissalChange(dismissal) {
84
+ this.dismissible = dismissal;
85
+ }
86
+ /**
87
+ * Handles the icon prop change.
88
+ * @param {string} icon - The new icon value.
89
+ */
90
+ handleIconChange(icon) {
91
+ this.leadIcon = icon;
92
+ }
93
+ /**
94
+ * Handles the hidden prop change.
95
+ * @param {boolean} hidden - The new hidden value.
96
+ */
97
+ async handleHiddenChange(hidden) {
98
+ this.hiddenChanged.emit(hidden);
99
+ if (this._isHidden === true)
100
+ this._isHidden = hidden;
101
+ const { fadeIn, fadeOut } = useFade(this.ref, { duration: 150 });
102
+ const { collapse, expand } = useCollapse(this.ref, { duration: 150 });
103
+ if (hidden === true)
104
+ await timeline(fadeOut, collapse).start();
105
+ if (hidden === false)
106
+ await timeline(expand, fadeIn).start();
107
+ this.hiddenChangedComplete.emit(hidden);
108
+ if (this._isHidden === false)
109
+ this._isHidden = hidden;
110
+ }
111
+ //#endregion WATCHERS
112
+ /****************************************************************************/
113
+ //#region LIFECYCLE
114
+ /**
115
+ * Component will load.
116
+ */
117
+ componentWillLoad() {
118
+ if (this.dismissal) {
119
+ this.dismissible = this.dismissal;
120
+ }
121
+ if (this.icon != null && this.icon != '') {
122
+ this.leadIcon = this.icon;
123
+ }
124
+ if (this.hidden) {
125
+ this._isHidden = true;
126
+ const { setCollapsed } = useCollapse(this.ref);
127
+ const { setFadeOut } = useFade(this.ref);
128
+ setCollapsed();
129
+ setFadeOut();
130
+ }
131
+ }
132
+ //#endregion METHODS
133
+ /****************************************************************************/
134
+ //#region RENDER
135
+ render() {
136
+ return (h(Host, { key: '435c5bb1f565c8bd95cca5c6828157c80f60aa39', class: clsx(`badge-${this.color}`, {
137
+ 'has-close': this.dismissible,
138
+ 'with-gap': this.dismissible || this.label,
139
+ 'visually-hidden': this._isHidden,
140
+ 'is-icon-only': this.isIconOnly,
141
+ }) }, h("slot", { key: '271dc833471e026af5088f48227639682e661e97', name: "leading-icon" }, this.leadIcon && h("nv-icon", { key: 'e578eabf4c5a09e61e28c3839b943804acdf88e8', name: this.leadIcon, size: "sm" })), h("span", { key: '24d16a21b2b4499be712f9b747c9ab63c5e6ca0c', class: clsx({ 'visually-hidden': this.isIconOnly }) }, this.label, h("slot", { key: '3e3827620e6ade8be256ce7dd0b8bb949f36f2d5' })), this.dismissible && (h("button", { key: '90ed9ec1b71815554b963b0eafeb5536578700cf', onClick: this.handleClose, class: "close", type: "button" }, h("nv-icon", { key: 'df426e5d88c2bf02e7aa83c179c05db4795f03db', name: "x", size: "sm" })))));
142
+ }
143
+ get ref() { return this; }
144
+ static get watchers() { return {
145
+ "dismissal": ["handleDismissalChange"],
146
+ "icon": ["handleIconChange"],
147
+ "hidden": ["handleHiddenChange"]
148
+ }; }
149
+ static get style() { return NvBadgeStyle0; }
150
+ }, [4, "nv-badge", {
151
+ "dismissal": [516],
152
+ "icon": [513],
153
+ "iconLocation": [513, "icon-location"],
154
+ "color": [513],
155
+ "label": [513],
156
+ "leadIcon": [1537, "lead-icon"],
157
+ "dismissible": [1540],
158
+ "hidden": [1540],
159
+ "preventAutoClose": [516, "prevent-auto-close"],
160
+ "isIconOnly": [516, "is-icon-only"],
161
+ "_isHidden": [32]
162
+ }, undefined, {
163
+ "dismissal": ["handleDismissalChange"],
164
+ "icon": ["handleIconChange"],
165
+ "hidden": ["handleHiddenChange"]
166
+ }]);
167
+ function defineCustomElement() {
168
+ if (typeof customElements === "undefined") {
169
+ return;
170
+ }
171
+ const components = ["nv-badge", "nv-icon"];
172
+ components.forEach(tagName => { switch (tagName) {
173
+ case "nv-badge":
174
+ if (!customElements.get(tagName)) {
175
+ customElements.define(tagName, NvBadge);
176
+ }
177
+ break;
178
+ case "nv-icon":
179
+ if (!customElements.get(tagName)) {
180
+ defineCustomElement$1();
181
+ }
182
+ break;
183
+ } });
184
+ }
185
+ defineCustomElement();
186
+
187
+ export { NvBadge as N, defineCustomElement as d };
188
+
189
+ //# sourceMappingURL=p-e4ac8333.js.map
@@ -1 +1 @@
1
- {"file":"p-8011513c.js","mappings":"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","names":[],"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/styles/mixins' as icon;\n@use '../../styles/utils' as utils;\n@import '../../styles/focus-ring';\n\n/* Variants */\n$badge-colors: (\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n '10',\n 'error',\n 'information',\n 'neutral',\n 'success',\n 'warning',\n 'amber',\n 'orange',\n 'turquoise',\n 'crimson',\n 'lime',\n 'petrol',\n);\n\n/* Define maps for color-related variables */\n$color-rainbow-text: (\n '1': var(--color-rainbow-1-text),\n '2': var(--color-rainbow-2-text),\n '3': var(--color-rainbow-3-text),\n '4': var(--color-rainbow-4-text),\n '5': var(--color-rainbow-5-text),\n '6': var(--color-rainbow-6-text),\n '7': var(--color-rainbow-7-text),\n '8': var(--color-rainbow-8-text),\n '9': var(--color-rainbow-9-text),\n '10': var(--color-rainbow-10-text),\n 'error': var(--color-feedback-error-low-text),\n 'information': var(--color-feedback-information-low-text),\n 'neutral': var(--color-feedback-neutral-low-text),\n 'success': var(--color-feedback-success-low-text),\n 'warning': var(--color-feedback-warning-low-text),\n 'amber': var(--color-rainbow-1-text),\n 'orange': var(--color-rainbow-2-text),\n 'turquoise': var(--color-rainbow-5-text),\n 'crimson': var(--color-rainbow-6-text),\n 'lime': var(--color-rainbow-9-text),\n 'petrol': var(--color-rainbow-8-text),\n);\n\n$color-rainbow-icon: (\n '1': var(--color-rainbow-1-icon),\n '2': var(--color-rainbow-2-icon),\n '3': var(--color-rainbow-3-icon),\n '4': var(--color-rainbow-4-icon),\n '5': var(--color-rainbow-5-icon),\n '6': var(--color-rainbow-6-icon),\n '7': var(--color-rainbow-7-icon),\n '8': var(--color-rainbow-8-icon),\n '9': var(--color-rainbow-9-icon),\n '10': var(--color-rainbow-10-icon),\n 'error': var(--color-feedback-error-low-icon),\n 'information': var(--color-feedback-information-low-icon),\n 'neutral': var(--color-feedback-neutral-low-icon),\n 'success': var(--color-feedback-success-low-icon),\n 'warning': var(--color-feedback-warning-low-icon),\n 'amber': var(--color-rainbow-1-icon),\n 'orange': var(--color-rainbow-2-icon),\n 'turquoise': var(--color-rainbow-5-icon),\n 'crimson': var(--color-rainbow-6-icon),\n 'lime': var(--color-rainbow-9-icon),\n 'petrol': var(--color-rainbow-8-icon),\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 'error': var(--color-feedback-error-low-background),\n 'information': var(--color-feedback-information-low-background),\n 'neutral': var(--color-feedback-neutral-low-background),\n 'success': var(--color-feedback-success-low-background),\n 'warning': var(--color-feedback-warning-low-background),\n 'amber': var(--color-rainbow-1-background),\n 'orange': var(--color-rainbow-2-background),\n 'turquoise': var(--color-rainbow-5-background),\n 'crimson': var(--color-rainbow-6-background),\n 'lime': var(--color-rainbow-9-background),\n 'petrol': var(--color-rainbow-8-background),\n);\n$color-rainbow-border: (\n '1': var(--color-rainbow-1-border),\n '2': var(--color-rainbow-2-border),\n '3': var(--color-rainbow-3-border),\n '4': var(--color-rainbow-4-border),\n '5': var(--color-rainbow-5-border),\n '6': var(--color-rainbow-6-border),\n '7': var(--color-rainbow-7-border),\n '8': var(--color-rainbow-8-border),\n '9': var(--color-rainbow-9-border),\n '10': var(--color-rainbow-10-border),\n 'error': var(--color-feedback-error-low-border),\n 'information': var(--color-feedback-information-low-border),\n 'neutral': var(--color-feedback-neutral-low-border),\n 'success': var(--color-feedback-success-low-border),\n 'warning': var(--color-feedback-warning-low-border),\n 'amber': var(--color-rainbow-1-border),\n 'orange': var(--color-rainbow-2-border),\n 'turquoise': var(--color-rainbow-5-border),\n 'crimson': var(--color-rainbow-6-border),\n 'lime': var(--color-rainbow-9-border),\n 'petrol': var(--color-rainbow-8-border),\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 gap: var(--badge-gap-x);\n vertical-align: middle;\n align-items: center;\n border-radius: var(--radius-rounded-full);\n border-style: solid;\n border-width: 0.5px;\n height: fit-content;\n width: fit-content;\n\n &.is-icon-only {\n padding: var(--badge-padding-y) var(--badge-padding-icon-only-x);\n gap: var(--badge-gap-icon-only-x);\n }\n}\n\n@mixin root-styles-with-gap() {\n @include root-styles();\n}\n\n@mixin badge-color($color-key) {\n color: map.get($color-rainbow-text, $color-key);\n background-color: map.get($color-rainbow-background, $color-key);\n border-color: map.get($color-rainbow-border, $color-key);\n .close {\n @include focus-ring(\n if(\n str-index('error information neutral success warning', $color-key),\n var(\n --color-feedback-#{$color-key}-low-content,\n map.get($color-rainbow-text, $color-key)\n ),\n if(\n type-of($color-key) == 'string' and not (str-length($color-key) <= 2)\n and not\n str-index('error information neutral success warning', $color-key),\n var(\n --color-#{$color-key}-content,\n map.get($color-rainbow-text, $color-key)\n ),\n var(--color-rainbow-#{$color-key}-content)\n )\n ),\n 0.2\n );\n }\n}\n\n@mixin icon-color($color-key) {\n color: map.get($color-rainbow-icon, $color-key);\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 &.visually-hidden {\n @include utils.visually-hidden();\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 text-align: center;\n }\n\n // nv-icon styles\n & nv-icon > svg {\n @each $size, $config in icon.$size-variants {\n &.icon-#{$size} {\n @include icon.icon-size-and-stroke(\n map.get(map.get(icon.$size-variants, 'xs'), size),\n map.get(map.get(icon.$size-variants, '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 * @slot default - for custom content, for pure text use label instead.\n */\n@Component({\n tag: 'nv-badge',\n styleUrl: 'nv-badge.scss',\n shadow: false,\n})\nexport class NvBadge {\n @Element() ref: HTMLNvBadgeElement;\n\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Whether the badge is dismissible.\n * @deprecated use dismissible instead.\n */\n @Prop({ reflect: true })\n readonly dismissal: boolean = false;\n\n /**\n * The icon to display in the badge.\n * @deprecated use leadIcon or slot=\"leading-icon\" instead.\n */\n @Prop({ reflect: true })\n readonly icon: string;\n\n /**\n * The location of the icon in the badge.\n * @deprecated only leadIcon now.\n */\n @Prop({ reflect: true })\n readonly iconLocation: 'left' | 'right';\n\n //#endregion DEPRECATED\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * The color of the badge.\n * deprecated Use status values or named colors instead.\n * Use a string between 1 to 10\n * or one of the status values: error, information, neutral, success, warning\n * or one of the color names: amber, orange, turquoise, crimson, lime\n */\n @Prop({ reflect: true })\n readonly color?: string = '1';\n\n /**\n * Main content of the badge.\n */\n @Prop({ reflect: true })\n readonly label?: string | null = null;\n\n /**\n * The lead icon of the badge.\n */\n @Prop({ reflect: true, mutable: true })\n leadIcon?: string | null = null;\n\n /**\n * Whether the badge is dismissible.\n */\n @Prop({ reflect: true, mutable: true })\n dismissible: boolean = false;\n\n /**\n * Controls the visibility of the badge. Will animate with fade and collapse.\n */\n @Prop({ reflect: true, mutable: true })\n hidden: boolean = false; // eslint-disable-line @stencil-community/reserved-member-names\n @State()\n private _isHidden: boolean;\n\n /**\n * When true, the alert does not automatically close upon dismissing.\n * Useful for externally controlled component behavior.\n */\n @Prop({ reflect: true })\n readonly preventAutoClose: boolean = false;\n\n /**\n * When true, the badge will only display an icon without label.\n * The label will be visually hidden but still accessible for screen readers.\n */\n @Prop({ reflect: true })\n readonly isIconOnly?: 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<void>;\n\n /**\n * Emits when the 'hidden' prop changes, reflecting a change in visibility.\n * Passes hidden value to the detail.\n */\n @Event()\n hiddenChanged: EventEmitter<boolean>;\n\n /**\n * Emitted when the animations complete, detail includes the hidden value.\n */\n @Event()\n hiddenChangedComplete: EventEmitter<boolean>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n /**\n * Handles the dismissal prop change.\n * @param {boolean} dismissal - The new dismissal value.\n */\n @Watch('dismissal')\n handleDismissalChange(dismissal: boolean) {\n this.dismissible = dismissal;\n }\n\n /**\n * Handles the icon prop change.\n * @param {string} icon - The new icon value.\n */\n @Watch('icon')\n handleIconChange(icon: string) {\n this.leadIcon = icon;\n }\n\n /**\n * Handles the hidden prop change.\n * @param {boolean} hidden - The new hidden value.\n */\n @Watch('hidden')\n async handleHiddenChange(hidden: boolean) {\n this.hiddenChanged.emit(hidden);\n if (this._isHidden === true) this._isHidden = hidden;\n\n const { fadeIn, fadeOut } = useFade(this.ref, { duration: 150 });\n const { collapse, expand } = useCollapse(this.ref, { duration: 150 });\n\n if (hidden === true) await timeline(fadeOut, collapse).start();\n if (hidden === false) await timeline(expand, fadeIn).start();\n\n this.hiddenChangedComplete.emit(hidden);\n\n if (this._isHidden === false) this._isHidden = hidden;\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n /**\n * Component will load.\n */\n componentWillLoad() {\n if (this.dismissal) {\n this.dismissible = this.dismissal;\n }\n\n if (this.icon != null && this.icon != '') {\n this.leadIcon = this.icon;\n }\n\n if (this.hidden) {\n this._isHidden = true;\n const { setCollapsed } = useCollapse(this.ref);\n const { setFadeOut } = useFade(this.ref);\n\n setCollapsed();\n setFadeOut();\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles the close button click.\n */\n private readonly handleClose = () => {\n if (!this.preventAutoClose) {\n this.hidden = true;\n }\n\n this.closeClicked.emit();\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 'is-icon-only': this.isIconOnly,\n })}\n >\n <slot name=\"leading-icon\">\n {this.leadIcon && <nv-icon name={this.leadIcon} size=\"sm\"></nv-icon>}\n </slot>\n\n <span class={clsx({ 'visually-hidden': this.isIconOnly })}>\n {this.label}\n <slot></slot>\n </span>\n\n {this.dismissible && (\n <button onClick={this.handleClose} class=\"close\" type=\"button\">\n <nv-icon name=\"x\" size=\"sm\" />\n </button>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
1
+ {"file":"p-e4ac8333.js","mappings":";;;;;;;;AAAA,MAAM,UAAU,GAAG,88aAA88a,CAAC;AACl+a,sBAAe,UAAU;;MCsBZ,OAAO;IALpB;;;;;;;;;;;;QAgBW,cAAS,GAAY,KAAK,CAAC;;;;;;;;;;;QA4B3B,UAAK,GAAY,GAAG,CAAC;;;;QAMrB,UAAK,GAAmB,IAAI,CAAC;;;;QAMtC,aAAQ,GAAmB,IAAI,CAAC;;;;QAMhC,gBAAW,GAAY,KAAK,CAAC;;;;QAM7B,WAAM,GAAY,KAAK,CAAC;;;;;QASf,qBAAgB,GAAY,KAAK,CAAC;;;;;QAOlC,eAAU,GAAa,KAAK,CAAC;;;;;;;QAoGrB,gBAAW,GAAG;YAC7B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACpB;YAED,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;SAC1B,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,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,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;;;;IAqBD,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;gBACjC,cAAc,EAAE,IAAI,CAAC,UAAU;aAChC,CAAC,IAEF,6DAAM,IAAI,EAAC,cAAc,IACtB,IAAI,CAAC,QAAQ,IAAI,gEAAS,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAC,IAAI,GAAW,CAC/D,EAEP,6DAAM,KAAK,EAAE,IAAI,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,IACtD,IAAI,CAAC,KAAK,EACX,8DAAa,CACR,EAEN,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":[],"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/styles/mixins' as icon;\n@use '../../styles/utils' as utils;\n@import '../../styles/focus-ring';\n\n/* Variants */\n$badge-colors: (\n '1',\n '2',\n '3',\n '4',\n '5',\n '6',\n '7',\n '8',\n '9',\n '10',\n 'error',\n 'information',\n 'neutral',\n 'success',\n 'warning',\n 'amber',\n 'orange',\n 'turquoise',\n 'crimson',\n 'lime',\n 'petrol',\n);\n\n/* Define maps for color-related variables */\n$color-rainbow-text: (\n '1': var(--color-rainbow-1-text),\n '2': var(--color-rainbow-2-text),\n '3': var(--color-rainbow-3-text),\n '4': var(--color-rainbow-4-text),\n '5': var(--color-rainbow-5-text),\n '6': var(--color-rainbow-6-text),\n '7': var(--color-rainbow-7-text),\n '8': var(--color-rainbow-8-text),\n '9': var(--color-rainbow-9-text),\n '10': var(--color-rainbow-10-text),\n 'error': var(--color-feedback-error-low-text),\n 'information': var(--color-feedback-information-low-text),\n 'neutral': var(--color-feedback-neutral-low-text),\n 'success': var(--color-feedback-success-low-text),\n 'warning': var(--color-feedback-warning-low-text),\n 'amber': var(--color-rainbow-1-text),\n 'orange': var(--color-rainbow-2-text),\n 'turquoise': var(--color-rainbow-5-text),\n 'crimson': var(--color-rainbow-6-text),\n 'lime': var(--color-rainbow-9-text),\n 'petrol': var(--color-rainbow-8-text),\n);\n\n$color-rainbow-icon: (\n '1': var(--color-rainbow-1-icon),\n '2': var(--color-rainbow-2-icon),\n '3': var(--color-rainbow-3-icon),\n '4': var(--color-rainbow-4-icon),\n '5': var(--color-rainbow-5-icon),\n '6': var(--color-rainbow-6-icon),\n '7': var(--color-rainbow-7-icon),\n '8': var(--color-rainbow-8-icon),\n '9': var(--color-rainbow-9-icon),\n '10': var(--color-rainbow-10-icon),\n 'error': var(--color-feedback-error-low-icon),\n 'information': var(--color-feedback-information-low-icon),\n 'neutral': var(--color-feedback-neutral-low-icon),\n 'success': var(--color-feedback-success-low-icon),\n 'warning': var(--color-feedback-warning-low-icon),\n 'amber': var(--color-rainbow-1-icon),\n 'orange': var(--color-rainbow-2-icon),\n 'turquoise': var(--color-rainbow-5-icon),\n 'crimson': var(--color-rainbow-6-icon),\n 'lime': var(--color-rainbow-9-icon),\n 'petrol': var(--color-rainbow-8-icon),\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 'error': var(--color-feedback-error-low-background),\n 'information': var(--color-feedback-information-low-background),\n 'neutral': var(--color-feedback-neutral-low-background),\n 'success': var(--color-feedback-success-low-background),\n 'warning': var(--color-feedback-warning-low-background),\n 'amber': var(--color-rainbow-1-background),\n 'orange': var(--color-rainbow-2-background),\n 'turquoise': var(--color-rainbow-5-background),\n 'crimson': var(--color-rainbow-6-background),\n 'lime': var(--color-rainbow-9-background),\n 'petrol': var(--color-rainbow-8-background),\n);\n$color-rainbow-border: (\n '1': var(--color-rainbow-1-border),\n '2': var(--color-rainbow-2-border),\n '3': var(--color-rainbow-3-border),\n '4': var(--color-rainbow-4-border),\n '5': var(--color-rainbow-5-border),\n '6': var(--color-rainbow-6-border),\n '7': var(--color-rainbow-7-border),\n '8': var(--color-rainbow-8-border),\n '9': var(--color-rainbow-9-border),\n '10': var(--color-rainbow-10-border),\n 'error': var(--color-feedback-error-low-border),\n 'information': var(--color-feedback-information-low-border),\n 'neutral': var(--color-feedback-neutral-low-border),\n 'success': var(--color-feedback-success-low-border),\n 'warning': var(--color-feedback-warning-low-border),\n 'amber': var(--color-rainbow-1-border),\n 'orange': var(--color-rainbow-2-border),\n 'turquoise': var(--color-rainbow-5-border),\n 'crimson': var(--color-rainbow-6-border),\n 'lime': var(--color-rainbow-9-border),\n 'petrol': var(--color-rainbow-8-border),\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 gap: var(--badge-gap-x);\n vertical-align: middle;\n align-items: center;\n border-radius: var(--radius-rounded-full);\n border-style: solid;\n border-width: 0.5px;\n height: fit-content;\n width: fit-content;\n\n &.is-icon-only {\n padding: var(--badge-padding-y) var(--badge-padding-icon-only-x);\n gap: var(--badge-gap-icon-only-x);\n }\n}\n\n@mixin root-styles-with-gap() {\n @include root-styles();\n}\n\n@mixin badge-color($color-key) {\n color: map.get($color-rainbow-text, $color-key);\n background-color: map.get($color-rainbow-background, $color-key);\n border-color: map.get($color-rainbow-border, $color-key);\n .close {\n @include focus-ring(\n if(\n str-index('error information neutral success warning', $color-key),\n var(\n --color-feedback-#{$color-key}-low-content,\n map.get($color-rainbow-text, $color-key)\n ),\n if(\n type-of($color-key) == 'string' and not (str-length($color-key) <= 2)\n and not\n str-index('error information neutral success warning', $color-key),\n var(\n --color-#{$color-key}-content,\n map.get($color-rainbow-text, $color-key)\n ),\n var(--color-rainbow-#{$color-key}-content)\n )\n ),\n 0.2\n );\n }\n}\n\n@mixin icon-color($color-key) {\n color: map.get($color-rainbow-icon, $color-key);\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 &.visually-hidden {\n @include utils.visually-hidden();\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 text-align: center;\n }\n\n // nv-icon styles\n & nv-icon > svg {\n @each $size, $config in icon.$size-variants {\n &.icon-#{$size} {\n @include icon.icon-size-and-stroke(\n map.get(map.get(icon.$size-variants, 'xs'), size),\n map.get(map.get(icon.$size-variants, '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 * @slot default - for custom content, for pure text use label instead.\n */\n@Component({\n tag: 'nv-badge',\n styleUrl: 'nv-badge.scss',\n shadow: false,\n})\nexport class NvBadge {\n @Element() ref: HTMLNvBadgeElement;\n\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Whether the badge is dismissible.\n * @deprecated use dismissible instead.\n */\n @Prop({ reflect: true })\n readonly dismissal: boolean = false;\n\n /**\n * The icon to display in the badge.\n * @deprecated use leadIcon or slot=\"leading-icon\" instead.\n */\n @Prop({ reflect: true })\n readonly icon: string;\n\n /**\n * The location of the icon in the badge.\n * @deprecated only leadIcon now.\n */\n @Prop({ reflect: true })\n readonly iconLocation: 'left' | 'right';\n\n //#endregion DEPRECATED\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * The color of the badge.\n * deprecated Use status values or named colors instead.\n * Use a string between 1 to 10\n * or one of the status values: error, information, neutral, success, warning\n * or one of the color names: amber, orange, turquoise, crimson, lime\n */\n @Prop({ reflect: true })\n readonly color?: string = '1';\n\n /**\n * Main content of the badge.\n */\n @Prop({ reflect: true })\n readonly label?: string | null = null;\n\n /**\n * The lead icon of the badge.\n */\n @Prop({ reflect: true, mutable: true })\n leadIcon?: string | null = null;\n\n /**\n * Whether the badge is dismissible.\n */\n @Prop({ reflect: true, mutable: true })\n dismissible: boolean = false;\n\n /**\n * Controls the visibility of the badge. Will animate with fade and collapse.\n */\n @Prop({ reflect: true, mutable: true })\n hidden: boolean = false; // eslint-disable-line @stencil-community/reserved-member-names\n @State()\n private _isHidden: boolean;\n\n /**\n * When true, the alert does not automatically close upon dismissing.\n * Useful for externally controlled component behavior.\n */\n @Prop({ reflect: true })\n readonly preventAutoClose: boolean = false;\n\n /**\n * When true, the badge will only display an icon without label.\n * The label will be visually hidden but still accessible for screen readers.\n */\n @Prop({ reflect: true })\n readonly isIconOnly?: 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<void>;\n\n /**\n * Emits when the 'hidden' prop changes, reflecting a change in visibility.\n * Passes hidden value to the detail.\n */\n @Event()\n hiddenChanged: EventEmitter<boolean>;\n\n /**\n * Emitted when the animations complete, detail includes the hidden value.\n */\n @Event()\n hiddenChangedComplete: EventEmitter<boolean>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n /**\n * Handles the dismissal prop change.\n * @param {boolean} dismissal - The new dismissal value.\n */\n @Watch('dismissal')\n handleDismissalChange(dismissal: boolean) {\n this.dismissible = dismissal;\n }\n\n /**\n * Handles the icon prop change.\n * @param {string} icon - The new icon value.\n */\n @Watch('icon')\n handleIconChange(icon: string) {\n this.leadIcon = icon;\n }\n\n /**\n * Handles the hidden prop change.\n * @param {boolean} hidden - The new hidden value.\n */\n @Watch('hidden')\n async handleHiddenChange(hidden: boolean) {\n this.hiddenChanged.emit(hidden);\n if (this._isHidden === true) this._isHidden = hidden;\n\n const { fadeIn, fadeOut } = useFade(this.ref, { duration: 150 });\n const { collapse, expand } = useCollapse(this.ref, { duration: 150 });\n\n if (hidden === true) await timeline(fadeOut, collapse).start();\n if (hidden === false) await timeline(expand, fadeIn).start();\n\n this.hiddenChangedComplete.emit(hidden);\n\n if (this._isHidden === false) this._isHidden = hidden;\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n /**\n * Component will load.\n */\n componentWillLoad() {\n if (this.dismissal) {\n this.dismissible = this.dismissal;\n }\n\n if (this.icon != null && this.icon != '') {\n this.leadIcon = this.icon;\n }\n\n if (this.hidden) {\n this._isHidden = true;\n const { setCollapsed } = useCollapse(this.ref);\n const { setFadeOut } = useFade(this.ref);\n\n setCollapsed();\n setFadeOut();\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles the close button click.\n */\n private readonly handleClose = () => {\n if (!this.preventAutoClose) {\n this.hidden = true;\n }\n\n this.closeClicked.emit();\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 'is-icon-only': this.isIconOnly,\n })}\n >\n <slot name=\"leading-icon\">\n {this.leadIcon && <nv-icon name={this.leadIcon} size=\"sm\"></nv-icon>}\n </slot>\n\n <span class={clsx({ 'visually-hidden': this.isIconOnly })}>\n {this.label}\n <slot></slot>\n </span>\n\n {this.dismissible && (\n <button onClick={this.handleClose} class=\"close\" type=\"button\">\n <nv-icon name=\"x\" size=\"sm\" />\n </button>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
- import { c as commonjsGlobal, g as getDefaultExportFromCjs } from './p-8aee1010.js';
1
+ import { c as commonjsGlobal, g as getDefaultExportFromCjs } from './p-68fa3890.js';
2
2
 
3
3
  var inputmask = {exports: {}};
4
4
 
@@ -3758,4 +3758,4 @@ const Inputmask = /*@__PURE__*/getDefaultExportFromCjs(inputmask.exports);
3758
3758
 
3759
3759
  export { Inputmask as I };
3760
3760
 
3761
- //# sourceMappingURL=p-32e8e42e.js.map
3761
+ //# sourceMappingURL=p-e6c04562.js.map