@nova-design-system/nova-webcomponents 3.14.0 → 3.16.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 (631) hide show
  1. package/dist/cjs/{collapse.animation-47397763.js → collapse.animation-23b7d61b.js} +5 -2
  2. package/dist/cjs/collapse.animation-23b7d61b.js.map +1 -0
  3. package/dist/cjs/{constants-52f6f8e9.js → constants-f5633903.js} +10 -1
  4. package/dist/cjs/constants-f5633903.js.map +1 -0
  5. package/dist/cjs/{fade.animation-cf6eba0d.js → fade.animation-9294e9ee.js} +3 -3
  6. package/dist/cjs/fade.animation-9294e9ee.js.map +1 -0
  7. package/dist/cjs/{grow.animation-9258ba63.js → grow.animation-f1cef0ad.js} +2 -2
  8. package/dist/cjs/{grow.animation-9258ba63.js.map → grow.animation-f1cef0ad.js.map} +1 -1
  9. package/dist/cjs/{index-c56424e5.js → index-93d3b2f8.js} +9 -6
  10. package/dist/cjs/index-93d3b2f8.js.map +1 -0
  11. package/dist/cjs/index.cjs.js +27 -6
  12. package/dist/cjs/index.cjs.js.map +1 -1
  13. package/dist/cjs/loader.cjs.js +2 -2
  14. package/dist/cjs/native.cjs.js +2 -2
  15. package/dist/cjs/nv-accordion-item.cjs.entry.js +3 -3
  16. package/dist/cjs/nv-accordion-item.cjs.entry.js.map +1 -1
  17. package/dist/cjs/nv-accordion.cjs.entry.js +6 -6
  18. package/dist/cjs/nv-accordion.cjs.entry.js.map +1 -1
  19. package/dist/cjs/nv-alert.cjs.entry.js +5 -5
  20. package/dist/cjs/nv-alert.cjs.entry.js.map +1 -1
  21. package/dist/cjs/nv-avatar.cjs.entry.js +3 -3
  22. package/dist/cjs/nv-avatar.cjs.entry.js.map +1 -1
  23. package/dist/cjs/nv-badge_2.cjs.entry.js +10 -10
  24. package/dist/cjs/nv-badge_2.cjs.entry.js.map +1 -1
  25. package/dist/cjs/nv-breadcrumb.cjs.entry.js +2 -2
  26. package/dist/cjs/nv-breadcrumb.cjs.entry.js.map +1 -1
  27. package/dist/cjs/nv-breadcrumbs.cjs.entry.js +1 -1
  28. package/dist/cjs/nv-button.cjs.entry.js +3 -3
  29. package/dist/cjs/nv-button.cjs.entry.js.map +1 -1
  30. package/dist/cjs/nv-buttongroup.cjs.entry.js +1 -1
  31. package/dist/cjs/nv-calendar.cjs.entry.js +2 -2
  32. package/dist/cjs/nv-col.cjs.entry.js +1 -1
  33. package/dist/cjs/nv-datagrid.cjs.entry.js +178 -11
  34. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
  35. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +1 -1
  36. package/dist/cjs/nv-dialog.cjs.entry.js +33 -30
  37. package/dist/cjs/nv-dialog.cjs.entry.js.map +1 -1
  38. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +3 -3
  39. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js.map +1 -1
  40. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +2 -2
  41. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js.map +1 -1
  42. package/dist/cjs/nv-fielddate.cjs.entry.js +51 -26
  43. package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
  44. package/dist/cjs/nv-fielddaterange.cjs.entry.js +68 -42
  45. package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
  46. package/dist/cjs/nv-fielddropdown.cjs.entry.js +33 -7
  47. package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
  48. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
  49. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +187 -156
  50. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
  51. package/dist/cjs/nv-fieldnumber.cjs.entry.js +2 -2
  52. package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
  53. package/dist/cjs/nv-fieldpassword.cjs.entry.js +2 -2
  54. package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
  55. package/dist/cjs/nv-fieldradio.cjs.entry.js +2 -2
  56. package/dist/cjs/nv-fieldradio.cjs.entry.js.map +1 -1
  57. package/dist/cjs/nv-fieldselect.cjs.entry.js +2 -2
  58. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
  59. package/dist/cjs/nv-fieldslider.cjs.entry.js +2 -2
  60. package/dist/cjs/nv-fieldslider.cjs.entry.js.map +1 -1
  61. package/dist/cjs/nv-fieldtext.cjs.entry.js +2 -2
  62. package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -1
  63. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +2 -2
  64. package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
  65. package/dist/cjs/nv-fieldtime.cjs.entry.js +26 -13
  66. package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -1
  67. package/dist/cjs/nv-icon.cjs.entry.js +3 -3
  68. package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
  69. package/dist/cjs/nv-iconbutton_2.cjs.entry.js +2 -2
  70. package/dist/cjs/nv-iconbutton_2.cjs.entry.js.map +1 -1
  71. package/dist/cjs/nv-menu.cjs.entry.js +24 -9
  72. package/dist/cjs/nv-menu.cjs.entry.js.map +1 -1
  73. package/dist/cjs/nv-menuitem.cjs.entry.js +1 -1
  74. package/dist/cjs/nv-notification.cjs.entry.js +71 -10
  75. package/dist/cjs/nv-notification.cjs.entry.js.map +1 -1
  76. package/dist/cjs/nv-notificationcontainer.cjs.entry.js +43 -0
  77. package/dist/cjs/nv-notificationcontainer.cjs.entry.js.map +1 -0
  78. package/dist/cjs/nv-popover.cjs.entry.js +69 -63
  79. package/dist/cjs/nv-popover.cjs.entry.js.map +1 -1
  80. package/dist/cjs/nv-row.cjs.entry.js +2 -2
  81. package/dist/cjs/nv-stack.cjs.entry.js +2 -2
  82. package/dist/cjs/nv-table.cjs.entry.js +216 -310
  83. package/dist/cjs/nv-table.cjs.entry.js.map +1 -1
  84. package/dist/cjs/nv-toggle.cjs.entry.js +4 -4
  85. package/dist/cjs/nv-toggle.cjs.entry.js.map +1 -1
  86. package/dist/cjs/nv-togglebutton.cjs.entry.js +2 -2
  87. package/dist/cjs/nv-togglebuttongroup.cjs.entry.js +2 -2
  88. package/dist/cjs/nv-togglebuttongroup.cjs.entry.js.map +1 -1
  89. package/dist/cjs/nv-tooltip.cjs.entry.js +2 -2
  90. package/dist/cjs/slide.animation-8bc27ed6.js +92 -0
  91. package/dist/cjs/slide.animation-8bc27ed6.js.map +1 -0
  92. package/dist/collection/animations/collapse.animation.js +4 -1
  93. package/dist/collection/animations/collapse.animation.js.map +1 -1
  94. package/dist/collection/animations/fade.animation.js +2 -2
  95. package/dist/collection/animations/fade.animation.js.map +1 -1
  96. package/dist/collection/animations/slide.animation.js +51 -29
  97. package/dist/collection/animations/slide.animation.js.map +1 -1
  98. package/dist/collection/collection-manifest.json +1 -1
  99. package/dist/collection/components/nv-accordion/nv-accordion.js +12 -9
  100. package/dist/collection/components/nv-accordion/nv-accordion.js.map +1 -1
  101. package/dist/collection/components/nv-accordion-item/nv-accordion-item.js.map +1 -1
  102. package/dist/collection/components/nv-accordion-item/styles/nv-accordion-item.css +1 -1
  103. package/dist/collection/components/nv-alert/nv-alert.css +1 -1
  104. package/dist/collection/components/nv-avatar/nv-avatar.css +1 -1
  105. package/dist/collection/components/nv-badge/nv-badge.js +7 -7
  106. package/dist/collection/components/nv-badge/nv-badge.js.map +1 -1
  107. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.css +1 -1
  108. package/dist/collection/components/nv-button/styles/nv-button.css +1 -1
  109. package/dist/collection/components/nv-datagrid/nv-datagrid.css +2 -2
  110. package/dist/collection/components/nv-dialog/nv-dialog.css +2 -2
  111. package/dist/collection/components/nv-dialog/nv-dialog.docs.js +13 -0
  112. package/dist/collection/components/nv-dialog/nv-dialog.docs.js.map +1 -1
  113. package/dist/collection/components/nv-dialog/nv-dialog.js +30 -27
  114. package/dist/collection/components/nv-dialog/nv-dialog.js.map +1 -1
  115. package/dist/collection/components/nv-dialogheader/nv-dialogheader.css +4 -4
  116. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.css +4 -3
  117. package/dist/collection/components/nv-fielddate/nv-fielddate.js +49 -24
  118. package/dist/collection/components/nv-fielddate/nv-fielddate.js.map +1 -1
  119. package/dist/collection/components/nv-fielddate/styles/nv-fielddate.css +8 -8
  120. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +66 -43
  121. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +1 -1
  122. package/dist/collection/components/nv-fielddaterange/styles/nv-fielddaterange.css +8 -8
  123. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +26 -4
  124. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +1 -1
  125. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +32 -4
  126. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
  127. package/dist/collection/components/nv-fielddropdown/styles/nv-fielddropdown.css +9 -9
  128. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +186 -153
  129. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
  130. package/dist/collection/components/nv-fieldmultiselect/styles/nv-fieldmultiselect.css +9 -9
  131. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.css +8 -8
  132. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.css +8 -8
  133. package/dist/collection/components/nv-fieldradio/nv-fieldradio.css +3 -3
  134. package/dist/collection/components/nv-fieldselect/nv-fieldselect.css +12 -12
  135. package/dist/collection/components/nv-fieldslider/styles/nv-fieldslider.css +7 -7
  136. package/dist/collection/components/nv-fieldtext/nv-fieldtext.css +8 -8
  137. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +9 -1
  138. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +1 -1
  139. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.css +8 -8
  140. package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js +22 -0
  141. package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js.map +1 -1
  142. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +24 -9
  143. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js.map +1 -1
  144. package/dist/collection/components/nv-fieldtime/styles/nv-fieldtime.css +8 -8
  145. package/dist/collection/components/nv-icon/nv-icons.js +16 -1
  146. package/dist/collection/components/nv-icon/nv-icons.js.map +1 -1
  147. package/dist/collection/components/nv-iconbutton/nv-iconbutton.css +2 -2
  148. package/dist/collection/components/nv-menu/nv-menu.docs.js +7 -0
  149. package/dist/collection/components/nv-menu/nv-menu.docs.js.map +1 -1
  150. package/dist/collection/components/nv-menu/nv-menu.js +26 -8
  151. package/dist/collection/components/nv-menu/nv-menu.js.map +1 -1
  152. package/dist/collection/components/nv-menuitem/nv-menuitem.js +1 -1
  153. package/dist/collection/components/nv-notification/nv-notification.js +104 -6
  154. package/dist/collection/components/nv-notification/nv-notification.js.map +1 -1
  155. package/dist/collection/components/nv-notification/styles/nv-notification.css +8 -8
  156. package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.css +61 -0
  157. package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.docs.js +7 -0
  158. package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.docs.js.map +1 -0
  159. package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.js +76 -0
  160. package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.js.map +1 -0
  161. package/dist/collection/components/nv-popover/nv-popover.docs.js +11 -0
  162. package/dist/collection/components/nv-popover/nv-popover.docs.js.map +1 -1
  163. package/dist/collection/components/nv-popover/nv-popover.js +66 -60
  164. package/dist/collection/components/nv-popover/nv-popover.js.map +1 -1
  165. package/dist/collection/components/nv-row/nv-row.js +1 -1
  166. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  167. package/dist/collection/components/nv-table/nv-table.docs.js +16 -155
  168. package/dist/collection/components/nv-table/nv-table.docs.js.map +1 -1
  169. package/dist/collection/components/nv-table/nv-table.js +68 -496
  170. package/dist/collection/components/nv-table/nv-table.js.map +1 -1
  171. package/dist/collection/components/nv-table/nv-table.utils.js +175 -0
  172. package/dist/collection/components/nv-table/nv-table.utils.js.map +1 -0
  173. package/dist/collection/components/nv-table/styles/nv-table.css +84 -0
  174. package/dist/collection/components/nv-table/test/nv-table.utils.test.js +604 -0
  175. package/dist/collection/components/nv-table/test/nv-table.utils.test.js.map +1 -0
  176. package/dist/collection/components/nv-toggle/nv-toggle.css +3 -3
  177. package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
  178. package/dist/collection/components/nv-togglebutton/nv-togglebutton.js +1 -1
  179. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js +1 -0
  180. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js.map +1 -1
  181. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js +1 -3
  182. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js.map +1 -1
  183. package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
  184. package/dist/collection/utils/constants.js +9 -0
  185. package/dist/collection/utils/constants.js.map +1 -1
  186. package/dist/components/index.js +22 -7
  187. package/dist/components/index.js.map +1 -1
  188. package/dist/components/nv-accordion-item.js +1 -1
  189. package/dist/components/nv-accordion.js +10 -10
  190. package/dist/components/nv-accordion.js.map +1 -1
  191. package/dist/components/nv-alert.js +6 -6
  192. package/dist/components/nv-alert.js.map +1 -1
  193. package/dist/components/nv-avatar.js +4 -4
  194. package/dist/components/nv-avatar.js.map +1 -1
  195. package/dist/components/nv-badge.js +1 -1
  196. package/dist/components/nv-breadcrumb.js +4 -4
  197. package/dist/components/nv-breadcrumb.js.map +1 -1
  198. package/dist/components/nv-breadcrumbs.js +1 -1
  199. package/dist/components/nv-button.js +1 -1
  200. package/dist/components/nv-buttongroup.js +1 -1
  201. package/dist/components/nv-calendar.js +1 -1
  202. package/dist/components/nv-col.js +1 -1
  203. package/dist/components/nv-datagrid.js +175 -8
  204. package/dist/components/nv-datagrid.js.map +1 -1
  205. package/dist/components/nv-datagridcolumn.js +1 -1
  206. package/dist/components/nv-dialog.js +38 -35
  207. package/dist/components/nv-dialog.js.map +1 -1
  208. package/dist/components/nv-dialogfooter.js +1 -1
  209. package/dist/components/nv-dialogheader.js +1 -1
  210. package/dist/components/nv-fieldcheckbox.js +1 -1
  211. package/dist/components/nv-fielddate.js +57 -32
  212. package/dist/components/nv-fielddate.js.map +1 -1
  213. package/dist/components/nv-fielddaterange.js +74 -48
  214. package/dist/components/nv-fielddaterange.js.map +1 -1
  215. package/dist/components/nv-fielddropdown.js +40 -13
  216. package/dist/components/nv-fielddropdown.js.map +1 -1
  217. package/dist/components/nv-fielddropdownitem.js +1 -1
  218. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  219. package/dist/components/nv-fieldmultiselect.js +196 -164
  220. package/dist/components/nv-fieldmultiselect.js.map +1 -1
  221. package/dist/components/nv-fieldnumber.js +1 -1
  222. package/dist/components/nv-fieldpassword.js +5 -5
  223. package/dist/components/nv-fieldpassword.js.map +1 -1
  224. package/dist/components/nv-fieldradio.js +2 -2
  225. package/dist/components/nv-fieldradio.js.map +1 -1
  226. package/dist/components/nv-fieldselect.js +5 -5
  227. package/dist/components/nv-fieldselect.js.map +1 -1
  228. package/dist/components/nv-fieldslider.js +6 -6
  229. package/dist/components/nv-fieldslider.js.map +1 -1
  230. package/dist/components/nv-fieldtext.js +1 -1
  231. package/dist/components/nv-fieldtextarea.js +2 -2
  232. package/dist/components/nv-fieldtextarea.js.map +1 -1
  233. package/dist/components/nv-fieldtime.js +32 -18
  234. package/dist/components/nv-fieldtime.js.map +1 -1
  235. package/dist/components/nv-icon.js +1 -1
  236. package/dist/components/nv-iconbutton.js +1 -1
  237. package/dist/components/nv-loader.js +1 -1
  238. package/dist/components/nv-menu.js +30 -13
  239. package/dist/components/nv-menu.js.map +1 -1
  240. package/dist/components/nv-menuitem.js +1 -1
  241. package/dist/components/nv-notification.js +75 -12
  242. package/dist/components/nv-notification.js.map +1 -1
  243. package/dist/components/nv-notificationcontainer.d.ts +11 -0
  244. package/dist/components/nv-notificationcontainer.js +59 -0
  245. package/dist/components/nv-notificationcontainer.js.map +1 -0
  246. package/dist/components/nv-popover.js +1 -1
  247. package/dist/components/nv-row.js +2 -2
  248. package/dist/components/nv-stack.js +2 -2
  249. package/dist/components/nv-table.js +216 -328
  250. package/dist/components/nv-table.js.map +1 -1
  251. package/dist/components/nv-toggle.js +4 -4
  252. package/dist/components/nv-toggle.js.map +1 -1
  253. package/dist/components/nv-togglebutton.js +2 -2
  254. package/dist/components/nv-togglebuttongroup.js +2 -2
  255. package/dist/components/nv-togglebuttongroup.js.map +1 -1
  256. package/dist/components/nv-tooltip.js +1 -1
  257. package/dist/components/{p-1172e9bb.js → p-0d5ed1d7.js} +3 -3
  258. package/dist/components/p-0d5ed1d7.js.map +1 -0
  259. package/dist/components/{p-68fa3890.js → p-0e6f41c7.js} +3 -3
  260. package/dist/components/{p-68fa3890.js.map → p-0e6f41c7.js.map} +1 -1
  261. package/dist/components/{p-c59eccf1.js → p-0fd23531.js} +6 -6
  262. package/dist/components/{p-c59eccf1.js.map → p-0fd23531.js.map} +1 -1
  263. package/dist/components/{p-e6c04562.js → p-1639703f.js} +2 -2
  264. package/dist/components/{p-e6c04562.js.map → p-1639703f.js.map} +1 -1
  265. package/dist/components/{p-d4d310dd.js → p-2cc83e0c.js} +3 -3
  266. package/dist/components/{p-d4d310dd.js.map → p-2cc83e0c.js.map} +1 -1
  267. package/dist/components/p-2d64749f.js +191 -0
  268. package/dist/components/{p-2de17259.js.map → p-2d64749f.js.map} +1 -1
  269. package/dist/components/{p-e5dff125.js → p-31478080.js} +12 -12
  270. package/dist/components/{p-e5dff125.js.map → p-31478080.js.map} +1 -1
  271. package/dist/components/{p-85825688.js → p-378e3127.js} +7 -7
  272. package/dist/components/{p-85825688.js.map → p-378e3127.js.map} +1 -1
  273. package/dist/components/{p-31591941.js → p-3cd7a66f.js} +5 -2
  274. package/dist/components/p-3cd7a66f.js.map +1 -0
  275. package/dist/components/{p-51876ca1.js → p-429e01f3.js} +3 -3
  276. package/dist/components/p-429e01f3.js.map +1 -0
  277. package/dist/components/{p-fb560fa3.js → p-4697bd56.js} +2 -2
  278. package/dist/components/{p-fb560fa3.js.map → p-4697bd56.js.map} +1 -1
  279. package/dist/components/p-47d499b4.js +88 -0
  280. package/dist/components/p-47d499b4.js.map +1 -0
  281. package/dist/{esm/constants-d0f19e7b.js → components/p-51602221.js} +11 -2
  282. package/dist/components/p-51602221.js.map +1 -0
  283. package/dist/components/{p-aff3ed68.js → p-5829b9f7.js} +5 -2
  284. package/dist/components/p-5829b9f7.js.map +1 -0
  285. package/dist/components/{p-60244646.js → p-63595ea1.js} +70 -64
  286. package/dist/components/p-63595ea1.js.map +1 -0
  287. package/dist/components/{p-8439219d.js → p-7112612c.js} +5 -5
  288. package/dist/components/p-7112612c.js.map +1 -0
  289. package/dist/components/{p-ac91582e.js → p-715e5235.js} +3 -3
  290. package/dist/components/{p-ac91582e.js.map → p-715e5235.js.map} +1 -1
  291. package/dist/components/{p-eb443b26.js → p-9707528d.js} +4 -4
  292. package/dist/components/{p-eb443b26.js.map → p-9707528d.js.map} +1 -1
  293. package/dist/components/{p-fda58a76.js → p-98429fd7.js} +2 -2
  294. package/dist/components/{p-fda58a76.js.map → p-98429fd7.js.map} +1 -1
  295. package/dist/components/{p-930caa42.js → p-a1ef5e37.js} +6 -6
  296. package/dist/components/{p-930caa42.js.map → p-a1ef5e37.js.map} +1 -1
  297. package/dist/components/{p-ee0df37f.js → p-a271e3be.js} +3 -3
  298. package/dist/components/p-a271e3be.js.map +1 -0
  299. package/dist/components/p-c7401a7d.js +90 -0
  300. package/dist/components/p-c7401a7d.js.map +1 -0
  301. package/dist/components/{p-942f6619.js → p-df5d76a5.js} +3 -3
  302. package/dist/components/{p-942f6619.js.map → p-df5d76a5.js.map} +1 -1
  303. package/dist/components/{p-6ffba98c.js → p-f2bac2aa.js} +4 -4
  304. package/dist/components/{p-6ffba98c.js.map → p-f2bac2aa.js.map} +1 -1
  305. package/dist/esm/{collapse.animation-acda1bf5.js → collapse.animation-6e0b08df.js} +5 -2
  306. package/dist/esm/collapse.animation-6e0b08df.js.map +1 -0
  307. package/dist/{components/p-2277cfc8.js → esm/constants-69bafca2.js} +11 -2
  308. package/dist/esm/constants-69bafca2.js.map +1 -0
  309. package/dist/esm/{fade.animation-eb454088.js → fade.animation-9b939939.js} +3 -3
  310. package/dist/esm/{fade.animation-eb454088.js.map → fade.animation-9b939939.js.map} +1 -1
  311. package/dist/esm/{grow.animation-5b2abb3a.js → grow.animation-03fa5c19.js} +2 -2
  312. package/dist/esm/{grow.animation-5b2abb3a.js.map → grow.animation-03fa5c19.js.map} +1 -1
  313. package/dist/esm/{index-a1936cd0.js → index-dc2723f3.js} +9 -6
  314. package/dist/esm/index-dc2723f3.js.map +1 -0
  315. package/dist/esm/index.js +21 -6
  316. package/dist/esm/index.js.map +1 -1
  317. package/dist/esm/loader.js +3 -3
  318. package/dist/esm/native.js +3 -3
  319. package/dist/esm/nv-accordion-item.entry.js +3 -3
  320. package/dist/esm/nv-accordion-item.entry.js.map +1 -1
  321. package/dist/esm/nv-accordion.entry.js +6 -6
  322. package/dist/esm/nv-accordion.entry.js.map +1 -1
  323. package/dist/esm/nv-alert.entry.js +5 -5
  324. package/dist/esm/nv-alert.entry.js.map +1 -1
  325. package/dist/esm/nv-avatar.entry.js +3 -3
  326. package/dist/esm/nv-avatar.entry.js.map +1 -1
  327. package/dist/esm/nv-badge_2.entry.js +10 -10
  328. package/dist/esm/nv-badge_2.entry.js.map +1 -1
  329. package/dist/esm/nv-breadcrumb.entry.js +2 -2
  330. package/dist/esm/nv-breadcrumb.entry.js.map +1 -1
  331. package/dist/esm/nv-breadcrumbs.entry.js +1 -1
  332. package/dist/esm/nv-button.entry.js +3 -3
  333. package/dist/esm/nv-button.entry.js.map +1 -1
  334. package/dist/esm/nv-buttongroup.entry.js +1 -1
  335. package/dist/esm/nv-calendar.entry.js +2 -2
  336. package/dist/esm/nv-col.entry.js +1 -1
  337. package/dist/esm/nv-datagrid.entry.js +173 -6
  338. package/dist/esm/nv-datagrid.entry.js.map +1 -1
  339. package/dist/esm/nv-datagridcolumn.entry.js +1 -1
  340. package/dist/esm/nv-dialog.entry.js +33 -30
  341. package/dist/esm/nv-dialog.entry.js.map +1 -1
  342. package/dist/esm/nv-dialogfooter_2.entry.js +3 -3
  343. package/dist/esm/nv-dialogfooter_2.entry.js.map +1 -1
  344. package/dist/esm/nv-fieldcheckbox.entry.js +2 -2
  345. package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -1
  346. package/dist/esm/nv-fielddate.entry.js +51 -26
  347. package/dist/esm/nv-fielddate.entry.js.map +1 -1
  348. package/dist/esm/nv-fielddaterange.entry.js +68 -42
  349. package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
  350. package/dist/esm/nv-fielddropdown.entry.js +33 -7
  351. package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
  352. package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
  353. package/dist/esm/nv-fieldmultiselect.entry.js +187 -156
  354. package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
  355. package/dist/esm/nv-fieldnumber.entry.js +2 -2
  356. package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
  357. package/dist/esm/nv-fieldpassword.entry.js +2 -2
  358. package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
  359. package/dist/esm/nv-fieldradio.entry.js +2 -2
  360. package/dist/esm/nv-fieldradio.entry.js.map +1 -1
  361. package/dist/esm/nv-fieldselect.entry.js +2 -2
  362. package/dist/esm/nv-fieldselect.entry.js.map +1 -1
  363. package/dist/esm/nv-fieldslider.entry.js +2 -2
  364. package/dist/esm/nv-fieldslider.entry.js.map +1 -1
  365. package/dist/esm/nv-fieldtext.entry.js +2 -2
  366. package/dist/esm/nv-fieldtext.entry.js.map +1 -1
  367. package/dist/esm/nv-fieldtextarea.entry.js +2 -2
  368. package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
  369. package/dist/esm/nv-fieldtime.entry.js +26 -13
  370. package/dist/esm/nv-fieldtime.entry.js.map +1 -1
  371. package/dist/esm/nv-icon.entry.js +3 -3
  372. package/dist/esm/nv-icon.entry.js.map +1 -1
  373. package/dist/esm/nv-iconbutton_2.entry.js +2 -2
  374. package/dist/esm/nv-iconbutton_2.entry.js.map +1 -1
  375. package/dist/esm/nv-menu.entry.js +24 -9
  376. package/dist/esm/nv-menu.entry.js.map +1 -1
  377. package/dist/esm/nv-menuitem.entry.js +1 -1
  378. package/dist/esm/nv-notification.entry.js +71 -10
  379. package/dist/esm/nv-notification.entry.js.map +1 -1
  380. package/dist/esm/nv-notificationcontainer.entry.js +39 -0
  381. package/dist/esm/nv-notificationcontainer.entry.js.map +1 -0
  382. package/dist/esm/nv-popover.entry.js +69 -63
  383. package/dist/esm/nv-popover.entry.js.map +1 -1
  384. package/dist/esm/nv-row.entry.js +2 -2
  385. package/dist/esm/nv-stack.entry.js +2 -2
  386. package/dist/esm/nv-table.entry.js +216 -310
  387. package/dist/esm/nv-table.entry.js.map +1 -1
  388. package/dist/esm/nv-toggle.entry.js +4 -4
  389. package/dist/esm/nv-toggle.entry.js.map +1 -1
  390. package/dist/esm/nv-togglebutton.entry.js +2 -2
  391. package/dist/esm/nv-togglebuttongroup.entry.js +2 -2
  392. package/dist/esm/nv-togglebuttongroup.entry.js.map +1 -1
  393. package/dist/esm/nv-tooltip.entry.js +2 -2
  394. package/dist/esm/slide.animation-f761030b.js +90 -0
  395. package/dist/esm/slide.animation-f761030b.js.map +1 -0
  396. package/dist/native/index.esm.js +1 -1
  397. package/dist/native/index.esm.js.map +1 -1
  398. package/dist/native/native.css +1 -1
  399. package/dist/native/native.esm.js +1 -1
  400. package/dist/native/native.esm.js.map +1 -1
  401. package/dist/native/{p-7bbcf477.entry.js → p-075d231e.entry.js} +2 -2
  402. package/dist/native/p-075d231e.entry.js.map +1 -0
  403. package/dist/native/p-107e80c6.entry.js +2 -0
  404. package/dist/native/p-107e80c6.entry.js.map +1 -0
  405. package/dist/native/{p-40c4a221.entry.js → p-112d096c.entry.js} +2 -2
  406. package/dist/native/p-112d096c.entry.js.map +1 -0
  407. package/dist/native/p-217de553.entry.js +2 -0
  408. package/dist/native/p-217de553.entry.js.map +1 -0
  409. package/dist/native/{p-85f8f11a.entry.js → p-230af58a.entry.js} +2 -2
  410. package/dist/native/p-23ee0384.entry.js +2 -0
  411. package/dist/native/{p-29f68e07.entry.js.map → p-23ee0384.entry.js.map} +1 -1
  412. package/dist/native/p-26513cbd.entry.js +2 -0
  413. package/dist/native/p-26513cbd.entry.js.map +1 -0
  414. package/dist/native/p-278613a3.entry.js +2 -0
  415. package/dist/native/{p-8c823928.entry.js.map → p-278613a3.entry.js.map} +1 -1
  416. package/dist/native/p-2dfd786f.entry.js +2 -0
  417. package/dist/native/p-2dfd786f.entry.js.map +1 -0
  418. package/dist/native/{p-d0a33e64.js → p-3060df80.js} +3 -3
  419. package/dist/native/p-3060df80.js.map +1 -0
  420. package/dist/native/p-3cd7a66f.js +2 -0
  421. package/dist/native/p-3cd7a66f.js.map +1 -0
  422. package/dist/native/p-445221dc.entry.js +2 -0
  423. package/dist/native/p-445221dc.entry.js.map +1 -0
  424. package/dist/native/{p-3f861ddc.entry.js → p-44a78545.entry.js} +2 -2
  425. package/dist/native/p-4697bd56.js +2 -0
  426. package/dist/native/p-4dc7483d.entry.js +2 -0
  427. package/dist/native/{p-cfd5785e.entry.js.map → p-4dc7483d.entry.js.map} +1 -1
  428. package/dist/native/p-4eaf417d.entry.js +13 -0
  429. package/dist/native/p-4eaf417d.entry.js.map +1 -0
  430. package/dist/native/p-5039ceb8.entry.js +2 -0
  431. package/dist/native/p-5039ceb8.entry.js.map +1 -0
  432. package/dist/native/p-51602221.js +2 -0
  433. package/dist/{cjs/constants-52f6f8e9.js.map → native/p-51602221.js.map} +1 -1
  434. package/dist/native/p-647a0765.entry.js +2 -0
  435. package/dist/native/p-647a0765.entry.js.map +1 -0
  436. package/dist/native/p-68dc02be.entry.js +2 -0
  437. package/dist/native/p-68dc02be.entry.js.map +1 -0
  438. package/dist/native/p-6d427897.entry.js +2 -0
  439. package/dist/native/{p-92931ab8.entry.js.map → p-6d427897.entry.js.map} +1 -1
  440. package/dist/native/p-701b48a4.entry.js +2 -0
  441. package/dist/native/{p-da2c7d3c.entry.js.map → p-701b48a4.entry.js.map} +1 -1
  442. package/dist/native/p-7c9bf981.entry.js +2 -0
  443. package/dist/native/p-835abdb9.entry.js +2 -0
  444. package/dist/native/{p-f5120223.entry.js.map → p-835abdb9.entry.js.map} +1 -1
  445. package/dist/native/{p-464bb197.entry.js → p-83765537.entry.js} +2 -2
  446. package/dist/native/p-88f9fca5.entry.js +2 -0
  447. package/dist/native/p-88f9fca5.entry.js.map +1 -0
  448. package/dist/native/{p-788e9ee5.entry.js → p-8e423742.entry.js} +3 -3
  449. package/dist/native/{p-788e9ee5.entry.js.map → p-8e423742.entry.js.map} +1 -1
  450. package/dist/native/p-95184ea2.entry.js +2 -0
  451. package/dist/native/p-95184ea2.entry.js.map +1 -0
  452. package/dist/native/p-9613087c.entry.js +2 -0
  453. package/dist/native/{p-2781637d.entry.js.map → p-9613087c.entry.js.map} +1 -1
  454. package/dist/native/{p-94dc9c41.entry.js → p-9d7e099f.entry.js} +2 -2
  455. package/dist/native/{p-ee0df37f.js → p-a271e3be.js} +2 -2
  456. package/dist/native/{p-ee0df37f.js.map → p-a271e3be.js.map} +1 -1
  457. package/dist/native/p-a2f58133.entry.js +2 -0
  458. package/dist/native/p-a2f58133.entry.js.map +1 -0
  459. package/dist/native/{p-1235c007.entry.js → p-acabac31.entry.js} +2 -2
  460. package/dist/native/p-acada158.entry.js +2 -0
  461. package/dist/native/p-acada158.entry.js.map +1 -0
  462. package/dist/native/{p-f5eb047e.entry.js → p-b02c896a.entry.js} +2 -2
  463. package/dist/native/p-b06f0e61.entry.js +2 -0
  464. package/dist/native/p-b06f0e61.entry.js.map +1 -0
  465. package/dist/native/p-b4c15f25.entry.js +2 -0
  466. package/dist/native/p-b4c15f25.entry.js.map +1 -0
  467. package/dist/native/p-bcf41cd0.entry.js +2 -0
  468. package/dist/native/p-c7401a7d.js +2 -0
  469. package/dist/native/p-c7401a7d.js.map +1 -0
  470. package/dist/native/p-ce97ce24.entry.js +2 -0
  471. package/dist/native/p-ce97ce24.entry.js.map +1 -0
  472. package/dist/native/p-d0db5e72.entry.js +2 -0
  473. package/dist/native/p-d0db5e72.entry.js.map +1 -0
  474. package/dist/native/p-d45ee8e5.entry.js +2 -0
  475. package/dist/native/{p-52b8c872.entry.js.map → p-d45ee8e5.entry.js.map} +1 -1
  476. package/dist/native/p-d7f444fb.entry.js +2 -0
  477. package/dist/native/p-d7f444fb.entry.js.map +1 -0
  478. package/dist/native/p-d878e90a.entry.js +2 -0
  479. package/dist/native/p-d878e90a.entry.js.map +1 -0
  480. package/dist/native/p-ddc41f1f.entry.js +2 -0
  481. package/dist/native/p-ddc41f1f.entry.js.map +1 -0
  482. package/dist/native/{p-d95ee31e.entry.js → p-dfb6b65e.entry.js} +2 -2
  483. package/dist/native/p-f30e0be6.entry.js +2 -0
  484. package/dist/native/p-f30e0be6.entry.js.map +1 -0
  485. package/dist/native/p-f3c73492.entry.js +2 -0
  486. package/dist/native/{p-ee516944.entry.js.map → p-f3c73492.entry.js.map} +1 -1
  487. package/dist/native/{p-9c5d6827.entry.js → p-fa78d8eb.entry.js} +2 -2
  488. package/dist/types/animations/slide.animation.d.ts +15 -4
  489. package/dist/types/components/nv-accordion/nv-accordion.d.ts +2 -4
  490. package/dist/types/components/nv-badge/nv-badge.d.ts +1 -1
  491. package/dist/types/components/nv-dialog/nv-dialog.d.ts +9 -8
  492. package/dist/types/components/nv-fielddate/nv-fielddate.d.ts +6 -3
  493. package/dist/types/components/nv-fielddaterange/nv-fielddaterange.d.ts +5 -4
  494. package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +3 -1
  495. package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +12 -11
  496. package/dist/types/components/nv-fieldtime/nv-fieldtime.d.ts +1 -0
  497. package/dist/types/components/nv-icon/nv-icons.d.ts +1 -1
  498. package/dist/types/components/nv-menu/nv-menu.d.ts +4 -1
  499. package/dist/types/components/nv-notification/nv-notification.d.ts +18 -0
  500. package/dist/types/components/nv-notificationcontainer/nv-notificationcontainer.d.ts +19 -0
  501. package/dist/types/components/nv-notificationcontainer/nv-notificationcontainer.docs.d.ts +4 -0
  502. package/dist/types/components/nv-popover/nv-popover.d.ts +10 -8
  503. package/dist/types/components/nv-table/nv-table.d.ts +6 -87
  504. package/dist/types/components/nv-table/nv-table.utils.d.ts +129 -0
  505. package/dist/types/components/nv-table/test/nv-table.utils.test.d.ts +1 -0
  506. package/dist/types/components/nv-togglebuttongroup/nv-togglebuttongroup.d.ts +0 -2
  507. package/dist/types/components.d.ts +63 -211
  508. package/dist/types/utils/constants.d.ts +8 -0
  509. package/dist/vscode-data.json +87 -43
  510. package/hydrate/index.js +973 -809
  511. package/hydrate/index.mjs +973 -809
  512. package/package.json +10 -10
  513. package/dist/cjs/collapse.animation-47397763.js.map +0 -1
  514. package/dist/cjs/dom.utils-4d43f69a.js +0 -170
  515. package/dist/cjs/dom.utils-4d43f69a.js.map +0 -1
  516. package/dist/cjs/fade.animation-cf6eba0d.js.map +0 -1
  517. package/dist/cjs/index-c56424e5.js.map +0 -1
  518. package/dist/cjs/nv-tablecolumn.cjs.entry.js +0 -21
  519. package/dist/cjs/nv-tablecolumn.cjs.entry.js.map +0 -1
  520. package/dist/cjs/slide.animation-bedfc827.js +0 -70
  521. package/dist/cjs/slide.animation-bedfc827.js.map +0 -1
  522. package/dist/collection/components/nv-table/nv-table.css +0 -35
  523. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.docs.js +0 -6
  524. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.docs.js.map +0 -1
  525. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js +0 -52
  526. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js.map +0 -1
  527. package/dist/components/nv-tablecolumn.d.ts +0 -11
  528. package/dist/components/nv-tablecolumn.js +0 -38
  529. package/dist/components/nv-tablecolumn.js.map +0 -1
  530. package/dist/components/p-1172e9bb.js.map +0 -1
  531. package/dist/components/p-2277cfc8.js.map +0 -1
  532. package/dist/components/p-2de17259.js +0 -191
  533. package/dist/components/p-31591941.js.map +0 -1
  534. package/dist/components/p-51876ca1.js.map +0 -1
  535. package/dist/components/p-60244646.js.map +0 -1
  536. package/dist/components/p-8439219d.js.map +0 -1
  537. package/dist/components/p-aff3ed68.js.map +0 -1
  538. package/dist/components/p-cb34aa4f.js +0 -167
  539. package/dist/components/p-cb34aa4f.js.map +0 -1
  540. package/dist/components/p-e0cd7e3a.js +0 -88
  541. package/dist/components/p-e0cd7e3a.js.map +0 -1
  542. package/dist/components/p-eda2f9f3.js +0 -68
  543. package/dist/components/p-eda2f9f3.js.map +0 -1
  544. package/dist/components/p-ee0df37f.js.map +0 -1
  545. package/dist/esm/collapse.animation-acda1bf5.js.map +0 -1
  546. package/dist/esm/constants-d0f19e7b.js.map +0 -1
  547. package/dist/esm/dom.utils-ac71e0ef.js +0 -167
  548. package/dist/esm/dom.utils-ac71e0ef.js.map +0 -1
  549. package/dist/esm/index-a1936cd0.js.map +0 -1
  550. package/dist/esm/nv-tablecolumn.entry.js +0 -17
  551. package/dist/esm/nv-tablecolumn.entry.js.map +0 -1
  552. package/dist/esm/slide.animation-f444aa0b.js +0 -68
  553. package/dist/esm/slide.animation-f444aa0b.js.map +0 -1
  554. package/dist/native/p-08582c21.entry.js +0 -2
  555. package/dist/native/p-08582c21.entry.js.map +0 -1
  556. package/dist/native/p-0a99c6fb.entry.js +0 -2
  557. package/dist/native/p-0a99c6fb.entry.js.map +0 -1
  558. package/dist/native/p-0e488b3d.entry.js +0 -2
  559. package/dist/native/p-0e488b3d.entry.js.map +0 -1
  560. package/dist/native/p-1ad1bff9.entry.js +0 -2
  561. package/dist/native/p-1ad1bff9.entry.js.map +0 -1
  562. package/dist/native/p-1f01fb64.entry.js +0 -2
  563. package/dist/native/p-1f01fb64.entry.js.map +0 -1
  564. package/dist/native/p-225a05bf.entry.js +0 -2
  565. package/dist/native/p-225a05bf.entry.js.map +0 -1
  566. package/dist/native/p-2277cfc8.js +0 -2
  567. package/dist/native/p-2277cfc8.js.map +0 -1
  568. package/dist/native/p-234cfa2e.entry.js +0 -2
  569. package/dist/native/p-25f2ce81.entry.js +0 -2
  570. package/dist/native/p-2781637d.entry.js +0 -2
  571. package/dist/native/p-29f68e07.entry.js +0 -2
  572. package/dist/native/p-31591941.js +0 -2
  573. package/dist/native/p-31591941.js.map +0 -1
  574. package/dist/native/p-3784efdc.entry.js +0 -2
  575. package/dist/native/p-3784efdc.entry.js.map +0 -1
  576. package/dist/native/p-40c4a221.entry.js.map +0 -1
  577. package/dist/native/p-52b8c872.entry.js +0 -2
  578. package/dist/native/p-5a43fe48.entry.js +0 -13
  579. package/dist/native/p-5a43fe48.entry.js.map +0 -1
  580. package/dist/native/p-5f0776cb.entry.js +0 -2
  581. package/dist/native/p-5f0776cb.entry.js.map +0 -1
  582. package/dist/native/p-6290951d.entry.js +0 -2
  583. package/dist/native/p-6290951d.entry.js.map +0 -1
  584. package/dist/native/p-7bbcf477.entry.js.map +0 -1
  585. package/dist/native/p-81952a3c.entry.js +0 -2
  586. package/dist/native/p-81952a3c.entry.js.map +0 -1
  587. package/dist/native/p-87784622.entry.js +0 -2
  588. package/dist/native/p-87784622.entry.js.map +0 -1
  589. package/dist/native/p-8c823928.entry.js +0 -2
  590. package/dist/native/p-92931ab8.entry.js +0 -2
  591. package/dist/native/p-9a46baa9.entry.js +0 -2
  592. package/dist/native/p-9a46baa9.entry.js.map +0 -1
  593. package/dist/native/p-a34beedf.entry.js +0 -2
  594. package/dist/native/p-a34beedf.entry.js.map +0 -1
  595. package/dist/native/p-bc01787b.entry.js +0 -2
  596. package/dist/native/p-bc01787b.entry.js.map +0 -1
  597. package/dist/native/p-cb34aa4f.js +0 -2
  598. package/dist/native/p-cb34aa4f.js.map +0 -1
  599. package/dist/native/p-cea942b9.entry.js +0 -2
  600. package/dist/native/p-cea942b9.entry.js.map +0 -1
  601. package/dist/native/p-cfd5785e.entry.js +0 -2
  602. package/dist/native/p-d0a33e64.js.map +0 -1
  603. package/dist/native/p-d0ef1bbb.entry.js +0 -2
  604. package/dist/native/p-d0ef1bbb.entry.js.map +0 -1
  605. package/dist/native/p-d88c416f.entry.js +0 -2
  606. package/dist/native/p-d88c416f.entry.js.map +0 -1
  607. package/dist/native/p-da2c7d3c.entry.js +0 -2
  608. package/dist/native/p-dd023fd6.entry.js +0 -2
  609. package/dist/native/p-dd023fd6.entry.js.map +0 -1
  610. package/dist/native/p-e765a624.entry.js +0 -2
  611. package/dist/native/p-e765a624.entry.js.map +0 -1
  612. package/dist/native/p-eda2f9f3.js +0 -2
  613. package/dist/native/p-eda2f9f3.js.map +0 -1
  614. package/dist/native/p-ee516944.entry.js +0 -2
  615. package/dist/native/p-f0cbfb3d.entry.js +0 -2
  616. package/dist/native/p-f0cbfb3d.entry.js.map +0 -1
  617. package/dist/native/p-f5120223.entry.js +0 -2
  618. package/dist/native/p-fb560fa3.js +0 -2
  619. package/dist/types/components/nv-tablecolumn/nv-tablecolumn.d.ts +0 -13
  620. package/dist/types/components/nv-tablecolumn/nv-tablecolumn.docs.d.ts +0 -4
  621. /package/dist/native/{p-85f8f11a.entry.js.map → p-230af58a.entry.js.map} +0 -0
  622. /package/dist/native/{p-3f861ddc.entry.js.map → p-44a78545.entry.js.map} +0 -0
  623. /package/dist/native/{p-fb560fa3.js.map → p-4697bd56.js.map} +0 -0
  624. /package/dist/native/{p-234cfa2e.entry.js.map → p-7c9bf981.entry.js.map} +0 -0
  625. /package/dist/native/{p-464bb197.entry.js.map → p-83765537.entry.js.map} +0 -0
  626. /package/dist/native/{p-94dc9c41.entry.js.map → p-9d7e099f.entry.js.map} +0 -0
  627. /package/dist/native/{p-1235c007.entry.js.map → p-acabac31.entry.js.map} +0 -0
  628. /package/dist/native/{p-f5eb047e.entry.js.map → p-b02c896a.entry.js.map} +0 -0
  629. /package/dist/native/{p-25f2ce81.entry.js.map → p-bcf41cd0.entry.js.map} +0 -0
  630. /package/dist/native/{p-d95ee31e.entry.js.map → p-dfb6b65e.entry.js.map} +0 -0
  631. /package/dist/native/{p-9c5d6827.entry.js.map → p-fa78d8eb.entry.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import { Host, h, } from "@stencil/core";
2
2
  import { v4 as uuidv4 } from "uuid";
3
- import { FeedbackColors } from "../../utils/constants";
3
+ import { FeedbackColors, NotificationPosition, } from "../../utils/constants";
4
4
  import { useCollapse, useFade, useSlide, parallel } from "../../animations";
5
5
  /**
6
6
  * @slot heading - Use this slot to insert HTML as the notification title.
@@ -35,6 +35,11 @@ export class NvNotification {
35
35
  * Controls the visibility of the notification.
36
36
  */
37
37
  this.hidden = false; // eslint-disable-line @stencil-community/reserved-member-names
38
+ /**
39
+ * When true, the notification will be hidden initially, but internal changes
40
+ * will not be in a controlled state. Good for animating the notification in.
41
+ */
42
+ this.initiallyHidden = false;
38
43
  //#endregion EVENTS
39
44
  /****************************************************************************/
40
45
  //#region INTERNAL
@@ -56,9 +61,22 @@ export class NvNotification {
56
61
  //#endregion PROPERTIES
57
62
  /****************************************************************************/
58
63
  //#region METHODS
64
+ /**
65
+ * Dismisses the notification with an animation, after the animation is
66
+ * complete, the hiddenChanged event will be emitted with the value of true,
67
+ * and the hidden prop will be set to true.
68
+ */
59
69
  async dismiss() {
60
70
  await this.dismissAnimation();
61
71
  }
72
+ /**
73
+ * Sets the hidden prop to false, and shows the notification with an
74
+ * animation, after the animation is complete, the hiddenChanged event will be
75
+ * emitted with the value of false.
76
+ */
77
+ async show() {
78
+ await this.showAnimation();
79
+ }
62
80
  getDefaultIcon() {
63
81
  var _a;
64
82
  return (_a = this.iconByFeedback[this.feedback]) !== null && _a !== void 0 ? _a : 'info-circle';
@@ -76,14 +94,55 @@ export class NvNotification {
76
94
  getMessageId() {
77
95
  return this.message ? `nv-notification-${this.uid}-message` : null;
78
96
  }
97
+ async showAnimation() {
98
+ this.hidden = false;
99
+ const { setFadeIn } = useFade(this.container);
100
+ const { expand } = useCollapse(this.el, {
101
+ duration: 300,
102
+ overflow: 'visible',
103
+ });
104
+ const { slideY, setSlideY } = useSlide(this.container, {
105
+ duration: 300,
106
+ });
107
+ setSlideY(-100);
108
+ setFadeIn();
109
+ await parallel(slideY({ from: -100, to: 0 }), expand).start();
110
+ this.hiddenChanged.emit(false);
111
+ }
112
+ getSlideDestination(pos) {
113
+ switch (pos) {
114
+ case NotificationPosition.TopRight:
115
+ case NotificationPosition.BottomRight:
116
+ return { axis: 'x', to: 100 }; // right
117
+ case NotificationPosition.TopLeft:
118
+ case NotificationPosition.BottomLeft:
119
+ return { axis: 'x', to: -100 }; // left
120
+ case NotificationPosition.TopCenter:
121
+ return { axis: 'y', to: -100 }; // up
122
+ case NotificationPosition.BottomCenter:
123
+ return { axis: 'y', to: 100 }; // down
124
+ default:
125
+ return { axis: 'x', to: 100 }; // fallback
126
+ }
127
+ }
79
128
  async dismissAnimation() {
129
+ var _a;
130
+ const position = (_a = this.el
131
+ .closest('nv-notificationcontainer')) === null || _a === void 0 ? void 0 : _a.getAttribute('position');
132
+ const destination = this.getSlideDestination(position);
80
133
  const { fadeOut } = useFade(this.container, { duration: 300 });
81
- const { slideOut } = useSlide(this.container, { duration: 800 });
134
+ const { slideX, slideY, setSlideReset } = useSlide(this.container, {
135
+ duration: 500,
136
+ });
82
137
  const { collapse } = useCollapse(this.el, {
83
- duration: 800,
138
+ duration: 500,
84
139
  overflow: 'visible',
85
140
  });
86
- await parallel(fadeOut, slideOut, collapse).start();
141
+ const slide = destination.axis === 'x'
142
+ ? slideX({ from: 0, to: destination.to })
143
+ : slideY({ from: 0, to: destination.to });
144
+ setSlideReset();
145
+ await parallel(fadeOut, slide, collapse).start();
87
146
  this.hidden = true;
88
147
  this.hiddenChanged.emit(true);
89
148
  }
@@ -94,13 +153,15 @@ export class NvNotification {
94
153
  this.headingSlot = this.el.querySelector('[slot="heading"]');
95
154
  this.messageSlot = this.el.querySelector('[slot="content"]');
96
155
  this.actionsSlot = this.el.querySelector('[slot="actions"]');
156
+ if (this.initiallyHidden)
157
+ this.hidden = true;
97
158
  }
98
159
  //#endregion LIFECYCLE
99
160
  /****************************************************************************/
100
161
  //#region RENDER
101
162
  render() {
102
163
  var _a, _b, _c;
103
- return (h(Host, { key: '9146cea4ed72801aadf2fb4b7e44895038c98437', role: this.getAriaRole(), "aria-live": this.getAriaLive(), "aria-atomic": true, "aria-labelledby": (_a = this.getHeadingId()) !== null && _a !== void 0 ? _a : null, "aria-describedby": (_b = this.getMessageId()) !== null && _b !== void 0 ? _b : null, tabindex: "-1" }, h("div", { key: 'beed9ae5f6fac1b0c6d103dd75a41e0aede84041', "data-scope": "container", ref: el => (this.container = el) }, this.dismissible && (h("button", { key: '8e17f33867c2563de719dc1b0f0e2d4ae39ad1a6', "data-scope": "dismiss", type: "button", onClick: this.dismiss.bind(this) }, h("nv-icon", { key: 'cb8850135bb2383e33a16671569547611b55e434', name: "x", size: "sm" }))), h("nv-icon", { key: 'f5f58e1c3a94d854841271eb12af047322b2f0b4', name: (_c = this.icon) !== null && _c !== void 0 ? _c : this.getDefaultIcon(), size: "md" }), h("div", { key: '9c6f6bb0315cd25260d483472a24832031ce45da', "data-scope": "content" }, (this.heading || this.headingSlot) && (h("p", { key: '1013d6b6790f75682a1db0e43293b61e614f1c07', id: this.getHeadingId(), "data-scope": "heading" }, h("slot", { key: '844a7bccf6f365d4e59dfdec9b3c9096cbeda798', name: "heading" }, this.heading))), (this.message || this.messageSlot) && (h("p", { key: '6688e9dc927f6164ce60f27b84fdbeb257296504', id: this.getMessageId(), "data-scope": "message" }, h("slot", { key: 'f0c0790faa40411970575240a081f0f0bf0e9aff', name: "content" }, this.message))), this.actionsSlot && (h("div", { key: '0ba946edf5b3a8410da3b375e589613a2674fd15', "data-scope": "actions" }, h("slot", { key: '0360ab92db66957f0290569c39307ced2be5922d', name: "actions" })))))));
164
+ return (h(Host, { key: '6e0b8abd9cbcb62b0b133db77520aa5aaa4173c9', role: this.getAriaRole(), "aria-live": this.getAriaLive(), "aria-atomic": true, "aria-labelledby": (_a = this.getHeadingId()) !== null && _a !== void 0 ? _a : null, "aria-describedby": (_b = this.getMessageId()) !== null && _b !== void 0 ? _b : null, tabindex: "-1" }, h("div", { key: '41b2ad35bf5220333e132d61f8843d1136cb1f40', "data-scope": "container", ref: el => (this.container = el) }, this.dismissible && (h("button", { key: '63116f239f7108ae945845c247c712827d8ae8a6', "data-scope": "dismiss", type: "button", onClick: this.dismiss.bind(this) }, h("nv-icon", { key: 'dc19bf166c6d2eccd3d40384d43206457f0d03f0', name: "x", size: "sm" }))), h("nv-icon", { key: 'e673ac1cc78300bc3425018a0cdfc4b90c679796', name: (_c = this.icon) !== null && _c !== void 0 ? _c : this.getDefaultIcon(), size: "md", "data-scope": "icon" }), h("div", { key: '95cb6ec06d89cda8e5170f9ff0f863b6b0b7e32d', "data-scope": "content" }, (this.heading || this.headingSlot) && (h("p", { key: 'ed654c0271d2ff8538295d8f7bf58a9754abb4c9', id: this.getHeadingId(), "data-scope": "heading" }, h("slot", { key: '00cc14a709059b9caf2117174ef7fcc310f5965f', name: "heading" }, this.heading))), (this.message || this.messageSlot) && (h("p", { key: 'c7c0bcbc2b54fdfdf8280af6a377929bf17fd688', id: this.getMessageId(), "data-scope": "message" }, h("slot", { key: '946db5aeb667b67f52f51adbb1b8f600325f937e', name: "content" }, this.message))), this.actionsSlot && (h("div", { key: 'd94560b658507a515a1360057121e933b95e6fe6', "data-scope": "actions" }, h("slot", { key: 'db185d3924c7d1fbeb30578992f2375e92a0d4bc', name: "actions" })))))));
104
165
  }
105
166
  static get is() { return "nv-notification"; }
106
167
  static get originalStyleUrls() {
@@ -283,6 +344,26 @@ export class NvNotification {
283
344
  "attribute": "hidden",
284
345
  "reflect": true,
285
346
  "defaultValue": "false"
347
+ },
348
+ "initiallyHidden": {
349
+ "type": "boolean",
350
+ "mutable": false,
351
+ "complexType": {
352
+ "original": "boolean",
353
+ "resolved": "boolean",
354
+ "references": {}
355
+ },
356
+ "required": false,
357
+ "optional": false,
358
+ "docs": {
359
+ "tags": [],
360
+ "text": "When true, the notification will be hidden initially, but internal changes\nwill not be in a controlled state. Good for animating the notification in."
361
+ },
362
+ "getter": false,
363
+ "setter": false,
364
+ "attribute": "initially-hidden",
365
+ "reflect": true,
366
+ "defaultValue": "false"
286
367
  }
287
368
  };
288
369
  }
@@ -322,7 +403,24 @@ export class NvNotification {
322
403
  "return": "Promise<void>"
323
404
  },
324
405
  "docs": {
325
- "text": "*************************************************************************",
406
+ "text": "Dismisses the notification with an animation, after the animation is\ncomplete, the hiddenChanged event will be emitted with the value of true,\nand the hidden prop will be set to true.",
407
+ "tags": []
408
+ }
409
+ },
410
+ "show": {
411
+ "complexType": {
412
+ "signature": "() => Promise<void>",
413
+ "parameters": [],
414
+ "references": {
415
+ "Promise": {
416
+ "location": "global",
417
+ "id": "global::Promise"
418
+ }
419
+ },
420
+ "return": "Promise<void>"
421
+ },
422
+ "docs": {
423
+ "text": "Sets the hidden prop to false, and shows the notification with an\nanimation, after the animation is complete, the hiddenChanged event will be\nemitted with the value of false.",
326
424
  "tags": []
327
425
  }
328
426
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nv-notification.js","sourceRoot":"","sources":["../../../src/components/nv-notification/nv-notification.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Method,\n Element,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { FeedbackColors, NotificationEmphasis } from '../../utils/constants';\nimport { type IconName } from '../nv-icon/nv-icons';\nimport { useCollapse, useFade, useSlide, parallel } from '../../animations';\n\ntype AriaRole = 'status' | 'alert';\ntype AriaLive = 'polite' | 'assertive';\n\n/**\n * @slot heading - Use this slot to insert HTML as the notification title.\n * @slot content - Use this slot to insert HTML as the notification message.\n * @slot actions - Use this slot for custom actions.\n */\n@Component({\n tag: 'nv-notification',\n styleUrl: 'styles/nv-notification.scss',\n shadow: false,\n})\nexport class NvNotification {\n @Element() el: HTMLNvNotificationElement;\n private container: HTMLElement;\n private headingSlot: HTMLElement;\n private messageSlot: HTMLElement;\n private actionsSlot: HTMLElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Set a unique ID for the notification. Used for aria attributes and managing\n * multiple notifications.\n */\n @Prop({ reflect: true })\n readonly uid: string = uuidv4();\n\n /**\n * Specifies the notification type which determines the color and default icon.\n */\n @Prop({ reflect: true })\n readonly feedback: `${FeedbackColors}` = 'information';\n\n /**\n * Adjusts the emphasis to make the notification more or less visually\n * prominent to users. Use this to draw attention to important actions or\n * reduce focus on less critical ones\n */\n @Prop({ reflect: true })\n readonly emphasis: `${NotificationEmphasis}` = 'medium';\n\n /**\n * Short and concise text for the notification title.\n */\n @Prop({ reflect: true })\n readonly heading: string;\n\n /**\n * Main content for the notification. For more complex content, use the\n * content slot instead.\n */\n @Prop({ reflect: true })\n readonly message: string;\n\n /**\n * Icon associated with the notification, defaults vary based on the feedback\n * type.\n */\n @Prop({ reflect: true })\n readonly icon: string;\n\n /**\n * Allows the notification to be dismissed via a close button (x). The\n * notification is not dismissible unless explicitly enabled.\n */\n @Prop({ reflect: true })\n readonly dismissible: boolean = false;\n\n /**\n * Controls the visibility of the notification.\n */\n @Prop({ reflect: true, mutable: true })\n hidden: boolean = false; // eslint-disable-line @stencil-community/reserved-member-names\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n @Method()\n async dismiss() {\n await this.dismissAnimation();\n }\n\n //#endregion METHODS\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 //#endregion EVENTS\n /****************************************************************************/\n //#region INTERNAL\n\n private iconByFeedback: Record<FeedbackColors, IconName> = {\n [FeedbackColors.Warning]: 'alert-circle',\n [FeedbackColors.Information]: 'info-circle',\n [FeedbackColors.Success]: 'circle-check',\n [FeedbackColors.Error]: 'alert-triangle',\n [FeedbackColors.Neutral]: 'help',\n };\n\n private roleByFeedback: Record<FeedbackColors, AriaRole> = {\n [FeedbackColors.Error]: 'alert',\n [FeedbackColors.Warning]: 'alert',\n [FeedbackColors.Information]: 'status',\n [FeedbackColors.Success]: 'status',\n [FeedbackColors.Neutral]: 'status',\n };\n\n private getDefaultIcon(): IconName {\n return this.iconByFeedback[this.feedback] ?? 'info-circle';\n }\n\n private getAriaRole(): AriaRole {\n return this.roleByFeedback[this.feedback] ?? 'status';\n }\n\n private getAriaLive(): AriaLive {\n return this.getAriaRole() === 'alert' ? 'assertive' : 'polite';\n }\n\n private getHeadingId(): string | null {\n return this.heading ? `nv-notification-${this.uid}-heading` : null;\n }\n\n private getMessageId(): string | null {\n return this.message ? `nv-notification-${this.uid}-message` : null;\n }\n\n private async dismissAnimation() {\n const { fadeOut } = useFade(this.container, { duration: 300 });\n const { slideOut } = useSlide(this.container, { duration: 800 });\n const { collapse } = useCollapse(this.el, {\n duration: 800,\n overflow: 'visible',\n });\n\n await parallel(fadeOut, slideOut, collapse).start();\n this.hidden = true;\n this.hiddenChanged.emit(true);\n }\n\n //#endregion INTERNAL\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.headingSlot = this.el.querySelector('[slot=\"heading\"]');\n this.messageSlot = this.el.querySelector('[slot=\"content\"]');\n this.actionsSlot = this.el.querySelector('[slot=\"actions\"]');\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n role={this.getAriaRole()}\n aria-live={this.getAriaLive()}\n aria-atomic\n aria-labelledby={this.getHeadingId() ?? null}\n aria-describedby={this.getMessageId() ?? null}\n tabindex=\"-1\"\n >\n <div data-scope=\"container\" ref={el => (this.container = el)}>\n {this.dismissible && (\n <button\n data-scope=\"dismiss\"\n type=\"button\"\n onClick={this.dismiss.bind(this)}\n >\n <nv-icon name=\"x\" size=\"sm\" />\n </button>\n )}\n\n <nv-icon\n name={this.icon ?? this.getDefaultIcon()}\n size=\"md\"\n ></nv-icon>\n\n <div data-scope=\"content\">\n {(this.heading || this.headingSlot) && (\n <p id={this.getHeadingId()} data-scope=\"heading\">\n <slot name=\"heading\">{this.heading}</slot>\n </p>\n )}\n {(this.message || this.messageSlot) && (\n <p id={this.getMessageId()} data-scope=\"message\">\n <slot name=\"content\">{this.message}</slot>\n </p>\n )}\n\n {this.actionsSlot && (\n <div data-scope=\"actions\">\n <slot name=\"actions\"></slot>\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n // #endregion RENDER\n}\n"]}
1
+ {"version":3,"file":"nv-notification.js","sourceRoot":"","sources":["../../../src/components/nv-notification/nv-notification.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Method,\n Element,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport {\n FeedbackColors,\n NotificationEmphasis,\n NotificationPosition,\n} from '../../utils/constants';\nimport { type IconName } from '../nv-icon/nv-icons';\nimport { useCollapse, useFade, useSlide, parallel } from '../../animations';\n\ntype AriaRole = 'status' | 'alert';\ntype AriaLive = 'polite' | 'assertive';\n\n/**\n * @slot heading - Use this slot to insert HTML as the notification title.\n * @slot content - Use this slot to insert HTML as the notification message.\n * @slot actions - Use this slot for custom actions.\n */\n@Component({\n tag: 'nv-notification',\n styleUrl: 'styles/nv-notification.scss',\n shadow: false,\n})\nexport class NvNotification {\n @Element() el: HTMLNvNotificationElement;\n private container: HTMLElement;\n private headingSlot: HTMLElement;\n private messageSlot: HTMLElement;\n private actionsSlot: HTMLElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Set a unique ID for the notification. Used for aria attributes and managing\n * multiple notifications.\n */\n @Prop({ reflect: true })\n readonly uid: string = uuidv4();\n\n /**\n * Specifies the notification type which determines the color and default icon.\n */\n @Prop({ reflect: true })\n readonly feedback: `${FeedbackColors}` = 'information';\n\n /**\n * Adjusts the emphasis to make the notification more or less visually\n * prominent to users. Use this to draw attention to important actions or\n * reduce focus on less critical ones\n */\n @Prop({ reflect: true })\n readonly emphasis: `${NotificationEmphasis}` = 'medium';\n\n /**\n * Short and concise text for the notification title.\n */\n @Prop({ reflect: true })\n readonly heading: string;\n\n /**\n * Main content for the notification. For more complex content, use the\n * content slot instead.\n */\n @Prop({ reflect: true })\n readonly message: string;\n\n /**\n * Icon associated with the notification, defaults vary based on the feedback\n * type.\n */\n @Prop({ reflect: true })\n readonly icon: string;\n\n /**\n * Allows the notification to be dismissed via a close button (x). The\n * notification is not dismissible unless explicitly enabled.\n */\n @Prop({ reflect: true })\n readonly dismissible: boolean = false;\n\n /**\n * Controls the visibility of the notification.\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 notification will be hidden initially, but internal changes\n * will not be in a controlled state. Good for animating the notification in.\n */\n @Prop({ reflect: true })\n readonly initiallyHidden: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Dismisses the notification with an animation, after the animation is\n * complete, the hiddenChanged event will be emitted with the value of true,\n * and the hidden prop will be set to true.\n */\n @Method()\n async dismiss() {\n await this.dismissAnimation();\n }\n\n /**\n * Sets the hidden prop to false, and shows the notification with an\n * animation, after the animation is complete, the hiddenChanged event will be\n * emitted with the value of false.\n */\n @Method()\n async show() {\n await this.showAnimation();\n }\n\n //#endregion METHODS\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 //#endregion EVENTS\n /****************************************************************************/\n //#region INTERNAL\n\n private iconByFeedback: Record<FeedbackColors, IconName> = {\n [FeedbackColors.Warning]: 'alert-circle',\n [FeedbackColors.Information]: 'info-circle',\n [FeedbackColors.Success]: 'circle-check',\n [FeedbackColors.Error]: 'alert-triangle',\n [FeedbackColors.Neutral]: 'help',\n };\n\n private roleByFeedback: Record<FeedbackColors, AriaRole> = {\n [FeedbackColors.Error]: 'alert',\n [FeedbackColors.Warning]: 'alert',\n [FeedbackColors.Information]: 'status',\n [FeedbackColors.Success]: 'status',\n [FeedbackColors.Neutral]: 'status',\n };\n\n private getDefaultIcon(): IconName {\n return this.iconByFeedback[this.feedback] ?? 'info-circle';\n }\n\n private getAriaRole(): AriaRole {\n return this.roleByFeedback[this.feedback] ?? 'status';\n }\n\n private getAriaLive(): AriaLive {\n return this.getAriaRole() === 'alert' ? 'assertive' : 'polite';\n }\n\n private getHeadingId(): string | null {\n return this.heading ? `nv-notification-${this.uid}-heading` : null;\n }\n\n private getMessageId(): string | null {\n return this.message ? `nv-notification-${this.uid}-message` : null;\n }\n\n private async showAnimation() {\n this.hidden = false;\n\n const { setFadeIn } = useFade(this.container);\n const { expand } = useCollapse(this.el, {\n duration: 300,\n overflow: 'visible',\n });\n const { slideY, setSlideY } = useSlide(this.container, {\n duration: 300,\n });\n\n setSlideY(-100);\n setFadeIn();\n await parallel(slideY({ from: -100, to: 0 }), expand).start();\n\n this.hiddenChanged.emit(false);\n }\n\n private getSlideDestination(pos?: NotificationPosition): {\n /** The axis to slide. */\n axis: 'x' | 'y';\n /** The destination value. */\n to: number;\n } {\n switch (pos) {\n case NotificationPosition.TopRight:\n case NotificationPosition.BottomRight:\n return { axis: 'x', to: 100 }; // right\n case NotificationPosition.TopLeft:\n case NotificationPosition.BottomLeft:\n return { axis: 'x', to: -100 }; // left\n case NotificationPosition.TopCenter:\n return { axis: 'y', to: -100 }; // up\n case NotificationPosition.BottomCenter:\n return { axis: 'y', to: 100 }; // down\n default:\n return { axis: 'x', to: 100 }; // fallback\n }\n }\n\n private async dismissAnimation() {\n const position = this.el\n .closest('nv-notificationcontainer')\n ?.getAttribute('position') as NotificationPosition | undefined;\n\n const destination = this.getSlideDestination(position);\n\n const { fadeOut } = useFade(this.container, { duration: 300 });\n const { slideX, slideY, setSlideReset } = useSlide(this.container, {\n duration: 500,\n });\n const { collapse } = useCollapse(this.el, {\n duration: 500,\n overflow: 'visible',\n });\n const slide =\n destination.axis === 'x'\n ? slideX({ from: 0, to: destination.to })\n : slideY({ from: 0, to: destination.to });\n\n setSlideReset();\n await parallel(fadeOut, slide, collapse).start();\n\n this.hidden = true;\n this.hiddenChanged.emit(true);\n }\n\n //#endregion INTERNAL\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.headingSlot = this.el.querySelector('[slot=\"heading\"]');\n this.messageSlot = this.el.querySelector('[slot=\"content\"]');\n this.actionsSlot = this.el.querySelector('[slot=\"actions\"]');\n\n if (this.initiallyHidden) this.hidden = true;\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n role={this.getAriaRole()}\n aria-live={this.getAriaLive()}\n aria-atomic\n aria-labelledby={this.getHeadingId() ?? null}\n aria-describedby={this.getMessageId() ?? null}\n tabindex=\"-1\"\n >\n <div data-scope=\"container\" ref={el => (this.container = el)}>\n {this.dismissible && (\n <button\n data-scope=\"dismiss\"\n type=\"button\"\n onClick={this.dismiss.bind(this)}\n >\n <nv-icon name=\"x\" size=\"sm\" />\n </button>\n )}\n\n <nv-icon\n name={this.icon ?? this.getDefaultIcon()}\n size=\"md\"\n data-scope=\"icon\"\n ></nv-icon>\n\n <div data-scope=\"content\">\n {(this.heading || this.headingSlot) && (\n <p id={this.getHeadingId()} data-scope=\"heading\">\n <slot name=\"heading\">{this.heading}</slot>\n </p>\n )}\n {(this.message || this.messageSlot) && (\n <p id={this.getMessageId()} data-scope=\"message\">\n <slot name=\"content\">{this.message}</slot>\n </p>\n )}\n\n {this.actionsSlot && (\n <div data-scope=\"actions\">\n <slot name=\"actions\"></slot>\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n // #endregion RENDER\n}\n"]}
@@ -17,7 +17,7 @@ nv-notification [data-scope=container] {
17
17
  /* shadow/lg */
18
18
  box-shadow: 0 var(--shadow-y-axis-lg-1, 4px) var(--shadow-blur-lg-1, 6px) var(--shadow-spread-lg-1, -2px) var(--shadow-color-opacity-1, rgba(14, 14, 14, 0.06)), 0 var(--shadow-y-axis-lg-2, 10px) var(--shadow-blur-lg-2, 15px) var(--shadow-spread-lg-2, -3px) var(--shadow-color-opacity-2, rgba(14, 14, 14, 0.1));
19
19
  }
20
- nv-notification [data-scope=container] > nv-icon {
20
+ nv-notification [data-scope=container] [data-scope=icon] {
21
21
  flex-shrink: 0;
22
22
  }
23
23
  nv-notification [data-scope=container] [data-scope=dismiss] {
@@ -49,7 +49,7 @@ nv-notification [data-scope=container] [data-scope=content] [data-scope=heading]
49
49
  color: var(--components-notification-content-title);
50
50
  font-size: var(--notification-title-font-size);
51
51
  font-style: normal;
52
- font-weight: 500;
52
+ font-weight: var(--font-weight-medium-emphasis);
53
53
  line-height: 20px; /* 142.857% */
54
54
  }
55
55
  nv-notification [data-scope=container] [data-scope=content] [data-scope=message] {
@@ -62,7 +62,7 @@ nv-notification [data-scope=container] [data-scope=content] [data-scope=message]
62
62
  font-variant-numeric: lining-nums tabular-nums slashed-zero;
63
63
  font-size: var(--font-size-sm, 14px);
64
64
  font-style: normal;
65
- font-weight: 400;
65
+ font-weight: var(--font-weight-low-emphasis);
66
66
  line-height: var(--line-height-sm, 20px);
67
67
  }
68
68
  nv-notification [data-scope=container] [data-scope=content] [data-scope=actions] {
@@ -78,7 +78,7 @@ nv-notification[feedback=information] [data-scope=container] {
78
78
  background-color: var(--components-notification-information-background);
79
79
  border-color: var(--components-notification-information-border);
80
80
  }
81
- nv-notification[feedback=information] [data-scope=container] > nv-icon {
81
+ nv-notification[feedback=information] [data-scope=container] [data-scope=icon] {
82
82
  color: var(--components-notification-information-icon);
83
83
  }
84
84
  nv-notification[feedback=information] > [data-scope=close]:focus, nv-notification[feedback=information] > [data-scope=close]:focus-within {
@@ -92,7 +92,7 @@ nv-notification[feedback=warning] [data-scope=container] {
92
92
  background-color: var(--components-notification-warning-background);
93
93
  border-color: var(--components-notification-warning-border);
94
94
  }
95
- nv-notification[feedback=warning] [data-scope=container] > nv-icon {
95
+ nv-notification[feedback=warning] [data-scope=container] [data-scope=icon] {
96
96
  color: var(--components-notification-warning-icon);
97
97
  }
98
98
  nv-notification[feedback=warning] > [data-scope=close]:focus, nv-notification[feedback=warning] > [data-scope=close]:focus-within {
@@ -106,7 +106,7 @@ nv-notification[feedback=error] [data-scope=container] {
106
106
  background-color: var(--components-notification-error-background);
107
107
  border-color: var(--components-notification-error-border);
108
108
  }
109
- nv-notification[feedback=error] [data-scope=container] > nv-icon {
109
+ nv-notification[feedback=error] [data-scope=container] [data-scope=icon] {
110
110
  color: var(--components-notification-error-icon);
111
111
  }
112
112
  nv-notification[feedback=error] > [data-scope=close]:focus, nv-notification[feedback=error] > [data-scope=close]:focus-within {
@@ -120,7 +120,7 @@ nv-notification[feedback=success] [data-scope=container] {
120
120
  background-color: var(--components-notification-success-background);
121
121
  border-color: var(--components-notification-success-border);
122
122
  }
123
- nv-notification[feedback=success] [data-scope=container] > nv-icon {
123
+ nv-notification[feedback=success] [data-scope=container] [data-scope=icon] {
124
124
  color: var(--components-notification-success-icon);
125
125
  }
126
126
  nv-notification[feedback=success] > [data-scope=close]:focus, nv-notification[feedback=success] > [data-scope=close]:focus-within {
@@ -134,7 +134,7 @@ nv-notification[feedback=neutral] [data-scope=container] {
134
134
  background-color: var(--components-notification-neutral-background);
135
135
  border-color: var(--components-notification-neutral-border);
136
136
  }
137
- nv-notification[feedback=neutral] [data-scope=container] > nv-icon {
137
+ nv-notification[feedback=neutral] [data-scope=container] [data-scope=icon] {
138
138
  color: var(--components-notification-neutral-icon);
139
139
  }
140
140
  nv-notification[feedback=neutral] > [data-scope=close]:focus, nv-notification[feedback=neutral] > [data-scope=close]:focus-within {
@@ -0,0 +1,61 @@
1
+ nv-notificationcontainer {
2
+ position: fixed;
3
+ display: flex;
4
+ flex-direction: column;
5
+ padding: var(--spacing-2);
6
+ padding-top: 0;
7
+ z-index: 9999;
8
+ pointer-events: none;
9
+ width: 100%;
10
+ max-width: 512px;
11
+ }
12
+ nv-notificationcontainer.position-top-right {
13
+ top: 0;
14
+ right: 0;
15
+ }
16
+ nv-notificationcontainer.position-top-right nv-notification {
17
+ margin-top: var(--spacing-2);
18
+ }
19
+ nv-notificationcontainer.position-top-left {
20
+ top: 0;
21
+ left: 0;
22
+ }
23
+ nv-notificationcontainer.position-top-left nv-notification {
24
+ margin-bottom: var(--spacing-2);
25
+ }
26
+ nv-notificationcontainer.position-top-center {
27
+ top: 0;
28
+ left: 50%;
29
+ transform: translateX(-50%);
30
+ }
31
+ nv-notificationcontainer.position-top-center nv-notification {
32
+ margin-bottom: var(--spacing-2);
33
+ }
34
+ nv-notificationcontainer.position-bottom-right {
35
+ bottom: 0;
36
+ right: 0;
37
+ flex-direction: column-reverse;
38
+ }
39
+ nv-notificationcontainer.position-bottom-right nv-notification {
40
+ margin-top: var(--spacing-2);
41
+ }
42
+ nv-notificationcontainer.position-bottom-left {
43
+ bottom: 0;
44
+ left: 0;
45
+ flex-direction: column-reverse;
46
+ }
47
+ nv-notificationcontainer.position-bottom-left nv-notification {
48
+ margin-top: var(--spacing-2);
49
+ }
50
+ nv-notificationcontainer.position-bottom-center {
51
+ bottom: 0;
52
+ left: 50%;
53
+ transform: translateX(-50%);
54
+ flex-direction: column-reverse;
55
+ }
56
+ nv-notificationcontainer.position-bottom-center nv-notification {
57
+ margin-top: var(--spacing-2);
58
+ }
59
+ nv-notificationcontainer > * {
60
+ pointer-events: auto;
61
+ }
@@ -0,0 +1,7 @@
1
+ const NvNotificationcontainerDocs = {
2
+ component: 'nv-notificationcontainer',
3
+ badge: 'beta',
4
+ skip: true,
5
+ };
6
+ export default NvNotificationcontainerDocs;
7
+ //# sourceMappingURL=nv-notificationcontainer.docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nv-notificationcontainer.docs.js","sourceRoot":"","sources":["../../../src/components/nv-notificationcontainer/nv-notificationcontainer.docs.tsx"],"names":[],"mappings":"AAGA,MAAM,2BAA2B,GAC/B;IACE,SAAS,EAAE,0BAA0B;IACrC,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,IAAI;CACX,CAAC;AAEJ,eAAe,2BAA2B,CAAC","sourcesContent":["import type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\n\nconst NvNotificationcontainerDocs: NovaDocs<Components.NvNotificationcontainer> =\n {\n component: 'nv-notificationcontainer',\n badge: 'beta',\n skip: true,\n };\n\nexport default NvNotificationcontainerDocs;\n"]}
@@ -0,0 +1,76 @@
1
+ import { Host, h } from "@stencil/core";
2
+ /**
3
+ * @deprecated [EXPERIMENTAL]
4
+ * @experimental - Container for notifications TODO: add animations etc...
5
+ * @slot default - Child content of the component.
6
+ */
7
+ export class NvNotificationContainer {
8
+ constructor() {
9
+ /****************************************************************************/
10
+ //#region PROPERTIES
11
+ /**
12
+ * Position of the notification container on the screen.
13
+ */
14
+ this.position = 'top-right';
15
+ }
16
+ //#endregion PROPERTIES
17
+ /****************************************************************************/
18
+ //#region METHODS
19
+ //#endregion METHODS
20
+ /****************************************************************************/
21
+ //#region WATCHERS
22
+ //#endregion WATCHERS
23
+ /****************************************************************************/
24
+ //#region LIFECYCLE
25
+ //#endregion LIFECYCLE
26
+ /****************************************************************************/
27
+ //#region EVENTS
28
+ //#endregion EVENTS
29
+ /****************************************************************************/
30
+ //#region RENDER
31
+ render() {
32
+ return (h(Host, { key: 'db4005459b926bcfef55e76f61bff0b5635f2872', class: `position-${this.position}` }, h("slot", { key: '518909541ca3e9e82168436a43d5362c414c0ec3' })));
33
+ }
34
+ static get is() { return "nv-notificationcontainer"; }
35
+ static get originalStyleUrls() {
36
+ return {
37
+ "$": ["nv-notificationcontainer.scss"]
38
+ };
39
+ }
40
+ static get styleUrls() {
41
+ return {
42
+ "$": ["nv-notificationcontainer.css"]
43
+ };
44
+ }
45
+ static get properties() {
46
+ return {
47
+ "position": {
48
+ "type": "string",
49
+ "mutable": false,
50
+ "complexType": {
51
+ "original": "`${NotificationPosition}`",
52
+ "resolved": "\"bottom-center\" | \"bottom-left\" | \"bottom-right\" | \"top-center\" | \"top-left\" | \"top-right\"",
53
+ "references": {
54
+ "NotificationPosition": {
55
+ "location": "import",
56
+ "path": "../../utils/constants",
57
+ "id": "src/utils/constants.ts::NotificationPosition"
58
+ }
59
+ }
60
+ },
61
+ "required": false,
62
+ "optional": false,
63
+ "docs": {
64
+ "tags": [],
65
+ "text": "Position of the notification container on the screen."
66
+ },
67
+ "getter": false,
68
+ "setter": false,
69
+ "attribute": "position",
70
+ "reflect": true,
71
+ "defaultValue": "'top-right'"
72
+ }
73
+ };
74
+ }
75
+ }
76
+ //# sourceMappingURL=nv-notificationcontainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nv-notificationcontainer.js","sourceRoot":"","sources":["../../../src/components/nv-notificationcontainer/nv-notificationcontainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGzD;;;;GAIG;AAMH,MAAM,OAAO,uBAAuB;IALpC;QAME,8EAA8E;QAC9E,oBAAoB;QAEpB;;WAEG;QAEM,aAAQ,GAA8B,WAAW,CAAC;KAyB5D;IAvBC,uBAAuB;IACvB,8EAA8E;IAC9E,iBAAiB;IACjB,oBAAoB;IACpB,8EAA8E;IAC9E,kBAAkB;IAClB,qBAAqB;IACrB,8EAA8E;IAC9E,mBAAmB;IACnB,sBAAsB;IACtB,8EAA8E;IAC9E,gBAAgB;IAChB,mBAAmB;IACnB,8EAA8E;IAC9E,gBAAgB;IAChB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,YAAY,IAAI,CAAC,QAAQ,EAAE;YACtC,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEF","sourcesContent":["import { Component, Host, h, Prop } from '@stencil/core';\nimport { NotificationPosition } from '../../utils/constants';\n\n/**\n * @deprecated [EXPERIMENTAL]\n * @experimental - Container for notifications TODO: add animations etc...\n * @slot default - Child content of the component.\n */\n@Component({\n tag: 'nv-notificationcontainer',\n styleUrl: 'nv-notificationcontainer.scss',\n shadow: false,\n})\nexport class NvNotificationContainer {\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Position of the notification container on the screen.\n */\n @Prop({ reflect: true })\n readonly position: `${NotificationPosition}` = 'top-right';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n //#endregion METHODS\n /****************************************************************************/\n //#region WATCHERS\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region EVENTS\n //#endregion EVENTS\n /****************************************************************************/\n //#region RENDER\n render() {\n return (\n <Host class={`position-${this.position}`}>\n <slot></slot>\n </Host>\n );\n }\n // #endregion RENDER\n}\n"]}
@@ -4,19 +4,23 @@ const NvPopoverDocs = {
4
4
  component: 'nv-popover',
5
5
  subcomponents: ['nv-button'],
6
6
  stories: [
7
+ // Default
7
8
  {
8
9
  name: 'Default',
9
10
  template: (h("nv-popover", { "data-storybook-args": true }, h("nv-button", { slot: "trigger" }, "Click Me"), h("p", { slot: "content" }, "This is a Click popover."))),
10
11
  },
12
+ // Open
11
13
  {
12
14
  name: nameof(x => x.open),
13
15
  args: { open: true },
14
16
  template: (h("nv-popover", { "data-storybook-args": true }, h("nv-button", { slot: "trigger" }, "Click Me"), h("p", { slot: "content" }, "This is a pre opened popover."))),
15
17
  },
18
+ // TriggerMode
16
19
  {
17
20
  name: nameof(x => x.triggerMode),
18
21
  template: (h("div", { "data-class": "flex gap-4 items-start" }, h("nv-popover", { "data-storybook-args": true, "trigger-mode": "hover" }, h("nv-button", { slot: "trigger" }, "Hover Me"), h("p", { slot: "content" }, "This is a Hover popover.")), h("nv-popover", { "data-storybook-args": true, "trigger-mode": "click" }, h("nv-button", { slot: "trigger" }, "Click Me"), h("p", { slot: "content" }, "This is a Click popover.")), h("nv-popover", { "data-storybook-args": true, "trigger-mode": "controlled", open: true }, h("nv-button", { slot: "trigger" }, "Controlled"), h("p", { slot: "content" }, "This is a Controlled popover.")))),
19
22
  },
23
+ // Placement
20
24
  {
21
25
  name: nameof(x => x.placement),
22
26
  args: {
@@ -24,6 +28,7 @@ const NvPopoverDocs = {
24
28
  },
25
29
  template: (h("div", { "data-class": "flex gap-4 items-start" }, h("nv-popover", { "data-storybook-args": true, placement: "top", "data-class": "py-6" }, h("nv-button", { slot: "trigger" }, "Top"), h("p", { slot: "content" }, "This is a Top popover.")), h("nv-popover", { "data-storybook-args": true, placement: "bottom" }, h("nv-button", { slot: "trigger" }, "Bottom"), h("p", { slot: "content" }, "This is a Bottom popover.")), h("nv-popover", { "data-storybook-args": true, placement: "left" }, h("nv-button", { slot: "trigger" }, "Left"), h("p", { slot: "content" }, "This is a Left popover.")), h("nv-popover", { "data-storybook-args": true, placement: "right" }, h("nv-button", { slot: "trigger" }, "Right"), h("p", { slot: "content" }, "This is a Right popover.")))),
26
30
  },
31
+ // GroupName
27
32
  {
28
33
  name: nameof(x => x.groupName),
29
34
  args: {
@@ -31,6 +36,7 @@ const NvPopoverDocs = {
31
36
  },
32
37
  template: (h("div", { "data-class": "flex gap-4 items-start" }, h("nv-popover", { "data-storybook-args": true }, h("nv-button", { slot: "trigger" }, "Popover 1"), h("p", { slot: "content" }, "This is a popover.")), h("nv-popover", { "data-storybook-args": true }, h("nv-button", { slot: "trigger" }, "Popover 2"), h("p", { slot: "content" }, "This is a popover.")), h("nv-popover", { "data-storybook-args": true }, h("nv-button", { slot: "trigger" }, "Popover 3"), h("p", { slot: "content" }, "This is a popover.")))),
33
38
  },
39
+ // Offset
34
40
  {
35
41
  name: nameof(x => x.offset),
36
42
  args: {
@@ -39,6 +45,7 @@ const NvPopoverDocs = {
39
45
  },
40
46
  template: (h("nv-popover", { "data-storybook-args": true }, h("nv-button", { slot: "trigger" }, "Offset"), h("p", { slot: "content" }, "This is a popover with 30px offset."))),
41
47
  },
48
+ // HasArrow
42
49
  {
43
50
  name: nameof(x => x.hasArrow),
44
51
  args: {
@@ -46,6 +53,7 @@ const NvPopoverDocs = {
46
53
  },
47
54
  template: (h("nv-popover", { "data-storybook-args": true }, h("nv-button", { slot: "trigger" }, "Arrow"), h("p", { slot: "content" }, "This is a popover with an arrow."))),
48
55
  },
56
+ // DisableFlip
49
57
  {
50
58
  name: nameof(x => x.disableFlip),
51
59
  args: {
@@ -53,6 +61,7 @@ const NvPopoverDocs = {
53
61
  },
54
62
  template: (h("div", { "data-class": "flex gap-4 items-start" }, h("nv-popover", { "data-storybook-args": true, "disable-flip": true, placement: "bottom", "data-class": "py-6" }, h("nv-button", { slot: "trigger" }, "Flip Off Placement Bottom"), h("p", { slot: "content" }, "This will always stay to the bottom.")), h("nv-popover", { "data-storybook-args": true, placement: "top", "data-class": "py-6" }, h("nv-button", { slot: "trigger" }, "Flip On Placement Top"), h("p", { slot: "content" }, "This could flip to the bottom.")), h("nv-popover", { "data-storybook-args": true, placement: "bottom", "data-class": "py-6" }, h("nv-button", { slot: "trigger" }, "Flip On Placement Bottom"), h("p", { slot: "content" }, "This could flip to the top.")))),
55
63
  },
64
+ // ShiftPadding
56
65
  {
57
66
  name: nameof(x => x.shiftPadding),
58
67
  args: {
@@ -60,6 +69,7 @@ const NvPopoverDocs = {
60
69
  },
61
70
  template: (h("nv-popover", { "data-storybook-args": true }, h("nv-button", { slot: "trigger" }, "Shift Padding"), h("p", { slot: "content" }, "This is a popover with 40px padding."))),
62
71
  },
72
+ // EnterDelay
63
73
  {
64
74
  name: nameof(x => x.enterDelay),
65
75
  args: {
@@ -68,6 +78,7 @@ const NvPopoverDocs = {
68
78
  },
69
79
  template: (h("nv-popover", { "data-storybook-args": true }, h("nv-button", { slot: "trigger" }, "Hover me and wait 1s"), h("p", { slot: "content" }, "This is a popover with a 1s enter delay."))),
70
80
  },
81
+ // Strategy
71
82
  {
72
83
  name: nameof(x => x.strategy),
73
84
  template: (h("div", { "data-class": "flex gap-8 items-start" }, h("div", { "data-class": "relative" }, h("h4", { "data-class": "mb-2 text-sm font-medium" }, "Absolute Strategy (Default)"), h("div", { "data-class": "w-48 h-32 overflow-hidden border border-gray-300 rounded p-4" }, h("p", { "data-class": "mb-2 text-xs" }, "Scroll container with overflow hidden"), h("nv-popover", { "data-storybook-args": true, strategy: "absolute", placement: "right" }, h("nv-button", { slot: "trigger" }, "Absolute"), h("p", { slot: "content" }, "This popover uses absolute positioning and may be clipped by overflow containers.")))), h("div", { "data-class": "relative" }, h("h4", { "data-class": "mb-2 text-sm font-medium" }, "Fixed Strategy"), h("div", { "data-class": "w-48 h-32 overflow-hidden border border-gray-300 rounded p-4" }, h("p", { "data-class": "mb-2 text-xs" }, "Scroll container with overflow hidden"), h("nv-popover", { "data-storybook-args": true, strategy: "fixed", placement: "right" }, h("nv-button", { slot: "trigger" }, "Fixed"), h("p", { slot: "content" }, "This popover uses fixed positioning and breaks out of overflow containers.")))))),
@@ -1 +1 @@
1
- {"version":3,"file":"nv-popover.docs.js","sourceRoot":"","sources":["../../../src/components/nv-popover/nv-popover.docs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h } from '@stencil/core';\nimport type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\nimport { nameof } from '../../utils/class.utils';\n\nconst NvPopoverDocs: NovaDocs<Components.NvPopover> = {\n component: 'nv-popover',\n subcomponents: ['nv-button'],\n stories: [\n {\n name: 'Default',\n template: (\n <nv-popover data-storybook-args>\n <nv-button slot=\"trigger\">Click Me</nv-button>\n <p slot=\"content\">This is a Click popover.</p>\n </nv-popover>\n ),\n },\n {\n name: nameof<Components.NvPopover>(x => x.open),\n args: { open: true },\n template: (\n <nv-popover data-storybook-args>\n <nv-button slot=\"trigger\">Click Me</nv-button>\n <p slot=\"content\">This is a pre opened popover.</p>\n </nv-popover>\n ),\n },\n {\n name: nameof<Components.NvPopover>(x => x.triggerMode),\n template: (\n <div data-class=\"flex gap-4 items-start\">\n <nv-popover data-storybook-args trigger-mode=\"hover\">\n <nv-button slot=\"trigger\">Hover Me</nv-button>\n <p slot=\"content\">This is a Hover popover.</p>\n </nv-popover>\n <nv-popover data-storybook-args trigger-mode=\"click\">\n <nv-button slot=\"trigger\">Click Me</nv-button>\n <p slot=\"content\">This is a Click popover.</p>\n </nv-popover>\n <nv-popover data-storybook-args trigger-mode=\"controlled\" open>\n <nv-button slot=\"trigger\">Controlled</nv-button>\n <p slot=\"content\">This is a Controlled popover.</p>\n </nv-popover>\n </div>\n ),\n },\n {\n name: nameof<Components.NvPopover>(x => x.placement),\n args: {\n hasArrow: true,\n },\n template: (\n <div data-class=\"flex gap-4 items-start\">\n <nv-popover data-storybook-args placement=\"top\" data-class=\"py-6\">\n <nv-button slot=\"trigger\">Top</nv-button>\n <p slot=\"content\">This is a Top popover.</p>\n </nv-popover>\n <nv-popover data-storybook-args placement=\"bottom\">\n <nv-button slot=\"trigger\">Bottom</nv-button>\n <p slot=\"content\">This is a Bottom popover.</p>\n </nv-popover>\n <nv-popover data-storybook-args placement=\"left\">\n <nv-button slot=\"trigger\">Left</nv-button>\n <p slot=\"content\">This is a Left popover.</p>\n </nv-popover>\n <nv-popover data-storybook-args placement=\"right\">\n <nv-button slot=\"trigger\">Right</nv-button>\n <p slot=\"content\">This is a Right popover.</p>\n </nv-popover>\n </div>\n ),\n },\n {\n name: nameof<Components.NvPopover>(x => x.groupName),\n args: {\n groupName: 'popover-group-1',\n },\n template: (\n <div data-class=\"flex gap-4 items-start\">\n <nv-popover data-storybook-args>\n <nv-button slot=\"trigger\">Popover 1</nv-button>\n <p slot=\"content\">This is a popover.</p>\n </nv-popover>\n <nv-popover data-storybook-args>\n <nv-button slot=\"trigger\">Popover 2</nv-button>\n <p slot=\"content\">This is a popover.</p>\n </nv-popover>\n <nv-popover data-storybook-args>\n <nv-button slot=\"trigger\">Popover 3</nv-button>\n <p slot=\"content\">This is a popover.</p>\n </nv-popover>\n </div>\n ),\n },\n {\n name: nameof<Components.NvPopover>(x => x.offset),\n args: {\n offset: 30,\n placement: 'right',\n },\n template: (\n <nv-popover data-storybook-args>\n <nv-button slot=\"trigger\">Offset</nv-button>\n <p slot=\"content\">This is a popover with 30px offset.</p>\n </nv-popover>\n ),\n },\n {\n name: nameof<Components.NvPopover>(x => x.hasArrow),\n args: {\n hasArrow: true,\n },\n template: (\n <nv-popover data-storybook-args>\n <nv-button slot=\"trigger\">Arrow</nv-button>\n <p slot=\"content\">This is a popover with an arrow.</p>\n </nv-popover>\n ),\n },\n {\n name: nameof<Components.NvPopover>(x => x.disableFlip),\n args: {\n open: true,\n },\n template: (\n <div data-class=\"flex gap-4 items-start\">\n <nv-popover\n data-storybook-args\n disable-flip\n placement=\"bottom\"\n data-class=\"py-6\"\n >\n <nv-button slot=\"trigger\">Flip Off Placement Bottom</nv-button>\n <p slot=\"content\">This will always stay to the bottom.</p>\n </nv-popover>\n <nv-popover data-storybook-args placement=\"top\" data-class=\"py-6\">\n <nv-button slot=\"trigger\">Flip On Placement Top</nv-button>\n <p slot=\"content\">This could flip to the bottom.</p>\n </nv-popover>\n <nv-popover data-storybook-args placement=\"bottom\" data-class=\"py-6\">\n <nv-button slot=\"trigger\">Flip On Placement Bottom</nv-button>\n <p slot=\"content\">This could flip to the top.</p>\n </nv-popover>\n </div>\n ),\n },\n {\n name: nameof<Components.NvPopover>(x => x.shiftPadding),\n args: {\n shiftPadding: 40,\n },\n template: (\n <nv-popover data-storybook-args>\n <nv-button slot=\"trigger\">Shift Padding</nv-button>\n <p slot=\"content\">This is a popover with 40px padding.</p>\n </nv-popover>\n ),\n },\n {\n name: nameof<Components.NvPopover>(x => x.enterDelay),\n args: {\n enterDelay: 1000,\n triggerMode: 'hover',\n },\n template: (\n <nv-popover data-storybook-args>\n <nv-button slot=\"trigger\">Hover me and wait 1s</nv-button>\n <p slot=\"content\">This is a popover with a 1s enter delay.</p>\n </nv-popover>\n ),\n },\n {\n name: nameof<Components.NvPopover>(x => x.strategy),\n template: (\n <div data-class=\"flex gap-8 items-start\">\n <div data-class=\"relative\">\n <h4 data-class=\"mb-2 text-sm font-medium\">\n Absolute Strategy (Default)\n </h4>\n <div data-class=\"w-48 h-32 overflow-hidden border border-gray-300 rounded p-4\">\n <p data-class=\"mb-2 text-xs\">\n Scroll container with overflow hidden\n </p>\n <nv-popover\n data-storybook-args\n strategy=\"absolute\"\n placement=\"right\"\n >\n <nv-button slot=\"trigger\">Absolute</nv-button>\n <p slot=\"content\">\n This popover uses absolute positioning and may be clipped by\n overflow containers.\n </p>\n </nv-popover>\n </div>\n </div>\n <div data-class=\"relative\">\n <h4 data-class=\"mb-2 text-sm font-medium\">Fixed Strategy</h4>\n <div data-class=\"w-48 h-32 overflow-hidden border border-gray-300 rounded p-4\">\n <p data-class=\"mb-2 text-xs\">\n Scroll container with overflow hidden\n </p>\n <nv-popover\n data-storybook-args\n strategy=\"fixed\"\n placement=\"right\"\n >\n <nv-button slot=\"trigger\">Fixed</nv-button>\n <p slot=\"content\">\n This popover uses fixed positioning and breaks out of overflow\n containers.\n </p>\n </nv-popover>\n </div>\n </div>\n </div>\n ),\n },\n ],\n};\n\nexport default NvPopoverDocs;\n"]}
1
+ {"version":3,"file":"nv-popover.docs.js","sourceRoot":"","sources":["../../../src/components/nv-popover/nv-popover.docs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h } from '@stencil/core';\nimport type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\nimport { nameof } from '../../utils/class.utils';\n\nconst NvPopoverDocs: NovaDocs<Components.NvPopover> = {\n component: 'nv-popover',\n subcomponents: ['nv-button'],\n stories: [\n // Default\n {\n name: 'Default',\n template: (\n <nv-popover data-storybook-args>\n <nv-button slot=\"trigger\">Click Me</nv-button>\n <p slot=\"content\">This is a Click popover.</p>\n </nv-popover>\n ),\n },\n // Open\n {\n name: nameof<Components.NvPopover>(x => x.open),\n args: { open: true },\n template: (\n <nv-popover data-storybook-args>\n <nv-button slot=\"trigger\">Click Me</nv-button>\n <p slot=\"content\">This is a pre opened popover.</p>\n </nv-popover>\n ),\n },\n // TriggerMode\n {\n name: nameof<Components.NvPopover>(x => x.triggerMode),\n template: (\n <div data-class=\"flex gap-4 items-start\">\n <nv-popover data-storybook-args trigger-mode=\"hover\">\n <nv-button slot=\"trigger\">Hover Me</nv-button>\n <p slot=\"content\">This is a Hover popover.</p>\n </nv-popover>\n <nv-popover data-storybook-args trigger-mode=\"click\">\n <nv-button slot=\"trigger\">Click Me</nv-button>\n <p slot=\"content\">This is a Click popover.</p>\n </nv-popover>\n <nv-popover data-storybook-args trigger-mode=\"controlled\" open>\n <nv-button slot=\"trigger\">Controlled</nv-button>\n <p slot=\"content\">This is a Controlled popover.</p>\n </nv-popover>\n </div>\n ),\n },\n // Placement\n {\n name: nameof<Components.NvPopover>(x => x.placement),\n args: {\n hasArrow: true,\n },\n template: (\n <div data-class=\"flex gap-4 items-start\">\n <nv-popover data-storybook-args placement=\"top\" data-class=\"py-6\">\n <nv-button slot=\"trigger\">Top</nv-button>\n <p slot=\"content\">This is a Top popover.</p>\n </nv-popover>\n <nv-popover data-storybook-args placement=\"bottom\">\n <nv-button slot=\"trigger\">Bottom</nv-button>\n <p slot=\"content\">This is a Bottom popover.</p>\n </nv-popover>\n <nv-popover data-storybook-args placement=\"left\">\n <nv-button slot=\"trigger\">Left</nv-button>\n <p slot=\"content\">This is a Left popover.</p>\n </nv-popover>\n <nv-popover data-storybook-args placement=\"right\">\n <nv-button slot=\"trigger\">Right</nv-button>\n <p slot=\"content\">This is a Right popover.</p>\n </nv-popover>\n </div>\n ),\n },\n // GroupName\n {\n name: nameof<Components.NvPopover>(x => x.groupName),\n args: {\n groupName: 'popover-group-1',\n },\n template: (\n <div data-class=\"flex gap-4 items-start\">\n <nv-popover data-storybook-args>\n <nv-button slot=\"trigger\">Popover 1</nv-button>\n <p slot=\"content\">This is a popover.</p>\n </nv-popover>\n <nv-popover data-storybook-args>\n <nv-button slot=\"trigger\">Popover 2</nv-button>\n <p slot=\"content\">This is a popover.</p>\n </nv-popover>\n <nv-popover data-storybook-args>\n <nv-button slot=\"trigger\">Popover 3</nv-button>\n <p slot=\"content\">This is a popover.</p>\n </nv-popover>\n </div>\n ),\n },\n // Offset\n {\n name: nameof<Components.NvPopover>(x => x.offset),\n args: {\n offset: 30,\n placement: 'right',\n },\n template: (\n <nv-popover data-storybook-args>\n <nv-button slot=\"trigger\">Offset</nv-button>\n <p slot=\"content\">This is a popover with 30px offset.</p>\n </nv-popover>\n ),\n },\n // HasArrow\n {\n name: nameof<Components.NvPopover>(x => x.hasArrow),\n args: {\n hasArrow: true,\n },\n template: (\n <nv-popover data-storybook-args>\n <nv-button slot=\"trigger\">Arrow</nv-button>\n <p slot=\"content\">This is a popover with an arrow.</p>\n </nv-popover>\n ),\n },\n // DisableFlip\n {\n name: nameof<Components.NvPopover>(x => x.disableFlip),\n args: {\n open: true,\n },\n template: (\n <div data-class=\"flex gap-4 items-start\">\n <nv-popover\n data-storybook-args\n disable-flip\n placement=\"bottom\"\n data-class=\"py-6\"\n >\n <nv-button slot=\"trigger\">Flip Off Placement Bottom</nv-button>\n <p slot=\"content\">This will always stay to the bottom.</p>\n </nv-popover>\n <nv-popover data-storybook-args placement=\"top\" data-class=\"py-6\">\n <nv-button slot=\"trigger\">Flip On Placement Top</nv-button>\n <p slot=\"content\">This could flip to the bottom.</p>\n </nv-popover>\n <nv-popover data-storybook-args placement=\"bottom\" data-class=\"py-6\">\n <nv-button slot=\"trigger\">Flip On Placement Bottom</nv-button>\n <p slot=\"content\">This could flip to the top.</p>\n </nv-popover>\n </div>\n ),\n },\n // ShiftPadding\n {\n name: nameof<Components.NvPopover>(x => x.shiftPadding),\n args: {\n shiftPadding: 40,\n },\n template: (\n <nv-popover data-storybook-args>\n <nv-button slot=\"trigger\">Shift Padding</nv-button>\n <p slot=\"content\">This is a popover with 40px padding.</p>\n </nv-popover>\n ),\n },\n // EnterDelay\n {\n name: nameof<Components.NvPopover>(x => x.enterDelay),\n args: {\n enterDelay: 1000,\n triggerMode: 'hover',\n },\n template: (\n <nv-popover data-storybook-args>\n <nv-button slot=\"trigger\">Hover me and wait 1s</nv-button>\n <p slot=\"content\">This is a popover with a 1s enter delay.</p>\n </nv-popover>\n ),\n },\n // Strategy\n {\n name: nameof<Components.NvPopover>(x => x.strategy),\n template: (\n <div data-class=\"flex gap-8 items-start\">\n <div data-class=\"relative\">\n <h4 data-class=\"mb-2 text-sm font-medium\">\n Absolute Strategy (Default)\n </h4>\n <div data-class=\"w-48 h-32 overflow-hidden border border-gray-300 rounded p-4\">\n <p data-class=\"mb-2 text-xs\">\n Scroll container with overflow hidden\n </p>\n <nv-popover\n data-storybook-args\n strategy=\"absolute\"\n placement=\"right\"\n >\n <nv-button slot=\"trigger\">Absolute</nv-button>\n <p slot=\"content\">\n This popover uses absolute positioning and may be clipped by\n overflow containers.\n </p>\n </nv-popover>\n </div>\n </div>\n <div data-class=\"relative\">\n <h4 data-class=\"mb-2 text-sm font-medium\">Fixed Strategy</h4>\n <div data-class=\"w-48 h-32 overflow-hidden border border-gray-300 rounded p-4\">\n <p data-class=\"mb-2 text-xs\">\n Scroll container with overflow hidden\n </p>\n <nv-popover\n data-storybook-args\n strategy=\"fixed\"\n placement=\"right\"\n >\n <nv-button slot=\"trigger\">Fixed</nv-button>\n <p slot=\"content\">\n This popover uses fixed positioning and breaks out of overflow\n containers.\n </p>\n </nv-popover>\n </div>\n </div>\n </div>\n ),\n },\n ],\n};\n\nexport default NvPopoverDocs;\n"]}