cloud-ide-layout 1.0.57 → 1.0.59

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.
Files changed (13) hide show
  1. package/fesm2022/{cloud-ide-layout-cloud-ide-layout-CZxKJ-aP.mjs → cloud-ide-layout-cloud-ide-layout-MI4vdHsC.mjs} +68 -122
  2. package/fesm2022/cloud-ide-layout-cloud-ide-layout-MI4vdHsC.mjs.map +1 -0
  3. package/fesm2022/{cloud-ide-layout-drawer-theme.component-B5GGsHRK.mjs → cloud-ide-layout-drawer-theme.component-rOYqhLFu.mjs} +3 -3
  4. package/fesm2022/{cloud-ide-layout-drawer-theme.component-B5GGsHRK.mjs.map → cloud-ide-layout-drawer-theme.component-rOYqhLFu.mjs.map} +1 -1
  5. package/fesm2022/{cloud-ide-layout-floating-entity-selection.component-DDf1dSzF.mjs → cloud-ide-layout-floating-entity-selection.component-Ckw9qRL-.mjs} +3 -3
  6. package/fesm2022/{cloud-ide-layout-floating-entity-selection.component-DDf1dSzF.mjs.map → cloud-ide-layout-floating-entity-selection.component-Ckw9qRL-.mjs.map} +1 -1
  7. package/fesm2022/{cloud-ide-layout-home-wrapper.component-C3b0CVaU.mjs → cloud-ide-layout-home-wrapper.component-BBR8urqQ.mjs} +2 -2
  8. package/fesm2022/{cloud-ide-layout-home-wrapper.component-C3b0CVaU.mjs.map → cloud-ide-layout-home-wrapper.component-BBR8urqQ.mjs.map} +1 -1
  9. package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-XQnUbaJq.mjs → cloud-ide-layout-sidedrawer-notes.component-Dyc932g3.mjs} +3 -3
  10. package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-XQnUbaJq.mjs.map → cloud-ide-layout-sidedrawer-notes.component-Dyc932g3.mjs.map} +1 -1
  11. package/fesm2022/cloud-ide-layout.mjs +1 -1
  12. package/package.json +1 -1
  13. package/fesm2022/cloud-ide-layout-cloud-ide-layout-CZxKJ-aP.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-DDf1dSzF.mjs');
1269
+ const module = await import('./cloud-ide-layout-floating-entity-selection.component-Ckw9qRL-.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,7 +1347,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
1347
1347
 
1348
1348
  class CideLytHeaderWrapperComponent {
1349
1349
  triggerTemplate;
1350
- yearTriggerTemplate;
1351
1350
  // Inject app state service to get active entity
1352
1351
  appStateService = inject(AppStateService);
1353
1352
  // Inject floating entity selection service
@@ -1363,44 +1362,24 @@ class CideLytHeaderWrapperComponent {
1363
1362
  currentAcademicYear = signal(null, ...(ngDevMode ? [{ debugName: "currentAcademicYear" }] : []));
1364
1363
  currentFinancialYearName = signal('FY', ...(ngDevMode ? [{ debugName: "currentFinancialYearName" }] : []));
1365
1364
  currentAcademicYearName = signal('AY', ...(ngDevMode ? [{ debugName: "currentAcademicYearName" }] : []));
1366
- // Combined Year Dropdown Configuration
1367
- combinedYearItems = [];
1368
- combinedYearConfig = {
1369
- triggerIcon: '',
1365
+ // Financial Year Dropdown Configuration
1366
+ financialYearItems = [];
1367
+ financialYearConfig = {
1368
+ triggerIcon: 'calendar_today',
1370
1369
  triggerSize: 'sm',
1371
1370
  menuPosition: 'auto',
1372
- menuWidth: 'tw-w-64',
1371
+ menuWidth: 'tw-w-48',
1372
+ usePortal: true
1373
+ };
1374
+ // Academic Year Dropdown Configuration
1375
+ academicYearItems = [];
1376
+ academicYearConfig = {
1377
+ triggerIcon: 'school',
1378
+ triggerSize: 'sm',
1379
+ menuPosition: 'auto',
1380
+ menuWidth: 'tw-w-48',
1373
1381
  usePortal: true
1374
1382
  };
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
1383
  // Profile Dropdown Configuration (moved from more options)
1405
1384
  profileItems = [
1406
1385
  {
@@ -1613,27 +1592,47 @@ class CideLytHeaderWrapperComponent {
1613
1592
  */
1614
1593
  updateFinancialYearDropdown() {
1615
1594
  const years = this.financialYears();
1616
- const financialYearItems = years.map(year => ({
1617
- id: `fy_${year._id}`, // Prefix with 'fy_' to distinguish from AY
1618
- label: year.financial_year_name || `${year.financial_year_start_date} - ${year.financial_year_end_date}`,
1619
- icon: 'calendar_today',
1620
- iconColor: 'tw-text-blue-500'
1621
- }));
1595
+ this.financialYearItems = years.map(year => {
1596
+ // Use correct field names: accyr_name, accyr_from_date, accyr_to_date
1597
+ const name = year.accyr_name;
1598
+ const fromDate = year.accyr_from_date;
1599
+ const toDate = year.accyr_to_date;
1600
+ // Build label with proper fallback
1601
+ let label = name;
1602
+ if (!label && fromDate && toDate) {
1603
+ // Format dates if they're Date objects
1604
+ const from = fromDate instanceof Date ? fromDate.toISOString().split('T')[0] : fromDate;
1605
+ const to = toDate instanceof Date ? toDate.toISOString().split('T')[0] : toDate;
1606
+ label = `${from} - ${to}`;
1607
+ }
1608
+ else if (!label && (fromDate || toDate)) {
1609
+ const date = fromDate || toDate;
1610
+ label = date instanceof Date ? date.toISOString().split('T')[0] : date || 'Financial Year';
1611
+ }
1612
+ else if (!label) {
1613
+ label = 'Financial Year';
1614
+ }
1615
+ return {
1616
+ id: year._id,
1617
+ label: label,
1618
+ icon: 'calendar_today',
1619
+ iconColor: 'tw-text-blue-500'
1620
+ };
1621
+ });
1622
1622
  // Set current financial year (first active one or first in list)
1623
- const currentFY = years.find(year => year.is_active) || years[0];
1623
+ // Use correct field name: accyr_isactive
1624
+ const currentFY = years.find(year => year.accyr_isactive) || years[0];
1624
1625
  if (currentFY) {
1625
1626
  this.currentFinancialYear.set(currentFY);
1626
- this.currentFinancialYearName.set(currentFY.financial_year_name || 'FY');
1627
+ this.currentFinancialYearName.set(currentFY.accyr_name || 'FY');
1627
1628
  }
1628
- // Update combined dropdown
1629
- this.updateCombinedYearDropdown();
1630
1629
  }
1631
1630
  /**
1632
1631
  * Update academic year dropdown items
1633
1632
  */
1634
1633
  updateAcademicYearDropdown() {
1635
1634
  const years = this.academicYears();
1636
- const academicYearItems = years.map(year => {
1635
+ this.academicYearItems = years.map(year => {
1637
1636
  // Use correct field names: acayr_name, acayr_from_date, acayr_to_date
1638
1637
  const name = year.acayr_name;
1639
1638
  const fromDate = year.acayr_from_date;
@@ -1650,14 +1649,13 @@ class CideLytHeaderWrapperComponent {
1650
1649
  label = 'Academic Year';
1651
1650
  }
1652
1651
  return {
1653
- id: `ay_${year._id}`, // Prefix with 'ay_' to distinguish from FY
1652
+ id: year._id,
1654
1653
  label: label,
1655
1654
  icon: 'school',
1656
1655
  iconColor: 'tw-text-green-500'
1657
1656
  };
1658
1657
  });
1659
1658
  // Set current academic year (first active one or first in list)
1660
- // Use correct field name: acayr_isactive
1661
1659
  const currentAY = years.find(year => year.acayr_isactive) || years[0];
1662
1660
  if (currentAY) {
1663
1661
  this.currentAcademicYear.set(currentAY);
@@ -1668,76 +1666,27 @@ class CideLytHeaderWrapperComponent {
1668
1666
  this.currentAcademicYear.set(years[0]);
1669
1667
  this.currentAcademicYearName.set(years[0].acayr_name || 'AY');
1670
1668
  }
1671
- // Update combined dropdown
1672
- this.updateCombinedYearDropdown();
1673
1669
  }
1674
1670
  /**
1675
- * Update combined year dropdown items (Financial Year + Academic Year)
1671
+ * Handle financial year dropdown item clicks
1676
1672
  */
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);
1673
+ onFinancialYearClick(item) {
1674
+ const selectedYear = this.financialYears().find(year => year._id === item.id);
1675
+ if (selectedYear) {
1676
+ this.currentFinancialYear.set(selectedYear);
1677
+ this.currentFinancialYearName.set(selectedYear.financial_year_name || 'FY');
1678
+ // TODO: Update app state or notify other components about the change
1715
1679
  }
1716
1680
  }
1717
1681
  /**
1718
- * Handle combined year dropdown item clicks (Financial Year or Academic Year)
1719
- * @param item The clicked dropdown item
1682
+ * Handle academic year dropdown item clicks
1720
1683
  */
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
- }
1684
+ onAcademicYearClick(item) {
1685
+ const selectedYear = this.academicYears().find(year => year._id === item.id);
1686
+ if (selectedYear) {
1687
+ this.currentAcademicYear.set(selectedYear);
1688
+ this.currentAcademicYearName.set(selectedYear.acayr_name || 'AY');
1689
+ // TODO: Update app state or notify other components about the change
1741
1690
  }
1742
1691
  }
1743
1692
  /**
@@ -1826,18 +1775,15 @@ class CideLytHeaderWrapperComponent {
1826
1775
  }
1827
1776
  }
1828
1777
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: CideLytHeaderWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
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"] }] });
1778
+ 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\">\n <!-- Logo Section -->\n <div class=\"tw-flex tw-items-center tw-gap-3\">\n <div class=\"header-logo-container tw-flex tw-items-center tw-gap-3 tw-cursor-pointer\" (click)=\"onLogoClick()\"\n (keydown.enter)=\"onLogoClick()\" (keydown.space)=\"onLogoClick()\" tabindex=\"0\" role=\"button\"\n aria-label=\"Navigate to home\" title=\"Click to go to control panel home\">\n @if (appStateService.activeEntity()?.syen_photo_id_cyfm) {\n <img cideEleFileImage [fileId]=\"(appStateService.activeEntity()?.syen_photo_id_cyfm || '')\"\n [altText]=\"'Entity Logo'\" class=\"tw-w-8 tw-h-8 tw-object-contain\">\n } @else {\n <cide-ele-icon name=\"business\" class=\"tw-w-8 tw-h-8 tw-text-blue-600\"></cide-ele-icon>\n }\n\n </div>\n @if (appStateService.activeEntity()?.syen_name) {\n <span\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\"\n (click)=\"onEntityNameClick()\" title=\"Click to switch entity\">\n {{ appStateService.activeEntity()?.syen_name }}\n </span>\n }\n </div>\n <!-- Search Section -->\n <div class=\"header-search-container\">\n <cide-ele-input id=\"cide_lyt_header_search\" placeholder=\"Search...\" leadingIcon=\"search\"\n size=\"md\"></cide-ele-input>\n </div>\n\n <!-- Icons Section -->\n <div class=\"header-icons-container\">\n <!-- Financial Year Dropdown -->\n <div class=\"header-dropdown-container\" (mouseenter)=\"updateTooltipPosition($event)\">\n <span class=\"tw-text-xs tw-font-semibold tw-mr-1\">{{ currentFinancialYearName() }}</span>\n <cide-ele-dropdown [items]=\"financialYearItems\" [config]=\"financialYearConfig\"\n (itemClick)=\"onFinancialYearClick($event)\">\n </cide-ele-dropdown>\n <div class=\"header-tooltip\">Financial Year</div>\n </div>\n\n <!-- Academic Year Dropdown -->\n <div class=\"header-dropdown-container\" (mouseenter)=\"updateTooltipPosition($event)\">\n <span class=\"tw-text-xs tw-font-semibold tw-mr-1\">{{ currentAcademicYearName() }}</span>\n <cide-ele-dropdown [items]=\"academicYearItems\" [config]=\"academicYearConfig\"\n (itemClick)=\"onAcademicYearClick($event)\">\n </cide-ele-dropdown>\n <div class=\"header-tooltip\">Academic Year</div>\n </div>\n\n <div class=\"header-icon\" (mouseenter)=\"updateTooltipPosition($event)\">\n <cide-ele-icon>notifications</cide-ele-icon>\n <div class=\"header-badge\">3</div>\n <div class=\"header-tooltip\">Notifications</div>\n </div>\n\n <div class=\"header-divider\"></div>\n\n <!-- Profile with Dropdown -->\n <div class=\"header-icon user-profile\" (mouseenter)=\"updateTooltipPosition($event)\">\n <cide-ele-dropdown [items]=\"profileItems\" [config]=\"profileConfig\"\n [triggerTemplate]=\"triggerTemplate\"\n (itemClick)=\"onProfileClick($event)\">\n <ng-template #triggerTemplate>\n @if (appStateService.currentUser()?.user_photo_id_cyfm) {\n <div class=\"profile-avatar\">\n <img cideEleFileImage [fileId]=\"(appStateService.currentUser()?.user_photo_id_cyfm || '')\"\n [altText]=\"'User Profile Photo'\" class=\"tw-w-full tw-h-full tw-object-cover tw-rounded-full\">\n </div>\n } @else {\n <div class=\"profile-avatar\">\n <cide-ele-icon name=\"person\" class=\"tw-w-6 tw-h-6 tw-text-white\"></cide-ele-icon>\n </div>\n }\n </ng-template>\n </cide-ele-dropdown>\n <div class=\"header-tooltip\">My Account</div>\n </div>\n </div>\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"] }] });
1830
1779
  }
1831
1780
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: CideLytHeaderWrapperComponent, decorators: [{
1832
1781
  type: Component,
1833
1782
  args: [{ selector: 'cide-lyt-header-wrapper', imports: [CideInputComponent, CommonModule, CideIconComponent,
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"] }]
1783
+ CideEleDropdownComponent, CideEleFileImageDirective], template: "<header id=\"cide-lyt-header-wrapper\" class=\"cide-lyt-header tw-w-full tw-select-none cide-lyt-header-wrapper-hide\">\n <!-- Logo Section -->\n <div class=\"tw-flex tw-items-center tw-gap-3\">\n <div class=\"header-logo-container tw-flex tw-items-center tw-gap-3 tw-cursor-pointer\" (click)=\"onLogoClick()\"\n (keydown.enter)=\"onLogoClick()\" (keydown.space)=\"onLogoClick()\" tabindex=\"0\" role=\"button\"\n aria-label=\"Navigate to home\" title=\"Click to go to control panel home\">\n @if (appStateService.activeEntity()?.syen_photo_id_cyfm) {\n <img cideEleFileImage [fileId]=\"(appStateService.activeEntity()?.syen_photo_id_cyfm || '')\"\n [altText]=\"'Entity Logo'\" class=\"tw-w-8 tw-h-8 tw-object-contain\">\n } @else {\n <cide-ele-icon name=\"business\" class=\"tw-w-8 tw-h-8 tw-text-blue-600\"></cide-ele-icon>\n }\n\n </div>\n @if (appStateService.activeEntity()?.syen_name) {\n <span\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\"\n (click)=\"onEntityNameClick()\" title=\"Click to switch entity\">\n {{ appStateService.activeEntity()?.syen_name }}\n </span>\n }\n </div>\n <!-- Search Section -->\n <div class=\"header-search-container\">\n <cide-ele-input id=\"cide_lyt_header_search\" placeholder=\"Search...\" leadingIcon=\"search\"\n size=\"md\"></cide-ele-input>\n </div>\n\n <!-- Icons Section -->\n <div class=\"header-icons-container\">\n <!-- Financial Year Dropdown -->\n <div class=\"header-dropdown-container\" (mouseenter)=\"updateTooltipPosition($event)\">\n <span class=\"tw-text-xs tw-font-semibold tw-mr-1\">{{ currentFinancialYearName() }}</span>\n <cide-ele-dropdown [items]=\"financialYearItems\" [config]=\"financialYearConfig\"\n (itemClick)=\"onFinancialYearClick($event)\">\n </cide-ele-dropdown>\n <div class=\"header-tooltip\">Financial Year</div>\n </div>\n\n <!-- Academic Year Dropdown -->\n <div class=\"header-dropdown-container\" (mouseenter)=\"updateTooltipPosition($event)\">\n <span class=\"tw-text-xs tw-font-semibold tw-mr-1\">{{ currentAcademicYearName() }}</span>\n <cide-ele-dropdown [items]=\"academicYearItems\" [config]=\"academicYearConfig\"\n (itemClick)=\"onAcademicYearClick($event)\">\n </cide-ele-dropdown>\n <div class=\"header-tooltip\">Academic Year</div>\n </div>\n\n <div class=\"header-icon\" (mouseenter)=\"updateTooltipPosition($event)\">\n <cide-ele-icon>notifications</cide-ele-icon>\n <div class=\"header-badge\">3</div>\n <div class=\"header-tooltip\">Notifications</div>\n </div>\n\n <div class=\"header-divider\"></div>\n\n <!-- Profile with Dropdown -->\n <div class=\"header-icon user-profile\" (mouseenter)=\"updateTooltipPosition($event)\">\n <cide-ele-dropdown [items]=\"profileItems\" [config]=\"profileConfig\"\n [triggerTemplate]=\"triggerTemplate\"\n (itemClick)=\"onProfileClick($event)\">\n <ng-template #triggerTemplate>\n @if (appStateService.currentUser()?.user_photo_id_cyfm) {\n <div class=\"profile-avatar\">\n <img cideEleFileImage [fileId]=\"(appStateService.currentUser()?.user_photo_id_cyfm || '')\"\n [altText]=\"'User Profile Photo'\" class=\"tw-w-full tw-h-full tw-object-cover tw-rounded-full\">\n </div>\n } @else {\n <div class=\"profile-avatar\">\n <cide-ele-icon name=\"person\" class=\"tw-w-6 tw-h-6 tw-text-white\"></cide-ele-icon>\n </div>\n }\n </ng-template>\n </cide-ele-dropdown>\n <div class=\"header-tooltip\">My Account</div>\n </div>\n </div>\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"] }]
1835
1784
  }], ctorParameters: () => [], propDecorators: { triggerTemplate: [{
1836
1785
  type: ViewChild,
1837
1786
  args: ['triggerTemplate']
1838
- }], yearTriggerTemplate: [{
1839
- type: ViewChild,
1840
- args: ['yearTriggerTemplate']
1841
1787
  }] } });
1842
1788
 
1843
1789
  class CideLytUserStatusService {
@@ -3040,8 +2986,8 @@ class CideLytSidedrawerWrapperComponent {
3040
2986
  }
3041
2987
  ngOnInit() {
3042
2988
  // Initialize the component map (You'd likely populate this from a config or service)
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
+ this.componentMap['drowar_notes'] = () => import('./cloud-ide-layout-sidedrawer-notes.component-Dyc932g3.mjs').then(m => m.CideLytSidedrawerNotesComponent);
2990
+ this.componentMap['drawer_theme'] = () => import('./cloud-ide-layout-drawer-theme.component-rOYqhLFu.mjs').then(m => m.CideLytDrawerThemeComponent);
3045
2991
  }
3046
2992
  async loadComponent(configFor) {
3047
2993
  console.log('🔍 SIDEDRAWER - Loading component:', configFor, 'Current tab:', this.currentTabId);
@@ -3564,7 +3510,7 @@ const layoutControlPannelChildRoutes = [{
3564
3510
  },
3565
3511
  {
3566
3512
  path: "home",
3567
- loadComponent: () => import('./cloud-ide-layout-home-wrapper.component-C3b0CVaU.mjs').then(c => c.CideLytHomeWrapperComponent),
3513
+ loadComponent: () => import('./cloud-ide-layout-home-wrapper.component-BBR8urqQ.mjs').then(c => c.CideLytHomeWrapperComponent),
3568
3514
  canActivate: [authGuard],
3569
3515
  data: {
3570
3516
  reuseTab: true, // For CustomRouteReuseStrategy
@@ -4873,7 +4819,7 @@ class CideLytFloatingEntityRightsSharingComponent {
4873
4819
  }
4874
4820
  </div>
4875
4821
  </div>
4876
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: CideEleButtonComponent, selector: "button[cideEleButton], a[cideEleButton]", inputs: ["label", "variant", "size", "type", "shape", "elevation", "disabled", "id", "loading", "fullWidth", "leftIcon", "rightIcon", "customClass", "tooltip", "ariaLabel", "testId", "routerLink", "routerExtras", "preventDoubleClick", "animated"], outputs: ["btnClick", "doubleClick"] }, { kind: "component", type: CideIconComponent, selector: "cide-ele-icon", inputs: ["size", "type", "toolTip"] }, { kind: "component", type: CideSpinnerComponent, selector: "cide-ele-spinner", inputs: ["size", "type"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, deferBlockDependencies: [() => [CideIconComponent], () => [i2$1.ɵNgNoValidate, i2$1.NgControlStatus, i2$1.NgControlStatusGroup, i2$1.FormGroupDirective, i2$1.FormControlName, CideInputComponent]] });
4822
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: CideEleButtonComponent, selector: "button[cideEleButton], a[cideEleButton], cide-ele-button", inputs: ["label", "variant", "size", "type", "shape", "elevation", "disabled", "id", "loading", "fullWidth", "leftIcon", "rightIcon", "customClass", "tooltip", "ariaLabel", "testId", "routerLink", "routerExtras", "preventDoubleClick", "animated"], outputs: ["btnClick", "doubleClick"] }, { kind: "component", type: CideIconComponent, selector: "cide-ele-icon", inputs: ["size", "type", "toolTip"] }, { kind: "component", type: CideSpinnerComponent, selector: "cide-ele-spinner", inputs: ["size", "type"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, deferBlockDependencies: [() => [CideIconComponent], () => [i2$1.ɵNgNoValidate, i2$1.NgControlStatus, i2$1.NgControlStatusGroup, i2$1.FormGroupDirective, i2$1.FormControlName, CideInputComponent]] });
4877
4823
  }
4878
4824
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: CideLytFloatingEntityRightsSharingComponent, decorators: [{
4879
4825
  type: Component,
@@ -5132,4 +5078,4 @@ var floatingEntityRightsSharing_component = /*#__PURE__*/Object.freeze({
5132
5078
  */
5133
5079
 
5134
5080
  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 };
5135
- //# sourceMappingURL=cloud-ide-layout-cloud-ide-layout-CZxKJ-aP.mjs.map
5081
+ //# sourceMappingURL=cloud-ide-layout-cloud-ide-layout-MI4vdHsC.mjs.map