@nova-design-system/nova-webcomponents 3.5.0 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{timeline.animation-dbb9c5ea.js → collapse.animation-a129dc3f.js} +5 -26
- package/dist/cjs/collapse.animation-a129dc3f.js.map +1 -0
- package/dist/cjs/fade.animation-644b5c4d.js +70 -0
- package/dist/cjs/fade.animation-644b5c4d.js.map +1 -0
- package/dist/cjs/{grow.animation-a1f0bc22.js → grow.animation-6d003803.js} +5 -5
- package/dist/cjs/{grow.animation-a1f0bc22.js.map → grow.animation-6d003803.js.map} +1 -1
- package/dist/cjs/index-c56424e5.js +8 -0
- package/dist/cjs/index.cjs.js +6 -4
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/native.cjs.js +1 -1
- package/dist/cjs/nv-accordion-item.cjs.entry.js +181 -0
- package/dist/cjs/nv-accordion-item.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-accordion.cjs.entry.js +167 -0
- package/dist/cjs/nv-accordion.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-alert.cjs.entry.js +6 -4
- package/dist/cjs/nv-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-avatar.cjs.entry.js +1 -1
- package/dist/cjs/nv-badge_2.cjs.entry.js +9 -7
- package/dist/cjs/nv-badge_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/nv-breadcrumbs.cjs.entry.js +1 -1
- package/dist/cjs/nv-button.cjs.entry.js +1 -1
- package/dist/cjs/nv-calendar.cjs.entry.js +96 -66
- package/dist/cjs/nv-calendar.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-col.cjs.entry.js +1 -1
- package/dist/cjs/nv-datagrid.cjs.entry.js +2 -2
- package/dist/cjs/nv-datagridcolumn.cjs.entry.js +1 -1
- package/dist/cjs/nv-dialog.cjs.entry.js +19 -6
- package/dist/cjs/nv-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +2 -2
- package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +4 -4
- package/dist/cjs/nv-fieldcheckbox.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddate.cjs.entry.js +121 -35
- package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddaterange.cjs.entry.js +32 -4
- package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddropdown.cjs.entry.js +3 -3
- package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +95 -102
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldnumber.cjs.entry.js +3 -3
- package/dist/cjs/nv-fieldpassword.cjs.entry.js +3 -3
- package/dist/cjs/nv-fieldradio.cjs.entry.js +3 -3
- package/dist/cjs/nv-fieldselect.cjs.entry.js +5 -5
- package/dist/cjs/nv-fieldslider.cjs.entry.js +53 -9
- package/dist/cjs/nv-fieldslider.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldtext.cjs.entry.js +3 -3
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js +3 -3
- package/dist/cjs/nv-fieldtime.cjs.entry.js +10 -10
- package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-icon.cjs.entry.js +1 -1
- package/dist/cjs/nv-iconbutton_2.cjs.entry.js +2 -2
- package/dist/cjs/nv-menu.cjs.entry.js +1 -1
- package/dist/cjs/nv-menuitem.cjs.entry.js +1 -1
- package/dist/cjs/nv-popover.cjs.entry.js +4 -3
- package/dist/cjs/nv-popover.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-row.cjs.entry.js +1 -1
- package/dist/cjs/nv-stack.cjs.entry.js +1 -1
- package/dist/cjs/nv-table.cjs.entry.js +2 -2
- package/dist/cjs/nv-toggle.cjs.entry.js +2 -2
- package/dist/cjs/nv-tooltip.cjs.entry.js +3 -2
- package/dist/cjs/nv-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/{fade.animation-0d33d198.js → stylefire.es-717e022a.js} +1 -65
- package/dist/cjs/stylefire.es-717e022a.js.map +1 -0
- package/dist/cjs/timeline.animation-155e8839.js +25 -0
- package/dist/cjs/timeline.animation-155e8839.js.map +1 -0
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/nv-accordion/nv-accordion.docs.js +153 -0
- package/dist/collection/components/nv-accordion/nv-accordion.docs.js.map +1 -0
- package/dist/collection/components/nv-accordion/nv-accordion.js +310 -0
- package/dist/collection/components/nv-accordion/nv-accordion.js.map +1 -0
- package/dist/collection/components/nv-accordion/styles/nv-accordion.css +15 -0
- package/dist/collection/components/nv-accordion-item/nv-accordion-item.docs.js +6 -0
- package/dist/collection/components/nv-accordion-item/nv-accordion-item.docs.js.map +1 -0
- package/dist/collection/components/nv-accordion-item/nv-accordion-item.js +353 -0
- package/dist/collection/components/nv-accordion-item/nv-accordion-item.js.map +1 -0
- package/dist/collection/components/nv-accordion-item/styles/nv-accordion-item.css +66 -0
- package/dist/collection/components/nv-alert/nv-alert.js +1 -1
- package/dist/collection/components/nv-avatar/nv-avatar.js +1 -1
- package/dist/collection/components/nv-badge/nv-badge.js +2 -2
- package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js +1 -1
- package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js +1 -1
- package/dist/collection/components/nv-button/nv-button.js +1 -1
- package/dist/collection/components/nv-calendar/nv-calendar.css +10 -0
- package/dist/collection/components/nv-calendar/nv-calendar.js +110 -43
- package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -1
- package/dist/collection/components/nv-calendar/nv-calendar.utils.js +0 -20
- package/dist/collection/components/nv-calendar/nv-calendar.utils.js.map +1 -1
- package/dist/collection/components/nv-calendar/partials/calendar-grid.js +6 -2
- package/dist/collection/components/nv-calendar/partials/calendar-grid.js.map +1 -1
- package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js +5 -31
- package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js.map +1 -1
- package/dist/collection/components/nv-col/nv-col.js +1 -1
- package/dist/collection/components/nv-datagrid/nv-datagrid.js +2 -2
- package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +1 -1
- package/dist/collection/components/nv-dialog/nv-dialog.css +1 -1
- package/dist/collection/components/nv-dialog/nv-dialog.js +38 -5
- package/dist/collection/components/nv-dialog/nv-dialog.js.map +1 -1
- package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js +1 -1
- package/dist/collection/components/nv-dialogheader/nv-dialogheader.js +1 -1
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +6 -4
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js.map +1 -1
- package/dist/collection/components/nv-fielddate/nv-fielddate.js +148 -34
- package/dist/collection/components/nv-fielddate/nv-fielddate.js.map +1 -1
- package/dist/collection/components/nv-fielddate/styles/nv-fielddate.css +2 -0
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +61 -4
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +1 -1
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +3 -3
- package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +1 -1
- package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js +7 -1
- package/dist/collection/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.js.map +1 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +44 -34
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +127 -117
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +3 -3
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +3 -3
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +5 -5
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +3 -3
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.js.map +1 -1
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js +45 -1
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js.map +1 -1
- package/dist/collection/components/nv-fieldslider/partials/range-thumb.js +4 -4
- package/dist/collection/components/nv-fieldslider/partials/range-thumb.js.map +1 -1
- package/dist/collection/components/nv-fieldslider/partials/single-thumb.js +3 -3
- package/dist/collection/components/nv-fieldslider/partials/single-thumb.js.map +1 -1
- package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js +42 -1
- package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js.map +1 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +3 -3
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -3
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +9 -9
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.js.map +1 -1
- package/dist/collection/components/nv-fieldtime/styles/nv-fieldtime.css +11 -13
- package/dist/collection/components/nv-icon/nv-icon.js +1 -1
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
- package/dist/collection/components/nv-loader/nv-loader.js +1 -1
- package/dist/collection/components/nv-menu/nv-menu.js +1 -1
- package/dist/collection/components/nv-menuitem/nv-menuitem.js +1 -1
- package/dist/collection/components/nv-popover/nv-popover.js +1 -1
- package/dist/collection/components/nv-row/nv-row.js +1 -1
- package/dist/collection/components/nv-stack/nv-stack.js +1 -1
- package/dist/collection/components/nv-table/nv-table.js +2 -2
- package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
- package/dist/collection/components/nv-tooltip/nv-tooltip.js +21 -3
- package/dist/collection/components/nv-tooltip/nv-tooltip.js.map +1 -1
- package/dist/components/index.js +4 -3
- package/dist/components/index.js.map +1 -1
- package/dist/components/nv-accordion-item.d.ts +11 -0
- package/dist/components/nv-accordion-item.js +8 -0
- package/dist/components/nv-accordion-item.js.map +1 -0
- package/dist/components/nv-accordion.d.ts +11 -0
- package/dist/components/nv-accordion.js +212 -0
- package/dist/components/nv-accordion.js.map +1 -0
- package/dist/components/nv-alert.js +6 -4
- package/dist/components/nv-alert.js.map +1 -1
- package/dist/components/nv-avatar.js +2 -2
- package/dist/components/nv-badge.js +1 -1
- package/dist/components/nv-breadcrumb.js +3 -3
- package/dist/components/nv-breadcrumbs.js +1 -1
- package/dist/components/nv-button.js +1 -1
- package/dist/components/nv-calendar.js +1 -1
- package/dist/components/nv-col.js +1 -1
- package/dist/components/nv-datagrid.js +4 -4
- package/dist/components/nv-datagridcolumn.js +1 -1
- package/dist/components/nv-dialog.js +25 -11
- 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 +130 -42
- package/dist/components/nv-fielddate.js.map +1 -1
- package/dist/components/nv-fielddaterange.js +40 -11
- package/dist/components/nv-fielddaterange.js.map +1 -1
- package/dist/components/nv-fielddropdown.js +8 -8
- package/dist/components/nv-fielddropdownitem.js +1 -1
- package/dist/components/nv-fielddropdownitemcheck.js +1 -1
- package/dist/components/nv-fieldmultiselect.js +104 -112
- package/dist/components/nv-fieldmultiselect.js.map +1 -1
- package/dist/components/nv-fieldnumber.js +1 -1
- package/dist/components/nv-fieldpassword.js +6 -6
- package/dist/components/nv-fieldradio.js +3 -3
- package/dist/components/nv-fieldselect.js +8 -8
- package/dist/components/nv-fieldslider.js +57 -13
- package/dist/components/nv-fieldslider.js.map +1 -1
- package/dist/components/nv-fieldtext.js +1 -1
- package/dist/components/nv-fieldtextarea.js +3 -3
- package/dist/components/nv-fieldtime.js +14 -14
- package/dist/components/nv-fieldtime.js.map +1 -1
- package/dist/components/nv-icon.js +1 -1
- package/dist/components/nv-iconbutton.js +1 -1
- package/dist/components/nv-loader.js +1 -1
- package/dist/components/nv-menu.js +4 -4
- package/dist/components/nv-menuitem.js +1 -1
- package/dist/components/nv-popover.js +1 -1
- package/dist/components/nv-row.js +1 -1
- package/dist/components/nv-stack.js +1 -1
- package/dist/components/nv-table.js +2 -2
- package/dist/components/nv-toggle.js +2 -2
- package/dist/components/nv-tooltip.js +1 -1
- package/dist/components/{p-9e6e26cb.js → p-0143cee0.js} +5 -5
- package/dist/components/p-0143cee0.js.map +1 -0
- package/dist/components/{p-e8c083e3.js → p-07550eac.js} +3 -3
- package/dist/components/{p-e8c083e3.js.map → p-07550eac.js.map} +1 -1
- package/dist/components/{p-1daca48a.js → p-09cdd71f.js} +2 -65
- package/dist/components/p-09cdd71f.js.map +1 -0
- package/dist/components/{p-919b5237.js → p-12258eef.js} +5 -5
- package/dist/components/{p-919b5237.js.map → p-12258eef.js.map} +1 -1
- package/dist/components/{p-05c19c9a.js → p-144e80f0.js} +4 -4
- package/dist/components/{p-05c19c9a.js.map → p-144e80f0.js.map} +1 -1
- package/dist/components/p-15aeab4d.js +23 -0
- package/dist/components/p-15aeab4d.js.map +1 -0
- package/dist/components/p-1cbacdba.js +68 -0
- package/dist/components/p-1cbacdba.js.map +1 -0
- package/dist/components/p-44df0d22.js +223 -0
- package/dist/components/p-44df0d22.js.map +1 -0
- package/dist/components/{p-cebdbb40.js → p-5d5668f0.js} +3 -3
- package/dist/components/{p-cebdbb40.js.map → p-5d5668f0.js.map} +1 -1
- package/dist/components/{p-001c888b.js → p-8067d283.js} +5 -4
- package/dist/components/p-8067d283.js.map +1 -0
- package/dist/components/{p-4badc1d2.js → p-8b82a6f4.js} +7 -7
- package/dist/components/{p-4badc1d2.js.map → p-8b82a6f4.js.map} +1 -1
- package/dist/components/{p-c1765831.js → p-8d45dbfe.js} +2 -2
- package/dist/components/{p-c1765831.js.map → p-8d45dbfe.js.map} +1 -1
- package/dist/components/{p-9f1e8ef3.js → p-91a558eb.js} +2 -2
- package/dist/components/{p-9f1e8ef3.js.map → p-91a558eb.js.map} +1 -1
- package/dist/components/{p-42301d8f.js → p-9a263d0e.js} +3 -23
- package/dist/components/p-9a263d0e.js.map +1 -0
- package/dist/components/{p-5bee0141.js → p-ba87d9d5.js} +6 -5
- package/dist/components/p-ba87d9d5.js.map +1 -0
- package/dist/components/{p-6277f746.js → p-ca130ad2.js} +2 -2
- package/dist/components/{p-6277f746.js.map → p-ca130ad2.js.map} +1 -1
- package/dist/components/{p-a0d7e0cd.js → p-d32b75ac.js} +99 -68
- package/dist/components/p-d32b75ac.js.map +1 -0
- package/dist/components/{p-970cd9b1.js → p-d576d64f.js} +5 -5
- package/dist/components/{p-970cd9b1.js.map → p-d576d64f.js.map} +1 -1
- package/dist/components/{p-e072f051.js → p-dd7ff995.js} +2 -2
- package/dist/components/{p-e072f051.js.map → p-dd7ff995.js.map} +1 -1
- package/dist/components/{p-918bb719.js → p-dfd2d4f0.js} +2 -2
- package/dist/components/{p-918bb719.js.map → p-dfd2d4f0.js.map} +1 -1
- package/dist/components/{p-44f0039b.js → p-e104c58a.js} +4 -4
- package/dist/components/p-e104c58a.js.map +1 -0
- package/dist/components/{p-00ac701f.js → p-e8e6f88a.js} +8 -6
- package/dist/components/p-e8e6f88a.js.map +1 -0
- package/dist/components/{p-d56b30ab.js → p-f97d1cb1.js} +3 -3
- package/dist/components/{p-d56b30ab.js.map → p-f97d1cb1.js.map} +1 -1
- package/dist/esm/{timeline.animation-1b88f052.js → collapse.animation-16e3af45.js} +3 -23
- package/dist/esm/collapse.animation-16e3af45.js.map +1 -0
- package/dist/esm/fade.animation-71e8e34c.js +68 -0
- package/dist/esm/fade.animation-71e8e34c.js.map +1 -0
- package/dist/esm/{grow.animation-cac164da.js → grow.animation-f7b26024.js} +2 -2
- package/dist/esm/{grow.animation-cac164da.js.map → grow.animation-f7b26024.js.map} +1 -1
- package/dist/esm/index-a1936cd0.js +8 -0
- package/dist/esm/index.js +5 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/native.js +1 -1
- package/dist/esm/nv-accordion-item.entry.js +177 -0
- package/dist/esm/nv-accordion-item.entry.js.map +1 -0
- package/dist/esm/nv-accordion.entry.js +163 -0
- package/dist/esm/nv-accordion.entry.js.map +1 -0
- package/dist/esm/nv-alert.entry.js +5 -3
- package/dist/esm/nv-alert.entry.js.map +1 -1
- package/dist/esm/nv-avatar.entry.js +1 -1
- package/dist/esm/nv-badge_2.entry.js +7 -5
- package/dist/esm/nv-badge_2.entry.js.map +1 -1
- package/dist/esm/nv-breadcrumb.entry.js +1 -1
- package/dist/esm/nv-breadcrumbs.entry.js +1 -1
- package/dist/esm/nv-button.entry.js +1 -1
- package/dist/esm/nv-calendar.entry.js +96 -66
- package/dist/esm/nv-calendar.entry.js.map +1 -1
- package/dist/esm/nv-col.entry.js +1 -1
- package/dist/esm/nv-datagrid.entry.js +2 -2
- package/dist/esm/nv-datagridcolumn.entry.js +1 -1
- package/dist/esm/nv-dialog.entry.js +19 -6
- package/dist/esm/nv-dialog.entry.js.map +1 -1
- package/dist/esm/nv-dialogfooter_2.entry.js +2 -2
- package/dist/esm/nv-fieldcheckbox.entry.js +4 -4
- package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -1
- package/dist/esm/nv-fielddate.entry.js +121 -35
- package/dist/esm/nv-fielddate.entry.js.map +1 -1
- package/dist/esm/nv-fielddaterange.entry.js +32 -4
- package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
- package/dist/esm/nv-fielddropdown.entry.js +3 -3
- package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
- package/dist/esm/nv-fieldmultiselect.entry.js +95 -102
- package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
- package/dist/esm/nv-fieldnumber.entry.js +3 -3
- package/dist/esm/nv-fieldpassword.entry.js +3 -3
- package/dist/esm/nv-fieldradio.entry.js +3 -3
- package/dist/esm/nv-fieldselect.entry.js +5 -5
- package/dist/esm/nv-fieldslider.entry.js +53 -9
- package/dist/esm/nv-fieldslider.entry.js.map +1 -1
- package/dist/esm/nv-fieldtext.entry.js +3 -3
- package/dist/esm/nv-fieldtextarea.entry.js +3 -3
- package/dist/esm/nv-fieldtime.entry.js +10 -10
- package/dist/esm/nv-fieldtime.entry.js.map +1 -1
- package/dist/esm/nv-icon.entry.js +1 -1
- package/dist/esm/nv-iconbutton_2.entry.js +2 -2
- package/dist/esm/nv-menu.entry.js +1 -1
- package/dist/esm/nv-menuitem.entry.js +1 -1
- package/dist/esm/nv-popover.entry.js +4 -3
- package/dist/esm/nv-popover.entry.js.map +1 -1
- package/dist/esm/nv-row.entry.js +1 -1
- package/dist/esm/nv-stack.entry.js +1 -1
- package/dist/esm/nv-table.entry.js +2 -2
- package/dist/esm/nv-toggle.entry.js +2 -2
- package/dist/esm/nv-tooltip.entry.js +4 -3
- package/dist/esm/nv-tooltip.entry.js.map +1 -1
- package/dist/esm/{fade.animation-2a077983.js → stylefire.es-74da334a.js} +2 -65
- package/dist/esm/stylefire.es-74da334a.js.map +1 -0
- package/dist/esm/timeline.animation-adf35ecb.js +23 -0
- package/dist/esm/timeline.animation-adf35ecb.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-051db87c.entry.js +2 -0
- package/dist/native/p-051db87c.entry.js.map +1 -0
- package/dist/native/{p-a0505695.entry.js → p-08452012.entry.js} +2 -2
- package/dist/native/p-09cdd71f.js +16 -0
- package/dist/native/p-09cdd71f.js.map +1 -0
- package/dist/native/p-0e005d95.entry.js +2 -0
- package/dist/native/{p-d4bf2587.entry.js.map → p-0e005d95.entry.js.map} +1 -1
- package/dist/native/p-10ce53ea.entry.js +2 -0
- package/dist/native/{p-54198779.entry.js → p-12039da4.entry.js} +2 -2
- package/dist/native/p-1235c007.entry.js +2 -0
- package/dist/native/p-15aeab4d.js +2 -0
- package/dist/native/p-15aeab4d.js.map +1 -0
- package/dist/native/{p-003b6377.entry.js → p-16ef7dd4.entry.js} +2 -2
- package/dist/native/{p-1d98477d.entry.js → p-1ad1bff9.entry.js} +2 -2
- package/dist/native/p-1cbacdba.js +2 -0
- package/dist/native/p-1cbacdba.js.map +1 -0
- package/dist/native/{p-914da1e1.entry.js → p-1f932a4b.entry.js} +2 -2
- package/dist/native/p-2a6783ca.entry.js +2 -0
- package/dist/native/p-2a6783ca.entry.js.map +1 -0
- package/dist/native/{p-a5c72bd3.entry.js → p-34bf336f.entry.js} +2 -2
- package/dist/native/{p-e293b3fe.entry.js → p-3f139780.entry.js} +2 -2
- package/dist/native/{p-dd256ea3.entry.js → p-40fa3328.entry.js} +2 -2
- package/dist/native/{p-a983e6a0.entry.js → p-4b15cff3.entry.js} +2 -2
- package/dist/native/p-516da423.entry.js +2 -0
- package/dist/native/p-516da423.entry.js.map +1 -0
- package/dist/native/{p-08ca678c.entry.js → p-51a57a3a.entry.js} +2 -2
- package/dist/native/{p-5b06f4b5.entry.js → p-64cb38e6.entry.js} +2 -2
- package/dist/native/{p-af1e6035.entry.js → p-67c34b8c.entry.js} +2 -2
- package/dist/native/{p-e9962dac.entry.js → p-68edb2e8.entry.js} +2 -2
- package/dist/native/p-73c08f3b.entry.js +2 -0
- package/dist/native/p-73c08f3b.entry.js.map +1 -0
- package/dist/native/p-7703c736.entry.js +2 -0
- package/dist/native/p-7703c736.entry.js.map +1 -0
- package/dist/native/{p-6029e51b.entry.js → p-85a54ef2.entry.js} +2 -2
- package/dist/native/p-8d45dbfe.js +2 -0
- package/dist/native/p-916acbd3.entry.js +2 -0
- package/dist/native/p-916acbd3.entry.js.map +1 -0
- package/dist/native/p-9a263d0e.js +2 -0
- package/dist/native/p-9a263d0e.js.map +1 -0
- package/dist/native/{p-1a5d3b87.entry.js → p-9dc1c3e7.entry.js} +2 -2
- package/dist/native/p-a36dc25a.entry.js +2 -0
- package/dist/native/{p-ad128108.entry.js.map → p-a36dc25a.entry.js.map} +1 -1
- package/dist/native/p-a50f3850.entry.js +2 -0
- package/dist/native/{p-19f484a0.entry.js → p-a73fa60a.entry.js} +2 -2
- package/dist/native/p-b3f9db23.entry.js +2 -0
- package/dist/native/{p-82568ec7.entry.js.map → p-b3f9db23.entry.js.map} +1 -1
- package/dist/native/p-baddee4c.entry.js +7 -0
- package/dist/native/p-baddee4c.entry.js.map +1 -0
- package/dist/native/p-bba5cc9b.entry.js +2 -0
- package/dist/native/p-bba5cc9b.entry.js.map +1 -0
- package/dist/native/{p-1e0df2d3.entry.js → p-bee62b2b.entry.js} +2 -2
- package/dist/native/p-dc34da69.entry.js +2 -0
- package/dist/native/p-dc34da69.entry.js.map +1 -0
- package/dist/native/p-ec92ee7a.entry.js +2 -0
- package/dist/native/{p-6ea1c78b.entry.js → p-f00a4552.entry.js} +2 -2
- package/dist/native/{p-dd6b1d79.entry.js → p-f540db71.entry.js} +2 -2
- package/dist/native/{p-be9aeed4.entry.js → p-f687e05c.entry.js} +2 -2
- package/dist/native/p-f687e05c.entry.js.map +1 -0
- package/dist/native/{p-b5b9190a.entry.js → p-fa81b77f.entry.js} +2 -2
- package/dist/native/p-fa81b77f.entry.js.map +1 -0
- package/dist/native/{p-2d98d4f0.entry.js → p-fcd52432.entry.js} +2 -2
- package/dist/types/components/nv-accordion/nv-accordion.d.ts +82 -0
- package/dist/types/components/nv-accordion/nv-accordion.docs.d.ts +4 -0
- package/dist/types/components/nv-accordion-item/nv-accordion-item.d.ts +79 -0
- package/dist/types/components/nv-accordion-item/nv-accordion-item.docs.d.ts +4 -0
- package/dist/types/components/nv-calendar/nv-calendar.d.ts +7 -1
- package/dist/types/components/nv-calendar/partials/calendar-grid.d.ts +6 -2
- package/dist/types/components/nv-dialog/nv-dialog.d.ts +7 -0
- package/dist/types/components/nv-fieldcheckbox/nv-fieldcheckbox.d.ts +2 -0
- package/dist/types/components/nv-fielddate/nv-fielddate.d.ts +27 -2
- package/dist/types/components/nv-fielddaterange/nv-fielddaterange.d.ts +5 -0
- package/dist/types/components/nv-fielddropdownitemcheck/nv-fielddropdownitemcheck.d.ts +6 -0
- package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +17 -16
- package/dist/types/components/nv-fieldslider/nv-fieldslider.utils.d.ts +13 -0
- package/dist/types/components/nv-fieldslider/partials/range-thumb.d.ts +2 -0
- package/dist/types/components/nv-fieldslider/partials/single-thumb.d.ts +2 -0
- package/dist/types/components/nv-tooltip/nv-tooltip.d.ts +7 -0
- package/dist/types/components.d.ts +287 -10
- package/dist/vscode-data.json +71 -5
- package/hydrate/index.js +1461 -879
- package/hydrate/index.mjs +1461 -879
- package/package.json +1 -1
- package/readme.md +6 -0
- package/dist/cjs/fade.animation-0d33d198.js.map +0 -1
- package/dist/cjs/timeline.animation-dbb9c5ea.js.map +0 -1
- package/dist/components/p-001c888b.js.map +0 -1
- package/dist/components/p-00ac701f.js.map +0 -1
- package/dist/components/p-1daca48a.js.map +0 -1
- package/dist/components/p-42301d8f.js.map +0 -1
- package/dist/components/p-44f0039b.js.map +0 -1
- package/dist/components/p-5bee0141.js.map +0 -1
- package/dist/components/p-9e6e26cb.js.map +0 -1
- package/dist/components/p-a0d7e0cd.js.map +0 -1
- package/dist/esm/fade.animation-2a077983.js.map +0 -1
- package/dist/esm/timeline.animation-1b88f052.js.map +0 -1
- package/dist/native/p-0493c51a.entry.js +0 -2
- package/dist/native/p-1daca48a.js +0 -16
- package/dist/native/p-1daca48a.js.map +0 -1
- package/dist/native/p-42301d8f.js +0 -2
- package/dist/native/p-42301d8f.js.map +0 -1
- package/dist/native/p-45cbe6e4.entry.js +0 -2
- package/dist/native/p-46428304.entry.js +0 -2
- package/dist/native/p-46428304.entry.js.map +0 -1
- package/dist/native/p-58f4dc0e.entry.js +0 -2
- package/dist/native/p-58f4dc0e.entry.js.map +0 -1
- package/dist/native/p-59b07b36.entry.js +0 -2
- package/dist/native/p-59b07b36.entry.js.map +0 -1
- package/dist/native/p-82568ec7.entry.js +0 -2
- package/dist/native/p-82c4bf56.entry.js +0 -2
- package/dist/native/p-82c4bf56.entry.js.map +0 -1
- package/dist/native/p-86ab23ea.entry.js +0 -2
- package/dist/native/p-ad128108.entry.js +0 -2
- package/dist/native/p-b5b9190a.entry.js.map +0 -1
- package/dist/native/p-b9c7b644.entry.js +0 -2
- package/dist/native/p-b9c7b644.entry.js.map +0 -1
- package/dist/native/p-be9aeed4.entry.js.map +0 -1
- package/dist/native/p-bee972c7.entry.js +0 -2
- package/dist/native/p-c1765831.js +0 -2
- package/dist/native/p-d21b2da2.entry.js +0 -7
- package/dist/native/p-d21b2da2.entry.js.map +0 -1
- package/dist/native/p-d4bf2587.entry.js +0 -2
- package/dist/native/p-eaf51f2c.entry.js +0 -2
- package/dist/native/p-eaf51f2c.entry.js.map +0 -1
- /package/dist/native/{p-a0505695.entry.js.map → p-08452012.entry.js.map} +0 -0
- /package/dist/native/{p-0493c51a.entry.js.map → p-10ce53ea.entry.js.map} +0 -0
- /package/dist/native/{p-54198779.entry.js.map → p-12039da4.entry.js.map} +0 -0
- /package/dist/native/{p-86ab23ea.entry.js.map → p-1235c007.entry.js.map} +0 -0
- /package/dist/native/{p-003b6377.entry.js.map → p-16ef7dd4.entry.js.map} +0 -0
- /package/dist/native/{p-1d98477d.entry.js.map → p-1ad1bff9.entry.js.map} +0 -0
- /package/dist/native/{p-914da1e1.entry.js.map → p-1f932a4b.entry.js.map} +0 -0
- /package/dist/native/{p-a5c72bd3.entry.js.map → p-34bf336f.entry.js.map} +0 -0
- /package/dist/native/{p-e293b3fe.entry.js.map → p-3f139780.entry.js.map} +0 -0
- /package/dist/native/{p-dd256ea3.entry.js.map → p-40fa3328.entry.js.map} +0 -0
- /package/dist/native/{p-a983e6a0.entry.js.map → p-4b15cff3.entry.js.map} +0 -0
- /package/dist/native/{p-08ca678c.entry.js.map → p-51a57a3a.entry.js.map} +0 -0
- /package/dist/native/{p-5b06f4b5.entry.js.map → p-64cb38e6.entry.js.map} +0 -0
- /package/dist/native/{p-af1e6035.entry.js.map → p-67c34b8c.entry.js.map} +0 -0
- /package/dist/native/{p-e9962dac.entry.js.map → p-68edb2e8.entry.js.map} +0 -0
- /package/dist/native/{p-6029e51b.entry.js.map → p-85a54ef2.entry.js.map} +0 -0
- /package/dist/native/{p-c1765831.js.map → p-8d45dbfe.js.map} +0 -0
- /package/dist/native/{p-1a5d3b87.entry.js.map → p-9dc1c3e7.entry.js.map} +0 -0
- /package/dist/native/{p-bee972c7.entry.js.map → p-a50f3850.entry.js.map} +0 -0
- /package/dist/native/{p-19f484a0.entry.js.map → p-a73fa60a.entry.js.map} +0 -0
- /package/dist/native/{p-1e0df2d3.entry.js.map → p-bee62b2b.entry.js.map} +0 -0
- /package/dist/native/{p-45cbe6e4.entry.js.map → p-ec92ee7a.entry.js.map} +0 -0
- /package/dist/native/{p-6ea1c78b.entry.js.map → p-f00a4552.entry.js.map} +0 -0
- /package/dist/native/{p-dd6b1d79.entry.js.map → p-f540db71.entry.js.map} +0 -0
- /package/dist/native/{p-2d98d4f0.entry.js.map → p-fcd52432.entry.js.map} +0 -0
package/hydrate/index.mjs
CHANGED
|
@@ -2721,263 +2721,181 @@ var registerHost = (elm, cmpMeta) => {
|
|
|
2721
2721
|
};
|
|
2722
2722
|
var styles = /* @__PURE__ */ new Map();
|
|
2723
2723
|
|
|
2724
|
-
|
|
2724
|
+
const nvAccordionCss = "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}";
|
|
2725
|
+
var NvAccordionStyle0 = nvAccordionCss;
|
|
2725
2726
|
|
|
2726
|
-
|
|
2727
|
-
(
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
2734
|
-
|
|
2735
|
-
|
|
2736
|
-
|
|
2737
|
-
|
|
2738
|
-
|
|
2739
|
-
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
|
|
2753
|
-
|
|
2754
|
-
|
|
2755
|
-
|
|
2756
|
-
}
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
|
|
2760
|
-
|
|
2761
|
-
|
|
2762
|
-
|
|
2763
|
-
}
|
|
2764
|
-
|
|
2765
|
-
|
|
2766
|
-
|
|
2767
|
-
|
|
2768
|
-
|
|
2769
|
-
|
|
2770
|
-
|
|
2771
|
-
(
|
|
2772
|
-
|
|
2773
|
-
|
|
2774
|
-
|
|
2775
|
-
|
|
2776
|
-
(
|
|
2777
|
-
|
|
2778
|
-
|
|
2779
|
-
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
|
|
2784
|
-
}
|
|
2785
|
-
|
|
2786
|
-
(
|
|
2787
|
-
|
|
2788
|
-
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
|
|
2799
|
-
|
|
2800
|
-
|
|
2801
|
-
|
|
2802
|
-
|
|
2803
|
-
|
|
2804
|
-
|
|
2805
|
-
|
|
2806
|
-
|
|
2807
|
-
|
|
2808
|
-
|
|
2809
|
-
|
|
2810
|
-
|
|
2811
|
-
|
|
2812
|
-
|
|
2813
|
-
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
|
|
2817
|
-
|
|
2818
|
-
|
|
2819
|
-
|
|
2820
|
-
|
|
2821
|
-
|
|
2822
|
-
|
|
2823
|
-
|
|
2824
|
-
|
|
2825
|
-
|
|
2826
|
-
|
|
2827
|
-
|
|
2828
|
-
|
|
2829
|
-
|
|
2830
|
-
|
|
2831
|
-
|
|
2832
|
-
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
|
|
2842
|
-
|
|
2843
|
-
|
|
2844
|
-
|
|
2845
|
-
|
|
2846
|
-
|
|
2847
|
-
|
|
2848
|
-
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
|
|
2857
|
-
|
|
2858
|
-
|
|
2859
|
-
|
|
2860
|
-
|
|
2861
|
-
|
|
2862
|
-
|
|
2863
|
-
|
|
2864
|
-
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
|
|
2868
|
-
|
|
2869
|
-
|
|
2870
|
-
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
|
|
2877
|
-
|
|
2878
|
-
|
|
2879
|
-
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
|
|
2889
|
-
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
|
|
2893
|
-
|
|
2894
|
-
|
|
2895
|
-
|
|
2896
|
-
|
|
2897
|
-
|
|
2898
|
-
'Fev',
|
|
2899
|
-
'Mar',
|
|
2900
|
-
'Avr',
|
|
2901
|
-
'Mai',
|
|
2902
|
-
'Jun',
|
|
2903
|
-
'Jul',
|
|
2904
|
-
'Aou',
|
|
2905
|
-
'Sep',
|
|
2906
|
-
'Oct',
|
|
2907
|
-
'Nov',
|
|
2908
|
-
'Dec',
|
|
2909
|
-
],
|
|
2910
|
-
'nl-BE': [
|
|
2911
|
-
'Jan',
|
|
2912
|
-
'Feb',
|
|
2913
|
-
'Maa',
|
|
2914
|
-
'Apr',
|
|
2915
|
-
'Mei',
|
|
2916
|
-
'Jun',
|
|
2917
|
-
'Jul',
|
|
2918
|
-
'Aug',
|
|
2919
|
-
'Sep',
|
|
2920
|
-
'Okt',
|
|
2921
|
-
'Nov',
|
|
2922
|
-
'Dec',
|
|
2923
|
-
],
|
|
2924
|
-
'de-DE': [
|
|
2925
|
-
'Jan',
|
|
2926
|
-
'Feb',
|
|
2927
|
-
'Mär',
|
|
2928
|
-
'Apr',
|
|
2929
|
-
'Mai',
|
|
2930
|
-
'Jun',
|
|
2931
|
-
'Jul',
|
|
2932
|
-
'Aug',
|
|
2933
|
-
'Sep',
|
|
2934
|
-
'Okt',
|
|
2935
|
-
'Nov',
|
|
2936
|
-
'Dez',
|
|
2937
|
-
],
|
|
2938
|
-
'en-BE': [
|
|
2939
|
-
'Jan',
|
|
2940
|
-
'Feb',
|
|
2941
|
-
'Mar',
|
|
2942
|
-
'Apr',
|
|
2943
|
-
'May',
|
|
2944
|
-
'Jun',
|
|
2945
|
-
'Jul',
|
|
2946
|
-
'Aug',
|
|
2947
|
-
'Sep',
|
|
2948
|
-
'Oct',
|
|
2949
|
-
'Nov',
|
|
2950
|
-
'Dec',
|
|
2951
|
-
],
|
|
2952
|
-
'en-US': [
|
|
2953
|
-
'Jan',
|
|
2954
|
-
'Feb',
|
|
2955
|
-
'Mar',
|
|
2956
|
-
'Apr',
|
|
2957
|
-
'May',
|
|
2958
|
-
'Jun',
|
|
2959
|
-
'Jul',
|
|
2960
|
-
'Aug',
|
|
2961
|
-
'Sep',
|
|
2962
|
-
'Oct',
|
|
2963
|
-
'Nov',
|
|
2964
|
-
'Dec',
|
|
2965
|
-
],
|
|
2966
|
-
'en-GB': [
|
|
2967
|
-
'Jan',
|
|
2968
|
-
'Feb',
|
|
2969
|
-
'Mar',
|
|
2970
|
-
'Apr',
|
|
2971
|
-
'May',
|
|
2972
|
-
'Jun',
|
|
2973
|
-
'Jul',
|
|
2974
|
-
'Aug',
|
|
2975
|
-
'Sep',
|
|
2976
|
-
'Oct',
|
|
2977
|
-
'Nov',
|
|
2978
|
-
'Dec',
|
|
2979
|
-
],
|
|
2980
|
-
};
|
|
2727
|
+
/**
|
|
2728
|
+
* @slot default - Slot for custom content (optional, ignored if data is provided)
|
|
2729
|
+
*/
|
|
2730
|
+
class NvAccordion {
|
|
2731
|
+
constructor(hostRef) {
|
|
2732
|
+
registerInstance(this, hostRef);
|
|
2733
|
+
this.openChanged = createEvent(this, "openChanged", 7);
|
|
2734
|
+
/****************************************************************************/
|
|
2735
|
+
//#region PROPERTIES
|
|
2736
|
+
/**
|
|
2737
|
+
* Data to display as a list of items (title, subtitle, content).
|
|
2738
|
+
*/
|
|
2739
|
+
this.data = [];
|
|
2740
|
+
/**
|
|
2741
|
+
* Expansion mode: 'accordion' (single open) or 'multi' (multiple open)
|
|
2742
|
+
*/
|
|
2743
|
+
this.mode = 'accordion';
|
|
2744
|
+
//#endregion PROPERTIES
|
|
2745
|
+
/****************************************************************************/
|
|
2746
|
+
//#region STATE
|
|
2747
|
+
/**
|
|
2748
|
+
* Internal index of open items (not exposed)
|
|
2749
|
+
*/
|
|
2750
|
+
this.internalOpenIndexes = [];
|
|
2751
|
+
}
|
|
2752
|
+
//#endregion EVENTS
|
|
2753
|
+
/****************************************************************************/
|
|
2754
|
+
//#region METHODS
|
|
2755
|
+
/**
|
|
2756
|
+
* Opens an item by its index (Public API)
|
|
2757
|
+
* @param {number} index Index of the item to open
|
|
2758
|
+
*/
|
|
2759
|
+
async open(index) {
|
|
2760
|
+
this.toggleItem(index, true);
|
|
2761
|
+
}
|
|
2762
|
+
/**
|
|
2763
|
+
* Closes an item by its index (Public API)
|
|
2764
|
+
* @param {number} index Index of the item to close
|
|
2765
|
+
*/
|
|
2766
|
+
async close(index) {
|
|
2767
|
+
this.toggleItem(index, false);
|
|
2768
|
+
}
|
|
2769
|
+
/**
|
|
2770
|
+
* Toggles an item's state (internal)
|
|
2771
|
+
* @param {number} index Item index
|
|
2772
|
+
* @param {boolean} [forceOpen] Force open (true) or close (false)
|
|
2773
|
+
*/
|
|
2774
|
+
toggleItem(index, forceOpen) {
|
|
2775
|
+
let openIndexes = this.openIndexes !== undefined
|
|
2776
|
+
? [...this.openIndexes]
|
|
2777
|
+
: [...(this.internalOpenIndexes || [])];
|
|
2778
|
+
const isOpen = openIndexes.includes(index);
|
|
2779
|
+
if (this.mode === 'accordion') {
|
|
2780
|
+
openIndexes = forceOpen === false || isOpen ? [] : [index];
|
|
2781
|
+
}
|
|
2782
|
+
else {
|
|
2783
|
+
if (forceOpen === false) {
|
|
2784
|
+
openIndexes = openIndexes.filter(i => i !== index);
|
|
2785
|
+
}
|
|
2786
|
+
else if (!isOpen) {
|
|
2787
|
+
openIndexes.push(index);
|
|
2788
|
+
}
|
|
2789
|
+
}
|
|
2790
|
+
this.internalOpenIndexes = openIndexes;
|
|
2791
|
+
this.openChanged.emit({ openIndexes });
|
|
2792
|
+
if (this.openIndexes !== undefined) {
|
|
2793
|
+
this.openIndexes =
|
|
2794
|
+
this.mode === 'accordion'
|
|
2795
|
+
? [openIndexes[0]].filter(x => x !== undefined)
|
|
2796
|
+
: [...openIndexes];
|
|
2797
|
+
}
|
|
2798
|
+
// Update child elements state - for both data and slot usage
|
|
2799
|
+
this.updateChildrenState();
|
|
2800
|
+
}
|
|
2801
|
+
/**
|
|
2802
|
+
* Updates the open state of child elements based on internalOpenIndexes
|
|
2803
|
+
*/
|
|
2804
|
+
async updateChildrenState() {
|
|
2805
|
+
// Force a re-render by updating the state
|
|
2806
|
+
this.internalOpenIndexes = [...(this.internalOpenIndexes || [])];
|
|
2807
|
+
}
|
|
2808
|
+
/**
|
|
2809
|
+
* Listens to itemToggle events from nv-accordion-item elements
|
|
2810
|
+
* @param {CustomEvent<boolean>} event Event emitted by nv-accordion-item
|
|
2811
|
+
*/
|
|
2812
|
+
onItemToggle(event) {
|
|
2813
|
+
// Find the index of the item that emitted the event
|
|
2814
|
+
const items = Array.from(this.el.querySelectorAll('nv-accordion-item'));
|
|
2815
|
+
const targetItem = event.target;
|
|
2816
|
+
const index = items.indexOf(targetItem);
|
|
2817
|
+
if (index !== -1) {
|
|
2818
|
+
// If the event comes from an item that is opening, handle accordion mode
|
|
2819
|
+
if (event.detail === true) {
|
|
2820
|
+
if (this.mode === 'accordion') {
|
|
2821
|
+
// Close all other items
|
|
2822
|
+
items.forEach((item, i) => {
|
|
2823
|
+
if (i !== index && item.open) {
|
|
2824
|
+
item.open = false;
|
|
2825
|
+
}
|
|
2826
|
+
});
|
|
2827
|
+
this.internalOpenIndexes = [index];
|
|
2828
|
+
}
|
|
2829
|
+
else {
|
|
2830
|
+
// Add index to internalOpenIndexes if not already present
|
|
2831
|
+
if (!this.internalOpenIndexes.includes(index)) {
|
|
2832
|
+
this.internalOpenIndexes = [...this.internalOpenIndexes, index];
|
|
2833
|
+
}
|
|
2834
|
+
}
|
|
2835
|
+
}
|
|
2836
|
+
else {
|
|
2837
|
+
// If the item is closing, remove it from internalOpenIndexes
|
|
2838
|
+
this.internalOpenIndexes = this.internalOpenIndexes.filter(i => i !== index);
|
|
2839
|
+
}
|
|
2840
|
+
// Emit openChanged event
|
|
2841
|
+
this.openChanged.emit({ openIndexes: this.internalOpenIndexes });
|
|
2842
|
+
if (this.openIndexes !== undefined) {
|
|
2843
|
+
this.openIndexes =
|
|
2844
|
+
this.mode === 'accordion'
|
|
2845
|
+
? [this.internalOpenIndexes[0]].filter(x => x !== undefined)
|
|
2846
|
+
: [...this.internalOpenIndexes];
|
|
2847
|
+
}
|
|
2848
|
+
}
|
|
2849
|
+
}
|
|
2850
|
+
//#endregion METHODS
|
|
2851
|
+
/****************************************************************************/
|
|
2852
|
+
//#region WATCHERS
|
|
2853
|
+
//#endregion WATCHERS
|
|
2854
|
+
/****************************************************************************/
|
|
2855
|
+
//#region LIFECYCLE
|
|
2856
|
+
componentWillLoad() {
|
|
2857
|
+
if (this.openIndexes !== undefined) {
|
|
2858
|
+
this.internalOpenIndexes = [...this.openIndexes];
|
|
2859
|
+
}
|
|
2860
|
+
}
|
|
2861
|
+
componentDidLoad() {
|
|
2862
|
+
// If using direct child elements, initialize their state
|
|
2863
|
+
if (!this.data || this.data.length === 0) {
|
|
2864
|
+
this.updateChildrenState();
|
|
2865
|
+
}
|
|
2866
|
+
}
|
|
2867
|
+
componentWillUpdate() {
|
|
2868
|
+
if (this.openIndexes !== undefined) {
|
|
2869
|
+
this.internalOpenIndexes = [...this.openIndexes];
|
|
2870
|
+
}
|
|
2871
|
+
}
|
|
2872
|
+
//#endregion LIFECYCLE
|
|
2873
|
+
/****************************************************************************/
|
|
2874
|
+
//#region RENDER
|
|
2875
|
+
render() {
|
|
2876
|
+
return (hAsync(Host, { key: 'a6cb21b274024a00e60e0d0db780f25fab6e5bc2', role: "list", class: "nv-accordion" }, this.data && this.data.length > 0 ? (this.data.map((item, i) => {
|
|
2877
|
+
var _a;
|
|
2878
|
+
return (hAsync("nv-accordion-item", { key: (_a = item.id) !== null && _a !== void 0 ? _a : i, itemTitle: item.title, disabled: item.disabled, open: (this.internalOpenIndexes || []).includes(i) }, item.subtitle ? (hAsync("div", { slot: "header" }, hAsync("div", { class: "nv-accordion-item__header-content" }, hAsync("span", { class: "nv-accordion-item__title" }, item.title), hAsync("span", { class: "nv-accordion-item__subtitle" }, item.subtitle)))) : null, hAsync("div", { slot: "content" }, item.content), item.footer && hAsync("div", { slot: "footer" }, item.footer)));
|
|
2879
|
+
})) : (hAsync("slot", null))));
|
|
2880
|
+
}
|
|
2881
|
+
get el() { return getElement(this); }
|
|
2882
|
+
static get style() { return NvAccordionStyle0; }
|
|
2883
|
+
static get cmpMeta() { return {
|
|
2884
|
+
"$flags$": 4,
|
|
2885
|
+
"$tagName$": "nv-accordion",
|
|
2886
|
+
"$members$": {
|
|
2887
|
+
"data": [16],
|
|
2888
|
+
"mode": [513],
|
|
2889
|
+
"openIndexes": [1040],
|
|
2890
|
+
"internalOpenIndexes": [32],
|
|
2891
|
+
"open": [64],
|
|
2892
|
+
"close": [64]
|
|
2893
|
+
},
|
|
2894
|
+
"$listeners$": [[0, "itemToggle", "onItemToggle"]],
|
|
2895
|
+
"$lazyBundleId$": "-",
|
|
2896
|
+
"$attrsToReflect$": [["mode", "mode"]]
|
|
2897
|
+
}; }
|
|
2898
|
+
}
|
|
2981
2899
|
|
|
2982
2900
|
/******************************************************************************
|
|
2983
2901
|
Copyright (c) Microsoft Corporation.
|
|
@@ -4674,362 +4592,815 @@ function buildSVGAttrs(_a, dimensions, totalPathLength, cssBuilder, attrs, isDas
|
|
|
4674
4592
|
attrs[attrKey] = style[key];
|
|
4675
4593
|
}
|
|
4676
4594
|
}
|
|
4677
|
-
if (originX !== undefined || originY !== undefined || style.transform) {
|
|
4678
|
-
attrs.style.transformOrigin = calculateSVGTransformOrigin(dimensions, originX !== undefined ? originX : defaultOrigin, originY !== undefined ? originY : defaultOrigin);
|
|
4595
|
+
if (originX !== undefined || originY !== undefined || style.transform) {
|
|
4596
|
+
attrs.style.transformOrigin = calculateSVGTransformOrigin(dimensions, originX !== undefined ? originX : defaultOrigin, originY !== undefined ? originY : defaultOrigin);
|
|
4597
|
+
}
|
|
4598
|
+
if (attrX !== undefined) attrs.x = attrX;
|
|
4599
|
+
if (attrY !== undefined) attrs.y = attrY;
|
|
4600
|
+
if (totalPathLength !== undefined && pathLength !== undefined) {
|
|
4601
|
+
attrs[isDashCase ? 'stroke-dashoffset' : 'strokeDashoffset'] = progressToPixels(-pathOffset, totalPathLength);
|
|
4602
|
+
attrs[isDashCase ? 'stroke-dasharray' : 'strokeDasharray'] = progressToPixels(pathLength, totalPathLength) + " " + progressToPixels(pathSpacing, totalPathLength);
|
|
4603
|
+
}
|
|
4604
|
+
return attrs;
|
|
4605
|
+
}
|
|
4606
|
+
function createAttrBuilder(dimensions, totalPathLength, isDashCase) {
|
|
4607
|
+
if (isDashCase === void 0) {
|
|
4608
|
+
isDashCase = true;
|
|
4609
|
+
}
|
|
4610
|
+
var attrs = svgAttrsTemplate();
|
|
4611
|
+
var cssBuilder = createStyleBuilder(svgStyleConfig);
|
|
4612
|
+
return function (state) {
|
|
4613
|
+
return buildSVGAttrs(state, dimensions, totalPathLength, cssBuilder, attrs, isDashCase);
|
|
4614
|
+
};
|
|
4615
|
+
}
|
|
4616
|
+
|
|
4617
|
+
var getDimensions$1 = function (element) {
|
|
4618
|
+
return typeof element.getBBox === 'function' ? element.getBBox() : element.getBoundingClientRect();
|
|
4619
|
+
};
|
|
4620
|
+
var getSVGElementDimensions = function (element) {
|
|
4621
|
+
try {
|
|
4622
|
+
return getDimensions$1(element);
|
|
4623
|
+
} catch (e) {
|
|
4624
|
+
return { x: 0, y: 0, width: 0, height: 0 };
|
|
4625
|
+
}
|
|
4626
|
+
};
|
|
4627
|
+
|
|
4628
|
+
var isPath = function (element) {
|
|
4629
|
+
return element.tagName === 'path';
|
|
4630
|
+
};
|
|
4631
|
+
var svgStyler = /*#__PURE__*/createStyler({
|
|
4632
|
+
onRead: function (key, _a) {
|
|
4633
|
+
var element = _a.element;
|
|
4634
|
+
key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;
|
|
4635
|
+
if (!isTransformProp(key)) {
|
|
4636
|
+
return element.getAttribute(key);
|
|
4637
|
+
} else {
|
|
4638
|
+
var valueType = getValueType(key);
|
|
4639
|
+
return valueType ? valueType.default || 0 : 0;
|
|
4640
|
+
}
|
|
4641
|
+
},
|
|
4642
|
+
onRender: function (state, _a) {
|
|
4643
|
+
var element = _a.element,
|
|
4644
|
+
buildAttrs = _a.buildAttrs;
|
|
4645
|
+
var attrs = buildAttrs(state);
|
|
4646
|
+
for (var key in attrs) {
|
|
4647
|
+
if (key === 'style') {
|
|
4648
|
+
Object.assign(element.style, attrs.style);
|
|
4649
|
+
} else {
|
|
4650
|
+
element.setAttribute(key, attrs[key]);
|
|
4651
|
+
}
|
|
4652
|
+
}
|
|
4653
|
+
}
|
|
4654
|
+
});
|
|
4655
|
+
var svg = function (element) {
|
|
4656
|
+
var dimensions = getSVGElementDimensions(element);
|
|
4657
|
+
var pathLength = isPath(element) && element.getTotalLength ? element.getTotalLength() : undefined;
|
|
4658
|
+
return svgStyler({
|
|
4659
|
+
element: element,
|
|
4660
|
+
buildAttrs: createAttrBuilder(dimensions, pathLength)
|
|
4661
|
+
});
|
|
4662
|
+
};
|
|
4663
|
+
|
|
4664
|
+
var viewport = /*#__PURE__*/createStyler({
|
|
4665
|
+
useCache: false,
|
|
4666
|
+
onRead: function (key) {
|
|
4667
|
+
return key === 'scrollTop' ? window.pageYOffset : window.pageXOffset;
|
|
4668
|
+
},
|
|
4669
|
+
onRender: function (_a) {
|
|
4670
|
+
var _b = _a.scrollTop,
|
|
4671
|
+
scrollTop = _b === void 0 ? 0 : _b,
|
|
4672
|
+
_c = _a.scrollLeft,
|
|
4673
|
+
scrollLeft = _c === void 0 ? 0 : _c;
|
|
4674
|
+
return window.scrollTo(scrollLeft, scrollTop);
|
|
4675
|
+
}
|
|
4676
|
+
});
|
|
4677
|
+
|
|
4678
|
+
var cache = /*#__PURE__*/new WeakMap();
|
|
4679
|
+
var isHTMLElement$1 = function (node) {
|
|
4680
|
+
return node instanceof HTMLElement || typeof node.click === 'function';
|
|
4681
|
+
};
|
|
4682
|
+
var isSVGElement = function (node) {
|
|
4683
|
+
return node instanceof SVGElement || 'ownerSVGElement' in node;
|
|
4684
|
+
};
|
|
4685
|
+
var createDOMStyler = function (node, props) {
|
|
4686
|
+
var styler;
|
|
4687
|
+
if (node === window) {
|
|
4688
|
+
styler = viewport(node);
|
|
4689
|
+
} else if (isHTMLElement$1(node)) {
|
|
4690
|
+
styler = createCssStyler(node, props);
|
|
4691
|
+
} else if (isSVGElement(node)) {
|
|
4692
|
+
styler = svg(node);
|
|
4693
|
+
}
|
|
4694
|
+
cache.set(node, styler);
|
|
4695
|
+
return styler;
|
|
4696
|
+
};
|
|
4697
|
+
var getStyler = function (node, props) {
|
|
4698
|
+
return cache.has(node) ? cache.get(node) : createDOMStyler(node, props);
|
|
4699
|
+
};
|
|
4700
|
+
function index(nodeOrSelector, props) {
|
|
4701
|
+
var node = typeof nodeOrSelector === 'string' ? document.querySelector(nodeOrSelector) : nodeOrSelector;
|
|
4702
|
+
return getStyler(node, props);
|
|
4703
|
+
}
|
|
4704
|
+
|
|
4705
|
+
const useCollapse = (node, { duration } = { duration: 200 }) => {
|
|
4706
|
+
const nodeStyler = index(node);
|
|
4707
|
+
/**
|
|
4708
|
+
* Will set the overflow to hidden, and animate the max height to 0. Make sure
|
|
4709
|
+
* the element has no border or y padding set, otherwise the animation will
|
|
4710
|
+
* not work as expected.
|
|
4711
|
+
*/
|
|
4712
|
+
function collapse() {
|
|
4713
|
+
return new Promise(resolve => {
|
|
4714
|
+
const height = node.getBoundingClientRect().height;
|
|
4715
|
+
nodeStyler.set({ overflow: 'hidden' });
|
|
4716
|
+
animate({
|
|
4717
|
+
from: height,
|
|
4718
|
+
to: 0,
|
|
4719
|
+
duration,
|
|
4720
|
+
onUpdate: value => {
|
|
4721
|
+
nodeStyler.set({
|
|
4722
|
+
maxHeight: value,
|
|
4723
|
+
});
|
|
4724
|
+
},
|
|
4725
|
+
onComplete: () => {
|
|
4726
|
+
resolve();
|
|
4727
|
+
},
|
|
4728
|
+
});
|
|
4729
|
+
});
|
|
4730
|
+
}
|
|
4731
|
+
/**
|
|
4732
|
+
* Apply the collapsed styles without animating, useful when initial state
|
|
4733
|
+
* is collapsed.
|
|
4734
|
+
*/
|
|
4735
|
+
function setCollapsed() {
|
|
4736
|
+
node.style.maxHeight = '0';
|
|
4737
|
+
node.style.overflow = 'hidden';
|
|
4738
|
+
}
|
|
4739
|
+
/**
|
|
4740
|
+
* Apply the expanded styles without animating, useful when initial state
|
|
4741
|
+
* is expanded.
|
|
4742
|
+
*/
|
|
4743
|
+
function setExpanded() {
|
|
4744
|
+
node.style.maxHeight = '';
|
|
4745
|
+
node.style.overflow = '';
|
|
4746
|
+
}
|
|
4747
|
+
/**
|
|
4748
|
+
* Will set the overflow to hidden, and animate the max height to the value
|
|
4749
|
+
* of the scrollHeight. Make sure the element has no border or y padding set,
|
|
4750
|
+
* otherwise the animation will not work as expected. Once complete, the
|
|
4751
|
+
* max-height and overflow style properties will be removed.
|
|
4752
|
+
*/
|
|
4753
|
+
function expand() {
|
|
4754
|
+
return new Promise(resolve => {
|
|
4755
|
+
const scrollHeight = node.scrollHeight;
|
|
4756
|
+
nodeStyler.set({
|
|
4757
|
+
overflow: 'hidden',
|
|
4758
|
+
});
|
|
4759
|
+
animate({
|
|
4760
|
+
from: 0,
|
|
4761
|
+
to: scrollHeight,
|
|
4762
|
+
duration,
|
|
4763
|
+
onUpdate: value => {
|
|
4764
|
+
nodeStyler.set({
|
|
4765
|
+
maxHeight: value,
|
|
4766
|
+
});
|
|
4767
|
+
},
|
|
4768
|
+
onComplete: () => {
|
|
4769
|
+
node.style.removeProperty('max-height');
|
|
4770
|
+
node.style.removeProperty('overflow');
|
|
4771
|
+
resolve();
|
|
4772
|
+
},
|
|
4773
|
+
});
|
|
4774
|
+
});
|
|
4775
|
+
}
|
|
4776
|
+
return {
|
|
4777
|
+
collapse,
|
|
4778
|
+
expand,
|
|
4779
|
+
setCollapsed,
|
|
4780
|
+
setExpanded,
|
|
4781
|
+
};
|
|
4782
|
+
};
|
|
4783
|
+
|
|
4784
|
+
const useFade = (node, { duration } = { duration: 200 }) => {
|
|
4785
|
+
const nodeStyler = index(node);
|
|
4786
|
+
/**
|
|
4787
|
+
* Will animate the opacity to 1, and removes the opacity style attribute once
|
|
4788
|
+
* complete.
|
|
4789
|
+
*/
|
|
4790
|
+
function fadeIn() {
|
|
4791
|
+
return new Promise(resolve => {
|
|
4792
|
+
animate({
|
|
4793
|
+
from: { opacity: 0 },
|
|
4794
|
+
to: { opacity: 1 },
|
|
4795
|
+
duration,
|
|
4796
|
+
onUpdate(latest) {
|
|
4797
|
+
nodeStyler.set({ opacity: latest.opacity });
|
|
4798
|
+
},
|
|
4799
|
+
onComplete() {
|
|
4800
|
+
resolve();
|
|
4801
|
+
node.style.removeProperty('opacity');
|
|
4802
|
+
},
|
|
4803
|
+
});
|
|
4804
|
+
});
|
|
4805
|
+
}
|
|
4806
|
+
/**
|
|
4807
|
+
* Applies the fadeOut styles without animating, useful when initial state
|
|
4808
|
+
* is hidden.
|
|
4809
|
+
*/
|
|
4810
|
+
function setFadeOut() {
|
|
4811
|
+
node.style.opacity = '0';
|
|
4679
4812
|
}
|
|
4680
|
-
|
|
4681
|
-
|
|
4682
|
-
|
|
4683
|
-
|
|
4684
|
-
|
|
4813
|
+
/**
|
|
4814
|
+
* Applies the fadeIn styles without animating, useful when initial state
|
|
4815
|
+
* is visible.
|
|
4816
|
+
*/
|
|
4817
|
+
function setFadeIn() {
|
|
4818
|
+
node.style.opacity = '1';
|
|
4685
4819
|
}
|
|
4686
|
-
|
|
4687
|
-
|
|
4688
|
-
|
|
4689
|
-
|
|
4690
|
-
|
|
4820
|
+
/**
|
|
4821
|
+
* Will animate the opacity to 0, once complete, the opacity style attribute
|
|
4822
|
+
* will stay on the element.
|
|
4823
|
+
*/
|
|
4824
|
+
function fadeOut() {
|
|
4825
|
+
return new Promise(resolve => {
|
|
4826
|
+
animate({
|
|
4827
|
+
from: { opacity: 1 },
|
|
4828
|
+
to: { opacity: 0 },
|
|
4829
|
+
duration,
|
|
4830
|
+
onUpdate(latest) {
|
|
4831
|
+
nodeStyler.set({ opacity: latest.opacity });
|
|
4832
|
+
},
|
|
4833
|
+
onComplete() {
|
|
4834
|
+
resolve();
|
|
4835
|
+
},
|
|
4836
|
+
});
|
|
4837
|
+
});
|
|
4691
4838
|
}
|
|
4692
|
-
|
|
4693
|
-
|
|
4694
|
-
|
|
4695
|
-
|
|
4839
|
+
return {
|
|
4840
|
+
fadeIn,
|
|
4841
|
+
fadeOut,
|
|
4842
|
+
setFadeOut,
|
|
4843
|
+
setFadeIn,
|
|
4696
4844
|
};
|
|
4697
|
-
}
|
|
4698
|
-
|
|
4699
|
-
var getDimensions$1 = function (element) {
|
|
4700
|
-
return typeof element.getBBox === 'function' ? element.getBBox() : element.getBoundingClientRect();
|
|
4701
|
-
};
|
|
4702
|
-
var getSVGElementDimensions = function (element) {
|
|
4703
|
-
try {
|
|
4704
|
-
return getDimensions$1(element);
|
|
4705
|
-
} catch (e) {
|
|
4706
|
-
return { x: 0, y: 0, width: 0, height: 0 };
|
|
4707
|
-
}
|
|
4708
4845
|
};
|
|
4709
4846
|
|
|
4710
|
-
|
|
4711
|
-
|
|
4712
|
-
|
|
4713
|
-
|
|
4714
|
-
|
|
4715
|
-
|
|
4716
|
-
|
|
4717
|
-
|
|
4718
|
-
|
|
4719
|
-
|
|
4720
|
-
|
|
4721
|
-
|
|
4847
|
+
const useGrow = (node, { duration = 200, amount = 0.8, hasFade = true } = {}) => {
|
|
4848
|
+
const nodeStyler = index(node);
|
|
4849
|
+
/**
|
|
4850
|
+
* Will animate the scale and optionally the opacity to make the element grow and fade in,
|
|
4851
|
+
* and removes the scale and opacity style attributes once complete.
|
|
4852
|
+
*/
|
|
4853
|
+
function growIn() {
|
|
4854
|
+
return new Promise(resolve => {
|
|
4855
|
+
animate({
|
|
4856
|
+
from: { opacity: hasFade ? 0 : 1, scale: amount },
|
|
4857
|
+
to: { opacity: 1, scale: 1 },
|
|
4858
|
+
duration,
|
|
4859
|
+
onUpdate(latest) {
|
|
4860
|
+
const updates = {
|
|
4861
|
+
scale: latest.scale,
|
|
4862
|
+
};
|
|
4863
|
+
if (hasFade) {
|
|
4864
|
+
updates['opacity'] = latest.opacity;
|
|
4865
|
+
}
|
|
4866
|
+
nodeStyler.set(updates);
|
|
4867
|
+
},
|
|
4868
|
+
onComplete() {
|
|
4869
|
+
resolve();
|
|
4870
|
+
if (hasFade) {
|
|
4871
|
+
node.style.removeProperty('opacity');
|
|
4872
|
+
}
|
|
4873
|
+
node.style.removeProperty('transform');
|
|
4874
|
+
},
|
|
4875
|
+
});
|
|
4876
|
+
});
|
|
4877
|
+
}
|
|
4878
|
+
/**
|
|
4879
|
+
* Applies the growOut styles without animating, useful when the initial
|
|
4880
|
+
* state is hidden.
|
|
4881
|
+
*/
|
|
4882
|
+
function setGrowOut() {
|
|
4883
|
+
node.style.transform = `scale(${amount})`;
|
|
4884
|
+
if (hasFade) {
|
|
4885
|
+
node.style.opacity = '0';
|
|
4722
4886
|
}
|
|
4723
|
-
}
|
|
4724
|
-
|
|
4725
|
-
|
|
4726
|
-
|
|
4727
|
-
|
|
4728
|
-
|
|
4729
|
-
|
|
4730
|
-
|
|
4731
|
-
|
|
4732
|
-
element.setAttribute(key, attrs[key]);
|
|
4733
|
-
}
|
|
4887
|
+
}
|
|
4888
|
+
/**
|
|
4889
|
+
* Applies the growIn styles without animating, useful when the initial
|
|
4890
|
+
* state is visible.
|
|
4891
|
+
*/
|
|
4892
|
+
function setGrowIn() {
|
|
4893
|
+
node.style.transform = `scale(1)`;
|
|
4894
|
+
if (hasFade) {
|
|
4895
|
+
node.style.opacity = '1';
|
|
4734
4896
|
}
|
|
4735
4897
|
}
|
|
4736
|
-
|
|
4737
|
-
|
|
4738
|
-
|
|
4739
|
-
|
|
4740
|
-
|
|
4741
|
-
|
|
4742
|
-
|
|
4743
|
-
|
|
4898
|
+
/**
|
|
4899
|
+
* Will animate the scale and optionally the opacity to make the element shrink and fade out,
|
|
4900
|
+
* leaving the scale and opacity styles on the element.
|
|
4901
|
+
*/
|
|
4902
|
+
function growOut() {
|
|
4903
|
+
return new Promise(resolve => {
|
|
4904
|
+
animate({
|
|
4905
|
+
from: { opacity: 1, scale: 1 },
|
|
4906
|
+
to: { opacity: hasFade ? 0 : 1, scale: amount },
|
|
4907
|
+
duration,
|
|
4908
|
+
onUpdate(latest) {
|
|
4909
|
+
const updates = {
|
|
4910
|
+
scale: latest.scale,
|
|
4911
|
+
};
|
|
4912
|
+
if (hasFade) {
|
|
4913
|
+
updates['opacity'] = latest.opacity;
|
|
4914
|
+
}
|
|
4915
|
+
nodeStyler.set(updates);
|
|
4916
|
+
},
|
|
4917
|
+
onComplete() {
|
|
4918
|
+
resolve();
|
|
4919
|
+
},
|
|
4920
|
+
});
|
|
4921
|
+
});
|
|
4922
|
+
}
|
|
4923
|
+
return {
|
|
4924
|
+
growIn,
|
|
4925
|
+
growOut,
|
|
4926
|
+
setGrowOut,
|
|
4927
|
+
setGrowIn,
|
|
4928
|
+
};
|
|
4744
4929
|
};
|
|
4745
4930
|
|
|
4746
|
-
|
|
4747
|
-
|
|
4748
|
-
|
|
4749
|
-
|
|
4931
|
+
/**
|
|
4932
|
+
* Will execute a series of animation promises in sequence.
|
|
4933
|
+
* This is useful for chaining animations where each step depends on the
|
|
4934
|
+
* previous one completing before starting the next.
|
|
4935
|
+
*
|
|
4936
|
+
* @param {Array<() => Promise<void>>} animations - The array of animation functions.
|
|
4937
|
+
* @returns {Object} - An object with a `start` method to begin the timeline.
|
|
4938
|
+
*
|
|
4939
|
+
* @example
|
|
4940
|
+
* const { fadeOut } = useFade(this.ref);
|
|
4941
|
+
* const { collapse } = useCollapse(this.ref);
|
|
4942
|
+
*
|
|
4943
|
+
* timeline(fadeOut, collapse).start();
|
|
4944
|
+
*/
|
|
4945
|
+
const timeline = (...animations) => ({
|
|
4946
|
+
start: () => {
|
|
4947
|
+
return animations.reduce((promise, animation) => promise.then(() => animation()), Promise.resolve());
|
|
4750
4948
|
},
|
|
4751
|
-
onRender: function (_a) {
|
|
4752
|
-
var _b = _a.scrollTop,
|
|
4753
|
-
scrollTop = _b === void 0 ? 0 : _b,
|
|
4754
|
-
_c = _a.scrollLeft,
|
|
4755
|
-
scrollLeft = _c === void 0 ? 0 : _c;
|
|
4756
|
-
return window.scrollTo(scrollLeft, scrollTop);
|
|
4757
|
-
}
|
|
4758
4949
|
});
|
|
4759
4950
|
|
|
4760
|
-
|
|
4761
|
-
var
|
|
4762
|
-
|
|
4763
|
-
|
|
4764
|
-
|
|
4765
|
-
|
|
4766
|
-
|
|
4767
|
-
|
|
4768
|
-
|
|
4769
|
-
|
|
4770
|
-
|
|
4771
|
-
|
|
4772
|
-
|
|
4773
|
-
|
|
4774
|
-
|
|
4951
|
+
const nvAccordionItemCss = "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)}";
|
|
4952
|
+
var NvAccordionItemStyle0 = nvAccordionItemCss;
|
|
4953
|
+
|
|
4954
|
+
/**
|
|
4955
|
+
* Accordion item element for nv-accordion.
|
|
4956
|
+
*
|
|
4957
|
+
* @slot header - Custom header (replaces itemTitle/subtitle)
|
|
4958
|
+
* @slot content - Main content (expandable area)
|
|
4959
|
+
*/
|
|
4960
|
+
class NvAccordionItem {
|
|
4961
|
+
constructor(hostRef) {
|
|
4962
|
+
registerInstance(this, hostRef);
|
|
4963
|
+
this.itemToggle = createEvent(this, "itemToggle", 7);
|
|
4964
|
+
/** Open or closed */
|
|
4965
|
+
this.open = false;
|
|
4966
|
+
/** Disables the item */
|
|
4967
|
+
this.disabled = false;
|
|
4968
|
+
/** Parent expansion mode (accordion or multi) */
|
|
4969
|
+
this.mode = 'accordion';
|
|
4970
|
+
//#endregion EVENTS
|
|
4971
|
+
/****************************************************************************/
|
|
4972
|
+
//#region STATE
|
|
4973
|
+
/** Internal state for open/close rendering */
|
|
4974
|
+
this.currentOpenState = false;
|
|
4975
|
+
/**
|
|
4976
|
+
* Controls if the panel has been initialized for animations
|
|
4977
|
+
*/
|
|
4978
|
+
this.isInitialized = false;
|
|
4979
|
+
/**
|
|
4980
|
+
* Animation in progress
|
|
4981
|
+
*/
|
|
4982
|
+
this.isAnimating = false;
|
|
4983
|
+
/**
|
|
4984
|
+
* Handler for header click
|
|
4985
|
+
*/
|
|
4986
|
+
this.handleHeaderClick = () => {
|
|
4987
|
+
this.toggle();
|
|
4988
|
+
};
|
|
4989
|
+
/**
|
|
4990
|
+
* Handler for iconbutton click
|
|
4991
|
+
* @param {Event} e - Click event
|
|
4992
|
+
*/
|
|
4993
|
+
this.handleIconClick = (e) => {
|
|
4994
|
+
e.stopPropagation(); // Prevent header click from triggering
|
|
4995
|
+
this.toggle();
|
|
4996
|
+
};
|
|
4997
|
+
/**
|
|
4998
|
+
* Handler for keyboard events on iconbutton
|
|
4999
|
+
* @param {KeyboardEvent} e - Keyboard event
|
|
5000
|
+
*/
|
|
5001
|
+
this.handleHeaderKeyDown = (e) => {
|
|
5002
|
+
if (this.disabled)
|
|
5003
|
+
return;
|
|
5004
|
+
switch (e.key) {
|
|
5005
|
+
case 'Enter':
|
|
5006
|
+
case ' ':
|
|
5007
|
+
e.preventDefault();
|
|
5008
|
+
this.toggle();
|
|
5009
|
+
break;
|
|
5010
|
+
case 'ArrowDown':
|
|
5011
|
+
e.preventDefault();
|
|
5012
|
+
if (!this.open) {
|
|
5013
|
+
this.open = true;
|
|
5014
|
+
this.itemToggle.emit(this.open);
|
|
5015
|
+
this.updateVisibility(this.open);
|
|
5016
|
+
}
|
|
5017
|
+
break;
|
|
5018
|
+
case 'ArrowUp':
|
|
5019
|
+
e.preventDefault();
|
|
5020
|
+
if (this.open) {
|
|
5021
|
+
this.open = false;
|
|
5022
|
+
this.itemToggle.emit(this.open);
|
|
5023
|
+
this.updateVisibility(this.open);
|
|
5024
|
+
}
|
|
5025
|
+
break;
|
|
5026
|
+
}
|
|
5027
|
+
};
|
|
4775
5028
|
}
|
|
4776
|
-
|
|
4777
|
-
|
|
4778
|
-
|
|
4779
|
-
|
|
4780
|
-
|
|
4781
|
-
|
|
4782
|
-
|
|
4783
|
-
|
|
4784
|
-
|
|
4785
|
-
|
|
4786
|
-
|
|
4787
|
-
|
|
4788
|
-
|
|
5029
|
+
//#endregion STATE
|
|
5030
|
+
/****************************************************************************/
|
|
5031
|
+
//#region WATCHERS
|
|
5032
|
+
async onOpenChanged(newValue, oldValue) {
|
|
5033
|
+
this.currentOpenState = newValue; // Synchronize internal state
|
|
5034
|
+
// Skip initial render
|
|
5035
|
+
if (oldValue === undefined) {
|
|
5036
|
+
return;
|
|
5037
|
+
}
|
|
5038
|
+
await this.updateVisibility(newValue);
|
|
5039
|
+
}
|
|
5040
|
+
//#endregion WATCHERS
|
|
5041
|
+
/****************************************************************************/
|
|
5042
|
+
//#region ANIMATIONS
|
|
4789
5043
|
/**
|
|
4790
|
-
*
|
|
4791
|
-
*
|
|
4792
|
-
* not work as expected.
|
|
5044
|
+
* Updates the visibility state with Nova animation system
|
|
5045
|
+
* @param {boolean} open - Whether the accordion item should be open
|
|
4793
5046
|
*/
|
|
4794
|
-
|
|
4795
|
-
|
|
4796
|
-
|
|
4797
|
-
|
|
4798
|
-
|
|
4799
|
-
|
|
4800
|
-
to: 0,
|
|
4801
|
-
duration,
|
|
4802
|
-
onUpdate: value => {
|
|
4803
|
-
nodeStyler.set({
|
|
4804
|
-
maxHeight: value,
|
|
4805
|
-
});
|
|
4806
|
-
},
|
|
4807
|
-
onComplete: () => {
|
|
4808
|
-
resolve();
|
|
4809
|
-
},
|
|
4810
|
-
});
|
|
5047
|
+
async updateVisibility(open) {
|
|
5048
|
+
if (!this.contentRef)
|
|
5049
|
+
return;
|
|
5050
|
+
this.isAnimating = true;
|
|
5051
|
+
const { collapse, expand } = useCollapse(this.contentRef, {
|
|
5052
|
+
duration: 200,
|
|
4811
5053
|
});
|
|
5054
|
+
if (open) {
|
|
5055
|
+
// Expand with animation
|
|
5056
|
+
await expand();
|
|
5057
|
+
}
|
|
5058
|
+
else {
|
|
5059
|
+
// Collapse with animation
|
|
5060
|
+
await collapse();
|
|
5061
|
+
}
|
|
5062
|
+
this.isAnimating = false;
|
|
4812
5063
|
}
|
|
4813
|
-
|
|
4814
|
-
|
|
4815
|
-
|
|
4816
|
-
|
|
4817
|
-
|
|
4818
|
-
|
|
4819
|
-
|
|
5064
|
+
//#endregion ANIMATIONS
|
|
5065
|
+
/****************************************************************************/
|
|
5066
|
+
//#region LIFECYCLE
|
|
5067
|
+
componentWillLoad() {
|
|
5068
|
+
this.currentOpenState = this.open; // Initial synchronization
|
|
5069
|
+
}
|
|
5070
|
+
componentDidLoad() {
|
|
5071
|
+
if (this.contentRef) {
|
|
5072
|
+
const { setExpanded, setCollapsed } = useCollapse(this.contentRef);
|
|
5073
|
+
if (this.open) {
|
|
5074
|
+
// If open by default on initial load, set expanded state without animation
|
|
5075
|
+
setExpanded();
|
|
5076
|
+
}
|
|
5077
|
+
else {
|
|
5078
|
+
// If closed by default, set collapsed state without animation
|
|
5079
|
+
setCollapsed();
|
|
5080
|
+
}
|
|
5081
|
+
}
|
|
5082
|
+
}
|
|
5083
|
+
disconnectedCallback() {
|
|
5084
|
+
if (this.mutationObserver) {
|
|
5085
|
+
this.mutationObserver.disconnect();
|
|
5086
|
+
}
|
|
4820
5087
|
}
|
|
5088
|
+
//#endregion LIFECYCLE
|
|
5089
|
+
/****************************************************************************/
|
|
5090
|
+
//#region METHODS
|
|
4821
5091
|
/**
|
|
4822
|
-
*
|
|
4823
|
-
* is expanded.
|
|
5092
|
+
* Toggle open/close (Public API)
|
|
4824
5093
|
*/
|
|
4825
|
-
|
|
4826
|
-
|
|
4827
|
-
|
|
5094
|
+
async toggle() {
|
|
5095
|
+
if (!this.disabled && !this.isAnimating) {
|
|
5096
|
+
this.open = !this.open;
|
|
5097
|
+
this.itemToggle.emit(this.open);
|
|
5098
|
+
// Force animation update directly instead of relying on watcher
|
|
5099
|
+
await this.updateVisibility(this.open);
|
|
5100
|
+
}
|
|
4828
5101
|
}
|
|
4829
5102
|
/**
|
|
4830
|
-
*
|
|
4831
|
-
*
|
|
4832
|
-
* otherwise the animation will not work as expected. Once complete, the
|
|
4833
|
-
* max-height and overflow style properties will be removed.
|
|
5103
|
+
* Get the chevron icon name based on open state
|
|
5104
|
+
* @returns {string} The icon name to display in the chevron button
|
|
4834
5105
|
*/
|
|
4835
|
-
|
|
4836
|
-
return
|
|
4837
|
-
const scrollHeight = node.scrollHeight;
|
|
4838
|
-
nodeStyler.set({
|
|
4839
|
-
overflow: 'hidden',
|
|
4840
|
-
});
|
|
4841
|
-
animate({
|
|
4842
|
-
from: 0,
|
|
4843
|
-
to: scrollHeight,
|
|
4844
|
-
duration,
|
|
4845
|
-
onUpdate: value => {
|
|
4846
|
-
nodeStyler.set({
|
|
4847
|
-
maxHeight: value,
|
|
4848
|
-
});
|
|
4849
|
-
},
|
|
4850
|
-
onComplete: () => {
|
|
4851
|
-
node.style.removeProperty('max-height');
|
|
4852
|
-
node.style.removeProperty('overflow');
|
|
4853
|
-
resolve();
|
|
4854
|
-
},
|
|
4855
|
-
});
|
|
4856
|
-
});
|
|
5106
|
+
get chevronIconName() {
|
|
5107
|
+
return this.open ? 'chevron-top' : 'chevron-down';
|
|
4857
5108
|
}
|
|
4858
|
-
|
|
4859
|
-
|
|
4860
|
-
|
|
4861
|
-
|
|
4862
|
-
|
|
4863
|
-
|
|
5109
|
+
//#endregion METHODS
|
|
5110
|
+
/****************************************************************************/
|
|
5111
|
+
//#region RENDER
|
|
5112
|
+
render() {
|
|
5113
|
+
return (hAsync(Host, { key: 'dfb8ca76f8ac40c938323be1ccba4353ea33a616', class: {
|
|
5114
|
+
'nv-accordion-item': true,
|
|
5115
|
+
'is-open': this.open,
|
|
5116
|
+
'is-disabled': this.disabled,
|
|
5117
|
+
'is-animating': this.isAnimating,
|
|
5118
|
+
}, role: "listitem", "aria-expanded": this.open ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }, hAsync("div", { key: '258efe0502a39d963a9e75c16285ee9cbc65cb9f', class: "nv-accordion-item__header", onClick: this.handleHeaderClick, "aria-controls": "content" }, hAsync("slot", { key: 'bb4dae743f06e3d41d1f7b8c17793b668df9347b', name: "header" }, hAsync("div", { key: 'f3142a81c6be776d95ab9292101b889db6e35805', class: "nv-accordion-item__header-content" }, this.itemTitle && (hAsync("span", { key: 'e897d8b4d414ba4e93b2853c152059579063335e', class: "nv-accordion-item__title" }, this.itemTitle)), this.subtitle && (hAsync("span", { key: 'b8e03ceb1ca0e4c0b0fe24398f0e1c592ac077ab', class: "nv-accordion-item__subtitle" }, this.subtitle)))), hAsync("nv-iconbutton", { key: '8d90711a96f5ce2e7d6f5ebcf3922cd0fedd69bd', emphasis: "low", size: "sm", shape: "square", name: this.chevronIconName, tabindex: this.disabled ? -1 : 0, onClick: this.handleIconClick, onKeyDown: this.handleHeaderKeyDown, "aria-expanded": this.open ? 'true' : 'false', "aria-controls": "content", "aria-label": this.open ? 'Fermer la section' : 'Ouvrir la section' })), hAsync("div", { key: '171b5165f3663fa5f0fa28ef84145dfc998e9f10', id: "content", class: "nv-accordion-item__content", "aria-hidden": !this.open ? 'true' : 'false', ref: el => (this.contentRef = el) }, hAsync("div", { key: 'dcf753f23cec073a036d8137f1299dcf4ca4af78', class: "nv-accordion-item__content-inner" }, hAsync("slot", { key: '3dc85def21aace19f3d211262b6cf66ccb9438fa', name: "content" })))));
|
|
5119
|
+
}
|
|
5120
|
+
get el() { return getElement(this); }
|
|
5121
|
+
static get watchers() { return {
|
|
5122
|
+
"open": ["onOpenChanged"]
|
|
5123
|
+
}; }
|
|
5124
|
+
static get style() { return NvAccordionItemStyle0; }
|
|
5125
|
+
static get cmpMeta() { return {
|
|
5126
|
+
"$flags$": 4,
|
|
5127
|
+
"$tagName$": "nv-accordion-item",
|
|
5128
|
+
"$members$": {
|
|
5129
|
+
"itemTitle": [513, "item-title"],
|
|
5130
|
+
"subtitle": [513],
|
|
5131
|
+
"open": [1540],
|
|
5132
|
+
"disabled": [516],
|
|
5133
|
+
"maxContentHeight": [514, "max-content-height"],
|
|
5134
|
+
"mode": [513],
|
|
5135
|
+
"currentOpenState": [32],
|
|
5136
|
+
"isInitialized": [32],
|
|
5137
|
+
"isAnimating": [32],
|
|
5138
|
+
"toggle": [64]
|
|
5139
|
+
},
|
|
5140
|
+
"$listeners$": undefined,
|
|
5141
|
+
"$lazyBundleId$": "-",
|
|
5142
|
+
"$attrsToReflect$": [["itemTitle", "item-title"], ["subtitle", "subtitle"], ["open", "open"], ["disabled", "disabled"], ["maxContentHeight", "max-content-height"], ["mode", "mode"]]
|
|
5143
|
+
}; }
|
|
5144
|
+
}
|
|
5145
|
+
|
|
5146
|
+
function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
|
|
5147
|
+
|
|
5148
|
+
var FeedbackColors;
|
|
5149
|
+
(function (FeedbackColors) {
|
|
5150
|
+
FeedbackColors["Information"] = "information";
|
|
5151
|
+
FeedbackColors["Warning"] = "warning";
|
|
5152
|
+
FeedbackColors["Success"] = "success";
|
|
5153
|
+
FeedbackColors["Error"] = "error";
|
|
5154
|
+
FeedbackColors["Neutral"] = "neutral";
|
|
5155
|
+
})(FeedbackColors || (FeedbackColors = {}));
|
|
5156
|
+
var DeprecatedSemanticColors;
|
|
5157
|
+
(function (DeprecatedSemanticColors) {
|
|
5158
|
+
DeprecatedSemanticColors["Neutral"] = "neutral";
|
|
5159
|
+
DeprecatedSemanticColors["Primary"] = "primary";
|
|
5160
|
+
DeprecatedSemanticColors["Secondary"] = "secondary";
|
|
5161
|
+
DeprecatedSemanticColors["Success"] = "success";
|
|
5162
|
+
DeprecatedSemanticColors["Error"] = "error";
|
|
5163
|
+
})(DeprecatedSemanticColors || (DeprecatedSemanticColors = {}));
|
|
5164
|
+
var SemanticSizes;
|
|
5165
|
+
(function (SemanticSizes) {
|
|
5166
|
+
SemanticSizes["ExtraSmall"] = "xs";
|
|
5167
|
+
SemanticSizes["Small"] = "sm";
|
|
5168
|
+
SemanticSizes["Medium"] = "md";
|
|
5169
|
+
SemanticSizes["Large"] = "lg";
|
|
5170
|
+
SemanticSizes["ExtraLarge"] = "xl";
|
|
5171
|
+
})(SemanticSizes || (SemanticSizes = {}));
|
|
5172
|
+
var ButtonSize;
|
|
5173
|
+
(function (ButtonSize) {
|
|
5174
|
+
ButtonSize["ExtraSmall"] = "xs";
|
|
5175
|
+
ButtonSize["Small"] = "sm";
|
|
5176
|
+
ButtonSize["Medium"] = "md";
|
|
5177
|
+
ButtonSize["Large"] = "lg";
|
|
5178
|
+
})(ButtonSize || (ButtonSize = {}));
|
|
5179
|
+
var ButtonEmphasis;
|
|
5180
|
+
(function (ButtonEmphasis) {
|
|
5181
|
+
ButtonEmphasis["High"] = "high";
|
|
5182
|
+
ButtonEmphasis["Medium"] = "medium";
|
|
5183
|
+
ButtonEmphasis["Low"] = "low";
|
|
5184
|
+
ButtonEmphasis["Lower"] = "lower";
|
|
5185
|
+
})(ButtonEmphasis || (ButtonEmphasis = {}));
|
|
5186
|
+
var ButtonType;
|
|
5187
|
+
(function (ButtonType) {
|
|
5188
|
+
ButtonType["Submit"] = "submit";
|
|
5189
|
+
ButtonType["Reset"] = "reset";
|
|
5190
|
+
ButtonType["Button"] = "button";
|
|
5191
|
+
})(ButtonType || (ButtonType = {}));
|
|
5192
|
+
var IconButtonShape;
|
|
5193
|
+
(function (IconButtonShape) {
|
|
5194
|
+
IconButtonShape["Square"] = "square";
|
|
5195
|
+
IconButtonShape["Rounded"] = "rounded";
|
|
5196
|
+
})(IconButtonShape || (IconButtonShape = {}));
|
|
5197
|
+
var LoaderColors;
|
|
5198
|
+
(function (LoaderColors) {
|
|
5199
|
+
LoaderColors["High"] = "brand";
|
|
5200
|
+
LoaderColors["Low"] = "white";
|
|
5201
|
+
})(LoaderColors || (LoaderColors = {}));
|
|
5202
|
+
var LabelPlacement;
|
|
5203
|
+
(function (LabelPlacement) {
|
|
5204
|
+
LabelPlacement["Before"] = "before";
|
|
5205
|
+
LabelPlacement["After"] = "after";
|
|
5206
|
+
})(LabelPlacement || (LabelPlacement = {}));
|
|
5207
|
+
var TextInputAutocomplete;
|
|
5208
|
+
(function (TextInputAutocomplete) {
|
|
5209
|
+
TextInputAutocomplete["On"] = "on";
|
|
5210
|
+
TextInputAutocomplete["Off"] = "off";
|
|
5211
|
+
TextInputAutocomplete["Section"] = "section-*";
|
|
5212
|
+
TextInputAutocomplete["Shipping"] = "shipping";
|
|
5213
|
+
TextInputAutocomplete["Billing"] = "billing";
|
|
5214
|
+
TextInputAutocomplete["Home"] = "home";
|
|
5215
|
+
TextInputAutocomplete["Work"] = "work";
|
|
5216
|
+
TextInputAutocomplete["Mobile"] = "mobile";
|
|
5217
|
+
TextInputAutocomplete["Fax"] = "fax";
|
|
5218
|
+
TextInputAutocomplete["Pager"] = "pager";
|
|
5219
|
+
TextInputAutocomplete["Tel"] = "tel";
|
|
5220
|
+
TextInputAutocomplete["TelCountryCode"] = "tel-country-code";
|
|
5221
|
+
TextInputAutocomplete["TelNational"] = "tel-national";
|
|
5222
|
+
TextInputAutocomplete["TelAreaCode"] = "tel-area-code";
|
|
5223
|
+
TextInputAutocomplete["TelLocal"] = "tel-local";
|
|
5224
|
+
TextInputAutocomplete["TelLocalPrefix"] = "tel-local-prefix";
|
|
5225
|
+
TextInputAutocomplete["TelLocalSuffix"] = "tel-local-suffix";
|
|
5226
|
+
TextInputAutocomplete["TelExtension"] = "tel-extension";
|
|
5227
|
+
TextInputAutocomplete["Email"] = "email";
|
|
5228
|
+
TextInputAutocomplete["IMProtocol"] = "impp";
|
|
5229
|
+
TextInputAutocomplete["Name"] = "name";
|
|
5230
|
+
TextInputAutocomplete["HonorificPrefix"] = "honorific-prefix";
|
|
5231
|
+
TextInputAutocomplete["GivenName"] = "given-name";
|
|
5232
|
+
TextInputAutocomplete["AdditionalName"] = "additional-name";
|
|
5233
|
+
TextInputAutocomplete["FamilyName"] = "family-name";
|
|
5234
|
+
TextInputAutocomplete["HonorificSuffix"] = "honorific-suffix";
|
|
5235
|
+
TextInputAutocomplete["Nickname"] = "nickname";
|
|
5236
|
+
TextInputAutocomplete["Username"] = "username";
|
|
5237
|
+
TextInputAutocomplete["NewPassword"] = "new-password";
|
|
5238
|
+
TextInputAutocomplete["CurrentPassword"] = "current-password";
|
|
5239
|
+
TextInputAutocomplete["OneTimeCode"] = "one-time-code";
|
|
5240
|
+
TextInputAutocomplete["OrganizationTitle"] = "organization-title";
|
|
5241
|
+
TextInputAutocomplete["Organization"] = "organization";
|
|
5242
|
+
TextInputAutocomplete["StreetAddress"] = "street-address";
|
|
5243
|
+
TextInputAutocomplete["AddressLine1"] = "address-line1";
|
|
5244
|
+
TextInputAutocomplete["AddressLine2"] = "address-line2";
|
|
5245
|
+
TextInputAutocomplete["AddressLine3"] = "address-line3";
|
|
5246
|
+
TextInputAutocomplete["AddressLevel4"] = "address-level4";
|
|
5247
|
+
TextInputAutocomplete["AddressLevel3"] = "address-level3";
|
|
5248
|
+
TextInputAutocomplete["AddressLevel2"] = "address-level2";
|
|
5249
|
+
TextInputAutocomplete["AddressLevel1"] = "address-level1";
|
|
5250
|
+
TextInputAutocomplete["Country"] = "country";
|
|
5251
|
+
TextInputAutocomplete["CountryName"] = "country-name";
|
|
5252
|
+
TextInputAutocomplete["PostalCode"] = "postal-code";
|
|
5253
|
+
TextInputAutocomplete["CCName"] = "cc-name";
|
|
5254
|
+
TextInputAutocomplete["CCGivenName"] = "cc-given-name";
|
|
5255
|
+
TextInputAutocomplete["CCAdditionalName"] = "cc-additional-name";
|
|
5256
|
+
TextInputAutocomplete["CCFamilyName"] = "cc-family-name";
|
|
5257
|
+
TextInputAutocomplete["CCNumber"] = "cc-number";
|
|
5258
|
+
TextInputAutocomplete["CCExp"] = "cc-exp";
|
|
5259
|
+
TextInputAutocomplete["CCExpMonth"] = "cc-exp-month";
|
|
5260
|
+
TextInputAutocomplete["CCExpYear"] = "cc-exp-year";
|
|
5261
|
+
TextInputAutocomplete["CCCSC"] = "cc-csc";
|
|
5262
|
+
TextInputAutocomplete["CCType"] = "cc-type";
|
|
5263
|
+
TextInputAutocomplete["TransactionCurrency"] = "transaction-currency";
|
|
5264
|
+
TextInputAutocomplete["TransactionAmount"] = "transaction-amount";
|
|
5265
|
+
TextInputAutocomplete["Language"] = "language";
|
|
5266
|
+
TextInputAutocomplete["Bday"] = "bday";
|
|
5267
|
+
TextInputAutocomplete["BdayDay"] = "bday-day";
|
|
5268
|
+
TextInputAutocomplete["BdayMonth"] = "bday-month";
|
|
5269
|
+
TextInputAutocomplete["BdayYear"] = "bday-year";
|
|
5270
|
+
TextInputAutocomplete["Sex"] = "sex";
|
|
5271
|
+
TextInputAutocomplete["Url"] = "url";
|
|
5272
|
+
TextInputAutocomplete["Photo"] = "photo";
|
|
5273
|
+
})(TextInputAutocomplete || (TextInputAutocomplete = {}));
|
|
5274
|
+
var TimeType;
|
|
5275
|
+
(function (TimeType) {
|
|
5276
|
+
TimeType["Hours"] = "hours";
|
|
5277
|
+
TimeType["Minutes"] = "minutes";
|
|
5278
|
+
TimeType["Seconds"] = "seconds";
|
|
5279
|
+
})(TimeType || (TimeType = {}));
|
|
5280
|
+
var GlobalFilterPosition;
|
|
5281
|
+
(function (GlobalFilterPosition) {
|
|
5282
|
+
GlobalFilterPosition["End"] = "end";
|
|
5283
|
+
GlobalFilterPosition["Start"] = "start";
|
|
5284
|
+
GlobalFilterPosition["Center"] = "center";
|
|
5285
|
+
})(GlobalFilterPosition || (GlobalFilterPosition = {}));
|
|
5286
|
+
var SortingPossibility;
|
|
5287
|
+
(function (SortingPossibility) {
|
|
5288
|
+
SortingPossibility["Asc"] = "asc";
|
|
5289
|
+
SortingPossibility["Desc"] = "desc";
|
|
5290
|
+
})(SortingPossibility || (SortingPossibility = {}));
|
|
5291
|
+
const WEEK_ABBREVIATIONS = {
|
|
5292
|
+
'fr-FR': 'Sem', // Semaine
|
|
5293
|
+
'fr-BE': 'Sem', // Semaine
|
|
5294
|
+
'nl-BE': 'W', // Week
|
|
5295
|
+
'en-BE': 'W', // Week
|
|
5296
|
+
'en-US': 'W', // Week
|
|
5297
|
+
'en-GB': 'W', // Week
|
|
5298
|
+
'es-ES': 'Sem', // Semana
|
|
5299
|
+
'de-DE': 'KW', // Kalenderwoche
|
|
5300
|
+
'it-IT': 'Set', // Settimana
|
|
5301
|
+
'pt-PT': 'Sem', // Semana
|
|
5302
|
+
'nl-NL': 'W', // Week
|
|
5303
|
+
'pl-PL': 'Tyd', // Tydzień
|
|
5304
|
+
'ru-RU': 'Нед', // Неделя
|
|
5305
|
+
'ja-JP': '週', // Shū
|
|
5306
|
+
'zh-CN': '周', // Zhōu
|
|
5307
|
+
'ko-KR': '주', // Ju
|
|
4864
5308
|
};
|
|
4865
|
-
|
|
4866
|
-
|
|
4867
|
-
|
|
4868
|
-
|
|
4869
|
-
|
|
4870
|
-
|
|
4871
|
-
|
|
4872
|
-
function fadeIn() {
|
|
4873
|
-
return new Promise(resolve => {
|
|
4874
|
-
animate({
|
|
4875
|
-
from: { opacity: 0 },
|
|
4876
|
-
to: { opacity: 1 },
|
|
4877
|
-
duration,
|
|
4878
|
-
onUpdate(latest) {
|
|
4879
|
-
nodeStyler.set({ opacity: latest.opacity });
|
|
4880
|
-
},
|
|
4881
|
-
onComplete() {
|
|
4882
|
-
resolve();
|
|
4883
|
-
node.style.removeProperty('opacity');
|
|
4884
|
-
},
|
|
4885
|
-
});
|
|
4886
|
-
});
|
|
4887
|
-
}
|
|
4888
|
-
/**
|
|
4889
|
-
* Applies the fadeOut styles without animating, useful when initial state
|
|
4890
|
-
* is hidden.
|
|
4891
|
-
*/
|
|
4892
|
-
function setFadeOut() {
|
|
4893
|
-
node.style.opacity = '0';
|
|
4894
|
-
}
|
|
4895
|
-
/**
|
|
4896
|
-
* Applies the fadeIn styles without animating, useful when initial state
|
|
4897
|
-
* is visible.
|
|
4898
|
-
*/
|
|
4899
|
-
function setFadeIn() {
|
|
4900
|
-
node.style.opacity = '1';
|
|
4901
|
-
}
|
|
4902
|
-
/**
|
|
4903
|
-
* Will animate the opacity to 0, once complete, the opacity style attribute
|
|
4904
|
-
* will stay on the element.
|
|
4905
|
-
*/
|
|
4906
|
-
function fadeOut() {
|
|
4907
|
-
return new Promise(resolve => {
|
|
4908
|
-
animate({
|
|
4909
|
-
from: { opacity: 1 },
|
|
4910
|
-
to: { opacity: 0 },
|
|
4911
|
-
duration,
|
|
4912
|
-
onUpdate(latest) {
|
|
4913
|
-
nodeStyler.set({ opacity: latest.opacity });
|
|
4914
|
-
},
|
|
4915
|
-
onComplete() {
|
|
4916
|
-
resolve();
|
|
4917
|
-
},
|
|
4918
|
-
});
|
|
4919
|
-
});
|
|
4920
|
-
}
|
|
4921
|
-
return {
|
|
4922
|
-
fadeIn,
|
|
4923
|
-
fadeOut,
|
|
4924
|
-
setFadeOut,
|
|
4925
|
-
setFadeIn,
|
|
4926
|
-
};
|
|
5309
|
+
const CUSTOM_DAY_NAMES = {
|
|
5310
|
+
'fr-BE': ['Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa', 'Di'],
|
|
5311
|
+
'nl-BE': ['Ma', 'Di', 'Wo', 'Do', 'Vr', 'Za', 'Zo'],
|
|
5312
|
+
'de-DE': ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So'],
|
|
5313
|
+
'en-BE': ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
|
|
5314
|
+
'en-US': ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
|
|
5315
|
+
'en-GB': ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
|
|
4927
5316
|
};
|
|
4928
|
-
|
|
4929
|
-
|
|
4930
|
-
|
|
4931
|
-
|
|
4932
|
-
|
|
4933
|
-
|
|
4934
|
-
|
|
4935
|
-
|
|
4936
|
-
|
|
4937
|
-
|
|
4938
|
-
|
|
4939
|
-
|
|
4940
|
-
|
|
4941
|
-
|
|
4942
|
-
|
|
4943
|
-
|
|
4944
|
-
|
|
4945
|
-
|
|
4946
|
-
|
|
4947
|
-
|
|
4948
|
-
|
|
4949
|
-
|
|
4950
|
-
|
|
4951
|
-
|
|
4952
|
-
|
|
4953
|
-
|
|
4954
|
-
|
|
4955
|
-
|
|
4956
|
-
|
|
4957
|
-
|
|
4958
|
-
|
|
4959
|
-
|
|
4960
|
-
|
|
4961
|
-
|
|
4962
|
-
|
|
4963
|
-
|
|
4964
|
-
|
|
4965
|
-
|
|
4966
|
-
|
|
4967
|
-
|
|
4968
|
-
|
|
4969
|
-
|
|
4970
|
-
|
|
4971
|
-
|
|
4972
|
-
|
|
4973
|
-
|
|
4974
|
-
|
|
4975
|
-
|
|
4976
|
-
|
|
4977
|
-
|
|
4978
|
-
|
|
4979
|
-
|
|
4980
|
-
|
|
4981
|
-
|
|
4982
|
-
|
|
4983
|
-
|
|
4984
|
-
|
|
4985
|
-
|
|
4986
|
-
|
|
4987
|
-
|
|
4988
|
-
|
|
4989
|
-
|
|
4990
|
-
|
|
4991
|
-
|
|
4992
|
-
|
|
4993
|
-
|
|
4994
|
-
|
|
4995
|
-
|
|
4996
|
-
|
|
4997
|
-
|
|
4998
|
-
|
|
4999
|
-
|
|
5000
|
-
|
|
5001
|
-
|
|
5002
|
-
|
|
5003
|
-
|
|
5004
|
-
|
|
5005
|
-
|
|
5006
|
-
|
|
5007
|
-
|
|
5008
|
-
|
|
5009
|
-
|
|
5010
|
-
|
|
5317
|
+
const CUSTOM_MONTH_NAMES = {
|
|
5318
|
+
'fr-BE': [
|
|
5319
|
+
'Jan',
|
|
5320
|
+
'Fev',
|
|
5321
|
+
'Mar',
|
|
5322
|
+
'Avr',
|
|
5323
|
+
'Mai',
|
|
5324
|
+
'Jun',
|
|
5325
|
+
'Jul',
|
|
5326
|
+
'Aou',
|
|
5327
|
+
'Sep',
|
|
5328
|
+
'Oct',
|
|
5329
|
+
'Nov',
|
|
5330
|
+
'Dec',
|
|
5331
|
+
],
|
|
5332
|
+
'nl-BE': [
|
|
5333
|
+
'Jan',
|
|
5334
|
+
'Feb',
|
|
5335
|
+
'Maa',
|
|
5336
|
+
'Apr',
|
|
5337
|
+
'Mei',
|
|
5338
|
+
'Jun',
|
|
5339
|
+
'Jul',
|
|
5340
|
+
'Aug',
|
|
5341
|
+
'Sep',
|
|
5342
|
+
'Okt',
|
|
5343
|
+
'Nov',
|
|
5344
|
+
'Dec',
|
|
5345
|
+
],
|
|
5346
|
+
'de-DE': [
|
|
5347
|
+
'Jan',
|
|
5348
|
+
'Feb',
|
|
5349
|
+
'Mär',
|
|
5350
|
+
'Apr',
|
|
5351
|
+
'Mai',
|
|
5352
|
+
'Jun',
|
|
5353
|
+
'Jul',
|
|
5354
|
+
'Aug',
|
|
5355
|
+
'Sep',
|
|
5356
|
+
'Okt',
|
|
5357
|
+
'Nov',
|
|
5358
|
+
'Dez',
|
|
5359
|
+
],
|
|
5360
|
+
'en-BE': [
|
|
5361
|
+
'Jan',
|
|
5362
|
+
'Feb',
|
|
5363
|
+
'Mar',
|
|
5364
|
+
'Apr',
|
|
5365
|
+
'May',
|
|
5366
|
+
'Jun',
|
|
5367
|
+
'Jul',
|
|
5368
|
+
'Aug',
|
|
5369
|
+
'Sep',
|
|
5370
|
+
'Oct',
|
|
5371
|
+
'Nov',
|
|
5372
|
+
'Dec',
|
|
5373
|
+
],
|
|
5374
|
+
'en-US': [
|
|
5375
|
+
'Jan',
|
|
5376
|
+
'Feb',
|
|
5377
|
+
'Mar',
|
|
5378
|
+
'Apr',
|
|
5379
|
+
'May',
|
|
5380
|
+
'Jun',
|
|
5381
|
+
'Jul',
|
|
5382
|
+
'Aug',
|
|
5383
|
+
'Sep',
|
|
5384
|
+
'Oct',
|
|
5385
|
+
'Nov',
|
|
5386
|
+
'Dec',
|
|
5387
|
+
],
|
|
5388
|
+
'en-GB': [
|
|
5389
|
+
'Jan',
|
|
5390
|
+
'Feb',
|
|
5391
|
+
'Mar',
|
|
5392
|
+
'Apr',
|
|
5393
|
+
'May',
|
|
5394
|
+
'Jun',
|
|
5395
|
+
'Jul',
|
|
5396
|
+
'Aug',
|
|
5397
|
+
'Sep',
|
|
5398
|
+
'Oct',
|
|
5399
|
+
'Nov',
|
|
5400
|
+
'Dec',
|
|
5401
|
+
],
|
|
5011
5402
|
};
|
|
5012
5403
|
|
|
5013
|
-
/**
|
|
5014
|
-
* Will execute a series of animation promises in sequence.
|
|
5015
|
-
* This is useful for chaining animations where each step depends on the
|
|
5016
|
-
* previous one completing before starting the next.
|
|
5017
|
-
*
|
|
5018
|
-
* @param {Array<() => Promise<void>>} animations - The array of animation functions.
|
|
5019
|
-
* @returns {Object} - An object with a `start` method to begin the timeline.
|
|
5020
|
-
*
|
|
5021
|
-
* @example
|
|
5022
|
-
* const { fadeOut } = useFade(this.ref);
|
|
5023
|
-
* const { collapse } = useCollapse(this.ref);
|
|
5024
|
-
*
|
|
5025
|
-
* timeline(fadeOut, collapse).start();
|
|
5026
|
-
*/
|
|
5027
|
-
const timeline = (...animations) => ({
|
|
5028
|
-
start: () => {
|
|
5029
|
-
return animations.reduce((promise, animation) => promise.then(() => animation()), Promise.resolve());
|
|
5030
|
-
},
|
|
5031
|
-
});
|
|
5032
|
-
|
|
5033
5404
|
const nvAlertCss = "nv-alert{display:flex !important;align-items:flex-start;position:relative;gap:var(--alert-gap-x);border-radius:var(--alert-radius);font-family:\"TT Norms Pro\", \"Montserrat\", sans-serif}nv-alert>nv-icon{margin-left:var(--alert-icon-position-x);margin-top:var(--alert-icon-position-y)}nv-alert.hidden{display:none !important}nv-alert.feedback-information{background-color:var(--components-alert-information-background);border:1px solid var(--components-alert-information-border) !important}nv-alert.feedback-information>.close:focus,nv-alert.feedback-information>.close:focus-within{outline:none}nv-alert.feedback-information>.close:focus-visible,nv-alert.feedback-information>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-information-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-warning{background-color:var(--components-alert-warning-background);border:1px solid var(--components-alert-warning-border) !important}nv-alert.feedback-warning>.close:focus,nv-alert.feedback-warning>.close:focus-within{outline:none}nv-alert.feedback-warning>.close:focus-visible,nv-alert.feedback-warning>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-warning-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-error{background-color:var(--components-alert-error-background);border:1px solid var(--components-alert-error-border) !important}nv-alert.feedback-error>.close:focus,nv-alert.feedback-error>.close:focus-within{outline:none}nv-alert.feedback-error>.close:focus-visible,nv-alert.feedback-error>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-error-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-success{background-color:var(--components-alert-success-background);border:1px solid var(--components-alert-success-border) !important}nv-alert.feedback-success>.close:focus,nv-alert.feedback-success>.close:focus-within{outline:none}nv-alert.feedback-success>.close:focus-visible,nv-alert.feedback-success>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-success-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert.feedback-neutral{background-color:var(--components-alert-neutral-background);border:1px solid var(--components-alert-neutral-border) !important}nv-alert.feedback-neutral>.close:focus,nv-alert.feedback-neutral>.close:focus-within{outline:none}nv-alert.feedback-neutral>.close:focus-visible,nv-alert.feedback-neutral>.close:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--components-alert-neutral-border);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-alert>nv-icon.icon-information{color:var(--components-alert-information-icon)}nv-alert>nv-icon.icon-warning{color:var(--components-alert-warning-icon)}nv-alert>nv-icon.icon-error{color:var(--components-alert-error-icon)}nv-alert>nv-icon.icon-success{color:var(--components-alert-success-icon)}nv-alert>nv-icon.icon-neutral{color:var(--components-alert-neutral-icon)}nv-alert>.content{display:flex;padding:var(--alert-padding);padding-left:0;flex-direction:column;gap:var(--alert-gap-y)}nv-alert>.content>.heading{color:var(--components-alert-content-title);font-size:var(--alert-heading-font-size);line-height:var(--alert-heading-line-height);font-weight:var(--alert-heading-font-weight)}nv-alert>.content>.message{color:var(--components-alert-content-description);font-size:var(--alert-message-font-size);line-height:var(--alert-message-line-height)}nv-alert>.close{border-radius:var(--alert-radius);position:absolute;display:flex;top:var(--alert-icon-position-y);right:var(--alert-icon-position-x);padding:0;border:none;background:none;cursor:pointer}";
|
|
5034
5405
|
var NvAlertStyle0 = nvAlertCss;
|
|
5035
5406
|
|
|
@@ -5187,7 +5558,7 @@ class NvAlert {
|
|
|
5187
5558
|
//#region RENDER
|
|
5188
5559
|
render() {
|
|
5189
5560
|
var _a;
|
|
5190
|
-
return (hAsync(Host, { key: '
|
|
5561
|
+
return (hAsync(Host, { key: 'f0e75ac2c38aced1dcf76cb1d5f03becefbee71d', role: "alert", class: clsx('root', `feedback-${this.feedback}`) }, hAsync("nv-icon", { key: '19f7fcf452d62277ab436acd20c285f44fbaecd4', name: (_a = this.icon) !== null && _a !== void 0 ? _a : this.getDefaultIcon(), class: `icon-${this.feedback}`, size: "md" }), hAsync("div", { key: '8e656ffd0bce63bd33d92b97df21389af265e182', class: "content" }, this.heading && hAsync("p", { key: '0aa928e8ee8605d735f890bc67128563ce3ad379', class: "heading" }, this.heading), this.message && hAsync("p", { key: '690d9928646d25a636b2bb04eb65eee40c402f52', class: "message" }, this.message), hAsync("slot", { key: '86309f093688dbb81ff805f1c9137b200541e905' })), this.dismissible && (hAsync("button", { key: '387695ff1e23a7e289cf58c51042ccc561d451ad', class: "close", type: "button", onClick: this.handleDismiss }, hAsync("nv-icon", { key: '788b99b4c56fc8c936a67ac48d2db37fdcca7631', name: "x", size: "sm" })))));
|
|
5191
5562
|
}
|
|
5192
5563
|
get ref() { return getElement(this); }
|
|
5193
5564
|
static get watchers() { return {
|
|
@@ -5271,7 +5642,7 @@ class NvAvatar {
|
|
|
5271
5642
|
/****************************************************************************/
|
|
5272
5643
|
//#region RENDER
|
|
5273
5644
|
render() {
|
|
5274
|
-
return (hAsync(Host, { key: '
|
|
5645
|
+
return (hAsync(Host, { key: '127d470eb9121f611f9e18f029ab9ef15a4a49df', class: clsx(`avatar-${this.size}`, `avatar-color-${this.color}`), "aria-label": this.alt }, this.src ? (hAsync("img", { src: this.src, alt: this.alt })) : this.initials ? (this.trimInitials(this.initials)) : (hAsync("slot", { name: "icon" }, hAsync("nv-icon", { name: "user" })))));
|
|
5275
5646
|
}
|
|
5276
5647
|
static get style() { return NvAvatarStyle0; }
|
|
5277
5648
|
static get cmpMeta() { return {
|
|
@@ -5427,12 +5798,12 @@ class NvBadge {
|
|
|
5427
5798
|
/****************************************************************************/
|
|
5428
5799
|
//#region RENDER
|
|
5429
5800
|
render() {
|
|
5430
|
-
return (hAsync(Host, { key: '
|
|
5801
|
+
return (hAsync(Host, { key: '435c5bb1f565c8bd95cca5c6828157c80f60aa39', class: clsx(`badge-${this.color}`, {
|
|
5431
5802
|
'has-close': this.dismissible,
|
|
5432
5803
|
'with-gap': this.dismissible || this.label,
|
|
5433
5804
|
'visually-hidden': this._isHidden,
|
|
5434
5805
|
'is-icon-only': this.isIconOnly,
|
|
5435
|
-
}) }, hAsync("slot", { key: '
|
|
5806
|
+
}) }, hAsync("slot", { key: '271dc833471e026af5088f48227639682e661e97', name: "leading-icon" }, this.leadIcon && hAsync("nv-icon", { key: 'e578eabf4c5a09e61e28c3839b943804acdf88e8', name: this.leadIcon, size: "sm" })), hAsync("span", { key: '24d16a21b2b4499be712f9b747c9ab63c5e6ca0c', class: clsx({ 'visually-hidden': this.isIconOnly }) }, this.label, hAsync("slot", { key: '3e3827620e6ade8be256ce7dd0b8bb949f36f2d5' })), this.dismissible && (hAsync("button", { key: '90ed9ec1b71815554b963b0eafeb5536578700cf', onClick: this.handleClose, class: "close", type: "button" }, hAsync("nv-icon", { key: 'df426e5d88c2bf02e7aa83c179c05db4795f03db', name: "x", size: "sm" })))));
|
|
5436
5807
|
}
|
|
5437
5808
|
get ref() { return getElement(this); }
|
|
5438
5809
|
static get watchers() { return {
|
|
@@ -5495,7 +5866,7 @@ class NvBreadcrumb {
|
|
|
5495
5866
|
/****************************************************************************/
|
|
5496
5867
|
//#region RENDER
|
|
5497
5868
|
render() {
|
|
5498
|
-
return (hAsync(Host, { key: '
|
|
5869
|
+
return (hAsync(Host, { key: 'b0cfdee987585488bd49734900ee421b081e6df4', role: "listitem", "aria-current": this.current ? 'location' : undefined, class: clsx({ 'visually-hidden': this.current }) }, this.type === 'collapsed' ? (hAsync("button", { ref: el => (this.popoverTrigger = el) }, "...")) : (hAsync("slot", null)), this.tooltip && (hAsync("nv-tooltip", { key: '970d9552c3f81bffd86889fc2ff169f73810507b', message: this.tooltip, triggerElement: this.popoverTrigger, placement: "top" })), this.type === 'collapsed' && (hAsync("nv-popover", { key: '1b14ce172db49aaeb199d6801978f96204ba05a1', triggerMode: "click", groupName: "breadcrumbs", triggerElement: this.popoverTrigger }, hAsync("ul", { key: 'b984309f9290bb4bcfed796200ffaad6e52a2b93', slot: "content" }, hAsync("slot", { key: '189408f75e689b98b4cf9397074dbaefaecece9a' })))), hAsync("span", { key: '62a4bed098620043b69f1e7dcf51db7de035f5fc', "data-scope": "separator" }, "/")));
|
|
5499
5870
|
}
|
|
5500
5871
|
get el() { return getElement(this); }
|
|
5501
5872
|
static get style() { return NvBreadcrumbStyle0; }
|
|
@@ -5525,7 +5896,7 @@ class NvBreadcrumbs {
|
|
|
5525
5896
|
}
|
|
5526
5897
|
//#region RENDER
|
|
5527
5898
|
render() {
|
|
5528
|
-
return (hAsync(Host, { key: '
|
|
5899
|
+
return (hAsync(Host, { key: '4337fe5161c0ce444001e1b92221f3adac26e4bf', role: "navigation", "aria-label": "breadcrumbs" }, hAsync("ol", { key: '00d470eadfe879be525a4a4b7ec3368601a0697c' }, hAsync("slot", { key: '2d012f152b49f33f399aa14dfb18a4c39265128c' }))));
|
|
5529
5900
|
}
|
|
5530
5901
|
static get style() { return NvBreadcrumbsStyle0; }
|
|
5531
5902
|
static get cmpMeta() { return {
|
|
@@ -5689,7 +6060,7 @@ class NvButton {
|
|
|
5689
6060
|
/****************************************************************************/
|
|
5690
6061
|
//#region RENDER
|
|
5691
6062
|
render() {
|
|
5692
|
-
return (hAsync(Host, { key: '
|
|
6063
|
+
return (hAsync(Host, { key: '54c0b3351f4d8a180058a03e61a562882fb98498', role: "button", tabindex: "0", onClick: this.handleButtonClick }, this.loading && (hAsync("nv-loader", { key: '21315e4af4111bcf47c67e65a9a58a1d7121a43e', size: this.size === ButtonSize.Large ? 'sm' : 'xs' })), hAsync("slot", { key: 'f37683ddaa2c11c5b7accfc99429c930f5a3dcf6', name: "leading-icon" }), hAsync("slot", { key: 'd17ebe7505d9027c6c58f930a8ea9b097561cead' }), hAsync("slot", { key: '2cd6c9756cc7540417041adf5830b734291b2ab5', name: "trailing-icon" })));
|
|
5693
6064
|
}
|
|
5694
6065
|
static get formAssociated() { return true; }
|
|
5695
6066
|
get el() { return getElement(this); }
|
|
@@ -5954,26 +6325,6 @@ function parseDate(dateInput, dateFormat) {
|
|
|
5954
6325
|
parsed = dayjs(dateInput, dateFormat, true);
|
|
5955
6326
|
}
|
|
5956
6327
|
if (!parsed.isValid()) {
|
|
5957
|
-
// Check if the date input contains placeholder characters (incomplete input from Inputmask)
|
|
5958
|
-
// This specifically targets partial dates being typed with placeholder characters
|
|
5959
|
-
const hasPlaceholderChars = typeof dateInput === 'string' &&
|
|
5960
|
-
(dateInput.includes('_') ||
|
|
5961
|
-
dateInput.includes('-_') ||
|
|
5962
|
-
dateInput.includes('/_') ||
|
|
5963
|
-
dateInput.includes('._'));
|
|
5964
|
-
// Check if it looks like a partial date being typed (starts with valid pattern)
|
|
5965
|
-
const looksLikePartialDate = typeof dateInput === 'string' &&
|
|
5966
|
-
dateInput.length < dateFormat.length &&
|
|
5967
|
-
/^[\d\-/.]*$/.test(dateInput) && // Only contains digits and date separators
|
|
5968
|
-
dateInput.length > 0;
|
|
5969
|
-
const isIncompleteInput = hasPlaceholderChars || looksLikePartialDate;
|
|
5970
|
-
// Only log error if it's not an incomplete input (to avoid spam during typing)
|
|
5971
|
-
if (!isIncompleteInput) {
|
|
5972
|
-
console.error(`Parsing error:`, {
|
|
5973
|
-
dateInput,
|
|
5974
|
-
dateFormat: dateFormat,
|
|
5975
|
-
});
|
|
5976
|
-
}
|
|
5977
6328
|
return null;
|
|
5978
6329
|
}
|
|
5979
6330
|
return parsed.toDate();
|
|
@@ -6135,9 +6486,13 @@ const CalendarGrid = props => {
|
|
|
6135
6486
|
return (hAsync("div", { class: "days-container" },
|
|
6136
6487
|
hAsync("div", { class: "days-header" }, dayNames.map((day, index) => (hAsync("div", { class: "day-header", key: `day-header-${index}` }, day)))),
|
|
6137
6488
|
hAsync("div", { class: "days-grid" }, days.map(day => {
|
|
6489
|
+
if (day.isBlank) {
|
|
6490
|
+
return hAsync("div", { class: "day day-blank" });
|
|
6491
|
+
}
|
|
6138
6492
|
const date = day.date;
|
|
6139
|
-
if (!date)
|
|
6140
|
-
return
|
|
6493
|
+
if (!date || !day.dayOfMonth) {
|
|
6494
|
+
return hAsync("div", { class: "day-cell is-disabled is-empty" });
|
|
6495
|
+
}
|
|
6141
6496
|
const isSelected = selectionType === 'single' &&
|
|
6142
6497
|
isSameDate(date, selectedDate, { isUTCMode });
|
|
6143
6498
|
const isInRange = isDateInRange(date);
|
|
@@ -6148,7 +6503,7 @@ const CalendarGrid = props => {
|
|
|
6148
6503
|
}))));
|
|
6149
6504
|
};
|
|
6150
6505
|
|
|
6151
|
-
const nvCalendarCss = "nv-calendar{display:block}.datepicker-root{display:flex;justify-content:center;align-items:flex-start;width:auto}.datepicker-container{font-family:system-ui, sans-serif;display:flex;flex-direction:column;align-items:stretch;background:var(--components-calendar-background);border-radius:var(--calendar-radius);padding:var(--calendar-padding);box-shadow:0px var(--shadow-y-axis-md-1) var(--shadow-blur-md-1) var(--shadow-spread-md, 0) var(--shadow-color-opacity-0), 0px var(--shadow-y-axis-md-2) var(--shadow-blur-md-2) var(--shadow-spread-md, 0) var(--shadow-color-opacity-2);border:1px solid var(--components-calendar-border);width:auto;max-width:100%}.datepicker-container-single{max-width:300px}.datepicker-container-single .datepicker-wrapper:has(.shortcuts-placement-left),.datepicker-container-single .datepicker-wrapper:has(.shortcuts-placement-right){max-width:410px !important}.datepicker-container-single:has(.shortcuts-placement-left),.datepicker-container-single:has(.shortcuts-placement-right){max-width:410px !important}.datepicker-wrapper{display:flex;justify-content:center;align-items:flex-start;gap:var(--calendar-gap-x);width:auto;overflow-x:hidden}.datepicker-wrapper::-webkit-scrollbar{width:6px;height:6px}.datepicker-wrapper::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}.datepicker-wrapper::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}.datepicker-wrapper.single{justify-content:center}.calendar-container{display:flex;flex-direction:column;align-items:center;padding:var(--calendar-padding);width:auto;position:relative}.calendar-separator{width:1px;background:var(--components-calendar-border);height:auto;min-height:100%;margin:0 10px}.header{display:flex;justify-content:start;align-items:center;margin-bottom:var(--calendar-header-margin-bottom);width:100%}.header nv-iconbutton{width:var(--calendar-header-button-size);height:var(--calendar-header-button-size)}.nav-buttons{display:flex;gap:var(--spacing-0);margin-left:auto}.nav-left{order:-1}.date-controls{display:flex;gap:var(--spacing-1);align-items:center;min-height:34px;justify-content:center}.datepicker-container-single .date-controls{justify-content:flex-start}.datepicker-container:not(.datepicker-container-single) .date-controls{justify-content:start;flex-grow:1}.date-controls .month-select,.date-controls .year-input{background:transparent !important}.calendar-wrapper:nth-child(n+2) .datepicker-container{margin-left:42px}.calendar-grid{display:grid;grid-template-columns:auto 1fr;column-gap:var(--calendar-weeks-calendar-gap-x);position:relative}.calendar-grid.slide-left{animation:slideLeft 0.3s ease-out}.calendar-grid.slide-right{animation:slideRight 0.3s ease-out}.week-numbers{display:grid;grid-template-rows:var(--calendar-cell-size) repeat(6, var(--calendar-cell-size));background:var(--components-calendar-weeks-background);color:var(--components-calendar-weeks-text);border-radius:var(--calendar-weeks-radius);width:var(--calendar-weeks-size);row-gap:var(--calendar-grid-gap-y)}.week-numbers .clickable{cursor:pointer}.week-numbers .clickable:hover{background-color:var(--components-calendar-weeks-background-hover);color:var(--components-calendar-weeks-text-hover);border-radius:var(--calendar-radius)}.week-header,.week-number{display:grid;place-items:center;font-size:var(--calendar-cell-font-size)}.week-header{font-weight:700;color:var(--components-calendar-weeks-text)}.week-number{color:var(--components-calendar-cell-text)}.days-container{display:grid;grid-template-rows:auto 1fr;row-gap:var(--calendar-grid-gap-y)}.days-header{display:grid;grid-template-columns:repeat(7, var(--calendar-cell-size));height:var(--calendar-cell-size)}.day-header{display:grid;place-items:center;font-size:var(--calendar-cell-font-size);color:var(--components-calendar-cell-text)}.days-grid{display:grid;grid-template-columns:repeat(7, var(--calendar-cell-size));grid-template-rows:repeat(6, var(--calendar-cell-size));animation:fadeIn 0.2s ease-in;row-gap:var(--calendar-grid-gap-y);z-index:0}.day{display:grid;place-items:center;width:var(--calendar-cell-size);height:var(--calendar-cell-size);font-size:var(--calendar-cell-font-size);border-radius:var(--calendar-cell-radius);cursor:pointer;border:none;background:transparent;transition:all 0.2s ease;text-align:center;animation:scaleIn 0.2s ease-out}.day:hover:not(.disabled,.empty,.selected){background:var(--components-calendar-cell-background-hover);color:var(--components-calendar-cell-text-hover)}.day.selected,.day.selected:hover .day.is-today.selected,.day.is-today.selected:hover{background:var(--components-calendar-cell-background-selected);color:var(--components-calendar-cell-text-selected) !important}.day.disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.day.outside-month{color:var(--components-calendar-cell-text);opacity:var(--opacity-disabled)}.day.outside-month.selected{opacity:1 !important;color:var(--components-calendar-cell-text-selected)}.day.outside-month.in-range{opacity:0.5 !important;background-color:var(--components-calendar-cell-background-in-range);color:var(--components-calendar-cell-text-in-range)}.day.outside-month.in-range:hover{opacity:0.7 !important;background-color:var(--components-calendar-cell-background-in-range)}.day.in-range{background:var(--components-calendar-cell-background-in-range);color:var(--components-calendar-cell-text-in-range);border-radius:0;position:relative}.day.range-start,.day.range-start:focus,.day.range-start:hover,.day.range-end,.day.range-end:focus,.day.range-end:hover{background-color:var(--components-calendar-cell-background-selected) !important;color:var(--components-calendar-cell-text-selected) !important}.day.range-start,.day.range-end,.day.range-start.is-today,.day.range-end.is-today{background:var(--components-calendar-cell-background-selected);color:var(--components-calendar-cell-text-selected);position:relative;border-radius:var(--radius-rounded-full)}.day.range-start:hover,.day.range-end:hover,.day.range-start.is-today:hover,.day.range-end.is-today:hover{color:var(--components-calendar-cell-text-today)}.day.range-start:before,.day.range-end:before,.day.range-start.is-today:before,.day.range-end.is-today:before{content:\"\";position:absolute;bottom:0;left:0;right:0;top:0;z-index:-1;background-color:var(--components-calendar-cell-background-in-range);border-radius:var(--radius-rounded-full);width:auto;height:auto}.day.range-start:has(~.range-end):before,.day.range-start:has(+.in-range):before{border-top-right-radius:0;border-bottom-right-radius:0}.day.range-end:before{border-top-left-radius:0 !important;border-bottom-left-radius:0 !important}.day.outside-month.range-start,.day.outside-month.range-end{opacity:1 !important;background:var(--components-calendar-cell-background-selected) !important;color:var(--components-calendar-cell-text-selected)}.day.is-today{font-weight:700;position:relative;color:var(--components-calendar-cell-text-today)}.day.is-today.range-start,.day.is-today.range-end{color:var(--components-calendar-cell-text-selected)}.day.is-today.range-start:hover,.day.is-today.range-end:hover{color:var(--components-calendar-cell-text-today)}.day.is-today::after{content:\"\";position:absolute;bottom:var(--spacing-1);left:50%;transform:translateX(-50%);width:var(--calendar-cell-dot-size);height:var(--calendar-cell-dot-size);background-color:currentColor;border-radius:50%}.day.is-today.selected::after{color:var(--components-calendar-cell-text-selected)}.day.is-today.selected::after::after{background-color:var(--components-calendar-cell-dot-selected)}.calendar-footer{display:flex;gap:var(--spacing-1);justify-content:flex-start;width:100%;flex-wrap:wrap}.footer-placement-left{justify-content:flex-start}.footer-placement-right{justify-content:flex-end}.footer-placement-center{justify-content:center}.datepicker-controls{display:flex;flex-direction:column;border-top:1px solid var(--components-calendar-border);padding:var(--calendar-controls-padding-top) var(--calendar-padding) var(--calendar-padding);gap:var(--calendar-grid-gap-y);margin-top:var(--calendar-controls-margin-top)}.datepicker-actions{display:flex;justify-content:flex-end;gap:var(--spacing-1);width:100%}.datepicker-actions slot-fb{display:contents !important}.calendar-footer+.datepicker-actions{margin-top:0}.shortcuts-placement-left,.shortcuts-placement-right{display:flex;flex-direction:column;gap:var(--spacing-1);margin-top:var(--spacing-4)}.shortcuts-placement-left{align-items:flex-end}.shortcuts-placement-right{align-items:flex-start}@keyframes slideLeft{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideRight{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}";
|
|
6506
|
+
const nvCalendarCss = "nv-calendar{display:block}.datepicker-root{display:flex;justify-content:center;align-items:flex-start;width:auto}.datepicker-container{font-family:system-ui, sans-serif;display:flex;flex-direction:column;align-items:stretch;background:var(--components-calendar-background);border-radius:var(--calendar-radius);padding:var(--calendar-padding);box-shadow:0px var(--shadow-y-axis-md-1) var(--shadow-blur-md-1) var(--shadow-spread-md, 0) var(--shadow-color-opacity-0), 0px var(--shadow-y-axis-md-2) var(--shadow-blur-md-2) var(--shadow-spread-md, 0) var(--shadow-color-opacity-2);border:1px solid var(--components-calendar-border);width:auto;max-width:100%}.datepicker-container-single{max-width:300px}.datepicker-container-single .datepicker-wrapper:has(.shortcuts-placement-left),.datepicker-container-single .datepicker-wrapper:has(.shortcuts-placement-right){max-width:410px !important}.datepicker-container-single:has(.shortcuts-placement-left),.datepicker-container-single:has(.shortcuts-placement-right){max-width:410px !important}.datepicker-wrapper{display:flex;justify-content:center;align-items:flex-start;gap:var(--calendar-gap-x);width:auto;overflow-x:hidden}.datepicker-wrapper::-webkit-scrollbar{width:6px;height:6px}.datepicker-wrapper::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}.datepicker-wrapper::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}.datepicker-wrapper.single{justify-content:center}.calendar-container{display:flex;flex-direction:column;align-items:center;padding:var(--calendar-padding);width:auto;position:relative}.calendar-separator{width:1px;background:var(--components-calendar-border);height:auto;min-height:100%;margin:0 10px}.header{display:flex;justify-content:start;align-items:center;margin-bottom:var(--calendar-header-margin-bottom);width:100%}.header nv-iconbutton{width:var(--calendar-header-button-size);height:var(--calendar-header-button-size)}.nav-buttons{display:flex;gap:var(--spacing-0);margin-left:auto}.nav-left{order:-1}.date-controls{display:flex;gap:var(--spacing-1);align-items:center;min-height:34px;justify-content:center}.datepicker-container-single .date-controls{justify-content:flex-start}.datepicker-container:not(.datepicker-container-single) .date-controls{justify-content:start;flex-grow:1}.date-controls .month-select,.date-controls .year-input{background:transparent !important}.calendar-wrapper:nth-child(n+2) .datepicker-container{margin-left:42px}.calendar-grid{display:grid;grid-template-columns:auto 1fr;column-gap:var(--calendar-weeks-calendar-gap-x);position:relative}.calendar-grid.slide-left{animation:slideLeft 0.3s ease-out}.calendar-grid.slide-right{animation:slideRight 0.3s ease-out}.week-numbers{display:grid;grid-template-rows:var(--calendar-cell-size) repeat(6, var(--calendar-cell-size));background:var(--components-calendar-weeks-background);color:var(--components-calendar-weeks-text);border-radius:var(--calendar-weeks-radius);width:var(--calendar-weeks-size);row-gap:var(--calendar-grid-gap-y)}.week-numbers .clickable{cursor:pointer}.week-numbers .clickable:hover{background-color:var(--components-calendar-weeks-background-hover);color:var(--components-calendar-weeks-text-hover);border-radius:var(--calendar-radius)}.week-header,.week-number{display:grid;place-items:center;font-size:var(--calendar-cell-font-size)}.week-header{font-weight:700;color:var(--components-calendar-weeks-text)}.week-number{color:var(--components-calendar-cell-text)}.days-container{display:grid;grid-template-rows:auto 1fr;row-gap:var(--calendar-grid-gap-y)}.days-header{display:grid;grid-template-columns:repeat(7, var(--calendar-cell-size));height:var(--calendar-cell-size)}.day-header{display:grid;place-items:center;font-size:var(--calendar-cell-font-size);color:var(--components-calendar-cell-text)}.days-grid{display:grid;grid-template-columns:repeat(7, var(--calendar-cell-size));grid-template-rows:repeat(6, var(--calendar-cell-size));animation:fadeIn 0.2s ease-in;row-gap:var(--calendar-grid-gap-y);z-index:0}.day{display:grid;place-items:center;width:var(--calendar-cell-size);height:var(--calendar-cell-size);font-size:var(--calendar-cell-font-size);border-radius:var(--calendar-cell-radius);cursor:pointer;border:none;background:transparent;transition:all 0.2s ease;text-align:center;animation:scaleIn 0.2s ease-out}.day:hover:not(.disabled,.empty,.selected){background:var(--components-calendar-cell-background-hover);color:var(--components-calendar-cell-text-hover)}.day.selected,.day.selected:hover .day.is-today.selected,.day.is-today.selected:hover{background:var(--components-calendar-cell-background-selected);color:var(--components-calendar-cell-text-selected) !important}.day.disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.day.is-empty{pointer-events:none;background-color:transparent;border-color:transparent}.day.day-blank{pointer-events:none;background-color:transparent;border-color:transparent}.day.outside-month{color:var(--components-calendar-cell-text);opacity:var(--opacity-disabled)}.day.outside-month.selected{opacity:1 !important;color:var(--components-calendar-cell-text-selected)}.day.outside-month.in-range{opacity:0.5 !important;background-color:var(--components-calendar-cell-background-in-range);color:var(--components-calendar-cell-text-in-range)}.day.outside-month.in-range:hover{opacity:0.7 !important;background-color:var(--components-calendar-cell-background-in-range)}.day.in-range{background:var(--components-calendar-cell-background-in-range);color:var(--components-calendar-cell-text-in-range);border-radius:0;position:relative}.day.range-start,.day.range-start:focus,.day.range-start:hover,.day.range-end,.day.range-end:focus,.day.range-end:hover{background-color:var(--components-calendar-cell-background-selected) !important;color:var(--components-calendar-cell-text-selected) !important}.day.range-start,.day.range-end,.day.range-start.is-today,.day.range-end.is-today{background:var(--components-calendar-cell-background-selected);color:var(--components-calendar-cell-text-selected);position:relative;border-radius:var(--radius-rounded-full)}.day.range-start:hover,.day.range-end:hover,.day.range-start.is-today:hover,.day.range-end.is-today:hover{color:var(--components-calendar-cell-text-today)}.day.range-start:before,.day.range-end:before,.day.range-start.is-today:before,.day.range-end.is-today:before{content:\"\";position:absolute;bottom:0;left:0;right:0;top:0;z-index:-1;background-color:var(--components-calendar-cell-background-in-range);border-radius:var(--radius-rounded-full);width:auto;height:auto}.day.range-start:has(~.range-end):before,.day.range-start:has(+.in-range):before{border-top-right-radius:0;border-bottom-right-radius:0}.day.range-end:before{border-top-left-radius:0 !important;border-bottom-left-radius:0 !important}.day.outside-month.range-start,.day.outside-month.range-end{opacity:1 !important;background:var(--components-calendar-cell-background-selected) !important;color:var(--components-calendar-cell-text-selected)}.day.is-today{font-weight:700;position:relative;color:var(--components-calendar-cell-text-today)}.day.is-today.range-start,.day.is-today.range-end{color:var(--components-calendar-cell-text-selected)}.day.is-today.range-start:hover,.day.is-today.range-end:hover{color:var(--components-calendar-cell-text-today)}.day.is-today::after{content:\"\";position:absolute;bottom:var(--spacing-1);left:50%;transform:translateX(-50%);width:var(--calendar-cell-dot-size);height:var(--calendar-cell-dot-size);background-color:currentColor;border-radius:50%}.day.is-today.selected::after{color:var(--components-calendar-cell-text-selected)}.day.is-today.selected::after::after{background-color:var(--components-calendar-cell-dot-selected)}.calendar-footer{display:flex;gap:var(--spacing-1);justify-content:flex-start;width:100%;flex-wrap:wrap}.footer-placement-left{justify-content:flex-start}.footer-placement-right{justify-content:flex-end}.footer-placement-center{justify-content:center}.datepicker-controls{display:flex;flex-direction:column;border-top:1px solid var(--components-calendar-border);padding:var(--calendar-controls-padding-top) var(--calendar-padding) var(--calendar-padding);gap:var(--calendar-grid-gap-y);margin-top:var(--calendar-controls-margin-top)}.datepicker-actions{display:flex;justify-content:flex-end;gap:var(--spacing-1);width:100%}.datepicker-actions slot-fb{display:contents !important}.calendar-footer+.datepicker-actions{margin-top:0}.shortcuts-placement-left,.shortcuts-placement-right{display:flex;flex-direction:column;gap:var(--spacing-1);margin-top:var(--spacing-4)}.shortcuts-placement-left{align-items:flex-end}.shortcuts-placement-right{align-items:flex-start}@keyframes slideLeft{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideRight{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}";
|
|
6152
6507
|
var NvCalendarStyle0 = nvCalendarCss;
|
|
6153
6508
|
|
|
6154
6509
|
/**
|
|
@@ -6210,6 +6565,8 @@ class NvCalendar {
|
|
|
6210
6565
|
this.showActions = false;
|
|
6211
6566
|
/** Cache for parsed disabled dates */
|
|
6212
6567
|
this.parsedDisabledDates = [];
|
|
6568
|
+
/** Flag to indicate a user click for selection */
|
|
6569
|
+
this.isUserClick = false;
|
|
6213
6570
|
//#endregion PROPERTIES
|
|
6214
6571
|
/****************************************************************************/
|
|
6215
6572
|
//#region STATE
|
|
@@ -6245,7 +6602,7 @@ class NvCalendar {
|
|
|
6245
6602
|
}
|
|
6246
6603
|
// Navigate to the date if not prevented
|
|
6247
6604
|
const preventNavigation = this.el.getAttribute('data-prevent-navigation') === 'true';
|
|
6248
|
-
if (!preventNavigation) {
|
|
6605
|
+
if (!preventNavigation && !this.isUserClick) {
|
|
6249
6606
|
this.currentDate = parsedDate;
|
|
6250
6607
|
}
|
|
6251
6608
|
}
|
|
@@ -6273,7 +6630,7 @@ class NvCalendar {
|
|
|
6273
6630
|
}
|
|
6274
6631
|
// Navigate to start date if not prevented
|
|
6275
6632
|
const preventNavigation = this.el.getAttribute('data-prevent-navigation') === 'true';
|
|
6276
|
-
if (!preventNavigation) {
|
|
6633
|
+
if (!preventNavigation && !this.isUserClick) {
|
|
6277
6634
|
this.currentDate = startDate;
|
|
6278
6635
|
}
|
|
6279
6636
|
}
|
|
@@ -6294,20 +6651,14 @@ class NvCalendar {
|
|
|
6294
6651
|
*/
|
|
6295
6652
|
this.changeMonth = (offset) => {
|
|
6296
6653
|
const newDate = new Date(this.currentDate);
|
|
6297
|
-
//
|
|
6654
|
+
newDate.setUTCDate(1); // Set to the first of the month to avoid day-of-month issues
|
|
6298
6655
|
newDate.setUTCMonth(newDate.getUTCMonth() + offset);
|
|
6299
|
-
// Add the appropriate animation class
|
|
6300
6656
|
const containers = this.el.querySelectorAll('.calendar-grid');
|
|
6301
6657
|
containers.forEach(container => {
|
|
6302
|
-
// Remove existing animation classes
|
|
6303
6658
|
container.classList.remove('slide-left', 'slide-right');
|
|
6304
|
-
// Add the new animation class
|
|
6305
6659
|
const animationClass = offset > 0 ? 'slide-left' : 'slide-right';
|
|
6306
6660
|
container.classList.add(animationClass);
|
|
6307
|
-
|
|
6308
|
-
setTimeout(() => {
|
|
6309
|
-
container.classList.remove(animationClass);
|
|
6310
|
-
}, 300); // 300ms corresponds to $slide-duration in the SCSS
|
|
6661
|
+
setTimeout(() => container.classList.remove(animationClass), 300);
|
|
6311
6662
|
});
|
|
6312
6663
|
this.currentDate = newDate;
|
|
6313
6664
|
};
|
|
@@ -6319,12 +6670,16 @@ class NvCalendar {
|
|
|
6319
6670
|
if (this.isDateDisabled(date)) {
|
|
6320
6671
|
return;
|
|
6321
6672
|
}
|
|
6673
|
+
this.isUserClick = true;
|
|
6322
6674
|
if (this.selectionType === 'single') {
|
|
6323
6675
|
this.handleSingleSelection(date);
|
|
6324
6676
|
}
|
|
6325
6677
|
else {
|
|
6326
6678
|
this.handleRangeSelection(date);
|
|
6327
6679
|
}
|
|
6680
|
+
requestAnimationFrame(() => {
|
|
6681
|
+
this.isUserClick = false;
|
|
6682
|
+
});
|
|
6328
6683
|
};
|
|
6329
6684
|
/**
|
|
6330
6685
|
* Handles single date selection
|
|
@@ -6467,12 +6822,15 @@ class NvCalendar {
|
|
|
6467
6822
|
/**
|
|
6468
6823
|
* Generates the days of the current month
|
|
6469
6824
|
* @param {number} offset - Month offset (0 by default)
|
|
6470
|
-
* @param {number} totalCalendars - Number of calendars to display (1 by default)
|
|
6471
6825
|
* @returns {Array<{ dayOfMonth: number | null, date: Date | null, isSelected: boolean, isDisabled: boolean }>} Array of formatted days
|
|
6472
6826
|
*/
|
|
6473
|
-
this.getDaysInMonth = (offset = 0
|
|
6474
|
-
const
|
|
6475
|
-
|
|
6827
|
+
this.getDaysInMonth = (offset = 0) => {
|
|
6828
|
+
const baseMonth = this.currentDate.getUTCMonth();
|
|
6829
|
+
// Correctly calculate the year and month for the given offset
|
|
6830
|
+
const targetDate = new Date(this.currentDate);
|
|
6831
|
+
targetDate.setUTCMonth(baseMonth + offset);
|
|
6832
|
+
const year = targetDate.getUTCFullYear();
|
|
6833
|
+
const month = targetDate.getUTCMonth();
|
|
6476
6834
|
const firstDay = new Date(Date.UTC(year, month, 1));
|
|
6477
6835
|
const lastDay = new Date(Date.UTC(year, month + 1, 0));
|
|
6478
6836
|
const days = [];
|
|
@@ -6481,18 +6839,18 @@ class NvCalendar {
|
|
|
6481
6839
|
const dayOfWeekIndex = firstDay.getUTCDay(); // 0 = Sunday, 1 = Monday, etc.
|
|
6482
6840
|
// Adjust based on firstDayOfWeek (if week starts on Monday, offset is different)
|
|
6483
6841
|
const offsetDays = (dayOfWeekIndex - this.firstDayOfWeek + 7) % 7;
|
|
6484
|
-
// Add
|
|
6485
|
-
|
|
6486
|
-
const
|
|
6487
|
-
|
|
6488
|
-
|
|
6489
|
-
|
|
6490
|
-
|
|
6491
|
-
|
|
6492
|
-
|
|
6493
|
-
|
|
6494
|
-
|
|
6495
|
-
}
|
|
6842
|
+
// Add padding days from the previous month
|
|
6843
|
+
for (let i = 0; i < offsetDays; i++) {
|
|
6844
|
+
const prevMonthDay = new Date(Date.UTC(year, month, 0)).getUTCDate();
|
|
6845
|
+
const date = new Date(Date.UTC(year, month - 1, prevMonthDay - offsetDays + 1 + i));
|
|
6846
|
+
days.push({
|
|
6847
|
+
dayOfMonth: date.getUTCDate(),
|
|
6848
|
+
date,
|
|
6849
|
+
isCurrentMonth: false,
|
|
6850
|
+
isDisabled: this.isDateDisabled(date),
|
|
6851
|
+
// Days from previous month are blank if not the first calendar
|
|
6852
|
+
isBlank: offset > 0,
|
|
6853
|
+
});
|
|
6496
6854
|
}
|
|
6497
6855
|
// Add the days of the current month
|
|
6498
6856
|
for (let i = 1; i <= lastDay.getUTCDate(); i++) {
|
|
@@ -6502,11 +6860,12 @@ class NvCalendar {
|
|
|
6502
6860
|
date,
|
|
6503
6861
|
isCurrentMonth: true,
|
|
6504
6862
|
isDisabled: this.isDateDisabled(date),
|
|
6863
|
+
isBlank: false,
|
|
6505
6864
|
});
|
|
6506
6865
|
}
|
|
6507
|
-
// Add
|
|
6508
|
-
|
|
6509
|
-
|
|
6866
|
+
// Add padding days to fill the last week
|
|
6867
|
+
const nextMonthDaysNeeded = 7 - (days.length % 7 || 7);
|
|
6868
|
+
if (nextMonthDaysNeeded < 7) {
|
|
6510
6869
|
for (let i = 1; i <= nextMonthDaysNeeded; i++) {
|
|
6511
6870
|
const date = new Date(Date.UTC(year, month + 1, i));
|
|
6512
6871
|
days.push({
|
|
@@ -6514,6 +6873,8 @@ class NvCalendar {
|
|
|
6514
6873
|
date,
|
|
6515
6874
|
isCurrentMonth: false,
|
|
6516
6875
|
isDisabled: this.isDateDisabled(date),
|
|
6876
|
+
// Days from next month are blank if not the last calendar
|
|
6877
|
+
isBlank: offset < this.numberOfCalendars - 1,
|
|
6517
6878
|
});
|
|
6518
6879
|
}
|
|
6519
6880
|
}
|
|
@@ -6551,12 +6912,25 @@ class NvCalendar {
|
|
|
6551
6912
|
this.handleMonthChange = (event, calendarOffset = 0) => {
|
|
6552
6913
|
const select = event.target;
|
|
6553
6914
|
const selectedMonth = parseInt(select.value, 10);
|
|
6554
|
-
const currentMonth = this.currentDate.getUTCMonth();
|
|
6555
|
-
// Calculate the difference considering the calendar offset
|
|
6556
|
-
const monthDiff = selectedMonth - ((currentMonth + calendarOffset) % 12);
|
|
6557
6915
|
const newDate = new Date(this.currentDate);
|
|
6558
|
-
|
|
6559
|
-
|
|
6916
|
+
// Date for the calendar being changed
|
|
6917
|
+
const targetCalendarDate = new Date(newDate.toUTCString());
|
|
6918
|
+
targetCalendarDate.setUTCMonth(targetCalendarDate.getUTCMonth() + calendarOffset);
|
|
6919
|
+
const currentMonth = targetCalendarDate.getUTCMonth();
|
|
6920
|
+
let monthDiff = selectedMonth - currentMonth;
|
|
6921
|
+
// Smartly adjust for year change
|
|
6922
|
+
if (monthDiff > 6) {
|
|
6923
|
+
// e.g. from Jan to Dec, go back 1 month
|
|
6924
|
+
monthDiff -= 12;
|
|
6925
|
+
}
|
|
6926
|
+
if (monthDiff < -6) {
|
|
6927
|
+
// e.g. from Dec to Jan, go forward 1 month
|
|
6928
|
+
monthDiff += 12;
|
|
6929
|
+
}
|
|
6930
|
+
// Apply the diff to the original `currentDate`
|
|
6931
|
+
const finalDate = new Date(this.currentDate);
|
|
6932
|
+
finalDate.setUTCMonth(finalDate.getUTCMonth() + monthDiff);
|
|
6933
|
+
this.currentDate = finalDate;
|
|
6560
6934
|
};
|
|
6561
6935
|
/**
|
|
6562
6936
|
* Handles year change in the numeric entry
|
|
@@ -6568,9 +6942,10 @@ class NvCalendar {
|
|
|
6568
6942
|
const year = parseInt(input.value, 10);
|
|
6569
6943
|
if (!isNaN(year) && year >= 1900 && year <= 2100) {
|
|
6570
6944
|
const newDate = new Date(this.currentDate);
|
|
6571
|
-
newDate.setUTCFullYear(year);
|
|
6572
6945
|
newDate.setUTCMonth(newDate.getUTCMonth() + calendarOffset);
|
|
6573
|
-
|
|
6946
|
+
newDate.setUTCFullYear(year);
|
|
6947
|
+
newDate.setUTCMonth(newDate.getUTCMonth() - calendarOffset);
|
|
6948
|
+
this.currentDate = new Date(newDate);
|
|
6574
6949
|
}
|
|
6575
6950
|
};
|
|
6576
6951
|
/**
|
|
@@ -6581,7 +6956,7 @@ class NvCalendar {
|
|
|
6581
6956
|
this.handleWeekSelection = (weekDays, calendarIndex) => {
|
|
6582
6957
|
if (this.selectionType !== 'range')
|
|
6583
6958
|
return;
|
|
6584
|
-
const allDays = this.getDaysInMonth(calendarIndex
|
|
6959
|
+
const allDays = this.getDaysInMonth(calendarIndex);
|
|
6585
6960
|
const weekStart = weekDays[0];
|
|
6586
6961
|
const weekEnd = weekDays[weekDays.length - 1];
|
|
6587
6962
|
if (!weekStart || !weekEnd)
|
|
@@ -6794,12 +7169,17 @@ class NvCalendar {
|
|
|
6794
7169
|
index,
|
|
6795
7170
|
/** Month offset */
|
|
6796
7171
|
offset) => {
|
|
6797
|
-
const days = this.getDaysInMonth(offset
|
|
7172
|
+
const days = this.getDaysInMonth(offset);
|
|
6798
7173
|
const weeks = [];
|
|
6799
7174
|
for (let i = 0; i < days.length; i += 7) {
|
|
6800
7175
|
weeks.push(days.slice(i, i + 7));
|
|
6801
7176
|
}
|
|
6802
|
-
|
|
7177
|
+
// Add year and month to the key to force re-render on date change
|
|
7178
|
+
const targetDate = new Date(this.currentDate);
|
|
7179
|
+
targetDate.setUTCMonth(targetDate.getUTCMonth() + offset);
|
|
7180
|
+
const year = targetDate.getUTCFullYear();
|
|
7181
|
+
const month = targetDate.getUTCMonth();
|
|
7182
|
+
return (hAsync("div", { class: "calendar-wrapper" }, hAsync("div", { class: "calendar-container", key: `calendar-${index}-${year}-${month}` }, this.renderHeader(offset, index), hAsync("div", { class: "calendar-grid" }, this.showWeekNumbers && this.renderWeekNumbers(weeks, index), hAsync(CalendarGrid, { days: days, dayNames: this.getDayNames(), selectionType: this.selectionType, selectedDate: this.selectedDate, startDate: this.startDate, endDate: this.endDate, isUTCMode: this.isUTCMode, onDayClick: this.handleDateSelection, isDateInRange: this.isDateInRange, isToday: this.isToday }))), index < this.numberOfCalendars - 1 && (hAsync("div", { class: "calendar-separator" }))));
|
|
6803
7183
|
};
|
|
6804
7184
|
/**
|
|
6805
7185
|
* Renders the shortcuts
|
|
@@ -6849,7 +7229,7 @@ class NvCalendar {
|
|
|
6849
7229
|
this.endDate = endDate;
|
|
6850
7230
|
// Do not navigate to the start date if data-prevent-navigation attribute is present
|
|
6851
7231
|
const preventNavigation = this.el.getAttribute('data-prevent-navigation') === 'true';
|
|
6852
|
-
if (!preventNavigation) {
|
|
7232
|
+
if (!preventNavigation && !this.isUserClick) {
|
|
6853
7233
|
this.currentDate = startDate;
|
|
6854
7234
|
}
|
|
6855
7235
|
}
|
|
@@ -6877,7 +7257,7 @@ class NvCalendar {
|
|
|
6877
7257
|
this.selectedDate = parsedDate;
|
|
6878
7258
|
// Do not navigate to the selected date if data-prevent-navigation attribute is present
|
|
6879
7259
|
const preventNavigation = this.el.getAttribute('data-prevent-navigation') === 'true';
|
|
6880
|
-
if (!preventNavigation) {
|
|
7260
|
+
if (!preventNavigation && !this.isUserClick) {
|
|
6881
7261
|
this.currentDate = parsedDate;
|
|
6882
7262
|
}
|
|
6883
7263
|
}
|
|
@@ -6991,6 +7371,27 @@ class NvCalendar {
|
|
|
6991
7371
|
throw error; // Re-throw to let the caller handle it
|
|
6992
7372
|
}
|
|
6993
7373
|
}
|
|
7374
|
+
/**
|
|
7375
|
+
* Clears the current selection and resets the calendar to its initial state.
|
|
7376
|
+
* This method can be called programmatically to reset the calendar.
|
|
7377
|
+
*/
|
|
7378
|
+
async clear() {
|
|
7379
|
+
if (this.selectionType === 'single') {
|
|
7380
|
+
this.selectedDate = null;
|
|
7381
|
+
this.singleValue = '';
|
|
7382
|
+
this.value = '';
|
|
7383
|
+
this.singleDateChange.emit('');
|
|
7384
|
+
this.valueChanged.emit('');
|
|
7385
|
+
}
|
|
7386
|
+
else {
|
|
7387
|
+
this.startDate = null;
|
|
7388
|
+
this.endDate = null;
|
|
7389
|
+
this.rangeValue = { start: '', end: '' };
|
|
7390
|
+
this.value = '';
|
|
7391
|
+
this.rangeDateChange.emit({ start: '', end: '' });
|
|
7392
|
+
this.valueChanged.emit('');
|
|
7393
|
+
}
|
|
7394
|
+
}
|
|
6994
7395
|
/**
|
|
6995
7396
|
* Renders the datepicker
|
|
6996
7397
|
* @returns {JSX.Element} Datepicker
|
|
@@ -6998,8 +7399,8 @@ class NvCalendar {
|
|
|
6998
7399
|
* @slot default - Child content of the component.
|
|
6999
7400
|
*/
|
|
7000
7401
|
render() {
|
|
7001
|
-
return (hAsync(Host, { key: '
|
|
7002
|
-
this.hasActions) && (hAsync("div", { key: '
|
|
7402
|
+
return (hAsync(Host, { key: '7abeb96312f2bcf26eed3a133ef59d5d3b5b528f' }, hAsync("div", { key: 'e0b2db720853551e3b6445e92b39b418123cb83e', class: "datepicker-root" }, hAsync("div", { key: '1a83c285278c440c4e33ae770a033974e4924830', class: `datepicker-container ${this.numberOfCalendars === 1 ? 'datepicker-container-single' : ''}` }, hAsync("div", { key: '3481fe780a3e1d8f0c1e22ffc82c3b7830721055', class: `datepicker-wrapper ${this.numberOfCalendars === 1 ? 'single' : ''}` }, this.shortcutsPlacement === 'left' && this.renderShortcuts(), Array.from({ length: this.numberOfCalendars }, (_, index) => this.renderCalendar(index, index)), this.shortcutsPlacement === 'right' && this.renderShortcuts()), ((this.hasShortcuts && this.shortcutsPlacement === 'bottom') ||
|
|
7403
|
+
this.hasActions) && (hAsync("div", { key: '3a644bdc993142c181c45173756e362025d4a23a', class: "datepicker-controls" }, this.shortcutsPlacement === 'bottom' && this.renderShortcuts(), this.hasActions && this.renderActions())))), hAsync("slot", { key: '4a4290ccf63429a9a88cfd95a33b4fdc34c8ef74' })));
|
|
7003
7404
|
}
|
|
7004
7405
|
get el() { return getElement(this); }
|
|
7005
7406
|
static get watchers() { return {
|
|
@@ -7033,7 +7434,8 @@ class NvCalendar {
|
|
|
7033
7434
|
"selectedDate": [32],
|
|
7034
7435
|
"startDate": [32],
|
|
7035
7436
|
"endDate": [32],
|
|
7036
|
-
"months": [32]
|
|
7437
|
+
"months": [32],
|
|
7438
|
+
"clear": [64]
|
|
7037
7439
|
},
|
|
7038
7440
|
"$listeners$": undefined,
|
|
7039
7441
|
"$lazyBundleId$": "-",
|
|
@@ -7069,7 +7471,7 @@ class NvCol {
|
|
|
7069
7471
|
/****************************************************************************/
|
|
7070
7472
|
//#region RENDER
|
|
7071
7473
|
render() {
|
|
7072
|
-
return (hAsync(Host, { key: '
|
|
7474
|
+
return (hAsync(Host, { key: 'e258bc3e01d3bd35bf64f14241c70ae044fac132', class: clsx(this.getColSize()) }, hAsync("slot", { key: 'd36caf0fde38eae6cd37b62fb4c02e3de6b7225e' })));
|
|
7073
7475
|
}
|
|
7074
7476
|
static get style() { return NvColStyle0; }
|
|
7075
7477
|
static get cmpMeta() { return {
|
|
@@ -11570,7 +11972,7 @@ class NvDatagrid {
|
|
|
11570
11972
|
const rows = !this.table || this.table === undefined || this.parsedData.length === 0
|
|
11571
11973
|
? []
|
|
11572
11974
|
: (_c = (_b = this.table) === null || _b === void 0 ? void 0 : _b.getRowModel()) === null || _c === void 0 ? void 0 : _c.rows;
|
|
11573
|
-
return (hAsync(Host, { key: '
|
|
11975
|
+
return (hAsync(Host, { key: 'b149279b85a3138e5be62b2f431a82fe5056b996' }, hAsync("div", { key: '84ffd6a613a7e51539f0bc7e5ddff16a1769af5a', class: "hidden" }, hAsync("slot", { key: 'cabafd2aab117816742972bd4eb6e7122c333ee9' })), hAsync("slot", { key: '17a26ba154ddc2dea82f7576878107ede55a2043', name: "before" }), this.enableGlobalFilter && this.table && (hAsync("div", { key: '822bb793cad6266810571dbb2c087c9e2b68958d', class: `search-container justify-${this.globalFilterPosition}` }, hAsync("nv-fieldtext", { key: 'b9fd668a09b602ded195e4d10b79ae3d06c9a0f6', value: this.globalFilterSearchTerm, onInput: this.handleGlobalFilteringOnInput, placeholder: "Search all columns..." }))), this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (hAsync("div", { class: "no-data" }, this.noColumnsNoDataMessage)) : (hAsync("div", null, hAsync("table", null, this.parsedColumns.length > 0 && headerGroups.length > 0 && (hAsync("thead", null, this.parsedColumns.length > 0 && headerGroups
|
|
11574
11976
|
? headerGroups === null || headerGroups === void 0 ? void 0 : headerGroups.map(headerGroup => (hAsync("tr", { key: headerGroup.id }, headerGroup.headers.map(header => {
|
|
11575
11977
|
return this.getHeaderCell(header);
|
|
11576
11978
|
}))))
|
|
@@ -11581,7 +11983,7 @@ class NvDatagrid {
|
|
|
11581
11983
|
return (hAsync("td", { key: cell.id, "data-row-id": rowId }, this.flexRender(cell.column.columnDef.cell, cell.getContext())));
|
|
11582
11984
|
})));
|
|
11583
11985
|
}))), this.table && this.enableRowSelection ? (hAsync("tfoot", null, hAsync("tr", null, hAsync("td", { colSpan: 20 }, this.enableRowSelection && this.table ? (hAsync("div", null, this.rowSelectionState &&
|
|
11584
|
-
Object.keys(this.rowSelectionState).length > 0 ? (hAsync("span", null, Object.keys(this.rowSelectionState).length, " of", ' ', ((_e = (_d = this.table.getPreFilteredRowModel()) === null || _d === void 0 ? void 0 : _d.rows) === null || _e === void 0 ? void 0 : _e.length) || 0, ' ', "Total Rows Selected")) : (hAsync("span", null, "No rows selected")))) : null)))) : null), this.getPagination())), hAsync("slot", { key: '
|
|
11986
|
+
Object.keys(this.rowSelectionState).length > 0 ? (hAsync("span", null, Object.keys(this.rowSelectionState).length, " of", ' ', ((_e = (_d = this.table.getPreFilteredRowModel()) === null || _d === void 0 ? void 0 : _d.rows) === null || _e === void 0 ? void 0 : _e.length) || 0, ' ', "Total Rows Selected")) : (hAsync("span", null, "No rows selected")))) : null)))) : null), this.getPagination())), hAsync("slot", { key: 'f509745423857527f2983c5cce1289441cc1f7c7', name: "after" })));
|
|
11585
11987
|
}
|
|
11586
11988
|
get el() { return getElement(this); }
|
|
11587
11989
|
static get watchers() { return {
|
|
@@ -11646,7 +12048,7 @@ class NvDatagridcolumn {
|
|
|
11646
12048
|
/****************************************************************************/
|
|
11647
12049
|
//#region RENDER
|
|
11648
12050
|
render() {
|
|
11649
|
-
return (hAsync(Host, { key: '
|
|
12051
|
+
return (hAsync(Host, { key: '49c4b8807b26a76cf26e9ac9567a5bca7de0aee7' }, hAsync("slot", { key: '9e6c8b69a92fe4caec10025c941e39f1266b4f93', name: "header" }), hAsync("slot", { key: '992fa9c1d00fe8ed65df5ad2157b78140d2794a0', name: "cell" })));
|
|
11650
12052
|
}
|
|
11651
12053
|
static get cmpMeta() { return {
|
|
11652
12054
|
"$flags$": 4,
|
|
@@ -12278,7 +12680,7 @@ function v4(options, buf, offset) {
|
|
|
12278
12680
|
return unsafeStringify(rnds);
|
|
12279
12681
|
}
|
|
12280
12682
|
|
|
12281
|
-
const nvDialogCss = "dialog{border-radius:var(--radius-rounded-2xl);background:var(--color-level-00-background);min-width:400px;width:fit-content;max-width:clamp(90vw, min(90vw, 960px), 960px);margin:auto;max-height:90vh;overflow:hidden;box-shadow:0px var(--shadow-y-axis-2xl) var(--shadow-blur-2xl) var(--shadow-spread-2xl) var(--shadow-color-opacity-3) var(--shadow-color-opacity-3)}dialog.full{width:90vw}dialog::backdrop{opacity:var(--components-overlay-opacity);background:var(--components-overlay-background)}dialog .content{display:flex;flex-direction:column;align-items:flex-start;height:fit-content;max-height:90vh;overflow:hidden}dialog .content nv-button.close-button{position:absolute;top:var(--dialog-dismissible-position-top);right:var(--dialog-dismissible-position-right);display:flex;padding:var(--button-sm-icon-button-padding);justify-content:flex-end;align-items:flex-start;gap:10px}dialog .content .content-body{overflow:auto;box-sizing:border-box;padding:var(--dialog-body-padding-y) var(--dialog-body-padding-x);scrollbar-gutter:stable both-edges;font-family:\"TT Norms Pro\", sans-serif;font-size:var(--font-size-md);font-style:normal;font-weight:400;line-height:var(--line-height-base);color:var(--color-content-medium-text)}dialog .content .content-body::-webkit-scrollbar{width:6px;height:6px}dialog .content .content-body::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}dialog .content .content-body::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}";
|
|
12683
|
+
const nvDialogCss = "dialog{border-radius:var(--radius-rounded-2xl);background:var(--color-level-00-background);min-width:min(90vw, 400px);width:fit-content;max-width:clamp(90vw, min(90vw, 960px), 960px);margin:auto;max-height:90vh;overflow:hidden;box-shadow:0px var(--shadow-y-axis-2xl) var(--shadow-blur-2xl) var(--shadow-spread-2xl) var(--shadow-color-opacity-3) var(--shadow-color-opacity-3)}dialog.full{width:90vw}dialog::backdrop{opacity:var(--components-overlay-opacity);background:var(--components-overlay-background)}dialog .content{display:flex;flex-direction:column;align-items:flex-start;height:fit-content;max-height:90vh;overflow:hidden}dialog .content nv-button.close-button{position:absolute;top:var(--dialog-dismissible-position-top);right:var(--dialog-dismissible-position-right);display:flex;padding:var(--button-sm-icon-button-padding);justify-content:flex-end;align-items:flex-start;gap:10px}dialog .content .content-body{overflow:auto;box-sizing:border-box;padding:var(--dialog-body-padding-y) var(--dialog-body-padding-x);scrollbar-gutter:stable both-edges;font-family:\"TT Norms Pro\", sans-serif;font-size:var(--font-size-md);font-style:normal;font-weight:400;line-height:var(--line-height-base);color:var(--color-content-medium-text)}dialog .content .content-body::-webkit-scrollbar{width:6px;height:6px}dialog .content .content-body::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}dialog .content .content-body::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}";
|
|
12282
12684
|
var NvDialogStyle0 = nvDialogCss;
|
|
12283
12685
|
|
|
12284
12686
|
/**
|
|
@@ -12313,6 +12715,11 @@ class NvDialog {
|
|
|
12313
12715
|
* If true, the dialog takes full width styling.
|
|
12314
12716
|
*/
|
|
12315
12717
|
this.full = false;
|
|
12718
|
+
/**
|
|
12719
|
+
* Controls whether the dialog should automatically focus the first focusable element when opened.
|
|
12720
|
+
* When disabled, prevents unwanted tooltip triggers on dialog open.
|
|
12721
|
+
*/
|
|
12722
|
+
this.autofocus = false;
|
|
12316
12723
|
/**
|
|
12317
12724
|
* Handles the close button click.
|
|
12318
12725
|
*/
|
|
@@ -12420,15 +12827,23 @@ class NvDialog {
|
|
|
12420
12827
|
}
|
|
12421
12828
|
/**
|
|
12422
12829
|
* Prevents the body from scrolling when the dialog is open.
|
|
12830
|
+
* Compensates for scrollbar width to prevent layout shift.
|
|
12423
12831
|
*/
|
|
12424
12832
|
preventScroll() {
|
|
12425
|
-
|
|
12833
|
+
// Calculate scrollbar width
|
|
12834
|
+
const scrollBarWidth = window.innerWidth - document.documentElement.clientWidth;
|
|
12835
|
+
// Apply overflow hidden and padding compensation
|
|
12836
|
+
document.documentElement.style.overflow = 'hidden';
|
|
12837
|
+
document.documentElement.style.paddingRight = `${scrollBarWidth}px`;
|
|
12426
12838
|
}
|
|
12427
12839
|
/**
|
|
12428
12840
|
* Allows the body to scroll when the dialog is closed.
|
|
12841
|
+
* Removes the applied overflow and padding styles.
|
|
12429
12842
|
*/
|
|
12430
12843
|
allowScroll() {
|
|
12431
|
-
|
|
12844
|
+
// Remove the applied styles
|
|
12845
|
+
document.documentElement.style.removeProperty('overflow');
|
|
12846
|
+
document.documentElement.style.removeProperty('padding-right');
|
|
12432
12847
|
}
|
|
12433
12848
|
ensureFormId(formElement) {
|
|
12434
12849
|
if (!formElement.id) {
|
|
@@ -12505,8 +12920,8 @@ class NvDialog {
|
|
|
12505
12920
|
if (this.open) {
|
|
12506
12921
|
this.show();
|
|
12507
12922
|
}
|
|
12508
|
-
//
|
|
12509
|
-
if (!this.dialogElement.querySelector('[autofocus]')) {
|
|
12923
|
+
// Only set autofocus if the prop is true and no element already has autofocus
|
|
12924
|
+
if (this.autofocus && !this.dialogElement.querySelector('[autofocus]')) {
|
|
12510
12925
|
this.setAutofocus();
|
|
12511
12926
|
}
|
|
12512
12927
|
this.attachEventListeners();
|
|
@@ -12525,7 +12940,7 @@ class NvDialog {
|
|
|
12525
12940
|
//#region RENDER
|
|
12526
12941
|
render() {
|
|
12527
12942
|
const hasForm = this.form || this.el.querySelector('form');
|
|
12528
|
-
return (hAsync(Host, { key: '
|
|
12943
|
+
return (hAsync(Host, { key: '8e4a46dd7749656670d5b8eb167aae2108644375' }, hAsync("slot", { key: '954980e2b451c9f5c0e4f09df76c62c1f04ab01e', name: "trigger" }), hAsync("dialog", { key: '8541ad521ae348d26764756e45c668f7aab5c278', ref: el => (this.dialogElement = el), onClose: this.handleDialogClose, role: "dialog", "aria-modal": "true", "aria-labelledby": "dialog-header", "aria-describedby": "dialog-content", class: clsx({ full: this.full }) }, hAsync("div", { key: 'cd07e78da6f5cb3abd14640b941629bff034ec63', class: "content" }, !this.undismissable && (hAsync("nv-button", { key: '5b610a9d30acd450a273e9dc10a4a29bdf85d58c', class: "close-button", emphasis: "lower", size: "sm", onClick: this.handleCloseButton, "aria-label": "Close dialog" }, hAsync("nv-icon", { key: '4e5841c525221c6c23c699deaeefa7492f57e091', name: "x", size: "sm" }))), this.headerElement ? (hAsync("slot", { name: "header" })) : (hAsync("nv-dialogheader", { id: "dialog-header" })), hAsync("div", { key: 'f09fd0f7013b1c2c912ed7958a8a9cab0016858b', class: "content-body", id: "dialog-content" }, hAsync("slot", { key: 'c3c196c3e8f40acbb29f3fa89d1620e7beaad10c' })), this.footerElement ? (hAsync("slot", { name: "footer" })) : (hAsync("nv-dialogfooter", { form: this.form, primaryButtonType: hasForm ? ButtonType.Submit : ButtonType.Button, onDialogCanceled: this.handleCancelButton, undismissable: this.undismissable }))))));
|
|
12529
12944
|
}
|
|
12530
12945
|
get el() { return getElement(this); }
|
|
12531
12946
|
static get watchers() { return {
|
|
@@ -12544,12 +12959,13 @@ class NvDialog {
|
|
|
12544
12959
|
"clickOutside": [516, "click-outside"],
|
|
12545
12960
|
"controlled": [516],
|
|
12546
12961
|
"full": [516],
|
|
12962
|
+
"autofocus": [516],
|
|
12547
12963
|
"show": [64],
|
|
12548
12964
|
"close": [64]
|
|
12549
12965
|
},
|
|
12550
12966
|
"$listeners$": [[4, "keydown", "handleKeyDown"], [4, "click", "handleDocumentClick"], [5, "touchstart", "handleDocumentTouch"]],
|
|
12551
12967
|
"$lazyBundleId$": "-",
|
|
12552
|
-
"$attrsToReflect$": [["open", "open"], ["undismissable", "undismissable"], ["clickOutside", "click-outside"], ["controlled", "controlled"], ["full", "full"]]
|
|
12968
|
+
"$attrsToReflect$": [["open", "open"], ["undismissable", "undismissable"], ["clickOutside", "click-outside"], ["controlled", "controlled"], ["full", "full"], ["autofocus", "autofocus"]]
|
|
12553
12969
|
}; }
|
|
12554
12970
|
}
|
|
12555
12971
|
|
|
@@ -12641,7 +13057,7 @@ class NvDialogfooter {
|
|
|
12641
13057
|
/****************************************************************************/
|
|
12642
13058
|
//#region RENDER
|
|
12643
13059
|
render() {
|
|
12644
|
-
return (hAsync(Host, { key: '
|
|
13060
|
+
return (hAsync(Host, { key: '278895398ddd9fd6aaf6da3d0cbcad12d628f908' }, !this.hasSlot ? (hAsync(Fragment, null, !this.undismissable && (hAsync("nv-button", { onClick: this.handleCancel, emphasis: "low", size: "sm" }, this.cancelLabel)), hAsync("nv-button", { onClick: this.handlePrimary, disabled: this.disabled, danger: this.danger, size: "sm", emphasis: "high", form: this.form, type: this.primaryButtonType }, this.leadingIcon && (hAsync("nv-icon", { slot: "leading-icon", name: this.leadingIcon, size: "sm" })), this.primaryLabel, this.trailingIcon && (hAsync("nv-icon", { slot: "trailing-icon", name: this.trailingIcon, size: "sm" }))))) : (hAsync("slot", null))));
|
|
12645
13061
|
}
|
|
12646
13062
|
static get formAssociated() { return true; }
|
|
12647
13063
|
get el() { return getElement(this); }
|
|
@@ -12697,7 +13113,7 @@ class NvDialogheader {
|
|
|
12697
13113
|
/****************************************************************************/
|
|
12698
13114
|
//#region RENDER
|
|
12699
13115
|
render() {
|
|
12700
|
-
return (hAsync(Host, { key: '
|
|
13116
|
+
return (hAsync(Host, { key: '2ace10c91041456a36909763b62a2adeede183c7' }, !this.hasSlot ? (hAsync(Fragment, null, hAsync("div", { class: "heading" }, this.heading), hAsync("div", { class: "subheading" }, this.subheading))) : (hAsync("slot", null))));
|
|
12701
13117
|
}
|
|
12702
13118
|
get el() { return getElement(this); }
|
|
12703
13119
|
static get style() { return NvDialogheaderStyle0; }
|
|
@@ -12718,6 +13134,8 @@ const nvFieldcheckboxCss = "nv-fieldcheckbox{--nv-fieldcheckbox-border-default:v
|
|
|
12718
13134
|
var NvFieldcheckboxStyle0 = nvFieldcheckboxCss;
|
|
12719
13135
|
|
|
12720
13136
|
/**
|
|
13137
|
+
* @slot default - Next to the label and description.
|
|
13138
|
+
* @slot main - Replaces the label and description.
|
|
12721
13139
|
* @slot label - Content to be placed as the label, will override the label prop.
|
|
12722
13140
|
* @slot description - Content to be placed as the description, will override the description prop.
|
|
12723
13141
|
* @slot error-description - Content to be placed as the error description, will override the errorDescription prop.
|
|
@@ -12834,13 +13252,13 @@ class NvFieldcheckbox {
|
|
|
12834
13252
|
/****************************************************************************/
|
|
12835
13253
|
//#region RENDER
|
|
12836
13254
|
render() {
|
|
12837
|
-
return (hAsync(Host, { key: '
|
|
13255
|
+
return (hAsync(Host, { key: '46e0688340e1cda23f1fdbefb349fbaa8bb188f2', class: clsx(this.labelPlacement === 'before' && 'label-placement-before', this.error && 'error') }, hAsync("div", { key: '5769e3e61f69b7a9821864aab6338b13b46db4cc', class: "input-container" }, hAsync("input", { key: '0acc841c8583ca1d0781135b95a038703b3be516', type: "checkbox", id: this.inputId, name: this.name, autofocus: this.autofocus, autocomplete: "off", value: this.value, checked: Boolean(this.checked), disabled: this.disabled || this.readonly, readonly: this.readonly && !this.required, required: this.required, indeterminate: this.indeterminate, ref: el => {
|
|
12838
13256
|
if (el) {
|
|
12839
13257
|
el.indeterminate = this.indeterminate;
|
|
12840
13258
|
}
|
|
12841
|
-
} }), hAsync("span", { key: '
|
|
12842
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
12843
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
13259
|
+
} }), hAsync("span", { key: 'a2bdc7fa16b4cb5e266c1666746f88b462ef6bbc', class: "icon" }, this.checked && !this.indeterminate && (hAsync("slot", { key: 'aa00b58bb2fb2132b4b355568bbecafbf14d9536', name: "checked-icon" }, hAsync("svg", { key: '3d7e92b03fc0ebc0676a5f5a011e0a5f16bb06d9', xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 14 14", fill: "none" }, hAsync("path", { key: '28170c912acd9442af03c889afc10d348657a84b', d: "M11.6667 3.5L5.25004 9.91667L2.33337 7", "stroke-linecap": "round", "stroke-linejoin": "round" })))), this.indeterminate && (hAsync("slot", { key: '790eca10b1eea865ecde7be45c00ae3bbf65132b', name: "indeterminate-icon" }, hAsync("svg", { key: 'a00b2e00c2e2038dd1d67c43aef4f30e5d7a27e7', class: "indeterminate-svg", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 14 14", fill: "none" }, hAsync("path", { key: '6e7eb5f117a0244594392a52f932a91056093168', d: "M2.9165 7H11.0832", "stroke-linecap": "round", "stroke-linejoin": "round" })))))), hAsync("slot", { key: '4c11bb2b8078adc0d7d5f3c52c2525bc836ad075' }), hAsync("div", { key: '323cab79ca6e047df5482d75490ba7288eef5e27', class: "text-container" }, hAsync("slot", { key: '5bc6845d98ee06117b97588e71467ce106e1ab60', name: "main" }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'ce639cb27b8ea446f2a0d73a36c3c9541bde9ab8', htmlFor: this.inputId, class: clsx(this.hideLabel && 'visually-hidden') }, hAsync("slot", { key: 'cd4b650b2f1b064b65211e90fdddff15b0d6f1f4', name: "label" }, this.label))), (this.description ||
|
|
13260
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '7de730e025d5eeae626bbe64125479dc9ebb4332', class: "description" }, hAsync("slot", { key: '2c2f6343838ffff29e1e920ae927d89e9a63f02e', name: "description" }, this.description)))), (this.errorDescription ||
|
|
13261
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'b49fd559c3bf84e814da0093f9af64e62510725d', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: 'b15a968201d8ef5ea5e764beac553cf8ca0b87d3', name: "error-description" }, this.errorDescription))))));
|
|
12844
13262
|
}
|
|
12845
13263
|
static get formAssociated() { return true; }
|
|
12846
13264
|
get el() { return getElement(this); }
|
|
@@ -16633,10 +17051,12 @@ var inputmask = {exports: {}};
|
|
|
16633
17051
|
|
|
16634
17052
|
var Inputmask = /*@__PURE__*/getDefaultExportFromCjs(inputmask.exports);
|
|
16635
17053
|
|
|
16636
|
-
const nvFielddateCss = "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%;}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-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)}";
|
|
17054
|
+
const nvFielddateCss = "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-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)}";
|
|
16637
17055
|
var NvFielddateStyle0 = nvFielddateCss;
|
|
16638
17056
|
|
|
16639
17057
|
/**
|
|
17058
|
+
* A field date component that combines an input with a calendar popover.
|
|
17059
|
+
*
|
|
16640
17060
|
* @slot default - Child content of the component.
|
|
16641
17061
|
* @slot leading-input - Content to be placed before the input text, within the input container.
|
|
16642
17062
|
* @slot before-input - Content to be placed before the input text, outside the input container.
|
|
@@ -16760,10 +17180,7 @@ class NvFielddate {
|
|
|
16760
17180
|
this.inputElement.focus();
|
|
16761
17181
|
// Select the first characters based on the date format
|
|
16762
17182
|
const format = this.dateFormat;
|
|
16763
|
-
if (format.startsWith('DD')) {
|
|
16764
|
-
this.inputElement.setSelectionRange(0, 2);
|
|
16765
|
-
}
|
|
16766
|
-
else if (format.startsWith('MM')) {
|
|
17183
|
+
if (format.startsWith('DD') || format.startsWith('MM')) {
|
|
16767
17184
|
this.inputElement.setSelectionRange(0, 2);
|
|
16768
17185
|
}
|
|
16769
17186
|
else if (format.startsWith('YYYY')) {
|
|
@@ -16790,13 +17207,66 @@ class NvFielddate {
|
|
|
16790
17207
|
}
|
|
16791
17208
|
};
|
|
16792
17209
|
/**
|
|
16793
|
-
*
|
|
17210
|
+
* Initializes the input mask.
|
|
16794
17211
|
*/
|
|
16795
|
-
this.
|
|
16796
|
-
|
|
17212
|
+
this.initializeInputMask = () => {
|
|
17213
|
+
this.currentPlaceholder = '';
|
|
17214
|
+
if (this.inputElement.inputmask) {
|
|
16797
17215
|
return;
|
|
16798
17216
|
}
|
|
16799
|
-
|
|
17217
|
+
const inputMask = new Inputmask({
|
|
17218
|
+
alias: 'datetime',
|
|
17219
|
+
inputFormat: this.convertToInputmaskFormat(this.dateFormat),
|
|
17220
|
+
placeholder: ' ',
|
|
17221
|
+
prefillYear: false,
|
|
17222
|
+
clearIncomplete: false,
|
|
17223
|
+
showMaskOnHover: false,
|
|
17224
|
+
showMaskOnFocus: false,
|
|
17225
|
+
clearMaskOnLostFocus: false,
|
|
17226
|
+
insertMode: true,
|
|
17227
|
+
rightAlign: false,
|
|
17228
|
+
oncomplete: function (e) {
|
|
17229
|
+
const input = e.target;
|
|
17230
|
+
const event = new CustomEvent('input', { bubbles: true });
|
|
17231
|
+
input.dispatchEvent(event);
|
|
17232
|
+
},
|
|
17233
|
+
});
|
|
17234
|
+
inputMask.mask(this.inputElement);
|
|
17235
|
+
// Set the value after applying the mask
|
|
17236
|
+
if (this.inputElement.name === this.name && this.singleValue) {
|
|
17237
|
+
requestAnimationFrame(() => {
|
|
17238
|
+
this.inputElement.value = this.singleValue;
|
|
17239
|
+
const event = new CustomEvent('input', { bubbles: true });
|
|
17240
|
+
this.inputElement.dispatchEvent(event);
|
|
17241
|
+
});
|
|
17242
|
+
}
|
|
17243
|
+
};
|
|
17244
|
+
/**
|
|
17245
|
+
* Handles keydown events on the input before the mask is initialized.
|
|
17246
|
+
* Initializes the mask on the first number input.
|
|
17247
|
+
* @param {KeyboardEvent} event - The keyboard event.
|
|
17248
|
+
*/
|
|
17249
|
+
this.handleKeydownBeforeMask = (event) => {
|
|
17250
|
+
const allowedKeys = [
|
|
17251
|
+
'Backspace',
|
|
17252
|
+
'Delete',
|
|
17253
|
+
'Tab',
|
|
17254
|
+
'ArrowLeft',
|
|
17255
|
+
'ArrowRight',
|
|
17256
|
+
'ArrowUp',
|
|
17257
|
+
'ArrowDown',
|
|
17258
|
+
'Home',
|
|
17259
|
+
'End',
|
|
17260
|
+
];
|
|
17261
|
+
if (/\d/.test(event.key)) {
|
|
17262
|
+
this.initializeInputMask();
|
|
17263
|
+
this.inputElement.removeEventListener('keydown', this.handleKeydownBeforeMask);
|
|
17264
|
+
}
|
|
17265
|
+
else if (!allowedKeys.includes(event.key) &&
|
|
17266
|
+
!event.metaKey &&
|
|
17267
|
+
!event.ctrlKey) {
|
|
17268
|
+
event.preventDefault();
|
|
17269
|
+
}
|
|
16800
17270
|
};
|
|
16801
17271
|
/**
|
|
16802
17272
|
* Handles focus events on the input element.
|
|
@@ -16808,6 +17278,16 @@ class NvFielddate {
|
|
|
16808
17278
|
event.target.blur();
|
|
16809
17279
|
return;
|
|
16810
17280
|
}
|
|
17281
|
+
if (!this.inputElement.inputmask) {
|
|
17282
|
+
this.inputElement.addEventListener('keydown', this.handleKeydownBeforeMask);
|
|
17283
|
+
}
|
|
17284
|
+
this.open = true;
|
|
17285
|
+
};
|
|
17286
|
+
/**
|
|
17287
|
+
* Handles blur events on the input element.
|
|
17288
|
+
*/
|
|
17289
|
+
this.handleBlur = () => {
|
|
17290
|
+
this.inputElement.removeEventListener('keydown', this.handleKeydownBeforeMask);
|
|
16811
17291
|
};
|
|
16812
17292
|
/**
|
|
16813
17293
|
* Prevents the valueChanged event from the calendar from propagating up.
|
|
@@ -16830,6 +17310,15 @@ class NvFielddate {
|
|
|
16830
17310
|
this.setInputRef = (el) => {
|
|
16831
17311
|
this.inputElement = el;
|
|
16832
17312
|
};
|
|
17313
|
+
/**
|
|
17314
|
+
* Toggles the opening/closing of the popover.
|
|
17315
|
+
*/
|
|
17316
|
+
this.toggleCalendar = () => {
|
|
17317
|
+
if (this.readonly || this.disabled) {
|
|
17318
|
+
return;
|
|
17319
|
+
}
|
|
17320
|
+
this.open = !this.open;
|
|
17321
|
+
};
|
|
16833
17322
|
}
|
|
16834
17323
|
//#endregion PROPERTIES
|
|
16835
17324
|
/****************************************************************************/
|
|
@@ -16840,20 +17329,39 @@ class NvFielddate {
|
|
|
16840
17329
|
* @returns {string} Format adapted for Inputmask.
|
|
16841
17330
|
*/
|
|
16842
17331
|
convertToInputmaskFormat(format) {
|
|
16843
|
-
|
|
16844
|
-
|
|
16845
|
-
|
|
16846
|
-
|
|
16847
|
-
|
|
16848
|
-
|
|
16849
|
-
|
|
16850
|
-
|
|
16851
|
-
|
|
16852
|
-
|
|
16853
|
-
|
|
16854
|
-
|
|
16855
|
-
|
|
17332
|
+
// If the format is not specified, use the default format
|
|
17333
|
+
if (!format) {
|
|
17334
|
+
return 'dd/mm/yyyy';
|
|
17335
|
+
}
|
|
17336
|
+
const formatMap = {
|
|
17337
|
+
'DD/MM/YYYY': 'dd/mm/yyyy',
|
|
17338
|
+
'MM/DD/YYYY': 'mm/dd/yyyy',
|
|
17339
|
+
'YYYY-MM-DD': 'yyyy-mm-dd',
|
|
17340
|
+
'DD.MM.YYYY': 'dd.mm.yyyy',
|
|
17341
|
+
'YYYYMMDD': 'yyyymmdd',
|
|
17342
|
+
};
|
|
17343
|
+
return formatMap[format] || 'dd/mm/yyyy';
|
|
17344
|
+
}
|
|
17345
|
+
/**
|
|
17346
|
+
* Clears the current selection and resets the field to its initial state.
|
|
17347
|
+
* This method can be called programmatically to reset the field.
|
|
17348
|
+
*/
|
|
17349
|
+
async clear() {
|
|
17350
|
+
// Reset internal state
|
|
17351
|
+
this.singleValue = '';
|
|
17352
|
+
this.value = '';
|
|
17353
|
+
// Reset the input element value
|
|
17354
|
+
if (this.inputElement) {
|
|
17355
|
+
this.inputElement.value = '';
|
|
17356
|
+
// Remove the input mask and reinitialize if needed
|
|
17357
|
+
if (this.inputElement.inputmask) {
|
|
17358
|
+
this.inputElement.inputmask.remove();
|
|
17359
|
+
}
|
|
16856
17360
|
}
|
|
17361
|
+
// Emit events to notify about the change
|
|
17362
|
+
this.valueChanged.emit('');
|
|
17363
|
+
// Close the popover if open
|
|
17364
|
+
this.open = false;
|
|
16857
17365
|
}
|
|
16858
17366
|
//#endregion METHODS
|
|
16859
17367
|
/****************************************************************************/
|
|
@@ -16865,19 +17373,17 @@ class NvFielddate {
|
|
|
16865
17373
|
if (this.value) {
|
|
16866
17374
|
this.singleValue = this.value;
|
|
16867
17375
|
}
|
|
17376
|
+
this.currentPlaceholder = this.placeholder || this.dateFormat;
|
|
16868
17377
|
}
|
|
16869
17378
|
componentDidLoad() {
|
|
16870
|
-
|
|
16871
|
-
inputs.forEach((input) => {
|
|
16872
|
-
Inputmask({
|
|
16873
|
-
alias: 'datetime',
|
|
16874
|
-
inputFormat: this.convertToInputmaskFormat(this.dateFormat),
|
|
16875
|
-
placeholder: '_'.repeat(this.dateFormat.length),
|
|
16876
|
-
}).mask(input);
|
|
16877
|
-
});
|
|
17379
|
+
// Inputmask is now initialized on the first keypress
|
|
16878
17380
|
}
|
|
16879
17381
|
disconnectedCallback() {
|
|
16880
17382
|
document.removeEventListener('click', this.handleClickOutside);
|
|
17383
|
+
if (this.inputElement &&
|
|
17384
|
+
this.inputElement.inputmask) {
|
|
17385
|
+
this.inputElement.inputmask.remove();
|
|
17386
|
+
}
|
|
16881
17387
|
}
|
|
16882
17388
|
/**
|
|
16883
17389
|
* Handles the single date selection event from nv-calendar.
|
|
@@ -16922,12 +17428,12 @@ class NvFielddate {
|
|
|
16922
17428
|
/****************************************************************************/
|
|
16923
17429
|
//#region RENDER
|
|
16924
17430
|
render() {
|
|
16925
|
-
return (hAsync(Host, { key: '
|
|
16926
|
-
this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '
|
|
17431
|
+
return (hAsync(Host, { key: '45af13d8290479c8ec171c0702d9d695c5047610' }, ((this.label && this.label.length > 0) ||
|
|
17432
|
+
this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'd30403c879f8ca0449d8d25d22bb401ece876758', htmlFor: this.inputId }, hAsync("slot", { key: 'aec155a914cff6b7ea8170dbd1f0d9ee4f35172e', name: "label" }, this.label))), hAsync("nv-popover", { key: '522969535f2b8340f1a9b425c4ea6291fc65cb7e', ref: this.setPopoverRef, id: this.popoverId, triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { key: 'eb1d5ab314fe654b3642afb22d9e3fbc340de969', slot: "trigger", class: "input-wrapper" }, hAsync("slot", { key: '6c28354e914075c36db9bee659d140669a745cab', name: "before-input" }), hAsync("div", { key: '68d3aa4a8afcec4042a8930678cea7046f3e31d7', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: 'ed7ada6913a6735af622369236b5f521f2e96aad', name: "leading-input" }), hAsync("input", { key: '49607b25253233665544e8e85db3814734280fe0', id: this.inputId, ref: this.setInputRef, placeholder: this.currentPlaceholder, name: this.name, disabled: this.disabled, readOnly: this.readonly, required: this.required, autofocus: this.autofocus, value: this.singleValue, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur, "data-scope": "date" }), this.error && (hAsync("nv-icon", { key: '35d06926d78f7c653fbf0424b59802fb4489004a', name: "alert-circle", class: "validation", size: "md" })), this.success && (hAsync("nv-icon", { key: '17ca631dca201fb412c921619223c1abc8777d2b', name: "circle-check", class: "validation", size: "md" })), hAsync("nv-iconbutton", { key: 'e08d735115cde3d22a657b986f4a7a5a0347d1af', class: "toggle-calendar-icon", name: "calendar" //{this.open ? 'chevron-top' : 'chevron-down'}
|
|
16927
17433
|
,
|
|
16928
|
-
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 })), hAsync("slot", { key: '
|
|
16929
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
16930
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
17434
|
+
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 })), hAsync("slot", { key: '75cf593c7b9f2078f055522d6e43440dbe0cc522', name: "after-input" })), hAsync("div", { key: '0df8cd2360a17f5cc786e6b29c67ded308c18104', slot: "content" }, hAsync("nv-calendar", { key: '045a02370ef9dfe31ae3d0b2f702fafb25c7da8f', 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) ||
|
|
17435
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'ecedbfe16857d9976349f3f3875be13f9ffc4b53', class: "description" }, hAsync("slot", { key: 'e848d9e03e169c9ac57ce2fb7cdb00466f658c61', name: "description" }, this.description))), (this.errorDescription ||
|
|
17436
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '028b4d496ba3ee5eefa0107da8a62c771709a3ed', hidden: !this.error, class: "error-description" }, this.el.querySelector('[slot="error-description"]') ? (hAsync("slot", { name: "error-description" })) : (this.errorDescription))), hAsync("slot", { key: 'd3b79a0ae56ec7eb444c28985b1ffcfd8a4e36a1' })));
|
|
16931
17437
|
}
|
|
16932
17438
|
get el() { return getElement(this); }
|
|
16933
17439
|
static get watchers() { return {
|
|
@@ -16964,7 +17470,9 @@ class NvFielddate {
|
|
|
16964
17470
|
"disabledDates": [16],
|
|
16965
17471
|
"fluid": [516],
|
|
16966
17472
|
"singleValue": [32],
|
|
16967
|
-
"
|
|
17473
|
+
"currentPlaceholder": [32],
|
|
17474
|
+
"open": [32],
|
|
17475
|
+
"clear": [64]
|
|
16968
17476
|
},
|
|
16969
17477
|
"$listeners$": [[0, "singleDateChange", "handleSingleDateChange"], [0, "closePopover", "handleClosePopover"], [0, "keydown", "handleKeyDown"]],
|
|
16970
17478
|
"$lazyBundleId$": "-",
|
|
@@ -17233,6 +17741,34 @@ class NvFielddaterange {
|
|
|
17233
17741
|
*/
|
|
17234
17742
|
updateCalendarValue() {
|
|
17235
17743
|
}
|
|
17744
|
+
/**
|
|
17745
|
+
* Clears the current selection and resets the date range field to its initial state.
|
|
17746
|
+
* This method can be called programmatically to reset the field.
|
|
17747
|
+
*/
|
|
17748
|
+
async clear() {
|
|
17749
|
+
// Reset internal state
|
|
17750
|
+
this.startValue = '';
|
|
17751
|
+
this.endValue = '';
|
|
17752
|
+
this.value = '';
|
|
17753
|
+
// Reset both input elements
|
|
17754
|
+
const inputs = this.el.querySelectorAll('.input-wrapper input');
|
|
17755
|
+
inputs.forEach((input) => {
|
|
17756
|
+
input.value = '';
|
|
17757
|
+
// Remove input mask if exists
|
|
17758
|
+
if (input.inputmask) {
|
|
17759
|
+
input.inputmask.remove();
|
|
17760
|
+
}
|
|
17761
|
+
});
|
|
17762
|
+
// Emit events to notify about the change
|
|
17763
|
+
this.valueChanged.emit('');
|
|
17764
|
+
this.dateRangeChange.emit({ start: '', end: '' });
|
|
17765
|
+
// Close the popover if open
|
|
17766
|
+
this.open = false;
|
|
17767
|
+
// Clear the calendar if it exists
|
|
17768
|
+
if (this.calendarElement) {
|
|
17769
|
+
this.calendarElement.clear();
|
|
17770
|
+
}
|
|
17771
|
+
}
|
|
17236
17772
|
//#endregion METHODS
|
|
17237
17773
|
/****************************************************************************/
|
|
17238
17774
|
//#region LIFECYCLE
|
|
@@ -17421,10 +17957,10 @@ class NvFielddaterange {
|
|
|
17421
17957
|
/****************************************************************************/
|
|
17422
17958
|
//#region RENDER
|
|
17423
17959
|
render() {
|
|
17424
|
-
return (hAsync(Host, { key: '
|
|
17425
|
-
this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '
|
|
17426
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
17427
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
17960
|
+
return (hAsync(Host, { key: 'e2d5ce2c864dbc8ba478a1ce1353aa8e51e13ec1' }, ((this.label && this.label.length > 0) ||
|
|
17961
|
+
this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '6e171200b763f8e7a907d305475bb7d4faa27979', htmlFor: this.startInputId }, hAsync("slot", { key: '9f8b94e7491d4cd73e17f41ba290acda1fe73f3b', name: "label" }, this.label))), hAsync("nv-popover", { key: '9bf5539eeceadb960c3438ddc05fe986f800d33b', ref: el => (this.popoverElement = el), id: this.popoverId, triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { key: '58f7625d27c2266429ddc4f653d61efefed5bc66', slot: "trigger", class: "input-wrapper" }, hAsync("slot", { key: '206064a5c1be74082202849b96e46a8207377098', name: "before-input" }), hAsync("div", { key: 'bd66fb676a5a749e17ede3f75c8a4404586c0c63', class: "input-container" }, hAsync("slot", { key: '7c78a037f5189143ea32ca843e1c27b52d8f2d4b', name: "leading-input" }), hAsync("div", { key: 'fbe89bc4502eca56e05029d65a45684484921433', class: "range-inputs" }, hAsync("input", { key: '397e572e87dd7f01977008b44847469cabd06494', id: this.startInputId, type: "text", placeholder: this.startPlaceholder, name: this.startName, disabled: this.disabled, readOnly: this.readonly, required: this.required, autofocus: this.autofocus, value: this.startValue, onInput: this.handleStartInput, onFocus: this.handleFocus, "data-scope": "date-range" }), hAsync("div", { key: '378d2755919eafc9f4edd8ee451c01e49dc70cfe', class: "range-separator" }), hAsync("input", { key: '2de8dcda3161667a543c04ae529a0f617f6598c6', id: this.endInputId, type: "text", placeholder: this.endPlaceholder, name: this.endName, disabled: this.disabled, readOnly: this.readonly, required: this.required, value: this.endValue, onInput: this.handleEndInput, onFocus: this.handleFocus, "data-scope": "date-range" })), this.error && (hAsync("nv-icon", { key: '5880e135764a7f9f87d92a4f7a84eba9f56b7d46', name: "alert-circle", class: "validation", size: "md" })), this.success && (hAsync("nv-icon", { key: '5d764360d3dbfc306962cb9e4b67d7d3c4bc09ed', name: "circle-check", class: "validation", size: "md" })), hAsync("nv-iconbutton", { key: '1b09d57633f8e115cc3d92a82d35399c53be265b', class: "toggle-calendar-icon", name: "calendar", size: "md", emphasis: "lower", "aria-label": this.open ? 'Hide calendar' : 'Show calendar', "aria-pressed": this.open.toString(), onClick: this.toggleCalendar, tabIndex: this.disabled ? -1 : 0 })), hAsync("slot", { key: '7ec41f782b0343eeb427bee4d7f2ab1b549978b3', name: "after-input" })), hAsync("div", { key: 'ea714333fe596af8a10c6f8a1e6c72935f8e5c91', slot: "content" }, hAsync("nv-calendar", { key: 'ffaa70c5bc76c422396b233d3dc46fdeb2d06b10', ref: el => (this.calendarElement = el), 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) ||
|
|
17962
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '7f4aa271c896234907d95cfe7660e1c41ab8ddf7', class: "description" }, hAsync("slot", { key: 'fce93594f7af4d054f886ce3caf48cfffb6809aa', name: "description" }, this.description))), (this.errorDescription ||
|
|
17963
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'f5a19b5d4c90c4319dc4eb09d1067f202ab229c9', hidden: !this.error, class: "error-description" }, this.el.querySelector('[slot="error-description"]') ? (hAsync("slot", { name: "error-description" })) : (this.errorDescription))), hAsync("slot", { key: '1d494e4c192b38c26e8cfe5482516382cacc13c6' })));
|
|
17428
17964
|
}
|
|
17429
17965
|
get el() { return getElement(this); }
|
|
17430
17966
|
static get watchers() { return {
|
|
@@ -17466,7 +18002,8 @@ class NvFielddaterange {
|
|
|
17466
18002
|
"fluid": [516],
|
|
17467
18003
|
"startValue": [32],
|
|
17468
18004
|
"endValue": [32],
|
|
17469
|
-
"open": [32]
|
|
18005
|
+
"open": [32],
|
|
18006
|
+
"clear": [64]
|
|
17470
18007
|
},
|
|
17471
18008
|
"$listeners$": [[0, "rangeDateChange", "handleRangeDateChange"], [0, "valueChanged", "handleCalendarValueChanged"], [0, "closePopover", "handleClosePopover"], [0, "applyDateRange", "handleApplyDateRange"], [0, "singleDateChange", "handleDateReset"], [0, "rangeDateChange", "handleDateReset"], [0, "keydown", "handleKeyDown"]],
|
|
17472
18009
|
"$lazyBundleId$": "-",
|
|
@@ -17835,9 +18372,9 @@ class NvFielddropdown {
|
|
|
17835
18372
|
//#region RENDER
|
|
17836
18373
|
render() {
|
|
17837
18374
|
var _a;
|
|
17838
|
-
return (hAsync(Host, { key: '
|
|
17839
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
17840
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
18375
|
+
return (hAsync(Host, { key: '39025d9624475fa633e36c3ba44feed7f34f42e1', role: "combobox", "aria-expanded": this.open.toString(), "aria-haspopup": "listbox", "aria-label": this.label }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '961a78a526a81e7fb0a219f1e46d6126880993db', htmlFor: this.inputId }, hAsync("slot", { key: '9d6b7d6fa1cc80393f0e85819a437e8193bdf672', name: "label" }, this.label))), hAsync("nv-popover", { key: '564fcf5fa2f263874b737fdf1bcc5a9aa9bc21d3', ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { key: '415ed0ee145ce9253380baed4a026afa018c59b7', class: "input-wrapper", slot: "trigger" }, hAsync("slot", { key: 'ddbece3ddfa0bcd16a8587c4ee693f8c44b69356', name: "before-input" }), hAsync("div", { key: '546fbc02d2051f47aea2a369ae479658c3c1d8dc', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: '95bb574eeb43285f73fd731581d1426095f7538a', name: "leading-input" }), this.filterable || this.disabled || this.readonly ? (hAsync("input", { "data-scope": "focusable", id: this.inputId, type: "search", ref: e => (this.inputElement = e), autofocus: this.autofocus, autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, value: this.getSelectedLabel(), required: this.required, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput, onFocus: this.handleInputFocus, onClick: this.handleInputFocus, onKeyDown: this.handleKeyDown })) : (hAsync("p", { "data-scope": "focusable", id: this.inputId, class: "non-filterable-text", onClick: this.handleInputContainerClick, tabIndex: this.disabled ? -1 : 0, onKeyDown: this.handleKeyDown, onFocus: this.handleInputFocus }, this.getSelectedLabel() || this.value || this.placeholder)), this.filterable && this.filterText && this.open && (hAsync("nv-iconbutton", { key: '669c6b2e93a85789e747e3f384dfd7b940cda9a7', name: "x", size: "md", emphasis: "lower", class: "clear-button", onClick: this.clearFilter, "aria-label": "Clear input" })), this.error && (hAsync("nv-icon", { key: '65f91d73115249ded5344e78f18ed7c37f8265b9', name: "alert-circle", class: "validation", size: "md" })), hAsync("nv-iconbutton", { key: '05644dcc1dfdbb0aa625b49484fab299b5b58894', "data-scope": "toggle-dropdown", name: this.open ? 'chevron-top' : 'chevron-down', size: "md", emphasis: "lower", "aria-label": this.open ? 'Hide dropdown' : 'Show dropdown', "aria-pressed": this.open.toString(), onClick: this.togglePopover, tabIndex: this.disabled ? -1 : 0 })), hAsync("slot", { key: 'd84d1936300877825adc9c61cc7d9ba773b92194', name: "after-input" })), hAsync("div", { key: 'de5e6bb6f3b40fed39cf90d046e8361dcb2a4d8f', slot: "content", style: this.maxHeight ? { maxHeight: this.maxHeight } : {} }, ((_a = this.options) === null || _a === void 0 ? void 0 : _a.length) > 0 ? (hAsync("ul", null, this.options.map(option => (hAsync("nv-fielddropdownitem", { label: option.label, value: option.value, disabled: option.disabled, selected: option.value === this.value }))))) : (hAsync("slot", { name: "content" })))), (this.description ||
|
|
18376
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '648b7fb9b7dade22d763f9afc468a4b48115a1a0', class: "description" }, hAsync("slot", { key: 'b560fb630a56c3d42363c1b8f0fa494faefd00d6', name: "description" }, this.description))), (this.errorDescription ||
|
|
18377
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'bcb614617bb1183f33d20d51304d8ff17d9c7381', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: '5345cb01032f24b0527bf22d77116a77bb439969', name: "error-description" }, this.errorDescription)))));
|
|
17841
18378
|
}
|
|
17842
18379
|
static get formAssociated() { return true; }
|
|
17843
18380
|
get el() { return getElement(this); }
|
|
@@ -17939,7 +18476,7 @@ class NvFielddropdownitem {
|
|
|
17939
18476
|
/****************************************************************************/
|
|
17940
18477
|
//#region RENDER
|
|
17941
18478
|
render() {
|
|
17942
|
-
return (hAsync(Host, { key: '
|
|
18479
|
+
return (hAsync(Host, { key: '486800fafd79ee133a459521e84b06c538f5585e', role: "menuitem", tabindex: '-1', onClick: this.handleSelected }, hAsync("slot", { key: 'fd9c5c5aad8c585735ddbcaf0cb98ab26d89ec69' }), !this.composed && (hAsync("div", { key: '145a6e02b2338f47235c3616a1af63bf5b0ea465', class: "text-wrapper" }, hAsync("span", { key: 'bc013eaf7fe0d56c1d609c3fce846f25ef2cfbb3', "data-scope": "text" }, this.label))), this.selected && (hAsync("nv-icon", { key: 'f7f6a4b2b27753d54eb92a77364329a29a3d6f08', name: "check", "aria-hidden": "true", "data-scope": "selected" }))));
|
|
17943
18480
|
}
|
|
17944
18481
|
get el() { return getElement(this); }
|
|
17945
18482
|
static get style() { return NvFielddropdownitemStyle0; }
|
|
@@ -17961,6 +18498,12 @@ class NvFielddropdownitem {
|
|
|
17961
18498
|
const nvFielddropdownitemcheckCss = "nv-fielddropdownitemcheck{cursor:pointer;display:flex;padding:var(--list-dropdown-item-padding-y) var(--list-dropdown-item-padding-x);border-radius:var(--list-dropdown-item-radius)}nv-fielddropdownitemcheck slot-fb,nv-fielddropdownitemcheck span{all:unset}nv-fielddropdownitemcheck:hover{background-color:var(--components-list-dropdown-item-background-hover)}";
|
|
17962
18499
|
var NvFielddropdownitemcheckStyle0 = nvFielddropdownitemcheckCss;
|
|
17963
18500
|
|
|
18501
|
+
/**
|
|
18502
|
+
* @slot default - Next to the label and description.
|
|
18503
|
+
* @slot main - Replaces the label and description.
|
|
18504
|
+
* @slot label - Content to be placed as the label, will override the label prop.
|
|
18505
|
+
* @slot description - Content to be placed as the description, will override the description prop.
|
|
18506
|
+
*/
|
|
17964
18507
|
class NvFielddropdownitemcheck {
|
|
17965
18508
|
constructor(hostRef) {
|
|
17966
18509
|
registerInstance(this, hostRef);
|
|
@@ -18004,12 +18547,12 @@ class NvFielddropdownitemcheck {
|
|
|
18004
18547
|
};
|
|
18005
18548
|
}
|
|
18006
18549
|
render() {
|
|
18007
|
-
return (hAsync(Host, { key: '
|
|
18550
|
+
return (hAsync(Host, { key: '82abe79dd061f60e380f033027f799121769f89e', onClick: this.handleClick }, hAsync("nv-fieldcheckbox", { key: '505181c56faacb09e55c428d91287d96e1c3b72a', checked: this.checked, name: this.label || this.value, label: this.label || this.value, "label-placement": "after", description: this.description, disabled: this.disabled, tabindex: "-1", role: "option", onCheckedChanged: this.onFieldcheckboxChanged }, hAsync("slot", { key: '95a53b7d4ec735fd3256505b57e2a497b475f511' }), hAsync("slot", { key: '137d5e2b3046417bbc90c0bd2dd10b846d1dfd53', name: "main" }), hAsync("slot", { key: '47d4a73e401186b7bc7a18aaad82018f0ccc1e2f', name: "label" }), hAsync("slot", { key: 'ff5c752d386c282635a97ad2bcb8858571aff7e9', name: "description" }))));
|
|
18008
18551
|
}
|
|
18009
18552
|
get el() { return getElement(this); }
|
|
18010
18553
|
static get style() { return NvFielddropdownitemcheckStyle0; }
|
|
18011
18554
|
static get cmpMeta() { return {
|
|
18012
|
-
"$flags$":
|
|
18555
|
+
"$flags$": 4,
|
|
18013
18556
|
"$tagName$": "nv-fielddropdownitemcheck",
|
|
18014
18557
|
"$members$": {
|
|
18015
18558
|
"checked": [1540],
|
|
@@ -18041,7 +18584,7 @@ class NvFieldmultiselect {
|
|
|
18041
18584
|
constructor(hostRef) {
|
|
18042
18585
|
registerInstance(this, hostRef);
|
|
18043
18586
|
this.valueChanged = createEvent(this, "valueChanged", 7);
|
|
18044
|
-
this.
|
|
18587
|
+
this.filterTextChanged = createEvent(this, "filterTextChanged", 7);
|
|
18045
18588
|
/****************************************************************************/
|
|
18046
18589
|
//#region PROPERTIES
|
|
18047
18590
|
/**
|
|
@@ -18058,6 +18601,11 @@ class NvFieldmultiselect {
|
|
|
18058
18601
|
* always type in fresh data.
|
|
18059
18602
|
*/
|
|
18060
18603
|
this.autocomplete = 'off';
|
|
18604
|
+
/**
|
|
18605
|
+
* Specifies the selected values of the multiselect field.
|
|
18606
|
+
* This is the canonical value for the component and is used for form submission.
|
|
18607
|
+
*/
|
|
18608
|
+
this.value = [];
|
|
18061
18609
|
/**
|
|
18062
18610
|
* Marks the input field as required.
|
|
18063
18611
|
*/
|
|
@@ -18111,17 +18659,13 @@ class NvFieldmultiselect {
|
|
|
18111
18659
|
* Text for the badge showing the number of selected items.
|
|
18112
18660
|
*/
|
|
18113
18661
|
this.badgeLabel = '';
|
|
18114
|
-
//#endregion PROPERTIES
|
|
18115
|
-
/****************************************************************************/
|
|
18116
|
-
//#region STATE
|
|
18117
18662
|
/**
|
|
18118
18663
|
* The text entered by the user for filtering multiselect items.
|
|
18119
18664
|
*/
|
|
18120
18665
|
this.filterText = '';
|
|
18121
|
-
|
|
18122
|
-
|
|
18123
|
-
|
|
18124
|
-
this.selectedValues = [];
|
|
18666
|
+
//#endregion PROPERTIES
|
|
18667
|
+
/****************************************************************************/
|
|
18668
|
+
//#region STATE
|
|
18125
18669
|
/**
|
|
18126
18670
|
* Sorted options for display.
|
|
18127
18671
|
*/
|
|
@@ -18131,8 +18675,8 @@ class NvFieldmultiselect {
|
|
|
18131
18675
|
* Handle badge close for options mode.
|
|
18132
18676
|
*/
|
|
18133
18677
|
this.handleBadgeCloseOptions = () => {
|
|
18134
|
-
this.
|
|
18135
|
-
this.
|
|
18678
|
+
this.value = [];
|
|
18679
|
+
this.valueChanged.emit(this.value);
|
|
18136
18680
|
// Uncheck all elements
|
|
18137
18681
|
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
|
|
18138
18682
|
items.forEach(item => {
|
|
@@ -18148,8 +18692,8 @@ class NvFieldmultiselect {
|
|
|
18148
18692
|
* Handle badge close for slots mode.
|
|
18149
18693
|
*/
|
|
18150
18694
|
this.handleBadgeCloseSlots = () => {
|
|
18151
|
-
this.
|
|
18152
|
-
this.
|
|
18695
|
+
this.value = [];
|
|
18696
|
+
this.valueChanged.emit(this.value);
|
|
18153
18697
|
// Uncheck all elements
|
|
18154
18698
|
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
|
|
18155
18699
|
items.forEach(item => {
|
|
@@ -18167,12 +18711,19 @@ class NvFieldmultiselect {
|
|
|
18167
18711
|
if (this.isHandlingEscape) {
|
|
18168
18712
|
return;
|
|
18169
18713
|
}
|
|
18170
|
-
|
|
18171
|
-
// Reset filter if needed
|
|
18714
|
+
// Reset filter if needed, but preserve the filter text
|
|
18172
18715
|
if (this.filterable) {
|
|
18173
18716
|
this.resetFilter();
|
|
18174
18717
|
}
|
|
18175
18718
|
};
|
|
18719
|
+
/**
|
|
18720
|
+
* Clear the filter text
|
|
18721
|
+
*/
|
|
18722
|
+
this.clearFilterText = () => {
|
|
18723
|
+
this.filterText = '';
|
|
18724
|
+
this.filterTextChanged.emit('');
|
|
18725
|
+
this.resetFilter();
|
|
18726
|
+
};
|
|
18176
18727
|
/**
|
|
18177
18728
|
* Handle input blur for options mode.
|
|
18178
18729
|
*/
|
|
@@ -18181,10 +18732,9 @@ class NvFieldmultiselect {
|
|
|
18181
18732
|
if (!this.el.contains(document.activeElement)) {
|
|
18182
18733
|
// Close the popover without affecting the divider
|
|
18183
18734
|
this.open = false;
|
|
18184
|
-
//
|
|
18735
|
+
// Clear filter text when focus is lost
|
|
18185
18736
|
if (this.filterable) {
|
|
18186
|
-
this.
|
|
18187
|
-
this.resetFilter();
|
|
18737
|
+
this.clearFilterText();
|
|
18188
18738
|
}
|
|
18189
18739
|
}
|
|
18190
18740
|
}, 150);
|
|
@@ -18242,15 +18792,14 @@ class NvFieldmultiselect {
|
|
|
18242
18792
|
return;
|
|
18243
18793
|
}
|
|
18244
18794
|
const input = event.target;
|
|
18245
|
-
this.
|
|
18246
|
-
this.
|
|
18795
|
+
this.filterText = input.value;
|
|
18796
|
+
this.filterTextChanged.emit(this.filterText);
|
|
18247
18797
|
// Clear any existing timer
|
|
18248
18798
|
if (this.debounceTimer) {
|
|
18249
18799
|
window.clearTimeout(this.debounceTimer);
|
|
18250
18800
|
}
|
|
18251
18801
|
// Set a new timer for filtering
|
|
18252
18802
|
this.debounceTimer = window.setTimeout(() => {
|
|
18253
|
-
this.filterText = input.value.toLowerCase();
|
|
18254
18803
|
this.filterItemsOption();
|
|
18255
18804
|
}, this.debounceDelay);
|
|
18256
18805
|
};
|
|
@@ -18264,15 +18813,14 @@ class NvFieldmultiselect {
|
|
|
18264
18813
|
if (this.disabled || this.readonly)
|
|
18265
18814
|
return;
|
|
18266
18815
|
const input = event.target;
|
|
18267
|
-
this.
|
|
18268
|
-
this.
|
|
18816
|
+
this.filterText = input.value;
|
|
18817
|
+
this.filterTextChanged.emit(this.filterText);
|
|
18269
18818
|
// Clear any existing timer
|
|
18270
18819
|
if (this.debounceTimer) {
|
|
18271
18820
|
window.clearTimeout(this.debounceTimer);
|
|
18272
18821
|
}
|
|
18273
18822
|
// Set a new timer for filtering
|
|
18274
18823
|
this.debounceTimer = window.setTimeout(() => {
|
|
18275
|
-
this.filterText = input.value.toLowerCase();
|
|
18276
18824
|
this.filterSlotsItems();
|
|
18277
18825
|
}, this.debounceDelay);
|
|
18278
18826
|
};
|
|
@@ -18302,10 +18850,9 @@ class NvFieldmultiselect {
|
|
|
18302
18850
|
if (!this.el.contains(document.activeElement)) {
|
|
18303
18851
|
// Close the popover without affecting the divider
|
|
18304
18852
|
this.open = false;
|
|
18305
|
-
//
|
|
18853
|
+
// Clear filter text when focus is lost
|
|
18306
18854
|
if (this.filterable) {
|
|
18307
|
-
this.
|
|
18308
|
-
this.resetFilter();
|
|
18855
|
+
this.clearFilterText();
|
|
18309
18856
|
}
|
|
18310
18857
|
}
|
|
18311
18858
|
}, 150);
|
|
@@ -18336,14 +18883,14 @@ class NvFieldmultiselect {
|
|
|
18336
18883
|
* @returns {any} The JSX for options mode
|
|
18337
18884
|
*/
|
|
18338
18885
|
this.renderOptionsMode = () => {
|
|
18339
|
-
return (hAsync(Host, { "aria-label": this.label, "aria-expanded": this.open.toString() }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { htmlFor: this.inputId }, hAsync("slot", { name: "label" }, this.label))), hAsync("nv-popover", { ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { class: "input-wrapper-multiselect", slot: "trigger" }, hAsync("slot", { name: "before-input" }), hAsync("div", { class: "input-container-multiselect" }, hAsync("slot", { name: "leading-input" }), this.
|
|
18886
|
+
return (hAsync(Host, { "aria-label": this.label, "aria-expanded": this.open.toString() }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { htmlFor: this.inputId }, hAsync("slot", { name: "label" }, this.label))), hAsync("nv-popover", { ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { class: "input-wrapper-multiselect", slot: "trigger" }, hAsync("slot", { name: "before-input" }), hAsync("div", { class: "input-container-multiselect" }, hAsync("slot", { name: "leading-input" }), this.value.length > 0 && (hAsync("nv-badge", { slot: "leading-input", "prevent-auto-close": true, color: "10", dismissible: this.value.length > 0, label: `${this.value.length} ${this.badgeLabel}`, "aria-label": `Clear all ${this.value.length} ${this.badgeLabel} items`, onCloseClicked: this.handleBadgeCloseOptions })), this.filterable || this.disabled || this.readonly ? (hAsync("input", { type: "text", id: this.inputId, ref: e => (this.inputElement = e), autofocus: this.autofocus, autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, value: this.filterText, required: this.required, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInputOptions, onFocus: this.handleInputFocusOptions, onBlur: this.handleInputBlurOptions, onKeyDown: this.handleKeyDown, "data-scope": "focusable" })) : (hAsync("p", { id: this.inputId, class: "non-filterable-text", onClick: this.handleInputContainerClickOptions, tabIndex: 0, onKeyDown: this.handleKeyDown, onFocus: this.handleInputFocusOptions, role: "combobox", "aria-expanded": this.open, "data-scope": "focusable" }, hAsync("span", null, this.placeholder))), this.error && (hAsync("nv-icon", { name: "alert-circle", class: "validation", size: "md" })), this.filterable && this.filterText.length > 0 && (hAsync("nv-iconbutton", { "data-scope": "clear-filter", name: "x", size: "md", emphasis: "lower", tabindex: "-1", onClick: this.clearFilterText, "aria-label": "Clear filter text" })), hAsync("nv-iconbutton", { "data-scope": "toggle-dropdown", name: this.open ? 'chevron-top' : 'chevron-down', size: "md", emphasis: "lower", "aria-label": this.open ? 'Hide dropdown' : 'Show dropdown', "aria-pressed": this.open.toString(), onClick: this.togglePopoverOptions })), hAsync("slot", { name: "after-input" })), hAsync("div", { slot: "content", role: "listbox", "aria-multiselectable": "true", style: this.maxHeight ? { maxHeight: this.maxHeight } : {} }, hAsync("ul", { role: "content" }, this.options.map(option => (hAsync("nv-fielddropdownitemcheck", { label: option.label, description: option.description, value: option.value, checked: this.value.includes(option.value), disabled: option.disabled }))), hAsync("hr", { class: "multiselect-divider", style: { display: 'none' } })))), this.renderDescriptions()));
|
|
18340
18887
|
};
|
|
18341
18888
|
/**
|
|
18342
18889
|
* Renders the component in slots mode
|
|
18343
18890
|
* @returns {any} The JSX for slots mode
|
|
18344
18891
|
*/
|
|
18345
18892
|
this.renderSlotsMode = () => {
|
|
18346
|
-
return (hAsync(Host, { "aria-label": this.label, "aria-expanded": this.open.toString() }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { htmlFor: this.inputId }, hAsync("slot", { name: "label" }, this.label))), hAsync("nv-popover", { ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { class: "input-wrapper-multiselect", slot: "trigger" }, hAsync("slot", { name: "before-input" }), hAsync("div", { class: "input-container-multiselect", onClick: this.handleInputContainerClickSlots }, hAsync("slot", { name: "leading-input" }), this.
|
|
18893
|
+
return (hAsync(Host, { "aria-label": this.label, "aria-expanded": this.open.toString() }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { htmlFor: this.inputId }, hAsync("slot", { name: "label" }, this.label))), hAsync("nv-popover", { ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { class: "input-wrapper-multiselect", slot: "trigger" }, hAsync("slot", { name: "before-input" }), hAsync("div", { class: "input-container-multiselect", onClick: this.handleInputContainerClickSlots }, hAsync("slot", { name: "leading-input" }), this.value.length > 0 && (hAsync("nv-badge", { slot: "leading-input", "prevent-auto-close": true, color: "10", dismissible: this.value.length > 0, label: `${this.value.length} ${this.badgeLabel}`, "aria-label": `Clear all ${this.value.length} ${this.badgeLabel} items`, onCloseClicked: this.handleBadgeCloseSlots })), this.filterable || this.disabled || this.readonly ? (hAsync("input", { id: this.inputId, ref: e => (this.inputElement = e), autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, value: this.filterText, required: this.required, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInputSlots, onFocus: this.handleInputFocusSlots, onBlur: this.handleInputBlurSlots, onKeyDown: this.handleKeyDown, "data-scope": "focusable" })) : (hAsync("p", { id: this.inputId, class: "non-filterable-text", onClick: this.handleInputContainerClickSlots, tabIndex: 0, onKeyDown: this.handleKeyDown, onFocus: this.handleInputFocusSlots, role: "combobox", "aria-expanded": this.open, "data-scope": "focusable" }, hAsync("span", null, this.placeholder))), this.error && (hAsync("nv-icon", { name: "alert-circle", class: "validation", size: "md" })), this.filterable && this.filterText.length > 0 && (hAsync("nv-iconbutton", { name: "x", size: "md", emphasis: "lower", tabindex: "-1", onClick: this.clearFilterText, "aria-label": "Clear filter text" })), hAsync("nv-iconbutton", { "data-scope": "toggle-dropdown", name: this.open ? 'chevron-top' : 'chevron-down', size: "md", emphasis: "lower", "aria-label": this.open ? 'Hide dropdown' : 'Show dropdown', "aria-pressed": this.open.toString(), onClick: this.togglePopoverSlots })), hAsync("slot", { name: "after-input" })), hAsync("div", { slot: "content", role: "listbox", "aria-multiselectable": "true", style: this.maxHeight ? { maxHeight: this.maxHeight } : {} }, hAsync("slot", { name: "content" }))), this.renderDescriptions()));
|
|
18347
18894
|
};
|
|
18348
18895
|
}
|
|
18349
18896
|
//#endregion EVENTS
|
|
@@ -18352,7 +18899,7 @@ class NvFieldmultiselect {
|
|
|
18352
18899
|
handleOptionsChange(newValue) {
|
|
18353
18900
|
if (!newValue)
|
|
18354
18901
|
return;
|
|
18355
|
-
this.
|
|
18902
|
+
this.value = newValue
|
|
18356
18903
|
.filter(option => option.checked)
|
|
18357
18904
|
.map(option => option.value);
|
|
18358
18905
|
this.reorderOptionsContent();
|
|
@@ -18361,8 +18908,10 @@ class NvFieldmultiselect {
|
|
|
18361
18908
|
* Emitted when the value changes.
|
|
18362
18909
|
*/
|
|
18363
18910
|
watchValueHandler() {
|
|
18364
|
-
//
|
|
18365
|
-
this.
|
|
18911
|
+
// Synchronize child components when value changes programmatically
|
|
18912
|
+
if (this.el && this.el.isConnected) {
|
|
18913
|
+
this.syncChildComponents();
|
|
18914
|
+
}
|
|
18366
18915
|
}
|
|
18367
18916
|
//#endregion WATCHERS
|
|
18368
18917
|
/****************************************************************************/
|
|
@@ -18402,22 +18951,23 @@ class NvFieldmultiselect {
|
|
|
18402
18951
|
}
|
|
18403
18952
|
const { value, checked } = event.detail;
|
|
18404
18953
|
if (value !== undefined && value !== null) {
|
|
18405
|
-
const
|
|
18406
|
-
const valueIndex =
|
|
18954
|
+
const newValue = [...this.value];
|
|
18955
|
+
const valueIndex = newValue.indexOf(value);
|
|
18407
18956
|
if (checked && valueIndex === -1) {
|
|
18408
|
-
|
|
18957
|
+
newValue.push(value);
|
|
18409
18958
|
}
|
|
18410
18959
|
else if (!checked && valueIndex > -1) {
|
|
18411
|
-
|
|
18960
|
+
newValue.splice(valueIndex, 1);
|
|
18412
18961
|
}
|
|
18413
|
-
//
|
|
18414
|
-
|
|
18415
|
-
|
|
18416
|
-
|
|
18417
|
-
|
|
18418
|
-
|
|
18419
|
-
|
|
18420
|
-
|
|
18962
|
+
// Always update the state and emit the event when an item is checked/unchecked
|
|
18963
|
+
this.value = newValue;
|
|
18964
|
+
this.valueChanged.emit(this.value);
|
|
18965
|
+
// Update the checked state of all items to ensure consistency
|
|
18966
|
+
this.syncChildComponents();
|
|
18967
|
+
// Preserve the filter text in the input
|
|
18968
|
+
if (this.filterable && this.inputElement) {
|
|
18969
|
+
// Keep the current filter text in the input
|
|
18970
|
+
this.inputElement.value = this.filterText;
|
|
18421
18971
|
}
|
|
18422
18972
|
}
|
|
18423
18973
|
else {
|
|
@@ -18456,12 +19006,10 @@ class NvFieldmultiselect {
|
|
|
18456
19006
|
}
|
|
18457
19007
|
// Specific initialization for slots mode
|
|
18458
19008
|
if (!this.options) {
|
|
19009
|
+
// Use a microtask to ensure DOM is ready
|
|
18459
19010
|
Promise.resolve().then(() => {
|
|
18460
|
-
|
|
18461
|
-
|
|
18462
|
-
this.selectedValues = items
|
|
18463
|
-
.filter(item => item.hasAttribute('checked'))
|
|
18464
|
-
.map(item => item.getAttribute('value') || '');
|
|
19011
|
+
// Synchronize child components
|
|
19012
|
+
this.syncChildComponents();
|
|
18465
19013
|
// Force a reorder after initialization
|
|
18466
19014
|
requestAnimationFrame(() => {
|
|
18467
19015
|
this.reorderSlotContent();
|
|
@@ -18472,13 +19020,8 @@ class NvFieldmultiselect {
|
|
|
18472
19020
|
if (this.options) {
|
|
18473
19021
|
this.sortedOptions = [...((_a = this.options) !== null && _a !== void 0 ? _a : [])];
|
|
18474
19022
|
}
|
|
18475
|
-
//
|
|
18476
|
-
if (this.
|
|
18477
|
-
this.filterText = String(this.value).toLocaleLowerCase();
|
|
18478
|
-
this.filterItems();
|
|
18479
|
-
}
|
|
18480
|
-
else {
|
|
18481
|
-
// Reset visibility state of all dropdown items
|
|
19023
|
+
// Reset filter if needed
|
|
19024
|
+
if (!this.filterText) {
|
|
18482
19025
|
this.resetFilter();
|
|
18483
19026
|
}
|
|
18484
19027
|
}
|
|
@@ -18489,6 +19032,8 @@ class NvFieldmultiselect {
|
|
|
18489
19032
|
if (this.options) {
|
|
18490
19033
|
this.handleOptionsChange(this.options);
|
|
18491
19034
|
}
|
|
19035
|
+
// Final synchronization of child components after everything is loaded
|
|
19036
|
+
this.syncChildComponents();
|
|
18492
19037
|
}
|
|
18493
19038
|
/**
|
|
18494
19039
|
* Unsubscribe from click outside event.
|
|
@@ -18506,38 +19051,6 @@ class NvFieldmultiselect {
|
|
|
18506
19051
|
async getFilterText() {
|
|
18507
19052
|
return this.filterText;
|
|
18508
19053
|
}
|
|
18509
|
-
/**
|
|
18510
|
-
* Set the initial selection based on the current value and update the inputElement value.
|
|
18511
|
-
*/
|
|
18512
|
-
setInitialSelection() {
|
|
18513
|
-
var _a;
|
|
18514
|
-
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitem'));
|
|
18515
|
-
const selectedItem = items.find(item => {
|
|
18516
|
-
var _a;
|
|
18517
|
-
return item.getAttribute('label') === this.value ||
|
|
18518
|
-
item.getAttribute('value') === this.value ||
|
|
18519
|
-
((_a = item.textContent) === null || _a === void 0 ? void 0 : _a.trim()) === this.value;
|
|
18520
|
-
});
|
|
18521
|
-
// Remove 'selected' from all items first to reset the state
|
|
18522
|
-
items.forEach(item => {
|
|
18523
|
-
item.removeAttribute('selected');
|
|
18524
|
-
item.classList.remove('selected');
|
|
18525
|
-
});
|
|
18526
|
-
if (selectedItem) {
|
|
18527
|
-
// Add the `selected` attribute and `selected` class for visual styling
|
|
18528
|
-
selectedItem.setAttribute('selected', 'true');
|
|
18529
|
-
selectedItem.classList.add('selected');
|
|
18530
|
-
// Update the value and inputElement value to reflect the pre-selected item
|
|
18531
|
-
this.value =
|
|
18532
|
-
selectedItem.getAttribute('label') ||
|
|
18533
|
-
selectedItem.getAttribute('value') ||
|
|
18534
|
-
((_a = selectedItem.textContent) === null || _a === void 0 ? void 0 : _a.trim()) ||
|
|
18535
|
-
'';
|
|
18536
|
-
if (this.inputElement) {
|
|
18537
|
-
this.inputElement.value = this.value;
|
|
18538
|
-
}
|
|
18539
|
-
}
|
|
18540
|
-
}
|
|
18541
19054
|
/**
|
|
18542
19055
|
* Reset the filter and make all items visible.
|
|
18543
19056
|
*/
|
|
@@ -18554,8 +19067,8 @@ class NvFieldmultiselect {
|
|
|
18554
19067
|
if (emptyMessage)
|
|
18555
19068
|
emptyMessage.remove();
|
|
18556
19069
|
// Reorder with divider if needed
|
|
18557
|
-
const selectedItems = items.filter(item => this.
|
|
18558
|
-
const unselectedItems = items.filter(item => !this.
|
|
19070
|
+
const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
19071
|
+
const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
18559
19072
|
if (selectedItems.length > 0) {
|
|
18560
19073
|
this.manageDivider(ul, selectedItems, unselectedItems);
|
|
18561
19074
|
}
|
|
@@ -18566,7 +19079,7 @@ class NvFieldmultiselect {
|
|
|
18566
19079
|
* @returns {string[]} The selected values.
|
|
18567
19080
|
*/
|
|
18568
19081
|
async getSelectedValues() {
|
|
18569
|
-
return this.
|
|
19082
|
+
return this.value;
|
|
18570
19083
|
}
|
|
18571
19084
|
/**
|
|
18572
19085
|
* Reorder the content of the slot.
|
|
@@ -18588,8 +19101,8 @@ class NvFieldmultiselect {
|
|
|
18588
19101
|
return;
|
|
18589
19102
|
}
|
|
18590
19103
|
// Separate checked vs unchecked
|
|
18591
|
-
const selectedItems = items.filter(item => this.
|
|
18592
|
-
const unselectedItems = items.filter(item => !this.
|
|
19104
|
+
const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
19105
|
+
const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
18593
19106
|
// Reinsert CHECKED items FIRST
|
|
18594
19107
|
// appendChild() moves the element without recreating it
|
|
18595
19108
|
// this is not trigger a re-rendering of the component in the platforms
|
|
@@ -18615,8 +19128,8 @@ class NvFieldmultiselect {
|
|
|
18615
19128
|
if (!ul)
|
|
18616
19129
|
return;
|
|
18617
19130
|
const items = Array.from(ul.querySelectorAll('nv-fielddropdownitemcheck')).filter(item => item.style.display !== 'none');
|
|
18618
|
-
const selectedItems = items.filter(item => this.
|
|
18619
|
-
const unselectedItems = items.filter(item => !this.
|
|
19131
|
+
const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
19132
|
+
const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
18620
19133
|
// Reorder the elements
|
|
18621
19134
|
selectedItems.forEach(item => ul.appendChild(item));
|
|
18622
19135
|
unselectedItems.forEach(item => ul.appendChild(item));
|
|
@@ -18652,8 +19165,8 @@ class NvFieldmultiselect {
|
|
|
18652
19165
|
}
|
|
18653
19166
|
// Reorder with divider
|
|
18654
19167
|
const items = Array.from(ul.querySelectorAll('nv-fielddropdownitemcheck'));
|
|
18655
|
-
const selectedItems = items.filter(item => this.
|
|
18656
|
-
const unselectedItems = items.filter(item => !this.
|
|
19168
|
+
const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
19169
|
+
const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
18657
19170
|
this.manageDivider(ul, selectedItems, unselectedItems);
|
|
18658
19171
|
return;
|
|
18659
19172
|
}
|
|
@@ -18674,8 +19187,8 @@ class NvFieldmultiselect {
|
|
|
18674
19187
|
});
|
|
18675
19188
|
// Manage the divider with the visible items
|
|
18676
19189
|
const visibleItems = items.filter(item => item.style.display !== 'none');
|
|
18677
|
-
const visibleSelected = visibleItems.filter(item => this.
|
|
18678
|
-
const visibleUnselected = visibleItems.filter(item => !this.
|
|
19190
|
+
const visibleSelected = visibleItems.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
19191
|
+
const visibleUnselected = visibleItems.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
18679
19192
|
this.manageDivider(ul, visibleSelected, visibleUnselected);
|
|
18680
19193
|
}
|
|
18681
19194
|
else {
|
|
@@ -18733,8 +19246,8 @@ class NvFieldmultiselect {
|
|
|
18733
19246
|
});
|
|
18734
19247
|
// Manage the divider with the visible items
|
|
18735
19248
|
const visibleItems = items.filter(item => item.style.display !== 'none');
|
|
18736
|
-
const visibleSelected = visibleItems.filter(item => this.
|
|
18737
|
-
const visibleUnselected = visibleItems.filter(item => !this.
|
|
19249
|
+
const visibleSelected = visibleItems.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
19250
|
+
const visibleUnselected = visibleItems.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
18738
19251
|
this.manageDivider(ul, visibleSelected, visibleUnselected);
|
|
18739
19252
|
// Add or remove the empty message based on the case
|
|
18740
19253
|
if (!hasVisibleItems) {
|
|
@@ -18782,8 +19295,8 @@ class NvFieldmultiselect {
|
|
|
18782
19295
|
});
|
|
18783
19296
|
// Get visible items after filtering
|
|
18784
19297
|
const visibleItems = items.filter(item => item.style.display !== 'none');
|
|
18785
|
-
const visibleSelectedItems = visibleItems.filter(item => this.
|
|
18786
|
-
this.manageDivider(ul, visibleSelectedItems, visibleItems.filter(item => !this.
|
|
19298
|
+
const visibleSelectedItems = visibleItems.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
19299
|
+
this.manageDivider(ul, visibleSelectedItems, visibleItems.filter(item => !this.value.includes(item.getAttribute('value') || '')));
|
|
18787
19300
|
// Add empty message if no items match the filter
|
|
18788
19301
|
if (!hasVisibleItems) {
|
|
18789
19302
|
const emptyMessage = document.createElement('li');
|
|
@@ -18980,6 +19493,29 @@ class NvFieldmultiselect {
|
|
|
18980
19493
|
divider.style.display = 'none';
|
|
18981
19494
|
}
|
|
18982
19495
|
}
|
|
19496
|
+
/**
|
|
19497
|
+
* Synchronizes the checked state of all child nv-fielddropdownitemcheck components
|
|
19498
|
+
* with the current selectedValues state.
|
|
19499
|
+
*/
|
|
19500
|
+
syncChildComponents() {
|
|
19501
|
+
// Early return if element is not ready
|
|
19502
|
+
if (!this.el || !this.el.isConnected) {
|
|
19503
|
+
return;
|
|
19504
|
+
}
|
|
19505
|
+
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
|
|
19506
|
+
items.forEach(item => {
|
|
19507
|
+
// Get the effective value: use explicit value if present, otherwise use label
|
|
19508
|
+
const itemValue = item.getAttribute('value') || item.getAttribute('label') || '';
|
|
19509
|
+
if (this.value.includes(itemValue)) {
|
|
19510
|
+
item.setAttribute('checked', '');
|
|
19511
|
+
item.checked = true;
|
|
19512
|
+
}
|
|
19513
|
+
else {
|
|
19514
|
+
item.removeAttribute('checked');
|
|
19515
|
+
item.checked = false;
|
|
19516
|
+
}
|
|
19517
|
+
});
|
|
19518
|
+
}
|
|
18983
19519
|
/**
|
|
18984
19520
|
* Renders description and error description sections
|
|
18985
19521
|
* @returns {any} The JSX for descriptions
|
|
@@ -19015,7 +19551,7 @@ class NvFieldmultiselect {
|
|
|
19015
19551
|
"description": [513],
|
|
19016
19552
|
"placeholder": [513],
|
|
19017
19553
|
"autocomplete": [513],
|
|
19018
|
-
"value": [
|
|
19554
|
+
"value": [1040],
|
|
19019
19555
|
"required": [516],
|
|
19020
19556
|
"readonly": [516],
|
|
19021
19557
|
"disabled": [516],
|
|
@@ -19030,8 +19566,7 @@ class NvFieldmultiselect {
|
|
|
19030
19566
|
"autofocus": [516],
|
|
19031
19567
|
"fluid": [516],
|
|
19032
19568
|
"badgeLabel": [513, "badge-label"],
|
|
19033
|
-
"filterText": [
|
|
19034
|
-
"selectedValues": [32],
|
|
19569
|
+
"filterText": [1537, "filter-text"],
|
|
19035
19570
|
"sortedOptions": [32],
|
|
19036
19571
|
"isHandlingEscape": [32],
|
|
19037
19572
|
"getFilterText": [64],
|
|
@@ -19040,7 +19575,7 @@ class NvFieldmultiselect {
|
|
|
19040
19575
|
},
|
|
19041
19576
|
"$listeners$": [[0, "openChanged", "handleOpenChanged"], [0, "itemChecked", "handleItemChecked"], [0, "slotchange", "handleSlotChange"], [0, "keydown", "handleKeyDown"]],
|
|
19042
19577
|
"$lazyBundleId$": "-",
|
|
19043
|
-
"$attrsToReflect$": [["inputId", "input-id"], ["name", "name"], ["label", "label"], ["description", "description"], ["placeholder", "placeholder"], ["autocomplete", "autocomplete"], ["
|
|
19578
|
+
"$attrsToReflect$": [["inputId", "input-id"], ["name", "name"], ["label", "label"], ["description", "description"], ["placeholder", "placeholder"], ["autocomplete", "autocomplete"], ["required", "required"], ["readonly", "readonly"], ["disabled", "disabled"], ["error", "error"], ["errorDescription", "error-description"], ["maxHeight", "max-height"], ["open", "open"], ["emptyResult", "empty-result"], ["filterable", "filterable"], ["debounceDelay", "debounce-delay"], ["autofocus", "autofocus"], ["fluid", "fluid"], ["badgeLabel", "badge-label"], ["filterText", "filter-text"]]
|
|
19044
19579
|
}; }
|
|
19045
19580
|
}
|
|
19046
19581
|
|
|
@@ -19164,9 +19699,9 @@ class NvFieldnumber {
|
|
|
19164
19699
|
/****************************************************************************/
|
|
19165
19700
|
//#region RENDER
|
|
19166
19701
|
render() {
|
|
19167
|
-
return (hAsync(Host, { key: '
|
|
19168
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
19169
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
19702
|
+
return (hAsync(Host, { key: '0fcd74073e1c3f2c8de00c21e1ff782d4ed2fbe8' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'c4dc1dc4efd2150fb897f0602b07ab22643756e6', htmlFor: this.inputId }, hAsync("slot", { key: 'a0aa360dd532e11fd0273c8ba8d5ded3adc45642', name: "label" }, this.label))), hAsync("div", { key: 'c2ffeb70a8e5ffe43ec5061e035add48fd0f09a2', class: "input-wrapper" }, hAsync("slot", { key: '62ef15b0961ae4af93940d3d2dd10fdb6a636d4d', name: "before-input" }), hAsync("div", { key: '07be430ad207b6023ee969b7ad290d4946f4b6fe', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: '69978ac5971a25cc8c0515250d741ac8a658c3bd', name: "leading-input" }), hAsync("input", { key: '284f8da710438e470a26541b7cf72f89730ef3ab', id: this.inputId, ref: e => (this.inputElement = e), placeholder: this.placeholder, name: this.name, type: "number", autofocus: this.autofocus, required: this.required, max: this.max, min: this.min, step: this.step, value: this.value, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput }), hAsync("slot", { key: 'd028cd632cff77f592429e97a81a1d45aeec621d', name: "trailing-input" }), this.error && (hAsync("nv-icon", { key: '7de629b71971559c647ba4ad4885815124bb63b3', name: "alert-circle", class: "validation", size: "md" })), this.success && (hAsync("nv-icon", { key: '135e609c2e568174db3503633f389c70a2fceaba', name: "circle-check", class: "validation", size: "md" })), hAsync("div", { key: '17a952157f55ff65911d852a4274de5db4241508', class: "stepper" }, hAsync("nv-iconbutton", { key: '33d0412ea6ed883d92b64363b404628d610e2339', size: "md", name: "minus", emphasis: "lower", onClick: this.handleMinus, disabled: this.isMinValueReached(), onMouseDown: this.preventSelection, tabindex: "-1" }), hAsync("nv-iconbutton", { key: '68bf536a5fe5bb0b3c2c3bd5508324c050cb8764', size: "md", name: "plus", emphasis: "lower", onClick: this.handlePlus, disabled: this.isMaxValueReached(), onMouseDown: this.preventSelection, tabindex: "-1" }))), hAsync("slot", { key: '3922a559b4ca954bee9caea379c940e7b132f65f', name: "after-input" })), (this.description ||
|
|
19703
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '8844bf48e0251717549d4e0079370fe2f590c616', class: "description" }, hAsync("slot", { key: 'f35c77ffa2f01a66d72ef75a65c5c634b14bbdbc', name: "description" }, this.description))), (this.errorDescription ||
|
|
19704
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'ce407c77dd30a235c7691727480c911ad6128392', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: '7ffb85e03e5a9a949f022398537c74a812b8a12f', name: "error-description" }, this.errorDescription)))));
|
|
19170
19705
|
}
|
|
19171
19706
|
static get formAssociated() { return true; }
|
|
19172
19707
|
get el() { return getElement(this); }
|
|
@@ -19314,9 +19849,9 @@ class NvFieldpassword {
|
|
|
19314
19849
|
/****************************************************************************/
|
|
19315
19850
|
//#region RENDER
|
|
19316
19851
|
render() {
|
|
19317
|
-
return (hAsync(Host, { key: '
|
|
19318
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
19319
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
19852
|
+
return (hAsync(Host, { key: 'b8d142f5a35087f977437af4d2094783e455d9a0' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'f26d2c14ee03d1ef80fe263a1849c0da03a39a8c', htmlFor: this.inputId }, hAsync("slot", { key: '13dfa9e681e1b5a7244e7debc7d1c1af36bedd37', name: "label" }, this.label))), hAsync("div", { key: '5a01c9cc4573543e0d6633f9b8fadfa1ad6b066a', class: "input-wrapper" }, hAsync("slot", { key: '2ff066ad5da2d3fe0885ccc1a0c97f9817ff4bbe', name: "before-input" }), hAsync("div", { key: '429535a2b55ea4af5374067948f5be1d16898694', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: '00d8fa3cd0e8af41f1b9c46cefc256a29187db9d', name: "leading-input" }), hAsync("input", { key: '7aa5db4e17d62e3a9c10e8b5e2dabe224033b2da', id: this.inputId, ref: e => (this.inputElement = e), autofocus: this.autofocus, autocomplete: this.autocomplete, placeholder: this.placeholder, name: this.name, type: this.showPasswordState ? 'text' : 'password', inputMode: this.mode, value: this.value, required: this.required, maxlength: this.maxlength, minlength: this.minlength, pattern: this.pattern, disabled: this.disabled, readOnly: this.readonly, onInput: this.handleInput }), (this.success || this.error) && (hAsync("nv-icon", { key: '0c919def4c580387d87a2f500a663f4dba5874cb', name: this.success ? 'circle-check' : 'alert-circle', class: "validation", size: "md" })), !this.hidePasswordIcon && (hAsync("nv-iconbutton", { key: '2b020de565c3311431c83c68a773731055c1c6c5', name: this.showPasswordState ? 'eye' : 'eye-off', size: "md", emphasis: "lower", onClick: this.togglePasswordVisibility, "aria-label": this.showPasswordState ? 'Hide password' : 'Show password', "aria-pressed": this.showPasswordState.toString() }))), hAsync("slot", { key: '938de4d9c513e3aef3de1e9a108e69558843b466', name: "after-input" })), (this.description ||
|
|
19853
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '6150e4be7c79bf10a1a2db3b14334c4fd9d2396c', class: "description" }, hAsync("slot", { key: 'de557936e4ed9e0798cbbb95f832fa6a831d63a9', name: "description" }, this.description))), (this.errorDescription ||
|
|
19854
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '74e43aa5f463f8156d44d261d5641c0aafccc5fc', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: '4956c95a870964a712524fb30d26e9fd500edef8', name: "error-description" }, this.errorDescription)))));
|
|
19320
19855
|
}
|
|
19321
19856
|
static get formAssociated() { return true; }
|
|
19322
19857
|
get el() { return getElement(this); }
|
|
@@ -19444,9 +19979,9 @@ class NvFieldradio {
|
|
|
19444
19979
|
/****************************************************************************/
|
|
19445
19980
|
//#region RENDER
|
|
19446
19981
|
render() {
|
|
19447
|
-
return (hAsync(Host, { key: '
|
|
19448
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
19449
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
19982
|
+
return (hAsync(Host, { key: '5721fd4ffd6d8b1392e65d0b8eaea4dea241be63', class: clsx(this.labelPlacement === 'before' && 'label-placement-before', this.error && 'error') }, hAsync("input", { key: 'c54d8952edb57e34016a85ba2b6b9c7fc2a20a37', type: "radio", id: this.inputId, name: this.name, autofocus: this.autofocus, autocomplete: "off", value: this.value, checked: this.checked, disabled: this.disabled }), hAsync("div", { key: 'e80c6c12fbf461776822185109e05aea5a6c954b', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '0f89b274c7ee7ea7d2e3116a004575176d044b5b', htmlFor: this.inputId }, hAsync("slot", { key: '04b04fbc8ad5a199def48e728c74f13e7230414d', name: "label" }, this.label))), (this.description ||
|
|
19983
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'e5c5048c50d0089393a29f12eb09f0ae26aedcfc', class: "description" }, hAsync("slot", { key: '6902044f273d508a79a66a3f185fc4a9ac48e94f', name: "description" }, this.description))), (this.errorDescription ||
|
|
19984
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '8d388b64deccd2f398485dfa0b83d70b8c50ae47', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: 'c5237272b97c754d2745eb62a85519f2c14dfb27', name: "error-description" }, this.errorDescription))))));
|
|
19450
19985
|
}
|
|
19451
19986
|
static get formAssociated() { return true; }
|
|
19452
19987
|
get el() { return getElement(this); }
|
|
@@ -19830,13 +20365,13 @@ class NvFieldselect {
|
|
|
19830
20365
|
* @returns {HTMLStencilElement} The HTML element to render.
|
|
19831
20366
|
*/
|
|
19832
20367
|
render() {
|
|
19833
|
-
return (hAsync(Host, { key: '
|
|
20368
|
+
return (hAsync(Host, { key: 'ff869c177289342a39ae292a530359af940a5669' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '10815f70059de9b1774ccc26b69d441d250e1833', htmlFor: this.inputId }, hAsync("slot", { key: 'afe78cd3671151060fd1e2a37b77c164767908fa', name: "label" }, this.label))), hAsync("div", { key: '064d8f512bc5f11831096d3a092afb00dcfeb1bc', class: "select-wrapper" }, hAsync("slot", { key: 'c12d375bc5a558d25f1eb34343e2ad5fce784558', name: "before-input" }), hAsync("div", { key: 'ffb39cfc0444edc49a4e2b6318990085009d7598', class: "select-container", onClick: this.handleSelectContainerClick }, hAsync("slot", { key: 'd5fccac0e92fe0553b8478a6f5dc9be4591e8c23', name: "leading-input" }), this.internalReadonly && (hAsync("input", { key: '94dc05d08de8120c78fa140df5eb3adc09ce97da', id: this.inputId + '-readonly', type: "text", value: this.computedDisplayValue, readonly: true, class: "readonly-input", "aria-readonly": "true", "aria-label": this.label, "aria-describedby": this.error
|
|
19834
20369
|
? `${this.inputId}-error`
|
|
19835
|
-
: `${this.inputId}-description` })), hAsync("select", { key: '
|
|
20370
|
+
: `${this.inputId}-description` })), hAsync("select", { key: '85ffba58429aaa393cc9178e0866a61f85d92103', id: this.inputId, ref: el => (this.selectElement = el), name: this.name, autofocus: this.autofocus, disabled: this.disabled, required: this.required, multiple: this.multiple, onChange: this.handleSelectChange, class: this.internalReadonly ? 'hidden' : '', "aria-label": this.label, "aria-describedby": this.error
|
|
19836
20371
|
? `${this.inputId}-error`
|
|
19837
|
-
: `${this.inputId}-description` }, this.parsedOptions.length > 0 ? (this.parsedOptions.map(option => (hAsync("option", { value: option.value, selected: option.selected, disabled: option.disabled }, option.label)))) : (hAsync("slot", null))), hAsync("div", { key: '
|
|
19838
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
19839
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
20372
|
+
: `${this.inputId}-description` }, this.parsedOptions.length > 0 ? (this.parsedOptions.map(option => (hAsync("option", { value: option.value, selected: option.selected, disabled: option.disabled }, option.label)))) : (hAsync("slot", null))), hAsync("div", { key: '694b0306ddaf671faea9dd863bb7f2917b567ffb', class: "select-icons" }, this.error && (hAsync("nv-icon", { key: '4f86b0916dcbfefb24af5e5e2c0ca009ece6193b', name: "alert-circle", class: "validation", size: "md" })), this.success && (hAsync("nv-icon", { key: 'f99ba37d4a70b7c352b4abb0be0b5eb85b4cc947', name: "circle-check", class: "validation", size: "md" })), !this.multiple && (hAsync("nv-iconbutton", { key: 'b152a3b110b0f780b29adcf1efb4aadf98cf81be', name: "chevron-down", size: "md", emphasis: "lower", tabindex: -1 })))), hAsync("slot", { key: '63c6076165bae5d36732179c4a761d5b381076b5', name: "after-input" })), (this.description ||
|
|
20373
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'dd3e41b62290c580e050eb5a4742aabc7395cbda', class: "description", id: `${this.inputId}-description` }, hAsync("slot", { key: '87bedab511a8b3d07d6616e4937342b6d272c5f3', name: "description" }, this.description))), (this.errorDescription ||
|
|
20374
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'd4cf69f5f2446fbbf8ed36910d89c3aa7ac2c826', class: "error-description", id: `${this.inputId}-error` }, hAsync("slot", { key: '2fc8b58658bd406af834dcad378b3b00aca40b22', name: "error-description" }, this.errorDescription)))));
|
|
19840
20375
|
}
|
|
19841
20376
|
static get formAssociated() { return true; }
|
|
19842
20377
|
get el() { return getElement(this); }
|
|
@@ -19882,6 +20417,18 @@ class NvFieldselect {
|
|
|
19882
20417
|
/**
|
|
19883
20418
|
* Utility functions for nv-fieldslider.
|
|
19884
20419
|
*/
|
|
20420
|
+
/**
|
|
20421
|
+
* Gets the number of decimal places in a number.
|
|
20422
|
+
* @param {number} num - The number to check
|
|
20423
|
+
* @returns {number} The number of decimal places
|
|
20424
|
+
*/
|
|
20425
|
+
function getDecimalPlaces(num) {
|
|
20426
|
+
if (Number.isInteger(num))
|
|
20427
|
+
return 0;
|
|
20428
|
+
const str = num.toString();
|
|
20429
|
+
const decimalPart = str.split('.')[1];
|
|
20430
|
+
return decimalPart ? decimalPart.length : 0;
|
|
20431
|
+
}
|
|
19885
20432
|
/**
|
|
19886
20433
|
* Clamp a value between min and max.
|
|
19887
20434
|
* @param {number} value - The value to clamp
|
|
@@ -19914,7 +20461,26 @@ function valueToPercent(value, min, max) {
|
|
|
19914
20461
|
*/
|
|
19915
20462
|
function snapToStep(value, min, max, step) {
|
|
19916
20463
|
const clamped = clamp$1(value, min, max);
|
|
19917
|
-
const
|
|
20464
|
+
const decimalPlaces = getDecimalPlaces(step);
|
|
20465
|
+
// To avoid floating point issues in calculations, we can work with integers
|
|
20466
|
+
// by multiplying all values by a power of 10 based on decimal places
|
|
20467
|
+
if (decimalPlaces > 0) {
|
|
20468
|
+
const multiplier = Math.pow(10, decimalPlaces);
|
|
20469
|
+
// Convert to integer-based calculation
|
|
20470
|
+
const scaledValue = Math.round((clamped - min) * multiplier);
|
|
20471
|
+
const scaledStep = Math.round(step * multiplier);
|
|
20472
|
+
// Round to nearest step using integer math
|
|
20473
|
+
const roundedSteps = Math.round(scaledValue / scaledStep);
|
|
20474
|
+
// Calculate snapped value and scale back down
|
|
20475
|
+
const scaledSnapped = roundedSteps * scaledStep;
|
|
20476
|
+
const snapped = min + scaledSnapped / multiplier;
|
|
20477
|
+
// Format to correct decimal places to ensure precision
|
|
20478
|
+
return clamp$1(parseFloat(snapped.toFixed(decimalPlaces)), min, max);
|
|
20479
|
+
}
|
|
20480
|
+
// For integer steps, use the original method
|
|
20481
|
+
const stepsFromMin = (clamped - min) / step;
|
|
20482
|
+
const roundedSteps = Math.round(stepsFromMin);
|
|
20483
|
+
const snapped = min + roundedSteps * step;
|
|
19918
20484
|
return clamp$1(snapped, min, max);
|
|
19919
20485
|
}
|
|
19920
20486
|
/**
|
|
@@ -19955,6 +20521,19 @@ function snapToTicks(value, ticks) {
|
|
|
19955
20521
|
}
|
|
19956
20522
|
return closestTick;
|
|
19957
20523
|
}
|
|
20524
|
+
/**
|
|
20525
|
+
* Format a numeric value for display, preserving trailing zeros based on step precision
|
|
20526
|
+
* @param {number} value - The value to format
|
|
20527
|
+
* @param {number} step - The step size that determines decimal precision
|
|
20528
|
+
* @returns {string} Formatted value string with appropriate decimal places
|
|
20529
|
+
*/
|
|
20530
|
+
function formatValueForDisplay(value, step) {
|
|
20531
|
+
const decimalPlaces = getDecimalPlaces(step);
|
|
20532
|
+
if (decimalPlaces > 0) {
|
|
20533
|
+
return value.toFixed(decimalPlaces);
|
|
20534
|
+
}
|
|
20535
|
+
return String(value);
|
|
20536
|
+
}
|
|
19958
20537
|
|
|
19959
20538
|
/**
|
|
19960
20539
|
* Renders single thumb in standard mode.
|
|
@@ -19962,7 +20541,7 @@ function snapToTicks(value, ticks) {
|
|
|
19962
20541
|
* @returns {JSX.Element} JSX element representing the thumb
|
|
19963
20542
|
*/
|
|
19964
20543
|
const SingleThumb = props => {
|
|
19965
|
-
const { value, min, max, rawPosition, isDragging, snap, disabled, readonly, onKeyDown, labelBeforeValue, labelAfterValue, } = props;
|
|
20544
|
+
const { value, min, max, step, rawPosition, isDragging, snap, disabled, readonly, onKeyDown, labelBeforeValue, labelAfterValue, } = props;
|
|
19966
20545
|
// Use raw position for visual display during dragging, but the snapped value otherwise
|
|
19967
20546
|
let displayPosition = value;
|
|
19968
20547
|
if (isDragging && !snap) {
|
|
@@ -19972,7 +20551,7 @@ const SingleThumb = props => {
|
|
|
19972
20551
|
return (hAsync("div", { class: "thumb", style: { left: `${percent}%` }, role: "slider", "aria-valuemin": min, "aria-valuemax": max, "aria-valuenow": value, "aria-disabled": disabled ? 'true' : undefined, "aria-readonly": readonly ? 'true' : undefined, tabindex: disabled ? -1 : 0, onKeyDown: onKeyDown },
|
|
19973
20552
|
hAsync("div", { class: "thumb-tooltip" },
|
|
19974
20553
|
labelBeforeValue && (hAsync("span", { class: "label-before" }, labelBeforeValue)),
|
|
19975
|
-
|
|
20554
|
+
formatValueForDisplay(value, step),
|
|
19976
20555
|
labelAfterValue && hAsync("span", { class: "label-after" }, labelAfterValue))));
|
|
19977
20556
|
};
|
|
19978
20557
|
|
|
@@ -19982,7 +20561,7 @@ const SingleThumb = props => {
|
|
|
19982
20561
|
* @returns {JSX.Element[]} Array of JSX elements representing the range slider thumbs
|
|
19983
20562
|
*/
|
|
19984
20563
|
const RangeThumb = props => {
|
|
19985
|
-
const { rangeValue, rawRangePosition, activeDragThumb, isDragging, snap, min, max, disabled, readonly, onKeyDown, labelBeforeValue, labelAfterValue, } = props;
|
|
20564
|
+
const { rangeValue, rawRangePosition, activeDragThumb, isDragging, snap, min, max, step, disabled, readonly, onKeyDown, labelBeforeValue, labelAfterValue, } = props;
|
|
19986
20565
|
const [leftValue, rightValue] = rangeValue;
|
|
19987
20566
|
// Use raw positions for visual display during dragging, but the snapped values otherwise
|
|
19988
20567
|
let displayLeftPosition = leftValue;
|
|
@@ -20006,12 +20585,12 @@ const RangeThumb = props => {
|
|
|
20006
20585
|
hAsync("div", { class: "thumb thumb-left", style: { left: `${leftPercent}%` }, role: "slider", "aria-valuemin": min, "aria-valuemax": max, "aria-valuenow": leftValue, "aria-disabled": disabled ? 'true' : undefined, "aria-readonly": readonly ? 'true' : undefined, "data-thumb": "left", tabindex: disabled ? -1 : 0, onKeyDown: onKeyDown },
|
|
20007
20586
|
hAsync("div", { class: "thumb-tooltip" },
|
|
20008
20587
|
labelBeforeValue && (hAsync("span", { class: "label-before" }, labelBeforeValue)),
|
|
20009
|
-
|
|
20588
|
+
formatValueForDisplay(leftValue, step),
|
|
20010
20589
|
labelAfterValue && hAsync("span", { class: "label-after" }, labelAfterValue))),
|
|
20011
20590
|
hAsync("div", { class: "thumb thumb-right", style: { left: `${rightPercent}%` }, role: "slider", "aria-valuemin": min, "aria-valuemax": max, "aria-valuenow": rightValue, "aria-disabled": disabled ? 'true' : undefined, "aria-readonly": readonly ? 'true' : undefined, "data-thumb": "right", tabindex: disabled ? -1 : 0, onKeyDown: onKeyDown },
|
|
20012
20591
|
hAsync("div", { class: "thumb-tooltip" },
|
|
20013
20592
|
labelBeforeValue && (hAsync("span", { class: "label-before" }, labelBeforeValue)),
|
|
20014
|
-
|
|
20593
|
+
formatValueForDisplay(rightValue, step),
|
|
20015
20594
|
labelAfterValue && hAsync("span", { class: "label-after" }, labelAfterValue))),
|
|
20016
20595
|
];
|
|
20017
20596
|
};
|
|
@@ -20520,11 +21099,11 @@ class NvFieldslider {
|
|
|
20520
21099
|
/****************************************************************************/
|
|
20521
21100
|
//#region RENDER
|
|
20522
21101
|
render() {
|
|
20523
|
-
return (hAsync(Host, { key: '
|
|
21102
|
+
return (hAsync(Host, { key: '688357b41179bb99a662b8ea22f2beb7454b0d8c' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '7628e9ac0f304aa792f7c68f3e0b9b96d84583e0', htmlFor: this.startInputId }, hAsync("slot", { key: 'd876dc0602df8badadcfdf435d68356d382c8b25', name: "label" }, this.label))), hAsync("div", { key: '4aedd7863c3d06e4ad7dec800b14f858568bcb79', class: "slider-container" }, this.range ? (hAsync(FieldInput, { range: this.range, hasField: this.hasField, value: this.valueInternal, rangeValue: this.rangeValueInternal, index: 0, inputId: this.startInputId, min: this.min, max: this.max, step: this.step, disabled: this.disabled, readonly: this.readonly, onInput: this.handleFieldChange, labelBeforeValue: this.labelBeforeValue, labelAfterValue: this.labelAfterValue, name: this.name, endName: this.endName })) : null, hAsync("div", { key: '74d455d904614092ed51daf34f73425571b7ca24', class: "track-container" }, hAsync("div", { key: 'a53a1e0f1770006fece64a87ca03a511d0e4dd9d', class: "track", onPointerDown: this.onTrackInteraction }, this.range ? (hAsync(RangeThumb, { rangeValue: this.rangeValueInternal, rawRangePosition: this.rawRangePosition, activeDragThumb: this.activeDragThumb, isDragging: this.isDragging, snap: this.snap, min: this.min, max: this.max, step: this.step, disabled: this.disabled, readonly: this.readonly, onKeyDown: this.onKeyDown, labelBeforeValue: this.labelBeforeValue, labelAfterValue: this.labelAfterValue })) : (hAsync(SingleThumb, { value: this.valueInternal, min: this.min, max: this.max, step: this.step, rawPosition: this.rawPosition, isDragging: this.isDragging, snap: this.snap, disabled: this.disabled, readonly: this.readonly, onKeyDown: this.onKeyDown, labelBeforeValue: this.labelBeforeValue, labelAfterValue: this.labelAfterValue }))), hAsync(TickMarks, { key: 'aafdd02a87071f214d8710d6a0678ee01668609d', ticks: this.internalTicks, min: this.min, max: this.max })), this.range ? (hAsync(FieldInput, { range: this.range, hasField: this.hasField, value: this.valueInternal, rangeValue: this.rangeValueInternal, index: 1, inputId: this.endInputId, min: this.min, max: this.max, step: this.step, disabled: this.disabled, readonly: this.readonly, onInput: this.handleFieldChange, labelBeforeValue: this.labelBeforeValue, labelAfterValue: this.labelAfterValue, name: this.name, endName: this.endName })) : (hAsync(FieldInput, { range: this.range, hasField: this.hasField, value: this.valueInternal, rangeValue: this.rangeValueInternal, inputId: this.startInputId, min: this.min, max: this.max, step: this.step, disabled: this.disabled, readonly: this.readonly, onInput: this.handleFieldChange, labelBeforeValue: this.labelBeforeValue, labelAfterValue: this.labelAfterValue, name: this.name }))), (this.success ||
|
|
20524
21103
|
this.description ||
|
|
20525
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
21104
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '10eb3eb2f7a903af08419df8476c11e27e9e575e', class: "description" }, this.success && (hAsync("nv-icon", { key: 'ee312f8f0563e6dc920e9cbf886784df8c57e719', name: "circle-check", class: "validation", size: "md" })), hAsync("slot", { key: '4ee31b6914ebae20404acd582c27b38b5ad64700', name: "description" }, this.description))), (this.error ||
|
|
20526
21105
|
this.errorDescription ||
|
|
20527
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
21106
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'e37e44dea94b691cbac98d16fb74c5c5cb280c5e', class: "error-description", hidden: !this.error }, this.error && (hAsync("nv-icon", { key: 'c1b403a4848fdcf0e9f51f37ec7454224562ed5c', name: "alert-circle", class: "validation", size: "md" })), hAsync("slot", { key: '87db18643f9473ae30e936fc1a316de95f06c107', name: "error-description" }, this.errorDescription)))));
|
|
20528
21107
|
}
|
|
20529
21108
|
static get formAssociated() { return true; }
|
|
20530
21109
|
get el() { return getElement(this); }
|
|
@@ -20699,9 +21278,9 @@ class NvFieldtext {
|
|
|
20699
21278
|
/****************************************************************************/
|
|
20700
21279
|
//#region RENDER
|
|
20701
21280
|
render() {
|
|
20702
|
-
return (hAsync(Host, { key: '
|
|
20703
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
20704
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
21281
|
+
return (hAsync(Host, { key: '35382ab52aa48116fbedc7683aff4729f06f5969' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '6f849db1b7603fc4de4fb23075fd7daa72438dd2', htmlFor: this.inputId }, hAsync("slot", { key: '24bc67fe3a8de24a8601a2cf3c5afd2532e17c4a', name: "label" }, this.label))), hAsync("div", { key: '8ffd2d0f048082c71a76054842fffd22452b9ad2', class: "input-wrapper" }, hAsync("slot", { key: '478020c16e29399dcc6566651f88acc8d88ef36d', name: "before-input" }), hAsync("div", { key: '1aa0bac3947bdff209268619202ccc38da691761', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: '369b5f0a4c4d1d16217ad5de9221273ece41e1f0', name: "leading-input" }), hAsync("input", { key: '91446fe15f48f45693f56b3fd21926b8114c1dca', 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 }), hAsync("slot", { key: '505a9ed004c4492f8daaef9a92bcaf344e2a10fb', name: "trailing-input" }), this.error && (hAsync("nv-icon", { key: 'c1e9ecd4f901862391daa6c9f5c75d3c1b81810f', name: "alert-circle", class: "validation", size: "md" })), this.success && (hAsync("nv-icon", { key: '15a452bdbbb386a51e4fe51370bd09521cc6f47f', name: "circle-check", class: "validation", size: "md" }))), hAsync("slot", { key: '7e7e3969dd6f3d1b80eab00ac966f7ba9f13895c', name: "after-input" })), (this.description ||
|
|
21282
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'b4ca95846a8fdf68e95d602968506bf009f9334f', class: "description" }, hAsync("slot", { key: 'fce329e819b837318b2d9bf9e16a8ef886aa940a', name: "description" }, this.description))), (this.errorDescription ||
|
|
21283
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'c3800ac457b5f0f87a3bdf9e9e37a36f5905786c', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: 'f77d02598ba261bf2b48b16ecfa3fc15fe221599', name: "error-description" }, this.errorDescription)))));
|
|
20705
21284
|
}
|
|
20706
21285
|
static get formAssociated() { return true; }
|
|
20707
21286
|
get el() { return getElement(this); }
|
|
@@ -20921,9 +21500,9 @@ class NvFieldtextarea {
|
|
|
20921
21500
|
/****************************************************************************/
|
|
20922
21501
|
//#region RENDER
|
|
20923
21502
|
render() {
|
|
20924
|
-
return (hAsync(Host, { key: '
|
|
20925
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
20926
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
21503
|
+
return (hAsync(Host, { key: '2b054e4460ac1532cb2006feaa3930abc8e21505' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '5058a7c4a77a37336bcc58fd6b727f1f9564d7b2', htmlFor: this.inputId }, hAsync("slot", { key: '0c5abb11d0c2377b702ae1614134e28e53a6e1e2', name: "label" }, this.label))), hAsync("div", { key: 'e6d9981eaab913b3cf04fd99e0fbd07830fbebff', class: "textarea-wrapper" }, hAsync("div", { key: '23392da0e927d2eb5720fa98499afd2fcb33d840', class: "textarea-container", onClick: this.handleTextareaContainerClick }, hAsync("textarea", { key: '9b9521f4e033002ea346e3054118a114349dd7ee', id: this.inputId, ref: e => (this.textareaElement = e), placeholder: this.placeholder, autofocus: this.autofocus, name: this.name, disabled: this.disabled, readOnly: this.readonly, required: this.required, maxlength: this.maxlength, minlength: this.minlength, autocomplete: "off", value: this.value, onInput: this.handleTextarea, rows: this.rows, class: clsx(this.resize === 'none' && 'resize-none', this.resize === 'vertical' && 'resize-y', this.resize === 'horizontal' && 'resize-x', this.resize === 'both' && 'resize') }))), (this.description ||
|
|
21504
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '27411a39625e1f03bbe23ae52ceadb04ab0afd4e', class: "description" }, hAsync("slot", { key: '56a5e1a95376899525911e096ded708a4987711d', name: "description" }, this.description))), (this.errorDescription ||
|
|
21505
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '2336848d28c0d67c95607da5bcab3348c4c15e0a', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: 'a200628a9ed75402395e415eab743afddf0a5d27', name: "error-description" }, this.errorDescription)))));
|
|
20927
21506
|
}
|
|
20928
21507
|
static get formAssociated() { return true; }
|
|
20929
21508
|
get el() { return getElement(this); }
|
|
@@ -20979,7 +21558,7 @@ function startsWithIgnoreCase(str, prefix) {
|
|
|
20979
21558
|
return str.toLowerCase().startsWith(prefix.toLowerCase());
|
|
20980
21559
|
}
|
|
20981
21560
|
|
|
20982
|
-
const nvFieldtimeCss = "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-fieldtime{--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-fieldtime[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-fieldtime[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-fieldtime[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-fieldtime[required]:not([required=false]) label::after{content:\"*\";color:var(--components-form-text-required);font-weight:700}nv-fieldtime 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-fieldtime nv-popover{width:100%;display:block}nv-fieldtime nv-popover [data-scope=popover]{padding:var(--list-dropdown-padding);background-color:var(--components-list-dropdown-background);border:1px solid var(--components-list-dropdown-border);width:100%}nv-fieldtime .input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch;width:100%}nv-fieldtime .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;display:flex;justify-content:flex-start;align-items:center;position:relative;width:100%;min-height:40px;gap:0;padding-left:var(--form-field-padding-x)}nv-fieldtime .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldtime .input-container:focus-within,nv-fieldtime .input-container:focus-within:hover,nv-fieldtime .input-container:focus,nv-fieldtime .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-fieldtime .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-fieldtime .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldtime .input-container input.time-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%;min-width:24px;flex:0 0 24px;text-align:center;padding:0;margin:0}nv-fieldtime .input-container input.time-input:focus{outline:none}nv-fieldtime .input-container input.time-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-fieldtime .input-container input.time-input[type=password]::-ms-clear,nv-fieldtime .input-container input.time-input[type=password]::-ms-reveal{display:none;width:0;height:0}nv-fieldtime .input-container input.time-input::-webkit-inner-spin-button,nv-fieldtime .input-container input.time-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}nv-fieldtime .input-container span{width:100%;text-align:center;min-width:24px;flex:0 0 24px;padding:0 4px;color:var(--components-form-field-content-text)}nv-fieldtime .input-container>nv-iconbutton{border:0px;border-radius:0px;margin-left:auto}nv-fieldtime .input-container>nv-iconbutton:focus-visible{border-radius:var(--button-md-border-radius);outline-offset:-3px}nv-fieldtime .input-container nv-icon.validation{color:var(--nv-field-border-default);position:absolute;right:50px;top:50%;transform:translateY(-50%)}nv-fieldtime .input-container:focus,nv-fieldtime .input-container:focus-within{border-color:var(--color-focus-brand);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--color-focus-brand)}nv-fieldtime .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-fieldtime .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-fieldtime hr{border:none;border-top:1px solid var(--dropdown-divider-color, #ccc);margin:0.5rem 0}nv-fieldtime .time-dropdown{width:100%}nv-fieldtime .time-dropdown .time-columns{display:flex;justify-content:flex-start;align-items:center}nv-fieldtime .time-dropdown .time-columns .time-column{flex:1;text-align:center;padding-right:2px;max-height:200px;overflow-y:auto;scroll-behavior:smooth;scrollbar-gutter:stable both-edges}nv-fieldtime .time-dropdown .time-columns .time-column::-webkit-scrollbar{width:6px;height:6px}nv-fieldtime .time-dropdown .time-columns .time-column::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}nv-fieldtime .time-dropdown .time-columns .time-column::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}nv-fieldtime .time-dropdown .time-columns .time-column:last-child{border-right:none}nv-fieldtime .time-dropdown .time-columns .time-column .time-option{padding:var(--list-dropdown-item-padding-y) var(--list-dropdown-item-padding-x);text-align:center;cursor:pointer;transition:background-color 0.2s;height:40px;border-radius:var(--list-dropdown-item-radius);display:flex;justify-content:center;align-items:center}nv-fieldtime .time-dropdown .time-columns .time-column .time-option:hover{background-color:var(--components-list-dropdown-item-background-hover);color:var(--components-list-dropdown-item-label-hover)}nv-fieldtime .time-dropdown .time-columns .time-column .time-option:focus,nv-fieldtime .time-dropdown .time-columns .time-column .time-option:focus-within{background-color:var(--components-list-dropdown-item-background-hover);color:var(--components-list-dropdown-item-label-hover)}nv-fieldtime .time-dropdown .time-columns .time-column .time-option.selected{background-color:var(--components-list-dropdown-item-background-active);color:var(--components-list-dropdown-item-label-active);border-width:1px;border-style:solid;border-color:var(--components-list-dropdown-item-border-active)}nv-fieldtime .time-dropdown .time-columns .time-column .time-option.highlighted{background-color:var(--components-list-dropdown-item-background-hover);color:var(--components-menu-contextual-item-content-hover)}";
|
|
21561
|
+
const nvFieldtimeCss = "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-fieldtime{--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-fieldtime[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-fieldtime[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-fieldtime[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-fieldtime[required]:not([required=false]) label::after{content:\"*\";color:var(--components-form-text-required);font-weight:700}nv-fieldtime 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-fieldtime nv-popover{width:100%;display:block}nv-fieldtime nv-popover [data-scope=popover]{padding:var(--list-dropdown-padding);background-color:var(--components-list-dropdown-background);border:1px solid var(--components-list-dropdown-border);width:100%}nv-fieldtime .input-wrapper{display:flex;flex-wrap:wrap;gap:var(--form-gap-x);align-items:stretch;align-self:stretch;width:100%}nv-fieldtime .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;display:flex;justify-content:flex-start;align-items:center;position:relative;width:100%;min-height:40px;gap:0;padding-left:var(--form-field-padding-x)}nv-fieldtime .input-container:hover{border-color:var(--nv-field-border-hover)}nv-fieldtime .input-container:focus-within,nv-fieldtime .input-container:focus-within:hover,nv-fieldtime .input-container:focus,nv-fieldtime .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-fieldtime .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-fieldtime .input-container:has(input:disabled){opacity:0.5;background-color:var(--components-form-field-background-disabled);border-color:var(--nv-field-border-disabled)}nv-fieldtime .input-container input.time-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%;min-width:24px;flex:0 0 24px;text-align:center;padding:0;margin:0}nv-fieldtime .input-container input.time-input:focus{outline:none}nv-fieldtime .input-container input.time-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-fieldtime .input-container input.time-input[type=password]::-ms-clear,nv-fieldtime .input-container input.time-input[type=password]::-ms-reveal{display:none;width:0;height:0}nv-fieldtime .input-container input.time-input::-webkit-inner-spin-button,nv-fieldtime .input-container input.time-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}nv-fieldtime .input-container span{width:100%;text-align:center;min-width:24px;flex:0 0 24px;padding:0 4px;color:var(--components-form-field-content-text)}nv-fieldtime .input-container>nv-iconbutton{border:0px;border-radius:0px;margin-left:auto}nv-fieldtime .input-container>nv-iconbutton:focus-visible{border-radius:var(--button-md-border-radius);outline-offset:-3px}nv-fieldtime .input-container nv-icon.validation{color:var(--nv-field-border-default);position:absolute;right:50px;top:50%;transform:translateY(-50%)}nv-fieldtime .input-container:focus,nv-fieldtime .input-container:focus-within{border-color:var(--color-focus-brand);box-shadow:0px 0px 0px var(--focus-field-stroke) var(--color-focus-brand)}nv-fieldtime .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-fieldtime .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-fieldtime hr{border:none;border-top:1px solid var(--dropdown-divider-color, #ccc);margin:0.5rem 0}nv-fieldtime .time-dropdown{width:100%}nv-fieldtime .time-dropdown .time-columns{display:flex;justify-content:flex-start;align-items:center}nv-fieldtime .time-dropdown .time-columns .time-column{flex:1;text-align:center;max-height:200px;overflow-y:auto;scroll-behavior:smooth;scrollbar-gutter:stable both-edges;scrollbar-gutter:auto}nv-fieldtime .time-dropdown .time-columns .time-column::-webkit-scrollbar{width:6px;height:6px}nv-fieldtime .time-dropdown .time-columns .time-column::-webkit-scrollbar-track{background-color:var(--color-level-10-background);border-radius:9999px}nv-fieldtime .time-dropdown .time-columns .time-column::-webkit-scrollbar-thumb{background-color:var(--color-gray-200);border-radius:9999px}nv-fieldtime .time-dropdown .time-columns .time-column:last-child{border-right:none}nv-fieldtime .time-dropdown .time-columns .time-column .time-option{padding:var(--calendar-padding);text-align:center;cursor:pointer;transition:background-color 0.2s;border-radius:var(--list-dropdown-item-radius);color:var(--components-calendar-cell-text);font-size:var(--font-size-sm);display:flex;justify-content:center;align-items:center}nv-fieldtime .time-dropdown .time-columns .time-column .time-option:hover{background-color:var(--components-calendar-cell-background-hover);color:var(--components-calendar-cell-text-hover)}nv-fieldtime .time-dropdown .time-columns .time-column .time-option:focus,nv-fieldtime .time-dropdown .time-columns .time-column .time-option:focus-within{background-color:var(--components-calendar-cell-background-hover);color:var(--components-calendar-cell-text-hover)}nv-fieldtime .time-dropdown .time-columns .time-column .time-option.selected{background-color:var(--components-calendar-cell-background-selected);color:var(--components-calendar-cell-text-selected)}nv-fieldtime .time-dropdown .time-columns .time-column .time-option.highlighted{background-color:var(--components-calendar-cell-background-hover);color:var(--components-menu-contextual-item-content-hover)}";
|
|
20983
21562
|
var NvFieldtimeStyle0 = nvFieldtimeCss;
|
|
20984
21563
|
|
|
20985
21564
|
/**
|
|
@@ -21951,26 +22530,26 @@ class NvFieldtime {
|
|
|
21951
22530
|
}, key: `${option}-${index}`, onClick: e => this.handleTimeOptionClick(e, type) }, option)))));
|
|
21952
22531
|
}
|
|
21953
22532
|
render() {
|
|
21954
|
-
return (hAsync(Host, { key: '
|
|
21955
|
-
hAsync("input", { key: '
|
|
22533
|
+
return (hAsync(Host, { key: 'a8d08a4dac97430398e3f769f353e91ef08de9c0', onclick: e => this.handleHostClick(e) }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'e7d4a858f6194f085144fd59894ad54220a17a03', htmlFor: this.inputId }, hAsync("slot", { key: '69901d62cdd32e3d7d1efe14066ef5ab42eed0d5', name: "label" }, this.label))), hAsync("nv-popover", { key: '2541a920b4ce7b98515c58867ab1ab25d9cace9d', ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { key: '2f501df272714fd912b0d0981c27db89b46ae424', class: "input-wrapper", slot: "trigger" }, hAsync("slot", { key: '41ee670692e5facaa0ddd065a2a79a66825d207b', name: "before-input" }), hAsync("div", { key: '24e41277073946b78ae4d1f8f38173045e699845', class: "input-container" }, hAsync("slot", { key: '6db3ce5df588697b9183225be3b603a3b51a156f', name: "leading-input" }), startsWithIgnoreCase(this.format, 'HH') && [
|
|
22534
|
+
hAsync("input", { key: 'ee093f322342ac3572ad76c48ebc2ecbed63ac01', ref: el => (this.inputElements[TimeType.Hours] = el), type: "number", autofocus: this.autofocus, class: "time-input", pattern: "[0-9]*", maxlength: "3", value: this.hours, onInput: e => this.handleInputChange(e, TimeType.Hours), placeholder: this.format.includes('hh') ? 'hh' : 'HH', inputMode: "numeric", onFocus: () => this.handleFocus(TimeType.Hours), name: this.name
|
|
21956
22535
|
? `${TimeType.Hours}-${this.name}`
|
|
21957
22536
|
: TimeType.Hours, id: this.inputId, readonly: this.readonly, disabled: this.disabled, required: this.required, onKeyDown: e => this.handleKeyDown(e), onBlur: () => this.handleInputBlur() }),
|
|
21958
22537
|
], this.format.includes('mm') && [
|
|
21959
|
-
hAsync("span", { key: '
|
|
21960
|
-
hAsync("input", { key: '
|
|
22538
|
+
hAsync("span", { key: '9cec44d707277c298ba7a70934e1593a12207799' }, ":"),
|
|
22539
|
+
hAsync("input", { key: '2acaf3b143f0f5e9e04005213bdfe9ea5334bf53', ref: el => (this.inputElements[TimeType.Minutes] = el), type: "number", autofocus: this.autofocus, class: "time-input", pattern: "[0-9]*", maxlength: "3", value: this.minutes, onInput: e => this.handleInputChange(e, TimeType.Minutes), placeholder: "mm", inputMode: "numeric", onFocus: () => this.handleFocus(TimeType.Minutes), name: this.name
|
|
21961
22540
|
? `${TimeType.Minutes}-${this.name}`
|
|
21962
22541
|
: TimeType.Minutes, id: `${this.inputId}-minutes`, readonly: this.readonly, disabled: this.disabled, required: this.required, onKeyDown: e => this.handleKeyDown(e), onBlur: () => this.handleInputBlur() }),
|
|
21963
22542
|
], this.format.includes('ss') && [
|
|
21964
|
-
hAsync("span", { key: '
|
|
21965
|
-
hAsync("input", { key: '
|
|
22543
|
+
hAsync("span", { key: '07e0b374bdcad92339c4ddc10d71cc963a8a71ff' }, ":"),
|
|
22544
|
+
hAsync("input", { key: '84838544717af0bc967258d91fbee2748072be4f', ref: el => (this.inputElements[TimeType.Seconds] = el), type: "number", autofocus: this.autofocus, class: "time-input", pattern: "[0-9]*", maxlength: "3", value: this.seconds, onInput: e => this.handleInputChange(e, TimeType.Seconds), placeholder: "ss", inputMode: "numeric", onFocus: () => this.handleFocus(TimeType.Seconds), name: this.name
|
|
21966
22545
|
? `${TimeType.Seconds}-${this.name}`
|
|
21967
22546
|
: TimeType.Seconds, id: `${this.inputId}-seconds`, readonly: this.readonly, disabled: this.disabled, required: this.required, onKeyDown: e => this.handleKeyDown(e), onBlur: () => this.handleInputBlur() }),
|
|
21968
|
-
], hAsync("nv-iconbutton", { key: '
|
|
22547
|
+
], hAsync("nv-iconbutton", { key: 'ec8d0d5c7eb9aa720deef07f23c712287246f3a8', name: 'clock', size: "md", emphasis: "lower", "aria-label": this.open ? 'Hide time picker' : 'Show time picker', "aria-pressed": this.open.toString(), onClick: () => this.HandleDropdownIconClick() }), this.error && (hAsync("nv-icon", { key: 'dbef458469153ef93ad94903a2bcf439f6243d40', name: "alert-circle", class: "validation", size: "sm" })), this.success && (hAsync("nv-icon", { key: '3dfb5e5b32dc91ebe53502f9117f628ae79bf57c', name: "circle-check", class: "validation", size: "sm" }))), hAsync("slot", { key: '744e72f9c7828f8487f58265dac564670ba26329', name: "after-input" })), hAsync("div", { key: '72dc9823125b9109bc27e049936007e796a97a06', class: "time-dropdown", slot: "content" }, hAsync("div", { key: '1b1f8241a25500cf9ce22ebea20becd6882760cc', class: "time-columns" }, startsWithIgnoreCase(this.format, 'HH') &&
|
|
21969
22548
|
this.RenderTimeOptionsColumn(TimeType.Hours), this.format.includes('mm') &&
|
|
21970
22549
|
this.RenderTimeOptionsColumn(TimeType.Minutes), this.format.includes('ss') &&
|
|
21971
22550
|
this.RenderTimeOptionsColumn(TimeType.Seconds)))), (this.description ||
|
|
21972
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
21973
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
22551
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '57985d7f2626853a24db80d56607b5453b00b6c9', class: "description" }, hAsync("slot", { key: 'ba3383c066c6bcac3b1e6183b84528723de9cddc', name: "description" }, this.description))), (this.errorDescription ||
|
|
22552
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '6f02373e082fcc7e34e0d35441783122cd7c0266', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: '43508d63829f53f5b5c718f1a112abbe5919b900', name: "error-description" }, this.errorDescription)))));
|
|
21974
22553
|
}
|
|
21975
22554
|
static get formAssociated() { return true; }
|
|
21976
22555
|
get el() { return getElement(this); }
|
|
@@ -22075,7 +22654,7 @@ class NvIcon {
|
|
|
22075
22654
|
/****************************************************************************/
|
|
22076
22655
|
//#region RENDER
|
|
22077
22656
|
render() {
|
|
22078
|
-
return (hAsync(Host, { key: '
|
|
22657
|
+
return (hAsync(Host, { key: '8cb4ada2454c7e9676cd088397eb4416ccab2d82', class: clsx(this.color && `${this.color}`), role: "img", "aria-label": `${this.name}-icon` }, hAsync("svg", { key: '4934c79fa096935be509ff6a641361dac44a4a9f', stroke: "currentColor", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: `nv-icon-${this.size}` }, hAsync("use", { key: '54e429910d5f9916f98e4cdef0be5f2f620df51e', href: `#${this.name}` }))));
|
|
22079
22658
|
}
|
|
22080
22659
|
static get style() { return NvIconStyle0; }
|
|
22081
22660
|
static get cmpMeta() { return {
|
|
@@ -22219,7 +22798,7 @@ class NvIconbutton {
|
|
|
22219
22798
|
/****************************************************************************/
|
|
22220
22799
|
//#region RENDER
|
|
22221
22800
|
render() {
|
|
22222
|
-
return (hAsync(Host, { key: '
|
|
22801
|
+
return (hAsync(Host, { key: 'a59a26804e97dfbacf40fae6678b3b3ba66440a9', role: "button", type: this.type, tabindex: "0", disabled: this.disabled ? true : undefined, class: clsx('root', `size-${this.size}`, `emphasis-${this.emphasis}`, this.loading && 'loading', `shape-${this.shape}`), onClick: this.handleClick }, this.loading && hAsync("nv-loader", { key: '7cbe3502ff1c6fd76f7a9ab68128f5d5a0bbf7fa', size: this.size }), !this.loading && hAsync("nv-icon", { key: '46cbb9c609991ea27316b8909551d303559652fc', name: this.name, size: this.size }), hAsync("slot", { key: 'd2ca8959b7be7600e56fe23437e5da07d58985c2' })));
|
|
22223
22802
|
}
|
|
22224
22803
|
static get formAssociated() { return true; }
|
|
22225
22804
|
get el() { return getElement(this); }
|
|
@@ -22267,7 +22846,7 @@ class NvLoader {
|
|
|
22267
22846
|
//#region RENDER
|
|
22268
22847
|
/* <slot> empty to force rendering change */
|
|
22269
22848
|
render() {
|
|
22270
|
-
return (hAsync(Host, { key: '
|
|
22849
|
+
return (hAsync(Host, { key: '049afa243c1ce99643408d86afa99e69c5468b8b', class: clsx(this.size && `size-${this.size}`, this.color && `color-${this.color}`) }));
|
|
22271
22850
|
}
|
|
22272
22851
|
static get style() { return NvLoaderStyle0; }
|
|
22273
22852
|
static get cmpMeta() { return {
|
|
@@ -22478,7 +23057,7 @@ class NvMenu {
|
|
|
22478
23057
|
});
|
|
22479
23058
|
}
|
|
22480
23059
|
render() {
|
|
22481
|
-
return (hAsync(Host, { key: '
|
|
23060
|
+
return (hAsync(Host, { key: '25e38953e8d6e4c591087f3964822eed76cd3775' }, hAsync("slot", { key: 'f6ad4e16d740129dc296a3e0b2c5dffdd063b182', name: "trigger" }), hAsync("nv-popover", { key: 'c355356a877bb0cedfd69bfaf4e724c06612c1e5', ref: el => (this.popoverElement = el), triggerMode: "click", triggerElement: this.triggerElement, placement: this.placement, nested: this.nested, open: this.open }, this.items ? (hAsync("ul", { slot: "content" }, this.renderMenuItems())) : (hAsync("slot", { name: "content" })))));
|
|
22482
23061
|
}
|
|
22483
23062
|
get el() { return getElement(this); }
|
|
22484
23063
|
static get style() { return NvMenuStyle0; }
|
|
@@ -22549,7 +23128,7 @@ class NvMenuitem {
|
|
|
22549
23128
|
/****************************************************************************/
|
|
22550
23129
|
//#region RENDER
|
|
22551
23130
|
render() {
|
|
22552
|
-
return (hAsync(Host, { key: '
|
|
23131
|
+
return (hAsync(Host, { key: '327165c89f4e5decf8dc4b7b28e18562e528056d', role: "menuitem", tabindex: this.disabled ? '-1' : '0' }, this.icon && hAsync("nv-icon", { key: '4247d922bca3797dc3f2917218749a8d3c038df1', name: this.icon }), hAsync("slot", { key: '1f81464ccf47a5bd918873ef70d3d3385e870638' }), this.label && hAsync("span", { key: '113358a0cacfa53710ec0049a8e1c5e981de5b15', "data-scope": "text" }, this.label), this.shortcut && !this.hasSubmenu && hAsync("kbd", { key: 'ee7c773b89bf1f55876cf297600247883cd54937' }, this.shortcut), this.hasSubmenu && hAsync("nv-icon", { key: '70cbe2df51d9fbffe3b474b54e87aa06801acef7', name: "chevron-right" })));
|
|
22553
23132
|
}
|
|
22554
23133
|
get el() { return getElement(this); }
|
|
22555
23134
|
static get style() { return NvMenuitemStyle0; }
|
|
@@ -24934,7 +25513,7 @@ class NvPopover {
|
|
|
24934
25513
|
/****************************************************************************/
|
|
24935
25514
|
//#region RENDER
|
|
24936
25515
|
render() {
|
|
24937
|
-
return (hAsync(Host, { key: '
|
|
25516
|
+
return (hAsync(Host, { key: '27f6f8acc148b3dc2b16a391c54a4a1de0637a57' }, hAsync("slot", { key: 'd25614b3bfc5565d3729da11f6f83b4d92e83e19', name: "trigger" }), hAsync("div", { key: '3b777862573405b2bb2a377750d9bb859a4bb20b', "data-scope": "popover", hidden: true, ref: el => (this.popoverElement = el) }, this.hasArrow && (hAsync("div", { key: 'dda88155630bca69ec06a766e2999ed369d5d6c6', "data-scope": "arrow", ref: el => (this.arrowElement = el) })), hAsync("slot", { key: '51eaf873fe239d3c4106e997f6cdd37b1bb29074', name: "content" }))));
|
|
24938
25517
|
}
|
|
24939
25518
|
get el() { return getElement(this); }
|
|
24940
25519
|
static get watchers() { return {
|
|
@@ -24979,7 +25558,7 @@ class NvRow {
|
|
|
24979
25558
|
/****************************************************************************/
|
|
24980
25559
|
//#region RENDER
|
|
24981
25560
|
render() {
|
|
24982
|
-
return (hAsync(Host, { key: '
|
|
25561
|
+
return (hAsync(Host, { key: 'daad5f10b72b95468ac50a3deab7faf87769be42' }, hAsync("slot", { key: '16509b69358739997fe97a45ea9476f30682de2b' })));
|
|
24983
25562
|
}
|
|
24984
25563
|
static get style() { return NvRowStyle0; }
|
|
24985
25564
|
static get cmpMeta() { return {
|
|
@@ -25014,7 +25593,7 @@ class NvStack {
|
|
|
25014
25593
|
/****************************************************************************/
|
|
25015
25594
|
//#region RENDER
|
|
25016
25595
|
render() {
|
|
25017
|
-
return (hAsync(Host, { key: '
|
|
25596
|
+
return (hAsync(Host, { key: '0a93c321e46c7e17ac0efe09556ee4447fec5f74', class: clsx(this.fill && 'nv-stack-fill', this.flex && 'nv-stack-flex', this.full && 'w-full', this.gutter && !this.vertical && `gap-x-${this.gutter}`, this.gutter && this.vertical && `gap-y-${this.gutter}`, this.vertical && 'nv-stack-vertical') }, hAsync("slot", { key: 'faf55f3f579311c333e1ea66f1a19ace98594377' })));
|
|
25018
25597
|
}
|
|
25019
25598
|
static get style() { return NvStackStyle0; }
|
|
25020
25599
|
static get cmpMeta() { return {
|
|
@@ -25351,14 +25930,14 @@ class NvTable {
|
|
|
25351
25930
|
const rows = !this.table || this.table === undefined || this.parsedData.length === 0
|
|
25352
25931
|
? []
|
|
25353
25932
|
: this.table.data;
|
|
25354
|
-
return (hAsync(Host, { key: '
|
|
25933
|
+
return (hAsync(Host, { key: 'a389cee4e6b29cdb852b8b6c0f8fd39926474525' }, hAsync("div", { key: 'ea7629bc0cba0ec1cbe59f6f03ac2527095d9abb', class: "hidden" }, hAsync("slot", { key: 'b070a8e7f54fd3846744bb659447b97547d1c7cf' })), hAsync("slot", { key: 'b0eb0a2d7c98073e88282b1e2e513b9e6a335345', name: "before" }), this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (hAsync("div", { class: "no-data" }, this.noColumnsNoDataMessage)) : (hAsync("table", { class: "table" }, this.parsedColumns.length > 0 && headerGroups.length > 0 && (hAsync("thead", { class: "table-header" }, hAsync("tr", null, headerGroups &&
|
|
25355
25934
|
headerGroups.map(col => {
|
|
25356
25935
|
return (hAsync("th", { key: col.name }, this.renderTemplate(this.headerTemplateCache.get(col.name), {}) || col.header));
|
|
25357
25936
|
})))), hAsync("tbody", { class: "table-body" }, !rows || rows.length === 0 ? (hAsync("tr", null, hAsync("td", { colSpan: headerGroups.length || 12, class: "no-data" }, this.noDataMessage))) : (rows.map(row => (hAsync("tr", { key: JSON.stringify(row) }, headerGroups.map(col => {
|
|
25358
25937
|
var _a;
|
|
25359
25938
|
return (hAsync("td", null, this.renderTemplate(this.templateCache.get(col.name), row) ||
|
|
25360
25939
|
((_a = row[col.name]) !== null && _a !== void 0 ? _a : this.fallbackValue)));
|
|
25361
|
-
})))))))), hAsync("slot", { key: '
|
|
25940
|
+
})))))))), hAsync("slot", { key: '599e4c1663c3a80375e3c511358be381b06eec2f', name: "after" })));
|
|
25362
25941
|
}
|
|
25363
25942
|
get el() { return getElement(this); }
|
|
25364
25943
|
static get watchers() { return {
|
|
@@ -25478,8 +26057,8 @@ class NvToggle {
|
|
|
25478
26057
|
/****************************************************************************/
|
|
25479
26058
|
//#region RENDER
|
|
25480
26059
|
render() {
|
|
25481
|
-
return (hAsync(Host, { key: '
|
|
25482
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
26060
|
+
return (hAsync(Host, { key: '7aac2ef8519d5c033a0e74461755e2286420032a', class: clsx(this.labelPlacement === 'before' && 'label-placement-before') }, hAsync("div", { key: 'fb0f560aff50b9d3c2b75ba2b59dd68012f5af10', class: "input-container" }, hAsync("input", { key: '61ff98c20dec0822979f04ad3b3316fc3caac31f', type: "checkbox", id: this.inputId, name: this.name, autocomplete: "off", value: this.value, checked: Boolean(this.checked), disabled: this.disabled || this.readonly, readonly: this.readonly })), hAsync("div", { key: '543ad351428f6ae60e94bd31e3a7a6922c02e5d4', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '42f764c9c4454cf5b8b1fa88c2c43654170a5222', htmlFor: this.inputId, class: clsx(this.hideLabel && 'visually-hidden') }, hAsync("slot", { key: '125247eeea72b68de829f36ad817a4381541ad07', name: "label" }, this.label))), (this.description ||
|
|
26061
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'a2fcd0d39a8f555e7d6b64879e84ff7f011e4901', class: "description" }, hAsync("slot", { key: '4e7af6b6a0a25fcb4d9529dcb1a32cb7c928c7de', name: "description" }, this.description))))));
|
|
25483
26062
|
}
|
|
25484
26063
|
static get formAssociated() { return true; }
|
|
25485
26064
|
get el() { return getElement(this); }
|
|
@@ -25518,6 +26097,7 @@ var NvTooltipStyle0 = nvTooltipCss;
|
|
|
25518
26097
|
class NvTooltip {
|
|
25519
26098
|
constructor(hostRef) {
|
|
25520
26099
|
registerInstance(this, hostRef);
|
|
26100
|
+
this.openChanged = createEvent(this, "openChanged", 7);
|
|
25521
26101
|
/**
|
|
25522
26102
|
* Decides where the tooltip shows up next to the element it’s linked to
|
|
25523
26103
|
* (above, below, to the sides). If there isn’t enough room, it will adjust
|
|
@@ -25531,7 +26111,7 @@ class NvTooltip {
|
|
|
25531
26111
|
*/
|
|
25532
26112
|
this.enterDelay = 0;
|
|
25533
26113
|
}
|
|
25534
|
-
//#endregion
|
|
26114
|
+
//#endregion EVENTS
|
|
25535
26115
|
/****************************************************************************/
|
|
25536
26116
|
//#region LIFECYCLE
|
|
25537
26117
|
componentWillLoad() {
|
|
@@ -25544,7 +26124,7 @@ class NvTooltip {
|
|
|
25544
26124
|
/****************************************************************************/
|
|
25545
26125
|
//#region RENDER
|
|
25546
26126
|
render() {
|
|
25547
|
-
return (hAsync(Host, { key: '
|
|
26127
|
+
return (hAsync(Host, { key: 'ced39f0ebd3ee8eba520e6d6241728e95031dafc' }, hAsync("slot", { key: '2b65cb626604a29e1924e7eb2bbb4e937c1a9e9c' }), hAsync("nv-popover", { key: 'd4c91e52da651c1545b6d7af98c740e08eeaffbf', triggerMode: "hover", hasArrow: true, placement: this.placement, triggerElement: this.triggerElement, groupName: 'tooltip', enterDelay: this.enterDelay }, hAsync("p", { key: '45805ecf6ffee80f4f81acce2d921ad66585bf2b', slot: "content" }, this.message), hAsync("slot", { key: 'e6a7e80c35c3a87627a50b271c86783fab791338', name: "content" }))));
|
|
25548
26128
|
}
|
|
25549
26129
|
get el() { return getElement(this); }
|
|
25550
26130
|
static get style() { return NvTooltipStyle0; }
|
|
@@ -25564,6 +26144,8 @@ class NvTooltip {
|
|
|
25564
26144
|
}
|
|
25565
26145
|
|
|
25566
26146
|
registerComponents([
|
|
26147
|
+
NvAccordion,
|
|
26148
|
+
NvAccordionItem,
|
|
25567
26149
|
NvAlert,
|
|
25568
26150
|
NvAvatar,
|
|
25569
26151
|
NvBadge,
|