@nova-design-system/nova-webcomponents 3.1.0 → 3.3.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/{index-9bda5507.js → index-c56424e5.js} +34 -186
- package/dist/cjs/index-c56424e5.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -0
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/native.cjs.js +2 -23
- package/dist/cjs/native.cjs.js.map +1 -1
- package/dist/cjs/nv-alert.cjs.entry.js +1 -1
- package/dist/cjs/nv-avatar.cjs.entry.js +1 -1
- package/dist/cjs/nv-badge_2.cjs.entry.js +1 -1
- package/dist/cjs/nv-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/nv-breadcrumbs.cjs.entry.js +1 -1
- package/dist/cjs/nv-button.cjs.entry.js +1 -1
- package/dist/cjs/nv-calendar.cjs.entry.js +384 -172
- package/dist/cjs/nv-calendar.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-col.cjs.entry.js +1 -1
- package/dist/cjs/nv-datagrid.cjs.entry.js +95 -103
- package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-datagridcolumn.cjs.entry.js +2 -2
- package/dist/cjs/nv-datagridcolumn.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-dialog.cjs.entry.js +1 -1
- package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +1 -1
- package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +1 -1
- package/dist/cjs/nv-fielddate.cjs.entry.js +45 -11
- package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddaterange.cjs.entry.js +128 -42
- package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddropdown.cjs.entry.js +84 -60
- package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +116 -104
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldnumber.cjs.entry.js +2 -2
- package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldpassword.cjs.entry.js +2 -2
- package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldradio.cjs.entry.js +1 -1
- package/dist/cjs/nv-fieldselect.cjs.entry.js +2 -2
- package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldslider.cjs.entry.js +668 -0
- package/dist/cjs/nv-fieldslider.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-fieldtext.cjs.entry.js +5 -5
- package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js +5 -5
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldtime.cjs.entry.js +11 -11
- package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-icon.cjs.entry.js +3 -3
- package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-iconbutton_2.cjs.entry.js +3 -3
- package/dist/cjs/nv-menu.cjs.entry.js +2 -2
- package/dist/cjs/nv-menuitem.cjs.entry.js +2 -2
- package/dist/cjs/nv-popover.cjs.entry.js +2 -2
- package/dist/cjs/nv-row.cjs.entry.js +2 -2
- package/dist/cjs/nv-stack.cjs.entry.js +2 -2
- package/dist/cjs/nv-table.cjs.entry.js +3 -3
- package/dist/cjs/nv-tablecolumn.cjs.entry.js +1 -1
- package/dist/cjs/nv-toggle.cjs.entry.js +3 -3
- package/dist/cjs/nv-tooltip.cjs.entry.js +3 -3
- package/dist/cjs/nv-tooltip.cjs.entry.js.map +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/nv-calendar/nv-calendar.css +6 -2
- package/dist/collection/components/nv-calendar/nv-calendar.js +247 -169
- package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -1
- package/dist/collection/components/nv-calendar/nv-calendar.utils.js +12 -3
- package/dist/collection/components/nv-calendar/nv-calendar.utils.js.map +1 -1
- package/dist/collection/components/nv-calendar/partials/calendar-actions.js +11 -0
- package/dist/collection/components/nv-calendar/partials/calendar-actions.js.map +1 -0
- package/dist/collection/components/nv-calendar/partials/calendar-grid.js +24 -0
- package/dist/collection/components/nv-calendar/partials/calendar-grid.js.map +1 -0
- package/dist/collection/components/nv-calendar/partials/calendar-header.js +38 -0
- package/dist/collection/components/nv-calendar/partials/calendar-header.js.map +1 -0
- package/dist/collection/components/nv-calendar/partials/calendar-shortcuts.js +22 -0
- package/dist/collection/components/nv-calendar/partials/calendar-shortcuts.js.map +1 -0
- package/dist/collection/components/nv-calendar/partials/day-cell.js +31 -0
- package/dist/collection/components/nv-calendar/partials/day-cell.js.map +1 -0
- package/dist/collection/components/nv-calendar/partials/index.js +7 -0
- package/dist/collection/components/nv-calendar/partials/index.js.map +1 -0
- package/dist/collection/components/nv-calendar/partials/week-numbers.js +36 -0
- package/dist/collection/components/nv-calendar/partials/week-numbers.js.map +1 -0
- package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js +692 -651
- package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js.map +1 -1
- package/dist/collection/components/nv-calendar/test/partials/calendar-actions.logic.test.js +169 -0
- package/dist/collection/components/nv-calendar/test/partials/calendar-actions.logic.test.js.map +1 -0
- package/dist/collection/components/nv-calendar/test/partials/calendar-grid.logic.test.js +262 -0
- package/dist/collection/components/nv-calendar/test/partials/calendar-grid.logic.test.js.map +1 -0
- package/dist/collection/components/nv-calendar/test/partials/calendar-header.logic.test.js +208 -0
- package/dist/collection/components/nv-calendar/test/partials/calendar-header.logic.test.js.map +1 -0
- package/dist/collection/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.js +355 -0
- package/dist/collection/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.js.map +1 -0
- package/dist/collection/components/nv-calendar/test/partials/day-cell.logic.test.js +250 -0
- package/dist/collection/components/nv-calendar/test/partials/day-cell.logic.test.js.map +1 -0
- package/dist/collection/components/nv-calendar/test/partials/week-numbers.logic.test.js +217 -0
- package/dist/collection/components/nv-calendar/test/partials/week-numbers.logic.test.js.map +1 -0
- package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +131 -48
- package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +1 -1
- package/dist/collection/components/nv-datagrid/nv-datagrid.js +94 -152
- package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -1
- package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +20 -1
- package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js.map +1 -1
- package/dist/collection/components/nv-fielddate/nv-fielddate.js +56 -16
- package/dist/collection/components/nv-fielddate/nv-fielddate.js.map +1 -1
- package/dist/collection/components/nv-fielddate/styles/nv-fielddate.css +51 -1
- package/dist/collection/components/nv-fielddate/test/nv-fielddate.logic.test.js +196 -0
- package/dist/collection/components/nv-fielddate/test/nv-fielddate.logic.test.js.map +1 -0
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +165 -41
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +1 -1
- package/dist/collection/components/nv-fielddaterange/styles/nv-fielddaterange.css +51 -1
- package/dist/collection/components/nv-fielddaterange/test/nv-fielddaterange.logic.test.js +137 -0
- package/dist/collection/components/nv-fielddaterange/test/nv-fielddaterange.logic.test.js.map +1 -0
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +8 -0
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +1 -1
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +173 -106
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
- package/dist/collection/components/nv-fielddropdown/styles/nv-fielddropdown.css +77 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +202 -190
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
- package/dist/collection/components/nv-fieldmultiselect/{nv-fieldmultiselect.css → styles/nv-fieldmultiselect.css} +61 -4
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.css +51 -1
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.css +51 -1
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.css +51 -1
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js +264 -0
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js.map +1 -0
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +1036 -0
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.js.map +1 -0
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js +77 -0
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js.map +1 -0
- package/dist/collection/components/nv-fieldslider/partials/field-input.js +33 -0
- package/dist/collection/components/nv-fieldslider/partials/field-input.js.map +1 -0
- package/dist/collection/components/nv-fieldslider/partials/range-thumb.js +34 -0
- package/dist/collection/components/nv-fieldslider/partials/range-thumb.js.map +1 -0
- package/dist/collection/components/nv-fieldslider/partials/single-thumb.js +18 -0
- package/dist/collection/components/nv-fieldslider/partials/single-thumb.js.map +1 -0
- package/dist/collection/components/nv-fieldslider/partials/tick-marks.js +18 -0
- package/dist/collection/components/nv-fieldslider/partials/tick-marks.js.map +1 -0
- package/dist/collection/components/nv-fieldslider/styles/nv-fieldslider.css +338 -0
- package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js +159 -0
- package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js.map +1 -0
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.css +59 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +9 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +4 -3
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +1 -1
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.css +45 -1
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -3
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +9 -9
- package/dist/collection/components/nv-fieldtime/styles/nv-fieldtime.css +51 -1
- package/dist/collection/components/nv-icon/nv-icon.js +1 -1
- package/dist/collection/components/nv-icon/nv-icons.js +1 -0
- package/dist/collection/components/nv-icon/nv-icons.js.map +1 -1
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
- package/dist/collection/components/nv-loader/nv-loader.js +1 -1
- package/dist/collection/components/nv-menu/nv-menu.js +1 -1
- package/dist/collection/components/nv-menuitem/nv-menuitem.js +2 -2
- package/dist/collection/components/nv-popover/nv-popover.js +1 -1
- package/dist/collection/components/nv-row/nv-row.js +1 -1
- package/dist/collection/components/nv-stack/nv-stack.js +1 -1
- package/dist/collection/components/nv-table/nv-table.js +2 -2
- package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
- package/dist/collection/components/nv-tooltip/nv-tooltip.css +1 -0
- package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
- package/dist/collection/interfaces/Column.js.map +1 -1
- package/dist/components/index.js +2 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/nv-alert.js +2 -2
- package/dist/components/nv-avatar.js +2 -2
- package/dist/components/nv-badge.js +1 -1
- package/dist/components/nv-breadcrumb.js +3 -3
- package/dist/components/nv-breadcrumbs.js +1 -1
- package/dist/components/nv-button.js +1 -1
- package/dist/components/nv-calendar.js +1 -1
- package/dist/components/nv-col.js +1 -1
- package/dist/components/nv-datagrid.js +97 -109
- package/dist/components/nv-datagrid.js.map +1 -1
- package/dist/components/nv-datagridcolumn.js +4 -3
- package/dist/components/nv-datagridcolumn.js.map +1 -1
- package/dist/components/nv-dialog.js +6 -6
- package/dist/components/nv-dialogfooter.js +1 -1
- package/dist/components/nv-dialogheader.js +1 -1
- package/dist/components/nv-fieldcheckbox.js +1 -1
- package/dist/components/nv-fielddate.js +53 -25
- package/dist/components/nv-fielddate.js.map +1 -1
- package/dist/components/nv-fielddaterange.js +137 -57
- package/dist/components/nv-fielddaterange.js.map +1 -1
- package/dist/components/nv-fielddropdown.js +98 -72
- 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 +132 -120
- package/dist/components/nv-fieldmultiselect.js.map +1 -1
- package/dist/components/nv-fieldnumber.js +5 -5
- package/dist/components/nv-fieldnumber.js.map +1 -1
- package/dist/components/nv-fieldpassword.js +5 -5
- package/dist/components/nv-fieldpassword.js.map +1 -1
- package/dist/components/nv-fieldradio.js +1 -1
- package/dist/components/nv-fieldselect.js +5 -5
- package/dist/components/nv-fieldselect.js.map +1 -1
- package/dist/components/nv-fieldslider.d.ts +11 -0
- package/dist/components/nv-fieldslider.js +731 -0
- package/dist/components/nv-fieldslider.js.map +1 -0
- package/dist/components/nv-fieldtext.js +1 -1
- package/dist/components/nv-fieldtextarea.js +5 -5
- package/dist/components/nv-fieldtextarea.js.map +1 -1
- package/dist/components/nv-fieldtime.js +15 -15
- 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 +5 -5
- package/dist/components/nv-menuitem.js +1 -1
- package/dist/components/nv-popover.js +1 -1
- package/dist/components/nv-row.js +2 -2
- package/dist/components/nv-stack.js +2 -2
- package/dist/components/nv-table.js +3 -3
- package/dist/components/nv-tablecolumn.js +1 -1
- package/dist/components/nv-toggle.js +3 -3
- package/dist/components/nv-tooltip.js +1 -1
- package/dist/components/{p-eb632278.js → p-2ae214d2.js} +3 -3
- package/dist/components/{p-eb632278.js.map → p-2ae214d2.js.map} +1 -1
- package/dist/components/{p-f76bb0c3.js → p-3e32b5a1.js} +5 -5
- package/dist/components/p-3e32b5a1.js.map +1 -0
- package/dist/components/{p-854c32dc.js → p-5e90b9b8.js} +389 -199
- package/dist/components/p-5e90b9b8.js.map +1 -0
- package/dist/components/{p-a2527411.js → p-5ee4015d.js} +3 -3
- package/dist/components/{p-a2527411.js.map → p-5ee4015d.js.map} +1 -1
- package/dist/components/{p-02752770.js → p-6277f746.js} +2 -2
- package/dist/components/{p-02752770.js.map → p-6277f746.js.map} +1 -1
- package/dist/components/p-7935c1cb.js +167 -0
- package/dist/components/p-7935c1cb.js.map +1 -0
- package/dist/components/{p-b48d5a94.js → p-8d92f0e1.js} +4 -4
- package/dist/components/{p-b48d5a94.js.map → p-8d92f0e1.js.map} +1 -1
- package/dist/components/{p-41c56ddc.js → p-95a7581c.js} +5 -5
- package/dist/components/{p-41c56ddc.js.map → p-95a7581c.js.map} +1 -1
- package/dist/components/{p-e00cbb8a.js → p-9e6e26cb.js} +2 -2
- package/dist/components/{p-e00cbb8a.js.map → p-9e6e26cb.js.map} +1 -1
- package/dist/components/p-9fa0de38.js +88 -0
- package/dist/components/p-9fa0de38.js.map +1 -0
- package/dist/components/{p-1c45c0f2.js → p-aff3ed68.js} +24 -177
- package/dist/components/p-aff3ed68.js.map +1 -0
- package/dist/components/{p-608eb9da.js → p-b6d858b2.js} +2 -2
- package/dist/components/{p-608eb9da.js.map → p-b6d858b2.js.map} +1 -1
- package/dist/components/{p-f5cb0a63.js → p-bb6d1e4e.js} +3 -3
- package/dist/components/{p-f5cb0a63.js.map → p-bb6d1e4e.js.map} +1 -1
- package/dist/components/{p-35a70c5e.js → p-c07c32d2.js} +3 -3
- package/dist/components/{p-35a70c5e.js.map → p-c07c32d2.js.map} +1 -1
- package/dist/components/{p-10faa938.js → p-c9006520.js} +5 -5
- package/dist/components/{p-10faa938.js.map → p-c9006520.js.map} +1 -1
- package/dist/components/{p-0a0f6daf.js → p-e28c4707.js} +3 -3
- package/dist/components/{p-0a0f6daf.js.map → p-e28c4707.js.map} +1 -1
- package/dist/components/{p-10b37876.js → p-eabbc885.js} +3 -3
- package/dist/components/{p-10b37876.js.map → p-eabbc885.js.map} +1 -1
- package/dist/esm/{constants-b97e736d.js → constants-4faa1fae.js} +2 -2
- package/dist/esm/{constants-b97e736d.js.map → constants-4faa1fae.js.map} +1 -1
- package/dist/esm/{index-1fb7a9a6.js → index-a1936cd0.js} +35 -186
- package/dist/esm/index-a1936cd0.js.map +1 -0
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/native.js +3 -24
- package/dist/esm/native.js.map +1 -1
- package/dist/esm/nv-alert.entry.js +2 -2
- package/dist/esm/nv-avatar.entry.js +2 -2
- package/dist/esm/nv-badge_2.entry.js +1 -1
- package/dist/esm/nv-breadcrumb.entry.js +1 -1
- package/dist/esm/nv-breadcrumbs.entry.js +1 -1
- package/dist/esm/nv-button.entry.js +2 -2
- package/dist/esm/nv-calendar.entry.js +385 -173
- package/dist/esm/nv-calendar.entry.js.map +1 -1
- package/dist/esm/nv-col.entry.js +1 -1
- package/dist/esm/nv-datagrid.entry.js +96 -104
- package/dist/esm/nv-datagrid.entry.js.map +1 -1
- package/dist/esm/nv-datagridcolumn.entry.js +2 -2
- package/dist/esm/nv-datagridcolumn.entry.js.map +1 -1
- package/dist/esm/nv-dialog.entry.js +2 -2
- package/dist/esm/nv-dialogfooter_2.entry.js +2 -2
- package/dist/esm/nv-fieldcheckbox.entry.js +1 -1
- package/dist/esm/nv-fielddate.entry.js +45 -11
- package/dist/esm/nv-fielddate.entry.js.map +1 -1
- package/dist/esm/nv-fielddaterange.entry.js +128 -42
- package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
- package/dist/esm/nv-fielddropdown.entry.js +84 -60
- package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
- package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
- package/dist/esm/nv-fieldmultiselect.entry.js +116 -104
- package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
- package/dist/esm/nv-fieldnumber.entry.js +2 -2
- package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
- package/dist/esm/nv-fieldpassword.entry.js +2 -2
- package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
- package/dist/esm/nv-fieldradio.entry.js +1 -1
- package/dist/esm/nv-fieldselect.entry.js +2 -2
- package/dist/esm/nv-fieldselect.entry.js.map +1 -1
- package/dist/esm/nv-fieldslider.entry.js +664 -0
- package/dist/esm/nv-fieldslider.entry.js.map +1 -0
- package/dist/esm/nv-fieldtext.entry.js +5 -5
- package/dist/esm/nv-fieldtext.entry.js.map +1 -1
- package/dist/esm/nv-fieldtextarea.entry.js +5 -5
- package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
- package/dist/esm/nv-fieldtime.entry.js +12 -12
- package/dist/esm/nv-fieldtime.entry.js.map +1 -1
- package/dist/esm/nv-icon.entry.js +4 -4
- package/dist/esm/nv-icon.entry.js.map +1 -1
- package/dist/esm/nv-iconbutton_2.entry.js +3 -3
- package/dist/esm/nv-menu.entry.js +2 -2
- package/dist/esm/nv-menuitem.entry.js +2 -2
- package/dist/esm/nv-popover.entry.js +2 -2
- package/dist/esm/nv-row.entry.js +2 -2
- package/dist/esm/nv-stack.entry.js +2 -2
- package/dist/esm/nv-table.entry.js +3 -3
- package/dist/esm/nv-tablecolumn.entry.js +1 -1
- package/dist/esm/nv-toggle.entry.js +3 -3
- package/dist/esm/nv-tooltip.entry.js +3 -3
- package/dist/esm/nv-tooltip.entry.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/native.esm.js.map +1 -1
- package/dist/native/p-050d6c6c.entry.js +2 -0
- package/dist/native/{p-4d164ed6.entry.js.map → p-050d6c6c.entry.js.map} +1 -1
- package/dist/native/{p-615947e7.entry.js → p-08ca678c.entry.js} +2 -2
- package/dist/native/p-1a5d3b87.entry.js +2 -0
- package/dist/native/{p-efe6a46c.entry.js.map → p-1a5d3b87.entry.js.map} +1 -1
- package/dist/native/{p-7fd4d13d.entry.js → p-1c1ecd38.entry.js} +2 -2
- package/dist/native/{p-c7b201cd.entry.js → p-1d98477d.entry.js} +2 -2
- package/dist/native/{p-1da72182.entry.js → p-2006f5d4.entry.js} +2 -2
- package/dist/native/p-26cf4938.entry.js +2 -0
- package/dist/native/p-26cf4938.entry.js.map +1 -0
- package/dist/native/p-3817efb2.entry.js +2 -0
- package/dist/native/{p-fc97f071.entry.js.map → p-3817efb2.entry.js.map} +1 -1
- package/dist/native/p-45459dbb.entry.js +2 -0
- package/dist/native/{p-7042ba8a.entry.js.map → p-45459dbb.entry.js.map} +1 -1
- package/dist/native/p-45cbe6e4.entry.js +2 -0
- package/dist/native/{p-9135fdf5.entry.js.map → p-45cbe6e4.entry.js.map} +1 -1
- package/dist/native/p-46428304.entry.js +2 -0
- package/dist/native/p-46428304.entry.js.map +1 -0
- package/dist/native/p-4f9cdf0b.entry.js +2 -0
- package/dist/native/{p-3b7ef609.entry.js → p-58bb90ad.entry.js} +2 -2
- package/dist/native/p-59b07b36.entry.js +2 -0
- package/dist/native/p-59b07b36.entry.js.map +1 -0
- package/dist/native/{p-3cd77d82.entry.js → p-5b6c59e0.entry.js} +2 -2
- package/dist/native/p-6029e51b.entry.js +2 -0
- package/dist/native/{p-244f56ac.entry.js.map → p-6029e51b.entry.js.map} +1 -1
- package/dist/native/{p-08a75cfa.entry.js → p-60c64f2b.entry.js} +2 -2
- package/dist/native/p-64a76565.entry.js +2 -0
- package/dist/native/p-64a76565.entry.js.map +1 -0
- package/dist/native/{p-c67186f8.entry.js → p-83288db0.entry.js} +2 -2
- package/dist/native/p-838f7842.entry.js +2 -0
- package/dist/native/p-838f7842.entry.js.map +1 -0
- package/dist/native/{p-0245863d.entry.js → p-86ab23ea.entry.js} +2 -2
- package/dist/native/p-87784622.entry.js +2 -0
- package/dist/native/p-8fb4e5c0.entry.js +2 -0
- package/dist/native/{p-b94d9f0b.entry.js.map → p-8fb4e5c0.entry.js.map} +1 -1
- package/dist/native/{p-14c07207.entry.js → p-914da1e1.entry.js} +2 -2
- package/dist/native/p-abbe5d69.entry.js +2 -0
- package/dist/native/p-abbe5d69.entry.js.map +1 -0
- package/dist/native/p-abc251aa.entry.js +2 -0
- package/dist/native/p-abc251aa.entry.js.map +1 -0
- package/dist/native/{p-c0f79bac.entry.js → p-ad128108.entry.js} +2 -2
- package/dist/native/{p-e5de64d5.entry.js → p-b5b9190a.entry.js} +2 -2
- package/dist/native/{p-470588c2.entry.js → p-b8f2c1e7.entry.js} +3 -3
- package/dist/native/p-b8f2c1e7.entry.js.map +1 -0
- package/dist/native/{p-b8b6875d.entry.js → p-d040bd61.entry.js} +2 -2
- package/dist/native/p-d0a33e64.js +3 -0
- package/dist/native/p-d0a33e64.js.map +1 -0
- package/dist/native/{p-3953464e.entry.js → p-d21b2da2.entry.js} +3 -3
- package/dist/native/{p-90e6d9dd.entry.js → p-d53e8795.entry.js} +2 -2
- package/dist/native/p-dc7dd7f3.entry.js +2 -0
- package/dist/native/{p-ae7ab110.entry.js.map → p-dc7dd7f3.entry.js.map} +1 -1
- package/dist/native/p-e2c1992e.entry.js +2 -0
- package/dist/native/{p-656c56f0.entry.js.map → p-e2c1992e.entry.js.map} +1 -1
- package/dist/native/{p-f85c08f1.js → p-e2d0a77d.js} +2 -2
- package/dist/native/p-ed6019fe.entry.js +2 -0
- package/dist/native/p-ed6019fe.entry.js.map +1 -0
- package/dist/native/p-f94d7054.entry.js +2 -0
- package/dist/native/{p-49cac014.entry.js.map → p-f94d7054.entry.js.map} +1 -1
- package/dist/native/p-fdea17ce.entry.js +2 -0
- package/dist/native/p-fdea17ce.entry.js.map +1 -0
- package/dist/types/components/nv-calendar/nv-calendar.d.ts +26 -50
- package/dist/types/components/nv-calendar/partials/calendar-actions.d.ts +19 -0
- package/dist/types/components/nv-calendar/partials/calendar-grid.d.ts +46 -0
- package/dist/types/components/nv-calendar/partials/calendar-header.d.ts +38 -0
- package/dist/types/components/nv-calendar/partials/calendar-shortcuts.d.ts +35 -0
- package/dist/types/components/nv-calendar/partials/day-cell.d.ts +35 -0
- package/dist/types/components/nv-calendar/partials/index.d.ts +6 -0
- package/dist/types/components/nv-calendar/partials/week-numbers.d.ts +30 -0
- package/dist/types/components/nv-calendar/test/partials/calendar-actions.logic.test.d.ts +1 -0
- package/dist/types/components/nv-calendar/test/partials/calendar-grid.logic.test.d.ts +1 -0
- package/dist/types/components/nv-calendar/test/partials/calendar-header.logic.test.d.ts +1 -0
- package/dist/types/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.d.ts +1 -0
- package/dist/types/components/nv-calendar/test/partials/day-cell.logic.test.d.ts +1 -0
- package/dist/types/components/nv-calendar/test/partials/week-numbers.logic.test.d.ts +1 -0
- package/dist/types/components/nv-datagrid/nv-datagrid.d.ts +0 -16
- package/dist/types/components/nv-datagridcolumn/nv-datagridcolumn.d.ts +4 -0
- package/dist/types/components/nv-fielddate/nv-fielddate.d.ts +21 -9
- package/dist/types/components/nv-fielddate/test/nv-fielddate.logic.test.d.ts +1 -0
- package/dist/types/components/nv-fielddaterange/nv-fielddaterange.d.ts +24 -3
- package/dist/types/components/nv-fielddaterange/test/nv-fielddaterange.logic.test.d.ts +1 -0
- package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +47 -26
- package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +61 -55
- package/dist/types/components/nv-fieldslider/nv-fieldslider.d.ts +229 -0
- package/dist/types/components/nv-fieldslider/nv-fieldslider.docs.d.ts +4 -0
- package/dist/types/components/nv-fieldslider/nv-fieldslider.utils.d.ts +46 -0
- package/dist/types/components/nv-fieldslider/partials/field-input.d.ts +45 -0
- package/dist/types/components/nv-fieldslider/partials/range-thumb.d.ts +37 -0
- package/dist/types/components/nv-fieldslider/partials/single-thumb.d.ts +35 -0
- package/dist/types/components/nv-fieldslider/partials/tick-marks.d.ts +28 -0
- package/dist/types/components/nv-fieldslider/test/nv-fieldslider.utils.test.d.ts +1 -0
- package/dist/types/components/nv-fieldtext/nv-fieldtext.d.ts +1 -0
- package/dist/types/components/nv-icon/nv-icons.d.ts +1 -1
- package/dist/types/components.d.ts +402 -54
- package/dist/types/interfaces/Column.d.ts +5 -1
- package/dist/vscode-data.json +121 -9
- package/hydrate/index.js +1664 -584
- package/hydrate/index.mjs +1664 -584
- package/package.json +6 -2
- package/dist/cjs/index-9bda5507.js.map +0 -1
- package/dist/components/p-1c45c0f2.js.map +0 -1
- package/dist/components/p-76646ce9.js +0 -88
- package/dist/components/p-76646ce9.js.map +0 -1
- package/dist/components/p-854c32dc.js.map +0 -1
- package/dist/components/p-9decffb6.js +0 -167
- package/dist/components/p-9decffb6.js.map +0 -1
- package/dist/components/p-f76bb0c3.js.map +0 -1
- package/dist/esm/index-1fb7a9a6.js.map +0 -1
- package/dist/native/p-244f56ac.entry.js +0 -2
- package/dist/native/p-2523eead.entry.js +0 -2
- package/dist/native/p-2523eead.entry.js.map +0 -1
- package/dist/native/p-470588c2.entry.js.map +0 -1
- package/dist/native/p-49cac014.entry.js +0 -2
- package/dist/native/p-4d164ed6.entry.js +0 -2
- package/dist/native/p-4dc1d036.entry.js +0 -2
- package/dist/native/p-4e635fa7.entry.js +0 -2
- package/dist/native/p-4e635fa7.entry.js.map +0 -1
- package/dist/native/p-5d21532a.entry.js +0 -2
- package/dist/native/p-5d21532a.entry.js.map +0 -1
- package/dist/native/p-656c56f0.entry.js +0 -2
- package/dist/native/p-7042ba8a.entry.js +0 -2
- package/dist/native/p-7e154bfd.entry.js +0 -2
- package/dist/native/p-7e154bfd.entry.js.map +0 -1
- package/dist/native/p-7eba904e.entry.js +0 -2
- package/dist/native/p-7eba904e.entry.js.map +0 -1
- package/dist/native/p-9135fdf5.entry.js +0 -2
- package/dist/native/p-ab002252.js +0 -3
- package/dist/native/p-ab002252.js.map +0 -1
- package/dist/native/p-ae7ab110.entry.js +0 -2
- package/dist/native/p-b94d9f0b.entry.js +0 -2
- package/dist/native/p-c71c6f23.entry.js +0 -2
- package/dist/native/p-c71c6f23.entry.js.map +0 -1
- package/dist/native/p-d9a52884.entry.js +0 -2
- package/dist/native/p-d9a52884.entry.js.map +0 -1
- package/dist/native/p-efe6a46c.entry.js +0 -2
- package/dist/native/p-f2ef6771.entry.js +0 -2
- package/dist/native/p-f5f68992.entry.js +0 -2
- package/dist/native/p-f5f68992.entry.js.map +0 -1
- package/dist/native/p-fc97f071.entry.js +0 -2
- /package/dist/native/{p-615947e7.entry.js.map → p-08ca678c.entry.js.map} +0 -0
- /package/dist/native/{p-7fd4d13d.entry.js.map → p-1c1ecd38.entry.js.map} +0 -0
- /package/dist/native/{p-c7b201cd.entry.js.map → p-1d98477d.entry.js.map} +0 -0
- /package/dist/native/{p-1da72182.entry.js.map → p-2006f5d4.entry.js.map} +0 -0
- /package/dist/native/{p-f2ef6771.entry.js.map → p-4f9cdf0b.entry.js.map} +0 -0
- /package/dist/native/{p-3b7ef609.entry.js.map → p-58bb90ad.entry.js.map} +0 -0
- /package/dist/native/{p-3cd77d82.entry.js.map → p-5b6c59e0.entry.js.map} +0 -0
- /package/dist/native/{p-08a75cfa.entry.js.map → p-60c64f2b.entry.js.map} +0 -0
- /package/dist/native/{p-c67186f8.entry.js.map → p-83288db0.entry.js.map} +0 -0
- /package/dist/native/{p-0245863d.entry.js.map → p-86ab23ea.entry.js.map} +0 -0
- /package/dist/native/{p-4dc1d036.entry.js.map → p-87784622.entry.js.map} +0 -0
- /package/dist/native/{p-14c07207.entry.js.map → p-914da1e1.entry.js.map} +0 -0
- /package/dist/native/{p-c0f79bac.entry.js.map → p-ad128108.entry.js.map} +0 -0
- /package/dist/native/{p-e5de64d5.entry.js.map → p-b5b9190a.entry.js.map} +0 -0
- /package/dist/native/{p-b8b6875d.entry.js.map → p-d040bd61.entry.js.map} +0 -0
- /package/dist/native/{p-3953464e.entry.js.map → p-d21b2da2.entry.js.map} +0 -0
- /package/dist/native/{p-90e6d9dd.entry.js.map → p-d53e8795.entry.js.map} +0 -0
- /package/dist/native/{p-f85c08f1.js.map → p-e2d0a77d.js.map} +0 -0
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import { p as proxyCustomElement, H, c as createEvent,
|
|
1
|
+
import { h, p as proxyCustomElement, H, c as createEvent, d as Host } from './p-aff3ed68.js';
|
|
2
2
|
import { C as CUSTOM_DAY_NAMES, b as CUSTOM_MONTH_NAMES, W as WEEK_ABBREVIATIONS } from './p-1f505531.js';
|
|
3
|
-
import { d as defineCustomElement$4 } from './p-a2527411.js';
|
|
4
|
-
import { d as defineCustomElement$3 } from './p-76646ce9.js';
|
|
5
|
-
import { d as defineCustomElement$2 } from './p-10faa938.js';
|
|
6
|
-
import { d as defineCustomElement$1 } from './p-f5cb0a63.js';
|
|
7
3
|
|
|
8
4
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
9
5
|
|
|
@@ -165,9 +161,18 @@ function isSameOrAfter(date, compareDate, options) {
|
|
|
165
161
|
* @returns {number} Week number
|
|
166
162
|
*/
|
|
167
163
|
function getWeekNumber(date) {
|
|
168
|
-
|
|
169
|
-
const
|
|
170
|
-
|
|
164
|
+
// Create a copy of the date to avoid modifying the original
|
|
165
|
+
const d = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()));
|
|
166
|
+
// Adjust to the same week Thursday (ISO 8601)
|
|
167
|
+
d.setUTCDate(d.getUTCDate() + 3 - ((d.getUTCDay() + 6) % 7));
|
|
168
|
+
// Calculate the first Thursday of the year
|
|
169
|
+
const week1 = new Date(Date.UTC(d.getUTCFullYear(), 0, 4));
|
|
170
|
+
// Calculate the week number
|
|
171
|
+
return (1 +
|
|
172
|
+
Math.round(((d.getTime() - week1.getTime()) / 86400000 -
|
|
173
|
+
3 +
|
|
174
|
+
((week1.getUTCDay() + 6) % 7)) /
|
|
175
|
+
7));
|
|
171
176
|
}
|
|
172
177
|
/**
|
|
173
178
|
* Convert a date string/Date to a Date without timezone offset
|
|
@@ -241,7 +246,176 @@ function parseDate(dateInput, dateFormat) {
|
|
|
241
246
|
return parsed.toDate();
|
|
242
247
|
}
|
|
243
248
|
|
|
244
|
-
|
|
249
|
+
/**
|
|
250
|
+
* Renders a single day cell in the calendar grid
|
|
251
|
+
* @param {DayCellProps} props - Component properties
|
|
252
|
+
* @returns {JSX.Element} JSX element representing a day cell
|
|
253
|
+
*/
|
|
254
|
+
const DayCell = props => {
|
|
255
|
+
const { date, dayOfMonth, isCurrentMonth, isSelected, isInRange, isStart, isEnd, isToday, isDisabled, onClick, } = props;
|
|
256
|
+
// Build CSS classes for the day cell
|
|
257
|
+
const dayClasses = [
|
|
258
|
+
'day',
|
|
259
|
+
isSelected ? 'selected' : '',
|
|
260
|
+
isStart ? 'range-start' : '',
|
|
261
|
+
isEnd ? 'range-end' : '',
|
|
262
|
+
isInRange ? 'in-range' : '',
|
|
263
|
+
isDisabled ? 'disabled' : '',
|
|
264
|
+
!isCurrentMonth ? 'outside-month' : '',
|
|
265
|
+
isToday ? 'is-today' : '',
|
|
266
|
+
]
|
|
267
|
+
.filter(Boolean)
|
|
268
|
+
.join(' ');
|
|
269
|
+
const handleClick = () => {
|
|
270
|
+
if (!isDisabled && onClick) {
|
|
271
|
+
onClick(date);
|
|
272
|
+
}
|
|
273
|
+
};
|
|
274
|
+
return (
|
|
275
|
+
// eslint-disable-next-line react/jsx-no-bind
|
|
276
|
+
h("div", { class: dayClasses, onClick: handleClick, "aria-disabled": isDisabled }, dayOfMonth));
|
|
277
|
+
};
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* Renders the action buttons for the calendar (Cancel/OK)
|
|
281
|
+
* @param {CalendarActionsProps} props - Component properties
|
|
282
|
+
* @returns {JSX.Element} JSX element representing the action buttons
|
|
283
|
+
*/
|
|
284
|
+
const CalendarActions = props => {
|
|
285
|
+
const { onReset, onConfirm, useSlot = false } = props;
|
|
286
|
+
return (h("div", { class: "datepicker-actions" }, useSlot ? (h("slot", { name: "actions" },
|
|
287
|
+
h("nv-button", { emphasis: "low", size: "xs", onClick: onReset }, "Cancel"),
|
|
288
|
+
h("nv-button", { size: "xs", onClick: onConfirm }, "OK"))) : (h("div", null,
|
|
289
|
+
h("nv-button", { emphasis: "low", size: "xs", onClick: onReset }, "Cancel"),
|
|
290
|
+
h("nv-button", { size: "xs", onClick: onConfirm }, "OK")))));
|
|
291
|
+
};
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* Renders the week numbers column for the calendar
|
|
295
|
+
* @param {WeekNumbersProps} props - Component properties
|
|
296
|
+
* @returns {JSX.Element} JSX element representing the week numbers
|
|
297
|
+
*/
|
|
298
|
+
const WeekNumbers = props => {
|
|
299
|
+
const { weeks, localizedWeekText, selectionType, onWeekSelect, calendarIndex, } = props;
|
|
300
|
+
/**
|
|
301
|
+
* Handles click on a week number for range selection
|
|
302
|
+
* @param {Array<WeekData>} week - Week data
|
|
303
|
+
*/
|
|
304
|
+
const handleWeekClick = (week) => {
|
|
305
|
+
if (selectionType === 'range') {
|
|
306
|
+
const dates = week.map(d => d.date);
|
|
307
|
+
onWeekSelect(dates, calendarIndex);
|
|
308
|
+
}
|
|
309
|
+
};
|
|
310
|
+
/**
|
|
311
|
+
* Creates a click handler for a specific week
|
|
312
|
+
* @param {Array<WeekData>} week - Week data
|
|
313
|
+
* @returns {() => void} Click handler function
|
|
314
|
+
*/
|
|
315
|
+
const createWeekHandler = (week) => {
|
|
316
|
+
return () => handleWeekClick(week);
|
|
317
|
+
};
|
|
318
|
+
return (h("div", { class: "week-numbers" },
|
|
319
|
+
h("div", { class: "week-header" }, localizedWeekText),
|
|
320
|
+
weeks.map((week, weekIndex) => {
|
|
321
|
+
var _a;
|
|
322
|
+
const firstDayWithDate = ((_a = week.find(d => d.date)) === null || _a === void 0 ? void 0 : _a.date) || new Date();
|
|
323
|
+
const weekNumber = getWeekNumber(firstDayWithDate);
|
|
324
|
+
const isClickable = selectionType === 'range';
|
|
325
|
+
return (h("div", { class: `week-number ${isClickable ? 'clickable' : ''}`, onClick: createWeekHandler(week), key: `week-${weekIndex}`, role: isClickable ? 'button' : undefined, tabindex: isClickable ? 0 : undefined }, weekNumber));
|
|
326
|
+
})));
|
|
327
|
+
};
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* Renders the shortcuts for quick date selection
|
|
331
|
+
* @param {CalendarShortcutsProps} props - Component properties
|
|
332
|
+
* @returns {JSX.Element | null} JSX element representing the shortcuts or null if no shortcuts
|
|
333
|
+
*/
|
|
334
|
+
const CalendarShortcuts = props => {
|
|
335
|
+
const { shortcuts, placement, onShortcutClick } = props;
|
|
336
|
+
if (!shortcuts || shortcuts.length === 0) {
|
|
337
|
+
return null;
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Creates a click handler for a specific shortcut
|
|
341
|
+
* @param {ShortcutData} shortcut - The shortcut data
|
|
342
|
+
* @returns {() => void} Click handler function
|
|
343
|
+
*/
|
|
344
|
+
const createShortcutHandler = (shortcut) => {
|
|
345
|
+
return () => onShortcutClick(shortcut);
|
|
346
|
+
};
|
|
347
|
+
return (h("div", { class: `shortcuts-container shortcuts-placement-${placement}` }, shortcuts.map((shortcut, index) => (h("nv-button", { key: `shortcut-${index}`, emphasis: "lower", size: "xs", "aria-label": shortcut.label, onClick: createShortcutHandler(shortcut) }, shortcut.label)))));
|
|
348
|
+
};
|
|
349
|
+
|
|
350
|
+
/**
|
|
351
|
+
* Renders the calendar header with navigation and date controls
|
|
352
|
+
* @param {CalendarHeaderProps} props - Component properties
|
|
353
|
+
* @returns {JSX.Element} JSX element representing the calendar header
|
|
354
|
+
*/
|
|
355
|
+
const CalendarHeader = props => {
|
|
356
|
+
const { currentDate, months, numberOfCalendars, calendarIndex, monthOffset, onMonthChange, onMonthSelect, onYearChange, } = props;
|
|
357
|
+
/**
|
|
358
|
+
* Creates navigation handler for month change
|
|
359
|
+
* @param {number} direction - Direction of navigation (-1 or 1)
|
|
360
|
+
* @returns {() => void} Navigation handler function
|
|
361
|
+
*/
|
|
362
|
+
const createNavigationHandler = (direction) => {
|
|
363
|
+
return () => onMonthChange(direction);
|
|
364
|
+
};
|
|
365
|
+
/**
|
|
366
|
+
* Creates month selection handler
|
|
367
|
+
* @param {number} offset - Month offset
|
|
368
|
+
* @returns {(event: Event) => void} Month selection handler function
|
|
369
|
+
*/
|
|
370
|
+
const createMonthSelectHandler = (offset) => {
|
|
371
|
+
return (event) => onMonthSelect(event, offset);
|
|
372
|
+
};
|
|
373
|
+
/**
|
|
374
|
+
* Creates year change handler
|
|
375
|
+
* @param {number} offset - Month offset
|
|
376
|
+
* @returns {(event: Event) => void} Year change handler function
|
|
377
|
+
*/
|
|
378
|
+
const createYearChangeHandler = (offset) => {
|
|
379
|
+
return (event) => onYearChange(event, offset);
|
|
380
|
+
};
|
|
381
|
+
const currentMonth = (currentDate.getUTCMonth() + monthOffset) % 12;
|
|
382
|
+
const currentYear = currentDate.getUTCFullYear() +
|
|
383
|
+
Math.floor((currentDate.getUTCMonth() + monthOffset) / 12);
|
|
384
|
+
return (h("div", { class: "header" },
|
|
385
|
+
numberOfCalendars > 1 && calendarIndex === 0 && (h("nv-iconbutton", { class: "nav-left", emphasis: "lower", name: "chevron-left", onClick: createNavigationHandler(-1) })),
|
|
386
|
+
h("div", { class: "date-controls" },
|
|
387
|
+
h("select", { class: "month-select mr-4", onChange: createMonthSelectHandler(monthOffset) }, months.map(month => (h("option", { key: month.value, value: month.value, selected: month.value === currentMonth }, month.label)))),
|
|
388
|
+
h("input", { type: "number", class: "year-input", min: "1950", max: "2100", value: currentYear, onChange: createYearChangeHandler(monthOffset) })),
|
|
389
|
+
numberOfCalendars === 1 && (h("div", { class: "nav-buttons" },
|
|
390
|
+
h("nv-iconbutton", { emphasis: "lower", name: "chevron-left", onClick: createNavigationHandler(-1) }),
|
|
391
|
+
h("nv-iconbutton", { emphasis: "lower", name: "chevron-right", onClick: createNavigationHandler(1) }))),
|
|
392
|
+
numberOfCalendars > 1 && calendarIndex === numberOfCalendars - 1 && (h("nv-iconbutton", { emphasis: "lower", name: "chevron-right", onClick: createNavigationHandler(1), class: "nav-right" }))));
|
|
393
|
+
};
|
|
394
|
+
|
|
395
|
+
/**
|
|
396
|
+
* Renders the calendar grid with day headers and day cells
|
|
397
|
+
* @param {CalendarGridProps} props - Component properties
|
|
398
|
+
* @returns {JSX.Element} JSX element representing the calendar grid
|
|
399
|
+
*/
|
|
400
|
+
const CalendarGrid = props => {
|
|
401
|
+
const { days, dayNames, selectionType, selectedDate, startDate, endDate, isUTCMode, onDayClick, isDateInRange, isToday, } = props;
|
|
402
|
+
return (h("div", { class: "days-container" },
|
|
403
|
+
h("div", { class: "days-header" }, dayNames.map((day, index) => (h("div", { class: "day-header", key: `day-header-${index}` }, day)))),
|
|
404
|
+
h("div", { class: "days-grid" }, days.map(day => {
|
|
405
|
+
const date = day.date;
|
|
406
|
+
if (!date)
|
|
407
|
+
return null;
|
|
408
|
+
const isSelected = selectionType === 'single' &&
|
|
409
|
+
isSameDate(date, selectedDate, { isUTCMode });
|
|
410
|
+
const isInRange = isDateInRange(date);
|
|
411
|
+
const isStart = isSameDate(date, startDate, { isUTCMode });
|
|
412
|
+
const isEnd = isSameDate(date, endDate, { isUTCMode });
|
|
413
|
+
const isTodayDate = isToday(date);
|
|
414
|
+
return (h(DayCell, { date: date, dayOfMonth: day.dayOfMonth, isCurrentMonth: day.isCurrentMonth, isSelected: isSelected, isInRange: isInRange, isStart: isStart, isEnd: isEnd, isToday: isTodayDate, isDisabled: day.isDisabled, selectionType: selectionType, onClick: onDayClick }));
|
|
415
|
+
}))));
|
|
416
|
+
};
|
|
417
|
+
|
|
418
|
+
const nvCalendarCss = "nv-calendar{display:block}.datepicker-root{display:flex;justify-content:center;align-items:flex-start;width:auto}.datepicker-container{font-family:system-ui, sans-serif;display:flex;flex-direction:column;align-items:stretch;background:var(--components-calendar-background);border-radius:var(--calendar-radius);padding:var(--calendar-padding);box-shadow:0px var(--shadow-y-axis-md-1) var(--shadow-blur-md-1) var(--shadow-spread-md, 0) var(--shadow-color-opacity-0), 0px var(--shadow-y-axis-md-2) var(--shadow-blur-md-2) var(--shadow-spread-md, 0) var(--shadow-color-opacity-2);border:1px solid var(--components-calendar-border);width:auto;max-width:100%}.datepicker-container-single{max-width:300px}.datepicker-container-single .datepicker-wrapper:has(.shortcuts-placement-left),.datepicker-container-single .datepicker-wrapper:has(.shortcuts-placement-right){max-width:410px !important}.datepicker-container-single:has(.shortcuts-placement-left),.datepicker-container-single:has(.shortcuts-placement-right){max-width:410px !important}.datepicker-wrapper{display:flex;justify-content:center;align-items:flex-start;gap:var(--calendar-gap-x);width:auto;overflow-x:hidden}.datepicker-wrapper::-webkit-scrollbar{width:6px;height:6px}.datepicker-wrapper::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}.datepicker-wrapper::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}.datepicker-wrapper.single{justify-content:center}.calendar-container{display:flex;flex-direction:column;align-items:center;padding:var(--calendar-padding);width:auto;position:relative}.calendar-separator{width:1px;background:var(--components-calendar-border);height:auto;min-height:100%;margin:0 10px}.header{display:flex;justify-content:start;align-items:center;margin-bottom:var(--calendar-header-margin-bottom);width:100%}.header nv-iconbutton{width:var(--calendar-header-button-size);height:var(--calendar-header-button-size)}.nav-buttons{display:flex;gap:var(--spacing-0);margin-left:auto}.nav-left{order:-1}.date-controls{display:flex;gap:var(--spacing-1);align-items:center;min-height:34px;justify-content:center}.datepicker-container-single .date-controls{justify-content:flex-start}.datepicker-container:not(.datepicker-container-single) .date-controls{justify-content:start;flex-grow:1}.date-controls .month-select,.date-controls .year-input{background:transparent !important}.calendar-wrapper:nth-child(n+2) .datepicker-container{margin-left:42px}.calendar-grid{display:grid;grid-template-columns:auto 1fr;column-gap:var(--calendar-weeks-calendar-gap-x);position:relative}.calendar-grid.slide-left{animation:slideLeft 0.3s ease-out}.calendar-grid.slide-right{animation:slideRight 0.3s ease-out}.week-numbers{display:grid;grid-template-rows:var(--calendar-cell-size) repeat(6, var(--calendar-cell-size));background:var(--components-calendar-weeks-background);color:var(--components-calendar-weeks-text);border-radius:var(--calendar-weeks-radius);width:var(--calendar-weeks-size);row-gap:var(--calendar-grid-gap-y)}.week-numbers .clickable{cursor:pointer}.week-numbers .clickable:hover{background-color:var(--components-calendar-weeks-background-hover);color:var(--components-calendar-weeks-text-hover);border-radius:var(--calendar-radius)}.week-header,.week-number{display:grid;place-items:center;font-size:var(--calendar-cell-font-size)}.week-header{font-weight:700;color:var(--components-calendar-weeks-text)}.week-number{color:var(--components-calendar-cell-text)}.days-container{display:grid;grid-template-rows:auto 1fr;row-gap:var(--calendar-grid-gap-y)}.days-header{display:grid;grid-template-columns:repeat(7, var(--calendar-cell-size));height:var(--calendar-cell-size)}.day-header{display:grid;place-items:center;font-size:var(--calendar-cell-font-size);color:var(--components-calendar-cell-text)}.days-grid{display:grid;grid-template-columns:repeat(7, var(--calendar-cell-size));grid-template-rows:repeat(6, var(--calendar-cell-size));animation:fadeIn 0.2s ease-in;row-gap:var(--calendar-grid-gap-y);z-index:0}.day{display:grid;place-items:center;width:var(--calendar-cell-size);height:var(--calendar-cell-size);font-size:var(--calendar-cell-font-size);border-radius:var(--calendar-cell-radius);cursor:pointer;border:none;background:transparent;transition:all 0.2s ease;text-align:center;animation:scaleIn 0.2s ease-out}.day:hover:not(.disabled,.empty,.selected){background:var(--components-calendar-cell-background-hover);color:var(--components-calendar-cell-text-hover)}.day.selected,.day.selected:hover .day.is-today.selected,.day.is-today.selected:hover{background:var(--components-calendar-cell-background-selected);color:var(--components-calendar-cell-text-selected) !important}.day.disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.day.outside-month{color:var(--components-calendar-cell-text);opacity:var(--opacity-disabled)}.day.outside-month.selected{opacity:1 !important;color:var(--components-calendar-cell-text-selected)}.day.outside-month.in-range{opacity:0.5 !important;background-color:var(--components-calendar-cell-background-in-range);color:var(--components-calendar-cell-text-in-range)}.day.outside-month.in-range:hover{opacity:0.7 !important;background-color:var(--components-calendar-cell-background-in-range)}.day.in-range{background:var(--components-calendar-cell-background-in-range);color:var(--components-calendar-cell-text-in-range);border-radius:0;position:relative}.day.range-start,.day.range-start:focus,.day.range-start:hover,.day.range-end,.day.range-end:focus,.day.range-end:hover{background-color:var(--components-calendar-cell-background-selected) !important;color:var(--components-calendar-cell-text-selected) !important}.day.range-start,.day.range-end,.day.range-start.is-today,.day.range-end.is-today{background:var(--components-calendar-cell-background-selected);color:var(--components-calendar-cell-text-selected);position:relative;border-radius:var(--radius-rounded-full)}.day.range-start:hover,.day.range-end:hover,.day.range-start.is-today:hover,.day.range-end.is-today:hover{color:var(--components-calendar-cell-text-today)}.day.range-start:before,.day.range-end:before,.day.range-start.is-today:before,.day.range-end.is-today:before{content:\"\";position:absolute;bottom:0;left:0;right:0;top:0;z-index:-1;background-color:var(--components-calendar-cell-background-in-range);border-radius:var(--radius-rounded-full);width:auto;height:auto}.day.range-start:has(~.range-end):before,.day.range-start:has(+.in-range):before{border-top-right-radius:0;border-bottom-right-radius:0}.day.range-end:before{border-top-left-radius:0 !important;border-bottom-left-radius:0 !important}.day.outside-month.range-start,.day.outside-month.range-end{opacity:1 !important;background:var(--components-calendar-cell-background-selected) !important;color:var(--components-calendar-cell-text-selected)}.day.is-today{font-weight:700;position:relative;color:var(--components-calendar-cell-text-today)}.day.is-today.range-start,.day.is-today.range-end{color:var(--components-calendar-cell-text-selected)}.day.is-today.range-start:hover,.day.is-today.range-end:hover{color:var(--components-calendar-cell-text-today)}.day.is-today::after{content:\"\";position:absolute;bottom:var(--spacing-1);left:50%;transform:translateX(-50%);width:var(--calendar-cell-dot-size);height:var(--calendar-cell-dot-size);background-color:currentColor;border-radius:50%}.day.is-today.selected::after{color:var(--components-calendar-cell-text-selected)}.day.is-today.selected::after::after{background-color:var(--components-calendar-cell-dot-selected)}.calendar-footer{display:flex;gap:var(--spacing-1);justify-content:flex-start;width:100%;flex-wrap:wrap}.footer-placement-left{justify-content:flex-start}.footer-placement-right{justify-content:flex-end}.footer-placement-center{justify-content:center}.datepicker-controls{display:flex;flex-direction:column;border-top:1px solid var(--components-calendar-border);padding:var(--calendar-controls-padding-top) var(--calendar-padding) var(--calendar-padding);gap:var(--calendar-grid-gap-y);margin-top:var(--calendar-controls-margin-top)}.datepicker-actions{display:flex;justify-content:flex-end;gap:var(--spacing-1);width:100%}.datepicker-actions slot-fb{display:contents !important}.calendar-footer+.datepicker-actions{margin-top:0}.shortcuts-placement-left,.shortcuts-placement-right{display:flex;flex-direction:column;gap:var(--spacing-1);margin-top:var(--spacing-4)}.shortcuts-placement-left{align-items:flex-end}.shortcuts-placement-right{align-items:flex-start}@keyframes slideLeft{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideRight{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}";
|
|
245
419
|
const NvCalendarStyle0 = nvCalendarCss;
|
|
246
420
|
|
|
247
421
|
const NvCalendar = /*@__PURE__*/ proxyCustomElement(class NvCalendar extends H {
|
|
@@ -250,18 +424,28 @@ const NvCalendar = /*@__PURE__*/ proxyCustomElement(class NvCalendar extends H {
|
|
|
250
424
|
this.__registerHost();
|
|
251
425
|
this.singleDateChange = createEvent(this, "singleDateChange", 7);
|
|
252
426
|
this.rangeDateChange = createEvent(this, "rangeDateChange", 7);
|
|
427
|
+
this.valueChanged = createEvent(this, "valueChanged", 7);
|
|
253
428
|
/****************************************************************************/
|
|
254
429
|
//#region PROPERTIES
|
|
255
430
|
/**
|
|
256
431
|
* First day of the week (0 = Sunday, 1 = Monday, etc.)
|
|
257
|
-
* @default
|
|
432
|
+
* @default 1
|
|
258
433
|
*/
|
|
259
|
-
this.firstDayOfWeek =
|
|
434
|
+
this.firstDayOfWeek = 1;
|
|
260
435
|
/**
|
|
261
436
|
* Number of calendars to display
|
|
262
437
|
* @default 1
|
|
263
438
|
*/
|
|
264
439
|
this.numberOfCalendars = 1;
|
|
440
|
+
/**
|
|
441
|
+
* Selected date value. For single mode: ISO date string. For range mode: comma-separated ISO date strings.
|
|
442
|
+
* Examples:
|
|
443
|
+
* - Single: "2025-03-15"
|
|
444
|
+
* - Range: "2025-03-15,2025-03-20"
|
|
445
|
+
* @default ""
|
|
446
|
+
*/
|
|
447
|
+
// eslint-disable-next-line @stencil-community/strict-mutable
|
|
448
|
+
this.value = '';
|
|
265
449
|
/**
|
|
266
450
|
* Locale for date formatting
|
|
267
451
|
* @default 'en-BE'
|
|
@@ -299,6 +483,75 @@ const NvCalendar = /*@__PURE__*/ proxyCustomElement(class NvCalendar extends H {
|
|
|
299
483
|
this.endDate = null;
|
|
300
484
|
/** List of formatted months for the selector */
|
|
301
485
|
this.months = [];
|
|
486
|
+
/**
|
|
487
|
+
* Parses the unified value prop and synchronizes with internal state
|
|
488
|
+
* @param {string} value - Value to parse
|
|
489
|
+
*/
|
|
490
|
+
this.parseUnifiedValue = (value) => {
|
|
491
|
+
if (!value) {
|
|
492
|
+
// Reset all selections
|
|
493
|
+
this.selectedDate = null;
|
|
494
|
+
this.startDate = null;
|
|
495
|
+
this.endDate = null;
|
|
496
|
+
return;
|
|
497
|
+
}
|
|
498
|
+
const values = value
|
|
499
|
+
.split(',')
|
|
500
|
+
.map(v => v.trim())
|
|
501
|
+
.filter(Boolean);
|
|
502
|
+
if (this.selectionType === 'single' && values.length >= 1) {
|
|
503
|
+
const parsedDate = parseDate(values[0], this.dateFormat);
|
|
504
|
+
if (parsedDate) {
|
|
505
|
+
this.selectedDate = parsedDate;
|
|
506
|
+
// Only sync with legacy prop if not using actions (immediate mode)
|
|
507
|
+
if (!this.showActions) {
|
|
508
|
+
this.singleValue = values[0];
|
|
509
|
+
}
|
|
510
|
+
// Navigate to the date if not prevented
|
|
511
|
+
const preventNavigation = this.el.getAttribute('data-prevent-navigation') === 'true';
|
|
512
|
+
if (!preventNavigation) {
|
|
513
|
+
this.currentDate = parsedDate;
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
else {
|
|
517
|
+
// Handle malformed date gracefully - reset state
|
|
518
|
+
console.warn(`Invalid date format: ${values[0]}`);
|
|
519
|
+
this.selectedDate = null;
|
|
520
|
+
if (!this.showActions) {
|
|
521
|
+
this.singleValue = '';
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
else if (this.selectionType === 'range' && values.length >= 2) {
|
|
526
|
+
const startDate = parseDate(values[0], this.dateFormat);
|
|
527
|
+
const endDate = parseDate(values[1], this.dateFormat);
|
|
528
|
+
if (startDate && endDate) {
|
|
529
|
+
this.startDate = startDate;
|
|
530
|
+
this.endDate = endDate;
|
|
531
|
+
// Only sync with legacy prop if not using actions (immediate mode)
|
|
532
|
+
if (!this.showActions) {
|
|
533
|
+
this.rangeValue = {
|
|
534
|
+
start: values[0],
|
|
535
|
+
end: values[1],
|
|
536
|
+
};
|
|
537
|
+
}
|
|
538
|
+
// Navigate to start date if not prevented
|
|
539
|
+
const preventNavigation = this.el.getAttribute('data-prevent-navigation') === 'true';
|
|
540
|
+
if (!preventNavigation) {
|
|
541
|
+
this.currentDate = startDate;
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
else {
|
|
545
|
+
// Handle malformed dates gracefully - reset state
|
|
546
|
+
console.warn(`Invalid date range format: ${values[0]}, ${values[1]}`);
|
|
547
|
+
this.startDate = null;
|
|
548
|
+
this.endDate = null;
|
|
549
|
+
if (!this.showActions) {
|
|
550
|
+
this.rangeValue = { start: '', end: '' };
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
};
|
|
302
555
|
/**
|
|
303
556
|
* Change the displayed month
|
|
304
557
|
* @param {number} offset - Month offset (-1 for previous, 1 for next)
|
|
@@ -346,7 +599,14 @@ const NvCalendar = /*@__PURE__*/ proxyCustomElement(class NvCalendar extends H {
|
|
|
346
599
|
return;
|
|
347
600
|
const formattedDate = formatDate(date, { dateFormat: this.dateFormat });
|
|
348
601
|
this.selectedDate = date;
|
|
349
|
-
|
|
602
|
+
// Update the unified value prop (like nv-fieldslider)
|
|
603
|
+
this.value = formattedDate;
|
|
604
|
+
this.valueChanged.emit(formattedDate);
|
|
605
|
+
// Legacy support (deprecated) - only sync props if not using actions
|
|
606
|
+
if (!this.showActions) {
|
|
607
|
+
this.singleValue = formattedDate;
|
|
608
|
+
this.singleDateChange.emit(formattedDate);
|
|
609
|
+
}
|
|
350
610
|
};
|
|
351
611
|
/**
|
|
352
612
|
* Handles range date selection
|
|
@@ -354,18 +614,32 @@ const NvCalendar = /*@__PURE__*/ proxyCustomElement(class NvCalendar extends H {
|
|
|
354
614
|
*/
|
|
355
615
|
this.handleRangeSelection = (date) => {
|
|
356
616
|
if (!this.startDate || (this.startDate && this.endDate)) {
|
|
617
|
+
// Start new range selection
|
|
357
618
|
this.startDate = date;
|
|
358
619
|
this.endDate = null;
|
|
359
620
|
}
|
|
360
621
|
else {
|
|
622
|
+
// Complete range selection
|
|
361
623
|
this.endDate = date;
|
|
624
|
+
// Ensure correct order
|
|
362
625
|
if (this.startDate > this.endDate) {
|
|
363
626
|
[this.startDate, this.endDate] = [this.endDate, this.startDate];
|
|
364
627
|
}
|
|
365
|
-
this.
|
|
366
|
-
|
|
367
|
-
|
|
628
|
+
const startFormatted = formatDate(this.startDate, {
|
|
629
|
+
dateFormat: this.dateFormat,
|
|
630
|
+
});
|
|
631
|
+
const endFormatted = formatDate(this.endDate, {
|
|
632
|
+
dateFormat: this.dateFormat,
|
|
368
633
|
});
|
|
634
|
+
// Update the unified value prop (like nv-fieldslider)
|
|
635
|
+
this.value = `${startFormatted},${endFormatted}`;
|
|
636
|
+
this.valueChanged.emit(this.value);
|
|
637
|
+
// Legacy support (deprecated) - only sync props if not using actions
|
|
638
|
+
if (!this.showActions) {
|
|
639
|
+
const legacyRange = { start: startFormatted, end: endFormatted };
|
|
640
|
+
this.rangeDateChange.emit(legacyRange);
|
|
641
|
+
this.rangeValue = legacyRange;
|
|
642
|
+
}
|
|
369
643
|
}
|
|
370
644
|
};
|
|
371
645
|
/**
|
|
@@ -424,23 +698,35 @@ const NvCalendar = /*@__PURE__*/ proxyCustomElement(class NvCalendar extends H {
|
|
|
424
698
|
* @returns {string[]} Array of short day names
|
|
425
699
|
*/
|
|
426
700
|
this.getDayNames = () => {
|
|
701
|
+
let days;
|
|
427
702
|
// If we have custom day names for this locale
|
|
428
703
|
if (CUSTOM_DAY_NAMES[this.locale]) {
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
704
|
+
// Custom day names are expected to start with Monday (index 0 = Monday)
|
|
705
|
+
days = [...CUSTOM_DAY_NAMES[this.locale]];
|
|
706
|
+
}
|
|
707
|
+
else {
|
|
708
|
+
// Generate days using Intl.DateTimeFormat, starting from Monday
|
|
709
|
+
const formatter = new Intl.DateTimeFormat(this.locale, {
|
|
710
|
+
weekday: 'short',
|
|
711
|
+
});
|
|
712
|
+
// Generate days starting from Monday (2023-01-02 was a Monday)
|
|
713
|
+
days = [...Array(7)].map((_, i) => formatter.format(new Date(2023, 0, i + 2)).toUpperCase());
|
|
714
|
+
}
|
|
715
|
+
// Now reorganize based on firstDayOfWeek
|
|
716
|
+
// 0 = Sunday, 1 = Monday (default), 2 = Tuesday, etc.
|
|
717
|
+
if (this.firstDayOfWeek === 0) {
|
|
718
|
+
// If Sunday is first day, move Sunday (last element) to the beginning
|
|
719
|
+
return [days[6], ...days.slice(0, 6)];
|
|
720
|
+
}
|
|
721
|
+
else if (this.firstDayOfWeek === 1) {
|
|
722
|
+
// If Monday is first day, return as-is (since our array starts with Monday)
|
|
723
|
+
return days;
|
|
724
|
+
}
|
|
725
|
+
else {
|
|
726
|
+
// For other first days (Tuesday=2, Wednesday=3, etc.)
|
|
727
|
+
const offset = this.firstDayOfWeek - 1; // Convert to 0-based offset from Monday
|
|
728
|
+
return [...days.slice(offset), ...days.slice(0, offset)];
|
|
434
729
|
}
|
|
435
|
-
// Otherwise, use the default behavior
|
|
436
|
-
const formatter = new Intl.DateTimeFormat(this.locale, {
|
|
437
|
-
weekday: 'short',
|
|
438
|
-
});
|
|
439
|
-
const days = [...Array(7)].map((_, i) => formatter.format(new Date(2023, 0, i + 1)).toUpperCase());
|
|
440
|
-
// Reorganize the days based on the first day of the week
|
|
441
|
-
const firstDays = days.slice(0, this.firstDayOfWeek);
|
|
442
|
-
const remainingDays = days.slice(this.firstDayOfWeek);
|
|
443
|
-
return [...remainingDays, ...firstDays];
|
|
444
730
|
};
|
|
445
731
|
/**
|
|
446
732
|
* Generates the days of the current month
|
|
@@ -621,8 +907,15 @@ const NvCalendar = /*@__PURE__*/ proxyCustomElement(class NvCalendar extends H {
|
|
|
621
907
|
if (shortcut.singleValue) {
|
|
622
908
|
const newDate = parseDate(shortcut.singleValue, this.dateFormat);
|
|
623
909
|
this.selectedDate = newDate;
|
|
624
|
-
|
|
625
|
-
|
|
910
|
+
const formattedDate = formatDate(newDate, {
|
|
911
|
+
dateFormat: this.dateFormat,
|
|
912
|
+
});
|
|
913
|
+
// Update the unified value prop (like nv-fieldslider)
|
|
914
|
+
this.value = formattedDate;
|
|
915
|
+
this.valueChanged.emit(formattedDate);
|
|
916
|
+
// Legacy support (deprecated) - sync props
|
|
917
|
+
this.singleValue = formattedDate;
|
|
918
|
+
this.singleDateChange.emit(formattedDate);
|
|
626
919
|
if (!this.showActions) {
|
|
627
920
|
const event = new CustomEvent('closePopover', {
|
|
628
921
|
bubbles: true,
|
|
@@ -637,14 +930,18 @@ const NvCalendar = /*@__PURE__*/ proxyCustomElement(class NvCalendar extends H {
|
|
|
637
930
|
const end = parseDate(shortcut.rangeValue.end, this.dateFormat);
|
|
638
931
|
this.startDate = start;
|
|
639
932
|
this.endDate = end;
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
end: formatDate(end, { dateFormat: this.dateFormat }),
|
|
933
|
+
const startFormatted = formatDate(start, {
|
|
934
|
+
dateFormat: this.dateFormat,
|
|
643
935
|
});
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
936
|
+
const endFormatted = formatDate(end, { dateFormat: this.dateFormat });
|
|
937
|
+
// Update the unified value prop (like nv-fieldslider)
|
|
938
|
+
this.value = `${startFormatted},${endFormatted}`;
|
|
939
|
+
this.valueChanged.emit(this.value);
|
|
940
|
+
// Legacy support (deprecated) - sync props
|
|
941
|
+
const legacyRange = { start: startFormatted, end: endFormatted };
|
|
942
|
+
this.rangeDateChange.emit(legacyRange);
|
|
943
|
+
// eslint-disable-next-line @stencil-community/strict-mutable
|
|
944
|
+
this.rangeValue = legacyRange;
|
|
648
945
|
if (!this.showActions) {
|
|
649
946
|
const event = new CustomEvent('closePopover', {
|
|
650
947
|
bubbles: true,
|
|
@@ -652,103 +949,15 @@ const NvCalendar = /*@__PURE__*/ proxyCustomElement(class NvCalendar extends H {
|
|
|
652
949
|
});
|
|
653
950
|
this.el.dispatchEvent(event);
|
|
654
951
|
}
|
|
655
|
-
this.
|
|
952
|
+
this.currentDate = start;
|
|
656
953
|
}
|
|
657
954
|
};
|
|
658
955
|
/**
|
|
659
|
-
* Method to force the complete calendar update
|
|
956
|
+
* Method to force the complete calendar update
|
|
660
957
|
* @param {Date} newDate - Date to force
|
|
661
958
|
*/
|
|
662
959
|
this.forceCalendarUpdate = newDate => {
|
|
663
960
|
this.currentDate = new Date(newDate);
|
|
664
|
-
this.currentDate = new Date(this.currentDate); // Force a re-render
|
|
665
|
-
// Reset visually the hover/touch effect
|
|
666
|
-
requestAnimationFrame(() => {
|
|
667
|
-
const days = document.querySelectorAll('.day');
|
|
668
|
-
days.forEach(el => {
|
|
669
|
-
el.classList.remove('hover', 'active', 'touched');
|
|
670
|
-
el.style.pointerEvents = 'none';
|
|
671
|
-
});
|
|
672
|
-
// Add specific touch handling (for mobile)
|
|
673
|
-
document.body.addEventListener('touchstart', this.clearTouchState, {
|
|
674
|
-
passive: true,
|
|
675
|
-
});
|
|
676
|
-
// Reset the touch state after 50ms
|
|
677
|
-
setTimeout(() => {
|
|
678
|
-
days.forEach(el => {
|
|
679
|
-
el.style.pointerEvents = '';
|
|
680
|
-
});
|
|
681
|
-
}, 50);
|
|
682
|
-
});
|
|
683
|
-
};
|
|
684
|
-
/**
|
|
685
|
-
* Function to reset the touch effect (Mobile fix)
|
|
686
|
-
*/
|
|
687
|
-
this.clearTouchState = () => {
|
|
688
|
-
document.querySelectorAll('.day').forEach(el => {
|
|
689
|
-
el.classList.remove('touched');
|
|
690
|
-
});
|
|
691
|
-
// Remove the listener after the first interaction
|
|
692
|
-
document.body.removeEventListener('touchstart', this.clearTouchState);
|
|
693
|
-
};
|
|
694
|
-
/**
|
|
695
|
-
* Handles month change with an offset
|
|
696
|
-
* @param {number} direction - Direction (-1 for previous, 1 for next)
|
|
697
|
-
* @returns {Function} Change month handler
|
|
698
|
-
*/
|
|
699
|
-
this.getChangeMonthHandler = (direction) => {
|
|
700
|
-
return () => this.changeMonth(direction);
|
|
701
|
-
};
|
|
702
|
-
/**
|
|
703
|
-
* Handles month change from an event (ex: dropdown)
|
|
704
|
-
* @param {number} offset - Month offset (0 by default)
|
|
705
|
-
* @returns {Function} Change month handler
|
|
706
|
-
*/
|
|
707
|
-
this.getHandleMonthChange = (offset) => {
|
|
708
|
-
return (event) => this.handleMonthChange(event, offset);
|
|
709
|
-
};
|
|
710
|
-
/**
|
|
711
|
-
* Handles year change from an event (ex: dropdown)
|
|
712
|
-
* @param {number} offset - Year offset (0 by default)
|
|
713
|
-
* @returns {Function} Change year handler
|
|
714
|
-
*/
|
|
715
|
-
this.getHandleYearChange = (offset) => {
|
|
716
|
-
return (event) => this.handleYearChange(event, offset);
|
|
717
|
-
};
|
|
718
|
-
/**
|
|
719
|
-
* Handles day click
|
|
720
|
-
* @param {Date} date - Date to handle
|
|
721
|
-
* @param {boolean} isDisabled - Whether the date is disabled
|
|
722
|
-
* @returns {Function} Day click handler
|
|
723
|
-
*/
|
|
724
|
-
this.getDayClickHandler = (date, isDisabled) => {
|
|
725
|
-
return isDisabled ? undefined : () => this.handleDateSelection(date);
|
|
726
|
-
};
|
|
727
|
-
/**
|
|
728
|
-
* Handles shortcut selection
|
|
729
|
-
* @param {Object} shortcut - Shortcut to handle
|
|
730
|
-
* @param {string | Date} shortcut.singleValue - Selected date value
|
|
731
|
-
* @param {Object} shortcut.rangeValue - Start and end date values
|
|
732
|
-
* @param {string | Date} shortcut.rangeValue.start - Start date value
|
|
733
|
-
* @param {string | Date} shortcut.rangeValue.end - End date value
|
|
734
|
-
* @param {string} shortcut.label - Label
|
|
735
|
-
* @returns {Function} Shortcut selection handler
|
|
736
|
-
*/
|
|
737
|
-
this.getShortcutHandler = (shortcut) => {
|
|
738
|
-
return () => this.applyShortcut(shortcut);
|
|
739
|
-
};
|
|
740
|
-
/**
|
|
741
|
-
* Handles week selection
|
|
742
|
-
* @param {Date[]} dates - Dates to handle
|
|
743
|
-
* @param {number} index - Calendar index
|
|
744
|
-
* @returns {Function} Week selection handler
|
|
745
|
-
*/
|
|
746
|
-
this.getWeekSelectionHandler = (dates, index) => {
|
|
747
|
-
return () => {
|
|
748
|
-
if (this.selectionType === 'range') {
|
|
749
|
-
this.handleWeekSelection(dates, index);
|
|
750
|
-
}
|
|
751
|
-
};
|
|
752
961
|
};
|
|
753
962
|
/**
|
|
754
963
|
* Resets the current selection
|
|
@@ -756,14 +965,22 @@ const NvCalendar = /*@__PURE__*/ proxyCustomElement(class NvCalendar extends H {
|
|
|
756
965
|
this.resetSelection = () => {
|
|
757
966
|
if (this.selectionType === 'single') {
|
|
758
967
|
this.selectedDate = null;
|
|
968
|
+
// eslint-disable-next-line @stencil-community/strict-mutable
|
|
759
969
|
this.singleValue = null;
|
|
970
|
+
// eslint-disable-next-line @stencil-community/strict-mutable
|
|
971
|
+
this.value = '';
|
|
760
972
|
this.singleDateChange.emit('');
|
|
973
|
+
this.valueChanged.emit('');
|
|
761
974
|
}
|
|
762
975
|
else {
|
|
763
976
|
this.startDate = null;
|
|
764
977
|
this.endDate = null;
|
|
978
|
+
// eslint-disable-next-line @stencil-community/strict-mutable
|
|
765
979
|
this.rangeValue = null;
|
|
980
|
+
// eslint-disable-next-line @stencil-community/strict-mutable
|
|
981
|
+
this.value = '';
|
|
766
982
|
this.rangeDateChange.emit({ start: '', end: '' });
|
|
983
|
+
this.valueChanged.emit('');
|
|
767
984
|
}
|
|
768
985
|
};
|
|
769
986
|
/**
|
|
@@ -775,6 +992,7 @@ const NvCalendar = /*@__PURE__*/ proxyCustomElement(class NvCalendar extends H {
|
|
|
775
992
|
dateFormat: this.dateFormat,
|
|
776
993
|
});
|
|
777
994
|
this.singleDateChange.emit(dateStr);
|
|
995
|
+
// eslint-disable-next-line @stencil-community/strict-mutable
|
|
778
996
|
this.singleValue = dateStr;
|
|
779
997
|
const event = new CustomEvent('closePopover', {
|
|
780
998
|
bubbles: true,
|
|
@@ -789,6 +1007,7 @@ const NvCalendar = /*@__PURE__*/ proxyCustomElement(class NvCalendar extends H {
|
|
|
789
1007
|
start: formatDate(this.startDate, { dateFormat: this.dateFormat }),
|
|
790
1008
|
end: formatDate(this.endDate, { dateFormat: this.dateFormat }),
|
|
791
1009
|
});
|
|
1010
|
+
// eslint-disable-next-line @stencil-community/strict-mutable
|
|
792
1011
|
this.rangeValue = {
|
|
793
1012
|
start: formatDate(this.startDate, { dateFormat: this.dateFormat }),
|
|
794
1013
|
end: formatDate(this.endDate, { dateFormat: this.dateFormat }),
|
|
@@ -811,8 +1030,7 @@ const NvCalendar = /*@__PURE__*/ proxyCustomElement(class NvCalendar extends H {
|
|
|
811
1030
|
* @description Renders the header of the calendar
|
|
812
1031
|
*/
|
|
813
1032
|
this.renderHeader = (offset, index) => {
|
|
814
|
-
return (h(
|
|
815
|
-
Math.floor((this.currentDate.getUTCMonth() + offset) / 12), onChange: this.getHandleYearChange(offset) })), this.numberOfCalendars === 1 && (h("div", { class: "nav-buttons" }, h("nv-iconbutton", { emphasis: "lower", name: "chevron-left", onClick: this.getChangeMonthHandler(-1) }), h("nv-iconbutton", { emphasis: "lower", name: "chevron-right", onClick: this.getChangeMonthHandler(1) }))), this.numberOfCalendars > 1 && index === this.numberOfCalendars - 1 && (h("nv-iconbutton", { emphasis: "lower", name: "chevron-right", onClick: this.getChangeMonthHandler(1), class: "nav-right" }))));
|
|
1033
|
+
return (h(CalendarHeader, { currentDate: this.currentDate, months: this.months, numberOfCalendars: this.numberOfCalendars, calendarIndex: index, monthOffset: offset, onMonthChange: this.changeMonth, onMonthSelect: this.handleMonthChange, onYearChange: this.handleYearChange }));
|
|
816
1034
|
};
|
|
817
1035
|
/**
|
|
818
1036
|
* Renders the week numbers
|
|
@@ -826,42 +1044,7 @@ const NvCalendar = /*@__PURE__*/ proxyCustomElement(class NvCalendar extends H {
|
|
|
826
1044
|
weeks,
|
|
827
1045
|
/** Calendar index */
|
|
828
1046
|
index) => {
|
|
829
|
-
return (h(
|
|
830
|
-
var _a;
|
|
831
|
-
const dates = week.map(d => d.date);
|
|
832
|
-
return (h("div", { class: `week-number ${this.selectionType === 'range' ? 'clickable' : ''}`, onClick: this.getWeekSelectionHandler(dates, index), key: `week-${weekIndex}` }, getWeekNumber(((_a = week.find(d => d.date)) === null || _a === void 0 ? void 0 : _a.date) || new Date())));
|
|
833
|
-
})));
|
|
834
|
-
};
|
|
835
|
-
this.renderDaysGrid = (
|
|
836
|
-
/** Days to render */
|
|
837
|
-
days) => {
|
|
838
|
-
return (h("div", { class: "days-grid" }, days.map(day => {
|
|
839
|
-
const date = day.date;
|
|
840
|
-
if (!date)
|
|
841
|
-
return null;
|
|
842
|
-
const isSelected = this.selectionType === 'single' &&
|
|
843
|
-
isSameDate(date, this.selectedDate, { isUTCMode: this.isUTCMode });
|
|
844
|
-
const isInRange = this.isDateInRange(date);
|
|
845
|
-
const isStart = isSameDate(date, this.startDate, {
|
|
846
|
-
isUTCMode: this.isUTCMode,
|
|
847
|
-
});
|
|
848
|
-
const isEnd = isSameDate(date, this.endDate, {
|
|
849
|
-
isUTCMode: this.isUTCMode,
|
|
850
|
-
});
|
|
851
|
-
const isToday = this.isToday(date);
|
|
852
|
-
const isOutsideMonth = !day.isCurrentMonth;
|
|
853
|
-
const dayClasses = [
|
|
854
|
-
'day',
|
|
855
|
-
isSelected ? 'selected' : '',
|
|
856
|
-
isStart ? 'range-start' : '',
|
|
857
|
-
isEnd ? 'range-end' : '',
|
|
858
|
-
isInRange ? 'in-range' : '',
|
|
859
|
-
day.isDisabled ? 'disabled' : '',
|
|
860
|
-
isOutsideMonth ? 'outside-month' : '',
|
|
861
|
-
isToday ? 'is-today' : '',
|
|
862
|
-
];
|
|
863
|
-
return (h("div", { class: dayClasses.filter(Boolean).join(' '), onClick: this.getDayClickHandler(date, day.isDisabled), "aria-disabled": day.isDisabled, key: `day-${date.toISOString()}` }, day.dayOfMonth));
|
|
864
|
-
})));
|
|
1047
|
+
return (h(WeekNumbers, { weeks: weeks, localizedWeekText: this.getLocalizedWeekText(), selectionType: this.selectionType, onWeekSelect: this.handleWeekSelection, calendarIndex: index }));
|
|
865
1048
|
};
|
|
866
1049
|
/**
|
|
867
1050
|
* Renders the calendar
|
|
@@ -880,7 +1063,7 @@ const NvCalendar = /*@__PURE__*/ proxyCustomElement(class NvCalendar extends H {
|
|
|
880
1063
|
for (let i = 0; i < days.length; i += 7) {
|
|
881
1064
|
weeks.push(days.slice(i, i + 7));
|
|
882
1065
|
}
|
|
883
|
-
return (h("div", { class: "calendar-wrapper" }, h("div", { class: "calendar-container", key: `calendar-${index}` }, this.renderHeader(offset, index), h("div", { class: "calendar-grid" }, this.showWeekNumbers && this.renderWeekNumbers(weeks, index), h(
|
|
1066
|
+
return (h("div", { class: "calendar-wrapper" }, h("div", { class: "calendar-container", key: `calendar-${index}` }, this.renderHeader(offset, index), h("div", { class: "calendar-grid" }, this.showWeekNumbers && this.renderWeekNumbers(weeks, index), h(CalendarGrid, { days: days, dayNames: this.getDayNames(), selectionType: this.selectionType, selectedDate: this.selectedDate, startDate: this.startDate, endDate: this.endDate, isUTCMode: this.isUTCMode, onDayClick: this.handleDateSelection, isDateInRange: this.isDateInRange, isToday: this.isToday }))), index < this.numberOfCalendars - 1 && (h("div", { class: "calendar-separator" }))));
|
|
884
1067
|
};
|
|
885
1068
|
/**
|
|
886
1069
|
* Renders the shortcuts
|
|
@@ -891,7 +1074,7 @@ const NvCalendar = /*@__PURE__*/ proxyCustomElement(class NvCalendar extends H {
|
|
|
891
1074
|
if (!this.hasShortcuts) {
|
|
892
1075
|
return null;
|
|
893
1076
|
}
|
|
894
|
-
return (h(
|
|
1077
|
+
return (h(CalendarShortcuts, { shortcuts: this.shortcuts, placement: this.shortcutsPlacement, onShortcutClick: this.applyShortcut }));
|
|
895
1078
|
};
|
|
896
1079
|
/**
|
|
897
1080
|
* Renders the actions
|
|
@@ -900,7 +1083,7 @@ const NvCalendar = /*@__PURE__*/ proxyCustomElement(class NvCalendar extends H {
|
|
|
900
1083
|
* @slot actions - Child content of the component.
|
|
901
1084
|
*/
|
|
902
1085
|
this.renderActions = () => {
|
|
903
|
-
return (h("div", { class: "datepicker-actions" }, h("slot", { name: "actions" }, h(
|
|
1086
|
+
return (h("div", { class: "datepicker-actions" }, h("slot", { name: "actions" }, h(CalendarActions, { onReset: this.resetSelection, onConfirm: this.confirmSelection, useSlot: false }))));
|
|
904
1087
|
};
|
|
905
1088
|
}
|
|
906
1089
|
//#endregion EVENTS
|
|
@@ -928,7 +1111,11 @@ const NvCalendar = /*@__PURE__*/ proxyCustomElement(class NvCalendar extends H {
|
|
|
928
1111
|
const { startDate, endDate } = this.validateDateRange(newValue.start, newValue.end);
|
|
929
1112
|
this.startDate = startDate;
|
|
930
1113
|
this.endDate = endDate;
|
|
931
|
-
|
|
1114
|
+
// Do not navigate to the start date if data-prevent-navigation attribute is present
|
|
1115
|
+
const preventNavigation = this.el.getAttribute('data-prevent-navigation') === 'true';
|
|
1116
|
+
if (!preventNavigation) {
|
|
1117
|
+
this.currentDate = startDate;
|
|
1118
|
+
}
|
|
932
1119
|
}
|
|
933
1120
|
catch (error) {
|
|
934
1121
|
console.error('Invalid rangeValue:', error);
|
|
@@ -952,16 +1139,34 @@ const NvCalendar = /*@__PURE__*/ proxyCustomElement(class NvCalendar extends H {
|
|
|
952
1139
|
const parsedDate = parseDate(newValue, this.dateFormat);
|
|
953
1140
|
if (parsedDate) {
|
|
954
1141
|
this.selectedDate = parsedDate;
|
|
955
|
-
|
|
1142
|
+
// Do not navigate to the selected date if data-prevent-navigation attribute is present
|
|
1143
|
+
const preventNavigation = this.el.getAttribute('data-prevent-navigation') === 'true';
|
|
1144
|
+
if (!preventNavigation) {
|
|
1145
|
+
this.currentDate = parsedDate;
|
|
1146
|
+
}
|
|
956
1147
|
}
|
|
957
1148
|
}
|
|
958
1149
|
}
|
|
1150
|
+
/**
|
|
1151
|
+
* Watches the changes of the unified value prop
|
|
1152
|
+
* @param {string} newValue - New value
|
|
1153
|
+
* @param {string} oldValue - Old value
|
|
1154
|
+
*/
|
|
1155
|
+
onValueChange(newValue, oldValue) {
|
|
1156
|
+
if (newValue !== oldValue) {
|
|
1157
|
+
this.parseUnifiedValue(newValue);
|
|
1158
|
+
}
|
|
1159
|
+
}
|
|
959
1160
|
//#endregion WATCHERS
|
|
960
1161
|
/****************************************************************************/
|
|
961
1162
|
//#region LIFECYCLE
|
|
962
1163
|
componentWillLoad() {
|
|
963
1164
|
this.parseDisabledDates();
|
|
964
|
-
|
|
1165
|
+
// Initialize from unified value prop if provided
|
|
1166
|
+
if (this.value) {
|
|
1167
|
+
this.parseUnifiedValue(this.value);
|
|
1168
|
+
}
|
|
1169
|
+
else if (this.selectionType === 'single' && this.singleValue) {
|
|
965
1170
|
this.selectedDate = parseDate(this.singleValue, this.dateFormat);
|
|
966
1171
|
this.currentDate = this.selectedDate;
|
|
967
1172
|
}
|
|
@@ -974,6 +1179,7 @@ const NvCalendar = /*@__PURE__*/ proxyCustomElement(class NvCalendar extends H {
|
|
|
974
1179
|
this.currentDate = startDate;
|
|
975
1180
|
if (swapped) {
|
|
976
1181
|
// If dates were swapped, update the rangeValue property
|
|
1182
|
+
// eslint-disable-next-line @stencil-community/strict-mutable
|
|
977
1183
|
this.rangeValue = {
|
|
978
1184
|
start: formatDate(startDate, { dateFormat: this.dateFormat }),
|
|
979
1185
|
end: formatDate(endDate, { dateFormat: this.dateFormat }),
|
|
@@ -985,7 +1191,8 @@ const NvCalendar = /*@__PURE__*/ proxyCustomElement(class NvCalendar extends H {
|
|
|
985
1191
|
console.error('Invalid rangeValue:', error);
|
|
986
1192
|
}
|
|
987
1193
|
}
|
|
988
|
-
|
|
1194
|
+
// Ensure currentDate is always initialized
|
|
1195
|
+
if (!this.currentDate) {
|
|
989
1196
|
this.currentDate = new Date();
|
|
990
1197
|
}
|
|
991
1198
|
this.initializeMonths();
|
|
@@ -1055,20 +1262,22 @@ const NvCalendar = /*@__PURE__*/ proxyCustomElement(class NvCalendar extends H {
|
|
|
1055
1262
|
* @slot default - Child content of the component.
|
|
1056
1263
|
*/
|
|
1057
1264
|
render() {
|
|
1058
|
-
return (h(Host, { key: '
|
|
1059
|
-
this.hasActions) && (h("div", { key: '
|
|
1265
|
+
return (h(Host, { key: '43d4f3ab9199e9c5f15e853f15283fa59e4a436d' }, h("div", { key: 'b9956225cb2c16d997aa44266af8f8c8222ea968', class: "datepicker-root" }, h("div", { key: '05b63935bc5ebf500bb52d10688385f994b47fb4', class: `datepicker-container ${this.numberOfCalendars === 1 ? 'datepicker-container-single' : ''}` }, h("div", { key: 'd7af15b9ce051026cf841b3be361b32d8db41fc1', class: `datepicker-wrapper ${this.numberOfCalendars === 1 ? 'single' : ''}` }, this.shortcutsPlacement === 'left' && this.renderShortcuts(), Array.from({ length: this.numberOfCalendars }, (_, index) => this.renderCalendar(index, index)), this.shortcutsPlacement === 'right' && this.renderShortcuts()), ((this.hasShortcuts && this.shortcutsPlacement === 'bottom') ||
|
|
1266
|
+
this.hasActions) && (h("div", { key: '1765334bf15564bc9886b210c54bddba64c7042e', class: "datepicker-controls" }, this.shortcutsPlacement === 'bottom' && this.renderShortcuts(), this.hasActions && this.renderActions())))), h("slot", { key: '0ac3446394b8c23b859e5f0065370b95b6fd05d2' })));
|
|
1060
1267
|
}
|
|
1061
1268
|
get el() { return this; }
|
|
1062
1269
|
static get watchers() { return {
|
|
1063
1270
|
"numberOfCalendars": ["validateNumberOfCalendars"],
|
|
1064
1271
|
"rangeValue": ["onRangeValueChange"],
|
|
1065
1272
|
"disabledDates": ["handleDisabledDatesChange"],
|
|
1066
|
-
"singleValue": ["onSingleValueChange"]
|
|
1273
|
+
"singleValue": ["onSingleValueChange"],
|
|
1274
|
+
"value": ["onValueChange"]
|
|
1067
1275
|
}; }
|
|
1068
1276
|
static get style() { return NvCalendarStyle0; }
|
|
1069
1277
|
}, [4, "nv-calendar", {
|
|
1070
1278
|
"firstDayOfWeek": [514, "first-day-of-week"],
|
|
1071
1279
|
"numberOfCalendars": [1538, "number-of-calendars"],
|
|
1280
|
+
"value": [1537],
|
|
1072
1281
|
"singleValue": [1537, "single-value"],
|
|
1073
1282
|
"rangeValue": [1040],
|
|
1074
1283
|
"min": [513],
|
|
@@ -1090,43 +1299,24 @@ const NvCalendar = /*@__PURE__*/ proxyCustomElement(class NvCalendar extends H {
|
|
|
1090
1299
|
"numberOfCalendars": ["validateNumberOfCalendars"],
|
|
1091
1300
|
"rangeValue": ["onRangeValueChange"],
|
|
1092
1301
|
"disabledDates": ["handleDisabledDatesChange"],
|
|
1093
|
-
"singleValue": ["onSingleValueChange"]
|
|
1302
|
+
"singleValue": ["onSingleValueChange"],
|
|
1303
|
+
"value": ["onValueChange"]
|
|
1094
1304
|
}]);
|
|
1095
1305
|
function defineCustomElement() {
|
|
1096
1306
|
if (typeof customElements === "undefined") {
|
|
1097
1307
|
return;
|
|
1098
1308
|
}
|
|
1099
|
-
const components = ["nv-calendar"
|
|
1309
|
+
const components = ["nv-calendar"];
|
|
1100
1310
|
components.forEach(tagName => { switch (tagName) {
|
|
1101
1311
|
case "nv-calendar":
|
|
1102
1312
|
if (!customElements.get(tagName)) {
|
|
1103
1313
|
customElements.define(tagName, NvCalendar);
|
|
1104
1314
|
}
|
|
1105
1315
|
break;
|
|
1106
|
-
case "nv-button":
|
|
1107
|
-
if (!customElements.get(tagName)) {
|
|
1108
|
-
defineCustomElement$4();
|
|
1109
|
-
}
|
|
1110
|
-
break;
|
|
1111
|
-
case "nv-icon":
|
|
1112
|
-
if (!customElements.get(tagName)) {
|
|
1113
|
-
defineCustomElement$3();
|
|
1114
|
-
}
|
|
1115
|
-
break;
|
|
1116
|
-
case "nv-iconbutton":
|
|
1117
|
-
if (!customElements.get(tagName)) {
|
|
1118
|
-
defineCustomElement$2();
|
|
1119
|
-
}
|
|
1120
|
-
break;
|
|
1121
|
-
case "nv-loader":
|
|
1122
|
-
if (!customElements.get(tagName)) {
|
|
1123
|
-
defineCustomElement$1();
|
|
1124
|
-
}
|
|
1125
|
-
break;
|
|
1126
1316
|
} });
|
|
1127
1317
|
}
|
|
1128
1318
|
defineCustomElement();
|
|
1129
1319
|
|
|
1130
1320
|
export { NvCalendar as N, commonjsGlobal as c, defineCustomElement as d, getDefaultExportFromCjs as g };
|
|
1131
1321
|
|
|
1132
|
-
//# sourceMappingURL=p-
|
|
1322
|
+
//# sourceMappingURL=p-5e90b9b8.js.map
|