@nova-design-system/nova-webcomponents 3.23.0 → 3.24.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/app-globals-V2Kpy_OQ.js.map +1 -1
- package/dist/cjs/events.utils-BE6R5q9C.js +33 -0
- package/dist/cjs/events.utils-BE6R5q9C.js.map +1 -0
- package/dist/cjs/{grow.animation-BrWzyoUA.js → grow.animation-ynu_HmA_.js} +2 -30
- package/dist/cjs/grow.animation-ynu_HmA_.js.map +1 -0
- package/dist/cjs/{i18n.utils-BizoXo6c.js → i18n.utils-ku0bScip.js} +16 -20
- package/dist/cjs/{i18n.utils-BizoXo6c.js.map → i18n.utils-ku0bScip.js.map} +1 -1
- package/dist/cjs/index-B1na8x6M.js +12 -4
- package/dist/cjs/index.cjs.js +5 -2
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/index.esm-CG1TVKfu.js +540 -0
- package/dist/cjs/index.esm-CG1TVKfu.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/native.cjs.js +1 -1
- package/dist/cjs/nv-accordion.cjs.entry.js +2 -7
- package/dist/cjs/nv-accordion.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-alert.cjs.entry.js +1 -2
- package/dist/cjs/nv-alert.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-badge_2.cjs.entry.js +1 -1
- package/dist/cjs/nv-button.cjs.entry.js +3 -5
- package/dist/cjs/nv-button.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-calendar.cjs.entry.js +14 -24
- package/dist/cjs/nv-calendar.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-datagrid.cjs.entry.js +67 -72
- package/dist/cjs/nv-datagrid.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-dialog.cjs.entry.js +6 -538
- package/dist/cjs/nv-dialog.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-drawer.cjs.entry.js +443 -0
- package/dist/cjs/nv-drawer.entry.cjs.js.map +1 -0
- package/dist/cjs/nv-drawerfooter.nv-drawerheader.entry.cjs.js.map +1 -0
- package/dist/cjs/nv-drawerfooter_2.cjs.entry.js +144 -0
- package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +6 -6
- package/dist/cjs/nv-fieldcheckbox.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-fielddate.cjs.entry.js +12 -15
- package/dist/cjs/nv-fielddate.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-fielddaterange.cjs.entry.js +12 -13
- package/dist/cjs/nv-fielddaterange.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-fielddropdown.cjs.entry.js +24 -33
- package/dist/cjs/nv-fielddropdown.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +2 -3
- package/dist/cjs/nv-fielddropdownitem.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +19 -27
- package/dist/cjs/nv-fieldmultiselect.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-fieldnumber.cjs.entry.js +6 -6
- package/dist/cjs/nv-fieldnumber.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-fieldpassword.cjs.entry.js +6 -6
- package/dist/cjs/nv-fieldpassword.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-fieldradio.cjs.entry.js +4 -4
- package/dist/cjs/nv-fieldradio.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-fieldselect.cjs.entry.js +8 -8
- package/dist/cjs/nv-fieldselect.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-fieldslider.cjs.entry.js +5 -5
- package/dist/cjs/nv-fieldslider.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-fieldtext.cjs.entry.js +6 -6
- package/dist/cjs/nv-fieldtext.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js +6 -7
- package/dist/cjs/nv-fieldtextarea.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-fieldtime.cjs.entry.js +27 -35
- package/dist/cjs/nv-fieldtime.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-icon.cjs.entry.js +2 -2
- package/dist/cjs/nv-icon.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-iconbutton.nv-loader.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-iconbutton_2.cjs.entry.js +5 -6
- package/dist/cjs/nv-menu.cjs.entry.js +3 -4
- package/dist/cjs/nv-menu.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-menuitem.cjs.entry.js +1 -1
- package/dist/cjs/nv-notification-bullet.cjs.entry.js +1 -2
- package/dist/cjs/nv-notification-bullet.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-notification.cjs.entry.js +6 -9
- package/dist/cjs/nv-notification.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-notificationcontainer.cjs.entry.js +1 -1
- package/dist/cjs/nv-popover.cjs.entry.js +12 -12
- package/dist/cjs/nv-popover.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-row.cjs.entry.js +1 -1
- package/dist/cjs/nv-sidebar.cjs.entry.js +3 -3
- package/dist/cjs/nv-sidebar.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-sidebarcontent.cjs.entry.js +1 -1
- package/dist/cjs/nv-sidebardivider.cjs.entry.js +1 -1
- package/dist/cjs/nv-sidebarfooter.cjs.entry.js +1 -1
- package/dist/cjs/nv-sidebargroup.cjs.entry.js +1 -1
- package/dist/cjs/nv-sidebarheader.cjs.entry.js +1 -1
- package/dist/cjs/nv-sidebarlogo.cjs.entry.js +1 -1
- package/dist/cjs/nv-sidebarnavitem.cjs.entry.js +4 -5
- package/dist/cjs/nv-sidebarnavitem.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-sidebarnavsubitem.cjs.entry.js +1 -1
- package/dist/cjs/nv-split.cjs.entry.js +43 -41
- package/dist/cjs/nv-split.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-stack.cjs.entry.js +1 -1
- package/dist/cjs/nv-table.cjs.entry.js +6 -8
- package/dist/cjs/nv-table.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-tableheader.cjs.entry.js +2 -2
- package/dist/cjs/nv-tableheader.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-toggle.cjs.entry.js +2 -2
- package/dist/cjs/nv-togglebutton.cjs.entry.js +2 -2
- package/dist/cjs/nv-togglebutton.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-togglebuttongroup.cjs.entry.js +3 -4
- package/dist/cjs/nv-togglebuttongroup.entry.cjs.js.map +1 -1
- package/dist/cjs/nv-tooltip.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +3 -0
- package/dist/collection/components/nv-accordion/nv-accordion.docs.js +66 -40
- package/dist/collection/components/nv-accordion/nv-accordion.docs.js.map +1 -1
- package/dist/collection/components/nv-accordion/nv-accordion.js +2 -7
- package/dist/collection/components/nv-accordion/nv-accordion.js.map +1 -1
- package/dist/collection/components/nv-alert/nv-alert.docs.js +18 -1
- package/dist/collection/components/nv-alert/nv-alert.docs.js.map +1 -1
- package/dist/collection/components/nv-alert/nv-alert.js +1 -2
- package/dist/collection/components/nv-alert/nv-alert.js.map +1 -1
- package/dist/collection/components/nv-avatar/nv-avatar.docs.js +56 -0
- package/dist/collection/components/nv-avatar/nv-avatar.docs.js.map +1 -1
- package/dist/collection/components/nv-badge/nv-badge.docs.js +64 -15
- package/dist/collection/components/nv-badge/nv-badge.docs.js.map +1 -1
- package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js +10 -1
- package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js.map +1 -1
- package/dist/collection/components/nv-button/nv-button.docs.js +38 -4
- package/dist/collection/components/nv-button/nv-button.docs.js.map +1 -1
- package/dist/collection/components/nv-button/nv-button.js +3 -5
- package/dist/collection/components/nv-button/nv-button.js.map +1 -1
- package/dist/collection/components/nv-buttongroup/nv-buttongroup.docs.js +22 -0
- package/dist/collection/components/nv-buttongroup/nv-buttongroup.docs.js.map +1 -1
- package/dist/collection/components/nv-calendar/nv-calendar.docs.js +269 -14
- package/dist/collection/components/nv-calendar/nv-calendar.docs.js.map +1 -1
- package/dist/collection/components/nv-calendar/nv-calendar.js +13 -22
- package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -1
- package/dist/collection/components/nv-calendar/partials/week-numbers.js +1 -2
- package/dist/collection/components/nv-calendar/partials/week-numbers.js.map +1 -1
- package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js +11 -11
- package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js.map +1 -1
- package/dist/collection/components/nv-calendar/test/partials/calendar-grid.logic.test.js +2 -2
- package/dist/collection/components/nv-calendar/test/partials/calendar-grid.logic.test.js.map +1 -1
- package/dist/collection/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.js +6 -5
- package/dist/collection/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.js.map +1 -1
- package/dist/collection/components/nv-calendar/test/partials/day-cell.logic.test.js +10 -1
- package/dist/collection/components/nv-calendar/test/partials/day-cell.logic.test.js.map +1 -1
- package/dist/collection/components/nv-col/nv-col.docs.js +8 -0
- package/dist/collection/components/nv-col/nv-col.docs.js.map +1 -1
- package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +290 -286
- package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +1 -1
- package/dist/collection/components/nv-datagrid/nv-datagrid.js +67 -72
- package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -1
- package/dist/collection/components/nv-dialog/nv-dialog.docs.js +64 -13
- package/dist/collection/components/nv-dialog/nv-dialog.docs.js.map +1 -1
- package/dist/collection/components/nv-drawer/nv-drawer.css +114 -0
- package/dist/collection/components/nv-drawer/nv-drawer.docs.js +145 -0
- package/dist/collection/components/nv-drawer/nv-drawer.docs.js.map +1 -0
- package/dist/collection/components/nv-drawer/nv-drawer.js +719 -0
- package/dist/collection/components/nv-drawer/nv-drawer.js.map +1 -0
- package/dist/collection/components/nv-drawerfooter/nv-drawerfooter.css +8 -0
- package/dist/collection/components/nv-drawerfooter/nv-drawerfooter.docs.js +6 -0
- package/dist/collection/components/nv-drawerfooter/nv-drawerfooter.docs.js.map +1 -0
- package/dist/collection/components/nv-drawerfooter/nv-drawerfooter.js +325 -0
- package/dist/collection/components/nv-drawerfooter/nv-drawerfooter.js.map +1 -0
- package/dist/collection/components/nv-drawerheader/nv-drawerheader.css +32 -0
- package/dist/collection/components/nv-drawerheader/nv-drawerheader.docs.js +6 -0
- package/dist/collection/components/nv-drawerheader/nv-drawerheader.docs.js.map +1 -0
- package/dist/collection/components/nv-drawerheader/nv-drawerheader.js +92 -0
- package/dist/collection/components/nv-drawerheader/nv-drawerheader.js.map +1 -0
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.js +186 -136
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +6 -6
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js.map +1 -1
- package/dist/collection/components/nv-fielddate/nv-fielddate.docs.js +300 -109
- package/dist/collection/components/nv-fielddate/nv-fielddate.docs.js.map +1 -1
- package/dist/collection/components/nv-fielddate/nv-fielddate.js +11 -14
- package/dist/collection/components/nv-fielddate/nv-fielddate.js.map +1 -1
- package/dist/collection/components/nv-fielddate/styles/nv-fielddate.css +1 -1
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.docs.js +406 -1
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.docs.js.map +1 -1
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +11 -12
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +1 -1
- package/dist/collection/components/nv-fielddaterange/styles/nv-fielddaterange.css +1 -1
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +210 -118
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +1 -1
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +22 -31
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
- package/dist/collection/components/nv-fielddropdown/styles/nv-fielddropdown.css +1 -1
- package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +2 -3
- package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js.map +1 -1
- package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +1 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +462 -322
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +17 -25
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
- package/dist/collection/components/nv-fieldmultiselect/styles/nv-fieldmultiselect.css +1 -1
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.css +1 -1
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js +70 -7
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +5 -5
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +1 -1
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.css +1 -1
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js +79 -6
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +5 -5
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js.map +1 -1
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.docs.js +58 -6
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +4 -4
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.js.map +1 -1
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js +138 -30
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +7 -7
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.js.map +1 -1
- package/dist/collection/components/nv-fieldselect/styles/nv-fieldselect.css +1 -1
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js +138 -30
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +3 -3
- package/dist/collection/components/nv-fieldslider/partials/field-input.js +1 -1
- package/dist/collection/components/nv-fieldslider/partials/field-input.js.map +1 -1
- package/dist/collection/components/nv-fieldslider/styles/nv-fieldslider.css +1 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.css +1 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +92 -16
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +5 -5
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +1 -1
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js +64 -3
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +6 -7
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js.map +1 -1
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js +41 -22
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +25 -33
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.js.map +1 -1
- package/dist/collection/components/nv-fieldtime/styles/nv-fieldtime.css +1 -1
- package/dist/collection/components/nv-fieldtime/utils/format-utils.js +1 -1
- package/dist/collection/components/nv-fieldtime/utils/format-utils.js.map +1 -1
- package/dist/collection/components/nv-icon/nv-icon.docs.js +46 -0
- package/dist/collection/components/nv-icon/nv-icon.docs.js.map +1 -1
- package/dist/collection/components/nv-icon/nv-icon.js +1 -1
- package/dist/collection/components/nv-icon/nv-icons.js +2 -0
- package/dist/collection/components/nv-icon/nv-icons.js.map +1 -1
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.css +4 -4
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.docs.js +18 -1
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.docs.js.map +1 -1
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +3 -4
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.js.map +1 -1
- package/dist/collection/components/nv-loader/nv-loader.docs.js +8 -4
- package/dist/collection/components/nv-loader/nv-loader.docs.js.map +1 -1
- package/dist/collection/components/nv-loader/nv-loader.js +1 -1
- package/dist/collection/components/nv-menu/nv-menu.docs.js +17 -5
- package/dist/collection/components/nv-menu/nv-menu.docs.js.map +1 -1
- package/dist/collection/components/nv-menu/nv-menu.js +3 -4
- package/dist/collection/components/nv-menu/nv-menu.js.map +1 -1
- package/dist/collection/components/nv-menuitem/nv-menuitem.js +2 -2
- package/dist/collection/components/nv-notification/nv-notification.docs.js +34 -3
- package/dist/collection/components/nv-notification/nv-notification.docs.js.map +1 -1
- package/dist/collection/components/nv-notification/nv-notification.js +6 -9
- package/dist/collection/components/nv-notification/nv-notification.js.map +1 -1
- package/dist/collection/components/nv-notification-bullet/nv-notification-bullet.docs.js +60 -0
- package/dist/collection/components/nv-notification-bullet/nv-notification-bullet.docs.js.map +1 -1
- package/dist/collection/components/nv-notification-bullet/nv-notification-bullet.js +1 -2
- package/dist/collection/components/nv-notification-bullet/nv-notification-bullet.js.map +1 -1
- package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.js +1 -1
- package/dist/collection/components/nv-popover/nv-popover.docs.js +35 -10
- package/dist/collection/components/nv-popover/nv-popover.docs.js.map +1 -1
- package/dist/collection/components/nv-popover/nv-popover.js +2 -3
- package/dist/collection/components/nv-popover/nv-popover.js.map +1 -1
- package/dist/collection/components/nv-row/nv-row.docs.js +7 -0
- package/dist/collection/components/nv-row/nv-row.docs.js.map +1 -1
- package/dist/collection/components/nv-row/nv-row.js +1 -1
- package/dist/collection/components/nv-sidebar/nv-sidebar.docs.js +39 -0
- package/dist/collection/components/nv-sidebar/nv-sidebar.docs.js.map +1 -1
- package/dist/collection/components/nv-sidebar/nv-sidebar.js +3 -3
- package/dist/collection/components/nv-sidebar/nv-sidebar.js.map +1 -1
- package/dist/collection/components/nv-sidebarcontent/nv-sidebarcontent.js +1 -1
- package/dist/collection/components/nv-sidebardivider/nv-sidebardivider.js +1 -1
- package/dist/collection/components/nv-sidebarfooter/nv-sidebarfooter.js +1 -1
- package/dist/collection/components/nv-sidebargroup/nv-sidebargroup.js +1 -1
- package/dist/collection/components/nv-sidebarheader/nv-sidebarheader.js +1 -1
- package/dist/collection/components/nv-sidebarlogo/nv-sidebarlogo.js +1 -1
- package/dist/collection/components/nv-sidebarnavitem/nv-sidebarnavitem.js +5 -6
- package/dist/collection/components/nv-sidebarnavitem/nv-sidebarnavitem.js.map +1 -1
- package/dist/collection/components/nv-sidebarnavsubitem/nv-sidebarnavsubitem.js +1 -1
- package/dist/collection/components/nv-split/nv-split.docs.js +38 -2
- package/dist/collection/components/nv-split/nv-split.docs.js.map +1 -1
- package/dist/collection/components/nv-split/nv-split.js +44 -42
- package/dist/collection/components/nv-split/nv-split.js.map +1 -1
- package/dist/collection/components/nv-split/styles/nv-split.css +2 -0
- package/dist/collection/components/nv-stack/nv-stack.docs.js +13 -0
- package/dist/collection/components/nv-stack/nv-stack.docs.js.map +1 -1
- package/dist/collection/components/nv-stack/nv-stack.js +1 -1
- package/dist/collection/components/nv-table/nv-table.docs.js +12 -0
- package/dist/collection/components/nv-table/nv-table.docs.js.map +1 -1
- package/dist/collection/components/nv-table/nv-table.js +1 -1
- package/dist/collection/components/nv-table/nv-table.utils.js +5 -7
- package/dist/collection/components/nv-table/nv-table.utils.js.map +1 -1
- package/dist/collection/components/nv-table/test/nv-table.utils.test.js +4 -5
- package/dist/collection/components/nv-table/test/nv-table.utils.test.js.map +1 -1
- package/dist/collection/components/nv-tableheader/nv-tableheader.docs.js +29 -1
- package/dist/collection/components/nv-tableheader/nv-tableheader.docs.js.map +1 -1
- package/dist/collection/components/nv-tableheader/nv-tableheader.js +2 -2
- package/dist/collection/components/nv-tableheader/nv-tableheader.js.map +1 -1
- package/dist/collection/components/nv-toggle/nv-toggle.docs.js +31 -0
- package/dist/collection/components/nv-toggle/nv-toggle.docs.js.map +1 -1
- package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
- package/dist/collection/components/nv-togglebutton/nv-togglebutton.js +1 -1
- package/dist/collection/components/nv-togglebutton/styles/nv-togglebutton.css +16 -12
- package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js +20 -7
- package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js.map +1 -1
- package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js +2 -3
- package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js.map +1 -1
- package/dist/collection/components/nv-togglebuttongroup/styles/nv-togglebuttongroup.css +4 -12
- package/dist/collection/components/nv-tooltip/nv-tooltip.docs.js +33 -6
- package/dist/collection/components/nv-tooltip/nv-tooltip.docs.js.map +1 -1
- package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
- package/dist/collection/templates/navigation.docs.js +1 -1
- package/dist/collection/templates/navigation.docs.js.map +1 -1
- package/dist/collection/utils/i18n.utils.js +1 -2
- package/dist/collection/utils/i18n.utils.js.map +1 -1
- package/dist/collection/utils/search-engine/strategies/fuzzy.js +2 -2
- package/dist/collection/utils/search-engine/strategies/fuzzy.js.map +1 -1
- package/dist/collection/utils/search-engine/strategies/smart.js +2 -2
- package/dist/collection/utils/search-engine/strategies/smart.js.map +1 -1
- package/dist/collection/utils/search-engine/strategies/strict.js +2 -2
- package/dist/collection/utils/search-engine/strategies/strict.js.map +1 -1
- package/dist/collection/utils/search-engine/worker/worker-client.js +7 -10
- package/dist/collection/utils/search-engine/worker/worker-client.js.map +1 -1
- package/dist/components/index.js +4 -2
- package/dist/components/index.js.map +1 -1
- package/dist/components/nv-accordion-item.js +1 -1
- package/dist/components/nv-accordion.js +6 -11
- package/dist/components/nv-accordion.js.map +1 -1
- package/dist/components/nv-alert.js +2 -3
- package/dist/components/nv-alert.js.map +1 -1
- package/dist/components/nv-avatar.js +1 -1
- package/dist/components/nv-badge.js +1 -1
- package/dist/components/nv-breadcrumb.js +2 -2
- package/dist/components/nv-button.js +1 -1
- package/dist/components/nv-calendar.js +1 -1
- package/dist/components/nv-datagrid.js +69 -74
- package/dist/components/nv-datagrid.js.map +1 -1
- package/dist/components/nv-dialog.js +7 -539
- package/dist/components/nv-dialog.js.map +1 -1
- package/dist/components/nv-dialogfooter.js +1 -1
- package/dist/components/nv-drawer.d.ts +11 -0
- package/dist/components/nv-drawer.js +507 -0
- package/dist/components/nv-drawer.js.map +1 -0
- package/dist/components/nv-drawerfooter.d.ts +11 -0
- package/dist/components/nv-drawerfooter.js +9 -0
- package/dist/components/nv-drawerfooter.js.map +1 -0
- package/dist/components/nv-drawerheader.d.ts +11 -0
- package/dist/components/nv-drawerheader.js +9 -0
- package/dist/components/nv-drawerheader.js.map +1 -0
- package/dist/components/nv-fieldcheckbox.js +1 -1
- package/dist/components/nv-fielddate.js +18 -21
- package/dist/components/nv-fielddate.js.map +1 -1
- package/dist/components/nv-fielddaterange.js +18 -19
- package/dist/components/nv-fielddaterange.js.map +1 -1
- package/dist/components/nv-fielddropdown.js +29 -38
- package/dist/components/nv-fielddropdown.js.map +1 -1
- package/dist/components/nv-fielddropdownitem.js +1 -1
- package/dist/components/nv-fielddropdownitemcheck.js +1 -1
- package/dist/components/nv-fieldmultiselect.js +26 -34
- package/dist/components/nv-fieldmultiselect.js.map +1 -1
- package/dist/components/nv-fieldnumber.js +1 -1
- package/dist/components/nv-fieldpassword.js +9 -9
- package/dist/components/nv-fieldpassword.js.map +1 -1
- package/dist/components/nv-fieldradio.js +4 -4
- package/dist/components/nv-fieldradio.js.map +1 -1
- package/dist/components/nv-fieldselect.js +11 -11
- package/dist/components/nv-fieldselect.js.map +1 -1
- package/dist/components/nv-fieldslider.js +9 -9
- package/dist/components/nv-fieldslider.js.map +1 -1
- package/dist/components/nv-fieldtext.js +1 -1
- package/dist/components/nv-fieldtextarea.js +6 -7
- package/dist/components/nv-fieldtextarea.js.map +1 -1
- package/dist/components/nv-fieldtime.js +31 -39
- package/dist/components/nv-fieldtime.js.map +1 -1
- package/dist/components/nv-icon.js +1 -1
- package/dist/components/nv-iconbutton.js +1 -1
- package/dist/components/nv-loader.js +1 -1
- package/dist/components/nv-menu.js +6 -7
- package/dist/components/nv-menu.js.map +1 -1
- package/dist/components/nv-menuitem.js +1 -1
- package/dist/components/nv-notification-bullet.js +1 -1
- package/dist/components/nv-notification.js +7 -10
- package/dist/components/nv-notification.js.map +1 -1
- package/dist/components/nv-notificationcontainer.js +1 -1
- package/dist/components/nv-popover.js +1 -1
- package/dist/components/nv-row.js +1 -1
- package/dist/components/nv-sidebar.js +4 -4
- package/dist/components/nv-sidebar.js.map +1 -1
- package/dist/components/nv-sidebarcontent.js +1 -1
- package/dist/components/nv-sidebardivider.js +1 -1
- package/dist/components/nv-sidebarfooter.js +1 -1
- package/dist/components/nv-sidebargroup.js +1 -1
- package/dist/components/nv-sidebarheader.js +1 -1
- package/dist/components/nv-sidebarlogo.js +1 -1
- package/dist/components/nv-sidebarnavitem.js +6 -7
- package/dist/components/nv-sidebarnavitem.js.map +1 -1
- package/dist/components/nv-sidebarnavsubitem.js +1 -1
- package/dist/components/nv-split.js +43 -41
- package/dist/components/nv-split.js.map +1 -1
- package/dist/components/nv-stack.js +1 -1
- package/dist/components/nv-table.js +6 -8
- package/dist/components/nv-table.js.map +1 -1
- package/dist/components/nv-tableheader.js +5 -5
- package/dist/components/nv-tableheader.js.map +1 -1
- package/dist/components/nv-toggle.js +2 -2
- package/dist/components/nv-togglebutton.js +2 -2
- package/dist/components/nv-togglebutton.js.map +1 -1
- package/dist/components/nv-togglebuttongroup.js +3 -4
- package/dist/components/nv-togglebuttongroup.js.map +1 -1
- package/dist/components/nv-tooltip.js +1 -1
- package/dist/components/{p-D1i2OAGe.js → p-B45HbBWe.js} +6 -8
- package/dist/components/p-B45HbBWe.js.map +1 -0
- package/dist/components/p-B6GgGra-.js +29 -0
- package/dist/components/p-B6GgGra-.js.map +1 -0
- package/dist/components/{p-Dk8ekxr_.js → p-B7VlEQVW.js} +16 -26
- package/dist/components/p-B7VlEQVW.js.map +1 -0
- package/dist/components/{p-B-3kAnun.js → p-B9i3m6rk.js} +6 -6
- package/dist/components/p-B9i3m6rk.js.map +1 -0
- package/dist/components/{p-BQo7AMPX.js → p-BILd3Ta-.js} +9 -9
- package/dist/components/p-BILd3Ta-.js.map +1 -0
- package/dist/components/{p-Dc_0pr83.js → p-BISctfud.js} +8 -8
- package/dist/components/p-BISctfud.js.map +1 -0
- package/dist/components/{p-CIyQBhTX.js → p-BVOv1zgq.js} +4 -4
- package/dist/components/{p-CIyQBhTX.js.map → p-BVOv1zgq.js.map} +1 -1
- package/dist/components/{p-B6EYOx_n.js → p-Bg_l3jn1.js} +3 -3
- package/dist/components/{p-B6EYOx_n.js.map → p-Bg_l3jn1.js.map} +1 -1
- package/dist/components/{p-CBvZjfqs.js → p-C2QAWGhf.js} +4 -4
- package/dist/components/{p-CBvZjfqs.js.map → p-C2QAWGhf.js.map} +1 -1
- package/dist/components/{p-DzUXTCUy.js → p-COnt5ux_.js} +3 -3
- package/dist/components/{p-DzUXTCUy.js.map → p-COnt5ux_.js.map} +1 -1
- package/dist/components/{p-KUIQrV3D.js → p-Cc7XnqPp.js} +5 -5
- package/dist/components/{p-KUIQrV3D.js.map → p-Cc7XnqPp.js.map} +1 -1
- package/dist/components/{p-CmwaW0q4.js → p-D02w_Ru6.js} +3 -28
- package/dist/components/p-D02w_Ru6.js.map +1 -0
- package/dist/components/p-D3eWMME9.js +538 -0
- package/dist/components/p-D3eWMME9.js.map +1 -0
- package/dist/components/{p--iYGZN4R.js → p-D6APFL6N.js} +11 -11
- package/dist/components/p-D6APFL6N.js.map +1 -0
- package/dist/components/{p-DstpaOhw.js → p-DZJHk4fr.js} +3 -3
- package/dist/components/{p-DstpaOhw.js.map → p-DZJHk4fr.js.map} +1 -1
- package/dist/components/{p-Da9WgE5U.js → p-DiUP3TzF.js} +5 -5
- package/dist/components/{p-Da9WgE5U.js.map → p-DiUP3TzF.js.map} +1 -1
- package/dist/components/{p-DWG6az-u.js → p-DpDooigg.js} +5 -6
- package/dist/components/p-DpDooigg.js.map +1 -0
- package/dist/components/{p-BKfPh2in.js → p-Dr-67WvG.js} +4 -4
- package/dist/components/{p-BKfPh2in.js.map → p-Dr-67WvG.js.map} +1 -1
- package/dist/components/{p-DaiLIZ8f.js → p-DvapDVBj.js} +8 -9
- package/dist/components/p-DvapDVBj.js.map +1 -0
- package/dist/components/{p-DOZbXX2L.js → p-IlwlcG9l.js} +16 -20
- package/dist/components/p-IlwlcG9l.js.map +1 -0
- package/dist/components/p-W6vOfMC9.js +63 -0
- package/dist/components/p-W6vOfMC9.js.map +1 -0
- package/dist/components/{p-CBOuqJTb.js → p-nfYynlVq.js} +4 -4
- package/dist/components/{p-CBOuqJTb.js.map → p-nfYynlVq.js.map} +1 -1
- package/dist/components/{p-CBF8V1L7.js → p-tyaJ-nGV.js} +3 -4
- package/dist/components/p-tyaJ-nGV.js.map +1 -0
- package/dist/components/p-u-maNLLs.js +145 -0
- package/dist/components/p-u-maNLLs.js.map +1 -0
- package/dist/esm/app-globals-DQuL1Twl.js.map +1 -1
- package/dist/esm/events.utils-B6GgGra-.js +29 -0
- package/dist/esm/events.utils-B6GgGra-.js.map +1 -0
- package/dist/esm/{grow.animation-CvHGHBL4.js → grow.animation-D7ep_aVl.js} +3 -28
- package/dist/esm/grow.animation-D7ep_aVl.js.map +1 -0
- package/dist/esm/{i18n.utils-DOZbXX2L.js → i18n.utils-IlwlcG9l.js} +16 -20
- package/dist/esm/{i18n.utils-DOZbXX2L.js.map → i18n.utils-IlwlcG9l.js.map} +1 -1
- package/dist/esm/index-CasQushP.js +12 -4
- package/dist/esm/index.esm-D3eWMME9.js +538 -0
- package/dist/esm/index.esm-D3eWMME9.js.map +1 -0
- package/dist/esm/index.js +4 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/native.js +1 -1
- package/dist/esm/nv-accordion.entry.js +2 -7
- package/dist/esm/nv-accordion.entry.js.map +1 -1
- package/dist/esm/nv-alert.entry.js +1 -2
- package/dist/esm/nv-alert.entry.js.map +1 -1
- package/dist/esm/nv-badge_2.entry.js +1 -1
- package/dist/esm/nv-button.entry.js +3 -5
- package/dist/esm/nv-button.entry.js.map +1 -1
- package/dist/esm/nv-calendar.entry.js +14 -24
- package/dist/esm/nv-calendar.entry.js.map +1 -1
- package/dist/esm/nv-datagrid.entry.js +67 -72
- package/dist/esm/nv-datagrid.entry.js.map +1 -1
- package/dist/esm/nv-dialog.entry.js +3 -535
- package/dist/esm/nv-dialog.entry.js.map +1 -1
- package/dist/esm/nv-drawer.entry.js +441 -0
- package/dist/esm/nv-drawer.entry.js.map +1 -0
- package/dist/esm/nv-drawerfooter.nv-drawerheader.entry.js.map +1 -0
- package/dist/esm/nv-drawerfooter_2.entry.js +141 -0
- package/dist/esm/nv-fieldcheckbox.entry.js +6 -6
- package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -1
- package/dist/esm/nv-fielddate.entry.js +12 -15
- package/dist/esm/nv-fielddate.entry.js.map +1 -1
- package/dist/esm/nv-fielddaterange.entry.js +12 -13
- package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
- package/dist/esm/nv-fielddropdown.entry.js +24 -33
- package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
- package/dist/esm/nv-fielddropdownitem.entry.js +2 -3
- package/dist/esm/nv-fielddropdownitem.entry.js.map +1 -1
- package/dist/esm/nv-fieldmultiselect.entry.js +19 -27
- package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
- package/dist/esm/nv-fieldnumber.entry.js +6 -6
- package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
- package/dist/esm/nv-fieldpassword.entry.js +6 -6
- package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
- package/dist/esm/nv-fieldradio.entry.js +4 -4
- package/dist/esm/nv-fieldradio.entry.js.map +1 -1
- package/dist/esm/nv-fieldselect.entry.js +8 -8
- package/dist/esm/nv-fieldselect.entry.js.map +1 -1
- package/dist/esm/nv-fieldslider.entry.js +5 -5
- package/dist/esm/nv-fieldslider.entry.js.map +1 -1
- package/dist/esm/nv-fieldtext.entry.js +6 -6
- package/dist/esm/nv-fieldtext.entry.js.map +1 -1
- package/dist/esm/nv-fieldtextarea.entry.js +6 -7
- package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
- package/dist/esm/nv-fieldtime.entry.js +27 -35
- package/dist/esm/nv-fieldtime.entry.js.map +1 -1
- package/dist/esm/nv-icon.entry.js +2 -2
- package/dist/esm/nv-icon.entry.js.map +1 -1
- package/dist/esm/nv-iconbutton.nv-loader.entry.js.map +1 -1
- package/dist/esm/nv-iconbutton_2.entry.js +5 -6
- package/dist/esm/nv-menu.entry.js +3 -4
- package/dist/esm/nv-menu.entry.js.map +1 -1
- package/dist/esm/nv-menuitem.entry.js +1 -1
- package/dist/esm/nv-notification-bullet.entry.js +1 -2
- package/dist/esm/nv-notification-bullet.entry.js.map +1 -1
- package/dist/esm/nv-notification.entry.js +6 -9
- package/dist/esm/nv-notification.entry.js.map +1 -1
- package/dist/esm/nv-notificationcontainer.entry.js +1 -1
- package/dist/esm/nv-popover.entry.js +4 -4
- package/dist/esm/nv-popover.entry.js.map +1 -1
- package/dist/esm/nv-row.entry.js +1 -1
- package/dist/esm/nv-sidebar.entry.js +3 -3
- package/dist/esm/nv-sidebar.entry.js.map +1 -1
- package/dist/esm/nv-sidebarcontent.entry.js +1 -1
- package/dist/esm/nv-sidebardivider.entry.js +1 -1
- package/dist/esm/nv-sidebarfooter.entry.js +1 -1
- package/dist/esm/nv-sidebargroup.entry.js +1 -1
- package/dist/esm/nv-sidebarheader.entry.js +1 -1
- package/dist/esm/nv-sidebarlogo.entry.js +1 -1
- package/dist/esm/nv-sidebarnavitem.entry.js +4 -5
- package/dist/esm/nv-sidebarnavitem.entry.js.map +1 -1
- package/dist/esm/nv-sidebarnavsubitem.entry.js +1 -1
- package/dist/esm/nv-split.entry.js +43 -41
- package/dist/esm/nv-split.entry.js.map +1 -1
- package/dist/esm/nv-stack.entry.js +1 -1
- package/dist/esm/nv-table.entry.js +6 -8
- package/dist/esm/nv-table.entry.js.map +1 -1
- package/dist/esm/nv-tableheader.entry.js +2 -2
- package/dist/esm/nv-tableheader.entry.js.map +1 -1
- package/dist/esm/nv-toggle.entry.js +2 -2
- package/dist/esm/nv-togglebutton.entry.js +2 -2
- package/dist/esm/nv-togglebutton.entry.js.map +1 -1
- package/dist/esm/nv-togglebuttongroup.entry.js +3 -4
- package/dist/esm/nv-togglebuttongroup.entry.js.map +1 -1
- package/dist/esm/nv-tooltip.entry.js +1 -1
- package/dist/lib/generators/angular-output.js +9 -7
- package/dist/lib/generators/angular-output.js.map +1 -1
- package/dist/lib/generators/docs-blazor.js +32 -14
- package/dist/lib/generators/docs-blazor.js.map +1 -1
- package/dist/lib/generators/vue-output.js +10 -11
- package/dist/lib/generators/vue-output.js.map +1 -1
- package/dist/lib/utils/componentBinding.js +9 -10
- package/dist/lib/utils/componentBinding.js.map +1 -1
- package/dist/lib/utils/parseToCSharpTypes.js +3 -16
- package/dist/lib/utils/parseToCSharpTypes.js.map +1 -1
- package/dist/lib/utils/spread.js +3 -4
- package/dist/lib/utils/spread.js.map +1 -1
- package/dist/native/index.esm.js +1 -1
- package/dist/native/index.esm.js.map +1 -1
- package/dist/native/native.css +1 -1
- package/dist/native/native.esm.js +1 -1
- package/dist/native/nv-accordion.entry.esm.js.map +1 -1
- package/dist/native/nv-alert.entry.esm.js.map +1 -1
- package/dist/native/nv-button.entry.esm.js.map +1 -1
- package/dist/native/nv-calendar.entry.esm.js.map +1 -1
- package/dist/native/nv-datagrid.entry.esm.js.map +1 -1
- package/dist/native/nv-dialog.entry.esm.js.map +1 -1
- package/dist/native/nv-drawer.entry.esm.js.map +1 -0
- package/dist/native/nv-drawerfooter.nv-drawerheader.entry.esm.js.map +1 -0
- package/dist/native/nv-fieldcheckbox.entry.esm.js.map +1 -1
- package/dist/native/nv-fielddate.entry.esm.js.map +1 -1
- package/dist/native/nv-fielddaterange.entry.esm.js.map +1 -1
- package/dist/native/nv-fielddropdown.entry.esm.js.map +1 -1
- package/dist/native/nv-fielddropdownitem.entry.esm.js.map +1 -1
- package/dist/native/nv-fieldmultiselect.entry.esm.js.map +1 -1
- package/dist/native/nv-fieldnumber.entry.esm.js.map +1 -1
- package/dist/native/nv-fieldpassword.entry.esm.js.map +1 -1
- package/dist/native/nv-fieldradio.entry.esm.js.map +1 -1
- package/dist/native/nv-fieldselect.entry.esm.js.map +1 -1
- package/dist/native/nv-fieldslider.entry.esm.js.map +1 -1
- package/dist/native/nv-fieldtext.entry.esm.js.map +1 -1
- package/dist/native/nv-fieldtextarea.entry.esm.js.map +1 -1
- package/dist/native/nv-fieldtime.entry.esm.js.map +1 -1
- package/dist/native/nv-icon.entry.esm.js.map +1 -1
- package/dist/native/nv-iconbutton.nv-loader.entry.esm.js.map +1 -1
- package/dist/native/nv-menu.entry.esm.js.map +1 -1
- package/dist/native/nv-notification-bullet.entry.esm.js.map +1 -1
- package/dist/native/nv-notification.entry.esm.js.map +1 -1
- package/dist/native/nv-popover.entry.esm.js.map +1 -1
- package/dist/native/nv-sidebar.entry.esm.js.map +1 -1
- package/dist/native/nv-sidebarnavitem.entry.esm.js.map +1 -1
- package/dist/native/nv-split.entry.esm.js.map +1 -1
- package/dist/native/nv-table.entry.esm.js.map +1 -1
- package/dist/native/nv-tableheader.entry.esm.js.map +1 -1
- package/dist/native/nv-togglebutton.entry.esm.js.map +1 -1
- package/dist/native/nv-togglebuttongroup.entry.esm.js.map +1 -1
- package/dist/native/{p-b21e38a3.entry.js → p-04a2fe7f.entry.js} +2 -2
- package/dist/native/p-08204da4.entry.js +2 -0
- package/dist/native/{p-bd6ae5f3.entry.js.map → p-08204da4.entry.js.map} +1 -1
- package/dist/native/{p-e0adb05d.entry.js → p-0e07b91b.entry.js} +2 -2
- package/dist/native/p-0e07b91b.entry.js.map +1 -0
- package/dist/native/p-136dfb3e.entry.js +2 -0
- package/dist/native/p-136dfb3e.entry.js.map +1 -0
- package/dist/native/p-1f2dd37f.entry.js +2 -0
- package/dist/native/p-1f2dd37f.entry.js.map +1 -0
- package/dist/native/p-255a0482.entry.js +2 -0
- package/dist/native/p-255a0482.entry.js.map +1 -0
- package/dist/native/{p-f73e9752.entry.js → p-3305a7e6.entry.js} +2 -2
- package/dist/native/p-3305a7e6.entry.js.map +1 -0
- package/dist/native/p-36b0a6f0.entry.js +2 -0
- package/dist/native/p-36b0a6f0.entry.js.map +1 -0
- package/dist/native/p-434bc910.entry.js +2 -0
- package/dist/native/p-434bc910.entry.js.map +1 -0
- package/dist/native/{p-ea98ba7a.entry.js → p-436029a5.entry.js} +2 -2
- package/dist/native/p-460fdf02.entry.js +2 -0
- package/dist/native/p-460fdf02.entry.js.map +1 -0
- package/dist/native/p-477e02cf.entry.js +2 -0
- package/dist/native/p-477e02cf.entry.js.map +1 -0
- package/dist/native/{p-28afb852.entry.js → p-4efb582b.entry.js} +2 -2
- package/dist/native/p-4efb582b.entry.js.map +1 -0
- package/dist/native/p-4f1dfa32.entry.js +2 -0
- package/dist/native/p-4f1dfa32.entry.js.map +1 -0
- package/dist/native/p-51b7de55.entry.js +13 -0
- package/dist/native/p-51b7de55.entry.js.map +1 -0
- package/dist/native/{p-37c6d559.entry.js → p-5dd120dc.entry.js} +2 -2
- package/dist/native/p-5dd120dc.entry.js.map +1 -0
- package/dist/native/{p-5acf105e.entry.js → p-67181258.entry.js} +2 -2
- package/dist/native/p-6a81884b.entry.js +2 -0
- package/dist/native/p-6a81884b.entry.js.map +1 -0
- package/dist/native/p-6aa483de.entry.js +2 -0
- package/dist/native/{p-b1a917c7.entry.js → p-6fc79712.entry.js} +2 -2
- package/dist/native/{p-ee04ea09.entry.js → p-729589cb.entry.js} +2 -2
- package/dist/native/p-729589cb.entry.js.map +1 -0
- package/dist/native/p-78bf7650.entry.js +2 -0
- package/dist/native/p-7e6e9ea2.entry.js +2 -0
- package/dist/native/p-8f1cd9e2.entry.js +2 -0
- package/dist/native/p-8f1cd9e2.entry.js.map +1 -0
- package/dist/native/{p-4cf47e1a.entry.js → p-910cd685.entry.js} +2 -2
- package/dist/native/p-91eaf02e.entry.js +2 -0
- package/dist/native/p-91eaf02e.entry.js.map +1 -0
- package/dist/native/p-93e35975.entry.js +2 -0
- package/dist/native/p-93e35975.entry.js.map +1 -0
- package/dist/native/{p-9d8257dc.entry.js → p-96c45604.entry.js} +2 -2
- package/dist/native/{p-6f456ae4.entry.js → p-9b6ad782.entry.js} +2 -2
- package/dist/native/{p-6f456ae4.entry.js.map → p-9b6ad782.entry.js.map} +1 -1
- package/dist/native/{p-fd872d54.entry.js → p-9f32c3ea.entry.js} +2 -2
- package/dist/native/p-B6GgGra-.js +2 -0
- package/dist/native/p-B6GgGra-.js.map +1 -0
- package/dist/native/p-Blc6XEY7.js +2 -0
- package/dist/native/p-Blc6XEY7.js.map +1 -0
- package/dist/native/p-D3eWMME9.js +6 -0
- package/dist/native/p-D3eWMME9.js.map +1 -0
- package/dist/native/p-DQuL1Twl.js.map +1 -1
- package/dist/native/p-IlwlcG9l.js +2 -0
- package/dist/native/{p-DOZbXX2L.js.map → p-IlwlcG9l.js.map} +1 -1
- package/dist/native/{p-b0935c49.entry.js → p-a6fea322.entry.js} +2 -2
- package/dist/native/p-ae279ae9.entry.js +2 -0
- package/dist/native/p-ae279ae9.entry.js.map +1 -0
- package/dist/native/p-ba1286aa.entry.js +2 -0
- package/dist/native/p-ba1286aa.entry.js.map +1 -0
- package/dist/native/p-bb52a5a9.entry.js +2 -0
- package/dist/native/p-bb52a5a9.entry.js.map +1 -0
- package/dist/native/p-bc90247e.entry.js +2 -0
- package/dist/native/p-bc90247e.entry.js.map +1 -0
- package/dist/native/{p-0493fb6d.entry.js → p-c2a73a5a.entry.js} +2 -2
- package/dist/native/p-c4c11549.entry.js +2 -0
- package/dist/native/{p-3c54e422.entry.js → p-c5ecdc49.entry.js} +2 -2
- package/dist/native/p-c5ecdc49.entry.js.map +1 -0
- package/dist/native/{p-527e9b56.entry.js → p-cb1b9edb.entry.js} +2 -2
- package/dist/native/p-cb1b9edb.entry.js.map +1 -0
- package/dist/native/p-cdaf54b0.entry.js +2 -0
- package/dist/native/p-cdaf54b0.entry.js.map +1 -0
- package/dist/native/{p-e7dc36d9.entry.js → p-ceb8fe8a.entry.js} +2 -2
- package/dist/native/p-daf7541b.entry.js +2 -0
- package/dist/native/p-daf7541b.entry.js.map +1 -0
- package/dist/native/{p-da893df2.entry.js → p-ded4be77.entry.js} +2 -2
- package/dist/native/p-ded4be77.entry.js.map +1 -0
- package/dist/native/p-e1fc5f8c.entry.js +2 -0
- package/dist/native/p-e1fc5f8c.entry.js.map +1 -0
- package/dist/native/{p-d4f95c86.entry.js → p-e6c69f7d.entry.js} +2 -2
- package/dist/native/p-e6c69f7d.entry.js.map +1 -0
- package/dist/native/p-e83603f1.entry.js +2 -0
- package/dist/native/p-e83603f1.entry.js.map +1 -0
- package/dist/native/p-ec217581.entry.js +2 -0
- package/dist/native/p-ec217581.entry.js.map +1 -0
- package/dist/native/p-ee694832.entry.js +2 -0
- package/dist/native/p-ee694832.entry.js.map +1 -0
- package/dist/native/{p-b1ef2f25.entry.js → p-f7e0146e.entry.js} +2 -2
- package/dist/native/p-f7e0146e.entry.js.map +1 -0
- package/dist/types/components/nv-drawer/nv-drawer.d.ts +161 -0
- package/dist/types/components/nv-drawer/nv-drawer.docs.d.ts +4 -0
- package/dist/types/components/nv-drawerfooter/nv-drawerfooter.d.ts +76 -0
- package/dist/types/components/nv-drawerfooter/nv-drawerfooter.docs.d.ts +4 -0
- package/dist/types/components/nv-drawerheader/nv-drawerheader.d.ts +20 -0
- package/dist/types/components/nv-drawerheader/nv-drawerheader.docs.d.ts +4 -0
- package/dist/types/components/nv-icon/nv-icons.d.ts +1 -1
- package/dist/types/components/nv-split/nv-split.d.ts +4 -4
- package/dist/types/components.d.ts +292 -5
- package/dist/vscode-data.json +153 -1
- package/hydrate/index.js +969 -408
- package/hydrate/index.mjs +969 -408
- package/package.json +13 -1
- package/dist/cjs/grow.animation-BrWzyoUA.js.map +0 -1
- package/dist/components/p--iYGZN4R.js.map +0 -1
- package/dist/components/p-B-3kAnun.js.map +0 -1
- package/dist/components/p-BQo7AMPX.js.map +0 -1
- package/dist/components/p-CBF8V1L7.js.map +0 -1
- package/dist/components/p-CmwaW0q4.js.map +0 -1
- package/dist/components/p-D1i2OAGe.js.map +0 -1
- package/dist/components/p-DOZbXX2L.js.map +0 -1
- package/dist/components/p-DWG6az-u.js.map +0 -1
- package/dist/components/p-DaiLIZ8f.js.map +0 -1
- package/dist/components/p-Dc_0pr83.js.map +0 -1
- package/dist/components/p-Dk8ekxr_.js.map +0 -1
- package/dist/esm/grow.animation-CvHGHBL4.js.map +0 -1
- package/dist/native/p-02df60a5.entry.js +0 -2
- package/dist/native/p-02df60a5.entry.js.map +0 -1
- package/dist/native/p-0b8d6777.entry.js +0 -13
- package/dist/native/p-0b8d6777.entry.js.map +0 -1
- package/dist/native/p-0e7e693f.entry.js +0 -2
- package/dist/native/p-0e7e693f.entry.js.map +0 -1
- package/dist/native/p-0fe60a9d.entry.js +0 -2
- package/dist/native/p-0fe60a9d.entry.js.map +0 -1
- package/dist/native/p-14b0bf14.entry.js +0 -2
- package/dist/native/p-14b0bf14.entry.js.map +0 -1
- package/dist/native/p-28afb852.entry.js.map +0 -1
- package/dist/native/p-2cf77850.entry.js +0 -2
- package/dist/native/p-2cf77850.entry.js.map +0 -1
- package/dist/native/p-31a12d8a.entry.js +0 -2
- package/dist/native/p-31a12d8a.entry.js.map +0 -1
- package/dist/native/p-37c6d559.entry.js.map +0 -1
- package/dist/native/p-3c54e422.entry.js.map +0 -1
- package/dist/native/p-3c9b22ff.entry.js +0 -2
- package/dist/native/p-3c9b22ff.entry.js.map +0 -1
- package/dist/native/p-4a71f223.entry.js +0 -2
- package/dist/native/p-4a71f223.entry.js.map +0 -1
- package/dist/native/p-527e9b56.entry.js.map +0 -1
- package/dist/native/p-5bce524d.entry.js +0 -2
- package/dist/native/p-5bce524d.entry.js.map +0 -1
- package/dist/native/p-63bc0a05.entry.js +0 -2
- package/dist/native/p-63bc0a05.entry.js.map +0 -1
- package/dist/native/p-63bf86de.entry.js +0 -2
- package/dist/native/p-6a3c1413.entry.js +0 -2
- package/dist/native/p-7e274db7.entry.js +0 -7
- package/dist/native/p-7e274db7.entry.js.map +0 -1
- package/dist/native/p-86b2b071.entry.js +0 -2
- package/dist/native/p-86b2b071.entry.js.map +0 -1
- package/dist/native/p-8b278fce.entry.js +0 -2
- package/dist/native/p-8b278fce.entry.js.map +0 -1
- package/dist/native/p-9c543ab2.entry.js +0 -2
- package/dist/native/p-9c543ab2.entry.js.map +0 -1
- package/dist/native/p-DOZbXX2L.js +0 -2
- package/dist/native/p-DS5GOtQ3.js +0 -2
- package/dist/native/p-DS5GOtQ3.js.map +0 -1
- package/dist/native/p-a2aa6872.entry.js +0 -2
- package/dist/native/p-b1ef2f25.entry.js.map +0 -1
- package/dist/native/p-b2ed6d34.entry.js +0 -2
- package/dist/native/p-b2ed6d34.entry.js.map +0 -1
- package/dist/native/p-bd6ae5f3.entry.js +0 -2
- package/dist/native/p-c98b9ce4.entry.js +0 -2
- package/dist/native/p-c98b9ce4.entry.js.map +0 -1
- package/dist/native/p-cc305619.entry.js +0 -2
- package/dist/native/p-cc305619.entry.js.map +0 -1
- package/dist/native/p-d1cfdc3e.entry.js +0 -2
- package/dist/native/p-d1cfdc3e.entry.js.map +0 -1
- package/dist/native/p-d3b1bd81.entry.js +0 -2
- package/dist/native/p-d424b9aa.entry.js +0 -2
- package/dist/native/p-d424b9aa.entry.js.map +0 -1
- package/dist/native/p-d4f95c86.entry.js.map +0 -1
- package/dist/native/p-da893df2.entry.js.map +0 -1
- package/dist/native/p-e0adb05d.entry.js.map +0 -1
- package/dist/native/p-e6a37207.entry.js +0 -2
- package/dist/native/p-e6a37207.entry.js.map +0 -1
- package/dist/native/p-ee04ea09.entry.js.map +0 -1
- package/dist/native/p-f73e9752.entry.js.map +0 -1
- /package/dist/native/{p-b21e38a3.entry.js.map → p-04a2fe7f.entry.js.map} +0 -0
- /package/dist/native/{p-ea98ba7a.entry.js.map → p-436029a5.entry.js.map} +0 -0
- /package/dist/native/{p-5acf105e.entry.js.map → p-67181258.entry.js.map} +0 -0
- /package/dist/native/{p-63bf86de.entry.js.map → p-6aa483de.entry.js.map} +0 -0
- /package/dist/native/{p-b1a917c7.entry.js.map → p-6fc79712.entry.js.map} +0 -0
- /package/dist/native/{p-d3b1bd81.entry.js.map → p-78bf7650.entry.js.map} +0 -0
- /package/dist/native/{p-a2aa6872.entry.js.map → p-7e6e9ea2.entry.js.map} +0 -0
- /package/dist/native/{p-4cf47e1a.entry.js.map → p-910cd685.entry.js.map} +0 -0
- /package/dist/native/{p-9d8257dc.entry.js.map → p-96c45604.entry.js.map} +0 -0
- /package/dist/native/{p-fd872d54.entry.js.map → p-9f32c3ea.entry.js.map} +0 -0
- /package/dist/native/{p-b0935c49.entry.js.map → p-a6fea322.entry.js.map} +0 -0
- /package/dist/native/{p-0493fb6d.entry.js.map → p-c2a73a5a.entry.js.map} +0 -0
- /package/dist/native/{p-6a3c1413.entry.js.map → p-c4c11549.entry.js.map} +0 -0
- /package/dist/native/{p-e7dc36d9.entry.js.map → p-ceb8fe8a.entry.js.map} +0 -0
package/dist/collection/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar-shortcuts.logic.test.js","sourceRoot":"","sources":["../../../../../../src/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { describe, it, expect, vi } from 'vitest';\n\n/**\n * Logic tests for the CalendarShortcuts partial\n *\n * These tests validate the calendar shortcuts logic:\n * - Date shortcuts generation\n * - Custom shortcuts validation\n * - Click handling and selections\n * - Conditional display logic\n */\n\ninterface Shortcut {\n label: string;\n dates: Date | { start: Date; end: Date };\n disabled?: boolean;\n}\n\nfunction generateDefaultShortcuts(): Shortcut[] {\n const today = new Date();\n const tomorrow = new Date(today);\n tomorrow.setDate(today.getDate() + 1);\n\n const yesterday = new Date(today);\n yesterday.setDate(today.getDate() - 1);\n\n const thisWeekStart = new Date(today);\n const dayOfWeek = today.getDay();\n const diff = today.getDate() - dayOfWeek + (dayOfWeek === 0 ? -6 : 1);\n thisWeekStart.setDate(diff);\n\n const thisWeekEnd = new Date(thisWeekStart);\n thisWeekEnd.setDate(thisWeekStart.getDate() + 6);\n\n const thisMonthStart = new Date(today.getFullYear(), today.getMonth(), 1);\n const thisMonthEnd = new Date(today.getFullYear(), today.getMonth() + 1, 0);\n\n return [\n { label: 'Today', dates: new Date(today) },\n { label: 'Tomorrow', dates: new Date(tomorrow) },\n { label: 'Yesterday', dates: new Date(yesterday) },\n {\n label: 'This Week',\n dates: { start: new Date(thisWeekStart), end: new Date(thisWeekEnd) },\n },\n {\n label: 'This Month',\n dates: { start: new Date(thisMonthStart), end: new Date(thisMonthEnd) },\n },\n ];\n}\n\nfunction isShortcutDisabled(\n shortcut: Shortcut,\n minDate?: Date,\n maxDate?: Date,\n): boolean {\n if (shortcut.disabled) return true;\n\n if (shortcut.dates instanceof Date) {\n // Single date shortcut\n if (minDate && shortcut.dates < minDate) return true;\n if (maxDate && shortcut.dates > maxDate) return true;\n } else {\n // Range shortcut\n const { start, end } = shortcut.dates;\n if (minDate && end < minDate) return true;\n if (maxDate && start > maxDate) return true;\n }\n\n return false;\n}\n\nfunction shouldShowShortcuts(\n shortcuts: Shortcut[],\n showShortcuts: boolean,\n): boolean {\n return showShortcuts && shortcuts.length > 0;\n}\n\nfunction isValidShortcut(shortcut: unknown): shortcut is Shortcut {\n if (!shortcut || typeof shortcut !== 'object') return false;\n\n const candidate = shortcut as Record<string, unknown>;\n\n if (typeof candidate.label !== 'string' || !candidate.label.trim())\n return false;\n\n if (candidate.dates instanceof Date) {\n return !isNaN(candidate.dates.getTime());\n }\n\n if (\n candidate.dates &&\n typeof candidate.dates === 'object' &&\n candidate.dates !== null\n ) {\n const range = candidate.dates as Record<string, unknown>;\n if (range.start instanceof Date && range.end instanceof Date) {\n return (\n !isNaN(range.start.getTime()) &&\n !isNaN(range.end.getTime()) &&\n range.start <= range.end\n );\n }\n }\n\n return false;\n}\n\nfunction simulateShortcutClick(\n shortcut: Shortcut,\n onShortcutClick?: (shortcut: Shortcut) => void,\n isDisabled = false,\n) {\n if (!isDisabled && onShortcutClick) {\n onShortcutClick(shortcut);\n }\n}\n\nfunction formatShortcutLabel(label: string): string {\n return label.trim();\n}\n\ndescribe('CalendarShortcuts - Logic Tests', () => {\n describe('Default Shortcuts Generation', () => {\n it('should generate standard shortcuts', () => {\n const shortcuts = generateDefaultShortcuts();\n\n expect(shortcuts.length).toBe(5);\n expect(shortcuts.map(s => s.label)).toEqual([\n 'Today',\n 'Tomorrow',\n 'Yesterday',\n 'This Week',\n 'This Month',\n ]);\n });\n\n it('should generate single date shortcuts correctly', () => {\n const shortcuts = generateDefaultShortcuts();\n const singleDateShortcuts = shortcuts.filter(\n s => s.dates instanceof Date,\n );\n\n expect(singleDateShortcuts.length).toBe(3); // Today, Tomorrow, Yesterday\n singleDateShortcuts.forEach(shortcut => {\n expect(shortcut.dates).toBeInstanceOf(Date);\n expect((shortcut.dates as Date).getTime()).not.toBeNaN();\n });\n });\n\n it('should generate range shortcuts correctly', () => {\n const shortcuts = generateDefaultShortcuts();\n const rangeShortcuts = shortcuts.filter(s => !(s.dates instanceof Date));\n\n expect(rangeShortcuts.length).toBe(2); // This Week, This Month\n rangeShortcuts.forEach(shortcut => {\n const range = shortcut.dates as { start: Date; end: Date };\n expect(range.start).toBeInstanceOf(Date);\n expect(range.end).toBeInstanceOf(Date);\n expect(range.start.getTime()).not.toBeNaN();\n expect(range.end.getTime()).not.toBeNaN();\n expect(range.start.getTime()).toBeLessThanOrEqual(range.end.getTime());\n });\n });\n\n it('should generate chronologically correct shortcuts', () => {\n const shortcuts = generateDefaultShortcuts();\n const today = shortcuts.find(s => s.label === 'Today')?.dates as Date;\n const tomorrow = shortcuts.find(s => s.label === 'Tomorrow')\n ?.dates as Date;\n const yesterday = shortcuts.find(s => s.label === 'Yesterday')\n ?.dates as Date;\n\n expect(yesterday.getTime()).toBeLessThan(today.getTime());\n expect(today.getTime()).toBeLessThan(tomorrow.getTime());\n });\n });\n\n describe('Shortcut Validation', () => {\n it('should validate correct single date shortcuts', () => {\n const validShortcut = {\n label: 'Test Date',\n dates: new Date('2024-06-15'),\n };\n\n expect(isValidShortcut(validShortcut)).toBe(true);\n });\n\n it('should validate correct range shortcuts', () => {\n const validRangeShortcut = {\n label: 'Test Range',\n dates: {\n start: new Date('2024-06-01'),\n end: new Date('2024-06-30'),\n },\n };\n\n expect(isValidShortcut(validRangeShortcut)).toBe(true);\n });\n\n it('should reject invalid shortcuts', () => {\n const invalidShortcuts = [\n null,\n undefined,\n {},\n { label: '' },\n { label: 'Test' }, // Missing dates\n { label: 'Test', dates: 'invalid' },\n { label: 'Test', dates: new Date('invalid') },\n {\n label: 'Test',\n dates: { start: new Date('2024-06-30'), end: new Date('2024-06-01') },\n }, // End before start\n {\n label: 'Test',\n dates: { start: 'invalid', end: new Date('2024-06-01') },\n },\n ];\n\n invalidShortcuts.forEach(shortcut => {\n expect(isValidShortcut(shortcut)).toBe(false);\n });\n });\n\n it('should handle edge cases in validation', () => {\n const edgeCases = [\n { label: ' Valid ', dates: new Date() }, // Whitespace in label\n {\n label: 'Same Day Range',\n dates: { start: new Date('2024-06-15'), end: new Date('2024-06-15') },\n }, // Same start and end\n ];\n\n edgeCases.forEach(shortcut => {\n expect(isValidShortcut(shortcut)).toBe(true);\n });\n });\n });\n\n describe('Shortcut Disabled State Logic', () => {\n const testDate = new Date('2024-06-15');\n const rangeShortcut: Shortcut = {\n label: 'Test Range',\n dates: { start: new Date('2024-06-10'), end: new Date('2024-06-20') },\n };\n const singleShortcut: Shortcut = { label: 'Test Single', dates: testDate };\n\n it('should disable shortcuts explicitly marked as disabled', () => {\n const disabledShortcut = { ...singleShortcut, disabled: true };\n expect(isShortcutDisabled(disabledShortcut)).toBe(true);\n });\n\n it('should disable single date shortcuts outside date range', () => {\n const minDate = new Date('2024-06-20');\n const maxDate = new Date('2024-06-10');\n\n expect(isShortcutDisabled(singleShortcut, minDate, maxDate)).toBe(true);\n expect(isShortcutDisabled(singleShortcut, undefined, maxDate)).toBe(true);\n });\n\n it('should disable range shortcuts outside date range', () => {\n const minDate = new Date('2024-06-25');\n const maxDate = new Date('2024-06-05');\n\n expect(isShortcutDisabled(rangeShortcut, minDate)).toBe(true);\n expect(isShortcutDisabled(rangeShortcut, undefined, maxDate)).toBe(true);\n });\n\n it('should enable shortcuts within date range', () => {\n const minDate = new Date('2024-06-01');\n const maxDate = new Date('2024-06-30');\n\n expect(isShortcutDisabled(singleShortcut, minDate, maxDate)).toBe(false);\n expect(isShortcutDisabled(rangeShortcut, minDate, maxDate)).toBe(false);\n });\n\n it('should handle partial range overlaps', () => {\n const minDate = new Date('2024-06-15');\n const maxDate = new Date('2024-06-30');\n\n // Range starts before min but ends after min\n expect(isShortcutDisabled(rangeShortcut, minDate, maxDate)).toBe(false);\n });\n });\n\n describe('Visibility Logic', () => {\n const shortcuts = generateDefaultShortcuts();\n\n it('should show shortcuts when enabled and shortcuts exist', () => {\n expect(shouldShowShortcuts(shortcuts, true)).toBe(true);\n });\n\n it('should hide shortcuts when disabled', () => {\n expect(shouldShowShortcuts(shortcuts, false)).toBe(false);\n });\n\n it('should hide shortcuts when no shortcuts provided', () => {\n expect(shouldShowShortcuts([], true)).toBe(false);\n });\n });\n\n describe('Click Handling Logic', () => {\n const testShortcut: Shortcut = {\n label: 'Test',\n dates: new Date('2024-06-15'),\n };\n\n it('should call onClick when shortcut is clicked and enabled', () => {\n const mockOnClick = vi.fn();\n\n simulateShortcutClick(testShortcut, mockOnClick, false);\n\n expect(mockOnClick).toHaveBeenCalledWith(testShortcut);\n expect(mockOnClick).toHaveBeenCalledTimes(1);\n });\n\n it('should not call onClick when shortcut is disabled', () => {\n const mockOnClick = vi.fn();\n\n simulateShortcutClick(testShortcut, mockOnClick, true);\n\n expect(mockOnClick).not.toHaveBeenCalled();\n });\n\n it('should handle undefined onClick gracefully', () => {\n expect(() => {\n simulateShortcutClick(testShortcut, undefined, false);\n }).not.toThrow();\n });\n\n it('should handle multiple clicks correctly', () => {\n const mockOnClick = vi.fn();\n\n simulateShortcutClick(testShortcut, mockOnClick, false);\n simulateShortcutClick(testShortcut, mockOnClick, false);\n\n expect(mockOnClick).toHaveBeenCalledTimes(2);\n });\n });\n\n describe('Label Formatting Logic', () => {\n it('should format labels correctly', () => {\n expect(formatShortcutLabel('Today')).toBe('Today');\n expect(formatShortcutLabel(' Spaced ')).toBe('Spaced');\n expect(formatShortcutLabel('This Week')).toBe('This Week');\n });\n\n it('should handle empty and whitespace labels', () => {\n expect(formatShortcutLabel('')).toBe('');\n expect(formatShortcutLabel(' ')).toBe('');\n expect(formatShortcutLabel('\\t\\n')).toBe('');\n });\n });\n\n describe('Integration Scenarios', () => {\n it('should handle complete shortcut workflow', () => {\n // Use fixed shortcuts instead of dynamic ones to avoid timing issues\n const fixedShortcuts: Shortcut[] = [\n { label: 'Fixed Date 1', dates: new Date('2024-06-01') },\n { label: 'Fixed Date 2', dates: new Date('2024-06-15') },\n {\n label: 'Fixed Range',\n dates: {\n start: new Date('2024-06-10'),\n end: new Date('2024-06-20'),\n },\n },\n ];\n\n const minDate = new Date('2024-01-01');\n const maxDate = new Date('2024-12-31');\n const mockOnClick = vi.fn();\n\n fixedShortcuts.forEach(shortcut => {\n const isValid = isValidShortcut(shortcut);\n const isDisabled = isShortcutDisabled(shortcut, minDate, maxDate);\n const shouldShow = shouldShowShortcuts(fixedShortcuts, true);\n\n expect(isValid).toBe(true);\n expect(shouldShow).toBe(true);\n\n if (!isDisabled) {\n simulateShortcutClick(shortcut, mockOnClick, isDisabled);\n }\n });\n\n expect(mockOnClick).toHaveBeenCalled();\n });\n\n it('should handle custom shortcuts with mixed types', () => {\n const customShortcuts: Shortcut[] = [\n { label: 'Custom Single', dates: new Date('2024-07-01') },\n {\n label: 'Custom Range',\n dates: { start: new Date('2024-07-01'), end: new Date('2024-07-07') },\n },\n { label: 'Disabled Custom', dates: new Date(), disabled: true },\n ];\n\n customShortcuts.forEach(shortcut => {\n expect(isValidShortcut(shortcut)).toBe(true);\n });\n\n const enabledShortcuts = customShortcuts.filter(\n s => !isShortcutDisabled(s),\n );\n expect(enabledShortcuts.length).toBe(2);\n });\n });\n\n describe('Edge Cases', () => {\n it('should handle shortcuts around date boundaries', () => {\n const yearEndShortcuts: Shortcut[] = [\n { label: 'New Year', dates: new Date('2024-01-01') },\n { label: 'Year End', dates: new Date('2024-12-31') },\n {\n label: 'Year Transition',\n dates: {\n start: new Date('2024-12-30'),\n end: new Date('2025-01-02'),\n },\n },\n ];\n\n yearEndShortcuts.forEach(shortcut => {\n expect(isValidShortcut(shortcut)).toBe(true);\n });\n });\n\n it('should handle leap year dates correctly', () => {\n const leapYearShortcut: Shortcut = {\n label: 'Leap Day',\n dates: new Date('2024-02-29'),\n };\n\n expect(isValidShortcut(leapYearShortcut)).toBe(true);\n });\n\n it('should handle very long shortcut labels', () => {\n const longLabelShortcut: Shortcut = {\n label: 'A'.repeat(100),\n dates: new Date(),\n };\n\n expect(isValidShortcut(longLabelShortcut)).toBe(true);\n expect(formatShortcutLabel(longLabelShortcut.label)).toBe(\n 'A'.repeat(100),\n );\n });\n\n it('should handle timezone edge cases', () => {\n const timezoneShortcut: Shortcut = {\n label: 'Timezone Test',\n dates: new Date('2024-06-15T23:59:59.999Z'),\n };\n\n expect(isValidShortcut(timezoneShortcut)).toBe(true);\n });\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"calendar-shortcuts.logic.test.js","sourceRoot":"","sources":["../../../../../../src/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { describe, it, expect, vi } from 'vitest';\n\n/**\n * Logic tests for the CalendarShortcuts partial\n *\n * These tests validate the calendar shortcuts logic:\n * - Date shortcuts generation\n * - Custom shortcuts validation\n * - Click handling and selections\n * - Conditional display logic\n */\n\ninterface Shortcut {\n label: string;\n dates: Date | { start: Date; end: Date };\n disabled?: boolean;\n}\n\nfunction generateDefaultShortcuts(): Shortcut[] {\n const today = new Date();\n const tomorrow = new Date(today);\n tomorrow.setDate(today.getDate() + 1);\n\n const yesterday = new Date(today);\n yesterday.setDate(today.getDate() - 1);\n\n const thisWeekStart = new Date(today);\n const dayOfWeek = today.getDay();\n const diff = today.getDate() - dayOfWeek + (dayOfWeek === 0 ? -6 : 1);\n thisWeekStart.setDate(diff);\n\n const thisWeekEnd = new Date(thisWeekStart);\n thisWeekEnd.setDate(thisWeekStart.getDate() + 6);\n\n const thisMonthStart = new Date(today.getFullYear(), today.getMonth(), 1);\n const thisMonthEnd = new Date(today.getFullYear(), today.getMonth() + 1, 0);\n\n return [\n { label: 'Today', dates: new Date(today) },\n { label: 'Tomorrow', dates: new Date(tomorrow) },\n { label: 'Yesterday', dates: new Date(yesterday) },\n {\n label: 'This Week',\n dates: { start: new Date(thisWeekStart), end: new Date(thisWeekEnd) },\n },\n {\n label: 'This Month',\n dates: { start: new Date(thisMonthStart), end: new Date(thisMonthEnd) },\n },\n ];\n}\n\nfunction isShortcutDisabled(\n shortcut: Shortcut,\n minDate?: Date,\n maxDate?: Date,\n): boolean {\n if (shortcut.disabled) return true;\n\n if (shortcut.dates instanceof Date) {\n // Single date shortcut\n if (minDate && shortcut.dates < minDate) return true;\n if (maxDate && shortcut.dates > maxDate) return true;\n } else {\n // Range shortcut\n const { start, end } = shortcut.dates;\n if (minDate && end < minDate) return true;\n if (maxDate && start > maxDate) return true;\n }\n\n return false;\n}\n\nfunction shouldShowShortcuts(\n shortcuts: Shortcut[],\n showShortcuts: boolean,\n): boolean {\n return showShortcuts && shortcuts.length > 0;\n}\n\nfunction isValidShortcut(shortcut: unknown): shortcut is Shortcut {\n if (!shortcut || typeof shortcut !== 'object') return false;\n\n const candidate = shortcut as Record<string, unknown>;\n\n if (typeof candidate.label !== 'string' || !candidate.label.trim())\n return false;\n\n if (candidate.dates instanceof Date) {\n return !isNaN(candidate.dates.getTime());\n }\n\n if (\n candidate.dates &&\n typeof candidate.dates === 'object' &&\n candidate.dates !== null\n ) {\n const range = candidate.dates as Record<string, unknown>;\n if (range.start instanceof Date && range.end instanceof Date) {\n return (\n !isNaN(range.start.getTime()) &&\n !isNaN(range.end.getTime()) &&\n range.start <= range.end\n );\n }\n }\n\n return false;\n}\n\nfunction simulateShortcutClick(\n shortcut: Shortcut,\n onShortcutClick?: (shortcut: Shortcut) => void,\n isDisabled = false,\n) {\n if (!isDisabled && onShortcutClick) {\n onShortcutClick(shortcut);\n }\n}\n\nfunction formatShortcutLabel(label: string): string {\n return label.trim();\n}\n\ndescribe('CalendarShortcuts - Logic Tests', () => {\n describe('Default Shortcuts Generation', () => {\n it('should generate standard shortcuts', () => {\n const shortcuts = generateDefaultShortcuts();\n\n expect(shortcuts.length).toBe(5);\n expect(shortcuts.map(s => s.label)).toEqual([\n 'Today',\n 'Tomorrow',\n 'Yesterday',\n 'This Week',\n 'This Month',\n ]);\n });\n\n it('should generate single date shortcuts correctly', () => {\n const shortcuts = generateDefaultShortcuts();\n const singleDateShortcuts = shortcuts.filter(\n s => s.dates instanceof Date,\n );\n\n expect(singleDateShortcuts.length).toBe(3); // Today, Tomorrow, Yesterday\n singleDateShortcuts.forEach(shortcut => {\n expect(shortcut.dates).toBeInstanceOf(Date);\n expect((shortcut.dates as Date).getTime()).not.toBeNaN();\n });\n });\n\n it('should generate range shortcuts correctly', () => {\n const shortcuts = generateDefaultShortcuts();\n const rangeShortcuts = shortcuts.filter(s => !(s.dates instanceof Date));\n\n expect(rangeShortcuts.length).toBe(2); // This Week, This Month\n rangeShortcuts.forEach(shortcut => {\n const range = shortcut.dates as { start: Date; end: Date };\n expect(range.start).toBeInstanceOf(Date);\n expect(range.end).toBeInstanceOf(Date);\n expect(range.start.getTime()).not.toBeNaN();\n expect(range.end.getTime()).not.toBeNaN();\n expect(range.start.getTime()).toBeLessThanOrEqual(range.end.getTime());\n });\n });\n\n it('should generate chronologically correct shortcuts', () => {\n const shortcuts = generateDefaultShortcuts();\n const today = shortcuts.find(s => s.label === 'Today')?.dates as Date;\n const tomorrow = shortcuts.find(s => s.label === 'Tomorrow')\n ?.dates as Date;\n const yesterday = shortcuts.find(s => s.label === 'Yesterday')\n ?.dates as Date;\n\n expect(yesterday.getTime()).toBeLessThan(today.getTime());\n expect(today.getTime()).toBeLessThan(tomorrow.getTime());\n });\n });\n\n describe('Shortcut Validation', () => {\n it('should validate correct single date shortcuts', () => {\n const validShortcut = {\n label: 'Test Date',\n dates: new Date('2024-06-15'),\n };\n\n expect(isValidShortcut(validShortcut)).toBe(true);\n });\n\n it('should validate correct range shortcuts', () => {\n const validRangeShortcut = {\n label: 'Test Range',\n dates: {\n start: new Date('2024-06-01'),\n end: new Date('2024-06-30'),\n },\n };\n\n expect(isValidShortcut(validRangeShortcut)).toBe(true);\n });\n\n it('should reject invalid shortcuts', () => {\n const invalidShortcuts = [\n null,\n undefined,\n {},\n { label: '' },\n { label: 'Test' }, // Missing dates\n { label: 'Test', dates: 'invalid' },\n { label: 'Test', dates: new Date('invalid') },\n {\n label: 'Test',\n dates: { start: new Date('2024-06-30'), end: new Date('2024-06-01') },\n }, // End before start\n {\n label: 'Test',\n dates: { start: 'invalid', end: new Date('2024-06-01') },\n },\n ];\n\n invalidShortcuts.forEach(shortcut => {\n expect(isValidShortcut(shortcut)).toBe(false);\n });\n });\n\n it('should handle edge cases in validation', () => {\n const edgeCases = [\n { label: ' Valid ', dates: new Date() }, // Whitespace in label\n {\n label: 'Same Day Range',\n dates: { start: new Date('2024-06-15'), end: new Date('2024-06-15') },\n }, // Same start and end\n ];\n\n edgeCases.forEach(shortcut => {\n expect(isValidShortcut(shortcut)).toBe(true);\n });\n });\n });\n\n describe('Shortcut Disabled State Logic', () => {\n const testDate = new Date('2024-06-15');\n const rangeShortcut: Shortcut = {\n label: 'Test Range',\n dates: { start: new Date('2024-06-10'), end: new Date('2024-06-20') },\n };\n const singleShortcut: Shortcut = { label: 'Test Single', dates: testDate };\n\n it('should disable shortcuts explicitly marked as disabled', () => {\n const disabledShortcut = { ...singleShortcut, disabled: true };\n expect(isShortcutDisabled(disabledShortcut)).toBe(true);\n });\n\n it('should disable single date shortcuts outside date range', () => {\n const minDate = new Date('2024-06-20');\n const maxDate = new Date('2024-06-10');\n\n expect(isShortcutDisabled(singleShortcut, minDate, maxDate)).toBe(true);\n expect(isShortcutDisabled(singleShortcut, undefined, maxDate)).toBe(true);\n });\n\n it('should disable range shortcuts outside date range', () => {\n const minDate = new Date('2024-06-25');\n const maxDate = new Date('2024-06-05');\n\n expect(isShortcutDisabled(rangeShortcut, minDate)).toBe(true);\n expect(isShortcutDisabled(rangeShortcut, undefined, maxDate)).toBe(true);\n });\n\n it('should enable shortcuts within date range', () => {\n const minDate = new Date('2024-06-01');\n const maxDate = new Date('2024-06-30');\n\n expect(isShortcutDisabled(singleShortcut, minDate, maxDate)).toBe(false);\n expect(isShortcutDisabled(rangeShortcut, minDate, maxDate)).toBe(false);\n });\n\n it('should handle partial range overlaps', () => {\n const minDate = new Date('2024-06-15');\n const maxDate = new Date('2024-06-30');\n\n // Range starts before min but ends after min\n expect(isShortcutDisabled(rangeShortcut, minDate, maxDate)).toBe(false);\n });\n });\n\n describe('Visibility Logic', () => {\n const shortcuts = generateDefaultShortcuts();\n\n it('should show shortcuts when enabled and shortcuts exist', () => {\n expect(shouldShowShortcuts(shortcuts, true)).toBe(true);\n });\n\n it('should hide shortcuts when disabled', () => {\n expect(shouldShowShortcuts(shortcuts, false)).toBe(false);\n });\n\n it('should hide shortcuts when no shortcuts provided', () => {\n expect(shouldShowShortcuts([], true)).toBe(false);\n });\n });\n\n describe('Click Handling Logic', () => {\n const testShortcut: Shortcut = {\n label: 'Test',\n dates: new Date('2024-06-15'),\n };\n\n it('should call onClick when shortcut is clicked and enabled', () => {\n const mockOnClick = vi.fn();\n\n simulateShortcutClick(testShortcut, mockOnClick, false);\n\n expect(mockOnClick).toHaveBeenCalledWith(testShortcut);\n expect(mockOnClick).toHaveBeenCalledTimes(1);\n });\n\n it('should not call onClick when shortcut is disabled', () => {\n const mockOnClick = vi.fn();\n\n simulateShortcutClick(testShortcut, mockOnClick, true);\n\n expect(mockOnClick).not.toHaveBeenCalled();\n });\n\n it('should handle undefined onClick gracefully', () => {\n expect(() => {\n simulateShortcutClick(testShortcut, undefined, false);\n }).not.toThrow();\n });\n\n it('should handle multiple clicks correctly', () => {\n const mockOnClick = vi.fn();\n\n simulateShortcutClick(testShortcut, mockOnClick, false);\n simulateShortcutClick(testShortcut, mockOnClick, false);\n\n expect(mockOnClick).toHaveBeenCalledTimes(2);\n });\n });\n\n describe('Label Formatting Logic', () => {\n it('should format labels correctly', () => {\n expect(formatShortcutLabel('Today')).toBe('Today');\n expect(formatShortcutLabel(' Spaced ')).toBe('Spaced');\n expect(formatShortcutLabel('This Week')).toBe('This Week');\n });\n\n it('should handle empty and whitespace labels', () => {\n expect(formatShortcutLabel('')).toBe('');\n expect(formatShortcutLabel(' ')).toBe('');\n expect(formatShortcutLabel('\\t\\n')).toBe('');\n });\n });\n\n describe('Integration Scenarios', () => {\n it('should handle complete shortcut workflow', () => {\n // Use fixed shortcuts instead of dynamic ones to avoid timing issues\n const fixedShortcuts: Shortcut[] = [\n { label: 'Fixed Date 1', dates: new Date('2024-06-01') },\n { label: 'Fixed Date 2', dates: new Date('2024-06-15') },\n {\n label: 'Fixed Range',\n dates: {\n start: new Date('2024-06-10'),\n end: new Date('2024-06-20'),\n },\n },\n ];\n\n const minDate = new Date('2024-01-01');\n const maxDate = new Date('2024-12-31');\n const mockOnClick = vi.fn();\n\n fixedShortcuts.forEach(shortcut => {\n const isValid = isValidShortcut(shortcut);\n const isDisabled = isShortcutDisabled(shortcut, minDate, maxDate);\n const shouldShow = shouldShowShortcuts(fixedShortcuts, true);\n\n expect(isValid).toBe(true);\n expect(shouldShow).toBe(true);\n\n if (!isDisabled) {\n simulateShortcutClick(shortcut, mockOnClick, isDisabled);\n }\n });\n\n expect(mockOnClick).toHaveBeenCalled();\n });\n\n it('should handle custom shortcuts with mixed types', () => {\n const customShortcuts: Shortcut[] = [\n { label: 'Custom Single', dates: new Date('2024-07-01') },\n {\n label: 'Custom Range',\n dates: { start: new Date('2024-07-01'), end: new Date('2024-07-07') },\n },\n { label: 'Disabled Custom', dates: new Date(), disabled: true },\n ];\n\n customShortcuts.forEach(shortcut => {\n expect(isValidShortcut(shortcut)).toBe(true);\n });\n\n const enabledShortcuts = customShortcuts.filter(\n s => !isShortcutDisabled(s),\n );\n expect(enabledShortcuts.length).toBe(2);\n });\n });\n\n describe('Edge Cases', () => {\n it('should handle shortcuts around date boundaries', () => {\n const yearEndShortcuts: Shortcut[] = [\n { label: 'New Year', dates: new Date('2024-01-01') },\n { label: 'Year End', dates: new Date('2024-12-31') },\n {\n label: 'Year Transition',\n dates: {\n start: new Date('2024-12-30'),\n end: new Date('2025-01-02'),\n },\n },\n ];\n\n yearEndShortcuts.forEach(shortcut => {\n expect(isValidShortcut(shortcut)).toBe(true);\n });\n });\n\n it('should handle leap year dates correctly', () => {\n const leapYearShortcut: Shortcut = {\n label: 'Leap Day',\n dates: new Date('2024-02-29'),\n };\n\n expect(isValidShortcut(leapYearShortcut)).toBe(true);\n });\n\n it('should handle very long shortcut labels', () => {\n const longLabelShortcut: Shortcut = {\n label: 'A'.repeat(100),\n dates: new Date(),\n };\n\n expect(isValidShortcut(longLabelShortcut)).toBe(true);\n expect(formatShortcutLabel(longLabelShortcut.label)).toBe(\n 'A'.repeat(100),\n );\n });\n\n it('should handle timezone edge cases', () => {\n const timezoneShortcut: Shortcut = {\n label: 'Timezone Test',\n dates: new Date('2024-06-15T23:59:59.999Z'),\n };\n\n expect(isValidShortcut(timezoneShortcut)).toBe(true);\n });\n });\n});\n"]}
|
|
@@ -241,7 +241,16 @@ describe('DayCell - Logic Tests', () => {
|
|
|
241
241
|
{ isInRange: true, isStart: true, isCurrentMonth: false },
|
|
242
242
|
];
|
|
243
243
|
testCases.forEach(testCase => {
|
|
244
|
-
const classes = generateDayCellClasses(
|
|
244
|
+
const classes = generateDayCellClasses({
|
|
245
|
+
isSelected: false,
|
|
246
|
+
isStart: false,
|
|
247
|
+
isEnd: false,
|
|
248
|
+
isInRange: false,
|
|
249
|
+
isDisabled: false,
|
|
250
|
+
isCurrentMonth: true,
|
|
251
|
+
isToday: false,
|
|
252
|
+
...testCase,
|
|
253
|
+
});
|
|
245
254
|
expect(classes).toContain('day');
|
|
246
255
|
});
|
|
247
256
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"day-cell.logic.test.js","sourceRoot":"","sources":["../../../../../../src/components/nv-calendar/test/partials/day-cell.logic.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { describe, it, expect, vi } from 'vitest';\n\n/**\n * Logic tests for the DayCell partial\n *\n * These tests validate business logic without directly testing JSX.\n * They focus on testable aspects: class generation,\n * conditional logic, and event handling.\n */\n\n/**\n * Utility function that replicates the class generation logic\n * of the DayCell partial to allow unit testing\n * @param {object} props - DayCell state configuration\n * @param {boolean} props.isSelected - If the day is selected\n * @param {boolean} props.isStart - If the day is the start of a range\n * @param {boolean} props.isEnd - If the day is the end of a range\n * @param {boolean} props.isInRange - If the day is in a selected range\n * @param {boolean} props.isDisabled - If the day is disabled\n * @param {boolean} props.isCurrentMonth - If the day belongs to the current month\n * @param {boolean} props.isToday - If the day is today\n * @returns {string} String containing generated CSS classes\n */\nfunction generateDayCellClasses(props: {\n isSelected: boolean;\n isStart: boolean;\n isEnd: boolean;\n isInRange: boolean;\n isDisabled: boolean;\n isCurrentMonth: boolean;\n isToday: boolean;\n}) {\n const {\n isSelected,\n isStart,\n isEnd,\n isInRange,\n isDisabled,\n isCurrentMonth,\n isToday,\n } = props;\n\n return [\n 'day',\n isSelected ? 'selected' : '',\n isStart ? 'range-start' : '',\n isEnd ? 'range-end' : '',\n isInRange ? 'in-range' : '',\n isDisabled ? 'disabled' : '',\n !isCurrentMonth ? 'outside-month' : '',\n isToday ? 'is-today' : '',\n ]\n .filter(Boolean)\n .join(' ');\n}\n\n/**\n * Utility function that replicates the click handling logic\n * of the DayCell partial\n * @param {boolean} isDisabled - If the day is disabled\n * @param {((date: Date) => void) | undefined} onClick - Callback function to call on click\n * @param {Date} date - Date to pass to the callback\n */\nfunction simulateHandleClick(\n isDisabled: boolean,\n onClick: ((date: Date) => void) | undefined,\n date: Date,\n) {\n if (!isDisabled && onClick) {\n onClick(date);\n }\n}\n\ndescribe('DayCell - Logic Tests', () => {\n describe('CSS Classes Generation Logic', () => {\n it('should generate basic day class', () => {\n const classes = generateDayCellClasses({\n isSelected: false,\n isStart: false,\n isEnd: false,\n isInRange: false,\n isDisabled: false,\n isCurrentMonth: true,\n isToday: false,\n });\n\n expect(classes).toBe('day');\n });\n\n it('should include selected class when isSelected is true', () => {\n const classes = generateDayCellClasses({\n isSelected: true,\n isStart: false,\n isEnd: false,\n isInRange: false,\n isDisabled: false,\n isCurrentMonth: true,\n isToday: false,\n });\n\n expect(classes).toContain('selected');\n expect(classes).toContain('day');\n });\n\n it('should include range classes for range selection', () => {\n const startClasses = generateDayCellClasses({\n isSelected: false,\n isStart: true,\n isEnd: false,\n isInRange: true,\n isDisabled: false,\n isCurrentMonth: true,\n isToday: false,\n });\n\n expect(startClasses).toContain('range-start');\n expect(startClasses).toContain('in-range');\n expect(startClasses).not.toContain('range-end');\n\n const endClasses = generateDayCellClasses({\n isSelected: false,\n isStart: false,\n isEnd: true,\n isInRange: true,\n isDisabled: false,\n isCurrentMonth: true,\n isToday: false,\n });\n\n expect(endClasses).toContain('range-end');\n expect(endClasses).toContain('in-range');\n expect(endClasses).not.toContain('range-start');\n });\n\n it('should include disabled class when isDisabled is true', () => {\n const classes = generateDayCellClasses({\n isSelected: false,\n isStart: false,\n isEnd: false,\n isInRange: false,\n isDisabled: true,\n isCurrentMonth: true,\n isToday: false,\n });\n\n expect(classes).toContain('disabled');\n });\n\n it('should include outside-month class when not current month', () => {\n const classes = generateDayCellClasses({\n isSelected: false,\n isStart: false,\n isEnd: false,\n isInRange: false,\n isDisabled: false,\n isCurrentMonth: false,\n isToday: false,\n });\n\n expect(classes).toContain('outside-month');\n });\n\n it('should include is-today class when isToday is true', () => {\n const classes = generateDayCellClasses({\n isSelected: false,\n isStart: false,\n isEnd: false,\n isInRange: false,\n isDisabled: false,\n isCurrentMonth: true,\n isToday: true,\n });\n\n expect(classes).toContain('is-today');\n });\n\n it('should combine multiple classes correctly', () => {\n const classes = generateDayCellClasses({\n isSelected: true,\n isStart: false,\n isEnd: false,\n isInRange: false,\n isDisabled: false,\n isCurrentMonth: true,\n isToday: true,\n });\n\n const classList = classes.split(' ');\n expect(classList).toContain('day');\n expect(classList).toContain('selected');\n expect(classList).toContain('is-today');\n expect(classList).not.toContain('disabled');\n expect(classList).not.toContain('outside-month');\n });\n\n it('should handle all states enabled simultaneously', () => {\n const classes = generateDayCellClasses({\n isSelected: true,\n isStart: true,\n isEnd: true,\n isInRange: true,\n isDisabled: true,\n isCurrentMonth: false,\n isToday: true,\n });\n\n const classList = classes.split(' ');\n expect(classList).toContain('day');\n expect(classList).toContain('selected');\n expect(classList).toContain('range-start');\n expect(classList).toContain('range-end');\n expect(classList).toContain('in-range');\n expect(classList).toContain('disabled');\n expect(classList).toContain('outside-month');\n expect(classList).toContain('is-today');\n });\n });\n\n describe('Click Handler Logic', () => {\n it('should call onClick when not disabled and onClick is provided', () => {\n const mockOnClick = vi.fn();\n const testDate = new Date('2024-01-15');\n\n simulateHandleClick(false, mockOnClick, testDate);\n\n expect(mockOnClick).toHaveBeenCalledWith(testDate);\n expect(mockOnClick).toHaveBeenCalledTimes(1);\n });\n\n it('should not call onClick when disabled', () => {\n const mockOnClick = vi.fn();\n const testDate = new Date('2024-01-15');\n\n simulateHandleClick(true, mockOnClick, testDate);\n\n expect(mockOnClick).not.toHaveBeenCalled();\n });\n\n it('should not call onClick when onClick is undefined', () => {\n const testDate = new Date('2024-01-15');\n\n // Should not throw error\n expect(() => {\n simulateHandleClick(false, undefined, testDate);\n }).not.toThrow();\n });\n\n it('should handle multiple clicks correctly', () => {\n const mockOnClick = vi.fn();\n const testDate = new Date('2024-01-15');\n\n simulateHandleClick(false, mockOnClick, testDate);\n simulateHandleClick(false, mockOnClick, testDate);\n simulateHandleClick(false, mockOnClick, testDate);\n\n expect(mockOnClick).toHaveBeenCalledTimes(3);\n expect(mockOnClick).toHaveBeenCalledWith(testDate);\n });\n });\n\n describe('Edge Cases and Validation', () => {\n it('should handle all boolean combinations without errors', () => {\n // Test all possible combinations of boolean flags\n const booleanCombinations = [\n [false, false, false, false, false, false, false],\n [true, false, false, false, false, false, false],\n [false, true, false, false, false, false, false],\n [false, false, true, false, false, false, false],\n [false, false, false, true, false, false, false],\n [false, false, false, false, true, false, false],\n [false, false, false, false, false, true, false],\n [false, false, false, false, false, false, true],\n [true, true, true, true, true, true, true],\n ];\n\n booleanCombinations.forEach(\n ([\n isSelected,\n isStart,\n isEnd,\n isInRange,\n isDisabled,\n isCurrentMonth,\n isToday,\n ]) => {\n expect(() => {\n generateDayCellClasses({\n isSelected,\n isStart,\n isEnd,\n isInRange,\n isDisabled,\n isCurrentMonth,\n isToday,\n });\n }).not.toThrow();\n },\n );\n });\n\n it('should always include base day class', () => {\n // Test with different combinations that the 'day' class is always present\n const testCases = [\n { isSelected: true, isToday: true, isDisabled: false },\n { isSelected: false, isToday: false, isDisabled: true },\n { isInRange: true, isStart: true, isCurrentMonth: false },\n ];\n\n testCases.forEach(testCase => {\n const classes = generateDayCellClasses({\n isSelected: false,\n isStart: false,\n isEnd: false,\n isInRange: false,\n isDisabled: false,\n isCurrentMonth: true,\n isToday: false,\n ...testCase,\n });\n\n expect(classes).toContain('day');\n });\n });\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"day-cell.logic.test.js","sourceRoot":"","sources":["../../../../../../src/components/nv-calendar/test/partials/day-cell.logic.test.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable jsdoc/require-jsdoc */\nimport { describe, it, expect, vi } from 'vitest';\n\n/**\n * Logic tests for the DayCell partial\n *\n * These tests validate business logic without directly testing JSX.\n * They focus on testable aspects: class generation,\n * conditional logic, and event handling.\n */\n\n/**\n * Utility function that replicates the class generation logic\n * of the DayCell partial to allow unit testing\n * @param {object} props - DayCell state configuration\n * @param {boolean} props.isSelected - If the day is selected\n * @param {boolean} props.isStart - If the day is the start of a range\n * @param {boolean} props.isEnd - If the day is the end of a range\n * @param {boolean} props.isInRange - If the day is in a selected range\n * @param {boolean} props.isDisabled - If the day is disabled\n * @param {boolean} props.isCurrentMonth - If the day belongs to the current month\n * @param {boolean} props.isToday - If the day is today\n * @returns {string} String containing generated CSS classes\n */\nfunction generateDayCellClasses(props: {\n isSelected: boolean;\n isStart: boolean;\n isEnd: boolean;\n isInRange: boolean;\n isDisabled: boolean;\n isCurrentMonth: boolean;\n isToday: boolean;\n}) {\n const {\n isSelected,\n isStart,\n isEnd,\n isInRange,\n isDisabled,\n isCurrentMonth,\n isToday,\n } = props;\n\n return [\n 'day',\n isSelected ? 'selected' : '',\n isStart ? 'range-start' : '',\n isEnd ? 'range-end' : '',\n isInRange ? 'in-range' : '',\n isDisabled ? 'disabled' : '',\n !isCurrentMonth ? 'outside-month' : '',\n isToday ? 'is-today' : '',\n ]\n .filter(Boolean)\n .join(' ');\n}\n\n/**\n * Utility function that replicates the click handling logic\n * of the DayCell partial\n * @param {boolean} isDisabled - If the day is disabled\n * @param {((date: Date) => void) | undefined} onClick - Callback function to call on click\n * @param {Date} date - Date to pass to the callback\n */\nfunction simulateHandleClick(\n isDisabled: boolean,\n onClick: ((date: Date) => void) | undefined,\n date: Date,\n) {\n if (!isDisabled && onClick) {\n onClick(date);\n }\n}\n\ndescribe('DayCell - Logic Tests', () => {\n describe('CSS Classes Generation Logic', () => {\n it('should generate basic day class', () => {\n const classes = generateDayCellClasses({\n isSelected: false,\n isStart: false,\n isEnd: false,\n isInRange: false,\n isDisabled: false,\n isCurrentMonth: true,\n isToday: false,\n });\n\n expect(classes).toBe('day');\n });\n\n it('should include selected class when isSelected is true', () => {\n const classes = generateDayCellClasses({\n isSelected: true,\n isStart: false,\n isEnd: false,\n isInRange: false,\n isDisabled: false,\n isCurrentMonth: true,\n isToday: false,\n });\n\n expect(classes).toContain('selected');\n expect(classes).toContain('day');\n });\n\n it('should include range classes for range selection', () => {\n const startClasses = generateDayCellClasses({\n isSelected: false,\n isStart: true,\n isEnd: false,\n isInRange: true,\n isDisabled: false,\n isCurrentMonth: true,\n isToday: false,\n });\n\n expect(startClasses).toContain('range-start');\n expect(startClasses).toContain('in-range');\n expect(startClasses).not.toContain('range-end');\n\n const endClasses = generateDayCellClasses({\n isSelected: false,\n isStart: false,\n isEnd: true,\n isInRange: true,\n isDisabled: false,\n isCurrentMonth: true,\n isToday: false,\n });\n\n expect(endClasses).toContain('range-end');\n expect(endClasses).toContain('in-range');\n expect(endClasses).not.toContain('range-start');\n });\n\n it('should include disabled class when isDisabled is true', () => {\n const classes = generateDayCellClasses({\n isSelected: false,\n isStart: false,\n isEnd: false,\n isInRange: false,\n isDisabled: true,\n isCurrentMonth: true,\n isToday: false,\n });\n\n expect(classes).toContain('disabled');\n });\n\n it('should include outside-month class when not current month', () => {\n const classes = generateDayCellClasses({\n isSelected: false,\n isStart: false,\n isEnd: false,\n isInRange: false,\n isDisabled: false,\n isCurrentMonth: false,\n isToday: false,\n });\n\n expect(classes).toContain('outside-month');\n });\n\n it('should include is-today class when isToday is true', () => {\n const classes = generateDayCellClasses({\n isSelected: false,\n isStart: false,\n isEnd: false,\n isInRange: false,\n isDisabled: false,\n isCurrentMonth: true,\n isToday: true,\n });\n\n expect(classes).toContain('is-today');\n });\n\n it('should combine multiple classes correctly', () => {\n const classes = generateDayCellClasses({\n isSelected: true,\n isStart: false,\n isEnd: false,\n isInRange: false,\n isDisabled: false,\n isCurrentMonth: true,\n isToday: true,\n });\n\n const classList = classes.split(' ');\n expect(classList).toContain('day');\n expect(classList).toContain('selected');\n expect(classList).toContain('is-today');\n expect(classList).not.toContain('disabled');\n expect(classList).not.toContain('outside-month');\n });\n\n it('should handle all states enabled simultaneously', () => {\n const classes = generateDayCellClasses({\n isSelected: true,\n isStart: true,\n isEnd: true,\n isInRange: true,\n isDisabled: true,\n isCurrentMonth: false,\n isToday: true,\n });\n\n const classList = classes.split(' ');\n expect(classList).toContain('day');\n expect(classList).toContain('selected');\n expect(classList).toContain('range-start');\n expect(classList).toContain('range-end');\n expect(classList).toContain('in-range');\n expect(classList).toContain('disabled');\n expect(classList).toContain('outside-month');\n expect(classList).toContain('is-today');\n });\n });\n\n describe('Click Handler Logic', () => {\n it('should call onClick when not disabled and onClick is provided', () => {\n const mockOnClick = vi.fn();\n const testDate = new Date('2024-01-15');\n\n simulateHandleClick(false, mockOnClick, testDate);\n\n expect(mockOnClick).toHaveBeenCalledWith(testDate);\n expect(mockOnClick).toHaveBeenCalledTimes(1);\n });\n\n it('should not call onClick when disabled', () => {\n const mockOnClick = vi.fn();\n const testDate = new Date('2024-01-15');\n\n simulateHandleClick(true, mockOnClick, testDate);\n\n expect(mockOnClick).not.toHaveBeenCalled();\n });\n\n it('should not call onClick when onClick is undefined', () => {\n const testDate = new Date('2024-01-15');\n\n // Should not throw error\n expect(() => {\n simulateHandleClick(false, undefined, testDate);\n }).not.toThrow();\n });\n\n it('should handle multiple clicks correctly', () => {\n const mockOnClick = vi.fn();\n const testDate = new Date('2024-01-15');\n\n simulateHandleClick(false, mockOnClick, testDate);\n simulateHandleClick(false, mockOnClick, testDate);\n simulateHandleClick(false, mockOnClick, testDate);\n\n expect(mockOnClick).toHaveBeenCalledTimes(3);\n expect(mockOnClick).toHaveBeenCalledWith(testDate);\n });\n });\n\n describe('Edge Cases and Validation', () => {\n it('should handle all boolean combinations without errors', () => {\n // Test all possible combinations of boolean flags\n const booleanCombinations = [\n [false, false, false, false, false, false, false],\n [true, false, false, false, false, false, false],\n [false, true, false, false, false, false, false],\n [false, false, true, false, false, false, false],\n [false, false, false, true, false, false, false],\n [false, false, false, false, true, false, false],\n [false, false, false, false, false, true, false],\n [false, false, false, false, false, false, true],\n [true, true, true, true, true, true, true],\n ];\n\n booleanCombinations.forEach(\n ([\n isSelected,\n isStart,\n isEnd,\n isInRange,\n isDisabled,\n isCurrentMonth,\n isToday,\n ]) => {\n expect(() => {\n generateDayCellClasses({\n isSelected,\n isStart,\n isEnd,\n isInRange,\n isDisabled,\n isCurrentMonth,\n isToday,\n });\n }).not.toThrow();\n },\n );\n });\n\n it('should always include base day class', () => {\n // Test with different combinations that the 'day' class is always present\n const testCases = [\n { isSelected: true, isToday: true, isDisabled: false },\n { isSelected: false, isToday: false, isDisabled: true },\n { isInRange: true, isStart: true, isCurrentMonth: false },\n ];\n\n testCases.forEach(testCase => {\n const classes = generateDayCellClasses({\n isSelected: false,\n isStart: false,\n isEnd: false,\n isInRange: false,\n isDisabled: false,\n isCurrentMonth: true,\n isToday: false,\n ...testCase,\n });\n\n expect(classes).toContain('day');\n });\n });\n });\n});\n"]}
|
|
@@ -4,14 +4,22 @@ const NvColDocs = {
|
|
|
4
4
|
component: 'nv-col',
|
|
5
5
|
subcomponents: ['nv-row'],
|
|
6
6
|
stories: [
|
|
7
|
+
// Default
|
|
7
8
|
{
|
|
8
9
|
name: 'Default',
|
|
9
10
|
template: (h("nv-row", null, h("nv-col", { "data-storybook-args": true }, "Child Content"))),
|
|
10
11
|
},
|
|
12
|
+
// size
|
|
11
13
|
{
|
|
12
14
|
name: nameof(x => x.size),
|
|
13
15
|
template: (h("nv-row", null, h("nv-col", { "data-storybook-args": true, size: 3 }, "Col size 3"), h("nv-col", { "data-storybook-args": true, size: 6 }, "Col size 6"), h("nv-col", { "data-storybook-args": true, size: 3 }, "Col size 3"))),
|
|
14
16
|
},
|
|
17
|
+
// SlotDefault
|
|
18
|
+
{
|
|
19
|
+
name: 'SlotDefault',
|
|
20
|
+
description: 'The column content.',
|
|
21
|
+
template: (h("nv-row", null, h("nv-col", { "data-storybook-args": true }, h("div", null, "Custom column content")))),
|
|
22
|
+
},
|
|
15
23
|
],
|
|
16
24
|
};
|
|
17
25
|
export default NvColDocs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nv-col.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-col/nv-col.docs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAGlC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,MAAM,SAAS,GAA+B;IAC5C,SAAS,EAAE,QAAQ;IACnB,aAAa,EAAE,CAAC,QAAQ,CAAC;IACzB,OAAO,EAAE;QACP;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,CACR;gBACE,6DAAkD,CAC3C,CACV;SACF;QACD;YACE,IAAI,EAAE,MAAM,CAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3C,QAAQ,EAAE,CACR;gBACE,2CAA4B,IAAI,EAAE,CAAC,iBAE1B;gBACT,2CAA4B,IAAI,EAAE,CAAC,iBAE1B;gBACT,2CAA4B,IAAI,EAAE,CAAC,iBAE1B,CACF,CACV;SACF;KACF;CACF,CAAC;AAEF,eAAe,SAAS,CAAC","sourcesContent":["import { h } from '@stencil/core';\nimport type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\nimport { nameof } from '../../utils/class.utils';\n\nconst NvColDocs: NovaDocs<Components.NvCol> = {\n component: 'nv-col',\n subcomponents: ['nv-row'],\n stories: [\n {\n name: 'Default',\n template: (\n <nv-row>\n <nv-col data-storybook-args>Child Content</nv-col>\n </nv-row>\n ),\n },\n {\n name: nameof<Components.NvCol>(x => x.size),\n template: (\n <nv-row>\n <nv-col data-storybook-args size={3}>\n Col size 3\n </nv-col>\n <nv-col data-storybook-args size={6}>\n Col size 6\n </nv-col>\n <nv-col data-storybook-args size={3}>\n Col size 3\n </nv-col>\n </nv-row>\n ),\n },\n ],\n};\n\nexport default NvColDocs;\n"]}
|
|
1
|
+
{"version":3,"file":"nv-col.docs.js","sourceRoot":"","sources":["../../../../src/components/nv-col/nv-col.docs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAGlC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,MAAM,SAAS,GAA+B;IAC5C,SAAS,EAAE,QAAQ;IACnB,aAAa,EAAE,CAAC,QAAQ,CAAC;IACzB,OAAO,EAAE;QACP,UAAU;QACV;YACE,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,CACR;gBACE,6DAAkD,CAC3C,CACV;SACF;QACD,OAAO;QACP;YACE,IAAI,EAAE,MAAM,CAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3C,QAAQ,EAAE,CACR;gBACE,2CAA4B,IAAI,EAAE,CAAC,iBAE1B;gBACT,2CAA4B,IAAI,EAAE,CAAC,iBAE1B;gBACT,2CAA4B,IAAI,EAAE,CAAC,iBAE1B,CACF,CACV;SACF;QACD,cAAc;QACd;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,qBAAqB;YAClC,QAAQ,EAAE,CACR;gBACE;oBACE,uCAAgC,CACzB,CACF,CACV;SACF;KACF;CACF,CAAC;AAEF,eAAe,SAAS,CAAC","sourcesContent":["import { h } from '@stencil/core';\nimport type { NovaDocs } from '../../nova-docs';\nimport { Components } from '../../components';\nimport { nameof } from '../../utils/class.utils';\n\nconst NvColDocs: NovaDocs<Components.NvCol> = {\n component: 'nv-col',\n subcomponents: ['nv-row'],\n stories: [\n // Default\n {\n name: 'Default',\n template: (\n <nv-row>\n <nv-col data-storybook-args>Child Content</nv-col>\n </nv-row>\n ),\n },\n // size\n {\n name: nameof<Components.NvCol>(x => x.size),\n template: (\n <nv-row>\n <nv-col data-storybook-args size={3}>\n Col size 3\n </nv-col>\n <nv-col data-storybook-args size={6}>\n Col size 6\n </nv-col>\n <nv-col data-storybook-args size={3}>\n Col size 3\n </nv-col>\n </nv-row>\n ),\n },\n // SlotDefault\n {\n name: 'SlotDefault',\n description: 'The column content.',\n template: (\n <nv-row>\n <nv-col data-storybook-args>\n <div>Custom column content</div>\n </nv-col>\n </nv-row>\n ),\n },\n ],\n};\n\nexport default NvColDocs;\n"]}
|