@nova-design-system/nova-react 3.22.0 → 3.24.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/_commonjsHelpers-B85MJLTf-CFO10eej.js +7 -0
- package/dist/cjs/{collapse.animation-6e0b08df-AHWzNGm_.js → collapse.animation-DZDm0vSK-C2TOIhIK.js} +3 -3
- package/dist/cjs/events.utils-B6GgGra--01N__3wY.js +23 -0
- package/dist/cjs/{fade.animation-9b939939-DV--bM4S.js → fade.animation-DcRL9lcm-DAZeHoKN.js} +75 -75
- package/dist/cjs/generated/components.server.js +292 -50
- package/dist/cjs/{grow.animation-24ad5cf8-LUp_ITEx.js → grow.animation-D7ep_aVl-BuXEDSK-.js} +5 -26
- package/dist/cjs/i18n.utils-IlwlcG9l-ku0bScip.js +2494 -0
- package/dist/cjs/{index-WPRkQD3O.js → index-kU2nW5aN.js} +12692 -7009
- package/dist/cjs/{nv-dialog.entry-CDSK9pUH.js → index.esm-D3eWMME9-CG1TVKfu.js} +1 -296
- package/dist/cjs/index.js +15 -1
- package/dist/cjs/inputmask-CSo292ul-DlvupPk6.js +3758 -0
- package/dist/cjs/{nv-accordion-item.entry-BuTvA6w9.js → nv-accordion-item.entry-Bu1tAcCq.js} +11 -10
- package/dist/cjs/{nv-accordion.entry-Dtsfw6He.js → nv-accordion.entry-jWjLdX8w.js} +9 -11
- package/dist/cjs/{nv-alert.entry-TIdfdU7Y.js → nv-alert.entry-E9ZJay_K.js} +22 -23
- package/dist/cjs/{nv-avatar.entry-CaxrhPuw.js → nv-avatar.entry-CUX7u0kR.js} +11 -11
- package/dist/cjs/{nv-badge_2.entry-CfYvTZxX.js → nv-badge_2.entry-bxpV5gxE.js} +24 -24
- package/dist/cjs/{nv-breadcrumb.entry-BCZ4MmfD.js → nv-breadcrumb.entry-Cbbb9Qeh.js} +5 -5
- package/dist/cjs/{nv-breadcrumbs.entry-DwzCE7F6.js → nv-breadcrumbs.entry-BTqnp9zO.js} +3 -3
- package/dist/cjs/{nv-button.entry-Cr_86bcZ.js → nv-button.entry-upWH19y6.js} +12 -14
- package/dist/cjs/{nv-buttongroup.entry-CWjRoHY1.js → nv-buttongroup.entry-CuZCRsnV.js} +3 -3
- package/dist/cjs/{nv-calendar.entry-CXfwNt6G.js → nv-calendar.entry-CT3mASW6.js} +113 -97
- package/dist/cjs/{nv-col.entry-CJLDS3LY.js → nv-col.entry--pCxkaTh.js} +5 -5
- package/dist/cjs/{nv-datagrid.entry-Cns8XSud.js → nv-datagrid.entry-CGCEhO8C.js} +80 -85
- package/dist/cjs/{nv-datagridcolumn.entry-CFFAipHF.js → nv-datagridcolumn.entry-Fsqc7CT_.js} +2 -1
- package/dist/cjs/nv-dialog.entry-B6OYcZxQ.js +300 -0
- package/dist/cjs/{nv-dialogfooter_2.entry-To_dGUn4.js → nv-dialogfooter_2.entry-C4fP_n2-.js} +10 -11
- package/dist/cjs/nv-drawer.entry-C5O4KvHU.js +445 -0
- package/dist/cjs/nv-drawerfooter_2.entry-C-reYJXG.js +146 -0
- package/dist/cjs/nv-fieldcheckbox.entry-bk7UNQny.js +177 -0
- package/dist/cjs/{nv-fielddate.entry-C3pXtMHL.js → nv-fielddate.entry-dqZDBVmm.js} +89 -46
- package/dist/cjs/{nv-fielddaterange.entry-CjVVPEK_.js → nv-fielddaterange.entry-wNRasXky.js} +151 -103
- package/dist/cjs/nv-fielddropdown.entry-BA15piWa.js +678 -0
- package/dist/cjs/{nv-fielddropdownitem.entry-Dah-PaE8.js → nv-fielddropdownitem.entry-DEWaf9dC.js} +7 -7
- package/dist/cjs/{nv-fieldmultiselect.entry-BMLjhqoJ.js → nv-fieldmultiselect.entry-BWY5xOAd.js} +343 -236
- package/dist/cjs/nv-fieldnumber.entry-DoYORd0d.js +187 -0
- package/dist/cjs/nv-fieldpassword.entry-CPaLj9aD.js +165 -0
- package/dist/cjs/{nv-fieldradio.entry-X_2VT1Dj.js → nv-fieldradio.entry-CvUmEaCa.js} +11 -11
- package/dist/cjs/{nv-fieldselect.entry-pSp-2rNn.js → nv-fieldselect.entry-uUIZ6hmN.js} +52 -13
- package/dist/cjs/{nv-fieldslider.entry-pZf7zzLU.js → nv-fieldslider.entry-DnvmxxYY.js} +16 -31
- package/dist/cjs/nv-fieldtext.entry-BYAJp3n_.js +163 -0
- package/dist/cjs/{nv-fieldtextarea.entry-t3Ixxi23.js → nv-fieldtextarea.entry-DU2bWYeg.js} +52 -14
- package/dist/cjs/{nv-fieldtime.entry-DY7D5_6K.js → nv-fieldtime.entry-DlMNDTht.js} +128 -84
- package/dist/cjs/{nv-icon.entry-6oYPSf4c.js → nv-icon.entry-CnUkRzaA.js} +12 -12
- package/dist/cjs/{nv-iconbutton_2.entry-ChULGovr.js → nv-iconbutton_2.entry-hqp4AcRq.js} +10 -12
- package/dist/cjs/{nv-menu.entry-sd0tatWq.js → nv-menu.entry-Dc_FvIx7.js} +18 -32
- package/dist/cjs/{nv-menuitem.entry-CCOqR7UF.js → nv-menuitem.entry-DzMhx6c_.js} +6 -5
- package/dist/cjs/nv-notification-bullet.entry-BwhHCMQF.js +76 -0
- package/dist/cjs/{nv-notification.entry-Cc3zE3yY.js → nv-notification.entry-C3m5p5BL.js} +42 -128
- package/dist/cjs/{nv-notificationcontainer.entry-DV4D6oOH.js → nv-notificationcontainer.entry-DTRNn7VE.js} +4 -4
- package/dist/cjs/{nv-popover.entry-DQSwI2jT.js → nv-popover.entry-B0c-2rO4.js} +51 -47
- package/dist/cjs/{nv-row.entry-UUuMSAY5.js → nv-row.entry-CdcjVGZv.js} +4 -4
- package/dist/cjs/nv-sidebar.entry-CiN813gQ.js +177 -0
- package/dist/cjs/nv-sidebarcontent.entry-D9hpAhK8.js +22 -0
- package/dist/cjs/nv-sidebardivider.entry-B4EMyca5.js +22 -0
- package/dist/cjs/nv-sidebarfooter.entry-CHi4qOFe.js +22 -0
- package/dist/cjs/nv-sidebargroup.entry-RVqrsyIU.js +23 -0
- package/dist/cjs/nv-sidebarheader.entry-_7ch0O3G.js +22 -0
- package/dist/cjs/nv-sidebarlogo.entry-Ch9F-JnT.js +32 -0
- package/dist/cjs/nv-sidebarnavitem.entry-DVrafSMr.js +296 -0
- package/dist/cjs/nv-sidebarnavsubitem.entry-C0XDAzma.js +35 -0
- package/dist/cjs/{nv-split.entry-CYP2bTTM.js → nv-split.entry-0HTslRAX.js} +47 -45
- package/dist/cjs/{nv-stack.entry-D35-75Vw.js → nv-stack.entry-CqO7uTQf.js} +5 -5
- package/dist/cjs/{nv-table.entry-DevWJBnL.js → nv-table.entry-DH85n8Mc.js} +9 -11
- package/dist/cjs/{nv-tableheader.entry-Hs7nUSOC.js → nv-tableheader.entry-CKfocdxD.js} +7 -7
- package/dist/cjs/{nv-toggle.entry-Eje9d--6.js → nv-toggle.entry-BHUl76Im.js} +9 -9
- package/dist/cjs/nv-togglebutton.entry-D_9COjY-.js +67 -0
- package/dist/cjs/{nv-togglebuttongroup.entry-CWN_Ucry.js → nv-togglebuttongroup.entry-C0NLbsq7.js} +10 -8
- package/dist/cjs/{nv-tooltip.entry-BGkKDEFg.js → nv-tooltip.entry-BfViGE_U.js} +5 -5
- package/dist/cjs/slide.animation-CmH5d1of-BZuw607U.js +90 -0
- package/dist/cjs/{style-value-types.es-f5d10b79-D0QCM8OB.js → style-value-types.es-xlgmw4x8-B1vLqX9m.js} +6 -3
- package/dist/cjs/{v4-a79185f4-2n0dOd_Y.js → v4-BdYh22OP-C1vaJ4yP.js} +1 -1
- package/dist/components/NvDatatable/NvDatatable.js +40 -24
- package/dist/generated/components.js +107 -0
- package/dist/generated/components.server.js +260 -50
- package/dist/providers/NotificationProvider.js +3 -4
- package/dist/types/components/NvDatatable/NvDatatable.d.ts +1 -1
- package/dist/types/components/NvDatatable/types.d.ts +8 -3
- package/dist/types/generated/components.d.ts +46 -0
- package/dist/types/generated/components.server.d.ts +46 -0
- package/package.json +2 -2
- package/dist/cjs/_commonjsHelpers-1789f0cf-BJu3ubxk.js +0 -10
- package/dist/cjs/inputmask-edcad3c1-B9Omti4z.js +0 -3749
- package/dist/cjs/nv-fieldcheckbox.entry-fdonR07Z.js +0 -138
- package/dist/cjs/nv-fielddropdown.entry-C9mXuNNj.js +0 -392
- package/dist/cjs/nv-fieldnumber.entry-DBdJviXu.js +0 -148
- package/dist/cjs/nv-fieldpassword.entry-Cim_usSM.js +0 -122
- package/dist/cjs/nv-fieldtext.entry-DlI_ExaV.js +0 -124
- package/dist/cjs/nv-togglebutton.entry-LGI7pIeK.js +0 -56
- /package/dist/cjs/{clsx-297c1ffe-BtxeOLZW.js → clsx-ChV9xqsO-BtxeOLZW.js} +0 -0
- /package/dist/cjs/{constants-69bafca2-DpB_ghPF.js → constants-BReL3Lsa-DpB_ghPF.js} +0 -0
- /package/dist/cjs/{timeline.animation-79215cd4-KteJaZPb.js → timeline.animation-CgHCo_Ho-KteJaZPb.js} +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-kU2nW5aN.js');
|
|
4
|
+
require('@stencil/react-output-target/runtime');
|
|
4
5
|
require('react');
|
|
5
6
|
require('react-dom');
|
|
6
7
|
|
|
7
8
|
const nvNotificationcontainerCss = "nv-notificationcontainer{position:fixed;display:flex;flex-direction:column;padding:var(--spacing-2);padding-top:0;z-index:9999;pointer-events:none;width:100%;max-width:512px}nv-notificationcontainer.position-top-right{top:0;right:0}nv-notificationcontainer.position-top-right nv-notification{margin-top:var(--spacing-2)}nv-notificationcontainer.position-top-left{top:0;left:0}nv-notificationcontainer.position-top-left nv-notification{margin-bottom:var(--spacing-2)}nv-notificationcontainer.position-top-center{top:0;left:50%;transform:translateX(-50%)}nv-notificationcontainer.position-top-center nv-notification{margin-bottom:var(--spacing-2)}nv-notificationcontainer.position-bottom-right{bottom:0;right:0;flex-direction:column-reverse}nv-notificationcontainer.position-bottom-right nv-notification{margin-top:var(--spacing-2)}nv-notificationcontainer.position-bottom-left{bottom:0;left:0;flex-direction:column-reverse}nv-notificationcontainer.position-bottom-left nv-notification{margin-top:var(--spacing-2)}nv-notificationcontainer.position-bottom-center{bottom:0;left:50%;transform:translateX(-50%);flex-direction:column-reverse}nv-notificationcontainer.position-bottom-center nv-notification{margin-top:var(--spacing-2)}nv-notificationcontainer>*{pointer-events:auto}";
|
|
8
|
-
const NvNotificationcontainerStyle0 = nvNotificationcontainerCss;
|
|
9
9
|
|
|
10
10
|
const NvNotificationContainer = class {
|
|
11
11
|
constructor(hostRef) {
|
|
@@ -33,9 +33,9 @@ const NvNotificationContainer = class {
|
|
|
33
33
|
/****************************************************************************/
|
|
34
34
|
//#region RENDER
|
|
35
35
|
render() {
|
|
36
|
-
return (index.h(index.Host, { key: '
|
|
36
|
+
return (index.h(index.Host, { key: '5dee0dc22cb8917d8134e2f256996118e3e30b42', class: `position-${this.position}` }, index.h("slot", { key: '14664d70fb1840877d80eda1b3c7804457ffa67f' })));
|
|
37
37
|
}
|
|
38
38
|
};
|
|
39
|
-
NvNotificationContainer.style =
|
|
39
|
+
NvNotificationContainer.style = nvNotificationcontainerCss;
|
|
40
40
|
|
|
41
41
|
exports.nv_notificationcontainer = NvNotificationContainer;
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
require('./style-value-types.es-
|
|
3
|
+
var index = require('./index-kU2nW5aN.js');
|
|
4
|
+
var fade_animationDcRL9lcm = require('./fade.animation-DcRL9lcm-DAZeHoKN.js');
|
|
5
|
+
var grow_animationD7ep_aVl = require('./grow.animation-D7ep_aVl-BuXEDSK-.js');
|
|
6
|
+
require('./style-value-types.es-xlgmw4x8-B1vLqX9m.js');
|
|
7
|
+
var events_utilsB6GgGra_ = require('./events.utils-B6GgGra--01N__3wY.js');
|
|
8
|
+
require('@stencil/react-output-target/runtime');
|
|
7
9
|
require('react');
|
|
8
10
|
require('react-dom');
|
|
9
11
|
|
|
12
|
+
/**
|
|
13
|
+
* Custom positioning reference element.
|
|
14
|
+
* @see https://floating-ui.com/docs/virtual-elements
|
|
15
|
+
*/
|
|
16
|
+
|
|
10
17
|
const min = Math.min;
|
|
11
18
|
const max = Math.max;
|
|
12
19
|
const round = Math.round;
|
|
@@ -843,7 +850,6 @@ function getOverflowAncestors(node, list, traverseIframes) {
|
|
|
843
850
|
const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
|
|
844
851
|
const win = getWindow(scrollableAncestor);
|
|
845
852
|
if (isBody) {
|
|
846
|
-
getFrameElement(win);
|
|
847
853
|
return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], []);
|
|
848
854
|
}
|
|
849
855
|
return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, []));
|
|
@@ -1409,7 +1415,7 @@ const cleanupElements = debounce((map) => {
|
|
|
1409
1415
|
for (let key of map.keys()) {
|
|
1410
1416
|
map.set(key, map.get(key).filter(isConnected));
|
|
1411
1417
|
}
|
|
1412
|
-
},
|
|
1418
|
+
}, 2_000);
|
|
1413
1419
|
const stencilSubscription = () => {
|
|
1414
1420
|
if (typeof index.getRenderingRef !== 'function') {
|
|
1415
1421
|
// If we are not in a stencil project, we do nothing.
|
|
@@ -1442,18 +1448,19 @@ const stencilSubscription = () => {
|
|
|
1442
1448
|
const unwrap = (val) => (typeof val === 'function' ? val() : val);
|
|
1443
1449
|
const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {
|
|
1444
1450
|
const unwrappedState = unwrap(defaultState);
|
|
1445
|
-
let states = new Map(Object.entries(unwrappedState
|
|
1451
|
+
let states = new Map(Object.entries(unwrappedState ?? {}));
|
|
1446
1452
|
const handlers = {
|
|
1447
1453
|
dispose: [],
|
|
1448
1454
|
get: [],
|
|
1449
1455
|
set: [],
|
|
1450
1456
|
reset: [],
|
|
1451
1457
|
};
|
|
1458
|
+
// Track onChange listeners to enable removeListener functionality
|
|
1459
|
+
const changeListeners = new Map();
|
|
1452
1460
|
const reset = () => {
|
|
1453
|
-
var _a;
|
|
1454
1461
|
// When resetting the state, the default state may be a function - unwrap it to invoke it.
|
|
1455
1462
|
// otherwise, the state won't be properly reset
|
|
1456
|
-
states = new Map(Object.entries(
|
|
1463
|
+
states = new Map(Object.entries(unwrap(defaultState) ?? {}));
|
|
1457
1464
|
handlers.reset.forEach((cb) => cb());
|
|
1458
1465
|
};
|
|
1459
1466
|
const dispose = () => {
|
|
@@ -1503,17 +1510,21 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
|
|
|
1503
1510
|
};
|
|
1504
1511
|
};
|
|
1505
1512
|
const onChange = (propName, cb) => {
|
|
1506
|
-
const
|
|
1513
|
+
const setHandler = (key, newValue) => {
|
|
1507
1514
|
if (key === propName) {
|
|
1508
1515
|
cb(newValue);
|
|
1509
1516
|
}
|
|
1510
|
-
}
|
|
1511
|
-
|
|
1512
|
-
//
|
|
1513
|
-
const
|
|
1517
|
+
};
|
|
1518
|
+
const resetHandler = () => cb(unwrap(defaultState)[propName]);
|
|
1519
|
+
// Register the handlers
|
|
1520
|
+
const unSet = on('set', setHandler);
|
|
1521
|
+
const unReset = on('reset', resetHandler);
|
|
1522
|
+
// Track the relationship between the user callback and internal handlers
|
|
1523
|
+
changeListeners.set(cb, { setHandler, resetHandler, propName });
|
|
1514
1524
|
return () => {
|
|
1515
1525
|
unSet();
|
|
1516
1526
|
unReset();
|
|
1527
|
+
changeListeners.delete(cb);
|
|
1517
1528
|
};
|
|
1518
1529
|
};
|
|
1519
1530
|
const use = (...subscriptions) => {
|
|
@@ -1538,6 +1549,15 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
|
|
|
1538
1549
|
const oldValue = states.get(key);
|
|
1539
1550
|
handlers.set.forEach((cb) => cb(key, oldValue, oldValue));
|
|
1540
1551
|
};
|
|
1552
|
+
const removeListener = (propName, listener) => {
|
|
1553
|
+
const listenerInfo = changeListeners.get(listener);
|
|
1554
|
+
if (listenerInfo && listenerInfo.propName === propName) {
|
|
1555
|
+
// Remove the specific handlers that were created for this listener
|
|
1556
|
+
removeFromArray(handlers.set, listenerInfo.setHandler);
|
|
1557
|
+
removeFromArray(handlers.reset, listenerInfo.resetHandler);
|
|
1558
|
+
changeListeners.delete(listener);
|
|
1559
|
+
}
|
|
1560
|
+
};
|
|
1541
1561
|
return {
|
|
1542
1562
|
state,
|
|
1543
1563
|
get,
|
|
@@ -1548,6 +1568,7 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
|
|
|
1548
1568
|
dispose,
|
|
1549
1569
|
reset,
|
|
1550
1570
|
forceUpdate,
|
|
1571
|
+
removeListener,
|
|
1551
1572
|
};
|
|
1552
1573
|
};
|
|
1553
1574
|
const removeFromArray = (array, item) => {
|
|
@@ -1565,7 +1586,6 @@ const createStore = (defaultState, shouldUpdate) => {
|
|
|
1565
1586
|
};
|
|
1566
1587
|
|
|
1567
1588
|
const nvPopoverCss = "nv-popover{display:inline-block;position:relative}nv-popover:has([fluid]:not([fluid=false])){display:block}nv-popover[strategy=fixed]{position:static}nv-popover>[data-scope=popover]{width:max-content;background-color:var(--components-popover-background);border-color:var(--components-popover-border);font-weight:var(--font-weight-medium-emphasis);border-width:1px;border-style:solid;border-radius:var(--popover-radius);padding:var(--popover-padding-y) var(--popover-padding-x);position:absolute;top:0;left:0;z-index:1;box-shadow:var(--popover-shadow-1-x) var(--popover-shadow-1-y) var(--popover-shadow-1-blur) -2px var(--popover-shadow-1-opacity), var(--popover-shadow-2-x) var(--popover-shadow-2-y) var(--popover-shadow-2-blur) var(--shadow-spread-lg-2) var(--popover-shadow-2-opacity)}nv-popover>[data-scope=popover][hidden]:not([hidden=false]){display:none}nv-popover>[data-scope=popover][data-strategy=fixed]{position:fixed;z-index:9999}nv-popover>[data-scope=popover]>[data-scope=arrow]{background-color:var(--components-popover-background);position:absolute;border-color:var(--components-popover-border);border-width:1px;border-style:solid;border-bottom-color:transparent;border-right-color:transparent;width:8px;height:8px;transform:rotate(45deg);border-radius:1px}nv-popover>[data-scope=popover]>[slot=content]{position:relative;z-index:1}nv-popover>slot-fb{display:none}";
|
|
1568
|
-
const NvPopoverStyle0 = nvPopoverCss;
|
|
1569
1589
|
|
|
1570
1590
|
const { state } = createStore({
|
|
1571
1591
|
groups: new Map(),
|
|
@@ -1573,7 +1593,7 @@ const { state } = createStore({
|
|
|
1573
1593
|
const NvPopover = class {
|
|
1574
1594
|
constructor(hostRef) {
|
|
1575
1595
|
index.registerInstance(this, hostRef);
|
|
1576
|
-
this.openChanged = index.createEvent(this, "openChanged");
|
|
1596
|
+
this.openChanged = index.createEvent(this, "openChanged", 3);
|
|
1577
1597
|
this.eventsAttached = false;
|
|
1578
1598
|
this.isAnimating = false;
|
|
1579
1599
|
this.clickEvents = [
|
|
@@ -1680,11 +1700,10 @@ const NvPopover = class {
|
|
|
1680
1700
|
* @param {MouseEvent | TouchEvent} event - The event object.
|
|
1681
1701
|
*/
|
|
1682
1702
|
this.handleClickOutside = (event) => {
|
|
1683
|
-
var _a;
|
|
1684
1703
|
// This popover should close when the user clicks outside of it.
|
|
1685
1704
|
if (this.el.contains(event.target))
|
|
1686
1705
|
return;
|
|
1687
|
-
if (
|
|
1706
|
+
if (this.triggerElement?.contains(event.target))
|
|
1688
1707
|
return;
|
|
1689
1708
|
this.open = false;
|
|
1690
1709
|
};
|
|
@@ -1724,14 +1743,14 @@ const NvPopover = class {
|
|
|
1724
1743
|
*/
|
|
1725
1744
|
attachEventListeners() {
|
|
1726
1745
|
if (this.triggerElement && !this.eventsAttached) {
|
|
1727
|
-
|
|
1746
|
+
events_utilsB6GgGra_.addEventListeners(this.closeEvents, document, this);
|
|
1728
1747
|
if (this.triggerMode === 'click') {
|
|
1729
|
-
|
|
1748
|
+
events_utilsB6GgGra_.addEventListeners(this.clickEvents, this.triggerElement, this);
|
|
1730
1749
|
// Add document click and touch listeners
|
|
1731
|
-
|
|
1750
|
+
events_utilsB6GgGra_.addEventListeners(this.outsideClickEvents, document, this);
|
|
1732
1751
|
}
|
|
1733
1752
|
if (this.triggerMode === 'hover') {
|
|
1734
|
-
|
|
1753
|
+
events_utilsB6GgGra_.addEventListeners(this.hoverEvents, this.triggerElement, this);
|
|
1735
1754
|
}
|
|
1736
1755
|
this.eventsAttached = true;
|
|
1737
1756
|
}
|
|
@@ -1806,11 +1825,11 @@ const NvPopover = class {
|
|
|
1806
1825
|
state.groups.delete(this.groupName);
|
|
1807
1826
|
if (this.groupName && open)
|
|
1808
1827
|
state.groups.set(this.groupName, { openedBy: this.el });
|
|
1809
|
-
const { growIn } =
|
|
1828
|
+
const { growIn } = grow_animationD7ep_aVl.useGrow(this.popoverElement, {
|
|
1810
1829
|
duration: isOtherMemberOpen ? 0 : 100,
|
|
1811
1830
|
amount: 0.85,
|
|
1812
1831
|
});
|
|
1813
|
-
const { fadeOut } =
|
|
1832
|
+
const { fadeOut } = fade_animationDcRL9lcm.useFade(this.popoverElement, {
|
|
1814
1833
|
duration: isOtherMemberOpen ? 0 : 100,
|
|
1815
1834
|
});
|
|
1816
1835
|
if (open === true) {
|
|
@@ -1832,21 +1851,6 @@ const NvPopover = class {
|
|
|
1832
1851
|
}
|
|
1833
1852
|
//#endregion WATCHERS
|
|
1834
1853
|
/****************************************************************************/
|
|
1835
|
-
//#region LISTENERS
|
|
1836
|
-
handleOpenChanged(event) {
|
|
1837
|
-
var _a;
|
|
1838
|
-
if (this.triggerMode === 'controlled')
|
|
1839
|
-
return;
|
|
1840
|
-
if (this.nested)
|
|
1841
|
-
return;
|
|
1842
|
-
if ((_a = event.target) === null || _a === void 0 ? void 0 : _a.hasAttribute('nested'))
|
|
1843
|
-
return;
|
|
1844
|
-
// This popover should close when another one is opened.
|
|
1845
|
-
if (event.target !== this.el && event.detail === true)
|
|
1846
|
-
this.open = false;
|
|
1847
|
-
}
|
|
1848
|
-
//#endregion LISTENERS
|
|
1849
|
-
/****************************************************************************/
|
|
1850
1854
|
//#region LIFECYCLE
|
|
1851
1855
|
componentWillLoad() {
|
|
1852
1856
|
if (!this.triggerElement)
|
|
@@ -1858,11 +1862,11 @@ const NvPopover = class {
|
|
|
1858
1862
|
componentDidLoad() {
|
|
1859
1863
|
// Initial inline style setup
|
|
1860
1864
|
if (!this.open) {
|
|
1861
|
-
const { setGrowOut } =
|
|
1865
|
+
const { setGrowOut } = grow_animationD7ep_aVl.useGrow(this.popoverElement);
|
|
1862
1866
|
setGrowOut();
|
|
1863
1867
|
}
|
|
1864
1868
|
else {
|
|
1865
|
-
const { setFadeIn } =
|
|
1869
|
+
const { setFadeIn } = fade_animationDcRL9lcm.useFade(this.popoverElement);
|
|
1866
1870
|
setFadeIn();
|
|
1867
1871
|
this.popoverElement.removeAttribute('hidden');
|
|
1868
1872
|
}
|
|
@@ -1870,14 +1874,14 @@ const NvPopover = class {
|
|
|
1870
1874
|
this.attachEventListeners();
|
|
1871
1875
|
}
|
|
1872
1876
|
disconnectedCallback() {
|
|
1873
|
-
|
|
1877
|
+
events_utilsB6GgGra_.removeEventListeners(this.closeEvents, document, this);
|
|
1874
1878
|
if (this.triggerMode === 'click') {
|
|
1875
|
-
|
|
1879
|
+
events_utilsB6GgGra_.removeEventListeners(this.clickEvents, this.triggerElement, this);
|
|
1876
1880
|
// Remove document listeners
|
|
1877
|
-
|
|
1881
|
+
events_utilsB6GgGra_.removeEventListeners(this.outsideClickEvents, document, this);
|
|
1878
1882
|
}
|
|
1879
1883
|
if (this.triggerMode === 'hover')
|
|
1880
|
-
|
|
1884
|
+
events_utilsB6GgGra_.removeEventListeners(this.hoverEvents, this.triggerElement, this);
|
|
1881
1885
|
// Reset flag so events can be reattached if component is reconnected
|
|
1882
1886
|
this.eventsAttached = false;
|
|
1883
1887
|
// Clean up any pending timeouts
|
|
@@ -1890,7 +1894,7 @@ const NvPopover = class {
|
|
|
1890
1894
|
/****************************************************************************/
|
|
1891
1895
|
//#region RENDER
|
|
1892
1896
|
render() {
|
|
1893
|
-
return (index.h(index.Host, { key: '
|
|
1897
|
+
return (index.h(index.Host, { key: '3505c77a628a1c612d937703777b72459a71e256' }, index.h("slot", { key: '36596c5ca1b182ed5d9f723b81398cf54923bd83', name: "trigger" }), index.h("div", { key: 'efc6da5c69cefad2611f0b9fa96d072ddc48d07a', "data-scope": "popover", "data-strategy": this.strategy, hidden: true, ref: el => (this.popoverElement = el) }, this.hasArrow && (index.h("div", { key: '9439cf1c7fdadfd9538c4ed186d4c54300d00e95', "data-scope": "arrow", ref: el => (this.arrowElement = el) })), index.h("slot", { key: '868cd1ce1ac648f4446aa6d4f86069551c208d1f', name: "content" }))));
|
|
1894
1898
|
}
|
|
1895
1899
|
get el() { return index.getElement(this); }
|
|
1896
1900
|
static get watchers() { return {
|
|
@@ -1898,6 +1902,6 @@ const NvPopover = class {
|
|
|
1898
1902
|
"strategy": ["handleStrategyChange"]
|
|
1899
1903
|
}; }
|
|
1900
1904
|
};
|
|
1901
|
-
NvPopover.style =
|
|
1905
|
+
NvPopover.style = nvPopoverCss;
|
|
1902
1906
|
|
|
1903
1907
|
exports.nv_popover = NvPopover;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
3
|
+
var index = require('./index-kU2nW5aN.js');
|
|
4
|
+
require('@stencil/react-output-target/runtime');
|
|
4
5
|
require('react');
|
|
5
6
|
require('react-dom');
|
|
6
7
|
|
|
7
8
|
const nvRowCss = "nv-row{display:flex;flex-wrap:wrap;margin-right:calc(var(--spacing-4) * -1);margin-left:calc(var(--spacing-4) * -1);row-gap:var(--spacing-4)}";
|
|
8
|
-
const NvRowStyle0 = nvRowCss;
|
|
9
9
|
|
|
10
10
|
const NvRow = class {
|
|
11
11
|
constructor(hostRef) {
|
|
@@ -14,9 +14,9 @@ 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: 'fda91377821b426a6cbc6ade6f253144a388fb62' }, index.h("slot", { key: '5d7cc9aa4d4ad0b251aa5c028adfddade4e4d1c4' })));
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
|
-
NvRow.style =
|
|
20
|
+
NvRow.style = nvRowCss;
|
|
21
21
|
|
|
22
22
|
exports.nv_row = NvRow;
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./index-kU2nW5aN.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 .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)}";
|
|
9
|
+
|
|
10
|
+
const NvSidebar = class {
|
|
11
|
+
constructor(hostRef) {
|
|
12
|
+
index.registerInstance(this, hostRef);
|
|
13
|
+
this.openChanged = index.createEvent(this, "openChanged", 3);
|
|
14
|
+
/****************************************************************************/
|
|
15
|
+
//#region PROPERTIES
|
|
16
|
+
/**
|
|
17
|
+
* The type of sidebar behavior.
|
|
18
|
+
* - collapsible: Can be toggled open/closed
|
|
19
|
+
* - persistent: Always visible
|
|
20
|
+
*/
|
|
21
|
+
this.type = 'persistent';
|
|
22
|
+
/**
|
|
23
|
+
* Whether the sidebar is currently open (only applies to collapsible type).
|
|
24
|
+
*/
|
|
25
|
+
// eslint-disable-next-line @stencil-community/ban-default-true
|
|
26
|
+
this.open = true;
|
|
27
|
+
/**
|
|
28
|
+
* Determines the type of notification bullets in the sidebar.
|
|
29
|
+
* - neutral: Uses neutral colors (gray)
|
|
30
|
+
* - brand: Uses brand colors (orange/teal depending on theme)
|
|
31
|
+
*/
|
|
32
|
+
this.notificationIntention = 'brand';
|
|
33
|
+
/**
|
|
34
|
+
* Determines the emphasis of notification bullets in the sidebar.
|
|
35
|
+
* - high: More prominent appearance
|
|
36
|
+
* - low: Less prominent appearance
|
|
37
|
+
*/
|
|
38
|
+
this.notificationEmphasis = 'high';
|
|
39
|
+
//#endregion EVENTS
|
|
40
|
+
/****************************************************************************/
|
|
41
|
+
//#region METHODS
|
|
42
|
+
this.handleToggle = () => {
|
|
43
|
+
if (this.type === 'collapsible') {
|
|
44
|
+
// Changing open will trigger @Watch which emits the event
|
|
45
|
+
this.open = !this.open;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Sets the active state of navigation items based on activePath
|
|
50
|
+
*/
|
|
51
|
+
this.setActiveNavItems = () => {
|
|
52
|
+
if (!this.activePath)
|
|
53
|
+
return;
|
|
54
|
+
// First, check all subitems to find if any matches exactly
|
|
55
|
+
const activeSubitemHrefs = new Set();
|
|
56
|
+
this.el.querySelectorAll('nv-sidebarnavsubitem').forEach(subItem => {
|
|
57
|
+
const link = subItem.querySelector('a');
|
|
58
|
+
const href = link?.getAttribute('href');
|
|
59
|
+
if (href) {
|
|
60
|
+
const isActive = this.activePath === href;
|
|
61
|
+
subItem.active = isActive;
|
|
62
|
+
if (isActive) {
|
|
63
|
+
activeSubitemHrefs.add(href);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
// Then, set nav items active only if:
|
|
68
|
+
// 1. Exact match with activePath AND no subitem matches
|
|
69
|
+
// 2. OR the navitem has no subitems and activePath starts with its href
|
|
70
|
+
this.el.querySelectorAll('nv-sidebarnavitem').forEach(navItem => {
|
|
71
|
+
const link = navItem.querySelector(':scope > a, :scope > .nv-sidebarnavitem-trigger a, .nv-sidebarnavitem-content > a');
|
|
72
|
+
const href = link?.getAttribute('href');
|
|
73
|
+
const hasSubitems = navItem.querySelector('nv-sidebarnavsubitem') !== null;
|
|
74
|
+
if (href) {
|
|
75
|
+
if (hasSubitems) {
|
|
76
|
+
// Parent with subitems: only active if exact match (not when subitem is active)
|
|
77
|
+
navItem.active = this.activePath === href;
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
// Item without subitems: active on exact match
|
|
81
|
+
navItem.active = this.activePath === href;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
};
|
|
86
|
+
this.pendingActiveUpdate = null;
|
|
87
|
+
/**
|
|
88
|
+
* Sets up the MutationObserver to watch for changes in child elements.
|
|
89
|
+
* Only triggers on new nav items being added, not on attribute changes.
|
|
90
|
+
*/
|
|
91
|
+
this.setupMutationObserver = () => {
|
|
92
|
+
this.mutationObserver = new MutationObserver(mutations => {
|
|
93
|
+
// Only react to new nav items being added, ignore other mutations
|
|
94
|
+
const hasNewNavItems = mutations.some(mutation => {
|
|
95
|
+
if (mutation.type !== 'childList')
|
|
96
|
+
return false;
|
|
97
|
+
return Array.from(mutation.addedNodes).some(node => {
|
|
98
|
+
if (node.nodeType !== Node.ELEMENT_NODE)
|
|
99
|
+
return false;
|
|
100
|
+
const el = node;
|
|
101
|
+
return (el.tagName.toLowerCase() === 'nv-sidebarnavitem' ||
|
|
102
|
+
el.tagName.toLowerCase() === 'nv-sidebarnavsubitem' ||
|
|
103
|
+
el.querySelector('nv-sidebarnavitem, nv-sidebarnavsubitem'));
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
if (hasNewNavItems) {
|
|
107
|
+
// Debounce to prevent multiple rapid calls
|
|
108
|
+
if (this.pendingActiveUpdate) {
|
|
109
|
+
clearTimeout(this.pendingActiveUpdate);
|
|
110
|
+
}
|
|
111
|
+
this.pendingActiveUpdate = window.setTimeout(() => {
|
|
112
|
+
this.setActiveNavItems();
|
|
113
|
+
this.pendingActiveUpdate = null;
|
|
114
|
+
}, 50);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
this.mutationObserver.observe(this.el, {
|
|
118
|
+
childList: true,
|
|
119
|
+
subtree: true,
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
handleCollapsedSideEffects(isCollapsed) {
|
|
124
|
+
if (!isCollapsed) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
this.el.querySelectorAll('nv-sidebarnavitem[open]').forEach(navItem => {
|
|
128
|
+
navItem.open = false;
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
//#endregion METHODS
|
|
132
|
+
/****************************************************************************/
|
|
133
|
+
//#region WATCHERS
|
|
134
|
+
onActivePathChanged() {
|
|
135
|
+
this.setActiveNavItems();
|
|
136
|
+
}
|
|
137
|
+
onOpenChanged(newValue, oldValue) {
|
|
138
|
+
this.handleCollapsedSideEffects(this.type === 'collapsible' && !newValue);
|
|
139
|
+
// Only emit event when open state actually changes (not on re-render with same value)
|
|
140
|
+
if (this.type === 'collapsible' && newValue !== oldValue) {
|
|
141
|
+
this.openChanged.emit(newValue);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
//#endregion WATCHERS
|
|
145
|
+
/****************************************************************************/
|
|
146
|
+
//#region LIFECYCLE
|
|
147
|
+
componentWillLoad() {
|
|
148
|
+
this.setActiveNavItems();
|
|
149
|
+
this.setupMutationObserver();
|
|
150
|
+
this.handleCollapsedSideEffects(this.type === 'collapsible' && !this.open);
|
|
151
|
+
}
|
|
152
|
+
disconnectedCallback() {
|
|
153
|
+
if (this.mutationObserver) {
|
|
154
|
+
this.mutationObserver.disconnect();
|
|
155
|
+
}
|
|
156
|
+
if (this.pendingActiveUpdate) {
|
|
157
|
+
clearTimeout(this.pendingActiveUpdate);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
//#endregion LIFECYCLE
|
|
161
|
+
/****************************************************************************/
|
|
162
|
+
//#region RENDER
|
|
163
|
+
render() {
|
|
164
|
+
const isCollapsed = this.type === 'collapsible' && !this.open;
|
|
165
|
+
return (index.h(index.Host, { key: 'ac14d7b4027c06d1aa19b1b6c7de3f0d2e231b1a', role: "navigation", collapsed: isCollapsed ? true : undefined, "notification-intention": this.notificationIntention, "notification-emphasis": this.notificationEmphasis, "aria-expanded": this.type === 'collapsible' ? String(this.open) : undefined }, index.h("div", { key: 'e567303c87a2308747290fae95d7ade9971cd67a', class: "nv-sidebar-container" }, index.h("slot", { key: '0b2e0e1b1721aae3c0f910500bde3c2db92f879b' })), this.type === 'collapsible' && (index.h("button", { key: '493204449f3bb9aedd5a34cb238242aadd61324b', class: "nv-sidebar-toggle", onClick: this.handleToggle, "aria-label": this.open ? 'Collapse sidebar' : 'Expand sidebar' }, index.h("nv-icon", { key: '0e389c1c6c92f02f7c1e39fc07ef17a469b1e0f2', name: this.open
|
|
166
|
+
? 'layout-sidebar-left-collapse'
|
|
167
|
+
: 'layout-sidebar-right-collapse', size: "sm" })))));
|
|
168
|
+
}
|
|
169
|
+
get el() { return index.getElement(this); }
|
|
170
|
+
static get watchers() { return {
|
|
171
|
+
"activePath": ["onActivePathChanged"],
|
|
172
|
+
"open": ["onOpenChanged"]
|
|
173
|
+
}; }
|
|
174
|
+
};
|
|
175
|
+
NvSidebar.style = nvSidebarCss;
|
|
176
|
+
|
|
177
|
+
exports.nv_sidebar = NvSidebar;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./index-kU2nW5aN.js');
|
|
4
|
+
require('@stencil/react-output-target/runtime');
|
|
5
|
+
require('react');
|
|
6
|
+
require('react-dom');
|
|
7
|
+
|
|
8
|
+
const nvSidebarcontentCss = "nv-sidebarcontent{display:flex;flex-direction:column;flex:1;overflow-y:auto;overflow-x:hidden}";
|
|
9
|
+
|
|
10
|
+
const NvSidebarcontent = class {
|
|
11
|
+
constructor(hostRef) {
|
|
12
|
+
index.registerInstance(this, hostRef);
|
|
13
|
+
}
|
|
14
|
+
/****************************************************************************/
|
|
15
|
+
//#region RENDER
|
|
16
|
+
render() {
|
|
17
|
+
return (index.h(index.Host, { key: 'c72a3de4460c4de37c2008ec4d777771d8771d32', role: "list" }, index.h("slot", { key: '8d08c073aebf079dbb9062bb183370e4dc4d9fe8' })));
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
NvSidebarcontent.style = nvSidebarcontentCss;
|
|
21
|
+
|
|
22
|
+
exports.nv_sidebarcontent = NvSidebarcontent;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./index-kU2nW5aN.js');
|
|
4
|
+
require('@stencil/react-output-target/runtime');
|
|
5
|
+
require('react');
|
|
6
|
+
require('react-dom');
|
|
7
|
+
|
|
8
|
+
const nvSidebardividerCss = "nv-sidebardivider{display:block;height:var(--sidebar-divider-size);background-color:var(--components-sidebar-divider)}";
|
|
9
|
+
|
|
10
|
+
const NvSidebardivider = class {
|
|
11
|
+
constructor(hostRef) {
|
|
12
|
+
index.registerInstance(this, hostRef);
|
|
13
|
+
}
|
|
14
|
+
/****************************************************************************/
|
|
15
|
+
//#region RENDER
|
|
16
|
+
render() {
|
|
17
|
+
return index.h(index.Host, { key: '157045ee7209aa55574c54c2392f1e53d6cdba1e', role: "separator", "aria-orientation": "horizontal" });
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
NvSidebardivider.style = nvSidebardividerCss;
|
|
21
|
+
|
|
22
|
+
exports.nv_sidebardivider = NvSidebardivider;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./index-kU2nW5aN.js');
|
|
4
|
+
require('@stencil/react-output-target/runtime');
|
|
5
|
+
require('react');
|
|
6
|
+
require('react-dom');
|
|
7
|
+
|
|
8
|
+
const nvSidebarfooterCss = "nv-sidebarfooter{display:block;margin-top:auto}";
|
|
9
|
+
|
|
10
|
+
const NvSidebarfooter = class {
|
|
11
|
+
constructor(hostRef) {
|
|
12
|
+
index.registerInstance(this, hostRef);
|
|
13
|
+
}
|
|
14
|
+
/****************************************************************************/
|
|
15
|
+
//#region RENDER
|
|
16
|
+
render() {
|
|
17
|
+
return (index.h(index.Host, { key: 'be19b80fc56a296999532d986d477dcbd817a9f2' }, index.h("slot", { key: '55b3e91dab40b923d67eb140be42fd2483951254' })));
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
NvSidebarfooter.style = nvSidebarfooterCss;
|
|
21
|
+
|
|
22
|
+
exports.nv_sidebarfooter = NvSidebarfooter;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./index-kU2nW5aN.js');
|
|
4
|
+
require('@stencil/react-output-target/runtime');
|
|
5
|
+
require('react');
|
|
6
|
+
require('react-dom');
|
|
7
|
+
|
|
8
|
+
const nvSidebargroupCss = "nv-sidebargroup{display:flex;flex-direction:column;gap:var(--sidebar-group-gap-y)}nv-sidebargroup .nv-sidebargroup-label{display:block;font-size:var(--font-size-sm);line-height:var(--line-height-sm);font-weight:var(--font-weight-medium-emphasis);color:var(--color-content-lower-text);letter-spacing:0;padding:var(--sidebar-title-padding-y) var(--sidebar-title-padding-x)}nv-sidebar[collapsed] nv-sidebargroup .nv-sidebargroup-label{display:none}";
|
|
9
|
+
|
|
10
|
+
const NvSidebargroup = class {
|
|
11
|
+
constructor(hostRef) {
|
|
12
|
+
index.registerInstance(this, hostRef);
|
|
13
|
+
}
|
|
14
|
+
//#endregion PROPERTIES
|
|
15
|
+
/****************************************************************************/
|
|
16
|
+
//#region RENDER
|
|
17
|
+
render() {
|
|
18
|
+
return (index.h(index.Host, { key: '64b17f621fef826a4105dfa39fbc57013bad0abc', role: "group", "aria-label": this.label }, this.label && index.h("div", { key: '48e36725296ecc87da7d15606977fbe616dd4aa3', class: "nv-sidebargroup-label" }, this.label), index.h("slot", { key: '61aaf8541e9372220df24dcf9cf0b5b43e22e19b' })));
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
NvSidebargroup.style = nvSidebargroupCss;
|
|
22
|
+
|
|
23
|
+
exports.nv_sidebargroup = NvSidebargroup;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./index-kU2nW5aN.js');
|
|
4
|
+
require('@stencil/react-output-target/runtime');
|
|
5
|
+
require('react');
|
|
6
|
+
require('react-dom');
|
|
7
|
+
|
|
8
|
+
const nvSidebarheaderCss = "nv-sidebarheader{display:block}";
|
|
9
|
+
|
|
10
|
+
const NvSidebarheader = class {
|
|
11
|
+
constructor(hostRef) {
|
|
12
|
+
index.registerInstance(this, hostRef);
|
|
13
|
+
}
|
|
14
|
+
/****************************************************************************/
|
|
15
|
+
//#region RENDER
|
|
16
|
+
render() {
|
|
17
|
+
return (index.h(index.Host, { key: '2c9c0c109138ed3a23cb8f1a2fb78f29f93a4056' }, index.h("slot", { key: 'a928008023c6ce8a77aafbe0042ec8ed72e9c32d' })));
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
NvSidebarheader.style = nvSidebarheaderCss;
|
|
21
|
+
|
|
22
|
+
exports.nv_sidebarheader = NvSidebarheader;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./index-kU2nW5aN.js');
|
|
4
|
+
require('@stencil/react-output-target/runtime');
|
|
5
|
+
require('react');
|
|
6
|
+
require('react-dom');
|
|
7
|
+
|
|
8
|
+
const nvSidebarlogoCss = "nv-sidebarlogo{display:block}nv-sidebarlogo .nv-sidebarlogo-container{display:flex;align-items:center;gap:var(--spacing-3)}nv-sidebarlogo .nv-sidebarlogo-full,nv-sidebarlogo .nv-sidebarlogo-collapsed{height:var(--spacing-8);width:auto;object-fit:contain}nv-sidebarlogo .nv-sidebarlogo-collapsed{display:none}nv-sidebarlogo .nv-sidebarlogo-title{font-size:var(--nv-sidebarlogo-font-size, var(--font-size-md));font-weight:var(--nv-sidebarlogo-font-weight, var(--font-weight-high-emphasis));font-family:var(--nv-sidebarlogo-font-family, inherit);color:var(--color-content-high-text);white-space:nowrap;overflow:hidden;transition:opacity 0.2s ease, max-width 0.3s ease, margin-left 0.3s ease;max-width:200px;opacity:1}nv-sidebar[collapsed] nv-sidebarlogo .nv-sidebarlogo-full{display:none}nv-sidebar[collapsed] nv-sidebarlogo .nv-sidebarlogo-collapsed{display:block}nv-sidebar[collapsed] nv-sidebarlogo .nv-sidebarlogo-title{max-width:0;opacity:0;margin-left:0}nv-sidebar[collapsed] nv-sidebarlogo .nv-sidebarlogo-container{justify-content:center;align-items:center;gap:0;width:100%;min-height:var(--spacing-12);padding:0}";
|
|
9
|
+
|
|
10
|
+
const NvSidebarlogo = class {
|
|
11
|
+
constructor(hostRef) {
|
|
12
|
+
index.registerInstance(this, hostRef);
|
|
13
|
+
//#endregion PROPERTIES
|
|
14
|
+
/****************************************************************************/
|
|
15
|
+
//#region CONSTANTS
|
|
16
|
+
// Default Nova logo SVG (expanded - icon only, text comes from label prop)
|
|
17
|
+
this.defaultLogo = 'data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"%3E%3Cstyle%3E.cls-1{fill:%23f0801a;}%3C/style%3E%3Cpath class="cls-1" d="M25.71,2.13l-5.08,11.39c-.39.88-.38,1.92.13,2.73.74,1.17,2.19,1.59,3.42,1.07l14.26-6-3.14-2.27-10.89,4.66c-.15.06-.3-.09-.23-.24l4.34-9.31-2.81-2.03Z"/%3E%3Cpath class="cls-1" d="M4.29,10l9.22,8.4c.71.65,1.7.97,2.63.73,1.34-.34,2.2-1.58,2.09-2.91l-1.22-15.43-3.14,2.27,1.01,11.8c.01.16-.18.26-.3.15l-7.48-7.04-2.81,2.03Z"/%3E%3Cpath class="cls-1" d="M26.95,39.15l-2.59-12.2c-.2-.94-.82-1.78-1.71-2.13-1.29-.51-2.71,0-3.4,1.14l-8.01,13.24h3.87s6.07-10.18,6.07-10.18c.08-.14.3-.1.33.06l1.97,10.08h3.47Z"/%3E%3Cpath class="cls-1" d="M4.85,32.76l10.82-6.19c.83-.48,1.44-1.32,1.5-2.28.09-1.38-.83-2.58-2.13-2.89L0,17.82l1.2,3.68,11.54,2.67c.16.04.19.25.05.33l-9,4.96,1.07,3.3Z"/%3E%3Cpath class="cls-1" d="M40,20.11l-12.4-1.35c-.95-.1-1.94.22-2.56.96-.89,1.07-.84,2.58.03,3.58l10.08,11.74,1.2-3.69-7.77-8.94c-.11-.12,0-.32.16-.3l10.19,1.28,1.07-3.3Z"/%3E%3C/svg%3E';
|
|
18
|
+
// Default Nova icon (collapsed - same logo but will be displayed smaller)
|
|
19
|
+
this.defaultCollapsedLogo = 'data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"%3E%3Cstyle%3E.cls-1{fill:%23f0801a;}%3C/style%3E%3Cpath class="cls-1" d="M25.71,2.13l-5.08,11.39c-.39.88-.38,1.92.13,2.73.74,1.17,2.19,1.59,3.42,1.07l14.26-6-3.14-2.27-10.89,4.66c-.15.06-.3-.09-.23-.24l4.34-9.31-2.81-2.03Z"/%3E%3Cpath class="cls-1" d="M4.29,10l9.22,8.4c.71.65,1.7.97,2.63.73,1.34-.34,2.2-1.58,2.09-2.91l-1.22-15.43-3.14,2.27,1.01,11.8c.01.16-.18.26-.3.15l-7.48-7.04-2.81,2.03Z"/%3E%3Cpath class="cls-1" d="M26.95,39.15l-2.59-12.2c-.2-.94-.82-1.78-1.71-2.13-1.29-.51-2.71,0-3.4,1.14l-8.01,13.24h3.87s6.07-10.18,6.07-10.18c.08-.14.3-.1.33.06l1.97,10.08h3.47Z"/%3E%3Cpath class="cls-1" d="M4.85,32.76l10.82-6.19c.83-.48,1.44-1.32,1.5-2.28.09-1.38-.83-2.58-2.13-2.89L0,17.82l1.2,3.68,11.54,2.67c.16.04.19.25.05.33l-9,4.96,1.07,3.3Z"/%3E%3Cpath class="cls-1" d="M40,20.11l-12.4-1.35c-.95-.1-1.94.22-2.56.96-.89,1.07-.84,2.58.03,3.58l10.08,11.74,1.2-3.69-7.77-8.94c-.11-.12,0-.32.16-.3l10.19,1.28,1.07-3.3Z"/%3E%3C/svg%3E';
|
|
20
|
+
}
|
|
21
|
+
//#endregion CONSTANTS
|
|
22
|
+
/****************************************************************************/
|
|
23
|
+
//#region RENDER
|
|
24
|
+
render() {
|
|
25
|
+
const logoSrc = this.logo || this.defaultLogo;
|
|
26
|
+
const collapsedLogoSrc = this.collapsedLogo || this.defaultCollapsedLogo;
|
|
27
|
+
return (index.h(index.Host, { key: '0d14763dcb7b1b961f2b32a7be44d8a8116087bb' }, index.h("div", { key: '78c2a6578cc48298aa88baf946954d79d36894db', class: "nv-sidebarlogo-container" }, index.h("img", { key: 'd4dd86b4d4a00bedfab84fd987d46e5e83fcb5a6', src: logoSrc, alt: this.label || 'Logo', class: "nv-sidebarlogo-full" }), index.h("img", { key: 'c0382d6fb18fbc17a21bb411fde64dcd255f42a5', src: collapsedLogoSrc, alt: this.label || 'Logo', class: "nv-sidebarlogo-collapsed" }), this.label && index.h("span", { key: 'f75152415bb2569698a5cae856c6b26a202f8c7d', class: "nv-sidebarlogo-title" }, this.label))));
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
NvSidebarlogo.style = nvSidebarlogoCss;
|
|
31
|
+
|
|
32
|
+
exports.nv_sidebarlogo = NvSidebarlogo;
|