@sitecore-feaas/clientside 0.3.17 → 0.4.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +6 -10
  2. package/build/components/FEAASElement.js +5 -0
  3. package/build/components/FEAASElement.js.map +1 -1
  4. package/build/dom/rendering.js +2 -2
  5. package/build/dom/rendering.js.map +1 -1
  6. package/build/dom/thumbnail.js +2 -2
  7. package/build/dom/thumbnail.js.map +1 -1
  8. package/build/ui/FEAASExternal.js +13 -229
  9. package/build/ui/FEAASExternal.js.map +1 -1
  10. package/build/ui/FEAASPicker.js +5 -3
  11. package/build/ui/FEAASPicker.js.map +1 -1
  12. package/build/ui/react.js +13 -90
  13. package/build/ui/react.js.map +1 -1
  14. package/dist/browser/headless.cjs +7 -7
  15. package/dist/browser/headless.cjs.map +3 -3
  16. package/dist/browser/headless.esm.js +7 -7
  17. package/dist/browser/headless.esm.js.map +1 -1
  18. package/dist/browser/index.cjs +6 -6
  19. package/dist/browser/index.cjs.map +3 -3
  20. package/dist/browser/index.esm.js +6 -6
  21. package/dist/browser/index.esm.js.map +1 -1
  22. package/dist/browser/react.cjs +7 -7
  23. package/dist/browser/react.cjs.map +4 -4
  24. package/dist/browser/react.esm.js +7 -7
  25. package/dist/browser/react.esm.js.map +1 -1
  26. package/dist/node/headless.cjs +5 -5
  27. package/dist/node/headless.cjs.map +3 -3
  28. package/dist/node/headless.esm.js +5 -5
  29. package/dist/node/headless.esm.js.map +3 -3
  30. package/dist/node/index.cjs +5 -5
  31. package/dist/node/index.cjs.map +3 -3
  32. package/dist/node/index.esm.js +5 -5
  33. package/dist/node/index.esm.js.map +3 -3
  34. package/dist/node/react.cjs +5 -5
  35. package/dist/node/react.cjs.map +4 -4
  36. package/dist/node/react.esm.js +5 -5
  37. package/dist/node/react.esm.js.map +4 -4
  38. package/headless.cjs +5 -5
  39. package/headless.cjs.map +3 -3
  40. package/headless.js +5 -5
  41. package/headless.js.map +3 -3
  42. package/package.json +6 -2
  43. package/react.cjs +7 -7
  44. package/react.cjs.map +4 -4
  45. package/react.js +7 -7
  46. package/react.js.map +4 -4
  47. package/src/components/FEAASElement.tsx +5 -0
  48. package/src/dom/rendering.ts +3 -1
  49. package/src/dom/thumbnail.ts +6 -3
  50. package/src/ui/FEAASExternal.tsx +16 -276
  51. package/src/ui/FEAASPicker.tsx +6 -5
  52. package/src/ui/react.tsx +18 -120
  53. package/test/FEAASComponent.test.tsx +1 -1
  54. package/test/dom.test.ts +1 -1
  55. package/tsconfig.json +3 -0
  56. package/types/components/FEAASElement.d.ts.map +1 -1
  57. package/types/dom/rendering.d.ts.map +1 -1
  58. package/types/dom/thumbnail.d.ts +2 -2
  59. package/types/dom/thumbnail.d.ts.map +1 -1
  60. package/types/tsbuildinfo +1 -1
  61. package/types/ui/FEAASContext.d.ts +1 -1
  62. package/types/ui/FEAASExternal.d.ts +7 -92
  63. package/types/ui/FEAASExternal.d.ts.map +1 -1
  64. package/types/ui/FEAASPicker.d.ts +3 -3
  65. package/types/ui/FEAASPicker.d.ts.map +1 -1
  66. package/types/ui/react.d.ts +11 -47
  67. package/types/ui/react.d.ts.map +1 -1
  68. package/types/ui/tsbuildinfo +1 -1
  69. package/types/utils/settings.d.ts +5 -5
  70. package/src/utils/string.ts +0 -12
@@ -53,7 +53,7 @@ export declare class FEAASContext extends FEAASElement<FEAASContextProps, typeof
53
53
  clientside: typeof FEAAS;
54
54
  onStatusChange: FEAASContextImports.SDKStatusCallback;
55
55
  whenSDKReady: ControlledPromise<FEAASContextImports.SDK>;
56
- getPortalRoot(): FEAASElement<any, any> | HTMLElement | ShadowRoot;
56
+ getPortalRoot(): HTMLElement | ShadowRoot | FEAASElement<any, any>;
57
57
  render({ children, library }: React.PropsWithChildren<FEAASContextProps>, { AppContext, Chakra: { Button, Tooltip }, React }: typeof this.payload): JSX.Element;
58
58
  }
59
59
  declare global {
@@ -1,29 +1,15 @@
1
- /// <reference types="node" resolution-mode="require"/>
1
+ import * as BYOC from '@sitecore/byoc';
2
2
  import React from 'react';
3
3
  import ReactDOM from 'react-dom';
4
4
  import { FEAASElement } from '../components/FEAASElement.js';
5
5
  import { ReactJSX, ReactModules } from '../components/FEAASReactElement.js';
6
6
  import { FEAASComponentProps } from './react.js';
7
- import type { ExternalComponent, ExternalComponentOptions, JSONSchema } from '@sitecore-feaas/sdk';
8
- /** Converts the keys of an object to kebab case. */
9
- export declare const objectKeysToKebabCase: (object?: {
10
- [key: string]: any;
11
- }) => {
12
- [key: string]: any;
13
- };
14
- /** Parses a property value based on its property name and type defined in the JSON properties object. */
15
- export declare const parseProps: (propName: string, value: string, properties: JSONSchema['properties']) => any;
7
+ export declare const FEAASExternalPropsObject: typeof BYOC.getComponentProperties;
16
8
  export declare function FEAASExternalProps(element: FEAASElement): any;
17
- export declare function FEAASExternalPropsObject(id: string, props: Record<string, string>): any;
18
- export type RegisteredComponents = {
19
- [id: string]: ExternalComponent;
20
- };
21
9
  export type FEAASExternalProps = ReturnType<typeof FEAASExternalProps> & {
22
10
  dataExternalId: string;
23
11
  };
24
12
  export default class FEAASExternal extends FEAASElement<FEAASExternalProps, ReactModules> {
25
- static registered: RegisteredComponents;
26
- static registrationCallback: NodeJS.Timeout;
27
13
  load(): Promise<{
28
14
  React: typeof React;
29
15
  ReactDOM: typeof ReactDOM;
@@ -31,86 +17,15 @@ export default class FEAASExternal extends FEAASElement<FEAASExternalProps, Reac
31
17
  update(): any;
32
18
  render(props: FEAASExternalProps, { React }: ReactModules): ReactJSX;
33
19
  getProps(): any;
34
- /**
35
- * Register React component to be renderable as Sitecore component (in Components and Pages). Properties are defined
36
- * as {@link https://json-schema.org JSON Schema}, from which a configuration form will be produced using
37
- * {@link https://rjsf-team.github.io/react-jsonschema-form/ RJSF library}. The library allows passing a
38
- * {@link https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema UI Schema} that allows tight
39
- * customization of form widgets, styles and behavior.
40
- *
41
- * @param {React.ComponentType} component React component that will be rendered.
42
- * @param {string} options.title Component name as presented to the user.
43
- * @param {JSONSchema['properties']} options.properties Object of properties.
44
- * @param {JSONSchema['type']} options.properties[].type JSON Schema type of a property.
45
- * @param {string} [options.properties[].title] Optional title displayed to the user.
46
- * @param {string} [options.group] Optional Image to be displayed in the UI.
47
- * @param {string} [options.thumbnail] Optional title displayed to the user.
48
- * @param {UISchema} [options.ui] Optional component groupping.
49
- * @see https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema
50
- * @see https://json-schema.org
51
- * @example
52
- *
53
- * FEAAS.External.registerComponent(MyComponent, {
54
- * // Name of a component as it will be presented to the user
55
- * name: 'My Component',
56
- * // Title of a component as it will be presented in the inputs form
57
- * title: 'My Component',
58
- * // Optional: Thumbnail image for component to be displayed in UI
59
- * thumbnail: 'http://examaple.com/component.jpg',
60
- * // Optional: Group components by name
61
- * group: 'Assorted components',
62
- * // Definitions of three configurable properties that MyComponent accepts
63
- * properties: {
64
- * // Color is a string, but only Red/Green/Blue are allowed
65
- * color: { type: 'string', enum: ['red', 'green', 'blue'] },
66
- * // Text is a property labelled as "Text summary"
67
- * text: { type: 'string', title: 'Text summary' },
68
- * // Count is a number with 1 as default value
69
- * count: { type: 'number', default: 1 }
70
- * },
71
- * // Optional UI schema customization
72
- * ui: {
73
- * // Present color choices as radio buttons
74
- * color: { 'ui:widget': 'radio' },
75
- * // Text is a textarea with 5 rows
76
- * text: { 'ui:widget': 'textarea', 'ui:options': { rows: 5 } },
77
- * // Count is a number field with spinner button
78
- * count: { 'ui:widget': 'updown' }
79
- * },
80
- * // Color and text area required properties
81
- * required: ['color', 'text']
82
- * })
83
- *
84
- */
85
- static registerComponent(component: React.ComponentType | ((...args: any[]) => Promise<React.ReactElement>), options: ExternalComponentOptions): void;
86
- static setRegistrationCallback(): void;
87
20
  static Preview(props: Partial<FEAASComponentProps<any>> & {
88
21
  src: string;
89
22
  }): JSX.Element;
90
23
  static linkComponents(components: Promise<any>[]): () => any;
91
- static getComponent(id: string): ExternalComponent;
92
- }
93
- declare global {
94
- namespace JSX {
95
- interface IntrinsicElements {
96
- 'feaas-external': {
97
- 'data-external-id': string;
98
- children?: any;
99
- dangerouslySetInnerHTML?: {
100
- __html: string;
101
- };
102
- [key: string]: any;
103
- };
104
- 'feaas-registration': {
105
- suppressHydrationWarning?: boolean;
106
- components: string;
107
- };
108
- }
109
- }
110
- interface Window {
111
- FEAASExternalComponents: RegisteredComponents;
112
- }
24
+ static registered: BYOC.RegisteredComponents;
25
+ static registerComponent: typeof BYOC.registerComponent;
26
+ static setRegistrationCallback: typeof BYOC.setRegistrationCallback;
27
+ static getComponent: typeof BYOC.getComponent;
113
28
  }
114
- export declare const getComponent: typeof FEAASExternal.getComponent, linkComponents: typeof FEAASExternal.linkComponents, registerComponent: typeof FEAASExternal.registerComponent;
29
+ export declare const getComponent: typeof BYOC.getComponent, linkComponents: typeof FEAASExternal.linkComponents, registerComponent: typeof BYOC.registerComponent;
115
30
  export { FEAASExternal as External };
116
31
  //# 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,YAAY,EAAgB,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAE3E,OAAO,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAC3D,OAAO,KAAK,EACV,iBAAiB,EACjB,wBAAwB,EACxB,UAAU,EAGX,MAAM,qBAAqB,CAAA;AAiB5B,oDAAoD;AACpD,eAAO,MAAM,qBAAqB;;;;CAI1B,CAAA;AAoCR,yGAAyG;AACzG,eAAO,MAAM,UAAU,aAAc,MAAM,SAAS,MAAM,cAAc,UAAU,CAAC,YAAY,CAAC,QAyB/F,CAAA;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,GAAG,CAK7D;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAUvF;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;IAON,MAAM,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,EAAE,YAAY,GAAG,QAAQ;IASpE,QAAQ;IAIR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkDG;IACH,MAAM,CAAC,iBAAiB,CACtB,SAAS,EAAE,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAClF,OAAO,EAAE,wBAAwB;IAsBnC,MAAM,CAAC,uBAAuB;IAsC9B,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE;IAMzE,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,GAAG;IAI5D,MAAM,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM;CAG/B;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;YACD,oBAAoB,EAAE;gBACpB,wBAAwB,CAAC,EAAE,OAAO,CAAA;gBAClC,UAAU,EAAE,MAAM,CAAA;aACnB,CAAA;SACF;KACF;IACD,UAAU,MAAM;QACd,uBAAuB,EAAE,oBAAoB,CAAA;KAC9C;CACF;AA6BD,eAAO,MAAQ,YAAY,qCAAE,cAAc,uCAAE,iBAAiB,wCAAkB,CAAA;AAChF,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"FEAASExternal.d.ts","sourceRoot":"","sources":["../../src/ui/FEAASExternal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAA;AACtC,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;AAC3E,OAAO,EAAa,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAE3D,eAAO,MAAM,wBAAwB,oCAA8B,CAAA;AAEnE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,GAAG,CAO7D;AAED,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,IAAI;;;;IAIJ,MAAM;IAON,MAAM,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,KAAK,EAAE,EAAE,YAAY,GAAG,QAAQ;IAUpE,QAAQ;IAIR,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,GAAG;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE;IAMzE,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,GAAG;IAI5D,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,oBAAoB,CAAkB;IAC9D,MAAM,CAAC,iBAAiB,gCAAyB;IACjD,MAAM,CAAC,uBAAuB,sCAA+B;IAC7D,MAAM,CAAC,YAAY,2BAAoB;CACxC;AAID,eAAO,MAAQ,YAAY,4BAAE,cAAc,uCAAE,iBAAiB,+BAAkB,CAAA;AAChF,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,CAAA"}
@@ -4,7 +4,7 @@ import { FEAASElement } from '../components/FEAASElement.js';
4
4
  export declare function FEAASPickerProps(element: FEAASElement<any, any>): {
5
5
  part: string;
6
6
  slot: string;
7
- mode: "library" | "element" | "themes" | "datasources" | "context" | "component" | "versions" | "overview" | "external" | "attributes";
7
+ mode: "library" | "context" | "datasources" | "versions" | "element" | "themes" | "overview" | "attributes";
8
8
  dialog: string;
9
9
  placeholder: string;
10
10
  frontend: string;
@@ -22,7 +22,7 @@ export declare class FEAASPicker extends FEAASElement<FEAASPickerProps, typeof F
22
22
  defaultProps: Partial<{
23
23
  part: string;
24
24
  slot: string;
25
- mode: "library" | "element" | "themes" | "datasources" | "context" | "component" | "versions" | "overview" | "external" | "attributes";
25
+ mode: "library" | "context" | "datasources" | "versions" | "element" | "themes" | "overview" | "attributes";
26
26
  dialog: string;
27
27
  placeholder: string;
28
28
  frontend: string;
@@ -37,7 +37,7 @@ export declare class FEAASPicker extends FEAASElement<FEAASPickerProps, typeof F
37
37
  getProps(): {
38
38
  part: string;
39
39
  slot: string;
40
- mode: "library" | "element" | "themes" | "datasources" | "context" | "component" | "versions" | "overview" | "external" | "attributes";
40
+ mode: "library" | "context" | "datasources" | "versions" | "element" | "themes" | "overview" | "attributes";
41
41
  dialog: string;
42
42
  placeholder: string;
43
43
  frontend: string;
@@ -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,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAE5D,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC;;;;;;;;;;;uBAY5B,GAAG,EAAE,KAAK,IAAI;;;EAIjD;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,WAAwE;IAEjG,YAAY;;;;;;;;;;;;;;OAEkB;IAE9B,QAAQ;;;;;;;;;;;;;;;IAIR,IAAI;IAGJ,iBAAiB;IAIjB,MAAM,CACJ,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EACpG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,OAAO,kBAAkB;CA8CnE;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"}
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;;;;;;;;;;;uBAY5B,GAAG,EAAE,KAAK,IAAI;;;EAIjD;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,WAAwE;IAEjG,YAAY;;;;;;;;;;;;;;OAEkB;IAE9B,QAAQ;;;;;;;;;;;;;;;IAIR,IAAI;IAGJ,iBAAiB;IAIjB,MAAM,CACJ,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EACpG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,OAAO,kBAAkB;CA+CnE;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"}
@@ -1,15 +1,11 @@
1
- import { FEAASComponentProps, FEAASCDNStylesheetSource, FEAASCDNStylesheetParams } from './index.js';
2
1
  import React from 'react';
3
- import { renderHTMLContent, HTMLNode } from '../dom/html.js';
4
- export { renderHTMLContent };
5
- export { External, linkComponents, registerComponent, getComponent, FEAASExternalPropsObject } from './FEAASExternal.js';
6
- export * from './index.js';
2
+ import { HTMLNode, renderHTMLContent } from '../dom/html.js';
3
+ import { FEAASCDNStylesheetParams, FEAASCDNStylesheetSource, FEAASComponentProps } from './index.js';
4
+ import * as BYOC from '@sitecore/byoc';
7
5
  export * from '../headless.js';
8
- export type FEAASReactExternalComponentProps = {
9
- componentName: string;
10
- fallback?: any;
11
- [prop: string]: any;
12
- };
6
+ export { External, FEAASExternalPropsObject, getComponent, linkComponents, registerComponent } from './FEAASExternal.js';
7
+ export * from './index.js';
8
+ export { renderHTMLContent };
13
9
  export type FEAASReactComponentProps = FEAASComponentProps & {
14
10
  preload?: boolean;
15
11
  lastModified?: Date | string;
@@ -38,14 +34,6 @@ export declare const FEAASReactServerComponent: ({ ...props }: FEAASReactCompone
38
34
  * @returns {JSX.Element} The JSX element representing the component.
39
35
  */
40
36
  export declare function FEAASReactComponent({ data, ...props }: FEAASReactComponentProps): JSX.Element;
41
- /**
42
- * A wrapper over External component that accepts a fallback for rendering in case of a missing component.
43
- * It accepts properties in camelcase format and ensures no hydration errors on the client-side.
44
- *
45
- * @param {FEAASReactExternalComponentProps} props - The properties for the component.
46
- * @returns {JSX.Element} The JSX element representing the component.
47
- */
48
- export declare function FEAASReactExternalComponent(props: FEAASReactExternalComponentProps): JSX.Element;
49
37
  /**
50
38
  * Converts an HTMLNode into a React tree, ensuring proper context access for external components.
51
39
  *
@@ -55,35 +43,11 @@ export declare function FEAASReactExternalComponent(props: FEAASReactExternalCom
55
43
  * @returns {React.ReactNode} The resulting React node.
56
44
  */
57
45
  export declare function HTMLNodeToReact(node: HTMLNode, callback?: (node: HTMLNode, attributes: Record<string, any>) => [tagName: any, attributes: Record<string, any>], key?: any): React.ReactNode;
58
- /**
59
- * A special case of ExternalComponent designed for Next.js.
60
- * It uses `next/dynamic` to control rendering on the client, server, or both.
61
- *
62
- * @param {FEAASReactExternalComponentProps} props - The properties for the component.
63
- * @returns {JSX.Element} The JSX element representing the component.
64
- */
65
- export declare function FEAASNextExternalComponent(props: FEAASReactExternalComponentProps): JSX.Element;
66
- /**
67
- * Enables Next.js client/server rendering options for registered components.
68
- * The `component` argument should be a function exported from a file with a `use client` directive.
69
- *
70
- * @param {any} dynamic - The Next dynamic function.
71
- * @param {any} component - The component function.
72
- * @returns {any} Augmented bundle.
73
- */
74
- export declare function enableNextClientsideComponents(dynamic: any, component: any): any;
75
- /**
76
- * Renders a registered external component in a React tree.
77
- *
78
- * @param {FEAASReactExternalComponentProps} props - The properties for the component.
79
- * @returns {JSX.Element} The JSX element representing the component.
80
- */
81
- export declare function FEAASExternalComponent(props: FEAASReactExternalComponentProps): JSX.Element;
82
- export declare function FEAASReactExternalComponentBundle(): JSX.Element;
83
- export declare const ExternalComponentBundle: typeof FEAASReactExternalComponentBundle;
84
- export declare const ExternalComponent: typeof FEAASExternalComponent;
85
- export declare const ReactExternalComponent: typeof FEAASReactExternalComponent;
86
- export declare const NextExternalComponent: typeof FEAASNextExternalComponent;
46
+ export declare const enableNextClientsideComponents: typeof BYOC.enableNextClientsideComponents;
47
+ export declare const ExternalComponentBundle: typeof BYOC.Bundle;
48
+ export declare const ExternalComponent: typeof BYOC.Component;
49
+ export declare const ReactExternalComponent: typeof BYOC.RegularComponent;
50
+ export declare const NextExternalComponent: typeof BYOC.NextComponent;
87
51
  export declare const Component: typeof FEAASReactComponent;
88
52
  export declare const ServerComponent: ({ ...props }: FEAASReactComponentProps) => Promise<JSX.Element>;
89
53
  export declare const Stylesheet: (props: FEAASCDNStylesheetParams | FEAASCDNStylesheetSource) => JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/ui/react.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAMnB,wBAAwB,EACxB,wBAAwB,EAGzB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAoB,MAAM,gBAAgB,CAAA;AAI9E,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAC5B,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AACxH,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAE9B,MAAM,MAAM,gCAAgC,GAAG;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,GAAG,CAAC;IAAC,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAA;AAE7G,MAAM,MAAM,wBAAwB,GAAG,mBAAmB,GAAG;IAC3D,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,iBAAwB,wBAAwB,yBAerF,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,wBAAwB,eA8C/E;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,gCAAgC,eAwBlF;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;AAMD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,gCAAgC,eAgBjF;AAED;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,OAI1E;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,gCAAgC,eAM7E;AACD,wBAAgB,iCAAiC,gBAQhD;AAED,eAAO,MAAM,uBAAuB,0CAAoC,CAAA;AACxE,eAAO,MAAM,iBAAiB,+BAAyB,CAAA;AACvD,eAAO,MAAM,sBAAsB,oCAA8B,CAAA;AACjE,eAAO,MAAM,qBAAqB,mCAA6B,CAAA;AAC/D,eAAO,MAAM,SAAS,4BAAsB,CAAA;AAC5C,eAAO,MAAM,eAAe,iBA7NkC,wBAAwB,yBA6N9B,CAAA;AACxD,eAAO,MAAM,UAAU,UA5OqB,wBAAwB,GAAG,wBAAwB,gBA4OjD,CAAA"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/ui/react.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAoB,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAE9E,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EAOpB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAA;AACtC,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,MAAM,MAAM,wBAAwB,GAAG,mBAAmB,GAAG;IAC3D,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,iBAAwB,wBAAwB,yBAerF,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,wBAAwB,eA8C/E;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,eAAO,MAAM,8BAA8B,4CAAsC,CAAA;AACjF,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,iBA3HkC,wBAAwB,yBA2H9B,CAAA;AACxD,eAAO,MAAM,UAAU,UA1IqB,wBAAwB,GAAG,wBAAwB,gBA0IjD,CAAA"}