@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.
- package/README.md +9 -7
- package/build/dom/html.js +7 -2
- package/build/dom/html.js.map +1 -1
- package/build/dom/rendering.js +3 -2
- package/build/dom/rendering.js.map +1 -1
- package/build/ui/FEAASExternal.js +7 -1
- package/build/ui/FEAASExternal.js.map +1 -1
- package/build/ui/FEAASPicker.js +8 -5
- package/build/ui/FEAASPicker.js.map +1 -1
- package/build/ui/react.js +35 -15
- package/build/ui/react.js.map +1 -1
- package/dist/browser/headless.cjs +6 -6
- package/dist/browser/headless.cjs.map +3 -3
- package/dist/browser/headless.esm.js +6 -6
- package/dist/browser/headless.esm.js.map +1 -1
- package/dist/browser/index.cjs +6 -6
- package/dist/browser/index.cjs.map +3 -3
- package/dist/browser/index.esm.js +6 -6
- package/dist/browser/index.esm.js.map +1 -1
- package/dist/browser/react.cjs +7 -7
- package/dist/browser/react.cjs.map +3 -3
- package/dist/browser/react.esm.js +7 -7
- package/dist/browser/react.esm.js.map +1 -1
- package/dist/node/headless.cjs +4 -4
- package/dist/node/headless.cjs.map +3 -3
- package/dist/node/headless.esm.js +4 -4
- package/dist/node/headless.esm.js.map +3 -3
- package/dist/node/index.cjs +5 -5
- package/dist/node/index.cjs.map +3 -3
- package/dist/node/index.esm.js +5 -5
- package/dist/node/index.esm.js.map +3 -3
- package/dist/node/react.cjs +5 -5
- package/dist/node/react.cjs.map +3 -3
- package/dist/node/react.esm.js +5 -5
- package/dist/node/react.esm.js.map +3 -3
- package/headless.cjs +4 -4
- package/headless.cjs.map +3 -3
- package/headless.js +4 -4
- package/headless.js.map +3 -3
- package/package.json +1 -1
- package/react.cjs +7 -7
- package/react.cjs.map +3 -3
- package/react.js +7 -7
- package/react.js.map +3 -3
- package/src/dom/html.ts +9 -3
- package/src/dom/rendering.ts +3 -2
- package/src/ui/FEAASExternal.tsx +9 -1
- package/src/ui/FEAASPicker.tsx +9 -5
- package/src/ui/react.tsx +55 -18
- package/test/ServerComponent.test.tsx +68 -3
- package/types/dom/html.d.ts +3 -3
- package/types/dom/html.d.ts.map +1 -1
- package/types/dom/rendering.d.ts.map +1 -1
- package/types/tsbuildinfo +1 -1
- package/types/ui/FEAASExternal.d.ts +3 -1
- package/types/ui/FEAASExternal.d.ts.map +1 -1
- package/types/ui/FEAASPicker.d.ts +7 -4
- package/types/ui/FEAASPicker.d.ts.map +1 -1
- package/types/ui/react.d.ts +12 -5
- package/types/ui/react.d.ts.map +1 -1
- 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
|
|
333
|
+
return nodes.map((node) => {
|
|
334
|
+
return renderDOMElement(node as unknown as HTMLElement, data, config)
|
|
335
|
+
}) as unknown as HTMLNode[]
|
|
330
336
|
}
|
package/src/dom/rendering.ts
CHANGED
|
@@ -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
|
-
|
|
132
|
-
|
|
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) {
|
package/src/ui/FEAASExternal.tsx
CHANGED
|
@@ -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
|
|
261
|
+
export const { getComponent, linkComponents, registerComponent } = FEAASExternal
|
|
254
262
|
export { FEAASExternal as External }
|
package/src/ui/FEAASPicker.tsx
CHANGED
|
@@ -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
|
-
|
|
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
|
|
23
|
-
const response = await fetchComponent(
|
|
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
|
-
|
|
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 }:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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="{"data":"1"}">{"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="{"data":"2"}">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="{"value":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="{"value":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="{"value":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
|
})
|
package/types/dom/html.d.ts
CHANGED
|
@@ -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
|
package/types/dom/html.d.ts.map
CHANGED
|
@@ -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,
|
|
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,
|
|
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"}
|