@nova-design-system/nova-webcomponents 3.24.0 → 3.25.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 (1239) hide show
  1. package/dist/cjs/_commonjsHelpers-CFO10eej.js +0 -3
  2. package/dist/cjs/clsx-BtxeOLZW.js +0 -3
  3. package/dist/cjs/collapse.animation-CcG0GAWk.js +0 -3
  4. package/dist/cjs/constants-BugGJYqL.js +0 -3
  5. package/dist/cjs/dom.utils-8VY5SfMZ.js +177 -0
  6. package/dist/cjs/events.utils-BE6R5q9C.js +0 -3
  7. package/dist/cjs/fade.animation-BQSqXXOJ.js +0 -3
  8. package/dist/cjs/grow.animation-ynu_HmA_.js +0 -3
  9. package/dist/cjs/i18n.utils-ku0bScip.js +0 -3
  10. package/dist/cjs/index-BQjqJTJB.js +4832 -0
  11. package/dist/cjs/index.cjs.js +0 -1
  12. package/dist/cjs/index.esm-CG1TVKfu.js +0 -3
  13. package/dist/cjs/inputmask-DtXnpVWa.js +0 -3
  14. package/dist/cjs/loader.cjs.js +3 -5
  15. package/dist/cjs/native.cjs.js +32 -7
  16. package/dist/cjs/nv-accordion-item.cjs.entry.js +8 -8
  17. package/dist/cjs/nv-accordion.cjs.entry.js +10 -9
  18. package/dist/cjs/nv-alert.cjs.entry.js +6 -5
  19. package/dist/cjs/nv-avatar.cjs.entry.js +3 -4
  20. package/dist/cjs/nv-badge_2.cjs.entry.js +15 -11
  21. package/dist/cjs/nv-breadcrumb.cjs.entry.js +14 -12
  22. package/dist/cjs/nv-breadcrumbs.cjs.entry.js +4 -5
  23. package/dist/cjs/nv-button.cjs.entry.js +10 -7
  24. package/dist/cjs/nv-buttongroup.cjs.entry.js +13 -8
  25. package/dist/cjs/nv-calendar.cjs.entry.js +27 -11
  26. package/dist/cjs/nv-col.cjs.entry.js +4 -5
  27. package/dist/cjs/nv-datagrid.cjs.entry.js +47 -185
  28. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +2 -3
  29. package/dist/cjs/nv-dialog.cjs.entry.js +19 -21
  30. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +11 -30
  31. package/dist/cjs/nv-drawer.cjs.entry.js +19 -20
  32. package/dist/cjs/nv-drawerfooter_2.cjs.entry.js +11 -30
  33. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +10 -9
  34. package/dist/cjs/nv-fielddate.cjs.entry.js +15 -14
  35. package/dist/cjs/nv-fielddaterange.cjs.entry.js +15 -14
  36. package/dist/cjs/nv-fielddropdown.cjs.entry.js +17 -16
  37. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +5 -9
  38. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +12 -9
  39. package/dist/cjs/nv-fieldnumber.cjs.entry.js +10 -9
  40. package/dist/cjs/nv-fieldpassword.cjs.entry.js +10 -9
  41. package/dist/cjs/nv-fieldradio.cjs.entry.js +9 -8
  42. package/dist/cjs/nv-fieldselect.cjs.entry.js +20 -13
  43. package/dist/cjs/nv-fieldslider.cjs.entry.js +33 -16
  44. package/dist/cjs/nv-fieldtext.cjs.entry.js +7 -8
  45. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +15 -10
  46. package/dist/cjs/nv-fieldtime.cjs.entry.js +15 -10
  47. package/dist/cjs/nv-icon.cjs.entry.js +4 -5
  48. package/dist/cjs/nv-iconbutton_2.cjs.entry.js +13 -10
  49. package/dist/cjs/nv-menu.cjs.entry.js +9 -14
  50. package/dist/cjs/nv-menuitem.cjs.entry.js +4 -6
  51. package/dist/cjs/nv-notification-bullet.cjs.entry.js +3 -4
  52. package/dist/cjs/nv-notification.cjs.entry.js +4 -5
  53. package/dist/cjs/nv-notificationcontainer.cjs.entry.js +4 -5
  54. package/dist/cjs/nv-paginationtable.cjs.entry.js +228 -0
  55. package/dist/cjs/nv-popover.cjs.entry.js +105 -34
  56. package/dist/cjs/nv-row.cjs.entry.js +4 -5
  57. package/dist/cjs/nv-sidebar.cjs.entry.js +10 -7
  58. package/dist/cjs/nv-sidebarcontent.cjs.entry.js +4 -5
  59. package/dist/cjs/nv-sidebardivider.cjs.entry.js +4 -5
  60. package/dist/cjs/nv-sidebarfooter.cjs.entry.js +4 -5
  61. package/dist/cjs/nv-sidebargroup.cjs.entry.js +4 -5
  62. package/dist/cjs/nv-sidebarheader.cjs.entry.js +4 -5
  63. package/dist/cjs/nv-sidebarlogo.cjs.entry.js +4 -5
  64. package/dist/cjs/nv-sidebarnavitem.cjs.entry.js +9 -8
  65. package/dist/cjs/nv-sidebarnavsubitem.cjs.entry.js +4 -5
  66. package/dist/cjs/nv-split.cjs.entry.js +10 -7
  67. package/dist/cjs/nv-stack.cjs.entry.js +4 -5
  68. package/dist/cjs/nv-table.cjs.entry.js +4 -5
  69. package/dist/cjs/nv-tableheader.cjs.entry.js +4 -5
  70. package/dist/cjs/nv-toggle.cjs.entry.js +8 -7
  71. package/dist/cjs/nv-togglebutton.cjs.entry.js +4 -6
  72. package/dist/cjs/nv-togglebuttongroup.cjs.entry.js +13 -10
  73. package/dist/cjs/nv-tooltip.cjs.entry.js +10 -10
  74. package/dist/cjs/slide.animation-Cb3tpLQv.js +0 -3
  75. package/dist/cjs/style-value-types.es-B1vLqX9m.js +0 -3
  76. package/dist/cjs/timeline.animation-KteJaZPb.js +0 -3
  77. package/dist/cjs/uri.utils-DiMLQx64.js +0 -3
  78. package/dist/cjs/v4-C1vaJ4yP.js +0 -3
  79. package/dist/collection/animations/collapse.animation.js +0 -1
  80. package/dist/collection/animations/fade.animation.js +0 -1
  81. package/dist/collection/animations/grow.animation.js +0 -1
  82. package/dist/collection/animations/index.js +0 -1
  83. package/dist/collection/animations/slide.animation.js +0 -1
  84. package/dist/collection/animations/timeline.animation.js +0 -1
  85. package/dist/collection/collection-manifest.json +3 -2
  86. package/dist/collection/components/nv-accordion/nv-accordion.docs.js +0 -1
  87. package/dist/collection/components/nv-accordion/nv-accordion.js +1 -4
  88. package/dist/collection/components/nv-accordion-item/nv-accordion-item.docs.js +0 -1
  89. package/dist/collection/components/nv-accordion-item/nv-accordion-item.js +2 -4
  90. package/dist/collection/components/nv-alert/nv-alert.docs.js +0 -1
  91. package/dist/collection/components/nv-alert/nv-alert.js +4 -3
  92. package/dist/collection/components/nv-avatar/nv-avatar.docs.js +0 -1
  93. package/dist/collection/components/nv-avatar/nv-avatar.js +2 -2
  94. package/dist/collection/components/nv-badge/nv-badge.docs.js +0 -1
  95. package/dist/collection/components/nv-badge/nv-badge.js +0 -1
  96. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.docs.js +0 -1
  97. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js +12 -10
  98. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.css +0 -3
  99. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js +0 -1
  100. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js +1 -2
  101. package/dist/collection/components/nv-button/nv-button.docs.js +0 -1
  102. package/dist/collection/components/nv-button/nv-button.js +7 -5
  103. package/dist/collection/components/nv-buttongroup/nv-buttongroup.docs.js +0 -1
  104. package/dist/collection/components/nv-buttongroup/nv-buttongroup.js +5 -4
  105. package/dist/collection/components/nv-buttongroup/nv-buttongroup.utils.js +0 -1
  106. package/dist/collection/components/nv-buttongroup/test/nv-buttongroup.utils.test.js +0 -1
  107. package/dist/collection/components/nv-calendar/nv-calendar.css +110 -1
  108. package/dist/collection/components/nv-calendar/nv-calendar.docs.js +0 -1
  109. package/dist/collection/components/nv-calendar/nv-calendar.js +9 -3
  110. package/dist/collection/components/nv-calendar/nv-calendar.utils.js +0 -1
  111. package/dist/collection/components/nv-calendar/partials/calendar-actions.js +0 -1
  112. package/dist/collection/components/nv-calendar/partials/calendar-grid.js +0 -1
  113. package/dist/collection/components/nv-calendar/partials/calendar-header.js +0 -1
  114. package/dist/collection/components/nv-calendar/partials/calendar-shortcuts.js +0 -1
  115. package/dist/collection/components/nv-calendar/partials/day-cell.js +0 -1
  116. package/dist/collection/components/nv-calendar/partials/index.js +0 -1
  117. package/dist/collection/components/nv-calendar/partials/week-numbers.js +0 -1
  118. package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js +0 -1
  119. package/dist/collection/components/nv-calendar/test/partials/calendar-actions.logic.test.js +0 -1
  120. package/dist/collection/components/nv-calendar/test/partials/calendar-grid.logic.test.js +0 -1
  121. package/dist/collection/components/nv-calendar/test/partials/calendar-header.logic.test.js +0 -1
  122. package/dist/collection/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.js +0 -1
  123. package/dist/collection/components/nv-calendar/test/partials/day-cell.logic.test.js +0 -1
  124. package/dist/collection/components/nv-calendar/test/partials/week-numbers.logic.test.js +0 -1
  125. package/dist/collection/components/nv-col/nv-col.docs.js +0 -1
  126. package/dist/collection/components/nv-col/nv-col.js +1 -2
  127. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +0 -1
  128. package/dist/collection/components/nv-datagrid/nv-datagrid.js +6 -5
  129. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.docs.js +0 -1
  130. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +1 -2
  131. package/dist/collection/components/nv-dialog/nv-dialog.docs.js +0 -7
  132. package/dist/collection/components/nv-dialog/nv-dialog.js +17 -45
  133. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.docs.js +0 -1
  134. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js +8 -15
  135. package/dist/collection/components/nv-dialogheader/nv-dialogheader.docs.js +0 -1
  136. package/dist/collection/components/nv-dialogheader/nv-dialogheader.js +1 -13
  137. package/dist/collection/components/nv-drawer/nv-drawer.docs.js +0 -1
  138. package/dist/collection/components/nv-drawer/nv-drawer.js +13 -16
  139. package/dist/collection/components/nv-drawerfooter/nv-drawerfooter.docs.js +0 -1
  140. package/dist/collection/components/nv-drawerfooter/nv-drawerfooter.js +8 -15
  141. package/dist/collection/components/nv-drawerheader/nv-drawerheader.docs.js +0 -1
  142. package/dist/collection/components/nv-drawerheader/nv-drawerheader.js +1 -13
  143. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.js +0 -1
  144. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +6 -6
  145. package/dist/collection/components/nv-fielddate/nv-fielddate.docs.js +0 -1
  146. package/dist/collection/components/nv-fielddate/nv-fielddate.js +6 -9
  147. package/dist/collection/components/nv-fielddate/test/nv-fielddate.logic.test.js +0 -1
  148. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.docs.js +0 -1
  149. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +6 -9
  150. package/dist/collection/components/nv-fielddaterange/test/nv-fielddaterange.logic.test.js +0 -1
  151. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +0 -1
  152. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +16 -13
  153. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.docs.js +0 -1
  154. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +3 -7
  155. package/dist/collection/components/nv-fielddropdownitem/styles/nv-fielddropdownitem.css +78 -8
  156. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.docs.js +0 -1
  157. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +1 -3
  158. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +0 -1
  159. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +5 -6
  160. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js +0 -1
  161. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +4 -5
  162. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js +0 -1
  163. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +7 -7
  164. package/dist/collection/components/nv-fieldradio/nv-fieldradio.docs.js +0 -1
  165. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +5 -5
  166. package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js +0 -1
  167. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +5 -6
  168. package/dist/collection/components/nv-fieldselect/styles/nv-fieldselect.css +90 -7
  169. package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js +0 -1
  170. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +3 -4
  171. package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js +0 -1
  172. package/dist/collection/components/nv-fieldslider/partials/field-input.js +0 -1
  173. package/dist/collection/components/nv-fieldslider/partials/range-thumb.js +0 -1
  174. package/dist/collection/components/nv-fieldslider/partials/single-thumb.js +0 -1
  175. package/dist/collection/components/nv-fieldslider/partials/tick-marks.js +0 -1
  176. package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js +0 -1
  177. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +0 -1
  178. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +7 -7
  179. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js +0 -1
  180. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -4
  181. package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js +0 -1
  182. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +3 -4
  183. package/dist/collection/components/nv-fieldtime/utils/format-utils.js +0 -1
  184. package/dist/collection/components/nv-icon/nv-icon.docs.js +0 -1
  185. package/dist/collection/components/nv-icon/nv-icon.js +7 -5
  186. package/dist/collection/components/nv-icon/nv-icons.js +0 -1
  187. package/dist/collection/components/nv-iconbutton/nv-iconbutton.docs.js +0 -1
  188. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +11 -7
  189. package/dist/collection/components/nv-loader/nv-loader.docs.js +0 -1
  190. package/dist/collection/components/nv-loader/nv-loader.js +5 -4
  191. package/dist/collection/components/nv-menu/nv-menu.docs.js +0 -1
  192. package/dist/collection/components/nv-menu/nv-menu.js +14 -12
  193. package/dist/collection/components/nv-menuitem/nv-menuitem.docs.js +0 -1
  194. package/dist/collection/components/nv-menuitem/nv-menuitem.js +4 -5
  195. package/dist/collection/components/nv-notification/nv-notification.docs.js +0 -1
  196. package/dist/collection/components/nv-notification/nv-notification.js +5 -4
  197. package/dist/collection/components/nv-notification-bullet/nv-notification-bullet.docs.js +0 -1
  198. package/dist/collection/components/nv-notification-bullet/nv-notification-bullet.js +0 -1
  199. package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.docs.js +0 -1
  200. package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.js +3 -3
  201. package/dist/collection/components/nv-paginationtable/nv-paginationtable.css +17 -0
  202. package/dist/collection/components/nv-paginationtable/nv-paginationtable.docs.js +248 -0
  203. package/dist/collection/components/nv-paginationtable/nv-paginationtable.js +537 -0
  204. package/dist/collection/components/nv-paginationtable/nv-paginationtable.utils.js +64 -0
  205. package/dist/collection/components/nv-paginationtable/test/nv-paginationtable.utils.test.js +361 -0
  206. package/dist/collection/components/nv-popover/nv-popover.docs.js +0 -1
  207. package/dist/collection/components/nv-popover/nv-popover.js +19 -14
  208. package/dist/collection/components/nv-row/nv-row.docs.js +0 -1
  209. package/dist/collection/components/nv-row/nv-row.js +1 -2
  210. package/dist/collection/components/nv-sidebar/nv-sidebar.docs.js +0 -1
  211. package/dist/collection/components/nv-sidebar/nv-sidebar.js +1 -2
  212. package/dist/collection/components/nv-sidebarcontent/nv-sidebarcontent.docs.js +0 -1
  213. package/dist/collection/components/nv-sidebarcontent/nv-sidebarcontent.js +1 -2
  214. package/dist/collection/components/nv-sidebardivider/nv-sidebardivider.docs.js +0 -1
  215. package/dist/collection/components/nv-sidebardivider/nv-sidebardivider.js +1 -2
  216. package/dist/collection/components/nv-sidebarfooter/nv-sidebarfooter.docs.js +0 -1
  217. package/dist/collection/components/nv-sidebarfooter/nv-sidebarfooter.js +1 -2
  218. package/dist/collection/components/nv-sidebargroup/nv-sidebargroup.docs.js +0 -1
  219. package/dist/collection/components/nv-sidebargroup/nv-sidebargroup.js +1 -2
  220. package/dist/collection/components/nv-sidebarheader/nv-sidebarheader.docs.js +0 -1
  221. package/dist/collection/components/nv-sidebarheader/nv-sidebarheader.js +1 -2
  222. package/dist/collection/components/nv-sidebarlogo/nv-sidebarlogo.docs.js +0 -1
  223. package/dist/collection/components/nv-sidebarlogo/nv-sidebarlogo.js +1 -2
  224. package/dist/collection/components/nv-sidebarnavitem/nv-sidebarnavitem.docs.js +0 -1
  225. package/dist/collection/components/nv-sidebarnavitem/nv-sidebarnavitem.js +6 -6
  226. package/dist/collection/components/nv-sidebarnavsubitem/nv-sidebarnavsubitem.docs.js +0 -1
  227. package/dist/collection/components/nv-sidebarnavsubitem/nv-sidebarnavsubitem.js +1 -2
  228. package/dist/collection/components/nv-split/nv-split.docs.js +0 -1
  229. package/dist/collection/components/nv-split/nv-split.js +1 -2
  230. package/dist/collection/components/nv-stack/nv-stack.docs.js +0 -1
  231. package/dist/collection/components/nv-stack/nv-stack.js +1 -2
  232. package/dist/collection/components/nv-table/nv-table.docs.js +0 -1
  233. package/dist/collection/components/nv-table/nv-table.js +1 -2
  234. package/dist/collection/components/nv-table/nv-table.utils.js +0 -1
  235. package/dist/collection/components/nv-table/test/nv-table.utils.test.js +0 -1
  236. package/dist/collection/components/nv-tableheader/nv-tableheader.docs.js +0 -1
  237. package/dist/collection/components/nv-tableheader/nv-tableheader.js +1 -2
  238. package/dist/collection/components/nv-toggle/nv-toggle.docs.js +0 -1
  239. package/dist/collection/components/nv-toggle/nv-toggle.js +4 -4
  240. package/dist/collection/components/nv-togglebutton/nv-togglebutton.docs.js +0 -1
  241. package/dist/collection/components/nv-togglebutton/nv-togglebutton.js +5 -5
  242. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js +0 -1
  243. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js +5 -6
  244. package/dist/collection/components/nv-tooltip/nv-tooltip.docs.js +0 -1
  245. package/dist/collection/components/nv-tooltip/nv-tooltip.js +20 -13
  246. package/dist/collection/index.js +0 -1
  247. package/dist/collection/interfaces/Column.js +0 -1
  248. package/dist/collection/interfaces/ColumnConfig.js +0 -1
  249. package/dist/collection/interfaces/localization.js +0 -1
  250. package/dist/collection/templates/navigation.docs.js +0 -1
  251. package/dist/collection/utils/class.utils.js +0 -1
  252. package/dist/collection/utils/constants.js +0 -1
  253. package/dist/collection/utils/dom.utils.js +8 -1
  254. package/dist/collection/utils/events.utils.js +0 -1
  255. package/dist/collection/utils/i18n.utils.js +0 -1
  256. package/dist/collection/utils/input.utils.js +0 -1
  257. package/dist/collection/utils/search-engine/engine.js +0 -1
  258. package/dist/collection/utils/search-engine/guards.js +0 -1
  259. package/dist/collection/utils/search-engine/index.js +0 -1
  260. package/dist/collection/utils/search-engine/indexer.js +0 -1
  261. package/dist/collection/utils/search-engine/normalize.js +0 -1
  262. package/dist/collection/utils/search-engine/strategies/fuzzy.js +0 -1
  263. package/dist/collection/utils/search-engine/strategies/smart.js +0 -1
  264. package/dist/collection/utils/search-engine/strategies/strict.js +0 -1
  265. package/dist/collection/utils/search-engine/test/engine.test.js +0 -1
  266. package/dist/collection/utils/search-engine/test/guards.test.js +0 -1
  267. package/dist/collection/utils/search-engine/test/indexer.test.js +0 -1
  268. package/dist/collection/utils/search-engine/test/normalize.test.js +0 -1
  269. package/dist/collection/utils/search-engine/test/strategies.test.js +0 -1
  270. package/dist/collection/utils/search-engine/types.js +0 -1
  271. package/dist/collection/utils/search-engine/worker/index.js +0 -1
  272. package/dist/collection/utils/search-engine/worker/search.worker.js +0 -1
  273. package/dist/collection/utils/search-engine/worker/worker-client.js +0 -1
  274. package/dist/collection/utils/string.utils.js +0 -1
  275. package/dist/collection/utils/test/class.utils.test.js +0 -1
  276. package/dist/collection/utils/test/dom.utils.test.js +24 -2
  277. package/dist/collection/utils/test/i18n.utils.test.js +0 -1
  278. package/dist/collection/utils/test/input.utils.test.js +0 -1
  279. package/dist/collection/utils/test/uri.utils.test.js +0 -1
  280. package/dist/collection/utils/uri.utils.js +0 -1
  281. package/dist/components/index.d.ts +2 -0
  282. package/dist/components/index.js +1 -583
  283. package/dist/components/nv-accordion-item.js +1 -9
  284. package/dist/components/nv-accordion.js +1 -229
  285. package/dist/components/nv-alert.js +1 -211
  286. package/dist/components/nv-avatar.js +1 -105
  287. package/dist/components/nv-badge.js +1 -9
  288. package/dist/components/nv-breadcrumb.js +1 -80
  289. package/dist/components/nv-breadcrumbs.js +1 -39
  290. package/dist/components/nv-button.js +1 -9
  291. package/dist/components/nv-buttongroup.js +1 -223
  292. package/dist/components/nv-calendar.js +1 -9
  293. package/dist/components/nv-col.js +1 -58
  294. package/dist/components/nv-datagrid.js +1 -4580
  295. package/dist/components/nv-datagridcolumn.js +1 -47
  296. package/dist/components/nv-dialog.js +1 -362
  297. package/dist/components/nv-dialogfooter.js +1 -9
  298. package/dist/components/nv-dialogheader.js +1 -9
  299. package/dist/components/nv-drawer.js +1 -507
  300. package/dist/components/nv-drawerfooter.js +1 -9
  301. package/dist/components/nv-drawerheader.js +1 -9
  302. package/dist/components/nv-fieldcheckbox.js +1 -9
  303. package/dist/components/nv-fielddate.js +1 -507
  304. package/dist/components/nv-fielddaterange.js +1 -670
  305. package/dist/components/nv-fielddropdown.js +1 -768
  306. package/dist/components/nv-fielddropdownitem.js +1 -9
  307. package/dist/components/nv-fielddropdownitemcheck.js +1 -9
  308. package/dist/components/nv-fieldmultiselect.js +1 -1587
  309. package/dist/components/nv-fieldnumber.js +1 -9
  310. package/dist/components/nv-fieldpassword.js +1 -227
  311. package/dist/components/nv-fieldradio.js +1 -137
  312. package/dist/components/nv-fieldselect.js +1 -460
  313. package/dist/components/nv-fieldslider.js +1 -801
  314. package/dist/components/nv-fieldtext.js +1 -9
  315. package/dist/components/nv-fieldtextarea.js +1 -282
  316. package/dist/components/nv-fieldtime.js +1 -1189
  317. package/dist/components/nv-icon.js +1 -9
  318. package/dist/components/nv-iconbutton.js +1 -9
  319. package/dist/components/nv-loader.js +1 -9
  320. package/dist/components/nv-menu.js +1 -254
  321. package/dist/components/nv-menuitem.js +1 -9
  322. package/dist/components/nv-notification-bullet.js +1 -9
  323. package/dist/components/nv-notification.js +1 -212
  324. package/dist/components/nv-notificationcontainer.js +1 -61
  325. package/dist/components/nv-paginationtable.d.ts +11 -0
  326. package/dist/components/nv-paginationtable.js +1 -0
  327. package/dist/components/nv-popover.js +1 -9
  328. package/dist/components/nv-row.js +1 -40
  329. package/dist/components/nv-sidebar.js +1 -210
  330. package/dist/components/nv-sidebarcontent.js +1 -40
  331. package/dist/components/nv-sidebardivider.js +1 -40
  332. package/dist/components/nv-sidebarfooter.js +1 -40
  333. package/dist/components/nv-sidebargroup.js +1 -43
  334. package/dist/components/nv-sidebarheader.js +1 -40
  335. package/dist/components/nv-sidebarlogo.js +1 -54
  336. package/dist/components/nv-sidebarnavitem.js +1 -336
  337. package/dist/components/nv-sidebarnavsubitem.js +1 -55
  338. package/dist/components/nv-split.js +1 -370
  339. package/dist/components/nv-stack.js +1 -55
  340. package/dist/components/nv-table.js +1 -261
  341. package/dist/components/nv-tableheader.js +1 -114
  342. package/dist/components/nv-toggle.js +1 -111
  343. package/dist/components/nv-togglebutton.js +1 -91
  344. package/dist/components/nv-togglebuttongroup.js +1 -200
  345. package/dist/components/nv-tooltip.js +1 -9
  346. package/dist/components/p-9xYwU7ku.js +1 -724
  347. package/dist/components/p-B6GgGra-.js +1 -29
  348. package/dist/components/p-BJSrJH9I.js +1 -0
  349. package/dist/components/p-BReL3Lsa.js +1 -286
  350. package/dist/components/p-BdYh22OP.js +1 -57
  351. package/dist/components/p-Bg-b6OWh.js +1 -0
  352. package/dist/components/p-BkqfOhkU.js +1 -0
  353. package/dist/components/p-BqRuoNHJ.js +1 -0
  354. package/dist/components/p-C-MlXMFg.js +1 -0
  355. package/dist/components/p-C6LzzMQm.js +1 -0
  356. package/dist/components/p-CGXDiomF.js +1 -0
  357. package/dist/components/p-CPjfMClF.js +1 -0
  358. package/dist/components/p-C_a7VT_H.js +1 -0
  359. package/dist/components/p-Cfr9uriB.js +1 -0
  360. package/dist/components/p-CgHCo_Ho.js +1 -42
  361. package/dist/components/p-ChRIFm7p.js +1 -0
  362. package/dist/components/p-ChV9xqsO.js +1 -6
  363. package/dist/components/p-CnI0auJM.js +1 -24
  364. package/dist/components/p-Cq5FI49y.js +1 -0
  365. package/dist/components/p-CskCUxuV.js +1 -0
  366. package/dist/components/p-CuXVGECR.js +1 -0
  367. package/dist/components/p-Cw5yG8cD.js +9 -0
  368. package/dist/components/p-D02w_Ru6.js +1 -91
  369. package/dist/components/p-D1C_pu0E.js +1 -218
  370. package/dist/components/p-D2otK4Ce.js +1 -91
  371. package/dist/components/p-D3eWMME9.js +1 -534
  372. package/dist/components/p-D7xBylwr.js +1 -0
  373. package/dist/components/p-D_JRZMC-.js +1 -0
  374. package/dist/components/p-DkC2jlrw.js +1 -0
  375. package/dist/components/p-Dz1GUhVy.js +15 -1119
  376. package/dist/components/p-IlwlcG9l.js +1 -2485
  377. package/dist/components/p-Nf-dwTsx.js +1 -0
  378. package/dist/components/p-iXsbKJzR.js +2 -0
  379. package/dist/components/p-mWVXEsBF.js +1 -0
  380. package/dist/components/p-r3_atQ9r.js +1 -0
  381. package/dist/components/p-tJDdN0lo.js +1 -0
  382. package/dist/components/p-yHGZRC6Q.js +1 -0
  383. package/dist/esm/_commonjsHelpers-B85MJLTf.js +0 -3
  384. package/dist/esm/clsx-ChV9xqsO.js +0 -3
  385. package/dist/esm/collapse.animation-DZDm0vSK.js +0 -3
  386. package/dist/esm/constants-BReL3Lsa.js +0 -3
  387. package/dist/esm/dom.utils-CuXVGECR.js +173 -0
  388. package/dist/esm/events.utils-B6GgGra-.js +0 -3
  389. package/dist/esm/fade.animation-DcRL9lcm.js +0 -3
  390. package/dist/esm/grow.animation-D7ep_aVl.js +0 -3
  391. package/dist/esm/i18n.utils-IlwlcG9l.js +0 -3
  392. package/dist/esm/index-S-IZ4AN_.js +4796 -0
  393. package/dist/esm/index.esm-D3eWMME9.js +0 -3
  394. package/dist/esm/index.js +0 -1
  395. package/dist/esm/inputmask-CSo292ul.js +0 -3
  396. package/dist/esm/loader.js +3 -5
  397. package/dist/esm/native.js +32 -7
  398. package/dist/esm/nv-accordion-item.entry.js +8 -8
  399. package/dist/esm/nv-accordion.entry.js +10 -9
  400. package/dist/esm/nv-alert.entry.js +6 -5
  401. package/dist/esm/nv-avatar.entry.js +3 -4
  402. package/dist/esm/nv-badge_2.entry.js +15 -11
  403. package/dist/esm/nv-breadcrumb.entry.js +14 -12
  404. package/dist/esm/nv-breadcrumbs.entry.js +4 -5
  405. package/dist/esm/nv-button.entry.js +10 -7
  406. package/dist/esm/nv-buttongroup.entry.js +13 -8
  407. package/dist/esm/nv-calendar.entry.js +27 -11
  408. package/dist/esm/nv-col.entry.js +4 -5
  409. package/dist/esm/nv-datagrid.entry.js +42 -180
  410. package/dist/esm/nv-datagridcolumn.entry.js +2 -3
  411. package/dist/esm/nv-dialog.entry.js +19 -21
  412. package/dist/esm/nv-dialogfooter_2.entry.js +11 -30
  413. package/dist/esm/nv-drawer.entry.js +19 -20
  414. package/dist/esm/nv-drawerfooter_2.entry.js +11 -30
  415. package/dist/esm/nv-fieldcheckbox.entry.js +10 -9
  416. package/dist/esm/nv-fielddate.entry.js +15 -14
  417. package/dist/esm/nv-fielddaterange.entry.js +15 -14
  418. package/dist/esm/nv-fielddropdown.entry.js +17 -16
  419. package/dist/esm/nv-fielddropdownitem.entry.js +5 -9
  420. package/dist/esm/nv-fieldmultiselect.entry.js +12 -9
  421. package/dist/esm/nv-fieldnumber.entry.js +10 -9
  422. package/dist/esm/nv-fieldpassword.entry.js +10 -9
  423. package/dist/esm/nv-fieldradio.entry.js +9 -8
  424. package/dist/esm/nv-fieldselect.entry.js +20 -13
  425. package/dist/esm/nv-fieldslider.entry.js +33 -16
  426. package/dist/esm/nv-fieldtext.entry.js +7 -8
  427. package/dist/esm/nv-fieldtextarea.entry.js +15 -10
  428. package/dist/esm/nv-fieldtime.entry.js +15 -10
  429. package/dist/esm/nv-icon.entry.js +4 -5
  430. package/dist/esm/nv-iconbutton_2.entry.js +13 -10
  431. package/dist/esm/nv-menu.entry.js +9 -14
  432. package/dist/esm/nv-menuitem.entry.js +4 -6
  433. package/dist/esm/nv-notification-bullet.entry.js +3 -4
  434. package/dist/esm/nv-notification.entry.js +4 -5
  435. package/dist/esm/nv-notificationcontainer.entry.js +4 -5
  436. package/dist/esm/nv-paginationtable.entry.js +226 -0
  437. package/dist/esm/nv-popover.entry.js +105 -34
  438. package/dist/esm/nv-row.entry.js +4 -5
  439. package/dist/esm/nv-sidebar.entry.js +10 -7
  440. package/dist/esm/nv-sidebarcontent.entry.js +4 -5
  441. package/dist/esm/nv-sidebardivider.entry.js +4 -5
  442. package/dist/esm/nv-sidebarfooter.entry.js +4 -5
  443. package/dist/esm/nv-sidebargroup.entry.js +4 -5
  444. package/dist/esm/nv-sidebarheader.entry.js +4 -5
  445. package/dist/esm/nv-sidebarlogo.entry.js +4 -5
  446. package/dist/esm/nv-sidebarnavitem.entry.js +9 -8
  447. package/dist/esm/nv-sidebarnavsubitem.entry.js +4 -5
  448. package/dist/esm/nv-split.entry.js +10 -7
  449. package/dist/esm/nv-stack.entry.js +4 -5
  450. package/dist/esm/nv-table.entry.js +4 -5
  451. package/dist/esm/nv-tableheader.entry.js +4 -5
  452. package/dist/esm/nv-toggle.entry.js +8 -7
  453. package/dist/esm/nv-togglebutton.entry.js +4 -6
  454. package/dist/esm/nv-togglebuttongroup.entry.js +13 -10
  455. package/dist/esm/nv-tooltip.entry.js +10 -10
  456. package/dist/esm/slide.animation-CmH5d1of.js +0 -3
  457. package/dist/esm/style-value-types.es-xlgmw4x8.js +0 -3
  458. package/dist/esm/timeline.animation-CgHCo_Ho.js +0 -3
  459. package/dist/esm/uri.utils-CnI0auJM.js +0 -3
  460. package/dist/esm/v4-BdYh22OP.js +0 -3
  461. package/dist/lib/generators/angular-output.js +0 -1
  462. package/dist/lib/generators/docs-blazor.js +0 -1
  463. package/dist/lib/generators/vue-output.js +0 -1
  464. package/dist/lib/utils/componentBinding.js +0 -1
  465. package/dist/lib/utils/parseToCSharpTypes.js +0 -1
  466. package/dist/lib/utils/spread.js +0 -1
  467. package/dist/lib/utils/test/parseToCSharpTypes.test.js +0 -1
  468. package/dist/native/index.esm.js +1 -2
  469. package/dist/native/native.css +1 -1
  470. package/dist/native/native.esm.js +1 -2
  471. package/dist/native/p-00b80d2b.entry.js +1 -0
  472. package/dist/native/p-01d09dfa.entry.js +1 -0
  473. package/dist/native/p-0242699e.entry.js +1 -0
  474. package/dist/native/p-09b88c8d.entry.js +1 -0
  475. package/dist/native/p-13YSIyGW.js +1 -2
  476. package/dist/native/p-184b4f0d.entry.js +1 -0
  477. package/dist/native/p-1a1a6bbf.entry.js +1 -0
  478. package/dist/native/p-1b37bf6c.entry.js +1 -0
  479. package/dist/native/p-1bf1a213.entry.js +1 -0
  480. package/dist/native/p-1c86c5b8.entry.js +1 -0
  481. package/dist/native/p-2106dfbd.entry.js +1 -0
  482. package/dist/native/p-223814fe.entry.js +1 -0
  483. package/dist/native/p-2623b212.entry.js +1 -0
  484. package/dist/native/p-29f0730f.entry.js +1 -0
  485. package/dist/native/p-2b7e621a.entry.js +1 -0
  486. package/dist/native/p-32cbc18b.entry.js +1 -0
  487. package/dist/native/p-34cce087.entry.js +1 -0
  488. package/dist/native/p-38e981f2.entry.js +1 -0
  489. package/dist/native/p-3ac56d5f.entry.js +1 -0
  490. package/dist/native/p-3bd49efe.entry.js +1 -0
  491. package/dist/native/p-3c09e565.entry.js +1 -0
  492. package/dist/native/p-3e949805.entry.js +1 -0
  493. package/dist/native/p-4016851b.entry.js +1 -0
  494. package/dist/native/p-4725d9aa.entry.js +1 -0
  495. package/dist/native/p-4bda5842.entry.js +1 -0
  496. package/dist/native/p-4c29c4c7.entry.js +1 -0
  497. package/dist/native/p-5cbf5973.entry.js +1 -0
  498. package/dist/native/p-5fb6d986.entry.js +1 -0
  499. package/dist/native/p-6a548776.entry.js +1 -0
  500. package/dist/native/p-6ba310e8.entry.js +1 -0
  501. package/dist/native/p-6ccea920.entry.js +1 -0
  502. package/dist/native/p-6e9b95fa.entry.js +1 -0
  503. package/dist/native/p-6f368c8d.entry.js +1 -0
  504. package/dist/native/p-70fa3c6b.entry.js +1 -0
  505. package/dist/native/p-7f3c3c29.entry.js +1 -0
  506. package/dist/native/p-84202d8a.entry.js +1 -0
  507. package/dist/native/p-87f35ce1.entry.js +1 -0
  508. package/dist/native/p-91f71346.entry.js +1 -0
  509. package/dist/native/p-98de77f8.entry.js +1 -0
  510. package/dist/native/p-98ea927d.entry.js +1 -0
  511. package/dist/native/p-99051651.entry.js +1 -0
  512. package/dist/native/p-997a2268.entry.js +1 -0
  513. package/dist/native/p-B6GgGra-.js +1 -2
  514. package/dist/native/p-B85MJLTf.js +1 -2
  515. package/dist/native/p-BReL3Lsa.js +1 -2
  516. package/dist/native/p-BdYh22OP.js +1 -2
  517. package/dist/native/p-Blc6XEY7.js +1 -2
  518. package/dist/native/p-CgHCo_Ho.js +1 -2
  519. package/dist/native/p-ChV9xqsO.js +1 -2
  520. package/dist/native/p-CnI0auJM.js +1 -2
  521. package/dist/native/p-CuXVGECR.js +1 -0
  522. package/dist/native/p-D3eWMME9.js +1 -2
  523. package/dist/native/p-DmUOtOcY.js +1 -2
  524. package/dist/native/p-Hfc8Oh0x.js +3 -4
  525. package/dist/native/p-IlwlcG9l.js +1 -2
  526. package/dist/native/p-S-IZ4AN_.js +2 -0
  527. package/dist/native/p-a60660f6.entry.js +1 -0
  528. package/dist/native/p-a6287e55.entry.js +1 -0
  529. package/dist/native/p-a813f497.entry.js +1 -0
  530. package/dist/native/p-ad05cef2.entry.js +1 -0
  531. package/dist/native/p-b65f3418.entry.js +1 -0
  532. package/dist/native/p-bf8b0be2.entry.js +1 -0
  533. package/dist/native/p-ca3b996b.entry.js +1 -0
  534. package/dist/native/p-d9c1287c.entry.js +1 -0
  535. package/dist/native/p-d9cebb66.entry.js +1 -0
  536. package/dist/native/p-da417f83.entry.js +1 -0
  537. package/dist/native/p-df59dee0.entry.js +1 -0
  538. package/dist/native/p-e1021e2c.entry.js +1 -0
  539. package/dist/native/p-e371a958.entry.js +1 -0
  540. package/dist/native/p-e5dbacf6.entry.js +1 -0
  541. package/dist/native/p-ed19f3dc.entry.js +1 -0
  542. package/dist/native/p-f1b6d43b.entry.js +1 -0
  543. package/dist/native/p-ff7eae44.entry.js +1 -0
  544. package/dist/native/p-sqVK8yoD.js +1 -2
  545. package/dist/native/p-xlgmw4x8.js +2 -3
  546. package/dist/types/components/nv-breadcrumb/nv-breadcrumb.d.ts +4 -2
  547. package/dist/types/components/nv-dialog/nv-dialog.d.ts +4 -9
  548. package/dist/types/components/nv-dialogfooter/nv-dialogfooter.d.ts +3 -4
  549. package/dist/types/components/nv-dialogheader/nv-dialogheader.d.ts +0 -3
  550. package/dist/types/components/nv-drawer/nv-drawer.d.ts +3 -3
  551. package/dist/types/components/nv-drawerfooter/nv-drawerfooter.d.ts +3 -4
  552. package/dist/types/components/nv-drawerheader/nv-drawerheader.d.ts +0 -3
  553. package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +4 -0
  554. package/dist/types/components/nv-fielddropdownitem/nv-fielddropdownitem.d.ts +2 -3
  555. package/dist/types/components/nv-menu/nv-menu.d.ts +5 -1
  556. package/dist/types/components/nv-paginationtable/nv-paginationtable.d.ts +112 -0
  557. package/dist/types/components/nv-paginationtable/nv-paginationtable.docs.d.ts +4 -0
  558. package/dist/types/components/nv-paginationtable/nv-paginationtable.utils.d.ts +61 -0
  559. package/dist/types/components/nv-paginationtable/test/nv-paginationtable.utils.test.d.ts +1 -0
  560. package/dist/types/components/nv-popover/nv-popover.d.ts +2 -3
  561. package/dist/types/components/nv-tooltip/nv-tooltip.d.ts +4 -2
  562. package/dist/types/components.d.ts +172 -3
  563. package/dist/types/stencil-public-runtime.d.ts +87 -4
  564. package/dist/types/utils/dom.utils.d.ts +6 -0
  565. package/dist/types/utils/events.utils.d.ts +2 -2
  566. package/dist/vscode-data.json +636 -587
  567. package/hydrate/index.d.ts +12 -0
  568. package/hydrate/index.js +6969 -1224
  569. package/hydrate/index.mjs +6968 -1225
  570. package/package.json +10 -8
  571. package/dist/cjs/_commonjsHelpers-CFO10eej.js.map +0 -1
  572. package/dist/cjs/app-globals-V2Kpy_OQ.js +0 -8
  573. package/dist/cjs/app-globals-V2Kpy_OQ.js.map +0 -1
  574. package/dist/cjs/clsx-BtxeOLZW.js.map +0 -1
  575. package/dist/cjs/collapse.animation-CcG0GAWk.js.map +0 -1
  576. package/dist/cjs/constants-BugGJYqL.js.map +0 -1
  577. package/dist/cjs/events.utils-BE6R5q9C.js.map +0 -1
  578. package/dist/cjs/fade.animation-BQSqXXOJ.js.map +0 -1
  579. package/dist/cjs/grow.animation-ynu_HmA_.js.map +0 -1
  580. package/dist/cjs/i18n.utils-ku0bScip.js.map +0 -1
  581. package/dist/cjs/index-B1na8x6M.js +0 -2841
  582. package/dist/cjs/index-B1na8x6M.js.map +0 -1
  583. package/dist/cjs/index.cjs.js.map +0 -1
  584. package/dist/cjs/index.esm-CG1TVKfu.js.map +0 -1
  585. package/dist/cjs/inputmask-DtXnpVWa.js.map +0 -1
  586. package/dist/cjs/loader.cjs.js.map +0 -1
  587. package/dist/cjs/native.cjs.js.map +0 -1
  588. package/dist/cjs/nv-accordion-item.entry.cjs.js.map +0 -1
  589. package/dist/cjs/nv-accordion.entry.cjs.js.map +0 -1
  590. package/dist/cjs/nv-alert.entry.cjs.js.map +0 -1
  591. package/dist/cjs/nv-avatar.entry.cjs.js.map +0 -1
  592. package/dist/cjs/nv-badge.nv-fielddropdownitemcheck.entry.cjs.js.map +0 -1
  593. package/dist/cjs/nv-breadcrumb.entry.cjs.js.map +0 -1
  594. package/dist/cjs/nv-breadcrumbs.entry.cjs.js.map +0 -1
  595. package/dist/cjs/nv-button.entry.cjs.js.map +0 -1
  596. package/dist/cjs/nv-buttongroup.entry.cjs.js.map +0 -1
  597. package/dist/cjs/nv-calendar.entry.cjs.js.map +0 -1
  598. package/dist/cjs/nv-col.entry.cjs.js.map +0 -1
  599. package/dist/cjs/nv-datagrid.entry.cjs.js.map +0 -1
  600. package/dist/cjs/nv-datagridcolumn.entry.cjs.js.map +0 -1
  601. package/dist/cjs/nv-dialog.entry.cjs.js.map +0 -1
  602. package/dist/cjs/nv-dialogfooter.nv-dialogheader.entry.cjs.js.map +0 -1
  603. package/dist/cjs/nv-drawer.entry.cjs.js.map +0 -1
  604. package/dist/cjs/nv-drawerfooter.nv-drawerheader.entry.cjs.js.map +0 -1
  605. package/dist/cjs/nv-fieldcheckbox.entry.cjs.js.map +0 -1
  606. package/dist/cjs/nv-fielddate.entry.cjs.js.map +0 -1
  607. package/dist/cjs/nv-fielddaterange.entry.cjs.js.map +0 -1
  608. package/dist/cjs/nv-fielddropdown.entry.cjs.js.map +0 -1
  609. package/dist/cjs/nv-fielddropdownitem.entry.cjs.js.map +0 -1
  610. package/dist/cjs/nv-fieldmultiselect.entry.cjs.js.map +0 -1
  611. package/dist/cjs/nv-fieldnumber.entry.cjs.js.map +0 -1
  612. package/dist/cjs/nv-fieldpassword.entry.cjs.js.map +0 -1
  613. package/dist/cjs/nv-fieldradio.entry.cjs.js.map +0 -1
  614. package/dist/cjs/nv-fieldselect.entry.cjs.js.map +0 -1
  615. package/dist/cjs/nv-fieldslider.entry.cjs.js.map +0 -1
  616. package/dist/cjs/nv-fieldtext.entry.cjs.js.map +0 -1
  617. package/dist/cjs/nv-fieldtextarea.entry.cjs.js.map +0 -1
  618. package/dist/cjs/nv-fieldtime.entry.cjs.js.map +0 -1
  619. package/dist/cjs/nv-icon.entry.cjs.js.map +0 -1
  620. package/dist/cjs/nv-iconbutton.nv-loader.entry.cjs.js.map +0 -1
  621. package/dist/cjs/nv-menu.entry.cjs.js.map +0 -1
  622. package/dist/cjs/nv-menuitem.entry.cjs.js.map +0 -1
  623. package/dist/cjs/nv-notification-bullet.entry.cjs.js.map +0 -1
  624. package/dist/cjs/nv-notification.entry.cjs.js.map +0 -1
  625. package/dist/cjs/nv-notificationcontainer.entry.cjs.js.map +0 -1
  626. package/dist/cjs/nv-popover.entry.cjs.js.map +0 -1
  627. package/dist/cjs/nv-row.entry.cjs.js.map +0 -1
  628. package/dist/cjs/nv-sidebar.entry.cjs.js.map +0 -1
  629. package/dist/cjs/nv-sidebarcontent.entry.cjs.js.map +0 -1
  630. package/dist/cjs/nv-sidebardivider.entry.cjs.js.map +0 -1
  631. package/dist/cjs/nv-sidebarfooter.entry.cjs.js.map +0 -1
  632. package/dist/cjs/nv-sidebargroup.entry.cjs.js.map +0 -1
  633. package/dist/cjs/nv-sidebarheader.entry.cjs.js.map +0 -1
  634. package/dist/cjs/nv-sidebarlogo.entry.cjs.js.map +0 -1
  635. package/dist/cjs/nv-sidebarnavitem.entry.cjs.js.map +0 -1
  636. package/dist/cjs/nv-sidebarnavsubitem.entry.cjs.js.map +0 -1
  637. package/dist/cjs/nv-split.entry.cjs.js.map +0 -1
  638. package/dist/cjs/nv-stack.entry.cjs.js.map +0 -1
  639. package/dist/cjs/nv-table.entry.cjs.js.map +0 -1
  640. package/dist/cjs/nv-tableheader.entry.cjs.js.map +0 -1
  641. package/dist/cjs/nv-toggle.entry.cjs.js.map +0 -1
  642. package/dist/cjs/nv-togglebutton.entry.cjs.js.map +0 -1
  643. package/dist/cjs/nv-togglebuttongroup.entry.cjs.js.map +0 -1
  644. package/dist/cjs/nv-tooltip.entry.cjs.js.map +0 -1
  645. package/dist/cjs/slide.animation-Cb3tpLQv.js.map +0 -1
  646. package/dist/cjs/style-value-types.es-B1vLqX9m.js.map +0 -1
  647. package/dist/cjs/timeline.animation-KteJaZPb.js.map +0 -1
  648. package/dist/cjs/uri.utils-DiMLQx64.js.map +0 -1
  649. package/dist/cjs/v4-C1vaJ4yP.js.map +0 -1
  650. package/dist/collection/animations/collapse.animation.js.map +0 -1
  651. package/dist/collection/animations/fade.animation.js.map +0 -1
  652. package/dist/collection/animations/grow.animation.js.map +0 -1
  653. package/dist/collection/animations/index.js.map +0 -1
  654. package/dist/collection/animations/slide.animation.js.map +0 -1
  655. package/dist/collection/animations/timeline.animation.js.map +0 -1
  656. package/dist/collection/components/nv-accordion/nv-accordion.docs.js.map +0 -1
  657. package/dist/collection/components/nv-accordion/nv-accordion.js.map +0 -1
  658. package/dist/collection/components/nv-accordion-item/nv-accordion-item.docs.js.map +0 -1
  659. package/dist/collection/components/nv-accordion-item/nv-accordion-item.js.map +0 -1
  660. package/dist/collection/components/nv-alert/nv-alert.docs.js.map +0 -1
  661. package/dist/collection/components/nv-alert/nv-alert.js.map +0 -1
  662. package/dist/collection/components/nv-avatar/nv-avatar.docs.js.map +0 -1
  663. package/dist/collection/components/nv-avatar/nv-avatar.js.map +0 -1
  664. package/dist/collection/components/nv-badge/nv-badge.docs.js.map +0 -1
  665. package/dist/collection/components/nv-badge/nv-badge.js.map +0 -1
  666. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.docs.js.map +0 -1
  667. package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js.map +0 -1
  668. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js.map +0 -1
  669. package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js.map +0 -1
  670. package/dist/collection/components/nv-button/nv-button.docs.js.map +0 -1
  671. package/dist/collection/components/nv-button/nv-button.js.map +0 -1
  672. package/dist/collection/components/nv-buttongroup/nv-buttongroup.docs.js.map +0 -1
  673. package/dist/collection/components/nv-buttongroup/nv-buttongroup.js.map +0 -1
  674. package/dist/collection/components/nv-buttongroup/nv-buttongroup.utils.js.map +0 -1
  675. package/dist/collection/components/nv-buttongroup/test/nv-buttongroup.utils.test.js.map +0 -1
  676. package/dist/collection/components/nv-calendar/nv-calendar.docs.js.map +0 -1
  677. package/dist/collection/components/nv-calendar/nv-calendar.js.map +0 -1
  678. package/dist/collection/components/nv-calendar/nv-calendar.utils.js.map +0 -1
  679. package/dist/collection/components/nv-calendar/partials/calendar-actions.js.map +0 -1
  680. package/dist/collection/components/nv-calendar/partials/calendar-grid.js.map +0 -1
  681. package/dist/collection/components/nv-calendar/partials/calendar-header.js.map +0 -1
  682. package/dist/collection/components/nv-calendar/partials/calendar-shortcuts.js.map +0 -1
  683. package/dist/collection/components/nv-calendar/partials/day-cell.js.map +0 -1
  684. package/dist/collection/components/nv-calendar/partials/index.js.map +0 -1
  685. package/dist/collection/components/nv-calendar/partials/week-numbers.js.map +0 -1
  686. package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js.map +0 -1
  687. package/dist/collection/components/nv-calendar/test/partials/calendar-actions.logic.test.js.map +0 -1
  688. package/dist/collection/components/nv-calendar/test/partials/calendar-grid.logic.test.js.map +0 -1
  689. package/dist/collection/components/nv-calendar/test/partials/calendar-header.logic.test.js.map +0 -1
  690. package/dist/collection/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.js.map +0 -1
  691. package/dist/collection/components/nv-calendar/test/partials/day-cell.logic.test.js.map +0 -1
  692. package/dist/collection/components/nv-calendar/test/partials/week-numbers.logic.test.js.map +0 -1
  693. package/dist/collection/components/nv-col/nv-col.docs.js.map +0 -1
  694. package/dist/collection/components/nv-col/nv-col.js.map +0 -1
  695. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +0 -1
  696. package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +0 -1
  697. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.docs.js.map +0 -1
  698. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js.map +0 -1
  699. package/dist/collection/components/nv-dialog/nv-dialog.docs.js.map +0 -1
  700. package/dist/collection/components/nv-dialog/nv-dialog.js.map +0 -1
  701. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.docs.js.map +0 -1
  702. package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js.map +0 -1
  703. package/dist/collection/components/nv-dialogheader/nv-dialogheader.docs.js.map +0 -1
  704. package/dist/collection/components/nv-dialogheader/nv-dialogheader.js.map +0 -1
  705. package/dist/collection/components/nv-drawer/nv-drawer.docs.js.map +0 -1
  706. package/dist/collection/components/nv-drawer/nv-drawer.js.map +0 -1
  707. package/dist/collection/components/nv-drawerfooter/nv-drawerfooter.docs.js.map +0 -1
  708. package/dist/collection/components/nv-drawerfooter/nv-drawerfooter.js.map +0 -1
  709. package/dist/collection/components/nv-drawerheader/nv-drawerheader.docs.js.map +0 -1
  710. package/dist/collection/components/nv-drawerheader/nv-drawerheader.js.map +0 -1
  711. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.js.map +0 -1
  712. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js.map +0 -1
  713. package/dist/collection/components/nv-fielddate/nv-fielddate.docs.js.map +0 -1
  714. package/dist/collection/components/nv-fielddate/nv-fielddate.js.map +0 -1
  715. package/dist/collection/components/nv-fielddate/test/nv-fielddate.logic.test.js.map +0 -1
  716. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.docs.js.map +0 -1
  717. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +0 -1
  718. package/dist/collection/components/nv-fielddaterange/test/nv-fielddaterange.logic.test.js.map +0 -1
  719. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +0 -1
  720. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +0 -1
  721. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.docs.js.map +0 -1
  722. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js.map +0 -1
  723. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.docs.js.map +0 -1
  724. package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js.map +0 -1
  725. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js.map +0 -1
  726. package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +0 -1
  727. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js.map +0 -1
  728. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +0 -1
  729. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js.map +0 -1
  730. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js.map +0 -1
  731. package/dist/collection/components/nv-fieldradio/nv-fieldradio.docs.js.map +0 -1
  732. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js.map +0 -1
  733. package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js.map +0 -1
  734. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js.map +0 -1
  735. package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js.map +0 -1
  736. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js.map +0 -1
  737. package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js.map +0 -1
  738. package/dist/collection/components/nv-fieldslider/partials/field-input.js.map +0 -1
  739. package/dist/collection/components/nv-fieldslider/partials/range-thumb.js.map +0 -1
  740. package/dist/collection/components/nv-fieldslider/partials/single-thumb.js.map +0 -1
  741. package/dist/collection/components/nv-fieldslider/partials/tick-marks.js.map +0 -1
  742. package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js.map +0 -1
  743. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +0 -1
  744. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +0 -1
  745. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js.map +0 -1
  746. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js.map +0 -1
  747. package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js.map +0 -1
  748. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js.map +0 -1
  749. package/dist/collection/components/nv-fieldtime/utils/format-utils.js.map +0 -1
  750. package/dist/collection/components/nv-icon/nv-icon.docs.js.map +0 -1
  751. package/dist/collection/components/nv-icon/nv-icon.js.map +0 -1
  752. package/dist/collection/components/nv-icon/nv-icons.js.map +0 -1
  753. package/dist/collection/components/nv-iconbutton/nv-iconbutton.docs.js.map +0 -1
  754. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js.map +0 -1
  755. package/dist/collection/components/nv-loader/nv-loader.docs.js.map +0 -1
  756. package/dist/collection/components/nv-loader/nv-loader.js.map +0 -1
  757. package/dist/collection/components/nv-menu/nv-menu.docs.js.map +0 -1
  758. package/dist/collection/components/nv-menu/nv-menu.js.map +0 -1
  759. package/dist/collection/components/nv-menuitem/nv-menuitem.docs.js.map +0 -1
  760. package/dist/collection/components/nv-menuitem/nv-menuitem.js.map +0 -1
  761. package/dist/collection/components/nv-notification/nv-notification.docs.js.map +0 -1
  762. package/dist/collection/components/nv-notification/nv-notification.js.map +0 -1
  763. package/dist/collection/components/nv-notification-bullet/nv-notification-bullet.docs.js.map +0 -1
  764. package/dist/collection/components/nv-notification-bullet/nv-notification-bullet.js.map +0 -1
  765. package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.docs.js.map +0 -1
  766. package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.js.map +0 -1
  767. package/dist/collection/components/nv-popover/nv-popover.docs.js.map +0 -1
  768. package/dist/collection/components/nv-popover/nv-popover.js.map +0 -1
  769. package/dist/collection/components/nv-row/nv-row.docs.js.map +0 -1
  770. package/dist/collection/components/nv-row/nv-row.js.map +0 -1
  771. package/dist/collection/components/nv-sidebar/nv-sidebar.docs.js.map +0 -1
  772. package/dist/collection/components/nv-sidebar/nv-sidebar.js.map +0 -1
  773. package/dist/collection/components/nv-sidebarcontent/nv-sidebarcontent.docs.js.map +0 -1
  774. package/dist/collection/components/nv-sidebarcontent/nv-sidebarcontent.js.map +0 -1
  775. package/dist/collection/components/nv-sidebardivider/nv-sidebardivider.docs.js.map +0 -1
  776. package/dist/collection/components/nv-sidebardivider/nv-sidebardivider.js.map +0 -1
  777. package/dist/collection/components/nv-sidebarfooter/nv-sidebarfooter.docs.js.map +0 -1
  778. package/dist/collection/components/nv-sidebarfooter/nv-sidebarfooter.js.map +0 -1
  779. package/dist/collection/components/nv-sidebargroup/nv-sidebargroup.docs.js.map +0 -1
  780. package/dist/collection/components/nv-sidebargroup/nv-sidebargroup.js.map +0 -1
  781. package/dist/collection/components/nv-sidebarheader/nv-sidebarheader.docs.js.map +0 -1
  782. package/dist/collection/components/nv-sidebarheader/nv-sidebarheader.js.map +0 -1
  783. package/dist/collection/components/nv-sidebarlogo/nv-sidebarlogo.docs.js.map +0 -1
  784. package/dist/collection/components/nv-sidebarlogo/nv-sidebarlogo.js.map +0 -1
  785. package/dist/collection/components/nv-sidebarnavitem/nv-sidebarnavitem.docs.js.map +0 -1
  786. package/dist/collection/components/nv-sidebarnavitem/nv-sidebarnavitem.js.map +0 -1
  787. package/dist/collection/components/nv-sidebarnavsubitem/nv-sidebarnavsubitem.docs.js.map +0 -1
  788. package/dist/collection/components/nv-sidebarnavsubitem/nv-sidebarnavsubitem.js.map +0 -1
  789. package/dist/collection/components/nv-split/nv-split.docs.js.map +0 -1
  790. package/dist/collection/components/nv-split/nv-split.js.map +0 -1
  791. package/dist/collection/components/nv-stack/nv-stack.docs.js.map +0 -1
  792. package/dist/collection/components/nv-stack/nv-stack.js.map +0 -1
  793. package/dist/collection/components/nv-table/nv-table.docs.js.map +0 -1
  794. package/dist/collection/components/nv-table/nv-table.js.map +0 -1
  795. package/dist/collection/components/nv-table/nv-table.utils.js.map +0 -1
  796. package/dist/collection/components/nv-table/test/nv-table.utils.test.js.map +0 -1
  797. package/dist/collection/components/nv-tableheader/nv-tableheader.docs.js.map +0 -1
  798. package/dist/collection/components/nv-tableheader/nv-tableheader.js.map +0 -1
  799. package/dist/collection/components/nv-toggle/nv-toggle.docs.js.map +0 -1
  800. package/dist/collection/components/nv-toggle/nv-toggle.js.map +0 -1
  801. package/dist/collection/components/nv-togglebutton/nv-togglebutton.docs.js.map +0 -1
  802. package/dist/collection/components/nv-togglebutton/nv-togglebutton.js.map +0 -1
  803. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js.map +0 -1
  804. package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js.map +0 -1
  805. package/dist/collection/components/nv-tooltip/nv-tooltip.docs.js.map +0 -1
  806. package/dist/collection/components/nv-tooltip/nv-tooltip.js.map +0 -1
  807. package/dist/collection/index.js.map +0 -1
  808. package/dist/collection/interfaces/Column.js.map +0 -1
  809. package/dist/collection/interfaces/ColumnConfig.js.map +0 -1
  810. package/dist/collection/interfaces/localization.js.map +0 -1
  811. package/dist/collection/templates/navigation.docs.js.map +0 -1
  812. package/dist/collection/utils/class.utils.js.map +0 -1
  813. package/dist/collection/utils/constants.js.map +0 -1
  814. package/dist/collection/utils/dom.utils.js.map +0 -1
  815. package/dist/collection/utils/events.utils.js.map +0 -1
  816. package/dist/collection/utils/i18n.utils.js.map +0 -1
  817. package/dist/collection/utils/input.utils.js.map +0 -1
  818. package/dist/collection/utils/search-engine/engine.js.map +0 -1
  819. package/dist/collection/utils/search-engine/guards.js.map +0 -1
  820. package/dist/collection/utils/search-engine/index.js.map +0 -1
  821. package/dist/collection/utils/search-engine/indexer.js.map +0 -1
  822. package/dist/collection/utils/search-engine/normalize.js.map +0 -1
  823. package/dist/collection/utils/search-engine/strategies/fuzzy.js.map +0 -1
  824. package/dist/collection/utils/search-engine/strategies/smart.js.map +0 -1
  825. package/dist/collection/utils/search-engine/strategies/strict.js.map +0 -1
  826. package/dist/collection/utils/search-engine/test/engine.test.js.map +0 -1
  827. package/dist/collection/utils/search-engine/test/guards.test.js.map +0 -1
  828. package/dist/collection/utils/search-engine/test/indexer.test.js.map +0 -1
  829. package/dist/collection/utils/search-engine/test/normalize.test.js.map +0 -1
  830. package/dist/collection/utils/search-engine/test/strategies.test.js.map +0 -1
  831. package/dist/collection/utils/search-engine/types.js.map +0 -1
  832. package/dist/collection/utils/search-engine/worker/index.js.map +0 -1
  833. package/dist/collection/utils/search-engine/worker/search.worker.js.map +0 -1
  834. package/dist/collection/utils/search-engine/worker/worker-client.js.map +0 -1
  835. package/dist/collection/utils/string.utils.js.map +0 -1
  836. package/dist/collection/utils/test/class.utils.test.js.map +0 -1
  837. package/dist/collection/utils/test/dom.utils.test.js.map +0 -1
  838. package/dist/collection/utils/test/i18n.utils.test.js.map +0 -1
  839. package/dist/collection/utils/test/input.utils.test.js.map +0 -1
  840. package/dist/collection/utils/test/uri.utils.test.js.map +0 -1
  841. package/dist/collection/utils/uri.utils.js.map +0 -1
  842. package/dist/components/index.js.map +0 -1
  843. package/dist/components/nv-accordion-item.js.map +0 -1
  844. package/dist/components/nv-accordion.js.map +0 -1
  845. package/dist/components/nv-alert.js.map +0 -1
  846. package/dist/components/nv-avatar.js.map +0 -1
  847. package/dist/components/nv-badge.js.map +0 -1
  848. package/dist/components/nv-breadcrumb.js.map +0 -1
  849. package/dist/components/nv-breadcrumbs.js.map +0 -1
  850. package/dist/components/nv-button.js.map +0 -1
  851. package/dist/components/nv-buttongroup.js.map +0 -1
  852. package/dist/components/nv-calendar.js.map +0 -1
  853. package/dist/components/nv-col.js.map +0 -1
  854. package/dist/components/nv-datagrid.js.map +0 -1
  855. package/dist/components/nv-datagridcolumn.js.map +0 -1
  856. package/dist/components/nv-dialog.js.map +0 -1
  857. package/dist/components/nv-dialogfooter.js.map +0 -1
  858. package/dist/components/nv-dialogheader.js.map +0 -1
  859. package/dist/components/nv-drawer.js.map +0 -1
  860. package/dist/components/nv-drawerfooter.js.map +0 -1
  861. package/dist/components/nv-drawerheader.js.map +0 -1
  862. package/dist/components/nv-fieldcheckbox.js.map +0 -1
  863. package/dist/components/nv-fielddate.js.map +0 -1
  864. package/dist/components/nv-fielddaterange.js.map +0 -1
  865. package/dist/components/nv-fielddropdown.js.map +0 -1
  866. package/dist/components/nv-fielddropdownitem.js.map +0 -1
  867. package/dist/components/nv-fielddropdownitemcheck.js.map +0 -1
  868. package/dist/components/nv-fieldmultiselect.js.map +0 -1
  869. package/dist/components/nv-fieldnumber.js.map +0 -1
  870. package/dist/components/nv-fieldpassword.js.map +0 -1
  871. package/dist/components/nv-fieldradio.js.map +0 -1
  872. package/dist/components/nv-fieldselect.js.map +0 -1
  873. package/dist/components/nv-fieldslider.js.map +0 -1
  874. package/dist/components/nv-fieldtext.js.map +0 -1
  875. package/dist/components/nv-fieldtextarea.js.map +0 -1
  876. package/dist/components/nv-fieldtime.js.map +0 -1
  877. package/dist/components/nv-icon.js.map +0 -1
  878. package/dist/components/nv-iconbutton.js.map +0 -1
  879. package/dist/components/nv-loader.js.map +0 -1
  880. package/dist/components/nv-menu.js.map +0 -1
  881. package/dist/components/nv-menuitem.js.map +0 -1
  882. package/dist/components/nv-notification-bullet.js.map +0 -1
  883. package/dist/components/nv-notification.js.map +0 -1
  884. package/dist/components/nv-notificationcontainer.js.map +0 -1
  885. package/dist/components/nv-popover.js.map +0 -1
  886. package/dist/components/nv-row.js.map +0 -1
  887. package/dist/components/nv-sidebar.js.map +0 -1
  888. package/dist/components/nv-sidebarcontent.js.map +0 -1
  889. package/dist/components/nv-sidebardivider.js.map +0 -1
  890. package/dist/components/nv-sidebarfooter.js.map +0 -1
  891. package/dist/components/nv-sidebargroup.js.map +0 -1
  892. package/dist/components/nv-sidebarheader.js.map +0 -1
  893. package/dist/components/nv-sidebarlogo.js.map +0 -1
  894. package/dist/components/nv-sidebarnavitem.js.map +0 -1
  895. package/dist/components/nv-sidebarnavsubitem.js.map +0 -1
  896. package/dist/components/nv-split.js.map +0 -1
  897. package/dist/components/nv-stack.js.map +0 -1
  898. package/dist/components/nv-table.js.map +0 -1
  899. package/dist/components/nv-tableheader.js.map +0 -1
  900. package/dist/components/nv-toggle.js.map +0 -1
  901. package/dist/components/nv-togglebutton.js.map +0 -1
  902. package/dist/components/nv-togglebuttongroup.js.map +0 -1
  903. package/dist/components/nv-tooltip.js.map +0 -1
  904. package/dist/components/p-9xYwU7ku.js.map +0 -1
  905. package/dist/components/p-B45HbBWe.js +0 -191
  906. package/dist/components/p-B45HbBWe.js.map +0 -1
  907. package/dist/components/p-B5jN7NKA.js +0 -59
  908. package/dist/components/p-B5jN7NKA.js.map +0 -1
  909. package/dist/components/p-B6GgGra-.js.map +0 -1
  910. package/dist/components/p-B7VlEQVW.js +0 -1475
  911. package/dist/components/p-B7VlEQVW.js.map +0 -1
  912. package/dist/components/p-B9i3m6rk.js +0 -1941
  913. package/dist/components/p-B9i3m6rk.js.map +0 -1
  914. package/dist/components/p-BILd3Ta-.js +0 -209
  915. package/dist/components/p-BILd3Ta-.js.map +0 -1
  916. package/dist/components/p-BISctfud.js +0 -214
  917. package/dist/components/p-BISctfud.js.map +0 -1
  918. package/dist/components/p-BReL3Lsa.js.map +0 -1
  919. package/dist/components/p-BVOv1zgq.js +0 -82
  920. package/dist/components/p-BVOv1zgq.js.map +0 -1
  921. package/dist/components/p-BdYh22OP.js.map +0 -1
  922. package/dist/components/p-Bg_l3jn1.js +0 -191
  923. package/dist/components/p-Bg_l3jn1.js.map +0 -1
  924. package/dist/components/p-C2QAWGhf.js +0 -88
  925. package/dist/components/p-C2QAWGhf.js.map +0 -1
  926. package/dist/components/p-C63Xpg9a.js +0 -2338
  927. package/dist/components/p-C63Xpg9a.js.map +0 -1
  928. package/dist/components/p-COnt5ux_.js +0 -51
  929. package/dist/components/p-COnt5ux_.js.map +0 -1
  930. package/dist/components/p-Cc7XnqPp.js +0 -260
  931. package/dist/components/p-Cc7XnqPp.js.map +0 -1
  932. package/dist/components/p-CgHCo_Ho.js.map +0 -1
  933. package/dist/components/p-ChV9xqsO.js.map +0 -1
  934. package/dist/components/p-CnI0auJM.js.map +0 -1
  935. package/dist/components/p-D02w_Ru6.js.map +0 -1
  936. package/dist/components/p-D1C_pu0E.js.map +0 -1
  937. package/dist/components/p-D2otK4Ce.js.map +0 -1
  938. package/dist/components/p-D3eWMME9.js.map +0 -1
  939. package/dist/components/p-D6APFL6N.js +0 -243
  940. package/dist/components/p-D6APFL6N.js.map +0 -1
  941. package/dist/components/p-DZJHk4fr.js +0 -3759
  942. package/dist/components/p-DZJHk4fr.js.map +0 -1
  943. package/dist/components/p-DiUP3TzF.js +0 -140
  944. package/dist/components/p-DiUP3TzF.js.map +0 -1
  945. package/dist/components/p-DpDooigg.js +0 -99
  946. package/dist/components/p-DpDooigg.js.map +0 -1
  947. package/dist/components/p-Dr-67WvG.js +0 -94
  948. package/dist/components/p-Dr-67WvG.js.map +0 -1
  949. package/dist/components/p-DvapDVBj.js +0 -176
  950. package/dist/components/p-DvapDVBj.js.map +0 -1
  951. package/dist/components/p-Dz1GUhVy.js.map +0 -1
  952. package/dist/components/p-IlwlcG9l.js.map +0 -1
  953. package/dist/components/p-W6vOfMC9.js +0 -63
  954. package/dist/components/p-W6vOfMC9.js.map +0 -1
  955. package/dist/components/p-nfYynlVq.js +0 -90
  956. package/dist/components/p-nfYynlVq.js.map +0 -1
  957. package/dist/components/p-tyaJ-nGV.js +0 -97
  958. package/dist/components/p-tyaJ-nGV.js.map +0 -1
  959. package/dist/components/p-u-maNLLs.js +0 -145
  960. package/dist/components/p-u-maNLLs.js.map +0 -1
  961. package/dist/esm/_commonjsHelpers-B85MJLTf.js.map +0 -1
  962. package/dist/esm/app-globals-DQuL1Twl.js +0 -6
  963. package/dist/esm/app-globals-DQuL1Twl.js.map +0 -1
  964. package/dist/esm/clsx-ChV9xqsO.js.map +0 -1
  965. package/dist/esm/collapse.animation-DZDm0vSK.js.map +0 -1
  966. package/dist/esm/constants-BReL3Lsa.js.map +0 -1
  967. package/dist/esm/events.utils-B6GgGra-.js.map +0 -1
  968. package/dist/esm/fade.animation-DcRL9lcm.js.map +0 -1
  969. package/dist/esm/grow.animation-D7ep_aVl.js.map +0 -1
  970. package/dist/esm/i18n.utils-IlwlcG9l.js.map +0 -1
  971. package/dist/esm/index-CasQushP.js +0 -2811
  972. package/dist/esm/index-CasQushP.js.map +0 -1
  973. package/dist/esm/index.esm-D3eWMME9.js.map +0 -1
  974. package/dist/esm/index.js.map +0 -1
  975. package/dist/esm/inputmask-CSo292ul.js.map +0 -1
  976. package/dist/esm/loader.js.map +0 -1
  977. package/dist/esm/native.js.map +0 -1
  978. package/dist/esm/nv-accordion-item.entry.js.map +0 -1
  979. package/dist/esm/nv-accordion.entry.js.map +0 -1
  980. package/dist/esm/nv-alert.entry.js.map +0 -1
  981. package/dist/esm/nv-avatar.entry.js.map +0 -1
  982. package/dist/esm/nv-badge.nv-fielddropdownitemcheck.entry.js.map +0 -1
  983. package/dist/esm/nv-breadcrumb.entry.js.map +0 -1
  984. package/dist/esm/nv-breadcrumbs.entry.js.map +0 -1
  985. package/dist/esm/nv-button.entry.js.map +0 -1
  986. package/dist/esm/nv-buttongroup.entry.js.map +0 -1
  987. package/dist/esm/nv-calendar.entry.js.map +0 -1
  988. package/dist/esm/nv-col.entry.js.map +0 -1
  989. package/dist/esm/nv-datagrid.entry.js.map +0 -1
  990. package/dist/esm/nv-datagridcolumn.entry.js.map +0 -1
  991. package/dist/esm/nv-dialog.entry.js.map +0 -1
  992. package/dist/esm/nv-dialogfooter.nv-dialogheader.entry.js.map +0 -1
  993. package/dist/esm/nv-drawer.entry.js.map +0 -1
  994. package/dist/esm/nv-drawerfooter.nv-drawerheader.entry.js.map +0 -1
  995. package/dist/esm/nv-fieldcheckbox.entry.js.map +0 -1
  996. package/dist/esm/nv-fielddate.entry.js.map +0 -1
  997. package/dist/esm/nv-fielddaterange.entry.js.map +0 -1
  998. package/dist/esm/nv-fielddropdown.entry.js.map +0 -1
  999. package/dist/esm/nv-fielddropdownitem.entry.js.map +0 -1
  1000. package/dist/esm/nv-fieldmultiselect.entry.js.map +0 -1
  1001. package/dist/esm/nv-fieldnumber.entry.js.map +0 -1
  1002. package/dist/esm/nv-fieldpassword.entry.js.map +0 -1
  1003. package/dist/esm/nv-fieldradio.entry.js.map +0 -1
  1004. package/dist/esm/nv-fieldselect.entry.js.map +0 -1
  1005. package/dist/esm/nv-fieldslider.entry.js.map +0 -1
  1006. package/dist/esm/nv-fieldtext.entry.js.map +0 -1
  1007. package/dist/esm/nv-fieldtextarea.entry.js.map +0 -1
  1008. package/dist/esm/nv-fieldtime.entry.js.map +0 -1
  1009. package/dist/esm/nv-icon.entry.js.map +0 -1
  1010. package/dist/esm/nv-iconbutton.nv-loader.entry.js.map +0 -1
  1011. package/dist/esm/nv-menu.entry.js.map +0 -1
  1012. package/dist/esm/nv-menuitem.entry.js.map +0 -1
  1013. package/dist/esm/nv-notification-bullet.entry.js.map +0 -1
  1014. package/dist/esm/nv-notification.entry.js.map +0 -1
  1015. package/dist/esm/nv-notificationcontainer.entry.js.map +0 -1
  1016. package/dist/esm/nv-popover.entry.js.map +0 -1
  1017. package/dist/esm/nv-row.entry.js.map +0 -1
  1018. package/dist/esm/nv-sidebar.entry.js.map +0 -1
  1019. package/dist/esm/nv-sidebarcontent.entry.js.map +0 -1
  1020. package/dist/esm/nv-sidebardivider.entry.js.map +0 -1
  1021. package/dist/esm/nv-sidebarfooter.entry.js.map +0 -1
  1022. package/dist/esm/nv-sidebargroup.entry.js.map +0 -1
  1023. package/dist/esm/nv-sidebarheader.entry.js.map +0 -1
  1024. package/dist/esm/nv-sidebarlogo.entry.js.map +0 -1
  1025. package/dist/esm/nv-sidebarnavitem.entry.js.map +0 -1
  1026. package/dist/esm/nv-sidebarnavsubitem.entry.js.map +0 -1
  1027. package/dist/esm/nv-split.entry.js.map +0 -1
  1028. package/dist/esm/nv-stack.entry.js.map +0 -1
  1029. package/dist/esm/nv-table.entry.js.map +0 -1
  1030. package/dist/esm/nv-tableheader.entry.js.map +0 -1
  1031. package/dist/esm/nv-toggle.entry.js.map +0 -1
  1032. package/dist/esm/nv-togglebutton.entry.js.map +0 -1
  1033. package/dist/esm/nv-togglebuttongroup.entry.js.map +0 -1
  1034. package/dist/esm/nv-tooltip.entry.js.map +0 -1
  1035. package/dist/esm/slide.animation-CmH5d1of.js.map +0 -1
  1036. package/dist/esm/style-value-types.es-xlgmw4x8.js.map +0 -1
  1037. package/dist/esm/timeline.animation-CgHCo_Ho.js.map +0 -1
  1038. package/dist/esm/uri.utils-CnI0auJM.js.map +0 -1
  1039. package/dist/esm/v4-BdYh22OP.js.map +0 -1
  1040. package/dist/lib/generators/angular-output.js.map +0 -1
  1041. package/dist/lib/generators/docs-blazor.js.map +0 -1
  1042. package/dist/lib/generators/vue-output.js.map +0 -1
  1043. package/dist/lib/utils/componentBinding.js.map +0 -1
  1044. package/dist/lib/utils/parseToCSharpTypes.js.map +0 -1
  1045. package/dist/lib/utils/spread.js.map +0 -1
  1046. package/dist/lib/utils/test/parseToCSharpTypes.test.js.map +0 -1
  1047. package/dist/native/index.esm.js.map +0 -1
  1048. package/dist/native/loader.esm.js.map +0 -1
  1049. package/dist/native/native.esm.js.map +0 -1
  1050. package/dist/native/nv-accordion-item.entry.esm.js.map +0 -1
  1051. package/dist/native/nv-accordion.entry.esm.js.map +0 -1
  1052. package/dist/native/nv-alert.entry.esm.js.map +0 -1
  1053. package/dist/native/nv-avatar.entry.esm.js.map +0 -1
  1054. package/dist/native/nv-badge.nv-fielddropdownitemcheck.entry.esm.js.map +0 -1
  1055. package/dist/native/nv-breadcrumb.entry.esm.js.map +0 -1
  1056. package/dist/native/nv-breadcrumbs.entry.esm.js.map +0 -1
  1057. package/dist/native/nv-button.entry.esm.js.map +0 -1
  1058. package/dist/native/nv-buttongroup.entry.esm.js.map +0 -1
  1059. package/dist/native/nv-calendar.entry.esm.js.map +0 -1
  1060. package/dist/native/nv-col.entry.esm.js.map +0 -1
  1061. package/dist/native/nv-datagrid.entry.esm.js.map +0 -1
  1062. package/dist/native/nv-datagridcolumn.entry.esm.js.map +0 -1
  1063. package/dist/native/nv-dialog.entry.esm.js.map +0 -1
  1064. package/dist/native/nv-dialogfooter.nv-dialogheader.entry.esm.js.map +0 -1
  1065. package/dist/native/nv-drawer.entry.esm.js.map +0 -1
  1066. package/dist/native/nv-drawerfooter.nv-drawerheader.entry.esm.js.map +0 -1
  1067. package/dist/native/nv-fieldcheckbox.entry.esm.js.map +0 -1
  1068. package/dist/native/nv-fielddate.entry.esm.js.map +0 -1
  1069. package/dist/native/nv-fielddaterange.entry.esm.js.map +0 -1
  1070. package/dist/native/nv-fielddropdown.entry.esm.js.map +0 -1
  1071. package/dist/native/nv-fielddropdownitem.entry.esm.js.map +0 -1
  1072. package/dist/native/nv-fieldmultiselect.entry.esm.js.map +0 -1
  1073. package/dist/native/nv-fieldnumber.entry.esm.js.map +0 -1
  1074. package/dist/native/nv-fieldpassword.entry.esm.js.map +0 -1
  1075. package/dist/native/nv-fieldradio.entry.esm.js.map +0 -1
  1076. package/dist/native/nv-fieldselect.entry.esm.js.map +0 -1
  1077. package/dist/native/nv-fieldslider.entry.esm.js.map +0 -1
  1078. package/dist/native/nv-fieldtext.entry.esm.js.map +0 -1
  1079. package/dist/native/nv-fieldtextarea.entry.esm.js.map +0 -1
  1080. package/dist/native/nv-fieldtime.entry.esm.js.map +0 -1
  1081. package/dist/native/nv-icon.entry.esm.js.map +0 -1
  1082. package/dist/native/nv-iconbutton.nv-loader.entry.esm.js.map +0 -1
  1083. package/dist/native/nv-menu.entry.esm.js.map +0 -1
  1084. package/dist/native/nv-menuitem.entry.esm.js.map +0 -1
  1085. package/dist/native/nv-notification-bullet.entry.esm.js.map +0 -1
  1086. package/dist/native/nv-notification.entry.esm.js.map +0 -1
  1087. package/dist/native/nv-notificationcontainer.entry.esm.js.map +0 -1
  1088. package/dist/native/nv-popover.entry.esm.js.map +0 -1
  1089. package/dist/native/nv-row.entry.esm.js.map +0 -1
  1090. package/dist/native/nv-sidebar.entry.esm.js.map +0 -1
  1091. package/dist/native/nv-sidebarcontent.entry.esm.js.map +0 -1
  1092. package/dist/native/nv-sidebardivider.entry.esm.js.map +0 -1
  1093. package/dist/native/nv-sidebarfooter.entry.esm.js.map +0 -1
  1094. package/dist/native/nv-sidebargroup.entry.esm.js.map +0 -1
  1095. package/dist/native/nv-sidebarheader.entry.esm.js.map +0 -1
  1096. package/dist/native/nv-sidebarlogo.entry.esm.js.map +0 -1
  1097. package/dist/native/nv-sidebarnavitem.entry.esm.js.map +0 -1
  1098. package/dist/native/nv-sidebarnavsubitem.entry.esm.js.map +0 -1
  1099. package/dist/native/nv-split.entry.esm.js.map +0 -1
  1100. package/dist/native/nv-stack.entry.esm.js.map +0 -1
  1101. package/dist/native/nv-table.entry.esm.js.map +0 -1
  1102. package/dist/native/nv-tableheader.entry.esm.js.map +0 -1
  1103. package/dist/native/nv-toggle.entry.esm.js.map +0 -1
  1104. package/dist/native/nv-togglebutton.entry.esm.js.map +0 -1
  1105. package/dist/native/nv-togglebuttongroup.entry.esm.js.map +0 -1
  1106. package/dist/native/nv-tooltip.entry.esm.js.map +0 -1
  1107. package/dist/native/p-02e6228a.entry.js +0 -2
  1108. package/dist/native/p-02e6228a.entry.js.map +0 -1
  1109. package/dist/native/p-04a2fe7f.entry.js +0 -2
  1110. package/dist/native/p-04a2fe7f.entry.js.map +0 -1
  1111. package/dist/native/p-08204da4.entry.js +0 -2
  1112. package/dist/native/p-08204da4.entry.js.map +0 -1
  1113. package/dist/native/p-0e07b91b.entry.js +0 -2
  1114. package/dist/native/p-0e07b91b.entry.js.map +0 -1
  1115. package/dist/native/p-136dfb3e.entry.js +0 -2
  1116. package/dist/native/p-136dfb3e.entry.js.map +0 -1
  1117. package/dist/native/p-13YSIyGW.js.map +0 -1
  1118. package/dist/native/p-1f2dd37f.entry.js +0 -2
  1119. package/dist/native/p-1f2dd37f.entry.js.map +0 -1
  1120. package/dist/native/p-255a0482.entry.js +0 -2
  1121. package/dist/native/p-255a0482.entry.js.map +0 -1
  1122. package/dist/native/p-3305a7e6.entry.js +0 -2
  1123. package/dist/native/p-3305a7e6.entry.js.map +0 -1
  1124. package/dist/native/p-36b0a6f0.entry.js +0 -2
  1125. package/dist/native/p-36b0a6f0.entry.js.map +0 -1
  1126. package/dist/native/p-434bc910.entry.js +0 -2
  1127. package/dist/native/p-434bc910.entry.js.map +0 -1
  1128. package/dist/native/p-436029a5.entry.js +0 -2
  1129. package/dist/native/p-436029a5.entry.js.map +0 -1
  1130. package/dist/native/p-460fdf02.entry.js +0 -2
  1131. package/dist/native/p-460fdf02.entry.js.map +0 -1
  1132. package/dist/native/p-477e02cf.entry.js +0 -2
  1133. package/dist/native/p-477e02cf.entry.js.map +0 -1
  1134. package/dist/native/p-4efb582b.entry.js +0 -2
  1135. package/dist/native/p-4efb582b.entry.js.map +0 -1
  1136. package/dist/native/p-4f1dfa32.entry.js +0 -2
  1137. package/dist/native/p-4f1dfa32.entry.js.map +0 -1
  1138. package/dist/native/p-50ce41ac.entry.js +0 -2
  1139. package/dist/native/p-50ce41ac.entry.js.map +0 -1
  1140. package/dist/native/p-51b7de55.entry.js +0 -13
  1141. package/dist/native/p-51b7de55.entry.js.map +0 -1
  1142. package/dist/native/p-5dd120dc.entry.js +0 -2
  1143. package/dist/native/p-5dd120dc.entry.js.map +0 -1
  1144. package/dist/native/p-60bb0d48.entry.js +0 -2
  1145. package/dist/native/p-60bb0d48.entry.js.map +0 -1
  1146. package/dist/native/p-67181258.entry.js +0 -2
  1147. package/dist/native/p-67181258.entry.js.map +0 -1
  1148. package/dist/native/p-6a81884b.entry.js +0 -2
  1149. package/dist/native/p-6a81884b.entry.js.map +0 -1
  1150. package/dist/native/p-6aa483de.entry.js +0 -2
  1151. package/dist/native/p-6aa483de.entry.js.map +0 -1
  1152. package/dist/native/p-6fc79712.entry.js +0 -2
  1153. package/dist/native/p-6fc79712.entry.js.map +0 -1
  1154. package/dist/native/p-70e9e067.entry.js +0 -2
  1155. package/dist/native/p-70e9e067.entry.js.map +0 -1
  1156. package/dist/native/p-729589cb.entry.js +0 -2
  1157. package/dist/native/p-729589cb.entry.js.map +0 -1
  1158. package/dist/native/p-78bf7650.entry.js +0 -2
  1159. package/dist/native/p-78bf7650.entry.js.map +0 -1
  1160. package/dist/native/p-7e6e9ea2.entry.js +0 -2
  1161. package/dist/native/p-7e6e9ea2.entry.js.map +0 -1
  1162. package/dist/native/p-8f1cd9e2.entry.js +0 -2
  1163. package/dist/native/p-8f1cd9e2.entry.js.map +0 -1
  1164. package/dist/native/p-910cd685.entry.js +0 -2
  1165. package/dist/native/p-910cd685.entry.js.map +0 -1
  1166. package/dist/native/p-91eaf02e.entry.js +0 -2
  1167. package/dist/native/p-91eaf02e.entry.js.map +0 -1
  1168. package/dist/native/p-93b77ed4.entry.js +0 -2
  1169. package/dist/native/p-93b77ed4.entry.js.map +0 -1
  1170. package/dist/native/p-93e35975.entry.js +0 -2
  1171. package/dist/native/p-93e35975.entry.js.map +0 -1
  1172. package/dist/native/p-96c45604.entry.js +0 -2
  1173. package/dist/native/p-96c45604.entry.js.map +0 -1
  1174. package/dist/native/p-9b6ad782.entry.js +0 -2
  1175. package/dist/native/p-9b6ad782.entry.js.map +0 -1
  1176. package/dist/native/p-9f32c3ea.entry.js +0 -2
  1177. package/dist/native/p-9f32c3ea.entry.js.map +0 -1
  1178. package/dist/native/p-B6GgGra-.js.map +0 -1
  1179. package/dist/native/p-B85MJLTf.js.map +0 -1
  1180. package/dist/native/p-BReL3Lsa.js.map +0 -1
  1181. package/dist/native/p-BdYh22OP.js.map +0 -1
  1182. package/dist/native/p-Blc6XEY7.js.map +0 -1
  1183. package/dist/native/p-CasQushP.js +0 -3
  1184. package/dist/native/p-CasQushP.js.map +0 -1
  1185. package/dist/native/p-CgHCo_Ho.js.map +0 -1
  1186. package/dist/native/p-ChV9xqsO.js.map +0 -1
  1187. package/dist/native/p-CnI0auJM.js.map +0 -1
  1188. package/dist/native/p-D3eWMME9.js.map +0 -1
  1189. package/dist/native/p-DQuL1Twl.js +0 -2
  1190. package/dist/native/p-DQuL1Twl.js.map +0 -1
  1191. package/dist/native/p-DmUOtOcY.js.map +0 -1
  1192. package/dist/native/p-Hfc8Oh0x.js.map +0 -1
  1193. package/dist/native/p-IlwlcG9l.js.map +0 -1
  1194. package/dist/native/p-a6fea322.entry.js +0 -2
  1195. package/dist/native/p-a6fea322.entry.js.map +0 -1
  1196. package/dist/native/p-ae279ae9.entry.js +0 -2
  1197. package/dist/native/p-ae279ae9.entry.js.map +0 -1
  1198. package/dist/native/p-b7765048.entry.js +0 -2
  1199. package/dist/native/p-b7765048.entry.js.map +0 -1
  1200. package/dist/native/p-ba1286aa.entry.js +0 -2
  1201. package/dist/native/p-ba1286aa.entry.js.map +0 -1
  1202. package/dist/native/p-bb52a5a9.entry.js +0 -2
  1203. package/dist/native/p-bb52a5a9.entry.js.map +0 -1
  1204. package/dist/native/p-bc90247e.entry.js +0 -2
  1205. package/dist/native/p-bc90247e.entry.js.map +0 -1
  1206. package/dist/native/p-c2a73a5a.entry.js +0 -2
  1207. package/dist/native/p-c2a73a5a.entry.js.map +0 -1
  1208. package/dist/native/p-c4c11549.entry.js +0 -2
  1209. package/dist/native/p-c4c11549.entry.js.map +0 -1
  1210. package/dist/native/p-c5ecdc49.entry.js +0 -2
  1211. package/dist/native/p-c5ecdc49.entry.js.map +0 -1
  1212. package/dist/native/p-cb1b9edb.entry.js +0 -2
  1213. package/dist/native/p-cb1b9edb.entry.js.map +0 -1
  1214. package/dist/native/p-cdaf54b0.entry.js +0 -2
  1215. package/dist/native/p-cdaf54b0.entry.js.map +0 -1
  1216. package/dist/native/p-ceb8fe8a.entry.js +0 -2
  1217. package/dist/native/p-ceb8fe8a.entry.js.map +0 -1
  1218. package/dist/native/p-daf7541b.entry.js +0 -2
  1219. package/dist/native/p-daf7541b.entry.js.map +0 -1
  1220. package/dist/native/p-de4f53a5.entry.js +0 -2
  1221. package/dist/native/p-de4f53a5.entry.js.map +0 -1
  1222. package/dist/native/p-ded4be77.entry.js +0 -2
  1223. package/dist/native/p-ded4be77.entry.js.map +0 -1
  1224. package/dist/native/p-e1fc5f8c.entry.js +0 -2
  1225. package/dist/native/p-e1fc5f8c.entry.js.map +0 -1
  1226. package/dist/native/p-e6c69f7d.entry.js +0 -2
  1227. package/dist/native/p-e6c69f7d.entry.js.map +0 -1
  1228. package/dist/native/p-e83603f1.entry.js +0 -2
  1229. package/dist/native/p-e83603f1.entry.js.map +0 -1
  1230. package/dist/native/p-ec217581.entry.js +0 -2
  1231. package/dist/native/p-ec217581.entry.js.map +0 -1
  1232. package/dist/native/p-ee694832.entry.js +0 -2
  1233. package/dist/native/p-ee694832.entry.js.map +0 -1
  1234. package/dist/native/p-f39aef8e.entry.js +0 -2
  1235. package/dist/native/p-f39aef8e.entry.js.map +0 -1
  1236. package/dist/native/p-f7e0146e.entry.js +0 -2
  1237. package/dist/native/p-f7e0146e.entry.js.map +0 -1
  1238. package/dist/native/p-sqVK8yoD.js.map +0 -1
  1239. package/dist/native/p-xlgmw4x8.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-sidebar.js","sourceRoot":"","sources":["../../../../src/components/nv-sidebar/nv-sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,KAAK,EAEL,OAAO,EACP,KAAK,EACL,CAAC,GACF,MAAM,eAAe,CAAC;AAEvB;;;GAGG;AAMH,MAAM,OAAO,SAAS;IALtB;QASE,8EAA8E;QAC9E,oBAAoB;QAEpB;;;;WAIG;QAEM,SAAI,GAAiC,YAAY,CAAC;QAE3D;;WAEG;QACH,+DAA+D;QAE/D,SAAI,GAAY,IAAI,CAAC;QASrB;;;;WAIG;QAEM,0BAAqB,GAAwB,OAAO,CAAC;QAE9D;;;;WAIG;QAEM,yBAAoB,GAAmB,MAAM,CAAC;QAavD,mBAAmB;QACnB,8EAA8E;QAC9E,iBAAiB;QAET,iBAAY,GAAG,GAAG,EAAE;YAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAChC,0DAA0D;gBAC1D,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YACzB,CAAC;QACH,CAAC,CAAC;QAYF;;WAEG;QACK,sBAAiB,GAAG,GAAG,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,UAAU;gBAAE,OAAO;YAE7B,2DAA2D;YAC3D,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;YAC7C,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACjE,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBACxC,MAAM,IAAI,GAAG,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;gBAExC,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;oBAC1C,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC;oBAC1B,IAAI,QAAQ,EAAE,CAAC;wBACb,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,sCAAsC;YACtC,wDAAwD;YACxD,wEAAwE;YACxE,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC9D,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAChC,mFAAmF,CACpF,CAAC;gBACF,MAAM,IAAI,GAAG,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;gBACxC,MAAM,WAAW,GACf,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAC,KAAK,IAAI,CAAC;gBAEzD,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,WAAW,EAAE,CAAC;wBAChB,gFAAgF;wBAChF,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;oBAC5C,CAAC;yBAAM,CAAC;wBACN,+CAA+C;wBAC/C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;oBAC5C,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEM,wBAAmB,GAAkB,IAAI,CAAC;QAElD;;;WAGG;QACK,0BAAqB,GAAG,GAAS,EAAE;YACzC,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,EAAE;gBACvD,kEAAkE;gBAClE,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBAC/C,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW;wBAAE,OAAO,KAAK,CAAC;oBAChD,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wBACjD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY;4BAAE,OAAO,KAAK,CAAC;wBACtD,MAAM,EAAE,GAAG,IAAe,CAAC;wBAC3B,OAAO,CACL,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,mBAAmB;4BAChD,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,sBAAsB;4BACnD,EAAE,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAC5D,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAI,cAAc,EAAE,CAAC;oBACnB,2CAA2C;oBAC3C,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;wBAC7B,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;oBACzC,CAAC;oBACD,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;wBAChD,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACzB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;oBAClC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACT,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;gBACrC,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;QACL,CAAC,CAAC;KA+EH;IA3KS,0BAA0B,CAAC,WAAoB;QACrD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACnE,OAAuC,CAAC,IAAI,GAAG,KAAK,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC;IAsFD,oBAAoB;IACpB,8EAA8E;IAC9E,kBAAkB;IAGlB,mBAAmB;QACjB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAGS,aAAa,CAAC,QAAiB,EAAE,QAAiB;QAC1D,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1E,sFAAsF;QACtF,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACzD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,8EAA8E;IAC9E,mBAAmB;IAEnB,iBAAiB;QACf,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,8EAA8E;IAC9E,gBAAgB;IAEhB,MAAM;QACJ,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAE9D,OAAO,CACL,EAAC,IAAI,qDACH,IAAI,EAAC,YAAY,EACjB,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,4BACjB,IAAI,CAAC,qBAAqB,2BAC3B,IAAI,CAAC,oBAAoB,mBAE9C,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YAG7D,4DAAK,KAAK,EAAC,sBAAsB;gBAC/B,8DAAa,CACT;YACL,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,CAC9B,+DACE,KAAK,EAAC,mBAAmB,EACzB,OAAO,EAAE,IAAI,CAAC,YAAY,gBACd,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,gBAAgB;gBAE7D,gEACE,IAAI,EACF,IAAI,CAAC,IAAI;wBACP,CAAC,CAAC,8BAA8B;wBAChC,CAAC,CAAC,+BAA+B,EAErC,IAAI,EAAC,IAAI,GACA,CACJ,CACV,CACI,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEF","sourcesContent":["import {\n Component,\n Host,\n Prop,\n Event,\n EventEmitter,\n Element,\n Watch,\n h,\n} from '@stencil/core';\n\n/**\n * Main sidebar container for navigation. Supports collapsible and persistent modes.\n * @slot default - All sidebar components (logo, header, content, footer).\n */\n@Component({\n tag: 'nv-sidebar',\n styleUrl: 'styles/nv-sidebar.scss',\n shadow: false,\n})\nexport class NvSidebar {\n @Element() el!: HTMLNvSidebarElement;\n private mutationObserver: MutationObserver;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * The type of sidebar behavior.\n * - collapsible: Can be toggled open/closed\n * - persistent: Always visible\n */\n @Prop({ reflect: true })\n readonly type: 'collapsible' | 'persistent' = 'persistent';\n\n /**\n * Whether the sidebar is currently open (only applies to collapsible type).\n */\n // eslint-disable-next-line @stencil-community/ban-default-true\n @Prop({ reflect: true, mutable: true })\n open: boolean = true;\n\n /**\n * The current active path. Used to automatically set the active state of nav items.\n * Example: \"/dashboard\" or \"/settings/profile\"\n */\n @Prop({ reflect: true })\n readonly activePath?: string;\n\n /**\n * Determines the type of notification bullets in the sidebar.\n * - neutral: Uses neutral colors (gray)\n * - brand: Uses brand colors (orange/teal depending on theme)\n */\n @Prop({ reflect: true })\n readonly notificationIntention: 'neutral' | 'brand' = 'brand';\n\n /**\n * Determines the emphasis of notification bullets in the sidebar.\n * - high: More prominent appearance\n * - low: Less prominent appearance\n */\n @Prop({ reflect: true })\n readonly notificationEmphasis: 'high' | 'low' = 'high';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the open state changes.\n * @bind open\n */\n @Event({ bubbles: false })\n openChanged: EventEmitter<boolean>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region METHODS\n\n private handleToggle = () => {\n if (this.type === 'collapsible') {\n // Changing open will trigger @Watch which emits the event\n this.open = !this.open;\n }\n };\n\n private handleCollapsedSideEffects(isCollapsed: boolean) {\n if (!isCollapsed) {\n return;\n }\n\n this.el.querySelectorAll('nv-sidebarnavitem[open]').forEach(navItem => {\n (navItem as HTMLNvSidebarnavitemElement).open = false;\n });\n }\n\n /**\n * Sets the active state of navigation items based on activePath\n */\n private setActiveNavItems = () => {\n if (!this.activePath) return;\n\n // First, check all subitems to find if any matches exactly\n const activeSubitemHrefs = new Set<string>();\n this.el.querySelectorAll('nv-sidebarnavsubitem').forEach(subItem => {\n const link = subItem.querySelector('a');\n const href = link?.getAttribute('href');\n\n if (href) {\n const isActive = this.activePath === href;\n subItem.active = isActive;\n if (isActive) {\n activeSubitemHrefs.add(href);\n }\n }\n });\n\n // Then, set nav items active only if:\n // 1. Exact match with activePath AND no subitem matches\n // 2. OR the navitem has no subitems and activePath starts with its href\n this.el.querySelectorAll('nv-sidebarnavitem').forEach(navItem => {\n const link = navItem.querySelector(\n ':scope > a, :scope > .nv-sidebarnavitem-trigger a, .nv-sidebarnavitem-content > a',\n );\n const href = link?.getAttribute('href');\n const hasSubitems =\n navItem.querySelector('nv-sidebarnavsubitem') !== null;\n\n if (href) {\n if (hasSubitems) {\n // Parent with subitems: only active if exact match (not when subitem is active)\n navItem.active = this.activePath === href;\n } else {\n // Item without subitems: active on exact match\n navItem.active = this.activePath === href;\n }\n }\n });\n };\n\n private pendingActiveUpdate: number | null = null;\n\n /**\n * Sets up the MutationObserver to watch for changes in child elements.\n * Only triggers on new nav items being added, not on attribute changes.\n */\n private setupMutationObserver = (): void => {\n this.mutationObserver = new MutationObserver(mutations => {\n // Only react to new nav items being added, ignore other mutations\n const hasNewNavItems = mutations.some(mutation => {\n if (mutation.type !== 'childList') return false;\n return Array.from(mutation.addedNodes).some(node => {\n if (node.nodeType !== Node.ELEMENT_NODE) return false;\n const el = node as Element;\n return (\n el.tagName.toLowerCase() === 'nv-sidebarnavitem' ||\n el.tagName.toLowerCase() === 'nv-sidebarnavsubitem' ||\n el.querySelector('nv-sidebarnavitem, nv-sidebarnavsubitem')\n );\n });\n });\n\n if (hasNewNavItems) {\n // Debounce to prevent multiple rapid calls\n if (this.pendingActiveUpdate) {\n clearTimeout(this.pendingActiveUpdate);\n }\n this.pendingActiveUpdate = window.setTimeout(() => {\n this.setActiveNavItems();\n this.pendingActiveUpdate = null;\n }, 50);\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('activePath')\n onActivePathChanged() {\n this.setActiveNavItems();\n }\n\n @Watch('open')\n protected onOpenChanged(newValue: boolean, oldValue: boolean) {\n this.handleCollapsedSideEffects(this.type === 'collapsible' && !newValue);\n // Only emit event when open state actually changes (not on re-render with same value)\n if (this.type === 'collapsible' && newValue !== oldValue) {\n this.openChanged.emit(newValue);\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.setActiveNavItems();\n this.setupMutationObserver();\n this.handleCollapsedSideEffects(this.type === 'collapsible' && !this.open);\n }\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n if (this.pendingActiveUpdate) {\n clearTimeout(this.pendingActiveUpdate);\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n const isCollapsed = this.type === 'collapsible' && !this.open;\n\n return (\n <Host\n role=\"navigation\"\n collapsed={isCollapsed ? true : undefined}\n notification-intention={this.notificationIntention}\n notification-emphasis={this.notificationEmphasis}\n aria-expanded={\n this.type === 'collapsible' ? String(this.open) : undefined\n }\n >\n <div class=\"nv-sidebar-container\">\n <slot></slot>\n </div>\n {this.type === 'collapsible' && (\n <button\n class=\"nv-sidebar-toggle\"\n onClick={this.handleToggle}\n aria-label={this.open ? 'Collapse sidebar' : 'Expand sidebar'}\n >\n <nv-icon\n name={\n this.open\n ? 'layout-sidebar-left-collapse'\n : 'layout-sidebar-right-collapse'\n }\n size=\"sm\"\n ></nv-icon>\n </button>\n )}\n </Host>\n );\n }\n //#endregion RENDER\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-sidebarcontent.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-sidebarcontent/nv-sidebarcontent.docs.tsx"],"names":[],"mappings":"AAGA,MAAM,oBAAoB,GAA0C;IAClE,SAAS,EAAE,mBAAmB;IAC9B,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,eAAe,oBAAoB,CAAC","sourcesContent":["import type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\n\nconst NvSidebarcontentDocs: NovaDocs<Components.NvSidebarcontent> = {\n component: 'nv-sidebarcontent',\n skip: true,\n};\n\nexport default NvSidebarcontentDocs;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-sidebarcontent.js","sourceRoot":"","sources":["../../../../src/components/nv-sidebarcontent/nv-sidebarcontent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAEnD;;;GAGG;AAMH,MAAM,OAAO,gBAAgB;IAC3B,8EAA8E;IAC9E,gBAAgB;IAChB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,IAAI,EAAC,MAAM;YACf,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;CAEF","sourcesContent":["import { Component, Host, h } from '@stencil/core';\n\n/**\n * Scrollable main content area of the sidebar containing navigation groups and items.\n * @slot default - Navigation groups, items, and dividers.\n */\n@Component({\n tag: 'nv-sidebarcontent',\n styleUrl: 'nv-sidebarcontent.scss',\n shadow: false,\n})\nexport class NvSidebarcontent {\n /****************************************************************************/\n //#region RENDER\n render() {\n return (\n <Host role=\"list\">\n <slot></slot>\n </Host>\n );\n }\n //#endregion RENDER\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-sidebardivider.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-sidebardivider/nv-sidebardivider.docs.tsx"],"names":[],"mappings":"AAGA,MAAM,oBAAoB,GAA0C;IAClE,SAAS,EAAE,mBAAmB;IAC9B,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,eAAe,oBAAoB,CAAC","sourcesContent":["import type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\n\nconst NvSidebardividerDocs: NovaDocs<Components.NvSidebardivider> = {\n component: 'nv-sidebardivider',\n skip: true,\n};\n\nexport default NvSidebardividerDocs;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-sidebardivider.js","sourceRoot":"","sources":["../../../../src/components/nv-sidebardivider/nv-sidebardivider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAEnD;;GAEG;AAMH,MAAM,OAAO,gBAAgB;IAC3B,8EAA8E;IAC9E,gBAAgB;IAChB,MAAM;QACJ,OAAO,EAAC,IAAI,qDAAC,IAAI,EAAC,WAAW,sBAAkB,YAAY,GAAQ,CAAC;IACtE,CAAC;;;;;;;;CAEF","sourcesContent":["import { Component, Host, h } from '@stencil/core';\n\n/**\n * A horizontal divider for separating sidebar navigation groups.\n */\n@Component({\n tag: 'nv-sidebardivider',\n styleUrl: 'nv-sidebardivider.scss',\n shadow: false,\n})\nexport class NvSidebardivider {\n /****************************************************************************/\n //#region RENDER\n render() {\n return <Host role=\"separator\" aria-orientation=\"horizontal\"></Host>;\n }\n //#endregion RENDER\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-sidebarfooter.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-sidebarfooter/nv-sidebarfooter.docs.tsx"],"names":[],"mappings":"AAGA,MAAM,mBAAmB,GAAyC;IAChE,SAAS,EAAE,kBAAkB;IAC7B,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["import type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\n\nconst NvSidebarfooterDocs: NovaDocs<Components.NvSidebarfooter> = {\n component: 'nv-sidebarfooter',\n skip: true,\n};\n\nexport default NvSidebarfooterDocs;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-sidebarfooter.js","sourceRoot":"","sources":["../../../../src/components/nv-sidebarfooter/nv-sidebarfooter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAEnD;;;;GAIG;AAMH,MAAM,OAAO,eAAe;IAC1B,8EAA8E;IAC9E,gBAAgB;IAChB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;CAEF","sourcesContent":["import { Component, Host, h } from '@stencil/core';\n\n/**\n * Optional footer container for the sidebar. Use this to display custom elements\n * like user settings, logout buttons, or version information at the bottom of the sidebar.\n * @slot default - Custom content to display in the footer.\n */\n@Component({\n tag: 'nv-sidebarfooter',\n styleUrl: 'nv-sidebarfooter.scss',\n shadow: false,\n})\nexport class NvSidebarfooter {\n /****************************************************************************/\n //#region RENDER\n render() {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n //#endregion RENDER\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-sidebargroup.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-sidebargroup/nv-sidebargroup.docs.tsx"],"names":[],"mappings":"AAGA,MAAM,kBAAkB,GAAwC;IAC9D,SAAS,EAAE,iBAAiB;IAC5B,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,eAAe,kBAAkB,CAAC","sourcesContent":["import type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\n\nconst NvSidebargroupDocs: NovaDocs<Components.NvSidebargroup> = {\n component: 'nv-sidebargroup',\n skip: true,\n};\n\nexport default NvSidebargroupDocs;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-sidebargroup.js","sourceRoot":"","sources":["../../../../src/components/nv-sidebargroup/nv-sidebargroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAEzD;;;GAGG;AAMH,MAAM,OAAO,cAAc;IAQzB,uBAAuB;IACvB,8EAA8E;IAC9E,gBAAgB;IAChB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,IAAI,EAAC,OAAO,gBAAa,IAAI,CAAC,KAAK;YACtC,IAAI,CAAC,KAAK,IAAI,4DAAK,KAAK,EAAC,uBAAuB,IAAE,IAAI,CAAC,KAAK,CAAO;YACpE,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEF","sourcesContent":["import { Component, Host, Prop, h } from '@stencil/core';\n\n/**\n * Groups navigation items together with an optional label.\n * @slot default - Navigation items (nv-sidebarnavitem) to display in this group.\n */\n@Component({\n tag: 'nv-sidebargroup',\n styleUrl: 'nv-sidebargroup.scss',\n shadow: false,\n})\nexport class NvSidebargroup {\n /****************************************************************************/\n //#region PROPERTIES\n /**\n * Optional label to display above the navigation group.\n */\n @Prop({ reflect: true })\n readonly label?: string;\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region RENDER\n render() {\n return (\n <Host role=\"group\" aria-label={this.label}>\n {this.label && <div class=\"nv-sidebargroup-label\">{this.label}</div>}\n <slot></slot>\n </Host>\n );\n }\n //#endregion RENDER\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-sidebarheader.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-sidebarheader/nv-sidebarheader.docs.tsx"],"names":[],"mappings":"AAGA,MAAM,mBAAmB,GAAyC;IAChE,SAAS,EAAE,kBAAkB;IAC7B,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["import type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\n\nconst NvSidebarheaderDocs: NovaDocs<Components.NvSidebarheader> = {\n component: 'nv-sidebarheader',\n skip: true,\n};\n\nexport default NvSidebarheaderDocs;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-sidebarheader.js","sourceRoot":"","sources":["../../../../src/components/nv-sidebarheader/nv-sidebarheader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAEnD;;;;GAIG;AAMH,MAAM,OAAO,eAAe;IAC1B,8EAA8E;IAC9E,gBAAgB;IAChB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;CAEF","sourcesContent":["import { Component, Host, h } from '@stencil/core';\n\n/**\n * Optional header container for the sidebar. Use this to display custom elements\n * like search bars, user profiles, or action buttons at the top of the sidebar.\n * @slot default - Custom content to display in the header.\n */\n@Component({\n tag: 'nv-sidebarheader',\n styleUrl: 'nv-sidebarheader.scss',\n shadow: false,\n})\nexport class NvSidebarheader {\n /****************************************************************************/\n //#region RENDER\n render() {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n //#endregion RENDER\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-sidebarlogo.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-sidebarlogo/nv-sidebarlogo.docs.tsx"],"names":[],"mappings":"AAGA,MAAM,iBAAiB,GAAuC;IAC5D,SAAS,EAAE,gBAAgB;IAC3B,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["import type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\n\nconst NvSidebarlogoDocs: NovaDocs<Components.NvSidebarlogo> = {\n component: 'nv-sidebarlogo',\n skip: true,\n};\n\nexport default NvSidebarlogoDocs;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-sidebarlogo.js","sourceRoot":"","sources":["../../../../src/components/nv-sidebarlogo/nv-sidebarlogo.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAEzD;;;GAGG;AAMH,MAAM,OAAO,aAAa;IAL1B;QA2BE,uBAAuB;QACvB,8EAA8E;QAC9E,mBAAmB;QACnB,2EAA2E;QAC1D,gBAAW,GAC1B,u/BAAu/B,CAAC;QAE1/B,0EAA0E;QACzD,yBAAoB,GACnC,u/BAAu/B,CAAC;KA2B3/B;IA1BC,sBAAsB;IACtB,8EAA8E;IAC9E,gBAAgB;IAChB,MAAM;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC;QAC9C,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC;QAEzE,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAC,0BAA0B;gBACnC,4DACE,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM,EACzB,KAAK,EAAC,qBAAqB,GAC3B;gBACF,4DACE,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM,EACzB,KAAK,EAAC,0BAA0B,GAChC;gBACD,IAAI,CAAC,KAAK,IAAI,6DAAM,KAAK,EAAC,sBAAsB,IAAE,IAAI,CAAC,KAAK,CAAQ,CACjE,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEF","sourcesContent":["import { Component, Host, Prop, h } from '@stencil/core';\n\n/**\n * Displays the logo and title at the top of the sidebar.\n * Automatically switches between full and collapsed logos based on the sidebar state.\n */\n@Component({\n tag: 'nv-sidebarlogo',\n styleUrl: 'styles/nv-sidebarlogo.scss',\n shadow: false,\n})\nexport class NvSidebarlogo {\n /****************************************************************************/\n //#region PROPERTIES\n /**\n * The label/name to display next to the logo.\n */\n @Prop({ reflect: true })\n readonly label?: string;\n\n /**\n * URL of the full logo image (shown when sidebar is expanded).\n * If not provided, uses a default Nova logo.\n */\n @Prop({ reflect: true })\n readonly logo?: string;\n\n /**\n * URL of the collapsed logo image (shown when sidebar is collapsed).\n * If not provided, uses a default Nova icon.\n */\n @Prop({ reflect: true })\n readonly collapsedLogo?: string;\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region CONSTANTS\n // Default Nova logo SVG (expanded - icon only, text comes from label prop)\n private readonly defaultLogo =\n 'data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 40 40\"%3E%3Cstyle%3E.cls-1{fill:%23f0801a;}%3C/style%3E%3Cpath class=\"cls-1\" d=\"M25.71,2.13l-5.08,11.39c-.39.88-.38,1.92.13,2.73.74,1.17,2.19,1.59,3.42,1.07l14.26-6-3.14-2.27-10.89,4.66c-.15.06-.3-.09-.23-.24l4.34-9.31-2.81-2.03Z\"/%3E%3Cpath class=\"cls-1\" d=\"M4.29,10l9.22,8.4c.71.65,1.7.97,2.63.73,1.34-.34,2.2-1.58,2.09-2.91l-1.22-15.43-3.14,2.27,1.01,11.8c.01.16-.18.26-.3.15l-7.48-7.04-2.81,2.03Z\"/%3E%3Cpath class=\"cls-1\" d=\"M26.95,39.15l-2.59-12.2c-.2-.94-.82-1.78-1.71-2.13-1.29-.51-2.71,0-3.4,1.14l-8.01,13.24h3.87s6.07-10.18,6.07-10.18c.08-.14.3-.1.33.06l1.97,10.08h3.47Z\"/%3E%3Cpath class=\"cls-1\" d=\"M4.85,32.76l10.82-6.19c.83-.48,1.44-1.32,1.5-2.28.09-1.38-.83-2.58-2.13-2.89L0,17.82l1.2,3.68,11.54,2.67c.16.04.19.25.05.33l-9,4.96,1.07,3.3Z\"/%3E%3Cpath class=\"cls-1\" d=\"M40,20.11l-12.4-1.35c-.95-.1-1.94.22-2.56.96-.89,1.07-.84,2.58.03,3.58l10.08,11.74,1.2-3.69-7.77-8.94c-.11-.12,0-.32.16-.3l10.19,1.28,1.07-3.3Z\"/%3E%3C/svg%3E';\n\n // Default Nova icon (collapsed - same logo but will be displayed smaller)\n private readonly defaultCollapsedLogo =\n 'data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 40 40\"%3E%3Cstyle%3E.cls-1{fill:%23f0801a;}%3C/style%3E%3Cpath class=\"cls-1\" d=\"M25.71,2.13l-5.08,11.39c-.39.88-.38,1.92.13,2.73.74,1.17,2.19,1.59,3.42,1.07l14.26-6-3.14-2.27-10.89,4.66c-.15.06-.3-.09-.23-.24l4.34-9.31-2.81-2.03Z\"/%3E%3Cpath class=\"cls-1\" d=\"M4.29,10l9.22,8.4c.71.65,1.7.97,2.63.73,1.34-.34,2.2-1.58,2.09-2.91l-1.22-15.43-3.14,2.27,1.01,11.8c.01.16-.18.26-.3.15l-7.48-7.04-2.81,2.03Z\"/%3E%3Cpath class=\"cls-1\" d=\"M26.95,39.15l-2.59-12.2c-.2-.94-.82-1.78-1.71-2.13-1.29-.51-2.71,0-3.4,1.14l-8.01,13.24h3.87s6.07-10.18,6.07-10.18c.08-.14.3-.1.33.06l1.97,10.08h3.47Z\"/%3E%3Cpath class=\"cls-1\" d=\"M4.85,32.76l10.82-6.19c.83-.48,1.44-1.32,1.5-2.28.09-1.38-.83-2.58-2.13-2.89L0,17.82l1.2,3.68,11.54,2.67c.16.04.19.25.05.33l-9,4.96,1.07,3.3Z\"/%3E%3Cpath class=\"cls-1\" d=\"M40,20.11l-12.4-1.35c-.95-.1-1.94.22-2.56.96-.89,1.07-.84,2.58.03,3.58l10.08,11.74,1.2-3.69-7.77-8.94c-.11-.12,0-.32.16-.3l10.19,1.28,1.07-3.3Z\"/%3E%3C/svg%3E';\n //#endregion CONSTANTS\n /****************************************************************************/\n //#region RENDER\n render() {\n const logoSrc = this.logo || this.defaultLogo;\n const collapsedLogoSrc = this.collapsedLogo || this.defaultCollapsedLogo;\n\n return (\n <Host>\n <div class=\"nv-sidebarlogo-container\">\n <img\n src={logoSrc}\n alt={this.label || 'Logo'}\n class=\"nv-sidebarlogo-full\"\n />\n <img\n src={collapsedLogoSrc}\n alt={this.label || 'Logo'}\n class=\"nv-sidebarlogo-collapsed\"\n />\n {this.label && <span class=\"nv-sidebarlogo-title\">{this.label}</span>}\n </div>\n </Host>\n );\n }\n //#endregion RENDER\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-sidebarnavitem.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-sidebarnavitem/nv-sidebarnavitem.docs.tsx"],"names":[],"mappings":"AAGA,MAAM,oBAAoB,GAA0C;IAClE,SAAS,EAAE,mBAAmB;IAC9B,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,eAAe,oBAAoB,CAAC","sourcesContent":["import type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\n\nconst NvSidebarnavitemDocs: NovaDocs<Components.NvSidebarnavitem> = {\n component: 'nv-sidebarnavitem',\n skip: true,\n};\n\nexport default NvSidebarnavitemDocs;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-sidebarnavitem.js","sourceRoot":"","sources":["../../../../src/components/nv-sidebarnavitem/nv-sidebarnavitem.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, State, Element, Watch, h } from '@stencil/core';\nimport { IconName } from '../nv-icon/nv-icons';\n\n/**\n * A navigation item in the sidebar. Can be a simple link or a collapsible parent with sub-items.\n * @slot default - The link or content of the item (usually an <a> tag).\n * @slot subitems - Sub-navigation items (nv-sidebarnavsubitem elements). Automatically assigned.\n * @slot trailing - Optional content displayed at the end of the item (e.g., badges, icons, chevron).\n */\n@Component({\n tag: 'nv-sidebarnavitem',\n styleUrl: 'styles/nv-sidebarnavitem.scss',\n shadow: false,\n})\nexport class NvSidebarnavitem {\n @Element() el: HTMLNvSidebarnavitemElement;\n /****************************************************************************/\n //#region PROPERTIES\n /**\n * Optional icon to display before the label.\n */\n @Prop({ reflect: true })\n readonly icon?: IconName;\n\n /**\n * Whether this item represents the active/current page.\n * Can be set automatically when a sub-item becomes active.\n */\n @Prop({ reflect: true, mutable: true })\n active: boolean = false;\n\n /**\n * Whether this item can be collapsed/expanded (has sub-items).\n */\n @Prop({ reflect: true })\n readonly collapsible: boolean = false;\n\n /**\n * Whether the collapsible item is currently open (showing sub-items).\n */\n @Prop({ reflect: true, mutable: true })\n open: boolean = false;\n\n /**\n * Number of notifications to display. When provided, a notification bullet will be automatically rendered.\n * The bullet will be positioned in the trailing slot when sidebar is open, and on the icon when collapsed.\n */\n @Prop({ reflect: true })\n readonly notificationCount?: number;\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region STATE\n @State()\n private hasSubitems: boolean = false;\n\n @State()\n private isSidebarCollapsed: boolean = false;\n\n private mutationObserver?: MutationObserver;\n private subitemsMutationObserver?: MutationObserver;\n private wasActiveFromSubitem: boolean = false; // Track if active was set by subitem logic\n //#endregion STATE\n /****************************************************************************/\n //#region METHODS\n private handleToggle = (event: MouseEvent) => {\n // Ignore clicks that originated from subitems (they bubble up but shouldn't toggle)\n const target = event.target as HTMLElement;\n if (target.closest('nv-sidebarnavsubitem')) {\n return; // Let the subitem's link handle navigation normally\n }\n\n // In collapsed sidebar mode, navigate to the main link instead of toggling\n if (this.isSidebarCollapsed) {\n // Find the first link that is NOT inside subitems\n const link = this.el.querySelector(\n '.nv-sidebarnavitem-content a, :scope > a',\n ) as HTMLAnchorElement;\n if (link?.href) {\n // Check if click was directly on the link - if so, let it handle naturally\n if (target.closest('a')) {\n return;\n }\n // Trigger navigation by clicking the link programmatically\n link.click();\n }\n return;\n }\n\n // Only handle toggle for collapsible items when sidebar is expanded\n if (this.collapsible) {\n event.preventDefault();\n event.stopPropagation();\n this.open = !this.open;\n }\n // For non-collapsible items in expanded mode, let the link handle the navigation\n // Don't prevent default or stop propagation - allow the link to work normally\n };\n\n private subitemsRef?: HTMLDivElement;\n private isAnimating: boolean = false;\n private hasInitializedHeight: boolean = false;\n /** Tracks the last open state that was animated to, to prevent redundant animations */\n private lastAnimatedOpenState: boolean | null = null;\n\n private updateSubitemsHeight = (force: boolean = false) => {\n if (!this.subitemsRef) return;\n\n // Skip animation if we're already in the target state (prevents animation on active change)\n // Only animate if:\n // 1. forced (explicit toggle by user via @Watch)\n // 2. OR this is the first animation (lastAnimatedOpenState is null)\n // 3. OR the open state has actually changed since last animation\n if (\n !force &&\n this.lastAnimatedOpenState !== null &&\n this.lastAnimatedOpenState === this.open\n ) {\n return;\n }\n\n // Don't re-animate if already animating and not forced\n if (this.isAnimating && !force) {\n return;\n }\n\n this.isAnimating = true;\n this.lastAnimatedOpenState = this.open;\n\n if (this.open) {\n // Calculate real height and animate to it\n this.subitemsRef.style.transition = 'none';\n this.subitemsRef.style.maxHeight = '0px';\n void this.subitemsRef.offsetHeight; // Force reflow\n requestAnimationFrame(() => {\n if (this.subitemsRef) {\n this.subitemsRef.style.transition =\n 'max-height 0.3s ease, opacity 0.2s ease';\n this.subitemsRef.style.maxHeight =\n this.subitemsRef.scrollHeight + 'px';\n // Reset animation flag after animation completes\n setTimeout(() => {\n this.isAnimating = false;\n }, 300); // Match animation duration\n }\n });\n } else {\n // Animate to 0\n this.subitemsRef.style.transition = 'none';\n this.subitemsRef.style.maxHeight = this.subitemsRef.scrollHeight + 'px';\n void this.subitemsRef.offsetHeight; // Force reflow\n requestAnimationFrame(() => {\n if (this.subitemsRef) {\n this.subitemsRef.style.transition =\n 'max-height 0.3s ease, opacity 0.2s ease';\n this.subitemsRef.style.maxHeight = '0px';\n // Reset animation flag after animation completes\n setTimeout(() => {\n this.isAnimating = false;\n }, 300); // Match animation duration\n }\n });\n }\n };\n private checkSidebarCollapsed = () => {\n const sidebar = this.el.closest('nv-sidebar');\n const wasCollapsed = this.isSidebarCollapsed;\n this.isSidebarCollapsed = sidebar?.hasAttribute('collapsed') ?? false;\n\n // When sidebar collapse state changes, update active state based on subitems\n if (wasCollapsed !== this.isSidebarCollapsed) {\n this.updateActiveFromSubitems();\n }\n };\n\n /**\n * Checks if any sub-item is active and updates parent active state.\n * - When sidebar is collapsed: if a sub-item is active, parent should be active\n * - When sidebar is expanded: if a sub-item is active AND parent is not open, parent should be active\n * (because sub-items are hidden, we need to indicate the parent contains an active child)\n */\n private updateActiveFromSubitems = () => {\n if (!this.hasSubitems) return;\n\n // Find all sub-items\n const subItems = Array.from(\n this.el.querySelectorAll('nv-sidebarnavsubitem'),\n ) as HTMLNvSidebarnavsubitemElement[];\n\n // Check if any sub-item is active\n const hasActiveSubitem = subItems.some(subItem => subItem.active);\n\n if (this.isSidebarCollapsed) {\n // When sidebar is collapsed AND a sub-item is active, make parent active\n if (hasActiveSubitem) {\n this.active = true;\n this.wasActiveFromSubitem = true;\n } else {\n // When collapsed and no sub-item is active, remove active state only if we set it\n if (this.wasActiveFromSubitem) {\n this.active = false;\n this.wasActiveFromSubitem = false;\n }\n }\n } else {\n // When sidebar is expanded\n if (hasActiveSubitem && !this.open) {\n // If a sub-item is active AND parent is not open (sub-items hidden),\n // make parent active to indicate it contains an active child\n this.active = true;\n this.wasActiveFromSubitem = true;\n } else if (hasActiveSubitem && this.open) {\n // If a sub-item is active BUT parent is open (sub-items visible),\n // remove active state from parent (only sub-item should be active)\n if (this.wasActiveFromSubitem) {\n this.active = false;\n this.wasActiveFromSubitem = false;\n }\n } else {\n // No active sub-item, remove active state if we set it\n if (this.wasActiveFromSubitem) {\n this.active = false;\n this.wasActiveFromSubitem = false;\n }\n }\n // Note: activePath logic in nv-sidebar can also manage parent active state\n // (when parent href matches activePath exactly)\n }\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n componentWillLoad() {\n // Check if there are sub-items in any slot\n const subItems = Array.from(this.el.children).filter(\n child => child.tagName.toLowerCase() === 'nv-sidebarnavsubitem',\n );\n this.hasSubitems = subItems.length > 0;\n\n // Move sub-items to the subitems slot\n if (this.hasSubitems) {\n subItems.forEach(item => {\n item.setAttribute('slot', 'subitems');\n });\n }\n\n // Check sidebar collapsed state\n this.checkSidebarCollapsed();\n\n // Watch for sidebar state changes\n const sidebar = this.el.closest('nv-sidebar');\n if (sidebar) {\n this.mutationObserver = new MutationObserver(() => {\n this.checkSidebarCollapsed();\n });\n this.mutationObserver.observe(sidebar, {\n attributes: true,\n attributeFilter: ['collapsed'],\n });\n }\n\n // Watch for sub-items active state changes\n if (this.hasSubitems) {\n // Observe the subitems container for changes (including new sub-items being added)\n // Using subtree: true to catch all attribute changes in descendants\n const subitemsContainer = this.el.querySelector(\n '.nv-sidebarnavitem-subitems',\n );\n if (subitemsContainer) {\n this.subitemsMutationObserver = new MutationObserver(() => {\n this.updateActiveFromSubitems();\n });\n\n // Observe the container for child list changes and attribute changes in descendants\n this.subitemsMutationObserver.observe(subitemsContainer, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['active'],\n });\n } else {\n // If container doesn't exist yet (not collapsible or not rendered), observe the element itself\n // This handles cases where sub-items are direct children\n this.subitemsMutationObserver = new MutationObserver(() => {\n this.updateActiveFromSubitems();\n });\n\n this.subitemsMutationObserver.observe(this.el, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['active'],\n });\n }\n }\n\n // Initial check for active subitems\n this.updateActiveFromSubitems();\n }\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n if (this.subitemsMutationObserver) {\n this.subitemsMutationObserver.disconnect();\n }\n }\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region WATCHERS\n @Watch('open')\n onOpenChanged(newValue: boolean, oldValue: boolean) {\n // Only animate if the value actually changed (prevents false triggers from React re-renders)\n if (newValue === oldValue) {\n return;\n }\n // Force update when open state changes (user clicked toggle)\n this.updateSubitemsHeight(true);\n // Update active state based on subitems when open state changes\n this.updateActiveFromSubitems();\n }\n //#endregion WATCHERS\n /****************************************************************************/\n //#region RENDER\n render() {\n const showNotificationBullet =\n this.notificationCount !== undefined && this.notificationCount > 0;\n const notificationSize = this.isSidebarCollapsed ? 'reduced' : 'default';\n\n return (\n <Host role=\"listitem\">\n <div\n class=\"nv-sidebarnavitem-trigger\"\n onClick={this.handleToggle}\n aria-expanded={this.collapsible ? String(this.open) : undefined}\n aria-current={this.active && !this.collapsible ? 'page' : undefined}\n >\n {this.icon && (\n <div class=\"nv-sidebarnavitem-icon\">\n <nv-icon name={this.icon} size=\"md\"></nv-icon>\n {showNotificationBullet && this.isSidebarCollapsed && (\n <nv-notification-bullet\n count={this.notificationCount}\n size={notificationSize}\n contrastingBorder\n ></nv-notification-bullet>\n )}\n </div>\n )}\n <div class=\"nv-sidebarnavitem-content\">\n <slot></slot>\n </div>\n <div class=\"nv-sidebarnavitem-trailing\">\n <slot name=\"trailing\"></slot>\n {showNotificationBullet && !this.isSidebarCollapsed && (\n <nv-notification-bullet\n count={this.notificationCount}\n size={notificationSize}\n ></nv-notification-bullet>\n )}\n {this.collapsible && (\n <nv-icon\n name=\"chevron-down\"\n size=\"sm\"\n class=\"nv-sidebarnavitem-chevron\"\n ></nv-icon>\n )}\n </div>\n </div>\n {this.collapsible && this.hasSubitems && (\n <div\n class=\"nv-sidebarnavitem-subitems\"\n ref={el => {\n // Only update ref and initialize if element changed or not yet initialized\n if (el !== this.subitemsRef) {\n this.subitemsRef = el;\n if (el && !this.hasInitializedHeight) {\n // Initialize height only on first mount, not on re-renders\n this.hasInitializedHeight = true;\n requestAnimationFrame(() => {\n // Only animate if item is open, otherwise it will animate when opened\n if (this.open) {\n this.updateSubitemsHeight();\n }\n });\n }\n }\n }}\n >\n <slot name=\"subitems\"></slot>\n </div>\n )}\n </Host>\n );\n }\n //#endregion RENDER\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-sidebarnavsubitem.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-sidebarnavsubitem/nv-sidebarnavsubitem.docs.tsx"],"names":[],"mappings":"AAGA,MAAM,uBAAuB,GAA6C;IACxE,SAAS,EAAE,sBAAsB;IACjC,IAAI,EAAE,IAAI;CACX,CAAC;AAEF,eAAe,uBAAuB,CAAC","sourcesContent":["import type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\n\nconst NvSidebarnavsubitemDocs: NovaDocs<Components.NvSidebarnavsubitem> = {\n component: 'nv-sidebarnavsubitem',\n skip: true,\n};\n\nexport default NvSidebarnavsubitemDocs;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-sidebarnavsubitem.js","sourceRoot":"","sources":["../../../../src/components/nv-sidebarnavsubitem/nv-sidebarnavsubitem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAEzD;;;;GAIG;AAMH,MAAM,OAAO,mBAAmB;IALhC;QAME,8EAA8E;QAC9E,oBAAoB;QACpB;;WAEG;QAEM,WAAM,GAAY,KAAK,CAAC;KAwBlC;IAvBC,uBAAuB;IACvB,8EAA8E;IAC9E,iBAAiB;IACjB,iFAAiF;IACjF,kFAAkF;IAClF,kFAAkF;IAClF,oBAAoB;IACpB,8EAA8E;IAC9E,gBAAgB;IAChB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,IAAI,EAAC,UAAU,kBAAe,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YAClE,4DAAK,KAAK,EAAC,gCAAgC,GAAO;YAClD,4DAAK,KAAK,EAAC,8BAA8B;gBACvC,8DAAa,CACT;YACN,4DAAK,KAAK,EAAC,+BAA+B;gBACxC,6DAAM,IAAI,EAAC,UAAU,GAAQ,CACzB,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEF","sourcesContent":["import { Component, Host, Prop, h } from '@stencil/core';\n\n/**\n * A sub-item in the sidebar navigation, typically used as a child of nv-sidebarnavitem.\n * @slot default - The link or content of the sub-item (usually an <a> tag).\n * @slot trailing - Optional content displayed at the end of the sub-item (e.g., badges, icons).\n */\n@Component({\n tag: 'nv-sidebarnavsubitem',\n styleUrl: 'styles/nv-sidebarnavsubitem.scss',\n shadow: false,\n})\nexport class NvSidebarnavsubitem {\n /****************************************************************************/\n //#region PROPERTIES\n /**\n * Whether this sub-item represents the active/current page.\n */\n @Prop({ reflect: true })\n readonly active: boolean = false;\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n // Note: We no longer use stopPropagation() here because it prevents React Router\n // (and other SPA routers) from receiving the click event due to event delegation.\n // Instead, the parent nv-sidebarnavitem checks if clicks originate from subitems.\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n render() {\n return (\n <Host role=\"listitem\" aria-current={this.active ? 'page' : undefined}>\n <div class=\"nv-sidebarnavsubitem-indicator\"></div>\n <div class=\"nv-sidebarnavsubitem-content\">\n <slot></slot>\n </div>\n <div class=\"nv-sidebarnavsubitem-trailing\">\n <slot name=\"trailing\"></slot>\n </div>\n </Host>\n );\n }\n //#endregion RENDER\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-split.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-split/nv-split.docs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h } from '@stencil/core';\nimport type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\nimport { nameof } from '../../utils/class.utils';\n\nconst NvSplitDocs: NovaDocs<Components.NvSplit> = {\n component: 'nv-split',\n subcomponents: ['nv-alert'],\n badge: 'beta',\n stories: [\n // Default\n {\n name: 'Default',\n args: {\n direction: 'horizontal',\n sizes: [50, 50],\n },\n template: (\n <nv-split class=\"h-96 w-full\" data-storybook-args>\n <div slot=\"pane\" class=\"bg-turquoise-50\">\n Left pane\n </div>\n <div slot=\"pane\" class=\"bg-orange-50\">\n Right pane\n </div>\n </nv-split>\n ),\n },\n // direction\n {\n name: nameof<Components.NvSplit>(x => x.minSizes),\n description: 'Minimum pane sizes in px to clamp gutter movement.',\n args: {\n direction: 'horizontal',\n sizes: [50, 50],\n minSizes: [20, 20],\n },\n template: (\n <nv-split class=\"h-96 w-full\" data-storybook-args>\n <div slot=\"pane\">\n <div class=\"bg-turquoise-50 p-6 h-full\">Left pane</div>\n </div>\n <div slot=\"pane\">\n <div class=\"bg-orange-50 p-6 h-full\">Right pane</div>\n </div>\n </nv-split>\n ),\n },\n {\n name: nameof<Components.NvSplit>(x => x.direction),\n args: { direction: 'vertical', sizes: [70, 30] },\n template: (\n <nv-split class=\"h-screen w-full\" data-storybook-args>\n <div slot=\"pane\">Top pane</div>\n <div slot=\"pane\">Bottom pane</div>\n </nv-split>\n ),\n },\n // gutterSize\n {\n name: nameof<Components.NvSplit>(x => x.gutterSize),\n args: { gutterSize: 8, sizes: [50, 50] },\n template: (\n <nv-split class=\"h-screen w-full\" data-storybook-args>\n <div slot=\"pane\">Pane A</div>\n <div slot=\"pane\">Pane B</div>\n </nv-split>\n ),\n },\n // sizes\n {\n name: nameof<Components.NvSplit>(x => x.sizes),\n description:\n 'Initial sizes of the panes in percentages. Example: [50, 50] means two equal panes.',\n args: { sizes: [30, 70] },\n template: (\n <nv-split class=\"h-96 w-full\" data-storybook-args>\n <div slot=\"pane\" class=\"bg-turquoise-500\">\n 30% pane\n </div>\n <div slot=\"pane\" class=\"bg-orange-500\">\n 70% pane\n </div>\n </nv-split>\n ),\n },\n // complex\n {\n name: 'complex',\n description:\n 'Note: Only the parent nv-split responds to Storybook controls. Nested nv-split components have hardcoded values.',\n args: { gutterSize: 8, sizes: [50, 50], direction: 'vertical' },\n template: (\n <div class=\"flex flex-col gap-4 h-screen w-full\">\n <nv-alert feedback=\"warning\" class=\"m-4\">\n Only the parent nv-split responds to Storybook controls. The nested\n nv-split has hardcoded values.\n </nv-alert>\n <nv-split class=\"flex-1\" data-storybook-args>\n <div slot=\"pane\" class=\"bg-turquoise-50\">\n Top\n </div>\n <div slot=\"pane\" class=\"bg-orange-50\">\n <nv-split direction=\"horizontal\" sizes={[20, 80]}>\n <div slot=\"pane\" class=\"bg-red-50\">\n Left\n </div>\n <div slot=\"pane\" class=\"bg-yellow-50\">\n center\n </div>\n <div slot=\"pane\" class=\"bg-green-50\">\n Right\n </div>\n </nv-split>\n </div>\n </nv-split>\n </div>\n ),\n },\n // NestedSplit\n {\n name: 'NestedSplit',\n description:\n 'Note: Only the root nv-split responds to Storybook controls. All nested nv-split components have hardcoded values.',\n args: { gutterSize: 8, sizes: [10, 90], direction: 'horizontal' },\n template: (\n <div class=\"flex flex-col gap-4 h-screen w-full\">\n <nv-alert feedback=\"warning\" class=\"m-4\">\n Only the root nv-split responds to Storybook controls. All nested\n nv-split components have hardcoded values.\n </nv-alert>\n <nv-split class=\"flex-1\" data-storybook-args>\n <div slot=\"pane\" class=\"bg-purple-300\">\n Sidebar\n </div>\n <div slot=\"pane\" class=\"bg-gray-200\">\n <nv-split\n direction=\"vertical\"\n sizes={[10, 90]}\n class=\"h-full w-full\"\n >\n <div slot=\"pane\" class=\"bg-pink-300\">\n Top Content\n </div>\n <div slot=\"pane\" class=\"bg-cyan-300\">\n <nv-split\n direction=\"horizontal\"\n sizes={[10, 90]}\n class=\"h-full w-full\"\n >\n <div slot=\"pane\" class=\"bg-lime-300\">\n Bottom Left\n </div>\n <div slot=\"pane\" class=\"bg-orange-300\">\n Bottom Right\n </div>\n </nv-split>\n </div>\n </nv-split>\n </div>\n </nv-split>\n </div>\n ),\n },\n // SlotPane\n {\n name: 'SlotPane',\n description:\n 'Content of each split pane. Use multiple <div slot=\"pane\"> elements.',\n args: { sizes: [50, 50] },\n template: (\n <nv-split class=\"h-96 w-full\" data-storybook-args>\n <div slot=\"pane\" class=\"bg-turquoise-500\">\n First pane content\n </div>\n <div slot=\"pane\" class=\"bg-orange-500\">\n Second pane content\n </div>\n </nv-split>\n ),\n },\n // SlotGutter\n {\n name: 'SlotGutter',\n description: 'Optional custom content inside every gutter handle.',\n args: { sizes: [50, 50] },\n template: (\n <nv-split class=\"h-96 w-full\" data-storybook-args>\n <div slot=\"pane\" class=\"bg-turquoise-500\">\n Left pane\n </div>\n <div slot=\"pane\" class=\"bg-orange-500\">\n Right pane\n </div>\n <div slot=\"gutter\" class=\"flex items-center justify-center\">\n <span class=\"text-xs\">⋮⋮</span>\n </div>\n </nv-split>\n ),\n },\n ],\n};\n\nexport default NvSplitDocs;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-split.js","sourceRoot":"","sources":["../../../../src/components/nv-split/nv-split.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Element,\n Method,\n State,\n Watch,\n} from '@stencil/core';\n\n/**\n * The `nv-split` component is an advanced layout container that enables the creation of interactively resizable panels. It provides a flexible solution for dividing available space between multiple interface sections, with precise control over dimensions and constraints for each panel. Slot=“pane” elements have margin: 0 !important by default. This is a necessary technical constraint because CSS margins are not included in the flex-basis calculation, which would distort the sizing of the panes. Solution for the user: Apply margins/padding to the content inside the pane, not to the pane itself.\n * @slot pane - Content of each split pane. Use multiple `<div slot=\"pane\">` elements.\n * @slot gutter - Optional custom content inside every gutter handle.\n */\n@Component({\n tag: 'nv-split',\n styleUrl: 'styles/nv-split.scss',\n shadow: false,\n})\nexport class NvSplit {\n @Element() el: HTMLNvSplitElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Direction of the split layout.\n * - `horizontal`: panes side by side\n * - `vertical`: panes stacked\n */\n @Prop({ reflect: true })\n readonly direction: 'horizontal' | 'vertical' = 'horizontal';\n\n /**\n * Initial sizes of the panes in percentages.\n * Example: `[50, 50]` means two equal panes.\n * Explicitly `reflect: false` (array) for framework compatibility.\n */\n @Prop({ mutable: true, reflect: false })\n sizes: number[] = [];\n\n /**\n * Minimum sizes (in px) for each pane.\n * Example: `[100, 200]` => first pane min 100px, second min 200px.\n * Explicitly `reflect: false` (array) for framework compatibility.\n */\n @Prop({ reflect: false })\n readonly minSizes?: number[];\n\n /**\n * Width or height of the gutter (in px) depending on the split direction.\n * Default is 24px to meet WCAG 2.2 target size requirements for touch accessibility.\n */\n @Prop({ reflect: true })\n readonly gutterSize: number = 24;\n\n //#endregion\n /****************************************************************************/\n //#region STATE\n\n @State()\n private isDragging: boolean = false;\n\n private dragIndex: number = -1;\n private startPos: number = 0;\n private startSizes: number[] = [];\n private ro?: ResizeObserver;\n\n // Handlers stored to be able to detach them\n private onDocMove = (e: MouseEvent) => this.handleMouseMove(e);\n private onDocUp = () => this.stopDragging();\n\n //#endregion\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when pane sizes are updated (drag start/stop or programmatically).\n * @bind sizes\n */\n @Event({ bubbles: false })\n sizesChanged: EventEmitter<number[]>;\n\n //#endregion\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('sizes')\n protected onSizesChanged(): void {\n // Re-apply sizes if modified from the outside\n this.applySizes();\n }\n\n @Watch('direction')\n protected onDirectionChanged(): void {\n // Update the orientation and the cursors of the gutters\n this.ensureGutters();\n this.applySizes();\n }\n\n //#endregion\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentDidLoad(): void {\n // Initialization (once)\n this.ensureGutters();\n\n // Defer applySizes to ensure CSS (margins, padding) is computed\n requestAnimationFrame(() => {\n this.applySizes();\n this.positionGutters();\n });\n\n // Observer: reposition gutters when resized\n this.ro = new ResizeObserver(() => this.positionGutters());\n this.ro.observe(this.el);\n\n window.addEventListener('resize', () => this.positionGutters());\n }\n\n disconnectedCallback(): void {\n // Security cleanup (in case a drag was in progress)\n this.detachDocumentListeners();\n this.ro?.disconnect();\n this.ro = undefined;\n }\n\n //#endregion\n /****************************************************************************/\n //#region PUBLIC METHODS\n\n /**\n * Programmatically set pane sizes.\n * @param {Array<number>} sizes Array of pane sizes in percentages.\n * @returns {Promise<void>}\n */\n @Method()\n async setSizes(sizes: number[]): Promise<void> {\n this.sizes = [...sizes];\n this.applySizes();\n this.sizesChanged.emit([...this.sizes]);\n this.positionGutters();\n }\n\n /**\n * Returns the current pane sizes.\n * @returns {Promise<number[]>} Array of pane sizes in percentages.\n */\n @Method()\n async getSizes(): Promise<number[]> {\n return [...this.sizes];\n }\n\n /**\n * Collapse a specific pane to 0 size.\n * @param {number} index Index of the pane to collapse.\n * @returns {Promise<void>}\n */\n @Method()\n async collapse(index: number): Promise<void> {\n const panes = this.getPanes();\n if (index < 0 || index >= panes.length) return;\n\n // Simple strategy: 0% for the index, the rest (100%) for its nearest neighbor\n const next = new Array(panes.length).fill(0);\n const target = index < panes.length - 1 ? index + 1 : index - 1;\n if (target >= 0) next[target] = 100;\n\n this.sizes = next;\n this.applySizes();\n this.sizesChanged.emit([...this.sizes]);\n this.positionGutters();\n }\n\n /**\n * Destroy the split instance: removes gutters and resets layout state.\n * @returns {Promise<void>}\n */\n @Method()\n async destroy(): Promise<void> {\n this.sizes = [];\n this.isDragging = false;\n this.dragIndex = -1;\n this.removeOwnGutters();\n this.detachDocumentListeners();\n this.ro?.disconnect();\n }\n\n //#endregion\n /****************************************************************************/\n //#region INTERNAL HELPERS\n\n /**\n * Returns the panes of the split.\n * @returns {HTMLElement[]} The panes of the split.\n */\n private getPanes(): HTMLElement[] {\n // Only the direct children slot=\"pane\"\n return Array.from(\n this.el.querySelectorAll<HTMLElement>(':scope > [slot=\"pane\"]'),\n );\n }\n\n /**\n * Returns the own gutters of the split.\n * @returns {HTMLElement[]} The own gutters of the split.\n */\n private getOwnGutters(): HTMLElement[] {\n // Only the direct gutters of THIS instance\n return Array.from(\n this.el.querySelectorAll<HTMLElement>(\n ':scope > .nv-split-gutter[data-auto=\"true\"]',\n ),\n );\n }\n\n /**\n * Removes the own gutters of the split.\n */\n private removeOwnGutters(): void {\n this.getOwnGutters().forEach(g => g.remove());\n }\n\n /**\n * Ensures the gutters of the split.\n */\n private ensureGutters(): void {\n const panes = this.getPanes();\n\n // 1) Clean ONLY the old direct gutters of THIS instance\n this.removeOwnGutters();\n\n if (panes.length <= 1) return;\n\n // 2) Add the gutters (directs) between the panes\n panes.forEach((pane, i) => {\n if (i >= panes.length - 1) return;\n\n const g = document.createElement('div');\n g.className = 'nv-split-gutter';\n g.setAttribute('data-auto', 'true');\n\n if (this.direction === 'horizontal') {\n g.style.width = `${this.gutterSize}px`;\n g.style.cursor = 'col-resize';\n } else {\n g.style.height = `${this.gutterSize}px`;\n g.style.cursor = 'row-resize';\n }\n\n // Customizable internal slot\n const slotEl = document.createElement('slot');\n slotEl.name = 'gutter';\n g.appendChild(slotEl);\n\n // Listener drag (index = gutter between pane i and i+1)\n g.addEventListener('mousedown', (ev: MouseEvent) =>\n this.startDragging(ev, i),\n );\n\n // Insert just after the pane\n pane.insertAdjacentElement('afterend', g);\n });\n\n this.positionGutters();\n }\n\n /**\n * Applies the sizes to the panes.\n */\n private applySizes(): void {\n const panes = this.getPanes();\n const n = panes.length;\n if (n === 0) return;\n\n // Default values if inconsistent\n if (!this.sizes || this.sizes.length !== n) {\n this.sizes = Array(n).fill(100 / n);\n }\n\n panes.forEach((pane, i) => {\n const size = Math.max(0, this.sizes[i] ?? 100 / n);\n pane.style.flex = `0 0 ${size}%`;\n pane.style.minWidth = '0';\n pane.style.minHeight = '0';\n pane.style.overflow = 'hidden';\n pane.style.display = 'flex';\n pane.style.flexDirection = 'column';\n pane.style.boxSizing = 'border-box';\n });\n\n this.positionGutters();\n }\n\n /**\n * Attaches the document listeners.\n */\n private attachDocumentListeners(): void {\n document.addEventListener('mousemove', this.onDocMove);\n document.addEventListener('mouseup', this.onDocUp);\n }\n\n /**\n * Detaches the document listeners.\n */\n private detachDocumentListeners(): void {\n document.removeEventListener('mousemove', this.onDocMove);\n document.removeEventListener('mouseup', this.onDocUp);\n }\n\n /**\n * Positions the gutters based on the current sizes of the panes.\n */\n private positionGutters(): void {\n const panes = this.getPanes();\n const gutters = this.getOwnGutters();\n if (panes.length <= 1 || gutters.length === 0) return;\n\n const horizontal = this.direction === 'horizontal';\n let cumPct = 0;\n\n for (let i = 0; i < gutters.length; i++) {\n const sizePct = this.sizes?.[i] ?? 100 / panes.length;\n cumPct += sizePct;\n\n const g = gutters[i];\n g.style.position = 'absolute';\n\n if (horizontal) {\n g.style.left = `${cumPct}%`;\n g.style.top = '0';\n g.style.bottom = '0';\n g.style.height = '100%';\n g.style.transform = 'translateX(-50%)';\n } else {\n g.style.top = `${cumPct}%`;\n g.style.left = '0';\n g.style.right = '0';\n g.style.width = '100%';\n g.style.transform = 'translateY(-50%)';\n }\n }\n }\n\n /**\n * Starts the dragging process.\n * @param {MouseEvent} e - The mouse event.\n * @param {number} index - The index of the gutter.\n */\n private startDragging(e: MouseEvent, index: number): void {\n e.preventDefault();\n this.isDragging = true;\n this.dragIndex = index;\n this.startPos = this.direction === 'horizontal' ? e.clientX : e.clientY;\n this.startSizes = [...this.sizes];\n this.attachDocumentListeners();\n this.sizesChanged.emit([...this.sizes]);\n }\n\n /**\n * Handles the mouse movement during dragging.\n * @param {MouseEvent} e - The mouse event.\n */\n private handleMouseMove(e: MouseEvent): void {\n if (!this.isDragging || this.dragIndex < 0) return;\n\n const panes = this.getPanes();\n if (panes.length < 2) return;\n\n const rect = this.el.getBoundingClientRect();\n const horizontal = this.direction === 'horizontal';\n const totalPx = Math.max(horizontal ? rect.width : rect.height, 1);\n\n const deltaPx = (horizontal ? e.clientX : e.clientY) - this.startPos;\n const deltaPct = (deltaPx / totalPx) * 100;\n\n const i = this.dragIndex;\n const j = i + 1;\n\n const startLeft = this.startSizes[i];\n const startRight = this.startSizes[j];\n\n // minSizes (px) -> %\n let minLeftPct = ((this.minSizes?.[i] ?? 0) / totalPx) * 100;\n let minRightPct = ((this.minSizes?.[j] ?? 0) / totalPx) * 100;\n\n const minSum = minLeftPct + minRightPct;\n const availableSum = startLeft + startRight;\n if (minSum > availableSum) {\n const scale = availableSum / minSum;\n minLeftPct *= scale;\n minRightPct *= scale;\n }\n\n const minDelta = minLeftPct - startLeft;\n const maxDelta = startRight - minRightPct;\n const clampedDelta = Math.min(Math.max(deltaPct, minDelta), maxDelta);\n\n const left = startLeft + clampedDelta;\n const right = startRight - clampedDelta;\n\n const next = [...this.startSizes];\n next[i] = left;\n next[j] = right;\n\n this.sizes = next;\n this.applySizes();\n this.positionGutters();\n }\n\n /**\n * Stops the dragging process.\n */\n private stopDragging(): void {\n if (!this.isDragging) return;\n this.isDragging = false;\n this.dragIndex = -1;\n this.detachDocumentListeners();\n this.sizesChanged.emit([...this.sizes]);\n }\n\n //#endregion\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host data-dragging={this.isDragging.toString()}>\n <slot name=\"pane\"></slot>\n <slot name=\"gutter\"></slot>\n </Host>\n );\n }\n\n //#endregion\n /****************************************************************************/\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-stack.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-stack/nv-stack.docs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAGlC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,MAAM,WAAW,GAAiC;IAChD,SAAS,EAAE,UAAU;IACrB,aAAa,EAAE,CAAC,WAAW,CAAC;IAC5B,OAAO,EAAE;QACP,UAAU;QACV;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACnB,QAAQ,EAAE,CACR;gBACE,8BAA6B;gBAC7B,8BAA6B;gBAC7B,8BAA6B,CACpB,CACZ;SACF;QACD,OAAO;QACP;YACE,IAAI,EAAE,MAAM,CAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7C,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;YACpB,QAAQ,EAAE,CACR,gBAAU,QAAQ,QAAC,MAAM,EAAE,CAAC;gBAC1B,6CAA8B,KAAK,EAAC,MAAM;oBACxC,8BAA6B;oBAC7B,8BAA6B,CACpB;gBACX,6CAA8B,QAAQ;oBACpC,8BAA6B;oBAC7B,8BAA6B,CACpB,CACF,CACZ;SACF;QACD,OAAO;QACP;YACE,IAAI,EAAE,MAAM,CAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7C,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;YACpB,QAAQ,EAAE,CACR;gBACE,8BAA6B;gBAC7B,8BAA6B;gBAC7B,8BAA6B,CACpB,CACZ;SACF;QACD,OAAO;QACP;YACE,IAAI,EAAE,MAAM,CAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7C,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;YACpB,QAAQ,EAAE,CACR;gBACE,8BAA6B;gBAC7B,8BAA6B;gBAC7B,8BAA6B,CACpB,CACZ;SACF;QACD,SAAS;QACT;YACE,IAAI,EAAE,MAAM,CAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YAC/C,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACnB,QAAQ,EAAE,CACR;gBACE,8BAA6B;gBAC7B,8BAA6B;gBAC7B,8BAA6B,CACpB,CACZ;SACF;QACD,WAAW;QACX;YACE,IAAI,EAAE,MAAM,CAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;YACjD,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YACxB,QAAQ,EAAE,CACR;gBACE,8BAA6B;gBAC7B,8BAA6B;gBAC7B,8BAA6B,CACpB,CACZ;SACF;QACD,cAAc;QACd;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,iCAAiC;YAC9C,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACnB,QAAQ,EAAE,CACR;gBACE,gCAA+B;gBAC/B,gCAA+B;gBAC/B,gCAA+B,CACtB,CACZ;SACF;KACF;CACF,CAAC;AAEF,eAAe,WAAW,CAAC","sourcesContent":["import { h } from '@stencil/core';\nimport type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\nimport { nameof } from '../../utils/class.utils';\n\nconst NvStackDocs: NovaDocs<Components.NvStack> = {\n component: 'nv-stack',\n subcomponents: ['nv-button'],\n stories: [\n // Default\n {\n name: 'Default',\n args: { gutter: 2 },\n template: (\n <nv-stack data-storybook-args>\n <nv-button>Button</nv-button>\n <nv-button>Button</nv-button>\n <nv-button>Button</nv-button>\n </nv-stack>\n ),\n },\n // fill\n {\n name: nameof<Components.NvStack>(x => x.fill),\n args: { fill: true },\n template: (\n <nv-stack vertical gutter={2}>\n <nv-stack data-storybook-args class=\"h-20\">\n <nv-button>Button</nv-button>\n <nv-button>Button</nv-button>\n </nv-stack>\n <nv-stack data-storybook-args vertical>\n <nv-button>Button</nv-button>\n <nv-button>Button</nv-button>\n </nv-stack>\n </nv-stack>\n ),\n },\n // flex\n {\n name: nameof<Components.NvStack>(x => x.flex),\n args: { flex: true },\n template: (\n <nv-stack data-storybook-args>\n <nv-button>Button</nv-button>\n <nv-button>Button</nv-button>\n <nv-button>Button</nv-button>\n </nv-stack>\n ),\n },\n // full\n {\n name: nameof<Components.NvStack>(x => x.full),\n args: { full: true },\n template: (\n <nv-stack data-storybook-args>\n <nv-button>Button</nv-button>\n <nv-button>Button</nv-button>\n <nv-button>Button</nv-button>\n </nv-stack>\n ),\n },\n // gutter\n {\n name: nameof<Components.NvStack>(x => x.gutter),\n args: { gutter: 4 },\n template: (\n <nv-stack data-storybook-args>\n <nv-button>Button</nv-button>\n <nv-button>Button</nv-button>\n <nv-button>Button</nv-button>\n </nv-stack>\n ),\n },\n // vertical\n {\n name: nameof<Components.NvStack>(x => x.vertical),\n args: { vertical: true },\n template: (\n <nv-stack data-storybook-args>\n <nv-button>Button</nv-button>\n <nv-button>Button</nv-button>\n <nv-button>Button</nv-button>\n </nv-stack>\n ),\n },\n // SlotDefault\n {\n name: 'SlotDefault',\n description: 'Default slot for stack content.',\n args: { gutter: 2 },\n template: (\n <nv-stack data-storybook-args>\n <nv-button>Button 1</nv-button>\n <nv-button>Button 2</nv-button>\n <nv-button>Button 3</nv-button>\n </nv-stack>\n ),\n },\n ],\n};\n\nexport default NvStackDocs;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-stack.js","sourceRoot":"","sources":["../../../../src/components/nv-stack/nv-stack.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;;GAGG;AAMH,MAAM,OAAO,OAAO;IALpB;QAME,8EAA8E;QAC9E,oBAAoB;QAEpB;;;WAGG;QAEM,WAAM,GAAW,CAAC,CAAC;KAsD7B;IAtBC,uBAAuB;IACvB,8EAA8E;IAC9E,gBAAgB;IAEhB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE,IAAI,CACT,IAAI,CAAC,IAAI,IAAI,eAAe,EAC5B,IAAI,CAAC,IAAI,IAAI,eAAe,EAC5B,IAAI,CAAC,IAAI,IAAI,QAAQ,EACrB,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS,IAAI,CAAC,MAAM,EAAE,EACvD,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,IAAI,CAAC,MAAM,EAAE,EACtD,IAAI,CAAC,QAAQ,IAAI,mBAAmB,CACrC;YAED,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGF","sourcesContent":["import { Component, Host, Prop, h } from '@stencil/core';\nimport clsx from 'clsx';\n\n/**\n * @deprecated Please use tailwind classes instead\n * @slot default - Content of the stack\n */\n@Component({\n tag: 'nv-stack',\n styleUrl: './nv-stack.scss',\n shadow: false,\n})\nexport class NvStack {\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Gutter refers to the space that exists between children components inside\n * the stack container.\n */\n @Prop({ reflect: true })\n readonly gutter: number = 2;\n\n /**\n * Fill will force the children to fill the stack depending of the direction\n * of the stack. In horizontal position, the children take the height of the\n * stack. In vertical position, the children take the width of the stack.\n */\n @Prop({ reflect: true })\n readonly fill: boolean;\n\n /**\n * Flex will force the children to share the stack between the children\n * depending of the direction of the stack. In horizontal position, the\n * children width will share the width of the stack. In vertical position,\n * the children height will share the height of the stack.\n */\n @Prop({ reflect: true })\n readonly flex: boolean;\n\n /**\n * Full set the width of the stack to 100%.\n * (same effect as WFull props)\n */\n @Prop({ reflect: true })\n readonly full: boolean;\n\n /**\n * Display the element of the stack vertically.\n */\n @Prop({ reflect: true })\n readonly vertical: boolean;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n class={clsx(\n this.fill && 'nv-stack-fill',\n this.flex && 'nv-stack-flex',\n this.full && 'w-full',\n this.gutter && !this.vertical && `gap-x-${this.gutter}`,\n this.gutter && this.vertical && `gap-y-${this.gutter}`,\n this.vertical && 'nv-stack-vertical',\n )}\n >\n <slot></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-table.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-table/nv-table.docs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h } from '@stencil/core';\nimport type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\n\nconst NvTableDocs: NovaDocs<Components.NvTable> = {\n component: 'nv-table',\n subcomponents: ['nv-tableheader'],\n composedComponents: ['nv-tableheader'],\n stories: [\n // Default\n {\n name: 'Default',\n description:\n 'The NvTable behaves just like a native HTML table element, but is enhanced with Nova styles and additional functionality. Use standard table elements (thead, tbody, tfoot, tr, th, td) as children.',\n template: (\n <nv-table data-storybook-args>\n <table>\n <thead>\n <tr>\n <th>Name</th>\n <th>Age</th>\n <th>Email</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>Alice Johnson</td>\n <td>25</td>\n <td>alice.johnson@example.com</td>\n </tr>\n <tr>\n <td>Bob Smith</td>\n <td>30</td>\n <td>bob.smith@example.com</td>\n </tr>\n <tr>\n <td>Charlie Brown</td>\n <td>35</td>\n <td>charlie.brown@example.com</td>\n </tr>\n </tbody>\n </table>\n </nv-table>\n ),\n },\n // TableWithTableheader\n {\n name: 'TableWithTableheader',\n description:\n 'Use the nv-tableheader component to add a header with additional features row to the table.',\n template: (\n <nv-table data-storybook-args>\n <table>\n <thead>\n <tr>\n <th>\n <nv-tableheader sortable>Name</nv-tableheader>\n </th>\n <th>\n <nv-tableheader sortable>Age</nv-tableheader>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>Alice Johnson</td>\n <td>25</td>\n </tr>\n <tr>\n <td>Bob Smith</td>\n <td>30</td>\n </tr>\n <tr>\n <td>Charlie Brown</td>\n <td>35</td>\n </tr>\n </tbody>\n </table>\n </nv-table>\n ),\n },\n // ColumnResizingWidthClasses\n {\n name: 'ColumnResizingWidthClasses',\n description:\n 'Columns can be resized by default. Use width classes (like w-10) to set initial column widths. Use data-no-resize attribute to prevent specific columns from being resized. Columns without fixed widths will grow to fill available space.',\n template: (\n <nv-table data-storybook-args>\n <table>\n <thead>\n <tr>\n <th data-class=\"w-10\">Name</th>\n <th data-class=\"w-10\">Age</th>\n <th data-no-resize>Email (grows to fill space)</th>\n <th data-class=\"w-10\" data-no-resize>\n Actions\n </th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>Alice Johnson</td>\n <td>25</td>\n <td>alice.johnson@company.example.com</td>\n <td>Edit</td>\n </tr>\n <tr>\n <td>Bob Smith</td>\n <td>30</td>\n <td>bob.smith@company.example.com</td>\n <td>Edit</td>\n </tr>\n <tr>\n <td>Charlie Brown</td>\n <td>35</td>\n <td>charlie.brown@company.example.com</td>\n <td>Edit</td>\n </tr>\n </tbody>\n </table>\n </nv-table>\n ),\n },\n // RowSelection\n {\n name: 'RowSelection',\n description:\n 'Use the data-selected attribute on table rows to apply selection styling and indicate the currently selected row.',\n template: (\n <nv-table data-storybook-args>\n <table>\n <thead>\n <tr>\n <th>Name</th>\n <th>Department</th>\n <th>Status</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>Alice Johnson</td>\n <td>Engineering</td>\n <td>Active</td>\n </tr>\n <tr data-selected>\n <td>Bob Smith</td>\n <td>Design</td>\n <td>Active</td>\n </tr>\n <tr>\n <td>Charlie Brown</td>\n <td>Product</td>\n <td>Inactive</td>\n </tr>\n </tbody>\n </table>\n </nv-table>\n ),\n },\n // StickyHeader\n {\n name: 'StickyHeader',\n description:\n 'Use data-sticky-top on thead elements to make the header stick to the top during vertical scrolling. This is useful for long tables where you want to keep column headers visible.',\n template: (\n <div data-class=\"h-40 overflow-y-auto\">\n <nv-table data-storybook-args>\n <table>\n <thead data-sticky-top>\n <tr>\n <th>Name</th>\n <th>Position</th>\n <th>Department</th>\n </tr>\n </thead>\n <tbody>\n {Array(10)\n .fill(0)\n .map((_, index) => (\n <tr key={index}>\n <td>Employee {index + 1}</td>\n <td>Developer</td>\n <td>Engineering</td>\n </tr>\n ))}\n </tbody>\n </table>\n </nv-table>\n </div>\n ),\n },\n // StickyColumnsHorizontalScroll\n {\n name: 'StickyColumnsHorizontalScroll',\n description:\n 'Use data-sticky-left and data-sticky-right on th/td elements to make columns stick during horizontal scrolling. Apply the same attribute to both header and data cells. Requires an overflow-x-auto container.',\n template: (\n <div data-class=\"overflow-x-auto\">\n <nv-table data-storybook-args>\n <table>\n <thead>\n <tr>\n <th data-sticky-left>Name</th>\n <th>Position</th>\n <th>Department</th>\n <th>Email</th>\n <th>Phone</th>\n <th>Address</th>\n <th>Start Date</th>\n <th>Salary</th>\n <th>Manager</th>\n <th>Skills</th>\n <th>Notes</th>\n <th>Website</th>\n <th data-sticky-right>Actions</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td data-sticky-left>John Doe</td>\n <td>Senior Developer</td>\n <td>Engineering</td>\n <td>john.doe@company.com</td>\n <td>+1-555-0123</td>\n <td>123 Main St, NY 10001</td>\n <td>2022-03-10</td>\n <td>$95,000</td>\n <td>Sarah Wilson</td>\n <td>React, TypeScript, Node.js</td>\n <td>Team lead with React expertise</td>\n <td>johndoe.dev</td>\n <td data-sticky-right>Edit | Delete</td>\n </tr>\n <tr>\n <td data-sticky-left>Jane Smith</td>\n <td>UX Designer</td>\n <td>Design</td>\n <td>jane.smith@company.com</td>\n <td>+1-555-0456</td>\n <td>456 Oak Ave, LA 90210</td>\n <td>2021-09-15</td>\n <td>$87,000</td>\n <td>Tom Anderson</td>\n <td>Figma, Adobe CC, User Research</td>\n <td>Creative designer with 8 years experience</td>\n <td>janesmith.design</td>\n <td data-sticky-right>Edit | Delete</td>\n </tr>\n <tr>\n <td data-sticky-left>Mike Johnson</td>\n <td>Product Manager</td>\n <td>Product</td>\n <td>mike.johnson@company.com</td>\n <td>+1-555-0789</td>\n <td>789 Pine St, Chicago 60601</td>\n <td>2020-01-08</td>\n <td>$110,000</td>\n <td>Lisa Chen</td>\n <td>Agile, Scrum, Product Strategy</td>\n <td>Experienced project manager and strategist</td>\n <td>mikejohnson.biz</td>\n <td data-sticky-right>Edit | Delete</td>\n </tr>\n </tbody>\n </table>\n </nv-table>\n </div>\n ),\n },\n // SlotDefault\n {\n name: 'SlotDefault',\n description:\n 'Default slot for table content. Use standard HTML table elements (table, thead, tbody, tfoot, tr, th, td) as children.',\n template: (\n <nv-table data-storybook-args>\n <table>\n <thead>\n <tr>\n <th>Column 1</th>\n <th>Column 2</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>Data 1</td>\n <td>Data 2</td>\n </tr>\n </tbody>\n </table>\n </nv-table>\n ),\n },\n ],\n};\n\nexport default NvTableDocs;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-table.js","sourceRoot":"","sources":["../../../../src/components/nv-table/nv-table.tsx"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,kCAAkC;AAClC,uDAAuD;AAEvD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EACL,eAAe,EAEf,+BAA+B,EAC/B,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AAMH,MAAM,OAAO,OAAO;IALpB;QAQU,gBAAW,GAAuB,IAAI,CAAC;KA0EhD;IAxEC,8EAA8E;IAC9E,oBAAoB;IACpB,uBAAuB;IACvB,8EAA8E;IAC9E,iBAAiB;IACjB,oBAAoB;IACpB,8EAA8E;IAC9E,mBAAmB;IAGnB,aAAa,CAAC,EAAgB;QAC5B,MAAM,EAAE,GAAG,mBAAmB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE;YAAE,OAAO;QAEhB,uDAAuD;QACvD,IAAI,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC;YAAE,OAAO;QAE9C,MAAM,OAAO,GAAG,sBAAsB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,+BAA+B,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QAEnC,gDAAgD;QAChD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC;YAAE,OAAO;QAE/D,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAE7C,iEAAiE;QACjE,iBAAiB,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;QAEpC,0CAA0C;QAC1C,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAGD,aAAa,CAAC,EAAgB;QAC5B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAAE,OAAO;QAEtD,yBAAyB,CAAC,IAAI,CAAC,WAAY,EAAE,EAAE,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IAID,WAAW,CAAC,EAAgB;QAC1B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAAE,OAAO;QAEtD,qBAAqB,CACnB,IAAI,CAAC,WAAY,CAAC,YAAY,EAC9B,IAAI,CAAC,WAAY,CAAC,SAAS,CAC5B,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,sBAAsB;IACtB,8EAA8E;IAC9E,mBAAmB;IACnB,sBAAsB;IACtB,8EAA8E;IAC9E,gBAAgB;IAChB,mBAAmB;IACnB,8EAA8E;IAC9E,gBAAgB;IAEhB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,8DAAa,CACR,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGF","sourcesContent":["/* eslint-disable @stencil-community/prefer-vdom-listener */\n\n// Useful link for styling help ->\n// https://css-tricks.com/complete-guide-table-element/\n\nimport { Component, Host, h, Listen, Element } from '@stencil/core';\nimport {\n TABLE_CONSTANTS,\n ResizeState,\n getHandleWidthForCurrentPointer,\n getClosestTableCell,\n getPointerOffsetInCell,\n isInResizeHandle,\n createResizeState,\n isValidResizeState,\n updateCellWidthFromResize,\n setPointerCapture,\n releasePointerCapture,\n setUserSelectPrevention,\n getCellWidth,\n} from './nv-table.utils';\n\n/**\n * @slot default - Child content of the component.\n */\n@Component({\n tag: 'nv-table',\n styleUrl: 'styles/nv-table.scss',\n shadow: false,\n})\nexport class NvTable {\n @Element() host!: HTMLNvTableElement;\n\n private resizeState: ResizeState | null = null;\n\n /****************************************************************************/\n //#region PROPERTIES\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n //#endregion METHODS\n /****************************************************************************/\n //#region LISTENERS\n\n @Listen('pointerdown')\n onPointerDown(ev: PointerEvent) {\n const th = getClosestTableCell(ev.target);\n if (!th) return;\n\n // Skip resize if the cell has data-no-resize attribute\n if (th.hasAttribute('data-no-resize')) return;\n\n const offsetX = getPointerOffsetInCell(ev, th);\n const handleWidth = getHandleWidthForCurrentPointer();\n const cellWidth = getCellWidth(th);\n\n // Start only if we're in the resize handle area\n if (!isInResizeHandle(offsetX, cellWidth, handleWidth)) return;\n\n this.resizeState = createResizeState(th, ev);\n\n // Capture so move/up still fire even if the finger leaves the th\n setPointerCapture(th, ev.pointerId);\n\n // Prevent scrolling/selection during drag\n setUserSelectPrevention(true);\n }\n\n @Listen('pointermove', { target: 'window' })\n onPointerMove(ev: PointerEvent) {\n if (!isValidResizeState(this.resizeState, ev)) return;\n\n updateCellWidthFromResize(this.resizeState!, ev, TABLE_CONSTANTS.MIN_W);\n }\n\n @Listen('pointerup', { target: 'window' })\n @Listen('pointercancel', { target: 'window' })\n onPointerUp(ev: PointerEvent) {\n if (!isValidResizeState(this.resizeState, ev)) return;\n\n releasePointerCapture(\n this.resizeState!.resizingCell,\n this.resizeState!.pointerId,\n );\n this.resizeState = null;\n setUserSelectPrevention(false);\n }\n\n //#endregion LISTENERS\n /****************************************************************************/\n //#region LIFECYCLE\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region EVENTS\n //#endregion EVENTS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n\n // #endregion RENDER\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-table.utils.js","sourceRoot":"","sources":["../../../../src/components/nv-table/nv-table.utils.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Table utility functions and constants for nv-table component\n *\n * This module contains pure utility functions for table column resizing logic,\n * pointer event handling calculations, and related helper functions.\n */\n\n/**\n * Constants for table column resizing behavior\n */\nexport const TABLE_CONSTANTS = Object.freeze({\n /** Handle width for fine pointers (mouse) in pixels */\n HANDLE_W: 12,\n /** Handle width for coarse pointers (touch) in pixels */\n HANDLE_W_TOUCH: 24,\n /** Minimum column width in pixels */\n MIN_W: 40,\n} as const);\n\n/**\n * Determines the appropriate handle width based on the current pointer type\n * @returns {number} Handle width in pixels (10px for fine pointers, 24px for coarse/touch)\n */\nexport function getHandleWidthForCurrentPointer(): number {\n // Match the CSS media query: wider handle on coarse pointers (touch)\n return matchMedia('(pointer: coarse)').matches\n ? TABLE_CONSTANTS.HANDLE_W_TOUCH\n : TABLE_CONSTANTS.HANDLE_W;\n}\n\n/**\n * Calculates the pointer's horizontal offset within a table cell\n * @param {PointerEvent} event - The pointer event\n * @param {HTMLTableCellElement} cell - The table cell element\n * @returns {number} The horizontal offset from the left edge of the cell\n */\nexport function getPointerOffsetInCell(\n event: PointerEvent,\n cell: HTMLTableCellElement,\n): number {\n const rect = cell.getBoundingClientRect();\n return event.clientX - rect.left;\n}\n\n/**\n * Determines if the pointer is within the resize handle area of a table cell\n * @param {number} offsetX - Horizontal offset within the cell\n * @param {number} cellWidth - Total width of the cell\n * @param {number} handleWidth - Width of the resize handle area\n * @returns {boolean} True if the pointer is in the resize handle area\n */\nexport function isInResizeHandle(\n offsetX: number,\n cellWidth: number,\n handleWidth: number,\n): boolean {\n return offsetX >= cellWidth - handleWidth;\n}\n\n/**\n * Calculates the new column width based on resize delta and constraints\n * @param {number} startWidth - Original width of the column\n * @param {number} delta - Change in pixels from the start position\n * @param {number} minWidth - Minimum allowed width for the column\n * @returns {number} The calculated new width, constrained by minimum\n */\nexport function calculateNewWidth(\n startWidth: number,\n delta: number,\n minWidth: number = TABLE_CONSTANTS.MIN_W,\n): number {\n return Math.max(minWidth, startWidth + delta);\n}\n\n/**\n * Validates that a table cell element is suitable for resizing\n * @param {HTMLElement | null} element - The element to check\n * @returns {element is HTMLTableCellElement} Type guard for table cell elements\n */\nexport function isValidTableCell(\n element: HTMLElement | null,\n): element is HTMLTableCellElement {\n return element?.tagName === 'TH' || element?.tagName === 'TD';\n}\n\n/**\n * Finds the closest table cell element from an event target\n * @param {EventTarget | null} target - The event target\n * @returns {HTMLTableCellElement | null} The closest table cell or null\n */\nexport function getClosestTableCell(\n target: EventTarget | null,\n): HTMLTableCellElement | null {\n if (!(target instanceof HTMLElement)) return null;\n\n const cell = target.closest('th, td') as HTMLTableCellElement | null;\n return isValidTableCell(cell) ? cell : null;\n}\n\n/**\n * Sets up pointer capture for consistent drag behavior across browsers\n * @param {HTMLTableCellElement} cell - The table cell element\n * @param {number} pointerId - The pointer ID from the pointer event\n * @returns {boolean} True if capture was successfully set\n */\nexport function setPointerCapture(\n cell: HTMLTableCellElement,\n pointerId: number,\n): boolean {\n try {\n cell.setPointerCapture?.(pointerId);\n return true;\n } catch {\n return false;\n }\n}\n\n/**\n * Releases pointer capture\n * @param {HTMLTableCellElement} cell - The table cell element\n * @param {number} pointerId - The pointer ID from the pointer event\n * @returns {boolean} True if release was successful\n */\nexport function releasePointerCapture(\n cell: HTMLTableCellElement,\n pointerId: number,\n): boolean {\n try {\n cell.releasePointerCapture?.(pointerId);\n return true;\n } catch {\n return false;\n }\n}\n\n/**\n * Prevents text selection during drag operations\n * @param {boolean} prevent - Whether to prevent selection\n */\nexport function setUserSelectPrevention(prevent: boolean): void {\n document.body.style.userSelect = prevent ? 'none' : '';\n}\n\n/**\n * Gets the current width of a table cell element\n * @param {HTMLTableCellElement} cell - The table cell element\n * @returns {number} The current width in pixels\n */\nexport function getCellWidth(cell: HTMLTableCellElement): number {\n return cell.offsetWidth;\n}\n\n/**\n * Applies a width to a table cell element\n * @param {HTMLTableCellElement} cell - The table cell element\n * @param {number} width - The width to apply in pixels\n */\nexport function setCellWidth(cell: HTMLTableCellElement, width: number): void {\n cell.style.width = `${width}px`;\n}\n\n/**\n * Calculates the delta (change) in horizontal position between two pointer events\n * @param {number} currentX - Current clientX position\n * @param {number} startX - Starting clientX position\n * @returns {number} The horizontal delta\n */\nexport function calculatePointerDelta(\n currentX: number,\n startX: number,\n): number {\n return currentX - startX;\n}\n\n/**\n * Interface for resize operation state\n */\nexport interface ResizeState {\n /** The table cell being resized */\n resizingCell: HTMLTableCellElement;\n /** The pointer ID for this resize operation */\n pointerId: number;\n /** Starting X coordinate */\n startX: number;\n /** Starting width of the cell */\n startWidth: number;\n}\n\n/**\n * Creates a new resize state object\n * @param {HTMLTableCellElement} cell - The cell being resized\n * @param {PointerEvent} event - The initiating pointer event\n * @returns {ResizeState} A new resize state object\n */\nexport function createResizeState(\n cell: HTMLTableCellElement,\n event: PointerEvent,\n): ResizeState {\n return {\n resizingCell: cell,\n pointerId: event.pointerId,\n startX: event.clientX,\n startWidth: getCellWidth(cell),\n };\n}\n\n/**\n * Validates that a resize state is active and matches the given pointer event\n * @param {ResizeState | null} state - The current resize state\n * @param {PointerEvent} event - The pointer event to validate against\n * @returns {boolean} True if the state is valid for this event\n */\nexport function isValidResizeState(\n state: ResizeState | null,\n event: PointerEvent,\n): boolean {\n return state !== null && state.pointerId === event.pointerId;\n}\n\n/**\n * Updates the width of a cell during a resize operation\n * @param {ResizeState} state - The current resize state\n * @param {PointerEvent} event - The current pointer event\n * @param {number} minWidth - Minimum width constraint\n */\nexport function updateCellWidthFromResize(\n state: ResizeState,\n event: PointerEvent,\n minWidth: number = TABLE_CONSTANTS.MIN_W,\n): void {\n const delta = calculatePointerDelta(event.clientX, state.startX);\n const newWidth = calculateNewWidth(state.startWidth, delta, minWidth);\n setCellWidth(state.resizingCell, newWidth);\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-table.utils.test.js","sourceRoot":"","sources":["../../../../../src/components/nv-table/test/nv-table.utils.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';\nimport {\n TABLE_CONSTANTS,\n getHandleWidthForCurrentPointer,\n getPointerOffsetInCell,\n isInResizeHandle,\n calculateNewWidth,\n isValidTableCell,\n getClosestTableCell,\n setPointerCapture,\n releasePointerCapture,\n setUserSelectPrevention,\n getCellWidth,\n setCellWidth,\n calculatePointerDelta,\n createResizeState,\n isValidResizeState,\n updateCellWidthFromResize,\n} from '../nv-table.utils';\n\n// Mock browser globals\nconst mockMatchMedia = vi.fn();\nconst mockDocumentBody = {\n style: { userSelect: '' },\n};\n\nvi.stubGlobal('matchMedia', mockMatchMedia);\nvi.stubGlobal('document', { body: mockDocumentBody });\nvi.stubGlobal('HTMLElement', class MockHTMLElement {});\n\n/**\n * Comprehensive tests for nv-table utilities\n *\n * These tests validate all utility functions:\n * - Constants and configuration values\n * - Pointer event calculations and handling\n * - Column resize logic and constraints\n * - DOM element validation and manipulation\n * - Resize state management\n * - Edge cases and error conditions\n */\n\ndescribe('nv-table.utils - Comprehensive Tests', () => {\n // Mock DOM elements and browser APIs\n let mockCell: HTMLTableCellElement;\n let mockPointerEvent: PointerEvent;\n\n beforeEach(() => {\n // Reset mocks\n vi.clearAllMocks();\n\n // Setup matchMedia mock for each test\n mockMatchMedia.mockImplementation(query => ({\n matches: query.includes('coarse') ? false : true,\n media: query,\n }));\n\n // Reset document body style\n mockDocumentBody.style.userSelect = '';\n\n // Mock HTMLTableCellElement with mutable offsetWidth\n const mockCellProps = {\n tagName: 'TH',\n offsetWidth: 100,\n style: { width: '' },\n getBoundingClientRect: vi.fn().mockReturnValue({\n left: 10,\n top: 10,\n width: 100,\n height: 30,\n }),\n closest: vi.fn().mockReturnValue(null),\n setPointerCapture: vi.fn(),\n releasePointerCapture: vi.fn(),\n };\n\n // Make offsetWidth mutable for testing\n Object.defineProperty(mockCellProps, 'offsetWidth', {\n writable: true,\n value: 100,\n });\n\n mockCell = mockCellProps as unknown as HTMLTableCellElement;\n\n // Mock PointerEvent\n mockPointerEvent = {\n pointerId: 1,\n clientX: 50,\n clientY: 20,\n target: mockCell,\n } as unknown as PointerEvent;\n });\n\n afterEach(() => {\n vi.clearAllMocks();\n });\n\n describe('TABLE_CONSTANTS', () => {\n it('should have correct constant values', () => {\n expect(TABLE_CONSTANTS.HANDLE_W).toBe(12);\n expect(TABLE_CONSTANTS.HANDLE_W_TOUCH).toBe(24);\n expect(TABLE_CONSTANTS.MIN_W).toBe(40);\n });\n\n it('should be immutable', () => {\n // Object.freeze prevents modification in strict mode\n const originalValue = TABLE_CONSTANTS.HANDLE_W;\n try {\n (TABLE_CONSTANTS as any).HANDLE_W = 20;\n } catch {\n // Ignored - assignment may or may not throw depending on strict mode\n }\n expect(TABLE_CONSTANTS.HANDLE_W).toBe(originalValue);\n });\n });\n\n describe('getHandleWidthForCurrentPointer', () => {\n it('should return fine pointer width for mouse input', () => {\n mockMatchMedia.mockReturnValue({ matches: false });\n\n const result = getHandleWidthForCurrentPointer();\n\n expect(result).toBe(TABLE_CONSTANTS.HANDLE_W);\n expect(mockMatchMedia).toHaveBeenCalledWith('(pointer: coarse)');\n });\n\n it('should return touch width for coarse pointer input', () => {\n mockMatchMedia.mockReturnValue({ matches: true });\n\n const result = getHandleWidthForCurrentPointer();\n\n expect(result).toBe(TABLE_CONSTANTS.HANDLE_W_TOUCH);\n expect(mockMatchMedia).toHaveBeenCalledWith('(pointer: coarse)');\n });\n\n it('should handle matchMedia errors gracefully', () => {\n mockMatchMedia.mockImplementation(() => {\n throw new Error('matchMedia not supported');\n });\n\n expect(() => getHandleWidthForCurrentPointer()).toThrow();\n });\n });\n\n describe('getPointerOffsetInCell', () => {\n it('should calculate correct offset within cell', () => {\n const event = { clientX: 60 } as PointerEvent;\n mockCell.getBoundingClientRect = vi.fn().mockReturnValue({ left: 10 });\n\n const result = getPointerOffsetInCell(event, mockCell);\n\n expect(result).toBe(50); // 60 - 10\n expect(mockCell.getBoundingClientRect).toHaveBeenCalled();\n });\n\n it('should handle zero offset', () => {\n const event = { clientX: 10 } as PointerEvent;\n mockCell.getBoundingClientRect = vi.fn().mockReturnValue({ left: 10 });\n\n const result = getPointerOffsetInCell(event, mockCell);\n\n expect(result).toBe(0);\n });\n\n it('should handle negative offset', () => {\n const event = { clientX: 5 } as PointerEvent;\n mockCell.getBoundingClientRect = vi.fn().mockReturnValue({ left: 10 });\n\n const result = getPointerOffsetInCell(event, mockCell);\n\n expect(result).toBe(-5);\n });\n\n it('should handle fractional coordinates', () => {\n const event = { clientX: 15.7 } as PointerEvent;\n mockCell.getBoundingClientRect = vi.fn().mockReturnValue({ left: 10.3 });\n\n const result = getPointerOffsetInCell(event, mockCell);\n\n expect(result).toBeCloseTo(5.4, 1);\n });\n });\n\n describe('isInResizeHandle', () => {\n it('should return true when pointer is in handle area', () => {\n const result = isInResizeHandle(95, 100, 10);\n expect(result).toBe(true);\n });\n\n it('should return true when pointer is exactly at handle boundary', () => {\n const result = isInResizeHandle(90, 100, 10);\n expect(result).toBe(true);\n });\n\n it('should return false when pointer is outside handle area', () => {\n const result = isInResizeHandle(89, 100, 10);\n expect(result).toBe(false);\n });\n\n it('should handle edge cases with zero dimensions', () => {\n expect(isInResizeHandle(0, 0, 10)).toBe(true); // 0 >= 0 - 10 = -10 (true)\n expect(isInResizeHandle(0, 10, 0)).toBe(false); // 0 >= 10 - 0 = 10 (false)\n });\n\n it('should handle large handle areas', () => {\n const result = isInResizeHandle(50, 100, 60);\n expect(result).toBe(true); // 50 >= 100 - 60 = 40\n });\n\n it('should handle fractional values', () => {\n const result = isInResizeHandle(85.5, 100.2, 10.7);\n expect(result).toBe(false); // 85.5 < 100.2 - 10.7 = 89.5\n });\n });\n\n describe('calculateNewWidth', () => {\n it('should calculate width with positive delta', () => {\n const result = calculateNewWidth(100, 20);\n expect(result).toBe(120);\n });\n\n it('should calculate width with negative delta', () => {\n const result = calculateNewWidth(100, -20);\n expect(result).toBe(80);\n });\n\n it('should enforce minimum width constraint', () => {\n const result = calculateNewWidth(50, -30, 40);\n expect(result).toBe(40); // Math.max(40, 50 - 30 = 20)\n });\n\n it('should use default minimum width when not provided', () => {\n const result = calculateNewWidth(50, -30);\n expect(result).toBe(TABLE_CONSTANTS.MIN_W);\n });\n\n it('should handle zero delta', () => {\n const result = calculateNewWidth(100, 0);\n expect(result).toBe(100);\n });\n\n it('should handle fractional values', () => {\n const result = calculateNewWidth(100.5, 20.3, 30.7);\n expect(result).toBeCloseTo(120.8, 1);\n });\n\n it('should handle extreme negative delta', () => {\n const result = calculateNewWidth(100, -200, 40);\n expect(result).toBe(40);\n });\n });\n\n describe('isValidTableCell', () => {\n it('should return true for TH elements', () => {\n const th = { tagName: 'TH' } as HTMLTableCellElement;\n expect(isValidTableCell(th)).toBe(true);\n });\n\n it('should return true for TD elements', () => {\n const td = { tagName: 'TD' } as HTMLTableCellElement;\n expect(isValidTableCell(td)).toBe(true);\n });\n\n it('should return false for other elements', () => {\n const div = { tagName: 'DIV' } as HTMLElement;\n expect(isValidTableCell(div)).toBe(false);\n });\n\n it('should return false for null', () => {\n expect(isValidTableCell(null)).toBe(false);\n });\n\n it('should return false for undefined', () => {\n expect(isValidTableCell(undefined as any)).toBe(false);\n });\n\n it('should handle case sensitivity', () => {\n const th = { tagName: 'th' } as any;\n expect(isValidTableCell(th)).toBe(false); // tagName is always uppercase in real DOM\n });\n });\n\n describe('getClosestTableCell', () => {\n it('should return closest table cell element', () => {\n const mockElement = Object.create(HTMLElement.prototype);\n mockElement.closest = vi.fn().mockReturnValue(mockCell);\n\n const result = getClosestTableCell(mockElement);\n\n expect(result).toBe(mockCell);\n expect(mockElement.closest).toHaveBeenCalledWith('th, td');\n });\n\n it('should return null for non-HTMLElement targets', () => {\n const result = getClosestTableCell('not an element' as any);\n expect(result).toBeNull();\n });\n\n it('should return null when closest returns null', () => {\n const mockElement = {\n closest: vi.fn().mockReturnValue(null),\n } as unknown as HTMLElement;\n\n const result = getClosestTableCell(mockElement);\n\n expect(result).toBeNull();\n });\n\n it('should return null when closest returns invalid element', () => {\n const invalidElement = { tagName: 'DIV' } as HTMLElement;\n const mockElement = {\n closest: vi.fn().mockReturnValue(invalidElement),\n } as unknown as HTMLElement;\n\n const result = getClosestTableCell(mockElement);\n\n expect(result).toBeNull();\n });\n\n it('should handle null target', () => {\n const result = getClosestTableCell(null);\n expect(result).toBeNull();\n });\n });\n\n describe('setPointerCapture', () => {\n it('should successfully set pointer capture', () => {\n mockCell.setPointerCapture = vi.fn();\n\n const result = setPointerCapture(mockCell, 123);\n\n expect(result).toBe(true);\n expect(mockCell.setPointerCapture).toHaveBeenCalledWith(123);\n });\n\n it('should handle missing setPointerCapture method', () => {\n const cellWithoutCapture = { setPointerCapture: undefined } as any;\n\n const result = setPointerCapture(cellWithoutCapture, 123);\n\n expect(result).toBe(true); // Method doesn't exist but doesn't throw\n });\n\n it('should handle setPointerCapture exceptions', () => {\n mockCell.setPointerCapture = vi.fn().mockImplementation(() => {\n throw new Error('Capture failed');\n });\n\n const result = setPointerCapture(mockCell, 123);\n\n expect(result).toBe(false);\n });\n\n it('should handle different pointer IDs', () => {\n mockCell.setPointerCapture = vi.fn();\n\n setPointerCapture(mockCell, 999);\n\n expect(mockCell.setPointerCapture).toHaveBeenCalledWith(999);\n });\n });\n\n describe('releasePointerCapture', () => {\n it('should successfully release pointer capture', () => {\n mockCell.releasePointerCapture = vi.fn();\n\n const result = releasePointerCapture(mockCell, 123);\n\n expect(result).toBe(true);\n expect(mockCell.releasePointerCapture).toHaveBeenCalledWith(123);\n });\n\n it('should handle missing releasePointerCapture method', () => {\n const cellWithoutRelease = { releasePointerCapture: undefined } as any;\n\n const result = releasePointerCapture(cellWithoutRelease, 123);\n\n expect(result).toBe(true);\n });\n\n it('should handle releasePointerCapture exceptions', () => {\n mockCell.releasePointerCapture = vi.fn().mockImplementation(() => {\n throw new Error('Release failed');\n });\n\n const result = releasePointerCapture(mockCell, 123);\n\n expect(result).toBe(false);\n });\n });\n\n describe('setUserSelectPrevention', () => {\n it('should prevent user selection', () => {\n setUserSelectPrevention(true);\n expect(document.body.style.userSelect).toBe('none');\n });\n\n it('should restore user selection', () => {\n document.body.style.userSelect = 'none';\n setUserSelectPrevention(false);\n expect(document.body.style.userSelect).toBe('');\n });\n\n it('should handle multiple calls', () => {\n setUserSelectPrevention(true);\n setUserSelectPrevention(true);\n expect(document.body.style.userSelect).toBe('none');\n\n setUserSelectPrevention(false);\n expect(document.body.style.userSelect).toBe('');\n });\n });\n\n describe('getCellWidth', () => {\n it('should return cell offset width', () => {\n (mockCell as any).offsetWidth = 150;\n\n const result = getCellWidth(mockCell);\n\n expect(result).toBe(150);\n });\n\n it('should handle zero width', () => {\n (mockCell as any).offsetWidth = 0;\n\n const result = getCellWidth(mockCell);\n\n expect(result).toBe(0);\n });\n\n it('should handle fractional width (rounded by browser)', () => {\n (mockCell as any).offsetWidth = 100; // Browser rounds fractional offset values\n\n const result = getCellWidth(mockCell);\n\n expect(result).toBe(100);\n });\n });\n\n describe('setCellWidth', () => {\n it('should set cell width in pixels', () => {\n setCellWidth(mockCell, 150);\n expect(mockCell.style.width).toBe('150px');\n });\n\n it('should handle zero width', () => {\n setCellWidth(mockCell, 0);\n expect(mockCell.style.width).toBe('0px');\n });\n\n it('should handle fractional width', () => {\n setCellWidth(mockCell, 150.5);\n expect(mockCell.style.width).toBe('150.5px');\n });\n\n it('should overwrite previous width', () => {\n mockCell.style.width = '100px';\n setCellWidth(mockCell, 200);\n expect(mockCell.style.width).toBe('200px');\n });\n });\n\n describe('calculatePointerDelta', () => {\n it('should calculate positive delta', () => {\n const result = calculatePointerDelta(150, 100);\n expect(result).toBe(50);\n });\n\n it('should calculate negative delta', () => {\n const result = calculatePointerDelta(80, 100);\n expect(result).toBe(-20);\n });\n\n it('should calculate zero delta', () => {\n const result = calculatePointerDelta(100, 100);\n expect(result).toBe(0);\n });\n\n it('should handle fractional coordinates', () => {\n const result = calculatePointerDelta(150.7, 100.3);\n expect(result).toBeCloseTo(50.4, 1);\n });\n\n it('should handle large deltas', () => {\n const result = calculatePointerDelta(1000, 100);\n expect(result).toBe(900);\n });\n });\n\n describe('createResizeState', () => {\n it('should create valid resize state', () => {\n const event = {\n pointerId: 42,\n clientX: 200,\n } as PointerEvent;\n (mockCell as any).offsetWidth = 120;\n\n const result = createResizeState(mockCell, event);\n\n expect(result).toEqual({\n resizingCell: mockCell,\n pointerId: 42,\n startX: 200,\n startWidth: 120,\n });\n });\n\n it('should handle different pointer IDs', () => {\n const event = {\n pointerId: 999,\n clientX: 300,\n } as PointerEvent;\n\n const result = createResizeState(mockCell, event);\n\n expect(result.pointerId).toBe(999);\n });\n\n it('should capture current cell width at time of creation', () => {\n (mockCell as any).offsetWidth = 75;\n const event = {\n pointerId: 1,\n clientX: 100,\n } as PointerEvent;\n\n const result = createResizeState(mockCell, event);\n\n expect(result.startWidth).toBe(75);\n });\n });\n\n describe('isValidResizeState', () => {\n const mockState = {\n resizingCell: mockCell,\n pointerId: 42,\n startX: 100,\n startWidth: 120,\n };\n\n it('should return true for matching pointer event', () => {\n const event = { pointerId: 42 } as PointerEvent;\n\n const result = isValidResizeState(mockState, event);\n\n expect(result).toBe(true);\n });\n\n it('should return false for non-matching pointer ID', () => {\n const event = { pointerId: 43 } as PointerEvent;\n\n const result = isValidResizeState(mockState, event);\n\n expect(result).toBe(false);\n });\n\n it('should return false for null state', () => {\n const event = { pointerId: 42 } as PointerEvent;\n\n const result = isValidResizeState(null, event);\n\n expect(result).toBe(false);\n });\n\n it('should handle edge case pointer IDs', () => {\n const zeroIdState = { ...mockState, pointerId: 0 };\n const event = { pointerId: 0 } as PointerEvent;\n\n const result = isValidResizeState(zeroIdState, event);\n\n expect(result).toBe(true);\n });\n });\n\n describe('updateCellWidthFromResize', () => {\n it('should update cell width during resize', () => {\n const state = {\n resizingCell: mockCell,\n pointerId: 1,\n startX: 100,\n startWidth: 120,\n };\n const event = { clientX: 130 } as PointerEvent;\n\n updateCellWidthFromResize(state, event);\n\n expect(mockCell.style.width).toBe('150px'); // 120 + (130 - 100) = 150\n });\n\n it('should enforce minimum width constraint', () => {\n const state = {\n resizingCell: mockCell,\n pointerId: 1,\n startX: 100,\n startWidth: 60,\n };\n const event = { clientX: 50 } as PointerEvent;\n\n updateCellWidthFromResize(state, event, 40);\n\n expect(mockCell.style.width).toBe('40px'); // Constrained to minimum\n });\n\n it('should use default minimum width', () => {\n const state = {\n resizingCell: mockCell,\n pointerId: 1,\n startX: 100,\n startWidth: 50,\n };\n const event = { clientX: 40 } as PointerEvent;\n\n updateCellWidthFromResize(state, event);\n\n expect(mockCell.style.width).toBe(`${TABLE_CONSTANTS.MIN_W}px`);\n });\n\n it('should handle negative deltas', () => {\n const state = {\n resizingCell: mockCell,\n pointerId: 1,\n startX: 100,\n startWidth: 120,\n };\n const event = { clientX: 80 } as PointerEvent;\n\n updateCellWidthFromResize(state, event);\n\n expect(mockCell.style.width).toBe('100px'); // 120 + (80 - 100) = 100\n });\n });\n\n describe('Integration Scenarios', () => {\n it('should handle complete resize workflow', () => {\n // Setup initial state\n const initialEvent = {\n pointerId: 1,\n clientX: 100,\n target: mockCell,\n } as unknown as PointerEvent;\n\n // Create resize state\n const state = createResizeState(mockCell, initialEvent);\n expect(isValidResizeState(state, initialEvent)).toBe(true);\n\n // Simulate pointer move\n const moveEvent = { pointerId: 1, clientX: 130 } as PointerEvent;\n expect(isValidResizeState(state, moveEvent)).toBe(true);\n updateCellWidthFromResize(state, moveEvent);\n\n // Verify width was updated\n expect(mockCell.style.width).toContain('px');\n });\n\n it('should handle pointer capture workflow', () => {\n mockCell.setPointerCapture = vi.fn();\n mockCell.releasePointerCapture = vi.fn();\n\n // Set capture\n const setCaptureResult = setPointerCapture(mockCell, 123);\n expect(setCaptureResult).toBe(true);\n\n // Release capture\n const releaseCaptureResult = releasePointerCapture(mockCell, 123);\n expect(releaseCaptureResult).toBe(true);\n\n expect(mockCell.setPointerCapture).toHaveBeenCalledWith(123);\n expect(mockCell.releasePointerCapture).toHaveBeenCalledWith(123);\n });\n\n it('should handle user selection prevention workflow', () => {\n // Start resize - prevent selection\n setUserSelectPrevention(true);\n expect(document.body.style.userSelect).toBe('none');\n\n // End resize - restore selection\n setUserSelectPrevention(false);\n expect(document.body.style.userSelect).toBe('');\n });\n\n it('should validate resize handle detection', () => {\n const event = { clientX: 95 } as PointerEvent;\n mockCell.getBoundingClientRect = vi.fn().mockReturnValue({ left: 0 });\n (mockCell as any).offsetWidth = 100;\n\n const offsetX = getPointerOffsetInCell(event, mockCell);\n const cellWidth = getCellWidth(mockCell);\n const handleWidth = getHandleWidthForCurrentPointer();\n const inHandle = isInResizeHandle(offsetX, cellWidth, handleWidth);\n\n expect(offsetX).toBe(95);\n expect(cellWidth).toBe(100);\n expect(inHandle).toBe(true); // 95 >= 100 - handleWidth\n });\n });\n\n describe('Edge Cases and Error Handling', () => {\n it('should handle extreme coordinate values', () => {\n const extremeEvent = { clientX: Number.MAX_SAFE_INTEGER } as PointerEvent;\n mockCell.getBoundingClientRect = vi.fn().mockReturnValue({ left: 0 });\n\n const offset = getPointerOffsetInCell(extremeEvent, mockCell);\n expect(typeof offset).toBe('number');\n expect(isFinite(offset)).toBe(true);\n });\n\n it('should handle zero-sized cells', () => {\n (mockCell as any).offsetWidth = 0;\n const state = createResizeState(mockCell, mockPointerEvent);\n\n expect(state.startWidth).toBe(0);\n\n const moveEvent = { pointerId: 1, clientX: 50 } as PointerEvent;\n updateCellWidthFromResize(state, moveEvent);\n\n expect(mockCell.style.width).toBe(`${TABLE_CONSTANTS.MIN_W}px`);\n });\n\n it('should handle rapid pointer ID changes', () => {\n const state1 = createResizeState(mockCell, {\n pointerId: 1,\n clientX: 100,\n } as PointerEvent);\n const state2 = createResizeState(mockCell, {\n pointerId: 2,\n clientX: 100,\n } as PointerEvent);\n\n const event1 = { pointerId: 1 } as PointerEvent;\n const event2 = { pointerId: 2 } as PointerEvent;\n\n expect(isValidResizeState(state1, event1)).toBe(true);\n expect(isValidResizeState(state1, event2)).toBe(false);\n expect(isValidResizeState(state2, event1)).toBe(false);\n expect(isValidResizeState(state2, event2)).toBe(true);\n });\n\n it('should handle missing DOM methods gracefully', () => {\n const incompleteCell = {\n tagName: 'TH',\n offsetWidth: 100,\n style: { width: '' },\n getBoundingClientRect: undefined,\n } as unknown as HTMLTableCellElement;\n\n expect(() => {\n getPointerOffsetInCell(mockPointerEvent, incompleteCell);\n }).toThrow();\n });\n });\n\n describe('Performance and Memory', () => {\n it('should not create unnecessary objects in hot paths', () => {\n const startMemory = (performance as any).memory?.usedJSHeapSize || 0;\n\n // Run calculations that should not allocate much memory\n for (let i = 0; i < 1000; i++) {\n calculateNewWidth(100 + i, (i % 20) - 10);\n calculatePointerDelta(i + 50, i);\n isInResizeHandle(i % 100, 100, 10);\n }\n\n const endMemory = (performance as any).memory?.usedJSHeapSize || 0;\n const memoryIncrease = endMemory - startMemory;\n\n // This is a loose check - mainly ensuring we don't have massive memory leaks\n expect(memoryIncrease).toBeLessThan(1000000); // Less than 1MB increase\n });\n\n it('should handle high-frequency resize updates', () => {\n const state = createResizeState(mockCell, mockPointerEvent);\n const startTime = performance.now();\n\n // Simulate high-frequency updates\n for (let i = 0; i < 100; i++) {\n const event = { pointerId: 1, clientX: 100 + i } as PointerEvent;\n if (isValidResizeState(state, event)) {\n updateCellWidthFromResize(state, event);\n }\n }\n\n const endTime = performance.now();\n const duration = endTime - startTime;\n\n // Should complete quickly\n expect(duration).toBeLessThan(100); // Less than 100ms for 100 updates\n });\n });\n});\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-tableheader.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-tableheader/nv-tableheader.docs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAGlC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,MAAM,iBAAiB,GAAuC;IAC5D,SAAS,EAAE,gBAAgB;IAC3B,KAAK,EAAE,MAAM;IACb,OAAO,EAAE;QACP,UAAU;QACV;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,CACR,qEAAkE,CACnE;SACF;QACD,WAAW;QACX;YACE,IAAI,EAAE,MAAM,CAA2B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;YACvD,WAAW,EACT,wGAAwG;YAC1G,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YACxB,QAAQ,EAAE,CACR,uEAAoE,CACrE;SACF;QACD,gBAAgB;QAChB;YACE,IAAI,EAAE,MAAM,CAA2B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;YAC5D,WAAW,EACT,+DAA+D;YACjE,QAAQ,EAAE,CACR,yBAAgB,YAAY;gBAC1B,mDAAoC,QAAQ,QAAC,aAAa,EAAC,MAAM,WAEhD;gBACjB,mDAAoC,QAAQ,QAAC,aAAa,EAAC,KAAK,gBAE/C;gBACjB,mDAAoC,QAAQ,QAAC,aAAa,EAAC,MAAM,iBAEhD,CACb,CACP;SACF;QACD,cAAc;QACd;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,sCAAsC;YACnD,QAAQ,EAAE,CACR,6EAEiB,CAClB;SACF;KACF;CACF,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["import { h } from '@stencil/core';\nimport type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\nimport { nameof } from '../../utils/class.utils';\n\nconst NvTableheaderDocs: NovaDocs<Components.NvTableheader> = {\n component: 'nv-tableheader',\n badge: 'beta',\n stories: [\n // Default\n {\n name: 'Default',\n template: (\n <nv-tableheader data-storybook-args>Child Content</nv-tableheader>\n ),\n },\n // sortable\n {\n name: nameof<Components.NvTableheader>(x => x.sortable),\n description:\n 'Renders the header as sortable with an icon button, allowing sorting via click or keyboard navigation.',\n args: { sortable: true },\n template: (\n <nv-tableheader data-storybook-args>Sortable Header</nv-tableheader>\n ),\n },\n // sortDirection\n {\n name: nameof<Components.NvTableheader>(x => x.sortDirection),\n description:\n 'The current sort direction of the header: none, asc, or desc.',\n template: (\n <div data-class=\"flex gap-4\">\n <nv-tableheader data-storybook-args sortable sortDirection=\"none\">\n None\n </nv-tableheader>\n <nv-tableheader data-storybook-args sortable sortDirection=\"asc\">\n Ascending\n </nv-tableheader>\n <nv-tableheader data-storybook-args sortable sortDirection=\"desc\">\n Descending\n </nv-tableheader>\n </div>\n ),\n },\n // SlotDefault\n {\n name: 'SlotDefault',\n description: 'Default slot for the header content.',\n template: (\n <nv-tableheader data-storybook-args>\n Custom Header Content\n </nv-tableheader>\n ),\n },\n ],\n};\n\nexport default NvTableheaderDocs;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-tableheader.js","sourceRoot":"","sources":["../../../../src/components/nv-tableheader/nv-tableheader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAE9E;;GAEG;AAMH,MAAM,OAAO,aAAa;IAL1B;QAME,8EAA8E;QAC9E,oBAAoB;QAEpB;;;;WAIG;QAEM,aAAQ,GAAY,KAAK,CAAC;QAEnC;;;WAGG;QAEH,kBAAa,GAA4B,MAAM,CAAC;KA2FjD;IAzFC,uBAAuB;IACvB,8EAA8E;IAC9E,iBAAiB;IAET,kBAAkB,CAAC,CAAS;QAClC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,CAAC,EAAE,cAAc,EAAE,CAAC;QAEpB,MAAM,IAAI,GAAG;YACX,IAAI,EAAE,KAAK;YACX,GAAG,EAAE,MAAM;YACX,IAAI,EAAE,MAAM;SACJ,CAAC;QAEX,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAEO,aAAa,CAAC,KAAoB;QACxC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YAC/C,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,IAAI,QAAQ;QACV,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,WAAW;YAChB,IAAI,EAAE,YAAY;SACV,CAAC;QAEX,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,OAAO,CAAC,IAAI,CAAC;QACxC,OAAO,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAmBD,mBAAmB;IACnB,8EAA8E;IAC9E,gBAAgB;IAEhB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDACH,IAAI,EAAC,cAAc,eACR,IAAI,CAAC,QAAQ,EACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EACvC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EACxC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;YAE3C,8DAAa;YAEZ,IAAI,CAAC,QAAQ,IAAI,CAChB,6DAAM,KAAK,EAAC,gBAAgB,iBAAa,MAAM;gBAC7C,sEACE,eAAe,QACf,IAAI,EAAC,UAAU,EACf,IAAI,EAAC,IAAI,EACT,QAAQ,EAAE,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;oBACzD,wCAAwC;oBACxC,WAAW,EAAE,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,EAClD,KAAK,EAAE;wBACL,SAAS,EAAE,IAAI,CAAC,aAAa,KAAK,MAAM;wBACxC,SAAS,EAAE,IAAI,CAAC,aAAa,KAAK,MAAM;qBACzC,GACD,CACG,CACR,CACI,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEF","sourcesContent":["import { Component, Host, h, Prop, Event, EventEmitter } from '@stencil/core';\n\n/**\n * @slot default - Child content of the component.\n */\n@Component({\n tag: 'nv-tableheader',\n styleUrl: 'nv-tableheader.scss',\n shadow: false,\n})\nexport class NvTableheader {\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Will render the header as sortable with the corresponding icon button.\n * Allows the header to be tabbed, and trigger sorting via click or keyboard\n * navigation\n */\n @Prop({ reflect: true })\n readonly sortable: boolean = false;\n\n /**\n * The current sort direction of the header. Will be 'none' if the header is\n * not sortable or if the sort direction is not set.\n */\n @Prop({ reflect: true, mutable: true })\n sortDirection: 'none' | 'asc' | 'desc' = 'none';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n private cycleSortDirection(e?: Event) {\n if (!this.sortable) return;\n e?.preventDefault();\n\n const next = {\n none: 'asc',\n asc: 'desc',\n desc: 'none',\n } as const;\n\n this.sortDirection = next[this.sortDirection];\n this.sortDirectionChanged.emit(this.sortDirection);\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (!this.sortable) return;\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.cycleSortDirection();\n }\n }\n\n get ariaSort() {\n const sortMap = {\n none: 'none',\n asc: 'ascending',\n desc: 'descending',\n } as const;\n\n if (!this.sortable) return sortMap.none;\n return sortMap[this.sortDirection];\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region WATCHERS\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Event emitted when the sort direction changes. Payload is the new sort\n * direction.\n */\n @Event({ bubbles: false })\n sortDirectionChanged: EventEmitter<string>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n role=\"columnheader\"\n aria-sort={this.ariaSort}\n tabindex={this.sortable ? 0 : undefined}\n onKeyDown={this.handleKeyDown.bind(this)}\n onClick={this.cycleSortDirection.bind(this)}\n >\n <slot></slot>\n\n {this.sortable && (\n <span class=\"sort-icon-wrap\" aria-hidden=\"true\">\n <nv-iconbutton\n disableTabindex\n name=\"arrow-up\"\n size=\"xs\"\n emphasis={this.sortDirection === 'none' ? 'lower' : 'low'}\n // prevent mousedown from selecting text\n onMouseDown={(e: MouseEvent) => e.preventDefault()}\n class={{\n 'is-none': this.sortDirection === 'none',\n 'is-desc': this.sortDirection === 'desc',\n }}\n />\n </span>\n )}\n </Host>\n );\n }\n // #endregion RENDER\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nv-toggle.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-toggle/nv-toggle.docs.tsx"],"names":[],"mappings":"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","sourcesContent":["import { h } from '@stencil/core';\nimport type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\nimport { nameof } from '../../utils/class.utils';\n\nconst NvToggleDocs: NovaDocs<Components.NvToggle> = {\n component: 'nv-toggle',\n stories: [\n // Default\n {\n name: 'Default',\n template: <nv-toggle data-storybook-args></nv-toggle>,\n },\n // label\n {\n name: nameof<Components.NvToggle>(x => x.label),\n description: 'The label displayed next to the toggle.',\n args: { label: 'Label' },\n template: <nv-toggle data-storybook-args></nv-toggle>,\n },\n // description\n {\n name: nameof<Components.NvToggle>(x => x.description),\n description:\n 'A description providing additional context or information about the toggle.',\n args: { description: 'Description' },\n template: <nv-toggle data-storybook-args></nv-toggle>,\n },\n // checked\n {\n name: nameof<Components.NvToggle>(x => x.checked),\n description: 'Indicates whether the toggle is checked or not.',\n args: { checked: true },\n template: <nv-toggle data-storybook-args></nv-toggle>,\n },\n // disabled\n {\n name: nameof<Components.NvToggle>(x => x.disabled),\n description: 'Disables the toggle, preventing user interaction.',\n args: { disabled: true },\n template: (\n <div data-class=\"flex gap-4 \">\n <nv-toggle data-storybook-args></nv-toggle>\n <nv-toggle data-storybook-args checked></nv-toggle>\n </div>\n ),\n },\n // readonly\n {\n name: nameof<Components.NvToggle>(x => x.readonly),\n description:\n 'Sets the toggle to read-only, preventing user changes but still allowing focus and selection of text.',\n args: { readonly: true },\n template: (\n <div data-class=\"flex gap-4 \">\n <nv-toggle data-storybook-args></nv-toggle>\n <nv-toggle data-storybook-args checked></nv-toggle>\n </div>\n ),\n },\n // hideLabel\n {\n name: nameof<Components.NvToggle>(x => x.hideLabel),\n description:\n 'Hides the label visually while still keeping it available for screen readers.',\n args: { label: 'Label', hideLabel: true },\n template: <nv-toggle data-storybook-args></nv-toggle>,\n },\n // inputId\n {\n name: nameof<Components.NvToggle>(x => x.inputId),\n description:\n 'Sets the ID for the input element. If not provided, a random ID is generated.',\n args: { label: 'Toggle with custom ID', inputId: 'custom-toggle-id' },\n template: <nv-toggle data-storybook-args></nv-toggle>,\n },\n // name\n {\n name: nameof<Components.NvToggle>(x => x.name),\n description:\n 'The name attribute for the toggle input, used to reference the form data after submission.',\n args: { label: 'Accept Terms', name: 'accept-terms' },\n template: <nv-toggle data-storybook-args></nv-toggle>,\n },\n // value\n {\n name: nameof<Components.NvToggle>(x => x.value),\n description:\n 'The value attribute sent on form submission when the toggle is checked.',\n args: { label: 'Enable Feature', name: 'feature', value: 'enabled' },\n template: <nv-toggle data-storybook-args></nv-toggle>,\n },\n // labelPlacement\n {\n name: nameof<Components.NvToggle>(x => x.labelPlacement),\n description:\n 'Determines the position of the label relative to the toggle, either `start` (before) or `end` (after).',\n args: { label: 'Label', labelPlacement: 'before' },\n template: <nv-toggle data-storybook-args></nv-toggle>,\n },\n // SlotLabel\n {\n name: 'SlotLabel',\n description:\n 'You can use the `label` slot to customize the content of the label.',\n template: (\n <nv-toggle data-storybook-args>\n <span slot=\"label\">Label</span>\n </nv-toggle>\n ),\n },\n // SlotDescription\n {\n name: 'SlotDescription',\n description:\n 'You can use the `description` slot to customize the content of the description.',\n template: (\n <nv-toggle data-storybook-args>\n <span slot=\"description\">Description</span>\n </nv-toggle>\n ),\n },\n ],\n};\n\nexport default NvToggleDocs;\n"]}