@nova-design-system/nova-webcomponents 3.9.0 → 3.10.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 (444) hide show
  1. package/dist/cjs/{constants-8fb8ccc0.js → constants-3b6beb66.js} +15 -1
  2. package/dist/cjs/constants-3b6beb66.js.map +1 -0
  3. package/dist/cjs/index-c56424e5.js +12 -0
  4. package/dist/cjs/index.cjs.js +7 -1
  5. package/dist/cjs/index.cjs.js.map +1 -1
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/native.cjs.js +1 -1
  8. package/dist/cjs/nv-accordion-item.cjs.entry.js +1 -1
  9. package/dist/cjs/nv-accordion-item.cjs.entry.js.map +1 -1
  10. package/dist/cjs/nv-alert.cjs.entry.js +2 -2
  11. package/dist/cjs/nv-alert.cjs.entry.js.map +1 -1
  12. package/dist/cjs/nv-avatar.cjs.entry.js +1 -1
  13. package/dist/cjs/nv-badge_2.cjs.entry.js +2 -2
  14. package/dist/cjs/nv-badge_2.cjs.entry.js.map +1 -1
  15. package/dist/cjs/nv-breadcrumb.cjs.entry.js +1 -1
  16. package/dist/cjs/nv-breadcrumb.cjs.entry.js.map +1 -1
  17. package/dist/cjs/nv-button.cjs.entry.js +2 -2
  18. package/dist/cjs/nv-button.cjs.entry.js.map +1 -1
  19. package/dist/cjs/nv-buttongroup.cjs.entry.js +198 -0
  20. package/dist/cjs/nv-buttongroup.cjs.entry.js.map +1 -0
  21. package/dist/cjs/nv-calendar.cjs.entry.js +121 -38
  22. package/dist/cjs/nv-calendar.cjs.entry.js.map +1 -1
  23. package/dist/cjs/nv-col.cjs.entry.js +1 -1
  24. package/dist/cjs/nv-datagrid.cjs.entry.js +4 -4
  25. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
  26. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +1 -1
  27. package/dist/cjs/nv-dialog.cjs.entry.js +2 -2
  28. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +3 -3
  29. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +5 -5
  30. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js.map +1 -1
  31. package/dist/cjs/nv-fielddate.cjs.entry.js +62 -94
  32. package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
  33. package/dist/cjs/nv-fielddaterange.cjs.entry.js +52 -33
  34. package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
  35. package/dist/cjs/nv-fielddropdown.cjs.entry.js +3 -3
  36. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
  37. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +377 -27
  38. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
  39. package/dist/cjs/nv-fieldnumber.cjs.entry.js +3 -3
  40. package/dist/cjs/nv-fieldpassword.cjs.entry.js +3 -3
  41. package/dist/cjs/nv-fieldradio.cjs.entry.js +4 -4
  42. package/dist/cjs/nv-fieldradio.cjs.entry.js.map +1 -1
  43. package/dist/cjs/nv-fieldselect.cjs.entry.js +5 -5
  44. package/dist/cjs/nv-fieldslider.cjs.entry.js +3 -3
  45. package/dist/cjs/nv-fieldtext.cjs.entry.js +3 -3
  46. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +3 -3
  47. package/dist/cjs/nv-fieldtime.cjs.entry.js +10 -10
  48. package/dist/cjs/nv-icon.cjs.entry.js +3 -3
  49. package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
  50. package/dist/cjs/nv-iconbutton_2.cjs.entry.js +3 -3
  51. package/dist/cjs/nv-iconbutton_2.cjs.entry.js.map +1 -1
  52. package/dist/cjs/nv-menu.cjs.entry.js +1 -1
  53. package/dist/cjs/nv-menuitem.cjs.entry.js +1 -1
  54. package/dist/cjs/nv-popover.cjs.entry.js +1 -1
  55. package/dist/cjs/nv-row.cjs.entry.js +1 -1
  56. package/dist/cjs/nv-stack.cjs.entry.js +1 -1
  57. package/dist/cjs/nv-table.cjs.entry.js +2 -2
  58. package/dist/cjs/nv-toggle.cjs.entry.js +3 -3
  59. package/dist/cjs/nv-toggle.cjs.entry.js.map +1 -1
  60. package/dist/cjs/nv-togglebutton.cjs.entry.js +58 -0
  61. package/dist/cjs/nv-togglebutton.cjs.entry.js.map +1 -0
  62. package/dist/cjs/nv-togglebuttongroup.cjs.entry.js +172 -0
  63. package/dist/cjs/nv-togglebuttongroup.cjs.entry.js.map +1 -0
  64. package/dist/cjs/nv-tooltip.cjs.entry.js +1 -1
  65. package/dist/collection/collection-manifest.json +3 -0
  66. package/dist/collection/components/nv-accordion-item/nv-accordion-item.js +1 -1
  67. package/dist/collection/components/nv-accordion-item/nv-accordion-item.js.map +1 -1
  68. package/dist/collection/components/nv-alert/nv-alert.css +5 -0
  69. package/dist/collection/components/nv-badge/nv-badge.css +21 -0
  70. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.css +2 -0
  71. package/dist/collection/components/nv-button/styles/nv-button.css +8 -0
  72. package/dist/collection/components/nv-buttongroup/nv-buttongroup.docs.js +43 -0
  73. package/dist/collection/components/nv-buttongroup/nv-buttongroup.docs.js.map +1 -0
  74. package/dist/collection/components/nv-buttongroup/nv-buttongroup.js +217 -0
  75. package/dist/collection/components/nv-buttongroup/nv-buttongroup.js.map +1 -0
  76. package/dist/collection/components/nv-buttongroup/nv-buttongroup.utils.js +86 -0
  77. package/dist/collection/components/nv-buttongroup/nv-buttongroup.utils.js.map +1 -0
  78. package/dist/collection/components/nv-buttongroup/styles/nv-buttongroup.css +73 -0
  79. package/dist/collection/components/nv-buttongroup/test/nv-buttongroup.utils.test.js +312 -0
  80. package/dist/collection/components/nv-buttongroup/test/nv-buttongroup.utils.test.js.map +1 -0
  81. package/dist/collection/components/nv-calendar/nv-calendar.css +9 -0
  82. package/dist/collection/components/nv-calendar/nv-calendar.js +44 -25
  83. package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -1
  84. package/dist/collection/components/nv-calendar/nv-calendar.utils.js +68 -0
  85. package/dist/collection/components/nv-calendar/nv-calendar.utils.js.map +1 -1
  86. package/dist/collection/components/nv-calendar/partials/calendar-grid.js +5 -3
  87. package/dist/collection/components/nv-calendar/partials/calendar-grid.js.map +1 -1
  88. package/dist/collection/components/nv-calendar/partials/day-cell.js +4 -9
  89. package/dist/collection/components/nv-calendar/partials/day-cell.js.map +1 -1
  90. package/dist/collection/components/nv-col/nv-col.js +1 -1
  91. package/dist/collection/components/nv-datagrid/nv-datagrid.css +1 -0
  92. package/dist/collection/components/nv-datagrid/nv-datagrid.js +2 -2
  93. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +1 -1
  94. package/dist/collection/components/nv-dialog/nv-dialog.js +1 -1
  95. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js +1 -1
  96. package/dist/collection/components/nv-dialogheader/nv-dialogheader.js +1 -1
  97. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.css +1 -0
  98. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +4 -4
  99. package/dist/collection/components/nv-fielddate/nv-fielddate.js +63 -94
  100. package/dist/collection/components/nv-fielddate/nv-fielddate.js.map +1 -1
  101. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +52 -33
  102. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +1 -1
  103. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +3 -3
  104. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +1 -1
  105. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +1 -1
  106. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js.map +1 -1
  107. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +885 -122
  108. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js.map +1 -1
  109. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +561 -89
  110. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
  111. package/dist/collection/components/nv-fieldmultiselect/styles/nv-fieldmultiselect.css +70 -16
  112. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +3 -3
  113. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +3 -3
  114. package/dist/collection/components/nv-fieldradio/nv-fieldradio.css +1 -0
  115. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
  116. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +5 -5
  117. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +3 -3
  118. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +3 -3
  119. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -3
  120. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +9 -9
  121. package/dist/collection/components/nv-icon/nv-icon.js +1 -1
  122. package/dist/collection/components/nv-icon/nv-icons.js +6 -0
  123. package/dist/collection/components/nv-icon/nv-icons.js.map +1 -1
  124. package/dist/collection/components/nv-iconbutton/nv-iconbutton.css +4 -0
  125. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
  126. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  127. package/dist/collection/components/nv-menu/nv-menu.js +1 -1
  128. package/dist/collection/components/nv-menuitem/nv-menuitem.js +2 -2
  129. package/dist/collection/components/nv-popover/nv-popover.js +1 -1
  130. package/dist/collection/components/nv-row/nv-row.js +1 -1
  131. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  132. package/dist/collection/components/nv-table/nv-table.js +2 -2
  133. package/dist/collection/components/nv-toggle/nv-toggle.css +1 -0
  134. package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
  135. package/dist/collection/components/nv-togglebutton/nv-togglebutton.docs.js +6 -0
  136. package/dist/collection/components/nv-togglebutton/nv-togglebutton.docs.js.map +1 -0
  137. package/dist/collection/components/nv-togglebutton/nv-togglebutton.js +191 -0
  138. package/dist/collection/components/nv-togglebutton/nv-togglebutton.js.map +1 -0
  139. package/dist/collection/components/nv-togglebutton/styles/nv-togglebutton.css +135 -0
  140. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js +56 -0
  141. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js.map +1 -0
  142. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js +324 -0
  143. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js.map +1 -0
  144. package/dist/collection/components/nv-togglebuttongroup/styles/nv-togglebuttongroup.css +45 -0
  145. package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
  146. package/dist/collection/utils/constants.js +12 -0
  147. package/dist/collection/utils/constants.js.map +1 -1
  148. package/dist/components/index.js +7 -1
  149. package/dist/components/index.js.map +1 -1
  150. package/dist/components/nv-accordion-item.js +1 -1
  151. package/dist/components/nv-accordion.js +4 -4
  152. package/dist/components/nv-alert.js +3 -3
  153. package/dist/components/nv-alert.js.map +1 -1
  154. package/dist/components/nv-avatar.js +2 -2
  155. package/dist/components/nv-badge.js +1 -1
  156. package/dist/components/nv-breadcrumb.js +3 -3
  157. package/dist/components/nv-breadcrumb.js.map +1 -1
  158. package/dist/components/nv-button.js +1 -1
  159. package/dist/components/nv-buttongroup.d.ts +11 -0
  160. package/dist/components/nv-buttongroup.js +221 -0
  161. package/dist/components/nv-buttongroup.js.map +1 -0
  162. package/dist/components/nv-calendar.js +1 -1
  163. package/dist/components/nv-col.js +1 -1
  164. package/dist/components/nv-datagrid.js +6 -6
  165. package/dist/components/nv-datagrid.js.map +1 -1
  166. package/dist/components/nv-datagridcolumn.js +1 -1
  167. package/dist/components/nv-dialog.js +7 -7
  168. package/dist/components/nv-dialogfooter.js +1 -1
  169. package/dist/components/nv-dialogheader.js +1 -1
  170. package/dist/components/nv-fieldcheckbox.js +1 -1
  171. package/dist/components/nv-fielddate.js +70 -102
  172. package/dist/components/nv-fielddate.js.map +1 -1
  173. package/dist/components/nv-fielddaterange.js +58 -39
  174. package/dist/components/nv-fielddaterange.js.map +1 -1
  175. package/dist/components/nv-fielddropdown.js +8 -8
  176. package/dist/components/nv-fielddropdownitem.js +1 -1
  177. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  178. package/dist/components/nv-fieldmultiselect.js +399 -41
  179. package/dist/components/nv-fieldmultiselect.js.map +1 -1
  180. package/dist/components/nv-fieldnumber.js +1 -1
  181. package/dist/components/nv-fieldpassword.js +6 -6
  182. package/dist/components/nv-fieldradio.js +4 -4
  183. package/dist/components/nv-fieldradio.js.map +1 -1
  184. package/dist/components/nv-fieldselect.js +8 -8
  185. package/dist/components/nv-fieldslider.js +7 -7
  186. package/dist/components/nv-fieldtext.js +1 -1
  187. package/dist/components/nv-fieldtextarea.js +3 -3
  188. package/dist/components/nv-fieldtime.js +14 -14
  189. package/dist/components/nv-icon.js +1 -1
  190. package/dist/components/nv-iconbutton.js +1 -1
  191. package/dist/components/nv-loader.js +1 -1
  192. package/dist/components/nv-menu.js +4 -4
  193. package/dist/components/nv-menuitem.js +1 -1
  194. package/dist/components/nv-popover.js +1 -1
  195. package/dist/components/nv-row.js +1 -1
  196. package/dist/components/nv-stack.js +1 -1
  197. package/dist/components/nv-table.js +2 -2
  198. package/dist/components/nv-toggle.js +3 -3
  199. package/dist/components/nv-toggle.js.map +1 -1
  200. package/dist/components/nv-togglebutton.d.ts +11 -0
  201. package/dist/components/nv-togglebutton.js +78 -0
  202. package/dist/components/nv-togglebutton.js.map +1 -0
  203. package/dist/components/nv-togglebuttongroup.d.ts +11 -0
  204. package/dist/components/nv-togglebuttongroup.js +196 -0
  205. package/dist/components/nv-togglebuttongroup.js.map +1 -0
  206. package/dist/components/nv-tooltip.js +1 -1
  207. package/dist/components/{p-68ff562f.js → p-0ffb4785.js} +5 -5
  208. package/dist/components/{p-68ff562f.js.map → p-0ffb4785.js.map} +1 -1
  209. package/dist/components/{p-8067d283.js → p-195f46f3.js} +2 -2
  210. package/dist/components/{p-8067d283.js.map → p-195f46f3.js.map} +1 -1
  211. package/dist/components/{p-e4e1a926.js → p-1bb737fa.js} +3 -3
  212. package/dist/components/{p-e4e1a926.js.map → p-1bb737fa.js.map} +1 -1
  213. package/dist/components/{p-db4ba1d9.js → p-2db5d1ab.js} +7 -7
  214. package/dist/components/{p-db4ba1d9.js.map → p-2db5d1ab.js.map} +1 -1
  215. package/dist/components/{p-ba87d9d5.js → p-2ef4fb88.js} +3 -3
  216. package/dist/components/{p-ba87d9d5.js.map → p-2ef4fb88.js.map} +1 -1
  217. package/dist/components/{p-91a558eb.js → p-32e8e42e.js} +2 -2
  218. package/dist/components/{p-91a558eb.js.map → p-32e8e42e.js.map} +1 -1
  219. package/dist/components/{p-6de6866c.js → p-45a625fb.js} +6 -6
  220. package/dist/components/{p-6de6866c.js.map → p-45a625fb.js.map} +1 -1
  221. package/dist/components/{p-025b8a78.js → p-50d0db7b.js} +5 -5
  222. package/dist/components/{p-025b8a78.js.map → p-50d0db7b.js.map} +1 -1
  223. package/dist/components/{p-ed6686a1.js → p-51876ca1.js} +2 -2
  224. package/dist/components/{p-ed6686a1.js.map → p-51876ca1.js.map} +1 -1
  225. package/dist/components/{p-e104c58a.js → p-51a156ff.js} +3 -3
  226. package/dist/components/p-51a156ff.js.map +1 -0
  227. package/dist/components/p-8011513c.js +189 -0
  228. package/dist/components/{p-60064345.js.map → p-8011513c.js.map} +1 -1
  229. package/dist/components/{p-d32b75ac.js → p-8aee1010.js} +123 -39
  230. package/dist/components/p-8aee1010.js.map +1 -0
  231. package/dist/components/{p-79e6b6a2.js → p-9fdaea9a.js} +5 -5
  232. package/dist/components/p-9fdaea9a.js.map +1 -0
  233. package/dist/components/{p-6460318d.js → p-a1fe0a5d.js} +4 -4
  234. package/dist/components/p-a1fe0a5d.js.map +1 -0
  235. package/dist/components/{p-1f505531.js → p-a3ddec4c.js} +15 -1
  236. package/dist/components/p-a3ddec4c.js.map +1 -0
  237. package/dist/components/{p-0143cee0.js → p-a5002d14.js} +6 -6
  238. package/dist/components/{p-0143cee0.js.map → p-a5002d14.js.map} +1 -1
  239. package/dist/components/{p-30f970c3.js → p-b659b999.js} +3 -3
  240. package/dist/components/{p-30f970c3.js.map → p-b659b999.js.map} +1 -1
  241. package/dist/components/{p-5d5668f0.js → p-cf06032d.js} +4 -4
  242. package/dist/components/{p-5d5668f0.js.map → p-cf06032d.js.map} +1 -1
  243. package/dist/components/{p-dfd2d4f0.js → p-fda58a76.js} +2 -2
  244. package/dist/components/{p-dfd2d4f0.js.map → p-fda58a76.js.map} +1 -1
  245. package/dist/esm/{constants-4faa1fae.js → constants-23aaef7b.js} +15 -1
  246. package/dist/esm/constants-23aaef7b.js.map +1 -0
  247. package/dist/esm/index-a1936cd0.js +12 -0
  248. package/dist/esm/index.js +7 -1
  249. package/dist/esm/index.js.map +1 -1
  250. package/dist/esm/loader.js +1 -1
  251. package/dist/esm/native.js +1 -1
  252. package/dist/esm/nv-accordion-item.entry.js +1 -1
  253. package/dist/esm/nv-accordion-item.entry.js.map +1 -1
  254. package/dist/esm/nv-alert.entry.js +2 -2
  255. package/dist/esm/nv-alert.entry.js.map +1 -1
  256. package/dist/esm/nv-avatar.entry.js +1 -1
  257. package/dist/esm/nv-badge_2.entry.js +2 -2
  258. package/dist/esm/nv-badge_2.entry.js.map +1 -1
  259. package/dist/esm/nv-breadcrumb.entry.js +1 -1
  260. package/dist/esm/nv-breadcrumb.entry.js.map +1 -1
  261. package/dist/esm/nv-button.entry.js +2 -2
  262. package/dist/esm/nv-button.entry.js.map +1 -1
  263. package/dist/esm/nv-buttongroup.entry.js +194 -0
  264. package/dist/esm/nv-buttongroup.entry.js.map +1 -0
  265. package/dist/esm/nv-calendar.entry.js +121 -38
  266. package/dist/esm/nv-calendar.entry.js.map +1 -1
  267. package/dist/esm/nv-col.entry.js +1 -1
  268. package/dist/esm/nv-datagrid.entry.js +4 -4
  269. package/dist/esm/nv-datagrid.entry.js.map +1 -1
  270. package/dist/esm/nv-datagridcolumn.entry.js +1 -1
  271. package/dist/esm/nv-dialog.entry.js +2 -2
  272. package/dist/esm/nv-dialogfooter_2.entry.js +3 -3
  273. package/dist/esm/nv-fieldcheckbox.entry.js +5 -5
  274. package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -1
  275. package/dist/esm/nv-fielddate.entry.js +62 -94
  276. package/dist/esm/nv-fielddate.entry.js.map +1 -1
  277. package/dist/esm/nv-fielddaterange.entry.js +52 -33
  278. package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
  279. package/dist/esm/nv-fielddropdown.entry.js +3 -3
  280. package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
  281. package/dist/esm/nv-fieldmultiselect.entry.js +378 -28
  282. package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
  283. package/dist/esm/nv-fieldnumber.entry.js +3 -3
  284. package/dist/esm/nv-fieldpassword.entry.js +3 -3
  285. package/dist/esm/nv-fieldradio.entry.js +4 -4
  286. package/dist/esm/nv-fieldradio.entry.js.map +1 -1
  287. package/dist/esm/nv-fieldselect.entry.js +5 -5
  288. package/dist/esm/nv-fieldslider.entry.js +3 -3
  289. package/dist/esm/nv-fieldtext.entry.js +3 -3
  290. package/dist/esm/nv-fieldtextarea.entry.js +3 -3
  291. package/dist/esm/nv-fieldtime.entry.js +10 -10
  292. package/dist/esm/nv-icon.entry.js +3 -3
  293. package/dist/esm/nv-icon.entry.js.map +1 -1
  294. package/dist/esm/nv-iconbutton_2.entry.js +3 -3
  295. package/dist/esm/nv-iconbutton_2.entry.js.map +1 -1
  296. package/dist/esm/nv-menu.entry.js +1 -1
  297. package/dist/esm/nv-menuitem.entry.js +1 -1
  298. package/dist/esm/nv-popover.entry.js +1 -1
  299. package/dist/esm/nv-row.entry.js +1 -1
  300. package/dist/esm/nv-stack.entry.js +1 -1
  301. package/dist/esm/nv-table.entry.js +2 -2
  302. package/dist/esm/nv-toggle.entry.js +3 -3
  303. package/dist/esm/nv-toggle.entry.js.map +1 -1
  304. package/dist/esm/nv-togglebutton.entry.js +54 -0
  305. package/dist/esm/nv-togglebutton.entry.js.map +1 -0
  306. package/dist/esm/nv-togglebuttongroup.entry.js +168 -0
  307. package/dist/esm/nv-togglebuttongroup.entry.js.map +1 -0
  308. package/dist/esm/nv-tooltip.entry.js +1 -1
  309. package/dist/native/index.esm.js +1 -1
  310. package/dist/native/index.esm.js.map +1 -1
  311. package/dist/native/native.css +1 -1
  312. package/dist/native/native.esm.js +1 -1
  313. package/dist/native/native.esm.js.map +1 -1
  314. package/dist/native/{p-2a6783ca.entry.js → p-0da8f0d1.entry.js} +2 -2
  315. package/dist/native/{p-2a6783ca.entry.js.map → p-0da8f0d1.entry.js.map} +1 -1
  316. package/dist/native/p-0ef94dae.entry.js +2 -0
  317. package/dist/native/{p-1ad1bff9.entry.js.map → p-0ef94dae.entry.js.map} +1 -1
  318. package/dist/native/p-13032ec1.entry.js +2 -0
  319. package/dist/native/p-13032ec1.entry.js.map +1 -0
  320. package/dist/native/p-184032cb.entry.js +2 -0
  321. package/dist/native/{p-a73fa60a.entry.js.map → p-184032cb.entry.js.map} +1 -1
  322. package/dist/native/p-2197ffdf.entry.js +2 -0
  323. package/dist/native/{p-fa81b77f.entry.js.map → p-2197ffdf.entry.js.map} +1 -1
  324. package/dist/native/p-234cfa2e.entry.js +2 -0
  325. package/dist/native/p-2a3325fb.entry.js +2 -0
  326. package/dist/native/p-2a3325fb.entry.js.map +1 -0
  327. package/dist/native/{p-3f139780.entry.js → p-2d647761.entry.js} +2 -2
  328. package/dist/native/{p-ff248eb8.entry.js → p-348c6bb4.entry.js} +2 -2
  329. package/dist/native/p-397c0fca.entry.js +2 -0
  330. package/dist/native/{p-51a57a3a.entry.js.map → p-397c0fca.entry.js.map} +1 -1
  331. package/dist/native/{p-f687e05c.entry.js → p-3da64006.entry.js} +2 -2
  332. package/dist/native/p-3da64006.entry.js.map +1 -0
  333. package/dist/native/p-3ed84cd9.entry.js +2 -0
  334. package/dist/native/{p-fcd52432.entry.js.map → p-3ed84cd9.entry.js.map} +1 -1
  335. package/dist/native/{p-3ff7a912.entry.js → p-3fcaac6d.entry.js} +2 -2
  336. package/dist/native/{p-b7ec9a1b.entry.js → p-4302824a.entry.js} +2 -2
  337. package/dist/native/p-43071c3b.entry.js +2 -0
  338. package/dist/native/p-44dd9a4c.entry.js +2 -0
  339. package/dist/native/p-44dd9a4c.entry.js.map +1 -0
  340. package/dist/native/p-464bb197.entry.js +2 -0
  341. package/dist/native/p-464bb197.entry.js.map +1 -0
  342. package/dist/native/{p-916acbd3.entry.js → p-49504fd6.entry.js} +2 -2
  343. package/dist/native/{p-bc77cac1.entry.js → p-553778e6.entry.js} +2 -2
  344. package/dist/native/p-553778e6.entry.js.map +1 -0
  345. package/dist/native/{p-bee62b2b.entry.js → p-5f0776cb.entry.js} +2 -2
  346. package/dist/native/p-62032cd9.entry.js +2 -0
  347. package/dist/native/p-62032cd9.entry.js.map +1 -0
  348. package/dist/native/{p-11012998.entry.js → p-676447d7.entry.js} +3 -3
  349. package/dist/native/{p-16ef7dd4.entry.js → p-681f2bac.entry.js} +2 -2
  350. package/dist/native/{p-4b15cff3.entry.js → p-7f0d576b.entry.js} +2 -2
  351. package/dist/native/{p-68edb2e8.entry.js → p-85f8f11a.entry.js} +2 -2
  352. package/dist/native/{p-0e005d95.entry.js → p-888ad58e.entry.js} +2 -2
  353. package/dist/native/{p-34bf336f.entry.js → p-92931ab8.entry.js} +2 -2
  354. package/dist/native/{p-f00a4552.entry.js → p-94dc9c41.entry.js} +2 -2
  355. package/dist/native/{p-85a54ef2.entry.js → p-9c5d6827.entry.js} +2 -2
  356. package/dist/native/{p-08452012.entry.js → p-9f451b8a.entry.js} +3 -3
  357. package/dist/native/{p-08452012.entry.js.map → p-9f451b8a.entry.js.map} +1 -1
  358. package/dist/native/{p-1f932a4b.entry.js → p-aacd8789.entry.js} +2 -2
  359. package/dist/native/p-ac5496e7.entry.js +2 -0
  360. package/dist/native/{p-516da423.entry.js → p-ad2cc829.entry.js} +2 -2
  361. package/dist/native/p-ad2cc829.entry.js.map +1 -0
  362. package/dist/native/p-b2442d4b.entry.js +2 -0
  363. package/dist/native/{p-a36dc25a.entry.js.map → p-b2442d4b.entry.js.map} +1 -1
  364. package/dist/native/{p-67c34b8c.entry.js → p-b58fb522.entry.js} +2 -2
  365. package/dist/native/p-ba9906b7.entry.js +2 -0
  366. package/dist/native/{p-64cb38e6.entry.js.map → p-ba9906b7.entry.js.map} +1 -1
  367. package/dist/native/{p-f540db71.entry.js → p-dd023fd6.entry.js} +2 -2
  368. package/dist/native/p-f033c4ce.entry.js +2 -0
  369. package/dist/native/p-f033c4ce.entry.js.map +1 -0
  370. package/dist/native/{p-051db87c.entry.js → p-fb672f90.entry.js} +2 -2
  371. package/dist/native/p-fc9564b3.js +2 -0
  372. package/dist/native/p-fc9564b3.js.map +1 -0
  373. package/dist/types/components/nv-buttongroup/nv-buttongroup.d.ts +50 -0
  374. package/dist/types/components/nv-buttongroup/nv-buttongroup.docs.d.ts +4 -0
  375. package/dist/types/components/nv-buttongroup/nv-buttongroup.utils.d.ts +25 -0
  376. package/dist/types/components/nv-buttongroup/test/nv-buttongroup.utils.test.d.ts +1 -0
  377. package/dist/types/components/nv-calendar/nv-calendar.d.ts +11 -1
  378. package/dist/types/components/nv-calendar/nv-calendar.utils.d.ts +31 -0
  379. package/dist/types/components/nv-calendar/partials/calendar-grid.d.ts +11 -1
  380. package/dist/types/components/nv-calendar/partials/day-cell.d.ts +7 -1
  381. package/dist/types/components/nv-fielddate/nv-fielddate.d.ts +4 -19
  382. package/dist/types/components/nv-fielddaterange/nv-fielddaterange.d.ts +1 -0
  383. package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +116 -23
  384. package/dist/types/components/nv-icon/nv-icons.d.ts +1 -1
  385. package/dist/types/components/nv-togglebutton/nv-togglebutton.d.ts +46 -0
  386. package/dist/types/components/nv-togglebutton/nv-togglebutton.docs.d.ts +4 -0
  387. package/dist/types/components/nv-togglebuttongroup/nv-togglebuttongroup.d.ts +80 -0
  388. package/dist/types/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.d.ts +4 -0
  389. package/dist/types/components.d.ts +289 -2
  390. package/dist/types/utils/constants.d.ts +10 -0
  391. package/dist/vscode-data.json +189 -0
  392. package/hydrate/index.js +1167 -271
  393. package/hydrate/index.mjs +1167 -271
  394. package/package.json +14 -2
  395. package/dist/cjs/constants-8fb8ccc0.js.map +0 -1
  396. package/dist/components/p-1f505531.js.map +0 -1
  397. package/dist/components/p-60064345.js +0 -189
  398. package/dist/components/p-6460318d.js.map +0 -1
  399. package/dist/components/p-79e6b6a2.js.map +0 -1
  400. package/dist/components/p-d32b75ac.js.map +0 -1
  401. package/dist/components/p-e104c58a.js.map +0 -1
  402. package/dist/esm/constants-4faa1fae.js.map +0 -1
  403. package/dist/native/p-10ce53ea.entry.js +0 -2
  404. package/dist/native/p-1ad1bff9.entry.js +0 -2
  405. package/dist/native/p-516da423.entry.js.map +0 -1
  406. package/dist/native/p-51a57a3a.entry.js +0 -2
  407. package/dist/native/p-64cb38e6.entry.js +0 -2
  408. package/dist/native/p-73c08f3b.entry.js +0 -2
  409. package/dist/native/p-73c08f3b.entry.js.map +0 -1
  410. package/dist/native/p-a36dc25a.entry.js +0 -2
  411. package/dist/native/p-a50f3850.entry.js +0 -2
  412. package/dist/native/p-a73fa60a.entry.js +0 -2
  413. package/dist/native/p-b3f9db23.entry.js +0 -2
  414. package/dist/native/p-b3f9db23.entry.js.map +0 -1
  415. package/dist/native/p-bc77cac1.entry.js.map +0 -1
  416. package/dist/native/p-dc34da69.entry.js +0 -2
  417. package/dist/native/p-dc34da69.entry.js.map +0 -1
  418. package/dist/native/p-e2d0a77d.js +0 -2
  419. package/dist/native/p-e2d0a77d.js.map +0 -1
  420. package/dist/native/p-ec92ee7a.entry.js +0 -2
  421. package/dist/native/p-f687e05c.entry.js.map +0 -1
  422. package/dist/native/p-fa81b77f.entry.js +0 -2
  423. package/dist/native/p-fcd52432.entry.js +0 -2
  424. /package/dist/native/{p-ec92ee7a.entry.js.map → p-234cfa2e.entry.js.map} +0 -0
  425. /package/dist/native/{p-3f139780.entry.js.map → p-2d647761.entry.js.map} +0 -0
  426. /package/dist/native/{p-ff248eb8.entry.js.map → p-348c6bb4.entry.js.map} +0 -0
  427. /package/dist/native/{p-3ff7a912.entry.js.map → p-3fcaac6d.entry.js.map} +0 -0
  428. /package/dist/native/{p-b7ec9a1b.entry.js.map → p-4302824a.entry.js.map} +0 -0
  429. /package/dist/native/{p-10ce53ea.entry.js.map → p-43071c3b.entry.js.map} +0 -0
  430. /package/dist/native/{p-916acbd3.entry.js.map → p-49504fd6.entry.js.map} +0 -0
  431. /package/dist/native/{p-bee62b2b.entry.js.map → p-5f0776cb.entry.js.map} +0 -0
  432. /package/dist/native/{p-11012998.entry.js.map → p-676447d7.entry.js.map} +0 -0
  433. /package/dist/native/{p-16ef7dd4.entry.js.map → p-681f2bac.entry.js.map} +0 -0
  434. /package/dist/native/{p-4b15cff3.entry.js.map → p-7f0d576b.entry.js.map} +0 -0
  435. /package/dist/native/{p-68edb2e8.entry.js.map → p-85f8f11a.entry.js.map} +0 -0
  436. /package/dist/native/{p-0e005d95.entry.js.map → p-888ad58e.entry.js.map} +0 -0
  437. /package/dist/native/{p-34bf336f.entry.js.map → p-92931ab8.entry.js.map} +0 -0
  438. /package/dist/native/{p-f00a4552.entry.js.map → p-94dc9c41.entry.js.map} +0 -0
  439. /package/dist/native/{p-85a54ef2.entry.js.map → p-9c5d6827.entry.js.map} +0 -0
  440. /package/dist/native/{p-1f932a4b.entry.js.map → p-aacd8789.entry.js.map} +0 -0
  441. /package/dist/native/{p-a50f3850.entry.js.map → p-ac5496e7.entry.js.map} +0 -0
  442. /package/dist/native/{p-67c34b8c.entry.js.map → p-b58fb522.entry.js.map} +0 -0
  443. /package/dist/native/{p-f540db71.entry.js.map → p-dd023fd6.entry.js.map} +0 -0
  444. /package/dist/native/{p-051db87c.entry.js.map → p-fb672f90.entry.js.map} +0 -0
@@ -1,13 +1,13 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-aff3ed68.js';
2
2
  import { c as clsx } from './p-8a1a6e56.js';
3
- import { F as FeedbackColors } from './p-1f505531.js';
3
+ import { F as FeedbackColors } from './p-a3ddec4c.js';
4
4
  import { u as useCollapse } from './p-9a263d0e.js';
5
5
  import { u as useFade } from './p-1cbacdba.js';
6
6
  import './p-09cdd71f.js';
7
7
  import { t as timeline } from './p-15aeab4d.js';
8
- import { d as defineCustomElement$2 } from './p-6460318d.js';
8
+ import { d as defineCustomElement$2 } from './p-a1fe0a5d.js';
9
9
 
10
- const nvAlertCss = "nv-alert{display:flex !important;align-items:flex-start;position:relative;gap:var(--alert-gap-x);border-radius:var(--alert-radius);font-family:\"TT Norms Pro\", \"Montserrat\", sans-serif}nv-alert>nv-icon{margin-left:var(--alert-icon-position-x);margin-top:var(--alert-icon-position-y)}nv-alert.hidden{display:none !important}nv-alert.feedback-information{background-color:var(--components-alert-information-background);border:1px solid var(--components-alert-information-border) !important}nv-alert.feedback-information>.close:focus,nv-alert.feedback-information>.close:focus-within{outline:none}nv-alert.feedback-information>.close:focus-visible,nv-alert.feedback-information>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-information-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-warning{background-color:var(--components-alert-warning-background);border:1px solid var(--components-alert-warning-border) !important}nv-alert.feedback-warning>.close:focus,nv-alert.feedback-warning>.close:focus-within{outline:none}nv-alert.feedback-warning>.close:focus-visible,nv-alert.feedback-warning>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-warning-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-error{background-color:var(--components-alert-error-background);border:1px solid var(--components-alert-error-border) !important}nv-alert.feedback-error>.close:focus,nv-alert.feedback-error>.close:focus-within{outline:none}nv-alert.feedback-error>.close:focus-visible,nv-alert.feedback-error>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-error-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-success{background-color:var(--components-alert-success-background);border:1px solid var(--components-alert-success-border) !important}nv-alert.feedback-success>.close:focus,nv-alert.feedback-success>.close:focus-within{outline:none}nv-alert.feedback-success>.close:focus-visible,nv-alert.feedback-success>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-success-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-neutral{background-color:var(--components-alert-neutral-background);border:1px solid var(--components-alert-neutral-border) !important}nv-alert.feedback-neutral>.close:focus,nv-alert.feedback-neutral>.close:focus-within{outline:none}nv-alert.feedback-neutral>.close:focus-visible,nv-alert.feedback-neutral>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-neutral-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert>nv-icon.icon-information{color:var(--components-alert-information-icon)}nv-alert>nv-icon.icon-warning{color:var(--components-alert-warning-icon)}nv-alert>nv-icon.icon-error{color:var(--components-alert-error-icon)}nv-alert>nv-icon.icon-success{color:var(--components-alert-success-icon)}nv-alert>nv-icon.icon-neutral{color:var(--components-alert-neutral-icon)}nv-alert>.content{display:flex;padding:var(--alert-padding);padding-left:0;flex-direction:column;gap:var(--alert-gap-y)}nv-alert>.content>.heading{color:var(--components-alert-content-title);font-size:var(--alert-heading-font-size);line-height:var(--alert-heading-line-height);font-weight:var(--alert-heading-font-weight)}nv-alert>.content>.message{color:var(--components-alert-content-description);font-size:var(--alert-message-font-size);line-height:var(--alert-message-line-height)}nv-alert>.close{border-radius:var(--alert-radius);position:absolute;display:flex;top:var(--alert-icon-position-y);right:var(--alert-icon-position-x);padding:0;border:none;background:none;cursor:pointer}";
10
+ const nvAlertCss = "nv-alert{display:flex !important;align-items:flex-start;position:relative;gap:var(--alert-gap-x);border-radius:var(--alert-radius);font-family:\"TT Norms Pro\", \"Montserrat\", sans-serif}nv-alert>nv-icon{margin-left:var(--alert-icon-position-x);margin-top:var(--alert-icon-position-y)}nv-alert.hidden{display:none !important}nv-alert.feedback-information{background-color:var(--components-alert-information-background);border:1px solid var(--components-alert-information-border) !important}nv-alert.feedback-information>.close:focus,nv-alert.feedback-information>.close:focus-within{outline:none}nv-alert.feedback-information>.close:focus-visible,nv-alert.feedback-information>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-information-border);outline-offset:calc(var(--focus-outline-offset) * 1);z-index:111}nv-alert.feedback-warning{background-color:var(--components-alert-warning-background);border:1px solid var(--components-alert-warning-border) !important}nv-alert.feedback-warning>.close:focus,nv-alert.feedback-warning>.close:focus-within{outline:none}nv-alert.feedback-warning>.close:focus-visible,nv-alert.feedback-warning>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-warning-border);outline-offset:calc(var(--focus-outline-offset) * 1);z-index:111}nv-alert.feedback-error{background-color:var(--components-alert-error-background);border:1px solid var(--components-alert-error-border) !important}nv-alert.feedback-error>.close:focus,nv-alert.feedback-error>.close:focus-within{outline:none}nv-alert.feedback-error>.close:focus-visible,nv-alert.feedback-error>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-error-border);outline-offset:calc(var(--focus-outline-offset) * 1);z-index:111}nv-alert.feedback-success{background-color:var(--components-alert-success-background);border:1px solid var(--components-alert-success-border) !important}nv-alert.feedback-success>.close:focus,nv-alert.feedback-success>.close:focus-within{outline:none}nv-alert.feedback-success>.close:focus-visible,nv-alert.feedback-success>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-success-border);outline-offset:calc(var(--focus-outline-offset) * 1);z-index:111}nv-alert.feedback-neutral{background-color:var(--components-alert-neutral-background);border:1px solid var(--components-alert-neutral-border) !important}nv-alert.feedback-neutral>.close:focus,nv-alert.feedback-neutral>.close:focus-within{outline:none}nv-alert.feedback-neutral>.close:focus-visible,nv-alert.feedback-neutral>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-neutral-border);outline-offset:calc(var(--focus-outline-offset) * 1);z-index:111}nv-alert>nv-icon.icon-information{color:var(--components-alert-information-icon)}nv-alert>nv-icon.icon-warning{color:var(--components-alert-warning-icon)}nv-alert>nv-icon.icon-error{color:var(--components-alert-error-icon)}nv-alert>nv-icon.icon-success{color:var(--components-alert-success-icon)}nv-alert>nv-icon.icon-neutral{color:var(--components-alert-neutral-icon)}nv-alert>.content{display:flex;padding:var(--alert-padding);padding-left:0;flex-direction:column;gap:var(--alert-gap-y)}nv-alert>.content>.heading{color:var(--components-alert-content-title);font-size:var(--alert-heading-font-size);line-height:var(--alert-heading-line-height);font-weight:var(--alert-heading-font-weight)}nv-alert>.content>.message{color:var(--components-alert-content-description);font-size:var(--alert-message-font-size);line-height:var(--alert-message-line-height)}nv-alert>.close{border-radius:var(--alert-radius);position:absolute;display:flex;top:var(--alert-icon-position-y);right:var(--alert-icon-position-x);padding:0;border:none;background:none;cursor:pointer}";
11
11
  const NvAlertStyle0 = nvAlertCss;
12
12
 
13
13
  const NvAlert$1 = /*@__PURE__*/ proxyCustomElement(class NvAlert extends H {
@@ -1 +1 @@
1
- {"file":"nv-alert.js","mappings":"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","names":["NvAlert"],"sources":["src/components/nv-alert/nv-alert.scss?tag=nv-alert","src/components/nv-alert/nv-alert.tsx"],"sourcesContent":["@use \"sass:map\";\n@import \"../../styles/focus-ring\";\n\n/* Variants */\n$alert-feedback: (\"information\", \"warning\", \"error\", \"success\", \"neutral\");\n\n/* Define maps for feedback-related variables */\n$components-alert-background: (\n \"information\": var(--components-alert-information-background),\n \"warning\": var(--components-alert-warning-background),\n \"error\": var(--components-alert-error-background),\n \"success\": var(--components-alert-success-background),\n \"neutral\": var(--components-alert-neutral-background)\n);\n\n$components-alert-border: (\n \"information\": var(--components-alert-information-border),\n \"warning\": var(--components-alert-warning-border),\n \"error\": var(--components-alert-error-border),\n \"success\": var(--components-alert-success-border),\n \"neutral\": var(--components-alert-neutral-border)\n);\n\n$components-alert-icon: (\n \"information\": var(--components-alert-information-icon),\n \"warning\": var(--components-alert-warning-icon),\n \"error\": var(--components-alert-error-icon),\n \"success\": var(--components-alert-success-icon),\n \"neutral\": var(--components-alert-neutral-icon)\n);\n\n@mixin root-styles() {\n display: flex !important; // override the display: none in [hidden] css\n align-items: flex-start;\n position: relative;\n gap: var(--alert-gap-x);\n border-radius: var(--alert-radius);\n font-family: \"TT Norms Pro\", \"Montserrat\", sans-serif;\n}\n\n@mixin content-styles() {\n display: flex;\n padding: var(--alert-padding);\n padding-left: 0;\n flex-direction: column;\n gap: var(--alert-gap-y);\n}\n\n@mixin feedback-color($feedback-type) {\n background-color: map.get($components-alert-background, $feedback-type);\n border: 1px solid map.get($components-alert-border, $feedback-type) !important;\n}\n\n@mixin icon-color($feedback-type) {\n color: map.get($components-alert-icon, $feedback-type);\n}\n\n@mixin icon-position {\n margin-left: var(--alert-icon-position-x);\n margin-top: var(--alert-icon-position-y);\n}\n\nnv-alert {\n @include root-styles();\n\n & > nv-icon {\n @include icon-position();\n }\n\n &.hidden {\n display: none!important;\n }\n\n @each $feedback in $alert-feedback {\n &.feedback-#{$feedback} {\n @include feedback-color($feedback);\n & > .close {\n @include focus-ring(map.get($components-alert-border, $feedback));\n }\n }\n }\n\n @each $feedback in $alert-feedback {\n & > nv-icon.icon-#{$feedback} {\n @include icon-color($feedback);\n }\n }\n\n & > .content {\n @include content-styles();\n\n & > .heading {\n color: var(--components-alert-content-title);\n font-size: var(--alert-heading-font-size);\n line-height: var(--alert-heading-line-height);\n font-weight: var(--alert-heading-font-weight);\n }\n & > .message {\n color: var(--components-alert-content-description);\n font-size: var(--alert-message-font-size);\n line-height: var(--alert-message-line-height);\n }\n }\n & > .close {\n border-radius: var(--alert-radius);\n position: absolute;\n display: flex;\n top: var(--alert-icon-position-y);\n right: var(--alert-icon-position-x);\n padding: 0;\n border: none;\n background: none;\n cursor: pointer;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Watch,\n Element,\n} from '@stencil/core';\nimport clsx from 'clsx';\n\nimport {\n DeprecatedSemanticColors,\n FeedbackColors,\n} from '../../utils/constants';\nimport { useCollapse, useFade, timeline } from '../../animations';\n\n/**\n * @slot default - Use this slot to insert HTML into the alert content.\n */\n@Component({\n tag: 'nv-alert',\n styleUrl: 'nv-alert.scss',\n shadow: false,\n})\nexport class NvAlert {\n @Element() ref: HTMLNvAlertElement;\n\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Defines color of the alert.\n * @deprecated use feedback instead.\n */\n @Prop({ reflect: true })\n readonly color: `${DeprecatedSemanticColors}`;\n\n componentWillRender() {\n if (this.color) {\n switch (this.color) {\n case 'primary' as DeprecatedSemanticColors:\n this.feedback = 'warning' as FeedbackColors;\n break;\n case 'secondary' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n case 'neutral' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n default:\n this.feedback = this.color as FeedbackColors;\n }\n }\n }\n\n //#endregion DEPRECATED\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Specifies the alert type which determines the color and default icon.\n */\n @Prop({ reflect: true, mutable: true })\n feedback: `${FeedbackColors}` = 'information';\n\n /**\n * Main content of the alert. For more complex content, use the default slot\n * instead.\n */\n @Prop({ reflect: true })\n readonly message: string;\n\n /**\n * Short and concise text for the alert title.\n */\n @Prop({ reflect: true })\n readonly heading: string;\n\n /**\n * Icon associated with the alert, defaults vary based on the feedback type.\n */\n @Prop({ reflect: true })\n readonly icon: string;\n\n /**\n * Allows the alert to be dismissed via a close button (x). The alert is not\n * dismissible unless explicitly enabled.\n */\n @Prop({ reflect: true })\n readonly dismissible: boolean = false;\n\n /**\n * When true, the alert does not automatically close upon dismissing.\n * Useful for externally controlled component behavior.\n */\n @Prop({ reflect: true })\n readonly preventAutoClose: boolean = false;\n\n /**\n * Controls the visibility of the alert. Will animate with fade and collapse.\n */\n @Prop({ reflect: true, mutable: true })\n hidden: boolean = false; // eslint-disable-line @stencil-community/reserved-member-names\n\n /**\n * When true, the alert will not animate when it is hidden or shown.\n */\n @Prop({ reflect: true })\n readonly hasNoAnimations: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emits when the 'hidden' prop changes, reflecting a change in visibility.\n * Passes hidden value to the detail.\n * @bind hidden\n */\n @Event()\n hiddenChanged: EventEmitter<boolean>;\n\n /**\n * Emitted when the animations complete, detail includes the hidden value.\n */\n @Event()\n hiddenChangedComplete: EventEmitter<boolean>;\n\n /**\n * Emitted when the close button is clicked.\n */\n @Event()\n closeClicked: EventEmitter<void>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n /**\n * Used for 2 way binding with the hidden property.\n * Triggers open and close animations.\n * @param {boolean} hidden - The visibility state of the alert.\n */\n @Watch('hidden')\n async handleHiddenChange(hidden: boolean) {\n this.hiddenChanged.emit(hidden);\n\n await this.updateVisibility(hidden);\n this.hiddenChangedComplete.emit(hidden);\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles the dismissal of the alert, considering the preventAutoClose prop.\n * Passes the original event from the close button to the close event detail.\n * @param {MouseEvent} originalEvent - The original event from the close button.\n */\n private handleDismiss = () => {\n if (!this.preventAutoClose) {\n this.hidden = true;\n }\n\n this.closeClicked.emit();\n };\n\n /**\n * By default an icon is linked to the feedback type\n * @returns {string} - The default icon name.\n */\n private getDefaultIcon = () => {\n switch (this.feedback) {\n case FeedbackColors.Warning:\n return 'alert-circle';\n case FeedbackColors.Information:\n return 'info-circle';\n case FeedbackColors.Success:\n return 'circle-check';\n case FeedbackColors.Error:\n return 'alert-circle';\n case FeedbackColors.Neutral:\n return 'help';\n default:\n return 'info-circle';\n }\n };\n\n /**\n * Updates the visibility state of the alert with optional animations\n * @param {boolean} hidden - Whether the alert should be hidden\n */\n private async updateVisibility(hidden: boolean) {\n if (this.hasNoAnimations) {\n this.toggleHiddenClass(hidden);\n return;\n }\n\n const { fadeIn, fadeOut } = useFade(this.ref, { duration: 150 });\n const { collapse, expand } = useCollapse(this.ref, { duration: 150 });\n\n if (hidden) {\n await timeline(fadeOut, collapse).start();\n this.toggleHiddenClass(true);\n } else {\n this.toggleHiddenClass(false);\n await timeline(expand, fadeIn).start();\n }\n }\n\n /**\n * Toggles the 'hidden' class on the element\n * @param {boolean} hidden - Whether to add or remove the hidden class\n */\n private toggleHiddenClass(hidden: boolean) {\n this.ref.classList.toggle('hidden', hidden);\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n if (this.color) {\n switch (this.color) {\n case 'primary' as DeprecatedSemanticColors:\n this.feedback = 'warning' as FeedbackColors;\n break;\n case 'secondary' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n case 'neutral' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n default:\n this.feedback = this.color as FeedbackColors;\n }\n }\n\n if (this.hidden) {\n this.ref.classList.add('hidden');\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host role=\"alert\" class={clsx('root', `feedback-${this.feedback}`)}>\n <nv-icon\n name={this.icon ?? this.getDefaultIcon()}\n class={`icon-${this.feedback}`}\n size=\"md\"\n ></nv-icon>\n\n <div class=\"content\">\n {this.heading && <p class=\"heading\">{this.heading}</p>}\n\n {this.message && <p class=\"message\">{this.message}</p>}\n\n <slot></slot>\n </div>\n\n {this.dismissible && (\n <button class=\"close\" type=\"button\" onClick={this.handleDismiss}>\n <nv-icon name=\"x\" size=\"sm\" />\n </button>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
1
+ {"file":"nv-alert.js","mappings":"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","names":["NvAlert"],"sources":["src/components/nv-alert/nv-alert.scss?tag=nv-alert","src/components/nv-alert/nv-alert.tsx"],"sourcesContent":["@use \"sass:map\";\n@import \"../../styles/focus-ring\";\n\n/* Variants */\n$alert-feedback: (\"information\", \"warning\", \"error\", \"success\", \"neutral\");\n\n/* Define maps for feedback-related variables */\n$components-alert-background: (\n \"information\": var(--components-alert-information-background),\n \"warning\": var(--components-alert-warning-background),\n \"error\": var(--components-alert-error-background),\n \"success\": var(--components-alert-success-background),\n \"neutral\": var(--components-alert-neutral-background)\n);\n\n$components-alert-border: (\n \"information\": var(--components-alert-information-border),\n \"warning\": var(--components-alert-warning-border),\n \"error\": var(--components-alert-error-border),\n \"success\": var(--components-alert-success-border),\n \"neutral\": var(--components-alert-neutral-border)\n);\n\n$components-alert-icon: (\n \"information\": var(--components-alert-information-icon),\n \"warning\": var(--components-alert-warning-icon),\n \"error\": var(--components-alert-error-icon),\n \"success\": var(--components-alert-success-icon),\n \"neutral\": var(--components-alert-neutral-icon)\n);\n\n@mixin root-styles() {\n display: flex !important; // override the display: none in [hidden] css\n align-items: flex-start;\n position: relative;\n gap: var(--alert-gap-x);\n border-radius: var(--alert-radius);\n font-family: \"TT Norms Pro\", \"Montserrat\", sans-serif;\n}\n\n@mixin content-styles() {\n display: flex;\n padding: var(--alert-padding);\n padding-left: 0;\n flex-direction: column;\n gap: var(--alert-gap-y);\n}\n\n@mixin feedback-color($feedback-type) {\n background-color: map.get($components-alert-background, $feedback-type);\n border: 1px solid map.get($components-alert-border, $feedback-type) !important;\n}\n\n@mixin icon-color($feedback-type) {\n color: map.get($components-alert-icon, $feedback-type);\n}\n\n@mixin icon-position {\n margin-left: var(--alert-icon-position-x);\n margin-top: var(--alert-icon-position-y);\n}\n\nnv-alert {\n @include root-styles();\n\n & > nv-icon {\n @include icon-position();\n }\n\n &.hidden {\n display: none!important;\n }\n\n @each $feedback in $alert-feedback {\n &.feedback-#{$feedback} {\n @include feedback-color($feedback);\n & > .close {\n @include focus-ring(map.get($components-alert-border, $feedback));\n }\n }\n }\n\n @each $feedback in $alert-feedback {\n & > nv-icon.icon-#{$feedback} {\n @include icon-color($feedback);\n }\n }\n\n & > .content {\n @include content-styles();\n\n & > .heading {\n color: var(--components-alert-content-title);\n font-size: var(--alert-heading-font-size);\n line-height: var(--alert-heading-line-height);\n font-weight: var(--alert-heading-font-weight);\n }\n & > .message {\n color: var(--components-alert-content-description);\n font-size: var(--alert-message-font-size);\n line-height: var(--alert-message-line-height);\n }\n }\n & > .close {\n border-radius: var(--alert-radius);\n position: absolute;\n display: flex;\n top: var(--alert-icon-position-y);\n right: var(--alert-icon-position-x);\n padding: 0;\n border: none;\n background: none;\n cursor: pointer;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Watch,\n Element,\n} from '@stencil/core';\nimport clsx from 'clsx';\n\nimport {\n DeprecatedSemanticColors,\n FeedbackColors,\n} from '../../utils/constants';\nimport { useCollapse, useFade, timeline } from '../../animations';\n\n/**\n * @slot default - Use this slot to insert HTML into the alert content.\n */\n@Component({\n tag: 'nv-alert',\n styleUrl: 'nv-alert.scss',\n shadow: false,\n})\nexport class NvAlert {\n @Element() ref: HTMLNvAlertElement;\n\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Defines color of the alert.\n * @deprecated use feedback instead.\n */\n @Prop({ reflect: true })\n readonly color: `${DeprecatedSemanticColors}`;\n\n componentWillRender() {\n if (this.color) {\n switch (this.color) {\n case 'primary' as DeprecatedSemanticColors:\n this.feedback = 'warning' as FeedbackColors;\n break;\n case 'secondary' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n case 'neutral' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n default:\n this.feedback = this.color as FeedbackColors;\n }\n }\n }\n\n //#endregion DEPRECATED\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Specifies the alert type which determines the color and default icon.\n */\n @Prop({ reflect: true, mutable: true })\n feedback: `${FeedbackColors}` = 'information';\n\n /**\n * Main content of the alert. For more complex content, use the default slot\n * instead.\n */\n @Prop({ reflect: true })\n readonly message: string;\n\n /**\n * Short and concise text for the alert title.\n */\n @Prop({ reflect: true })\n readonly heading: string;\n\n /**\n * Icon associated with the alert, defaults vary based on the feedback type.\n */\n @Prop({ reflect: true })\n readonly icon: string;\n\n /**\n * Allows the alert to be dismissed via a close button (x). The alert is not\n * dismissible unless explicitly enabled.\n */\n @Prop({ reflect: true })\n readonly dismissible: boolean = false;\n\n /**\n * When true, the alert does not automatically close upon dismissing.\n * Useful for externally controlled component behavior.\n */\n @Prop({ reflect: true })\n readonly preventAutoClose: boolean = false;\n\n /**\n * Controls the visibility of the alert. Will animate with fade and collapse.\n */\n @Prop({ reflect: true, mutable: true })\n hidden: boolean = false; // eslint-disable-line @stencil-community/reserved-member-names\n\n /**\n * When true, the alert will not animate when it is hidden or shown.\n */\n @Prop({ reflect: true })\n readonly hasNoAnimations: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emits when the 'hidden' prop changes, reflecting a change in visibility.\n * Passes hidden value to the detail.\n * @bind hidden\n */\n @Event()\n hiddenChanged: EventEmitter<boolean>;\n\n /**\n * Emitted when the animations complete, detail includes the hidden value.\n */\n @Event()\n hiddenChangedComplete: EventEmitter<boolean>;\n\n /**\n * Emitted when the close button is clicked.\n */\n @Event()\n closeClicked: EventEmitter<void>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n /**\n * Used for 2 way binding with the hidden property.\n * Triggers open and close animations.\n * @param {boolean} hidden - The visibility state of the alert.\n */\n @Watch('hidden')\n async handleHiddenChange(hidden: boolean) {\n this.hiddenChanged.emit(hidden);\n\n await this.updateVisibility(hidden);\n this.hiddenChangedComplete.emit(hidden);\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles the dismissal of the alert, considering the preventAutoClose prop.\n * Passes the original event from the close button to the close event detail.\n * @param {MouseEvent} originalEvent - The original event from the close button.\n */\n private handleDismiss = () => {\n if (!this.preventAutoClose) {\n this.hidden = true;\n }\n\n this.closeClicked.emit();\n };\n\n /**\n * By default an icon is linked to the feedback type\n * @returns {string} - The default icon name.\n */\n private getDefaultIcon = () => {\n switch (this.feedback) {\n case FeedbackColors.Warning:\n return 'alert-circle';\n case FeedbackColors.Information:\n return 'info-circle';\n case FeedbackColors.Success:\n return 'circle-check';\n case FeedbackColors.Error:\n return 'alert-circle';\n case FeedbackColors.Neutral:\n return 'help';\n default:\n return 'info-circle';\n }\n };\n\n /**\n * Updates the visibility state of the alert with optional animations\n * @param {boolean} hidden - Whether the alert should be hidden\n */\n private async updateVisibility(hidden: boolean) {\n if (this.hasNoAnimations) {\n this.toggleHiddenClass(hidden);\n return;\n }\n\n const { fadeIn, fadeOut } = useFade(this.ref, { duration: 150 });\n const { collapse, expand } = useCollapse(this.ref, { duration: 150 });\n\n if (hidden) {\n await timeline(fadeOut, collapse).start();\n this.toggleHiddenClass(true);\n } else {\n this.toggleHiddenClass(false);\n await timeline(expand, fadeIn).start();\n }\n }\n\n /**\n * Toggles the 'hidden' class on the element\n * @param {boolean} hidden - Whether to add or remove the hidden class\n */\n private toggleHiddenClass(hidden: boolean) {\n this.ref.classList.toggle('hidden', hidden);\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n if (this.color) {\n switch (this.color) {\n case 'primary' as DeprecatedSemanticColors:\n this.feedback = 'warning' as FeedbackColors;\n break;\n case 'secondary' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n case 'neutral' as DeprecatedSemanticColors:\n this.feedback = 'information' as FeedbackColors;\n break;\n default:\n this.feedback = this.color as FeedbackColors;\n }\n }\n\n if (this.hidden) {\n this.ref.classList.add('hidden');\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host role=\"alert\" class={clsx('root', `feedback-${this.feedback}`)}>\n <nv-icon\n name={this.icon ?? this.getDefaultIcon()}\n class={`icon-${this.feedback}`}\n size=\"md\"\n ></nv-icon>\n\n <div class=\"content\">\n {this.heading && <p class=\"heading\">{this.heading}</p>}\n\n {this.message && <p class=\"message\">{this.message}</p>}\n\n <slot></slot>\n </div>\n\n {this.dismissible && (\n <button class=\"close\" type=\"button\" onClick={this.handleDismiss}>\n <nv-icon name=\"x\" size=\"sm\" />\n </button>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
@@ -1,7 +1,7 @@
1
1
  import { p as proxyCustomElement, H, h, d as Host } from './p-aff3ed68.js';
2
2
  import { c as clsx } from './p-8a1a6e56.js';
3
- import { S as SemanticSizes } from './p-1f505531.js';
4
- import { d as defineCustomElement$2 } from './p-6460318d.js';
3
+ import { S as SemanticSizes } from './p-a3ddec4c.js';
4
+ import { d as defineCustomElement$2 } from './p-a1fe0a5d.js';
5
5
 
6
6
  const nvAvatarCss = "nv-avatar{align-items:center !important;background-color:var(--components-avatar-background-1);border-radius:var(--radius-rounded-full) !important;display:flex !important;flex-shrink:0 !important;font-family:\"TT Norms Pro\", sans-serif;font-style:normal;font-weight:var(--font-weight-medium-emphasis);justify-content:center !important;leading-trim:both;line-height:1 !important;text-align:center;text-edge:cap;text-transform:uppercase}nv-avatar.avatar-color-1{background-color:var(--components-avatar-background-1);color:var(--components-avatar-content-1)}nv-avatar.avatar-color-2{background-color:var(--components-avatar-background-2);color:var(--components-avatar-content-2)}nv-avatar.avatar-color-3{background-color:var(--components-avatar-background-3);color:var(--components-avatar-content-3)}nv-avatar.avatar-color-4{background-color:var(--components-avatar-background-4);color:var(--components-avatar-content-4)}nv-avatar.avatar-color-5{background-color:var(--components-avatar-background-5);color:var(--components-avatar-content-5)}nv-avatar.avatar-color-6{background-color:var(--components-avatar-background-6);color:var(--components-avatar-content-6)}nv-avatar.avatar-color-7{background-color:var(--components-avatar-background-7);color:var(--components-avatar-content-7)}nv-avatar.avatar-color-8{background-color:var(--components-avatar-background-8);color:var(--components-avatar-content-8)}nv-avatar.avatar-color-9{background-color:var(--components-avatar-background-9);color:var(--components-avatar-content-9)}nv-avatar.avatar-color-10{background-color:var(--components-avatar-background-10);color:var(--components-avatar-content-10)}nv-avatar img{height:100%;width:100%;object-fit:cover;object-position:center;border-radius:50%}nv-avatar.avatar-xs{width:var(--avatar-xs-size);height:var(--avatar-xs-size);font-size:var(--avatar-xs-font-size);line-height:var(--avatar-xs-font-size)}nv-avatar.avatar-xs nv-icon>svg{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-avatar.avatar-sm{width:var(--avatar-sm-size);height:var(--avatar-sm-size);font-size:var(--avatar-sm-font-size);line-height:var(--avatar-sm-font-size)}nv-avatar.avatar-sm nv-icon>svg{width:var(--spacing-4);height:var(--spacing-4);stroke-width:1.5px}nv-avatar.avatar-md{width:var(--avatar-md-size);height:var(--avatar-md-size);font-size:var(--avatar-md-font-size);line-height:var(--avatar-md-font-size)}nv-avatar.avatar-md nv-icon>svg{width:var(--spacing-5);height:var(--spacing-5);stroke-width:1.6px}nv-avatar.avatar-lg{width:var(--avatar-lg-size);height:var(--avatar-lg-size);font-size:var(--avatar-lg-font-size);line-height:var(--avatar-lg-font-size)}nv-avatar.avatar-lg nv-icon>svg{width:var(--spacing-6);height:var(--spacing-6);stroke-width:1.8px}nv-avatar.avatar-xl{width:var(--avatar-xl-size);height:var(--avatar-xl-size);font-size:var(--avatar-xl-font-size);line-height:var(--avatar-xl-font-size)}nv-avatar.avatar-xl nv-icon>svg{width:var(--spacing-7);height:var(--spacing-7);stroke-width:1.9px}";
7
7
  const NvAvatarStyle0 = nvAvatarCss;
@@ -1,4 +1,4 @@
1
- import { N as NvBadge$1, d as defineCustomElement$1 } from './p-60064345.js';
1
+ import { N as NvBadge$1, d as defineCustomElement$1 } from './p-8011513c.js';
2
2
 
3
3
  const NvBadge = NvBadge$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,9 +1,9 @@
1
1
  import { p as proxyCustomElement, H, f as forceUpdate, h, d as Host } from './p-aff3ed68.js';
2
2
  import { c as clsx } from './p-8a1a6e56.js';
3
- import { d as defineCustomElement$3 } from './p-8067d283.js';
4
- import { d as defineCustomElement$2 } from './p-ba87d9d5.js';
3
+ import { d as defineCustomElement$3 } from './p-195f46f3.js';
4
+ import { d as defineCustomElement$2 } from './p-2ef4fb88.js';
5
5
 
6
- const nvBreadcrumbCss = "nv-breadcrumb{display:flex;align-items:center;color:var(--components-breadcrumb-text);font-size:var(--font-size-sm);font-style:normal;font-weight:500;line-height:var(--line-height-sm)}nv-breadcrumb.visually-hidden{position:absolute;padding:0;border:0;overflow:hidden;white-space:nowrap;width:1px;height:1px;margin:-1px;clip:rect(0, 0, 0, 0)}nv-breadcrumb ul{display:flex;flex-direction:column;gap:var(--spacing-1-5);padding:var(--spacing-1)}nv-breadcrumb ul a,nv-breadcrumb ul button{display:inline-flex;align-self:center;color:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;text-decoration:none}nv-breadcrumb ul a:focus,nv-breadcrumb ul a:focus-within,nv-breadcrumb ul button:focus,nv-breadcrumb ul button:focus-within{outline:none}nv-breadcrumb ul a:focus-visible,nv-breadcrumb ul a:has(:focus-visible),nv-breadcrumb ul button:focus-visible,nv-breadcrumb ul button:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 0.5) solid var(--components-breadcrumb-text-hover);outline-offset:calc(var(--focus-outline-offset) * 0.3)}nv-breadcrumb ul a:hover,nv-breadcrumb ul button:hover{text-decoration:underline;color:var(--components-breadcrumb-text-hover)}nv-breadcrumb>a,nv-breadcrumb>button{display:inline-flex;align-self:center;color:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;text-decoration:none}nv-breadcrumb>a:focus,nv-breadcrumb>a:focus-within,nv-breadcrumb>button:focus,nv-breadcrumb>button:focus-within{outline:none}nv-breadcrumb>a:focus-visible,nv-breadcrumb>a:has(:focus-visible),nv-breadcrumb>button:focus-visible,nv-breadcrumb>button:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 0.5) solid var(--components-breadcrumb-text-hover);outline-offset:calc(var(--focus-outline-offset) * 0.3)}nv-breadcrumb>a:hover,nv-breadcrumb>button:hover{text-decoration:underline;color:var(--components-breadcrumb-text-hover)}nv-breadcrumb span[data-scope=separator]{display:inline-flex;padding-left:var(--breadcrumb-padding-y)}";
6
+ const nvBreadcrumbCss = "nv-breadcrumb{display:flex;align-items:center;color:var(--components-breadcrumb-text);font-size:var(--font-size-sm);font-style:normal;font-weight:500;line-height:var(--line-height-sm)}nv-breadcrumb.visually-hidden{position:absolute;padding:0;border:0;overflow:hidden;white-space:nowrap;width:1px;height:1px;margin:-1px;clip:rect(0, 0, 0, 0)}nv-breadcrumb ul{display:flex;flex-direction:column;gap:var(--spacing-1-5);padding:var(--spacing-1)}nv-breadcrumb ul a,nv-breadcrumb ul button{display:inline-flex;align-self:center;color:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;text-decoration:none}nv-breadcrumb ul a:focus,nv-breadcrumb ul a:focus-within,nv-breadcrumb ul button:focus,nv-breadcrumb ul button:focus-within{outline:none}nv-breadcrumb ul a:focus-visible,nv-breadcrumb ul a:has(:focus-visible),nv-breadcrumb ul button:focus-visible,nv-breadcrumb ul button:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 0.5) solid var(--components-breadcrumb-text-hover);outline-offset:calc(var(--focus-outline-offset) * 0.3);z-index:111}nv-breadcrumb ul a:hover,nv-breadcrumb ul button:hover{text-decoration:underline;color:var(--components-breadcrumb-text-hover)}nv-breadcrumb>a,nv-breadcrumb>button{display:inline-flex;align-self:center;color:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;text-decoration:none}nv-breadcrumb>a:focus,nv-breadcrumb>a:focus-within,nv-breadcrumb>button:focus,nv-breadcrumb>button:focus-within{outline:none}nv-breadcrumb>a:focus-visible,nv-breadcrumb>a:has(:focus-visible),nv-breadcrumb>button:focus-visible,nv-breadcrumb>button:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 0.5) solid var(--components-breadcrumb-text-hover);outline-offset:calc(var(--focus-outline-offset) * 0.3);z-index:111}nv-breadcrumb>a:hover,nv-breadcrumb>button:hover{text-decoration:underline;color:var(--components-breadcrumb-text-hover)}nv-breadcrumb span[data-scope=separator]{display:inline-flex;padding-left:var(--breadcrumb-padding-y)}";
7
7
  const NvBreadcrumbStyle0 = nvBreadcrumbCss;
8
8
 
9
9
  const NvBreadcrumb$1 = /*@__PURE__*/ proxyCustomElement(class NvBreadcrumb extends H {
@@ -1 +1 @@
1
- {"file":"nv-breadcrumb.js","mappings":";;;;;AAAA,MAAM,eAAe,GAAG,6+DAA6+D,CAAC;AACtgE,2BAAe,eAAe;;MCUjBA,cAAY;IALzB;;;;;;;;;;QAkBW,SAAI,GAA4B,SAAS,CAAC;KAyEpD;;;;IArDC,gBAAgB;;QAEd,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;YAAE,WAAW,CAAC,IAAI,CAAC,CAAC;KAClD;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAC3C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CACrD,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI,CAC7C,CAAC;SACH;KACF;;;;IAMD,MAAM;QACJ,QACE,EAAC,IAAI,qDACH,IAAI,EAAC,UAAU,kBACD,IAAI,CAAC,OAAO,GAAG,UAAU,GAAG,SAAS,EACnD,KAAK,EAAE,IAAI,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,IAE/C,IAAI,CAAC,IAAI,KAAK,WAAW,IACxB,cAAQ,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,UAAc,KAE3D,eAAa,CACd,EACA,IAAI,CAAC,OAAO,KACX,mEACE,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,SAAS,EAAC,KAAK,GACH,CACf,EACA,IAAI,CAAC,IAAI,KAAK,WAAW,KACxB,mEACE,WAAW,EAAC,OAAO,EACnB,SAAS,EAAC,aAAa,EACvB,cAAc,EAAE,IAAI,CAAC,cAAc,IAEnC,2DAAI,IAAI,EAAC,SAAS,IAChB,8DAAa,CACV,CACM,CACd,EACD,2EAAiB,WAAW,QAAS,CAChC,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["NvBreadcrumb"],"sources":["src/components/nv-breadcrumb/nv-breadcrumb.scss?tag=nv-breadcrumb","src/components/nv-breadcrumb/nv-breadcrumb.tsx"],"sourcesContent":["@use \"../../styles/focus-ring\" as focus;\n@use \"../../styles/utils\" as utils;\n\n@mixin root-styles() {\n display: flex;\n align-items: center;\n color: var(--components-breadcrumb-text);\n font-size: var(--font-size-sm);\n font-style: normal;\n font-weight: 500;\n line-height: var(--line-height-sm);\n}\n\n@mixin link-styles() {\n display: inline-flex;\n align-self: center;\n color: inherit;\n font-size: inherit;\n font-style: inherit;\n font-weight: inherit;\n line-height: inherit;\n text-decoration: none;\n @include focus.focus-ring(var(--components-breadcrumb-text-hover), 0.3, 0.5);\n &:hover {\n text-decoration: underline;\n color: var(--components-breadcrumb-text-hover);\n }\n}\n\n@mixin button-styles() {\n height: 20px;\n @include focus.focus-ring(var(--components-breadcrumb-text-hover), 0.3, 0.5);\n &:hover {\n text-decoration: underline;\n color: var(--components-breadcrumb-text-hover);\n }\n}\n\n@mixin separator-styles() {\n display: inline-flex;\n padding-left: var(--breadcrumb-padding-y);\n}\n\n@mixin list-styles() {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-1-5);\n padding: var(--spacing-1);\n\n a,\n button {\n @include link-styles();\n }\n}\n\nnv-breadcrumb {\n @include root-styles();\n\n &.visually-hidden {\n @include utils.visually-hidden();\n }\n\n ul {\n @include list-styles();\n }\n & > a,\n & > button {\n @include link-styles();\n }\n span[data-scope=\"separator\"] {\n @include separator-styles();\n }\n}\n","import { Component, Prop, Host, h, Element, forceUpdate } from '@stencil/core';\nimport clsx from 'clsx';\n\n/**\n * @slot default - Pass an icon, a link, or text to render the breadcrumb content.\n */\n@Component({\n tag: 'nv-breadcrumb',\n styleUrl: 'nv-breadcrumb.scss',\n shadow: false,\n})\nexport class NvBreadcrumb {\n @Element() el: HTMLNvBreadcrumbElement;\n private popoverTrigger!: Element;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * The type of the breadcrumb. Use 'collapsed' to house multiple breadcrumbs\n * in a dropdown. Use default for a single item. When passing multiple items\n * as collapsed, make sure to wrap you links in list tags\n */\n @Prop({ reflect: true })\n readonly type: 'collapsed' | 'default' = 'default';\n\n /**\n * Add an optional tooltip to provide extra information about the breadcrumb.\n */\n @Prop({ reflect: true })\n readonly tooltip: string;\n\n /**\n * Use this to highlight the breadcrumb as the current page in your\n * navigation. It also makes the page clearer to screen readers with\n * aria-current=\"location\".\n */\n @Prop({ reflect: true })\n readonly current: boolean;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentDidLoad() {\n // Force a re-render to pass the popoverTrigger ref to the popovers\n if (this.type === 'collapsed') forceUpdate(this);\n }\n\n componentWillLoad() {\n if (this.type === 'default' && this.tooltip) {\n this.popoverTrigger = Array.from(this.el.children).find(\n child => child.getAttribute('slot') === null,\n );\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n role=\"listitem\"\n aria-current={this.current ? 'location' : undefined}\n class={clsx({ 'visually-hidden': this.current })}\n >\n {this.type === 'collapsed' ? (\n <button ref={el => (this.popoverTrigger = el)}>...</button>\n ) : (\n <slot></slot>\n )}\n {this.tooltip && (\n <nv-tooltip\n message={this.tooltip}\n triggerElement={this.popoverTrigger}\n placement=\"top\"\n ></nv-tooltip>\n )}\n {this.type === 'collapsed' && (\n <nv-popover\n triggerMode=\"click\"\n groupName=\"breadcrumbs\"\n triggerElement={this.popoverTrigger}\n >\n <ul slot=\"content\">\n <slot></slot>\n </ul>\n </nv-popover>\n )}\n <span data-scope=\"separator\">/</span>\n </Host>\n );\n }\n\n // #endregion RENDER\n}\n"],"version":3}
1
+ {"file":"nv-breadcrumb.js","mappings":";;;;;AAAA,MAAM,eAAe,GAAG,qgEAAqgE,CAAC;AAC9hE,2BAAe,eAAe;;MCUjBA,cAAY;IALzB;;;;;;;;;;QAkBW,SAAI,GAA4B,SAAS,CAAC;KAyEpD;;;;IArDC,gBAAgB;;QAEd,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;YAAE,WAAW,CAAC,IAAI,CAAC,CAAC;KAClD;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE;YAC3C,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CACrD,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI,CAC7C,CAAC;SACH;KACF;;;;IAMD,MAAM;QACJ,QACE,EAAC,IAAI,qDACH,IAAI,EAAC,UAAU,kBACD,IAAI,CAAC,OAAO,GAAG,UAAU,GAAG,SAAS,EACnD,KAAK,EAAE,IAAI,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,IAE/C,IAAI,CAAC,IAAI,KAAK,WAAW,IACxB,cAAQ,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,UAAc,KAE3D,eAAa,CACd,EACA,IAAI,CAAC,OAAO,KACX,mEACE,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,SAAS,EAAC,KAAK,GACH,CACf,EACA,IAAI,CAAC,IAAI,KAAK,WAAW,KACxB,mEACE,WAAW,EAAC,OAAO,EACnB,SAAS,EAAC,aAAa,EACvB,cAAc,EAAE,IAAI,CAAC,cAAc,IAEnC,2DAAI,IAAI,EAAC,SAAS,IAChB,8DAAa,CACV,CACM,CACd,EACD,2EAAiB,WAAW,QAAS,CAChC,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["NvBreadcrumb"],"sources":["src/components/nv-breadcrumb/nv-breadcrumb.scss?tag=nv-breadcrumb","src/components/nv-breadcrumb/nv-breadcrumb.tsx"],"sourcesContent":["@use \"../../styles/focus-ring\" as focus;\n@use \"../../styles/utils\" as utils;\n\n@mixin root-styles() {\n display: flex;\n align-items: center;\n color: var(--components-breadcrumb-text);\n font-size: var(--font-size-sm);\n font-style: normal;\n font-weight: 500;\n line-height: var(--line-height-sm);\n}\n\n@mixin link-styles() {\n display: inline-flex;\n align-self: center;\n color: inherit;\n font-size: inherit;\n font-style: inherit;\n font-weight: inherit;\n line-height: inherit;\n text-decoration: none;\n @include focus.focus-ring(var(--components-breadcrumb-text-hover), 0.3, 0.5);\n &:hover {\n text-decoration: underline;\n color: var(--components-breadcrumb-text-hover);\n }\n}\n\n@mixin button-styles() {\n height: 20px;\n @include focus.focus-ring(var(--components-breadcrumb-text-hover), 0.3, 0.5);\n &:hover {\n text-decoration: underline;\n color: var(--components-breadcrumb-text-hover);\n }\n}\n\n@mixin separator-styles() {\n display: inline-flex;\n padding-left: var(--breadcrumb-padding-y);\n}\n\n@mixin list-styles() {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-1-5);\n padding: var(--spacing-1);\n\n a,\n button {\n @include link-styles();\n }\n}\n\nnv-breadcrumb {\n @include root-styles();\n\n &.visually-hidden {\n @include utils.visually-hidden();\n }\n\n ul {\n @include list-styles();\n }\n & > a,\n & > button {\n @include link-styles();\n }\n span[data-scope=\"separator\"] {\n @include separator-styles();\n }\n}\n","import { Component, Prop, Host, h, Element, forceUpdate } from '@stencil/core';\nimport clsx from 'clsx';\n\n/**\n * @slot default - Pass an icon, a link, or text to render the breadcrumb content.\n */\n@Component({\n tag: 'nv-breadcrumb',\n styleUrl: 'nv-breadcrumb.scss',\n shadow: false,\n})\nexport class NvBreadcrumb {\n @Element() el: HTMLNvBreadcrumbElement;\n private popoverTrigger!: Element;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * The type of the breadcrumb. Use 'collapsed' to house multiple breadcrumbs\n * in a dropdown. Use default for a single item. When passing multiple items\n * as collapsed, make sure to wrap you links in list tags\n */\n @Prop({ reflect: true })\n readonly type: 'collapsed' | 'default' = 'default';\n\n /**\n * Add an optional tooltip to provide extra information about the breadcrumb.\n */\n @Prop({ reflect: true })\n readonly tooltip: string;\n\n /**\n * Use this to highlight the breadcrumb as the current page in your\n * navigation. It also makes the page clearer to screen readers with\n * aria-current=\"location\".\n */\n @Prop({ reflect: true })\n readonly current: boolean;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentDidLoad() {\n // Force a re-render to pass the popoverTrigger ref to the popovers\n if (this.type === 'collapsed') forceUpdate(this);\n }\n\n componentWillLoad() {\n if (this.type === 'default' && this.tooltip) {\n this.popoverTrigger = Array.from(this.el.children).find(\n child => child.getAttribute('slot') === null,\n );\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n role=\"listitem\"\n aria-current={this.current ? 'location' : undefined}\n class={clsx({ 'visually-hidden': this.current })}\n >\n {this.type === 'collapsed' ? (\n <button ref={el => (this.popoverTrigger = el)}>...</button>\n ) : (\n <slot></slot>\n )}\n {this.tooltip && (\n <nv-tooltip\n message={this.tooltip}\n triggerElement={this.popoverTrigger}\n placement=\"top\"\n ></nv-tooltip>\n )}\n {this.type === 'collapsed' && (\n <nv-popover\n triggerMode=\"click\"\n groupName=\"breadcrumbs\"\n triggerElement={this.popoverTrigger}\n >\n <ul slot=\"content\">\n <slot></slot>\n </ul>\n </nv-popover>\n )}\n <span data-scope=\"separator\">/</span>\n </Host>\n );\n }\n\n // #endregion RENDER\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
- import { N as NvButton$1, d as defineCustomElement$1 } from './p-5d5668f0.js';
1
+ import { N as NvButton$1, d as defineCustomElement$1 } from './p-cf06032d.js';
2
2
 
3
3
  const NvButton = NvButton$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface NvButtongroup extends Components.NvButtongroup, HTMLElement {}
4
+ export const NvButtongroup: {
5
+ prototype: NvButtongroup;
6
+ new (): NvButtongroup;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,221 @@
1
+ import { p as proxyCustomElement, H, h, d as Host } from './p-aff3ed68.js';
2
+
3
+ /**
4
+ * Utility functions for nv-buttongroup.
5
+ */
6
+ /**
7
+ * Recursively finds the first button or link element within a container
8
+ * @param {HTMLElement} element - The HTML element to search within
9
+ * @returns {HTMLElement | null} The first button or link element found, or null if none exists
10
+ */
11
+ function findFirstButtonOrLink(element) {
12
+ // Check if the element itself is a button or link
13
+ const tagName = element.tagName.toLowerCase();
14
+ if (tagName === 'nv-button' ||
15
+ tagName === 'nv-iconbutton' ||
16
+ tagName === 'a') {
17
+ return element;
18
+ }
19
+ // Recursively search through children
20
+ for (const child of Array.from(element.children)) {
21
+ const found = findFirstButtonOrLink(child);
22
+ if (found) {
23
+ return found;
24
+ }
25
+ }
26
+ return null;
27
+ }
28
+ /**
29
+ * Forwards the buttongroup properties to all child elements
30
+ * @param {HTMLElement} containerElement - The container element containing the buttons
31
+ * @param {object} props - The properties to forward to children
32
+ * @param {string} props.size - The size property to apply
33
+ * @param {string} props.emphasis - The emphasis property to apply
34
+ * @param {boolean} props.fluid - Whether the buttons should be fluid
35
+ */
36
+ function forwardPropsToChildren(containerElement, props) {
37
+ const children = Array.from(containerElement.children);
38
+ const buttonElements = [];
39
+ // Find the first button or link in each direct child
40
+ children.forEach(child => {
41
+ const buttonOrLink = findFirstButtonOrLink(child);
42
+ if (buttonOrLink) {
43
+ buttonElements.push(buttonOrLink);
44
+ }
45
+ });
46
+ buttonElements.forEach(element => {
47
+ element.classList.remove('first', 'last', 'group-item');
48
+ });
49
+ // Apply properties and positional classes to found elements
50
+ buttonElements.forEach((element, index) => {
51
+ const isFirst = index === 0;
52
+ const isLast = index === buttonElements.length - 1;
53
+ const tagName = element.tagName.toLowerCase();
54
+ // Add positional classes
55
+ if (isFirst) {
56
+ element.classList.add('first');
57
+ }
58
+ if (isLast) {
59
+ element.classList.add('last');
60
+ }
61
+ // Add group item classes
62
+ element.classList.add('group-item');
63
+ // Forward props to nv-button elements
64
+ if (tagName === 'nv-button' || tagName === 'nv-iconbutton') {
65
+ element.setAttribute('size', props.size);
66
+ element.setAttribute('emphasis', props.emphasis);
67
+ if (props.fluid) {
68
+ element.setAttribute('fluid', '');
69
+ }
70
+ else {
71
+ element.removeAttribute('fluid');
72
+ }
73
+ }
74
+ // Forward props to anchor elements by adding CSS classes
75
+ if (tagName === 'a') {
76
+ element.classList.add('nv-button');
77
+ element.classList.add(`size-${props.size}`);
78
+ element.classList.add(`emphasis-${props.emphasis}`);
79
+ if (props.fluid) {
80
+ element.classList.add('fluid');
81
+ }
82
+ else {
83
+ element.classList.remove('fluid');
84
+ }
85
+ }
86
+ });
87
+ }
88
+
89
+ const nvButtongroupCss = "nv-buttongroup{display:flex}nv-buttongroup[emphasis=high]{gap:1px}nv-buttongroup[emphasis=low] .group-item,nv-buttongroup[emphasis=low] .group-item:hover{border:1px solid var(--components-button-low-text)}nv-buttongroup[emphasis=lower] .group-item,nv-buttongroup[emphasis=lower] .group-item:hover{border:1px solid var(--components-button-lower-text)}nv-buttongroup:not([orientation=vertical]) .group-item:not(.last):not(.first){border-radius:0}nv-buttongroup:not([orientation=vertical]) .group-item.first{border-top-right-radius:0;border-bottom-right-radius:0}nv-buttongroup:not([orientation=vertical]) .group-item.last{border-top-left-radius:0;border-bottom-left-radius:0}nv-buttongroup:not([orientation=vertical])[emphasis=medium] .group-item:not(.last){border-right:none}nv-buttongroup:not([orientation=vertical])[emphasis=low] .group-item:not(.last){border-right:none}nv-buttongroup:not([orientation=vertical])[emphasis=low] .group-item:not(.first){border-left:none}nv-buttongroup:not([orientation=vertical])[emphasis=lower] .group-item:not(.last){border-right:none}nv-buttongroup:not([orientation=vertical])[emphasis=lower] .group-item:not(.first){border-left:none}nv-buttongroup[orientation=vertical]{flex-direction:column;align-items:stretch;width:fit-content}nv-buttongroup[orientation=vertical] .group-item{width:unset;display:flex}nv-buttongroup[orientation=vertical] .group-item:not(.last):not(.first){border-radius:0}nv-buttongroup[orientation=vertical] .group-item.first{border-bottom-left-radius:0;border-bottom-right-radius:0}nv-buttongroup[orientation=vertical] .group-item.last{border-top-left-radius:0;border-top-right-radius:0}nv-buttongroup[orientation=vertical][emphasis=medium] .group-item:not(.last){border-bottom:none}nv-buttongroup[orientation=vertical][emphasis=low] .group-item:not(.last){border-bottom:none}nv-buttongroup[orientation=vertical][emphasis=low] .group-item:not(.first){border-top:none}nv-buttongroup[orientation=vertical][emphasis=lower] .group-item:not(.last){border-bottom:none}nv-buttongroup[orientation=vertical][emphasis=lower] .group-item:not(.first){border-top:none}";
90
+ const NvButtongroupStyle0 = nvButtongroupCss;
91
+
92
+ const NvButtongroup$1 = /*@__PURE__*/ proxyCustomElement(class NvButtongroup extends H {
93
+ constructor() {
94
+ super();
95
+ this.__registerHost();
96
+ /****************************************************************************/
97
+ //#region PROPERTIES
98
+ /**
99
+ * Determines how large or small all the buttons appear, allowing for
100
+ * customization of the button's dimensions to fit different design
101
+ * specifications and user needs.
102
+ */
103
+ this.size = 'md';
104
+ /**
105
+ * Adjusts the emphasis of all the buttons to make it more or less visually
106
+ * prominent to users. Use this to draw attention to important actions or
107
+ * reduce focus on less critical ones
108
+ */
109
+ this.emphasis = 'medium';
110
+ /**
111
+ * Allows the button group to stretch and fill the entire width of its
112
+ * container.
113
+ */
114
+ this.fluid = false;
115
+ /**
116
+ * Determines the orientation of the button group. When enabled, the buttons
117
+ * are stacked vertically rather than aligned side by side.
118
+ */
119
+ this.orientation = 'horizontal';
120
+ //#endregion PROPERTIES
121
+ /****************************************************************************/
122
+ //#region METHODS
123
+ /**
124
+ * Forwards the buttongroup properties to all child elements
125
+ */
126
+ this.forwardPropsToChildren = () => {
127
+ forwardPropsToChildren(this.el, {
128
+ size: this.size,
129
+ emphasis: this.emphasis,
130
+ fluid: this.fluid,
131
+ });
132
+ };
133
+ /**
134
+ * Sets up the MutationObserver to watch for changes in child elements
135
+ */
136
+ this.setupMutationObserver = () => {
137
+ this.mutationObserver = new MutationObserver(mutations => {
138
+ mutations.forEach(mutation => {
139
+ if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {
140
+ // Forward props to all children when changes occur
141
+ this.forwardPropsToChildren();
142
+ }
143
+ });
144
+ });
145
+ this.mutationObserver.observe(this.el, {
146
+ childList: true,
147
+ subtree: true,
148
+ });
149
+ };
150
+ }
151
+ //#endregion METHODS
152
+ /****************************************************************************/
153
+ //#region WATCHERS
154
+ onEmphasisChange() {
155
+ this.forwardPropsToChildren();
156
+ }
157
+ onSizeChange() {
158
+ this.forwardPropsToChildren();
159
+ }
160
+ onFluidChange() {
161
+ this.forwardPropsToChildren();
162
+ }
163
+ //#endregion WATCHERS
164
+ /****************************************************************************/
165
+ //#region LIFECYCLE
166
+ componentWillLoad() {
167
+ this.forwardPropsToChildren();
168
+ this.setupMutationObserver();
169
+ }
170
+ disconnectedCallback() {
171
+ if (this.mutationObserver) {
172
+ this.mutationObserver.disconnect();
173
+ }
174
+ }
175
+ //#endregion LIFECYCLE
176
+ /****************************************************************************/
177
+ //#region EVENTS
178
+ //#endregion EVENTS
179
+ /****************************************************************************/
180
+ //#region RENDER
181
+ render() {
182
+ return (h(Host, { key: 'd0322897a0312e7b55b087e4abfc94fcaf9f7747' }, h("slot", { key: '70afccf10fe728482096d3fce42083e9931e06bd' })));
183
+ }
184
+ get el() { return this; }
185
+ static get watchers() { return {
186
+ "emphasis": ["onEmphasisChange"],
187
+ "size": ["onSizeChange"],
188
+ "fluid": ["onFluidChange"]
189
+ }; }
190
+ static get style() { return NvButtongroupStyle0; }
191
+ }, [4, "nv-buttongroup", {
192
+ "size": [513],
193
+ "emphasis": [513],
194
+ "fluid": [516],
195
+ "orientation": [513]
196
+ }, undefined, {
197
+ "emphasis": ["onEmphasisChange"],
198
+ "size": ["onSizeChange"],
199
+ "fluid": ["onFluidChange"]
200
+ }]);
201
+ function defineCustomElement$1() {
202
+ if (typeof customElements === "undefined") {
203
+ return;
204
+ }
205
+ const components = ["nv-buttongroup"];
206
+ components.forEach(tagName => { switch (tagName) {
207
+ case "nv-buttongroup":
208
+ if (!customElements.get(tagName)) {
209
+ customElements.define(tagName, NvButtongroup$1);
210
+ }
211
+ break;
212
+ } });
213
+ }
214
+ defineCustomElement$1();
215
+
216
+ const NvButtongroup = NvButtongroup$1;
217
+ const defineCustomElement = defineCustomElement$1;
218
+
219
+ export { NvButtongroup, defineCustomElement };
220
+
221
+ //# sourceMappingURL=nv-buttongroup.js.map
@@ -0,0 +1 @@
1
+ {"file":"nv-buttongroup.js","mappings":"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","names":["NvButtongroup"],"sources":["src/components/nv-buttongroup/nv-buttongroup.utils.ts","src/components/nv-buttongroup/styles/nv-buttongroup.scss?tag=nv-buttongroup","src/components/nv-buttongroup/nv-buttongroup.tsx"],"sourcesContent":["/**\n * Utility functions for nv-buttongroup.\n */\n\n/**\n * Recursively finds the first button or link element within a container\n * @param {HTMLElement} element - The HTML element to search within\n * @returns {HTMLElement | null} The first button or link element found, or null if none exists\n */\nexport function findFirstButtonOrLink(\n element: HTMLElement,\n): HTMLElement | null {\n // Check if the element itself is a button or link\n const tagName = element.tagName.toLowerCase();\n if (\n tagName === 'nv-button' ||\n tagName === 'nv-iconbutton' ||\n tagName === 'a'\n ) {\n return element;\n }\n\n // Recursively search through children\n for (const child of Array.from(element.children) as HTMLElement[]) {\n const found = findFirstButtonOrLink(child);\n if (found) {\n return found;\n }\n }\n\n return null;\n}\n\n/**\n * Forwards the buttongroup properties to all child elements\n * @param {HTMLElement} containerElement - The container element containing the buttons\n * @param {object} props - The properties to forward to children\n * @param {string} props.size - The size property to apply\n * @param {string} props.emphasis - The emphasis property to apply\n * @param {boolean} props.fluid - Whether the buttons should be fluid\n */\nexport function forwardPropsToChildren(\n containerElement: HTMLElement,\n props: {\n /** The size property to apply */\n size: string;\n /** The emphasis property to apply */\n emphasis: string;\n /** Whether the buttons should be fluid */\n fluid: boolean;\n },\n): void {\n const children = Array.from(containerElement.children) as HTMLElement[];\n const buttonElements: HTMLElement[] = [];\n\n // Find the first button or link in each direct child\n children.forEach(child => {\n const buttonOrLink = findFirstButtonOrLink(child);\n if (buttonOrLink) {\n buttonElements.push(buttonOrLink);\n }\n });\n\n buttonElements.forEach(element => {\n element.classList.remove('first', 'last', 'group-item');\n });\n\n // Apply properties and positional classes to found elements\n buttonElements.forEach((element, index) => {\n const isFirst = index === 0;\n const isLast = index === buttonElements.length - 1;\n const tagName = element.tagName.toLowerCase();\n\n // Add positional classes\n if (isFirst) {\n element.classList.add('first');\n }\n if (isLast) {\n element.classList.add('last');\n }\n\n // Add group item classes\n element.classList.add('group-item');\n\n // Forward props to nv-button elements\n if (tagName === 'nv-button' || tagName === 'nv-iconbutton') {\n element.setAttribute('size', props.size);\n element.setAttribute('emphasis', props.emphasis);\n if (props.fluid) {\n element.setAttribute('fluid', '');\n } else {\n element.removeAttribute('fluid');\n }\n }\n\n // Forward props to anchor elements by adding CSS classes\n if (tagName === 'a') {\n element.classList.add('nv-button');\n element.classList.add(`size-${props.size}`);\n element.classList.add(`emphasis-${props.emphasis}`);\n if (props.fluid) {\n element.classList.add('fluid');\n } else {\n element.classList.remove('fluid');\n }\n }\n });\n}\n","@use \"./mixins\" as *;\n\nnv-buttongroup {\n @include root-styles();\n\n &[emphasis=\"high\"] {\n @include high-emphasis-styles();\n }\n &[emphasis=\"low\"] {\n @include low-emphasis-styles();\n }\n &[emphasis=\"lower\"] {\n @include lower-emphasis-styles();\n }\n\n &:not([orientation=\"vertical\"]) {\n @include border-radius-horizontal-styles();\n\n &[emphasis=\"medium\"] {\n @include medium-emphasis-horizontal-styles();\n }\n &[emphasis=\"low\"] {\n @include low-emphasis-horizontal-styles();\n }\n &[emphasis=\"lower\"] {\n @include lower-emphasis-horizontal-styles();\n }\n }\n\n &[orientation=\"vertical\"] {\n @include vertical-styles();\n @include border-radius-vertical-styles();\n\n &[emphasis=\"medium\"] {\n @include medium-emphasis-vertical-styles();\n }\n &[emphasis=\"low\"] {\n @include low-emphasis-vertical-styles();\n }\n &[emphasis=\"lower\"] {\n @include lower-emphasis-vertical-styles();\n }\n }\n}","import { Component, Host, h, Prop, Element, Watch } from '@stencil/core';\n\nimport { ButtonSize, ButtonEmphasis } from '../../utils/constants';\nimport { forwardPropsToChildren } from './nv-buttongroup.utils';\n\n/**\n * @slot default - Child buttons or links.\n */\n@Component({\n tag: 'nv-buttongroup',\n styleUrl: 'styles/nv-buttongroup.scss',\n shadow: false,\n})\nexport class NvButtongroup {\n @Element() el: HTMLNvButtongroupElement;\n private mutationObserver: MutationObserver;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Determines how large or small all the buttons appear, allowing for\n * customization of the button's dimensions to fit different design\n * specifications and user needs.\n */\n @Prop({ reflect: true })\n readonly size: `${ButtonSize}` = 'md';\n\n /**\n * Adjusts the emphasis of all the buttons to make it more or less visually\n * prominent to users. Use this to draw attention to important actions or\n * reduce focus on less critical ones\n */\n @Prop({ reflect: true })\n readonly emphasis: `${ButtonEmphasis}` = 'medium';\n\n /**\n * Allows the button group to stretch and fill the entire width of its\n * container.\n */\n @Prop({ reflect: true })\n readonly fluid: boolean = false;\n\n /**\n * Determines the orientation of the button group. When enabled, the buttons\n * are stacked vertically rather than aligned side by side.\n */\n @Prop({ reflect: true })\n readonly orientation: 'vertical' | 'horizontal' = 'horizontal';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Forwards the buttongroup properties to all child elements\n */\n private forwardPropsToChildren = (): void => {\n forwardPropsToChildren(this.el, {\n size: this.size,\n emphasis: this.emphasis,\n fluid: this.fluid,\n });\n };\n\n /**\n * Sets up the MutationObserver to watch for changes in child elements\n */\n private setupMutationObserver = (): void => {\n this.mutationObserver = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {\n // Forward props to all children when changes occur\n this.forwardPropsToChildren();\n }\n });\n });\n\n this.mutationObserver.observe(this.el, {\n childList: true,\n subtree: true,\n });\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('emphasis')\n onEmphasisChange() {\n this.forwardPropsToChildren();\n }\n\n @Watch('size')\n onSizeChange() {\n this.forwardPropsToChildren();\n }\n\n @Watch('fluid')\n onFluidChange() {\n this.forwardPropsToChildren();\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.forwardPropsToChildren();\n this.setupMutationObserver();\n }\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region EVENTS\n //#endregion EVENTS\n /****************************************************************************/\n //#region RENDER\n render() {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n // #endregion RENDER\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
- import { N as NvCalendar$1, d as defineCustomElement$1 } from './p-d32b75ac.js';
1
+ import { N as NvCalendar$1, d as defineCustomElement$1 } from './p-8aee1010.js';
2
2
 
3
3
  const NvCalendar = NvCalendar$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -27,7 +27,7 @@ const NvCol$1 = /*@__PURE__*/ proxyCustomElement(class NvCol extends H {
27
27
  /****************************************************************************/
28
28
  //#region RENDER
29
29
  render() {
30
- return (h(Host, { key: 'e258bc3e01d3bd35bf64f14241c70ae044fac132', class: clsx(this.getColSize()) }, h("slot", { key: 'd36caf0fde38eae6cd37b62fb4c02e3de6b7225e' })));
30
+ return (h(Host, { key: '4fe90a1d020de9e85d32a52ccb39c8b6d8c1fc25', class: clsx(this.getColSize()) }, h("slot", { key: '5a6ad624fd7c6251b2f555c0e3bc828c0e048761' })));
31
31
  }
32
32
  static get style() { return NvColStyle0; }
33
33
  }, [4, "nv-col", {
@@ -1,8 +1,8 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-aff3ed68.js';
2
2
  import { d as deepCopyElement, e as excludedProps } from './p-cb34aa4f.js';
3
- import { d as SortingPossibility } from './p-1f505531.js';
4
- import { d as defineCustomElement$3 } from './p-68ff562f.js';
5
- import { d as defineCustomElement$2 } from './p-6460318d.js';
3
+ import { d as SortingPossibility } from './p-a3ddec4c.js';
4
+ import { d as defineCustomElement$3 } from './p-0ffb4785.js';
5
+ import { d as defineCustomElement$2 } from './p-a1fe0a5d.js';
6
6
 
7
7
  /**
8
8
  * table-core
@@ -3308,7 +3308,7 @@ function debounce(func, wait) {
3308
3308
  };
3309
3309
  }
3310
3310
 
3311
- const nvDatagridCss = "nv-datagrid{--nv-datagrid-border-default:var(\n --components-form-field-border-default\n );--nv-datagrid-border-hover:var(--components-form-field-border-hover);--nv-datagrid-border-focus:var(--components-form-field-border-default);--nv-datagrid-background-default:var(\n --components-form-field-background-default\n );--nv-datagrid-background-checked:var(\n --components-form-field-background-checked\n );--nv-datagrid-background-disabled:var(\n --components-form-field-background-disabled\n );--nv-datagrid-color-checked:var(\n --components-form-shape-foreground-default\n );--nv-datagrid-color-disabled:var(\n --components-form-shape-foreground-disabled\n );--nv-datagrid-outline-color:var(--color-focus-brand);display:block}nv-datagrid .hidden{display:none}nv-datagrid table{border-collapse:collapse;border-color:inherit;text-indent:0;width:100%}nv-datagrid th{text-align:left;border-bottom:1px solid var(--components-datagrid-header-border);height:var(--spacing-12);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-md);font-weight:700;color:var(--components-datagrid-header-text)}nv-datagrid td{border-bottom:1px solid var(--components-datagrid-body-border);height:var(--spacing-12);max-height:var(--spacing-14);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-md);font-weight:400;color:var(--components-datagrid-body-text);white-space:nowrap;text-overflow:ellipsis}nv-datagrid tbody>tr:hover{background:var(--color-interaction-container-neutral-background-hover)}nv-datagrid .cursor-pointer{cursor:pointer}nv-datagrid .select-none{-webkit-user-select:none;user-select:none}nv-datagrid .search-container{display:flex}nv-datagrid .checkbox-container{position:relative;color:var(--nv-datagrid-color-checked)}nv-datagrid .checkbox-container input[type=checkbox][readonly]{opacity:0.5}nv-datagrid .checkbox-container:has(input[type=checkbox]:disabled:not([readonly])){color:var(--nv-datagrid-color-disabled)}nv-datagrid .checkbox-container input[type=checkbox]{appearance:none;position:relative;display:flex;width:var(--form-checkbox-size);height:var(--form-checkbox-size);flex-direction:column;align-items:flex-start;border-radius:var(--form-checkbox-radius);border-width:var(--form-checkbox-border-width);border-style:solid;border-color:var(--nv-datagrid-border-default);background:var(--nv-datagrid-background-default)}nv-datagrid .checkbox-container input[type=checkbox]:hover{border-color:var(--nv-datagrid-border-hover)}nv-datagrid .checkbox-container input[type=checkbox]:focus{border-color:var(--nv-datagrid-border-focus)}nv-datagrid .checkbox-container input[type=checkbox]:focus,nv-datagrid .checkbox-container input[type=checkbox]:focus-within{outline:none}nv-datagrid .checkbox-container input[type=checkbox]:focus-visible,nv-datagrid .checkbox-container input[type=checkbox]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--nv-datagrid-outline-color);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-datagrid .checkbox-container input[type=checkbox]:checked,nv-datagrid .checkbox-container input[type=checkbox]:indeterminate{background:var(--nv-datagrid-background-checked);border-color:var(--nv-datagrid-background-checked)}nv-datagrid .checkbox-container input[type=checkbox]:disabled:not([readonly]){background:var(--nv-datagrid-background-disabled);border-color:var(--nv-datagrid-border-default)}nv-datagrid .checkbox-container input[type=checkbox][readonly]{opacity:0.5}nv-datagrid .checkbox-container .icon{pointer-events:none;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}nv-datagrid .checkbox-container .icon svg{width:var(--form-checkbox-icon-size);height:var(--form-checkbox-icon-size);fill:none;stroke:currentcolor;stroke-width:var(--form-checkbox-icon-stroke);flex-shrink:0}";
3311
+ const nvDatagridCss = "nv-datagrid{--nv-datagrid-border-default:var(\n --components-form-field-border-default\n );--nv-datagrid-border-hover:var(--components-form-field-border-hover);--nv-datagrid-border-focus:var(--components-form-field-border-default);--nv-datagrid-background-default:var(\n --components-form-field-background-default\n );--nv-datagrid-background-checked:var(\n --components-form-field-background-checked\n );--nv-datagrid-background-disabled:var(\n --components-form-field-background-disabled\n );--nv-datagrid-color-checked:var(\n --components-form-shape-foreground-default\n );--nv-datagrid-color-disabled:var(\n --components-form-shape-foreground-disabled\n );--nv-datagrid-outline-color:var(--color-focus-brand);display:block}nv-datagrid .hidden{display:none}nv-datagrid table{border-collapse:collapse;border-color:inherit;text-indent:0;width:100%}nv-datagrid th{text-align:left;border-bottom:1px solid var(--components-datagrid-header-border);height:var(--spacing-12);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-md);font-weight:700;color:var(--components-datagrid-header-text)}nv-datagrid td{border-bottom:1px solid var(--components-datagrid-body-border);height:var(--spacing-12);max-height:var(--spacing-14);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-md);font-weight:400;color:var(--components-datagrid-body-text);white-space:nowrap;text-overflow:ellipsis}nv-datagrid tbody>tr:hover{background:var(--color-interaction-container-neutral-background-hover)}nv-datagrid .cursor-pointer{cursor:pointer}nv-datagrid .select-none{-webkit-user-select:none;user-select:none}nv-datagrid .search-container{display:flex}nv-datagrid .checkbox-container{position:relative;color:var(--nv-datagrid-color-checked)}nv-datagrid .checkbox-container input[type=checkbox][readonly]{opacity:0.5}nv-datagrid .checkbox-container:has(input[type=checkbox]:disabled:not([readonly])){color:var(--nv-datagrid-color-disabled)}nv-datagrid .checkbox-container input[type=checkbox]{appearance:none;position:relative;display:flex;width:var(--form-checkbox-size);height:var(--form-checkbox-size);flex-direction:column;align-items:flex-start;border-radius:var(--form-checkbox-radius);border-width:var(--form-checkbox-border-width);border-style:solid;border-color:var(--nv-datagrid-border-default);background:var(--nv-datagrid-background-default)}nv-datagrid .checkbox-container input[type=checkbox]:hover{border-color:var(--nv-datagrid-border-hover)}nv-datagrid .checkbox-container input[type=checkbox]:focus{border-color:var(--nv-datagrid-border-focus)}nv-datagrid .checkbox-container input[type=checkbox]:focus,nv-datagrid .checkbox-container input[type=checkbox]:focus-within{outline:none}nv-datagrid .checkbox-container input[type=checkbox]:focus-visible,nv-datagrid .checkbox-container input[type=checkbox]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--nv-datagrid-outline-color);outline-offset:calc(var(--focus-outline-offset) * 1);z-index:111}nv-datagrid .checkbox-container input[type=checkbox]:checked,nv-datagrid .checkbox-container input[type=checkbox]:indeterminate{background:var(--nv-datagrid-background-checked);border-color:var(--nv-datagrid-background-checked)}nv-datagrid .checkbox-container input[type=checkbox]:disabled:not([readonly]){background:var(--nv-datagrid-background-disabled);border-color:var(--nv-datagrid-border-default)}nv-datagrid .checkbox-container input[type=checkbox][readonly]{opacity:0.5}nv-datagrid .checkbox-container .icon{pointer-events:none;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}nv-datagrid .checkbox-container .icon svg{width:var(--form-checkbox-icon-size);height:var(--form-checkbox-icon-size);fill:none;stroke:currentcolor;stroke-width:var(--form-checkbox-icon-stroke);flex-shrink:0}";
3312
3312
  const NvDatagridStyle0 = nvDatagridCss;
3313
3313
 
3314
3314
  const NvDatagrid$1 = /*@__PURE__*/ proxyCustomElement(class NvDatagrid extends H {
@@ -4321,7 +4321,7 @@ const NvDatagrid$1 = /*@__PURE__*/ proxyCustomElement(class NvDatagrid extends H
4321
4321
  const rows = !this.table || this.table === undefined || this.parsedData.length === 0
4322
4322
  ? []
4323
4323
  : (_c = (_b = this.table) === null || _b === void 0 ? void 0 : _b.getRowModel()) === null || _c === void 0 ? void 0 : _c.rows;
4324
- return (h(Host, { key: 'b149279b85a3138e5be62b2f431a82fe5056b996' }, h("div", { key: '84ffd6a613a7e51539f0bc7e5ddff16a1769af5a', class: "hidden" }, h("slot", { key: 'cabafd2aab117816742972bd4eb6e7122c333ee9' })), h("slot", { key: '17a26ba154ddc2dea82f7576878107ede55a2043', name: "before" }), this.enableGlobalFilter && this.table && (h("div", { key: '822bb793cad6266810571dbb2c087c9e2b68958d', class: `search-container justify-${this.globalFilterPosition}` }, h("nv-fieldtext", { key: 'b9fd668a09b602ded195e4d10b79ae3d06c9a0f6', value: this.globalFilterSearchTerm, onInput: this.handleGlobalFilteringOnInput, placeholder: "Search all columns..." }))), this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (h("div", { class: "no-data" }, this.noColumnsNoDataMessage)) : (h("div", null, h("table", null, this.parsedColumns.length > 0 && headerGroups.length > 0 && (h("thead", null, this.parsedColumns.length > 0 && headerGroups
4324
+ return (h(Host, { key: '12113da221c66835cbd3c9c6f84d386b01a6cd3d' }, h("div", { key: '81e429e22f928758c413e295d431b9b5e989304f', class: "hidden" }, h("slot", { key: '12a21e3793f14ae1b47df812bf6d4c4d0d6c02f3' })), h("slot", { key: '372beaeea9fec7014a372961c6fabfae485c4cdc', name: "before" }), this.enableGlobalFilter && this.table && (h("div", { key: 'ca2589c327c23d4e4155d716f7d92c463ff36ab9', class: `search-container justify-${this.globalFilterPosition}` }, h("nv-fieldtext", { key: '749336787db4601d30d9b96d3f0db7f1cffe545f', value: this.globalFilterSearchTerm, onInput: this.handleGlobalFilteringOnInput, placeholder: "Search all columns..." }))), this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (h("div", { class: "no-data" }, this.noColumnsNoDataMessage)) : (h("div", null, h("table", null, this.parsedColumns.length > 0 && headerGroups.length > 0 && (h("thead", null, this.parsedColumns.length > 0 && headerGroups
4325
4325
  ? headerGroups === null || headerGroups === void 0 ? void 0 : headerGroups.map(headerGroup => (h("tr", { key: headerGroup.id }, headerGroup.headers.map(header => {
4326
4326
  return this.getHeaderCell(header);
4327
4327
  }))))
@@ -4332,7 +4332,7 @@ const NvDatagrid$1 = /*@__PURE__*/ proxyCustomElement(class NvDatagrid extends H
4332
4332
  return (h("td", { key: cell.id, "data-row-id": rowId }, this.flexRender(cell.column.columnDef.cell, cell.getContext())));
4333
4333
  })));
4334
4334
  }))), this.table && this.enableRowSelection ? (h("tfoot", null, h("tr", null, h("td", { colSpan: 20 }, this.enableRowSelection && this.table ? (h("div", null, this.rowSelectionState &&
4335
- Object.keys(this.rowSelectionState).length > 0 ? (h("span", null, Object.keys(this.rowSelectionState).length, " of", ' ', ((_e = (_d = this.table.getPreFilteredRowModel()) === null || _d === void 0 ? void 0 : _d.rows) === null || _e === void 0 ? void 0 : _e.length) || 0, ' ', "Total Rows Selected")) : (h("span", null, "No rows selected")))) : null)))) : null), this.getPagination())), h("slot", { key: 'f509745423857527f2983c5cce1289441cc1f7c7', name: "after" })));
4335
+ Object.keys(this.rowSelectionState).length > 0 ? (h("span", null, Object.keys(this.rowSelectionState).length, " of", ' ', ((_e = (_d = this.table.getPreFilteredRowModel()) === null || _d === void 0 ? void 0 : _d.rows) === null || _e === void 0 ? void 0 : _e.length) || 0, ' ', "Total Rows Selected")) : (h("span", null, "No rows selected")))) : null)))) : null), this.getPagination())), h("slot", { key: 'd7dbad31543cb111f4137fd1a0430f9a2803bfdd', name: "after" })));
4336
4336
  }
4337
4337
  get el() { return this; }
4338
4338
  static get watchers() { return {