@charcoal-ui/styled 2.4.0 → 2.6.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 (67) hide show
  1. package/dist/SetThemeScript.d.ts +20 -20
  2. package/dist/TokenInjector.d.ts +12 -12
  3. package/dist/TokenInjector.d.ts.map +1 -1
  4. package/dist/builders/border.d.ts +10 -0
  5. package/dist/builders/border.d.ts.map +1 -0
  6. package/dist/builders/borderRadius.d.ts +7 -0
  7. package/dist/builders/borderRadius.d.ts.map +1 -0
  8. package/dist/builders/colors.d.ts +13 -0
  9. package/dist/builders/colors.d.ts.map +1 -0
  10. package/dist/builders/elementEffect.d.ts +7 -0
  11. package/dist/builders/elementEffect.d.ts.map +1 -0
  12. package/dist/builders/o.d.ts +114 -0
  13. package/dist/builders/o.d.ts.map +1 -0
  14. package/dist/builders/outline.d.ts +10 -0
  15. package/dist/builders/outline.d.ts.map +1 -0
  16. package/dist/builders/size.d.ts +23 -0
  17. package/dist/builders/size.d.ts.map +1 -0
  18. package/dist/builders/spacing.d.ts +15 -0
  19. package/dist/builders/spacing.d.ts.map +1 -0
  20. package/dist/builders/transition.d.ts +7 -0
  21. package/dist/builders/transition.d.ts.map +1 -0
  22. package/dist/builders/typography.d.ts +11 -0
  23. package/dist/builders/typography.d.ts.map +1 -0
  24. package/dist/defineThemeVariables.test.d.ts +1 -1
  25. package/dist/{lib.d.ts → factories/lib.d.ts} +88 -89
  26. package/dist/factories/lib.d.ts.map +1 -0
  27. package/dist/helper.d.ts +38 -38
  28. package/dist/helper.d.ts.map +1 -1
  29. package/dist/index.cjs.js +918 -0
  30. package/dist/index.cjs.js.map +1 -0
  31. package/dist/index.d.ts +128 -67
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.esm.js +886 -0
  34. package/dist/index.esm.js.map +1 -0
  35. package/dist/index.story.d.ts +25 -24
  36. package/dist/index.story.d.ts.map +1 -1
  37. package/dist/index.test.d.ts +2 -0
  38. package/dist/index.test.d.ts.map +1 -0
  39. package/dist/internals/index.d.ts +42 -0
  40. package/dist/internals/index.d.ts.map +1 -0
  41. package/dist/util.d.ts +100 -66
  42. package/dist/util.d.ts.map +1 -1
  43. package/package.json +19 -16
  44. package/src/__snapshots__/index.test.tsx.snap +768 -0
  45. package/src/builders/border.ts +63 -0
  46. package/src/builders/borderRadius.ts +32 -0
  47. package/src/builders/colors.ts +198 -0
  48. package/src/builders/elementEffect.ts +54 -0
  49. package/src/builders/o.ts +36 -0
  50. package/src/builders/outline.ts +79 -0
  51. package/src/builders/size.ts +61 -0
  52. package/src/builders/spacing.ts +113 -0
  53. package/src/builders/transition.ts +32 -0
  54. package/src/builders/typography.ts +97 -0
  55. package/src/{lib.ts → factories/lib.ts} +30 -25
  56. package/src/index.story.tsx +2 -2
  57. package/src/index.test.tsx +24 -0
  58. package/src/index.ts +36 -696
  59. package/src/internals/index.ts +84 -0
  60. package/src/util.ts +46 -3
  61. package/dist/index.cjs +0 -1051
  62. package/dist/index.cjs.map +0 -1
  63. package/dist/index.modern.js +0 -826
  64. package/dist/index.modern.js.map +0 -1
  65. package/dist/index.module.js +0 -1034
  66. package/dist/index.module.js.map +0 -1
  67. package/dist/lib.d.ts.map +0 -1
@@ -1,21 +1,21 @@
1
- interface Props {
2
- localStorageKey: string;
3
- rootAttribute: string;
4
- }
5
- /**
6
- * 同期的にテーマをローカルストレージから取得してhtmlの属性に設定するコードを取得する
7
- * @param props localStorageのキー、htmlのdataになる属性のキーを含むオブジェクト
8
- * @returns ソースコードの文字列
9
- */
10
- export declare function makeSetThemeScriptCode({ localStorageKey, rootAttribute, }?: Partial<Props>): string;
11
- /**
12
- * 同期的にテーマをローカルストレージから取得してhtmlの属性に設定するスクリプトタグ
13
- * @param props localStorageのキー、htmlのdataになる属性のキーを含むオブジェクト
14
- * @returns
15
- */
16
- export declare function SetThemeScript(props: Props): JSX.Element;
17
- export declare namespace SetThemeScript {
18
- var defaultProps: Props;
19
- }
20
- export {};
1
+ interface Props {
2
+ localStorageKey: string;
3
+ rootAttribute: string;
4
+ }
5
+ /**
6
+ * 同期的にテーマをローカルストレージから取得してhtmlの属性に設定するコードを取得する
7
+ * @param props localStorageのキー、htmlのdataになる属性のキーを含むオブジェクト
8
+ * @returns ソースコードの文字列
9
+ */
10
+ export declare function makeSetThemeScriptCode({ localStorageKey, rootAttribute, }?: Partial<Props>): string;
11
+ /**
12
+ * 同期的にテーマをローカルストレージから取得してhtmlの属性に設定するスクリプトタグ
13
+ * @param props localStorageのキー、htmlのdataになる属性のキーを含むオブジェクト
14
+ * @returns
15
+ */
16
+ export declare function SetThemeScript(props: Props): JSX.Element;
17
+ export declare namespace SetThemeScript {
18
+ var defaultProps: Props;
19
+ }
20
+ export {};
21
21
  //# sourceMappingURL=SetThemeScript.d.ts.map
@@ -1,13 +1,13 @@
1
- import { CharcoalAbstractTheme } from '@charcoal-ui/theme';
2
- export interface ThemeMap<T extends Theme> {
3
- ':root': T;
4
- [mediaQuery: `@media (${string})`]: T;
5
- [selector: string]: T;
6
- }
7
- declare type Theme = Pick<CharcoalAbstractTheme, 'color' | 'effect'>;
8
- export default function TokenInjector<T extends Theme>({ theme: themeMap, background, }: {
9
- theme: ThemeMap<T>;
10
- background?: keyof ThemeMap<T>[string]['color'];
11
- }): JSX.Element;
12
- export {};
1
+ import { CharcoalAbstractTheme } from '@charcoal-ui/theme';
2
+ export interface ThemeMap<T extends Theme> {
3
+ ':root': T;
4
+ [mediaQuery: `@media (${string})`]: T;
5
+ [selector: string]: T;
6
+ }
7
+ type Theme = Pick<CharcoalAbstractTheme, 'color' | 'effect'>;
8
+ export default function TokenInjector<T extends Theme>({ theme: themeMap, background, }: {
9
+ theme: ThemeMap<T>;
10
+ background?: keyof ThemeMap<T>[string]['color'];
11
+ }): JSX.Element;
12
+ export {};
13
13
  //# sourceMappingURL=TokenInjector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenInjector.d.ts","sourceRoot":"","sources":["../src/TokenInjector.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAqC1D,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,KAAK;IACvC,OAAO,EAAE,CAAC,CAAA;IACV,CAAC,UAAU,EAAE,WAAW,MAAM,GAAG,GAAG,CAAC,CAAA;IACrC,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAA;CACtB;AAED,aAAK,KAAK,GAAG,IAAI,CAAC,qBAAqB,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAA;AAE5D,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,CAAC,SAAS,KAAK,EAAE,EACrD,KAAK,EAAE,QAAQ,EACf,UAAU,GACX,EAAE;IACD,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;CAChD,eAEA"}
1
+ {"version":3,"file":"TokenInjector.d.ts","sourceRoot":"","sources":["../src/TokenInjector.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAqC1D,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,KAAK;IACvC,OAAO,EAAE,CAAC,CAAA;IACV,CAAC,UAAU,EAAE,WAAW,MAAM,GAAG,GAAG,CAAC,CAAA;IACrC,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAA;CACtB;AAED,KAAK,KAAK,GAAG,IAAI,CAAC,qBAAqB,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAA;AAE5D,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,CAAC,SAAS,KAAK,EAAE,EACrD,KAAK,EAAE,QAAQ,EACf,UAAU,GACX,EAAE;IACD,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAA;CAChD,eAEA"}
@@ -0,0 +1,10 @@
1
+ import { CharcoalAbstractTheme } from '@charcoal-ui/theme';
2
+ import { Internal } from '../internals';
3
+ export declare const borderDirections: readonly ["top", "right", "bottom", "left"];
4
+ type BorderDirection = (typeof borderDirections)[number];
5
+ export declare const createBorderCss: <T extends CharcoalAbstractTheme>(theme: T) => (variant: keyof T["border"], directions: readonly BorderDirection[]) => Internal;
6
+ export default function border<T extends CharcoalAbstractTheme>(theme: T): Readonly<{
7
+ border: { readonly [key in keyof T["border"] & string]: import("../factories/lib").PropertyChain<Internal, "bottom" | "left" | "right" | "top">; };
8
+ }>;
9
+ export {};
10
+ //# sourceMappingURL=border.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"border.d.ts","sourceRoot":"","sources":["../../src/builders/border.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAG1D,OAAO,EAAE,QAAQ,EAAkB,MAAM,cAAc,CAAA;AAOvD,eAAO,MAAM,gBAAgB,6CAA8C,CAAA;AAC3E,KAAK,eAAe,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAUxD,eAAO,MAAM,eAAe,0FAIZ,SAAS,eAAe,EAAE,KACrC,QAmBF,CAAA;AAEH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,CAAC,SAAS,qBAAqB,EAAE,KAAK,EAAE,CAAC;;GAevE"}
@@ -0,0 +1,7 @@
1
+ import { CharcoalAbstractTheme } from '@charcoal-ui/theme';
2
+ import { Internal } from '../internals';
3
+ export declare const createBorderRadiusCss: <T extends CharcoalAbstractTheme>(theme: T) => (size: keyof T["borderRadius"]) => Internal;
4
+ export default function borderRadius<T extends CharcoalAbstractTheme>(theme: T): Readonly<{
5
+ borderRadius: (radius: keyof T['borderRadius']) => Internal;
6
+ }>;
7
+ //# sourceMappingURL=borderRadius.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"borderRadius.d.ts","sourceRoot":"","sources":["../../src/builders/borderRadius.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAE1D,OAAO,EAAE,QAAQ,EAAkB,MAAM,cAAc,CAAA;AAGvD,eAAO,MAAM,qBAAqB,oFAEC,QAQhC,CAAA;AAEH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,CAAC,SAAS,qBAAqB,EAClE,KAAK,EAAE,CAAC;2BAOmB,MAAM,CAAC,CAAC,cAAc,CAAC;GAMnD"}
@@ -0,0 +1,13 @@
1
+ import { CharcoalAbstractTheme } from '@charcoal-ui/theme';
2
+ import { GradientDirection } from '@charcoal-ui/utils';
3
+ import { Internal } from '../internals';
4
+ declare const colorProperties: readonly ["bg", "font"];
5
+ export type ColorProperty = (typeof colorProperties)[number];
6
+ export declare const createColorCss: <T extends CharcoalAbstractTheme>(_theme: T) => (target: ColorProperty, color: keyof T["color"], effects?: readonly (keyof T["effect"])[]) => Internal;
7
+ export declare const createGradientColorCss: <T extends CharcoalAbstractTheme>(theme: T) => (color: keyof T["gradientColor"], effects: readonly (keyof T["effect"])[] | undefined, direction: GradientDirection) => Internal;
8
+ export default function colors<T extends CharcoalAbstractTheme>(theme: T): Readonly<{
9
+ bg: Record<string, unknown> & { readonly [key in keyof T["color"] & string]: import("../factories/lib").PropertyChain<Internal, keyof T["effect"] & string>; } & { readonly [key_1 in keyof T["gradientColor"] & string]: (direction: GradientDirection) => import("../factories/lib").PropertyChain<Internal, keyof T["effect"] & string>; };
10
+ font: { readonly [key in keyof T["color"] & string]: import("../factories/lib").PropertyChain<Internal, keyof T["effect"] & string>; };
11
+ }>;
12
+ export {};
13
+ //# sourceMappingURL=colors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/builders/colors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAML,iBAAiB,EAClB,MAAM,oBAAoB,CAAA;AAU3B,OAAO,EAEL,QAAQ,EAGT,MAAM,cAAc,CAAA;AAQrB,QAAA,MAAM,eAAe,yBAA0B,CAAA;AAC/C,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAM5D,eAAO,MAAM,cAAc,2DAGf,aAAa,wEAGpB,QAiCF,CAAA;AAEH,eAAO,MAAM,sBAAsB,mJAKpB,iBAAiB,KAC3B,QAgEF,CAAA;AAYH,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,CAAC,SAAS,qBAAqB,EAAE,KAAK,EAAE,CAAC;0OAqBvC,iBAAiB;;GAejD"}
@@ -0,0 +1,7 @@
1
+ import { CharcoalAbstractTheme, EffectType } from '@charcoal-ui/theme';
2
+ import { Internal } from '../internals';
3
+ export declare const createElementEffectCss: <T extends CharcoalAbstractTheme, TElementEffect extends T["elementEffect"]>(theme: {
4
+ elementEffect: TElementEffect;
5
+ }) => (effects?: readonly (keyof TElementEffect)[]) => Internal;
6
+ export default function elementEffect<T extends CharcoalAbstractTheme>(theme: T): import("../factories/lib").PropertyChain<Internal, EffectType>;
7
+ //# sourceMappingURL=elementEffect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elementEffect.d.ts","sourceRoot":"","sources":["../../src/builders/elementEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAStE,OAAO,EAAE,QAAQ,EAAkB,MAAM,cAAc,CAAA;AAGvD,eAAO,MAAM,sBAAsB;;uDAOkB,QAkB/C,CAAA;AAEN,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,CAAC,SAAS,qBAAqB,EACnE,KAAK,EAAE,CAAC,kEAaT"}
@@ -0,0 +1,114 @@
1
+ import { CharcoalAbstractTheme } from '@charcoal-ui/theme';
2
+ /**
3
+ * `theme(o => [...])` の `o` の部分を構築する
4
+ *
5
+ * @param theme テーマオブジェクト
6
+ */
7
+ export default function createO<T extends CharcoalAbstractTheme>(theme: {
8
+ color: T['color'];
9
+ gradientColor: T['gradientColor'];
10
+ border: T['border'];
11
+ outline: T['outline'];
12
+ } & Omit<T, 'color' | 'gradientColor' | 'border' | 'outline'>): Record<string, unknown> & Readonly<{
13
+ bg: Record<string, unknown> & { readonly [key in keyof ({
14
+ color: T['color'];
15
+ gradientColor: T['gradientColor'];
16
+ border: T['border'];
17
+ outline: T['outline'];
18
+ } & Omit<T, "color" | "border" | "outline" | "gradientColor">)["color"] & string]: import("../factories/lib").PropertyChain<import("../internals").Internal, keyof ({
19
+ color: T['color'];
20
+ gradientColor: T['gradientColor'];
21
+ border: T['border'];
22
+ outline: T['outline'];
23
+ } & Omit<T, "color" | "border" | "outline" | "gradientColor">)["effect"] & string>; } & { readonly [key_1 in keyof ({
24
+ color: T['color'];
25
+ gradientColor: T['gradientColor'];
26
+ border: T['border'];
27
+ outline: T['outline'];
28
+ } & Omit<T, "color" | "border" | "outline" | "gradientColor">)["gradientColor"] & string]: (direction: "to top" | "to bottom" | "to left" | "to right") => import("../factories/lib").PropertyChain<import("../internals").Internal, keyof ({
29
+ color: T['color'];
30
+ gradientColor: T['gradientColor'];
31
+ border: T['border'];
32
+ outline: T['outline'];
33
+ } & Omit<T, "color" | "border" | "outline" | "gradientColor">)["effect"] & string>; };
34
+ font: { readonly [key in keyof ({
35
+ color: T['color'];
36
+ gradientColor: T['gradientColor'];
37
+ border: T['border'];
38
+ outline: T['outline'];
39
+ } & Omit<T, "color" | "border" | "outline" | "gradientColor">)["color"] & string]: import("../factories/lib").PropertyChain<import("../internals").Internal, keyof ({
40
+ color: T['color'];
41
+ gradientColor: T['gradientColor'];
42
+ border: T['border'];
43
+ outline: T['outline'];
44
+ } & Omit<T, "color" | "border" | "outline" | "gradientColor">)["effect"] & string>; };
45
+ }> & {
46
+ readonly typography: (size: keyof ({
47
+ color: T['color'];
48
+ gradientColor: T['gradientColor'];
49
+ border: T['border'];
50
+ outline: T['outline'];
51
+ } & Omit<T, "color" | "border" | "outline" | "gradientColor">)["typography"]["size"]) => import("../factories/lib").PropertyChain<import("../internals").Internal, "bold" | "monospace" | "preserveHalfLeading">;
52
+ } & {
53
+ readonly margin: import("../factories/lib").MethodChain<import("../internals").Internal, "bottom" | "left" | "right" | "top" | "all" | "horizontal" | "vertical", ["auto" | keyof ({
54
+ color: T['color'];
55
+ gradientColor: T['gradientColor'];
56
+ border: T['border'];
57
+ outline: T['outline'];
58
+ } & Omit<T, "color" | "border" | "outline" | "gradientColor">)["spacing"]]>;
59
+ readonly padding: import("../factories/lib").MethodChain<import("../internals").Internal, "bottom" | "left" | "right" | "top" | "all" | "horizontal" | "vertical", ["auto" | keyof ({
60
+ color: T['color'];
61
+ gradientColor: T['gradientColor'];
62
+ border: T['border'];
63
+ outline: T['outline'];
64
+ } & Omit<T, "color" | "border" | "outline" | "gradientColor">)["spacing"]]>;
65
+ } & {
66
+ readonly height: Readonly<{
67
+ px: (size: "auto" | keyof ({
68
+ color: T['color'];
69
+ gradientColor: T['gradientColor'];
70
+ border: T['border'];
71
+ outline: T['outline'];
72
+ } & Omit<T, "color" | "border" | "outline" | "gradientColor">)["spacing"]) => import("../internals").Internal;
73
+ column: (span: number) => import("../internals").Internal;
74
+ auto: import("../internals").Internal;
75
+ full: import("../internals").Internal;
76
+ }>;
77
+ readonly width: Readonly<{
78
+ px: (size: "auto" | keyof ({
79
+ color: T['color'];
80
+ gradientColor: T['gradientColor'];
81
+ border: T['border'];
82
+ outline: T['outline'];
83
+ } & Omit<T, "color" | "border" | "outline" | "gradientColor">)["spacing"]) => import("../internals").Internal;
84
+ column: (span: number) => import("../internals").Internal;
85
+ auto: import("../internals").Internal;
86
+ full: import("../internals").Internal;
87
+ }>;
88
+ } & import("../internals").Internal & {
89
+ readonly hover: import("../factories/lib").PropertyChain<import("../internals").Internal, "press" | "disabled">;
90
+ readonly press: import("../factories/lib").PropertyChain<import("../internals").Internal, "hover" | "disabled">;
91
+ readonly disabled: import("../factories/lib").PropertyChain<import("../internals").Internal, "hover" | "press">;
92
+ } & Readonly<{
93
+ border: { readonly [key_2 in keyof ({
94
+ color: T['color'];
95
+ gradientColor: T['gradientColor'];
96
+ border: T['border'];
97
+ outline: T['outline'];
98
+ } & Omit<T, "color" | "border" | "outline" | "gradientColor">)["border"] & string]: import("../factories/lib").PropertyChain<import("../internals").Internal, "bottom" | "left" | "right" | "top">; };
99
+ }> & Readonly<{
100
+ borderRadius: (radius: keyof ({
101
+ color: T['color'];
102
+ gradientColor: T['gradientColor'];
103
+ border: T['border'];
104
+ outline: T['outline'];
105
+ } & Omit<T, "color" | "border" | "outline" | "gradientColor">)["borderRadius"]) => import("../internals").Internal;
106
+ }> & Readonly<{
107
+ outline: { readonly [key_3 in keyof ({
108
+ color: T['color'];
109
+ gradientColor: T['gradientColor'];
110
+ border: T['border'];
111
+ outline: T['outline'];
112
+ } & Omit<T, "color" | "border" | "outline" | "gradientColor">)["outline"] & string]: import("../factories/lib").PropertyChain<import("../internals").Internal, "focus">; };
113
+ }>;
114
+ //# sourceMappingURL=o.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"o.d.ts","sourceRoot":"","sources":["../../src/builders/o.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAW1D;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,CAAC,SAAS,qBAAqB,EAC7D,KAAK,EAAE;IAEL,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;IACjB,aAAa,EAAE,CAAC,CAAC,eAAe,CAAC,CAAA;IACjC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAA;IACnB,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAA;CACtB,GAAG,IAAI,CAAC,CAAC,EAAE,OAAO,GAAG,eAAe,GAAG,QAAQ,GAAG,SAAS,CAAC;;eAJpD,CAAC,CAAC,OAAO,CAAC;uBACF,CAAC,CAAC,eAAe,CAAC;gBACzB,CAAC,CAAC,QAAQ,CAAC;iBACV,CAAC,CAAC,SAAS,CAAC;;eAHd,CAAC,CAAC,OAAO,CAAC;uBACF,CAAC,CAAC,eAAe,CAAC;gBACzB,CAAC,CAAC,QAAQ,CAAC;iBACV,CAAC,CAAC,SAAS,CAAC;;eAHd,CAAC,CAAC,OAAO,CAAC;uBACF,CAAC,CAAC,eAAe,CAAC;gBACzB,CAAC,CAAC,QAAQ,CAAC;iBACV,CAAC,CAAC,SAAS,CAAC;;eAHd,CAAC,CAAC,OAAO,CAAC;uBACF,CAAC,CAAC,eAAe,CAAC;gBACzB,CAAC,CAAC,QAAQ,CAAC;iBACV,CAAC,CAAC,SAAS,CAAC;;;eAHd,CAAC,CAAC,OAAO,CAAC;uBACF,CAAC,CAAC,eAAe,CAAC;gBACzB,CAAC,CAAC,QAAQ,CAAC;iBACV,CAAC,CAAC,SAAS,CAAC;;eAHd,CAAC,CAAC,OAAO,CAAC;uBACF,CAAC,CAAC,eAAe,CAAC;gBACzB,CAAC,CAAC,QAAQ,CAAC;iBACV,CAAC,CAAC,SAAS,CAAC;;;;eAHd,CAAC,CAAC,OAAO,CAAC;uBACF,CAAC,CAAC,eAAe,CAAC;gBACzB,CAAC,CAAC,QAAQ,CAAC;iBACV,CAAC,CAAC,SAAS,CAAC;;;;eAHd,CAAC,CAAC,OAAO,CAAC;uBACF,CAAC,CAAC,eAAe,CAAC;gBACzB,CAAC,CAAC,QAAQ,CAAC;iBACV,CAAC,CAAC,SAAS,CAAC;;;eAHd,CAAC,CAAC,OAAO,CAAC;uBACF,CAAC,CAAC,eAAe,CAAC;gBACzB,CAAC,CAAC,QAAQ,CAAC;iBACV,CAAC,CAAC,SAAS,CAAC;;;;;mBAHd,CAAC,CAAC,OAAO,CAAC;2BACF,CAAC,CAAC,eAAe,CAAC;oBACzB,CAAC,CAAC,QAAQ,CAAC;qBACV,CAAC,CAAC,SAAS,CAAC;;;;;;;;mBAHd,CAAC,CAAC,OAAO,CAAC;2BACF,CAAC,CAAC,eAAe,CAAC;oBACzB,CAAC,CAAC,QAAQ,CAAC;qBACV,CAAC,CAAC,SAAS,CAAC;;;;;;;;;;;;eAHd,CAAC,CAAC,OAAO,CAAC;uBACF,CAAC,CAAC,eAAe,CAAC;gBACzB,CAAC,CAAC,QAAQ,CAAC;iBACV,CAAC,CAAC,SAAS,CAAC;;;;eAHd,CAAC,CAAC,OAAO,CAAC;uBACF,CAAC,CAAC,eAAe,CAAC;gBACzB,CAAC,CAAC,QAAQ,CAAC;iBACV,CAAC,CAAC,SAAS,CAAC;;;;eAHd,CAAC,CAAC,OAAO,CAAC;uBACF,CAAC,CAAC,eAAe,CAAC;gBACzB,CAAC,CAAC,QAAQ,CAAC;iBACV,CAAC,CAAC,SAAS,CAAC;;GAaxB"}
@@ -0,0 +1,10 @@
1
+ import { CharcoalAbstractTheme } from '@charcoal-ui/theme';
2
+ import { Internal } from '../internals';
3
+ export declare const outlineType: readonly ["focus"];
4
+ type OutlineType = (typeof outlineType)[number];
5
+ export declare const createOutlineColorCss: <T extends CharcoalAbstractTheme>(theme: T) => (variant: keyof T["outline"], modifiers: readonly OutlineType[]) => Internal;
6
+ export default function outline<T extends CharcoalAbstractTheme>(theme: T): Readonly<{
7
+ outline: { readonly [key in keyof T["outline"] & string]: import("../factories/lib").PropertyChain<Internal, "focus">; };
8
+ }>;
9
+ export {};
10
+ //# sourceMappingURL=outline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outline.d.ts","sourceRoot":"","sources":["../../src/builders/outline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAI1D,OAAO,EAAE,QAAQ,EAAkB,MAAM,cAAc,CAAA;AAOvD,eAAO,MAAM,WAAW,oBAAqB,CAAA;AAC7C,KAAK,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAM/C,eAAO,MAAM,qBAAqB,0FAInB,SAAS,WAAW,EAAE,KAChC,QAcF,CAAA;AAuBH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,CAAC,SAAS,qBAAqB,EAAE,KAAK,EAAE,CAAC;;GAkBxE"}
@@ -0,0 +1,23 @@
1
+ import { CharcoalAbstractTheme } from '@charcoal-ui/theme';
2
+ import { Internal } from '../internals';
3
+ export declare const fixedProperties: readonly ["width", "height"];
4
+ type FixedProperty = (typeof fixedProperties)[number];
5
+ export declare const createFixedPxCss: <T extends CharcoalAbstractTheme>(theme: T) => (property: FixedProperty, size: "auto" | keyof T["spacing"]) => Internal;
6
+ export declare const createFixedRelativeCss: <T extends CharcoalAbstractTheme>(_theme: T) => (property: FixedProperty, amount: '100%' | 'auto') => Internal;
7
+ export declare const createFixedColumnCss: <T extends CharcoalAbstractTheme>(theme: T) => (property: FixedProperty, span: number) => Internal;
8
+ export default function size<T extends CharcoalAbstractTheme>(theme: T): {
9
+ readonly height: Readonly<{
10
+ px: (size: keyof T['spacing'] | 'auto') => Internal;
11
+ column: (span: number) => Internal;
12
+ auto: Internal;
13
+ full: Internal;
14
+ }>;
15
+ readonly width: Readonly<{
16
+ px: (size: keyof T['spacing'] | 'auto') => Internal;
17
+ column: (span: number) => Internal;
18
+ auto: Internal;
19
+ full: Internal;
20
+ }>;
21
+ };
22
+ export {};
23
+ //# sourceMappingURL=size.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size.d.ts","sourceRoot":"","sources":["../../src/builders/size.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAE1D,OAAO,EAAE,QAAQ,EAAkB,MAAM,cAAc,CAAA;AAGvD,eAAO,MAAM,eAAe,8BAA+B,CAAA;AAC3D,KAAK,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAA;AAErD,eAAO,MAAM,gBAAgB,4DAEhB,aAAa,wCAAsC,QAO1D,CAAA;AAEN,eAAO,MAAM,sBAAsB,6DAEtB,aAAa,UAAU,MAAM,GAAG,MAAM,KAAG,QAOhD,CAAA;AAEN,eAAO,MAAM,oBAAoB,4DAEpB,aAAa,QAAQ,MAAM,KAAG,QASrC,CAAA;AAEN,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,CAAC,SAAS,qBAAqB,EAAE,KAAK,EAAE,CAAC;;mBAQnD,MAAM,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM;uBACvB,MAAM;;;;;mBADV,MAAM,CAAC,CAAC,SAAS,CAAC,GAAG,MAAM;uBACvB,MAAM;;;;EAO5B"}
@@ -0,0 +1,15 @@
1
+ import { CharcoalAbstractTheme } from '@charcoal-ui/theme';
2
+ import { Internal } from '../internals';
3
+ export declare const spacingProperties: readonly ["margin", "padding"];
4
+ export declare const spacingDirections: readonly ["top", "right", "bottom", "left", "vertical", "horizontal", "all"];
5
+ type SpacingProperty = (typeof spacingProperties)[number];
6
+ type SpacingDirection = (typeof spacingDirections)[number];
7
+ export declare const createSpacingCss: <T extends CharcoalAbstractTheme>(theme: {
8
+ spacing: T["spacing"];
9
+ }) => (property: SpacingProperty, modifiers: readonly ["bottom" | "left" | "right" | "top" | "all" | "horizontal" | "vertical", "auto" | keyof T["spacing"]][]) => Internal;
10
+ export default function spacing<T extends CharcoalAbstractTheme>(theme: T): {
11
+ readonly margin: import("../factories/lib").MethodChain<Internal, "bottom" | "left" | "right" | "top" | "all" | "horizontal" | "vertical", ["auto" | keyof T["spacing"]]>;
12
+ readonly padding: import("../factories/lib").MethodChain<Internal, "bottom" | "left" | "right" | "top" | "all" | "horizontal" | "vertical", ["auto" | keyof T["spacing"]]>;
13
+ };
14
+ export {};
15
+ //# sourceMappingURL=spacing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spacing.d.ts","sourceRoot":"","sources":["../../src/builders/spacing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAG1D,OAAO,EAAE,QAAQ,EAA2B,MAAM,cAAc,CAAA;AAGhE,eAAO,MAAM,iBAAiB,gCAAiC,CAAA;AAC/D,eAAO,MAAM,iBAAiB,8EAQpB,CAAA;AACV,KAAK,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAA;AACzD,KAAK,gBAAgB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAA;AAS1D,eAAO,MAAM,gBAAgB;;iBAGf,eAAe,mIAExB,QAkEF,CAAA;AAEH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,CAAC,SAAS,qBAAqB,EAAE,KAAK,EAAE,CAAC;;;EAaxE"}
@@ -0,0 +1,7 @@
1
+ import { Internal } from '../internals';
2
+ export declare const TRANSITION_DURATION = 0.2;
3
+ /**
4
+ * context の状態を元に transition を追加する。必ず一番最後に呼ぶ
5
+ */
6
+ export default function transition(_theme: unknown): Internal;
7
+ //# sourceMappingURL=transition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transition.d.ts","sourceRoot":"","sources":["../../src/builders/transition.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAA2B,MAAM,cAAc,CAAA;AAGhE,eAAO,MAAM,mBAAmB,MAAM,CAAA;AAEtC;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,CAqB5D"}
@@ -0,0 +1,11 @@
1
+ import { CharcoalAbstractTheme } from '@charcoal-ui/theme';
2
+ import { Internal } from '../internals';
3
+ export declare const createTypographyCss: <T extends CharcoalAbstractTheme>(theme: T) => (size: keyof T["typography"]["size"], options?: {
4
+ preserveHalfLeading?: boolean;
5
+ monospace?: boolean;
6
+ bold?: boolean;
7
+ }) => Internal;
8
+ export default function typography<T extends CharcoalAbstractTheme>(theme: T): {
9
+ readonly typography: (size: keyof T['typography']['size']) => import("../factories/lib").PropertyChain<Internal, "bold" | "monospace" | "preserveHalfLeading">;
10
+ };
11
+ //# sourceMappingURL=typography.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typography.d.ts","sourceRoot":"","sources":["../../src/builders/typography.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAG1D,OAAO,EACL,QAAQ,EAIT,MAAM,cAAc,CAAA;AAGrB,eAAO,MAAM,mBAAmB,iGAInB;IACP,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,KACA,QA2CF,CAAA;AAiBH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,CAAC,SAAS,qBAAqB,EAAE,KAAK,EAAE,CAAC;gCAK1D,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC;EAW9C"}
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=defineThemeVariables.test.d.ts.map
@@ -1,90 +1,89 @@
1
- import { Key } from '@charcoal-ui/theme';
2
- /**
3
- * 配列で指定したプロパティを動的に生やす
4
- *
5
- * @param source 拡張するオブジェクト
6
- * @param member オブジェクトに生やすプロパティ一覧
7
- * @param chain プロパティに格納される値を生成する関数
8
- *
9
- * @example
10
- *
11
- * const o = factory({}, ['red', 'blue'],
12
- * color => hex(color)
13
- * )
14
- *
15
- * console.log(o.red) //=> #ff0000
16
- */
17
- export declare const factory: <TSource, TMember extends readonly Key[], TValue>(source: TSource, member: TMember, chain: (key: TMember[number]) => TValue) => TSource & { readonly [key in TMember[number]]: TValue; };
18
- /**
19
- * 配列で指定した名前のメソッドを動的に生やす
20
- *
21
- * @param source 拡張するオブジェクト
22
- * @param member オブジェクトに生やすメソッド名一覧
23
- * @param chain メソッドの戻り値になる値を生成する関数
24
- *
25
- * @example
26
- *
27
- * const o = argumentedFactory({}, ['red', 'blue'],
28
- * (color, alpha: number) => hex(color, alpha)
29
- * )
30
- *
31
- * console.log(o.red(0.5)) //=> #ff000077
32
- */
33
- export declare const argumentedFactory: <TSource, TMember extends readonly string[], TValue, TArguments extends unknown[]>(source: TSource, member: TMember, chain: (key: TMember[number], ...args: TArguments) => TValue) => TSource & { readonly [key in TMember[number]]: (...args: TArguments) => TValue; };
34
- /**
35
- * オブジェクトで指定したプロパティ名と値を動的に生やす
36
- *
37
- * @param source 拡張するオブジェクト
38
- * @param def オブジェクトに生やす定義(プロパティ名と値)
39
- *
40
- * @example
41
- *
42
- * const o = constFactory({}, {
43
- * red: '#f00',
44
- * blue: '#00f',
45
- * })
46
- *
47
- * console.log(o.red) //=> #f00
48
- */
49
- export declare const constFactory: <TSource, TDef extends {
50
- [key: string]: unknown;
51
- }>(source: TSource, def: TDef) => TSource & Readonly<TDef>;
52
- /**
53
- * 配列で指定したモディファイア(プロパティ)をチェーン可能な再帰オブジェクトを動的に生やす
54
- *
55
- * @param modifiers オブジェクトに生やすモディファイヤ一覧
56
- * @param source 指定されたモディファイヤの一覧から値を生成する関数
57
- *
58
- * @example
59
- *
60
- * const o = modifiedArgumentedFactory(['red', 'blue'],
61
- * modifiers => modifiers.map(color => hex(color)).join(',')
62
- * )
63
- *
64
- * console.log(o.red.blue) => #f00,#00f
65
- */
66
- export declare const modifiedFactory: <TSource, T extends Key>(modifiers: readonly T[], source: (applied: readonly T[]) => TSource) => Modified<TSource, T>;
67
- export declare type Modified<TSource, TModifiers extends Key> = TSource & {
68
- readonly [key in TModifiers]: Modified<TSource, Exclude<TModifiers, key>>;
69
- };
70
- /**
71
- * 配列で指定したモディファイア(メソッド)をチェーン可能な再帰オブジェクトを動的に生やす
72
- *
73
- * @param modifiers オブジェクトに生やすモディファイヤ一覧
74
- * @param source 指定されたモディファイヤの一覧から値を生成する関数
75
- * @param _inferPhantom 関数形式のモディファイヤの引数型を推論するためのメタタイプ(引数の個数に合わせてタプルで指定する)
76
- *
77
- * @example
78
- *
79
- * const o = modifiedArgumentedFactory(['red', 'blue'],
80
- * modifiers => modifiers.map(([color, alpha]) => hex(color, alpha)).join(',')
81
- * , {} as [number])
82
- *
83
- * console.log(o.red(0.5).blue(1)) => #ff000077,#0000ffff
84
- */
85
- export declare const modifiedArgumentedFactory: <TSource, T extends string, TArguments extends unknown[]>(modifiers: readonly T[], source: (applied: readonly [T, ...TArguments][]) => TSource, ..._inferPhantom: TArguments) => ModifiedArgumented<TSource, T, TArguments>;
86
- export declare type ModifiedArgumented<TSource, TModifiers extends string, TArguments extends unknown[]> = TSource & {
87
- readonly [key in TModifiers]: (...args: TArguments) => ModifiedArgumented<TSource, Exclude<TModifiers, key>, TArguments>;
88
- };
89
- export declare const variable: (value: string) => string;
1
+ import { Key } from '@charcoal-ui/theme';
2
+ /**
3
+ * 配列で指定したプロパティを動的に生やす
4
+ *
5
+ * @param source 拡張するオブジェクト
6
+ * @param member オブジェクトに生やすプロパティ一覧
7
+ * @param chain プロパティに格納される値を生成する関数
8
+ *
9
+ * @example
10
+ *
11
+ * const o = factory({}, ['red', 'blue'],
12
+ * color => hex(color)
13
+ * )
14
+ *
15
+ * console.log(o.red) //=> #ff0000
16
+ */
17
+ export declare const defineProperties: <TSource, TMember extends readonly Key[], TValue>(source: TSource, member: TMember, chain: (key: TMember[number]) => TValue) => TSource & { readonly [key in TMember[number]]: TValue; };
18
+ /**
19
+ * 配列で指定した名前のメソッドを動的に生やす
20
+ *
21
+ * @param source 拡張するオブジェクト
22
+ * @param member オブジェクトに生やすメソッド名一覧
23
+ * @param chain メソッドの戻り値になる値を生成する関数
24
+ *
25
+ * @example
26
+ *
27
+ * const o = defineMethods({}, ['red', 'blue'],
28
+ * (color, alpha: number) => hex(color, alpha)
29
+ * )
30
+ *
31
+ * console.log(o.red(0.5)) //=> #ff000077
32
+ */
33
+ export declare const defineMethods: <TSource, TMember extends readonly string[], TValue, TArguments extends unknown[]>(source: TSource, member: TMember, chain: (key: TMember[number], ...args: TArguments) => TValue) => TSource & { readonly [key in TMember[number]]: (...args: TArguments) => TValue; };
34
+ /**
35
+ * オブジェクトで指定したプロパティ名と値を動的に生やす
36
+ *
37
+ * @param source 拡張するオブジェクト
38
+ * @param def オブジェクトに生やす定義(プロパティ名と値)
39
+ *
40
+ * @example
41
+ *
42
+ * const o = defineConstantProperties({}, {
43
+ * red: '#f00',
44
+ * blue: '#00f',
45
+ * })
46
+ *
47
+ * console.log(o.red) //=> #f00
48
+ */
49
+ export declare const defineConstantProperties: <TSource, TDef extends {
50
+ [key: string]: unknown;
51
+ }>(source: TSource, def: TDef) => TSource & Readonly<TDef>;
52
+ /**
53
+ * 配列で指定したモディファイア(プロパティ)をチェーン可能な再帰オブジェクトを動的に生やす
54
+ *
55
+ * @param modifiers オブジェクトに生やすモディファイヤ一覧
56
+ * @param source 指定されたモディファイヤの一覧から値を生成する関数
57
+ *
58
+ * @example
59
+ *
60
+ * const o = definePropertyChains(['red', 'blue'],
61
+ * modifiers => modifiers.map(color => hex(color)).join(',')
62
+ * )
63
+ *
64
+ * console.log(o.red.blue) => #f00,#00f
65
+ */
66
+ export declare const definePropertyChains: <TSource, T extends Key>(modifiers: readonly T[], source: (applied: readonly T[]) => TSource) => PropertyChain<TSource, T>;
67
+ export type PropertyChain<TSource, TModifiers extends Key> = TSource & {
68
+ readonly [key in TModifiers]: PropertyChain<TSource, Exclude<TModifiers, key>>;
69
+ };
70
+ /**
71
+ * 配列で指定したモディファイア(メソッド)をチェーン可能な再帰オブジェクトを動的に生やす
72
+ *
73
+ * @param modifiers オブジェクトに生やすモディファイヤ一覧
74
+ * @param source 指定されたモディファイヤの一覧から値を生成する関数
75
+ * @param _inferPhantom 関数形式のモディファイヤの引数型を推論するためのメタタイプ(引数の個数に合わせてタプルで指定する)
76
+ *
77
+ * @example
78
+ *
79
+ * const o = defineMethodChains(['red', 'blue'],
80
+ * modifiers => modifiers.map(([color, alpha]) => hex(color, alpha)).join(',')
81
+ * , {} as [number])
82
+ *
83
+ * console.log(o.red(0.5).blue(1)) => #ff000077,#0000ffff
84
+ */
85
+ export declare const defineMethodChains: <TSource, T extends string, TArguments extends unknown[]>(modifiers: readonly T[], source: (applied: readonly [T, ...TArguments][]) => TSource, ..._inferPhantom: TArguments) => MethodChain<TSource, T, TArguments>;
86
+ export type MethodChain<TSource, TModifiers extends string, TArguments extends unknown[]> = TSource & {
87
+ readonly [key in TModifiers]: (...args: TArguments) => MethodChain<TSource, Exclude<TModifiers, key>, TArguments>;
88
+ };
90
89
  //# sourceMappingURL=lib.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/factories/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AAGxC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,0LAiBiC,CAAA;AAE9D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,yQAwBvB,CAAA;AAEH;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,wBAAwB;;0DAQnB,CAAA;AAElB;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,oBAAoB,4HAazB,CAAA;AAER,MAAM,MAAM,aAAa,CAAC,OAAO,EAAE,UAAU,SAAS,GAAG,IAAI,OAAO,GAAG;IACrE,QAAQ,EAAE,GAAG,IAAI,UAAU,GAAG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;CAC/E,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,sNAuBvB,CAAA;AAER,MAAM,MAAM,WAAW,CACrB,OAAO,EACP,UAAU,SAAS,MAAM,EACzB,UAAU,SAAS,OAAO,EAAE,IAC1B,OAAO,GAAG;IACZ,QAAQ,EAAE,GAAG,IAAI,UAAU,GAAG,CAC5B,GAAG,IAAI,EAAE,UAAU,KAChB,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,UAAU,CAAC;CAChE,CAAA"}