@framework-m/ui 0.2.5 → 0.3.0

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 (35) hide show
  1. package/dist/components/Button.d.ts +26 -9
  2. package/dist/components/Button.d.ts.map +1 -1
  3. package/dist/components/Card.d.ts +19 -0
  4. package/dist/components/Card.d.ts.map +1 -0
  5. package/dist/components/Input.d.ts +30 -0
  6. package/dist/components/Input.d.ts.map +1 -0
  7. package/dist/components/Primitives.d.ts +40 -0
  8. package/dist/components/Primitives.d.ts.map +1 -0
  9. package/dist/components/index.d.ts +7 -3
  10. package/dist/components/index.d.ts.map +1 -1
  11. package/dist/index.d.ts +7 -28
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +1980 -1548
  14. package/dist/index.js.map +1 -1
  15. package/dist/theme/MProvider.d.ts +6 -0
  16. package/dist/theme/MProvider.d.ts.map +1 -0
  17. package/dist/theme/index.d.ts +4 -4
  18. package/dist/theme/index.d.ts.map +1 -1
  19. package/dist/theme/{tamaguiConfig.d.ts → mThemeConfig.d.ts} +5 -5
  20. package/dist/theme/mThemeConfig.d.ts.map +1 -0
  21. package/dist/tokens/config.d.ts +37 -0
  22. package/dist/tokens/config.d.ts.map +1 -0
  23. package/dist/tokens/generate.d.ts +2 -0
  24. package/dist/tokens/generate.d.ts.map +1 -0
  25. package/dist/tokens/index.d.ts +2 -2
  26. package/dist/tokens/index.d.ts.map +1 -1
  27. package/dist/ui.css +1 -0
  28. package/package.json +11 -5
  29. package/dist/components/TamaguiPrimitives.d.ts +0 -7
  30. package/dist/components/TamaguiPrimitives.d.ts.map +0 -1
  31. package/dist/theme/TamaguiProvider.d.ts +0 -6
  32. package/dist/theme/TamaguiProvider.d.ts.map +0 -1
  33. package/dist/theme/tamaguiConfig.d.ts.map +0 -1
  34. package/dist/tokens/tamagui.d.ts +0 -31
  35. package/dist/tokens/tamagui.d.ts.map +0 -1
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from 'react';
2
+ export interface MProviderProps {
3
+ children: ReactNode;
4
+ }
5
+ export declare function MProvider({ children }: Readonly<MProviderProps>): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=MProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MProvider.d.ts","sourceRoot":"","sources":["../../src/theme/MProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,cAAc,CAAC,2CAW/D"}
@@ -1,8 +1,8 @@
1
1
  export { ThemeProvider, useTheme } from './ThemeContext';
2
2
  export type { Theme, ThemeContextType, ThemeProviderProps, } from './ThemeContext';
3
3
  export { ThemeToggle } from './ThemeToggle';
4
- export { tamaguiConfig } from './tamaguiConfig';
5
- export type { FrameworkMTamaguiConfig } from './tamaguiConfig';
6
- export { TamaguiProvider } from './TamaguiProvider';
7
- export type { TamaguiProviderProps } from './TamaguiProvider';
4
+ export { mThemeConfig } from './mThemeConfig';
5
+ export type { MThemeConfig } from './mThemeConfig';
6
+ export { MProvider } from './MProvider';
7
+ export type { MProviderProps } from './MProvider';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EACV,KAAK,EACL,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EACV,KAAK,EACL,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -1,4 +1,4 @@
1
- export declare const tamaguiConfig: import('@tamagui/core').TamaguiInternalConfig<{
1
+ export declare const mThemeConfig: import('@tamagui/core').TamaguiInternalConfig<{
2
2
  color: {
3
3
  [x: string]: import('@tamagui/core').Variable<string>;
4
4
  };
@@ -31,11 +31,11 @@ export declare const tamaguiConfig: import('@tamagui/core').TamaguiInternalConfi
31
31
  [x: string]: import('@tamagui/core').Variable<string | number>;
32
32
  };
33
33
  }, "color" | "space" | "size" | "radius" | "zIndex">, {
34
- light: import('..').TamaguiTheme;
35
- dark: import('..').TamaguiTheme;
34
+ light: import('..').MTheme;
35
+ dark: import('..').MTheme;
36
36
  }, {}, {}, {}, {}, {
37
37
  allowedStyleValues: false;
38
38
  autocompleteSpecificTokens: "except-special";
39
39
  }, "default">;
40
- export type FrameworkMTamaguiConfig = typeof tamaguiConfig;
41
- //# sourceMappingURL=tamaguiConfig.d.ts.map
40
+ export type MThemeConfig = typeof mThemeConfig;
41
+ //# sourceMappingURL=mThemeConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mThemeConfig.d.ts","sourceRoot":"","sources":["../../src/theme/mThemeConfig.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAIvB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC"}
@@ -0,0 +1,37 @@
1
+ export interface MTokenScale {
2
+ [key: string]: string | number;
3
+ }
4
+ export interface MTokens {
5
+ color: MTokenScale;
6
+ space: MTokenScale;
7
+ size: MTokenScale;
8
+ radius: MTokenScale;
9
+ zIndex: MTokenScale;
10
+ }
11
+ export interface MTheme {
12
+ [key: string]: string | number;
13
+ background: string;
14
+ backgroundSecondary: string;
15
+ backgroundTertiary: string;
16
+ color: string;
17
+ colorSecondary: string;
18
+ colorMuted: string;
19
+ borderColor: string;
20
+ borderColorMuted: string;
21
+ placeholderColor: string;
22
+ primary: string;
23
+ secondary: string;
24
+ success: string;
25
+ warning: string;
26
+ error: string;
27
+ shadowColor: string;
28
+ }
29
+ export interface MDesignConfig {
30
+ tokens: MTokens;
31
+ themes: {
32
+ light: MTheme;
33
+ dark: MTheme;
34
+ };
35
+ }
36
+ export declare function generateMDesignConfig(): MDesignConfig;
37
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/tokens/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,MAAM;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAqDD,wBAAgB,qBAAqB,IAAI,aAAa,CAsCrD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/tokens/generate.ts"],"names":[],"mappings":""}
@@ -1,8 +1,8 @@
1
1
  import { default as colors } from './colors.json';
2
2
  import { default as typography } from './typography.json';
3
3
  import { default as spacing } from './spacing.json';
4
- export { generateTamaguiTokensAndThemes } from './tamagui';
5
- export type { GeneratedTamaguiConfig, TamaguiTheme, TamaguiTokens, } from './tamagui';
4
+ export { generateMDesignConfig } from './config';
5
+ export type { MDesignConfig, MTheme, MTokens, } from './config';
6
6
  export { colors, typography, spacing };
7
7
  export type ColorToken = typeof colors;
8
8
  export type TypographyToken = typeof typography;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tokens/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,MAAM,MAAM,eAAe,CAAC;AACnC,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAC;AAC3D,YAAY,EACV,sBAAsB,EACtB,YAAY,EACZ,aAAa,GACd,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AAEvC,MAAM,MAAM,UAAU,GAAG,OAAO,MAAM,CAAC;AACvC,MAAM,MAAM,eAAe,GAAG,OAAO,UAAU,CAAC;AAChD,MAAM,MAAM,YAAY,GAAG,OAAO,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tokens/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,MAAM,MAAM,eAAe,CAAC;AACnC,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,YAAY,EACV,aAAa,EACb,MAAM,EACN,OAAO,GACR,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AAEvC,MAAM,MAAM,UAAU,GAAG,OAAO,MAAM,CAAC;AACvC,MAAM,MAAM,eAAe,GAAG,OAAO,UAAU,CAAC;AAChD,MAAM,MAAM,YAAY,GAAG,OAAO,OAAO,CAAC"}
package/dist/ui.css ADDED
@@ -0,0 +1 @@
1
+ :root{--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--font-sans: "Google Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--size-xs: .75rem;--size-sm: .875rem;--size-base: .875rem;--size-md: 1rem;--size-lg: 1.125rem;--size-xl: 1.375rem;--size-2xl: 1.75rem;--size-3xl: 2rem;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.6}:root{--color-primary: #7C3AED;--color-primary-hover: #7C3AED;--color-primary-active: #6D28D9;--color-bg: #FFFFFF;--color-bg-secondary: #F8FAFC;--color-bg-tertiary: #F1F5F9;--color-border: #E2E8F0;--color-text: #0F172A;--color-text-secondary: #64748B;--color-text-muted: #94A3B8;--color-sidebar-bg: #021526;--color-sidebar-text: #E2E8F0;--color-sidebar-text-muted: rgba(255, 255, 255, .65);--color-sidebar-hover: rgba(139, 92, 246, .15);--color-sidebar-search-bg: rgba(255, 255, 255, .1);--color-sidebar-item-active-bg: rgba(139, 92, 246, .3);--color-success: #22C55E;--color-warning: #F59E0B;--color-error: #EF4444;--color-error-bg: #FFF2F0;--color-error-border: #FFCCC7;--color-focus-ring: rgba(139, 92, 246, .25)}.dark{--color-primary: #A78BFA;--color-primary-hover: #8B5CF6;--color-primary-active: #7C3AED;--color-bg: #021526;--color-bg-secondary: #0F1F3A;--color-bg-tertiary: #1E3358;--color-border: #1E3358;--color-text: #F1F5F9;--color-text-secondary: #CBD5E1;--color-text-muted: #94A3B8;--color-sidebar-bg: #01101E;--color-sidebar-text: #E2E8F0;--color-sidebar-text-muted: #94A3B8;--color-sidebar-hover: rgba(167, 139, 250, .15);--color-sidebar-search-bg: rgba(255, 255, 255, .05);--color-sidebar-item-active-bg: rgba(167, 139, 250, .2);--color-success: #22C55E;--color-warning: #F59E0B;--color-error: #EF4444;--color-error-bg: rgba(239, 68, 68, .1);--color-error-border: rgba(239, 68, 68, .3);--color-focus-ring: rgba(167, 139, 250, .3)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@framework-m/ui",
3
- "version": "0.2.5",
3
+ "version": "0.3.0",
4
4
  "description": "Design system primitives for Framework M — presentational components with no business logic",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -9,7 +9,12 @@
9
9
  "exports": {
10
10
  ".": {
11
11
  "types": "./dist/index.d.ts",
12
- "import": "./dist/index.js"
12
+ "import": "./dist/index.js",
13
+ "development": "./src/index.ts"
14
+ },
15
+ "./ui.css": {
16
+ "import": "./dist/ui.css",
17
+ "development": "./src/theme.css"
13
18
  }
14
19
  },
15
20
  "files": [
@@ -40,20 +45,21 @@
40
45
  "@testing-library/react": "^16.3.2",
41
46
  "@types/react": "^19.2.14",
42
47
  "@vitejs/plugin-react": "^4.7.0",
43
- "happy-dom": "^20.8.8",
48
+ "happy-dom": "^20.8.9",
44
49
  "react": "^19.2.4",
45
50
  "react-dom": "^19.2.4",
46
51
  "storybook": "^9.1.20",
47
52
  "typescript": "^5.9.3",
48
53
  "vite": "^6.4.1",
49
54
  "vite-plugin-dts": "^4.5.4",
50
- "vitest": "^4.1.1"
55
+ "vitest": "^4.1.2"
51
56
  },
52
57
  "publishConfig": {
53
58
  "access": "public"
54
59
  },
55
60
  "dependencies": {
56
- "@tamagui/core": "2.0.0-rc.26"
61
+ "@tamagui/core": "2.0.0-rc.26",
62
+ "@tamagui/timer": "2.0.0-rc.26"
57
63
  },
58
64
  "scripts": {
59
65
  "build": "tsc && vite build",
@@ -1,7 +0,0 @@
1
- import { ComponentProps } from 'react';
2
- import { View, Text } from '@tamagui/core';
3
- export type TamaguiStackProps = ComponentProps<typeof View>;
4
- export type TamaguiTextProps = ComponentProps<typeof Text>;
5
- export declare function TamaguiStack(props: TamaguiStackProps): import("react/jsx-runtime").JSX.Element;
6
- export declare function TamaguiText(props: TamaguiTextProps): import("react/jsx-runtime").JSX.Element;
7
- //# sourceMappingURL=TamaguiPrimitives.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TamaguiPrimitives.d.ts","sourceRoot":"","sources":["../../src/components/TamaguiPrimitives.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,IAAI,CAAC,CAAC;AAC5D,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,IAAI,CAAC,CAAC;AAE3D,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CAEpD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAElD"}
@@ -1,6 +0,0 @@
1
- import { ReactNode } from 'react';
2
- export interface TamaguiProviderProps {
3
- children: ReactNode;
4
- }
5
- export declare function TamaguiProvider({ children }: Readonly<TamaguiProviderProps>): import("react/jsx-runtime").JSX.Element;
6
- //# sourceMappingURL=TamaguiProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TamaguiProvider.d.ts","sourceRoot":"","sources":["../../src/theme/TamaguiProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,oBAAoB,CAAC,2CAY3E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tamaguiConfig.d.ts","sourceRoot":"","sources":["../../src/theme/tamaguiConfig.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAIxB,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,OAAO,aAAa,CAAC"}
@@ -1,31 +0,0 @@
1
- export interface TamaguiTokenScale {
2
- [key: string]: string | number;
3
- }
4
- export interface TamaguiTokens {
5
- color: TamaguiTokenScale;
6
- space: TamaguiTokenScale;
7
- size: TamaguiTokenScale;
8
- radius: TamaguiTokenScale;
9
- zIndex: TamaguiTokenScale;
10
- }
11
- export interface TamaguiTheme {
12
- [key: string]: string | number;
13
- background: string;
14
- color: string;
15
- borderColor: string;
16
- placeholderColor: string;
17
- primary: string;
18
- secondary: string;
19
- success: string;
20
- warning: string;
21
- error: string;
22
- }
23
- export interface GeneratedTamaguiConfig {
24
- tokens: TamaguiTokens;
25
- themes: {
26
- light: TamaguiTheme;
27
- dark: TamaguiTheme;
28
- };
29
- }
30
- export declare function generateTamaguiTokensAndThemes(): GeneratedTamaguiConfig;
31
- //# sourceMappingURL=tamagui.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tamagui.d.ts","sourceRoot":"","sources":["../../src/tokens/tamagui.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,iBAAiB;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,iBAAiB,CAAC;IACzB,KAAK,EAAE,iBAAiB,CAAC;IACzB,IAAI,EAAE,iBAAiB,CAAC;IACxB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE;QACN,KAAK,EAAE,YAAY,CAAC;QACpB,IAAI,EAAE,YAAY,CAAC;KACpB,CAAC;CACH;AA2DD,wBAAgB,8BAA8B,IAAI,sBAAsB,CAmBvE"}