@sitecore-content-sdk/react 1.2.0-canary.9 → 1.2.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 (104) hide show
  1. package/LICENSE.txt +202 -202
  2. package/README.md +11 -11
  3. package/dist/cjs/components/ClientEditingChromesUpdate.js +52 -0
  4. package/dist/cjs/components/DefaultEmptyFieldEditingComponents.js +4 -4
  5. package/dist/cjs/components/DesignLibrary.js +85 -103
  6. package/dist/cjs/components/EditingScripts.js +1 -0
  7. package/dist/cjs/components/ErrorBoundary.js +1 -0
  8. package/dist/cjs/components/FEaaS/BYOCServerWrapper.js +28 -0
  9. package/dist/cjs/components/{BYOCComponent.js → FEaaS/BYOCWrapper.js} +17 -28
  10. package/dist/cjs/components/FEaaS/FEaaSSeverWrapper.js +34 -0
  11. package/dist/cjs/components/FEaaS/FEaaSWrapper.js +78 -0
  12. package/dist/cjs/components/{FEaaSComponent.js → FEaaS/feaas-utils.js} +18 -35
  13. package/dist/cjs/components/FEaaS/index.js +21 -0
  14. package/dist/cjs/components/FEaaS/models.js +7 -0
  15. package/dist/cjs/components/Link.js +1 -1
  16. package/dist/cjs/components/Placeholder/AppPlaceholder.js +76 -0
  17. package/dist/cjs/components/Placeholder/ClientComponentWrapper.js +21 -0
  18. package/dist/cjs/components/Placeholder/Placeholder.js +110 -0
  19. package/dist/cjs/components/Placeholder/index.js +25 -0
  20. package/dist/cjs/components/Placeholder/models.js +18 -0
  21. package/dist/cjs/components/Placeholder/placeholder-utils.js +215 -0
  22. package/dist/cjs/components/RichText.js +1 -0
  23. package/dist/cjs/components/Text.js +1 -0
  24. package/dist/cjs/enhancers/withAppPlaceholder.js +21 -0
  25. package/dist/cjs/enhancers/withEmptyFieldEditingComponent.js +12 -5
  26. package/dist/cjs/enhancers/withPlaceholder.js +8 -6
  27. package/dist/cjs/index.js +17 -11
  28. package/dist/cjs/rsc-utils/no-rsc.js +5 -0
  29. package/dist/cjs/rsc-utils/rsc.js +5 -0
  30. package/dist/esm/components/ClientEditingChromesUpdate.js +15 -0
  31. package/dist/esm/components/DefaultEmptyFieldEditingComponents.js +4 -4
  32. package/dist/esm/components/DesignLibrary.js +85 -102
  33. package/dist/esm/components/EditingScripts.js +1 -0
  34. package/dist/esm/components/ErrorBoundary.js +1 -0
  35. package/dist/esm/components/FEaaS/BYOCServerWrapper.js +21 -0
  36. package/dist/esm/components/{BYOCComponent.js → FEaaS/BYOCWrapper.js} +15 -26
  37. package/dist/esm/components/FEaaS/FEaaSSeverWrapper.js +27 -0
  38. package/dist/esm/components/FEaaS/FEaaSWrapper.js +37 -0
  39. package/dist/esm/components/{FEaaSComponent.js → FEaaS/feaas-utils.js} +16 -30
  40. package/dist/esm/components/FEaaS/index.js +6 -0
  41. package/dist/esm/components/FEaaS/models.js +4 -0
  42. package/dist/esm/components/Link.js +1 -1
  43. package/dist/esm/components/Placeholder/AppPlaceholder.js +69 -0
  44. package/dist/esm/components/Placeholder/ClientComponentWrapper.js +14 -0
  45. package/dist/esm/components/Placeholder/Placeholder.js +103 -0
  46. package/dist/esm/components/Placeholder/index.js +4 -0
  47. package/dist/esm/components/Placeholder/models.js +15 -0
  48. package/dist/esm/components/Placeholder/placeholder-utils.js +203 -0
  49. package/dist/esm/components/RichText.js +1 -0
  50. package/dist/esm/components/Text.js +1 -0
  51. package/dist/esm/enhancers/withAppPlaceholder.js +14 -0
  52. package/dist/esm/enhancers/withEmptyFieldEditingComponent.js +12 -5
  53. package/dist/esm/enhancers/withPlaceholder.js +8 -6
  54. package/dist/esm/index.js +5 -5
  55. package/dist/esm/rsc-utils/no-rsc.js +2 -0
  56. package/dist/esm/rsc-utils/rsc.js +2 -0
  57. package/package.json +16 -4
  58. package/types/components/ClientEditingChromesUpdate.d.ts +6 -0
  59. package/types/components/Date.d.ts +1 -1
  60. package/types/components/DefaultEmptyFieldEditingComponents.d.ts +8 -2
  61. package/types/components/DesignLibrary.d.ts +13 -13
  62. package/types/components/ErrorBoundary.d.ts +0 -1
  63. package/types/components/FEaaS/BYOCServerWrapper.d.ts +3 -0
  64. package/types/components/FEaaS/BYOCWrapper.d.ts +25 -0
  65. package/types/components/FEaaS/FEaaSSeverWrapper.d.ts +8 -0
  66. package/types/components/FEaaS/FEaaSWrapper.d.ts +7 -0
  67. package/types/components/FEaaS/feaas-utils.d.ts +21 -0
  68. package/types/components/FEaaS/index.d.ts +6 -0
  69. package/types/components/FEaaS/models.d.ts +125 -0
  70. package/types/components/Image.d.ts +1 -1
  71. package/types/components/Link.d.ts +1 -1
  72. package/types/components/Placeholder/AppPlaceholder.d.ts +10 -0
  73. package/types/components/Placeholder/ClientComponentWrapper.d.ts +9 -0
  74. package/types/components/Placeholder/Placeholder.d.ts +28 -0
  75. package/types/components/Placeholder/index.d.ts +5 -0
  76. package/types/components/Placeholder/models.d.ts +140 -0
  77. package/types/components/Placeholder/placeholder-utils.d.ts +53 -0
  78. package/types/components/RichText.d.ts +1 -1
  79. package/types/components/Text.d.ts +1 -1
  80. package/types/components/sharedTypes/components.d.ts +6 -0
  81. package/types/components/sharedTypes/props.d.ts +2 -2
  82. package/types/enhancers/withAppPlaceholder.d.ts +15 -0
  83. package/types/enhancers/withEmptyFieldEditingComponent.d.ts +3 -3
  84. package/types/enhancers/withPlaceholder.d.ts +2 -1
  85. package/types/index.d.ts +4 -5
  86. package/types/rsc-utils/no-rsc.d.ts +1 -0
  87. package/types/rsc-utils/rsc.d.ts +1 -0
  88. package/dist/cjs/components/BYOCWrapper.js +0 -22
  89. package/dist/cjs/components/FEaaSWrapper.js +0 -19
  90. package/dist/cjs/components/Placeholder.js +0 -68
  91. package/dist/cjs/components/PlaceholderCommon.js +0 -176
  92. package/dist/esm/components/BYOCWrapper.js +0 -15
  93. package/dist/esm/components/FEaaSWrapper.js +0 -12
  94. package/dist/esm/components/Placeholder.js +0 -62
  95. package/dist/esm/components/PlaceholderCommon.js +0 -169
  96. package/types/components/BYOCComponent.d.ts +0 -93
  97. package/types/components/BYOCWrapper.d.ts +0 -7
  98. package/types/components/FEaaSComponent.d.ts +0 -72
  99. package/types/components/FEaaSWrapper.d.ts +0 -4
  100. package/types/components/Placeholder.d.ts +0 -20
  101. package/types/components/PlaceholderCommon.d.ts +0 -89
  102. /package/dist/cjs/components/{PlaceholderMetadata.js → Placeholder/PlaceholderMetadata.js} +0 -0
  103. /package/dist/esm/components/{PlaceholderMetadata.js → Placeholder/PlaceholderMetadata.js} +0 -0
  104. /package/types/components/{PlaceholderMetadata.d.ts → Placeholder/PlaceholderMetadata.d.ts} +0 -0
@@ -1,72 +0,0 @@
1
- import { JSX } from 'react';
2
- import * as FEAAS from '@sitecore-feaas/clientside/react';
3
- import { ComponentFields, LayoutServicePageState } from '@sitecore-content-sdk/core/layout';
4
- export declare const FEAAS_COMPONENT_RENDERING_NAME = "FEaaSComponent";
5
- /**
6
- * Params from a Sitecore FEaaS rendering
7
- */
8
- export type FEaaSComponentParams = {
9
- LibraryId?: string;
10
- ComponentId?: string;
11
- ComponentVersion?: string;
12
- ComponentRevision?: RevisionType;
13
- ComponentHostName?: string;
14
- ComponentInstanceId?: string;
15
- ComponentDataOverride?: string;
16
- ComponentHTMLOverride?: string;
17
- styles?: string;
18
- RenderingIdentifier?: string;
19
- };
20
- type RevisionType = number | 'staged' | 'published' | 'saved';
21
- /**
22
- * FEaaS props for server rendering.
23
- */
24
- type FEaaSComponentServerProps = {
25
- /**
26
- * HTML template for presentation rendered inside the component
27
- */
28
- template?: string;
29
- /**
30
- * Default revision to be fetched. Should be 'staged' for editing/preview. Can be overriden by params.ComponentRevision
31
- */
32
- revisionFallback?: RevisionType;
33
- /**
34
- * Fetched data from server component props for server rendering, based on rendering params.
35
- */
36
- fetchedData?: FEAAS.DataScopes;
37
- };
38
- /**
39
- * FEaaS props for client side component. Should be used as fallback when server props are not provided.
40
- * Would also be passed on server to avoid hydration issues
41
- */
42
- type FEaaSComponentClientProps = {
43
- /**
44
- * parameters from Sitecore's FEAAS component
45
- */
46
- params?: FEaaSComponentParams;
47
- /**
48
- * field data from component's datasource
49
- */
50
- fields?: ComponentFields;
51
- };
52
- export type FEaaSComponentProps = FEaaSComponentServerProps & FEaaSComponentClientProps;
53
- /**
54
- * @param {FEaaSComponentProps} props component props
55
- */
56
- export declare const FEaaSComponent: (props: FEaaSComponentProps) => JSX.Element;
57
- /**
58
- * Fetches server component props required for server rendering, based on rendering params.
59
- * Component endpoint will either be retrieved from params or from endpointOverride
60
- * @param {FEaaSComponentParams} params component params
61
- * @param {LayoutServicePageState} [pageState] page state to determine which component variant to use
62
- * @param {string} [endpointOverride] optional override for component endpoint
63
- */
64
- export declare function fetchFEaaSComponentServerProps(params: FEaaSComponentParams, pageState?: LayoutServicePageState, endpointOverride?: string): Promise<FEaaSComponentProps>;
65
- /**
66
- * Build component endpoint URL from component's params
67
- * @param {FEaaSComponentParams} params rendering parameters for FEAAS component
68
- * @param {RevisionType} revisionFallback fallback revision to fetch if revision is absent in params
69
- * @returns component endpoint URL
70
- */
71
- export declare const composeComponentEndpoint: (params: FEaaSComponentParams, revisionFallback: RevisionType) => string;
72
- export {};
@@ -1,4 +0,0 @@
1
- import { FEaaSComponentProps } from './FEaaSComponent';
2
- import { JSX } from 'react';
3
- export declare const FEAAS_WRAPPER_RENDERING_NAME = "FEaaSWrapper";
4
- export declare const FEaaSWrapper: (props: FEaaSComponentProps) => JSX.Element;
@@ -1,20 +0,0 @@
1
- import React from 'react';
2
- import { PlaceholderProps } from './PlaceholderCommon';
3
- import { ComponentRendering } from '@sitecore-content-sdk/core/layout';
4
- export interface PlaceholderComponentProps extends PlaceholderProps {
5
- /**
6
- * Render props function that is called when the placeholder contains no content components.
7
- */
8
- renderEmpty?: (components: React.ReactNode[]) => React.ReactNode;
9
- /**
10
- * Render props function that enables control over the rendering of the components in the placeholder.
11
- * Useful for techniques like wrapping each child in a wrapper component.
12
- */
13
- render?: (components: React.ReactNode[], data: ComponentRendering[], props: PlaceholderProps) => React.ReactNode;
14
- /**
15
- * Render props function that is called for each non-system component added to the placeholder.
16
- * Mutually exclusive with `render`.
17
- */
18
- renderEach?: (component: React.ReactNode, index: number) => React.ReactNode;
19
- }
20
- export declare const Placeholder: (props: import("@sitecore-content-sdk/core/utils").EnhancedOmit<PlaceholderComponentProps, keyof import("../enhancers/withSitecore").WithSitecoreProps>) => React.JSX.Element;
@@ -1,89 +0,0 @@
1
- import React, { ComponentType } from 'react';
2
- import { ComponentMap } from './sharedTypes';
3
- import { ComponentRendering, RouteData, Field, Item } from '@sitecore-content-sdk/core/layout';
4
- import { Page } from '@sitecore-content-sdk/core/client';
5
- type ErrorComponentProps = {
6
- [prop: string]: unknown;
7
- };
8
- /** Provided for the component which represents rendering data */
9
- export type ComponentProps = {
10
- [key: string]: unknown;
11
- rendering: ComponentRendering;
12
- };
13
- export interface PlaceholderProps {
14
- [key: string]: unknown;
15
- /** Name of the placeholder to render. */
16
- name: string;
17
- /** Rendering data to be used when rendering the placeholder. */
18
- rendering: ComponentRendering | RouteData;
19
- /**
20
- * Component Map will be used to map Sitecore component names to app implementation
21
- * When rendered within a <SitecoreProvider> component, defaults to the context componentMap.
22
- */
23
- componentMap?: ComponentMap;
24
- /**
25
- * An object of field names/values that are aggregated and propagated through the component tree created by a placeholder.
26
- * Any component or placeholder rendered by a placeholder will have access to this data via `props.fields`.
27
- */
28
- fields?: {
29
- [name: string]: Field | Item | Item[];
30
- };
31
- /**
32
- * An object of rendering parameter names/values that are aggregated and propagated through the component tree created by a placeholder.
33
- * Any component or placeholder rendered by a placeholder will have access to this data via `props.params`.
34
- */
35
- params?: {
36
- [name: string]: string;
37
- };
38
- /**
39
- * Modify final props of component (before render) provided by rendering data.
40
- * Can be used in case when you need to insert additional data into the component.
41
- * @param {ComponentProps} componentProps component props to be modified
42
- * @returns {ComponentProps} modified or initial props
43
- */
44
- modifyComponentProps?: (componentProps: ComponentProps) => ComponentProps;
45
- /**
46
- * A component that is rendered in place of any components that are in this placeholder,
47
- * but do not have a definition in the componentMap (i.e. don't have a React implementation)
48
- */
49
- missingComponentComponent?: React.ComponentClass<unknown> | React.FC<unknown>;
50
- /**
51
- * A component that is rendered in place of any components that are hidden
52
- */
53
- hiddenRenderingComponent?: React.ComponentClass<unknown> | React.FC<unknown>;
54
- /**
55
- * A component that is rendered in place of the placeholder when an error occurs rendering
56
- * the placeholder
57
- */
58
- errorComponent?: React.ComponentClass<ErrorComponentProps> | React.FC<ErrorComponentProps>;
59
- /**
60
- * Page data.
61
- * This data is passed by the SitecoreProvider.
62
- */
63
- page: Page;
64
- /**
65
- * The message that gets displayed while component is loading
66
- */
67
- componentLoadingMessage?: string;
68
- /**
69
- * If true, disables Suspense in ErrorBoundary for the placeholder.
70
- * @default false
71
- */
72
- disableSuspense?: boolean;
73
- }
74
- export declare class PlaceholderCommon<T extends PlaceholderProps> extends React.Component<T> {
75
- state: Readonly<{
76
- error?: Error;
77
- }>;
78
- constructor(props: T);
79
- static getPlaceholderDataFromRenderingData(rendering: ComponentRendering | RouteData, name: string, isEditing: boolean): ComponentRendering<import("@sitecore-content-sdk/core/layout").ComponentFields>[];
80
- componentDidCatch(error: Error): void;
81
- getSXAParams(rendering: ComponentRendering): {
82
- styles?: undefined;
83
- } | {
84
- styles: string;
85
- };
86
- getComponentsForRenderingData(placeholderData: ComponentRendering[]): React.JSX.Element[];
87
- getComponentForRendering(renderingDefinition: ComponentRendering): ComponentType | null;
88
- }
89
- export {};