@contentful/field-editor-reference 5.9.0 → 5.11.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 (199) hide show
  1. package/dist/cjs/__fixtures__/FakeSdk.js +183 -0
  2. package/dist/cjs/__fixtures__/asset/index.js +37 -0
  3. package/dist/cjs/__fixtures__/content-type/index.js +16 -0
  4. package/dist/cjs/__fixtures__/entry/index.js +33 -0
  5. package/dist/cjs/__fixtures__/fixtures.js +71 -0
  6. package/dist/cjs/__fixtures__/locale/index.js +40 -0
  7. package/dist/cjs/__fixtures__/space/index.js +16 -0
  8. package/dist/cjs/assets/MultipleMediaEditor.js +86 -0
  9. package/dist/cjs/assets/SingleMediaEditor.js +69 -0
  10. package/dist/cjs/assets/WrappedAssetCard/AssetCardActions.js +125 -0
  11. package/dist/cjs/assets/WrappedAssetCard/FetchingWrappedAssetCard.js +171 -0
  12. package/dist/cjs/assets/WrappedAssetCard/WrappedAssetCard.js +159 -0
  13. package/dist/cjs/assets/WrappedAssetCard/WrappedAssetLink.js +130 -0
  14. package/dist/cjs/assets/index.js +24 -0
  15. package/dist/cjs/common/EntityStore.js +420 -0
  16. package/dist/cjs/common/MultipleReferenceEditor.js +164 -0
  17. package/dist/cjs/common/ReferenceEditor.js +74 -0
  18. package/dist/cjs/common/SingleReferenceEditor.js +118 -0
  19. package/dist/cjs/common/SortableLinkList.js +95 -0
  20. package/dist/cjs/common/customCardTypes.js +44 -0
  21. package/dist/cjs/common/useAccessApi.js +19 -0
  22. package/dist/cjs/common/useContentTypePermissions.js +54 -0
  23. package/dist/cjs/common/useEditorPermissions.js +77 -0
  24. package/dist/cjs/common/useEditorPermissions.spec.js +205 -0
  25. package/dist/cjs/components/AssetThumbnail/AssetThumbnail.js +62 -0
  26. package/dist/cjs/components/CreateEntryLinkButton/CreateEntryLinkButton.js +102 -0
  27. package/dist/cjs/components/CreateEntryLinkButton/CreateEntryLinkButton.spec.js +254 -0
  28. package/dist/cjs/components/CreateEntryLinkButton/CreateEntryMenuTrigger.js +199 -0
  29. package/dist/cjs/components/CreateEntryLinkButton/CreateEntryMenuTrigger.spec.js +190 -0
  30. package/dist/cjs/components/CreateEntryLinkButton/useGlobalMouseUp.js +19 -0
  31. package/dist/cjs/components/LinkActions/CombinedLinkActions.js +167 -0
  32. package/dist/cjs/components/LinkActions/LinkActions.js +123 -0
  33. package/dist/cjs/components/LinkActions/LinkEntityActions.js +186 -0
  34. package/dist/cjs/components/LinkActions/NoLinkPermissionsInfo.js +54 -0
  35. package/dist/cjs/components/LinkActions/helpers.js +78 -0
  36. package/dist/cjs/components/LinkActions/redesignStyles.js +44 -0
  37. package/dist/cjs/components/LinkActions/styles.js +33 -0
  38. package/dist/cjs/components/MissingEntityCard/MissingEntityCard.js +75 -0
  39. package/dist/cjs/components/MissingEntityCard/styles.js +29 -0
  40. package/dist/cjs/components/ScheduledIconWithTooltip/ScheduleTooltip.js +75 -0
  41. package/dist/cjs/components/ScheduledIconWithTooltip/ScheduledIconWithTooltip.js +81 -0
  42. package/dist/cjs/components/ScheduledIconWithTooltip/formatDateAndTime.js +45 -0
  43. package/dist/cjs/components/SpaceName/SpaceName.js +91 -0
  44. package/dist/cjs/components/index.js +44 -0
  45. package/dist/cjs/entries/MultipleEntryReferenceEditor.js +86 -0
  46. package/dist/cjs/entries/SingleEntryReferenceEditor.js +74 -0
  47. package/dist/cjs/entries/WrappedEntryCard/FetchingWrappedEntryCard.js +189 -0
  48. package/dist/cjs/entries/WrappedEntryCard/WrappedEntryCard.js +181 -0
  49. package/dist/cjs/entries/index.js +24 -0
  50. package/dist/cjs/index.js +92 -0
  51. package/dist/cjs/resources/Cards/ContentfulEntryCard.js +87 -0
  52. package/dist/cjs/resources/Cards/ResourceCard.js +111 -0
  53. package/dist/cjs/resources/Cards/UnsupportedEntityCard.js +64 -0
  54. package/dist/cjs/resources/MultipleResourceReferenceEditor.js +157 -0
  55. package/dist/cjs/resources/MultipleResourceReferenceEditor.spec.js +297 -0
  56. package/dist/cjs/resources/SingleResourceReferenceEditor.js +87 -0
  57. package/dist/cjs/resources/SingleResourceReferenceEditor.spec.js +161 -0
  58. package/dist/cjs/resources/index.js +19 -0
  59. package/dist/cjs/resources/testHelpers/resourceEditorHelpers.js +121 -0
  60. package/dist/cjs/resources/useResourceLinkActions.js +88 -0
  61. package/dist/cjs/types.js +22 -0
  62. package/dist/cjs/utils/fromFieldValidations.js +54 -0
  63. package/dist/esm/__fixtures__/FakeSdk.js +173 -0
  64. package/dist/esm/__fixtures__/asset/index.js +6 -0
  65. package/dist/esm/__fixtures__/content-type/index.js +2 -0
  66. package/dist/esm/__fixtures__/entry/index.js +5 -0
  67. package/dist/esm/__fixtures__/fixtures.js +6 -0
  68. package/dist/esm/__fixtures__/locale/index.js +15 -0
  69. package/dist/esm/__fixtures__/space/index.js +2 -0
  70. package/dist/esm/assets/MultipleMediaEditor.js +37 -0
  71. package/dist/esm/assets/SingleMediaEditor.js +20 -0
  72. package/dist/esm/assets/WrappedAssetCard/AssetCardActions.js +63 -0
  73. package/dist/esm/assets/WrappedAssetCard/FetchingWrappedAssetCard.js +122 -0
  74. package/dist/esm/assets/WrappedAssetCard/WrappedAssetCard.js +105 -0
  75. package/dist/esm/assets/WrappedAssetCard/WrappedAssetLink.js +76 -0
  76. package/dist/esm/assets/index.js +3 -0
  77. package/dist/esm/common/EntityStore.js +347 -0
  78. package/dist/esm/common/MultipleReferenceEditor.js +111 -0
  79. package/dist/esm/common/ReferenceEditor.js +20 -0
  80. package/dist/esm/common/SingleReferenceEditor.js +70 -0
  81. package/dist/esm/common/SortableLinkList.js +41 -0
  82. package/dist/esm/common/customCardTypes.js +1 -0
  83. package/dist/esm/common/useAccessApi.js +9 -0
  84. package/dist/esm/common/useContentTypePermissions.js +44 -0
  85. package/dist/esm/common/useEditorPermissions.js +67 -0
  86. package/dist/esm/common/useEditorPermissions.spec.js +201 -0
  87. package/dist/esm/components/AssetThumbnail/AssetThumbnail.js +13 -0
  88. package/dist/esm/components/CreateEntryLinkButton/CreateEntryLinkButton.js +48 -0
  89. package/dist/esm/components/CreateEntryLinkButton/CreateEntryLinkButton.spec.js +206 -0
  90. package/dist/esm/components/CreateEntryLinkButton/CreateEntryMenuTrigger.js +145 -0
  91. package/dist/esm/components/CreateEntryLinkButton/CreateEntryMenuTrigger.spec.js +142 -0
  92. package/dist/esm/components/CreateEntryLinkButton/useGlobalMouseUp.js +9 -0
  93. package/dist/esm/components/LinkActions/CombinedLinkActions.js +118 -0
  94. package/dist/esm/components/LinkActions/LinkActions.js +66 -0
  95. package/dist/esm/components/LinkActions/LinkEntityActions.js +127 -0
  96. package/dist/esm/components/LinkActions/NoLinkPermissionsInfo.js +5 -0
  97. package/dist/esm/components/LinkActions/helpers.js +57 -0
  98. package/dist/esm/components/LinkActions/redesignStyles.js +18 -0
  99. package/dist/esm/components/LinkActions/styles.js +10 -0
  100. package/dist/esm/components/MissingEntityCard/MissingEntityCard.js +26 -0
  101. package/dist/esm/components/MissingEntityCard/styles.js +11 -0
  102. package/dist/esm/components/ScheduledIconWithTooltip/ScheduleTooltip.js +18 -0
  103. package/dist/esm/components/ScheduledIconWithTooltip/ScheduledIconWithTooltip.js +32 -0
  104. package/dist/esm/components/ScheduledIconWithTooltip/formatDateAndTime.js +19 -0
  105. package/dist/esm/components/SpaceName/SpaceName.js +37 -0
  106. package/dist/esm/components/index.js +8 -0
  107. package/dist/esm/entries/MultipleEntryReferenceEditor.js +37 -0
  108. package/dist/esm/entries/SingleEntryReferenceEditor.js +25 -0
  109. package/dist/esm/entries/WrappedEntryCard/FetchingWrappedEntryCard.js +135 -0
  110. package/dist/esm/entries/WrappedEntryCard/WrappedEntryCard.js +127 -0
  111. package/dist/esm/entries/index.js +3 -0
  112. package/dist/esm/index.js +7 -0
  113. package/dist/esm/resources/Cards/ContentfulEntryCard.js +38 -0
  114. package/dist/esm/resources/Cards/ResourceCard.js +62 -0
  115. package/dist/esm/resources/Cards/UnsupportedEntityCard.js +15 -0
  116. package/dist/esm/resources/MultipleResourceReferenceEditor.js +104 -0
  117. package/dist/esm/resources/MultipleResourceReferenceEditor.spec.js +254 -0
  118. package/dist/esm/resources/SingleResourceReferenceEditor.js +33 -0
  119. package/dist/esm/resources/SingleResourceReferenceEditor.spec.js +118 -0
  120. package/dist/esm/resources/index.js +2 -0
  121. package/dist/esm/resources/testHelpers/resourceEditorHelpers.js +103 -0
  122. package/dist/esm/resources/useResourceLinkActions.js +78 -0
  123. package/dist/esm/types.js +1 -0
  124. package/dist/esm/utils/fromFieldValidations.js +39 -0
  125. package/dist/{__fixtures__ → types/__fixtures__}/FakeSdk.d.ts +8 -8
  126. package/dist/{__fixtures__ → types/__fixtures__}/asset/index.d.ts +6 -6
  127. package/dist/{__fixtures__ → types/__fixtures__}/content-type/index.d.ts +2 -2
  128. package/dist/{__fixtures__ → types/__fixtures__}/entry/index.d.ts +5 -5
  129. package/dist/{__fixtures__ → types/__fixtures__}/fixtures.d.ts +6 -6
  130. package/dist/{__fixtures__ → types/__fixtures__}/locale/index.d.ts +42 -42
  131. package/dist/{__fixtures__ → types/__fixtures__}/space/index.d.ts +2 -2
  132. package/dist/{assets → types/assets}/MultipleMediaEditor.d.ts +10 -10
  133. package/dist/types/assets/SingleMediaEditor.d.ts +10 -0
  134. package/dist/{assets → types/assets}/WrappedAssetCard/AssetCardActions.d.ts +11 -11
  135. package/dist/{assets → types/assets}/WrappedAssetCard/FetchingWrappedAssetCard.d.ts +17 -17
  136. package/dist/{assets → types/assets}/WrappedAssetCard/WrappedAssetCard.d.ts +24 -24
  137. package/dist/{assets → types/assets}/WrappedAssetCard/WrappedAssetLink.d.ts +16 -16
  138. package/dist/{assets → types/assets}/index.d.ts +3 -3
  139. package/dist/{common → types/common}/EntityStore.d.ts +62 -62
  140. package/dist/{common → types/common}/MultipleReferenceEditor.d.ts +25 -25
  141. package/dist/{common → types/common}/ReferenceEditor.d.ts +46 -46
  142. package/dist/{common → types/common}/SingleReferenceEditor.d.ts +24 -24
  143. package/dist/{common → types/common}/SortableLinkList.d.ts +19 -19
  144. package/dist/{common → types/common}/customCardTypes.d.ts +29 -29
  145. package/dist/types/common/useAccessApi.d.ts +16 -0
  146. package/dist/{common → types/common}/useContentTypePermissions.d.ts +17 -17
  147. package/dist/{common → types/common}/useEditorPermissions.d.ts +17 -17
  148. package/dist/types/common/useEditorPermissions.spec.d.ts +1 -0
  149. package/dist/{components → types/components}/AssetThumbnail/AssetThumbnail.d.ts +7 -7
  150. package/dist/{components → types/components}/CreateEntryLinkButton/CreateEntryLinkButton.d.ts +19 -19
  151. package/dist/types/components/CreateEntryLinkButton/CreateEntryLinkButton.spec.d.ts +1 -0
  152. package/dist/{components → types/components}/CreateEntryLinkButton/CreateEntryMenuTrigger.d.ts +31 -31
  153. package/dist/types/components/CreateEntryLinkButton/CreateEntryMenuTrigger.spec.d.ts +1 -0
  154. package/dist/{components → types/components}/CreateEntryLinkButton/useGlobalMouseUp.d.ts +1 -1
  155. package/dist/{components → types/components}/LinkActions/CombinedLinkActions.d.ts +10 -10
  156. package/dist/{components → types/components}/LinkActions/LinkActions.d.ts +26 -26
  157. package/dist/{components → types/components}/LinkActions/LinkEntityActions.d.ts +24 -24
  158. package/dist/types/components/LinkActions/NoLinkPermissionsInfo.d.ts +2 -0
  159. package/dist/{components → types/components}/LinkActions/helpers.d.ts +26 -26
  160. package/dist/{components → types/components}/LinkActions/redesignStyles.d.ts +3 -3
  161. package/dist/{components → types/components}/LinkActions/styles.d.ts +2 -2
  162. package/dist/{components → types/components}/MissingEntityCard/MissingEntityCard.d.ts +8 -8
  163. package/dist/{components → types/components}/MissingEntityCard/styles.d.ts +2 -2
  164. package/dist/{components → types/components}/ScheduledIconWithTooltip/ScheduleTooltip.d.ts +11 -11
  165. package/dist/{components → types/components}/ScheduledIconWithTooltip/ScheduledIconWithTooltip.d.ts +10 -10
  166. package/dist/{components → types/components}/ScheduledIconWithTooltip/formatDateAndTime.d.ts +15 -15
  167. package/dist/types/components/SpaceName/SpaceName.d.ts +6 -0
  168. package/dist/{components → types/components}/index.d.ts +9 -9
  169. package/dist/{entries → types/entries}/MultipleEntryReferenceEditor.d.ts +3 -3
  170. package/dist/{entries → types/entries}/SingleEntryReferenceEditor.d.ts +8 -8
  171. package/dist/{entries → types/entries}/WrappedEntryCard/FetchingWrappedEntryCard.d.ts +18 -18
  172. package/dist/{entries → types/entries}/WrappedEntryCard/WrappedEntryCard.d.ts +35 -35
  173. package/dist/{entries → types/entries}/index.d.ts +3 -3
  174. package/dist/{index.d.ts → types/index.d.ts} +10 -8
  175. package/dist/{resources → types/resources}/Cards/ContentfulEntryCard.d.ts +21 -21
  176. package/dist/{resources → types/resources}/Cards/ResourceCard.d.ts +12 -12
  177. package/dist/{resources → types/resources}/Cards/UnsupportedEntityCard.d.ts +4 -4
  178. package/dist/{resources → types/resources}/MultipleResourceReferenceEditor.d.ts +7 -7
  179. package/dist/types/resources/MultipleResourceReferenceEditor.spec.d.ts +1 -0
  180. package/dist/{resources → types/resources}/SingleResourceReferenceEditor.d.ts +7 -7
  181. package/dist/types/resources/SingleResourceReferenceEditor.spec.d.ts +1 -0
  182. package/dist/{resources → types/resources}/index.d.ts +2 -2
  183. package/dist/{resources → types/resources}/testHelpers/resourceEditorHelpers.d.ts +50 -50
  184. package/dist/{resources → types/resources}/useResourceLinkActions.d.ts +7 -7
  185. package/dist/{types.d.ts → types/types.d.ts} +104 -104
  186. package/dist/{utils → types/utils}/fromFieldValidations.d.ts +21 -21
  187. package/package.json +25 -11
  188. package/CHANGELOG.md +0 -860
  189. package/dist/assets/SingleMediaEditor.d.ts +0 -10
  190. package/dist/common/useAccessApi.d.ts +0 -16
  191. package/dist/components/LinkActions/NoLinkPermissionsInfo.d.ts +0 -2
  192. package/dist/components/SpaceName/SpaceName.d.ts +0 -6
  193. package/dist/field-editor-reference.cjs.development.js +0 -2753
  194. package/dist/field-editor-reference.cjs.development.js.map +0 -1
  195. package/dist/field-editor-reference.cjs.production.min.js +0 -2
  196. package/dist/field-editor-reference.cjs.production.min.js.map +0 -1
  197. package/dist/field-editor-reference.esm.js +0 -2727
  198. package/dist/field-editor-reference.esm.js.map +0 -1
  199. package/dist/index.js +0 -8
@@ -1,16 +1,16 @@
1
- /// <reference types="react" />
2
- import { SpaceAPI } from '@contentful/field-editor-shared';
3
- import { Asset, RenderDragFn } from '../../types';
4
- export interface WrappedAssetLinkProps {
5
- getEntityScheduledActions: SpaceAPI['getEntityScheduledActions'];
6
- asset: Asset;
7
- localeCode: string;
8
- defaultLocaleCode: string;
9
- href?: string;
10
- className?: string;
11
- isDisabled: boolean;
12
- onEdit: () => void;
13
- onRemove: () => void;
14
- renderDragHandle?: RenderDragFn;
15
- }
16
- export declare const WrappedAssetLink: (props: WrappedAssetLinkProps) => JSX.Element;
1
+ import * as React from 'react';
2
+ import { SpaceAPI } from '@contentful/field-editor-shared';
3
+ import { Asset, RenderDragFn } from '../../types';
4
+ export interface WrappedAssetLinkProps {
5
+ getEntityScheduledActions: SpaceAPI['getEntityScheduledActions'];
6
+ asset: Asset;
7
+ localeCode: string;
8
+ defaultLocaleCode: string;
9
+ href?: string;
10
+ className?: string;
11
+ isDisabled: boolean;
12
+ onEdit: () => void;
13
+ onRemove: () => void;
14
+ renderDragHandle?: RenderDragFn;
15
+ }
16
+ export declare const WrappedAssetLink: (props: WrappedAssetLinkProps) => React.JSX.Element;
@@ -1,3 +1,3 @@
1
- export { SingleMediaEditor } from './SingleMediaEditor';
2
- export { MultipleMediaEditor } from './MultipleMediaEditor';
3
- export { WrappedAssetCard } from './WrappedAssetCard/WrappedAssetCard';
1
+ export { SingleMediaEditor } from './SingleMediaEditor';
2
+ export { MultipleMediaEditor } from './MultipleMediaEditor';
3
+ export { WrappedAssetCard } from './WrappedAssetCard/WrappedAssetCard';
@@ -1,62 +1,62 @@
1
- import React from 'react';
2
- import { BaseExtensionSDK } from '@contentful/app-sdk';
3
- import { Asset, ContentType, Entry, Resource, ResourceType, Space, ScheduledAction } from '../types';
4
- export declare type ResourceInfo<R extends Resource = Resource> = {
5
- resource: R;
6
- defaultLocaleCode: string;
7
- contentType: ContentType;
8
- space: Space;
9
- };
10
- declare type EntityStoreProps = {
11
- sdk: BaseExtensionSDK;
12
- queryConcurrency?: number;
13
- };
14
- declare type GetOptions = {
15
- priority?: number;
16
- };
17
- declare type GetEntityOptions = GetOptions & {
18
- spaceId?: string;
19
- environmentId?: string;
20
- };
21
- declare type UseEntityOptions = GetEntityOptions & {
22
- enabled?: boolean;
23
- };
24
- declare type QueryEntityResult<E> = Promise<E>;
25
- declare type GetResourceOptions = GetOptions;
26
- declare type QueryResourceResult<R extends Resource = Resource> = QueryEntityResult<ResourceInfo<R>>;
27
- declare type UseResourceOptions = GetResourceOptions & {
28
- enabled?: boolean;
29
- };
30
- declare type UseEntityResult<E> = {
31
- status: 'idle';
32
- data: never;
33
- } | {
34
- status: 'loading';
35
- data: never;
36
- } | {
37
- status: 'error';
38
- data: never;
39
- } | {
40
- status: 'success';
41
- data: E;
42
- };
43
- declare type FetchableEntityType = 'Entry' | 'Asset';
44
- declare type FetchableEntity = Entry | Asset;
45
- export declare class UnsupportedError extends Error {
46
- isUnsupportedError: boolean;
47
- constructor(message: string);
48
- }
49
- export declare function isUnsupportedError(value: unknown): value is UnsupportedError;
50
- declare const useEntityLoader: () => {
51
- getResource: <R extends Resource = Resource>(resourceType: ResourceType, urn: string, options?: GetOptions | undefined) => QueryResourceResult<R>;
52
- getEntity: <E extends FetchableEntity>(entityType: FetchableEntityType, entityId: string, options?: GetEntityOptions | undefined) => QueryEntityResult<E>;
53
- getEntityScheduledActions: (entityType: FetchableEntityType, entityId: string, options?: GetEntityOptions | undefined) => QueryEntityResult<ScheduledAction[]>;
54
- };
55
- export declare function useEntity<E extends FetchableEntity>(entityType: FetchableEntityType, entityId: string, options?: UseEntityOptions): UseEntityResult<E>;
56
- export declare function useResource(resourceType: ResourceType, urn: string, options?: UseResourceOptions): {
57
- status: "loading" | "error" | "success";
58
- data: ResourceInfo<Resource> | undefined;
59
- error: unknown;
60
- };
61
- declare function EntityProvider({ children, ...props }: React.PropsWithChildren<EntityStoreProps>): JSX.Element;
62
- export { EntityProvider, useEntityLoader };
1
+ import React from 'react';
2
+ import { BaseExtensionSDK } from '@contentful/app-sdk';
3
+ import { Asset, ContentType, Entry, Resource, ResourceType, ScheduledAction, Space } from '../types';
4
+ export type ResourceInfo<R extends Resource = Resource> = {
5
+ resource: R;
6
+ defaultLocaleCode: string;
7
+ contentType: ContentType;
8
+ space: Space;
9
+ };
10
+ type EntityStoreProps = {
11
+ sdk: BaseExtensionSDK;
12
+ queryConcurrency?: number;
13
+ };
14
+ type GetOptions = {
15
+ priority?: number;
16
+ };
17
+ type GetEntityOptions = GetOptions & {
18
+ spaceId?: string;
19
+ environmentId?: string;
20
+ };
21
+ type UseEntityOptions = GetEntityOptions & {
22
+ enabled?: boolean;
23
+ };
24
+ type QueryEntityResult<E> = Promise<E>;
25
+ type GetResourceOptions = GetOptions;
26
+ type QueryResourceResult<R extends Resource = Resource> = QueryEntityResult<ResourceInfo<R>>;
27
+ type UseResourceOptions = GetResourceOptions & {
28
+ enabled?: boolean;
29
+ };
30
+ type UseEntityResult<E> = {
31
+ status: 'idle';
32
+ data: never;
33
+ } | {
34
+ status: 'loading';
35
+ data: never;
36
+ } | {
37
+ status: 'error';
38
+ data: never;
39
+ } | {
40
+ status: 'success';
41
+ data: E;
42
+ };
43
+ type FetchableEntityType = 'Entry' | 'Asset';
44
+ type FetchableEntity = Entry | Asset;
45
+ export declare class UnsupportedError extends Error {
46
+ isUnsupportedError: boolean;
47
+ constructor(message: string);
48
+ }
49
+ export declare function isUnsupportedError(value: unknown): value is UnsupportedError;
50
+ declare const useEntityLoader: () => {
51
+ getResource: <R extends Resource = Resource>(resourceType: ResourceType, urn: string, options?: GetResourceOptions) => QueryResourceResult<R>;
52
+ getEntity: <E extends FetchableEntity>(entityType: FetchableEntityType, entityId: string, options?: GetEntityOptions) => QueryEntityResult<E>;
53
+ getEntityScheduledActions: (entityType: FetchableEntityType, entityId: string, options?: GetEntityOptions) => QueryEntityResult<ScheduledAction[]>;
54
+ };
55
+ export declare function useEntity<E extends FetchableEntity>(entityType: FetchableEntityType, entityId: string, options?: UseEntityOptions): UseEntityResult<E>;
56
+ export declare function useResource(resourceType: ResourceType, urn: string, options?: UseResourceOptions): {
57
+ status: "loading" | "error" | "success";
58
+ data: ResourceInfo<Resource> | undefined;
59
+ error: unknown;
60
+ };
61
+ declare function EntityProvider({ children, ...props }: React.PropsWithChildren<EntityStoreProps>): React.JSX.Element;
62
+ export { EntityProvider, useEntityLoader };
@@ -1,25 +1,25 @@
1
- import * as React from 'react';
2
- import { SortEndHandler, SortStartHandler } from 'react-sortable-hoc';
3
- import { ReferenceValue, ContentEntityType, ContentType } from '../types';
4
- import { ReferenceEditorProps } from './ReferenceEditor';
5
- declare type ChildProps = {
6
- entityType: ContentEntityType;
7
- items: ReferenceValue[];
8
- isDisabled: boolean;
9
- setValue: (value: ReferenceValue[]) => void;
10
- allContentTypes: ContentType[];
11
- onSortStart: SortStartHandler;
12
- onSortEnd: SortEndHandler;
13
- onMove: (oldIndex: number, newIndex: number) => void;
14
- };
15
- export declare function MultipleReferenceEditor(props: ReferenceEditorProps & {
16
- entityType: ContentEntityType;
17
- children: (props: ReferenceEditorProps & ChildProps) => React.ReactElement;
18
- setIndexToUpdate?: React.Dispatch<React.SetStateAction<number | undefined>>;
19
- }): JSX.Element;
20
- export declare namespace MultipleReferenceEditor {
21
- var defaultProps: {
22
- hasCardEditActions: boolean;
23
- };
24
- }
25
- export {};
1
+ import * as React from 'react';
2
+ import { SortEndHandler, SortStartHandler } from 'react-sortable-hoc';
3
+ import { ReferenceValue, ContentEntityType, ContentType } from '../types';
4
+ import { ReferenceEditorProps } from './ReferenceEditor';
5
+ type ChildProps = {
6
+ entityType: ContentEntityType;
7
+ items: ReferenceValue[];
8
+ isDisabled: boolean;
9
+ setValue: (value: ReferenceValue[]) => void;
10
+ allContentTypes: ContentType[];
11
+ onSortStart: SortStartHandler;
12
+ onSortEnd: SortEndHandler;
13
+ onMove: (oldIndex: number, newIndex: number) => void;
14
+ };
15
+ export declare function MultipleReferenceEditor(props: ReferenceEditorProps & {
16
+ entityType: ContentEntityType;
17
+ children: (props: ReferenceEditorProps & ChildProps) => React.ReactElement;
18
+ setIndexToUpdate?: React.Dispatch<React.SetStateAction<number | undefined>>;
19
+ }): React.JSX.Element;
20
+ export declare namespace MultipleReferenceEditor {
21
+ var defaultProps: {
22
+ hasCardEditActions: boolean;
23
+ };
24
+ }
25
+ export {};
@@ -1,46 +1,46 @@
1
- import * as React from 'react';
2
- import { FieldConnector } from '@contentful/field-editor-shared';
3
- import type { LinkActionsProps } from '../components';
4
- import { Action, ActionLabels, FieldExtensionSDK, ViewType } from '../types';
5
- import { CustomCardRenderer, RenderCustomMissingEntityCard } from './customCardTypes';
6
- export interface ReferenceEditorProps {
7
- /**
8
- * Whether or not the field should be disabled initially.
9
- */
10
- isInitiallyDisabled: boolean;
11
- hasCardEditActions: boolean;
12
- hasCardMoveActions?: boolean;
13
- hasCardRemoveActions?: boolean;
14
- sdk: FieldExtensionSDK;
15
- viewType: ViewType;
16
- renderCustomCard?: CustomCardRenderer;
17
- renderCustomActions?: (props: CustomActionProps) => React.ReactElement;
18
- renderCustomMissingEntityCard?: RenderCustomMissingEntityCard;
19
- getEntityUrl?: (entryId: string) => string;
20
- onAction?: (action: Action) => void;
21
- actionLabels?: Partial<ActionLabels>;
22
- parameters: {
23
- instance: {
24
- showCreateEntityAction?: boolean;
25
- showLinkEntityAction?: boolean;
26
- bulkEditing?: boolean;
27
- };
28
- };
29
- updateBeforeSortStart?: ({ index }: {
30
- index: number;
31
- }) => void;
32
- onSortingEnd?: ({ oldIndex, newIndex }: {
33
- oldIndex: number;
34
- newIndex: number;
35
- }) => void;
36
- }
37
- export declare type CustomActionProps = LinkActionsProps;
38
- export declare function ReferenceEditor<T>(props: ReferenceEditorProps & {
39
- children: FieldConnector<T>['props']['children'];
40
- }): JSX.Element;
41
- export declare namespace ReferenceEditor {
42
- var defaultProps: {
43
- isInitiallyDisabled: boolean;
44
- hasCardEditActions: boolean;
45
- };
46
- }
1
+ import * as React from 'react';
2
+ import { FieldConnector } from '@contentful/field-editor-shared';
3
+ import type { LinkActionsProps } from '../components';
4
+ import { Action, ActionLabels, FieldExtensionSDK, ViewType } from '../types';
5
+ import { CustomCardRenderer, RenderCustomMissingEntityCard } from './customCardTypes';
6
+ export interface ReferenceEditorProps {
7
+ /**
8
+ * Whether or not the field should be disabled initially.
9
+ */
10
+ isInitiallyDisabled: boolean;
11
+ hasCardEditActions: boolean;
12
+ hasCardMoveActions?: boolean;
13
+ hasCardRemoveActions?: boolean;
14
+ sdk: FieldExtensionSDK;
15
+ viewType: ViewType;
16
+ renderCustomCard?: CustomCardRenderer;
17
+ renderCustomActions?: (props: CustomActionProps) => React.ReactElement;
18
+ renderCustomMissingEntityCard?: RenderCustomMissingEntityCard;
19
+ getEntityUrl?: (entryId: string) => string;
20
+ onAction?: (action: Action) => void;
21
+ actionLabels?: Partial<ActionLabels>;
22
+ parameters: {
23
+ instance: {
24
+ showCreateEntityAction?: boolean;
25
+ showLinkEntityAction?: boolean;
26
+ bulkEditing?: boolean;
27
+ };
28
+ };
29
+ updateBeforeSortStart?: ({ index }: {
30
+ index: number;
31
+ }) => void;
32
+ onSortingEnd?: ({ oldIndex, newIndex }: {
33
+ oldIndex: number;
34
+ newIndex: number;
35
+ }) => void;
36
+ }
37
+ export type CustomActionProps = LinkActionsProps;
38
+ export declare function ReferenceEditor<T>(props: ReferenceEditorProps & {
39
+ children: FieldConnector<T>['props']['children'];
40
+ }): React.JSX.Element;
41
+ export declare namespace ReferenceEditor {
42
+ var defaultProps: {
43
+ isInitiallyDisabled: boolean;
44
+ hasCardEditActions: boolean;
45
+ };
46
+ }
@@ -1,24 +1,24 @@
1
- import * as React from 'react';
2
- import { ContentType, ContentEntityType, ReferenceValue } from '../types';
3
- import { ReferenceEditorProps } from './ReferenceEditor';
4
- declare type ChildProps = {
5
- entityId: string;
6
- entityType: ContentEntityType;
7
- isDisabled: boolean;
8
- setValue: (value: ReferenceValue | null | undefined) => void;
9
- allContentTypes: ContentType[];
10
- renderCustomCard?: ReferenceEditorProps['renderCustomCard'];
11
- hasCardEditActions: boolean;
12
- hasCardRemoveActions?: boolean;
13
- };
14
- export declare function SingleReferenceEditor(props: ReferenceEditorProps & {
15
- entityType: ContentEntityType;
16
- children: (props: ChildProps) => React.ReactElement;
17
- }): JSX.Element;
18
- export declare namespace SingleReferenceEditor {
19
- var defaultProps: {
20
- hasCardEditActions: boolean;
21
- hasCardRemoveActions: boolean;
22
- };
23
- }
24
- export {};
1
+ import * as React from 'react';
2
+ import { ContentType, ContentEntityType, ReferenceValue } from '../types';
3
+ import { ReferenceEditorProps } from './ReferenceEditor';
4
+ type ChildProps = {
5
+ entityId: string;
6
+ entityType: ContentEntityType;
7
+ isDisabled: boolean;
8
+ setValue: (value: ReferenceValue | null | undefined) => void;
9
+ allContentTypes: ContentType[];
10
+ renderCustomCard?: ReferenceEditorProps['renderCustomCard'];
11
+ hasCardEditActions: boolean;
12
+ hasCardRemoveActions?: boolean;
13
+ };
14
+ export declare function SingleReferenceEditor(props: ReferenceEditorProps & {
15
+ entityType: ContentEntityType;
16
+ children: (props: ChildProps) => React.ReactElement;
17
+ }): React.JSX.Element;
18
+ export declare namespace SingleReferenceEditor {
19
+ var defaultProps: {
20
+ hasCardEditActions: boolean;
21
+ hasCardRemoveActions: boolean;
22
+ };
23
+ }
24
+ export {};
@@ -1,19 +1,19 @@
1
- import React from 'react';
2
- import { SortableContainerProps } from 'react-sortable-hoc';
3
- import { ReferenceEditorProps } from './ReferenceEditor';
4
- declare type SortableContainerChildProps<IType> = Pick<SortableLinkListProps<IType>, 'items' | 'isDisabled'> & {
5
- item: IType;
6
- index: number;
7
- DragHandle?: typeof DragHandle;
8
- };
9
- declare type SortableLinkListProps<T> = ReferenceEditorProps & {
10
- items: T[];
11
- isDisabled: boolean;
12
- children: (props: SortableContainerChildProps<T>) => React.ReactElement;
13
- className?: string;
14
- };
15
- declare const DragHandle: (props: {
16
- drag: React.ReactElement;
17
- }) => JSX.Element;
18
- export declare function SortableLinkList<T>(props: SortableLinkListProps<T> & SortableContainerProps): JSX.Element;
19
- export {};
1
+ import * as React from 'react';
2
+ import { SortableContainerProps } from 'react-sortable-hoc';
3
+ import { ReferenceEditorProps } from './ReferenceEditor';
4
+ type SortableContainerChildProps<IType> = Pick<SortableLinkListProps<IType>, 'items' | 'isDisabled'> & {
5
+ item: IType;
6
+ index: number;
7
+ DragHandle?: typeof DragHandle;
8
+ };
9
+ type SortableLinkListProps<T> = ReferenceEditorProps & {
10
+ items: T[];
11
+ isDisabled: boolean;
12
+ children: (props: SortableContainerChildProps<T>) => React.ReactElement;
13
+ className?: string;
14
+ };
15
+ declare const DragHandle: (props: {
16
+ drag: React.ReactElement;
17
+ }) => React.JSX.Element;
18
+ export declare function SortableLinkList<T>(props: SortableLinkListProps<T> & SortableContainerProps): React.JSX.Element;
19
+ export {};
@@ -1,29 +1,29 @@
1
- import * as React from 'react';
2
- import { Asset, ContentType, Entry, RenderDragFn } from '../types';
3
- import { CustomActionProps } from './ReferenceEditor';
4
- export declare type MissingEntityCardProps = {
5
- defaultCard: React.ReactElement;
6
- entity: {
7
- id: string;
8
- type: 'Asset' | 'Entry';
9
- };
10
- };
11
- export declare type RenderCustomMissingEntityCard = ({ defaultCard, }: MissingEntityCardProps) => React.ReactElement;
12
- export declare type DefaultCardRenderer = (props?: CustomEntityCardProps) => React.ReactElement;
13
- export declare type CustomCardRenderer = (props: CustomEntityCardProps, linkActionsProps: CustomActionProps, renderDefaultCard: DefaultCardRenderer) => React.ReactElement | false;
14
- export declare type CustomEntityCardProps = {
15
- entity: Entry | Asset;
16
- entityUrl?: string;
17
- contentType?: ContentType;
18
- index?: number;
19
- localeCode: string;
20
- defaultLocaleCode: string;
21
- isDisabled: boolean;
22
- size: 'default' | 'small';
23
- renderDragHandle?: RenderDragFn;
24
- onEdit?: () => void;
25
- onRemove?: () => void;
26
- onMoveTop?: () => void;
27
- onMoveBottom?: () => void;
28
- isBeingDragged?: boolean;
29
- };
1
+ import * as React from 'react';
2
+ import { Asset, ContentType, Entry, RenderDragFn } from '../types';
3
+ import { CustomActionProps } from './ReferenceEditor';
4
+ export type MissingEntityCardProps = {
5
+ defaultCard: React.ReactElement;
6
+ entity: {
7
+ id: string;
8
+ type: 'Asset' | 'Entry';
9
+ };
10
+ };
11
+ export type RenderCustomMissingEntityCard = ({ defaultCard, }: MissingEntityCardProps) => React.ReactElement;
12
+ export type DefaultCardRenderer = (props?: CustomEntityCardProps) => React.ReactElement;
13
+ export type CustomCardRenderer = (props: CustomEntityCardProps, linkActionsProps: CustomActionProps, renderDefaultCard: DefaultCardRenderer) => React.ReactElement | false;
14
+ export type CustomEntityCardProps = {
15
+ entity: Entry | Asset;
16
+ entityUrl?: string;
17
+ contentType?: ContentType;
18
+ index?: number;
19
+ localeCode: string;
20
+ defaultLocaleCode: string;
21
+ isDisabled: boolean;
22
+ size: 'default' | 'small';
23
+ renderDragHandle?: RenderDragFn;
24
+ onEdit?: () => void;
25
+ onRemove?: () => void;
26
+ onMoveTop?: () => void;
27
+ onMoveBottom?: () => void;
28
+ isBeingDragged?: boolean;
29
+ };
@@ -0,0 +1,16 @@
1
+ import type { AccessAPI, ArchiveableAction, CrudAction, PublishableAction } from '@contentful/app-sdk';
2
+ type EntryAction = CrudAction | PublishableAction | ArchiveableAction;
3
+ type ExtendedAccessAPI = {
4
+ canPerformActionOnEntryOfType: (action: EntryAction, contentTypeId: string) => Promise<boolean>;
5
+ };
6
+ export declare function useAccessApi(accessApi: AccessAPI & Partial<ExtendedAccessAPI>): {
7
+ canPerformAction: {
8
+ (action: "read" | "update", entity: "EditorInterface" | import("@contentful/app-sdk").EditorInterface): Promise<boolean>;
9
+ <T = Object>(action: CrudAction, entity: import("@contentful/app-sdk").ContentType | "Entry" | "Asset" | "ContentType" | T): Promise<boolean>;
10
+ <T_1 = Object>(action: PublishableAction, entity: import("@contentful/app-sdk").ContentType | "Entry" | "Asset" | "ContentType" | T_1): Promise<boolean>;
11
+ <T_2 = Object>(action: ArchiveableAction, entity: "Entry" | "Asset" | T_2): Promise<boolean>;
12
+ (action: "update", entity: import("@contentful/app-sdk").Entry | import("@contentful/app-sdk").Asset | import("@contentful/app-sdk").Task | import("@contentful/app-sdk").WorkflowDefinition, patch: import("@contentful/app-sdk").JSONPatchItem[]): Promise<boolean>;
13
+ };
14
+ canPerformActionOnEntryOfType: (action: EntryAction, contentTypeId: string) => Promise<boolean>;
15
+ };
16
+ export {};
@@ -1,17 +1,17 @@
1
- import { ContentType, ContentEntityType, FieldExtensionSDK } from '../types';
2
- import { ReferenceValidations } from '../utils/fromFieldValidations';
3
- import { ReferenceEditorProps } from './ReferenceEditor';
4
- declare type ContentTypePermissionsProps = {
5
- sdk: FieldExtensionSDK;
6
- entityType: ContentEntityType;
7
- parameters: ReferenceEditorProps['parameters'];
8
- allContentTypes: ContentType[];
9
- validations: ReferenceValidations;
10
- };
11
- declare type ContentTypePermissions = {
12
- creatableContentTypes: ContentType[];
13
- readableContentTypes: ContentType[];
14
- availableContentTypes: ContentType[];
15
- };
16
- export declare function useContentTypePermissions(props: ContentTypePermissionsProps): ContentTypePermissions;
17
- export {};
1
+ import { ContentType, ContentEntityType, FieldExtensionSDK } from '../types';
2
+ import { ReferenceValidations } from '../utils/fromFieldValidations';
3
+ import { ReferenceEditorProps } from './ReferenceEditor';
4
+ type ContentTypePermissionsProps = {
5
+ sdk: FieldExtensionSDK;
6
+ entityType: ContentEntityType;
7
+ parameters: ReferenceEditorProps['parameters'];
8
+ allContentTypes: ContentType[];
9
+ validations: ReferenceValidations;
10
+ };
11
+ type ContentTypePermissions = {
12
+ creatableContentTypes: ContentType[];
13
+ readableContentTypes: ContentType[];
14
+ availableContentTypes: ContentType[];
15
+ };
16
+ export declare function useContentTypePermissions(props: ContentTypePermissionsProps): ContentTypePermissions;
17
+ export {};
@@ -1,17 +1,17 @@
1
- import { ContentType, ContentEntityType, FieldExtensionSDK } from '../types';
2
- import { ReferenceEditorProps } from './ReferenceEditor';
3
- export declare type EditorPermissionsProps = {
4
- sdk: FieldExtensionSDK;
5
- entityType: ContentEntityType;
6
- parameters: ReferenceEditorProps['parameters'];
7
- allContentTypes: ContentType[];
8
- };
9
- export declare function useEditorPermissions(props: EditorPermissionsProps): {
10
- canCreateEntity: boolean;
11
- canLinkEntity: boolean;
12
- creatableContentTypes: ContentType[];
13
- readableContentTypes: ContentType[];
14
- availableContentTypes: ContentType[];
15
- validations: import("../utils/fromFieldValidations").ReferenceValidations;
16
- };
17
- export declare type EditorPermissions = ReturnType<typeof useEditorPermissions>;
1
+ import { ContentType, ContentEntityType, FieldExtensionSDK } from '../types';
2
+ import { ReferenceEditorProps } from './ReferenceEditor';
3
+ export type EditorPermissionsProps = {
4
+ sdk: FieldExtensionSDK;
5
+ entityType: ContentEntityType;
6
+ parameters: ReferenceEditorProps['parameters'];
7
+ allContentTypes: ContentType[];
8
+ };
9
+ export declare function useEditorPermissions(props: EditorPermissionsProps): {
10
+ canCreateEntity: boolean;
11
+ canLinkEntity: boolean;
12
+ creatableContentTypes: ContentType[];
13
+ readableContentTypes: ContentType[];
14
+ availableContentTypes: ContentType[];
15
+ validations: import("../utils/fromFieldValidations").ReferenceValidations;
16
+ };
17
+ export type EditorPermissions = ReturnType<typeof useEditorPermissions>;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,7 +1,7 @@
1
- /// <reference types="react" />
2
- import { File } from '../../types';
3
- interface AssetThumbnailProps {
4
- file: File;
5
- }
6
- export declare function AssetThumbnail(props: AssetThumbnailProps): JSX.Element;
7
- export {};
1
+ import * as React from 'react';
2
+ import { File } from '../../types';
3
+ interface AssetThumbnailProps {
4
+ file: File;
5
+ }
6
+ export declare function AssetThumbnail(props: AssetThumbnailProps): React.JSX.Element;
7
+ export {};
@@ -1,19 +1,19 @@
1
- import React from 'react';
2
- import { ContentType } from '../../types';
3
- interface CreateEntryLinkButtonProps {
4
- contentTypes: ContentType[];
5
- suggestedContentTypeId?: string;
6
- onSelect: (contentTypeId: string) => Promise<unknown>;
7
- customDropdownItems?: React.ReactNode;
8
- disabled?: boolean;
9
- hasPlusIcon?: boolean;
10
- useExperimentalStyles?: boolean;
11
- text?: string | React.ReactElement;
12
- testId?: string;
13
- dropdownSettings?: {
14
- isAutoalignmentEnabled?: boolean;
15
- position: 'bottom-left' | 'bottom-right';
16
- };
17
- }
18
- export declare const CreateEntryLinkButton: ({ contentTypes, onSelect, customDropdownItems, text, testId, hasPlusIcon, useExperimentalStyles, suggestedContentTypeId, dropdownSettings, disabled, }: CreateEntryLinkButtonProps) => JSX.Element;
19
- export {};
1
+ import * as React from 'react';
2
+ import { ContentType } from '../../types';
3
+ interface CreateEntryLinkButtonProps {
4
+ contentTypes: ContentType[];
5
+ suggestedContentTypeId?: string;
6
+ onSelect: (contentTypeId: string) => Promise<unknown>;
7
+ customDropdownItems?: React.ReactNode;
8
+ disabled?: boolean;
9
+ hasPlusIcon?: boolean;
10
+ useExperimentalStyles?: boolean;
11
+ text?: string | React.ReactElement;
12
+ testId?: string;
13
+ dropdownSettings?: {
14
+ isAutoalignmentEnabled?: boolean;
15
+ position: 'bottom-left' | 'bottom-right';
16
+ };
17
+ }
18
+ export declare const CreateEntryLinkButton: ({ contentTypes, onSelect, customDropdownItems, text, testId, hasPlusIcon, useExperimentalStyles, suggestedContentTypeId, dropdownSettings, disabled, }: CreateEntryLinkButtonProps) => React.JSX.Element;
19
+ export {};
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';