@contentful/field-editor-reference 5.8.6 → 5.10.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} +9 -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 -854
  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 -4395
  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 -4369
  198. package/dist/field-editor-reference.esm.js.map +0 -1
  199. package/dist/index.js +0 -8
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "FetchingWrappedAssetCard", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return FetchingWrappedAssetCard;
9
+ }
10
+ });
11
+ const _react = _interop_require_wildcard(require("react"));
12
+ const _f36components = require("@contentful/f36-components");
13
+ const _EntityStore = require("../../common/EntityStore");
14
+ const _components = require("../../components");
15
+ const _WrappedAssetCard = require("./WrappedAssetCard");
16
+ const _WrappedAssetLink = require("./WrappedAssetLink");
17
+ function _getRequireWildcardCache(nodeInterop) {
18
+ if (typeof WeakMap !== "function") return null;
19
+ var cacheBabelInterop = new WeakMap();
20
+ var cacheNodeInterop = new WeakMap();
21
+ return (_getRequireWildcardCache = function(nodeInterop) {
22
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
23
+ })(nodeInterop);
24
+ }
25
+ function _interop_require_wildcard(obj, nodeInterop) {
26
+ if (!nodeInterop && obj && obj.__esModule) {
27
+ return obj;
28
+ }
29
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
30
+ return {
31
+ default: obj
32
+ };
33
+ }
34
+ var cache = _getRequireWildcardCache(nodeInterop);
35
+ if (cache && cache.has(obj)) {
36
+ return cache.get(obj);
37
+ }
38
+ var newObj = {};
39
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
40
+ for(var key in obj){
41
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
42
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
43
+ if (desc && (desc.get || desc.set)) {
44
+ Object.defineProperty(newObj, key, desc);
45
+ } else {
46
+ newObj[key] = obj[key];
47
+ }
48
+ }
49
+ }
50
+ newObj.default = obj;
51
+ if (cache) {
52
+ cache.set(obj, newObj);
53
+ }
54
+ return newObj;
55
+ }
56
+ function FetchingWrappedAssetCard(props) {
57
+ const { data: asset , status } = (0, _EntityStore.useEntity)('Asset', props.assetId);
58
+ const { getEntityScheduledActions } = (0, _EntityStore.useEntityLoader)();
59
+ const loadEntityScheduledActions = _react.useCallback(()=>getEntityScheduledActions('Asset', props.assetId), [
60
+ getEntityScheduledActions,
61
+ props.assetId
62
+ ]);
63
+ _react.useEffect(()=>{
64
+ if (asset) {
65
+ props.onAction && props.onAction({
66
+ type: 'rendered',
67
+ entity: 'Asset'
68
+ });
69
+ }
70
+ }, [
71
+ asset
72
+ ]);
73
+ const onEdit = async ()=>{
74
+ const { slide } = await props.sdk.navigator.openAsset(props.assetId, {
75
+ slideIn: true
76
+ });
77
+ props.onAction && props.onAction({
78
+ entity: 'Asset',
79
+ type: 'edit',
80
+ id: props.assetId,
81
+ contentTypeId: '',
82
+ slide
83
+ });
84
+ };
85
+ const onRemove = ()=>{
86
+ props.onRemove();
87
+ props.onAction && props.onAction({
88
+ entity: 'Asset',
89
+ type: 'delete',
90
+ id: props.assetId,
91
+ contentTypeId: ''
92
+ });
93
+ };
94
+ return _react.useMemo(()=>{
95
+ if (status === 'error') {
96
+ const card = _react.createElement(_components.MissingEntityCard, {
97
+ entityType: "Asset",
98
+ asSquare: props.viewType !== 'link',
99
+ isDisabled: props.isDisabled,
100
+ onRemove: onRemove
101
+ });
102
+ if (props.renderCustomMissingEntityCard) {
103
+ return props.renderCustomMissingEntityCard({
104
+ defaultCard: card,
105
+ entity: {
106
+ id: props.assetId,
107
+ type: 'Asset'
108
+ }
109
+ });
110
+ }
111
+ return card;
112
+ }
113
+ const { getEntityUrl } = props;
114
+ const size = props.viewType === 'big_card' ? 'default' : 'small';
115
+ const commonProps = {
116
+ asset,
117
+ entityUrl: getEntityUrl && getEntityUrl(props.assetId),
118
+ size: size,
119
+ isDisabled: props.isDisabled,
120
+ localeCode: props.sdk.field.locale,
121
+ defaultLocaleCode: props.sdk.locales.default,
122
+ renderDragHandle: props.renderDragHandle,
123
+ onEdit,
124
+ onRemove
125
+ };
126
+ if (props.viewType === 'link') {
127
+ if (status === 'loading') {
128
+ return _react.createElement(_f36components.EntryCard, {
129
+ size: "small",
130
+ isLoading: true
131
+ });
132
+ }
133
+ return _react.createElement(_WrappedAssetLink.WrappedAssetLink, {
134
+ ...commonProps,
135
+ href: commonProps.entityUrl,
136
+ getEntityScheduledActions: loadEntityScheduledActions
137
+ });
138
+ }
139
+ if (status === 'loading') {
140
+ return _react.createElement(_f36components.AssetCard, {
141
+ size: size,
142
+ isLoading: true
143
+ });
144
+ }
145
+ function renderDefaultCard(props) {
146
+ const builtinCardProps = {
147
+ ...commonProps,
148
+ ...props,
149
+ getEntityScheduledActions: loadEntityScheduledActions,
150
+ asset: (props?.entity) || commonProps.asset,
151
+ getAssetUrl: getEntityUrl
152
+ };
153
+ return _react.createElement(_WrappedAssetCard.WrappedAssetCard, builtinCardProps);
154
+ }
155
+ if (props.renderCustomCard) {
156
+ const customProps = {
157
+ ...commonProps,
158
+ entity: commonProps.asset
159
+ };
160
+ const renderedCustomCard = props.renderCustomCard(customProps, {}, renderDefaultCard);
161
+ if (renderedCustomCard !== false) {
162
+ return renderedCustomCard;
163
+ }
164
+ }
165
+ return renderDefaultCard();
166
+ }, [
167
+ props,
168
+ status,
169
+ asset
170
+ ]);
171
+ }
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "WrappedAssetCard", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return WrappedAssetCard;
9
+ }
10
+ });
11
+ const _react = _interop_require_wildcard(require("react"));
12
+ const _f36components = require("@contentful/f36-components");
13
+ const _f36icons = require("@contentful/f36-icons");
14
+ const _f36tokens = _interop_require_default(require("@contentful/f36-tokens"));
15
+ const _fieldeditorshared = require("@contentful/field-editor-shared");
16
+ const _mimetype = _interop_require_default(require("@contentful/mimetype"));
17
+ const _emotion = require("emotion");
18
+ const _components = require("../../components");
19
+ const _AssetCardActions = require("./AssetCardActions");
20
+ function _interop_require_default(obj) {
21
+ return obj && obj.__esModule ? obj : {
22
+ default: obj
23
+ };
24
+ }
25
+ function _getRequireWildcardCache(nodeInterop) {
26
+ if (typeof WeakMap !== "function") return null;
27
+ var cacheBabelInterop = new WeakMap();
28
+ var cacheNodeInterop = new WeakMap();
29
+ return (_getRequireWildcardCache = function(nodeInterop) {
30
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
31
+ })(nodeInterop);
32
+ }
33
+ function _interop_require_wildcard(obj, nodeInterop) {
34
+ if (!nodeInterop && obj && obj.__esModule) {
35
+ return obj;
36
+ }
37
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
38
+ return {
39
+ default: obj
40
+ };
41
+ }
42
+ var cache = _getRequireWildcardCache(nodeInterop);
43
+ if (cache && cache.has(obj)) {
44
+ return cache.get(obj);
45
+ }
46
+ var newObj = {};
47
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
48
+ for(var key in obj){
49
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
50
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
51
+ if (desc && (desc.get || desc.set)) {
52
+ Object.defineProperty(newObj, key, desc);
53
+ } else {
54
+ newObj[key] = obj[key];
55
+ }
56
+ }
57
+ }
58
+ newObj.default = obj;
59
+ if (cache) {
60
+ cache.set(obj, newObj);
61
+ }
62
+ return newObj;
63
+ }
64
+ const groupToIconMap = {
65
+ image: 'image',
66
+ video: 'video',
67
+ audio: 'audio',
68
+ richtext: 'richtext',
69
+ presentation: 'presentation',
70
+ spreadsheet: 'spreadsheet',
71
+ pdfdocument: 'pdf',
72
+ archive: 'archive',
73
+ plaintext: 'plaintext',
74
+ code: 'code',
75
+ markup: 'markup'
76
+ };
77
+ const styles = {
78
+ scheduleIcon: (0, _emotion.css)({
79
+ marginRight: _f36tokens.default.spacing2Xs
80
+ })
81
+ };
82
+ const defaultProps = {
83
+ isClickable: true
84
+ };
85
+ function getFileType(file) {
86
+ if (!file) {
87
+ return 'archive';
88
+ }
89
+ const groupName = _mimetype.default.getGroupLabel({
90
+ type: file.contentType,
91
+ fallbackFileName: file.fileName
92
+ });
93
+ return groupToIconMap[groupName] || 'archive';
94
+ }
95
+ const WrappedAssetCard = (props)=>{
96
+ const { className , onEdit , getAssetUrl , onRemove , size , isDisabled , isSelected , isClickable } = props;
97
+ const status = _fieldeditorshared.entityHelpers.getEntryStatus(props.asset.sys);
98
+ if (status === 'deleted') {
99
+ return _react.createElement(_components.MissingEntityCard, {
100
+ entityType: "Asset",
101
+ asSquare: true,
102
+ isDisabled: props.isDisabled,
103
+ onRemove: props.onRemove
104
+ });
105
+ }
106
+ const entityTitle = _fieldeditorshared.entityHelpers.getAssetTitle({
107
+ asset: props.asset,
108
+ localeCode: props.localeCode,
109
+ defaultLocaleCode: props.defaultLocaleCode,
110
+ defaultTitle: 'Untitled'
111
+ });
112
+ const entityFile = props.asset.fields.file ? props.asset.fields.file[props.localeCode] || props.asset.fields.file[props.defaultLocaleCode] : undefined;
113
+ const href = getAssetUrl ? getAssetUrl(props.asset.sys.id) : undefined;
114
+ return _react.createElement(_f36components.AssetCard, {
115
+ as: href ? 'a' : 'article',
116
+ type: getFileType(entityFile),
117
+ title: entityTitle,
118
+ className: className,
119
+ isSelected: isSelected,
120
+ href: href,
121
+ status: status,
122
+ icon: _react.createElement(_components.ScheduledIconWithTooltip, {
123
+ getEntityScheduledActions: props.getEntityScheduledActions,
124
+ entityType: "Asset",
125
+ entityId: props.asset.sys.id
126
+ }, _react.createElement(_f36icons.ClockIcon, {
127
+ className: styles.scheduleIcon,
128
+ size: "small",
129
+ variant: "muted",
130
+ testId: "schedule-icon"
131
+ })),
132
+ src: entityFile && entityFile.url ? size === 'small' ? `${entityFile.url}?w=150&h=150&fit=thumb` : `${entityFile.url}?h=300` : '',
133
+ onClick: isClickable ? (e)=>{
134
+ e.preventDefault();
135
+ onEdit && onEdit();
136
+ } : undefined,
137
+ onKeyDown: isClickable ? (e)=>{
138
+ if (e.key === 'Enter' && onEdit) {
139
+ e.preventDefault();
140
+ onEdit();
141
+ }
142
+ } : undefined,
143
+ dragHandleRender: props.renderDragHandle,
144
+ withDragHandle: !!props.renderDragHandle,
145
+ actions: [
146
+ ...(0, _AssetCardActions.renderActions)({
147
+ entityFile,
148
+ isDisabled: isDisabled,
149
+ onEdit,
150
+ onRemove
151
+ }),
152
+ ...entityFile ? (0, _AssetCardActions.renderAssetInfo)({
153
+ entityFile
154
+ }) : []
155
+ ].filter((item)=>item),
156
+ size: size
157
+ });
158
+ };
159
+ WrappedAssetCard.defaultProps = defaultProps;
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "WrappedAssetLink", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return WrappedAssetLink;
9
+ }
10
+ });
11
+ const _react = _interop_require_wildcard(require("react"));
12
+ const _f36components = require("@contentful/f36-components");
13
+ const _f36icons = require("@contentful/f36-icons");
14
+ const _f36tokens = _interop_require_default(require("@contentful/f36-tokens"));
15
+ const _fieldeditorshared = require("@contentful/field-editor-shared");
16
+ const _emotion = require("emotion");
17
+ const _components = require("../../components");
18
+ const _AssetCardActions = require("./AssetCardActions");
19
+ function _interop_require_default(obj) {
20
+ return obj && obj.__esModule ? obj : {
21
+ default: obj
22
+ };
23
+ }
24
+ function _getRequireWildcardCache(nodeInterop) {
25
+ if (typeof WeakMap !== "function") return null;
26
+ var cacheBabelInterop = new WeakMap();
27
+ var cacheNodeInterop = new WeakMap();
28
+ return (_getRequireWildcardCache = function(nodeInterop) {
29
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
30
+ })(nodeInterop);
31
+ }
32
+ function _interop_require_wildcard(obj, nodeInterop) {
33
+ if (!nodeInterop && obj && obj.__esModule) {
34
+ return obj;
35
+ }
36
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
37
+ return {
38
+ default: obj
39
+ };
40
+ }
41
+ var cache = _getRequireWildcardCache(nodeInterop);
42
+ if (cache && cache.has(obj)) {
43
+ return cache.get(obj);
44
+ }
45
+ var newObj = {};
46
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
47
+ for(var key in obj){
48
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
49
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
50
+ if (desc && (desc.get || desc.set)) {
51
+ Object.defineProperty(newObj, key, desc);
52
+ } else {
53
+ newObj[key] = obj[key];
54
+ }
55
+ }
56
+ }
57
+ newObj.default = obj;
58
+ if (cache) {
59
+ cache.set(obj, newObj);
60
+ }
61
+ return newObj;
62
+ }
63
+ const styles = {
64
+ scheduleIcon: (0, _emotion.css)({
65
+ marginRight: _f36tokens.default.spacing2Xs
66
+ })
67
+ };
68
+ const WrappedAssetLink = (props)=>{
69
+ const { className , href , onEdit , onRemove , isDisabled } = props;
70
+ const status = _fieldeditorshared.entityHelpers.getEntryStatus(props.asset.sys);
71
+ if (status === 'deleted') {
72
+ return _react.createElement(_components.MissingEntityCard, {
73
+ entityType: "Asset",
74
+ isDisabled: props.isDisabled,
75
+ onRemove: props.onRemove
76
+ });
77
+ }
78
+ const entityTitle = _fieldeditorshared.entityHelpers.getAssetTitle({
79
+ asset: props.asset,
80
+ localeCode: props.localeCode,
81
+ defaultLocaleCode: props.defaultLocaleCode,
82
+ defaultTitle: 'Untitled'
83
+ });
84
+ const entityFile = props.asset.fields.file ? props.asset.fields.file[props.localeCode] || props.asset.fields.file[props.defaultLocaleCode] : undefined;
85
+ return _react.createElement(_f36components.EntryCard, {
86
+ as: href ? 'a' : 'article',
87
+ contentType: "Asset",
88
+ title: entityTitle,
89
+ className: className,
90
+ href: href,
91
+ size: "small",
92
+ status: status,
93
+ thumbnailElement: entityFile && (0, _fieldeditorshared.isValidImage)(entityFile) ? _react.createElement(_components.AssetThumbnail, {
94
+ file: entityFile
95
+ }) : undefined,
96
+ icon: _react.createElement(_components.ScheduledIconWithTooltip, {
97
+ getEntityScheduledActions: props.getEntityScheduledActions,
98
+ entityType: "Asset",
99
+ entityId: props.asset.sys.id
100
+ }, _react.createElement(_f36icons.ClockIcon, {
101
+ className: styles.scheduleIcon,
102
+ size: "small",
103
+ variant: "muted",
104
+ testId: "schedule-icon"
105
+ })),
106
+ onClick: (e)=>{
107
+ e.preventDefault();
108
+ onEdit();
109
+ },
110
+ onKeyDown: (e)=>{
111
+ if (e.key === 'Enter' && onEdit) {
112
+ e.preventDefault();
113
+ onEdit();
114
+ }
115
+ },
116
+ dragHandleRender: props.renderDragHandle,
117
+ withDragHandle: !!props.renderDragHandle,
118
+ actions: [
119
+ (0, _AssetCardActions.renderActions)({
120
+ entityFile,
121
+ isDisabled: isDisabled,
122
+ onEdit,
123
+ onRemove
124
+ }),
125
+ entityFile ? (0, _AssetCardActions.renderAssetInfo)({
126
+ entityFile
127
+ }) : null
128
+ ].filter((item)=>item)
129
+ });
130
+ };
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ SingleMediaEditor: function() {
13
+ return _SingleMediaEditor.SingleMediaEditor;
14
+ },
15
+ MultipleMediaEditor: function() {
16
+ return _MultipleMediaEditor.MultipleMediaEditor;
17
+ },
18
+ WrappedAssetCard: function() {
19
+ return _WrappedAssetCard.WrappedAssetCard;
20
+ }
21
+ });
22
+ const _SingleMediaEditor = require("./SingleMediaEditor");
23
+ const _MultipleMediaEditor = require("./MultipleMediaEditor");
24
+ const _WrappedAssetCard = require("./WrappedAssetCard/WrappedAssetCard");