@nova-design-system/nova-webcomponents 3.0.0 → 3.2.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/{constants-bcd6b2e2.js → constants-8fb8ccc0.js} +14 -1
- package/dist/cjs/constants-8fb8ccc0.js.map +1 -0
- package/dist/cjs/{index-9bda5507.js → index-108ddff0.js} +22 -6
- package/dist/cjs/index-108ddff0.js.map +1 -0
- package/dist/cjs/index.cjs.js +5 -471
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/native.cjs.js +2 -2
- package/dist/cjs/nv-alert.cjs.entry.js +6 -6
- package/dist/cjs/nv-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-avatar.cjs.entry.js +2 -2
- package/dist/cjs/nv-badge_2.cjs.entry.js +18 -9
- 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 +2 -2
- package/dist/cjs/nv-calendar.cjs.entry.js +821 -843
- 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 +423 -94
- 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 +19 -13
- 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 +1 -1
- package/dist/cjs/nv-fielddate.cjs.entry.js +9 -18
- package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddaterange.cjs.entry.js +85 -32
- package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddropdown.cjs.entry.js +88 -57
- package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +2 -2
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +122 -104
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldnumber.cjs.entry.js +9 -5
- package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldpassword.cjs.entry.js +9 -5
- package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldradio.cjs.entry.js +4 -4
- package/dist/cjs/nv-fieldselect.cjs.entry.js +11 -7
- package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldslider.cjs.entry.js +663 -0
- package/dist/cjs/nv-fieldslider.cjs.entry.js.map +1 -0
- package/dist/cjs/nv-fieldtext.cjs.entry.js +9 -5
- package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js +9 -5
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldtime.cjs.entry.js +16 -13
- package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-icon.cjs.entry.js +4 -4
- 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 +4 -2
- package/dist/cjs/nv-menu.cjs.entry.js.map +1 -1
- 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-table.cjs.entry.js.map +1 -1
- 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-alert/nv-alert.css +3 -0
- package/dist/collection/components/nv-alert/nv-alert.js +6 -11
- package/dist/collection/components/nv-alert/nv-alert.js.map +1 -1
- package/dist/collection/components/nv-badge/nv-badge.css +181 -1
- package/dist/collection/components/nv-badge/nv-badge.docs.js +20 -1
- package/dist/collection/components/nv-badge/nv-badge.docs.js.map +1 -1
- package/dist/collection/components/nv-badge/nv-badge.js +39 -15
- package/dist/collection/components/nv-badge/nv-badge.js.map +1 -1
- package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js +0 -1
- package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.docs.js.map +1 -1
- package/dist/collection/components/nv-calendar/nv-calendar.css +25 -2
- package/dist/collection/components/nv-calendar/nv-calendar.docs.js +33 -38
- package/dist/collection/components/nv-calendar/nv-calendar.docs.js.map +1 -1
- package/dist/collection/components/nv-calendar/nv-calendar.js +659 -897
- package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -1
- package/dist/collection/components/nv-calendar/nv-calendar.utils.js +202 -0
- package/dist/collection/components/nv-calendar/nv-calendar.utils.js.map +1 -0
- package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js +667 -0
- package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js.map +1 -0
- package/dist/collection/components/nv-datagrid/nv-datagrid.css +98 -0
- package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +232 -51
- package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +1 -1
- package/dist/collection/components/nv-datagrid/nv-datagrid.js +437 -160
- 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-dialog/nv-dialog.css +29 -5
- package/dist/collection/components/nv-dialog/nv-dialog.docs.js +0 -1
- package/dist/collection/components/nv-dialog/nv-dialog.docs.js.map +1 -1
- package/dist/collection/components/nv-dialog/nv-dialog.js +16 -10
- package/dist/collection/components/nv-dialog/nv-dialog.js.map +1 -1
- package/dist/collection/components/nv-fielddate/nv-fielddate.docs.js +16 -8
- package/dist/collection/components/nv-fielddate/nv-fielddate.docs.js.map +1 -1
- package/dist/collection/components/nv-fielddate/nv-fielddate.js +48 -39
- package/dist/collection/components/nv-fielddate/nv-fielddate.js.map +1 -1
- package/dist/collection/components/nv-fielddate/styles/nv-fielddate.css +14 -1
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.docs.js +12 -15
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.docs.js.map +1 -1
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +147 -68
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +1 -1
- package/dist/collection/components/nv-fielddaterange/styles/nv-fielddaterange.css +20 -12
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js +16 -0
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.docs.js.map +1 -1
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +197 -103
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
- package/dist/collection/components/nv-fielddropdown/styles/nv-fielddropdown.css +36 -1
- 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 +8 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js +228 -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} +36 -1
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.css +12 -1
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js +8 -0
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +27 -3
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +1 -1
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.css +12 -1
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js +8 -0
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +27 -3
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js.map +1 -1
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.css +12 -1
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js +8 -0
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +29 -5
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.js.map +1 -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 +1035 -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 +267 -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 +20 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +17 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +28 -3
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +1 -1
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.css +30 -1
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js +8 -0
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +27 -3
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js.map +1 -1
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +13 -10
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.js.map +1 -1
- package/dist/collection/components/nv-fieldtime/styles/nv-fieldtime.css +26 -3
- package/dist/collection/components/nv-icon/nv-icon.js +1 -1
- package/dist/collection/components/nv-icon/nv-icons.js +4 -470
- 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 +3 -1
- package/dist/collection/components/nv-menu/nv-menu.js.map +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 +8 -11
- package/dist/collection/components/nv-table/nv-table.js.map +1 -1
- 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/index.js.map +1 -1
- package/dist/collection/interfaces/Column.js.map +1 -1
- package/dist/collection/templates/navigation.docs.js +0 -1
- package/dist/collection/templates/navigation.docs.js.map +1 -1
- package/dist/collection/utils/constants.js +11 -0
- package/dist/collection/utils/constants.js.map +1 -1
- package/dist/components/index.js +6 -472
- package/dist/components/index.js.map +1 -1
- package/dist/components/nv-alert.js +7 -7
- package/dist/components/nv-alert.js.map +1 -1
- package/dist/components/nv-avatar.js +3 -3
- 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 +447 -102
- 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 +24 -18
- 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 +19 -27
- package/dist/components/nv-fielddate.js.map +1 -1
- package/dist/components/nv-fielddaterange.js +99 -44
- package/dist/components/nv-fielddaterange.js.map +1 -1
- package/dist/components/nv-fielddropdown.js +103 -69
- 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 +139 -120
- package/dist/components/nv-fieldmultiselect.js.map +1 -1
- package/dist/components/nv-fieldnumber.js +14 -9
- package/dist/components/nv-fieldnumber.js.map +1 -1
- package/dist/components/nv-fieldpassword.js +13 -8
- package/dist/components/nv-fieldpassword.js.map +1 -1
- package/dist/components/nv-fieldradio.js +4 -4
- package/dist/components/nv-fieldselect.js +15 -10
- package/dist/components/nv-fieldselect.js.map +1 -1
- package/dist/components/nv-fieldslider.d.ts +11 -0
- package/dist/components/nv-fieldslider.js +726 -0
- package/dist/components/nv-fieldslider.js.map +1 -0
- package/dist/components/nv-fieldtext.js +1 -158
- package/dist/components/nv-fieldtext.js.map +1 -1
- package/dist/components/nv-fieldtextarea.js +11 -6
- package/dist/components/nv-fieldtextarea.js.map +1 -1
- package/dist/components/nv-fieldtime.js +20 -17
- 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 +7 -5
- package/dist/components/nv-menu.js.map +1 -1
- 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-table.js.map +1 -1
- 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-dc3faba3.js → p-04cb3a6f.js} +5 -5
- package/dist/components/{p-dc3faba3.js.map → p-04cb3a6f.js.map} +1 -1
- package/dist/components/p-07a89754.js +187 -0
- package/dist/components/p-07a89754.js.map +1 -0
- package/dist/components/{p-b7b78e64.js → p-0ab80d95.js} +3 -3
- package/dist/components/{p-b7b78e64.js.map → p-0ab80d95.js.map} +1 -1
- package/dist/components/{p-8348db09.js → p-1f505531.js} +15 -2
- package/dist/components/p-1f505531.js.map +1 -0
- package/dist/components/{p-02752770.js → p-33e231f4.js} +2 -2
- package/dist/components/{p-02752770.js.map → p-33e231f4.js.map} +1 -1
- package/dist/components/p-4656efae.js +1111 -0
- package/dist/components/p-4656efae.js.map +1 -0
- package/dist/components/{p-2012b8ba.js → p-581e67cc.js} +4 -4
- package/dist/components/{p-2012b8ba.js.map → p-581e67cc.js.map} +1 -1
- package/dist/components/{p-1c45c0f2.js → p-679e0fa9.js} +16 -4
- package/dist/components/p-679e0fa9.js.map +1 -0
- package/dist/components/p-76a30bf1.js +88 -0
- package/dist/components/p-76a30bf1.js.map +1 -0
- package/dist/components/{p-150daf68.js → p-83c8873a.js} +3 -3
- package/dist/components/{p-150daf68.js.map → p-83c8873a.js.map} +1 -1
- package/dist/components/{p-c14f6b8e.js → p-c0a91091.js} +5 -5
- package/dist/components/p-c0a91091.js.map +1 -0
- package/dist/components/{p-6c364a23.js → p-cbdc2c8b.js} +6 -6
- package/dist/components/{p-6c364a23.js.map → p-cbdc2c8b.js.map} +1 -1
- package/dist/components/{p-2d9ba7d3.js → p-cbe9521f.js} +4 -4
- package/dist/components/{p-2d9ba7d3.js.map → p-cbe9521f.js.map} +1 -1
- package/dist/components/{p-a30b55fc.js → p-d19b41d2.js} +2 -2
- package/dist/components/{p-a30b55fc.js.map → p-d19b41d2.js.map} +1 -1
- package/dist/components/{p-4d3ec142.js → p-d63f1cbe.js} +4 -4
- package/dist/components/{p-4d3ec142.js.map → p-d63f1cbe.js.map} +1 -1
- package/dist/components/{p-e00cbb8a.js → p-dd2273a3.js} +2 -2
- package/dist/components/{p-e00cbb8a.js.map → p-dd2273a3.js.map} +1 -1
- package/dist/components/p-f0a5e7e4.js +167 -0
- package/dist/components/p-f0a5e7e4.js.map +1 -0
- package/dist/components/{p-f4d86795.js → p-f1859ddc.js} +4 -4
- package/dist/components/{p-f4d86795.js.map → p-f1859ddc.js.map} +1 -1
- package/dist/esm/{constants-98e2dcc2.js → constants-b97e736d.js} +15 -2
- package/dist/esm/constants-b97e736d.js.map +1 -0
- package/dist/esm/{index-1fb7a9a6.js → index-8f0e5f19.js} +22 -6
- package/dist/esm/index-8f0e5f19.js.map +1 -0
- package/dist/esm/index.js +5 -471
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/native.js +3 -3
- package/dist/esm/nv-alert.entry.js +6 -6
- package/dist/esm/nv-alert.entry.js.map +1 -1
- package/dist/esm/nv-avatar.entry.js +2 -2
- package/dist/esm/nv-badge_2.entry.js +18 -9
- 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 +2 -2
- package/dist/esm/nv-calendar.entry.js +821 -843
- 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 +423 -94
- 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 +19 -13
- 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 +1 -1
- package/dist/esm/nv-fielddate.entry.js +9 -18
- package/dist/esm/nv-fielddate.entry.js.map +1 -1
- package/dist/esm/nv-fielddaterange.entry.js +85 -32
- package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
- package/dist/esm/nv-fielddropdown.entry.js +88 -57
- package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
- package/dist/esm/nv-fielddropdownitem.entry.js +2 -2
- package/dist/esm/nv-fieldmultiselect.entry.js +122 -104
- package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
- package/dist/esm/nv-fieldnumber.entry.js +9 -5
- package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
- package/dist/esm/nv-fieldpassword.entry.js +9 -5
- package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
- package/dist/esm/nv-fieldradio.entry.js +4 -4
- package/dist/esm/nv-fieldselect.entry.js +11 -7
- package/dist/esm/nv-fieldselect.entry.js.map +1 -1
- package/dist/esm/nv-fieldslider.entry.js +659 -0
- package/dist/esm/nv-fieldslider.entry.js.map +1 -0
- package/dist/esm/nv-fieldtext.entry.js +9 -5
- package/dist/esm/nv-fieldtext.entry.js.map +1 -1
- package/dist/esm/nv-fieldtextarea.entry.js +9 -5
- package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
- package/dist/esm/nv-fieldtime.entry.js +16 -13
- 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 +4 -2
- package/dist/esm/nv-menu.entry.js.map +1 -1
- 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-table.entry.js.map +1 -1
- 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-6b348684.entry.js → p-0323daf6.entry.js} +2 -2
- package/dist/native/{p-d5cbf5c8.entry.js → p-05d95d4d.entry.js} +2 -2
- package/dist/native/{p-fb5bddba.entry.js → p-0ec1e2e3.entry.js} +2 -2
- package/dist/native/{p-c7b201cd.entry.js → p-16a4cdf3.entry.js} +2 -2
- package/dist/native/p-19fb0fd0.entry.js +2 -0
- package/dist/native/p-19fb0fd0.entry.js.map +1 -0
- package/dist/native/p-1e3d3374.entry.js +2 -0
- package/dist/native/{p-9135fdf5.entry.js.map → p-1e3d3374.entry.js.map} +1 -1
- package/dist/native/p-21e7132f.entry.js +2 -0
- package/dist/native/p-21e7132f.entry.js.map +1 -0
- package/dist/native/p-221b8f72.entry.js +2 -0
- package/dist/native/p-221b8f72.entry.js.map +1 -0
- package/dist/native/p-2805f9f2.entry.js +2 -0
- package/dist/native/p-2805f9f2.entry.js.map +1 -0
- package/dist/native/p-3f2b6a22.entry.js +2 -0
- package/dist/native/p-3f2b6a22.entry.js.map +1 -0
- package/dist/native/{p-0245863d.entry.js → p-407fc32d.entry.js} +2 -2
- package/dist/native/{p-63e6aed3.entry.js → p-4c0d81b0.entry.js} +2 -2
- package/dist/native/p-4c0d81b0.entry.js.map +1 -0
- package/dist/native/{p-39bb95ff.entry.js → p-519b4819.entry.js} +2 -2
- package/dist/native/{p-fa77a591.entry.js → p-5382eab2.entry.js} +2 -2
- package/dist/native/p-5ba3fc3c.entry.js +2 -0
- package/dist/native/p-5ba3fc3c.entry.js.map +1 -0
- package/dist/native/{p-bad11367.entry.js → p-60b204ac.entry.js} +2 -2
- package/dist/native/p-60b204ac.entry.js.map +1 -0
- package/dist/native/p-7092a675.entry.js +2 -0
- package/dist/native/p-711a7778.js +3 -0
- package/dist/native/p-711a7778.js.map +1 -0
- package/dist/native/p-759c9ce4.entry.js +2 -0
- package/dist/native/p-759c9ce4.entry.js.map +1 -0
- package/dist/native/{p-d7a76400.entry.js → p-7c676f2c.entry.js} +2 -2
- package/dist/native/p-7c6edd1c.entry.js +2 -0
- package/dist/native/p-7c6edd1c.entry.js.map +1 -0
- package/dist/native/p-987c79d8.entry.js +2 -0
- package/dist/native/p-987c79d8.entry.js.map +1 -0
- package/dist/native/{p-f85aca27.entry.js → p-9fba8663.entry.js} +2 -2
- package/dist/native/{p-b094296d.entry.js → p-a2c0f1a7.entry.js} +2 -2
- package/dist/native/p-aa86af25.entry.js +2 -0
- package/dist/native/p-aa86af25.entry.js.map +1 -0
- package/dist/native/p-adc96c3a.entry.js +2 -0
- package/dist/native/p-adc96c3a.entry.js.map +1 -0
- package/dist/native/p-b0fc08e7.entry.js +2 -0
- package/dist/native/p-b0fc08e7.entry.js.map +1 -0
- package/dist/native/{p-6ff228da.entry.js → p-c930adb7.entry.js} +2 -2
- package/dist/native/{p-701b5557.entry.js → p-cfe0a6c6.entry.js} +2 -2
- package/dist/native/p-d07ab618.entry.js +2 -0
- package/dist/native/p-dac0089b.entry.js +2 -0
- package/dist/native/p-dac0089b.entry.js.map +1 -0
- package/dist/native/p-de2c07a6.entry.js +13 -0
- package/dist/native/p-de2c07a6.entry.js.map +1 -0
- package/dist/native/p-ed488498.entry.js +7 -0
- package/dist/native/p-ed488498.entry.js.map +1 -0
- package/dist/native/p-ef76178b.entry.js +2 -0
- package/dist/native/p-ef76178b.entry.js.map +1 -0
- package/dist/native/{p-e5de64d5.entry.js → p-f0ddf60b.entry.js} +2 -2
- package/dist/native/p-f39803d9.entry.js +2 -0
- package/dist/native/p-f39803d9.entry.js.map +1 -0
- package/dist/native/{p-59768ee5.js → p-f85c08f1.js} +2 -2
- package/dist/native/p-f85c08f1.js.map +1 -0
- package/dist/native/p-fb897f7d.entry.js +2 -0
- package/dist/native/p-fb897f7d.entry.js.map +1 -0
- package/dist/native/{p-244f56ac.entry.js → p-fc3bea07.entry.js} +2 -2
- package/dist/types/components/nv-alert/nv-alert.d.ts +1 -1
- package/dist/types/components/nv-badge/nv-badge.d.ts +11 -3
- package/dist/types/components/nv-calendar/nv-calendar.d.ts +70 -112
- package/dist/types/components/nv-calendar/nv-calendar.utils.d.ts +60 -0
- package/dist/types/components/nv-calendar/test/nv-calendar.utils.test.d.ts +1 -0
- package/dist/types/components/nv-datagrid/nv-datagrid.d.ts +47 -26
- package/dist/types/components/nv-datagridcolumn/nv-datagridcolumn.d.ts +4 -0
- package/dist/types/components/nv-dialog/nv-dialog.d.ts +4 -0
- package/dist/types/components/nv-fielddate/nv-fielddate.d.ts +6 -7
- package/dist/types/components/nv-fielddaterange/nv-fielddaterange.d.ts +23 -12
- package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +51 -26
- package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +65 -55
- package/dist/types/components/nv-fieldnumber/nv-fieldnumber.d.ts +4 -0
- package/dist/types/components/nv-fieldpassword/nv-fieldpassword.d.ts +4 -0
- package/dist/types/components/nv-fieldselect/nv-fieldselect.d.ts +4 -0
- package/dist/types/components/nv-fieldslider/nv-fieldslider.d.ts +230 -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 +5 -0
- package/dist/types/components/nv-fieldtextarea/nv-fieldtextarea.d.ts +4 -0
- package/dist/types/components/nv-icon/nv-icons.d.ts +1 -1
- package/dist/types/components/nv-table/nv-table.d.ts +13 -2
- package/dist/types/components.d.ts +656 -154
- package/dist/types/index.d.ts +0 -2
- package/dist/types/interfaces/Column.d.ts +5 -1
- package/dist/types/utils/constants.d.ts +9 -0
- package/dist/vscode-data.json +292 -1546
- package/hydrate/index.js +2715 -1533
- package/hydrate/index.mjs +2715 -1533
- package/package.json +6 -2
- package/dist/cjs/constants-bcd6b2e2.js.map +0 -1
- package/dist/cjs/index-9bda5507.js.map +0 -1
- package/dist/collection/interfaces/actionEvent.js +0 -2
- package/dist/collection/interfaces/actionEvent.js.map +0 -1
- package/dist/collection/interfaces/calendarShortcut.js +0 -2
- package/dist/collection/interfaces/calendarShortcut.js.map +0 -1
- package/dist/collection/interfaces/dateRange.js +0 -2
- package/dist/collection/interfaces/dateRange.js.map +0 -1
- package/dist/components/p-1c45c0f2.js.map +0 -1
- package/dist/components/p-373926aa.js +0 -177
- package/dist/components/p-373926aa.js.map +0 -1
- package/dist/components/p-591730e7.js +0 -88
- package/dist/components/p-591730e7.js.map +0 -1
- package/dist/components/p-8348db09.js.map +0 -1
- package/dist/components/p-c14f6b8e.js.map +0 -1
- package/dist/components/p-f331117c.js +0 -1133
- package/dist/components/p-f331117c.js.map +0 -1
- package/dist/esm/constants-98e2dcc2.js.map +0 -1
- package/dist/esm/index-1fb7a9a6.js.map +0 -1
- package/dist/native/p-0ee428d5.entry.js +0 -2
- package/dist/native/p-0ee428d5.entry.js.map +0 -1
- package/dist/native/p-2691e02d.entry.js +0 -2
- package/dist/native/p-37f0210e.entry.js +0 -2
- package/dist/native/p-37f0210e.entry.js.map +0 -1
- package/dist/native/p-4a440970.entry.js +0 -2
- package/dist/native/p-4a440970.entry.js.map +0 -1
- package/dist/native/p-4ae26462.entry.js +0 -7
- package/dist/native/p-4ae26462.entry.js.map +0 -1
- package/dist/native/p-4d9c4618.entry.js +0 -2
- package/dist/native/p-4d9c4618.entry.js.map +0 -1
- package/dist/native/p-4dc1d036.entry.js +0 -2
- package/dist/native/p-59768ee5.js.map +0 -1
- package/dist/native/p-59e0bd2b.entry.js +0 -2
- package/dist/native/p-59e0bd2b.entry.js.map +0 -1
- package/dist/native/p-5c00f092.entry.js +0 -2
- package/dist/native/p-5c00f092.entry.js.map +0 -1
- package/dist/native/p-63e6aed3.entry.js.map +0 -1
- package/dist/native/p-7f5eb2ac.entry.js +0 -2
- package/dist/native/p-7f5eb2ac.entry.js.map +0 -1
- package/dist/native/p-84a73e2a.entry.js +0 -2
- package/dist/native/p-84a73e2a.entry.js.map +0 -1
- package/dist/native/p-9135fdf5.entry.js +0 -2
- package/dist/native/p-93dc2f47.entry.js +0 -2
- package/dist/native/p-93dc2f47.entry.js.map +0 -1
- package/dist/native/p-9a267f16.entry.js +0 -13
- package/dist/native/p-9a267f16.entry.js.map +0 -1
- package/dist/native/p-9d6431c7.entry.js +0 -2
- package/dist/native/p-9d6431c7.entry.js.map +0 -1
- package/dist/native/p-ab002252.js +0 -3
- package/dist/native/p-ab002252.js.map +0 -1
- package/dist/native/p-b2ce83ad.entry.js +0 -2
- package/dist/native/p-b2ce83ad.entry.js.map +0 -1
- package/dist/native/p-bad11367.entry.js.map +0 -1
- package/dist/native/p-e1a4f776.entry.js +0 -2
- package/dist/native/p-e1a4f776.entry.js.map +0 -1
- package/dist/native/p-e49bbd02.entry.js +0 -2
- package/dist/native/p-e49bbd02.entry.js.map +0 -1
- package/dist/native/p-eee01062.entry.js +0 -2
- package/dist/native/p-eee01062.entry.js.map +0 -1
- package/dist/native/p-f6bdc270.entry.js +0 -2
- package/dist/native/p-f6bdc270.entry.js.map +0 -1
- package/dist/types/interfaces/actionEvent.d.ts +0 -13
- package/dist/types/interfaces/calendarShortcut.d.ts +0 -17
- package/dist/types/interfaces/dateRange.d.ts +0 -13
- /package/dist/native/{p-6b348684.entry.js.map → p-0323daf6.entry.js.map} +0 -0
- /package/dist/native/{p-d5cbf5c8.entry.js.map → p-05d95d4d.entry.js.map} +0 -0
- /package/dist/native/{p-fb5bddba.entry.js.map → p-0ec1e2e3.entry.js.map} +0 -0
- /package/dist/native/{p-c7b201cd.entry.js.map → p-16a4cdf3.entry.js.map} +0 -0
- /package/dist/native/{p-0245863d.entry.js.map → p-407fc32d.entry.js.map} +0 -0
- /package/dist/native/{p-39bb95ff.entry.js.map → p-519b4819.entry.js.map} +0 -0
- /package/dist/native/{p-fa77a591.entry.js.map → p-5382eab2.entry.js.map} +0 -0
- /package/dist/native/{p-2691e02d.entry.js.map → p-7092a675.entry.js.map} +0 -0
- /package/dist/native/{p-d7a76400.entry.js.map → p-7c676f2c.entry.js.map} +0 -0
- /package/dist/native/{p-f85aca27.entry.js.map → p-9fba8663.entry.js.map} +0 -0
- /package/dist/native/{p-b094296d.entry.js.map → p-a2c0f1a7.entry.js.map} +0 -0
- /package/dist/native/{p-6ff228da.entry.js.map → p-c930adb7.entry.js.map} +0 -0
- /package/dist/native/{p-701b5557.entry.js.map → p-cfe0a6c6.entry.js.map} +0 -0
- /package/dist/native/{p-4dc1d036.entry.js.map → p-d07ab618.entry.js.map} +0 -0
- /package/dist/native/{p-e5de64d5.entry.js.map → p-f0ddf60b.entry.js.map} +0 -0
- /package/dist/native/{p-244f56ac.entry.js.map → p-fc3bea07.entry.js.map} +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, a as Host, g as getElement } from './index-8f0e5f19.js';
|
|
2
2
|
import { d as deepCopyElement, e as excludedProps } from './dom.utils-ac71e0ef.js';
|
|
3
|
+
import { a as SortingPossibility } from './constants-b97e736d.js';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* table-core
|
|
@@ -3199,6 +3200,92 @@ function getPaginationRowModel(opts) {
|
|
|
3199
3200
|
}, getMemoOptions(table.options, 'debugTable'));
|
|
3200
3201
|
}
|
|
3201
3202
|
|
|
3203
|
+
function getSortedRowModel() {
|
|
3204
|
+
return table => memo(() => [table.getState().sorting, table.getPreSortedRowModel()], (sorting, rowModel) => {
|
|
3205
|
+
if (!rowModel.rows.length || !(sorting != null && sorting.length)) {
|
|
3206
|
+
return rowModel;
|
|
3207
|
+
}
|
|
3208
|
+
const sortingState = table.getState().sorting;
|
|
3209
|
+
const sortedFlatRows = [];
|
|
3210
|
+
|
|
3211
|
+
// Filter out sortings that correspond to non existing columns
|
|
3212
|
+
const availableSorting = sortingState.filter(sort => {
|
|
3213
|
+
var _table$getColumn;
|
|
3214
|
+
return (_table$getColumn = table.getColumn(sort.id)) == null ? void 0 : _table$getColumn.getCanSort();
|
|
3215
|
+
});
|
|
3216
|
+
const columnInfoById = {};
|
|
3217
|
+
availableSorting.forEach(sortEntry => {
|
|
3218
|
+
const column = table.getColumn(sortEntry.id);
|
|
3219
|
+
if (!column) return;
|
|
3220
|
+
columnInfoById[sortEntry.id] = {
|
|
3221
|
+
sortUndefined: column.columnDef.sortUndefined,
|
|
3222
|
+
invertSorting: column.columnDef.invertSorting,
|
|
3223
|
+
sortingFn: column.getSortingFn()
|
|
3224
|
+
};
|
|
3225
|
+
});
|
|
3226
|
+
const sortData = rows => {
|
|
3227
|
+
// This will also perform a stable sorting using the row index
|
|
3228
|
+
// if needed.
|
|
3229
|
+
const sortedData = rows.map(row => ({
|
|
3230
|
+
...row
|
|
3231
|
+
}));
|
|
3232
|
+
sortedData.sort((rowA, rowB) => {
|
|
3233
|
+
for (let i = 0; i < availableSorting.length; i += 1) {
|
|
3234
|
+
var _sortEntry$desc;
|
|
3235
|
+
const sortEntry = availableSorting[i];
|
|
3236
|
+
const columnInfo = columnInfoById[sortEntry.id];
|
|
3237
|
+
const sortUndefined = columnInfo.sortUndefined;
|
|
3238
|
+
const isDesc = (_sortEntry$desc = sortEntry == null ? void 0 : sortEntry.desc) != null ? _sortEntry$desc : false;
|
|
3239
|
+
let sortInt = 0;
|
|
3240
|
+
|
|
3241
|
+
// All sorting ints should always return in ascending order
|
|
3242
|
+
if (sortUndefined) {
|
|
3243
|
+
const aValue = rowA.getValue(sortEntry.id);
|
|
3244
|
+
const bValue = rowB.getValue(sortEntry.id);
|
|
3245
|
+
const aUndefined = aValue === undefined;
|
|
3246
|
+
const bUndefined = bValue === undefined;
|
|
3247
|
+
if (aUndefined || bUndefined) {
|
|
3248
|
+
if (sortUndefined === 'first') return aUndefined ? -1 : 1;
|
|
3249
|
+
if (sortUndefined === 'last') return aUndefined ? 1 : -1;
|
|
3250
|
+
sortInt = aUndefined && bUndefined ? 0 : aUndefined ? sortUndefined : -sortUndefined;
|
|
3251
|
+
}
|
|
3252
|
+
}
|
|
3253
|
+
if (sortInt === 0) {
|
|
3254
|
+
sortInt = columnInfo.sortingFn(rowA, rowB, sortEntry.id);
|
|
3255
|
+
}
|
|
3256
|
+
|
|
3257
|
+
// If sorting is non-zero, take care of desc and inversion
|
|
3258
|
+
if (sortInt !== 0) {
|
|
3259
|
+
if (isDesc) {
|
|
3260
|
+
sortInt *= -1;
|
|
3261
|
+
}
|
|
3262
|
+
if (columnInfo.invertSorting) {
|
|
3263
|
+
sortInt *= -1;
|
|
3264
|
+
}
|
|
3265
|
+
return sortInt;
|
|
3266
|
+
}
|
|
3267
|
+
}
|
|
3268
|
+
return rowA.index - rowB.index;
|
|
3269
|
+
});
|
|
3270
|
+
|
|
3271
|
+
// If there are sub-rows, sort them
|
|
3272
|
+
sortedData.forEach(row => {
|
|
3273
|
+
var _row$subRows;
|
|
3274
|
+
sortedFlatRows.push(row);
|
|
3275
|
+
if ((_row$subRows = row.subRows) != null && _row$subRows.length) {
|
|
3276
|
+
row.subRows = sortData(row.subRows);
|
|
3277
|
+
}
|
|
3278
|
+
});
|
|
3279
|
+
return sortedData;
|
|
3280
|
+
};
|
|
3281
|
+
return {
|
|
3282
|
+
rows: sortData(rowModel.rows),
|
|
3283
|
+
flatRows: sortedFlatRows,
|
|
3284
|
+
rowsById: rowModel.rowsById
|
|
3285
|
+
};
|
|
3286
|
+
}, getMemoOptions(table.options, 'debugTable', 'getSortedRowModel', () => table._autoResetPageIndex()));
|
|
3287
|
+
}
|
|
3288
|
+
|
|
3202
3289
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3203
3290
|
/**
|
|
3204
3291
|
* Debounce function to prevent multiple calls in a short
|
|
@@ -3219,13 +3306,14 @@ function debounce(func, wait) {
|
|
|
3219
3306
|
};
|
|
3220
3307
|
}
|
|
3221
3308
|
|
|
3222
|
-
const nvDatagridCss = "nv-datagrid{display:block}nv-datagrid .hidden{display:none}nv-datagrid table{border-collapse:collapse;border-color:inherit;text-indent:0;width:100%}nv-datagrid th{text-align:left;border-bottom:1px solid var(--components-datagrid-header-border);height:var(--spacing-12);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-md);font-weight:700;color:var(--components-datagrid-header-text)}nv-datagrid td{border-bottom:1px solid var(--components-datagrid-body-border);height:var(--spacing-12);max-height:var(--spacing-14);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-md);font-weight:400;color:var(--components-datagrid-body-text);white-space:nowrap;text-overflow:ellipsis}nv-datagrid tbody>tr:hover{background:var(--color-interaction-container-neutral-background-hover)}";
|
|
3309
|
+
const nvDatagridCss = "nv-datagrid{--nv-datagrid-border-default:var(\n --components-form-field-border-default\n );--nv-datagrid-border-hover:var(--components-form-field-border-hover);--nv-datagrid-border-focus:var(--components-form-field-border-default);--nv-datagrid-background-default:var(\n --components-form-field-background-default\n );--nv-datagrid-background-checked:var(\n --components-form-field-background-checked\n );--nv-datagrid-background-disabled:var(\n --components-form-field-background-disabled\n );--nv-datagrid-color-checked:var(\n --components-form-shape-foreground-default\n );--nv-datagrid-color-disabled:var(\n --components-form-shape-foreground-disabled\n );--nv-datagrid-outline-color:var(--color-focus-brand);display:block}nv-datagrid .hidden{display:none}nv-datagrid table{border-collapse:collapse;border-color:inherit;text-indent:0;width:100%}nv-datagrid th{text-align:left;border-bottom:1px solid var(--components-datagrid-header-border);height:var(--spacing-12);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-md);font-weight:700;color:var(--components-datagrid-header-text)}nv-datagrid td{border-bottom:1px solid var(--components-datagrid-body-border);height:var(--spacing-12);max-height:var(--spacing-14);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-md);font-weight:400;color:var(--components-datagrid-body-text);white-space:nowrap;text-overflow:ellipsis}nv-datagrid tbody>tr:hover{background:var(--color-interaction-container-neutral-background-hover)}nv-datagrid .cursor-pointer{cursor:pointer}nv-datagrid .select-none{-webkit-user-select:none;user-select:none}nv-datagrid .search-container{display:flex}nv-datagrid .checkbox-container{position:relative;color:var(--nv-datagrid-color-checked)}nv-datagrid .checkbox-container input[type=checkbox][readonly]{opacity:0.5}nv-datagrid .checkbox-container:has(input[type=checkbox]:disabled:not([readonly])){color:var(--nv-datagrid-color-disabled)}nv-datagrid .checkbox-container input[type=checkbox]{appearance:none;position:relative;display:flex;width:var(--form-checkbox-size);height:var(--form-checkbox-size);flex-direction:column;align-items:flex-start;border-radius:var(--form-checkbox-radius);border-width:var(--form-checkbox-border-width);border-style:solid;border-color:var(--nv-datagrid-border-default);background:var(--nv-datagrid-background-default)}nv-datagrid .checkbox-container input[type=checkbox]:hover{border-color:var(--nv-datagrid-border-hover)}nv-datagrid .checkbox-container input[type=checkbox]:focus{border-color:var(--nv-datagrid-border-focus)}nv-datagrid .checkbox-container input[type=checkbox]:focus,nv-datagrid .checkbox-container input[type=checkbox]:focus-within{outline:none}nv-datagrid .checkbox-container input[type=checkbox]:focus-visible,nv-datagrid .checkbox-container input[type=checkbox]:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--nv-datagrid-outline-color);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-datagrid .checkbox-container input[type=checkbox]:checked,nv-datagrid .checkbox-container input[type=checkbox]:indeterminate{background:var(--nv-datagrid-background-checked);border-color:var(--nv-datagrid-background-checked)}nv-datagrid .checkbox-container input[type=checkbox]:disabled:not([readonly]){background:var(--nv-datagrid-background-disabled);border-color:var(--nv-datagrid-border-default)}nv-datagrid .checkbox-container input[type=checkbox][readonly]{opacity:0.5}nv-datagrid .checkbox-container .icon{pointer-events:none;position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center}nv-datagrid .checkbox-container .icon svg{width:var(--form-checkbox-icon-size);height:var(--form-checkbox-icon-size);fill:none;stroke:currentcolor;stroke-width:var(--form-checkbox-icon-stroke);flex-shrink:0}";
|
|
3223
3310
|
const NvDatagridStyle0 = nvDatagridCss;
|
|
3224
3311
|
|
|
3225
3312
|
const NvDatagrid = class {
|
|
3226
3313
|
constructor(hostRef) {
|
|
3227
3314
|
registerInstance(this, hostRef);
|
|
3228
3315
|
this.action = createEvent(this, "action", 7);
|
|
3316
|
+
this.selectedRows = createEvent(this, "selectedRows", 7);
|
|
3229
3317
|
this.templateCache = new Map();
|
|
3230
3318
|
this.headerTemplateCache = new Map();
|
|
3231
3319
|
this.minPageIndex = 1;
|
|
@@ -3237,6 +3325,8 @@ const NvDatagrid = class {
|
|
|
3237
3325
|
this.globalFilterSearchTerm = '';
|
|
3238
3326
|
this.columnData = [];
|
|
3239
3327
|
this.paginationState = null;
|
|
3328
|
+
this.sorting = [];
|
|
3329
|
+
this.rowSelectionState = {};
|
|
3240
3330
|
//#endregion STATES
|
|
3241
3331
|
/****************************************************************************/
|
|
3242
3332
|
//#region PROPERTIES
|
|
@@ -3272,6 +3362,12 @@ const NvDatagrid = class {
|
|
|
3272
3362
|
* @default 'No data or columns available to display.'
|
|
3273
3363
|
*/
|
|
3274
3364
|
this.noColumnsNoDataMessage = 'No data or columns available to display.';
|
|
3365
|
+
/**
|
|
3366
|
+
* Whether to automatically generate columns if none are provided.
|
|
3367
|
+
* If columns are explicitly set, this property is ignored.
|
|
3368
|
+
* @default false
|
|
3369
|
+
*/
|
|
3370
|
+
this.autoGenerateColumns = false;
|
|
3275
3371
|
/**
|
|
3276
3372
|
* Whether to enable global filtering for the data grid.
|
|
3277
3373
|
* This allows users to search across all columns for a specific value.
|
|
@@ -3281,11 +3377,9 @@ const NvDatagrid = class {
|
|
|
3281
3377
|
*/
|
|
3282
3378
|
this.enableGlobalFilter = false;
|
|
3283
3379
|
/**
|
|
3284
|
-
*
|
|
3285
|
-
* If columns are explicitly set, this property is ignored.
|
|
3286
|
-
* @default false
|
|
3380
|
+
* Position the global filter input field
|
|
3287
3381
|
*/
|
|
3288
|
-
this.
|
|
3382
|
+
this.globalFilterPosition = 'end';
|
|
3289
3383
|
/**
|
|
3290
3384
|
* Whether to enable pagination for the data grid.
|
|
3291
3385
|
* @default false
|
|
@@ -3293,6 +3387,7 @@ const NvDatagrid = class {
|
|
|
3293
3387
|
this.enablePagination = false;
|
|
3294
3388
|
/**
|
|
3295
3389
|
* The number of rows to display per page.
|
|
3390
|
+
* If the number is not present in the property pageSizes it takes the first of the list.
|
|
3296
3391
|
* @default 10
|
|
3297
3392
|
*/
|
|
3298
3393
|
this.pageSize = 10;
|
|
@@ -3301,6 +3396,15 @@ const NvDatagrid = class {
|
|
|
3301
3396
|
* @default [10, 20, 30, 40, 50]
|
|
3302
3397
|
*/
|
|
3303
3398
|
this.pageSizes = [10, 20, 30, 40, 50];
|
|
3399
|
+
/**
|
|
3400
|
+
* Whether to enable sorting for the data grid.
|
|
3401
|
+
* @default false
|
|
3402
|
+
*/
|
|
3403
|
+
this.enableSorting = false;
|
|
3404
|
+
/**
|
|
3405
|
+
* Whether to enable row selection for the data grid.
|
|
3406
|
+
*/
|
|
3407
|
+
this.enableRowSelection = false;
|
|
3304
3408
|
this.debouncedFilter = debounce((value) => {
|
|
3305
3409
|
var _a;
|
|
3306
3410
|
(_a = this.table) === null || _a === void 0 ? void 0 : _a.setGlobalFilter(value);
|
|
@@ -3333,8 +3437,32 @@ const NvDatagrid = class {
|
|
|
3333
3437
|
};
|
|
3334
3438
|
this.handlePageSizeChange = (event) => {
|
|
3335
3439
|
const target = event.target;
|
|
3440
|
+
let effectivePageSize = Number(target.value);
|
|
3441
|
+
if (!this.pageSizes.includes(effectivePageSize) && this.pageSizes) {
|
|
3442
|
+
effectivePageSize = this.pageSizes[0];
|
|
3443
|
+
}
|
|
3336
3444
|
// Simply use `setPageSize` to update the page size directly
|
|
3337
|
-
this.paginationState = Object.assign(Object.assign({}, this.paginationState), { pageSize:
|
|
3445
|
+
this.paginationState = Object.assign(Object.assign({}, this.paginationState), { pageSize: effectivePageSize }); // This triggers the paginationState watcher
|
|
3446
|
+
};
|
|
3447
|
+
this.handleSortingClick = (event, header) => {
|
|
3448
|
+
var _a;
|
|
3449
|
+
if (!header.column.getCanSort()) {
|
|
3450
|
+
return;
|
|
3451
|
+
}
|
|
3452
|
+
(_a = header.column.getToggleSortingHandler()) === null || _a === void 0 ? void 0 : _a(event);
|
|
3453
|
+
};
|
|
3454
|
+
this.getSortTitle = (header) => {
|
|
3455
|
+
if (!header.column.getCanSort())
|
|
3456
|
+
return;
|
|
3457
|
+
const nextOrder = header.column.getNextSortingOrder();
|
|
3458
|
+
switch (nextOrder) {
|
|
3459
|
+
case SortingPossibility.Asc:
|
|
3460
|
+
return 'Sort ascending';
|
|
3461
|
+
case SortingPossibility.Desc:
|
|
3462
|
+
return 'Sort descending';
|
|
3463
|
+
default:
|
|
3464
|
+
return 'Clear sort';
|
|
3465
|
+
}
|
|
3338
3466
|
};
|
|
3339
3467
|
}
|
|
3340
3468
|
//#endregion PROPERTIES
|
|
@@ -3370,34 +3498,37 @@ const NvDatagrid = class {
|
|
|
3370
3498
|
header: col.header,
|
|
3371
3499
|
accessor: col.accessor,
|
|
3372
3500
|
repeatTemplate: col.hasAttribute('repeat-template'),
|
|
3501
|
+
group: col.group,
|
|
3373
3502
|
};
|
|
3374
3503
|
this.columnData.push(colData);
|
|
3375
3504
|
});
|
|
3505
|
+
console.info('cacheTemplates this.columnData:', this.columnData);
|
|
3376
3506
|
}
|
|
3377
3507
|
parseDataAndColumns() {
|
|
3378
|
-
if (this.
|
|
3379
|
-
this.parseJsonData(this.dataJson);
|
|
3380
|
-
}
|
|
3381
|
-
else if (this.data && this.data.length > 0) {
|
|
3508
|
+
if (this.data && this.data.length > 0) {
|
|
3382
3509
|
this.parseDataArray(this.data, this.parsedData);
|
|
3383
3510
|
}
|
|
3384
|
-
if (this.
|
|
3385
|
-
this.parseJsonColumns(this.columnsJson, this.parsedColumns);
|
|
3386
|
-
}
|
|
3387
|
-
else if (this.columns && this.columns.length > 0) {
|
|
3511
|
+
if (this.columns && this.columns.length > 0) {
|
|
3388
3512
|
this.parseColumnsArray(this.columns, this.parsedColumns);
|
|
3389
3513
|
}
|
|
3390
3514
|
else if (this.headerTemplateCache.size > 0) {
|
|
3391
3515
|
const headerKeys = Array.from(this.headerTemplateCache.keys());
|
|
3392
|
-
const arrayColumnsConfig = headerKeys.map(key =>
|
|
3516
|
+
const arrayColumnsConfig = headerKeys.map(key => {
|
|
3517
|
+
var _a, _b;
|
|
3518
|
+
return (Object.assign({}, { accessor: key, header: key ? key.charAt(0).toUpperCase() + key.slice(1) : '', group: (_b = (_a = this.columnData.find(x => x.accessor === key)) === null || _a === void 0 ? void 0 : _a.group) !== null && _b !== void 0 ? _b : 'ungrouped' }));
|
|
3519
|
+
});
|
|
3393
3520
|
this.parseColumnsArray(arrayColumnsConfig, this.parsedColumns);
|
|
3394
3521
|
}
|
|
3395
3522
|
else if (this.parsedData.length > 0) {
|
|
3396
3523
|
const firstRow = this.parsedData[0];
|
|
3397
|
-
const arrayColumnsConfig = Object.keys(firstRow).map(key =>
|
|
3398
|
-
|
|
3399
|
-
|
|
3400
|
-
|
|
3524
|
+
const arrayColumnsConfig = Object.keys(firstRow).map(key => {
|
|
3525
|
+
var _a, _b;
|
|
3526
|
+
return ({
|
|
3527
|
+
accessor: key,
|
|
3528
|
+
header: key.charAt(0).toUpperCase() + key.slice(1),
|
|
3529
|
+
group: (_b = (_a = this.columnData.find(x => x.accessor === key)) === null || _a === void 0 ? void 0 : _a.group) !== null && _b !== void 0 ? _b : 'ungrouped',
|
|
3530
|
+
});
|
|
3531
|
+
});
|
|
3401
3532
|
if (this.autoGenerateColumns) {
|
|
3402
3533
|
this.parseColumnsArray(arrayColumnsConfig, this.parsedColumns);
|
|
3403
3534
|
}
|
|
@@ -3440,6 +3571,7 @@ const NvDatagrid = class {
|
|
|
3440
3571
|
var _a, _b, _c, _d;
|
|
3441
3572
|
// Clear the previous table instance (if any)
|
|
3442
3573
|
this.table = null;
|
|
3574
|
+
console.info('initializeTable this.columnData:', this.columnData);
|
|
3443
3575
|
// Set default options for the table
|
|
3444
3576
|
const tableOptions = {
|
|
3445
3577
|
columns: [],
|
|
@@ -3498,10 +3630,14 @@ const NvDatagrid = class {
|
|
|
3498
3630
|
if (hasData) {
|
|
3499
3631
|
// No parsed columns and data is available
|
|
3500
3632
|
const firstRow = this.parsedData[0];
|
|
3501
|
-
const arrayColumnsConfig = Object.keys(firstRow).map(key =>
|
|
3502
|
-
|
|
3503
|
-
|
|
3504
|
-
|
|
3633
|
+
const arrayColumnsConfig = Object.keys(firstRow).map(key => {
|
|
3634
|
+
var _a, _b;
|
|
3635
|
+
return ({
|
|
3636
|
+
accessor: key,
|
|
3637
|
+
header: key.charAt(0).toUpperCase() + key.slice(1),
|
|
3638
|
+
group: (_b = (_a = this.columnData.find(x => x.accessor === key)) === null || _a === void 0 ? void 0 : _a.group) !== null && _b !== void 0 ? _b : 'ungrouped',
|
|
3639
|
+
});
|
|
3640
|
+
});
|
|
3505
3641
|
if (this.autoGenerateColumns) {
|
|
3506
3642
|
this.parseColumnsArray(arrayColumnsConfig, this.parsedColumns);
|
|
3507
3643
|
}
|
|
@@ -3525,9 +3661,14 @@ const NvDatagrid = class {
|
|
|
3525
3661
|
}
|
|
3526
3662
|
if (this.enablePagination) {
|
|
3527
3663
|
tableOptions.getPaginationRowModel = getPaginationRowModel();
|
|
3664
|
+
const pageIndex = (_b = (_a = this.paginationState) === null || _a === void 0 ? void 0 : _a.pageIndex) !== null && _b !== void 0 ? _b : 0;
|
|
3665
|
+
let effectivePageSize = (_d = (_c = this.paginationState) === null || _c === void 0 ? void 0 : _c.pageSize) !== null && _d !== void 0 ? _d : 10;
|
|
3666
|
+
if (!this.pageSizes.includes(effectivePageSize) && this.pageSizes) {
|
|
3667
|
+
effectivePageSize = this.pageSizes[0];
|
|
3668
|
+
}
|
|
3528
3669
|
const pagination = {
|
|
3529
|
-
pageIndex:
|
|
3530
|
-
pageSize:
|
|
3670
|
+
pageIndex: pageIndex,
|
|
3671
|
+
pageSize: effectivePageSize,
|
|
3531
3672
|
};
|
|
3532
3673
|
// Set the initial pagination value with safeguards
|
|
3533
3674
|
tableOptions.state.pagination = pagination;
|
|
@@ -3538,6 +3679,33 @@ const NvDatagrid = class {
|
|
|
3538
3679
|
this.paginationState = newPagination;
|
|
3539
3680
|
};
|
|
3540
3681
|
}
|
|
3682
|
+
if (this.enableSorting) {
|
|
3683
|
+
tableOptions.getSortedRowModel = getSortedRowModel();
|
|
3684
|
+
tableOptions.enableSorting = this.enableSorting;
|
|
3685
|
+
tableOptions.state.sorting = this.sorting;
|
|
3686
|
+
tableOptions.onSortingChange = updater => {
|
|
3687
|
+
const newSorting = typeof updater === 'function' ? updater(this.sorting) : updater;
|
|
3688
|
+
this.sorting = newSorting; // Will automatically trigger the searchTerm watcher and update the table
|
|
3689
|
+
};
|
|
3690
|
+
}
|
|
3691
|
+
if (this.enableRowSelection) {
|
|
3692
|
+
tableOptions.state.rowSelection = this.rowSelectionState;
|
|
3693
|
+
tableOptions.onRowSelectionChange = updater => {
|
|
3694
|
+
const newRowSelectionState = typeof updater === 'function'
|
|
3695
|
+
? updater(this.rowSelectionState)
|
|
3696
|
+
: updater;
|
|
3697
|
+
this.rowSelectionState = newRowSelectionState;
|
|
3698
|
+
// Emit the original rows instead of IDs
|
|
3699
|
+
const selectedRows = Object.keys(newRowSelectionState)
|
|
3700
|
+
.filter(rowId => newRowSelectionState[rowId])
|
|
3701
|
+
.map(rowId => {
|
|
3702
|
+
// Assuming rowId corresponds to the index in parsedData
|
|
3703
|
+
const index = parseInt(rowId, 10); // Convert rowId to an integer index
|
|
3704
|
+
return this.parsedData[index]; // Get the original row data
|
|
3705
|
+
});
|
|
3706
|
+
this.selectedRows.emit(selectedRows); // Emit the original rows
|
|
3707
|
+
};
|
|
3708
|
+
}
|
|
3541
3709
|
// Initialize the table
|
|
3542
3710
|
this.table = createTable(tableOptions);
|
|
3543
3711
|
}
|
|
@@ -3572,60 +3740,165 @@ const NvDatagrid = class {
|
|
|
3572
3740
|
};
|
|
3573
3741
|
return checkValue(row.original);
|
|
3574
3742
|
}
|
|
3743
|
+
createIconSpan(checked, indeterminate) {
|
|
3744
|
+
const span = document.createElement('span');
|
|
3745
|
+
span.className = 'icon';
|
|
3746
|
+
if (checked && !indeterminate) {
|
|
3747
|
+
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
|
|
3748
|
+
svg.setAttribute('xmlns', 'http://www.w3.org/2000/svg');
|
|
3749
|
+
svg.setAttribute('width', '14');
|
|
3750
|
+
svg.setAttribute('height', '14');
|
|
3751
|
+
svg.setAttribute('viewBox', '0 0 14 14');
|
|
3752
|
+
svg.setAttribute('fill', 'none');
|
|
3753
|
+
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
|
|
3754
|
+
path.setAttribute('d', 'M11.6667 3.5L5.25004 9.91667L2.33337 7');
|
|
3755
|
+
path.setAttribute('stroke-linecap', 'round');
|
|
3756
|
+
path.setAttribute('stroke-linejoin', 'round');
|
|
3757
|
+
svg.appendChild(path);
|
|
3758
|
+
span.appendChild(svg);
|
|
3759
|
+
}
|
|
3760
|
+
if (indeterminate) {
|
|
3761
|
+
const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
|
|
3762
|
+
svg.classList.add('indeterminate-svg');
|
|
3763
|
+
svg.setAttribute('xmlns', 'http://www.w3.org/2000/svg');
|
|
3764
|
+
svg.setAttribute('viewBox', '0 0 14 14');
|
|
3765
|
+
svg.setAttribute('fill', 'none');
|
|
3766
|
+
const path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
|
|
3767
|
+
path.setAttribute('d', 'M2.9165 7H11.0832');
|
|
3768
|
+
path.setAttribute('stroke-linecap', 'round');
|
|
3769
|
+
path.setAttribute('stroke-linejoin', 'round');
|
|
3770
|
+
svg.appendChild(path);
|
|
3771
|
+
span.appendChild(svg);
|
|
3772
|
+
}
|
|
3773
|
+
return span;
|
|
3774
|
+
}
|
|
3775
|
+
createIndeterminateCheckbox(options = {}) {
|
|
3776
|
+
const { indeterminate, checked = false, disabled = false, className = '', onChange, } = options;
|
|
3777
|
+
const input = document.createElement('input');
|
|
3778
|
+
input.type = 'checkbox';
|
|
3779
|
+
input.checked = checked;
|
|
3780
|
+
input.disabled = disabled;
|
|
3781
|
+
input.className = `${className} cursor-pointer`.trim();
|
|
3782
|
+
if (typeof indeterminate === 'boolean') {
|
|
3783
|
+
input.indeterminate = !checked && indeterminate;
|
|
3784
|
+
}
|
|
3785
|
+
if (onChange) {
|
|
3786
|
+
input.addEventListener('change', onChange);
|
|
3787
|
+
}
|
|
3788
|
+
const iconSpan = this.createIconSpan(checked, indeterminate);
|
|
3789
|
+
const container = document.createElement('div');
|
|
3790
|
+
container.className = 'checkbox-container';
|
|
3791
|
+
container.appendChild(input);
|
|
3792
|
+
container.appendChild(iconSpan);
|
|
3793
|
+
return container;
|
|
3794
|
+
}
|
|
3575
3795
|
// Helper function to generate column definitions
|
|
3576
3796
|
generateColumns(validColumns, tableOptions) {
|
|
3797
|
+
console.info('generateColumns this.columnData:', this.columnData);
|
|
3798
|
+
console.info('generateColumns validColumns:', validColumns);
|
|
3799
|
+
let processedColumns = validColumns || [];
|
|
3577
3800
|
const columnHelper = createColumnHelper();
|
|
3578
|
-
|
|
3579
|
-
|
|
3580
|
-
|
|
3801
|
+
// If no columns provided or autoGenerateColumns is true, generate them from data
|
|
3802
|
+
if ((!validColumns && tableOptions.data && tableOptions.data.length > 0) ||
|
|
3803
|
+
(validColumns.length <= 0 &&
|
|
3804
|
+
tableOptions.data &&
|
|
3805
|
+
tableOptions.data.length > 0)) {
|
|
3806
|
+
const sampleRow = tableOptions.data[0];
|
|
3807
|
+
processedColumns = Object.keys(sampleRow).map(key => {
|
|
3581
3808
|
var _a, _b;
|
|
3582
|
-
return
|
|
3583
|
-
header:
|
|
3584
|
-
|
|
3585
|
-
|
|
3586
|
-
|
|
3587
|
-
|
|
3588
|
-
const cellAccessors = column.accessor;
|
|
3589
|
-
const row = info.row;
|
|
3590
|
-
return ((_a = this.columnData.find(x => x.accessor === cellAccessors)) === null || _a === void 0 ? void 0 : _a.repeatTemplate) && Array.isArray(value)
|
|
3591
|
-
? value.map((item) => {
|
|
3592
|
-
var _a, _b;
|
|
3593
|
-
return (_b = (_a = (this.renderTemplate(this.templateCache.get(cellAccessors), item, row) ||
|
|
3594
|
-
item)) !== null && _a !== void 0 ? _a : value) !== null && _b !== void 0 ? _b : this.fallbackValue;
|
|
3595
|
-
})
|
|
3596
|
-
: (_c = (_b = (this.renderTemplate(this.templateCache.get(cellAccessors), value, row) ||
|
|
3597
|
-
value)) !== null && _b !== void 0 ? _b : value) !== null && _c !== void 0 ? _c : this.fallbackValue;
|
|
3598
|
-
},
|
|
3599
|
-
enableGlobalFilter: this.enableGlobalFilter,
|
|
3809
|
+
return ({
|
|
3810
|
+
header: key.charAt(0).toUpperCase() + key.slice(1),
|
|
3811
|
+
accessor: key,
|
|
3812
|
+
group: (_b = (_a = this.columnData.find(x => x.accessor === key)) === null || _a === void 0 ? void 0 : _a.group) !== null && _b !== void 0 ? _b : 'ungrouped',
|
|
3813
|
+
headerSlot: null,
|
|
3814
|
+
cellSlot: null,
|
|
3600
3815
|
});
|
|
3601
3816
|
});
|
|
3602
3817
|
}
|
|
3603
|
-
|
|
3604
|
-
|
|
3605
|
-
|
|
3606
|
-
|
|
3607
|
-
|
|
3818
|
+
// Group columns by their group property
|
|
3819
|
+
const groupedColumns = processedColumns.reduce((acc, column) => {
|
|
3820
|
+
let group = column.group || 'ungrouped';
|
|
3821
|
+
if (group == 'ungrouped') {
|
|
3822
|
+
group = group + processedColumns.findIndex(x => x == column);
|
|
3823
|
+
}
|
|
3824
|
+
if (!acc[group]) {
|
|
3825
|
+
acc[group] = [];
|
|
3826
|
+
}
|
|
3827
|
+
acc[group].push(column);
|
|
3828
|
+
return acc;
|
|
3829
|
+
}, {});
|
|
3830
|
+
// Transform each column into a ColumnDef
|
|
3831
|
+
const createColumnDef = (column) => {
|
|
3832
|
+
var _a, _b, _c;
|
|
3833
|
+
return columnHelper.accessor(column.accessor, {
|
|
3834
|
+
header: (_c = (_b = this.renderTemplate(this.headerTemplateCache.get(column.accessor), (_a = column.header) !== null && _a !== void 0 ? _a : column.accessor, null)) !== null && _b !== void 0 ? _b : column.header) !== null && _c !== void 0 ? _c : column.accessor,
|
|
3608
3835
|
cell: (info) => {
|
|
3609
3836
|
var _a, _b, _c;
|
|
3610
3837
|
const value = info.getValue();
|
|
3611
|
-
const cellAccessors = key;
|
|
3612
3838
|
const row = info.row;
|
|
3613
|
-
return ((_a = this.columnData.find(x => x.accessor ===
|
|
3839
|
+
return ((_a = this.columnData.find(x => x.accessor === column.accessor)) === null || _a === void 0 ? void 0 : _a.repeatTemplate) && Array.isArray(value)
|
|
3614
3840
|
? value.map((item) => {
|
|
3615
|
-
var _a, _b;
|
|
3616
|
-
return (_b = (_a =
|
|
3617
|
-
item)) !== null && _a !== void 0 ? _a : value) !== null && _b !== void 0 ? _b : this.fallbackValue;
|
|
3841
|
+
var _a, _b, _c;
|
|
3842
|
+
return (_c = (_b = (_a = this.renderTemplate(this.templateCache.get(column.accessor), item, row)) !== null && _a !== void 0 ? _a : item) !== null && _b !== void 0 ? _b : value) !== null && _c !== void 0 ? _c : this.fallbackValue;
|
|
3618
3843
|
})
|
|
3619
|
-
: (_c = (_b =
|
|
3620
|
-
value)) !== null && _b !== void 0 ? _b : value) !== null && _c !== void 0 ? _c : this.fallbackValue;
|
|
3844
|
+
: (_c = (_b = this.renderTemplate(this.templateCache.get(column.accessor), value, row)) !== null && _b !== void 0 ? _b : value) !== null && _c !== void 0 ? _c : this.fallbackValue;
|
|
3621
3845
|
},
|
|
3622
|
-
|
|
3623
|
-
|
|
3624
|
-
|
|
3625
|
-
|
|
3626
|
-
|
|
3627
|
-
|
|
3846
|
+
sortUndefined: 'last',
|
|
3847
|
+
sortDescFirst: false,
|
|
3848
|
+
enableSorting: this.enableSorting, // Explicitly set enableSorting based on the sorting prop
|
|
3849
|
+
enableGlobalFilter: this.enableGlobalFilter, // Explicity set enableGlobalFilter based on the globalFiltering prop
|
|
3850
|
+
});
|
|
3851
|
+
};
|
|
3852
|
+
// Create the final column structure
|
|
3853
|
+
let generatedColumns = Object.entries(groupedColumns)
|
|
3854
|
+
.map(([groupName, groupColumns]) => {
|
|
3855
|
+
if (groupName.includes('ungrouped')) {
|
|
3856
|
+
return groupColumns.map(createColumnDef);
|
|
3857
|
+
}
|
|
3858
|
+
return {
|
|
3859
|
+
id: groupName,
|
|
3860
|
+
header: groupName,
|
|
3861
|
+
columns: groupColumns.map(createColumnDef),
|
|
3862
|
+
enableSorting: this.enableSorting, // Also apply to column groups
|
|
3863
|
+
enableGlobalFilter: this.enableGlobalFilter, // Also apply to column groups
|
|
3864
|
+
};
|
|
3865
|
+
})
|
|
3866
|
+
.flat();
|
|
3867
|
+
if (this.enableRowSelection) {
|
|
3868
|
+
const rowSelection = columnHelper.accessor('select', {
|
|
3869
|
+
header: ({ table }) => {
|
|
3870
|
+
return (h("div", { class: "flex px-1", ref: el => {
|
|
3871
|
+
const checkbox = this.createIndeterminateCheckbox({
|
|
3872
|
+
checked: table === null || table === void 0 ? void 0 : table.getIsAllRowsSelected(),
|
|
3873
|
+
indeterminate: table === null || table === void 0 ? void 0 : table.getIsSomeRowsSelected(),
|
|
3874
|
+
onChange: table === null || table === void 0 ? void 0 : table.getToggleAllRowsSelectedHandler(),
|
|
3875
|
+
});
|
|
3876
|
+
if (el) {
|
|
3877
|
+
el.innerHTML = ''; // Remove existing content
|
|
3878
|
+
el.appendChild(checkbox); // Append new checkbox
|
|
3879
|
+
}
|
|
3880
|
+
} }));
|
|
3881
|
+
},
|
|
3882
|
+
cell: ({ row }) => {
|
|
3883
|
+
return (h("div", { class: "flex px-1", ref: el => {
|
|
3884
|
+
const checkbox = this.createIndeterminateCheckbox({
|
|
3885
|
+
checked: row === null || row === void 0 ? void 0 : row.getIsSelected(),
|
|
3886
|
+
disabled: !(row === null || row === void 0 ? void 0 : row.getCanSelect()),
|
|
3887
|
+
indeterminate: row === null || row === void 0 ? void 0 : row.getIsSomeSelected(),
|
|
3888
|
+
onChange: row === null || row === void 0 ? void 0 : row.getToggleSelectedHandler(),
|
|
3889
|
+
});
|
|
3890
|
+
if (el) {
|
|
3891
|
+
el.innerHTML = ''; // Remove existing content
|
|
3892
|
+
el.appendChild(checkbox); // Append new checkbox
|
|
3893
|
+
}
|
|
3894
|
+
} }));
|
|
3895
|
+
},
|
|
3896
|
+
enableGlobalFilter: false,
|
|
3897
|
+
enableSorting: false,
|
|
3898
|
+
});
|
|
3899
|
+
generatedColumns = [rowSelection, ...generatedColumns];
|
|
3628
3900
|
}
|
|
3901
|
+
return generatedColumns;
|
|
3629
3902
|
}
|
|
3630
3903
|
getTableData() {
|
|
3631
3904
|
if (this.parsedData &&
|
|
@@ -3873,35 +4146,55 @@ const NvDatagrid = class {
|
|
|
3873
4146
|
});
|
|
3874
4147
|
}
|
|
3875
4148
|
}
|
|
4149
|
+
getArrowSorting(header) {
|
|
4150
|
+
if (!header.column.getCanSort())
|
|
4151
|
+
return null;
|
|
4152
|
+
const sortState = header.column.getIsSorted();
|
|
4153
|
+
if (sortState === SortingPossibility.Asc) {
|
|
4154
|
+
return (h("div", { class: "inline-flex align-middle" }, h("nv-icon", { name: "arrow-up" })));
|
|
4155
|
+
}
|
|
4156
|
+
if (sortState === SortingPossibility.Desc) {
|
|
4157
|
+
return (h("div", { class: "inline-flex align-middle" }, h("nv-icon", { name: "arrow-down" })));
|
|
4158
|
+
}
|
|
4159
|
+
return null;
|
|
4160
|
+
}
|
|
4161
|
+
getHeaderCell(header) {
|
|
4162
|
+
const isSortable = header.column.getCanSort();
|
|
4163
|
+
const sortTitle = this.getSortTitle(header);
|
|
4164
|
+
const content = header.isPlaceholder
|
|
4165
|
+
? null
|
|
4166
|
+
: header.column.columnDef.header
|
|
4167
|
+
? this.flexRender(header.column.columnDef.header, header.getContext())
|
|
4168
|
+
: null; // Ensure content is not null
|
|
4169
|
+
const sortIcon = this.getArrowSorting(header);
|
|
4170
|
+
const handleClick = this.createSortingClickHandler(header);
|
|
4171
|
+
if (this.enableRowSelection) {
|
|
4172
|
+
return (h("th", { key: header.id, colSpan: header.colSpan }, content, " "));
|
|
4173
|
+
}
|
|
4174
|
+
const returnHtml = (h("th", { key: header.id, colSpan: header.colSpan }, h("button", { type: "button", class: isSortable
|
|
4175
|
+
? 'w-full text-left cursor-pointer select-none bg-transparent border-none p-0 m-0 focus:outline-none'
|
|
4176
|
+
: 'w-full text-left bg-transparent border-none p-0 m-0 cursor-default', onClick: handleClick, title: sortTitle }, h("span", { class: "inline-flex items-center gap-1" }, content, sortIcon))));
|
|
4177
|
+
return returnHtml;
|
|
4178
|
+
}
|
|
4179
|
+
// 👇 Helper method to avoid arrow function in JSX
|
|
4180
|
+
createSortingClickHandler(header) {
|
|
4181
|
+
return (e) => {
|
|
4182
|
+
this.handleSortingClick(e, header);
|
|
4183
|
+
};
|
|
4184
|
+
}
|
|
4185
|
+
getPagination() {
|
|
4186
|
+
var _a;
|
|
4187
|
+
return (this.enablePagination && (h("div", { class: "flex items-center gap-2" }, h("button", { class: "border rounded p-1", disabled: !this.table.getCanPreviousPage(), onClick: this.table.firstPage }, "<<"), h("button", { class: "border rounded p-1", disabled: !this.table.getCanPreviousPage(), onClick: this.table.previousPage }, "<"), h("button", { class: "border rounded p-1", disabled: !this.table.getCanNextPage(), onClick: this.table.nextPage }, ">"), h("button", { class: "border rounded p-1", disabled: !this.table.getCanNextPage(), onClick: this.table.lastPage }, ">>"), h("span", { class: "flex items-center gap-1" }, h("div", null, "Page"), h("strong", null, this.table.getState().pagination.pageIndex + 1, " of", ' ', this.table.getPageCount().toLocaleString())), h("span", { class: "flex items-center gap-1" }, "| Go to page:", ' ', h("input", { type: "number", min: this.minPageIndex, max: this.table.getPageCount(), value: this.table.getState().pagination.pageIndex + 1, class: "border p-1 rounded w-16", "aria-label": "Go to page", onInput: this.handlePageIndexChange })), ((_a = this.pageSizes) === null || _a === void 0 ? void 0 : _a.length) > 0 && (h("select", { "aria-label": "Rows per page", onChange: this.handlePageSizeChange }, this.pageSizes.map(pageSize => (h("option", { value: String(pageSize), selected: this.table.getState().pagination.pageSize === pageSize }, "Show ", pageSize))))))));
|
|
4188
|
+
}
|
|
3876
4189
|
//#endregion METHODS
|
|
3877
4190
|
/****************************************************************************/
|
|
3878
4191
|
//#region WATCHERS
|
|
3879
4192
|
parseColumns(newValue, oldValue = []) {
|
|
3880
4193
|
this.parseColumnsArray(newValue, oldValue);
|
|
3881
4194
|
}
|
|
3882
|
-
parseJsonColumns(newValue, oldValue) {
|
|
3883
|
-
try {
|
|
3884
|
-
const newItems = newValue ? JSON.parse(newValue) : [];
|
|
3885
|
-
this.parseColumnsArray(newItems, oldValue);
|
|
3886
|
-
}
|
|
3887
|
-
catch (e) {
|
|
3888
|
-
console.error('Invalid JSON format for columnsJson:', e.message);
|
|
3889
|
-
this.parsedColumns = [];
|
|
3890
|
-
}
|
|
3891
|
-
}
|
|
3892
4195
|
parseData(newValue, oldValue = []) {
|
|
3893
4196
|
this.parseDataArray(newValue, oldValue);
|
|
3894
4197
|
}
|
|
3895
|
-
parseJsonData(newValue) {
|
|
3896
|
-
try {
|
|
3897
|
-
const newItems = newValue ? JSON.parse(newValue) : [];
|
|
3898
|
-
this.parseDataArray(newItems, this.parsedData);
|
|
3899
|
-
}
|
|
3900
|
-
catch (e) {
|
|
3901
|
-
console.error('Invalid JSON format for dataJson:', e.message);
|
|
3902
|
-
this.parsedData = [];
|
|
3903
|
-
}
|
|
3904
|
-
}
|
|
3905
4198
|
handleParsedChange() {
|
|
3906
4199
|
this.initializeTable();
|
|
3907
4200
|
}
|
|
@@ -3930,6 +4223,39 @@ const NvDatagrid = class {
|
|
|
3930
4223
|
this.table.options.state.pagination = newValue;
|
|
3931
4224
|
}
|
|
3932
4225
|
}
|
|
4226
|
+
handleSorting(newValue) {
|
|
4227
|
+
if (!this.table) {
|
|
4228
|
+
console.warn('Table is not initialized yet.');
|
|
4229
|
+
return;
|
|
4230
|
+
}
|
|
4231
|
+
// Not working
|
|
4232
|
+
/*// Set the sorting for the table
|
|
4233
|
+
this.table.setSorting(newValue);*/
|
|
4234
|
+
// Manually update the sorting state
|
|
4235
|
+
this.table.options.state.sorting = newValue;
|
|
4236
|
+
}
|
|
4237
|
+
handlePageSize(newValue) {
|
|
4238
|
+
let effectivePageSize = newValue;
|
|
4239
|
+
if (!this.pageSizes.includes(effectivePageSize) && this.pageSizes) {
|
|
4240
|
+
effectivePageSize = this.pageSizes[0];
|
|
4241
|
+
}
|
|
4242
|
+
// Simply use `setPageSize` to update the page size directly
|
|
4243
|
+
this.paginationState = Object.assign(Object.assign({}, this.paginationState), { pageSize: effectivePageSize }); // This triggers the paginationState watcher
|
|
4244
|
+
}
|
|
4245
|
+
handleRowSelectionState(newValue, oldValue) {
|
|
4246
|
+
if (!this.table) {
|
|
4247
|
+
console.warn('Table is not initialized yet.');
|
|
4248
|
+
return;
|
|
4249
|
+
}
|
|
4250
|
+
// Only update if there is a meaningful change
|
|
4251
|
+
if (JSON.stringify(newValue) !== JSON.stringify(oldValue)) {
|
|
4252
|
+
// Not working
|
|
4253
|
+
/*// Set the rowSelection for the table
|
|
4254
|
+
this.table.setRowSelection(newValue);*/
|
|
4255
|
+
// Manually update the row selection state
|
|
4256
|
+
this.table.options.state.rowSelection = newValue;
|
|
4257
|
+
}
|
|
4258
|
+
}
|
|
3933
4259
|
//#endregion WATCHERS
|
|
3934
4260
|
/****************************************************************************/
|
|
3935
4261
|
//#region LIFECYCLE
|
|
@@ -3939,7 +4265,10 @@ const NvDatagrid = class {
|
|
|
3939
4265
|
this.initializeTable();
|
|
3940
4266
|
if (this.enablePagination) {
|
|
3941
4267
|
// Ensure a valid page size
|
|
3942
|
-
|
|
4268
|
+
let effectivePageSize = this.pageSize > 0 ? this.pageSize : 10;
|
|
4269
|
+
if (!this.pageSizes.includes(effectivePageSize) && this.pageSizes) {
|
|
4270
|
+
effectivePageSize = this.pageSizes[0];
|
|
4271
|
+
}
|
|
3943
4272
|
this.paginationState = {
|
|
3944
4273
|
pageIndex: Math.max(0, this.minPageIndex - 1),
|
|
3945
4274
|
pageSize: effectivePageSize,
|
|
@@ -3957,11 +4286,9 @@ const NvDatagrid = class {
|
|
|
3957
4286
|
const rows = !this.table || this.table === undefined || this.parsedData.length === 0
|
|
3958
4287
|
? []
|
|
3959
4288
|
: (_c = (_b = this.table) === null || _b === void 0 ? void 0 : _b.getRowModel()) === null || _c === void 0 ? void 0 : _c.rows;
|
|
3960
|
-
return (h(Host, { key: '
|
|
4289
|
+
return (h(Host, { key: '90be657fa9c7f8755391f8d91418399de742ae1f' }, h("div", { key: 'f28596438b7c9c22b34789236c5faa644938d1dc', class: "hidden" }, h("slot", { key: 'fdc1670cc6bafb5f1efa8c63d41acbfd15659de6' })), h("slot", { key: '65afa2282af4842bcb23f8baa592545fe3b74fa3', name: "before" }), this.enableGlobalFilter && this.table && (h("div", { key: '8628a23712471690b6a6239a289dd8263aed423c', class: `search-container justify-${this.globalFilterPosition}` }, h("nv-fieldtext", { key: '42c56dd6ba426e2045c02b3754fae3562632c49f', value: this.globalFilterSearchTerm, onInput: this.handleGlobalFilteringOnInput, placeholder: "Search all columns..." }))), this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (h("div", { class: "no-data" }, this.noColumnsNoDataMessage)) : (h("div", null, h("table", null, this.parsedColumns.length > 0 && headerGroups.length > 0 && (h("thead", null, this.parsedColumns.length > 0 && headerGroups
|
|
3961
4290
|
? headerGroups === null || headerGroups === void 0 ? void 0 : headerGroups.map(headerGroup => (h("tr", { key: headerGroup.id }, headerGroup.headers.map(header => {
|
|
3962
|
-
return (
|
|
3963
|
-
? null
|
|
3964
|
-
: this.flexRender(header.column.columnDef.header, header.getContext())));
|
|
4291
|
+
return this.getHeaderCell(header);
|
|
3965
4292
|
}))))
|
|
3966
4293
|
: null)), h("tbody", null, !rows || rows.length === 0 || this.parsedData.length === 0 ? (h("tr", null, h("td", { colSpan: this.parsedColumns.length || 12, class: "no-data" }, this.noDataMessage))) : (rows.map(row => {
|
|
3967
4294
|
const rowId = row.id;
|
|
@@ -3969,18 +4296,20 @@ const NvDatagrid = class {
|
|
|
3969
4296
|
return (h("tr", { key: rowId }, visibleCells.map(cell => {
|
|
3970
4297
|
return (h("td", { key: cell.id, "data-row-id": rowId }, this.flexRender(cell.column.columnDef.cell, cell.getContext())));
|
|
3971
4298
|
})));
|
|
3972
|
-
})))
|
|
4299
|
+
}))), this.table && this.enableRowSelection ? (h("tfoot", null, h("tr", null, h("td", { colSpan: 20 }, this.enableRowSelection && this.table ? (h("div", null, this.rowSelectionState &&
|
|
4300
|
+
Object.keys(this.rowSelectionState).length > 0 ? (h("span", null, Object.keys(this.rowSelectionState).length, " of", ' ', ((_e = (_d = this.table.getPreFilteredRowModel()) === null || _d === void 0 ? void 0 : _d.rows) === null || _e === void 0 ? void 0 : _e.length) || 0, ' ', "Total Rows Selected")) : (h("span", null, "No rows selected")))) : null)))) : null), this.getPagination())), h("slot", { key: 'e1641d8fd103b0802e1df4f0848f0de921260065', name: "after" })));
|
|
3973
4301
|
}
|
|
3974
4302
|
get el() { return getElement(this); }
|
|
3975
4303
|
static get watchers() { return {
|
|
3976
4304
|
"columns": ["parseColumns"],
|
|
3977
|
-
"columnsJson": ["parseJsonColumns"],
|
|
3978
4305
|
"data": ["parseData"],
|
|
3979
|
-
"dataJson": ["parseJsonData"],
|
|
3980
4306
|
"parsedColumns": ["handleParsedChange"],
|
|
3981
4307
|
"parsedData": ["handleParsedChange"],
|
|
3982
4308
|
"globalFilterSearchTerm": ["handleGlobalFilterSearchTerm"],
|
|
3983
|
-
"paginationState": ["handlePaginationState"]
|
|
4309
|
+
"paginationState": ["handlePaginationState"],
|
|
4310
|
+
"sorting": ["handleSorting"],
|
|
4311
|
+
"pageSize": ["handlePageSize"],
|
|
4312
|
+
"rowSelectionState": ["handleRowSelectionState"]
|
|
3984
4313
|
}; }
|
|
3985
4314
|
};
|
|
3986
4315
|
NvDatagrid.style = NvDatagridStyle0;
|