@nova-design-system/nova-webcomponents 3.4.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 +9 -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 +6 -6
- package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddropdown.cjs.entry.js +3 -3
- package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +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 +2 -2
- package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-iconbutton_2.cjs.entry.js +2 -2
- package/dist/cjs/nv-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 +5 -5
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +1 -1
- package/dist/collection/components/nv-fielddaterange/styles/nv-fielddaterange.css +18 -2
- 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-icon/nv-icons.js +3 -0
- package/dist/collection/components/nv-icon/nv-icons.js.map +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 +2 -2
- 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 +7 -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 +12 -12
- package/dist/components/nv-fielddaterange.js.map +1 -1
- package/dist/components/nv-fielddropdown.js +8 -8
- package/dist/components/nv-fielddropdownitem.js +1 -1
- package/dist/components/nv-fielddropdownitemcheck.js +1 -1
- package/dist/components/nv-fieldmultiselect.js +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-c07c32d2.js → p-190c8f60.js} +3 -3
- package/dist/components/{p-c07c32d2.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-a189d074.js → p-316ae8e3.js} +4 -4
- package/dist/components/{p-a189d074.js.map → p-316ae8e3.js.map} +1 -1
- package/dist/components/{p-953d8b4d.js → p-4069966e.js} +8 -6
- package/dist/components/p-4069966e.js.map +1 -0
- package/dist/components/{p-f7c7a406.js → p-436a0f99.js} +6 -5
- package/dist/components/p-436a0f99.js.map +1 -0
- package/dist/components/{p-dec6fc68.js → p-4864a690.js} +2 -2
- package/dist/components/{p-dec6fc68.js.map → p-4864a690.js.map} +1 -1
- package/dist/components/{p-a29a9396.js → p-5e89eb9d.js} +7 -7
- package/dist/components/{p-a29a9396.js.map → p-5e89eb9d.js.map} +1 -1
- package/dist/components/{p-131e5140.js → p-618ae85a.js} +5 -4
- package/dist/components/p-618ae85a.js.map +1 -0
- package/dist/components/{p-df465ef2.js → p-79b38dfb.js} +3 -3
- package/dist/components/{p-df465ef2.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-dcaf9010.js → p-8a5b0f74.js} +3 -3
- package/dist/components/{p-dcaf9010.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-3f567fde.js → p-ac76a11c.js} +5 -5
- package/dist/components/{p-3f567fde.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-a1438b39.js → p-d2b4441a.js} +3 -3
- package/dist/components/{p-a1438b39.js.map → p-d2b4441a.js.map} +1 -1
- package/dist/components/p-f1bbb9e8.js +88 -0
- package/dist/components/p-f1bbb9e8.js.map +1 -0
- package/dist/components/{p-3f58525b.js → p-f266b533.js} +5 -5
- package/dist/components/{p-3f58525b.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 +8 -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 +6 -6
- package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
- package/dist/esm/nv-fielddropdown.entry.js +3 -3
- package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
- package/dist/esm/nv-fieldmultiselect.entry.js +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 +2 -2
- package/dist/esm/nv-icon.entry.js.map +1 -1
- package/dist/esm/nv-iconbutton_2.entry.js +2 -2
- package/dist/esm/nv-menu.entry.js +1 -1
- package/dist/esm/nv-menuitem.entry.js +1 -1
- package/dist/esm/nv-popover.entry.js +4 -3
- package/dist/esm/nv-popover.entry.js.map +1 -1
- package/dist/esm/nv-row.entry.js +1 -1
- package/dist/esm/nv-stack.entry.js +1 -1
- package/dist/esm/nv-table.entry.js +2 -2
- package/dist/esm/nv-toggle.entry.js +2 -2
- package/dist/esm/nv-tooltip.entry.js +4 -3
- package/dist/esm/nv-tooltip.entry.js.map +1 -1
- package/dist/esm/{fade.animation-2a077983.js → stylefire.es-74da334a.js} +2 -65
- package/dist/esm/stylefire.es-74da334a.js.map +1 -0
- package/dist/esm/timeline.animation-adf35ecb.js +23 -0
- package/dist/esm/timeline.animation-adf35ecb.js.map +1 -0
- package/dist/native/index.esm.js +1 -1
- package/dist/native/index.esm.js.map +1 -1
- package/dist/native/native.css +1 -1
- package/dist/native/native.esm.js +1 -1
- package/dist/native/native.esm.js.map +1 -1
- package/dist/native/{p-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-01164e86.entry.js → p-2576c1a0.entry.js} +2 -2
- package/dist/native/{p-2bc7d66a.entry.js → p-2d23fcea.entry.js} +2 -2
- package/dist/native/{p-1c1ecd38.entry.js → p-31e72603.entry.js} +2 -2
- package/dist/native/p-33e5037d.entry.js +2 -0
- package/dist/native/{p-ff0f3794.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-2006f5d4.entry.js.map → p-5eca22c7.entry.js.map} +1 -1
- package/dist/native/{p-c7b8b7ba.entry.js → p-609b3822.entry.js} +2 -2
- package/dist/native/{p-55df8bf9.entry.js → p-625be06b.entry.js} +2 -2
- package/dist/native/{p-9850c1d7.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-0410facd.entry.js → p-b829383a.entry.js} +2 -2
- package/dist/native/{p-abbe5d69.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-c2826f22.entry.js +2 -0
- package/dist/native/p-c2826f22.entry.js.map +1 -0
- package/dist/native/p-c9cde996.entry.js +2 -0
- package/dist/native/{p-0ec2d430.entry.js.map → p-c9cde996.entry.js.map} +1 -1
- package/dist/native/{p-a30206c1.entry.js → p-cf468c67.entry.js} +2 -2
- package/dist/native/{p-24659a85.entry.js → p-ddb0b9f6.entry.js} +2 -2
- package/dist/native/{p-ec87200a.entry.js → p-e19a8885.entry.js} +2 -2
- package/dist/native/{p-7ba03c5d.entry.js → p-e802fbb8.entry.js} +2 -2
- package/dist/native/p-ec92ee7a.entry.js +2 -0
- package/dist/native/{p-f377b285.entry.js → p-f9aa4900.entry.js} +2 -2
- package/dist/native/p-fca3e27d.entry.js +2 -0
- package/dist/native/p-fca3e27d.entry.js.map +1 -0
- 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-icon/nv-icons.d.ts +1 -1
- 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 +84 -5
- package/hydrate/index.js +1116 -595
- package/hydrate/index.mjs +1116 -595
- package/package.json +7 -3
- package/dist/cjs/fade.animation-0d33d198.js.map +0 -1
- package/dist/cjs/timeline.animation-dbb9c5ea.js.map +0 -1
- package/dist/components/p-131e5140.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-953d8b4d.js.map +0 -1
- package/dist/components/p-a0d7e0cd.js.map +0 -1
- package/dist/components/p-b207be02.js +0 -88
- package/dist/components/p-b207be02.js.map +0 -1
- package/dist/components/p-f7c7a406.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-0ec2d430.entry.js +0 -2
- package/dist/native/p-14895e84.entry.js +0 -2
- package/dist/native/p-14895e84.entry.js.map +0 -1
- package/dist/native/p-1daca48a.js +0 -16
- package/dist/native/p-1daca48a.js.map +0 -1
- package/dist/native/p-2006f5d4.entry.js +0 -2
- package/dist/native/p-2b1e7675.entry.js +0 -2
- package/dist/native/p-2b1e7675.entry.js.map +0 -1
- package/dist/native/p-2c3fb8cc.entry.js +0 -2
- package/dist/native/p-2c3fb8cc.entry.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-59b07b36.entry.js +0 -2
- package/dist/native/p-59b07b36.entry.js.map +0 -1
- 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-c1765831.js +0 -2
- package/dist/native/p-c92d55f9.entry.js +0 -2
- package/dist/native/p-c9d3de9c.entry.js +0 -2
- package/dist/native/p-c9d3de9c.entry.js.map +0 -1
- package/dist/native/p-cbca9326.entry.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-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-01164e86.entry.js.map → p-2576c1a0.entry.js.map} +0 -0
- /package/dist/native/{p-2bc7d66a.entry.js.map → p-2d23fcea.entry.js.map} +0 -0
- /package/dist/native/{p-1c1ecd38.entry.js.map → p-31e72603.entry.js.map} +0 -0
- /package/dist/native/{p-cbca9326.entry.js.map → p-33e5037d.entry.js.map} +0 -0
- /package/dist/native/{p-ff0f3794.entry.js.map → p-4cf00884.entry.js.map} +0 -0
- /package/dist/native/{p-c92d55f9.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-c7b8b7ba.entry.js.map → p-609b3822.entry.js.map} +0 -0
- /package/dist/native/{p-55df8bf9.entry.js.map → p-625be06b.entry.js.map} +0 -0
- /package/dist/native/{p-9850c1d7.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-0410facd.entry.js.map → p-b829383a.entry.js.map} +0 -0
- /package/dist/native/{p-abbe5d69.entry.js.map → p-bab6d0a5.entry.js.map} +0 -0
- /package/dist/native/{p-a30206c1.entry.js.map → p-cf468c67.entry.js.map} +0 -0
- /package/dist/native/{p-24659a85.entry.js.map → p-ddb0b9f6.entry.js.map} +0 -0
- /package/dist/native/{p-ec87200a.entry.js.map → p-e19a8885.entry.js.map} +0 -0
- /package/dist/native/{p-7ba03c5d.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-f377b285.entry.js.map → p-f9aa4900.entry.js.map} +0 -0
|
@@ -8,7 +8,7 @@ const NvFieldmultiselect = class {
|
|
|
8
8
|
constructor(hostRef) {
|
|
9
9
|
registerInstance(this, hostRef);
|
|
10
10
|
this.valueChanged = createEvent(this, "valueChanged", 7);
|
|
11
|
-
this.
|
|
11
|
+
this.filterTextChanged = createEvent(this, "filterTextChanged", 7);
|
|
12
12
|
/****************************************************************************/
|
|
13
13
|
//#region PROPERTIES
|
|
14
14
|
/**
|
|
@@ -25,6 +25,11 @@ const NvFieldmultiselect = class {
|
|
|
25
25
|
* always type in fresh data.
|
|
26
26
|
*/
|
|
27
27
|
this.autocomplete = 'off';
|
|
28
|
+
/**
|
|
29
|
+
* Specifies the selected values of the multiselect field.
|
|
30
|
+
* This is the canonical value for the component and is used for form submission.
|
|
31
|
+
*/
|
|
32
|
+
this.value = [];
|
|
28
33
|
/**
|
|
29
34
|
* Marks the input field as required.
|
|
30
35
|
*/
|
|
@@ -78,17 +83,13 @@ const NvFieldmultiselect = class {
|
|
|
78
83
|
* Text for the badge showing the number of selected items.
|
|
79
84
|
*/
|
|
80
85
|
this.badgeLabel = '';
|
|
81
|
-
//#endregion PROPERTIES
|
|
82
|
-
/****************************************************************************/
|
|
83
|
-
//#region STATE
|
|
84
86
|
/**
|
|
85
87
|
* The text entered by the user for filtering multiselect items.
|
|
86
88
|
*/
|
|
87
89
|
this.filterText = '';
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
this.selectedValues = [];
|
|
90
|
+
//#endregion PROPERTIES
|
|
91
|
+
/****************************************************************************/
|
|
92
|
+
//#region STATE
|
|
92
93
|
/**
|
|
93
94
|
* Sorted options for display.
|
|
94
95
|
*/
|
|
@@ -98,8 +99,8 @@ const NvFieldmultiselect = class {
|
|
|
98
99
|
* Handle badge close for options mode.
|
|
99
100
|
*/
|
|
100
101
|
this.handleBadgeCloseOptions = () => {
|
|
101
|
-
this.
|
|
102
|
-
this.
|
|
102
|
+
this.value = [];
|
|
103
|
+
this.valueChanged.emit(this.value);
|
|
103
104
|
// Uncheck all elements
|
|
104
105
|
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
|
|
105
106
|
items.forEach(item => {
|
|
@@ -115,8 +116,8 @@ const NvFieldmultiselect = class {
|
|
|
115
116
|
* Handle badge close for slots mode.
|
|
116
117
|
*/
|
|
117
118
|
this.handleBadgeCloseSlots = () => {
|
|
118
|
-
this.
|
|
119
|
-
this.
|
|
119
|
+
this.value = [];
|
|
120
|
+
this.valueChanged.emit(this.value);
|
|
120
121
|
// Uncheck all elements
|
|
121
122
|
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
|
|
122
123
|
items.forEach(item => {
|
|
@@ -134,8 +135,7 @@ const NvFieldmultiselect = class {
|
|
|
134
135
|
if (this.isHandlingEscape) {
|
|
135
136
|
return;
|
|
136
137
|
}
|
|
137
|
-
|
|
138
|
-
// Reset filter if needed
|
|
138
|
+
// Reset filter if needed, but preserve the filter text
|
|
139
139
|
if (this.filterable) {
|
|
140
140
|
this.resetFilter();
|
|
141
141
|
}
|
|
@@ -148,9 +148,8 @@ const NvFieldmultiselect = class {
|
|
|
148
148
|
if (!this.el.contains(document.activeElement)) {
|
|
149
149
|
// Close the popover without affecting the divider
|
|
150
150
|
this.open = false;
|
|
151
|
-
// Reset filter if needed
|
|
151
|
+
// Reset filter if needed, but preserve the filter text
|
|
152
152
|
if (this.filterable) {
|
|
153
|
-
this.filterText = '';
|
|
154
153
|
this.resetFilter();
|
|
155
154
|
}
|
|
156
155
|
}
|
|
@@ -209,15 +208,14 @@ const NvFieldmultiselect = class {
|
|
|
209
208
|
return;
|
|
210
209
|
}
|
|
211
210
|
const input = event.target;
|
|
212
|
-
this.
|
|
213
|
-
this.
|
|
211
|
+
this.filterText = input.value;
|
|
212
|
+
this.filterTextChanged.emit(this.filterText);
|
|
214
213
|
// Clear any existing timer
|
|
215
214
|
if (this.debounceTimer) {
|
|
216
215
|
window.clearTimeout(this.debounceTimer);
|
|
217
216
|
}
|
|
218
217
|
// Set a new timer for filtering
|
|
219
218
|
this.debounceTimer = window.setTimeout(() => {
|
|
220
|
-
this.filterText = input.value.toLowerCase();
|
|
221
219
|
this.filterItemsOption();
|
|
222
220
|
}, this.debounceDelay);
|
|
223
221
|
};
|
|
@@ -231,15 +229,14 @@ const NvFieldmultiselect = class {
|
|
|
231
229
|
if (this.disabled || this.readonly)
|
|
232
230
|
return;
|
|
233
231
|
const input = event.target;
|
|
234
|
-
this.
|
|
235
|
-
this.
|
|
232
|
+
this.filterText = input.value;
|
|
233
|
+
this.filterTextChanged.emit(this.filterText);
|
|
236
234
|
// Clear any existing timer
|
|
237
235
|
if (this.debounceTimer) {
|
|
238
236
|
window.clearTimeout(this.debounceTimer);
|
|
239
237
|
}
|
|
240
238
|
// Set a new timer for filtering
|
|
241
239
|
this.debounceTimer = window.setTimeout(() => {
|
|
242
|
-
this.filterText = input.value.toLowerCase();
|
|
243
240
|
this.filterSlotsItems();
|
|
244
241
|
}, this.debounceDelay);
|
|
245
242
|
};
|
|
@@ -269,9 +266,8 @@ const NvFieldmultiselect = class {
|
|
|
269
266
|
if (!this.el.contains(document.activeElement)) {
|
|
270
267
|
// Close the popover without affecting the divider
|
|
271
268
|
this.open = false;
|
|
272
|
-
// Reset filter if needed
|
|
269
|
+
// Reset filter if needed, but preserve the filter text
|
|
273
270
|
if (this.filterable) {
|
|
274
|
-
this.filterText = '';
|
|
275
271
|
this.resetFilter();
|
|
276
272
|
}
|
|
277
273
|
}
|
|
@@ -303,14 +299,14 @@ const NvFieldmultiselect = class {
|
|
|
303
299
|
* @returns {any} The JSX for options mode
|
|
304
300
|
*/
|
|
305
301
|
this.renderOptionsMode = () => {
|
|
306
|
-
return (h(Host, { "aria-label": this.label, "aria-expanded": this.open.toString() }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { htmlFor: this.inputId }, h("slot", { name: "label" }, this.label))), h("nv-popover", { ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, h("div", { class: "input-wrapper-multiselect", slot: "trigger" }, h("slot", { name: "before-input" }), h("div", { class: "input-container-multiselect" }, h("slot", { name: "leading-input" }), this.
|
|
302
|
+
return (h(Host, { "aria-label": this.label, "aria-expanded": this.open.toString() }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { htmlFor: this.inputId }, h("slot", { name: "label" }, this.label))), h("nv-popover", { ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, h("div", { class: "input-wrapper-multiselect", slot: "trigger" }, h("slot", { name: "before-input" }), h("div", { class: "input-container-multiselect" }, h("slot", { name: "leading-input" }), this.value.length > 0 && (h("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 ? (h("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" })) : (h("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" }, h("span", null, this.placeholder))), this.error && (h("nv-icon", { name: "alert-circle", class: "validation", size: "md" })), h("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 })), h("slot", { name: "after-input" })), h("div", { slot: "content", role: "listbox", "aria-multiselectable": "true", style: this.maxHeight ? { maxHeight: this.maxHeight } : {} }, h("ul", { role: "content" }, this.options.map(option => (h("nv-fielddropdownitemcheck", { label: option.label, description: option.description, value: option.value, checked: this.value.includes(option.value), disabled: option.disabled }))), h("hr", { class: "multiselect-divider", style: { display: 'none' } })))), this.renderDescriptions()));
|
|
307
303
|
};
|
|
308
304
|
/**
|
|
309
305
|
* Renders the component in slots mode
|
|
310
306
|
* @returns {any} The JSX for slots mode
|
|
311
307
|
*/
|
|
312
308
|
this.renderSlotsMode = () => {
|
|
313
|
-
return (h(Host, { "aria-label": this.label, "aria-expanded": this.open.toString() }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { htmlFor: this.inputId }, h("slot", { name: "label" }, this.label))), h("nv-popover", { ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, h("div", { class: "input-wrapper-multiselect", slot: "trigger" }, h("slot", { name: "before-input" }), h("div", { class: "input-container-multiselect", onClick: this.handleInputContainerClickSlots }, h("slot", { name: "leading-input" }), this.
|
|
309
|
+
return (h(Host, { "aria-label": this.label, "aria-expanded": this.open.toString() }, (this.label || this.el.querySelector('[slot="label"]')) && (h("label", { htmlFor: this.inputId }, h("slot", { name: "label" }, this.label))), h("nv-popover", { ref: el => (this.popoverElement = el), triggerMode: "controlled", placement: "bottom-start", open: this.open }, h("div", { class: "input-wrapper-multiselect", slot: "trigger" }, h("slot", { name: "before-input" }), h("div", { class: "input-container-multiselect", onClick: this.handleInputContainerClickSlots }, h("slot", { name: "leading-input" }), this.value.length > 0 && (h("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 ? (h("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" })) : (h("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" }, h("span", null, this.placeholder))), this.error && (h("nv-icon", { name: "alert-circle", class: "validation", size: "md" })), h("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 })), h("slot", { name: "after-input" })), h("div", { slot: "content", role: "listbox", "aria-multiselectable": "true", style: this.maxHeight ? { maxHeight: this.maxHeight } : {} }, h("slot", { name: "content" }))), this.renderDescriptions()));
|
|
314
310
|
};
|
|
315
311
|
}
|
|
316
312
|
//#endregion EVENTS
|
|
@@ -319,7 +315,7 @@ const NvFieldmultiselect = class {
|
|
|
319
315
|
handleOptionsChange(newValue) {
|
|
320
316
|
if (!newValue)
|
|
321
317
|
return;
|
|
322
|
-
this.
|
|
318
|
+
this.value = newValue
|
|
323
319
|
.filter(option => option.checked)
|
|
324
320
|
.map(option => option.value);
|
|
325
321
|
this.reorderOptionsContent();
|
|
@@ -328,8 +324,10 @@ const NvFieldmultiselect = class {
|
|
|
328
324
|
* Emitted when the value changes.
|
|
329
325
|
*/
|
|
330
326
|
watchValueHandler() {
|
|
331
|
-
//
|
|
332
|
-
this.
|
|
327
|
+
// Synchronize child components when value changes programmatically
|
|
328
|
+
if (this.el && this.el.isConnected) {
|
|
329
|
+
this.syncChildComponents();
|
|
330
|
+
}
|
|
333
331
|
}
|
|
334
332
|
//#endregion WATCHERS
|
|
335
333
|
/****************************************************************************/
|
|
@@ -369,22 +367,23 @@ const NvFieldmultiselect = class {
|
|
|
369
367
|
}
|
|
370
368
|
const { value, checked } = event.detail;
|
|
371
369
|
if (value !== undefined && value !== null) {
|
|
372
|
-
const
|
|
373
|
-
const valueIndex =
|
|
370
|
+
const newValue = [...this.value];
|
|
371
|
+
const valueIndex = newValue.indexOf(value);
|
|
374
372
|
if (checked && valueIndex === -1) {
|
|
375
|
-
|
|
373
|
+
newValue.push(value);
|
|
376
374
|
}
|
|
377
375
|
else if (!checked && valueIndex > -1) {
|
|
378
|
-
|
|
376
|
+
newValue.splice(valueIndex, 1);
|
|
379
377
|
}
|
|
380
|
-
//
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
378
|
+
// Always update the state and emit the event when an item is checked/unchecked
|
|
379
|
+
this.value = newValue;
|
|
380
|
+
this.valueChanged.emit(this.value);
|
|
381
|
+
// Update the checked state of all items to ensure consistency
|
|
382
|
+
this.syncChildComponents();
|
|
383
|
+
// Preserve the filter text in the input
|
|
384
|
+
if (this.filterable && this.inputElement) {
|
|
385
|
+
// Keep the current filter text in the input
|
|
386
|
+
this.inputElement.value = this.filterText;
|
|
388
387
|
}
|
|
389
388
|
}
|
|
390
389
|
else {
|
|
@@ -423,12 +422,10 @@ const NvFieldmultiselect = class {
|
|
|
423
422
|
}
|
|
424
423
|
// Specific initialization for slots mode
|
|
425
424
|
if (!this.options) {
|
|
425
|
+
// Use a microtask to ensure DOM is ready
|
|
426
426
|
Promise.resolve().then(() => {
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
this.selectedValues = items
|
|
430
|
-
.filter(item => item.hasAttribute('checked'))
|
|
431
|
-
.map(item => item.getAttribute('value') || '');
|
|
427
|
+
// Synchronize child components
|
|
428
|
+
this.syncChildComponents();
|
|
432
429
|
// Force a reorder after initialization
|
|
433
430
|
requestAnimationFrame(() => {
|
|
434
431
|
this.reorderSlotContent();
|
|
@@ -439,13 +436,8 @@ const NvFieldmultiselect = class {
|
|
|
439
436
|
if (this.options) {
|
|
440
437
|
this.sortedOptions = [...((_a = this.options) !== null && _a !== void 0 ? _a : [])];
|
|
441
438
|
}
|
|
442
|
-
//
|
|
443
|
-
if (this.
|
|
444
|
-
this.filterText = String(this.value).toLocaleLowerCase();
|
|
445
|
-
this.filterItems();
|
|
446
|
-
}
|
|
447
|
-
else {
|
|
448
|
-
// Reset visibility state of all dropdown items
|
|
439
|
+
// Reset filter if needed
|
|
440
|
+
if (!this.filterText) {
|
|
449
441
|
this.resetFilter();
|
|
450
442
|
}
|
|
451
443
|
}
|
|
@@ -456,6 +448,8 @@ const NvFieldmultiselect = class {
|
|
|
456
448
|
if (this.options) {
|
|
457
449
|
this.handleOptionsChange(this.options);
|
|
458
450
|
}
|
|
451
|
+
// Final synchronization of child components after everything is loaded
|
|
452
|
+
this.syncChildComponents();
|
|
459
453
|
}
|
|
460
454
|
/**
|
|
461
455
|
* Unsubscribe from click outside event.
|
|
@@ -473,38 +467,6 @@ const NvFieldmultiselect = class {
|
|
|
473
467
|
async getFilterText() {
|
|
474
468
|
return this.filterText;
|
|
475
469
|
}
|
|
476
|
-
/**
|
|
477
|
-
* Set the initial selection based on the current value and update the inputElement value.
|
|
478
|
-
*/
|
|
479
|
-
setInitialSelection() {
|
|
480
|
-
var _a;
|
|
481
|
-
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitem'));
|
|
482
|
-
const selectedItem = items.find(item => {
|
|
483
|
-
var _a;
|
|
484
|
-
return item.getAttribute('label') === this.value ||
|
|
485
|
-
item.getAttribute('value') === this.value ||
|
|
486
|
-
((_a = item.textContent) === null || _a === void 0 ? void 0 : _a.trim()) === this.value;
|
|
487
|
-
});
|
|
488
|
-
// Remove 'selected' from all items first to reset the state
|
|
489
|
-
items.forEach(item => {
|
|
490
|
-
item.removeAttribute('selected');
|
|
491
|
-
item.classList.remove('selected');
|
|
492
|
-
});
|
|
493
|
-
if (selectedItem) {
|
|
494
|
-
// Add the `selected` attribute and `selected` class for visual styling
|
|
495
|
-
selectedItem.setAttribute('selected', 'true');
|
|
496
|
-
selectedItem.classList.add('selected');
|
|
497
|
-
// Update the value and inputElement value to reflect the pre-selected item
|
|
498
|
-
this.value =
|
|
499
|
-
selectedItem.getAttribute('label') ||
|
|
500
|
-
selectedItem.getAttribute('value') ||
|
|
501
|
-
((_a = selectedItem.textContent) === null || _a === void 0 ? void 0 : _a.trim()) ||
|
|
502
|
-
'';
|
|
503
|
-
if (this.inputElement) {
|
|
504
|
-
this.inputElement.value = this.value;
|
|
505
|
-
}
|
|
506
|
-
}
|
|
507
|
-
}
|
|
508
470
|
/**
|
|
509
471
|
* Reset the filter and make all items visible.
|
|
510
472
|
*/
|
|
@@ -521,8 +483,8 @@ const NvFieldmultiselect = class {
|
|
|
521
483
|
if (emptyMessage)
|
|
522
484
|
emptyMessage.remove();
|
|
523
485
|
// Reorder with divider if needed
|
|
524
|
-
const selectedItems = items.filter(item => this.
|
|
525
|
-
const unselectedItems = items.filter(item => !this.
|
|
486
|
+
const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
487
|
+
const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
526
488
|
if (selectedItems.length > 0) {
|
|
527
489
|
this.manageDivider(ul, selectedItems, unselectedItems);
|
|
528
490
|
}
|
|
@@ -533,7 +495,7 @@ const NvFieldmultiselect = class {
|
|
|
533
495
|
* @returns {string[]} The selected values.
|
|
534
496
|
*/
|
|
535
497
|
async getSelectedValues() {
|
|
536
|
-
return this.
|
|
498
|
+
return this.value;
|
|
537
499
|
}
|
|
538
500
|
/**
|
|
539
501
|
* Reorder the content of the slot.
|
|
@@ -555,8 +517,8 @@ const NvFieldmultiselect = class {
|
|
|
555
517
|
return;
|
|
556
518
|
}
|
|
557
519
|
// Separate checked vs unchecked
|
|
558
|
-
const selectedItems = items.filter(item => this.
|
|
559
|
-
const unselectedItems = items.filter(item => !this.
|
|
520
|
+
const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
521
|
+
const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
560
522
|
// Reinsert CHECKED items FIRST
|
|
561
523
|
// appendChild() moves the element without recreating it
|
|
562
524
|
// this is not trigger a re-rendering of the component in the platforms
|
|
@@ -582,8 +544,8 @@ const NvFieldmultiselect = class {
|
|
|
582
544
|
if (!ul)
|
|
583
545
|
return;
|
|
584
546
|
const items = Array.from(ul.querySelectorAll('nv-fielddropdownitemcheck')).filter(item => item.style.display !== 'none');
|
|
585
|
-
const selectedItems = items.filter(item => this.
|
|
586
|
-
const unselectedItems = items.filter(item => !this.
|
|
547
|
+
const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
548
|
+
const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
587
549
|
// Reorder the elements
|
|
588
550
|
selectedItems.forEach(item => ul.appendChild(item));
|
|
589
551
|
unselectedItems.forEach(item => ul.appendChild(item));
|
|
@@ -619,8 +581,8 @@ const NvFieldmultiselect = class {
|
|
|
619
581
|
}
|
|
620
582
|
// Reorder with divider
|
|
621
583
|
const items = Array.from(ul.querySelectorAll('nv-fielddropdownitemcheck'));
|
|
622
|
-
const selectedItems = items.filter(item => this.
|
|
623
|
-
const unselectedItems = items.filter(item => !this.
|
|
584
|
+
const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
585
|
+
const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
624
586
|
this.manageDivider(ul, selectedItems, unselectedItems);
|
|
625
587
|
return;
|
|
626
588
|
}
|
|
@@ -641,8 +603,8 @@ const NvFieldmultiselect = class {
|
|
|
641
603
|
});
|
|
642
604
|
// Manage the divider with the visible items
|
|
643
605
|
const visibleItems = items.filter(item => item.style.display !== 'none');
|
|
644
|
-
const visibleSelected = visibleItems.filter(item => this.
|
|
645
|
-
const visibleUnselected = visibleItems.filter(item => !this.
|
|
606
|
+
const visibleSelected = visibleItems.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
607
|
+
const visibleUnselected = visibleItems.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
646
608
|
this.manageDivider(ul, visibleSelected, visibleUnselected);
|
|
647
609
|
}
|
|
648
610
|
else {
|
|
@@ -700,8 +662,8 @@ const NvFieldmultiselect = class {
|
|
|
700
662
|
});
|
|
701
663
|
// Manage the divider with the visible items
|
|
702
664
|
const visibleItems = items.filter(item => item.style.display !== 'none');
|
|
703
|
-
const visibleSelected = visibleItems.filter(item => this.
|
|
704
|
-
const visibleUnselected = visibleItems.filter(item => !this.
|
|
665
|
+
const visibleSelected = visibleItems.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
666
|
+
const visibleUnselected = visibleItems.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
705
667
|
this.manageDivider(ul, visibleSelected, visibleUnselected);
|
|
706
668
|
// Add or remove the empty message based on the case
|
|
707
669
|
if (!hasVisibleItems) {
|
|
@@ -749,8 +711,8 @@ const NvFieldmultiselect = class {
|
|
|
749
711
|
});
|
|
750
712
|
// Get visible items after filtering
|
|
751
713
|
const visibleItems = items.filter(item => item.style.display !== 'none');
|
|
752
|
-
const visibleSelectedItems = visibleItems.filter(item => this.
|
|
753
|
-
this.manageDivider(ul, visibleSelectedItems, visibleItems.filter(item => !this.
|
|
714
|
+
const visibleSelectedItems = visibleItems.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
715
|
+
this.manageDivider(ul, visibleSelectedItems, visibleItems.filter(item => !this.value.includes(item.getAttribute('value') || '')));
|
|
754
716
|
// Add empty message if no items match the filter
|
|
755
717
|
if (!hasVisibleItems) {
|
|
756
718
|
const emptyMessage = document.createElement('li');
|
|
@@ -947,6 +909,29 @@ const NvFieldmultiselect = class {
|
|
|
947
909
|
divider.style.display = 'none';
|
|
948
910
|
}
|
|
949
911
|
}
|
|
912
|
+
/**
|
|
913
|
+
* Synchronizes the checked state of all child nv-fielddropdownitemcheck components
|
|
914
|
+
* with the current selectedValues state.
|
|
915
|
+
*/
|
|
916
|
+
syncChildComponents() {
|
|
917
|
+
// Early return if element is not ready
|
|
918
|
+
if (!this.el || !this.el.isConnected) {
|
|
919
|
+
return;
|
|
920
|
+
}
|
|
921
|
+
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
|
|
922
|
+
items.forEach(item => {
|
|
923
|
+
// Get the effective value: use explicit value if present, otherwise use label
|
|
924
|
+
const itemValue = item.getAttribute('value') || item.getAttribute('label') || '';
|
|
925
|
+
if (this.value.includes(itemValue)) {
|
|
926
|
+
item.setAttribute('checked', '');
|
|
927
|
+
item.checked = true;
|
|
928
|
+
}
|
|
929
|
+
else {
|
|
930
|
+
item.removeAttribute('checked');
|
|
931
|
+
item.checked = false;
|
|
932
|
+
}
|
|
933
|
+
});
|
|
934
|
+
}
|
|
950
935
|
/**
|
|
951
936
|
* Renders description and error description sections
|
|
952
937
|
* @returns {any} The JSX for descriptions
|