@nova-design-system/nova-react 3.28.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/README.md +1 -1
- package/dist/cjs/{constants-BReL3Lsa-DpB_ghPF.js → constants-gOKBmbgZ-CSoZ8z-G.js} +5 -0
- package/dist/cjs/generated/components.server.js +33 -1
- package/dist/cjs/index-DXwd3F_r.js +10391 -0
- package/dist/cjs/index.js +7 -1
- package/dist/cjs/{nv-accordion-item.entry-fds_kk_3.js → nv-accordion-item.entry-CTbduehY.js} +3 -3
- package/dist/cjs/{nv-accordion.entry-BLs4N5ZL.js → nv-accordion.entry-DeaPwIUP.js} +2 -2
- package/dist/cjs/{nv-alert.entry-Bx1BiC8F.js → nv-alert.entry-B5k8RXXD.js} +8 -8
- package/dist/cjs/{nv-avatar.entry-DS88LME3.js → nv-avatar.entry-CJh9bGfN.js} +8 -8
- package/dist/cjs/{nv-badge_2.entry-vBPxmUmg.js → nv-badge_2.entry-BnPPW4rW.js} +8 -7
- package/dist/cjs/{nv-breadcrumb.entry-BOo3hA5y.js → nv-breadcrumb.entry-DS5GJVCJ.js} +2 -2
- package/dist/cjs/{nv-breadcrumbs.entry-igHC_6Bd.js → nv-breadcrumbs.entry-CJ835Ba8.js} +2 -2
- package/dist/cjs/{nv-button.entry-BRQPmQbs.js → nv-button.entry-8U0o_X3d.js} +7 -7
- package/dist/cjs/{nv-buttongroup.entry-D3tG2EZ1.js → nv-buttongroup.entry-D5I5d9y0.js} +2 -2
- package/dist/cjs/{nv-calendar.entry-BpNHMTKr.js → nv-calendar.entry-C0ggIM3A.js} +9 -9
- package/dist/cjs/{nv-col.entry-lyIZqDsW.js → nv-col.entry-tIk723nS.js} +2 -2
- package/dist/cjs/{nv-datagrid.entry-BeemONKu.js → nv-datagrid.entry-Cal_usTi.js} +8 -8
- package/dist/cjs/{nv-datagridcolumn.entry-B6kE4eVC.js → nv-datagridcolumn.entry-BLbpwW7Q.js} +2 -2
- package/dist/cjs/{nv-datetest.entry-C1uuC-ZG.js → nv-datetest.entry-NQzySOox.js} +2 -2
- package/dist/cjs/{nv-datetimetest.entry-Hthxbjj9.js → nv-datetimetest.entry-Br6j4eAR.js} +1 -1
- package/dist/cjs/{nv-dialog.entry-Cr9zwMPo.js → nv-dialog.entry-GTDQJaoQ.js} +3 -3
- package/dist/cjs/{nv-dialogfooter_2.entry-DaaKojyE.js → nv-dialogfooter_2.entry-CHY36NHl.js} +10 -8
- package/dist/cjs/{nv-drawer.entry-0UaYxCjh.js → nv-drawer.entry-C-TZDi4-.js} +3 -3
- package/dist/cjs/{nv-drawerfooter_2.entry-CqtuC7xP.js → nv-drawerfooter_2.entry-DTY4qAnd.js} +8 -6
- package/dist/cjs/{nv-fieldcheckbox.entry-DK3aO8C8.js → nv-fieldcheckbox.entry-Qf4gdEnq.js} +5 -5
- package/dist/cjs/{nv-fielddate.entry-BY-xF3KN.js → nv-fielddate.entry-D1aJmKbh.js} +8 -8
- package/dist/cjs/{nv-fielddaterange.entry-BT6qCQc3.js → nv-fielddaterange.entry-Vc-gHwf8.js} +8 -8
- package/dist/cjs/{nv-fielddropdown.entry-CsVD067i.js → nv-fielddropdown.entry-BVVsM71m.js} +6 -6
- package/dist/cjs/{nv-fielddropdownitem.entry-Crtfwlx7.js → nv-fielddropdownitem.entry-DTRonCZJ.js} +2 -2
- package/dist/cjs/{nv-fieldmultiselect.entry-C2uoE60e.js → nv-fieldmultiselect.entry-Cvsh_jn7.js} +115 -86
- package/dist/cjs/{nv-fieldnumber.entry-DzW5SiiZ.js → nv-fieldnumber.entry-jVFZ0wj3.js} +6 -6
- package/dist/cjs/{nv-fieldpassword.entry-D4r9Qxos.js → nv-fieldpassword.entry-CQKbWqMe.js} +6 -6
- package/dist/cjs/{nv-fieldradio.entry-DX0Ghx--.js → nv-fieldradio.entry-FPGOqFBo.js} +4 -4
- package/dist/cjs/{nv-fieldselect.entry-_CglE66i.js → nv-fieldselect.entry-DJmW4pff.js} +7 -7
- package/dist/cjs/{nv-fieldslider.entry-6zt75uDU.js → nv-fieldslider.entry-D71HjSto.js} +4 -4
- package/dist/cjs/{nv-fieldtext.entry-B4X110wn.js → nv-fieldtext.entry-BxgbvxEW.js} +6 -6
- package/dist/cjs/{nv-fieldtextarea.entry-CeAMhA8Y.js → nv-fieldtextarea.entry-BDS37zhJ.js} +5 -5
- package/dist/cjs/{nv-fieldtime.entry-BvzncwNd.js → nv-fieldtime.entry-DkWokxdT.js} +55 -52
- package/dist/cjs/{nv-icon.entry-C2md2kmq.js → nv-icon.entry-CUemAv89.js} +8 -8
- package/dist/cjs/{nv-iconbutton_2.entry-D-zRpLjT.js → nv-iconbutton_2.entry-BLdJr3QV.js} +3 -3
- package/dist/cjs/{nv-menu.entry-DN_DkosX.js → nv-menu.entry-z4cDNCeX.js} +2 -2
- package/dist/cjs/{nv-menuitem.entry-Cj6w33rq.js → nv-menuitem.entry-4XdONuGl.js} +2 -2
- package/dist/cjs/{nv-notification-bullet.entry-DagStJ3K.js → nv-notification-bullet.entry-B1EK4G_X.js} +1 -1
- package/dist/cjs/{nv-notification.entry-oV69FpxE.js → nv-notification.entry-BBAQ72f7.js} +19 -19
- package/dist/cjs/{nv-notificationcontainer.entry-gQGHHeer.js → nv-notificationcontainer.entry-CtFunFA9.js} +2 -2
- package/dist/cjs/{nv-pagination-nav.entry-BYvcVj1M.js → nv-pagination-nav.entry-DbzEBjoa.js} +2 -2
- package/dist/cjs/{nv-paginationtable.entry-CwCFQwbl.js → nv-paginationtable.entry-DRGsk0DH.js} +19 -3
- package/dist/cjs/{nv-popover.entry-DySToeSB.js → nv-popover.entry-w9o3Y_vT.js} +2 -2
- package/dist/cjs/{nv-row.entry-46ghuEeG.js → nv-row.entry-Cop4QB1Y.js} +2 -2
- package/dist/cjs/nv-sidebar.entry-96HyTMt9.js +355 -0
- package/dist/cjs/{nv-sidebarcontent.entry-Pb8c2QoA.js → nv-sidebarcontent.entry-RCkZZp9I.js} +2 -2
- package/dist/cjs/{nv-sidebardivider.entry-LCCO53Z5.js → nv-sidebardivider.entry-DY25WqI7.js} +2 -2
- package/dist/cjs/{nv-sidebarfooter.entry-DG5fkLHd.js → nv-sidebarfooter.entry-9BFpNPLP.js} +2 -2
- package/dist/cjs/{nv-sidebargroup.entry-DRqkSyQi.js → nv-sidebargroup.entry-Cj52DXba.js} +2 -2
- package/dist/cjs/{nv-sidebarheader.entry-D6WvH2wG.js → nv-sidebarheader.entry-_WZgNwoi.js} +2 -2
- package/dist/cjs/{nv-sidebarlogo.entry-BorScwI-.js → nv-sidebarlogo.entry-4Zy6k3V5.js} +2 -2
- package/dist/cjs/{nv-sidebarnavitem.entry-BEW74Rw3.js → nv-sidebarnavitem.entry-fQ9sqxDj.js} +3 -3
- package/dist/cjs/{nv-sidebarnavsubitem.entry-EgaIlUfP.js → nv-sidebarnavsubitem.entry-1iBobkME.js} +2 -2
- package/dist/cjs/{nv-split.entry-CEC5Tuwz.js → nv-split.entry-Dfzpge0r.js} +2 -2
- package/dist/cjs/{nv-stack.entry-BR8lYaoI.js → nv-stack.entry-BnCput1S.js} +2 -2
- package/dist/cjs/nv-statusindicator.entry-ClPHcTkz.js +42 -0
- package/dist/cjs/{nv-table.entry-CISZFst5.js → nv-table.entry-DsllD6Bz.js} +3 -3
- package/dist/cjs/{nv-tableheader.entry-DbdpTJGC.js → nv-tableheader.entry-AWCKrpLj.js} +2 -2
- package/dist/cjs/nv-tag.entry-BwENpoSV.js +85 -0
- package/dist/cjs/{nv-timetest.entry-Dg1JEgAv.js → nv-timetest.entry-BQsV7Qb2.js} +2 -2
- package/dist/cjs/{nv-toggle.entry-DDfRpC1R.js → nv-toggle.entry-a0tSJ6GE.js} +3 -3
- package/dist/cjs/{nv-togglebutton.entry-D7NkdIXP.js → nv-togglebutton.entry-CT8fZr74.js} +2 -2
- package/dist/cjs/{nv-togglebuttongroup.entry-L8gitSUS.js → nv-togglebuttongroup.entry-BN7WkQ_L.js} +2 -2
- package/dist/cjs/{nv-tooltip.entry-BElnrEqE.js → nv-tooltip.entry-xpFqRgZM.js} +2 -2
- package/dist/components/NvDatatable/NvDatatable.js +294 -88
- package/dist/components/NvDatatable/expandState.js +8 -0
- package/dist/components/NvDatatable/expandState.test.js +41 -0
- package/dist/components/NvDatatable/paginationState.js +9 -0
- package/dist/components/NvDatatable/paginationState.test.js +84 -0
- package/dist/generated/components.js +20 -1
- package/dist/generated/components.server.js +31 -1
- package/dist/types/components/NvDatatable/NvDatatable.d.ts +1 -1
- package/dist/types/components/NvDatatable/expandState.d.ts +5 -0
- package/dist/types/components/NvDatatable/expandState.test.d.ts +1 -0
- package/dist/types/components/NvDatatable/paginationState.d.ts +9 -0
- package/dist/types/components/NvDatatable/paginationState.test.d.ts +1 -0
- package/dist/types/components/NvDatatable/types.d.ts +21 -1
- package/dist/types/generated/components.d.ts +12 -1
- package/dist/types/generated/components.server.d.ts +12 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/providers/NotificationProvider.d.ts +2 -2
- package/package.json +1 -1
- package/dist/cjs/index-Kxp9mv-Q.js +0 -10119
- package/dist/cjs/nv-sidebar.entry-B6opNG2r.js +0 -181
package/dist/cjs/{nv-paginationtable.entry-CwCFQwbl.js → nv-paginationtable.entry-DRGsk0DH.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-DXwd3F_r.js');
|
|
4
4
|
require('@stencil/react-output-target/runtime');
|
|
5
5
|
require('react');
|
|
6
6
|
require('react-dom');
|
|
@@ -40,6 +40,19 @@ function interpolate(template, values, fallback) {
|
|
|
40
40
|
function isFirstPage(pageIndex) {
|
|
41
41
|
return pageIndex === 0;
|
|
42
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Returns the 1-based page number to show in the page label.
|
|
45
|
+
* When there are no pages (empty/filtered-to-zero dataset), returns 0 so
|
|
46
|
+
* the label reads e.g. "Page 0 of 0" instead of "Page 1 of 0".
|
|
47
|
+
* @param {number} pageIndex - Current page index (zero-based)
|
|
48
|
+
* @param {number} pageCount - Total number of pages
|
|
49
|
+
* @returns {number} The page number to display (1-based, or 0 when no pages)
|
|
50
|
+
*/
|
|
51
|
+
function getDisplayPageNumber(pageIndex, pageCount) {
|
|
52
|
+
if (pageCount <= 0)
|
|
53
|
+
return 0;
|
|
54
|
+
return pageIndex + 1;
|
|
55
|
+
}
|
|
43
56
|
/**
|
|
44
57
|
* Checks if navigation to the last/next page is possible
|
|
45
58
|
* @param {number} pageIndex - Current page index (zero-based)
|
|
@@ -212,10 +225,13 @@ const NvPaginationtable = class {
|
|
|
212
225
|
const atFirstPage = isFirstPage(this.pageIndex);
|
|
213
226
|
const atLastPage = isLastPage(this.pageIndex, this.pageCount);
|
|
214
227
|
// Use fallback values to handle undefined props (can happen when frameworks pass undefined explicitly)
|
|
215
|
-
const pageLabel = interpolate(this.labelPage, {
|
|
228
|
+
const pageLabel = interpolate(this.labelPage, {
|
|
229
|
+
pageIndex: getDisplayPageNumber(this.pageIndex, this.pageCount),
|
|
230
|
+
pageCount: this.pageCount,
|
|
231
|
+
}, 'Page {pageIndex} of {pageCount}');
|
|
216
232
|
const totalLabel = interpolate(this.labelTotal, { rowCount: this.rowCount }, 'Total: {rowCount} rows');
|
|
217
233
|
const pageSizeOptions = generatePageSizeOptions(this.labelPageSizeOption ?? '{pageSize} per page');
|
|
218
|
-
return (index.h(index.Host, { key: '
|
|
234
|
+
return (index.h(index.Host, { key: '5f0e4d93600b77cf9b54b99a1ccffb1048c389fe', role: "navigation", "aria-label": "Pagination" }, !this.hideControls && (index.h("div", { key: '5226510a0d4cabba98d7aafaa7e3cd7d413b2d8a', "data-scope": "controls" }, !this.hideFirstLast && (index.h("nv-iconbutton", { key: 'bdcb8d93cdf24821ab5cdedc0413a77f163e19a1', name: "chevrons-left", emphasis: "lower", size: "sm", disabled: atFirstPage, onClick: () => this.firstPage() })), !this.hidePrevNext && (index.h("nv-iconbutton", { key: '822cfe5bd177ebbdce436f0f850fad9a86aae1c5', name: "chevron-left", emphasis: "lower", size: "sm", disabled: atFirstPage, onClick: () => this.previousPage() })), !this.hidePrevNext && (index.h("nv-iconbutton", { key: 'fd0aa10dee6b72d816b6801c03e5be7fb9a3698d', name: "chevron-right", emphasis: "lower", size: "sm", disabled: atLastPage, onClick: () => this.nextPage() })), !this.hideFirstLast && (index.h("nv-iconbutton", { key: 'a5b8fa71a51d0157dc37b908f972c0d830b44b00', name: "chevrons-right", emphasis: "lower", size: "sm", disabled: atLastPage, onClick: () => this.lastPage() })))), index.h("span", { key: '0b09d7507a9d1f3dbabbb37265d6949243290b1b', "data-scope": "page-label" }, pageLabel), index.h("span", { key: '275c4a1ca625a0afc68bfff46fc3e2872e0f76c3', "data-scope": "total" }, totalLabel), index.h("div", { key: '8a329ccc7baaac9f580aed7d2a53ed7f940c123a', "data-scope": "per-page" }, index.h("nv-fieldselect", { key: '83c644de7d30e63e0a96ccccaefb311acdd7617c', value: String(this.pageSize), onValueChanged: this.handlePageSizeChange, options: pageSizeOptions })), index.h("slot", { key: '190b8c8587c25ca449339a6ea1bbd85bed06d35f' })));
|
|
219
235
|
}
|
|
220
236
|
static get watchers() { return {
|
|
221
237
|
"pageIndex": [{
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-DXwd3F_r.js');
|
|
4
4
|
var fade_animationDcRL9lcm = require('./fade.animation-DcRL9lcm-DAZeHoKN.js');
|
|
5
5
|
var grow_animationD7ep_aVl = require('./grow.animation-D7ep_aVl-BuXEDSK-.js');
|
|
6
6
|
require('./style-value-types.es-xlgmw4x8-B1vLqX9m.js');
|
|
@@ -1962,7 +1962,7 @@ const NvPopover = class {
|
|
|
1962
1962
|
/****************************************************************************/
|
|
1963
1963
|
//#region RENDER
|
|
1964
1964
|
render() {
|
|
1965
|
-
return (index.h(index.Host, { key: '
|
|
1965
|
+
return (index.h(index.Host, { key: '01b6cff8203a7e1ffe5b05aeea7f8e35238ac9bb' }, index.h("slot", { key: '63264f349fbc817a8b4efe7272715942fc307863', name: "trigger" }), index.h("div", { key: '0a251a4447bbe7481a71465ac2402aeb156ba537', "data-scope": "popover", "data-strategy": this.strategy, hidden: true, ref: el => (this.popoverElement = el) }, this.hasArrow && (index.h("div", { key: 'c958f8cd4c8f19d4ac7e8779cb4555a5b9dbfc01', "data-scope": "arrow", ref: el => (this.arrowElement = el) })), index.h("slot", { key: '72d516982d54945924c88372a54d19ba568a4e4a', name: "content" }))));
|
|
1966
1966
|
}
|
|
1967
1967
|
get el() { return index.getElement(this); }
|
|
1968
1968
|
static get watchers() { return {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-DXwd3F_r.js');
|
|
4
4
|
require('@stencil/react-output-target/runtime');
|
|
5
5
|
require('react');
|
|
6
6
|
require('react-dom');
|
|
@@ -14,7 +14,7 @@ const NvRow = class {
|
|
|
14
14
|
/****************************************************************************/
|
|
15
15
|
//#region RENDER
|
|
16
16
|
render() {
|
|
17
|
-
return (index.h(index.Host, { key: '
|
|
17
|
+
return (index.h(index.Host, { key: '6363fba1008818b66f1eeb4ade8949f56c7c23b0' }, index.h("slot", { key: '2a2399121ac20fb577a29c93ba764f196352a9b8' })));
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
20
|
NvRow.style = nvRowCss();
|
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./index-DXwd3F_r.js');
|
|
4
|
+
require('@stencil/react-output-target/runtime');
|
|
5
|
+
require('react');
|
|
6
|
+
require('react-dom');
|
|
7
|
+
|
|
8
|
+
const nvSidebarCss = () => `nv-sidebarnavitem a,nv-sidebarnavitem a:link,nv-sidebarnavitem a:visited,nv-sidebarnavitem a:hover,nv-sidebarnavitem a:active,nv-sidebarnavsubitem a,nv-sidebarnavsubitem a:link,nv-sidebarnavsubitem a:visited,nv-sidebarnavsubitem a:hover,nv-sidebarnavsubitem a:active{color:inherit !important;text-decoration:none !important}nv-sidebar{display:flex;flex-direction:column;position:relative;height:100vh;background-color:var(--components-sidebar-background);border-right:var(--sidebar-divider-size) solid var(--components-sidebar-border);transition:width 0.3s ease;width:var(--sidebar-width)}nv-sidebar[collapsed]{width:var(--sidebar-width-collapsed)}nv-sidebar[collapsed] [data-hide-on-collapsed]{display:none !important}nv-sidebar[collapsed] .nv-sidebar-container{padding:var(--sidebar-padding-y) var(--sidebar-padding-x-collapsed)}nv-sidebar[resizing]{transition:none}nv-sidebar .nv-sidebar-container{display:flex;flex-direction:column;flex:1;overflow:hidden;padding:var(--sidebar-padding-y) var(--sidebar-padding-x);gap:var(--sidebar-gap-y)}nv-sidebar .nv-sidebar-toggle{position:absolute;top:var(--sidebar-collapsible-button-position-top);right:calc(-1 * var(--sidebar-collapsible-button-position-right));display:flex;align-items:center;justify-content:center;padding:var(--sidebar-collapsible-button-padding);background-color:var(--components-sidebar-background);border:1px solid var(--color-content-low-border);border-radius:var(--radius-rounded-full);cursor:pointer;transition:transform 0.2s ease;z-index:10}nv-sidebar .nv-sidebar-toggle:hover{background-color:var(--color-interaction-container-neutral-background-hover)}nv-sidebar .nv-sidebar-toggle:focus,nv-sidebar .nv-sidebar-toggle:focus-within{outline:none}nv-sidebar .nv-sidebar-toggle:focus-visible,nv-sidebar .nv-sidebar-toggle:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}nv-sidebar .nv-sidebar-toggle nv-icon{width:var(--sidebar-collapsible-button-icon-size);height:var(--sidebar-collapsible-button-icon-size);color:var(--color-interaction-container-neutral-icon)}nv-sidebar .nv-sidebar-toggle nv-icon:hover{color:var(--color-interaction-container-neutral-icon-hover)}nv-sidebar .nv-sidebar-resize-handle{position:absolute;top:0;right:calc(-1 * var(--sidebar-divider-size));width:4px;height:100%;cursor:col-resize;background-color:transparent;transition:background-color 0.15s ease;z-index:9;user-select:none;touch-action:none}nv-sidebar .nv-sidebar-resize-handle:hover,nv-sidebar .nv-sidebar-resize-handle:focus-visible{background-color:var(--color-interaction-container-branded-high-background)}nv-sidebar .nv-sidebar-resize-handle:focus,nv-sidebar .nv-sidebar-resize-handle:focus-within{outline:none}nv-sidebar .nv-sidebar-resize-handle:focus-visible,nv-sidebar .nv-sidebar-resize-handle:has(:focus-visible){outline:calc(var(--focus-outline-stroke) * 1) solid var(--color-focus-brand);outline-offset:calc(var(--focus-outline-offset) * 1)}`;
|
|
9
|
+
|
|
10
|
+
const KEYBOARD_STEP = 8;
|
|
11
|
+
const NvSidebar = class {
|
|
12
|
+
constructor(hostRef) {
|
|
13
|
+
index.registerInstance(this, hostRef);
|
|
14
|
+
this.openChanged = index.createEvent(this, "openChanged", 3);
|
|
15
|
+
this.widthChanged = index.createEvent(this, "widthChanged", 3);
|
|
16
|
+
this.resizeStartX = 0;
|
|
17
|
+
this.resizeStartWidth = 0;
|
|
18
|
+
/****************************************************************************/
|
|
19
|
+
//#region PROPERTIES
|
|
20
|
+
/**
|
|
21
|
+
* The type of sidebar behavior.
|
|
22
|
+
* - collapsible: Can be toggled open/closed
|
|
23
|
+
* - persistent: Always visible
|
|
24
|
+
*/
|
|
25
|
+
this.type = 'persistent';
|
|
26
|
+
/**
|
|
27
|
+
* Whether the sidebar is currently open (only applies to collapsible type).
|
|
28
|
+
*/
|
|
29
|
+
// eslint-disable-next-line @stencil-community/ban-default-true
|
|
30
|
+
this.open = true;
|
|
31
|
+
/**
|
|
32
|
+
* Determines the type of notification bullets in the sidebar.
|
|
33
|
+
* - neutral: Uses neutral colors (gray)
|
|
34
|
+
* - brand: Uses brand colors (orange/teal depending on theme)
|
|
35
|
+
*/
|
|
36
|
+
this.notificationIntention = 'brand';
|
|
37
|
+
/**
|
|
38
|
+
* Determines the emphasis of notification bullets in the sidebar.
|
|
39
|
+
* - high: More prominent appearance
|
|
40
|
+
* - low: Less prominent appearance
|
|
41
|
+
*/
|
|
42
|
+
this.notificationEmphasis = 'high';
|
|
43
|
+
/**
|
|
44
|
+
* When true, the sidebar can be resized horizontally by dragging its right edge.
|
|
45
|
+
* Only active when the sidebar is open (not collapsed).
|
|
46
|
+
*/
|
|
47
|
+
this.resizable = false;
|
|
48
|
+
/**
|
|
49
|
+
* Minimum width in pixels when resizing.
|
|
50
|
+
*/
|
|
51
|
+
this.minWidth = 200;
|
|
52
|
+
/**
|
|
53
|
+
* Maximum width in pixels when resizing.
|
|
54
|
+
*/
|
|
55
|
+
this.maxWidth = 480;
|
|
56
|
+
//#endregion PROPERTIES
|
|
57
|
+
/****************************************************************************/
|
|
58
|
+
//#region STATE
|
|
59
|
+
this.resizing = false;
|
|
60
|
+
//#endregion EVENTS
|
|
61
|
+
/****************************************************************************/
|
|
62
|
+
//#region METHODS
|
|
63
|
+
this.handleToggle = () => {
|
|
64
|
+
if (this.type === 'collapsible') {
|
|
65
|
+
// Changing open will trigger @Watch which emits the event
|
|
66
|
+
this.open = !this.open;
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
this.handleResizeStart = (event) => {
|
|
70
|
+
if (event.button !== 0)
|
|
71
|
+
return;
|
|
72
|
+
if (this.resizing)
|
|
73
|
+
return;
|
|
74
|
+
if (!this.canResize())
|
|
75
|
+
return;
|
|
76
|
+
event.preventDefault();
|
|
77
|
+
this.resizing = true;
|
|
78
|
+
this.resizeStartX = event.clientX;
|
|
79
|
+
// clientWidth excludes the border, matching the CSS width that drives `--sidebar-width`
|
|
80
|
+
this.resizeStartWidth = this.el.clientWidth;
|
|
81
|
+
// Pointer capture routes subsequent pointer events to the handle even when
|
|
82
|
+
// the pointer leaves it, so releasing outside the window still fires pointerup
|
|
83
|
+
event.currentTarget.setPointerCapture(event.pointerId);
|
|
84
|
+
};
|
|
85
|
+
this.handleResizeMove = (event) => {
|
|
86
|
+
if (!this.resizing || !this.canResize())
|
|
87
|
+
return;
|
|
88
|
+
const delta = event.clientX - this.resizeStartX;
|
|
89
|
+
this.width = this.clampWidth(this.resizeStartWidth + delta);
|
|
90
|
+
};
|
|
91
|
+
this.handleResizeEnd = (event) => {
|
|
92
|
+
if (!this.resizing)
|
|
93
|
+
return;
|
|
94
|
+
this.releasePointerCapture(event);
|
|
95
|
+
this.resizing = false;
|
|
96
|
+
if (this.width != null) {
|
|
97
|
+
this.widthChanged.emit(this.width);
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
this.handleResizeCancel = (event) => {
|
|
101
|
+
// Pointer cancel means the interaction was aborted (browser gesture, system
|
|
102
|
+
// event). Release capture and drop the drag, but do not emit widthChanged
|
|
103
|
+
// since the value was not committed by the user.
|
|
104
|
+
if (!this.resizing)
|
|
105
|
+
return;
|
|
106
|
+
this.releasePointerCapture(event);
|
|
107
|
+
this.resizing = false;
|
|
108
|
+
};
|
|
109
|
+
this.cancelResize = () => {
|
|
110
|
+
if (!this.resizing)
|
|
111
|
+
return;
|
|
112
|
+
this.resizing = false;
|
|
113
|
+
};
|
|
114
|
+
this.handleResizeKeyDown = (event) => {
|
|
115
|
+
if (!this.canResize())
|
|
116
|
+
return;
|
|
117
|
+
const [min, max] = this.getBounds();
|
|
118
|
+
const current = this.width ?? this.el.clientWidth;
|
|
119
|
+
let next = null;
|
|
120
|
+
switch (event.key) {
|
|
121
|
+
case 'ArrowLeft':
|
|
122
|
+
next = current - KEYBOARD_STEP;
|
|
123
|
+
break;
|
|
124
|
+
case 'ArrowRight':
|
|
125
|
+
next = current + KEYBOARD_STEP;
|
|
126
|
+
break;
|
|
127
|
+
case 'Home':
|
|
128
|
+
next = min;
|
|
129
|
+
break;
|
|
130
|
+
case 'End':
|
|
131
|
+
next = max;
|
|
132
|
+
break;
|
|
133
|
+
default:
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
event.preventDefault();
|
|
137
|
+
const currentClamped = this.clampWidth(current);
|
|
138
|
+
const nextClamped = this.clampWidth(next);
|
|
139
|
+
if (nextClamped === currentClamped)
|
|
140
|
+
return;
|
|
141
|
+
this.width = nextClamped;
|
|
142
|
+
this.widthChanged.emit(this.width);
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* Sets the active state of navigation items based on activePath
|
|
146
|
+
*/
|
|
147
|
+
this.setActiveNavItems = () => {
|
|
148
|
+
if (!this.activePath)
|
|
149
|
+
return;
|
|
150
|
+
// First, check all subitems to find if any matches exactly
|
|
151
|
+
const activeSubitemHrefs = new Set();
|
|
152
|
+
this.el.querySelectorAll('nv-sidebarnavsubitem').forEach(subItem => {
|
|
153
|
+
const link = subItem.querySelector('a');
|
|
154
|
+
const href = link?.getAttribute('href');
|
|
155
|
+
if (href) {
|
|
156
|
+
const isActive = this.activePath === href;
|
|
157
|
+
subItem.active = isActive;
|
|
158
|
+
if (isActive) {
|
|
159
|
+
activeSubitemHrefs.add(href);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
// Then, set nav items active only if:
|
|
164
|
+
// 1. Exact match with activePath AND no subitem matches
|
|
165
|
+
// 2. OR the navitem has no subitems and activePath starts with its href
|
|
166
|
+
this.el.querySelectorAll('nv-sidebarnavitem').forEach(navItem => {
|
|
167
|
+
const link = navItem.querySelector(':scope > a, :scope > .nv-sidebarnavitem-trigger a, .nv-sidebarnavitem-content > a');
|
|
168
|
+
const href = link?.getAttribute('href');
|
|
169
|
+
const hasSubitems = navItem.querySelector('nv-sidebarnavsubitem') !== null;
|
|
170
|
+
if (href) {
|
|
171
|
+
if (hasSubitems) {
|
|
172
|
+
// Parent with subitems: only active if exact match (not when subitem is active)
|
|
173
|
+
navItem.active = this.activePath === href;
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
// Item without subitems: active on exact match
|
|
177
|
+
navItem.active = this.activePath === href;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
};
|
|
182
|
+
this.pendingActiveUpdate = null;
|
|
183
|
+
/**
|
|
184
|
+
* Sets up the MutationObserver to watch for changes in child elements.
|
|
185
|
+
* Only triggers on new nav items being added, not on attribute changes.
|
|
186
|
+
*/
|
|
187
|
+
this.setupMutationObserver = () => {
|
|
188
|
+
this.mutationObserver = new MutationObserver(mutations => {
|
|
189
|
+
// Only react to new nav items being added, ignore other mutations
|
|
190
|
+
const hasNewNavItems = mutations.some(mutation => {
|
|
191
|
+
if (mutation.type !== 'childList')
|
|
192
|
+
return false;
|
|
193
|
+
return Array.from(mutation.addedNodes).some(node => {
|
|
194
|
+
if (node.nodeType !== Node.ELEMENT_NODE)
|
|
195
|
+
return false;
|
|
196
|
+
const el = node;
|
|
197
|
+
return (el.tagName.toLowerCase() === 'nv-sidebarnavitem' ||
|
|
198
|
+
el.tagName.toLowerCase() === 'nv-sidebarnavsubitem' ||
|
|
199
|
+
el.querySelector('nv-sidebarnavitem, nv-sidebarnavsubitem'));
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
if (hasNewNavItems) {
|
|
203
|
+
// Debounce to prevent multiple rapid calls
|
|
204
|
+
if (this.pendingActiveUpdate) {
|
|
205
|
+
clearTimeout(this.pendingActiveUpdate);
|
|
206
|
+
}
|
|
207
|
+
this.pendingActiveUpdate = window.setTimeout(() => {
|
|
208
|
+
this.setActiveNavItems();
|
|
209
|
+
this.pendingActiveUpdate = null;
|
|
210
|
+
}, 50);
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
this.mutationObserver.observe(this.el, {
|
|
214
|
+
childList: true,
|
|
215
|
+
subtree: true,
|
|
216
|
+
});
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
getBounds() {
|
|
220
|
+
// Fall back to the built-in defaults if a consumer passes a non-finite bound
|
|
221
|
+
const rawMin = Number.isFinite(this.minWidth) ? this.minWidth : 200;
|
|
222
|
+
const rawMax = Number.isFinite(this.maxWidth) ? this.maxWidth : 480;
|
|
223
|
+
return [Math.min(rawMin, rawMax), Math.max(rawMin, rawMax)];
|
|
224
|
+
}
|
|
225
|
+
clampWidth(value) {
|
|
226
|
+
const [min, max] = this.getBounds();
|
|
227
|
+
return Math.round(Math.min(Math.max(value, min), max));
|
|
228
|
+
}
|
|
229
|
+
canResize() {
|
|
230
|
+
return this.resizable && !(this.type === 'collapsible' && !this.open);
|
|
231
|
+
}
|
|
232
|
+
getAriaValueNow() {
|
|
233
|
+
if (this.width != null)
|
|
234
|
+
return this.clampWidth(this.width);
|
|
235
|
+
const [min] = this.getBounds();
|
|
236
|
+
return this.clampWidth(this.el?.clientWidth || min);
|
|
237
|
+
}
|
|
238
|
+
applyWidthStyle() {
|
|
239
|
+
if (this.width == null) {
|
|
240
|
+
this.el.style.removeProperty('--sidebar-width');
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
if (!Number.isFinite(this.width)) {
|
|
244
|
+
// Guard against NaN/Infinity which would otherwise loop through @Watch('width') forever
|
|
245
|
+
this.width = undefined;
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
const clamped = this.clampWidth(this.width);
|
|
249
|
+
if (clamped !== this.width) {
|
|
250
|
+
this.width = clamped;
|
|
251
|
+
return; // @Watch('width') will re-enter and apply the clamped value
|
|
252
|
+
}
|
|
253
|
+
this.el.style.setProperty('--sidebar-width', `${clamped}px`);
|
|
254
|
+
}
|
|
255
|
+
releasePointerCapture(event) {
|
|
256
|
+
const target = event.currentTarget;
|
|
257
|
+
if (target?.hasPointerCapture(event.pointerId)) {
|
|
258
|
+
target.releasePointerCapture(event.pointerId);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
handleCollapsedSideEffects(isCollapsed) {
|
|
262
|
+
if (!isCollapsed) {
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
this.el.querySelectorAll('nv-sidebarnavitem[open]').forEach(navItem => {
|
|
266
|
+
navItem.open = false;
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
//#endregion METHODS
|
|
270
|
+
/****************************************************************************/
|
|
271
|
+
//#region WATCHERS
|
|
272
|
+
onActivePathChanged() {
|
|
273
|
+
this.setActiveNavItems();
|
|
274
|
+
}
|
|
275
|
+
onOpenChanged(newValue, oldValue) {
|
|
276
|
+
this.handleCollapsedSideEffects(this.type === 'collapsible' && !newValue);
|
|
277
|
+
// Cancel any in-progress resize if the sidebar is programmatically collapsed
|
|
278
|
+
if (this.type === 'collapsible' && !newValue) {
|
|
279
|
+
this.cancelResize();
|
|
280
|
+
}
|
|
281
|
+
// Only emit event when open state actually changes (not on re-render with same value)
|
|
282
|
+
if (this.type === 'collapsible' && newValue !== oldValue) {
|
|
283
|
+
this.openChanged.emit(newValue);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
onWidthChanged() {
|
|
287
|
+
this.applyWidthStyle();
|
|
288
|
+
}
|
|
289
|
+
onBoundsChanged() {
|
|
290
|
+
// Re-clamp the current width against the new bounds so visuals and ARIA stay within range
|
|
291
|
+
if (this.width != null) {
|
|
292
|
+
const clamped = this.clampWidth(this.width);
|
|
293
|
+
if (clamped !== this.width) {
|
|
294
|
+
this.width = clamped;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
onResizableChanged(newValue) {
|
|
299
|
+
if (!newValue) {
|
|
300
|
+
this.cancelResize();
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
//#endregion WATCHERS
|
|
304
|
+
/****************************************************************************/
|
|
305
|
+
//#region LIFECYCLE
|
|
306
|
+
componentWillLoad() {
|
|
307
|
+
this.setActiveNavItems();
|
|
308
|
+
this.setupMutationObserver();
|
|
309
|
+
this.handleCollapsedSideEffects(this.type === 'collapsible' && !this.open);
|
|
310
|
+
this.applyWidthStyle();
|
|
311
|
+
}
|
|
312
|
+
disconnectedCallback() {
|
|
313
|
+
if (this.mutationObserver) {
|
|
314
|
+
this.mutationObserver.disconnect();
|
|
315
|
+
}
|
|
316
|
+
if (this.pendingActiveUpdate) {
|
|
317
|
+
clearTimeout(this.pendingActiveUpdate);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
//#endregion LIFECYCLE
|
|
321
|
+
/****************************************************************************/
|
|
322
|
+
//#region RENDER
|
|
323
|
+
render() {
|
|
324
|
+
const isCollapsed = this.type === 'collapsible' && !this.open;
|
|
325
|
+
const showResizeHandle = this.resizable && !isCollapsed;
|
|
326
|
+
const [ariaValueMin, ariaValueMax] = this.getBounds();
|
|
327
|
+
return (index.h(index.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 }, index.h("div", { key: 'c9d15e38ab0b18c34858fca91376439f300e2f61', class: "nv-sidebar-container" }, index.h("slot", { key: 'fe732ec38f8848dfc3516ee2a601d8ceb313b559' })), this.type === 'collapsible' && (index.h("button", { key: '53f9de5d7318cdea02abe6928dda4b488d43e0a8', class: "nv-sidebar-toggle", onClick: this.handleToggle, "aria-label": this.open ? 'Collapse sidebar' : 'Expand sidebar' }, index.h("nv-icon", { key: 'ea42dca24abed9ec5981027b0f5ac5ae9aaa3b1f', name: this.open
|
|
328
|
+
? 'layout-sidebar-left-collapse'
|
|
329
|
+
: 'layout-sidebar-right-collapse', size: "sm" }))), showResizeHandle && (index.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 }))));
|
|
330
|
+
}
|
|
331
|
+
get el() { return index.getElement(this); }
|
|
332
|
+
static get watchers() { return {
|
|
333
|
+
"activePath": [{
|
|
334
|
+
"onActivePathChanged": 0
|
|
335
|
+
}],
|
|
336
|
+
"open": [{
|
|
337
|
+
"onOpenChanged": 0
|
|
338
|
+
}],
|
|
339
|
+
"width": [{
|
|
340
|
+
"onWidthChanged": 0
|
|
341
|
+
}],
|
|
342
|
+
"minWidth": [{
|
|
343
|
+
"onBoundsChanged": 0
|
|
344
|
+
}],
|
|
345
|
+
"maxWidth": [{
|
|
346
|
+
"onBoundsChanged": 0
|
|
347
|
+
}],
|
|
348
|
+
"resizable": [{
|
|
349
|
+
"onResizableChanged": 0
|
|
350
|
+
}]
|
|
351
|
+
}; }
|
|
352
|
+
};
|
|
353
|
+
NvSidebar.style = nvSidebarCss();
|
|
354
|
+
|
|
355
|
+
exports.nv_sidebar = NvSidebar;
|
package/dist/cjs/{nv-sidebarcontent.entry-Pb8c2QoA.js → nv-sidebarcontent.entry-RCkZZp9I.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-DXwd3F_r.js');
|
|
4
4
|
require('@stencil/react-output-target/runtime');
|
|
5
5
|
require('react');
|
|
6
6
|
require('react-dom');
|
|
@@ -14,7 +14,7 @@ const NvSidebarcontent = class {
|
|
|
14
14
|
/****************************************************************************/
|
|
15
15
|
//#region RENDER
|
|
16
16
|
render() {
|
|
17
|
-
return (index.h(index.Host, { key: '
|
|
17
|
+
return (index.h(index.Host, { key: '85b6fd48dca4c6889c16453ba53e6bdcb692782a', role: "list" }, index.h("slot", { key: 'f2a2860c6bcd8a1196f191f6af2f3be28713d792' })));
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
20
|
NvSidebarcontent.style = nvSidebarcontentCss();
|
package/dist/cjs/{nv-sidebardivider.entry-LCCO53Z5.js → nv-sidebardivider.entry-DY25WqI7.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-DXwd3F_r.js');
|
|
4
4
|
require('@stencil/react-output-target/runtime');
|
|
5
5
|
require('react');
|
|
6
6
|
require('react-dom');
|
|
@@ -14,7 +14,7 @@ const NvSidebardivider = class {
|
|
|
14
14
|
/****************************************************************************/
|
|
15
15
|
//#region RENDER
|
|
16
16
|
render() {
|
|
17
|
-
return index.h(index.Host, { key: '
|
|
17
|
+
return index.h(index.Host, { key: '31125496c90eb141cd70a69ac24f5d2b2165821c', role: "separator", "aria-orientation": "horizontal" });
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
20
|
NvSidebardivider.style = nvSidebardividerCss();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-DXwd3F_r.js');
|
|
4
4
|
require('@stencil/react-output-target/runtime');
|
|
5
5
|
require('react');
|
|
6
6
|
require('react-dom');
|
|
@@ -14,7 +14,7 @@ const NvSidebarfooter = class {
|
|
|
14
14
|
/****************************************************************************/
|
|
15
15
|
//#region RENDER
|
|
16
16
|
render() {
|
|
17
|
-
return (index.h(index.Host, { key: '
|
|
17
|
+
return (index.h(index.Host, { key: '1d281299e81cf2081b6e77f3a47e75c8efe699fa' }, index.h("slot", { key: 'd0211b2b36ae6dc31f1a63e82eb8cc7c58c8e56a' })));
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
20
|
NvSidebarfooter.style = nvSidebarfooterCss();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-DXwd3F_r.js');
|
|
4
4
|
require('@stencil/react-output-target/runtime');
|
|
5
5
|
require('react');
|
|
6
6
|
require('react-dom');
|
|
@@ -15,7 +15,7 @@ const NvSidebargroup = class {
|
|
|
15
15
|
/****************************************************************************/
|
|
16
16
|
//#region RENDER
|
|
17
17
|
render() {
|
|
18
|
-
return (index.h(index.Host, { key: '
|
|
18
|
+
return (index.h(index.Host, { key: '039c251fd46c3c178d1fc5329cbf676947f9f736', role: "group", "aria-label": this.label }, this.label && index.h("div", { key: 'f2fc7cbbe469ab8f71caa86ec62ed98347c1072a', class: "nv-sidebargroup-label" }, this.label), index.h("slot", { key: '67cf9ff6aa2f61feaf1c3966e7975fbf5273229c' })));
|
|
19
19
|
}
|
|
20
20
|
};
|
|
21
21
|
NvSidebargroup.style = nvSidebargroupCss();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-DXwd3F_r.js');
|
|
4
4
|
require('@stencil/react-output-target/runtime');
|
|
5
5
|
require('react');
|
|
6
6
|
require('react-dom');
|
|
@@ -14,7 +14,7 @@ const NvSidebarheader = class {
|
|
|
14
14
|
/****************************************************************************/
|
|
15
15
|
//#region RENDER
|
|
16
16
|
render() {
|
|
17
|
-
return (index.h(index.Host, { key: '
|
|
17
|
+
return (index.h(index.Host, { key: 'f29fff2d903edbcea70de45e3aca5e7049872464' }, index.h("slot", { key: 'e5854558583d51d0dba078da41311fedcaeb9bc5' })));
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
20
|
NvSidebarheader.style = nvSidebarheaderCss();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-DXwd3F_r.js');
|
|
4
4
|
require('@stencil/react-output-target/runtime');
|
|
5
5
|
require('react');
|
|
6
6
|
require('react-dom');
|
|
@@ -24,7 +24,7 @@ const NvSidebarlogo = class {
|
|
|
24
24
|
render() {
|
|
25
25
|
const logoSrc = this.logo || this.defaultLogo;
|
|
26
26
|
const collapsedLogoSrc = this.collapsedLogo || this.defaultCollapsedLogo;
|
|
27
|
-
return (index.h(index.Host, { key: '
|
|
27
|
+
return (index.h(index.Host, { key: '6c8f69d79da3f6f308489b440951c4c70bbf1607' }, index.h("div", { key: '614c4925f8e26fbcb53387f0d166d51435a67759', class: "nv-sidebarlogo-container" }, index.h("img", { key: 'e6e6d3b5a024179c7e0042a3fd2be330379fd1c5', src: logoSrc, alt: this.label || 'Logo', class: "nv-sidebarlogo-full" }), index.h("img", { key: 'f58059a9ec0ddc7840e77fcd3ec64d1e30b87a13', src: collapsedLogoSrc, alt: this.label || 'Logo', class: "nv-sidebarlogo-collapsed" }), index.h("slot", { key: '2f895cfb6487af387d501bb0d22f39967a08b83a', name: "label" }), this.label && index.h("span", { key: 'df6039eb0a010bc547a3017ca50be61b9929337d', class: "nv-sidebarlogo-title" }, this.label))));
|
|
28
28
|
}
|
|
29
29
|
};
|
|
30
30
|
NvSidebarlogo.style = nvSidebarlogoCss();
|
package/dist/cjs/{nv-sidebarnavitem.entry-BEW74Rw3.js → nv-sidebarnavitem.entry-fQ9sqxDj.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-DXwd3F_r.js');
|
|
4
4
|
require('@stencil/react-output-target/runtime');
|
|
5
5
|
require('react');
|
|
6
6
|
require('react-dom');
|
|
@@ -276,7 +276,7 @@ const NvSidebarnavitem = class {
|
|
|
276
276
|
render() {
|
|
277
277
|
const showNotificationBullet = this.notificationCount !== undefined && this.notificationCount > 0;
|
|
278
278
|
const notificationSize = this.isSidebarCollapsed ? 'reduced' : 'default';
|
|
279
|
-
return (index.h(index.Host, { key: '
|
|
279
|
+
return (index.h(index.Host, { key: '5d7b7d92812e20fa0ff6765506afc26965bcad19', role: "listitem" }, index.h("div", { key: '080e96026b2b1d8ed1edfe3b291aea27b3ef6a29', class: "nv-sidebarnavitem-trigger", onClick: this.handleToggle, "aria-expanded": this.collapsible ? String(this.open) : undefined, "aria-current": this.active && !this.collapsible ? 'page' : undefined }, this.icon && (index.h("div", { key: 'e97b9141eaf73fb363374227b59317bdf40289a3', class: "nv-sidebarnavitem-icon" }, index.h("nv-icon", { key: '1c7f7bbf4fd36963873b70a65786e4f89463e636', name: this.icon, size: "md" }), showNotificationBullet && this.isSidebarCollapsed && (index.h("nv-notification-bullet", { key: '53151726d69a262a40e3eae7751757081e7cc70e', count: this.notificationCount, size: notificationSize, contrastingBorder: true })))), index.h("div", { key: '1a0a208300d3d17e7c1ecce3db5a307167be730e', class: "nv-sidebarnavitem-content" }, index.h("slot", { key: 'e92c48e3d9c71d767fe7e775c97d6da678f132e5' })), index.h("div", { key: '0f436e17da2cfadb01096eaa7854ad2c2ed2a4b3', class: "nv-sidebarnavitem-trailing" }, index.h("slot", { key: '71d23bd377b11c2bf5eaf17c25e26df33b4d9b53', name: "trailing" }), showNotificationBullet && !this.isSidebarCollapsed && (index.h("nv-notification-bullet", { key: '1d6c4ab8f326d39bd7b452d8b0fe44577369b9f4', count: this.notificationCount, size: notificationSize })), this.collapsible && (index.h("nv-icon", { key: '13f4eb6174a76790bac429227d05de1beae4b4ee', name: "chevron-down", size: "sm", class: "nv-sidebarnavitem-chevron" })))), this.collapsible && this.hasSubitems && (index.h("div", { key: '6d5a87e10c7394663237f466d36871fe7cce48ae', class: "nv-sidebarnavitem-subitems", ref: el => {
|
|
280
280
|
// Only update ref and initialize if element changed or not yet initialized
|
|
281
281
|
if (el !== this.subitemsRef) {
|
|
282
282
|
this.subitemsRef = el;
|
|
@@ -291,7 +291,7 @@ const NvSidebarnavitem = class {
|
|
|
291
291
|
});
|
|
292
292
|
}
|
|
293
293
|
}
|
|
294
|
-
} }, index.h("slot", { key: '
|
|
294
|
+
} }, index.h("slot", { key: '6790db049f61ca41292bfd865884548a5a5da5d0', name: "subitems" })))));
|
|
295
295
|
}
|
|
296
296
|
get el() { return index.getElement(this); }
|
|
297
297
|
static get watchers() { return {
|
package/dist/cjs/{nv-sidebarnavsubitem.entry-EgaIlUfP.js → nv-sidebarnavsubitem.entry-1iBobkME.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-DXwd3F_r.js');
|
|
4
4
|
require('@stencil/react-output-target/runtime');
|
|
5
5
|
require('react');
|
|
6
6
|
require('react-dom');
|
|
@@ -27,7 +27,7 @@ const NvSidebarnavsubitem = class {
|
|
|
27
27
|
/****************************************************************************/
|
|
28
28
|
//#region RENDER
|
|
29
29
|
render() {
|
|
30
|
-
return (index.h(index.Host, { key: '
|
|
30
|
+
return (index.h(index.Host, { key: '868adf5adb19818ca6caab0f866bfd9c2bf1c6f6', role: "listitem", "aria-current": this.active ? 'page' : undefined }, index.h("div", { key: '212d3e04dde99a698081e8ffc3aa39e696883794', class: "nv-sidebarnavsubitem-indicator" }), index.h("div", { key: '2ac964d11cdc914e329a0b6edcc6753d8182e60d', class: "nv-sidebarnavsubitem-content" }, index.h("slot", { key: 'be2a8d0b2e81f6f299ae9574c1358cfba28ed1a9' })), index.h("div", { key: '62e4e65e5c502c379851201cf038c6ca49ec051d', class: "nv-sidebarnavsubitem-trailing" }, index.h("slot", { key: '45cb80e9cbc0ab886ff7124035e781ae7f616f75', name: "trailing" }))));
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
33
|
NvSidebarnavsubitem.style = nvSidebarnavsubitemCss();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-DXwd3F_r.js');
|
|
4
4
|
require('@stencil/react-output-target/runtime');
|
|
5
5
|
require('react');
|
|
6
6
|
require('react-dom');
|
|
@@ -326,7 +326,7 @@ const NvSplit = class {
|
|
|
326
326
|
/****************************************************************************/
|
|
327
327
|
//#region RENDER
|
|
328
328
|
render() {
|
|
329
|
-
return (index.h(index.Host, { key: '
|
|
329
|
+
return (index.h(index.Host, { key: '91f106634a9f04a3b6aced262ea84e75b294255e', "data-dragging": this.isDragging.toString() }, index.h("slot", { key: '17fb1041dc82b510d8c303208891a2eb455b885a', name: "pane" }), index.h("slot", { key: '4900d19af850f103a191769ef23c0cd5d2531375', name: "gutter" }), index.h("slot", { key: 'bfad8d859270f46094655103f10182c25c2c94fe' })));
|
|
330
330
|
}
|
|
331
331
|
get el() { return index.getElement(this); }
|
|
332
332
|
static get watchers() { return {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-DXwd3F_r.js');
|
|
4
4
|
var clsxChV9xqsO = require('./clsx-ChV9xqsO-BtxeOLZW.js');
|
|
5
5
|
require('@stencil/react-output-target/runtime');
|
|
6
6
|
require('react');
|
|
@@ -23,7 +23,7 @@ const NvStack = class {
|
|
|
23
23
|
/****************************************************************************/
|
|
24
24
|
//#region RENDER
|
|
25
25
|
render() {
|
|
26
|
-
return (index.h(index.Host, { key: '
|
|
26
|
+
return (index.h(index.Host, { key: 'fb4c34f7f678b980d4caceb71c420dc6de5d0322', class: clsxChV9xqsO.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') }, index.h("slot", { key: '2a5b1b24802d9527f5d076a316401f2bb403c979' })));
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
29
|
NvStack.style = nvStackCss();
|