@sitecore-feaas/clientside 0.2.0 → 0.2.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/README.md +56 -36
- package/build/components/FEAASComponent.js +71 -11
- package/build/components/FEAASComponent.js.map +1 -1
- package/build/components/FEAASElement.js +411 -37
- package/build/components/FEAASElement.js.map +1 -1
- package/build/components/FEAASLoader.js +2 -2
- package/build/components/FEAASLoader.js.map +1 -1
- package/build/components/FEAASReactElement.js +47 -0
- package/build/components/FEAASReactElement.js.map +1 -0
- package/build/components/FEAASStylesheet.js +2 -2
- package/build/components/FEAASStylesheet.js.map +1 -1
- package/build/headless.js +4 -3
- package/build/headless.js.map +1 -1
- package/build/ui/FEAAS.js +5 -0
- package/build/ui/FEAAS.js.map +1 -0
- package/build/ui/FEAASContext.js +20 -8
- package/build/ui/FEAASContext.js.map +1 -1
- package/build/ui/FEAASEditor.js +2 -2
- package/build/ui/FEAASEditor.js.map +1 -1
- package/build/ui/FEAASExternal.js +128 -24
- package/build/ui/FEAASExternal.js.map +1 -1
- package/build/ui/FEAASPicker.js +7 -2
- package/build/ui/FEAASPicker.js.map +1 -1
- package/build/ui/index.js +3 -4
- package/build/ui/index.js.map +1 -1
- package/build/ui/react.js.map +1 -1
- package/build/utils/fetch.js +26 -0
- package/build/utils/fetch.js.map +1 -0
- package/dist/browser/headless.cjs +6 -6
- package/dist/browser/headless.cjs.map +4 -4
- package/dist/browser/headless.esm.js +6 -6
- package/dist/browser/headless.esm.js.map +1 -1
- package/dist/browser/index.cjs +7 -7
- package/dist/browser/index.cjs.map +4 -4
- package/dist/browser/index.esm.js +7 -7
- package/dist/browser/index.esm.js.map +1 -1
- package/dist/browser/react.cjs +6 -6
- package/dist/browser/react.cjs.map +4 -4
- package/dist/browser/react.esm.js +6 -6
- package/dist/browser/react.esm.js.map +1 -1
- package/dist/node/headless.cjs +4 -4
- package/dist/node/headless.cjs.map +4 -4
- package/dist/node/headless.esm.js +4 -4
- package/dist/node/headless.esm.js.map +4 -4
- package/dist/node/index.cjs +4 -4
- package/dist/node/index.cjs.map +4 -4
- package/dist/node/index.esm.js +4 -4
- package/dist/node/index.esm.js.map +4 -4
- package/dist/node/react.cjs +4 -4
- package/dist/node/react.cjs.map +4 -4
- package/dist/node/react.esm.js +4 -4
- package/dist/node/react.esm.js.map +4 -4
- package/headless.cjs +4 -4
- package/headless.cjs.map +4 -4
- package/headless.js +4 -4
- package/headless.js.map +4 -4
- package/package.json +11 -3
- package/react.cjs +6 -6
- package/react.cjs.map +4 -4
- package/react.js +6 -6
- package/react.js.map +4 -4
- package/scripts/build.js +1 -1
- package/scripts/test-setup.ts +1 -0
- package/src/components/FEAASComponent.tsx +96 -12
- package/src/components/FEAASElement.tsx +479 -41
- package/src/components/FEAASLoader.tsx +2 -2
- package/src/components/FEAASReactElement.tsx +61 -0
- package/src/components/FEAASStylesheet.tsx +3 -3
- package/src/headless.ts +5 -4
- package/src/ui/FEAAS.tsx +4 -0
- package/src/ui/FEAASContext.tsx +25 -7
- package/src/ui/FEAASEditor.tsx +7 -7
- package/src/ui/FEAASExternal.tsx +134 -24
- package/src/ui/FEAASPicker.tsx +9 -5
- package/src/ui/index.ts +4 -4
- package/src/ui/react.tsx +5 -0
- package/src/ui/tsconfig.json +1 -1
- package/src/utils/fetch.ts +44 -0
- package/test/FEAASBase.test.tsx +2 -2
- package/test/FEAASComponent.test.tsx +4 -1
- package/test/FEAASComponent2.test.tsx +215 -0
- package/test/FEAASContext.test.tsx +206 -29
- package/test/FEAASExternal.test.tsx +1 -8
- package/test/FEAASPicker.test.tsx +4 -2
- package/test/fetch-data.ts +55 -0
- package/types/components/FEAASComponent.d.ts +33 -3
- package/types/components/FEAASComponent.d.ts.map +1 -1
- package/types/components/FEAASElement.d.ts +299 -22
- package/types/components/FEAASElement.d.ts.map +1 -1
- package/types/components/FEAASLoader.d.ts +2 -2
- package/types/components/FEAASLoader.d.ts.map +1 -1
- package/types/components/FEAASReactElement.d.ts +30 -0
- package/types/components/FEAASReactElement.d.ts.map +1 -0
- package/types/components/FEAASStylesheet.d.ts +3 -3
- package/types/components/FEAASStylesheet.d.ts.map +1 -1
- package/types/headless.d.ts +4 -3
- package/types/headless.d.ts.map +1 -1
- package/types/tsbuildinfo +1 -1
- package/types/ui/FEAAS.d.ts +5 -0
- package/types/ui/FEAAS.d.ts.map +1 -0
- package/types/ui/FEAASContext.d.ts +16 -7
- package/types/ui/FEAASContext.d.ts.map +1 -1
- package/types/ui/FEAASEditor.d.ts +6 -6
- package/types/ui/FEAASEditor.d.ts.map +1 -1
- package/types/ui/FEAASExternal.d.ts +59 -10
- package/types/ui/FEAASExternal.d.ts.map +1 -1
- package/types/ui/FEAASPicker.d.ts +11 -9
- package/types/ui/FEAASPicker.d.ts.map +1 -1
- package/types/ui/index.d.ts +1 -4
- package/types/ui/index.d.ts.map +1 -1
- package/types/ui/react.d.ts.map +1 -1
- package/types/ui/tsbuildinfo +1 -0
- package/types/utils/fetch.d.ts +9 -0
- package/types/utils/fetch.d.ts.map +1 -0
- package/build/components/FEAASBase.js +0 -416
- package/build/components/FEAASBase.js.map +0 -1
- package/src/components/FEAASBase.tsx +0 -485
- package/types/components/FEAASBase.d.ts +0 -299
- package/types/components/FEAASBase.d.ts.map +0 -1
- package/types/tsbuildinfo_ui +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FEAAS.d.ts","sourceRoot":"","sources":["../../src/ui/FEAAS.tsx"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
/// <reference types="react" resolution-mode="require"/>
|
|
2
2
|
import type * as FEAASContextImports from '@sitecore-feaas/frontend/context';
|
|
3
|
-
import
|
|
4
|
-
import { FEAASBase, OptionalExcept } from '../components/FEAASBase.js';
|
|
3
|
+
import { FEAASElement, OptionalExcept } from '../components/FEAASElement.js';
|
|
5
4
|
import { ControlledPromise } from '../utils/promise.js';
|
|
5
|
+
import type * as FEAAS from './index.js';
|
|
6
6
|
export declare function FEAASContextProps(element: HTMLElement): {
|
|
7
7
|
library: string;
|
|
8
8
|
src: string;
|
|
9
|
+
environment: string;
|
|
9
10
|
frontend: string;
|
|
10
11
|
backend: string;
|
|
11
12
|
cdn: string;
|
|
12
|
-
auth: Partial<AuthModel>;
|
|
13
|
+
auth: Partial<FEAASContextImports.Model.AuthModel>;
|
|
13
14
|
isolate: boolean;
|
|
14
15
|
};
|
|
15
16
|
export type FEAASContextProps = ReturnType<typeof FEAASContextProps>;
|
|
@@ -17,35 +18,39 @@ export type FEAASContextProps = ReturnType<typeof FEAASContextProps>;
|
|
|
17
18
|
* Context provides shared parameters and react providers for its nested elements. It loads lazily once any of its
|
|
18
19
|
* nested components load. Just placing it on the page without any consumers does not impose any overhead.
|
|
19
20
|
*/
|
|
20
|
-
export declare class FEAASContext extends
|
|
21
|
+
export declare class FEAASContext extends FEAASElement<FEAASContextProps, typeof FEAASContextImports> {
|
|
21
22
|
static observedAttributes: string[];
|
|
22
23
|
getProps(): {
|
|
23
24
|
library: string;
|
|
24
25
|
src: string;
|
|
26
|
+
environment: string;
|
|
25
27
|
frontend: string;
|
|
26
28
|
backend: string;
|
|
27
29
|
cdn: string;
|
|
28
|
-
auth: Partial<AuthModel>;
|
|
30
|
+
auth: Partial<FEAASContextImports.Model.AuthModel>;
|
|
29
31
|
isolate: boolean;
|
|
30
32
|
};
|
|
31
33
|
defaultProps: Partial<{
|
|
32
34
|
library: string;
|
|
33
35
|
src: string;
|
|
36
|
+
environment: string;
|
|
34
37
|
frontend: string;
|
|
35
38
|
backend: string;
|
|
36
39
|
cdn: string;
|
|
37
|
-
auth: Partial<AuthModel>;
|
|
40
|
+
auth: Partial<FEAASContextImports.Model.AuthModel>;
|
|
38
41
|
isolate: boolean;
|
|
39
42
|
}>;
|
|
40
43
|
load(): Promise<typeof FEAASContextImports>;
|
|
41
44
|
isReadyToLoad(): boolean;
|
|
42
45
|
getTheme(theme: FEAASContextImports.Chakra.Theme): FEAASContextImports.Chakra.Theme;
|
|
43
|
-
getRoot(): HTMLElement |
|
|
46
|
+
getRoot(): HTMLElement | FEAASElement<any, any> | ShadowRoot;
|
|
44
47
|
reactRootElement: HTMLDivElement;
|
|
45
48
|
getReactRootElement(): HTMLDivElement;
|
|
46
49
|
/** Pull in children FEAAS react elements into the shadow DOM so they receieve the styles */
|
|
47
50
|
connectedCallback(): void;
|
|
51
|
+
disconnectedCallback(): void;
|
|
48
52
|
sdk: FEAASContextImports.SDK;
|
|
53
|
+
clientside: typeof FEAAS;
|
|
49
54
|
onStatusChange: FEAASContextImports.SDKStatusCallback;
|
|
50
55
|
whenSDKReady: ControlledPromise<FEAASContextImports.SDK>;
|
|
51
56
|
render({ children, library }: React.PropsWithChildren<FEAASContextProps>, { AppContext, Chakra: { Button, Tooltip }, React }: typeof this.payload): JSX.Element;
|
|
@@ -56,5 +61,9 @@ declare global {
|
|
|
56
61
|
'feaas-context': OptionalExcept<FEAASContextProps, 'library'>;
|
|
57
62
|
}
|
|
58
63
|
}
|
|
64
|
+
interface DocumentEventMap {
|
|
65
|
+
feaasReady: CustomEvent<FEAASContextImports.SDK>;
|
|
66
|
+
}
|
|
59
67
|
}
|
|
68
|
+
export { FEAASContext as Context };
|
|
60
69
|
//# sourceMappingURL=FEAASContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FEAASContext.d.ts","sourceRoot":"","sources":["../../src/ui/FEAASContext.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,mBAAmB,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"FEAASContext.d.ts","sourceRoot":"","sources":["../../src/ui/FEAASContext.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,mBAAmB,MAAM,kCAAkC,CAAA;AAE5E,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AAExC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW;;;;;;;;;EAYrD;AACD,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEpE;;;GAGG;AACH,qBAAa,YAAa,SAAQ,YAAY,CAAC,iBAAiB,EAAE,OAAO,mBAAmB,CAAC;IAC3F,MAAM,CAAC,kBAAkB,WAA0E;IACnG,QAAQ;;;;;;;;;;IAIR,YAAY;;;;;;;;;OAEmB;IAE/B,IAAI;IAIJ,aAAa;IAKb,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC,MAAM,CAAC,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK;IAInF,OAAO,IAAI,WAAW,GAAG,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,UAAU;IAK5D,gBAAgB,EAAE,cAAc,CAAA;IAChC,mBAAmB;IASnB,4FAA4F;IAC5F,iBAAiB;IAUjB,oBAAoB;IAMpB,GAAG,EAAE,mBAAmB,CAAC,GAAG,CAAA;IAC5B,UAAU,EAAE,OAAO,KAAK,CAAA;IACxB,cAAc,EAAE,mBAAmB,CAAC,iBAAiB,CAKpD;IACD,YAAY,6CAEV;IAEF,MAAM,CACJ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EACjE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,IAAI,CAAC,OAAO;CAmC1E;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,GAAG,CAAC;QACZ,UAAU,iBAAiB;YACzB,eAAe,EAAE,cAAc,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;SAC9D;KACF;IACD,UAAU,gBAAgB;QACxB,UAAU,EAAE,WAAW,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;KACjD;CACF;AAED,OAAO,EAAE,YAAY,IAAI,OAAO,EAAE,CAAA"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/// <reference types="react" resolution-mode="require"/>
|
|
2
2
|
import type * as FEAASEditorImports from '@sitecore-feaas/frontend/editor';
|
|
3
|
-
import {
|
|
3
|
+
import { FEAASElement, OptionalExcept } from '../components/FEAASElement.js';
|
|
4
4
|
import { FEAASLoader } from '../components/FEAASLoader.js';
|
|
5
5
|
export declare function getFramePosition(element: HTMLElement): {
|
|
6
6
|
left: number;
|
|
7
7
|
top: number;
|
|
8
8
|
};
|
|
9
|
-
export declare function FEAASEditorProps(element:
|
|
9
|
+
export declare function FEAASEditorProps(element: FEAASElement): {
|
|
10
10
|
context: {
|
|
11
11
|
new (): HTMLElement;
|
|
12
12
|
prototype: HTMLElement;
|
|
@@ -31,7 +31,7 @@ type Rect = {
|
|
|
31
31
|
width: number;
|
|
32
32
|
height: number;
|
|
33
33
|
};
|
|
34
|
-
export declare class FEAASEditor extends
|
|
34
|
+
export declare class FEAASEditor extends FEAASElement<FEAASEditorProps, typeof FEAASEditorImports> {
|
|
35
35
|
framePoint: Pick<Rect, 'top' | 'left'>;
|
|
36
36
|
wrapperRect: Rect;
|
|
37
37
|
bodyRect: Rect;
|
|
@@ -123,7 +123,7 @@ export declare class FEAASEditor extends FEAASBase<FEAASEditorProps, typeof FEAA
|
|
|
123
123
|
};
|
|
124
124
|
attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
|
|
125
125
|
open(): void;
|
|
126
|
-
shouldFork(version: FEAASEditorImports.
|
|
126
|
+
shouldFork(version: FEAASEditorImports.Model.VersionModel): boolean;
|
|
127
127
|
cleanup(): void;
|
|
128
128
|
onClose: () => void;
|
|
129
129
|
close(): void;
|
|
@@ -138,8 +138,8 @@ export declare class FEAASEditor extends FEAASBase<FEAASEditorProps, typeof FEAA
|
|
|
138
138
|
onEditorStateChange: (editorContext: FEAASEditorImports.EditorContext, setEditorContext: (context: Partial<FEAASEditorImports.EditorContext>) => void) => void;
|
|
139
139
|
setLoadingState(): void;
|
|
140
140
|
setReadyState(): void;
|
|
141
|
-
component: FEAASEditorImports.
|
|
142
|
-
version: FEAASEditorImports.
|
|
141
|
+
component: FEAASEditorImports.Model.ComponentModel;
|
|
142
|
+
version: FEAASEditorImports.Model.VersionModel;
|
|
143
143
|
closing: ReturnType<typeof setTimeout>;
|
|
144
144
|
render({ children, component: componentId, version: versionId, instance: instanceId }: React.PropsWithChildren<FEAASEditorProps>, { Editor, VersionStatusList, VersionStatusButton, Version, VersionMenu, EditorUIUndo, EditorUIMode, React: { useEffect, useMemo, useState, useContext }, Chakra: { HStack, Box, Button, MenuItem }, Chrome, ReactDOM, useSDK, useLibrary, useSlots, useModelObserver, ConfirmationContext, VersionContext }: typeof FEAASEditorImports): FEAASEditorImports.React.ReactElement<any, string | FEAASEditorImports.React.JSXElementConstructor<any>>;
|
|
145
145
|
isReadyToLoad(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FEAASEditor.d.ts","sourceRoot":"","sources":["../../src/ui/FEAASEditor.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,kBAAkB,MAAM,iCAAiC,CAAA;AAC1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"FEAASEditor.d.ts","sourceRoot":"","sources":["../../src/ui/FEAASEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import ReactDOM from 'react-dom';
|
|
4
|
-
import {
|
|
5
|
-
import { ReactJSX, ReactModules } from '../components/
|
|
4
|
+
import { FEAASElement } from '../components/FEAASElement.js';
|
|
5
|
+
import { ReactJSX, ReactModules } from '../components/FEAASReactElement.js';
|
|
6
6
|
import { FEAASComponentProps } from './react.js';
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
import type { ExternalComponent, ExternalComponentOptions, JSONSchema } from '@sitecore-feaas/sdk';
|
|
8
|
+
/** Parses a property value based on its property name and type defined in the JSON properties object. */
|
|
9
|
+
export declare const parseProps: (propName: string, propValue: string, properties: JSONSchema['properties']) => any;
|
|
10
|
+
export declare function FEAASExternalProps(element: FEAASElement): {};
|
|
9
11
|
export type RegisteredComponents = {
|
|
10
|
-
[id: string]:
|
|
11
|
-
component: React.ElementType;
|
|
12
|
-
schema: any;
|
|
13
|
-
};
|
|
12
|
+
[id: string]: ExternalComponent;
|
|
14
13
|
};
|
|
15
14
|
export type FEAASExternalProps = ReturnType<typeof FEAASExternalProps> & {
|
|
16
15
|
dataExternalId: string;
|
|
17
16
|
};
|
|
18
|
-
export default class FEAASExternal extends
|
|
17
|
+
export default class FEAASExternal extends FEAASElement<FEAASExternalProps, ReactModules> {
|
|
19
18
|
static registered: RegisteredComponents;
|
|
20
19
|
static registrationCallback: NodeJS.Timeout;
|
|
21
20
|
load(): Promise<{
|
|
@@ -24,7 +23,56 @@ export default class FEAASExternal extends FEAASBase<FEAASExternalProps, ReactMo
|
|
|
24
23
|
}>;
|
|
25
24
|
render(props: FEAASExternalProps, { React }: ReactModules): ReactJSX;
|
|
26
25
|
getProps(): {};
|
|
27
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Register React component to be renderable as Sitecore component (in Components and Pages). Properties are defined
|
|
28
|
+
* as JSON schema, from which a configuration form will be produced using RJSF library. The library allows passing a
|
|
29
|
+
* UI schema that allows tight customization of form widgets, styles and its behavior.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* FEAAS.External.registerComponent(MyComponent, {
|
|
33
|
+
* // Name of a component as it will be presented to the user
|
|
34
|
+
* name: 'My Component',
|
|
35
|
+
* // Title of a component as it will be presented in the inputs form
|
|
36
|
+
* title: 'My Component',
|
|
37
|
+
* // Optional: Thumbnail image for component to be displayed in UI
|
|
38
|
+
* thumbnail: 'http://examaple.com/component.jpg',
|
|
39
|
+
* // Optional: Group components by name
|
|
40
|
+
* group: 'Assorted components',
|
|
41
|
+
* // Definitions of three configurable properties that MyComponent accepts
|
|
42
|
+
* properties: {
|
|
43
|
+
* // Color is a string, but only Red/Green/Blue are allowed
|
|
44
|
+
* color: { type: 'string', enum: ['red', 'green', 'blue'] },
|
|
45
|
+
* // Text is a property labelled as "Text summary"
|
|
46
|
+
* text: { type: 'string', title: 'Text summary' },
|
|
47
|
+
* // Count is a number with 1 as default value
|
|
48
|
+
* count: { type: 'number', default: 1 }
|
|
49
|
+
* },
|
|
50
|
+
* // Optional UI schema customization
|
|
51
|
+
* ui: {
|
|
52
|
+
* // Present color choices as radio buttons
|
|
53
|
+
* color: { 'ui:widget': 'radio' },
|
|
54
|
+
* // Text is a textarea with 5 rows
|
|
55
|
+
* text: { 'ui:widget': 'textarea', 'ui:options': { rows: 5 } },
|
|
56
|
+
* // Count is a number field with spinner button
|
|
57
|
+
* count: { 'ui:widget': 'updown' }
|
|
58
|
+
* },
|
|
59
|
+
* // Color and text area required properties
|
|
60
|
+
* required: ['color', 'text']
|
|
61
|
+
* })
|
|
62
|
+
*
|
|
63
|
+
* @param {React.ComponentType} component React component that will be rendered.
|
|
64
|
+
* @param {string} options.name Component name as presented to the user.
|
|
65
|
+
* @param {string} options.title Component title to be used in the inputs form. Defaults to component name.
|
|
66
|
+
* @param {JSONSchema['properties']} options.properties Object of properties.
|
|
67
|
+
* @param {JSONSchema['type']} options.properties[].type JSON Schema type of a property.
|
|
68
|
+
* @param {string} [options.properties[].title] Optional title displayed to the user.
|
|
69
|
+
* @param {string} [options.group] Optional Image to be displayed in the UI.
|
|
70
|
+
* @param {string} [options.thumbnail] Optional title displayed to the user.
|
|
71
|
+
* @param {UISchema} [options.ui] Optional component groupping.
|
|
72
|
+
* @see https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema
|
|
73
|
+
* @see https://json-schema.org
|
|
74
|
+
*/
|
|
75
|
+
static registerComponent(component: React.ComponentType, options: ExternalComponentOptions): void;
|
|
28
76
|
static setRegistrationCallback(): void;
|
|
29
77
|
static Preview(props: Partial<FEAASComponentProps<any>> & {
|
|
30
78
|
src: string;
|
|
@@ -44,5 +92,6 @@ declare global {
|
|
|
44
92
|
}
|
|
45
93
|
}
|
|
46
94
|
}
|
|
95
|
+
export declare const registerComponent: typeof FEAASExternal.registerComponent;
|
|
47
96
|
export { FEAASExternal as External };
|
|
48
97
|
//# sourceMappingURL=FEAASExternal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FEAASExternal.d.ts","sourceRoot":"","sources":["../../src/ui/FEAASExternal.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,QAAQ,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"FEAASExternal.d.ts","sourceRoot":"","sources":["../../src/ui/FEAASExternal.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,QAAQ,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAE3E,OAAO,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,UAAU,EAAY,MAAM,qBAAqB,CAAA;AAyD5G,yGAAyG;AACzG,eAAO,MAAM,UAAU,aAAc,MAAM,aAAa,MAAM,cAAc,UAAU,CAAC,YAAY,CAAC,QAkBnG,CAAA;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,MAavD;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,CAAA;CAChC,CAAA;AACD,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,GAAG;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,CAAA;AAEnG,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,YAAY,CAAC,kBAAkB,EAAE,YAAY,CAAC;IACvF,MAAM,CAAC,UAAU,EAAE,oBAAoB,CAAK;IAC5C,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,OAAO,CAAA;IAC3C,IAAI;;;;IAIJ,MAAM,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,EAAE,YAAY,GAAG,QAAQ;IAOpE,QAAQ;IAIR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgDG;IACH,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,aAAa,EAAE,OAAO,EAAE,wBAAwB;IAkB1F,MAAM,CAAC,uBAAuB;IAsC9B,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE;CAK1E;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,GAAG,CAAC;QACZ,UAAU,iBAAiB;YACzB,gBAAgB,EAAE;gBAChB,kBAAkB,EAAE,MAAM,CAAA;gBAC1B,QAAQ,CAAC,EAAE,GAAG,CAAA;gBACd,uBAAuB,CAAC,EAAE;oBAAE,MAAM,EAAE,MAAM,CAAA;iBAAE,CAAA;gBAC5C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;aACnB,CAAA;SACF;KACF;CACF;AAKD,eAAO,MAAM,iBAAiB,wCAAkC,CAAA;AAChE,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,CAAA"}
|
|
@@ -1,49 +1,50 @@
|
|
|
1
1
|
/// <reference types="react" resolution-mode="require"/>
|
|
2
2
|
import type * as FEAASPickerImports from '@sitecore-feaas/frontend/picker';
|
|
3
|
-
import {
|
|
4
|
-
export declare function FEAASPickerProps(element:
|
|
3
|
+
import { FEAASElement } from '../components/FEAASElement.js';
|
|
4
|
+
export declare function FEAASPickerProps(element: FEAASElement<any, any>): {
|
|
5
5
|
part: string;
|
|
6
6
|
slot: string;
|
|
7
|
-
mode: "library" | "element" | "themes";
|
|
7
|
+
mode: "library" | "datasources" | "element" | "themes";
|
|
8
8
|
placeholder: string;
|
|
9
9
|
frontend: string;
|
|
10
10
|
src: string;
|
|
11
11
|
hidden: boolean;
|
|
12
12
|
variant: "internal" | "pages";
|
|
13
|
-
context: FEAASPickerImports.
|
|
13
|
+
context: FEAASPickerImports.Style.Context;
|
|
14
14
|
onClose: (...args: any[]) => void;
|
|
15
15
|
onContextAttributeSet: (context: any, attribute: string, value: string) => void;
|
|
16
16
|
};
|
|
17
17
|
export type FEAASPickerProps = ReturnType<typeof FEAASPickerProps>;
|
|
18
|
-
export declare class FEAASPicker extends
|
|
18
|
+
export declare class FEAASPicker extends FEAASElement<FEAASPickerProps, typeof FEAASPickerImports> {
|
|
19
19
|
static observedAttributes: string[];
|
|
20
20
|
defaultProps: Partial<{
|
|
21
21
|
part: string;
|
|
22
22
|
slot: string;
|
|
23
|
-
mode: "library" | "element" | "themes";
|
|
23
|
+
mode: "library" | "datasources" | "element" | "themes";
|
|
24
24
|
placeholder: string;
|
|
25
25
|
frontend: string;
|
|
26
26
|
src: string;
|
|
27
27
|
hidden: boolean;
|
|
28
28
|
variant: "internal" | "pages";
|
|
29
|
-
context: FEAASPickerImports.
|
|
29
|
+
context: FEAASPickerImports.Style.Context;
|
|
30
30
|
onClose: (...args: any[]) => void;
|
|
31
31
|
onContextAttributeSet: (context: any, attribute: string, value: string) => void;
|
|
32
32
|
}>;
|
|
33
33
|
getProps(): {
|
|
34
34
|
part: string;
|
|
35
35
|
slot: string;
|
|
36
|
-
mode: "library" | "element" | "themes";
|
|
36
|
+
mode: "library" | "datasources" | "element" | "themes";
|
|
37
37
|
placeholder: string;
|
|
38
38
|
frontend: string;
|
|
39
39
|
src: string;
|
|
40
40
|
hidden: boolean;
|
|
41
41
|
variant: "internal" | "pages";
|
|
42
|
-
context: FEAASPickerImports.
|
|
42
|
+
context: FEAASPickerImports.Style.Context;
|
|
43
43
|
onClose: (...args: any[]) => void;
|
|
44
44
|
onContextAttributeSet: (context: any, attribute: string, value: string) => void;
|
|
45
45
|
};
|
|
46
46
|
load(): Promise<typeof FEAASPickerImports>;
|
|
47
|
+
connectedCallback(): void;
|
|
47
48
|
render({ placeholder, context, mode, children, variant }: React.PropsWithChildren<FEAASPickerProps>, { Picker, React, useLibrary }: typeof FEAASPickerImports): JSX.Element;
|
|
48
49
|
}
|
|
49
50
|
declare global {
|
|
@@ -53,4 +54,5 @@ declare global {
|
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
56
|
}
|
|
57
|
+
export { FEAASPicker as Picker };
|
|
56
58
|
//# sourceMappingURL=FEAASPicker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FEAASPicker.d.ts","sourceRoot":"","sources":["../../src/ui/FEAASPicker.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,kBAAkB,MAAM,iCAAiC,CAAA;AAC1E,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"FEAASPicker.d.ts","sourceRoot":"","sources":["../../src/ui/FEAASPicker.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,kBAAkB,MAAM,iCAAiC,CAAA;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAE5D,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC;;;;;;;;;;uBAW5B,GAAG,EAAE,KAAK,IAAI;qCACA,GAAG,aAAa,MAAM,SAAS,MAAM,KAAK,IAAI;EAE/F;AACD,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAElE,qBAAa,WAAY,SAAQ,YAAY,CAAC,gBAAgB,EAAE,OAAO,kBAAkB,CAAC;IACxF,MAAM,CAAC,kBAAkB,WAA8D;IAEvF,YAAY;;;;;;;;;;;;OAEkB;IAE9B,QAAQ;;;;;;;;;;;;;IAIR,IAAI;IAGJ,iBAAiB;IAIjB,MAAM,CACJ,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAC5F,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,OAAO,kBAAkB;CAsB3D;AACD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,GAAG,CAAC;QACZ,UAAU,iBAAiB;YACzB,cAAc,EAAE,OAAO,CAAC,OAAO,kBAAkB,CAAC,CAAA;SACnD;KACF;CACF;AAED,OAAO,EAAE,WAAW,IAAI,MAAM,EAAE,CAAA"}
|
package/types/ui/index.d.ts
CHANGED
package/types/ui/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
|
package/types/ui/react.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/ui/react.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/ui/react.tsx"],"names":[],"mappings":";AAEA,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAwB,MAAM,YAAY,CAAA;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAElD,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,mBAAmB,CAAC,GAAG,CAAC,eAoBtE;AAED,eAAO,MAAM,SAAS,mBAAa,CAAA"}
|