mis-crystal-design-system 18.0.25 → 18.1.0-signal-test

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 (185) hide show
  1. package/action-list/action-list.component.d.ts +17 -15
  2. package/async-search-dropdown/async-dropdown.component.d.ts +43 -61
  3. package/button/button.component.d.ts +35 -13
  4. package/button/button.directive.d.ts +10 -8
  5. package/button/button.directive.scss +13 -15
  6. package/checkbox/checkbox.component.d.ts +15 -12
  7. package/chip/chip.component.d.ts +9 -11
  8. package/datepicker_v2/models/dp-config.model.d.ts +1 -0
  9. package/datepicker_v2/tz-datepicker.directive.d.ts +15 -18
  10. package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +42 -21
  11. package/daterangepicker_v2/tz-daterangepicker.directive.d.ts +12 -14
  12. package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +46 -23
  13. package/drawer/drawer-body/drawer-body.component.d.ts +2 -2
  14. package/drawer/drawer.scss +1 -1
  15. package/dropdown/calculate-container-height.directive.d.ts +7 -8
  16. package/dropdown/dropdown.component.d.ts +41 -49
  17. package/dynamic-form/dynamic-form.component.d.ts +20 -16
  18. package/esm2022/action-list/action-list.component.mjs +113 -90
  19. package/esm2022/async-search-dropdown/async-dropdown.component.mjs +257 -327
  20. package/esm2022/button/button.component.mjs +56 -49
  21. package/esm2022/button/button.directive.mjs +36 -40
  22. package/esm2022/checkbox/checkbox.component.mjs +75 -70
  23. package/esm2022/chip/chip.component.mjs +20 -33
  24. package/esm2022/datepicker_v2/models/dp-config.model.mjs +1 -1
  25. package/esm2022/datepicker_v2/tz-datepicker.directive.mjs +42 -71
  26. package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +203 -173
  27. package/esm2022/datepicker_v2/utils/index.mjs +2 -1
  28. package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +26 -51
  29. package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +283 -236
  30. package/esm2022/drawer/drawer-body/drawer-body.component.mjs +8 -7
  31. package/esm2022/dropdown/calculate-container-height.directive.mjs +25 -22
  32. package/esm2022/dropdown/dropdown.component.mjs +163 -187
  33. package/esm2022/dynamic-form/dynamic-form.component.mjs +119 -73
  34. package/esm2022/fab/fab.component.mjs +30 -34
  35. package/esm2022/filter/filter-panel/filter-panel.component.mjs +61 -59
  36. package/esm2022/input/directives/input/input.directive.mjs +22 -26
  37. package/esm2022/input/mis-input.component.mjs +42 -46
  38. package/esm2022/input-stepper/input-stepper/input-stepper.component.mjs +42 -52
  39. package/esm2022/loader/loader.component.mjs +8 -11
  40. package/esm2022/mobile-filter/mobile-filter.component.mjs +62 -62
  41. package/esm2022/modal/module-wrapper/module-wrapper.component.mjs +11 -9
  42. package/esm2022/multi-select-dropdown/multi-select-dropdown.component.mjs +235 -281
  43. package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +250 -287
  44. package/esm2022/phone-input/phone-input.component.mjs +21 -43
  45. package/esm2022/public-api.mjs +1 -1
  46. package/esm2022/radio-button/radio-button.component.mjs +15 -27
  47. package/esm2022/ske-loader/ske-loader.component.mjs +15 -29
  48. package/esm2022/slider/slider.component.mjs +23 -33
  49. package/esm2022/slider/slider.module.mjs +4 -11
  50. package/esm2022/snackbar/snackbar/snackbar.component.mjs +21 -15
  51. package/esm2022/snackbar/snackbar.service.mjs +3 -2
  52. package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +231 -344
  53. package/esm2022/specificdatepicker/tz-specificdatepicker.directive.mjs +77 -105
  54. package/esm2022/star-rating/star-rating.component.mjs +58 -72
  55. package/esm2022/switch/switch.component.mjs +34 -36
  56. package/esm2022/table/actions-cell/actions-cell.component.mjs +56 -55
  57. package/esm2022/table/custom-table-cell.directive.mjs +22 -18
  58. package/esm2022/table/filter/filter.component.mjs +60 -42
  59. package/esm2022/table/sort-icons.directive.mjs +16 -8
  60. package/esm2022/table/sub-table/sub-table.component.mjs +42 -45
  61. package/esm2022/table/table.component.mjs +182 -166
  62. package/esm2022/timepicker/timepicker.component.mjs +245 -160
  63. package/esm2022/timepicker/timepicker.directive.mjs +3 -2
  64. package/esm2022/timerangepicker/timerangepicker.component.mjs +200 -159
  65. package/esm2022/toast/toast.component.mjs +7 -8
  66. package/esm2022/toast/toast.data.service.mjs +15 -9
  67. package/esm2022/tooltip/tooltip-container/tooltip.component.mjs +12 -12
  68. package/esm2022/tooltip/tooltip.directive.mjs +4 -4
  69. package/esm2022/virtual-scroll/virtual-scroll.component.mjs +57 -59
  70. package/fab/fab.component.d.ts +12 -8
  71. package/fesm2022/mis-crystal-design-system-action-list.mjs +112 -89
  72. package/fesm2022/mis-crystal-design-system-action-list.mjs.map +1 -1
  73. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs +254 -325
  74. package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
  75. package/fesm2022/mis-crystal-design-system-button.mjs +89 -86
  76. package/fesm2022/mis-crystal-design-system-button.mjs.map +1 -1
  77. package/fesm2022/mis-crystal-design-system-checkbox.mjs +74 -69
  78. package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +1 -1
  79. package/fesm2022/mis-crystal-design-system-chip.mjs +19 -32
  80. package/fesm2022/mis-crystal-design-system-chip.mjs.map +1 -1
  81. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs +243 -241
  82. package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
  83. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +306 -284
  84. package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
  85. package/fesm2022/mis-crystal-design-system-drawer.mjs +7 -6
  86. package/fesm2022/mis-crystal-design-system-drawer.mjs.map +1 -1
  87. package/fesm2022/mis-crystal-design-system-dropdown.mjs +184 -205
  88. package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +1 -1
  89. package/fesm2022/mis-crystal-design-system-dynamic-form.mjs +119 -73
  90. package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
  91. package/fesm2022/mis-crystal-design-system-fab.mjs +29 -33
  92. package/fesm2022/mis-crystal-design-system-fab.mjs.map +1 -1
  93. package/fesm2022/mis-crystal-design-system-filter.mjs +60 -58
  94. package/fesm2022/mis-crystal-design-system-filter.mjs.map +1 -1
  95. package/fesm2022/mis-crystal-design-system-input-stepper.mjs +41 -51
  96. package/fesm2022/mis-crystal-design-system-input-stepper.mjs.map +1 -1
  97. package/fesm2022/mis-crystal-design-system-input.mjs +62 -71
  98. package/fesm2022/mis-crystal-design-system-input.mjs.map +1 -1
  99. package/fesm2022/mis-crystal-design-system-loader.mjs +7 -10
  100. package/fesm2022/mis-crystal-design-system-loader.mjs.map +1 -1
  101. package/fesm2022/mis-crystal-design-system-mobile-filter.mjs +61 -61
  102. package/fesm2022/mis-crystal-design-system-mobile-filter.mjs.map +1 -1
  103. package/fesm2022/mis-crystal-design-system-modal.mjs +10 -8
  104. package/fesm2022/mis-crystal-design-system-modal.mjs.map +1 -1
  105. package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs +233 -279
  106. package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -1
  107. package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs +249 -286
  108. package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -1
  109. package/fesm2022/mis-crystal-design-system-phone-input.mjs +20 -42
  110. package/fesm2022/mis-crystal-design-system-phone-input.mjs.map +1 -1
  111. package/fesm2022/mis-crystal-design-system-radio-button.mjs +14 -26
  112. package/fesm2022/mis-crystal-design-system-radio-button.mjs.map +1 -1
  113. package/fesm2022/mis-crystal-design-system-ske-loader.mjs +14 -28
  114. package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +1 -1
  115. package/fesm2022/mis-crystal-design-system-slider.mjs +25 -42
  116. package/fesm2022/mis-crystal-design-system-slider.mjs.map +1 -1
  117. package/fesm2022/mis-crystal-design-system-snackbar.mjs +22 -15
  118. package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +1 -1
  119. package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs +305 -446
  120. package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -1
  121. package/fesm2022/mis-crystal-design-system-star-rating.mjs +57 -71
  122. package/fesm2022/mis-crystal-design-system-star-rating.mjs.map +1 -1
  123. package/fesm2022/mis-crystal-design-system-switch.mjs +33 -35
  124. package/fesm2022/mis-crystal-design-system-switch.mjs.map +1 -1
  125. package/fesm2022/mis-crystal-design-system-table.mjs +368 -324
  126. package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
  127. package/fesm2022/mis-crystal-design-system-timepicker.mjs +246 -160
  128. package/fesm2022/mis-crystal-design-system-timepicker.mjs.map +1 -1
  129. package/fesm2022/mis-crystal-design-system-timerangepicker.mjs +199 -158
  130. package/fesm2022/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
  131. package/fesm2022/mis-crystal-design-system-toast.mjs +19 -14
  132. package/fesm2022/mis-crystal-design-system-toast.mjs.map +1 -1
  133. package/fesm2022/mis-crystal-design-system-tooltip.mjs +14 -14
  134. package/fesm2022/mis-crystal-design-system-tooltip.mjs.map +1 -1
  135. package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs +57 -59
  136. package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs.map +1 -1
  137. package/fesm2022/mis-crystal-design-system.mjs.map +1 -1
  138. package/filter/filter-panel/filter-panel.component.d.ts +14 -14
  139. package/input/directives/input/input.directive.d.ts +6 -10
  140. package/input/mis-input.component.d.ts +12 -13
  141. package/input/mis-input.component.scss +18 -18
  142. package/input-stepper/input-stepper/input-stepper.component.d.ts +8 -7
  143. package/loader/loader.component.d.ts +3 -6
  144. package/mobile-filter/mobile-filter.component.d.ts +15 -15
  145. package/modal/modal.scss +1 -1
  146. package/modal/module-wrapper/module-wrapper.component.d.ts +2 -3
  147. package/multi-select-dropdown/multi-select-dropdown.component.d.ts +89 -51
  148. package/nested-multi-select-dropdown/nested-multi-select-dropdown.component.d.ts +99 -56
  149. package/package.json +17 -23
  150. package/phone-input/phone-input.component.d.ts +16 -18
  151. package/radio-button/radio-button.component.d.ts +9 -11
  152. package/ske-loader/ske-loader.component.d.ts +8 -11
  153. package/slider/slider.component.d.ts +8 -11
  154. package/slider/slider.module.d.ts +1 -2
  155. package/snackbar/snackbar/snackbar.component.d.ts +3 -3
  156. package/specificdatepicker/tz-sdp-container/tz-sdp-container.component.d.ts +35 -35
  157. package/specificdatepicker/tz-specificdatepicker.directive.d.ts +24 -28
  158. package/star-rating/star-rating.component.d.ts +18 -18
  159. package/styles/mis-color-constants.scss +0 -204
  160. package/styles/mis-icons.scss +56 -56
  161. package/styles/mis-old-icon-styles.scss +21 -21
  162. package/switch/switch.component.d.ts +8 -10
  163. package/table/actions-cell/actions-cell.component.d.ts +14 -14
  164. package/table/custom-table-cell.directive.d.ts +3 -3
  165. package/table/filter/filter.component.d.ts +9 -9
  166. package/table/sub-table/sub-table.component.d.ts +5 -5
  167. package/table/table.component.d.ts +38 -35
  168. package/timepicker/timepicker.component.d.ts +29 -28
  169. package/timerangepicker/timerangepicker.component.d.ts +36 -33
  170. package/toast/toast.data.service.d.ts +1 -1
  171. package/tooltip/tooltip-container/tooltip.component.d.ts +4 -4
  172. package/virtual-scroll/virtual-scroll.component.d.ts +8 -9
  173. package/dynamic-theme/branding.types.d.ts +0 -84
  174. package/dynamic-theme/dynamic-theme.module.d.ts +0 -9
  175. package/dynamic-theme/dynamic-theme.service.d.ts +0 -89
  176. package/dynamic-theme/index.d.ts +0 -1
  177. package/dynamic-theme/public_api.d.ts +0 -3
  178. package/esm2022/dynamic-theme/branding.types.mjs +0 -93
  179. package/esm2022/dynamic-theme/dynamic-theme.module.mjs +0 -25
  180. package/esm2022/dynamic-theme/dynamic-theme.service.mjs +0 -193
  181. package/esm2022/dynamic-theme/index.mjs +0 -2
  182. package/esm2022/dynamic-theme/mis-crystal-design-system-dynamic-theme.mjs +0 -5
  183. package/esm2022/dynamic-theme/public_api.mjs +0 -4
  184. package/fesm2022/mis-crystal-design-system-dynamic-theme.mjs +0 -313
  185. package/fesm2022/mis-crystal-design-system-dynamic-theme.mjs.map +0 -1
@@ -1,28 +1,27 @@
1
- import { ChangeDetectorRef, EventEmitter, OnInit, TemplateRef } from "@angular/core";
1
+ import { ChangeDetectorRef, EventEmitter, TemplateRef, WritableSignal } from "@angular/core";
2
2
  import { CdkVirtualScrollViewport } from "@angular/cdk/scrolling";
3
3
  import { BehaviorSubject, Observable } from "rxjs";
4
4
  import { IVirtualScrollConfig } from "./virtual-scroll.constants";
5
5
  import * as i0 from "@angular/core";
6
- export declare class VirtualScrollComponent implements OnInit {
6
+ export declare class VirtualScrollComponent {
7
7
  private changeDetectorRef;
8
+ config: import("@angular/core").InputSignal<IVirtualScrollConfig>;
8
9
  offset: BehaviorSubject<any>;
9
- endOfInfiniteData: boolean;
10
- rowsLoading: boolean;
11
- loading: boolean;
12
- error: boolean;
10
+ endOfInfiniteData: WritableSignal<boolean>;
11
+ rowsLoading: WritableSignal<boolean>;
12
+ loading: WritableSignal<boolean>;
13
+ error: WritableSignal<boolean>;
13
14
  data$: Observable<any>;
14
- config: IVirtualScrollConfig;
15
15
  viewPort: CdkVirtualScrollViewport;
16
16
  customItem: TemplateRef<Element>;
17
17
  intialized: EventEmitter<any>;
18
18
  virtualScrollApi: any;
19
19
  constructor(changeDetectorRef: ChangeDetectorRef);
20
- ngOnInit(): void;
21
20
  switchOffInfiniteScroll: () => void;
22
21
  switchOnInfiniteScroll: () => void;
23
22
  setupInfiniteScroll(): void;
24
23
  nextBatch(offset: any): void;
25
24
  getBatch(offset: any): Observable<any>;
26
25
  static ɵfac: i0.ɵɵFactoryDeclaration<VirtualScrollComponent, never>;
27
- static ɵcmp: i0.ɵɵComponentDeclaration<VirtualScrollComponent, "mis-virtual-scroll", never, { "config": { "alias": "config"; "required": false; }; }, { "intialized": "intialized"; }, ["customItem"], never, false, never>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<VirtualScrollComponent, "mis-virtual-scroll", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; }, { "intialized": "intialized"; }, ["customItem"], never, false, never>;
28
27
  }
@@ -1,84 +0,0 @@
1
- export declare namespace BrandingTypes {
2
- interface ThemeColors {
3
- brandPrimary: string;
4
- brandPrimaryLight: string;
5
- brandPrimaryDark: string;
6
- brandPrimaryDarker: string;
7
- brandPrimaryLighter: string;
8
- brandPrimaryLightest: string;
9
- brandPrimaryHover: string;
10
- brandPrimaryActive: string;
11
- brandSecondary: string;
12
- brandSecondaryLight: string;
13
- brandSecondaryDark: string;
14
- brandSecondaryLighter: string;
15
- brandAccent: string;
16
- brandAccentLight: string;
17
- brandAccentDark: string;
18
- brandAccentLighter: string;
19
- brandSuccess: string;
20
- brandSuccessLight: string;
21
- brandSuccessDark: string;
22
- brandSuccessLighter: string;
23
- brandSuccessLightest: string;
24
- brandError: string;
25
- brandErrorLight: string;
26
- brandErrorDark: string;
27
- brandErrorLighter: string;
28
- brandErrorLightest: string;
29
- brandWarning: string;
30
- brandWarningLight: string;
31
- brandWarningDark: string;
32
- brandWarningLighter: string;
33
- brandWarningLightest: string;
34
- brandInfo: string;
35
- brandInfoLight: string;
36
- brandInfoDark: string;
37
- brandInfoLighter: string;
38
- textPrimary: string;
39
- textSecondary: string;
40
- textTertiary: string;
41
- textDisabled: string;
42
- textPrimary87: string;
43
- textPrimary60: string;
44
- textPrimary38: string;
45
- textPrimary12: string;
46
- bgPrimary: string;
47
- bgSecondary: string;
48
- bgTertiary: string;
49
- bgOverlay: string;
50
- bgOverlayLight: string;
51
- bgOverlayLighter: string;
52
- bgOverlayLightest: string;
53
- borderPrimary: string;
54
- borderSecondary: string;
55
- borderTertiary: string;
56
- borderLight: string;
57
- borderPrimary12: string;
58
- borderPrimary08: string;
59
- borderPrimary06: string;
60
- shadowPrimary: string;
61
- shadowSecondary: string;
62
- shadowTertiary: string;
63
- shadowLight: string;
64
- statusAvailable: string;
65
- statusUnavailable: string;
66
- statusHotseat: string;
67
- statusMultiteam: string;
68
- statusSelected: string;
69
- statusUpcoming: string;
70
- statusRoom: string;
71
- statusRoomBooked: string;
72
- statusRoomUnavailable: string;
73
- teamColor1: string;
74
- teamColor2: string;
75
- teamColor3: string;
76
- teamColor4: string;
77
- teamColor5: string;
78
- teamColor6: string;
79
- teamColor7: string;
80
- teamColor8: string;
81
- teamColor9: string;
82
- }
83
- const defaultTheme: ThemeColors;
84
- }
@@ -1,9 +0,0 @@
1
- import { DynamicThemeService } from './dynamic-theme.service';
2
- import * as i0 from "@angular/core";
3
- export declare class DynamicThemeModule {
4
- private themeService;
5
- constructor(themeService: DynamicThemeService);
6
- static ɵfac: i0.ɵɵFactoryDeclaration<DynamicThemeModule, never>;
7
- static ɵmod: i0.ɵɵNgModuleDeclaration<DynamicThemeModule, never, never, never>;
8
- static ɵinj: i0.ɵɵInjectorDeclaration<DynamicThemeModule>;
9
- }
@@ -1,89 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { BrandingTypes } from './branding.types';
3
- import * as i0 from "@angular/core";
4
- export declare class DynamicThemeService {
5
- private currentThemeSubject;
6
- currentTheme$: Observable<BrandingTypes.ThemeColors>;
7
- constructor();
8
- /**
9
- * Apply a complete theme configuration to the root element
10
- * @param theme - ThemeColors object containing all color values
11
- */
12
- applyTheme(theme: BrandingTypes.ThemeColors): void;
13
- /**
14
- * Apply partial theme updates (only specified colors will be updated)
15
- * @param partialTheme - Partial ThemeColors object with only the colors to update
16
- */
17
- applyPartialTheme(partialTheme: Partial<BrandingTypes.ThemeColors>): void;
18
- /**
19
- * Set a single color property
20
- * @param colorKey - The camelCase key of the color property
21
- * @param colorValue - The color value (hex, rgb, rgba, etc.)
22
- */
23
- setColorProperty(colorKey: keyof BrandingTypes.ThemeColors, colorValue: string): void;
24
- /**
25
- * Get the current theme colors
26
- * @returns Current ThemeColors object
27
- */
28
- getCurrentTheme(): BrandingTypes.ThemeColors;
29
- /**
30
- * Get a specific color value from the current theme
31
- * @param colorKey - The camelCase key of the color property
32
- * @returns The color value as string
33
- */
34
- getColorProperty(colorKey: keyof BrandingTypes.ThemeColors): string;
35
- /**
36
- * Reset theme to default values
37
- */
38
- resetToDefault(): void;
39
- /**
40
- * Remove a specific CSS custom property from the root element
41
- * @param colorKey - The camelCase key of the color property to remove
42
- */
43
- removeColorProperty(colorKey: keyof BrandingTypes.ThemeColors): void;
44
- /**
45
- * Get all CSS custom properties currently set on the root element
46
- * @returns Object with CSS variable names as keys and their values
47
- */
48
- getAllCSSVariables(): Record<string, string>;
49
- /**
50
- * Apply theme with validation
51
- * @param theme - ThemeColors object to validate and apply
52
- * @returns boolean indicating if the theme was successfully applied
53
- */
54
- applyThemeWithValidation(theme: BrandingTypes.ThemeColors): boolean;
55
- /**
56
- * Convert camelCase to kebab-case for CSS custom properties
57
- * @param camelCase - The camelCase string to convert
58
- * @returns kebab-case string
59
- */
60
- private camelToKebabCase;
61
- /**
62
- * Convert kebab-case to camelCase
63
- * @param kebabCase - The kebab-case string to convert
64
- * @returns camelCase string
65
- */
66
- private kebabToCamelCase;
67
- /**
68
- * Create a theme preset from current applied theme
69
- * @param presetName - Name for the theme preset
70
- * @returns Theme preset object
71
- */
72
- createThemePreset(presetName: string): {
73
- name: string;
74
- theme: BrandingTypes.ThemeColors;
75
- };
76
- /**
77
- * Export current theme as JSON string
78
- * @returns JSON string representation of current theme
79
- */
80
- exportThemeAsJSON(): string;
81
- /**
82
- * Import theme from JSON string
83
- * @param jsonString - JSON string representation of theme
84
- * @returns boolean indicating success
85
- */
86
- importThemeFromJSON(jsonString: string): boolean;
87
- static ɵfac: i0.ɵɵFactoryDeclaration<DynamicThemeService, never>;
88
- static ɵprov: i0.ɵɵInjectableDeclaration<DynamicThemeService>;
89
- }
@@ -1 +0,0 @@
1
- export * from "./public_api";
@@ -1,3 +0,0 @@
1
- export { BrandingTypes } from './branding.types';
2
- export { DynamicThemeService } from './dynamic-theme.service';
3
- export { DynamicThemeModule } from './dynamic-theme.module';
@@ -1,93 +0,0 @@
1
- export var BrandingTypes;
2
- (function (BrandingTypes) {
3
- BrandingTypes.defaultTheme = {
4
- // Brand
5
- brandPrimary: "#0937B2",
6
- brandPrimaryLight: "#3C68D0",
7
- brandPrimaryDark: "#062A99",
8
- brandPrimaryDarker: "#041F80",
9
- brandPrimaryLighter: "#638FE7",
10
- brandPrimaryLightest: "#CBDDFB",
11
- brandPrimaryHover: "#F0F3FA",
12
- brandPrimaryActive: "#DAE1F3",
13
- brandSecondary: "#ED711C",
14
- brandSecondaryLight: "#F09E65",
15
- brandSecondaryDark: "#B23600",
16
- brandSecondaryLighter: "#FFC6F2",
17
- brandAccent: "#10ADAE",
18
- brandAccentLight: "#16CBBC",
19
- brandAccentDark: "#035F6B",
20
- brandAccentLighter: "#ACDADA",
21
- // Semantic
22
- brandSuccess: "#38AF49",
23
- brandSuccessLight: "#4CAF50",
24
- brandSuccessDark: "#216531",
25
- brandSuccessLighter: "#E4F5E9",
26
- brandSuccessLightest: "#F1FFF3",
27
- brandError: "#B00020",
28
- brandErrorLight: "#F04E4E",
29
- brandErrorDark: "#A60060",
30
- brandErrorLighter: "#FAE1EA",
31
- brandErrorLightest: "#FDF2F2",
32
- brandWarning: "#FF9D00",
33
- brandWarningLight: "#D4900C",
34
- brandWarningDark: "#624000",
35
- brandWarningLighter: "#F4E7C3",
36
- brandWarningLightest: "#FAEFED",
37
- brandInfo: "#0091FF",
38
- brandInfoLight: "#35A1FF",
39
- brandInfoDark: "#0087B2",
40
- brandInfoLighter: "#CFECF9",
41
- // Text
42
- textPrimary: "#181F33",
43
- textSecondary: "#6A737D",
44
- textTertiary: "#929DAB",
45
- textDisabled: "#C8CDD3",
46
- textPrimary87: "rgba(24, 31, 51, 0.87)",
47
- textPrimary60: "rgba(24, 31, 51, 0.60)",
48
- textPrimary38: "rgba(24, 31, 51, 0.38)",
49
- textPrimary12: "rgba(24, 31, 51, 0.12)",
50
- // Background
51
- bgPrimary: "#FFFFFF",
52
- bgSecondary: "#FAFAFA",
53
- bgTertiary: "#F5F5F5",
54
- bgOverlay: "rgba(0, 0, 0, 0.32)",
55
- bgOverlayLight: "rgba(0, 0, 0, 0.12)",
56
- bgOverlayLighter: "rgba(0, 0, 0, 0.08)",
57
- bgOverlayLightest: "rgba(0, 0, 0, 0.04)",
58
- // Border
59
- borderPrimary: "#E0E0E0",
60
- borderSecondary: "#D6DCE2",
61
- borderTertiary: "#C8CDD3",
62
- borderLight: "#F1F4F8",
63
- borderPrimary12: "rgba(0, 0, 0, 0.12)",
64
- borderPrimary08: "rgba(0, 0, 0, 0.08)",
65
- borderPrimary06: "rgba(0, 0, 0, 0.06)",
66
- // Shadows
67
- shadowPrimary: "rgba(0, 0, 0, 0.12)",
68
- shadowSecondary: "rgba(0, 0, 0, 0.08)",
69
- shadowTertiary: "rgba(0, 0, 0, 0.04)",
70
- shadowLight: "rgba(0, 0, 0, 0.06)",
71
- // Status
72
- statusAvailable: "#929DAB",
73
- statusUnavailable: "#CCD3DA",
74
- statusHotseat: "#857BFF",
75
- statusMultiteam: "#10ADAE",
76
- statusSelected: "#10ADAE",
77
- statusUpcoming: "#D4900C",
78
- statusRoom: "#38AF49",
79
- statusRoomBooked: "#B23600",
80
- statusRoomUnavailable: "#181F33",
81
- // Team
82
- teamColor1: "#F8C52E",
83
- teamColor2: "#FA8E20",
84
- teamColor3: "#987CDD",
85
- teamColor4: "#16CBBC",
86
- teamColor5: "#E65010",
87
- teamColor6: "#A60060",
88
- teamColor7: "#ED323B",
89
- teamColor8: "#35A1FF",
90
- teamColor9: "#80D348",
91
- };
92
- })(BrandingTypes || (BrandingTypes = {}));
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhbmRpbmcudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9keW5hbWljLXRoZW1lL2JyYW5kaW5nLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sS0FBVyxhQUFhLENBK003QjtBQS9NRCxXQUFpQixhQUFhO0lBeUdmLDBCQUFZLEdBQWdCO1FBQ3ZDLFFBQVE7UUFDUixZQUFZLEVBQUUsU0FBUztRQUN2QixpQkFBaUIsRUFBRSxTQUFTO1FBQzVCLGdCQUFnQixFQUFFLFNBQVM7UUFDM0Isa0JBQWtCLEVBQUUsU0FBUztRQUM3QixtQkFBbUIsRUFBRSxTQUFTO1FBQzlCLG9CQUFvQixFQUFFLFNBQVM7UUFDL0IsaUJBQWlCLEVBQUUsU0FBUztRQUM1QixrQkFBa0IsRUFBRSxTQUFTO1FBRTdCLGNBQWMsRUFBRSxTQUFTO1FBQ3pCLG1CQUFtQixFQUFFLFNBQVM7UUFDOUIsa0JBQWtCLEVBQUUsU0FBUztRQUM3QixxQkFBcUIsRUFBRSxTQUFTO1FBRWhDLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLGdCQUFnQixFQUFFLFNBQVM7UUFDM0IsZUFBZSxFQUFFLFNBQVM7UUFDMUIsa0JBQWtCLEVBQUUsU0FBUztRQUU3QixXQUFXO1FBQ1gsWUFBWSxFQUFFLFNBQVM7UUFDdkIsaUJBQWlCLEVBQUUsU0FBUztRQUM1QixnQkFBZ0IsRUFBRSxTQUFTO1FBQzNCLG1CQUFtQixFQUFFLFNBQVM7UUFDOUIsb0JBQW9CLEVBQUUsU0FBUztRQUUvQixVQUFVLEVBQUUsU0FBUztRQUNyQixlQUFlLEVBQUUsU0FBUztRQUMxQixjQUFjLEVBQUUsU0FBUztRQUN6QixpQkFBaUIsRUFBRSxTQUFTO1FBQzVCLGtCQUFrQixFQUFFLFNBQVM7UUFFN0IsWUFBWSxFQUFFLFNBQVM7UUFDdkIsaUJBQWlCLEVBQUUsU0FBUztRQUM1QixnQkFBZ0IsRUFBRSxTQUFTO1FBQzNCLG1CQUFtQixFQUFFLFNBQVM7UUFDOUIsb0JBQW9CLEVBQUUsU0FBUztRQUUvQixTQUFTLEVBQUUsU0FBUztRQUNwQixjQUFjLEVBQUUsU0FBUztRQUN6QixhQUFhLEVBQUUsU0FBUztRQUN4QixnQkFBZ0IsRUFBRSxTQUFTO1FBRTNCLE9BQU87UUFDUCxXQUFXLEVBQUUsU0FBUztRQUN0QixhQUFhLEVBQUUsU0FBUztRQUN4QixZQUFZLEVBQUUsU0FBUztRQUN2QixZQUFZLEVBQUUsU0FBUztRQUV2QixhQUFhLEVBQUUsd0JBQXdCO1FBQ3ZDLGFBQWEsRUFBRSx3QkFBd0I7UUFDdkMsYUFBYSxFQUFFLHdCQUF3QjtRQUN2QyxhQUFhLEVBQUUsd0JBQXdCO1FBRXZDLGFBQWE7UUFDYixTQUFTLEVBQUUsU0FBUztRQUNwQixXQUFXLEVBQUUsU0FBUztRQUN0QixVQUFVLEVBQUUsU0FBUztRQUNyQixTQUFTLEVBQUUscUJBQXFCO1FBQ2hDLGNBQWMsRUFBRSxxQkFBcUI7UUFDckMsZ0JBQWdCLEVBQUUscUJBQXFCO1FBQ3ZDLGlCQUFpQixFQUFFLHFCQUFxQjtRQUV4QyxTQUFTO1FBQ1QsYUFBYSxFQUFFLFNBQVM7UUFDeEIsZUFBZSxFQUFFLFNBQVM7UUFDMUIsY0FBYyxFQUFFLFNBQVM7UUFDekIsV0FBVyxFQUFFLFNBQVM7UUFDdEIsZUFBZSxFQUFFLHFCQUFxQjtRQUN0QyxlQUFlLEVBQUUscUJBQXFCO1FBQ3RDLGVBQWUsRUFBRSxxQkFBcUI7UUFFdEMsVUFBVTtRQUNWLGFBQWEsRUFBRSxxQkFBcUI7UUFDcEMsZUFBZSxFQUFFLHFCQUFxQjtRQUN0QyxjQUFjLEVBQUUscUJBQXFCO1FBQ3JDLFdBQVcsRUFBRSxxQkFBcUI7UUFFbEMsU0FBUztRQUNULGVBQWUsRUFBRSxTQUFTO1FBQzFCLGlCQUFpQixFQUFFLFNBQVM7UUFDNUIsYUFBYSxFQUFFLFNBQVM7UUFDeEIsZUFBZSxFQUFFLFNBQVM7UUFDMUIsY0FBYyxFQUFFLFNBQVM7UUFDekIsY0FBYyxFQUFFLFNBQVM7UUFDekIsVUFBVSxFQUFFLFNBQVM7UUFDckIsZ0JBQWdCLEVBQUUsU0FBUztRQUMzQixxQkFBcUIsRUFBRSxTQUFTO1FBRWhDLE9BQU87UUFDUCxVQUFVLEVBQUUsU0FBUztRQUNyQixVQUFVLEVBQUUsU0FBUztRQUNyQixVQUFVLEVBQUUsU0FBUztRQUNyQixVQUFVLEVBQUUsU0FBUztRQUNyQixVQUFVLEVBQUUsU0FBUztRQUNyQixVQUFVLEVBQUUsU0FBUztRQUNyQixVQUFVLEVBQUUsU0FBUztRQUNyQixVQUFVLEVBQUUsU0FBUztRQUNyQixVQUFVLEVBQUUsU0FBUztLQUN0QixDQUFDO0FBQ0osQ0FBQyxFQS9NZ0IsYUFBYSxLQUFiLGFBQWEsUUErTTdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IG5hbWVzcGFjZSBCcmFuZGluZ1R5cGVzIHtcblxuICBleHBvcnQgaW50ZXJmYWNlIFRoZW1lQ29sb3JzIHtcbiAgICAvLyBCcmFuZFxuICAgIGJyYW5kUHJpbWFyeTogc3RyaW5nO1xuICAgIGJyYW5kUHJpbWFyeUxpZ2h0OiBzdHJpbmc7XG4gICAgYnJhbmRQcmltYXJ5RGFyazogc3RyaW5nO1xuICAgIGJyYW5kUHJpbWFyeURhcmtlcjogc3RyaW5nO1xuICAgIGJyYW5kUHJpbWFyeUxpZ2h0ZXI6IHN0cmluZztcbiAgICBicmFuZFByaW1hcnlMaWdodGVzdDogc3RyaW5nO1xuICAgIGJyYW5kUHJpbWFyeUhvdmVyOiBzdHJpbmc7XG4gICAgYnJhbmRQcmltYXJ5QWN0aXZlOiBzdHJpbmc7XG5cbiAgICBicmFuZFNlY29uZGFyeTogc3RyaW5nO1xuICAgIGJyYW5kU2Vjb25kYXJ5TGlnaHQ6IHN0cmluZztcbiAgICBicmFuZFNlY29uZGFyeURhcms6IHN0cmluZztcbiAgICBicmFuZFNlY29uZGFyeUxpZ2h0ZXI6IHN0cmluZztcblxuICAgIGJyYW5kQWNjZW50OiBzdHJpbmc7XG4gICAgYnJhbmRBY2NlbnRMaWdodDogc3RyaW5nO1xuICAgIGJyYW5kQWNjZW50RGFyazogc3RyaW5nO1xuICAgIGJyYW5kQWNjZW50TGlnaHRlcjogc3RyaW5nO1xuXG4gICAgLy8gU2VtYW50aWNcbiAgICBicmFuZFN1Y2Nlc3M6IHN0cmluZztcbiAgICBicmFuZFN1Y2Nlc3NMaWdodDogc3RyaW5nO1xuICAgIGJyYW5kU3VjY2Vzc0Rhcms6IHN0cmluZztcbiAgICBicmFuZFN1Y2Nlc3NMaWdodGVyOiBzdHJpbmc7XG4gICAgYnJhbmRTdWNjZXNzTGlnaHRlc3Q6IHN0cmluZztcblxuICAgIGJyYW5kRXJyb3I6IHN0cmluZztcbiAgICBicmFuZEVycm9yTGlnaHQ6IHN0cmluZztcbiAgICBicmFuZEVycm9yRGFyazogc3RyaW5nO1xuICAgIGJyYW5kRXJyb3JMaWdodGVyOiBzdHJpbmc7XG4gICAgYnJhbmRFcnJvckxpZ2h0ZXN0OiBzdHJpbmc7XG5cbiAgICBicmFuZFdhcm5pbmc6IHN0cmluZztcbiAgICBicmFuZFdhcm5pbmdMaWdodDogc3RyaW5nO1xuICAgIGJyYW5kV2FybmluZ0Rhcms6IHN0cmluZztcbiAgICBicmFuZFdhcm5pbmdMaWdodGVyOiBzdHJpbmc7XG4gICAgYnJhbmRXYXJuaW5nTGlnaHRlc3Q6IHN0cmluZztcblxuICAgIGJyYW5kSW5mbzogc3RyaW5nO1xuICAgIGJyYW5kSW5mb0xpZ2h0OiBzdHJpbmc7XG4gICAgYnJhbmRJbmZvRGFyazogc3RyaW5nO1xuICAgIGJyYW5kSW5mb0xpZ2h0ZXI6IHN0cmluZztcblxuICAgIC8vIFRleHRcbiAgICB0ZXh0UHJpbWFyeTogc3RyaW5nO1xuICAgIHRleHRTZWNvbmRhcnk6IHN0cmluZztcbiAgICB0ZXh0VGVydGlhcnk6IHN0cmluZztcbiAgICB0ZXh0RGlzYWJsZWQ6IHN0cmluZztcblxuICAgIHRleHRQcmltYXJ5ODc6IHN0cmluZztcbiAgICB0ZXh0UHJpbWFyeTYwOiBzdHJpbmc7XG4gICAgdGV4dFByaW1hcnkzODogc3RyaW5nO1xuICAgIHRleHRQcmltYXJ5MTI6IHN0cmluZztcblxuICAgIC8vIEJhY2tncm91bmRcbiAgICBiZ1ByaW1hcnk6IHN0cmluZztcbiAgICBiZ1NlY29uZGFyeTogc3RyaW5nO1xuICAgIGJnVGVydGlhcnk6IHN0cmluZztcbiAgICBiZ092ZXJsYXk6IHN0cmluZztcbiAgICBiZ092ZXJsYXlMaWdodDogc3RyaW5nO1xuICAgIGJnT3ZlcmxheUxpZ2h0ZXI6IHN0cmluZztcbiAgICBiZ092ZXJsYXlMaWdodGVzdDogc3RyaW5nO1xuXG4gICAgLy8gQm9yZGVyXG4gICAgYm9yZGVyUHJpbWFyeTogc3RyaW5nO1xuICAgIGJvcmRlclNlY29uZGFyeTogc3RyaW5nO1xuICAgIGJvcmRlclRlcnRpYXJ5OiBzdHJpbmc7XG4gICAgYm9yZGVyTGlnaHQ6IHN0cmluZztcbiAgICBib3JkZXJQcmltYXJ5MTI6IHN0cmluZztcbiAgICBib3JkZXJQcmltYXJ5MDg6IHN0cmluZztcbiAgICBib3JkZXJQcmltYXJ5MDY6IHN0cmluZztcblxuICAgIC8vIFNoYWRvd3NcbiAgICBzaGFkb3dQcmltYXJ5OiBzdHJpbmc7XG4gICAgc2hhZG93U2Vjb25kYXJ5OiBzdHJpbmc7XG4gICAgc2hhZG93VGVydGlhcnk6IHN0cmluZztcbiAgICBzaGFkb3dMaWdodDogc3RyaW5nO1xuXG4gICAgLy8gU3RhdHVzXG4gICAgc3RhdHVzQXZhaWxhYmxlOiBzdHJpbmc7XG4gICAgc3RhdHVzVW5hdmFpbGFibGU6IHN0cmluZztcbiAgICBzdGF0dXNIb3RzZWF0OiBzdHJpbmc7XG4gICAgc3RhdHVzTXVsdGl0ZWFtOiBzdHJpbmc7XG4gICAgc3RhdHVzU2VsZWN0ZWQ6IHN0cmluZztcbiAgICBzdGF0dXNVcGNvbWluZzogc3RyaW5nO1xuICAgIHN0YXR1c1Jvb206IHN0cmluZztcbiAgICBzdGF0dXNSb29tQm9va2VkOiBzdHJpbmc7XG4gICAgc3RhdHVzUm9vbVVuYXZhaWxhYmxlOiBzdHJpbmc7XG5cbiAgICAvLyBUZWFtXG4gICAgdGVhbUNvbG9yMTogc3RyaW5nO1xuICAgIHRlYW1Db2xvcjI6IHN0cmluZztcbiAgICB0ZWFtQ29sb3IzOiBzdHJpbmc7XG4gICAgdGVhbUNvbG9yNDogc3RyaW5nO1xuICAgIHRlYW1Db2xvcjU6IHN0cmluZztcbiAgICB0ZWFtQ29sb3I2OiBzdHJpbmc7XG4gICAgdGVhbUNvbG9yNzogc3RyaW5nO1xuICAgIHRlYW1Db2xvcjg6IHN0cmluZztcbiAgICB0ZWFtQ29sb3I5OiBzdHJpbmc7XG4gIH1cbiAgXG4gIGV4cG9ydCBjb25zdCBkZWZhdWx0VGhlbWU6IFRoZW1lQ29sb3JzID0ge1xuICAgIC8vIEJyYW5kXG4gICAgYnJhbmRQcmltYXJ5OiBcIiMwOTM3QjJcIixcbiAgICBicmFuZFByaW1hcnlMaWdodDogXCIjM0M2OEQwXCIsXG4gICAgYnJhbmRQcmltYXJ5RGFyazogXCIjMDYyQTk5XCIsXG4gICAgYnJhbmRQcmltYXJ5RGFya2VyOiBcIiMwNDFGODBcIixcbiAgICBicmFuZFByaW1hcnlMaWdodGVyOiBcIiM2MzhGRTdcIixcbiAgICBicmFuZFByaW1hcnlMaWdodGVzdDogXCIjQ0JEREZCXCIsXG4gICAgYnJhbmRQcmltYXJ5SG92ZXI6IFwiI0YwRjNGQVwiLFxuICAgIGJyYW5kUHJpbWFyeUFjdGl2ZTogXCIjREFFMUYzXCIsXG4gIFxuICAgIGJyYW5kU2Vjb25kYXJ5OiBcIiNFRDcxMUNcIixcbiAgICBicmFuZFNlY29uZGFyeUxpZ2h0OiBcIiNGMDlFNjVcIixcbiAgICBicmFuZFNlY29uZGFyeURhcms6IFwiI0IyMzYwMFwiLFxuICAgIGJyYW5kU2Vjb25kYXJ5TGlnaHRlcjogXCIjRkZDNkYyXCIsXG4gIFxuICAgIGJyYW5kQWNjZW50OiBcIiMxMEFEQUVcIixcbiAgICBicmFuZEFjY2VudExpZ2h0OiBcIiMxNkNCQkNcIixcbiAgICBicmFuZEFjY2VudERhcms6IFwiIzAzNUY2QlwiLFxuICAgIGJyYW5kQWNjZW50TGlnaHRlcjogXCIjQUNEQURBXCIsXG4gIFxuICAgIC8vIFNlbWFudGljXG4gICAgYnJhbmRTdWNjZXNzOiBcIiMzOEFGNDlcIixcbiAgICBicmFuZFN1Y2Nlc3NMaWdodDogXCIjNENBRjUwXCIsXG4gICAgYnJhbmRTdWNjZXNzRGFyazogXCIjMjE2NTMxXCIsXG4gICAgYnJhbmRTdWNjZXNzTGlnaHRlcjogXCIjRTRGNUU5XCIsXG4gICAgYnJhbmRTdWNjZXNzTGlnaHRlc3Q6IFwiI0YxRkZGM1wiLFxuICBcbiAgICBicmFuZEVycm9yOiBcIiNCMDAwMjBcIixcbiAgICBicmFuZEVycm9yTGlnaHQ6IFwiI0YwNEU0RVwiLFxuICAgIGJyYW5kRXJyb3JEYXJrOiBcIiNBNjAwNjBcIixcbiAgICBicmFuZEVycm9yTGlnaHRlcjogXCIjRkFFMUVBXCIsXG4gICAgYnJhbmRFcnJvckxpZ2h0ZXN0OiBcIiNGREYyRjJcIixcbiAgXG4gICAgYnJhbmRXYXJuaW5nOiBcIiNGRjlEMDBcIixcbiAgICBicmFuZFdhcm5pbmdMaWdodDogXCIjRDQ5MDBDXCIsXG4gICAgYnJhbmRXYXJuaW5nRGFyazogXCIjNjI0MDAwXCIsXG4gICAgYnJhbmRXYXJuaW5nTGlnaHRlcjogXCIjRjRFN0MzXCIsXG4gICAgYnJhbmRXYXJuaW5nTGlnaHRlc3Q6IFwiI0ZBRUZFRFwiLFxuICBcbiAgICBicmFuZEluZm86IFwiIzAwOTFGRlwiLFxuICAgIGJyYW5kSW5mb0xpZ2h0OiBcIiMzNUExRkZcIixcbiAgICBicmFuZEluZm9EYXJrOiBcIiMwMDg3QjJcIixcbiAgICBicmFuZEluZm9MaWdodGVyOiBcIiNDRkVDRjlcIixcbiAgXG4gICAgLy8gVGV4dFxuICAgIHRleHRQcmltYXJ5OiBcIiMxODFGMzNcIixcbiAgICB0ZXh0U2Vjb25kYXJ5OiBcIiM2QTczN0RcIixcbiAgICB0ZXh0VGVydGlhcnk6IFwiIzkyOURBQlwiLFxuICAgIHRleHREaXNhYmxlZDogXCIjQzhDREQzXCIsXG4gIFxuICAgIHRleHRQcmltYXJ5ODc6IFwicmdiYSgyNCwgMzEsIDUxLCAwLjg3KVwiLFxuICAgIHRleHRQcmltYXJ5NjA6IFwicmdiYSgyNCwgMzEsIDUxLCAwLjYwKVwiLFxuICAgIHRleHRQcmltYXJ5Mzg6IFwicmdiYSgyNCwgMzEsIDUxLCAwLjM4KVwiLFxuICAgIHRleHRQcmltYXJ5MTI6IFwicmdiYSgyNCwgMzEsIDUxLCAwLjEyKVwiLFxuICBcbiAgICAvLyBCYWNrZ3JvdW5kXG4gICAgYmdQcmltYXJ5OiBcIiNGRkZGRkZcIixcbiAgICBiZ1NlY29uZGFyeTogXCIjRkFGQUZBXCIsXG4gICAgYmdUZXJ0aWFyeTogXCIjRjVGNUY1XCIsXG4gICAgYmdPdmVybGF5OiBcInJnYmEoMCwgMCwgMCwgMC4zMilcIixcbiAgICBiZ092ZXJsYXlMaWdodDogXCJyZ2JhKDAsIDAsIDAsIDAuMTIpXCIsXG4gICAgYmdPdmVybGF5TGlnaHRlcjogXCJyZ2JhKDAsIDAsIDAsIDAuMDgpXCIsXG4gICAgYmdPdmVybGF5TGlnaHRlc3Q6IFwicmdiYSgwLCAwLCAwLCAwLjA0KVwiLFxuICBcbiAgICAvLyBCb3JkZXJcbiAgICBib3JkZXJQcmltYXJ5OiBcIiNFMEUwRTBcIixcbiAgICBib3JkZXJTZWNvbmRhcnk6IFwiI0Q2RENFMlwiLFxuICAgIGJvcmRlclRlcnRpYXJ5OiBcIiNDOENERDNcIixcbiAgICBib3JkZXJMaWdodDogXCIjRjFGNEY4XCIsXG4gICAgYm9yZGVyUHJpbWFyeTEyOiBcInJnYmEoMCwgMCwgMCwgMC4xMilcIixcbiAgICBib3JkZXJQcmltYXJ5MDg6IFwicmdiYSgwLCAwLCAwLCAwLjA4KVwiLFxuICAgIGJvcmRlclByaW1hcnkwNjogXCJyZ2JhKDAsIDAsIDAsIDAuMDYpXCIsXG4gIFxuICAgIC8vIFNoYWRvd3NcbiAgICBzaGFkb3dQcmltYXJ5OiBcInJnYmEoMCwgMCwgMCwgMC4xMilcIixcbiAgICBzaGFkb3dTZWNvbmRhcnk6IFwicmdiYSgwLCAwLCAwLCAwLjA4KVwiLFxuICAgIHNoYWRvd1RlcnRpYXJ5OiBcInJnYmEoMCwgMCwgMCwgMC4wNClcIixcbiAgICBzaGFkb3dMaWdodDogXCJyZ2JhKDAsIDAsIDAsIDAuMDYpXCIsXG4gIFxuICAgIC8vIFN0YXR1c1xuICAgIHN0YXR1c0F2YWlsYWJsZTogXCIjOTI5REFCXCIsXG4gICAgc3RhdHVzVW5hdmFpbGFibGU6IFwiI0NDRDNEQVwiLFxuICAgIHN0YXR1c0hvdHNlYXQ6IFwiIzg1N0JGRlwiLFxuICAgIHN0YXR1c011bHRpdGVhbTogXCIjMTBBREFFXCIsXG4gICAgc3RhdHVzU2VsZWN0ZWQ6IFwiIzEwQURBRVwiLFxuICAgIHN0YXR1c1VwY29taW5nOiBcIiNENDkwMENcIixcbiAgICBzdGF0dXNSb29tOiBcIiMzOEFGNDlcIixcbiAgICBzdGF0dXNSb29tQm9va2VkOiBcIiNCMjM2MDBcIixcbiAgICBzdGF0dXNSb29tVW5hdmFpbGFibGU6IFwiIzE4MUYzM1wiLFxuICBcbiAgICAvLyBUZWFtXG4gICAgdGVhbUNvbG9yMTogXCIjRjhDNTJFXCIsXG4gICAgdGVhbUNvbG9yMjogXCIjRkE4RTIwXCIsXG4gICAgdGVhbUNvbG9yMzogXCIjOTg3Q0REXCIsXG4gICAgdGVhbUNvbG9yNDogXCIjMTZDQkJDXCIsXG4gICAgdGVhbUNvbG9yNTogXCIjRTY1MDEwXCIsXG4gICAgdGVhbUNvbG9yNjogXCIjQTYwMDYwXCIsXG4gICAgdGVhbUNvbG9yNzogXCIjRUQzMjNCXCIsXG4gICAgdGVhbUNvbG9yODogXCIjMzVBMUZGXCIsXG4gICAgdGVhbUNvbG9yOTogXCIjODBEMzQ4XCIsXG4gIH07XG59Il19
@@ -1,25 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { DynamicThemeService } from './dynamic-theme.service';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./dynamic-theme.service";
5
- export class DynamicThemeModule {
6
- constructor(themeService) {
7
- this.themeService = themeService;
8
- // Initialize the theme service when module is loaded
9
- // This ensures the default theme is applied
10
- }
11
- static { this.ɵfac = function DynamicThemeModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DynamicThemeModule)(i0.ɵɵinject(i1.DynamicThemeService)); }; }
12
- static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: DynamicThemeModule }); }
13
- static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
14
- DynamicThemeService
15
- ] }); }
16
- }
17
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DynamicThemeModule, [{
18
- type: NgModule,
19
- args: [{
20
- providers: [
21
- DynamicThemeService
22
- ]
23
- }]
24
- }], () => [{ type: i1.DynamicThemeService }], null); })();
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10aGVtZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9keW5hbWljLXRoZW1lL2R5bmFtaWMtdGhlbWUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQU85RCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQW9CLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNuRCxxREFBcUQ7UUFDckQsNENBQTRDO0lBQzlDLENBQUM7bUhBSlUsa0JBQWtCO21FQUFsQixrQkFBa0I7d0VBSmxCO1lBQ1QsbUJBQW1CO1NBQ3BCOztpRkFFVSxrQkFBa0I7Y0FMOUIsUUFBUTtlQUFDO2dCQUNSLFNBQVMsRUFBRTtvQkFDVCxtQkFBbUI7aUJBQ3BCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHluYW1pY1RoZW1lU2VydmljZSB9IGZyb20gJy4vZHluYW1pYy10aGVtZS5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbXG4gICAgRHluYW1pY1RoZW1lU2VydmljZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNUaGVtZU1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdGhlbWVTZXJ2aWNlOiBEeW5hbWljVGhlbWVTZXJ2aWNlKSB7XG4gICAgLy8gSW5pdGlhbGl6ZSB0aGUgdGhlbWUgc2VydmljZSB3aGVuIG1vZHVsZSBpcyBsb2FkZWRcbiAgICAvLyBUaGlzIGVuc3VyZXMgdGhlIGRlZmF1bHQgdGhlbWUgaXMgYXBwbGllZFxuICB9XG59XG4iXX0=
@@ -1,193 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import { BrandingTypes } from './branding.types';
4
- import * as i0 from "@angular/core";
5
- export class DynamicThemeService {
6
- constructor() {
7
- this.currentThemeSubject = new BehaviorSubject(BrandingTypes.defaultTheme);
8
- this.currentTheme$ = this.currentThemeSubject.asObservable();
9
- // Initialize with default theme on service creation
10
- this.applyTheme(BrandingTypes.defaultTheme);
11
- }
12
- /**
13
- * Apply a complete theme configuration to the root element
14
- * @param theme - ThemeColors object containing all color values
15
- */
16
- applyTheme(theme) {
17
- const root = document.documentElement;
18
- Object.entries(theme).forEach(([camelName, value]) => {
19
- const cssVar = `--${this.camelToKebabCase(camelName)}`;
20
- root.style.setProperty(cssVar, String(value));
21
- });
22
- // Update the current theme subject
23
- this.currentThemeSubject.next(theme);
24
- }
25
- /**
26
- * Apply partial theme updates (only specified colors will be updated)
27
- * @param partialTheme - Partial ThemeColors object with only the colors to update
28
- */
29
- applyPartialTheme(partialTheme) {
30
- const root = document.documentElement;
31
- Object.entries(partialTheme).forEach(([camelName, value]) => {
32
- if (value !== undefined) {
33
- const cssVar = `--${this.camelToKebabCase(camelName)}`;
34
- root.style.setProperty(cssVar, String(value));
35
- }
36
- });
37
- // Update the current theme with merged values
38
- const currentTheme = this.currentThemeSubject.value;
39
- const updatedTheme = { ...currentTheme, ...partialTheme };
40
- this.currentThemeSubject.next(updatedTheme);
41
- }
42
- /**
43
- * Set a single color property
44
- * @param colorKey - The camelCase key of the color property
45
- * @param colorValue - The color value (hex, rgb, rgba, etc.)
46
- */
47
- setColorProperty(colorKey, colorValue) {
48
- const root = document.documentElement;
49
- const cssVar = `--${this.camelToKebabCase(colorKey)}`;
50
- root.style.setProperty(cssVar, colorValue);
51
- // Update the current theme
52
- const currentTheme = this.currentThemeSubject.value;
53
- const updatedTheme = { ...currentTheme, [colorKey]: colorValue };
54
- this.currentThemeSubject.next(updatedTheme);
55
- }
56
- /**
57
- * Get the current theme colors
58
- * @returns Current ThemeColors object
59
- */
60
- getCurrentTheme() {
61
- return this.currentThemeSubject.value;
62
- }
63
- /**
64
- * Get a specific color value from the current theme
65
- * @param colorKey - The camelCase key of the color property
66
- * @returns The color value as string
67
- */
68
- getColorProperty(colorKey) {
69
- return this.currentThemeSubject.value[colorKey];
70
- }
71
- /**
72
- * Reset theme to default values
73
- */
74
- resetToDefault() {
75
- this.applyTheme(BrandingTypes.defaultTheme);
76
- }
77
- /**
78
- * Remove a specific CSS custom property from the root element
79
- * @param colorKey - The camelCase key of the color property to remove
80
- */
81
- removeColorProperty(colorKey) {
82
- const root = document.documentElement;
83
- const cssVar = `--${this.camelToKebabCase(colorKey)}`;
84
- root.style.removeProperty(cssVar);
85
- }
86
- /**
87
- * Get all CSS custom properties currently set on the root element
88
- * @returns Object with CSS variable names as keys and their values
89
- */
90
- getAllCSSVariables() {
91
- const root = document.documentElement;
92
- const computedStyle = getComputedStyle(root);
93
- const cssVars = {};
94
- // Get all CSS custom properties that start with our prefix
95
- for (let i = 0; i < computedStyle.length; i++) {
96
- const property = computedStyle[i];
97
- if (property.startsWith('--brand-') ||
98
- property.startsWith('--text-') ||
99
- property.startsWith('--bg-') ||
100
- property.startsWith('--border-') ||
101
- property.startsWith('--shadow-') ||
102
- property.startsWith('--status-') ||
103
- property.startsWith('--team-color-')) {
104
- cssVars[property] = computedStyle.getPropertyValue(property).trim();
105
- }
106
- }
107
- return cssVars;
108
- }
109
- /**
110
- * Apply theme with validation
111
- * @param theme - ThemeColors object to validate and apply
112
- * @returns boolean indicating if the theme was successfully applied
113
- */
114
- applyThemeWithValidation(theme) {
115
- try {
116
- // Basic validation - check if all required properties exist
117
- const requiredKeys = Object.keys(BrandingTypes.defaultTheme);
118
- const themeKeys = Object.keys(theme);
119
- const missingKeys = requiredKeys.filter(key => !themeKeys.includes(key));
120
- if (missingKeys.length > 0) {
121
- console.warn('DynamicThemeService: Missing theme properties:', missingKeys);
122
- // Apply with default values for missing keys
123
- const completeTheme = { ...BrandingTypes.defaultTheme, ...theme };
124
- this.applyTheme(completeTheme);
125
- return false;
126
- }
127
- this.applyTheme(theme);
128
- return true;
129
- }
130
- catch (error) {
131
- console.error('DynamicThemeService: Error applying theme:', error);
132
- return false;
133
- }
134
- }
135
- /**
136
- * Convert camelCase to kebab-case for CSS custom properties
137
- * @param camelCase - The camelCase string to convert
138
- * @returns kebab-case string
139
- */
140
- camelToKebabCase(camelCase) {
141
- return camelCase.replace(/([A-Z])/g, '-$1').toLowerCase();
142
- }
143
- /**
144
- * Convert kebab-case to camelCase
145
- * @param kebabCase - The kebab-case string to convert
146
- * @returns camelCase string
147
- */
148
- kebabToCamelCase(kebabCase) {
149
- return kebabCase.replace(/-([a-z])/g, (match, letter) => letter.toUpperCase());
150
- }
151
- /**
152
- * Create a theme preset from current applied theme
153
- * @param presetName - Name for the theme preset
154
- * @returns Theme preset object
155
- */
156
- createThemePreset(presetName) {
157
- return {
158
- name: presetName,
159
- theme: { ...this.getCurrentTheme() }
160
- };
161
- }
162
- /**
163
- * Export current theme as JSON string
164
- * @returns JSON string representation of current theme
165
- */
166
- exportThemeAsJSON() {
167
- return JSON.stringify(this.getCurrentTheme(), null, 2);
168
- }
169
- /**
170
- * Import theme from JSON string
171
- * @param jsonString - JSON string representation of theme
172
- * @returns boolean indicating success
173
- */
174
- importThemeFromJSON(jsonString) {
175
- try {
176
- const theme = JSON.parse(jsonString);
177
- return this.applyThemeWithValidation(theme);
178
- }
179
- catch (error) {
180
- console.error('DynamicThemeService: Error importing theme from JSON:', error);
181
- return false;
182
- }
183
- }
184
- static { this.ɵfac = function DynamicThemeService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DynamicThemeService)(); }; }
185
- static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: DynamicThemeService, factory: DynamicThemeService.ɵfac, providedIn: 'root' }); }
186
- }
187
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DynamicThemeService, [{
188
- type: Injectable,
189
- args: [{
190
- providedIn: 'root'
191
- }]
192
- }], () => [], null); })();
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10aGVtZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHluYW1pYy10aGVtZS9keW5hbWljLXRoZW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFLakQsTUFBTSxPQUFPLG1CQUFtQjtJQUk5QjtRQUhRLHdCQUFtQixHQUFHLElBQUksZUFBZSxDQUE0QixhQUFhLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbEcsa0JBQWEsR0FBMEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBR3BHLG9EQUFvRDtRQUNwRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLEtBQWdDO1FBQ3pDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUM7UUFFdEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ25ELE1BQU0sTUFBTSxHQUFHLEtBQUssSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDdkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO1FBRUgsbUNBQW1DO1FBQ25DLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FB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QyxDQUFDO1FBQzlDLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyx1REFBdUQsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM5RSxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDO29IQXpNVSxtQkFBbUI7dUVBQW5CLG1CQUFtQixXQUFuQixtQkFBbUIsbUJBRmxCLE1BQU07O2lGQUVQLG1CQUFtQjtjQUgvQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJyYW5kaW5nVHlwZXMgfSBmcm9tICcuL2JyYW5kaW5nLnR5cGVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY1RoZW1lU2VydmljZSB7XG4gIHByaXZhdGUgY3VycmVudFRoZW1lU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QnJhbmRpbmdUeXBlcy5UaGVtZUNvbG9ycz4oQnJhbmRpbmdUeXBlcy5kZWZhdWx0VGhlbWUpO1xuICBwdWJsaWMgY3VycmVudFRoZW1lJDogT2JzZXJ2YWJsZTxCcmFuZGluZ1R5cGVzLlRoZW1lQ29sb3JzPiA9IHRoaXMuY3VycmVudFRoZW1lU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBJbml0aWFsaXplIHdpdGggZGVmYXVsdCB0aGVtZSBvbiBzZXJ2aWNlIGNyZWF0aW9uXG4gICAgdGhpcy5hcHBseVRoZW1lKEJyYW5kaW5nVHlwZXMuZGVmYXVsdFRoZW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBseSBhIGNvbXBsZXRlIHRoZW1lIGNvbmZpZ3VyYXRpb24gdG8gdGhlIHJvb3QgZWxlbWVudFxuICAgKiBAcGFyYW0gdGhlbWUgLSBUaGVtZUNvbG9ycyBvYmplY3QgY29udGFpbmluZyBhbGwgY29sb3IgdmFsdWVzXG4gICAqL1xuICBhcHBseVRoZW1lKHRoZW1lOiBCcmFuZGluZ1R5cGVzLlRoZW1lQ29sb3JzKTogdm9pZCB7XG4gICAgY29uc3Qgcm9vdCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICBcbiAgICBPYmplY3QuZW50cmllcyh0aGVtZSkuZm9yRWFjaCgoW2NhbWVsTmFtZSwgdmFsdWVdKSA9PiB7XG4gICAgICBjb25zdCBjc3NWYXIgPSBgLS0ke3RoaXMuY2FtZWxUb0tlYmFiQ2FzZShjYW1lbE5hbWUpfWA7XG4gICAgICByb290LnN0eWxlLnNldFByb3BlcnR5KGNzc1ZhciwgU3RyaW5nKHZhbHVlKSk7XG4gICAgfSk7XG5cbiAgICAvLyBVcGRhdGUgdGhlIGN1cnJlbnQgdGhlbWUgc3ViamVjdFxuICAgIHRoaXMuY3VycmVudFRoZW1lU3ViamVjdC5uZXh0KHRoZW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBseSBwYXJ0aWFsIHRoZW1lIHVwZGF0ZXMgKG9ubHkgc3BlY2lmaWVkIGNvbG9ycyB3aWxsIGJlIHVwZGF0ZWQpXG4gICAqIEBwYXJhbSBwYXJ0aWFsVGhlbWUgLSBQYXJ0aWFsIFRoZW1lQ29sb3JzIG9iamVjdCB3aXRoIG9ubHkgdGhlIGNvbG9ycyB0byB1cGRhdGVcbiAgICovXG4gIGFwcGx5UGFydGlhbFRoZW1lKHBhcnRpYWxUaGVtZTogUGFydGlhbDxCcmFuZGluZ1R5cGVzLlRoZW1lQ29sb3JzPik6IHZvaWQge1xuICAgIGNvbnN0IHJvb3QgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgXG4gICAgT2JqZWN0LmVudHJpZXMocGFydGlhbFRoZW1lKS5mb3JFYWNoKChbY2FtZWxOYW1lLCB2YWx1ZV0pID0+IHtcbiAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IGNzc1ZhciA9IGAtLSR7dGhpcy5jYW1lbFRvS2ViYWJDYXNlKGNhbWVsTmFtZSl9YDtcbiAgICAgICAgcm9vdC5zdHlsZS5zZXRQcm9wZXJ0eShjc3NWYXIsIFN0cmluZyh2YWx1ZSkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gVXBkYXRlIHRoZSBjdXJyZW50IHRoZW1lIHdpdGggbWVyZ2VkIHZhbHVlc1xuICAgIGNvbnN0IGN1cnJlbnRUaGVtZSA9IHRoaXMuY3VycmVudFRoZW1lU3ViamVjdC52YWx1ZTtcbiAgICBjb25zdCB1cGRhdGVkVGhlbWUgPSB7IC4uLmN1cnJlbnRUaGVtZSwgLi4ucGFydGlhbFRoZW1lIH07XG4gICAgdGhpcy5jdXJyZW50VGhlbWVTdWJqZWN0Lm5leHQodXBkYXRlZFRoZW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgYSBzaW5nbGUgY29sb3IgcHJvcGVydHlcbiAgICogQHBhcmFtIGNvbG9yS2V5IC0gVGhlIGNhbWVsQ2FzZSBrZXkgb2YgdGhlIGNvbG9yIHByb3BlcnR5XG4gICAqIEBwYXJhbSBjb2xvclZhbHVlIC0gVGhlIGNvbG9yIHZhbHVlIChoZXgsIHJnYiwgcmdiYSwgZXRjLilcbiAgICovXG4gIHNldENvbG9yUHJvcGVydHkoY29sb3JLZXk6IGtleW9mIEJyYW5kaW5nVHlwZXMuVGhlbWVDb2xvcnMsIGNvbG9yVmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IHJvb3QgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgY29uc3QgY3NzVmFyID0gYC0tJHt0aGlzLmNhbWVsVG9LZWJhYkNhc2UoY29sb3JLZXkpfWA7XG4gICAgcm9vdC5zdHlsZS5zZXRQcm9wZXJ0eShjc3NWYXIsIGNvbG9yVmFsdWUpO1xuXG4gICAgLy8gVXBkYXRlIHRoZSBjdXJyZW50IHRoZW1lXG4gICAgY29uc3QgY3VycmVudFRoZW1lID0gdGhpcy5jdXJyZW50VGhlbWVTdWJqZWN0LnZhbHVlO1xuICAgIGNvbnN0IHVwZGF0ZWRUaGVtZSA9IHsgLi4uY3VycmVudFRoZW1lLCBbY29sb3JLZXldOiBjb2xvclZhbHVlIH07XG4gICAgdGhpcy5jdXJyZW50VGhlbWVTdWJqZWN0Lm5leHQodXBkYXRlZFRoZW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGN1cnJlbnQgdGhlbWUgY29sb3JzXG4gICAqIEByZXR1cm5zIEN1cnJlbnQgVGhlbWVDb2xvcnMgb2JqZWN0XG4gICAqL1xuICBnZXRDdXJyZW50VGhlbWUoKTogQnJhbmRpbmdUeXBlcy5UaGVtZUNvbG9ycyB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFRoZW1lU3ViamVjdC52YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBzcGVjaWZpYyBjb2xvciB2YWx1ZSBmcm9tIHRoZSBjdXJyZW50IHRoZW1lXG4gICAqIEBwYXJhbSBjb2xvcktleSAtIFRoZSBjYW1lbENhc2Uga2V5IG9mIHRoZSBjb2xvciBwcm9wZXJ0eVxuICAgKiBAcmV0dXJucyBUaGUgY29sb3IgdmFsdWUgYXMgc3RyaW5nXG4gICAqL1xuICBnZXRDb2xvclByb3BlcnR5KGNvbG9yS2V5OiBrZXlvZiBCcmFuZGluZ1R5cGVzLlRoZW1lQ29sb3JzKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50VGhlbWVTdWJqZWN0LnZhbHVlW2NvbG9yS2V5XTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCB0aGVtZSB0byBkZWZhdWx0IHZhbHVlc1xuICAgKi9cbiAgcmVzZXRUb0RlZmF1bHQoKTogdm9pZCB7XG4gICAgdGhpcy5hcHBseVRoZW1lKEJyYW5kaW5nVHlwZXMuZGVmYXVsdFRoZW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgYSBzcGVjaWZpYyBDU1MgY3VzdG9tIHByb3BlcnR5IGZyb20gdGhlIHJvb3QgZWxlbWVudFxuICAgKiBAcGFyYW0gY29sb3JLZXkgLSBUaGUgY2FtZWxDYXNlIGtleSBvZiB0aGUgY29sb3IgcHJvcGVydHkgdG8gcmVtb3ZlXG4gICAqL1xuICByZW1vdmVDb2xvclByb3BlcnR5KGNvbG9yS2V5OiBrZXlvZiBCcmFuZGluZ1R5cGVzLlRoZW1lQ29sb3JzKTogdm9pZCB7XG4gICAgY29uc3Qgcm9vdCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICBjb25zdCBjc3NWYXIgPSBgLS0ke3RoaXMuY2FtZWxUb0tlYmFiQ2FzZShjb2xvcktleSl9YDtcbiAgICByb290LnN0eWxlLnJlbW92ZVByb3BlcnR5KGNzc1Zhcik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFsbCBDU1MgY3VzdG9tIHByb3BlcnRpZXMgY3VycmVudGx5IHNldCBvbiB0aGUgcm9vdCBlbGVtZW50XG4gICAqIEByZXR1cm5zIE9iamVjdCB3aXRoIENTUyB2YXJpYWJsZSBuYW1lcyBhcyBrZXlzIGFuZCB0aGVpciB2YWx1ZXNcbiAgICovXG4gIGdldEFsbENTU1ZhcmlhYmxlcygpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICBjb25zdCByb290ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKHJvb3QpO1xuICAgIGNvbnN0IGNzc1ZhcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICAgIC8vIEdldCBhbGwgQ1NTIGN1c3RvbSBwcm9wZXJ0aWVzIHRoYXQgc3RhcnQgd2l0aCBvdXIgcHJlZml4XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb21wdXRlZFN0eWxlLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBwcm9wZXJ0eSA9IGNvbXB1dGVkU3R5bGVbaV07XG4gICAgICBpZiAocHJvcGVydHkuc3RhcnRzV2l0aCgnLS1icmFuZC0nKSB8fCBcbiAgICAgICAgICBwcm9wZXJ0eS5zdGFydHNXaXRoKCctLXRleHQtJykgfHwgXG4gICAgICAgICAgcHJvcGVydHkuc3RhcnRzV2l0aCgnLS1iZy0nKSB8fCBcbiAgICAgICAgICBwcm9wZXJ0eS5zdGFydHNXaXRoKCctLWJvcmRlci0nKSB8fCBcbiAgICAgICAgICBwcm9wZXJ0eS5zdGFydHNXaXRoKCctLXNoYWRvdy0nKSB8fCBcbiAgICAgICAgICBwcm9wZXJ0eS5zdGFydHNXaXRoKCctLXN0YXR1cy0nKSB8fCBcbiAgICAgICAgICBwcm9wZXJ0eS5zdGFydHNXaXRoKCctLXRlYW0tY29sb3ItJykpIHtcbiAgICAgICAgY3NzVmFyc1twcm9wZXJ0eV0gPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUocHJvcGVydHkpLnRyaW0oKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY3NzVmFycztcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBseSB0aGVtZSB3aXRoIHZhbGlkYXRpb25cbiAgICogQHBhcmFtIHRoZW1lIC0gVGhlbWVDb2xvcnMgb2JqZWN0IHRvIHZhbGlkYXRlIGFuZCBhcHBseVxuICAgKiBAcmV0dXJucyBib29sZWFuIGluZGljYXRpbmcgaWYgdGhlIHRoZW1lIHdhcyBzdWNjZXNzZnVsbHkgYXBwbGllZFxuICAgKi9cbiAgYXBwbHlUaGVtZVdpdGhWYWxpZGF0aW9uKHRoZW1lOiBCcmFuZGluZ1R5cGVzLlRoZW1lQ29sb3JzKTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIEJhc2ljIHZhbGlkYXRpb24gLSBjaGVjayBpZiBhbGwgcmVxdWlyZWQgcHJvcGVydGllcyBleGlzdFxuICAgICAgY29uc3QgcmVxdWlyZWRLZXlzID0gT2JqZWN0LmtleXMoQnJhbmRpbmdUeXBlcy5kZWZhdWx0VGhlbWUpIGFzIChrZXlvZiBCcmFuZGluZ1R5cGVzLlRoZW1lQ29sb3JzKVtdO1xuICAgICAgY29uc3QgdGhlbWVLZXlzID0gT2JqZWN0LmtleXModGhlbWUpIGFzIChrZXlvZiBCcmFuZGluZ1R5cGVzLlRoZW1lQ29sb3JzKVtdO1xuICAgICAgXG4gICAgICBjb25zdCBtaXNzaW5nS2V5cyA9IHJlcXVpcmVkS2V5cy5maWx0ZXIoa2V5ID0+ICF0aGVtZUtleXMuaW5jbHVkZXMoa2V5KSk7XG4gICAgICBcbiAgICAgIGlmIChtaXNzaW5nS2V5cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignRHluYW1pY1RoZW1lU2VydmljZTogTWlzc2luZyB0aGVtZSBwcm9wZXJ0aWVzOicsIG1pc3NpbmdLZXlzKTtcbiAgICAgICAgLy8gQXBwbHkgd2l0aCBkZWZhdWx0IHZhbHVlcyBmb3IgbWlzc2luZyBrZXlzXG4gICAgICAgIGNvbnN0IGNvbXBsZXRlVGhlbWUgPSB7IC4uLkJyYW5kaW5nVHlwZXMuZGVmYXVsdFRoZW1lLCAuLi50aGVtZSB9O1xuICAgICAgICB0aGlzLmFwcGx5VGhlbWUoY29tcGxldGVUaGVtZSk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5hcHBseVRoZW1lKHRoZW1lKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdEeW5hbWljVGhlbWVTZXJ2aWNlOiBFcnJvciBhcHBseWluZyB0aGVtZTonLCBlcnJvcik7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgY2FtZWxDYXNlIHRvIGtlYmFiLWNhc2UgZm9yIENTUyBjdXN0b20gcHJvcGVydGllc1xuICAgKiBAcGFyYW0gY2FtZWxDYXNlIC0gVGhlIGNhbWVsQ2FzZSBzdHJpbmcgdG8gY29udmVydFxuICAgKiBAcmV0dXJucyBrZWJhYi1jYXNlIHN0cmluZ1xuICAgKi9cbiAgcHJpdmF0ZSBjYW1lbFRvS2ViYWJDYXNlKGNhbWVsQ2FzZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY2FtZWxDYXNlLnJlcGxhY2UoLyhbQS1aXSkvZywgJy0kMScpLnRvTG93ZXJDYXNlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydCBrZWJhYi1jYXNlIHRvIGNhbWVsQ2FzZVxuICAgKiBAcGFyYW0ga2ViYWJDYXNlIC0gVGhlIGtlYmFiLWNhc2Ugc3RyaW5nIHRvIGNvbnZlcnRcbiAgICogQHJldHVybnMgY2FtZWxDYXNlIHN0cmluZ1xuICAgKi9cbiAgcHJpdmF0ZSBrZWJhYlRvQ2FtZWxDYXNlKGtlYmFiQ2FzZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4ga2ViYWJDYXNlLnJlcGxhY2UoLy0oW2Etel0pL2csIChtYXRjaCwgbGV0dGVyKSA9PiBsZXR0ZXIudG9VcHBlckNhc2UoKSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgdGhlbWUgcHJlc2V0IGZyb20gY3VycmVudCBhcHBsaWVkIHRoZW1lXG4gICAqIEBwYXJhbSBwcmVzZXROYW1lIC0gTmFtZSBmb3IgdGhlIHRoZW1lIHByZXNldFxuICAgKiBAcmV0dXJucyBUaGVtZSBwcmVzZXQgb2JqZWN0XG4gICAqL1xuICBjcmVhdGVUaGVtZVByZXNldChwcmVzZXROYW1lOiBzdHJpbmcpOiB7IG5hbWU6IHN0cmluZzsgdGhlbWU6IEJyYW5kaW5nVHlwZXMuVGhlbWVDb2xvcnMgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IHByZXNldE5hbWUsXG4gICAgICB0aGVtZTogeyAuLi50aGlzLmdldEN1cnJlbnRUaGVtZSgpIH1cbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEV4cG9ydCBjdXJyZW50IHRoZW1lIGFzIEpTT04gc3RyaW5nXG4gICAqIEByZXR1cm5zIEpTT04gc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGN1cnJlbnQgdGhlbWVcbiAgICovXG4gIGV4cG9ydFRoZW1lQXNKU09OKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMuZ2V0Q3VycmVudFRoZW1lKCksIG51bGwsIDIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCB0aGVtZSBmcm9tIEpTT04gc3RyaW5nXG4gICAqIEBwYXJhbSBqc29uU3RyaW5nIC0gSlNPTiBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlbWVcbiAgICogQHJldHVybnMgYm9vbGVhbiBpbmRpY2F0aW5nIHN1Y2Nlc3NcbiAgICovXG4gIGltcG9ydFRoZW1lRnJvbUpTT04oanNvblN0cmluZzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHRoZW1lID0gSlNPTi5wYXJzZShqc29uU3RyaW5nKSBhcyBCcmFuZGluZ1R5cGVzLlRoZW1lQ29sb3JzO1xuICAgICAgcmV0dXJuIHRoaXMuYXBwbHlUaGVtZVdpdGhWYWxpZGF0aW9uKHRoZW1lKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRHluYW1pY1RoZW1lU2VydmljZTogRXJyb3IgaW1wb3J0aW5nIHRoZW1lIGZyb20gSlNPTjonLCBlcnJvcik7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from "./public_api";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9keW5hbWljLXRoZW1lL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vcHVibGljX2FwaVwiOyJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS1keW5hbWljLXRoZW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHluYW1pYy10aGVtZS9taXMtY3J5c3RhbC1kZXNpZ24tc3lzdGVtLWR5bmFtaWMtdGhlbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,4 +0,0 @@
1
- export { BrandingTypes } from './branding.types';
2
- export { DynamicThemeService } from './dynamic-theme.service';
3
- export { DynamicThemeModule } from './dynamic-theme.module';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2R5bmFtaWMtdGhlbWUvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBCcmFuZGluZ1R5cGVzIH0gZnJvbSAnLi9icmFuZGluZy50eXBlcyc7XG5leHBvcnQgeyBEeW5hbWljVGhlbWVTZXJ2aWNlIH0gZnJvbSAnLi9keW5hbWljLXRoZW1lLnNlcnZpY2UnO1xuZXhwb3J0IHsgRHluYW1pY1RoZW1lTW9kdWxlIH0gZnJvbSAnLi9keW5hbWljLXRoZW1lLm1vZHVsZSc7Il19