@fluentui-react-native/win32-theme 0.39.8 → 0.39.11

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 (44) hide show
  1. package/.cache/tsconfig.tsbuildinfo +1 -1
  2. package/CHANGELOG.md +36 -0
  3. package/lib/NativeModule/getThemingModule.native.d.ts.map +1 -1
  4. package/lib/NativeModule/getThemingModule.native.js +7 -2
  5. package/lib/NativeModule/getThemingModule.native.js.map +1 -1
  6. package/lib/NativeModule/hostThemeSetting.d.ts +8 -1
  7. package/lib/NativeModule/hostThemeSetting.d.ts.map +1 -1
  8. package/lib/NativeModule/hostThemeSetting.js +7 -14
  9. package/lib/NativeModule/hostThemeSetting.js.map +1 -1
  10. package/lib/NativeModule/index.d.ts +1 -1
  11. package/lib/NativeModule/index.d.ts.map +1 -1
  12. package/lib/NativeModule/officeThemingModule.d.ts +13 -8
  13. package/lib/NativeModule/officeThemingModule.d.ts.map +1 -1
  14. package/lib/__tests__/win32-theme.test.js +3 -0
  15. package/lib/__tests__/win32-theme.test.js.map +1 -1
  16. package/lib/createBrandedThemeWithAlias.js +1 -1
  17. package/lib/createBrandedThemeWithAlias.js.map +1 -1
  18. package/lib/createFontAliasTokens.js +1 -1
  19. package/lib/createFontAliasTokens.js.map +1 -1
  20. package/lib/createOfficeAliasTokens.js +1 -1
  21. package/lib/createOfficeAliasTokens.js.map +1 -1
  22. package/lib/createOfficeTheme.d.ts.map +1 -1
  23. package/lib/createOfficeTheme.js +108 -40
  24. package/lib/createOfficeTheme.js.map +1 -1
  25. package/lib/getOfficeTokens.d.ts +404 -1
  26. package/lib/getOfficeTokens.d.ts.map +1 -1
  27. package/lib/getOfficeTokens.js +1 -1
  28. package/lib/getOfficeTokens.js.map +1 -1
  29. package/package.json +4 -6
  30. package/src/NativeModule/getThemingModule.native.ts +8 -2
  31. package/src/NativeModule/hostThemeSetting.ts +15 -5
  32. package/src/NativeModule/index.ts +1 -0
  33. package/src/NativeModule/officeThemingModule.ts +17 -9
  34. package/src/__tests__/win32-theme.test.ts +4 -0
  35. package/src/createBrandedThemeWithAlias.ts +1 -1
  36. package/src/createFontAliasTokens.ts +1 -1
  37. package/src/createOfficeAliasTokens.ts +1 -1
  38. package/src/createOfficeTheme.ts +136 -51
  39. package/src/getOfficeTokens.ts +1 -2
  40. package/lib/highContrast/tokens-alias.d.ts +0 -2
  41. package/lib/highContrast/tokens-alias.d.ts.map +0 -1
  42. package/lib/highContrast/tokens-alias.js +0 -17
  43. package/lib/highContrast/tokens-alias.js.map +0 -1
  44. package/src/highContrast/tokens-alias.ts +0 -20
package/CHANGELOG.md CHANGED
@@ -1,5 +1,41 @@
1
1
  # Change Log - @fluentui-react-native/win32-theme
2
2
 
3
+ ## 0.39.11
4
+
5
+ ### Patch Changes
6
+
7
+ - 4157768: Add appearance-aware Flex theme sources with stable token identity and lazy compatibility bridges for legacy themes.
8
+ - Updated dependencies [24be698]
9
+ - Updated dependencies [4157768]
10
+ - @fluentui-react-native/framework-base@0.7.0
11
+ - @fluentui-react-native/design@0.4.0
12
+ - @fluentui-react-native/default-theme@0.27.11
13
+
14
+ ## 0.39.10
15
+
16
+ ### Patch Changes
17
+
18
+ - Updated dependencies [587845c]
19
+ - Updated dependencies [a0ef3f4]
20
+ - @fluentui-react-native/design@0.3.3
21
+ - @fluentui-react-native/default-theme@0.27.10
22
+
23
+ ## 0.39.9
24
+
25
+ ### Patch Changes
26
+
27
+ - 51fab45: Updating path references to components and design packages
28
+ - cfef63e: update package references to use consolidated package directly
29
+ - cfef63e: Consolidate theming utilities in the design package and move compatibility packages to the shim directory
30
+ - 7372841: Reuse high-contrast alias tokens from `@fluentui-react-native/design/tokens/legacy`.
31
+ - Updated dependencies [51fab45]
32
+ - Updated dependencies [cfef63e]
33
+ - Updated dependencies [7372841]
34
+ - Updated dependencies [cfef63e]
35
+ - Updated dependencies [cfef63e]
36
+ - @fluentui-react-native/default-theme@0.27.9
37
+ - @fluentui-react-native/design@0.3.2
38
+
3
39
  ## 0.39.8
4
40
 
5
41
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"getThemingModule.native.d.ts","sourceRoot":"","sources":["../../src/NativeModule/getThemingModule.native.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAuB,MAAM,cAAc,CAAC;AAIvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAoBjE,wBAAgB,gBAAgB,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,GAAG,SAAS,CAAC,CA4BxF"}
1
+ {"version":3,"file":"getThemingModule.native.d.ts","sourceRoot":"","sources":["../../src/NativeModule/getThemingModule.native.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAuB,MAAM,cAAc,CAAC;AAIvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAqBjE,wBAAgB,gBAAgB,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,GAAG,SAAS,CAAC,CAiCxF"}
@@ -1,6 +1,6 @@
1
1
  import { NativeEventEmitter, TurboModuleRegistry } from 'react-native';
2
2
  import { fallbackGetPalette, fallbackOfficeModule } from './fallbackOfficeModule';
3
- import { setCurrentHostThemeSetting } from './hostThemeSetting';
3
+ import { setCurrentHostThemeState } from './hostThemeSetting';
4
4
  /**
5
5
  * If we have a userAgent string, let's assume we're web debugging. __DEV__ is for developer bundles. Currently,
6
6
  * react-native only polyfills navigator with { product: 'ReactNative', geolocation: NativeModules.Geolocation }
@@ -24,7 +24,12 @@ export function getThemingModule() {
24
24
  if (!isInstantiated) {
25
25
  // We need to store the host theme so that when themes are created
26
26
  // they can use this information.
27
- setCurrentHostThemeSetting(module.getConstants().initialHostThemeSetting);
27
+ const initialConstants = module.getConstants();
28
+ setCurrentHostThemeState({
29
+ hostThemeSetting: initialConstants.initialHostThemeSetting ?? '',
30
+ colorScheme: initialConstants.initialColorScheme,
31
+ isHighContrast: initialConstants.initialIsHighContrast,
32
+ });
28
33
  isInstantiated = true;
29
34
  }
30
35
  // Cache the result of getConstants to avoid continuous Native->JS marshalling
@@ -1 +1 @@
1
- {"version":3,"file":"getThemingModule.native.js","sourceRoot":"","sources":["../../src/NativeModule/getThemingModule.native.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAGhE;;;GAGG;AAEH,SAAS,iBAAiB;IACxB,MAAM,QAAQ,GAAG,OAAO,IAAI,OAAO,UAAU,CAAC,SAAS,KAAK,WAAW,IAAI,UAAU,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC;IACxH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC,CAAC;IACvH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED,IAAI,aAAa,GAAwB,SAAS,CAAC;AACnD,IAAI,sBAAsB,GAAoD,SAAS,CAAC;AACxF,IAAI,oBAAoB,GAAuB,SAAS,CAAC;AACzD,MAAM,UAAU,gBAAgB;IAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAsB,SAAS,CAAC,CAAC;QACvE,oEAAoE;QACpE,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,kEAAkE;gBAClE,iCAAiC;gBACjC,0BAA0B,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,uBAAuB,CAAC,CAAC;gBAC1E,cAAc,GAAG,IAAI,CAAC;YACxB,CAAC;YAED,8EAA8E;YAC9E,sBAAsB,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;YAE/C,2CAA2C;YAC3C,IAAI,iBAAiB,EAAE,EAAE,CAAC;gBACxB,aAAa,GAAG,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC;YACjG,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC;YAChG,CAAC;YACD,oBAAoB,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,oBAAoB,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC;AAC/C,CAAC;AAED,IAAI,cAAc,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"getThemingModule.native.js","sourceRoot":"","sources":["../../src/NativeModule/getThemingModule.native.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAG9D;;;GAGG;AAEH,SAAS,iBAAiB;IACxB,MAAM,QAAQ,GAAG,OAAO,IAAI,OAAO,UAAU,CAAC,SAAS,KAAK,WAAW,IAAI,UAAU,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC;IACxH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC,CAAC;IACvH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED,IAAI,aAAa,GAAwB,SAAS,CAAC;AACnD,IAAI,sBAAsB,GAAoD,SAAS,CAAC;AACxF,IAAI,oBAAoB,GAAuB,SAAS,CAAC;AAEzD,MAAM,UAAU,gBAAgB;IAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAsB,SAAS,CAAC,CAAC;QACvE,oEAAoE;QACpE,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,kEAAkE;gBAClE,iCAAiC;gBACjC,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;gBAC/C,wBAAwB,CAAC;oBACvB,gBAAgB,EAAE,gBAAgB,CAAC,uBAAuB,IAAI,EAAE;oBAChE,WAAW,EAAE,gBAAgB,CAAC,kBAAkB;oBAChD,cAAc,EAAE,gBAAgB,CAAC,qBAAqB;iBACvD,CAAC,CAAC;gBACH,cAAc,GAAG,IAAI,CAAC;YACxB,CAAC;YAED,8EAA8E;YAC9E,sBAAsB,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;YAE/C,2CAA2C;YAC3C,IAAI,iBAAiB,EAAE,EAAE,CAAC;gBACxB,aAAa,GAAG,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC;YACjG,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,CAAC;YAChG,CAAC;YACD,oBAAoB,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,oBAAoB,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC;AAC/C,CAAC;AAED,IAAI,cAAc,GAAG,KAAK,CAAC"}
@@ -1,3 +1,10 @@
1
+ export interface CurrentHostThemeState {
2
+ hostThemeSetting: string;
3
+ colorScheme?: 'light' | 'dark';
4
+ isHighContrast?: boolean;
5
+ }
1
6
  export declare const getCurrentHostThemeSetting: () => string;
2
- export declare const setCurrentHostThemeSetting: (newHostThemeSetting: string) => void;
7
+ export declare const getCurrentHostThemeState: () => CurrentHostThemeState;
8
+ export declare const setCurrentHostThemeSetting: (hostThemeSetting: string) => void;
9
+ export declare const setCurrentHostThemeState: (state: CurrentHostThemeState) => void;
3
10
  //# sourceMappingURL=hostThemeSetting.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hostThemeSetting.d.ts","sourceRoot":"","sources":["../../src/NativeModule/hostThemeSetting.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,0BAA0B,cAEtC,CAAC;AAEF,eAAO,MAAM,0BAA0B,wBAAyB,MAAM,SAErE,CAAC"}
1
+ {"version":3,"file":"hostThemeSetting.d.ts","sourceRoot":"","sources":["../../src/NativeModule/hostThemeSetting.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAID,eAAO,MAAM,0BAA0B,cAA+C,CAAC;AAEvF,eAAO,MAAM,wBAAwB,6BAA8B,CAAC;AAEpE,eAAO,MAAM,0BAA0B,qBAAsB,MAAM,SAElE,CAAC;AAEF,eAAO,MAAM,wBAAwB,UAAW,qBAAqB,SAEpE,CAAC"}
@@ -1,17 +1,10 @@
1
- // The ThemingModule currently only stores its initial host theme state
2
- // This state is never updated (it's a constant on the native module)
3
- // This can cause issues if the host theme has changed and you want to
4
- // query for the current state of the host theme. (i.e. you're spinning up
5
- // a new instance of a theme and don't have something already keeping track
6
- // of changes to the theme).
7
- // Unfortunately, native changes take a long time to roundtrip,
8
- // so as a workaround we store a copy of that information instead to last the
9
- // entire lifetime of the instance.
10
- let currentHostThemeSetting = '';
11
- export const getCurrentHostThemeSetting = () => {
12
- return currentHostThemeSetting;
1
+ let currentHostThemeState = { hostThemeSetting: '' };
2
+ export const getCurrentHostThemeSetting = () => currentHostThemeState.hostThemeSetting;
3
+ export const getCurrentHostThemeState = () => currentHostThemeState;
4
+ export const setCurrentHostThemeSetting = (hostThemeSetting) => {
5
+ currentHostThemeState = { hostThemeSetting };
13
6
  };
14
- export const setCurrentHostThemeSetting = (newHostThemeSetting) => {
15
- currentHostThemeSetting = newHostThemeSetting;
7
+ export const setCurrentHostThemeState = (state) => {
8
+ currentHostThemeState = state;
16
9
  };
17
10
  //# sourceMappingURL=hostThemeSetting.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hostThemeSetting.js","sourceRoot":"","sources":["../../src/NativeModule/hostThemeSetting.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,qEAAqE;AACrE,sEAAsE;AACtE,0EAA0E;AAC1E,2EAA2E;AAC3E,4BAA4B;AAC5B,+DAA+D;AAC/D,6EAA6E;AAC7E,mCAAmC;AACnC,IAAI,uBAAuB,GAAW,EAAE,CAAC;AAEzC,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,EAAE;IAC7C,OAAO,uBAAuB,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,mBAA2B,EAAE,EAAE;IACxE,uBAAuB,GAAG,mBAAmB,CAAC;AAChD,CAAC,CAAC"}
1
+ {"version":3,"file":"hostThemeSetting.js","sourceRoot":"","sources":["../../src/NativeModule/hostThemeSetting.ts"],"names":[],"mappings":"AAeA,IAAI,qBAAqB,GAA0B,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;AAE5E,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,EAAE,CAAC,qBAAqB,CAAC,gBAAgB,CAAC;AAEvF,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE,CAAC,qBAAqB,CAAC;AAEpE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,gBAAwB,EAAE,EAAE;IACrE,qBAAqB,GAAG,EAAE,gBAAgB,EAAE,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,KAA4B,EAAE,EAAE;IACvE,qBAAqB,GAAG,KAAK,CAAC;AAChC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export { fallbackOfficeModule, fallbackGetPalette } from './fallbackOfficeModule';
2
2
  export { getThemingModule } from './getThemingModule';
3
- export type { PlatformDefaultsChangedArgs, PlatformDefaultsChangedCallback, CxxException, NativeColorRamps, NativeColorNames, OfficeThemingModule, IEventEmitter, } from './officeThemingModule';
3
+ export type { PlatformDefaultsChangedArgs, PlatformDefaultsChangedCallback, CxxException, NativeColorRamps, NativeColorNames, OfficeThemingConstants, OfficeThemingModule, IEventEmitter, } from './officeThemingModule';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/NativeModule/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,2BAA2B,EAC3B,+BAA+B,EAC/B,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,GACd,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/NativeModule/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,2BAA2B,EAC3B,+BAA+B,EAC/B,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,GACd,MAAM,uBAAuB,CAAC"}
@@ -1,8 +1,10 @@
1
1
  import type { NativeModule, ColorValue } from 'react-native';
2
- import type { OfficePalette, Typography } from '@fluentui-react-native/design/theming';
2
+ import type { OfficePalette, ThemeColorScheme, Typography } from '@fluentui-react-native/design/theming';
3
3
  type ObjectBase = {};
4
4
  export type PlatformDefaultsChangedArgs = {
5
5
  hostThemeSetting: string;
6
+ colorScheme?: ThemeColorScheme;
7
+ isHighContrast?: boolean;
6
8
  };
7
9
  export type PlatformDefaultsChangedCallback = (args?: PlatformDefaultsChangedArgs) => void;
8
10
  export interface CxxException {
@@ -21,15 +23,18 @@ export interface NativeColorNames {
21
23
  App: string[];
22
24
  Sepias: string[];
23
25
  }
26
+ export interface OfficeThemingConstants {
27
+ typography: ObjectBase;
28
+ fluentTypography: Typography;
29
+ ramps: NativeColorRamps;
30
+ rampNames: NativeColorNames;
31
+ initialHostThemeSetting?: string;
32
+ initialColorScheme?: ThemeColorScheme;
33
+ initialIsHighContrast?: boolean;
34
+ }
24
35
  export interface OfficeThemingModule extends NativeModule {
25
36
  getPalette(palette?: string): OfficePalette | CxxException;
26
- getConstants(): {
27
- typography: ObjectBase;
28
- fluentTypography: Typography;
29
- ramps: NativeColorRamps;
30
- rampNames: NativeColorNames;
31
- initialHostThemeSetting?: string;
32
- };
37
+ getConstants(): OfficeThemingConstants;
33
38
  }
34
39
  export interface IEventEmitter {
35
40
  addListener: (event: string, PlatformDefaultsChangedCallback: any) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"officeThemingModule.d.ts","sourceRoot":"","sources":["../../src/NativeModule/officeThemingModule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAGvF,KAAK,UAAU,GAAG,EAAE,CAAC;AAErB,MAAM,MAAM,2BAA2B,GAAG;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAAC;AACvE,MAAM,MAAM,+BAA+B,GAAG,CAAC,IAAI,CAAC,EAAE,2BAA2B,KAAK,IAAI,CAAC;AAE3F,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,GAAG,EAAE,UAAU,EAAE,CAAC;IAClB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,YAAY,CAAC;IAC3D,YAAY,IAAI;QACd,UAAU,EAAE,UAAU,CAAC;QACvB,gBAAgB,EAAE,UAAU,CAAC;QAC7B,KAAK,EAAE,gBAAgB,CAAC;QACxB,SAAS,EAAE,gBAAgB,CAAC;QAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAClC,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,+BAA+B,KAAA,KAAK,IAAI,CAAC;CACvE"}
1
+ {"version":3,"file":"officeThemingModule.d.ts","sourceRoot":"","sources":["../../src/NativeModule/officeThemingModule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAGzG,KAAK,UAAU,GAAG,EAAE,CAAC;AAErB,MAAM,MAAM,2BAA2B,GAAG;IACxC,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AACF,MAAM,MAAM,+BAA+B,GAAG,CAAC,IAAI,CAAC,EAAE,2BAA2B,KAAK,IAAI,CAAC;AAE3F,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,GAAG,EAAE,UAAU,EAAE,CAAC;IAClB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,EAAE,UAAU,CAAC;IAC7B,KAAK,EAAE,gBAAgB,CAAC;IACxB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,kBAAkB,CAAC,EAAE,gBAAgB,CAAC;IACtC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,YAAY,CAAC;IAC3D,YAAY,IAAI,sBAAsB,CAAC;CACxC;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,+BAA+B,KAAA,KAAK,IAAI,CAAC;CACvE"}
@@ -33,6 +33,9 @@ it('createOfficeTheme test', () => {
33
33
  const officeTheme = createOfficeTheme({ paletteName: 'TaskPane', appearance: 'light' }).theme;
34
34
  expect(officeTheme).toMatchSnapshot();
35
35
  });
36
+ it('preserves high contrast identity on the direct legacy theme path', () => {
37
+ expect(createOfficeTheme({ paletteName: 'TaskPane', appearance: 'highContrast' }).theme.host.appearance).toBe('highContrast');
38
+ });
36
39
  it.concurrent.each(officeThemes)('createBrandedThemeWithAlias test themeName: %s', async (themeName) => {
37
40
  setCurrentHostThemeSetting('Colorful');
38
41
  const officeTheme = createOfficeTheme({ paletteName: 'TaskPane', appearance: 'light' }).theme;
@@ -1 +1 @@
1
- {"version":3,"file":"win32-theme.test.js","sourceRoot":"","sources":["../../src/__tests__/win32-theme.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"win32-theme.test.js","sourceRoot":"","sources":["../../src/__tests__/win32-theme.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { globalTokens } from '@fluentui-react-native/theme-tokens';
1
+ import { globalTokens } from '@fluentui-react-native/design/tokens/legacy';
2
2
  export function createBrandedThemeWithAlias(themeName, theme) {
3
3
  if (themeName === 'HighContrast' || !theme.host.colors) {
4
4
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"createBrandedThemeWithAlias.js","sourceRoot":"","sources":["../src/createBrandedThemeWithAlias.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createBrandedThemeWithAlias.js","sourceRoot":"","sources":["../src/createBrandedThemeWithAlias.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { memoize } from '@fluentui-react-native/framework-base';
2
- import { mapFontPipelineToTheme } from '@fluentui-react-native/theming-utils';
2
+ import { mapFontPipelineToTheme } from '@fluentui-react-native/design/theming';
3
3
  import { getOfficeAliasTokens } from './getOfficeTokens';
4
4
  function createFontAliasTokensWorker() {
5
5
  const aliasTokens = getOfficeAliasTokens('Colorful');
@@ -1 +1 @@
1
- {"version":3,"file":"createFontAliasTokens.js","sourceRoot":"","sources":["../src/createFontAliasTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAEhE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,SAAS,2BAA2B;IAClC,MAAM,WAAW,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACrD,OAAO,sBAAsB,CAAC,WAAW,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC"}
1
+ {"version":3,"file":"createFontAliasTokens.js","sourceRoot":"","sources":["../src/createFontAliasTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAEhE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,SAAS,2BAA2B;IAClC,MAAM,WAAW,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACrD,OAAO,sBAAsB,CAAC,WAAW,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { memoize } from '@fluentui-react-native/framework-base';
2
- import { mapPipelineToShadow, mapPipelineToTheme } from '@fluentui-react-native/theming-utils';
2
+ import { mapPipelineToShadow, mapPipelineToTheme } from '@fluentui-react-native/design/theming';
3
3
  import { getOfficeAliasTokens, getOfficeShadowTokens } from './getOfficeTokens';
4
4
  function createOfficeColorAliasTokensWorker(officeTheme) {
5
5
  const aliasTokens = getOfficeAliasTokens(officeTheme);
@@ -1 +1 @@
1
- {"version":3,"file":"createOfficeAliasTokens.js","sourceRoot":"","sources":["../src/createOfficeAliasTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE/F,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAEhF,SAAS,kCAAkC,CAAC,WAAmB;IAC7D,MAAM,WAAW,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACtD,OAAO,kBAAkB,CAAC,WAAW,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;AAExF,SAAS,mCAAmC,CAAC,WAAmB;IAC9D,MAAM,WAAW,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACvD,OAAO,mBAAmB,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,MAAM,6BAA6B,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC"}
1
+ {"version":3,"file":"createOfficeAliasTokens.js","sourceRoot":"","sources":["../src/createOfficeAliasTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAEhE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAEhG,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAEhF,SAAS,kCAAkC,CAAC,WAAmB;IAC7D,MAAM,WAAW,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACtD,OAAO,kBAAkB,CAAC,WAAW,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;AAExF,SAAS,mCAAmC,CAAC,WAAmB;IAC9D,MAAM,WAAW,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACvD,OAAO,mBAAmB,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,MAAM,6BAA6B,GAAG,OAAO,CAAC,mCAAmC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createOfficeTheme.d.ts","sourceRoot":"","sources":["../src/createOfficeTheme.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,KAAK,EAAwB,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAgBhG;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,YAAiB,GAAG,cAAc,CAyD5E"}
1
+ {"version":3,"file":"createOfficeTheme.d.ts","sourceRoot":"","sources":["../src/createOfficeTheme.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,cAAc,EACf,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAKV,YAAY,EACb,MAAM,uCAAuC,CAAC;AAgB/C;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,YAAiB,GAAG,cAAc,CAsG5E"}
@@ -1,12 +1,12 @@
1
1
  import { createDefaultTheme } from '@fluentui-react-native/default-theme';
2
- import { ThemeReference } from '@fluentui-react-native/design/theming';
2
+ import { appearanceOptionFromResolved, appearanceOptionsFromLegacy, createThemeAppearanceSource, ThemeReference, } from '@fluentui-react-native/design/theming';
3
3
  import { createAliasesFromPalette } from './createAliasesFromPalette';
4
4
  import { createBrandedThemeWithAlias } from './createBrandedThemeWithAlias';
5
5
  import { createOfficeColorAliasTokens, createOfficeShadowAliasTokens } from './createOfficeAliasTokens';
6
6
  import { createPartialOfficeTheme } from './createPartialOfficeTheme';
7
7
  import { win32Typography } from './getThemeTypography';
8
8
  import { getThemingModule } from './NativeModule/getThemingModule';
9
- import { getCurrentHostThemeSetting, setCurrentHostThemeSetting } from './NativeModule/hostThemeSetting';
9
+ import { getCurrentHostThemeState, setCurrentHostThemeState } from './NativeModule/hostThemeSetting';
10
10
  function handlePaletteCall(palette) {
11
11
  const exception = palette;
12
12
  return exception && exception.message !== undefined ? undefined : palette;
@@ -22,47 +22,115 @@ function handlePaletteCall(palette) {
22
22
  */
23
23
  export function createOfficeTheme(options = {}) {
24
24
  const [module, emitter] = getThemingModule();
25
- const ref = { module, emitter, themeName: getCurrentHostThemeSetting() || '' };
25
+ const currentHostState = getCurrentHostThemeState();
26
+ const ref = { module, emitter, themeName: currentHostState.hostThemeSetting || '' };
26
27
  const { paletteName } = options;
27
- const themeRef = new ThemeReference(createDefaultTheme(options), () => {
28
- const name = paletteName || 'WhiteColors';
29
- const palette = handlePaletteCall(ref.module.getPalette(name));
30
- return createPartialOfficeTheme(module, ref.themeName, palette);
31
- }, () => {
32
- if (!ref.themeName || ref.themeName === '') {
33
- return {};
34
- }
35
- return {
36
- shadows: { ...createOfficeShadowAliasTokens(ref.themeName) },
37
- typography: win32Typography(),
38
- };
39
- }, () => {
40
- if (!ref.themeName || ref.themeName === '') {
41
- return {};
42
- }
43
- return {
44
- colors: { ...createOfficeColorAliasTokens(ref.themeName) },
45
- typography: win32Typography(),
46
- };
47
- }, (theme) => {
48
- return createBrandedThemeWithAlias(ref.themeName, theme);
49
- }, (theme) => {
50
- if (!theme.host.palette) {
51
- return {};
28
+ const constants = module.getConstants();
29
+ let colorScheme = currentHostState.hostThemeSetting ? currentHostState.colorScheme : constants.initialColorScheme;
30
+ let isHighContrast = currentHostState.hostThemeSetting ? currentHostState.isHighContrast : constants.initialIsHighContrast;
31
+ const themeRefHolder = {};
32
+ const updateOfficeState = (themeName, nextColorScheme, nextIsHighContrast) => {
33
+ const nextThemeName = themeName || ref.themeName;
34
+ const changed = nextThemeName !== ref.themeName || nextColorScheme !== colorScheme || nextIsHighContrast !== isHighContrast;
35
+ ref.themeName = nextThemeName;
36
+ colorScheme = nextColorScheme;
37
+ isHighContrast = nextIsHighContrast;
38
+ setCurrentHostThemeState({
39
+ hostThemeSetting: ref.themeName,
40
+ colorScheme,
41
+ isHighContrast,
42
+ });
43
+ return changed;
44
+ };
45
+ const appearanceSource = createThemeAppearanceSource(() => getOfficeAppearance(ref.themeName, colorScheme, isHighContrast), emitter
46
+ ? (listener) => {
47
+ const subscription = emitter.addListener('onPlatformDefaultsChanged', (args) => {
48
+ updateOfficeState(args?.hostThemeSetting, args?.colorScheme, args?.isHighContrast);
49
+ themeRefHolder.current?.invalidate();
50
+ listener();
51
+ });
52
+ const currentState = getCurrentHostThemeState();
53
+ if (updateOfficeState(currentState.hostThemeSetting, currentState.colorScheme, currentState.isHighContrast)) {
54
+ themeRefHolder.current?.invalidate();
55
+ }
56
+ listener();
57
+ return () => subscription.remove();
52
58
  }
53
- return {
54
- ...(paletteName !== undefined && { colors: createAliasesFromPalette(theme.host.palette, ref.themeName === 'HighContrast') }),
55
- typography: win32Typography(),
56
- };
59
+ : undefined);
60
+ const themeRef = new ThemeReference({
61
+ base: createDefaultTheme(options),
62
+ getAppearance: () => options.appearance
63
+ ? appearanceOptionsFromLegacy(options.appearance)
64
+ : { colorScheme: 'system', contrast: 'system', interfaceLevel: 'base' },
65
+ appearanceSource,
66
+ alwaysSubscribeToAppearanceSource: true,
67
+ recipes: [
68
+ () => {
69
+ const name = paletteName || 'WhiteColors';
70
+ const palette = handlePaletteCall(ref.module.getPalette(name));
71
+ return createPartialOfficeTheme(module, ref.themeName, palette);
72
+ },
73
+ () => {
74
+ if (!ref.themeName || ref.themeName === '') {
75
+ return {};
76
+ }
77
+ return {
78
+ shadows: { ...createOfficeShadowAliasTokens(ref.themeName) },
79
+ typography: win32Typography(),
80
+ };
81
+ },
82
+ () => {
83
+ if (!ref.themeName || ref.themeName === '') {
84
+ return {};
85
+ }
86
+ return {
87
+ colors: { ...createOfficeColorAliasTokens(ref.themeName) },
88
+ typography: win32Typography(),
89
+ };
90
+ },
91
+ (theme) => {
92
+ return createBrandedThemeWithAlias(ref.themeName, theme);
93
+ },
94
+ (theme) => {
95
+ if (!theme.host.palette) {
96
+ return {};
97
+ }
98
+ return {
99
+ ...(paletteName !== undefined && { colors: createAliasesFromPalette(theme.host.palette, ref.themeName === 'HighContrast') }),
100
+ typography: win32Typography(),
101
+ };
102
+ },
103
+ (_theme, appearance) => ({
104
+ host: {
105
+ appearance: appearance ? appearanceOptionFromResolved(appearance) : undefined,
106
+ },
107
+ }),
108
+ ],
57
109
  });
58
- // set up the callback for theme changes on the native side
59
- const onPlatformDefaultsChanged = (args) => {
60
- ref.themeName = (args && args.hostThemeSetting) || ref.themeName;
61
- setCurrentHostThemeSetting(ref.themeName);
62
- themeRef.invalidate();
63
- };
64
- emitter && emitter.addListener('onPlatformDefaultsChanged', onPlatformDefaultsChanged);
65
- // now return the theme reference
110
+ themeRefHolder.current = themeRef;
66
111
  return themeRef;
67
112
  }
113
+ function getOfficeAppearance(themeName, colorScheme, isHighContrast) {
114
+ if (colorScheme || isHighContrast !== undefined) {
115
+ return {
116
+ colorScheme,
117
+ contrast: isHighContrast ? 'highContrast' : 'standard',
118
+ interfaceLevel: 'base',
119
+ };
120
+ }
121
+ switch (themeName) {
122
+ case 'Black':
123
+ case 'DarkGray':
124
+ return { colorScheme: 'dark', contrast: 'standard', interfaceLevel: 'base' };
125
+ case 'HighContrast':
126
+ // Transitional until the native contract exposes scheme and contrast as
127
+ // separate fields rather than one host-theme name.
128
+ return { contrast: 'highContrast', interfaceLevel: 'base' };
129
+ case 'Colorful':
130
+ case 'White':
131
+ return { colorScheme: 'light', contrast: 'standard', interfaceLevel: 'base' };
132
+ default:
133
+ return { interfaceLevel: 'base' };
134
+ }
135
+ }
68
136
  //# sourceMappingURL=createOfficeTheme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createOfficeTheme.js","sourceRoot":"","sources":["../src/createOfficeTheme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createOfficeTheme.js","sourceRoot":"","sources":["../src/createOfficeTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,cAAc,GACf,MAAM,uCAAuC,CAAC;AAS/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AACxG,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAGrG,SAAS,iBAAiB,CAAC,OAAqC;IAC9D,MAAM,SAAS,GAAG,OAAuB,CAAC;IAC1C,OAAO,SAAS,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,OAAyB,CAAC;AAC/F,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAO,GAAiB,EAAE;IAC1D,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,EAAE,CAAC;IAC7C,MAAM,gBAAgB,GAAG,wBAAwB,EAAE,CAAC;IACpD,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,CAAC,gBAAgB,IAAI,EAAE,EAAE,CAAC;IACpF,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAChC,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IACxC,IAAI,WAAW,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC;IAClH,IAAI,cAAc,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC;IAC3H,MAAM,cAAc,GAAiC,EAAE,CAAC;IACxD,MAAM,iBAAiB,GAAG,CACxB,SAA6B,EAC7B,eAA6D,EAC7D,kBAAuC,EACvC,EAAE;QACF,MAAM,aAAa,GAAG,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC;QACjD,MAAM,OAAO,GAAG,aAAa,KAAK,GAAG,CAAC,SAAS,IAAI,eAAe,KAAK,WAAW,IAAI,kBAAkB,KAAK,cAAc,CAAC;QAC5H,GAAG,CAAC,SAAS,GAAG,aAAa,CAAC;QAC9B,WAAW,GAAG,eAAe,CAAC;QAC9B,cAAc,GAAG,kBAAkB,CAAC;QACpC,wBAAwB,CAAC;YACvB,gBAAgB,EAAE,GAAG,CAAC,SAAS;YAC/B,WAAW;YACX,cAAc;SACf,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IACF,MAAM,gBAAgB,GAA0B,2BAA2B,CACzE,GAAG,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,cAAc,CAAC,EACrE,OAAO;QACL,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE;YACX,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,2BAA2B,EAAE,CAAC,IAAiC,EAAE,EAAE;gBAC1G,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;gBACnF,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;gBACrC,QAAQ,EAAE,CAAC;YACb,CAAC,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,wBAAwB,EAAE,CAAC;YAChD,IAAI,iBAAiB,CAAC,YAAY,CAAC,gBAAgB,EAAE,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC5G,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;YACvC,CAAC;YACD,QAAQ,EAAE,CAAC;YACX,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QACrC,CAAC;QACH,CAAC,CAAC,SAAS,CACd,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC;QAClC,IAAI,EAAE,kBAAkB,CAAC,OAAO,CAAC;QACjC,aAAa,EAAE,GAAG,EAAE,CAClB,OAAO,CAAC,UAAU;YAChB,CAAC,CAAC,2BAA2B,CAAC,OAAO,CAAC,UAAU,CAAC;YACjD,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE;QAC3E,gBAAgB;QAChB,iCAAiC,EAAE,IAAI;QACvC,OAAO,EAAE;YACP,GAAG,EAAE;gBACH,MAAM,IAAI,GAAG,WAAW,IAAI,aAAa,CAAC;gBAC1C,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC/D,OAAO,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAClE,CAAC;YACD,GAAG,EAAE;gBACH,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,EAAE,EAAE,CAAC;oBAC3C,OAAO,EAAE,CAAC;gBACZ,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE,EAAE,GAAG,6BAA6B,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oBAC5D,UAAU,EAAE,eAAe,EAAE;iBAC9B,CAAC;YACJ,CAAC;YACD,GAAG,EAAE;gBACH,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,KAAK,EAAE,EAAE,CAAC;oBAC3C,OAAO,EAAE,CAAC;gBACZ,CAAC;gBAED,OAAO;oBACL,MAAM,EAAE,EAAE,GAAG,4BAA4B,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oBAC1D,UAAU,EAAE,eAAe,EAAE;iBAC9B,CAAC;YACJ,CAAC;YACD,CAAC,KAAY,EAAE,EAAE;gBACf,OAAO,2BAA2B,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC3D,CAAC;YACD,CAAC,KAAY,EAAE,EAAE;gBACf,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACxB,OAAO,EAAE,CAAC;gBACZ,CAAC;gBAED,OAAO;oBACL,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,KAAK,cAAc,CAAC,EAAE,CAAC;oBAC5H,UAAU,EAAE,eAAe,EAAE;iBAC9B,CAAC;YACJ,CAAC;YACD,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;gBACvB,IAAI,EAAE;oBACJ,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;iBAC9E;aACF,CAAC;SACH;KACF,CAAC,CAAC;IACH,cAAc,CAAC,OAAO,GAAG,QAAQ,CAAC;IAElC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,mBAAmB,CAC1B,SAAiB,EACjB,WAA0D,EAC1D,cAAwB;IAExB,IAAI,WAAW,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO;YACL,WAAW;YACX,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU;YACtD,cAAc,EAAE,MAAM;SACvB,CAAC;IACJ,CAAC;IAED,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,OAAO,CAAC;QACb,KAAK,UAAU;YACb,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;QAC/E,KAAK,cAAc;YACjB,wEAAwE;YACxE,mDAAmD;YACnD,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;QAC9D,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;QAChF;YACE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;IACtC,CAAC;AACH,CAAC"}