@nova-design-system/nova-webcomponents 3.6.0 → 3.7.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/loader.cjs.js +1 -1
- package/dist/cjs/native.cjs.js +1 -1
- package/dist/cjs/nv-accordion-item.cjs.entry.js +2 -2
- package/dist/cjs/nv-accordion-item.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-accordion.cjs.entry.js +16 -43
- package/dist/cjs/nv-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-badge_2.cjs.entry.js +1 -1
- package/dist/cjs/nv-badge_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-calendar.cjs.entry.js +96 -75
- package/dist/cjs/nv-calendar.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +4 -4
- package/dist/cjs/nv-fieldcheckbox.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddate.cjs.entry.js +26 -5
- package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddaterange.cjs.entry.js +32 -4
- package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddropdown.cjs.entry.js +3 -3
- package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +14 -6
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldnumber.cjs.entry.js +3 -3
- package/dist/cjs/nv-fieldpassword.cjs.entry.js +3 -3
- package/dist/cjs/nv-fieldradio.cjs.entry.js +3 -3
- package/dist/cjs/nv-fieldselect.cjs.entry.js +5 -5
- package/dist/cjs/nv-fieldslider.cjs.entry.js +3 -3
- package/dist/cjs/nv-fieldtext.cjs.entry.js +3 -3
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js +3 -3
- package/dist/cjs/nv-fieldtime.cjs.entry.js +10 -10
- package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-icon.cjs.entry.js +1 -1
- package/dist/cjs/nv-iconbutton_2.cjs.entry.js +2 -2
- package/dist/cjs/nv-menu.cjs.entry.js +1 -1
- package/dist/cjs/nv-menuitem.cjs.entry.js +1 -1
- package/dist/cjs/nv-popover.cjs.entry.js +1 -1
- package/dist/cjs/nv-row.cjs.entry.js +1 -1
- package/dist/cjs/nv-stack.cjs.entry.js +1 -1
- package/dist/cjs/nv-table.cjs.entry.js +2 -2
- package/dist/cjs/nv-toggle.cjs.entry.js +2 -2
- package/dist/cjs/nv-tooltip.cjs.entry.js +1 -1
- package/dist/collection/components/nv-accordion/nv-accordion.docs.js +17 -10
- package/dist/collection/components/nv-accordion/nv-accordion.docs.js.map +1 -1
- package/dist/collection/components/nv-accordion/nv-accordion.js +23 -55
- package/dist/collection/components/nv-accordion/nv-accordion.js.map +1 -1
- package/dist/collection/components/nv-accordion-item/nv-accordion-item.js +5 -5
- package/dist/collection/components/nv-accordion-item/nv-accordion-item.js.map +1 -1
- package/dist/collection/components/nv-calendar/nv-calendar.css +5 -0
- package/dist/collection/components/nv-calendar/nv-calendar.js +113 -74
- package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -1
- package/dist/collection/components/nv-calendar/partials/calendar-grid.js +3 -0
- package/dist/collection/components/nv-calendar/partials/calendar-grid.js.map +1 -1
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +6 -4
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js.map +1 -1
- package/dist/collection/components/nv-fielddate/nv-fielddate.js +51 -5
- package/dist/collection/components/nv-fielddate/nv-fielddate.js.map +1 -1
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +61 -4
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +1 -1
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +3 -3
- package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +1 -1
- package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +7 -1
- package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js.map +1 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +8 -8
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +14 -6
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +3 -3
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +3 -3
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +5 -5
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +3 -3
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +3 -3
- 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/nv-fieldtime.js.map +1 -1
- package/dist/collection/components/nv-fieldtime/styles/nv-fieldtime.css +11 -13
- package/dist/collection/components/nv-icon/nv-icon.js +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 +1 -1
- 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.js +1 -1
- package/dist/components/nv-accordion-item.js +1 -1
- package/dist/components/nv-accordion.js +22 -52
- package/dist/components/nv-accordion.js.map +1 -1
- package/dist/components/nv-alert.js +1 -1
- package/dist/components/nv-avatar.js +1 -1
- package/dist/components/nv-badge.js +1 -1
- package/dist/components/nv-breadcrumb.js +2 -2
- package/dist/components/nv-button.js +1 -1
- package/dist/components/nv-calendar.js +1 -1
- package/dist/components/nv-datagrid.js +2 -2
- package/dist/components/nv-dialog.js +4 -4
- package/dist/components/nv-dialogfooter.js +1 -1
- package/dist/components/nv-fieldcheckbox.js +1 -1
- package/dist/components/nv-fielddate.js +34 -12
- package/dist/components/nv-fielddate.js.map +1 -1
- package/dist/components/nv-fielddaterange.js +40 -11
- package/dist/components/nv-fielddaterange.js.map +1 -1
- package/dist/components/nv-fielddropdown.js +8 -8
- package/dist/components/nv-fielddropdownitem.js +1 -1
- package/dist/components/nv-fielddropdownitemcheck.js +1 -1
- package/dist/components/nv-fieldmultiselect.js +21 -13
- package/dist/components/nv-fieldmultiselect.js.map +1 -1
- package/dist/components/nv-fieldnumber.js +1 -1
- package/dist/components/nv-fieldpassword.js +6 -6
- package/dist/components/nv-fieldradio.js +3 -3
- package/dist/components/nv-fieldselect.js +8 -8
- package/dist/components/nv-fieldslider.js +7 -7
- package/dist/components/nv-fieldtext.js +1 -1
- package/dist/components/nv-fieldtextarea.js +3 -3
- package/dist/components/nv-fieldtime.js +14 -14
- 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 +4 -4
- package/dist/components/nv-menuitem.js +1 -1
- package/dist/components/nv-popover.js +1 -1
- package/dist/components/nv-row.js +1 -1
- package/dist/components/nv-stack.js +1 -1
- package/dist/components/nv-table.js +2 -2
- package/dist/components/nv-toggle.js +2 -2
- package/dist/components/nv-tooltip.js +1 -1
- package/dist/components/{p-9ed7a440.js → p-0143cee0.js} +5 -5
- package/dist/components/p-0143cee0.js.map +1 -0
- package/dist/components/{p-d2b4441a.js → p-07550eac.js} +3 -3
- package/dist/components/{p-d2b4441a.js.map → p-07550eac.js.map} +1 -1
- package/dist/components/{p-f266b533.js → p-12258eef.js} +5 -5
- package/dist/components/{p-f266b533.js.map → p-12258eef.js.map} +1 -1
- package/dist/components/{p-316ae8e3.js → p-144e80f0.js} +4 -4
- package/dist/components/{p-316ae8e3.js.map → p-144e80f0.js.map} +1 -1
- package/dist/components/{p-230ad6c5.js → p-44df0d22.js} +7 -7
- package/dist/components/p-44df0d22.js.map +1 -0
- package/dist/components/{p-8a5b0f74.js → p-5d5668f0.js} +2 -2
- package/dist/components/{p-8a5b0f74.js.map → p-5d5668f0.js.map} +1 -1
- package/dist/components/{p-618ae85a.js → p-8067d283.js} +2 -2
- package/dist/components/{p-618ae85a.js.map → p-8067d283.js.map} +1 -1
- package/dist/components/{p-5e89eb9d.js → p-8b82a6f4.js} +7 -7
- package/dist/components/{p-5e89eb9d.js.map → p-8b82a6f4.js.map} +1 -1
- package/dist/components/{p-9cff2fd1.js → p-91a558eb.js} +2 -2
- package/dist/components/{p-9cff2fd1.js.map → p-91a558eb.js.map} +1 -1
- package/dist/components/{p-436a0f99.js → p-ba87d9d5.js} +3 -3
- package/dist/components/{p-436a0f99.js.map → p-ba87d9d5.js.map} +1 -1
- package/dist/components/{p-840858ed.js → p-d32b75ac.js} +99 -77
- package/dist/components/p-d32b75ac.js.map +1 -0
- package/dist/components/{p-ac76a11c.js → p-d576d64f.js} +4 -4
- package/dist/components/{p-ac76a11c.js.map → p-d576d64f.js.map} +1 -1
- package/dist/components/{p-f1bbb9e8.js → p-dd7ff995.js} +2 -2
- package/dist/components/{p-f1bbb9e8.js.map → p-dd7ff995.js.map} +1 -1
- package/dist/components/{p-4864a690.js → p-dfd2d4f0.js} +2 -2
- package/dist/components/{p-4864a690.js.map → p-dfd2d4f0.js.map} +1 -1
- package/dist/components/{p-190c8f60.js → p-e104c58a.js} +4 -4
- package/dist/components/p-e104c58a.js.map +1 -0
- package/dist/components/{p-4069966e.js → p-e8e6f88a.js} +2 -2
- package/dist/components/{p-4069966e.js.map → p-e8e6f88a.js.map} +1 -1
- package/dist/components/{p-79b38dfb.js → p-f97d1cb1.js} +3 -3
- package/dist/components/{p-79b38dfb.js.map → p-f97d1cb1.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/native.js +1 -1
- package/dist/esm/nv-accordion-item.entry.js +2 -2
- package/dist/esm/nv-accordion-item.entry.js.map +1 -1
- package/dist/esm/nv-accordion.entry.js +16 -43
- package/dist/esm/nv-accordion.entry.js.map +1 -1
- package/dist/esm/nv-badge_2.entry.js +1 -1
- package/dist/esm/nv-badge_2.entry.js.map +1 -1
- package/dist/esm/nv-calendar.entry.js +96 -75
- package/dist/esm/nv-calendar.entry.js.map +1 -1
- package/dist/esm/nv-fieldcheckbox.entry.js +4 -4
- package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -1
- package/dist/esm/nv-fielddate.entry.js +26 -5
- package/dist/esm/nv-fielddate.entry.js.map +1 -1
- package/dist/esm/nv-fielddaterange.entry.js +32 -4
- package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
- package/dist/esm/nv-fielddropdown.entry.js +3 -3
- package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
- package/dist/esm/nv-fieldmultiselect.entry.js +14 -6
- package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
- package/dist/esm/nv-fieldnumber.entry.js +3 -3
- package/dist/esm/nv-fieldpassword.entry.js +3 -3
- package/dist/esm/nv-fieldradio.entry.js +3 -3
- package/dist/esm/nv-fieldselect.entry.js +5 -5
- package/dist/esm/nv-fieldslider.entry.js +3 -3
- package/dist/esm/nv-fieldtext.entry.js +3 -3
- package/dist/esm/nv-fieldtextarea.entry.js +3 -3
- package/dist/esm/nv-fieldtime.entry.js +10 -10
- package/dist/esm/nv-fieldtime.entry.js.map +1 -1
- package/dist/esm/nv-icon.entry.js +1 -1
- package/dist/esm/nv-iconbutton_2.entry.js +2 -2
- package/dist/esm/nv-menu.entry.js +1 -1
- package/dist/esm/nv-menuitem.entry.js +1 -1
- package/dist/esm/nv-popover.entry.js +1 -1
- package/dist/esm/nv-row.entry.js +1 -1
- package/dist/esm/nv-stack.entry.js +1 -1
- package/dist/esm/nv-table.entry.js +2 -2
- package/dist/esm/nv-toggle.entry.js +2 -2
- package/dist/esm/nv-tooltip.entry.js +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-051db87c.entry.js +2 -0
- package/dist/native/p-051db87c.entry.js.map +1 -0
- package/dist/native/{p-c9cde996.entry.js → p-0e005d95.entry.js} +2 -2
- package/dist/native/{p-33e5037d.entry.js → p-10ce53ea.entry.js} +2 -2
- package/dist/native/{p-cf468c67.entry.js → p-12039da4.entry.js} +2 -2
- package/dist/native/{p-b829383a.entry.js → p-16ef7dd4.entry.js} +2 -2
- package/dist/native/{p-0ada0382.entry.js → p-2a6783ca.entry.js} +2 -2
- package/dist/native/p-2a6783ca.entry.js.map +1 -0
- package/dist/native/{p-ddb0b9f6.entry.js → p-34bf336f.entry.js} +2 -2
- package/dist/native/{p-625be06b.entry.js → p-3f139780.entry.js} +2 -2
- package/dist/native/{p-c2826f22.entry.js → p-40fa3328.entry.js} +2 -2
- package/dist/native/{p-8030c16b.entry.js → p-4b15cff3.entry.js} +2 -2
- package/dist/native/{p-0ac03708.entry.js → p-516da423.entry.js} +2 -2
- package/dist/native/p-516da423.entry.js.map +1 -0
- package/dist/native/{p-f9aa4900.entry.js → p-64cb38e6.entry.js} +2 -2
- package/dist/native/{p-bab6d0a5.entry.js → p-67c34b8c.entry.js} +2 -2
- package/dist/native/{p-31e72603.entry.js → p-68edb2e8.entry.js} +2 -2
- package/dist/native/p-73c08f3b.entry.js +2 -0
- package/dist/native/p-73c08f3b.entry.js.map +1 -0
- package/dist/native/p-7703c736.entry.js +2 -0
- package/dist/native/p-7703c736.entry.js.map +1 -0
- package/dist/native/{p-1cce9b24.entry.js → p-916acbd3.entry.js} +2 -2
- package/dist/native/p-a50f3850.entry.js +2 -0
- package/dist/native/{p-2d23fcea.entry.js → p-a73fa60a.entry.js} +2 -2
- package/dist/native/{p-5eca22c7.entry.js → p-b3f9db23.entry.js} +2 -2
- package/dist/native/{p-5eca22c7.entry.js.map → p-b3f9db23.entry.js.map} +1 -1
- package/dist/native/{p-be67545e.entry.js → p-bba5cc9b.entry.js} +2 -2
- package/dist/native/{p-e802fbb8.entry.js → p-bee62b2b.entry.js} +2 -2
- package/dist/native/p-dc34da69.entry.js +2 -0
- package/dist/native/p-dc34da69.entry.js.map +1 -0
- package/dist/native/{p-2576c1a0.entry.js → p-f00a4552.entry.js} +2 -2
- package/dist/native/{p-609b3822.entry.js → p-f540db71.entry.js} +2 -2
- package/dist/native/{p-fca3e27d.entry.js → p-f687e05c.entry.js} +2 -2
- package/dist/native/p-f687e05c.entry.js.map +1 -0
- package/dist/native/{p-18831490.entry.js → p-fa81b77f.entry.js} +2 -2
- package/dist/native/p-fa81b77f.entry.js.map +1 -0
- package/dist/native/{p-e19a8885.entry.js → p-fcd52432.entry.js} +2 -2
- package/dist/types/components/nv-accordion/nv-accordion.d.ts +16 -49
- package/dist/types/components/nv-accordion-item/nv-accordion-item.d.ts +2 -2
- package/dist/types/components/nv-calendar/nv-calendar.d.ts +7 -1
- package/dist/types/components/nv-calendar/partials/calendar-grid.d.ts +2 -0
- package/dist/types/components/nv-fieldcheckbox/nv-fieldcheckbox.d.ts +2 -0
- package/dist/types/components/nv-fielddate/nv-fielddate.d.ts +5 -0
- package/dist/types/components/nv-fielddaterange/nv-fielddaterange.d.ts +5 -0
- package/dist/types/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.d.ts +6 -0
- package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +4 -0
- package/dist/types/components.d.ts +56 -10
- package/dist/vscode-data.json +1 -5
- package/hydrate/index.js +261 -200
- package/hydrate/index.mjs +261 -200
- package/package.json +1 -1
- package/readme.md +6 -0
- package/dist/components/p-190c8f60.js.map +0 -1
- package/dist/components/p-230ad6c5.js.map +0 -1
- package/dist/components/p-840858ed.js.map +0 -1
- package/dist/components/p-9ed7a440.js.map +0 -1
- package/dist/native/p-0ac03708.entry.js.map +0 -1
- package/dist/native/p-0ada0382.entry.js.map +0 -1
- package/dist/native/p-12963ae4.entry.js +0 -2
- package/dist/native/p-12963ae4.entry.js.map +0 -1
- package/dist/native/p-18831490.entry.js.map +0 -1
- package/dist/native/p-4cf00884.entry.js +0 -2
- package/dist/native/p-4cf00884.entry.js.map +0 -1
- package/dist/native/p-5172f17a.entry.js +0 -2
- package/dist/native/p-a6dc9b59.entry.js +0 -2
- package/dist/native/p-a6dc9b59.entry.js.map +0 -1
- package/dist/native/p-fca3e27d.entry.js.map +0 -1
- package/dist/native/p-fe4e516b.entry.js +0 -2
- package/dist/native/p-fe4e516b.entry.js.map +0 -1
- /package/dist/native/{p-c9cde996.entry.js.map → p-0e005d95.entry.js.map} +0 -0
- /package/dist/native/{p-33e5037d.entry.js.map → p-10ce53ea.entry.js.map} +0 -0
- /package/dist/native/{p-cf468c67.entry.js.map → p-12039da4.entry.js.map} +0 -0
- /package/dist/native/{p-b829383a.entry.js.map → p-16ef7dd4.entry.js.map} +0 -0
- /package/dist/native/{p-ddb0b9f6.entry.js.map → p-34bf336f.entry.js.map} +0 -0
- /package/dist/native/{p-625be06b.entry.js.map → p-3f139780.entry.js.map} +0 -0
- /package/dist/native/{p-c2826f22.entry.js.map → p-40fa3328.entry.js.map} +0 -0
- /package/dist/native/{p-8030c16b.entry.js.map → p-4b15cff3.entry.js.map} +0 -0
- /package/dist/native/{p-f9aa4900.entry.js.map → p-64cb38e6.entry.js.map} +0 -0
- /package/dist/native/{p-bab6d0a5.entry.js.map → p-67c34b8c.entry.js.map} +0 -0
- /package/dist/native/{p-31e72603.entry.js.map → p-68edb2e8.entry.js.map} +0 -0
- /package/dist/native/{p-1cce9b24.entry.js.map → p-916acbd3.entry.js.map} +0 -0
- /package/dist/native/{p-5172f17a.entry.js.map → p-a50f3850.entry.js.map} +0 -0
- /package/dist/native/{p-2d23fcea.entry.js.map → p-a73fa60a.entry.js.map} +0 -0
- /package/dist/native/{p-be67545e.entry.js.map → p-bba5cc9b.entry.js.map} +0 -0
- /package/dist/native/{p-e802fbb8.entry.js.map → p-bee62b2b.entry.js.map} +0 -0
- /package/dist/native/{p-2576c1a0.entry.js.map → p-f00a4552.entry.js.map} +0 -0
- /package/dist/native/{p-609b3822.entry.js.map → p-f540db71.entry.js.map} +0 -0
- /package/dist/native/{p-e19a8885.entry.js.map → p-fcd52432.entry.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["t","e","module","exports","this","n","r","i","s","u","a","o","c","f","h","d","l","$","y","M","name","weekdays","split","months","ordinal","m","String","length","Array","join","v","z","utcOffset","Math","abs","floor","date","year","month","clone","add","ceil","p","w","D","ms","Q","toLowerCase","replace","g","S","_","O","args","arguments","b","locale","$L","utc","$u","x","$x","$offset","parse","prototype","$d","Date","NaN","test","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","toString","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","apply","slice","$locale","weekStart","$set","min","daysInMonth","get","Number","round","subtract","format","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","k","forEach","extend","$i","isDayjs","en","Ls","LTS","LT","L","LL","LLL","LLLL","zone","offset","indexOf","concat","A","afternoon","milliseconds","SS","SSS","ss","mm","H","HH","hh","DD","Do","day","ww","MM","MMM","map","Error","MMMM","Y","YY","YYYY","Z","ZZ","formats","toUpperCase","regex","parser","exec","call","hours","customParseFormat","parseTwoDigitYear","minutes","seconds","week","local","getUTCFullYear","getUTCMonth","getUTCDate","getUTCDay","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","$localOffset","isUTC","yearStart","weeks","dayjs","weekOfYear","formatDate","options","isUTCMode","dateFormat","includes","isISO8601Format","ticks","isSameDate","compareDate","isSameOrBefore","isSameOrAfter","getWeekNumber","setUTCDate","week1","parseDate","dateInput","parsedDate","isNaN","error","console","unixSeconds","unixMilliseconds","parsed","DayCell","props","dayOfMonth","isCurrentMonth","isSelected","isInRange","isStart","isEnd","isToday","isDisabled","onClick","dayClasses","filter","Boolean","handleClick","class","CalendarActions","onReset","onConfirm","useSlot","emphasis","size","WeekNumbers","localizedWeekText","selectionType","onWeekSelect","calendarIndex","handleWeekClick","dates","createWeekHandler","weekIndex","firstDayWithDate","_a","find","weekNumber","isClickable","key","role","undefined","tabindex","CalendarShortcuts","shortcuts","placement","onShortcutClick","createShortcutHandler","shortcut","index","label","CalendarHeader","currentDate","numberOfCalendars","monthOffset","onMonthChange","onMonthSelect","onYearChange","createNavigationHandler","direction","createMonthSelectHandler","event","createYearChangeHandler","currentMonth","currentYear","onChange","value","selected","type","max","CalendarGrid","days","dayNames","selectedDate","startDate","endDate","onDayClick","isDateInRange","isBlank","isTodayDate","nvCalendarCss","NvCalendarStyle0","NvCalendar","constructor","hostRef","firstDayOfWeek","shortcutsPlacement","showActions","parsedDisabledDates","isUserClick","parseUnifiedValue","values","trim","singleValue","preventNavigation","el","getAttribute","warn","rangeValue","start","end","changeMonth","newDate","setUTCMonth","containers","querySelectorAll","container","classList","remove","animationClass","setTimeout","handleDateSelection","isDateDisabled","handleSingleSelection","handleRangeSelection","requestAnimationFrame","formattedDate","valueChanged","emit","singleDateChange","startFormatted","endFormatted","legacyRange","rangeDateChange","minDate","maxDate","some","disabledDate","checkDate","getDayNames","CUSTOM_DAY_NAMES","formatter","Intl","DateTimeFormat","weekday","getDaysInMonth","baseMonth","targetDate","firstDay","lastDay","dayOfWeekIndex","offsetDays","prevMonthDay","push","nextMonthDaysNeeded","initializeMonths","CUSTOM_MONTH_NAMES","from","getLocalizedWeekText","WEEK_ABBREVIATIONS","handleMonthChange","calendarOffset","select","target","selectedMonth","parseInt","targetCalendarDate","monthDiff","finalDate","handleYearChange","input","setUTCFullYear","handleWeekSelection","weekDays","allDays","weekEnd","selectedWeekDays","validDays","today","parseDisabledDates","disabledDates","applyShortcut","CustomEvent","bubbles","composed","dispatchEvent","forceCalendarUpdate","resetSelection","confirmSelection","dateStr","renderHeader","renderWeekNumbers","renderCalendar","showWeekNumbers","renderShortcuts","hasShortcuts","renderActions","validateNumberOfCalendars","newValue","onRangeValueChange","validateDateRange","handleDisabledDatesChange","onSingleValueChange","oldValue","onValueChange","componentWillLoad","swapped","hasActions","startDateStr","endDateStr","clear","render","Host"],"sources":["../../node_modules/dayjs/dayjs.min.js","../../node_modules/dayjs/plugin/customParseFormat.js","../../node_modules/dayjs/plugin/utc.js","../../node_modules/dayjs/plugin/weekOfYear.js","src/components/nv-calendar/nv-calendar.utils.ts","src/components/nv-calendar/partials/day-cell.tsx","src/components/nv-calendar/partials/calendar-actions.tsx","src/components/nv-calendar/partials/week-numbers.tsx","src/components/nv-calendar/partials/calendar-shortcuts.tsx","src/components/nv-calendar/partials/calendar-header.tsx","src/components/nv-calendar/partials/calendar-grid.tsx","src/components/nv-calendar/nv-calendar.scss?tag=nv-calendar","src/components/nv-calendar/nv-calendar.tsx"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_customParseFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},t=/(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\\d/,r=/\\d\\d/,i=/\\d\\d?/,o=/\\d*[^-_:/,()\\s\\d]+/,s={},a=function(e){return(e=+e)+(e>68?1900:2e3)};var f=function(e){return function(t){this[e]=+t}},h=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if(\"Z\"===e)return 0;var t=e.match(/([+-]|\\d\\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:\"+\"===t[0]?-n:n}(e)}],u=function(e){var t=s[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=s.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?\"pm\":\"PM\");return n},c={A:[o,function(e){this.afternoon=d(e,!1)}],a:[o,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*+e}],SS:[r,function(e){this.milliseconds=10*+e}],SSS:[/\\d{3}/,function(e){this.milliseconds=+e}],s:[i,f(\"seconds\")],ss:[i,f(\"seconds\")],m:[i,f(\"minutes\")],mm:[i,f(\"minutes\")],H:[i,f(\"hours\")],h:[i,f(\"hours\")],HH:[i,f(\"hours\")],hh:[i,f(\"hours\")],D:[i,f(\"day\")],DD:[r,f(\"day\")],Do:[o,function(e){var t=s.ordinal,n=e.match(/\\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\\[|\\]/g,\"\")===e&&(this.day=r)}],w:[i,f(\"week\")],ww:[r,f(\"week\")],M:[i,f(\"month\")],MM:[r,f(\"month\")],MMM:[o,function(e){var t=u(\"months\"),n=(u(\"monthsShort\")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[o,function(e){var t=u(\"months\").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\\d+/,f(\"year\")],YY:[r,function(e){this.year=a(e)}],YYYY:[/\\d{4}/,f(\"year\")],Z:h,ZZ:h};function l(n){var r,i;r=n,i=s&&s.formats;for(var o=(n=r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=o.length,f=0;f<a;f+=1){var h=o[f],u=c[h],d=u&&u[0],l=u&&u[1];o[f]=l?{regex:d,parser:l}:h.replace(/^\\[|\\]$/g,\"\")}return function(e){for(var t={},n=0,r=0;n<a;n+=1){var i=o[n];if(\"string\"==typeof i)r+=i.length;else{var s=i.regex,f=i.parser,h=e.slice(r),u=s.exec(h)[0];f.call(t,u),e=e.replace(u,\"\")}}return function(e){var t=e.afternoon;if(void 0!==t){var n=e.hours;t?n<12&&(e.hours+=12):12===n&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(a=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,o=e.args;this.$u=r;var a=o[1];if(\"string\"==typeof a){var f=!0===o[2],h=!0===o[3],u=f||h,d=o[2];h&&(d=o[2]),s=this.$locale(),!f&&d&&(s=n.Ls[d]),this.$d=function(e,t,n,r){try{if([\"x\",\"X\"].indexOf(t)>-1)return new Date((\"X\"===t?1e3:1)*e);var i=l(t)(e),o=i.year,s=i.month,a=i.day,f=i.hours,h=i.minutes,u=i.seconds,d=i.milliseconds,c=i.zone,m=i.week,M=new Date,Y=a||(o||s?1:M.getDate()),p=o||M.getFullYear(),v=0;o&&!s||(v=s>0?s-1:M.getMonth());var D,w=f||0,g=h||0,y=u||0,L=d||0;return c?new Date(Date.UTC(p,v,Y,w,g,y,L+60*c.offset*1e3)):n?new Date(Date.UTC(p,v,Y,w,g,y,L)):(D=new Date(p,v,Y,w,g,y,L),m&&(D=r(D).week(m).toDate()),D)}catch(e){return new Date(\"\")}}(t,a,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date(\"\")),s={}}else if(a instanceof Array)for(var c=a.length,m=1;m<=c;m+=1){o[1]=a[m-1];var M=n.apply(this,o);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===c&&(this.$d=new Date(\"\"))}else i.call(this,e)}}}));","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t)};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else r.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekOfYear=t()}(this,(function(){\"use strict\";var e=\"week\",t=\"year\";return function(i,n,r){var f=n.prototype;f.week=function(i){if(void 0===i&&(i=null),null!==i)return this.add(7*(i-this.week()),\"day\");var n=this.$locale().yearStart||1;if(11===this.month()&&this.date()>25){var f=r(this).startOf(t).add(1,t).date(n),s=r(this).endOf(e);if(f.isBefore(s))return 1}var a=r(this).startOf(t).date(n).startOf(e).subtract(1,\"millisecond\"),o=this.diff(a,e,!0);return o<0?r(this).startOf(\"week\").week():Math.ceil(o)},f.weeks=function(e){return void 0===e&&(e=null),this.week(e)}}}));","import dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport utc from 'dayjs/plugin/utc';\nimport weekOfYear from 'dayjs/plugin/weekOfYear';\n\ndayjs.extend(customParseFormat);\ndayjs.extend(utc);\ndayjs.extend(weekOfYear);\n\n/**\n * Formats a date to a string according to the format\n * @param {Date} date - Date to format\n * @returns {string} Formatted date\n * @param {Object} options - Additional options\n * @param {string} options.dateFormat - Date format (ex: 'YYYY-MM-DD', 'DD-MM-YYYY', etc.)\n */\nexport function formatDate(\n date: Date,\n options: {\n /** Date format (ex: 'YYYY-MM-DD', 'DD-MM-YYYY', etc.) */\n dateFormat: string;\n },\n): string {\n if (!date) return '';\n\n const isUTCMode = options.dateFormat.includes('Z');\n const isISO8601Format = options.dateFormat === 'YYYY-MM-DD[T]HH:mm:ss[Z]';\n\n // Special case for ISO 8601\n if (isISO8601Format) {\n // For the ISO 8601 format, use directly toISOString() which is standard\n return date.toISOString();\n }\n\n // If the format is \"Ticks\", convert the time to C# ticks\n if (options.dateFormat === 'Ticks') {\n const ticks = date.getTime() * 10000 + 621355968000000000;\n return ticks.toString();\n }\n\n // If the format is \"X\" (Unix Seconds)\n if (options.dateFormat === 'X') {\n return dayjs(date).unix().toString();\n }\n\n // If the format is \"x\" (Unix Milliseconds)\n if (options.dateFormat === 'x') {\n return date.getTime().toString();\n }\n\n // Otherwise, format according to the mode (UTC or local)\n return isUTCMode\n ? dayjs(date).utc().format(options.dateFormat)\n : dayjs(date).format(options.dateFormat);\n}\n\n/**\n * Checks if two dates are identical\n * @param {Date | null} date - First date\n * @param {Date | null} compareDate - Second date\n * @param {Object} options - Additional options\n * @param {boolean} options.isUTCMode - Whether the dates are in UTC mode\n * @returns {boolean} true if the dates are identical\n */\nexport function isSameDate(\n date: Date | null,\n compareDate: Date | null,\n options: {\n /** Whether the dates are in UTC mode */\n isUTCMode: boolean;\n },\n): boolean {\n if (!date || !compareDate) return false;\n if (options.isUTCMode) {\n return (\n date.getUTCFullYear() === compareDate.getUTCFullYear() &&\n date.getUTCMonth() === compareDate.getUTCMonth() &&\n date.getUTCDate() === compareDate.getUTCDate()\n );\n } else {\n return (\n date.getFullYear() === compareDate.getFullYear() &&\n date.getMonth() === compareDate.getMonth() &&\n date.getDate() === compareDate.getDate()\n );\n }\n}\n\n/**\n * Checks if a date is identical or before another date\n * @param {Date} date - Date to check\n * @param {Date} compareDate - Reference date\n * @param {Object} options - Additional options\n * @param {boolean} options.isUTCMode - Whether the dates are in UTC mode\n * @returns {boolean} true if `date` <= `compareDate`\n */\nexport function isSameOrBefore(\n date: Date,\n compareDate: Date,\n options: {\n /** Whether the dates are in UTC mode */\n isUTCMode: boolean;\n },\n): boolean {\n if (!date || !compareDate) return false;\n\n if (options.isUTCMode) {\n return (\n date.getUTCFullYear() < compareDate.getUTCFullYear() ||\n (date.getUTCFullYear() === compareDate.getUTCFullYear() &&\n date.getUTCMonth() < compareDate.getUTCMonth()) ||\n (date.getUTCFullYear() === compareDate.getUTCFullYear() &&\n date.getUTCMonth() === compareDate.getUTCMonth() &&\n date.getUTCDate() <= compareDate.getUTCDate())\n );\n } else {\n return (\n date.getFullYear() < compareDate.getFullYear() ||\n (date.getFullYear() === compareDate.getFullYear() &&\n date.getMonth() < compareDate.getMonth()) ||\n (date.getFullYear() === compareDate.getFullYear() &&\n date.getMonth() === compareDate.getMonth() &&\n date.getDate() <= compareDate.getDate())\n );\n }\n}\n\n/**\n * Checks if a date is identical or after another date\n * @param {Date} date - Date to check\n * @param {Date} compareDate - Reference date\n * @param {Object} options - Additional options\n * @param {boolean} options.isUTCMode - Whether the dates are in UTC mode\n * @returns {boolean} true if `date` >= `compareDate`\n */\nexport function isSameOrAfter(\n date: Date,\n compareDate: Date,\n options: {\n /** Whether the dates are in UTC mode */\n isUTCMode: boolean;\n },\n): boolean {\n if (!date || !compareDate) return false;\n\n if (options.isUTCMode) {\n return (\n date.getUTCFullYear() > compareDate.getUTCFullYear() ||\n (date.getUTCFullYear() === compareDate.getUTCFullYear() &&\n date.getUTCMonth() > compareDate.getUTCMonth()) ||\n (date.getUTCFullYear() === compareDate.getUTCFullYear() &&\n date.getUTCMonth() === compareDate.getUTCMonth() &&\n date.getUTCDate() >= compareDate.getUTCDate())\n );\n } else {\n return (\n date.getFullYear() > compareDate.getFullYear() ||\n (date.getFullYear() === compareDate.getFullYear() &&\n date.getMonth() > compareDate.getMonth()) ||\n (date.getFullYear() === compareDate.getFullYear() &&\n date.getMonth() === compareDate.getMonth() &&\n date.getDate() >= compareDate.getDate())\n );\n }\n}\n\n/**\n * Calculates the ISO week number\n * @param {Date} date - Date to calculate\n * @returns {number} Week number\n */\nexport function getWeekNumber(date: Date): number {\n // Create a copy of the date to avoid modifying the original\n const d = new Date(\n Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()),\n );\n\n // Adjust to the same week Thursday (ISO 8601)\n d.setUTCDate(d.getUTCDate() + 3 - ((d.getUTCDay() + 6) % 7));\n\n // Calculate the first Thursday of the year\n const week1 = new Date(Date.UTC(d.getUTCFullYear(), 0, 4));\n\n // Calculate the week number\n return (\n 1 +\n Math.round(\n ((d.getTime() - week1.getTime()) / 86400000 -\n 3 +\n ((week1.getUTCDay() + 6) % 7)) /\n 7,\n )\n );\n}\n\n/**\n * Convert a date string/Date to a Date without timezone offset\n * @param {string | Date} dateInput - Date under string or Date object form\n * @param {string} dateFormat - Date format (ex: 'YYYY-MM-DD', 'DD-MM-YYYY', etc.)\n * @returns {Date} Date in Date form without timezone offset\n */\nexport function parseDate(\n dateInput: string | Date,\n dateFormat: string,\n): Date | null {\n if (dateInput instanceof Date) return dateInput;\n const isUTCMode = dateFormat.includes('Z');\n\n // Attempt to automatically detect ISO 8601 format (generated by toISOString())\n // The regex checks the standard ISO format: YYYY-MM-DDTHH:mm:ss.sssZ\n if (\n typeof dateInput === 'string' &&\n /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z$/.test(dateInput)\n ) {\n try {\n const parsedDate = new Date(dateInput);\n if (!isNaN(parsedDate.getTime())) {\n return parsedDate;\n }\n } catch (error) {\n // If it fails, continue with other methods\n console.error('Error parsing ISO date:', error);\n }\n }\n\n // Handling Unix Seconds (\"X\") formats\n if (dateFormat === 'X') {\n const unixSeconds = Number(dateInput);\n if (isNaN(unixSeconds)) return null;\n return isUTCMode\n ? dayjs.unix(unixSeconds).utc().toDate()\n : dayjs.unix(unixSeconds).toDate();\n }\n\n // Handling Unix Milliseconds (\"x\") formats\n if (dateFormat === 'x') {\n const unixMilliseconds = Number(dateInput);\n if (isNaN(unixMilliseconds)) return null;\n return isUTCMode\n ? dayjs(unixMilliseconds).utc().toDate()\n : dayjs(unixMilliseconds).toDate();\n }\n\n // Handling C# Ticks format\n if (dateFormat === 'Ticks') {\n const ticks = Number(dateInput);\n if (isNaN(ticks)) return null;\n // Conversion of .NET ticks to milliseconds since Unix epoch\n const unixMilliseconds = (ticks - 621355968000000000) / 10000;\n return isUTCMode\n ? dayjs(unixMilliseconds).utc().toDate()\n : dayjs(unixMilliseconds).toDate();\n }\n\n // For all other formats, use customParseFormat in strict mode\n let parsed;\n if (isUTCMode) {\n parsed = dayjs.utc(dateInput, dateFormat, true);\n } else {\n parsed = dayjs(dateInput, dateFormat, true);\n }\n if (!parsed.isValid()) {\n return null;\n }\n return parsed.toDate();\n}\n","import { FunctionalComponent, h } from '@stencil/core';\n\n/**\n * Props for the DayCell component\n */\ninterface DayCellProps {\n /** Date object for this cell */\n date: Date;\n /** Day number (1-31) */\n dayOfMonth: number;\n /** Whether this day belongs to the current month */\n isCurrentMonth: boolean;\n /** Whether this day is selected (single mode) */\n isSelected: boolean;\n /** Whether this day is in a selected range */\n isInRange: boolean;\n /** Whether this day is the start of a range */\n isStart: boolean;\n /** Whether this day is the end of a range */\n isEnd: boolean;\n /** Whether this day is today */\n isToday: boolean;\n /** Whether this day is disabled */\n isDisabled: boolean;\n /** Selection type for conditional styling */\n selectionType: 'single' | 'range';\n /** Click handler for day selection */\n onClick?: (date: Date) => void;\n}\n\n/**\n * Renders a single day cell in the calendar grid\n * @param {DayCellProps} props - Component properties\n * @returns {JSX.Element} JSX element representing a day cell\n */\nexport const DayCell: FunctionalComponent<DayCellProps> = props => {\n const {\n date,\n dayOfMonth,\n isCurrentMonth,\n isSelected,\n isInRange,\n isStart,\n isEnd,\n isToday,\n isDisabled,\n onClick,\n } = props;\n\n // Build CSS classes for the day cell\n const dayClasses = [\n 'day',\n isSelected ? 'selected' : '',\n isStart ? 'range-start' : '',\n isEnd ? 'range-end' : '',\n isInRange ? 'in-range' : '',\n isDisabled ? 'disabled' : '',\n !isCurrentMonth ? 'outside-month' : '',\n isToday ? 'is-today' : '',\n ]\n .filter(Boolean)\n .join(' ');\n\n const handleClick = () => {\n if (!isDisabled && onClick) {\n onClick(date);\n }\n };\n\n return (\n // eslint-disable-next-line react/jsx-no-bind\n <div class={dayClasses} onClick={handleClick} aria-disabled={isDisabled}>\n {dayOfMonth}\n </div>\n );\n};\n","import { FunctionalComponent, h } from '@stencil/core';\n\n/**\n * Props for the CalendarActions component\n */\ninterface CalendarActionsProps {\n /** Handler for cancel/reset action */\n onReset: () => void;\n /** Handler for confirm/OK action */\n onConfirm: () => void;\n /** Whether to show the default actions or use slot content */\n useSlot?: boolean;\n}\n\n/**\n * Renders the action buttons for the calendar (Cancel/OK)\n * @param {CalendarActionsProps} props - Component properties\n * @returns {JSX.Element} JSX element representing the action buttons\n */\nexport const CalendarActions: FunctionalComponent<\n CalendarActionsProps\n> = props => {\n const { onReset, onConfirm, useSlot = false } = props;\n\n return (\n <div class=\"datepicker-actions\">\n {useSlot ? (\n <slot name=\"actions\">\n <nv-button emphasis=\"low\" size=\"xs\" onClick={onReset}>\n Cancel\n </nv-button>\n <nv-button size=\"xs\" onClick={onConfirm}>\n OK\n </nv-button>\n </slot>\n ) : (\n <div>\n <nv-button emphasis=\"low\" size=\"xs\" onClick={onReset}>\n Cancel\n </nv-button>\n <nv-button size=\"xs\" onClick={onConfirm}>\n OK\n </nv-button>\n </div>\n )}\n </div>\n );\n};\n","import { FunctionalComponent, h } from '@stencil/core';\nimport { getWeekNumber } from '../nv-calendar.utils';\n\n/**\n * Week data structure\n */\ninterface WeekData {\n /** Date object for this day */\n date: Date;\n}\n\n/**\n * Props for the WeekNumbers component\n */\ninterface WeekNumbersProps {\n /** Array of weeks with their days */\n weeks: Array<Array<WeekData>>;\n /** Localized text for \"week\" abbreviation */\n localizedWeekText: string;\n /** Current selection type */\n selectionType: 'single' | 'range';\n /** Handler for week selection in range mode */\n onWeekSelect: (dates: Date[], calendarIndex: number) => void;\n /** Calendar index for multi-calendar setups */\n calendarIndex: number;\n}\n\n/**\n * Renders the week numbers column for the calendar\n * @param {WeekNumbersProps} props - Component properties\n * @returns {JSX.Element} JSX element representing the week numbers\n */\nexport const WeekNumbers: FunctionalComponent<WeekNumbersProps> = props => {\n const {\n weeks,\n localizedWeekText,\n selectionType,\n onWeekSelect,\n calendarIndex,\n } = props;\n\n /**\n * Handles click on a week number for range selection\n * @param {Array<WeekData>} week - Week data\n */\n const handleWeekClick = (week: Array<WeekData>) => {\n if (selectionType === 'range') {\n const dates = week.map(d => d.date);\n onWeekSelect(dates, calendarIndex);\n }\n };\n\n /**\n * Creates a click handler for a specific week\n * @param {Array<WeekData>} week - Week data\n * @returns {() => void} Click handler function\n */\n const createWeekHandler = (week: Array<WeekData>) => {\n return () => handleWeekClick(week);\n };\n\n return (\n <div class=\"week-numbers\">\n <div class=\"week-header\">{localizedWeekText}</div>\n {weeks.map((week, weekIndex) => {\n const firstDayWithDate = week.find(d => d.date)?.date || new Date();\n const weekNumber = getWeekNumber(firstDayWithDate);\n const isClickable = selectionType === 'range';\n\n return (\n <div\n class={`week-number ${isClickable ? 'clickable' : ''}`}\n onClick={createWeekHandler(week)}\n key={`week-${weekIndex}`}\n role={isClickable ? 'button' : undefined}\n tabindex={isClickable ? 0 : undefined}\n >\n {weekNumber}\n </div>\n );\n })}\n </div>\n );\n};\n","import { FunctionalComponent, h } from '@stencil/core';\n\n/**\n * Shortcut data structure\n */\ninterface ShortcutData {\n /** Label of the shortcut */\n label: string;\n /** Selected date value for single selection mode */\n singleValue?: string;\n /** Date range values for range selection mode */\n rangeValue?: {\n /** ISO string for start date */\n start: string;\n /** ISO string for end date */\n end: string;\n };\n}\n\n/**\n * Props for the CalendarShortcuts component\n */\ninterface CalendarShortcutsProps {\n /** Array of shortcut configurations */\n shortcuts: ShortcutData[];\n /** Placement of shortcuts in the calendar */\n placement: 'bottom' | 'left' | 'right';\n /** Handler for shortcut selection */\n onShortcutClick: (shortcut: ShortcutData) => void;\n}\n\n/**\n * Renders the shortcuts for quick date selection\n * @param {CalendarShortcutsProps} props - Component properties\n * @returns {JSX.Element | null} JSX element representing the shortcuts or null if no shortcuts\n */\nexport const CalendarShortcuts: FunctionalComponent<\n CalendarShortcutsProps\n> = props => {\n const { shortcuts, placement, onShortcutClick } = props;\n\n if (!shortcuts || shortcuts.length === 0) {\n return null;\n }\n\n /**\n * Creates a click handler for a specific shortcut\n * @param {ShortcutData} shortcut - The shortcut data\n * @returns {() => void} Click handler function\n */\n const createShortcutHandler = (shortcut: ShortcutData) => {\n return () => onShortcutClick(shortcut);\n };\n\n return (\n <div class={`shortcuts-container shortcuts-placement-${placement}`}>\n {shortcuts.map((shortcut, index) => (\n <nv-button\n key={`shortcut-${index}`}\n emphasis=\"lower\"\n size=\"xs\"\n aria-label={shortcut.label}\n onClick={createShortcutHandler(shortcut)}\n >\n {shortcut.label}\n </nv-button>\n ))}\n </div>\n );\n};\n","import { FunctionalComponent, h } from '@stencil/core';\n\n/**\n * Month data structure\n */\ninterface MonthData {\n /** Month value (0-11) */\n value: number;\n /** Month label */\n label: string;\n}\n\n/**\n * Props for the CalendarHeader component\n */\ninterface CalendarHeaderProps {\n /** Current displayed date */\n currentDate: Date;\n /** Array of localized months */\n months: MonthData[];\n /** Total number of calendars being displayed */\n numberOfCalendars: number;\n /** Index of this calendar (0-based) */\n calendarIndex: number;\n /** Month offset for this calendar */\n monthOffset: number;\n /** Handler for month navigation */\n onMonthChange: (direction: number) => void;\n /** Handler for month selection from dropdown */\n onMonthSelect: (event: Event, offset: number) => void;\n /** Handler for year input change */\n onYearChange: (event: Event, offset: number) => void;\n}\n\n/**\n * Renders the calendar header with navigation and date controls\n * @param {CalendarHeaderProps} props - Component properties\n * @returns {JSX.Element} JSX element representing the calendar header\n */\nexport const CalendarHeader: FunctionalComponent<\n CalendarHeaderProps\n> = props => {\n const {\n currentDate,\n months,\n numberOfCalendars,\n calendarIndex,\n monthOffset,\n onMonthChange,\n onMonthSelect,\n onYearChange,\n } = props;\n\n /**\n * Creates navigation handler for month change\n * @param {number} direction - Direction of navigation (-1 or 1)\n * @returns {() => void} Navigation handler function\n */\n const createNavigationHandler = (direction: number) => {\n return () => onMonthChange(direction);\n };\n\n /**\n * Creates month selection handler\n * @param {number} offset - Month offset\n * @returns {(event: Event) => void} Month selection handler function\n */\n const createMonthSelectHandler = (offset: number) => {\n return (event: Event) => onMonthSelect(event, offset);\n };\n\n /**\n * Creates year change handler\n * @param {number} offset - Month offset\n * @returns {(event: Event) => void} Year change handler function\n */\n const createYearChangeHandler = (offset: number) => {\n return (event: Event) => onYearChange(event, offset);\n };\n\n const currentMonth = (currentDate.getUTCMonth() + monthOffset) % 12;\n const currentYear =\n currentDate.getUTCFullYear() +\n Math.floor((currentDate.getUTCMonth() + monthOffset) / 12);\n\n return (\n <div class=\"header\">\n {/* Left navigation for first calendar in multi-calendar setup */}\n {numberOfCalendars > 1 && calendarIndex === 0 && (\n <nv-iconbutton\n class=\"nav-left\"\n emphasis=\"lower\"\n name=\"chevron-left\"\n onClick={createNavigationHandler(-1)}\n />\n )}\n\n <div class=\"date-controls\">\n <select\n class=\"month-select mr-4\"\n onChange={createMonthSelectHandler(monthOffset)}\n >\n {months.map(month => (\n <option\n key={month.value}\n value={month.value}\n selected={month.value === currentMonth}\n >\n {month.label}\n </option>\n ))}\n </select>\n <input\n type=\"number\"\n class=\"year-input\"\n min=\"1950\"\n max=\"2100\"\n value={currentYear}\n onChange={createYearChangeHandler(monthOffset)}\n />\n </div>\n\n {/* Navigation buttons for single calendar */}\n {numberOfCalendars === 1 && (\n <div class=\"nav-buttons\">\n <nv-iconbutton\n emphasis=\"lower\"\n name=\"chevron-left\"\n onClick={createNavigationHandler(-1)}\n />\n <nv-iconbutton\n emphasis=\"lower\"\n name=\"chevron-right\"\n onClick={createNavigationHandler(1)}\n />\n </div>\n )}\n\n {/* Right navigation for last calendar in multi-calendar setup */}\n {numberOfCalendars > 1 && calendarIndex === numberOfCalendars - 1 && (\n <nv-iconbutton\n emphasis=\"lower\"\n name=\"chevron-right\"\n onClick={createNavigationHandler(1)}\n class=\"nav-right\"\n />\n )}\n </div>\n );\n};\n","import { FunctionalComponent, h } from '@stencil/core';\nimport { DayCell } from './day-cell';\nimport { isSameDate } from '../nv-calendar.utils';\n\n/**\n * Day data structure\n * @internal\n */\ninterface DayData {\n /** Day of the month (1-31) */\n dayOfMonth: number | null;\n /** Complete date */\n date: Date | null;\n /** If the day belongs to the current month */\n isCurrentMonth: boolean;\n /** If the day is disabled */\n isDisabled: boolean;\n /** If the day is blank */\n isBlank: boolean;\n}\n\n/**\n * Props for the CalendarGrid component\n * @internal\n */\ninterface CalendarGridProps {\n /** Array of day data for the month */\n days: DayData[];\n /** Array of localized day names */\n dayNames: string[];\n /** Current selection type */\n selectionType: 'single' | 'range';\n /** Selected date in single mode */\n selectedDate: Date | null;\n /** Start date in range mode */\n startDate: Date | null;\n /** End date in range mode */\n endDate: Date | null;\n /** Whether date format is in UTC mode */\n isUTCMode: boolean;\n /** Handler for day selection */\n onDayClick: (date: Date) => void;\n /** Function to check if date is in range */\n isDateInRange: (date: Date) => boolean;\n /** Function to check if date is today */\n isToday: (date: Date) => boolean;\n}\n\n/**\n * Renders the calendar grid with day headers and day cells\n * @param {CalendarGridProps} props - Component properties\n * @returns {JSX.Element} JSX element representing the calendar grid\n */\nexport const CalendarGrid: FunctionalComponent<CalendarGridProps> = props => {\n const {\n days,\n dayNames,\n selectionType,\n selectedDate,\n startDate,\n endDate,\n isUTCMode,\n onDayClick,\n isDateInRange,\n isToday,\n } = props;\n\n return (\n <div class=\"days-container\">\n <div class=\"days-header\">\n {dayNames.map((day, index) => (\n <div class=\"day-header\" key={`day-header-${index}`}>\n {day}\n </div>\n ))}\n </div>\n <div class=\"days-grid\">\n {days.map(day => {\n if (day.isBlank) {\n return <div class=\"day day-blank\"></div>;\n }\n\n const date = day.date;\n if (!date || !day.dayOfMonth) {\n return <div class=\"day-cell is-disabled is-empty\"></div>;\n }\n\n const isSelected =\n selectionType === 'single' &&\n isSameDate(date, selectedDate, { isUTCMode });\n const isInRange = isDateInRange(date);\n const isStart = isSameDate(date, startDate, { isUTCMode });\n const isEnd = isSameDate(date, endDate, { isUTCMode });\n const isTodayDate = isToday(date);\n\n return (\n <DayCell\n date={date}\n dayOfMonth={day.dayOfMonth}\n isCurrentMonth={day.isCurrentMonth}\n isSelected={isSelected}\n isInRange={isInRange}\n isStart={isStart}\n isEnd={isEnd}\n isToday={isTodayDate}\n isDisabled={day.isDisabled}\n selectionType={selectionType}\n onClick={onDayClick}\n />\n );\n })}\n </div>\n </div>\n );\n};\n","@import '../../styles/shadow';\n@import '../../styles/scrollbar';\n\n// Borders & Radius\n$border-width: 1px;\n$border-style: solid;\n\n// Transitions\n$transition-speed: 0.2s ease;\n\n$calendar-cell-size: var(--calendar-cell-size);\n\n// Typography\n$font-family: system-ui, sans-serif;\n$font-weight-bold: 700;\n\n// Animations\n$slide-duration: 0.3s;\n$fade-duration: 0.2s;\n\n@mixin root-styles() {\n display: block;\n}\n\nnv-calendar {\n @include root-styles();\n}\n\n.datepicker-root {\n display: flex;\n justify-content: center;\n align-items: flex-start;\n width: auto;\n}\n\n.datepicker-container {\n font-family: $font-family;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n background: var(--components-calendar-background);\n border-radius: var(--calendar-radius);\n padding: var(--calendar-padding);\n @include shadow(md);\n border: $border-width $border-style var(--components-calendar-border);\n width: auto;\n max-width: 100%;\n}\n\n.datepicker-container-single {\n max-width: 300px;\n\n .datepicker-wrapper:has(.shortcuts-placement-left),\n .datepicker-wrapper:has(.shortcuts-placement-right) {\n max-width: 410px !important;\n }\n\n &:has(.shortcuts-placement-left),\n &:has(.shortcuts-placement-right) {\n max-width: 410px !important;\n }\n}\n\n.datepicker-wrapper {\n @include scrollbar();\n display: flex;\n justify-content: center;\n align-items: flex-start;\n gap: var(--calendar-gap-x);\n width: auto;\n overflow-x: hidden;\n}\n\n.datepicker-wrapper.single {\n justify-content: center;\n}\n\n.calendar-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: var(--calendar-padding);\n width: auto;\n position: relative;\n}\n\n.calendar-separator {\n width: $border-width;\n background: var(--components-calendar-border);\n height: auto;\n min-height: 100%;\n margin: 0 10px;\n}\n\n.header {\n display: flex;\n justify-content: start;\n align-items: center;\n margin-bottom: var(--calendar-header-margin-bottom);\n width: 100%;\n\n nv-iconbutton {\n width: var(--calendar-header-button-size);\n height: var(--calendar-header-button-size);\n }\n}\n\n.nav-buttons {\n display: flex;\n gap: var(--spacing-0);\n margin-left: auto;\n}\n.nav-left {\n order: -1;\n}\n\n.date-controls {\n display: flex;\n gap: var(--spacing-1);\n align-items: center;\n min-height: 34px;\n justify-content: center;\n\n .datepicker-container-single & {\n justify-content: flex-start /*!important*/;\n }\n\n .datepicker-container:not(.datepicker-container-single) & {\n justify-content: start;\n flex-grow: 1;\n }\n .month-select,\n .year-input {\n background: transparent !important;\n }\n}\n.calendar-wrapper:nth-child(n + 2) {\n .datepicker-container {\n margin-left: 42px;\n }\n}\n.calendar-grid {\n display: grid;\n grid-template-columns: auto 1fr;\n column-gap: var(--calendar-weeks-calendar-gap-x);\n position: relative;\n\n &.slide-left {\n animation: slideLeft $slide-duration ease-out;\n }\n\n &.slide-right {\n animation: slideRight $slide-duration ease-out;\n }\n}\n\n.week-numbers {\n display: grid;\n grid-template-rows: var(--calendar-cell-size) repeat(\n 6,\n var(--calendar-cell-size)\n );\n background: var(--components-calendar-weeks-background);\n color: var(--components-calendar-weeks-text);\n border-radius: var(--calendar-weeks-radius);\n width: var(--calendar-weeks-size);\n row-gap: var(--calendar-grid-gap-y);\n\n .clickable {\n cursor: pointer;\n &:hover {\n background-color: var(--components-calendar-weeks-background-hover);\n color: var(--components-calendar-weeks-text-hover);\n border-radius: var(--calendar-radius);\n }\n }\n}\n\n.week-header,\n.week-number {\n display: grid;\n place-items: center;\n font-size: var(--calendar-cell-font-size);\n}\n\n.week-header {\n font-weight: $font-weight-bold;\n color: var(--components-calendar-weeks-text);\n}\n\n.week-number {\n color: var(--components-calendar-cell-text);\n}\n\n.days-container {\n display: grid;\n grid-template-rows: auto 1fr;\n row-gap: var(--calendar-grid-gap-y);\n}\n\n.days-header {\n display: grid;\n grid-template-columns: repeat(7, $calendar-cell-size);\n height: $calendar-cell-size;\n}\n\n.day-header {\n display: grid;\n place-items: center;\n font-size: var(--calendar-cell-font-size);\n color: var(--components-calendar-cell-text);\n}\n\n.days-grid {\n display: grid;\n grid-template-columns: repeat(7, $calendar-cell-size);\n grid-template-rows: repeat(6, $calendar-cell-size);\n animation: fadeIn $fade-duration ease-in;\n row-gap: var(--calendar-grid-gap-y);\n z-index: 0;\n}\n\n.day {\n display: grid;\n place-items: center;\n width: $calendar-cell-size;\n height: $calendar-cell-size;\n font-size: var(--calendar-cell-font-size);\n border-radius: var(--calendar-cell-radius);\n cursor: pointer;\n border: none;\n background: transparent;\n transition: all $transition-speed;\n text-align: center;\n animation: scaleIn $fade-duration ease-out;\n\n &:hover:not(.disabled, .empty, .selected) {\n background: var(--components-calendar-cell-background-hover);\n color: var(--components-calendar-cell-text-hover);\n }\n\n &.selected,\n &.selected:hover \n &.is-today.selected,\n &.is-today.selected:hover {\n background: var(--components-calendar-cell-background-selected);\n color: var(--components-calendar-cell-text-selected) !important;\n }\n\n &.disabled {\n opacity: var(--opacity-disabled);\n cursor: not-allowed;\n }\n &.is-empty {\n pointer-events: none;\n background-color: transparent;\n border-color: transparent;\n }\n\n &.day-blank {\n pointer-events: none;\n background-color: transparent;\n border-color: transparent;\n }\n\n &.outside-month {\n color: var(--components-calendar-cell-text);\n opacity: var(--opacity-disabled);\n }\n\n &.outside-month.selected {\n opacity: 1 !important;\n color: var(--components-calendar-cell-text-selected);\n }\n\n &.outside-month.in-range {\n opacity: 0.5 !important;\n background-color: var(--components-calendar-cell-background-in-range);\n color: var(--components-calendar-cell-text-in-range);\n\n &:hover {\n opacity: 0.7 !important;\n background-color: var(--components-calendar-cell-background-in-range);\n }\n }\n\n &.in-range {\n background: var(--components-calendar-cell-background-in-range);\n color: var(--components-calendar-cell-text-in-range);\n border-radius: 0;\n position: relative;\n }\n\n &.range-start,\n &.range-start:focus,\n &.range-start:hover,\n &.range-end,\n &.range-end:focus,\n &.range-end:hover {\n background-color: var(\n --components-calendar-cell-background-selected\n ) !important;\n color: var(--components-calendar-cell-text-selected) !important;\n }\n\n &.range-start,\n &.range-end,\n &.range-start.is-today,\n &.range-end.is-today {\n background: var(--components-calendar-cell-background-selected);\n color: var(--components-calendar-cell-text-selected);\n position: relative;\n border-radius: var(--radius-rounded-full);\n\n &:hover {\n color: var(--components-calendar-cell-text-today);\n }\n\n &:before {\n content: '';\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n top: 0;\n z-index: -1;\n background-color: var(--components-calendar-cell-background-in-range);\n border-radius: var(--radius-rounded-full);\n width: auto;\n height: auto;\n }\n }\n &.range-start:has(~ .range-end):before,\n &.range-start:has(+ .in-range):before {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n &.range-end:before {\n border-top-left-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n }\n\n &.outside-month.range-start,\n &.outside-month.range-end {\n opacity: 1 !important;\n background: var(--components-calendar-cell-background-selected) !important;\n color: var(--components-calendar-cell-text-selected);\n }\n\n &.is-today {\n font-weight: $font-weight-bold;\n position: relative;\n color: var(--components-calendar-cell-text-today);\n\n &.range-start,\n &.range-end {\n color: var(--components-calendar-cell-text-selected);\n &:hover {\n color: var(--components-calendar-cell-text-today);\n }\n }\n\n &::after {\n content: '';\n position: absolute;\n bottom: var(--spacing-1);\n left: 50%;\n transform: translateX(-50%);\n width: var(--calendar-cell-dot-size);\n height: var(--calendar-cell-dot-size);\n background-color: currentColor;\n border-radius: 50%;\n }\n\n &.selected::after {\n color: var(--components-calendar-cell-text-selected);\n &::after {\n background-color: var(--components-calendar-cell-dot-selected);\n }\n }\n }\n}\n\n.calendar-footer {\n display: flex;\n gap: var(--spacing-1);\n justify-content: flex-start;\n width: 100%;\n flex-wrap: wrap;\n}\n\n.footer-placement-left {\n justify-content: flex-start;\n}\n\n.footer-placement-right {\n justify-content: flex-end;\n}\n\n.footer-placement-center {\n justify-content: center;\n}\n\n.datepicker-controls {\n display: flex;\n flex-direction: column;\n border-top: $border-width $border-style var(--components-calendar-border);\n padding: var(--calendar-controls-padding-top) var(--calendar-padding)\n var(--calendar-padding);\n gap: var(--calendar-grid-gap-y);\n margin-top: var(--calendar-controls-margin-top);\n}\n\n.datepicker-actions {\n display: flex;\n justify-content: flex-end;\n gap: var(--spacing-1);\n width: 100%;\n\n slot-fb {\n display: contents !important;\n }\n}\n\n.calendar-footer + .datepicker-actions {\n margin-top: 0;\n}\n\n.shortcuts-placement-left,\n.shortcuts-placement-right {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-1);\n margin-top: var(--spacing-4);\n}\n\n.shortcuts-placement-left {\n align-items: flex-end;\n}\n\n.shortcuts-placement-right {\n align-items: flex-start;\n}\n\n@keyframes slideLeft {\n from {\n opacity: 0;\n transform: translateX(20px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n\n@keyframes slideRight {\n from {\n opacity: 0;\n transform: translateX(-20px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n transform: translateY(10px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes scaleIn {\n from {\n opacity: 0;\n transform: scale(0.9);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n Watch,\n Method,\n} from '@stencil/core';\nimport {\n WEEK_ABBREVIATIONS,\n CUSTOM_DAY_NAMES,\n CUSTOM_MONTH_NAMES,\n} from '../../utils/constants';\n\nimport {\n parseDate,\n isSameDate,\n formatDate,\n isSameOrAfter,\n isSameOrBefore,\n} from './nv-calendar.utils';\n\n// Import partials\nimport {\n CalendarHeader,\n CalendarGrid,\n WeekNumbers,\n CalendarShortcuts,\n CalendarActions,\n} from './partials';\n\n/**\n * @slot default - Child content of the component.\n * @slot actions - Child content of the component.\n */\n@Component({\n tag: 'nv-calendar',\n styleUrl: 'nv-calendar.scss',\n shadow: false,\n})\nexport class NvCalendar {\n @Element() el: HTMLNvCalendarElement;\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * First day of the week (0 = Sunday, 1 = Monday, etc.)\n * @default 1\n */\n @Prop({ reflect: true })\n readonly firstDayOfWeek: number = 1;\n\n /**\n * Number of calendars to display\n * @default 1\n */\n @Prop({ mutable: true, reflect: true })\n numberOfCalendars: number = 1;\n\n /**\n * Selected date value. For single mode: ISO date string. For range mode: comma-separated ISO date strings.\n * Examples:\n * - Single: \"2025-03-15\"\n * - Range: \"2025-03-15,2025-03-20\"\n * @default \"\"\n */\n // eslint-disable-next-line @stencil-community/strict-mutable\n @Prop({ reflect: true, mutable: true })\n value: string = '';\n\n /**\n * Selected date (ISO string format)\n * ex: \"2025-03-15\"\n */\n // eslint-disable-next-line @stencil-community/strict-mutable\n @Prop({ reflect: true, mutable: true })\n singleValue: string;\n\n /**\n * Selected date range\n * format: { start: ISO string, end: ISO string }\n * ex: { start: \"2025-03-15\", end: \"2025-03-20\" }\n */\n // eslint-disable-next-line @stencil-community/strict-mutable\n @Prop({ reflect: false, mutable: true })\n rangeValue: {\n /** ISO string for start date */\n start: string;\n /** ISO string for end date */\n end: string;\n };\n\n /**\n * Minimum date for selection (ISO string format, ex: \"2025-01-01\")\n */\n @Prop({ reflect: true })\n readonly min?: string;\n\n /**\n * Maximum date for selection (ISO string format, ex: \"2025-12-31\")\n */\n @Prop({ reflect: true })\n readonly max?: string;\n\n /**\n * Disabled dates (ISO string array)\n */\n @Prop({ reflect: false })\n readonly disabledDates: Array<string>;\n\n /**\n * Locale for date formatting\n * @default 'en-BE'\n */\n @Prop({ reflect: true })\n readonly locale: string = 'en-BE';\n\n /**\n * Date format (ex: 'YYYY-MM-DD', 'DD-MM-YYYY', etc.)\n * @default 'YYYY-MM-DD'\n * @note If the date format is in UTC mode, the date will be displayed in UTC time.\n * @note If the date format is not in UTC mode, the date will be displayed in the local time.\n */\n @Prop({ reflect: true })\n readonly dateFormat: string = 'YYYY-MM-DD';\n\n /**\n * Footer placement\n * @default 'bottom'\n */\n @Prop({ reflect: true })\n readonly shortcutsPlacement: 'bottom' | 'left' | 'right' = 'bottom';\n\n /**\n * Selection type (single date or date range)\n * @default 'single'\n */\n @Prop({ reflect: true })\n readonly selectionType: 'single' | 'range' = 'single';\n\n /**\n * Show action buttons\n */\n @Prop({ reflect: true })\n readonly showActions: boolean = false;\n\n /**\n * Custom actions to display in the footer\n */\n @Prop({ reflect: true })\n readonly shortcuts: {\n /** Label of the shortcut */\n label: string;\n /** Selected date value for single selection mode */\n singleValue?: string;\n /** Date range values for range selection mode */\n rangeValue?: HTMLNvCalendarElement['rangeValue'];\n }[];\n\n /**\n * Show week numbers\n */\n @Prop({ reflect: true })\n readonly showWeekNumbers: boolean;\n\n /** Cache for parsed disabled dates */\n private parsedDisabledDates: Date[] = [];\n\n /** Flag to indicate a user click for selection */\n private isUserClick: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region STATE\n\n @State()\n currentDate: Date | null = null;\n\n @State()\n selectedDate: Date | null = null;\n\n @State()\n startDate: Date | null = null;\n\n @State()\n endDate: Date | null = null;\n\n /** List of formatted months for the selector */\n @State()\n private months: {\n /** Month value */\n value: number;\n /** Month label */\n label: string;\n }[] = [];\n\n //#endregion STATE\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when a single date is selected\n */\n @Event()\n singleDateChange: EventEmitter<string>;\n\n /**\n * Emitted when a date range is selected\n */\n @Event()\n rangeDateChange: EventEmitter<HTMLNvCalendarElement['rangeValue']>;\n\n /**\n * Emitted when the unified value changes\n * @bind value\n */\n @Event()\n valueChanged: EventEmitter<string>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n /**\n * Watches the changes of the number of calendars\n * @param {number} newValue - New number of calendars\n */\n @Watch('numberOfCalendars')\n validateNumberOfCalendars(newValue: number) {\n if (newValue < 1 || newValue > 4) {\n console.warn(\n 'numberOfCalendars must be between 1 and 4. Defaulting to 1.',\n );\n this.numberOfCalendars = 1;\n }\n }\n\n /**\n * Watches the changes of the selected date range\n * @param {Object} newValue - New rangeValue value\n * @param {string} newValue.start - Start date\n * @param {string} newValue.end - End date\n */\n @Watch('rangeValue')\n onRangeValueChange(newValue: typeof this.rangeValue) {\n if (newValue && newValue.start && newValue.end) {\n try {\n const { startDate, endDate } = this.validateDateRange(\n newValue.start,\n newValue.end,\n );\n\n this.startDate = startDate;\n this.endDate = endDate;\n\n // Do not navigate to the start date if data-prevent-navigation attribute is present\n const preventNavigation =\n this.el.getAttribute('data-prevent-navigation') === 'true';\n if (!preventNavigation && !this.isUserClick) {\n this.currentDate = startDate;\n }\n } catch (error) {\n console.error('Invalid rangeValue:', error);\n }\n }\n }\n\n /**\n * Watches the changes of the disabled dates\n * @description Watches the changes of the disabled dates\n */\n @Watch('disabledDates')\n handleDisabledDatesChange() {\n this.parseDisabledDates();\n }\n\n /**\n * Watches the changes of the single value\n * @param {string} newValue - New single value\n * @param {string} oldValue - Old single value\n */\n @Watch('singleValue')\n onSingleValueChange(newValue: string, oldValue: string) {\n if (this.selectionType === 'single' && newValue !== oldValue && newValue) {\n const parsedDate = parseDate(newValue, this.dateFormat);\n if (parsedDate) {\n this.selectedDate = parsedDate;\n\n // Do not navigate to the selected date if data-prevent-navigation attribute is present\n const preventNavigation =\n this.el.getAttribute('data-prevent-navigation') === 'true';\n if (!preventNavigation && !this.isUserClick) {\n this.currentDate = parsedDate;\n }\n }\n }\n }\n\n /**\n * Watches the changes of the unified value prop\n * @param {string} newValue - New value\n * @param {string} oldValue - Old value\n */\n @Watch('value')\n onValueChange(newValue: string, oldValue: string) {\n if (newValue !== oldValue) {\n this.parseUnifiedValue(newValue);\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.parseDisabledDates();\n\n // Initialize from unified value prop if provided\n if (this.value) {\n this.parseUnifiedValue(this.value);\n } else if (this.selectionType === 'single' && this.singleValue) {\n this.selectedDate = parseDate(this.singleValue, this.dateFormat);\n this.currentDate = this.selectedDate;\n } else if (this.selectionType === 'range' && this.rangeValue) {\n try {\n if (this.rangeValue.start && this.rangeValue.end) {\n const { startDate, endDate, swapped } = this.validateDateRange(\n this.rangeValue.start,\n this.rangeValue.end,\n );\n\n this.startDate = startDate;\n this.endDate = endDate;\n this.currentDate = startDate;\n\n if (swapped) {\n // If dates were swapped, update the rangeValue property\n // eslint-disable-next-line @stencil-community/strict-mutable\n this.rangeValue = {\n start: formatDate(startDate, { dateFormat: this.dateFormat }),\n end: formatDate(endDate, { dateFormat: this.dateFormat }),\n };\n }\n }\n } catch (error) {\n console.error('Invalid rangeValue:', error);\n }\n }\n\n // Ensure currentDate is always initialized\n if (!this.currentDate) {\n this.currentDate = new Date();\n }\n\n this.initializeMonths();\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Checks if shortcuts are visible\n * @returns {boolean} true if shortcuts are visible\n */\n private get hasShortcuts(): boolean {\n return Boolean(this.shortcutsPlacement && this.shortcuts);\n }\n\n /**\n * Checks if actions are visible\n * @returns {boolean} true if actions are visible\n */\n private get hasActions(): boolean {\n return this.showActions;\n }\n\n /**\n * Checks if the date format is in UTC mode\n * @returns {boolean} true if the date format is in UTC mode\n */\n private get isUTCMode(): boolean {\n return this.dateFormat.includes('Z');\n }\n\n /**\n * Parses the unified value prop and synchronizes with internal state\n * @param {string} value - Value to parse\n */\n private parseUnifiedValue = (value: string): void => {\n if (!value) {\n // Reset all selections\n this.selectedDate = null;\n this.startDate = null;\n this.endDate = null;\n return;\n }\n\n const values = value\n .split(',')\n .map(v => v.trim())\n .filter(Boolean);\n\n if (this.selectionType === 'single' && values.length >= 1) {\n const parsedDate = parseDate(values[0], this.dateFormat);\n if (parsedDate) {\n this.selectedDate = parsedDate;\n\n // Only sync with legacy prop if not using actions (immediate mode)\n if (!this.showActions) {\n this.singleValue = values[0];\n }\n\n // Navigate to the date if not prevented\n const preventNavigation =\n this.el.getAttribute('data-prevent-navigation') === 'true';\n if (!preventNavigation && !this.isUserClick) {\n this.currentDate = parsedDate;\n }\n } else {\n // Handle malformed date gracefully - reset state\n console.warn(`Invalid date format: ${values[0]}`);\n this.selectedDate = null;\n if (!this.showActions) {\n this.singleValue = '';\n }\n }\n } else if (this.selectionType === 'range' && values.length >= 2) {\n const startDate = parseDate(values[0], this.dateFormat);\n const endDate = parseDate(values[1], this.dateFormat);\n\n if (startDate && endDate) {\n this.startDate = startDate;\n this.endDate = endDate;\n\n // Only sync with legacy prop if not using actions (immediate mode)\n if (!this.showActions) {\n this.rangeValue = {\n start: values[0],\n end: values[1],\n };\n }\n\n // Navigate to start date if not prevented\n const preventNavigation =\n this.el.getAttribute('data-prevent-navigation') === 'true';\n if (!preventNavigation && !this.isUserClick) {\n this.currentDate = startDate;\n }\n } else {\n // Handle malformed dates gracefully - reset state\n console.warn(`Invalid date range format: ${values[0]}, ${values[1]}`);\n this.startDate = null;\n this.endDate = null;\n if (!this.showActions) {\n this.rangeValue = { start: '', end: '' };\n }\n }\n }\n };\n\n /**\n * Validates and processes a date range, warning if start is after end\n * @param {string} startDateStr - Start date in ISO string format\n * @param {string} endDateStr - End date in ISO string format\n * @returns {object} Object containing the validated start and end dates\n */\n private validateDateRange(\n startDateStr: string,\n endDateStr: string,\n ): {\n /** Start date */\n startDate: Date;\n /** End date */\n endDate: Date;\n /** If the dates were swapped */\n swapped: boolean;\n } {\n try {\n const startDate = parseDate(startDateStr, this.dateFormat);\n const endDate = parseDate(endDateStr, this.dateFormat);\n\n if (startDate && endDate && startDate > endDate) {\n console.warn(\n `Warning: startDate (${formatDate(startDate, {\n dateFormat: this.dateFormat,\n })}) is after endDate (${formatDate(endDate, {\n dateFormat: this.dateFormat,\n })})`,\n );\n\n // Return dates in correct order, with swapped flag\n return {\n startDate: endDate,\n endDate: startDate,\n swapped: true,\n };\n }\n\n return {\n startDate,\n endDate,\n swapped: false,\n };\n } catch (error) {\n console.error('Invalid date range:', error);\n throw error; // Re-throw to let the caller handle it\n }\n }\n\n /**\n * Change the displayed month\n * @param {number} offset - Month offset (-1 for previous, 1 for next)\n */\n private changeMonth = (offset: number) => {\n const newDate = new Date(this.currentDate);\n newDate.setUTCDate(1); // Set to the first of the month to avoid day-of-month issues\n newDate.setUTCMonth(newDate.getUTCMonth() + offset);\n\n const containers = this.el.querySelectorAll('.calendar-grid');\n containers.forEach(container => {\n container.classList.remove('slide-left', 'slide-right');\n const animationClass = offset > 0 ? 'slide-left' : 'slide-right';\n container.classList.add(animationClass);\n setTimeout(() => container.classList.remove(animationClass), 300);\n });\n\n this.currentDate = newDate;\n };\n\n /**\n * Handles date selection based on the mode\n * @param {Date} date - Selected date\n */\n private handleDateSelection = (date: Date) => {\n if (this.isDateDisabled(date)) {\n return;\n }\n\n this.isUserClick = true;\n\n if (this.selectionType === 'single') {\n this.handleSingleSelection(date);\n } else {\n this.handleRangeSelection(date);\n }\n\n requestAnimationFrame(() => {\n this.isUserClick = false;\n });\n };\n\n /**\n * Handles single date selection\n * @param {Date} date - Selected date\n */\n private handleSingleSelection = (date: Date) => {\n if (!date) return;\n\n const formattedDate = formatDate(date, { dateFormat: this.dateFormat });\n this.selectedDate = date;\n\n // Update the unified value prop (like nv-fieldslider)\n this.value = formattedDate;\n this.valueChanged.emit(formattedDate);\n\n // Legacy support (deprecated) - only sync props if not using actions\n if (!this.showActions) {\n this.singleValue = formattedDate;\n this.singleDateChange.emit(formattedDate);\n }\n };\n\n /**\n * Handles range date selection\n * @param {Date} date - Selected date\n */\n private handleRangeSelection = (date: Date) => {\n if (!this.startDate || (this.startDate && this.endDate)) {\n // Start new range selection\n this.startDate = date;\n this.endDate = null;\n } else {\n // Complete range selection\n this.endDate = date;\n\n // Ensure correct order\n if (this.startDate > this.endDate) {\n [this.startDate, this.endDate] = [this.endDate, this.startDate];\n }\n\n const startFormatted = formatDate(this.startDate, {\n dateFormat: this.dateFormat,\n });\n const endFormatted = formatDate(this.endDate, {\n dateFormat: this.dateFormat,\n });\n\n // Update the unified value prop (like nv-fieldslider)\n this.value = `${startFormatted},${endFormatted}`;\n this.valueChanged.emit(this.value);\n\n // Legacy support (deprecated) - only sync props if not using actions\n if (!this.showActions) {\n const legacyRange = { start: startFormatted, end: endFormatted };\n this.rangeDateChange.emit(legacyRange);\n this.rangeValue = legacyRange;\n }\n }\n };\n\n /**\n * Checks if a date is disabled.\n * Disabled if:\n * - The date is before min (if defined)\n * - The date is after max (if defined)\n * - The date is in the disabledDates array\n * @param {Date} date - Date to check\n * @returns {boolean} true if the date is disabled\n */\n private isDateDisabled = (date: Date): boolean => {\n if (!date) return true;\n\n // Minimum bound check\n if (this.min) {\n const minDate = parseDate(this.min, this.dateFormat);\n if (minDate && date < minDate) {\n return true;\n }\n }\n\n // Maximum bound check\n if (this.max) {\n const maxDate = parseDate(this.max, this.dateFormat);\n if (maxDate && date > maxDate) {\n return true;\n }\n }\n\n // Check disabled dates\n return this.parsedDisabledDates.some(disabledDate =>\n isSameDate(date, disabledDate, { isUTCMode: this.isUTCMode }),\n );\n };\n\n /**\n * Checks if a date is in the selected range\n * @param {Date} date - Date to check\n * @returns {boolean} true if the date is in the range\n */\n private isDateInRange = (date: Date): boolean => {\n if (!date || !this.startDate || !this.endDate) return false;\n\n const checkDate = parseDate(date, this.dateFormat);\n const startDate = parseDate(this.startDate, this.dateFormat);\n const endDate = parseDate(this.endDate, this.dateFormat);\n\n // Verify if startDate and endDate are valid\n if (isNaN(startDate.getTime()) || isNaN(endDate.getTime())) {\n return false;\n }\n\n // Verify that startDate is before endDate (additional security)\n if (startDate > endDate) return false;\n\n // Comparison based only on the date (year, month, day)\n return (\n isSameOrAfter(checkDate, startDate, { isUTCMode: this.isUTCMode }) &&\n isSameOrBefore(checkDate, endDate, { isUTCMode: this.isUTCMode })\n );\n };\n\n /**\n * Retrieves the localized day names\n * @returns {string[]} Array of short day names\n */\n private getDayNames = (): string[] => {\n let days: string[];\n\n // If we have custom day names for this locale\n if (CUSTOM_DAY_NAMES[this.locale]) {\n // Custom day names are expected to start with Monday (index 0 = Monday)\n days = [...CUSTOM_DAY_NAMES[this.locale]];\n } else {\n // Generate days using Intl.DateTimeFormat, starting from Monday\n const formatter = new Intl.DateTimeFormat(this.locale, {\n weekday: 'short',\n });\n\n // Generate days starting from Monday (2023-01-02 was a Monday)\n days = [...Array(7)].map((_, i) =>\n formatter.format(new Date(2023, 0, i + 2)).toUpperCase(),\n );\n }\n\n // Now reorganize based on firstDayOfWeek\n // 0 = Sunday, 1 = Monday (default), 2 = Tuesday, etc.\n if (this.firstDayOfWeek === 0) {\n // If Sunday is first day, move Sunday (last element) to the beginning\n return [days[6], ...days.slice(0, 6)];\n } else if (this.firstDayOfWeek === 1) {\n // If Monday is first day, return as-is (since our array starts with Monday)\n return days;\n } else {\n // For other first days (Tuesday=2, Wednesday=3, etc.)\n const offset = this.firstDayOfWeek - 1; // Convert to 0-based offset from Monday\n return [...days.slice(offset), ...days.slice(0, offset)];\n }\n };\n\n /**\n * Generates the days of the current month\n * @param {number} offset - Month offset (0 by default)\n * @returns {Array<{ dayOfMonth: number | null, date: Date | null, isSelected: boolean, isDisabled: boolean }>} Array of formatted days\n */\n private getDaysInMonth = (\n offset: number = 0,\n ): Array<{\n /** Day of the month (1 to 31) */\n dayOfMonth: number | null;\n /** Complete date */\n date: Date | null;\n /** If the day belongs to the current month */\n isCurrentMonth: boolean;\n /** If the day is disabled */\n isDisabled: boolean;\n /** If the day is blank (padding) */\n isBlank: boolean;\n }> => {\n const baseMonth = this.currentDate.getUTCMonth();\n\n // Correctly calculate the year and month for the given offset\n const targetDate = new Date(this.currentDate);\n targetDate.setUTCMonth(baseMonth + offset);\n const year = targetDate.getUTCFullYear();\n const month = targetDate.getUTCMonth();\n\n const firstDay = new Date(Date.UTC(year, month, 1));\n const lastDay = new Date(Date.UTC(year, month + 1, 0));\n\n const days = [];\n\n // Correct calculation of offset for previous month days\n // Use getUTCDay to stay consistent with UTC timezone\n const dayOfWeekIndex = firstDay.getUTCDay(); // 0 = Sunday, 1 = Monday, etc.\n\n // Adjust based on firstDayOfWeek (if week starts on Monday, offset is different)\n const offsetDays = (dayOfWeekIndex - this.firstDayOfWeek + 7) % 7;\n\n // Add padding days from the previous month\n for (let i = 0; i < offsetDays; i++) {\n const prevMonthDay = new Date(Date.UTC(year, month, 0)).getUTCDate();\n const date = new Date(\n Date.UTC(year, month - 1, prevMonthDay - offsetDays + 1 + i),\n );\n days.push({\n dayOfMonth: date.getUTCDate(),\n date,\n isCurrentMonth: false,\n isDisabled: this.isDateDisabled(date),\n // Days from previous month are blank if not the first calendar\n isBlank: offset > 0,\n });\n }\n\n // Add the days of the current month\n for (let i = 1; i <= lastDay.getUTCDate(); i++) {\n const date = new Date(Date.UTC(year, month, i));\n days.push({\n dayOfMonth: i,\n date,\n isCurrentMonth: true,\n isDisabled: this.isDateDisabled(date),\n isBlank: false,\n });\n }\n\n // Add padding days to fill the last week\n const nextMonthDaysNeeded = 7 - (days.length % 7 || 7);\n if (nextMonthDaysNeeded < 7) {\n for (let i = 1; i <= nextMonthDaysNeeded; i++) {\n const date = new Date(Date.UTC(year, month + 1, i));\n days.push({\n dayOfMonth: i,\n date,\n isCurrentMonth: false,\n isDisabled: this.isDateDisabled(date),\n // Days from next month are blank if not the last calendar\n isBlank: offset < this.numberOfCalendars - 1,\n });\n }\n }\n\n return days;\n };\n\n /** Initializes the list of formatted months according to the locale */\n private initializeMonths = () => {\n // If we have custom month names for this locale\n if (CUSTOM_MONTH_NAMES[this.locale]) {\n this.months = CUSTOM_MONTH_NAMES[this.locale].map((label, value) => ({\n value,\n label,\n }));\n return;\n }\n\n // Otherwise, use the default behavior\n const formatter = new Intl.DateTimeFormat(this.locale, { month: 'short' });\n this.months = Array.from({ length: 12 }, (_, i) => ({\n value: i,\n label: formatter.format(new Date(2000, i, 1)).toUpperCase(),\n }));\n };\n\n /**\n * Retrieves the localized abbreviation for \"week\"\n * @returns {string} Localized abbreviation for \"week\"\n */\n private getLocalizedWeekText = (): string => {\n return WEEK_ABBREVIATIONS[this.locale] || 'W';\n };\n\n /**\n * Handles month change in the selector\n * @param {Event} event - Month change event\n * @param {number} calendarOffset - Calendar offset (0 by default)\n */\n private handleMonthChange = (event: Event, calendarOffset: number = 0) => {\n const select = event.target as HTMLSelectElement;\n const selectedMonth = parseInt(select.value, 10);\n const newDate = new Date(this.currentDate);\n\n // Date for the calendar being changed\n const targetCalendarDate = new Date(newDate.toUTCString());\n targetCalendarDate.setUTCMonth(\n targetCalendarDate.getUTCMonth() + calendarOffset,\n );\n\n const currentMonth = targetCalendarDate.getUTCMonth();\n let monthDiff = selectedMonth - currentMonth;\n\n // Smartly adjust for year change\n if (monthDiff > 6) {\n // e.g. from Jan to Dec, go back 1 month\n monthDiff -= 12;\n }\n if (monthDiff < -6) {\n // e.g. from Dec to Jan, go forward 1 month\n monthDiff += 12;\n }\n\n // Apply the diff to the original `currentDate`\n const finalDate = new Date(this.currentDate);\n finalDate.setUTCMonth(finalDate.getUTCMonth() + monthDiff);\n this.currentDate = finalDate;\n };\n\n /**\n * Handles year change in the numeric entry\n * @param {Event} event - Year change event\n * @param {number} calendarOffset - Calendar offset (0 by default)\n */\n private handleYearChange = (event: Event, calendarOffset: number = 0) => {\n const input = event.target as HTMLInputElement;\n const year = parseInt(input.value, 10);\n if (!isNaN(year) && year >= 1900 && year <= 2100) {\n const newDate = new Date(this.currentDate);\n newDate.setUTCMonth(newDate.getUTCMonth() + calendarOffset);\n newDate.setUTCFullYear(year);\n newDate.setUTCMonth(newDate.getUTCMonth() - calendarOffset);\n this.currentDate = new Date(newDate);\n }\n };\n\n /**\n * Handles week selection\n * @param {Date[]} weekDays - Selected week days\n * @param {number} calendarIndex - Calendar index from which the selection is made\n */\n private handleWeekSelection = (weekDays: Date[], calendarIndex: number) => {\n if (this.selectionType !== 'range') return;\n\n const allDays = this.getDaysInMonth(calendarIndex);\n\n const weekStart = weekDays[0];\n const weekEnd = weekDays[weekDays.length - 1];\n\n if (!weekStart || !weekEnd) return;\n\n const selectedWeekDays = allDays.filter(\n day => day.date && day.date >= weekStart && day.date <= weekEnd,\n );\n\n const validDays = selectedWeekDays.filter(\n day => !this.isDateDisabled(day.date),\n );\n\n if (validDays.length > 0) {\n this.startDate = validDays[0].date;\n this.endDate = validDays[validDays.length - 1].date;\n\n this.rangeDateChange.emit({\n start: formatDate(this.startDate, { dateFormat: this.dateFormat }),\n end: formatDate(this.endDate, { dateFormat: this.dateFormat }),\n });\n }\n };\n\n /**\n * Checks if a date corresponds to today\n * @param {Date} date - Date to check\n * @returns {boolean} true if the date is today\n */\n private isToday = (date: Date): boolean => {\n const today = new Date();\n return (\n date.getDate() === today.getDate() &&\n date.getMonth() === today.getMonth() &&\n date.getFullYear() === today.getFullYear()\n );\n };\n\n /**\n * Parse and cache the disabled dates\n * @description Parse and cache the disabled dates\n */\n private parseDisabledDates = () => {\n if (!this.disabledDates) {\n this.parsedDisabledDates = [];\n return;\n }\n\n try {\n this.parsedDisabledDates = this.disabledDates\n .map(date => parseDate(date, this.dateFormat))\n .filter(date => date !== null) as Date[];\n } catch (error) {\n console.error('Error parsing disabled dates:', error);\n this.parsedDisabledDates = [];\n }\n };\n\n /**\n * Applies a shortcut selection\n * @param {Object} shortcut - Shortcut to apply\n * @param {string | Date} shortcut.singleValue - Selected date value\n * @param {Object} shortcut.rangeValue - Start and end date values\n * @param {string | Date} shortcut.rangeValue.start - Start date value\n * @param {string | Date} shortcut.rangeValue.end - End date value\n * @param {string} shortcut.label - Label\n */\n private applyShortcut = (shortcut: (typeof this.shortcuts)[number]) => {\n this.selectedDate = null;\n this.startDate = null;\n this.endDate = null;\n\n if (shortcut.singleValue) {\n const newDate = parseDate(shortcut.singleValue, this.dateFormat);\n this.selectedDate = newDate;\n const formattedDate = formatDate(newDate, {\n dateFormat: this.dateFormat,\n });\n\n // Update the unified value prop (like nv-fieldslider)\n this.value = formattedDate;\n this.valueChanged.emit(formattedDate);\n\n // Legacy support (deprecated) - sync props\n this.singleValue = formattedDate;\n this.singleDateChange.emit(formattedDate);\n\n if (!this.showActions) {\n const event = new CustomEvent('closePopover', {\n bubbles: true,\n composed: true,\n });\n this.el.dispatchEvent(event);\n }\n\n this.forceCalendarUpdate(newDate);\n } else {\n const start = parseDate(shortcut.rangeValue.start, this.dateFormat);\n const end = parseDate(shortcut.rangeValue.end, this.dateFormat);\n\n this.startDate = start;\n this.endDate = end;\n\n const startFormatted = formatDate(start, {\n dateFormat: this.dateFormat,\n });\n const endFormatted = formatDate(end, { dateFormat: this.dateFormat });\n\n // Update the unified value prop (like nv-fieldslider)\n this.value = `${startFormatted},${endFormatted}`;\n this.valueChanged.emit(this.value);\n\n // Legacy support (deprecated) - sync props\n const legacyRange = { start: startFormatted, end: endFormatted };\n this.rangeDateChange.emit(legacyRange);\n // eslint-disable-next-line @stencil-community/strict-mutable\n this.rangeValue = legacyRange;\n\n if (!this.showActions) {\n const event = new CustomEvent('closePopover', {\n bubbles: true,\n composed: true,\n });\n this.el.dispatchEvent(event);\n }\n\n this.currentDate = start;\n }\n };\n\n /**\n * Method to force the complete calendar update\n * @param {Date} newDate - Date to force\n */\n private forceCalendarUpdate = newDate => {\n this.currentDate = new Date(newDate);\n };\n\n /**\n * Resets the current selection\n */\n private resetSelection = (): void => {\n if (this.selectionType === 'single') {\n this.selectedDate = null;\n // eslint-disable-next-line @stencil-community/strict-mutable\n this.singleValue = null;\n // eslint-disable-next-line @stencil-community/strict-mutable\n this.value = '';\n this.singleDateChange.emit('');\n this.valueChanged.emit('');\n } else {\n this.startDate = null;\n this.endDate = null;\n // eslint-disable-next-line @stencil-community/strict-mutable\n this.rangeValue = null;\n // eslint-disable-next-line @stencil-community/strict-mutable\n this.value = '';\n this.rangeDateChange.emit({ start: '', end: '' });\n this.valueChanged.emit('');\n }\n };\n\n /**\n * Confirms the current selection\n */\n private confirmSelection = (): void => {\n if (this.selectionType === 'single' && this.selectedDate) {\n const dateStr = formatDate(this.selectedDate, {\n dateFormat: this.dateFormat,\n });\n this.singleDateChange.emit(dateStr);\n // eslint-disable-next-line @stencil-community/strict-mutable\n this.singleValue = dateStr;\n const event = new CustomEvent('closePopover', {\n bubbles: true,\n composed: true,\n });\n this.el.dispatchEvent(event);\n } else if (\n this.selectionType === 'range' &&\n this.startDate &&\n this.endDate\n ) {\n this.rangeDateChange.emit({\n start: formatDate(this.startDate, { dateFormat: this.dateFormat }),\n end: formatDate(this.endDate, { dateFormat: this.dateFormat }),\n });\n // eslint-disable-next-line @stencil-community/strict-mutable\n this.rangeValue = {\n start: formatDate(this.startDate, { dateFormat: this.dateFormat }),\n end: formatDate(this.endDate, { dateFormat: this.dateFormat }),\n };\n const event = new CustomEvent('closePopover', {\n bubbles: true,\n composed: true,\n });\n this.el.dispatchEvent(event);\n }\n };\n\n /**\n * Clears the current selection and resets the calendar to its initial state.\n * This method can be called programmatically to reset the calendar.\n */\n @Method()\n async clear(): Promise<void> {\n if (this.selectionType === 'single') {\n this.selectedDate = null;\n this.singleValue = '';\n this.value = '';\n this.singleDateChange.emit('');\n this.valueChanged.emit('');\n } else {\n this.startDate = null;\n this.endDate = null;\n this.rangeValue = { start: '', end: '' };\n this.value = '';\n this.rangeDateChange.emit({ start: '', end: '' });\n this.valueChanged.emit('');\n }\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n\n /**\n * Renders the header\n * @param {number} offset - Month offset\n * @param {number} index - Calendar index\n * @returns {JSX.Element} Header\n * @description Renders the header of the calendar\n */\n private renderHeader = (offset: number, index: number) => {\n return (\n <CalendarHeader\n currentDate={this.currentDate}\n months={this.months}\n numberOfCalendars={this.numberOfCalendars}\n calendarIndex={index}\n monthOffset={offset}\n onMonthChange={this.changeMonth}\n onMonthSelect={this.handleMonthChange}\n onYearChange={this.handleYearChange}\n />\n );\n };\n\n /**\n * Renders the week numbers\n * @param {Array<{date: Date}>} weeks - Weeks to render\n * @param {number} index - Calendar index\n * @returns {JSX.Element} Week numbers\n * @description Renders the week numbers of the calendar\n */\n private renderWeekNumbers = (\n /** Weeks to render */\n weeks: Array<{\n /** Date */\n date: Date;\n }>[],\n /** Calendar index */\n index: number,\n ) => {\n return (\n <WeekNumbers\n weeks={weeks}\n localizedWeekText={this.getLocalizedWeekText()}\n selectionType={this.selectionType}\n onWeekSelect={this.handleWeekSelection}\n calendarIndex={index}\n />\n );\n };\n\n /**\n * Renders the calendar\n * @param {number} index - Calendar index\n * @param {number} offset - Month offset\n * @returns {JSX.Element} Calendar\n * @description Renders the calendar of the calendar\n */\n private renderCalendar = (\n /** Calendar index */\n index: number,\n /** Month offset */\n offset: number,\n ) => {\n const days = this.getDaysInMonth(offset);\n const weeks = [];\n for (let i = 0; i < days.length; i += 7) {\n weeks.push(days.slice(i, i + 7));\n }\n\n // Add year and month to the key to force re-render on date change\n const targetDate = new Date(this.currentDate);\n targetDate.setUTCMonth(targetDate.getUTCMonth() + offset);\n const year = targetDate.getUTCFullYear();\n const month = targetDate.getUTCMonth();\n\n return (\n <div class=\"calendar-wrapper\">\n <div\n class=\"calendar-container\"\n key={`calendar-${index}-${year}-${month}`}\n >\n {this.renderHeader(offset, index)}\n <div class=\"calendar-grid\">\n {this.showWeekNumbers && this.renderWeekNumbers(weeks, index)}\n <CalendarGrid\n days={days}\n dayNames={this.getDayNames()}\n selectionType={this.selectionType}\n selectedDate={this.selectedDate}\n startDate={this.startDate}\n endDate={this.endDate}\n isUTCMode={this.isUTCMode}\n onDayClick={this.handleDateSelection}\n isDateInRange={this.isDateInRange}\n isToday={this.isToday}\n />\n </div>\n </div>\n\n {/* Display a vertical separator only if multiple calendars */}\n {index < this.numberOfCalendars - 1 && (\n <div class=\"calendar-separator\"></div>\n )}\n </div>\n );\n };\n\n /**\n * Renders the shortcuts\n * @returns {JSX.Element} Shortcuts\n * @description Renders the shortcuts of the calendar\n */\n private renderShortcuts = () => {\n if (!this.hasShortcuts) {\n return null;\n }\n\n return (\n <CalendarShortcuts\n shortcuts={this.shortcuts}\n placement={this.shortcutsPlacement}\n onShortcutClick={this.applyShortcut}\n />\n );\n };\n\n /**\n * Renders the actions\n * @returns {JSX.Element} Actions\n * @description Renders the actions of the calendar\n * @slot actions - Child content of the component.\n */\n private renderActions = () => {\n return (\n <div class=\"datepicker-actions\">\n <slot name=\"actions\">\n <CalendarActions\n onReset={this.resetSelection}\n onConfirm={this.confirmSelection}\n useSlot={false}\n />\n </slot>\n </div>\n );\n };\n\n /**\n * Renders the datepicker\n * @returns {JSX.Element} Datepicker\n * @description Renders the datepicker of the calendar\n * @slot default - Child content of the component.\n */\n render() {\n return (\n <Host>\n <div class=\"datepicker-root\">\n <div\n class={`datepicker-container ${\n this.numberOfCalendars === 1 ? 'datepicker-container-single' : ''\n }`}\n >\n <div\n class={`datepicker-wrapper ${\n this.numberOfCalendars === 1 ? 'single' : ''\n }`}\n >\n {this.shortcutsPlacement === 'left' && this.renderShortcuts()}\n\n {Array.from({ length: this.numberOfCalendars }, (_, index) =>\n this.renderCalendar(index, index),\n )}\n\n {this.shortcutsPlacement === 'right' && this.renderShortcuts()}\n </div>\n\n {((this.hasShortcuts && this.shortcutsPlacement === 'bottom') ||\n this.hasActions) && (\n <div class=\"datepicker-controls\">\n {this.shortcutsPlacement === 'bottom' && this.renderShortcuts()}\n {this.hasActions && this.renderActions()}\n </div>\n )}\n </div>\n </div>\n <slot></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e,c as t,h as n,H as
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as e,c as t,h as n,H as o,g as i}from"./p-d0a33e64.js";const a="nv-menuitem{display:flex;align-items:center;max-width:300px;width:100vw;font-size:var(--menu-contextual-item-font-size);font-weight:var(--menu-contextual-item-font-weight);color:var(--components-menu-contextual-item-content);border-radius:var(--menu-contextual-item-radius);gap:var(--menu-contextual-item-gap-x);padding:var(--menu-contextual-item-padding-y) var(--menu-contextual-item-padding-x);transition:background-color 150ms ease-out;cursor:pointer}nv-menuitem:hover,nv-menuitem:focus,nv-menuitem:focus-within{background-color:var(--components-menu-contextual-item-background-hover);color:var(--components-menu-contextual-item-content-hover)}nv-menuitem *{pointer-events:none}nv-menuitem kbd{color:var(--components-menu-contextual-item-shortcut)}nv-menuitem [data-scope=text]{margin-right:auto}nv-menuitem[disabled]:not([disabled=false]){cursor:unset;background-color:unset;color:var(--components-menu-contextual-item-content-disabled)}";const c=a;const s=class{constructor(n){e(this,n);this.menuitemSelected=t(this,"menuitemSelected",7);this.disabled=false;this.hasSubmenu=false}handleMenuItemSelect(e){if(this.disabled){e.stopPropagation();return}this.menuitemSelected.emit({id:this.el.id,name:this.name,hasSubmenu:this.hasSubmenu})}handleClick(e){this.handleMenuItemSelect(e)}handleKeyDown(e){if(e.key==="Enter"||e.key===" "){const t=document.activeElement;if(t&&t.tagName==="NV-MENUITEM"&&!t.hasAttribute("has-submenu")){e.preventDefault();this.el.click()}}}render(){return n(o,{key:"327165c89f4e5decf8dc4b7b28e18562e528056d",role:"menuitem",tabindex:this.disabled?"-1":"0"},this.icon&&n("nv-icon",{key:"4247d922bca3797dc3f2917218749a8d3c038df1",name:this.icon}),n("slot",{key:"1f81464ccf47a5bd918873ef70d3d3385e870638"}),this.label&&n("span",{key:"113358a0cacfa53710ec0049a8e1c5e981de5b15","data-scope":"text"},this.label),this.shortcut&&!this.hasSubmenu&&n("kbd",{key:"ee7c773b89bf1f55876cf297600247883cd54937"},this.shortcut),this.hasSubmenu&&n("nv-icon",{key:"70cbe2df51d9fbffe3b474b54e87aa06801acef7",name:"chevron-right"}))}get el(){return i(this)}};s.style=c;export{s as nv_menuitem};
|
|
2
|
+
//# sourceMappingURL=p-f00a4552.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e,c as r,h as a,H as t,g as o}from"./p-d0a33e64.js";import{c as i}from"./p-8a1a6e56.js";import{v as n}from"./p-f5ff676c.js";const l='nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldtextarea{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box;max-width:480px}nv-fieldtextarea[fluid]:not([fluid=false]){max-width:unset}nv-fieldtextarea[readonly]:not([readonly=false]){--nv-field-border-default:var(--components-form-field-border-readonly);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-background:var(--components-form-field-background-readonly)}nv-fieldtextarea[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive-in-field)}nv-fieldtextarea[success]:not([success=false]){--nv-field-border-default:var(--components-form-field-border-success);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-success)}nv-fieldtextarea[required]:not([required=false]) label::after{content:"*";color:var(--components-form-text-required);font-weight:700}nv-fieldtextarea label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:500;line-height:var(--form-label-line-height)}nv-fieldtextarea .textarea-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch}nv-fieldtextarea .textarea-wrapper .textarea-container{display:flex;flex-grow:1;padding:calc(var(--form-field-padding-y) - 1px) var(--form-field-padding-x);justify-content:center;align-items:center;gap:var(--form-field-gap);align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fieldtextarea .textarea-wrapper .textarea-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldtextarea .textarea-wrapper .textarea-container:focus-within{border-color:var(--nv-field-border-focus);box-shadow:0 0 0 var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fieldtextarea .textarea-wrapper .textarea-container:has(textarea:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fieldtextarea .textarea-wrapper .textarea-container:has(textarea:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldtextarea .textarea-wrapper .textarea-container textarea{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);text-overflow:ellipsis;font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height)}nv-fieldtextarea .textarea-wrapper .textarea-container textarea::-webkit-scrollbar{width:6px;height:6px}nv-fieldtextarea .textarea-wrapper .textarea-container textarea::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}nv-fieldtextarea .textarea-wrapper .textarea-container textarea::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}nv-fieldtextarea .textarea-wrapper .textarea-container textarea:focus{outline:none}nv-fieldtextarea .textarea-wrapper .textarea-container textarea::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:"TT Norms Pro", sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:400;line-height:var(--form-field-line-height)}nv-fieldtextarea .textarea-wrapper .textarea-container nv-icon.validation{color:var(--nv-field-border-default)}nv-fieldtextarea .description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fieldtextarea .error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}';const d=l;const s=class{constructor(a){e(this,a);this.valueChanged=r(this,"valueChanged",7);this.inputId=n();this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.success=false;this.rows=3;this.resize="vertical";this.autosize=false;this.autofocus=false;this.fluid=false;this.handleTextarea=e=>{const r=e.target;this.value=r.value;this.valueChanged.emit(r.value)};this.handleTextareaContainerClick=()=>{this.textareaElement.focus()}}rowsChanged(){if(this.autosize){this.adjustTextareaHeight()}}autosizeChanged(){var e;if(this.autosize){this.adjustTextareaHeight()}else{(e=this.textareaElement)===null||e===void 0?void 0:e.style.removeProperty("height")}}handleValueChange(){if(this.autosize){this.adjustTextareaHeight()}}adjustTextareaHeight(){if(this.textareaElement&&this.autosize){requestAnimationFrame((()=>{requestAnimationFrame((()=>{this.textareaElement.style.height="auto";const e=window.getComputedStyle(this.textareaElement);const r=parseFloat(e.lineHeight);const a=parseFloat(e.paddingTop);const t=parseFloat(e.paddingBottom);const o=parseFloat(e.borderTopWidth);const i=parseFloat(e.borderBottomWidth);const n=r*this.rows+a+t+o+i;this.textareaElement.style.minHeight=`${n}px`;this.textareaElement.style.height=this.textareaElement.scrollHeight+"px"}))}))}}componentWillRender(){if(this.message){this.description=this.message}if(this.validation){this.errorDescription=this.validation;this.error=true}}componentDidLoad(){if(this.autosize){this.adjustTextareaHeight()}}render(){return a(t,{key:"a0e5cd4a7cf3dbfc928a08518b9ea031ae995e0a"},(this.label||this.el.querySelector('[slot="label"]'))&&a("label",{key:"bb327648d74c5340f7069afd5d3afd8cfbe816e8",htmlFor:this.inputId},a("slot",{key:"778cd6b79f71b4751e08b754f127da9460c104f0",name:"label"},this.label)),a("div",{key:"21e2126f2115b1de134e4d2acfa3a9b7eba713c0",class:"textarea-wrapper"},a("div",{key:"12b431b44cc6c8402a4af3fc5180ef95464571c4",class:"textarea-container",onClick:this.handleTextareaContainerClick},a("textarea",{key:"dbb7bf5fc51aa93993eb485b8650837e892747ed",id:this.inputId,ref:e=>this.textareaElement=e,placeholder:this.placeholder,autofocus:this.autofocus,name:this.name,disabled:this.disabled,readOnly:this.readonly,required:this.required,maxlength:this.maxlength,minlength:this.minlength,autocomplete:"off",value:this.value,onInput:this.handleTextarea,rows:this.rows,class:i(this.resize==="none"&&"resize-none",this.resize==="vertical"&&"resize-y",this.resize==="horizontal"&&"resize-x",this.resize==="both"&&"resize")}))),(this.description||this.el.querySelector('[slot="description"]'))&&a("div",{key:"d4758f3b173c84d5b7785c790832f794fae21504",class:"description"},a("slot",{key:"def8fe57e0dd229fc31ba5372663b9053ef6a3d0",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&a("div",{key:"5f6f6bce639a3690cd51d208be62bacdf5779f10",hidden:!this.error,class:"error-description"},a("slot",{key:"e0d185195a4c18d2a3627c554c4ce70a52db77d7",name:"error-description"},this.errorDescription)))}static get formAssociated(){return true}get el(){return o(this)}static get watchers(){return{rows:["rowsChanged"],autosize:["autosizeChanged"],value:["handleValueChange"]}}};s.style=d;export{s as nv_fieldtextarea};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as e,c as r,h as a,H as t,g as o}from"./p-d0a33e64.js";import{c as i}from"./p-8a1a6e56.js";import{v as n}from"./p-f5ff676c.js";const l='nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldtextarea{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box;max-width:480px}nv-fieldtextarea[fluid]:not([fluid=false]){max-width:unset}nv-fieldtextarea[readonly]:not([readonly=false]){--nv-field-border-default:var(--components-form-field-border-readonly);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-background:var(--components-form-field-background-readonly)}nv-fieldtextarea[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive-in-field)}nv-fieldtextarea[success]:not([success=false]){--nv-field-border-default:var(--components-form-field-border-success);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-success)}nv-fieldtextarea[required]:not([required=false]) label::after{content:"*";color:var(--components-form-text-required);font-weight:700}nv-fieldtextarea label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:500;line-height:var(--form-label-line-height)}nv-fieldtextarea .textarea-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch}nv-fieldtextarea .textarea-wrapper .textarea-container{display:flex;flex-grow:1;padding:calc(var(--form-field-padding-y) - 1px) var(--form-field-padding-x);justify-content:center;align-items:center;gap:var(--form-field-gap);align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fieldtextarea .textarea-wrapper .textarea-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldtextarea .textarea-wrapper .textarea-container:focus-within{border-color:var(--nv-field-border-focus);box-shadow:0 0 0 var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fieldtextarea .textarea-wrapper .textarea-container:has(textarea:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fieldtextarea .textarea-wrapper .textarea-container:has(textarea:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldtextarea .textarea-wrapper .textarea-container textarea{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);text-overflow:ellipsis;font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height)}nv-fieldtextarea .textarea-wrapper .textarea-container textarea::-webkit-scrollbar{width:6px;height:6px}nv-fieldtextarea .textarea-wrapper .textarea-container textarea::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}nv-fieldtextarea .textarea-wrapper .textarea-container textarea::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}nv-fieldtextarea .textarea-wrapper .textarea-container textarea:focus{outline:none}nv-fieldtextarea .textarea-wrapper .textarea-container textarea::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:"TT Norms Pro", sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:400;line-height:var(--form-field-line-height)}nv-fieldtextarea .textarea-wrapper .textarea-container nv-icon.validation{color:var(--nv-field-border-default)}nv-fieldtextarea .description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fieldtextarea .error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}';const d=l;const s=class{constructor(a){e(this,a);this.valueChanged=r(this,"valueChanged",7);this.inputId=n();this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.success=false;this.rows=3;this.resize="vertical";this.autosize=false;this.autofocus=false;this.fluid=false;this.handleTextarea=e=>{const r=e.target;this.value=r.value;this.valueChanged.emit(r.value)};this.handleTextareaContainerClick=()=>{this.textareaElement.focus()}}rowsChanged(){if(this.autosize){this.adjustTextareaHeight()}}autosizeChanged(){var e;if(this.autosize){this.adjustTextareaHeight()}else{(e=this.textareaElement)===null||e===void 0?void 0:e.style.removeProperty("height")}}handleValueChange(){if(this.autosize){this.adjustTextareaHeight()}}adjustTextareaHeight(){if(this.textareaElement&&this.autosize){requestAnimationFrame((()=>{requestAnimationFrame((()=>{this.textareaElement.style.height="auto";const e=window.getComputedStyle(this.textareaElement);const r=parseFloat(e.lineHeight);const a=parseFloat(e.paddingTop);const t=parseFloat(e.paddingBottom);const o=parseFloat(e.borderTopWidth);const i=parseFloat(e.borderBottomWidth);const n=r*this.rows+a+t+o+i;this.textareaElement.style.minHeight=`${n}px`;this.textareaElement.style.height=this.textareaElement.scrollHeight+"px"}))}))}}componentWillRender(){if(this.message){this.description=this.message}if(this.validation){this.errorDescription=this.validation;this.error=true}}componentDidLoad(){if(this.autosize){this.adjustTextareaHeight()}}render(){return a(t,{key:"2b054e4460ac1532cb2006feaa3930abc8e21505"},(this.label||this.el.querySelector('[slot="label"]'))&&a("label",{key:"5058a7c4a77a37336bcc58fd6b727f1f9564d7b2",htmlFor:this.inputId},a("slot",{key:"0c5abb11d0c2377b702ae1614134e28e53a6e1e2",name:"label"},this.label)),a("div",{key:"e6d9981eaab913b3cf04fd99e0fbd07830fbebff",class:"textarea-wrapper"},a("div",{key:"23392da0e927d2eb5720fa98499afd2fcb33d840",class:"textarea-container",onClick:this.handleTextareaContainerClick},a("textarea",{key:"9b9521f4e033002ea346e3054118a114349dd7ee",id:this.inputId,ref:e=>this.textareaElement=e,placeholder:this.placeholder,autofocus:this.autofocus,name:this.name,disabled:this.disabled,readOnly:this.readonly,required:this.required,maxlength:this.maxlength,minlength:this.minlength,autocomplete:"off",value:this.value,onInput:this.handleTextarea,rows:this.rows,class:i(this.resize==="none"&&"resize-none",this.resize==="vertical"&&"resize-y",this.resize==="horizontal"&&"resize-x",this.resize==="both"&&"resize")}))),(this.description||this.el.querySelector('[slot="description"]'))&&a("div",{key:"27411a39625e1f03bbe23ae52ceadb04ab0afd4e",class:"description"},a("slot",{key:"56a5e1a95376899525911e096ded708a4987711d",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&a("div",{key:"2336848d28c0d67c95607da5bcab3348c4c15e0a",hidden:!this.error,class:"error-description"},a("slot",{key:"a200628a9ed75402395e415eab743afddf0a5d27",name:"error-description"},this.errorDescription)))}static get formAssociated(){return true}get el(){return o(this)}static get watchers(){return{rows:["rowsChanged"],autosize:["autosizeChanged"],value:["handleValueChange"]}}};s.style=d;export{s as nv_fieldtextarea};
|
|
2
|
+
//# sourceMappingURL=p-f540db71.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e,c as r,h as t,H as i,g as n}from"./p-d0a33e64.js";import{I as a}from"./p-53aa81dd.js";import{v as o}from"./p-f5ff676c.js";import"./p-0462f723.js";const s='nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fielddaterange{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box;max-width:480px}nv-fielddaterange[fluid]:not([fluid=false]){max-width:unset}nv-fielddaterange[readonly]:not([readonly=false]){--nv-field-border-default:var(--components-form-field-border-readonly);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-background:var(--components-form-field-background-readonly)}nv-fielddaterange[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive-in-field)}nv-fielddaterange[success]:not([success=false]){--nv-field-border-default:var(--components-form-field-border-success);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-success)}nv-fielddaterange[required]:not([required=false]) label::after{content:"*";color:var(--components-form-text-required);font-weight:700}nv-fielddaterange label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:500;line-height:var(--form-label-line-height)}nv-fielddaterange nv-popover{width:100%;display:block}nv-fielddaterange nv-popover [data-scope=popover]{padding:0;background-color:var(--components-list-dropdown-background);border:1px solid var(--components-list-dropdown-border);width:auto}nv-fielddaterange nv-popover [slot=content]{display:block;width:100%}nv-fielddaterange .input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch;display:flex;align-items:center;gap:8px}nv-fielddaterange .input-wrapper .input-container{display:flex;flex-grow:1;justify-content:center;align-items:center;align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default, 1);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fielddaterange .input-wrapper .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fielddaterange .input-wrapper .input-container:focus-within,nv-fielddaterange .input-wrapper .input-container:focus-within:hover,nv-fielddaterange .input-wrapper .input-container:focus,nv-fielddaterange .input-wrapper .input-container:focus:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fielddaterange .input-wrapper .input-container:has(input:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fielddaterange .input-wrapper .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fielddaterange .input-wrapper .input-container:focus-within,nv-fielddaterange .input-wrapper .input-container:focus-within:hover,nv-fielddaterange .input-wrapper .input-container:focus,nv-fielddaterange .input-wrapper .input-container:focus:hover{box-shadow:none;border-color:var(--nv-field-border-default)}nv-fielddaterange .input-wrapper .input-container input{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);padding:var(--form-field-padding-y) var(--form-field-padding-x);font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height);width:100%;width:100%}nv-fielddaterange .input-wrapper .input-container input:focus{outline:none}nv-fielddaterange .input-wrapper .input-container input::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:"TT Norms Pro", sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:400;line-height:var(--form-field-line-height)}nv-fielddaterange .input-wrapper .input-container input[type=password]::-ms-clear,nv-fielddaterange .input-wrapper .input-container input[type=password]::-ms-reveal{display:none;width:0;height:0}nv-fielddaterange .input-wrapper .input-container input:focus-within,nv-fielddaterange .input-wrapper .input-container input:focus-within:hover,nv-fielddaterange .input-wrapper .input-container input:focus,nv-fielddaterange .input-wrapper .input-container input:focus:hover{outline:var(--focus-outline-stroke) solid var(--nv-field-border-focus);outline-offset:0px}nv-fielddaterange .input-wrapper .input-container input:focus-within~.range-separator,nv-fielddaterange .input-wrapper .input-container input:focus-within:hover~.range-separator,nv-fielddaterange .input-wrapper .input-container input:focus~.range-separator,nv-fielddaterange .input-wrapper .input-container input:focus:hover~.range-separator{background-color:transparent}nv-fielddaterange .input-wrapper .input-container>nv-iconbutton{border:0px;border-radius:0px}nv-fielddaterange .input-wrapper .input-container>nv-iconbutton:focus-visible{border-radius:var(--button-md-border-radius);outline-offset:-3px}nv-fielddaterange .input-wrapper .input-container nv-icon.validation{color:var(--nv-field-border-default)}nv-fielddaterange .description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fielddaterange .error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}nv-fielddaterange .range-inputs{display:flex;align-items:center;gap:0;width:100%}nv-fielddaterange .range-inputs input{flex:1;border:none;outline:none;padding:0;font-size:var(--form-field-font-size);color:var(--components-form-field-content-text);background:transparent;min-width:0}nv-fielddaterange .range-inputs input::placeholder{color:var(--components-form-field-content-placeholder)}nv-fielddaterange .range-inputs input:disabled{cursor:not-allowed;color:var(--components-form-field-content-text);background-color:var(--components-form-field-background-disabled)}nv-fielddaterange .range-inputs .range-separator{width:1px;height:1.5rem;background-color:var(--color-content-medium-border)}';const d=s;const l=class{constructor(t){e(this,t);this.dateRangeChange=r(this,"dateRangeChange",7);this.valueChanged=r(this,"valueChanged",7);this.popoverId=o();this.startInputId=o();this.endInputId=o();this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.success=false;this.autofocus=false;this.value="";this.startValue="";this.endValue="";this.open=false;this.firstDayOfWeek=1;this.numberOfCalendars=2;this.min="";this.max="";this.locale="en-BE";this.dateFormat="YYYY-MM-DD";this.shortcutsPlacement="bottom";this.showActions=false;this.fluid=false;this.parseUnifiedValue=e=>{if(!e){this.startValue="";this.endValue="";return}const r=e.split(",").map((e=>e.trim())).filter(Boolean);if(r.length>=2){this.startValue=r[0];this.endValue=r[1]}else{console.warn(`Invalid date range format: ${e}`);this.startValue="";this.endValue=""}};this.handleClickOutside=e=>{if(this.open&&this.el&&!this.el.contains(e.target)){this.open=false}};this.handleStartInput=e=>{if(this.readonly||this.disabled){e.preventDefault();return}const r=e.target;this.startValue=r.value;this.value=`${r.value},${this.endValue}`;this.valueChanged.emit(this.value);this.dateRangeChange.emit({start:r.value,end:this.endValue});if(this.calendarElement){this.calendarElement.removeAttribute("data-prevent-navigation");this.updateCalendarValue();setTimeout((()=>{if(this.calendarElement){this.calendarElement.setAttribute("data-prevent-navigation","true")}}),100)}};this.handleEndInput=e=>{if(this.readonly||this.disabled){e.preventDefault();return}const r=e.target;this.endValue=r.value;this.value=`${this.startValue},${r.value}`;this.valueChanged.emit(this.value);this.dateRangeChange.emit({start:this.startValue,end:r.value});if(this.calendarElement){this.calendarElement.removeAttribute("data-prevent-navigation");this.updateCalendarValue();setTimeout((()=>{if(this.calendarElement){this.calendarElement.setAttribute("data-prevent-navigation","true")}}),100)}};this.handleFocus=e=>{if(this.readonly||this.disabled){e.preventDefault();e.target.blur();return}if(this.calendarElement){this.calendarElement.removeAttribute("data-prevent-navigation")}this.open=true;setTimeout((()=>{if(this.calendarElement){this.calendarElement.setAttribute("data-prevent-navigation","true")}}),300)};this.toggleCalendar=()=>{if(this.readonly||this.disabled){return}this.open=!this.open}}convertToInputmaskFormat(e){if(!e){return"dd/mm/yyyy"}const r={"YYYY-MM-DD":"yyyy-mm-dd","DD/MM/YYYY":"dd/mm/yyyy","MM/DD/YYYY":"mm/dd/yyyy","DD.MM.YYYY":"dd.mm.yyyy",YYYYMMDD:"yyyymmdd"};return r[e]||"dd/mm/yyyy"}updateCalendarValue(){}connectedCallback(){document.addEventListener("click",this.handleClickOutside)}componentWillLoad(){if(this.value){this.parseUnifiedValue(this.value)}}componentDidLoad(){const e=this.el.querySelectorAll(".input-wrapper input");e.forEach((e=>{const r=new a({alias:"datetime",inputFormat:this.convertToInputmaskFormat(this.dateFormat),placeholder:this.convertToInputmaskFormat(this.dateFormat),clearIncomplete:false,showMaskOnHover:false,showMaskOnFocus:false,clearMaskOnLostFocus:false,insertMode:true,rightAlign:false,oncomplete:function(e){const r=e.target;const t=new CustomEvent("input",{bubbles:true});r.dispatchEvent(t)}});r.mask(e);if(e.name===this.startName&&this.startValue){requestAnimationFrame((()=>{e.value=this.startValue;const r=new CustomEvent("input",{bubbles:true});e.dispatchEvent(r)}))}else if(e.name===this.endName&&this.endValue){requestAnimationFrame((()=>{e.value=this.endValue;const r=new CustomEvent("input",{bubbles:true});e.dispatchEvent(r)}))}}))}componentDidRender(){const e=this.el.querySelectorAll(".input-wrapper input");e.forEach((e=>{const r=e.name===this.startName?this.startValue:this.endName?this.endValue:"";if(r){requestAnimationFrame((()=>{e.value=r;e.setAttribute("value",r)}))}}))}disconnectedCallback(){document.removeEventListener("click",this.handleClickOutside)}handleRangeDateChange(e){const{start:r,end:t}=e.detail||{};if(r&&t){this.startValue=r;this.endValue=t;this.value=`${r},${t}`;this.valueChanged.emit(this.value);this.dateRangeChange.emit({start:this.startValue,end:this.endValue});if(!this.showActions){this.open=false}}}handleCalendarValueChanged(e){const r=e.detail||"";if(r!==this.value){this.value=r;this.valueChanged.emit(r);this.parseUnifiedValue(r);this.dateRangeChange.emit({start:this.startValue,end:this.endValue})}}handleClosePopover(){this.open=false}handleApplyDateRange(){this.open=false}handleDateReset(e){const r=e.type==="singleDateChange"&&e.detail==="";const t=e.type==="rangeDateChange"&&e.detail&&e.detail.start===""&&e.detail.end==="";if(r||t){this.startValue="";this.endValue="";this.value="";this.valueChanged.emit("");const e=this.el.querySelectorAll(".input-wrapper input");e.forEach((e=>{e.value=""}));this.dateRangeChange.emit({start:"",end:""})}}handleKeyDown(e){if(!this.open){if(e.key==="ArrowDown"){this.open=true;e.preventDefault();return}return}if(!this.popoverElement){console.warn("nv-fielddaterange -> Popover element is not defined");return}}handleValueChange(e){this.parseUnifiedValue(e)}onOpenChanged(e){if(this.contentRef){if(e){this.contentRef.style.transition="none";this.contentRef.style.maxHeight="0px";requestAnimationFrame((()=>{this.contentRef.style.transition="max-height 0.18s cubic-bezier(0.4,0,0.2,1)";this.contentRef.style.maxHeight=this.contentRef.scrollHeight+"px"}))}else{this.contentRef.style.transition="none";this.contentRef.style.maxHeight=this.contentRef.scrollHeight+"px";requestAnimationFrame((()=>{this.contentRef.style.transition="max-height 0.18s cubic-bezier(0.4,0,0.2,1)";this.contentRef.style.maxHeight="0px"}))}}}render(){return t(i,{key:"b2033314494faca72c310df329eab3918fe6935e"},(this.label&&this.label.length>0||this.el.querySelector('[slot="label"]'))&&t("label",{key:"22e0af3e24bada8d859bcf42de0dfcedff9f5988",htmlFor:this.startInputId},t("slot",{key:"8eb3e4e1a4c67c0d9cd014aa2c73b6fc2ecb1a8f",name:"label"},this.label)),t("nv-popover",{key:"f9c722e792ba69738df080975f78ea3dfeb40f07",ref:e=>this.popoverElement=e,id:this.popoverId,triggerMode:"controlled",placement:"bottom-start",open:this.open},t("div",{key:"805c98d4a9e1defc74c0b751691e413dfbcfa736",slot:"trigger",class:"input-wrapper"},t("slot",{key:"d84ddf0a0732a68392c79baab9cde23be6b1b27e",name:"before-input"}),t("div",{key:"4f3cfab2e9a83dacc0f950bc319192b568f90258",class:"input-container"},t("slot",{key:"2d8dd5e11369dc9bd1894e299f96b41806295568",name:"leading-input"}),t("div",{key:"b60b40b275099441071b130bed7d097e8c1dcbcb",class:"range-inputs"},t("input",{key:"b7c647676fa5e48d51e7b7f1cf83e4a0275805ec",id:this.startInputId,type:"text",placeholder:this.startPlaceholder,name:this.startName,disabled:this.disabled,readOnly:this.readonly,required:this.required,autofocus:this.autofocus,value:this.startValue,onInput:this.handleStartInput,onFocus:this.handleFocus,"data-scope":"date-range"}),t("div",{key:"3e63ececeeff713f51db0a47e3d3b4f305e6fc66",class:"range-separator"}),t("input",{key:"1c54a2e3f43ad077bfe9e9b17886300d06840bfd",id:this.endInputId,type:"text",placeholder:this.endPlaceholder,name:this.endName,disabled:this.disabled,readOnly:this.readonly,required:this.required,value:this.endValue,onInput:this.handleEndInput,onFocus:this.handleFocus,"data-scope":"date-range"})),this.error&&t("nv-icon",{key:"971b363f7fafbaeba65a161c1d7792d2bcacacf6",name:"alert-circle",class:"validation",size:"md"}),this.success&&t("nv-icon",{key:"0f498b287b4c9ad9f83a0d380c522441b8afdf6e",name:"circle-check",class:"validation",size:"md"}),t("nv-iconbutton",{key:"257549f7c201391c083f28f1b89ffa3a439f268c",class:"toggle-calendar-icon",name:"calendar",size:"md",emphasis:"lower","aria-label":this.open?"Hide calendar":"Show calendar","aria-pressed":this.open.toString(),onClick:this.toggleCalendar,tabIndex:this.disabled?-1:0})),t("slot",{key:"7be106f2f1500839e899d6f9c6f3705398cadd1a",name:"after-input"})),t("div",{key:"d2c56635c83628f37f0c1ec127bfeaca5fb78b90",slot:"content"},t("nv-calendar",{key:"4ec9eea45e030463c2df0115a0cfd6453da66f01",ref:e=>this.calendarElement=e,dateFormat:this.dateFormat,value:this.value,firstDayOfWeek:this.firstDayOfWeek,numberOfCalendars:this.numberOfCalendars,min:this.min,max:this.max,locale:this.locale,shortcutsPlacement:this.shortcutsPlacement,showActions:this.showActions,shortcuts:this.shortcuts,showWeekNumbers:this.showWeekNumbers,disabledDates:this.disabledDates,selectionType:"range","data-prevent-navigation":"true"}))),(this.description&&this.description.length>0||this.el.querySelector('[slot="description"]'))&&t("div",{key:"a624ba699b3b7a7bb4d26725fe451ecd5df1f5a2",class:"description"},t("slot",{key:"f2c3666075730a248e57c748b32df33a59f3777e",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&t("div",{key:"e2c1f8816b896d00e2c4ba8b32bc28380630ecad",hidden:!this.error,class:"error-description"},this.el.querySelector('[slot="error-description"]')?t("slot",{name:"error-description"}):this.errorDescription),t("slot",{key:"cee75865d222324b8d7f3144ba2facaefcaf1d35"}))}get el(){return n(this)}static get watchers(){return{value:["handleValueChange"],open:["onOpenChanged"]}}};l.style=d;export{l as nv_fielddaterange};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as e,c as r,h as t,H as i,g as n}from"./p-d0a33e64.js";import{I as a}from"./p-53aa81dd.js";import{v as o}from"./p-f5ff676c.js";import"./p-0462f723.js";const s='nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fielddaterange{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box;max-width:480px}nv-fielddaterange[fluid]:not([fluid=false]){max-width:unset}nv-fielddaterange[readonly]:not([readonly=false]){--nv-field-border-default:var(--components-form-field-border-readonly);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-background:var(--components-form-field-background-readonly)}nv-fielddaterange[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive-in-field)}nv-fielddaterange[success]:not([success=false]){--nv-field-border-default:var(--components-form-field-border-success);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-success)}nv-fielddaterange[required]:not([required=false]) label::after{content:"*";color:var(--components-form-text-required);font-weight:700}nv-fielddaterange label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:500;line-height:var(--form-label-line-height)}nv-fielddaterange nv-popover{width:100%;display:block}nv-fielddaterange nv-popover [data-scope=popover]{padding:0;background-color:var(--components-list-dropdown-background);border:1px solid var(--components-list-dropdown-border);width:auto}nv-fielddaterange nv-popover [slot=content]{display:block;width:100%}nv-fielddaterange .input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch;display:flex;align-items:center;gap:8px}nv-fielddaterange .input-wrapper .input-container{display:flex;flex-grow:1;justify-content:center;align-items:center;align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default, 1);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fielddaterange .input-wrapper .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fielddaterange .input-wrapper .input-container:focus-within,nv-fielddaterange .input-wrapper .input-container:focus-within:hover,nv-fielddaterange .input-wrapper .input-container:focus,nv-fielddaterange .input-wrapper .input-container:focus:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fielddaterange .input-wrapper .input-container:has(input:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fielddaterange .input-wrapper .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fielddaterange .input-wrapper .input-container:focus-within,nv-fielddaterange .input-wrapper .input-container:focus-within:hover,nv-fielddaterange .input-wrapper .input-container:focus,nv-fielddaterange .input-wrapper .input-container:focus:hover{box-shadow:none;border-color:var(--nv-field-border-default)}nv-fielddaterange .input-wrapper .input-container input{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);padding:var(--form-field-padding-y) var(--form-field-padding-x);font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height);width:100%;width:100%}nv-fielddaterange .input-wrapper .input-container input:focus{outline:none}nv-fielddaterange .input-wrapper .input-container input::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:"TT Norms Pro", sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:400;line-height:var(--form-field-line-height)}nv-fielddaterange .input-wrapper .input-container input[type=password]::-ms-clear,nv-fielddaterange .input-wrapper .input-container input[type=password]::-ms-reveal{display:none;width:0;height:0}nv-fielddaterange .input-wrapper .input-container input:focus-within,nv-fielddaterange .input-wrapper .input-container input:focus-within:hover,nv-fielddaterange .input-wrapper .input-container input:focus,nv-fielddaterange .input-wrapper .input-container input:focus:hover{outline:var(--focus-outline-stroke) solid var(--nv-field-border-focus);outline-offset:0px}nv-fielddaterange .input-wrapper .input-container input:focus-within~.range-separator,nv-fielddaterange .input-wrapper .input-container input:focus-within:hover~.range-separator,nv-fielddaterange .input-wrapper .input-container input:focus~.range-separator,nv-fielddaterange .input-wrapper .input-container input:focus:hover~.range-separator{background-color:transparent}nv-fielddaterange .input-wrapper .input-container>nv-iconbutton{border:0px;border-radius:0px}nv-fielddaterange .input-wrapper .input-container>nv-iconbutton:focus-visible{border-radius:var(--button-md-border-radius);outline-offset:-3px}nv-fielddaterange .input-wrapper .input-container nv-icon.validation{color:var(--nv-field-border-default)}nv-fielddaterange .description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fielddaterange .error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}nv-fielddaterange .range-inputs{display:flex;align-items:center;gap:0;width:100%}nv-fielddaterange .range-inputs input{flex:1;border:none;outline:none;padding:0;font-size:var(--form-field-font-size);color:var(--components-form-field-content-text);background:transparent;min-width:0}nv-fielddaterange .range-inputs input::placeholder{color:var(--components-form-field-content-placeholder)}nv-fielddaterange .range-inputs input:disabled{cursor:not-allowed;color:var(--components-form-field-content-text);background-color:var(--components-form-field-background-disabled)}nv-fielddaterange .range-inputs .range-separator{width:1px;height:1.5rem;background-color:var(--color-content-medium-border)}';const d=s;const l=class{constructor(t){e(this,t);this.dateRangeChange=r(this,"dateRangeChange",7);this.valueChanged=r(this,"valueChanged",7);this.popoverId=o();this.startInputId=o();this.endInputId=o();this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.success=false;this.autofocus=false;this.value="";this.startValue="";this.endValue="";this.open=false;this.firstDayOfWeek=1;this.numberOfCalendars=2;this.min="";this.max="";this.locale="en-BE";this.dateFormat="YYYY-MM-DD";this.shortcutsPlacement="bottom";this.showActions=false;this.fluid=false;this.parseUnifiedValue=e=>{if(!e){this.startValue="";this.endValue="";return}const r=e.split(",").map((e=>e.trim())).filter(Boolean);if(r.length>=2){this.startValue=r[0];this.endValue=r[1]}else{console.warn(`Invalid date range format: ${e}`);this.startValue="";this.endValue=""}};this.handleClickOutside=e=>{if(this.open&&this.el&&!this.el.contains(e.target)){this.open=false}};this.handleStartInput=e=>{if(this.readonly||this.disabled){e.preventDefault();return}const r=e.target;this.startValue=r.value;this.value=`${r.value},${this.endValue}`;this.valueChanged.emit(this.value);this.dateRangeChange.emit({start:r.value,end:this.endValue});if(this.calendarElement){this.calendarElement.removeAttribute("data-prevent-navigation");this.updateCalendarValue();setTimeout((()=>{if(this.calendarElement){this.calendarElement.setAttribute("data-prevent-navigation","true")}}),100)}};this.handleEndInput=e=>{if(this.readonly||this.disabled){e.preventDefault();return}const r=e.target;this.endValue=r.value;this.value=`${this.startValue},${r.value}`;this.valueChanged.emit(this.value);this.dateRangeChange.emit({start:this.startValue,end:r.value});if(this.calendarElement){this.calendarElement.removeAttribute("data-prevent-navigation");this.updateCalendarValue();setTimeout((()=>{if(this.calendarElement){this.calendarElement.setAttribute("data-prevent-navigation","true")}}),100)}};this.handleFocus=e=>{if(this.readonly||this.disabled){e.preventDefault();e.target.blur();return}if(this.calendarElement){this.calendarElement.removeAttribute("data-prevent-navigation")}this.open=true;setTimeout((()=>{if(this.calendarElement){this.calendarElement.setAttribute("data-prevent-navigation","true")}}),300)};this.toggleCalendar=()=>{if(this.readonly||this.disabled){return}this.open=!this.open}}convertToInputmaskFormat(e){if(!e){return"dd/mm/yyyy"}const r={"YYYY-MM-DD":"yyyy-mm-dd","DD/MM/YYYY":"dd/mm/yyyy","MM/DD/YYYY":"mm/dd/yyyy","DD.MM.YYYY":"dd.mm.yyyy",YYYYMMDD:"yyyymmdd"};return r[e]||"dd/mm/yyyy"}updateCalendarValue(){}async clear(){this.startValue="";this.endValue="";this.value="";const e=this.el.querySelectorAll(".input-wrapper input");e.forEach((e=>{e.value="";if(e.inputmask){e.inputmask.remove()}}));this.valueChanged.emit("");this.dateRangeChange.emit({start:"",end:""});this.open=false;if(this.calendarElement){this.calendarElement.clear()}}connectedCallback(){document.addEventListener("click",this.handleClickOutside)}componentWillLoad(){if(this.value){this.parseUnifiedValue(this.value)}}componentDidLoad(){const e=this.el.querySelectorAll(".input-wrapper input");e.forEach((e=>{const r=new a({alias:"datetime",inputFormat:this.convertToInputmaskFormat(this.dateFormat),placeholder:this.convertToInputmaskFormat(this.dateFormat),clearIncomplete:false,showMaskOnHover:false,showMaskOnFocus:false,clearMaskOnLostFocus:false,insertMode:true,rightAlign:false,oncomplete:function(e){const r=e.target;const t=new CustomEvent("input",{bubbles:true});r.dispatchEvent(t)}});r.mask(e);if(e.name===this.startName&&this.startValue){requestAnimationFrame((()=>{e.value=this.startValue;const r=new CustomEvent("input",{bubbles:true});e.dispatchEvent(r)}))}else if(e.name===this.endName&&this.endValue){requestAnimationFrame((()=>{e.value=this.endValue;const r=new CustomEvent("input",{bubbles:true});e.dispatchEvent(r)}))}}))}componentDidRender(){const e=this.el.querySelectorAll(".input-wrapper input");e.forEach((e=>{const r=e.name===this.startName?this.startValue:this.endName?this.endValue:"";if(r){requestAnimationFrame((()=>{e.value=r;e.setAttribute("value",r)}))}}))}disconnectedCallback(){document.removeEventListener("click",this.handleClickOutside)}handleRangeDateChange(e){const{start:r,end:t}=e.detail||{};if(r&&t){this.startValue=r;this.endValue=t;this.value=`${r},${t}`;this.valueChanged.emit(this.value);this.dateRangeChange.emit({start:this.startValue,end:this.endValue});if(!this.showActions){this.open=false}}}handleCalendarValueChanged(e){const r=e.detail||"";if(r!==this.value){this.value=r;this.valueChanged.emit(r);this.parseUnifiedValue(r);this.dateRangeChange.emit({start:this.startValue,end:this.endValue})}}handleClosePopover(){this.open=false}handleApplyDateRange(){this.open=false}handleDateReset(e){const r=e.type==="singleDateChange"&&e.detail==="";const t=e.type==="rangeDateChange"&&e.detail&&e.detail.start===""&&e.detail.end==="";if(r||t){this.startValue="";this.endValue="";this.value="";this.valueChanged.emit("");const e=this.el.querySelectorAll(".input-wrapper input");e.forEach((e=>{e.value=""}));this.dateRangeChange.emit({start:"",end:""})}}handleKeyDown(e){if(!this.open){if(e.key==="ArrowDown"){this.open=true;e.preventDefault();return}return}if(!this.popoverElement){console.warn("nv-fielddaterange -> Popover element is not defined");return}}handleValueChange(e){this.parseUnifiedValue(e)}onOpenChanged(e){if(this.contentRef){if(e){this.contentRef.style.transition="none";this.contentRef.style.maxHeight="0px";requestAnimationFrame((()=>{this.contentRef.style.transition="max-height 0.18s cubic-bezier(0.4,0,0.2,1)";this.contentRef.style.maxHeight=this.contentRef.scrollHeight+"px"}))}else{this.contentRef.style.transition="none";this.contentRef.style.maxHeight=this.contentRef.scrollHeight+"px";requestAnimationFrame((()=>{this.contentRef.style.transition="max-height 0.18s cubic-bezier(0.4,0,0.2,1)";this.contentRef.style.maxHeight="0px"}))}}}render(){return t(i,{key:"e2d5ce2c864dbc8ba478a1ce1353aa8e51e13ec1"},(this.label&&this.label.length>0||this.el.querySelector('[slot="label"]'))&&t("label",{key:"6e171200b763f8e7a907d305475bb7d4faa27979",htmlFor:this.startInputId},t("slot",{key:"9f8b94e7491d4cd73e17f41ba290acda1fe73f3b",name:"label"},this.label)),t("nv-popover",{key:"9bf5539eeceadb960c3438ddc05fe986f800d33b",ref:e=>this.popoverElement=e,id:this.popoverId,triggerMode:"controlled",placement:"bottom-start",open:this.open},t("div",{key:"58f7625d27c2266429ddc4f653d61efefed5bc66",slot:"trigger",class:"input-wrapper"},t("slot",{key:"206064a5c1be74082202849b96e46a8207377098",name:"before-input"}),t("div",{key:"bd66fb676a5a749e17ede3f75c8a4404586c0c63",class:"input-container"},t("slot",{key:"7c78a037f5189143ea32ca843e1c27b52d8f2d4b",name:"leading-input"}),t("div",{key:"fbe89bc4502eca56e05029d65a45684484921433",class:"range-inputs"},t("input",{key:"397e572e87dd7f01977008b44847469cabd06494",id:this.startInputId,type:"text",placeholder:this.startPlaceholder,name:this.startName,disabled:this.disabled,readOnly:this.readonly,required:this.required,autofocus:this.autofocus,value:this.startValue,onInput:this.handleStartInput,onFocus:this.handleFocus,"data-scope":"date-range"}),t("div",{key:"378d2755919eafc9f4edd8ee451c01e49dc70cfe",class:"range-separator"}),t("input",{key:"2de8dcda3161667a543c04ae529a0f617f6598c6",id:this.endInputId,type:"text",placeholder:this.endPlaceholder,name:this.endName,disabled:this.disabled,readOnly:this.readonly,required:this.required,value:this.endValue,onInput:this.handleEndInput,onFocus:this.handleFocus,"data-scope":"date-range"})),this.error&&t("nv-icon",{key:"5880e135764a7f9f87d92a4f7a84eba9f56b7d46",name:"alert-circle",class:"validation",size:"md"}),this.success&&t("nv-icon",{key:"5d764360d3dbfc306962cb9e4b67d7d3c4bc09ed",name:"circle-check",class:"validation",size:"md"}),t("nv-iconbutton",{key:"1b09d57633f8e115cc3d92a82d35399c53be265b",class:"toggle-calendar-icon",name:"calendar",size:"md",emphasis:"lower","aria-label":this.open?"Hide calendar":"Show calendar","aria-pressed":this.open.toString(),onClick:this.toggleCalendar,tabIndex:this.disabled?-1:0})),t("slot",{key:"7ec41f782b0343eeb427bee4d7f2ab1b549978b3",name:"after-input"})),t("div",{key:"ea714333fe596af8a10c6f8a1e6c72935f8e5c91",slot:"content"},t("nv-calendar",{key:"ffaa70c5bc76c422396b233d3dc46fdeb2d06b10",ref:e=>this.calendarElement=e,dateFormat:this.dateFormat,value:this.value,firstDayOfWeek:this.firstDayOfWeek,numberOfCalendars:this.numberOfCalendars,min:this.min,max:this.max,locale:this.locale,shortcutsPlacement:this.shortcutsPlacement,showActions:this.showActions,shortcuts:this.shortcuts,showWeekNumbers:this.showWeekNumbers,disabledDates:this.disabledDates,selectionType:"range","data-prevent-navigation":"true"}))),(this.description&&this.description.length>0||this.el.querySelector('[slot="description"]'))&&t("div",{key:"7f4aa271c896234907d95cfe7660e1c41ab8ddf7",class:"description"},t("slot",{key:"fce93594f7af4d054f886ce3caf48cfffb6809aa",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&t("div",{key:"f5a19b5d4c90c4319dc4eb09d1067f202ab229c9",hidden:!this.error,class:"error-description"},this.el.querySelector('[slot="error-description"]')?t("slot",{name:"error-description"}):this.errorDescription),t("slot",{key:"1d494e4c192b38c26e8cfe5482516382cacc13c6"}))}get el(){return n(this)}static get watchers(){return{value:["handleValueChange"],open:["onOpenChanged"]}}};l.style=d;export{l as nv_fielddaterange};
|
|
2
|
+
//# sourceMappingURL=p-f687e05c.entry.js.map
|