@sitecore-feaas/clientside 0.3.1 → 0.3.3

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 (61) hide show
  1. package/README.md +9 -7
  2. package/build/dom/html.js +7 -2
  3. package/build/dom/html.js.map +1 -1
  4. package/build/dom/rendering.js +3 -2
  5. package/build/dom/rendering.js.map +1 -1
  6. package/build/ui/FEAASExternal.js +7 -1
  7. package/build/ui/FEAASExternal.js.map +1 -1
  8. package/build/ui/FEAASPicker.js +8 -5
  9. package/build/ui/FEAASPicker.js.map +1 -1
  10. package/build/ui/react.js +35 -15
  11. package/build/ui/react.js.map +1 -1
  12. package/dist/browser/headless.cjs +6 -6
  13. package/dist/browser/headless.cjs.map +3 -3
  14. package/dist/browser/headless.esm.js +6 -6
  15. package/dist/browser/headless.esm.js.map +1 -1
  16. package/dist/browser/index.cjs +6 -6
  17. package/dist/browser/index.cjs.map +3 -3
  18. package/dist/browser/index.esm.js +6 -6
  19. package/dist/browser/index.esm.js.map +1 -1
  20. package/dist/browser/react.cjs +7 -7
  21. package/dist/browser/react.cjs.map +3 -3
  22. package/dist/browser/react.esm.js +7 -7
  23. package/dist/browser/react.esm.js.map +1 -1
  24. package/dist/node/headless.cjs +4 -4
  25. package/dist/node/headless.cjs.map +3 -3
  26. package/dist/node/headless.esm.js +4 -4
  27. package/dist/node/headless.esm.js.map +3 -3
  28. package/dist/node/index.cjs +5 -5
  29. package/dist/node/index.cjs.map +3 -3
  30. package/dist/node/index.esm.js +5 -5
  31. package/dist/node/index.esm.js.map +3 -3
  32. package/dist/node/react.cjs +5 -5
  33. package/dist/node/react.cjs.map +3 -3
  34. package/dist/node/react.esm.js +5 -5
  35. package/dist/node/react.esm.js.map +3 -3
  36. package/headless.cjs +4 -4
  37. package/headless.cjs.map +3 -3
  38. package/headless.js +4 -4
  39. package/headless.js.map +3 -3
  40. package/package.json +1 -1
  41. package/react.cjs +7 -7
  42. package/react.cjs.map +3 -3
  43. package/react.js +7 -7
  44. package/react.js.map +3 -3
  45. package/src/dom/html.ts +9 -3
  46. package/src/dom/rendering.ts +3 -2
  47. package/src/ui/FEAASExternal.tsx +9 -1
  48. package/src/ui/FEAASPicker.tsx +9 -5
  49. package/src/ui/react.tsx +55 -18
  50. package/test/ServerComponent.test.tsx +68 -3
  51. package/types/dom/html.d.ts +3 -3
  52. package/types/dom/html.d.ts.map +1 -1
  53. package/types/dom/rendering.d.ts.map +1 -1
  54. package/types/tsbuildinfo +1 -1
  55. package/types/ui/FEAASExternal.d.ts +3 -1
  56. package/types/ui/FEAASExternal.d.ts.map +1 -1
  57. package/types/ui/FEAASPicker.d.ts +7 -4
  58. package/types/ui/FEAASPicker.d.ts.map +1 -1
  59. package/types/ui/react.d.ts +12 -5
  60. package/types/ui/react.d.ts.map +1 -1
  61. package/types/ui/tsbuildinfo +1 -1
package/src/dom/html.ts CHANGED
@@ -3,9 +3,9 @@
3
3
  import { DataScopes } from '../utils/settings.js'
4
4
  import { FEAASCustomizations, renderDOMElement } from './rendering.js'
5
5
 
6
- type HTMLAttribute = { name: string; value: string }
6
+ export type HTMLAttribute = { name: string; value: string }
7
7
 
8
- class HTMLNode {
8
+ export class HTMLNode {
9
9
  nodeName: string
10
10
  nodeType: number
11
11
  textContent?: string
@@ -324,7 +324,13 @@ export function serializeHTML(nodes: HTMLNode[]): string {
324
324
  }
325
325
 
326
326
  export function renderHTMLContent(template: string, data?: DataScopes, config?: FEAASCustomizations) {
327
+ return parseHTMLContent(template, data, config)[0].outerHTML
328
+ }
329
+
330
+ export function parseHTMLContent(template: string, data?: DataScopes, config?: FEAASCustomizations) {
327
331
  const newTemplate = config?.processTemplate?.(null, template, data) || template
328
332
  const nodes = parseHTML(newTemplate)
329
- return renderDOMElement(nodes[0] as unknown as HTMLElement, data, config).outerHTML
333
+ return nodes.map((node) => {
334
+ return renderDOMElement(node as unknown as HTMLElement, data, config)
335
+ }) as unknown as HTMLNode[]
330
336
  }
@@ -128,8 +128,9 @@ export function setDOMAttribute(element: HTMLElement, attribute: string, value:
128
128
 
129
129
  if (value != null) {
130
130
  if (prop == 'innerHTML') {
131
- if (target.innerHTML != value) {
132
- target.innerHTML = value
131
+ var str = String(value)
132
+ if (target.innerHTML != str) {
133
+ target.innerHTML = str
133
134
  }
134
135
  } else {
135
136
  if (target.getAttribute(prop) != value) {
@@ -232,6 +232,14 @@ export default class FEAASExternal extends FEAASElement<FEAASExternalProps, Reac
232
232
  props?.src || (typeof window !== 'undefined' ? window.location.search.match(/feaasSrc=([^&]+)/)?.[1] : null)
233
233
  return src ? <Component src={src} {...props} /> : null
234
234
  }
235
+
236
+ static linkComponents(components: Promise<any>[]): () => any {
237
+ return () => components.map((components) => null)
238
+ }
239
+
240
+ static getComponent(id: string) {
241
+ return FEAASExternal.registered[id]
242
+ }
235
243
  }
236
244
 
237
245
  declare global {
@@ -250,5 +258,5 @@ declare global {
250
258
  FEAASExternal.register('feaas-external')
251
259
  FEAASExternal.setRegistrationCallback()
252
260
 
253
- export const registerComponent = FEAASExternal.registerComponent
261
+ export const { getComponent, linkComponents, registerComponent } = FEAASExternal
254
262
  export { FEAASExternal as External }
@@ -6,6 +6,7 @@ export function FEAASPickerProps(element: FEAASElement<any, any>) {
6
6
  part: element?.getAttribute('part') || 'picker',
7
7
  slot: element?.getAttribute('part') || 'picker',
8
8
  mode: element?.getAttribute('mode') as FEAASPickerImports.PickerProps['mode'],
9
+ dialog: element?.getAttribute('dialog') as FEAASPickerImports.PickerProps['dialog'],
9
10
  placeholder: element?.getAttribute('placeholder') || 'No theme',
10
11
  frontend: element?.getContextAttribute('frontend') ?? 'https://components.sitecorecloud.io',
11
12
  src: element?.getAttribute('src') ?? '/picker.js',
@@ -20,7 +21,7 @@ export function FEAASPickerProps(element: FEAASElement<any, any>) {
20
21
  export type FEAASPickerProps = ReturnType<typeof FEAASPickerProps>
21
22
 
22
23
  export class FEAASPicker extends FEAASElement<FEAASPickerProps, typeof FEAASPickerImports> {
23
- static observedAttributes = ['library', 'mode', 'frontend', 'src', 'hidden', 'variant']
24
+ static observedAttributes = ['library', 'mode', 'frontend', 'src', 'hidden', 'variant', 'dialog']
24
25
 
25
26
  defaultProps = {
26
27
  hidden: false
@@ -38,12 +39,13 @@ export class FEAASPicker extends FEAASElement<FEAASPickerProps, typeof FEAASPick
38
39
  super.connectedCallback()
39
40
  }
40
41
  render(
41
- { placeholder, context, mode, children, variant }: React.PropsWithChildren<FEAASPickerProps>,
42
- { Picker, React, useLibrary }: typeof FEAASPickerImports
42
+ { placeholder, context, mode, dialog, children, variant }: React.PropsWithChildren<FEAASPickerProps>,
43
+ { Picker, React, useLibrary, useSDK }: typeof FEAASPickerImports
43
44
  ) {
44
45
  const [renders, forceRender] = React.useReducer((c) => c + 1, 0)
45
46
  const collections = useLibrary('collections')
46
47
  const components = useLibrary('components')
48
+ const datasources = useSDK('datasources')
47
49
  const rules = useLibrary('stylesheet.styles')
48
50
  const component = components.find((c) => c.id == context?.getAttribute('component'))
49
51
  var settings = context?.getAttribute('data')
@@ -52,6 +54,7 @@ export class FEAASPicker extends FEAASElement<FEAASPickerProps, typeof FEAASPick
52
54
  settings = JSON.parse(settings)
53
55
  } catch (e) {}
54
56
  }
57
+ const datasource = mode == 'datasources' ? datasources.find((d) => d.id == dialog) : null
55
58
  return (
56
59
  <Picker
57
60
  rules={rules}
@@ -59,6 +62,7 @@ export class FEAASPicker extends FEAASElement<FEAASPickerProps, typeof FEAASPick
59
62
  themeContext={context}
60
63
  placeholder={placeholder}
61
64
  component={component}
65
+ datasource={datasource}
62
66
  data={settings}
63
67
  versionId={context?.getAttribute('version')}
64
68
  mode={mode || (component ? 'component' : null)}
@@ -69,8 +73,8 @@ export class FEAASPicker extends FEAASElement<FEAASPickerProps, typeof FEAASPick
69
73
  }}
70
74
  context={context}
71
75
  variant={variant}
72
- onModeChange={(mode) => {
73
- this.set({ mode })
76
+ onModeChange={(mode, dialog) => {
77
+ this.set({ mode, dialog })
74
78
  }}
75
79
  >
76
80
  {children}
package/src/ui/react.tsx CHANGED
@@ -6,46 +6,51 @@ import {
6
6
  parseComponentSource
7
7
  } from './index.js'
8
8
  import React from 'react'
9
- import { renderHTMLContent } from '../dom/html.js'
9
+ import { renderHTMLContent, HTMLNode, parseHTMLContent } from '../dom/html.js'
10
10
  import { DataSettings } from '../utils/settings.js'
11
-
12
11
  export { renderHTMLContent }
13
- export { External } from './FEAASExternal.js'
12
+ import { getComponent } from './FEAASExternal.js'
13
+ export { External, linkComponents, registerComponent, getComponent } from './FEAASExternal.js'
14
14
  export * from './index.js'
15
15
  export * from '../headless.js'
16
16
 
17
+ export type FEAASReactComponentProps = FEAASComponentProps & {
18
+ src?: string
19
+ preload?: boolean
20
+ lastModified?: Date | string
21
+ }
17
22
  export const ServerComponent = async (props: FEAASComponentProps) => {
18
23
  const fetchedData = await DataSettings.fetch(props?.data || {})
19
24
 
20
- const p = { ...props }
25
+ const p: FEAASReactComponentProps = { ...props }
21
26
 
22
- if (('src' in p || 'component' in p) && p?.template == null) {
23
- const response = await fetchComponent(p)
27
+ if (('src' in props || 'component' in props) && props?.template == null) {
28
+ const response = await fetchComponent(props)
24
29
 
25
30
  p.template = response.template
26
- // p.lastModified = response.lastModified
31
+ p.lastModified = response.lastModified
27
32
  }
28
33
 
29
34
  return FEAASReactComponent({ ...p, data: fetchedData })
30
35
  }
31
36
 
32
- export function FEAASReactComponent({ data, ...props }: FEAASComponentProps & { src?: string; preload?: boolean }) {
37
+ export function FEAASReactComponent({ data, ...props }: FEAASReactComponentProps) {
33
38
  let html = ''
34
39
  let preload = null
40
+ let children: null | React.ReactNode
35
41
 
36
42
  if ('template' in props && props.template) {
37
- html = renderHTMLContent(props.template, data || {})
43
+ children = parseHTMLContent(props.template, data || {}).map((node) =>
44
+ HTMLNodeToReact(node, (node) => {
45
+ if (node.localName == 'feaas-external' && getComponent(node.getAttribute('data-external-id'))) {
46
+ return [FEAASReactExternal, {}]
47
+ }
48
+ })
49
+ )
38
50
  }
39
51
 
40
52
  if ('src' in props) {
41
53
  props = { ...parseComponentSource(props.src), ...props }
42
- } else if (!('template' in props)) {
43
- if (!props.version) {
44
- props = {
45
- ...props,
46
- version: 'responsive'
47
- }
48
- }
49
54
  }
50
55
 
51
56
  return (
@@ -61,10 +66,42 @@ export function FEAASReactComponent({ data, ...props }: FEAASComponentProps & {
61
66
  suppressHydrationWarning={true}
62
67
  template={null}
63
68
  data={typeof data == 'string' ? data : data ? JSON.stringify(data) : null}
64
- dangerouslySetInnerHTML={{ __html: html || '' }}
65
- />
69
+ >
70
+ {children}
71
+ </feaas-component>
66
72
  </>
67
73
  )
68
74
  }
69
75
 
76
+ export function FEAASReactExternal(props: { 'data-external-id': string }) {
77
+ const Component = getComponent(props['data-external-id'])?.component
78
+ return (
79
+ <feaas-external {...props}>
80
+ <Component {...props} />
81
+ </feaas-external>
82
+ )
83
+ }
84
+
85
+ /** Turn HTMLNode into React tree. It accepts callback to customize the behavior */
86
+ export function HTMLNodeToReact(
87
+ node: HTMLNode,
88
+ callback?: (node: HTMLNode) => [tagName: any, attributes: Record<string, any>]
89
+ ): React.ReactNode {
90
+ if (node.nodeType === 3) {
91
+ return node.textContent
92
+ }
93
+ const children = Array.from(node.childNodes).map((child) => HTMLNodeToReact(child, callback))
94
+
95
+ const attributes: { [key: string]: string } = {}
96
+ for (let i = 0; i < node.attributes.length; i++) {
97
+ const { name, value } = node.attributes[i]
98
+ attributes[name] = value
99
+ }
100
+
101
+ const reactNode = callback?.(node)
102
+ const reactName = reactNode?.[0] || node.nodeName.toLowerCase()
103
+ const reactAttributes = Object.assign(attributes, reactName?.[1] || {})
104
+ return React.createElement(reactName, reactAttributes, ['img', 'br', 'input'].includes(reactName) ? null : children)
105
+ }
106
+
70
107
  export const Component = FEAASReactComponent
@@ -1,6 +1,6 @@
1
- import React from 'react'
1
+ import React, { useContext } from 'react'
2
2
  import { beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'
3
- import { ServerComponent } from '../src/ui/react.js'
3
+ import { ServerComponent, registerComponent } from '../src/ui/react.js'
4
4
  import { FEAASComponent } from '../src/components/FEAASComponent.js'
5
5
  import { test } from './FEAASComponent.react.test.js'
6
6
 
@@ -18,7 +18,7 @@ describe('React Server', () => {
18
18
  document.write()
19
19
  })
20
20
 
21
- it('render server component', async () => {
21
+ it('render with data settings', async () => {
22
22
  vi.spyOn(global, 'fetch').mockImplementation(
23
23
  async (url: string, options: Parameters<typeof fetch>[1] = {}) => new Response('{"data": "1"}')
24
24
  )
@@ -30,4 +30,69 @@ describe('React Server', () => {
30
30
  `<feaas-component library="library" component="test" src="library/test" data="{&quot;data&quot;:&quot;1&quot;}">{"data": "1"}</feaas-component>`
31
31
  )
32
32
  })
33
+ it('render with object data', async () => {
34
+ vi.spyOn(global, 'fetch').mockImplementation(
35
+ async (url: string, options: Parameters<typeof fetch>[1] = {}) => new Response('Test')
36
+ )
37
+
38
+ const Component = await ServerComponent({ src: 'library/test', data: { data: '2' } })
39
+ await test(
40
+ <>{Component}</>,
41
+ `<feaas-component library="library" component="test" src="library/test" data="{&quot;data&quot;:&quot;2&quot;}">Test</feaas-component>`
42
+ )
43
+ })
44
+ it('pre-render data', async () => {
45
+ vi.spyOn(global, 'fetch').mockImplementation(
46
+ async (url: string, options: Parameters<typeof fetch>[1] = {}) =>
47
+ new Response('Hey: <var data-path="value"></var>!')
48
+ )
49
+
50
+ const Component = await ServerComponent({ src: 'library/test', data: { value: 0 } })
51
+ await test(
52
+ <>{Component}</>,
53
+ `<feaas-component library="library" component="test" src="library/test" data="{&quot;value&quot;:0}">Hey: <var data-path="value">0</var>!</feaas-component>`
54
+ )
55
+ })
56
+ it('render external component', async () => {
57
+ function MyComponent() {
58
+ return <h1>My Component</h1>
59
+ }
60
+ registerComponent(MyComponent, {
61
+ name: 'test-server-external'
62
+ })
63
+ vi.spyOn(global, 'fetch').mockImplementation(
64
+ async (url: string, options: Parameters<typeof fetch>[1] = {}) =>
65
+ new Response('<p>This?</p><feaas-external data-external-id="test-server-external"></feaas-external>')
66
+ )
67
+
68
+ const Component = await ServerComponent({ src: 'library/test', data: { value: 0 } })
69
+ await test(
70
+ <>{Component}</>,
71
+ `<feaas-component library="library" component="test" src="library/test" data="{&quot;value&quot;:0}"><p>This?</p><feaas-external data-external-id="test-server-external"><h1>My Component</h1></feaas-external></feaas-component>`
72
+ )
73
+ })
74
+ it('render external component with context', async () => {
75
+ const Context = React.createContext({
76
+ test: 'abc'
77
+ })
78
+ function MyComponent() {
79
+ const { test } = useContext(Context)
80
+ return <h1>My Component: {test}</h1>
81
+ }
82
+ registerComponent(MyComponent, {
83
+ name: 'test-server-external-context'
84
+ })
85
+ vi.spyOn(global, 'fetch').mockImplementation(
86
+ async (url: string, options: Parameters<typeof fetch>[1] = {}) =>
87
+ new Response('<p>This?</p><feaas-external data-external-id="test-server-external-context"></feaas-external>')
88
+ )
89
+
90
+ const Component = await ServerComponent({ src: 'library/test', data: { value: 0 } })
91
+ await test(
92
+ <Context.Provider value={{ test: 'cde' }}>
93
+ <>{Component}</>
94
+ </Context.Provider>,
95
+ `<feaas-component library="library" component="test" src="library/test" data="{&quot;value&quot;:0}"><p>This?</p><feaas-external data-external-id="test-server-external-context"><h1>My Component: cde</h1></feaas-external></feaas-component>`
96
+ )
97
+ })
33
98
  })
@@ -1,11 +1,11 @@
1
1
  /** Lightweight DOM parser and serializer to use in server environments */
2
2
  import { DataScopes } from '../utils/settings.js';
3
3
  import { FEAASCustomizations } from './rendering.js';
4
- type HTMLAttribute = {
4
+ export type HTMLAttribute = {
5
5
  name: string;
6
6
  value: string;
7
7
  };
8
- declare class HTMLNode {
8
+ export declare class HTMLNode {
9
9
  nodeName: string;
10
10
  nodeType: number;
11
11
  textContent?: string;
@@ -43,5 +43,5 @@ export declare function parseHTML(html: string): HTMLNode[];
43
43
  export declare function escapeHTML(input: string): string;
44
44
  export declare function serializeHTML(nodes: HTMLNode[]): string;
45
45
  export declare function renderHTMLContent(template: string, data?: DataScopes, config?: FEAASCustomizations): string;
46
- export {};
46
+ export declare function parseHTMLContent(template: string, data?: DataScopes, config?: FEAASCustomizations): HTMLNode[];
47
47
  //# sourceMappingURL=html.d.ts.map
@@ -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,KAAK,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAEpD,cAAM,QAAQ;IACZ,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;MAGtC;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,UAIlG"}
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;MAGtC;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 +1 @@
1
- {"version":3,"file":"rendering.d.ts","sourceRoot":"","sources":["../../src/dom/rendering.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,MAAM,WAAW,mBAAmB;IAClC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,MAAM,CAAA;IACtF,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,KAAK,GAAG,CAAA;IAC7D,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;IAC1E,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,KAAK,OAAO,CAAA;IAC5D,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAA;CAC5D;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,WAAW,IAAI,OAAO,CAAC,gBAAgB,CAAC,GAAG;IAC7E,IAAI,CAAC,EAAE,CAAC,CAAA;CACT,GAAG,CAAC,gBAAgB,GAAG,sBAAsB,CAAC,GAC7C,mBAAmB,CAAA;AAsDrB,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,mBAAmB,QAoEhH;AAID,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,WAAW,GAAG,gBAAgB,EACrC,UAAU,CAAC,EAAE,GAAG,EAChB,MAAM,CAAC,EAAE,mBAAmB,EAC5B,QAAQ,CAAC,EAAE,OAAO,eA0CnB;AAMD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,mBAAmB,eAc9G;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,OAAO,UAAQ,UAW7G"}
1
+ {"version":3,"file":"rendering.d.ts","sourceRoot":"","sources":["../../src/dom/rendering.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAIvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,MAAM,WAAW,mBAAmB;IAClC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,MAAM,CAAA;IACtF,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,KAAK,GAAG,CAAA;IAC7D,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;IAC1E,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,KAAK,OAAO,CAAA;IAC5D,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,CAAA;CAC5D;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,mBAAmB,CAAC,CAAC,GAAG,WAAW,IAAI,OAAO,CAAC,gBAAgB,CAAC,GAAG;IAC7E,IAAI,CAAC,EAAE,CAAC,CAAA;CACT,GAAG,CAAC,gBAAgB,GAAG,sBAAsB,CAAC,GAC7C,mBAAmB,CAAA;AAsDrB,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,mBAAmB,QAqEhH;AAID,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,WAAW,GAAG,gBAAgB,EACrC,UAAU,CAAC,EAAE,GAAG,EAChB,MAAM,CAAC,EAAE,mBAAmB,EAC5B,QAAQ,CAAC,EAAE,OAAO,eA0CnB;AAMD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,mBAAmB,eAc9G;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,OAAO,UAAQ,UAW7G"}