@griffel/react 1.6.2 → 1.7.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.
@@ -17,19 +17,15 @@ _export(exports, {
17
17
  return useRenderer;
18
18
  }
19
19
  });
20
+ const _jsxruntime = require("react/jsx-runtime");
20
21
  const _core = require("@griffel/core");
21
- const _react = /*#__PURE__*/ _interop_require_default(require("react"));
22
+ const _react = require("react");
22
23
  const _canUseDOM = require("./utils/canUseDOM.cjs");
23
- function _interop_require_default(obj) {
24
- return obj && obj.__esModule ? obj : {
25
- default: obj
26
- };
27
- }
28
24
  /**
29
25
  * @private
30
- */ const RendererContext = /*#__PURE__*/ _react.default.createContext(/*#__PURE__*/ (0, _core.createDOMRenderer)());
26
+ */ const RendererContext = /*#__PURE__*/ (0, _react.createContext)(/*#__PURE__*/ (0, _core.createDOMRenderer)());
31
27
  const RendererProvider = ({ children, renderer, targetDocument })=>{
32
- _react.default.useMemo(()=>{
28
+ (0, _react.useMemo)(()=>{
33
29
  if ((0, _canUseDOM.canUseDOM)()) {
34
30
  // "rehydrateCache()" can't be called in effects as it needs to be called before any component will be rendered to
35
31
  // avoid double insertion of classes
@@ -39,10 +35,11 @@ const RendererProvider = ({ children, renderer, targetDocument })=>{
39
35
  renderer,
40
36
  targetDocument
41
37
  ]);
42
- return _react.default.createElement(RendererContext.Provider, {
43
- value: renderer
44
- }, children);
38
+ return (0, _jsxruntime.jsx)(RendererContext.Provider, {
39
+ value: renderer,
40
+ children: children
41
+ });
45
42
  };
46
43
  function useRenderer() {
47
- return _react.default.useContext(RendererContext);
44
+ return (0, _react.useContext)(RendererContext);
48
45
  } //# sourceMappingURL=RendererContext.js.map
@@ -17,20 +17,17 @@ _export(exports, {
17
17
  return useTextDirection;
18
18
  }
19
19
  });
20
- const _react = /*#__PURE__*/ _interop_require_default(require("react"));
21
- function _interop_require_default(obj) {
22
- return obj && obj.__esModule ? obj : {
23
- default: obj
24
- };
25
- }
20
+ const _jsxruntime = require("react/jsx-runtime");
21
+ const _react = require("react");
26
22
  /**
27
23
  * @private
28
- */ const TextDirectionContext = /*#__PURE__*/ _react.default.createContext('ltr');
24
+ */ const TextDirectionContext = /*#__PURE__*/ (0, _react.createContext)('ltr');
29
25
  const TextDirectionProvider = ({ children, dir })=>{
30
- return _react.default.createElement(TextDirectionContext.Provider, {
31
- value: dir
32
- }, children);
26
+ return (0, _jsxruntime.jsx)(TextDirectionContext.Provider, {
27
+ value: dir,
28
+ children: children
29
+ });
33
30
  };
34
31
  function useTextDirection() {
35
- return _react.default.useContext(TextDirectionContext);
32
+ return (0, _react.useContext)(TextDirectionContext);
36
33
  } //# sourceMappingURL=TextDirectionContext.js.map
@@ -1,5 +1,7 @@
1
1
  /**
2
2
  * Verifies if an application can use DOM.
3
+ *
4
+ * @internal
3
5
  */ "use strict";
4
6
  Object.defineProperty(exports, "__esModule", {
5
7
  value: true
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@griffel/react",
3
- "version": "1.6.2",
3
+ "version": "1.7.0",
4
4
  "description": "React implementation of Atomic CSS-in-JS",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -31,6 +31,6 @@
31
31
  "tslib": "^2.1.0"
32
32
  },
33
33
  "peerDependencies": {
34
- "react": ">=16.8.0 <20.0.0"
34
+ "react": ">=16.14.0 <20.0.0"
35
35
  }
36
36
  }
@@ -1,5 +1,5 @@
1
1
  import type { GriffelRenderer } from '@griffel/core';
2
- import React from 'react';
2
+ import { type FC, type ReactNode } from 'react';
3
3
  export interface RendererProviderProps {
4
4
  /** An instance of Griffel renderer. */
5
5
  renderer: GriffelRenderer;
@@ -10,12 +10,12 @@ export interface RendererProviderProps {
10
10
  /**
11
11
  * Content wrapped by the RendererProvider
12
12
  */
13
- children: React.ReactNode;
13
+ children: ReactNode;
14
14
  }
15
15
  /**
16
16
  * @public
17
17
  */
18
- export declare const RendererProvider: React.FC<RendererProviderProps>;
18
+ export declare const RendererProvider: FC<RendererProviderProps>;
19
19
  /**
20
20
  * Returns an instance of current makeStyles() renderer.
21
21
  *
@@ -1,23 +1,24 @@
1
1
  'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
2
3
  import { createDOMRenderer, rehydrateRendererCache } from '@griffel/core';
3
- import React from 'react';
4
+ import { createContext, useContext, useMemo } from 'react';
4
5
  import { canUseDOM } from './utils/canUseDOM.js';
5
6
  /**
6
7
  * @private
7
8
  */
8
- const RendererContext = /*#__PURE__*/ React.createContext(/*#__PURE__*/ createDOMRenderer());
9
+ const RendererContext = /*#__PURE__*/ createContext(/*#__PURE__*/ createDOMRenderer());
9
10
  /**
10
11
  * @public
11
12
  */
12
13
  export const RendererProvider = ({ children, renderer, targetDocument }) => {
13
- React.useMemo(() => {
14
+ useMemo(() => {
14
15
  if (canUseDOM()) {
15
16
  // "rehydrateCache()" can't be called in effects as it needs to be called before any component will be rendered to
16
17
  // avoid double insertion of classes
17
18
  rehydrateRendererCache(renderer, targetDocument);
18
19
  }
19
20
  }, [renderer, targetDocument]);
20
- return React.createElement(RendererContext.Provider, { value: renderer }, children);
21
+ return _jsx(RendererContext.Provider, { value: renderer, children: children });
21
22
  };
22
23
  /**
23
24
  * Returns an instance of current makeStyles() renderer.
@@ -25,6 +26,6 @@ export const RendererProvider = ({ children, renderer, targetDocument }) => {
25
26
  * @private Exported as "useRenderer_unstable" use it on own risk. Can be changed or removed without a notice.
26
27
  */
27
28
  export function useRenderer() {
28
- return React.useContext(RendererContext);
29
+ return useContext(RendererContext);
29
30
  }
30
31
  //# sourceMappingURL=RendererContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RendererContext.js","sourceRoot":"","sources":["../../../../packages/react/src/RendererContext.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE1E,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAiBjD;;GAEG;AACH,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC,aAAa,CAAkB,aAAa,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAE9G;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAoC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE;IAC1G,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACjB,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,kHAAkH;YAClH,oCAAoC;YACpC,sBAAsB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAE/B,OAAO,oBAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,IAAG,QAAQ,CAA4B,CAAC;AAC1F,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"RendererContext.js","sourceRoot":"","sources":["../../../../packages/react/src/RendererContext.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAA2B,MAAM,OAAO,CAAC;AAEpF,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAiBjD;;GAEG;AACH,MAAM,eAAe,GAAG,aAAa,CAAC,aAAa,CAAkB,aAAa,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAExG;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA8B,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE;IACpG,OAAO,CAAC,GAAG,EAAE;QACX,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,kHAAkH;YAClH,oCAAoC;YACpC,sBAAsB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAE/B,OAAO,KAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ,YAAG,QAAQ,GAA4B,CAAC;AAC1F,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,UAAU,CAAC,eAAe,CAAC,CAAC;AACrC,CAAC"}
@@ -1,16 +1,16 @@
1
- import React from 'react';
1
+ import { type FC, type ReactNode } from 'react';
2
2
  export interface TextDirectionProviderProps {
3
3
  /** Indicates the directionality of the element's text. */
4
4
  dir: 'ltr' | 'rtl';
5
5
  /**
6
6
  * Content wrapped by the TextDirectionProvider.
7
7
  */
8
- children: React.ReactNode;
8
+ children: ReactNode;
9
9
  }
10
10
  /**
11
11
  * @public
12
12
  */
13
- export declare const TextDirectionProvider: React.FC<TextDirectionProviderProps>;
13
+ export declare const TextDirectionProvider: FC<TextDirectionProviderProps>;
14
14
  /**
15
15
  * Returns current directionality of the element's text.
16
16
  *
@@ -1,14 +1,15 @@
1
1
  'use client';
2
- import React from 'react';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { createContext, useContext } from 'react';
3
4
  /**
4
5
  * @private
5
6
  */
6
- const TextDirectionContext = /*#__PURE__*/ React.createContext('ltr');
7
+ const TextDirectionContext = /*#__PURE__*/ createContext('ltr');
7
8
  /**
8
9
  * @public
9
10
  */
10
11
  export const TextDirectionProvider = ({ children, dir }) => {
11
- return React.createElement(TextDirectionContext.Provider, { value: dir }, children);
12
+ return _jsx(TextDirectionContext.Provider, { value: dir, children: children });
12
13
  };
13
14
  /**
14
15
  * Returns current directionality of the element's text.
@@ -16,6 +17,6 @@ export const TextDirectionProvider = ({ children, dir }) => {
16
17
  * @private
17
18
  */
18
19
  export function useTextDirection() {
19
- return React.useContext(TextDirectionContext);
20
+ return useContext(TextDirectionContext);
20
21
  }
21
22
  //# sourceMappingURL=TextDirectionContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextDirectionContext.js","sourceRoot":"","sources":["../../../../packages/react/src/TextDirectionContext.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B;;GAEG;AACH,MAAM,oBAAoB,GAAG,aAAa,CAAC,KAAK,CAAC,aAAa,CAAgB,KAAK,CAAC,CAAC;AAErF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAyC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE;IAC/F,OAAO,oBAAC,oBAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG,IAAG,QAAQ,CAAiC,CAAC;AAC/F,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"TextDirectionContext.js","sourceRoot":"","sources":["../../../../packages/react/src/TextDirectionContext.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,aAAa,EAAE,UAAU,EAA2B,MAAM,OAAO,CAAC;AAY3E;;GAEG;AACH,MAAM,oBAAoB,GAAG,aAAa,CAAC,aAAa,CAAgB,KAAK,CAAC,CAAC;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAmC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE;IACzF,OAAO,KAAC,oBAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,GAAG,YAAG,QAAQ,GAAiC,CAAC;AAC/F,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAC1C,CAAC"}
package/src/__css.d.ts CHANGED
@@ -1,7 +1 @@
1
- import type { CSSClassesMapBySlot } from '@griffel/core';
2
- /**
3
- * A version of makeStyles() that accepts build output as an input and skips all runtime transforms & DOM insertion.
4
- *
5
- * @internal
6
- */
7
- export declare function __css<Slots extends string>(classesMapBySlot: CSSClassesMapBySlot<Slots>): () => Record<Slots, string>;
1
+ export {};
@@ -1,6 +1 @@
1
- /**
2
- * A version of makeResetStyles() that accepts build output as an input and skips all runtime transforms & DOM insertion.
3
- *
4
- * @internal
5
- */
6
- export declare function __resetCSS(ltrClassName: string, rtlClassName: string | null): () => string;
1
+ export {};
@@ -1,7 +1 @@
1
- import type { CSSRulesByBucket } from '@griffel/core';
2
- /**
3
- * A version of makeResetStyles() that accepts build output as an input and skips all runtime transforms.
4
- *
5
- * @internal
6
- */
7
- export declare function __resetStyles(ltrClassName: string, rtlClassName: string | null, cssRules: CSSRulesByBucket | string[]): () => string;
1
+ export {};
@@ -1,6 +1 @@
1
- /**
2
- * A version of makeStaticStyles() that accepts build output as an input and skips all runtime transforms & DOM insertion.
3
- *
4
- * @internal
5
- */
6
- export declare function __staticCSS(): () => void;
1
+ export {};
@@ -1,7 +1 @@
1
- import type { CSSRulesByBucket } from '@griffel/core';
2
- /**
3
- * A version of makeStaticStyles() that accepts build output as an input and skips all runtime transforms.
4
- *
5
- * @internal
6
- */
7
- export declare function __staticStyles(cssRules: CSSRulesByBucket): () => void;
1
+ export {};
package/src/__styles.d.ts CHANGED
@@ -1,7 +1 @@
1
- import type { CSSClassesMapBySlot, CSSRulesByBucket } from '@griffel/core';
2
- /**
3
- * A version of makeStyles() that accepts build output as an input and skips all runtime transforms.
4
- *
5
- * @internal
6
- */
7
- export declare function __styles<Slots extends string>(classesMapBySlot: CSSClassesMapBySlot<Slots>, cssRules: CSSRulesByBucket): () => Record<Slots, string>;
1
+ export {};
@@ -1,2 +1 @@
1
- import React from 'react';
2
- export declare const useInsertionEffect: typeof React.useInsertionEffect | undefined;
1
+ export {};
@@ -1,5 +1,8 @@
1
1
  'use client';
2
2
  import React from 'react';
3
+ /**
4
+ * @internal
5
+ */
3
6
  export const useInsertionEffect =
4
7
  // @ts-expect-error Hack to make sure that `useInsertionEffect` will not cause bundling issues in older React versions
5
8
  // eslint-disable-next-line no-useless-concat
@@ -1 +1 @@
1
- {"version":3,"file":"useInsertionEffect.js","sourceRoot":"","sources":["../../../../packages/react/src/useInsertionEffect.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,kBAAkB;AAC7B,sHAAsH;AACtH,6CAA6C;AAC7C,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC"}
1
+ {"version":3,"file":"useInsertionEffect.js","sourceRoot":"","sources":["../../../../packages/react/src/useInsertionEffect.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB;AAC7B,sHAAsH;AACtH,6CAA6C;AAC7C,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC"}
@@ -1,4 +1 @@
1
- /**
2
- * Verifies if an application can use DOM.
3
- */
4
- export declare function canUseDOM(): boolean;
1
+ export {};
@@ -1,5 +1,7 @@
1
1
  /**
2
2
  * Verifies if an application can use DOM.
3
+ *
4
+ * @internal
3
5
  */
4
6
  export function canUseDOM() {
5
7
  return typeof window !== 'undefined' && !!(window.document && window.document.createElement);
@@ -1 +1 @@
1
- {"version":3,"file":"canUseDOM.js","sourceRoot":"","sources":["../../../../../packages/react/src/utils/canUseDOM.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAC/F,CAAC"}
1
+ {"version":3,"file":"canUseDOM.js","sourceRoot":"","sources":["../../../../../packages/react/src/utils/canUseDOM.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAC/F,CAAC"}
@@ -1 +1 @@
1
- export declare function isInsideComponent(): boolean;
1
+ export {};
@@ -15,6 +15,9 @@ function getDispatcher() {
15
15
  // React 18 and below
16
16
  }
17
17
  }
18
+ /**
19
+ * @internal
20
+ */
18
21
  export function isInsideComponent() {
19
22
  // React 18 always logs errors if a dispatcher is not present:
20
23
  // https://github.com/facebook/react/blob/42f15b324f50d0fd98322c21646ac3013e30344a/packages/react/src/ReactHooks.js#L26-L36
@@ -1 +1 @@
1
- {"version":3,"file":"isInsideComponent.js","sourceRoot":"","sources":["../../../../../packages/react/src/utils/isInsideComponent.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,SAAS,aAAa;IACpB,IAAI,CAAC;QACH,OAAQ,KAAa,CAAC,EAAE,CAAC,MAAM,CAAC,iEAAiE,CAAC,CAAC,CAAC,CAAC,CAAC;IACxG,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;IAED,IAAI,CAAC;QACH,OAAQ,KAAa,CAAC,EAAE,CAAC,MAAM,CAAC,oDAAoD,CAAC,CAAC,CAAC,sBAAsB;aAC1G,OAAO,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,8DAA8D;IAC9D,2HAA2H;IAC3H,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QAEnC,sEAAsE;QACtE,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YACpD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,+GAA+G;QAC/G,gCAAgC;QAChC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"isInsideComponent.js","sourceRoot":"","sources":["../../../../../packages/react/src/utils/isInsideComponent.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,SAAS,aAAa;IACpB,IAAI,CAAC;QACH,OAAQ,KAAa,CAAC,EAAE,CAAC,MAAM,CAAC,iEAAiE,CAAC,CAAC,CAAC,CAAC,CAAC;IACxG,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;IAED,IAAI,CAAC;QACH,OAAQ,KAAa,CAAC,EAAE,CAAC,MAAM,CAAC,oDAAoD,CAAC,CAAC,CAAC,sBAAsB;aAC1G,OAAO,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB;IACvB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,8DAA8D;IAC9D,2HAA2H;IAC3H,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QAEnC,sEAAsE;QACtE,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YACpD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,+GAA+G;QAC/G,gCAAgC;QAChC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}