@nova-design-system/nova-webcomponents 3.5.0 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (467) hide show
  1. package/dist/cjs/{timeline.animation-dbb9c5ea.js → collapse.animation-a129dc3f.js} +5 -26
  2. package/dist/cjs/collapse.animation-a129dc3f.js.map +1 -0
  3. package/dist/cjs/fade.animation-644b5c4d.js +70 -0
  4. package/dist/cjs/fade.animation-644b5c4d.js.map +1 -0
  5. package/dist/cjs/{grow.animation-a1f0bc22.js → grow.animation-6d003803.js} +5 -5
  6. package/dist/cjs/{grow.animation-a1f0bc22.js.map → grow.animation-6d003803.js.map} +1 -1
  7. package/dist/cjs/index-c56424e5.js +8 -0
  8. package/dist/cjs/index.cjs.js +6 -4
  9. package/dist/cjs/index.cjs.js.map +1 -1
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/cjs/native.cjs.js +1 -1
  12. package/dist/cjs/nv-accordion-item.cjs.entry.js +181 -0
  13. package/dist/cjs/nv-accordion-item.cjs.entry.js.map +1 -0
  14. package/dist/cjs/nv-accordion.cjs.entry.js +167 -0
  15. package/dist/cjs/nv-accordion.cjs.entry.js.map +1 -0
  16. package/dist/cjs/nv-alert.cjs.entry.js +6 -4
  17. package/dist/cjs/nv-alert.cjs.entry.js.map +1 -1
  18. package/dist/cjs/nv-avatar.cjs.entry.js +1 -1
  19. package/dist/cjs/nv-badge_2.cjs.entry.js +9 -7
  20. package/dist/cjs/nv-badge_2.cjs.entry.js.map +1 -1
  21. package/dist/cjs/nv-breadcrumb.cjs.entry.js +1 -1
  22. package/dist/cjs/nv-breadcrumbs.cjs.entry.js +1 -1
  23. package/dist/cjs/nv-button.cjs.entry.js +1 -1
  24. package/dist/cjs/nv-calendar.cjs.entry.js +96 -66
  25. package/dist/cjs/nv-calendar.cjs.entry.js.map +1 -1
  26. package/dist/cjs/nv-col.cjs.entry.js +1 -1
  27. package/dist/cjs/nv-datagrid.cjs.entry.js +2 -2
  28. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +1 -1
  29. package/dist/cjs/nv-dialog.cjs.entry.js +19 -6
  30. package/dist/cjs/nv-dialog.cjs.entry.js.map +1 -1
  31. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +2 -2
  32. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +4 -4
  33. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js.map +1 -1
  34. package/dist/cjs/nv-fielddate.cjs.entry.js +121 -35
  35. package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
  36. package/dist/cjs/nv-fielddaterange.cjs.entry.js +32 -4
  37. package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
  38. package/dist/cjs/nv-fielddropdown.cjs.entry.js +3 -3
  39. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
  40. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +95 -102
  41. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
  42. package/dist/cjs/nv-fieldnumber.cjs.entry.js +3 -3
  43. package/dist/cjs/nv-fieldpassword.cjs.entry.js +3 -3
  44. package/dist/cjs/nv-fieldradio.cjs.entry.js +3 -3
  45. package/dist/cjs/nv-fieldselect.cjs.entry.js +5 -5
  46. package/dist/cjs/nv-fieldslider.cjs.entry.js +53 -9
  47. package/dist/cjs/nv-fieldslider.cjs.entry.js.map +1 -1
  48. package/dist/cjs/nv-fieldtext.cjs.entry.js +3 -3
  49. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +3 -3
  50. package/dist/cjs/nv-fieldtime.cjs.entry.js +10 -10
  51. package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -1
  52. package/dist/cjs/nv-icon.cjs.entry.js +1 -1
  53. package/dist/cjs/nv-iconbutton_2.cjs.entry.js +2 -2
  54. package/dist/cjs/nv-menu.cjs.entry.js +1 -1
  55. package/dist/cjs/nv-menuitem.cjs.entry.js +1 -1
  56. package/dist/cjs/nv-popover.cjs.entry.js +4 -3
  57. package/dist/cjs/nv-popover.cjs.entry.js.map +1 -1
  58. package/dist/cjs/nv-row.cjs.entry.js +1 -1
  59. package/dist/cjs/nv-stack.cjs.entry.js +1 -1
  60. package/dist/cjs/nv-table.cjs.entry.js +2 -2
  61. package/dist/cjs/nv-toggle.cjs.entry.js +2 -2
  62. package/dist/cjs/nv-tooltip.cjs.entry.js +3 -2
  63. package/dist/cjs/nv-tooltip.cjs.entry.js.map +1 -1
  64. package/dist/cjs/{fade.animation-0d33d198.js → stylefire.es-717e022a.js} +1 -65
  65. package/dist/cjs/stylefire.es-717e022a.js.map +1 -0
  66. package/dist/cjs/timeline.animation-155e8839.js +25 -0
  67. package/dist/cjs/timeline.animation-155e8839.js.map +1 -0
  68. package/dist/collection/collection-manifest.json +2 -0
  69. package/dist/collection/components/nv-accordion/nv-accordion.docs.js +153 -0
  70. package/dist/collection/components/nv-accordion/nv-accordion.docs.js.map +1 -0
  71. package/dist/collection/components/nv-accordion/nv-accordion.js +310 -0
  72. package/dist/collection/components/nv-accordion/nv-accordion.js.map +1 -0
  73. package/dist/collection/components/nv-accordion/styles/nv-accordion.css +15 -0
  74. package/dist/collection/components/nv-accordion-item/nv-accordion-item.docs.js +6 -0
  75. package/dist/collection/components/nv-accordion-item/nv-accordion-item.docs.js.map +1 -0
  76. package/dist/collection/components/nv-accordion-item/nv-accordion-item.js +353 -0
  77. package/dist/collection/components/nv-accordion-item/nv-accordion-item.js.map +1 -0
  78. package/dist/collection/components/nv-accordion-item/styles/nv-accordion-item.css +66 -0
  79. package/dist/collection/components/nv-alert/nv-alert.js +1 -1
  80. package/dist/collection/components/nv-avatar/nv-avatar.js +1 -1
  81. package/dist/collection/components/nv-badge/nv-badge.js +2 -2
  82. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js +1 -1
  83. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js +1 -1
  84. package/dist/collection/components/nv-button/nv-button.js +1 -1
  85. package/dist/collection/components/nv-calendar/nv-calendar.css +10 -0
  86. package/dist/collection/components/nv-calendar/nv-calendar.js +110 -43
  87. package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -1
  88. package/dist/collection/components/nv-calendar/nv-calendar.utils.js +0 -20
  89. package/dist/collection/components/nv-calendar/nv-calendar.utils.js.map +1 -1
  90. package/dist/collection/components/nv-calendar/partials/calendar-grid.js +6 -2
  91. package/dist/collection/components/nv-calendar/partials/calendar-grid.js.map +1 -1
  92. package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js +5 -31
  93. package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js.map +1 -1
  94. package/dist/collection/components/nv-col/nv-col.js +1 -1
  95. package/dist/collection/components/nv-datagrid/nv-datagrid.js +2 -2
  96. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +1 -1
  97. package/dist/collection/components/nv-dialog/nv-dialog.css +1 -1
  98. package/dist/collection/components/nv-dialog/nv-dialog.js +38 -5
  99. package/dist/collection/components/nv-dialog/nv-dialog.js.map +1 -1
  100. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js +1 -1
  101. package/dist/collection/components/nv-dialogheader/nv-dialogheader.js +1 -1
  102. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +6 -4
  103. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js.map +1 -1
  104. package/dist/collection/components/nv-fielddate/nv-fielddate.js +148 -34
  105. package/dist/collection/components/nv-fielddate/nv-fielddate.js.map +1 -1
  106. package/dist/collection/components/nv-fielddate/styles/nv-fielddate.css +2 -0
  107. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +61 -4
  108. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +1 -1
  109. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +3 -3
  110. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +1 -1
  111. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +7 -1
  112. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js.map +1 -1
  113. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +44 -34
  114. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js.map +1 -1
  115. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +127 -117
  116. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
  117. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +3 -3
  118. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +3 -3
  119. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
  120. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +5 -5
  121. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +3 -3
  122. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js.map +1 -1
  123. package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js +45 -1
  124. package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js.map +1 -1
  125. package/dist/collection/components/nv-fieldslider/partials/range-thumb.js +4 -4
  126. package/dist/collection/components/nv-fieldslider/partials/range-thumb.js.map +1 -1
  127. package/dist/collection/components/nv-fieldslider/partials/single-thumb.js +3 -3
  128. package/dist/collection/components/nv-fieldslider/partials/single-thumb.js.map +1 -1
  129. package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js +42 -1
  130. package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js.map +1 -1
  131. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +3 -3
  132. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -3
  133. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +9 -9
  134. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js.map +1 -1
  135. package/dist/collection/components/nv-fieldtime/styles/nv-fieldtime.css +11 -13
  136. package/dist/collection/components/nv-icon/nv-icon.js +1 -1
  137. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
  138. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  139. package/dist/collection/components/nv-menu/nv-menu.js +1 -1
  140. package/dist/collection/components/nv-menuitem/nv-menuitem.js +1 -1
  141. package/dist/collection/components/nv-popover/nv-popover.js +1 -1
  142. package/dist/collection/components/nv-row/nv-row.js +1 -1
  143. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  144. package/dist/collection/components/nv-table/nv-table.js +2 -2
  145. package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
  146. package/dist/collection/components/nv-tooltip/nv-tooltip.js +21 -3
  147. package/dist/collection/components/nv-tooltip/nv-tooltip.js.map +1 -1
  148. package/dist/components/index.js +4 -3
  149. package/dist/components/index.js.map +1 -1
  150. package/dist/components/nv-accordion-item.d.ts +11 -0
  151. package/dist/components/nv-accordion-item.js +8 -0
  152. package/dist/components/nv-accordion-item.js.map +1 -0
  153. package/dist/components/nv-accordion.d.ts +11 -0
  154. package/dist/components/nv-accordion.js +212 -0
  155. package/dist/components/nv-accordion.js.map +1 -0
  156. package/dist/components/nv-alert.js +6 -4
  157. package/dist/components/nv-alert.js.map +1 -1
  158. package/dist/components/nv-avatar.js +2 -2
  159. package/dist/components/nv-badge.js +1 -1
  160. package/dist/components/nv-breadcrumb.js +3 -3
  161. package/dist/components/nv-breadcrumbs.js +1 -1
  162. package/dist/components/nv-button.js +1 -1
  163. package/dist/components/nv-calendar.js +1 -1
  164. package/dist/components/nv-col.js +1 -1
  165. package/dist/components/nv-datagrid.js +4 -4
  166. package/dist/components/nv-datagridcolumn.js +1 -1
  167. package/dist/components/nv-dialog.js +25 -11
  168. package/dist/components/nv-dialog.js.map +1 -1
  169. package/dist/components/nv-dialogfooter.js +1 -1
  170. package/dist/components/nv-dialogheader.js +1 -1
  171. package/dist/components/nv-fieldcheckbox.js +1 -1
  172. package/dist/components/nv-fielddate.js +130 -42
  173. package/dist/components/nv-fielddate.js.map +1 -1
  174. package/dist/components/nv-fielddaterange.js +40 -11
  175. package/dist/components/nv-fielddaterange.js.map +1 -1
  176. package/dist/components/nv-fielddropdown.js +8 -8
  177. package/dist/components/nv-fielddropdownitem.js +1 -1
  178. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  179. package/dist/components/nv-fieldmultiselect.js +104 -112
  180. package/dist/components/nv-fieldmultiselect.js.map +1 -1
  181. package/dist/components/nv-fieldnumber.js +1 -1
  182. package/dist/components/nv-fieldpassword.js +6 -6
  183. package/dist/components/nv-fieldradio.js +3 -3
  184. package/dist/components/nv-fieldselect.js +8 -8
  185. package/dist/components/nv-fieldslider.js +57 -13
  186. package/dist/components/nv-fieldslider.js.map +1 -1
  187. package/dist/components/nv-fieldtext.js +1 -1
  188. package/dist/components/nv-fieldtextarea.js +3 -3
  189. package/dist/components/nv-fieldtime.js +14 -14
  190. package/dist/components/nv-fieldtime.js.map +1 -1
  191. package/dist/components/nv-icon.js +1 -1
  192. package/dist/components/nv-iconbutton.js +1 -1
  193. package/dist/components/nv-loader.js +1 -1
  194. package/dist/components/nv-menu.js +4 -4
  195. package/dist/components/nv-menuitem.js +1 -1
  196. package/dist/components/nv-popover.js +1 -1
  197. package/dist/components/nv-row.js +1 -1
  198. package/dist/components/nv-stack.js +1 -1
  199. package/dist/components/nv-table.js +2 -2
  200. package/dist/components/nv-toggle.js +2 -2
  201. package/dist/components/nv-tooltip.js +1 -1
  202. package/dist/components/{p-9e6e26cb.js → p-0143cee0.js} +5 -5
  203. package/dist/components/p-0143cee0.js.map +1 -0
  204. package/dist/components/{p-e8c083e3.js → p-07550eac.js} +3 -3
  205. package/dist/components/{p-e8c083e3.js.map → p-07550eac.js.map} +1 -1
  206. package/dist/components/{p-1daca48a.js → p-09cdd71f.js} +2 -65
  207. package/dist/components/p-09cdd71f.js.map +1 -0
  208. package/dist/components/{p-919b5237.js → p-12258eef.js} +5 -5
  209. package/dist/components/{p-919b5237.js.map → p-12258eef.js.map} +1 -1
  210. package/dist/components/{p-05c19c9a.js → p-144e80f0.js} +4 -4
  211. package/dist/components/{p-05c19c9a.js.map → p-144e80f0.js.map} +1 -1
  212. package/dist/components/p-15aeab4d.js +23 -0
  213. package/dist/components/p-15aeab4d.js.map +1 -0
  214. package/dist/components/p-1cbacdba.js +68 -0
  215. package/dist/components/p-1cbacdba.js.map +1 -0
  216. package/dist/components/p-44df0d22.js +223 -0
  217. package/dist/components/p-44df0d22.js.map +1 -0
  218. package/dist/components/{p-cebdbb40.js → p-5d5668f0.js} +3 -3
  219. package/dist/components/{p-cebdbb40.js.map → p-5d5668f0.js.map} +1 -1
  220. package/dist/components/{p-001c888b.js → p-8067d283.js} +5 -4
  221. package/dist/components/p-8067d283.js.map +1 -0
  222. package/dist/components/{p-4badc1d2.js → p-8b82a6f4.js} +7 -7
  223. package/dist/components/{p-4badc1d2.js.map → p-8b82a6f4.js.map} +1 -1
  224. package/dist/components/{p-c1765831.js → p-8d45dbfe.js} +2 -2
  225. package/dist/components/{p-c1765831.js.map → p-8d45dbfe.js.map} +1 -1
  226. package/dist/components/{p-9f1e8ef3.js → p-91a558eb.js} +2 -2
  227. package/dist/components/{p-9f1e8ef3.js.map → p-91a558eb.js.map} +1 -1
  228. package/dist/components/{p-42301d8f.js → p-9a263d0e.js} +3 -23
  229. package/dist/components/p-9a263d0e.js.map +1 -0
  230. package/dist/components/{p-5bee0141.js → p-ba87d9d5.js} +6 -5
  231. package/dist/components/p-ba87d9d5.js.map +1 -0
  232. package/dist/components/{p-6277f746.js → p-ca130ad2.js} +2 -2
  233. package/dist/components/{p-6277f746.js.map → p-ca130ad2.js.map} +1 -1
  234. package/dist/components/{p-a0d7e0cd.js → p-d32b75ac.js} +99 -68
  235. package/dist/components/p-d32b75ac.js.map +1 -0
  236. package/dist/components/{p-970cd9b1.js → p-d576d64f.js} +5 -5
  237. package/dist/components/{p-970cd9b1.js.map → p-d576d64f.js.map} +1 -1
  238. package/dist/components/{p-e072f051.js → p-dd7ff995.js} +2 -2
  239. package/dist/components/{p-e072f051.js.map → p-dd7ff995.js.map} +1 -1
  240. package/dist/components/{p-918bb719.js → p-dfd2d4f0.js} +2 -2
  241. package/dist/components/{p-918bb719.js.map → p-dfd2d4f0.js.map} +1 -1
  242. package/dist/components/{p-44f0039b.js → p-e104c58a.js} +4 -4
  243. package/dist/components/p-e104c58a.js.map +1 -0
  244. package/dist/components/{p-00ac701f.js → p-e8e6f88a.js} +8 -6
  245. package/dist/components/p-e8e6f88a.js.map +1 -0
  246. package/dist/components/{p-d56b30ab.js → p-f97d1cb1.js} +3 -3
  247. package/dist/components/{p-d56b30ab.js.map → p-f97d1cb1.js.map} +1 -1
  248. package/dist/esm/{timeline.animation-1b88f052.js → collapse.animation-16e3af45.js} +3 -23
  249. package/dist/esm/collapse.animation-16e3af45.js.map +1 -0
  250. package/dist/esm/fade.animation-71e8e34c.js +68 -0
  251. package/dist/esm/fade.animation-71e8e34c.js.map +1 -0
  252. package/dist/esm/{grow.animation-cac164da.js → grow.animation-f7b26024.js} +2 -2
  253. package/dist/esm/{grow.animation-cac164da.js.map → grow.animation-f7b26024.js.map} +1 -1
  254. package/dist/esm/index-a1936cd0.js +8 -0
  255. package/dist/esm/index.js +5 -3
  256. package/dist/esm/index.js.map +1 -1
  257. package/dist/esm/loader.js +1 -1
  258. package/dist/esm/native.js +1 -1
  259. package/dist/esm/nv-accordion-item.entry.js +177 -0
  260. package/dist/esm/nv-accordion-item.entry.js.map +1 -0
  261. package/dist/esm/nv-accordion.entry.js +163 -0
  262. package/dist/esm/nv-accordion.entry.js.map +1 -0
  263. package/dist/esm/nv-alert.entry.js +5 -3
  264. package/dist/esm/nv-alert.entry.js.map +1 -1
  265. package/dist/esm/nv-avatar.entry.js +1 -1
  266. package/dist/esm/nv-badge_2.entry.js +7 -5
  267. package/dist/esm/nv-badge_2.entry.js.map +1 -1
  268. package/dist/esm/nv-breadcrumb.entry.js +1 -1
  269. package/dist/esm/nv-breadcrumbs.entry.js +1 -1
  270. package/dist/esm/nv-button.entry.js +1 -1
  271. package/dist/esm/nv-calendar.entry.js +96 -66
  272. package/dist/esm/nv-calendar.entry.js.map +1 -1
  273. package/dist/esm/nv-col.entry.js +1 -1
  274. package/dist/esm/nv-datagrid.entry.js +2 -2
  275. package/dist/esm/nv-datagridcolumn.entry.js +1 -1
  276. package/dist/esm/nv-dialog.entry.js +19 -6
  277. package/dist/esm/nv-dialog.entry.js.map +1 -1
  278. package/dist/esm/nv-dialogfooter_2.entry.js +2 -2
  279. package/dist/esm/nv-fieldcheckbox.entry.js +4 -4
  280. package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -1
  281. package/dist/esm/nv-fielddate.entry.js +121 -35
  282. package/dist/esm/nv-fielddate.entry.js.map +1 -1
  283. package/dist/esm/nv-fielddaterange.entry.js +32 -4
  284. package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
  285. package/dist/esm/nv-fielddropdown.entry.js +3 -3
  286. package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
  287. package/dist/esm/nv-fieldmultiselect.entry.js +95 -102
  288. package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
  289. package/dist/esm/nv-fieldnumber.entry.js +3 -3
  290. package/dist/esm/nv-fieldpassword.entry.js +3 -3
  291. package/dist/esm/nv-fieldradio.entry.js +3 -3
  292. package/dist/esm/nv-fieldselect.entry.js +5 -5
  293. package/dist/esm/nv-fieldslider.entry.js +53 -9
  294. package/dist/esm/nv-fieldslider.entry.js.map +1 -1
  295. package/dist/esm/nv-fieldtext.entry.js +3 -3
  296. package/dist/esm/nv-fieldtextarea.entry.js +3 -3
  297. package/dist/esm/nv-fieldtime.entry.js +10 -10
  298. package/dist/esm/nv-fieldtime.entry.js.map +1 -1
  299. package/dist/esm/nv-icon.entry.js +1 -1
  300. package/dist/esm/nv-iconbutton_2.entry.js +2 -2
  301. package/dist/esm/nv-menu.entry.js +1 -1
  302. package/dist/esm/nv-menuitem.entry.js +1 -1
  303. package/dist/esm/nv-popover.entry.js +4 -3
  304. package/dist/esm/nv-popover.entry.js.map +1 -1
  305. package/dist/esm/nv-row.entry.js +1 -1
  306. package/dist/esm/nv-stack.entry.js +1 -1
  307. package/dist/esm/nv-table.entry.js +2 -2
  308. package/dist/esm/nv-toggle.entry.js +2 -2
  309. package/dist/esm/nv-tooltip.entry.js +4 -3
  310. package/dist/esm/nv-tooltip.entry.js.map +1 -1
  311. package/dist/esm/{fade.animation-2a077983.js → stylefire.es-74da334a.js} +2 -65
  312. package/dist/esm/stylefire.es-74da334a.js.map +1 -0
  313. package/dist/esm/timeline.animation-adf35ecb.js +23 -0
  314. package/dist/esm/timeline.animation-adf35ecb.js.map +1 -0
  315. package/dist/native/index.esm.js +1 -1
  316. package/dist/native/index.esm.js.map +1 -1
  317. package/dist/native/native.css +1 -1
  318. package/dist/native/native.esm.js +1 -1
  319. package/dist/native/native.esm.js.map +1 -1
  320. package/dist/native/p-051db87c.entry.js +2 -0
  321. package/dist/native/p-051db87c.entry.js.map +1 -0
  322. package/dist/native/{p-a0505695.entry.js → p-08452012.entry.js} +2 -2
  323. package/dist/native/p-09cdd71f.js +16 -0
  324. package/dist/native/p-09cdd71f.js.map +1 -0
  325. package/dist/native/p-0e005d95.entry.js +2 -0
  326. package/dist/native/{p-d4bf2587.entry.js.map → p-0e005d95.entry.js.map} +1 -1
  327. package/dist/native/p-10ce53ea.entry.js +2 -0
  328. package/dist/native/{p-54198779.entry.js → p-12039da4.entry.js} +2 -2
  329. package/dist/native/p-1235c007.entry.js +2 -0
  330. package/dist/native/p-15aeab4d.js +2 -0
  331. package/dist/native/p-15aeab4d.js.map +1 -0
  332. package/dist/native/{p-003b6377.entry.js → p-16ef7dd4.entry.js} +2 -2
  333. package/dist/native/{p-1d98477d.entry.js → p-1ad1bff9.entry.js} +2 -2
  334. package/dist/native/p-1cbacdba.js +2 -0
  335. package/dist/native/p-1cbacdba.js.map +1 -0
  336. package/dist/native/{p-914da1e1.entry.js → p-1f932a4b.entry.js} +2 -2
  337. package/dist/native/p-2a6783ca.entry.js +2 -0
  338. package/dist/native/p-2a6783ca.entry.js.map +1 -0
  339. package/dist/native/{p-a5c72bd3.entry.js → p-34bf336f.entry.js} +2 -2
  340. package/dist/native/{p-e293b3fe.entry.js → p-3f139780.entry.js} +2 -2
  341. package/dist/native/{p-dd256ea3.entry.js → p-40fa3328.entry.js} +2 -2
  342. package/dist/native/{p-a983e6a0.entry.js → p-4b15cff3.entry.js} +2 -2
  343. package/dist/native/p-516da423.entry.js +2 -0
  344. package/dist/native/p-516da423.entry.js.map +1 -0
  345. package/dist/native/{p-08ca678c.entry.js → p-51a57a3a.entry.js} +2 -2
  346. package/dist/native/{p-5b06f4b5.entry.js → p-64cb38e6.entry.js} +2 -2
  347. package/dist/native/{p-af1e6035.entry.js → p-67c34b8c.entry.js} +2 -2
  348. package/dist/native/{p-e9962dac.entry.js → p-68edb2e8.entry.js} +2 -2
  349. package/dist/native/p-73c08f3b.entry.js +2 -0
  350. package/dist/native/p-73c08f3b.entry.js.map +1 -0
  351. package/dist/native/p-7703c736.entry.js +2 -0
  352. package/dist/native/p-7703c736.entry.js.map +1 -0
  353. package/dist/native/{p-6029e51b.entry.js → p-85a54ef2.entry.js} +2 -2
  354. package/dist/native/p-8d45dbfe.js +2 -0
  355. package/dist/native/p-916acbd3.entry.js +2 -0
  356. package/dist/native/p-916acbd3.entry.js.map +1 -0
  357. package/dist/native/p-9a263d0e.js +2 -0
  358. package/dist/native/p-9a263d0e.js.map +1 -0
  359. package/dist/native/{p-1a5d3b87.entry.js → p-9dc1c3e7.entry.js} +2 -2
  360. package/dist/native/p-a36dc25a.entry.js +2 -0
  361. package/dist/native/{p-ad128108.entry.js.map → p-a36dc25a.entry.js.map} +1 -1
  362. package/dist/native/p-a50f3850.entry.js +2 -0
  363. package/dist/native/{p-19f484a0.entry.js → p-a73fa60a.entry.js} +2 -2
  364. package/dist/native/p-b3f9db23.entry.js +2 -0
  365. package/dist/native/{p-82568ec7.entry.js.map → p-b3f9db23.entry.js.map} +1 -1
  366. package/dist/native/p-baddee4c.entry.js +7 -0
  367. package/dist/native/p-baddee4c.entry.js.map +1 -0
  368. package/dist/native/p-bba5cc9b.entry.js +2 -0
  369. package/dist/native/p-bba5cc9b.entry.js.map +1 -0
  370. package/dist/native/{p-1e0df2d3.entry.js → p-bee62b2b.entry.js} +2 -2
  371. package/dist/native/p-dc34da69.entry.js +2 -0
  372. package/dist/native/p-dc34da69.entry.js.map +1 -0
  373. package/dist/native/p-ec92ee7a.entry.js +2 -0
  374. package/dist/native/{p-6ea1c78b.entry.js → p-f00a4552.entry.js} +2 -2
  375. package/dist/native/{p-dd6b1d79.entry.js → p-f540db71.entry.js} +2 -2
  376. package/dist/native/{p-be9aeed4.entry.js → p-f687e05c.entry.js} +2 -2
  377. package/dist/native/p-f687e05c.entry.js.map +1 -0
  378. package/dist/native/{p-b5b9190a.entry.js → p-fa81b77f.entry.js} +2 -2
  379. package/dist/native/p-fa81b77f.entry.js.map +1 -0
  380. package/dist/native/{p-2d98d4f0.entry.js → p-fcd52432.entry.js} +2 -2
  381. package/dist/types/components/nv-accordion/nv-accordion.d.ts +82 -0
  382. package/dist/types/components/nv-accordion/nv-accordion.docs.d.ts +4 -0
  383. package/dist/types/components/nv-accordion-item/nv-accordion-item.d.ts +79 -0
  384. package/dist/types/components/nv-accordion-item/nv-accordion-item.docs.d.ts +4 -0
  385. package/dist/types/components/nv-calendar/nv-calendar.d.ts +7 -1
  386. package/dist/types/components/nv-calendar/partials/calendar-grid.d.ts +6 -2
  387. package/dist/types/components/nv-dialog/nv-dialog.d.ts +7 -0
  388. package/dist/types/components/nv-fieldcheckbox/nv-fieldcheckbox.d.ts +2 -0
  389. package/dist/types/components/nv-fielddate/nv-fielddate.d.ts +27 -2
  390. package/dist/types/components/nv-fielddaterange/nv-fielddaterange.d.ts +5 -0
  391. package/dist/types/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.d.ts +6 -0
  392. package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +17 -16
  393. package/dist/types/components/nv-fieldslider/nv-fieldslider.utils.d.ts +13 -0
  394. package/dist/types/components/nv-fieldslider/partials/range-thumb.d.ts +2 -0
  395. package/dist/types/components/nv-fieldslider/partials/single-thumb.d.ts +2 -0
  396. package/dist/types/components/nv-tooltip/nv-tooltip.d.ts +7 -0
  397. package/dist/types/components.d.ts +287 -10
  398. package/dist/vscode-data.json +71 -5
  399. package/hydrate/index.js +1461 -879
  400. package/hydrate/index.mjs +1461 -879
  401. package/package.json +1 -1
  402. package/readme.md +6 -0
  403. package/dist/cjs/fade.animation-0d33d198.js.map +0 -1
  404. package/dist/cjs/timeline.animation-dbb9c5ea.js.map +0 -1
  405. package/dist/components/p-001c888b.js.map +0 -1
  406. package/dist/components/p-00ac701f.js.map +0 -1
  407. package/dist/components/p-1daca48a.js.map +0 -1
  408. package/dist/components/p-42301d8f.js.map +0 -1
  409. package/dist/components/p-44f0039b.js.map +0 -1
  410. package/dist/components/p-5bee0141.js.map +0 -1
  411. package/dist/components/p-9e6e26cb.js.map +0 -1
  412. package/dist/components/p-a0d7e0cd.js.map +0 -1
  413. package/dist/esm/fade.animation-2a077983.js.map +0 -1
  414. package/dist/esm/timeline.animation-1b88f052.js.map +0 -1
  415. package/dist/native/p-0493c51a.entry.js +0 -2
  416. package/dist/native/p-1daca48a.js +0 -16
  417. package/dist/native/p-1daca48a.js.map +0 -1
  418. package/dist/native/p-42301d8f.js +0 -2
  419. package/dist/native/p-42301d8f.js.map +0 -1
  420. package/dist/native/p-45cbe6e4.entry.js +0 -2
  421. package/dist/native/p-46428304.entry.js +0 -2
  422. package/dist/native/p-46428304.entry.js.map +0 -1
  423. package/dist/native/p-58f4dc0e.entry.js +0 -2
  424. package/dist/native/p-58f4dc0e.entry.js.map +0 -1
  425. package/dist/native/p-59b07b36.entry.js +0 -2
  426. package/dist/native/p-59b07b36.entry.js.map +0 -1
  427. package/dist/native/p-82568ec7.entry.js +0 -2
  428. package/dist/native/p-82c4bf56.entry.js +0 -2
  429. package/dist/native/p-82c4bf56.entry.js.map +0 -1
  430. package/dist/native/p-86ab23ea.entry.js +0 -2
  431. package/dist/native/p-ad128108.entry.js +0 -2
  432. package/dist/native/p-b5b9190a.entry.js.map +0 -1
  433. package/dist/native/p-b9c7b644.entry.js +0 -2
  434. package/dist/native/p-b9c7b644.entry.js.map +0 -1
  435. package/dist/native/p-be9aeed4.entry.js.map +0 -1
  436. package/dist/native/p-bee972c7.entry.js +0 -2
  437. package/dist/native/p-c1765831.js +0 -2
  438. package/dist/native/p-d21b2da2.entry.js +0 -7
  439. package/dist/native/p-d21b2da2.entry.js.map +0 -1
  440. package/dist/native/p-d4bf2587.entry.js +0 -2
  441. package/dist/native/p-eaf51f2c.entry.js +0 -2
  442. package/dist/native/p-eaf51f2c.entry.js.map +0 -1
  443. /package/dist/native/{p-a0505695.entry.js.map → p-08452012.entry.js.map} +0 -0
  444. /package/dist/native/{p-0493c51a.entry.js.map → p-10ce53ea.entry.js.map} +0 -0
  445. /package/dist/native/{p-54198779.entry.js.map → p-12039da4.entry.js.map} +0 -0
  446. /package/dist/native/{p-86ab23ea.entry.js.map → p-1235c007.entry.js.map} +0 -0
  447. /package/dist/native/{p-003b6377.entry.js.map → p-16ef7dd4.entry.js.map} +0 -0
  448. /package/dist/native/{p-1d98477d.entry.js.map → p-1ad1bff9.entry.js.map} +0 -0
  449. /package/dist/native/{p-914da1e1.entry.js.map → p-1f932a4b.entry.js.map} +0 -0
  450. /package/dist/native/{p-a5c72bd3.entry.js.map → p-34bf336f.entry.js.map} +0 -0
  451. /package/dist/native/{p-e293b3fe.entry.js.map → p-3f139780.entry.js.map} +0 -0
  452. /package/dist/native/{p-dd256ea3.entry.js.map → p-40fa3328.entry.js.map} +0 -0
  453. /package/dist/native/{p-a983e6a0.entry.js.map → p-4b15cff3.entry.js.map} +0 -0
  454. /package/dist/native/{p-08ca678c.entry.js.map → p-51a57a3a.entry.js.map} +0 -0
  455. /package/dist/native/{p-5b06f4b5.entry.js.map → p-64cb38e6.entry.js.map} +0 -0
  456. /package/dist/native/{p-af1e6035.entry.js.map → p-67c34b8c.entry.js.map} +0 -0
  457. /package/dist/native/{p-e9962dac.entry.js.map → p-68edb2e8.entry.js.map} +0 -0
  458. /package/dist/native/{p-6029e51b.entry.js.map → p-85a54ef2.entry.js.map} +0 -0
  459. /package/dist/native/{p-c1765831.js.map → p-8d45dbfe.js.map} +0 -0
  460. /package/dist/native/{p-1a5d3b87.entry.js.map → p-9dc1c3e7.entry.js.map} +0 -0
  461. /package/dist/native/{p-bee972c7.entry.js.map → p-a50f3850.entry.js.map} +0 -0
  462. /package/dist/native/{p-19f484a0.entry.js.map → p-a73fa60a.entry.js.map} +0 -0
  463. /package/dist/native/{p-1e0df2d3.entry.js.map → p-bee62b2b.entry.js.map} +0 -0
  464. /package/dist/native/{p-45cbe6e4.entry.js.map → p-ec92ee7a.entry.js.map} +0 -0
  465. /package/dist/native/{p-6ea1c78b.entry.js.map → p-f00a4552.entry.js.map} +0 -0
  466. /package/dist/native/{p-dd6b1d79.entry.js.map → p-f540db71.entry.js.map} +0 -0
  467. /package/dist/native/{p-2d98d4f0.entry.js.map → p-fcd52432.entry.js.map} +0 -0
@@ -0,0 +1,181 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-c56424e5.js');
6
+ const collapse_animation = require('./collapse.animation-a129dc3f.js');
7
+ require('./stylefire.es-717e022a.js');
8
+
9
+ 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)}";
10
+ const NvAccordionItemStyle0 = nvAccordionItemCss;
11
+
12
+ const NvAccordionItem = class {
13
+ constructor(hostRef) {
14
+ index.registerInstance(this, hostRef);
15
+ this.itemToggle = index.createEvent(this, "itemToggle", 7);
16
+ /** Open or closed */
17
+ this.open = false;
18
+ /** Disables the item */
19
+ this.disabled = false;
20
+ /** Parent expansion mode (accordion or multi) */
21
+ this.mode = 'accordion';
22
+ //#endregion EVENTS
23
+ /****************************************************************************/
24
+ //#region STATE
25
+ /** Internal state for open/close rendering */
26
+ this.currentOpenState = false;
27
+ /**
28
+ * Controls if the panel has been initialized for animations
29
+ */
30
+ this.isInitialized = false;
31
+ /**
32
+ * Animation in progress
33
+ */
34
+ this.isAnimating = false;
35
+ /**
36
+ * Handler for header click
37
+ */
38
+ this.handleHeaderClick = () => {
39
+ this.toggle();
40
+ };
41
+ /**
42
+ * Handler for iconbutton click
43
+ * @param {Event} e - Click event
44
+ */
45
+ this.handleIconClick = (e) => {
46
+ e.stopPropagation(); // Prevent header click from triggering
47
+ this.toggle();
48
+ };
49
+ /**
50
+ * Handler for keyboard events on iconbutton
51
+ * @param {KeyboardEvent} e - Keyboard event
52
+ */
53
+ this.handleHeaderKeyDown = (e) => {
54
+ if (this.disabled)
55
+ return;
56
+ switch (e.key) {
57
+ case 'Enter':
58
+ case ' ':
59
+ e.preventDefault();
60
+ this.toggle();
61
+ break;
62
+ case 'ArrowDown':
63
+ e.preventDefault();
64
+ if (!this.open) {
65
+ this.open = true;
66
+ this.itemToggle.emit(this.open);
67
+ this.updateVisibility(this.open);
68
+ }
69
+ break;
70
+ case 'ArrowUp':
71
+ e.preventDefault();
72
+ if (this.open) {
73
+ this.open = false;
74
+ this.itemToggle.emit(this.open);
75
+ this.updateVisibility(this.open);
76
+ }
77
+ break;
78
+ }
79
+ };
80
+ }
81
+ //#endregion STATE
82
+ /****************************************************************************/
83
+ //#region WATCHERS
84
+ async onOpenChanged(newValue, oldValue) {
85
+ this.currentOpenState = newValue; // Synchronize internal state
86
+ // Skip initial render
87
+ if (oldValue === undefined) {
88
+ return;
89
+ }
90
+ await this.updateVisibility(newValue);
91
+ }
92
+ //#endregion WATCHERS
93
+ /****************************************************************************/
94
+ //#region ANIMATIONS
95
+ /**
96
+ * Updates the visibility state with Nova animation system
97
+ * @param {boolean} open - Whether the accordion item should be open
98
+ */
99
+ async updateVisibility(open) {
100
+ if (!this.contentRef)
101
+ return;
102
+ this.isAnimating = true;
103
+ const { collapse, expand } = collapse_animation.useCollapse(this.contentRef, {
104
+ duration: 200,
105
+ });
106
+ if (open) {
107
+ // Expand with animation
108
+ await expand();
109
+ }
110
+ else {
111
+ // Collapse with animation
112
+ await collapse();
113
+ }
114
+ this.isAnimating = false;
115
+ }
116
+ //#endregion ANIMATIONS
117
+ /****************************************************************************/
118
+ //#region LIFECYCLE
119
+ componentWillLoad() {
120
+ this.currentOpenState = this.open; // Initial synchronization
121
+ }
122
+ componentDidLoad() {
123
+ if (this.contentRef) {
124
+ const { setExpanded, setCollapsed } = collapse_animation.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
+ }
133
+ }
134
+ }
135
+ disconnectedCallback() {
136
+ if (this.mutationObserver) {
137
+ this.mutationObserver.disconnect();
138
+ }
139
+ }
140
+ //#endregion LIFECYCLE
141
+ /****************************************************************************/
142
+ //#region METHODS
143
+ /**
144
+ * Toggle open/close (Public API)
145
+ */
146
+ async toggle() {
147
+ 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);
152
+ }
153
+ }
154
+ /**
155
+ * Get the chevron icon name based on open state
156
+ * @returns {string} The icon name to display in the chevron button
157
+ */
158
+ get chevronIconName() {
159
+ return this.open ? 'chevron-top' : 'chevron-down';
160
+ }
161
+ //#endregion METHODS
162
+ /****************************************************************************/
163
+ //#region RENDER
164
+ render() {
165
+ return (index.h(index.Host, { key: 'dfb8ca76f8ac40c938323be1ccba4353ea33a616', class: {
166
+ 'nv-accordion-item': true,
167
+ 'is-open': this.open,
168
+ 'is-disabled': this.disabled,
169
+ 'is-animating': this.isAnimating,
170
+ }, role: "listitem", "aria-expanded": this.open ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }, index.h("div", { key: '258efe0502a39d963a9e75c16285ee9cbc65cb9f', class: "nv-accordion-item__header", onClick: this.handleHeaderClick, "aria-controls": "content" }, index.h("slot", { key: 'bb4dae743f06e3d41d1f7b8c17793b668df9347b', name: "header" }, index.h("div", { key: 'f3142a81c6be776d95ab9292101b889db6e35805', class: "nv-accordion-item__header-content" }, this.itemTitle && (index.h("span", { key: 'e897d8b4d414ba4e93b2853c152059579063335e', class: "nv-accordion-item__title" }, this.itemTitle)), this.subtitle && (index.h("span", { key: 'b8e03ceb1ca0e4c0b0fe24398f0e1c592ac077ab', class: "nv-accordion-item__subtitle" }, this.subtitle)))), index.h("nv-iconbutton", { key: '8d90711a96f5ce2e7d6f5ebcf3922cd0fedd69bd', emphasis: "low", size: "sm", shape: "square", name: this.chevronIconName, tabindex: this.disabled ? -1 : 0, onClick: this.handleIconClick, onKeyDown: this.handleHeaderKeyDown, "aria-expanded": this.open ? 'true' : 'false', "aria-controls": "content", "aria-label": this.open ? 'Fermer la section' : 'Ouvrir la section' })), index.h("div", { key: '171b5165f3663fa5f0fa28ef84145dfc998e9f10', id: "content", class: "nv-accordion-item__content", "aria-hidden": !this.open ? 'true' : 'false', ref: el => (this.contentRef = el) }, index.h("div", { key: 'dcf753f23cec073a036d8137f1299dcf4ca4af78', class: "nv-accordion-item__content-inner" }, index.h("slot", { key: '3dc85def21aace19f3d211262b6cf66ccb9438fa', name: "content" })))));
171
+ }
172
+ get el() { return index.getElement(this); }
173
+ static get watchers() { return {
174
+ "open": ["onOpenChanged"]
175
+ }; }
176
+ };
177
+ NvAccordionItem.style = NvAccordionItemStyle0;
178
+
179
+ exports.nv_accordion_item = NvAccordionItem;
180
+
181
+ //# sourceMappingURL=nv-accordion-item.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"nv-accordion-item.entry.cjs.js","mappings":";;;;;;;;AAAA,MAAM,kBAAkB,GAAG,uqDAAuqD,CAAC;AACnsD,8BAAe,kBAAkB;;MCwBpB,eAAe;IAL5B;;;;QAuBE,SAAI,GAAY,KAAK,CAAC;;QAIb,aAAQ,GAAY,KAAK,CAAC;;QAQ1B,SAAI,GAA2B,WAAW,CAAC;;;;;QAkBpD,qBAAgB,GAAY,KAAK,CAAC;;;;QAMlC,kBAAa,GAAY,KAAK,CAAC;;;;QAM/B,gBAAW,GAAY,KAAK,CAAC;;;;QA+FrB,sBAAiB,GAAG;YAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;SACf,CAAC;;;;;QAMM,oBAAe,GAAG,CAAC,CAAQ;YACjC,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,EAAE,CAAC;SACf,CAAC;;;;;QAMM,wBAAmB,GAAG,CAAC,CAAgB;YAC7C,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAE1B,QAAQ,CAAC,CAAC,GAAG;gBACX,KAAK,OAAO,CAAC;gBACb,KAAK,GAAG;oBACN,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,IAAI,CAAC,MAAM,EAAE,CAAC;oBACd,MAAM;gBACR,KAAK,WAAW;oBACd,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;wBACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;wBACjB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAChC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAClC;oBACD,MAAM;gBACR,KAAK,SAAS;oBACZ,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,IAAI,IAAI,CAAC,IAAI,EAAE;wBACb,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;wBAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAChC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAClC;oBACD,MAAM;aACT;SACF,CAAC;KAqEH;;;;IAxMC,MAAM,aAAa,CAAC,QAAiB,EAAE,QAAiB;QACtD,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;;QAGjC,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,OAAO;SACR;QAED,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;KACvC;;;;;;;;IAUO,MAAM,gBAAgB,CAAC,IAAa;QAC1C,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAE7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAGA,8BAAW,CAAC,IAAI,CAAC,UAAU,EAAE;YACxD,QAAQ,EAAE,GAAG;SACd,CAAC,CAAC;QAEH,IAAI,IAAI,EAAE;;YAER,MAAM,MAAM,EAAE,CAAC;SAChB;aAAM;;YAEL,MAAM,QAAQ,EAAE,CAAC;SAClB;QAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;KAC1B;;;;IAMD,iBAAiB;QACf,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC;KACnC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAGA,8BAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEnE,IAAI,IAAI,CAAC,IAAI,EAAE;;gBAEb,WAAW,EAAE,CAAC;aACf;iBAAM;;gBAEL,YAAY,EAAE,CAAC;aAChB;SACF;KACF;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;SACpC;KACF;;;;;;;IAUD,MAAM,MAAM;QACV,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACvC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YAGhC,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACxC;KACF;;;;;IAsDD,IAAY,eAAe;QACzB,OAAO,IAAI,CAAC,IAAI,GAAG,aAAa,GAAG,cAAc,CAAC;KACnD;;;;IAKD,MAAM;QACJ,QACEC,QAACC,UAAI,qDACH,KAAK,EAAE;gBACL,mBAAmB,EAAE,IAAI;gBACzB,SAAS,EAAE,IAAI,CAAC,IAAI;gBACpB,aAAa,EAAE,IAAI,CAAC,QAAQ;gBAC5B,cAAc,EAAE,IAAI,CAAC,WAAW;aACjC,EACD,IAAI,EAAC,UAAU,mBACA,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,OAAO,mBAC5B,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,IAE/CD,kEACE,KAAK,EAAC,2BAA2B,EACjC,OAAO,EAAE,IAAI,CAAC,iBAAiB,mBACjB,SAAS,IAEvBA,mEAAM,IAAI,EAAC,QAAQ,IACjBA,kEAAK,KAAK,EAAC,mCAAmC,IAC3C,IAAI,CAAC,SAAS,KACbA,mEAAM,KAAK,EAAC,0BAA0B,IAAE,IAAI,CAAC,SAAS,CAAQ,CAC/D,EACA,IAAI,CAAC,QAAQ,KACZA,mEAAM,KAAK,EAAC,6BAA6B,IAAE,IAAI,CAAC,QAAQ,CAAQ,CACjE,CACG,CACD,EACPA,4EACE,QAAQ,EAAC,KAAK,EACd,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,QAAQ,EACd,IAAI,EAAE,IAAI,CAAC,eAAe,EAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,EAChC,OAAO,EAAE,IAAI,CAAC,eAAe,EAC7B,SAAS,EAAE,IAAI,CAAC,mBAAmB,mBACpB,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,OAAO,mBAC7B,SAAS,gBACX,IAAI,CAAC,IAAI,GAAG,mBAAmB,GAAG,mBAAmB,GAClD,CACb,EAENA,kEACE,EAAE,EAAC,SAAS,EACZ,KAAK,EAAC,4BAA4B,iBACrB,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,OAAO,EAC1C,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,UAAU,GAAG,EAAoB,CAAC,IAEnDA,kEAAK,KAAK,EAAC,kCAAkC,IAC3CA,mEAAM,IAAI,EAAC,SAAS,GAAG,CACnB,CACF,CACD,EACP;KACH;;;;;;;;;;","names":["useCollapse","h","Host"],"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}","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\n /****************************************************************************/\n //#region PROPERTIES\n\n /** Item title (displayed if header slot is absent) */\n @Prop({ reflect: true })\n readonly itemTitle?: string;\n\n /** Item subtitle (displayed if header slot is absent) */\n @Prop({ reflect: true })\n readonly subtitle?: string;\n\n /** Open or closed */\n @Prop({ reflect: true, mutable: true })\n open: boolean = false;\n\n /** Disables the item */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /** Maximum content height (in px, optional). If not defined, auto height. */\n @Prop({ reflect: true })\n readonly maxContentHeight?: number;\n\n /** Parent expansion mode (accordion or multi) */\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)\n */\n @Event()\n itemToggle: EventEmitter<boolean>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region STATE\n\n /** Internal state for open/close rendering */\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 this.currentOpenState = newValue; // Synchronize internal state\n\n // Skip initial render\n if (oldValue === undefined) {\n return;\n }\n\n await this.updateVisibility(newValue);\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) return;\n\n this.isAnimating = true;\n\n const { collapse, expand } = useCollapse(this.contentRef, {\n duration: 200,\n });\n\n if (open) {\n // Expand with animation\n await expand();\n } else {\n // Collapse with animation\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; // Initial synchronization\n }\n\n componentDidLoad() {\n if (this.contentRef) {\n const { setExpanded, setCollapsed } = useCollapse(this.contentRef);\n\n if (this.open) {\n // If open by default on initial load, set expanded state without animation\n setExpanded();\n } else {\n // If closed by default, set collapsed state without animation\n setCollapsed();\n }\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.open = !this.open;\n this.itemToggle.emit(this.open);\n\n // Force animation update directly instead of relying on watcher\n await this.updateVisibility(this.open);\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(); // Prevent header click from triggering\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) return;\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.open = true;\n this.itemToggle.emit(this.open);\n this.updateVisibility(this.open);\n }\n break;\n case 'ArrowUp':\n e.preventDefault();\n if (this.open) {\n this.open = false;\n this.itemToggle.emit(this.open);\n this.updateVisibility(this.open);\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 return this.open ? 'chevron-top' : 'chevron-down';\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n render() {\n return (\n <Host\n class={{\n 'nv-accordion-item': true,\n 'is-open': this.open,\n 'is-disabled': this.disabled,\n 'is-animating': this.isAnimating,\n }}\n role=\"listitem\"\n aria-expanded={this.open ? '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-expanded={this.open ? 'true' : 'false'}\n aria-controls=\"content\"\n aria-label={this.open ? 'Fermer la section' : 'Ouvrir la section'}\n ></nv-iconbutton>\n </div>\n\n <div\n id=\"content\"\n class=\"nv-accordion-item__content\"\n aria-hidden={!this.open ? 'true' : 'false'}\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 // #endregion RENDER\n}\n"],"version":3}
@@ -0,0 +1,167 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-c56424e5.js');
6
+
7
+ const nvAccordionCss = "nv-accordion{display:block;border:var(--spacing-px) solid var(--color-content-low-border);border-radius:var(--radius-rounded-lg)}nv-accordion .nv-accordion__footer{padding:var(--spacing-3);background:var(--color-level-05-background);border-radius:0 0 var(--radius-rounded-lg) var(--radius-rounded-lg);margin-top:calc(var(--spacing-px) * -1);border-top:var(--spacing-px) solid var(--color-content-low-border)}nv-accordion .nv-accordion__footer:empty{display:none}";
8
+ const NvAccordionStyle0 = nvAccordionCss;
9
+
10
+ const NvAccordion = class {
11
+ constructor(hostRef) {
12
+ index.registerInstance(this, hostRef);
13
+ this.openChanged = index.createEvent(this, "openChanged", 7);
14
+ /****************************************************************************/
15
+ //#region PROPERTIES
16
+ /**
17
+ * Data to display as a list of items (title, subtitle, content).
18
+ */
19
+ this.data = [];
20
+ /**
21
+ * Expansion mode: 'accordion' (single open) or 'multi' (multiple open)
22
+ */
23
+ this.mode = 'accordion';
24
+ //#endregion PROPERTIES
25
+ /****************************************************************************/
26
+ //#region STATE
27
+ /**
28
+ * Internal index of open items (not exposed)
29
+ */
30
+ this.internalOpenIndexes = [];
31
+ }
32
+ //#endregion EVENTS
33
+ /****************************************************************************/
34
+ //#region METHODS
35
+ /**
36
+ * Opens an item by its index (Public API)
37
+ * @param {number} index Index of the item to open
38
+ */
39
+ async open(index) {
40
+ this.toggleItem(index, true);
41
+ }
42
+ /**
43
+ * Closes an item by its index (Public API)
44
+ * @param {number} index Index of the item to close
45
+ */
46
+ async close(index) {
47
+ this.toggleItem(index, false);
48
+ }
49
+ /**
50
+ * Toggles an item's state (internal)
51
+ * @param {number} index Item index
52
+ * @param {boolean} [forceOpen] Force open (true) or close (false)
53
+ */
54
+ toggleItem(index, forceOpen) {
55
+ let openIndexes = this.openIndexes !== undefined
56
+ ? [...this.openIndexes]
57
+ : [...(this.internalOpenIndexes || [])];
58
+ const isOpen = openIndexes.includes(index);
59
+ if (this.mode === 'accordion') {
60
+ openIndexes = forceOpen === false || isOpen ? [] : [index];
61
+ }
62
+ else {
63
+ if (forceOpen === false) {
64
+ openIndexes = openIndexes.filter(i => i !== index);
65
+ }
66
+ else if (!isOpen) {
67
+ openIndexes.push(index);
68
+ }
69
+ }
70
+ this.internalOpenIndexes = openIndexes;
71
+ this.openChanged.emit({ openIndexes });
72
+ if (this.openIndexes !== undefined) {
73
+ this.openIndexes =
74
+ this.mode === 'accordion'
75
+ ? [openIndexes[0]].filter(x => x !== undefined)
76
+ : [...openIndexes];
77
+ }
78
+ // Update child elements state - for both data and slot usage
79
+ this.updateChildrenState();
80
+ }
81
+ /**
82
+ * Updates the open state of child elements based on internalOpenIndexes
83
+ */
84
+ async updateChildrenState() {
85
+ // Force a re-render by updating the state
86
+ this.internalOpenIndexes = [...(this.internalOpenIndexes || [])];
87
+ }
88
+ /**
89
+ * Listens to itemToggle events from nv-accordion-item elements
90
+ * @param {CustomEvent<boolean>} event Event emitted by nv-accordion-item
91
+ */
92
+ onItemToggle(event) {
93
+ // Find the index of the item that emitted the event
94
+ const items = Array.from(this.el.querySelectorAll('nv-accordion-item'));
95
+ const targetItem = event.target;
96
+ const index = items.indexOf(targetItem);
97
+ if (index !== -1) {
98
+ // If the event comes from an item that is opening, handle accordion mode
99
+ if (event.detail === true) {
100
+ if (this.mode === 'accordion') {
101
+ // Close all other items
102
+ items.forEach((item, i) => {
103
+ if (i !== index && item.open) {
104
+ item.open = false;
105
+ }
106
+ });
107
+ this.internalOpenIndexes = [index];
108
+ }
109
+ else {
110
+ // Add index to internalOpenIndexes if not already present
111
+ if (!this.internalOpenIndexes.includes(index)) {
112
+ this.internalOpenIndexes = [...this.internalOpenIndexes, index];
113
+ }
114
+ }
115
+ }
116
+ else {
117
+ // If the item is closing, remove it from internalOpenIndexes
118
+ this.internalOpenIndexes = this.internalOpenIndexes.filter(i => i !== index);
119
+ }
120
+ // Emit openChanged event
121
+ this.openChanged.emit({ openIndexes: this.internalOpenIndexes });
122
+ if (this.openIndexes !== undefined) {
123
+ this.openIndexes =
124
+ this.mode === 'accordion'
125
+ ? [this.internalOpenIndexes[0]].filter(x => x !== undefined)
126
+ : [...this.internalOpenIndexes];
127
+ }
128
+ }
129
+ }
130
+ //#endregion METHODS
131
+ /****************************************************************************/
132
+ //#region WATCHERS
133
+ //#endregion WATCHERS
134
+ /****************************************************************************/
135
+ //#region LIFECYCLE
136
+ componentWillLoad() {
137
+ if (this.openIndexes !== undefined) {
138
+ this.internalOpenIndexes = [...this.openIndexes];
139
+ }
140
+ }
141
+ componentDidLoad() {
142
+ // If using direct child elements, initialize their state
143
+ if (!this.data || this.data.length === 0) {
144
+ this.updateChildrenState();
145
+ }
146
+ }
147
+ componentWillUpdate() {
148
+ if (this.openIndexes !== undefined) {
149
+ this.internalOpenIndexes = [...this.openIndexes];
150
+ }
151
+ }
152
+ //#endregion LIFECYCLE
153
+ /****************************************************************************/
154
+ //#region RENDER
155
+ render() {
156
+ return (index.h(index.Host, { key: 'a6cb21b274024a00e60e0d0db780f25fab6e5bc2', role: "list", class: "nv-accordion" }, this.data && this.data.length > 0 ? (this.data.map((item, i) => {
157
+ var _a;
158
+ return (index.h("nv-accordion-item", { key: (_a = item.id) !== null && _a !== void 0 ? _a : i, itemTitle: item.title, disabled: item.disabled, open: (this.internalOpenIndexes || []).includes(i) }, item.subtitle ? (index.h("div", { slot: "header" }, index.h("div", { class: "nv-accordion-item__header-content" }, index.h("span", { class: "nv-accordion-item__title" }, item.title), index.h("span", { class: "nv-accordion-item__subtitle" }, item.subtitle)))) : null, index.h("div", { slot: "content" }, item.content), item.footer && index.h("div", { slot: "footer" }, item.footer)));
159
+ })) : (index.h("slot", null))));
160
+ }
161
+ get el() { return index.getElement(this); }
162
+ };
163
+ NvAccordion.style = NvAccordionStyle0;
164
+
165
+ exports.nv_accordion = NvAccordion;
166
+
167
+ //# sourceMappingURL=nv-accordion.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"nv-accordion.entry.cjs.js","mappings":"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","names":["h","Host"],"sources":["src/components/nv-accordion/styles/nv-accordion.scss?tag=nv-accordion","src/components/nv-accordion/nv-accordion.tsx"],"sourcesContent":["@use \"./mixins\" as *;\n\nnv-accordion {\n @include accordion-root();\n\n .nv-accordion__footer {\n @include accordion-footer();\n\n &:empty {\n @include accordion-footer-empty();\n }\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Event,\n EventEmitter,\n Method,\n Listen,\n Element,\n} from '@stencil/core';\n\n/**\n * @slot default - Slot for custom content (optional, ignored if data is provided)\n */\n@Component({\n tag: 'nv-accordion',\n styleUrl: 'styles/nv-accordion.scss',\n shadow: false,\n})\nexport class NvAccordion {\n /****************************************************************************/\n //#region PROPERTIES\n /**\n * Data to display as a list of items (title, subtitle, content).\n */\n @Prop({ reflect: false })\n readonly data: {\n /** Unique identifier of the item */\n id: string;\n /** Item title */\n title: string;\n /** Optional subtitle */\n subtitle?: string;\n /** Main content */\n content: string;\n /** Optional footer */\n footer?: string;\n /** Disabled state */\n disabled?: boolean;\n }[] = [];\n\n /**\n * Expansion mode: 'accordion' (single open) or 'multi' (multiple open)\n */\n @Prop({ reflect: true })\n readonly mode: 'accordion' | 'multi' = 'accordion';\n\n /**\n * Index of open items (external control possible)\n */\n @Prop({ reflect: false, mutable: true })\n openIndexes?: number[];\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region STATE\n /**\n * Internal index of open items (not exposed)\n */\n @State()\n internalOpenIndexes: number[] = [];\n\n /**\n * Reference to host element to access children\n */\n @Element() el!: HTMLNvAccordionElement;\n //#endregion STATE\n /****************************************************************************/\n //#region EVENTS\n /**\n * Event emitted when an item's open state changes\n */\n @Event()\n openChanged: EventEmitter<{\n /** Index of open items */\n openIndexes: number[];\n }>;\n //#endregion EVENTS\n /****************************************************************************/\n //#region METHODS\n /**\n * Opens an item by its index (Public API)\n * @param {number} index Index of the item to open\n */\n @Method()\n async open(index: number) {\n this.toggleItem(index, true);\n }\n /**\n * Closes an item by its index (Public API)\n * @param {number} index Index of the item to close\n */\n @Method()\n async close(index: number) {\n this.toggleItem(index, false);\n }\n /**\n * Toggles an item's state (internal)\n * @param {number} index Item index\n * @param {boolean} [forceOpen] Force open (true) or close (false)\n */\n private toggleItem(index: number, forceOpen?: boolean) {\n let openIndexes =\n this.openIndexes !== undefined\n ? [...this.openIndexes]\n : [...(this.internalOpenIndexes || [])];\n const isOpen = openIndexes.includes(index);\n if (this.mode === 'accordion') {\n openIndexes = forceOpen === false || isOpen ? [] : [index];\n } else {\n if (forceOpen === false) {\n openIndexes = openIndexes.filter(i => i !== index);\n } else if (!isOpen) {\n openIndexes.push(index);\n }\n }\n this.internalOpenIndexes = openIndexes;\n this.openChanged.emit({ openIndexes });\n if (this.openIndexes !== undefined) {\n this.openIndexes =\n this.mode === 'accordion'\n ? [openIndexes[0]].filter(x => x !== undefined)\n : [...openIndexes];\n }\n\n // Update child elements state - for both data and slot usage\n this.updateChildrenState();\n }\n\n /**\n * Updates the open state of child elements based on internalOpenIndexes\n */\n private async updateChildrenState() {\n // Force a re-render by updating the state\n this.internalOpenIndexes = [...(this.internalOpenIndexes || [])];\n }\n\n /**\n * Listens to itemToggle events from nv-accordion-item elements\n * @param {CustomEvent<boolean>} event Event emitted by nv-accordion-item\n */\n @Listen('itemToggle')\n onItemToggle(event: CustomEvent<boolean>) {\n // Find the index of the item that emitted the event\n const items = Array.from(\n this.el.querySelectorAll('nv-accordion-item'),\n ) as HTMLNvAccordionItemElement[];\n const targetItem = event.target as HTMLNvAccordionItemElement;\n const index = items.indexOf(targetItem);\n\n if (index !== -1) {\n // If the event comes from an item that is opening, handle accordion mode\n if (event.detail === true) {\n if (this.mode === 'accordion') {\n // Close all other items\n items.forEach((item, i) => {\n if (i !== index && item.open) {\n item.open = false;\n }\n });\n this.internalOpenIndexes = [index];\n } else {\n // Add index to internalOpenIndexes if not already present\n if (!this.internalOpenIndexes.includes(index)) {\n this.internalOpenIndexes = [...this.internalOpenIndexes, index];\n }\n }\n } else {\n // If the item is closing, remove it from internalOpenIndexes\n this.internalOpenIndexes = this.internalOpenIndexes.filter(\n i => i !== index,\n );\n }\n\n // Emit openChanged event\n this.openChanged.emit({ openIndexes: this.internalOpenIndexes });\n if (this.openIndexes !== undefined) {\n this.openIndexes =\n this.mode === 'accordion'\n ? [this.internalOpenIndexes[0]].filter(x => x !== undefined)\n : [...this.internalOpenIndexes];\n }\n }\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region WATCHERS\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n componentWillLoad() {\n if (this.openIndexes !== undefined) {\n this.internalOpenIndexes = [...this.openIndexes];\n }\n }\n\n componentDidLoad() {\n // If using direct child elements, initialize their state\n if (!this.data || this.data.length === 0) {\n this.updateChildrenState();\n }\n }\n\n componentWillUpdate() {\n if (this.openIndexes !== undefined) {\n this.internalOpenIndexes = [...this.openIndexes];\n }\n }\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n render() {\n return (\n <Host role=\"list\" class=\"nv-accordion\">\n {this.data && this.data.length > 0 ? (\n this.data.map((item, i) => (\n <nv-accordion-item\n key={item.id ?? i}\n itemTitle={item.title}\n disabled={item.disabled}\n open={(this.internalOpenIndexes || []).includes(i)}\n >\n {item.subtitle ? (\n <div slot=\"header\">\n <div class=\"nv-accordion-item__header-content\">\n <span class=\"nv-accordion-item__title\">{item.title}</span>\n <span class=\"nv-accordion-item__subtitle\">\n {item.subtitle}\n </span>\n </div>\n </div>\n ) : null}\n <div slot=\"content\">{item.content}</div>\n {item.footer && <div slot=\"footer\">{item.footer}</div>}\n </nv-accordion-item>\n ))\n ) : (\n <slot></slot>\n )}\n </Host>\n );\n }\n // #endregion RENDER\n}\n"],"version":3}
@@ -5,8 +5,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-c56424e5.js');
6
6
  const clsx = require('./clsx-fc789adc.js');
7
7
  const constants = require('./constants-8fb8ccc0.js');
8
- const timeline_animation = require('./timeline.animation-dbb9c5ea.js');
9
- const fade_animation = require('./fade.animation-0d33d198.js');
8
+ const collapse_animation = require('./collapse.animation-a129dc3f.js');
9
+ const fade_animation = require('./fade.animation-644b5c4d.js');
10
+ require('./stylefire.es-717e022a.js');
11
+ const timeline_animation = require('./timeline.animation-155e8839.js');
10
12
 
11
13
  const nvAlertCss = "nv-alert{display:flex !important;align-items:flex-start;position:relative;gap:var(--alert-gap-x);border-radius:var(--alert-radius);font-family:\"TT Norms Pro\", \"Montserrat\", sans-serif}nv-alert>nv-icon{margin-left:var(--alert-icon-position-x);margin-top:var(--alert-icon-position-y)}nv-alert.hidden{display:none !important}nv-alert.feedback-information{background-color:var(--components-alert-information-background);border:1px solid var(--components-alert-information-border) !important}nv-alert.feedback-information>.close:focus,nv-alert.feedback-information>.close:focus-within{outline:none}nv-alert.feedback-information>.close:focus-visible,nv-alert.feedback-information>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-information-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-warning{background-color:var(--components-alert-warning-background);border:1px solid var(--components-alert-warning-border) !important}nv-alert.feedback-warning>.close:focus,nv-alert.feedback-warning>.close:focus-within{outline:none}nv-alert.feedback-warning>.close:focus-visible,nv-alert.feedback-warning>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-warning-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-error{background-color:var(--components-alert-error-background);border:1px solid var(--components-alert-error-border) !important}nv-alert.feedback-error>.close:focus,nv-alert.feedback-error>.close:focus-within{outline:none}nv-alert.feedback-error>.close:focus-visible,nv-alert.feedback-error>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-error-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-success{background-color:var(--components-alert-success-background);border:1px solid var(--components-alert-success-border) !important}nv-alert.feedback-success>.close:focus,nv-alert.feedback-success>.close:focus-within{outline:none}nv-alert.feedback-success>.close:focus-visible,nv-alert.feedback-success>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-success-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-neutral{background-color:var(--components-alert-neutral-background);border:1px solid var(--components-alert-neutral-border) !important}nv-alert.feedback-neutral>.close:focus,nv-alert.feedback-neutral>.close:focus-within{outline:none}nv-alert.feedback-neutral>.close:focus-visible,nv-alert.feedback-neutral>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-neutral-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert>nv-icon.icon-information{color:var(--components-alert-information-icon)}nv-alert>nv-icon.icon-warning{color:var(--components-alert-warning-icon)}nv-alert>nv-icon.icon-error{color:var(--components-alert-error-icon)}nv-alert>nv-icon.icon-success{color:var(--components-alert-success-icon)}nv-alert>nv-icon.icon-neutral{color:var(--components-alert-neutral-icon)}nv-alert>.content{display:flex;padding:var(--alert-padding);padding-left:0;flex-direction:column;gap:var(--alert-gap-y)}nv-alert>.content>.heading{color:var(--components-alert-content-title);font-size:var(--alert-heading-font-size);line-height:var(--alert-heading-line-height);font-weight:var(--alert-heading-font-weight)}nv-alert>.content>.message{color:var(--components-alert-content-description);font-size:var(--alert-message-font-size);line-height:var(--alert-message-line-height)}nv-alert>.close{border-radius:var(--alert-radius);position:absolute;display:flex;top:var(--alert-icon-position-y);right:var(--alert-icon-position-x);padding:0;border:none;background:none;cursor:pointer}";
12
14
  const NvAlertStyle0 = nvAlertCss;
@@ -117,7 +119,7 @@ const NvAlert = class {
117
119
  return;
118
120
  }
119
121
  const { fadeIn, fadeOut } = fade_animation.useFade(this.ref, { duration: 150 });
120
- const { collapse, expand } = timeline_animation.useCollapse(this.ref, { duration: 150 });
122
+ const { collapse, expand } = collapse_animation.useCollapse(this.ref, { duration: 150 });
121
123
  if (hidden) {
122
124
  await timeline_animation.timeline(fadeOut, collapse).start();
123
125
  this.toggleHiddenClass(true);
@@ -162,7 +164,7 @@ const NvAlert = class {
162
164
  //#region RENDER
163
165
  render() {
164
166
  var _a;
165
- return (index.h(index.Host, { key: '8c775b0d81d4f6f82421b667925e1ceafead5b2d', role: "alert", class: clsx.clsx('root', `feedback-${this.feedback}`) }, index.h("nv-icon", { key: 'e42f28e360d600c9863fb7f11eab2a1c501bb6ce', name: (_a = this.icon) !== null && _a !== void 0 ? _a : this.getDefaultIcon(), class: `icon-${this.feedback}`, size: "md" }), index.h("div", { key: '87f7d65ea812afda0ce6ba6ace6e443dd53263da', class: "content" }, this.heading && index.h("p", { key: '8150784a2663d47410fd6b92ca678f756f086f28', class: "heading" }, this.heading), this.message && index.h("p", { key: '27f029f2ded81f82e260dc0f2087d46ba5cd7e62', class: "message" }, this.message), index.h("slot", { key: '3256f379c6d7ea5dab9d284b9229ceffb55e7443' })), this.dismissible && (index.h("button", { key: '6b7f333b26ab17c2c523a3c9933599176a9152c0', class: "close", type: "button", onClick: this.handleDismiss }, index.h("nv-icon", { key: 'badcf4153b6add49042b91415e010f662a042e61', name: "x", size: "sm" })))));
167
+ return (index.h(index.Host, { key: 'f0e75ac2c38aced1dcf76cb1d5f03becefbee71d', role: "alert", class: clsx.clsx('root', `feedback-${this.feedback}`) }, index.h("nv-icon", { key: '19f7fcf452d62277ab436acd20c285f44fbaecd4', name: (_a = this.icon) !== null && _a !== void 0 ? _a : this.getDefaultIcon(), class: `icon-${this.feedback}`, size: "md" }), index.h("div", { key: '8e656ffd0bce63bd33d92b97df21389af265e182', class: "content" }, this.heading && index.h("p", { key: '0aa928e8ee8605d735f890bc67128563ce3ad379', class: "heading" }, this.heading), this.message && index.h("p", { key: '690d9928646d25a636b2bb04eb65eee40c402f52', class: "message" }, this.message), index.h("slot", { key: '86309f093688dbb81ff805f1c9137b200541e905' })), this.dismissible && (index.h("button", { key: '387695ff1e23a7e289cf58c51042ccc561d451ad', class: "close", type: "button", onClick: this.handleDismiss }, index.h("nv-icon", { key: '788b99b4c56fc8c936a67ac48d2db37fdcca7631', name: "x", size: "sm" })))));
166
168
  }
167
169
  get ref() { return index.getElement(this); }
168
170
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"nv-alert.entry.cjs.js","mappings":";;;;;;;;;;AAAA,MAAM,UAAU,GAAG,myHAAmyH,CAAC;AACvzH,sBAAe,UAAU;;MCyBZ,OAAO;IALpB;;;;;;;;;;;QA4CE,aAAQ,GAAwB,aAAa,CAAC;;;;;QA0BrC,gBAAW,GAAY,KAAK,CAAC;;;;;QAO7B,qBAAgB,GAAY,KAAK,CAAC;;;;QAM3C,WAAM,GAAY,KAAK,CAAC;;;;QAMf,oBAAe,GAAY,KAAK,CAAC;;;;;;;;;QAoDlC,kBAAa,GAAG;YACtB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;aACpB;YAED,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;SAC1B,CAAC;;;;;QAMM,mBAAc,GAAG;YACvB,QAAQ,IAAI,CAAC,QAAQ;gBACnB,KAAKA,wBAAc,CAAC,OAAO;oBACzB,OAAO,cAAc,CAAC;gBACxB,KAAKA,wBAAc,CAAC,WAAW;oBAC7B,OAAO,aAAa,CAAC;gBACvB,KAAKA,wBAAc,CAAC,OAAO;oBACzB,OAAO,cAAc,CAAC;gBACxB,KAAKA,wBAAc,CAAC,KAAK;oBACvB,OAAO,cAAc,CAAC;gBACxB,KAAKA,wBAAc,CAAC,OAAO;oBACzB,OAAO,MAAM,CAAC;gBAChB;oBACE,OAAO,aAAa,CAAC;aACxB;SACF,CAAC;KAyFH;IA/OC,mBAAmB;QACjB,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,QAAQ,IAAI,CAAC,KAAK;gBAChB,KAAK,SAAqC;oBACxC,IAAI,CAAC,QAAQ,GAAG,SAA2B,CAAC;oBAC5C,MAAM;gBACR,KAAK,WAAuC;oBAC1C,IAAI,CAAC,QAAQ,GAAG,aAA+B,CAAC;oBAChD,MAAM;gBACR,KAAK,SAAqC;oBACxC,IAAI,CAAC,QAAQ,GAAG,aAA+B,CAAC;oBAChD,MAAM;gBACR;oBACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAuB,CAAC;aAChD;SACF;KACF;;;;;;;;;IA2FD,MAAM,kBAAkB,CAAC,MAAe;QACtC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhC,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACzC;;;;;IA4CO,MAAM,gBAAgB,CAAC,MAAe;QAC5C,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC/B,OAAO;SACR;QAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAGC,sBAAO,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QACjE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAGC,8BAAW,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QAEtE,IAAI,MAAM,EAAE;YACV,MAAMC,2BAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;YAC1C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAMA,2BAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;SACxC;KACF;;;;;IAMO,iBAAiB,CAAC,MAAe;QACvC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;KAC7C;;;;IAMD,iBAAiB;QACf,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,QAAQ,IAAI,CAAC,KAAK;gBAChB,KAAK,SAAqC;oBACxC,IAAI,CAAC,QAAQ,GAAG,SAA2B,CAAC;oBAC5C,MAAM;gBACR,KAAK,WAAuC;oBAC1C,IAAI,CAAC,QAAQ,GAAG,aAA+B,CAAC;oBAChD,MAAM;gBACR,KAAK,SAAqC;oBACxC,IAAI,CAAC,QAAQ,GAAG,aAA+B,CAAC;oBAChD,MAAM;gBACR;oBACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAuB,CAAC;aAChD;SACF;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAClC;KACF;;;;IAMD,MAAM;;QACJ,QACEC,QAACC,UAAI,qDAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAEC,SAAI,CAAC,MAAM,EAAE,YAAY,IAAI,CAAC,QAAQ,EAAE,CAAC,IACjEF,sEACE,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,mCAAI,IAAI,CAAC,cAAc,EAAE,EACxC,KAAK,EAAE,QAAQ,IAAI,CAAC,QAAQ,EAAE,EAC9B,IAAI,EAAC,IAAI,GACA,EAEXA,kEAAK,KAAK,EAAC,SAAS,IACjB,IAAI,CAAC,OAAO,IAAIA,gEAAG,KAAK,EAAC,SAAS,IAAE,IAAI,CAAC,OAAO,CAAK,EAErD,IAAI,CAAC,OAAO,IAAIA,gEAAG,KAAK,EAAC,SAAS,IAAE,IAAI,CAAC,OAAO,CAAK,EAEtDA,oEAAa,CACT,EAEL,IAAI,CAAC,WAAW,KACfA,qEAAQ,KAAK,EAAC,OAAO,EAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,IAAI,CAAC,aAAa,IAC7DA,sEAAS,IAAI,EAAC,GAAG,EAAC,IAAI,EAAC,IAAI,GAAG,CACvB,CACV,CACI,EACP;KACH;;;;;;;;;;","names":["FeedbackColors","useFade","useCollapse","timeline","h","Host","clsx"],"sources":["src/components/nv-alert/nv-alert.scss?tag=nv-alert","src/components/nv-alert/nv-alert.tsx"],"sourcesContent":["@use \"sass:map\";\n@import \"../../styles/focus-ring\";\n\n/* Variants */\n$alert-feedback: (\"information\", \"warning\", \"error\", \"success\", \"neutral\");\n\n/* Define maps for feedback-related variables */\n$components-alert-background: (\n \"information\": var(--components-alert-information-background),\n \"warning\": var(--components-alert-warning-background),\n \"error\": var(--components-alert-error-background),\n \"success\": var(--components-alert-success-background),\n \"neutral\": var(--components-alert-neutral-background)\n);\n\n$components-alert-border: (\n \"information\": var(--components-alert-information-border),\n \"warning\": var(--components-alert-warning-border),\n \"error\": var(--components-alert-error-border),\n \"success\": var(--components-alert-success-border),\n \"neutral\": var(--components-alert-neutral-border)\n);\n\n$components-alert-icon: (\n \"information\": var(--components-alert-information-icon),\n \"warning\": var(--components-alert-warning-icon),\n \"error\": var(--components-alert-error-icon),\n \"success\": var(--components-alert-success-icon),\n \"neutral\": var(--components-alert-neutral-icon)\n);\n\n@mixin root-styles() {\n display: flex !important; // override the display: none in [hidden] css\n align-items: flex-start;\n position: relative;\n gap: var(--alert-gap-x);\n border-radius: var(--alert-radius);\n font-family: \"TT Norms Pro\", \"Montserrat\", sans-serif;\n}\n\n@mixin content-styles() {\n display: flex;\n padding: var(--alert-padding);\n padding-left: 0;\n flex-direction: column;\n gap: var(--alert-gap-y);\n}\n\n@mixin feedback-color($feedback-type) {\n background-color: map.get($components-alert-background, $feedback-type);\n border: 1px solid map.get($components-alert-border, $feedback-type) !important;\n}\n\n@mixin icon-color($feedback-type) {\n color: map.get($components-alert-icon, $feedback-type);\n}\n\n@mixin icon-position {\n margin-left: var(--alert-icon-position-x);\n margin-top: var(--alert-icon-position-y);\n}\n\nnv-alert {\n @include root-styles();\n\n & > nv-icon {\n @include icon-position();\n }\n\n &.hidden {\n display: none!important;\n }\n\n @each $feedback in $alert-feedback {\n &.feedback-#{$feedback} {\n @include feedback-color($feedback);\n & > .close {\n @include focus-ring(map.get($components-alert-border, $feedback));\n }\n }\n }\n\n @each $feedback in $alert-feedback {\n & > nv-icon.icon-#{$feedback} {\n @include icon-color($feedback);\n }\n }\n\n & > .content {\n @include content-styles();\n\n & > .heading {\n color: var(--components-alert-content-title);\n font-size: var(--alert-heading-font-size);\n line-height: var(--alert-heading-line-height);\n font-weight: var(--alert-heading-font-weight);\n }\n & > .message {\n color: var(--components-alert-content-description);\n font-size: var(--alert-message-font-size);\n line-height: var(--alert-message-line-height);\n }\n }\n & > .close {\n border-radius: var(--alert-radius);\n position: absolute;\n display: flex;\n top: var(--alert-icon-position-y);\n right: var(--alert-icon-position-x);\n padding: 0;\n border: none;\n background: none;\n cursor: pointer;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Watch,\n Element,\n} from '@stencil/core';\nimport clsx from 'clsx';\n\nimport {\n DeprecatedSemanticColors,\n FeedbackColors,\n} from '../../utils/constants';\nimport { useCollapse, useFade, timeline } from '../../animations';\n\n/**\n * @slot default - Use this slot to insert HTML into the alert content.\n */\n@Component({\n tag: 'nv-alert',\n styleUrl: 'nv-alert.scss',\n shadow: false,\n})\nexport class NvAlert {\n @Element() ref: HTMLNvAlertElement;\n\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Defines color of the alert.\n * @deprecated use feedback instead.\n */\n @Prop({ reflect: true })\n readonly color: `${DeprecatedSemanticColors}`;\n\n componentWillRender() {\n if (this.color) {\n switch (this.color) {\n case 'primary' as DeprecatedSemanticColors:\n this.feedback = 'warning' as FeedbackColors;\n break;\n case 'secondary' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n case 'neutral' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n default:\n this.feedback = this.color as FeedbackColors;\n }\n }\n }\n\n //#endregion DEPRECATED\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Specifies the alert type which determines the color and default icon.\n */\n @Prop({ reflect: true, mutable: true })\n feedback: `${FeedbackColors}` = 'information';\n\n /**\n * Main content of the alert. For more complex content, use the default slot\n * instead.\n */\n @Prop({ reflect: true })\n readonly message: string;\n\n /**\n * Short and concise text for the alert title.\n */\n @Prop({ reflect: true })\n readonly heading: string;\n\n /**\n * Icon associated with the alert, defaults vary based on the feedback type.\n */\n @Prop({ reflect: true })\n readonly icon: string;\n\n /**\n * Allows the alert to be dismissed via a close button (x). The alert is not\n * dismissible unless explicitly enabled.\n */\n @Prop({ reflect: true })\n readonly dismissible: boolean = false;\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 * Controls the visibility of the alert. 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\n /**\n * When true, the alert will not animate when it is hidden or shown.\n */\n @Prop({ reflect: true })\n readonly hasNoAnimations: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emits when the 'hidden' prop changes, reflecting a change in visibility.\n * Passes hidden value to the detail.\n * @bind hidden\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 /**\n * Emitted when the close button is clicked.\n */\n @Event()\n closeClicked: EventEmitter<void>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n /**\n * Used for 2 way binding with the hidden property.\n * Triggers open and close animations.\n * @param {boolean} hidden - The visibility state of the alert.\n */\n @Watch('hidden')\n async handleHiddenChange(hidden: boolean) {\n this.hiddenChanged.emit(hidden);\n\n await this.updateVisibility(hidden);\n this.hiddenChangedComplete.emit(hidden);\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles the dismissal of the alert, considering the preventAutoClose prop.\n * Passes the original event from the close button to the close event detail.\n * @param {MouseEvent} originalEvent - The original event from the close button.\n */\n private handleDismiss = () => {\n if (!this.preventAutoClose) {\n this.hidden = true;\n }\n\n this.closeClicked.emit();\n };\n\n /**\n * By default an icon is linked to the feedback type\n * @returns {string} - The default icon name.\n */\n private getDefaultIcon = () => {\n switch (this.feedback) {\n case FeedbackColors.Warning:\n return 'alert-circle';\n case FeedbackColors.Information:\n return 'info-circle';\n case FeedbackColors.Success:\n return 'circle-check';\n case FeedbackColors.Error:\n return 'alert-circle';\n case FeedbackColors.Neutral:\n return 'help';\n default:\n return 'info-circle';\n }\n };\n\n /**\n * Updates the visibility state of the alert with optional animations\n * @param {boolean} hidden - Whether the alert should be hidden\n */\n private async updateVisibility(hidden: boolean) {\n if (this.hasNoAnimations) {\n this.toggleHiddenClass(hidden);\n return;\n }\n\n const { fadeIn, fadeOut } = useFade(this.ref, { duration: 150 });\n const { collapse, expand } = useCollapse(this.ref, { duration: 150 });\n\n if (hidden) {\n await timeline(fadeOut, collapse).start();\n this.toggleHiddenClass(true);\n } else {\n this.toggleHiddenClass(false);\n await timeline(expand, fadeIn).start();\n }\n }\n\n /**\n * Toggles the 'hidden' class on the element\n * @param {boolean} hidden - Whether to add or remove the hidden class\n */\n private toggleHiddenClass(hidden: boolean) {\n this.ref.classList.toggle('hidden', hidden);\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n if (this.color) {\n switch (this.color) {\n case 'primary' as DeprecatedSemanticColors:\n this.feedback = 'warning' as FeedbackColors;\n break;\n case 'secondary' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n case 'neutral' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n default:\n this.feedback = this.color as FeedbackColors;\n }\n }\n\n if (this.hidden) {\n this.ref.classList.add('hidden');\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host role=\"alert\" class={clsx('root', `feedback-${this.feedback}`)}>\n <nv-icon\n name={this.icon ?? this.getDefaultIcon()}\n class={`icon-${this.feedback}`}\n size=\"md\"\n ></nv-icon>\n\n <div class=\"content\">\n {this.heading && <p class=\"heading\">{this.heading}</p>}\n\n {this.message && <p class=\"message\">{this.message}</p>}\n\n <slot></slot>\n </div>\n\n {this.dismissible && (\n <button class=\"close\" type=\"button\" onClick={this.handleDismiss}>\n <nv-icon name=\"x\" size=\"sm\" />\n </button>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
1
+ {"file":"nv-alert.entry.cjs.js","mappings":"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","names":["FeedbackColors","useFade","useCollapse","timeline","h","Host","clsx"],"sources":["src/components/nv-alert/nv-alert.scss?tag=nv-alert","src/components/nv-alert/nv-alert.tsx"],"sourcesContent":["@use \"sass:map\";\n@import \"../../styles/focus-ring\";\n\n/* Variants */\n$alert-feedback: (\"information\", \"warning\", \"error\", \"success\", \"neutral\");\n\n/* Define maps for feedback-related variables */\n$components-alert-background: (\n \"information\": var(--components-alert-information-background),\n \"warning\": var(--components-alert-warning-background),\n \"error\": var(--components-alert-error-background),\n \"success\": var(--components-alert-success-background),\n \"neutral\": var(--components-alert-neutral-background)\n);\n\n$components-alert-border: (\n \"information\": var(--components-alert-information-border),\n \"warning\": var(--components-alert-warning-border),\n \"error\": var(--components-alert-error-border),\n \"success\": var(--components-alert-success-border),\n \"neutral\": var(--components-alert-neutral-border)\n);\n\n$components-alert-icon: (\n \"information\": var(--components-alert-information-icon),\n \"warning\": var(--components-alert-warning-icon),\n \"error\": var(--components-alert-error-icon),\n \"success\": var(--components-alert-success-icon),\n \"neutral\": var(--components-alert-neutral-icon)\n);\n\n@mixin root-styles() {\n display: flex !important; // override the display: none in [hidden] css\n align-items: flex-start;\n position: relative;\n gap: var(--alert-gap-x);\n border-radius: var(--alert-radius);\n font-family: \"TT Norms Pro\", \"Montserrat\", sans-serif;\n}\n\n@mixin content-styles() {\n display: flex;\n padding: var(--alert-padding);\n padding-left: 0;\n flex-direction: column;\n gap: var(--alert-gap-y);\n}\n\n@mixin feedback-color($feedback-type) {\n background-color: map.get($components-alert-background, $feedback-type);\n border: 1px solid map.get($components-alert-border, $feedback-type) !important;\n}\n\n@mixin icon-color($feedback-type) {\n color: map.get($components-alert-icon, $feedback-type);\n}\n\n@mixin icon-position {\n margin-left: var(--alert-icon-position-x);\n margin-top: var(--alert-icon-position-y);\n}\n\nnv-alert {\n @include root-styles();\n\n & > nv-icon {\n @include icon-position();\n }\n\n &.hidden {\n display: none!important;\n }\n\n @each $feedback in $alert-feedback {\n &.feedback-#{$feedback} {\n @include feedback-color($feedback);\n & > .close {\n @include focus-ring(map.get($components-alert-border, $feedback));\n }\n }\n }\n\n @each $feedback in $alert-feedback {\n & > nv-icon.icon-#{$feedback} {\n @include icon-color($feedback);\n }\n }\n\n & > .content {\n @include content-styles();\n\n & > .heading {\n color: var(--components-alert-content-title);\n font-size: var(--alert-heading-font-size);\n line-height: var(--alert-heading-line-height);\n font-weight: var(--alert-heading-font-weight);\n }\n & > .message {\n color: var(--components-alert-content-description);\n font-size: var(--alert-message-font-size);\n line-height: var(--alert-message-line-height);\n }\n }\n & > .close {\n border-radius: var(--alert-radius);\n position: absolute;\n display: flex;\n top: var(--alert-icon-position-y);\n right: var(--alert-icon-position-x);\n padding: 0;\n border: none;\n background: none;\n cursor: pointer;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Watch,\n Element,\n} from '@stencil/core';\nimport clsx from 'clsx';\n\nimport {\n DeprecatedSemanticColors,\n FeedbackColors,\n} from '../../utils/constants';\nimport { useCollapse, useFade, timeline } from '../../animations';\n\n/**\n * @slot default - Use this slot to insert HTML into the alert content.\n */\n@Component({\n tag: 'nv-alert',\n styleUrl: 'nv-alert.scss',\n shadow: false,\n})\nexport class NvAlert {\n @Element() ref: HTMLNvAlertElement;\n\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Defines color of the alert.\n * @deprecated use feedback instead.\n */\n @Prop({ reflect: true })\n readonly color: `${DeprecatedSemanticColors}`;\n\n componentWillRender() {\n if (this.color) {\n switch (this.color) {\n case 'primary' as DeprecatedSemanticColors:\n this.feedback = 'warning' as FeedbackColors;\n break;\n case 'secondary' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n case 'neutral' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n default:\n this.feedback = this.color as FeedbackColors;\n }\n }\n }\n\n //#endregion DEPRECATED\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Specifies the alert type which determines the color and default icon.\n */\n @Prop({ reflect: true, mutable: true })\n feedback: `${FeedbackColors}` = 'information';\n\n /**\n * Main content of the alert. For more complex content, use the default slot\n * instead.\n */\n @Prop({ reflect: true })\n readonly message: string;\n\n /**\n * Short and concise text for the alert title.\n */\n @Prop({ reflect: true })\n readonly heading: string;\n\n /**\n * Icon associated with the alert, defaults vary based on the feedback type.\n */\n @Prop({ reflect: true })\n readonly icon: string;\n\n /**\n * Allows the alert to be dismissed via a close button (x). The alert is not\n * dismissible unless explicitly enabled.\n */\n @Prop({ reflect: true })\n readonly dismissible: boolean = false;\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 * Controls the visibility of the alert. 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\n /**\n * When true, the alert will not animate when it is hidden or shown.\n */\n @Prop({ reflect: true })\n readonly hasNoAnimations: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emits when the 'hidden' prop changes, reflecting a change in visibility.\n * Passes hidden value to the detail.\n * @bind hidden\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 /**\n * Emitted when the close button is clicked.\n */\n @Event()\n closeClicked: EventEmitter<void>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n /**\n * Used for 2 way binding with the hidden property.\n * Triggers open and close animations.\n * @param {boolean} hidden - The visibility state of the alert.\n */\n @Watch('hidden')\n async handleHiddenChange(hidden: boolean) {\n this.hiddenChanged.emit(hidden);\n\n await this.updateVisibility(hidden);\n this.hiddenChangedComplete.emit(hidden);\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles the dismissal of the alert, considering the preventAutoClose prop.\n * Passes the original event from the close button to the close event detail.\n * @param {MouseEvent} originalEvent - The original event from the close button.\n */\n private handleDismiss = () => {\n if (!this.preventAutoClose) {\n this.hidden = true;\n }\n\n this.closeClicked.emit();\n };\n\n /**\n * By default an icon is linked to the feedback type\n * @returns {string} - The default icon name.\n */\n private getDefaultIcon = () => {\n switch (this.feedback) {\n case FeedbackColors.Warning:\n return 'alert-circle';\n case FeedbackColors.Information:\n return 'info-circle';\n case FeedbackColors.Success:\n return 'circle-check';\n case FeedbackColors.Error:\n return 'alert-circle';\n case FeedbackColors.Neutral:\n return 'help';\n default:\n return 'info-circle';\n }\n };\n\n /**\n * Updates the visibility state of the alert with optional animations\n * @param {boolean} hidden - Whether the alert should be hidden\n */\n private async updateVisibility(hidden: boolean) {\n if (this.hasNoAnimations) {\n this.toggleHiddenClass(hidden);\n return;\n }\n\n const { fadeIn, fadeOut } = useFade(this.ref, { duration: 150 });\n const { collapse, expand } = useCollapse(this.ref, { duration: 150 });\n\n if (hidden) {\n await timeline(fadeOut, collapse).start();\n this.toggleHiddenClass(true);\n } else {\n this.toggleHiddenClass(false);\n await timeline(expand, fadeIn).start();\n }\n }\n\n /**\n * Toggles the 'hidden' class on the element\n * @param {boolean} hidden - Whether to add or remove the hidden class\n */\n private toggleHiddenClass(hidden: boolean) {\n this.ref.classList.toggle('hidden', hidden);\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n if (this.color) {\n switch (this.color) {\n case 'primary' as DeprecatedSemanticColors:\n this.feedback = 'warning' as FeedbackColors;\n break;\n case 'secondary' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n case 'neutral' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n default:\n this.feedback = this.color as FeedbackColors;\n }\n }\n\n if (this.hidden) {\n this.ref.classList.add('hidden');\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host role=\"alert\" class={clsx('root', `feedback-${this.feedback}`)}>\n <nv-icon\n name={this.icon ?? this.getDefaultIcon()}\n class={`icon-${this.feedback}`}\n size=\"md\"\n ></nv-icon>\n\n <div class=\"content\">\n {this.heading && <p class=\"heading\">{this.heading}</p>}\n\n {this.message && <p class=\"message\">{this.message}</p>}\n\n <slot></slot>\n </div>\n\n {this.dismissible && (\n <button class=\"close\" type=\"button\" onClick={this.handleDismiss}>\n <nv-icon name=\"x\" size=\"sm\" />\n </button>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
@@ -60,7 +60,7 @@ const NvAvatar = class {
60
60
  /****************************************************************************/
61
61
  //#region RENDER
62
62
  render() {
63
- return (index.h(index.Host, { key: 'aa00ea05df513c899c6ed43fd0307178e98b6145', class: clsx.clsx(`avatar-${this.size}`, `avatar-color-${this.color}`), "aria-label": this.alt }, this.src ? (index.h("img", { src: this.src, alt: this.alt })) : this.initials ? (this.trimInitials(this.initials)) : (index.h("slot", { name: "icon" }, index.h("nv-icon", { name: "user" })))));
63
+ return (index.h(index.Host, { key: '127d470eb9121f611f9e18f029ab9ef15a4a49df', class: clsx.clsx(`avatar-${this.size}`, `avatar-color-${this.color}`), "aria-label": this.alt }, this.src ? (index.h("img", { src: this.src, alt: this.alt })) : this.initials ? (this.trimInitials(this.initials)) : (index.h("slot", { name: "icon" }, index.h("nv-icon", { name: "user" })))));
64
64
  }
65
65
  };
66
66
  NvAvatar.style = NvAvatarStyle0;
@@ -4,8 +4,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-c56424e5.js');
6
6
  const clsx = require('./clsx-fc789adc.js');
7
- const timeline_animation = require('./timeline.animation-dbb9c5ea.js');
8
- const fade_animation = require('./fade.animation-0d33d198.js');
7
+ const collapse_animation = require('./collapse.animation-a129dc3f.js');
8
+ const fade_animation = require('./fade.animation-644b5c4d.js');
9
+ require('./stylefire.es-717e022a.js');
10
+ const timeline_animation = require('./timeline.animation-155e8839.js');
9
11
 
10
12
  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)}";
11
13
  const NvBadgeStyle0 = nvBadgeCss;
@@ -99,7 +101,7 @@ const NvBadge = class {
99
101
  if (this._isHidden === true)
100
102
  this._isHidden = hidden;
101
103
  const { fadeIn, fadeOut } = fade_animation.useFade(this.ref, { duration: 150 });
102
- const { collapse, expand } = timeline_animation.useCollapse(this.ref, { duration: 150 });
104
+ const { collapse, expand } = collapse_animation.useCollapse(this.ref, { duration: 150 });
103
105
  if (hidden === true)
104
106
  await timeline_animation.timeline(fadeOut, collapse).start();
105
107
  if (hidden === false)
@@ -123,7 +125,7 @@ const NvBadge = class {
123
125
  }
124
126
  if (this.hidden) {
125
127
  this._isHidden = true;
126
- const { setCollapsed } = timeline_animation.useCollapse(this.ref);
128
+ const { setCollapsed } = collapse_animation.useCollapse(this.ref);
127
129
  const { setFadeOut } = fade_animation.useFade(this.ref);
128
130
  setCollapsed();
129
131
  setFadeOut();
@@ -133,12 +135,12 @@ const NvBadge = class {
133
135
  /****************************************************************************/
134
136
  //#region RENDER
135
137
  render() {
136
- return (index.h(index.Host, { key: 'cde39aa20bdbc6529d317a1f9f0c04f7bf79112e', class: clsx.clsx(`badge-${this.color}`, {
138
+ return (index.h(index.Host, { key: '435c5bb1f565c8bd95cca5c6828157c80f60aa39', class: clsx.clsx(`badge-${this.color}`, {
137
139
  'has-close': this.dismissible,
138
140
  'with-gap': this.dismissible || this.label,
139
141
  'visually-hidden': this._isHidden,
140
142
  'is-icon-only': this.isIconOnly,
141
- }) }, index.h("slot", { key: 'cd0ebe919619431f096fe87e6e9412cbed88e467', name: "leading-icon" }, this.leadIcon && index.h("nv-icon", { key: 'b010613a9ffe4b9ae027e128ba519c43d4211d7d', name: this.leadIcon, size: "sm" })), index.h("span", { key: '5035aa8d35272f716442731b9493483835e083c6', class: clsx.clsx({ 'visually-hidden': this.isIconOnly }) }, this.label, index.h("slot", { key: '81a475c0081911d8b4606450ecdf085a4f7e2853' })), this.dismissible && (index.h("button", { key: '402fe040a11cae0974ffa911b81f781230fd0516', onClick: this.handleClose, class: "close", type: "button" }, index.h("nv-icon", { key: '6f32fa2ae87170963c22bd35cebcf18500426570', name: "x", size: "sm" })))));
143
+ }) }, index.h("slot", { key: '271dc833471e026af5088f48227639682e661e97', name: "leading-icon" }, this.leadIcon && index.h("nv-icon", { key: 'e578eabf4c5a09e61e28c3839b943804acdf88e8', name: this.leadIcon, size: "sm" })), index.h("span", { key: '24d16a21b2b4499be712f9b747c9ab63c5e6ca0c', class: clsx.clsx({ 'visually-hidden': this.isIconOnly }) }, this.label, index.h("slot", { key: '3e3827620e6ade8be256ce7dd0b8bb949f36f2d5' })), this.dismissible && (index.h("button", { key: '90ed9ec1b71815554b963b0eafeb5536578700cf', onClick: this.handleClose, class: "close", type: "button" }, index.h("nv-icon", { key: 'df426e5d88c2bf02e7aa83c179c05db4795f03db', name: "x", size: "sm" })))));
142
144
  }
143
145
  get ref() { return index.getElement(this); }
144
146
  static get watchers() { return {
@@ -195,7 +197,7 @@ const NvFielddropdownitemcheck = class {
195
197
  };
196
198
  }
197
199
  render() {
198
- return (index.h(index.Host, { key: '7230c0b30bfd5be59114e025748708663f2f16ec', onClick: this.handleClick }, index.h("nv-fieldcheckbox", { key: 'f71e4add967442b397b6c36dff1653a2bd0ad91d', checked: this.checked, name: this.label || this.value, label: this.label || this.value, "label-placement": "after", description: this.description, disabled: this.disabled, tabindex: "-1", role: "option", onCheckedChanged: this.onFieldcheckboxChanged })));
200
+ return (index.h(index.Host, { key: '82abe79dd061f60e380f033027f799121769f89e', onClick: this.handleClick }, index.h("nv-fieldcheckbox", { key: '505181c56faacb09e55c428d91287d96e1c3b72a', checked: this.checked, name: this.label || this.value, label: this.label || this.value, "label-placement": "after", description: this.description, disabled: this.disabled, tabindex: "-1", role: "option", onCheckedChanged: this.onFieldcheckboxChanged }, index.h("slot", { key: '95a53b7d4ec735fd3256505b57e2a497b475f511' }), index.h("slot", { key: '137d5e2b3046417bbc90c0bd2dd10b846d1dfd53', name: "main" }), index.h("slot", { key: '47d4a73e401186b7bc7a18aaad82018f0ccc1e2f', name: "label" }), index.h("slot", { key: 'ff5c752d386c282635a97ad2bcb8858571aff7e9', name: "description" }))));
199
201
  }
200
202
  get el() { return index.getElement(this); }
201
203
  };