cloud-ide-layout 1.0.93 → 1.0.94

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-BJ08Dx73.mjs → cloud-ide-layout-cloud-ide-layout-D46EBbU_.mjs} +26 -63
  2. package/fesm2022/cloud-ide-layout-cloud-ide-layout-D46EBbU_.mjs.map +1 -0
  3. package/fesm2022/{cloud-ide-layout-drawer-theme.component-BJ-GMbja.mjs → cloud-ide-layout-drawer-theme.component-DtB7gIrr.mjs} +2 -2
  4. package/fesm2022/{cloud-ide-layout-drawer-theme.component-BJ-GMbja.mjs.map → cloud-ide-layout-drawer-theme.component-DtB7gIrr.mjs.map} +1 -1
  5. package/fesm2022/{cloud-ide-layout-floating-entity-selection.component-Dd5VHZDh.mjs → cloud-ide-layout-floating-entity-selection.component-CuU4517x.mjs} +2 -2
  6. package/fesm2022/{cloud-ide-layout-floating-entity-selection.component-Dd5VHZDh.mjs.map → cloud-ide-layout-floating-entity-selection.component-CuU4517x.mjs.map} +1 -1
  7. package/fesm2022/{cloud-ide-layout-home-wrapper.component-CwiJfD6i.mjs → cloud-ide-layout-home-wrapper.component-Cbk5odwJ.mjs} +2 -2
  8. package/fesm2022/{cloud-ide-layout-home-wrapper.component-CwiJfD6i.mjs.map → cloud-ide-layout-home-wrapper.component-Cbk5odwJ.mjs.map} +1 -1
  9. package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-Dv8lU855.mjs → cloud-ide-layout-sidedrawer-notes.component-D-qC2FCM.mjs} +2 -2
  10. package/fesm2022/{cloud-ide-layout-sidedrawer-notes.component-Dv8lU855.mjs.map → cloud-ide-layout-sidedrawer-notes.component-D-qC2FCM.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-BJ08Dx73.mjs.map +0 -1
@@ -7,7 +7,7 @@ import { map, filter, tap, catchError, shareReplay, take, distinctUntilChanged }
7
7
  import * as i2 from '@angular/router';
8
8
  import { Router, NavigationEnd, RouteReuseStrategy, RouterModule } from '@angular/router';
9
9
  import { Title } from '@angular/platform-browser';
10
- import { CideEleFileManagerService, CideElementsService, CideEleFloatingContainerService, WebSocketNotificationService, NotificationApiService, CideInputComponent, CideIconComponent, CideEleDropdownComponent, CideEleFileImageDirective, CideEleResizerDirective, TooltipDirective, CideSpinnerComponent, CideEleSkeletonLoaderComponent, CideEleFloatingContainerManagerComponent, CideEleGlobalNotificationsComponent, CideEleBreadcrumbComponent, CideEleButtonComponent } from 'cloud-ide-element';
10
+ import { CideEleFileManagerService, CideElementsService, CideEleFloatingContainerService, CideThemeService, WebSocketNotificationService, NotificationApiService, CideInputComponent, CideIconComponent, CideEleDropdownComponent, CideEleFileImageDirective, CideEleResizerDirective, TooltipDirective, CideSpinnerComponent, CideEleSkeletonLoaderComponent, CideEleFloatingContainerManagerComponent, CideEleGlobalNotificationsComponent, CideEleBreadcrumbComponent, CideEleButtonComponent } from 'cloud-ide-element';
11
11
  import * as i1 from '@angular/common';
12
12
  import { CommonModule, NgClass, NgFor, NgIf, isPlatformBrowser } from '@angular/common';
13
13
  import { FINANCIAL_YEAR_SERVICE_TOKEN, ACADEMIC_YEAR_SERVICE_TOKEN, AUTH_SERVICE_TOKEN, authGuard, ENTITY_SERVICE_TOKEN } from 'cloud-ide-shared';
@@ -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-Dd5VHZDh.mjs');
1269
+ const module = await import('./cloud-ide-layout-floating-entity-selection.component-CuU4517x.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');
@@ -1359,6 +1359,8 @@ class CideLytHeaderWrapperComponent {
1359
1359
  financialYearService = inject(FINANCIAL_YEAR_SERVICE_TOKEN);
1360
1360
  academicYearService = inject(ACADEMIC_YEAR_SERVICE_TOKEN);
1361
1361
  destroyRef = inject(DestroyRef);
1362
+ // Inject theme service for independent theme management
1363
+ themeService = inject(CideThemeService);
1362
1364
  // Signals for year data
1363
1365
  financialYears = signal([], ...(ngDevMode ? [{ debugName: "financialYears" }] : []));
1364
1366
  academicYears = signal([], ...(ngDevMode ? [{ debugName: "academicYears" }] : []));
@@ -1504,21 +1506,16 @@ class CideLytHeaderWrapperComponent {
1504
1506
  });
1505
1507
  }
1506
1508
  ngOnInit() {
1507
- // Initialize dark mode from localStorage
1508
- if (typeof document !== 'undefined' && typeof localStorage !== 'undefined') {
1509
- const isDarkMode = localStorage.getItem('cide-dark-mode') === 'true';
1510
- this.darkMode.set(isDarkMode);
1511
- if (isDarkMode) {
1512
- const root = document.documentElement;
1513
- const body = document.body;
1514
- root.setAttribute('data-theme', 'dark');
1515
- root.classList.add('dark-mode');
1516
- body.setAttribute('data-theme', 'dark');
1517
- body.classList.add('dark-mode');
1518
- }
1509
+ // Subscribe to theme service for reactive theme updates
1510
+ this.themeService.getEffectiveTheme$()
1511
+ .pipe(takeUntilDestroyed(this.destroyRef))
1512
+ .subscribe(theme => {
1513
+ this.darkMode.set(theme === 'dark');
1519
1514
  // Update theme menu item based on current state
1520
1515
  this.updateThemeMenuItem();
1521
- }
1516
+ });
1517
+ // Set initial darkMode state from theme service
1518
+ this.darkMode.set(this.themeService.isDarkMode());
1522
1519
  this.loadFinancialYears();
1523
1520
  this.loadAcademicYears();
1524
1521
  // Initialize notification dropdown with empty state
@@ -2485,28 +2482,10 @@ class CideLytHeaderWrapperComponent {
2485
2482
  * Toggle dark mode theme
2486
2483
  */
2487
2484
  toggleTheme() {
2488
- this.darkMode.set(!this.darkMode());
2489
- // Apply dark mode to root element (html/body) for global theme switching
2490
- if (typeof document !== 'undefined') {
2491
- const root = document.documentElement;
2492
- const body = document.body;
2493
- if (this.darkMode()) {
2494
- root.setAttribute('data-theme', 'dark');
2495
- root.classList.add('dark-mode');
2496
- body.setAttribute('data-theme', 'dark');
2497
- body.classList.add('dark-mode');
2498
- // Save to localStorage
2499
- localStorage.setItem('cide-dark-mode', 'true');
2500
- }
2501
- else {
2502
- root.removeAttribute('data-theme');
2503
- root.classList.remove('dark-mode');
2504
- body.removeAttribute('data-theme');
2505
- body.classList.remove('dark-mode');
2506
- // Remove from localStorage
2507
- localStorage.removeItem('cide-dark-mode');
2508
- }
2509
- }
2485
+ // Use the CIDE Element Library theme service for theme management
2486
+ // The service handles DOM manipulation, localStorage, and theme application
2487
+ this.themeService.toggleTheme();
2488
+ // Note: darkMode signal is automatically updated via the subscription in ngOnInit
2510
2489
  }
2511
2490
  /**
2512
2491
  * Update theme menu item label and icon based on current theme
@@ -2867,6 +2846,7 @@ class CideLytSidebarWrapperComponent {
2867
2846
  appState = inject(AppStateHelperService);
2868
2847
  router = inject(Router);
2869
2848
  userStatusService = inject(CideLytUserStatusService);
2849
+ themeService = inject(CideThemeService);
2870
2850
  constructor() {
2871
2851
  // React to active module changes using signal effects
2872
2852
  effect(() => {
@@ -3115,28 +3095,11 @@ class CideLytSidebarWrapperComponent {
3115
3095
  }
3116
3096
  }
3117
3097
  toggleTheme() {
3118
- this.darkMode.set(!this.darkMode());
3119
- // Apply dark mode to root element (html/body) for global theme switching
3120
- if (typeof document !== 'undefined') {
3121
- const root = document.documentElement;
3122
- const body = document.body;
3123
- if (this.darkMode()) {
3124
- root.setAttribute('data-theme', 'dark');
3125
- root.classList.add('dark-mode');
3126
- body.setAttribute('data-theme', 'dark');
3127
- body.classList.add('dark-mode');
3128
- // Save to localStorage
3129
- localStorage.setItem('cide-dark-mode', 'true');
3130
- }
3131
- else {
3132
- root.removeAttribute('data-theme');
3133
- root.classList.remove('dark-mode');
3134
- body.removeAttribute('data-theme');
3135
- body.classList.remove('dark-mode');
3136
- // Remove from localStorage
3137
- localStorage.removeItem('cide-dark-mode');
3138
- }
3139
- }
3098
+ // Use the CIDE Element Library theme service for theme management
3099
+ // The service handles DOM manipulation, localStorage, and theme application
3100
+ this.themeService.toggleTheme();
3101
+ // Update local darkMode signal
3102
+ this.darkMode.set(this.themeService.isDarkMode());
3140
3103
  }
3141
3104
  toggleOptions() {
3142
3105
  this.showOptions.set(!this.showOptions());
@@ -3917,8 +3880,8 @@ class CideLytSidedrawerWrapperComponent {
3917
3880
  }
3918
3881
  ngOnInit() {
3919
3882
  // Initialize the component map (You'd likely populate this from a config or service)
3920
- this.componentMap['drowar_notes'] = () => import('./cloud-ide-layout-sidedrawer-notes.component-Dv8lU855.mjs').then(m => m.CideLytSidedrawerNotesComponent);
3921
- this.componentMap['drawer_theme'] = () => import('./cloud-ide-layout-drawer-theme.component-BJ-GMbja.mjs').then(m => m.CideLytDrawerThemeComponent);
3883
+ this.componentMap['drowar_notes'] = () => import('./cloud-ide-layout-sidedrawer-notes.component-D-qC2FCM.mjs').then(m => m.CideLytSidedrawerNotesComponent);
3884
+ this.componentMap['drawer_theme'] = () => import('./cloud-ide-layout-drawer-theme.component-DtB7gIrr.mjs').then(m => m.CideLytDrawerThemeComponent);
3922
3885
  }
3923
3886
  async loadComponent(configFor) {
3924
3887
  console.log('🔍 SIDEDRAWER - Loading component:', configFor, 'Current tab:', this.currentTabId);
@@ -4441,7 +4404,7 @@ const layoutControlPannelChildRoutes = [{
4441
4404
  },
4442
4405
  {
4443
4406
  path: "home",
4444
- loadComponent: () => import('./cloud-ide-layout-home-wrapper.component-CwiJfD6i.mjs').then(c => c.CideLytHomeWrapperComponent),
4407
+ loadComponent: () => import('./cloud-ide-layout-home-wrapper.component-Cbk5odwJ.mjs').then(c => c.CideLytHomeWrapperComponent),
4445
4408
  canActivate: [authGuard],
4446
4409
  data: {
4447
4410
  reuseTab: true, // For CustomRouteReuseStrategy
@@ -6009,4 +5972,4 @@ var floatingEntityRightsSharing_component = /*#__PURE__*/Object.freeze({
6009
5972
  */
6010
5973
 
6011
5974
  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 };
6012
- //# sourceMappingURL=cloud-ide-layout-cloud-ide-layout-BJ08Dx73.mjs.map
5975
+ //# sourceMappingURL=cloud-ide-layout-cloud-ide-layout-D46EBbU_.mjs.map