@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.
- package/dist/cjs/_commonjsHelpers-CFO10eej.js +0 -3
- package/dist/cjs/clsx-BtxeOLZW.js +0 -3
- package/dist/cjs/collapse.animation-CcG0GAWk.js +0 -3
- package/dist/cjs/constants-BugGJYqL.js +0 -3
- package/dist/cjs/dom.utils-8VY5SfMZ.js +177 -0
- package/dist/cjs/events.utils-BE6R5q9C.js +0 -3
- package/dist/cjs/fade.animation-BQSqXXOJ.js +0 -3
- package/dist/cjs/grow.animation-ynu_HmA_.js +0 -3
- package/dist/cjs/i18n.utils-ku0bScip.js +0 -3
- package/dist/cjs/index-BQjqJTJB.js +4832 -0
- package/dist/cjs/index.cjs.js +0 -1
- package/dist/cjs/index.esm-CG1TVKfu.js +0 -3
- package/dist/cjs/inputmask-DtXnpVWa.js +0 -3
- package/dist/cjs/loader.cjs.js +3 -5
- package/dist/cjs/native.cjs.js +32 -7
- package/dist/cjs/nv-accordion-item.cjs.entry.js +8 -8
- package/dist/cjs/nv-accordion.cjs.entry.js +10 -9
- package/dist/cjs/nv-alert.cjs.entry.js +6 -5
- package/dist/cjs/nv-avatar.cjs.entry.js +3 -4
- package/dist/cjs/nv-badge_2.cjs.entry.js +15 -11
- package/dist/cjs/nv-breadcrumb.cjs.entry.js +14 -12
- package/dist/cjs/nv-breadcrumbs.cjs.entry.js +4 -5
- package/dist/cjs/nv-button.cjs.entry.js +10 -7
- package/dist/cjs/nv-buttongroup.cjs.entry.js +13 -8
- package/dist/cjs/nv-calendar.cjs.entry.js +27 -11
- package/dist/cjs/nv-col.cjs.entry.js +4 -5
- package/dist/cjs/nv-datagrid.cjs.entry.js +47 -185
- package/dist/cjs/nv-datagridcolumn.cjs.entry.js +2 -3
- package/dist/cjs/nv-dialog.cjs.entry.js +19 -21
- package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +11 -30
- package/dist/cjs/nv-drawer.cjs.entry.js +19 -20
- package/dist/cjs/nv-drawerfooter_2.cjs.entry.js +11 -30
- package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +10 -9
- package/dist/cjs/nv-fielddate.cjs.entry.js +15 -14
- package/dist/cjs/nv-fielddaterange.cjs.entry.js +15 -14
- package/dist/cjs/nv-fielddropdown.cjs.entry.js +17 -16
- package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +5 -9
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +12 -9
- package/dist/cjs/nv-fieldnumber.cjs.entry.js +10 -9
- package/dist/cjs/nv-fieldpassword.cjs.entry.js +10 -9
- package/dist/cjs/nv-fieldradio.cjs.entry.js +9 -8
- package/dist/cjs/nv-fieldselect.cjs.entry.js +20 -13
- package/dist/cjs/nv-fieldslider.cjs.entry.js +33 -16
- package/dist/cjs/nv-fieldtext.cjs.entry.js +7 -8
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js +15 -10
- package/dist/cjs/nv-fieldtime.cjs.entry.js +15 -10
- package/dist/cjs/nv-icon.cjs.entry.js +4 -5
- package/dist/cjs/nv-iconbutton_2.cjs.entry.js +13 -10
- package/dist/cjs/nv-menu.cjs.entry.js +9 -14
- package/dist/cjs/nv-menuitem.cjs.entry.js +4 -6
- package/dist/cjs/nv-notification-bullet.cjs.entry.js +3 -4
- package/dist/cjs/nv-notification.cjs.entry.js +4 -5
- package/dist/cjs/nv-notificationcontainer.cjs.entry.js +4 -5
- package/dist/cjs/nv-paginationtable.cjs.entry.js +228 -0
- package/dist/cjs/nv-popover.cjs.entry.js +105 -34
- package/dist/cjs/nv-row.cjs.entry.js +4 -5
- package/dist/cjs/nv-sidebar.cjs.entry.js +10 -7
- package/dist/cjs/nv-sidebarcontent.cjs.entry.js +4 -5
- package/dist/cjs/nv-sidebardivider.cjs.entry.js +4 -5
- package/dist/cjs/nv-sidebarfooter.cjs.entry.js +4 -5
- package/dist/cjs/nv-sidebargroup.cjs.entry.js +4 -5
- package/dist/cjs/nv-sidebarheader.cjs.entry.js +4 -5
- package/dist/cjs/nv-sidebarlogo.cjs.entry.js +4 -5
- package/dist/cjs/nv-sidebarnavitem.cjs.entry.js +9 -8
- package/dist/cjs/nv-sidebarnavsubitem.cjs.entry.js +4 -5
- package/dist/cjs/nv-split.cjs.entry.js +10 -7
- package/dist/cjs/nv-stack.cjs.entry.js +4 -5
- package/dist/cjs/nv-table.cjs.entry.js +4 -5
- package/dist/cjs/nv-tableheader.cjs.entry.js +4 -5
- package/dist/cjs/nv-toggle.cjs.entry.js +8 -7
- package/dist/cjs/nv-togglebutton.cjs.entry.js +4 -6
- package/dist/cjs/nv-togglebuttongroup.cjs.entry.js +13 -10
- package/dist/cjs/nv-tooltip.cjs.entry.js +10 -10
- package/dist/cjs/slide.animation-Cb3tpLQv.js +0 -3
- package/dist/cjs/style-value-types.es-B1vLqX9m.js +0 -3
- package/dist/cjs/timeline.animation-KteJaZPb.js +0 -3
- package/dist/cjs/uri.utils-DiMLQx64.js +0 -3
- package/dist/cjs/v4-C1vaJ4yP.js +0 -3
- package/dist/collection/animations/collapse.animation.js +0 -1
- package/dist/collection/animations/fade.animation.js +0 -1
- package/dist/collection/animations/grow.animation.js +0 -1
- package/dist/collection/animations/index.js +0 -1
- package/dist/collection/animations/slide.animation.js +0 -1
- package/dist/collection/animations/timeline.animation.js +0 -1
- package/dist/collection/collection-manifest.json +3 -2
- package/dist/collection/components/nv-accordion/nv-accordion.docs.js +0 -1
- package/dist/collection/components/nv-accordion/nv-accordion.js +1 -4
- package/dist/collection/components/nv-accordion-item/nv-accordion-item.docs.js +0 -1
- package/dist/collection/components/nv-accordion-item/nv-accordion-item.js +2 -4
- package/dist/collection/components/nv-alert/nv-alert.docs.js +0 -1
- package/dist/collection/components/nv-alert/nv-alert.js +4 -3
- package/dist/collection/components/nv-avatar/nv-avatar.docs.js +0 -1
- package/dist/collection/components/nv-avatar/nv-avatar.js +2 -2
- package/dist/collection/components/nv-badge/nv-badge.docs.js +0 -1
- package/dist/collection/components/nv-badge/nv-badge.js +0 -1
- package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.docs.js +0 -1
- package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js +12 -10
- package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.css +0 -3
- package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js +0 -1
- package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js +1 -2
- package/dist/collection/components/nv-button/nv-button.docs.js +0 -1
- package/dist/collection/components/nv-button/nv-button.js +7 -5
- package/dist/collection/components/nv-buttongroup/nv-buttongroup.docs.js +0 -1
- package/dist/collection/components/nv-buttongroup/nv-buttongroup.js +5 -4
- package/dist/collection/components/nv-buttongroup/nv-buttongroup.utils.js +0 -1
- package/dist/collection/components/nv-buttongroup/test/nv-buttongroup.utils.test.js +0 -1
- package/dist/collection/components/nv-calendar/nv-calendar.css +110 -1
- package/dist/collection/components/nv-calendar/nv-calendar.docs.js +0 -1
- package/dist/collection/components/nv-calendar/nv-calendar.js +9 -3
- package/dist/collection/components/nv-calendar/nv-calendar.utils.js +0 -1
- package/dist/collection/components/nv-calendar/partials/calendar-actions.js +0 -1
- package/dist/collection/components/nv-calendar/partials/calendar-grid.js +0 -1
- package/dist/collection/components/nv-calendar/partials/calendar-header.js +0 -1
- package/dist/collection/components/nv-calendar/partials/calendar-shortcuts.js +0 -1
- package/dist/collection/components/nv-calendar/partials/day-cell.js +0 -1
- package/dist/collection/components/nv-calendar/partials/index.js +0 -1
- package/dist/collection/components/nv-calendar/partials/week-numbers.js +0 -1
- package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js +0 -1
- package/dist/collection/components/nv-calendar/test/partials/calendar-actions.logic.test.js +0 -1
- package/dist/collection/components/nv-calendar/test/partials/calendar-grid.logic.test.js +0 -1
- package/dist/collection/components/nv-calendar/test/partials/calendar-header.logic.test.js +0 -1
- package/dist/collection/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.js +0 -1
- package/dist/collection/components/nv-calendar/test/partials/day-cell.logic.test.js +0 -1
- package/dist/collection/components/nv-calendar/test/partials/week-numbers.logic.test.js +0 -1
- package/dist/collection/components/nv-col/nv-col.docs.js +0 -1
- package/dist/collection/components/nv-col/nv-col.js +1 -2
- package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +0 -1
- package/dist/collection/components/nv-datagrid/nv-datagrid.js +6 -5
- package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.docs.js +0 -1
- package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +1 -2
- package/dist/collection/components/nv-dialog/nv-dialog.docs.js +0 -7
- package/dist/collection/components/nv-dialog/nv-dialog.js +17 -45
- package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.docs.js +0 -1
- package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js +8 -15
- package/dist/collection/components/nv-dialogheader/nv-dialogheader.docs.js +0 -1
- package/dist/collection/components/nv-dialogheader/nv-dialogheader.js +1 -13
- package/dist/collection/components/nv-drawer/nv-drawer.docs.js +0 -1
- package/dist/collection/components/nv-drawer/nv-drawer.js +13 -16
- package/dist/collection/components/nv-drawerfooter/nv-drawerfooter.docs.js +0 -1
- package/dist/collection/components/nv-drawerfooter/nv-drawerfooter.js +8 -15
- package/dist/collection/components/nv-drawerheader/nv-drawerheader.docs.js +0 -1
- package/dist/collection/components/nv-drawerheader/nv-drawerheader.js +1 -13
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.js +0 -1
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +6 -6
- package/dist/collection/components/nv-fielddate/nv-fielddate.docs.js +0 -1
- package/dist/collection/components/nv-fielddate/nv-fielddate.js +6 -9
- package/dist/collection/components/nv-fielddate/test/nv-fielddate.logic.test.js +0 -1
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.docs.js +0 -1
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +6 -9
- package/dist/collection/components/nv-fielddaterange/test/nv-fielddaterange.logic.test.js +0 -1
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +0 -1
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +16 -13
- package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.docs.js +0 -1
- package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +3 -7
- package/dist/collection/components/nv-fielddropdownitem/styles/nv-fielddropdownitem.css +78 -8
- package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.docs.js +0 -1
- package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +1 -3
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +0 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +5 -6
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js +0 -1
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +4 -5
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js +0 -1
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +7 -7
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.docs.js +0 -1
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +5 -5
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js +0 -1
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +5 -6
- package/dist/collection/components/nv-fieldselect/styles/nv-fieldselect.css +90 -7
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js +0 -1
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +3 -4
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js +0 -1
- package/dist/collection/components/nv-fieldslider/partials/field-input.js +0 -1
- package/dist/collection/components/nv-fieldslider/partials/range-thumb.js +0 -1
- package/dist/collection/components/nv-fieldslider/partials/single-thumb.js +0 -1
- package/dist/collection/components/nv-fieldslider/partials/tick-marks.js +0 -1
- package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js +0 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +0 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +7 -7
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js +0 -1
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -4
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js +0 -1
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +3 -4
- package/dist/collection/components/nv-fieldtime/utils/format-utils.js +0 -1
- package/dist/collection/components/nv-icon/nv-icon.docs.js +0 -1
- package/dist/collection/components/nv-icon/nv-icon.js +7 -5
- package/dist/collection/components/nv-icon/nv-icons.js +0 -1
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.docs.js +0 -1
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +11 -7
- package/dist/collection/components/nv-loader/nv-loader.docs.js +0 -1
- package/dist/collection/components/nv-loader/nv-loader.js +5 -4
- package/dist/collection/components/nv-menu/nv-menu.docs.js +0 -1
- package/dist/collection/components/nv-menu/nv-menu.js +14 -12
- package/dist/collection/components/nv-menuitem/nv-menuitem.docs.js +0 -1
- package/dist/collection/components/nv-menuitem/nv-menuitem.js +4 -5
- package/dist/collection/components/nv-notification/nv-notification.docs.js +0 -1
- package/dist/collection/components/nv-notification/nv-notification.js +5 -4
- package/dist/collection/components/nv-notification-bullet/nv-notification-bullet.docs.js +0 -1
- package/dist/collection/components/nv-notification-bullet/nv-notification-bullet.js +0 -1
- package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.docs.js +0 -1
- package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.js +3 -3
- package/dist/collection/components/nv-paginationtable/nv-paginationtable.css +17 -0
- package/dist/collection/components/nv-paginationtable/nv-paginationtable.docs.js +248 -0
- package/dist/collection/components/nv-paginationtable/nv-paginationtable.js +537 -0
- package/dist/collection/components/nv-paginationtable/nv-paginationtable.utils.js +64 -0
- package/dist/collection/components/nv-paginationtable/test/nv-paginationtable.utils.test.js +361 -0
- package/dist/collection/components/nv-popover/nv-popover.docs.js +0 -1
- package/dist/collection/components/nv-popover/nv-popover.js +19 -14
- package/dist/collection/components/nv-row/nv-row.docs.js +0 -1
- package/dist/collection/components/nv-row/nv-row.js +1 -2
- package/dist/collection/components/nv-sidebar/nv-sidebar.docs.js +0 -1
- package/dist/collection/components/nv-sidebar/nv-sidebar.js +1 -2
- package/dist/collection/components/nv-sidebarcontent/nv-sidebarcontent.docs.js +0 -1
- package/dist/collection/components/nv-sidebarcontent/nv-sidebarcontent.js +1 -2
- package/dist/collection/components/nv-sidebardivider/nv-sidebardivider.docs.js +0 -1
- package/dist/collection/components/nv-sidebardivider/nv-sidebardivider.js +1 -2
- package/dist/collection/components/nv-sidebarfooter/nv-sidebarfooter.docs.js +0 -1
- package/dist/collection/components/nv-sidebarfooter/nv-sidebarfooter.js +1 -2
- package/dist/collection/components/nv-sidebargroup/nv-sidebargroup.docs.js +0 -1
- package/dist/collection/components/nv-sidebargroup/nv-sidebargroup.js +1 -2
- package/dist/collection/components/nv-sidebarheader/nv-sidebarheader.docs.js +0 -1
- package/dist/collection/components/nv-sidebarheader/nv-sidebarheader.js +1 -2
- package/dist/collection/components/nv-sidebarlogo/nv-sidebarlogo.docs.js +0 -1
- package/dist/collection/components/nv-sidebarlogo/nv-sidebarlogo.js +1 -2
- package/dist/collection/components/nv-sidebarnavitem/nv-sidebarnavitem.docs.js +0 -1
- package/dist/collection/components/nv-sidebarnavitem/nv-sidebarnavitem.js +6 -6
- package/dist/collection/components/nv-sidebarnavsubitem/nv-sidebarnavsubitem.docs.js +0 -1
- package/dist/collection/components/nv-sidebarnavsubitem/nv-sidebarnavsubitem.js +1 -2
- package/dist/collection/components/nv-split/nv-split.docs.js +0 -1
- package/dist/collection/components/nv-split/nv-split.js +1 -2
- package/dist/collection/components/nv-stack/nv-stack.docs.js +0 -1
- package/dist/collection/components/nv-stack/nv-stack.js +1 -2
- package/dist/collection/components/nv-table/nv-table.docs.js +0 -1
- package/dist/collection/components/nv-table/nv-table.js +1 -2
- package/dist/collection/components/nv-table/nv-table.utils.js +0 -1
- package/dist/collection/components/nv-table/test/nv-table.utils.test.js +0 -1
- package/dist/collection/components/nv-tableheader/nv-tableheader.docs.js +0 -1
- package/dist/collection/components/nv-tableheader/nv-tableheader.js +1 -2
- package/dist/collection/components/nv-toggle/nv-toggle.docs.js +0 -1
- package/dist/collection/components/nv-toggle/nv-toggle.js +4 -4
- package/dist/collection/components/nv-togglebutton/nv-togglebutton.docs.js +0 -1
- package/dist/collection/components/nv-togglebutton/nv-togglebutton.js +5 -5
- package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js +0 -1
- package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js +5 -6
- package/dist/collection/components/nv-tooltip/nv-tooltip.docs.js +0 -1
- package/dist/collection/components/nv-tooltip/nv-tooltip.js +20 -13
- package/dist/collection/index.js +0 -1
- package/dist/collection/interfaces/Column.js +0 -1
- package/dist/collection/interfaces/ColumnConfig.js +0 -1
- package/dist/collection/interfaces/localization.js +0 -1
- package/dist/collection/templates/navigation.docs.js +0 -1
- package/dist/collection/utils/class.utils.js +0 -1
- package/dist/collection/utils/constants.js +0 -1
- package/dist/collection/utils/dom.utils.js +8 -1
- package/dist/collection/utils/events.utils.js +0 -1
- package/dist/collection/utils/i18n.utils.js +0 -1
- package/dist/collection/utils/input.utils.js +0 -1
- package/dist/collection/utils/search-engine/engine.js +0 -1
- package/dist/collection/utils/search-engine/guards.js +0 -1
- package/dist/collection/utils/search-engine/index.js +0 -1
- package/dist/collection/utils/search-engine/indexer.js +0 -1
- package/dist/collection/utils/search-engine/normalize.js +0 -1
- package/dist/collection/utils/search-engine/strategies/fuzzy.js +0 -1
- package/dist/collection/utils/search-engine/strategies/smart.js +0 -1
- package/dist/collection/utils/search-engine/strategies/strict.js +0 -1
- package/dist/collection/utils/search-engine/test/engine.test.js +0 -1
- package/dist/collection/utils/search-engine/test/guards.test.js +0 -1
- package/dist/collection/utils/search-engine/test/indexer.test.js +0 -1
- package/dist/collection/utils/search-engine/test/normalize.test.js +0 -1
- package/dist/collection/utils/search-engine/test/strategies.test.js +0 -1
- package/dist/collection/utils/search-engine/types.js +0 -1
- package/dist/collection/utils/search-engine/worker/index.js +0 -1
- package/dist/collection/utils/search-engine/worker/search.worker.js +0 -1
- package/dist/collection/utils/search-engine/worker/worker-client.js +0 -1
- package/dist/collection/utils/string.utils.js +0 -1
- package/dist/collection/utils/test/class.utils.test.js +0 -1
- package/dist/collection/utils/test/dom.utils.test.js +24 -2
- package/dist/collection/utils/test/i18n.utils.test.js +0 -1
- package/dist/collection/utils/test/input.utils.test.js +0 -1
- package/dist/collection/utils/test/uri.utils.test.js +0 -1
- package/dist/collection/utils/uri.utils.js +0 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +1 -583
- package/dist/components/nv-accordion-item.js +1 -9
- package/dist/components/nv-accordion.js +1 -229
- package/dist/components/nv-alert.js +1 -211
- package/dist/components/nv-avatar.js +1 -105
- package/dist/components/nv-badge.js +1 -9
- package/dist/components/nv-breadcrumb.js +1 -80
- package/dist/components/nv-breadcrumbs.js +1 -39
- package/dist/components/nv-button.js +1 -9
- package/dist/components/nv-buttongroup.js +1 -223
- package/dist/components/nv-calendar.js +1 -9
- package/dist/components/nv-col.js +1 -58
- package/dist/components/nv-datagrid.js +1 -4580
- package/dist/components/nv-datagridcolumn.js +1 -47
- package/dist/components/nv-dialog.js +1 -362
- package/dist/components/nv-dialogfooter.js +1 -9
- package/dist/components/nv-dialogheader.js +1 -9
- package/dist/components/nv-drawer.js +1 -507
- package/dist/components/nv-drawerfooter.js +1 -9
- package/dist/components/nv-drawerheader.js +1 -9
- package/dist/components/nv-fieldcheckbox.js +1 -9
- package/dist/components/nv-fielddate.js +1 -507
- package/dist/components/nv-fielddaterange.js +1 -670
- package/dist/components/nv-fielddropdown.js +1 -768
- package/dist/components/nv-fielddropdownitem.js +1 -9
- package/dist/components/nv-fielddropdownitemcheck.js +1 -9
- package/dist/components/nv-fieldmultiselect.js +1 -1587
- package/dist/components/nv-fieldnumber.js +1 -9
- package/dist/components/nv-fieldpassword.js +1 -227
- package/dist/components/nv-fieldradio.js +1 -137
- package/dist/components/nv-fieldselect.js +1 -460
- package/dist/components/nv-fieldslider.js +1 -801
- package/dist/components/nv-fieldtext.js +1 -9
- package/dist/components/nv-fieldtextarea.js +1 -282
- package/dist/components/nv-fieldtime.js +1 -1189
- package/dist/components/nv-icon.js +1 -9
- package/dist/components/nv-iconbutton.js +1 -9
- package/dist/components/nv-loader.js +1 -9
- package/dist/components/nv-menu.js +1 -254
- package/dist/components/nv-menuitem.js +1 -9
- package/dist/components/nv-notification-bullet.js +1 -9
- package/dist/components/nv-notification.js +1 -212
- package/dist/components/nv-notificationcontainer.js +1 -61
- package/dist/components/nv-paginationtable.d.ts +11 -0
- package/dist/components/nv-paginationtable.js +1 -0
- package/dist/components/nv-popover.js +1 -9
- package/dist/components/nv-row.js +1 -40
- package/dist/components/nv-sidebar.js +1 -210
- package/dist/components/nv-sidebarcontent.js +1 -40
- package/dist/components/nv-sidebardivider.js +1 -40
- package/dist/components/nv-sidebarfooter.js +1 -40
- package/dist/components/nv-sidebargroup.js +1 -43
- package/dist/components/nv-sidebarheader.js +1 -40
- package/dist/components/nv-sidebarlogo.js +1 -54
- package/dist/components/nv-sidebarnavitem.js +1 -336
- package/dist/components/nv-sidebarnavsubitem.js +1 -55
- package/dist/components/nv-split.js +1 -370
- package/dist/components/nv-stack.js +1 -55
- package/dist/components/nv-table.js +1 -261
- package/dist/components/nv-tableheader.js +1 -114
- package/dist/components/nv-toggle.js +1 -111
- package/dist/components/nv-togglebutton.js +1 -91
- package/dist/components/nv-togglebuttongroup.js +1 -200
- package/dist/components/nv-tooltip.js +1 -9
- package/dist/components/p-9xYwU7ku.js +1 -724
- package/dist/components/p-B6GgGra-.js +1 -29
- package/dist/components/p-BJSrJH9I.js +1 -0
- package/dist/components/p-BReL3Lsa.js +1 -286
- package/dist/components/p-BdYh22OP.js +1 -57
- package/dist/components/p-Bg-b6OWh.js +1 -0
- package/dist/components/p-BkqfOhkU.js +1 -0
- package/dist/components/p-BqRuoNHJ.js +1 -0
- package/dist/components/p-C-MlXMFg.js +1 -0
- package/dist/components/p-C6LzzMQm.js +1 -0
- package/dist/components/p-CGXDiomF.js +1 -0
- package/dist/components/p-CPjfMClF.js +1 -0
- package/dist/components/p-C_a7VT_H.js +1 -0
- package/dist/components/p-Cfr9uriB.js +1 -0
- package/dist/components/p-CgHCo_Ho.js +1 -42
- package/dist/components/p-ChRIFm7p.js +1 -0
- package/dist/components/p-ChV9xqsO.js +1 -6
- package/dist/components/p-CnI0auJM.js +1 -24
- package/dist/components/p-Cq5FI49y.js +1 -0
- package/dist/components/p-CskCUxuV.js +1 -0
- package/dist/components/p-CuXVGECR.js +1 -0
- package/dist/components/p-Cw5yG8cD.js +9 -0
- package/dist/components/p-D02w_Ru6.js +1 -91
- package/dist/components/p-D1C_pu0E.js +1 -218
- package/dist/components/p-D2otK4Ce.js +1 -91
- package/dist/components/p-D3eWMME9.js +1 -534
- package/dist/components/p-D7xBylwr.js +1 -0
- package/dist/components/p-D_JRZMC-.js +1 -0
- package/dist/components/p-DkC2jlrw.js +1 -0
- package/dist/components/p-Dz1GUhVy.js +15 -1119
- package/dist/components/p-IlwlcG9l.js +1 -2485
- package/dist/components/p-Nf-dwTsx.js +1 -0
- package/dist/components/p-iXsbKJzR.js +2 -0
- package/dist/components/p-mWVXEsBF.js +1 -0
- package/dist/components/p-r3_atQ9r.js +1 -0
- package/dist/components/p-tJDdN0lo.js +1 -0
- package/dist/components/p-yHGZRC6Q.js +1 -0
- package/dist/esm/_commonjsHelpers-B85MJLTf.js +0 -3
- package/dist/esm/clsx-ChV9xqsO.js +0 -3
- package/dist/esm/collapse.animation-DZDm0vSK.js +0 -3
- package/dist/esm/constants-BReL3Lsa.js +0 -3
- package/dist/esm/dom.utils-CuXVGECR.js +173 -0
- package/dist/esm/events.utils-B6GgGra-.js +0 -3
- package/dist/esm/fade.animation-DcRL9lcm.js +0 -3
- package/dist/esm/grow.animation-D7ep_aVl.js +0 -3
- package/dist/esm/i18n.utils-IlwlcG9l.js +0 -3
- package/dist/esm/index-S-IZ4AN_.js +4796 -0
- package/dist/esm/index.esm-D3eWMME9.js +0 -3
- package/dist/esm/index.js +0 -1
- package/dist/esm/inputmask-CSo292ul.js +0 -3
- package/dist/esm/loader.js +3 -5
- package/dist/esm/native.js +32 -7
- package/dist/esm/nv-accordion-item.entry.js +8 -8
- package/dist/esm/nv-accordion.entry.js +10 -9
- package/dist/esm/nv-alert.entry.js +6 -5
- package/dist/esm/nv-avatar.entry.js +3 -4
- package/dist/esm/nv-badge_2.entry.js +15 -11
- package/dist/esm/nv-breadcrumb.entry.js +14 -12
- package/dist/esm/nv-breadcrumbs.entry.js +4 -5
- package/dist/esm/nv-button.entry.js +10 -7
- package/dist/esm/nv-buttongroup.entry.js +13 -8
- package/dist/esm/nv-calendar.entry.js +27 -11
- package/dist/esm/nv-col.entry.js +4 -5
- package/dist/esm/nv-datagrid.entry.js +42 -180
- package/dist/esm/nv-datagridcolumn.entry.js +2 -3
- package/dist/esm/nv-dialog.entry.js +19 -21
- package/dist/esm/nv-dialogfooter_2.entry.js +11 -30
- package/dist/esm/nv-drawer.entry.js +19 -20
- package/dist/esm/nv-drawerfooter_2.entry.js +11 -30
- package/dist/esm/nv-fieldcheckbox.entry.js +10 -9
- package/dist/esm/nv-fielddate.entry.js +15 -14
- package/dist/esm/nv-fielddaterange.entry.js +15 -14
- package/dist/esm/nv-fielddropdown.entry.js +17 -16
- package/dist/esm/nv-fielddropdownitem.entry.js +5 -9
- package/dist/esm/nv-fieldmultiselect.entry.js +12 -9
- package/dist/esm/nv-fieldnumber.entry.js +10 -9
- package/dist/esm/nv-fieldpassword.entry.js +10 -9
- package/dist/esm/nv-fieldradio.entry.js +9 -8
- package/dist/esm/nv-fieldselect.entry.js +20 -13
- package/dist/esm/nv-fieldslider.entry.js +33 -16
- package/dist/esm/nv-fieldtext.entry.js +7 -8
- package/dist/esm/nv-fieldtextarea.entry.js +15 -10
- package/dist/esm/nv-fieldtime.entry.js +15 -10
- package/dist/esm/nv-icon.entry.js +4 -5
- package/dist/esm/nv-iconbutton_2.entry.js +13 -10
- package/dist/esm/nv-menu.entry.js +9 -14
- package/dist/esm/nv-menuitem.entry.js +4 -6
- package/dist/esm/nv-notification-bullet.entry.js +3 -4
- package/dist/esm/nv-notification.entry.js +4 -5
- package/dist/esm/nv-notificationcontainer.entry.js +4 -5
- package/dist/esm/nv-paginationtable.entry.js +226 -0
- package/dist/esm/nv-popover.entry.js +105 -34
- package/dist/esm/nv-row.entry.js +4 -5
- package/dist/esm/nv-sidebar.entry.js +10 -7
- package/dist/esm/nv-sidebarcontent.entry.js +4 -5
- package/dist/esm/nv-sidebardivider.entry.js +4 -5
- package/dist/esm/nv-sidebarfooter.entry.js +4 -5
- package/dist/esm/nv-sidebargroup.entry.js +4 -5
- package/dist/esm/nv-sidebarheader.entry.js +4 -5
- package/dist/esm/nv-sidebarlogo.entry.js +4 -5
- package/dist/esm/nv-sidebarnavitem.entry.js +9 -8
- package/dist/esm/nv-sidebarnavsubitem.entry.js +4 -5
- package/dist/esm/nv-split.entry.js +10 -7
- package/dist/esm/nv-stack.entry.js +4 -5
- package/dist/esm/nv-table.entry.js +4 -5
- package/dist/esm/nv-tableheader.entry.js +4 -5
- package/dist/esm/nv-toggle.entry.js +8 -7
- package/dist/esm/nv-togglebutton.entry.js +4 -6
- package/dist/esm/nv-togglebuttongroup.entry.js +13 -10
- package/dist/esm/nv-tooltip.entry.js +10 -10
- package/dist/esm/slide.animation-CmH5d1of.js +0 -3
- package/dist/esm/style-value-types.es-xlgmw4x8.js +0 -3
- package/dist/esm/timeline.animation-CgHCo_Ho.js +0 -3
- package/dist/esm/uri.utils-CnI0auJM.js +0 -3
- package/dist/esm/v4-BdYh22OP.js +0 -3
- package/dist/lib/generators/angular-output.js +0 -1
- package/dist/lib/generators/docs-blazor.js +0 -1
- package/dist/lib/generators/vue-output.js +0 -1
- package/dist/lib/utils/componentBinding.js +0 -1
- package/dist/lib/utils/parseToCSharpTypes.js +0 -1
- package/dist/lib/utils/spread.js +0 -1
- package/dist/lib/utils/test/parseToCSharpTypes.test.js +0 -1
- package/dist/native/index.esm.js +1 -2
- package/dist/native/native.css +1 -1
- package/dist/native/native.esm.js +1 -2
- package/dist/native/p-00b80d2b.entry.js +1 -0
- package/dist/native/p-01d09dfa.entry.js +1 -0
- package/dist/native/p-0242699e.entry.js +1 -0
- package/dist/native/p-09b88c8d.entry.js +1 -0
- package/dist/native/p-13YSIyGW.js +1 -2
- package/dist/native/p-184b4f0d.entry.js +1 -0
- package/dist/native/p-1a1a6bbf.entry.js +1 -0
- package/dist/native/p-1b37bf6c.entry.js +1 -0
- package/dist/native/p-1bf1a213.entry.js +1 -0
- package/dist/native/p-1c86c5b8.entry.js +1 -0
- package/dist/native/p-2106dfbd.entry.js +1 -0
- package/dist/native/p-223814fe.entry.js +1 -0
- package/dist/native/p-2623b212.entry.js +1 -0
- package/dist/native/p-29f0730f.entry.js +1 -0
- package/dist/native/p-2b7e621a.entry.js +1 -0
- package/dist/native/p-32cbc18b.entry.js +1 -0
- package/dist/native/p-34cce087.entry.js +1 -0
- package/dist/native/p-38e981f2.entry.js +1 -0
- package/dist/native/p-3ac56d5f.entry.js +1 -0
- package/dist/native/p-3bd49efe.entry.js +1 -0
- package/dist/native/p-3c09e565.entry.js +1 -0
- package/dist/native/p-3e949805.entry.js +1 -0
- package/dist/native/p-4016851b.entry.js +1 -0
- package/dist/native/p-4725d9aa.entry.js +1 -0
- package/dist/native/p-4bda5842.entry.js +1 -0
- package/dist/native/p-4c29c4c7.entry.js +1 -0
- package/dist/native/p-5cbf5973.entry.js +1 -0
- package/dist/native/p-5fb6d986.entry.js +1 -0
- package/dist/native/p-6a548776.entry.js +1 -0
- package/dist/native/p-6ba310e8.entry.js +1 -0
- package/dist/native/p-6ccea920.entry.js +1 -0
- package/dist/native/p-6e9b95fa.entry.js +1 -0
- package/dist/native/p-6f368c8d.entry.js +1 -0
- package/dist/native/p-70fa3c6b.entry.js +1 -0
- package/dist/native/p-7f3c3c29.entry.js +1 -0
- package/dist/native/p-84202d8a.entry.js +1 -0
- package/dist/native/p-87f35ce1.entry.js +1 -0
- package/dist/native/p-91f71346.entry.js +1 -0
- package/dist/native/p-98de77f8.entry.js +1 -0
- package/dist/native/p-98ea927d.entry.js +1 -0
- package/dist/native/p-99051651.entry.js +1 -0
- package/dist/native/p-997a2268.entry.js +1 -0
- package/dist/native/p-B6GgGra-.js +1 -2
- package/dist/native/p-B85MJLTf.js +1 -2
- package/dist/native/p-BReL3Lsa.js +1 -2
- package/dist/native/p-BdYh22OP.js +1 -2
- package/dist/native/p-Blc6XEY7.js +1 -2
- package/dist/native/p-CgHCo_Ho.js +1 -2
- package/dist/native/p-ChV9xqsO.js +1 -2
- package/dist/native/p-CnI0auJM.js +1 -2
- package/dist/native/p-CuXVGECR.js +1 -0
- package/dist/native/p-D3eWMME9.js +1 -2
- package/dist/native/p-DmUOtOcY.js +1 -2
- package/dist/native/p-Hfc8Oh0x.js +3 -4
- package/dist/native/p-IlwlcG9l.js +1 -2
- package/dist/native/p-S-IZ4AN_.js +2 -0
- package/dist/native/p-a60660f6.entry.js +1 -0
- package/dist/native/p-a6287e55.entry.js +1 -0
- package/dist/native/p-a813f497.entry.js +1 -0
- package/dist/native/p-ad05cef2.entry.js +1 -0
- package/dist/native/p-b65f3418.entry.js +1 -0
- package/dist/native/p-bf8b0be2.entry.js +1 -0
- package/dist/native/p-ca3b996b.entry.js +1 -0
- package/dist/native/p-d9c1287c.entry.js +1 -0
- package/dist/native/p-d9cebb66.entry.js +1 -0
- package/dist/native/p-da417f83.entry.js +1 -0
- package/dist/native/p-df59dee0.entry.js +1 -0
- package/dist/native/p-e1021e2c.entry.js +1 -0
- package/dist/native/p-e371a958.entry.js +1 -0
- package/dist/native/p-e5dbacf6.entry.js +1 -0
- package/dist/native/p-ed19f3dc.entry.js +1 -0
- package/dist/native/p-f1b6d43b.entry.js +1 -0
- package/dist/native/p-ff7eae44.entry.js +1 -0
- package/dist/native/p-sqVK8yoD.js +1 -2
- package/dist/native/p-xlgmw4x8.js +2 -3
- package/dist/types/components/nv-breadcrumb/nv-breadcrumb.d.ts +4 -2
- package/dist/types/components/nv-dialog/nv-dialog.d.ts +4 -9
- package/dist/types/components/nv-dialogfooter/nv-dialogfooter.d.ts +3 -4
- package/dist/types/components/nv-dialogheader/nv-dialogheader.d.ts +0 -3
- package/dist/types/components/nv-drawer/nv-drawer.d.ts +3 -3
- package/dist/types/components/nv-drawerfooter/nv-drawerfooter.d.ts +3 -4
- package/dist/types/components/nv-drawerheader/nv-drawerheader.d.ts +0 -3
- package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +4 -0
- package/dist/types/components/nv-fielddropdownitem/nv-fielddropdownitem.d.ts +2 -3
- package/dist/types/components/nv-menu/nv-menu.d.ts +5 -1
- package/dist/types/components/nv-paginationtable/nv-paginationtable.d.ts +112 -0
- package/dist/types/components/nv-paginationtable/nv-paginationtable.docs.d.ts +4 -0
- package/dist/types/components/nv-paginationtable/nv-paginationtable.utils.d.ts +61 -0
- package/dist/types/components/nv-paginationtable/test/nv-paginationtable.utils.test.d.ts +1 -0
- package/dist/types/components/nv-popover/nv-popover.d.ts +2 -3
- package/dist/types/components/nv-tooltip/nv-tooltip.d.ts +4 -2
- package/dist/types/components.d.ts +172 -3
- package/dist/types/stencil-public-runtime.d.ts +87 -4
- package/dist/types/utils/dom.utils.d.ts +6 -0
- package/dist/types/utils/events.utils.d.ts +2 -2
- package/dist/vscode-data.json +636 -587
- package/hydrate/index.d.ts +12 -0
- package/hydrate/index.js +6969 -1224
- package/hydrate/index.mjs +6968 -1225
- package/package.json +10 -8
- package/dist/cjs/_commonjsHelpers-CFO10eej.js.map +0 -1
- package/dist/cjs/app-globals-V2Kpy_OQ.js +0 -8
- package/dist/cjs/app-globals-V2Kpy_OQ.js.map +0 -1
- package/dist/cjs/clsx-BtxeOLZW.js.map +0 -1
- package/dist/cjs/collapse.animation-CcG0GAWk.js.map +0 -1
- package/dist/cjs/constants-BugGJYqL.js.map +0 -1
- package/dist/cjs/events.utils-BE6R5q9C.js.map +0 -1
- package/dist/cjs/fade.animation-BQSqXXOJ.js.map +0 -1
- package/dist/cjs/grow.animation-ynu_HmA_.js.map +0 -1
- package/dist/cjs/i18n.utils-ku0bScip.js.map +0 -1
- package/dist/cjs/index-B1na8x6M.js +0 -2841
- package/dist/cjs/index-B1na8x6M.js.map +0 -1
- package/dist/cjs/index.cjs.js.map +0 -1
- package/dist/cjs/index.esm-CG1TVKfu.js.map +0 -1
- package/dist/cjs/inputmask-DtXnpVWa.js.map +0 -1
- package/dist/cjs/loader.cjs.js.map +0 -1
- package/dist/cjs/native.cjs.js.map +0 -1
- package/dist/cjs/nv-accordion-item.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-accordion.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-alert.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-avatar.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-badge.nv-fielddropdownitemcheck.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-breadcrumb.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-breadcrumbs.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-button.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-buttongroup.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-calendar.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-col.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-datagrid.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-datagridcolumn.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-dialog.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-dialogfooter.nv-dialogheader.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-drawer.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-drawerfooter.nv-drawerheader.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fieldcheckbox.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fielddate.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fielddaterange.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fielddropdown.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fielddropdownitem.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fieldmultiselect.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fieldnumber.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fieldpassword.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fieldradio.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fieldselect.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fieldslider.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fieldtext.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fieldtextarea.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-fieldtime.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-icon.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-iconbutton.nv-loader.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-menu.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-menuitem.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-notification-bullet.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-notification.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-notificationcontainer.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-popover.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-row.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-sidebar.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-sidebarcontent.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-sidebardivider.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-sidebarfooter.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-sidebargroup.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-sidebarheader.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-sidebarlogo.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-sidebarnavitem.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-sidebarnavsubitem.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-split.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-stack.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-table.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-tableheader.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-toggle.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-togglebutton.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-togglebuttongroup.entry.cjs.js.map +0 -1
- package/dist/cjs/nv-tooltip.entry.cjs.js.map +0 -1
- package/dist/cjs/slide.animation-Cb3tpLQv.js.map +0 -1
- package/dist/cjs/style-value-types.es-B1vLqX9m.js.map +0 -1
- package/dist/cjs/timeline.animation-KteJaZPb.js.map +0 -1
- package/dist/cjs/uri.utils-DiMLQx64.js.map +0 -1
- package/dist/cjs/v4-C1vaJ4yP.js.map +0 -1
- package/dist/collection/animations/collapse.animation.js.map +0 -1
- package/dist/collection/animations/fade.animation.js.map +0 -1
- package/dist/collection/animations/grow.animation.js.map +0 -1
- package/dist/collection/animations/index.js.map +0 -1
- package/dist/collection/animations/slide.animation.js.map +0 -1
- package/dist/collection/animations/timeline.animation.js.map +0 -1
- package/dist/collection/components/nv-accordion/nv-accordion.docs.js.map +0 -1
- package/dist/collection/components/nv-accordion/nv-accordion.js.map +0 -1
- package/dist/collection/components/nv-accordion-item/nv-accordion-item.docs.js.map +0 -1
- package/dist/collection/components/nv-accordion-item/nv-accordion-item.js.map +0 -1
- package/dist/collection/components/nv-alert/nv-alert.docs.js.map +0 -1
- package/dist/collection/components/nv-alert/nv-alert.js.map +0 -1
- package/dist/collection/components/nv-avatar/nv-avatar.docs.js.map +0 -1
- package/dist/collection/components/nv-avatar/nv-avatar.js.map +0 -1
- package/dist/collection/components/nv-badge/nv-badge.docs.js.map +0 -1
- package/dist/collection/components/nv-badge/nv-badge.js.map +0 -1
- package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.docs.js.map +0 -1
- package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js.map +0 -1
- package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js.map +0 -1
- package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js.map +0 -1
- package/dist/collection/components/nv-button/nv-button.docs.js.map +0 -1
- package/dist/collection/components/nv-button/nv-button.js.map +0 -1
- package/dist/collection/components/nv-buttongroup/nv-buttongroup.docs.js.map +0 -1
- package/dist/collection/components/nv-buttongroup/nv-buttongroup.js.map +0 -1
- package/dist/collection/components/nv-buttongroup/nv-buttongroup.utils.js.map +0 -1
- package/dist/collection/components/nv-buttongroup/test/nv-buttongroup.utils.test.js.map +0 -1
- package/dist/collection/components/nv-calendar/nv-calendar.docs.js.map +0 -1
- package/dist/collection/components/nv-calendar/nv-calendar.js.map +0 -1
- package/dist/collection/components/nv-calendar/nv-calendar.utils.js.map +0 -1
- package/dist/collection/components/nv-calendar/partials/calendar-actions.js.map +0 -1
- package/dist/collection/components/nv-calendar/partials/calendar-grid.js.map +0 -1
- package/dist/collection/components/nv-calendar/partials/calendar-header.js.map +0 -1
- package/dist/collection/components/nv-calendar/partials/calendar-shortcuts.js.map +0 -1
- package/dist/collection/components/nv-calendar/partials/day-cell.js.map +0 -1
- package/dist/collection/components/nv-calendar/partials/index.js.map +0 -1
- package/dist/collection/components/nv-calendar/partials/week-numbers.js.map +0 -1
- package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js.map +0 -1
- package/dist/collection/components/nv-calendar/test/partials/calendar-actions.logic.test.js.map +0 -1
- package/dist/collection/components/nv-calendar/test/partials/calendar-grid.logic.test.js.map +0 -1
- package/dist/collection/components/nv-calendar/test/partials/calendar-header.logic.test.js.map +0 -1
- package/dist/collection/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.js.map +0 -1
- package/dist/collection/components/nv-calendar/test/partials/day-cell.logic.test.js.map +0 -1
- package/dist/collection/components/nv-calendar/test/partials/week-numbers.logic.test.js.map +0 -1
- package/dist/collection/components/nv-col/nv-col.docs.js.map +0 -1
- package/dist/collection/components/nv-col/nv-col.js.map +0 -1
- package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +0 -1
- package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +0 -1
- package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.docs.js.map +0 -1
- package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js.map +0 -1
- package/dist/collection/components/nv-dialog/nv-dialog.docs.js.map +0 -1
- package/dist/collection/components/nv-dialog/nv-dialog.js.map +0 -1
- package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.docs.js.map +0 -1
- package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js.map +0 -1
- package/dist/collection/components/nv-dialogheader/nv-dialogheader.docs.js.map +0 -1
- package/dist/collection/components/nv-dialogheader/nv-dialogheader.js.map +0 -1
- package/dist/collection/components/nv-drawer/nv-drawer.docs.js.map +0 -1
- package/dist/collection/components/nv-drawer/nv-drawer.js.map +0 -1
- package/dist/collection/components/nv-drawerfooter/nv-drawerfooter.docs.js.map +0 -1
- package/dist/collection/components/nv-drawerfooter/nv-drawerfooter.js.map +0 -1
- package/dist/collection/components/nv-drawerheader/nv-drawerheader.docs.js.map +0 -1
- package/dist/collection/components/nv-drawerheader/nv-drawerheader.js.map +0 -1
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.js.map +0 -1
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js.map +0 -1
- package/dist/collection/components/nv-fielddate/nv-fielddate.docs.js.map +0 -1
- package/dist/collection/components/nv-fielddate/nv-fielddate.js.map +0 -1
- package/dist/collection/components/nv-fielddate/test/nv-fielddate.logic.test.js.map +0 -1
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.docs.js.map +0 -1
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +0 -1
- package/dist/collection/components/nv-fielddaterange/test/nv-fielddaterange.logic.test.js.map +0 -1
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +0 -1
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +0 -1
- package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.docs.js.map +0 -1
- package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js.map +0 -1
- package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.docs.js.map +0 -1
- package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js.map +0 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js.map +0 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +0 -1
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js.map +0 -1
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +0 -1
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js.map +0 -1
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js.map +0 -1
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.docs.js.map +0 -1
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.js.map +0 -1
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js.map +0 -1
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.js.map +0 -1
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js.map +0 -1
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.js.map +0 -1
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js.map +0 -1
- package/dist/collection/components/nv-fieldslider/partials/field-input.js.map +0 -1
- package/dist/collection/components/nv-fieldslider/partials/range-thumb.js.map +0 -1
- package/dist/collection/components/nv-fieldslider/partials/single-thumb.js.map +0 -1
- package/dist/collection/components/nv-fieldslider/partials/tick-marks.js.map +0 -1
- package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js.map +0 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +0 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +0 -1
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js.map +0 -1
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js.map +0 -1
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js.map +0 -1
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.js.map +0 -1
- package/dist/collection/components/nv-fieldtime/utils/format-utils.js.map +0 -1
- package/dist/collection/components/nv-icon/nv-icon.docs.js.map +0 -1
- package/dist/collection/components/nv-icon/nv-icon.js.map +0 -1
- package/dist/collection/components/nv-icon/nv-icons.js.map +0 -1
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.docs.js.map +0 -1
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.js.map +0 -1
- package/dist/collection/components/nv-loader/nv-loader.docs.js.map +0 -1
- package/dist/collection/components/nv-loader/nv-loader.js.map +0 -1
- package/dist/collection/components/nv-menu/nv-menu.docs.js.map +0 -1
- package/dist/collection/components/nv-menu/nv-menu.js.map +0 -1
- package/dist/collection/components/nv-menuitem/nv-menuitem.docs.js.map +0 -1
- package/dist/collection/components/nv-menuitem/nv-menuitem.js.map +0 -1
- package/dist/collection/components/nv-notification/nv-notification.docs.js.map +0 -1
- package/dist/collection/components/nv-notification/nv-notification.js.map +0 -1
- package/dist/collection/components/nv-notification-bullet/nv-notification-bullet.docs.js.map +0 -1
- package/dist/collection/components/nv-notification-bullet/nv-notification-bullet.js.map +0 -1
- package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.docs.js.map +0 -1
- package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.js.map +0 -1
- package/dist/collection/components/nv-popover/nv-popover.docs.js.map +0 -1
- package/dist/collection/components/nv-popover/nv-popover.js.map +0 -1
- package/dist/collection/components/nv-row/nv-row.docs.js.map +0 -1
- package/dist/collection/components/nv-row/nv-row.js.map +0 -1
- package/dist/collection/components/nv-sidebar/nv-sidebar.docs.js.map +0 -1
- package/dist/collection/components/nv-sidebar/nv-sidebar.js.map +0 -1
- package/dist/collection/components/nv-sidebarcontent/nv-sidebarcontent.docs.js.map +0 -1
- package/dist/collection/components/nv-sidebarcontent/nv-sidebarcontent.js.map +0 -1
- package/dist/collection/components/nv-sidebardivider/nv-sidebardivider.docs.js.map +0 -1
- package/dist/collection/components/nv-sidebardivider/nv-sidebardivider.js.map +0 -1
- package/dist/collection/components/nv-sidebarfooter/nv-sidebarfooter.docs.js.map +0 -1
- package/dist/collection/components/nv-sidebarfooter/nv-sidebarfooter.js.map +0 -1
- package/dist/collection/components/nv-sidebargroup/nv-sidebargroup.docs.js.map +0 -1
- package/dist/collection/components/nv-sidebargroup/nv-sidebargroup.js.map +0 -1
- package/dist/collection/components/nv-sidebarheader/nv-sidebarheader.docs.js.map +0 -1
- package/dist/collection/components/nv-sidebarheader/nv-sidebarheader.js.map +0 -1
- package/dist/collection/components/nv-sidebarlogo/nv-sidebarlogo.docs.js.map +0 -1
- package/dist/collection/components/nv-sidebarlogo/nv-sidebarlogo.js.map +0 -1
- package/dist/collection/components/nv-sidebarnavitem/nv-sidebarnavitem.docs.js.map +0 -1
- package/dist/collection/components/nv-sidebarnavitem/nv-sidebarnavitem.js.map +0 -1
- package/dist/collection/components/nv-sidebarnavsubitem/nv-sidebarnavsubitem.docs.js.map +0 -1
- package/dist/collection/components/nv-sidebarnavsubitem/nv-sidebarnavsubitem.js.map +0 -1
- package/dist/collection/components/nv-split/nv-split.docs.js.map +0 -1
- package/dist/collection/components/nv-split/nv-split.js.map +0 -1
- package/dist/collection/components/nv-stack/nv-stack.docs.js.map +0 -1
- package/dist/collection/components/nv-stack/nv-stack.js.map +0 -1
- package/dist/collection/components/nv-table/nv-table.docs.js.map +0 -1
- package/dist/collection/components/nv-table/nv-table.js.map +0 -1
- package/dist/collection/components/nv-table/nv-table.utils.js.map +0 -1
- package/dist/collection/components/nv-table/test/nv-table.utils.test.js.map +0 -1
- package/dist/collection/components/nv-tableheader/nv-tableheader.docs.js.map +0 -1
- package/dist/collection/components/nv-tableheader/nv-tableheader.js.map +0 -1
- package/dist/collection/components/nv-toggle/nv-toggle.docs.js.map +0 -1
- package/dist/collection/components/nv-toggle/nv-toggle.js.map +0 -1
- package/dist/collection/components/nv-togglebutton/nv-togglebutton.docs.js.map +0 -1
- package/dist/collection/components/nv-togglebutton/nv-togglebutton.js.map +0 -1
- package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js.map +0 -1
- package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js.map +0 -1
- package/dist/collection/components/nv-tooltip/nv-tooltip.docs.js.map +0 -1
- package/dist/collection/components/nv-tooltip/nv-tooltip.js.map +0 -1
- package/dist/collection/index.js.map +0 -1
- package/dist/collection/interfaces/Column.js.map +0 -1
- package/dist/collection/interfaces/ColumnConfig.js.map +0 -1
- package/dist/collection/interfaces/localization.js.map +0 -1
- package/dist/collection/templates/navigation.docs.js.map +0 -1
- package/dist/collection/utils/class.utils.js.map +0 -1
- package/dist/collection/utils/constants.js.map +0 -1
- package/dist/collection/utils/dom.utils.js.map +0 -1
- package/dist/collection/utils/events.utils.js.map +0 -1
- package/dist/collection/utils/i18n.utils.js.map +0 -1
- package/dist/collection/utils/input.utils.js.map +0 -1
- package/dist/collection/utils/search-engine/engine.js.map +0 -1
- package/dist/collection/utils/search-engine/guards.js.map +0 -1
- package/dist/collection/utils/search-engine/index.js.map +0 -1
- package/dist/collection/utils/search-engine/indexer.js.map +0 -1
- package/dist/collection/utils/search-engine/normalize.js.map +0 -1
- package/dist/collection/utils/search-engine/strategies/fuzzy.js.map +0 -1
- package/dist/collection/utils/search-engine/strategies/smart.js.map +0 -1
- package/dist/collection/utils/search-engine/strategies/strict.js.map +0 -1
- package/dist/collection/utils/search-engine/test/engine.test.js.map +0 -1
- package/dist/collection/utils/search-engine/test/guards.test.js.map +0 -1
- package/dist/collection/utils/search-engine/test/indexer.test.js.map +0 -1
- package/dist/collection/utils/search-engine/test/normalize.test.js.map +0 -1
- package/dist/collection/utils/search-engine/test/strategies.test.js.map +0 -1
- package/dist/collection/utils/search-engine/types.js.map +0 -1
- package/dist/collection/utils/search-engine/worker/index.js.map +0 -1
- package/dist/collection/utils/search-engine/worker/search.worker.js.map +0 -1
- package/dist/collection/utils/search-engine/worker/worker-client.js.map +0 -1
- package/dist/collection/utils/string.utils.js.map +0 -1
- package/dist/collection/utils/test/class.utils.test.js.map +0 -1
- package/dist/collection/utils/test/dom.utils.test.js.map +0 -1
- package/dist/collection/utils/test/i18n.utils.test.js.map +0 -1
- package/dist/collection/utils/test/input.utils.test.js.map +0 -1
- package/dist/collection/utils/test/uri.utils.test.js.map +0 -1
- package/dist/collection/utils/uri.utils.js.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/components/nv-accordion-item.js.map +0 -1
- package/dist/components/nv-accordion.js.map +0 -1
- package/dist/components/nv-alert.js.map +0 -1
- package/dist/components/nv-avatar.js.map +0 -1
- package/dist/components/nv-badge.js.map +0 -1
- package/dist/components/nv-breadcrumb.js.map +0 -1
- package/dist/components/nv-breadcrumbs.js.map +0 -1
- package/dist/components/nv-button.js.map +0 -1
- package/dist/components/nv-buttongroup.js.map +0 -1
- package/dist/components/nv-calendar.js.map +0 -1
- package/dist/components/nv-col.js.map +0 -1
- package/dist/components/nv-datagrid.js.map +0 -1
- package/dist/components/nv-datagridcolumn.js.map +0 -1
- package/dist/components/nv-dialog.js.map +0 -1
- package/dist/components/nv-dialogfooter.js.map +0 -1
- package/dist/components/nv-dialogheader.js.map +0 -1
- package/dist/components/nv-drawer.js.map +0 -1
- package/dist/components/nv-drawerfooter.js.map +0 -1
- package/dist/components/nv-drawerheader.js.map +0 -1
- package/dist/components/nv-fieldcheckbox.js.map +0 -1
- package/dist/components/nv-fielddate.js.map +0 -1
- package/dist/components/nv-fielddaterange.js.map +0 -1
- package/dist/components/nv-fielddropdown.js.map +0 -1
- package/dist/components/nv-fielddropdownitem.js.map +0 -1
- package/dist/components/nv-fielddropdownitemcheck.js.map +0 -1
- package/dist/components/nv-fieldmultiselect.js.map +0 -1
- package/dist/components/nv-fieldnumber.js.map +0 -1
- package/dist/components/nv-fieldpassword.js.map +0 -1
- package/dist/components/nv-fieldradio.js.map +0 -1
- package/dist/components/nv-fieldselect.js.map +0 -1
- package/dist/components/nv-fieldslider.js.map +0 -1
- package/dist/components/nv-fieldtext.js.map +0 -1
- package/dist/components/nv-fieldtextarea.js.map +0 -1
- package/dist/components/nv-fieldtime.js.map +0 -1
- package/dist/components/nv-icon.js.map +0 -1
- package/dist/components/nv-iconbutton.js.map +0 -1
- package/dist/components/nv-loader.js.map +0 -1
- package/dist/components/nv-menu.js.map +0 -1
- package/dist/components/nv-menuitem.js.map +0 -1
- package/dist/components/nv-notification-bullet.js.map +0 -1
- package/dist/components/nv-notification.js.map +0 -1
- package/dist/components/nv-notificationcontainer.js.map +0 -1
- package/dist/components/nv-popover.js.map +0 -1
- package/dist/components/nv-row.js.map +0 -1
- package/dist/components/nv-sidebar.js.map +0 -1
- package/dist/components/nv-sidebarcontent.js.map +0 -1
- package/dist/components/nv-sidebardivider.js.map +0 -1
- package/dist/components/nv-sidebarfooter.js.map +0 -1
- package/dist/components/nv-sidebargroup.js.map +0 -1
- package/dist/components/nv-sidebarheader.js.map +0 -1
- package/dist/components/nv-sidebarlogo.js.map +0 -1
- package/dist/components/nv-sidebarnavitem.js.map +0 -1
- package/dist/components/nv-sidebarnavsubitem.js.map +0 -1
- package/dist/components/nv-split.js.map +0 -1
- package/dist/components/nv-stack.js.map +0 -1
- package/dist/components/nv-table.js.map +0 -1
- package/dist/components/nv-tableheader.js.map +0 -1
- package/dist/components/nv-toggle.js.map +0 -1
- package/dist/components/nv-togglebutton.js.map +0 -1
- package/dist/components/nv-togglebuttongroup.js.map +0 -1
- package/dist/components/nv-tooltip.js.map +0 -1
- package/dist/components/p-9xYwU7ku.js.map +0 -1
- package/dist/components/p-B45HbBWe.js +0 -191
- package/dist/components/p-B45HbBWe.js.map +0 -1
- package/dist/components/p-B5jN7NKA.js +0 -59
- package/dist/components/p-B5jN7NKA.js.map +0 -1
- package/dist/components/p-B6GgGra-.js.map +0 -1
- package/dist/components/p-B7VlEQVW.js +0 -1475
- package/dist/components/p-B7VlEQVW.js.map +0 -1
- package/dist/components/p-B9i3m6rk.js +0 -1941
- package/dist/components/p-B9i3m6rk.js.map +0 -1
- package/dist/components/p-BILd3Ta-.js +0 -209
- package/dist/components/p-BILd3Ta-.js.map +0 -1
- package/dist/components/p-BISctfud.js +0 -214
- package/dist/components/p-BISctfud.js.map +0 -1
- package/dist/components/p-BReL3Lsa.js.map +0 -1
- package/dist/components/p-BVOv1zgq.js +0 -82
- package/dist/components/p-BVOv1zgq.js.map +0 -1
- package/dist/components/p-BdYh22OP.js.map +0 -1
- package/dist/components/p-Bg_l3jn1.js +0 -191
- package/dist/components/p-Bg_l3jn1.js.map +0 -1
- package/dist/components/p-C2QAWGhf.js +0 -88
- package/dist/components/p-C2QAWGhf.js.map +0 -1
- package/dist/components/p-C63Xpg9a.js +0 -2338
- package/dist/components/p-C63Xpg9a.js.map +0 -1
- package/dist/components/p-COnt5ux_.js +0 -51
- package/dist/components/p-COnt5ux_.js.map +0 -1
- package/dist/components/p-Cc7XnqPp.js +0 -260
- package/dist/components/p-Cc7XnqPp.js.map +0 -1
- package/dist/components/p-CgHCo_Ho.js.map +0 -1
- package/dist/components/p-ChV9xqsO.js.map +0 -1
- package/dist/components/p-CnI0auJM.js.map +0 -1
- package/dist/components/p-D02w_Ru6.js.map +0 -1
- package/dist/components/p-D1C_pu0E.js.map +0 -1
- package/dist/components/p-D2otK4Ce.js.map +0 -1
- package/dist/components/p-D3eWMME9.js.map +0 -1
- package/dist/components/p-D6APFL6N.js +0 -243
- package/dist/components/p-D6APFL6N.js.map +0 -1
- package/dist/components/p-DZJHk4fr.js +0 -3759
- package/dist/components/p-DZJHk4fr.js.map +0 -1
- package/dist/components/p-DiUP3TzF.js +0 -140
- package/dist/components/p-DiUP3TzF.js.map +0 -1
- package/dist/components/p-DpDooigg.js +0 -99
- package/dist/components/p-DpDooigg.js.map +0 -1
- package/dist/components/p-Dr-67WvG.js +0 -94
- package/dist/components/p-Dr-67WvG.js.map +0 -1
- package/dist/components/p-DvapDVBj.js +0 -176
- package/dist/components/p-DvapDVBj.js.map +0 -1
- package/dist/components/p-Dz1GUhVy.js.map +0 -1
- package/dist/components/p-IlwlcG9l.js.map +0 -1
- package/dist/components/p-W6vOfMC9.js +0 -63
- package/dist/components/p-W6vOfMC9.js.map +0 -1
- package/dist/components/p-nfYynlVq.js +0 -90
- package/dist/components/p-nfYynlVq.js.map +0 -1
- package/dist/components/p-tyaJ-nGV.js +0 -97
- package/dist/components/p-tyaJ-nGV.js.map +0 -1
- package/dist/components/p-u-maNLLs.js +0 -145
- package/dist/components/p-u-maNLLs.js.map +0 -1
- package/dist/esm/_commonjsHelpers-B85MJLTf.js.map +0 -1
- package/dist/esm/app-globals-DQuL1Twl.js +0 -6
- package/dist/esm/app-globals-DQuL1Twl.js.map +0 -1
- package/dist/esm/clsx-ChV9xqsO.js.map +0 -1
- package/dist/esm/collapse.animation-DZDm0vSK.js.map +0 -1
- package/dist/esm/constants-BReL3Lsa.js.map +0 -1
- package/dist/esm/events.utils-B6GgGra-.js.map +0 -1
- package/dist/esm/fade.animation-DcRL9lcm.js.map +0 -1
- package/dist/esm/grow.animation-D7ep_aVl.js.map +0 -1
- package/dist/esm/i18n.utils-IlwlcG9l.js.map +0 -1
- package/dist/esm/index-CasQushP.js +0 -2811
- package/dist/esm/index-CasQushP.js.map +0 -1
- package/dist/esm/index.esm-D3eWMME9.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/inputmask-CSo292ul.js.map +0 -1
- package/dist/esm/loader.js.map +0 -1
- package/dist/esm/native.js.map +0 -1
- package/dist/esm/nv-accordion-item.entry.js.map +0 -1
- package/dist/esm/nv-accordion.entry.js.map +0 -1
- package/dist/esm/nv-alert.entry.js.map +0 -1
- package/dist/esm/nv-avatar.entry.js.map +0 -1
- package/dist/esm/nv-badge.nv-fielddropdownitemcheck.entry.js.map +0 -1
- package/dist/esm/nv-breadcrumb.entry.js.map +0 -1
- package/dist/esm/nv-breadcrumbs.entry.js.map +0 -1
- package/dist/esm/nv-button.entry.js.map +0 -1
- package/dist/esm/nv-buttongroup.entry.js.map +0 -1
- package/dist/esm/nv-calendar.entry.js.map +0 -1
- package/dist/esm/nv-col.entry.js.map +0 -1
- package/dist/esm/nv-datagrid.entry.js.map +0 -1
- package/dist/esm/nv-datagridcolumn.entry.js.map +0 -1
- package/dist/esm/nv-dialog.entry.js.map +0 -1
- package/dist/esm/nv-dialogfooter.nv-dialogheader.entry.js.map +0 -1
- package/dist/esm/nv-drawer.entry.js.map +0 -1
- package/dist/esm/nv-drawerfooter.nv-drawerheader.entry.js.map +0 -1
- package/dist/esm/nv-fieldcheckbox.entry.js.map +0 -1
- package/dist/esm/nv-fielddate.entry.js.map +0 -1
- package/dist/esm/nv-fielddaterange.entry.js.map +0 -1
- package/dist/esm/nv-fielddropdown.entry.js.map +0 -1
- package/dist/esm/nv-fielddropdownitem.entry.js.map +0 -1
- package/dist/esm/nv-fieldmultiselect.entry.js.map +0 -1
- package/dist/esm/nv-fieldnumber.entry.js.map +0 -1
- package/dist/esm/nv-fieldpassword.entry.js.map +0 -1
- package/dist/esm/nv-fieldradio.entry.js.map +0 -1
- package/dist/esm/nv-fieldselect.entry.js.map +0 -1
- package/dist/esm/nv-fieldslider.entry.js.map +0 -1
- package/dist/esm/nv-fieldtext.entry.js.map +0 -1
- package/dist/esm/nv-fieldtextarea.entry.js.map +0 -1
- package/dist/esm/nv-fieldtime.entry.js.map +0 -1
- package/dist/esm/nv-icon.entry.js.map +0 -1
- package/dist/esm/nv-iconbutton.nv-loader.entry.js.map +0 -1
- package/dist/esm/nv-menu.entry.js.map +0 -1
- package/dist/esm/nv-menuitem.entry.js.map +0 -1
- package/dist/esm/nv-notification-bullet.entry.js.map +0 -1
- package/dist/esm/nv-notification.entry.js.map +0 -1
- package/dist/esm/nv-notificationcontainer.entry.js.map +0 -1
- package/dist/esm/nv-popover.entry.js.map +0 -1
- package/dist/esm/nv-row.entry.js.map +0 -1
- package/dist/esm/nv-sidebar.entry.js.map +0 -1
- package/dist/esm/nv-sidebarcontent.entry.js.map +0 -1
- package/dist/esm/nv-sidebardivider.entry.js.map +0 -1
- package/dist/esm/nv-sidebarfooter.entry.js.map +0 -1
- package/dist/esm/nv-sidebargroup.entry.js.map +0 -1
- package/dist/esm/nv-sidebarheader.entry.js.map +0 -1
- package/dist/esm/nv-sidebarlogo.entry.js.map +0 -1
- package/dist/esm/nv-sidebarnavitem.entry.js.map +0 -1
- package/dist/esm/nv-sidebarnavsubitem.entry.js.map +0 -1
- package/dist/esm/nv-split.entry.js.map +0 -1
- package/dist/esm/nv-stack.entry.js.map +0 -1
- package/dist/esm/nv-table.entry.js.map +0 -1
- package/dist/esm/nv-tableheader.entry.js.map +0 -1
- package/dist/esm/nv-toggle.entry.js.map +0 -1
- package/dist/esm/nv-togglebutton.entry.js.map +0 -1
- package/dist/esm/nv-togglebuttongroup.entry.js.map +0 -1
- package/dist/esm/nv-tooltip.entry.js.map +0 -1
- package/dist/esm/slide.animation-CmH5d1of.js.map +0 -1
- package/dist/esm/style-value-types.es-xlgmw4x8.js.map +0 -1
- package/dist/esm/timeline.animation-CgHCo_Ho.js.map +0 -1
- package/dist/esm/uri.utils-CnI0auJM.js.map +0 -1
- package/dist/esm/v4-BdYh22OP.js.map +0 -1
- package/dist/lib/generators/angular-output.js.map +0 -1
- package/dist/lib/generators/docs-blazor.js.map +0 -1
- package/dist/lib/generators/vue-output.js.map +0 -1
- package/dist/lib/utils/componentBinding.js.map +0 -1
- package/dist/lib/utils/parseToCSharpTypes.js.map +0 -1
- package/dist/lib/utils/spread.js.map +0 -1
- package/dist/lib/utils/test/parseToCSharpTypes.test.js.map +0 -1
- package/dist/native/index.esm.js.map +0 -1
- package/dist/native/loader.esm.js.map +0 -1
- package/dist/native/native.esm.js.map +0 -1
- package/dist/native/nv-accordion-item.entry.esm.js.map +0 -1
- package/dist/native/nv-accordion.entry.esm.js.map +0 -1
- package/dist/native/nv-alert.entry.esm.js.map +0 -1
- package/dist/native/nv-avatar.entry.esm.js.map +0 -1
- package/dist/native/nv-badge.nv-fielddropdownitemcheck.entry.esm.js.map +0 -1
- package/dist/native/nv-breadcrumb.entry.esm.js.map +0 -1
- package/dist/native/nv-breadcrumbs.entry.esm.js.map +0 -1
- package/dist/native/nv-button.entry.esm.js.map +0 -1
- package/dist/native/nv-buttongroup.entry.esm.js.map +0 -1
- package/dist/native/nv-calendar.entry.esm.js.map +0 -1
- package/dist/native/nv-col.entry.esm.js.map +0 -1
- package/dist/native/nv-datagrid.entry.esm.js.map +0 -1
- package/dist/native/nv-datagridcolumn.entry.esm.js.map +0 -1
- package/dist/native/nv-dialog.entry.esm.js.map +0 -1
- package/dist/native/nv-dialogfooter.nv-dialogheader.entry.esm.js.map +0 -1
- package/dist/native/nv-drawer.entry.esm.js.map +0 -1
- package/dist/native/nv-drawerfooter.nv-drawerheader.entry.esm.js.map +0 -1
- package/dist/native/nv-fieldcheckbox.entry.esm.js.map +0 -1
- package/dist/native/nv-fielddate.entry.esm.js.map +0 -1
- package/dist/native/nv-fielddaterange.entry.esm.js.map +0 -1
- package/dist/native/nv-fielddropdown.entry.esm.js.map +0 -1
- package/dist/native/nv-fielddropdownitem.entry.esm.js.map +0 -1
- package/dist/native/nv-fieldmultiselect.entry.esm.js.map +0 -1
- package/dist/native/nv-fieldnumber.entry.esm.js.map +0 -1
- package/dist/native/nv-fieldpassword.entry.esm.js.map +0 -1
- package/dist/native/nv-fieldradio.entry.esm.js.map +0 -1
- package/dist/native/nv-fieldselect.entry.esm.js.map +0 -1
- package/dist/native/nv-fieldslider.entry.esm.js.map +0 -1
- package/dist/native/nv-fieldtext.entry.esm.js.map +0 -1
- package/dist/native/nv-fieldtextarea.entry.esm.js.map +0 -1
- package/dist/native/nv-fieldtime.entry.esm.js.map +0 -1
- package/dist/native/nv-icon.entry.esm.js.map +0 -1
- package/dist/native/nv-iconbutton.nv-loader.entry.esm.js.map +0 -1
- package/dist/native/nv-menu.entry.esm.js.map +0 -1
- package/dist/native/nv-menuitem.entry.esm.js.map +0 -1
- package/dist/native/nv-notification-bullet.entry.esm.js.map +0 -1
- package/dist/native/nv-notification.entry.esm.js.map +0 -1
- package/dist/native/nv-notificationcontainer.entry.esm.js.map +0 -1
- package/dist/native/nv-popover.entry.esm.js.map +0 -1
- package/dist/native/nv-row.entry.esm.js.map +0 -1
- package/dist/native/nv-sidebar.entry.esm.js.map +0 -1
- package/dist/native/nv-sidebarcontent.entry.esm.js.map +0 -1
- package/dist/native/nv-sidebardivider.entry.esm.js.map +0 -1
- package/dist/native/nv-sidebarfooter.entry.esm.js.map +0 -1
- package/dist/native/nv-sidebargroup.entry.esm.js.map +0 -1
- package/dist/native/nv-sidebarheader.entry.esm.js.map +0 -1
- package/dist/native/nv-sidebarlogo.entry.esm.js.map +0 -1
- package/dist/native/nv-sidebarnavitem.entry.esm.js.map +0 -1
- package/dist/native/nv-sidebarnavsubitem.entry.esm.js.map +0 -1
- package/dist/native/nv-split.entry.esm.js.map +0 -1
- package/dist/native/nv-stack.entry.esm.js.map +0 -1
- package/dist/native/nv-table.entry.esm.js.map +0 -1
- package/dist/native/nv-tableheader.entry.esm.js.map +0 -1
- package/dist/native/nv-toggle.entry.esm.js.map +0 -1
- package/dist/native/nv-togglebutton.entry.esm.js.map +0 -1
- package/dist/native/nv-togglebuttongroup.entry.esm.js.map +0 -1
- package/dist/native/nv-tooltip.entry.esm.js.map +0 -1
- package/dist/native/p-02e6228a.entry.js +0 -2
- package/dist/native/p-02e6228a.entry.js.map +0 -1
- package/dist/native/p-04a2fe7f.entry.js +0 -2
- package/dist/native/p-04a2fe7f.entry.js.map +0 -1
- package/dist/native/p-08204da4.entry.js +0 -2
- package/dist/native/p-08204da4.entry.js.map +0 -1
- package/dist/native/p-0e07b91b.entry.js +0 -2
- package/dist/native/p-0e07b91b.entry.js.map +0 -1
- package/dist/native/p-136dfb3e.entry.js +0 -2
- package/dist/native/p-136dfb3e.entry.js.map +0 -1
- package/dist/native/p-13YSIyGW.js.map +0 -1
- package/dist/native/p-1f2dd37f.entry.js +0 -2
- package/dist/native/p-1f2dd37f.entry.js.map +0 -1
- package/dist/native/p-255a0482.entry.js +0 -2
- package/dist/native/p-255a0482.entry.js.map +0 -1
- package/dist/native/p-3305a7e6.entry.js +0 -2
- package/dist/native/p-3305a7e6.entry.js.map +0 -1
- package/dist/native/p-36b0a6f0.entry.js +0 -2
- package/dist/native/p-36b0a6f0.entry.js.map +0 -1
- package/dist/native/p-434bc910.entry.js +0 -2
- package/dist/native/p-434bc910.entry.js.map +0 -1
- package/dist/native/p-436029a5.entry.js +0 -2
- package/dist/native/p-436029a5.entry.js.map +0 -1
- package/dist/native/p-460fdf02.entry.js +0 -2
- package/dist/native/p-460fdf02.entry.js.map +0 -1
- package/dist/native/p-477e02cf.entry.js +0 -2
- package/dist/native/p-477e02cf.entry.js.map +0 -1
- package/dist/native/p-4efb582b.entry.js +0 -2
- package/dist/native/p-4efb582b.entry.js.map +0 -1
- package/dist/native/p-4f1dfa32.entry.js +0 -2
- package/dist/native/p-4f1dfa32.entry.js.map +0 -1
- package/dist/native/p-50ce41ac.entry.js +0 -2
- package/dist/native/p-50ce41ac.entry.js.map +0 -1
- package/dist/native/p-51b7de55.entry.js +0 -13
- package/dist/native/p-51b7de55.entry.js.map +0 -1
- package/dist/native/p-5dd120dc.entry.js +0 -2
- package/dist/native/p-5dd120dc.entry.js.map +0 -1
- package/dist/native/p-60bb0d48.entry.js +0 -2
- package/dist/native/p-60bb0d48.entry.js.map +0 -1
- package/dist/native/p-67181258.entry.js +0 -2
- package/dist/native/p-67181258.entry.js.map +0 -1
- package/dist/native/p-6a81884b.entry.js +0 -2
- package/dist/native/p-6a81884b.entry.js.map +0 -1
- package/dist/native/p-6aa483de.entry.js +0 -2
- package/dist/native/p-6aa483de.entry.js.map +0 -1
- package/dist/native/p-6fc79712.entry.js +0 -2
- package/dist/native/p-6fc79712.entry.js.map +0 -1
- package/dist/native/p-70e9e067.entry.js +0 -2
- package/dist/native/p-70e9e067.entry.js.map +0 -1
- package/dist/native/p-729589cb.entry.js +0 -2
- package/dist/native/p-729589cb.entry.js.map +0 -1
- package/dist/native/p-78bf7650.entry.js +0 -2
- package/dist/native/p-78bf7650.entry.js.map +0 -1
- package/dist/native/p-7e6e9ea2.entry.js +0 -2
- package/dist/native/p-7e6e9ea2.entry.js.map +0 -1
- package/dist/native/p-8f1cd9e2.entry.js +0 -2
- package/dist/native/p-8f1cd9e2.entry.js.map +0 -1
- package/dist/native/p-910cd685.entry.js +0 -2
- package/dist/native/p-910cd685.entry.js.map +0 -1
- package/dist/native/p-91eaf02e.entry.js +0 -2
- package/dist/native/p-91eaf02e.entry.js.map +0 -1
- package/dist/native/p-93b77ed4.entry.js +0 -2
- package/dist/native/p-93b77ed4.entry.js.map +0 -1
- package/dist/native/p-93e35975.entry.js +0 -2
- package/dist/native/p-93e35975.entry.js.map +0 -1
- package/dist/native/p-96c45604.entry.js +0 -2
- package/dist/native/p-96c45604.entry.js.map +0 -1
- package/dist/native/p-9b6ad782.entry.js +0 -2
- package/dist/native/p-9b6ad782.entry.js.map +0 -1
- package/dist/native/p-9f32c3ea.entry.js +0 -2
- package/dist/native/p-9f32c3ea.entry.js.map +0 -1
- package/dist/native/p-B6GgGra-.js.map +0 -1
- package/dist/native/p-B85MJLTf.js.map +0 -1
- package/dist/native/p-BReL3Lsa.js.map +0 -1
- package/dist/native/p-BdYh22OP.js.map +0 -1
- package/dist/native/p-Blc6XEY7.js.map +0 -1
- package/dist/native/p-CasQushP.js +0 -3
- package/dist/native/p-CasQushP.js.map +0 -1
- package/dist/native/p-CgHCo_Ho.js.map +0 -1
- package/dist/native/p-ChV9xqsO.js.map +0 -1
- package/dist/native/p-CnI0auJM.js.map +0 -1
- package/dist/native/p-D3eWMME9.js.map +0 -1
- package/dist/native/p-DQuL1Twl.js +0 -2
- package/dist/native/p-DQuL1Twl.js.map +0 -1
- package/dist/native/p-DmUOtOcY.js.map +0 -1
- package/dist/native/p-Hfc8Oh0x.js.map +0 -1
- package/dist/native/p-IlwlcG9l.js.map +0 -1
- package/dist/native/p-a6fea322.entry.js +0 -2
- package/dist/native/p-a6fea322.entry.js.map +0 -1
- package/dist/native/p-ae279ae9.entry.js +0 -2
- package/dist/native/p-ae279ae9.entry.js.map +0 -1
- package/dist/native/p-b7765048.entry.js +0 -2
- package/dist/native/p-b7765048.entry.js.map +0 -1
- package/dist/native/p-ba1286aa.entry.js +0 -2
- package/dist/native/p-ba1286aa.entry.js.map +0 -1
- package/dist/native/p-bb52a5a9.entry.js +0 -2
- package/dist/native/p-bb52a5a9.entry.js.map +0 -1
- package/dist/native/p-bc90247e.entry.js +0 -2
- package/dist/native/p-bc90247e.entry.js.map +0 -1
- package/dist/native/p-c2a73a5a.entry.js +0 -2
- package/dist/native/p-c2a73a5a.entry.js.map +0 -1
- package/dist/native/p-c4c11549.entry.js +0 -2
- package/dist/native/p-c4c11549.entry.js.map +0 -1
- package/dist/native/p-c5ecdc49.entry.js +0 -2
- package/dist/native/p-c5ecdc49.entry.js.map +0 -1
- package/dist/native/p-cb1b9edb.entry.js +0 -2
- package/dist/native/p-cb1b9edb.entry.js.map +0 -1
- package/dist/native/p-cdaf54b0.entry.js +0 -2
- package/dist/native/p-cdaf54b0.entry.js.map +0 -1
- package/dist/native/p-ceb8fe8a.entry.js +0 -2
- package/dist/native/p-ceb8fe8a.entry.js.map +0 -1
- package/dist/native/p-daf7541b.entry.js +0 -2
- package/dist/native/p-daf7541b.entry.js.map +0 -1
- package/dist/native/p-de4f53a5.entry.js +0 -2
- package/dist/native/p-de4f53a5.entry.js.map +0 -1
- package/dist/native/p-ded4be77.entry.js +0 -2
- package/dist/native/p-ded4be77.entry.js.map +0 -1
- package/dist/native/p-e1fc5f8c.entry.js +0 -2
- package/dist/native/p-e1fc5f8c.entry.js.map +0 -1
- package/dist/native/p-e6c69f7d.entry.js +0 -2
- package/dist/native/p-e6c69f7d.entry.js.map +0 -1
- package/dist/native/p-e83603f1.entry.js +0 -2
- package/dist/native/p-e83603f1.entry.js.map +0 -1
- package/dist/native/p-ec217581.entry.js +0 -2
- package/dist/native/p-ec217581.entry.js.map +0 -1
- package/dist/native/p-ee694832.entry.js +0 -2
- package/dist/native/p-ee694832.entry.js.map +0 -1
- package/dist/native/p-f39aef8e.entry.js +0 -2
- package/dist/native/p-f39aef8e.entry.js.map +0 -1
- package/dist/native/p-f7e0146e.entry.js +0 -2
- package/dist/native/p-f7e0146e.entry.js.map +0 -1
- package/dist/native/p-sqVK8yoD.js.map +0 -1
- package/dist/native/p-xlgmw4x8.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nv-datagrid.js","sourceRoot":"","sources":["../../../../src/components/nv-datagrid/nv-datagrid.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n Component,\n Prop,\n h,\n State,\n Host,\n Watch,\n Element,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport {\n createTable,\n Table,\n TableOptionsResolved,\n getCoreRowModel,\n createColumnHelper,\n Row,\n getFilteredRowModel,\n getPaginationRowModel,\n PaginationState,\n getSortedRowModel,\n ColumnSort,\n SortingState,\n Header,\n RowSelectionState,\n ColumnDef,\n} from '@tanstack/table-core';\nimport { Column } from '../../interfaces/Column';\nimport { deepCopyElement, excludedProps } from '../../utils/dom.utils';\nimport { debounce } from '../../utils/input.utils';\nimport {\n GlobalFilterPosition,\n SortingPossibility,\n} from '../../utils/constants';\n\n/**\n * Indeterminate Checkbox Options\n */\ninterface IndeterminateCheckboxOptions {\n /**\n * State of the checkbox\n */\n indeterminate?: boolean;\n /**\n * Value of the checkbox\n */\n checked?: boolean;\n /**\n * Is the checkbox disabled or not\n */\n disabled?: boolean;\n /**\n * Class Name\n */\n className?: string;\n /**\n * On change event\n * @param {Event} e - The event\n * @returns\n */\n onChange?: (e: Event) => void;\n}\n\n/**\n * A flexible data grid component powered by `@tanstack/table-core`.\n * @slot default - Use this slot to insert HTML into the data grid content.\n * @slot before - Use this slot to insert HTML before the data grid.\n * @slot after - Use this slot to insert HTML after the data grid.\n *\n * @deprecated Please use the datatable instead\n */\n@Component({\n tag: 'nv-datagrid',\n styleUrl: './nv-datagrid.scss',\n shadow: false,\n})\nexport class NvDatagrid {\n @Element() el: HTMLNvDatagridElement;\n\n private readonly templateCache = new Map<string, Element>();\n private readonly headerTemplateCache = new Map<string, Element>();\n private readonly minPageIndex = 1;\n\n /****************************************************************************/\n //#region STATES\n\n @State()\n private table: Table<any> | null = null;\n\n @State()\n parsedColumns: Column[] = []; // Parsed array\n\n @State()\n parsedData: any[] = []; // Parsed array\n\n @State()\n private globalFilterSearchTerm: string = '';\n\n @State()\n private columnData: {\n /**\n * Defines the header of the column.\n */\n header?: string;\n\n /**\n * Defines the accessor of the column.\n */\n accessor: string;\n\n /**\n * Whether the column need to be repeated with the template.\n */\n repeatTemplate: boolean;\n\n /**\n * Defines the group header of the column.\n */\n group?: string;\n }[] = [];\n\n @State()\n private paginationState: PaginationState | null = null;\n\n @State()\n private sortingState: ColumnSort[] = [];\n\n @State()\n private rowSelectionState: RowSelectionState | null = {};\n\n //#endregion STATES\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * The data to display in the data grid.\n * @example [{ \"name\": \"Alice\", \"age\": 25 }, { \"name\": \"Bob\", \"age\": 30 }]\n * @default []\n */\n @Prop({ reflect: false })\n readonly data: any[] = [];\n\n /**\n * The columns to display in the data grid.\n * @example\n * [\n * {\"header\":\"Name\",\"accessor\":\"name\"},\n * {\"header\":\"Age\",\"accessor\":\"age\"},\n * {\"header\":\"Email\",\"accessor\":\"email\"}\n * ]\n * @default []\n */\n @Prop({ reflect: false })\n readonly columns: Column[] = [];\n\n /**\n * Fallback value to be displayed when data is not available\n * @default 'N/A'\n */\n @Prop({ reflect: true })\n readonly fallbackValue: string = 'N/A';\n\n /**\n * The message to display when there is no data available.\n * @default 'No data available'\n */\n @Prop({ reflect: true })\n readonly noDataMessage: string = 'No data available';\n\n /**\n * The message to display when there are no columns or data available.\n * @default 'No data or columns available to display.'\n */\n @Prop({ reflect: true })\n readonly noColumnsNoDataMessage: string =\n 'No data or columns available to display.';\n\n /**\n * Whether to automatically generate columns if none are provided.\n * If columns are explicitly set, this property is ignored.\n * @default false\n */\n @Prop({ reflect: true })\n readonly autoGenerateColumns: boolean = false;\n\n /**\n * Whether to enable global filtering for the data grid.\n * This allows users to search across all columns for a specific value.\n * The search is case-insensitive and supports partial matches.\n * It use string.includes() to match the search term.\n * @default false\n */\n @Prop({ reflect: true })\n readonly enableGlobalFilter: boolean = false;\n\n /**\n * Position the global filter input field\n */\n @Prop({ reflect: true })\n readonly globalFilterPosition: `${GlobalFilterPosition}` = 'end';\n\n /**\n * Whether to enable pagination for the data grid.\n * @default false\n */\n @Prop({ reflect: true })\n readonly enablePagination: boolean = false;\n\n /**\n * The number of rows to display per page.\n * If the number is not present in the property pageSizes it takes the first of the list.\n * @default 10\n */\n @Prop({ reflect: true })\n readonly pageSize: number = 10;\n\n /**\n * The array of page sizes to display in the pagination dropdown.\n * @default [10, 20, 30, 40, 50]\n */\n @Prop({ reflect: true })\n readonly pageSizes: number[] = [10, 20, 30, 40, 50];\n\n /**\n * Whether to enable sorting for the data grid.\n * @default false\n */\n @Prop({ reflect: true })\n readonly enableSorting: boolean = false;\n\n /**\n * Whether to enable row selection for the data grid.\n */\n @Prop({ reflect: true })\n readonly enableRowSelection: boolean = false;\n\n /**\n * The overall state\n */\n @Prop({ reflect: true })\n readonly state: {\n /**\n * Global filter search term\n */\n globalFilterSearchTerm: string;\n /**\n * Pagination State\n */\n paginationState: {\n /**\n * Page Index\n */\n pageIndex: number;\n /**\n * Page Size\n */\n pageSize: number;\n };\n /**\n * Sorting the columns\n */\n sortingState: {\n /**\n * Descending\n */\n desc: boolean;\n /**\n * Column Id\n */\n id: string;\n }[];\n } = null;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Caches templates for cells and headers upfront to improve performance.\n */\n private cacheTemplates() {\n const columns = Array.from(this.el.querySelectorAll('nv-datagridcolumn'));\n\n this.columnData = [];\n\n columns.forEach((col: HTMLNvDatagridcolumnElement) => {\n const key = col.accessor;\n const cellSlot = col.querySelector('[slot=\"cell\"]');\n\n if (cellSlot) {\n const element = deepCopyElement(cellSlot as HTMLElement);\n this.templateCache.set(key, element);\n }\n\n const headerSlot = col.querySelector('[slot=\"header\"]');\n\n if (headerSlot) {\n const element = deepCopyElement(headerSlot as HTMLElement);\n this.headerTemplateCache.set(key, element);\n } else {\n const header = col.header;\n\n if (header) {\n const headerDiv = document.createElement('div');\n headerDiv.textContent = header;\n this.headerTemplateCache.set(key, headerDiv);\n }\n }\n\n const colData = {\n header: col.header,\n accessor: col.accessor,\n repeatTemplate: col.hasAttribute('repeat-template'),\n group: col.group,\n };\n\n this.columnData.push(colData);\n });\n\n console.info('cacheTemplates this.columnData:', this.columnData);\n }\n\n private parseDataAndColumns() {\n if (this.data && this.data.length > 0) {\n this.parseDataArray(this.data, this.parsedData);\n }\n\n if (this.columns && this.columns.length > 0) {\n this.parseColumnsArray(this.columns, this.parsedColumns);\n } else if (this.headerTemplateCache.size > 0) {\n const headerKeys = Array.from(this.headerTemplateCache.keys());\n const arrayColumnsConfig = headerKeys.map<Column>(key => ({\n ...{}, // Ensure no prototype inheritance\n accessor: key,\n header: key ? key.charAt(0).toUpperCase() + key.slice(1) : '',\n group:\n this.columnData.find(x => x.accessor === key)?.group ?? 'ungrouped',\n }));\n\n this.parseColumnsArray(arrayColumnsConfig, this.parsedColumns);\n } else if (this.parsedData.length > 0) {\n const firstRow = this.parsedData[0];\n const arrayColumnsConfig = Object.keys(firstRow).map<Column>(key => ({\n accessor: key,\n header: key.charAt(0).toUpperCase() + key.slice(1),\n group:\n this.columnData.find(x => x.accessor === key)?.group ?? 'ungrouped',\n }));\n\n if (this.autoGenerateColumns) {\n this.parseColumnsArray(arrayColumnsConfig, this.parsedColumns);\n }\n }\n }\n\n private deepEqual(a: any, b: any): boolean {\n return JSON.stringify(a) === JSON.stringify(b);\n }\n\n /**\n * Parses the data array and sets the state accordingly\n * @param {any[]} newValue - The new value of the data array.\n * @param {any[]} oldValue - The old value of the data array.\n */\n private parseDataArray(newValue: any[], oldValue: any[]) {\n // Ensure both are arrays for proper comparison\n const safeNewValue = Array.isArray(newValue) ? newValue : [];\n const safeOldValue = Array.isArray(oldValue) ? oldValue : [];\n\n if (this.deepEqual(safeNewValue, safeOldValue)) {\n return; // Deep comparison\n }\n\n this.parsedData = Array.isArray(newValue) ? newValue : [];\n }\n\n /**\n * Parses the columns array and sets the state accordingly\n * @param {Column[]} newValue - The new value of the columns array.\n * @param {Column[]} oldValue - The old value of the columns array.\n */\n private parseColumnsArray(newValue: Column[], oldValue: Column[]) {\n // Ensure both are arrays for proper comparison\n const safeNewValue = Array.isArray(newValue) ? newValue : [];\n const safeOldValue = Array.isArray(oldValue) ? oldValue : [];\n\n // Use a proper deep comparison function (e.g., Lodash's isEqual)\n if (this.deepEqual(safeNewValue, safeOldValue)) {\n return;\n }\n\n // Assign only after confirming changes\n this.parsedColumns = safeNewValue;\n }\n\n private initializeTable(): void {\n // Clear the previous table instance (if any)\n this.table = null;\n\n console.info('initializeTable this.columnData:', this.columnData);\n\n // Set default options for the table\n const tableOptions: TableOptionsResolved<any> = {\n columns: [],\n data: [],\n getCoreRowModel: getCoreRowModel(),\n debugAll: true,\n onStateChange: state => console.log('Table state changed:', state), // eslint-disable-line nova/no-console\n renderFallbackValue: 'No rows to display',\n state: {\n sorting: [], // Default: no active sorting\n columnVisibility: {}, // Default: all columns visible\n columnFilters: [], // Default: no column filters\n columnPinning: {}, // Default: no column pinning\n columnSizing: {}, // Default: no column sizing\n columnOrder: [], // Default: as defined in the `columns`\n pagination: null, // Default: no pagination\n grouping: [], // Default: no active grouping\n expanded: {}, // Default: no expanded rows\n rowPinning: {}, // Default: no row pinning\n rowSelection: {}, // Default: no row selection\n globalFilter: null, // Default: no global filter\n columnSizingInfo: {\n columnSizingStart: null,\n deltaOffset: null,\n deltaPercentage: null,\n isResizingColumn: false,\n startOffset: null,\n startSize: null,\n }, // Default: no column sizing info\n },\n };\n\n if (this.parsedColumns.length > 0) {\n // Validate and generate column definitions\n const validColumns = this.parsedColumns.filter(\n column => column?.accessor,\n );\n\n // Update tableOptions based on parsed data and columns\n const hasColumns =\n validColumns && Array.isArray(validColumns) && validColumns.length > 0;\n const hasData =\n this.parsedData &&\n Array.isArray(this.parsedData) &&\n this.parsedData.length > 0;\n\n if (!hasColumns && !hasData) {\n // No columns and no data\n } else if (hasColumns && !hasData) {\n // Has columns but no data\n tableOptions.columns = this.generateColumns(validColumns, tableOptions);\n } else {\n // Both columns and data are available\n tableOptions.data = this.getTableData();\n tableOptions.columns = this.generateColumns(validColumns, tableOptions);\n }\n } else {\n // No parsed columns and data is available\n const hasData =\n this.parsedData &&\n Array.isArray(this.parsedData) &&\n this.parsedData.length > 0;\n\n if (hasData) {\n // No parsed columns and data is available\n const firstRow = this.parsedData[0];\n const arrayColumnsConfig = Object.keys(firstRow).map<Column>(key => ({\n accessor: key,\n header: key.charAt(0).toUpperCase() + key.slice(1),\n group:\n this.columnData.find(x => x.accessor === key)?.group ?? 'ungrouped',\n }));\n\n if (this.autoGenerateColumns) {\n this.parseColumnsArray(arrayColumnsConfig, this.parsedColumns);\n }\n\n tableOptions.data = this.getTableData();\n tableOptions.columns = this.generateColumns(\n arrayColumnsConfig,\n tableOptions,\n );\n }\n }\n\n if (this.enableGlobalFilter) {\n tableOptions.getFilteredRowModel = getFilteredRowModel();\n\n const globalFilter = this.globalFilterSearchTerm;\n\n // Set the initial global filter value\n tableOptions.state.globalFilter = globalFilter;\n\n // Define the callback for global filter changes\n tableOptions.onGlobalFilterChange = updater => {\n const newFilter =\n typeof updater === 'function'\n ? updater(this.globalFilterSearchTerm)\n : updater;\n this.globalFilterSearchTerm = newFilter; // Will automatically trigger the searchTerm watcher and update the table\n };\n\n tableOptions.globalFilterFn = this.globalFilterFn;\n }\n\n if (this.enablePagination) {\n tableOptions.getPaginationRowModel = getPaginationRowModel();\n\n const pageIndex = this.paginationState?.pageIndex ?? 0;\n let effectivePageSize = this.paginationState?.pageSize ?? 10;\n\n if (!this.pageSizes.includes(effectivePageSize) && this.pageSizes) {\n effectivePageSize = this.pageSizes[0];\n }\n\n const pagination: PaginationState = {\n pageIndex: pageIndex,\n pageSize: effectivePageSize,\n };\n\n // Set the initial pagination value with safeguards\n tableOptions.state.pagination = pagination;\n\n tableOptions.onPaginationChange = updater => {\n const newPagination =\n typeof updater === 'function'\n ? updater(this.paginationState)\n : updater;\n\n this.paginationState = newPagination;\n };\n }\n\n if (this.enableSorting) {\n tableOptions.getSortedRowModel = getSortedRowModel();\n\n tableOptions.enableSorting = this.enableSorting;\n\n tableOptions.state.sorting = this.sortingState;\n\n tableOptions.onSortingChange = updater => {\n const newSorting =\n typeof updater === 'function' ? updater(this.sortingState) : updater;\n this.sortingState = newSorting; // Will automatically trigger the searchTerm watcher and update the table\n };\n }\n\n if (this.enableRowSelection) {\n tableOptions.state.rowSelection = this.rowSelectionState;\n\n tableOptions.onRowSelectionChange = updater => {\n const newRowSelectionState =\n typeof updater === 'function'\n ? updater(this.rowSelectionState)\n : updater;\n\n this.rowSelectionState = newRowSelectionState;\n\n // Emit the original rows instead of IDs\n const selectedRows = Object.keys(newRowSelectionState)\n .filter(rowId => newRowSelectionState[rowId])\n .map(rowId => {\n // Assuming rowId corresponds to the index in parsedData\n const index = parseInt(rowId, 10); // Convert rowId to an integer index\n return this.parsedData[index]; // Get the original row data\n });\n\n this.selectedRows.emit(selectedRows); // Emit the original rows\n };\n }\n\n // Initialize the table\n this.table = createTable(tableOptions);\n }\n\n /**\n * Global filter function for the table.\n * This function checks if the specified filter value is present in any of the row's original values,\n * including nested objects and arrays. It is used to filter the rows based on the global filter value,\n * allowing for case-insensitive matching.\n *\n * @param {Row<any>} row - The row object containing the data to be filtered.\n * @param {string} _columnId - The ID of the column being filtered (not used in this function).\n * @param {string} filterValue - The value to filter the rows by. This value is checked against the row's data.\n * @returns {boolean} - Returns true if the row should be included in the filtered results, false otherwise.\n * If the filter value is empty, all rows are included.\n */\n private globalFilterFn(\n row: Row<any>,\n _columnId: string,\n filterValue: string,\n ) {\n const safeFilterValue = String(filterValue).toLowerCase().trim();\n\n // If no filter value, return true for all rows\n if (!safeFilterValue) return true;\n\n // More robust filtering across all columns\n const checkValue = (value: any): boolean => {\n if (typeof value === 'object' && value !== null) {\n // If it's an array, check each item\n if (Array.isArray(value)) {\n return value.some(item => checkValue(item));\n }\n // If it's an object, check each property\n return Object.values(value).some(val => checkValue(val));\n }\n return String(value).toLowerCase().includes(safeFilterValue);\n };\n\n return checkValue(row.original);\n }\n\n private createIconSpan(checked: boolean, indeterminate: boolean) {\n const span = document.createElement('span');\n span.className = 'icon';\n\n if (checked && !indeterminate) {\n const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n svg.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n svg.setAttribute('width', '14');\n svg.setAttribute('height', '14');\n svg.setAttribute('viewBox', '0 0 14 14');\n svg.setAttribute('fill', 'none');\n\n const path = document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'path',\n );\n path.setAttribute('d', 'M11.6667 3.5L5.25004 9.91667L2.33337 7');\n path.setAttribute('stroke-linecap', 'round');\n path.setAttribute('stroke-linejoin', 'round');\n\n svg.appendChild(path);\n span.appendChild(svg);\n }\n\n if (indeterminate) {\n const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n svg.classList.add('indeterminate-svg');\n svg.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n svg.setAttribute('viewBox', '0 0 14 14');\n svg.setAttribute('fill', 'none');\n\n const path = document.createElementNS(\n 'http://www.w3.org/2000/svg',\n 'path',\n );\n path.setAttribute('d', 'M2.9165 7H11.0832');\n path.setAttribute('stroke-linecap', 'round');\n path.setAttribute('stroke-linejoin', 'round');\n\n svg.appendChild(path);\n span.appendChild(svg);\n }\n\n return span;\n }\n\n private createIndeterminateCheckbox(\n options: IndeterminateCheckboxOptions = {},\n ): HTMLElement {\n const {\n indeterminate,\n checked = false,\n disabled = false,\n className = '',\n onChange,\n } = options;\n\n const input = document.createElement('input');\n input.type = 'checkbox';\n input.checked = checked;\n input.disabled = disabled;\n input.className = `${className} cursor-pointer`.trim();\n\n if (typeof indeterminate === 'boolean') {\n input.indeterminate = !checked && indeterminate;\n }\n\n if (onChange) {\n input.addEventListener('change', onChange);\n }\n\n const iconSpan = this.createIconSpan(checked, indeterminate);\n\n const container = document.createElement('div');\n container.className = 'checkbox-container';\n container.appendChild(input);\n container.appendChild(iconSpan);\n\n return container;\n }\n\n // Helper function to generate column definitions\n private generateColumns(\n validColumns: Column[],\n tableOptions: TableOptionsResolved<any>,\n ): any[] {\n console.info('generateColumns this.columnData:', this.columnData);\n console.info('generateColumns validColumns:', validColumns);\n let processedColumns: Column[] = validColumns || [];\n const columnHelper = createColumnHelper<any>();\n\n // If no columns provided or autoGenerateColumns is true, generate them from data\n if (\n (!validColumns && tableOptions.data && tableOptions.data.length > 0) ||\n (validColumns.length <= 0 &&\n tableOptions.data &&\n tableOptions.data.length > 0)\n ) {\n const sampleRow = tableOptions.data[0];\n processedColumns = Object.keys(sampleRow as object).map(key => ({\n header: key.charAt(0).toUpperCase() + key.slice(1),\n accessor: key,\n group:\n this.columnData.find(x => x.accessor === key)?.group ?? 'ungrouped',\n headerSlot: null,\n cellSlot: null,\n }));\n }\n\n // Group columns by their group property\n const groupedColumns = processedColumns.reduce((acc, column) => {\n let group = column.group || 'ungrouped';\n\n if (group == 'ungrouped') {\n group = group + processedColumns.findIndex(x => x == column);\n }\n\n if (!acc[group]) {\n acc[group] = [];\n }\n acc[group].push(column);\n return acc;\n }, {} as Record<string, Column[]>);\n\n // Transform each column into a ColumnDef\n const createColumnDef = (column: Column) => {\n return columnHelper.accessor(column.accessor as any, {\n header:\n this.renderTemplate(\n this.headerTemplateCache.get(column.accessor),\n column.header ?? column.accessor,\n null,\n ) ??\n column.header ??\n column.accessor,\n cell: (info: any) => {\n const value = info.getValue();\n const row = info.row;\n\n return this.columnData.find(x => x.accessor === column.accessor)\n ?.repeatTemplate && Array.isArray(value)\n ? value.map(\n (item: any) =>\n this.renderTemplate(\n this.templateCache.get(column.accessor),\n item,\n row,\n ) ??\n item ??\n value ??\n this.fallbackValue,\n )\n : this.renderTemplate(\n this.templateCache.get(column.accessor),\n value,\n row,\n ) ??\n value ??\n this.fallbackValue;\n },\n sortUndefined: 'last',\n sortDescFirst: false,\n enableSorting: this.enableSorting, // Explicitly set enableSorting based on the sorting prop\n enableGlobalFilter: this.enableGlobalFilter, // Explicity set enableGlobalFilter based on the globalFiltering prop\n });\n };\n\n // Create the final column structure\n let generatedColumns = Object.entries(groupedColumns)\n .map(([groupName, groupColumns]) => {\n if (groupName.includes('ungrouped')) {\n return groupColumns.map(createColumnDef);\n }\n\n return {\n id: groupName,\n header: groupName,\n columns: groupColumns.map(createColumnDef),\n enableSorting: this.enableSorting, // Also apply to column groups\n enableGlobalFilter: this.enableGlobalFilter, // Also apply to column groups\n } as ColumnDef<any, any>;\n })\n .flat();\n\n if (this.enableRowSelection) {\n const rowSelection = columnHelper.accessor('select', {\n header: ({ table }) => {\n return (\n <div\n class=\"flex px-1\"\n ref={el => {\n const checkbox = this.createIndeterminateCheckbox({\n checked: table?.getIsAllRowsSelected(),\n indeterminate: table?.getIsSomeRowsSelected(),\n onChange: table?.getToggleAllRowsSelectedHandler(),\n });\n\n if (el) {\n el.innerHTML = ''; // Remove existing content\n el.appendChild(checkbox); // Append new checkbox\n }\n }}\n />\n );\n },\n cell: ({ row }) => {\n return (\n <div\n class=\"flex px-1\"\n ref={el => {\n const checkbox = this.createIndeterminateCheckbox({\n checked: row?.getIsSelected(),\n disabled: !row?.getCanSelect(),\n indeterminate: row?.getIsSomeSelected(),\n onChange: row?.getToggleSelectedHandler(),\n });\n\n if (el) {\n el.innerHTML = ''; // Remove existing content\n el.appendChild(checkbox); // Append new checkbox\n }\n }}\n />\n );\n },\n enableGlobalFilter: false,\n enableSorting: false,\n });\n\n generatedColumns = [rowSelection, ...generatedColumns];\n }\n\n return generatedColumns;\n }\n\n private getTableData(): any[] {\n if (\n this.parsedData &&\n Array.isArray(this.parsedData) &&\n this.parsedData.length > 0\n ) {\n return [...this.parsedData];\n } else {\n return [];\n }\n }\n\n private renderTemplate(\n template: Element | undefined,\n cellValue: any,\n row?: Row<any>,\n ) {\n if (!template) {\n return null;\n }\n\n // Handle <template> elements correctly\n const templateContent =\n template instanceof HTMLTemplateElement ? template.content : template;\n const element = deepCopyElement(templateContent as HTMLElement);\n\n // Replace placeholders in text content, attributes, and properties\n element.querySelectorAll('*').forEach(el => {\n // Replace placeholders in text content\n this.replacePlaceholdersTextContent(el, cellValue, row);\n\n // Replace placeholders in attributes\n this.replacePlaceholdersAttributes(el, cellValue, row);\n\n // Replace placeholders in properties\n this.replacePlaceholdersProperties(el, cellValue, row);\n });\n\n // Handle `data-bind-event`\n element.querySelectorAll('[data-bind-event]').forEach(el => {\n const bindEvent = el.getAttribute('data-bind-event') || '';\n const splitted = bindEvent.split(':');\n\n if (!bindEvent.includes(':') || splitted.length < 2) {\n console.warn('Invalid data-bind-event format:', bindEvent);\n return;\n }\n\n const eventType = splitted[0];\n const keyAction = splitted[1];\n const details = splitted.length > 2 ? splitted[2] : null;\n\n el.addEventListener(eventType, () => {\n const keys = details?.split(',') ?? [];\n\n // Convert keys into a single object instead of an array of objects\n const keyValue = keys.reduce((acc, key) => {\n if (row?.original) {\n if (key in row.original) {\n acc[key] = row.original?.[key];\n }\n }\n return acc;\n }, {} as Record<string, any>);\n\n const action = { keyAction, details: keyValue };\n\n this.action.emit(action);\n });\n });\n\n // Ensure Web Components are properly connected\n setTimeout(() => {\n element.querySelectorAll('*').forEach(child => {\n if (typeof (child as any).connectedCallback === 'function') {\n (child as any).connectedCallback();\n }\n });\n }, 0);\n\n return (\n <div\n ref={el => {\n if (el) {\n el.innerHTML = ''; // Remove existing content\n el.appendChild(element); // Append new element\n }\n }}\n ></div>\n );\n }\n\n private replaceKeyWithValue(key: string, cellValue: any): string {\n // Handle undefined or null values by returning the fallback\n if (cellValue === undefined || cellValue === null) {\n return this.fallbackValue;\n }\n\n // If cellValue is an object, attempt to retrieve the value\n if (typeof cellValue === 'object') {\n // Handle nested key paths (e.g., \"user.name\")\n if (key.includes('.')) {\n const resolvedValue = key.split('.').reduce((acc, keyPart) => {\n if (acc && acc[keyPart] !== undefined) {\n return acc[keyPart];\n } else {\n return undefined;\n }\n }, cellValue);\n\n if (resolvedValue !== undefined) {\n return String(resolvedValue);\n } else {\n const firstLevelKey = key.split('.')[0];\n const rest = key.substring(firstLevelKey.length + 1);\n\n const response = this.replaceKeyWithValue(rest, cellValue);\n\n if (response !== this.fallbackValue) {\n return response;\n }\n }\n }\n\n // Handle single-level key lookup\n if (key in cellValue) {\n return String(cellValue[key]);\n } else if (Array.isArray(cellValue)) {\n // Handle array of objects\n const response = cellValue.map((item: any) => {\n if (typeof item !== 'object') {\n return item.toString();\n } else if (key in item) {\n return item[key];\n } else {\n return item.toString();\n }\n });\n\n return response.join(', ');\n }\n\n return this.fallbackValue;\n }\n\n // If cellValue is a primitive (string, number, boolean, etc.), return it as a string\n return cellValue?.toString() ?? this.fallbackValue;\n }\n\n private replacePlaceholdersTextContent(\n element: Element,\n cellValue: any,\n row: Row<any>,\n ) {\n if (!cellValue) {\n // ✅ Replace placeholders in text content with the row original value\n // but first get the original value\n const originalValue = row.original;\n\n element.childNodes.forEach(node => {\n if (node.nodeType === Node.TEXT_NODE) {\n node.textContent = node.textContent.replace(\n /__([\\w.]+)__/g,\n (_, key) => {\n if (key in originalValue) {\n return this.replaceKeyWithValue(key, originalValue[key]);\n } else {\n console.warn(`Key ${key} not found in originalValue`);\n return '';\n }\n },\n );\n }\n });\n } else {\n // ✅ Replace placeholders in text content\n element.childNodes.forEach(node => {\n if (node.nodeType === Node.TEXT_NODE) {\n node.textContent = node.textContent.replace(\n /__([\\w.]+)__/g,\n (_, key) => this.replaceKeyWithValue(key, cellValue),\n );\n }\n });\n }\n }\n\n private replacePlaceholdersAttributes(\n element: Element,\n cellValue: any,\n row: Row<any>,\n ) {\n if (!cellValue) {\n // ✅ Replace placeholders in attributes with the row original value\n // but first get the original value\n const originalValue = row.original;\n\n Array.from(element.attributes).forEach(attr => {\n if (attr.value.includes('__')) {\n attr.value = attr.value.replace(/__([\\w.]+)__/g, (_, key) => {\n if (key in originalValue) {\n return this.replaceKeyWithValue(key, originalValue[key]);\n } else {\n console.warn(`Key ${key} not found in originalValue`);\n return '';\n }\n });\n }\n });\n } else {\n // ✅ Replace placeholders in attributes\n Array.from(element.attributes).forEach(attr => {\n if (attr.value.includes('__')) {\n attr.value = attr.value.replace(/__([\\w.]+)__/g, (_, key) =>\n this.replaceKeyWithValue(key, cellValue),\n );\n }\n });\n }\n }\n\n private replacePlaceholdersProperties(\n element: Element,\n cellValue: any,\n row: Row<any>,\n ) {\n if (!cellValue) {\n // ✅ Replace placeholders in properties with the row original value\n // but first get the original value\n const originalValue = row.original;\n\n // ✅ Dynamically extract relevant properties\n const properties = new Set<string>();\n\n // Collect only own enumerable properties\n Object.keys(originalValue).forEach(key => properties.add(key));\n\n // Collect inherited properties from prototypes (HTMLElement -> Element -> Node)\n let proto = Object.getPrototypeOf(originalValue);\n while (proto && proto !== HTMLElement.prototype) {\n Object.keys(proto).forEach(key => properties.add(key));\n proto = Object.getPrototypeOf(proto);\n }\n\n // ✅ Filter and copy only non-function properties and exclude irrelevant ones\n properties.forEach(prop => {\n if (\n typeof (element as any)[prop] !== 'function' && // Ignore methods\n !prop.startsWith('on') && // Ignore event listeners (onclick, oninput, etc.)\n !excludedProps.has(prop) // 🚨 Prevent text duplication and irrelevant props\n ) {\n const propValue = (element as any)[prop];\n\n if (typeof propValue === 'string' && propValue.includes('__')) {\n (element as any)[prop] = propValue.replace(\n /__([\\w.]+)__/g,\n (_, key) => {\n if (key in originalValue) {\n return this.replaceKeyWithValue(key, originalValue[key]);\n } else {\n console.warn(`Key ${key} not found in originalValue`);\n return '';\n }\n },\n );\n }\n }\n });\n } else {\n // ✅ Dynamically extract relevant properties\n const properties = new Set<string>();\n\n // Collect only own enumerable properties\n Object.keys(element).forEach(key => properties.add(key));\n\n // Collect inherited properties from prototypes (HTMLElement -> Element -> Node)\n let proto = Object.getPrototypeOf(element);\n while (proto && proto !== HTMLElement.prototype) {\n Object.keys(proto).forEach(key => properties.add(key));\n proto = Object.getPrototypeOf(proto);\n }\n\n // ✅ Filter and copy only non-function properties and exclude irrelevant ones\n properties.forEach(prop => {\n if (\n typeof (element as any)[prop] !== 'function' && // Ignore methods\n !prop.startsWith('on') && // Ignore event listeners (onclick, oninput, etc.)\n !excludedProps.has(prop) // 🚨 Prevent text duplication and irrelevant props\n ) {\n try {\n const propValue = element[prop];\n\n // ✅ Replace placeholders only if the value is a string\n if (typeof propValue === 'string' && propValue.includes('__')) {\n element[prop] = propValue.replace(/__([\\w.]+)__/g, (_, key) =>\n this.replaceKeyWithValue(key, cellValue),\n ) as any; // ✅ TypeScript safe\n }\n } catch (error) {\n console.warn(`Could not assign property ${prop}:`, error.message);\n }\n }\n });\n }\n }\n\n private readonly debouncedFilter = debounce((value: string) => {\n this.table?.setGlobalFilter(value);\n }, 300);\n\n /**\n * Handles global filtering on input event for the search input.\n * It debounces the input to prevent excessive filtering.\n * @param {Event} event - The input event.\n * @returns {void} - Nothing.\n */\n private readonly handleGlobalFilteringOnInput = (event: Event): void => {\n const target = event.target;\n\n if (target instanceof HTMLInputElement) {\n const value = target.value;\n\n // Update the globalFilter state\n this.debouncedFilter(value);\n }\n };\n\n private readonly flexRender = <TProps extends object>(\n comp: any,\n props: TProps,\n ) => {\n if (typeof comp === 'function') {\n return comp(props);\n }\n\n return comp;\n };\n\n private readonly handlePageIndexChange = (event: Event): void => {\n const target = event.target as HTMLInputElement;\n const page = target.value ? Number(target.value) - 1 : 0;\n\n // Simply use `setPageIndex` to update the page index directly\n this.paginationState = { ...this.paginationState, pageIndex: page }; // This triggers the paginationState watcher\n };\n\n private readonly handlePageSizeChange = (event: Event): void => {\n const target = event.target as HTMLSelectElement;\n let effectivePageSize = Number(target.value);\n\n if (!this.pageSizes.includes(effectivePageSize) && this.pageSizes) {\n effectivePageSize = this.pageSizes[0];\n }\n\n // Simply use `setPageSize` to update the page size directly\n this.paginationState = {\n ...this.paginationState,\n pageSize: effectivePageSize,\n }; // This triggers the paginationState watcher\n };\n\n private readonly handleSortingClick = (\n event: Event,\n header: Header<any, unknown>,\n ): void => {\n if (!header.column.getCanSort()) {\n return;\n }\n\n header.column.getToggleSortingHandler()?.(event);\n };\n\n private readonly getSortTitle = (\n header: Header<any, unknown>,\n ): string | undefined => {\n if (!header.column.getCanSort()) return;\n\n const nextOrder = header.column.getNextSortingOrder();\n\n switch (nextOrder) {\n case SortingPossibility.Asc:\n return 'Sort ascending';\n case SortingPossibility.Desc:\n return 'Sort descending';\n default:\n return 'Clear sort';\n }\n };\n\n private getArrowSorting(header: Header<any, unknown>) {\n if (!header.column.getCanSort()) return null;\n\n const sortState = header.column.getIsSorted() as string;\n\n if (sortState === SortingPossibility.Asc) {\n return (\n <div class=\"inline-flex align-middle\">\n <nv-icon name=\"arrow-up\"></nv-icon>\n </div>\n );\n }\n\n if (sortState === SortingPossibility.Desc) {\n return (\n <div class=\"inline-flex align-middle\">\n <nv-icon name=\"arrow-down\"></nv-icon>\n </div>\n );\n }\n\n return null;\n }\n\n private getHeaderCell(header: Header<any, unknown>) {\n const isSortable = header.column.getCanSort();\n const sortTitle = this.getSortTitle(header);\n const content = header.isPlaceholder\n ? null\n : header.column.columnDef.header\n ? this.flexRender(header.column.columnDef.header, header.getContext())\n : null; // Ensure content is not null\n const sortIcon = this.getArrowSorting(header);\n\n const handleClick = this.createSortingClickHandler(header);\n\n if (this.enableRowSelection) {\n return (\n <th key={header.id} colSpan={header.colSpan}>\n {content} {/* Directly render content to see if it appears */}\n </th>\n );\n }\n\n const returnHtml = (\n <th key={header.id} colSpan={header.colSpan}>\n <button\n type=\"button\"\n class={\n isSortable\n ? 'w-full text-left cursor-pointer select-none bg-transparent border-none p-0 m-0 focus:outline-none'\n : 'w-full text-left bg-transparent border-none p-0 m-0 cursor-default'\n }\n onClick={handleClick}\n title={sortTitle}\n >\n <span class=\"inline-flex items-center gap-1\">\n {content}\n {sortIcon}\n </span>\n </button>\n </th>\n );\n\n return returnHtml;\n }\n\n // 👇 Helper method to avoid arrow function in JSX\n private createSortingClickHandler(header: Header<any, unknown>) {\n return (e: MouseEvent) => {\n this.handleSortingClick(e, header);\n };\n }\n\n private getPagination() {\n return (\n this.enablePagination && (\n <div class=\"flex items-center gap-2\">\n <button\n class=\"border rounded p-1\"\n disabled={!this.table.getCanPreviousPage()}\n onClick={this.table.firstPage}\n >\n <<\n </button>\n <button\n class=\"border rounded p-1\"\n disabled={!this.table.getCanPreviousPage()}\n onClick={this.table.previousPage}\n >\n <\n </button>\n <button\n class=\"border rounded p-1\"\n disabled={!this.table.getCanNextPage()}\n onClick={this.table.nextPage}\n >\n >\n </button>\n <button\n class=\"border rounded p-1\"\n disabled={!this.table.getCanNextPage()}\n onClick={this.table.lastPage}\n >\n >>\n </button>\n\n <span class=\"flex items-center gap-1\">\n <div>Page</div>\n <strong>\n {this.table.getState().pagination.pageIndex + 1} of{' '}\n {this.table.getPageCount().toLocaleString()}\n </strong>\n </span>\n <span class=\"flex items-center gap-1\">\n | Go to page:{' '}\n <input\n type=\"number\"\n min={this.minPageIndex}\n max={this.table.getPageCount()}\n value={this.table.getState().pagination.pageIndex + 1}\n class=\"border p-1 rounded w-16\"\n aria-label=\"Go to page\"\n onInput={this.handlePageIndexChange}\n />\n </span>\n {this.pageSizes?.length > 0 && (\n <select\n aria-label=\"Rows per page\"\n onChange={this.handlePageSizeChange}\n >\n {this.pageSizes.map(pageSize => (\n <option\n value={String(pageSize)}\n selected={\n this.table.getState().pagination.pageSize === pageSize\n }\n >\n Show {pageSize}\n </option>\n ))}\n </select>\n )}\n </div>\n )\n );\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('columns')\n parseColumns(newValue: Column[], oldValue: Column[] = []) {\n this.parseColumnsArray(newValue, oldValue);\n }\n\n @Watch('data')\n parseData(newValue: any[], oldValue: any[] = []) {\n this.parseDataArray(newValue, oldValue);\n }\n\n @Watch('parsedColumns')\n @Watch('parsedData')\n handleParsedChange() {\n this.initializeTable();\n }\n\n @Watch('globalFilterSearchTerm')\n handleGlobalFilterSearchTerm(newValue: string) {\n if (!this.table) {\n console.warn('Table is not initialized yet.');\n return;\n }\n\n // Not working\n /*// Set the global filter for the table\n this.table.setGlobalFilter(newValue);*/\n\n // Manually update the globalFilter state\n this.table.options.state.globalFilter = newValue;\n }\n\n @Watch('paginationState')\n handlePaginationState(newValue: PaginationState, oldValue: PaginationState) {\n if (!this.table) {\n console.warn('Table is not initialized yet.');\n return;\n }\n\n // Only update if there is a meaningful change\n if (JSON.stringify(newValue) !== JSON.stringify(oldValue)) {\n // Not working\n /*// Set the pagination for the table\n this.table.setPagination(newValue);*/\n\n // Manually update the pagination state\n this.table.options.state.pagination = newValue;\n }\n }\n\n @Watch('sortingState')\n handleSortingState(newValue: SortingState) {\n if (!this.table) {\n console.warn('Table is not initialized yet.');\n return;\n }\n\n // Not working\n /*// Set the sorting for the table\n this.table.setSorting(newValue);*/\n\n // Manually update the sorting state\n this.table.options.state.sorting = newValue;\n }\n\n @Watch('pageSize')\n handlePageSize(newValue: number) {\n let effectivePageSize = newValue;\n if (!this.pageSizes.includes(effectivePageSize) && this.pageSizes) {\n effectivePageSize = this.pageSizes[0];\n }\n\n // Simply use `setPageSize` to update the page size directly\n this.paginationState = {\n ...this.paginationState,\n pageSize: effectivePageSize,\n }; // This triggers the paginationState watcher\n }\n\n @Watch('rowSelectionState')\n handleRowSelectionState(\n newValue: RowSelectionState,\n oldValue: RowSelectionState,\n ) {\n if (!this.table) {\n console.warn('Table is not initialized yet.');\n return;\n }\n\n // Only update if there is a meaningful change\n if (JSON.stringify(newValue) !== JSON.stringify(oldValue)) {\n // Not working\n /*// Set the rowSelection for the table\n this.table.setRowSelection(newValue);*/\n\n // Manually update the row selection state\n this.table.options.state.rowSelection = newValue;\n }\n }\n\n @Watch('state')\n handleStateChange(newValue: {\n /**\n * Global filter search term\n */\n globalFilterSearchTerm: string;\n /**\n * Pagination State\n */\n paginationState: {\n /**\n * Page Index\n */\n pageIndex: number;\n /**\n * Page Size\n */\n pageSize: number;\n };\n /**\n * Sorting the columns\n */\n sortingState: {\n /**\n * Descending\n */\n desc: boolean;\n /**\n * Column Id\n */\n id: string;\n }[];\n }) {\n if (newValue) {\n // Only update internal state if values are different to avoid loops\n if (this.globalFilterSearchTerm !== newValue.globalFilterSearchTerm) {\n this.globalFilterSearchTerm = newValue.globalFilterSearchTerm;\n }\n if (\n JSON.stringify(this.paginationState) !==\n JSON.stringify(newValue.paginationState)\n ) {\n this.paginationState = newValue.paginationState;\n }\n if (\n JSON.stringify(this.sortingState) !==\n JSON.stringify(newValue.sortingState)\n ) {\n this.sortingState = newValue.sortingState;\n }\n }\n }\n\n // Add watchers for internal state to emit changes\n @Watch('globalFilterSearchTerm')\n @Watch('paginationState')\n @Watch('sortingState')\n handleInternalStateChange() {\n // Only emit if the state has actually changed\n const newState = {\n globalFilterSearchTerm: this.globalFilterSearchTerm,\n paginationState: this.paginationState,\n sortingState: this.sortingState,\n };\n\n // Emit the new state and let the parent component update the prop\n this.stateChanged.emit(newState);\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.cacheTemplates();\n\n this.parseDataAndColumns();\n\n this.initializeTable();\n\n if (this.enablePagination) {\n // Ensure a valid page size\n let effectivePageSize = this.pageSize > 0 ? this.pageSize : 10;\n\n if (!this.pageSizes.includes(effectivePageSize) && this.pageSizes) {\n effectivePageSize = this.pageSizes[0];\n }\n\n this.paginationState = {\n pageIndex: Math.max(0, this.minPageIndex - 1),\n pageSize: effectivePageSize,\n };\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when an action is triggered on a cell.\n */\n @Event({ bubbles: false })\n action: EventEmitter<{\n /**\n * Key action to be performed\n */\n keyAction: string;\n\n /**\n * Details of the action to be performed\n */\n details: any;\n }>;\n\n /**\n * Emitted when the selection of the rows are changed.\n */\n @Event({ bubbles: false })\n // eslint-disable-next-line nova/event-inline-interfaces\n selectedRows: EventEmitter<any[]>;\n\n /**\n * Emitted when the state is changed\n * @bind state\n */\n @Event({ bubbles: false })\n // eslint-disable-next-line nova/event-inline-interfaces\n stateChanged: EventEmitter<{\n /**\n * Global filter search term\n */\n globalFilterSearchTerm: string;\n /**\n * Pagination State\n */\n paginationState: {\n /**\n * Page Index\n */\n pageIndex: number;\n /**\n * Page Size\n */\n pageSize: number;\n };\n /**\n * Sorting the columns\n */\n sortingState: {\n /**\n * Descending\n */\n desc: boolean;\n /**\n * Column Id\n */\n id: string;\n }[];\n }>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n const headerGroups =\n !this.table || this.table === undefined || this.parsedColumns.length === 0\n ? []\n : this.table?.getHeaderGroups();\n\n const rows =\n !this.table || this.table === undefined || this.parsedData.length === 0\n ? []\n : this.table?.getRowModel()?.rows;\n\n return (\n <Host>\n <div class=\"hidden\">\n <slot></slot>\n </div>\n\n <slot name=\"before\"></slot>\n {this.enableGlobalFilter && this.table && (\n <div class={`search-container justify-${this.globalFilterPosition}`}>\n <nv-fieldtext\n value={this.globalFilterSearchTerm}\n onInput={this.handleGlobalFilteringOnInput}\n placeholder=\"Search all columns...\"\n />\n </div>\n )}\n\n {this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (\n <div class=\"no-data\">{this.noColumnsNoDataMessage}</div>\n ) : (\n <div>\n <table>\n {this.parsedColumns.length > 0 && headerGroups.length > 0 && (\n <thead>\n {this.parsedColumns.length > 0 && headerGroups\n ? headerGroups?.map(headerGroup => (\n <tr key={headerGroup.id}>\n {headerGroup.headers.map(header => {\n return this.getHeaderCell(header);\n })}\n </tr>\n ))\n : null}\n </thead>\n )}\n <tbody>\n {!rows || rows.length === 0 || this.parsedData.length === 0 ? (\n <tr>\n <td\n colSpan={this.parsedColumns.length || 12}\n class=\"no-data\"\n >\n {this.noDataMessage}\n </td>\n </tr>\n ) : (\n rows.map(row => {\n const rowId = row.id;\n const visibleCells = row?.getVisibleCells();\n\n return (\n <tr key={rowId}>\n {visibleCells.map(cell => {\n return (\n <td key={cell.id} data-row-id={rowId}>\n {this.flexRender(\n cell.column.columnDef.cell,\n cell.getContext(),\n )}\n </td>\n );\n })}\n </tr>\n );\n })\n )}\n </tbody>\n {this.table && this.enableRowSelection ? (\n <tfoot>\n <tr>\n <td colSpan={20}>\n {this.enableRowSelection && this.table ? (\n <div>\n {this.rowSelectionState &&\n Object.keys(this.rowSelectionState).length > 0 ? (\n <span>\n {Object.keys(this.rowSelectionState).length} of{' '}\n {this.table.getPreFilteredRowModel()?.rows\n ?.length || 0}{' '}\n Total Rows Selected\n </span>\n ) : (\n <span>No rows selected</span>\n )}\n </div>\n ) : null}\n </td>\n </tr>\n </tfoot>\n ) : null}\n </table>\n {this.getPagination()}\n </div>\n )}\n\n <slot name=\"after\"></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n /****************************************************************************/\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nv-datagridcolumn.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-datagridcolumn/nv-datagridcolumn.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 NvDatagridcolumnDocs: NovaDocs<Components.NvDatagridcolumn> = {\n component: 'nv-datagridcolumn',\n skip: true,\n};\n\nexport default NvDatagridcolumnDocs;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nv-datagridcolumn.js","sourceRoot":"","sources":["../../../../src/components/nv-datagridcolumn/nv-datagridcolumn.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAEzD;;;GAGG;AAKH,MAAM,OAAO,gBAAgB;IAJ7B;QAoBE;;WAEG;QAEM,mBAAc,GAAY,KAAK,CAAC;KAuB1C;IAfC,uBAAuB;IACvB,8EAA8E;IAC9E,gBAAgB;IAEhB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,6DAAM,IAAI,EAAC,QAAQ,GAAQ;YAC3B,6DAAM,IAAI,EAAC,MAAM,GAAQ,CACpB,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIF","sourcesContent":["import { Component, Host, Prop, h } from '@stencil/core';\n\n/**\n * @slot header - Defines how to render the header of the column.\n * @slot cell - Defines how to render every cell of the column.\n */\n@Component({\n tag: 'nv-datagridcolumn',\n shadow: false,\n})\nexport class NvDatagridcolumn {\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Defines the header of the column.\n */\n @Prop({ reflect: true })\n readonly header?: string;\n\n /**\n * Defines the accessor of the column.\n */\n @Prop({ reflect: true })\n readonly accessor!: string;\n\n /**\n * Whether the column need to be repeated with the template.\n */\n @Prop({ reflect: true })\n readonly repeatTemplate: boolean = false;\n\n /**\n * Defines the group header of the column.\n */\n @Prop({ reflect: true })\n readonly group?: string;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n <slot name=\"header\"></slot>\n <slot name=\"cell\"></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n /****************************************************************************/\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nv-dialog.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-dialog/nv-dialog.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 NvDialogDocs: NovaDocs<Components.NvDialog> = {\n component: 'nv-dialog',\n subcomponents: [\n 'nv-dialogheader',\n 'nv-dialogfooter',\n 'nv-button',\n 'nv-icon',\n 'nv-fielddate',\n 'nv-fielddaterange',\n ],\n composedComponents: ['nv-dialogheader', 'nv-dialogfooter'],\n\n stories: [\n // Default\n {\n name: 'Default',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n // open\n {\n name: nameof<Components.NvDialog>(x => x.open),\n args: {\n open: false,\n },\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n // undismissable\n {\n name: nameof<Components.NvDialog>(x => x.undismissable),\n args: {\n undismissable: true,\n },\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n // clickOutside\n {\n name: nameof<Components.NvDialog>(x => x.clickOutside),\n args: {\n clickOutside: true,\n },\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n // full\n {\n name: nameof<Components.NvDialog>(x => x.full),\n args: {\n full: true,\n },\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>\n The dialog will take the full width of the screen regardless of the\n content.\n </p>\n </nv-dialog>\n ),\n },\n // triggerElement\n {\n name: nameof<Components.NvDialog>(x => x.triggerElement),\n description:\n 'Internal: Accepts a reference to the DOM element acting as the popover trigger. This should be used when the slot for the trigger is not defined.',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n // headerElement\n {\n name: nameof<Components.NvDialog>(x => x.headerElement),\n description:\n 'Internal: Accepts a reference to the DOM element acting as the header. This should be used when the slot for the header is not defined.',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n // footerElement\n {\n name: nameof<Components.NvDialog>(x => x.footerElement),\n description:\n 'Internal: Accepts a reference to the DOM element acting as the footer. This should be used when the slot for the footer is not defined.',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n // controlled\n {\n name: nameof<Components.NvDialog>(x => x.controlled),\n description:\n 'If true, the dialog visibility is managed manually through methods or the open prop.',\n args: {\n controlled: true,\n },\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n // heading\n {\n name: nameof<Components.NvDialogheader>(x => x.heading),\n descriptionSource: 'nv-dialogheader',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <nv-dialogheader\n slot=\"header\"\n heading=\"Dialog Heading\"\n ></nv-dialogheader>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n // subheading\n {\n name: nameof<Components.NvDialogheader>(x => x.subheading),\n descriptionSource: 'nv-dialogheader',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <nv-dialogheader\n slot=\"header\"\n heading=\"Dialog Heading\"\n subheading=\"Dialog Subheading\"\n ></nv-dialogheader>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n // leadingIcon\n {\n name: nameof<Components.NvDialogfooter>(x => x.leadingIcon),\n descriptionSource: 'nv-dialogfooter',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n <nv-dialogfooter slot=\"footer\" leading-icon=\"user\"></nv-dialogfooter>\n </nv-dialog>\n ),\n },\n // trailingIcon\n {\n name: nameof<Components.NvDialogfooter>(x => x.trailingIcon),\n descriptionSource: 'nv-dialogfooter',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n <nv-dialogfooter slot=\"footer\" trailing-icon=\"user\"></nv-dialogfooter>\n </nv-dialog>\n ),\n },\n // danger\n {\n name: nameof<Components.NvDialogfooter>(x => x.danger),\n descriptionSource: 'nv-dialogfooter',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n <nv-dialogfooter slot=\"footer\" danger></nv-dialogfooter>\n </nv-dialog>\n ),\n },\n // cancelLabel\n {\n name: nameof<Components.NvDialogfooter>(x => x.cancelLabel),\n descriptionSource: 'nv-dialogfooter',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n <nv-dialogfooter\n slot=\"footer\"\n cancel-label=\"Abbrechen\"\n ></nv-dialogfooter>\n </nv-dialog>\n ),\n },\n // primaryLabel\n {\n name: nameof<Components.NvDialogfooter>(x => x.primaryLabel),\n descriptionSource: 'nv-dialogfooter',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n <nv-dialogfooter\n slot=\"footer\"\n submit-label=\"Akzeptieren\"\n ></nv-dialogfooter>\n </nv-dialog>\n ),\n },\n // form\n {\n name: nameof<Components.NvDialogfooter>(x => x.form),\n descriptionSource: 'nv-dialogfooter',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <form id=\"test-form\"></form>\n <nv-dialogfooter slot=\"footer\" form=\"test-form\"></nv-dialogfooter>\n </nv-dialog>\n ),\n },\n // WithPopoverElements\n {\n name: 'WithPopoverElements',\n description: 'The dialog can contain other form elements with popovers.',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n <div class=\"flex flex-col gap-4\">\n <nv-fielddate></nv-fielddate>\n <nv-fielddaterange></nv-fielddaterange>\n </div>\n </nv-dialog>\n ),\n },\n // SlotDefault\n {\n name: 'SlotDefault',\n description: 'Body of the dialog.',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <div>\n <h3>Default Slot Content</h3>\n <p>This is the main body content of the dialog.</p>\n </div>\n </nv-dialog>\n ),\n },\n // SlotTrigger\n {\n name: 'SlotTrigger',\n description:\n 'Content to be placed as the trigger, will override the trigger prop.',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Custom Trigger Button</nv-button>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n // SlotHeader\n {\n name: 'SlotHeader',\n description:\n 'Content to be placed as the header, will override the header prop.',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <nv-dialogheader\n slot=\"header\"\n heading=\"Custom Header\"\n subheading=\"Custom subheading\"\n ></nv-dialogheader>\n <p>Child Content</p>\n </nv-dialog>\n ),\n },\n // SlotFooter\n {\n name: 'SlotFooter',\n description:\n 'Content to be placed as the footer, will override the footer prop.',\n template: (\n <nv-dialog data-storybook-args>\n <nv-button slot=\"trigger\">Open Dialog</nv-button>\n <p>Child Content</p>\n <nv-dialogfooter\n slot=\"footer\"\n cancel-label=\"Cancel\"\n submit-label=\"Submit\"\n ></nv-dialogfooter>\n </nv-dialog>\n ),\n },\n ],\n};\n\nexport default NvDialogDocs;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nv-dialog.js","sourceRoot":"","sources":["../../../../src/components/nv-dialog/nv-dialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n Prop,\n h,\n Element,\n Method,\n Event,\n EventEmitter,\n Watch,\n Listen,\n} from '@stencil/core';\nimport { tabbable } from 'tabbable';\nimport {\n addEventListeners,\n removeEventListeners,\n type EventsAndListeners,\n} from '../../utils/events.utils';\nimport { useGrow, useFade, parallel } from '../../animations';\nimport clsx from 'clsx';\nimport { ButtonType } from '../../utils/constants';\nimport { v4 as uuidv4 } from 'uuid';\n\n/**\n * @slot default - Body of the dialog.\n * @slot trigger - Content to be placed as the trigger, will override the trigger prop.\n * @slot header - Content to be placed as the header, will override the header prop.\n * @slot footer - Content to be placed as the footer, will override the footer prop.\n */\n@Component({\n tag: 'nv-dialog',\n styleUrl: 'nv-dialog.scss',\n shadow: false,\n})\nexport class NvDialog {\n @Element() el: HTMLNvDialogElement;\n private dialogElement!: HTMLDialogElement;\n private backdropElement!: HTMLDivElement;\n private contentElement!: HTMLDivElement;\n private eventsAttached = false;\n private form: string;\n\n private triggerClickEvents: EventsAndListeners = [\n ['click', this.show],\n [\n 'keydown',\n (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.show();\n }\n },\n ],\n ];\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * @internal\n * Accepts a reference to the DOM element acting as the popover trigger. This\n * should be used when the slot for the trigger is not defined.\n */\n @Prop({ reflect: false, mutable: true })\n triggerElement: Element;\n\n /**\n * @internal\n * Accepts a reference to the DOM element acting as the header. This should\n * be used when the slot for the header is not defined.\n */\n @Prop({ reflect: false, mutable: true })\n headerElement: Element;\n\n /**\n * @internal\n * Accepts a reference to the DOM element acting as the footer. This should\n * be used when the slot for the footer is not defined.\n */\n @Prop({ reflect: false, mutable: true })\n footerElement: Element;\n\n /**\n * Use this prop to toggle the visibility of the dialog. Set to true to show\n * the dialog and false to hide it.\n */\n @Prop({ reflect: true, mutable: true })\n open: boolean = false;\n\n /**\n * If true, the dialog cannot be closed by the user.\n */\n @Prop({ reflect: true })\n readonly undismissable: boolean = false;\n\n /**\n * If true, the dialog will be closed when the backdrop is clicked.\n */\n @Prop({ reflect: true })\n readonly clickOutside: boolean = false;\n\n /**\n * If true, the dialog visibility is managed manually through methods or the\n * open prop.\n */\n @Prop({ reflect: true })\n readonly controlled: boolean = false;\n\n /**\n * If true, the dialog takes full width styling.\n */\n @Prop({ reflect: true })\n readonly full: boolean = false;\n\n /**\n * Controls whether the dialog should automatically focus the first focusable\n * element when opened. When disabled, prevents unwanted tooltip triggers on\n * dialog open.\n */\n @Prop({ reflect: true })\n // eslint-disable-next-line @stencil-community/reserved-member-names\n readonly autofocus: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Call this method to show the dialog, making it visible on the screen.\n */\n @Method()\n public async show() {\n this.open = true;\n this.preventScroll();\n /** It is recommended to use the .show() or .showModal() method to render\n * dialogs, rather than the open attribute. If a <dialog> is opened using\n * the open attribute, it is non-modal. */\n const { setFadeOut } = useFade(this.dialogElement);\n setFadeOut();\n this.dialogElement.showModal();\n\n const { setGrowIn, growIn } = useGrow(this.contentElement, {\n duration: 100,\n amount: 0.9,\n });\n const { fadeIn } = useFade(this.dialogElement, {\n duration: 100,\n });\n\n setGrowIn();\n await parallel(fadeIn, growIn).start();\n }\n\n /**\n * Call this method to hide the dialog, making it disappear from view.\n */\n @Method()\n public async close() {\n this.open = false;\n this.allowScroll();\n const { growOut } = useGrow(this.contentElement, {\n duration: 150,\n amount: 0.85,\n });\n const { fadeOut } = useFade(this.dialogElement, {\n duration: 150,\n });\n await parallel(growOut, fadeOut).start();\n this.dialogElement.close();\n }\n\n /**\n * Sets the autofocus on the first focusable element in the dialog.\n */\n private setAutofocus() {\n const focusableElements = tabbable(this.dialogElement, {\n displayCheck: 'none',\n });\n\n if (focusableElements.length > 0) {\n // Convert to array and find element with smallest top and left position\n let topLeftElement = focusableElements[0];\n let topLeftRect = topLeftElement.getBoundingClientRect();\n\n focusableElements.forEach(element => {\n const rect = element.getBoundingClientRect();\n if (rect.top < topLeftRect.top || rect.left < topLeftRect.left) {\n topLeftElement = element;\n topLeftRect = rect;\n }\n });\n\n // Set autofocus attribute on the found element\n topLeftElement.setAttribute('autofocus', 'true');\n }\n }\n\n /**\n * Attaches event listeners to the dialog.\n */\n private attachEventListeners() {\n if (this.triggerElement && !this.eventsAttached && !this.controlled) {\n addEventListeners(this.triggerClickEvents, this.triggerElement, this);\n this.eventsAttached = true;\n }\n }\n\n /**\n * Prevents the body from scrolling when the dialog is open.\n * Compensates for scrollbar width to prevent layout shift.\n */\n private preventScroll() {\n // Calculate scrollbar width\n const scrollBarWidth =\n window.innerWidth - document.documentElement.clientWidth;\n\n // Apply overflow hidden and padding compensation\n document.documentElement.style.overflow = 'hidden';\n document.documentElement.style.paddingRight = `${scrollBarWidth}px`;\n }\n\n /**\n * Allows the body to scroll when the dialog is closed.\n * Removes the applied overflow and padding styles.\n */\n private allowScroll() {\n // Remove the applied styles\n document.documentElement.style.removeProperty('overflow');\n document.documentElement.style.removeProperty('padding-right');\n }\n\n private ensureFormId(formElement: HTMLFormElement): string {\n if (!formElement.id) {\n formElement.id = `dialog-form-${uuidv4()}`;\n }\n return formElement.id;\n }\n\n /**\n * Checks for and sets up form ID if a form is present\n */\n private checkForForm = () => {\n if (!this.form) {\n const formElement = this.el.querySelector('form') as HTMLFormElement;\n if (formElement) {\n this.form = this.ensureFormId(formElement);\n }\n }\n };\n\n /**\n * Handles the native dialog close event.\n */\n private handleDialogClose = () => {\n if (this.open) {\n this.close();\n }\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the dialog is closing in order to allow for cleanup, data-capture, etc.\n * @bind open\n */\n @Event({ bubbles: false })\n openChanged: EventEmitter<boolean>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('open')\n async handleDialogOpenChange(isOpen: boolean) {\n if (isOpen) {\n this.show();\n this.openChanged.emit(isOpen);\n } else {\n this.close();\n this.openChanged.emit(isOpen);\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LISTENERS\n\n /**\n * Handles the keydown event to optionally prevent the native dialog from closing when the escape key is pressed.\n * @param {KeyboardEvent} event - The keydown event.\n */\n @Listen('keydown', { target: 'document' })\n handleKeyDown(event: KeyboardEvent) {\n if (event.key !== 'Escape') return;\n if (!this.open) return;\n\n event.preventDefault();\n event.stopPropagation();\n const hasOpenPopover = this.checkForOpenPopovers();\n\n if (!this.undismissable && !hasOpenPopover) {\n event.preventDefault();\n event.stopPropagation();\n this.close();\n }\n }\n\n /**\n * Handles the click event to close the dialog when clickOutside is true.\n * @param {MouseEvent} event - The click event.\n */\n private handleDialogClick = (event: MouseEvent) => {\n if (!this.clickOutside || this.undismissable) return;\n if (this.checkForOpenPopovers()) return;\n\n if (event.target === this.backdropElement) {\n this.close();\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n private checkForOpenPopovers = (): boolean => {\n let hasOpenPopover = false;\n\n this.el.querySelectorAll('nv-popover').forEach(popover => {\n if (popover.hasAttribute('open')) {\n hasOpenPopover = true;\n }\n });\n\n return hasOpenPopover;\n };\n\n //#endregion LISTENERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n /**\n * Lifecycle method that runs before the component loads.\n * Initializes the trigger, header, and footer elements by finding them in the component's children.\n * Elements are found either by their slot attribute or by their tag name (for dialog header/footer)\n */\n componentWillLoad() {\n this.triggerElement = Array.from(this.el.children).find(child => {\n return child.getAttribute('slot') === 'trigger';\n }) as HTMLElement;\n\n this.headerElement = Array.from(this.el.children).find(child => {\n return (\n child.getAttribute('slot') === 'header' ||\n child.tagName.toLowerCase() === 'nv-dialogheader'\n );\n }) as HTMLElement;\n\n this.footerElement = Array.from(this.el.children).find(child => {\n return (\n child.getAttribute('slot') === 'footer' ||\n child.tagName.toLowerCase() === 'nv-dialogfooter'\n );\n }) as HTMLElement;\n\n // Initial form check\n this.checkForForm();\n }\n\n componentWillUpdate() {\n this.attachEventListeners();\n }\n\n componentDidLoad() {\n if (this.open) {\n this.show();\n }\n // Only set autofocus if the prop is true and no element already has autofocus\n if (this.autofocus && !this.dialogElement.querySelector('[autofocus]')) {\n this.setAutofocus();\n }\n this.attachEventListeners();\n\n // Additional form check in case form was added after initial load\n this.checkForForm();\n\n // this.setupContentBodyListeners();\n }\n\n disconnectedCallback() {\n if (this.triggerElement && !this.eventsAttached && !this.controlled) {\n removeEventListeners(this.triggerClickEvents, this.triggerElement, this);\n this.eventsAttached = false;\n }\n this.allowScroll();\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n const hasForm = this.form || this.el.querySelector('form');\n\n return (\n <Host>\n <slot name=\"trigger\"></slot>\n\n <dialog\n ref={el => (this.dialogElement = el)}\n onClose={this.handleDialogClose}\n onClick={this.handleDialogClick}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog-header\"\n aria-describedby=\"dialog-content\"\n class={clsx({ full: this.full })}\n >\n <div class=\"backdrop\" ref={el => (this.backdropElement = el)}>\n <div class=\"content\" ref={el => (this.contentElement = el)}>\n {!this.undismissable && (\n <nv-button\n class=\"close-button\"\n emphasis=\"lower\"\n size=\"sm\"\n onClick={this.handleDialogClose}\n aria-label=\"Close dialog\"\n >\n <nv-icon name=\"x\" size=\"sm\" />\n </nv-button>\n )}\n\n {this.headerElement ? (\n <slot name=\"header\"></slot>\n ) : (\n <nv-dialogheader id=\"dialog-header\"></nv-dialogheader>\n )}\n\n <div class=\"content-body\" id=\"dialog-content\">\n <slot></slot>\n </div>\n\n {this.footerElement ? (\n <slot name=\"footer\"></slot>\n ) : (\n <nv-dialogfooter\n form={this.form}\n primaryButtonType={\n hasForm ? ButtonType.Submit : ButtonType.Button\n }\n onDialogCanceled={this.handleDialogClose}\n undismissable={this.undismissable}\n ></nv-dialogfooter>\n )}\n </div>\n </div>\n </dialog>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nv-dialogfooter.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-dialogfooter/nv-dialogfooter.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 NvDialogfooterDocs: NovaDocs<Components.NvDialogfooter> = {\n component: 'nv-dialogfooter',\n skip: true,\n};\n\nexport default NvDialogfooterDocs;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nv-dialogfooter.js","sourceRoot":"","sources":["../../../../src/components/nv-dialogfooter/nv-dialogfooter.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n AttachInternals,\n Component,\n h,\n Host,\n Prop,\n Event,\n EventEmitter,\n Fragment,\n Element,\n} from '@stencil/core';\nimport { ButtonType } from '../../utils/constants';\n\n/**\n * @slot default - Custom content for the dialog footer. When provided, the default buttons will not be rendered.\n */\n@Component({\n tag: 'nv-dialogfooter',\n styleUrl: 'nv-dialogfooter.scss',\n shadow: false,\n formAssociated: true,\n})\nexport class NvDialogfooter {\n @AttachInternals() internals: ElementInternals;\n @Element() el: HTMLNvDialogfooterElement;\n private hasSlot = false;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Disables the primary button, preventing user interaction.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Controls the visibility of the cancel button. When true, the cancel button is\n * hidden.\n */\n @Prop({ reflect: true })\n readonly undismissable: boolean = false;\n\n /**\n * Sets the leading icon for the primary button.\n */\n @Prop({ reflect: true })\n readonly leadingIcon: string = '';\n\n /**\n * Sets the trailing icon for the primary button.\n */\n @Prop({ reflect: true })\n readonly trailingIcon: string = '';\n\n /**\n * Sets the danger state for the primary button.\n */\n @Prop({ reflect: true })\n readonly danger: boolean = false;\n\n /**\n * Sets the label for the cancel button.\n */\n @Prop({ reflect: true })\n readonly cancelLabel: string = 'Cancel';\n\n /**\n * Sets the label for the primary button.\n */\n @Prop({ reflect: true })\n readonly primaryLabel: string = 'Primary';\n\n /**\n * Sets the type of the primary button. If using a form, this will default to\n * 'submit' if nothing passed.\n */\n @Prop({ reflect: true, mutable: true })\n primaryButtonType: `${ButtonType}`;\n\n /**\n * A form inside the dialog can be submitted through the dialog footer by\n * giving the form an id and passing that id to the form attribute.\n */\n @Prop({ reflect: true })\n readonly form: string;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the cancel button is clicked. This will close the dialog.\n */\n @Event({ bubbles: false })\n dialogCanceled: EventEmitter<void>;\n\n /**\n * Emitted when the primary button is clicked. This allows to handle the\n * primary action and potential data capture before closing the dialog.\n */\n @Event({ bubbles: false })\n dialogPrimaryClicked: EventEmitter<void>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles the primary action when the primary button is clicked.\n * @param {Event} event - The click event.\n */\n\n private handlePrimary = (event: Event) => {\n event.stopPropagation();\n this.dialogPrimaryClicked.emit();\n };\n\n /**\n * Handles the cancel action when the cancel button is clicked. This will close the dialog.\n * @param {Event} event - The click event.\n */\n private handleCancel = (event: Event) => {\n event.stopPropagation();\n this.dialogCanceled.emit();\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n // Check if there are any child elements that don't have a slot attribute\n this.hasSlot = Array.from(this.el.childNodes).some(node => {\n return (\n node.nodeType === Node.ELEMENT_NODE &&\n !(node as Element).hasAttribute('slot')\n );\n });\n }\n\n componentDidLoad() {\n // Set the default button type based on the form property\n this.primaryButtonType =\n this.primaryButtonType || this.form\n ? ButtonType.Submit\n : ButtonType.Button;\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n {!this.hasSlot ? (\n <Fragment>\n {!this.undismissable && (\n <nv-button onClick={this.handleCancel} emphasis=\"low\" size=\"sm\">\n {this.cancelLabel}\n </nv-button>\n )}\n <nv-button\n onClick={this.handlePrimary}\n disabled={this.disabled}\n danger={this.danger}\n size=\"sm\"\n emphasis=\"high\"\n form={this.form}\n type={this.primaryButtonType}\n >\n {this.leadingIcon && (\n <nv-icon\n slot=\"leading-icon\"\n name={this.leadingIcon}\n size=\"sm\"\n />\n )}\n {this.primaryLabel}\n {this.trailingIcon && (\n <nv-icon\n slot=\"trailing-icon\"\n name={this.trailingIcon}\n size=\"sm\"\n />\n )}\n </nv-button>\n </Fragment>\n ) : (\n <slot></slot>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nv-dialogheader.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-dialogheader/nv-dialogheader.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 NvDialogheaderDocs: NovaDocs<Components.NvDialogheader> = {\n component: 'nv-dialogheader',\n skip: true,\n};\n\nexport default NvDialogheaderDocs;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nv-dialogheader.js","sourceRoot":"","sources":["../../../../src/components/nv-dialogheader/nv-dialogheader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE5E;;GAEG;AAMH,MAAM,OAAO,cAAc;IAL3B;QAOU,YAAO,GAAG,KAAK,CAAC;QAExB,8EAA8E;QAC9E,oBAAoB;QAEpB;;WAEG;QAEM,YAAO,GAAW,cAAc,CAAC;KA0C3C;IAlCC,uBAAuB;IACvB,8EAA8E;IAC9E,mBAAmB;IAEnB,iBAAiB;QACf,yEAAyE;QACzE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACxD,OAAO,CACL,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY;gBACnC,CAAE,IAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,CACxC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB;IACtB,8EAA8E;IAC9E,gBAAgB;IAEhB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,uDACF,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CACf,EAAC,QAAQ;YACP,WAAK,KAAK,EAAC,SAAS,IAAE,IAAI,CAAC,OAAO,CAAO;YACzC,WAAK,KAAK,EAAC,YAAY,IAAE,IAAI,CAAC,UAAU,CAAO,CACtC,CACZ,CAAC,CAAC,CAAC,CACF,eAAa,CACd,CACI,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGF","sourcesContent":["import { Component, Host, Prop, h, Element, Fragment } from '@stencil/core';\n\n/**\n * @slot default - Custom content for the dialog header. When provided, the default header will not be rendered.\n */\n@Component({\n tag: 'nv-dialogheader',\n styleUrl: 'nv-dialogheader.scss',\n shadow: false,\n})\nexport class NvDialogheader {\n @Element() el: HTMLNvDialogheaderElement;\n private hasSlot = false;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the heading text for the dialog.\n */\n @Prop({ reflect: true })\n readonly heading: string = 'Dialog Title';\n\n /**\n * Sets the subheading text for the dialog.\n */\n @Prop({ reflect: true })\n readonly subheading: string;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n // Check if there are any child elements that don't have a slot attribute\n this.hasSlot = Array.from(this.el.childNodes).some(node => {\n return (\n node.nodeType === Node.ELEMENT_NODE &&\n !(node as Element).hasAttribute('slot')\n );\n });\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n {!this.hasSlot ? (\n <Fragment>\n <div class=\"heading\">{this.heading}</div>\n <div class=\"subheading\">{this.subheading}</div>\n </Fragment>\n ) : (\n <slot></slot>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nv-drawer.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-drawer/nv-drawer.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 NvDrawerDocs: NovaDocs<Components.NvDrawer> = {\n component: 'nv-drawer',\n subcomponents: [\n 'nv-drawerheader',\n 'nv-drawerfooter',\n 'nv-button',\n 'nv-icon',\n 'nv-avatar',\n 'nv-fieldtext',\n 'nv-fieldselect',\n 'nv-fielddate',\n 'nv-fielddaterange',\n ],\n composedComponents: ['nv-drawerheader', 'nv-drawerfooter'],\n\n stories: [\n {\n name: 'Default',\n template: (\n <nv-drawer data-storybook-args>\n <nv-button slot=\"trigger\">Open Drawer</nv-button>\n <p>Child Content</p>\n </nv-drawer>\n ),\n },\n {\n name: nameof<Components.NvDrawer>(x => x.open),\n args: {\n open: false,\n },\n template: (\n <nv-drawer data-storybook-args>\n <nv-button slot=\"trigger\">Open Drawer</nv-button>\n <p>Child Content</p>\n </nv-drawer>\n ),\n },\n {\n name: nameof<Components.NvDrawer>(x => x.undismissable),\n args: {\n undismissable: true,\n },\n template: (\n <nv-drawer data-storybook-args>\n <nv-button slot=\"trigger\">Open Drawer</nv-button>\n <p>Child Content</p>\n </nv-drawer>\n ),\n },\n {\n name: nameof<Components.NvDrawer>(x => x.clickOutside),\n args: {\n clickOutside: true,\n },\n template: (\n <nv-drawer data-storybook-args>\n <nv-button slot=\"trigger\">Open Drawer</nv-button>\n <p>Child Content</p>\n </nv-drawer>\n ),\n },\n {\n name: nameof<Components.NvDrawer>(x => x.side),\n args: {\n side: 'right' as const,\n },\n template: (\n <nv-drawer data-storybook-args>\n <nv-button slot=\"trigger\">Open Drawer (Right)</nv-button>\n <p>This drawer slides in from the right side.</p>\n </nv-drawer>\n ),\n },\n {\n name: nameof<Components.NvDrawer>(x => x.width),\n args: {\n width: '600px',\n },\n template: (\n <nv-drawer data-storybook-args>\n <nv-button slot=\"trigger\">Open Custom Width Drawer</nv-button>\n <p>This drawer has a custom width of 600px (overrides size).</p>\n </nv-drawer>\n ),\n },\n {\n name: nameof<Components.NvDrawerheader>(x => x.heading),\n descriptionSource: 'nv-drawerheader',\n template: (\n <nv-drawer data-storybook-args>\n <nv-button slot=\"trigger\">Open Drawer</nv-button>\n <nv-drawerheader\n slot=\"header\"\n heading=\"Drawer Heading\"\n ></nv-drawerheader>\n <p>Child Content</p>\n </nv-drawer>\n ),\n },\n {\n name: nameof<Components.NvDrawerheader>(x => x.subheading),\n descriptionSource: 'nv-drawerheader',\n template: (\n <nv-drawer data-storybook-args>\n <nv-button slot=\"trigger\">Open Drawer</nv-button>\n <nv-drawerheader\n slot=\"header\"\n heading=\"Drawer Heading\"\n subheading=\"Drawer Subheading\"\n ></nv-drawerheader>\n <p>Child Content</p>\n </nv-drawer>\n ),\n },\n {\n name: nameof<Components.NvDrawerfooter>(x => x.leadingIcon),\n descriptionSource: 'nv-drawerfooter',\n template: (\n <nv-drawer data-storybook-args>\n <nv-button slot=\"trigger\">Open Drawer</nv-button>\n <p>Child Content</p>\n <nv-drawerfooter slot=\"footer\" leading-icon=\"user\"></nv-drawerfooter>\n </nv-drawer>\n ),\n },\n {\n name: nameof<Components.NvDrawerfooter>(x => x.trailingIcon),\n descriptionSource: 'nv-drawerfooter',\n template: (\n <nv-drawer data-storybook-args>\n <nv-button slot=\"trigger\">Open Drawer</nv-button>\n <p>Child Content</p>\n <nv-drawerfooter slot=\"footer\" trailing-icon=\"user\"></nv-drawerfooter>\n </nv-drawer>\n ),\n },\n {\n name: nameof<Components.NvDrawerfooter>(x => x.danger),\n descriptionSource: 'nv-drawerfooter',\n template: (\n <nv-drawer data-storybook-args>\n <nv-button slot=\"trigger\">Open Drawer</nv-button>\n <p>Child Content</p>\n <nv-drawerfooter slot=\"footer\" danger></nv-drawerfooter>\n </nv-drawer>\n ),\n },\n {\n name: nameof<Components.NvDrawerfooter>(x => x.cancelLabel),\n descriptionSource: 'nv-drawerfooter',\n template: (\n <nv-drawer data-storybook-args>\n <nv-button slot=\"trigger\">Open Drawer</nv-button>\n <p>Child Content</p>\n <nv-drawerfooter\n slot=\"footer\"\n cancel-label=\"Abbrechen\"\n ></nv-drawerfooter>\n </nv-drawer>\n ),\n },\n {\n name: nameof<Components.NvDrawerfooter>(x => x.primaryLabel),\n descriptionSource: 'nv-drawerfooter',\n template: (\n <nv-drawer data-storybook-args>\n <nv-button slot=\"trigger\">Open Drawer</nv-button>\n <p>Child Content</p>\n <nv-drawerfooter\n slot=\"footer\"\n primary-label=\"Akzeptieren\"\n ></nv-drawerfooter>\n </nv-drawer>\n ),\n },\n {\n name: 'SideLeft',\n args: {\n side: 'left' as const,\n },\n template: (\n <nv-drawer data-storybook-args>\n <nv-button slot=\"trigger\">Open Drawer (Left)</nv-button>\n <p>This drawer slides in from the left side.</p>\n </nv-drawer>\n ),\n },\n {\n name: 'SizeSmall',\n args: {\n size: 'sm' as const,\n },\n template: (\n <nv-drawer data-storybook-args>\n <nv-button slot=\"trigger\">Open Small Drawer</nv-button>\n <p>\n This drawer uses responsive sizing with clamp() using CSS variables:\n <code>--drawer-size-sm-min-width</code>,{' '}\n <code>--drawer-size-sm-width</code>, and{' '}\n <code>--drawer-size-sm-max-width</code>.\n </p>\n </nv-drawer>\n ),\n },\n {\n name: 'SizeMedium',\n args: {\n size: 'md' as const,\n },\n template: (\n <nv-drawer data-storybook-args>\n <nv-button slot=\"trigger\">Open Medium Drawer</nv-button>\n <p>\n This drawer uses responsive sizing with clamp() using CSS variables:\n <code>--drawer-size-md-min-width</code>,{' '}\n <code>--drawer-size-md-width</code>, and{' '}\n <code>--drawer-size-md-max-width</code> (default size).\n </p>\n </nv-drawer>\n ),\n },\n {\n name: 'SizeLarge',\n args: {\n size: 'lg' as const,\n },\n template: (\n <nv-drawer data-storybook-args>\n <nv-button slot=\"trigger\">Open Large Drawer</nv-button>\n <p>\n This drawer uses responsive sizing with clamp() using CSS variables:\n <code>--drawer-size-lg-min-width</code>,{' '}\n <code>--drawer-size-lg-width</code>, and{' '}\n <code>--drawer-size-lg-max-width</code>.\n </p>\n </nv-drawer>\n ),\n },\n {\n name: 'SizeFull',\n args: {\n size: 'full' as const,\n },\n template: (\n <nv-drawer data-storybook-args>\n <nv-button slot=\"trigger\">Open Full Drawer</nv-button>\n <p>\n This drawer uses the CSS variable{' '}\n <code>--drawer-size-full-width</code> for full-width sizing\n (typically calculated as 100vw minus sidebar width when collapsed).\n </p>\n </nv-drawer>\n ),\n },\n {\n name: 'WithPopoverElements',\n description: 'The drawer can contain other form elements with popovers.',\n template: (\n <nv-drawer data-storybook-args>\n <nv-button slot=\"trigger\">Open Drawer</nv-button>\n <div class=\"flex flex-col gap-4\">\n <nv-fielddate></nv-fielddate>\n </div>\n </nv-drawer>\n ),\n },\n {\n name: 'figmaExample',\n description: 'Full layout example for testing with Figma design.',\n template: (\n <nv-drawer data-storybook-args>\n <nv-button slot=\"trigger\">Open Profile Drawer</nv-button>\n <nv-drawerheader slot=\"header\">\n {/* Banner */}\n {/* Profile info */}\n <div class=\"pt-6 px-6\">\n <div class=\"flex items-start gap-4\">\n <div>\n <nv-avatar\n src=\"https://i.pravatar.cc/150?img=16\"\n alt=\"Profile picture\"\n size=\"xl\"\n />\n </div>\n\n <div class=\"pb-1\">\n <div class=\"text-2xl font-bold text-gray-900 mb-1\">\n Constance de la Chaze\n </div>\n <div class=\"text-base text-gray-500 mb-6\">#conchita</div>\n </div>\n </div>\n\n {/* Stats section */}\n <div class=\"flex justify-around -mx-6 px-6 pb-4 border-b border-gray-200\">\n <div class=\"text-center flex-1\">\n <div class=\"text-xs text-gray-400 mb-1\">Followers</div>\n <div class=\"text-2xl font-bold text-gray-900\">2134</div>\n </div>\n <div class=\"w-px h-[60px] bg-gray-200 mx-2\"></div>\n <div class=\"text-center flex-1\">\n <div class=\"text-xs text-gray-400 mb-1\">Following</div>\n <div class=\"text-2xl font-bold text-gray-900\">345</div>\n </div>\n <div class=\"w-px h-[60px] bg-gray-200 mx-2\"></div>\n <div class=\"text-center flex-1\">\n <div class=\"text-xs text-gray-400 mb-1\">Posts</div>\n <div class=\"text-2xl font-bold text-gray-900\">129</div>\n </div>\n <div class=\"w-px h-[60px] bg-gray-200 mx-2\"></div>\n <div class=\"text-center flex-1\">\n <div class=\"text-xs text-gray-400 mb-1\">Collections</div>\n <div class=\"text-2xl font-bold text-gray-900\">24</div>\n </div>\n </div>\n </div>\n </nv-drawerheader>\n\n {/* Form content */}\n <div class=\"px-6 py-6 flex flex-col gap-4\">\n {/* First name & Last name */}\n <div class=\"grid grid-cols-2 gap-4\">\n <nv-fieldtext\n fluid\n autofocus\n label=\"First name\"\n value=\"Constance\"\n placeholder=\"Enter first name\"\n />\n <nv-fieldtext\n fluid\n label=\"Last name\"\n value=\"de la Chazière\"\n placeholder=\"Enter last name\"\n />\n </div>\n\n {/* Username */}\n <nv-fieldtext\n fluid\n label=\"Username\"\n value=\"conchita\"\n placeholder=\"Enter username\"\n >\n <span slot=\"prefix\" class=\"text-gray-500\">\n energy.com/\n </span>\n </nv-fieldtext>\n\n {/* Email */}\n <nv-fieldtext\n fluid\n label=\"Email\"\n type=\"email\"\n value=\"Constance@energy.com\"\n placeholder=\"Enter email\"\n >\n <nv-icon slot=\"prefix\" name=\"mail\" size=\"sm\" />\n </nv-fieldtext>\n\n {/* Phone */}\n <div class=\"grid grid-cols-[120px_1fr] gap-4\">\n <nv-fieldselect fluid label=\"Prefix\" value=\"+32\">\n <option value=\"+32\">+32</option>\n <option value=\"+33\">+33</option>\n <option value=\"+1\">+1</option>\n <option value=\"+44\">+44</option>\n </nv-fieldselect>\n <nv-fieldtext\n fluid\n label=\"Phone\"\n type=\"tel\"\n value=\"0486 54 32 10\"\n placeholder=\"Enter phone number\"\n />\n </div>\n\n {/* Address */}\n <nv-fieldtext\n fluid\n label=\"Address\"\n value=\"Rue de la Chance, 313\"\n placeholder=\"Enter address\"\n />\n\n {/* City & Zip Code */}\n <div class=\"grid grid-cols-2 gap-4\">\n <nv-fieldtext\n fluid\n label=\"City\"\n value=\"Schaerbeek\"\n placeholder=\"Enter city\"\n />\n <nv-fieldtext\n fluid\n label=\"Zip Code\"\n value=\"1030\"\n placeholder=\"Enter zip code\"\n />\n </div>\n\n {/* Country */}\n <nv-fieldselect fluid label=\"Country\" value=\"BE\">\n <option value=\"BE\">Belgium</option>\n <option value=\"FR\">France</option>\n <option value=\"NL\">Netherlands</option>\n <option value=\"DE\">Germany</option>\n </nv-fieldselect>\n </div>\n\n {/* Footer with action buttons */}\n <nv-drawerfooter slot=\"footer\">\n <nv-button\n emphasis=\"lower\"\n onClick={(e: MouseEvent) => {\n const drawer = (e.target as HTMLElement).closest(\n 'nv-drawer',\n ) as HTMLNvDrawerElement;\n if (drawer) {\n drawer.close();\n }\n }}\n >\n Cancel\n </nv-button>\n <nv-button emphasis=\"high\">Save Changes</nv-button>\n </nv-drawerfooter>\n </nv-drawer>\n ),\n },\n ],\n};\n\nexport default NvDrawerDocs;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nv-drawer.js","sourceRoot":"","sources":["../../../../src/components/nv-drawer/nv-drawer.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n Prop,\n h,\n Element,\n Method,\n Event,\n EventEmitter,\n Watch,\n Listen,\n} from '@stencil/core';\nimport { tabbable } from 'tabbable';\nimport {\n addEventListeners,\n removeEventListeners,\n type EventsAndListeners,\n} from '../../utils/events.utils';\nimport { useSlide, useFade, parallel } from '../../animations';\nimport clsx from 'clsx';\nimport { ButtonType } from '../../utils/constants';\nimport { v4 as uuidv4 } from 'uuid';\n\n/**\n * @slot default - Body of the drawer.\n * @slot trigger - Content to be placed as the trigger, will override the trigger prop.\n * @slot header - Content to be placed as the header, will override the header prop.\n * @slot footer - Content to be placed as the footer, will override the footer prop.\n */\n@Component({\n tag: 'nv-drawer',\n styleUrl: 'nv-drawer.scss',\n shadow: false,\n})\nexport class NvDrawer {\n @Element() el: HTMLNvDrawerElement;\n private dialogElement!: HTMLDialogElement;\n private backdropElement!: HTMLDivElement;\n private contentElement!: HTMLDivElement;\n private eventsAttached = false;\n private form: string;\n private swipeStartX: number | null = null;\n private swipeStartY: number | null = null;\n private swipeStartTime: number | null = null;\n private isSwiping = false;\n private SWIPE_THRESHOLD = 50; // Minimum distance for a swipe (px)\n private SWIPE_EDGE_ZONE = 20; // Edge detection zone (px)\n private SWIPE_VELOCITY_THRESHOLD = 0.3; // Minimum velocity (px/ms)\n private triggerElement?: Element;\n private headerElement?: Element;\n private footerElement?: Element;\n\n private triggerClickEvents: EventsAndListeners = [\n ['click', this.show],\n [\n 'keydown',\n (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.show();\n }\n },\n ],\n ];\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Use this prop to toggle the visibility of the drawer. Set to true to show\n * the drawer and false to hide it.\n */\n @Prop({ reflect: true, mutable: true })\n open: boolean = false;\n\n /**\n * If true, the drawer cannot be closed by the user.\n */\n @Prop({ reflect: true })\n readonly undismissable: boolean = false;\n\n /**\n * If true, the drawer will be closed when the backdrop is clicked.\n */\n @Prop({ reflect: true })\n readonly clickOutside: boolean = false;\n\n /**\n * If true, the drawer visibility is managed manually through methods or the\n * open prop.\n */\n @Prop({ reflect: true })\n readonly controlled: boolean = false;\n\n /**\n * Side from which the drawer appears.\n */\n @Prop({ reflect: true })\n readonly side: 'left' | 'right' = 'right';\n\n /**\n * Size of the drawer. Defaults to 'md'.\n * - 'sm': Small drawer (~320px)\n * - 'md': Medium drawer (~400px)\n * - 'lg': Large drawer (~600px)\n * - 'full': Full width drawer (100vw on mobile, ~800px on desktop)\n */\n @Prop({ reflect: true })\n readonly size: 'sm' | 'md' | 'lg' | 'full' = 'md';\n\n /**\n * Width of the drawer. If specified, this will override the size prop.\n * Defaults to the width corresponding to the size prop (400px for 'md').\n */\n @Prop({ reflect: true })\n readonly width?: string;\n\n /**\n * Controls whether the drawer should automatically focus the first focusable\n * element when opened. When disabled, prevents unwanted tooltip triggers on\n * drawer open.\n */\n @Prop({ reflect: true })\n // eslint-disable-next-line @stencil-community/reserved-member-names\n readonly autofocus: boolean = false;\n\n /**\n * Enables swipe gesture to open/close the drawer on touch devices.\n * - Swipe from the edge (left for left drawer, right for right drawer) to open\n * - Swipe towards the edge from inside the drawer to close\n */\n @Prop({ reflect: true })\n readonly swipeToOpen: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Call this method to show the drawer, making it visible on the screen.\n */\n @Method()\n public async show() {\n this.open = true;\n this.preventScroll();\n /** It is recommended to use the .show() or .showModal() method to render\n * drawers, rather than the open attribute. If a <dialog> is opened using\n * the open attribute, it is non-modal. */\n const { setFadeOut } = useFade(this.dialogElement);\n setFadeOut();\n this.dialogElement.showModal();\n\n // Wait for dialog to be visible\n await new Promise(resolve => requestAnimationFrame(resolve));\n\n // Set initial position off-screen and animate\n const slideDirection = this.side === 'right' ? 100 : -100;\n const { setSlideX, slideX } = useSlide(this.contentElement, {\n duration: 300,\n });\n const { fadeIn } = useFade(this.dialogElement, {\n duration: 300,\n });\n\n // Clear any previous transform first\n if (this.contentElement) {\n this.contentElement.style.transform = '';\n }\n\n // Set initial position off-screen\n setSlideX(slideDirection);\n\n // Wait another frame to ensure position is set\n await new Promise(resolve => requestAnimationFrame(resolve));\n\n // Animate both slide and fade in parallel\n const slideIn = slideX({ from: slideDirection, to: 0 });\n await parallel(fadeIn, slideIn).start();\n }\n\n /**\n * Call this method to hide the drawer, making it disappear from view.\n */\n @Method()\n public async close() {\n this.open = false;\n this.allowScroll();\n const slideDirection = this.side === 'right' ? 100 : -100;\n const { slideX } = useSlide(this.contentElement, {\n duration: 300,\n });\n const { fadeOut } = useFade(this.dialogElement, {\n duration: 300,\n });\n\n // Animate both slide and fade out in parallel\n const slideOut = slideX({ from: 0, to: slideDirection });\n await parallel(slideOut, fadeOut).start();\n\n // Reset transform after animation completes\n if (this.contentElement) {\n this.contentElement.style.transform = '';\n }\n\n this.dialogElement.close();\n }\n\n /**\n * Sets the autofocus on the first focusable element in the drawer.\n */\n private setAutofocus() {\n const focusableElements = tabbable(this.dialogElement, {\n displayCheck: 'none',\n });\n\n if (focusableElements.length > 0) {\n // Convert to array and find element with smallest top and left position\n let topLeftElement = focusableElements[0];\n let topLeftRect = topLeftElement.getBoundingClientRect();\n\n focusableElements.forEach(element => {\n const rect = element.getBoundingClientRect();\n if (rect.top < topLeftRect.top || rect.left < topLeftRect.left) {\n topLeftElement = element;\n topLeftRect = rect;\n }\n });\n\n // Set autofocus attribute on the found element\n topLeftElement.setAttribute('autofocus', 'true');\n }\n }\n\n /**\n * Attaches event listeners to the drawer.\n */\n private attachEventListeners() {\n if (this.triggerElement && !this.eventsAttached && !this.controlled) {\n addEventListeners(this.triggerClickEvents, this.triggerElement, this);\n this.eventsAttached = true;\n }\n }\n\n /**\n * Prevents the body from scrolling when the drawer is open.\n * Compensates for scrollbar width to prevent layout shift.\n */\n private preventScroll() {\n // Calculate scrollbar width\n const scrollBarWidth =\n window.innerWidth - document.documentElement.clientWidth;\n\n // Apply overflow hidden and padding compensation\n document.documentElement.style.overflow = 'hidden';\n document.documentElement.style.paddingRight = `${scrollBarWidth}px`;\n }\n\n /**\n * Allows the body to scroll when the drawer is closed.\n * Removes the applied overflow and padding styles.\n */\n private allowScroll() {\n // Remove the applied styles\n document.documentElement.style.removeProperty('overflow');\n document.documentElement.style.removeProperty('padding-right');\n }\n\n private ensureFormId(formElement: HTMLFormElement): string {\n if (!formElement.id) {\n formElement.id = `drawer-form-${uuidv4()}`;\n }\n return formElement.id;\n }\n\n /**\n * Checks for and sets up form ID if a form is present\n */\n private checkForForm = () => {\n if (!this.form) {\n const formElement = this.el.querySelector('form') as HTMLFormElement;\n if (formElement) {\n this.form = this.ensureFormId(formElement);\n }\n }\n };\n\n /**\n * Handles the native drawer close event.\n */\n private handleDrawerClose = () => {\n if (this.open) {\n this.close();\n }\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the drawer is closing in order to allow for cleanup, data-capture, etc.\n * @bind open\n */\n @Event({ bubbles: false })\n openChanged: EventEmitter<boolean>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('open')\n async handleDrawerOpenChange(isOpen: boolean) {\n if (isOpen) {\n this.show();\n this.openChanged.emit(isOpen);\n } else {\n this.close();\n this.openChanged.emit(isOpen);\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LISTENERS\n\n /**\n * Handles the keydown event to optionally prevent the native drawer from closing when the escape key is pressed.\n * @param {KeyboardEvent} event - The keydown event.\n */\n @Listen('keydown', { target: 'document' })\n handleKeyDown(event: KeyboardEvent) {\n if (event.key !== 'Escape') return;\n if (!this.open) return;\n\n event.preventDefault();\n event.stopPropagation();\n const hasOpenPopover = this.checkForOpenPopovers();\n\n if (!this.undismissable && !hasOpenPopover) {\n event.preventDefault();\n event.stopPropagation();\n this.close();\n }\n }\n\n /**\n * Handles the click event to close the drawer when clickOutside is true.\n * @param {MouseEvent} event - The click event.\n */\n private handleDrawerClick = (event: MouseEvent) => {\n if (!this.clickOutside || this.undismissable) return;\n if (this.checkForOpenPopovers()) return;\n\n if (event.target === this.backdropElement) {\n this.close();\n event.preventDefault();\n event.stopPropagation();\n }\n };\n\n private checkForOpenPopovers = (): boolean => {\n let hasOpenPopover = false;\n\n this.el.querySelectorAll('nv-popover').forEach(popover => {\n if (popover.hasAttribute('open')) {\n hasOpenPopover = true;\n }\n });\n\n return hasOpenPopover;\n };\n\n /**\n * Handles pointer down events for swipe detection.\n * @param {PointerEvent} event - The pointer down event.\n */\n @Listen('pointerdown', { target: 'window' })\n handlePointerDown(event: PointerEvent) {\n if (!this.swipeToOpen || this.controlled) return;\n\n const x = event.clientX;\n const y = event.clientY;\n const screenWidth = window.innerWidth;\n\n // Check if swipe starts from edge (for opening drawer)\n if (!this.open) {\n const isLeftEdge = this.side === 'left' && x <= this.SWIPE_EDGE_ZONE;\n const isRightEdge =\n this.side === 'right' && x >= screenWidth - this.SWIPE_EDGE_ZONE;\n\n if (isLeftEdge || isRightEdge) {\n this.swipeStartX = x;\n this.swipeStartY = y;\n this.swipeStartTime = Date.now();\n this.isSwiping = true;\n event.preventDefault();\n }\n } else {\n // Check if swipe starts from inside the drawer (for closing)\n if (this.contentElement && this.dialogElement.hasAttribute('open')) {\n const drawerRect = this.contentElement.getBoundingClientRect();\n if (\n x >= drawerRect.left &&\n x <= drawerRect.right &&\n y >= drawerRect.top &&\n y <= drawerRect.bottom\n ) {\n this.swipeStartX = x;\n this.swipeStartY = y;\n this.swipeStartTime = Date.now();\n this.isSwiping = true;\n }\n }\n }\n }\n\n /**\n * Handles pointer move events during swipe.\n * @param {PointerEvent} event - The pointer move event.\n */\n @Listen('pointermove', { target: 'window' })\n handlePointerMove(event: PointerEvent) {\n if (!this.isSwiping || !this.swipeStartX || !this.swipeStartY) return;\n\n // Prevent scrolling during swipe\n event.preventDefault();\n }\n\n /**\n * Handles pointer up events to complete swipe gesture.\n * @param {PointerEvent} event - The pointer up event.\n */\n @Listen('pointerup', { target: 'window' })\n handlePointerUp(event: PointerEvent) {\n if (\n !this.isSwiping ||\n !this.swipeStartX ||\n !this.swipeStartY ||\n !this.swipeStartTime\n ) {\n this.resetSwipe();\n return;\n }\n\n const x = event.clientX;\n const y = event.clientY;\n const deltaX = x - this.swipeStartX;\n const deltaY = y - this.swipeStartY;\n const deltaTime = Date.now() - this.swipeStartTime;\n const distance = Math.abs(deltaX);\n const velocity = distance / deltaTime;\n\n // Only consider horizontal swipes (vertical movement should be less than horizontal)\n if (Math.abs(deltaY) > Math.abs(deltaX)) {\n this.resetSwipe();\n return;\n }\n\n // Check if swipe meets threshold requirements\n if (\n distance >= this.SWIPE_THRESHOLD ||\n velocity >= this.SWIPE_VELOCITY_THRESHOLD\n ) {\n if (!this.open) {\n // Opening swipe: from left edge going right, or from right edge going left\n const isOpeningSwipe =\n (this.side === 'left' && deltaX > 0) ||\n (this.side === 'right' && deltaX < 0);\n\n if (isOpeningSwipe && !this.undismissable) {\n this.show();\n }\n } else {\n // Closing swipe: towards the edge\n const isClosingSwipe =\n (this.side === 'left' && deltaX < 0) ||\n (this.side === 'right' && deltaX > 0);\n\n if (isClosingSwipe && !this.undismissable) {\n this.close();\n }\n }\n }\n\n this.resetSwipe();\n }\n\n /**\n * Resets swipe tracking state.\n */\n private resetSwipe() {\n this.swipeStartX = null;\n this.swipeStartY = null;\n this.swipeStartTime = null;\n this.isSwiping = false;\n }\n\n //#endregion LISTENERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n /**\n * Lifecycle method that runs before the component loads.\n * Initializes the trigger, header, and footer elements by finding them in the component's children.\n * Elements are found either by their slot attribute or by their tag name (for drawer header/footer)\n */\n componentWillLoad() {\n this.triggerElement = Array.from(this.el.children).find(child => {\n return child.getAttribute('slot') === 'trigger';\n }) as HTMLElement;\n\n this.headerElement = Array.from(this.el.children).find(child => {\n return (\n child.getAttribute('slot') === 'header' ||\n child.tagName.toLowerCase() === 'nv-drawerheader'\n );\n }) as HTMLElement;\n\n this.footerElement = Array.from(this.el.children).find(child => {\n return (\n child.getAttribute('slot') === 'footer' ||\n child.tagName.toLowerCase() === 'nv-drawerfooter'\n );\n }) as HTMLElement;\n\n // Initial form check\n this.checkForForm();\n }\n\n componentWillUpdate() {\n this.attachEventListeners();\n }\n\n componentDidLoad() {\n if (this.open) {\n this.show();\n }\n // Only set autofocus if the prop is true and no element already has autofocus\n if (this.autofocus && !this.dialogElement.querySelector('[autofocus]')) {\n this.setAutofocus();\n }\n this.attachEventListeners();\n\n // Additional form check in case form was added after initial load\n this.checkForForm();\n\n // this.setupContentBodyListeners();\n }\n\n disconnectedCallback() {\n if (this.triggerElement && !this.eventsAttached && !this.controlled) {\n removeEventListeners(this.triggerClickEvents, this.triggerElement, this);\n this.eventsAttached = false;\n }\n this.allowScroll();\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n const hasForm = this.form || this.el.querySelector('form');\n const state = this.open ? 'open' : 'closed';\n\n return (\n <Host>\n <slot name=\"trigger\"></slot>\n\n <dialog\n ref={el => (this.dialogElement = el)}\n onClose={this.handleDrawerClose}\n onClick={this.handleDrawerClick}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"drawer-header\"\n aria-describedby=\"drawer-content\"\n class={clsx({ [`side-${this.side}`]: true })}\n data-state={state}\n >\n <div class=\"backdrop\" ref={el => (this.backdropElement = el)}>\n <div\n class={clsx('content', `size-${this.size}`)}\n ref={el => (this.contentElement = el)}\n data-state={state}\n data-side={this.side}\n style={this.width ? { width: this.width } : {}}\n >\n {!this.undismissable && (\n <nv-button\n class=\"close-button\"\n emphasis=\"lower\"\n size=\"sm\"\n onClick={this.handleDrawerClose}\n aria-label=\"Close drawer\"\n >\n <nv-icon name=\"x\" size=\"sm\" />\n </nv-button>\n )}\n\n {this.headerElement ? (\n <slot name=\"header\"></slot>\n ) : (\n <nv-drawerheader id=\"drawer-header\"></nv-drawerheader>\n )}\n\n <div class=\"content-body\" id=\"drawer-content\">\n <slot></slot>\n </div>\n\n {this.footerElement ? (\n <slot name=\"footer\"></slot>\n ) : (\n <nv-drawerfooter\n form={this.form}\n primaryButtonType={\n hasForm ? ButtonType.Submit : ButtonType.Button\n }\n onDrawerCanceled={this.handleDrawerClose}\n undismissable={this.undismissable}\n ></nv-drawerfooter>\n )}\n </div>\n </div>\n </dialog>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nv-drawerfooter.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-drawerfooter/nv-drawerfooter.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 NvDrawerfooterDocs: NovaDocs<Components.NvDrawerfooter> = {\n component: 'nv-drawerfooter',\n skip: true,\n};\n\nexport default NvDrawerfooterDocs;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nv-drawerfooter.js","sourceRoot":"","sources":["../../../../src/components/nv-drawerfooter/nv-drawerfooter.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n AttachInternals,\n Component,\n h,\n Host,\n Prop,\n Event,\n EventEmitter,\n Fragment,\n Element,\n} from '@stencil/core';\nimport { ButtonType } from '../../utils/constants';\n\n/**\n * @slot default - Custom content for the drawer footer. When provided, the default buttons will not be rendered.\n */\n@Component({\n tag: 'nv-drawerfooter',\n styleUrl: 'nv-drawerfooter.scss',\n shadow: false,\n formAssociated: true,\n})\nexport class NvDrawerfooter {\n @AttachInternals() internals: ElementInternals;\n @Element() el: HTMLNvDrawerfooterElement;\n private hasSlot = false;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Disables the primary button, preventing user interaction.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Controls the visibility of the cancel button. When true, the cancel button is\n * hidden.\n */\n @Prop({ reflect: true })\n readonly undismissable: boolean = false;\n\n /**\n * Sets the leading icon for the primary button.\n */\n @Prop({ reflect: true })\n readonly leadingIcon?: string | null = null;\n\n /**\n * Sets the trailing icon for the primary button.\n */\n @Prop({ reflect: true })\n readonly trailingIcon?: string | null = null;\n\n /**\n * Sets the danger state for the primary button.\n */\n @Prop({ reflect: true })\n readonly danger: boolean = false;\n\n /**\n * Sets the label for the cancel button.\n */\n @Prop({ reflect: true })\n readonly cancelLabel: string | null = 'Cancel';\n\n /**\n * Sets the label for the primary button.\n */\n @Prop({ reflect: true })\n readonly primaryLabel: string | null = 'Primary';\n\n /**\n * Sets the type of the primary button. If using a form, this will default to\n * 'submit' if nothing passed.\n */\n @Prop({ reflect: true, mutable: true })\n primaryButtonType: `${ButtonType}`;\n\n /**\n * A form inside the drawer can be submitted through the drawer footer by\n * giving the form an id and passing that id to the form attribute.\n */\n @Prop({ reflect: true })\n readonly form?: string | null = null;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the cancel button is clicked. This will close the drawer.\n */\n @Event({ bubbles: false })\n drawerCanceled: EventEmitter<void>;\n\n /**\n * Emitted when the primary button is clicked. This allows to handle the\n * primary action and potential data capture before closing the drawer.\n */\n @Event({ bubbles: false })\n drawerPrimaryClicked: EventEmitter<void>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Handles the primary action when the primary button is clicked.\n * @param {Event} event - The click event.\n */\n\n private handlePrimary = (event: Event) => {\n event.stopPropagation();\n this.drawerPrimaryClicked.emit();\n };\n\n /**\n * Handles the cancel action when the cancel button is clicked. This will close the drawer.\n * @param {Event} event - The click event.\n */\n private handleCancel = (event: Event) => {\n event.stopPropagation();\n this.drawerCanceled.emit();\n };\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n // Check if there are any child elements that don't have a slot attribute\n this.hasSlot = Array.from(this.el.childNodes).some(node => {\n return (\n node.nodeType === Node.ELEMENT_NODE &&\n !(node as Element).hasAttribute('slot')\n );\n });\n }\n\n componentDidLoad() {\n // Set the default button type based on the form property\n this.primaryButtonType =\n this.primaryButtonType || this.form\n ? ButtonType.Submit\n : ButtonType.Button;\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n {!this.hasSlot ? (\n <Fragment>\n {!this.undismissable && (\n <nv-button onClick={this.handleCancel} emphasis=\"low\" size=\"sm\">\n {this.cancelLabel}\n </nv-button>\n )}\n <nv-button\n onClick={this.handlePrimary}\n disabled={this.disabled}\n danger={this.danger}\n size=\"sm\"\n emphasis=\"high\"\n form={this.form}\n type={this.primaryButtonType}\n >\n {this.leadingIcon && (\n <nv-icon\n slot=\"leading-icon\"\n name={this.leadingIcon}\n size=\"sm\"\n />\n )}\n {this.primaryLabel}\n {this.trailingIcon && (\n <nv-icon\n slot=\"trailing-icon\"\n name={this.trailingIcon}\n size=\"sm\"\n />\n )}\n </nv-button>\n </Fragment>\n ) : (\n <slot></slot>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nv-drawerheader.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-drawerheader/nv-drawerheader.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 NvDrawerheaderDocs: NovaDocs<Components.NvDrawerheader> = {\n component: 'nv-drawerheader',\n skip: true,\n};\n\nexport default NvDrawerheaderDocs;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nv-drawerheader.js","sourceRoot":"","sources":["../../../../src/components/nv-drawerheader/nv-drawerheader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE5E;;GAEG;AAMH,MAAM,OAAO,cAAc;IAL3B;QAOU,YAAO,GAAG,KAAK,CAAC;QAExB,8EAA8E;QAC9E,oBAAoB;QAEpB;;WAEG;QAEM,YAAO,GAAkB,cAAc,CAAC;QAEjD;;WAEG;QAEM,eAAU,GAAmB,IAAI,CAAC;KAoC5C;IAlCC,uBAAuB;IACvB,8EAA8E;IAC9E,mBAAmB;IAEnB,iBAAiB;QACf,yEAAyE;QACzE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACxD,OAAO,CACL,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY;gBACnC,CAAE,IAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,CACxC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB;IACtB,8EAA8E;IAC9E,gBAAgB;IAEhB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,uDACF,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CACf,EAAC,QAAQ;YACP,WAAK,KAAK,EAAC,SAAS,IAAE,IAAI,CAAC,OAAO,CAAO;YACzC,WAAK,KAAK,EAAC,YAAY,IAAE,IAAI,CAAC,UAAU,CAAO,CACtC,CACZ,CAAC,CAAC,CAAC,CACF,eAAa,CACd,CACI,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGF","sourcesContent":["import { Component, Host, Prop, h, Element, Fragment } from '@stencil/core';\n\n/**\n * @slot default - Custom content for the drawer header. When provided, the default header will not be rendered.\n */\n@Component({\n tag: 'nv-drawerheader',\n styleUrl: 'nv-drawerheader.scss',\n shadow: false,\n})\nexport class NvDrawerheader {\n @Element() el: HTMLNvDrawerheaderElement;\n private hasSlot = false;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the heading text for the drawer.\n */\n @Prop({ reflect: true })\n readonly heading: string | null = 'Drawer Title';\n\n /**\n * Sets the subheading text for the drawer.\n */\n @Prop({ reflect: true })\n readonly subheading?: string | null = null;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n // Check if there are any child elements that don't have a slot attribute\n this.hasSlot = Array.from(this.el.childNodes).some(node => {\n return (\n node.nodeType === Node.ELEMENT_NODE &&\n !(node as Element).hasAttribute('slot')\n );\n });\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n {!this.hasSlot ? (\n <Fragment>\n <div class=\"heading\">{this.heading}</div>\n <div class=\"subheading\">{this.subheading}</div>\n </Fragment>\n ) : (\n <slot></slot>\n )}\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
|