cloud-ide-layout 1.0.54 → 1.0.57
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/fesm2022/{cloud-ide-layout-cloud-ide-layout-Cnkd-aj7.mjs → cloud-ide-layout-cloud-ide-layout-CZxKJ-aP.mjs} +118 -62
- package/fesm2022/cloud-ide-layout-cloud-ide-layout-CZxKJ-aP.mjs.map +1 -0
- package/fesm2022/{cloud-ide-layout-drawer-theme.component-B7IgPn17.mjs → cloud-ide-layout-drawer-theme.component-B5GGsHRK.mjs} +2 -2
- package/fesm2022/{cloud-ide-layout-drawer-theme.component-B7IgPn17.mjs.map → cloud-ide-layout-drawer-theme.component-B5GGsHRK.mjs.map} +1 -1
- package/fesm2022/{cloud-ide-layout-floating-entity-selection.component-CVWwg-wM.mjs → cloud-ide-layout-floating-entity-selection.component-DDf1dSzF.mjs} +2 -2
- package/fesm2022/{cloud-ide-layout-floating-entity-selection.component-CVWwg-wM.mjs.map → cloud-ide-layout-floating-entity-selection.component-DDf1dSzF.mjs.map} +1 -1
- package/fesm2022/{cloud-ide-layout-home-wrapper.component-Bc4aNdVq.mjs → cloud-ide-layout-home-wrapper.component-C3b0CVaU.mjs} +2 -2
- package/fesm2022/{cloud-ide-layout-home-wrapper.component-Bc4aNdVq.mjs.map → cloud-ide-layout-home-wrapper.component-C3b0CVaU.mjs.map} +1 -1
- package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-cCi9qet6.mjs → cloud-ide-layout-sidedrawer-notes.component-XQnUbaJq.mjs} +2 -2
- package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-cCi9qet6.mjs.map → cloud-ide-layout-sidedrawer-notes.component-XQnUbaJq.mjs.map} +1 -1
- package/fesm2022/cloud-ide-layout.mjs +1 -1
- package/package.json +1 -1
- package/fesm2022/cloud-ide-layout-cloud-ide-layout-Cnkd-aj7.mjs.map +0 -1
|
@@ -1266,7 +1266,7 @@ class CideLytFloatingEntitySelectionService {
|
|
|
1266
1266
|
}
|
|
1267
1267
|
try {
|
|
1268
1268
|
// Use relative import to avoid circular dependency
|
|
1269
|
-
const module = await import('./cloud-ide-layout-floating-entity-selection.component-
|
|
1269
|
+
const module = await import('./cloud-ide-layout-floating-entity-selection.component-DDf1dSzF.mjs');
|
|
1270
1270
|
if (module.CideLytFloatingEntitySelectionComponent) {
|
|
1271
1271
|
this.containerService.registerComponent('entity-selection-header', module.CideLytFloatingEntitySelectionComponent);
|
|
1272
1272
|
console.log('✅ Entity selection component registered successfully');
|
|
@@ -1347,6 +1347,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
|
|
|
1347
1347
|
|
|
1348
1348
|
class CideLytHeaderWrapperComponent {
|
|
1349
1349
|
triggerTemplate;
|
|
1350
|
+
yearTriggerTemplate;
|
|
1350
1351
|
// Inject app state service to get active entity
|
|
1351
1352
|
appStateService = inject(AppStateService);
|
|
1352
1353
|
// Inject floating entity selection service
|
|
@@ -1362,45 +1363,44 @@ class CideLytHeaderWrapperComponent {
|
|
|
1362
1363
|
currentAcademicYear = signal(null, ...(ngDevMode ? [{ debugName: "currentAcademicYear" }] : []));
|
|
1363
1364
|
currentFinancialYearName = signal('FY', ...(ngDevMode ? [{ debugName: "currentFinancialYearName" }] : []));
|
|
1364
1365
|
currentAcademicYearName = signal('AY', ...(ngDevMode ? [{ debugName: "currentAcademicYearName" }] : []));
|
|
1365
|
-
//
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
return null;
|
|
1370
|
-
// Use correct field names: acayr_name, acayr_from_date, acayr_to_date
|
|
1371
|
-
const name = year.acayr_name;
|
|
1372
|
-
const fromDate = year.acayr_from_date;
|
|
1373
|
-
const toDate = year.acayr_to_date;
|
|
1374
|
-
// Build display name with proper fallback
|
|
1375
|
-
if (name) {
|
|
1376
|
-
return name;
|
|
1377
|
-
}
|
|
1378
|
-
else if (fromDate && toDate) {
|
|
1379
|
-
return `${fromDate} - ${toDate}`;
|
|
1380
|
-
}
|
|
1381
|
-
else if (fromDate || toDate) {
|
|
1382
|
-
return fromDate || toDate || 'Academic Year';
|
|
1383
|
-
}
|
|
1384
|
-
return 'Academic Year';
|
|
1385
|
-
}, ...(ngDevMode ? [{ debugName: "currentAcademicYearDisplayName" }] : []));
|
|
1386
|
-
// Financial Year Dropdown Configuration
|
|
1387
|
-
financialYearItems = [];
|
|
1388
|
-
financialYearConfig = {
|
|
1389
|
-
triggerIcon: 'calendar_today',
|
|
1390
|
-
triggerSize: 'sm',
|
|
1391
|
-
menuPosition: 'auto',
|
|
1392
|
-
menuWidth: 'tw-w-48',
|
|
1393
|
-
usePortal: true
|
|
1394
|
-
};
|
|
1395
|
-
// Academic Year Dropdown Configuration
|
|
1396
|
-
academicYearItems = [];
|
|
1397
|
-
academicYearConfig = {
|
|
1398
|
-
triggerIcon: 'school',
|
|
1366
|
+
// Combined Year Dropdown Configuration
|
|
1367
|
+
combinedYearItems = [];
|
|
1368
|
+
combinedYearConfig = {
|
|
1369
|
+
triggerIcon: '',
|
|
1399
1370
|
triggerSize: 'sm',
|
|
1400
1371
|
menuPosition: 'auto',
|
|
1401
|
-
menuWidth: 'tw-w-
|
|
1372
|
+
menuWidth: 'tw-w-64',
|
|
1402
1373
|
usePortal: true
|
|
1403
1374
|
};
|
|
1375
|
+
// Computed signal for current year display (FY or AY)
|
|
1376
|
+
currentYearDisplay = computed(() => {
|
|
1377
|
+
const fy = this.currentFinancialYear();
|
|
1378
|
+
const ay = this.currentAcademicYear();
|
|
1379
|
+
// Prefer Academic Year if available, otherwise Financial Year
|
|
1380
|
+
if (ay) {
|
|
1381
|
+
const name = ay.acayr_name;
|
|
1382
|
+
const fromDate = ay.acayr_from_date;
|
|
1383
|
+
const toDate = ay.acayr_to_date;
|
|
1384
|
+
if (name) {
|
|
1385
|
+
return { type: 'AY', label: name, icon: 'school' };
|
|
1386
|
+
}
|
|
1387
|
+
else if (fromDate && toDate) {
|
|
1388
|
+
return { type: 'AY', label: `${fromDate} - ${toDate}`, icon: 'school' };
|
|
1389
|
+
}
|
|
1390
|
+
else if (fromDate || toDate) {
|
|
1391
|
+
return { type: 'AY', label: fromDate || toDate || 'Academic Year', icon: 'school' };
|
|
1392
|
+
}
|
|
1393
|
+
return { type: 'AY', label: 'Academic Year', icon: 'school' };
|
|
1394
|
+
}
|
|
1395
|
+
else if (fy) {
|
|
1396
|
+
return {
|
|
1397
|
+
type: 'FY',
|
|
1398
|
+
label: fy.financial_year_name || `${fy.financial_year_start_date} - ${fy.financial_year_end_date}` || 'Financial Year',
|
|
1399
|
+
icon: 'calendar_today'
|
|
1400
|
+
};
|
|
1401
|
+
}
|
|
1402
|
+
return { type: 'AY', label: 'Academic Year', icon: 'school' };
|
|
1403
|
+
}, ...(ngDevMode ? [{ debugName: "currentYearDisplay" }] : []));
|
|
1404
1404
|
// Profile Dropdown Configuration (moved from more options)
|
|
1405
1405
|
profileItems = [
|
|
1406
1406
|
{
|
|
@@ -1613,8 +1613,8 @@ class CideLytHeaderWrapperComponent {
|
|
|
1613
1613
|
*/
|
|
1614
1614
|
updateFinancialYearDropdown() {
|
|
1615
1615
|
const years = this.financialYears();
|
|
1616
|
-
|
|
1617
|
-
id: year._id
|
|
1616
|
+
const financialYearItems = years.map(year => ({
|
|
1617
|
+
id: `fy_${year._id}`, // Prefix with 'fy_' to distinguish from AY
|
|
1618
1618
|
label: year.financial_year_name || `${year.financial_year_start_date} - ${year.financial_year_end_date}`,
|
|
1619
1619
|
icon: 'calendar_today',
|
|
1620
1620
|
iconColor: 'tw-text-blue-500'
|
|
@@ -1625,13 +1625,15 @@ class CideLytHeaderWrapperComponent {
|
|
|
1625
1625
|
this.currentFinancialYear.set(currentFY);
|
|
1626
1626
|
this.currentFinancialYearName.set(currentFY.financial_year_name || 'FY');
|
|
1627
1627
|
}
|
|
1628
|
+
// Update combined dropdown
|
|
1629
|
+
this.updateCombinedYearDropdown();
|
|
1628
1630
|
}
|
|
1629
1631
|
/**
|
|
1630
1632
|
* Update academic year dropdown items
|
|
1631
1633
|
*/
|
|
1632
1634
|
updateAcademicYearDropdown() {
|
|
1633
1635
|
const years = this.academicYears();
|
|
1634
|
-
|
|
1636
|
+
const academicYearItems = years.map(year => {
|
|
1635
1637
|
// Use correct field names: acayr_name, acayr_from_date, acayr_to_date
|
|
1636
1638
|
const name = year.acayr_name;
|
|
1637
1639
|
const fromDate = year.acayr_from_date;
|
|
@@ -1648,7 +1650,7 @@ class CideLytHeaderWrapperComponent {
|
|
|
1648
1650
|
label = 'Academic Year';
|
|
1649
1651
|
}
|
|
1650
1652
|
return {
|
|
1651
|
-
id: year._id
|
|
1653
|
+
id: `ay_${year._id}`, // Prefix with 'ay_' to distinguish from FY
|
|
1652
1654
|
label: label,
|
|
1653
1655
|
icon: 'school',
|
|
1654
1656
|
iconColor: 'tw-text-green-500'
|
|
@@ -1661,30 +1663,81 @@ class CideLytHeaderWrapperComponent {
|
|
|
1661
1663
|
this.currentAcademicYear.set(currentAY);
|
|
1662
1664
|
this.currentAcademicYearName.set(currentAY.acayr_name || 'AY');
|
|
1663
1665
|
}
|
|
1666
|
+
else if (years.length > 0) {
|
|
1667
|
+
// If no active year, set the first one
|
|
1668
|
+
this.currentAcademicYear.set(years[0]);
|
|
1669
|
+
this.currentAcademicYearName.set(years[0].acayr_name || 'AY');
|
|
1670
|
+
}
|
|
1671
|
+
// Update combined dropdown
|
|
1672
|
+
this.updateCombinedYearDropdown();
|
|
1664
1673
|
}
|
|
1665
1674
|
/**
|
|
1666
|
-
*
|
|
1667
|
-
* @param item The clicked dropdown item
|
|
1675
|
+
* Update combined year dropdown items (Financial Year + Academic Year)
|
|
1668
1676
|
*/
|
|
1669
|
-
|
|
1670
|
-
const
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1677
|
+
updateCombinedYearDropdown() {
|
|
1678
|
+
const financialYearItems = this.financialYears().map(year => ({
|
|
1679
|
+
id: `fy_${year._id}`,
|
|
1680
|
+
label: year.financial_year_name || `${year.financial_year_start_date} - ${year.financial_year_end_date}` || 'Financial Year',
|
|
1681
|
+
icon: 'calendar_today',
|
|
1682
|
+
iconColor: 'tw-text-blue-500'
|
|
1683
|
+
}));
|
|
1684
|
+
const academicYearItems = this.academicYears().map(year => {
|
|
1685
|
+
const name = year.acayr_name;
|
|
1686
|
+
const fromDate = year.acayr_from_date;
|
|
1687
|
+
const toDate = year.acayr_to_date;
|
|
1688
|
+
let label = name;
|
|
1689
|
+
if (!label && fromDate && toDate) {
|
|
1690
|
+
label = `${fromDate} - ${toDate}`;
|
|
1691
|
+
}
|
|
1692
|
+
else if (!label && (fromDate || toDate)) {
|
|
1693
|
+
label = fromDate || toDate || 'Academic Year';
|
|
1694
|
+
}
|
|
1695
|
+
else if (!label) {
|
|
1696
|
+
label = 'Academic Year';
|
|
1697
|
+
}
|
|
1698
|
+
return {
|
|
1699
|
+
id: `ay_${year._id}`,
|
|
1700
|
+
label: label,
|
|
1701
|
+
icon: 'school',
|
|
1702
|
+
iconColor: 'tw-text-green-500'
|
|
1703
|
+
};
|
|
1704
|
+
});
|
|
1705
|
+
// Combine: Financial Years + Divider + Academic Years
|
|
1706
|
+
this.combinedYearItems = [];
|
|
1707
|
+
if (financialYearItems.length > 0) {
|
|
1708
|
+
this.combinedYearItems.push(...financialYearItems);
|
|
1709
|
+
}
|
|
1710
|
+
if (financialYearItems.length > 0 && academicYearItems.length > 0) {
|
|
1711
|
+
this.combinedYearItems.push({ id: 'divider', label: '', divider: true });
|
|
1712
|
+
}
|
|
1713
|
+
if (academicYearItems.length > 0) {
|
|
1714
|
+
this.combinedYearItems.push(...academicYearItems);
|
|
1675
1715
|
}
|
|
1676
1716
|
}
|
|
1677
1717
|
/**
|
|
1678
|
-
* Handle
|
|
1718
|
+
* Handle combined year dropdown item clicks (Financial Year or Academic Year)
|
|
1679
1719
|
* @param item The clicked dropdown item
|
|
1680
1720
|
*/
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1721
|
+
onCombinedYearClick(item) {
|
|
1722
|
+
if (item.id.startsWith('fy_')) {
|
|
1723
|
+
// Financial Year selection
|
|
1724
|
+
const yearId = item.id.replace('fy_', '');
|
|
1725
|
+
const selectedYear = this.financialYears().find(year => year._id === yearId);
|
|
1726
|
+
if (selectedYear) {
|
|
1727
|
+
this.currentFinancialYear.set(selectedYear);
|
|
1728
|
+
this.currentFinancialYearName.set(selectedYear.financial_year_name || 'FY');
|
|
1729
|
+
// TODO: Update app state or notify other components about the change
|
|
1730
|
+
}
|
|
1731
|
+
}
|
|
1732
|
+
else if (item.id.startsWith('ay_')) {
|
|
1733
|
+
// Academic Year selection
|
|
1734
|
+
const yearId = item.id.replace('ay_', '');
|
|
1735
|
+
const selectedYear = this.academicYears().find(year => year._id === yearId);
|
|
1736
|
+
if (selectedYear) {
|
|
1737
|
+
this.currentAcademicYear.set(selectedYear);
|
|
1738
|
+
this.currentAcademicYearName.set(selectedYear.acayr_name || 'AY');
|
|
1739
|
+
// TODO: Update app state or notify other components about the change
|
|
1740
|
+
}
|
|
1688
1741
|
}
|
|
1689
1742
|
}
|
|
1690
1743
|
/**
|
|
@@ -1773,15 +1826,18 @@ class CideLytHeaderWrapperComponent {
|
|
|
1773
1826
|
}
|
|
1774
1827
|
}
|
|
1775
1828
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: CideLytHeaderWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1776
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: CideLytHeaderWrapperComponent, isStandalone: true, selector: "cide-lyt-header-wrapper", viewQueries: [{ propertyName: "triggerTemplate", first: true, predicate: ["triggerTemplate"], descendants: true }], ngImport: i0, template: "<header id=\"cide-lyt-header-wrapper\" class=\"cide-lyt-header tw-w-full tw-select-none cide-lyt-header-wrapper-hide\">\r\n <!-- Logo Section -->\r\n <div class=\"tw-flex tw-items-center tw-gap-3\">\r\n <div class=\"header-logo-container tw-flex tw-items-center tw-gap-3 tw-cursor-pointer\" (click)=\"onLogoClick()\"\r\n (keydown.enter)=\"onLogoClick()\" (keydown.space)=\"onLogoClick()\" tabindex=\"0\" role=\"button\"\r\n aria-label=\"Navigate to home\" title=\"Click to go to control panel home\">\r\n @if (appStateService.activeEntity()?.syen_photo_id_cyfm) {\r\n <img cideEleFileImage [fileId]=\"(appStateService.activeEntity()?.syen_photo_id_cyfm || '')\"\r\n [altText]=\"'Entity Logo'\" class=\"tw-w-8 tw-h-8 tw-object-contain\">\r\n } @else {\r\n <cide-ele-icon name=\"business\" class=\"tw-w-8 tw-h-8 tw-text-blue-600\"></cide-ele-icon>\r\n }\r\n\r\n </div>\r\n @if (appStateService.activeEntity()?.syen_name) {\r\n <span\r\n class=\"tw-text-md tw-font-semibold tw-text-blue-600 hover:tw-text-blue-800 tw-cursor-pointer sm:block tw-transition-colors tw-duration-200 hover:tw-underline\"\r\n (click)=\"onEntityNameClick()\" title=\"Click to switch entity\">\r\n {{ appStateService.activeEntity()?.syen_name }}\r\n </span>\r\n }\r\n </div>\r\n <!-- Search Section -->\r\n <div class=\"header-search-container\">\r\n <cide-ele-input id=\"cide_lyt_header_search\" placeholder=\"Search...\" leadingIcon=\"search\"\r\n size=\"md\"></cide-ele-input>\r\n </div>\r\n\r\n <!-- Icons Section -->\r\n <div class=\"header-icons-container\">\r\n <!-- Financial Year Dropdown -->\r\n <div class=\"header-dropdown-container\" (mouseenter)=\"updateTooltipPosition($event)\">\r\n <span class=\"tw-text-xs tw-font-semibold tw-mr-1\">{{ currentFinancialYearName() }}</span>\r\n <cide-ele-dropdown [items]=\"financialYearItems\" [config]=\"financialYearConfig\"\r\n (itemClick)=\"onFinancialYearClick($event)\">\r\n </cide-ele-dropdown>\r\n <div class=\"header-tooltip\">Financial Year</div>\r\n </div>\r\n\r\n <!-- Academic Year Dropdown -->\r\n <div class=\"header-dropdown-container\" (mouseenter)=\"updateTooltipPosition($event)\">\r\n <span class=\"tw-text-xs tw-font-semibold tw-mr-1\">{{ currentAcademicYearName() }}</span>\r\n <cide-ele-dropdown [items]=\"academicYearItems\" [config]=\"academicYearConfig\"\r\n (itemClick)=\"onAcademicYearClick($event)\">\r\n </cide-ele-dropdown>\r\n <div class=\"header-tooltip\">Academic Year</div>\r\n </div>\r\n \r\n <!-- Academic Year Pill/Badge -->\r\n @if (currentAcademicYearDisplayName()) {\r\n <div class=\"header-year-pill\" (mouseenter)=\"updateTooltipPosition($event)\">\r\n <cide-ele-icon name=\"school\" class=\"tw-w-3 tw-h-3 tw-mr-1.5\"></cide-ele-icon>\r\n <span class=\"header-year-pill-text\">{{ currentAcademicYearDisplayName() }}</span>\r\n <div class=\"header-tooltip\">Current Academic Year</div>\r\n </div>\r\n }\r\n\r\n <div class=\"header-icon\" (mouseenter)=\"updateTooltipPosition($event)\">\r\n <cide-ele-icon>notifications</cide-ele-icon>\r\n <div class=\"header-badge\">3</div>\r\n <div class=\"header-tooltip\">Notifications</div>\r\n </div>\r\n\r\n <div class=\"header-divider\"></div>\r\n\r\n <!-- Profile with Dropdown -->\r\n <div class=\"header-icon user-profile\" (mouseenter)=\"updateTooltipPosition($event)\">\r\n <cide-ele-dropdown [items]=\"profileItems\" [config]=\"profileConfig\"\r\n [triggerTemplate]=\"triggerTemplate\"\r\n (itemClick)=\"onProfileClick($event)\">\r\n <ng-template #triggerTemplate>\r\n @if (appStateService.currentUser()?.user_photo_id_cyfm) {\r\n <div class=\"profile-avatar\">\r\n <img cideEleFileImage [fileId]=\"(appStateService.currentUser()?.user_photo_id_cyfm || '')\"\r\n [altText]=\"'User Profile Photo'\" class=\"tw-w-full tw-h-full tw-object-cover tw-rounded-full\">\r\n </div>\r\n } @else {\r\n <div class=\"profile-avatar\">\r\n <cide-ele-icon name=\"person\" class=\"tw-w-6 tw-h-6 tw-text-white\"></cide-ele-icon>\r\n </div>\r\n }\r\n </ng-template>\r\n </cide-ele-dropdown>\r\n <div class=\"header-tooltip\">My Account</div>\r\n </div>\r\n </div>\r\n</header>", styles: [".cide-lyt-header{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to right,#fffffff2,#f9fafbf2);box-shadow:0 2px 8px #00000008;padding:0 1rem;position:relative;z-index:20;transition:all .3s cubic-bezier(.4,0,.2,1);will-change:transform;border-bottom:1px solid rgba(229,231,235,.8);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.header-logo-container{height:100%;display:flex;align-items:center;padding:.5rem 0;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:8px;outline:none}.header-logo-container img{height:30px;max-height:100%;transition:all .3s ease;border-radius:5px;overflow:hidden;box-shadow:0 1px 4px #0000000d}.header-logo-container:hover img{transform:scale(1.03);filter:brightness(1.05);box-shadow:0 2px 6px #00000014}.header-logo-container:after{content:\"\";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(to bottom right,#fff0,#ffffff4d,#fff0);transform:rotate(30deg);opacity:0;transition:transform .6s ease,opacity .6s ease;pointer-events:none}.header-logo-container:hover:after,.header-logo-container:focus:after{opacity:1;transform:rotate(30deg) translate(50%,50%)}.header-search-container{flex-grow:1;max-width:600px;margin:0 2rem;position:relative;transition:all .3s ease}::ng-deep .header-search-container #cide_lyt_header_search{width:100%;background-color:#f9fafbcc;border-radius:20px!important;transition:all .3s ease;overflow:visible;transform:translateZ(0)}::ng-deep .header-search-container #cide_lyt_header_search:hover{box-shadow:0 3px 12px #00000014;background-color:#fff;transform:translateY(-1px)}::ng-deep .header-search-container #cide_lyt_header_search .cide-input-input{background-color:transparent;font-size:.85rem!important;letter-spacing:.01em}::ng-deep .header-search-container #cide_lyt_header_search .cide-input-leading-icon{color:#6b7280b3!important;font-size:1.1rem!important}::ng-deep .header-search-container #cide_lyt_header_search:focus-within{transform:translateY(-1px) scale(1.01)}::ng-deep .header-search-container #cide_lyt_header_search:focus-within .cide-input-input{border-color:#3b82f6!important}::ng-deep .header-search-container #cide_lyt_header_search:focus-within .cide-input-leading-icon{color:#3b82f6!important}.header-icons-container{display:flex;align-items:center;gap:1rem}.header-icon{position:relative;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;color:#374151;border-radius:.4rem;margin:0 2px}.header-dropdown-container{position:relative;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;color:#374151;border-radius:.4rem;margin:0 2px;padding:.25rem .5rem;background-color:#f9fafb99;border:1px solid rgba(229,231,235,.5);font-size:.75rem;font-weight:600;min-width:40px;height:28px}.header-dropdown-container:hover{background-color:#3b82f61a;border-color:#3b82f64d;color:#3b82f6;transform:translateY(-1px);box-shadow:0 2px 4px #3b82f61a}.header-dropdown-container:active{transform:scale(.98)}.header-icon:before{content:\"\";position:absolute;inset:0;background-color:#3b82f61a;border-radius:.5rem;opacity:0;transform:scale(.8);transition:all .2s cubic-bezier(.4,0,.2,1)}.header-icon:hover:before{opacity:1;transform:scale(1)}.header-icon:hover{color:#3b82f6}.header-icon:active{transform:scale(.95)}.header-tooltip{position:absolute;bottom:-26px;left:50%;transform:translate(-50%);background-color:#374151e6;color:#fff;padding:.25rem .6rem;border-radius:.25rem;font-size:.7rem;white-space:nowrap;opacity:0;pointer-events:none;transition:all .2s cubic-bezier(.4,0,.2,1);z-index:1000;box-shadow:0 2px 5px #0003;letter-spacing:.01em;will-change:transform,opacity}.header-tooltip:before{content:\"\";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:transparent transparent rgba(55,65,81,.9) transparent}.header-icon:hover .header-tooltip{opacity:1;transform:translate(-50%) translateY(0)}.header-badge{position:absolute;top:0;right:0;min-width:16px;height:16px;border-radius:8px;background-color:#ef4444;color:#fff;font-size:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;box-shadow:0 1px 3px #ef44444d;font-weight:600;z-index:2;transition:all .2s ease}.header-icon:hover .header-badge{transform:scale(1.1)}.header-divider{height:20px;width:1px;background-color:#e5e7ebcc;margin:0 6px}.header-year-pill{position:relative;display:flex;align-items:center;padding:.375rem .75rem;background:linear-gradient(135deg,#3b82f61a,#2563eb26);border:1px solid rgba(59,130,246,.3);border-radius:9999px;color:#2563eb;font-size:.75rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:default;white-space:nowrap;box-shadow:0 1px 3px #3b82f61a}.header-year-pill:hover{background:linear-gradient(135deg,#3b82f626,#2563eb33);border-color:#3b82f666;transform:translateY(-1px);box-shadow:0 2px 6px #3b82f626}.header-year-pill-text{max-width:150px;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.profile-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:.75rem;font-weight:600;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #2563eb33;transition:all .2s cubic-bezier(.4,0,.2,1);letter-spacing:-.5px;cursor:pointer;border:2px solid transparent}.profile-avatar:hover,.header-icon:hover .profile-avatar{transform:scale(1.08);box-shadow:0 3px 8px #2563eb4d;border-color:#3b82f64d}::ng-deep .user-profile .dropdown-trigger{background:transparent!important;border:none!important;padding:0!important;width:auto!important;height:auto!important;border-radius:0!important}::ng-deep .user-profile .dropdown-trigger:hover{background:transparent!important}::ng-deep .user-profile .dropdown-trigger:focus,::ng-deep .user-profile .dropdown-trigger:focus-visible,::ng-deep .user-profile .dropdown-trigger:active{outline:none!important;box-shadow:none!important}.header-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;transition:all .2s cubic-bezier(.4,0,.2,1);border:2px solid transparent;box-shadow:0 2px 4px #0000001a}.header-avatar:hover{border-color:#3b82f6;transform:scale(1.05);box-shadow:0 3px 6px #3b82f64d}@media (max-width: 768px){.header-search-container{margin:0 1rem}.header-icons-container{gap:.5rem}}@media (max-width: 640px){.header-search-container{max-width:200px;margin:0 .5rem}}\n"], dependencies: [{ kind: "component", type: CideInputComponent, selector: "cide-ele-input", inputs: ["fill", "label", "labelHide", "disabled", "clearInput", "labelPlacement", "labelDir", "placeholder", "leadingIcon", "trailingIcon", "helperText", "helperTextCollapse", "hideHelperAndErrorText", "errorText", "maxlength", "minlength", "required", "autocapitalize", "autocomplete", "type", "width", "id", "ngModel", "option", "min", "max", "size"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: CommonModule }, { kind: "component", type: CideIconComponent, selector: "cide-ele-icon", inputs: ["size", "type", "toolTip"] }, { kind: "component", type: CideEleDropdownComponent, selector: "cide-ele-dropdown", inputs: ["items", "config", "triggerTemplate", "menuTemplate"], outputs: ["itemClick", "dropdownToggle"] }, { kind: "directive", type: CideEleFileImageDirective, selector: "[cideEleFileImage]", inputs: ["fileId", "altText"] }] });
|
|
1829
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: CideLytHeaderWrapperComponent, isStandalone: true, selector: "cide-lyt-header-wrapper", viewQueries: [{ propertyName: "triggerTemplate", first: true, predicate: ["triggerTemplate"], descendants: true }, { propertyName: "yearTriggerTemplate", first: true, predicate: ["yearTriggerTemplate"], descendants: true }], ngImport: i0, template: "<header id=\"cide-lyt-header-wrapper\" class=\"cide-lyt-header tw-w-full tw-select-none cide-lyt-header-wrapper-hide\">\r\n <!-- Logo Section -->\r\n <div class=\"tw-flex tw-items-center tw-gap-3\">\r\n <div class=\"header-logo-container tw-flex tw-items-center tw-gap-3 tw-cursor-pointer\" (click)=\"onLogoClick()\"\r\n (keydown.enter)=\"onLogoClick()\" (keydown.space)=\"onLogoClick()\" tabindex=\"0\" role=\"button\"\r\n aria-label=\"Navigate to home\" title=\"Click to go to control panel home\">\r\n @if (appStateService.activeEntity()?.syen_photo_id_cyfm) {\r\n <img cideEleFileImage [fileId]=\"(appStateService.activeEntity()?.syen_photo_id_cyfm || '')\"\r\n [altText]=\"'Entity Logo'\" class=\"tw-w-8 tw-h-8 tw-object-contain\">\r\n } @else {\r\n <cide-ele-icon name=\"business\" class=\"tw-w-8 tw-h-8 tw-text-blue-600\"></cide-ele-icon>\r\n }\r\n\r\n </div>\r\n @if (appStateService.activeEntity()?.syen_name) {\r\n <span\r\n class=\"tw-text-md tw-font-semibold tw-text-blue-600 hover:tw-text-blue-800 tw-cursor-pointer sm:block tw-transition-colors tw-duration-200 hover:tw-underline\"\r\n (click)=\"onEntityNameClick()\" title=\"Click to switch entity\">\r\n {{ appStateService.activeEntity()?.syen_name }}\r\n </span>\r\n }\r\n </div>\r\n <!-- Search Section -->\r\n <div class=\"header-search-container\">\r\n <cide-ele-input id=\"cide_lyt_header_search\" placeholder=\"Search...\" leadingIcon=\"search\"\r\n size=\"md\"></cide-ele-input>\r\n </div>\r\n\r\n <!-- Icons Section -->\r\n <div class=\"header-icons-container\">\r\n <!-- Combined Year Dropdown (Financial Year + Academic Year) -->\r\n <div class=\"header-year-dropdown-wrapper\" (mouseenter)=\"updateTooltipPosition($event)\">\r\n <cide-ele-dropdown [items]=\"combinedYearItems\" [config]=\"combinedYearConfig\"\r\n [triggerTemplate]=\"yearTriggerTemplate\"\r\n (itemClick)=\"onCombinedYearClick($event)\">\r\n </cide-ele-dropdown>\r\n <div class=\"header-tooltip\">{{ currentYearDisplay().type === 'AY' ? 'Academic Year' : 'Financial Year' }}</div>\r\n </div>\r\n \r\n <ng-template #yearTriggerTemplate let-isOpen=\"isOpen\">\r\n <div class=\"header-year-pill\">\r\n <cide-ele-icon size=\"2xs\" type=\"none\" class=\"tw-mr-1\">{{ currentYearDisplay().icon }}</cide-ele-icon>\r\n <span class=\"header-year-pill-text\">{{ currentYearDisplay().label }}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"header-icon\" (mouseenter)=\"updateTooltipPosition($event)\">\r\n <cide-ele-icon>notifications</cide-ele-icon>\r\n <div class=\"header-badge\">3</div>\r\n <div class=\"header-tooltip\">Notifications</div>\r\n </div>\r\n\r\n <div class=\"header-divider\"></div>\r\n\r\n <!-- Profile with Dropdown -->\r\n <div class=\"header-icon user-profile\" (mouseenter)=\"updateTooltipPosition($event)\">\r\n <cide-ele-dropdown [items]=\"profileItems\" [config]=\"profileConfig\"\r\n [triggerTemplate]=\"triggerTemplate\"\r\n (itemClick)=\"onProfileClick($event)\">\r\n <ng-template #triggerTemplate>\r\n @if (appStateService.currentUser()?.user_photo_id_cyfm) {\r\n <div class=\"profile-avatar\">\r\n <img cideEleFileImage [fileId]=\"(appStateService.currentUser()?.user_photo_id_cyfm || '')\"\r\n [altText]=\"'User Profile Photo'\" class=\"tw-w-full tw-h-full tw-object-cover tw-rounded-full\">\r\n </div>\r\n } @else {\r\n <div class=\"profile-avatar\">\r\n <cide-ele-icon name=\"person\" class=\"tw-w-6 tw-h-6 tw-text-white\"></cide-ele-icon>\r\n </div>\r\n }\r\n </ng-template>\r\n </cide-ele-dropdown>\r\n <div class=\"header-tooltip\">My Account</div>\r\n </div>\r\n </div>\r\n</header>", styles: [".cide-lyt-header{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to right,#fffffff2,#f9fafbf2);box-shadow:0 2px 8px #00000008;padding:0 1rem;position:relative;z-index:20;transition:all .3s cubic-bezier(.4,0,.2,1);will-change:transform;border-bottom:1px solid rgba(229,231,235,.8);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.header-logo-container{height:100%;display:flex;align-items:center;padding:.5rem 0;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:8px;outline:none}.header-logo-container img{height:30px;max-height:100%;transition:all .3s ease;border-radius:5px;overflow:hidden;box-shadow:0 1px 4px #0000000d}.header-logo-container:hover img{transform:scale(1.03);filter:brightness(1.05);box-shadow:0 2px 6px #00000014}.header-logo-container:after{content:\"\";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(to bottom right,#fff0,#ffffff4d,#fff0);transform:rotate(30deg);opacity:0;transition:transform .6s ease,opacity .6s ease;pointer-events:none}.header-logo-container:hover:after,.header-logo-container:focus:after{opacity:1;transform:rotate(30deg) translate(50%,50%)}.header-search-container{flex-grow:1;max-width:600px;margin:0 2rem;position:relative;transition:all .3s ease}::ng-deep .header-search-container #cide_lyt_header_search{width:100%;background-color:#f9fafbcc;border-radius:20px!important;transition:all .3s ease;overflow:visible;transform:translateZ(0)}::ng-deep .header-search-container #cide_lyt_header_search:hover{box-shadow:0 3px 12px #00000014;background-color:#fff;transform:translateY(-1px)}::ng-deep .header-search-container #cide_lyt_header_search .cide-input-input{background-color:transparent;font-size:.85rem!important;letter-spacing:.01em}::ng-deep .header-search-container #cide_lyt_header_search .cide-input-leading-icon{color:#6b7280b3!important;font-size:1.1rem!important}::ng-deep .header-search-container #cide_lyt_header_search:focus-within{transform:translateY(-1px) scale(1.01)}::ng-deep .header-search-container #cide_lyt_header_search:focus-within .cide-input-input{border-color:#3b82f6!important}::ng-deep .header-search-container #cide_lyt_header_search:focus-within .cide-input-leading-icon{color:#3b82f6!important}.header-icons-container{display:flex;align-items:center;gap:1rem}.header-icon{position:relative;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;color:#374151;border-radius:.4rem;margin:0 2px}.header-dropdown-container{position:relative;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;color:#374151;border-radius:.4rem;margin:0 2px;padding:.25rem .5rem;background-color:#f9fafb99;border:1px solid rgba(229,231,235,.5);font-size:.75rem;font-weight:600;min-width:40px;height:28px}.header-dropdown-container:hover{background-color:#3b82f61a;border-color:#3b82f64d;color:#3b82f6;transform:translateY(-1px);box-shadow:0 2px 4px #3b82f61a}.header-dropdown-container:active{transform:scale(.98)}.header-icon:before{content:\"\";position:absolute;inset:0;background-color:#3b82f61a;border-radius:.5rem;opacity:0;transform:scale(.8);transition:all .2s cubic-bezier(.4,0,.2,1)}.header-icon:hover:before{opacity:1;transform:scale(1)}.header-icon:hover{color:#3b82f6}.header-icon:active{transform:scale(.95)}.header-tooltip{position:absolute;bottom:-26px;left:50%;transform:translate(-50%);background-color:#374151e6;color:#fff;padding:.25rem .6rem;border-radius:.25rem;font-size:.7rem;white-space:nowrap;opacity:0;pointer-events:none;transition:all .2s cubic-bezier(.4,0,.2,1);z-index:1000;box-shadow:0 2px 5px #0003;letter-spacing:.01em;will-change:transform,opacity}.header-tooltip:before{content:\"\";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:transparent transparent rgba(55,65,81,.9) transparent}.header-icon:hover .header-tooltip{opacity:1;transform:translate(-50%) translateY(0)}.header-badge{position:absolute;top:0;right:0;min-width:16px;height:16px;border-radius:8px;background-color:#ef4444;color:#fff;font-size:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;box-shadow:0 1px 3px #ef44444d;font-weight:600;z-index:2;transition:all .2s ease}.header-icon:hover .header-badge{transform:scale(1.1)}.header-divider{height:20px;width:1px;background-color:#e5e7ebcc;margin:0 6px}.header-year-dropdown-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.header-year-pill{position:relative;display:flex;align-items:center;padding:.25rem .625rem;background:linear-gradient(135deg,#3b82f61a,#2563eb26);border:1px solid rgba(59,130,246,.3);border-radius:9999px;color:#2563eb;font-size:.6875rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;white-space:nowrap;box-shadow:0 1px 2px #3b82f61a;min-height:22px;height:22px;line-height:1}.header-year-pill:hover{background:linear-gradient(135deg,#3b82f626,#2563eb33);border-color:#3b82f666;transform:translateY(-1px);box-shadow:0 2px 6px #3b82f626}.header-year-pill-text{max-width:180px;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em;line-height:1;display:inline-block}::ng-deep .header-year-dropdown-wrapper .dropdown-trigger{background:transparent!important;border:none!important;border-radius:0!important;padding:0!important;width:auto!important;height:auto!important;min-width:auto!important;box-shadow:none!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:none!important}::ng-deep .header-year-dropdown-wrapper .dropdown-trigger:hover{background:transparent!important}::ng-deep .header-year-dropdown-wrapper .dropdown-trigger:hover .header-year-pill{background:linear-gradient(135deg,#3b82f626,#2563eb33)!important;border-color:#3b82f666!important;transform:translateY(-1px)!important;box-shadow:0 2px 6px #3b82f626!important}::ng-deep .header-dropdown-container .dropdown-trigger:focus,::ng-deep .header-dropdown-container .dropdown-trigger:focus-visible,::ng-deep .header-dropdown-container .dropdown-trigger:active{outline:none!important;box-shadow:0 2px 6px #3b82f626!important}.profile-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:.75rem;font-weight:600;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #2563eb33;transition:all .2s cubic-bezier(.4,0,.2,1);letter-spacing:-.5px;cursor:pointer;border:2px solid transparent}.profile-avatar:hover,.header-icon:hover .profile-avatar{transform:scale(1.08);box-shadow:0 3px 8px #2563eb4d;border-color:#3b82f64d}::ng-deep .user-profile .dropdown-trigger{background:transparent!important;border:none!important;padding:0!important;width:auto!important;height:auto!important;border-radius:0!important}::ng-deep .user-profile .dropdown-trigger:hover{background:transparent!important}::ng-deep .user-profile .dropdown-trigger:focus,::ng-deep .user-profile .dropdown-trigger:focus-visible,::ng-deep .user-profile .dropdown-trigger:active{outline:none!important;box-shadow:none!important}.header-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;transition:all .2s cubic-bezier(.4,0,.2,1);border:2px solid transparent;box-shadow:0 2px 4px #0000001a}.header-avatar:hover{border-color:#3b82f6;transform:scale(1.05);box-shadow:0 3px 6px #3b82f64d}@media (max-width: 768px){.header-search-container{margin:0 1rem}.header-icons-container{gap:.5rem}}@media (max-width: 640px){.header-search-container{max-width:200px;margin:0 .5rem}}\n"], dependencies: [{ kind: "component", type: CideInputComponent, selector: "cide-ele-input", inputs: ["fill", "label", "labelHide", "disabled", "clearInput", "labelPlacement", "labelDir", "placeholder", "leadingIcon", "trailingIcon", "helperText", "helperTextCollapse", "hideHelperAndErrorText", "errorText", "maxlength", "minlength", "required", "autocapitalize", "autocomplete", "type", "width", "id", "ngModel", "option", "min", "max", "size"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: CommonModule }, { kind: "component", type: CideIconComponent, selector: "cide-ele-icon", inputs: ["size", "type", "toolTip"] }, { kind: "component", type: CideEleDropdownComponent, selector: "cide-ele-dropdown", inputs: ["items", "config", "triggerTemplate", "menuTemplate"], outputs: ["itemClick", "dropdownToggle"] }, { kind: "directive", type: CideEleFileImageDirective, selector: "[cideEleFileImage]", inputs: ["fileId", "altText"] }] });
|
|
1777
1830
|
}
|
|
1778
1831
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: CideLytHeaderWrapperComponent, decorators: [{
|
|
1779
1832
|
type: Component,
|
|
1780
1833
|
args: [{ selector: 'cide-lyt-header-wrapper', imports: [CideInputComponent, CommonModule, CideIconComponent,
|
|
1781
|
-
CideEleDropdownComponent, CideEleFileImageDirective], template: "<header id=\"cide-lyt-header-wrapper\" class=\"cide-lyt-header tw-w-full tw-select-none cide-lyt-header-wrapper-hide\">\r\n <!-- Logo Section -->\r\n <div class=\"tw-flex tw-items-center tw-gap-3\">\r\n <div class=\"header-logo-container tw-flex tw-items-center tw-gap-3 tw-cursor-pointer\" (click)=\"onLogoClick()\"\r\n (keydown.enter)=\"onLogoClick()\" (keydown.space)=\"onLogoClick()\" tabindex=\"0\" role=\"button\"\r\n aria-label=\"Navigate to home\" title=\"Click to go to control panel home\">\r\n @if (appStateService.activeEntity()?.syen_photo_id_cyfm) {\r\n <img cideEleFileImage [fileId]=\"(appStateService.activeEntity()?.syen_photo_id_cyfm || '')\"\r\n [altText]=\"'Entity Logo'\" class=\"tw-w-8 tw-h-8 tw-object-contain\">\r\n } @else {\r\n <cide-ele-icon name=\"business\" class=\"tw-w-8 tw-h-8 tw-text-blue-600\"></cide-ele-icon>\r\n }\r\n\r\n </div>\r\n @if (appStateService.activeEntity()?.syen_name) {\r\n <span\r\n class=\"tw-text-md tw-font-semibold tw-text-blue-600 hover:tw-text-blue-800 tw-cursor-pointer sm:block tw-transition-colors tw-duration-200 hover:tw-underline\"\r\n (click)=\"onEntityNameClick()\" title=\"Click to switch entity\">\r\n {{ appStateService.activeEntity()?.syen_name }}\r\n </span>\r\n }\r\n </div>\r\n <!-- Search Section -->\r\n <div class=\"header-search-container\">\r\n <cide-ele-input id=\"cide_lyt_header_search\" placeholder=\"Search...\" leadingIcon=\"search\"\r\n size=\"md\"></cide-ele-input>\r\n </div>\r\n\r\n <!-- Icons Section -->\r\n <div class=\"header-icons-container\">\r\n <!-- Financial Year Dropdown -->\r\n <div class=\"header-dropdown-container\" (mouseenter)=\"updateTooltipPosition($event)\">\r\n <span class=\"tw-text-xs tw-font-semibold tw-mr-1\">{{ currentFinancialYearName() }}</span>\r\n <cide-ele-dropdown [items]=\"financialYearItems\" [config]=\"financialYearConfig\"\r\n (itemClick)=\"onFinancialYearClick($event)\">\r\n </cide-ele-dropdown>\r\n <div class=\"header-tooltip\">Financial Year</div>\r\n </div>\r\n\r\n <!-- Academic Year Dropdown -->\r\n <div class=\"header-dropdown-container\" (mouseenter)=\"updateTooltipPosition($event)\">\r\n <span class=\"tw-text-xs tw-font-semibold tw-mr-1\">{{ currentAcademicYearName() }}</span>\r\n <cide-ele-dropdown [items]=\"academicYearItems\" [config]=\"academicYearConfig\"\r\n (itemClick)=\"onAcademicYearClick($event)\">\r\n </cide-ele-dropdown>\r\n <div class=\"header-tooltip\">Academic Year</div>\r\n </div>\r\n \r\n <!-- Academic Year Pill/Badge -->\r\n @if (currentAcademicYearDisplayName()) {\r\n <div class=\"header-year-pill\" (mouseenter)=\"updateTooltipPosition($event)\">\r\n <cide-ele-icon name=\"school\" class=\"tw-w-3 tw-h-3 tw-mr-1.5\"></cide-ele-icon>\r\n <span class=\"header-year-pill-text\">{{ currentAcademicYearDisplayName() }}</span>\r\n <div class=\"header-tooltip\">Current Academic Year</div>\r\n </div>\r\n }\r\n\r\n <div class=\"header-icon\" (mouseenter)=\"updateTooltipPosition($event)\">\r\n <cide-ele-icon>notifications</cide-ele-icon>\r\n <div class=\"header-badge\">3</div>\r\n <div class=\"header-tooltip\">Notifications</div>\r\n </div>\r\n\r\n <div class=\"header-divider\"></div>\r\n\r\n <!-- Profile with Dropdown -->\r\n <div class=\"header-icon user-profile\" (mouseenter)=\"updateTooltipPosition($event)\">\r\n <cide-ele-dropdown [items]=\"profileItems\" [config]=\"profileConfig\"\r\n [triggerTemplate]=\"triggerTemplate\"\r\n (itemClick)=\"onProfileClick($event)\">\r\n <ng-template #triggerTemplate>\r\n @if (appStateService.currentUser()?.user_photo_id_cyfm) {\r\n <div class=\"profile-avatar\">\r\n <img cideEleFileImage [fileId]=\"(appStateService.currentUser()?.user_photo_id_cyfm || '')\"\r\n [altText]=\"'User Profile Photo'\" class=\"tw-w-full tw-h-full tw-object-cover tw-rounded-full\">\r\n </div>\r\n } @else {\r\n <div class=\"profile-avatar\">\r\n <cide-ele-icon name=\"person\" class=\"tw-w-6 tw-h-6 tw-text-white\"></cide-ele-icon>\r\n </div>\r\n }\r\n </ng-template>\r\n </cide-ele-dropdown>\r\n <div class=\"header-tooltip\">My Account</div>\r\n </div>\r\n </div>\r\n</header>", styles: [".cide-lyt-header{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to right,#fffffff2,#f9fafbf2);box-shadow:0 2px 8px #00000008;padding:0 1rem;position:relative;z-index:20;transition:all .3s cubic-bezier(.4,0,.2,1);will-change:transform;border-bottom:1px solid rgba(229,231,235,.8);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.header-logo-container{height:100%;display:flex;align-items:center;padding:.5rem 0;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:8px;outline:none}.header-logo-container img{height:30px;max-height:100%;transition:all .3s ease;border-radius:5px;overflow:hidden;box-shadow:0 1px 4px #0000000d}.header-logo-container:hover img{transform:scale(1.03);filter:brightness(1.05);box-shadow:0 2px 6px #00000014}.header-logo-container:after{content:\"\";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(to bottom right,#fff0,#ffffff4d,#fff0);transform:rotate(30deg);opacity:0;transition:transform .6s ease,opacity .6s ease;pointer-events:none}.header-logo-container:hover:after,.header-logo-container:focus:after{opacity:1;transform:rotate(30deg) translate(50%,50%)}.header-search-container{flex-grow:1;max-width:600px;margin:0 2rem;position:relative;transition:all .3s ease}::ng-deep .header-search-container #cide_lyt_header_search{width:100%;background-color:#f9fafbcc;border-radius:20px!important;transition:all .3s ease;overflow:visible;transform:translateZ(0)}::ng-deep .header-search-container #cide_lyt_header_search:hover{box-shadow:0 3px 12px #00000014;background-color:#fff;transform:translateY(-1px)}::ng-deep .header-search-container #cide_lyt_header_search .cide-input-input{background-color:transparent;font-size:.85rem!important;letter-spacing:.01em}::ng-deep .header-search-container #cide_lyt_header_search .cide-input-leading-icon{color:#6b7280b3!important;font-size:1.1rem!important}::ng-deep .header-search-container #cide_lyt_header_search:focus-within{transform:translateY(-1px) scale(1.01)}::ng-deep .header-search-container #cide_lyt_header_search:focus-within .cide-input-input{border-color:#3b82f6!important}::ng-deep .header-search-container #cide_lyt_header_search:focus-within .cide-input-leading-icon{color:#3b82f6!important}.header-icons-container{display:flex;align-items:center;gap:1rem}.header-icon{position:relative;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;color:#374151;border-radius:.4rem;margin:0 2px}.header-dropdown-container{position:relative;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;color:#374151;border-radius:.4rem;margin:0 2px;padding:.25rem .5rem;background-color:#f9fafb99;border:1px solid rgba(229,231,235,.5);font-size:.75rem;font-weight:600;min-width:40px;height:28px}.header-dropdown-container:hover{background-color:#3b82f61a;border-color:#3b82f64d;color:#3b82f6;transform:translateY(-1px);box-shadow:0 2px 4px #3b82f61a}.header-dropdown-container:active{transform:scale(.98)}.header-icon:before{content:\"\";position:absolute;inset:0;background-color:#3b82f61a;border-radius:.5rem;opacity:0;transform:scale(.8);transition:all .2s cubic-bezier(.4,0,.2,1)}.header-icon:hover:before{opacity:1;transform:scale(1)}.header-icon:hover{color:#3b82f6}.header-icon:active{transform:scale(.95)}.header-tooltip{position:absolute;bottom:-26px;left:50%;transform:translate(-50%);background-color:#374151e6;color:#fff;padding:.25rem .6rem;border-radius:.25rem;font-size:.7rem;white-space:nowrap;opacity:0;pointer-events:none;transition:all .2s cubic-bezier(.4,0,.2,1);z-index:1000;box-shadow:0 2px 5px #0003;letter-spacing:.01em;will-change:transform,opacity}.header-tooltip:before{content:\"\";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:transparent transparent rgba(55,65,81,.9) transparent}.header-icon:hover .header-tooltip{opacity:1;transform:translate(-50%) translateY(0)}.header-badge{position:absolute;top:0;right:0;min-width:16px;height:16px;border-radius:8px;background-color:#ef4444;color:#fff;font-size:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;box-shadow:0 1px 3px #ef44444d;font-weight:600;z-index:2;transition:all .2s ease}.header-icon:hover .header-badge{transform:scale(1.1)}.header-divider{height:20px;width:1px;background-color:#e5e7ebcc;margin:0 6px}.header-year-pill{position:relative;display:flex;align-items:center;padding:.375rem .75rem;background:linear-gradient(135deg,#3b82f61a,#2563eb26);border:1px solid rgba(59,130,246,.3);border-radius:9999px;color:#2563eb;font-size:.75rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:default;white-space:nowrap;box-shadow:0 1px 3px #3b82f61a}.header-year-pill:hover{background:linear-gradient(135deg,#3b82f626,#2563eb33);border-color:#3b82f666;transform:translateY(-1px);box-shadow:0 2px 6px #3b82f626}.header-year-pill-text{max-width:150px;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.profile-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:.75rem;font-weight:600;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #2563eb33;transition:all .2s cubic-bezier(.4,0,.2,1);letter-spacing:-.5px;cursor:pointer;border:2px solid transparent}.profile-avatar:hover,.header-icon:hover .profile-avatar{transform:scale(1.08);box-shadow:0 3px 8px #2563eb4d;border-color:#3b82f64d}::ng-deep .user-profile .dropdown-trigger{background:transparent!important;border:none!important;padding:0!important;width:auto!important;height:auto!important;border-radius:0!important}::ng-deep .user-profile .dropdown-trigger:hover{background:transparent!important}::ng-deep .user-profile .dropdown-trigger:focus,::ng-deep .user-profile .dropdown-trigger:focus-visible,::ng-deep .user-profile .dropdown-trigger:active{outline:none!important;box-shadow:none!important}.header-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;transition:all .2s cubic-bezier(.4,0,.2,1);border:2px solid transparent;box-shadow:0 2px 4px #0000001a}.header-avatar:hover{border-color:#3b82f6;transform:scale(1.05);box-shadow:0 3px 6px #3b82f64d}@media (max-width: 768px){.header-search-container{margin:0 1rem}.header-icons-container{gap:.5rem}}@media (max-width: 640px){.header-search-container{max-width:200px;margin:0 .5rem}}\n"] }]
|
|
1834
|
+
CideEleDropdownComponent, CideEleFileImageDirective], template: "<header id=\"cide-lyt-header-wrapper\" class=\"cide-lyt-header tw-w-full tw-select-none cide-lyt-header-wrapper-hide\">\r\n <!-- Logo Section -->\r\n <div class=\"tw-flex tw-items-center tw-gap-3\">\r\n <div class=\"header-logo-container tw-flex tw-items-center tw-gap-3 tw-cursor-pointer\" (click)=\"onLogoClick()\"\r\n (keydown.enter)=\"onLogoClick()\" (keydown.space)=\"onLogoClick()\" tabindex=\"0\" role=\"button\"\r\n aria-label=\"Navigate to home\" title=\"Click to go to control panel home\">\r\n @if (appStateService.activeEntity()?.syen_photo_id_cyfm) {\r\n <img cideEleFileImage [fileId]=\"(appStateService.activeEntity()?.syen_photo_id_cyfm || '')\"\r\n [altText]=\"'Entity Logo'\" class=\"tw-w-8 tw-h-8 tw-object-contain\">\r\n } @else {\r\n <cide-ele-icon name=\"business\" class=\"tw-w-8 tw-h-8 tw-text-blue-600\"></cide-ele-icon>\r\n }\r\n\r\n </div>\r\n @if (appStateService.activeEntity()?.syen_name) {\r\n <span\r\n class=\"tw-text-md tw-font-semibold tw-text-blue-600 hover:tw-text-blue-800 tw-cursor-pointer sm:block tw-transition-colors tw-duration-200 hover:tw-underline\"\r\n (click)=\"onEntityNameClick()\" title=\"Click to switch entity\">\r\n {{ appStateService.activeEntity()?.syen_name }}\r\n </span>\r\n }\r\n </div>\r\n <!-- Search Section -->\r\n <div class=\"header-search-container\">\r\n <cide-ele-input id=\"cide_lyt_header_search\" placeholder=\"Search...\" leadingIcon=\"search\"\r\n size=\"md\"></cide-ele-input>\r\n </div>\r\n\r\n <!-- Icons Section -->\r\n <div class=\"header-icons-container\">\r\n <!-- Combined Year Dropdown (Financial Year + Academic Year) -->\r\n <div class=\"header-year-dropdown-wrapper\" (mouseenter)=\"updateTooltipPosition($event)\">\r\n <cide-ele-dropdown [items]=\"combinedYearItems\" [config]=\"combinedYearConfig\"\r\n [triggerTemplate]=\"yearTriggerTemplate\"\r\n (itemClick)=\"onCombinedYearClick($event)\">\r\n </cide-ele-dropdown>\r\n <div class=\"header-tooltip\">{{ currentYearDisplay().type === 'AY' ? 'Academic Year' : 'Financial Year' }}</div>\r\n </div>\r\n \r\n <ng-template #yearTriggerTemplate let-isOpen=\"isOpen\">\r\n <div class=\"header-year-pill\">\r\n <cide-ele-icon size=\"2xs\" type=\"none\" class=\"tw-mr-1\">{{ currentYearDisplay().icon }}</cide-ele-icon>\r\n <span class=\"header-year-pill-text\">{{ currentYearDisplay().label }}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"header-icon\" (mouseenter)=\"updateTooltipPosition($event)\">\r\n <cide-ele-icon>notifications</cide-ele-icon>\r\n <div class=\"header-badge\">3</div>\r\n <div class=\"header-tooltip\">Notifications</div>\r\n </div>\r\n\r\n <div class=\"header-divider\"></div>\r\n\r\n <!-- Profile with Dropdown -->\r\n <div class=\"header-icon user-profile\" (mouseenter)=\"updateTooltipPosition($event)\">\r\n <cide-ele-dropdown [items]=\"profileItems\" [config]=\"profileConfig\"\r\n [triggerTemplate]=\"triggerTemplate\"\r\n (itemClick)=\"onProfileClick($event)\">\r\n <ng-template #triggerTemplate>\r\n @if (appStateService.currentUser()?.user_photo_id_cyfm) {\r\n <div class=\"profile-avatar\">\r\n <img cideEleFileImage [fileId]=\"(appStateService.currentUser()?.user_photo_id_cyfm || '')\"\r\n [altText]=\"'User Profile Photo'\" class=\"tw-w-full tw-h-full tw-object-cover tw-rounded-full\">\r\n </div>\r\n } @else {\r\n <div class=\"profile-avatar\">\r\n <cide-ele-icon name=\"person\" class=\"tw-w-6 tw-h-6 tw-text-white\"></cide-ele-icon>\r\n </div>\r\n }\r\n </ng-template>\r\n </cide-ele-dropdown>\r\n <div class=\"header-tooltip\">My Account</div>\r\n </div>\r\n </div>\r\n</header>", styles: [".cide-lyt-header{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to right,#fffffff2,#f9fafbf2);box-shadow:0 2px 8px #00000008;padding:0 1rem;position:relative;z-index:20;transition:all .3s cubic-bezier(.4,0,.2,1);will-change:transform;border-bottom:1px solid rgba(229,231,235,.8);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.header-logo-container{height:100%;display:flex;align-items:center;padding:.5rem 0;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:8px;outline:none}.header-logo-container img{height:30px;max-height:100%;transition:all .3s ease;border-radius:5px;overflow:hidden;box-shadow:0 1px 4px #0000000d}.header-logo-container:hover img{transform:scale(1.03);filter:brightness(1.05);box-shadow:0 2px 6px #00000014}.header-logo-container:after{content:\"\";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(to bottom right,#fff0,#ffffff4d,#fff0);transform:rotate(30deg);opacity:0;transition:transform .6s ease,opacity .6s ease;pointer-events:none}.header-logo-container:hover:after,.header-logo-container:focus:after{opacity:1;transform:rotate(30deg) translate(50%,50%)}.header-search-container{flex-grow:1;max-width:600px;margin:0 2rem;position:relative;transition:all .3s ease}::ng-deep .header-search-container #cide_lyt_header_search{width:100%;background-color:#f9fafbcc;border-radius:20px!important;transition:all .3s ease;overflow:visible;transform:translateZ(0)}::ng-deep .header-search-container #cide_lyt_header_search:hover{box-shadow:0 3px 12px #00000014;background-color:#fff;transform:translateY(-1px)}::ng-deep .header-search-container #cide_lyt_header_search .cide-input-input{background-color:transparent;font-size:.85rem!important;letter-spacing:.01em}::ng-deep .header-search-container #cide_lyt_header_search .cide-input-leading-icon{color:#6b7280b3!important;font-size:1.1rem!important}::ng-deep .header-search-container #cide_lyt_header_search:focus-within{transform:translateY(-1px) scale(1.01)}::ng-deep .header-search-container #cide_lyt_header_search:focus-within .cide-input-input{border-color:#3b82f6!important}::ng-deep .header-search-container #cide_lyt_header_search:focus-within .cide-input-leading-icon{color:#3b82f6!important}.header-icons-container{display:flex;align-items:center;gap:1rem}.header-icon{position:relative;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;color:#374151;border-radius:.4rem;margin:0 2px}.header-dropdown-container{position:relative;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;color:#374151;border-radius:.4rem;margin:0 2px;padding:.25rem .5rem;background-color:#f9fafb99;border:1px solid rgba(229,231,235,.5);font-size:.75rem;font-weight:600;min-width:40px;height:28px}.header-dropdown-container:hover{background-color:#3b82f61a;border-color:#3b82f64d;color:#3b82f6;transform:translateY(-1px);box-shadow:0 2px 4px #3b82f61a}.header-dropdown-container:active{transform:scale(.98)}.header-icon:before{content:\"\";position:absolute;inset:0;background-color:#3b82f61a;border-radius:.5rem;opacity:0;transform:scale(.8);transition:all .2s cubic-bezier(.4,0,.2,1)}.header-icon:hover:before{opacity:1;transform:scale(1)}.header-icon:hover{color:#3b82f6}.header-icon:active{transform:scale(.95)}.header-tooltip{position:absolute;bottom:-26px;left:50%;transform:translate(-50%);background-color:#374151e6;color:#fff;padding:.25rem .6rem;border-radius:.25rem;font-size:.7rem;white-space:nowrap;opacity:0;pointer-events:none;transition:all .2s cubic-bezier(.4,0,.2,1);z-index:1000;box-shadow:0 2px 5px #0003;letter-spacing:.01em;will-change:transform,opacity}.header-tooltip:before{content:\"\";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border-width:5px;border-style:solid;border-color:transparent transparent rgba(55,65,81,.9) transparent}.header-icon:hover .header-tooltip{opacity:1;transform:translate(-50%) translateY(0)}.header-badge{position:absolute;top:0;right:0;min-width:16px;height:16px;border-radius:8px;background-color:#ef4444;color:#fff;font-size:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;box-shadow:0 1px 3px #ef44444d;font-weight:600;z-index:2;transition:all .2s ease}.header-icon:hover .header-badge{transform:scale(1.1)}.header-divider{height:20px;width:1px;background-color:#e5e7ebcc;margin:0 6px}.header-year-dropdown-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.header-year-pill{position:relative;display:flex;align-items:center;padding:.25rem .625rem;background:linear-gradient(135deg,#3b82f61a,#2563eb26);border:1px solid rgba(59,130,246,.3);border-radius:9999px;color:#2563eb;font-size:.6875rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;white-space:nowrap;box-shadow:0 1px 2px #3b82f61a;min-height:22px;height:22px;line-height:1}.header-year-pill:hover{background:linear-gradient(135deg,#3b82f626,#2563eb33);border-color:#3b82f666;transform:translateY(-1px);box-shadow:0 2px 6px #3b82f626}.header-year-pill-text{max-width:180px;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em;line-height:1;display:inline-block}::ng-deep .header-year-dropdown-wrapper .dropdown-trigger{background:transparent!important;border:none!important;border-radius:0!important;padding:0!important;width:auto!important;height:auto!important;min-width:auto!important;box-shadow:none!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:none!important}::ng-deep .header-year-dropdown-wrapper .dropdown-trigger:hover{background:transparent!important}::ng-deep .header-year-dropdown-wrapper .dropdown-trigger:hover .header-year-pill{background:linear-gradient(135deg,#3b82f626,#2563eb33)!important;border-color:#3b82f666!important;transform:translateY(-1px)!important;box-shadow:0 2px 6px #3b82f626!important}::ng-deep .header-dropdown-container .dropdown-trigger:focus,::ng-deep .header-dropdown-container .dropdown-trigger:focus-visible,::ng-deep .header-dropdown-container .dropdown-trigger:active{outline:none!important;box-shadow:0 2px 6px #3b82f626!important}.profile-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-size:.75rem;font-weight:600;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #2563eb33;transition:all .2s cubic-bezier(.4,0,.2,1);letter-spacing:-.5px;cursor:pointer;border:2px solid transparent}.profile-avatar:hover,.header-icon:hover .profile-avatar{transform:scale(1.08);box-shadow:0 3px 8px #2563eb4d;border-color:#3b82f64d}::ng-deep .user-profile .dropdown-trigger{background:transparent!important;border:none!important;padding:0!important;width:auto!important;height:auto!important;border-radius:0!important}::ng-deep .user-profile .dropdown-trigger:hover{background:transparent!important}::ng-deep .user-profile .dropdown-trigger:focus,::ng-deep .user-profile .dropdown-trigger:focus-visible,::ng-deep .user-profile .dropdown-trigger:active{outline:none!important;box-shadow:none!important}.header-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;transition:all .2s cubic-bezier(.4,0,.2,1);border:2px solid transparent;box-shadow:0 2px 4px #0000001a}.header-avatar:hover{border-color:#3b82f6;transform:scale(1.05);box-shadow:0 3px 6px #3b82f64d}@media (max-width: 768px){.header-search-container{margin:0 1rem}.header-icons-container{gap:.5rem}}@media (max-width: 640px){.header-search-container{max-width:200px;margin:0 .5rem}}\n"] }]
|
|
1782
1835
|
}], ctorParameters: () => [], propDecorators: { triggerTemplate: [{
|
|
1783
1836
|
type: ViewChild,
|
|
1784
1837
|
args: ['triggerTemplate']
|
|
1838
|
+
}], yearTriggerTemplate: [{
|
|
1839
|
+
type: ViewChild,
|
|
1840
|
+
args: ['yearTriggerTemplate']
|
|
1785
1841
|
}] } });
|
|
1786
1842
|
|
|
1787
1843
|
class CideLytUserStatusService {
|
|
@@ -2984,8 +3040,8 @@ class CideLytSidedrawerWrapperComponent {
|
|
|
2984
3040
|
}
|
|
2985
3041
|
ngOnInit() {
|
|
2986
3042
|
// Initialize the component map (You'd likely populate this from a config or service)
|
|
2987
|
-
this.componentMap['drowar_notes'] = () => import('./cloud-ide-layout-sidedrawer-notes.component-
|
|
2988
|
-
this.componentMap['drawer_theme'] = () => import('./cloud-ide-layout-drawer-theme.component-
|
|
3043
|
+
this.componentMap['drowar_notes'] = () => import('./cloud-ide-layout-sidedrawer-notes.component-XQnUbaJq.mjs').then(m => m.CideLytSidedrawerNotesComponent);
|
|
3044
|
+
this.componentMap['drawer_theme'] = () => import('./cloud-ide-layout-drawer-theme.component-B5GGsHRK.mjs').then(m => m.CideLytDrawerThemeComponent);
|
|
2989
3045
|
}
|
|
2990
3046
|
async loadComponent(configFor) {
|
|
2991
3047
|
console.log('🔍 SIDEDRAWER - Loading component:', configFor, 'Current tab:', this.currentTabId);
|
|
@@ -3508,7 +3564,7 @@ const layoutControlPannelChildRoutes = [{
|
|
|
3508
3564
|
},
|
|
3509
3565
|
{
|
|
3510
3566
|
path: "home",
|
|
3511
|
-
loadComponent: () => import('./cloud-ide-layout-home-wrapper.component-
|
|
3567
|
+
loadComponent: () => import('./cloud-ide-layout-home-wrapper.component-C3b0CVaU.mjs').then(c => c.CideLytHomeWrapperComponent),
|
|
3512
3568
|
canActivate: [authGuard],
|
|
3513
3569
|
data: {
|
|
3514
3570
|
reuseTab: true, // For CustomRouteReuseStrategy
|
|
@@ -5076,4 +5132,4 @@ var floatingEntityRightsSharing_component = /*#__PURE__*/Object.freeze({
|
|
|
5076
5132
|
*/
|
|
5077
5133
|
|
|
5078
5134
|
export { AppStateHelperService as A, CideLytSharedWrapperComponent as C, ENVIRONMENT_CONFIG as E, CideLytSidebarService as a, CideLytRequestService as b, CideLytSidedrawerService as c, CideLytThemeService as d, AppStateService as e, CloudIdeLayoutService as f, CloudIdeLayoutComponent as g, CideLytSharedService as h, layoutControlPannelChildRoutes as i, CustomRouteReuseStrategy as j, CideLytUserStatusService as k, layoutRoutes as l, CacheManagerService as m, CideLytFileManagerService as n, CideLytFloatingEntityRightsSharingComponent as o, processThemeVariable as p, CideLytFloatingEntityRightsSharingService as q, setCSSVariable as s, themeFactory as t };
|
|
5079
|
-
//# sourceMappingURL=cloud-ide-layout-cloud-ide-layout-
|
|
5135
|
+
//# sourceMappingURL=cloud-ide-layout-cloud-ide-layout-CZxKJ-aP.mjs.map
|