@nova-design-system/nova-webcomponents 3.0.0-beta.46 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index-9bda5507.js +0 -4
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/native.cjs.js +1 -1
- package/dist/cjs/nv-badge_2.cjs.entry.js +1 -1
- package/dist/cjs/nv-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/nv-breadcrumbs.cjs.entry.js +1 -1
- package/dist/cjs/nv-button.cjs.entry.js +1 -1
- package/dist/cjs/nv-calendar.cjs.entry.js +48 -19
- package/dist/cjs/nv-calendar.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-col.cjs.entry.js +1 -1
- package/dist/cjs/nv-datagrid.cjs.entry.js +351 -91
- package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-datagridcolumn.cjs.entry.js +1 -1
- package/dist/cjs/nv-dialog.cjs.entry.js +1 -1
- package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +2 -2
- package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +4 -4
- package/dist/cjs/nv-fielddate.cjs.entry.js +5 -5
- package/dist/cjs/nv-fielddaterange.cjs.entry.js +4 -4
- package/dist/cjs/nv-fielddropdown.cjs.entry.js +15 -29
- package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +28 -71
- 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-fieldnumber.cjs.entry.js.map +1 -1
- 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-fieldtext.cjs.entry.js +3 -3
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js +3 -3
- package/dist/cjs/nv-fieldtime.cjs.entry.js +9 -9
- 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 +16 -42
- package/dist/cjs/nv-menu.cjs.entry.js.map +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-stack.cjs.entry.js.map +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/collection-manifest.json +0 -1
- package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js +1 -1
- package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js +1 -1
- package/dist/collection/components/nv-button/nv-button.js +1 -1
- package/dist/collection/components/nv-calendar/nv-calendar.docs.js +0 -9
- package/dist/collection/components/nv-calendar/nv-calendar.docs.js.map +1 -1
- package/dist/collection/components/nv-calendar/nv-calendar.js +48 -19
- package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -1
- package/dist/collection/components/nv-col/nv-col.js +1 -1
- package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +542 -75
- package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +1 -1
- package/dist/collection/components/nv-datagrid/nv-datagrid.js +366 -95
- package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -1
- package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +1 -1
- package/dist/collection/components/nv-dialog/nv-dialog.js +1 -1
- package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js +1 -1
- package/dist/collection/components/nv-dialogheader/nv-dialogheader.js +1 -1
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +4 -4
- package/dist/collection/components/nv-fielddate/nv-fielddate.js +5 -5
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +4 -4
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +8 -8
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +1 -1
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +22 -39
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
- package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +1 -1
- package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +1 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +6 -6
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +35 -85
- 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-fieldnumber/nv-fieldnumber.js.map +1 -1
- 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-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-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.docs.js +3 -3
- package/dist/collection/components/nv-menu/nv-menu.docs.js.map +1 -1
- package/dist/collection/components/nv-menu/nv-menu.js +31 -59
- package/dist/collection/components/nv-menu/nv-menu.js.map +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.docs.js +7 -6
- package/dist/collection/components/nv-stack/nv-stack.docs.js.map +1 -1
- package/dist/collection/components/nv-stack/nv-stack.js +1 -1
- package/dist/collection/components/nv-stack/nv-stack.js.map +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-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 +3 -3
- package/dist/components/nv-breadcrumbs.js +1 -1
- package/dist/components/nv-button.js +1 -1
- package/dist/components/nv-calendar.js +1 -1
- package/dist/components/nv-col.js +1 -1
- package/dist/components/nv-datagrid.js +359 -94
- package/dist/components/nv-datagrid.js.map +1 -1
- package/dist/components/nv-datagridcolumn.js +1 -1
- package/dist/components/nv-dialog.js +6 -6
- package/dist/components/nv-dialogfooter.js +1 -1
- package/dist/components/nv-dialogheader.js +1 -1
- package/dist/components/nv-fieldcheckbox.js +1 -1
- package/dist/components/nv-fielddate.js +12 -12
- package/dist/components/nv-fielddaterange.js +11 -11
- package/dist/components/nv-fielddropdown.js +21 -36
- package/dist/components/nv-fielddropdown.js.map +1 -1
- package/dist/components/nv-fielddropdownitem.js +1 -1
- package/dist/components/nv-fielddropdownitemcheck.js +1 -1
- package/dist/components/nv-fieldmultiselect.js +36 -81
- package/dist/components/nv-fieldmultiselect.js.map +1 -1
- package/dist/components/nv-fieldnumber.js +6 -6
- package/dist/components/nv-fieldnumber.js.map +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-fieldtext.js +4 -4
- package/dist/components/nv-fieldtextarea.js +3 -3
- package/dist/components/nv-fieldtime.js +13 -13
- 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 +21 -50
- package/dist/components/nv-menu.js.map +1 -1
- 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-stack.js.map +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-d88ced51.js → p-02752770.js} +2 -2
- package/dist/components/{p-d88ced51.js.map → p-02752770.js.map} +1 -1
- package/dist/components/{p-7b89fb48.js → p-150daf68.js} +2 -2
- package/dist/components/{p-7b89fb48.js.map → p-150daf68.js.map} +1 -1
- package/dist/components/{p-56ef8131.js → p-2012b8ba.js} +3 -3
- package/dist/components/{p-56ef8131.js.map → p-2012b8ba.js.map} +1 -1
- package/dist/components/{p-8674c7af.js → p-2d9ba7d3.js} +3 -3
- package/dist/components/{p-8674c7af.js.map → p-2d9ba7d3.js.map} +1 -1
- package/dist/components/{p-5a5f11c2.js → p-373926aa.js} +2 -2
- package/dist/components/{p-5a5f11c2.js.map → p-373926aa.js.map} +1 -1
- package/dist/components/{p-dcabc6fa.js → p-4d3ec142.js} +3 -3
- package/dist/components/{p-dcabc6fa.js.map → p-4d3ec142.js.map} +1 -1
- package/dist/components/{p-91b58443.js → p-591730e7.js} +2 -2
- package/dist/components/{p-91b58443.js.map → p-591730e7.js.map} +1 -1
- package/dist/components/{p-b4768da6.js → p-6c364a23.js} +5 -5
- package/dist/components/{p-b4768da6.js.map → p-6c364a23.js.map} +1 -1
- package/dist/components/{p-f469df15.js → p-a30b55fc.js} +2 -2
- package/dist/components/{p-f469df15.js.map → p-a30b55fc.js.map} +1 -1
- package/dist/components/{p-664c5a14.js → p-b7b78e64.js} +2 -2
- package/dist/components/{p-664c5a14.js.map → p-b7b78e64.js.map} +1 -1
- package/dist/components/{p-8c5a861b.js → p-c14f6b8e.js} +3 -3
- package/dist/components/{p-8c5a861b.js.map → p-c14f6b8e.js.map} +1 -1
- package/dist/components/{p-a9e1bf70.js → p-dc3faba3.js} +4 -4
- package/dist/components/{p-a9e1bf70.js.map → p-dc3faba3.js.map} +1 -1
- package/dist/components/{p-9d6aaf76.js → p-e00cbb8a.js} +5 -5
- package/dist/components/{p-9d6aaf76.js.map → p-e00cbb8a.js.map} +1 -1
- package/dist/components/{p-a9f162a8.js → p-f331117c.js} +53 -24
- package/dist/components/p-f331117c.js.map +1 -0
- package/dist/components/{p-18bc0291.js → p-f4d86795.js} +3 -3
- package/dist/components/{p-18bc0291.js.map → p-f4d86795.js.map} +1 -1
- package/dist/esm/index-1fb7a9a6.js +0 -4
- package/dist/esm/loader.js +1 -1
- package/dist/esm/native.js +1 -1
- package/dist/esm/nv-badge_2.entry.js +1 -1
- package/dist/esm/nv-breadcrumb.entry.js +1 -1
- package/dist/esm/nv-breadcrumbs.entry.js +1 -1
- package/dist/esm/nv-button.entry.js +1 -1
- package/dist/esm/nv-calendar.entry.js +48 -19
- package/dist/esm/nv-calendar.entry.js.map +1 -1
- package/dist/esm/nv-col.entry.js +1 -1
- package/dist/esm/nv-datagrid.entry.js +351 -91
- package/dist/esm/nv-datagrid.entry.js.map +1 -1
- package/dist/esm/nv-datagridcolumn.entry.js +1 -1
- package/dist/esm/nv-dialog.entry.js +1 -1
- package/dist/esm/nv-dialogfooter_2.entry.js +2 -2
- package/dist/esm/nv-fieldcheckbox.entry.js +4 -4
- package/dist/esm/nv-fielddate.entry.js +5 -5
- package/dist/esm/nv-fielddaterange.entry.js +4 -4
- package/dist/esm/nv-fielddropdown.entry.js +15 -29
- package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
- package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
- package/dist/esm/nv-fieldmultiselect.entry.js +28 -71
- package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
- package/dist/esm/nv-fieldnumber.entry.js +3 -3
- package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
- 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-fieldtext.entry.js +3 -3
- package/dist/esm/nv-fieldtextarea.entry.js +3 -3
- package/dist/esm/nv-fieldtime.entry.js +9 -9
- 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 +16 -42
- package/dist/esm/nv-menu.entry.js.map +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-stack.entry.js.map +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.esm.js +1 -1
- package/dist/native/native.esm.js.map +1 -1
- package/dist/native/p-0245863d.entry.js +2 -0
- package/dist/native/{p-8946883b.entry.js → p-0ee428d5.entry.js} +2 -2
- package/dist/native/{p-8f7c1bb8.entry.js → p-244f56ac.entry.js} +2 -2
- package/dist/native/p-2691e02d.entry.js +2 -0
- package/dist/native/{p-aeac63ea.entry.js → p-37f0210e.entry.js} +2 -2
- package/dist/native/{p-000ef9c9.entry.js → p-39bb95ff.entry.js} +2 -2
- package/dist/native/{p-76cd466a.entry.js → p-4ae26462.entry.js} +2 -2
- package/dist/native/{p-75f4bfe8.entry.js → p-4d9c4618.entry.js} +2 -2
- package/dist/native/p-4d9c4618.entry.js.map +1 -0
- package/dist/native/{p-d4e48d08.entry.js → p-59e0bd2b.entry.js} +2 -2
- package/dist/native/{p-d4e48d08.entry.js.map → p-59e0bd2b.entry.js.map} +1 -1
- package/dist/native/{p-626a1372.entry.js → p-5c00f092.entry.js} +2 -2
- package/dist/native/p-63e6aed3.entry.js +2 -0
- package/dist/native/p-63e6aed3.entry.js.map +1 -0
- package/dist/native/{p-4fe5ebe9.entry.js → p-6b348684.entry.js} +2 -2
- package/dist/native/{p-aa957898.entry.js → p-6ff228da.entry.js} +2 -2
- package/dist/native/{p-aa957898.entry.js.map → p-6ff228da.entry.js.map} +1 -1
- package/dist/native/{p-74f7f404.entry.js → p-701b5557.entry.js} +2 -2
- package/dist/native/{p-002e7bf1.entry.js → p-7f5eb2ac.entry.js} +2 -2
- package/dist/native/{p-e4f84faa.entry.js → p-84a73e2a.entry.js} +2 -2
- package/dist/native/p-9135fdf5.entry.js +2 -0
- package/dist/native/p-93dc2f47.entry.js +2 -0
- package/dist/native/{p-7e1fa44c.entry.js.map → p-93dc2f47.entry.js.map} +1 -1
- package/dist/native/{p-be5f62e5.entry.js → p-9a267f16.entry.js} +2 -2
- package/dist/native/p-9a267f16.entry.js.map +1 -0
- package/dist/native/{p-60d6ffa3.entry.js → p-9d6431c7.entry.js} +2 -2
- package/dist/native/{p-b11fdaed.entry.js → p-b094296d.entry.js} +2 -2
- package/dist/native/{p-43cc98dc.entry.js → p-b2ce83ad.entry.js} +2 -2
- package/dist/native/{p-115ad66c.entry.js → p-bad11367.entry.js} +2 -2
- package/dist/native/{p-6603d939.entry.js → p-c7b201cd.entry.js} +2 -2
- package/dist/native/{p-4c859a14.entry.js → p-d7a76400.entry.js} +2 -2
- package/dist/native/p-e1a4f776.entry.js +2 -0
- package/dist/native/p-e1a4f776.entry.js.map +1 -0
- package/dist/native/p-e49bbd02.entry.js +2 -0
- package/dist/native/p-e49bbd02.entry.js.map +1 -0
- package/dist/native/{p-98030346.entry.js → p-e5de64d5.entry.js} +2 -2
- package/dist/native/p-eee01062.entry.js +2 -0
- package/dist/native/{p-3df6febe.entry.js.map → p-eee01062.entry.js.map} +1 -1
- package/dist/native/{p-b6164ebc.entry.js → p-f6bdc270.entry.js} +2 -2
- package/dist/native/{p-50dcce07.entry.js → p-f85aca27.entry.js} +2 -2
- package/dist/native/{p-1e5453be.entry.js → p-fa77a591.entry.js} +2 -2
- package/dist/native/{p-d5158e27.entry.js → p-fb5bddba.entry.js} +2 -2
- package/dist/types/components/nv-calendar/nv-calendar.d.ts +10 -7
- package/dist/types/components/nv-datagrid/nv-datagrid.d.ts +37 -2
- package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +16 -20
- package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +16 -34
- package/dist/types/components/nv-menu/nv-menu.d.ts +46 -12
- package/dist/types/components.d.ts +174 -43
- package/dist/vscode-data.json +8 -20
- package/hydrate/index.js +535 -407
- package/hydrate/index.mjs +535 -407
- package/package.json +3 -2
- package/dist/cjs/nv-base.cjs.entry.js +0 -74
- package/dist/cjs/nv-base.cjs.entry.js.map +0 -1
- package/dist/collection/components/nv-base/nv-base.docs.js +0 -5
- package/dist/collection/components/nv-base/nv-base.docs.js.map +0 -1
- package/dist/collection/components/nv-base/nv-base.js +0 -68
- package/dist/collection/components/nv-base/nv-base.js.map +0 -1
- package/dist/components/nv-base.d.ts +0 -11
- package/dist/components/nv-base.js +0 -88
- package/dist/components/nv-base.js.map +0 -1
- package/dist/components/p-a9f162a8.js.map +0 -1
- package/dist/esm/nv-base.entry.js +0 -70
- package/dist/esm/nv-base.entry.js.map +0 -1
- package/dist/native/p-2ed9934a.entry.js +0 -2
- package/dist/native/p-2ed9934a.entry.js.map +0 -1
- package/dist/native/p-3df6febe.entry.js +0 -2
- package/dist/native/p-4977fcd0.entry.js +0 -2
- package/dist/native/p-75f4bfe8.entry.js.map +0 -1
- package/dist/native/p-7e1fa44c.entry.js +0 -2
- package/dist/native/p-b8b58064.entry.js +0 -2
- package/dist/native/p-be5f62e5.entry.js.map +0 -1
- package/dist/native/p-c6fe73a9.entry.js +0 -2
- package/dist/native/p-c6fe73a9.entry.js.map +0 -1
- package/dist/native/p-ce64d562.entry.js +0 -2
- package/dist/native/p-d352a8b3.entry.js +0 -2
- package/dist/native/p-d352a8b3.entry.js.map +0 -1
- package/dist/native/p-e200185a.entry.js +0 -2
- package/dist/native/p-e200185a.entry.js.map +0 -1
- package/dist/types/components/nv-base/nv-base.d.ts +0 -17
- package/dist/types/components/nv-base/nv-base.docs.d.ts +0 -5
- /package/dist/native/{p-ce64d562.entry.js.map → p-0245863d.entry.js.map} +0 -0
- /package/dist/native/{p-8946883b.entry.js.map → p-0ee428d5.entry.js.map} +0 -0
- /package/dist/native/{p-8f7c1bb8.entry.js.map → p-244f56ac.entry.js.map} +0 -0
- /package/dist/native/{p-4977fcd0.entry.js.map → p-2691e02d.entry.js.map} +0 -0
- /package/dist/native/{p-aeac63ea.entry.js.map → p-37f0210e.entry.js.map} +0 -0
- /package/dist/native/{p-000ef9c9.entry.js.map → p-39bb95ff.entry.js.map} +0 -0
- /package/dist/native/{p-76cd466a.entry.js.map → p-4ae26462.entry.js.map} +0 -0
- /package/dist/native/{p-626a1372.entry.js.map → p-5c00f092.entry.js.map} +0 -0
- /package/dist/native/{p-4fe5ebe9.entry.js.map → p-6b348684.entry.js.map} +0 -0
- /package/dist/native/{p-74f7f404.entry.js.map → p-701b5557.entry.js.map} +0 -0
- /package/dist/native/{p-002e7bf1.entry.js.map → p-7f5eb2ac.entry.js.map} +0 -0
- /package/dist/native/{p-e4f84faa.entry.js.map → p-84a73e2a.entry.js.map} +0 -0
- /package/dist/native/{p-b8b58064.entry.js.map → p-9135fdf5.entry.js.map} +0 -0
- /package/dist/native/{p-60d6ffa3.entry.js.map → p-9d6431c7.entry.js.map} +0 -0
- /package/dist/native/{p-b11fdaed.entry.js.map → p-b094296d.entry.js.map} +0 -0
- /package/dist/native/{p-43cc98dc.entry.js.map → p-b2ce83ad.entry.js.map} +0 -0
- /package/dist/native/{p-115ad66c.entry.js.map → p-bad11367.entry.js.map} +0 -0
- /package/dist/native/{p-6603d939.entry.js.map → p-c7b201cd.entry.js.map} +0 -0
- /package/dist/native/{p-4c859a14.entry.js.map → p-d7a76400.entry.js.map} +0 -0
- /package/dist/native/{p-98030346.entry.js.map → p-e5de64d5.entry.js.map} +0 -0
- /package/dist/native/{p-b6164ebc.entry.js.map → p-f6bdc270.entry.js.map} +0 -0
- /package/dist/native/{p-50dcce07.entry.js.map → p-f85aca27.entry.js.map} +0 -0
- /package/dist/native/{p-1e5453be.entry.js.map → p-fa77a591.entry.js.map} +0 -0
- /package/dist/native/{p-d5158e27.entry.js.map → p-fb5bddba.entry.js.map} +0 -0
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { r as registerInstance, h, a as Host, g as getElement } from './index-1fb7a9a6.js';
|
|
2
|
-
|
|
3
|
-
const classes = {
|
|
4
|
-
'w-full': 'w-full',
|
|
5
|
-
'wFull': 'w-full',
|
|
6
|
-
'is-active': 'is-active',
|
|
7
|
-
'is-selected': 'is-selected',
|
|
8
|
-
};
|
|
9
|
-
const NvBaseComponent = class {
|
|
10
|
-
constructor(hostRef) {
|
|
11
|
-
registerInstance(this, hostRef);
|
|
12
|
-
}
|
|
13
|
-
/****************************************************************************/
|
|
14
|
-
//#region LIFECYCLE
|
|
15
|
-
componentWillLoad() {
|
|
16
|
-
this.applyClassesOnInitialRender();
|
|
17
|
-
}
|
|
18
|
-
componentDidLoad() {
|
|
19
|
-
this.mutationObserver = new MutationObserver(mutations => {
|
|
20
|
-
mutations.forEach(mutation => {
|
|
21
|
-
if (mutation.type === 'attributes') {
|
|
22
|
-
const target = mutation.target;
|
|
23
|
-
Object.keys(classes).forEach(attributeName => {
|
|
24
|
-
if (target.hasAttribute(attributeName)) {
|
|
25
|
-
target.classList.add(classes[attributeName]);
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
target.classList.remove(classes[attributeName]);
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
this.observeElements();
|
|
35
|
-
}
|
|
36
|
-
disconnectedCallback() {
|
|
37
|
-
if (this.mutationObserver) {
|
|
38
|
-
this.mutationObserver.disconnect();
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
//#endregion LIFECYCLE
|
|
42
|
-
/****************************************************************************/
|
|
43
|
-
//#region METHODS
|
|
44
|
-
applyClassesOnInitialRender() {
|
|
45
|
-
Object.keys(classes).forEach(attributeName => {
|
|
46
|
-
const elements = this.el.querySelectorAll(`[${attributeName}]`);
|
|
47
|
-
elements.forEach(element => {
|
|
48
|
-
element.classList.add(classes[attributeName]);
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
observeElements() {
|
|
53
|
-
this.mutationObserver.observe(this.el, {
|
|
54
|
-
attributes: true,
|
|
55
|
-
attributeFilter: Object.keys(classes),
|
|
56
|
-
subtree: true,
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
//#endregion METHODS
|
|
60
|
-
/****************************************************************************/
|
|
61
|
-
//#region RENDER
|
|
62
|
-
render() {
|
|
63
|
-
return (h(Host, { key: 'ba3d284241a61fa30bd434f563b7e4962ea3f238', style: { display: 'block' } }, h("slot", { key: '44a0f1bc5267cf7e7bd0c1d258e8d9b8020a59f3' })));
|
|
64
|
-
}
|
|
65
|
-
get el() { return getElement(this); }
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
export { NvBaseComponent as nv_base };
|
|
69
|
-
|
|
70
|
-
//# sourceMappingURL=nv-base.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"nv-base.entry.js","mappings":";;AAEA,MAAM,OAAO,GAA2B;IACtC,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,WAAW;IACxB,aAAa,EAAE,aAAa;CAC7B,CAAC;MAUW,eAAe;;;;;;IAQ1B,iBAAiB;QACf,IAAI,CAAC,2BAA2B,EAAE,CAAC;KACpC;IAED,gBAAgB;QACd,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,SAAS;YACpD,SAAS,CAAC,OAAO,CAAC,QAAQ;gBACxB,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE;oBAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAqB,CAAC;oBAE9C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa;wBACxC,IAAI,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE;4BACtC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;yBAC9C;6BAAM;4BACL,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;yBACjD;qBACF,CAAC,CAAC;iBACJ;aACF,CAAC,CAAC;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;SACpC;KACF;;;;IAMO,2BAA2B;QACjC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC;YAChE,QAAQ,CAAC,OAAO,CAAC,OAAO;gBACtB,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;aAC/C,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ;IAEO,eAAe;QACrB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE;YACrC,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YACrC,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;KACJ;;;;IAMD,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAC/B,8DAAa,CACR,EACP;KACH;;;;;;","names":[],"sources":["src/components/nv-base/nv-base.tsx"],"sourcesContent":["import { Component, Element, h, Host } from '@stencil/core';\n\nconst classes: Record<string, string> = {\n 'w-full': 'w-full',\n 'wFull': 'w-full',\n 'is-active': 'is-active',\n 'is-selected': 'is-selected',\n};\n\n/**\n * @slot default - render children\n * @deprecated This is only to help with the migration from v2 to v3. It will be removed in the next major release.\n */\n@Component({\n tag: 'nv-base',\n shadow: false,\n})\nexport class NvBaseComponent {\n @Element() el: HTMLNvBaseElement;\n\n private mutationObserver: MutationObserver;\n\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.applyClassesOnInitialRender();\n }\n\n componentDidLoad() {\n this.mutationObserver = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (mutation.type === 'attributes') {\n const target = mutation.target as HTMLElement;\n\n Object.keys(classes).forEach(attributeName => {\n if (target.hasAttribute(attributeName)) {\n target.classList.add(classes[attributeName]);\n } else {\n target.classList.remove(classes[attributeName]);\n }\n });\n }\n });\n });\n this.observeElements();\n }\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region METHODS\n\n private applyClassesOnInitialRender() {\n Object.keys(classes).forEach(attributeName => {\n const elements = this.el.querySelectorAll(`[${attributeName}]`);\n elements.forEach(element => {\n element.classList.add(classes[attributeName]);\n });\n });\n }\n\n private observeElements() {\n this.mutationObserver.observe(this.el, {\n attributes: true,\n attributeFilter: Object.keys(classes),\n subtree: true,\n });\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host style={{ display: 'block' }}>\n <slot></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"version":3}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,h as t,a as s,g as i}from"./p-ab002252.js";const a={"w-full":"w-full",wFull:"w-full","is-active":"is-active","is-selected":"is-selected"};const l=class{constructor(t){e(this,t)}componentWillLoad(){this.applyClassesOnInitialRender()}componentDidLoad(){this.mutationObserver=new MutationObserver((e=>{e.forEach((e=>{if(e.type==="attributes"){const t=e.target;Object.keys(a).forEach((e=>{if(t.hasAttribute(e)){t.classList.add(a[e])}else{t.classList.remove(a[e])}}))}}))}));this.observeElements()}disconnectedCallback(){if(this.mutationObserver){this.mutationObserver.disconnect()}}applyClassesOnInitialRender(){Object.keys(a).forEach((e=>{const t=this.el.querySelectorAll(`[${e}]`);t.forEach((t=>{t.classList.add(a[e])}))}))}observeElements(){this.mutationObserver.observe(this.el,{attributes:true,attributeFilter:Object.keys(a),subtree:true})}render(){return t(s,{key:"ba3d284241a61fa30bd434f563b7e4962ea3f238",style:{display:"block"}},t("slot",{key:"44a0f1bc5267cf7e7bd0c1d258e8d9b8020a59f3"}))}get el(){return i(this)}};export{l as nv_base};
|
|
2
|
-
//# sourceMappingURL=p-2ed9934a.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["classes","wFull","NvBaseComponent","componentWillLoad","this","applyClassesOnInitialRender","componentDidLoad","mutationObserver","MutationObserver","mutations","forEach","mutation","type","target","Object","keys","attributeName","hasAttribute","classList","add","remove","observeElements","disconnectedCallback","disconnect","elements","el","querySelectorAll","element","observe","attributes","attributeFilter","subtree","render","h","Host","key","style","display"],"sources":["src/components/nv-base/nv-base.tsx"],"sourcesContent":["import { Component, Element, h, Host } from '@stencil/core';\n\nconst classes: Record<string, string> = {\n 'w-full': 'w-full',\n 'wFull': 'w-full',\n 'is-active': 'is-active',\n 'is-selected': 'is-selected',\n};\n\n/**\n * @slot default - render children\n * @deprecated This is only to help with the migration from v2 to v3. It will be removed in the next major release.\n */\n@Component({\n tag: 'nv-base',\n shadow: false,\n})\nexport class NvBaseComponent {\n @Element() el: HTMLNvBaseElement;\n\n private mutationObserver: MutationObserver;\n\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.applyClassesOnInitialRender();\n }\n\n componentDidLoad() {\n this.mutationObserver = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (mutation.type === 'attributes') {\n const target = mutation.target as HTMLElement;\n\n Object.keys(classes).forEach(attributeName => {\n if (target.hasAttribute(attributeName)) {\n target.classList.add(classes[attributeName]);\n } else {\n target.classList.remove(classes[attributeName]);\n }\n });\n }\n });\n });\n this.observeElements();\n }\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region METHODS\n\n private applyClassesOnInitialRender() {\n Object.keys(classes).forEach(attributeName => {\n const elements = this.el.querySelectorAll(`[${attributeName}]`);\n elements.forEach(element => {\n element.classList.add(classes[attributeName]);\n });\n });\n }\n\n private observeElements() {\n this.mutationObserver.observe(this.el, {\n attributes: true,\n attributeFilter: Object.keys(classes),\n subtree: true,\n });\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host style={{ display: 'block' }}>\n <slot></slot>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"mappings":"yDAEA,MAAMA,EAAkC,CACtC,SAAU,SACVC,MAAS,SACT,YAAa,YACb,cAAe,e,MAWJC,EAAe,M,yBAQ1B,iBAAAC,GACEC,KAAKC,6B,CAGP,gBAAAC,GACEF,KAAKG,iBAAmB,IAAIC,kBAAiBC,IAC3CA,EAAUC,SAAQC,IAChB,GAAIA,EAASC,OAAS,aAAc,CAClC,MAAMC,EAASF,EAASE,OAExBC,OAAOC,KAAKf,GAASU,SAAQM,IAC3B,GAAIH,EAAOI,aAAaD,GAAgB,CACtCH,EAAOK,UAAUC,IAAInB,EAAQgB,G,KACxB,CACLH,EAAOK,UAAUE,OAAOpB,EAAQgB,G,QAItC,IAEJZ,KAAKiB,iB,CAGP,oBAAAC,GACE,GAAIlB,KAAKG,iBAAkB,CACzBH,KAAKG,iBAAiBgB,Y,EAQlB,2BAAAlB,GACNS,OAAOC,KAAKf,GAASU,SAAQM,IAC3B,MAAMQ,EAAWpB,KAAKqB,GAAGC,iBAAiB,IAAIV,MAC9CQ,EAASd,SAAQiB,IACfA,EAAQT,UAAUC,IAAInB,EAAQgB,GAAe,GAC7C,G,CAIE,eAAAK,GACNjB,KAAKG,iBAAiBqB,QAAQxB,KAAKqB,GAAI,CACrCI,WAAY,KACZC,gBAAiBhB,OAAOC,KAAKf,GAC7B+B,QAAS,M,CAQb,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACC,MAAO,CAAEC,QAAS,UACtBJ,EAAA,QAAAE,IAAA,6C","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as o,h as t,a,g as e}from"./p-ab002252.js";const r="nv-tooltip{display:inline-block;position:relative}nv-tooltip:has([fluid]:not([fluid=false])){display:block}nv-tooltip [data-scope=popover]{background:var(--components-tooltip-background);color:var(--components-tooltip-text);font-weight:var(--font-weight-medium-emphasis);padding:var(--tooltip-padding-y) var(--tooltip-padding-x);font-size:var(--tooltip-font-size);border-radius:var(--tooltip-radius);border:none;box-shadow:0px var(--shadow-y-axis-lg-1) var(--shadow-blur-lg-1) var(--shadow-spread-lg-1) var(--shadow-color-opacity-1), 0px var(--shadow-y-axis-lg-2) var(--shadow-blur-lg-2) var(--shadow-spread-lg-2) var(--shadow-color-opacity-2)}nv-tooltip [data-scope=popover] [data-scope=arrow]{background:var(--components-tooltip-background);box-shadow:none;border:none}";const s=r;const i=class{constructor(t){o(this,t);this.placement="bottom";this.enterDelay=0}componentWillLoad(){if(!this.triggerElement)this.triggerElement=Array.from(this.el.children).find((o=>o.getAttribute("slot")===null))}render(){return t(a,{key:"42d55bd749a31fc808d6685b75b5002b10575b63"},t("slot",{key:"7ccb801774290a4e47c9bf6e61994936f0cb793e"}),t("nv-popover",{key:"6c67ddae0787dbc9e24d239e3b34218dfa997747",triggerMode:"hover",hasArrow:true,placement:this.placement,triggerElement:this.triggerElement,groupName:"tooltip",enterDelay:this.enterDelay},t("p",{key:"900d3a61fc7adb7aee3f9982d932c6e2f9889ab3",slot:"content"},this.message),t("slot",{key:"3f5e490d760e723271acef897cf4e0247ca7cd44",name:"content"})))}get el(){return e(this)}};i.style=s;export{i as nv_tooltip};
|
|
2
|
-
//# sourceMappingURL=p-3df6febe.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as a,h as r,a as c}from"./p-ab002252.js";const s="nv-row{display:flex;flex-wrap:wrap;margin-right:calc(var(--spacing-4) * -1);margin-left:calc(var(--spacing-4) * -1);row-gap:var(--spacing-4)}";const e=s;const n=class{constructor(r){a(this,r)}render(){return r(c,{key:"0b27560267e6f5186ca4237658ad35f3a436b70d"},r("slot",{key:"b2805eb6abe9d02b57f030c91344ecf4927136d8"}))}};n.style=e;export{n as nv_row};
|
|
2
|
-
//# sourceMappingURL=p-4977fcd0.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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","nvCalendarCss","NvCalendarStyle0","dayjs","weekOfYear","NvCalendar","constructor","hostRef","firstDayOfWeek","numberOfCalendars","singleValue","rangeValue","max","disabledDates","dateFormat","shortcutsPlacement","selectionType","showActions","shortcuts","parsedDisabledDates","selectedDate","startDate","endDate","resetSelection","singleDateChange","emit","rangeDateChange","start","end","confirmSelection","dateStr","formatDate","event","CustomEvent","bubbles","composed","el","dispatchEvent","JSON","stringify","componentWillLoad","parseDisabledDates","parseDate","currentDate","parsed","console","warn","error","initializeMonths","changeMonth","calendarOffset","newDate","setUTCMonth","containers","querySelectorAll","container","classList","remove","animationClass","setTimeout","handleDateSelection","isDateDisabled","handleSingleSelection","handleRangeSelection","formattedDate","getWeekNumber","startOfYear","pastDaysOfYear","minDate","maxDate","some","disabledDate","isSameDate","isDateInRange","checkDate","isNaN","isSameOrAfter","isSameOrBefore","getDayNames","CUSTOM_DAY_NAMES","days","firstDays","remainingDays","formatter","Intl","DateTimeFormat","weekday","getDaysInMonth","totalCalendars","firstDay","lastDay","offsetDays","prevMonthLastDay","push","dayOfMonth","isCurrentMonth","isDisabled","nextMonthDaysNeeded","CUSTOM_MONTH_NAMES","label","value","from","getLocalizedWeekText","WEEK_ABBREVIATIONS","handleMonthChange","select","target","selectedMonth","parseInt","currentMonth","monthDiff","handleYearChange","input","setUTCFullYear","handleWeekSelection","weekDays","calendarIndex","allDays","weekEnd","selectedWeekDays","filter","validDays","isToday","today","validateNumberOfCalendars","newValue","onRangeValueChange","handleDisabledDatesChange","onSingleValueChange","oldValue","parsedDate","dateInput","unixSeconds","isUTCMode","unixMilliseconds","ticks","disabledDatesArray","date1","date2","compareDate","applyShortcut","shortcut","forceCalendarUpdate","requestAnimationFrame","document","style","pointerEvents","body","addEventListener","clearTouchState","passive","removeEventListener","getChangeMonthHandler","direction","getHandleMonthChange","getHandleYearChange","getDayClickHandler","undefined","getShortcutHandler","getWeekSelectionHandler","dates","index","parsedShortcuts","includes","hasShortcuts","hasActions","renderHeader","class","emphasis","onClick","onChange","key","selected","type","renderWeekNumbers","weekIndex","_a","find","renderDaysGrid","isSelected","isInRange","isStart","isEnd","isOutsideMonth","dayClasses","Boolean","renderCalendar","showWeekNumbers","renderShortcuts","size","renderActions","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.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 '../../styles/shadow';\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 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\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 &.outside-month.in-range {\n opacity: 1 !important;\n background-color: var(--components-calendar-cell-background-in-range);\n color: var(--components-calendar-cell-text-in-range);\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 background: var(--components-calendar-cell-background-selected) !important;\n color: var(--components-calendar-cell-text-selected);\n opacity: 1 !important;\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} from '@stencil/core';\nimport dayjs from 'dayjs';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\nimport utc from 'dayjs/plugin/utc';\nimport weekOfYear from 'dayjs/plugin/weekOfYear';\nimport { CalendarShortcut } from '../../interfaces/calendarShortcut';\nimport { DateRange } from '../../interfaces/dateRange';\nimport {\n WEEK_ABBREVIATIONS,\n CUSTOM_DAY_NAMES,\n CUSTOM_MONTH_NAMES,\n} from '../../utils/constants';\n\n// Extend dayjs with plugins\ndayjs.extend(customParseFormat);\ndayjs.extend(utc);\ndayjs.extend(weekOfYear);\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 0\n */\n @Prop({ reflect: true })\n readonly firstDayOfWeek: number = 0;\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 (ISO string format)\n * ex: \"2025-03-15\"\n */\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 @Prop({ reflect: true, mutable: true })\n rangeValue: string = '';\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 /** Disabled dates (ISO string array)\n * @default '[]'\n */\n @Prop({ reflect: true })\n readonly disabledDates: string = '';\n\n /** Locale for date formatting\n * @default 'en-BE'\n */\n @Prop({ reflect: true })\n readonly locale: string = 'en-BE';\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 * @default false\n */\n @Prop({ reflect: true })\n readonly showActions: boolean = false;\n\n /**\n * Custom actions to display in the footer\n * JSON array of objects with the following properties:\n * - label: string\n * - onClick: function\n * @default '[]'\n */\n @Prop({ reflect: true })\n readonly shortcuts: string = '[]';\n\n /**\n * Show week numbers\n * @default true\n */\n @Prop({ reflect: true })\n readonly showWeekNumbers: boolean;\n\n /** Cache for parsed disabled dates */\n private parsedDisabledDates: Date[] = [];\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region STATE\n\n /** Current date */\n @State()\n currentDate: Date;\n\n /** Selected date */\n @State()\n selectedDate: Date | null = null;\n\n /** Start date */\n @State()\n startDate: Date | null = null;\n\n /** End date */\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<DateRange>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.parseDisabledDates();\n\n if (this.selectionType === 'single' && this.singleValue) {\n this.selectedDate = this.parseDate(this.singleValue);\n this.currentDate = this.selectedDate;\n } else if (this.selectionType === 'range' && this.rangeValue) {\n try {\n let parsed: DateRange;\n\n if (typeof this.rangeValue === 'string') {\n parsed = JSON.parse(this.rangeValue) as DateRange;\n } else {\n parsed = this.rangeValue as DateRange;\n }\n\n if (parsed.start && parsed.end) {\n this.startDate = this.parseDate(parsed.start);\n this.endDate = this.parseDate(parsed.end);\n this.currentDate = this.startDate;\n\n if (this.startDate && this.endDate && this.startDate > this.endDate) {\n console.warn(\n `Warning: startDate (${this.formatDate(\n this.startDate,\n )}) is after endDate (${this.formatDate(this.endDate)})`,\n );\n // [this.startDate, this.endDate] = [this.endDate, this.startDate];\n throw new Error('startDate cannot be after endDate');\n }\n }\n } catch (error) {\n console.error('Invalid JSON for rangeValue:', error);\n }\n } else {\n this.currentDate = new Date();\n }\n\n this.initializeMonths();\n }\n\n // componentDidLoad() {\n // if (this.rangeValue) {\n // this.onRangeValueChange(this.rangeValue);\n // }\n // }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Change the displayed month\n * @param {number} offset - Month offset (-1 for previous, 1 for next)\n * @param {number} calendarOffset - Month offset for the calendar (0 by default)\n */\n private changeMonth(offset: number, calendarOffset: number = 0): void {\n const newDate = new Date(this.currentDate);\n newDate.setUTCMonth(newDate.getUTCMonth() + offset + calendarOffset);\n\n // Add the appropriate animation class\n const containers = this.el.querySelectorAll('.calendar-grid');\n containers.forEach(container => {\n // Remove existing animation classes\n container.classList.remove('slide-left', 'slide-right');\n\n // Add the new animation class\n const animationClass = offset > 0 ? 'slide-left' : 'slide-right';\n container.classList.add(animationClass);\n\n // Remove the class after the animation\n setTimeout(() => {\n container.classList.remove(animationClass);\n }, 300); // 300ms corresponds to $slide-duration in the SCSS\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): void {\n if (this.isDateDisabled(date)) {\n return;\n }\n\n if (this.selectionType === 'single') {\n this.handleSingleSelection(date);\n } else {\n this.handleRangeSelection(date);\n }\n }\n\n /**\n * Handles single date selection\n * @param {Date} date - Selected date\n */\n private handleSingleSelection(date: Date): void {\n if (!date) return;\n\n const formattedDate = this.formatDate(date);\n this.selectedDate = date;\n this.singleDateChange.emit(formattedDate);\n }\n\n /**\n * Handles range date selection\n * @param {Date} date - Selected date\n */\n private handleRangeSelection(date: Date): void {\n if (!this.startDate || (this.startDate && this.endDate)) {\n this.startDate = date;\n this.endDate = null;\n } else {\n this.endDate = date;\n\n if (this.startDate > this.endDate) {\n [this.startDate, this.endDate] = [this.endDate, this.startDate];\n }\n\n this.rangeDateChange.emit({\n start: this.formatDate(this.startDate),\n end: this.formatDate(this.endDate),\n });\n }\n }\n\n /**\n * Calculates the ISO week number\n * @param {Date} date - Date to calculate\n * @returns {number} Week number\n */\n private getWeekNumber(date: Date): number {\n const startOfYear = new Date(date.getFullYear(), 0, 1);\n const pastDaysOfYear = (date.getTime() - startOfYear.getTime()) / 86400000;\n return Math.ceil((pastDaysOfYear + startOfYear.getDay() + 1) / 7);\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 = this.parseDate(this.min);\n if (minDate && date < minDate) {\n return true;\n }\n }\n\n // Maximum bound check\n if (this.max) {\n const maxDate = this.parseDate(this.max);\n if (maxDate && date > maxDate) {\n return true;\n }\n }\n\n // Check disabled dates\n return this.parsedDisabledDates.some(disabledDate =>\n this.isSameDate(date, disabledDate),\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 = this.parseDate(date);\n const startDate = this.parseDate(this.startDate);\n const endDate = this.parseDate(this.endDate);\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 this.isSameOrAfter(checkDate, startDate) &&\n this.isSameOrBefore(checkDate, endDate)\n );\n }\n\n /**\n * Retrieves the localized day names\n * @returns {string[]} Array of short day names\n */\n private getDayNames(): string[] {\n // If we have custom day names for this locale\n if (CUSTOM_DAY_NAMES[this.locale]) {\n const days = [...CUSTOM_DAY_NAMES[this.locale]];\n // Reorganize the days based on the first day of the week\n const firstDays = days.slice(0, this.firstDayOfWeek);\n const remainingDays = days.slice(this.firstDayOfWeek);\n return [...remainingDays, ...firstDays];\n }\n\n // Otherwise, use the default behavior\n const formatter = new Intl.DateTimeFormat(this.locale, {\n weekday: 'short',\n });\n const days = [...Array(7)].map((_, i) =>\n formatter.format(new Date(2023, 0, i + 1)).toUpperCase(),\n );\n // Reorganize the days based on the first day of the week\n const firstDays = days.slice(0, this.firstDayOfWeek);\n const remainingDays = days.slice(this.firstDayOfWeek);\n return [...remainingDays, ...firstDays];\n }\n\n /**\n * Generates the days of the current month\n * @param {number} offset - Month offset (0 by default)\n * @param {number} totalCalendars - Number of calendars to display (1 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 totalCalendars: number = 1,\n ): Array<{\n /** Day of the month (1 to 31) */\n dayOfMonth: number;\n /** Complete date */\n date: Date;\n /** If the day belongs to the current month */\n isCurrentMonth: boolean;\n /** If the day is disabled */\n isDisabled: boolean;\n }> {\n const year = this.currentDate.getUTCFullYear();\n const month = this.currentDate.getUTCMonth() + offset;\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 // Calculate the offset to include the days of the previous month only for the first calendar\n const offsetDays =\n offset === 0 ? (firstDay.getUTCDay() - this.firstDayOfWeek + 7) % 7 : 0;\n\n // Add the days of the previous month for the first calendar\n if (offset === 0) {\n const prevMonthLastDay = new Date(Date.UTC(year, month, 0)).getUTCDate();\n for (let i = offsetDays; i > 0; i--) {\n const date = new Date(\n Date.UTC(year, month - 1, prevMonthLastDay - i + 1),\n );\n days.push({\n dayOfMonth: date.getUTCDate(),\n date,\n isCurrentMonth: false,\n isDisabled: this.isDateDisabled(date),\n });\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 });\n }\n\n // Add the days of the next month only for the last calendar\n if (offset === totalCalendars - 1) {\n const nextMonthDaysNeeded = 7 - (days.length % 7 || 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 });\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): void {\n const select = event.target as HTMLSelectElement;\n const selectedMonth = parseInt(select.value, 10);\n const currentMonth = this.currentDate.getUTCMonth();\n\n // Calculate the difference considering the calendar offset\n const monthDiff = selectedMonth - ((currentMonth + calendarOffset) % 12);\n\n const newDate = new Date(this.currentDate);\n newDate.setUTCMonth(newDate.getUTCMonth() + monthDiff);\n this.currentDate = newDate;\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): void {\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.setUTCFullYear(year);\n newDate.setUTCMonth(newDate.getUTCMonth() + calendarOffset);\n this.currentDate = 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): void {\n if (this.selectionType !== 'range') return;\n\n const allDays = this.getDaysInMonth(calendarIndex, this.numberOfCalendars);\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: this.formatDate(this.startDate),\n end: this.formatDate(this.endDate),\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 * Watches the changes of the number of calendars\n * @watch numberOfCalendars\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 * @watch rangeValue\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: string) {\n if (newValue) {\n try {\n const parsed = JSON.parse(newValue) as DateRange;\n if (parsed.start && parsed.end) {\n this.startDate = this.parseDate(parsed.start);\n this.endDate = this.parseDate(parsed.end);\n this.currentDate = this.parseDate(parsed.start);\n }\n } catch (error) {\n console.error('Invalid JSON for rangeValue:', error);\n }\n }\n }\n\n /**\n * Watches the changes of the disabled dates\n * @watch disabledDates\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 * @watch singleValue\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 = this.parseDate(newValue);\n if (parsedDate) {\n this.selectedDate = parsedDate;\n this.currentDate = parsedDate;\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 * @returns {Date} Date in Date form without timezone offset\n */\n private parseDate(dateInput: string | Date): Date | null {\n if (dateInput instanceof Date) return dateInput;\n\n // Handling Unix Seconds (\"X\") formats\n if (this.dateFormat === 'X') {\n const unixSeconds = Number(dateInput);\n if (isNaN(unixSeconds)) return null;\n return this.isUTCMode\n ? dayjs.unix(unixSeconds).utc().toDate()\n : dayjs.unix(unixSeconds).toDate();\n }\n\n // Handling Unix Milliseconds (\"x\") formats\n if (this.dateFormat === 'x') {\n const unixMilliseconds = Number(dateInput);\n if (isNaN(unixMilliseconds)) return null;\n return this.isUTCMode\n ? dayjs(unixMilliseconds).utc().toDate()\n : dayjs(unixMilliseconds).toDate();\n }\n\n // Handling C# Ticks format\n if (this.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 this.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 (this.isUTCMode) {\n parsed = dayjs.utc(dateInput, this.dateFormat, true);\n } else {\n parsed = dayjs(dateInput, this.dateFormat, true);\n }\n if (!parsed.isValid()) {\n console.error(`Parsing error:`, {\n dateInput,\n dateFormat: this.dateFormat,\n });\n return null;\n }\n return parsed.toDate();\n }\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 */\n private formatDate(date: Date): string {\n if (!date) return '';\n\n // If the format is \"Ticks\", convert the time to C# ticks\n if (this.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 (this.dateFormat === 'X') {\n return dayjs(date).unix().toString();\n }\n\n // If the format is \"x\" (Unix Milliseconds)\n if (this.dateFormat === 'x') {\n return date.getTime().toString();\n }\n\n // Otherwise, format according to the mode (UTC or local)\n return this.isUTCMode\n ? dayjs(date).utc().format(this.dateFormat)\n : dayjs(date).format(this.dateFormat);\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 const disabledDatesArray = JSON.parse(this.disabledDates) as string[];\n this.parsedDisabledDates = disabledDatesArray\n .map(date => this.parseDate(date))\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 * Checks if two dates are identical\n * @param {Date | null} date1 - First date\n * @param {Date | null} date2 - Second date\n * @returns {boolean} true if the dates are identical\n */\n private isSameDate(date1: Date | null, date2: Date | null): boolean {\n if (!date1 || !date2) return false;\n if (this.isUTCMode) {\n return (\n date1.getUTCFullYear() === date2.getUTCFullYear() &&\n date1.getUTCMonth() === date2.getUTCMonth() &&\n date1.getUTCDate() === date2.getUTCDate()\n );\n } else {\n return (\n date1.getFullYear() === date2.getFullYear() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getDate() === date2.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 * @returns {boolean} true if `date` >= `compareDate`\n */\n private isSameOrAfter(date: Date, compareDate: Date): boolean {\n if (this.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 before another date\n * @param {Date} date - Date to check\n * @param {Date} compareDate - Reference date\n * @returns {boolean} true if `date` <= `compareDate`\n */\n private isSameOrBefore(date: Date, compareDate: Date): boolean {\n if (this.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 * 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: CalendarShortcut) {\n this.selectedDate = null;\n this.startDate = null;\n this.endDate = null;\n\n if (shortcut.singleValue) {\n const newDate = this.parseDate(shortcut.singleValue);\n this.selectedDate = newDate;\n this.singleDateChange.emit(this.formatDate(newDate));\n this.singleValue = this.formatDate(newDate);\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 = this.parseDate(shortcut.rangeValue.start);\n const end = this.parseDate(shortcut.rangeValue.end);\n\n this.startDate = start;\n this.endDate = end;\n this.rangeDateChange.emit({\n start: this.formatDate(start),\n end: this.formatDate(end),\n });\n this.rangeValue = JSON.stringify({\n start: this.formatDate(start),\n end: this.formatDate(end),\n });\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(end);\n }\n }\n\n /**\n * Method to force the complete calendar update (and fix the persistent hover problem)\n * @param {Date} newDate - Date to force\n */\n private forceCalendarUpdate(newDate) {\n this.currentDate = new Date(newDate);\n this.currentDate = new Date(this.currentDate); // Force a re-render\n\n // Reset visually the hover/touch effect\n requestAnimationFrame(() => {\n const days = document.querySelectorAll('.day');\n\n days.forEach(el => {\n (el as HTMLElement).classList.remove('hover', 'active', 'touched');\n (el as HTMLElement).style.pointerEvents = 'none';\n });\n\n // Add specific touch handling (for mobile)\n document.body.addEventListener('touchstart', this.clearTouchState, {\n passive: true,\n });\n\n // Reset the touch state after 50ms\n setTimeout(() => {\n days.forEach(el => {\n (el as HTMLElement).style.pointerEvents = '';\n });\n }, 50);\n });\n }\n\n /**\n * Function to reset the touch effect (Mobile fix)\n */\n private clearTouchState() {\n document.querySelectorAll('.day').forEach(el => {\n (el as HTMLElement).classList.remove('touched');\n });\n\n // Remove the listener after the first interaction\n document.body.removeEventListener('touchstart', this.clearTouchState);\n }\n\n /**\n * Handles month change with an offset\n * @param {number} direction - Direction (-1 for previous, 1 for next)\n * @param {number} offset - Month offset (0 by default)\n * @returns {Function} Change month handler\n */\n private getChangeMonthHandler(direction: number, offset: number) {\n return () => this.changeMonth(direction, offset);\n }\n\n /**\n * Handles month change from an event (ex: dropdown)\n * @param {number} offset - Month offset (0 by default)\n * @returns {Function} Change month handler\n */\n private getHandleMonthChange(offset: number) {\n return (event: Event) => this.handleMonthChange(event, offset);\n }\n\n /**\n * Handles year change from an event (ex: dropdown)\n * @param {number} offset - Year offset (0 by default)\n * @returns {Function} Change year handler\n */\n private getHandleYearChange(offset: number) {\n return (event: Event) => this.handleYearChange(event, offset);\n }\n\n /**\n * Handles day click\n * @param {Date} date - Date to handle\n * @param {boolean} isDisabled - Whether the date is disabled\n * @returns {Function} Day click handler\n */\n private getDayClickHandler(\n date: Date,\n isDisabled: boolean,\n ): (() => void) | undefined {\n return isDisabled ? undefined : () => this.handleDateSelection(date);\n }\n\n /**\n * Handles shortcut selection\n * @param {Object} shortcut - Shortcut to handle\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 * @returns {Function} Shortcut selection handler\n */\n private getShortcutHandler(shortcut: CalendarShortcut) {\n return () => this.applyShortcut(shortcut);\n }\n\n /**\n * Handles week selection\n * @param {Date[]} dates - Dates to handle\n * @param {number} index - Calendar index\n * @returns {Function} Week selection handler\n */\n private getWeekSelectionHandler(dates: Date[], index: number) {\n return () => {\n if (this.selectionType === 'range') {\n this.handleWeekSelection(dates, index);\n }\n };\n }\n\n private parsedShortcuts(): CalendarShortcut[] {\n try {\n return this.shortcuts ? JSON.parse(this.shortcuts) : [];\n } catch (error) {\n console.error('Invalid JSON for shortcuts:', error);\n return [];\n }\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 * Checks if shortcuts are visible\n * @returns {boolean} true if shortcuts are visible\n */\n private get hasShortcuts(): boolean {\n return (\n this.shortcutsPlacement === 'bottom' && this.parsedShortcuts().length > 0\n );\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 * Resets the current selection\n */\n private resetSelection = (): void => {\n if (this.selectionType === 'single') {\n this.selectedDate = null;\n this.singleValue = '';\n this.singleDateChange.emit('');\n } else {\n this.startDate = null;\n this.endDate = null;\n this.rangeValue = '';\n this.rangeDateChange.emit({ start: '', end: '' });\n }\n };\n\n /**\n * Confirms the current selection\n */\n private confirmSelection = (): void => {\n if (this.selectionType === 'single' && this.selectedDate) {\n const dateStr = this.formatDate(this.selectedDate);\n this.singleDateChange.emit(dateStr);\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: this.formatDate(this.startDate),\n end: this.formatDate(this.endDate),\n });\n this.rangeValue = JSON.stringify({\n start: this.formatDate(this.startDate),\n end: this.formatDate(this.endDate),\n });\n const event = new CustomEvent('closePopover', {\n bubbles: true,\n composed: true,\n });\n this.el.dispatchEvent(event);\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 <div class=\"header\">\n {/* If multiple calendars, display the left button only on the first calendar */}\n {this.numberOfCalendars > 1 && index === 0 && (\n <nv-iconbutton\n class=\"nav-left\"\n emphasis=\"lower\"\n name=\"chevron-left\"\n onClick={this.getChangeMonthHandler(-1, offset)}\n ></nv-iconbutton>\n )}\n\n <div class=\"date-controls\">\n <select\n class=\"month-select mr-4\"\n onChange={this.getHandleMonthChange(offset)}\n >\n {this.months.map(month => (\n <option\n key={month.value}\n value={month.value}\n selected={\n month.value === (this.currentDate.getUTCMonth() + offset) % 12\n }\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={\n this.currentDate.getUTCFullYear() +\n Math.floor((this.currentDate.getUTCMonth() + offset) / 12)\n }\n onChange={this.getHandleYearChange(offset)}\n />\n </div>\n\n {/* If a single calendar, display the navigation buttons side by side */}\n {this.numberOfCalendars === 1 && (\n <div class=\"nav-buttons\">\n <nv-iconbutton\n emphasis=\"lower\"\n name=\"chevron-left\"\n onClick={this.getChangeMonthHandler(-1, offset)}\n ></nv-iconbutton>\n\n <nv-iconbutton\n emphasis=\"lower\"\n name=\"chevron-right\"\n onClick={this.getChangeMonthHandler(1, offset)}\n ></nv-iconbutton>\n </div>\n )}\n\n {/* If multiple calendars, display the right button only on the last calendar */}\n {this.numberOfCalendars > 1 && index === this.numberOfCalendars - 1 && (\n <nv-iconbutton\n emphasis=\"lower\"\n name=\"chevron-right\"\n onClick={this.getChangeMonthHandler(1, offset)}\n class=\"nav-right\"\n ></nv-iconbutton>\n )}\n </div>\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 <div class=\"week-numbers\">\n <div class=\"week-header\">{this.getLocalizedWeekText()}</div>\n {weeks.map((week, weekIndex) => {\n const dates = week.map(d => d.date);\n return (\n <div\n class={`week-number ${\n this.selectionType === 'range' ? 'clickable' : ''\n }`}\n onClick={this.getWeekSelectionHandler(dates, index)}\n key={`week-${weekIndex}`}\n >\n {this.getWeekNumber(week.find(d => d.date)?.date || new Date())}\n </div>\n );\n })}\n </div>\n );\n }\n\n private renderDaysGrid(\n /** Days to render */\n days: Array<{\n /** Date */\n date: Date;\n /** If the day belongs to the current month */\n isCurrentMonth: boolean;\n /** If the day is disabled */\n isDisabled: boolean;\n /** Day of the month (1 to 31) */\n dayOfMonth: number;\n }>,\n ) {\n return (\n <div class=\"days-grid\">\n {days.map(day => {\n const date = day.date;\n if (!date) return null;\n\n const isSelected =\n this.selectionType === 'single' &&\n this.isSameDate(date, this.selectedDate);\n const isInRange = this.isDateInRange(date);\n const isStart = this.isSameDate(date, this.startDate);\n const isEnd = this.isSameDate(date, this.endDate);\n const isToday = this.isToday(date);\n const isOutsideMonth = !day.isCurrentMonth;\n\n const dayClasses = [\n 'day',\n isSelected ? 'selected' : '',\n isStart ? 'range-start' : '',\n isEnd ? 'range-end' : '',\n isInRange ? 'in-range' : '',\n day.isDisabled ? 'disabled' : '',\n isOutsideMonth ? 'outside-month' : '',\n isToday ? 'is-today' : '',\n ];\n\n return (\n <div\n class={dayClasses.filter(Boolean).join(' ')}\n onClick={this.getDayClickHandler(date, day.isDisabled)}\n aria-disabled={day.isDisabled}\n key={`day-${date.toISOString()}`}\n >\n {day.dayOfMonth}\n </div>\n );\n })}\n </div>\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, this.numberOfCalendars);\n const weeks = [];\n for (let i = 0; i < days.length; i += 7) {\n weeks.push(days.slice(i, i + 7));\n }\n\n return (\n <div class=\"calendar-wrapper\">\n <div class=\"calendar-container\" key={`calendar-${index}`}>\n {this.renderHeader(offset, index)}\n <div class=\"calendar-grid\">\n {this.showWeekNumbers && this.renderWeekNumbers(weeks, index)}\n <div class=\"days-container\">\n <div class=\"days-header\">\n {this.getDayNames().map(day => (\n <div class=\"day-header\">{day}</div>\n ))}\n </div>\n {this.renderDaysGrid(days)}\n </div>\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.parsedShortcuts().length) {\n return null;\n }\n\n return (\n <div\n class={`shortcuts-container shortcuts-placement-${this.shortcutsPlacement}`}\n >\n {this.parsedShortcuts().map(shortcut => (\n <nv-button\n emphasis=\"lower\"\n size=\"xs\"\n aria-label={shortcut.label}\n onClick={this.getShortcutHandler(shortcut)}\n >\n {shortcut.label}\n </nv-button>\n ))}\n </div>\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 <nv-button emphasis=\"low\" size=\"xs\" onClick={this.resetSelection}>\n Cancel\n </nv-button>\n <nv-button size=\"xs\" onClick={this.confirmSelection}>\n OK\n </nv-button>\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 {/* <div class=\"datepicker-controls\">\n {this.shortcutsPlacement === 'bottom' && this.renderShortcuts()}\n {this.showActions && this.renderActions()}\n </div> */}\n\n {(this.hasShortcuts || this.hasActions) && (\n <div class=\"datepicker-controls\">\n {this.hasShortcuts && 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 +0,0 @@
|
|
|
1
|
-
import{r as e,c as r,h as t,a,g as o}from"./p-ab002252.js";import{c as i}from"./p-8a1a6e56.js";import{v as d}from"./p-f5ff676c.js";const n='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}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)}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: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{align-self:stretch;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{align-self:stretch;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 s=n;const l=class{constructor(t){e(this,t);this.valueChanged=r(this,"valueChanged",7);this.inputId=d();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.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 t=parseFloat(e.paddingTop);const a=parseFloat(e.paddingBottom);const o=parseFloat(e.borderTopWidth);const i=parseFloat(e.borderBottomWidth);const d=r*this.rows+t+a+o+i;this.textareaElement.style.minHeight=`${d}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 t(a,{key:"b5d6707fa7ebbd64f3b1616c9f61746f394e347d"},(this.label||this.el.querySelector('[slot="label"]'))&&t("label",{key:"6fd76411b08da2d22d86d0a4ef81ce99534d0112",htmlFor:this.inputId},t("slot",{key:"634339fa1bd5ccb2627dab03117535b2bc09b9cc",name:"label"},this.label)),t("div",{key:"6a521f191ebae60a874c4d48a1872b7a61181c54",class:"textarea-wrapper"},t("div",{key:"ecca606c8775282c5b21b8f8e12a9c98df7aa410",class:"textarea-container",onClick:this.handleTextareaContainerClick},t("textarea",{key:"7547d01134c155c9f76e1978f08075d1e8ff50fd",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"]'))&&t("div",{key:"fc436e3cc4dbdf8730920173a74f4da249678e39",class:"description"},t("slot",{key:"27aa71e73818742bc92f3860dd0071eef182474a",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&t("div",{key:"cc3733783b2f5985358d1c21e502845f7bab8406",hidden:!this.error,class:"error-description"},t("slot",{key:"1db584479ed23d616d88dc9fc28fe1e0acd7a463",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"]}}};l.style=s;export{l as nv_fieldtextarea};
|
|
2
|
-
//# sourceMappingURL=p-7e1fa44c.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as a,h as e,a as s}from"./p-ab002252.js";const r=class{constructor(e){a(this,e);this.repeatTemplate=false}render(){return e(s,{key:"462144dc8ea401f4f3e3683bdafba983c7147737"},e("slot",{key:"9af4055567f5199f6b4393e37a8a77b884ce82b9",name:"header"}),e("slot",{key:"36b8cfd9bc974ed9d2a249418ababa504b66091d",name:"cell"}))}};export{r as nv_datagridcolumn};
|
|
2
|
-
//# sourceMappingURL=p-b8b58064.entry.js.map
|