@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
|
@@ -27,6 +27,11 @@ export class NvFieldmultiselect {
|
|
|
27
27
|
* always type in fresh data.
|
|
28
28
|
*/
|
|
29
29
|
this.autocomplete = 'off';
|
|
30
|
+
/**
|
|
31
|
+
* Specifies the selected values of the multiselect field.
|
|
32
|
+
* This is the canonical value for the component and is used for form submission.
|
|
33
|
+
*/
|
|
34
|
+
this.value = [];
|
|
30
35
|
/**
|
|
31
36
|
* Marks the input field as required.
|
|
32
37
|
*/
|
|
@@ -80,17 +85,13 @@ export class NvFieldmultiselect {
|
|
|
80
85
|
* Text for the badge showing the number of selected items.
|
|
81
86
|
*/
|
|
82
87
|
this.badgeLabel = '';
|
|
83
|
-
//#endregion PROPERTIES
|
|
84
|
-
/****************************************************************************/
|
|
85
|
-
//#region STATE
|
|
86
88
|
/**
|
|
87
89
|
* The text entered by the user for filtering multiselect items.
|
|
88
90
|
*/
|
|
89
91
|
this.filterText = '';
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
this.selectedValues = [];
|
|
92
|
+
//#endregion PROPERTIES
|
|
93
|
+
/****************************************************************************/
|
|
94
|
+
//#region STATE
|
|
94
95
|
/**
|
|
95
96
|
* Sorted options for display.
|
|
96
97
|
*/
|
|
@@ -100,8 +101,8 @@ export class NvFieldmultiselect {
|
|
|
100
101
|
* Handle badge close for options mode.
|
|
101
102
|
*/
|
|
102
103
|
this.handleBadgeCloseOptions = () => {
|
|
103
|
-
this.
|
|
104
|
-
this.
|
|
104
|
+
this.value = [];
|
|
105
|
+
this.valueChanged.emit(this.value);
|
|
105
106
|
// Uncheck all elements
|
|
106
107
|
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
|
|
107
108
|
items.forEach(item => {
|
|
@@ -117,8 +118,8 @@ export class NvFieldmultiselect {
|
|
|
117
118
|
* Handle badge close for slots mode.
|
|
118
119
|
*/
|
|
119
120
|
this.handleBadgeCloseSlots = () => {
|
|
120
|
-
this.
|
|
121
|
-
this.
|
|
121
|
+
this.value = [];
|
|
122
|
+
this.valueChanged.emit(this.value);
|
|
122
123
|
// Uncheck all elements
|
|
123
124
|
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
|
|
124
125
|
items.forEach(item => {
|
|
@@ -136,8 +137,7 @@ export class NvFieldmultiselect {
|
|
|
136
137
|
if (this.isHandlingEscape) {
|
|
137
138
|
return;
|
|
138
139
|
}
|
|
139
|
-
|
|
140
|
-
// Reset filter if needed
|
|
140
|
+
// Reset filter if needed, but preserve the filter text
|
|
141
141
|
if (this.filterable) {
|
|
142
142
|
this.resetFilter();
|
|
143
143
|
}
|
|
@@ -150,9 +150,8 @@ export class NvFieldmultiselect {
|
|
|
150
150
|
if (!this.el.contains(document.activeElement)) {
|
|
151
151
|
// Close the popover without affecting the divider
|
|
152
152
|
this.open = false;
|
|
153
|
-
// Reset filter if needed
|
|
153
|
+
// Reset filter if needed, but preserve the filter text
|
|
154
154
|
if (this.filterable) {
|
|
155
|
-
this.filterText = '';
|
|
156
155
|
this.resetFilter();
|
|
157
156
|
}
|
|
158
157
|
}
|
|
@@ -211,15 +210,14 @@ export class NvFieldmultiselect {
|
|
|
211
210
|
return;
|
|
212
211
|
}
|
|
213
212
|
const input = event.target;
|
|
214
|
-
this.
|
|
215
|
-
this.
|
|
213
|
+
this.filterText = input.value;
|
|
214
|
+
this.filterTextChanged.emit(this.filterText);
|
|
216
215
|
// Clear any existing timer
|
|
217
216
|
if (this.debounceTimer) {
|
|
218
217
|
window.clearTimeout(this.debounceTimer);
|
|
219
218
|
}
|
|
220
219
|
// Set a new timer for filtering
|
|
221
220
|
this.debounceTimer = window.setTimeout(() => {
|
|
222
|
-
this.filterText = input.value.toLowerCase();
|
|
223
221
|
this.filterItemsOption();
|
|
224
222
|
}, this.debounceDelay);
|
|
225
223
|
};
|
|
@@ -233,15 +231,14 @@ export class NvFieldmultiselect {
|
|
|
233
231
|
if (this.disabled || this.readonly)
|
|
234
232
|
return;
|
|
235
233
|
const input = event.target;
|
|
236
|
-
this.
|
|
237
|
-
this.
|
|
234
|
+
this.filterText = input.value;
|
|
235
|
+
this.filterTextChanged.emit(this.filterText);
|
|
238
236
|
// Clear any existing timer
|
|
239
237
|
if (this.debounceTimer) {
|
|
240
238
|
window.clearTimeout(this.debounceTimer);
|
|
241
239
|
}
|
|
242
240
|
// Set a new timer for filtering
|
|
243
241
|
this.debounceTimer = window.setTimeout(() => {
|
|
244
|
-
this.filterText = input.value.toLowerCase();
|
|
245
242
|
this.filterSlotsItems();
|
|
246
243
|
}, this.debounceDelay);
|
|
247
244
|
};
|
|
@@ -271,9 +268,8 @@ export class NvFieldmultiselect {
|
|
|
271
268
|
if (!this.el.contains(document.activeElement)) {
|
|
272
269
|
// Close the popover without affecting the divider
|
|
273
270
|
this.open = false;
|
|
274
|
-
// Reset filter if needed
|
|
271
|
+
// Reset filter if needed, but preserve the filter text
|
|
275
272
|
if (this.filterable) {
|
|
276
|
-
this.filterText = '';
|
|
277
273
|
this.resetFilter();
|
|
278
274
|
}
|
|
279
275
|
}
|
|
@@ -305,14 +301,14 @@ export class NvFieldmultiselect {
|
|
|
305
301
|
* @returns {any} The JSX for options mode
|
|
306
302
|
*/
|
|
307
303
|
this.renderOptionsMode = () => {
|
|
308
|
-
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.
|
|
304
|
+
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()));
|
|
309
305
|
};
|
|
310
306
|
/**
|
|
311
307
|
* Renders the component in slots mode
|
|
312
308
|
* @returns {any} The JSX for slots mode
|
|
313
309
|
*/
|
|
314
310
|
this.renderSlotsMode = () => {
|
|
315
|
-
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.
|
|
311
|
+
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()));
|
|
316
312
|
};
|
|
317
313
|
}
|
|
318
314
|
//#endregion EVENTS
|
|
@@ -321,7 +317,7 @@ export class NvFieldmultiselect {
|
|
|
321
317
|
handleOptionsChange(newValue) {
|
|
322
318
|
if (!newValue)
|
|
323
319
|
return;
|
|
324
|
-
this.
|
|
320
|
+
this.value = newValue
|
|
325
321
|
.filter(option => option.checked)
|
|
326
322
|
.map(option => option.value);
|
|
327
323
|
this.reorderOptionsContent();
|
|
@@ -330,8 +326,10 @@ export class NvFieldmultiselect {
|
|
|
330
326
|
* Emitted when the value changes.
|
|
331
327
|
*/
|
|
332
328
|
watchValueHandler() {
|
|
333
|
-
//
|
|
334
|
-
this.
|
|
329
|
+
// Synchronize child components when value changes programmatically
|
|
330
|
+
if (this.el && this.el.isConnected) {
|
|
331
|
+
this.syncChildComponents();
|
|
332
|
+
}
|
|
335
333
|
}
|
|
336
334
|
//#endregion WATCHERS
|
|
337
335
|
/****************************************************************************/
|
|
@@ -371,22 +369,23 @@ export class NvFieldmultiselect {
|
|
|
371
369
|
}
|
|
372
370
|
const { value, checked } = event.detail;
|
|
373
371
|
if (value !== undefined && value !== null) {
|
|
374
|
-
const
|
|
375
|
-
const valueIndex =
|
|
372
|
+
const newValue = [...this.value];
|
|
373
|
+
const valueIndex = newValue.indexOf(value);
|
|
376
374
|
if (checked && valueIndex === -1) {
|
|
377
|
-
|
|
375
|
+
newValue.push(value);
|
|
378
376
|
}
|
|
379
377
|
else if (!checked && valueIndex > -1) {
|
|
380
|
-
|
|
378
|
+
newValue.splice(valueIndex, 1);
|
|
381
379
|
}
|
|
382
|
-
//
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
380
|
+
// Always update the state and emit the event when an item is checked/unchecked
|
|
381
|
+
this.value = newValue;
|
|
382
|
+
this.valueChanged.emit(this.value);
|
|
383
|
+
// Update the checked state of all items to ensure consistency
|
|
384
|
+
this.syncChildComponents();
|
|
385
|
+
// Preserve the filter text in the input
|
|
386
|
+
if (this.filterable && this.inputElement) {
|
|
387
|
+
// Keep the current filter text in the input
|
|
388
|
+
this.inputElement.value = this.filterText;
|
|
390
389
|
}
|
|
391
390
|
}
|
|
392
391
|
else {
|
|
@@ -425,12 +424,10 @@ export class NvFieldmultiselect {
|
|
|
425
424
|
}
|
|
426
425
|
// Specific initialization for slots mode
|
|
427
426
|
if (!this.options) {
|
|
427
|
+
// Use a microtask to ensure DOM is ready
|
|
428
428
|
Promise.resolve().then(() => {
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
this.selectedValues = items
|
|
432
|
-
.filter(item => item.hasAttribute('checked'))
|
|
433
|
-
.map(item => item.getAttribute('value') || '');
|
|
429
|
+
// Synchronize child components
|
|
430
|
+
this.syncChildComponents();
|
|
434
431
|
// Force a reorder after initialization
|
|
435
432
|
requestAnimationFrame(() => {
|
|
436
433
|
this.reorderSlotContent();
|
|
@@ -441,13 +438,8 @@ export class NvFieldmultiselect {
|
|
|
441
438
|
if (this.options) {
|
|
442
439
|
this.sortedOptions = [...((_a = this.options) !== null && _a !== void 0 ? _a : [])];
|
|
443
440
|
}
|
|
444
|
-
//
|
|
445
|
-
if (this.
|
|
446
|
-
this.filterText = String(this.value).toLocaleLowerCase();
|
|
447
|
-
this.filterItems();
|
|
448
|
-
}
|
|
449
|
-
else {
|
|
450
|
-
// Reset visibility state of all dropdown items
|
|
441
|
+
// Reset filter if needed
|
|
442
|
+
if (!this.filterText) {
|
|
451
443
|
this.resetFilter();
|
|
452
444
|
}
|
|
453
445
|
}
|
|
@@ -458,6 +450,8 @@ export class NvFieldmultiselect {
|
|
|
458
450
|
if (this.options) {
|
|
459
451
|
this.handleOptionsChange(this.options);
|
|
460
452
|
}
|
|
453
|
+
// Final synchronization of child components after everything is loaded
|
|
454
|
+
this.syncChildComponents();
|
|
461
455
|
}
|
|
462
456
|
/**
|
|
463
457
|
* Unsubscribe from click outside event.
|
|
@@ -475,38 +469,6 @@ export class NvFieldmultiselect {
|
|
|
475
469
|
async getFilterText() {
|
|
476
470
|
return this.filterText;
|
|
477
471
|
}
|
|
478
|
-
/**
|
|
479
|
-
* Set the initial selection based on the current value and update the inputElement value.
|
|
480
|
-
*/
|
|
481
|
-
setInitialSelection() {
|
|
482
|
-
var _a;
|
|
483
|
-
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitem'));
|
|
484
|
-
const selectedItem = items.find(item => {
|
|
485
|
-
var _a;
|
|
486
|
-
return item.getAttribute('label') === this.value ||
|
|
487
|
-
item.getAttribute('value') === this.value ||
|
|
488
|
-
((_a = item.textContent) === null || _a === void 0 ? void 0 : _a.trim()) === this.value;
|
|
489
|
-
});
|
|
490
|
-
// Remove 'selected' from all items first to reset the state
|
|
491
|
-
items.forEach(item => {
|
|
492
|
-
item.removeAttribute('selected');
|
|
493
|
-
item.classList.remove('selected');
|
|
494
|
-
});
|
|
495
|
-
if (selectedItem) {
|
|
496
|
-
// Add the `selected` attribute and `selected` class for visual styling
|
|
497
|
-
selectedItem.setAttribute('selected', 'true');
|
|
498
|
-
selectedItem.classList.add('selected');
|
|
499
|
-
// Update the value and inputElement value to reflect the pre-selected item
|
|
500
|
-
this.value =
|
|
501
|
-
selectedItem.getAttribute('label') ||
|
|
502
|
-
selectedItem.getAttribute('value') ||
|
|
503
|
-
((_a = selectedItem.textContent) === null || _a === void 0 ? void 0 : _a.trim()) ||
|
|
504
|
-
'';
|
|
505
|
-
if (this.inputElement) {
|
|
506
|
-
this.inputElement.value = this.value;
|
|
507
|
-
}
|
|
508
|
-
}
|
|
509
|
-
}
|
|
510
472
|
/**
|
|
511
473
|
* Reset the filter and make all items visible.
|
|
512
474
|
*/
|
|
@@ -523,8 +485,8 @@ export class NvFieldmultiselect {
|
|
|
523
485
|
if (emptyMessage)
|
|
524
486
|
emptyMessage.remove();
|
|
525
487
|
// Reorder with divider if needed
|
|
526
|
-
const selectedItems = items.filter(item => this.
|
|
527
|
-
const unselectedItems = items.filter(item => !this.
|
|
488
|
+
const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
489
|
+
const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
528
490
|
if (selectedItems.length > 0) {
|
|
529
491
|
this.manageDivider(ul, selectedItems, unselectedItems);
|
|
530
492
|
}
|
|
@@ -535,7 +497,7 @@ export class NvFieldmultiselect {
|
|
|
535
497
|
* @returns {string[]} The selected values.
|
|
536
498
|
*/
|
|
537
499
|
async getSelectedValues() {
|
|
538
|
-
return this.
|
|
500
|
+
return this.value;
|
|
539
501
|
}
|
|
540
502
|
/**
|
|
541
503
|
* Reorder the content of the slot.
|
|
@@ -557,8 +519,8 @@ export class NvFieldmultiselect {
|
|
|
557
519
|
return;
|
|
558
520
|
}
|
|
559
521
|
// Separate checked vs unchecked
|
|
560
|
-
const selectedItems = items.filter(item => this.
|
|
561
|
-
const unselectedItems = items.filter(item => !this.
|
|
522
|
+
const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
523
|
+
const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
562
524
|
// Reinsert CHECKED items FIRST
|
|
563
525
|
// appendChild() moves the element without recreating it
|
|
564
526
|
// this is not trigger a re-rendering of the component in the platforms
|
|
@@ -584,8 +546,8 @@ export class NvFieldmultiselect {
|
|
|
584
546
|
if (!ul)
|
|
585
547
|
return;
|
|
586
548
|
const items = Array.from(ul.querySelectorAll('nv-fielddropdownitemcheck')).filter(item => item.style.display !== 'none');
|
|
587
|
-
const selectedItems = items.filter(item => this.
|
|
588
|
-
const unselectedItems = items.filter(item => !this.
|
|
549
|
+
const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
550
|
+
const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
589
551
|
// Reorder the elements
|
|
590
552
|
selectedItems.forEach(item => ul.appendChild(item));
|
|
591
553
|
unselectedItems.forEach(item => ul.appendChild(item));
|
|
@@ -621,8 +583,8 @@ export class NvFieldmultiselect {
|
|
|
621
583
|
}
|
|
622
584
|
// Reorder with divider
|
|
623
585
|
const items = Array.from(ul.querySelectorAll('nv-fielddropdownitemcheck'));
|
|
624
|
-
const selectedItems = items.filter(item => this.
|
|
625
|
-
const unselectedItems = items.filter(item => !this.
|
|
586
|
+
const selectedItems = items.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
587
|
+
const unselectedItems = items.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
626
588
|
this.manageDivider(ul, selectedItems, unselectedItems);
|
|
627
589
|
return;
|
|
628
590
|
}
|
|
@@ -643,8 +605,8 @@ export class NvFieldmultiselect {
|
|
|
643
605
|
});
|
|
644
606
|
// Manage the divider with the visible items
|
|
645
607
|
const visibleItems = items.filter(item => item.style.display !== 'none');
|
|
646
|
-
const visibleSelected = visibleItems.filter(item => this.
|
|
647
|
-
const visibleUnselected = visibleItems.filter(item => !this.
|
|
608
|
+
const visibleSelected = visibleItems.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
609
|
+
const visibleUnselected = visibleItems.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
648
610
|
this.manageDivider(ul, visibleSelected, visibleUnselected);
|
|
649
611
|
}
|
|
650
612
|
else {
|
|
@@ -702,8 +664,8 @@ export class NvFieldmultiselect {
|
|
|
702
664
|
});
|
|
703
665
|
// Manage the divider with the visible items
|
|
704
666
|
const visibleItems = items.filter(item => item.style.display !== 'none');
|
|
705
|
-
const visibleSelected = visibleItems.filter(item => this.
|
|
706
|
-
const visibleUnselected = visibleItems.filter(item => !this.
|
|
667
|
+
const visibleSelected = visibleItems.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
668
|
+
const visibleUnselected = visibleItems.filter(item => !this.value.includes(item.getAttribute('value') || ''));
|
|
707
669
|
this.manageDivider(ul, visibleSelected, visibleUnselected);
|
|
708
670
|
// Add or remove the empty message based on the case
|
|
709
671
|
if (!hasVisibleItems) {
|
|
@@ -751,8 +713,8 @@ export class NvFieldmultiselect {
|
|
|
751
713
|
});
|
|
752
714
|
// Get visible items after filtering
|
|
753
715
|
const visibleItems = items.filter(item => item.style.display !== 'none');
|
|
754
|
-
const visibleSelectedItems = visibleItems.filter(item => this.
|
|
755
|
-
this.manageDivider(ul, visibleSelectedItems, visibleItems.filter(item => !this.
|
|
716
|
+
const visibleSelectedItems = visibleItems.filter(item => this.value.includes(item.getAttribute('value') || ''));
|
|
717
|
+
this.manageDivider(ul, visibleSelectedItems, visibleItems.filter(item => !this.value.includes(item.getAttribute('value') || '')));
|
|
756
718
|
// Add empty message if no items match the filter
|
|
757
719
|
if (!hasVisibleItems) {
|
|
758
720
|
const emptyMessage = document.createElement('li');
|
|
@@ -949,6 +911,29 @@ export class NvFieldmultiselect {
|
|
|
949
911
|
divider.style.display = 'none';
|
|
950
912
|
}
|
|
951
913
|
}
|
|
914
|
+
/**
|
|
915
|
+
* Synchronizes the checked state of all child nv-fielddropdownitemcheck components
|
|
916
|
+
* with the current selectedValues state.
|
|
917
|
+
*/
|
|
918
|
+
syncChildComponents() {
|
|
919
|
+
// Early return if element is not ready
|
|
920
|
+
if (!this.el || !this.el.isConnected) {
|
|
921
|
+
return;
|
|
922
|
+
}
|
|
923
|
+
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
|
|
924
|
+
items.forEach(item => {
|
|
925
|
+
// Get the effective value: use explicit value if present, otherwise use label
|
|
926
|
+
const itemValue = item.getAttribute('value') || item.getAttribute('label') || '';
|
|
927
|
+
if (this.value.includes(itemValue)) {
|
|
928
|
+
item.setAttribute('checked', '');
|
|
929
|
+
item.checked = true;
|
|
930
|
+
}
|
|
931
|
+
else {
|
|
932
|
+
item.removeAttribute('checked');
|
|
933
|
+
item.checked = false;
|
|
934
|
+
}
|
|
935
|
+
});
|
|
936
|
+
}
|
|
952
937
|
/**
|
|
953
938
|
* Renders description and error description sections
|
|
954
939
|
* @returns {any} The JSX for descriptions
|
|
@@ -1104,23 +1089,22 @@ export class NvFieldmultiselect {
|
|
|
1104
1089
|
"defaultValue": "'off'"
|
|
1105
1090
|
},
|
|
1106
1091
|
"value": {
|
|
1107
|
-
"type": "
|
|
1092
|
+
"type": "unknown",
|
|
1108
1093
|
"mutable": true,
|
|
1109
1094
|
"complexType": {
|
|
1110
|
-
"original": "string",
|
|
1111
|
-
"resolved": "string",
|
|
1095
|
+
"original": "string[]",
|
|
1096
|
+
"resolved": "string[]",
|
|
1112
1097
|
"references": {}
|
|
1113
1098
|
},
|
|
1114
1099
|
"required": false,
|
|
1115
1100
|
"optional": false,
|
|
1116
1101
|
"docs": {
|
|
1117
1102
|
"tags": [],
|
|
1118
|
-
"text": "Specifies the
|
|
1103
|
+
"text": "Specifies the selected values of the multiselect field.\nThis is the canonical value for the component and is used for form submission."
|
|
1119
1104
|
},
|
|
1120
1105
|
"getter": false,
|
|
1121
1106
|
"setter": false,
|
|
1122
|
-
"
|
|
1123
|
-
"reflect": true
|
|
1107
|
+
"defaultValue": "[]"
|
|
1124
1108
|
},
|
|
1125
1109
|
"required": {
|
|
1126
1110
|
"type": "boolean",
|
|
@@ -1409,13 +1393,31 @@ export class NvFieldmultiselect {
|
|
|
1409
1393
|
"attribute": "badge-label",
|
|
1410
1394
|
"reflect": true,
|
|
1411
1395
|
"defaultValue": "''"
|
|
1396
|
+
},
|
|
1397
|
+
"filterText": {
|
|
1398
|
+
"type": "string",
|
|
1399
|
+
"mutable": true,
|
|
1400
|
+
"complexType": {
|
|
1401
|
+
"original": "string",
|
|
1402
|
+
"resolved": "string",
|
|
1403
|
+
"references": {}
|
|
1404
|
+
},
|
|
1405
|
+
"required": false,
|
|
1406
|
+
"optional": false,
|
|
1407
|
+
"docs": {
|
|
1408
|
+
"tags": [],
|
|
1409
|
+
"text": "The text entered by the user for filtering multiselect items."
|
|
1410
|
+
},
|
|
1411
|
+
"getter": false,
|
|
1412
|
+
"setter": false,
|
|
1413
|
+
"attribute": "filter-text",
|
|
1414
|
+
"reflect": true,
|
|
1415
|
+
"defaultValue": "''"
|
|
1412
1416
|
}
|
|
1413
1417
|
};
|
|
1414
1418
|
}
|
|
1415
1419
|
static get states() {
|
|
1416
1420
|
return {
|
|
1417
|
-
"filterText": {},
|
|
1418
|
-
"selectedValues": {},
|
|
1419
1421
|
"sortedOptions": {},
|
|
1420
1422
|
"isHandlingEscape": {}
|
|
1421
1423
|
};
|
|
@@ -1432,26 +1434,26 @@ export class NvFieldmultiselect {
|
|
|
1432
1434
|
"name": "bind",
|
|
1433
1435
|
"text": "value"
|
|
1434
1436
|
}],
|
|
1435
|
-
"text": "Emitted when the
|
|
1437
|
+
"text": "Emitted when the selected values change."
|
|
1436
1438
|
},
|
|
1437
1439
|
"complexType": {
|
|
1438
|
-
"original": "string",
|
|
1439
|
-
"resolved": "string",
|
|
1440
|
+
"original": "string[]",
|
|
1441
|
+
"resolved": "string[]",
|
|
1440
1442
|
"references": {}
|
|
1441
1443
|
}
|
|
1442
1444
|
}, {
|
|
1443
|
-
"method": "
|
|
1444
|
-
"name": "
|
|
1445
|
+
"method": "filterTextChanged",
|
|
1446
|
+
"name": "filterTextChanged",
|
|
1445
1447
|
"bubbles": true,
|
|
1446
1448
|
"cancelable": true,
|
|
1447
1449
|
"composed": true,
|
|
1448
1450
|
"docs": {
|
|
1449
1451
|
"tags": [],
|
|
1450
|
-
"text": "
|
|
1452
|
+
"text": "Emitted when the filter text changes."
|
|
1451
1453
|
},
|
|
1452
1454
|
"complexType": {
|
|
1453
|
-
"original": "string
|
|
1454
|
-
"resolved": "string
|
|
1455
|
+
"original": "string",
|
|
1456
|
+
"resolved": "string",
|
|
1455
1457
|
"references": {}
|
|
1456
1458
|
}
|
|
1457
1459
|
}];
|