@nova-design-system/nova-webcomponents 3.29.0 → 3.30.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-BugGJYqL.js → constants-BSdCE1ZF.js} +5 -0
- package/dist/cjs/index-Bj9nnTVm.js +4856 -0
- package/dist/cjs/index.cjs.js +5 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/native.cjs.js +2 -2
- package/dist/cjs/nv-accordion-item.cjs.entry.js +3 -3
- package/dist/cjs/nv-accordion.cjs.entry.js +2 -2
- package/dist/cjs/nv-alert.cjs.entry.js +3 -3
- package/dist/cjs/nv-avatar.cjs.entry.js +3 -3
- package/dist/cjs/nv-badge_2.cjs.entry.js +5 -5
- package/dist/cjs/nv-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/nv-breadcrumbs.cjs.entry.js +2 -2
- package/dist/cjs/nv-button.cjs.entry.js +3 -3
- package/dist/cjs/nv-buttongroup.cjs.entry.js +2 -2
- package/dist/cjs/nv-calendar.cjs.entry.js +4 -4
- package/dist/cjs/nv-col.cjs.entry.js +2 -2
- package/dist/cjs/nv-datagrid.cjs.entry.js +4 -4
- package/dist/cjs/nv-datagridcolumn.cjs.entry.js +2 -2
- package/dist/cjs/nv-datetest.cjs.entry.js +2 -2
- package/dist/cjs/nv-datetimetest.cjs.entry.js +1 -1
- package/dist/cjs/nv-dialog.cjs.entry.js +3 -3
- package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +4 -4
- package/dist/cjs/nv-drawer.cjs.entry.js +3 -3
- package/dist/cjs/nv-drawerfooter_2.cjs.entry.js +4 -4
- package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +5 -5
- package/dist/cjs/nv-fielddate.cjs.entry.js +7 -7
- package/dist/cjs/nv-fielddaterange.cjs.entry.js +7 -7
- package/dist/cjs/nv-fielddropdown.cjs.entry.js +5 -5
- package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +2 -2
- package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +1 -1
- package/dist/cjs/nv-fieldnumber.cjs.entry.js +5 -5
- package/dist/cjs/nv-fieldpassword.cjs.entry.js +5 -5
- package/dist/cjs/nv-fieldradio.cjs.entry.js +4 -4
- package/dist/cjs/nv-fieldselect.cjs.entry.js +6 -6
- package/dist/cjs/nv-fieldslider.cjs.entry.js +4 -4
- package/dist/cjs/nv-fieldtext.cjs.entry.js +5 -5
- package/dist/cjs/nv-fieldtextarea.cjs.entry.js +4 -4
- package/dist/cjs/nv-fieldtime.cjs.entry.js +5 -5
- package/dist/cjs/nv-icon.cjs.entry.js +3 -3
- package/dist/cjs/nv-iconbutton_2.cjs.entry.js +3 -3
- package/dist/cjs/nv-menu.cjs.entry.js +2 -2
- package/dist/cjs/nv-menuitem.cjs.entry.js +2 -2
- package/dist/cjs/nv-notification-bullet.cjs.entry.js +1 -1
- package/dist/cjs/nv-notification.cjs.entry.js +3 -3
- package/dist/cjs/nv-notificationcontainer.cjs.entry.js +2 -2
- package/dist/cjs/nv-pagination-nav.cjs.entry.js +2 -2
- package/dist/cjs/nv-paginationtable.cjs.entry.js +19 -3
- package/dist/cjs/nv-popover.cjs.entry.js +2 -2
- package/dist/cjs/nv-row.cjs.entry.js +2 -2
- package/dist/cjs/nv-sidebar.cjs.entry.js +178 -4
- package/dist/cjs/nv-sidebarcontent.cjs.entry.js +2 -2
- package/dist/cjs/nv-sidebardivider.cjs.entry.js +2 -2
- package/dist/cjs/nv-sidebarfooter.cjs.entry.js +2 -2
- package/dist/cjs/nv-sidebargroup.cjs.entry.js +2 -2
- package/dist/cjs/nv-sidebarheader.cjs.entry.js +2 -2
- package/dist/cjs/nv-sidebarlogo.cjs.entry.js +2 -2
- package/dist/cjs/nv-sidebarnavitem.cjs.entry.js +3 -3
- package/dist/cjs/nv-sidebarnavsubitem.cjs.entry.js +2 -2
- package/dist/cjs/nv-split.cjs.entry.js +2 -2
- package/dist/cjs/nv-stack.cjs.entry.js +2 -2
- package/dist/cjs/nv-statusindicator.cjs.entry.js +39 -0
- package/dist/cjs/nv-table.cjs.entry.js +3 -3
- package/dist/cjs/nv-tableheader.cjs.entry.js +2 -2
- package/dist/cjs/nv-tag.cjs.entry.js +82 -0
- package/dist/cjs/nv-timetest.cjs.entry.js +2 -2
- package/dist/cjs/nv-toggle.cjs.entry.js +3 -3
- package/dist/cjs/nv-togglebutton.cjs.entry.js +2 -2
- package/dist/cjs/nv-togglebuttongroup.cjs.entry.js +2 -2
- package/dist/cjs/nv-tooltip.cjs.entry.js +2 -2
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/nv-accordion/nv-accordion.js +1 -1
- package/dist/collection/components/nv-accordion-item/nv-accordion-item.js +2 -2
- package/dist/collection/components/nv-alert/nv-alert.js +1 -1
- package/dist/collection/components/nv-avatar/nv-avatar.js +1 -1
- package/dist/collection/components/nv-badge/nv-badge.js +3 -3
- package/dist/collection/components/nv-breadcrumb/nv-breadcrumb.js +1 -1
- package/dist/collection/components/nv-breadcrumbs/nv-breadcrumbs.js +1 -1
- package/dist/collection/components/nv-button/nv-button.js +1 -1
- package/dist/collection/components/nv-buttongroup/nv-buttongroup.js +1 -1
- package/dist/collection/components/nv-calendar/nv-calendar.js +2 -2
- package/dist/collection/components/nv-col/nv-col.js +1 -1
- package/dist/collection/components/nv-datagrid/nv-datagrid.js +2 -2
- package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +1 -1
- package/dist/collection/components/nv-datetest/nv-datetest.js +1 -1
- package/dist/collection/components/nv-dialog/nv-dialog.js +1 -1
- package/dist/collection/components/nv-dialogfooter/nv-dialogfooter.js +1 -1
- package/dist/collection/components/nv-dialogheader/nv-dialogheader.js +1 -1
- package/dist/collection/components/nv-drawer/nv-drawer.js +1 -1
- package/dist/collection/components/nv-drawerfooter/nv-drawerfooter.js +1 -1
- package/dist/collection/components/nv-drawerheader/nv-drawerheader.js +1 -1
- package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +4 -4
- package/dist/collection/components/nv-fielddate/nv-fielddate.js +6 -6
- package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +6 -6
- package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +4 -4
- 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-fieldnumber/nv-fieldnumber.js +4 -4
- package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +4 -4
- package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
- package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +5 -5
- package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +3 -3
- package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +4 -4
- package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -3
- package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +3 -3
- package/dist/collection/components/nv-icon/nv-icon.js +1 -1
- package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
- package/dist/collection/components/nv-loader/nv-loader.js +1 -1
- package/dist/collection/components/nv-menu/nv-menu.js +1 -1
- package/dist/collection/components/nv-menuitem/nv-menuitem.js +1 -1
- package/dist/collection/components/nv-notification/nv-notification.js +1 -1
- package/dist/collection/components/nv-notificationcontainer/nv-notificationcontainer.js +1 -1
- package/dist/collection/components/nv-pagination-nav/nv-pagination-nav.js +1 -1
- package/dist/collection/components/nv-paginationtable/nv-paginationtable.js +6 -3
- package/dist/collection/components/nv-paginationtable/nv-paginationtable.utils.js +13 -0
- package/dist/collection/components/nv-paginationtable/test/nv-paginationtable.utils.test.js +26 -1
- 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-sidebar/nv-sidebar.docs.js +7 -0
- package/dist/collection/components/nv-sidebar/nv-sidebar.js +274 -2
- package/dist/collection/components/nv-sidebar/styles/nv-sidebar.css +26 -0
- package/dist/collection/components/nv-sidebarcontent/nv-sidebarcontent.js +1 -1
- package/dist/collection/components/nv-sidebardivider/nv-sidebardivider.js +1 -1
- package/dist/collection/components/nv-sidebarfooter/nv-sidebarfooter.js +1 -1
- package/dist/collection/components/nv-sidebargroup/nv-sidebargroup.js +1 -1
- package/dist/collection/components/nv-sidebarheader/nv-sidebarheader.js +1 -1
- package/dist/collection/components/nv-sidebarlogo/nv-sidebarlogo.js +1 -1
- package/dist/collection/components/nv-sidebarnavitem/nv-sidebarnavitem.js +2 -2
- package/dist/collection/components/nv-sidebarnavsubitem/nv-sidebarnavsubitem.js +1 -1
- package/dist/collection/components/nv-split/nv-split.js +2 -1
- package/dist/collection/components/nv-stack/nv-stack.js +1 -1
- package/dist/collection/components/nv-statusindicator/nv-statusindicator.css +73 -0
- package/dist/collection/components/nv-statusindicator/nv-statusindicator.docs.js +34 -0
- package/dist/collection/components/nv-statusindicator/nv-statusindicator.js +122 -0
- package/dist/collection/components/nv-table/nv-table.js +1 -1
- package/dist/collection/components/nv-table/styles/nv-table.css +22 -3
- package/dist/collection/components/nv-tableheader/nv-tableheader.js +1 -1
- package/dist/collection/components/nv-tag/nv-tag.css +228 -0
- package/dist/collection/components/nv-tag/nv-tag.docs.js +114 -0
- package/dist/collection/components/nv-tag/nv-tag.js +251 -0
- package/dist/collection/components/nv-timetest/nv-timetest.js +1 -1
- package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
- package/dist/collection/components/nv-togglebutton/nv-togglebutton.js +1 -1
- package/dist/collection/components/nv-togglebuttongroup/nv-togglebuttongroup.js +1 -1
- package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
- package/dist/collection/utils/constants.js +5 -0
- package/dist/components/index.js +1 -1
- package/dist/components/nv-accordion-item.js +1 -1
- package/dist/components/nv-accordion.js +1 -1
- package/dist/components/nv-alert.js +1 -1
- package/dist/components/nv-avatar.js +1 -1
- package/dist/components/nv-badge.js +1 -1
- package/dist/components/nv-breadcrumb.js +1 -1
- package/dist/components/nv-breadcrumbs.js +1 -1
- package/dist/components/nv-button.js +1 -1
- package/dist/components/nv-buttongroup.js +1 -1
- package/dist/components/nv-calendar.js +1 -1
- package/dist/components/nv-col.js +1 -1
- package/dist/components/nv-datagrid.js +1 -1
- package/dist/components/nv-datagridcolumn.js +1 -1
- package/dist/components/nv-datetest.js +1 -1
- package/dist/components/nv-datetimetest.js +1 -1
- package/dist/components/nv-dialog.js +1 -1
- package/dist/components/nv-dialogfooter.js +1 -1
- package/dist/components/nv-dialogheader.js +1 -1
- package/dist/components/nv-drawer.js +1 -1
- package/dist/components/nv-drawerfooter.js +1 -1
- package/dist/components/nv-drawerheader.js +1 -1
- package/dist/components/nv-fieldcheckbox.js +1 -1
- package/dist/components/nv-fielddate.js +1 -1
- package/dist/components/nv-fielddaterange.js +1 -1
- package/dist/components/nv-fielddropdown.js +1 -1
- package/dist/components/nv-fielddropdownitem.js +1 -1
- package/dist/components/nv-fielddropdownitemcheck.js +1 -1
- package/dist/components/nv-fieldmultiselect.js +1 -1
- package/dist/components/nv-fieldnumber.js +1 -1
- package/dist/components/nv-fieldpassword.js +1 -1
- package/dist/components/nv-fieldradio.js +1 -1
- package/dist/components/nv-fieldselect.js +1 -1
- package/dist/components/nv-fieldslider.js +1 -1
- package/dist/components/nv-fieldtext.js +1 -1
- package/dist/components/nv-fieldtextarea.js +1 -1
- package/dist/components/nv-fieldtime.js +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 +1 -1
- package/dist/components/nv-menuitem.js +1 -1
- package/dist/components/nv-notification-bullet.js +1 -1
- package/dist/components/nv-notification.js +1 -1
- package/dist/components/nv-notificationcontainer.js +1 -1
- package/dist/components/nv-pagination-nav.js +1 -1
- package/dist/components/nv-paginationtable.js +1 -1
- package/dist/components/nv-popover.js +1 -1
- package/dist/components/nv-row.js +1 -1
- package/dist/components/nv-sidebar.js +1 -1
- package/dist/components/nv-sidebarcontent.js +1 -1
- package/dist/components/nv-sidebardivider.js +1 -1
- package/dist/components/nv-sidebarfooter.js +1 -1
- package/dist/components/nv-sidebargroup.js +1 -1
- package/dist/components/nv-sidebarheader.js +1 -1
- package/dist/components/nv-sidebarlogo.js +1 -1
- package/dist/components/nv-sidebarnavitem.js +1 -1
- package/dist/components/nv-sidebarnavsubitem.js +1 -1
- package/dist/components/nv-split.js +1 -1
- package/dist/components/nv-stack.js +1 -1
- package/dist/components/nv-statusindicator.d.ts +11 -0
- package/dist/components/nv-statusindicator.js +1 -0
- package/dist/components/nv-table.js +1 -1
- package/dist/components/nv-tableheader.js +1 -1
- package/dist/components/nv-tag.d.ts +11 -0
- package/dist/components/nv-tag.js +1 -0
- package/dist/components/nv-timetest.js +1 -1
- package/dist/components/nv-toggle.js +1 -1
- package/dist/components/nv-togglebutton.js +1 -1
- package/dist/components/nv-togglebuttongroup.js +1 -1
- package/dist/components/nv-tooltip.js +1 -1
- package/dist/components/{p-C99g_PrG.js → p-B4qcUV0M.js} +1 -1
- package/dist/components/p-B8yJMa0S.js +1 -0
- package/dist/components/{p-CBlrNW6n.js → p-BU3AWnne.js} +1 -1
- package/dist/components/{p-DKgmDzJ1.js → p-BYrgllP3.js} +1 -1
- package/dist/components/{p-DdcXhR3I.js → p-BhRpSdkR.js} +1 -1
- package/dist/components/{p-CT782LKx.js → p-Bu90dktV.js} +1 -1
- package/dist/components/{p-Cuq_uNwY.js → p-CObbk0-q.js} +1 -1
- package/dist/components/{p-CD12QIMB.js → p-CTISxdir.js} +1 -1
- package/dist/components/{p-D1psKXwD.js → p-Cj6urNtm.js} +1 -1
- package/dist/components/{p-D3JDACHw.js → p-Cx5CLy9v.js} +1 -1
- package/dist/components/{p-Bl7rc9YV.js → p-Cyn4-37z.js} +1 -1
- package/dist/components/{p-EV8CtE4q.js → p-CzRJpv7x.js} +1 -1
- package/dist/components/{p-CgufQqes.js → p-CzRlra4z.js} +1 -1
- package/dist/components/{p-CUjRfVPl.js → p-D54x8OFu.js} +1 -1
- package/dist/components/p-DP_K3tkj.js +1 -0
- package/dist/components/{p-Bytxo1iR.js → p-DQuJvZ4Z.js} +1 -1
- package/dist/components/{p-p1ofW2Cs.js → p-DZdOQQrW.js} +1 -1
- package/dist/components/{p-_zOMJBOq.js → p-Dg-Ac5i4.js} +1 -1
- package/dist/components/p-DiwYO24j.js +2 -0
- package/dist/components/{p-ChVdX6FG.js → p-GDyaHbt9.js} +1 -1
- package/dist/components/{p-Cnlbk416.js → p-L7U51TAH.js} +1 -1
- package/dist/components/{p-RYxAzR3m.js → p-MLanePUO.js} +1 -1
- package/dist/components/p-gOKBmbgZ.js +1 -0
- package/dist/components/{p-CfOVizcp.js → p-yPMU6HZQ.js} +1 -1
- package/dist/esm/{constants-BReL3Lsa.js → constants-gOKBmbgZ.js} +6 -1
- package/dist/esm/index-CTmBvINI.js +4820 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/native.js +3 -3
- package/dist/esm/nv-accordion-item.entry.js +3 -3
- package/dist/esm/nv-accordion.entry.js +2 -2
- package/dist/esm/nv-alert.entry.js +3 -3
- package/dist/esm/nv-avatar.entry.js +3 -3
- package/dist/esm/nv-badge_2.entry.js +5 -5
- package/dist/esm/nv-breadcrumb.entry.js +2 -2
- package/dist/esm/nv-breadcrumbs.entry.js +2 -2
- package/dist/esm/nv-button.entry.js +3 -3
- package/dist/esm/nv-buttongroup.entry.js +2 -2
- package/dist/esm/nv-calendar.entry.js +4 -4
- package/dist/esm/nv-col.entry.js +2 -2
- package/dist/esm/nv-datagrid.entry.js +4 -4
- package/dist/esm/nv-datagridcolumn.entry.js +2 -2
- package/dist/esm/nv-datetest.entry.js +2 -2
- package/dist/esm/nv-datetimetest.entry.js +1 -1
- package/dist/esm/nv-dialog.entry.js +3 -3
- package/dist/esm/nv-dialogfooter_2.entry.js +4 -4
- package/dist/esm/nv-drawer.entry.js +3 -3
- package/dist/esm/nv-drawerfooter_2.entry.js +4 -4
- package/dist/esm/nv-fieldcheckbox.entry.js +5 -5
- package/dist/esm/nv-fielddate.entry.js +7 -7
- package/dist/esm/nv-fielddaterange.entry.js +7 -7
- package/dist/esm/nv-fielddropdown.entry.js +5 -5
- package/dist/esm/nv-fielddropdownitem.entry.js +2 -2
- package/dist/esm/nv-fieldmultiselect.entry.js +1 -1
- package/dist/esm/nv-fieldnumber.entry.js +5 -5
- package/dist/esm/nv-fieldpassword.entry.js +5 -5
- package/dist/esm/nv-fieldradio.entry.js +4 -4
- package/dist/esm/nv-fieldselect.entry.js +6 -6
- package/dist/esm/nv-fieldslider.entry.js +4 -4
- package/dist/esm/nv-fieldtext.entry.js +5 -5
- package/dist/esm/nv-fieldtextarea.entry.js +4 -4
- package/dist/esm/nv-fieldtime.entry.js +5 -5
- package/dist/esm/nv-icon.entry.js +3 -3
- package/dist/esm/nv-iconbutton_2.entry.js +3 -3
- package/dist/esm/nv-menu.entry.js +2 -2
- package/dist/esm/nv-menuitem.entry.js +2 -2
- package/dist/esm/nv-notification-bullet.entry.js +1 -1
- package/dist/esm/nv-notification.entry.js +3 -3
- package/dist/esm/nv-notificationcontainer.entry.js +2 -2
- package/dist/esm/nv-pagination-nav.entry.js +2 -2
- package/dist/esm/nv-paginationtable.entry.js +19 -3
- package/dist/esm/nv-popover.entry.js +2 -2
- package/dist/esm/nv-row.entry.js +2 -2
- package/dist/esm/nv-sidebar.entry.js +178 -4
- package/dist/esm/nv-sidebarcontent.entry.js +2 -2
- package/dist/esm/nv-sidebardivider.entry.js +2 -2
- package/dist/esm/nv-sidebarfooter.entry.js +2 -2
- package/dist/esm/nv-sidebargroup.entry.js +2 -2
- package/dist/esm/nv-sidebarheader.entry.js +2 -2
- package/dist/esm/nv-sidebarlogo.entry.js +2 -2
- package/dist/esm/nv-sidebarnavitem.entry.js +3 -3
- package/dist/esm/nv-sidebarnavsubitem.entry.js +2 -2
- package/dist/esm/nv-split.entry.js +2 -2
- package/dist/esm/nv-stack.entry.js +2 -2
- package/dist/esm/nv-statusindicator.entry.js +37 -0
- package/dist/esm/nv-table.entry.js +3 -3
- package/dist/esm/nv-tableheader.entry.js +2 -2
- package/dist/esm/nv-tag.entry.js +80 -0
- package/dist/esm/nv-timetest.entry.js +2 -2
- package/dist/esm/nv-toggle.entry.js +3 -3
- package/dist/esm/nv-togglebutton.entry.js +2 -2
- package/dist/esm/nv-togglebuttongroup.entry.js +2 -2
- package/dist/esm/nv-tooltip.entry.js +2 -2
- package/dist/native/index.esm.js +1 -1
- package/dist/native/native.css +5711 -1
- package/dist/native/native.esm.js +1 -1
- package/dist/native/{p-b7436a14.entry.js → p-04011d0f.entry.js} +1 -1
- package/dist/native/{p-0f9a284e.entry.js → p-0c65e726.entry.js} +1 -1
- package/dist/native/{p-0a17050f.entry.js → p-10dee67d.entry.js} +1 -1
- package/dist/native/p-16037ec8.entry.js +1 -0
- package/dist/native/{p-568fbdac.entry.js → p-189647e4.entry.js} +1 -1
- package/dist/native/{p-0d03b6ed.entry.js → p-270bf467.entry.js} +1 -1
- package/dist/native/{p-2b1efb98.entry.js → p-287c67e1.entry.js} +1 -1
- package/dist/native/p-298d893d.entry.js +1 -0
- package/dist/native/{p-48c1bab4.entry.js → p-29acf903.entry.js} +1 -1
- package/dist/native/{p-2d37df11.entry.js → p-2afcd5e4.entry.js} +1 -1
- package/dist/native/p-33889f52.entry.js +1 -0
- package/dist/native/p-34d30b90.entry.js +1 -0
- package/dist/native/{p-04e40a1e.entry.js → p-352854eb.entry.js} +1 -1
- package/dist/native/{p-8e05077a.entry.js → p-37c42bed.entry.js} +1 -1
- package/dist/native/{p-c20e0b5f.entry.js → p-3969a700.entry.js} +1 -1
- package/dist/native/{p-4bb9b387.entry.js → p-3f888601.entry.js} +1 -1
- package/dist/native/{p-7bb2536f.entry.js → p-40000df1.entry.js} +1 -1
- package/dist/native/{p-eb737344.entry.js → p-410c21e3.entry.js} +1 -1
- package/dist/native/{p-4badca4e.entry.js → p-4514a6a4.entry.js} +1 -1
- package/dist/native/{p-1ea2a804.entry.js → p-49745be2.entry.js} +1 -1
- package/dist/native/{p-2d5189eb.entry.js → p-5375ddc6.entry.js} +1 -1
- package/dist/native/{p-d5060f92.entry.js → p-5690757b.entry.js} +1 -1
- package/dist/native/p-5c321768.entry.js +1 -0
- package/dist/native/{p-7fd6f0b0.entry.js → p-5df9c196.entry.js} +1 -1
- package/dist/native/{p-9a05395d.entry.js → p-5ef11914.entry.js} +1 -1
- package/dist/native/{p-59ecaf60.entry.js → p-64649214.entry.js} +1 -1
- package/dist/native/{p-27ecae3c.entry.js → p-6bb02337.entry.js} +1 -1
- package/dist/native/{p-9b8478a7.entry.js → p-6ccc84c8.entry.js} +1 -1
- package/dist/native/{p-2e932ca4.entry.js → p-6dab2e90.entry.js} +1 -1
- package/dist/native/{p-1450d746.entry.js → p-728f09d5.entry.js} +1 -1
- package/dist/native/{p-49c6d122.entry.js → p-7b1c369b.entry.js} +1 -1
- package/dist/native/p-7b3853be.entry.js +1 -0
- package/dist/native/p-7c9e1f01.entry.js +1 -0
- package/dist/native/p-7cbc09f0.entry.js +1 -0
- package/dist/native/p-859b24ed.entry.js +1 -0
- package/dist/native/{p-d5e931c9.entry.js → p-8decb323.entry.js} +1 -1
- package/dist/native/{p-0d3ab890.entry.js → p-8dfcfb72.entry.js} +1 -1
- package/dist/native/p-8faf3e05.entry.js +1 -0
- package/dist/native/p-915fe20c.entry.js +1 -0
- package/dist/native/p-91cb5c65.entry.js +1 -0
- package/dist/native/{p-1bc76216.entry.js → p-93d2bfab.entry.js} +1 -1
- package/dist/native/{p-16600d93.entry.js → p-9affde0d.entry.js} +1 -1
- package/dist/native/p-CTmBvINI.js +2 -0
- package/dist/native/{p-f7fdca43.entry.js → p-a1ef6740.entry.js} +1 -1
- package/dist/native/p-b2c31350.entry.js +1 -0
- package/dist/native/{p-5cefca3c.entry.js → p-b2ef61bc.entry.js} +1 -1
- package/dist/native/{p-a5e39524.entry.js → p-b7a10751.entry.js} +1 -1
- package/dist/native/{p-ca4ab8a5.entry.js → p-b88dcd21.entry.js} +1 -1
- package/dist/native/p-b99ad8a7.entry.js +1 -0
- package/dist/native/{p-2e40d5d9.entry.js → p-be2e4cf0.entry.js} +1 -1
- package/dist/native/{p-0770997b.entry.js → p-befb5e4e.entry.js} +1 -1
- package/dist/native/{p-07f3200b.entry.js → p-c1faed1f.entry.js} +1 -1
- package/dist/native/{p-d468c445.entry.js → p-c305f1c6.entry.js} +1 -1
- package/dist/native/{p-f078f10a.entry.js → p-c5261442.entry.js} +1 -1
- package/dist/native/{p-12269ed5.entry.js → p-cd21a60d.entry.js} +1 -1
- package/dist/native/{p-0f59cb66.entry.js → p-d0dfa700.entry.js} +1 -1
- package/dist/native/{p-bff549dd.entry.js → p-d4d04530.entry.js} +1 -1
- package/dist/native/{p-336d63c4.entry.js → p-dc000c85.entry.js} +1 -1
- package/dist/native/p-df3ab86a.entry.js +1 -0
- package/dist/native/p-dfb46af1.entry.js +1 -0
- package/dist/native/{p-26c0c34b.entry.js → p-dfd364de.entry.js} +1 -1
- package/dist/native/{p-7b545176.entry.js → p-e7a73a7c.entry.js} +1 -1
- package/dist/native/p-eab25bfa.entry.js +1 -0
- package/dist/native/{p-706eeea4.entry.js → p-ec919a10.entry.js} +1 -1
- package/dist/native/{p-3ddc967e.entry.js → p-ffc9e2a0.entry.js} +1 -1
- package/dist/native/p-gOKBmbgZ.js +1 -0
- package/dist/types/components/nv-paginationtable/nv-paginationtable.utils.d.ts +9 -0
- package/dist/types/components/nv-sidebar/nv-sidebar.d.ts +43 -0
- package/dist/types/components/nv-split/nv-split.d.ts +1 -0
- package/dist/types/components/nv-statusindicator/nv-statusindicator.d.ts +22 -0
- package/dist/types/components/nv-statusindicator/nv-statusindicator.docs.d.ts +4 -0
- package/dist/types/components/nv-tag/nv-tag.d.ts +64 -0
- package/dist/types/components/nv-tag/nv-tag.docs.d.ts +4 -0
- package/dist/types/components.d.ts +210 -2
- package/dist/types/index.d.ts +1 -1
- package/dist/types/utils/constants.d.ts +4 -0
- package/dist/vscode-data.json +145 -0
- package/hydrate/index.js +461 -114
- package/hydrate/index.mjs +461 -114
- package/package.json +21 -9
- package/dist/cjs/index-eLt3bBQs.js +0 -4848
- package/dist/components/p-BReL3Lsa.js +0 -1
- package/dist/components/p-C47vpaBp.js +0 -1
- package/dist/components/p-Cr_-lRNo.js +0 -1
- package/dist/components/p-flcatmxD.js +0 -2
- package/dist/esm/index-DU3Vhh_k.js +0 -4812
- package/dist/native/p-3afa34d1.entry.js +0 -1
- package/dist/native/p-5f6e45ca.entry.js +0 -1
- package/dist/native/p-6f1213fb.entry.js +0 -1
- package/dist/native/p-6f91712c.entry.js +0 -1
- package/dist/native/p-7126f67e.entry.js +0 -1
- package/dist/native/p-748661f0.entry.js +0 -1
- package/dist/native/p-803759ef.entry.js +0 -1
- package/dist/native/p-92539825.entry.js +0 -1
- package/dist/native/p-943a4dfd.entry.js +0 -1
- package/dist/native/p-96078a63.entry.js +0 -1
- package/dist/native/p-BReL3Lsa.js +0 -1
- package/dist/native/p-DU3Vhh_k.js +0 -2
- package/dist/native/p-dc647a64.entry.js +0 -1
- package/dist/native/p-df5c6b0c.entry.js +0 -1
- package/dist/native/p-e8569a99.entry.js +0 -1
- package/dist/native/p-f3756dfd.entry.js +0 -1
- package/dist/native/p-f3ded7e8.entry.js +0 -1
|
@@ -158,7 +158,7 @@ export class NvNotification {
|
|
|
158
158
|
/****************************************************************************/
|
|
159
159
|
//#region RENDER
|
|
160
160
|
render() {
|
|
161
|
-
return (h(Host, { key: '
|
|
161
|
+
return (h(Host, { key: '32af1308aa22ce8228416fcce23ce5b75111895b', role: this.getAriaRole(), "aria-live": this.getAriaLive(), "aria-atomic": true, "aria-labelledby": this.getHeadingId() ?? null, "aria-describedby": this.getMessageId() ?? null, tabindex: "-1" }, h("div", { key: 'e63deeef95ae6c0e3fe1d8ce178c5dbe9d82f88c', "data-scope": "container", ref: el => (this.container = el) }, this.dismissible && (h("button", { key: '1b66875001f685293d83bbe90a85b297b335c024', "data-scope": "dismiss", type: "button", onClick: this.dismiss.bind(this) }, h("nv-icon", { key: 'b1be8798751f60f41925ea92e40df697eb15fa42', name: "x", size: "sm" }))), h("nv-icon", { key: 'a922d93bddb729fa7674199d438833544d48da2e', name: this.icon ?? this.getDefaultIcon(), size: "md", "data-scope": "icon" }), h("div", { key: 'a55e449e8e17560a70d3d40ff3b9e7e2855fbbac', "data-scope": "content" }, (this.heading || this.headingSlot) && (h("p", { key: 'd4c7b85c8b9c5c488b86ba4c8f0c456b8ea3ca2d', id: this.getHeadingId(), "data-scope": "heading" }, h("slot", { key: 'e1ef0d24ae77ee788c63d66bed7fee308f3f9d13', name: "heading" }, this.heading))), (this.message || this.messageSlot) && (h("p", { key: 'cd7d469058230fec03311e485da0360766633dd0', id: this.getMessageId(), "data-scope": "message" }, h("slot", { key: 'cd5000e571c1a7b19bbb0f59e58e938ee4e51361', name: "content" }, this.message))), this.actionsSlot && (h("div", { key: 'b0a19b512cc2fbce22907ac28828429202378e75', "data-scope": "actions" }, h("slot", { key: 'd40e04eb94154b319c8e212c76f1d932942137d0', name: "actions" })))))));
|
|
162
162
|
}
|
|
163
163
|
static get is() { return "nv-notification"; }
|
|
164
164
|
static get originalStyleUrls() {
|
|
@@ -15,7 +15,7 @@ export class NvNotificationContainer {
|
|
|
15
15
|
/****************************************************************************/
|
|
16
16
|
//#region RENDER
|
|
17
17
|
render() {
|
|
18
|
-
return (h(Host, { key: '
|
|
18
|
+
return (h(Host, { key: '3618bd72eb82ee09c8c971d83ea3e0dbb58f6fbf', class: `position-${this.position}` }, h("slot", { key: 'ed0d1b37dd23e984365a92d45c6ecae31a5bbac9' })));
|
|
19
19
|
}
|
|
20
20
|
static get is() { return "nv-notificationcontainer"; }
|
|
21
21
|
static get originalStyleUrls() {
|
|
@@ -104,7 +104,7 @@ export class NvPaginationNav {
|
|
|
104
104
|
render() {
|
|
105
105
|
const isFirstPage = this.currentPage === 1;
|
|
106
106
|
const isLastPage = this.currentPage === this.totalPages;
|
|
107
|
-
return (h(Host, { key: '
|
|
107
|
+
return (h(Host, { key: '2aecff38a5777b1e229b04110e774d4ac708e940' }, h("nav", { key: 'a470aab7d30178269f25eb794b447b6478ed274d', "data-scope": "pagination-nav", "aria-label": "Pagination navigation" }, this.isOnlyIcon ? (h("nv-iconbutton", { name: "chevron-left", size: "md", emphasis: "lower", disabled: isFirstPage, onClick: () => this.handlePageChange(this.currentPage - 1), "data-scope": "previous-iconbutton", "aria-label": this.previousButtonLabel })) : (h("nv-button", { size: "md", emphasis: "lower", disabled: isFirstPage, onClick: () => this.handlePageChange(this.currentPage - 1), "data-scope": "previous-button" }, h("nv-icon", { slot: "leading-icon", name: "chevron-left" }), this.previousButtonLabel)), h("ol", { key: '4ea58c4f536310c0d60354da84d9fd650a16dc67', "data-scope": "page-list" }, calculatePaginationRange({
|
|
108
108
|
currentPage: this.currentPage,
|
|
109
109
|
totalCount: this.totalCount,
|
|
110
110
|
pageSize: this.pageSize,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Host, h, } from "@stencil/core";
|
|
2
|
-
import { interpolate, isFirstPage, isLastPage, generatePageSizeOptions, } from "./nv-paginationtable.utils";
|
|
2
|
+
import { interpolate, isFirstPage, isLastPage, getDisplayPageNumber, generatePageSizeOptions, } from "./nv-paginationtable.utils";
|
|
3
3
|
/**
|
|
4
4
|
* @slot default - Child content of the component.
|
|
5
5
|
*/
|
|
@@ -140,10 +140,13 @@ export class NvPaginationtable {
|
|
|
140
140
|
const atFirstPage = isFirstPage(this.pageIndex);
|
|
141
141
|
const atLastPage = isLastPage(this.pageIndex, this.pageCount);
|
|
142
142
|
// Use fallback values to handle undefined props (can happen when frameworks pass undefined explicitly)
|
|
143
|
-
const pageLabel = interpolate(this.labelPage, {
|
|
143
|
+
const pageLabel = interpolate(this.labelPage, {
|
|
144
|
+
pageIndex: getDisplayPageNumber(this.pageIndex, this.pageCount),
|
|
145
|
+
pageCount: this.pageCount,
|
|
146
|
+
}, 'Page {pageIndex} of {pageCount}');
|
|
144
147
|
const totalLabel = interpolate(this.labelTotal, { rowCount: this.rowCount }, 'Total: {rowCount} rows');
|
|
145
148
|
const pageSizeOptions = generatePageSizeOptions(this.labelPageSizeOption ?? '{pageSize} per page');
|
|
146
|
-
return (h(Host, { key: '
|
|
149
|
+
return (h(Host, { key: '5f0e4d93600b77cf9b54b99a1ccffb1048c389fe', role: "navigation", "aria-label": "Pagination" }, !this.hideControls && (h("div", { key: '5226510a0d4cabba98d7aafaa7e3cd7d413b2d8a', "data-scope": "controls" }, !this.hideFirstLast && (h("nv-iconbutton", { key: 'bdcb8d93cdf24821ab5cdedc0413a77f163e19a1', name: "chevrons-left", emphasis: "lower", size: "sm", disabled: atFirstPage, onClick: () => this.firstPage() })), !this.hidePrevNext && (h("nv-iconbutton", { key: '822cfe5bd177ebbdce436f0f850fad9a86aae1c5', name: "chevron-left", emphasis: "lower", size: "sm", disabled: atFirstPage, onClick: () => this.previousPage() })), !this.hidePrevNext && (h("nv-iconbutton", { key: 'fd0aa10dee6b72d816b6801c03e5be7fb9a3698d', name: "chevron-right", emphasis: "lower", size: "sm", disabled: atLastPage, onClick: () => this.nextPage() })), !this.hideFirstLast && (h("nv-iconbutton", { key: 'a5b8fa71a51d0157dc37b908f972c0d830b44b00', name: "chevrons-right", emphasis: "lower", size: "sm", disabled: atLastPage, onClick: () => this.lastPage() })))), h("span", { key: '0b09d7507a9d1f3dbabbb37265d6949243290b1b', "data-scope": "page-label" }, pageLabel), h("span", { key: '275c4a1ca625a0afc68bfff46fc3e2872e0f76c3', "data-scope": "total" }, totalLabel), h("div", { key: '8a329ccc7baaac9f580aed7d2a53ed7f940c123a', "data-scope": "per-page" }, h("nv-fieldselect", { key: '83c644de7d30e63e0a96ccccaefb311acdd7617c', value: String(this.pageSize), onValueChanged: this.handlePageSizeChange, options: pageSizeOptions })), h("slot", { key: '190b8c8587c25ca449339a6ea1bbd85bed06d35f' })));
|
|
147
150
|
}
|
|
148
151
|
static get is() { return "nv-paginationtable"; }
|
|
149
152
|
static get originalStyleUrls() {
|
|
@@ -33,6 +33,19 @@ export function interpolate(template, values, fallback) {
|
|
|
33
33
|
export function isFirstPage(pageIndex) {
|
|
34
34
|
return pageIndex === 0;
|
|
35
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Returns the 1-based page number to show in the page label.
|
|
38
|
+
* When there are no pages (empty/filtered-to-zero dataset), returns 0 so
|
|
39
|
+
* the label reads e.g. "Page 0 of 0" instead of "Page 1 of 0".
|
|
40
|
+
* @param {number} pageIndex - Current page index (zero-based)
|
|
41
|
+
* @param {number} pageCount - Total number of pages
|
|
42
|
+
* @returns {number} The page number to display (1-based, or 0 when no pages)
|
|
43
|
+
*/
|
|
44
|
+
export function getDisplayPageNumber(pageIndex, pageCount) {
|
|
45
|
+
if (pageCount <= 0)
|
|
46
|
+
return 0;
|
|
47
|
+
return pageIndex + 1;
|
|
48
|
+
}
|
|
36
49
|
/**
|
|
37
50
|
* Checks if navigation to the last/next page is possible
|
|
38
51
|
* @param {number} pageIndex - Current page index (zero-based)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect } from "vitest";
|
|
2
|
-
import { interpolate, isFirstPage, isLastPage, DEFAULT_PAGE_SIZES, generatePageSizeOptions, } from "../nv-paginationtable.utils";
|
|
2
|
+
import { interpolate, isFirstPage, isLastPage, getDisplayPageNumber, DEFAULT_PAGE_SIZES, generatePageSizeOptions, } from "../nv-paginationtable.utils";
|
|
3
3
|
/**
|
|
4
4
|
* Comprehensive tests for nv-paginationtable utilities
|
|
5
5
|
*
|
|
@@ -168,6 +168,26 @@ describe('nv-paginationtable.utils - Comprehensive Tests', () => {
|
|
|
168
168
|
expect(isLastPage(0, 1)).toBe(true);
|
|
169
169
|
});
|
|
170
170
|
});
|
|
171
|
+
describe('getDisplayPageNumber', () => {
|
|
172
|
+
it('should return 0 when there are no pages (empty or filtered-to-zero dataset)', () => {
|
|
173
|
+
expect(getDisplayPageNumber(0, 0)).toBe(0);
|
|
174
|
+
});
|
|
175
|
+
it('should return 0 when page count is negative (defensive)', () => {
|
|
176
|
+
expect(getDisplayPageNumber(0, -1)).toBe(0);
|
|
177
|
+
});
|
|
178
|
+
it('should return 1-based page number when there are pages', () => {
|
|
179
|
+
expect(getDisplayPageNumber(0, 5)).toBe(1);
|
|
180
|
+
expect(getDisplayPageNumber(2, 5)).toBe(3);
|
|
181
|
+
expect(getDisplayPageNumber(4, 5)).toBe(5);
|
|
182
|
+
});
|
|
183
|
+
it('should produce a "Page 0 of 0" label when interpolated with empty state', () => {
|
|
184
|
+
const pageLabel = interpolate('Page {pageIndex} of {pageCount}', {
|
|
185
|
+
pageIndex: getDisplayPageNumber(0, 0),
|
|
186
|
+
pageCount: 0,
|
|
187
|
+
});
|
|
188
|
+
expect(pageLabel).toBe('Page 0 of 0');
|
|
189
|
+
});
|
|
190
|
+
});
|
|
171
191
|
describe('DEFAULT_PAGE_SIZES', () => {
|
|
172
192
|
it('should have correct number of sizes', () => {
|
|
173
193
|
expect(DEFAULT_PAGE_SIZES).toHaveLength(4);
|
|
@@ -292,7 +312,12 @@ describe('nv-paginationtable.utils - Comprehensive Tests', () => {
|
|
|
292
312
|
const pageIndex = 0;
|
|
293
313
|
const pageCount = 0;
|
|
294
314
|
const rowCount = 0;
|
|
315
|
+
const pageLabel = interpolate('Page {pageIndex} of {pageCount}', {
|
|
316
|
+
pageIndex: getDisplayPageNumber(pageIndex, pageCount),
|
|
317
|
+
pageCount,
|
|
318
|
+
});
|
|
295
319
|
const totalLabel = interpolate('Total: {rowCount} rows', { rowCount });
|
|
320
|
+
expect(pageLabel).toBe('Page 0 of 0');
|
|
296
321
|
expect(totalLabel).toBe('Total: 0 rows');
|
|
297
322
|
expect(isFirstPage(pageIndex)).toBe(true);
|
|
298
323
|
expect(isLastPage(pageIndex, pageCount)).toBe(true);
|
|
@@ -311,7 +311,7 @@ export class NvPopover {
|
|
|
311
311
|
/****************************************************************************/
|
|
312
312
|
//#region RENDER
|
|
313
313
|
render() {
|
|
314
|
-
return (h(Host, { key: '
|
|
314
|
+
return (h(Host, { key: '01b6cff8203a7e1ffe5b05aeea7f8e35238ac9bb' }, h("slot", { key: '63264f349fbc817a8b4efe7272715942fc307863', name: "trigger" }), h("div", { key: '0a251a4447bbe7481a71465ac2402aeb156ba537', "data-scope": "popover", "data-strategy": this.strategy, hidden: true, ref: el => (this.popoverElement = el) }, this.hasArrow && (h("div", { key: 'c958f8cd4c8f19d4ac7e8779cb4555a5b9dbfc01', "data-scope": "arrow", ref: el => (this.arrowElement = el) })), h("slot", { key: '72d516982d54945924c88372a54d19ba568a4e4a', name: "content" }))));
|
|
315
315
|
}
|
|
316
316
|
static get is() { return "nv-popover"; }
|
|
317
317
|
static get originalStyleUrls() {
|
|
@@ -7,7 +7,7 @@ export class NvRow {
|
|
|
7
7
|
/****************************************************************************/
|
|
8
8
|
//#region RENDER
|
|
9
9
|
render() {
|
|
10
|
-
return (h(Host, { key: '
|
|
10
|
+
return (h(Host, { key: '6363fba1008818b66f1eeb4ade8949f56c7c23b0' }, h("slot", { key: '2a2399121ac20fb577a29c93ba764f196352a9b8' })));
|
|
11
11
|
}
|
|
12
12
|
static get is() { return "nv-row"; }
|
|
13
13
|
static get originalStyleUrls() {
|
|
@@ -49,6 +49,13 @@ const NvSidebarDocs = {
|
|
|
49
49
|
args: { notificationIntention: 'neutral' },
|
|
50
50
|
template: (h("nv-sidebar", { "data-storybook-args": true }, h("nv-sidebarlogo", { label: "nova" }), h("nv-sidebarcontent", null, h("nv-sidebarnavitem", { icon: "home" }, h("a", { href: "#" }, "Home"), h("nv-badge", { slot: "trailing", color: "error" }, "5")), h("nv-sidebarnavitem", { icon: "settings" }, h("a", { href: "#" }, "Settings"))))),
|
|
51
51
|
},
|
|
52
|
+
// resizable
|
|
53
|
+
{
|
|
54
|
+
name: nameof(x => x.resizable),
|
|
55
|
+
description: 'When true, the sidebar exposes a drag handle on its right edge. Drag to resize between `minWidth` and `maxWidth`. Keyboard users can focus the handle and press Arrow Left/Right (8px step) or Home/End to jump to bounds.',
|
|
56
|
+
args: { resizable: true, minWidth: 220, maxWidth: 480 },
|
|
57
|
+
template: (h("nv-sidebar", { "data-storybook-args": true }, h("nv-sidebarlogo", { label: "nova" }), h("nv-sidebarcontent", null, h("nv-sidebarnavitem", { icon: "home" }, h("a", { href: "#" }, "Home")), h("nv-sidebarnavitem", { icon: "layout-dashboard" }, h("a", { href: "#" }, "Dashboard")), h("nv-sidebarnavitem", { icon: "settings" }, h("a", { href: "#" }, "Settings"))))),
|
|
58
|
+
},
|
|
52
59
|
// notificationEmphasis
|
|
53
60
|
{
|
|
54
61
|
name: nameof(x => x.notificationEmphasis),
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { Host, h, } from "@stencil/core";
|
|
2
|
+
const KEYBOARD_STEP = 8;
|
|
2
3
|
/**
|
|
3
4
|
* Main sidebar container for navigation. Supports collapsible and persistent modes.
|
|
4
5
|
* @slot default - All sidebar components (logo, header, content, footer).
|
|
5
6
|
*/
|
|
6
7
|
export class NvSidebar {
|
|
7
8
|
constructor() {
|
|
9
|
+
this.resizeStartX = 0;
|
|
10
|
+
this.resizeStartWidth = 0;
|
|
8
11
|
/****************************************************************************/
|
|
9
12
|
//#region PROPERTIES
|
|
10
13
|
/**
|
|
@@ -30,6 +33,23 @@ export class NvSidebar {
|
|
|
30
33
|
* - low: Less prominent appearance
|
|
31
34
|
*/
|
|
32
35
|
this.notificationEmphasis = 'high';
|
|
36
|
+
/**
|
|
37
|
+
* When true, the sidebar can be resized horizontally by dragging its right edge.
|
|
38
|
+
* Only active when the sidebar is open (not collapsed).
|
|
39
|
+
*/
|
|
40
|
+
this.resizable = false;
|
|
41
|
+
/**
|
|
42
|
+
* Minimum width in pixels when resizing.
|
|
43
|
+
*/
|
|
44
|
+
this.minWidth = 200;
|
|
45
|
+
/**
|
|
46
|
+
* Maximum width in pixels when resizing.
|
|
47
|
+
*/
|
|
48
|
+
this.maxWidth = 480;
|
|
49
|
+
//#endregion PROPERTIES
|
|
50
|
+
/****************************************************************************/
|
|
51
|
+
//#region STATE
|
|
52
|
+
this.resizing = false;
|
|
33
53
|
//#endregion EVENTS
|
|
34
54
|
/****************************************************************************/
|
|
35
55
|
//#region METHODS
|
|
@@ -39,6 +59,81 @@ export class NvSidebar {
|
|
|
39
59
|
this.open = !this.open;
|
|
40
60
|
}
|
|
41
61
|
};
|
|
62
|
+
this.handleResizeStart = (event) => {
|
|
63
|
+
if (event.button !== 0)
|
|
64
|
+
return;
|
|
65
|
+
if (this.resizing)
|
|
66
|
+
return;
|
|
67
|
+
if (!this.canResize())
|
|
68
|
+
return;
|
|
69
|
+
event.preventDefault();
|
|
70
|
+
this.resizing = true;
|
|
71
|
+
this.resizeStartX = event.clientX;
|
|
72
|
+
// clientWidth excludes the border, matching the CSS width that drives `--sidebar-width`
|
|
73
|
+
this.resizeStartWidth = this.el.clientWidth;
|
|
74
|
+
// Pointer capture routes subsequent pointer events to the handle even when
|
|
75
|
+
// the pointer leaves it, so releasing outside the window still fires pointerup
|
|
76
|
+
event.currentTarget.setPointerCapture(event.pointerId);
|
|
77
|
+
};
|
|
78
|
+
this.handleResizeMove = (event) => {
|
|
79
|
+
if (!this.resizing || !this.canResize())
|
|
80
|
+
return;
|
|
81
|
+
const delta = event.clientX - this.resizeStartX;
|
|
82
|
+
this.width = this.clampWidth(this.resizeStartWidth + delta);
|
|
83
|
+
};
|
|
84
|
+
this.handleResizeEnd = (event) => {
|
|
85
|
+
if (!this.resizing)
|
|
86
|
+
return;
|
|
87
|
+
this.releasePointerCapture(event);
|
|
88
|
+
this.resizing = false;
|
|
89
|
+
if (this.width != null) {
|
|
90
|
+
this.widthChanged.emit(this.width);
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
this.handleResizeCancel = (event) => {
|
|
94
|
+
// Pointer cancel means the interaction was aborted (browser gesture, system
|
|
95
|
+
// event). Release capture and drop the drag, but do not emit widthChanged
|
|
96
|
+
// since the value was not committed by the user.
|
|
97
|
+
if (!this.resizing)
|
|
98
|
+
return;
|
|
99
|
+
this.releasePointerCapture(event);
|
|
100
|
+
this.resizing = false;
|
|
101
|
+
};
|
|
102
|
+
this.cancelResize = () => {
|
|
103
|
+
if (!this.resizing)
|
|
104
|
+
return;
|
|
105
|
+
this.resizing = false;
|
|
106
|
+
};
|
|
107
|
+
this.handleResizeKeyDown = (event) => {
|
|
108
|
+
if (!this.canResize())
|
|
109
|
+
return;
|
|
110
|
+
const [min, max] = this.getBounds();
|
|
111
|
+
const current = this.width ?? this.el.clientWidth;
|
|
112
|
+
let next = null;
|
|
113
|
+
switch (event.key) {
|
|
114
|
+
case 'ArrowLeft':
|
|
115
|
+
next = current - KEYBOARD_STEP;
|
|
116
|
+
break;
|
|
117
|
+
case 'ArrowRight':
|
|
118
|
+
next = current + KEYBOARD_STEP;
|
|
119
|
+
break;
|
|
120
|
+
case 'Home':
|
|
121
|
+
next = min;
|
|
122
|
+
break;
|
|
123
|
+
case 'End':
|
|
124
|
+
next = max;
|
|
125
|
+
break;
|
|
126
|
+
default:
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
event.preventDefault();
|
|
130
|
+
const currentClamped = this.clampWidth(current);
|
|
131
|
+
const nextClamped = this.clampWidth(next);
|
|
132
|
+
if (nextClamped === currentClamped)
|
|
133
|
+
return;
|
|
134
|
+
this.width = nextClamped;
|
|
135
|
+
this.widthChanged.emit(this.width);
|
|
136
|
+
};
|
|
42
137
|
/**
|
|
43
138
|
* Sets the active state of navigation items based on activePath
|
|
44
139
|
*/
|
|
@@ -114,6 +209,48 @@ export class NvSidebar {
|
|
|
114
209
|
});
|
|
115
210
|
};
|
|
116
211
|
}
|
|
212
|
+
getBounds() {
|
|
213
|
+
// Fall back to the built-in defaults if a consumer passes a non-finite bound
|
|
214
|
+
const rawMin = Number.isFinite(this.minWidth) ? this.minWidth : 200;
|
|
215
|
+
const rawMax = Number.isFinite(this.maxWidth) ? this.maxWidth : 480;
|
|
216
|
+
return [Math.min(rawMin, rawMax), Math.max(rawMin, rawMax)];
|
|
217
|
+
}
|
|
218
|
+
clampWidth(value) {
|
|
219
|
+
const [min, max] = this.getBounds();
|
|
220
|
+
return Math.round(Math.min(Math.max(value, min), max));
|
|
221
|
+
}
|
|
222
|
+
canResize() {
|
|
223
|
+
return this.resizable && !(this.type === 'collapsible' && !this.open);
|
|
224
|
+
}
|
|
225
|
+
getAriaValueNow() {
|
|
226
|
+
if (this.width != null)
|
|
227
|
+
return this.clampWidth(this.width);
|
|
228
|
+
const [min] = this.getBounds();
|
|
229
|
+
return this.clampWidth(this.el?.clientWidth || min);
|
|
230
|
+
}
|
|
231
|
+
applyWidthStyle() {
|
|
232
|
+
if (this.width == null) {
|
|
233
|
+
this.el.style.removeProperty('--sidebar-width');
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
if (!Number.isFinite(this.width)) {
|
|
237
|
+
// Guard against NaN/Infinity which would otherwise loop through @Watch('width') forever
|
|
238
|
+
this.width = undefined;
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
const clamped = this.clampWidth(this.width);
|
|
242
|
+
if (clamped !== this.width) {
|
|
243
|
+
this.width = clamped;
|
|
244
|
+
return; // @Watch('width') will re-enter and apply the clamped value
|
|
245
|
+
}
|
|
246
|
+
this.el.style.setProperty('--sidebar-width', `${clamped}px`);
|
|
247
|
+
}
|
|
248
|
+
releasePointerCapture(event) {
|
|
249
|
+
const target = event.currentTarget;
|
|
250
|
+
if (target?.hasPointerCapture(event.pointerId)) {
|
|
251
|
+
target.releasePointerCapture(event.pointerId);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
117
254
|
handleCollapsedSideEffects(isCollapsed) {
|
|
118
255
|
if (!isCollapsed) {
|
|
119
256
|
return;
|
|
@@ -130,11 +267,32 @@ export class NvSidebar {
|
|
|
130
267
|
}
|
|
131
268
|
onOpenChanged(newValue, oldValue) {
|
|
132
269
|
this.handleCollapsedSideEffects(this.type === 'collapsible' && !newValue);
|
|
270
|
+
// Cancel any in-progress resize if the sidebar is programmatically collapsed
|
|
271
|
+
if (this.type === 'collapsible' && !newValue) {
|
|
272
|
+
this.cancelResize();
|
|
273
|
+
}
|
|
133
274
|
// Only emit event when open state actually changes (not on re-render with same value)
|
|
134
275
|
if (this.type === 'collapsible' && newValue !== oldValue) {
|
|
135
276
|
this.openChanged.emit(newValue);
|
|
136
277
|
}
|
|
137
278
|
}
|
|
279
|
+
onWidthChanged() {
|
|
280
|
+
this.applyWidthStyle();
|
|
281
|
+
}
|
|
282
|
+
onBoundsChanged() {
|
|
283
|
+
// Re-clamp the current width against the new bounds so visuals and ARIA stay within range
|
|
284
|
+
if (this.width != null) {
|
|
285
|
+
const clamped = this.clampWidth(this.width);
|
|
286
|
+
if (clamped !== this.width) {
|
|
287
|
+
this.width = clamped;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
onResizableChanged(newValue) {
|
|
292
|
+
if (!newValue) {
|
|
293
|
+
this.cancelResize();
|
|
294
|
+
}
|
|
295
|
+
}
|
|
138
296
|
//#endregion WATCHERS
|
|
139
297
|
/****************************************************************************/
|
|
140
298
|
//#region LIFECYCLE
|
|
@@ -142,6 +300,7 @@ export class NvSidebar {
|
|
|
142
300
|
this.setActiveNavItems();
|
|
143
301
|
this.setupMutationObserver();
|
|
144
302
|
this.handleCollapsedSideEffects(this.type === 'collapsible' && !this.open);
|
|
303
|
+
this.applyWidthStyle();
|
|
145
304
|
}
|
|
146
305
|
disconnectedCallback() {
|
|
147
306
|
if (this.mutationObserver) {
|
|
@@ -156,9 +315,11 @@ export class NvSidebar {
|
|
|
156
315
|
//#region RENDER
|
|
157
316
|
render() {
|
|
158
317
|
const isCollapsed = this.type === 'collapsible' && !this.open;
|
|
159
|
-
|
|
318
|
+
const showResizeHandle = this.resizable && !isCollapsed;
|
|
319
|
+
const [ariaValueMin, ariaValueMax] = this.getBounds();
|
|
320
|
+
return (h(Host, { key: '24fa9b232e27fe864d6984bf947d9720ffd1804d', role: "navigation", collapsed: isCollapsed ? true : undefined, resizing: this.resizing ? true : undefined, "notification-intention": this.notificationIntention, "notification-emphasis": this.notificationEmphasis, "aria-expanded": this.type === 'collapsible' ? String(this.open) : undefined }, h("div", { key: 'c9d15e38ab0b18c34858fca91376439f300e2f61', class: "nv-sidebar-container" }, h("slot", { key: 'fe732ec38f8848dfc3516ee2a601d8ceb313b559' })), this.type === 'collapsible' && (h("button", { key: '53f9de5d7318cdea02abe6928dda4b488d43e0a8', class: "nv-sidebar-toggle", onClick: this.handleToggle, "aria-label": this.open ? 'Collapse sidebar' : 'Expand sidebar' }, h("nv-icon", { key: 'ea42dca24abed9ec5981027b0f5ac5ae9aaa3b1f', name: this.open
|
|
160
321
|
? 'layout-sidebar-left-collapse'
|
|
161
|
-
: 'layout-sidebar-right-collapse', size: "sm" })))));
|
|
322
|
+
: 'layout-sidebar-right-collapse', size: "sm" }))), showResizeHandle && (h("div", { key: '1f28ce72b3eb61223d708d519761ab9eef182f2e', class: "nv-sidebar-resize-handle", role: "separator", "aria-orientation": "vertical", "aria-label": "Resize sidebar", "aria-valuenow": this.getAriaValueNow(), "aria-valuemin": ariaValueMin, "aria-valuemax": ariaValueMax, tabIndex: 0, onPointerDown: this.handleResizeStart, onPointerMove: this.handleResizeMove, onPointerUp: this.handleResizeEnd, onPointerCancel: this.handleResizeCancel, onKeyDown: this.handleResizeKeyDown }))));
|
|
162
323
|
}
|
|
163
324
|
static get is() { return "nv-sidebar"; }
|
|
164
325
|
static get originalStyleUrls() {
|
|
@@ -271,9 +432,93 @@ export class NvSidebar {
|
|
|
271
432
|
"reflect": true,
|
|
272
433
|
"attribute": "notification-emphasis",
|
|
273
434
|
"defaultValue": "'high'"
|
|
435
|
+
},
|
|
436
|
+
"resizable": {
|
|
437
|
+
"type": "boolean",
|
|
438
|
+
"mutable": false,
|
|
439
|
+
"complexType": {
|
|
440
|
+
"original": "boolean",
|
|
441
|
+
"resolved": "boolean",
|
|
442
|
+
"references": {}
|
|
443
|
+
},
|
|
444
|
+
"required": false,
|
|
445
|
+
"optional": false,
|
|
446
|
+
"docs": {
|
|
447
|
+
"tags": [],
|
|
448
|
+
"text": "When true, the sidebar can be resized horizontally by dragging its right edge.\nOnly active when the sidebar is open (not collapsed)."
|
|
449
|
+
},
|
|
450
|
+
"getter": false,
|
|
451
|
+
"setter": false,
|
|
452
|
+
"reflect": true,
|
|
453
|
+
"attribute": "resizable",
|
|
454
|
+
"defaultValue": "false"
|
|
455
|
+
},
|
|
456
|
+
"minWidth": {
|
|
457
|
+
"type": "number",
|
|
458
|
+
"mutable": false,
|
|
459
|
+
"complexType": {
|
|
460
|
+
"original": "number",
|
|
461
|
+
"resolved": "number",
|
|
462
|
+
"references": {}
|
|
463
|
+
},
|
|
464
|
+
"required": false,
|
|
465
|
+
"optional": false,
|
|
466
|
+
"docs": {
|
|
467
|
+
"tags": [],
|
|
468
|
+
"text": "Minimum width in pixels when resizing."
|
|
469
|
+
},
|
|
470
|
+
"getter": false,
|
|
471
|
+
"setter": false,
|
|
472
|
+
"reflect": true,
|
|
473
|
+
"attribute": "min-width",
|
|
474
|
+
"defaultValue": "200"
|
|
475
|
+
},
|
|
476
|
+
"maxWidth": {
|
|
477
|
+
"type": "number",
|
|
478
|
+
"mutable": false,
|
|
479
|
+
"complexType": {
|
|
480
|
+
"original": "number",
|
|
481
|
+
"resolved": "number",
|
|
482
|
+
"references": {}
|
|
483
|
+
},
|
|
484
|
+
"required": false,
|
|
485
|
+
"optional": false,
|
|
486
|
+
"docs": {
|
|
487
|
+
"tags": [],
|
|
488
|
+
"text": "Maximum width in pixels when resizing."
|
|
489
|
+
},
|
|
490
|
+
"getter": false,
|
|
491
|
+
"setter": false,
|
|
492
|
+
"reflect": true,
|
|
493
|
+
"attribute": "max-width",
|
|
494
|
+
"defaultValue": "480"
|
|
495
|
+
},
|
|
496
|
+
"width": {
|
|
497
|
+
"type": "number",
|
|
498
|
+
"mutable": true,
|
|
499
|
+
"complexType": {
|
|
500
|
+
"original": "number",
|
|
501
|
+
"resolved": "number",
|
|
502
|
+
"references": {}
|
|
503
|
+
},
|
|
504
|
+
"required": false,
|
|
505
|
+
"optional": true,
|
|
506
|
+
"docs": {
|
|
507
|
+
"tags": [],
|
|
508
|
+
"text": "Current sidebar width in pixels. When set (or while resizing), overrides\nthe default CSS token width. Updated as the user drags the resize handle.\nNot reflected to the attribute to avoid DOM churn on every pointer move."
|
|
509
|
+
},
|
|
510
|
+
"getter": false,
|
|
511
|
+
"setter": false,
|
|
512
|
+
"reflect": false,
|
|
513
|
+
"attribute": "width"
|
|
274
514
|
}
|
|
275
515
|
};
|
|
276
516
|
}
|
|
517
|
+
static get states() {
|
|
518
|
+
return {
|
|
519
|
+
"resizing": {}
|
|
520
|
+
};
|
|
521
|
+
}
|
|
277
522
|
static get events() {
|
|
278
523
|
return [{
|
|
279
524
|
"method": "openChanged",
|
|
@@ -293,6 +538,21 @@ export class NvSidebar {
|
|
|
293
538
|
"resolved": "boolean",
|
|
294
539
|
"references": {}
|
|
295
540
|
}
|
|
541
|
+
}, {
|
|
542
|
+
"method": "widthChanged",
|
|
543
|
+
"name": "widthChanged",
|
|
544
|
+
"bubbles": false,
|
|
545
|
+
"cancelable": true,
|
|
546
|
+
"composed": true,
|
|
547
|
+
"docs": {
|
|
548
|
+
"tags": [],
|
|
549
|
+
"text": "Emitted when the sidebar width changes via the resize handle.\nFires at the end of a drag, or after each keyboard adjustment."
|
|
550
|
+
},
|
|
551
|
+
"complexType": {
|
|
552
|
+
"original": "number",
|
|
553
|
+
"resolved": "number",
|
|
554
|
+
"references": {}
|
|
555
|
+
}
|
|
296
556
|
}];
|
|
297
557
|
}
|
|
298
558
|
static get elementRef() { return "el"; }
|
|
@@ -303,6 +563,18 @@ export class NvSidebar {
|
|
|
303
563
|
}, {
|
|
304
564
|
"propName": "open",
|
|
305
565
|
"methodName": "onOpenChanged"
|
|
566
|
+
}, {
|
|
567
|
+
"propName": "width",
|
|
568
|
+
"methodName": "onWidthChanged"
|
|
569
|
+
}, {
|
|
570
|
+
"propName": "minWidth",
|
|
571
|
+
"methodName": "onBoundsChanged"
|
|
572
|
+
}, {
|
|
573
|
+
"propName": "maxWidth",
|
|
574
|
+
"methodName": "onBoundsChanged"
|
|
575
|
+
}, {
|
|
576
|
+
"propName": "resizable",
|
|
577
|
+
"methodName": "onResizableChanged"
|
|
306
578
|
}];
|
|
307
579
|
}
|
|
308
580
|
}
|
|
@@ -31,6 +31,9 @@ nv-sidebar[collapsed] [data-hide-on-collapsed] {
|
|
|
31
31
|
nv-sidebar[collapsed] .nv-sidebar-container {
|
|
32
32
|
padding: var(--sidebar-padding-y) var(--sidebar-padding-x-collapsed);
|
|
33
33
|
}
|
|
34
|
+
nv-sidebar[resizing] {
|
|
35
|
+
transition: none;
|
|
36
|
+
}
|
|
34
37
|
nv-sidebar .nv-sidebar-container {
|
|
35
38
|
display: flex;
|
|
36
39
|
flex-direction: column;
|
|
@@ -71,4 +74,27 @@ nv-sidebar .nv-sidebar-toggle nv-icon {
|
|
|
71
74
|
}
|
|
72
75
|
nv-sidebar .nv-sidebar-toggle nv-icon:hover {
|
|
73
76
|
color: var(--color-interaction-container-neutral-icon-hover);
|
|
77
|
+
}
|
|
78
|
+
nv-sidebar .nv-sidebar-resize-handle {
|
|
79
|
+
position: absolute;
|
|
80
|
+
top: 0;
|
|
81
|
+
right: calc(-1 * var(--sidebar-divider-size));
|
|
82
|
+
width: 4px;
|
|
83
|
+
height: 100%;
|
|
84
|
+
cursor: col-resize;
|
|
85
|
+
background-color: transparent;
|
|
86
|
+
transition: background-color 0.15s ease;
|
|
87
|
+
z-index: 9;
|
|
88
|
+
user-select: none;
|
|
89
|
+
touch-action: none;
|
|
90
|
+
}
|
|
91
|
+
nv-sidebar .nv-sidebar-resize-handle:hover, nv-sidebar .nv-sidebar-resize-handle:focus-visible {
|
|
92
|
+
background-color: var(--color-interaction-container-branded-high-background);
|
|
93
|
+
}
|
|
94
|
+
nv-sidebar .nv-sidebar-resize-handle:focus, nv-sidebar .nv-sidebar-resize-handle:focus-within {
|
|
95
|
+
outline: none;
|
|
96
|
+
}
|
|
97
|
+
nv-sidebar .nv-sidebar-resize-handle:focus-visible, nv-sidebar .nv-sidebar-resize-handle:has(:focus-visible) {
|
|
98
|
+
outline: calc(var(--focus-outline-stroke) * 1) solid var(--color-focus-brand);
|
|
99
|
+
outline-offset: calc(var(--focus-outline-offset) * 1);
|
|
74
100
|
}
|
|
@@ -7,7 +7,7 @@ export class NvSidebarcontent {
|
|
|
7
7
|
/****************************************************************************/
|
|
8
8
|
//#region RENDER
|
|
9
9
|
render() {
|
|
10
|
-
return (h(Host, { key: '
|
|
10
|
+
return (h(Host, { key: '85b6fd48dca4c6889c16453ba53e6bdcb692782a', role: "list" }, h("slot", { key: 'f2a2860c6bcd8a1196f191f6af2f3be28713d792' })));
|
|
11
11
|
}
|
|
12
12
|
static get is() { return "nv-sidebarcontent"; }
|
|
13
13
|
static get originalStyleUrls() {
|
|
@@ -6,7 +6,7 @@ export class NvSidebardivider {
|
|
|
6
6
|
/****************************************************************************/
|
|
7
7
|
//#region RENDER
|
|
8
8
|
render() {
|
|
9
|
-
return h(Host, { key: '
|
|
9
|
+
return h(Host, { key: '31125496c90eb141cd70a69ac24f5d2b2165821c', role: "separator", "aria-orientation": "horizontal" });
|
|
10
10
|
}
|
|
11
11
|
static get is() { return "nv-sidebardivider"; }
|
|
12
12
|
static get originalStyleUrls() {
|
|
@@ -8,7 +8,7 @@ export class NvSidebarfooter {
|
|
|
8
8
|
/****************************************************************************/
|
|
9
9
|
//#region RENDER
|
|
10
10
|
render() {
|
|
11
|
-
return (h(Host, { key: '
|
|
11
|
+
return (h(Host, { key: '1d281299e81cf2081b6e77f3a47e75c8efe699fa' }, h("slot", { key: 'd0211b2b36ae6dc31f1a63e82eb8cc7c58c8e56a' })));
|
|
12
12
|
}
|
|
13
13
|
static get is() { return "nv-sidebarfooter"; }
|
|
14
14
|
static get originalStyleUrls() {
|
|
@@ -8,7 +8,7 @@ export class NvSidebargroup {
|
|
|
8
8
|
/****************************************************************************/
|
|
9
9
|
//#region RENDER
|
|
10
10
|
render() {
|
|
11
|
-
return (h(Host, { key: '
|
|
11
|
+
return (h(Host, { key: '039c251fd46c3c178d1fc5329cbf676947f9f736', role: "group", "aria-label": this.label }, this.label && h("div", { key: 'f2fc7cbbe469ab8f71caa86ec62ed98347c1072a', class: "nv-sidebargroup-label" }, this.label), h("slot", { key: '67cf9ff6aa2f61feaf1c3966e7975fbf5273229c' })));
|
|
12
12
|
}
|
|
13
13
|
static get is() { return "nv-sidebargroup"; }
|
|
14
14
|
static get originalStyleUrls() {
|
|
@@ -8,7 +8,7 @@ export class NvSidebarheader {
|
|
|
8
8
|
/****************************************************************************/
|
|
9
9
|
//#region RENDER
|
|
10
10
|
render() {
|
|
11
|
-
return (h(Host, { key: '
|
|
11
|
+
return (h(Host, { key: 'f29fff2d903edbcea70de45e3aca5e7049872464' }, h("slot", { key: 'e5854558583d51d0dba078da41311fedcaeb9bc5' })));
|
|
12
12
|
}
|
|
13
13
|
static get is() { return "nv-sidebarheader"; }
|
|
14
14
|
static get originalStyleUrls() {
|
|
@@ -21,7 +21,7 @@ export class NvSidebarlogo {
|
|
|
21
21
|
render() {
|
|
22
22
|
const logoSrc = this.logo || this.defaultLogo;
|
|
23
23
|
const collapsedLogoSrc = this.collapsedLogo || this.defaultCollapsedLogo;
|
|
24
|
-
return (h(Host, { key: '
|
|
24
|
+
return (h(Host, { key: '6c8f69d79da3f6f308489b440951c4c70bbf1607' }, h("div", { key: '614c4925f8e26fbcb53387f0d166d51435a67759', class: "nv-sidebarlogo-container" }, h("img", { key: 'e6e6d3b5a024179c7e0042a3fd2be330379fd1c5', src: logoSrc, alt: this.label || 'Logo', class: "nv-sidebarlogo-full" }), h("img", { key: 'f58059a9ec0ddc7840e77fcd3ec64d1e30b87a13', src: collapsedLogoSrc, alt: this.label || 'Logo', class: "nv-sidebarlogo-collapsed" }), h("slot", { key: '2f895cfb6487af387d501bb0d22f39967a08b83a', name: "label" }), this.label && h("span", { key: 'df6039eb0a010bc547a3017ca50be61b9929337d', class: "nv-sidebarlogo-title" }, this.label))));
|
|
25
25
|
}
|
|
26
26
|
static get is() { return "nv-sidebarlogo"; }
|
|
27
27
|
static get originalStyleUrls() {
|