@nova-design-system/nova-webcomponents 3.1.0 → 3.3.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/{index-9bda5507.js → index-c56424e5.js} +34 -186
- package/dist/cjs/index-c56424e5.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -0
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/native.cjs.js +2 -23
- package/dist/cjs/native.cjs.js.map +1 -1
- package/dist/cjs/nv-alert.cjs.entry.js +1 -1
- package/dist/cjs/nv-avatar.cjs.entry.js +1 -1
- package/dist/cjs/nv-badge_2.cjs.entry.js +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 +384 -172
- 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 +95 -103
- package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-datagridcolumn.cjs.entry.js +2 -2
- package/dist/cjs/nv-datagridcolumn.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-dialog.cjs.entry.js +1 -1
- package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +1 -1
- package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +1 -1
- package/dist/cjs/nv-fielddate.cjs.entry.js +45 -11
- package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddaterange.cjs.entry.js +128 -42
- package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddropdown.cjs.entry.js +84 -60
- package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +116 -104
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldnumber.cjs.entry.js +2 -2
- package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldpassword.cjs.entry.js +2 -2
- package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldradio.cjs.entry.js +1 -1
- package/dist/cjs/nv-fieldselect.cjs.entry.js +2 -2
- package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldslider.cjs.entry.js +668 -0
- package/dist/cjs/nv-fieldslider.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-fieldtext.cjs.entry.js +5 -5
- package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js +5 -5
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldtime.cjs.entry.js +11 -11
- package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-icon.cjs.entry.js +3 -3
- package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-iconbutton_2.cjs.entry.js +3 -3
- package/dist/cjs/nv-menu.cjs.entry.js +2 -2
- package/dist/cjs/nv-menuitem.cjs.entry.js +2 -2
- package/dist/cjs/nv-popover.cjs.entry.js +2 -2
- package/dist/cjs/nv-row.cjs.entry.js +2 -2
- package/dist/cjs/nv-stack.cjs.entry.js +2 -2
- package/dist/cjs/nv-table.cjs.entry.js +3 -3
- package/dist/cjs/nv-tablecolumn.cjs.entry.js +1 -1
- package/dist/cjs/nv-toggle.cjs.entry.js +3 -3
- package/dist/cjs/nv-tooltip.cjs.entry.js +3 -3
- package/dist/cjs/nv-tooltip.cjs.entry.js.map +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/nv-calendar/nv-calendar.css +6 -2
- package/dist/collection/components/nv-calendar/nv-calendar.js +247 -169
- package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -1
- package/dist/collection/components/nv-calendar/nv-calendar.utils.js +12 -3
- package/dist/collection/components/nv-calendar/nv-calendar.utils.js.map +1 -1
- package/dist/collection/components/nv-calendar/partials/calendar-actions.js +11 -0
- package/dist/collection/components/nv-calendar/partials/calendar-actions.js.map +1 -0
- package/dist/collection/components/nv-calendar/partials/calendar-grid.js +24 -0
- package/dist/collection/components/nv-calendar/partials/calendar-grid.js.map +1 -0
- package/dist/collection/components/nv-calendar/partials/calendar-header.js +38 -0
- package/dist/collection/components/nv-calendar/partials/calendar-header.js.map +1 -0
- package/dist/collection/components/nv-calendar/partials/calendar-shortcuts.js +22 -0
- package/dist/collection/components/nv-calendar/partials/calendar-shortcuts.js.map +1 -0
- package/dist/collection/components/nv-calendar/partials/day-cell.js +31 -0
- package/dist/collection/components/nv-calendar/partials/day-cell.js.map +1 -0
- package/dist/collection/components/nv-calendar/partials/index.js +7 -0
- package/dist/collection/components/nv-calendar/partials/index.js.map +1 -0
- package/dist/collection/components/nv-calendar/partials/week-numbers.js +36 -0
- package/dist/collection/components/nv-calendar/partials/week-numbers.js.map +1 -0
- package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js +692 -651
- package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js.map +1 -1
- package/dist/collection/components/nv-calendar/test/partials/calendar-actions.logic.test.js +169 -0
- package/dist/collection/components/nv-calendar/test/partials/calendar-actions.logic.test.js.map +1 -0
- package/dist/collection/components/nv-calendar/test/partials/calendar-grid.logic.test.js +262 -0
- package/dist/collection/components/nv-calendar/test/partials/calendar-grid.logic.test.js.map +1 -0
- package/dist/collection/components/nv-calendar/test/partials/calendar-header.logic.test.js +208 -0
- package/dist/collection/components/nv-calendar/test/partials/calendar-header.logic.test.js.map +1 -0
- package/dist/collection/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.js +355 -0
- package/dist/collection/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.js.map +1 -0
- package/dist/collection/components/nv-calendar/test/partials/day-cell.logic.test.js +250 -0
- package/dist/collection/components/nv-calendar/test/partials/day-cell.logic.test.js.map +1 -0
- package/dist/collection/components/nv-calendar/test/partials/week-numbers.logic.test.js +217 -0
- package/dist/collection/components/nv-calendar/test/partials/week-numbers.logic.test.js.map +1 -0
- package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +131 -48
- package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +1 -1
- package/dist/collection/components/nv-datagrid/nv-datagrid.js +94 -152
- package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -1
- package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +20 -1
- package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js.map +1 -1
- package/dist/collection/components/nv-fielddate/nv-fielddate.js +56 -16
- package/dist/collection/components/nv-fielddate/nv-fielddate.js.map +1 -1
- package/dist/collection/components/nv-fielddate/styles/nv-fielddate.css +51 -1
- package/dist/collection/components/nv-fielddate/test/nv-fielddate.logic.test.js +196 -0
- package/dist/collection/components/nv-fielddate/test/nv-fielddate.logic.test.js.map +1 -0
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +165 -41
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +1 -1
- package/dist/collection/components/nv-fielddaterange/styles/nv-fielddaterange.css +51 -1
- package/dist/collection/components/nv-fielddaterange/test/nv-fielddaterange.logic.test.js +137 -0
- package/dist/collection/components/nv-fielddaterange/test/nv-fielddaterange.logic.test.js.map +1 -0
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +8 -0
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +1 -1
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +173 -106
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
- package/dist/collection/components/nv-fielddropdown/styles/nv-fielddropdown.css +77 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +202 -190
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
- package/dist/collection/components/nv-fieldmultiselect/{nv-fieldmultiselect.css → styles/nv-fieldmultiselect.css} +61 -4
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.css +51 -1
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.css +51 -1
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.css +51 -1
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js +264 -0
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js.map +1 -0
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +1036 -0
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.js.map +1 -0
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js +77 -0
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.utils.js.map +1 -0
- package/dist/collection/components/nv-fieldslider/partials/field-input.js +33 -0
- package/dist/collection/components/nv-fieldslider/partials/field-input.js.map +1 -0
- package/dist/collection/components/nv-fieldslider/partials/range-thumb.js +34 -0
- package/dist/collection/components/nv-fieldslider/partials/range-thumb.js.map +1 -0
- package/dist/collection/components/nv-fieldslider/partials/single-thumb.js +18 -0
- package/dist/collection/components/nv-fieldslider/partials/single-thumb.js.map +1 -0
- package/dist/collection/components/nv-fieldslider/partials/tick-marks.js +18 -0
- package/dist/collection/components/nv-fieldslider/partials/tick-marks.js.map +1 -0
- package/dist/collection/components/nv-fieldslider/styles/nv-fieldslider.css +338 -0
- package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js +159 -0
- package/dist/collection/components/nv-fieldslider/test/nv-fieldslider.utils.test.js.map +1 -0
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.css +59 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +9 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +4 -3
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +1 -1
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.css +45 -1
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -3
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +9 -9
- package/dist/collection/components/nv-fieldtime/styles/nv-fieldtime.css +51 -1
- package/dist/collection/components/nv-icon/nv-icon.js +1 -1
- package/dist/collection/components/nv-icon/nv-icons.js +1 -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.css +1 -0
- package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
- package/dist/collection/interfaces/Column.js.map +1 -1
- package/dist/components/index.js +2 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/nv-alert.js +2 -2
- 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 +97 -109
- package/dist/components/nv-datagrid.js.map +1 -1
- package/dist/components/nv-datagridcolumn.js +4 -3
- package/dist/components/nv-datagridcolumn.js.map +1 -1
- package/dist/components/nv-dialog.js +6 -6
- 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 +53 -25
- package/dist/components/nv-fielddate.js.map +1 -1
- package/dist/components/nv-fielddaterange.js +137 -57
- package/dist/components/nv-fielddaterange.js.map +1 -1
- package/dist/components/nv-fielddropdown.js +98 -72
- package/dist/components/nv-fielddropdown.js.map +1 -1
- package/dist/components/nv-fielddropdownitem.js +1 -1
- package/dist/components/nv-fielddropdownitemcheck.js +1 -1
- package/dist/components/nv-fieldmultiselect.js +132 -120
- package/dist/components/nv-fieldmultiselect.js.map +1 -1
- package/dist/components/nv-fieldnumber.js +5 -5
- package/dist/components/nv-fieldnumber.js.map +1 -1
- package/dist/components/nv-fieldpassword.js +5 -5
- package/dist/components/nv-fieldpassword.js.map +1 -1
- package/dist/components/nv-fieldradio.js +1 -1
- package/dist/components/nv-fieldselect.js +5 -5
- package/dist/components/nv-fieldselect.js.map +1 -1
- package/dist/components/nv-fieldslider.d.ts +11 -0
- package/dist/components/nv-fieldslider.js +731 -0
- package/dist/components/nv-fieldslider.js.map +1 -0
- package/dist/components/nv-fieldtext.js +1 -1
- package/dist/components/nv-fieldtextarea.js +5 -5
- package/dist/components/nv-fieldtextarea.js.map +1 -1
- package/dist/components/nv-fieldtime.js +15 -15
- package/dist/components/nv-fieldtime.js.map +1 -1
- package/dist/components/nv-icon.js +1 -1
- package/dist/components/nv-iconbutton.js +1 -1
- package/dist/components/nv-loader.js +1 -1
- package/dist/components/nv-menu.js +5 -5
- package/dist/components/nv-menuitem.js +1 -1
- package/dist/components/nv-popover.js +1 -1
- package/dist/components/nv-row.js +2 -2
- package/dist/components/nv-stack.js +2 -2
- package/dist/components/nv-table.js +3 -3
- package/dist/components/nv-tablecolumn.js +1 -1
- package/dist/components/nv-toggle.js +3 -3
- package/dist/components/nv-tooltip.js +1 -1
- package/dist/components/{p-eb632278.js → p-2ae214d2.js} +3 -3
- package/dist/components/{p-eb632278.js.map → p-2ae214d2.js.map} +1 -1
- package/dist/components/{p-f76bb0c3.js → p-3e32b5a1.js} +5 -5
- package/dist/components/p-3e32b5a1.js.map +1 -0
- package/dist/components/{p-854c32dc.js → p-5e90b9b8.js} +389 -199
- package/dist/components/p-5e90b9b8.js.map +1 -0
- package/dist/components/{p-a2527411.js → p-5ee4015d.js} +3 -3
- package/dist/components/{p-a2527411.js.map → p-5ee4015d.js.map} +1 -1
- package/dist/components/{p-02752770.js → p-6277f746.js} +2 -2
- package/dist/components/{p-02752770.js.map → p-6277f746.js.map} +1 -1
- package/dist/components/p-7935c1cb.js +167 -0
- package/dist/components/p-7935c1cb.js.map +1 -0
- package/dist/components/{p-b48d5a94.js → p-8d92f0e1.js} +4 -4
- package/dist/components/{p-b48d5a94.js.map → p-8d92f0e1.js.map} +1 -1
- package/dist/components/{p-41c56ddc.js → p-95a7581c.js} +5 -5
- package/dist/components/{p-41c56ddc.js.map → p-95a7581c.js.map} +1 -1
- package/dist/components/{p-e00cbb8a.js → p-9e6e26cb.js} +2 -2
- package/dist/components/{p-e00cbb8a.js.map → p-9e6e26cb.js.map} +1 -1
- package/dist/components/p-9fa0de38.js +88 -0
- package/dist/components/p-9fa0de38.js.map +1 -0
- package/dist/components/{p-1c45c0f2.js → p-aff3ed68.js} +24 -177
- package/dist/components/p-aff3ed68.js.map +1 -0
- package/dist/components/{p-608eb9da.js → p-b6d858b2.js} +2 -2
- package/dist/components/{p-608eb9da.js.map → p-b6d858b2.js.map} +1 -1
- package/dist/components/{p-f5cb0a63.js → p-bb6d1e4e.js} +3 -3
- package/dist/components/{p-f5cb0a63.js.map → p-bb6d1e4e.js.map} +1 -1
- package/dist/components/{p-35a70c5e.js → p-c07c32d2.js} +3 -3
- package/dist/components/{p-35a70c5e.js.map → p-c07c32d2.js.map} +1 -1
- package/dist/components/{p-10faa938.js → p-c9006520.js} +5 -5
- package/dist/components/{p-10faa938.js.map → p-c9006520.js.map} +1 -1
- package/dist/components/{p-0a0f6daf.js → p-e28c4707.js} +3 -3
- package/dist/components/{p-0a0f6daf.js.map → p-e28c4707.js.map} +1 -1
- package/dist/components/{p-10b37876.js → p-eabbc885.js} +3 -3
- package/dist/components/{p-10b37876.js.map → p-eabbc885.js.map} +1 -1
- package/dist/esm/{constants-b97e736d.js → constants-4faa1fae.js} +2 -2
- package/dist/esm/{constants-b97e736d.js.map → constants-4faa1fae.js.map} +1 -1
- package/dist/esm/{index-1fb7a9a6.js → index-a1936cd0.js} +35 -186
- package/dist/esm/index-a1936cd0.js.map +1 -0
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/native.js +3 -24
- package/dist/esm/native.js.map +1 -1
- package/dist/esm/nv-alert.entry.js +2 -2
- package/dist/esm/nv-avatar.entry.js +2 -2
- package/dist/esm/nv-badge_2.entry.js +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 +2 -2
- package/dist/esm/nv-calendar.entry.js +385 -173
- 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 +96 -104
- package/dist/esm/nv-datagrid.entry.js.map +1 -1
- package/dist/esm/nv-datagridcolumn.entry.js +2 -2
- package/dist/esm/nv-datagridcolumn.entry.js.map +1 -1
- package/dist/esm/nv-dialog.entry.js +2 -2
- package/dist/esm/nv-dialogfooter_2.entry.js +2 -2
- package/dist/esm/nv-fieldcheckbox.entry.js +1 -1
- package/dist/esm/nv-fielddate.entry.js +45 -11
- package/dist/esm/nv-fielddate.entry.js.map +1 -1
- package/dist/esm/nv-fielddaterange.entry.js +128 -42
- package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
- package/dist/esm/nv-fielddropdown.entry.js +84 -60
- package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
- package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
- package/dist/esm/nv-fieldmultiselect.entry.js +116 -104
- package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
- package/dist/esm/nv-fieldnumber.entry.js +2 -2
- package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
- package/dist/esm/nv-fieldpassword.entry.js +2 -2
- package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
- package/dist/esm/nv-fieldradio.entry.js +1 -1
- package/dist/esm/nv-fieldselect.entry.js +2 -2
- package/dist/esm/nv-fieldselect.entry.js.map +1 -1
- package/dist/esm/nv-fieldslider.entry.js +664 -0
- package/dist/esm/nv-fieldslider.entry.js.map +1 -0
- package/dist/esm/nv-fieldtext.entry.js +5 -5
- package/dist/esm/nv-fieldtext.entry.js.map +1 -1
- package/dist/esm/nv-fieldtextarea.entry.js +5 -5
- package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
- package/dist/esm/nv-fieldtime.entry.js +12 -12
- package/dist/esm/nv-fieldtime.entry.js.map +1 -1
- package/dist/esm/nv-icon.entry.js +4 -4
- package/dist/esm/nv-icon.entry.js.map +1 -1
- package/dist/esm/nv-iconbutton_2.entry.js +3 -3
- package/dist/esm/nv-menu.entry.js +2 -2
- package/dist/esm/nv-menuitem.entry.js +2 -2
- package/dist/esm/nv-popover.entry.js +2 -2
- package/dist/esm/nv-row.entry.js +2 -2
- package/dist/esm/nv-stack.entry.js +2 -2
- package/dist/esm/nv-table.entry.js +3 -3
- package/dist/esm/nv-tablecolumn.entry.js +1 -1
- package/dist/esm/nv-toggle.entry.js +3 -3
- package/dist/esm/nv-tooltip.entry.js +3 -3
- package/dist/esm/nv-tooltip.entry.js.map +1 -1
- 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-050d6c6c.entry.js +2 -0
- package/dist/native/{p-4d164ed6.entry.js.map → p-050d6c6c.entry.js.map} +1 -1
- package/dist/native/{p-615947e7.entry.js → p-08ca678c.entry.js} +2 -2
- package/dist/native/p-1a5d3b87.entry.js +2 -0
- package/dist/native/{p-efe6a46c.entry.js.map → p-1a5d3b87.entry.js.map} +1 -1
- package/dist/native/{p-7fd4d13d.entry.js → p-1c1ecd38.entry.js} +2 -2
- package/dist/native/{p-c7b201cd.entry.js → p-1d98477d.entry.js} +2 -2
- package/dist/native/{p-1da72182.entry.js → p-2006f5d4.entry.js} +2 -2
- package/dist/native/p-26cf4938.entry.js +2 -0
- package/dist/native/p-26cf4938.entry.js.map +1 -0
- package/dist/native/p-3817efb2.entry.js +2 -0
- package/dist/native/{p-fc97f071.entry.js.map → p-3817efb2.entry.js.map} +1 -1
- package/dist/native/p-45459dbb.entry.js +2 -0
- package/dist/native/{p-7042ba8a.entry.js.map → p-45459dbb.entry.js.map} +1 -1
- package/dist/native/p-45cbe6e4.entry.js +2 -0
- package/dist/native/{p-9135fdf5.entry.js.map → p-45cbe6e4.entry.js.map} +1 -1
- package/dist/native/p-46428304.entry.js +2 -0
- package/dist/native/p-46428304.entry.js.map +1 -0
- package/dist/native/p-4f9cdf0b.entry.js +2 -0
- package/dist/native/{p-3b7ef609.entry.js → p-58bb90ad.entry.js} +2 -2
- package/dist/native/p-59b07b36.entry.js +2 -0
- package/dist/native/p-59b07b36.entry.js.map +1 -0
- package/dist/native/{p-3cd77d82.entry.js → p-5b6c59e0.entry.js} +2 -2
- package/dist/native/p-6029e51b.entry.js +2 -0
- package/dist/native/{p-244f56ac.entry.js.map → p-6029e51b.entry.js.map} +1 -1
- package/dist/native/{p-08a75cfa.entry.js → p-60c64f2b.entry.js} +2 -2
- package/dist/native/p-64a76565.entry.js +2 -0
- package/dist/native/p-64a76565.entry.js.map +1 -0
- package/dist/native/{p-c67186f8.entry.js → p-83288db0.entry.js} +2 -2
- package/dist/native/p-838f7842.entry.js +2 -0
- package/dist/native/p-838f7842.entry.js.map +1 -0
- package/dist/native/{p-0245863d.entry.js → p-86ab23ea.entry.js} +2 -2
- package/dist/native/p-87784622.entry.js +2 -0
- package/dist/native/p-8fb4e5c0.entry.js +2 -0
- package/dist/native/{p-b94d9f0b.entry.js.map → p-8fb4e5c0.entry.js.map} +1 -1
- package/dist/native/{p-14c07207.entry.js → p-914da1e1.entry.js} +2 -2
- package/dist/native/p-abbe5d69.entry.js +2 -0
- package/dist/native/p-abbe5d69.entry.js.map +1 -0
- package/dist/native/p-abc251aa.entry.js +2 -0
- package/dist/native/p-abc251aa.entry.js.map +1 -0
- package/dist/native/{p-c0f79bac.entry.js → p-ad128108.entry.js} +2 -2
- package/dist/native/{p-e5de64d5.entry.js → p-b5b9190a.entry.js} +2 -2
- package/dist/native/{p-470588c2.entry.js → p-b8f2c1e7.entry.js} +3 -3
- package/dist/native/p-b8f2c1e7.entry.js.map +1 -0
- package/dist/native/{p-b8b6875d.entry.js → p-d040bd61.entry.js} +2 -2
- package/dist/native/p-d0a33e64.js +3 -0
- package/dist/native/p-d0a33e64.js.map +1 -0
- package/dist/native/{p-3953464e.entry.js → p-d21b2da2.entry.js} +3 -3
- package/dist/native/{p-90e6d9dd.entry.js → p-d53e8795.entry.js} +2 -2
- package/dist/native/p-dc7dd7f3.entry.js +2 -0
- package/dist/native/{p-ae7ab110.entry.js.map → p-dc7dd7f3.entry.js.map} +1 -1
- package/dist/native/p-e2c1992e.entry.js +2 -0
- package/dist/native/{p-656c56f0.entry.js.map → p-e2c1992e.entry.js.map} +1 -1
- package/dist/native/{p-f85c08f1.js → p-e2d0a77d.js} +2 -2
- package/dist/native/p-ed6019fe.entry.js +2 -0
- package/dist/native/p-ed6019fe.entry.js.map +1 -0
- package/dist/native/p-f94d7054.entry.js +2 -0
- package/dist/native/{p-49cac014.entry.js.map → p-f94d7054.entry.js.map} +1 -1
- package/dist/native/p-fdea17ce.entry.js +2 -0
- package/dist/native/p-fdea17ce.entry.js.map +1 -0
- package/dist/types/components/nv-calendar/nv-calendar.d.ts +26 -50
- package/dist/types/components/nv-calendar/partials/calendar-actions.d.ts +19 -0
- package/dist/types/components/nv-calendar/partials/calendar-grid.d.ts +46 -0
- package/dist/types/components/nv-calendar/partials/calendar-header.d.ts +38 -0
- package/dist/types/components/nv-calendar/partials/calendar-shortcuts.d.ts +35 -0
- package/dist/types/components/nv-calendar/partials/day-cell.d.ts +35 -0
- package/dist/types/components/nv-calendar/partials/index.d.ts +6 -0
- package/dist/types/components/nv-calendar/partials/week-numbers.d.ts +30 -0
- package/dist/types/components/nv-calendar/test/partials/calendar-actions.logic.test.d.ts +1 -0
- package/dist/types/components/nv-calendar/test/partials/calendar-grid.logic.test.d.ts +1 -0
- package/dist/types/components/nv-calendar/test/partials/calendar-header.logic.test.d.ts +1 -0
- package/dist/types/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.d.ts +1 -0
- package/dist/types/components/nv-calendar/test/partials/day-cell.logic.test.d.ts +1 -0
- package/dist/types/components/nv-calendar/test/partials/week-numbers.logic.test.d.ts +1 -0
- package/dist/types/components/nv-datagrid/nv-datagrid.d.ts +0 -16
- package/dist/types/components/nv-datagridcolumn/nv-datagridcolumn.d.ts +4 -0
- package/dist/types/components/nv-fielddate/nv-fielddate.d.ts +21 -9
- package/dist/types/components/nv-fielddate/test/nv-fielddate.logic.test.d.ts +1 -0
- package/dist/types/components/nv-fielddaterange/nv-fielddaterange.d.ts +24 -3
- package/dist/types/components/nv-fielddaterange/test/nv-fielddaterange.logic.test.d.ts +1 -0
- package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +47 -26
- package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +61 -55
- package/dist/types/components/nv-fieldslider/nv-fieldslider.d.ts +229 -0
- package/dist/types/components/nv-fieldslider/nv-fieldslider.docs.d.ts +4 -0
- package/dist/types/components/nv-fieldslider/nv-fieldslider.utils.d.ts +46 -0
- package/dist/types/components/nv-fieldslider/partials/field-input.d.ts +45 -0
- package/dist/types/components/nv-fieldslider/partials/range-thumb.d.ts +37 -0
- package/dist/types/components/nv-fieldslider/partials/single-thumb.d.ts +35 -0
- package/dist/types/components/nv-fieldslider/partials/tick-marks.d.ts +28 -0
- package/dist/types/components/nv-fieldslider/test/nv-fieldslider.utils.test.d.ts +1 -0
- package/dist/types/components/nv-fieldtext/nv-fieldtext.d.ts +1 -0
- package/dist/types/components/nv-icon/nv-icons.d.ts +1 -1
- package/dist/types/components.d.ts +402 -54
- package/dist/types/interfaces/Column.d.ts +5 -1
- package/dist/vscode-data.json +121 -9
- package/hydrate/index.js +1664 -584
- package/hydrate/index.mjs +1664 -584
- package/package.json +6 -2
- package/dist/cjs/index-9bda5507.js.map +0 -1
- package/dist/components/p-1c45c0f2.js.map +0 -1
- package/dist/components/p-76646ce9.js +0 -88
- package/dist/components/p-76646ce9.js.map +0 -1
- package/dist/components/p-854c32dc.js.map +0 -1
- package/dist/components/p-9decffb6.js +0 -167
- package/dist/components/p-9decffb6.js.map +0 -1
- package/dist/components/p-f76bb0c3.js.map +0 -1
- package/dist/esm/index-1fb7a9a6.js.map +0 -1
- package/dist/native/p-244f56ac.entry.js +0 -2
- package/dist/native/p-2523eead.entry.js +0 -2
- package/dist/native/p-2523eead.entry.js.map +0 -1
- package/dist/native/p-470588c2.entry.js.map +0 -1
- package/dist/native/p-49cac014.entry.js +0 -2
- package/dist/native/p-4d164ed6.entry.js +0 -2
- package/dist/native/p-4dc1d036.entry.js +0 -2
- package/dist/native/p-4e635fa7.entry.js +0 -2
- package/dist/native/p-4e635fa7.entry.js.map +0 -1
- package/dist/native/p-5d21532a.entry.js +0 -2
- package/dist/native/p-5d21532a.entry.js.map +0 -1
- package/dist/native/p-656c56f0.entry.js +0 -2
- package/dist/native/p-7042ba8a.entry.js +0 -2
- package/dist/native/p-7e154bfd.entry.js +0 -2
- package/dist/native/p-7e154bfd.entry.js.map +0 -1
- package/dist/native/p-7eba904e.entry.js +0 -2
- package/dist/native/p-7eba904e.entry.js.map +0 -1
- package/dist/native/p-9135fdf5.entry.js +0 -2
- package/dist/native/p-ab002252.js +0 -3
- package/dist/native/p-ab002252.js.map +0 -1
- package/dist/native/p-ae7ab110.entry.js +0 -2
- package/dist/native/p-b94d9f0b.entry.js +0 -2
- package/dist/native/p-c71c6f23.entry.js +0 -2
- package/dist/native/p-c71c6f23.entry.js.map +0 -1
- package/dist/native/p-d9a52884.entry.js +0 -2
- package/dist/native/p-d9a52884.entry.js.map +0 -1
- package/dist/native/p-efe6a46c.entry.js +0 -2
- package/dist/native/p-f2ef6771.entry.js +0 -2
- package/dist/native/p-f5f68992.entry.js +0 -2
- package/dist/native/p-f5f68992.entry.js.map +0 -1
- package/dist/native/p-fc97f071.entry.js +0 -2
- /package/dist/native/{p-615947e7.entry.js.map → p-08ca678c.entry.js.map} +0 -0
- /package/dist/native/{p-7fd4d13d.entry.js.map → p-1c1ecd38.entry.js.map} +0 -0
- /package/dist/native/{p-c7b201cd.entry.js.map → p-1d98477d.entry.js.map} +0 -0
- /package/dist/native/{p-1da72182.entry.js.map → p-2006f5d4.entry.js.map} +0 -0
- /package/dist/native/{p-f2ef6771.entry.js.map → p-4f9cdf0b.entry.js.map} +0 -0
- /package/dist/native/{p-3b7ef609.entry.js.map → p-58bb90ad.entry.js.map} +0 -0
- /package/dist/native/{p-3cd77d82.entry.js.map → p-5b6c59e0.entry.js.map} +0 -0
- /package/dist/native/{p-08a75cfa.entry.js.map → p-60c64f2b.entry.js.map} +0 -0
- /package/dist/native/{p-c67186f8.entry.js.map → p-83288db0.entry.js.map} +0 -0
- /package/dist/native/{p-0245863d.entry.js.map → p-86ab23ea.entry.js.map} +0 -0
- /package/dist/native/{p-4dc1d036.entry.js.map → p-87784622.entry.js.map} +0 -0
- /package/dist/native/{p-14c07207.entry.js.map → p-914da1e1.entry.js.map} +0 -0
- /package/dist/native/{p-c0f79bac.entry.js.map → p-ad128108.entry.js.map} +0 -0
- /package/dist/native/{p-e5de64d5.entry.js.map → p-b5b9190a.entry.js.map} +0 -0
- /package/dist/native/{p-b8b6875d.entry.js.map → p-d040bd61.entry.js.map} +0 -0
- /package/dist/native/{p-3953464e.entry.js.map → p-d21b2da2.entry.js.map} +0 -0
- /package/dist/native/{p-90e6d9dd.entry.js.map → p-d53e8795.entry.js.map} +0 -0
- /package/dist/native/{p-f85c08f1.js.map → p-e2d0a77d.js.map} +0 -0
|
@@ -21,27 +21,16 @@ export class NvFieldmultiselect {
|
|
|
21
21
|
*/
|
|
22
22
|
this.inputId = uuidv4();
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
* Text for the badge showing the number of selected items.
|
|
29
|
-
*/
|
|
30
|
-
this.badgeLabel = '';
|
|
31
|
-
/**
|
|
32
|
-
* The text to display when no items match the filter.
|
|
24
|
+
* The autocomplete prop helps users fill out the input field faster by
|
|
25
|
+
* suggesting entries they've used before, like their email or address.
|
|
26
|
+
* You can turn it on to make forms more convenient or off to ensure users
|
|
27
|
+
* always type in fresh data.
|
|
33
28
|
*/
|
|
34
|
-
this.
|
|
29
|
+
this.autocomplete = 'off';
|
|
35
30
|
/**
|
|
36
31
|
* Marks the input field as required.
|
|
37
32
|
*/
|
|
38
33
|
this.required = false;
|
|
39
|
-
/**
|
|
40
|
-
* Alters the input field's appearance to indicate an error, helping users
|
|
41
|
-
* identify fields that need correction.
|
|
42
|
-
* @validator error
|
|
43
|
-
*/
|
|
44
|
-
this.error = false;
|
|
45
34
|
/**
|
|
46
35
|
* Display the input field's content without allowing users to change it.
|
|
47
36
|
*/
|
|
@@ -51,35 +40,32 @@ export class NvFieldmultiselect {
|
|
|
51
40
|
*/
|
|
52
41
|
this.disabled = false;
|
|
53
42
|
/**
|
|
54
|
-
*
|
|
43
|
+
* Alters the input field's appearance to indicate an error, helping users
|
|
44
|
+
* identify fields that need correction.
|
|
45
|
+
* @validator error
|
|
55
46
|
*/
|
|
56
|
-
this.
|
|
47
|
+
this.error = false;
|
|
57
48
|
/**
|
|
58
|
-
*
|
|
49
|
+
* Defines the maximum height of the multiselect list when open.
|
|
59
50
|
*/
|
|
60
|
-
this.
|
|
51
|
+
this.maxHeight = '';
|
|
61
52
|
/**
|
|
62
53
|
* State of the multiselect popover.
|
|
63
54
|
*/
|
|
64
55
|
this.open = false;
|
|
65
56
|
/**
|
|
66
|
-
*
|
|
67
|
-
*/
|
|
68
|
-
this.selectedValues = [];
|
|
69
|
-
/**
|
|
70
|
-
* Sorted options for display.
|
|
57
|
+
* The text to display when no items match the filter.
|
|
71
58
|
*/
|
|
72
|
-
this.
|
|
59
|
+
this.emptyResult = 'No results found';
|
|
73
60
|
/**
|
|
74
|
-
*
|
|
61
|
+
* Enables or disables the filtering feature for the multiselect items.
|
|
75
62
|
*/
|
|
76
|
-
this.
|
|
63
|
+
this.filterable = false;
|
|
77
64
|
/**
|
|
78
65
|
* Delay in milliseconds before the search is triggered when typing in the filter input.
|
|
79
66
|
* @default 300
|
|
80
67
|
*/
|
|
81
68
|
this.debounceDelay = 300;
|
|
82
|
-
this.isHandlingEscape = false;
|
|
83
69
|
/**
|
|
84
70
|
* Applies focus to the input field as soon as the component is mounted. This
|
|
85
71
|
* is equivalent to setting the native autofocus attribute on an <input>
|
|
@@ -90,6 +76,26 @@ export class NvFieldmultiselect {
|
|
|
90
76
|
* Allows the field to stretch and fill the entire width of its container.
|
|
91
77
|
*/
|
|
92
78
|
this.fluid = false;
|
|
79
|
+
/**
|
|
80
|
+
* Text for the badge showing the number of selected items.
|
|
81
|
+
*/
|
|
82
|
+
this.badgeLabel = '';
|
|
83
|
+
//#endregion PROPERTIES
|
|
84
|
+
/****************************************************************************/
|
|
85
|
+
//#region STATE
|
|
86
|
+
/**
|
|
87
|
+
* The text entered by the user for filtering multiselect items.
|
|
88
|
+
*/
|
|
89
|
+
this.filterText = '';
|
|
90
|
+
/**
|
|
91
|
+
* List of selected values in the multiselect.
|
|
92
|
+
*/
|
|
93
|
+
this.selectedValues = [];
|
|
94
|
+
/**
|
|
95
|
+
* Sorted options for display.
|
|
96
|
+
*/
|
|
97
|
+
this.sortedOptions = [];
|
|
98
|
+
this.isHandlingEscape = false;
|
|
93
99
|
/**
|
|
94
100
|
* Handle badge close for options mode.
|
|
95
101
|
*/
|
|
@@ -299,76 +305,37 @@ export class NvFieldmultiselect {
|
|
|
299
305
|
* @returns {any} The JSX for options mode
|
|
300
306
|
*/
|
|
301
307
|
this.renderOptionsMode = () => {
|
|
302
|
-
return (h(Host,
|
|
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.selectedValues.length > 0 && (h("nv-badge", { slot: "leading-input", "prevent-auto-close": true, color: "10", dismissible: this.selectedValues.length > 0, label: `${this.selectedValues.length} ${this.badgeLabel}`, "aria-label": `Clear all ${this.selectedValues.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.value, 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.value || 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.selectedValues.includes(option.value), disabled: option.disabled }))), h("hr", { class: "multiselect-divider", style: { display: 'none' } })))), this.renderDescriptions()));
|
|
303
309
|
};
|
|
304
310
|
/**
|
|
305
311
|
* Renders the component in slots mode
|
|
306
312
|
* @returns {any} The JSX for slots mode
|
|
307
313
|
*/
|
|
308
314
|
this.renderSlotsMode = () => {
|
|
309
|
-
return (h(Host,
|
|
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.selectedValues.length > 0 && (h("nv-badge", { slot: "leading-input", "prevent-auto-close": true, color: "10", dismissible: this.selectedValues.length > 0, label: `${this.selectedValues.length} ${this.badgeLabel}`, "aria-label": `Clear all ${this.selectedValues.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.value, 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.value || 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()));
|
|
310
316
|
};
|
|
311
317
|
}
|
|
312
|
-
//#endregion
|
|
318
|
+
//#endregion EVENTS
|
|
313
319
|
/****************************************************************************/
|
|
314
|
-
//#region
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
* Set the mode state and handle options change.
|
|
323
|
-
*/
|
|
324
|
-
componentWillLoad() {
|
|
325
|
-
var _a;
|
|
326
|
-
// Don't call handleOptionsChange if we are in slots mode
|
|
327
|
-
if (this.options) {
|
|
328
|
-
this.handleOptionsChange(this.options);
|
|
329
|
-
}
|
|
330
|
-
// Specific initialization for slots mode
|
|
331
|
-
if (!this.options) {
|
|
332
|
-
Promise.resolve().then(() => {
|
|
333
|
-
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
|
|
334
|
-
// Initialize selectedValues with checked items
|
|
335
|
-
this.selectedValues = items
|
|
336
|
-
.filter(item => item.hasAttribute('checked'))
|
|
337
|
-
.map(item => item.getAttribute('value') || '');
|
|
338
|
-
// Force a reorder after initialization
|
|
339
|
-
requestAnimationFrame(() => {
|
|
340
|
-
this.reorderSlotContent();
|
|
341
|
-
});
|
|
342
|
-
});
|
|
343
|
-
}
|
|
344
|
-
// Initialize the sorted options array with the parsed options for initial rendering
|
|
345
|
-
if (this.options) {
|
|
346
|
-
this.sortedOptions = [...((_a = this.options) !== null && _a !== void 0 ? _a : [])];
|
|
347
|
-
}
|
|
348
|
-
// Apply filtering if the multiselect is filterable and there is a value
|
|
349
|
-
if (this.filterable && this.value) {
|
|
350
|
-
this.filterText = String(this.value).toLocaleLowerCase();
|
|
351
|
-
this.filterItems();
|
|
352
|
-
}
|
|
353
|
-
else {
|
|
354
|
-
// Reset visibility state of all dropdown items
|
|
355
|
-
this.resetFilter();
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
/**
|
|
359
|
-
* Force reorder if options mode in componentDidLoad because of the initial render not trigger @watch
|
|
360
|
-
*/
|
|
361
|
-
componentDidLoad() {
|
|
362
|
-
if (this.options) {
|
|
363
|
-
this.handleOptionsChange(this.options);
|
|
364
|
-
}
|
|
320
|
+
//#region WATCHERS
|
|
321
|
+
handleOptionsChange(newValue) {
|
|
322
|
+
if (!newValue)
|
|
323
|
+
return;
|
|
324
|
+
this.selectedValues = newValue
|
|
325
|
+
.filter(option => option.checked)
|
|
326
|
+
.map(option => option.value);
|
|
327
|
+
this.reorderOptionsContent();
|
|
365
328
|
}
|
|
366
329
|
/**
|
|
367
|
-
*
|
|
330
|
+
* Emitted when the value changes.
|
|
368
331
|
*/
|
|
369
|
-
|
|
370
|
-
|
|
332
|
+
watchValueHandler() {
|
|
333
|
+
// Handle value change and update the corresponding multiselect item if it exists
|
|
334
|
+
this.setInitialSelection();
|
|
371
335
|
}
|
|
336
|
+
//#endregion WATCHERS
|
|
337
|
+
/****************************************************************************/
|
|
338
|
+
//#region LISTENERS
|
|
372
339
|
/**
|
|
373
340
|
* Emitted when the input loses focus.
|
|
374
341
|
* @param {CustomEvent<boolean>} event - The event object containing the focus state.
|
|
@@ -426,21 +393,6 @@ export class NvFieldmultiselect {
|
|
|
426
393
|
console.warn('Received itemChecked event with undefined or null value'); // Warning log
|
|
427
394
|
}
|
|
428
395
|
}
|
|
429
|
-
handleOptionsChange(newValue) {
|
|
430
|
-
if (!newValue)
|
|
431
|
-
return;
|
|
432
|
-
this.selectedValues = newValue
|
|
433
|
-
.filter(option => option.checked)
|
|
434
|
-
.map(option => option.value);
|
|
435
|
-
this.reorderOptionsContent();
|
|
436
|
-
}
|
|
437
|
-
/**
|
|
438
|
-
* Emitted when the value changes.
|
|
439
|
-
*/
|
|
440
|
-
watchValueHandler() {
|
|
441
|
-
// Handle value change and update the corresponding multiselect item if it exists
|
|
442
|
-
this.setInitialSelection();
|
|
443
|
-
}
|
|
444
396
|
// Add a listener for the slot content
|
|
445
397
|
handleSlotChange(event) {
|
|
446
398
|
// Check: we only want to reorder if it's the "content" slot
|
|
@@ -453,7 +405,67 @@ export class NvFieldmultiselect {
|
|
|
453
405
|
});
|
|
454
406
|
}
|
|
455
407
|
}
|
|
456
|
-
//#endregion
|
|
408
|
+
//#endregion LISTENERS
|
|
409
|
+
/****************************************************************************/
|
|
410
|
+
//#region LIFECYCLE
|
|
411
|
+
/**
|
|
412
|
+
* Subscribe to click outside event.
|
|
413
|
+
*/
|
|
414
|
+
connectedCallback() {
|
|
415
|
+
document.addEventListener('click', this.handleClickOutside.bind(this));
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Set the mode state and handle options change.
|
|
419
|
+
*/
|
|
420
|
+
componentWillLoad() {
|
|
421
|
+
var _a;
|
|
422
|
+
// Don't call handleOptionsChange if we are in slots mode
|
|
423
|
+
if (this.options) {
|
|
424
|
+
this.handleOptionsChange(this.options);
|
|
425
|
+
}
|
|
426
|
+
// Specific initialization for slots mode
|
|
427
|
+
if (!this.options) {
|
|
428
|
+
Promise.resolve().then(() => {
|
|
429
|
+
const items = Array.from(this.el.querySelectorAll('nv-fielddropdownitemcheck'));
|
|
430
|
+
// Initialize selectedValues with checked items
|
|
431
|
+
this.selectedValues = items
|
|
432
|
+
.filter(item => item.hasAttribute('checked'))
|
|
433
|
+
.map(item => item.getAttribute('value') || '');
|
|
434
|
+
// Force a reorder after initialization
|
|
435
|
+
requestAnimationFrame(() => {
|
|
436
|
+
this.reorderSlotContent();
|
|
437
|
+
});
|
|
438
|
+
});
|
|
439
|
+
}
|
|
440
|
+
// Initialize the sorted options array with the parsed options for initial rendering
|
|
441
|
+
if (this.options) {
|
|
442
|
+
this.sortedOptions = [...((_a = this.options) !== null && _a !== void 0 ? _a : [])];
|
|
443
|
+
}
|
|
444
|
+
// Apply filtering if the multiselect is filterable and there is a value
|
|
445
|
+
if (this.filterable && this.value) {
|
|
446
|
+
this.filterText = String(this.value).toLocaleLowerCase();
|
|
447
|
+
this.filterItems();
|
|
448
|
+
}
|
|
449
|
+
else {
|
|
450
|
+
// Reset visibility state of all dropdown items
|
|
451
|
+
this.resetFilter();
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
/**
|
|
455
|
+
* Force reorder if options mode in componentDidLoad because of the initial render not trigger @watch
|
|
456
|
+
*/
|
|
457
|
+
componentDidLoad() {
|
|
458
|
+
if (this.options) {
|
|
459
|
+
this.handleOptionsChange(this.options);
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
/**
|
|
463
|
+
* Unsubscribe from click outside event.
|
|
464
|
+
*/
|
|
465
|
+
disconnectedCallback() {
|
|
466
|
+
document.removeEventListener('click', this.handleClickOutside.bind(this));
|
|
467
|
+
}
|
|
468
|
+
//#endregion LIFECYCLE
|
|
457
469
|
/****************************************************************************/
|
|
458
470
|
//#region METHODS
|
|
459
471
|
/**
|
|
@@ -959,12 +971,12 @@ export class NvFieldmultiselect {
|
|
|
959
971
|
static get formAssociated() { return true; }
|
|
960
972
|
static get originalStyleUrls() {
|
|
961
973
|
return {
|
|
962
|
-
"$": ["nv-fieldmultiselect.scss"]
|
|
974
|
+
"$": ["styles/nv-fieldmultiselect.scss"]
|
|
963
975
|
};
|
|
964
976
|
}
|
|
965
977
|
static get styleUrls() {
|
|
966
978
|
return {
|
|
967
|
-
"$": ["nv-fieldmultiselect.css"]
|
|
979
|
+
"$": ["styles/nv-fieldmultiselect.css"]
|
|
968
980
|
};
|
|
969
981
|
}
|
|
970
982
|
static get properties() {
|
|
@@ -1065,29 +1077,35 @@ export class NvFieldmultiselect {
|
|
|
1065
1077
|
"attribute": "placeholder",
|
|
1066
1078
|
"reflect": true
|
|
1067
1079
|
},
|
|
1068
|
-
"
|
|
1080
|
+
"autocomplete": {
|
|
1069
1081
|
"type": "string",
|
|
1070
1082
|
"mutable": false,
|
|
1071
1083
|
"complexType": {
|
|
1072
|
-
"original": "
|
|
1073
|
-
"resolved": "
|
|
1074
|
-
"references": {
|
|
1084
|
+
"original": "`${TextInputAutocomplete}`",
|
|
1085
|
+
"resolved": "\"on\" | \"off\" | \"section-*\" | \"shipping\" | \"billing\" | \"home\" | \"work\" | \"mobile\" | \"fax\" | \"pager\" | \"tel\" | \"tel-country-code\" | \"tel-national\" | \"tel-area-code\" | \"tel-local\" | \"tel-local-prefix\" | \"tel-local-suffix\" | \"tel-extension\" | \"email\" | \"impp\" | \"name\" | \"honorific-prefix\" | \"given-name\" | \"additional-name\" | \"family-name\" | \"honorific-suffix\" | \"nickname\" | \"username\" | \"new-password\" | \"current-password\" | \"one-time-code\" | \"organization-title\" | \"organization\" | \"street-address\" | \"address-line1\" | \"address-line2\" | \"address-line3\" | \"address-level4\" | \"address-level3\" | \"address-level2\" | \"address-level1\" | \"country\" | \"country-name\" | \"postal-code\" | \"cc-name\" | \"cc-given-name\" | \"cc-additional-name\" | \"cc-family-name\" | \"cc-number\" | \"cc-exp\" | \"cc-exp-month\" | \"cc-exp-year\" | \"cc-csc\" | \"cc-type\" | \"transaction-currency\" | \"transaction-amount\" | \"language\" | \"bday\" | \"bday-day\" | \"bday-month\" | \"bday-year\" | \"sex\" | \"url\" | \"photo\"",
|
|
1086
|
+
"references": {
|
|
1087
|
+
"TextInputAutocomplete": {
|
|
1088
|
+
"location": "import",
|
|
1089
|
+
"path": "../../utils/constants",
|
|
1090
|
+
"id": "src/utils/constants.ts::TextInputAutocomplete"
|
|
1091
|
+
}
|
|
1092
|
+
}
|
|
1075
1093
|
},
|
|
1076
1094
|
"required": false,
|
|
1077
1095
|
"optional": false,
|
|
1078
1096
|
"docs": {
|
|
1079
1097
|
"tags": [],
|
|
1080
|
-
"text": "
|
|
1098
|
+
"text": "The autocomplete prop helps users fill out the input field faster by\nsuggesting entries they've used before, like their email or address.\nYou can turn it on to make forms more convenient or off to ensure users\nalways type in fresh data."
|
|
1081
1099
|
},
|
|
1082
1100
|
"getter": false,
|
|
1083
1101
|
"setter": false,
|
|
1084
|
-
"attribute": "
|
|
1102
|
+
"attribute": "autocomplete",
|
|
1085
1103
|
"reflect": true,
|
|
1086
|
-
"defaultValue": "'
|
|
1104
|
+
"defaultValue": "'off'"
|
|
1087
1105
|
},
|
|
1088
|
-
"
|
|
1106
|
+
"value": {
|
|
1089
1107
|
"type": "string",
|
|
1090
|
-
"mutable":
|
|
1108
|
+
"mutable": true,
|
|
1091
1109
|
"complexType": {
|
|
1092
1110
|
"original": "string",
|
|
1093
1111
|
"resolved": "string",
|
|
@@ -1097,35 +1115,54 @@ export class NvFieldmultiselect {
|
|
|
1097
1115
|
"optional": false,
|
|
1098
1116
|
"docs": {
|
|
1099
1117
|
"tags": [],
|
|
1100
|
-
"text": "
|
|
1118
|
+
"text": "Specifies the value of the input field."
|
|
1101
1119
|
},
|
|
1102
1120
|
"getter": false,
|
|
1103
1121
|
"setter": false,
|
|
1104
|
-
"attribute": "
|
|
1122
|
+
"attribute": "value",
|
|
1123
|
+
"reflect": true
|
|
1124
|
+
},
|
|
1125
|
+
"required": {
|
|
1126
|
+
"type": "boolean",
|
|
1127
|
+
"mutable": false,
|
|
1128
|
+
"complexType": {
|
|
1129
|
+
"original": "boolean",
|
|
1130
|
+
"resolved": "boolean",
|
|
1131
|
+
"references": {}
|
|
1132
|
+
},
|
|
1133
|
+
"required": false,
|
|
1134
|
+
"optional": false,
|
|
1135
|
+
"docs": {
|
|
1136
|
+
"tags": [],
|
|
1137
|
+
"text": "Marks the input field as required."
|
|
1138
|
+
},
|
|
1139
|
+
"getter": false,
|
|
1140
|
+
"setter": false,
|
|
1141
|
+
"attribute": "required",
|
|
1105
1142
|
"reflect": true,
|
|
1106
|
-
"defaultValue": "
|
|
1143
|
+
"defaultValue": "false"
|
|
1107
1144
|
},
|
|
1108
|
-
"
|
|
1109
|
-
"type": "
|
|
1145
|
+
"readonly": {
|
|
1146
|
+
"type": "boolean",
|
|
1110
1147
|
"mutable": false,
|
|
1111
1148
|
"complexType": {
|
|
1112
|
-
"original": "
|
|
1113
|
-
"resolved": "
|
|
1149
|
+
"original": "boolean",
|
|
1150
|
+
"resolved": "boolean",
|
|
1114
1151
|
"references": {}
|
|
1115
1152
|
},
|
|
1116
1153
|
"required": false,
|
|
1117
1154
|
"optional": false,
|
|
1118
1155
|
"docs": {
|
|
1119
1156
|
"tags": [],
|
|
1120
|
-
"text": "
|
|
1157
|
+
"text": "Display the input field's content without allowing users to change it."
|
|
1121
1158
|
},
|
|
1122
1159
|
"getter": false,
|
|
1123
1160
|
"setter": false,
|
|
1124
|
-
"attribute": "
|
|
1161
|
+
"attribute": "readonly",
|
|
1125
1162
|
"reflect": true,
|
|
1126
|
-
"defaultValue": "
|
|
1163
|
+
"defaultValue": "false"
|
|
1127
1164
|
},
|
|
1128
|
-
"
|
|
1165
|
+
"disabled": {
|
|
1129
1166
|
"type": "boolean",
|
|
1130
1167
|
"mutable": false,
|
|
1131
1168
|
"complexType": {
|
|
@@ -1137,11 +1174,11 @@ export class NvFieldmultiselect {
|
|
|
1137
1174
|
"optional": false,
|
|
1138
1175
|
"docs": {
|
|
1139
1176
|
"tags": [],
|
|
1140
|
-
"text": "
|
|
1177
|
+
"text": "Disables the input field."
|
|
1141
1178
|
},
|
|
1142
1179
|
"getter": false,
|
|
1143
1180
|
"setter": false,
|
|
1144
|
-
"attribute": "
|
|
1181
|
+
"attribute": "disabled",
|
|
1145
1182
|
"reflect": true,
|
|
1146
1183
|
"defaultValue": "false"
|
|
1147
1184
|
},
|
|
@@ -1190,29 +1227,29 @@ export class NvFieldmultiselect {
|
|
|
1190
1227
|
"attribute": "error-description",
|
|
1191
1228
|
"reflect": true
|
|
1192
1229
|
},
|
|
1193
|
-
"
|
|
1194
|
-
"type": "
|
|
1230
|
+
"maxHeight": {
|
|
1231
|
+
"type": "string",
|
|
1195
1232
|
"mutable": false,
|
|
1196
1233
|
"complexType": {
|
|
1197
|
-
"original": "
|
|
1198
|
-
"resolved": "
|
|
1234
|
+
"original": "string",
|
|
1235
|
+
"resolved": "string",
|
|
1199
1236
|
"references": {}
|
|
1200
1237
|
},
|
|
1201
1238
|
"required": false,
|
|
1202
1239
|
"optional": false,
|
|
1203
1240
|
"docs": {
|
|
1204
1241
|
"tags": [],
|
|
1205
|
-
"text": "
|
|
1242
|
+
"text": "Defines the maximum height of the multiselect list when open."
|
|
1206
1243
|
},
|
|
1207
1244
|
"getter": false,
|
|
1208
1245
|
"setter": false,
|
|
1209
|
-
"attribute": "
|
|
1246
|
+
"attribute": "max-height",
|
|
1210
1247
|
"reflect": true,
|
|
1211
|
-
"defaultValue": "
|
|
1248
|
+
"defaultValue": "''"
|
|
1212
1249
|
},
|
|
1213
|
-
"
|
|
1250
|
+
"open": {
|
|
1214
1251
|
"type": "boolean",
|
|
1215
|
-
"mutable":
|
|
1252
|
+
"mutable": true,
|
|
1216
1253
|
"complexType": {
|
|
1217
1254
|
"original": "boolean",
|
|
1218
1255
|
"resolved": "boolean",
|
|
@@ -1222,39 +1259,33 @@ export class NvFieldmultiselect {
|
|
|
1222
1259
|
"optional": false,
|
|
1223
1260
|
"docs": {
|
|
1224
1261
|
"tags": [],
|
|
1225
|
-
"text": "
|
|
1262
|
+
"text": "State of the multiselect popover."
|
|
1226
1263
|
},
|
|
1227
1264
|
"getter": false,
|
|
1228
1265
|
"setter": false,
|
|
1229
|
-
"attribute": "
|
|
1266
|
+
"attribute": "open",
|
|
1230
1267
|
"reflect": true,
|
|
1231
1268
|
"defaultValue": "false"
|
|
1232
1269
|
},
|
|
1233
|
-
"
|
|
1270
|
+
"emptyResult": {
|
|
1234
1271
|
"type": "string",
|
|
1235
1272
|
"mutable": false,
|
|
1236
1273
|
"complexType": {
|
|
1237
|
-
"original": "
|
|
1238
|
-
"resolved": "
|
|
1239
|
-
"references": {
|
|
1240
|
-
"TextInputAutocomplete": {
|
|
1241
|
-
"location": "import",
|
|
1242
|
-
"path": "../../utils/constants",
|
|
1243
|
-
"id": "src/utils/constants.ts::TextInputAutocomplete"
|
|
1244
|
-
}
|
|
1245
|
-
}
|
|
1274
|
+
"original": "string",
|
|
1275
|
+
"resolved": "string",
|
|
1276
|
+
"references": {}
|
|
1246
1277
|
},
|
|
1247
1278
|
"required": false,
|
|
1248
1279
|
"optional": false,
|
|
1249
1280
|
"docs": {
|
|
1250
1281
|
"tags": [],
|
|
1251
|
-
"text": "The
|
|
1282
|
+
"text": "The text to display when no items match the filter."
|
|
1252
1283
|
},
|
|
1253
1284
|
"getter": false,
|
|
1254
1285
|
"setter": false,
|
|
1255
|
-
"attribute": "
|
|
1286
|
+
"attribute": "empty-result",
|
|
1256
1287
|
"reflect": true,
|
|
1257
|
-
"defaultValue": "'
|
|
1288
|
+
"defaultValue": "'No results found'"
|
|
1258
1289
|
},
|
|
1259
1290
|
"filterable": {
|
|
1260
1291
|
"type": "boolean",
|
|
@@ -1276,45 +1307,6 @@ export class NvFieldmultiselect {
|
|
|
1276
1307
|
"reflect": true,
|
|
1277
1308
|
"defaultValue": "false"
|
|
1278
1309
|
},
|
|
1279
|
-
"value": {
|
|
1280
|
-
"type": "string",
|
|
1281
|
-
"mutable": true,
|
|
1282
|
-
"complexType": {
|
|
1283
|
-
"original": "string",
|
|
1284
|
-
"resolved": "string",
|
|
1285
|
-
"references": {}
|
|
1286
|
-
},
|
|
1287
|
-
"required": false,
|
|
1288
|
-
"optional": false,
|
|
1289
|
-
"docs": {
|
|
1290
|
-
"tags": [],
|
|
1291
|
-
"text": "Specifies the value of the input field."
|
|
1292
|
-
},
|
|
1293
|
-
"getter": false,
|
|
1294
|
-
"setter": false,
|
|
1295
|
-
"attribute": "value",
|
|
1296
|
-
"reflect": true
|
|
1297
|
-
},
|
|
1298
|
-
"open": {
|
|
1299
|
-
"type": "boolean",
|
|
1300
|
-
"mutable": true,
|
|
1301
|
-
"complexType": {
|
|
1302
|
-
"original": "boolean",
|
|
1303
|
-
"resolved": "boolean",
|
|
1304
|
-
"references": {}
|
|
1305
|
-
},
|
|
1306
|
-
"required": false,
|
|
1307
|
-
"optional": false,
|
|
1308
|
-
"docs": {
|
|
1309
|
-
"tags": [],
|
|
1310
|
-
"text": "State of the multiselect popover."
|
|
1311
|
-
},
|
|
1312
|
-
"getter": false,
|
|
1313
|
-
"setter": false,
|
|
1314
|
-
"attribute": "open",
|
|
1315
|
-
"reflect": true,
|
|
1316
|
-
"defaultValue": "false"
|
|
1317
|
-
},
|
|
1318
1310
|
"options": {
|
|
1319
1311
|
"type": "unknown",
|
|
1320
1312
|
"mutable": true,
|
|
@@ -1397,14 +1389,34 @@ export class NvFieldmultiselect {
|
|
|
1397
1389
|
"attribute": "fluid",
|
|
1398
1390
|
"reflect": true,
|
|
1399
1391
|
"defaultValue": "false"
|
|
1392
|
+
},
|
|
1393
|
+
"badgeLabel": {
|
|
1394
|
+
"type": "string",
|
|
1395
|
+
"mutable": false,
|
|
1396
|
+
"complexType": {
|
|
1397
|
+
"original": "string",
|
|
1398
|
+
"resolved": "string",
|
|
1399
|
+
"references": {}
|
|
1400
|
+
},
|
|
1401
|
+
"required": false,
|
|
1402
|
+
"optional": false,
|
|
1403
|
+
"docs": {
|
|
1404
|
+
"tags": [],
|
|
1405
|
+
"text": "Text for the badge showing the number of selected items."
|
|
1406
|
+
},
|
|
1407
|
+
"getter": false,
|
|
1408
|
+
"setter": false,
|
|
1409
|
+
"attribute": "badge-label",
|
|
1410
|
+
"reflect": true,
|
|
1411
|
+
"defaultValue": "''"
|
|
1400
1412
|
}
|
|
1401
1413
|
};
|
|
1402
1414
|
}
|
|
1403
1415
|
static get states() {
|
|
1404
1416
|
return {
|
|
1417
|
+
"filterText": {},
|
|
1405
1418
|
"selectedValues": {},
|
|
1406
1419
|
"sortedOptions": {},
|
|
1407
|
-
"filterText": {},
|
|
1408
1420
|
"isHandlingEscape": {}
|
|
1409
1421
|
};
|
|
1410
1422
|
}
|