@nova-design-system/nova-webcomponents 3.5.0 → 3.6.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 +194 -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 +59 -50
- 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-fielddate.cjs.entry.js +100 -35
- package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddaterange.cjs.entry.js +4 -4
- 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 +85 -100
- 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 +9 -9
- package/dist/cjs/nv-icon.cjs.entry.js +1 -1
- package/dist/cjs/nv-iconbutton_2.cjs.entry.js +2 -2
- package/dist/cjs/nv-menu.cjs.entry.js +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 +146 -0
- package/dist/collection/components/nv-accordion/nv-accordion.docs.js.map +1 -0
- package/dist/collection/components/nv-accordion/nv-accordion.js +342 -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 +5 -0
- package/dist/collection/components/nv-calendar/nv-calendar.js +55 -27
- 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 +3 -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 +4 -4
- package/dist/collection/components/nv-fielddate/nv-fielddate.js +102 -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 +4 -4
- 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 +1 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js +36 -26
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +117 -115
- 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-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 +242 -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 +107 -41
- package/dist/components/nv-fielddate.js.map +1 -1
- package/dist/components/nv-fielddaterange.js +10 -10
- 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 +94 -110
- 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 +13 -13
- package/dist/components/nv-icon.js +1 -1
- package/dist/components/nv-iconbutton.js +1 -1
- package/dist/components/nv-loader.js +1 -1
- package/dist/components/nv-menu.js +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-1daca48a.js → p-09cdd71f.js} +2 -65
- package/dist/components/p-09cdd71f.js.map +1 -0
- package/dist/components/p-15aeab4d.js +23 -0
- package/dist/components/p-15aeab4d.js.map +1 -0
- package/dist/components/{p-44f0039b.js → p-190c8f60.js} +3 -3
- package/dist/components/{p-44f0039b.js.map → p-190c8f60.js.map} +1 -1
- package/dist/components/p-1cbacdba.js +68 -0
- package/dist/components/p-1cbacdba.js.map +1 -0
- package/dist/components/p-230ad6c5.js +223 -0
- package/dist/components/p-230ad6c5.js.map +1 -0
- package/dist/components/{p-05c19c9a.js → p-316ae8e3.js} +4 -4
- package/dist/components/{p-05c19c9a.js.map → p-316ae8e3.js.map} +1 -1
- package/dist/components/{p-00ac701f.js → p-4069966e.js} +8 -6
- package/dist/components/p-4069966e.js.map +1 -0
- package/dist/components/{p-5bee0141.js → p-436a0f99.js} +6 -5
- package/dist/components/p-436a0f99.js.map +1 -0
- package/dist/components/{p-918bb719.js → p-4864a690.js} +2 -2
- package/dist/components/{p-918bb719.js.map → p-4864a690.js.map} +1 -1
- package/dist/components/{p-4badc1d2.js → p-5e89eb9d.js} +7 -7
- package/dist/components/{p-4badc1d2.js.map → p-5e89eb9d.js.map} +1 -1
- package/dist/components/{p-001c888b.js → p-618ae85a.js} +5 -4
- package/dist/components/p-618ae85a.js.map +1 -0
- package/dist/components/{p-d56b30ab.js → p-79b38dfb.js} +3 -3
- package/dist/components/{p-d56b30ab.js.map → p-79b38dfb.js.map} +1 -1
- package/dist/components/{p-a0d7e0cd.js → p-840858ed.js} +60 -51
- package/dist/components/p-840858ed.js.map +1 -0
- package/dist/components/{p-cebdbb40.js → p-8a5b0f74.js} +3 -3
- package/dist/components/{p-cebdbb40.js.map → p-8a5b0f74.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-42301d8f.js → p-9a263d0e.js} +3 -23
- package/dist/components/p-9a263d0e.js.map +1 -0
- package/dist/components/{p-9f1e8ef3.js → p-9cff2fd1.js} +2 -2
- package/dist/components/{p-9f1e8ef3.js.map → p-9cff2fd1.js.map} +1 -1
- package/dist/components/{p-9e6e26cb.js → p-9ed7a440.js} +5 -5
- package/dist/components/{p-9e6e26cb.js.map → p-9ed7a440.js.map} +1 -1
- package/dist/components/{p-970cd9b1.js → p-ac76a11c.js} +5 -5
- package/dist/components/{p-970cd9b1.js.map → p-ac76a11c.js.map} +1 -1
- 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-e8c083e3.js → p-d2b4441a.js} +3 -3
- package/dist/components/{p-e8c083e3.js.map → p-d2b4441a.js.map} +1 -1
- package/dist/components/{p-e072f051.js → p-f1bbb9e8.js} +2 -2
- package/dist/components/{p-e072f051.js.map → p-f1bbb9e8.js.map} +1 -1
- package/dist/components/{p-919b5237.js → p-f266b533.js} +5 -5
- package/dist/components/{p-919b5237.js.map → p-f266b533.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 +190 -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 +59 -50
- 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-fielddate.entry.js +100 -35
- package/dist/esm/nv-fielddate.entry.js.map +1 -1
- package/dist/esm/nv-fielddaterange.entry.js +4 -4
- 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 +85 -100
- 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 +9 -9
- package/dist/esm/nv-icon.entry.js +1 -1
- package/dist/esm/nv-iconbutton_2.entry.js +2 -2
- package/dist/esm/nv-menu.entry.js +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.esm.js +1 -1
- package/dist/native/native.esm.js.map +1 -1
- 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-0ac03708.entry.js +2 -0
- package/dist/native/p-0ac03708.entry.js.map +1 -0
- package/dist/native/p-0ada0382.entry.js +2 -0
- package/dist/native/p-0ada0382.entry.js.map +1 -0
- package/dist/native/p-1235c007.entry.js +2 -0
- package/dist/native/p-12963ae4.entry.js +2 -0
- package/dist/native/p-12963ae4.entry.js.map +1 -0
- package/dist/native/p-15aeab4d.js +2 -0
- package/dist/native/p-15aeab4d.js.map +1 -0
- package/dist/native/{p-b5b9190a.entry.js → p-18831490.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-1cce9b24.entry.js +2 -0
- package/dist/native/p-1cce9b24.entry.js.map +1 -0
- package/dist/native/{p-914da1e1.entry.js → p-1f932a4b.entry.js} +2 -2
- package/dist/native/{p-6ea1c78b.entry.js → p-2576c1a0.entry.js} +2 -2
- package/dist/native/{p-19f484a0.entry.js → p-2d23fcea.entry.js} +2 -2
- package/dist/native/{p-e9962dac.entry.js → p-31e72603.entry.js} +2 -2
- package/dist/native/p-33e5037d.entry.js +2 -0
- package/dist/native/{p-b9c7b644.entry.js → p-4cf00884.entry.js} +2 -2
- package/dist/native/p-5172f17a.entry.js +2 -0
- package/dist/native/{p-08ca678c.entry.js → p-51a57a3a.entry.js} +2 -2
- package/dist/native/p-5eca22c7.entry.js +2 -0
- package/dist/native/{p-82568ec7.entry.js.map → p-5eca22c7.entry.js.map} +1 -1
- package/dist/native/{p-dd6b1d79.entry.js → p-609b3822.entry.js} +2 -2
- package/dist/native/{p-e293b3fe.entry.js → p-625be06b.entry.js} +2 -2
- package/dist/native/{p-a983e6a0.entry.js → p-8030c16b.entry.js} +2 -2
- 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-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-a6dc9b59.entry.js +2 -0
- package/dist/native/p-a6dc9b59.entry.js.map +1 -0
- package/dist/native/{p-003b6377.entry.js → p-b829383a.entry.js} +2 -2
- package/dist/native/{p-af1e6035.entry.js → p-bab6d0a5.entry.js} +2 -2
- package/dist/native/p-baddee4c.entry.js +7 -0
- package/dist/native/p-baddee4c.entry.js.map +1 -0
- package/dist/native/p-be67545e.entry.js +2 -0
- package/dist/native/p-be67545e.entry.js.map +1 -0
- package/dist/native/{p-dd256ea3.entry.js → p-c2826f22.entry.js} +2 -2
- package/dist/native/p-c9cde996.entry.js +2 -0
- package/dist/native/{p-d4bf2587.entry.js.map → p-c9cde996.entry.js.map} +1 -1
- package/dist/native/{p-54198779.entry.js → p-cf468c67.entry.js} +2 -2
- package/dist/native/{p-a5c72bd3.entry.js → p-ddb0b9f6.entry.js} +2 -2
- package/dist/native/{p-2d98d4f0.entry.js → p-e19a8885.entry.js} +2 -2
- package/dist/native/{p-1e0df2d3.entry.js → p-e802fbb8.entry.js} +2 -2
- package/dist/native/p-ec92ee7a.entry.js +2 -0
- package/dist/native/{p-5b06f4b5.entry.js → p-f9aa4900.entry.js} +2 -2
- package/dist/native/{p-be9aeed4.entry.js → p-fca3e27d.entry.js} +2 -2
- package/dist/native/p-fe4e516b.entry.js +2 -0
- package/dist/native/p-fe4e516b.entry.js.map +1 -0
- package/dist/types/components/nv-accordion/nv-accordion.d.ts +115 -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/partials/calendar-grid.d.ts +4 -2
- package/dist/types/components/nv-dialog/nv-dialog.d.ts +7 -0
- package/dist/types/components/nv-fielddate/nv-fielddate.d.ts +22 -2
- package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +13 -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 +241 -10
- package/dist/vscode-data.json +75 -5
- package/hydrate/index.js +1113 -592
- package/hydrate/index.mjs +1113 -592
- package/package.json +1 -1
- 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-5bee0141.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-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-86ab23ea.entry.js.map → p-1235c007.entry.js.map} +0 -0
- /package/dist/native/{p-b5b9190a.entry.js.map → p-18831490.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-6ea1c78b.entry.js.map → p-2576c1a0.entry.js.map} +0 -0
- /package/dist/native/{p-19f484a0.entry.js.map → p-2d23fcea.entry.js.map} +0 -0
- /package/dist/native/{p-e9962dac.entry.js.map → p-31e72603.entry.js.map} +0 -0
- /package/dist/native/{p-0493c51a.entry.js.map → p-33e5037d.entry.js.map} +0 -0
- /package/dist/native/{p-b9c7b644.entry.js.map → p-4cf00884.entry.js.map} +0 -0
- /package/dist/native/{p-bee972c7.entry.js.map → p-5172f17a.entry.js.map} +0 -0
- /package/dist/native/{p-08ca678c.entry.js.map → p-51a57a3a.entry.js.map} +0 -0
- /package/dist/native/{p-dd6b1d79.entry.js.map → p-609b3822.entry.js.map} +0 -0
- /package/dist/native/{p-e293b3fe.entry.js.map → p-625be06b.entry.js.map} +0 -0
- /package/dist/native/{p-a983e6a0.entry.js.map → p-8030c16b.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-003b6377.entry.js.map → p-b829383a.entry.js.map} +0 -0
- /package/dist/native/{p-af1e6035.entry.js.map → p-bab6d0a5.entry.js.map} +0 -0
- /package/dist/native/{p-dd256ea3.entry.js.map → p-c2826f22.entry.js.map} +0 -0
- /package/dist/native/{p-54198779.entry.js.map → p-cf468c67.entry.js.map} +0 -0
- /package/dist/native/{p-a5c72bd3.entry.js.map → p-ddb0b9f6.entry.js.map} +0 -0
- /package/dist/native/{p-2d98d4f0.entry.js.map → p-e19a8885.entry.js.map} +0 -0
- /package/dist/native/{p-1e0df2d3.entry.js.map → p-e802fbb8.entry.js.map} +0 -0
- /package/dist/native/{p-45cbe6e4.entry.js.map → p-ec92ee7a.entry.js.map} +0 -0
- /package/dist/native/{p-5b06f4b5.entry.js.map → p-f9aa4900.entry.js.map} +0 -0
- /package/dist/native/{p-be9aeed4.entry.js.map → p-fca3e27d.entry.js.map} +0 -0
package/hydrate/index.mjs
CHANGED
|
@@ -2721,263 +2721,209 @@ 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
|
-
|
|
2899
|
-
'
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
|
|
2903
|
-
|
|
2904
|
-
|
|
2905
|
-
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
|
|
2917
|
-
|
|
2918
|
-
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
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.nvChange = createEvent(this, "nvChange", 7);
|
|
2734
|
+
/**
|
|
2735
|
+
* Expansion mode: 'accordion' (single open) or 'multi' (multiple open)
|
|
2736
|
+
*/
|
|
2737
|
+
this.mode = 'accordion';
|
|
2738
|
+
//#endregion PROPERTIES
|
|
2739
|
+
/****************************************************************************/
|
|
2740
|
+
//#region STATE
|
|
2741
|
+
/**
|
|
2742
|
+
* Internal index of open items (not exposed)
|
|
2743
|
+
*/
|
|
2744
|
+
this.internalOpenIndexes = [];
|
|
2745
|
+
/**
|
|
2746
|
+
* Parsed data from data prop
|
|
2747
|
+
*/
|
|
2748
|
+
this.parsedData = [];
|
|
2749
|
+
// Synchronization openIndexes <-> internalOpenIndexes
|
|
2750
|
+
this.itemToggleHandlers = [];
|
|
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.nvChange.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
|
+
// Ignore if using data (handled by itemToggleHandlers)
|
|
2814
|
+
if (this.parsedData && this.parsedData.length > 0)
|
|
2815
|
+
return;
|
|
2816
|
+
// Find the index of the item that emitted the event
|
|
2817
|
+
const items = Array.from(this.el.querySelectorAll('nv-accordion-item'));
|
|
2818
|
+
const targetItem = event.target;
|
|
2819
|
+
const index = items.indexOf(targetItem);
|
|
2820
|
+
if (index !== -1) {
|
|
2821
|
+
// If the event comes from an item that is opening, handle accordion mode
|
|
2822
|
+
if (event.detail === true) {
|
|
2823
|
+
if (this.mode === 'accordion') {
|
|
2824
|
+
// Close all other items
|
|
2825
|
+
items.forEach((item, i) => {
|
|
2826
|
+
if (i !== index && item.open) {
|
|
2827
|
+
item.open = false;
|
|
2828
|
+
}
|
|
2829
|
+
});
|
|
2830
|
+
this.internalOpenIndexes = [index];
|
|
2831
|
+
}
|
|
2832
|
+
else {
|
|
2833
|
+
// Add index to internalOpenIndexes if not already present
|
|
2834
|
+
if (!this.internalOpenIndexes.includes(index)) {
|
|
2835
|
+
this.internalOpenIndexes = [...this.internalOpenIndexes, index];
|
|
2836
|
+
}
|
|
2837
|
+
}
|
|
2838
|
+
}
|
|
2839
|
+
else {
|
|
2840
|
+
// If the item is closing, remove it from internalOpenIndexes
|
|
2841
|
+
this.internalOpenIndexes = this.internalOpenIndexes.filter(i => i !== index);
|
|
2842
|
+
}
|
|
2843
|
+
// Emit nvChange event
|
|
2844
|
+
this.nvChange.emit({ openIndexes: this.internalOpenIndexes });
|
|
2845
|
+
if (this.openIndexes !== undefined) {
|
|
2846
|
+
this.openIndexes =
|
|
2847
|
+
this.mode === 'accordion'
|
|
2848
|
+
? [this.internalOpenIndexes[0]].filter(x => x !== undefined)
|
|
2849
|
+
: [...this.internalOpenIndexes];
|
|
2850
|
+
}
|
|
2851
|
+
}
|
|
2852
|
+
}
|
|
2853
|
+
//#endregion METHODS
|
|
2854
|
+
/****************************************************************************/
|
|
2855
|
+
//#region WATCHERS
|
|
2856
|
+
dataChanged() {
|
|
2857
|
+
this.parseData();
|
|
2858
|
+
}
|
|
2859
|
+
parseData() {
|
|
2860
|
+
if (typeof this.data === 'string') {
|
|
2861
|
+
try {
|
|
2862
|
+
this.parsedData = JSON.parse(this.data);
|
|
2863
|
+
}
|
|
2864
|
+
catch (e) {
|
|
2865
|
+
console.error('nv-accordion: Failed to parse data prop.', e);
|
|
2866
|
+
this.parsedData = [];
|
|
2867
|
+
}
|
|
2868
|
+
}
|
|
2869
|
+
else {
|
|
2870
|
+
this.parsedData = this.data || [];
|
|
2871
|
+
}
|
|
2872
|
+
if (this.parsedData) {
|
|
2873
|
+
this.itemToggleHandlers = this.parsedData.map((_, i) => () => this.toggleItem(i));
|
|
2874
|
+
}
|
|
2875
|
+
}
|
|
2876
|
+
componentWillLoad() {
|
|
2877
|
+
this.parseData();
|
|
2878
|
+
if (this.openIndexes !== undefined) {
|
|
2879
|
+
this.internalOpenIndexes = [...this.openIndexes];
|
|
2880
|
+
}
|
|
2881
|
+
}
|
|
2882
|
+
componentDidLoad() {
|
|
2883
|
+
// If using direct child elements, initialize their state
|
|
2884
|
+
if (!this.parsedData || this.parsedData.length === 0) {
|
|
2885
|
+
this.updateChildrenState();
|
|
2886
|
+
}
|
|
2887
|
+
}
|
|
2888
|
+
componentWillUpdate() {
|
|
2889
|
+
if (this.openIndexes !== undefined) {
|
|
2890
|
+
this.internalOpenIndexes = [...this.openIndexes];
|
|
2891
|
+
}
|
|
2892
|
+
}
|
|
2893
|
+
//#endregion WATCHERS
|
|
2894
|
+
/****************************************************************************/
|
|
2895
|
+
//#region LIFECYCLE
|
|
2896
|
+
//#endregion LIFECYCLE
|
|
2897
|
+
/****************************************************************************/
|
|
2898
|
+
//#region RENDER
|
|
2899
|
+
render() {
|
|
2900
|
+
return (hAsync(Host, { key: '5dcc9ea52a404dff7c4bb176b8a9781019e64bd3', role: "list", class: "nv-accordion" }, this.parsedData && this.parsedData.length > 0 ? (this.parsedData.map((item, i) => {
|
|
2901
|
+
var _a;
|
|
2902
|
+
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), onItemToggle: this.itemToggleHandlers[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)));
|
|
2903
|
+
})) : (hAsync("slot", null))));
|
|
2904
|
+
}
|
|
2905
|
+
get el() { return getElement(this); }
|
|
2906
|
+
static get watchers() { return {
|
|
2907
|
+
"data": ["dataChanged"]
|
|
2908
|
+
}; }
|
|
2909
|
+
static get style() { return NvAccordionStyle0; }
|
|
2910
|
+
static get cmpMeta() { return {
|
|
2911
|
+
"$flags$": 4,
|
|
2912
|
+
"$tagName$": "nv-accordion",
|
|
2913
|
+
"$members$": {
|
|
2914
|
+
"data": [513],
|
|
2915
|
+
"mode": [513],
|
|
2916
|
+
"openIndexes": [1040],
|
|
2917
|
+
"internalOpenIndexes": [32],
|
|
2918
|
+
"parsedData": [32],
|
|
2919
|
+
"open": [64],
|
|
2920
|
+
"close": [64]
|
|
2921
|
+
},
|
|
2922
|
+
"$listeners$": [[0, "itemToggle", "onItemToggle"]],
|
|
2923
|
+
"$lazyBundleId$": "-",
|
|
2924
|
+
"$attrsToReflect$": [["data", "data"], ["mode", "mode"]]
|
|
2925
|
+
}; }
|
|
2926
|
+
}
|
|
2981
2927
|
|
|
2982
2928
|
/******************************************************************************
|
|
2983
2929
|
Copyright (c) Microsoft Corporation.
|
|
@@ -4957,79 +4903,532 @@ const useGrow = (node, { duration = 200, amount = 0.8, hasFade = true } = {}) =>
|
|
|
4957
4903
|
});
|
|
4958
4904
|
});
|
|
4959
4905
|
}
|
|
4960
|
-
/**
|
|
4961
|
-
* Applies the growOut styles without animating, useful when the initial
|
|
4962
|
-
* state is hidden.
|
|
4963
|
-
*/
|
|
4964
|
-
function setGrowOut() {
|
|
4965
|
-
node.style.transform = `scale(${amount})`;
|
|
4966
|
-
if (hasFade) {
|
|
4967
|
-
node.style.opacity = '0';
|
|
4906
|
+
/**
|
|
4907
|
+
* Applies the growOut styles without animating, useful when the initial
|
|
4908
|
+
* state is hidden.
|
|
4909
|
+
*/
|
|
4910
|
+
function setGrowOut() {
|
|
4911
|
+
node.style.transform = `scale(${amount})`;
|
|
4912
|
+
if (hasFade) {
|
|
4913
|
+
node.style.opacity = '0';
|
|
4914
|
+
}
|
|
4915
|
+
}
|
|
4916
|
+
/**
|
|
4917
|
+
* Applies the growIn styles without animating, useful when the initial
|
|
4918
|
+
* state is visible.
|
|
4919
|
+
*/
|
|
4920
|
+
function setGrowIn() {
|
|
4921
|
+
node.style.transform = `scale(1)`;
|
|
4922
|
+
if (hasFade) {
|
|
4923
|
+
node.style.opacity = '1';
|
|
4924
|
+
}
|
|
4925
|
+
}
|
|
4926
|
+
/**
|
|
4927
|
+
* Will animate the scale and optionally the opacity to make the element shrink and fade out,
|
|
4928
|
+
* leaving the scale and opacity styles on the element.
|
|
4929
|
+
*/
|
|
4930
|
+
function growOut() {
|
|
4931
|
+
return new Promise(resolve => {
|
|
4932
|
+
animate({
|
|
4933
|
+
from: { opacity: 1, scale: 1 },
|
|
4934
|
+
to: { opacity: hasFade ? 0 : 1, scale: amount },
|
|
4935
|
+
duration,
|
|
4936
|
+
onUpdate(latest) {
|
|
4937
|
+
const updates = {
|
|
4938
|
+
scale: latest.scale,
|
|
4939
|
+
};
|
|
4940
|
+
if (hasFade) {
|
|
4941
|
+
updates['opacity'] = latest.opacity;
|
|
4942
|
+
}
|
|
4943
|
+
nodeStyler.set(updates);
|
|
4944
|
+
},
|
|
4945
|
+
onComplete() {
|
|
4946
|
+
resolve();
|
|
4947
|
+
},
|
|
4948
|
+
});
|
|
4949
|
+
});
|
|
4950
|
+
}
|
|
4951
|
+
return {
|
|
4952
|
+
growIn,
|
|
4953
|
+
growOut,
|
|
4954
|
+
setGrowOut,
|
|
4955
|
+
setGrowIn,
|
|
4956
|
+
};
|
|
4957
|
+
};
|
|
4958
|
+
|
|
4959
|
+
/**
|
|
4960
|
+
* Will execute a series of animation promises in sequence.
|
|
4961
|
+
* This is useful for chaining animations where each step depends on the
|
|
4962
|
+
* previous one completing before starting the next.
|
|
4963
|
+
*
|
|
4964
|
+
* @param {Array<() => Promise<void>>} animations - The array of animation functions.
|
|
4965
|
+
* @returns {Object} - An object with a `start` method to begin the timeline.
|
|
4966
|
+
*
|
|
4967
|
+
* @example
|
|
4968
|
+
* const { fadeOut } = useFade(this.ref);
|
|
4969
|
+
* const { collapse } = useCollapse(this.ref);
|
|
4970
|
+
*
|
|
4971
|
+
* timeline(fadeOut, collapse).start();
|
|
4972
|
+
*/
|
|
4973
|
+
const timeline = (...animations) => ({
|
|
4974
|
+
start: () => {
|
|
4975
|
+
return animations.reduce((promise, animation) => promise.then(() => animation()), Promise.resolve());
|
|
4976
|
+
},
|
|
4977
|
+
});
|
|
4978
|
+
|
|
4979
|
+
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)}";
|
|
4980
|
+
var NvAccordionItemStyle0 = nvAccordionItemCss;
|
|
4981
|
+
|
|
4982
|
+
/**
|
|
4983
|
+
* Accordion item element for nv-accordion.
|
|
4984
|
+
*
|
|
4985
|
+
* @slot header - Custom header (replaces itemtitle/subtitle)
|
|
4986
|
+
* @slot content - Main content (expandable area)
|
|
4987
|
+
*/
|
|
4988
|
+
class NvAccordionItem {
|
|
4989
|
+
constructor(hostRef) {
|
|
4990
|
+
registerInstance(this, hostRef);
|
|
4991
|
+
this.itemToggle = createEvent(this, "itemToggle", 7);
|
|
4992
|
+
/** Open or closed */
|
|
4993
|
+
this.open = false;
|
|
4994
|
+
/** Disables the item */
|
|
4995
|
+
this.disabled = false;
|
|
4996
|
+
/** Parent expansion mode (accordion or multi) */
|
|
4997
|
+
this.mode = 'accordion';
|
|
4998
|
+
//#endregion EVENTS
|
|
4999
|
+
/****************************************************************************/
|
|
5000
|
+
//#region STATE
|
|
5001
|
+
/** Internal state for open/close rendering */
|
|
5002
|
+
this.currentOpenState = false;
|
|
5003
|
+
/**
|
|
5004
|
+
* Controls if the panel has been initialized for animations
|
|
5005
|
+
*/
|
|
5006
|
+
this.isInitialized = false;
|
|
5007
|
+
/**
|
|
5008
|
+
* Animation in progress
|
|
5009
|
+
*/
|
|
5010
|
+
this.isAnimating = false;
|
|
5011
|
+
/**
|
|
5012
|
+
* Handler for header click
|
|
5013
|
+
*/
|
|
5014
|
+
this.handleHeaderClick = () => {
|
|
5015
|
+
this.toggle();
|
|
5016
|
+
};
|
|
5017
|
+
/**
|
|
5018
|
+
* Handler for iconbutton click
|
|
5019
|
+
* @param {Event} e - Click event
|
|
5020
|
+
*/
|
|
5021
|
+
this.handleIconClick = (e) => {
|
|
5022
|
+
e.stopPropagation(); // Prevent header click from triggering
|
|
5023
|
+
this.toggle();
|
|
5024
|
+
};
|
|
5025
|
+
/**
|
|
5026
|
+
* Handler for keyboard events on iconbutton
|
|
5027
|
+
* @param {KeyboardEvent} e - Keyboard event
|
|
5028
|
+
*/
|
|
5029
|
+
this.handleHeaderKeyDown = (e) => {
|
|
5030
|
+
if (this.disabled)
|
|
5031
|
+
return;
|
|
5032
|
+
switch (e.key) {
|
|
5033
|
+
case 'Enter':
|
|
5034
|
+
case ' ':
|
|
5035
|
+
e.preventDefault();
|
|
5036
|
+
this.toggle();
|
|
5037
|
+
break;
|
|
5038
|
+
case 'ArrowDown':
|
|
5039
|
+
e.preventDefault();
|
|
5040
|
+
if (!this.open) {
|
|
5041
|
+
this.open = true;
|
|
5042
|
+
this.itemToggle.emit(this.open);
|
|
5043
|
+
this.updateVisibility(this.open);
|
|
5044
|
+
}
|
|
5045
|
+
break;
|
|
5046
|
+
case 'ArrowUp':
|
|
5047
|
+
e.preventDefault();
|
|
5048
|
+
if (this.open) {
|
|
5049
|
+
this.open = false;
|
|
5050
|
+
this.itemToggle.emit(this.open);
|
|
5051
|
+
this.updateVisibility(this.open);
|
|
5052
|
+
}
|
|
5053
|
+
break;
|
|
5054
|
+
}
|
|
5055
|
+
};
|
|
5056
|
+
}
|
|
5057
|
+
//#endregion STATE
|
|
5058
|
+
/****************************************************************************/
|
|
5059
|
+
//#region WATCHERS
|
|
5060
|
+
async onOpenChanged(newValue, oldValue) {
|
|
5061
|
+
this.currentOpenState = newValue; // Synchronize internal state
|
|
5062
|
+
// Skip initial render
|
|
5063
|
+
if (oldValue === undefined) {
|
|
5064
|
+
return;
|
|
5065
|
+
}
|
|
5066
|
+
await this.updateVisibility(newValue);
|
|
5067
|
+
}
|
|
5068
|
+
//#endregion WATCHERS
|
|
5069
|
+
/****************************************************************************/
|
|
5070
|
+
//#region ANIMATIONS
|
|
5071
|
+
/**
|
|
5072
|
+
* Updates the visibility state with Nova animation system
|
|
5073
|
+
* @param {boolean} open - Whether the accordion item should be open
|
|
5074
|
+
*/
|
|
5075
|
+
async updateVisibility(open) {
|
|
5076
|
+
if (!this.contentRef)
|
|
5077
|
+
return;
|
|
5078
|
+
this.isAnimating = true;
|
|
5079
|
+
const { collapse, expand } = useCollapse(this.contentRef, {
|
|
5080
|
+
duration: 200,
|
|
5081
|
+
});
|
|
5082
|
+
if (open) {
|
|
5083
|
+
// Expand with animation
|
|
5084
|
+
await expand();
|
|
5085
|
+
}
|
|
5086
|
+
else {
|
|
5087
|
+
// Collapse with animation
|
|
5088
|
+
await collapse();
|
|
5089
|
+
}
|
|
5090
|
+
this.isAnimating = false;
|
|
5091
|
+
}
|
|
5092
|
+
//#endregion ANIMATIONS
|
|
5093
|
+
/****************************************************************************/
|
|
5094
|
+
//#region LIFECYCLE
|
|
5095
|
+
componentWillLoad() {
|
|
5096
|
+
this.currentOpenState = this.open; // Initial synchronization
|
|
5097
|
+
}
|
|
5098
|
+
componentDidLoad() {
|
|
5099
|
+
if (this.contentRef) {
|
|
5100
|
+
const { setExpanded, setCollapsed } = useCollapse(this.contentRef);
|
|
5101
|
+
if (this.open) {
|
|
5102
|
+
// If open by default on initial load, set expanded state without animation
|
|
5103
|
+
setExpanded();
|
|
5104
|
+
}
|
|
5105
|
+
else {
|
|
5106
|
+
// If closed by default, set collapsed state without animation
|
|
5107
|
+
setCollapsed();
|
|
5108
|
+
}
|
|
5109
|
+
}
|
|
5110
|
+
}
|
|
5111
|
+
disconnectedCallback() {
|
|
5112
|
+
if (this.mutationObserver) {
|
|
5113
|
+
this.mutationObserver.disconnect();
|
|
4968
5114
|
}
|
|
4969
5115
|
}
|
|
5116
|
+
//#endregion LIFECYCLE
|
|
5117
|
+
/****************************************************************************/
|
|
5118
|
+
//#region METHODS
|
|
4970
5119
|
/**
|
|
4971
|
-
*
|
|
4972
|
-
* state is visible.
|
|
5120
|
+
* Toggle open/close (Public API)
|
|
4973
5121
|
*/
|
|
4974
|
-
|
|
4975
|
-
|
|
4976
|
-
|
|
4977
|
-
|
|
5122
|
+
async toggle() {
|
|
5123
|
+
if (!this.disabled && !this.isAnimating) {
|
|
5124
|
+
this.open = !this.open;
|
|
5125
|
+
this.itemToggle.emit(this.open);
|
|
5126
|
+
// Force animation update directly instead of relying on watcher
|
|
5127
|
+
await this.updateVisibility(this.open);
|
|
4978
5128
|
}
|
|
4979
5129
|
}
|
|
4980
5130
|
/**
|
|
4981
|
-
*
|
|
4982
|
-
*
|
|
5131
|
+
* Get the chevron icon name based on open state
|
|
5132
|
+
* @returns {string} The icon name to display in the chevron button
|
|
4983
5133
|
*/
|
|
4984
|
-
|
|
4985
|
-
return
|
|
4986
|
-
animate({
|
|
4987
|
-
from: { opacity: 1, scale: 1 },
|
|
4988
|
-
to: { opacity: hasFade ? 0 : 1, scale: amount },
|
|
4989
|
-
duration,
|
|
4990
|
-
onUpdate(latest) {
|
|
4991
|
-
const updates = {
|
|
4992
|
-
scale: latest.scale,
|
|
4993
|
-
};
|
|
4994
|
-
if (hasFade) {
|
|
4995
|
-
updates['opacity'] = latest.opacity;
|
|
4996
|
-
}
|
|
4997
|
-
nodeStyler.set(updates);
|
|
4998
|
-
},
|
|
4999
|
-
onComplete() {
|
|
5000
|
-
resolve();
|
|
5001
|
-
},
|
|
5002
|
-
});
|
|
5003
|
-
});
|
|
5134
|
+
get chevronIconName() {
|
|
5135
|
+
return this.open ? 'chevron-top' : 'chevron-down';
|
|
5004
5136
|
}
|
|
5005
|
-
|
|
5006
|
-
|
|
5007
|
-
|
|
5008
|
-
|
|
5009
|
-
|
|
5010
|
-
|
|
5137
|
+
//#endregion METHODS
|
|
5138
|
+
/****************************************************************************/
|
|
5139
|
+
//#region RENDER
|
|
5140
|
+
render() {
|
|
5141
|
+
return (hAsync(Host, { key: 'fd0200c1d78b3e3ae7361783dbba14d55732e7cf', class: {
|
|
5142
|
+
'nv-accordion-item': true,
|
|
5143
|
+
'is-open': this.open,
|
|
5144
|
+
'is-disabled': this.disabled,
|
|
5145
|
+
'is-animating': this.isAnimating,
|
|
5146
|
+
}, role: "listitem", "aria-expanded": this.open ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false' }, hAsync("div", { key: '471cc5dc8ec8a3fff592b5b443a82270aea9a477', class: "nv-accordion-item__header", onClick: this.handleHeaderClick, "aria-controls": "content" }, hAsync("slot", { key: 'dacf57578644d0ff3d6c5cf55c382c9c04a6fdf4', name: "header" }, hAsync("div", { key: 'd0e23a45fd43046f4dcebcc9cece8c2650cdaf9e', class: "nv-accordion-item__header-content" }, this.itemtitle && (hAsync("span", { key: '061068f7afa0d25d3273868d70d9f55c336d93d7', class: "nv-accordion-item__title" }, this.itemtitle)), this.subtitle && (hAsync("span", { key: '1ba3c4754c95d6fbe97fb4111dba06543879e400', class: "nv-accordion-item__subtitle" }, this.subtitle)))), hAsync("nv-iconbutton", { key: '834c4aa3111a8619f4c974e87899d0dfa6d14280', 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: '79ba605179905a7a58a642a2c5d1f0bdf90d67ae', id: "content", class: "nv-accordion-item__content", "aria-hidden": !this.open ? 'true' : 'false', ref: el => (this.contentRef = el) }, hAsync("div", { key: '6ca4b0d9acd5262a4a041ad9d59bbace5cc7850d', class: "nv-accordion-item__content-inner" }, hAsync("slot", { key: '85c288666cf3b13abcd1ee1dbaced7ceb9ff9e6e', name: "content" })))));
|
|
5147
|
+
}
|
|
5148
|
+
get el() { return getElement(this); }
|
|
5149
|
+
static get watchers() { return {
|
|
5150
|
+
"open": ["onOpenChanged"]
|
|
5151
|
+
}; }
|
|
5152
|
+
static get style() { return NvAccordionItemStyle0; }
|
|
5153
|
+
static get cmpMeta() { return {
|
|
5154
|
+
"$flags$": 4,
|
|
5155
|
+
"$tagName$": "nv-accordion-item",
|
|
5156
|
+
"$members$": {
|
|
5157
|
+
"itemtitle": [513],
|
|
5158
|
+
"subtitle": [513],
|
|
5159
|
+
"open": [1540],
|
|
5160
|
+
"disabled": [516],
|
|
5161
|
+
"maxContentHeight": [514, "max-content-height"],
|
|
5162
|
+
"mode": [513],
|
|
5163
|
+
"currentOpenState": [32],
|
|
5164
|
+
"isInitialized": [32],
|
|
5165
|
+
"isAnimating": [32],
|
|
5166
|
+
"toggle": [64]
|
|
5167
|
+
},
|
|
5168
|
+
"$listeners$": undefined,
|
|
5169
|
+
"$lazyBundleId$": "-",
|
|
5170
|
+
"$attrsToReflect$": [["itemtitle", "itemtitle"], ["subtitle", "subtitle"], ["open", "open"], ["disabled", "disabled"], ["maxContentHeight", "max-content-height"], ["mode", "mode"]]
|
|
5171
|
+
}; }
|
|
5172
|
+
}
|
|
5173
|
+
|
|
5174
|
+
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}
|
|
5175
|
+
|
|
5176
|
+
var FeedbackColors;
|
|
5177
|
+
(function (FeedbackColors) {
|
|
5178
|
+
FeedbackColors["Information"] = "information";
|
|
5179
|
+
FeedbackColors["Warning"] = "warning";
|
|
5180
|
+
FeedbackColors["Success"] = "success";
|
|
5181
|
+
FeedbackColors["Error"] = "error";
|
|
5182
|
+
FeedbackColors["Neutral"] = "neutral";
|
|
5183
|
+
})(FeedbackColors || (FeedbackColors = {}));
|
|
5184
|
+
var DeprecatedSemanticColors;
|
|
5185
|
+
(function (DeprecatedSemanticColors) {
|
|
5186
|
+
DeprecatedSemanticColors["Neutral"] = "neutral";
|
|
5187
|
+
DeprecatedSemanticColors["Primary"] = "primary";
|
|
5188
|
+
DeprecatedSemanticColors["Secondary"] = "secondary";
|
|
5189
|
+
DeprecatedSemanticColors["Success"] = "success";
|
|
5190
|
+
DeprecatedSemanticColors["Error"] = "error";
|
|
5191
|
+
})(DeprecatedSemanticColors || (DeprecatedSemanticColors = {}));
|
|
5192
|
+
var SemanticSizes;
|
|
5193
|
+
(function (SemanticSizes) {
|
|
5194
|
+
SemanticSizes["ExtraSmall"] = "xs";
|
|
5195
|
+
SemanticSizes["Small"] = "sm";
|
|
5196
|
+
SemanticSizes["Medium"] = "md";
|
|
5197
|
+
SemanticSizes["Large"] = "lg";
|
|
5198
|
+
SemanticSizes["ExtraLarge"] = "xl";
|
|
5199
|
+
})(SemanticSizes || (SemanticSizes = {}));
|
|
5200
|
+
var ButtonSize;
|
|
5201
|
+
(function (ButtonSize) {
|
|
5202
|
+
ButtonSize["ExtraSmall"] = "xs";
|
|
5203
|
+
ButtonSize["Small"] = "sm";
|
|
5204
|
+
ButtonSize["Medium"] = "md";
|
|
5205
|
+
ButtonSize["Large"] = "lg";
|
|
5206
|
+
})(ButtonSize || (ButtonSize = {}));
|
|
5207
|
+
var ButtonEmphasis;
|
|
5208
|
+
(function (ButtonEmphasis) {
|
|
5209
|
+
ButtonEmphasis["High"] = "high";
|
|
5210
|
+
ButtonEmphasis["Medium"] = "medium";
|
|
5211
|
+
ButtonEmphasis["Low"] = "low";
|
|
5212
|
+
ButtonEmphasis["Lower"] = "lower";
|
|
5213
|
+
})(ButtonEmphasis || (ButtonEmphasis = {}));
|
|
5214
|
+
var ButtonType;
|
|
5215
|
+
(function (ButtonType) {
|
|
5216
|
+
ButtonType["Submit"] = "submit";
|
|
5217
|
+
ButtonType["Reset"] = "reset";
|
|
5218
|
+
ButtonType["Button"] = "button";
|
|
5219
|
+
})(ButtonType || (ButtonType = {}));
|
|
5220
|
+
var IconButtonShape;
|
|
5221
|
+
(function (IconButtonShape) {
|
|
5222
|
+
IconButtonShape["Square"] = "square";
|
|
5223
|
+
IconButtonShape["Rounded"] = "rounded";
|
|
5224
|
+
})(IconButtonShape || (IconButtonShape = {}));
|
|
5225
|
+
var LoaderColors;
|
|
5226
|
+
(function (LoaderColors) {
|
|
5227
|
+
LoaderColors["High"] = "brand";
|
|
5228
|
+
LoaderColors["Low"] = "white";
|
|
5229
|
+
})(LoaderColors || (LoaderColors = {}));
|
|
5230
|
+
var LabelPlacement;
|
|
5231
|
+
(function (LabelPlacement) {
|
|
5232
|
+
LabelPlacement["Before"] = "before";
|
|
5233
|
+
LabelPlacement["After"] = "after";
|
|
5234
|
+
})(LabelPlacement || (LabelPlacement = {}));
|
|
5235
|
+
var TextInputAutocomplete;
|
|
5236
|
+
(function (TextInputAutocomplete) {
|
|
5237
|
+
TextInputAutocomplete["On"] = "on";
|
|
5238
|
+
TextInputAutocomplete["Off"] = "off";
|
|
5239
|
+
TextInputAutocomplete["Section"] = "section-*";
|
|
5240
|
+
TextInputAutocomplete["Shipping"] = "shipping";
|
|
5241
|
+
TextInputAutocomplete["Billing"] = "billing";
|
|
5242
|
+
TextInputAutocomplete["Home"] = "home";
|
|
5243
|
+
TextInputAutocomplete["Work"] = "work";
|
|
5244
|
+
TextInputAutocomplete["Mobile"] = "mobile";
|
|
5245
|
+
TextInputAutocomplete["Fax"] = "fax";
|
|
5246
|
+
TextInputAutocomplete["Pager"] = "pager";
|
|
5247
|
+
TextInputAutocomplete["Tel"] = "tel";
|
|
5248
|
+
TextInputAutocomplete["TelCountryCode"] = "tel-country-code";
|
|
5249
|
+
TextInputAutocomplete["TelNational"] = "tel-national";
|
|
5250
|
+
TextInputAutocomplete["TelAreaCode"] = "tel-area-code";
|
|
5251
|
+
TextInputAutocomplete["TelLocal"] = "tel-local";
|
|
5252
|
+
TextInputAutocomplete["TelLocalPrefix"] = "tel-local-prefix";
|
|
5253
|
+
TextInputAutocomplete["TelLocalSuffix"] = "tel-local-suffix";
|
|
5254
|
+
TextInputAutocomplete["TelExtension"] = "tel-extension";
|
|
5255
|
+
TextInputAutocomplete["Email"] = "email";
|
|
5256
|
+
TextInputAutocomplete["IMProtocol"] = "impp";
|
|
5257
|
+
TextInputAutocomplete["Name"] = "name";
|
|
5258
|
+
TextInputAutocomplete["HonorificPrefix"] = "honorific-prefix";
|
|
5259
|
+
TextInputAutocomplete["GivenName"] = "given-name";
|
|
5260
|
+
TextInputAutocomplete["AdditionalName"] = "additional-name";
|
|
5261
|
+
TextInputAutocomplete["FamilyName"] = "family-name";
|
|
5262
|
+
TextInputAutocomplete["HonorificSuffix"] = "honorific-suffix";
|
|
5263
|
+
TextInputAutocomplete["Nickname"] = "nickname";
|
|
5264
|
+
TextInputAutocomplete["Username"] = "username";
|
|
5265
|
+
TextInputAutocomplete["NewPassword"] = "new-password";
|
|
5266
|
+
TextInputAutocomplete["CurrentPassword"] = "current-password";
|
|
5267
|
+
TextInputAutocomplete["OneTimeCode"] = "one-time-code";
|
|
5268
|
+
TextInputAutocomplete["OrganizationTitle"] = "organization-title";
|
|
5269
|
+
TextInputAutocomplete["Organization"] = "organization";
|
|
5270
|
+
TextInputAutocomplete["StreetAddress"] = "street-address";
|
|
5271
|
+
TextInputAutocomplete["AddressLine1"] = "address-line1";
|
|
5272
|
+
TextInputAutocomplete["AddressLine2"] = "address-line2";
|
|
5273
|
+
TextInputAutocomplete["AddressLine3"] = "address-line3";
|
|
5274
|
+
TextInputAutocomplete["AddressLevel4"] = "address-level4";
|
|
5275
|
+
TextInputAutocomplete["AddressLevel3"] = "address-level3";
|
|
5276
|
+
TextInputAutocomplete["AddressLevel2"] = "address-level2";
|
|
5277
|
+
TextInputAutocomplete["AddressLevel1"] = "address-level1";
|
|
5278
|
+
TextInputAutocomplete["Country"] = "country";
|
|
5279
|
+
TextInputAutocomplete["CountryName"] = "country-name";
|
|
5280
|
+
TextInputAutocomplete["PostalCode"] = "postal-code";
|
|
5281
|
+
TextInputAutocomplete["CCName"] = "cc-name";
|
|
5282
|
+
TextInputAutocomplete["CCGivenName"] = "cc-given-name";
|
|
5283
|
+
TextInputAutocomplete["CCAdditionalName"] = "cc-additional-name";
|
|
5284
|
+
TextInputAutocomplete["CCFamilyName"] = "cc-family-name";
|
|
5285
|
+
TextInputAutocomplete["CCNumber"] = "cc-number";
|
|
5286
|
+
TextInputAutocomplete["CCExp"] = "cc-exp";
|
|
5287
|
+
TextInputAutocomplete["CCExpMonth"] = "cc-exp-month";
|
|
5288
|
+
TextInputAutocomplete["CCExpYear"] = "cc-exp-year";
|
|
5289
|
+
TextInputAutocomplete["CCCSC"] = "cc-csc";
|
|
5290
|
+
TextInputAutocomplete["CCType"] = "cc-type";
|
|
5291
|
+
TextInputAutocomplete["TransactionCurrency"] = "transaction-currency";
|
|
5292
|
+
TextInputAutocomplete["TransactionAmount"] = "transaction-amount";
|
|
5293
|
+
TextInputAutocomplete["Language"] = "language";
|
|
5294
|
+
TextInputAutocomplete["Bday"] = "bday";
|
|
5295
|
+
TextInputAutocomplete["BdayDay"] = "bday-day";
|
|
5296
|
+
TextInputAutocomplete["BdayMonth"] = "bday-month";
|
|
5297
|
+
TextInputAutocomplete["BdayYear"] = "bday-year";
|
|
5298
|
+
TextInputAutocomplete["Sex"] = "sex";
|
|
5299
|
+
TextInputAutocomplete["Url"] = "url";
|
|
5300
|
+
TextInputAutocomplete["Photo"] = "photo";
|
|
5301
|
+
})(TextInputAutocomplete || (TextInputAutocomplete = {}));
|
|
5302
|
+
var TimeType;
|
|
5303
|
+
(function (TimeType) {
|
|
5304
|
+
TimeType["Hours"] = "hours";
|
|
5305
|
+
TimeType["Minutes"] = "minutes";
|
|
5306
|
+
TimeType["Seconds"] = "seconds";
|
|
5307
|
+
})(TimeType || (TimeType = {}));
|
|
5308
|
+
var GlobalFilterPosition;
|
|
5309
|
+
(function (GlobalFilterPosition) {
|
|
5310
|
+
GlobalFilterPosition["End"] = "end";
|
|
5311
|
+
GlobalFilterPosition["Start"] = "start";
|
|
5312
|
+
GlobalFilterPosition["Center"] = "center";
|
|
5313
|
+
})(GlobalFilterPosition || (GlobalFilterPosition = {}));
|
|
5314
|
+
var SortingPossibility;
|
|
5315
|
+
(function (SortingPossibility) {
|
|
5316
|
+
SortingPossibility["Asc"] = "asc";
|
|
5317
|
+
SortingPossibility["Desc"] = "desc";
|
|
5318
|
+
})(SortingPossibility || (SortingPossibility = {}));
|
|
5319
|
+
const WEEK_ABBREVIATIONS = {
|
|
5320
|
+
'fr-FR': 'Sem', // Semaine
|
|
5321
|
+
'fr-BE': 'Sem', // Semaine
|
|
5322
|
+
'nl-BE': 'W', // Week
|
|
5323
|
+
'en-BE': 'W', // Week
|
|
5324
|
+
'en-US': 'W', // Week
|
|
5325
|
+
'en-GB': 'W', // Week
|
|
5326
|
+
'es-ES': 'Sem', // Semana
|
|
5327
|
+
'de-DE': 'KW', // Kalenderwoche
|
|
5328
|
+
'it-IT': 'Set', // Settimana
|
|
5329
|
+
'pt-PT': 'Sem', // Semana
|
|
5330
|
+
'nl-NL': 'W', // Week
|
|
5331
|
+
'pl-PL': 'Tyd', // Tydzień
|
|
5332
|
+
'ru-RU': 'Нед', // Неделя
|
|
5333
|
+
'ja-JP': '週', // Shū
|
|
5334
|
+
'zh-CN': '周', // Zhōu
|
|
5335
|
+
'ko-KR': '주', // Ju
|
|
5336
|
+
};
|
|
5337
|
+
const CUSTOM_DAY_NAMES = {
|
|
5338
|
+
'fr-BE': ['Lu', 'Ma', 'Me', 'Je', 'Ve', 'Sa', 'Di'],
|
|
5339
|
+
'nl-BE': ['Ma', 'Di', 'Wo', 'Do', 'Vr', 'Za', 'Zo'],
|
|
5340
|
+
'de-DE': ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So'],
|
|
5341
|
+
'en-BE': ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
|
|
5342
|
+
'en-US': ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
|
|
5343
|
+
'en-GB': ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
|
|
5344
|
+
};
|
|
5345
|
+
const CUSTOM_MONTH_NAMES = {
|
|
5346
|
+
'fr-BE': [
|
|
5347
|
+
'Jan',
|
|
5348
|
+
'Fev',
|
|
5349
|
+
'Mar',
|
|
5350
|
+
'Avr',
|
|
5351
|
+
'Mai',
|
|
5352
|
+
'Jun',
|
|
5353
|
+
'Jul',
|
|
5354
|
+
'Aou',
|
|
5355
|
+
'Sep',
|
|
5356
|
+
'Oct',
|
|
5357
|
+
'Nov',
|
|
5358
|
+
'Dec',
|
|
5359
|
+
],
|
|
5360
|
+
'nl-BE': [
|
|
5361
|
+
'Jan',
|
|
5362
|
+
'Feb',
|
|
5363
|
+
'Maa',
|
|
5364
|
+
'Apr',
|
|
5365
|
+
'Mei',
|
|
5366
|
+
'Jun',
|
|
5367
|
+
'Jul',
|
|
5368
|
+
'Aug',
|
|
5369
|
+
'Sep',
|
|
5370
|
+
'Okt',
|
|
5371
|
+
'Nov',
|
|
5372
|
+
'Dec',
|
|
5373
|
+
],
|
|
5374
|
+
'de-DE': [
|
|
5375
|
+
'Jan',
|
|
5376
|
+
'Feb',
|
|
5377
|
+
'Mär',
|
|
5378
|
+
'Apr',
|
|
5379
|
+
'Mai',
|
|
5380
|
+
'Jun',
|
|
5381
|
+
'Jul',
|
|
5382
|
+
'Aug',
|
|
5383
|
+
'Sep',
|
|
5384
|
+
'Okt',
|
|
5385
|
+
'Nov',
|
|
5386
|
+
'Dez',
|
|
5387
|
+
],
|
|
5388
|
+
'en-BE': [
|
|
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
|
+
],
|
|
5402
|
+
'en-US': [
|
|
5403
|
+
'Jan',
|
|
5404
|
+
'Feb',
|
|
5405
|
+
'Mar',
|
|
5406
|
+
'Apr',
|
|
5407
|
+
'May',
|
|
5408
|
+
'Jun',
|
|
5409
|
+
'Jul',
|
|
5410
|
+
'Aug',
|
|
5411
|
+
'Sep',
|
|
5412
|
+
'Oct',
|
|
5413
|
+
'Nov',
|
|
5414
|
+
'Dec',
|
|
5415
|
+
],
|
|
5416
|
+
'en-GB': [
|
|
5417
|
+
'Jan',
|
|
5418
|
+
'Feb',
|
|
5419
|
+
'Mar',
|
|
5420
|
+
'Apr',
|
|
5421
|
+
'May',
|
|
5422
|
+
'Jun',
|
|
5423
|
+
'Jul',
|
|
5424
|
+
'Aug',
|
|
5425
|
+
'Sep',
|
|
5426
|
+
'Oct',
|
|
5427
|
+
'Nov',
|
|
5428
|
+
'Dec',
|
|
5429
|
+
],
|
|
5011
5430
|
};
|
|
5012
5431
|
|
|
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
5432
|
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
5433
|
var NvAlertStyle0 = nvAlertCss;
|
|
5035
5434
|
|
|
@@ -5187,7 +5586,7 @@ class NvAlert {
|
|
|
5187
5586
|
//#region RENDER
|
|
5188
5587
|
render() {
|
|
5189
5588
|
var _a;
|
|
5190
|
-
return (hAsync(Host, { key: '
|
|
5589
|
+
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
5590
|
}
|
|
5192
5591
|
get ref() { return getElement(this); }
|
|
5193
5592
|
static get watchers() { return {
|
|
@@ -5271,7 +5670,7 @@ class NvAvatar {
|
|
|
5271
5670
|
/****************************************************************************/
|
|
5272
5671
|
//#region RENDER
|
|
5273
5672
|
render() {
|
|
5274
|
-
return (hAsync(Host, { key: '
|
|
5673
|
+
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
5674
|
}
|
|
5276
5675
|
static get style() { return NvAvatarStyle0; }
|
|
5277
5676
|
static get cmpMeta() { return {
|
|
@@ -5427,12 +5826,12 @@ class NvBadge {
|
|
|
5427
5826
|
/****************************************************************************/
|
|
5428
5827
|
//#region RENDER
|
|
5429
5828
|
render() {
|
|
5430
|
-
return (hAsync(Host, { key: '
|
|
5829
|
+
return (hAsync(Host, { key: '435c5bb1f565c8bd95cca5c6828157c80f60aa39', class: clsx(`badge-${this.color}`, {
|
|
5431
5830
|
'has-close': this.dismissible,
|
|
5432
5831
|
'with-gap': this.dismissible || this.label,
|
|
5433
5832
|
'visually-hidden': this._isHidden,
|
|
5434
5833
|
'is-icon-only': this.isIconOnly,
|
|
5435
|
-
}) }, hAsync("slot", { key: '
|
|
5834
|
+
}) }, 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
5835
|
}
|
|
5437
5836
|
get ref() { return getElement(this); }
|
|
5438
5837
|
static get watchers() { return {
|
|
@@ -5495,7 +5894,7 @@ class NvBreadcrumb {
|
|
|
5495
5894
|
/****************************************************************************/
|
|
5496
5895
|
//#region RENDER
|
|
5497
5896
|
render() {
|
|
5498
|
-
return (hAsync(Host, { key: '
|
|
5897
|
+
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
5898
|
}
|
|
5500
5899
|
get el() { return getElement(this); }
|
|
5501
5900
|
static get style() { return NvBreadcrumbStyle0; }
|
|
@@ -5525,7 +5924,7 @@ class NvBreadcrumbs {
|
|
|
5525
5924
|
}
|
|
5526
5925
|
//#region RENDER
|
|
5527
5926
|
render() {
|
|
5528
|
-
return (hAsync(Host, { key: '
|
|
5927
|
+
return (hAsync(Host, { key: '4337fe5161c0ce444001e1b92221f3adac26e4bf', role: "navigation", "aria-label": "breadcrumbs" }, hAsync("ol", { key: '00d470eadfe879be525a4a4b7ec3368601a0697c' }, hAsync("slot", { key: '2d012f152b49f33f399aa14dfb18a4c39265128c' }))));
|
|
5529
5928
|
}
|
|
5530
5929
|
static get style() { return NvBreadcrumbsStyle0; }
|
|
5531
5930
|
static get cmpMeta() { return {
|
|
@@ -5689,7 +6088,7 @@ class NvButton {
|
|
|
5689
6088
|
/****************************************************************************/
|
|
5690
6089
|
//#region RENDER
|
|
5691
6090
|
render() {
|
|
5692
|
-
return (hAsync(Host, { key: '
|
|
6091
|
+
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
6092
|
}
|
|
5694
6093
|
static get formAssociated() { return true; }
|
|
5695
6094
|
get el() { return getElement(this); }
|
|
@@ -5954,26 +6353,6 @@ function parseDate(dateInput, dateFormat) {
|
|
|
5954
6353
|
parsed = dayjs(dateInput, dateFormat, true);
|
|
5955
6354
|
}
|
|
5956
6355
|
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
6356
|
return null;
|
|
5978
6357
|
}
|
|
5979
6358
|
return parsed.toDate();
|
|
@@ -6136,8 +6515,9 @@ const CalendarGrid = props => {
|
|
|
6136
6515
|
hAsync("div", { class: "days-header" }, dayNames.map((day, index) => (hAsync("div", { class: "day-header", key: `day-header-${index}` }, day)))),
|
|
6137
6516
|
hAsync("div", { class: "days-grid" }, days.map(day => {
|
|
6138
6517
|
const date = day.date;
|
|
6139
|
-
if (!date)
|
|
6140
|
-
return
|
|
6518
|
+
if (!date || !day.dayOfMonth) {
|
|
6519
|
+
return hAsync("div", { class: "day-cell is-disabled is-empty" });
|
|
6520
|
+
}
|
|
6141
6521
|
const isSelected = selectionType === 'single' &&
|
|
6142
6522
|
isSameDate(date, selectedDate, { isUTCMode });
|
|
6143
6523
|
const isInRange = isDateInRange(date);
|
|
@@ -6148,7 +6528,7 @@ const CalendarGrid = props => {
|
|
|
6148
6528
|
}))));
|
|
6149
6529
|
};
|
|
6150
6530
|
|
|
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)}}";
|
|
6531
|
+
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.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
6532
|
var NvCalendarStyle0 = nvCalendarCss;
|
|
6153
6533
|
|
|
6154
6534
|
/**
|
|
@@ -6470,7 +6850,7 @@ class NvCalendar {
|
|
|
6470
6850
|
* @param {number} totalCalendars - Number of calendars to display (1 by default)
|
|
6471
6851
|
* @returns {Array<{ dayOfMonth: number | null, date: Date | null, isSelected: boolean, isDisabled: boolean }>} Array of formatted days
|
|
6472
6852
|
*/
|
|
6473
|
-
this.getDaysInMonth = (offset = 0
|
|
6853
|
+
this.getDaysInMonth = (offset = 0) => {
|
|
6474
6854
|
const year = this.currentDate.getUTCFullYear();
|
|
6475
6855
|
const month = this.currentDate.getUTCMonth() + offset;
|
|
6476
6856
|
const firstDay = new Date(Date.UTC(year, month, 1));
|
|
@@ -6481,17 +6861,31 @@ class NvCalendar {
|
|
|
6481
6861
|
const dayOfWeekIndex = firstDay.getUTCDay(); // 0 = Sunday, 1 = Monday, etc.
|
|
6482
6862
|
// Adjust based on firstDayOfWeek (if week starts on Monday, offset is different)
|
|
6483
6863
|
const offsetDays = (dayOfWeekIndex - this.firstDayOfWeek + 7) % 7;
|
|
6484
|
-
|
|
6485
|
-
|
|
6486
|
-
|
|
6487
|
-
|
|
6488
|
-
|
|
6489
|
-
|
|
6490
|
-
|
|
6491
|
-
date,
|
|
6492
|
-
|
|
6493
|
-
|
|
6494
|
-
|
|
6864
|
+
const showPrevMonthDays = this.numberOfCalendars === 1 ||
|
|
6865
|
+
(this.numberOfCalendars > 1 && offset === 0);
|
|
6866
|
+
// Add the days of the previous month
|
|
6867
|
+
if (offsetDays > 0) {
|
|
6868
|
+
if (showPrevMonthDays) {
|
|
6869
|
+
const prevMonthLastDay = new Date(Date.UTC(year, month, 0)).getUTCDate();
|
|
6870
|
+
for (let i = offsetDays; i > 0; i--) {
|
|
6871
|
+
const date = new Date(Date.UTC(year, month - 1, prevMonthLastDay - i + 1));
|
|
6872
|
+
days.push({
|
|
6873
|
+
dayOfMonth: date.getUTCDate(),
|
|
6874
|
+
date,
|
|
6875
|
+
isCurrentMonth: false,
|
|
6876
|
+
isDisabled: this.isDateDisabled(date),
|
|
6877
|
+
});
|
|
6878
|
+
}
|
|
6879
|
+
}
|
|
6880
|
+
else {
|
|
6881
|
+
for (let i = 0; i < offsetDays; i++) {
|
|
6882
|
+
days.push({
|
|
6883
|
+
dayOfMonth: null,
|
|
6884
|
+
date: null,
|
|
6885
|
+
isCurrentMonth: false,
|
|
6886
|
+
isDisabled: true,
|
|
6887
|
+
});
|
|
6888
|
+
}
|
|
6495
6889
|
}
|
|
6496
6890
|
}
|
|
6497
6891
|
// Add the days of the current month
|
|
@@ -6504,17 +6898,31 @@ class NvCalendar {
|
|
|
6504
6898
|
isDisabled: this.isDateDisabled(date),
|
|
6505
6899
|
});
|
|
6506
6900
|
}
|
|
6507
|
-
|
|
6508
|
-
|
|
6509
|
-
|
|
6510
|
-
|
|
6511
|
-
|
|
6512
|
-
|
|
6513
|
-
|
|
6514
|
-
date,
|
|
6515
|
-
|
|
6516
|
-
|
|
6517
|
-
|
|
6901
|
+
const showNextMonthDays = this.numberOfCalendars === 1 ||
|
|
6902
|
+
(this.numberOfCalendars > 1 && offset === this.numberOfCalendars - 1);
|
|
6903
|
+
// Add the days of the next month to fill the grid
|
|
6904
|
+
const nextMonthDaysNeeded = 7 - (days.length % 7 || 7);
|
|
6905
|
+
if (nextMonthDaysNeeded < 7) {
|
|
6906
|
+
if (showNextMonthDays) {
|
|
6907
|
+
for (let i = 1; i <= nextMonthDaysNeeded; i++) {
|
|
6908
|
+
const date = new Date(Date.UTC(year, month + 1, i));
|
|
6909
|
+
days.push({
|
|
6910
|
+
dayOfMonth: i,
|
|
6911
|
+
date,
|
|
6912
|
+
isCurrentMonth: false,
|
|
6913
|
+
isDisabled: this.isDateDisabled(date),
|
|
6914
|
+
});
|
|
6915
|
+
}
|
|
6916
|
+
}
|
|
6917
|
+
else {
|
|
6918
|
+
for (let i = 0; i < nextMonthDaysNeeded; i++) {
|
|
6919
|
+
days.push({
|
|
6920
|
+
dayOfMonth: null,
|
|
6921
|
+
date: null,
|
|
6922
|
+
isCurrentMonth: false,
|
|
6923
|
+
isDisabled: true,
|
|
6924
|
+
});
|
|
6925
|
+
}
|
|
6518
6926
|
}
|
|
6519
6927
|
}
|
|
6520
6928
|
return days;
|
|
@@ -6581,7 +6989,7 @@ class NvCalendar {
|
|
|
6581
6989
|
this.handleWeekSelection = (weekDays, calendarIndex) => {
|
|
6582
6990
|
if (this.selectionType !== 'range')
|
|
6583
6991
|
return;
|
|
6584
|
-
const allDays = this.getDaysInMonth(calendarIndex
|
|
6992
|
+
const allDays = this.getDaysInMonth(calendarIndex);
|
|
6585
6993
|
const weekStart = weekDays[0];
|
|
6586
6994
|
const weekEnd = weekDays[weekDays.length - 1];
|
|
6587
6995
|
if (!weekStart || !weekEnd)
|
|
@@ -6794,7 +7202,7 @@ class NvCalendar {
|
|
|
6794
7202
|
index,
|
|
6795
7203
|
/** Month offset */
|
|
6796
7204
|
offset) => {
|
|
6797
|
-
const days = this.getDaysInMonth(offset
|
|
7205
|
+
const days = this.getDaysInMonth(offset);
|
|
6798
7206
|
const weeks = [];
|
|
6799
7207
|
for (let i = 0; i < days.length; i += 7) {
|
|
6800
7208
|
weeks.push(days.slice(i, i + 7));
|
|
@@ -6998,8 +7406,8 @@ class NvCalendar {
|
|
|
6998
7406
|
* @slot default - Child content of the component.
|
|
6999
7407
|
*/
|
|
7000
7408
|
render() {
|
|
7001
|
-
return (hAsync(Host, { key: '
|
|
7002
|
-
this.hasActions) && (hAsync("div", { key: '
|
|
7409
|
+
return (hAsync(Host, { key: '089a80ab34e2bc3f31432437787578f6367fde7c' }, hAsync("div", { key: '9537a1a20798d8ff3cf53972154a4d7fb0156daf', class: "datepicker-root" }, hAsync("div", { key: '17a4630c184001b5fbea941540ee01b0bbf8b58d', class: `datepicker-container ${this.numberOfCalendars === 1 ? 'datepicker-container-single' : ''}` }, hAsync("div", { key: '8d56891ebb52b251a013d6a640d472900b9b62e8', 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') ||
|
|
7410
|
+
this.hasActions) && (hAsync("div", { key: 'a7f53681fb23a9b80b8141de19c4decaec5e887b', class: "datepicker-controls" }, this.shortcutsPlacement === 'bottom' && this.renderShortcuts(), this.hasActions && this.renderActions())))), hAsync("slot", { key: '943aca0d1a5b2db40f59dfd8973d26b52b9ed312' })));
|
|
7003
7411
|
}
|
|
7004
7412
|
get el() { return getElement(this); }
|
|
7005
7413
|
static get watchers() { return {
|
|
@@ -7069,7 +7477,7 @@ class NvCol {
|
|
|
7069
7477
|
/****************************************************************************/
|
|
7070
7478
|
//#region RENDER
|
|
7071
7479
|
render() {
|
|
7072
|
-
return (hAsync(Host, { key: '
|
|
7480
|
+
return (hAsync(Host, { key: 'e258bc3e01d3bd35bf64f14241c70ae044fac132', class: clsx(this.getColSize()) }, hAsync("slot", { key: 'd36caf0fde38eae6cd37b62fb4c02e3de6b7225e' })));
|
|
7073
7481
|
}
|
|
7074
7482
|
static get style() { return NvColStyle0; }
|
|
7075
7483
|
static get cmpMeta() { return {
|
|
@@ -11570,7 +11978,7 @@ class NvDatagrid {
|
|
|
11570
11978
|
const rows = !this.table || this.table === undefined || this.parsedData.length === 0
|
|
11571
11979
|
? []
|
|
11572
11980
|
: (_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: '
|
|
11981
|
+
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
11982
|
? headerGroups === null || headerGroups === void 0 ? void 0 : headerGroups.map(headerGroup => (hAsync("tr", { key: headerGroup.id }, headerGroup.headers.map(header => {
|
|
11575
11983
|
return this.getHeaderCell(header);
|
|
11576
11984
|
}))))
|
|
@@ -11581,7 +11989,7 @@ class NvDatagrid {
|
|
|
11581
11989
|
return (hAsync("td", { key: cell.id, "data-row-id": rowId }, this.flexRender(cell.column.columnDef.cell, cell.getContext())));
|
|
11582
11990
|
})));
|
|
11583
11991
|
}))), 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: '
|
|
11992
|
+
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
11993
|
}
|
|
11586
11994
|
get el() { return getElement(this); }
|
|
11587
11995
|
static get watchers() { return {
|
|
@@ -11646,7 +12054,7 @@ class NvDatagridcolumn {
|
|
|
11646
12054
|
/****************************************************************************/
|
|
11647
12055
|
//#region RENDER
|
|
11648
12056
|
render() {
|
|
11649
|
-
return (hAsync(Host, { key: '
|
|
12057
|
+
return (hAsync(Host, { key: '49c4b8807b26a76cf26e9ac9567a5bca7de0aee7' }, hAsync("slot", { key: '9e6c8b69a92fe4caec10025c941e39f1266b4f93', name: "header" }), hAsync("slot", { key: '992fa9c1d00fe8ed65df5ad2157b78140d2794a0', name: "cell" })));
|
|
11650
12058
|
}
|
|
11651
12059
|
static get cmpMeta() { return {
|
|
11652
12060
|
"$flags$": 4,
|
|
@@ -12278,7 +12686,7 @@ function v4(options, buf, offset) {
|
|
|
12278
12686
|
return unsafeStringify(rnds);
|
|
12279
12687
|
}
|
|
12280
12688
|
|
|
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}";
|
|
12689
|
+
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
12690
|
var NvDialogStyle0 = nvDialogCss;
|
|
12283
12691
|
|
|
12284
12692
|
/**
|
|
@@ -12313,6 +12721,11 @@ class NvDialog {
|
|
|
12313
12721
|
* If true, the dialog takes full width styling.
|
|
12314
12722
|
*/
|
|
12315
12723
|
this.full = false;
|
|
12724
|
+
/**
|
|
12725
|
+
* Controls whether the dialog should automatically focus the first focusable element when opened.
|
|
12726
|
+
* When disabled, prevents unwanted tooltip triggers on dialog open.
|
|
12727
|
+
*/
|
|
12728
|
+
this.autofocus = false;
|
|
12316
12729
|
/**
|
|
12317
12730
|
* Handles the close button click.
|
|
12318
12731
|
*/
|
|
@@ -12420,15 +12833,23 @@ class NvDialog {
|
|
|
12420
12833
|
}
|
|
12421
12834
|
/**
|
|
12422
12835
|
* Prevents the body from scrolling when the dialog is open.
|
|
12836
|
+
* Compensates for scrollbar width to prevent layout shift.
|
|
12423
12837
|
*/
|
|
12424
12838
|
preventScroll() {
|
|
12425
|
-
|
|
12839
|
+
// Calculate scrollbar width
|
|
12840
|
+
const scrollBarWidth = window.innerWidth - document.documentElement.clientWidth;
|
|
12841
|
+
// Apply overflow hidden and padding compensation
|
|
12842
|
+
document.documentElement.style.overflow = 'hidden';
|
|
12843
|
+
document.documentElement.style.paddingRight = `${scrollBarWidth}px`;
|
|
12426
12844
|
}
|
|
12427
12845
|
/**
|
|
12428
12846
|
* Allows the body to scroll when the dialog is closed.
|
|
12847
|
+
* Removes the applied overflow and padding styles.
|
|
12429
12848
|
*/
|
|
12430
12849
|
allowScroll() {
|
|
12431
|
-
|
|
12850
|
+
// Remove the applied styles
|
|
12851
|
+
document.documentElement.style.removeProperty('overflow');
|
|
12852
|
+
document.documentElement.style.removeProperty('padding-right');
|
|
12432
12853
|
}
|
|
12433
12854
|
ensureFormId(formElement) {
|
|
12434
12855
|
if (!formElement.id) {
|
|
@@ -12505,8 +12926,8 @@ class NvDialog {
|
|
|
12505
12926
|
if (this.open) {
|
|
12506
12927
|
this.show();
|
|
12507
12928
|
}
|
|
12508
|
-
//
|
|
12509
|
-
if (!this.dialogElement.querySelector('[autofocus]')) {
|
|
12929
|
+
// Only set autofocus if the prop is true and no element already has autofocus
|
|
12930
|
+
if (this.autofocus && !this.dialogElement.querySelector('[autofocus]')) {
|
|
12510
12931
|
this.setAutofocus();
|
|
12511
12932
|
}
|
|
12512
12933
|
this.attachEventListeners();
|
|
@@ -12525,7 +12946,7 @@ class NvDialog {
|
|
|
12525
12946
|
//#region RENDER
|
|
12526
12947
|
render() {
|
|
12527
12948
|
const hasForm = this.form || this.el.querySelector('form');
|
|
12528
|
-
return (hAsync(Host, { key: '
|
|
12949
|
+
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
12950
|
}
|
|
12530
12951
|
get el() { return getElement(this); }
|
|
12531
12952
|
static get watchers() { return {
|
|
@@ -12544,12 +12965,13 @@ class NvDialog {
|
|
|
12544
12965
|
"clickOutside": [516, "click-outside"],
|
|
12545
12966
|
"controlled": [516],
|
|
12546
12967
|
"full": [516],
|
|
12968
|
+
"autofocus": [516],
|
|
12547
12969
|
"show": [64],
|
|
12548
12970
|
"close": [64]
|
|
12549
12971
|
},
|
|
12550
12972
|
"$listeners$": [[4, "keydown", "handleKeyDown"], [4, "click", "handleDocumentClick"], [5, "touchstart", "handleDocumentTouch"]],
|
|
12551
12973
|
"$lazyBundleId$": "-",
|
|
12552
|
-
"$attrsToReflect$": [["open", "open"], ["undismissable", "undismissable"], ["clickOutside", "click-outside"], ["controlled", "controlled"], ["full", "full"]]
|
|
12974
|
+
"$attrsToReflect$": [["open", "open"], ["undismissable", "undismissable"], ["clickOutside", "click-outside"], ["controlled", "controlled"], ["full", "full"], ["autofocus", "autofocus"]]
|
|
12553
12975
|
}; }
|
|
12554
12976
|
}
|
|
12555
12977
|
|
|
@@ -12641,7 +13063,7 @@ class NvDialogfooter {
|
|
|
12641
13063
|
/****************************************************************************/
|
|
12642
13064
|
//#region RENDER
|
|
12643
13065
|
render() {
|
|
12644
|
-
return (hAsync(Host, { key: '
|
|
13066
|
+
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
13067
|
}
|
|
12646
13068
|
static get formAssociated() { return true; }
|
|
12647
13069
|
get el() { return getElement(this); }
|
|
@@ -12697,7 +13119,7 @@ class NvDialogheader {
|
|
|
12697
13119
|
/****************************************************************************/
|
|
12698
13120
|
//#region RENDER
|
|
12699
13121
|
render() {
|
|
12700
|
-
return (hAsync(Host, { key: '
|
|
13122
|
+
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
13123
|
}
|
|
12702
13124
|
get el() { return getElement(this); }
|
|
12703
13125
|
static get style() { return NvDialogheaderStyle0; }
|
|
@@ -12834,13 +13256,13 @@ class NvFieldcheckbox {
|
|
|
12834
13256
|
/****************************************************************************/
|
|
12835
13257
|
//#region RENDER
|
|
12836
13258
|
render() {
|
|
12837
|
-
return (hAsync(Host, { key: '
|
|
13259
|
+
return (hAsync(Host, { key: 'cfb710b2af0ea4442d1c2011d8414c6987a98117', class: clsx(this.labelPlacement === 'before' && 'label-placement-before', this.error && 'error') }, hAsync("div", { key: 'a463fa87357a91d71941a265d3daf735abf3a36f', class: "input-container" }, hAsync("input", { key: '0dd7db02107246b427a1e78d8c36068debff85bd', 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
13260
|
if (el) {
|
|
12839
13261
|
el.indeterminate = this.indeterminate;
|
|
12840
13262
|
}
|
|
12841
|
-
} }), hAsync("span", { key: '
|
|
12842
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
12843
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
13263
|
+
} }), hAsync("span", { key: 'a7ee7c812df54bbf91ac6c92e786d4895faa29d4', class: "icon" }, this.checked && !this.indeterminate && (hAsync("slot", { key: 'fe06ae9b2416f08c1889c86d47d0207af6ded057', name: "checked-icon" }, hAsync("svg", { key: '96a1c7a8113f160e4c9fc4ec23ad28f1359151b4', xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 14 14", fill: "none" }, hAsync("path", { key: '37c61f5f7cda8c91f1f5d44781b8326c216eca2a', d: "M11.6667 3.5L5.25004 9.91667L2.33337 7", "stroke-linecap": "round", "stroke-linejoin": "round" })))), this.indeterminate && (hAsync("slot", { key: '276fcac2c23f7f278aa1576fa1f79393263812a6', name: "indeterminate-icon" }, hAsync("svg", { key: 'fcc8e138e98413b0e30e7744f7eeb1e72ca69876', class: "indeterminate-svg", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 14 14", fill: "none" }, hAsync("path", { key: 'd6b6146dc3d3ff52939d644439f8eb92ba9aad64', d: "M2.9165 7H11.0832", "stroke-linecap": "round", "stroke-linejoin": "round" })))))), hAsync("div", { key: 'a13aa3a0a671e6442e0c46c267596deb494d4da9', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '2c2aa68889b6cdd278a99872364336c54f71e96a', htmlFor: this.inputId, class: clsx(this.hideLabel && 'visually-hidden') }, hAsync("slot", { key: 'edd654aa92145a0f24fb56b447c8f6d7839fb329', name: "label" }, this.label))), (this.description ||
|
|
13264
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '1c4fe0f3c27aa59ed6059c91abb7ad060f21baf5', class: "description" }, hAsync("slot", { key: '109955006fefe62ec784bd5d6f3642efc732eb51', name: "description" }, this.description))), (this.errorDescription ||
|
|
13265
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'b86fae37461b9afca6168b8d049293efb395828f', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: '6225f886e6aee38026a4aaf93644a76e70b7ee01', name: "error-description" }, this.errorDescription))))));
|
|
12844
13266
|
}
|
|
12845
13267
|
static get formAssociated() { return true; }
|
|
12846
13268
|
get el() { return getElement(this); }
|
|
@@ -16633,10 +17055,12 @@ var inputmask = {exports: {}};
|
|
|
16633
17055
|
|
|
16634
17056
|
var Inputmask = /*@__PURE__*/getDefaultExportFromCjs(inputmask.exports);
|
|
16635
17057
|
|
|
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)}";
|
|
17058
|
+
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
17059
|
var NvFielddateStyle0 = nvFielddateCss;
|
|
16638
17060
|
|
|
16639
17061
|
/**
|
|
17062
|
+
* A field date component that combines an input with a calendar popover.
|
|
17063
|
+
*
|
|
16640
17064
|
* @slot default - Child content of the component.
|
|
16641
17065
|
* @slot leading-input - Content to be placed before the input text, within the input container.
|
|
16642
17066
|
* @slot before-input - Content to be placed before the input text, outside the input container.
|
|
@@ -16760,10 +17184,7 @@ class NvFielddate {
|
|
|
16760
17184
|
this.inputElement.focus();
|
|
16761
17185
|
// Select the first characters based on the date format
|
|
16762
17186
|
const format = this.dateFormat;
|
|
16763
|
-
if (format.startsWith('DD')) {
|
|
16764
|
-
this.inputElement.setSelectionRange(0, 2);
|
|
16765
|
-
}
|
|
16766
|
-
else if (format.startsWith('MM')) {
|
|
17187
|
+
if (format.startsWith('DD') || format.startsWith('MM')) {
|
|
16767
17188
|
this.inputElement.setSelectionRange(0, 2);
|
|
16768
17189
|
}
|
|
16769
17190
|
else if (format.startsWith('YYYY')) {
|
|
@@ -16790,13 +17211,66 @@ class NvFielddate {
|
|
|
16790
17211
|
}
|
|
16791
17212
|
};
|
|
16792
17213
|
/**
|
|
16793
|
-
*
|
|
17214
|
+
* Initializes the input mask.
|
|
16794
17215
|
*/
|
|
16795
|
-
this.
|
|
16796
|
-
|
|
17216
|
+
this.initializeInputMask = () => {
|
|
17217
|
+
this.currentPlaceholder = '';
|
|
17218
|
+
if (this.inputElement.inputmask) {
|
|
16797
17219
|
return;
|
|
16798
17220
|
}
|
|
16799
|
-
|
|
17221
|
+
const inputMask = new Inputmask({
|
|
17222
|
+
alias: 'datetime',
|
|
17223
|
+
inputFormat: this.convertToInputmaskFormat(this.dateFormat),
|
|
17224
|
+
placeholder: ' ',
|
|
17225
|
+
prefillYear: false,
|
|
17226
|
+
clearIncomplete: false,
|
|
17227
|
+
showMaskOnHover: false,
|
|
17228
|
+
showMaskOnFocus: false,
|
|
17229
|
+
clearMaskOnLostFocus: false,
|
|
17230
|
+
insertMode: true,
|
|
17231
|
+
rightAlign: false,
|
|
17232
|
+
oncomplete: function (e) {
|
|
17233
|
+
const input = e.target;
|
|
17234
|
+
const event = new CustomEvent('input', { bubbles: true });
|
|
17235
|
+
input.dispatchEvent(event);
|
|
17236
|
+
},
|
|
17237
|
+
});
|
|
17238
|
+
inputMask.mask(this.inputElement);
|
|
17239
|
+
// Set the value after applying the mask
|
|
17240
|
+
if (this.inputElement.name === this.name && this.singleValue) {
|
|
17241
|
+
requestAnimationFrame(() => {
|
|
17242
|
+
this.inputElement.value = this.singleValue;
|
|
17243
|
+
const event = new CustomEvent('input', { bubbles: true });
|
|
17244
|
+
this.inputElement.dispatchEvent(event);
|
|
17245
|
+
});
|
|
17246
|
+
}
|
|
17247
|
+
};
|
|
17248
|
+
/**
|
|
17249
|
+
* Handles keydown events on the input before the mask is initialized.
|
|
17250
|
+
* Initializes the mask on the first number input.
|
|
17251
|
+
* @param {KeyboardEvent} event - The keyboard event.
|
|
17252
|
+
*/
|
|
17253
|
+
this.handleKeydownBeforeMask = (event) => {
|
|
17254
|
+
const allowedKeys = [
|
|
17255
|
+
'Backspace',
|
|
17256
|
+
'Delete',
|
|
17257
|
+
'Tab',
|
|
17258
|
+
'ArrowLeft',
|
|
17259
|
+
'ArrowRight',
|
|
17260
|
+
'ArrowUp',
|
|
17261
|
+
'ArrowDown',
|
|
17262
|
+
'Home',
|
|
17263
|
+
'End',
|
|
17264
|
+
];
|
|
17265
|
+
if (/\d/.test(event.key)) {
|
|
17266
|
+
this.initializeInputMask();
|
|
17267
|
+
this.inputElement.removeEventListener('keydown', this.handleKeydownBeforeMask);
|
|
17268
|
+
}
|
|
17269
|
+
else if (!allowedKeys.includes(event.key) &&
|
|
17270
|
+
!event.metaKey &&
|
|
17271
|
+
!event.ctrlKey) {
|
|
17272
|
+
event.preventDefault();
|
|
17273
|
+
}
|
|
16800
17274
|
};
|
|
16801
17275
|
/**
|
|
16802
17276
|
* Handles focus events on the input element.
|
|
@@ -16808,6 +17282,16 @@ class NvFielddate {
|
|
|
16808
17282
|
event.target.blur();
|
|
16809
17283
|
return;
|
|
16810
17284
|
}
|
|
17285
|
+
if (!this.inputElement.inputmask) {
|
|
17286
|
+
this.inputElement.addEventListener('keydown', this.handleKeydownBeforeMask);
|
|
17287
|
+
}
|
|
17288
|
+
this.open = true;
|
|
17289
|
+
};
|
|
17290
|
+
/**
|
|
17291
|
+
* Handles blur events on the input element.
|
|
17292
|
+
*/
|
|
17293
|
+
this.handleBlur = () => {
|
|
17294
|
+
this.inputElement.removeEventListener('keydown', this.handleKeydownBeforeMask);
|
|
16811
17295
|
};
|
|
16812
17296
|
/**
|
|
16813
17297
|
* Prevents the valueChanged event from the calendar from propagating up.
|
|
@@ -16830,6 +17314,15 @@ class NvFielddate {
|
|
|
16830
17314
|
this.setInputRef = (el) => {
|
|
16831
17315
|
this.inputElement = el;
|
|
16832
17316
|
};
|
|
17317
|
+
/**
|
|
17318
|
+
* Toggles the opening/closing of the popover.
|
|
17319
|
+
*/
|
|
17320
|
+
this.toggleCalendar = () => {
|
|
17321
|
+
if (this.readonly || this.disabled) {
|
|
17322
|
+
return;
|
|
17323
|
+
}
|
|
17324
|
+
this.open = !this.open;
|
|
17325
|
+
};
|
|
16833
17326
|
}
|
|
16834
17327
|
//#endregion PROPERTIES
|
|
16835
17328
|
/****************************************************************************/
|
|
@@ -16840,20 +17333,18 @@ class NvFielddate {
|
|
|
16840
17333
|
* @returns {string} Format adapted for Inputmask.
|
|
16841
17334
|
*/
|
|
16842
17335
|
convertToInputmaskFormat(format) {
|
|
16843
|
-
|
|
16844
|
-
|
|
16845
|
-
|
|
16846
|
-
case 'MM/DD/YYYY':
|
|
16847
|
-
return 'mm/dd/yyyy';
|
|
16848
|
-
case 'YYYY-MM-DD':
|
|
16849
|
-
return 'yyyy-mm-dd';
|
|
16850
|
-
case 'DD.MM.YYYY':
|
|
16851
|
-
return 'dd.mm.yyyy';
|
|
16852
|
-
case 'YYYYMMDD':
|
|
16853
|
-
return 'yyyymmdd';
|
|
16854
|
-
default:
|
|
16855
|
-
return format;
|
|
17336
|
+
// If the format is not specified, use the default format
|
|
17337
|
+
if (!format) {
|
|
17338
|
+
return 'dd/mm/yyyy';
|
|
16856
17339
|
}
|
|
17340
|
+
const formatMap = {
|
|
17341
|
+
'DD/MM/YYYY': 'dd/mm/yyyy',
|
|
17342
|
+
'MM/DD/YYYY': 'mm/dd/yyyy',
|
|
17343
|
+
'YYYY-MM-DD': 'yyyy-mm-dd',
|
|
17344
|
+
'DD.MM.YYYY': 'dd.mm.yyyy',
|
|
17345
|
+
'YYYYMMDD': 'yyyymmdd',
|
|
17346
|
+
};
|
|
17347
|
+
return formatMap[format] || 'dd/mm/yyyy';
|
|
16857
17348
|
}
|
|
16858
17349
|
//#endregion METHODS
|
|
16859
17350
|
/****************************************************************************/
|
|
@@ -16865,19 +17356,17 @@ class NvFielddate {
|
|
|
16865
17356
|
if (this.value) {
|
|
16866
17357
|
this.singleValue = this.value;
|
|
16867
17358
|
}
|
|
17359
|
+
this.currentPlaceholder = this.placeholder || this.dateFormat;
|
|
16868
17360
|
}
|
|
16869
17361
|
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
|
-
});
|
|
17362
|
+
// Inputmask is now initialized on the first keypress
|
|
16878
17363
|
}
|
|
16879
17364
|
disconnectedCallback() {
|
|
16880
17365
|
document.removeEventListener('click', this.handleClickOutside);
|
|
17366
|
+
if (this.inputElement &&
|
|
17367
|
+
this.inputElement.inputmask) {
|
|
17368
|
+
this.inputElement.inputmask.remove();
|
|
17369
|
+
}
|
|
16881
17370
|
}
|
|
16882
17371
|
/**
|
|
16883
17372
|
* Handles the single date selection event from nv-calendar.
|
|
@@ -16922,12 +17411,12 @@ class NvFielddate {
|
|
|
16922
17411
|
/****************************************************************************/
|
|
16923
17412
|
//#region RENDER
|
|
16924
17413
|
render() {
|
|
16925
|
-
return (hAsync(Host, { key: '
|
|
16926
|
-
this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '
|
|
17414
|
+
return (hAsync(Host, { key: 'c9f29e6997cf07a03f43e3cc2d8263201829c9c4' }, ((this.label && this.label.length > 0) ||
|
|
17415
|
+
this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '0c12a1773e75621cb7f2c6fbd944405cb444a9e6', htmlFor: this.inputId }, hAsync("slot", { key: '0fdd5a226a5db7ac15be968f42e375f89031235f', name: "label" }, this.label))), hAsync("nv-popover", { key: 'dd0dcf5576026e0b565db34d2a2eafd9e6188127', ref: this.setPopoverRef, id: this.popoverId, triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { key: 'a4c7623e8d72ecc847567be060e8c3db04879062', slot: "trigger", class: "input-wrapper" }, hAsync("slot", { key: 'e270dac5a26904db3d0966871bc10d7c68064e87', name: "before-input" }), hAsync("div", { key: '8d277b89e591249910c9eeae754837ce079de47f', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: '964769b29c4d9119365bf59255180e84ae32b195', name: "leading-input" }), hAsync("input", { key: '41f0f565b4854e7907a5a8972d5ce265e587b7f0', 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: '32d5ffac3789d9b3598811605eccfb1207c4e850', name: "alert-circle", class: "validation", size: "md" })), this.success && (hAsync("nv-icon", { key: '4e88c90987c12199512d77c24205bc2f67c3b8d1', name: "circle-check", class: "validation", size: "md" })), hAsync("nv-iconbutton", { key: 'e169bdd9742569cdcdc087d29ee13f9c097907a9', class: "toggle-calendar-icon", name: "calendar" //{this.open ? 'chevron-top' : 'chevron-down'}
|
|
16927
17416
|
,
|
|
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: '
|
|
17417
|
+
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: '897e5ba6a908c96fdc55bdd522be3f04e9dd14f8', name: "after-input" })), hAsync("div", { key: '6fcb101108ea4536654c2e6204416f899c9f0a04', slot: "content" }, hAsync("nv-calendar", { key: 'd4d7c823ad832ed1c8430b041eacaa1db5633a9f', 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) ||
|
|
17418
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'f76d5dde2222f39883b59a86fe4237818040e03c', class: "description" }, hAsync("slot", { key: 'de07e1ee885a5804b352dba6a37898bba500b731', name: "description" }, this.description))), (this.errorDescription ||
|
|
17419
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'b7dbb4406ee38548f8751f9425a800577f3a3cb2', hidden: !this.error, class: "error-description" }, this.el.querySelector('[slot="error-description"]') ? (hAsync("slot", { name: "error-description" })) : (this.errorDescription))), hAsync("slot", { key: 'a0170ef43d415238e57f29f985329e40f8ed0c2a' })));
|
|
16931
17420
|
}
|
|
16932
17421
|
get el() { return getElement(this); }
|
|
16933
17422
|
static get watchers() { return {
|
|
@@ -16964,6 +17453,7 @@ class NvFielddate {
|
|
|
16964
17453
|
"disabledDates": [16],
|
|
16965
17454
|
"fluid": [516],
|
|
16966
17455
|
"singleValue": [32],
|
|
17456
|
+
"currentPlaceholder": [32],
|
|
16967
17457
|
"open": [32]
|
|
16968
17458
|
},
|
|
16969
17459
|
"$listeners$": [[0, "singleDateChange", "handleSingleDateChange"], [0, "closePopover", "handleClosePopover"], [0, "keydown", "handleKeyDown"]],
|
|
@@ -17421,10 +17911,10 @@ class NvFielddaterange {
|
|
|
17421
17911
|
/****************************************************************************/
|
|
17422
17912
|
//#region RENDER
|
|
17423
17913
|
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: '
|
|
17914
|
+
return (hAsync(Host, { key: 'b2033314494faca72c310df329eab3918fe6935e' }, ((this.label && this.label.length > 0) ||
|
|
17915
|
+
this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '22e0af3e24bada8d859bcf42de0dfcedff9f5988', htmlFor: this.startInputId }, hAsync("slot", { key: '8eb3e4e1a4c67c0d9cd014aa2c73b6fc2ecb1a8f', name: "label" }, this.label))), hAsync("nv-popover", { key: 'f9c722e792ba69738df080975f78ea3dfeb40f07', ref: el => (this.popoverElement = el), id: this.popoverId, triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { key: '805c98d4a9e1defc74c0b751691e413dfbcfa736', slot: "trigger", class: "input-wrapper" }, hAsync("slot", { key: 'd84ddf0a0732a68392c79baab9cde23be6b1b27e', name: "before-input" }), hAsync("div", { key: '4f3cfab2e9a83dacc0f950bc319192b568f90258', class: "input-container" }, hAsync("slot", { key: '2d8dd5e11369dc9bd1894e299f96b41806295568', name: "leading-input" }), hAsync("div", { key: 'b60b40b275099441071b130bed7d097e8c1dcbcb', class: "range-inputs" }, hAsync("input", { key: 'b7c647676fa5e48d51e7b7f1cf83e4a0275805ec', id: this.startInputId, type: "text", placeholder: this.startPlaceholder, name: this.startName, disabled: this.disabled, readOnly: this.readonly, required: this.required, autofocus: this.autofocus, value: this.startValue, onInput: this.handleStartInput, onFocus: this.handleFocus, "data-scope": "date-range" }), hAsync("div", { key: '3e63ececeeff713f51db0a47e3d3b4f305e6fc66', class: "range-separator" }), hAsync("input", { key: '1c54a2e3f43ad077bfe9e9b17886300d06840bfd', id: this.endInputId, type: "text", placeholder: this.endPlaceholder, name: this.endName, disabled: this.disabled, readOnly: this.readonly, required: this.required, value: this.endValue, onInput: this.handleEndInput, onFocus: this.handleFocus, "data-scope": "date-range" })), this.error && (hAsync("nv-icon", { key: '971b363f7fafbaeba65a161c1d7792d2bcacacf6', name: "alert-circle", class: "validation", size: "md" })), this.success && (hAsync("nv-icon", { key: '0f498b287b4c9ad9f83a0d380c522441b8afdf6e', name: "circle-check", class: "validation", size: "md" })), hAsync("nv-iconbutton", { key: '257549f7c201391c083f28f1b89ffa3a439f268c', class: "toggle-calendar-icon", name: "calendar", size: "md", emphasis: "lower", "aria-label": this.open ? 'Hide calendar' : 'Show calendar', "aria-pressed": this.open.toString(), onClick: this.toggleCalendar, tabIndex: this.disabled ? -1 : 0 })), hAsync("slot", { key: '7be106f2f1500839e899d6f9c6f3705398cadd1a', name: "after-input" })), hAsync("div", { key: 'd2c56635c83628f37f0c1ec127bfeaca5fb78b90', slot: "content" }, hAsync("nv-calendar", { key: '4ec9eea45e030463c2df0115a0cfd6453da66f01', 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) ||
|
|
17916
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'a624ba699b3b7a7bb4d26725fe451ecd5df1f5a2', class: "description" }, hAsync("slot", { key: 'f2c3666075730a248e57c748b32df33a59f3777e', name: "description" }, this.description))), (this.errorDescription ||
|
|
17917
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'e2c1f8816b896d00e2c4ba8b32bc28380630ecad', hidden: !this.error, class: "error-description" }, this.el.querySelector('[slot="error-description"]') ? (hAsync("slot", { name: "error-description" })) : (this.errorDescription))), hAsync("slot", { key: 'cee75865d222324b8d7f3144ba2facaefcaf1d35' })));
|
|
17428
17918
|
}
|
|
17429
17919
|
get el() { return getElement(this); }
|
|
17430
17920
|
static get watchers() { return {
|
|
@@ -17835,9 +18325,9 @@ class NvFielddropdown {
|
|
|
17835
18325
|
//#region RENDER
|
|
17836
18326
|
render() {
|
|
17837
18327
|
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: '
|
|
18328
|
+
return (hAsync(Host, { key: 'a4de1529678c493e92022229993443c93533f0a4', role: "combobox", "aria-expanded": this.open.toString(), "aria-haspopup": "listbox", "aria-label": this.label }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '6bf4ff6df1b4c62304ac623bea21554779b1bcfa', htmlFor: this.inputId }, hAsync("slot", { key: '10bd19c28259c033ad2b8c9601655da9723bdbd0', name: "label" }, this.label))), hAsync("nv-popover", { key: 'fc85eb3c9d72a90f47c6fcfbbf6f6cc234fa8df1', ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { key: '6a7f4be2cdfd6399ce79f4cd7b0dc9abfd3a1c74', class: "input-wrapper", slot: "trigger" }, hAsync("slot", { key: '97e82c45801d338456d81601fb147e235dd604d4', name: "before-input" }), hAsync("div", { key: 'd6f3d6ca42acc7c14689fedac22328c53d2a61af', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: 'd48c3800aa174716eb4bf4a81e545fabeb73d187', 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: 'f01cf253ba3f31ff0269ecdf36d7d1e3249039a8', name: "x", size: "md", emphasis: "lower", class: "clear-button", onClick: this.clearFilter, "aria-label": "Clear input" })), this.error && (hAsync("nv-icon", { key: '10b828451cf4a177a3580d2d01080036a25e9692', name: "alert-circle", class: "validation", size: "md" })), hAsync("nv-iconbutton", { key: '94edaa4e3ce5f80021db58bc5fa087424d4bf7d3', "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: '25e76d6ecfcff7514d2dfb970387f2af23506b40', name: "after-input" })), hAsync("div", { key: '58c6e1de57d31f1827e9bf24da62f5801f8c99b9', 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 ||
|
|
18329
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '5a35ceee27f3a2ab41742f396f450b8783832742', class: "description" }, hAsync("slot", { key: 'ff012c2168c6ab6808de46a1f26f2f186fbe452f', name: "description" }, this.description))), (this.errorDescription ||
|
|
18330
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '9c668e1c484c4caf45fa9e38dbca4dae0e93fea3', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: 'ec9c91da75b1ec899ef68a569e6dd0a271b0307b', name: "error-description" }, this.errorDescription)))));
|
|
17841
18331
|
}
|
|
17842
18332
|
static get formAssociated() { return true; }
|
|
17843
18333
|
get el() { return getElement(this); }
|
|
@@ -17939,7 +18429,7 @@ class NvFielddropdownitem {
|
|
|
17939
18429
|
/****************************************************************************/
|
|
17940
18430
|
//#region RENDER
|
|
17941
18431
|
render() {
|
|
17942
|
-
return (hAsync(Host, { key: '
|
|
18432
|
+
return (hAsync(Host, { key: '9006514e798c91bf3d447f6e74f80afc8831813c', role: "menuitem", tabindex: '-1', onClick: this.handleSelected }, hAsync("slot", { key: '9344d00bbdaf5fd8e7676ccaf770621925a465b9' }), !this.composed && (hAsync("div", { key: '2f64fb5f87cf35dcc7ddf4b9d28c0811c7143c1d', class: "text-wrapper" }, hAsync("span", { key: 'c7a17a07092e2cfa9698e885f1ecfcf1fff1a38b', "data-scope": "text" }, this.label))), this.selected && (hAsync("nv-icon", { key: '44e8e60b72270c11633fd439ba3c5b3c67e08270', name: "check", "aria-hidden": "true", "data-scope": "selected" }))));
|
|
17943
18433
|
}
|
|
17944
18434
|
get el() { return getElement(this); }
|
|
17945
18435
|
static get style() { return NvFielddropdownitemStyle0; }
|
|
@@ -18004,7 +18494,7 @@ class NvFielddropdownitemcheck {
|
|
|
18004
18494
|
};
|
|
18005
18495
|
}
|
|
18006
18496
|
render() {
|
|
18007
|
-
return (hAsync(Host, { key: '
|
|
18497
|
+
return (hAsync(Host, { key: '69cd9636b76fa1c5f49f9c67b6d0989d9967d0cf', onClick: this.handleClick }, hAsync("nv-fieldcheckbox", { key: 'b0e2035c3ff1a3a2d8f2922c9fe2e6edcfad00d4', 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 })));
|
|
18008
18498
|
}
|
|
18009
18499
|
get el() { return getElement(this); }
|
|
18010
18500
|
static get style() { return NvFielddropdownitemcheckStyle0; }
|
|
@@ -18041,7 +18531,7 @@ class NvFieldmultiselect {
|
|
|
18041
18531
|
constructor(hostRef) {
|
|
18042
18532
|
registerInstance(this, hostRef);
|
|
18043
18533
|
this.valueChanged = createEvent(this, "valueChanged", 7);
|
|
18044
|
-
this.
|
|
18534
|
+
this.filterTextChanged = createEvent(this, "filterTextChanged", 7);
|
|
18045
18535
|
/****************************************************************************/
|
|
18046
18536
|
//#region PROPERTIES
|
|
18047
18537
|
/**
|
|
@@ -18058,6 +18548,11 @@ class NvFieldmultiselect {
|
|
|
18058
18548
|
* always type in fresh data.
|
|
18059
18549
|
*/
|
|
18060
18550
|
this.autocomplete = 'off';
|
|
18551
|
+
/**
|
|
18552
|
+
* Specifies the selected values of the multiselect field.
|
|
18553
|
+
* This is the canonical value for the component and is used for form submission.
|
|
18554
|
+
*/
|
|
18555
|
+
this.value = [];
|
|
18061
18556
|
/**
|
|
18062
18557
|
* Marks the input field as required.
|
|
18063
18558
|
*/
|
|
@@ -18111,17 +18606,13 @@ class NvFieldmultiselect {
|
|
|
18111
18606
|
* Text for the badge showing the number of selected items.
|
|
18112
18607
|
*/
|
|
18113
18608
|
this.badgeLabel = '';
|
|
18114
|
-
//#endregion PROPERTIES
|
|
18115
|
-
/****************************************************************************/
|
|
18116
|
-
//#region STATE
|
|
18117
18609
|
/**
|
|
18118
18610
|
* The text entered by the user for filtering multiselect items.
|
|
18119
18611
|
*/
|
|
18120
18612
|
this.filterText = '';
|
|
18121
|
-
|
|
18122
|
-
|
|
18123
|
-
|
|
18124
|
-
this.selectedValues = [];
|
|
18613
|
+
//#endregion PROPERTIES
|
|
18614
|
+
/****************************************************************************/
|
|
18615
|
+
//#region STATE
|
|
18125
18616
|
/**
|
|
18126
18617
|
* Sorted options for display.
|
|
18127
18618
|
*/
|
|
@@ -18131,8 +18622,8 @@ class NvFieldmultiselect {
|
|
|
18131
18622
|
* Handle badge close for options mode.
|
|
18132
18623
|
*/
|
|
18133
18624
|
this.handleBadgeCloseOptions = () => {
|
|
18134
|
-
this.
|
|
18135
|
-
this.
|
|
18625
|
+
this.value = [];
|
|
18626
|
+
this.valueChanged.emit(this.value);
|
|
18136
18627
|
// Uncheck all elements
|
|
18137
18628
|
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
|
|
18138
18629
|
items.forEach(item => {
|
|
@@ -18148,8 +18639,8 @@ class NvFieldmultiselect {
|
|
|
18148
18639
|
* Handle badge close for slots mode.
|
|
18149
18640
|
*/
|
|
18150
18641
|
this.handleBadgeCloseSlots = () => {
|
|
18151
|
-
this.
|
|
18152
|
-
this.
|
|
18642
|
+
this.value = [];
|
|
18643
|
+
this.valueChanged.emit(this.value);
|
|
18153
18644
|
// Uncheck all elements
|
|
18154
18645
|
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
|
|
18155
18646
|
items.forEach(item => {
|
|
@@ -18167,8 +18658,7 @@ class NvFieldmultiselect {
|
|
|
18167
18658
|
if (this.isHandlingEscape) {
|
|
18168
18659
|
return;
|
|
18169
18660
|
}
|
|
18170
|
-
|
|
18171
|
-
// Reset filter if needed
|
|
18661
|
+
// Reset filter if needed, but preserve the filter text
|
|
18172
18662
|
if (this.filterable) {
|
|
18173
18663
|
this.resetFilter();
|
|
18174
18664
|
}
|
|
@@ -18181,9 +18671,8 @@ class NvFieldmultiselect {
|
|
|
18181
18671
|
if (!this.el.contains(document.activeElement)) {
|
|
18182
18672
|
// Close the popover without affecting the divider
|
|
18183
18673
|
this.open = false;
|
|
18184
|
-
// Reset filter if needed
|
|
18674
|
+
// Reset filter if needed, but preserve the filter text
|
|
18185
18675
|
if (this.filterable) {
|
|
18186
|
-
this.filterText = '';
|
|
18187
18676
|
this.resetFilter();
|
|
18188
18677
|
}
|
|
18189
18678
|
}
|
|
@@ -18242,15 +18731,14 @@ class NvFieldmultiselect {
|
|
|
18242
18731
|
return;
|
|
18243
18732
|
}
|
|
18244
18733
|
const input = event.target;
|
|
18245
|
-
this.
|
|
18246
|
-
this.
|
|
18734
|
+
this.filterText = input.value;
|
|
18735
|
+
this.filterTextChanged.emit(this.filterText);
|
|
18247
18736
|
// Clear any existing timer
|
|
18248
18737
|
if (this.debounceTimer) {
|
|
18249
18738
|
window.clearTimeout(this.debounceTimer);
|
|
18250
18739
|
}
|
|
18251
18740
|
// Set a new timer for filtering
|
|
18252
18741
|
this.debounceTimer = window.setTimeout(() => {
|
|
18253
|
-
this.filterText = input.value.toLowerCase();
|
|
18254
18742
|
this.filterItemsOption();
|
|
18255
18743
|
}, this.debounceDelay);
|
|
18256
18744
|
};
|
|
@@ -18264,15 +18752,14 @@ class NvFieldmultiselect {
|
|
|
18264
18752
|
if (this.disabled || this.readonly)
|
|
18265
18753
|
return;
|
|
18266
18754
|
const input = event.target;
|
|
18267
|
-
this.
|
|
18268
|
-
this.
|
|
18755
|
+
this.filterText = input.value;
|
|
18756
|
+
this.filterTextChanged.emit(this.filterText);
|
|
18269
18757
|
// Clear any existing timer
|
|
18270
18758
|
if (this.debounceTimer) {
|
|
18271
18759
|
window.clearTimeout(this.debounceTimer);
|
|
18272
18760
|
}
|
|
18273
18761
|
// Set a new timer for filtering
|
|
18274
18762
|
this.debounceTimer = window.setTimeout(() => {
|
|
18275
|
-
this.filterText = input.value.toLowerCase();
|
|
18276
18763
|
this.filterSlotsItems();
|
|
18277
18764
|
}, this.debounceDelay);
|
|
18278
18765
|
};
|
|
@@ -18302,9 +18789,8 @@ class NvFieldmultiselect {
|
|
|
18302
18789
|
if (!this.el.contains(document.activeElement)) {
|
|
18303
18790
|
// Close the popover without affecting the divider
|
|
18304
18791
|
this.open = false;
|
|
18305
|
-
// Reset filter if needed
|
|
18792
|
+
// Reset filter if needed, but preserve the filter text
|
|
18306
18793
|
if (this.filterable) {
|
|
18307
|
-
this.filterText = '';
|
|
18308
18794
|
this.resetFilter();
|
|
18309
18795
|
}
|
|
18310
18796
|
}
|
|
@@ -18336,14 +18822,14 @@ class NvFieldmultiselect {
|
|
|
18336
18822
|
* @returns {any} The JSX for options mode
|
|
18337
18823
|
*/
|
|
18338
18824
|
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.
|
|
18825
|
+
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" })), 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
18826
|
};
|
|
18341
18827
|
/**
|
|
18342
18828
|
* Renders the component in slots mode
|
|
18343
18829
|
* @returns {any} The JSX for slots mode
|
|
18344
18830
|
*/
|
|
18345
18831
|
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.
|
|
18832
|
+
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" })), 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
18833
|
};
|
|
18348
18834
|
}
|
|
18349
18835
|
//#endregion EVENTS
|
|
@@ -18352,7 +18838,7 @@ class NvFieldmultiselect {
|
|
|
18352
18838
|
handleOptionsChange(newValue) {
|
|
18353
18839
|
if (!newValue)
|
|
18354
18840
|
return;
|
|
18355
|
-
this.
|
|
18841
|
+
this.value = newValue
|
|
18356
18842
|
.filter(option => option.checked)
|
|
18357
18843
|
.map(option => option.value);
|
|
18358
18844
|
this.reorderOptionsContent();
|
|
@@ -18361,8 +18847,10 @@ class NvFieldmultiselect {
|
|
|
18361
18847
|
* Emitted when the value changes.
|
|
18362
18848
|
*/
|
|
18363
18849
|
watchValueHandler() {
|
|
18364
|
-
//
|
|
18365
|
-
this.
|
|
18850
|
+
// Synchronize child components when value changes programmatically
|
|
18851
|
+
if (this.el && this.el.isConnected) {
|
|
18852
|
+
this.syncChildComponents();
|
|
18853
|
+
}
|
|
18366
18854
|
}
|
|
18367
18855
|
//#endregion WATCHERS
|
|
18368
18856
|
/****************************************************************************/
|
|
@@ -18402,22 +18890,23 @@ class NvFieldmultiselect {
|
|
|
18402
18890
|
}
|
|
18403
18891
|
const { value, checked } = event.detail;
|
|
18404
18892
|
if (value !== undefined && value !== null) {
|
|
18405
|
-
const
|
|
18406
|
-
const valueIndex =
|
|
18893
|
+
const newValue = [...this.value];
|
|
18894
|
+
const valueIndex = newValue.indexOf(value);
|
|
18407
18895
|
if (checked && valueIndex === -1) {
|
|
18408
|
-
|
|
18896
|
+
newValue.push(value);
|
|
18409
18897
|
}
|
|
18410
18898
|
else if (!checked && valueIndex > -1) {
|
|
18411
|
-
|
|
18899
|
+
newValue.splice(valueIndex, 1);
|
|
18412
18900
|
}
|
|
18413
|
-
//
|
|
18414
|
-
|
|
18415
|
-
|
|
18416
|
-
|
|
18417
|
-
|
|
18418
|
-
|
|
18419
|
-
|
|
18420
|
-
|
|
18901
|
+
// Always update the state and emit the event when an item is checked/unchecked
|
|
18902
|
+
this.value = newValue;
|
|
18903
|
+
this.valueChanged.emit(this.value);
|
|
18904
|
+
// Update the checked state of all items to ensure consistency
|
|
18905
|
+
this.syncChildComponents();
|
|
18906
|
+
// Preserve the filter text in the input
|
|
18907
|
+
if (this.filterable && this.inputElement) {
|
|
18908
|
+
// Keep the current filter text in the input
|
|
18909
|
+
this.inputElement.value = this.filterText;
|
|
18421
18910
|
}
|
|
18422
18911
|
}
|
|
18423
18912
|
else {
|
|
@@ -18456,12 +18945,10 @@ class NvFieldmultiselect {
|
|
|
18456
18945
|
}
|
|
18457
18946
|
// Specific initialization for slots mode
|
|
18458
18947
|
if (!this.options) {
|
|
18948
|
+
// Use a microtask to ensure DOM is ready
|
|
18459
18949
|
Promise.resolve().then(() => {
|
|
18460
|
-
|
|
18461
|
-
|
|
18462
|
-
this.selectedValues = items
|
|
18463
|
-
.filter(item => item.hasAttribute('checked'))
|
|
18464
|
-
.map(item => item.getAttribute('value') || '');
|
|
18950
|
+
// Synchronize child components
|
|
18951
|
+
this.syncChildComponents();
|
|
18465
18952
|
// Force a reorder after initialization
|
|
18466
18953
|
requestAnimationFrame(() => {
|
|
18467
18954
|
this.reorderSlotContent();
|
|
@@ -18472,13 +18959,8 @@ class NvFieldmultiselect {
|
|
|
18472
18959
|
if (this.options) {
|
|
18473
18960
|
this.sortedOptions = [...((_a = this.options) !== null && _a !== void 0 ? _a : [])];
|
|
18474
18961
|
}
|
|
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
|
|
18962
|
+
// Reset filter if needed
|
|
18963
|
+
if (!this.filterText) {
|
|
18482
18964
|
this.resetFilter();
|
|
18483
18965
|
}
|
|
18484
18966
|
}
|
|
@@ -18489,6 +18971,8 @@ class NvFieldmultiselect {
|
|
|
18489
18971
|
if (this.options) {
|
|
18490
18972
|
this.handleOptionsChange(this.options);
|
|
18491
18973
|
}
|
|
18974
|
+
// Final synchronization of child components after everything is loaded
|
|
18975
|
+
this.syncChildComponents();
|
|
18492
18976
|
}
|
|
18493
18977
|
/**
|
|
18494
18978
|
* Unsubscribe from click outside event.
|
|
@@ -18506,38 +18990,6 @@ class NvFieldmultiselect {
|
|
|
18506
18990
|
async getFilterText() {
|
|
18507
18991
|
return this.filterText;
|
|
18508
18992
|
}
|
|
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
18993
|
/**
|
|
18542
18994
|
* Reset the filter and make all items visible.
|
|
18543
18995
|
*/
|
|
@@ -18554,8 +19006,8 @@ class NvFieldmultiselect {
|
|
|
18554
19006
|
if (emptyMessage)
|
|
18555
19007
|
emptyMessage.remove();
|
|
18556
19008
|
// Reorder with divider if needed
|
|
18557
|
-
const selectedItems = items.filter(item => this.
|
|
18558
|
-
const unselectedItems = items.filter(item => !this.
|
|
19009
|
+
const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
19010
|
+
const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
18559
19011
|
if (selectedItems.length > 0) {
|
|
18560
19012
|
this.manageDivider(ul, selectedItems, unselectedItems);
|
|
18561
19013
|
}
|
|
@@ -18566,7 +19018,7 @@ class NvFieldmultiselect {
|
|
|
18566
19018
|
* @returns {string[]} The selected values.
|
|
18567
19019
|
*/
|
|
18568
19020
|
async getSelectedValues() {
|
|
18569
|
-
return this.
|
|
19021
|
+
return this.value;
|
|
18570
19022
|
}
|
|
18571
19023
|
/**
|
|
18572
19024
|
* Reorder the content of the slot.
|
|
@@ -18588,8 +19040,8 @@ class NvFieldmultiselect {
|
|
|
18588
19040
|
return;
|
|
18589
19041
|
}
|
|
18590
19042
|
// Separate checked vs unchecked
|
|
18591
|
-
const selectedItems = items.filter(item => this.
|
|
18592
|
-
const unselectedItems = items.filter(item => !this.
|
|
19043
|
+
const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
19044
|
+
const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
18593
19045
|
// Reinsert CHECKED items FIRST
|
|
18594
19046
|
// appendChild() moves the element without recreating it
|
|
18595
19047
|
// this is not trigger a re-rendering of the component in the platforms
|
|
@@ -18615,8 +19067,8 @@ class NvFieldmultiselect {
|
|
|
18615
19067
|
if (!ul)
|
|
18616
19068
|
return;
|
|
18617
19069
|
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.
|
|
19070
|
+
const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
19071
|
+
const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
18620
19072
|
// Reorder the elements
|
|
18621
19073
|
selectedItems.forEach(item => ul.appendChild(item));
|
|
18622
19074
|
unselectedItems.forEach(item => ul.appendChild(item));
|
|
@@ -18652,8 +19104,8 @@ class NvFieldmultiselect {
|
|
|
18652
19104
|
}
|
|
18653
19105
|
// Reorder with divider
|
|
18654
19106
|
const items = Array.from(ul.querySelectorAll('nv-fielddropdownitemcheck'));
|
|
18655
|
-
const selectedItems = items.filter(item => this.
|
|
18656
|
-
const unselectedItems = items.filter(item => !this.
|
|
19107
|
+
const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
19108
|
+
const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
18657
19109
|
this.manageDivider(ul, selectedItems, unselectedItems);
|
|
18658
19110
|
return;
|
|
18659
19111
|
}
|
|
@@ -18674,8 +19126,8 @@ class NvFieldmultiselect {
|
|
|
18674
19126
|
});
|
|
18675
19127
|
// Manage the divider with the visible items
|
|
18676
19128
|
const visibleItems = items.filter(item => item.style.display !== 'none');
|
|
18677
|
-
const visibleSelected = visibleItems.filter(item => this.
|
|
18678
|
-
const visibleUnselected = visibleItems.filter(item => !this.
|
|
19129
|
+
const visibleSelected = visibleItems.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
19130
|
+
const visibleUnselected = visibleItems.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
18679
19131
|
this.manageDivider(ul, visibleSelected, visibleUnselected);
|
|
18680
19132
|
}
|
|
18681
19133
|
else {
|
|
@@ -18733,8 +19185,8 @@ class NvFieldmultiselect {
|
|
|
18733
19185
|
});
|
|
18734
19186
|
// Manage the divider with the visible items
|
|
18735
19187
|
const visibleItems = items.filter(item => item.style.display !== 'none');
|
|
18736
|
-
const visibleSelected = visibleItems.filter(item => this.
|
|
18737
|
-
const visibleUnselected = visibleItems.filter(item => !this.
|
|
19188
|
+
const visibleSelected = visibleItems.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
19189
|
+
const visibleUnselected = visibleItems.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
18738
19190
|
this.manageDivider(ul, visibleSelected, visibleUnselected);
|
|
18739
19191
|
// Add or remove the empty message based on the case
|
|
18740
19192
|
if (!hasVisibleItems) {
|
|
@@ -18782,8 +19234,8 @@ class NvFieldmultiselect {
|
|
|
18782
19234
|
});
|
|
18783
19235
|
// Get visible items after filtering
|
|
18784
19236
|
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.
|
|
19237
|
+
const visibleSelectedItems = visibleItems.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
19238
|
+
this.manageDivider(ul, visibleSelectedItems, visibleItems.filter(item => !this.value.includes(item.getAttribute('value') || '')));
|
|
18787
19239
|
// Add empty message if no items match the filter
|
|
18788
19240
|
if (!hasVisibleItems) {
|
|
18789
19241
|
const emptyMessage = document.createElement('li');
|
|
@@ -18980,6 +19432,29 @@ class NvFieldmultiselect {
|
|
|
18980
19432
|
divider.style.display = 'none';
|
|
18981
19433
|
}
|
|
18982
19434
|
}
|
|
19435
|
+
/**
|
|
19436
|
+
* Synchronizes the checked state of all child nv-fielddropdownitemcheck components
|
|
19437
|
+
* with the current selectedValues state.
|
|
19438
|
+
*/
|
|
19439
|
+
syncChildComponents() {
|
|
19440
|
+
// Early return if element is not ready
|
|
19441
|
+
if (!this.el || !this.el.isConnected) {
|
|
19442
|
+
return;
|
|
19443
|
+
}
|
|
19444
|
+
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
|
|
19445
|
+
items.forEach(item => {
|
|
19446
|
+
// Get the effective value: use explicit value if present, otherwise use label
|
|
19447
|
+
const itemValue = item.getAttribute('value') || item.getAttribute('label') || '';
|
|
19448
|
+
if (this.value.includes(itemValue)) {
|
|
19449
|
+
item.setAttribute('checked', '');
|
|
19450
|
+
item.checked = true;
|
|
19451
|
+
}
|
|
19452
|
+
else {
|
|
19453
|
+
item.removeAttribute('checked');
|
|
19454
|
+
item.checked = false;
|
|
19455
|
+
}
|
|
19456
|
+
});
|
|
19457
|
+
}
|
|
18983
19458
|
/**
|
|
18984
19459
|
* Renders description and error description sections
|
|
18985
19460
|
* @returns {any} The JSX for descriptions
|
|
@@ -19015,7 +19490,7 @@ class NvFieldmultiselect {
|
|
|
19015
19490
|
"description": [513],
|
|
19016
19491
|
"placeholder": [513],
|
|
19017
19492
|
"autocomplete": [513],
|
|
19018
|
-
"value": [
|
|
19493
|
+
"value": [1040],
|
|
19019
19494
|
"required": [516],
|
|
19020
19495
|
"readonly": [516],
|
|
19021
19496
|
"disabled": [516],
|
|
@@ -19030,8 +19505,7 @@ class NvFieldmultiselect {
|
|
|
19030
19505
|
"autofocus": [516],
|
|
19031
19506
|
"fluid": [516],
|
|
19032
19507
|
"badgeLabel": [513, "badge-label"],
|
|
19033
|
-
"filterText": [
|
|
19034
|
-
"selectedValues": [32],
|
|
19508
|
+
"filterText": [1537, "filter-text"],
|
|
19035
19509
|
"sortedOptions": [32],
|
|
19036
19510
|
"isHandlingEscape": [32],
|
|
19037
19511
|
"getFilterText": [64],
|
|
@@ -19040,7 +19514,7 @@ class NvFieldmultiselect {
|
|
|
19040
19514
|
},
|
|
19041
19515
|
"$listeners$": [[0, "openChanged", "handleOpenChanged"], [0, "itemChecked", "handleItemChecked"], [0, "slotchange", "handleSlotChange"], [0, "keydown", "handleKeyDown"]],
|
|
19042
19516
|
"$lazyBundleId$": "-",
|
|
19043
|
-
"$attrsToReflect$": [["inputId", "input-id"], ["name", "name"], ["label", "label"], ["description", "description"], ["placeholder", "placeholder"], ["autocomplete", "autocomplete"], ["
|
|
19517
|
+
"$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
19518
|
}; }
|
|
19045
19519
|
}
|
|
19046
19520
|
|
|
@@ -19164,9 +19638,9 @@ class NvFieldnumber {
|
|
|
19164
19638
|
/****************************************************************************/
|
|
19165
19639
|
//#region RENDER
|
|
19166
19640
|
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: '
|
|
19641
|
+
return (hAsync(Host, { key: '908571e657b876e4bf13d2cd88c74ed56375a4a9' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'd46ff199fa0211227293ebab6159ee98916e4845', htmlFor: this.inputId }, hAsync("slot", { key: '0e825e862bfadb313b723898d0732efb36f001c0', name: "label" }, this.label))), hAsync("div", { key: 'e001c956494a7b3c90cb713540b9300f6482cbb7', class: "input-wrapper" }, hAsync("slot", { key: '07f53c5fafcd308609b4ecfb721b9b0f791d5bf5', name: "before-input" }), hAsync("div", { key: '266fe99cc757c5646aa4bcbf262d7f6eb21fa507', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: 'f80e50ffa553656b26c80be179fd5bda8fd7234e', name: "leading-input" }), hAsync("input", { key: '3fb53e266a44118a464f5fffef5019d900f25668', 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: '9769d9b13676f8022eb7771869876125e7d13ea2', name: "trailing-input" }), this.error && (hAsync("nv-icon", { key: 'feedeb1dfcf9a5b8c3e6f4e355af64db5e108125', name: "alert-circle", class: "validation", size: "md" })), this.success && (hAsync("nv-icon", { key: '6f3819ea3bad57b373e24e5b167887c2175534ce', name: "circle-check", class: "validation", size: "md" })), hAsync("div", { key: 'ab83ad88264a5295f8239b308af7b61c04095b8c', class: "stepper" }, hAsync("nv-iconbutton", { key: '67bf2dc34cab126f8ebb8ad1368d326ce4e448c9', size: "md", name: "minus", emphasis: "lower", onClick: this.handleMinus, disabled: this.isMinValueReached(), onMouseDown: this.preventSelection, tabindex: "-1" }), hAsync("nv-iconbutton", { key: '2ae711f4ff770049fb9b9afa4075b02a5d41d881', size: "md", name: "plus", emphasis: "lower", onClick: this.handlePlus, disabled: this.isMaxValueReached(), onMouseDown: this.preventSelection, tabindex: "-1" }))), hAsync("slot", { key: 'f59664d1200b6e1e300cac52ceaee03b1be68cea', name: "after-input" })), (this.description ||
|
|
19642
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '10cefd1d1e86d33456b6800d5d1f3f5c7a10a16c', class: "description" }, hAsync("slot", { key: 'a8544e2917993f7fa45200e51e983277c6f0b393', name: "description" }, this.description))), (this.errorDescription ||
|
|
19643
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '95ffb42b6014514a51102b0bfa60887ff3394362', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: '47d19a9cf2de2cdd2f23a5cf7a74943f9de8cb7e', name: "error-description" }, this.errorDescription)))));
|
|
19170
19644
|
}
|
|
19171
19645
|
static get formAssociated() { return true; }
|
|
19172
19646
|
get el() { return getElement(this); }
|
|
@@ -19314,9 +19788,9 @@ class NvFieldpassword {
|
|
|
19314
19788
|
/****************************************************************************/
|
|
19315
19789
|
//#region RENDER
|
|
19316
19790
|
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: '
|
|
19791
|
+
return (hAsync(Host, { key: 'a14a4df5990def8c1b76e191dc3480c2eee73446' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'b3f8d2a9b98afbd9ba7e932a4fd2639855bce785', htmlFor: this.inputId }, hAsync("slot", { key: 'af896d231a0c0b5b5ce921e24f98b32702fe0058', name: "label" }, this.label))), hAsync("div", { key: '6047dabbbb95967bf4afb01144a5f2af98677caf', class: "input-wrapper" }, hAsync("slot", { key: 'eb36d6c886f7efc91508b97a4cb11c43d7e7809b', name: "before-input" }), hAsync("div", { key: 'f9de2896f8d7a29d700e9c7f586f5190c48b0304', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: '3203cc62507460372c3babcede4071cf4a068122', name: "leading-input" }), hAsync("input", { key: 'bef15c1b3da5f949e4a55644dbea6499f398f71a', 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: 'b23cac5c39ea1a428831583075d2e631eb13c231', name: this.success ? 'circle-check' : 'alert-circle', class: "validation", size: "md" })), !this.hidePasswordIcon && (hAsync("nv-iconbutton", { key: '9a6a4900981781239b40e7106974e0d520dbf76a', 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: 'e3be0e70cad0f581b7fb0bee13046dcbf3d01791', name: "after-input" })), (this.description ||
|
|
19792
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'a0613b0fc5f68e82a3bff9a7943c33fd89fad6c8', class: "description" }, hAsync("slot", { key: '7f74f1207e31772ff485927d3c0334185bb14e77', name: "description" }, this.description))), (this.errorDescription ||
|
|
19793
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '1fba0209bef041b3582bc36dc3b603c6b3a24088', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: '16c86655cc33bf47d1d4c388bcc4ac6272aa7714', name: "error-description" }, this.errorDescription)))));
|
|
19320
19794
|
}
|
|
19321
19795
|
static get formAssociated() { return true; }
|
|
19322
19796
|
get el() { return getElement(this); }
|
|
@@ -19444,9 +19918,9 @@ class NvFieldradio {
|
|
|
19444
19918
|
/****************************************************************************/
|
|
19445
19919
|
//#region RENDER
|
|
19446
19920
|
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: '
|
|
19921
|
+
return (hAsync(Host, { key: 'abfa20ef5921ee52cbe6c3ea92b27bbd4e81a116', class: clsx(this.labelPlacement === 'before' && 'label-placement-before', this.error && 'error') }, hAsync("input", { key: 'ffa244c2692f3f4b3781df6ed3916139763d3253', 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: '661ccebfcd608d3d5a819144c1048b7b612d93ad', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '0764fffd0b6c961d3149130fd92fc3e5be4617d4', htmlFor: this.inputId }, hAsync("slot", { key: '5b5c107074f406864f889187a73c3b6c25b5ad36', name: "label" }, this.label))), (this.description ||
|
|
19922
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '68bb23249fc70db7346e4deb1924e24fd0e43133', class: "description" }, hAsync("slot", { key: 'fee77e49f6a48f592eba370f8e842cc3c51a9569', name: "description" }, this.description))), (this.errorDescription ||
|
|
19923
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '0544f59d2446dd3d1137839643222ae1d32236a2', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: '655fbb4ca21e3001425dcfbb6d9188586e0548ca', name: "error-description" }, this.errorDescription))))));
|
|
19450
19924
|
}
|
|
19451
19925
|
static get formAssociated() { return true; }
|
|
19452
19926
|
get el() { return getElement(this); }
|
|
@@ -19830,13 +20304,13 @@ class NvFieldselect {
|
|
|
19830
20304
|
* @returns {HTMLStencilElement} The HTML element to render.
|
|
19831
20305
|
*/
|
|
19832
20306
|
render() {
|
|
19833
|
-
return (hAsync(Host, { key: '
|
|
20307
|
+
return (hAsync(Host, { key: 'd7c179e0ad3bdc22afa4a4ad8b84cc0d7403e3f9' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '545ba543c78e93bb790fca363325d40052899b53', htmlFor: this.inputId }, hAsync("slot", { key: '5141dc2bda9b312682fe7adcf2ad8ae23a720696', name: "label" }, this.label))), hAsync("div", { key: '791b9ed3213a44b2222613e54e21ec5f7814625f', class: "select-wrapper" }, hAsync("slot", { key: '51590cb6c8152955ffef574caaa5858064652cf8', name: "before-input" }), hAsync("div", { key: '030cfcb568435a8518d2680bee21b6e66c0955eb', class: "select-container", onClick: this.handleSelectContainerClick }, hAsync("slot", { key: '9eb92fb0b383a2b08ef8ba61baf8340f6ecb12a6', name: "leading-input" }), this.internalReadonly && (hAsync("input", { key: 'fe4debae13d4258fe5e6a6d273e7384ef7071f35', 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
20308
|
? `${this.inputId}-error`
|
|
19835
|
-
: `${this.inputId}-description` })), hAsync("select", { key: '
|
|
20309
|
+
: `${this.inputId}-description` })), hAsync("select", { key: '767c5c8f1a0f34aa645d49e7b09b0cfb230d5e3c', 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
20310
|
? `${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: '
|
|
20311
|
+
: `${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: '911644aa7ded450918f6424ebd8ce9dc4b6ed1d6', class: "select-icons" }, this.error && (hAsync("nv-icon", { key: 'd5ae32439983916d17346fdce50d51e73d429c23', name: "alert-circle", class: "validation", size: "md" })), this.success && (hAsync("nv-icon", { key: '783f0d7f1d4a0bbcbd8cff9416e5c3f61408061a', name: "circle-check", class: "validation", size: "md" })), !this.multiple && (hAsync("nv-iconbutton", { key: '252cd65b1e9437aa89161c6342f4f107ad330136', name: "chevron-down", size: "md", emphasis: "lower", tabindex: -1 })))), hAsync("slot", { key: '8e1088c34086ee58b240acb99c25fa113517e76c', name: "after-input" })), (this.description ||
|
|
20312
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '7c521ab944ec72bec68c32c33400eb3c3a7c32bc', class: "description", id: `${this.inputId}-description` }, hAsync("slot", { key: 'dab0be52dc34f499575775f9131c51c4cd7fd290', name: "description" }, this.description))), (this.errorDescription ||
|
|
20313
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '00d9ce6b2a5fb946575e54cc3bf2fd83acc83290', class: "error-description", id: `${this.inputId}-error` }, hAsync("slot", { key: '0e1027874f6e2b275ca354e2d64c0289ca961a0c', name: "error-description" }, this.errorDescription)))));
|
|
19840
20314
|
}
|
|
19841
20315
|
static get formAssociated() { return true; }
|
|
19842
20316
|
get el() { return getElement(this); }
|
|
@@ -19882,6 +20356,18 @@ class NvFieldselect {
|
|
|
19882
20356
|
/**
|
|
19883
20357
|
* Utility functions for nv-fieldslider.
|
|
19884
20358
|
*/
|
|
20359
|
+
/**
|
|
20360
|
+
* Gets the number of decimal places in a number.
|
|
20361
|
+
* @param {number} num - The number to check
|
|
20362
|
+
* @returns {number} The number of decimal places
|
|
20363
|
+
*/
|
|
20364
|
+
function getDecimalPlaces(num) {
|
|
20365
|
+
if (Number.isInteger(num))
|
|
20366
|
+
return 0;
|
|
20367
|
+
const str = num.toString();
|
|
20368
|
+
const decimalPart = str.split('.')[1];
|
|
20369
|
+
return decimalPart ? decimalPart.length : 0;
|
|
20370
|
+
}
|
|
19885
20371
|
/**
|
|
19886
20372
|
* Clamp a value between min and max.
|
|
19887
20373
|
* @param {number} value - The value to clamp
|
|
@@ -19914,7 +20400,26 @@ function valueToPercent(value, min, max) {
|
|
|
19914
20400
|
*/
|
|
19915
20401
|
function snapToStep(value, min, max, step) {
|
|
19916
20402
|
const clamped = clamp$1(value, min, max);
|
|
19917
|
-
const
|
|
20403
|
+
const decimalPlaces = getDecimalPlaces(step);
|
|
20404
|
+
// To avoid floating point issues in calculations, we can work with integers
|
|
20405
|
+
// by multiplying all values by a power of 10 based on decimal places
|
|
20406
|
+
if (decimalPlaces > 0) {
|
|
20407
|
+
const multiplier = Math.pow(10, decimalPlaces);
|
|
20408
|
+
// Convert to integer-based calculation
|
|
20409
|
+
const scaledValue = Math.round((clamped - min) * multiplier);
|
|
20410
|
+
const scaledStep = Math.round(step * multiplier);
|
|
20411
|
+
// Round to nearest step using integer math
|
|
20412
|
+
const roundedSteps = Math.round(scaledValue / scaledStep);
|
|
20413
|
+
// Calculate snapped value and scale back down
|
|
20414
|
+
const scaledSnapped = roundedSteps * scaledStep;
|
|
20415
|
+
const snapped = min + scaledSnapped / multiplier;
|
|
20416
|
+
// Format to correct decimal places to ensure precision
|
|
20417
|
+
return clamp$1(parseFloat(snapped.toFixed(decimalPlaces)), min, max);
|
|
20418
|
+
}
|
|
20419
|
+
// For integer steps, use the original method
|
|
20420
|
+
const stepsFromMin = (clamped - min) / step;
|
|
20421
|
+
const roundedSteps = Math.round(stepsFromMin);
|
|
20422
|
+
const snapped = min + roundedSteps * step;
|
|
19918
20423
|
return clamp$1(snapped, min, max);
|
|
19919
20424
|
}
|
|
19920
20425
|
/**
|
|
@@ -19955,6 +20460,19 @@ function snapToTicks(value, ticks) {
|
|
|
19955
20460
|
}
|
|
19956
20461
|
return closestTick;
|
|
19957
20462
|
}
|
|
20463
|
+
/**
|
|
20464
|
+
* Format a numeric value for display, preserving trailing zeros based on step precision
|
|
20465
|
+
* @param {number} value - The value to format
|
|
20466
|
+
* @param {number} step - The step size that determines decimal precision
|
|
20467
|
+
* @returns {string} Formatted value string with appropriate decimal places
|
|
20468
|
+
*/
|
|
20469
|
+
function formatValueForDisplay(value, step) {
|
|
20470
|
+
const decimalPlaces = getDecimalPlaces(step);
|
|
20471
|
+
if (decimalPlaces > 0) {
|
|
20472
|
+
return value.toFixed(decimalPlaces);
|
|
20473
|
+
}
|
|
20474
|
+
return String(value);
|
|
20475
|
+
}
|
|
19958
20476
|
|
|
19959
20477
|
/**
|
|
19960
20478
|
* Renders single thumb in standard mode.
|
|
@@ -19962,7 +20480,7 @@ function snapToTicks(value, ticks) {
|
|
|
19962
20480
|
* @returns {JSX.Element} JSX element representing the thumb
|
|
19963
20481
|
*/
|
|
19964
20482
|
const SingleThumb = props => {
|
|
19965
|
-
const { value, min, max, rawPosition, isDragging, snap, disabled, readonly, onKeyDown, labelBeforeValue, labelAfterValue, } = props;
|
|
20483
|
+
const { value, min, max, step, rawPosition, isDragging, snap, disabled, readonly, onKeyDown, labelBeforeValue, labelAfterValue, } = props;
|
|
19966
20484
|
// Use raw position for visual display during dragging, but the snapped value otherwise
|
|
19967
20485
|
let displayPosition = value;
|
|
19968
20486
|
if (isDragging && !snap) {
|
|
@@ -19972,7 +20490,7 @@ const SingleThumb = props => {
|
|
|
19972
20490
|
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
20491
|
hAsync("div", { class: "thumb-tooltip" },
|
|
19974
20492
|
labelBeforeValue && (hAsync("span", { class: "label-before" }, labelBeforeValue)),
|
|
19975
|
-
|
|
20493
|
+
formatValueForDisplay(value, step),
|
|
19976
20494
|
labelAfterValue && hAsync("span", { class: "label-after" }, labelAfterValue))));
|
|
19977
20495
|
};
|
|
19978
20496
|
|
|
@@ -19982,7 +20500,7 @@ const SingleThumb = props => {
|
|
|
19982
20500
|
* @returns {JSX.Element[]} Array of JSX elements representing the range slider thumbs
|
|
19983
20501
|
*/
|
|
19984
20502
|
const RangeThumb = props => {
|
|
19985
|
-
const { rangeValue, rawRangePosition, activeDragThumb, isDragging, snap, min, max, disabled, readonly, onKeyDown, labelBeforeValue, labelAfterValue, } = props;
|
|
20503
|
+
const { rangeValue, rawRangePosition, activeDragThumb, isDragging, snap, min, max, step, disabled, readonly, onKeyDown, labelBeforeValue, labelAfterValue, } = props;
|
|
19986
20504
|
const [leftValue, rightValue] = rangeValue;
|
|
19987
20505
|
// Use raw positions for visual display during dragging, but the snapped values otherwise
|
|
19988
20506
|
let displayLeftPosition = leftValue;
|
|
@@ -20006,12 +20524,12 @@ const RangeThumb = props => {
|
|
|
20006
20524
|
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
20525
|
hAsync("div", { class: "thumb-tooltip" },
|
|
20008
20526
|
labelBeforeValue && (hAsync("span", { class: "label-before" }, labelBeforeValue)),
|
|
20009
|
-
|
|
20527
|
+
formatValueForDisplay(leftValue, step),
|
|
20010
20528
|
labelAfterValue && hAsync("span", { class: "label-after" }, labelAfterValue))),
|
|
20011
20529
|
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
20530
|
hAsync("div", { class: "thumb-tooltip" },
|
|
20013
20531
|
labelBeforeValue && (hAsync("span", { class: "label-before" }, labelBeforeValue)),
|
|
20014
|
-
|
|
20532
|
+
formatValueForDisplay(rightValue, step),
|
|
20015
20533
|
labelAfterValue && hAsync("span", { class: "label-after" }, labelAfterValue))),
|
|
20016
20534
|
];
|
|
20017
20535
|
};
|
|
@@ -20520,11 +21038,11 @@ class NvFieldslider {
|
|
|
20520
21038
|
/****************************************************************************/
|
|
20521
21039
|
//#region RENDER
|
|
20522
21040
|
render() {
|
|
20523
|
-
return (hAsync(Host, { key: '
|
|
21041
|
+
return (hAsync(Host, { key: '5bb5a06e9742f87d098da76260ee269ef4ea06d5' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'dd6e12d6c6379e07c4f9964984b3458a71ce6e6f', htmlFor: this.startInputId }, hAsync("slot", { key: '6229200586d90f4f21604d411f473e6df66527c4', name: "label" }, this.label))), hAsync("div", { key: '44f60b538c83d9074a5d06b5a39c1e62e5aa5c55', 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: '4ec60f07b203b6836649a709027fdace39468c41', class: "track-container" }, hAsync("div", { key: '4fcc799c962bf17e582fa5daf51a9c986d2d5901', 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: '95b75deb4c7d0142f575af39fafe7b913c315ed5', 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
21042
|
this.description ||
|
|
20525
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
21043
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '4b86941f66df96014d4710e6f1f79523a4f332f3', class: "description" }, this.success && (hAsync("nv-icon", { key: 'b53792e0fe60354cdfb2e34dbf54fd87df10050c', name: "circle-check", class: "validation", size: "md" })), hAsync("slot", { key: '149788e0ce96516b812370b247ddd59de555bf90', name: "description" }, this.description))), (this.error ||
|
|
20526
21044
|
this.errorDescription ||
|
|
20527
|
-
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '
|
|
21045
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '11814ba28092b2ded30f6b15362b0eb9e67c20a0', class: "error-description", hidden: !this.error }, this.error && (hAsync("nv-icon", { key: '86b555aa52f4295932d80947737116c3f6c0ce99', name: "alert-circle", class: "validation", size: "md" })), hAsync("slot", { key: '334739920eb67abc49b2bdb942d0a2f65a925460', name: "error-description" }, this.errorDescription)))));
|
|
20528
21046
|
}
|
|
20529
21047
|
static get formAssociated() { return true; }
|
|
20530
21048
|
get el() { return getElement(this); }
|
|
@@ -20699,9 +21217,9 @@ class NvFieldtext {
|
|
|
20699
21217
|
/****************************************************************************/
|
|
20700
21218
|
//#region RENDER
|
|
20701
21219
|
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: '
|
|
21220
|
+
return (hAsync(Host, { key: 'aa009c45d11efe9fef7ae0acfb701e25db7d3004' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '90aedd9dc50b1485b76e4bb6df2f5ea017eee9f4', htmlFor: this.inputId }, hAsync("slot", { key: '3d7c37806fd01f1bb4c1d1d67372ce257d1b382d', name: "label" }, this.label))), hAsync("div", { key: 'd399c53383708363c986c8f02f0f0a3b48bb4c39', class: "input-wrapper" }, hAsync("slot", { key: '19b8cb3165c3ff0523c257ad0fc53f0df7413685', name: "before-input" }), hAsync("div", { key: '3564795cf1775f2113c9a35d1865f84358be3144', class: "input-container", onClick: this.handleInputContainerClick }, hAsync("slot", { key: 'b9b0b3b44f8474ba4f0c46552bb9c3a83fa0d7d2', name: "leading-input" }), hAsync("input", { key: '39687f0583e734b03262aac593ab50ffad7957fd', 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: '0faf9e99190d1d7e4295a454d2b89a31c728a38f', name: "trailing-input" }), this.error && (hAsync("nv-icon", { key: 'fe4646f13b1fba38883f1e03ea6c1ba274c9aa47', name: "alert-circle", class: "validation", size: "md" })), this.success && (hAsync("nv-icon", { key: '1e51b8182acc3b049ad608ddefd8c1631efbef94', name: "circle-check", class: "validation", size: "md" }))), hAsync("slot", { key: '65bf5da97918592f3d8ebc63d134ddc4723188a1', name: "after-input" })), (this.description ||
|
|
21221
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'c3f771bc7f641612baead1d82f8bcf8d8586a152', class: "description" }, hAsync("slot", { key: '27df5104927ce680472aff0054e4ae5c3a9727c6', name: "description" }, this.description))), (this.errorDescription ||
|
|
21222
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '8126a6159a24b68a9fa7f017aa289269f63035d4', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: 'd7cebdf0101cbed1d898c2bcc73581387ddb23b9', name: "error-description" }, this.errorDescription)))));
|
|
20705
21223
|
}
|
|
20706
21224
|
static get formAssociated() { return true; }
|
|
20707
21225
|
get el() { return getElement(this); }
|
|
@@ -20921,9 +21439,9 @@ class NvFieldtextarea {
|
|
|
20921
21439
|
/****************************************************************************/
|
|
20922
21440
|
//#region RENDER
|
|
20923
21441
|
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: '
|
|
21442
|
+
return (hAsync(Host, { key: 'a0e5cd4a7cf3dbfc928a08518b9ea031ae995e0a' }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'bb327648d74c5340f7069afd5d3afd8cfbe816e8', htmlFor: this.inputId }, hAsync("slot", { key: '778cd6b79f71b4751e08b754f127da9460c104f0', name: "label" }, this.label))), hAsync("div", { key: '21e2126f2115b1de134e4d2acfa3a9b7eba713c0', class: "textarea-wrapper" }, hAsync("div", { key: '12b431b44cc6c8402a4af3fc5180ef95464571c4', class: "textarea-container", onClick: this.handleTextareaContainerClick }, hAsync("textarea", { key: 'dbb7bf5fc51aa93993eb485b8650837e892747ed', id: this.inputId, ref: e => (this.textareaElement = e), placeholder: this.placeholder, autofocus: this.autofocus, name: this.name, disabled: this.disabled, readOnly: this.readonly, required: this.required, maxlength: this.maxlength, minlength: this.minlength, autocomplete: "off", value: this.value, onInput: this.handleTextarea, rows: this.rows, class: clsx(this.resize === 'none' && 'resize-none', this.resize === 'vertical' && 'resize-y', this.resize === 'horizontal' && 'resize-x', this.resize === 'both' && 'resize') }))), (this.description ||
|
|
21443
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: 'd4758f3b173c84d5b7785c790832f794fae21504', class: "description" }, hAsync("slot", { key: 'def8fe57e0dd229fc31ba5372663b9053ef6a3d0', name: "description" }, this.description))), (this.errorDescription ||
|
|
21444
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: '5f6f6bce639a3690cd51d208be62bacdf5779f10', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: 'e0d185195a4c18d2a3627c554c4ce70a52db77d7', name: "error-description" }, this.errorDescription)))));
|
|
20927
21445
|
}
|
|
20928
21446
|
static get formAssociated() { return true; }
|
|
20929
21447
|
get el() { return getElement(this); }
|
|
@@ -21951,26 +22469,26 @@ class NvFieldtime {
|
|
|
21951
22469
|
}, key: `${option}-${index}`, onClick: e => this.handleTimeOptionClick(e, type) }, option)))));
|
|
21952
22470
|
}
|
|
21953
22471
|
render() {
|
|
21954
|
-
return (hAsync(Host, { key: '
|
|
21955
|
-
hAsync("input", { key: '
|
|
22472
|
+
return (hAsync(Host, { key: '9779298ba2b38f3987af0cfa03250f0e9a99b9f8', onclick: e => this.handleHostClick(e) }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: 'e2a9108cbc9d28d14aad58dc2e857e54ae39f09f', htmlFor: this.inputId }, hAsync("slot", { key: '94e26cbf12ac61bc32de87a32a91eca65da6461c', name: "label" }, this.label))), hAsync("nv-popover", { key: '9d3b59e19a11a7cdebfc03eef6278f87f6f440e4', ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, hAsync("div", { key: '2651f57c27384c367d29543f390ace075a08225f', class: "input-wrapper", slot: "trigger" }, hAsync("slot", { key: '2df5c90ff04b28ab426929729e94948aa6491b2a', name: "before-input" }), hAsync("div", { key: 'bb490ebb175df4e579f0add8113e28dd7c29e866', class: "input-container" }, hAsync("slot", { key: 'b09f37a743d0b3dc12a8de0d39641571e9d7090b', name: "leading-input" }), startsWithIgnoreCase(this.format, 'HH') && [
|
|
22473
|
+
hAsync("input", { key: 'bd97f546da7231ad6ae40799a797da2368e89213', 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
22474
|
? `${TimeType.Hours}-${this.name}`
|
|
21957
22475
|
: TimeType.Hours, id: this.inputId, readonly: this.readonly, disabled: this.disabled, required: this.required, onKeyDown: e => this.handleKeyDown(e), onBlur: () => this.handleInputBlur() }),
|
|
21958
22476
|
], this.format.includes('mm') && [
|
|
21959
|
-
hAsync("span", { key: '
|
|
21960
|
-
hAsync("input", { key: '
|
|
22477
|
+
hAsync("span", { key: 'd1e8a8938b214717f178d462976afd91f582eb50' }, ":"),
|
|
22478
|
+
hAsync("input", { key: '720445f3892535abd7d81fdbf38f7941a66a01a5', 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
22479
|
? `${TimeType.Minutes}-${this.name}`
|
|
21962
22480
|
: TimeType.Minutes, id: `${this.inputId}-minutes`, readonly: this.readonly, disabled: this.disabled, required: this.required, onKeyDown: e => this.handleKeyDown(e), onBlur: () => this.handleInputBlur() }),
|
|
21963
22481
|
], this.format.includes('ss') && [
|
|
21964
|
-
hAsync("span", { key: '
|
|
21965
|
-
hAsync("input", { key: '
|
|
22482
|
+
hAsync("span", { key: 'e8b19bdd054f792a48df56a2ad884d9ec3f96dc0' }, ":"),
|
|
22483
|
+
hAsync("input", { key: 'd2020d37b004a15912791d804daeeee2aadadb70', 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
22484
|
? `${TimeType.Seconds}-${this.name}`
|
|
21967
22485
|
: 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: '
|
|
22486
|
+
], hAsync("nv-iconbutton", { key: '96e3cbee01387385f1ed16bd5e7a1b639fae592f', name: this.open ? 'chevron-top' : 'chevron-down', 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: '6ef9a8a535914394e7a8a9e82f55e9ac82655161', name: "alert-circle", class: "validation", size: "sm" })), this.success && (hAsync("nv-icon", { key: 'ab1313914251a15de716d60a4f60afe91c949d7a', name: "circle-check", class: "validation", size: "sm" }))), hAsync("slot", { key: 'cf346d219445fc595419e834302d03d30a5dcf97', name: "after-input" })), hAsync("div", { key: '8cfe562d283109f305db84b843c68ad1535fed6b', class: "time-dropdown", slot: "content" }, hAsync("div", { key: '9690c5733e3fcd0ae22743e4c572d9a5ff2d1bff', class: "time-columns" }, startsWithIgnoreCase(this.format, 'HH') &&
|
|
21969
22487
|
this.RenderTimeOptionsColumn(TimeType.Hours), this.format.includes('mm') &&
|
|
21970
22488
|
this.RenderTimeOptionsColumn(TimeType.Minutes), this.format.includes('ss') &&
|
|
21971
22489
|
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: '
|
|
22490
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '6671a07feeac69f2d9374dd25b00c6d7a7258bbd', class: "description" }, hAsync("slot", { key: '2ebc81fa182462a44a62d075c187b94bfe16ad96', name: "description" }, this.description))), (this.errorDescription ||
|
|
22491
|
+
this.el.querySelector('[slot="error-description"]')) && (hAsync("div", { key: 'f1815ed7f65eaf25fd69d56de613c01be842d147', hidden: !this.error, class: "error-description" }, hAsync("slot", { key: '028896c0e9bffa83f2429a77e1dfaace6f8a07d8', name: "error-description" }, this.errorDescription)))));
|
|
21974
22492
|
}
|
|
21975
22493
|
static get formAssociated() { return true; }
|
|
21976
22494
|
get el() { return getElement(this); }
|
|
@@ -22075,7 +22593,7 @@ class NvIcon {
|
|
|
22075
22593
|
/****************************************************************************/
|
|
22076
22594
|
//#region RENDER
|
|
22077
22595
|
render() {
|
|
22078
|
-
return (hAsync(Host, { key: '
|
|
22596
|
+
return (hAsync(Host, { key: 'a3219e9be865e466fef36c8135ab14604e20fe40', class: clsx(this.color && `${this.color}`), role: "img", "aria-label": `${this.name}-icon` }, hAsync("svg", { key: '29cfc530d71369210b1bbd896760e19f7811c557', 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: 'f601f44101684971c1286b9f6214d5dcdaa7e66e', href: `#${this.name}` }))));
|
|
22079
22597
|
}
|
|
22080
22598
|
static get style() { return NvIconStyle0; }
|
|
22081
22599
|
static get cmpMeta() { return {
|
|
@@ -22219,7 +22737,7 @@ class NvIconbutton {
|
|
|
22219
22737
|
/****************************************************************************/
|
|
22220
22738
|
//#region RENDER
|
|
22221
22739
|
render() {
|
|
22222
|
-
return (hAsync(Host, { key: '
|
|
22740
|
+
return (hAsync(Host, { key: '789d2f8b19178efb5e2998386670cfcbe239efed', 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: '4f09a5b6fee239e01856aa7ed90e9af0f13a69dc', size: this.size }), !this.loading && hAsync("nv-icon", { key: '44649863d33226aafad217dfbaba4cd56865b86d', name: this.name, size: this.size }), hAsync("slot", { key: 'e5483a758287d3e3843774a0581cd1db6da172e3' })));
|
|
22223
22741
|
}
|
|
22224
22742
|
static get formAssociated() { return true; }
|
|
22225
22743
|
get el() { return getElement(this); }
|
|
@@ -22267,7 +22785,7 @@ class NvLoader {
|
|
|
22267
22785
|
//#region RENDER
|
|
22268
22786
|
/* <slot> empty to force rendering change */
|
|
22269
22787
|
render() {
|
|
22270
|
-
return (hAsync(Host, { key: '
|
|
22788
|
+
return (hAsync(Host, { key: 'dad18e0ecc71ae0305fa1f287a336e8fa0da6889', class: clsx(this.size && `size-${this.size}`, this.color && `color-${this.color}`) }));
|
|
22271
22789
|
}
|
|
22272
22790
|
static get style() { return NvLoaderStyle0; }
|
|
22273
22791
|
static get cmpMeta() { return {
|
|
@@ -22478,7 +22996,7 @@ class NvMenu {
|
|
|
22478
22996
|
});
|
|
22479
22997
|
}
|
|
22480
22998
|
render() {
|
|
22481
|
-
return (hAsync(Host, { key: '
|
|
22999
|
+
return (hAsync(Host, { key: '287ae16bc4971d1d7811bd80384e93b8b7017945' }, hAsync("slot", { key: 'f09fa7b923d4f66e7fb8bebcfd943daf843eec38', name: "trigger" }), hAsync("nv-popover", { key: '757ff04ef461eb60c061bd28914f82fc59437e82', 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
23000
|
}
|
|
22483
23001
|
get el() { return getElement(this); }
|
|
22484
23002
|
static get style() { return NvMenuStyle0; }
|
|
@@ -22549,7 +23067,7 @@ class NvMenuitem {
|
|
|
22549
23067
|
/****************************************************************************/
|
|
22550
23068
|
//#region RENDER
|
|
22551
23069
|
render() {
|
|
22552
|
-
return (hAsync(Host, { key: '
|
|
23070
|
+
return (hAsync(Host, { key: 'c008da503776b85bec237b25e321e4bba02d153f', role: "menuitem", tabindex: this.disabled ? '-1' : '0' }, this.icon && hAsync("nv-icon", { key: '66341d40e68409b4c0ab6595a67eed1e4354d6ba', name: this.icon }), hAsync("slot", { key: 'e3960af26ffbc703a5702981e948013179b1a83b' }), this.label && hAsync("span", { key: '9633388dcbad3080b54b83845ced54f9b9d05061', "data-scope": "text" }, this.label), this.shortcut && !this.hasSubmenu && hAsync("kbd", { key: 'da358858336a86a7a49bbd4a52b5f628aadc1c29' }, this.shortcut), this.hasSubmenu && hAsync("nv-icon", { key: '36a85c271a5dbe2c41eefac33209e5d9a909ae04', name: "chevron-right" })));
|
|
22553
23071
|
}
|
|
22554
23072
|
get el() { return getElement(this); }
|
|
22555
23073
|
static get style() { return NvMenuitemStyle0; }
|
|
@@ -24934,7 +25452,7 @@ class NvPopover {
|
|
|
24934
25452
|
/****************************************************************************/
|
|
24935
25453
|
//#region RENDER
|
|
24936
25454
|
render() {
|
|
24937
|
-
return (hAsync(Host, { key: '
|
|
25455
|
+
return (hAsync(Host, { key: '843ac572358b402d6338945d671446fec1c51a6d' }, hAsync("slot", { key: '090f01aea3932cb95357985766a20112c63c4992', name: "trigger" }), hAsync("div", { key: '737822dd1539381bb485a389670f09a071441365', "data-scope": "popover", hidden: true, ref: el => (this.popoverElement = el) }, this.hasArrow && (hAsync("div", { key: '9d268df3f0e1df7b2a2264154143c3db14619661', "data-scope": "arrow", ref: el => (this.arrowElement = el) })), hAsync("slot", { key: '432aae053b25d2e7d6594203ad0ff3ecee26c059', name: "content" }))));
|
|
24938
25456
|
}
|
|
24939
25457
|
get el() { return getElement(this); }
|
|
24940
25458
|
static get watchers() { return {
|
|
@@ -24979,7 +25497,7 @@ class NvRow {
|
|
|
24979
25497
|
/****************************************************************************/
|
|
24980
25498
|
//#region RENDER
|
|
24981
25499
|
render() {
|
|
24982
|
-
return (hAsync(Host, { key: '
|
|
25500
|
+
return (hAsync(Host, { key: '20e40e37c82b00712ed3d60d46d460f5f877e10a' }, hAsync("slot", { key: '80ba27becb4d56ff0785054597d88c728fb3eca5' })));
|
|
24983
25501
|
}
|
|
24984
25502
|
static get style() { return NvRowStyle0; }
|
|
24985
25503
|
static get cmpMeta() { return {
|
|
@@ -25014,7 +25532,7 @@ class NvStack {
|
|
|
25014
25532
|
/****************************************************************************/
|
|
25015
25533
|
//#region RENDER
|
|
25016
25534
|
render() {
|
|
25017
|
-
return (hAsync(Host, { key: '
|
|
25535
|
+
return (hAsync(Host, { key: '24cca0f7101de5f37d30884983da28a839df9bee', 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: '3521e5dd684d2c6185fd434711ae85a6ea0b68ab' })));
|
|
25018
25536
|
}
|
|
25019
25537
|
static get style() { return NvStackStyle0; }
|
|
25020
25538
|
static get cmpMeta() { return {
|
|
@@ -25351,14 +25869,14 @@ class NvTable {
|
|
|
25351
25869
|
const rows = !this.table || this.table === undefined || this.parsedData.length === 0
|
|
25352
25870
|
? []
|
|
25353
25871
|
: this.table.data;
|
|
25354
|
-
return (hAsync(Host, { key: '
|
|
25872
|
+
return (hAsync(Host, { key: '0e7b7e03592f9f68b9158e8374986986e0f155d4' }, hAsync("div", { key: 'eeebf671dde65fcd725fbbe78099816d1c07c65f', class: "hidden" }, hAsync("slot", { key: '2ac114cec120874bb0f7bf6ddde9ec9c88d978cf' })), hAsync("slot", { key: 'b8dea8ff4c987b679ab78e73c4b7698a608c1ee3', 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
25873
|
headerGroups.map(col => {
|
|
25356
25874
|
return (hAsync("th", { key: col.name }, this.renderTemplate(this.headerTemplateCache.get(col.name), {}) || col.header));
|
|
25357
25875
|
})))), 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
25876
|
var _a;
|
|
25359
25877
|
return (hAsync("td", null, this.renderTemplate(this.templateCache.get(col.name), row) ||
|
|
25360
25878
|
((_a = row[col.name]) !== null && _a !== void 0 ? _a : this.fallbackValue)));
|
|
25361
|
-
})))))))), hAsync("slot", { key: '
|
|
25879
|
+
})))))))), hAsync("slot", { key: '4dc0404a05946bc942f65af599fea186166cde9c', name: "after" })));
|
|
25362
25880
|
}
|
|
25363
25881
|
get el() { return getElement(this); }
|
|
25364
25882
|
static get watchers() { return {
|
|
@@ -25478,8 +25996,8 @@ class NvToggle {
|
|
|
25478
25996
|
/****************************************************************************/
|
|
25479
25997
|
//#region RENDER
|
|
25480
25998
|
render() {
|
|
25481
|
-
return (hAsync(Host, { key: '
|
|
25482
|
-
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '
|
|
25999
|
+
return (hAsync(Host, { key: '9b3a2c50180d17241f514ebfecb2d959d6aaf263', class: clsx(this.labelPlacement === 'before' && 'label-placement-before') }, hAsync("div", { key: '70420566c51bb19c3ef9b8718ba0069bd739fd26', class: "input-container" }, hAsync("input", { key: '5c1cfd0858a14cf1854de5a09b2daa55c4e781ba', 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: 'f4678a7ed5a7e58397aadfe5155b95a395f39fba', class: "text-container" }, (this.label || this.el.querySelector('[slot="label"]')) && (hAsync("label", { key: '4d25373b9c782d3016da002d1fa22dd551a1597a', htmlFor: this.inputId, class: clsx(this.hideLabel && 'visually-hidden') }, hAsync("slot", { key: 'f297abef15befddc6b180edffe3ab7b0bb39d223', name: "label" }, this.label))), (this.description ||
|
|
26000
|
+
this.el.querySelector('[slot="description"]')) && (hAsync("div", { key: '97f2b1045c5152fb66da582c7fcf2975cbe10e68', class: "description" }, hAsync("slot", { key: 'fae238400ac3a106079a7e361d179598a99363a4', name: "description" }, this.description))))));
|
|
25483
26001
|
}
|
|
25484
26002
|
static get formAssociated() { return true; }
|
|
25485
26003
|
get el() { return getElement(this); }
|
|
@@ -25518,6 +26036,7 @@ var NvTooltipStyle0 = nvTooltipCss;
|
|
|
25518
26036
|
class NvTooltip {
|
|
25519
26037
|
constructor(hostRef) {
|
|
25520
26038
|
registerInstance(this, hostRef);
|
|
26039
|
+
this.openChanged = createEvent(this, "openChanged", 7);
|
|
25521
26040
|
/**
|
|
25522
26041
|
* Decides where the tooltip shows up next to the element it’s linked to
|
|
25523
26042
|
* (above, below, to the sides). If there isn’t enough room, it will adjust
|
|
@@ -25531,7 +26050,7 @@ class NvTooltip {
|
|
|
25531
26050
|
*/
|
|
25532
26051
|
this.enterDelay = 0;
|
|
25533
26052
|
}
|
|
25534
|
-
//#endregion
|
|
26053
|
+
//#endregion EVENTS
|
|
25535
26054
|
/****************************************************************************/
|
|
25536
26055
|
//#region LIFECYCLE
|
|
25537
26056
|
componentWillLoad() {
|
|
@@ -25544,7 +26063,7 @@ class NvTooltip {
|
|
|
25544
26063
|
/****************************************************************************/
|
|
25545
26064
|
//#region RENDER
|
|
25546
26065
|
render() {
|
|
25547
|
-
return (hAsync(Host, { key: '
|
|
26066
|
+
return (hAsync(Host, { key: 'eb3e25818bb1e57340ac169d1c40a0e4e9c56668' }, hAsync("slot", { key: '7937859bff530ff10a0de9076a77c92afa9ec9e7' }), hAsync("nv-popover", { key: 'e825c93c7d90f5598416f1f081c95517c7a27883', triggerMode: "hover", hasArrow: true, placement: this.placement, triggerElement: this.triggerElement, groupName: 'tooltip', enterDelay: this.enterDelay }, hAsync("p", { key: '5a5987e3a04f02be104e5f8fcca2f40b75938a97', slot: "content" }, this.message), hAsync("slot", { key: 'd7efc512e29969e7c8c1a693f2fb15f9319e1fa8', name: "content" }))));
|
|
25548
26067
|
}
|
|
25549
26068
|
get el() { return getElement(this); }
|
|
25550
26069
|
static get style() { return NvTooltipStyle0; }
|
|
@@ -25564,6 +26083,8 @@ class NvTooltip {
|
|
|
25564
26083
|
}
|
|
25565
26084
|
|
|
25566
26085
|
registerComponents([
|
|
26086
|
+
NvAccordion,
|
|
26087
|
+
NvAccordionItem,
|
|
25567
26088
|
NvAlert,
|
|
25568
26089
|
NvAvatar,
|
|
25569
26090
|
NvBadge,
|