@nova-design-system/nova-webcomponents 3.14.0 → 3.16.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/{collapse.animation-47397763.js → collapse.animation-23b7d61b.js} +5 -2
- package/dist/cjs/collapse.animation-23b7d61b.js.map +1 -0
- package/dist/cjs/{constants-52f6f8e9.js → constants-f5633903.js} +10 -1
- package/dist/cjs/constants-f5633903.js.map +1 -0
- package/dist/cjs/{fade.animation-cf6eba0d.js → fade.animation-9294e9ee.js} +3 -3
- package/dist/cjs/fade.animation-9294e9ee.js.map +1 -0
- package/dist/cjs/{grow.animation-9258ba63.js → grow.animation-f1cef0ad.js} +2 -2
- package/dist/cjs/{grow.animation-9258ba63.js.map → grow.animation-f1cef0ad.js.map} +1 -1
- package/dist/cjs/{index-c56424e5.js → index-93d3b2f8.js} +9 -6
- package/dist/cjs/index-93d3b2f8.js.map +1 -0
- package/dist/cjs/index.cjs.js +27 -6
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/native.cjs.js +2 -2
- package/dist/cjs/nv-accordion-item.cjs.entry.js +3 -3
- package/dist/cjs/nv-accordion-item.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-accordion.cjs.entry.js +6 -6
- package/dist/cjs/nv-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-alert.cjs.entry.js +5 -5
- package/dist/cjs/nv-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-avatar.cjs.entry.js +3 -3
- package/dist/cjs/nv-avatar.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-badge_2.cjs.entry.js +10 -10
- package/dist/cjs/nv-badge_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/nv-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-breadcrumbs.cjs.entry.js +1 -1
- package/dist/cjs/nv-button.cjs.entry.js +3 -3
- package/dist/cjs/nv-button.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-buttongroup.cjs.entry.js +1 -1
- package/dist/cjs/nv-calendar.cjs.entry.js +2 -2
- package/dist/cjs/nv-col.cjs.entry.js +1 -1
- package/dist/cjs/nv-datagrid.cjs.entry.js +178 -11
- 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 +33 -30
- package/dist/cjs/nv-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +3 -3
- package/dist/cjs/nv-dialogfooter_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +2 -2
- package/dist/cjs/nv-fieldcheckbox.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddate.cjs.entry.js +51 -26
- package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddaterange.cjs.entry.js +68 -42
- package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddropdown.cjs.entry.js +33 -7
- 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 +187 -156
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldnumber.cjs.entry.js +2 -2
- package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldpassword.cjs.entry.js +2 -2
- package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldradio.cjs.entry.js +2 -2
- package/dist/cjs/nv-fieldradio.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldselect.cjs.entry.js +2 -2
- package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldslider.cjs.entry.js +2 -2
- package/dist/cjs/nv-fieldslider.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldtext.cjs.entry.js +2 -2
- package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js +2 -2
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldtime.cjs.entry.js +26 -13
- package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-icon.cjs.entry.js +3 -3
- package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-iconbutton_2.cjs.entry.js +2 -2
- package/dist/cjs/nv-iconbutton_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-menu.cjs.entry.js +24 -9
- 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-notification.cjs.entry.js +71 -10
- package/dist/cjs/nv-notification.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-notificationcontainer.cjs.entry.js +43 -0
- package/dist/cjs/nv-notificationcontainer.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-popover.cjs.entry.js +69 -63
- package/dist/cjs/nv-popover.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-row.cjs.entry.js +2 -2
- package/dist/cjs/nv-stack.cjs.entry.js +2 -2
- package/dist/cjs/nv-table.cjs.entry.js +216 -310
- package/dist/cjs/nv-table.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-toggle.cjs.entry.js +4 -4
- package/dist/cjs/nv-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-togglebutton.cjs.entry.js +2 -2
- package/dist/cjs/nv-togglebuttongroup.cjs.entry.js +2 -2
- package/dist/cjs/nv-togglebuttongroup.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/slide.animation-8bc27ed6.js +92 -0
- package/dist/cjs/slide.animation-8bc27ed6.js.map +1 -0
- package/dist/collection/animations/collapse.animation.js +4 -1
- package/dist/collection/animations/collapse.animation.js.map +1 -1
- package/dist/collection/animations/fade.animation.js +2 -2
- package/dist/collection/animations/fade.animation.js.map +1 -1
- package/dist/collection/animations/slide.animation.js +51 -29
- package/dist/collection/animations/slide.animation.js.map +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/nv-accordion/nv-accordion.js +12 -9
- package/dist/collection/components/nv-accordion/nv-accordion.js.map +1 -1
- package/dist/collection/components/nv-accordion-item/nv-accordion-item.js.map +1 -1
- package/dist/collection/components/nv-accordion-item/styles/nv-accordion-item.css +1 -1
- package/dist/collection/components/nv-alert/nv-alert.css +1 -1
- package/dist/collection/components/nv-avatar/nv-avatar.css +1 -1
- package/dist/collection/components/nv-badge/nv-badge.js +7 -7
- package/dist/collection/components/nv-badge/nv-badge.js.map +1 -1
- package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.css +1 -1
- package/dist/collection/components/nv-button/styles/nv-button.css +1 -1
- package/dist/collection/components/nv-datagrid/nv-datagrid.css +2 -2
- package/dist/collection/components/nv-dialog/nv-dialog.css +2 -2
- package/dist/collection/components/nv-dialog/nv-dialog.docs.js +13 -0
- package/dist/collection/components/nv-dialog/nv-dialog.docs.js.map +1 -1
- package/dist/collection/components/nv-dialog/nv-dialog.js +30 -27
- package/dist/collection/components/nv-dialog/nv-dialog.js.map +1 -1
- package/dist/collection/components/nv-dialogheader/nv-dialogheader.css +4 -4
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.css +4 -3
- package/dist/collection/components/nv-fielddate/nv-fielddate.js +49 -24
- package/dist/collection/components/nv-fielddate/nv-fielddate.js.map +1 -1
- package/dist/collection/components/nv-fielddate/styles/nv-fielddate.css +8 -8
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +66 -43
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +1 -1
- package/dist/collection/components/nv-fielddaterange/styles/nv-fielddaterange.css +8 -8
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +26 -4
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +1 -1
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +32 -4
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
- package/dist/collection/components/nv-fielddropdown/styles/nv-fielddropdown.css +9 -9
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +186 -153
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
- package/dist/collection/components/nv-fieldmultiselect/styles/nv-fieldmultiselect.css +9 -9
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.css +8 -8
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.css +8 -8
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.css +3 -3
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.css +12 -12
- package/dist/collection/components/nv-fieldslider/styles/nv-fieldslider.css +7 -7
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.css +8 -8
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +9 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.css +8 -8
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js +22 -0
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +24 -9
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.js.map +1 -1
- package/dist/collection/components/nv-fieldtime/styles/nv-fieldtime.css +8 -8
- package/dist/collection/components/nv-icon/nv-icons.js +16 -1
- package/dist/collection/components/nv-icon/nv-icons.js.map +1 -1
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.css +2 -2
- package/dist/collection/components/nv-menu/nv-menu.docs.js +7 -0
- package/dist/collection/components/nv-menu/nv-menu.docs.js.map +1 -1
- package/dist/collection/components/nv-menu/nv-menu.js +26 -8
- 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-notification/nv-notification.js +104 -6
- package/dist/collection/components/nv-notification/nv-notification.js.map +1 -1
- package/dist/collection/components/nv-notification/styles/nv-notification.css +8 -8
- package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.css +61 -0
- package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.docs.js +7 -0
- package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.docs.js.map +1 -0
- package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.js +76 -0
- package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.js.map +1 -0
- package/dist/collection/components/nv-popover/nv-popover.docs.js +11 -0
- package/dist/collection/components/nv-popover/nv-popover.docs.js.map +1 -1
- package/dist/collection/components/nv-popover/nv-popover.js +66 -60
- package/dist/collection/components/nv-popover/nv-popover.js.map +1 -1
- package/dist/collection/components/nv-row/nv-row.js +1 -1
- package/dist/collection/components/nv-stack/nv-stack.js +1 -1
- package/dist/collection/components/nv-table/nv-table.docs.js +16 -155
- package/dist/collection/components/nv-table/nv-table.docs.js.map +1 -1
- package/dist/collection/components/nv-table/nv-table.js +68 -496
- package/dist/collection/components/nv-table/nv-table.js.map +1 -1
- package/dist/collection/components/nv-table/nv-table.utils.js +175 -0
- package/dist/collection/components/nv-table/nv-table.utils.js.map +1 -0
- package/dist/collection/components/nv-table/styles/nv-table.css +84 -0
- package/dist/collection/components/nv-table/test/nv-table.utils.test.js +604 -0
- package/dist/collection/components/nv-table/test/nv-table.utils.test.js.map +1 -0
- package/dist/collection/components/nv-toggle/nv-toggle.css +3 -3
- package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
- package/dist/collection/components/nv-togglebutton/nv-togglebutton.js +1 -1
- package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js +1 -0
- package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.docs.js.map +1 -1
- package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js +1 -3
- package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js.map +1 -1
- package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
- package/dist/collection/utils/constants.js +9 -0
- package/dist/collection/utils/constants.js.map +1 -1
- package/dist/components/index.js +22 -7
- package/dist/components/index.js.map +1 -1
- package/dist/components/nv-accordion-item.js +1 -1
- package/dist/components/nv-accordion.js +10 -10
- package/dist/components/nv-accordion.js.map +1 -1
- package/dist/components/nv-alert.js +6 -6
- package/dist/components/nv-alert.js.map +1 -1
- package/dist/components/nv-avatar.js +4 -4
- package/dist/components/nv-avatar.js.map +1 -1
- package/dist/components/nv-badge.js +1 -1
- package/dist/components/nv-breadcrumb.js +4 -4
- package/dist/components/nv-breadcrumb.js.map +1 -1
- package/dist/components/nv-breadcrumbs.js +1 -1
- package/dist/components/nv-button.js +1 -1
- package/dist/components/nv-buttongroup.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 +175 -8
- package/dist/components/nv-datagrid.js.map +1 -1
- package/dist/components/nv-datagridcolumn.js +1 -1
- package/dist/components/nv-dialog.js +38 -35
- package/dist/components/nv-dialog.js.map +1 -1
- 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 +57 -32
- package/dist/components/nv-fielddate.js.map +1 -1
- package/dist/components/nv-fielddaterange.js +74 -48
- package/dist/components/nv-fielddaterange.js.map +1 -1
- package/dist/components/nv-fielddropdown.js +40 -13
- 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 +196 -164
- package/dist/components/nv-fieldmultiselect.js.map +1 -1
- package/dist/components/nv-fieldnumber.js +1 -1
- package/dist/components/nv-fieldpassword.js +5 -5
- package/dist/components/nv-fieldpassword.js.map +1 -1
- package/dist/components/nv-fieldradio.js +2 -2
- package/dist/components/nv-fieldradio.js.map +1 -1
- package/dist/components/nv-fieldselect.js +5 -5
- package/dist/components/nv-fieldselect.js.map +1 -1
- package/dist/components/nv-fieldslider.js +6 -6
- package/dist/components/nv-fieldslider.js.map +1 -1
- package/dist/components/nv-fieldtext.js +1 -1
- package/dist/components/nv-fieldtextarea.js +2 -2
- package/dist/components/nv-fieldtextarea.js.map +1 -1
- package/dist/components/nv-fieldtime.js +32 -18
- package/dist/components/nv-fieldtime.js.map +1 -1
- package/dist/components/nv-icon.js +1 -1
- package/dist/components/nv-iconbutton.js +1 -1
- package/dist/components/nv-loader.js +1 -1
- package/dist/components/nv-menu.js +30 -13
- package/dist/components/nv-menu.js.map +1 -1
- package/dist/components/nv-menuitem.js +1 -1
- package/dist/components/nv-notification.js +75 -12
- package/dist/components/nv-notification.js.map +1 -1
- package/dist/components/nv-notificationcontainer.d.ts +11 -0
- package/dist/components/nv-notificationcontainer.js +59 -0
- package/dist/components/nv-notificationcontainer.js.map +1 -0
- package/dist/components/nv-popover.js +1 -1
- package/dist/components/nv-row.js +2 -2
- package/dist/components/nv-stack.js +2 -2
- package/dist/components/nv-table.js +216 -328
- package/dist/components/nv-table.js.map +1 -1
- package/dist/components/nv-toggle.js +4 -4
- package/dist/components/nv-toggle.js.map +1 -1
- package/dist/components/nv-togglebutton.js +2 -2
- package/dist/components/nv-togglebuttongroup.js +2 -2
- package/dist/components/nv-togglebuttongroup.js.map +1 -1
- package/dist/components/nv-tooltip.js +1 -1
- package/dist/components/{p-1172e9bb.js → p-0d5ed1d7.js} +3 -3
- package/dist/components/p-0d5ed1d7.js.map +1 -0
- package/dist/components/{p-68fa3890.js → p-0e6f41c7.js} +3 -3
- package/dist/components/{p-68fa3890.js.map → p-0e6f41c7.js.map} +1 -1
- package/dist/components/{p-c59eccf1.js → p-0fd23531.js} +6 -6
- package/dist/components/{p-c59eccf1.js.map → p-0fd23531.js.map} +1 -1
- package/dist/components/{p-e6c04562.js → p-1639703f.js} +2 -2
- package/dist/components/{p-e6c04562.js.map → p-1639703f.js.map} +1 -1
- package/dist/components/{p-d4d310dd.js → p-2cc83e0c.js} +3 -3
- package/dist/components/{p-d4d310dd.js.map → p-2cc83e0c.js.map} +1 -1
- package/dist/components/p-2d64749f.js +191 -0
- package/dist/components/{p-2de17259.js.map → p-2d64749f.js.map} +1 -1
- package/dist/components/{p-e5dff125.js → p-31478080.js} +12 -12
- package/dist/components/{p-e5dff125.js.map → p-31478080.js.map} +1 -1
- package/dist/components/{p-85825688.js → p-378e3127.js} +7 -7
- package/dist/components/{p-85825688.js.map → p-378e3127.js.map} +1 -1
- package/dist/components/{p-31591941.js → p-3cd7a66f.js} +5 -2
- package/dist/components/p-3cd7a66f.js.map +1 -0
- package/dist/components/{p-51876ca1.js → p-429e01f3.js} +3 -3
- package/dist/components/p-429e01f3.js.map +1 -0
- package/dist/components/{p-fb560fa3.js → p-4697bd56.js} +2 -2
- package/dist/components/{p-fb560fa3.js.map → p-4697bd56.js.map} +1 -1
- package/dist/components/p-47d499b4.js +88 -0
- package/dist/components/p-47d499b4.js.map +1 -0
- package/dist/{esm/constants-d0f19e7b.js → components/p-51602221.js} +11 -2
- package/dist/components/p-51602221.js.map +1 -0
- package/dist/components/{p-aff3ed68.js → p-5829b9f7.js} +5 -2
- package/dist/components/p-5829b9f7.js.map +1 -0
- package/dist/components/{p-60244646.js → p-63595ea1.js} +70 -64
- package/dist/components/p-63595ea1.js.map +1 -0
- package/dist/components/{p-8439219d.js → p-7112612c.js} +5 -5
- package/dist/components/p-7112612c.js.map +1 -0
- package/dist/components/{p-ac91582e.js → p-715e5235.js} +3 -3
- package/dist/components/{p-ac91582e.js.map → p-715e5235.js.map} +1 -1
- package/dist/components/{p-eb443b26.js → p-9707528d.js} +4 -4
- package/dist/components/{p-eb443b26.js.map → p-9707528d.js.map} +1 -1
- package/dist/components/{p-fda58a76.js → p-98429fd7.js} +2 -2
- package/dist/components/{p-fda58a76.js.map → p-98429fd7.js.map} +1 -1
- package/dist/components/{p-930caa42.js → p-a1ef5e37.js} +6 -6
- package/dist/components/{p-930caa42.js.map → p-a1ef5e37.js.map} +1 -1
- package/dist/components/{p-ee0df37f.js → p-a271e3be.js} +3 -3
- package/dist/components/p-a271e3be.js.map +1 -0
- package/dist/components/p-c7401a7d.js +90 -0
- package/dist/components/p-c7401a7d.js.map +1 -0
- package/dist/components/{p-942f6619.js → p-df5d76a5.js} +3 -3
- package/dist/components/{p-942f6619.js.map → p-df5d76a5.js.map} +1 -1
- package/dist/components/{p-6ffba98c.js → p-f2bac2aa.js} +4 -4
- package/dist/components/{p-6ffba98c.js.map → p-f2bac2aa.js.map} +1 -1
- package/dist/esm/{collapse.animation-acda1bf5.js → collapse.animation-6e0b08df.js} +5 -2
- package/dist/esm/collapse.animation-6e0b08df.js.map +1 -0
- package/dist/{components/p-2277cfc8.js → esm/constants-69bafca2.js} +11 -2
- package/dist/esm/constants-69bafca2.js.map +1 -0
- package/dist/esm/{fade.animation-eb454088.js → fade.animation-9b939939.js} +3 -3
- package/dist/esm/{fade.animation-eb454088.js.map → fade.animation-9b939939.js.map} +1 -1
- package/dist/esm/{grow.animation-5b2abb3a.js → grow.animation-03fa5c19.js} +2 -2
- package/dist/esm/{grow.animation-5b2abb3a.js.map → grow.animation-03fa5c19.js.map} +1 -1
- package/dist/esm/{index-a1936cd0.js → index-dc2723f3.js} +9 -6
- package/dist/esm/index-dc2723f3.js.map +1 -0
- package/dist/esm/index.js +21 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/native.js +3 -3
- package/dist/esm/nv-accordion-item.entry.js +3 -3
- package/dist/esm/nv-accordion-item.entry.js.map +1 -1
- package/dist/esm/nv-accordion.entry.js +6 -6
- package/dist/esm/nv-accordion.entry.js.map +1 -1
- package/dist/esm/nv-alert.entry.js +5 -5
- package/dist/esm/nv-alert.entry.js.map +1 -1
- package/dist/esm/nv-avatar.entry.js +3 -3
- package/dist/esm/nv-avatar.entry.js.map +1 -1
- package/dist/esm/nv-badge_2.entry.js +10 -10
- package/dist/esm/nv-badge_2.entry.js.map +1 -1
- package/dist/esm/nv-breadcrumb.entry.js +2 -2
- package/dist/esm/nv-breadcrumb.entry.js.map +1 -1
- package/dist/esm/nv-breadcrumbs.entry.js +1 -1
- package/dist/esm/nv-button.entry.js +3 -3
- package/dist/esm/nv-button.entry.js.map +1 -1
- package/dist/esm/nv-buttongroup.entry.js +1 -1
- package/dist/esm/nv-calendar.entry.js +2 -2
- package/dist/esm/nv-col.entry.js +1 -1
- package/dist/esm/nv-datagrid.entry.js +173 -6
- 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 +33 -30
- package/dist/esm/nv-dialog.entry.js.map +1 -1
- package/dist/esm/nv-dialogfooter_2.entry.js +3 -3
- package/dist/esm/nv-dialogfooter_2.entry.js.map +1 -1
- package/dist/esm/nv-fieldcheckbox.entry.js +2 -2
- package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -1
- package/dist/esm/nv-fielddate.entry.js +51 -26
- package/dist/esm/nv-fielddate.entry.js.map +1 -1
- package/dist/esm/nv-fielddaterange.entry.js +68 -42
- package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
- package/dist/esm/nv-fielddropdown.entry.js +33 -7
- 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 +187 -156
- package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
- package/dist/esm/nv-fieldnumber.entry.js +2 -2
- package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
- package/dist/esm/nv-fieldpassword.entry.js +2 -2
- package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
- package/dist/esm/nv-fieldradio.entry.js +2 -2
- package/dist/esm/nv-fieldradio.entry.js.map +1 -1
- package/dist/esm/nv-fieldselect.entry.js +2 -2
- package/dist/esm/nv-fieldselect.entry.js.map +1 -1
- package/dist/esm/nv-fieldslider.entry.js +2 -2
- package/dist/esm/nv-fieldslider.entry.js.map +1 -1
- package/dist/esm/nv-fieldtext.entry.js +2 -2
- package/dist/esm/nv-fieldtext.entry.js.map +1 -1
- package/dist/esm/nv-fieldtextarea.entry.js +2 -2
- package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
- package/dist/esm/nv-fieldtime.entry.js +26 -13
- package/dist/esm/nv-fieldtime.entry.js.map +1 -1
- package/dist/esm/nv-icon.entry.js +3 -3
- package/dist/esm/nv-icon.entry.js.map +1 -1
- package/dist/esm/nv-iconbutton_2.entry.js +2 -2
- package/dist/esm/nv-iconbutton_2.entry.js.map +1 -1
- package/dist/esm/nv-menu.entry.js +24 -9
- package/dist/esm/nv-menu.entry.js.map +1 -1
- package/dist/esm/nv-menuitem.entry.js +1 -1
- package/dist/esm/nv-notification.entry.js +71 -10
- package/dist/esm/nv-notification.entry.js.map +1 -1
- package/dist/esm/nv-notificationcontainer.entry.js +39 -0
- package/dist/esm/nv-notificationcontainer.entry.js.map +1 -0
- package/dist/esm/nv-popover.entry.js +69 -63
- package/dist/esm/nv-popover.entry.js.map +1 -1
- package/dist/esm/nv-row.entry.js +2 -2
- package/dist/esm/nv-stack.entry.js +2 -2
- package/dist/esm/nv-table.entry.js +216 -310
- package/dist/esm/nv-table.entry.js.map +1 -1
- package/dist/esm/nv-toggle.entry.js +4 -4
- package/dist/esm/nv-toggle.entry.js.map +1 -1
- package/dist/esm/nv-togglebutton.entry.js +2 -2
- package/dist/esm/nv-togglebuttongroup.entry.js +2 -2
- package/dist/esm/nv-togglebuttongroup.entry.js.map +1 -1
- package/dist/esm/nv-tooltip.entry.js +2 -2
- package/dist/esm/slide.animation-f761030b.js +90 -0
- package/dist/esm/slide.animation-f761030b.js.map +1 -0
- package/dist/native/index.esm.js +1 -1
- package/dist/native/index.esm.js.map +1 -1
- package/dist/native/native.css +1 -1
- package/dist/native/native.esm.js +1 -1
- package/dist/native/native.esm.js.map +1 -1
- package/dist/native/{p-7bbcf477.entry.js → p-075d231e.entry.js} +2 -2
- package/dist/native/p-075d231e.entry.js.map +1 -0
- package/dist/native/p-107e80c6.entry.js +2 -0
- package/dist/native/p-107e80c6.entry.js.map +1 -0
- package/dist/native/{p-40c4a221.entry.js → p-112d096c.entry.js} +2 -2
- package/dist/native/p-112d096c.entry.js.map +1 -0
- package/dist/native/p-217de553.entry.js +2 -0
- package/dist/native/p-217de553.entry.js.map +1 -0
- package/dist/native/{p-85f8f11a.entry.js → p-230af58a.entry.js} +2 -2
- package/dist/native/p-23ee0384.entry.js +2 -0
- package/dist/native/{p-29f68e07.entry.js.map → p-23ee0384.entry.js.map} +1 -1
- package/dist/native/p-26513cbd.entry.js +2 -0
- package/dist/native/p-26513cbd.entry.js.map +1 -0
- package/dist/native/p-278613a3.entry.js +2 -0
- package/dist/native/{p-8c823928.entry.js.map → p-278613a3.entry.js.map} +1 -1
- package/dist/native/p-2dfd786f.entry.js +2 -0
- package/dist/native/p-2dfd786f.entry.js.map +1 -0
- package/dist/native/{p-d0a33e64.js → p-3060df80.js} +3 -3
- package/dist/native/p-3060df80.js.map +1 -0
- package/dist/native/p-3cd7a66f.js +2 -0
- package/dist/native/p-3cd7a66f.js.map +1 -0
- package/dist/native/p-445221dc.entry.js +2 -0
- package/dist/native/p-445221dc.entry.js.map +1 -0
- package/dist/native/{p-3f861ddc.entry.js → p-44a78545.entry.js} +2 -2
- package/dist/native/p-4697bd56.js +2 -0
- package/dist/native/p-4dc7483d.entry.js +2 -0
- package/dist/native/{p-cfd5785e.entry.js.map → p-4dc7483d.entry.js.map} +1 -1
- package/dist/native/p-4eaf417d.entry.js +13 -0
- package/dist/native/p-4eaf417d.entry.js.map +1 -0
- package/dist/native/p-5039ceb8.entry.js +2 -0
- package/dist/native/p-5039ceb8.entry.js.map +1 -0
- package/dist/native/p-51602221.js +2 -0
- package/dist/{cjs/constants-52f6f8e9.js.map → native/p-51602221.js.map} +1 -1
- package/dist/native/p-647a0765.entry.js +2 -0
- package/dist/native/p-647a0765.entry.js.map +1 -0
- package/dist/native/p-68dc02be.entry.js +2 -0
- package/dist/native/p-68dc02be.entry.js.map +1 -0
- package/dist/native/p-6d427897.entry.js +2 -0
- package/dist/native/{p-92931ab8.entry.js.map → p-6d427897.entry.js.map} +1 -1
- package/dist/native/p-701b48a4.entry.js +2 -0
- package/dist/native/{p-da2c7d3c.entry.js.map → p-701b48a4.entry.js.map} +1 -1
- package/dist/native/p-7c9bf981.entry.js +2 -0
- package/dist/native/p-835abdb9.entry.js +2 -0
- package/dist/native/{p-f5120223.entry.js.map → p-835abdb9.entry.js.map} +1 -1
- package/dist/native/{p-464bb197.entry.js → p-83765537.entry.js} +2 -2
- package/dist/native/p-88f9fca5.entry.js +2 -0
- package/dist/native/p-88f9fca5.entry.js.map +1 -0
- package/dist/native/{p-788e9ee5.entry.js → p-8e423742.entry.js} +3 -3
- package/dist/native/{p-788e9ee5.entry.js.map → p-8e423742.entry.js.map} +1 -1
- package/dist/native/p-95184ea2.entry.js +2 -0
- package/dist/native/p-95184ea2.entry.js.map +1 -0
- package/dist/native/p-9613087c.entry.js +2 -0
- package/dist/native/{p-2781637d.entry.js.map → p-9613087c.entry.js.map} +1 -1
- package/dist/native/{p-94dc9c41.entry.js → p-9d7e099f.entry.js} +2 -2
- package/dist/native/{p-ee0df37f.js → p-a271e3be.js} +2 -2
- package/dist/native/{p-ee0df37f.js.map → p-a271e3be.js.map} +1 -1
- package/dist/native/p-a2f58133.entry.js +2 -0
- package/dist/native/p-a2f58133.entry.js.map +1 -0
- package/dist/native/{p-1235c007.entry.js → p-acabac31.entry.js} +2 -2
- package/dist/native/p-acada158.entry.js +2 -0
- package/dist/native/p-acada158.entry.js.map +1 -0
- package/dist/native/{p-f5eb047e.entry.js → p-b02c896a.entry.js} +2 -2
- package/dist/native/p-b06f0e61.entry.js +2 -0
- package/dist/native/p-b06f0e61.entry.js.map +1 -0
- package/dist/native/p-b4c15f25.entry.js +2 -0
- package/dist/native/p-b4c15f25.entry.js.map +1 -0
- package/dist/native/p-bcf41cd0.entry.js +2 -0
- package/dist/native/p-c7401a7d.js +2 -0
- package/dist/native/p-c7401a7d.js.map +1 -0
- package/dist/native/p-ce97ce24.entry.js +2 -0
- package/dist/native/p-ce97ce24.entry.js.map +1 -0
- package/dist/native/p-d0db5e72.entry.js +2 -0
- package/dist/native/p-d0db5e72.entry.js.map +1 -0
- package/dist/native/p-d45ee8e5.entry.js +2 -0
- package/dist/native/{p-52b8c872.entry.js.map → p-d45ee8e5.entry.js.map} +1 -1
- package/dist/native/p-d7f444fb.entry.js +2 -0
- package/dist/native/p-d7f444fb.entry.js.map +1 -0
- package/dist/native/p-d878e90a.entry.js +2 -0
- package/dist/native/p-d878e90a.entry.js.map +1 -0
- package/dist/native/p-ddc41f1f.entry.js +2 -0
- package/dist/native/p-ddc41f1f.entry.js.map +1 -0
- package/dist/native/{p-d95ee31e.entry.js → p-dfb6b65e.entry.js} +2 -2
- package/dist/native/p-f30e0be6.entry.js +2 -0
- package/dist/native/p-f30e0be6.entry.js.map +1 -0
- package/dist/native/p-f3c73492.entry.js +2 -0
- package/dist/native/{p-ee516944.entry.js.map → p-f3c73492.entry.js.map} +1 -1
- package/dist/native/{p-9c5d6827.entry.js → p-fa78d8eb.entry.js} +2 -2
- package/dist/types/animations/slide.animation.d.ts +15 -4
- package/dist/types/components/nv-accordion/nv-accordion.d.ts +2 -4
- package/dist/types/components/nv-badge/nv-badge.d.ts +1 -1
- package/dist/types/components/nv-dialog/nv-dialog.d.ts +9 -8
- package/dist/types/components/nv-fielddate/nv-fielddate.d.ts +6 -3
- package/dist/types/components/nv-fielddaterange/nv-fielddaterange.d.ts +5 -4
- package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +3 -1
- package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +12 -11
- package/dist/types/components/nv-fieldtime/nv-fieldtime.d.ts +1 -0
- package/dist/types/components/nv-icon/nv-icons.d.ts +1 -1
- package/dist/types/components/nv-menu/nv-menu.d.ts +4 -1
- package/dist/types/components/nv-notification/nv-notification.d.ts +18 -0
- package/dist/types/components/nv-notificationcontainer/nv-notificationcontainer.d.ts +19 -0
- package/dist/types/components/nv-notificationcontainer/nv-notificationcontainer.docs.d.ts +4 -0
- package/dist/types/components/nv-popover/nv-popover.d.ts +10 -8
- package/dist/types/components/nv-table/nv-table.d.ts +6 -87
- package/dist/types/components/nv-table/nv-table.utils.d.ts +129 -0
- package/dist/types/components/nv-table/test/nv-table.utils.test.d.ts +1 -0
- package/dist/types/components/nv-togglebuttongroup/nv-togglebuttongroup.d.ts +0 -2
- package/dist/types/components.d.ts +63 -211
- package/dist/types/utils/constants.d.ts +8 -0
- package/dist/vscode-data.json +87 -43
- package/hydrate/index.js +973 -809
- package/hydrate/index.mjs +973 -809
- package/package.json +10 -10
- package/dist/cjs/collapse.animation-47397763.js.map +0 -1
- package/dist/cjs/dom.utils-4d43f69a.js +0 -170
- package/dist/cjs/dom.utils-4d43f69a.js.map +0 -1
- package/dist/cjs/fade.animation-cf6eba0d.js.map +0 -1
- package/dist/cjs/index-c56424e5.js.map +0 -1
- package/dist/cjs/nv-tablecolumn.cjs.entry.js +0 -21
- package/dist/cjs/nv-tablecolumn.cjs.entry.js.map +0 -1
- package/dist/cjs/slide.animation-bedfc827.js +0 -70
- package/dist/cjs/slide.animation-bedfc827.js.map +0 -1
- package/dist/collection/components/nv-table/nv-table.css +0 -35
- package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.docs.js +0 -6
- package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.docs.js.map +0 -1
- package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js +0 -52
- package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js.map +0 -1
- package/dist/components/nv-tablecolumn.d.ts +0 -11
- package/dist/components/nv-tablecolumn.js +0 -38
- package/dist/components/nv-tablecolumn.js.map +0 -1
- package/dist/components/p-1172e9bb.js.map +0 -1
- package/dist/components/p-2277cfc8.js.map +0 -1
- package/dist/components/p-2de17259.js +0 -191
- package/dist/components/p-31591941.js.map +0 -1
- package/dist/components/p-51876ca1.js.map +0 -1
- package/dist/components/p-60244646.js.map +0 -1
- package/dist/components/p-8439219d.js.map +0 -1
- package/dist/components/p-aff3ed68.js.map +0 -1
- package/dist/components/p-cb34aa4f.js +0 -167
- package/dist/components/p-cb34aa4f.js.map +0 -1
- package/dist/components/p-e0cd7e3a.js +0 -88
- package/dist/components/p-e0cd7e3a.js.map +0 -1
- package/dist/components/p-eda2f9f3.js +0 -68
- package/dist/components/p-eda2f9f3.js.map +0 -1
- package/dist/components/p-ee0df37f.js.map +0 -1
- package/dist/esm/collapse.animation-acda1bf5.js.map +0 -1
- package/dist/esm/constants-d0f19e7b.js.map +0 -1
- package/dist/esm/dom.utils-ac71e0ef.js +0 -167
- package/dist/esm/dom.utils-ac71e0ef.js.map +0 -1
- package/dist/esm/index-a1936cd0.js.map +0 -1
- package/dist/esm/nv-tablecolumn.entry.js +0 -17
- package/dist/esm/nv-tablecolumn.entry.js.map +0 -1
- package/dist/esm/slide.animation-f444aa0b.js +0 -68
- package/dist/esm/slide.animation-f444aa0b.js.map +0 -1
- package/dist/native/p-08582c21.entry.js +0 -2
- package/dist/native/p-08582c21.entry.js.map +0 -1
- package/dist/native/p-0a99c6fb.entry.js +0 -2
- package/dist/native/p-0a99c6fb.entry.js.map +0 -1
- package/dist/native/p-0e488b3d.entry.js +0 -2
- package/dist/native/p-0e488b3d.entry.js.map +0 -1
- package/dist/native/p-1ad1bff9.entry.js +0 -2
- package/dist/native/p-1ad1bff9.entry.js.map +0 -1
- package/dist/native/p-1f01fb64.entry.js +0 -2
- package/dist/native/p-1f01fb64.entry.js.map +0 -1
- package/dist/native/p-225a05bf.entry.js +0 -2
- package/dist/native/p-225a05bf.entry.js.map +0 -1
- package/dist/native/p-2277cfc8.js +0 -2
- package/dist/native/p-2277cfc8.js.map +0 -1
- package/dist/native/p-234cfa2e.entry.js +0 -2
- package/dist/native/p-25f2ce81.entry.js +0 -2
- package/dist/native/p-2781637d.entry.js +0 -2
- package/dist/native/p-29f68e07.entry.js +0 -2
- package/dist/native/p-31591941.js +0 -2
- package/dist/native/p-31591941.js.map +0 -1
- package/dist/native/p-3784efdc.entry.js +0 -2
- package/dist/native/p-3784efdc.entry.js.map +0 -1
- package/dist/native/p-40c4a221.entry.js.map +0 -1
- package/dist/native/p-52b8c872.entry.js +0 -2
- package/dist/native/p-5a43fe48.entry.js +0 -13
- package/dist/native/p-5a43fe48.entry.js.map +0 -1
- package/dist/native/p-5f0776cb.entry.js +0 -2
- package/dist/native/p-5f0776cb.entry.js.map +0 -1
- package/dist/native/p-6290951d.entry.js +0 -2
- package/dist/native/p-6290951d.entry.js.map +0 -1
- package/dist/native/p-7bbcf477.entry.js.map +0 -1
- package/dist/native/p-81952a3c.entry.js +0 -2
- package/dist/native/p-81952a3c.entry.js.map +0 -1
- package/dist/native/p-87784622.entry.js +0 -2
- package/dist/native/p-87784622.entry.js.map +0 -1
- package/dist/native/p-8c823928.entry.js +0 -2
- package/dist/native/p-92931ab8.entry.js +0 -2
- package/dist/native/p-9a46baa9.entry.js +0 -2
- package/dist/native/p-9a46baa9.entry.js.map +0 -1
- package/dist/native/p-a34beedf.entry.js +0 -2
- package/dist/native/p-a34beedf.entry.js.map +0 -1
- package/dist/native/p-bc01787b.entry.js +0 -2
- package/dist/native/p-bc01787b.entry.js.map +0 -1
- package/dist/native/p-cb34aa4f.js +0 -2
- package/dist/native/p-cb34aa4f.js.map +0 -1
- package/dist/native/p-cea942b9.entry.js +0 -2
- package/dist/native/p-cea942b9.entry.js.map +0 -1
- package/dist/native/p-cfd5785e.entry.js +0 -2
- package/dist/native/p-d0a33e64.js.map +0 -1
- package/dist/native/p-d0ef1bbb.entry.js +0 -2
- package/dist/native/p-d0ef1bbb.entry.js.map +0 -1
- package/dist/native/p-d88c416f.entry.js +0 -2
- package/dist/native/p-d88c416f.entry.js.map +0 -1
- package/dist/native/p-da2c7d3c.entry.js +0 -2
- package/dist/native/p-dd023fd6.entry.js +0 -2
- package/dist/native/p-dd023fd6.entry.js.map +0 -1
- package/dist/native/p-e765a624.entry.js +0 -2
- package/dist/native/p-e765a624.entry.js.map +0 -1
- package/dist/native/p-eda2f9f3.js +0 -2
- package/dist/native/p-eda2f9f3.js.map +0 -1
- package/dist/native/p-ee516944.entry.js +0 -2
- package/dist/native/p-f0cbfb3d.entry.js +0 -2
- package/dist/native/p-f0cbfb3d.entry.js.map +0 -1
- package/dist/native/p-f5120223.entry.js +0 -2
- package/dist/native/p-fb560fa3.js +0 -2
- package/dist/types/components/nv-tablecolumn/nv-tablecolumn.d.ts +0 -13
- package/dist/types/components/nv-tablecolumn/nv-tablecolumn.docs.d.ts +0 -4
- /package/dist/native/{p-85f8f11a.entry.js.map → p-230af58a.entry.js.map} +0 -0
- /package/dist/native/{p-3f861ddc.entry.js.map → p-44a78545.entry.js.map} +0 -0
- /package/dist/native/{p-fb560fa3.js.map → p-4697bd56.js.map} +0 -0
- /package/dist/native/{p-234cfa2e.entry.js.map → p-7c9bf981.entry.js.map} +0 -0
- /package/dist/native/{p-464bb197.entry.js.map → p-83765537.entry.js.map} +0 -0
- /package/dist/native/{p-94dc9c41.entry.js.map → p-9d7e099f.entry.js.map} +0 -0
- /package/dist/native/{p-1235c007.entry.js.map → p-acabac31.entry.js.map} +0 -0
- /package/dist/native/{p-f5eb047e.entry.js.map → p-b02c896a.entry.js.map} +0 -0
- /package/dist/native/{p-25f2ce81.entry.js.map → p-bcf41cd0.entry.js.map} +0 -0
- /package/dist/native/{p-d95ee31e.entry.js.map → p-dfb6b65e.entry.js.map} +0 -0
- /package/dist/native/{p-9c5d6827.entry.js.map → p-fa78d8eb.entry.js.map} +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as t,f as e,r as n,c as o,h as s,H as i,g as r}from"./p-d0a33e64.js";import{u as c}from"./p-ee0df37f.js";import{u as a}from"./p-fb560fa3.js";import"./p-42ea6b74.js";import{a as l,r as f}from"./p-d429a343.js";const u=["top","right","bottom","left"];const d=["start","end"];const h=u.reduce(((t,e)=>t.concat(e,e+"-"+d[0],e+"-"+d[1])),[]);const p=Math.min;const m=Math.max;const y=Math.round;const g=t=>({x:t,y:t});const v={left:"right",right:"left",bottom:"top",top:"bottom"};const w={start:"end",end:"start"};function b(t,e,n){return m(t,p(e,n))}function x(t,e){return typeof t==="function"?t(e):t}function k(t){return t.split("-")[0]}function A(t){return t.split("-")[1]}function T(t){return t==="x"?"y":"x"}function C(t){return t==="y"?"height":"width"}function O(t){return["top","bottom"].includes(k(t))?"y":"x"}function P(t){return T(O(t))}function S(t,e,n){if(n===void 0){n=false}const o=A(t);const s=P(t);const i=C(s);let r=s==="x"?o===(n?"end":"start")?"right":"left":o==="start"?"bottom":"top";if(e.reference[i]>e.floating[i]){r=M(r)}return[r,M(r)]}function D(t){const e=M(t);return[j(t),e,j(e)]}function j(t){return t.replace(/start|end/g,(t=>w[t]))}function R(t,e,n){const o=["left","right"];const s=["right","left"];const i=["top","bottom"];const r=["bottom","top"];switch(t){case"top":case"bottom":if(n)return e?s:o;return e?o:s;case"left":case"right":return e?i:r;default:return[]}}function L(t,e,n,o){const s=A(t);let i=R(k(t),n==="start",o);if(s){i=i.map((t=>t+"-"+s));if(e){i=i.concat(i.map(j))}}return i}function M(t){return t.replace(/left|right|bottom|top/g,(t=>v[t]))}function B(t){return{top:0,right:0,bottom:0,left:0,...t}}function F(t){return typeof t!=="number"?B(t):{top:t,right:t,bottom:t,left:t}}function H(t){const{x:e,y:n,width:o,height:s}=t;return{width:o,height:s,top:n,left:e,right:e+o,bottom:n+s,x:e,y:n}}function E(t,e,n){let{reference:o,floating:s}=t;const i=O(e);const r=P(e);const c=C(r);const a=k(e);const l=i==="y";const f=o.x+o.width/2-s.width/2;const u=o.y+o.height/2-s.height/2;const d=o[c]/2-s[c]/2;let h;switch(a){case"top":h={x:f,y:o.y-s.height};break;case"bottom":h={x:f,y:o.y+o.height};break;case"right":h={x:o.x+o.width,y:u};break;case"left":h={x:o.x-s.width,y:u};break;default:h={x:o.x,y:o.y}}switch(A(e)){case"start":h[r]-=d*(n&&l?-1:1);break;case"end":h[r]+=d*(n&&l?-1:1);break}return h}const $=async(t,e,n)=>{const{placement:o="bottom",strategy:s="absolute",middleware:i=[],platform:r}=n;const c=i.filter(Boolean);const a=await(r.isRTL==null?void 0:r.isRTL(e));let l=await r.getElementRects({reference:t,floating:e,strategy:s});let{x:f,y:u}=E(l,o,a);let d=o;let h={};let p=0;for(let n=0;n<c.length;n++){const{name:i,fn:m}=c[n];const{x:y,y:g,data:v,reset:w}=await m({x:f,y:u,initialPlacement:o,placement:d,strategy:s,middlewareData:h,rects:l,platform:r,elements:{reference:t,floating:e}});f=y!=null?y:f;u=g!=null?g:u;h={...h,[i]:{...h[i],...v}};if(w&&p<=50){p++;if(typeof w==="object"){if(w.placement){d=w.placement}if(w.rects){l=w.rects===true?await r.getElementRects({reference:t,floating:e,strategy:s}):w.rects}({x:f,y:u}=E(l,d,a))}n=-1}}return{x:f,y:u,placement:d,strategy:s,middlewareData:h}};async function z(t,e){var n;if(e===void 0){e={}}const{x:o,y:s,platform:i,rects:r,elements:c,strategy:a}=t;const{boundary:l="clippingAncestors",rootBoundary:f="viewport",elementContext:u="floating",altBoundary:d=false,padding:h=0}=x(e,t);const p=F(h);const m=u==="floating"?"reference":"floating";const y=c[d?m:u];const g=H(await i.getClippingRect({element:((n=await(i.isElement==null?void 0:i.isElement(y)))!=null?n:true)?y:y.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(c.floating)),boundary:l,rootBoundary:f,strategy:a}));const v=u==="floating"?{x:o,y:s,width:r.floating.width,height:r.floating.height}:r.reference;const w=await(i.getOffsetParent==null?void 0:i.getOffsetParent(c.floating));const b=await(i.isElement==null?void 0:i.isElement(w))?await(i.getScale==null?void 0:i.getScale(w))||{x:1,y:1}:{x:1,y:1};const k=H(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:v,offsetParent:w,strategy:a}):v);return{top:(g.top-k.top+p.top)/b.y,bottom:(k.bottom-g.bottom+p.bottom)/b.y,left:(g.left-k.left+p.left)/b.x,right:(k.right-g.right+p.right)/b.x}}const W=t=>({name:"arrow",options:t,async fn(e){const{x:n,y:o,placement:s,rects:i,platform:r,elements:c,middlewareData:a}=e;const{element:l,padding:f=0}=x(t,e)||{};if(l==null){return{}}const u=F(f);const d={x:n,y:o};const h=P(s);const m=C(h);const y=await r.getDimensions(l);const g=h==="y";const v=g?"top":"left";const w=g?"bottom":"right";const k=g?"clientHeight":"clientWidth";const T=i.reference[m]+i.reference[h]-d[h]-i.floating[m];const O=d[h]-i.reference[h];const S=await(r.getOffsetParent==null?void 0:r.getOffsetParent(l));let D=S?S[k]:0;if(!D||!await(r.isElement==null?void 0:r.isElement(S))){D=c.floating[k]||i.floating[m]}const j=T/2-O/2;const R=D/2-y[m]/2-1;const L=p(u[v],R);const M=p(u[w],R);const B=L;const H=D-y[m]-M;const E=D/2-y[m]/2+j;const $=b(B,E,H);const z=!a.arrow&&A(s)!=null&&E!==$&&i.reference[m]/2-(E<B?L:M)-y[m]/2<0;const W=z?E<B?E-B:E-H:0;return{[h]:d[h]+W,data:{[h]:$,centerOffset:E-$-W,...z&&{alignmentOffset:W}},reset:z}}});function N(t,e,n){const o=t?[...n.filter((e=>A(e)===t)),...n.filter((e=>A(e)!==t))]:n.filter((t=>k(t)===t));return o.filter((n=>{if(t){return A(n)===t||(e?j(n)!==n:false)}return true}))}const I=function(t){if(t===void 0){t={}}return{name:"autoPlacement",options:t,async fn(e){var n,o,s;const{rects:i,middlewareData:r,placement:c,platform:a,elements:l}=e;const{crossAxis:f=false,alignment:u,allowedPlacements:d=h,autoAlignment:p=true,...m}=x(t,e);const y=u!==undefined||d===h?N(u||null,p,d):d;const g=await z(e,m);const v=((n=r.autoPlacement)==null?void 0:n.index)||0;const w=y[v];if(w==null){return{}}const b=S(w,i,await(a.isRTL==null?void 0:a.isRTL(l.floating)));if(c!==w){return{reset:{placement:y[0]}}}const T=[g[k(w)],g[b[0]],g[b[1]]];const C=[...((o=r.autoPlacement)==null?void 0:o.overflows)||[],{placement:w,overflows:T}];const O=y[v+1];if(O){return{data:{index:v+1,overflows:C},reset:{placement:O}}}const P=C.map((t=>{const e=A(t.placement);return[t.placement,e&&f?t.overflows.slice(0,2).reduce(((t,e)=>t+e),0):t.overflows[0],t.overflows]})).sort(((t,e)=>t[1]-e[1]));const D=P.filter((t=>t[2].slice(0,A(t[0])?2:3).every((t=>t<=0))));const j=((s=D[0])==null?void 0:s[0])||P[0][0];if(j!==c){return{data:{index:v+1,overflows:C},reset:{placement:j}}}return{}}}};const U=function(t){if(t===void 0){t={}}return{name:"flip",options:t,async fn(e){var n,o;const{placement:s,middlewareData:i,rects:r,initialPlacement:c,platform:a,elements:l}=e;const{mainAxis:f=true,crossAxis:u=true,fallbackPlacements:d,fallbackStrategy:h="bestFit",fallbackAxisSideDirection:p="none",flipAlignment:m=true,...y}=x(t,e);if((n=i.arrow)!=null&&n.alignmentOffset){return{}}const g=k(s);const v=k(c)===c;const w=await(a.isRTL==null?void 0:a.isRTL(l.floating));const b=d||(v||!m?[M(c)]:D(c));if(!d&&p!=="none"){b.push(...L(c,m,p,w))}const A=[c,...b];const T=await z(e,y);const C=[];let O=((o=i.flip)==null?void 0:o.overflows)||[];if(f){C.push(T[g])}if(u){const t=S(s,r,w);C.push(T[t[0]],T[t[1]])}O=[...O,{placement:s,overflows:C}];if(!C.every((t=>t<=0))){var P,j;const t=(((P=i.flip)==null?void 0:P.index)||0)+1;const e=A[t];if(e){return{data:{index:t,overflows:O},reset:{placement:e}}}let n=(j=O.filter((t=>t.overflows[0]<=0)).sort(((t,e)=>t.overflows[1]-e.overflows[1]))[0])==null?void 0:j.placement;if(!n){switch(h){case"bestFit":{var R;const t=(R=O.map((t=>[t.placement,t.overflows.filter((t=>t>0)).reduce(((t,e)=>t+e),0)])).sort(((t,e)=>t[1]-e[1]))[0])==null?void 0:R[0];if(t){n=t}break}case"initialPlacement":n=c;break}}if(s!==n){return{reset:{placement:n}}}}return{}}}};function _(t,e){return{top:t.top-e.height,right:t.right-e.width,bottom:t.bottom-e.height,left:t.left-e.width}}function G(t){return u.some((e=>t[e]>=0))}const K=function(t){if(t===void 0){t={}}return{name:"hide",options:t,async fn(e){const{rects:n}=e;const{strategy:o="referenceHidden",...s}=x(t,e);switch(o){case"referenceHidden":{const t=await z(e,{...s,elementContext:"reference"});const o=_(t,n.reference);return{data:{referenceHiddenOffsets:o,referenceHidden:G(o)}}}case"escaped":{const t=await z(e,{...s,altBoundary:true});const o=_(t,n.floating);return{data:{escapedOffsets:o,escaped:G(o)}}}default:{return{}}}}}};function V(t){const e=p(...t.map((t=>t.left)));const n=p(...t.map((t=>t.top)));const o=m(...t.map((t=>t.right)));const s=m(...t.map((t=>t.bottom)));return{x:e,y:n,width:o-e,height:s-n}}function X(t){const e=t.slice().sort(((t,e)=>t.y-e.y));const n=[];let o=null;for(let t=0;t<e.length;t++){const s=e[t];if(!o||s.y-o.y>o.height/2){n.push([s])}else{n[n.length-1].push(s)}o=s}return n.map((t=>H(V(t))))}const Y=function(t){if(t===void 0){t={}}return{name:"inline",options:t,async fn(e){const{placement:n,elements:o,rects:s,platform:i,strategy:r}=e;const{padding:c=2,x:a,y:l}=x(t,e);const f=Array.from(await(i.getClientRects==null?void 0:i.getClientRects(o.reference))||[]);const u=X(f);const d=H(V(f));const h=F(c);function y(){if(u.length===2&&u[0].left>u[1].right&&a!=null&&l!=null){return u.find((t=>a>t.left-h.left&&a<t.right+h.right&&l>t.top-h.top&&l<t.bottom+h.bottom))||d}if(u.length>=2){if(O(n)==="y"){const t=u[0];const e=u[u.length-1];const o=k(n)==="top";const s=t.top;const i=e.bottom;const r=o?t.left:e.left;const c=o?t.right:e.right;const a=c-r;const l=i-s;return{top:s,bottom:i,left:r,right:c,width:a,height:l,x:r,y:s}}const t=k(n)==="left";const e=m(...u.map((t=>t.right)));const o=p(...u.map((t=>t.left)));const s=u.filter((n=>t?n.left===o:n.right===e));const i=s[0].top;const r=s[s.length-1].bottom;const c=o;const a=e;const l=a-c;const f=r-i;return{top:i,bottom:r,left:c,right:a,width:l,height:f,x:c,y:i}}return d}const g=await i.getElementRects({reference:{getBoundingClientRect:y},floating:o.floating,strategy:r});if(s.reference.x!==g.reference.x||s.reference.y!==g.reference.y||s.reference.width!==g.reference.width||s.reference.height!==g.reference.height){return{reset:{rects:g}}}return{}}}};async function q(t,e){const{placement:n,platform:o,elements:s}=t;const i=await(o.isRTL==null?void 0:o.isRTL(s.floating));const r=k(n);const c=A(n);const a=O(n)==="y";const l=["left","top"].includes(r)?-1:1;const f=i&&a?-1:1;const u=x(e,t);let{mainAxis:d,crossAxis:h,alignmentAxis:p}=typeof u==="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...u};if(c&&typeof p==="number"){h=c==="end"?p*-1:p}return a?{x:h*f,y:d*l}:{x:d*l,y:h*f}}const J=function(t){if(t===void 0){t=0}return{name:"offset",options:t,async fn(e){var n,o;const{x:s,y:i,placement:r,middlewareData:c}=e;const a=await q(e,t);if(r===((n=c.offset)==null?void 0:n.placement)&&(o=c.arrow)!=null&&o.alignmentOffset){return{}}return{x:s+a.x,y:i+a.y,data:{...a,placement:r}}}}};const Q=function(t){if(t===void 0){t={}}return{name:"shift",options:t,async fn(e){const{x:n,y:o,placement:s}=e;const{mainAxis:i=true,crossAxis:r=false,limiter:c={fn:t=>{let{x:e,y:n}=t;return{x:e,y:n}}},...a}=x(t,e);const l={x:n,y:o};const f=await z(e,a);const u=O(k(s));const d=T(u);let h=l[d];let p=l[u];if(i){const t=d==="y"?"top":"left";const e=d==="y"?"bottom":"right";const n=h+f[t];const o=h-f[e];h=b(n,h,o)}if(r){const t=u==="y"?"top":"left";const e=u==="y"?"bottom":"right";const n=p+f[t];const o=p-f[e];p=b(n,p,o)}const m=c.fn({...e,[d]:h,[u]:p});return{...m,data:{x:m.x-n,y:m.y-o}}}}};const Z=function(t){if(t===void 0){t={}}return{options:t,fn(e){const{x:n,y:o,placement:s,rects:i,middlewareData:r}=e;const{offset:c=0,mainAxis:a=true,crossAxis:l=true}=x(t,e);const f={x:n,y:o};const u=O(s);const d=T(u);let h=f[d];let p=f[u];const m=x(c,e);const y=typeof m==="number"?{mainAxis:m,crossAxis:0}:{mainAxis:0,crossAxis:0,...m};if(a){const t=d==="y"?"height":"width";const e=i.reference[d]-i.floating[t]+y.mainAxis;const n=i.reference[d]+i.reference[t]-y.mainAxis;if(h<e){h=e}else if(h>n){h=n}}if(l){var g,v;const t=d==="y"?"width":"height";const e=["top","left"].includes(k(s));const n=i.reference[u]-i.floating[t]+(e?((g=r.offset)==null?void 0:g[u])||0:0)+(e?0:y.crossAxis);const o=i.reference[u]+i.reference[t]+(e?0:((v=r.offset)==null?void 0:v[u])||0)-(e?y.crossAxis:0);if(p<n){p=n}else if(p>o){p=o}}return{[d]:h,[u]:p}}}};const tt=function(t){if(t===void 0){t={}}return{name:"size",options:t,async fn(e){const{placement:n,rects:o,platform:s,elements:i}=e;const{apply:r=(()=>{}),...c}=x(t,e);const a=await z(e,c);const l=k(n);const f=A(n);const u=O(n)==="y";const{width:d,height:h}=o.floating;let y;let g;if(l==="top"||l==="bottom"){y=l;g=f===(await(s.isRTL==null?void 0:s.isRTL(i.floating))?"start":"end")?"left":"right"}else{g=l;y=f==="end"?"top":"bottom"}const v=h-a.top-a.bottom;const w=d-a.left-a.right;const b=p(h-a[y],v);const T=p(d-a[g],w);const C=!e.middlewareData.shift;let P=b;let S=T;if(u){S=f||C?p(T,w):w}else{P=f||C?p(b,v):v}if(C&&!f){const t=m(a.left,0);const e=m(a.right,0);const n=m(a.top,0);const o=m(a.bottom,0);if(u){S=d-2*(t!==0||e!==0?t+e:m(a.left,a.right))}else{P=h-2*(n!==0||o!==0?n+o:m(a.top,a.bottom))}}await r({...e,availableWidth:S,availableHeight:P});const D=await s.getDimensions(i.floating);if(d!==D.width||h!==D.height){return{reset:{rects:true}}}return{}}}};function et(){return typeof window!=="undefined"}function nt(t){if(it(t)){return(t.nodeName||"").toLowerCase()}return"#document"}function ot(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function st(t){var e;return(e=(it(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function it(t){if(!et()){return false}return t instanceof Node||t instanceof ot(t).Node}function rt(t){if(!et()){return false}return t instanceof Element||t instanceof ot(t).Element}function ct(t){if(!et()){return false}return t instanceof HTMLElement||t instanceof ot(t).HTMLElement}function at(t){if(!et()||typeof ShadowRoot==="undefined"){return false}return t instanceof ShadowRoot||t instanceof ot(t).ShadowRoot}function lt(t){const{overflow:e,overflowX:n,overflowY:o,display:s}=yt(t);return/auto|scroll|overlay|hidden|clip/.test(e+o+n)&&!["inline","contents"].includes(s)}function ft(t){return["table","td","th"].includes(nt(t))}function ut(t){return[":popover-open",":modal"].some((e=>{try{return t.matches(e)}catch(t){return false}}))}function dt(t){const e=pt();const n=rt(t)?yt(t):t;return n.transform!=="none"||n.perspective!=="none"||(n.containerType?n.containerType!=="normal":false)||!e&&(n.backdropFilter?n.backdropFilter!=="none":false)||!e&&(n.filter?n.filter!=="none":false)||["transform","perspective","filter"].some((t=>(n.willChange||"").includes(t)))||["paint","layout","strict","content"].some((t=>(n.contain||"").includes(t)))}function ht(t){let e=vt(t);while(ct(e)&&!mt(e)){if(dt(e)){return e}else if(ut(e)){return null}e=vt(e)}return null}function pt(){if(typeof CSS==="undefined"||!CSS.supports)return false;return CSS.supports("-webkit-backdrop-filter","none")}function mt(t){return["html","body","#document"].includes(nt(t))}function yt(t){return ot(t).getComputedStyle(t)}function gt(t){if(rt(t)){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}return{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function vt(t){if(nt(t)==="html"){return t}const e=t.assignedSlot||t.parentNode||at(t)&&t.host||st(t);return at(e)?e.host:e}function wt(t){const e=vt(t);if(mt(e)){return t.ownerDocument?t.ownerDocument.body:t.body}if(ct(e)&<(e)){return e}return wt(e)}function bt(t,e,n){var o;if(e===void 0){e=[]}if(n===void 0){n=true}const s=wt(t);const i=s===((o=t.ownerDocument)==null?void 0:o.body);const r=ot(s);if(i){const t=xt(r);return e.concat(r,r.visualViewport||[],lt(s)?s:[],t&&n?bt(t):[])}return e.concat(s,bt(s,[],n))}function xt(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function kt(t){const e=yt(t);let n=parseFloat(e.width)||0;let o=parseFloat(e.height)||0;const s=ct(t);const i=s?t.offsetWidth:n;const r=s?t.offsetHeight:o;const c=y(n)!==i||y(o)!==r;if(c){n=i;o=r}return{width:n,height:o,$:c}}function At(t){return!rt(t)?t.contextElement:t}function Tt(t){const e=At(t);if(!ct(e)){return g(1)}const n=e.getBoundingClientRect();const{width:o,height:s,$:i}=kt(e);let r=(i?y(n.width):n.width)/o;let c=(i?y(n.height):n.height)/s;if(!r||!Number.isFinite(r)){r=1}if(!c||!Number.isFinite(c)){c=1}return{x:r,y:c}}const Ct=g(0);function Ot(t){const e=ot(t);if(!pt()||!e.visualViewport){return Ct}return{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function Pt(t,e,n){if(e===void 0){e=false}if(!n||e&&n!==ot(t)){return false}return e}function St(t,e,n,o){if(e===void 0){e=false}if(n===void 0){n=false}const s=t.getBoundingClientRect();const i=At(t);let r=g(1);if(e){if(o){if(rt(o)){r=Tt(o)}}else{r=Tt(t)}}const c=Pt(i,n,o)?Ot(i):g(0);let a=(s.left+c.x)/r.x;let l=(s.top+c.y)/r.y;let f=s.width/r.x;let u=s.height/r.y;if(i){const t=ot(i);const e=o&&rt(o)?ot(o):o;let n=t;let s=xt(n);while(s&&o&&e!==n){const t=Tt(s);const e=s.getBoundingClientRect();const o=yt(s);const i=e.left+(s.clientLeft+parseFloat(o.paddingLeft))*t.x;const r=e.top+(s.clientTop+parseFloat(o.paddingTop))*t.y;a*=t.x;l*=t.y;f*=t.x;u*=t.y;a+=i;l+=r;n=ot(s);s=xt(n)}}return H({width:f,height:u,x:a,y:l})}function Dt(t){let{elements:e,rect:n,offsetParent:o,strategy:s}=t;const i=s==="fixed";const r=st(o);const c=e?ut(e.floating):false;if(o===r||c&&i){return n}let a={scrollLeft:0,scrollTop:0};let l=g(1);const f=g(0);const u=ct(o);if(u||!u&&!i){if(nt(o)!=="body"||lt(r)){a=gt(o)}if(ct(o)){const t=St(o);l=Tt(o);f.x=t.x+o.clientLeft;f.y=t.y+o.clientTop}}return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-a.scrollLeft*l.x+f.x,y:n.y*l.y-a.scrollTop*l.y+f.y}}function jt(t){return Array.from(t.getClientRects())}function Rt(t,e){const n=gt(t).scrollLeft;if(!e){return St(st(t)).left+n}return e.left+n}function Lt(t){const e=st(t);const n=gt(t);const o=t.ownerDocument.body;const s=m(e.scrollWidth,e.clientWidth,o.scrollWidth,o.clientWidth);const i=m(e.scrollHeight,e.clientHeight,o.scrollHeight,o.clientHeight);let r=-n.scrollLeft+Rt(t);const c=-n.scrollTop;if(yt(o).direction==="rtl"){r+=m(e.clientWidth,o.clientWidth)-s}return{width:s,height:i,x:r,y:c}}function Mt(t,e){const n=ot(t);const o=st(t);const s=n.visualViewport;let i=o.clientWidth;let r=o.clientHeight;let c=0;let a=0;if(s){i=s.width;r=s.height;const t=pt();if(!t||t&&e==="fixed"){c=s.offsetLeft;a=s.offsetTop}}return{width:i,height:r,x:c,y:a}}function Bt(t,e){const n=St(t,true,e==="fixed");const o=n.top+t.clientTop;const s=n.left+t.clientLeft;const i=ct(t)?Tt(t):g(1);const r=t.clientWidth*i.x;const c=t.clientHeight*i.y;const a=s*i.x;const l=o*i.y;return{width:r,height:c,x:a,y:l}}function Ft(t,e,n){let o;if(e==="viewport"){o=Mt(t,n)}else if(e==="document"){o=Lt(st(t))}else if(rt(e)){o=Bt(e,n)}else{const n=Ot(t);o={...e,x:e.x-n.x,y:e.y-n.y}}return H(o)}function Ht(t,e){const n=vt(t);if(n===e||!rt(n)||mt(n)){return false}return yt(n).position==="fixed"||Ht(n,e)}function Et(t,e){const n=e.get(t);if(n){return n}let o=bt(t,[],false).filter((t=>rt(t)&&nt(t)!=="body"));let s=null;const i=yt(t).position==="fixed";let r=i?vt(t):t;while(rt(r)&&!mt(r)){const e=yt(r);const n=dt(r);if(!n&&e.position==="fixed"){s=null}const c=i?!n&&!s:!n&&e.position==="static"&&!!s&&["absolute","fixed"].includes(s.position)||lt(r)&&!n&&Ht(t,r);if(c){o=o.filter((t=>t!==r))}else{s=e}r=vt(r)}e.set(t,o);return o}function $t(t){let{element:e,boundary:n,rootBoundary:o,strategy:s}=t;const i=n==="clippingAncestors"?ut(e)?[]:Et(e,this._c):[].concat(n);const r=[...i,o];const c=r[0];const a=r.reduce(((t,n)=>{const o=Ft(e,n,s);t.top=m(o.top,t.top);t.right=p(o.right,t.right);t.bottom=p(o.bottom,t.bottom);t.left=m(o.left,t.left);return t}),Ft(e,c,s));return{width:a.right-a.left,height:a.bottom-a.top,x:a.left,y:a.top}}function zt(t){const{width:e,height:n}=kt(t);return{width:e,height:n}}function Wt(t,e,n){const o=ct(e);const s=st(e);const i=n==="fixed";const r=St(t,true,i,e);let c={scrollLeft:0,scrollTop:0};const a=g(0);if(o||!o&&!i){if(nt(e)!=="body"||lt(s)){c=gt(e)}if(o){const t=St(e,true,i,e);a.x=t.x+e.clientLeft;a.y=t.y+e.clientTop}else if(s){a.x=Rt(s)}}let l=0;let f=0;if(s&&!o&&!i){const t=s.getBoundingClientRect();f=t.top+c.scrollTop;l=t.left+c.scrollLeft-Rt(s,t)}const u=r.left+c.scrollLeft-a.x-l;const d=r.top+c.scrollTop-a.y-f;return{x:u,y:d,width:r.width,height:r.height}}function Nt(t){return yt(t).position==="static"}function It(t,e){if(!ct(t)||yt(t).position==="fixed"){return null}if(e){return e(t)}let n=t.offsetParent;if(st(t)===n){n=n.ownerDocument.body}return n}function Ut(t,e){const n=ot(t);if(ut(t)){return n}if(!ct(t)){let e=vt(t);while(e&&!mt(e)){if(rt(e)&&!Nt(e)){return e}e=vt(e)}return n}let o=It(t,e);while(o&&ft(o)&&Nt(o)){o=It(o,e)}if(o&&mt(o)&&Nt(o)&&!dt(o)){return n}return o||ht(t)||n}const _t=async function(t){const e=this.getOffsetParent||Ut;const n=this.getDimensions;const o=await n(t.floating);return{reference:Wt(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function Gt(t){return yt(t).direction==="rtl"}const Kt={convertOffsetParentRelativeRectToViewportRelativeRect:Dt,getDocumentElement:st,getClippingRect:$t,getOffsetParent:Ut,getElementRects:_t,getClientRects:jt,getDimensions:zt,getScale:Tt,isElement:rt,isRTL:Gt};const Vt=J;I;const Xt=Q;const Yt=U;tt;K;const qt=W;Y;Z;const Jt=(t,e,n)=>{const o=new Map;const s={platform:Kt,...n};const i={...s.platform,_c:o};return $(t,e,{...s,platform:i})};const Qt=(t,e,n)=>{const o=t.get(e);if(!o){t.set(e,[n])}else if(!o.includes(n)){o.push(n)}};const Zt=(t,e)=>{let n;return(...o)=>{if(n){clearTimeout(n)}n=setTimeout((()=>{n=0;t(...o)}),e)}};const te=t=>!("isConnected"in t)||t.isConnected;const ee=Zt((t=>{for(let e of t.keys()){t.set(e,t.get(e).filter(te))}}),2e3);const ne=()=>{if(typeof t!=="function"){return{}}const n=new Map;return{dispose:()=>n.clear(),get:e=>{const o=t();if(o){Qt(n,e,o)}},set:t=>{const o=n.get(t);if(o){n.set(t,o.filter(e))}ee(n)},reset:()=>{n.forEach((t=>t.forEach(e)));ee(n)}}};const oe=t=>typeof t==="function"?t():t;const se=(t,e=((t,e)=>t!==e))=>{const n=oe(t);let o=new Map(Object.entries(n!==null&&n!==void 0?n:{}));const s={dispose:[],get:[],set:[],reset:[]};const i=()=>{var e;o=new Map(Object.entries((e=oe(t))!==null&&e!==void 0?e:{}));s.reset.forEach((t=>t()))};const r=()=>{s.dispose.forEach((t=>t()));i()};const c=t=>{s.get.forEach((e=>e(t)));return o.get(t)};const a=(t,n)=>{const i=o.get(t);if(e(n,i,t)){o.set(t,n);s.set.forEach((e=>e(t,n,i)))}};const l=typeof Proxy==="undefined"?{}:new Proxy(n,{get(t,e){return c(e)},ownKeys(t){return Array.from(o.keys())},getOwnPropertyDescriptor(){return{enumerable:true,configurable:true}},has(t,e){return o.has(e)},set(t,e,n){a(e,n);return true}});const f=(t,e)=>{s[t].push(e);return()=>{ie(s[t],e)}};const u=(e,n)=>{const o=f("set",((t,o)=>{if(t===e){n(o)}}));const s=f("reset",(()=>n(oe(t)[e])));return()=>{o();s()}};const d=(...t)=>{const e=t.reduce(((t,e)=>{if(e.set){t.push(f("set",e.set))}if(e.get){t.push(f("get",e.get))}if(e.reset){t.push(f("reset",e.reset))}if(e.dispose){t.push(f("dispose",e.dispose))}return t}),[]);return()=>e.forEach((t=>t()))};const h=t=>{const e=o.get(t);s.set.forEach((n=>n(t,e,e)))};return{state:l,get:c,set:a,on:f,onChange:u,use:d,dispose:r,reset:i,forceUpdate:h}};const ie=(t,e)=>{const n=t.indexOf(e);if(n>=0){t[n]=t[t.length-1];t.length--}};const re=(t,e)=>{const n=se(t,e);n.use(ne());return n};const ce="nv-popover{display:inline-block;position:relative}nv-popover:has([fluid]:not([fluid=false])){display:block}nv-popover[strategy=fixed]{position:static}nv-popover>[data-scope=popover]{width:max-content;background-color:var(--components-popover-background);border-color:var(--components-popover-border);font-weight:var(--font-weight-medium-emphasis);border-width:1px;border-style:solid;border-radius:var(--popover-radius);padding:var(--popover-padding-y) var(--popover-padding-x);position:absolute;top:0;left:0;z-index:1;box-shadow:var(--popover-shadow-1-x) var(--popover-shadow-1-y) var(--popover-shadow-1-blur) -2px var(--popover-shadow-1-opacity), var(--popover-shadow-2-x) var(--popover-shadow-2-y) var(--popover-shadow-2-blur) var(--shadow-spread-lg-2) var(--popover-shadow-2-opacity)}nv-popover>[data-scope=popover][hidden]:not([hidden=false]){display:none}nv-popover>[data-scope=popover][data-strategy=fixed]{position:fixed;z-index:9999}nv-popover>[data-scope=popover]>[data-scope=arrow]{background-color:var(--components-popover-background);position:absolute;border-color:var(--components-popover-border);border-width:1px;border-style:solid;border-bottom-color:transparent;border-right-color:transparent;width:8px;height:8px;transform:rotate(45deg);border-radius:1px}nv-popover>[data-scope=popover]>[slot=content]{position:relative;z-index:1}nv-popover>slot-fb{display:none}";const ae=ce;const{state:le}=re({groups:new Map});const fe=class{constructor(t){n(this,t);this.openChanged=o(this,"openChanged",7);this.eventsAttached=false;this.open=false;this.triggerMode="click";this.placement="bottom";this.strategy="absolute";this.offset=6;this.hasArrow=false;this.disableFlip=false;this.shiftPadding=0;this.enterDelay=0;this.nested=false;this.handleClickOutside=t=>{var e;if(this.el.contains(t.target))return;if((e=this.triggerElement)===null||e===void 0?void 0:e.contains(t.target))return;this.open=false};this.clickEvents=[["click",()=>this.open=!this.open]];this.outsideClickEvents=[["click",this.handleClickOutside],["touchstart",this.handleClickOutside]];this.hoverEvents=[["focus",()=>{clearTimeout(this.hideTimeout);this.showTimeout=setTimeout((()=>this.open=true),this.enterDelay)}],["blur",()=>{clearTimeout(this.showTimeout);this.hideTimeout=setTimeout((()=>this.open=false),50)}],["mouseenter",()=>{clearTimeout(this.hideTimeout);this.showTimeout=setTimeout((()=>this.open=true),this.enterDelay)}],["mouseleave",()=>{clearTimeout(this.showTimeout);this.hideTimeout=setTimeout((()=>this.open=false),100)}]];this.closeEvents=[["keydown",t=>{if(t.key==="Escape"){this.open=false}}]];this.isAnimating=false}async show(){this.open=true}async hide(){this.open=false}async toggle(){this.open=!this.open}attachEventListeners(){if(this.triggerElement&&!this.eventsAttached){l(this.closeEvents,document,this);if(this.triggerMode==="click"){l(this.clickEvents,this.triggerElement,this);l(this.outsideClickEvents,document,this)}if(this.triggerMode==="hover"){l(this.hoverEvents,this.triggerElement,this)}this.eventsAttached=true}}positionPopover(){if(!this.triggerElement)return;Jt(this.triggerElement,this.popoverElement,{placement:this.placement,strategy:this.strategy,middleware:[Vt(this.offset),!this.disableFlip&&Yt({fallbackStrategy:"bestFit",crossAxis:true,fallbackPlacements:["bottom"]}),Xt({padding:this.shiftPadding}),this.hasArrow&&qt({element:this.arrowElement})]}).then((({x:t,y:e,placement:n,middlewareData:o,strategy:s})=>{Object.assign(this.popoverElement.style,{left:`${t}px`,top:`${e}px`,position:s});if(this.hasArrow){const t={top:"bottom",right:"left",bottom:"top",left:"right"}[n.split("-")[0]];const e={top:"rotate(225deg)",right:"rotate(315deg)",bottom:"rotate(45deg)",left:"rotate(135deg)"}[n.split("-")[0]];const{x:s,y:i}=o.arrow;Object.assign(this.arrowElement.style,{left:s!=null?`${s}px`:"",top:i!=null?`${i}px`:"",right:"",bottom:"",transform:e,[t]:"-4px"})}}))}handleOpenChanged(t){var e;if(this.triggerMode==="controlled")return;if(this.nested)return;if((e=t.target)===null||e===void 0?void 0:e.hasAttribute("nested"))return;if(t.target!==this.el&&t.detail===true)this.open=false}async handleOpenChange(t){while(this.isAnimating){await new Promise((t=>setTimeout(t,50)))}this.isAnimating=true;const e=le.groups.get(this.groupName);const n=e&&e.openedBy!==this.el;const o=e&&e.openedBy===this.el;if(t)this.popoverElement.style.removeProperty("display");if(o&&!t)le.groups.delete(this.groupName);if(this.groupName&&t)le.groups.set(this.groupName,{openedBy:this.el});const{growIn:s}=a(this.popoverElement,{duration:n?0:100,amount:.85});const{fadeOut:i}=c(this.popoverElement,{duration:n?0:100});if(t===true){this.popoverElement.removeAttribute("hidden");this.positionPopover();await s()}if(t===false){await i();this.popoverElement.setAttribute("hidden","")}this.isAnimating=false;this.openChanged.emit(t)}handleStrategyChange(){if(this.open){this.positionPopover()}}componentWillLoad(){if(!this.triggerElement)this.triggerElement=Array.from(this.el.children).find((t=>t.getAttribute("slot")==="trigger"))}componentWillUpdate(){this.attachEventListeners()}componentDidLoad(){if(!this.open){const{setGrowOut:t}=a(this.popoverElement);t()}else{const{setFadeIn:t}=c(this.popoverElement);t();this.popoverElement.removeAttribute("hidden")}this.positionPopover();this.attachEventListeners()}disconnectedCallback(){f(this.closeEvents,document,this);if(this.triggerMode==="click"){f(this.clickEvents,this.triggerElement,this);f(this.outsideClickEvents,document,this)}if(this.triggerMode==="hover")f(this.hoverEvents,this.triggerElement,this);this.eventsAttached=false;if(this.hideTimeout)clearTimeout(this.hideTimeout);if(this.showTimeout)clearTimeout(this.showTimeout)}render(){return s(i,{key:"dc7ef1862f1a1da4b32e02bee827f81545df73d1"},s("slot",{key:"7535c2ba2b1f600c237602c68a04c85fd9d6d98b",name:"trigger"}),s("div",{key:"8e7907e2fda20d35b00642eca0507aa20e56f7cb","data-scope":"popover","data-strategy":this.strategy,hidden:true,ref:t=>this.popoverElement=t},this.hasArrow&&s("div",{key:"4e081e84e9597b69351253d1c1b89c115cdcfd9a","data-scope":"arrow",ref:t=>this.arrowElement=t}),s("slot",{key:"5bcd80588e9746db974cee69c5963b698665d105",name:"content"})))}get el(){return r(this)}static get watchers(){return{open:["handleOpenChange"],strategy:["handleStrategyChange"]}}};fe.style=ae;export{fe as nv_popover};
|
|
2
|
-
//# sourceMappingURL=p-8c823928.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,c as r,h as o,H as t,g as i}from"./p-d0a33e64.js";import{v as n}from"./p-f5ff676c.js";const a='nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldtext{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box;max-width:480px}nv-fieldtext[fluid]:not([fluid=false]){max-width:unset}nv-fieldtext[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-fieldtext[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive-in-field)}nv-fieldtext[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-fieldtext[required]:not([required=false]) label::after{content:"*";color:var(--components-form-text-required);font-weight:700}nv-fieldtext>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-fieldtext>.input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch}nv-fieldtext>.input-wrapper .input-container{display:flex;flex-grow:1;justify-content:center;align-items:center;align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default, 1);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fieldtext>.input-wrapper .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldtext>.input-wrapper .input-container:focus-within,nv-fieldtext>.input-wrapper .input-container:focus-within:hover,nv-fieldtext>.input-wrapper .input-container:focus,nv-fieldtext>.input-wrapper .input-container:focus:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fieldtext>.input-wrapper .input-container:has(input:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fieldtext>.input-wrapper .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldtext>.input-wrapper .input-container>[slot=leading-input]{display:block;margin-left:var(--form-field-padding-x)}nv-fieldtext>.input-wrapper .input-container input{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);padding:var(--form-field-padding-y) var(--form-field-padding-x);font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height);width:100%;}nv-fieldtext>.input-wrapper .input-container input:focus{outline:none}nv-fieldtext>.input-wrapper .input-container input::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:"TT Norms Pro", sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:400;line-height:var(--form-field-line-height)}nv-fieldtext>.input-wrapper .input-container input[type=password]::-ms-clear,nv-fieldtext>.input-wrapper .input-container input[type=password]::-ms-reveal{display:none;width:0;height:0}nv-fieldtext>.input-wrapper .input-container nv-icon.validation{color:var(--nv-field-border-default);margin-right:var(--form-gap-x)}nv-fieldtext>.input-wrapper .input-container>[slot=trailing-input]{display:block;margin-right:var(--form-field-padding-x)}nv-fieldtext>.description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fieldtext>.error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}';const l=a;const d=class{constructor(o){e(this,o);this.valueChanged=r(this,"valueChanged",7);this.inputId=n();this.type="text";this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.success=false;this.multiple=false;this.autofocus=false;this.fluid=false;this.handleInput=e=>{const r=e.target;this.value=r.value;this.valueChanged.emit(r.value)};this.handleInputContainerClick=()=>{this.inputElement.focus()}}componentWillRender(){if(this.textInputType){this.type=this.textInputType}if(this.message){this.description=this.message}if(this.validation){this.errorDescription=this.validation;this.error=true}}render(){return o(t,{key:"c807258b41bcaada1a02abf56171f84a4dadc981"},(this.label||this.el.querySelector('[slot="label"]'))&&o("label",{key:"9ba74a42aaddc54af913d8e9a76ad596f0b0ca02",htmlFor:this.inputId},o("slot",{key:"7b0c763c5034807aceaf883dc8a7097cc5d21586",name:"label"},this.label)),o("div",{key:"89396cfa77b11ea2499292448f43303ec1419432",class:"input-wrapper"},o("slot",{key:"0574e6280a9f8575a555ed71cb380f8d622019a3",name:"before-input"}),o("div",{key:"a7822f74ded6e21992ebf15afbbcaea449195c6a",class:"input-container",onClick:this.handleInputContainerClick},o("slot",{key:"af6789b67cea21c9445bd1000fa582c092daccf6",name:"leading-input"}),o("input",{key:"00118f95a1555d601cf5de2b4703e064dc31250a",id:this.inputId,ref:e=>this.inputElement=e,placeholder:this.placeholder,name:this.name,type:this.type,disabled:this.disabled,readOnly:this.readonly,required:this.required,maxlength:this.maxlength,minlength:this.minlength,pattern:this.pattern,autofocus:this.autofocus,autocomplete:this.autocomplete,multiple:this.multiple,value:this.value,onInput:this.handleInput}),o("slot",{key:"67e4fecbfd6c938e77b98416d0d6229993ec4592",name:"trailing-input"}),this.error&&o("nv-icon",{key:"5f11f64460e003859fefffa904c70719ebf87a26",name:"alert-circle",class:"validation",size:"md"}),this.success&&o("nv-icon",{key:"161fec1690c7672be64684c0121a802406b1d30b",name:"circle-check",class:"validation",size:"md"})),o("slot",{key:"05d808bc7c372d5c911d03c074c89a829e42083b",name:"after-input"})),(this.description||this.el.querySelector('[slot="description"]'))&&o("div",{key:"07818a5aec0540a8758ccdfc32dbc15129adf5e9",class:"description"},o("slot",{key:"cc7b3a9086b4afae71c25964a92ea2ed5f07813a",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&o("div",{key:"a313507b2c8f88c5d7304513b84f9bb360886961",hidden:!this.error,class:"error-description"},o("slot",{key:"796a5b0c0df37196a4c71bef6a35814fff1eae47",name:"error-description"},this.errorDescription)))}static get formAssociated(){return true}get el(){return i(this)}};d.style=l;export{d as nv_fieldtext};
|
|
2
|
-
//# sourceMappingURL=p-92931ab8.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,c as o,f as n,h as t,H as i,g as s}from"./p-d0a33e64.js";const r="nv-accordion{display:block;border:var(--spacing-px) solid var(--color-content-low-border);border-radius:var(--radius-rounded-lg)}nv-accordion .nv-accordion__footer{padding:var(--spacing-3);background:var(--color-level-05-background);border-radius:0 0 var(--radius-rounded-lg) var(--radius-rounded-lg);margin-top:calc(var(--spacing-px) * -1);border-top:var(--spacing-px) solid var(--color-content-low-border)}nv-accordion .nv-accordion__footer:empty{display:none}";const a=r;const d=class{constructor(n){e(this,n);this.openChanged=o(this,"openChanged",7);this.data=[];this.mode="accordion";this.openIndexes=[];this.updatingFromInternal=false}async open(e){this.toggleItem(e,true)}async close(e){this.toggleItem(e,false)}toggleItem(e,o){const n=Array.from(this.el.querySelectorAll("nv-accordion-item"));const t=n[e];if(!t||t.disabled){console.warn("[toggleItem] Item not found or disabled:",e);this.openChanged.emit({openIndexes:[...this.openIndexes||[]]});return}let i=[...this.openIndexes||[]];const s=i.includes(e);if(this.mode==="accordion"){i=o===false||o===undefined&&s?[]:[e]}else{if(o===false){i=i.filter((o=>o!==e))}else if(o===true&&!s){i.push(e)}else if(o===undefined){i=s?i.filter((o=>o!==e)):[...i,e]}}this.updatingFromInternal=true;this.openIndexes=[...i];this.updateChildrenState();this.updatingFromInternal=false;this.openChanged.emit({openIndexes:[...i]})}async updateChildrenState(){const e=Array.from(this.el.querySelectorAll("nv-accordion-item"));e.forEach(((e,o)=>{const t=(this.openIndexes||[]).includes(o);e.open=t;e.mode=this.mode;e.setAttribute("aria-expanded",t?"true":"false");n(e)}))}onItemToggle(e){if(this.updatingFromInternal){return}const o=Array.from(this.el.querySelectorAll("nv-accordion-item"));const n=e.target;const t=o.indexOf(n);if(t!==-1){this.toggleItem(t,e.detail)}else{console.warn("[onItemToggle] Target item not found in items list")}}onOpenIndexesChange(e,o){if(!this.updatingFromInternal&&e!==undefined&&e!==o){this.updateChildrenState()}}onModeChange(){this.updateChildrenState()}componentWillLoad(){if(this.openIndexes===undefined){this.openIndexes=[]}}async componentDidLoad(){var e;const o=Array.from(this.el.querySelectorAll("nv-accordion-item"));if(!((e=this.data)===null||e===void 0?void 0:e.length)&&(!this.openIndexes||this.openIndexes.length===0)){const e=o.map(((e,o)=>e.hasAttribute("open")||e.open?o:-1)).filter((e=>e!==-1));if(e.length>0){this.updatingFromInternal=true;this.openIndexes=[...e];this.updatingFromInternal=false;this.openChanged.emit({openIndexes:[...this.openIndexes]})}}await this.updateChildrenState()}render(){var e;return t(i,{key:"b5c36f19bcbd0d06e9d924ae6f9630b8b6cae05a",role:"list",class:"nv-accordion"},((e=this.data)===null||e===void 0?void 0:e.length)?this.data.map(((e,o)=>{var n;return t("nv-accordion-item",{key:(n=e.id)!==null&&n!==void 0?n:o,itemTitle:e.title,disabled:e.disabled,open:(this.openIndexes||[]).includes(o),mode:this.mode},e.subtitle?t("div",{slot:"header"},t("div",{class:"nv-accordion-item__header-content"},t("span",{class:"nv-accordion-item__title"},e.title),t("span",{class:"nv-accordion-item__subtitle"},e.subtitle))):null,t("div",{slot:"content"},e.content),e.footer&&t("div",{slot:"footer"},e.footer))})):t("slot",null))}get el(){return s(this)}static get watchers(){return{openIndexes:["onOpenIndexesChange"],mode:["onModeChange"]}}};d.style=a;export{d as nv_accordion};
|
|
2
|
-
//# sourceMappingURL=p-9a46baa9.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["nvAccordionCss","NvAccordionStyle0","NvAccordion","constructor","hostRef","this","data","mode","openIndexes","updatingFromInternal","open","index","toggleItem","close","forceOpen","items","Array","from","el","querySelectorAll","item","disabled","console","warn","openChanged","emit","isOpen","includes","undefined","filter","i","push","updateChildrenState","forEach","shouldBeOpen","setAttribute","forceUpdate","onItemToggle","event","targetItem","target","indexOf","detail","onOpenIndexesChange","newValue","oldValue","onModeChange","componentWillLoad","componentDidLoad","_a","length","childOpenIndexes","map","hasAttribute","render","h","Host","key","role","class","id","itemTitle","title","subtitle","slot","content","footer"],"sources":["src/components/nv-accordion/styles/nv-accordion.scss?tag=nv-accordion","src/components/nv-accordion/nv-accordion.tsx"],"sourcesContent":["@use \"./mixins\" as *;\n\nnv-accordion {\n @include accordion-root();\n\n .nv-accordion__footer {\n @include accordion-footer();\n\n &:empty {\n @include accordion-footer-empty();\n }\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Event,\n EventEmitter,\n Method,\n Listen,\n Element,\n forceUpdate,\n Watch,\n} from '@stencil/core';\n\n/**\n * @slot default - Slot for custom content (optional, ignored if data is provided)\n */\n@Component({\n tag: 'nv-accordion',\n styleUrl: 'styles/nv-accordion.scss',\n shadow: false,\n})\nexport class NvAccordion {\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Data to display as a list of items (title, subtitle, content).\n */\n @Prop({ reflect: false })\n readonly data: {\n /** Unique identifier of the item */\n id: string;\n /** Item title */\n title: string;\n /** Optional subtitle */\n subtitle?: string;\n /** Main content */\n content: string;\n /** Optional footer */\n footer?: string;\n /** Disabled state */\n disabled?: boolean;\n }[] = [];\n\n /**\n * Expansion mode: 'accordion' (single open) or 'multi' (multiple open)\n */\n @Prop({ reflect: true })\n readonly mode: 'accordion' | 'multi' = 'accordion';\n\n /**\n * Index of open items (external control possible)\n */\n @Prop({ reflect: false, mutable: true })\n openIndexes?: number[] = [];\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region STATE\n\n @State()\n private updatingFromInternal: boolean = false;\n\n /**\n * Reference to host element to access children\n */\n @Element() el!: HTMLNvAccordionElement;\n\n //#endregion STATE\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Event emitted when an item's open state changes\n */\n @Event()\n openChanged: EventEmitter<{\n /** Index of open items */\n openIndexes: number[];\n }>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Opens an item by its index (Public API)\n * @param {number} index Index of the item to open\n */\n @Method()\n async open(index: number) {\n this.toggleItem(index, true);\n }\n\n /**\n * Closes an item by its index (Public API)\n * @param {number} index Index of the item to close\n */\n @Method()\n async close(index: number) {\n this.toggleItem(index, false);\n }\n\n /**\n * Toggles an item's state (internal)\n * @param {number} index Item index\n * @param {boolean} [forceOpen] Force open (true) or close (false)\n */\n private toggleItem(index: number, forceOpen?: boolean) {\n const items = Array.from(\n this.el.querySelectorAll('nv-accordion-item'),\n ) as HTMLNvAccordionItemElement[];\n const item = items[index];\n\n if (!item || item.disabled) {\n console.warn('[toggleItem] Item not found or disabled:', index);\n this.openChanged.emit({ openIndexes: [...(this.openIndexes || [])] });\n return;\n }\n\n let openIndexes = [...(this.openIndexes || [])];\n const isOpen = openIndexes.includes(index);\n\n if (this.mode === 'accordion') {\n openIndexes =\n forceOpen === false || (forceOpen === undefined && isOpen)\n ? []\n : [index];\n } else {\n if (forceOpen === false) {\n openIndexes = openIndexes.filter(i => i !== index);\n } else if (forceOpen === true && !isOpen) {\n openIndexes.push(index);\n } else if (forceOpen === undefined) {\n openIndexes = isOpen\n ? openIndexes.filter(i => i !== index)\n : [...openIndexes, index];\n }\n }\n\n this.updatingFromInternal = true;\n this.openIndexes = [...openIndexes];\n this.updateChildrenState();\n this.updatingFromInternal = false;\n\n this.openChanged.emit({ openIndexes: [...openIndexes] });\n }\n\n /**\n * Updates the open state of child elements based on openIndexes\n */\n private async updateChildrenState() {\n const items = Array.from(\n this.el.querySelectorAll('nv-accordion-item'),\n ) as HTMLNvAccordionItemElement[];\n\n items.forEach((item, i) => {\n const shouldBeOpen = (this.openIndexes || []).includes(i);\n item.open = shouldBeOpen;\n item.mode = this.mode;\n item.setAttribute('aria-expanded', shouldBeOpen ? 'true' : 'false');\n forceUpdate(item);\n });\n }\n\n /**\n * Listens to itemToggle events from nv-accordion-item elements\n * @param {CustomEvent<boolean>} event Event emitted by nv-accordion-item\n */\n @Listen('itemToggle')\n onItemToggle(event: CustomEvent<boolean>) {\n if (this.updatingFromInternal) {\n return;\n }\n\n const items = Array.from(\n this.el.querySelectorAll('nv-accordion-item'),\n ) as HTMLNvAccordionItemElement[];\n const targetItem = event.target as HTMLNvAccordionItemElement;\n const index = items.indexOf(targetItem);\n\n if (index !== -1) {\n this.toggleItem(index, event.detail);\n } else {\n console.warn('[onItemToggle] Target item not found in items list');\n }\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('openIndexes')\n onOpenIndexesChange(\n newValue: number[] | undefined,\n oldValue: number[] | undefined,\n ) {\n if (\n !this.updatingFromInternal &&\n newValue !== undefined &&\n newValue !== oldValue\n ) {\n this.updateChildrenState();\n }\n }\n\n @Watch('mode')\n onModeChange() {\n this.updateChildrenState();\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n if (this.openIndexes === undefined) {\n this.openIndexes = [];\n }\n }\n\n async componentDidLoad() {\n const items = Array.from(\n this.el.querySelectorAll('nv-accordion-item'),\n ) as HTMLNvAccordionItemElement[];\n\n // Only initialize openIndexes from child items if no data is provided and openIndexes is not explicitly set\n if (\n !this.data?.length &&\n (!this.openIndexes || this.openIndexes.length === 0)\n ) {\n const childOpenIndexes = items\n .map((item, i) => (item.hasAttribute('open') || item.open ? i : -1))\n .filter(i => i !== -1);\n\n if (childOpenIndexes.length > 0) {\n this.updatingFromInternal = true;\n this.openIndexes = [...childOpenIndexes];\n this.updatingFromInternal = false;\n\n this.openChanged.emit({ openIndexes: [...this.openIndexes] });\n }\n }\n\n // Ensure children are in sync with current openIndexes state\n await this.updateChildrenState();\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host role=\"list\" class=\"nv-accordion\">\n {this.data?.length ? (\n this.data.map((item, i) => (\n <nv-accordion-item\n key={item.id ?? i}\n itemTitle={item.title}\n disabled={item.disabled}\n open={(this.openIndexes || []).includes(i)}\n mode={this.mode}\n >\n {item.subtitle ? (\n <div slot=\"header\">\n <div class=\"nv-accordion-item__header-content\">\n <span class=\"nv-accordion-item__title\">{item.title}</span>\n <span class=\"nv-accordion-item__subtitle\">\n {item.subtitle}\n </span>\n </div>\n </div>\n ) : null}\n <div slot=\"content\">{item.content}</div>\n {item.footer && <div slot=\"footer\">{item.footer}</div>}\n </nv-accordion-item>\n ))\n ) : (\n <slot></slot>\n )}\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,H as i,g as n}from"./p-d0a33e64.js";import{I as a}from"./p-53aa81dd.js";import{v as o}from"./p-f5ff676c.js";import"./p-0462f723.js";const s='nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fielddaterange{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box;max-width:480px}nv-fielddaterange[fluid]:not([fluid=false]){max-width:unset}nv-fielddaterange[readonly]:not([readonly=false]){--nv-field-border-default:var(--components-form-field-border-readonly);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-background:var(--components-form-field-background-readonly)}nv-fielddaterange[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive-in-field)}nv-fielddaterange[success]:not([success=false]){--nv-field-border-default:var(--components-form-field-border-success);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-success)}nv-fielddaterange[required]:not([required=false]) label::after{content:"*";color:var(--components-form-text-required);font-weight:700}nv-fielddaterange label{display:flex;align-items:center;gap:var(--form-label-gap);align-self:stretch;color:var(--components-form-text-label-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-label-font-size);font-style:normal;font-weight:500;line-height:var(--form-label-line-height)}nv-fielddaterange nv-popover{width:100%;display:block}nv-fielddaterange nv-popover [data-scope=popover]{padding:0;background-color:var(--components-list-dropdown-background);border:1px solid var(--components-list-dropdown-border);width:auto;z-index:2}nv-fielddaterange nv-popover [slot=content]{display:block;width:100%}nv-fielddaterange .input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch;display:flex;align-items:center;gap:8px}nv-fielddaterange .input-wrapper .input-container{display:flex;flex-grow:1;justify-content:center;align-items:center;align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default, 1);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fielddaterange .input-wrapper .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fielddaterange .input-wrapper .input-container:focus-within,nv-fielddaterange .input-wrapper .input-container:focus-within:hover,nv-fielddaterange .input-wrapper .input-container:focus,nv-fielddaterange .input-wrapper .input-container:focus:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fielddaterange .input-wrapper .input-container:has(input:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fielddaterange .input-wrapper .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fielddaterange .input-wrapper .input-container:focus-within,nv-fielddaterange .input-wrapper .input-container:focus-within:hover,nv-fielddaterange .input-wrapper .input-container:focus,nv-fielddaterange .input-wrapper .input-container:focus:hover{box-shadow:none;border-color:var(--nv-field-border-default)}nv-fielddaterange .input-wrapper .input-container input{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);padding:var(--form-field-padding-y) var(--form-field-padding-x);font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height);width:100%;width:100%}nv-fielddaterange .input-wrapper .input-container input:focus{outline:none}nv-fielddaterange .input-wrapper .input-container input::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:"TT Norms Pro", sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:400;line-height:var(--form-field-line-height)}nv-fielddaterange .input-wrapper .input-container input[type=password]::-ms-clear,nv-fielddaterange .input-wrapper .input-container input[type=password]::-ms-reveal{display:none;width:0;height:0}nv-fielddaterange .input-wrapper .input-container input:focus-within,nv-fielddaterange .input-wrapper .input-container input:focus-within:hover,nv-fielddaterange .input-wrapper .input-container input:focus,nv-fielddaterange .input-wrapper .input-container input:focus:hover{outline:var(--focus-outline-stroke) solid var(--nv-field-border-focus);outline-offset:0px}nv-fielddaterange .input-wrapper .input-container input:focus-within~.range-separator,nv-fielddaterange .input-wrapper .input-container input:focus-within:hover~.range-separator,nv-fielddaterange .input-wrapper .input-container input:focus~.range-separator,nv-fielddaterange .input-wrapper .input-container input:focus:hover~.range-separator{background-color:transparent}nv-fielddaterange .input-wrapper .input-container>nv-iconbutton{border:0px;border-radius:0px}nv-fielddaterange .input-wrapper .input-container>nv-iconbutton:focus-visible{border-radius:var(--button-md-border-radius);outline-offset:-3px}nv-fielddaterange .input-wrapper .input-container>nv-iconbutton:last-of-type{border-top-right-radius:var(--form-field-radius);border-bottom-right-radius:var(--form-field-radius)}nv-fielddaterange .input-wrapper .input-container nv-icon.validation{color:var(--nv-field-border-default)}nv-fielddaterange .description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fielddaterange .error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}nv-fielddaterange .range-inputs{display:flex;align-items:center;gap:0;width:100%;z-index:1}nv-fielddaterange .range-inputs input{flex:1;border:none;outline:none;padding:0;font-size:var(--form-field-font-size);color:var(--components-form-field-content-text);background:transparent;min-width:0}nv-fielddaterange .range-inputs input::placeholder{color:var(--components-form-field-content-placeholder)}nv-fielddaterange .range-inputs input:disabled{cursor:not-allowed;color:var(--components-form-field-content-text);background-color:var(--components-form-field-background-disabled)}nv-fielddaterange .range-inputs .range-separator{width:1px;height:1.5rem;background-color:var(--color-content-medium-border)}';const d=s;const l=class{constructor(t){e(this,t);this.dateRangeChange=r(this,"dateRangeChange",7);this.valueChanged=r(this,"valueChanged",7);this.popoverId=o();this.startInputId=o();this.endInputId=o();this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.success=false;this.autofocus=false;this.value="";this.startValue="";this.endValue="";this.open=false;this.firstDayOfWeek=1;this.numberOfCalendars=2;this.min="";this.max="";this.locale="en-BE";this.dateFormat="YYYY-MM-DD";this.shortcutsPlacement="bottom";this.showActions=false;this.fluid=false;this.parseUnifiedValue=e=>{if(!e){this.startValue="";this.endValue="";return}const r=e.split(",").map((e=>e.trim())).filter(Boolean);if(r.length>=2){this.startValue=r[0];this.endValue=r[1]}};this.handleClickOutside=e=>{if(this.open&&this.el&&!this.el.contains(e.target)){this.open=false}};this.handleStartInput=e=>{if(this.readonly||this.disabled){e.preventDefault();return}const r=e.target;this.startValue=r.value;this.value=`${r.value},${this.endValue}`;if(this.calendarElement){this.calendarElement.removeAttribute("data-prevent-navigation");this.updateCalendarValue();setTimeout((()=>{if(this.calendarElement){this.calendarElement.setAttribute("data-prevent-navigation","true")}}),100)}};this.handleEndInput=e=>{if(this.readonly||this.disabled){e.preventDefault();return}const r=e.target;this.endValue=r.value;this.value=`${this.startValue},${r.value}`;if(this.calendarElement){this.calendarElement.removeAttribute("data-prevent-navigation");this.updateCalendarValue();setTimeout((()=>{if(this.calendarElement){this.calendarElement.setAttribute("data-prevent-navigation","true")}}),100)}};this.handleFocus=e=>{if(this.readonly||this.disabled){e.preventDefault();e.target.blur();return}if(this.calendarElement){this.calendarElement.removeAttribute("data-prevent-navigation")}this.open=true;setTimeout((()=>{if(this.calendarElement){this.calendarElement.setAttribute("data-prevent-navigation","true")}}),300)};this.toggleCalendar=()=>{if(this.readonly||this.disabled){return}this.open=!this.open}}convertToInputmaskFormat(e){if(!e){return"dd/mm/yyyy"}const r={"YYYY-MM-DD":"yyyy-mm-dd","DD/MM/YYYY":"dd/mm/yyyy","MM/DD/YYYY":"mm/dd/yyyy","DD.MM.YYYY":"dd.mm.yyyy",YYYYMMDD:"yyyymmdd"};return r[e]||"dd/mm/yyyy"}updateCalendarValue(){}async clear(){this.startValue="";this.endValue="";this.value="";const e=this.el.querySelectorAll(".input-wrapper input");e.forEach((e=>{e.value="";if(e.inputmask){e.inputmask.remove()}}));this.valueChanged.emit("");this.dateRangeChange.emit({start:"",end:""});this.open=false;if(this.calendarElement){this.calendarElement.clear()}}updateMask(){const e=this.el.querySelectorAll(".input-wrapper input");e.forEach((e=>{var r,t;(t=(r=e.inputmask)===null||r===void 0?void 0:r.remove)===null||t===void 0?void 0:t.call(r);const i=new a({alias:"datetime",inputFormat:this.convertToInputmaskFormat(this.dateFormat),placeholder:this.convertToInputmaskFormat(this.dateFormat),clearIncomplete:false,showMaskOnHover:false,showMaskOnFocus:true,clearMaskOnLostFocus:!this.open,postValidation:true,oncleared:e=>{const r=e.target;if(r.id===this.startInputId){this.startValue=""}if(r.id===this.endInputId){this.endValue=""}},oncomplete:()=>{if(/[a-zA-Z]/g.test(this.value))return;const r=this.value.split(",").map((e=>e.trim())).filter(Boolean);if(r.length<2)return;this.valueChanged.emit(this.value);this.dateRangeChange.emit({start:this.startValue,end:e.value})}});i.mask(e)}))}connectedCallback(){document.addEventListener("click",this.handleClickOutside)}componentWillLoad(){if(this.value){this.parseUnifiedValue(this.value)}}componentDidLoad(){this.updateMask();const e=this.el.querySelectorAll(".input-wrapper input");e.forEach((e=>{if(e.name===this.startName&&this.startValue){requestAnimationFrame((()=>{e.value=this.startValue;const r=new CustomEvent("input",{bubbles:true});e.dispatchEvent(r)}))}else if(e.name===this.endName&&this.endValue){requestAnimationFrame((()=>{e.value=this.endValue;const r=new CustomEvent("input",{bubbles:true});e.dispatchEvent(r)}))}}))}componentDidRender(){const e=this.el.querySelectorAll(".input-wrapper input");e.forEach((e=>{const r=e.name===this.startName?this.startValue:this.endName?this.endValue:"";if(r){requestAnimationFrame((()=>{e.value=r;e.setAttribute("value",r)}))}}))}disconnectedCallback(){document.removeEventListener("click",this.handleClickOutside)}handleRangeDateChange(e){const{start:r,end:t}=e.detail||{};if(r&&t){this.startValue=r;this.endValue=t;this.value=`${r},${t}`;this.valueChanged.emit(this.value);this.dateRangeChange.emit({start:this.startValue,end:this.endValue});if(!this.showActions){this.open=false}}}handleCalendarValueChanged(e){const r=e.detail||"";if(r!==this.value){this.value=r;this.valueChanged.emit(r);this.parseUnifiedValue(r);this.dateRangeChange.emit({start:this.startValue,end:this.endValue})}}handleClosePopover(){this.open=false}handleApplyDateRange(){this.open=false}handleDateReset(e){const r=e.type==="singleDateChange"&&e.detail==="";const t=e.type==="rangeDateChange"&&e.detail&&e.detail.start===""&&e.detail.end==="";if(r||t){this.startValue="";this.endValue="";this.value="";this.valueChanged.emit("");const e=this.el.querySelectorAll(".input-wrapper input");e.forEach((e=>{e.value=""}));this.dateRangeChange.emit({start:"",end:""})}}handleKeyDown(e){if(!this.open){if(e.key==="ArrowDown"){this.open=true;e.preventDefault();return}return}if(!this.popoverElement){console.warn("nv-fielddaterange -> Popover element is not defined");return}}handleValueChange(e){this.parseUnifiedValue(e)}onOpenChanged(e){this.updateMask();if(this.contentRef){if(e){this.contentRef.style.transition="none";this.contentRef.style.maxHeight="0px";requestAnimationFrame((()=>{this.contentRef.style.transition="max-height 0.18s cubic-bezier(0.4,0,0.2,1)";this.contentRef.style.maxHeight=this.contentRef.scrollHeight+"px"}))}else{this.contentRef.style.transition="none";this.contentRef.style.maxHeight=this.contentRef.scrollHeight+"px";requestAnimationFrame((()=>{this.contentRef.style.transition="max-height 0.18s cubic-bezier(0.4,0,0.2,1)";this.contentRef.style.maxHeight="0px"}))}}}render(){return t(i,{key:"1f11c1e95c0e1cdc54cc0fc22c6bb3c629d35560"},(this.label&&this.label.length>0||this.el.querySelector('[slot="label"]'))&&t("label",{key:"b7f2d251de0f4e9e8429095d0c74197a963ddb45",htmlFor:this.startInputId},t("slot",{key:"bdf0f487baf834fcfb48f81a5d4ba0ad786961f2",name:"label"},this.label)),t("nv-popover",{key:"cc25f182c4f6fb8dc5a8d70c9f6a5ab28eaf05bc",ref:e=>this.popoverElement=e,id:this.popoverId,triggerMode:"controlled",placement:"bottom-start",open:this.open},t("div",{key:"c2e0214f5e66baf986dcd4de7ea8a83044f90185",slot:"trigger",class:"input-wrapper"},t("slot",{key:"341b161e3b993305e4ddd6bdfa9138cefd5a8b06",name:"before-input"}),t("div",{key:"4ebf9b5ea2c188cd5b4e12bcdd800d040339ac41",class:"input-container"},t("slot",{key:"af19b28485924209146b42db39ec1295609e96e1",name:"leading-input"}),t("div",{key:"93bb5f085cc3da0eb81794bf106597c90b80be09",class:"range-inputs"},t("input",{key:"3a6143d6480bf57b4d3118cb293de529f4443c64",id:this.startInputId,type:"text",placeholder:this.startPlaceholder||this.convertToInputmaskFormat(this.dateFormat),name:this.startName,disabled:this.disabled,readOnly:this.readonly,required:this.required,autofocus:this.autofocus,value:this.startValue,onInput:this.handleStartInput,onFocus:this.handleFocus,"data-scope":"date-range"}),t("div",{key:"5b719fa2d4cf0505a2198fcbfb0aed622f3cd1d8",class:"range-separator"}),t("input",{key:"a126155bb80bcc9926e7b6eae9c02a7f88c447ef",id:this.endInputId,type:"text",placeholder:this.endPlaceholder||this.convertToInputmaskFormat(this.dateFormat),name:this.endName,disabled:this.disabled,readOnly:this.readonly,required:this.required,value:this.endValue,onInput:this.handleEndInput,onFocus:this.handleFocus,"data-scope":"date-range"})),this.error&&t("nv-icon",{key:"bb7ae5511eb9f2dbba73376ad36063a2143336a6",name:"alert-circle",class:"validation",size:"md"}),this.success&&t("nv-icon",{key:"0762e12a2686d58734b00e7fcc176231696d2e31",name:"circle-check",class:"validation",size:"md"}),t("nv-iconbutton",{key:"dca1f92d86b3e09d3826c8042c730f2ac1cc51d7",class:"toggle-calendar-icon",name:"calendar",size:"md",emphasis:"lower","aria-label":this.open?"Hide calendar":"Show calendar","aria-pressed":this.open.toString(),onClick:this.toggleCalendar,tabIndex:this.disabled?-1:0})),t("slot",{key:"ef46e31ef47bb2b9aa485b69b65af2ec93ba94ab",name:"after-input"})),t("div",{key:"b96f6ee83f4d00a1cc74cc2a03a731a557c6fda5",slot:"content"},t("nv-calendar",{key:"0f7222572196deeb5c40899fea3b97dc12180665",ref:e=>this.calendarElement=e,dateFormat:this.dateFormat,value:this.value,firstDayOfWeek:this.firstDayOfWeek,numberOfCalendars:this.numberOfCalendars,min:this.min,max:this.max,locale:this.locale,shortcutsPlacement:this.shortcutsPlacement,showActions:this.showActions,shortcuts:this.shortcuts,showWeekNumbers:this.showWeekNumbers,disabledDates:this.disabledDates,selectionType:"range","data-prevent-navigation":"true"}))),(this.description&&this.description.length>0||this.el.querySelector('[slot="description"]'))&&t("div",{key:"17b857ca9a4529b8febd98a9477a6b176c7ba931",class:"description"},t("slot",{key:"c03f5413d16ca9adac251ad68d5f7a817520a5d9",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&t("div",{key:"4d246d32982bf90043fd3c46a24a2eebd9e2ecd7",hidden:!this.error,class:"error-description"},this.el.querySelector('[slot="error-description"]')?t("slot",{name:"error-description"}):this.errorDescription),t("slot",{key:"7cbbc91895e1772e0b1750e61db78b97285f8b85"}))}get el(){return n(this)}static get watchers(){return{value:["handleValueChange"],open:["onOpenChanged"]}}};l.style=d;export{l as nv_fielddaterange};
|
|
2
|
-
//# sourceMappingURL=p-a34beedf.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["nvFielddaterangeCss","NvFielddaterangeStyle0","NvFielddaterange","constructor","hostRef","this","popoverId","uuidv4","startInputId","endInputId","disabled","readonly","required","error","success","autofocus","value","startValue","endValue","open","firstDayOfWeek","numberOfCalendars","min","max","locale","dateFormat","shortcutsPlacement","showActions","fluid","parseUnifiedValue","values","split","map","v","trim","filter","Boolean","length","handleClickOutside","event","el","contains","target","handleStartInput","preventDefault","input","calendarElement","removeAttribute","updateCalendarValue","setTimeout","setAttribute","handleEndInput","handleFocus","blur","toggleCalendar","convertToInputmaskFormat","format","formatMap","YYYYMMDD","clear","inputs","querySelectorAll","forEach","inputmask","remove","valueChanged","emit","dateRangeChange","start","end","updateMask","_b","_a","call","inputMask","Inputmask","alias","inputFormat","placeholder","clearIncomplete","showMaskOnHover","showMaskOnFocus","clearMaskOnLostFocus","postValidation","oncleared","e","id","oncomplete","test","mask","connectedCallback","document","addEventListener","componentWillLoad","componentDidLoad","name","startName","requestAnimationFrame","CustomEvent","bubbles","dispatchEvent","endName","componentDidRender","disconnectedCallback","removeEventListener","handleRangeDateChange","detail","handleCalendarValueChanged","newValue","handleClosePopover","handleApplyDateRange","handleDateReset","isResetSingle","type","isResetRange","handleKeyDown","key","popoverElement","console","warn","handleValueChange","onOpenChanged","contentRef","style","transition","maxHeight","scrollHeight","render","h","Host","label","querySelector","htmlFor","ref","triggerMode","placement","slot","class","startPlaceholder","readOnly","onInput","onFocus","endPlaceholder","size","emphasis","toString","onClick","tabIndex","shortcuts","showWeekNumbers","disabledDates","selectionType","description","errorDescription","hidden"],"sources":["src/components/nv-fielddaterange/styles/nv-fielddaterange.scss?tag=nv-fielddaterange","src/components/nv-fielddaterange/nv-fielddaterange.tsx"],"sourcesContent":["@import '../../../styles/form-field';\n@import './mixins';\n\nnv-fielddaterange {\n @include form-field-variables();\n @include form-field-root();\n\n &[fluid]:not([fluid='false']) {\n @include form-field-fluid();\n }\n\n &[readonly]:not([readonly='false']) {\n @include form-field-readonly-variables();\n }\n\n &[error]:not([error='false']) {\n @include form-field-error-variables();\n }\n\n &[success]:not([success='false']) {\n @include form-field-success-variables();\n }\n\n &[required]:not([required='false']) label {\n @include form-field-label-required();\n }\n\n label {\n @include form-field-label();\n }\n\n nv-popover {\n width: 100%;\n display: block;\n\n [data-scope='popover'] {\n padding: 0;\n background-color: var(--components-list-dropdown-background);\n border: 1px solid var(--components-list-dropdown-border);\n width: auto;\n z-index: 2;\n }\n\n [slot='content'] {\n display: block;\n width: 100%;\n }\n }\n\n .input-wrapper {\n @include form-field-input-wrapper();\n display: flex;\n align-items: center;\n gap: 8px;\n\n .input-container {\n @include form-field-input-container();\n\n &:focus-within,\n &:focus-within:hover,\n &:focus,\n &:focus:hover {\n box-shadow: none;\n border-color: var(--nv-field-border-default);\n }\n\n input {\n @include form-field-input();\n width: 100%;\n &:focus-within,\n &:focus-within:hover,\n &:focus,\n &:focus:hover {\n outline: var(--focus-outline-stroke) solid var(--nv-field-border-focus);\n outline-offset: 0px;\n & ~ .range-separator {\n background-color: transparent;\n }\n }\n }\n\n > nv-iconbutton {\n @include form-field-action();\n }\n\n nv-icon.validation {\n @include form-field-icon();\n }\n }\n }\n\n .description {\n @include form-field-description();\n }\n\n .error-description {\n @include form-field-error-description();\n }\n\n .range-inputs {\n display: flex;\n align-items: center;\n gap: 0;\n width: 100%;\n z-index: 1;\n\n input {\n flex: 1;\n border: none;\n outline: none;\n padding: 0;\n font-size: var(--form-field-font-size);\n color: var(--components-form-field-content-text);\n background: transparent;\n min-width: 0; // to avoid overflow\n\n &::placeholder {\n color: var(--components-form-field-content-placeholder);\n }\n\n &:disabled {\n cursor: not-allowed;\n color: var(--components-form-field-content-text);\n background-color: var(--components-form-field-background-disabled);\n }\n }\n\n .range-separator {\n @include range-separator();\n }\n }\n}\n","import {\n Component,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n Listen,\n Host,\n Watch,\n Method,\n} from '@stencil/core';\nimport Inputmask from 'inputmask';\nimport { v4 as uuidv4 } from 'uuid';\n\n/**\n * Extends HTMLInputElement to include the inputmask property.\n */\ninterface HTMLInputElementWithInputmask extends HTMLInputElement {\n /**\n * The inputmask instance that provides masking functionality.\n */\n inputmask?: {\n /**\n * Removes the inputmask instance.\n */\n remove: () => void;\n };\n}\n\n/**\n * @slot default - Child content of the component.\n * @slot leading-input - Content to be placed before the input text, within the input container.\n * @slot before-input - Content to be placed before the input text, outside the input container.\n * @slot after-input - Content to be placed after the input text, outside the input container.\n * @slot label - Content to be placed as the label, will override the label prop.\n * @slot description - Content to be placed as the description, will override the description prop.\n * @slot error-description - Content to be placed as the error description, will override the errorDescription prop.\n */\n@Component({\n tag: 'nv-fielddaterange',\n styleUrl: 'styles/nv-fielddaterange.scss',\n shadow: false,\n})\nexport class NvFielddaterange {\n @Element() el!: HTMLNvFielddaterangeElement;\n private popoverElement!: HTMLNvPopoverElement;\n private calendarElement!: HTMLNvCalendarElement;\n private popoverId: string = uuidv4();\n private contentRef?: HTMLDivElement;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the ID for the start input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated.\n */\n @Prop({ reflect: true })\n readonly startInputId: string = uuidv4();\n\n /**\n * Sets the ID for the end input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated.\n */\n @Prop({ reflect: true })\n readonly endInputId: string = uuidv4();\n\n /**\n * Text displayed as label. A slot label can override this prop.\n */\n @Prop({ reflect: true })\n readonly label: string;\n\n /**\n * Description displayed below the input. A slot description can override this prop.\n */\n @Prop({ reflect: true })\n readonly description: string;\n\n /**\n * Placeholder for the start input field.\n */\n @Prop({ reflect: true })\n readonly startPlaceholder: string;\n\n /**\n * Placeholder for the end input field.\n */\n @Prop({ reflect: true })\n readonly endPlaceholder: string;\n\n /**\n * Name attribute for the start input.\n */\n @Prop({ reflect: true })\n readonly startName: string;\n\n /**\n * Name attribute for the end input.\n */\n @Prop({ reflect: true })\n readonly endName: string;\n\n /**\n * Disables both input fields.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Sets both input fields as read-only.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n /**\n * Marks both input fields as required.\n */\n @Prop({ reflect: true })\n readonly required: boolean = false;\n\n /**\n * Indicates an error state.\n */\n @Prop({ reflect: true })\n readonly error: boolean = false;\n\n /**\n * Error description. A slot error-description can override this prop.\n */\n @Prop({ reflect: true })\n readonly errorDescription?: string;\n\n /**\n * Indicates a success state.\n */\n @Prop({ reflect: true })\n readonly success: boolean = false;\n\n /**\n * Autofocus the start input when the component is mounted.\n */\n @Prop({ reflect: true })\n // eslint-disable-next-line @stencil-community/reserved-member-names\n readonly autofocus: boolean = false;\n\n /**\n * The initial value of the date range (in string format).\n */\n // eslint-disable-next-line @stencil-community/strict-mutable\n @Prop({ reflect: true, mutable: true })\n value: string = '';\n\n /**\n * The current value of the start date in string format.\n */\n @State()\n startValue: string = '';\n\n /**\n * The current value of the end date in string format.\n */\n @State()\n endValue: string = '';\n\n /**\n * Controls the opening of the popover.\n */\n @State()\n open: boolean = false;\n\n /**\n * First day of the week 0 = Sunday, 1 = Monday, etc.\n * @default 1\n */\n @Prop({ reflect: true })\n readonly firstDayOfWeek: number = 1;\n\n /**\n * Number of calendars to display\n * @default 2\n */\n @Prop({ reflect: true })\n readonly numberOfCalendars: number = 2;\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 /** 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 */\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 * 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 */\n @Prop({ reflect: true })\n readonly shortcuts: HTMLNvCalendarElement['shortcuts'];\n\n /**\n * Show week numbers\n */\n @Prop({ reflect: true })\n readonly showWeekNumbers: boolean;\n\n /**\n * Disabled dates ISO string array\n */\n @Prop({ reflect: true })\n readonly disabledDates: Array<string>;\n\n /**\n * Allows the field to stretch and fill the entire width of its container.\n */\n @Prop({ reflect: true })\n readonly fluid: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Parses the unified value prop and synchronizes with internal state\n * @param {string} value - Value to parse\n */\n private parseUnifiedValue = (value: string): void => {\n if (!value) {\n // Reset all selections\n this.startValue = '';\n this.endValue = '';\n return;\n }\n\n const values = value\n .split(',')\n .map(v => v.trim())\n .filter(Boolean);\n\n if (values.length >= 2) {\n this.startValue = values[0];\n this.endValue = values[1];\n }\n };\n\n /**\n * Converts the nv-calendar date format to the format expected by Inputmask.\n * @param {string} format - The date format to convert\n * @returns {string} The converted format for Inputmask\n */\n private convertToInputmaskFormat(format: string): string {\n // If the format is not specified, use the default format YYYY-MM-DD\n if (!format) {\n return 'dd/mm/yyyy';\n }\n\n const formatMap = {\n 'YYYY-MM-DD': 'yyyy-mm-dd',\n 'DD/MM/YYYY': 'dd/mm/yyyy',\n 'MM/DD/YYYY': 'mm/dd/yyyy',\n 'DD.MM.YYYY': 'dd.mm.yyyy',\n 'YYYYMMDD': 'yyyymmdd',\n };\n\n return formatMap[format] || 'dd/mm/yyyy';\n }\n\n /**\n * Closes the popover when a click is detected outside the component.\n * @param {MouseEvent} event - The mouse event\n */\n private handleClickOutside = (event: MouseEvent) => {\n if (this.open && this.el && !this.el.contains(event.target as Node)) {\n this.open = false;\n }\n };\n\n /**\n * Handles the input event on the start input element.\n * @param {Event} event - The input event\n */\n private handleStartInput = (event: Event) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n return;\n }\n const input = event.target as HTMLInputElement;\n this.startValue = input.value;\n\n // Update unified value prop\n this.value = `${input.value},${this.endValue}`;\n\n // Temporarily enable navigation for keyboard input\n if (this.calendarElement) {\n this.calendarElement.removeAttribute('data-prevent-navigation');\n this.updateCalendarValue();\n // Restore navigation prevention after update\n setTimeout(() => {\n if (this.calendarElement) {\n this.calendarElement.setAttribute('data-prevent-navigation', 'true');\n }\n }, 100);\n }\n };\n\n /**\n * Handles the input event on the end input element.\n * @param {Event} event - The input event\n */\n private handleEndInput = (event: Event) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n return;\n }\n const input = event.target as HTMLInputElement;\n this.endValue = input.value;\n\n // Update unified value prop\n this.value = `${this.startValue},${input.value}`;\n\n // Temporarily enable navigation for keyboard input\n if (this.calendarElement) {\n this.calendarElement.removeAttribute('data-prevent-navigation');\n this.updateCalendarValue();\n // Restore navigation prevention after update\n setTimeout(() => {\n if (this.calendarElement) {\n this.calendarElement.setAttribute('data-prevent-navigation', 'true');\n }\n }, 100);\n }\n };\n\n /**\n * Update the calendar's rangeValue property without forcing month change\n */\n private updateCalendarValue() {\n if (this.calendarElement && this.startValue && this.endValue) {\n // Store the current calendar state\n }\n }\n\n /**\n * Handles focus events on the input elements.\n * @param {FocusEvent} event - The focus event\n */\n private handleFocus = (event: FocusEvent) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n (event.target as HTMLElement).blur();\n return;\n }\n\n // Enable navigation on focus\n if (this.calendarElement) {\n this.calendarElement.removeAttribute('data-prevent-navigation');\n }\n\n this.open = true;\n\n // Restore navigation prevention after opening\n setTimeout(() => {\n if (this.calendarElement) {\n this.calendarElement.setAttribute('data-prevent-navigation', 'true');\n }\n }, 300);\n };\n\n /**\n * Toggles the opening/closing of the popover.\n */\n private toggleCalendar = () => {\n if (this.readonly || this.disabled) {\n return;\n }\n this.open = !this.open;\n };\n\n /**\n * Clears the current selection and resets the date range field to its initial state.\n * This method can be called programmatically to reset the field.\n */\n @Method()\n async clear(): Promise<void> {\n // Reset internal state\n this.startValue = '';\n this.endValue = '';\n this.value = '';\n\n // Reset both input elements\n const inputs = this.el.querySelectorAll('.input-wrapper input');\n inputs.forEach((input: HTMLInputElement) => {\n input.value = '';\n // Remove input mask if exists\n if ((input as HTMLInputElementWithInputmask).inputmask) {\n (input as HTMLInputElementWithInputmask).inputmask.remove();\n }\n });\n\n // Emit events to notify about the change\n this.valueChanged.emit('');\n this.dateRangeChange.emit({ start: '', end: '' });\n\n // Close the popover if open\n this.open = false;\n\n // Clear the calendar if it exists\n if (this.calendarElement) {\n this.calendarElement.clear();\n }\n }\n\n private updateMask() {\n const inputs = this.el.querySelectorAll('.input-wrapper input');\n inputs.forEach((input: HTMLInputElement) => {\n (input as HTMLInputElementWithInputmask).inputmask?.remove?.();\n\n const inputMask = new Inputmask({\n alias: 'datetime',\n inputFormat: this.convertToInputmaskFormat(this.dateFormat),\n placeholder: this.convertToInputmaskFormat(this.dateFormat),\n clearIncomplete: false,\n showMaskOnHover: false,\n showMaskOnFocus: true,\n clearMaskOnLostFocus: !this.open,\n postValidation: true,\n oncleared: (e: CustomEvent) => {\n const input = e.target as HTMLInputElement;\n if (input.id === this.startInputId) {\n this.startValue = '';\n }\n if (input.id === this.endInputId) {\n this.endValue = '';\n }\n },\n oncomplete: () => {\n if (/[a-zA-Z]/g.test(this.value)) return;\n const values = this.value\n .split(',')\n .map(v => v.trim())\n .filter(Boolean);\n if (values.length < 2) return;\n\n // If valid emit change event\n this.valueChanged.emit(this.value);\n\n // Legacy support (deprecated)\n this.dateRangeChange.emit({\n start: this.startValue,\n end: input.value,\n });\n },\n });\n inputMask.mask(input);\n });\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n connectedCallback() {\n document.addEventListener('click', this.handleClickOutside);\n }\n\n componentWillLoad() {\n if (this.value) {\n // Use the unified parsing method\n this.parseUnifiedValue(this.value);\n }\n }\n\n componentDidLoad() {\n this.updateMask();\n\n const inputs = this.el.querySelectorAll('.input-wrapper input');\n inputs.forEach((input: HTMLInputElement) => {\n // Set the value after applying the mask\n if (input.name === this.startName && this.startValue) {\n requestAnimationFrame(() => {\n input.value = this.startValue;\n const event = new CustomEvent('input', { bubbles: true });\n input.dispatchEvent(event);\n });\n } else if (input.name === this.endName && this.endValue) {\n requestAnimationFrame(() => {\n input.value = this.endValue;\n const event = new CustomEvent('input', { bubbles: true });\n input.dispatchEvent(event);\n });\n }\n });\n }\n\n componentDidRender() {\n const inputs = this.el.querySelectorAll('.input-wrapper input');\n inputs.forEach((input: HTMLInputElement) => {\n const value =\n input.name === this.startName\n ? this.startValue\n : this.endName\n ? this.endValue\n : '';\n if (value) {\n // Make sure the value is defined both as a property and attribute\n requestAnimationFrame(() => {\n input.value = value;\n input.setAttribute('value', value);\n });\n }\n });\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.handleClickOutside);\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the date range changes.\n */\n @Event()\n dateRangeChange: EventEmitter<\n HTMLNvCalendarElementEventMap['rangeDateChange']\n >;\n\n /**\n * Emitted when the unified value changes\n * @bind value\n */\n @Event()\n valueChanged: EventEmitter<string>;\n\n /**\n * Handles the range date selection event from nv-calendar.\n * @param {CustomEvent<DateRange>} event - The custom event\n */\n @Listen('rangeDateChange')\n handleRangeDateChange(\n event: CustomEvent<HTMLNvCalendarElementEventMap['rangeDateChange']>,\n ) {\n const { start, end } = event.detail || {};\n\n // Check that both dates are defined\n if (start && end) {\n this.startValue = start;\n this.endValue = end;\n\n // Update unified value prop (like nv-calendar)\n this.value = `${start},${end}`;\n this.valueChanged.emit(this.value);\n\n // Legacy support (deprecated)\n this.dateRangeChange.emit({\n start: this.startValue,\n end: this.endValue,\n });\n\n if (!this.showActions) {\n this.open = false;\n }\n }\n }\n\n /**\n * Handles the unified value change event from nv-calendar\n * @param {CustomEvent<string>} event - The custom event\n */\n @Listen('valueChanged')\n handleCalendarValueChanged(event: CustomEvent<string>) {\n const newValue = event.detail || '';\n\n if (newValue !== this.value) {\n this.value = newValue;\n this.valueChanged.emit(newValue);\n\n // Parse and update internal state\n this.parseUnifiedValue(newValue);\n\n // Legacy support - emit dateRangeChange\n this.dateRangeChange.emit({\n start: this.startValue,\n end: this.endValue,\n });\n }\n }\n\n @Listen('closePopover')\n handleClosePopover() {\n this.open = false;\n }\n\n @Listen('applyDateRange')\n handleApplyDateRange() {\n this.open = false;\n }\n\n /**\n * Handles the reset event from the calendar's cancel button\n * @param {CustomEvent} event - The event emitted by the calendar\n */\n @Listen('singleDateChange')\n @Listen('rangeDateChange')\n handleDateReset(event: CustomEvent) {\n const isResetSingle =\n event.type === 'singleDateChange' && event.detail === '';\n const isResetRange =\n event.type === 'rangeDateChange' &&\n event.detail &&\n event.detail.start === '' &&\n event.detail.end === '';\n\n if (isResetSingle || isResetRange) {\n this.startValue = '';\n this.endValue = '';\n\n // Update unified value prop\n this.value = '';\n this.valueChanged.emit('');\n\n const inputs = this.el.querySelectorAll('.input-wrapper input');\n inputs.forEach((input: HTMLInputElement) => {\n input.value = '';\n });\n\n // Legacy support (deprecated)\n this.dateRangeChange.emit({ start: '', end: '' });\n }\n }\n\n /**\n * Handles keyboard events.\n * @param {KeyboardEvent} event - The keyboard event\n */\n @Listen('keydown', { passive: false })\n handleKeyDown(event: KeyboardEvent) {\n if (!this.open) {\n if (event.key === 'ArrowDown') {\n this.open = true;\n event.preventDefault();\n return;\n }\n return;\n }\n\n if (!this.popoverElement) {\n console.warn('nv-fielddaterange -> Popover element is not defined');\n return;\n }\n }\n\n @Watch('value')\n handleValueChange(newValue: string) {\n // Use the unified parsing method instead of JSON.parse\n this.parseUnifiedValue(newValue);\n }\n\n @Watch('open')\n onOpenChanged(newValue: boolean) {\n this.updateMask();\n if (this.contentRef) {\n if (newValue) {\n this.contentRef.style.transition = 'none';\n this.contentRef.style.maxHeight = '0px';\n void this.contentRef.offsetHeight;\n requestAnimationFrame(() => {\n this.contentRef.style.transition =\n 'max-height 0.18s cubic-bezier(0.4,0,0.2,1)';\n this.contentRef.style.maxHeight = this.contentRef.scrollHeight + 'px';\n });\n } else {\n this.contentRef.style.transition = 'none';\n this.contentRef.style.maxHeight = this.contentRef.scrollHeight + 'px';\n void this.contentRef.offsetHeight;\n requestAnimationFrame(() => {\n this.contentRef.style.transition =\n 'max-height 0.18s cubic-bezier(0.4,0,0.2,1)';\n this.contentRef.style.maxHeight = '0px';\n });\n }\n }\n }\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host>\n {((this.label && this.label.length > 0) ||\n this.el.querySelector('[slot=\"label\"]')) && (\n <label htmlFor={this.startInputId}>\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n <nv-popover\n ref={el => (this.popoverElement = el as HTMLNvPopoverElement)}\n id={this.popoverId}\n triggerMode=\"controlled\"\n placement=\"bottom-start\"\n open={this.open}\n >\n <div slot=\"trigger\" class=\"input-wrapper\">\n <slot name=\"before-input\"></slot>\n\n <div class=\"input-container\">\n <slot name=\"leading-input\"></slot>\n\n <div class=\"range-inputs\">\n <input\n id={this.startInputId}\n type=\"text\"\n placeholder={\n this.startPlaceholder ||\n this.convertToInputmaskFormat(this.dateFormat)\n }\n name={this.startName}\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n autofocus={this.autofocus}\n value={this.startValue}\n onInput={this.handleStartInput}\n onFocus={this.handleFocus}\n data-scope=\"date-range\"\n />\n\n <div class=\"range-separator\"></div>\n\n <input\n id={this.endInputId}\n type=\"text\"\n placeholder={\n this.endPlaceholder ||\n this.convertToInputmaskFormat(this.dateFormat)\n }\n name={this.endName}\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n value={this.endValue}\n onInput={this.handleEndInput}\n onFocus={this.handleFocus}\n data-scope=\"date-range\"\n />\n </div>\n\n {this.error && (\n <nv-icon name=\"alert-circle\" class=\"validation\" size=\"md\" />\n )}\n {this.success && (\n <nv-icon name=\"circle-check\" class=\"validation\" size=\"md\" />\n )}\n\n <nv-iconbutton\n class=\"toggle-calendar-icon\"\n name=\"calendar\"\n size=\"md\"\n emphasis=\"lower\"\n aria-label={this.open ? 'Hide calendar' : 'Show calendar'}\n aria-pressed={this.open.toString()}\n onClick={this.toggleCalendar}\n tabIndex={this.disabled ? -1 : 0}\n />\n </div>\n\n <slot name=\"after-input\"></slot>\n </div>\n\n <div slot=\"content\">\n <nv-calendar\n ref={el => (this.calendarElement = el as HTMLNvCalendarElement)}\n dateFormat={this.dateFormat}\n value={this.value}\n firstDayOfWeek={this.firstDayOfWeek}\n numberOfCalendars={this.numberOfCalendars}\n min={this.min}\n max={this.max}\n locale={this.locale}\n shortcutsPlacement={this.shortcutsPlacement}\n showActions={this.showActions}\n shortcuts={this.shortcuts}\n showWeekNumbers={this.showWeekNumbers}\n disabledDates={this.disabledDates}\n selectionType=\"range\"\n data-prevent-navigation=\"true\"\n ></nv-calendar>\n </div>\n </nv-popover>\n\n {((this.description && this.description.length > 0) ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n\n {(this.errorDescription ||\n this.el.querySelector('[slot=\"error-description\"]')) && (\n <div hidden={!this.error} class=\"error-description\">\n {this.el.querySelector('[slot=\"error-description\"]') ? (\n <slot name=\"error-description\"></slot>\n ) : (\n this.errorDescription\n )}\n </div>\n )}\n\n <slot></slot>\n </Host>\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,H as i,g as o}from"./p-d0a33e64.js";import{I as n}from"./p-53aa81dd.js";import{v as a}from"./p-f5ff676c.js";import"./p-0462f723.js";const d='nv-fieldslider .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-hover)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .track-range{background:var(--components-slider-track-filled-focus)}nv-fieldslider .slider-container .track-container:has(.thumb:focus) .thumb{border-color:var(--components-slider-track-filled-focus)}nv-fieldslider[error] .slider-container .track-container .track .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb{border-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:hover{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-handler-background-error)}nv-fieldslider[error] .slider-container .track-container .track .thumb:focus{border-color:var(--components-slider-track-filled-error);outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-slider-track-filled-error);outline-offset:calc(var(--focus-outline-offset) * 1);background-color:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .track-range{background:var(--components-slider-track-filled-error)}nv-fieldslider[error] .slider-container .track-container:has(.thumb:hover) .thumb{border-color:var(--components-slider-track-filled-error)}nv-fielddate{--nv-field-border-default:var(--components-form-field-border-default);--nv-field-border-hover:var(--components-form-field-border-hover);--nv-field-border-focus:var(--components-form-field-border-focus);--nv-field-border-disabled:var(--components-form-field-border-default);--nv-field-border-readonly:var(--components-form-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-brand);--nv-field-background:var(--components-form-field-background-default);display:flex;flex-direction:column;align-items:flex-start;gap:var(--form-gap-y);box-sizing:border-box;max-width:480px}nv-fielddate[fluid]:not([fluid=false]){max-width:unset}nv-fielddate[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-fielddate[error]:not([error=false]){--nv-field-border-default:var(--components-form-field-border-error);--nv-field-border-hover:var(--nv-field-border-default);--nv-field-border-focus:var(--nv-field-border-default);--nv-field-border-disabled:var(--nv-field-border-default);--nv-field-border-readonly:var(--nv-field-border-default);--nv-field-focus-box-shadow:var(--color-focus-destructive-in-field)}nv-fielddate[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-fielddate[required]:not([required=false]) label::after{content:"*";color:var(--components-form-text-required);font-weight:700}nv-fielddate 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-fielddate nv-popover{width:100%;display:block}nv-fielddate nv-popover [data-scope=popover]{padding:0;background-color:var(--components-list-dropdown-background);border:1px solid var(--components-list-dropdown-border);width:auto}nv-fielddate nv-popover [slot=content]{display:block;width:100%}nv-fielddate nv-popover .datepicker-container{border:none}nv-fielddate .input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch;display:flex;align-items:center;gap:8px}nv-fielddate .input-wrapper .input-container{display:flex;flex-grow:1;justify-content:center;align-items:center;align-self:stretch;border-radius:var(--form-field-radius);border-width:1px;border-style:solid;border-color:var(--nv-field-border-default);opacity:var(--components-form-opacity-default, 1);background:var(--nv-field-background);transition:all 150ms ease-out}nv-fielddate .input-wrapper .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fielddate .input-wrapper .input-container:focus-within,nv-fielddate .input-wrapper .input-container:focus-within:hover,nv-fielddate .input-wrapper .input-container:focus,nv-fielddate .input-wrapper .input-container:focus:hover{border-color:var(--nv-field-border-focus);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--nv-field-focus-box-shadow)}nv-fielddate .input-wrapper .input-container:has(input:read-only){opacity:0.5;background-color:var(--components-form-field-background-readonly);border-color:var(--nv-field-border-readonly)}nv-fielddate .input-wrapper .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fielddate .input-wrapper .input-container input{display:flex;align-items:center;flex:1 0 0;overflow:hidden;background-color:transparent;color:var(--components-form-field-content-text);padding:var(--form-field-padding-y) var(--form-field-padding-x);font-size:var(--form-field-font-size);font-style:normal;font-weight:500;line-height:var(--form-field-line-height);width:100%;font-feature-settings:"tnum";font-family:"TTNorms Pro Mono", monospace}nv-fielddate .input-wrapper .input-container input:focus{outline:none}nv-fielddate .input-wrapper .input-container input::placeholder{overflow:hidden;color:var(--components-form-field-content-placeholder);text-overflow:ellipsis;font-family:"TT Norms Pro", sans-serif;font-size:var(--form-field-font-size);font-style:normal;font-weight:400;line-height:var(--form-field-line-height)}nv-fielddate .input-wrapper .input-container input[type=password]::-ms-clear,nv-fielddate .input-wrapper .input-container input[type=password]::-ms-reveal{display:none;width:0;height:0}nv-fielddate .input-wrapper .input-container>nv-iconbutton{border:0px;border-radius:0px}nv-fielddate .input-wrapper .input-container>nv-iconbutton:focus-visible{border-radius:var(--button-md-border-radius);outline-offset:-3px}nv-fielddate .input-wrapper .input-container>nv-iconbutton:last-of-type{border-top-right-radius:var(--form-field-radius);border-bottom-right-radius:var(--form-field-radius)}nv-fielddate .input-wrapper .input-container nv-icon.validation{color:var(--nv-field-border-default)}nv-fielddate .description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height)}nv-fielddate .error-description{display:flex;align-items:center;align-self:stretch;gap:var(--spacing-1);color:var(--components-form-text-description-default);font-family:"TT Norms Pro", sans-serif;font-size:var(--form-description-font-size);font-style:normal;line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}';const s=d;const l=class{constructor(t){e(this,t);this.valueChanged=r(this,"valueChanged",7);this.popoverId=a();this.inputId=a();this.disabled=false;this.readonly=false;this.required=false;this.error=false;this.success=false;this.autofocus=false;this.value="";this.singleValue="";this.open=false;this.firstDayOfWeek=1;this.numberOfCalendars=1;this.min="";this.max="";this.locale="en-BE";this.dateFormat="YYYY-MM-DD";this.shortcutsPlacement="bottom";this.showActions=false;this.fluid=false;this.handleClickOutside=e=>{if(this.open&&this.el&&!this.el.contains(e.target)){this.open=false}};this.handleInputContainerClick=e=>{if(this.readonly||this.disabled){e.preventDefault();e.stopPropagation();return}this.inputElement.focus()};this.handleInput=e=>{if(this.readonly||this.disabled){e.preventDefault();return}const r=e.target;this.singleValue=r.value;this.value=r.value;if(this.value===""){this.valueChanged.emit("")}};this.handleFocus=e=>{if(this.readonly||this.disabled){e.preventDefault();e.target.blur();return}this.open=true};this.handleCalendarValueChanged=e=>{e.stopPropagation()};this.setPopoverRef=e=>{this.popoverElement=e};this.setInputRef=e=>{this.inputElement=e};this.toggleCalendar=()=>{if(this.readonly||this.disabled){return}this.open=!this.open}}convertToInputmaskFormat(e){if(!e){return"dd/mm/yyyy"}const r={"DD/MM/YYYY":"dd/mm/yyyy","MM/DD/YYYY":"mm/dd/yyyy","YYYY-MM-DD":"yyyy-mm-dd","DD.MM.YYYY":"dd.mm.yyyy",YYYYMMDD:"yyyymmdd"};return r[e]||"dd/mm/yyyy"}async clear(){this.singleValue="";this.value="";if(this.inputElement){this.inputElement.value="";if(this.inputElement.inputmask){this.inputElement.inputmask.remove()}}this.valueChanged.emit("");this.open=false}updateMask(){var e,r;if(!this.inputElement)return;(r=(e=this.inputElement.inputmask)===null||e===void 0?void 0:e.remove)===null||r===void 0?void 0:r.call(e);const t=new n({alias:"datetime",inputFormat:this.convertToInputmaskFormat(this.dateFormat),placeholder:this.convertToInputmaskFormat(this.dateFormat),clearIncomplete:false,showMaskOnHover:false,showMaskOnFocus:true,clearMaskOnLostFocus:!this.open,postValidation:true,oncomplete:e=>{var r;this.valueChanged.emit((r=e.target)===null||r===void 0?void 0:r.value)}});t.mask(this.inputElement)}connectedCallback(){document.addEventListener("click",this.handleClickOutside)}componentWillLoad(){if(this.value){this.singleValue=this.value}}componentDidLoad(){this.updateMask();if(this.inputElement.name===this.name&&this.singleValue){requestAnimationFrame((()=>{this.inputElement.value=this.singleValue;const e=new CustomEvent("input",{bubbles:true});this.inputElement.dispatchEvent(e)}))}}componentDidRender(){if(this.singleValue&&this.inputElement&&!this.inputElement.value){requestAnimationFrame((()=>{this.inputElement.value=this.singleValue;this.inputElement.setAttribute("value",this.singleValue)}))}}disconnectedCallback(){document.removeEventListener("click",this.handleClickOutside);if(this.inputElement&&this.inputElement.inputmask){this.inputElement.inputmask.remove()}}handleSingleDateChange(e){const r=e.detail;const t=this.value;this.singleValue=r;this.value=r;if(this.inputElement){this.inputElement.value=r}if(t!==r){this.valueChanged.emit(r)}if(!this.showActions){this.open=false}}handleClosePopover(){this.open=false}handleKeyDown(e){if(!this.open){if(e.key==="ArrowDown"){this.open=true;e.preventDefault();return}return}if(!this.popoverElement){console.warn("nv-fielddate -> Popover element is not defined");return}}handleValueChange(e){this.singleValue=e;if(this.inputElement&&this.inputElement.value!==e){this.inputElement.value=e}}handleOpenChange(){this.updateMask()}render(){return t(i,{key:"e0914be919a272863714493837e515e3b95fa38c"},(this.label&&this.label.length>0||this.el.querySelector('[slot="label"]'))&&t("label",{key:"3ecdac541c5d62417892e64ed2ca1ab41b0cb4cf",htmlFor:this.inputId},t("slot",{key:"58d8c5ab53df1fdc38627504cc3c26033398fccb",name:"label"},this.label)),t("nv-popover",{key:"1d78703d4f1c979bc6f5d13a9d76d0619d7bfbbe",ref:this.setPopoverRef,id:this.popoverId,triggerMode:"controlled",placement:"bottom-start",open:this.open},t("div",{key:"12648ac734ee3aab93d77c60df4793f5a20f7298",slot:"trigger",class:"input-wrapper"},t("slot",{key:"3803e7cf0fdf84fcf3e918c727f4d47198edb813",name:"before-input"}),t("div",{key:"afe8a466b314adb546da7069f94bb621d8664abb",class:"input-container",onClick:this.handleInputContainerClick},t("slot",{key:"43af98b4dd4ff2487bc63ab9a0f9b307c51f5357",name:"leading-input"}),t("input",{key:"f9f5966ad347db7e848b59f9790debb55a0f7e20",id:this.inputId,ref:this.setInputRef,placeholder:this.placeholder||this.convertToInputmaskFormat(this.dateFormat),name:this.name,disabled:this.disabled,readOnly:this.readonly,required:this.required,autofocus:this.autofocus,onInput:this.handleInput,onFocus:this.handleFocus,"data-scope":"date"}),this.error&&t("nv-icon",{key:"4601fb0d8d1eaa18f9ff0027c2e4723eb2532b4f",name:"alert-circle",class:"validation",size:"md"}),this.success&&t("nv-icon",{key:"0a8d818eb1c650e45d42e05fc03e28360bb5e283",name:"circle-check",class:"validation",size:"md"}),t("nv-iconbutton",{key:"2f56171211d237eda83b009266e3426eeb83c48e",class:"toggle-calendar-icon",name:"calendar",size:"md",emphasis:"lower","aria-label":this.open?"Hide calendar":"Show calendar","aria-pressed":this.open.toString(),onClick:this.toggleCalendar,tabIndex:this.disabled?-1:0})),t("slot",{key:"df3476a4edc879ab7bbd9c74190abe857949ca8b",name:"after-input"})),t("div",{key:"7bfab4992d8e4a1fdf9de2941028be095df1cb88",slot:"content"},t("nv-calendar",{key:"8bab211eb998baa41c6df0b51419f526732ead72",dateFormat:this.dateFormat,singleValue:this.singleValue,firstDayOfWeek:this.firstDayOfWeek,numberOfCalendars:this.numberOfCalendars,min:this.min,max:this.max,locale:this.locale,shortcutsPlacement:this.shortcutsPlacement,showActions:this.showActions,shortcuts:this.shortcuts,showWeekNumbers:this.showWeekNumbers,disabledDates:this.disabledDates,onValueChanged:this.handleCalendarValueChanged}))),(this.description&&this.description.length>0||this.el.querySelector('[slot="description"]'))&&t("div",{key:"431945fddf898fce6596b49fdb6266dec556cc27",class:"description"},t("slot",{key:"b1da904d1790776e404d283e1530a2e14b73f123",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&t("div",{key:"5de0b4f415fae16da71a80671b00a4c4402834e8",hidden:!this.error,class:"error-description"},this.el.querySelector('[slot="error-description"]')?t("slot",{name:"error-description"}):this.errorDescription),t("slot",{key:"889bf8e7bbb7511937c6a3e0a70dd2a95dc15bd7"}))}get el(){return o(this)}static get watchers(){return{value:["handleValueChange"],open:["handleOpenChange"]}}};l.style=s;export{l as nv_fielddate};
|
|
2
|
-
//# sourceMappingURL=p-bc01787b.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["nvFielddateCss","NvFielddateStyle0","NvFielddate","constructor","hostRef","this","popoverId","uuidv4","inputId","disabled","readonly","required","error","success","autofocus","value","singleValue","open","firstDayOfWeek","numberOfCalendars","min","max","locale","dateFormat","shortcutsPlacement","showActions","fluid","handleClickOutside","event","el","contains","target","handleInputContainerClick","preventDefault","stopPropagation","inputElement","focus","handleInput","input","valueChanged","emit","handleFocus","blur","handleCalendarValueChanged","setPopoverRef","popoverElement","setInputRef","toggleCalendar","convertToInputmaskFormat","format","formatMap","YYYYMMDD","clear","inputmask","remove","updateMask","_b","_a","call","inputMask","Inputmask","alias","inputFormat","placeholder","clearIncomplete","showMaskOnHover","showMaskOnFocus","clearMaskOnLostFocus","postValidation","oncomplete","e","mask","connectedCallback","document","addEventListener","componentWillLoad","componentDidLoad","name","requestAnimationFrame","CustomEvent","bubbles","dispatchEvent","componentDidRender","setAttribute","disconnectedCallback","removeEventListener","handleSingleDateChange","detail","previousValue","handleClosePopover","handleKeyDown","key","console","warn","handleValueChange","newValue","handleOpenChange","render","h","Host","label","length","querySelector","htmlFor","ref","id","triggerMode","placement","slot","class","onClick","readOnly","onInput","onFocus","size","emphasis","toString","tabIndex","shortcuts","showWeekNumbers","disabledDates","onValueChanged","description","errorDescription","hidden"],"sources":["src/components/nv-fielddate/styles/nv-fielddate.scss?tag=nv-fielddate","src/components/nv-fielddate/nv-fielddate.tsx"],"sourcesContent":["@import '../../../styles/form-field';\n\nnv-fielddate {\n @include form-field-variables();\n @include form-field-root();\n\n &[fluid]:not([fluid=\"false\"]) {\n @include form-field-fluid();\n }\n\n &[readonly]:not([readonly='false']) {\n @include form-field-readonly-variables();\n }\n\n &[error]:not([error='false']) {\n @include form-field-error-variables();\n }\n\n &[success]:not([success='false']) {\n @include form-field-success-variables();\n }\n\n &[required]:not([required='false']) label {\n @include form-field-label-required();\n }\n\n label {\n @include form-field-label();\n }\n\n nv-popover {\n width: 100%;\n display: block;\n\n [data-scope='popover'] {\n padding: 0;\n background-color: var(--components-list-dropdown-background);\n border: 1px solid var(--components-list-dropdown-border);\n width: auto;\n }\n\n [slot='content'] {\n display: block;\n width: 100%;\n }\n .datepicker-container {\n border: none\n }\n }\n\n .input-wrapper {\n @include form-field-input-wrapper();\n display: flex;\n align-items: center;\n gap: 8px;\n\n .input-container {\n @include form-field-input-container();\n\n input {\n @include form-field-input();\n font-feature-settings: 'tnum';\n font-family: \"TTNorms Pro Mono\", monospace;\n }\n\n > nv-iconbutton {\n @include form-field-action();\n }\n\n nv-icon.validation {\n @include form-field-icon();\n }\n }\n }\n\n .description {\n @include form-field-description();\n }\n\n .error-description {\n @include form-field-error-description();\n }\n}\n","import {\n Component,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n Listen,\n Host,\n Watch,\n Method,\n} from '@stencil/core';\nimport Inputmask from 'inputmask';\nimport { v4 as uuidv4 } from 'uuid';\n\n/**\n * Extends HTMLInputElement to include the inputmask property.\n */\ninterface HTMLInputElementWithInputmask extends HTMLInputElement {\n /**\n * The inputmask instance that provides masking functionality.\n */\n inputmask?: {\n /**\n * Removes the inputmask instance.\n */\n remove?: () => void;\n };\n}\n\n/**\n * A field date component that combines an input with a calendar popover.\n *\n * @slot default - Child content of the component.\n * @slot leading-input - Content to be placed before the input text, within the input container.\n * @slot before-input - Content to be placed before the input text, outside the input container.\n * @slot after-input - Content to be placed after the input text, outside the input container.\n * @slot label - Content to be placed as the label, will override the label prop.\n * @slot description - Content to be placed as the description, will override the description prop.\n * @slot error-description - Content to be placed as the error description, will override the errorDescription prop.\n */\n@Component({\n tag: 'nv-fielddate',\n styleUrl: 'styles/nv-fielddate.scss',\n shadow: false,\n})\nexport class NvFielddate {\n @Element() el: HTMLNvFielddateElement;\n private inputElement!: HTMLInputElement;\n\n private popoverElement!: HTMLNvPopoverElement;\n private popoverId: string = uuidv4();\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the ID for the input element and the for attribute of the associated\n * label. If no ID is provided, a random one will be automatically generated.\n */\n @Prop({ reflect: true })\n readonly inputId: string = uuidv4();\n\n /**\n * Text displayed as label. A slot label can override this prop.\n */\n @Prop({ reflect: true })\n readonly label: string;\n\n /**\n * Description displayed below the input. A slot description can override this prop.\n */\n @Prop({ reflect: true })\n readonly description: string;\n\n /**\n * Placeholder for the input field.\n */\n @Prop({ reflect: true })\n readonly placeholder: string;\n\n /**\n * Name attribute for the input.\n */\n @Prop({ reflect: true })\n readonly name: string;\n\n /**\n * Disables the input field.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Sets the input field as read-only.\n */\n @Prop({ reflect: true })\n readonly readonly: boolean = false;\n\n /**\n * Marks the input field as required.\n */\n @Prop({ reflect: true })\n readonly required: boolean = false;\n\n /**\n * Indicates an error state.\n */\n @Prop({ reflect: true })\n readonly error: boolean = false;\n\n /**\n * Error description. A slot error-description can override this prop.\n */\n @Prop({ reflect: true })\n readonly errorDescription?: string;\n\n /**\n * Indicates a success state.\n */\n @Prop({ reflect: true })\n readonly success: boolean = false;\n\n /**\n * Autofocus the input when the component is mounted.\n */\n @Prop({ reflect: true })\n // eslint-disable-next-line @stencil-community/reserved-member-names\n readonly autofocus: boolean = false;\n\n /**\n * The initial value of the input (date in string format).\n * @bind value\n */\n @Prop({ reflect: true, mutable: true })\n value: string = '';\n\n /**\n * The current value of the input date in string format.\n */\n @State()\n singleValue: string = '';\n\n /**\n * Controls the opening of the popover.\n */\n @State()\n open: boolean = false;\n\n /**\n * First day of the week 0 = Sunday, 1 = Monday, etc.\n * @default 1\n */\n @Prop({ reflect: true })\n readonly firstDayOfWeek: number = 1;\n\n /**\n * Number of calendars to display\n * @default 1\n */\n @Prop({ reflect: true })\n readonly numberOfCalendars: number = 1;\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 /** 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 * 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 */\n @Prop({ reflect: true })\n readonly shortcuts: HTMLNvCalendarElement['shortcuts'];\n\n /**\n * Show week numbers\n * @default true\n */\n @Prop({ reflect: true })\n readonly showWeekNumbers: boolean;\n\n /**\n * Disabled dates ISO string array\n */\n @Prop({ reflect: true })\n readonly disabledDates: Array<string>;\n\n /**\n * Allows the field to stretch and fill the entire width of its container.\n */\n @Prop({ reflect: true })\n readonly fluid: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Converts the nv-calendar date format to the format expected by Inputmask.\n * @param {string} format - The date format.\n * @returns {string} Format adapted for Inputmask.\n */\n private convertToInputmaskFormat(format: string): string {\n // If the format is not specified, use the default format\n if (!format) {\n return 'dd/mm/yyyy';\n }\n\n const formatMap = {\n 'DD/MM/YYYY': 'dd/mm/yyyy',\n 'MM/DD/YYYY': 'mm/dd/yyyy',\n 'YYYY-MM-DD': 'yyyy-mm-dd',\n 'DD.MM.YYYY': 'dd.mm.yyyy',\n 'YYYYMMDD': 'yyyymmdd',\n };\n\n return formatMap[format] || 'dd/mm/yyyy';\n }\n\n /**\n * Closes the popover when a click is detected outside the component.\n * @param {MouseEvent} event - The click event.\n */\n private handleClickOutside = (event: MouseEvent) => {\n if (this.open && this.el && !this.el.contains(event.target as Node)) {\n this.open = false;\n }\n };\n\n /**\n * Focuses the input when the input container is clicked.\n * @param {MouseEvent} event - The click event.\n */\n private handleInputContainerClick = (event: MouseEvent) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n this.inputElement.focus();\n };\n\n /**\n * Handles the input event on the input element.\n * Updates the singleValue and emits the valueChanged event if empty.\n * @param {Event} event - The input event.\n */\n private handleInput = (event: Event) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n return;\n }\n const input = event.target as HTMLInputElement;\n this.singleValue = input.value;\n this.value = input.value;\n\n if (this.value === '') {\n this.valueChanged.emit('');\n }\n };\n\n /**\n * Handles focus events on the input element.\n * @param {FocusEvent} event - The focus event.\n */\n private handleFocus = (event: FocusEvent) => {\n if (this.readonly || this.disabled) {\n event.preventDefault();\n (event.target as HTMLElement).blur();\n return;\n }\n\n this.open = true;\n };\n\n /**\n * Prevents the valueChanged event from the calendar from propagating up.\n * @param {CustomEvent} event - The valueChanged event from nv-calendar.\n */\n private handleCalendarValueChanged = (event: CustomEvent) => {\n event.stopPropagation();\n };\n\n /**\n * Sets the reference to the popover element.\n * @param {HTMLNvPopoverElement} el - The popover element.\n */\n private setPopoverRef = (el: HTMLNvPopoverElement) => {\n this.popoverElement = el;\n };\n\n /**\n * Sets the reference to the input element.\n * @param {HTMLInputElement} el - The input element.\n */\n private setInputRef = (el: HTMLInputElement) => {\n this.inputElement = el;\n };\n\n /**\n * Toggles the opening/closing of the popover.\n */\n private toggleCalendar = () => {\n if (this.readonly || this.disabled) {\n return;\n }\n this.open = !this.open;\n };\n\n /**\n * Clears the current selection and resets the field to its initial state.\n * This method can be called programmatically to reset the field.\n */\n @Method()\n async clear(): Promise<void> {\n // Reset internal state\n this.singleValue = '';\n this.value = '';\n\n // Reset the input element value\n if (this.inputElement) {\n this.inputElement.value = '';\n // Remove the input mask and reinitialize if needed\n if ((this.inputElement as HTMLInputElementWithInputmask).inputmask) {\n (this.inputElement as HTMLInputElementWithInputmask).inputmask.remove();\n }\n }\n\n // Emit events to notify about the change\n this.valueChanged.emit('');\n\n // Close the popover if open\n this.open = false;\n }\n\n private updateMask() {\n if (!this.inputElement) return;\n (this.inputElement as HTMLInputElementWithInputmask).inputmask?.remove?.();\n\n const inputMask = new Inputmask({\n alias: 'datetime',\n inputFormat: this.convertToInputmaskFormat(this.dateFormat),\n placeholder: this.convertToInputmaskFormat(this.dateFormat),\n clearIncomplete: false,\n showMaskOnHover: false,\n showMaskOnFocus: true,\n clearMaskOnLostFocus: !this.open,\n postValidation: true,\n oncomplete: (e: CustomEvent) => {\n this.valueChanged.emit((e.target as HTMLInputElement)?.value);\n },\n });\n inputMask.mask(this.inputElement);\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region LIFECYCLE\n\n connectedCallback() {\n document.addEventListener('click', this.handleClickOutside);\n }\n\n componentWillLoad() {\n if (this.value) {\n this.singleValue = this.value;\n }\n }\n\n componentDidLoad() {\n this.updateMask();\n\n // Set the initial value after applying the mask\n if (this.inputElement.name === this.name && this.singleValue) {\n requestAnimationFrame(() => {\n this.inputElement.value = this.singleValue;\n const event = new CustomEvent('input', { bubbles: true });\n this.inputElement.dispatchEvent(event);\n });\n }\n }\n\n componentDidRender() {\n // Only set value on initial render when there's no existing value in the input\n if (this.singleValue && this.inputElement && !this.inputElement.value) {\n requestAnimationFrame(() => {\n this.inputElement.value = this.singleValue;\n this.inputElement.setAttribute('value', this.singleValue);\n });\n }\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.handleClickOutside);\n if (\n this.inputElement &&\n (this.inputElement as HTMLInputElementWithInputmask).inputmask\n ) {\n (this.inputElement as HTMLInputElementWithInputmask).inputmask.remove();\n }\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted when the value changes (unified value binding).\n * @bind value\n */\n @Event()\n valueChanged: EventEmitter<string>;\n\n /**\n * Handles the single date selection event from nv-calendar.\n * Updates the input value and closes the popover.\n * @param {CustomEvent} event - The event from nv-calendar.\n */\n @Listen('singleDateChange')\n handleSingleDateChange(event: CustomEvent) {\n const value: string = event.detail;\n const previousValue = this.value;\n this.singleValue = value;\n this.value = value;\n\n // Set the input value directly when calendar is used\n if (this.inputElement) {\n this.inputElement.value = value;\n }\n\n // Only emit valueChanged if the value actually changed\n if (previousValue !== value) {\n this.valueChanged.emit(value);\n }\n if (!this.showActions) {\n this.open = false;\n }\n }\n\n @Listen('closePopover')\n handleClosePopover() {\n this.open = false;\n }\n\n @Listen('keydown', { passive: false })\n handleKeyDown(event: KeyboardEvent) {\n if (!this.open) {\n if (event.key === 'ArrowDown') {\n this.open = true;\n\n event.preventDefault();\n return;\n }\n return;\n }\n\n // Verify if the popover element is defined\n if (!this.popoverElement) {\n console.warn('nv-fielddate -> Popover element is not defined');\n return;\n }\n }\n\n @Watch('value')\n handleValueChange(newValue: string) {\n this.singleValue = newValue;\n // Only set input value if it's different from current input value\n // This prevents interfering with user typing\n if (this.inputElement && this.inputElement.value !== newValue) {\n this.inputElement.value = newValue;\n }\n }\n\n @Watch('open')\n handleOpenChange() {\n this.updateMask();\n }\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region RENDER\n render() {\n return (\n <Host>\n {((this.label && this.label.length > 0) ||\n this.el.querySelector('[slot=\"label\"]')) && (\n <label htmlFor={this.inputId}>\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n <nv-popover\n ref={this.setPopoverRef}\n id={this.popoverId}\n triggerMode=\"controlled\"\n placement=\"bottom-start\"\n open={this.open}\n >\n <div slot=\"trigger\" class=\"input-wrapper\">\n <slot name=\"before-input\"></slot>\n\n <div\n class=\"input-container\"\n onClick={this.handleInputContainerClick}\n >\n <slot name=\"leading-input\"></slot>\n\n <input\n id={this.inputId}\n ref={this.setInputRef}\n placeholder={\n this.placeholder ||\n this.convertToInputmaskFormat(this.dateFormat)\n }\n name={this.name}\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n autofocus={this.autofocus}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n data-scope=\"date\"\n />\n\n {this.error && (\n <nv-icon name=\"alert-circle\" class=\"validation\" size=\"md\" />\n )}\n {this.success && (\n <nv-icon name=\"circle-check\" class=\"validation\" size=\"md\" />\n )}\n\n <nv-iconbutton\n class=\"toggle-calendar-icon\"\n name=\"calendar\" //{this.open ? 'chevron-top' : 'chevron-down'}\n size=\"md\"\n emphasis=\"lower\"\n aria-label={this.open ? 'Hide calendar' : 'Show calendar'}\n aria-pressed={this.open.toString()}\n onClick={this.toggleCalendar}\n tabIndex={this.disabled ? -1 : 0}\n />\n </div>\n\n <slot name=\"after-input\"></slot>\n </div>\n\n <div slot=\"content\">\n <nv-calendar\n dateFormat={this.dateFormat}\n singleValue={this.singleValue}\n firstDayOfWeek={this.firstDayOfWeek}\n numberOfCalendars={this.numberOfCalendars}\n min={this.min}\n max={this.max}\n locale={this.locale}\n shortcutsPlacement={this.shortcutsPlacement}\n showActions={this.showActions}\n shortcuts={this.shortcuts}\n showWeekNumbers={this.showWeekNumbers}\n disabledDates={this.disabledDates}\n onValueChanged={this.handleCalendarValueChanged}\n ></nv-calendar>\n </div>\n </nv-popover>\n\n {((this.description && this.description.length > 0) ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n\n {(this.errorDescription ||\n this.el.querySelector('[slot=\"error-description\"]')) && (\n <div hidden={!this.error} class=\"error-description\">\n {this.el.querySelector('[slot=\"error-description\"]') ? (\n <slot name=\"error-description\"></slot>\n ) : (\n this.errorDescription\n )}\n </div>\n )}\n\n <slot></slot>\n </Host>\n );\n }\n //#endregion RENDER\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const e=new Set(["textContent","innerText","outerText","innerHTML","outerHTML","text","value","defaultValue","checked","defaultChecked","selectionStart","selectionEnd","selectionDirection","form","willValidate","validity","validationMessage","labels","list","maxLength","minLength","valueAsDate","valueAsNumber","contentEditable","isContentEditable","namespaceURI","attributes","children","childNodes","firstChild","lastChild","origin","dataset","attributeStyleMap","prefix","localName","tagName","shadowRoot","assignedSlot","scrollWidth","scrollHeight","clientTop","clientLeft","clientWidth","clientHeight","firstElementChild","lastElementChild","childElementCount","previousElementSibling","nextElementSibling","currentCSSZoom","nodeType","nodeName","baseURI","isConnected","ownerDocument","parentNode","parentElement","previousSibling","nextSibling","ELEMENT_NODE","ATTRIBUTE_NODE","TEXT_NODE","CDATA_SECTION_NODE","ENTITY_REFERENCE_NODE","ENTITY_NODE","PROCESSING_INSTRUCTION_NODE","COMMENT_NODE","DOCUMENT_NODE","DOCUMENT_TYPE_NODE","DOCUMENT_FRAGMENT_NODE","NOTATION_NODE","DOCUMENT_POSITION_DISCONNECTED","DOCUMENT_POSITION_PRECEDING","DOCUMENT_POSITION_FOLLOWING","DOCUMENT_POSITION_CONTAINS","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC"]);function t(n){const i=document.createElement(n.tagName);Array.from(n.attributes).forEach((e=>{i.setAttribute(e.name,e.value)}));const l=new Set;Object.keys(n).forEach((e=>l.add(e)));let E=Object.getPrototypeOf(n);while(E&&E!==HTMLElement.prototype){Object.keys(E).forEach((e=>l.add(e)));E=Object.getPrototypeOf(E)}l.forEach((t=>{if(typeof n[t]!=="function"&&!t.startsWith("on")&&!e.has(t)){try{i[t]=n[t]}catch(e){console.warn(`Could not copy property ${t}:`,e.message)}}}));Object.assign(i.dataset,n.dataset);if(n instanceof HTMLInputElement){i.value=n.value;i.checked=n.checked;i.defaultValue=n.defaultValue;i.defaultChecked=n.defaultChecked;i.selectionStart=n.selectionStart;i.selectionEnd=n.selectionEnd;i.selectionDirection=n.selectionDirection}else if(n instanceof HTMLTextAreaElement){i.value=n.value;i.defaultValue=n.defaultValue;i.selectionStart=n.selectionStart;i.selectionEnd=n.selectionEnd;i.selectionDirection=n.selectionDirection}else if(n instanceof HTMLSelectElement){i.value=n.value;i.selectedIndex=n.selectedIndex}n.childNodes.forEach((e=>{let n;if(e.nodeType===Node.ELEMENT_NODE){n=t(e)}else{n=e.cloneNode(true)}i.appendChild(n)}));return i}export{t as d,e};
|
|
2
|
-
//# sourceMappingURL=p-cb34aa4f.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["excludedProps","Set","deepCopyElement","element","copy","document","createElement","tagName","Array","from","attributes","forEach","attr","setAttribute","name","value","properties","Object","keys","key","add","proto","getPrototypeOf","HTMLElement","prototype","prop","startsWith","has","error","console","warn","message","assign","dataset","HTMLInputElement","checked","defaultValue","defaultChecked","selectionStart","selectionEnd","selectionDirection","HTMLTextAreaElement","HTMLSelectElement","selectedIndex","childNodes","child","childCopy","nodeType","Node","ELEMENT_NODE","cloneNode","appendChild"],"sources":["src/utils/dom.utils.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * All properties that should be excluded from the deep copy of an HTML element.\n */\nexport const excludedProps = new Set([\n // Text and content-related properties\n 'textContent',\n 'innerText',\n 'outerText',\n 'innerHTML',\n 'outerHTML',\n 'text',\n\n // Form element properties\n 'value',\n 'defaultValue',\n 'checked',\n 'defaultChecked',\n 'selectionStart',\n 'selectionEnd',\n 'selectionDirection',\n 'form',\n 'willValidate',\n 'validity',\n 'validationMessage',\n 'labels',\n 'list',\n 'maxLength',\n 'minLength',\n 'valueAsDate',\n 'valueAsNumber',\n\n // Editability and namespaces\n 'contentEditable',\n 'isContentEditable',\n 'namespaceURI',\n\n // Child-related properties (handled recursively)\n 'attributes',\n 'children',\n 'childNodes',\n 'firstChild',\n 'lastChild',\n\n // Blazor-related properties\n 'origin',\n 'dataset',\n 'attributeStyleMap',\n 'prefix',\n 'localName',\n 'tagName',\n 'shadowRoot',\n 'assignedSlot',\n 'scrollWidth',\n 'scrollHeight',\n 'clientTop',\n 'clientLeft',\n 'clientWidth',\n 'clientHeight',\n 'firstElementChild',\n 'lastElementChild',\n 'childElementCount',\n 'previousElementSibling',\n 'nextElementSibling',\n 'currentCSSZoom',\n 'nodeType',\n 'nodeName',\n 'baseURI',\n 'isConnected',\n 'ownerDocument',\n 'parentNode',\n 'parentElement',\n 'previousSibling',\n 'nextSibling',\n 'ELEMENT_NODE',\n 'ATTRIBUTE_NODE',\n 'TEXT_NODE',\n 'CDATA_SECTION_NODE',\n 'ENTITY_REFERENCE_NODE',\n 'ENTITY_NODE',\n 'PROCESSING_INSTRUCTION_NODE',\n 'COMMENT_NODE',\n 'DOCUMENT_NODE',\n 'DOCUMENT_TYPE_NODE',\n 'DOCUMENT_FRAGMENT_NODE',\n 'NOTATION_NODE',\n 'DOCUMENT_POSITION_DISCONNECTED',\n 'DOCUMENT_POSITION_PRECEDING',\n 'DOCUMENT_POSITION_FOLLOWING',\n 'DOCUMENT_POSITION_CONTAINS',\n 'DOCUMENT_POSITION_CONTAINED_BY',\n 'DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC',\n]);\n\n/**\n * Deep copy an HTML element with all its attributes, properties, and child nodes.\n * This method is useful for creating a clone of an element that can be safely modified without affecting the original.\n * @param {HTMLElement} element - The HTML element to copy.\n * @returns {HTMLElement} - A deep copy of the HTML element.\n * @example const copy = deepCopyElement(document.getElementById('myElement'));\n */\nexport function deepCopyElement(element: HTMLElement): HTMLElement {\n const copy = document.createElement(element.tagName);\n\n // ✅ Copy attributes\n Array.from(element.attributes).forEach(attr => {\n copy.setAttribute(attr.name, attr.value);\n });\n\n // ✅ Dynamically extract relevant properties\n const properties = new Set<string>();\n\n // Collect only own enumerable properties\n Object.keys(element).forEach(key => properties.add(key));\n\n // Collect inherited properties from prototypes (HTMLElement -> Element -> Node)\n let proto = Object.getPrototypeOf(element);\n while (proto && proto !== HTMLElement.prototype) {\n Object.keys(proto).forEach(key => properties.add(key));\n proto = Object.getPrototypeOf(proto);\n }\n\n // ✅ Filter and copy only non-function properties (methods are excluded) and non-event listeners\n properties.forEach(prop => {\n if (\n typeof (element as any)[prop] !== 'function' && // Ignore methods\n !prop.startsWith('on') && // Ignore event listeners (onclick, oninput, etc.)\n !excludedProps.has(prop) // 🚨 Prevent text duplication and irrelevant props\n ) {\n try {\n (copy as any)[prop] = (element as any)[prop];\n } catch (error) {\n console.warn(`Could not copy property ${prop}:`, error.message);\n }\n }\n });\n\n // ✅ Copy dataset separately\n Object.assign(copy.dataset, element.dataset);\n\n // ✅ Handle form elements specifically\n if (element instanceof HTMLInputElement) {\n (copy as HTMLInputElement).value = element.value;\n (copy as HTMLInputElement).checked = element.checked;\n (copy as HTMLInputElement).defaultValue = element.defaultValue;\n (copy as HTMLInputElement).defaultChecked = element.defaultChecked;\n (copy as HTMLInputElement).selectionStart = element.selectionStart;\n (copy as HTMLInputElement).selectionEnd = element.selectionEnd;\n (copy as HTMLInputElement).selectionDirection = element.selectionDirection;\n } else if (element instanceof HTMLTextAreaElement) {\n (copy as HTMLTextAreaElement).value = element.value;\n (copy as HTMLTextAreaElement).defaultValue = element.defaultValue;\n (copy as HTMLTextAreaElement).selectionStart = element.selectionStart;\n (copy as HTMLTextAreaElement).selectionEnd = element.selectionEnd;\n (copy as HTMLTextAreaElement).selectionDirection =\n element.selectionDirection;\n } else if (element instanceof HTMLSelectElement) {\n (copy as HTMLSelectElement).value = element.value;\n (copy as HTMLSelectElement).selectedIndex = element.selectedIndex;\n }\n\n // ✅ Recursively copy child nodes (prevent duplicates)\n element.childNodes.forEach(child => {\n let childCopy;\n if (child.nodeType === Node.ELEMENT_NODE) {\n childCopy = deepCopyElement(child as HTMLElement);\n } else {\n childCopy = child.cloneNode(true);\n }\n copy.appendChild(childCopy);\n });\n\n return copy;\n}\n"],"mappings":"MAIaA,EAAgB,IAAIC,IAAI,CAEnC,cACA,YACA,YACA,YACA,YACA,OAGA,QACA,eACA,UACA,iBACA,iBACA,eACA,qBACA,OACA,eACA,WACA,oBACA,SACA,OACA,YACA,YACA,cACA,gBAGA,kBACA,oBACA,eAGA,aACA,WACA,aACA,aACA,YAGA,SACA,UACA,oBACA,SACA,YACA,UACA,aACA,eACA,cACA,eACA,YACA,aACA,cACA,eACA,oBACA,mBACA,oBACA,yBACA,qBACA,iBACA,WACA,WACA,UACA,cACA,gBACA,aACA,gBACA,kBACA,cACA,eACA,iBACA,YACA,qBACA,wBACA,cACA,8BACA,eACA,gBACA,qBACA,yBACA,gBACA,iCACA,8BACA,8BACA,6BACA,iCACA,8C,SAUcC,EAAgBC,GAC9B,MAAMC,EAAOC,SAASC,cAAcH,EAAQI,SAG5CC,MAAMC,KAAKN,EAAQO,YAAYC,SAAQC,IACrCR,EAAKS,aAAaD,EAAKE,KAAMF,EAAKG,MAAM,IAI1C,MAAMC,EAAa,IAAIf,IAGvBgB,OAAOC,KAAKf,GAASQ,SAAQQ,GAAOH,EAAWI,IAAID,KAGnD,IAAIE,EAAQJ,OAAOK,eAAenB,GAClC,MAAOkB,GAASA,IAAUE,YAAYC,UAAW,CAC/CP,OAAOC,KAAKG,GAAOV,SAAQQ,GAAOH,EAAWI,IAAID,KACjDE,EAAQJ,OAAOK,eAAeD,E,CAIhCL,EAAWL,SAAQc,IACjB,UACUtB,EAAgBsB,KAAU,aACjCA,EAAKC,WAAW,QAChB1B,EAAc2B,IAAIF,GACnB,CACA,IACGrB,EAAaqB,GAAStB,EAAgBsB,E,CACvC,MAAOG,GACPC,QAAQC,KAAK,2BAA2BL,KAASG,EAAMG,Q,MAM7Dd,OAAOe,OAAO5B,EAAK6B,QAAS9B,EAAQ8B,SAGpC,GAAI9B,aAAmB+B,iBAAkB,CACtC9B,EAA0BW,MAAQZ,EAAQY,MAC1CX,EAA0B+B,QAAUhC,EAAQgC,QAC5C/B,EAA0BgC,aAAejC,EAAQiC,aACjDhC,EAA0BiC,eAAiBlC,EAAQkC,eACnDjC,EAA0BkC,eAAiBnC,EAAQmC,eACnDlC,EAA0BmC,aAAepC,EAAQoC,aACjDnC,EAA0BoC,mBAAqBrC,EAAQqC,kB,MACnD,GAAIrC,aAAmBsC,oBAAqB,CAChDrC,EAA6BW,MAAQZ,EAAQY,MAC7CX,EAA6BgC,aAAejC,EAAQiC,aACpDhC,EAA6BkC,eAAiBnC,EAAQmC,eACtDlC,EAA6BmC,aAAepC,EAAQoC,aACpDnC,EAA6BoC,mBAC5BrC,EAAQqC,kB,MACL,GAAIrC,aAAmBuC,kBAAmB,CAC9CtC,EAA2BW,MAAQZ,EAAQY,MAC3CX,EAA2BuC,cAAgBxC,EAAQwC,a,CAItDxC,EAAQyC,WAAWjC,SAAQkC,IACzB,IAAIC,EACJ,GAAID,EAAME,WAAaC,KAAKC,aAAc,CACxCH,EAAY5C,EAAgB2C,E,KACvB,CACLC,EAAYD,EAAMK,UAAU,K,CAE9B9C,EAAK+C,YAAYL,EAAU,IAG7B,OAAO1C,CACT,Q","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,c as r,h as o,H as d,g as i}from"./p-d0a33e64.js";import{c as a}from"./p-8a1a6e56.js";import{v as t}from"./p-f5ff676c.js";const n='nv-fieldradio{--nv-fieldradio-border-default:var(--components-form-field-border-default);--nv-fieldradio-border-hover:var(--components-form-field-border-hover);--nv-fieldradio-border-focus:var(--components-form-field-border-default);--nv-fieldradio-background-default:var(--components-form-field-background-default);--nv-fieldradio-background-checked:var(--components-form-field-background-checked);--nv-fieldradio-background-disabled:var(--components-form-field-background-disabled);--nv-fieldradio-focus-box-shadow:var(--color-focus-brand);--nv-fieldradio-dot-color-checked:var(--components-form-shape-foreground-default);--nv-fieldradio-dot-color-disabled:var(--components-form-shape-foreground-disabled);--nv-fieldradio-outline-color:var(--color-focus-brand);display:inline-flex;align-items:flex-start;gap:var(--form-gap-x)}nv-fieldradio:not([disabled]) input,nv-fieldradio:not([disabled]) label,nv-fieldradio[disabled=false] input,nv-fieldradio[disabled=false] label{cursor:pointer}nv-fieldradio.error{--nv-fieldradio-border-default:var(--components-form-field-border-error);--nv-fieldradio-border-hover:var(--nv-fieldradio-border-default);--nv-fieldradio-border-focus:var(--components-form-field-border-error);--nv-fieldradio-background-checked:var(--components-form-field-background-error);--nv-fieldradio-focus-box-shadow:var(--color-focus-destructive);--nv-fieldradio-dot-color-checked:var(--components-form-shape-foreground-default);--nv-fieldradio-dot-color-disabled:var(--components-form-field-border-error);--nv-fieldradio-outline-color:var(--color-focus-destructive)}nv-fieldradio.label-placement-before{flex-direction:row-reverse}nv-fieldradio[disabled]{opacity:0.5}nv-fieldradio label{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:var(--form-label-font-weight);line-height:var(--form-label-line-height)}nv-fieldradio input[type=radio]{appearance:none;position:relative;display:flex;width:var(--form-radio-size);height:var(--form-radio-size);padding:var(--form-radio-inner-circle-padding);flex-direction:column;align-items:flex-start;border-radius:var(--radius-rounded-full);border-width:var(--form-radio-border-width);border-style:solid;border-color:var(--nv-fieldradio-border-default);background:var(--nv-fieldradio-background-default)}nv-fieldradio input[type=radio]:hover{border-color:var(--nv-fieldradio-border-hover)}nv-fieldradio input[type=radio]:focus{border-color:var(--nv-fieldradio-border-focus)}nv-fieldradio input[type=radio]:focus,nv-fieldradio input[type=radio]:focus-within{outline:none}nv-fieldradio input[type=radio]:focus-visible,nv-fieldradio input[type=radio]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--nv-fieldradio-outline-color);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-fieldradio input[type=radio]:checked{background:var(--nv-fieldradio-background-checked);border-color:var(--nv-fieldradio-background-checked)}nv-fieldradio input[type=radio]:checked:hover,nv-fieldradio input[type=radio]:checked:focus{border-color:var(--nv-fieldradio-background-checked);background:var(--nv-fieldradio-background-checked)}nv-fieldradio input[type=radio]:checked::before{content:"";position:absolute;top:50%;right:50%;transform:translate(50%, -50%);left:0;width:var(--form-radio-inner-circle-size);height:var(--form-radio-inner-circle-size);flex-shrink:0;border-radius:var(--radius-rounded-full);background:var(--nv-fieldradio-dot-color-checked)}nv-fieldradio input[type=radio]:disabled{border-radius:var(--radius-rounded-full);border-width:var(--form-radio-border-width);border-style:solid;border-color:var(--nv-fieldradio-border-default);background:var(--nv-fieldradio-background-disabled)}nv-fieldradio input[type=radio]:disabled:checked::before{background:var(--nv-fieldradio-dot-color-disabled)}nv-fieldradio input[type=radio]:disabled:hover{border-color:var(--nv-fieldradio-border-default);background:var(--nv-fieldradio-background-disabled)}nv-fieldradio .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;font-weight:var(--form-description-font-weight);line-height:var(--form-description-line-height)}nv-fieldradio .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;font-weight:var(--form-description-font-weight);line-height:var(--form-description-line-height);color:var(--components-form-text-description-error)}nv-fieldradio .text-container{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0}';const l=n;const f=class{constructor(o){e(this,o);this.checkedChanged=r(this,"checkedChanged",7);this.labelBefore=false;this.inputId=t();this.error=false;this.checked=false;this.disabled=false;this.autofocus=false}componentWillRender(){if(this.message){this.description=this.message}if(this.labelBefore){this.labelPlacement="before"}}handleCheckedChange(e){this.checkedChanged.emit(e)}handleChange(e){const r=e.target;if((r===null||r===void 0?void 0:r.type)==="radio"){Array.from(document.getElementsByTagName("nv-fieldradio")).forEach((e=>{if(e.name===this.name){e.checked=false}}));this.checked=r.checked}}render(){return o(d,{key:"df74694648d4d6ca117d5766871d032b0ec0fa85",class:a(this.labelPlacement==="before"&&"label-placement-before",this.error&&"error")},o("input",{key:"cf30fb745aba5943414e1572a8f7a42af1bf0e3d",type:"radio",id:this.inputId,name:this.name,autofocus:this.autofocus,autocomplete:"off",value:this.value,checked:this.checked,disabled:this.disabled}),o("div",{key:"ff593d4187158ca803f5e49be365f701dc4d618d",class:"text-container"},(this.label||this.el.querySelector('[slot="label"]'))&&o("label",{key:"25120e7e90ce5fb99f90ddca35edc54c1d73f760",htmlFor:this.inputId},o("slot",{key:"557bc3204927f58c0c809870f766fdf36c701c7d",name:"label"},this.label)),(this.description||this.el.querySelector('[slot="description"]'))&&o("div",{key:"9ded425c581cd60f8ef33a830b594589d83fec71",class:"description"},o("slot",{key:"9554607229576afbd33da6bb95d08c7a0b354ee0",name:"description"},this.description)),(this.errorDescription||this.el.querySelector('[slot="error-description"]'))&&o("div",{key:"4435f0d7258e3ea0124d06763ffa6a8f17e8ba15",hidden:!this.error,class:"error-description"},o("slot",{key:"d4a80a4b4ddca790a4cb65d79d5d898da4140a07",name:"error-description"},this.errorDescription))))}static get formAssociated(){return true}get el(){return i(this)}static get watchers(){return{checked:["handleCheckedChange"]}}};f.style=l;export{f as nv_fieldradio};
|
|
2
|
-
//# sourceMappingURL=p-cea942b9.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["nvFieldradioCss","NvFieldradioStyle0","NvFieldradio","constructor","hostRef","this","labelBefore","inputId","uuidv4","error","checked","disabled","autofocus","componentWillRender","message","description","labelPlacement","handleCheckedChange","checkedChanged","emit","handleChange","event","target","type","Array","from","document","getElementsByTagName","forEach","element","name","render","h","Host","key","class","clsx","id","autocomplete","value","label","el","querySelector","htmlFor","errorDescription","hidden"],"sources":["src/components/nv-fieldradio/nv-fieldradio.scss?tag=nv-fieldradio","src/components/nv-fieldradio/nv-fieldradio.tsx"],"sourcesContent":["@import \"../../styles/focus-ring\";\n\n@mixin fieldradio-variables() {\n --nv-fieldradio-border-default: var(--components-form-field-border-default);\n --nv-fieldradio-border-hover: var(--components-form-field-border-hover);\n --nv-fieldradio-border-focus: var(--components-form-field-border-default);\n --nv-fieldradio-background-default: var(--components-form-field-background-default);\n --nv-fieldradio-background-checked: var(--components-form-field-background-checked);\n --nv-fieldradio-background-disabled: var(--components-form-field-background-disabled);\n --nv-fieldradio-focus-box-shadow: var(--color-focus-brand);\n --nv-fieldradio-dot-color-checked: var(--components-form-shape-foreground-default);\n --nv-fieldradio-dot-color-disabled: var(--components-form-shape-foreground-disabled);\n --nv-fieldradio-outline-color: var(--color-focus-brand);\n}\n\n@mixin fieldradio-error-variables() {\n --nv-fieldradio-border-default: var(--components-form-field-border-error);\n --nv-fieldradio-border-hover: var(--nv-fieldradio-border-default);\n --nv-fieldradio-border-focus: var(--components-form-field-border-error);\n --nv-fieldradio-background-checked: var(--components-form-field-background-error);\n --nv-fieldradio-focus-box-shadow: var(--color-focus-destructive);\n --nv-fieldradio-dot-color-checked: var(--components-form-shape-foreground-default);\n --nv-fieldradio-dot-color-disabled: var(--components-form-field-border-error);\n --nv-fieldradio-outline-color: var(--color-focus-destructive);\n\n}\n\n@mixin root-styles() {\n display: inline-flex;\n align-items: flex-start;\n gap: var(--form-gap-x);\n\n &:not([disabled]),\n &[disabled=\"false\"] {\n input,\n label {\n cursor: pointer;\n }\n }\n}\n\n@mixin label-before-styles() {\n flex-direction: row-reverse;\n}\n\n@mixin label-styles() {\n align-self: stretch;\n color: var(--components-form-text-label-default);\n font-family: \"TT Norms Pro\", sans-serif;\n font-size: var(--form-label-font-size);\n font-style: normal;\n font-weight: var(--form-label-font-weight);\n line-height: var(--form-label-line-height);\n}\n\n@mixin description-styles() {\n align-self: stretch;\n color: var(--components-form-text-description-default);\n font-family: \"TT Norms Pro\", sans-serif;\n font-size: var(--form-description-font-size);\n font-style: normal;\n font-weight: var(--form-description-font-weight);\n line-height: var(--form-description-line-height);\n}\n\n@mixin error-description-styles() {\n @include description-styles();\n\n color: var(--components-form-text-description-error);\n}\n\n@mixin text-container-styles() {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n flex: 1 0 0;\n}\n\n@mixin input-styles() {\n appearance: none;\n position: relative;\n display: flex;\n width: var(--form-radio-size);\n height: var(--form-radio-size);\n padding: var(--form-radio-inner-circle-padding);\n flex-direction: column;\n align-items: flex-start;\n //gap: 10px;\n border-radius: var(--radius-rounded-full);\n border-width: var(--form-radio-border-width);\n border-style: solid;\n border-color: var(--nv-fieldradio-border-default);\n background: var(--nv-fieldradio-background-default);\n\n &:hover {\n border-color: var(--nv-fieldradio-border-hover);\n }\n\n &:focus {\n border-color: var(--nv-fieldradio-border-focus);\n }\n\n @include focus-ring(var(--nv-fieldradio-outline-color));\n\n &:checked {\n background: var(--nv-fieldradio-background-checked);\n border-color: var(--nv-fieldradio-background-checked);\n\n &:hover,\n &:focus {\n border-color: var(--nv-fieldradio-background-checked);\n background: var(--nv-fieldradio-background-checked);\n }\n\n &::before {\n content: \"\";\n position: absolute;\n top: 50%;\n right: 50%;\n transform: translate(50%, -50%);\n left: 0;\n width: var(--form-radio-inner-circle-size);\n height: var(--form-radio-inner-circle-size);\n flex-shrink: 0;\n border-radius: var(--radius-rounded-full);\n background: var(--nv-fieldradio-dot-color-checked);\n }\n }\n\n &:disabled {\n border-radius: var(--radius-rounded-full);\n border-width: var(--form-radio-border-width);\n border-style: solid;\n border-color: var(--nv-fieldradio-border-default);\n background: var(--nv-fieldradio-background-disabled);\n\n &:checked {\n &::before {\n background: var(--nv-fieldradio-dot-color-disabled);\n }\n }\n\n &:hover {\n border-color: var(--nv-fieldradio-border-default);\n background: var(--nv-fieldradio-background-disabled);\n }\n }\n}\n\nnv-fieldradio {\n @include fieldradio-variables();\n @include root-styles();\n\n &.error {\n @include fieldradio-error-variables();\n }\n\n &.label-placement-before {\n @include label-before-styles();\n }\n \n &[disabled] {\n // TODO: Find a way to use the --components-form-opacity-disabled variable properly, right now it outputs a value of 50px instead of 0.5.\n // opacity: var(--components-form-opacity-disabled); Error: Invalid value for --components-form-opacity-disabled (expected a <number> but got \"50px\")\n opacity: 0.5;\n }\n\n label {\n @include label-styles();\n }\n\n input[type=\"radio\"] {\n @include input-styles();\n }\n\n .description {\n @include description-styles();\n }\n\n .error-description {\n @include error-description-styles();\n }\n\n .text-container {\n @include text-container-styles();\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Listen,\n Watch,\n Element,\n} from '@stencil/core';\nimport clsx from 'clsx';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport { type LabelPlacement } from '../../utils/constants';\n\n/**\n * @slot label - Content to be placed as the label, will override the label prop.\n * @slot description - Content to be placed as the description, will override the description prop.\n * @slot error-description - Content to be placed as the error description, will override the errorDescription prop.\n */\n@Component({\n tag: 'nv-fieldradio',\n shadow: false,\n styleUrl: 'nv-fieldradio.scss',\n formAssociated: true,\n})\nexport class NvFieldradio {\n @Element() el: HTMLNvFieldradioElement;\n\n /****************************************************************************/\n //#region DEPRECATED\n\n /**\n * Adds a helpful hint message below the label\n * @deprecated use description instead.\n */\n @Prop({ reflect: true })\n readonly message: string;\n\n /**\n * Set the label placement to before the input\n * @deprecated use labelPlacement instead.\n */\n @Prop({ reflect: true })\n readonly labelBefore: boolean = false;\n\n componentWillRender() {\n if (this.message) {\n this.description = this.message;\n }\n\n if (this.labelBefore) {\n this.labelPlacement = 'before';\n }\n }\n\n //#endregion DEPRECATED\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Sets the ID for the radio button’s input element and the for attribute of\n * the associated label. If no ID is provided, a random one will be\n * automatically generated to ensure unique identification, facilitating\n * proper label association and accessibility.\n */\n @Prop({ reflect: true })\n readonly inputId: string = uuidv4();\n\n /**\n * Use this to assign a group name to your radio buttons. When you have\n * multiple radio buttons with the same name, users will be able to select\n * only one option within that group, making your forms more organized and\n * user-friendly.\n */\n @Prop({ reflect: true })\n readonly name: string;\n\n /**\n * Defines what data will be sent when the radio button is selected.\n * This helps you identify which option the user has chosen in your form,\n * ensuring accurate data collection. When the form is submitted, the data\n * will consist of a name=value pair.\n */\n @Prop({ reflect: true })\n readonly value: string;\n\n /**\n * Sets the text content that is rendered next to the input element of type\n * radio. This label is essential for accessibility and user clarity, as it\n * describes the purpose or option of the radio button.\n */\n @Prop({ reflect: true })\n readonly label: string;\n\n /**\n * Defines the position of the label relative to the radio button.\n */\n @Prop({ mutable: true, reflect: true })\n labelPlacement: `${LabelPlacement}`;\n\n /**\n * Adds a helpful hint message below the label. This description provides\n * extra information or context about the radio button option, assisting users\n * in making more informed choices.\n */\n @Prop({ mutable: true, reflect: true })\n description: string;\n\n /**\n * Highlight the radio button with error styling. It helps users quickly\n * identify which option needs attention, improving their form-filling\n * experience by making issues more visible.\n * @validator error\n */\n @Prop({ reflect: true })\n readonly error: boolean = false;\n\n /**\n * A description that appears when there is an error related to the radio\n * button.\n * @validator message\n */\n @Prop({ reflect: true })\n readonly errorDescription: string;\n\n /**\n * Controls whether the radio button is selected.\n */\n @Prop({ mutable: true, reflect: true })\n checked: boolean = false;\n\n /**\n * Disables the radio button, making it un-selectable.\n */\n @Prop({ reflect: true })\n readonly disabled: boolean = false;\n\n /**\n * Applies focus to the input field as soon as the component is mounted. This\n * is equivalent to setting the native autofocus attribute on an <input>\n * element.\n */\n @Prop({ reflect: true })\n // eslint-disable-next-line @stencil-community/reserved-member-names\n readonly autofocus: boolean = false;\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emits when the checked state changes.\n * @bind checked\n */\n @Event()\n checkedChanged: EventEmitter<boolean>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region WATCHERS\n\n /**\n * Watches for changes to the checked state and emits the new value.\n * @param {boolean} checked - The new value of the checked state.\n */\n @Watch('checked')\n handleCheckedChange(checked: boolean) {\n this.checkedChanged.emit(checked);\n }\n\n /**\n * Listens for the change event on the radio button input element and controls\n * the checked state of the host elements.\n * @param {Event} event - The change event.\n */\n @Listen('change')\n handleChange(event: Event) {\n const target = event.target as HTMLInputElement;\n\n if (target?.type === 'radio') {\n Array.from(document.getElementsByTagName('nv-fieldradio')).forEach(\n element => {\n if (element.name === this.name) {\n element.checked = false;\n }\n },\n );\n\n this.checked = target.checked;\n }\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n return (\n <Host\n class={clsx(\n this.labelPlacement === 'before' && 'label-placement-before',\n this.error && 'error',\n )}\n >\n <input\n type=\"radio\"\n id={this.inputId}\n name={this.name}\n autofocus={this.autofocus}\n autocomplete=\"off\"\n value={this.value}\n checked={this.checked}\n disabled={this.disabled}\n />\n\n <div class=\"text-container\">\n {(this.label || this.el.querySelector('[slot=\"label\"]')) && (\n <label htmlFor={this.inputId}>\n <slot name=\"label\">{this.label}</slot>\n </label>\n )}\n\n {(this.description ||\n this.el.querySelector('[slot=\"description\"]')) && (\n <div class=\"description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n )}\n\n {(this.errorDescription ||\n this.el.querySelector('[slot=\"error-description\"]')) && (\n <div hidden={!this.error} class=\"error-description\">\n <slot name=\"error-description\">{this.errorDescription}</slot>\n </div>\n )}\n </div>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"],"mappings":"wIAAA,MAAMA,EAAkB,osJACxB,MAAAC,EAAeD,E,MC0BFE,EAAY,MANzB,WAAAC,CAAAC,G,yDAwBWC,KAAAC,YAAuB,MAuBvBD,KAAAE,QAAkBC,IAiDlBH,KAAAI,MAAiB,MAc1BJ,KAAAK,QAAmB,MAMVL,KAAAM,SAAoB,MASpBN,KAAAO,UAAqB,K,CAnG9B,mBAAAC,GACE,GAAIR,KAAKS,QAAS,CAChBT,KAAKU,YAAcV,KAAKS,O,CAG1B,GAAIT,KAAKC,YAAa,CACpBD,KAAKW,eAAiB,Q,EAmH1B,mBAAAC,CAAoBP,GAClBL,KAAKa,eAAeC,KAAKT,E,CAS3B,YAAAU,CAAaC,GACX,MAAMC,EAASD,EAAMC,OAErB,IAAIA,IAAM,MAANA,SAAM,SAANA,EAAQC,QAAS,QAAS,CAC5BC,MAAMC,KAAKC,SAASC,qBAAqB,kBAAkBC,SACzDC,IACE,GAAIA,EAAQC,OAASzB,KAAKyB,KAAM,CAC9BD,EAAQnB,QAAU,K,KAKxBL,KAAKK,QAAUY,EAAOZ,O,EAQ1B,MAAAqB,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAOC,EACL/B,KAAKW,iBAAmB,UAAY,yBACpCX,KAAKI,OAAS,UAGhBuB,EAAA,SAAAE,IAAA,2CACEX,KAAK,QACLc,GAAIhC,KAAKE,QACTuB,KAAMzB,KAAKyB,KACXlB,UAAWP,KAAKO,UAChB0B,aAAa,MACbC,MAAOlC,KAAKkC,MACZ7B,QAASL,KAAKK,QACdC,SAAUN,KAAKM,WAGjBqB,EAAA,OAAAE,IAAA,2CAAKC,MAAM,mBACP9B,KAAKmC,OAASnC,KAAKoC,GAAGC,cAAc,oBACpCV,EAAA,SAAAE,IAAA,2CAAOS,QAAStC,KAAKE,SACnByB,EAAA,QAAAE,IAAA,2CAAMJ,KAAK,SAASzB,KAAKmC,SAI3BnC,KAAKU,aACLV,KAAKoC,GAAGC,cAAc,0BACtBV,EAAA,OAAAE,IAAA,2CAAKC,MAAM,eACTH,EAAA,QAAAE,IAAA,2CAAMJ,KAAK,eAAezB,KAAKU,eAIjCV,KAAKuC,kBACLvC,KAAKoC,GAAGC,cAAc,gCACtBV,EAAA,OAAAE,IAAA,2CAAKW,QAASxC,KAAKI,MAAO0B,MAAM,qBAC9BH,EAAA,QAAAE,IAAA,2CAAMJ,KAAK,qBAAqBzB,KAAKuC,oB","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,c as i,h as t,H as n,g as o}from"./p-d0a33e64.js";import{u as a}from"./p-31591941.js";import"./p-42ea6b74.js";const s="nv-accordion-item{display:block;border-bottom:var(--spacing-px) solid var(--color-content-low-border)}nv-accordion-item:last-child{border-bottom:none}nv-accordion-item .nv-accordion-item__header{cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4)}nv-accordion-item .nv-accordion-item__header .nv-accordion-item__chevron{margin-left:var(--spacing-2);flex-shrink:0}nv-accordion-item .nv-accordion-item__header .nv-accordion-item__header-content{display:flex;flex-direction:column;gap:var(--spacing-0-5);flex:1;min-width:0}nv-accordion-item .nv-accordion-item__header .nv-accordion-item__title{color:var(--color-content-high-text);font-size:var(--font-size-lg);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--line-height-lg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}nv-accordion-item .nv-accordion-item__header .nv-accordion-item__subtitle{color:var(--color-content-low-text);font-size:var(--font-size-md);font-style:normal;font-weight:var(--font-weight-medium-emphasis);line-height:var(--line-height-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}nv-accordion-item .nv-accordion-item__content{background:var(--color-level-10-background)}nv-accordion-item .nv-accordion-item__content .nv-accordion-item__content-inner{padding:var(--spacing-4);color:var(--color-content-low-text);font-size:var(--font-size-md);font-style:normal;font-weight:500;line-height:var(--line-height-base);}nv-accordion-item.is-disabled{opacity:var(--opacity-disabled);pointer-events:none}nv-accordion-item.is-open .nv-accordion-item__header{border-bottom:var(--spacing-px) solid var(--color-content-low-border)}nv-accordion-item:last-child .nv-accordion-item__content{border-radius:0 0 calc(var(--radius-rounded-lg) - var(--spacing-px)) calc(var(--radius-rounded-lg) - var(--spacing-px))}";const c=s;const r=class{constructor(t){e(this,t);this.itemToggle=i(this,"itemToggle",7);this.isToggling=false;this.open=false;this.disabled=false;this.mode="accordion";this.currentOpenState=false;this.isInitialized=false;this.isAnimating=false;this.handleHeaderClick=()=>{this.toggle()};this.handleIconClick=e=>{e.stopPropagation();this.toggle()};this.handleHeaderKeyDown=e=>{if(this.disabled){console.warn("[handleHeaderKeyDown] Ignored (disabled)");return}switch(e.key){case"Enter":case" ":e.preventDefault();this.toggle();break;case"ArrowDown":e.preventDefault();if(!this.open){this.isToggling=true;this.open=true;this.itemToggle.emit(true);this.isToggling=false}break;case"ArrowUp":e.preventDefault();if(this.open){this.isToggling=true;this.open=false;this.itemToggle.emit(false);this.isToggling=false}break}}}async onOpenChanged(e,i){if(this.disabled){console.warn("[onOpenChanged] Item is disabled, forcing closed state");this.currentOpenState=false;this.open=false;return}this.currentOpenState=e;const t=i===undefined;if(!t){if(e===false&&!this.isToggling){this.itemToggle.emit(e)}else if(e&&!this.isToggling){this.itemToggle.emit(e)}await this.updateVisibility(e)}}async updateVisibility(e){if(!this.contentRef){console.error("[updateVisibility] No contentRef available");return}this.isAnimating=true;const{collapse:i,expand:t}=a(this.contentRef,{duration:200});if(e){await t()}else{await i()}this.isAnimating=false}componentWillLoad(){this.currentOpenState=this.open}componentDidLoad(){if(this.contentRef){setTimeout((()=>{const{setExpanded:e,setCollapsed:i}=a(this.contentRef,{duration:200});if(this.open){e();this.currentOpenState=true}else{i();this.currentOpenState=false}this.isInitialized=true}),0)}}disconnectedCallback(){if(this.mutationObserver){this.mutationObserver.disconnect()}}async toggle(){if(!this.disabled&&!this.isAnimating){this.isToggling=true;const e=!this.open;this.open=e;this.itemToggle.emit(e);this.isToggling=false}else{console.warn("[toggle] Ignored toggle (disabled or animating)")}}get chevronIconName(){const e=this.open?"chevron-top":"chevron-down";return e}render(){return t(n,{key:"4d5ae52ba3e8cac86316d790f95afd39f6c73019",class:{"nv-accordion-item":true,"is-open":this.currentOpenState,"is-disabled":this.disabled,"is-animating":this.isAnimating},role:"listitem","aria-expanded":this.currentOpenState?"true":"false","aria-disabled":this.disabled?"true":"false"},t("div",{key:"866562d2f3033189e6d5df8fa5576d2f1540959e",class:"nv-accordion-item__header",onClick:this.handleHeaderClick,"aria-controls":"content"},t("slot",{key:"36d2b14528c6bd6665ccfc94707d62dc406262d0",name:"header"},t("div",{key:"c78c1e485d0128708db6fc5fb2b64c6c01e4ed0f",class:"nv-accordion-item__header-content"},this.itemTitle&&t("span",{key:"524cf377a4c89752eeed1933dbb8fd2343cd8830",class:"nv-accordion-item__title"},this.itemTitle),this.subtitle&&t("span",{key:"b8ee5edc3c798218348490fc43c458c45934ee83",class:"nv-accordion-item__subtitle"},this.subtitle))),t("nv-iconbutton",{key:"aa474788bb5551ca7b94261dca1ccb2e5aced3d3",emphasis:"low",size:"sm",shape:"square",name:this.chevronIconName,tabindex:this.disabled?-1:0,onClick:this.handleIconClick,onKeyDown:this.handleHeaderKeyDown,"aria-controls":"content","aria-label":this.currentOpenState?"Close the section":"Open the section"})),t("div",{key:"3b49afd97cc797b165a8fa6753f564349735aad1",id:"content",class:"nv-accordion-item__content",ref:e=>this.contentRef=e},t("div",{key:"955b5c7cef3259a2531ecc14eafb806a9d28c9a6",class:"nv-accordion-item__content-inner"},t("slot",{key:"56ff89e2041d425f520fe6e62975bbb7193653f2",name:"content"}))))}get el(){return o(this)}static get watchers(){return{open:["onOpenChanged"]}}};r.style=c;export{r as nv_accordion_item};
|
|
2
|
-
//# sourceMappingURL=p-cfd5785e.entry.js.map
|