@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,6 +1,8 @@
|
|
|
1
1
|
import { Host, h, } from "@stencil/core";
|
|
2
2
|
import { WEEK_ABBREVIATIONS, CUSTOM_DAY_NAMES, CUSTOM_MONTH_NAMES, } from "../../utils/constants";
|
|
3
|
-
import {
|
|
3
|
+
import { parseDate, isSameDate, formatDate, isSameOrAfter, isSameOrBefore, } from "./nv-calendar.utils";
|
|
4
|
+
// Import partials
|
|
5
|
+
import { CalendarHeader, CalendarGrid, WeekNumbers, CalendarShortcuts, CalendarActions, } from "./partials";
|
|
4
6
|
/**
|
|
5
7
|
* @slot default - Child content of the component.
|
|
6
8
|
* @slot actions - Child content of the component.
|
|
@@ -11,14 +13,23 @@ export class NvCalendar {
|
|
|
11
13
|
//#region PROPERTIES
|
|
12
14
|
/**
|
|
13
15
|
* First day of the week (0 = Sunday, 1 = Monday, etc.)
|
|
14
|
-
* @default
|
|
16
|
+
* @default 1
|
|
15
17
|
*/
|
|
16
|
-
this.firstDayOfWeek =
|
|
18
|
+
this.firstDayOfWeek = 1;
|
|
17
19
|
/**
|
|
18
20
|
* Number of calendars to display
|
|
19
21
|
* @default 1
|
|
20
22
|
*/
|
|
21
23
|
this.numberOfCalendars = 1;
|
|
24
|
+
/**
|
|
25
|
+
* Selected date value. For single mode: ISO date string. For range mode: comma-separated ISO date strings.
|
|
26
|
+
* Examples:
|
|
27
|
+
* - Single: "2025-03-15"
|
|
28
|
+
* - Range: "2025-03-15,2025-03-20"
|
|
29
|
+
* @default ""
|
|
30
|
+
*/
|
|
31
|
+
// eslint-disable-next-line @stencil-community/strict-mutable
|
|
32
|
+
this.value = '';
|
|
22
33
|
/**
|
|
23
34
|
* Locale for date formatting
|
|
24
35
|
* @default 'en-BE'
|
|
@@ -56,6 +67,75 @@ export class NvCalendar {
|
|
|
56
67
|
this.endDate = null;
|
|
57
68
|
/** List of formatted months for the selector */
|
|
58
69
|
this.months = [];
|
|
70
|
+
/**
|
|
71
|
+
* Parses the unified value prop and synchronizes with internal state
|
|
72
|
+
* @param {string} value - Value to parse
|
|
73
|
+
*/
|
|
74
|
+
this.parseUnifiedValue = (value) => {
|
|
75
|
+
if (!value) {
|
|
76
|
+
// Reset all selections
|
|
77
|
+
this.selectedDate = null;
|
|
78
|
+
this.startDate = null;
|
|
79
|
+
this.endDate = null;
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const values = value
|
|
83
|
+
.split(',')
|
|
84
|
+
.map(v => v.trim())
|
|
85
|
+
.filter(Boolean);
|
|
86
|
+
if (this.selectionType === 'single' && values.length >= 1) {
|
|
87
|
+
const parsedDate = parseDate(values[0], this.dateFormat);
|
|
88
|
+
if (parsedDate) {
|
|
89
|
+
this.selectedDate = parsedDate;
|
|
90
|
+
// Only sync with legacy prop if not using actions (immediate mode)
|
|
91
|
+
if (!this.showActions) {
|
|
92
|
+
this.singleValue = values[0];
|
|
93
|
+
}
|
|
94
|
+
// Navigate to the date if not prevented
|
|
95
|
+
const preventNavigation = this.el.getAttribute('data-prevent-navigation') === 'true';
|
|
96
|
+
if (!preventNavigation) {
|
|
97
|
+
this.currentDate = parsedDate;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
// Handle malformed date gracefully - reset state
|
|
102
|
+
console.warn(`Invalid date format: ${values[0]}`);
|
|
103
|
+
this.selectedDate = null;
|
|
104
|
+
if (!this.showActions) {
|
|
105
|
+
this.singleValue = '';
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
else if (this.selectionType === 'range' && values.length >= 2) {
|
|
110
|
+
const startDate = parseDate(values[0], this.dateFormat);
|
|
111
|
+
const endDate = parseDate(values[1], this.dateFormat);
|
|
112
|
+
if (startDate && endDate) {
|
|
113
|
+
this.startDate = startDate;
|
|
114
|
+
this.endDate = endDate;
|
|
115
|
+
// Only sync with legacy prop if not using actions (immediate mode)
|
|
116
|
+
if (!this.showActions) {
|
|
117
|
+
this.rangeValue = {
|
|
118
|
+
start: values[0],
|
|
119
|
+
end: values[1],
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
// Navigate to start date if not prevented
|
|
123
|
+
const preventNavigation = this.el.getAttribute('data-prevent-navigation') === 'true';
|
|
124
|
+
if (!preventNavigation) {
|
|
125
|
+
this.currentDate = startDate;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
// Handle malformed dates gracefully - reset state
|
|
130
|
+
console.warn(`Invalid date range format: ${values[0]}, ${values[1]}`);
|
|
131
|
+
this.startDate = null;
|
|
132
|
+
this.endDate = null;
|
|
133
|
+
if (!this.showActions) {
|
|
134
|
+
this.rangeValue = { start: '', end: '' };
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
};
|
|
59
139
|
/**
|
|
60
140
|
* Change the displayed month
|
|
61
141
|
* @param {number} offset - Month offset (-1 for previous, 1 for next)
|
|
@@ -103,7 +183,14 @@ export class NvCalendar {
|
|
|
103
183
|
return;
|
|
104
184
|
const formattedDate = formatDate(date, { dateFormat: this.dateFormat });
|
|
105
185
|
this.selectedDate = date;
|
|
106
|
-
|
|
186
|
+
// Update the unified value prop (like nv-fieldslider)
|
|
187
|
+
this.value = formattedDate;
|
|
188
|
+
this.valueChanged.emit(formattedDate);
|
|
189
|
+
// Legacy support (deprecated) - only sync props if not using actions
|
|
190
|
+
if (!this.showActions) {
|
|
191
|
+
this.singleValue = formattedDate;
|
|
192
|
+
this.singleDateChange.emit(formattedDate);
|
|
193
|
+
}
|
|
107
194
|
};
|
|
108
195
|
/**
|
|
109
196
|
* Handles range date selection
|
|
@@ -111,18 +198,32 @@ export class NvCalendar {
|
|
|
111
198
|
*/
|
|
112
199
|
this.handleRangeSelection = (date) => {
|
|
113
200
|
if (!this.startDate || (this.startDate && this.endDate)) {
|
|
201
|
+
// Start new range selection
|
|
114
202
|
this.startDate = date;
|
|
115
203
|
this.endDate = null;
|
|
116
204
|
}
|
|
117
205
|
else {
|
|
206
|
+
// Complete range selection
|
|
118
207
|
this.endDate = date;
|
|
208
|
+
// Ensure correct order
|
|
119
209
|
if (this.startDate > this.endDate) {
|
|
120
210
|
[this.startDate, this.endDate] = [this.endDate, this.startDate];
|
|
121
211
|
}
|
|
122
|
-
this.
|
|
123
|
-
|
|
124
|
-
|
|
212
|
+
const startFormatted = formatDate(this.startDate, {
|
|
213
|
+
dateFormat: this.dateFormat,
|
|
214
|
+
});
|
|
215
|
+
const endFormatted = formatDate(this.endDate, {
|
|
216
|
+
dateFormat: this.dateFormat,
|
|
125
217
|
});
|
|
218
|
+
// Update the unified value prop (like nv-fieldslider)
|
|
219
|
+
this.value = `${startFormatted},${endFormatted}`;
|
|
220
|
+
this.valueChanged.emit(this.value);
|
|
221
|
+
// Legacy support (deprecated) - only sync props if not using actions
|
|
222
|
+
if (!this.showActions) {
|
|
223
|
+
const legacyRange = { start: startFormatted, end: endFormatted };
|
|
224
|
+
this.rangeDateChange.emit(legacyRange);
|
|
225
|
+
this.rangeValue = legacyRange;
|
|
226
|
+
}
|
|
126
227
|
}
|
|
127
228
|
};
|
|
128
229
|
/**
|
|
@@ -181,23 +282,35 @@ export class NvCalendar {
|
|
|
181
282
|
* @returns {string[]} Array of short day names
|
|
182
283
|
*/
|
|
183
284
|
this.getDayNames = () => {
|
|
285
|
+
let days;
|
|
184
286
|
// If we have custom day names for this locale
|
|
185
287
|
if (CUSTOM_DAY_NAMES[this.locale]) {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
288
|
+
// Custom day names are expected to start with Monday (index 0 = Monday)
|
|
289
|
+
days = [...CUSTOM_DAY_NAMES[this.locale]];
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
// Generate days using Intl.DateTimeFormat, starting from Monday
|
|
293
|
+
const formatter = new Intl.DateTimeFormat(this.locale, {
|
|
294
|
+
weekday: 'short',
|
|
295
|
+
});
|
|
296
|
+
// Generate days starting from Monday (2023-01-02 was a Monday)
|
|
297
|
+
days = [...Array(7)].map((_, i) => formatter.format(new Date(2023, 0, i + 2)).toUpperCase());
|
|
298
|
+
}
|
|
299
|
+
// Now reorganize based on firstDayOfWeek
|
|
300
|
+
// 0 = Sunday, 1 = Monday (default), 2 = Tuesday, etc.
|
|
301
|
+
if (this.firstDayOfWeek === 0) {
|
|
302
|
+
// If Sunday is first day, move Sunday (last element) to the beginning
|
|
303
|
+
return [days[6], ...days.slice(0, 6)];
|
|
304
|
+
}
|
|
305
|
+
else if (this.firstDayOfWeek === 1) {
|
|
306
|
+
// If Monday is first day, return as-is (since our array starts with Monday)
|
|
307
|
+
return days;
|
|
308
|
+
}
|
|
309
|
+
else {
|
|
310
|
+
// For other first days (Tuesday=2, Wednesday=3, etc.)
|
|
311
|
+
const offset = this.firstDayOfWeek - 1; // Convert to 0-based offset from Monday
|
|
312
|
+
return [...days.slice(offset), ...days.slice(0, offset)];
|
|
191
313
|
}
|
|
192
|
-
// Otherwise, use the default behavior
|
|
193
|
-
const formatter = new Intl.DateTimeFormat(this.locale, {
|
|
194
|
-
weekday: 'short',
|
|
195
|
-
});
|
|
196
|
-
const days = [...Array(7)].map((_, i) => formatter.format(new Date(2023, 0, i + 1)).toUpperCase());
|
|
197
|
-
// Reorganize the days based on the first day of the week
|
|
198
|
-
const firstDays = days.slice(0, this.firstDayOfWeek);
|
|
199
|
-
const remainingDays = days.slice(this.firstDayOfWeek);
|
|
200
|
-
return [...remainingDays, ...firstDays];
|
|
201
314
|
};
|
|
202
315
|
/**
|
|
203
316
|
* Generates the days of the current month
|
|
@@ -378,8 +491,15 @@ export class NvCalendar {
|
|
|
378
491
|
if (shortcut.singleValue) {
|
|
379
492
|
const newDate = parseDate(shortcut.singleValue, this.dateFormat);
|
|
380
493
|
this.selectedDate = newDate;
|
|
381
|
-
|
|
382
|
-
|
|
494
|
+
const formattedDate = formatDate(newDate, {
|
|
495
|
+
dateFormat: this.dateFormat,
|
|
496
|
+
});
|
|
497
|
+
// Update the unified value prop (like nv-fieldslider)
|
|
498
|
+
this.value = formattedDate;
|
|
499
|
+
this.valueChanged.emit(formattedDate);
|
|
500
|
+
// Legacy support (deprecated) - sync props
|
|
501
|
+
this.singleValue = formattedDate;
|
|
502
|
+
this.singleDateChange.emit(formattedDate);
|
|
383
503
|
if (!this.showActions) {
|
|
384
504
|
const event = new CustomEvent('closePopover', {
|
|
385
505
|
bubbles: true,
|
|
@@ -394,14 +514,18 @@ export class NvCalendar {
|
|
|
394
514
|
const end = parseDate(shortcut.rangeValue.end, this.dateFormat);
|
|
395
515
|
this.startDate = start;
|
|
396
516
|
this.endDate = end;
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
end: formatDate(end, { dateFormat: this.dateFormat }),
|
|
517
|
+
const startFormatted = formatDate(start, {
|
|
518
|
+
dateFormat: this.dateFormat,
|
|
400
519
|
});
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
520
|
+
const endFormatted = formatDate(end, { dateFormat: this.dateFormat });
|
|
521
|
+
// Update the unified value prop (like nv-fieldslider)
|
|
522
|
+
this.value = `${startFormatted},${endFormatted}`;
|
|
523
|
+
this.valueChanged.emit(this.value);
|
|
524
|
+
// Legacy support (deprecated) - sync props
|
|
525
|
+
const legacyRange = { start: startFormatted, end: endFormatted };
|
|
526
|
+
this.rangeDateChange.emit(legacyRange);
|
|
527
|
+
// eslint-disable-next-line @stencil-community/strict-mutable
|
|
528
|
+
this.rangeValue = legacyRange;
|
|
405
529
|
if (!this.showActions) {
|
|
406
530
|
const event = new CustomEvent('closePopover', {
|
|
407
531
|
bubbles: true,
|
|
@@ -409,103 +533,15 @@ export class NvCalendar {
|
|
|
409
533
|
});
|
|
410
534
|
this.el.dispatchEvent(event);
|
|
411
535
|
}
|
|
412
|
-
this.
|
|
536
|
+
this.currentDate = start;
|
|
413
537
|
}
|
|
414
538
|
};
|
|
415
539
|
/**
|
|
416
|
-
* Method to force the complete calendar update
|
|
540
|
+
* Method to force the complete calendar update
|
|
417
541
|
* @param {Date} newDate - Date to force
|
|
418
542
|
*/
|
|
419
543
|
this.forceCalendarUpdate = newDate => {
|
|
420
544
|
this.currentDate = new Date(newDate);
|
|
421
|
-
this.currentDate = new Date(this.currentDate); // Force a re-render
|
|
422
|
-
// Reset visually the hover/touch effect
|
|
423
|
-
requestAnimationFrame(() => {
|
|
424
|
-
const days = document.querySelectorAll('.day');
|
|
425
|
-
days.forEach(el => {
|
|
426
|
-
el.classList.remove('hover', 'active', 'touched');
|
|
427
|
-
el.style.pointerEvents = 'none';
|
|
428
|
-
});
|
|
429
|
-
// Add specific touch handling (for mobile)
|
|
430
|
-
document.body.addEventListener('touchstart', this.clearTouchState, {
|
|
431
|
-
passive: true,
|
|
432
|
-
});
|
|
433
|
-
// Reset the touch state after 50ms
|
|
434
|
-
setTimeout(() => {
|
|
435
|
-
days.forEach(el => {
|
|
436
|
-
el.style.pointerEvents = '';
|
|
437
|
-
});
|
|
438
|
-
}, 50);
|
|
439
|
-
});
|
|
440
|
-
};
|
|
441
|
-
/**
|
|
442
|
-
* Function to reset the touch effect (Mobile fix)
|
|
443
|
-
*/
|
|
444
|
-
this.clearTouchState = () => {
|
|
445
|
-
document.querySelectorAll('.day').forEach(el => {
|
|
446
|
-
el.classList.remove('touched');
|
|
447
|
-
});
|
|
448
|
-
// Remove the listener after the first interaction
|
|
449
|
-
document.body.removeEventListener('touchstart', this.clearTouchState);
|
|
450
|
-
};
|
|
451
|
-
/**
|
|
452
|
-
* Handles month change with an offset
|
|
453
|
-
* @param {number} direction - Direction (-1 for previous, 1 for next)
|
|
454
|
-
* @returns {Function} Change month handler
|
|
455
|
-
*/
|
|
456
|
-
this.getChangeMonthHandler = (direction) => {
|
|
457
|
-
return () => this.changeMonth(direction);
|
|
458
|
-
};
|
|
459
|
-
/**
|
|
460
|
-
* Handles month change from an event (ex: dropdown)
|
|
461
|
-
* @param {number} offset - Month offset (0 by default)
|
|
462
|
-
* @returns {Function} Change month handler
|
|
463
|
-
*/
|
|
464
|
-
this.getHandleMonthChange = (offset) => {
|
|
465
|
-
return (event) => this.handleMonthChange(event, offset);
|
|
466
|
-
};
|
|
467
|
-
/**
|
|
468
|
-
* Handles year change from an event (ex: dropdown)
|
|
469
|
-
* @param {number} offset - Year offset (0 by default)
|
|
470
|
-
* @returns {Function} Change year handler
|
|
471
|
-
*/
|
|
472
|
-
this.getHandleYearChange = (offset) => {
|
|
473
|
-
return (event) => this.handleYearChange(event, offset);
|
|
474
|
-
};
|
|
475
|
-
/**
|
|
476
|
-
* Handles day click
|
|
477
|
-
* @param {Date} date - Date to handle
|
|
478
|
-
* @param {boolean} isDisabled - Whether the date is disabled
|
|
479
|
-
* @returns {Function} Day click handler
|
|
480
|
-
*/
|
|
481
|
-
this.getDayClickHandler = (date, isDisabled) => {
|
|
482
|
-
return isDisabled ? undefined : () => this.handleDateSelection(date);
|
|
483
|
-
};
|
|
484
|
-
/**
|
|
485
|
-
* Handles shortcut selection
|
|
486
|
-
* @param {Object} shortcut - Shortcut to handle
|
|
487
|
-
* @param {string | Date} shortcut.singleValue - Selected date value
|
|
488
|
-
* @param {Object} shortcut.rangeValue - Start and end date values
|
|
489
|
-
* @param {string | Date} shortcut.rangeValue.start - Start date value
|
|
490
|
-
* @param {string | Date} shortcut.rangeValue.end - End date value
|
|
491
|
-
* @param {string} shortcut.label - Label
|
|
492
|
-
* @returns {Function} Shortcut selection handler
|
|
493
|
-
*/
|
|
494
|
-
this.getShortcutHandler = (shortcut) => {
|
|
495
|
-
return () => this.applyShortcut(shortcut);
|
|
496
|
-
};
|
|
497
|
-
/**
|
|
498
|
-
* Handles week selection
|
|
499
|
-
* @param {Date[]} dates - Dates to handle
|
|
500
|
-
* @param {number} index - Calendar index
|
|
501
|
-
* @returns {Function} Week selection handler
|
|
502
|
-
*/
|
|
503
|
-
this.getWeekSelectionHandler = (dates, index) => {
|
|
504
|
-
return () => {
|
|
505
|
-
if (this.selectionType === 'range') {
|
|
506
|
-
this.handleWeekSelection(dates, index);
|
|
507
|
-
}
|
|
508
|
-
};
|
|
509
545
|
};
|
|
510
546
|
/**
|
|
511
547
|
* Resets the current selection
|
|
@@ -513,14 +549,22 @@ export class NvCalendar {
|
|
|
513
549
|
this.resetSelection = () => {
|
|
514
550
|
if (this.selectionType === 'single') {
|
|
515
551
|
this.selectedDate = null;
|
|
552
|
+
// eslint-disable-next-line @stencil-community/strict-mutable
|
|
516
553
|
this.singleValue = null;
|
|
554
|
+
// eslint-disable-next-line @stencil-community/strict-mutable
|
|
555
|
+
this.value = '';
|
|
517
556
|
this.singleDateChange.emit('');
|
|
557
|
+
this.valueChanged.emit('');
|
|
518
558
|
}
|
|
519
559
|
else {
|
|
520
560
|
this.startDate = null;
|
|
521
561
|
this.endDate = null;
|
|
562
|
+
// eslint-disable-next-line @stencil-community/strict-mutable
|
|
522
563
|
this.rangeValue = null;
|
|
564
|
+
// eslint-disable-next-line @stencil-community/strict-mutable
|
|
565
|
+
this.value = '';
|
|
523
566
|
this.rangeDateChange.emit({ start: '', end: '' });
|
|
567
|
+
this.valueChanged.emit('');
|
|
524
568
|
}
|
|
525
569
|
};
|
|
526
570
|
/**
|
|
@@ -532,6 +576,7 @@ export class NvCalendar {
|
|
|
532
576
|
dateFormat: this.dateFormat,
|
|
533
577
|
});
|
|
534
578
|
this.singleDateChange.emit(dateStr);
|
|
579
|
+
// eslint-disable-next-line @stencil-community/strict-mutable
|
|
535
580
|
this.singleValue = dateStr;
|
|
536
581
|
const event = new CustomEvent('closePopover', {
|
|
537
582
|
bubbles: true,
|
|
@@ -546,6 +591,7 @@ export class NvCalendar {
|
|
|
546
591
|
start: formatDate(this.startDate, { dateFormat: this.dateFormat }),
|
|
547
592
|
end: formatDate(this.endDate, { dateFormat: this.dateFormat }),
|
|
548
593
|
});
|
|
594
|
+
// eslint-disable-next-line @stencil-community/strict-mutable
|
|
549
595
|
this.rangeValue = {
|
|
550
596
|
start: formatDate(this.startDate, { dateFormat: this.dateFormat }),
|
|
551
597
|
end: formatDate(this.endDate, { dateFormat: this.dateFormat }),
|
|
@@ -568,8 +614,7 @@ export class NvCalendar {
|
|
|
568
614
|
* @description Renders the header of the calendar
|
|
569
615
|
*/
|
|
570
616
|
this.renderHeader = (offset, index) => {
|
|
571
|
-
return (h(
|
|
572
|
-
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" }))));
|
|
617
|
+
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 }));
|
|
573
618
|
};
|
|
574
619
|
/**
|
|
575
620
|
* Renders the week numbers
|
|
@@ -583,42 +628,7 @@ export class NvCalendar {
|
|
|
583
628
|
weeks,
|
|
584
629
|
/** Calendar index */
|
|
585
630
|
index) => {
|
|
586
|
-
return (h(
|
|
587
|
-
var _a;
|
|
588
|
-
const dates = week.map(d => d.date);
|
|
589
|
-
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())));
|
|
590
|
-
})));
|
|
591
|
-
};
|
|
592
|
-
this.renderDaysGrid = (
|
|
593
|
-
/** Days to render */
|
|
594
|
-
days) => {
|
|
595
|
-
return (h("div", { class: "days-grid" }, days.map(day => {
|
|
596
|
-
const date = day.date;
|
|
597
|
-
if (!date)
|
|
598
|
-
return null;
|
|
599
|
-
const isSelected = this.selectionType === 'single' &&
|
|
600
|
-
isSameDate(date, this.selectedDate, { isUTCMode: this.isUTCMode });
|
|
601
|
-
const isInRange = this.isDateInRange(date);
|
|
602
|
-
const isStart = isSameDate(date, this.startDate, {
|
|
603
|
-
isUTCMode: this.isUTCMode,
|
|
604
|
-
});
|
|
605
|
-
const isEnd = isSameDate(date, this.endDate, {
|
|
606
|
-
isUTCMode: this.isUTCMode,
|
|
607
|
-
});
|
|
608
|
-
const isToday = this.isToday(date);
|
|
609
|
-
const isOutsideMonth = !day.isCurrentMonth;
|
|
610
|
-
const dayClasses = [
|
|
611
|
-
'day',
|
|
612
|
-
isSelected ? 'selected' : '',
|
|
613
|
-
isStart ? 'range-start' : '',
|
|
614
|
-
isEnd ? 'range-end' : '',
|
|
615
|
-
isInRange ? 'in-range' : '',
|
|
616
|
-
day.isDisabled ? 'disabled' : '',
|
|
617
|
-
isOutsideMonth ? 'outside-month' : '',
|
|
618
|
-
isToday ? 'is-today' : '',
|
|
619
|
-
];
|
|
620
|
-
return (h("div", { class: dayClasses.filter(Boolean).join(' '), onClick: this.getDayClickHandler(date, day.isDisabled), "aria-disabled": day.isDisabled, key: `day-${date.toISOString()}` }, day.dayOfMonth));
|
|
621
|
-
})));
|
|
631
|
+
return (h(WeekNumbers, { weeks: weeks, localizedWeekText: this.getLocalizedWeekText(), selectionType: this.selectionType, onWeekSelect: this.handleWeekSelection, calendarIndex: index }));
|
|
622
632
|
};
|
|
623
633
|
/**
|
|
624
634
|
* Renders the calendar
|
|
@@ -637,7 +647,7 @@ export class NvCalendar {
|
|
|
637
647
|
for (let i = 0; i < days.length; i += 7) {
|
|
638
648
|
weeks.push(days.slice(i, i + 7));
|
|
639
649
|
}
|
|
640
|
-
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(
|
|
650
|
+
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" }))));
|
|
641
651
|
};
|
|
642
652
|
/**
|
|
643
653
|
* Renders the shortcuts
|
|
@@ -648,7 +658,7 @@ export class NvCalendar {
|
|
|
648
658
|
if (!this.hasShortcuts) {
|
|
649
659
|
return null;
|
|
650
660
|
}
|
|
651
|
-
return (h(
|
|
661
|
+
return (h(CalendarShortcuts, { shortcuts: this.shortcuts, placement: this.shortcutsPlacement, onShortcutClick: this.applyShortcut }));
|
|
652
662
|
};
|
|
653
663
|
/**
|
|
654
664
|
* Renders the actions
|
|
@@ -657,7 +667,7 @@ export class NvCalendar {
|
|
|
657
667
|
* @slot actions - Child content of the component.
|
|
658
668
|
*/
|
|
659
669
|
this.renderActions = () => {
|
|
660
|
-
return (h("div", { class: "datepicker-actions" }, h("slot", { name: "actions" }, h(
|
|
670
|
+
return (h("div", { class: "datepicker-actions" }, h("slot", { name: "actions" }, h(CalendarActions, { onReset: this.resetSelection, onConfirm: this.confirmSelection, useSlot: false }))));
|
|
661
671
|
};
|
|
662
672
|
}
|
|
663
673
|
//#endregion EVENTS
|
|
@@ -685,7 +695,11 @@ export class NvCalendar {
|
|
|
685
695
|
const { startDate, endDate } = this.validateDateRange(newValue.start, newValue.end);
|
|
686
696
|
this.startDate = startDate;
|
|
687
697
|
this.endDate = endDate;
|
|
688
|
-
|
|
698
|
+
// Do not navigate to the start date if data-prevent-navigation attribute is present
|
|
699
|
+
const preventNavigation = this.el.getAttribute('data-prevent-navigation') === 'true';
|
|
700
|
+
if (!preventNavigation) {
|
|
701
|
+
this.currentDate = startDate;
|
|
702
|
+
}
|
|
689
703
|
}
|
|
690
704
|
catch (error) {
|
|
691
705
|
console.error('Invalid rangeValue:', error);
|
|
@@ -709,16 +723,34 @@ export class NvCalendar {
|
|
|
709
723
|
const parsedDate = parseDate(newValue, this.dateFormat);
|
|
710
724
|
if (parsedDate) {
|
|
711
725
|
this.selectedDate = parsedDate;
|
|
712
|
-
|
|
726
|
+
// Do not navigate to the selected date if data-prevent-navigation attribute is present
|
|
727
|
+
const preventNavigation = this.el.getAttribute('data-prevent-navigation') === 'true';
|
|
728
|
+
if (!preventNavigation) {
|
|
729
|
+
this.currentDate = parsedDate;
|
|
730
|
+
}
|
|
713
731
|
}
|
|
714
732
|
}
|
|
715
733
|
}
|
|
734
|
+
/**
|
|
735
|
+
* Watches the changes of the unified value prop
|
|
736
|
+
* @param {string} newValue - New value
|
|
737
|
+
* @param {string} oldValue - Old value
|
|
738
|
+
*/
|
|
739
|
+
onValueChange(newValue, oldValue) {
|
|
740
|
+
if (newValue !== oldValue) {
|
|
741
|
+
this.parseUnifiedValue(newValue);
|
|
742
|
+
}
|
|
743
|
+
}
|
|
716
744
|
//#endregion WATCHERS
|
|
717
745
|
/****************************************************************************/
|
|
718
746
|
//#region LIFECYCLE
|
|
719
747
|
componentWillLoad() {
|
|
720
748
|
this.parseDisabledDates();
|
|
721
|
-
|
|
749
|
+
// Initialize from unified value prop if provided
|
|
750
|
+
if (this.value) {
|
|
751
|
+
this.parseUnifiedValue(this.value);
|
|
752
|
+
}
|
|
753
|
+
else if (this.selectionType === 'single' && this.singleValue) {
|
|
722
754
|
this.selectedDate = parseDate(this.singleValue, this.dateFormat);
|
|
723
755
|
this.currentDate = this.selectedDate;
|
|
724
756
|
}
|
|
@@ -731,6 +763,7 @@ export class NvCalendar {
|
|
|
731
763
|
this.currentDate = startDate;
|
|
732
764
|
if (swapped) {
|
|
733
765
|
// If dates were swapped, update the rangeValue property
|
|
766
|
+
// eslint-disable-next-line @stencil-community/strict-mutable
|
|
734
767
|
this.rangeValue = {
|
|
735
768
|
start: formatDate(startDate, { dateFormat: this.dateFormat }),
|
|
736
769
|
end: formatDate(endDate, { dateFormat: this.dateFormat }),
|
|
@@ -742,7 +775,8 @@ export class NvCalendar {
|
|
|
742
775
|
console.error('Invalid rangeValue:', error);
|
|
743
776
|
}
|
|
744
777
|
}
|
|
745
|
-
|
|
778
|
+
// Ensure currentDate is always initialized
|
|
779
|
+
if (!this.currentDate) {
|
|
746
780
|
this.currentDate = new Date();
|
|
747
781
|
}
|
|
748
782
|
this.initializeMonths();
|
|
@@ -812,8 +846,8 @@ export class NvCalendar {
|
|
|
812
846
|
* @slot default - Child content of the component.
|
|
813
847
|
*/
|
|
814
848
|
render() {
|
|
815
|
-
return (h(Host, { key: '
|
|
816
|
-
this.hasActions) && (h("div", { key: '
|
|
849
|
+
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') ||
|
|
850
|
+
this.hasActions) && (h("div", { key: '1765334bf15564bc9886b210c54bddba64c7042e', class: "datepicker-controls" }, this.shortcutsPlacement === 'bottom' && this.renderShortcuts(), this.hasActions && this.renderActions())))), h("slot", { key: '0ac3446394b8c23b859e5f0065370b95b6fd05d2' })));
|
|
817
851
|
}
|
|
818
852
|
static get is() { return "nv-calendar"; }
|
|
819
853
|
static get originalStyleUrls() {
|
|
@@ -841,7 +875,7 @@ export class NvCalendar {
|
|
|
841
875
|
"docs": {
|
|
842
876
|
"tags": [{
|
|
843
877
|
"name": "default",
|
|
844
|
-
"text": "
|
|
878
|
+
"text": "1"
|
|
845
879
|
}],
|
|
846
880
|
"text": "First day of the week (0 = Sunday, 1 = Monday, etc.)"
|
|
847
881
|
},
|
|
@@ -849,7 +883,7 @@ export class NvCalendar {
|
|
|
849
883
|
"setter": false,
|
|
850
884
|
"attribute": "first-day-of-week",
|
|
851
885
|
"reflect": true,
|
|
852
|
-
"defaultValue": "
|
|
886
|
+
"defaultValue": "1"
|
|
853
887
|
},
|
|
854
888
|
"numberOfCalendars": {
|
|
855
889
|
"type": "number",
|
|
@@ -874,6 +908,29 @@ export class NvCalendar {
|
|
|
874
908
|
"reflect": true,
|
|
875
909
|
"defaultValue": "1"
|
|
876
910
|
},
|
|
911
|
+
"value": {
|
|
912
|
+
"type": "string",
|
|
913
|
+
"mutable": true,
|
|
914
|
+
"complexType": {
|
|
915
|
+
"original": "string",
|
|
916
|
+
"resolved": "string",
|
|
917
|
+
"references": {}
|
|
918
|
+
},
|
|
919
|
+
"required": false,
|
|
920
|
+
"optional": false,
|
|
921
|
+
"docs": {
|
|
922
|
+
"tags": [{
|
|
923
|
+
"name": "default",
|
|
924
|
+
"text": "\"\""
|
|
925
|
+
}],
|
|
926
|
+
"text": "Selected date value. For single mode: ISO date string. For range mode: comma-separated ISO date strings.\nExamples:\n- Single: \"2025-03-15\"\n- Range: \"2025-03-15,2025-03-20\""
|
|
927
|
+
},
|
|
928
|
+
"getter": false,
|
|
929
|
+
"setter": false,
|
|
930
|
+
"attribute": "value",
|
|
931
|
+
"reflect": true,
|
|
932
|
+
"defaultValue": "''"
|
|
933
|
+
},
|
|
877
934
|
"singleValue": {
|
|
878
935
|
"type": "string",
|
|
879
936
|
"mutable": true,
|
|
@@ -1176,6 +1233,24 @@ export class NvCalendar {
|
|
|
1176
1233
|
}
|
|
1177
1234
|
}
|
|
1178
1235
|
}
|
|
1236
|
+
}, {
|
|
1237
|
+
"method": "valueChanged",
|
|
1238
|
+
"name": "valueChanged",
|
|
1239
|
+
"bubbles": true,
|
|
1240
|
+
"cancelable": true,
|
|
1241
|
+
"composed": true,
|
|
1242
|
+
"docs": {
|
|
1243
|
+
"tags": [{
|
|
1244
|
+
"name": "bind",
|
|
1245
|
+
"text": "value"
|
|
1246
|
+
}],
|
|
1247
|
+
"text": "Emitted when the unified value changes"
|
|
1248
|
+
},
|
|
1249
|
+
"complexType": {
|
|
1250
|
+
"original": "string",
|
|
1251
|
+
"resolved": "string",
|
|
1252
|
+
"references": {}
|
|
1253
|
+
}
|
|
1179
1254
|
}];
|
|
1180
1255
|
}
|
|
1181
1256
|
static get elementRef() { return "el"; }
|
|
@@ -1192,6 +1267,9 @@ export class NvCalendar {
|
|
|
1192
1267
|
}, {
|
|
1193
1268
|
"propName": "singleValue",
|
|
1194
1269
|
"methodName": "onSingleValueChange"
|
|
1270
|
+
}, {
|
|
1271
|
+
"propName": "value",
|
|
1272
|
+
"methodName": "onValueChange"
|
|
1195
1273
|
}];
|
|
1196
1274
|
}
|
|
1197
1275
|
}
|