@nova-design-system/nova-webcomponents 3.0.0 → 3.1.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 +4 -4
- package/dist/cjs/index.cjs.js +4 -471
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/native.cjs.js +1 -1
- package/dist/cjs/nv-alert.cjs.entry.js +5 -5
- package/dist/cjs/nv-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-avatar.cjs.entry.js +1 -1
- package/dist/cjs/nv-badge_2.cjs.entry.js +17 -8
- package/dist/cjs/nv-badge_2.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-button.cjs.entry.js +1 -1
- package/dist/cjs/nv-calendar.cjs.entry.js +841 -842
- package/dist/cjs/nv-calendar.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-datagrid.cjs.entry.js +376 -39
- package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-dialog.cjs.entry.js +18 -12
- package/dist/cjs/nv-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +1 -1
- package/dist/cjs/nv-fielddate.cjs.entry.js +8 -17
- package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddaterange.cjs.entry.js +26 -28
- package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fielddropdown.cjs.entry.js +12 -5
- 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 +10 -4
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldnumber.cjs.entry.js +8 -4
- package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldpassword.cjs.entry.js +8 -4
- package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldradio.cjs.entry.js +3 -3
- package/dist/cjs/nv-fieldselect.cjs.entry.js +10 -6
- package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldtext.cjs.entry.js +8 -4
- package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js +8 -4
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-fieldtime.cjs.entry.js +15 -12
- 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 +2 -2
- package/dist/cjs/nv-menu.cjs.entry.js +3 -1
- package/dist/cjs/nv-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-menuitem.cjs.entry.js +1 -1
- package/dist/cjs/nv-popover.cjs.entry.js +1 -1
- package/dist/cjs/nv-row.cjs.entry.js +1 -1
- package/dist/cjs/nv-stack.cjs.entry.js +1 -1
- package/dist/cjs/nv-table.cjs.entry.js +2 -2
- package/dist/cjs/nv-table.cjs.entry.js.map +1 -1
- package/dist/cjs/nv-toggle.cjs.entry.js +2 -2
- package/dist/cjs/nv-tooltip.cjs.entry.js +1 -1
- 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 +19 -0
- 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 +680 -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 +103 -5
- package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +1 -1
- package/dist/collection/components/nv-datagrid/nv-datagrid.js +391 -56
- package/dist/collection/components/nv-datagrid/nv-datagrid.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 +7 -0
- 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 +75 -64
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +1 -1
- package/dist/collection/components/nv-fielddaterange/styles/nv-fielddaterange.css +13 -11
- 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 +31 -4
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
- package/dist/collection/components/nv-fielddropdown/styles/nv-fielddropdown.css +5 -0
- 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.css +24 -0
- 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 +29 -3
- package/dist/collection/components/nv-fieldmultiselect/nv-fieldmultiselect.js.map +1 -1
- package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.css +5 -0
- 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 +5 -0
- 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 +5 -0
- 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-fieldtext/nv-fieldtext.css +5 -0
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +8 -0
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +1 -1
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +27 -3
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +1 -1
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.css +23 -0
- 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 +19 -2
- package/dist/collection/components/nv-icon/nv-icon.js +1 -1
- package/dist/collection/components/nv-icon/nv-icons.js +3 -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.js +1 -1
- package/dist/collection/index.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 +4 -471
- package/dist/components/index.js.map +1 -1
- package/dist/components/nv-alert.js +6 -6
- package/dist/components/nv-alert.js.map +1 -1
- package/dist/components/nv-avatar.js +2 -2
- package/dist/components/nv-badge.js +1 -1
- package/dist/components/nv-breadcrumb.js +2 -2
- package/dist/components/nv-button.js +1 -1
- package/dist/components/nv-calendar.js +1 -1
- package/dist/components/nv-datagrid.js +400 -43
- package/dist/components/nv-datagrid.js.map +1 -1
- package/dist/components/nv-dialog.js +22 -16
- package/dist/components/nv-dialog.js.map +1 -1
- package/dist/components/nv-dialogfooter.js +1 -1
- package/dist/components/nv-fielddate.js +18 -26
- package/dist/components/nv-fielddate.js.map +1 -1
- package/dist/components/nv-fielddaterange.js +37 -38
- package/dist/components/nv-fielddaterange.js.map +1 -1
- package/dist/components/nv-fielddropdown.js +18 -10
- 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 +17 -10
- package/dist/components/nv-fieldmultiselect.js.map +1 -1
- package/dist/components/nv-fieldnumber.js +13 -8
- package/dist/components/nv-fieldnumber.js.map +1 -1
- package/dist/components/nv-fieldpassword.js +12 -7
- package/dist/components/nv-fieldpassword.js.map +1 -1
- package/dist/components/nv-fieldradio.js +3 -3
- package/dist/components/nv-fieldselect.js +14 -9
- package/dist/components/nv-fieldselect.js.map +1 -1
- package/dist/components/nv-fieldtext.js +1 -158
- package/dist/components/nv-fieldtext.js.map +1 -1
- package/dist/components/nv-fieldtextarea.js +10 -5
- package/dist/components/nv-fieldtextarea.js.map +1 -1
- package/dist/components/nv-fieldtime.js +19 -16
- 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 +6 -4
- 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 +1 -1
- package/dist/components/nv-stack.js +1 -1
- package/dist/components/nv-table.js +2 -2
- package/dist/components/nv-table.js.map +1 -1
- package/dist/components/nv-toggle.js +2 -2
- package/dist/components/nv-tooltip.js +1 -1
- package/dist/components/p-0a0f6daf.js +187 -0
- package/dist/components/p-0a0f6daf.js.map +1 -0
- package/dist/components/{p-b7b78e64.js → p-10b37876.js} +2 -2
- package/dist/components/{p-b7b78e64.js.map → p-10b37876.js.map} +1 -1
- package/dist/components/{p-dc3faba3.js → p-10faa938.js} +4 -4
- package/dist/components/{p-dc3faba3.js.map → p-10faa938.js.map} +1 -1
- package/dist/{esm/constants-98e2dcc2.js → components/p-1f505531.js} +15 -2
- package/dist/components/p-1f505531.js.map +1 -0
- package/dist/components/{p-2012b8ba.js → p-35a70c5e.js} +2 -2
- package/dist/components/{p-2012b8ba.js.map → p-35a70c5e.js.map} +1 -1
- package/dist/components/{p-6c364a23.js → p-41c56ddc.js} +5 -5
- package/dist/components/{p-6c364a23.js.map → p-41c56ddc.js.map} +1 -1
- package/dist/components/{p-a30b55fc.js → p-608eb9da.js} +2 -2
- package/dist/components/{p-a30b55fc.js.map → p-608eb9da.js.map} +1 -1
- package/dist/components/p-76646ce9.js +88 -0
- package/dist/components/p-76646ce9.js.map +1 -0
- package/dist/components/p-854c32dc.js +1132 -0
- package/dist/components/p-854c32dc.js.map +1 -0
- package/dist/components/p-9decffb6.js +167 -0
- package/dist/components/p-9decffb6.js.map +1 -0
- package/dist/components/{p-2d9ba7d3.js → p-a2527411.js} +3 -3
- package/dist/components/{p-2d9ba7d3.js.map → p-a2527411.js.map} +1 -1
- package/dist/components/{p-f4d86795.js → p-b48d5a94.js} +3 -3
- package/dist/components/{p-f4d86795.js.map → p-b48d5a94.js.map} +1 -1
- package/dist/components/{p-4d3ec142.js → p-eb632278.js} +3 -3
- package/dist/components/{p-4d3ec142.js.map → p-eb632278.js.map} +1 -1
- package/dist/components/{p-150daf68.js → p-f5cb0a63.js} +2 -2
- package/dist/components/{p-150daf68.js.map → p-f5cb0a63.js.map} +1 -1
- package/dist/components/{p-c14f6b8e.js → p-f76bb0c3.js} +3 -3
- package/dist/components/{p-c14f6b8e.js.map → p-f76bb0c3.js.map} +1 -1
- package/dist/{components/p-8348db09.js → esm/constants-b97e736d.js} +15 -2
- package/dist/esm/constants-b97e736d.js.map +1 -0
- package/dist/esm/index-1fb7a9a6.js +4 -4
- package/dist/esm/index.js +4 -471
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/native.js +1 -1
- package/dist/esm/nv-alert.entry.js +5 -5
- package/dist/esm/nv-alert.entry.js.map +1 -1
- package/dist/esm/nv-avatar.entry.js +1 -1
- package/dist/esm/nv-badge_2.entry.js +17 -8
- package/dist/esm/nv-badge_2.entry.js.map +1 -1
- package/dist/esm/nv-button.entry.js +1 -1
- package/dist/esm/nv-calendar.entry.js +841 -842
- package/dist/esm/nv-calendar.entry.js.map +1 -1
- package/dist/esm/nv-datagrid.entry.js +376 -39
- package/dist/esm/nv-datagrid.entry.js.map +1 -1
- package/dist/esm/nv-dialog.entry.js +18 -12
- package/dist/esm/nv-dialog.entry.js.map +1 -1
- package/dist/esm/nv-dialogfooter_2.entry.js +1 -1
- package/dist/esm/nv-fielddate.entry.js +8 -17
- package/dist/esm/nv-fielddate.entry.js.map +1 -1
- package/dist/esm/nv-fielddaterange.entry.js +26 -28
- package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
- package/dist/esm/nv-fielddropdown.entry.js +12 -5
- 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 +10 -4
- package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
- package/dist/esm/nv-fieldnumber.entry.js +8 -4
- package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
- package/dist/esm/nv-fieldpassword.entry.js +8 -4
- package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
- package/dist/esm/nv-fieldradio.entry.js +3 -3
- package/dist/esm/nv-fieldselect.entry.js +10 -6
- package/dist/esm/nv-fieldselect.entry.js.map +1 -1
- package/dist/esm/nv-fieldtext.entry.js +8 -4
- package/dist/esm/nv-fieldtext.entry.js.map +1 -1
- package/dist/esm/nv-fieldtextarea.entry.js +8 -4
- package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
- package/dist/esm/nv-fieldtime.entry.js +15 -12
- package/dist/esm/nv-fieldtime.entry.js.map +1 -1
- package/dist/esm/nv-icon.entry.js +3 -3
- package/dist/esm/nv-icon.entry.js.map +1 -1
- package/dist/esm/nv-iconbutton_2.entry.js +2 -2
- package/dist/esm/nv-menu.entry.js +3 -1
- package/dist/esm/nv-menu.entry.js.map +1 -1
- package/dist/esm/nv-menuitem.entry.js +1 -1
- package/dist/esm/nv-popover.entry.js +1 -1
- package/dist/esm/nv-row.entry.js +1 -1
- package/dist/esm/nv-stack.entry.js +1 -1
- package/dist/esm/nv-table.entry.js +2 -2
- package/dist/esm/nv-table.entry.js.map +1 -1
- package/dist/esm/nv-toggle.entry.js +2 -2
- package/dist/esm/nv-tooltip.entry.js +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-b094296d.entry.js → p-08a75cfa.entry.js} +2 -2
- package/dist/native/{p-d5cbf5c8.entry.js → p-14c07207.entry.js} +2 -2
- package/dist/native/p-1da72182.entry.js +2 -0
- package/dist/native/p-1da72182.entry.js.map +1 -0
- package/dist/native/p-2523eead.entry.js +2 -0
- package/dist/native/p-2523eead.entry.js.map +1 -0
- package/dist/native/p-3953464e.entry.js +7 -0
- package/dist/native/p-3953464e.entry.js.map +1 -0
- package/dist/native/{p-701b5557.entry.js → p-3b7ef609.entry.js} +2 -2
- package/dist/native/{p-63e6aed3.entry.js → p-3cd77d82.entry.js} +2 -2
- package/dist/native/p-3cd77d82.entry.js.map +1 -0
- package/dist/native/p-470588c2.entry.js +13 -0
- package/dist/native/p-470588c2.entry.js.map +1 -0
- package/dist/native/p-49cac014.entry.js +2 -0
- package/dist/native/p-49cac014.entry.js.map +1 -0
- package/dist/native/p-4d164ed6.entry.js +2 -0
- package/dist/native/p-4d164ed6.entry.js.map +1 -0
- package/dist/native/p-4e635fa7.entry.js +2 -0
- package/dist/native/p-4e635fa7.entry.js.map +1 -0
- package/dist/native/p-5d21532a.entry.js +2 -0
- package/dist/native/p-5d21532a.entry.js.map +1 -0
- package/dist/native/{p-39bb95ff.entry.js → p-615947e7.entry.js} +2 -2
- package/dist/native/{p-bad11367.entry.js → p-656c56f0.entry.js} +2 -2
- package/dist/native/p-656c56f0.entry.js.map +1 -0
- package/dist/native/{p-fa77a591.entry.js → p-7042ba8a.entry.js} +2 -2
- package/dist/native/p-7e154bfd.entry.js +2 -0
- package/dist/native/p-7e154bfd.entry.js.map +1 -0
- package/dist/native/p-7eba904e.entry.js +2 -0
- package/dist/native/p-7eba904e.entry.js.map +1 -0
- package/dist/native/{p-6b348684.entry.js → p-7fd4d13d.entry.js} +2 -2
- package/dist/native/{p-fb5bddba.entry.js → p-90e6d9dd.entry.js} +2 -2
- package/dist/native/p-ae7ab110.entry.js +2 -0
- package/dist/native/p-ae7ab110.entry.js.map +1 -0
- package/dist/native/{p-f85aca27.entry.js → p-b8b6875d.entry.js} +2 -2
- package/dist/native/p-b94d9f0b.entry.js +2 -0
- package/dist/native/p-b94d9f0b.entry.js.map +1 -0
- package/dist/native/p-c0f79bac.entry.js +2 -0
- package/dist/native/p-c0f79bac.entry.js.map +1 -0
- package/dist/native/{p-6ff228da.entry.js → p-c67186f8.entry.js} +2 -2
- package/dist/native/{p-eee01062.entry.js → p-c71c6f23.entry.js} +2 -2
- package/dist/native/p-d9a52884.entry.js +2 -0
- package/dist/native/p-d9a52884.entry.js.map +1 -0
- package/dist/native/{p-d7a76400.entry.js → p-efe6a46c.entry.js} +2 -2
- package/dist/native/p-f2ef6771.entry.js +2 -0
- package/dist/native/p-f5f68992.entry.js +2 -0
- package/dist/native/p-f5f68992.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-fc97f071.entry.js +2 -0
- package/dist/native/p-fc97f071.entry.js.map +1 -0
- 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 +69 -107
- 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 -10
- 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 +13 -12
- package/dist/types/components/nv-fielddropdown/nv-fielddropdown.d.ts +4 -0
- package/dist/types/components/nv-fieldmultiselect/nv-fieldmultiselect.d.ts +4 -0
- 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-fieldtext/nv-fieldtext.d.ts +4 -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 +269 -116
- package/dist/types/index.d.ts +0 -2
- package/dist/types/utils/constants.d.ts +9 -0
- package/dist/vscode-data.json +221 -1587
- package/hydrate/index.js +1466 -1063
- package/hydrate/index.mjs +1466 -1063
- package/package.json +1 -1
- package/dist/cjs/constants-bcd6b2e2.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-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-f331117c.js +0 -1133
- package/dist/components/p-f331117c.js.map +0 -1
- package/dist/esm/constants-98e2dcc2.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-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-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-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-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-b094296d.entry.js.map → p-08a75cfa.entry.js.map} +0 -0
- /package/dist/native/{p-d5cbf5c8.entry.js.map → p-14c07207.entry.js.map} +0 -0
- /package/dist/native/{p-701b5557.entry.js.map → p-3b7ef609.entry.js.map} +0 -0
- /package/dist/native/{p-39bb95ff.entry.js.map → p-615947e7.entry.js.map} +0 -0
- /package/dist/native/{p-fa77a591.entry.js.map → p-7042ba8a.entry.js.map} +0 -0
- /package/dist/native/{p-6b348684.entry.js.map → p-7fd4d13d.entry.js.map} +0 -0
- /package/dist/native/{p-fb5bddba.entry.js.map → p-90e6d9dd.entry.js.map} +0 -0
- /package/dist/native/{p-f85aca27.entry.js.map → p-b8b6875d.entry.js.map} +0 -0
- /package/dist/native/{p-6ff228da.entry.js.map → p-c67186f8.entry.js.map} +0 -0
- /package/dist/native/{p-eee01062.entry.js.map → p-c71c6f23.entry.js.map} +0 -0
- /package/dist/native/{p-d7a76400.entry.js.map → p-efe6a46c.entry.js.map} +0 -0
- /package/dist/native/{p-2691e02d.entry.js.map → p-f2ef6771.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nv-icons.js","sourceRoot":"","sources":["../../../src/components/nv-icon/nv-icons.ts"],"names":[],"mappings":"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","sourcesContent":["/** Available icons */\n\nexport const iconNames = [\n 'access-point-off',\n 'access-point',\n 'accessible',\n 'activity',\n 'address-book',\n 'adjustments-horizontal',\n 'adjustments-up',\n 'adjustments',\n 'affiliate',\n 'air-conditioning',\n 'alert-circle',\n 'align-center',\n 'align-left',\n 'align-right',\n 'app-window',\n 'apps',\n 'archive',\n 'areas',\n 'arrow-back-up',\n 'arrow-back',\n 'arrow-down-left',\n 'arrow-down-right',\n 'arrow-down',\n 'arrow-forward-up',\n 'arrow-forward',\n 'arrow-left',\n 'arrow-right',\n 'arrow-up-left',\n 'arrow-up-right',\n 'arrow-up',\n 'arrows-exchange',\n 'arrows-move',\n 'aspect-ratio',\n 'atom',\n 'badge-theme',\n 'basket',\n 'battery-1',\n 'battery-2',\n 'battery-3',\n 'battery-4',\n 'battery-automotive',\n 'battery-charging',\n 'battery-eco',\n 'battery-off',\n 'battery',\n 'bell-off',\n 'bell-ringing',\n 'bell',\n 'bike',\n 'bluetooth-connected',\n 'bluetooth-off',\n 'bluetooth',\n 'bolt',\n 'book',\n 'bookmark-off',\n 'bookmark',\n 'bookmarks',\n 'box-align-top',\n 'box-multiple',\n 'briefcase',\n 'brightness-down',\n 'brightness-up',\n 'browser-check',\n 'browser-plus',\n 'browser-x',\n 'browser',\n 'brush',\n 'building-bank',\n 'building-factory',\n 'building-lighthouse',\n 'building-store',\n 'building',\n 'bulb-off',\n 'bulb',\n 'cake',\n 'calendar-time',\n 'calendar',\n 'camera-off',\n 'camera',\n 'car-crane',\n 'car',\n 'caravan',\n 'cash-banknote',\n 'cash',\n 'cast',\n 'cell',\n 'charging-pile',\n 'chart-arcs',\n 'chart-area-line',\n 'chart-area',\n 'chart-arrows-vertical',\n 'chart-arrows',\n 'chart-bar',\n 'chart-bubble',\n 'chart-circles',\n 'chart-donut',\n 'chart-dots',\n 'chart-line',\n 'chart-pie',\n 'chart-radar',\n 'check',\n 'checkbox',\n 'checklist',\n 'checks',\n 'chevron-down',\n 'chevron-left',\n 'chevron-right',\n 'chevron-top',\n 'chevrons-left',\n 'chevrons-right',\n 'circle-caret-right',\n 'circle-check',\n 'circle-x',\n 'circuit-alternate',\n 'circuit-ground-digital',\n 'clipboard-check',\n 'clipboard-list',\n 'clipboard-plus',\n 'clipboard-text',\n 'clipboard-x',\n 'clipboard',\n 'clock-edit',\n 'clock',\n 'cloud-data-connection',\n 'cloud-download',\n 'cloud-rain',\n 'cloud-snow',\n 'cloud-upload',\n 'cloud',\n 'color-picker',\n 'color-swatch',\n 'compass',\n 'contract',\n 'copy',\n 'cpu',\n 'crane',\n 'credit-card',\n 'crop',\n 'cross',\n 'crown',\n 'currency-bitcoin',\n 'currency-dollar',\n 'currency-ethereum',\n 'currency-euro',\n 'cut',\n 'dashboard',\n 'database',\n 'device-desktop',\n 'device-floppy',\n 'device-gamepad',\n 'device-laptop',\n 'device-mobile-rotated',\n 'device-mobile',\n 'device-tablet',\n 'device-watch',\n 'devices',\n 'dialpad',\n 'direction-horizontal',\n 'direction-sign',\n 'direction',\n 'discount',\n 'door-enter',\n 'door-exit',\n 'door-off',\n 'dots-vertical',\n 'dots',\n 'download',\n 'drone',\n 'droplet-filled',\n 'droplet-half',\n 'droplet',\n 'droplets',\n 'edit',\n 'engine',\n 'external-link',\n 'eye-off',\n 'eye',\n 'face-id',\n 'feather',\n 'file-alert',\n 'file-analytics',\n 'file-check',\n 'file-code',\n 'file-download',\n 'file-export',\n 'file-horizontal',\n 'file-import',\n 'file-plus',\n 'file-search',\n 'file-text-bookmark',\n 'file-text',\n 'file-type-bmp',\n 'file-type-css',\n 'file-type-csv',\n 'file-type-doc',\n 'file-type-html',\n 'file-type-jpg',\n 'file-type-js',\n 'file-type-pdf',\n 'file-type-png',\n 'file-type-ppt',\n 'file-type-xml',\n 'file-type-zip',\n 'file-upload',\n 'file-x',\n 'file-zip',\n 'file',\n 'files-off',\n 'files',\n 'filter-off',\n 'filter-sort',\n 'filter',\n 'fingerprint',\n 'fire-extinguisher',\n 'flag',\n 'flame',\n 'flip-horizontal',\n 'flip-vertical',\n 'folder-minus',\n 'folder-off',\n 'folder-plus',\n 'folder-x',\n 'folder',\n 'folders',\n 'frame-66',\n 'frame',\n 'gas-station',\n 'gauge-off',\n 'gauge',\n 'gift',\n 'gps',\n 'grid-dots',\n 'grip-horizontal',\n 'grip-vertical',\n 'hand-stop',\n 'hand-waving',\n 'hash',\n 'haze',\n 'headphones-off',\n 'headphones',\n 'headset',\n 'helicopter',\n 'help',\n 'history',\n 'home',\n 'hourglass-empty',\n 'hourglass-high',\n 'hourglass-low',\n 'hourglass-off',\n 'hourglass',\n 'iaccess-point-off',\n 'iaccess-point',\n 'iaccessible',\n 'iactivity',\n 'iaddress-book',\n 'iadjustments-horizontal',\n 'iadjustments-up',\n 'iadjustments',\n 'iaffiliate',\n 'iair-conditioning',\n 'ialert-circle',\n 'ialign-center',\n 'ialign-left',\n 'ialign-right',\n 'iapp-window',\n 'iapps',\n 'iarchive',\n 'iareas',\n 'iarrow-back-up',\n 'iarrow-back',\n 'iarrow-down-left',\n 'iarrow-down-right',\n 'iarrow-down',\n 'iarrow-forward-up',\n 'iarrow-forward',\n 'iarrow-left',\n 'iarrow-right',\n 'iarrow-up-left',\n 'iarrow-up-right',\n 'iarrow-up',\n 'iarrows-exchange',\n 'iarrows-move',\n 'iaspect-ratio',\n 'iatom',\n 'ibasket',\n 'ibattery-1',\n 'ibattery-2',\n 'ibattery-3',\n 'ibattery-4',\n 'ibattery-automotive',\n 'ibattery-charging',\n 'ibattery-eco',\n 'ibattery-off',\n 'ibattery',\n 'ibell-off',\n 'ibell-ringing',\n 'ibell',\n 'ibike',\n 'ibluetooth-connected',\n 'ibluetooth-off',\n 'ibluetooth',\n 'ibolt',\n 'ibook',\n 'ibookmark-off',\n 'ibookmark',\n 'ibookmarks',\n 'ibox-align-top',\n 'ibox-multiple',\n 'ibriefcase',\n 'ibrightness-down',\n 'ibrightness-up',\n 'ibrowser-check',\n 'ibrowser-plus',\n 'ibrowser-x',\n 'ibrowser',\n 'ibrush',\n 'ibuilding-bank',\n 'ibuilding-factory',\n 'ibuilding-lighthouse',\n 'ibuilding-store',\n 'ibuilding',\n 'ibulb-off',\n 'ibulb',\n 'icake',\n 'icalendar-time',\n 'icalendar',\n 'icamera-off',\n 'icamera',\n 'icar-crane',\n 'icar',\n 'icaravan',\n 'icash-banknote',\n 'icash',\n 'icast',\n 'icell',\n 'icharging-pile',\n 'ichart-arcs',\n 'ichart-area-line',\n 'ichart-area',\n 'ichart-arrows-vertical',\n 'ichart-arrows',\n 'ichart-bar',\n 'ichart-bubble',\n 'ichart-circles',\n 'ichart-donut',\n 'ichart-dots',\n 'ichart-line',\n 'ichart-pie',\n 'ichart-radar',\n 'icheck',\n 'icheckbox',\n 'ichecklist',\n 'ichecks',\n 'ichevron-down',\n 'ichevron-left',\n 'ichevron-right',\n 'ichevron-top',\n 'ichevrons-left',\n 'ichevrons-right',\n 'icircle-caret-right',\n 'icircle-check',\n 'icircle-x',\n 'icircuit-alternate',\n 'icircuit-ground-digital',\n 'iclipboard-check',\n 'iclipboard-list',\n 'iclipboard-plus',\n 'iclipboard-text',\n 'iclipboard-x',\n 'iclipboard',\n 'iclock-edit',\n 'iclock',\n 'icloud-data-connection',\n 'icloud-download',\n 'icloud-rain',\n 'icloud-snow',\n 'icloud-upload',\n 'icloud',\n 'icolor-picker',\n 'icolor-swatch',\n 'icompass',\n 'icontract',\n 'icopy',\n 'icpu',\n 'icrane',\n 'icredit-card',\n 'icrop',\n 'icross',\n 'icrown',\n 'icurrency-bitcoin',\n 'icurrency-dollar',\n 'icurrency-ethereum',\n 'icurrency-euro',\n 'icut',\n 'idashboard',\n 'idatabase',\n 'idevice-desktop',\n 'idevice-floppy',\n 'idevice-gamepad',\n 'idevice-laptop',\n 'idevice-mobile-rotated',\n 'idevice-mobile',\n 'idevice-tablet',\n 'idevice-watch',\n 'idevices',\n 'idialpad',\n 'idirection-horizontal',\n 'idirection-sign',\n 'idirection',\n 'idiscount',\n 'idoor-enter',\n 'idoor-exit',\n 'idoor-off',\n 'idots-vertical',\n 'idots',\n 'idownload',\n 'idrone',\n 'idroplet-filled',\n 'idroplet-half',\n 'idroplet',\n 'idroplets',\n 'iedit',\n 'iengine',\n 'iexternal-link',\n 'ieye-off',\n 'ieye',\n 'iface-id',\n 'ifeather',\n 'ifile-alert',\n 'ifile-analytics',\n 'ifile-check',\n 'ifile-code',\n 'ifile-download',\n 'ifile-export',\n 'ifile-horizontal',\n 'ifile-import',\n 'ifile-plus',\n 'ifile-search',\n 'ifile-text-bookmark',\n 'ifile-text',\n 'ifile-type-bmp',\n 'ifile-type-css',\n 'ifile-type-csv',\n 'ifile-type-doc',\n 'ifile-type-html',\n 'ifile-type-jpg',\n 'ifile-type-js',\n 'ifile-type-pdf',\n 'ifile-type-png',\n 'ifile-type-ppt',\n 'ifile-type-xls',\n 'ifile-type-xml',\n 'ifile-type-zip',\n 'ifile-upload',\n 'ifile-x',\n 'ifile-zip',\n 'ifile',\n 'ifiles-off',\n 'ifiles',\n 'ifilter-off',\n 'ifilter-sort',\n 'ifilter',\n 'ifingerprint',\n 'ifire-extinguisher',\n 'iflag',\n 'iflame',\n 'iflip-horizontal',\n 'iflip-vertical',\n 'ifolder-minus',\n 'ifolder-off',\n 'ifolder-plus',\n 'ifolder-x',\n 'ifolder',\n 'ifolders',\n 'iframe',\n 'igas-station',\n 'igauge-off',\n 'igauge',\n 'igift',\n 'igps',\n 'igrid-dots',\n 'igrip-horizontal',\n 'igrip-vertical',\n 'ihand-stop',\n 'ihand-waving',\n 'ihash',\n 'ihaze',\n 'iheadphones-off',\n 'iheadphones',\n 'iheadset',\n 'ihelicopter',\n 'ihelp',\n 'ihistory',\n 'ihome',\n 'ihourglass-empty',\n 'ihourglass-high',\n 'ihourglass-low',\n 'ihourglass-off',\n 'ihourglass',\n 'iinbox',\n 'iinfo-circle',\n 'ikeyboard-hide',\n 'ikeyboard-show',\n 'ikeyboard',\n 'ilayout-board-split',\n 'ilayout-dashboard',\n 'ilayout-grid',\n 'ilayout-sidebar-left-collapse',\n 'ilayout-sidebar-left-expand',\n 'ilayout-sidebar-right-collapse',\n 'ilayout-sidebar-right-expand',\n 'ilayout',\n 'ileaf',\n 'ilifebuoy',\n 'ilink',\n 'ilist-search',\n 'ilist',\n 'iloader',\n 'ilocation',\n 'ilock-off',\n 'ilock-open',\n 'ilock',\n 'ilogin',\n 'ilogout',\n 'imail-forward',\n 'imail-opened',\n 'imail',\n 'imap-pin-off',\n 'imap-pin',\n 'imap',\n 'imenu',\n 'imessage-dots',\n 'imessage-off',\n 'imessage',\n 'imessages',\n 'imicrophone-off',\n 'imicrophone',\n 'iminus',\n 'imist',\n 'imoon',\n 'imotorbike',\n 'imouse',\n 'imovie',\n 'inbox',\n 'inetwork',\n 'inews',\n 'info-circle',\n 'inote',\n 'inotebook',\n 'inotes',\n 'ioffshore-station',\n 'ipackage',\n 'ipalette',\n 'ipaperclip',\n 'ipencil',\n 'iphone-call',\n 'iphone-calling',\n 'iphone-check',\n 'iphone-incoming',\n 'iphone-off',\n 'iphone-outgoing',\n 'iphone',\n 'iphoto-off',\n 'iphoto',\n 'ipig',\n 'ipin',\n 'ipinned-off',\n 'ipinned',\n 'iplane-off',\n 'iplane',\n 'iplant',\n 'iplayer-pause',\n 'iplayer-play',\n 'iplayer-skip-back',\n 'iplayer-skip-forward',\n 'iplayer-stop',\n 'iplayer-track-next',\n 'iplayer-track-prev',\n 'iplug-connected',\n 'iplug',\n 'iplus',\n 'ipower-ac',\n 'ipower-dc',\n 'ipower',\n 'ipresentation-analytics',\n 'ipresentation',\n 'iprinter',\n 'ipropeller',\n 'ipublished',\n 'ipuzzle-2',\n 'ipuzzle',\n 'ipylon',\n 'iqrcode',\n 'iradar',\n 'iradio',\n 'iradioactive',\n 'ireceipt-dollar',\n 'ireceipt-euro',\n 'ireceipt',\n 'irecharging',\n 'irecycle',\n 'irefresh-alert',\n 'irefresh',\n 'irepeat-once',\n 'irepeat',\n 'ireplace',\n 'ireport-analytics',\n 'ireport-medical',\n 'ireport-search',\n 'ireport',\n 'iripple-off',\n 'iripple',\n 'irocket',\n 'irotate-2',\n 'irotate-clockwise-2',\n 'irotate-clockwise',\n 'irotate-dot',\n 'irotate',\n 'irouter',\n 'iruler-measure',\n 'isatellite',\n 'iscale',\n 'ischool',\n 'iscissors',\n 'iscooter-electric',\n 'iscreenshot',\n 'isearch',\n 'iseeding',\n 'iselect',\n 'iselector',\n 'isend',\n 'iserver',\n 'isettings',\n 'ishape',\n 'ishare-2',\n 'ishare',\n 'ishield-check',\n 'ishield-lock',\n 'ishield-off',\n 'ishield-x',\n 'ishield',\n 'iship-off',\n 'iship',\n 'ishopping-cart',\n 'islash',\n 'ismart-home',\n 'isnowflake',\n 'isolar-panel',\n 'isort-ascending-letters',\n 'isort-ascending-numbers',\n 'isort-descending-letters',\n 'isort-descending-numbers',\n 'ispacing-horizontal',\n 'ispacing-vertical',\n 'ispeakerphone',\n 'istack',\n 'istairs',\n 'istar',\n 'isun',\n 'isunrise',\n 'isunset',\n 'iswitch-horizontal',\n 'iswitch-vertical',\n 'itable',\n 'itag',\n 'itank-empty-fill',\n 'itank-full-fill',\n 'itank-medium-fill',\n 'itemperature-off',\n 'itemperature',\n 'itemplate',\n 'iterminal',\n 'itext-size',\n 'itext',\n 'ithumb-down',\n 'ithumb-up',\n 'iticket',\n 'itimeline',\n 'itir',\n 'itool',\n 'itools',\n 'itrain',\n 'itrash-off',\n 'itrash',\n 'itree',\n 'itrees',\n 'itruck-delivery',\n 'itruck',\n 'iumbrella',\n 'iunlink',\n 'iupload',\n 'iuser-circle',\n 'iuser-minus',\n 'iuser-plus',\n 'iuser-worker',\n 'iuser',\n 'iusers',\n 'iversions',\n 'ivideo-minus',\n 'ivideo-off',\n 'ivideo-plus',\n 'ivideo',\n 'ivolume-2',\n 'ivolume-3',\n 'ivolume',\n 'iwallet',\n 'iwand',\n 'iwave',\n 'iwaves',\n 'iwifi-off',\n 'iwifi',\n 'iwind-direction',\n 'iwind',\n 'iwindmill',\n 'iwood',\n 'iworld',\n 'iwriting',\n 'ix',\n 'izoom-reset',\n 'keyboard-hide',\n 'keyboard-show',\n 'keyboard',\n 'layout-board-split',\n 'layout-dashboard',\n 'layout-grid',\n 'layout-sidebar-left-collapse',\n 'layout-sidebar-left-expand',\n 'layout-sidebar-right-collapse',\n 'layout-sidebar-right-expand',\n 'layout',\n 'leaf',\n 'lifebuoy',\n 'link',\n 'list-search',\n 'list',\n 'loader',\n 'location',\n 'lock-off',\n 'lock-open',\n 'lock',\n 'login',\n 'logout',\n 'mail-forward',\n 'mail-opened',\n 'mail',\n 'map-pin-off',\n 'map-pin',\n 'map',\n 'menu',\n 'message-dots',\n 'message-off',\n 'message',\n 'messages',\n 'microphone-off',\n 'microphone',\n 'minus',\n 'mist',\n 'moon',\n 'motorbike',\n 'mouse',\n 'movie',\n 'network',\n 'news',\n 'note',\n 'notebook',\n 'notes',\n 'offshore-station',\n 'package',\n 'palette',\n 'paperclip',\n 'pencil',\n 'phone-call',\n 'phone-calling',\n 'phone-check',\n 'phone-incoming',\n 'phone-off',\n 'phone-outgoing',\n 'phone',\n 'photo-off',\n 'photo',\n 'pig',\n 'pin',\n 'pinned-off',\n 'pinned',\n 'plane-off',\n 'plane',\n 'plant',\n 'player-pause',\n 'player-play',\n 'player-skip-back',\n 'player-skip-forward',\n 'player-stop',\n 'player-track-next',\n 'player-track-prev',\n 'plug-connected',\n 'plug',\n 'plus',\n 'power-ac',\n 'power-dc',\n 'power',\n 'presentation-analytics',\n 'presentation',\n 'printer',\n 'propeller',\n 'published',\n 'puzzle-2',\n 'puzzle',\n 'pylon',\n 'qrcode',\n 'radar',\n 'radio',\n 'radioactive',\n 'receipt-dollar',\n 'receipt-euro',\n 'receipt',\n 'recharging',\n 'recycle',\n 'refresh-alert',\n 'refresh-off',\n 'refresh',\n 'repeat-once',\n 'repeat',\n 'replace',\n 'report-analytics',\n 'report-medical',\n 'report-search',\n 'report',\n 'ripple-off',\n 'ripple',\n 'rocket',\n 'rotate-2',\n 'rotate-clockwise-2',\n 'rotate-clockwise',\n 'rotate-dot',\n 'rotate',\n 'router',\n 'ruler-measure',\n 'satellite',\n 'scale',\n 'school',\n 'scissors',\n 'scooter-electric',\n 'screenshot',\n 'search',\n 'seeding',\n 'select',\n 'selector',\n 'send',\n 'server',\n 'settings',\n 'shape',\n 'share-2',\n 'share',\n 'shield-check',\n 'shield-lock',\n 'shield-off',\n 'shield-x',\n 'shield',\n 'ship-off',\n 'ship',\n 'shopping-cart',\n 'sizesm',\n 'sizexl',\n 'slash',\n 'snowflake',\n 'solar-panel',\n 'sort-ascending-letters',\n 'sort-ascending-numbers',\n 'sort-descending-letters',\n 'sort-descending-numbers',\n 'spacing-horizontal',\n 'spacing-vertical',\n 'speakerphone',\n 'stack',\n 'stairs',\n 'star',\n 'sun',\n 'sunrise',\n 'sunset',\n 'switch-horizontal',\n 'switch-vertical',\n 'table',\n 'tag',\n 'tank-empty-fill',\n 'tank-full-fill',\n 'tank-medium-fill',\n 'temperature-off',\n 'temperature',\n 'template',\n 'terminal',\n 'text-size',\n 'text',\n 'thumb-down',\n 'thumb-up',\n 'ticket',\n 'timeline',\n 'tir',\n 'tool',\n 'tools',\n 'train',\n 'trash-off',\n 'trash',\n 'tree',\n 'trees',\n 'truck-delivery',\n 'truck',\n 'umbrella',\n 'unlink',\n 'upload',\n 'user-circle',\n 'user-minus',\n 'user-plus',\n 'user-worker',\n 'user',\n 'users',\n 'versions',\n 'video-minus',\n 'video-off',\n 'video-plus',\n 'video',\n 'volume-2',\n 'volume-3',\n 'volume',\n 'wallet',\n 'wand',\n 'wave',\n 'waves',\n 'wifi-off',\n 'wifi',\n 'wind-direction',\n 'wind',\n 'windmill',\n 'wood',\n 'world',\n 'writing',\n 'x',\n 'zoom-reset',\n] as const;\nexport type IconName = (typeof iconNames)[number];\n"]}
|
|
1
|
+
{"version":3,"file":"nv-icons.js","sourceRoot":"","sources":["../../../src/components/nv-icon/nv-icons.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAEtB,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,kBAAkB;IAClB,cAAc;IACd,YAAY;IACZ,UAAU;IACV,cAAc;IACd,wBAAwB;IACxB,gBAAgB;IAChB,aAAa;IACb,WAAW;IACX,kBAAkB;IAClB,cAAc;IACd,cAAc;IACd,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,MAAM;IACN,SAAS;IACT,OAAO;IACP,eAAe;IACf,YAAY;IACZ,iBAAiB;IACjB,kBAAkB;IAClB,YAAY;IACZ,kBAAkB;IAClB,eAAe;IACf,YAAY;IACZ,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,UAAU;IACV,iBAAiB;IACjB,aAAa;IACb,cAAc;IACd,MAAM;IACN,QAAQ;IACR,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,oBAAoB;IACpB,kBAAkB;IAClB,aAAa;IACb,aAAa;IACb,SAAS;IACT,UAAU;IACV,cAAc;IACd,MAAM;IACN,MAAM;IACN,qBAAqB;IACrB,eAAe;IACf,WAAW;IACX,MAAM;IACN,MAAM;IACN,cAAc;IACd,UAAU;IACV,WAAW;IACX,eAAe;IACf,cAAc;IACd,WAAW;IACX,iBAAiB;IACjB,eAAe;IACf,eAAe;IACf,cAAc;IACd,WAAW;IACX,SAAS;IACT,OAAO;IACP,eAAe;IACf,kBAAkB;IAClB,qBAAqB;IACrB,gBAAgB;IAChB,UAAU;IACV,UAAU;IACV,MAAM;IACN,MAAM;IACN,eAAe;IACf,UAAU;IACV,YAAY;IACZ,QAAQ;IACR,WAAW;IACX,KAAK;IACL,SAAS;IACT,eAAe;IACf,MAAM;IACN,MAAM;IACN,MAAM;IACN,eAAe;IACf,YAAY;IACZ,iBAAiB;IACjB,YAAY;IACZ,uBAAuB;IACvB,cAAc;IACd,WAAW;IACX,cAAc;IACd,eAAe;IACf,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,aAAa;IACb,OAAO;IACP,UAAU;IACV,WAAW;IACX,QAAQ;IACR,cAAc;IACd,cAAc;IACd,eAAe;IACf,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;IACd,UAAU;IACV,mBAAmB;IACnB,wBAAwB;IACxB,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,aAAa;IACb,WAAW;IACX,YAAY;IACZ,OAAO;IACP,uBAAuB;IACvB,gBAAgB;IAChB,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,OAAO;IACP,cAAc;IACd,cAAc;IACd,SAAS;IACT,UAAU;IACV,MAAM;IACN,KAAK;IACL,OAAO;IACP,aAAa;IACb,MAAM;IACN,OAAO;IACP,OAAO;IACP,kBAAkB;IAClB,iBAAiB;IACjB,mBAAmB;IACnB,eAAe;IACf,KAAK;IACL,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,eAAe;IACf,uBAAuB;IACvB,eAAe;IACf,eAAe;IACf,cAAc;IACd,SAAS;IACT,SAAS;IACT,sBAAsB;IACtB,gBAAgB;IAChB,WAAW;IACX,UAAU;IACV,YAAY;IACZ,WAAW;IACX,UAAU;IACV,eAAe;IACf,MAAM;IACN,UAAU;IACV,OAAO;IACP,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,UAAU;IACV,MAAM;IACN,QAAQ;IACR,eAAe;IACf,SAAS;IACT,KAAK;IACL,SAAS;IACT,SAAS;IACT,YAAY;IACZ,gBAAgB;IAChB,YAAY;IACZ,WAAW;IACX,eAAe;IACf,aAAa;IACb,iBAAiB;IACjB,aAAa;IACb,WAAW;IACX,aAAa;IACb,oBAAoB;IACpB,WAAW;IACX,eAAe;IACf,eAAe;IACf,eAAe;IACf,eAAe;IACf,gBAAgB;IAChB,eAAe;IACf,cAAc;IACd,eAAe;IACf,eAAe;IACf,eAAe;IACf,eAAe;IACf,eAAe;IACf,aAAa;IACb,QAAQ;IACR,UAAU;IACV,MAAM;IACN,WAAW;IACX,OAAO;IACP,YAAY;IACZ,aAAa;IACb,QAAQ;IACR,aAAa;IACb,mBAAmB;IACnB,MAAM;IACN,OAAO;IACP,iBAAiB;IACjB,eAAe;IACf,cAAc;IACd,YAAY;IACZ,aAAa;IACb,UAAU;IACV,QAAQ;IACR,SAAS;IACT,OAAO;IACP,aAAa;IACb,WAAW;IACX,OAAO;IACP,MAAM;IACN,KAAK;IACL,WAAW;IACX,iBAAiB;IACjB,eAAe;IACf,WAAW;IACX,aAAa;IACb,MAAM;IACN,MAAM;IACN,gBAAgB;IAChB,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,cAAc;IACd,QAAQ;IACR,MAAM;IACN,SAAS;IACT,MAAM;IACN,iBAAiB;IACjB,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,WAAW;IACX,OAAO;IACP,aAAa;IACb,eAAe;IACf,eAAe;IACf,UAAU;IACV,oBAAoB;IACpB,kBAAkB;IAClB,aAAa;IACb,8BAA8B;IAC9B,4BAA4B;IAC5B,+BAA+B;IAC/B,6BAA6B;IAC7B,QAAQ;IACR,MAAM;IACN,UAAU;IACV,MAAM;IACN,aAAa;IACb,MAAM;IACN,QAAQ;IACR,UAAU;IACV,UAAU;IACV,WAAW;IACX,MAAM;IACN,OAAO;IACP,QAAQ;IACR,cAAc;IACd,aAAa;IACb,MAAM;IACN,aAAa;IACb,SAAS;IACT,KAAK;IACL,MAAM;IACN,cAAc;IACd,aAAa;IACb,SAAS;IACT,UAAU;IACV,gBAAgB;IAChB,YAAY;IACZ,OAAO;IACP,MAAM;IACN,MAAM;IACN,WAAW;IACX,OAAO;IACP,OAAO;IACP,SAAS;IACT,MAAM;IACN,MAAM;IACN,UAAU;IACV,OAAO;IACP,kBAAkB;IAClB,SAAS;IACT,SAAS;IACT,WAAW;IACX,QAAQ;IACR,YAAY;IACZ,eAAe;IACf,aAAa;IACb,gBAAgB;IAChB,WAAW;IACX,gBAAgB;IAChB,OAAO;IACP,WAAW;IACX,OAAO;IACP,KAAK;IACL,KAAK;IACL,YAAY;IACZ,QAAQ;IACR,WAAW;IACX,OAAO;IACP,OAAO;IACP,cAAc;IACd,aAAa;IACb,kBAAkB;IAClB,qBAAqB;IACrB,aAAa;IACb,mBAAmB;IACnB,mBAAmB;IACnB,gBAAgB;IAChB,MAAM;IACN,MAAM;IACN,UAAU;IACV,UAAU;IACV,OAAO;IACP,wBAAwB;IACxB,cAAc;IACd,SAAS;IACT,WAAW;IACX,WAAW;IACX,UAAU;IACV,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,aAAa;IACb,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,YAAY;IACZ,SAAS;IACT,eAAe;IACf,aAAa;IACb,SAAS;IACT,aAAa;IACb,QAAQ;IACR,SAAS;IACT,kBAAkB;IAClB,gBAAgB;IAChB,eAAe;IACf,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,oBAAoB;IACpB,kBAAkB;IAClB,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,eAAe;IACf,WAAW;IACX,OAAO;IACP,QAAQ;IACR,UAAU;IACV,kBAAkB;IAClB,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,UAAU;IACV,MAAM;IACN,QAAQ;IACR,UAAU;IACV,OAAO;IACP,SAAS;IACT,OAAO;IACP,cAAc;IACd,aAAa;IACb,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,UAAU;IACV,MAAM;IACN,eAAe;IACf,QAAQ;IACR,OAAO;IACP,YAAY;IACZ,WAAW;IACX,aAAa;IACb,wBAAwB;IACxB,wBAAwB;IACxB,yBAAyB;IACzB,yBAAyB;IACzB,oBAAoB;IACpB,kBAAkB;IAClB,cAAc;IACd,OAAO;IACP,QAAQ;IACR,MAAM;IACN,KAAK;IACL,SAAS;IACT,QAAQ;IACR,mBAAmB;IACnB,iBAAiB;IACjB,OAAO;IACP,KAAK;IACL,iBAAiB;IACjB,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IACjB,aAAa;IACb,UAAU;IACV,UAAU;IACV,WAAW;IACX,MAAM;IACN,YAAY;IACZ,UAAU;IACV,QAAQ;IACR,UAAU;IACV,KAAK;IACL,MAAM;IACN,OAAO;IACP,OAAO;IACP,WAAW;IACX,OAAO;IACP,MAAM;IACN,OAAO;IACP,gBAAgB;IAChB,OAAO;IACP,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,aAAa;IACb,YAAY;IACZ,WAAW;IACX,aAAa;IACb,MAAM;IACN,OAAO;IACP,UAAU;IACV,aAAa;IACb,WAAW;IACX,YAAY;IACZ,OAAO;IACP,UAAU;IACV,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,UAAU;IACV,MAAM;IACN,gBAAgB;IAChB,MAAM;IACN,UAAU;IACV,MAAM;IACN,OAAO;IACP,SAAS;IACT,GAAG;IACH,YAAY;CACJ,CAAC","sourcesContent":["/** Available icons */\n\nexport const iconNames = [\n 'access-point-off',\n 'access-point',\n 'accessible',\n 'activity',\n 'address-book',\n 'adjustments-horizontal',\n 'adjustments-up',\n 'adjustments',\n 'affiliate',\n 'air-conditioning',\n 'alert-circle',\n 'align-center',\n 'align-left',\n 'align-right',\n 'app-window',\n 'apps',\n 'archive',\n 'areas',\n 'arrow-back-up',\n 'arrow-back',\n 'arrow-down-left',\n 'arrow-down-right',\n 'arrow-down',\n 'arrow-forward-up',\n 'arrow-forward',\n 'arrow-left',\n 'arrow-right',\n 'arrow-up-left',\n 'arrow-up-right',\n 'arrow-up',\n 'arrows-exchange',\n 'arrows-move',\n 'aspect-ratio',\n 'atom',\n 'basket',\n 'battery-1',\n 'battery-2',\n 'battery-3',\n 'battery-4',\n 'battery-automotive',\n 'battery-charging',\n 'battery-eco',\n 'battery-off',\n 'battery',\n 'bell-off',\n 'bell-ringing',\n 'bell',\n 'bike',\n 'bluetooth-connected',\n 'bluetooth-off',\n 'bluetooth',\n 'bolt',\n 'book',\n 'bookmark-off',\n 'bookmark',\n 'bookmarks',\n 'box-align-top',\n 'box-multiple',\n 'briefcase',\n 'brightness-down',\n 'brightness-up',\n 'browser-check',\n 'browser-plus',\n 'browser-x',\n 'browser',\n 'brush',\n 'building-bank',\n 'building-factory',\n 'building-lighthouse',\n 'building-store',\n 'building',\n 'bulb-off',\n 'bulb',\n 'cake',\n 'calendar-time',\n 'calendar',\n 'camera-off',\n 'camera',\n 'car-crane',\n 'car',\n 'caravan',\n 'cash-banknote',\n 'cash',\n 'cast',\n 'cell',\n 'charging-pile',\n 'chart-arcs',\n 'chart-area-line',\n 'chart-area',\n 'chart-arrows-vertical',\n 'chart-arrows',\n 'chart-bar',\n 'chart-bubble',\n 'chart-circles',\n 'chart-donut',\n 'chart-dots',\n 'chart-line',\n 'chart-pie',\n 'chart-radar',\n 'check',\n 'checkbox',\n 'checklist',\n 'checks',\n 'chevron-down',\n 'chevron-left',\n 'chevron-right',\n 'chevron-top',\n 'chevrons-left',\n 'chevrons-right',\n 'circle-caret-right',\n 'circle-check',\n 'circle-x',\n 'circuit-alternate',\n 'circuit-ground-digital',\n 'clipboard-check',\n 'clipboard-list',\n 'clipboard-plus',\n 'clipboard-text',\n 'clipboard-x',\n 'clipboard',\n 'clock-edit',\n 'clock',\n 'cloud-data-connection',\n 'cloud-download',\n 'cloud-rain',\n 'cloud-snow',\n 'cloud-upload',\n 'cloud',\n 'color-picker',\n 'color-swatch',\n 'compass',\n 'contract',\n 'copy',\n 'cpu',\n 'crane',\n 'credit-card',\n 'crop',\n 'cross',\n 'crown',\n 'currency-bitcoin',\n 'currency-dollar',\n 'currency-ethereum',\n 'currency-euro',\n 'cut',\n 'dashboard',\n 'database',\n 'device-desktop',\n 'device-floppy',\n 'device-gamepad',\n 'device-laptop',\n 'device-mobile-rotated',\n 'device-mobile',\n 'device-tablet',\n 'device-watch',\n 'devices',\n 'dialpad',\n 'direction-horizontal',\n 'direction-sign',\n 'direction',\n 'discount',\n 'door-enter',\n 'door-exit',\n 'door-off',\n 'dots-vertical',\n 'dots',\n 'download',\n 'drone',\n 'droplet-filled',\n 'droplet-half',\n 'droplet',\n 'droplets',\n 'edit',\n 'engine',\n 'external-link',\n 'eye-off',\n 'eye',\n 'face-id',\n 'feather',\n 'file-alert',\n 'file-analytics',\n 'file-check',\n 'file-code',\n 'file-download',\n 'file-export',\n 'file-horizontal',\n 'file-import',\n 'file-plus',\n 'file-search',\n 'file-text-bookmark',\n 'file-text',\n 'file-type-bmp',\n 'file-type-css',\n 'file-type-csv',\n 'file-type-doc',\n 'file-type-html',\n 'file-type-jpg',\n 'file-type-js',\n 'file-type-pdf',\n 'file-type-png',\n 'file-type-ppt',\n 'file-type-xml',\n 'file-type-zip',\n 'file-upload',\n 'file-x',\n 'file-zip',\n 'file',\n 'files-off',\n 'files',\n 'filter-off',\n 'filter-sort',\n 'filter',\n 'fingerprint',\n 'fire-extinguisher',\n 'flag',\n 'flame',\n 'flip-horizontal',\n 'flip-vertical',\n 'folder-minus',\n 'folder-off',\n 'folder-plus',\n 'folder-x',\n 'folder',\n 'folders',\n 'frame',\n 'gas-station',\n 'gauge-off',\n 'gauge',\n 'gift',\n 'gps',\n 'grid-dots',\n 'grip-horizontal',\n 'grip-vertical',\n 'hand-stop',\n 'hand-waving',\n 'hash',\n 'haze',\n 'headphones-off',\n 'headphones',\n 'headset',\n 'helicopter',\n 'helmet-swopp',\n 'helmet',\n 'help',\n 'history',\n 'home',\n 'hourglass-empty',\n 'hourglass-high',\n 'hourglass-low',\n 'hourglass-off',\n 'hourglass',\n 'inbox',\n 'info-circle',\n 'keyboard-hide',\n 'keyboard-show',\n 'keyboard',\n 'layout-board-split',\n 'layout-dashboard',\n 'layout-grid',\n 'layout-sidebar-left-collapse',\n 'layout-sidebar-left-expand',\n 'layout-sidebar-right-collapse',\n 'layout-sidebar-right-expand',\n 'layout',\n 'leaf',\n 'lifebuoy',\n 'link',\n 'list-search',\n 'list',\n 'loader',\n 'location',\n 'lock-off',\n 'lock-open',\n 'lock',\n 'login',\n 'logout',\n 'mail-forward',\n 'mail-opened',\n 'mail',\n 'map-pin-off',\n 'map-pin',\n 'map',\n 'menu',\n 'message-dots',\n 'message-off',\n 'message',\n 'messages',\n 'microphone-off',\n 'microphone',\n 'minus',\n 'mist',\n 'moon',\n 'motorbike',\n 'mouse',\n 'movie',\n 'network',\n 'news',\n 'note',\n 'notebook',\n 'notes',\n 'offshore-station',\n 'package',\n 'palette',\n 'paperclip',\n 'pencil',\n 'phone-call',\n 'phone-calling',\n 'phone-check',\n 'phone-incoming',\n 'phone-off',\n 'phone-outgoing',\n 'phone',\n 'photo-off',\n 'photo',\n 'pig',\n 'pin',\n 'pinned-off',\n 'pinned',\n 'plane-off',\n 'plane',\n 'plant',\n 'player-pause',\n 'player-play',\n 'player-skip-back',\n 'player-skip-forward',\n 'player-stop',\n 'player-track-next',\n 'player-track-prev',\n 'plug-connected',\n 'plug',\n 'plus',\n 'power-ac',\n 'power-dc',\n 'power',\n 'presentation-analytics',\n 'presentation',\n 'printer',\n 'propeller',\n 'published',\n 'puzzle-2',\n 'puzzle',\n 'pylon',\n 'qrcode',\n 'radar',\n 'radio',\n 'radioactive',\n 'receipt-dollar',\n 'receipt-euro',\n 'receipt',\n 'recharging',\n 'recycle',\n 'refresh-alert',\n 'refresh-off',\n 'refresh',\n 'repeat-once',\n 'repeat',\n 'replace',\n 'report-analytics',\n 'report-medical',\n 'report-search',\n 'report',\n 'ripple-off',\n 'ripple',\n 'rocket',\n 'rotate-2',\n 'rotate-clockwise-2',\n 'rotate-clockwise',\n 'rotate-dot',\n 'rotate',\n 'router',\n 'ruler-measure',\n 'satellite',\n 'scale',\n 'school',\n 'scissors',\n 'scooter-electric',\n 'screenshot',\n 'search',\n 'seeding',\n 'select',\n 'selector',\n 'send',\n 'server',\n 'settings',\n 'shape',\n 'share-2',\n 'share',\n 'shield-check',\n 'shield-lock',\n 'shield-off',\n 'shield-x',\n 'shield',\n 'ship-off',\n 'ship',\n 'shopping-cart',\n 'sizexl',\n 'slash',\n 'smart-home',\n 'snowflake',\n 'solar-panel',\n 'sort-ascending-letters',\n 'sort-ascending-numbers',\n 'sort-descending-letters',\n 'sort-descending-numbers',\n 'spacing-horizontal',\n 'spacing-vertical',\n 'speakerphone',\n 'stack',\n 'stairs',\n 'star',\n 'sun',\n 'sunrise',\n 'sunset',\n 'switch-horizontal',\n 'switch-vertical',\n 'table',\n 'tag',\n 'tank-empty-fill',\n 'tank-full-fill',\n 'tank-medium-fill',\n 'temperature-off',\n 'temperature',\n 'template',\n 'terminal',\n 'text-size',\n 'text',\n 'thumb-down',\n 'thumb-up',\n 'ticket',\n 'timeline',\n 'tir',\n 'tool',\n 'tools',\n 'train',\n 'trash-off',\n 'trash',\n 'tree',\n 'trees',\n 'truck-delivery',\n 'truck',\n 'umbrella',\n 'unlink',\n 'upload',\n 'user-circle',\n 'user-minus',\n 'user-plus',\n 'user-worker',\n 'user',\n 'users',\n 'versions',\n 'video-minus',\n 'video-off',\n 'video-plus',\n 'video',\n 'volume-2',\n 'volume-3',\n 'volume',\n 'wallet',\n 'wand',\n 'wave',\n 'waves',\n 'wifi-off',\n 'wifi',\n 'wind-direction',\n 'wind',\n 'windmill',\n 'wood',\n 'world',\n 'writing',\n 'x',\n 'zoom-reset',\n] as const;\nexport type IconName = (typeof iconNames)[number];\n"]}
|
|
@@ -111,7 +111,7 @@ export class NvIconbutton {
|
|
|
111
111
|
/****************************************************************************/
|
|
112
112
|
//#region RENDER
|
|
113
113
|
render() {
|
|
114
|
-
return (h(Host, { key: '
|
|
114
|
+
return (h(Host, { key: 'd607268b6b446379c9a67a1cf0f42cb6115451a5', role: "button", type: this.type, tabindex: "0", disabled: this.disabled ? true : undefined, class: clsx('root', `size-${this.size}`, `emphasis-${this.emphasis}`, this.loading && 'loading', `shape-${this.shape}`), onClick: this.handleClick }, this.loading && h("nv-loader", { key: 'f9c224a0297f488e952052d61d801f03c1719287', size: this.size }), !this.loading && h("nv-icon", { key: 'e5b7ee1ef9ddd5b9769b7b508d00cfc58fb36419', name: this.name, size: this.size }), h("slot", { key: '22c0e6106cd508848d287a4ad5db0936e233784a' })));
|
|
115
115
|
}
|
|
116
116
|
static get is() { return "nv-iconbutton"; }
|
|
117
117
|
static get formAssociated() { return true; }
|
|
@@ -16,7 +16,7 @@ export class NvLoader {
|
|
|
16
16
|
//#region RENDER
|
|
17
17
|
/* <slot> empty to force rendering change */
|
|
18
18
|
render() {
|
|
19
|
-
return (h(Host, { key: '
|
|
19
|
+
return (h(Host, { key: '8150eaf06f3a49ba07e460ea9581148f294a3a95', class: clsx(this.size && `size-${this.size}`, this.color && `color-${this.color}`) }));
|
|
20
20
|
}
|
|
21
21
|
static get is() { return "nv-loader"; }
|
|
22
22
|
static get originalStyleUrls() {
|
|
@@ -164,6 +164,8 @@ export class NvMenu {
|
|
|
164
164
|
this.isHandlingKeyDown = false;
|
|
165
165
|
}
|
|
166
166
|
handleOpenChanged(event) {
|
|
167
|
+
// Stop propagation to prevent the event from affecting parent components like dialogs
|
|
168
|
+
event.stopPropagation();
|
|
167
169
|
if (event.target === this.el.querySelector('nv-popover')) {
|
|
168
170
|
this.open = event.detail;
|
|
169
171
|
}
|
|
@@ -187,7 +189,7 @@ export class NvMenu {
|
|
|
187
189
|
});
|
|
188
190
|
}
|
|
189
191
|
render() {
|
|
190
|
-
return (h(Host, { key: '
|
|
192
|
+
return (h(Host, { key: 'b6898b1181666f0dd25e0cd7b1731fb194ad387b' }, h("slot", { key: 'bd43059ddab1417307c6c7fb6ba3866d96fef614', name: "trigger" }), h("nv-popover", { key: '301b9fa445e51f3cd71bfdf1475d5f57a97d6011', ref: el => (this.popoverElement = el), triggerMode: "click", triggerElement: this.triggerElement, placement: this.placement, nested: this.nested, open: this.open }, this.items ? (h("ul", { slot: "content" }, this.renderMenuItems())) : (h("slot", { name: "content" })))));
|
|
191
193
|
}
|
|
192
194
|
static get is() { return "nv-menu"; }
|
|
193
195
|
static get originalStyleUrls() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nv-menu.js","sourceRoot":"","sources":["../../../src/components/nv-menu/nv-menu.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Listen,\n Event,\n EventEmitter,\n Method,\n} from '@stencil/core';\nimport type { Placement } from '@floating-ui/dom';\nimport { IconName } from '../nv-icon/nv-icons';\n\n/**\n * @slot trigger - The button element that toggles the menu popover\n * @slot content - The content of the menu, should be wrapped in a ul element containing nv-menuitem elements\n */\n@Component({\n tag: 'nv-menu',\n styleUrl: 'nv-menu.scss',\n shadow: false,\n})\nexport class NvMenu {\n @Element() el: HTMLNvMenuElement;\n private triggerElement!: HTMLElement;\n private popoverElement!: HTMLNvPopoverElement;\n private isHandlingKeyDown: boolean = false;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Use this to toggle the initial visibility of the menu, by default the menu\n * is hidden.\n */\n @Prop({ reflect: true, mutable: true })\n open: boolean = false;\n\n /**\n * Use this if the menu is nested inside another menu. This will prevent the\n * parent menu from closing when the child menu is opened.\n */\n @Prop({ reflect: true })\n readonly nested: boolean = false;\n\n /**\n * Use this to disable the menu from closing automatically when a menu item is\n * selected.\n */\n @Prop({ reflect: true })\n readonly disableCloseOnSelect: boolean = false;\n\n /**\n * Decides where the menu shows up next to the button it's linked to (above,\n * below, to the sides). If there isn't enough room, it will adjust its\n * position on the axis to fit on the screen, so users can always see it.\n */\n @Prop({ reflect: true })\n readonly placement: Placement = 'bottom-end';\n\n /**\n * List of items used to automatically generate dropdown items. This\n * provides an alternative to using the slot manually.\n *\n * @example\n * items = [{\n * \"label\": \"Option 1\",\n * \"value\": \"option1\",\n * },\n * {\n * \"label\": \"Option 2\",\n * \"value\": \"option2\",\n * }]\n */\n @Prop({ reflect: true })\n readonly items?: {\n /**\n * The label of the menu item.\n */\n label: string;\n /**\n * The value of the menu item.\n */\n value?: string;\n /**\n * Whether the menu item is disabled.\n */\n disabled?: boolean;\n /**\n * Whether the menu item has a submenu.\n */\n hasSubmenu?: boolean;\n /**\n * The icon of the menu item.\n */\n icon?: string;\n /**\n * The shortcut of the menu item.\n */\n shortcut?: string;\n /**\n * Whether the menu item is nested.\n */\n nested?: boolean;\n /**\n * The submenu items of the menu item.\n */\n submenuItems?: InstanceType<typeof NvMenu>['items'];\n }[];\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Opens the menu.\n */\n @Method()\n async show() {\n this.open = true;\n }\n\n /**\n * Closes the menu.\n */\n @Method()\n async close() {\n this.open = false;\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted from nv-menuitem elements with the corresponding id and name when\n * selected (via click or keyboard). This event listener can be attached to\n * either the nv-menu or the nv-menuitem element.\n */\n @Event()\n menuitemSelected: EventEmitter<\n HTMLNvMenuitemElementEventMap['menuitemSelected']\n >;\n\n @Listen('menuitemSelected')\n handleMenuItemSelect(\n event: CustomEvent<HTMLNvMenuitemElementEventMap['menuitemSelected']>,\n ) {\n if (this.disableCloseOnSelect) return;\n if (event.detail.hasSubmenu) return;\n this.open = false;\n }\n\n @Listen('keydown', { passive: false })\n handleKeydown(event: KeyboardEvent) {\n // If the menu is not open, check if the trigger is focused\n // and the user presses Enter or ArrowDown, open the menu\n if (!this.open) {\n if (\n (event.key === 'Enter' ||\n event.key === 'ArrowDown' ||\n event.key === ' ') &&\n document.activeElement === this.triggerElement\n ) {\n event.preventDefault();\n this.show();\n // Then, put the focus on the first menuitem\n const firstMenuItem = this.popoverElement.querySelector('nv-menuitem');\n if (firstMenuItem) {\n requestAnimationFrame(() => (firstMenuItem as HTMLElement).focus());\n }\n }\n return;\n }\n\n if (this.isHandlingKeyDown) return;\n this.isHandlingKeyDown = true;\n\n if (\n event.key === 'ArrowDown' ||\n event.key === 'ArrowUp' ||\n event.key === 'ArrowLeft' ||\n event.key === 'ArrowRight' ||\n event.key === 'Escape'\n ) {\n event.preventDefault();\n }\n\n if (event.key === 'Escape' && !this.nested) {\n this.close();\n this.triggerElement.focus();\n this.isHandlingKeyDown = false;\n return;\n }\n\n const menuContent = this.el.querySelector('[slot=\"content\"]');\n const menuItems = (\n Array.from(menuContent.childNodes) as Array<\n HTMLNvMenuitemElement | HTMLNvMenuElement\n >\n ).filter(item => item.matches?.('nv-menuitem, nv-menu'));\n\n let currentIndex = menuItems.indexOf(\n document.activeElement as HTMLNvMenuitemElement,\n );\n if (currentIndex === -1)\n currentIndex = menuItems.indexOf(\n document.activeElement.parentElement as HTMLNvMenuitemElement,\n );\n if (\n currentIndex === -1 &&\n menuItems.find(item => item.matches('nv-menu[open]'))\n ) {\n this.isHandlingKeyDown = false;\n return;\n }\n\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n menuItems.forEach(item => {\n if (item.matches('nv-menu')) (item as HTMLNvMenuElement).close();\n });\n }\n\n if (event.key === 'ArrowDown') {\n let nextIndex = (currentIndex + 1) % menuItems.length;\n while (menuItems[nextIndex].matches('nv-menuitem[disabled]')) {\n nextIndex = (nextIndex + 1) % menuItems.length;\n }\n const nextFocusable = menuItems[nextIndex];\n if (nextFocusable.matches('nv-menuitem')) {\n nextFocusable.focus();\n } else if (nextFocusable.matches('nv-menu')) {\n nextFocusable.querySelector('nv-menuitem').focus();\n }\n }\n\n if (event.key === 'ArrowUp') {\n let prevIndex = (currentIndex - 1 + menuItems.length) % menuItems.length;\n while (menuItems[prevIndex].matches('nv-menuitem[disabled]')) {\n prevIndex = (prevIndex - 1 + menuItems.length) % menuItems.length;\n }\n const prevFocusable = menuItems[prevIndex];\n if (prevFocusable.matches('nv-menuitem')) {\n prevFocusable.focus();\n } else if (prevFocusable.matches('nv-menu')) {\n prevFocusable.querySelector('nv-menuitem').focus();\n }\n }\n\n if (event.key === 'ArrowRight') {\n const submenu = menuItems[currentIndex];\n if (!submenu.matches('nv-menu')) {\n this.isHandlingKeyDown = false;\n return;\n }\n (submenu as HTMLNvMenuElement).show();\n }\n\n if (event.key === 'ArrowLeft' && this.nested) {\n if (menuItems.find(item => item.matches('nv-menu[open]'))) {\n this.isHandlingKeyDown = false;\n return;\n }\n this.close();\n this.triggerElement.focus();\n }\n\n this.isHandlingKeyDown = false;\n }\n\n @Listen('openChanged')\n handleOpenChanged(event: CustomEvent<boolean>) {\n if (event.target === this.el.querySelector('nv-popover')) {\n this.open = event.detail;\n }\n const triggerHasFocus = this.triggerElement === document.activeElement;\n const triggerHasFocusVisible =\n this.triggerElement.matches(':focus-visible');\n if (triggerHasFocus && triggerHasFocusVisible) this.focusFirstItem();\n }\n\n private focusFirstItem() {\n const firstButton = this.popoverElement.querySelector('nv-menuitem');\n if (firstButton) {\n requestAnimationFrame(() => firstButton.focus());\n }\n }\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.triggerElement = Array.from(this.el.children).find(child => {\n return child.getAttribute('slot') === 'trigger';\n }) as HTMLElement;\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n /**\n * Generates menu items from the `items` property.\n * @param {MenuItem[]} items - The items to display in the menu.\n * @returns {HTMLElement[]} The rendered items.\n */\n private renderMenuItems = () => {\n return this.items.map(item => {\n if (item.hasSubmenu && item.submenuItems?.length > 0) {\n return (\n <nv-menu nested placement=\"right-start\" items={item.submenuItems}>\n <nv-menuitem\n slot=\"trigger\"\n hasSubmenu\n disabled={item.disabled}\n icon={item.icon as IconName}\n shortcut={item.shortcut}\n id={item.value}\n name={item.label}\n label={item.label}\n ></nv-menuitem>\n </nv-menu>\n );\n }\n return (\n <nv-menuitem\n disabled={item.disabled}\n icon={item.icon as IconName}\n shortcut={item.shortcut}\n id={item.value}\n name={item.label}\n label={item.label}\n ></nv-menuitem>\n );\n });\n };\n\n render() {\n return (\n <Host>\n <slot name=\"trigger\"></slot>\n <nv-popover\n ref={el => (this.popoverElement = el)}\n triggerMode=\"click\"\n triggerElement={this.triggerElement}\n placement={this.placement}\n nested={this.nested}\n open={this.open}\n >\n {this.items ? (\n <ul slot=\"content\">{this.renderMenuItems()}</ul>\n ) : (\n <slot name=\"content\"></slot>\n )}\n </nv-popover>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
|
|
1
|
+
{"version":3,"file":"nv-menu.js","sourceRoot":"","sources":["../../../src/components/nv-menu/nv-menu.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Element,\n Prop,\n Listen,\n Event,\n EventEmitter,\n Method,\n} from '@stencil/core';\nimport type { Placement } from '@floating-ui/dom';\nimport { IconName } from '../nv-icon/nv-icons';\n\n/**\n * @slot trigger - The button element that toggles the menu popover\n * @slot content - The content of the menu, should be wrapped in a ul element containing nv-menuitem elements\n */\n@Component({\n tag: 'nv-menu',\n styleUrl: 'nv-menu.scss',\n shadow: false,\n})\nexport class NvMenu {\n @Element() el: HTMLNvMenuElement;\n private triggerElement!: HTMLElement;\n private popoverElement!: HTMLNvPopoverElement;\n private isHandlingKeyDown: boolean = false;\n\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Use this to toggle the initial visibility of the menu, by default the menu\n * is hidden.\n */\n @Prop({ reflect: true, mutable: true })\n open: boolean = false;\n\n /**\n * Use this if the menu is nested inside another menu. This will prevent the\n * parent menu from closing when the child menu is opened.\n */\n @Prop({ reflect: true })\n readonly nested: boolean = false;\n\n /**\n * Use this to disable the menu from closing automatically when a menu item is\n * selected.\n */\n @Prop({ reflect: true })\n readonly disableCloseOnSelect: boolean = false;\n\n /**\n * Decides where the menu shows up next to the button it's linked to (above,\n * below, to the sides). If there isn't enough room, it will adjust its\n * position on the axis to fit on the screen, so users can always see it.\n */\n @Prop({ reflect: true })\n readonly placement: Placement = 'bottom-end';\n\n /**\n * List of items used to automatically generate dropdown items. This\n * provides an alternative to using the slot manually.\n *\n * @example\n * items = [{\n * \"label\": \"Option 1\",\n * \"value\": \"option1\",\n * },\n * {\n * \"label\": \"Option 2\",\n * \"value\": \"option2\",\n * }]\n */\n @Prop({ reflect: true })\n readonly items?: {\n /**\n * The label of the menu item.\n */\n label: string;\n /**\n * The value of the menu item.\n */\n value?: string;\n /**\n * Whether the menu item is disabled.\n */\n disabled?: boolean;\n /**\n * Whether the menu item has a submenu.\n */\n hasSubmenu?: boolean;\n /**\n * The icon of the menu item.\n */\n icon?: string;\n /**\n * The shortcut of the menu item.\n */\n shortcut?: string;\n /**\n * Whether the menu item is nested.\n */\n nested?: boolean;\n /**\n * The submenu items of the menu item.\n */\n submenuItems?: InstanceType<typeof NvMenu>['items'];\n }[];\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Opens the menu.\n */\n @Method()\n async show() {\n this.open = true;\n }\n\n /**\n * Closes the menu.\n */\n @Method()\n async close() {\n this.open = false;\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region EVENTS\n\n /**\n * Emitted from nv-menuitem elements with the corresponding id and name when\n * selected (via click or keyboard). This event listener can be attached to\n * either the nv-menu or the nv-menuitem element.\n */\n @Event()\n menuitemSelected: EventEmitter<\n HTMLNvMenuitemElementEventMap['menuitemSelected']\n >;\n\n @Listen('menuitemSelected')\n handleMenuItemSelect(\n event: CustomEvent<HTMLNvMenuitemElementEventMap['menuitemSelected']>,\n ) {\n if (this.disableCloseOnSelect) return;\n if (event.detail.hasSubmenu) return;\n this.open = false;\n }\n\n @Listen('keydown', { passive: false })\n handleKeydown(event: KeyboardEvent) {\n // If the menu is not open, check if the trigger is focused\n // and the user presses Enter or ArrowDown, open the menu\n if (!this.open) {\n if (\n (event.key === 'Enter' ||\n event.key === 'ArrowDown' ||\n event.key === ' ') &&\n document.activeElement === this.triggerElement\n ) {\n event.preventDefault();\n this.show();\n // Then, put the focus on the first menuitem\n const firstMenuItem = this.popoverElement.querySelector('nv-menuitem');\n if (firstMenuItem) {\n requestAnimationFrame(() => (firstMenuItem as HTMLElement).focus());\n }\n }\n return;\n }\n\n if (this.isHandlingKeyDown) return;\n this.isHandlingKeyDown = true;\n\n if (\n event.key === 'ArrowDown' ||\n event.key === 'ArrowUp' ||\n event.key === 'ArrowLeft' ||\n event.key === 'ArrowRight' ||\n event.key === 'Escape'\n ) {\n event.preventDefault();\n }\n\n if (event.key === 'Escape' && !this.nested) {\n this.close();\n this.triggerElement.focus();\n this.isHandlingKeyDown = false;\n return;\n }\n\n const menuContent = this.el.querySelector('[slot=\"content\"]');\n const menuItems = (\n Array.from(menuContent.childNodes) as Array<\n HTMLNvMenuitemElement | HTMLNvMenuElement\n >\n ).filter(item => item.matches?.('nv-menuitem, nv-menu'));\n\n let currentIndex = menuItems.indexOf(\n document.activeElement as HTMLNvMenuitemElement,\n );\n if (currentIndex === -1)\n currentIndex = menuItems.indexOf(\n document.activeElement.parentElement as HTMLNvMenuitemElement,\n );\n if (\n currentIndex === -1 &&\n menuItems.find(item => item.matches('nv-menu[open]'))\n ) {\n this.isHandlingKeyDown = false;\n return;\n }\n\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n menuItems.forEach(item => {\n if (item.matches('nv-menu')) (item as HTMLNvMenuElement).close();\n });\n }\n\n if (event.key === 'ArrowDown') {\n let nextIndex = (currentIndex + 1) % menuItems.length;\n while (menuItems[nextIndex].matches('nv-menuitem[disabled]')) {\n nextIndex = (nextIndex + 1) % menuItems.length;\n }\n const nextFocusable = menuItems[nextIndex];\n if (nextFocusable.matches('nv-menuitem')) {\n nextFocusable.focus();\n } else if (nextFocusable.matches('nv-menu')) {\n nextFocusable.querySelector('nv-menuitem').focus();\n }\n }\n\n if (event.key === 'ArrowUp') {\n let prevIndex = (currentIndex - 1 + menuItems.length) % menuItems.length;\n while (menuItems[prevIndex].matches('nv-menuitem[disabled]')) {\n prevIndex = (prevIndex - 1 + menuItems.length) % menuItems.length;\n }\n const prevFocusable = menuItems[prevIndex];\n if (prevFocusable.matches('nv-menuitem')) {\n prevFocusable.focus();\n } else if (prevFocusable.matches('nv-menu')) {\n prevFocusable.querySelector('nv-menuitem').focus();\n }\n }\n\n if (event.key === 'ArrowRight') {\n const submenu = menuItems[currentIndex];\n if (!submenu.matches('nv-menu')) {\n this.isHandlingKeyDown = false;\n return;\n }\n (submenu as HTMLNvMenuElement).show();\n }\n\n if (event.key === 'ArrowLeft' && this.nested) {\n if (menuItems.find(item => item.matches('nv-menu[open]'))) {\n this.isHandlingKeyDown = false;\n return;\n }\n this.close();\n this.triggerElement.focus();\n }\n\n this.isHandlingKeyDown = false;\n }\n\n @Listen('openChanged')\n handleOpenChanged(event: CustomEvent<boolean>) {\n // Stop propagation to prevent the event from affecting parent components like dialogs\n event.stopPropagation();\n\n if (event.target === this.el.querySelector('nv-popover')) {\n this.open = event.detail;\n }\n const triggerHasFocus = this.triggerElement === document.activeElement;\n const triggerHasFocusVisible =\n this.triggerElement.matches(':focus-visible');\n if (triggerHasFocus && triggerHasFocusVisible) this.focusFirstItem();\n }\n\n private focusFirstItem() {\n const firstButton = this.popoverElement.querySelector('nv-menuitem');\n if (firstButton) {\n requestAnimationFrame(() => firstButton.focus());\n }\n }\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.triggerElement = Array.from(this.el.children).find(child => {\n return child.getAttribute('slot') === 'trigger';\n }) as HTMLElement;\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region RENDER\n\n /**\n * Generates menu items from the `items` property.\n * @param {MenuItem[]} items - The items to display in the menu.\n * @returns {HTMLElement[]} The rendered items.\n */\n private renderMenuItems = () => {\n return this.items.map(item => {\n if (item.hasSubmenu && item.submenuItems?.length > 0) {\n return (\n <nv-menu nested placement=\"right-start\" items={item.submenuItems}>\n <nv-menuitem\n slot=\"trigger\"\n hasSubmenu\n disabled={item.disabled}\n icon={item.icon as IconName}\n shortcut={item.shortcut}\n id={item.value}\n name={item.label}\n label={item.label}\n ></nv-menuitem>\n </nv-menu>\n );\n }\n return (\n <nv-menuitem\n disabled={item.disabled}\n icon={item.icon as IconName}\n shortcut={item.shortcut}\n id={item.value}\n name={item.label}\n label={item.label}\n ></nv-menuitem>\n );\n });\n };\n\n render() {\n return (\n <Host>\n <slot name=\"trigger\"></slot>\n <nv-popover\n ref={el => (this.popoverElement = el)}\n triggerMode=\"click\"\n triggerElement={this.triggerElement}\n placement={this.placement}\n nested={this.nested}\n open={this.open}\n >\n {this.items ? (\n <ul slot=\"content\">{this.renderMenuItems()}</ul>\n ) : (\n <slot name=\"content\"></slot>\n )}\n </nv-popover>\n </Host>\n );\n }\n\n //#endregion RENDER\n}\n"]}
|
|
@@ -43,7 +43,7 @@ export class NvMenuitem {
|
|
|
43
43
|
/****************************************************************************/
|
|
44
44
|
//#region RENDER
|
|
45
45
|
render() {
|
|
46
|
-
return (h(Host, { key: '
|
|
46
|
+
return (h(Host, { key: 'c15d6ae403f8857bd133aa7d6b9ac8097927c0ae', role: "menuitem", tabindex: this.disabled ? '-1' : '0' }, this.icon && h("nv-icon", { key: '8a334a5475bc748603865a3b824a6e247a53a8f9', name: this.icon }), h("slot", { key: 'fa496a548eb60ad8c61641d44d0a5ba7bf6969a6' }), this.label && h("span", { key: '9950f30fb73b2dda05c267e15046372aba70b662', "data-scope": "text" }, this.label), this.shortcut && !this.hasSubmenu && h("kbd", { key: '483c283196abe80ac62410b5eb2da71bf78efbeb' }, this.shortcut), this.hasSubmenu && h("nv-icon", { key: 'c0244efa7fde567b2d3852141c775d7d818e82b3', name: "chevron-right" })));
|
|
47
47
|
}
|
|
48
48
|
static get is() { return "nv-menuitem"; }
|
|
49
49
|
static get originalStyleUrls() {
|
|
@@ -82,7 +82,7 @@ export class NvMenuitem {
|
|
|
82
82
|
"mutable": false,
|
|
83
83
|
"complexType": {
|
|
84
84
|
"original": "`${IconName}`",
|
|
85
|
-
"resolved": "\"home\" | \"photo\" | \"access-point-off\" | \"access-point\" | \"accessible\" | \"activity\" | \"address-book\" | \"adjustments-horizontal\" | \"adjustments-up\" | \"adjustments\" | \"affiliate\" | \"air-conditioning\" | \"alert-circle\" | \"align-center\" | \"align-left\" | \"align-right\" | \"app-window\" | \"apps\" | \"archive\" | \"areas\" | \"arrow-back-up\" | \"arrow-back\" | \"arrow-down-left\" | \"arrow-down-right\" | \"arrow-down\" | \"arrow-forward-up\" | \"arrow-forward\" | \"arrow-left\" | \"arrow-right\" | \"arrow-up-left\" | \"arrow-up-right\" | \"arrow-up\" | \"arrows-exchange\" | \"arrows-move\" | \"aspect-ratio\" | \"atom\" | \"badge-theme\" | \"basket\" | \"battery-1\" | \"battery-2\" | \"battery-3\" | \"battery-4\" | \"battery-automotive\" | \"battery-charging\" | \"battery-eco\" | \"battery-off\" | \"battery\" | \"bell-off\" | \"bell-ringing\" | \"bell\" | \"bike\" | \"bluetooth-connected\" | \"bluetooth-off\" | \"bluetooth\" | \"bolt\" | \"book\" | \"bookmark-off\" | \"bookmark\" | \"bookmarks\" | \"box-align-top\" | \"box-multiple\" | \"briefcase\" | \"brightness-down\" | \"brightness-up\" | \"browser-check\" | \"browser-plus\" | \"browser-x\" | \"browser\" | \"brush\" | \"building-bank\" | \"building-factory\" | \"building-lighthouse\" | \"building-store\" | \"building\" | \"bulb-off\" | \"bulb\" | \"cake\" | \"calendar-time\" | \"calendar\" | \"camera-off\" | \"camera\" | \"car-crane\" | \"car\" | \"caravan\" | \"cash-banknote\" | \"cash\" | \"cast\" | \"cell\" | \"charging-pile\" | \"chart-arcs\" | \"chart-area-line\" | \"chart-area\" | \"chart-arrows-vertical\" | \"chart-arrows\" | \"chart-bar\" | \"chart-bubble\" | \"chart-circles\" | \"chart-donut\" | \"chart-dots\" | \"chart-line\" | \"chart-pie\" | \"chart-radar\" | \"check\" | \"checkbox\" | \"checklist\" | \"checks\" | \"chevron-down\" | \"chevron-left\" | \"chevron-right\" | \"chevron-top\" | \"chevrons-left\" | \"chevrons-right\" | \"circle-caret-right\" | \"circle-check\" | \"circle-x\" | \"circuit-alternate\" | \"circuit-ground-digital\" | \"clipboard-check\" | \"clipboard-list\" | \"clipboard-plus\" | \"clipboard-text\" | \"clipboard-x\" | \"clipboard\" | \"clock-edit\" | \"clock\" | \"cloud-data-connection\" | \"cloud-download\" | \"cloud-rain\" | \"cloud-snow\" | \"cloud-upload\" | \"cloud\" | \"color-picker\" | \"color-swatch\" | \"compass\" | \"contract\" | \"copy\" | \"cpu\" | \"crane\" | \"credit-card\" | \"crop\" | \"cross\" | \"crown\" | \"currency-bitcoin\" | \"currency-dollar\" | \"currency-ethereum\" | \"currency-euro\" | \"cut\" | \"dashboard\" | \"database\" | \"device-desktop\" | \"device-floppy\" | \"device-gamepad\" | \"device-laptop\" | \"device-mobile-rotated\" | \"device-mobile\" | \"device-tablet\" | \"device-watch\" | \"devices\" | \"dialpad\" | \"direction-horizontal\" | \"direction-sign\" | \"direction\" | \"discount\" | \"door-enter\" | \"door-exit\" | \"door-off\" | \"dots-vertical\" | \"dots\" | \"download\" | \"drone\" | \"droplet-filled\" | \"droplet-half\" | \"droplet\" | \"droplets\" | \"edit\" | \"engine\" | \"external-link\" | \"eye-off\" | \"eye\" | \"face-id\" | \"feather\" | \"file-alert\" | \"file-analytics\" | \"file-check\" | \"file-code\" | \"file-download\" | \"file-export\" | \"file-horizontal\" | \"file-import\" | \"file-plus\" | \"file-search\" | \"file-text-bookmark\" | \"file-text\" | \"file-type-bmp\" | \"file-type-css\" | \"file-type-csv\" | \"file-type-doc\" | \"file-type-html\" | \"file-type-jpg\" | \"file-type-js\" | \"file-type-pdf\" | \"file-type-png\" | \"file-type-ppt\" | \"file-type-xml\" | \"file-type-zip\" | \"file-upload\" | \"file-x\" | \"file-zip\" | \"file\" | \"files-off\" | \"files\" | \"filter-off\" | \"filter-sort\" | \"filter\" | \"fingerprint\" | \"fire-extinguisher\" | \"flag\" | \"flame\" | \"flip-horizontal\" | \"flip-vertical\" | \"folder-minus\" | \"folder-off\" | \"folder-plus\" | \"folder-x\" | \"folder\" | \"folders\" | \"frame-66\" | \"frame\" | \"gas-station\" | \"gauge-off\" | \"gauge\" | \"gift\" | \"gps\" | \"grid-dots\" | \"grip-horizontal\" | \"grip-vertical\" | \"hand-stop\" | \"hand-waving\" | \"hash\" | \"haze\" | \"headphones-off\" | \"headphones\" | \"headset\" | \"helicopter\" | \"help\" | \"history\" | \"hourglass-empty\" | \"hourglass-high\" | \"hourglass-low\" | \"hourglass-off\" | \"hourglass\" | \"iaccess-point-off\" | \"iaccess-point\" | \"iaccessible\" | \"iactivity\" | \"iaddress-book\" | \"iadjustments-horizontal\" | \"iadjustments-up\" | \"iadjustments\" | \"iaffiliate\" | \"iair-conditioning\" | \"ialert-circle\" | \"ialign-center\" | \"ialign-left\" | \"ialign-right\" | \"iapp-window\" | \"iapps\" | \"iarchive\" | \"iareas\" | \"iarrow-back-up\" | \"iarrow-back\" | \"iarrow-down-left\" | \"iarrow-down-right\" | \"iarrow-down\" | \"iarrow-forward-up\" | \"iarrow-forward\" | \"iarrow-left\" | \"iarrow-right\" | \"iarrow-up-left\" | \"iarrow-up-right\" | \"iarrow-up\" | \"iarrows-exchange\" | \"iarrows-move\" | \"iaspect-ratio\" | \"iatom\" | \"ibasket\" | \"ibattery-1\" | \"ibattery-2\" | \"ibattery-3\" | \"ibattery-4\" | \"ibattery-automotive\" | \"ibattery-charging\" | \"ibattery-eco\" | \"ibattery-off\" | \"ibattery\" | \"ibell-off\" | \"ibell-ringing\" | \"ibell\" | \"ibike\" | \"ibluetooth-connected\" | \"ibluetooth-off\" | \"ibluetooth\" | \"ibolt\" | \"ibook\" | \"ibookmark-off\" | \"ibookmark\" | \"ibookmarks\" | \"ibox-align-top\" | \"ibox-multiple\" | \"ibriefcase\" | \"ibrightness-down\" | \"ibrightness-up\" | \"ibrowser-check\" | \"ibrowser-plus\" | \"ibrowser-x\" | \"ibrowser\" | \"ibrush\" | \"ibuilding-bank\" | \"ibuilding-factory\" | \"ibuilding-lighthouse\" | \"ibuilding-store\" | \"ibuilding\" | \"ibulb-off\" | \"ibulb\" | \"icake\" | \"icalendar-time\" | \"icalendar\" | \"icamera-off\" | \"icamera\" | \"icar-crane\" | \"icar\" | \"icaravan\" | \"icash-banknote\" | \"icash\" | \"icast\" | \"icell\" | \"icharging-pile\" | \"ichart-arcs\" | \"ichart-area-line\" | \"ichart-area\" | \"ichart-arrows-vertical\" | \"ichart-arrows\" | \"ichart-bar\" | \"ichart-bubble\" | \"ichart-circles\" | \"ichart-donut\" | \"ichart-dots\" | \"ichart-line\" | \"ichart-pie\" | \"ichart-radar\" | \"icheck\" | \"icheckbox\" | \"ichecklist\" | \"ichecks\" | \"ichevron-down\" | \"ichevron-left\" | \"ichevron-right\" | \"ichevron-top\" | \"ichevrons-left\" | \"ichevrons-right\" | \"icircle-caret-right\" | \"icircle-check\" | \"icircle-x\" | \"icircuit-alternate\" | \"icircuit-ground-digital\" | \"iclipboard-check\" | \"iclipboard-list\" | \"iclipboard-plus\" | \"iclipboard-text\" | \"iclipboard-x\" | \"iclipboard\" | \"iclock-edit\" | \"iclock\" | \"icloud-data-connection\" | \"icloud-download\" | \"icloud-rain\" | \"icloud-snow\" | \"icloud-upload\" | \"icloud\" | \"icolor-picker\" | \"icolor-swatch\" | \"icompass\" | \"icontract\" | \"icopy\" | \"icpu\" | \"icrane\" | \"icredit-card\" | \"icrop\" | \"icross\" | \"icrown\" | \"icurrency-bitcoin\" | \"icurrency-dollar\" | \"icurrency-ethereum\" | \"icurrency-euro\" | \"icut\" | \"idashboard\" | \"idatabase\" | \"idevice-desktop\" | \"idevice-floppy\" | \"idevice-gamepad\" | \"idevice-laptop\" | \"idevice-mobile-rotated\" | \"idevice-mobile\" | \"idevice-tablet\" | \"idevice-watch\" | \"idevices\" | \"idialpad\" | \"idirection-horizontal\" | \"idirection-sign\" | \"idirection\" | \"idiscount\" | \"idoor-enter\" | \"idoor-exit\" | \"idoor-off\" | \"idots-vertical\" | \"idots\" | \"idownload\" | \"idrone\" | \"idroplet-filled\" | \"idroplet-half\" | \"idroplet\" | \"idroplets\" | \"iedit\" | \"iengine\" | \"iexternal-link\" | \"ieye-off\" | \"ieye\" | \"iface-id\" | \"ifeather\" | \"ifile-alert\" | \"ifile-analytics\" | \"ifile-check\" | \"ifile-code\" | \"ifile-download\" | \"ifile-export\" | \"ifile-horizontal\" | \"ifile-import\" | \"ifile-plus\" | \"ifile-search\" | \"ifile-text-bookmark\" | \"ifile-text\" | \"ifile-type-bmp\" | \"ifile-type-css\" | \"ifile-type-csv\" | \"ifile-type-doc\" | \"ifile-type-html\" | \"ifile-type-jpg\" | \"ifile-type-js\" | \"ifile-type-pdf\" | \"ifile-type-png\" | \"ifile-type-ppt\" | \"ifile-type-xls\" | \"ifile-type-xml\" | \"ifile-type-zip\" | \"ifile-upload\" | \"ifile-x\" | \"ifile-zip\" | \"ifile\" | \"ifiles-off\" | \"ifiles\" | \"ifilter-off\" | \"ifilter-sort\" | \"ifilter\" | \"ifingerprint\" | \"ifire-extinguisher\" | \"iflag\" | \"iflame\" | \"iflip-horizontal\" | \"iflip-vertical\" | \"ifolder-minus\" | \"ifolder-off\" | \"ifolder-plus\" | \"ifolder-x\" | \"ifolder\" | \"ifolders\" | \"iframe\" | \"igas-station\" | \"igauge-off\" | \"igauge\" | \"igift\" | \"igps\" | \"igrid-dots\" | \"igrip-horizontal\" | \"igrip-vertical\" | \"ihand-stop\" | \"ihand-waving\" | \"ihash\" | \"ihaze\" | \"iheadphones-off\" | \"iheadphones\" | \"iheadset\" | \"ihelicopter\" | \"ihelp\" | \"ihistory\" | \"ihome\" | \"ihourglass-empty\" | \"ihourglass-high\" | \"ihourglass-low\" | \"ihourglass-off\" | \"ihourglass\" | \"iinbox\" | \"iinfo-circle\" | \"ikeyboard-hide\" | \"ikeyboard-show\" | \"ikeyboard\" | \"ilayout-board-split\" | \"ilayout-dashboard\" | \"ilayout-grid\" | \"ilayout-sidebar-left-collapse\" | \"ilayout-sidebar-left-expand\" | \"ilayout-sidebar-right-collapse\" | \"ilayout-sidebar-right-expand\" | \"ilayout\" | \"ileaf\" | \"ilifebuoy\" | \"ilink\" | \"ilist-search\" | \"ilist\" | \"iloader\" | \"ilocation\" | \"ilock-off\" | \"ilock-open\" | \"ilock\" | \"ilogin\" | \"ilogout\" | \"imail-forward\" | \"imail-opened\" | \"imail\" | \"imap-pin-off\" | \"imap-pin\" | \"imap\" | \"imenu\" | \"imessage-dots\" | \"imessage-off\" | \"imessage\" | \"imessages\" | \"imicrophone-off\" | \"imicrophone\" | \"iminus\" | \"imist\" | \"imoon\" | \"imotorbike\" | \"imouse\" | \"imovie\" | \"inbox\" | \"inetwork\" | \"inews\" | \"info-circle\" | \"inote\" | \"inotebook\" | \"inotes\" | \"ioffshore-station\" | \"ipackage\" | \"ipalette\" | \"ipaperclip\" | \"ipencil\" | \"iphone-call\" | \"iphone-calling\" | \"iphone-check\" | \"iphone-incoming\" | \"iphone-off\" | \"iphone-outgoing\" | \"iphone\" | \"iphoto-off\" | \"iphoto\" | \"ipig\" | \"ipin\" | \"ipinned-off\" | \"ipinned\" | \"iplane-off\" | \"iplane\" | \"iplant\" | \"iplayer-pause\" | \"iplayer-play\" | \"iplayer-skip-back\" | \"iplayer-skip-forward\" | \"iplayer-stop\" | \"iplayer-track-next\" | \"iplayer-track-prev\" | \"iplug-connected\" | \"iplug\" | \"iplus\" | \"ipower-ac\" | \"ipower-dc\" | \"ipower\" | \"ipresentation-analytics\" | \"ipresentation\" | \"iprinter\" | \"ipropeller\" | \"ipublished\" | \"ipuzzle-2\" | \"ipuzzle\" | \"ipylon\" | \"iqrcode\" | \"iradar\" | \"iradio\" | \"iradioactive\" | \"ireceipt-dollar\" | \"ireceipt-euro\" | \"ireceipt\" | \"irecharging\" | \"irecycle\" | \"irefresh-alert\" | \"irefresh\" | \"irepeat-once\" | \"irepeat\" | \"ireplace\" | \"ireport-analytics\" | \"ireport-medical\" | \"ireport-search\" | \"ireport\" | \"iripple-off\" | \"iripple\" | \"irocket\" | \"irotate-2\" | \"irotate-clockwise-2\" | \"irotate-clockwise\" | \"irotate-dot\" | \"irotate\" | \"irouter\" | \"iruler-measure\" | \"isatellite\" | \"iscale\" | \"ischool\" | \"iscissors\" | \"iscooter-electric\" | \"iscreenshot\" | \"isearch\" | \"iseeding\" | \"iselect\" | \"iselector\" | \"isend\" | \"iserver\" | \"isettings\" | \"ishape\" | \"ishare-2\" | \"ishare\" | \"ishield-check\" | \"ishield-lock\" | \"ishield-off\" | \"ishield-x\" | \"ishield\" | \"iship-off\" | \"iship\" | \"ishopping-cart\" | \"islash\" | \"ismart-home\" | \"isnowflake\" | \"isolar-panel\" | \"isort-ascending-letters\" | \"isort-ascending-numbers\" | \"isort-descending-letters\" | \"isort-descending-numbers\" | \"ispacing-horizontal\" | \"ispacing-vertical\" | \"ispeakerphone\" | \"istack\" | \"istairs\" | \"istar\" | \"isun\" | \"isunrise\" | \"isunset\" | \"iswitch-horizontal\" | \"iswitch-vertical\" | \"itable\" | \"itag\" | \"itank-empty-fill\" | \"itank-full-fill\" | \"itank-medium-fill\" | \"itemperature-off\" | \"itemperature\" | \"itemplate\" | \"iterminal\" | \"itext-size\" | \"itext\" | \"ithumb-down\" | \"ithumb-up\" | \"iticket\" | \"itimeline\" | \"itir\" | \"itool\" | \"itools\" | \"itrain\" | \"itrash-off\" | \"itrash\" | \"itree\" | \"itrees\" | \"itruck-delivery\" | \"itruck\" | \"iumbrella\" | \"iunlink\" | \"iupload\" | \"iuser-circle\" | \"iuser-minus\" | \"iuser-plus\" | \"iuser-worker\" | \"iuser\" | \"iusers\" | \"iversions\" | \"ivideo-minus\" | \"ivideo-off\" | \"ivideo-plus\" | \"ivideo\" | \"ivolume-2\" | \"ivolume-3\" | \"ivolume\" | \"iwallet\" | \"iwand\" | \"iwave\" | \"iwaves\" | \"iwifi-off\" | \"iwifi\" | \"iwind-direction\" | \"iwind\" | \"iwindmill\" | \"iwood\" | \"iworld\" | \"iwriting\" | \"ix\" | \"izoom-reset\" | \"keyboard-hide\" | \"keyboard-show\" | \"keyboard\" | \"layout-board-split\" | \"layout-dashboard\" | \"layout-grid\" | \"layout-sidebar-left-collapse\" | \"layout-sidebar-left-expand\" | \"layout-sidebar-right-collapse\" | \"layout-sidebar-right-expand\" | \"layout\" | \"leaf\" | \"lifebuoy\" | \"link\" | \"list-search\" | \"list\" | \"loader\" | \"location\" | \"lock-off\" | \"lock-open\" | \"lock\" | \"login\" | \"logout\" | \"mail-forward\" | \"mail-opened\" | \"mail\" | \"map-pin-off\" | \"map-pin\" | \"map\" | \"menu\" | \"message-dots\" | \"message-off\" | \"message\" | \"messages\" | \"microphone-off\" | \"microphone\" | \"minus\" | \"mist\" | \"moon\" | \"motorbike\" | \"mouse\" | \"movie\" | \"network\" | \"news\" | \"note\" | \"notebook\" | \"notes\" | \"offshore-station\" | \"package\" | \"palette\" | \"paperclip\" | \"pencil\" | \"phone-call\" | \"phone-calling\" | \"phone-check\" | \"phone-incoming\" | \"phone-off\" | \"phone-outgoing\" | \"phone\" | \"photo-off\" | \"pig\" | \"pin\" | \"pinned-off\" | \"pinned\" | \"plane-off\" | \"plane\" | \"plant\" | \"player-pause\" | \"player-play\" | \"player-skip-back\" | \"player-skip-forward\" | \"player-stop\" | \"player-track-next\" | \"player-track-prev\" | \"plug-connected\" | \"plug\" | \"plus\" | \"power-ac\" | \"power-dc\" | \"power\" | \"presentation-analytics\" | \"presentation\" | \"printer\" | \"propeller\" | \"published\" | \"puzzle-2\" | \"puzzle\" | \"pylon\" | \"qrcode\" | \"radar\" | \"radio\" | \"radioactive\" | \"receipt-dollar\" | \"receipt-euro\" | \"receipt\" | \"recharging\" | \"recycle\" | \"refresh-alert\" | \"refresh-off\" | \"refresh\" | \"repeat-once\" | \"repeat\" | \"replace\" | \"report-analytics\" | \"report-medical\" | \"report-search\" | \"report\" | \"ripple-off\" | \"ripple\" | \"rocket\" | \"rotate-2\" | \"rotate-clockwise-2\" | \"rotate-clockwise\" | \"rotate-dot\" | \"rotate\" | \"router\" | \"ruler-measure\" | \"satellite\" | \"scale\" | \"school\" | \"scissors\" | \"scooter-electric\" | \"screenshot\" | \"search\" | \"seeding\" | \"select\" | \"selector\" | \"send\" | \"server\" | \"settings\" | \"shape\" | \"share-2\" | \"share\" | \"shield-check\" | \"shield-lock\" | \"shield-off\" | \"shield-x\" | \"shield\" | \"ship-off\" | \"ship\" | \"shopping-cart\" | \"sizesm\" | \"sizexl\" | \"slash\" | \"snowflake\" | \"solar-panel\" | \"sort-ascending-letters\" | \"sort-ascending-numbers\" | \"sort-descending-letters\" | \"sort-descending-numbers\" | \"spacing-horizontal\" | \"spacing-vertical\" | \"speakerphone\" | \"stack\" | \"stairs\" | \"star\" | \"sun\" | \"sunrise\" | \"sunset\" | \"switch-horizontal\" | \"switch-vertical\" | \"table\" | \"tag\" | \"tank-empty-fill\" | \"tank-full-fill\" | \"tank-medium-fill\" | \"temperature-off\" | \"temperature\" | \"template\" | \"terminal\" | \"text-size\" | \"text\" | \"thumb-down\" | \"thumb-up\" | \"ticket\" | \"timeline\" | \"tir\" | \"tool\" | \"tools\" | \"train\" | \"trash-off\" | \"trash\" | \"tree\" | \"trees\" | \"truck-delivery\" | \"truck\" | \"umbrella\" | \"unlink\" | \"upload\" | \"user-circle\" | \"user-minus\" | \"user-plus\" | \"user-worker\" | \"user\" | \"users\" | \"versions\" | \"video-minus\" | \"video-off\" | \"video-plus\" | \"video\" | \"volume-2\" | \"volume-3\" | \"volume\" | \"wallet\" | \"wand\" | \"wave\" | \"waves\" | \"wifi-off\" | \"wifi\" | \"wind-direction\" | \"wind\" | \"windmill\" | \"wood\" | \"world\" | \"writing\" | \"x\" | \"zoom-reset\"",
|
|
85
|
+
"resolved": "\"home\" | \"photo\" | \"access-point-off\" | \"access-point\" | \"accessible\" | \"activity\" | \"address-book\" | \"adjustments-horizontal\" | \"adjustments-up\" | \"adjustments\" | \"affiliate\" | \"air-conditioning\" | \"alert-circle\" | \"align-center\" | \"align-left\" | \"align-right\" | \"app-window\" | \"apps\" | \"archive\" | \"areas\" | \"arrow-back-up\" | \"arrow-back\" | \"arrow-down-left\" | \"arrow-down-right\" | \"arrow-down\" | \"arrow-forward-up\" | \"arrow-forward\" | \"arrow-left\" | \"arrow-right\" | \"arrow-up-left\" | \"arrow-up-right\" | \"arrow-up\" | \"arrows-exchange\" | \"arrows-move\" | \"aspect-ratio\" | \"atom\" | \"basket\" | \"battery-1\" | \"battery-2\" | \"battery-3\" | \"battery-4\" | \"battery-automotive\" | \"battery-charging\" | \"battery-eco\" | \"battery-off\" | \"battery\" | \"bell-off\" | \"bell-ringing\" | \"bell\" | \"bike\" | \"bluetooth-connected\" | \"bluetooth-off\" | \"bluetooth\" | \"bolt\" | \"book\" | \"bookmark-off\" | \"bookmark\" | \"bookmarks\" | \"box-align-top\" | \"box-multiple\" | \"briefcase\" | \"brightness-down\" | \"brightness-up\" | \"browser-check\" | \"browser-plus\" | \"browser-x\" | \"browser\" | \"brush\" | \"building-bank\" | \"building-factory\" | \"building-lighthouse\" | \"building-store\" | \"building\" | \"bulb-off\" | \"bulb\" | \"cake\" | \"calendar-time\" | \"calendar\" | \"camera-off\" | \"camera\" | \"car-crane\" | \"car\" | \"caravan\" | \"cash-banknote\" | \"cash\" | \"cast\" | \"cell\" | \"charging-pile\" | \"chart-arcs\" | \"chart-area-line\" | \"chart-area\" | \"chart-arrows-vertical\" | \"chart-arrows\" | \"chart-bar\" | \"chart-bubble\" | \"chart-circles\" | \"chart-donut\" | \"chart-dots\" | \"chart-line\" | \"chart-pie\" | \"chart-radar\" | \"check\" | \"checkbox\" | \"checklist\" | \"checks\" | \"chevron-down\" | \"chevron-left\" | \"chevron-right\" | \"chevron-top\" | \"chevrons-left\" | \"chevrons-right\" | \"circle-caret-right\" | \"circle-check\" | \"circle-x\" | \"circuit-alternate\" | \"circuit-ground-digital\" | \"clipboard-check\" | \"clipboard-list\" | \"clipboard-plus\" | \"clipboard-text\" | \"clipboard-x\" | \"clipboard\" | \"clock-edit\" | \"clock\" | \"cloud-data-connection\" | \"cloud-download\" | \"cloud-rain\" | \"cloud-snow\" | \"cloud-upload\" | \"cloud\" | \"color-picker\" | \"color-swatch\" | \"compass\" | \"contract\" | \"copy\" | \"cpu\" | \"crane\" | \"credit-card\" | \"crop\" | \"cross\" | \"crown\" | \"currency-bitcoin\" | \"currency-dollar\" | \"currency-ethereum\" | \"currency-euro\" | \"cut\" | \"dashboard\" | \"database\" | \"device-desktop\" | \"device-floppy\" | \"device-gamepad\" | \"device-laptop\" | \"device-mobile-rotated\" | \"device-mobile\" | \"device-tablet\" | \"device-watch\" | \"devices\" | \"dialpad\" | \"direction-horizontal\" | \"direction-sign\" | \"direction\" | \"discount\" | \"door-enter\" | \"door-exit\" | \"door-off\" | \"dots-vertical\" | \"dots\" | \"download\" | \"drone\" | \"droplet-filled\" | \"droplet-half\" | \"droplet\" | \"droplets\" | \"edit\" | \"engine\" | \"external-link\" | \"eye-off\" | \"eye\" | \"face-id\" | \"feather\" | \"file-alert\" | \"file-analytics\" | \"file-check\" | \"file-code\" | \"file-download\" | \"file-export\" | \"file-horizontal\" | \"file-import\" | \"file-plus\" | \"file-search\" | \"file-text-bookmark\" | \"file-text\" | \"file-type-bmp\" | \"file-type-css\" | \"file-type-csv\" | \"file-type-doc\" | \"file-type-html\" | \"file-type-jpg\" | \"file-type-js\" | \"file-type-pdf\" | \"file-type-png\" | \"file-type-ppt\" | \"file-type-xml\" | \"file-type-zip\" | \"file-upload\" | \"file-x\" | \"file-zip\" | \"file\" | \"files-off\" | \"files\" | \"filter-off\" | \"filter-sort\" | \"filter\" | \"fingerprint\" | \"fire-extinguisher\" | \"flag\" | \"flame\" | \"flip-horizontal\" | \"flip-vertical\" | \"folder-minus\" | \"folder-off\" | \"folder-plus\" | \"folder-x\" | \"folder\" | \"folders\" | \"frame\" | \"gas-station\" | \"gauge-off\" | \"gauge\" | \"gift\" | \"gps\" | \"grid-dots\" | \"grip-horizontal\" | \"grip-vertical\" | \"hand-stop\" | \"hand-waving\" | \"hash\" | \"haze\" | \"headphones-off\" | \"headphones\" | \"headset\" | \"helicopter\" | \"helmet-swopp\" | \"helmet\" | \"help\" | \"history\" | \"hourglass-empty\" | \"hourglass-high\" | \"hourglass-low\" | \"hourglass-off\" | \"hourglass\" | \"inbox\" | \"info-circle\" | \"keyboard-hide\" | \"keyboard-show\" | \"keyboard\" | \"layout-board-split\" | \"layout-dashboard\" | \"layout-grid\" | \"layout-sidebar-left-collapse\" | \"layout-sidebar-left-expand\" | \"layout-sidebar-right-collapse\" | \"layout-sidebar-right-expand\" | \"layout\" | \"leaf\" | \"lifebuoy\" | \"link\" | \"list-search\" | \"list\" | \"loader\" | \"location\" | \"lock-off\" | \"lock-open\" | \"lock\" | \"login\" | \"logout\" | \"mail-forward\" | \"mail-opened\" | \"mail\" | \"map-pin-off\" | \"map-pin\" | \"map\" | \"menu\" | \"message-dots\" | \"message-off\" | \"message\" | \"messages\" | \"microphone-off\" | \"microphone\" | \"minus\" | \"mist\" | \"moon\" | \"motorbike\" | \"mouse\" | \"movie\" | \"network\" | \"news\" | \"note\" | \"notebook\" | \"notes\" | \"offshore-station\" | \"package\" | \"palette\" | \"paperclip\" | \"pencil\" | \"phone-call\" | \"phone-calling\" | \"phone-check\" | \"phone-incoming\" | \"phone-off\" | \"phone-outgoing\" | \"phone\" | \"photo-off\" | \"pig\" | \"pin\" | \"pinned-off\" | \"pinned\" | \"plane-off\" | \"plane\" | \"plant\" | \"player-pause\" | \"player-play\" | \"player-skip-back\" | \"player-skip-forward\" | \"player-stop\" | \"player-track-next\" | \"player-track-prev\" | \"plug-connected\" | \"plug\" | \"plus\" | \"power-ac\" | \"power-dc\" | \"power\" | \"presentation-analytics\" | \"presentation\" | \"printer\" | \"propeller\" | \"published\" | \"puzzle-2\" | \"puzzle\" | \"pylon\" | \"qrcode\" | \"radar\" | \"radio\" | \"radioactive\" | \"receipt-dollar\" | \"receipt-euro\" | \"receipt\" | \"recharging\" | \"recycle\" | \"refresh-alert\" | \"refresh-off\" | \"refresh\" | \"repeat-once\" | \"repeat\" | \"replace\" | \"report-analytics\" | \"report-medical\" | \"report-search\" | \"report\" | \"ripple-off\" | \"ripple\" | \"rocket\" | \"rotate-2\" | \"rotate-clockwise-2\" | \"rotate-clockwise\" | \"rotate-dot\" | \"rotate\" | \"router\" | \"ruler-measure\" | \"satellite\" | \"scale\" | \"school\" | \"scissors\" | \"scooter-electric\" | \"screenshot\" | \"search\" | \"seeding\" | \"select\" | \"selector\" | \"send\" | \"server\" | \"settings\" | \"shape\" | \"share-2\" | \"share\" | \"shield-check\" | \"shield-lock\" | \"shield-off\" | \"shield-x\" | \"shield\" | \"ship-off\" | \"ship\" | \"shopping-cart\" | \"sizexl\" | \"slash\" | \"smart-home\" | \"snowflake\" | \"solar-panel\" | \"sort-ascending-letters\" | \"sort-ascending-numbers\" | \"sort-descending-letters\" | \"sort-descending-numbers\" | \"spacing-horizontal\" | \"spacing-vertical\" | \"speakerphone\" | \"stack\" | \"stairs\" | \"star\" | \"sun\" | \"sunrise\" | \"sunset\" | \"switch-horizontal\" | \"switch-vertical\" | \"table\" | \"tag\" | \"tank-empty-fill\" | \"tank-full-fill\" | \"tank-medium-fill\" | \"temperature-off\" | \"temperature\" | \"template\" | \"terminal\" | \"text-size\" | \"text\" | \"thumb-down\" | \"thumb-up\" | \"ticket\" | \"timeline\" | \"tir\" | \"tool\" | \"tools\" | \"train\" | \"trash-off\" | \"trash\" | \"tree\" | \"trees\" | \"truck-delivery\" | \"truck\" | \"umbrella\" | \"unlink\" | \"upload\" | \"user-circle\" | \"user-minus\" | \"user-plus\" | \"user-worker\" | \"user\" | \"users\" | \"versions\" | \"video-minus\" | \"video-off\" | \"video-plus\" | \"video\" | \"volume-2\" | \"volume-3\" | \"volume\" | \"wallet\" | \"wand\" | \"wave\" | \"waves\" | \"wifi-off\" | \"wifi\" | \"wind-direction\" | \"wind\" | \"windmill\" | \"wood\" | \"world\" | \"writing\" | \"x\" | \"zoom-reset\"",
|
|
86
86
|
"references": {
|
|
87
87
|
"IconName": {
|
|
88
88
|
"location": "import",
|
|
@@ -306,7 +306,7 @@ export class NvPopover {
|
|
|
306
306
|
/****************************************************************************/
|
|
307
307
|
//#region RENDER
|
|
308
308
|
render() {
|
|
309
|
-
return (h(Host, { key: '
|
|
309
|
+
return (h(Host, { key: 'a93404e4346c78d56a2c26f8ec2cb231ffb04523' }, h("slot", { key: '5c76fff7d2d99069986575c755955c2e76dbbd7b', name: "trigger" }), h("div", { key: '463ca161fbba6d558db76fb4a8f3eaaff901eed0', "data-scope": "popover", hidden: true, ref: el => (this.popoverElement = el) }, this.hasArrow && (h("div", { key: 'e87e53223fe5cef9bce9e6a4eac465c6aa684ce4', "data-scope": "arrow", ref: el => (this.arrowElement = el) })), h("slot", { key: '5e902c098d6ab1c91286bea5bdf621469591c3c0', name: "content" }))));
|
|
310
310
|
}
|
|
311
311
|
static get is() { return "nv-popover"; }
|
|
312
312
|
static get originalStyleUrls() {
|
|
@@ -6,7 +6,7 @@ export class NvRow {
|
|
|
6
6
|
/****************************************************************************/
|
|
7
7
|
//#region RENDER
|
|
8
8
|
render() {
|
|
9
|
-
return (h(Host, { key: '
|
|
9
|
+
return (h(Host, { key: '09285cba691e1c35f0ddee48f391e4ab992d84f1' }, h("slot", { key: '7a2e8f4792e48928ce700ebbab99450ab3c57bd3' })));
|
|
10
10
|
}
|
|
11
11
|
static get is() { return "nv-row"; }
|
|
12
12
|
static get originalStyleUrls() {
|
|
@@ -18,7 +18,7 @@ export class NvStack {
|
|
|
18
18
|
/****************************************************************************/
|
|
19
19
|
//#region RENDER
|
|
20
20
|
render() {
|
|
21
|
-
return (h(Host, { key: '
|
|
21
|
+
return (h(Host, { key: '27ed60826e915488c5ee038efb8f96996d5109c7', class: clsx(this.fill && 'nv-stack-fill', this.flex && 'nv-stack-flex', this.full && 'w-full', this.gutter && !this.vertical && `gap-x-${this.gutter}`, this.gutter && this.vertical && `gap-y-${this.gutter}`, this.vertical && 'nv-stack-vertical') }, h("slot", { key: '944d7afda349c4a2cb3598009c210b6e8823e11c' })));
|
|
22
22
|
}
|
|
23
23
|
static get is() { return "nv-stack"; }
|
|
24
24
|
static get originalStyleUrls() {
|
|
@@ -5,6 +5,9 @@ import { deepCopyElement, excludedProps } from "../../utils/dom.utils";
|
|
|
5
5
|
* @slot default - Slot for the composed table columns
|
|
6
6
|
* @slot before - Use this slot to insert HTML before the table.
|
|
7
7
|
* @slot after - Use this slot to insert HTML after the table.
|
|
8
|
+
*
|
|
9
|
+
* @deprecated [EXPERIMENTAL]
|
|
10
|
+
* @experimental - This component is used as a base for the nv-datagrid component. Do not use it directly.
|
|
8
11
|
*/
|
|
9
12
|
export class NvTable {
|
|
10
13
|
constructor() {
|
|
@@ -311,14 +314,14 @@ export class NvTable {
|
|
|
311
314
|
const rows = !this.table || this.table === undefined || this.parsedData.length === 0
|
|
312
315
|
? []
|
|
313
316
|
: this.table.data;
|
|
314
|
-
return (h(Host, { key: '
|
|
317
|
+
return (h(Host, { key: '60adbba864a3e654bdb5fa15fe2a248876121a55' }, h("div", { key: 'ee32010a50621ac0085adf4ee05ffdfe66dd1e37', class: "hidden" }, h("slot", { key: 'eb94efbff64a5d658d26854b296a0a724f274d30' })), h("slot", { key: 'fc3444819a51080d7418328179b2dcd32d0b9604', name: "before" }), this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (h("div", { class: "no-data" }, this.noColumnsNoDataMessage)) : (h("table", { class: "table" }, this.parsedColumns.length > 0 && headerGroups.length > 0 && (h("thead", { class: "table-header" }, h("tr", null, headerGroups &&
|
|
315
318
|
headerGroups.map(col => {
|
|
316
319
|
return (h("th", { key: col.name }, this.renderTemplate(this.headerTemplateCache.get(col.name), {}) || col.header));
|
|
317
320
|
})))), h("tbody", { class: "table-body" }, !rows || rows.length === 0 ? (h("tr", null, h("td", { colSpan: headerGroups.length || 12, class: "no-data" }, this.noDataMessage))) : (rows.map(row => (h("tr", { key: JSON.stringify(row) }, headerGroups.map(col => {
|
|
318
321
|
var _a;
|
|
319
322
|
return (h("td", null, this.renderTemplate(this.templateCache.get(col.name), row) ||
|
|
320
323
|
((_a = row[col.name]) !== null && _a !== void 0 ? _a : this.fallbackValue)));
|
|
321
|
-
})))))))), h("slot", { key: '
|
|
324
|
+
})))))))), h("slot", { key: 'e472198f042669aae6e5db36871421312bd1b02b', name: "after" })));
|
|
322
325
|
}
|
|
323
326
|
static get is() { return "nv-table"; }
|
|
324
327
|
static get originalStyleUrls() {
|
|
@@ -497,15 +500,9 @@ export class NvTable {
|
|
|
497
500
|
"text": "*************************************************************************"
|
|
498
501
|
},
|
|
499
502
|
"complexType": {
|
|
500
|
-
"original": "
|
|
501
|
-
"resolved": "
|
|
502
|
-
"references": {
|
|
503
|
-
"ActionEvent": {
|
|
504
|
-
"location": "import",
|
|
505
|
-
"path": "../../interfaces/actionEvent",
|
|
506
|
-
"id": "src/interfaces/actionEvent.tsx::ActionEvent"
|
|
507
|
-
}
|
|
508
|
-
}
|
|
503
|
+
"original": "{\n /**\n * Key action to be performed\n */\n keyAction: string;\n\n /**\n * Details of the action to be performed\n */\n details: any;\n }",
|
|
504
|
+
"resolved": "{ keyAction: string; details: any; }",
|
|
505
|
+
"references": {}
|
|
509
506
|
}
|
|
510
507
|
}];
|
|
511
508
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nv-table.js","sourceRoot":"","sources":["../../../src/components/nv-table/nv-table.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n Component,\n Host,\n Prop,\n State,\n h,\n Element,\n Watch,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport { ColumnConfig } from '../../interfaces/ColumnConfig';\nimport { ActionEvent } from '../../interfaces/actionEvent';\nimport { deepCopyElement, excludedProps } from '../../utils/dom.utils';\n\n/**\n * Helper interface to define the table structure\n */\ninterface Table {\n /**\n * Configuration of the columns of the table\n */\n columns: ColumnConfig[];\n\n /**\n * Data to be displayed in the table\n */\n data: any[];\n}\n\n/**\n * @slot default - Slot for the composed table columns\n * @slot before - Use this slot to insert HTML before the table.\n * @slot after - Use this slot to insert HTML after the table.\n */\n@Component({\n tag: 'nv-table',\n styleUrl: 'nv-table.scss',\n shadow: false,\n})\nexport class NvTable {\n @Element() el: HTMLNvTableElement;\n\n private readonly templateCache = new Map<string, Element>();\n private readonly headerTemplateCache = new Map<string, Element>();\n\n /****************************************************************************/\n //#region STATES\n\n @State()\n parsedColumns: ColumnConfig[] = [];\n\n @State()\n parsedData: any[] = [];\n\n @State()\n private table: Table = null;\n\n //#endregion STATES\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Data to be displayed in the table\n */\n @Prop({ reflect: true })\n readonly data: any[] = [];\n\n /**\n * Configuration of the columns of the table\n */\n @Prop({ reflect: true })\n readonly columnsConfig: ColumnConfig[] = [];\n\n /**\n * Data to be displayed in the table\n */\n @Prop({ reflect: true })\n readonly dataJson?: string;\n\n /**\n * Configuration of the columns of the table\n */\n @Prop({ reflect: true })\n readonly columnsConfigJson?: string;\n\n /**\n * Fallback value to be displayed when data is not available\n */\n @Prop({ reflect: true })\n readonly fallbackValue: string = 'N/A';\n\n /**\n * Message to be displayed when no data is available\n */\n @Prop({ reflect: true })\n readonly noDataMessage: string = 'No data available';\n\n /**\n * The message to display when there are no columns or data available.\n * @default 'No data or columns available to display.'\n */\n @Prop({ reflect: true })\n readonly noColumnsNoDataMessage: string =\n 'No data or columns available to display.';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Caches templates for cells and headers upfront to improve performance.\n */\n private cacheTemplates() {\n const columns = Array.from(this.el.querySelectorAll('nv-tablecolumn'));\n\n columns.forEach((col: HTMLNvTablecolumnElement) => {\n const key = col.name;\n const cellSlot = col.querySelector('[slot=\"cell\"]');\n\n if (cellSlot) {\n const element = deepCopyElement(cellSlot as HTMLElement);\n this.templateCache.set(key, element);\n }\n\n const headerSlot = col.querySelector('[slot=\"header\"]');\n\n if (headerSlot) {\n const element = deepCopyElement(headerSlot as HTMLElement);\n this.headerTemplateCache.set(key, element);\n } else {\n const header = col.header;\n\n if (header) {\n const headerDiv = document.createElement('div');\n headerDiv.textContent = header;\n this.headerTemplateCache.set(key, headerDiv);\n }\n }\n });\n }\n\n private parseDataAndColumns() {\n if (this.dataJson) {\n this.parseJsonData(this.dataJson);\n } else if (this.data && this.data.length > 0) {\n this.parseDataArray(this.data, this.parsedData);\n }\n\n if (this.columnsConfigJson) {\n this.parseJsonColumns(this.columnsConfigJson, this.parsedColumns);\n } else if (this.columnsConfig && this.columnsConfig.length > 0) {\n this.parseColumnsArray(this.columnsConfig, this.parsedColumns);\n } else if (this.headerTemplateCache.size > 0) {\n const headerKeys = Array.from(this.headerTemplateCache.keys());\n const arrayColumnsConfig = headerKeys.map<ColumnConfig>(key => ({\n ...{}, // Ensure no prototype inheritance\n name: key,\n header: key ? key.charAt(0).toUpperCase() + key.slice(1) : '',\n }));\n\n this.parseColumnsArray(arrayColumnsConfig, this.parsedColumns);\n } else if (this.parsedData.length > 0) {\n const firstRow = this.parsedData[0];\n const arrayColumnsConfig = Object.keys(firstRow).map<ColumnConfig>(\n key => ({\n name: key,\n header: key.charAt(0).toUpperCase() + key.slice(1),\n }),\n );\n\n this.parseColumnsArray(arrayColumnsConfig, this.parsedColumns);\n }\n }\n\n private deepEqual(a: any, b: any): boolean {\n return JSON.stringify(a) === JSON.stringify(b);\n }\n\n /**\n * Parses the data array and sets the state accordingly\n * @param {any[]} newValue - New value of the data array\n * @param {any[]} oldValue - Old value of the data array\n * @returns {void}\n */\n private parseDataArray(newValue: any[], oldValue: any[]) {\n // Ensure both are arrays for proper comparison\n const safeNewValue = Array.isArray(newValue) ? newValue : [];\n const safeOldValue = Array.isArray(oldValue) ? oldValue : [];\n\n if (this.deepEqual(safeNewValue, safeOldValue)) {\n return; // Deep comparison\n }\n\n this.parsedData = Array.isArray(newValue) ? newValue : [];\n }\n\n /**\n * Parses the columns array and sets the state accordingly\n * @param {ColumnConfig[]} newValue - New value of the columns array\n * @param {ColumnConfig[]} oldValue - Old value of the columns array\n * @returns {void}\n */\n private parseColumnsArray(\n newValue: ColumnConfig[] | null | undefined,\n oldValue: ColumnConfig[] | null | undefined,\n ) {\n // Ensure both are arrays for proper comparison\n const safeNewValue = Array.isArray(newValue) ? newValue : [];\n const safeOldValue = Array.isArray(oldValue) ? oldValue : [];\n\n // Use a proper deep comparison function (e.g., Lodash's isEqual)\n if (this.deepEqual(safeNewValue, safeOldValue)) {\n return;\n }\n\n // Assign only after confirming changes\n this.parsedColumns = safeNewValue;\n }\n\n private initializeTable() {\n // Clear the previous table instance (if any)\n this.table = null;\n\n if (this.parsedColumns.length > 0) {\n this.table = {\n columns: this.parsedColumns,\n data: this.getTableData(),\n };\n } else {\n this.table = null;\n }\n }\n\n private getTableData(): any[] {\n if (\n this.parsedData &&\n Array.isArray(this.parsedData) &&\n this.parsedData.length > 0\n ) {\n return [...this.parsedData];\n } else {\n return [];\n }\n }\n\n // Helper function to get nested property value\n private replaceKeyWithValue(obj: any, path: string) {\n return (\n path\n .split('.')\n .reduce(\n (acc, key) => (acc && acc[key] !== undefined ? acc[key] : undefined),\n obj,\n ) ?? this.fallbackValue\n );\n }\n\n private renderTemplate(template: Element | undefined, row: any) {\n if (!template) {\n return null;\n }\n\n // Handle <template> elements correctly\n const templateContent =\n template instanceof HTMLTemplateElement ? template.content : template;\n const element = deepCopyElement(templateContent as HTMLElement);\n\n // Replace placeholders in text content, attributes, and properties\n element.querySelectorAll('*').forEach(el => {\n // Replace placeholders in text content\n this.replacePlaceholdersTextContent(el, row);\n\n // Replace placeholders in attributes\n this.replacePlaceholdersAttributes(el, row);\n\n // Replace placeholders in properties\n this.replacePlaceholdersProperties(el, row);\n });\n\n // Handle `data-bind-event`\n element.querySelectorAll('[data-bind-event]').forEach(el => {\n const bindEvent = el.getAttribute('data-bind-event') || '';\n const splitted = bindEvent.split(':');\n\n if (!bindEvent.includes(':') || splitted.length < 2) {\n console.warn('Invalid data-bind-event format:', bindEvent);\n return;\n }\n\n const eventType = splitted[0];\n const keyAction = splitted[1];\n const details = splitted.length > 2 ? splitted[2] : null;\n\n el.addEventListener(eventType, () => {\n const keys = details?.split(',') ?? [];\n\n // Convert keys into a single object instead of an array of objects\n const keyValue = keys.reduce((acc, key) => {\n acc[key] = row?.[key];\n return acc;\n }, {} as Record<string, any>);\n\n const action: ActionEvent = { keyAction, details: keyValue };\n\n this.action.emit(action);\n });\n });\n\n // Ensure Web Components are properly connected\n setTimeout(() => {\n element.querySelectorAll('*').forEach(child => {\n if (typeof (child as any).connectedCallback === 'function') {\n (child as any).connectedCallback();\n }\n });\n }, 0);\n\n return (\n <div\n ref={el => {\n if (el) {\n el.innerHTML = ''; // Remove existing content\n el.appendChild(element); // Append new element\n }\n }}\n ></div>\n );\n }\n\n private replacePlaceholdersTextContent(element: Element, row: any) {\n // ✅ Replace placeholders in text content\n element.childNodes.forEach(node => {\n if (node.nodeType === Node.TEXT_NODE) {\n node.textContent = node.textContent.replace(/__([\\w.]+)__/g, (_, key) =>\n this.replaceKeyWithValue(row, key),\n );\n }\n });\n }\n\n private replacePlaceholdersAttributes(element: Element, row: any) {\n // ✅ Replace placeholders in attributes\n Array.from(element.attributes).forEach(attr => {\n if (attr.value.includes('__')) {\n attr.value = attr.value.replace(/__([\\w.]+)__/g, (_, key) =>\n this.replaceKeyWithValue(row, key),\n );\n }\n });\n }\n\n private replacePlaceholdersProperties(element: Element, row: any) {\n // ✅ Dynamically extract relevant properties\n const properties = new Set<string>();\n\n // Collect only own enumerable properties\n Object.keys(element).forEach(key => properties.add(key));\n\n // Collect inherited properties from prototypes (HTMLElement -> Element -> Node)\n let proto = Object.getPrototypeOf(element);\n while (proto && proto !== HTMLElement.prototype) {\n Object.keys(proto).forEach(key => properties.add(key));\n proto = Object.getPrototypeOf(proto);\n }\n\n // ✅ Filter and copy only non-function properties and exclude irrelevant ones\n properties.forEach(prop => {\n if (\n typeof (element as any)[prop] !== 'function' && // Ignore methods\n !prop.startsWith('on') && // Ignore event listeners (onclick, oninput, etc.)\n !excludedProps.has(prop) // 🚨 Prevent text duplication and irrelevant props\n ) {\n try {\n const value = element[prop];\n\n // ✅ Replace placeholders only if the value is a string\n if (typeof value === 'string' && value.includes('__')) {\n element[prop] = value.replace(/__([\\w.]+)__/g, (_, key: string) =>\n this.replaceKeyWithValue(row, key),\n ) as any; // ✅ TypeScript safe\n }\n } catch (error) {\n console.warn(`Could not assign property ${prop}:`, error.message);\n }\n }\n });\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('columnsConfig')\n parseColumns(newValue: ColumnConfig[], oldValue: ColumnConfig[]) {\n this.parseColumnsArray(newValue, oldValue);\n }\n\n @Watch('columnsConfigJson')\n parseJsonColumns(newValue: string | undefined, oldValue: ColumnConfig[]) {\n try {\n const newItems = newValue ? JSON.parse(newValue) : [];\n\n this.parseColumnsArray(newItems, oldValue);\n } catch (e) {\n console.error('Invalid JSON format for columnsConfigJson:', e.message);\n this.parsedColumns = [];\n }\n }\n\n @Watch('data')\n parseData(newValue: any[], oldValue: any[]) {\n this.parseDataArray(newValue, oldValue);\n }\n\n @Watch('dataJson')\n parseJsonData(newValue: string | undefined) {\n try {\n const newItems = newValue ? JSON.parse(newValue) : [];\n\n this.parseDataArray(newItems, this.parsedData);\n } catch (e) {\n console.error('Invalid JSON format for dataJson:', e.message);\n this.parsedData = [];\n }\n }\n\n @Watch('parsedColumns')\n @Watch('parsedData')\n handleParsedChange() {\n this.initializeTable();\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.cacheTemplates();\n\n this.parseDataAndColumns();\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region EVENTS\n\n @Event()\n action: EventEmitter<ActionEvent>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n const headerGroups =\n !this.table || this.table === undefined || this.parsedColumns.length === 0\n ? []\n : this.table.columns;\n\n const rows =\n !this.table || this.table === undefined || this.parsedData.length === 0\n ? []\n : this.table.data;\n\n return (\n <Host>\n <div class=\"hidden\">\n <slot></slot>\n </div>\n\n <slot name=\"before\"></slot>\n\n {this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (\n <div class=\"no-data\">{this.noColumnsNoDataMessage}</div>\n ) : (\n <table class=\"table\">\n {this.parsedColumns.length > 0 && headerGroups.length > 0 && (\n <thead class=\"table-header\">\n <tr>\n {headerGroups &&\n headerGroups.map(col => {\n return (\n <th key={col.name}>\n {this.renderTemplate(\n this.headerTemplateCache.get(col.name),\n {},\n ) || col.header}\n </th>\n );\n })}\n </tr>\n </thead>\n )}\n <tbody class=\"table-body\">\n {!rows || rows.length === 0 ? (\n <tr>\n <td colSpan={headerGroups.length || 12} class=\"no-data\">\n {this.noDataMessage}\n </td>\n </tr>\n ) : (\n rows.map(row => (\n <tr key={JSON.stringify(row)}>\n {headerGroups.map(col => (\n <td>\n {this.renderTemplate(\n this.templateCache.get(col.name),\n row,\n ) ||\n (row[col.name] ?? this.fallbackValue)}\n </td>\n ))}\n </tr>\n ))\n )}\n </tbody>\n </table>\n )}\n\n <slot name=\"after\"></slot>\n </Host>\n );\n }\n // #endregion RENDER\n}\n"]}
|
|
1
|
+
{"version":3,"file":"nv-table.js","sourceRoot":"","sources":["../../../src/components/nv-table/nv-table.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n Component,\n Host,\n Prop,\n State,\n h,\n Element,\n Watch,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport { ColumnConfig } from '../../interfaces/ColumnConfig';\nimport { deepCopyElement, excludedProps } from '../../utils/dom.utils';\n\n/**\n * Helper interface to define the table structure\n */\ninterface Table {\n /**\n * Configuration of the columns of the table\n */\n columns: ColumnConfig[];\n\n /**\n * Data to be displayed in the table\n */\n data: any[];\n}\n\n/**\n * @slot default - Slot for the composed table columns\n * @slot before - Use this slot to insert HTML before the table.\n * @slot after - Use this slot to insert HTML after the table.\n *\n * @deprecated [EXPERIMENTAL]\n * @experimental - This component is used as a base for the nv-datagrid component. Do not use it directly.\n */\n@Component({\n tag: 'nv-table',\n styleUrl: 'nv-table.scss',\n shadow: false,\n})\nexport class NvTable {\n @Element() el: HTMLNvTableElement;\n\n private readonly templateCache = new Map<string, Element>();\n private readonly headerTemplateCache = new Map<string, Element>();\n\n /****************************************************************************/\n //#region STATES\n\n @State()\n parsedColumns: ColumnConfig[] = [];\n\n @State()\n parsedData: any[] = [];\n\n @State()\n private table: Table = null;\n\n //#endregion STATES\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Data to be displayed in the table\n */\n @Prop({ reflect: true })\n readonly data: any[] = [];\n\n /**\n * Configuration of the columns of the table\n */\n @Prop({ reflect: true })\n readonly columnsConfig: ColumnConfig[] = [];\n\n /**\n * Data to be displayed in the table\n */\n @Prop({ reflect: true })\n readonly dataJson?: string;\n\n /**\n * Configuration of the columns of the table\n */\n @Prop({ reflect: true })\n readonly columnsConfigJson?: string;\n\n /**\n * Fallback value to be displayed when data is not available\n */\n @Prop({ reflect: true })\n readonly fallbackValue: string = 'N/A';\n\n /**\n * Message to be displayed when no data is available\n */\n @Prop({ reflect: true })\n readonly noDataMessage: string = 'No data available';\n\n /**\n * The message to display when there are no columns or data available.\n * @default 'No data or columns available to display.'\n */\n @Prop({ reflect: true })\n readonly noColumnsNoDataMessage: string =\n 'No data or columns available to display.';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Caches templates for cells and headers upfront to improve performance.\n */\n private cacheTemplates() {\n const columns = Array.from(this.el.querySelectorAll('nv-tablecolumn'));\n\n columns.forEach((col: HTMLNvTablecolumnElement) => {\n const key = col.name;\n const cellSlot = col.querySelector('[slot=\"cell\"]');\n\n if (cellSlot) {\n const element = deepCopyElement(cellSlot as HTMLElement);\n this.templateCache.set(key, element);\n }\n\n const headerSlot = col.querySelector('[slot=\"header\"]');\n\n if (headerSlot) {\n const element = deepCopyElement(headerSlot as HTMLElement);\n this.headerTemplateCache.set(key, element);\n } else {\n const header = col.header;\n\n if (header) {\n const headerDiv = document.createElement('div');\n headerDiv.textContent = header;\n this.headerTemplateCache.set(key, headerDiv);\n }\n }\n });\n }\n\n private parseDataAndColumns() {\n if (this.dataJson) {\n this.parseJsonData(this.dataJson);\n } else if (this.data && this.data.length > 0) {\n this.parseDataArray(this.data, this.parsedData);\n }\n\n if (this.columnsConfigJson) {\n this.parseJsonColumns(this.columnsConfigJson, this.parsedColumns);\n } else if (this.columnsConfig && this.columnsConfig.length > 0) {\n this.parseColumnsArray(this.columnsConfig, this.parsedColumns);\n } else if (this.headerTemplateCache.size > 0) {\n const headerKeys = Array.from(this.headerTemplateCache.keys());\n const arrayColumnsConfig = headerKeys.map<ColumnConfig>(key => ({\n ...{}, // Ensure no prototype inheritance\n name: key,\n header: key ? key.charAt(0).toUpperCase() + key.slice(1) : '',\n }));\n\n this.parseColumnsArray(arrayColumnsConfig, this.parsedColumns);\n } else if (this.parsedData.length > 0) {\n const firstRow = this.parsedData[0];\n const arrayColumnsConfig = Object.keys(firstRow).map<ColumnConfig>(\n key => ({\n name: key,\n header: key.charAt(0).toUpperCase() + key.slice(1),\n }),\n );\n\n this.parseColumnsArray(arrayColumnsConfig, this.parsedColumns);\n }\n }\n\n private deepEqual(a: any, b: any): boolean {\n return JSON.stringify(a) === JSON.stringify(b);\n }\n\n /**\n * Parses the data array and sets the state accordingly\n * @param {any[]} newValue - New value of the data array\n * @param {any[]} oldValue - Old value of the data array\n * @returns {void}\n */\n private parseDataArray(newValue: any[], oldValue: any[]) {\n // Ensure both are arrays for proper comparison\n const safeNewValue = Array.isArray(newValue) ? newValue : [];\n const safeOldValue = Array.isArray(oldValue) ? oldValue : [];\n\n if (this.deepEqual(safeNewValue, safeOldValue)) {\n return; // Deep comparison\n }\n\n this.parsedData = Array.isArray(newValue) ? newValue : [];\n }\n\n /**\n * Parses the columns array and sets the state accordingly\n * @param {ColumnConfig[]} newValue - New value of the columns array\n * @param {ColumnConfig[]} oldValue - Old value of the columns array\n * @returns {void}\n */\n private parseColumnsArray(\n newValue: ColumnConfig[] | null | undefined,\n oldValue: ColumnConfig[] | null | undefined,\n ) {\n // Ensure both are arrays for proper comparison\n const safeNewValue = Array.isArray(newValue) ? newValue : [];\n const safeOldValue = Array.isArray(oldValue) ? oldValue : [];\n\n // Use a proper deep comparison function (e.g., Lodash's isEqual)\n if (this.deepEqual(safeNewValue, safeOldValue)) {\n return;\n }\n\n // Assign only after confirming changes\n this.parsedColumns = safeNewValue;\n }\n\n private initializeTable() {\n // Clear the previous table instance (if any)\n this.table = null;\n\n if (this.parsedColumns.length > 0) {\n this.table = {\n columns: this.parsedColumns,\n data: this.getTableData(),\n };\n } else {\n this.table = null;\n }\n }\n\n private getTableData(): any[] {\n if (\n this.parsedData &&\n Array.isArray(this.parsedData) &&\n this.parsedData.length > 0\n ) {\n return [...this.parsedData];\n } else {\n return [];\n }\n }\n\n // Helper function to get nested property value\n private replaceKeyWithValue(obj: any, path: string) {\n return (\n path\n .split('.')\n .reduce(\n (acc, key) => (acc && acc[key] !== undefined ? acc[key] : undefined),\n obj,\n ) ?? this.fallbackValue\n );\n }\n\n private renderTemplate(template: Element | undefined, row: any) {\n if (!template) {\n return null;\n }\n\n // Handle <template> elements correctly\n const templateContent =\n template instanceof HTMLTemplateElement ? template.content : template;\n const element = deepCopyElement(templateContent as HTMLElement);\n\n // Replace placeholders in text content, attributes, and properties\n element.querySelectorAll('*').forEach(el => {\n // Replace placeholders in text content\n this.replacePlaceholdersTextContent(el, row);\n\n // Replace placeholders in attributes\n this.replacePlaceholdersAttributes(el, row);\n\n // Replace placeholders in properties\n this.replacePlaceholdersProperties(el, row);\n });\n\n // Handle `data-bind-event`\n element.querySelectorAll('[data-bind-event]').forEach(el => {\n const bindEvent = el.getAttribute('data-bind-event') || '';\n const splitted = bindEvent.split(':');\n\n if (!bindEvent.includes(':') || splitted.length < 2) {\n console.warn('Invalid data-bind-event format:', bindEvent);\n return;\n }\n\n const eventType = splitted[0];\n const keyAction = splitted[1];\n const details = splitted.length > 2 ? splitted[2] : null;\n\n el.addEventListener(eventType, () => {\n const keys = details?.split(',') ?? [];\n\n // Convert keys into a single object instead of an array of objects\n const keyValue = keys.reduce((acc, key) => {\n acc[key] = row?.[key];\n return acc;\n }, {} as Record<string, any>);\n\n const action = { keyAction, details: keyValue };\n\n this.action.emit(action);\n });\n });\n\n // Ensure Web Components are properly connected\n setTimeout(() => {\n element.querySelectorAll('*').forEach(child => {\n if (typeof (child as any).connectedCallback === 'function') {\n (child as any).connectedCallback();\n }\n });\n }, 0);\n\n return (\n <div\n ref={el => {\n if (el) {\n el.innerHTML = ''; // Remove existing content\n el.appendChild(element); // Append new element\n }\n }}\n ></div>\n );\n }\n\n private replacePlaceholdersTextContent(element: Element, row: any) {\n // ✅ Replace placeholders in text content\n element.childNodes.forEach(node => {\n if (node.nodeType === Node.TEXT_NODE) {\n node.textContent = node.textContent.replace(/__([\\w.]+)__/g, (_, key) =>\n this.replaceKeyWithValue(row, key),\n );\n }\n });\n }\n\n private replacePlaceholdersAttributes(element: Element, row: any) {\n // ✅ Replace placeholders in attributes\n Array.from(element.attributes).forEach(attr => {\n if (attr.value.includes('__')) {\n attr.value = attr.value.replace(/__([\\w.]+)__/g, (_, key) =>\n this.replaceKeyWithValue(row, key),\n );\n }\n });\n }\n\n private replacePlaceholdersProperties(element: Element, row: any) {\n // ✅ Dynamically extract relevant properties\n const properties = new Set<string>();\n\n // Collect only own enumerable properties\n Object.keys(element).forEach(key => properties.add(key));\n\n // Collect inherited properties from prototypes (HTMLElement -> Element -> Node)\n let proto = Object.getPrototypeOf(element);\n while (proto && proto !== HTMLElement.prototype) {\n Object.keys(proto).forEach(key => properties.add(key));\n proto = Object.getPrototypeOf(proto);\n }\n\n // ✅ Filter and copy only non-function properties and exclude irrelevant ones\n properties.forEach(prop => {\n if (\n typeof (element as any)[prop] !== 'function' && // Ignore methods\n !prop.startsWith('on') && // Ignore event listeners (onclick, oninput, etc.)\n !excludedProps.has(prop) // 🚨 Prevent text duplication and irrelevant props\n ) {\n try {\n const value = element[prop];\n\n // ✅ Replace placeholders only if the value is a string\n if (typeof value === 'string' && value.includes('__')) {\n element[prop] = value.replace(/__([\\w.]+)__/g, (_, key: string) =>\n this.replaceKeyWithValue(row, key),\n ) as any; // ✅ TypeScript safe\n }\n } catch (error) {\n console.warn(`Could not assign property ${prop}:`, error.message);\n }\n }\n });\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('columnsConfig')\n parseColumns(newValue: ColumnConfig[], oldValue: ColumnConfig[]) {\n this.parseColumnsArray(newValue, oldValue);\n }\n\n @Watch('columnsConfigJson')\n parseJsonColumns(newValue: string | undefined, oldValue: ColumnConfig[]) {\n try {\n const newItems = newValue ? JSON.parse(newValue) : [];\n\n this.parseColumnsArray(newItems, oldValue);\n } catch (e) {\n console.error('Invalid JSON format for columnsConfigJson:', e.message);\n this.parsedColumns = [];\n }\n }\n\n @Watch('data')\n parseData(newValue: any[], oldValue: any[]) {\n this.parseDataArray(newValue, oldValue);\n }\n\n @Watch('dataJson')\n parseJsonData(newValue: string | undefined) {\n try {\n const newItems = newValue ? JSON.parse(newValue) : [];\n\n this.parseDataArray(newItems, this.parsedData);\n } catch (e) {\n console.error('Invalid JSON format for dataJson:', e.message);\n this.parsedData = [];\n }\n }\n\n @Watch('parsedColumns')\n @Watch('parsedData')\n handleParsedChange() {\n this.initializeTable();\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.cacheTemplates();\n\n this.parseDataAndColumns();\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region EVENTS\n\n @Event()\n action: EventEmitter<{\n /**\n * Key action to be performed\n */\n keyAction: string;\n\n /**\n * Details of the action to be performed\n */\n details: any;\n }>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n const headerGroups =\n !this.table || this.table === undefined || this.parsedColumns.length === 0\n ? []\n : this.table.columns;\n\n const rows =\n !this.table || this.table === undefined || this.parsedData.length === 0\n ? []\n : this.table.data;\n\n return (\n <Host>\n <div class=\"hidden\">\n <slot></slot>\n </div>\n\n <slot name=\"before\"></slot>\n\n {this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (\n <div class=\"no-data\">{this.noColumnsNoDataMessage}</div>\n ) : (\n <table class=\"table\">\n {this.parsedColumns.length > 0 && headerGroups.length > 0 && (\n <thead class=\"table-header\">\n <tr>\n {headerGroups &&\n headerGroups.map(col => {\n return (\n <th key={col.name}>\n {this.renderTemplate(\n this.headerTemplateCache.get(col.name),\n {},\n ) || col.header}\n </th>\n );\n })}\n </tr>\n </thead>\n )}\n <tbody class=\"table-body\">\n {!rows || rows.length === 0 ? (\n <tr>\n <td colSpan={headerGroups.length || 12} class=\"no-data\">\n {this.noDataMessage}\n </td>\n </tr>\n ) : (\n rows.map(row => (\n <tr key={JSON.stringify(row)}>\n {headerGroups.map(col => (\n <td>\n {this.renderTemplate(\n this.templateCache.get(col.name),\n row,\n ) ||\n (row[col.name] ?? this.fallbackValue)}\n </td>\n ))}\n </tr>\n ))\n )}\n </tbody>\n </table>\n )}\n\n <slot name=\"after\"></slot>\n </Host>\n );\n }\n // #endregion RENDER\n}\n"]}
|