@sitecore-feaas/clientside 0.5.12 → 0.5.13-alpha.2

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.
package/src/dom/html.ts CHANGED
@@ -296,7 +296,7 @@ export function escapeHTML(input: string): string {
296
296
  .replace(/'/g, ''')
297
297
  }
298
298
 
299
- function unescapeHTML(input: string): string {
299
+ export function unescapeHTML(input: string): string {
300
300
  return input
301
301
  .replace(/&/g, '&')
302
302
  .replace(/&lt;/g, '<')
package/src/ui/react.tsx CHANGED
@@ -1,4 +1,4 @@
1
- import React from 'react'
1
+ import React, { ReactComponentElement } from 'react'
2
2
  import * as BYOC from '@sitecore/byoc/react'
3
3
  import { HTMLNode, parseHTMLContent, renderHTMLContent } from '../dom/html.js'
4
4
  import { DataSettings } from '../utils/settings.js'
@@ -18,6 +18,16 @@ export { External, FEAASExternalPropsObject, getComponent, linkComponents, regis
18
18
  export * from './index.js'
19
19
  export { renderHTMLContent }
20
20
 
21
+ var ReactElementComponents: Record<string, React.Component | React.FC> = {}
22
+ /**
23
+ * Set custom implementation for a HTML tag name. Useful for Next.js Image component, handling image optimization.
24
+ *
25
+ * @param Component
26
+ */
27
+ export function setElementImplementation(tagName: string, Component: React.Component | React.FC) {
28
+ ReactElementComponents[tagName] = Component
29
+ }
30
+
21
31
  type FEEASReactComponentFetch = string[] | string | null | undefined | boolean
22
32
  export function normalizeFetchAttribute(fetch: FEEASReactComponentFetch) {
23
33
  if (fetch == null || fetch === true) {
@@ -96,6 +106,10 @@ export function FEAASReactComponent({
96
106
  HTMLNodeToReact(
97
107
  node,
98
108
  (node, attributes) => {
109
+ // Override rendering of html tag if user provided
110
+ if (ReactElementComponents[node.localName]) {
111
+ return [ReactElementComponents[node.localName], attributes]
112
+ }
99
113
  if (node.localName == 'feaas-external') {
100
114
  const camelized = {} as any
101
115
  for (var prop in attributes) {
@@ -179,8 +193,15 @@ export function HTMLNodeToReact(
179
193
 
180
194
  const reactNode = callback?.(node, attributes)
181
195
  const reactName = reactNode?.[0] || node.nodeName.toLowerCase()
196
+ if (reactName == 'style') {
197
+ attributes.dangerouslySetInnerHTML = { __html: children.join('\n') }
198
+ }
182
199
  const reactAttributes = Object.assign({ key, suppressHydrationWarning: true }, reactNode?.[1] || attributes)
183
- return React.createElement(reactName, reactAttributes, ['img', 'br', 'input'].includes(reactName) ? null : children)
200
+ return React.createElement(
201
+ reactName,
202
+ reactAttributes,
203
+ ['img', 'br', 'input', 'style'].includes(reactName) ? null : children
204
+ )
184
205
  }
185
206
 
186
207
  export type ExternalComponentProps = BYOC.ComponentProps
@@ -1,7 +1,13 @@
1
1
  import React, { useContext } from 'react'
2
2
  import ReactDOM from 'react-dom'
3
- import { describe, expect, it, spy } from 'vitest'
4
- import { Component, registerComponent, ExternalComponent } from '../src/ui/react.js'
3
+ import { describe, expect, it, beforeEach, vi } from 'vitest'
4
+ import {
5
+ Component,
6
+ ExternalComponent,
7
+ FEAASElement,
8
+ registerComponent,
9
+ setElementImplementation
10
+ } from '../src/ui/react.js'
5
11
 
6
12
  function Hello(props: { firstName: string; telephone: string }) {
7
13
  const context = useContext(DataContext)
@@ -88,7 +94,7 @@ describe('React', () => {
88
94
  it('render react component', async () => {
89
95
  await validate(
90
96
  <section>
91
- <Component src='library/test'></Component>
97
+ <Component src='library/test' />
92
98
  </section>,
93
99
  '<section><feaas-component class="-feaas" library="library" component="test" src="library/test"></feaas-component></section>'
94
100
  )
@@ -283,8 +289,8 @@ Typeof superobject object, {"a":1,"b":2})</div></feaas-external></feaas-componen
283
289
  '<section><feaas-component class="-feaas" library="a" component="b" src="a/b" fetch="template" data="{&quot;_&quot;:{&quot;telephone&quot;:321,&quot;superobject&quot;:{&quot;1&quot;:2}}}"></feaas-component></section>'
284
290
  )
285
291
 
286
- await document.querySelector('feaas-component')?.whenRendered
287
- await document.querySelector('feaas-external')?.whenRendered
292
+ await (document.querySelector('feaas-component') as FEAASElement)?.whenRendered
293
+ await (document.querySelector('feaas-external') as FEAASElement)?.whenRendered
288
294
 
289
295
  expect(document.querySelector('feaas-component').outerHTML).toEqual(
290
296
  '<feaas-component class="-feaas" library="a" component="b" src="a/b" fetch="template" data="{&quot;_&quot;:{&quot;telephone&quot;:321,&quot;superobject&quot;:{&quot;1&quot;:2}}}"><feaas-external data-external-id="MyTestDataComponent" first-name="Yarik" data-path-attributes="_" telephone="321" superobject="{&quot;1&quot;:2}" data-attributes-keys="telephone,superobject" datasources="{&quot;_&quot;:{&quot;telephone&quot;:321,&quot;superobject&quot;:{&quot;1&quot;:2}}}"><div>\n' +
@@ -312,4 +318,24 @@ Typeof superobject object, {"a":1,"b":2})</div></feaas-external></feaas-componen
312
318
  'And context value is INHERITED</div></feaas-external></feaas-component></section>'
313
319
  )
314
320
  })
321
+
322
+ describe('setImageComponent', () => {
323
+ afterEach(() => {
324
+ setElementImplementation('img', null)
325
+ })
326
+ it('allow component customization', async () => {
327
+ const ImageComponent = (props: any) => React.createElement('x-img', props)
328
+ setElementImplementation('img', ImageComponent)
329
+ await validate(
330
+ <section>
331
+ <Component
332
+ src='library/test'
333
+ template={'<img data-path-src="abc" alt="test">'}
334
+ data={{ abc: 321 }}
335
+ ></Component>
336
+ </section>,
337
+ '<section><feaas-component class="-feaas" library="library" component="test" src="library/test" data="{&quot;abc&quot;:321}"><x-img data-path-src="abc" alt="test" src="321"></x-img></feaas-component></section>'
338
+ )
339
+ })
340
+ })
315
341
  })
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "extends": "../../tsconfig.base.json",
3
3
  "compilerOptions": {
4
- "types": ["react", "react-dom", "node"],
4
+ "types": ["react", "react-dom", "node", "vitest"],
5
5
  "rootDir": ".",
6
6
  "noEmit": true
7
7
  },
@@ -281,7 +281,7 @@ export declare class FEAASElement<Props = any, Payload = any> extends WebCompone
281
281
  };
282
282
  contextType?: React.Context<any>;
283
283
  };
284
- getReactElement(target?: FEAASElement, props?: any): JSX.Element;
284
+ getReactElement(target?: FEAASElement, props?: any): React.JSX.Element;
285
285
  getReactWrapper(target?: FEAASElement, displayName?: string): React.FunctionComponent<{}>;
286
286
  uid: string;
287
287
  getUID(): string;
@@ -42,6 +42,7 @@ export declare class HTMLNode {
42
42
  }
43
43
  export declare function parseHTML(html: string): HTMLNode[];
44
44
  export declare function escapeHTML(input: string): string;
45
+ export declare function unescapeHTML(input: string): string;
45
46
  export declare function serializeHTML(nodes: HTMLNode[]): string;
46
47
  export declare function renderHTMLContent(template: string, data?: DataScopes, config?: FEAASCustomizations): string;
47
48
  export declare function parseHTMLContent(template: string, data?: DataScopes, config?: FEAASCustomizations): HTMLNode[];
@@ -1 +1 @@
1
- {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/dom/html.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAoB,MAAM,gBAAgB,CAAA;AAEtE,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE3D,qBAAa,QAAQ;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,UAAU,EAAE,QAAQ,EAAE,CAAA;IACtB,UAAU,CAAC,EAAE,QAAQ,CAAA;gBAET,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,EAAE,WAAW,CAAC,EAAE,MAAM;IAQxE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IASxC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAK9C,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,GAAG,IAAI;IAY9D,eAAe,CAAC,QAAQ,EAAE,MAAM;IAOhC,WAAW,CAAC,OAAO,EAAE,QAAQ;IAK7B,IAAI,OAAO,WAEV;IAED,IAAI,SAAS,WAEZ;IAED,IAAI,SAAS,IAGO,MAAM,CADzB;IACD,IAAI,SAAS,CAAC,IAAI,EAAE,MAAM,EAEzB;IACD,IAAI,SAAS,WAEZ;IACD,IAAI,QAAQ,eAEX;IAED,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAc1C,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE;IAwB9C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ;IAIzC,OAAO,CAAC,WAAW;IAgBnB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ;IAQtC,IAAI,eAAe,IAAI,QAAQ,GAAG,IAAI,CAErC;IAED,IAAI,WAAW,IAAI,QAAQ,GAAG,IAAI,CAEjC;IAED,IAAI,sBAAsB,IAAI,QAAQ,GAAG,IAAI,CAE5C;IAED,IAAI,kBAAkB,IAAI,QAAQ,GAAG,IAAI,CAExC;IACD,SAAS,CAAC,IAAI,GAAE,OAAe,GAAG,QAAQ;IAiB1C,IAAI,aAAa,aAEhB;IAED,aAAa;4BACS,MAAM,GAAG,QAAQ;kCAGX,QAAQ;MAGnC;CACF;AA+CD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,CAgDlD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOhD;AAWD,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAmBvD;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,mBAAmB,UAElG;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,mBAAmB,cAMjG"}
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/dom/html.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAoB,MAAM,gBAAgB,CAAA;AAEtE,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE3D,qBAAa,QAAQ;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,UAAU,EAAE,QAAQ,EAAE,CAAA;IACtB,UAAU,CAAC,EAAE,QAAQ,CAAA;gBAET,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,EAAE,WAAW,CAAC,EAAE,MAAM;IAQxE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IASxC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAK9C,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,GAAG,IAAI;IAY9D,eAAe,CAAC,QAAQ,EAAE,MAAM;IAOhC,WAAW,CAAC,OAAO,EAAE,QAAQ;IAK7B,IAAI,OAAO,WAEV;IAED,IAAI,SAAS,WAEZ;IAED,IAAI,SAAS,IAGO,MAAM,CADzB;IACD,IAAI,SAAS,CAAC,IAAI,EAAE,MAAM,EAEzB;IACD,IAAI,SAAS,WAEZ;IACD,IAAI,QAAQ,eAEX;IAED,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAc1C,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE;IAwB9C,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ;IAIzC,OAAO,CAAC,WAAW;IAgBnB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,QAAQ;IAQtC,IAAI,eAAe,IAAI,QAAQ,GAAG,IAAI,CAErC;IAED,IAAI,WAAW,IAAI,QAAQ,GAAG,IAAI,CAEjC;IAED,IAAI,sBAAsB,IAAI,QAAQ,GAAG,IAAI,CAE5C;IAED,IAAI,kBAAkB,IAAI,QAAQ,GAAG,IAAI,CAExC;IACD,SAAS,CAAC,IAAI,GAAE,OAAe,GAAG,QAAQ;IAiB1C,IAAI,aAAa,aAEhB;IAED,aAAa;4BACS,MAAM,GAAG,QAAQ;kCAGX,QAAQ;MAGnC;CACF;AA+CD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,CAgDlD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOhD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOlD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAmBvD;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,mBAAmB,UAElG;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,mBAAmB,cAMjG"}
@@ -54,7 +54,7 @@ export declare class FEAASContext extends FEAASElement<FEAASContextProps, typeof
54
54
  onStatusChange: FEAASContextImports.SDKStatusCallback;
55
55
  whenSDKReady: ControlledPromise<FEAASContextImports.SDK>;
56
56
  getPortalRoot(): HTMLElement | ShadowRoot | FEAASElement<any, any>;
57
- render({ children, library }: React.PropsWithChildren<FEAASContextProps>, { AppContext, Chakra: { Button, Tooltip }, React }: typeof this.payload): JSX.Element;
57
+ render({ children, library }: React.PropsWithChildren<FEAASContextProps>, { AppContext, Chakra: { Button, Tooltip }, React }: typeof this.payload): FEAASContextImports.React.JSX.Element;
58
58
  }
59
59
  declare global {
60
60
  namespace JSX {
@@ -23,7 +23,7 @@ export default class FEAASExternal extends FEAASElement<FEAASExternalProps, Reac
23
23
  getProps(): FEAASExternalProps;
24
24
  static Preview(props: Partial<FEAASComponentProps<any>> & {
25
25
  src: string;
26
- }): JSX.Element;
26
+ }): React.JSX.Element;
27
27
  static linkComponents(components: Promise<any>[]): () => any;
28
28
  static registered: BYOC.RegisteredComponents;
29
29
  static registerComponent: typeof BYOC.registerComponent;
@@ -51,7 +51,7 @@ export declare class FEAASPicker extends FEAASElement<FEAASPickerProps, typeof F
51
51
  };
52
52
  load(): Promise<typeof FEAASPickerImports>;
53
53
  connectedCallback(): void;
54
- render({ placeholder, context, mode, dialog, children, variant }: React.PropsWithChildren<FEAASPickerProps>, { Picker, React, useContext, EnvironmentContext, useLibrary, useSDK, BYOC }: typeof FEAASPickerImports): JSX.Element;
54
+ render({ placeholder, context, mode, dialog, children, variant }: React.PropsWithChildren<FEAASPickerProps>, { Picker, React, useContext, EnvironmentContext, useLibrary, useSDK, BYOC }: typeof FEAASPickerImports): FEAASPickerImports.React.JSX.Element;
55
55
  }
56
56
  declare global {
57
57
  namespace JSX {
@@ -6,6 +6,12 @@ export * from '../headless.js';
6
6
  export { External, FEAASExternalPropsObject, getComponent, linkComponents, registerComponent } from './FEAASExternal.js';
7
7
  export * from './index.js';
8
8
  export { renderHTMLContent };
9
+ /**
10
+ * Set custom implementation for a HTML tag name. Useful for Next.js Image component, handling image optimization.
11
+ *
12
+ * @param Component
13
+ */
14
+ export declare function setElementImplementation(tagName: string, Component: React.Component | React.FC): void;
9
15
  type FEEASReactComponentFetch = string[] | string | null | undefined | boolean;
10
16
  export declare function normalizeFetchAttribute(fetch: FEEASReactComponentFetch): any[];
11
17
  export type FEAASReactComponentProps = FEAASComponentProps & {
@@ -20,7 +26,7 @@ export type FEAASReactComponentProps = FEAASComponentProps & {
20
26
  * @param {FEAASCDNStylesheetParams | FEAASCDNStylesheetSource} props - The properties for including the stylesheet.
21
27
  * @returns {JSX.Element} The <link> element for the stylesheet.
22
28
  */
23
- export declare const FEAASReactStylesheet: (props: FEAASCDNStylesheetParams | FEAASCDNStylesheetSource) => JSX.Element;
29
+ export declare const FEAASReactStylesheet: (props: FEAASCDNStylesheetParams | FEAASCDNStylesheetSource) => React.JSX.Element;
24
30
  /**
25
31
  * An asynchronous wrapper over FEAAS.Component for use in React, especially suited for Next.js.
26
32
  * This component fetches HTML and data asynchronously for server-side rendering with data mapping.
@@ -28,7 +34,7 @@ export declare const FEAASReactStylesheet: (props: FEAASCDNStylesheetParams | FE
28
34
  * @param {FEAASReactComponentProps} props - The properties for the component.
29
35
  * @returns {Promise<JSX.Element>} The JSX element representing the component.
30
36
  */
31
- export declare const FEAASReactServerComponent: ({ data, fetch, ...props }: FEAASReactComponentProps) => Promise<JSX.Element>;
37
+ export declare const FEAASReactServerComponent: ({ data, fetch, ...props }: FEAASReactComponentProps) => Promise<React.JSX.Element>;
32
38
  /**
33
39
  * A wrapper over FEAAS.Component for use in React. It converts a passed template HTML into React,
34
40
  * allowing external components in the render tree. Data can be provided in JSON format.
@@ -38,7 +44,7 @@ export declare const FEAASReactServerComponent: ({ data, fetch, ...props }: FEAA
38
44
  */
39
45
  export declare function FEAASReactComponent({ data, lastModified, fetchedData, ...props }: FEAASReactComponentProps & {
40
46
  fetchedData?: any;
41
- }): JSX.Element;
47
+ }): React.JSX.Element;
42
48
  /**
43
49
  * Converts an HTMLNode into a React tree, ensuring proper context access for external components.
44
50
  *
@@ -57,6 +63,6 @@ export declare const ExternalComponent: typeof BYOC.Component;
57
63
  export declare const ReactExternalComponent: typeof BYOC.RegularComponent;
58
64
  export declare const NextExternalComponent: typeof BYOC.NextComponent;
59
65
  export declare const Component: typeof FEAASReactComponent;
60
- export declare const ServerComponent: ({ data, fetch, ...props }: FEAASReactComponentProps) => Promise<JSX.Element>;
61
- export declare const Stylesheet: (props: FEAASCDNStylesheetParams | FEAASCDNStylesheetSource) => JSX.Element;
66
+ export declare const ServerComponent: ({ data, fetch, ...props }: FEAASReactComponentProps) => Promise<React.JSX.Element>;
67
+ export declare const Stylesheet: (props: FEAASCDNStylesheetParams | FEAASCDNStylesheetSource) => React.JSX.Element;
62
68
  //# sourceMappingURL=react.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/ui/react.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAoB,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAE9E,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EAOpB,MAAM,YAAY,CAAA;AACnB,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,wBAAwB,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACxH,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAE5B,KAAK,wBAAwB,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAA;AAC9E,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,wBAAwB,SAKtE;AAED,MAAM,MAAM,wBAAwB,GAAG,mBAAmB,GAAG;IAC3D,KAAK,CAAC,EAAE,wBAAwB,CAAA;IAChC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,YAAY,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;CAC7B,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,UAAW,wBAAwB,GAAG,wBAAwB,gBAK9F,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,8BAAqC,wBAAwB,yBAqBlG,CAAA;AACD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,YAAY,EACZ,WAAW,EACX,GAAG,KAAK,EACT,EAAE,wBAAwB,GAAG;IAAE,WAAW,CAAC,EAAE,GAAG,CAAA;CAAE,eAiDlD;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,QAAQ,EACd,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAC/G,GAAG,CAAC,EAAE,GAAG,GACR,KAAK,CAAC,SAAS,CA+BjB;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,cAAc,CAAA;AACxD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAA;AACtD,eAAO,MAAM,8BAA8B,4CAAsC,CAAA;AACjF,eAAO,MAAM,oBAAoB,kCAA4B,CAAA;AAC7D,eAAO,MAAM,uBAAuB,oBAAc,CAAA;AAClD,eAAO,MAAM,iBAAiB,uBAAiB,CAAA;AAC/C,eAAO,MAAM,sBAAsB,8BAAwB,CAAA;AAC3D,eAAO,MAAM,qBAAqB,2BAAqB,CAAA;AACvD,eAAO,MAAM,SAAS,4BAAsB,CAAA;AAC5C,eAAO,MAAM,eAAe,8BA3I+C,wBAAwB,yBA2I3C,CAAA;AACxD,eAAO,MAAM,UAAU,UA1JqB,wBAAwB,GAAG,wBAAwB,gBA0JjD,CAAA"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/ui/react.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAA;AACpD,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAoB,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAE9E,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EAOpB,MAAM,YAAY,CAAA;AACnB,cAAc,gBAAgB,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,wBAAwB,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACxH,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAG5B;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,EAAE,QAE9F;AAED,KAAK,wBAAwB,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAA;AAC9E,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,wBAAwB,SAKtE;AAED,MAAM,MAAM,wBAAwB,GAAG,mBAAmB,GAAG;IAC3D,KAAK,CAAC,EAAE,wBAAwB,CAAA;IAChC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,YAAY,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;CAC7B,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,UAAW,wBAAwB,GAAG,wBAAwB,sBAK9F,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,8BAAqC,wBAAwB,+BAqBlG,CAAA;AACD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,YAAY,EACZ,WAAW,EACX,GAAG,KAAK,EACT,EAAE,wBAAwB,GAAG;IAAE,WAAW,CAAC,EAAE,GAAG,CAAA;CAAE,qBAqDlD;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,QAAQ,EACd,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAC/G,GAAG,CAAC,EAAE,GAAG,GACR,KAAK,CAAC,SAAS,CAsCjB;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,cAAc,CAAA;AACxD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAA;AACtD,eAAO,MAAM,8BAA8B,4CAAsC,CAAA;AACjF,eAAO,MAAM,oBAAoB,kCAA4B,CAAA;AAC7D,eAAO,MAAM,uBAAuB,oBAAc,CAAA;AAClD,eAAO,MAAM,iBAAiB,uBAAiB,CAAA;AAC/C,eAAO,MAAM,sBAAsB,8BAAwB,CAAA;AAC3D,eAAO,MAAM,qBAAqB,2BAAqB,CAAA;AACvD,eAAO,MAAM,SAAS,4BAAsB,CAAA;AAC5C,eAAO,MAAM,eAAe,8BAtJ+C,wBAAwB,+BAsJ3C,CAAA;AACxD,eAAO,MAAM,UAAU,UArKqB,wBAAwB,GAAG,wBAAwB,sBAqKjD,CAAA"}