@comet/cms-admin 8.22.0 → 8.23.1

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 (52) hide show
  1. package/lib/blocks/PixelImageBlock.d.ts.map +1 -1
  2. package/lib/blocks/PixelImageBlock.fragment.d.ts +2 -0
  3. package/lib/blocks/PixelImageBlock.fragment.d.ts.map +1 -0
  4. package/lib/blocks/PixelImageBlock.fragment.generated.d.ts +20 -0
  5. package/lib/blocks/PixelImageBlock.fragment.generated.d.ts.map +1 -0
  6. package/lib/blocks/PixelImageBlock.fragment.generated.js +11 -0
  7. package/lib/blocks/PixelImageBlock.fragment.js +10 -0
  8. package/lib/blocks/PixelImageBlock.js +3 -2
  9. package/lib/dam/DamTable.d.ts +8 -1
  10. package/lib/dam/DamTable.d.ts.map +1 -1
  11. package/lib/dam/DamTable.js +5 -1
  12. package/lib/dam/DataGrid/FolderDataGrid.d.ts +1 -1
  13. package/lib/dam/DataGrid/FolderDataGrid.d.ts.map +1 -1
  14. package/lib/dam/DataGrid/FolderDataGrid.js +53 -41
  15. package/lib/dam/DataGrid/selection/DamMoreActions.d.ts +2 -1
  16. package/lib/dam/DataGrid/selection/DamMoreActions.d.ts.map +1 -1
  17. package/lib/dam/DataGrid/selection/DamMoreActions.js +4 -3
  18. package/lib/dam/DataGrid/selection/DamSelectionContext.d.ts +7 -4
  19. package/lib/dam/DataGrid/selection/DamSelectionContext.d.ts.map +1 -1
  20. package/lib/dam/DataGrid/selection/DamSelectionContext.js +11 -3
  21. package/lib/form/file/FileField.d.ts +17 -14
  22. package/lib/form/file/FileField.d.ts.map +1 -1
  23. package/lib/form/file/FileField.gql.d.ts +2 -0
  24. package/lib/form/file/FileField.gql.d.ts.map +1 -1
  25. package/lib/form/file/FileField.gql.generated.d.ts +40 -0
  26. package/lib/form/file/FileField.gql.generated.d.ts.map +1 -1
  27. package/lib/form/file/FileField.gql.generated.js +2 -1
  28. package/lib/form/file/FileField.gql.js +7 -4
  29. package/lib/form/file/FileField.js +170 -83
  30. package/lib/form/file/FileFieldMenu.d.ts +17 -0
  31. package/lib/form/file/FileFieldMenu.d.ts.map +1 -0
  32. package/lib/form/file/FileFieldMenu.js +97 -0
  33. package/lib/form/file/FileFieldRow.d.ts +12 -0
  34. package/lib/form/file/FileFieldRow.d.ts.map +1 -0
  35. package/lib/form/file/FileFieldRow.js +102 -0
  36. package/lib/form/file/chooseFile/BaseChooseDamFileDialog.d.ts +20 -0
  37. package/lib/form/file/chooseFile/BaseChooseDamFileDialog.d.ts.map +1 -0
  38. package/lib/form/file/chooseFile/BaseChooseDamFileDialog.js +113 -0
  39. package/lib/form/file/chooseFile/{ChooseFileDialog.d.ts → ChooseDamFileDialog.d.ts} +2 -2
  40. package/lib/form/file/chooseFile/ChooseDamFileDialog.d.ts.map +1 -0
  41. package/lib/form/file/chooseFile/ChooseDamFileDialog.js +70 -0
  42. package/lib/form/file/chooseFile/ChooseDamFilesDialog.d.ts +9 -0
  43. package/lib/form/file/chooseFile/ChooseDamFilesDialog.d.ts.map +1 -0
  44. package/lib/form/file/chooseFile/ChooseDamFilesDialog.js +124 -0
  45. package/lib/graphql.generated.d.ts +1 -0
  46. package/lib/graphql.generated.d.ts.map +1 -1
  47. package/lib/index.d.ts +6 -2
  48. package/lib/index.d.ts.map +1 -1
  49. package/lib/index.js +24 -2
  50. package/package.json +8 -8
  51. package/lib/form/file/chooseFile/ChooseFileDialog.d.ts.map +0 -1
  52. package/lib/form/file/chooseFile/ChooseFileDialog.js +0 -122
@@ -2,6 +2,7 @@ import * as Types from '../../graphql.generated';
2
2
  export declare const namedOperations: {
3
3
  Query: {
4
4
  DamFileFieldFile: string;
5
+ DamFileFieldFilesByIds: string;
5
6
  };
6
7
  Fragment: {
7
8
  DamFileFieldFile: string;
@@ -22,6 +23,7 @@ export type GQLDamFileFieldFileFragment = {
22
23
  __typename?: 'DamFileImage';
23
24
  width: number;
24
25
  height: number;
26
+ thumbnailUrl: string | null;
25
27
  cropArea: {
26
28
  __typename?: 'ImageCropArea';
27
29
  focalPoint: Types.GQLFocalPoint;
@@ -52,6 +54,7 @@ export type GQLDamFileFieldFileQuery = {
52
54
  __typename?: 'DamFileImage';
53
55
  width: number;
54
56
  height: number;
57
+ thumbnailUrl: string | null;
55
58
  cropArea: {
56
59
  __typename?: 'ImageCropArea';
57
60
  focalPoint: Types.GQLFocalPoint;
@@ -63,4 +66,41 @@ export type GQLDamFileFieldFileQuery = {
63
66
  } | null;
64
67
  };
65
68
  };
69
+ export type GQLDamFileFieldFilesByIdsQueryVariables = Types.Exact<{
70
+ ids: Array<Types.Scalars['ID']['input']> | Types.Scalars['ID']['input'];
71
+ limit: Types.Scalars['Int']['input'];
72
+ scope: Types.GQLDamScopeInput;
73
+ }>;
74
+ export type GQLDamFileFieldFilesByIdsQuery = {
75
+ __typename?: 'Query';
76
+ damFilesList: {
77
+ __typename?: 'PaginatedDamFiles';
78
+ nodes: Array<{
79
+ __typename?: 'DamFile';
80
+ id: string;
81
+ name: string;
82
+ size: number;
83
+ mimetype: string;
84
+ contentHash: string;
85
+ title: string | null;
86
+ altText: string | null;
87
+ archived: boolean;
88
+ fileUrl: string;
89
+ image: {
90
+ __typename?: 'DamFileImage';
91
+ width: number;
92
+ height: number;
93
+ thumbnailUrl: string | null;
94
+ cropArea: {
95
+ __typename?: 'ImageCropArea';
96
+ focalPoint: Types.GQLFocalPoint;
97
+ width: number | null;
98
+ height: number | null;
99
+ x: number | null;
100
+ y: number | null;
101
+ };
102
+ } | null;
103
+ }>;
104
+ };
105
+ };
66
106
  //# sourceMappingURL=FileField.gql.generated.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileField.gql.generated.d.ts","sourceRoot":"","sources":["../../../src/form/file/FileField.gql.generated.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AAEjD,eAAO,MAAM,eAAe;;;;;;;CAO3B,CAAA;AACD,MAAM,MAAM,2BAA2B,GAAG;IAAE,UAAU,CAAC,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;QAAE,UAAU,CAAC,EAAE,cAAc,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE;YAAE,UAAU,CAAC,EAAE,eAAe,CAAC;YAAC,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;YAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAA;KAAE,GAAG,IAAI,CAAA;CAAE,CAAC;AAEld,MAAM,MAAM,iCAAiC,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1D,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;CAClC,CAAC,CAAC;AAGH,MAAM,MAAM,wBAAwB,GAAG;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE;QAAE,UAAU,CAAC,EAAE,SAAS,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE;YAAE,UAAU,CAAC,EAAE,cAAc,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE;gBAAE,UAAU,CAAC,EAAE,eAAe,CAAC;gBAAC,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;gBAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;gBAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;gBAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;aAAE,CAAA;SAAE,GAAG,IAAI,CAAA;KAAE,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"FileField.gql.generated.d.ts","sourceRoot":"","sources":["../../../src/form/file/FileField.gql.generated.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AAEjD,eAAO,MAAM,eAAe;;;;;;;;CAQ3B,CAAA;AACD,MAAM,MAAM,2BAA2B,GAAG;IAAE,UAAU,CAAC,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;QAAE,UAAU,CAAC,EAAE,cAAc,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE;YAAE,UAAU,CAAC,EAAE,eAAe,CAAC;YAAC,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;YAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAA;KAAE,GAAG,IAAI,CAAA;CAAE,CAAC;AAE/e,MAAM,MAAM,iCAAiC,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1D,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;CAClC,CAAC,CAAC;AAGH,MAAM,MAAM,wBAAwB,GAAG;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE;QAAE,UAAU,CAAC,EAAE,SAAS,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE;YAAE,UAAU,CAAC,EAAE,cAAc,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,QAAQ,EAAE;gBAAE,UAAU,CAAC,EAAE,eAAe,CAAC;gBAAC,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;gBAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;gBAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;gBAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;gBAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;aAAE,CAAA;SAAE,GAAG,IAAI,CAAA;KAAE,CAAA;CAAE,CAAC;AAE/gB,MAAM,MAAM,uCAAuC,GAAG,KAAK,CAAC,KAAK,CAAC;IAChE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;IACxE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;IACrC,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC;CAC/B,CAAC,CAAC;AAGH,MAAM,MAAM,8BAA8B,GAAG;IAAE,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE;QAAE,UAAU,CAAC,EAAE,mBAAmB,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;YAAE,UAAU,CAAC,EAAE,SAAS,CAAC;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,QAAQ,EAAE,OAAO,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE;gBAAE,UAAU,CAAC,EAAE,cAAc,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAC;gBAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;gBAAC,QAAQ,EAAE;oBAAE,UAAU,CAAC,EAAE,eAAe,CAAC;oBAAC,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC;oBAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;oBAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;oBAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;oBAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;iBAAE,CAAA;aAAE,GAAG,IAAI,CAAA;SAAE,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC"}
@@ -6,7 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.namedOperations = void 0;
7
7
  var namedOperations = exports.namedOperations = {
8
8
  Query: {
9
- DamFileFieldFile: 'DamFileFieldFile'
9
+ DamFileFieldFile: 'DamFileFieldFile',
10
+ DamFileFieldFilesByIds: 'DamFileFieldFilesByIds'
10
11
  },
11
12
  Fragment: {
12
13
  DamFileFieldFile: 'DamFileFieldFile'
@@ -3,9 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.damFileFieldFileQuery = void 0;
6
+ exports.damFileFieldFragment = exports.damFileFieldFilesByIdsQuery = exports.damFileFieldFileQuery = void 0;
7
7
  var _client = require("@apollo/client");
8
- var _templateObject, _templateObject2;
8
+ var _PixelImageBlock = require("../../blocks/PixelImageBlock.fragment");
9
+ var _DamThumbnail = require("../../dam/DataGrid/thumbnail/DamThumbnail");
10
+ var _templateObject, _templateObject2, _templateObject3;
9
11
  function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
10
- var damFileFieldFragment = (0, _client.gql)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n fragment DamFileFieldFile on DamFile {\n id\n name\n size\n mimetype\n contentHash\n title\n altText\n archived\n image {\n width\n height\n cropArea {\n focalPoint\n width\n height\n x\n y\n }\n }\n fileUrl\n }\n"])));
11
- var damFileFieldFileQuery = exports.damFileFieldFileQuery = (0, _client.gql)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n query DamFileFieldFile($id: ID!) {\n damFile(id: $id) {\n ...DamFileFieldFile\n }\n }\n ", "\n"])), damFileFieldFragment);
12
+ var damFileFieldFragment = exports.damFileFieldFragment = (0, _client.gql)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n fragment DamFileFieldFile on DamFile {\n id\n name\n size\n mimetype\n contentHash\n title\n altText\n archived\n image {\n ...DamFileThumbnail\n ...PixelImageBlockImage\n }\n fileUrl\n }\n ", "\n ", "\n"])), _DamThumbnail.damFileThumbnailFragment, _PixelImageBlock.pixelImageBlockFragment);
13
+ var damFileFieldFileQuery = exports.damFileFieldFileQuery = (0, _client.gql)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n query DamFileFieldFile($id: ID!) {\n damFile(id: $id) {\n ...DamFileFieldFile\n }\n }\n ", "\n"])), damFileFieldFragment);
14
+ var damFileFieldFilesByIdsQuery = exports.damFileFieldFilesByIdsQuery = (0, _client.gql)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n query DamFileFieldFilesByIds($ids: [ID!]!, $limit: Int!, $scope: DamScopeInput!) {\n damFilesList(filter: { ids: $ids }, limit: $limit, includeArchived: true, scope: $scope) {\n nodes {\n ...DamFileFieldFile\n }\n }\n }\n ", "\n"])), damFileFieldFragment);
@@ -1,31 +1,31 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports.FileField = void 0;
6
+ exports.FileField = FileField;
8
7
  var _client = require("@apollo/client");
8
+ var _admin = require("@comet/admin");
9
9
  var _adminIcons = require("@comet/admin-icons");
10
10
  var _material = require("@mui/material");
11
11
  var _react = require("react");
12
12
  var _reactIntl = require("react-intl");
13
13
  var _BlockAdminComponentButton = require("../../blocks/common/BlockAdminComponentButton");
14
14
  var _BlockAdminComponentPaper = require("../../blocks/common/BlockAdminComponentPaper");
15
- var _Provider = require("../../contentScope/Provider");
16
- var _dependenciesConfig = require("../../dependencies/dependenciesConfig");
17
- var _ChooseFileDialog = require("./chooseFile/ChooseFileDialog");
15
+ var _DamScopeProvider = require("../../dam/config/DamScopeProvider");
16
+ var _useDamScope = require("../../dam/config/useDamScope");
17
+ var _ChooseDamFileDialog = require("./chooseFile/ChooseDamFileDialog");
18
+ var _ChooseDamFilesDialog = require("./chooseFile/ChooseDamFilesDialog");
18
19
  var _DamPathLazy = require("./DamPathLazy");
19
20
  var _FileField = require("./FileField.gql");
21
+ var _FileFieldMenu = require("./FileFieldMenu");
22
+ var _FileFieldRow = require("./FileFieldRow");
20
23
  var _jsxRuntime = require("react/jsx-runtime");
21
- var _excluded = ["label", "icon"];
22
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
25
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
26
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
27
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
28
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
24
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
25
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
26
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
27
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
28
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
29
29
  function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
30
30
  function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
31
31
  function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
@@ -36,7 +36,22 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
36
36
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
37
37
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
38
38
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
39
- var FileField = exports.FileField = function FileField(_ref) {
39
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
40
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
41
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
42
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
43
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
44
+ function FileField(props) {
45
+ var _props$input;
46
+ // `react-final-form`'s `<Field>` strips `multiple` from the component's top-level props
47
+ // and puts it on `input.multiple`, so we have to check both locations.
48
+ var isMultiple = Boolean(props.multiple) || Boolean((_props$input = props.input) === null || _props$input === void 0 ? void 0 : _props$input.multiple);
49
+ if (isMultiple) {
50
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(MultiFileField, _objectSpread({}, props));
51
+ }
52
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(SingleFileField, _objectSpread({}, props));
53
+ }
54
+ var SingleFileField = function SingleFileField(_ref) {
40
55
  var buttonText = _ref.buttonText,
41
56
  input = _ref.input,
42
57
  allowedMimetypes = _ref.allowedMimetypes,
@@ -46,21 +61,14 @@ var FileField = exports.FileField = function FileField(_ref) {
46
61
  _useState2 = _slicedToArray(_useState, 2),
47
62
  chooseFileDialogOpen = _useState2[0],
48
63
  setChooseFileDialogOpen = _useState2[1];
49
- var client = (0, _client.useApolloClient)();
50
64
  var _useState3 = (0, _react.useState)(null),
51
65
  _useState4 = _slicedToArray(_useState3, 2),
52
66
  anchorEl = _useState4[0],
53
67
  setAnchorEl = _useState4[1];
54
- var contentScope = (0, _Provider.useContentScope)();
55
68
  var apolloClient = (0, _client.useApolloClient)();
56
- var _useDependenciesConfi = (0, _dependenciesConfig.useDependenciesConfig)(),
57
- entityDependencyMap = _useDependenciesConfi.entityDependencyMap;
58
- var handleMenuClose = function handleMenuClose() {
59
- setAnchorEl(null);
60
- };
69
+ var showMenu = (0, _FileFieldMenu.useHasFileFieldMenu)(menuActions);
61
70
  var damFile = input.value;
62
71
  if (damFile) {
63
- var showMenu = Boolean(entityDependencyMap["DamFile"]) || menuActions !== undefined && menuActions.length > 0;
64
72
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
65
73
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_BlockAdminComponentPaper.BlockAdminComponentPaper, {
66
74
  disablePadding: true,
@@ -108,56 +116,14 @@ var FileField = exports.FileField = function FileField(_ref) {
108
116
  defaultMessage: "Empty"
109
117
  })
110
118
  })]
111
- }), showMenu && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Menu, {
119
+ }), showMenu && /*#__PURE__*/(0, _jsxRuntime.jsx)(_FileFieldMenu.FileFieldMenu, {
120
+ fileId: damFile.id,
112
121
  anchorEl: anchorEl,
113
- keepMounted: true,
114
- open: Boolean(anchorEl),
115
- onClose: handleMenuClose,
116
- children: [entityDependencyMap["DamFile"] && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.MenuItem, {
117
- onClick: /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
118
- var path, url;
119
- return _regenerator().w(function (_context) {
120
- while (1) switch (_context.n) {
121
- case 0:
122
- _context.n = 1;
123
- return entityDependencyMap["DamFile"].resolvePath({
124
- apolloClient: apolloClient,
125
- id: damFile.id
126
- });
127
- case 1:
128
- path = _context.v;
129
- url = contentScope.match.url + path;
130
- window.open(url, "_blank");
131
- case 2:
132
- return _context.a(2);
133
- }
134
- }, _callee);
135
- })),
136
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemIcon, {
137
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_adminIcons.OpenNewTab, {})
138
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemText, {
139
- primary: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
140
- id: "comet.form.file.openInDam",
141
- defaultMessage: "Open in DAM"
142
- })
143
- })]
144
- }), menuActions && menuActions.map(function (item, index) {
145
- if (!item) return null;
146
- if (/*#__PURE__*/(0, _react.isValidElement)(item)) {
147
- return item;
148
- }
149
- var _ref3 = item,
150
- label = _ref3.label,
151
- icon = _ref3.icon,
152
- rest = _objectWithoutProperties(_ref3, _excluded);
153
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.MenuItem, _objectSpread(_objectSpread({}, rest), {}, {
154
- children: [!!icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemIcon, {
155
- children: icon
156
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemText, {
157
- primary: label
158
- })]
159
- }), index);
160
- })]
122
+ onClose: function onClose() {
123
+ return setAnchorEl(null);
124
+ },
125
+ menuActions: menuActions,
126
+ keepMounted: true
161
127
  })]
162
128
  });
163
129
  }
@@ -172,39 +138,160 @@ var FileField = exports.FileField = function FileField(_ref) {
172
138
  id: "comet.form.file.chooseFile",
173
139
  defaultMessage: "Choose file"
174
140
  })
175
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChooseFileDialog.ChooseFileDialog, {
141
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChooseDamFileDialog.ChooseDamFileDialog, {
176
142
  open: chooseFileDialogOpen,
177
143
  allowedMimetypes: allowedMimetypes,
178
144
  onClose: function onClose() {
179
145
  return setChooseFileDialogOpen(false);
180
146
  },
181
147
  onChooseFile: (/*#__PURE__*/function () {
182
- var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(fileId) {
183
- var _yield$client$query, data;
184
- return _regenerator().w(function (_context2) {
185
- while (1) switch (_context2.n) {
148
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(fileId) {
149
+ var _yield$apolloClient$q, data;
150
+ return _regenerator().w(function (_context) {
151
+ while (1) switch (_context.n) {
186
152
  case 0:
187
153
  setChooseFileDialogOpen(false);
188
- _context2.n = 1;
189
- return client.query({
154
+ _context.n = 1;
155
+ return apolloClient.query({
190
156
  query: _FileField.damFileFieldFileQuery,
191
157
  variables: {
192
158
  id: fileId
193
159
  }
194
160
  });
195
161
  case 1:
196
- _yield$client$query = _context2.v;
197
- data = _yield$client$query.data;
162
+ _yield$apolloClient$q = _context.v;
163
+ data = _yield$apolloClient$q.data;
198
164
  input.onChange(data.damFile);
199
165
  case 2:
200
- return _context2.a(2);
166
+ return _context.a(2);
201
167
  }
202
- }, _callee2);
168
+ }, _callee);
203
169
  }));
204
170
  return function (_x) {
205
- return _ref4.apply(this, arguments);
171
+ return _ref2.apply(this, arguments);
206
172
  };
207
173
  }())
208
174
  })]
209
175
  });
176
+ };
177
+ var MultiFileField = function MultiFileField(props) {
178
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DamScopeProvider.DamScopeProvider, {
179
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(MultiFileFieldInner, _objectSpread({}, props))
180
+ });
181
+ };
182
+ var MultiFileFieldInner = function MultiFileFieldInner(_ref3) {
183
+ var buttonText = _ref3.buttonText,
184
+ input = _ref3.input,
185
+ allowedMimetypes = _ref3.allowedMimetypes,
186
+ preview = _ref3.preview,
187
+ menuActions = _ref3.menuActions;
188
+ var _useState5 = (0, _react.useState)(false),
189
+ _useState6 = _slicedToArray(_useState5, 2),
190
+ dialogOpen = _useState6[0],
191
+ setDialogOpen = _useState6[1];
192
+ var apolloClient = (0, _client.useApolloClient)();
193
+ var snackbarApi = (0, _admin.useSnackbarApi)();
194
+ var damScope = (0, _useDamScope.useDamScope)();
195
+
196
+ // react-final-form may pass "" as the default when no initial value is set; fall back to [].
197
+ var files = Array.isArray(input.value) ? input.value : [];
198
+ var handleRemove = function handleRemove(id) {
199
+ input.onChange(files.filter(function (f) {
200
+ return f.id !== id;
201
+ }));
202
+ };
203
+ var handleConfirm = /*#__PURE__*/function () {
204
+ var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(fileIds) {
205
+ var _yield$apolloClient$q2, data, sortedFiles, _t;
206
+ return _regenerator().w(function (_context2) {
207
+ while (1) switch (_context2.p = _context2.n) {
208
+ case 0:
209
+ _context2.p = 0;
210
+ _context2.n = 1;
211
+ return apolloClient.query({
212
+ query: _FileField.damFileFieldFilesByIdsQuery,
213
+ variables: {
214
+ ids: fileIds,
215
+ limit: fileIds.length,
216
+ scope: damScope
217
+ }
218
+ });
219
+ case 1:
220
+ _yield$apolloClient$q2 = _context2.v;
221
+ data = _yield$apolloClient$q2.data;
222
+ sortedFiles = _toConsumableArray(data.damFilesList.nodes).sort(function (a, b) {
223
+ return fileIds.indexOf(a.id) - fileIds.indexOf(b.id);
224
+ });
225
+ input.onChange(sortedFiles);
226
+ setDialogOpen(false);
227
+ _context2.n = 3;
228
+ break;
229
+ case 2:
230
+ _context2.p = 2;
231
+ _t = _context2.v;
232
+ snackbarApi.showSnackbar(/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Snackbar, {
233
+ autoHideDuration: 5000,
234
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_admin.Alert, {
235
+ severity: "error",
236
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
237
+ id: "comet.form.file.failedToLoadSelection",
238
+ defaultMessage: "Failed to load selected files. Please try again."
239
+ })
240
+ })
241
+ }));
242
+ case 3:
243
+ return _context2.a(2);
244
+ }
245
+ }, _callee2, null, [[0, 2]]);
246
+ }));
247
+ return function handleConfirm(_x2) {
248
+ return _ref4.apply(this, arguments);
249
+ };
250
+ }();
251
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
252
+ children: [files.length === 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_BlockAdminComponentButton.BlockAdminComponentButton, {
253
+ onClick: function onClick() {
254
+ return setDialogOpen(true);
255
+ },
256
+ startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_adminIcons.Assets, {}),
257
+ size: "large",
258
+ children: buttonText !== null && buttonText !== void 0 ? buttonText : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
259
+ id: "comet.form.file.chooseFiles",
260
+ defaultMessage: "Choose files"
261
+ })
262
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_BlockAdminComponentPaper.BlockAdminComponentPaper, {
263
+ disablePadding: true,
264
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.List, {
265
+ disablePadding: true,
266
+ children: files.map(function (file) {
267
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_FileFieldRow.FileFieldRow, {
268
+ file: file,
269
+ onRemove: function onRemove() {
270
+ return handleRemove(file.id);
271
+ },
272
+ preview: preview,
273
+ menuActions: menuActions
274
+ }, file.id);
275
+ })
276
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Divider, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_BlockAdminComponentButton.BlockAdminComponentButton, {
277
+ startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_adminIcons.Assets, {}),
278
+ onClick: function onClick() {
279
+ return setDialogOpen(true);
280
+ },
281
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
282
+ id: "comet.form.file.changeSelectedFiles",
283
+ defaultMessage: "Change selected files"
284
+ })
285
+ })]
286
+ }), dialogOpen && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChooseDamFilesDialog.ChooseDamFilesDialog, {
287
+ allowedMimetypes: allowedMimetypes,
288
+ initialFileIds: files.map(function (f) {
289
+ return f.id;
290
+ }),
291
+ onClose: function onClose() {
292
+ return setDialogOpen(false);
293
+ },
294
+ onConfirm: handleConfirm
295
+ })]
296
+ });
210
297
  };
@@ -0,0 +1,17 @@
1
+ import { MenuItem } from "@mui/material";
2
+ import { type ComponentProps, type ReactElement, type ReactNode } from "react";
3
+ export interface ActionItem extends ComponentProps<typeof MenuItem> {
4
+ label: ReactNode;
5
+ icon?: ReactNode;
6
+ }
7
+ interface FileFieldMenuProps {
8
+ fileId: string;
9
+ anchorEl: HTMLElement | null;
10
+ onClose: () => void;
11
+ menuActions?: Array<ActionItem | ReactElement | null | undefined>;
12
+ keepMounted?: boolean;
13
+ }
14
+ export declare const FileFieldMenu: ({ fileId, anchorEl, onClose, menuActions, keepMounted }: FileFieldMenuProps) => import("react/jsx-runtime").JSX.Element;
15
+ export declare const useHasFileFieldMenu: (menuActions: FileFieldMenuProps["menuActions"]) => boolean;
16
+ export {};
17
+ //# sourceMappingURL=FileFieldMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileFieldMenu.d.ts","sourceRoot":"","sources":["../../../src/form/file/FileFieldMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAoC,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,KAAK,cAAc,EAAkB,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAM/F,MAAM,WAAW,UAAW,SAAQ,cAAc,CAAC,OAAO,QAAQ,CAAC;IAC/D,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,UAAU,kBAAkB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAClE,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,aAAa,GAAI,yDAAyD,kBAAkB,4CAuCxG,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,aAAa,kBAAkB,CAAC,aAAa,CAAC,KAAG,OAGpF,CAAC"}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useHasFileFieldMenu = exports.FileFieldMenu = void 0;
8
+ var _client = require("@apollo/client");
9
+ var _adminIcons = require("@comet/admin-icons");
10
+ var _material = require("@mui/material");
11
+ var _react = require("react");
12
+ var _reactIntl = require("react-intl");
13
+ var _Provider = require("../../contentScope/Provider");
14
+ var _dependenciesConfig = require("../../dependencies/dependenciesConfig");
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ var _excluded = ["label", "icon"];
17
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
20
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
21
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
22
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
23
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
24
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
25
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
26
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
27
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
28
+ var FileFieldMenu = exports.FileFieldMenu = function FileFieldMenu(_ref) {
29
+ var fileId = _ref.fileId,
30
+ anchorEl = _ref.anchorEl,
31
+ onClose = _ref.onClose,
32
+ menuActions = _ref.menuActions,
33
+ keepMounted = _ref.keepMounted;
34
+ var contentScope = (0, _Provider.useContentScope)();
35
+ var apolloClient = (0, _client.useApolloClient)();
36
+ var _useDependenciesConfi = (0, _dependenciesConfig.useDependenciesConfig)(),
37
+ entityDependencyMap = _useDependenciesConfi.entityDependencyMap;
38
+ var damDependency = entityDependencyMap["DamFile"];
39
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Menu, {
40
+ anchorEl: anchorEl,
41
+ keepMounted: keepMounted,
42
+ open: Boolean(anchorEl),
43
+ onClose: onClose,
44
+ children: [damDependency && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.MenuItem, {
45
+ onClick: /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
46
+ var path;
47
+ return _regenerator().w(function (_context) {
48
+ while (1) switch (_context.n) {
49
+ case 0:
50
+ onClose();
51
+ _context.n = 1;
52
+ return damDependency.resolvePath({
53
+ apolloClient: apolloClient,
54
+ id: fileId
55
+ });
56
+ case 1:
57
+ path = _context.v;
58
+ window.open(contentScope.match.url + path, "_blank");
59
+ case 2:
60
+ return _context.a(2);
61
+ }
62
+ }, _callee);
63
+ })),
64
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemIcon, {
65
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_adminIcons.OpenNewTab, {})
66
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemText, {
67
+ primary: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
68
+ id: "comet.form.file.openInDam",
69
+ defaultMessage: "Open in DAM"
70
+ })
71
+ })]
72
+ }), menuActions === null || menuActions === void 0 ? void 0 : menuActions.map(function (item, index) {
73
+ if (!item) {
74
+ return null;
75
+ }
76
+ if (/*#__PURE__*/(0, _react.isValidElement)(item)) {
77
+ return item;
78
+ }
79
+ var _ref3 = item,
80
+ label = _ref3.label,
81
+ icon = _ref3.icon,
82
+ rest = _objectWithoutProperties(_ref3, _excluded);
83
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.MenuItem, _objectSpread(_objectSpread({}, rest), {}, {
84
+ children: [!!icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemIcon, {
85
+ children: icon
86
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.ListItemText, {
87
+ primary: label
88
+ })]
89
+ }), index);
90
+ })]
91
+ });
92
+ };
93
+ var useHasFileFieldMenu = exports.useHasFileFieldMenu = function useHasFileFieldMenu(menuActions) {
94
+ var _useDependenciesConfi2 = (0, _dependenciesConfig.useDependenciesConfig)(),
95
+ entityDependencyMap = _useDependenciesConfi2.entityDependencyMap;
96
+ return Boolean(entityDependencyMap["DamFile"]) || menuActions !== undefined && menuActions.length > 0;
97
+ };
@@ -0,0 +1,12 @@
1
+ import { type ReactElement, type ReactNode } from "react";
2
+ import type { GQLDamFileFieldFileFragment } from "./FileField.gql.generated";
3
+ import { type ActionItem } from "./FileFieldMenu";
4
+ interface FileFieldRowProps {
5
+ file: GQLDamFileFieldFileFragment;
6
+ onRemove: () => void;
7
+ preview?: (file: GQLDamFileFieldFileFragment) => ReactNode;
8
+ menuActions?: Array<ActionItem | ReactElement | null | undefined>;
9
+ }
10
+ export declare const FileFieldRow: ({ file, onRemove, preview, menuActions }: FileFieldRowProps) => import("react/jsx-runtime").JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=FileFieldRow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileFieldRow.d.ts","sourceRoot":"","sources":["../../../src/form/file/FileFieldRow.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA0B,KAAK,YAAY,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAK5F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,KAAK,UAAU,EAAsC,MAAM,iBAAiB,CAAC;AAEtF,UAAU,iBAAiB;IACvB,IAAI,EAAE,2BAA2B,CAAC;IAClC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,2BAA2B,KAAK,SAAS,CAAC;IAC3D,WAAW,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;CACrE;AAED,eAAO,MAAM,YAAY,GAAI,0CAA0C,iBAAiB,4CA6CvF,CAAC"}