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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (543) hide show
  1. package/dist/cjs/collapse.animation-47397763.js +218 -0
  2. package/dist/cjs/collapse.animation-47397763.js.map +1 -0
  3. package/dist/cjs/{constants-3b6beb66.js → constants-52f6f8e9.js} +24 -42
  4. package/dist/cjs/constants-52f6f8e9.js.map +1 -0
  5. package/dist/cjs/fade.animation-cf6eba0d.js +726 -0
  6. package/dist/cjs/fade.animation-cf6eba0d.js.map +1 -0
  7. package/dist/cjs/{grow.animation-6d003803.js → grow.animation-9258ba63.js} +6 -5
  8. package/dist/cjs/grow.animation-9258ba63.js.map +1 -0
  9. package/dist/cjs/index-c56424e5.js +4 -0
  10. package/dist/cjs/index.cjs.js +114 -13
  11. package/dist/cjs/index.cjs.js.map +1 -1
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/cjs/native.cjs.js +1 -1
  14. package/dist/cjs/nv-accordion-item.cjs.entry.js +72 -38
  15. package/dist/cjs/nv-accordion-item.cjs.entry.js.map +1 -1
  16. package/dist/cjs/nv-accordion.cjs.entry.js +79 -65
  17. package/dist/cjs/nv-accordion.cjs.entry.js.map +1 -1
  18. package/dist/cjs/nv-alert.cjs.entry.js +12 -12
  19. package/dist/cjs/nv-alert.cjs.entry.js.map +1 -1
  20. package/dist/cjs/nv-avatar.cjs.entry.js +1 -1
  21. package/dist/cjs/nv-badge_2.cjs.entry.js +5 -5
  22. package/dist/cjs/nv-badge_2.cjs.entry.js.map +1 -1
  23. package/dist/cjs/nv-breadcrumb.cjs.entry.js +1 -1
  24. package/dist/cjs/nv-breadcrumb.cjs.entry.js.map +1 -1
  25. package/dist/cjs/nv-button.cjs.entry.js +2 -2
  26. package/dist/cjs/nv-button.cjs.entry.js.map +1 -1
  27. package/dist/cjs/nv-calendar.cjs.entry.js +14 -10
  28. package/dist/cjs/nv-calendar.cjs.entry.js.map +1 -1
  29. package/dist/cjs/nv-datagrid.cjs.entry.js +2 -2
  30. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
  31. package/dist/cjs/nv-dialog.cjs.entry.js +1 -1
  32. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +9 -6
  33. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js.map +1 -1
  34. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +1 -1
  35. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js.map +1 -1
  36. package/dist/cjs/nv-fielddate.cjs.entry.js +1 -1
  37. package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
  38. package/dist/cjs/nv-fielddaterange.cjs.entry.js +1 -1
  39. package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
  40. package/dist/cjs/nv-fielddropdown.cjs.entry.js +1 -1
  41. package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
  42. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +1 -31
  43. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
  44. package/dist/cjs/nv-fieldnumber.cjs.entry.js +2 -2
  45. package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
  46. package/dist/cjs/nv-fieldpassword.cjs.entry.js +1 -1
  47. package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
  48. package/dist/cjs/nv-fieldradio.cjs.entry.js +1 -1
  49. package/dist/cjs/nv-fieldradio.cjs.entry.js.map +1 -1
  50. package/dist/cjs/nv-fieldselect.cjs.entry.js +1 -1
  51. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
  52. package/dist/cjs/nv-fieldslider.cjs.entry.js +24 -16
  53. package/dist/cjs/nv-fieldslider.cjs.entry.js.map +1 -1
  54. package/dist/cjs/nv-fieldtime.cjs.entry.js +2 -2
  55. package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -1
  56. package/dist/cjs/nv-icon.cjs.entry.js +2 -2
  57. package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
  58. package/dist/cjs/nv-iconbutton_2.cjs.entry.js +1 -1
  59. package/dist/cjs/nv-iconbutton_2.cjs.entry.js.map +1 -1
  60. package/dist/cjs/nv-notification.cjs.entry.js +120 -0
  61. package/dist/cjs/nv-notification.cjs.entry.js.map +1 -0
  62. package/dist/cjs/nv-popover.cjs.entry.js +24 -7
  63. package/dist/cjs/nv-popover.cjs.entry.js.map +1 -1
  64. package/dist/cjs/nv-row.cjs.entry.js +1 -1
  65. package/dist/cjs/nv-stack.cjs.entry.js +1 -1
  66. package/dist/cjs/nv-table.cjs.entry.js +2 -2
  67. package/dist/cjs/nv-toggle.cjs.entry.js +3 -3
  68. package/dist/cjs/nv-toggle.cjs.entry.js.map +1 -1
  69. package/dist/cjs/nv-togglebutton.cjs.entry.js +2 -2
  70. package/dist/cjs/nv-togglebutton.cjs.entry.js.map +1 -1
  71. package/dist/cjs/nv-togglebuttongroup.cjs.entry.js +1 -1
  72. package/dist/cjs/nv-tooltip.cjs.entry.js +11 -2
  73. package/dist/cjs/nv-tooltip.cjs.entry.js.map +1 -1
  74. package/dist/cjs/slide.animation-bedfc827.js +70 -0
  75. package/dist/cjs/slide.animation-bedfc827.js.map +1 -0
  76. package/dist/cjs/{stylefire.es-717e022a.js → style-value-types.es-eea2f16f.js} +51 -696
  77. package/dist/cjs/style-value-types.es-eea2f16f.js.map +1 -0
  78. package/dist/cjs/{timeline.animation-155e8839.js → timeline.animation-2878afb6.js} +20 -1
  79. package/dist/cjs/timeline.animation-2878afb6.js.map +1 -0
  80. package/dist/collection/animations/collapse.animation.js +110 -50
  81. package/dist/collection/animations/collapse.animation.js.map +1 -1
  82. package/dist/collection/animations/index.js +1 -0
  83. package/dist/collection/animations/index.js.map +1 -1
  84. package/dist/collection/animations/slide.animation.js +65 -0
  85. package/dist/collection/animations/slide.animation.js.map +1 -0
  86. package/dist/collection/animations/timeline.animation.js +19 -1
  87. package/dist/collection/animations/timeline.animation.js.map +1 -1
  88. package/dist/collection/collection-manifest.json +1 -0
  89. package/dist/collection/components/nv-accordion/nv-accordion.docs.js +78 -20
  90. package/dist/collection/components/nv-accordion/nv-accordion.docs.js.map +1 -1
  91. package/dist/collection/components/nv-accordion/nv-accordion.js +88 -68
  92. package/dist/collection/components/nv-accordion/nv-accordion.js.map +1 -1
  93. package/dist/collection/components/nv-accordion-item/nv-accordion-item.js +70 -36
  94. package/dist/collection/components/nv-accordion-item/nv-accordion-item.js.map +1 -1
  95. package/dist/collection/components/nv-accordion-item/styles/nv-accordion-item.css +3 -0
  96. package/dist/collection/components/nv-alert/nv-alert.css +1 -6
  97. package/dist/collection/components/nv-alert/nv-alert.js +6 -6
  98. package/dist/collection/components/nv-alert/nv-alert.js.map +1 -1
  99. package/dist/collection/components/nv-badge/nv-badge.css +0 -21
  100. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.css +0 -2
  101. package/dist/collection/components/nv-button/styles/nv-button.css +0 -8
  102. package/dist/collection/components/nv-calendar/nv-calendar.css +4 -0
  103. package/dist/collection/components/nv-calendar/nv-calendar.docs.js +14 -0
  104. package/dist/collection/components/nv-calendar/nv-calendar.docs.js.map +1 -1
  105. package/dist/collection/components/nv-calendar/nv-calendar.js +47 -3
  106. package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -1
  107. package/dist/collection/components/nv-calendar/partials/calendar-actions.js +2 -2
  108. package/dist/collection/components/nv-calendar/partials/calendar-actions.js.map +1 -1
  109. package/dist/collection/components/nv-datagrid/nv-datagrid.css +0 -1
  110. package/dist/collection/components/nv-dialog/nv-dialog.docs.js +8 -0
  111. package/dist/collection/components/nv-dialog/nv-dialog.docs.js.map +1 -1
  112. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js +13 -11
  113. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js.map +1 -1
  114. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.css +0 -1
  115. package/dist/collection/components/nv-fielddate/styles/nv-fielddate.css +4 -0
  116. package/dist/collection/components/nv-fielddaterange/styles/nv-fielddaterange.css +6 -0
  117. package/dist/collection/components/nv-fielddropdown/styles/nv-fielddropdown.css +4 -0
  118. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +0 -30
  119. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
  120. package/dist/collection/components/nv-fieldmultiselect/styles/nv-fieldmultiselect.css +4 -0
  121. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.css +8 -0
  122. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +1 -1
  123. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +1 -1
  124. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.css +4 -0
  125. package/dist/collection/components/nv-fieldradio/nv-fieldradio.css +0 -1
  126. package/dist/collection/components/nv-fieldselect/nv-fieldselect.css +6 -0
  127. package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js +0 -1
  128. package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js.map +1 -1
  129. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +10 -10
  130. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js.map +1 -1
  131. package/dist/collection/components/nv-fieldslider/partials/field-input.js +13 -5
  132. package/dist/collection/components/nv-fieldslider/partials/field-input.js.map +1 -1
  133. package/dist/collection/components/nv-fieldslider/styles/nv-fieldslider.css +27 -0
  134. package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js +0 -1
  135. package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js.map +1 -1
  136. package/dist/collection/components/nv-fieldtime/styles/nv-fieldtime.css +4 -0
  137. package/dist/collection/components/nv-icon/nv-icons.js +5 -5
  138. package/dist/collection/components/nv-icon/nv-icons.js.map +1 -1
  139. package/dist/collection/components/nv-iconbutton/nv-iconbutton.css +0 -4
  140. package/dist/collection/components/nv-menuitem/nv-menuitem.js +1 -1
  141. package/dist/collection/components/nv-notification/nv-notification.docs.js +72 -0
  142. package/dist/collection/components/nv-notification/nv-notification.docs.js.map +1 -0
  143. package/dist/collection/components/nv-notification/nv-notification.js +333 -0
  144. package/dist/collection/components/nv-notification/nv-notification.js.map +1 -0
  145. package/dist/collection/components/nv-notification/styles/nv-notification.css +155 -0
  146. package/dist/collection/components/nv-popover/nv-popover.css +7 -0
  147. package/dist/collection/components/nv-popover/nv-popover.docs.js +4 -0
  148. package/dist/collection/components/nv-popover/nv-popover.docs.js.map +1 -1
  149. package/dist/collection/components/nv-popover/nv-popover.js +47 -2
  150. package/dist/collection/components/nv-popover/nv-popover.js.map +1 -1
  151. package/dist/collection/components/nv-row/nv-row.js +1 -1
  152. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  153. package/dist/collection/components/nv-table/nv-table.js +2 -2
  154. package/dist/collection/components/nv-toggle/nv-toggle.css +0 -1
  155. package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
  156. package/dist/collection/components/nv-togglebutton/nv-togglebutton.js +1 -1
  157. package/dist/collection/components/nv-togglebutton/styles/nv-togglebutton.css +3 -2
  158. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js +0 -1
  159. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js.map +1 -1
  160. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js +1 -1
  161. package/dist/collection/components/nv-tooltip/nv-tooltip.docs.js +5 -0
  162. package/dist/collection/components/nv-tooltip/nv-tooltip.docs.js.map +1 -1
  163. package/dist/collection/components/nv-tooltip/nv-tooltip.js +38 -3
  164. package/dist/collection/components/nv-tooltip/nv-tooltip.js.map +1 -1
  165. package/dist/collection/index.js +10 -2
  166. package/dist/collection/index.js.map +1 -1
  167. package/dist/collection/utils/constants.js +5 -0
  168. package/dist/collection/utils/constants.js.map +1 -1
  169. package/dist/components/index.js +14 -11
  170. package/dist/components/index.js.map +1 -1
  171. package/dist/components/nv-accordion-item.js +1 -1
  172. package/dist/components/nv-accordion.js +88 -71
  173. package/dist/components/nv-accordion.js.map +1 -1
  174. package/dist/components/nv-alert.js +13 -13
  175. package/dist/components/nv-alert.js.map +1 -1
  176. package/dist/components/nv-avatar.js +2 -2
  177. package/dist/components/nv-badge.js +1 -1
  178. package/dist/components/nv-breadcrumb.js +3 -3
  179. package/dist/components/nv-breadcrumb.js.map +1 -1
  180. package/dist/components/nv-button.js +1 -1
  181. package/dist/components/nv-calendar.js +1 -1
  182. package/dist/components/nv-datagrid.js +4 -4
  183. package/dist/components/nv-datagrid.js.map +1 -1
  184. package/dist/components/nv-dialog.js +4 -4
  185. package/dist/components/nv-dialogfooter.js +1 -1
  186. package/dist/components/nv-fieldcheckbox.js +1 -1
  187. package/dist/components/nv-fielddate.js +6 -6
  188. package/dist/components/nv-fielddate.js.map +1 -1
  189. package/dist/components/nv-fielddaterange.js +6 -6
  190. package/dist/components/nv-fielddaterange.js.map +1 -1
  191. package/dist/components/nv-fielddropdown.js +5 -5
  192. package/dist/components/nv-fielddropdown.js.map +1 -1
  193. package/dist/components/nv-fielddropdownitem.js +1 -1
  194. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  195. package/dist/components/nv-fieldmultiselect.js +7 -37
  196. package/dist/components/nv-fieldmultiselect.js.map +1 -1
  197. package/dist/components/nv-fieldnumber.js +1 -1
  198. package/dist/components/nv-fieldpassword.js +3 -3
  199. package/dist/components/nv-fieldpassword.js.map +1 -1
  200. package/dist/components/nv-fieldradio.js +1 -1
  201. package/dist/components/nv-fieldradio.js.map +1 -1
  202. package/dist/components/nv-fieldselect.js +3 -3
  203. package/dist/components/nv-fieldselect.js.map +1 -1
  204. package/dist/components/nv-fieldslider.js +27 -19
  205. package/dist/components/nv-fieldslider.js.map +1 -1
  206. package/dist/components/nv-fieldtext.js +1 -1
  207. package/dist/components/nv-fieldtime.js +5 -5
  208. package/dist/components/nv-fieldtime.js.map +1 -1
  209. package/dist/components/nv-icon.js +1 -1
  210. package/dist/components/nv-iconbutton.js +1 -1
  211. package/dist/components/nv-menu.js +3 -3
  212. package/dist/components/nv-menuitem.js +1 -1
  213. package/dist/components/nv-notification.d.ts +11 -0
  214. package/dist/components/nv-notification.js +150 -0
  215. package/dist/components/nv-notification.js.map +1 -0
  216. package/dist/components/nv-popover.js +1 -1
  217. package/dist/components/nv-row.js +1 -1
  218. package/dist/components/nv-stack.js +1 -1
  219. package/dist/components/nv-table.js +2 -2
  220. package/dist/components/nv-toggle.js +3 -3
  221. package/dist/components/nv-toggle.js.map +1 -1
  222. package/dist/components/nv-togglebutton.js +2 -2
  223. package/dist/components/nv-togglebutton.js.map +1 -1
  224. package/dist/components/nv-togglebuttongroup.js +1 -1
  225. package/dist/components/nv-tooltip.js +1 -1
  226. package/dist/components/{p-0ffb4785.js → p-0b5816f7.js} +2 -2
  227. package/dist/components/{p-0ffb4785.js.map → p-0b5816f7.js.map} +1 -1
  228. package/dist/components/{p-a5002d14.js → p-1172e9bb.js} +2 -2
  229. package/dist/components/{p-a5002d14.js.map → p-1172e9bb.js.map} +1 -1
  230. package/dist/components/{p-a3ddec4c.js → p-2277cfc8.js} +7 -24
  231. package/dist/components/p-2277cfc8.js.map +1 -0
  232. package/dist/components/{p-b659b999.js → p-2854cf01.js} +2 -2
  233. package/dist/components/{p-b659b999.js.map → p-2854cf01.js.map} +1 -1
  234. package/dist/components/{p-cf06032d.js → p-2de17259.js} +3 -3
  235. package/dist/components/{p-cf06032d.js.map → p-2de17259.js.map} +1 -1
  236. package/dist/components/p-31591941.js +216 -0
  237. package/dist/components/p-31591941.js.map +1 -0
  238. package/dist/components/{p-09cdd71f.js → p-42ea6b74.js} +34 -688
  239. package/dist/components/p-42ea6b74.js.map +1 -0
  240. package/dist/components/{p-50d0db7b.js → p-5073bfd6.js} +3 -3
  241. package/dist/components/{p-50d0db7b.js.map → p-5073bfd6.js.map} +1 -1
  242. package/dist/components/{p-195f46f3.js → p-60244646.js} +28 -9
  243. package/dist/components/p-60244646.js.map +1 -0
  244. package/dist/components/{p-8aee1010.js → p-68fa3890.js} +17 -11
  245. package/dist/components/p-68fa3890.js.map +1 -0
  246. package/dist/components/{p-2db5d1ab.js → p-89ac047e.js} +5 -5
  247. package/dist/components/p-89ac047e.js.map +1 -0
  248. package/dist/components/{p-1bb737fa.js → p-99a55bc4.js} +2 -2
  249. package/dist/components/{p-1bb737fa.js.map → p-99a55bc4.js.map} +1 -1
  250. package/dist/{esm/timeline.animation-adf35ecb.js → components/p-a52cd849.js} +20 -2
  251. package/dist/components/p-a52cd849.js.map +1 -0
  252. package/dist/components/{p-45a625fb.js → p-a9dc0824.js} +13 -10
  253. package/dist/components/p-a9dc0824.js.map +1 -0
  254. package/dist/components/{p-ec4558aa.js → p-ac91582e.js} +2 -2
  255. package/dist/components/{p-ec4558aa.js.map → p-ac91582e.js.map} +1 -1
  256. package/dist/components/p-ca38a8a9.js +88 -0
  257. package/dist/components/p-ca38a8a9.js.map +1 -0
  258. package/dist/components/{p-9fdaea9a.js → p-ddd0a394.js} +75 -41
  259. package/dist/components/p-ddd0a394.js.map +1 -0
  260. package/dist/components/p-e4ac8333.js +189 -0
  261. package/dist/components/{p-8011513c.js.map → p-e4ac8333.js.map} +1 -1
  262. package/dist/components/{p-32e8e42e.js → p-e6c04562.js} +2 -2
  263. package/dist/components/{p-32e8e42e.js.map → p-e6c04562.js.map} +1 -1
  264. package/dist/components/{p-f47a1e1e.js → p-eb443b26.js} +15 -5
  265. package/dist/components/p-eb443b26.js.map +1 -0
  266. package/dist/components/p-eda2f9f3.js +68 -0
  267. package/dist/components/p-eda2f9f3.js.map +1 -0
  268. package/dist/components/p-ee0df37f.js +723 -0
  269. package/dist/components/p-ee0df37f.js.map +1 -0
  270. package/dist/components/{p-8d45dbfe.js → p-fb560fa3.js} +3 -2
  271. package/dist/components/p-fb560fa3.js.map +1 -0
  272. package/dist/esm/collapse.animation-acda1bf5.js +216 -0
  273. package/dist/esm/collapse.animation-acda1bf5.js.map +1 -0
  274. package/dist/esm/{constants-23aaef7b.js → constants-d0f19e7b.js} +7 -24
  275. package/dist/esm/constants-d0f19e7b.js.map +1 -0
  276. package/dist/esm/fade.animation-eb454088.js +723 -0
  277. package/dist/esm/fade.animation-eb454088.js.map +1 -0
  278. package/dist/esm/{grow.animation-f7b26024.js → grow.animation-5b2abb3a.js} +3 -2
  279. package/dist/esm/grow.animation-5b2abb3a.js.map +1 -0
  280. package/dist/esm/index-a1936cd0.js +4 -0
  281. package/dist/esm/index.js +15 -12
  282. package/dist/esm/index.js.map +1 -1
  283. package/dist/esm/loader.js +1 -1
  284. package/dist/esm/native.js +1 -1
  285. package/dist/esm/nv-accordion-item.entry.js +72 -38
  286. package/dist/esm/nv-accordion-item.entry.js.map +1 -1
  287. package/dist/esm/nv-accordion.entry.js +80 -66
  288. package/dist/esm/nv-accordion.entry.js.map +1 -1
  289. package/dist/esm/nv-alert.entry.js +12 -12
  290. package/dist/esm/nv-alert.entry.js.map +1 -1
  291. package/dist/esm/nv-avatar.entry.js +1 -1
  292. package/dist/esm/nv-badge_2.entry.js +5 -5
  293. package/dist/esm/nv-badge_2.entry.js.map +1 -1
  294. package/dist/esm/nv-breadcrumb.entry.js +1 -1
  295. package/dist/esm/nv-breadcrumb.entry.js.map +1 -1
  296. package/dist/esm/nv-button.entry.js +2 -2
  297. package/dist/esm/nv-button.entry.js.map +1 -1
  298. package/dist/esm/nv-calendar.entry.js +14 -10
  299. package/dist/esm/nv-calendar.entry.js.map +1 -1
  300. package/dist/esm/nv-datagrid.entry.js +2 -2
  301. package/dist/esm/nv-datagrid.entry.js.map +1 -1
  302. package/dist/esm/nv-dialog.entry.js +1 -1
  303. package/dist/esm/nv-dialogfooter_2.entry.js +9 -6
  304. package/dist/esm/nv-dialogfooter_2.entry.js.map +1 -1
  305. package/dist/esm/nv-fieldcheckbox.entry.js +1 -1
  306. package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -1
  307. package/dist/esm/nv-fielddate.entry.js +1 -1
  308. package/dist/esm/nv-fielddate.entry.js.map +1 -1
  309. package/dist/esm/nv-fielddaterange.entry.js +1 -1
  310. package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
  311. package/dist/esm/nv-fielddropdown.entry.js +1 -1
  312. package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
  313. package/dist/esm/nv-fieldmultiselect.entry.js +1 -31
  314. package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
  315. package/dist/esm/nv-fieldnumber.entry.js +2 -2
  316. package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
  317. package/dist/esm/nv-fieldpassword.entry.js +1 -1
  318. package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
  319. package/dist/esm/nv-fieldradio.entry.js +1 -1
  320. package/dist/esm/nv-fieldradio.entry.js.map +1 -1
  321. package/dist/esm/nv-fieldselect.entry.js +1 -1
  322. package/dist/esm/nv-fieldselect.entry.js.map +1 -1
  323. package/dist/esm/nv-fieldslider.entry.js +24 -16
  324. package/dist/esm/nv-fieldslider.entry.js.map +1 -1
  325. package/dist/esm/nv-fieldtime.entry.js +2 -2
  326. package/dist/esm/nv-fieldtime.entry.js.map +1 -1
  327. package/dist/esm/nv-icon.entry.js +2 -2
  328. package/dist/esm/nv-icon.entry.js.map +1 -1
  329. package/dist/esm/nv-iconbutton_2.entry.js +1 -1
  330. package/dist/esm/nv-iconbutton_2.entry.js.map +1 -1
  331. package/dist/esm/nv-notification.entry.js +116 -0
  332. package/dist/esm/nv-notification.entry.js.map +1 -0
  333. package/dist/esm/nv-popover.entry.js +24 -7
  334. package/dist/esm/nv-popover.entry.js.map +1 -1
  335. package/dist/esm/nv-row.entry.js +1 -1
  336. package/dist/esm/nv-stack.entry.js +1 -1
  337. package/dist/esm/nv-table.entry.js +2 -2
  338. package/dist/esm/nv-toggle.entry.js +3 -3
  339. package/dist/esm/nv-toggle.entry.js.map +1 -1
  340. package/dist/esm/nv-togglebutton.entry.js +2 -2
  341. package/dist/esm/nv-togglebutton.entry.js.map +1 -1
  342. package/dist/esm/nv-togglebuttongroup.entry.js +1 -1
  343. package/dist/esm/nv-tooltip.entry.js +11 -2
  344. package/dist/esm/nv-tooltip.entry.js.map +1 -1
  345. package/dist/esm/slide.animation-f444aa0b.js +68 -0
  346. package/dist/esm/slide.animation-f444aa0b.js.map +1 -0
  347. package/dist/esm/{stylefire.es-74da334a.js → style-value-types.es-f5d10b79.js} +34 -688
  348. package/dist/esm/style-value-types.es-f5d10b79.js.map +1 -0
  349. package/dist/esm/timeline.animation-79215cd4.js +41 -0
  350. package/dist/esm/timeline.animation-79215cd4.js.map +1 -0
  351. package/dist/native/index.esm.js +1 -1
  352. package/dist/native/index.esm.js.map +1 -1
  353. package/dist/native/native.css +1 -1
  354. package/dist/native/native.esm.js +1 -1
  355. package/dist/native/native.esm.js.map +1 -1
  356. package/dist/native/p-08582c21.entry.js +2 -0
  357. package/dist/native/p-08582c21.entry.js.map +1 -0
  358. package/dist/native/p-0a99c6fb.entry.js +2 -0
  359. package/dist/native/p-0a99c6fb.entry.js.map +1 -0
  360. package/dist/native/p-0e488b3d.entry.js +2 -0
  361. package/dist/native/p-0e488b3d.entry.js.map +1 -0
  362. package/dist/native/p-1ad1bff9.entry.js +2 -0
  363. package/dist/native/{p-0ef94dae.entry.js.map → p-1ad1bff9.entry.js.map} +1 -1
  364. package/dist/native/{p-aacd8789.entry.js → p-1f01fb64.entry.js} +2 -2
  365. package/dist/native/p-225a05bf.entry.js +2 -0
  366. package/dist/native/{p-fb672f90.entry.js.map → p-225a05bf.entry.js.map} +1 -1
  367. package/dist/native/p-2277cfc8.js +2 -0
  368. package/dist/native/p-2277cfc8.js.map +1 -0
  369. package/dist/native/p-25f2ce81.entry.js +2 -0
  370. package/dist/native/{p-7f0d576b.entry.js → p-2781637d.entry.js} +2 -2
  371. package/dist/native/{p-7f0d576b.entry.js.map → p-2781637d.entry.js.map} +1 -1
  372. package/dist/native/{p-681f2bac.entry.js → p-29f68e07.entry.js} +2 -2
  373. package/dist/native/p-29f68e07.entry.js.map +1 -0
  374. package/dist/native/p-31591941.js +2 -0
  375. package/dist/native/p-31591941.js.map +1 -0
  376. package/dist/native/p-33f503c5.entry.js +2 -0
  377. package/dist/native/p-33f503c5.entry.js.map +1 -0
  378. package/dist/native/{p-43071c3b.entry.js → p-3784efdc.entry.js} +2 -2
  379. package/dist/native/p-3f861ddc.entry.js +2 -0
  380. package/dist/native/p-3f861ddc.entry.js.map +1 -0
  381. package/dist/native/p-40c4a221.entry.js +2 -0
  382. package/dist/native/{p-9991116a.entry.js.map → p-40c4a221.entry.js.map} +1 -1
  383. package/dist/native/p-42ea6b74.js +16 -0
  384. package/dist/native/p-42ea6b74.js.map +1 -0
  385. package/dist/native/p-52b8c872.entry.js +2 -0
  386. package/dist/native/{p-397c0fca.entry.js.map → p-52b8c872.entry.js.map} +1 -1
  387. package/dist/native/{p-9f451b8a.entry.js → p-5a43fe48.entry.js} +3 -3
  388. package/dist/native/{p-9f451b8a.entry.js.map → p-5a43fe48.entry.js.map} +1 -1
  389. package/dist/native/{p-676447d7.entry.js → p-788e9ee5.entry.js} +3 -3
  390. package/dist/native/{p-f033c4ce.entry.js → p-7bbcf477.entry.js} +2 -2
  391. package/dist/native/p-8c823928.entry.js +2 -0
  392. package/dist/native/p-8c823928.entry.js.map +1 -0
  393. package/dist/native/p-9a46baa9.entry.js +2 -0
  394. package/dist/native/p-9a46baa9.entry.js.map +1 -0
  395. package/dist/native/p-a34beedf.entry.js +2 -0
  396. package/dist/native/p-a34beedf.entry.js.map +1 -0
  397. package/dist/native/p-a52cd849.js +2 -0
  398. package/dist/native/p-a52cd849.js.map +1 -0
  399. package/dist/native/p-bb71a17f.entry.js +2 -0
  400. package/dist/native/{p-ba9906b7.entry.js.map → p-bb71a17f.entry.js.map} +1 -1
  401. package/dist/native/p-bc01787b.entry.js +2 -0
  402. package/dist/native/{p-ad2cc829.entry.js.map → p-bc01787b.entry.js.map} +1 -1
  403. package/dist/native/p-cea942b9.entry.js +2 -0
  404. package/dist/native/{p-3ed84cd9.entry.js.map → p-cea942b9.entry.js.map} +1 -1
  405. package/dist/native/p-cfd5785e.entry.js +2 -0
  406. package/dist/native/p-cfd5785e.entry.js.map +1 -0
  407. package/dist/native/p-d0ef1bbb.entry.js +2 -0
  408. package/dist/native/p-d0ef1bbb.entry.js.map +1 -0
  409. package/dist/native/p-d88c416f.entry.js +2 -0
  410. package/dist/native/{p-2197ffdf.entry.js.map → p-d88c416f.entry.js.map} +1 -1
  411. package/dist/native/p-d95ee31e.entry.js +2 -0
  412. package/dist/native/{p-44dd9a4c.entry.js.map → p-d95ee31e.entry.js.map} +1 -1
  413. package/dist/native/p-da2c7d3c.entry.js +2 -0
  414. package/dist/native/p-da2c7d3c.entry.js.map +1 -0
  415. package/dist/native/p-e765a624.entry.js +2 -0
  416. package/dist/native/{p-184032cb.entry.js.map → p-e765a624.entry.js.map} +1 -1
  417. package/dist/native/p-eda2f9f3.js +2 -0
  418. package/dist/native/p-eda2f9f3.js.map +1 -0
  419. package/dist/native/p-ee0df37f.js +2 -0
  420. package/dist/native/p-ee0df37f.js.map +1 -0
  421. package/dist/native/p-ee516944.entry.js +2 -0
  422. package/dist/native/p-ee516944.entry.js.map +1 -0
  423. package/dist/native/p-f0cbfb3d.entry.js +2 -0
  424. package/dist/native/{p-b58fb522.entry.js.map → p-f0cbfb3d.entry.js.map} +1 -1
  425. package/dist/native/p-f5120223.entry.js +2 -0
  426. package/dist/native/p-f5120223.entry.js.map +1 -0
  427. package/dist/native/{p-2d647761.entry.js → p-f5eb047e.entry.js} +2 -2
  428. package/dist/native/p-fb560fa3.js +2 -0
  429. package/dist/native/{p-8d45dbfe.js.map → p-fb560fa3.js.map} +1 -1
  430. package/dist/types/animations/collapse.animation.d.ts +10 -2
  431. package/dist/types/animations/index.d.ts +1 -0
  432. package/dist/types/animations/slide.animation.d.ts +11 -0
  433. package/dist/types/animations/timeline.animation.d.ts +17 -1
  434. package/dist/types/components/nv-accordion/nv-accordion.d.ts +5 -7
  435. package/dist/types/components/nv-accordion-item/nv-accordion-item.d.ts +23 -8
  436. package/dist/types/components/nv-alert/nv-alert.d.ts +1 -1
  437. package/dist/types/components/nv-calendar/nv-calendar.d.ts +4 -0
  438. package/dist/types/components/nv-calendar/partials/calendar-actions.d.ts +4 -0
  439. package/dist/types/components/nv-dialogfooter/nv-dialogfooter.d.ts +8 -4
  440. package/dist/types/components/nv-fieldslider/nv-fieldslider.d.ts +3 -2
  441. package/dist/types/components/nv-fieldslider/partials/field-input.d.ts +7 -3
  442. package/dist/types/components/nv-icon/nv-icons.d.ts +1 -1
  443. package/dist/types/components/nv-notification/nv-notification.d.ts +75 -0
  444. package/dist/types/components/nv-notification/nv-notification.docs.d.ts +4 -0
  445. package/dist/types/components/nv-popover/nv-popover.d.ts +11 -1
  446. package/dist/types/components/nv-tooltip/nv-tooltip.d.ts +11 -2
  447. package/dist/types/components.d.ts +162 -13
  448. package/dist/types/index.d.ts +1 -1
  449. package/dist/types/nova-docs.d.ts +6 -0
  450. package/dist/types/utils/constants.d.ts +4 -0
  451. package/dist/vscode-data.json +117 -19
  452. package/hydrate/index.js +695 -288
  453. package/hydrate/index.mjs +695 -288
  454. package/package.json +9 -1
  455. package/readme.md +169 -42
  456. package/dist/cjs/collapse.animation-a129dc3f.js +0 -86
  457. package/dist/cjs/collapse.animation-a129dc3f.js.map +0 -1
  458. package/dist/cjs/constants-3b6beb66.js.map +0 -1
  459. package/dist/cjs/fade.animation-644b5c4d.js +0 -70
  460. package/dist/cjs/fade.animation-644b5c4d.js.map +0 -1
  461. package/dist/cjs/grow.animation-6d003803.js.map +0 -1
  462. package/dist/cjs/stylefire.es-717e022a.js.map +0 -1
  463. package/dist/cjs/timeline.animation-155e8839.js.map +0 -1
  464. package/dist/components/p-09cdd71f.js.map +0 -1
  465. package/dist/components/p-15aeab4d.js +0 -23
  466. package/dist/components/p-15aeab4d.js.map +0 -1
  467. package/dist/components/p-195f46f3.js.map +0 -1
  468. package/dist/components/p-1cbacdba.js +0 -68
  469. package/dist/components/p-1cbacdba.js.map +0 -1
  470. package/dist/components/p-2db5d1ab.js.map +0 -1
  471. package/dist/components/p-45a625fb.js.map +0 -1
  472. package/dist/components/p-8011513c.js +0 -189
  473. package/dist/components/p-8aee1010.js.map +0 -1
  474. package/dist/components/p-8d45dbfe.js.map +0 -1
  475. package/dist/components/p-9a263d0e.js +0 -84
  476. package/dist/components/p-9a263d0e.js.map +0 -1
  477. package/dist/components/p-9fdaea9a.js.map +0 -1
  478. package/dist/components/p-a1fe0a5d.js +0 -88
  479. package/dist/components/p-a1fe0a5d.js.map +0 -1
  480. package/dist/components/p-a3ddec4c.js.map +0 -1
  481. package/dist/components/p-f47a1e1e.js.map +0 -1
  482. package/dist/esm/collapse.animation-16e3af45.js +0 -84
  483. package/dist/esm/collapse.animation-16e3af45.js.map +0 -1
  484. package/dist/esm/constants-23aaef7b.js.map +0 -1
  485. package/dist/esm/fade.animation-71e8e34c.js +0 -68
  486. package/dist/esm/fade.animation-71e8e34c.js.map +0 -1
  487. package/dist/esm/grow.animation-f7b26024.js.map +0 -1
  488. package/dist/esm/stylefire.es-74da334a.js.map +0 -1
  489. package/dist/esm/timeline.animation-adf35ecb.js.map +0 -1
  490. package/dist/native/p-019d164d.entry.js +0 -2
  491. package/dist/native/p-019d164d.entry.js.map +0 -1
  492. package/dist/native/p-09cdd71f.js +0 -16
  493. package/dist/native/p-09cdd71f.js.map +0 -1
  494. package/dist/native/p-0da8f0d1.entry.js +0 -2
  495. package/dist/native/p-0da8f0d1.entry.js.map +0 -1
  496. package/dist/native/p-0ef94dae.entry.js +0 -2
  497. package/dist/native/p-15aeab4d.js +0 -2
  498. package/dist/native/p-15aeab4d.js.map +0 -1
  499. package/dist/native/p-184032cb.entry.js +0 -2
  500. package/dist/native/p-1cbacdba.js +0 -2
  501. package/dist/native/p-1cbacdba.js.map +0 -1
  502. package/dist/native/p-2197ffdf.entry.js +0 -2
  503. package/dist/native/p-348c6bb4.entry.js +0 -2
  504. package/dist/native/p-348c6bb4.entry.js.map +0 -1
  505. package/dist/native/p-397c0fca.entry.js +0 -2
  506. package/dist/native/p-3da64006.entry.js +0 -2
  507. package/dist/native/p-3da64006.entry.js.map +0 -1
  508. package/dist/native/p-3ed84cd9.entry.js +0 -2
  509. package/dist/native/p-3fcaac6d.entry.js +0 -2
  510. package/dist/native/p-3fcaac6d.entry.js.map +0 -1
  511. package/dist/native/p-4302824a.entry.js +0 -2
  512. package/dist/native/p-4302824a.entry.js.map +0 -1
  513. package/dist/native/p-44dd9a4c.entry.js +0 -2
  514. package/dist/native/p-4f4ed012.entry.js +0 -2
  515. package/dist/native/p-4f4ed012.entry.js.map +0 -1
  516. package/dist/native/p-553778e6.entry.js +0 -2
  517. package/dist/native/p-553778e6.entry.js.map +0 -1
  518. package/dist/native/p-62032cd9.entry.js +0 -2
  519. package/dist/native/p-62032cd9.entry.js.map +0 -1
  520. package/dist/native/p-681f2bac.entry.js.map +0 -1
  521. package/dist/native/p-7703c736.entry.js +0 -2
  522. package/dist/native/p-7703c736.entry.js.map +0 -1
  523. package/dist/native/p-888ad58e.entry.js +0 -2
  524. package/dist/native/p-888ad58e.entry.js.map +0 -1
  525. package/dist/native/p-8a577f91.entry.js +0 -2
  526. package/dist/native/p-8a577f91.entry.js.map +0 -1
  527. package/dist/native/p-8d45dbfe.js +0 -2
  528. package/dist/native/p-9991116a.entry.js +0 -2
  529. package/dist/native/p-9a263d0e.js +0 -2
  530. package/dist/native/p-9a263d0e.js.map +0 -1
  531. package/dist/native/p-ac5496e7.entry.js +0 -2
  532. package/dist/native/p-ad2cc829.entry.js +0 -2
  533. package/dist/native/p-b58fb522.entry.js +0 -2
  534. package/dist/native/p-ba9906b7.entry.js +0 -2
  535. package/dist/native/p-fb672f90.entry.js +0 -2
  536. package/dist/native/p-fc9564b3.js +0 -2
  537. package/dist/native/p-fc9564b3.js.map +0 -1
  538. /package/dist/native/{p-aacd8789.entry.js.map → p-1f01fb64.entry.js.map} +0 -0
  539. /package/dist/native/{p-ac5496e7.entry.js.map → p-25f2ce81.entry.js.map} +0 -0
  540. /package/dist/native/{p-43071c3b.entry.js.map → p-3784efdc.entry.js.map} +0 -0
  541. /package/dist/native/{p-676447d7.entry.js.map → p-788e9ee5.entry.js.map} +0 -0
  542. /package/dist/native/{p-f033c4ce.entry.js.map → p-7bbcf477.entry.js.map} +0 -0
  543. /package/dist/native/{p-2d647761.entry.js.map → p-f5eb047e.entry.js.map} +0 -0
@@ -30,6 +30,15 @@ export class NvPopover {
30
30
  * Defines where the popover appears relative to the trigger.
31
31
  */
32
32
  this.placement = 'bottom';
33
+ /**
34
+ * Sets the positioning strategy for the popover. Options include:
35
+ * - `absolute`: Positions the popover relative to the trigger element
36
+ * (default).
37
+ * - `fixed`: Positions the popover relative to the viewport, useful when you
38
+ * need the popover to break out of overflow hidden containers, it will not
39
+ * scroll inside a scroll container due to the fixed positioning.
40
+ */
41
+ this.strategy = 'absolute';
33
42
  /**
34
43
  * Adjust the gap between the popover and its trigger element by setting how
35
44
  * many pixels they should be apart.
@@ -174,6 +183,7 @@ export class NvPopover {
174
183
  return;
175
184
  computePosition(this.triggerElement, this.popoverElement, {
176
185
  placement: this.placement,
186
+ strategy: this.strategy,
177
187
  middleware: [
178
188
  offset(this.offset),
179
189
  !this.disableFlip &&
@@ -185,10 +195,11 @@ export class NvPopover {
185
195
  shift({ padding: this.shiftPadding }),
186
196
  this.hasArrow && arrow({ element: this.arrowElement }),
187
197
  ],
188
- }).then(({ x, y, placement, middlewareData }) => {
198
+ }).then(({ x, y, placement, middlewareData, strategy }) => {
189
199
  Object.assign(this.popoverElement.style, {
190
200
  left: `${x}px`,
191
201
  top: `${y}px`,
202
+ position: strategy,
192
203
  });
193
204
  if (this.hasArrow) {
194
205
  const staticSide = {
@@ -261,6 +272,11 @@ export class NvPopover {
261
272
  this.isAnimating = false;
262
273
  this.openChanged.emit(open);
263
274
  }
275
+ handleStrategyChange() {
276
+ if (this.open) {
277
+ this.positionPopover();
278
+ }
279
+ }
264
280
  //#endregion WATCHERS
265
281
  /****************************************************************************/
266
282
  //#region LIFECYCLE
@@ -306,7 +322,7 @@ export class NvPopover {
306
322
  /****************************************************************************/
307
323
  //#region RENDER
308
324
  render() {
309
- return (h(Host, { key: '14f8a4ffc146664a2fd00bbfc413494929eec492' }, h("slot", { key: 'aaf84cb70beb8f63f030c16c47b41340c238a47c', name: "trigger" }), h("div", { key: 'e75b6f6a1131ae9bd39d3a10a1a9801a8c14d756', "data-scope": "popover", hidden: true, ref: el => (this.popoverElement = el) }, this.hasArrow && (h("div", { key: '98233b5961fe5476062b671db8274f6802afa700', "data-scope": "arrow", ref: el => (this.arrowElement = el) })), h("slot", { key: '5bf731ff7007e4e1128405a22b9f0c8a16305228', name: "content" }))));
325
+ return (h(Host, { key: 'dc7ef1862f1a1da4b32e02bee827f81545df73d1' }, h("slot", { key: '7535c2ba2b1f600c237602c68a04c85fd9d6d98b', name: "trigger" }), h("div", { key: '8e7907e2fda20d35b00642eca0507aa20e56f7cb', "data-scope": "popover", "data-strategy": this.strategy, hidden: true, ref: el => (this.popoverElement = el) }, this.hasArrow && (h("div", { key: '4e081e84e9597b69351253d1c1b89c115cdcfd9a', "data-scope": "arrow", ref: el => (this.arrowElement = el) })), h("slot", { key: '5bcd80588e9746db974cee69c5963b698665d105', name: "content" }))));
310
326
  }
311
327
  static get is() { return "nv-popover"; }
312
328
  static get originalStyleUrls() {
@@ -413,6 +429,32 @@ export class NvPopover {
413
429
  "reflect": true,
414
430
  "defaultValue": "'bottom'"
415
431
  },
432
+ "strategy": {
433
+ "type": "string",
434
+ "mutable": false,
435
+ "complexType": {
436
+ "original": "Strategy",
437
+ "resolved": "\"absolute\" | \"fixed\"",
438
+ "references": {
439
+ "Strategy": {
440
+ "location": "import",
441
+ "path": "@floating-ui/dom",
442
+ "id": "../../node_modules/@floating-ui/dom/dist/floating-ui.dom.d.ts::Strategy"
443
+ }
444
+ }
445
+ },
446
+ "required": false,
447
+ "optional": false,
448
+ "docs": {
449
+ "tags": [],
450
+ "text": "Sets the positioning strategy for the popover. Options include:\n- `absolute`: Positions the popover relative to the trigger element\n (default).\n- `fixed`: Positions the popover relative to the viewport, useful when you\n need the popover to break out of overflow hidden containers, it will not\n scroll inside a scroll container due to the fixed positioning."
451
+ },
452
+ "getter": false,
453
+ "setter": false,
454
+ "attribute": "strategy",
455
+ "reflect": true,
456
+ "defaultValue": "'absolute'"
457
+ },
416
458
  "groupName": {
417
459
  "type": "string",
418
460
  "mutable": false,
@@ -635,6 +677,9 @@ export class NvPopover {
635
677
  return [{
636
678
  "propName": "open",
637
679
  "methodName": "handleOpenChange"
680
+ }, {
681
+ "propName": "strategy",
682
+ "methodName": "handleStrategyChange"
638
683
  }];
639
684
  }
640
685
  static get listeners() {
@@ -1 +1 @@
1
- {"version":3,"file":"nv-popover.js","sourceRoot":"","sources":["../../../src/components/nv-popover/nv-popover.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,CAAC,EAED,KAAK,EACL,KAAK,EACL,MAAM,EACN,OAAO,EACP,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,eAAe,EACf,IAAI,EACJ,KAAK,EACL,MAAM,EACN,KAAK,GAEN,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EACL,iBAAiB,EACjB,oBAAoB,GAErB,MAAM,0BAA0B,CAAC;AAElC,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAa1B;IACD,MAAM,EAAE,IAAI,GAAG,EAAE;CAClB,CAAC,CAAC;AAEH;;;GAGG;AAMH,MAAM,OAAO,SAAS;IALtB;QASU,mBAAc,GAAG,KAAK,CAAC;QAa/B;;;WAGG;QAEH,SAAI,GAAY,KAAK,CAAC;QAEtB;;;;;;WAMG;QAEM,gBAAW,GAAqC,OAAO,CAAC;QAEjE;;WAEG;QAEM,cAAS,GAAc,QAAQ,CAAC;QAUzC;;;WAGG;QAEM,WAAM,GAAW,CAAC,CAAC;QAE5B;;;WAGG;QAEM,aAAQ,GAAY,KAAK,CAAC;QAEnC;;;WAGG;QAEM,gBAAW,GAAY,KAAK,CAAC;QAEtC;;WAEG;QAEM,iBAAY,GAAW,CAAC,CAAC;QAElC;;;;WAIG;QAEM,eAAU,GAAW,CAAC,CAAC;QAEhC;;;WAGG;QAEM,WAAM,GAAY,KAAK,CAAC;QAqDjC;;;WAGG;QACK,uBAAkB,GAAG,CAAC,KAA8B,EAAE,EAAE;;YAC9D,gEAAgE;YAChE,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC;gBAAE,OAAO;YACnD,IAAI,MAAA,IAAI,CAAC,cAAc,0CAAE,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC;gBAAE,OAAO;YAChE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACpB,CAAC,CAAC;QA6EM,gBAAW,GAAuB;YACxC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1C,CAAC;QAEM,uBAAkB,GAAuB;YAC/C,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC;YAClC,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC;SACxC,CAAC;QAIM,gBAAW,GAAuB;YACxC;gBACE,OAAO;gBACP,GAAG,EAAE;oBACH,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC/B,IAAI,CAAC,WAAW,GAAG,UAAU,CAC3B,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EACxB,IAAI,CAAC,UAAU,CAChB,CAAC;gBACJ,CAAC;aACF;YACD;gBACE,MAAM;gBACN,GAAG,EAAE;oBACH,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC/B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/D,CAAC;aACF;YACD;gBACE,YAAY;gBACZ,GAAG,EAAE;oBACH,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC/B,IAAI,CAAC,WAAW,GAAG,UAAU,CAC3B,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EACxB,IAAI,CAAC,UAAU,CAChB,CAAC;gBACJ,CAAC;aACF;YACD;gBACE,YAAY;gBACZ,GAAG,EAAE;oBACH,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC/B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;gBAChE,CAAC;aACF;SACF,CAAC;QAEM,gBAAW,GAAuB;YACxC;gBACE,SAAS;gBACT,CAAC,CAAgB,EAAE,EAAE;oBACnB,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;wBACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;oBACpB,CAAC;gBACH,CAAC;aACF;SACF,CAAC;QAEF,mBAAmB;QACnB,8EAA8E;QAC9E,kBAAkB;QACV,gBAAW,GAAG,KAAK,CAAC;KAkH7B;IAzTC,uBAAuB;IACvB,8EAA8E;IAC9E,iBAAiB;IAEjB;;OAEG;IAEH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAED;;;OAGG;IAEH,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;IACzB,CAAC;IAED;;;OAGG;IACK,oBAAoB;QAC1B,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAChD,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAEpD,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;gBACjC,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBAE/D,yCAAyC;gBACzC,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC7D,CAAC;YAED,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;gBACjC,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;IACH,CAAC;IAaD;;;OAGG;IACK,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO;QAEjC,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;YACxD,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE;gBACV,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBACnB,CAAC,IAAI,CAAC,WAAW;oBACf,IAAI,CAAC;wBACH,gBAAgB,EAAE,SAAS;wBAC3B,SAAS,EAAE,IAAI;wBACf,kBAAkB,EAAE,CAAC,QAAQ,CAAC;qBAC/B,CAAC;gBACJ,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;gBACrC,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;aACvD;SACF,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE;YAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;gBACvC,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,GAAG,EAAE,GAAG,CAAC,IAAI;aACd,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,UAAU,GAAG;oBACjB,GAAG,EAAE,QAAQ;oBACb,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,OAAO;iBACd,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE3B,MAAM,SAAS,GAAG;oBAChB,GAAG,EAAE,gBAAgB;oBACrB,KAAK,EAAE,gBAAgB;oBACvB,MAAM,EAAE,eAAe;oBACvB,IAAI,EAAE,gBAAgB;iBACvB,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE3B,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC;gBAEtD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;oBACrC,IAAI,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE;oBACzC,GAAG,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE;oBACxC,KAAK,EAAE,EAAE;oBACT,MAAM,EAAE,EAAE;oBACV,SAAS;oBACT,CAAC,UAAU,CAAC,EAAE,MAAM;iBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAcD,iBAAiB,CAAC,KAA2B;;QAC3C,IAAI,IAAI,CAAC,WAAW,KAAK,YAAY;YAAE,OAAO;QAC9C,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,MAAC,KAAK,CAAC,MAAkB,0CAAE,YAAY,CAAC,QAAQ,CAAC;YAAE,OAAO;QAC9D,wDAAwD;QACxD,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IAC3E,CAAC;IAmED,KAAK,CAAC,gBAAgB,CAAC,IAAa;QAClC,6DAA6D;QAC7D,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,iBAAiB,GAAG,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC;QAC9D,MAAM,gBAAgB,GAAG,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,EAAE,CAAC;QAE7D,IAAI,IAAI;YAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC9D,IAAI,gBAAgB,IAAI,CAAC,IAAI;YAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YACxB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAE1D,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE;YAC9C,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;YACrC,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE;YAC/C,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;SACtC,CAAC,CAAC;QAEH,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,MAAM,MAAM,EAAE,CAAC;QACjB,CAAC;QACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,MAAM,OAAO,EAAE,CAAC;YAChB,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,qBAAqB;IACrB,8EAA8E;IAC9E,mBAAmB;IAEnB,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,cAAc;YACtB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CACrD,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,SAAS,CAClD,CAAC;IACN,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,gBAAgB;QACd,6BAA6B;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACpD,UAAU,EAAE,CAAC;QACf,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnD,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,oBAAoB;QAClB,oBAAoB,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEvD,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;YACjC,oBAAoB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAClE,4BAA4B;YAC5B,oBAAoB,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO;YAC9B,oBAAoB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAEpE,qEAAqE;QACrE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAE5B,gCAAgC;QAChC,IAAI,IAAI,CAAC,WAAW;YAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,WAAW;YAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvD,CAAC;IAED,sBAAsB;IACtB,8EAA8E;IAC9E,gBAAgB;IAEhB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,6DAAM,IAAI,EAAC,SAAS,GAAQ;YAE5B,0EAAgB,SAAS,EAAC,MAAM,QAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;gBACnE,IAAI,CAAC,QAAQ,IAAI,CAChB,0EAAgB,OAAO,EAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,GAAQ,CACpE;gBAED,6DAAM,IAAI,EAAC,SAAS,GAAQ,CACxB,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGF","sourcesContent":["import {\n Component,\n Prop,\n Host,\n h,\n EventEmitter,\n Event,\n Watch,\n Listen,\n Element,\n Method,\n} from '@stencil/core';\nimport {\n computePosition,\n flip,\n shift,\n offset,\n arrow,\n type Placement,\n} from '@floating-ui/dom';\nimport { createStore } from '@stencil/store';\n\nimport { useGrow, useFade } from '../../animations';\nimport {\n addEventListeners,\n removeEventListeners,\n type EventsAndListeners,\n} from '../../utils/events.utils';\n\nconst { state } = createStore<{\n /**\n * A map of popover groups, used to manage the opening and closing of multiple\n */\n groups: Map<\n string,\n {\n /**\n * The popover element that opened the group.\n */\n openedBy: HTMLNvPopoverElement;\n }\n >;\n}>({\n groups: new Map(),\n});\n\n/**\n * @slot trigger - Content to be placed as the trigger.\n * @slot content - Content to be placed within the popover.\n */\n@Component({\n tag: 'nv-popover',\n styleUrl: 'nv-popover.scss',\n shadow: false,\n})\nexport class NvPopover {\n @Element() el: HTMLNvPopoverElement;\n private popoverElement!: HTMLDivElement;\n private arrowElement!: HTMLDivElement;\n private eventsAttached = false;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * @internal\n * Accepts a reference to the DOM element acting as the popover trigger. This\n * should be used when the slot for the trigger is not defined.\n */\n @Prop({ reflect: false, mutable: true })\n triggerElement: Element;\n\n /**\n * Use this prop to toggle the visibility of the popover. Set to true to show\n * the popover and false to hide it.\n */\n @Prop({ reflect: true, mutable: true })\n open: boolean = false;\n\n /**\n * Sets the interaction mode for triggering the popover. Options include:\n * - `hover`: The popover is shown on trigger hover.\n * - `click`: The popover toggles on trigger click.\n * - `controlled`: The visibility is managed manually through methods or the\n * open prop.\n */\n @Prop({ reflect: true })\n readonly triggerMode: 'hover' | 'click' | 'controlled' = 'click';\n\n /**\n * Defines where the popover appears relative to the trigger.\n */\n @Prop({ reflect: true })\n readonly placement: Placement = 'bottom';\n\n /**\n * Use this to group popovers together so that opening one will not animate\n * the closing of another. This is helpful when popovers are placed close\n * together, preventing animation overlap.\n */\n @Prop({ reflect: true })\n readonly groupName: string;\n\n /**\n * Adjust the gap between the popover and its trigger element by setting how\n * many pixels they should be apart.\n */\n @Prop({ reflect: true })\n readonly offset: number = 6;\n\n /**\n * Use this to decide if the popover should include a small arrow pointing to\n * the trigger element, making the connection between them more clear.\n */\n @Prop({ reflect: true })\n readonly hasArrow: boolean = false;\n\n /**\n * Disables the automatic flipping of the popover when the trigger element is\n * out of the viewport. The popover will flip automatically by default.\n */\n @Prop({ reflect: true })\n readonly disableFlip: boolean = false;\n\n /**\n * Sets how many pixels the popover should stay from the edge of the viewport.\n */\n @Prop({ reflect: true })\n readonly shiftPadding: number = 0;\n\n /**\n * Use this to set a delay before the popover appears on hover. If the mouse\n * leaves before this time, the popover won't show. This only works when the\n * trigger mode is set to `hover`.\n */\n @Prop({ reflect: true })\n readonly enterDelay: number = 0;\n\n /**\n * Use this to set the popover to be nested inside another popover. This will\n * prevent the parent popover from closing when the child popover is opened.\n */\n @Prop({ reflect: true })\n readonly nested: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Call this method to show the popover, making it visible on the screen.\n */\n @Method()\n async show() {\n this.open = true;\n }\n\n /**\n * Use this method to hide the popover, making it disappear from view.\n */\n @Method()\n async hide() {\n this.open = false;\n }\n\n /**\n * Call this method to toggle between showing and hiding the popover, based on\n * its current state.\n */\n @Method()\n async toggle() {\n this.open = !this.open;\n }\n\n /**\n * Attaches event listeners to the trigger element, and makes sure this only\n * happens once.\n */\n private attachEventListeners() {\n if (this.triggerElement && !this.eventsAttached) {\n addEventListeners(this.closeEvents, document, this);\n\n if (this.triggerMode === 'click') {\n addEventListeners(this.clickEvents, this.triggerElement, this);\n\n // Add document click and touch listeners\n addEventListeners(this.outsideClickEvents, document, this);\n }\n\n if (this.triggerMode === 'hover') {\n addEventListeners(this.hoverEvents, this.triggerElement, this);\n }\n this.eventsAttached = true;\n }\n }\n\n /**\n * Handles the click outside event.\n * @param {MouseEvent | TouchEvent} event - The event object.\n */\n private handleClickOutside = (event: MouseEvent | TouchEvent) => {\n // This popover should close when the user clicks outside of it.\n if (this.el.contains(event.target as Node)) return;\n if (this.triggerElement?.contains(event.target as Node)) return;\n this.open = false;\n };\n\n /**\n * Calculates the position of the popover relative to the trigger.\n * @docs https://floating-ui.com/docs/computePosition\n */\n private positionPopover() {\n if (!this.triggerElement) return;\n\n computePosition(this.triggerElement, this.popoverElement, {\n placement: this.placement,\n middleware: [\n offset(this.offset),\n !this.disableFlip &&\n flip({\n fallbackStrategy: 'bestFit',\n crossAxis: true,\n fallbackPlacements: ['bottom'],\n }),\n shift({ padding: this.shiftPadding }),\n this.hasArrow && arrow({ element: this.arrowElement }),\n ],\n }).then(({ x, y, placement, middlewareData }) => {\n Object.assign(this.popoverElement.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n\n if (this.hasArrow) {\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[placement.split('-')[0]];\n\n const transform = {\n top: 'rotate(225deg)',\n right: 'rotate(315deg)',\n bottom: 'rotate(45deg)',\n left: 'rotate(135deg)',\n }[placement.split('-')[0]];\n\n const { x: arrowX, y: arrowY } = middlewareData.arrow;\n\n Object.assign(this.arrowElement.style, {\n left: arrowX != null ? `${arrowX}px` : '',\n top: arrowY != null ? `${arrowY}px` : '',\n right: '',\n bottom: '',\n transform,\n [staticSide]: '-4px',\n });\n }\n });\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the popover is toggled.\n * @bind open\n */\n @Event()\n openChanged: EventEmitter<boolean>;\n\n @Listen('openChanged', { target: 'document' })\n handleOpenChanged(event: CustomEvent<boolean>) {\n if (this.triggerMode === 'controlled') return;\n if (this.nested) return;\n if ((event.target as Element)?.hasAttribute('nested')) return;\n // This popover should close when another one is opened.\n if (event.target !== this.el && event.detail === true) this.open = false;\n }\n\n private clickEvents: EventsAndListeners = [\n ['click', () => (this.open = !this.open)],\n ];\n\n private outsideClickEvents: EventsAndListeners = [\n ['click', this.handleClickOutside],\n ['touchstart', this.handleClickOutside],\n ];\n\n private hideTimeout: ReturnType<typeof setTimeout>;\n private showTimeout: ReturnType<typeof setTimeout>;\n private hoverEvents: EventsAndListeners = [\n [\n 'focus',\n () => {\n clearTimeout(this.hideTimeout);\n this.showTimeout = setTimeout(\n () => (this.open = true),\n this.enterDelay,\n );\n },\n ],\n [\n 'blur',\n () => {\n clearTimeout(this.showTimeout);\n this.hideTimeout = setTimeout(() => (this.open = false), 50);\n },\n ],\n [\n 'mouseenter',\n () => {\n clearTimeout(this.hideTimeout);\n this.showTimeout = setTimeout(\n () => (this.open = true),\n this.enterDelay,\n );\n },\n ],\n [\n 'mouseleave',\n () => {\n clearTimeout(this.showTimeout);\n this.hideTimeout = setTimeout(() => (this.open = false), 100);\n },\n ],\n ];\n\n private closeEvents: EventsAndListeners = [\n [\n 'keydown',\n (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n this.open = false;\n }\n },\n ],\n ];\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n private isAnimating = false;\n\n @Watch('open')\n async handleOpenChange(open: boolean) {\n // Prevent multiple animations from running at the same time.\n while (this.isAnimating) {\n await new Promise(resolve => setTimeout(resolve, 50));\n }\n\n this.isAnimating = true;\n\n const group = state.groups.get(this.groupName);\n const isOtherMemberOpen = group && group.openedBy !== this.el;\n const isThisMemberOpen = group && group.openedBy === this.el;\n\n if (open) this.popoverElement.style.removeProperty('display');\n if (isThisMemberOpen && !open) state.groups.delete(this.groupName);\n if (this.groupName && open)\n state.groups.set(this.groupName, { openedBy: this.el });\n\n const { growIn } = useGrow(this.popoverElement, {\n duration: isOtherMemberOpen ? 0 : 100,\n amount: 0.85,\n });\n\n const { fadeOut } = useFade(this.popoverElement, {\n duration: isOtherMemberOpen ? 0 : 100,\n });\n\n if (open === true) {\n this.popoverElement.removeAttribute('hidden');\n this.positionPopover();\n await growIn();\n }\n if (open === false) {\n await fadeOut();\n this.popoverElement.setAttribute('hidden', '');\n }\n\n this.isAnimating = false;\n this.openChanged.emit(open);\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n if (!this.triggerElement)\n this.triggerElement = Array.from(this.el.children).find(\n child => child.getAttribute('slot') === 'trigger',\n );\n }\n\n componentWillUpdate() {\n this.attachEventListeners();\n }\n\n componentDidLoad() {\n // Initial inline style setup\n if (!this.open) {\n const { setGrowOut } = useGrow(this.popoverElement);\n setGrowOut();\n } else {\n const { setFadeIn } = useFade(this.popoverElement);\n setFadeIn();\n this.popoverElement.removeAttribute('hidden');\n }\n\n this.positionPopover();\n this.attachEventListeners();\n }\n\n disconnectedCallback() {\n removeEventListeners(this.closeEvents, document, this);\n\n if (this.triggerMode === 'click') {\n removeEventListeners(this.clickEvents, this.triggerElement, this);\n // Remove document listeners\n removeEventListeners(this.outsideClickEvents, document, this);\n }\n\n if (this.triggerMode === 'hover')\n removeEventListeners(this.hoverEvents, this.triggerElement, this);\n\n // Reset flag so events can be reattached if component is reconnected\n this.eventsAttached = false;\n\n // Clean up any pending timeouts\n if (this.hideTimeout) clearTimeout(this.hideTimeout);\n if (this.showTimeout) clearTimeout(this.showTimeout);\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n <slot name=\"trigger\"></slot>\n\n <div data-scope=\"popover\" hidden ref={el => (this.popoverElement = el)}>\n {this.hasArrow && (\n <div data-scope=\"arrow\" ref={el => (this.arrowElement = el)}></div>\n )}\n\n <slot name=\"content\"></slot>\n </div>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
1
+ {"version":3,"file":"nv-popover.js","sourceRoot":"","sources":["../../../src/components/nv-popover/nv-popover.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n Host,\n h,\n EventEmitter,\n Event,\n Watch,\n Listen,\n Element,\n Method,\n} from '@stencil/core';\nimport {\n computePosition,\n flip,\n shift,\n offset,\n arrow,\n type Placement,\n type Strategy,\n} from '@floating-ui/dom';\nimport { createStore } from '@stencil/store';\n\nimport { useGrow, useFade } from '../../animations';\nimport {\n addEventListeners,\n removeEventListeners,\n type EventsAndListeners,\n} from '../../utils/events.utils';\n\nconst { state } = createStore<{\n /**\n * A map of popover groups, used to manage the opening and closing of multiple\n */\n groups: Map<\n string,\n {\n /**\n * The popover element that opened the group.\n */\n openedBy: HTMLNvPopoverElement;\n }\n >;\n}>({\n groups: new Map(),\n});\n\n/**\n * @slot trigger - Content to be placed as the trigger.\n * @slot content - Content to be placed within the popover.\n */\n@Component({\n tag: 'nv-popover',\n styleUrl: 'nv-popover.scss',\n shadow: false,\n})\nexport class NvPopover {\n @Element() el: HTMLNvPopoverElement;\n private popoverElement!: HTMLDivElement;\n private arrowElement!: HTMLDivElement;\n private eventsAttached = false;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * @internal\n * Accepts a reference to the DOM element acting as the popover trigger. This\n * should be used when the slot for the trigger is not defined.\n */\n @Prop({ reflect: false, mutable: true })\n triggerElement: Element;\n\n /**\n * Use this prop to toggle the visibility of the popover. Set to true to show\n * the popover and false to hide it.\n */\n @Prop({ reflect: true, mutable: true })\n open: boolean = false;\n\n /**\n * Sets the interaction mode for triggering the popover. Options include:\n * - `hover`: The popover is shown on trigger hover.\n * - `click`: The popover toggles on trigger click.\n * - `controlled`: The visibility is managed manually through methods or the\n * open prop.\n */\n @Prop({ reflect: true })\n readonly triggerMode: 'hover' | 'click' | 'controlled' = 'click';\n\n /**\n * Defines where the popover appears relative to the trigger.\n */\n @Prop({ reflect: true })\n readonly placement: Placement = 'bottom';\n\n /**\n * Sets the positioning strategy for the popover. Options include:\n * - `absolute`: Positions the popover relative to the trigger element\n * (default).\n * - `fixed`: Positions the popover relative to the viewport, useful when you\n * need the popover to break out of overflow hidden containers, it will not\n * scroll inside a scroll container due to the fixed positioning.\n */\n @Prop({ reflect: true })\n readonly strategy: Strategy = 'absolute';\n\n /**\n * Use this to group popovers together so that opening one will not animate\n * the closing of another. This is helpful when popovers are placed close\n * together, preventing animation overlap.\n */\n @Prop({ reflect: true })\n readonly groupName: string;\n\n /**\n * Adjust the gap between the popover and its trigger element by setting how\n * many pixels they should be apart.\n */\n @Prop({ reflect: true })\n readonly offset: number = 6;\n\n /**\n * Use this to decide if the popover should include a small arrow pointing to\n * the trigger element, making the connection between them more clear.\n */\n @Prop({ reflect: true })\n readonly hasArrow: boolean = false;\n\n /**\n * Disables the automatic flipping of the popover when the trigger element is\n * out of the viewport. The popover will flip automatically by default.\n */\n @Prop({ reflect: true })\n readonly disableFlip: boolean = false;\n\n /**\n * Sets how many pixels the popover should stay from the edge of the viewport.\n */\n @Prop({ reflect: true })\n readonly shiftPadding: number = 0;\n\n /**\n * Use this to set a delay before the popover appears on hover. If the mouse\n * leaves before this time, the popover won't show. This only works when the\n * trigger mode is set to `hover`.\n */\n @Prop({ reflect: true })\n readonly enterDelay: number = 0;\n\n /**\n * Use this to set the popover to be nested inside another popover. This will\n * prevent the parent popover from closing when the child popover is opened.\n */\n @Prop({ reflect: true })\n readonly nested: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Call this method to show the popover, making it visible on the screen.\n */\n @Method()\n async show() {\n this.open = true;\n }\n\n /**\n * Use this method to hide the popover, making it disappear from view.\n */\n @Method()\n async hide() {\n this.open = false;\n }\n\n /**\n * Call this method to toggle between showing and hiding the popover, based on\n * its current state.\n */\n @Method()\n async toggle() {\n this.open = !this.open;\n }\n\n /**\n * Attaches event listeners to the trigger element, and makes sure this only\n * happens once.\n */\n private attachEventListeners() {\n if (this.triggerElement && !this.eventsAttached) {\n addEventListeners(this.closeEvents, document, this);\n\n if (this.triggerMode === 'click') {\n addEventListeners(this.clickEvents, this.triggerElement, this);\n\n // Add document click and touch listeners\n addEventListeners(this.outsideClickEvents, document, this);\n }\n\n if (this.triggerMode === 'hover') {\n addEventListeners(this.hoverEvents, this.triggerElement, this);\n }\n this.eventsAttached = true;\n }\n }\n\n /**\n * Handles the click outside event.\n * @param {MouseEvent | TouchEvent} event - The event object.\n */\n private handleClickOutside = (event: MouseEvent | TouchEvent) => {\n // This popover should close when the user clicks outside of it.\n if (this.el.contains(event.target as Node)) return;\n if (this.triggerElement?.contains(event.target as Node)) return;\n this.open = false;\n };\n\n /**\n * Calculates the position of the popover relative to the trigger.\n * @docs https://floating-ui.com/docs/computePosition\n */\n private positionPopover() {\n if (!this.triggerElement) return;\n\n computePosition(this.triggerElement, this.popoverElement, {\n placement: this.placement,\n strategy: this.strategy,\n middleware: [\n offset(this.offset),\n !this.disableFlip &&\n flip({\n fallbackStrategy: 'bestFit',\n crossAxis: true,\n fallbackPlacements: ['bottom'],\n }),\n shift({ padding: this.shiftPadding }),\n this.hasArrow && arrow({ element: this.arrowElement }),\n ],\n }).then(({ x, y, placement, middlewareData, strategy }) => {\n Object.assign(this.popoverElement.style, {\n left: `${x}px`,\n top: `${y}px`,\n position: strategy,\n });\n\n if (this.hasArrow) {\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[placement.split('-')[0]];\n\n const transform = {\n top: 'rotate(225deg)',\n right: 'rotate(315deg)',\n bottom: 'rotate(45deg)',\n left: 'rotate(135deg)',\n }[placement.split('-')[0]];\n\n const { x: arrowX, y: arrowY } = middlewareData.arrow;\n\n Object.assign(this.arrowElement.style, {\n left: arrowX != null ? `${arrowX}px` : '',\n top: arrowY != null ? `${arrowY}px` : '',\n right: '',\n bottom: '',\n transform,\n [staticSide]: '-4px',\n });\n }\n });\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the popover is toggled.\n * @bind open\n */\n @Event()\n openChanged: EventEmitter<boolean>;\n\n @Listen('openChanged', { target: 'document' })\n handleOpenChanged(event: CustomEvent<boolean>) {\n if (this.triggerMode === 'controlled') return;\n if (this.nested) return;\n if ((event.target as Element)?.hasAttribute('nested')) return;\n // This popover should close when another one is opened.\n if (event.target !== this.el && event.detail === true) this.open = false;\n }\n\n private clickEvents: EventsAndListeners = [\n ['click', () => (this.open = !this.open)],\n ];\n\n private outsideClickEvents: EventsAndListeners = [\n ['click', this.handleClickOutside],\n ['touchstart', this.handleClickOutside],\n ];\n\n private hideTimeout: ReturnType<typeof setTimeout>;\n private showTimeout: ReturnType<typeof setTimeout>;\n private hoverEvents: EventsAndListeners = [\n [\n 'focus',\n () => {\n clearTimeout(this.hideTimeout);\n this.showTimeout = setTimeout(\n () => (this.open = true),\n this.enterDelay,\n );\n },\n ],\n [\n 'blur',\n () => {\n clearTimeout(this.showTimeout);\n this.hideTimeout = setTimeout(() => (this.open = false), 50);\n },\n ],\n [\n 'mouseenter',\n () => {\n clearTimeout(this.hideTimeout);\n this.showTimeout = setTimeout(\n () => (this.open = true),\n this.enterDelay,\n );\n },\n ],\n [\n 'mouseleave',\n () => {\n clearTimeout(this.showTimeout);\n this.hideTimeout = setTimeout(() => (this.open = false), 100);\n },\n ],\n ];\n\n private closeEvents: EventsAndListeners = [\n [\n 'keydown',\n (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n this.open = false;\n }\n },\n ],\n ];\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n private isAnimating = false;\n\n @Watch('open')\n async handleOpenChange(open: boolean) {\n // Prevent multiple animations from running at the same time.\n while (this.isAnimating) {\n await new Promise(resolve => setTimeout(resolve, 50));\n }\n\n this.isAnimating = true;\n\n const group = state.groups.get(this.groupName);\n const isOtherMemberOpen = group && group.openedBy !== this.el;\n const isThisMemberOpen = group && group.openedBy === this.el;\n\n if (open) this.popoverElement.style.removeProperty('display');\n if (isThisMemberOpen && !open) state.groups.delete(this.groupName);\n if (this.groupName && open)\n state.groups.set(this.groupName, { openedBy: this.el });\n\n const { growIn } = useGrow(this.popoverElement, {\n duration: isOtherMemberOpen ? 0 : 100,\n amount: 0.85,\n });\n\n const { fadeOut } = useFade(this.popoverElement, {\n duration: isOtherMemberOpen ? 0 : 100,\n });\n\n if (open === true) {\n this.popoverElement.removeAttribute('hidden');\n this.positionPopover();\n await growIn();\n }\n if (open === false) {\n await fadeOut();\n this.popoverElement.setAttribute('hidden', '');\n }\n\n this.isAnimating = false;\n this.openChanged.emit(open);\n }\n\n @Watch('strategy')\n handleStrategyChange() {\n if (this.open) {\n this.positionPopover();\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n if (!this.triggerElement)\n this.triggerElement = Array.from(this.el.children).find(\n child => child.getAttribute('slot') === 'trigger',\n );\n }\n\n componentWillUpdate() {\n this.attachEventListeners();\n }\n\n componentDidLoad() {\n // Initial inline style setup\n if (!this.open) {\n const { setGrowOut } = useGrow(this.popoverElement);\n setGrowOut();\n } else {\n const { setFadeIn } = useFade(this.popoverElement);\n setFadeIn();\n this.popoverElement.removeAttribute('hidden');\n }\n\n this.positionPopover();\n this.attachEventListeners();\n }\n\n disconnectedCallback() {\n removeEventListeners(this.closeEvents, document, this);\n\n if (this.triggerMode === 'click') {\n removeEventListeners(this.clickEvents, this.triggerElement, this);\n // Remove document listeners\n removeEventListeners(this.outsideClickEvents, document, this);\n }\n\n if (this.triggerMode === 'hover')\n removeEventListeners(this.hoverEvents, this.triggerElement, this);\n\n // Reset flag so events can be reattached if component is reconnected\n this.eventsAttached = false;\n\n // Clean up any pending timeouts\n if (this.hideTimeout) clearTimeout(this.hideTimeout);\n if (this.showTimeout) clearTimeout(this.showTimeout);\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n <slot name=\"trigger\"></slot>\n\n <div\n data-scope=\"popover\"\n data-strategy={this.strategy}\n hidden\n ref={el => (this.popoverElement = el)}\n >\n {this.hasArrow && (\n <div data-scope=\"arrow\" ref={el => (this.arrowElement = el)}></div>\n )}\n\n <slot name=\"content\"></slot>\n </div>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
@@ -6,7 +6,7 @@ export class NvRow {
6
6
  /****************************************************************************/
7
7
  //#region RENDER
8
8
  render() {
9
- return (h(Host, { key: '91a990d393ce32b86f66729fc69068a4a5754fe4' }, h("slot", { key: '867eaa3d6b5760f3a8763a59d36c592d56325e9e' })));
9
+ return (h(Host, { key: '8415bdad0106bd3d836996c617a749294e0c19e2' }, h("slot", { key: '77c069ced0dc25c4169945877c388f30d27fdc4f' })));
10
10
  }
11
11
  static get is() { return "nv-row"; }
12
12
  static get originalStyleUrls() {
@@ -18,7 +18,7 @@ export class NvStack {
18
18
  /****************************************************************************/
19
19
  //#region RENDER
20
20
  render() {
21
- return (h(Host, { key: '6a314d1f6679d4cbbd01fc08ce54fc0f7709e3e0', class: clsx(this.fill && 'nv-stack-fill', this.flex && 'nv-stack-flex', this.full && 'w-full', this.gutter && !this.vertical && `gap-x-${this.gutter}`, this.gutter && this.vertical && `gap-y-${this.gutter}`, this.vertical && 'nv-stack-vertical') }, h("slot", { key: 'd3c5d0fd8f44b23a3cfae00aa39de8722babca2a' })));
21
+ return (h(Host, { key: '66123f22ad4a6ebefe8663c795274eb900d2c178', class: clsx(this.fill && 'nv-stack-fill', this.flex && 'nv-stack-flex', this.full && 'w-full', this.gutter && !this.vertical && `gap-x-${this.gutter}`, this.gutter && this.vertical && `gap-y-${this.gutter}`, this.vertical && 'nv-stack-vertical') }, h("slot", { key: '7b3d395c3490664f0e2f337a04f69cc717ed6c0e' })));
22
22
  }
23
23
  static get is() { return "nv-stack"; }
24
24
  static get originalStyleUrls() {
@@ -314,14 +314,14 @@ export class NvTable {
314
314
  const rows = !this.table || this.table === undefined || this.parsedData.length === 0
315
315
  ? []
316
316
  : this.table.data;
317
- return (h(Host, { key: '1b6e90df16e6f35fab46bdd7b9366122ace0c93f' }, h("div", { key: '77d54a2d44fad92dd8eae7bba4752adb6da28406', class: "hidden" }, h("slot", { key: 'c5f9508d2ffcd61dd660acd11df74d7d1bf12516' })), h("slot", { key: 'b1dc1a74cafbd302a9b81d1226ee7e7f4061c357', name: "before" }), this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (h("div", { class: "no-data" }, this.noColumnsNoDataMessage)) : (h("table", { class: "table" }, this.parsedColumns.length > 0 && headerGroups.length > 0 && (h("thead", { class: "table-header" }, h("tr", null, headerGroups &&
317
+ return (h(Host, { key: 'ea0b3237145fbc199d356010f1e001797afc52d6' }, h("div", { key: 'd3bf41bad48e549d1799b2c8e55a308a7d767973', class: "hidden" }, h("slot", { key: '8263220ebd266240b16228b67f8d215d7d56afd7' })), h("slot", { key: '36d43d6870cf9a6021521579c0507afd1fe85081', name: "before" }), this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (h("div", { class: "no-data" }, this.noColumnsNoDataMessage)) : (h("table", { class: "table" }, this.parsedColumns.length > 0 && headerGroups.length > 0 && (h("thead", { class: "table-header" }, h("tr", null, headerGroups &&
318
318
  headerGroups.map(col => {
319
319
  return (h("th", { key: col.name }, this.renderTemplate(this.headerTemplateCache.get(col.name), {}) || col.header));
320
320
  })))), h("tbody", { class: "table-body" }, !rows || rows.length === 0 ? (h("tr", null, h("td", { colSpan: headerGroups.length || 12, class: "no-data" }, this.noDataMessage))) : (rows.map(row => (h("tr", { key: JSON.stringify(row) }, headerGroups.map(col => {
321
321
  var _a;
322
322
  return (h("td", null, this.renderTemplate(this.templateCache.get(col.name), row) ||
323
323
  ((_a = row[col.name]) !== null && _a !== void 0 ? _a : this.fallbackValue)));
324
- })))))))), h("slot", { key: '2b90fd6d1e626faff3e7eb08e2b319ce02de4ec3', name: "after" })));
324
+ })))))))), h("slot", { key: '233b61e9099f58ca0eeeb7d0f7fdc7bd71bc9065', name: "after" })));
325
325
  }
326
326
  static get is() { return "nv-table"; }
327
327
  static get originalStyleUrls() {
@@ -79,7 +79,6 @@ nv-toggle .input-container input[type=checkbox]:focus, nv-toggle .input-containe
79
79
  nv-toggle .input-container input[type=checkbox]:focus-visible, nv-toggle .input-container input[type=checkbox]:has(:focus-visible) {
80
80
  outline: calc(var(--focus-outline-stroke) * 1) solid var(--color-focus-brand);
81
81
  outline-offset: calc(var(--focus-outline-offset) * 1);
82
- z-index: 111;
83
82
  }
84
83
  nv-toggle .input-container input[type=checkbox]:checked {
85
84
  background: var(--components-form-field-background-checked);
@@ -60,8 +60,8 @@ export class NvToggle {
60
60
  /****************************************************************************/
61
61
  //#region RENDER
62
62
  render() {
63
- return (h(Host, { key: 'caafe3f48598a1323132e20b0492070e73c95885', class: clsx(this.labelPlacement === 'before' && 'label-placement-before') }, h("div", { key: '2b95ace9e3713bfeda007d8d9eb693fca688b45f', class: "input-container" }, h("input", { key: '703e41e527f018071ac7d02d8318314014568995', type: "checkbox", id: this.inputId, name: this.name, autocomplete: "off", value: this.value, checked: Boolean(this.checked), disabled: this.disabled || this.readonly, readonly: this.readonly })), h("div", { key: '54b2d88481800d6f988900ca6405a45ecad48352', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: '41f04a6166fada0f522e5a6682d50b9e14d26ca1', htmlFor: this.inputId, class: clsx(this.hideLabel && 'visually-hidden') }, h("slot", { key: '6f24ee6e06ea767e04263a3451e29b24b8d8bf95', name: "label" }, this.label))), (this.description ||
64
- this.el.querySelector('[slot="description"]')) && (h("div", { key: 'ec177dadeadba62b9e69a6f3577a7a8166abb029', class: "description" }, h("slot", { key: 'd52e04c1aa3a607015f01fed95cb9f2300071087', name: "description" }, this.description))))));
63
+ return (h(Host, { key: 'db161d2edfcf7f83381b6431c8bc70a22c04fbf3', class: clsx(this.labelPlacement === 'before' && 'label-placement-before') }, h("div", { key: '086d6c429b4b7bcaa23093b13d30cf6ba21912f8', class: "input-container" }, h("input", { key: 'e83f407f2c3643c245198131a7991545b73dde78', type: "checkbox", id: this.inputId, name: this.name, autocomplete: "off", value: this.value, checked: Boolean(this.checked), disabled: this.disabled || this.readonly, readonly: this.readonly })), h("div", { key: 'eb5af410d1c643c70a4364948bf8fad9d54e74df', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { key: '54793fd81258bee7676801f23da4f5fb554242bf', htmlFor: this.inputId, class: clsx(this.hideLabel && 'visually-hidden') }, h("slot", { key: '6af650d9677d1eb0f8cfa77cbcd6318f2d6f8aaf', name: "label" }, this.label))), (this.description ||
64
+ this.el.querySelector('[slot="description"]')) && (h("div", { key: '2c157429288779ad6cc18d4e318e64830a657c54', class: "description" }, h("slot", { key: 'fcfae2a0d7cdcc76d4b23c4b376c8e2496e11bb5', name: "description" }, this.description))))));
65
65
  }
66
66
  static get is() { return "nv-toggle"; }
67
67
  static get formAssociated() { return true; }
@@ -41,7 +41,7 @@ export class NvTogglebutton {
41
41
  /****************************************************************************/
42
42
  //#region RENDER
43
43
  render() {
44
- return (h(Host, { key: '81e773d6bafc0fd451fb7e71cb14ca709af2d07e', role: "button", tabindex: "0", "aria-pressed": String(this.active), onClick: this.handleClick }, h("slot", { key: '4cec2d6ae5388cdfd285ab15af356e9833b0ccb3' })));
44
+ return (h(Host, { key: 'cb15a84c7e7cc27a80773613f31b98168eee8475', role: "button", tabindex: "0", "aria-pressed": String(this.active), onClick: this.handleClick }, h("slot", { key: '32d6b9394088d88c4671fb7809ad6aa85b240fff' })));
45
45
  }
46
46
  static get is() { return "nv-togglebutton"; }
47
47
  static get originalStyleUrls() {
@@ -3,6 +3,9 @@ nv-togglebutton {
3
3
  justify-content: center;
4
4
  align-items: center;
5
5
  }
6
+ nv-togglebutton:focus-visible, nv-togglebutton:has(:focus-visible) {
7
+ z-index: 1;
8
+ }
6
9
  nv-togglebutton[size=xs] {
7
10
  padding: var(--button-xs-padding-y) var(--button-xs-padding-x);
8
11
  gap: var(--button-xs-gap);
@@ -88,7 +91,6 @@ nv-togglebutton[emphasis=high]:focus, nv-togglebutton[emphasis=high]:focus-withi
88
91
  nv-togglebutton[emphasis=high]:focus-visible, nv-togglebutton[emphasis=high]:has(:focus-visible) {
89
92
  outline: calc(var(--focus-outline-stroke) * 1) solid var(--color-focus-brand);
90
93
  outline-offset: calc(var(--focus-outline-offset) * 1);
91
- z-index: 111;
92
94
  }
93
95
  nv-togglebutton[emphasis=high]:disabled:not([disabled=false]) {
94
96
  opacity: 0.5;
@@ -121,7 +123,6 @@ nv-togglebutton[emphasis=low]:focus, nv-togglebutton[emphasis=low]:focus-within
121
123
  nv-togglebutton[emphasis=low]:focus-visible, nv-togglebutton[emphasis=low]:has(:focus-visible) {
122
124
  outline: calc(var(--focus-outline-stroke) * 1) solid var(--color-focus-brand);
123
125
  outline-offset: calc(var(--focus-outline-offset) * 1);
124
- z-index: 111;
125
126
  }
126
127
  nv-togglebutton[emphasis=low]:disabled:not([disabled=false]) {
127
128
  opacity: 0.5;
@@ -4,7 +4,6 @@ const NvTogglebuttongroupDocs = {
4
4
  component: 'nv-togglebuttongroup',
5
5
  composedComponents: ['nv-togglebutton'],
6
6
  subcomponents: ['nv-togglebutton', 'nv-icon'],
7
- badge: 'beta',
8
7
  stories: [
9
8
  {
10
9
  name: 'Default',
@@ -1 +1 @@
1
- {"version":3,"file":"nv-togglebuttongroup.docs.js","sourceRoot":"","sources":["../../../src/components/nv-togglebuttongroup/nv-togglebuttongroup.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 NvTogglebuttongroupDocs: NovaDocs<Components.NvTogglebuttongroup> = {\n component: 'nv-togglebuttongroup',\n composedComponents: ['nv-togglebutton'],\n subcomponents: ['nv-togglebutton', 'nv-icon'],\n badge: 'beta',\n stories: [\n {\n name: 'Default',\n template: (\n <nv-togglebuttongroup data-storybook-args>\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n ),\n },\n {\n name: nameof<Components.NvTogglebuttongroup>(x => x.value),\n args: {\n value: ['left', 'center'],\n size: 'md',\n },\n template: (\n <nv-togglebuttongroup data-storybook-args>\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n ),\n },\n {\n name: nameof<Components.NvTogglebuttongroup>(x => x.exclusive),\n args: {\n exclusive: true,\n },\n template: (\n <nv-togglebuttongroup data-storybook-args>\n <nv-togglebutton value=\"android\">Android</nv-togglebutton>\n <nv-togglebutton value=\"ios\">iOS</nv-togglebutton>\n <nv-togglebutton value=\"win\">Windows</nv-togglebutton>\n </nv-togglebuttongroup>\n ),\n },\n {\n name: nameof<Components.NvTogglebuttongroup>(x => x.enforceValue),\n args: {\n enforceValue: true,\n value: ['ios', 'win'],\n },\n template: (\n <nv-togglebuttongroup data-storybook-args>\n <nv-togglebutton value=\"android\">Android</nv-togglebutton>\n <nv-togglebutton value=\"ios\">iOS</nv-togglebutton>\n <nv-togglebutton value=\"win\">Windows</nv-togglebutton>\n </nv-togglebuttongroup>\n ),\n },\n {\n name: 'enforceValueWithExclusive',\n args: {\n enforceValue: true,\n exclusive: true,\n value: ['ios'],\n },\n template: (\n <nv-togglebuttongroup data-storybook-args>\n <nv-togglebutton value=\"android\">Android</nv-togglebutton>\n <nv-togglebutton value=\"ios\">iOS</nv-togglebutton>\n <nv-togglebutton value=\"win\">Windows</nv-togglebutton>\n </nv-togglebuttongroup>\n ),\n },\n {\n name: nameof<Components.NvTogglebuttongroup>(x => x.emphasis),\n template: (\n <div data-class=\"flex flex-col gap-4\">\n <nv-togglebuttongroup data-storybook-args emphasis=\"low\">\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n <nv-togglebuttongroup data-storybook-args emphasis=\"high\">\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n </div>\n ),\n },\n {\n name: nameof<Components.NvTogglebuttongroup>(x => x.size),\n template: (\n <div data-class=\"flex flex-col gap-4\">\n <nv-togglebuttongroup data-storybook-args size=\"xs\">\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n <nv-togglebuttongroup data-storybook-args size=\"sm\">\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n <nv-togglebuttongroup data-storybook-args>\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n <nv-togglebuttongroup data-storybook-args size=\"lg\">\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n </div>\n ),\n },\n ],\n};\n\nexport default NvTogglebuttongroupDocs;\n"]}
1
+ {"version":3,"file":"nv-togglebuttongroup.docs.js","sourceRoot":"","sources":["../../../src/components/nv-togglebuttongroup/nv-togglebuttongroup.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 NvTogglebuttongroupDocs: NovaDocs<Components.NvTogglebuttongroup> = {\n component: 'nv-togglebuttongroup',\n composedComponents: ['nv-togglebutton'],\n subcomponents: ['nv-togglebutton', 'nv-icon'],\n stories: [\n {\n name: 'Default',\n template: (\n <nv-togglebuttongroup data-storybook-args>\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n ),\n },\n {\n name: nameof<Components.NvTogglebuttongroup>(x => x.value),\n args: {\n value: ['left', 'center'],\n size: 'md',\n },\n template: (\n <nv-togglebuttongroup data-storybook-args>\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n ),\n },\n {\n name: nameof<Components.NvTogglebuttongroup>(x => x.exclusive),\n args: {\n exclusive: true,\n },\n template: (\n <nv-togglebuttongroup data-storybook-args>\n <nv-togglebutton value=\"android\">Android</nv-togglebutton>\n <nv-togglebutton value=\"ios\">iOS</nv-togglebutton>\n <nv-togglebutton value=\"win\">Windows</nv-togglebutton>\n </nv-togglebuttongroup>\n ),\n },\n {\n name: nameof<Components.NvTogglebuttongroup>(x => x.enforceValue),\n args: {\n enforceValue: true,\n value: ['ios', 'win'],\n },\n template: (\n <nv-togglebuttongroup data-storybook-args>\n <nv-togglebutton value=\"android\">Android</nv-togglebutton>\n <nv-togglebutton value=\"ios\">iOS</nv-togglebutton>\n <nv-togglebutton value=\"win\">Windows</nv-togglebutton>\n </nv-togglebuttongroup>\n ),\n },\n {\n name: 'enforceValueWithExclusive',\n args: {\n enforceValue: true,\n exclusive: true,\n value: ['ios'],\n },\n template: (\n <nv-togglebuttongroup data-storybook-args>\n <nv-togglebutton value=\"android\">Android</nv-togglebutton>\n <nv-togglebutton value=\"ios\">iOS</nv-togglebutton>\n <nv-togglebutton value=\"win\">Windows</nv-togglebutton>\n </nv-togglebuttongroup>\n ),\n },\n {\n name: nameof<Components.NvTogglebuttongroup>(x => x.emphasis),\n template: (\n <div data-class=\"flex flex-col gap-4\">\n <nv-togglebuttongroup data-storybook-args emphasis=\"low\">\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n <nv-togglebuttongroup data-storybook-args emphasis=\"high\">\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n </div>\n ),\n },\n {\n name: nameof<Components.NvTogglebuttongroup>(x => x.size),\n template: (\n <div data-class=\"flex flex-col gap-4\">\n <nv-togglebuttongroup data-storybook-args size=\"xs\">\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n <nv-togglebuttongroup data-storybook-args size=\"sm\">\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n <nv-togglebuttongroup data-storybook-args>\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n <nv-togglebuttongroup data-storybook-args size=\"lg\">\n <nv-togglebutton value=\"left\">\n <nv-icon name=\"align-left\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"center\">\n <nv-icon name=\"align-center\"></nv-icon>\n </nv-togglebutton>\n <nv-togglebutton value=\"right\">\n <nv-icon name=\"align-right\"></nv-icon>\n </nv-togglebutton>\n </nv-togglebuttongroup>\n </div>\n ),\n },\n ],\n};\n\nexport default NvTogglebuttongroupDocs;\n"]}
@@ -151,7 +151,7 @@ export class NvTogglebuttongroup {
151
151
  /****************************************************************************/
152
152
  //#region RENDER
153
153
  render() {
154
- return (h(Host, { key: '52e2d0e1b8f0740a50a8d4d1e93af494e957b521' }, h("slot", { key: 'a82248437817b4fd7aa1c64e4d544050a71b4311' })));
154
+ return (h(Host, { key: 'ce185699fabd71bb5c22e5a0d73df88067acb9d6' }, h("slot", { key: 'a1e375fb1e8660f3fdb75d96f18db20735a3a64d' })));
155
155
  }
156
156
  static get is() { return "nv-togglebuttongroup"; }
157
157
  static get originalStyleUrls() {
@@ -32,6 +32,11 @@ const NvTooltipDocs = {
32
32
  args: { enterDelay: 500, message: 'Delayed!' },
33
33
  template: (h("div", { "data-class": "flex py-6 gap-4" }, h("nv-tooltip", { "data-storybook-args": true }, h("nv-button", null, "Hover Me")), h("nv-tooltip", { "data-storybook-args": true }, h("nv-button", null, "Hover Me")))),
34
34
  },
35
+ {
36
+ name: nameof(x => x.strategy),
37
+ args: { message: 'Strategy demo!' },
38
+ template: (h("div", { "data-class": "flex gap-8 items-start py-6" }, 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-tooltip", { "data-storybook-args": true, strategy: "absolute", placement: "right" }, h("nv-button", null, "Hover Me")))), 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-tooltip", { "data-storybook-args": true, strategy: "fixed", placement: "right" }, h("nv-button", null, "Hover Me")))))),
39
+ },
35
40
  ],
36
41
  };
37
42
  export default NvTooltipDocs;
@@ -1 +1 @@
1
- {"version":3,"file":"nv-tooltip.docs.js","sourceRoot":"","sources":["../../../src/components/nv-tooltip/nv-tooltip.docs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAGlC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,MAAM,aAAa,GAAmC;IACpD,SAAS,EAAE,YAAY;IACvB,aAAa,EAAE,CAAC,WAAW,CAAC;IAC5B,OAAO,EAAE;QACP;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;YACvC,QAAQ,EAAE,CACR,6DAA2C,MAAM;gBAC/C,gCAA+B,CACpB,CACd;SACF;QACD;YACE,IAAI,EAAE,MAAM,CAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAClD,IAAI,EAAE,EAAE,OAAO,EAAE,2CAA2C,EAAE;YAC9D,QAAQ,EAAE,CACR,6DAA2C,MAAM;gBAC/C,gCAA+B,CACpB,CACd;SACF;QACD;YACE,IAAI,EAAE,MAAM,CAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACpD,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE;YAC9B,QAAQ,EAAE,CACR,yBAAgB,iBAAiB;gBAC/B,+CAAgC,SAAS,EAAC,QAAQ;oBAChD,8BAA6B,CAClB;gBAEb,+CAAgC,SAAS,EAAC,MAAM;oBAC9C,4BAA2B,CAChB;gBAEb,+CAAgC,SAAS,EAAC,OAAO;oBAC/C,6BAA4B,CACjB;gBAEb,+CAAgC,SAAS,EAAC,KAAK;oBAC7C,2BAA0B,CACf,CACT,CACP;SACF;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,WAAW,EACT,gFAAgF;YAClF,IAAI,EAAE;gBACJ,OAAO,EAAE,qDAAqD;aAC/D;YACD,QAAQ,EAAE,CACR,yBAAgB,iBAAiB;gBAC/B;oBACE,gCAA+B,CACpB;gBAEb;oBACE,gCAA+B,CACpB;gBAEb;oBACE,gCAA+B,CACpB;gBAEb;oBACE,gCAA+B,CACpB,CACT,CACP;SACF;QACD;YACE,IAAI,EAAE,MAAM,CAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;YACrD,IAAI,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE;YAC9C,QAAQ,EAAE,CACR,yBAAgB,iBAAiB;gBAC/B;oBACE,gCAA+B,CACpB;gBAEb;oBACE,gCAA+B,CACpB,CACT,CACP;SACF;KACF;CACF,CAAC;AAEF,eAAe,aAAa,CAAC","sourcesContent":["import { h } from '@stencil/core';\nimport type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\nimport { nameof } from '../../utils/class.utils';\n\nconst NvTooltipDocs: NovaDocs<Components.NvTooltip> = {\n component: 'nv-tooltip',\n subcomponents: ['nv-button'],\n stories: [\n {\n name: 'Default',\n args: { message: 'This is a tooltip.' },\n template: (\n <nv-tooltip data-storybook-args data-class=\"py-6\">\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n ),\n },\n {\n name: nameof<Components.NvTooltip>(x => x.message),\n args: { message: 'This is a tooltip. You can focus or hover' },\n template: (\n <nv-tooltip data-storybook-args data-class=\"py-6\">\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n ),\n },\n {\n name: nameof<Components.NvTooltip>(x => x.placement),\n args: { message: 'Place Me!' },\n template: (\n <div data-class=\"flex py-6 gap-4\">\n <nv-tooltip data-storybook-args placement=\"bottom\">\n <nv-button>Bottom</nv-button>\n </nv-tooltip>\n\n <nv-tooltip data-storybook-args placement=\"left\">\n <nv-button>Left</nv-button>\n </nv-tooltip>\n\n <nv-tooltip data-storybook-args placement=\"right\">\n <nv-button>Right</nv-button>\n </nv-tooltip>\n\n <nv-tooltip data-storybook-args placement=\"top\">\n <nv-button>Top</nv-button>\n </nv-tooltip>\n </div>\n ),\n },\n {\n name: 'MultipleTooltips',\n description:\n 'Tooltips will automatically be grouped together, preventing animation overlap.',\n args: {\n message: 'We are in a group. Try to switch between them fast.',\n },\n template: (\n <div data-class=\"py-6 flex gap-4\">\n <nv-tooltip data-storybook-args>\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n\n <nv-tooltip data-storybook-args>\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n\n <nv-tooltip data-storybook-args>\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n\n <nv-tooltip data-storybook-args>\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n </div>\n ),\n },\n {\n name: nameof<Components.NvTooltip>(x => x.enterDelay),\n args: { enterDelay: 500, message: 'Delayed!' },\n template: (\n <div data-class=\"flex py-6 gap-4\">\n <nv-tooltip data-storybook-args>\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n\n <nv-tooltip data-storybook-args>\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n </div>\n ),\n },\n ],\n};\n\nexport default NvTooltipDocs;\n"]}
1
+ {"version":3,"file":"nv-tooltip.docs.js","sourceRoot":"","sources":["../../../src/components/nv-tooltip/nv-tooltip.docs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAGlC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,MAAM,aAAa,GAAmC;IACpD,SAAS,EAAE,YAAY;IACvB,aAAa,EAAE,CAAC,WAAW,CAAC;IAC5B,OAAO,EAAE;QACP;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE;YACvC,QAAQ,EAAE,CACR,6DAA2C,MAAM;gBAC/C,gCAA+B,CACpB,CACd;SACF;QACD;YACE,IAAI,EAAE,MAAM,CAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAClD,IAAI,EAAE,EAAE,OAAO,EAAE,2CAA2C,EAAE;YAC9D,QAAQ,EAAE,CACR,6DAA2C,MAAM;gBAC/C,gCAA+B,CACpB,CACd;SACF;QACD;YACE,IAAI,EAAE,MAAM,CAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACpD,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE;YAC9B,QAAQ,EAAE,CACR,yBAAgB,iBAAiB;gBAC/B,+CAAgC,SAAS,EAAC,QAAQ;oBAChD,8BAA6B,CAClB;gBAEb,+CAAgC,SAAS,EAAC,MAAM;oBAC9C,4BAA2B,CAChB;gBAEb,+CAAgC,SAAS,EAAC,OAAO;oBAC/C,6BAA4B,CACjB;gBAEb,+CAAgC,SAAS,EAAC,KAAK;oBAC7C,2BAA0B,CACf,CACT,CACP;SACF;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,WAAW,EACT,gFAAgF;YAClF,IAAI,EAAE;gBACJ,OAAO,EAAE,qDAAqD;aAC/D;YACD,QAAQ,EAAE,CACR,yBAAgB,iBAAiB;gBAC/B;oBACE,gCAA+B,CACpB;gBAEb;oBACE,gCAA+B,CACpB;gBAEb;oBACE,gCAA+B,CACpB;gBAEb;oBACE,gCAA+B,CACpB,CACT,CACP;SACF;QACD;YACE,IAAI,EAAE,MAAM,CAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;YACrD,IAAI,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE;YAC9C,QAAQ,EAAE,CACR,yBAAgB,iBAAiB;gBAC/B;oBACE,gCAA+B,CACpB;gBAEb;oBACE,gCAA+B,CACpB,CACT,CACP;SACF;QACD;YACE,IAAI,EAAE,MAAM,CAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;YACnD,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE;YACnC,QAAQ,EAAE,CACR,yBAAgB,6BAA6B;gBAC3C,yBAAgB,UAAU;oBACxB,wBAAe,0BAA0B,kCAEpC;oBACL,yBAAgB,8DAA8D;wBAC5E,uBAAc,cAAc,4CAExB;wBACJ,+CAEE,QAAQ,EAAC,UAAU,EACnB,SAAS,EAAC,OAAO;4BAEjB,gCAA+B,CACpB,CACT,CACF;gBACN,yBAAgB,UAAU;oBACxB,wBAAe,0BAA0B,qBAAoB;oBAC7D,yBAAgB,8DAA8D;wBAC5E,uBAAc,cAAc,4CAExB;wBACJ,+CAEE,QAAQ,EAAC,OAAO,EAChB,SAAS,EAAC,OAAO;4BAEjB,gCAA+B,CACpB,CACT,CACF,CACF,CACP;SACF;KACF;CACF,CAAC;AAEF,eAAe,aAAa,CAAC","sourcesContent":["import { h } from '@stencil/core';\nimport type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\nimport { nameof } from '../../utils/class.utils';\n\nconst NvTooltipDocs: NovaDocs<Components.NvTooltip> = {\n component: 'nv-tooltip',\n subcomponents: ['nv-button'],\n stories: [\n {\n name: 'Default',\n args: { message: 'This is a tooltip.' },\n template: (\n <nv-tooltip data-storybook-args data-class=\"py-6\">\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n ),\n },\n {\n name: nameof<Components.NvTooltip>(x => x.message),\n args: { message: 'This is a tooltip. You can focus or hover' },\n template: (\n <nv-tooltip data-storybook-args data-class=\"py-6\">\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n ),\n },\n {\n name: nameof<Components.NvTooltip>(x => x.placement),\n args: { message: 'Place Me!' },\n template: (\n <div data-class=\"flex py-6 gap-4\">\n <nv-tooltip data-storybook-args placement=\"bottom\">\n <nv-button>Bottom</nv-button>\n </nv-tooltip>\n\n <nv-tooltip data-storybook-args placement=\"left\">\n <nv-button>Left</nv-button>\n </nv-tooltip>\n\n <nv-tooltip data-storybook-args placement=\"right\">\n <nv-button>Right</nv-button>\n </nv-tooltip>\n\n <nv-tooltip data-storybook-args placement=\"top\">\n <nv-button>Top</nv-button>\n </nv-tooltip>\n </div>\n ),\n },\n {\n name: 'MultipleTooltips',\n description:\n 'Tooltips will automatically be grouped together, preventing animation overlap.',\n args: {\n message: 'We are in a group. Try to switch between them fast.',\n },\n template: (\n <div data-class=\"py-6 flex gap-4\">\n <nv-tooltip data-storybook-args>\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n\n <nv-tooltip data-storybook-args>\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n\n <nv-tooltip data-storybook-args>\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n\n <nv-tooltip data-storybook-args>\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n </div>\n ),\n },\n {\n name: nameof<Components.NvTooltip>(x => x.enterDelay),\n args: { enterDelay: 500, message: 'Delayed!' },\n template: (\n <div data-class=\"flex py-6 gap-4\">\n <nv-tooltip data-storybook-args>\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n\n <nv-tooltip data-storybook-args>\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n </div>\n ),\n },\n {\n name: nameof<Components.NvTooltip>(x => x.strategy),\n args: { message: 'Strategy demo!' },\n template: (\n <div data-class=\"flex gap-8 items-start py-6\">\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-tooltip\n data-storybook-args\n strategy=\"absolute\"\n placement=\"right\"\n >\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\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-tooltip\n data-storybook-args\n strategy=\"fixed\"\n placement=\"right\"\n >\n <nv-button>Hover Me</nv-button>\n </nv-tooltip>\n </div>\n </div>\n </div>\n ),\n },\n ],\n};\n\nexport default NvTooltipDocs;\n"]}
@@ -14,9 +14,18 @@ export class NvTooltip {
14
14
  /**
15
15
  * Controls how long (in milliseconds) the tooltip waits to show after you
16
16
  * hover over or focus on an element. If you move away before the delay is up,
17
- * the tooltip wont appear.
17
+ * the tooltip won't appear.
18
18
  */
19
19
  this.enterDelay = 0;
20
+ /**
21
+ * Sets the positioning strategy for the tooltip. Options include:
22
+ * - `absolute`: Positions the tooltip relative to the trigger element
23
+ * (default).
24
+ * - `fixed`: Positions the tooltip relative to the viewport, useful when you
25
+ * need the tooltip to break out of overflow hidden containers, it will not
26
+ * scroll inside a scroll container due to the fixed positioning.
27
+ */
28
+ this.strategy = 'absolute';
20
29
  }
21
30
  //#endregion EVENTS
22
31
  /****************************************************************************/
@@ -31,7 +40,7 @@ export class NvTooltip {
31
40
  /****************************************************************************/
32
41
  //#region RENDER
33
42
  render() {
34
- return (h(Host, { key: 'd4ee448b0dddf4229d3d845d86758a1e794c35e8' }, h("slot", { key: '5d24c99b18925e44a8dedd868922227339638e73' }), h("nv-popover", { key: '4ee6f08994042689a628c238905484b1aa9de555', triggerMode: "hover", hasArrow: true, placement: this.placement, triggerElement: this.triggerElement, groupName: 'tooltip', enterDelay: this.enterDelay }, h("p", { key: 'e8ac1f3f739f3b12172884e298494dede993b888', slot: "content" }, this.message), h("slot", { key: '96c2e3f5d9b72f5311ebe89e8ebe18274b2bfb13', name: "content" }))));
43
+ return (h(Host, { key: 'e0b68e5ade824e2b0f9c5e5cac140349412c919d' }, h("slot", { key: 'd61a58d034818fdba87b4ab17ce903bbb13a47ff' }), h("nv-popover", { key: '408df675045f95adf270025f83285b2e125873c5', triggerMode: "hover", hasArrow: true, placement: this.placement, strategy: this.strategy, triggerElement: this.triggerElement, groupName: 'tooltip', enterDelay: this.enterDelay }, h("p", { key: 'e4f860f09f5e5ef83b5e704c271781f41a643e59', slot: "content" }, this.message), h("slot", { key: '2e2e4dcae68651d734696e718c59389f712562df', name: "content" }))));
35
44
  }
36
45
  static get is() { return "nv-tooltip"; }
37
46
  static get originalStyleUrls() {
@@ -129,13 +138,39 @@ export class NvTooltip {
129
138
  "optional": false,
130
139
  "docs": {
131
140
  "tags": [],
132
- "text": "Controls how long (in milliseconds) the tooltip waits to show after you\nhover over or focus on an element. If you move away before the delay is up,\nthe tooltip won\u2019t appear."
141
+ "text": "Controls how long (in milliseconds) the tooltip waits to show after you\nhover over or focus on an element. If you move away before the delay is up,\nthe tooltip won't appear."
133
142
  },
134
143
  "getter": false,
135
144
  "setter": false,
136
145
  "attribute": "enter-delay",
137
146
  "reflect": true,
138
147
  "defaultValue": "0"
148
+ },
149
+ "strategy": {
150
+ "type": "string",
151
+ "mutable": false,
152
+ "complexType": {
153
+ "original": "Strategy",
154
+ "resolved": "\"absolute\" | \"fixed\"",
155
+ "references": {
156
+ "Strategy": {
157
+ "location": "import",
158
+ "path": "@floating-ui/dom",
159
+ "id": "../../node_modules/@floating-ui/dom/dist/floating-ui.dom.d.ts::Strategy"
160
+ }
161
+ }
162
+ },
163
+ "required": false,
164
+ "optional": false,
165
+ "docs": {
166
+ "tags": [],
167
+ "text": "Sets the positioning strategy for the tooltip. Options include:\n- `absolute`: Positions the tooltip relative to the trigger element\n (default).\n- `fixed`: Positions the tooltip relative to the viewport, useful when you\n need the tooltip to break out of overflow hidden containers, it will not\n scroll inside a scroll container due to the fixed positioning."
168
+ },
169
+ "getter": false,
170
+ "setter": false,
171
+ "attribute": "strategy",
172
+ "reflect": true,
173
+ "defaultValue": "'absolute'"
139
174
  }
140
175
  };
141
176
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nv-tooltip.js","sourceRoot":"","sources":["../../../src/components/nv-tooltip/nv-tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,CAAC,EACD,OAAO,EACP,IAAI,EACJ,KAAK,GAEN,MAAM,eAAe,CAAC;AAGvB;;;GAGG;AAMH,MAAM,OAAO,SAAS;IALtB;QA2BE;;;;WAIG;QAEM,cAAS,GAAc,QAAQ,CAAC;QAEzC;;;;WAIG;QAEM,eAAU,GAAW,CAAC,CAAC;KAiDjC;IApCC,mBAAmB;IACnB,8EAA8E;IAC9E,mBAAmB;IAEnB,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,cAAc;YACtB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC9D,OAAO,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;YAC7C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,sBAAsB;IACtB,8EAA8E;IAC9E,gBAAgB;IAEhB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,8DAAa;YAEb,mEACE,WAAW,EAAC,OAAO,EACnB,QAAQ,QACR,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAE3B,0DAAG,IAAI,EAAC,SAAS,IAAE,IAAI,CAAC,OAAO,CAAK;gBACpC,6DAAM,IAAI,EAAC,SAAS,GAAQ,CACjB,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGF","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport type { Placement } from '@floating-ui/dom';\n\n/**\n * @slot default - Content to be placed as the trigger.\n * @slot content - Content to be placed within the popover. Use for custom html, will render under the message.\n */\n@Component({\n tag: 'nv-tooltip',\n styleUrl: 'nv-tooltip.scss',\n shadow: false,\n})\nexport class NvTooltip {\n @Element() el: HTMLNvTooltipElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * @internal\n * Accepts a reference to the DOM element acting as the popover trigger. This\n * should be used when the slot for the trigger is not defined.\n */\n @Prop({ reflect: false, mutable: true })\n triggerElement: Element;\n\n /**\n * A string representing the text to be displayed inside the tooltip. This\n * content is shown when the tooltip is activated by the user, such as on\n * hover or focus events.\n */\n @Prop({ reflect: true })\n readonly message: string;\n\n /**\n * Decides where the tooltip shows up next to the element it’s linked to\n * (above, below, to the sides). If there isn’t enough room, it will adjust\n * it's position on the axis to fit on the screen, so users can always see it.\n */\n @Prop({ reflect: true })\n readonly placement: Placement = 'bottom';\n\n /**\n * Controls how long (in milliseconds) the tooltip waits to show after you\n * hover over or focus on an element. If you move away before the delay is up,\n * the tooltip wont appear.\n */\n @Prop({ reflect: true })\n readonly enterDelay: number = 0;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the tooltip is opened or closed. Bubbles up from the popover\n * element.\n */\n @Event()\n openChanged: EventEmitter<boolean>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n if (!this.triggerElement)\n this.triggerElement = Array.from(this.el.children).find(child => {\n return child.getAttribute('slot') === null;\n });\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n <slot></slot>\n\n <nv-popover\n triggerMode=\"hover\"\n hasArrow\n placement={this.placement}\n triggerElement={this.triggerElement}\n groupName={'tooltip'}\n enterDelay={this.enterDelay}\n >\n <p slot=\"content\">{this.message}</p>\n <slot name=\"content\"></slot>\n </nv-popover>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
1
+ {"version":3,"file":"nv-tooltip.js","sourceRoot":"","sources":["../../../src/components/nv-tooltip/nv-tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,CAAC,EACD,OAAO,EACP,IAAI,EACJ,KAAK,GAEN,MAAM,eAAe,CAAC;AAGvB;;;GAGG;AAMH,MAAM,OAAO,SAAS;IALtB;QA2BE;;;;WAIG;QAEM,cAAS,GAAc,QAAQ,CAAC;QAEzC;;;;WAIG;QAEM,eAAU,GAAW,CAAC,CAAC;QAEhC;;;;;;;WAOG;QAEM,aAAQ,GAAa,UAAU,CAAC;KAkD1C;IArCC,mBAAmB;IACnB,8EAA8E;IAC9E,mBAAmB;IAEnB,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,cAAc;YACtB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBAC9D,OAAO,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;YAC7C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,sBAAsB;IACtB,8EAA8E;IAC9E,gBAAgB;IAEhB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,8DAAa;YAEb,mEACE,WAAW,EAAC,OAAO,EACnB,QAAQ,QACR,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAE3B,0DAAG,IAAI,EAAC,SAAS,IAAE,IAAI,CAAC,OAAO,CAAK;gBACpC,6DAAM,IAAI,EAAC,SAAS,GAAQ,CACjB,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGF","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport type { Placement, Strategy } from '@floating-ui/dom';\n\n/**\n * @slot default - Content to be placed as the trigger.\n * @slot content - Content to be placed within the popover. Use for custom html, will render under the message.\n */\n@Component({\n tag: 'nv-tooltip',\n styleUrl: 'nv-tooltip.scss',\n shadow: false,\n})\nexport class NvTooltip {\n @Element() el: HTMLNvTooltipElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * @internal\n * Accepts a reference to the DOM element acting as the popover trigger. This\n * should be used when the slot for the trigger is not defined.\n */\n @Prop({ reflect: false, mutable: true })\n triggerElement: Element;\n\n /**\n * A string representing the text to be displayed inside the tooltip. This\n * content is shown when the tooltip is activated by the user, such as on\n * hover or focus events.\n */\n @Prop({ reflect: true })\n readonly message: string;\n\n /**\n * Decides where the tooltip shows up next to the element it’s linked to\n * (above, below, to the sides). If there isn’t enough room, it will adjust\n * it's position on the axis to fit on the screen, so users can always see it.\n */\n @Prop({ reflect: true })\n readonly placement: Placement = 'bottom';\n\n /**\n * Controls how long (in milliseconds) the tooltip waits to show after you\n * hover over or focus on an element. If you move away before the delay is up,\n * the tooltip won't appear.\n */\n @Prop({ reflect: true })\n readonly enterDelay: number = 0;\n\n /**\n * Sets the positioning strategy for the tooltip. Options include:\n * - `absolute`: Positions the tooltip relative to the trigger element\n * (default).\n * - `fixed`: Positions the tooltip relative to the viewport, useful when you\n * need the tooltip to break out of overflow hidden containers, it will not\n * scroll inside a scroll container due to the fixed positioning.\n */\n @Prop({ reflect: true })\n readonly strategy: Strategy = 'absolute';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the tooltip is opened or closed. Bubbles up from the popover\n * element.\n */\n @Event()\n openChanged: EventEmitter<boolean>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n if (!this.triggerElement)\n this.triggerElement = Array.from(this.el.children).find(child => {\n return child.getAttribute('slot') === null;\n });\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n <slot></slot>\n\n <nv-popover\n triggerMode=\"hover\"\n hasArrow\n placement={this.placement}\n strategy={this.strategy}\n triggerElement={this.triggerElement}\n groupName={'tooltip'}\n enterDelay={this.enterDelay}\n >\n <p slot=\"content\">{this.message}</p>\n <slot name=\"content\"></slot>\n </nv-popover>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
@@ -1,5 +1,13 @@
1
- import * as constants_1 from "./utils/constants";
2
- export { constants_1 as constants };
1
+ /**
2
+ * @fileoverview entry point for your component library
3
+ *
4
+ * This is the entry point for your component library. Use this file to export utilities,
5
+ * constants or data structure that accompany your components.
6
+ *
7
+ * DO NOT use this file to export your components. Instead, use the recommended approaches
8
+ * to consume components of this package as outlined in the `README.md`.
9
+ */
10
+ export * from './utils/constants';
3
11
  import * as classUtils_1 from "./utils/class.utils";
4
12
  export { classUtils_1 as classUtils };
5
13
  import * as eventUtils_1 from "./utils/events.utils";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAG9C,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC","sourcesContent":["/**\n * @fileoverview entry point for your component library\n *\n * This is the entry point for your component library. Use this file to export utilities,\n * constants or data structure that accompany your components.\n *\n * DO NOT use this file to export your components. Instead, use the recommended approaches\n * to consume components of this package as outlined in the `README.md`.\n */\n\nexport * as constants from './utils/constants';\nexport * as classUtils from './utils/class.utils';\nexport * as eventUtils from './utils/events.utils';\nexport * as stringUtils from './utils/string.utils';\nexport * as uriUtils from './utils/uri.utils';\nexport type * from './components.d.ts';\n\nexport * as animations from './animations';\nexport { iconNames } from './components/nv-icon/nv-icons';\nexport { WeekAbbreviations } from './interfaces/localization';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,mBAAmB,CAAC;AAClC,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,UAAU,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,WAAW,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAG9C,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC","sourcesContent":["/**\n * @fileoverview entry point for your component library\n *\n * This is the entry point for your component library. Use this file to export utilities,\n * constants or data structure that accompany your components.\n *\n * DO NOT use this file to export your components. Instead, use the recommended approaches\n * to consume components of this package as outlined in the `README.md`.\n */\n\nexport * from './utils/constants';\nexport * as classUtils from './utils/class.utils';\nexport * as eventUtils from './utils/events.utils';\nexport * as stringUtils from './utils/string.utils';\nexport * as uriUtils from './utils/uri.utils';\nexport type * from './components.d.ts';\n\nexport * as animations from './animations';\nexport { iconNames } from './components/nv-icon/nv-icons';\nexport { WeekAbbreviations } from './interfaces/localization';\n"]}
@@ -42,6 +42,11 @@ export var ButtonType;
42
42
  ButtonType["Reset"] = "reset";
43
43
  ButtonType["Button"] = "button";
44
44
  })(ButtonType || (ButtonType = {}));
45
+ export var NotificationEmphasis;
46
+ (function (NotificationEmphasis) {
47
+ NotificationEmphasis["Medium"] = "medium";
48
+ NotificationEmphasis["High"] = "high";
49
+ })(NotificationEmphasis || (NotificationEmphasis = {}));
45
50
  export var ToggleButtonEmphasis;
46
51
  (function (ToggleButtonEmphasis) {
47
52
  ToggleButtonEmphasis["High"] = "high";