@sentecacommerce-theme/lib 0.12.52 → 0.12.53

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 (85) hide show
  1. package/dist/cjs/cms/api/index.js +8 -0
  2. package/dist/cjs/cms/api/index.js.map +1 -1
  3. package/dist/cjs/cms/api/mutations/index.js +28 -0
  4. package/dist/cjs/cms/api/mutations/index.js.map +1 -0
  5. package/dist/cjs/cms/api/mutations/useCMSFoldersCreateMutation.js +59 -0
  6. package/dist/cjs/cms/api/mutations/useCMSFoldersCreateMutation.js.map +1 -0
  7. package/dist/cjs/cms/api/mutations/useCMSMediaDeleteAssetsMutation.js +51 -0
  8. package/dist/cjs/cms/api/mutations/useCMSMediaDeleteAssetsMutation.js.map +1 -0
  9. package/dist/cjs/cms/api/mutations/useCMSMediaUploadAssetsMutation.js +57 -0
  10. package/dist/cjs/cms/api/mutations/useCMSMediaUploadAssetsMutation.js.map +1 -0
  11. package/dist/cjs/cms/api/queries/index.js +16 -0
  12. package/dist/cjs/cms/api/queries/index.js.map +1 -1
  13. package/dist/cjs/cms/api/queries/useCMSFoldersQuery.js +40 -0
  14. package/dist/cjs/cms/api/queries/useCMSFoldersQuery.js.map +1 -0
  15. package/dist/cjs/cms/api/queries/useCMSMediaQuery.js +44 -0
  16. package/dist/cjs/cms/api/queries/useCMSMediaQuery.js.map +1 -0
  17. package/dist/cjs/cms/api/utils/cacheKeys.js +10 -0
  18. package/dist/cjs/cms/api/utils/cacheKeys.js.map +1 -0
  19. package/dist/cjs/cms/api/utils/index.js +12 -0
  20. package/dist/cjs/cms/api/utils/index.js.map +1 -0
  21. package/dist/cjs/cms/hooks/index.js +40 -0
  22. package/dist/cjs/cms/hooks/index.js.map +1 -1
  23. package/dist/cjs/cms/hooks/useCmsFolders.js +8 -0
  24. package/dist/cjs/cms/hooks/useCmsFolders.js.map +1 -0
  25. package/dist/cjs/cms/hooks/useCmsMedia.js +8 -0
  26. package/dist/cjs/cms/hooks/useCmsMedia.js.map +1 -0
  27. package/dist/cjs/cms/hooks/useCmsMediaDeleteAssets.js +8 -0
  28. package/dist/cjs/cms/hooks/useCmsMediaDeleteAssets.js.map +1 -0
  29. package/dist/cjs/cms/hooks/useCmsMediaUploadAssets.js +8 -0
  30. package/dist/cjs/cms/hooks/useCmsMediaUploadAssets.js.map +1 -0
  31. package/dist/cjs/cms/hooks/useCreateCmsFolders.js +8 -0
  32. package/dist/cjs/cms/hooks/useCreateCmsFolders.js.map +1 -0
  33. package/dist/cjs/listing/hooks/useListingBreadcrumbs.js +1 -1
  34. package/dist/cjs/listing/hooks/useListingBreadcrumbs.js.map +1 -1
  35. package/dist/esm/cms/api/index.js +1 -0
  36. package/dist/esm/cms/api/index.js.map +1 -1
  37. package/dist/esm/cms/api/mutations/index.js +4 -0
  38. package/dist/esm/cms/api/mutations/index.js.map +1 -0
  39. package/dist/esm/cms/api/mutations/useCMSFoldersCreateMutation.js +31 -0
  40. package/dist/esm/cms/api/mutations/useCMSFoldersCreateMutation.js.map +1 -0
  41. package/dist/esm/cms/api/mutations/useCMSMediaDeleteAssetsMutation.js +21 -0
  42. package/dist/esm/cms/api/mutations/useCMSMediaDeleteAssetsMutation.js.map +1 -0
  43. package/dist/esm/cms/api/mutations/useCMSMediaUploadAssetsMutation.js +26 -0
  44. package/dist/esm/cms/api/mutations/useCMSMediaUploadAssetsMutation.js.map +1 -0
  45. package/dist/esm/cms/api/queries/index.js +2 -0
  46. package/dist/esm/cms/api/queries/index.js.map +1 -1
  47. package/dist/esm/cms/api/queries/useCMSFoldersQuery.js +10 -0
  48. package/dist/esm/cms/api/queries/useCMSFoldersQuery.js.map +1 -0
  49. package/dist/esm/cms/api/queries/useCMSMediaQuery.js +13 -0
  50. package/dist/esm/cms/api/queries/useCMSMediaQuery.js.map +1 -0
  51. package/dist/esm/cms/api/utils/cacheKeys.js +5 -0
  52. package/dist/esm/cms/api/utils/cacheKeys.js.map +1 -0
  53. package/dist/esm/cms/api/utils/index.js +2 -0
  54. package/dist/esm/cms/api/utils/index.js.map +1 -0
  55. package/dist/esm/cms/hooks/index.js +5 -0
  56. package/dist/esm/cms/hooks/index.js.map +1 -1
  57. package/dist/esm/cms/hooks/useCmsFolders.js +3 -0
  58. package/dist/esm/cms/hooks/useCmsFolders.js.map +1 -0
  59. package/dist/esm/cms/hooks/useCmsMedia.js +3 -0
  60. package/dist/esm/cms/hooks/useCmsMedia.js.map +1 -0
  61. package/dist/esm/cms/hooks/useCmsMediaDeleteAssets.js +3 -0
  62. package/dist/esm/cms/hooks/useCmsMediaDeleteAssets.js.map +1 -0
  63. package/dist/esm/cms/hooks/useCmsMediaUploadAssets.js +3 -0
  64. package/dist/esm/cms/hooks/useCmsMediaUploadAssets.js.map +1 -0
  65. package/dist/esm/cms/hooks/useCreateCmsFolders.js +3 -0
  66. package/dist/esm/cms/hooks/useCreateCmsFolders.js.map +1 -0
  67. package/dist/esm/listing/hooks/useListingBreadcrumbs.js +1 -1
  68. package/dist/esm/listing/hooks/useListingBreadcrumbs.js.map +1 -1
  69. package/dist/types/cms/api/index.d.ts +1 -0
  70. package/dist/types/cms/api/mutations/index.d.ts +3 -0
  71. package/dist/types/cms/api/mutations/useCMSFoldersCreateMutation.d.ts +5 -0
  72. package/dist/types/cms/api/mutations/useCMSMediaDeleteAssetsMutation.d.ts +2 -0
  73. package/dist/types/cms/api/mutations/useCMSMediaUploadAssetsMutation.d.ts +6 -0
  74. package/dist/types/cms/api/queries/index.d.ts +2 -0
  75. package/dist/types/cms/api/queries/useCMSFoldersQuery.d.ts +16 -0
  76. package/dist/types/cms/api/queries/useCMSMediaQuery.d.ts +19 -0
  77. package/dist/types/cms/api/utils/cacheKeys.d.ts +4 -0
  78. package/dist/types/cms/api/utils/index.d.ts +1 -0
  79. package/dist/types/cms/hooks/index.d.ts +5 -0
  80. package/dist/types/cms/hooks/useCmsFolders.d.ts +2 -0
  81. package/dist/types/cms/hooks/useCmsMedia.d.ts +2 -0
  82. package/dist/types/cms/hooks/useCmsMediaDeleteAssets.d.ts +2 -0
  83. package/dist/types/cms/hooks/useCmsMediaUploadAssets.d.ts +2 -0
  84. package/dist/types/cms/hooks/useCreateCmsFolders.d.ts +2 -0
  85. package/package.json +3 -3
@@ -9,4 +9,12 @@ Object.keys(_queries).forEach(function (key) {
9
9
  if (key in exports && exports[key] === _queries[key]) return;
10
10
  exports[key] = _queries[key];
11
11
  });
12
+
13
+ var _mutations = require("./mutations");
14
+
15
+ Object.keys(_mutations).forEach(function (key) {
16
+ if (key === "default" || key === "__esModule") return;
17
+ if (key in exports && exports[key] === _mutations[key]) return;
18
+ exports[key] = _mutations[key];
19
+ });
12
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/cms/api/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './queries'"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/cms/api/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './queries'\nexport * from './mutations'\n"],"file":"index.js"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _useCMSFoldersCreateMutation = require("./useCMSFoldersCreateMutation");
6
+
7
+ Object.keys(_useCMSFoldersCreateMutation).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _useCMSFoldersCreateMutation[key]) return;
10
+ exports[key] = _useCMSFoldersCreateMutation[key];
11
+ });
12
+
13
+ var _useCMSMediaUploadAssetsMutation = require("./useCMSMediaUploadAssetsMutation");
14
+
15
+ Object.keys(_useCMSMediaUploadAssetsMutation).forEach(function (key) {
16
+ if (key === "default" || key === "__esModule") return;
17
+ if (key in exports && exports[key] === _useCMSMediaUploadAssetsMutation[key]) return;
18
+ exports[key] = _useCMSMediaUploadAssetsMutation[key];
19
+ });
20
+
21
+ var _useCMSMediaDeleteAssetsMutation = require("./useCMSMediaDeleteAssetsMutation");
22
+
23
+ Object.keys(_useCMSMediaDeleteAssetsMutation).forEach(function (key) {
24
+ if (key === "default" || key === "__esModule") return;
25
+ if (key in exports && exports[key] === _useCMSMediaDeleteAssetsMutation[key]) return;
26
+ exports[key] = _useCMSMediaDeleteAssetsMutation[key];
27
+ });
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cms/api/mutations/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './useCMSFoldersCreateMutation'\nexport * from './useCMSMediaUploadAssetsMutation'\nexport * from './useCMSMediaDeleteAssetsMutation'\n"],"file":"index.js"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.useCMSFoldersCreateMutation = void 0;
7
+
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _reactQuery = require("react-query");
15
+
16
+ var _sdk = require("@sentecacommerce/sdk");
17
+
18
+ var useCMSFoldersCreateMutation = function useCMSFoldersCreateMutation() {
19
+ return (0, _reactQuery.useMutation)( /*#__PURE__*/function () {
20
+ var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_ref) {
21
+ var parent, folder;
22
+ return _regenerator["default"].wrap(function _callee$(_context) {
23
+ while (1) {
24
+ switch (_context.prev = _context.next) {
25
+ case 0:
26
+ parent = _ref.parent, folder = _ref.folder;
27
+
28
+ if (!parent) {
29
+ _context.next = 3;
30
+ break;
31
+ }
32
+
33
+ return _context.abrupt("return", (0, _sdk.FoldersCreate)((0, _extends2["default"])({}, folder, {
34
+ parent: (0, _extends2["default"])({}, parent, {
35
+ resourceId: parent._id,
36
+ resource: parent._id,
37
+ resourceType: _sdk.IdReferenceDTOResourceTypeEnum.CmsFolder
38
+ })
39
+ })));
40
+
41
+ case 3:
42
+ return _context.abrupt("return", (0, _sdk.FoldersCreate)(folder));
43
+
44
+ case 4:
45
+ case "end":
46
+ return _context.stop();
47
+ }
48
+ }
49
+ }, _callee);
50
+ }));
51
+
52
+ return function (_x) {
53
+ return _ref2.apply(this, arguments);
54
+ };
55
+ }());
56
+ };
57
+
58
+ exports.useCMSFoldersCreateMutation = useCMSFoldersCreateMutation;
59
+ //# sourceMappingURL=useCMSFoldersCreateMutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cms/api/mutations/useCMSFoldersCreateMutation.ts"],"names":["useCMSFoldersCreateMutation","parent","folder","resourceId","_id","resource","resourceType","IdReferenceDTOResourceTypeEnum","CmsFolder"],"mappings":";;;;;;;;;;;;;AACA;;AACA;;AAOO,IAAMA,2BAA2B,GAAG,SAA9BA,2BAA8B,GAAM;AAC/C,SAAO;AAAA,8FACL;AAAA;AAAA;AAAA;AAAA;AAAA;AACEC,cAAAA,MADF,QACEA,MADF,EAEEC,MAFF,QAEEA,MAFF;;AAAA,mBAOMD,MAPN;AAAA;AAAA;AAAA;;AAAA,+CAQW,sDACFC,MADE;AAELD,gBAAAA,MAAM,gCACDA,MADC;AAEJE,kBAAAA,UAAU,EAAGF,MAAD,CAAsBG,GAF9B;AAGJC,kBAAAA,QAAQ,EAAGJ,MAAD,CAAsBG,GAH5B;AAIJE,kBAAAA,YAAY,EAAEC,oCAA+BC;AAJzC;AAFD,iBARX;;AAAA;AAAA,+CAmBS,wBAAcN,MAAd,CAnBT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KADK;;AAAA;AAAA;AAAA;AAAA,MAAP;AAuBD,CAxBM","sourcesContent":["import React from 'react'\nimport { useMutation } from 'react-query'\nimport {\n FolderDTO,\n FolderDraftDTO,\n FoldersCreate,\n IdReferenceDTOResourceTypeEnum,\n} from '@sentecacommerce/sdk'\n\nexport const useCMSFoldersCreateMutation = () => {\n return useMutation(\n async ({\n parent,\n folder,\n }: {\n parent?: FolderDraftDTO\n folder: FolderDraftDTO\n }) => {\n if (parent) {\n return FoldersCreate({\n ...folder,\n parent: {\n ...parent,\n resourceId: (parent as FolderDTO)._id,\n resource: (parent as FolderDTO)._id,\n resourceType: IdReferenceDTOResourceTypeEnum.CmsFolder,\n },\n })\n }\n\n return FoldersCreate(folder)\n }\n )\n}\n"],"file":"useCMSFoldersCreateMutation.js"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.useCMSMediaDeleteAssetsMutation = void 0;
7
+
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+
12
+ var _reactQuery = require("react-query");
13
+
14
+ var _sdk = require("@sentecacommerce/sdk");
15
+
16
+ var _utils = require("../utils");
17
+
18
+ var useCMSMediaDeleteAssetsMutation = function useCMSMediaDeleteAssetsMutation() {
19
+ var queryCache = (0, _reactQuery.useQueryCache)();
20
+ return (0, _reactQuery.useMutation)( /*#__PURE__*/function () {
21
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(dto) {
22
+ return _regenerator["default"].wrap(function _callee$(_context) {
23
+ while (1) {
24
+ switch (_context.prev = _context.next) {
25
+ case 0:
26
+ _context.next = 2;
27
+ return (0, _sdk.MediaDelete)(dto);
28
+
29
+ case 2:
30
+ return _context.abrupt("return", _context.sent);
31
+
32
+ case 3:
33
+ case "end":
34
+ return _context.stop();
35
+ }
36
+ }
37
+ }, _callee);
38
+ }));
39
+
40
+ return function (_x) {
41
+ return _ref.apply(this, arguments);
42
+ };
43
+ }(), {
44
+ onSuccess: function onSuccess(data) {
45
+ queryCache.setQueryData(_utils.cacheKeys.cmsMedia, data);
46
+ }
47
+ });
48
+ };
49
+
50
+ exports.useCMSMediaDeleteAssetsMutation = useCMSMediaDeleteAssetsMutation;
51
+ //# sourceMappingURL=useCMSMediaDeleteAssetsMutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cms/api/mutations/useCMSMediaDeleteAssetsMutation.ts"],"names":["useCMSMediaDeleteAssetsMutation","queryCache","dto","onSuccess","data","setQueryData","cacheKeys","cmsMedia"],"mappings":";;;;;;;;;;;AACA;;AACA;;AACA;;AAEO,IAAMA,+BAA+B,GAAG,SAAlCA,+BAAkC,GAAM;AACnD,MAAMC,UAAU,GAAG,gCAAnB;AAEA,SAAO;AAAA,6FAAY,iBAAOC,GAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAqC,sBAAYA,GAAZ,CAArC;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAZ;;AAAA;AAAA;AAAA;AAAA,OAAmE;AACxEC,IAAAA,SAAS,EAAE,mBAACC,IAAD,EAAU;AACnBH,MAAAA,UAAU,CAACI,YAAX,CAAwBC,iBAAUC,QAAlC,EAA4CH,IAA5C;AACD;AAHuE,GAAnE,CAAP;AAKD,CARM","sourcesContent":["import React from 'react'\nimport { useMutation, useQueryCache } from 'react-query'\nimport { MediaDelete, MediaDeleteDTO } from '@sentecacommerce/sdk'\nimport { cacheKeys } from '../utils'\n\nexport const useCMSMediaDeleteAssetsMutation = () => {\n const queryCache = useQueryCache()\n\n return useMutation(async (dto: MediaDeleteDTO) => await MediaDelete(dto), {\n onSuccess: (data) => {\n queryCache.setQueryData(cacheKeys.cmsMedia, data)\n },\n })\n}\n"],"file":"useCMSMediaDeleteAssetsMutation.js"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.useCMSMediaUploadAssetsMutation = void 0;
7
+
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+
12
+ var _reactQuery = require("react-query");
13
+
14
+ var _sdk = require("@sentecacommerce/sdk");
15
+
16
+ exports.FolderDTO = _sdk.FolderDTO;
17
+ exports.MediaDTO = _sdk.MediaDTO;
18
+ exports.MediaFilterResultDTO = _sdk.MediaFilterResultDTO;
19
+
20
+ var _utils = require("../utils");
21
+
22
+ var useCMSMediaUploadAssetsMutation = function useCMSMediaUploadAssetsMutation() {
23
+ var queryCache = (0, _reactQuery.useQueryCache)();
24
+ return (0, _reactQuery.useMutation)( /*#__PURE__*/function () {
25
+ var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_ref) {
26
+ var folderId, assets;
27
+ return _regenerator["default"].wrap(function _callee$(_context) {
28
+ while (1) {
29
+ switch (_context.prev = _context.next) {
30
+ case 0:
31
+ folderId = _ref.folderId, assets = _ref.assets;
32
+ _context.next = 3;
33
+ return (0, _sdk.MediaUploadAssets)(folderId, assets);
34
+
35
+ case 3:
36
+ return _context.abrupt("return", _context.sent);
37
+
38
+ case 4:
39
+ case "end":
40
+ return _context.stop();
41
+ }
42
+ }
43
+ }, _callee);
44
+ }));
45
+
46
+ return function (_x) {
47
+ return _ref2.apply(this, arguments);
48
+ };
49
+ }(), {
50
+ onSuccess: function onSuccess() {
51
+ queryCache.invalidateQueries(_utils.cacheKeys.cmsMedia);
52
+ }
53
+ });
54
+ };
55
+
56
+ exports.useCMSMediaUploadAssetsMutation = useCMSMediaUploadAssetsMutation;
57
+ //# sourceMappingURL=useCMSMediaUploadAssetsMutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cms/api/mutations/useCMSMediaUploadAssetsMutation.ts"],"names":["useCMSMediaUploadAssetsMutation","queryCache","folderId","assets","onSuccess","invalidateQueries","cacheKeys","cmsMedia"],"mappings":";;;;;;;;;;;AACA;;AACA;;;;;;AAMA;;AAIO,IAAMA,+BAA+B,GAAG,SAAlCA,+BAAkC,GAAM;AACnD,MAAMC,UAAU,GAAG,gCAAnB;AAEA,SAAO;AAAA,8FACL;AAAA;AAAA;AAAA;AAAA;AAAA;AAASC,cAAAA,QAAT,QAASA,QAAT,EAAmBC,MAAnB,QAAmBA,MAAnB;AAAA;AAAA,qBACQ,4BAAkBD,QAAlB,EAA4BC,MAA5B,CADR;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KADK;;AAAA;AAAA;AAAA;AAAA,OAGL;AACEC,IAAAA,SAAS,EAAE,qBAAM;AACfH,MAAAA,UAAU,CAACI,iBAAX,CAA6BC,iBAAUC,QAAvC;AACD;AAHH,GAHK,CAAP;AASD,CAZM","sourcesContent":["import React from 'react'\nimport { useMutation, useQueryCache } from 'react-query'\nimport {\n FolderDTO,\n MediaDTO,\n MediaUploadAssets,\n MediaFilterResultDTO,\n} from '@sentecacommerce/sdk'\nimport { cacheKeys } from '../utils'\n\nexport { FolderDTO, MediaDTO, MediaFilterResultDTO }\n\nexport const useCMSMediaUploadAssetsMutation = () => {\n const queryCache = useQueryCache()\n\n return useMutation(\n async ({ folderId, assets }: { folderId: string; assets: any }) =>\n await MediaUploadAssets(folderId, assets),\n {\n onSuccess: () => {\n queryCache.invalidateQueries(cacheKeys.cmsMedia)\n },\n }\n )\n}\n"],"file":"useCMSMediaUploadAssetsMutation.js"}
@@ -33,4 +33,20 @@ Object.keys(_useCMSContentQuery).forEach(function (key) {
33
33
  if (key in exports && exports[key] === _useCMSContentQuery[key]) return;
34
34
  exports[key] = _useCMSContentQuery[key];
35
35
  });
36
+
37
+ var _useCMSFoldersQuery = require("./useCMSFoldersQuery");
38
+
39
+ Object.keys(_useCMSFoldersQuery).forEach(function (key) {
40
+ if (key === "default" || key === "__esModule") return;
41
+ if (key in exports && exports[key] === _useCMSFoldersQuery[key]) return;
42
+ exports[key] = _useCMSFoldersQuery[key];
43
+ });
44
+
45
+ var _useCMSMediaQuery = require("./useCMSMediaQuery");
46
+
47
+ Object.keys(_useCMSMediaQuery).forEach(function (key) {
48
+ if (key === "default" || key === "__esModule") return;
49
+ if (key in exports && exports[key] === _useCMSMediaQuery[key]) return;
50
+ exports[key] = _useCMSMediaQuery[key];
51
+ });
36
52
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/cms/api/queries/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './useInjectedContentQuery'\nexport * from './keys'\nexport * from './useCMSContentListQuery'\nexport * from './useCMSContentQuery'"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/cms/api/queries/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './useInjectedContentQuery'\nexport * from './keys'\nexport * from './useCMSContentListQuery'\nexport * from './useCMSContentQuery'\nexport * from './useCMSFoldersQuery'\nexport * from './useCMSMediaQuery'\n"],"file":"index.js"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.useCMSFoldersQuery = void 0;
7
+
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+
12
+ var _reactQuery = require("react-query");
13
+
14
+ var _sdk = require("@sentecacommerce/sdk");
15
+
16
+ var _utils = require("../utils");
17
+
18
+ var useCMSFoldersQuery = function useCMSFoldersQuery(query) {
19
+ return (0, _reactQuery.useQuery)(_utils.cacheKeys.cmsFolders, /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
20
+ return _regenerator["default"].wrap(function _callee$(_context) {
21
+ while (1) {
22
+ switch (_context.prev = _context.next) {
23
+ case 0:
24
+ _context.next = 2;
25
+ return (0, _sdk.FoldersFilter)(query);
26
+
27
+ case 2:
28
+ return _context.abrupt("return", _context.sent);
29
+
30
+ case 3:
31
+ case "end":
32
+ return _context.stop();
33
+ }
34
+ }
35
+ }, _callee);
36
+ })));
37
+ };
38
+
39
+ exports.useCMSFoldersQuery = useCMSFoldersQuery;
40
+ //# sourceMappingURL=useCMSFoldersQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cms/api/queries/useCMSFoldersQuery.ts"],"names":["useCMSFoldersQuery","query","cacheKeys","cmsFolders"],"mappings":";;;;;;;;;;;AACA;;AACA;;AACA;;AAkBO,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,KAAD,EAAmC;AACnE,SAAO,0BAASC,iBAAUC,UAAnB,6FAA+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB,wBAAcF,KAAd,CAAlB;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAA/B,GAAP;AACD,CAFM","sourcesContent":["import React from 'react'\nimport { useQuery } from 'react-query'\nimport { FoldersFilter } from '@sentecacommerce/sdk'\nimport { cacheKeys } from '../utils'\n\nexport interface FoldersFilterQueryDTO {\n storeKey?: string\n interfaceKey?: string\n currencyCode?: string\n languageCode?: string\n priceListKey?: string\n time?: number\n merchantKey?: string\n expand?: string\n project?: string\n filter?: string\n sort?: string\n limit?: number\n offset?: number\n}\n\nexport const useCMSFoldersQuery = (query?: FoldersFilterQueryDTO) => {\n return useQuery(cacheKeys.cmsFolders, async () => await FoldersFilter(query))\n}\n"],"file":"useCMSFoldersQuery.js"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.useCMSMediaQuery = void 0;
7
+
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
14
+ var _reactQuery = require("react-query");
15
+
16
+ var _sdk = require("@sentecacommerce/sdk");
17
+
18
+ var _utils = require("../utils");
19
+
20
+ var useCMSMediaQuery = function useCMSMediaQuery(query, props) {
21
+ return (0, _reactQuery.useInfiniteQuery)(_utils.cacheKeys.cmsMedia, /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
22
+ return _regenerator["default"].wrap(function _callee$(_context) {
23
+ while (1) {
24
+ switch (_context.prev = _context.next) {
25
+ case 0:
26
+ _context.next = 2;
27
+ return (0, _sdk.MediaFilter)(query);
28
+
29
+ case 2:
30
+ return _context.abrupt("return", _context.sent);
31
+
32
+ case 3:
33
+ case "end":
34
+ return _context.stop();
35
+ }
36
+ }
37
+ }, _callee);
38
+ })), (0, _extends2["default"])({
39
+ keepPreviousData: true
40
+ }, props));
41
+ };
42
+
43
+ exports.useCMSMediaQuery = useCMSMediaQuery;
44
+ //# sourceMappingURL=useCMSMediaQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cms/api/queries/useCMSMediaQuery.ts"],"names":["useCMSMediaQuery","query","props","cacheKeys","cmsMedia","keepPreviousData"],"mappings":";;;;;;;;;;;;;AACA;;AACA;;AACA;;AAkBO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAC9BC,KAD8B,EAE9BC,KAF8B,EAM3B;AACH,SAAO,kCACLC,iBAAUC,QADL,6FAEL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB,sBAAYH,KAAZ,CAAlB;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAFK;AAIHI,IAAAA,gBAAgB,EAAE;AAJf,KAKAH,KALA,EAAP;AAQD,CAfM","sourcesContent":["import React from 'react'\nimport { useInfiniteQuery } from 'react-query'\nimport { MediaFilter } from '@sentecacommerce/sdk'\nimport { cacheKeys } from '../utils'\n\nexport interface MediaFilterQueryDTO {\n storeKey?: string\n interfaceKey?: string\n currencyCode?: string\n languageCode?: string\n priceListKey?: string\n time?: number\n merchantKey?: string\n expand?: string\n project?: string\n filter?: string\n sort?: string\n limit?: number\n offset?: number\n}\n\nexport const useCMSMediaQuery = (\n query?: MediaFilterQueryDTO,\n props?: {\n enabled?: boolean\n getFetchMore?: (lastPage: any, allPages: any[]) => void\n }\n) => {\n return useInfiniteQuery(\n cacheKeys.cmsMedia,\n async () => await MediaFilter(query),\n {\n keepPreviousData: true,\n ...props,\n }\n )\n}\n"],"file":"useCMSMediaQuery.js"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.cacheKeys = void 0;
5
+ var cacheKeys = {
6
+ cmsFolders: 'cms-folders',
7
+ cmsMedia: 'cms-media'
8
+ };
9
+ exports.cacheKeys = cacheKeys;
10
+ //# sourceMappingURL=cacheKeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cms/api/utils/cacheKeys.ts"],"names":["cacheKeys","cmsFolders","cmsMedia"],"mappings":";;;;AAAO,IAAMA,SAAS,GAAG;AACvBC,EAAAA,UAAU,EAAE,aADW;AAEvBC,EAAAA,QAAQ,EAAE;AAFa,CAAlB","sourcesContent":["export const cacheKeys = {\n cmsFolders: 'cms-folders',\n cmsMedia: 'cms-media',\n}\n"],"file":"cacheKeys.js"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _cacheKeys = require("./cacheKeys");
6
+
7
+ Object.keys(_cacheKeys).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _cacheKeys[key]) return;
10
+ exports[key] = _cacheKeys[key];
11
+ });
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cms/api/utils/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './cacheKeys'\n"],"file":"index.js"}
@@ -49,4 +49,44 @@ Object.keys(_useContentCategoriesMap).forEach(function (key) {
49
49
  if (key in exports && exports[key] === _useContentCategoriesMap[key]) return;
50
50
  exports[key] = _useContentCategoriesMap[key];
51
51
  });
52
+
53
+ var _useCmsFolders = require("./useCmsFolders");
54
+
55
+ Object.keys(_useCmsFolders).forEach(function (key) {
56
+ if (key === "default" || key === "__esModule") return;
57
+ if (key in exports && exports[key] === _useCmsFolders[key]) return;
58
+ exports[key] = _useCmsFolders[key];
59
+ });
60
+
61
+ var _useCreateCmsFolders = require("./useCreateCmsFolders");
62
+
63
+ Object.keys(_useCreateCmsFolders).forEach(function (key) {
64
+ if (key === "default" || key === "__esModule") return;
65
+ if (key in exports && exports[key] === _useCreateCmsFolders[key]) return;
66
+ exports[key] = _useCreateCmsFolders[key];
67
+ });
68
+
69
+ var _useCmsMedia = require("./useCmsMedia");
70
+
71
+ Object.keys(_useCmsMedia).forEach(function (key) {
72
+ if (key === "default" || key === "__esModule") return;
73
+ if (key in exports && exports[key] === _useCmsMedia[key]) return;
74
+ exports[key] = _useCmsMedia[key];
75
+ });
76
+
77
+ var _useCmsMediaUploadAssets = require("./useCmsMediaUploadAssets");
78
+
79
+ Object.keys(_useCmsMediaUploadAssets).forEach(function (key) {
80
+ if (key === "default" || key === "__esModule") return;
81
+ if (key in exports && exports[key] === _useCmsMediaUploadAssets[key]) return;
82
+ exports[key] = _useCmsMediaUploadAssets[key];
83
+ });
84
+
85
+ var _useCmsMediaDeleteAssets = require("./useCmsMediaDeleteAssets");
86
+
87
+ Object.keys(_useCmsMediaDeleteAssets).forEach(function (key) {
88
+ if (key === "default" || key === "__esModule") return;
89
+ if (key in exports && exports[key] === _useCmsMediaDeleteAssets[key]) return;
90
+ exports[key] = _useCmsMediaDeleteAssets[key];
91
+ });
52
92
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/cms/hooks/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './useProductInjectedContent'\nexport * from './useListingInjectedContent'\nexport * from './useInjectedContentContext'\nexport * from './useCmsContent'\nexport * from './useCmsContentList'\nexport * from './useContentCategoriesMap'\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/cms/hooks/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './useProductInjectedContent'\nexport * from './useListingInjectedContent'\nexport * from './useInjectedContentContext'\nexport * from './useCmsContent'\nexport * from './useCmsContentList'\nexport * from './useContentCategoriesMap'\nexport * from './useCmsFolders'\nexport * from './useCreateCmsFolders'\nexport * from './useCmsMedia'\nexport * from './useCmsMediaUploadAssets'\nexport * from './useCmsMediaDeleteAssets'\n"],"file":"index.js"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _api = require("../api");
6
+
7
+ exports.useCmsFolders = _api.useCMSFoldersQuery;
8
+ //# sourceMappingURL=useCmsFolders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cms/hooks/useCmsFolders.ts"],"names":[],"mappings":";;;;AACA","sourcesContent":["import React from 'react'\nimport { useCMSFoldersQuery } from '../api'\n\nexport { useCMSFoldersQuery as useCmsFolders }\n"],"file":"useCmsFolders.js"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _api = require("../api");
6
+
7
+ exports.useCmsMedia = _api.useCMSMediaQuery;
8
+ //# sourceMappingURL=useCmsMedia.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cms/hooks/useCmsMedia.ts"],"names":[],"mappings":";;;;AACA","sourcesContent":["import React from 'react'\nimport { useCMSMediaQuery } from '../api'\n\nexport { useCMSMediaQuery as useCmsMedia }\n"],"file":"useCmsMedia.js"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _api = require("../api");
6
+
7
+ exports.useCmsMediaDeleteAssets = _api.useCMSMediaDeleteAssetsMutation;
8
+ //# sourceMappingURL=useCmsMediaDeleteAssets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cms/hooks/useCmsMediaDeleteAssets.ts"],"names":[],"mappings":";;;;AACA","sourcesContent":["import React from 'react'\nimport { useCMSMediaDeleteAssetsMutation } from '../api'\n\nexport { useCMSMediaDeleteAssetsMutation as useCmsMediaDeleteAssets }\n"],"file":"useCmsMediaDeleteAssets.js"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _api = require("../api");
6
+
7
+ exports.useCmsMediaUploadAssets = _api.useCMSMediaUploadAssetsMutation;
8
+ //# sourceMappingURL=useCmsMediaUploadAssets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cms/hooks/useCmsMediaUploadAssets.ts"],"names":[],"mappings":";;;;AACA","sourcesContent":["import React from 'react'\nimport { useCMSMediaUploadAssetsMutation } from '../api'\n\nexport { useCMSMediaUploadAssetsMutation as useCmsMediaUploadAssets }\n"],"file":"useCmsMediaUploadAssets.js"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _api = require("../api");
6
+
7
+ exports.useCreateCmsFolders = _api.useCMSFoldersCreateMutation;
8
+ //# sourceMappingURL=useCreateCmsFolders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cms/hooks/useCreateCmsFolders.ts"],"names":[],"mappings":";;;;AACA","sourcesContent":["import React from 'react'\nimport { useCMSFoldersCreateMutation } from '../api'\n\nexport { useCMSFoldersCreateMutation as useCreateCmsFolders }\n"],"file":"useCreateCmsFolders.js"}
@@ -51,7 +51,7 @@ var useListingBreadcrumbs = function useListingBreadcrumbs() {
51
51
  }
52
52
 
53
53
  return createCatalogBreadcrumb(data, config.type, router);
54
- }, [data, router.query.q, config.type, router.query.filter]);
54
+ }, [data, config.type, router.query]);
55
55
 
56
56
  var lastBreadcrumb = _react["default"].useMemo(function () {
57
57
  return result == null ? void 0 : result[(result == null ? void 0 : result.length) - 2];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/listing/hooks/useListingBreadcrumbs.tsx"],"names":["useListingBreadcrumbs","data","isLoading","config","router","mainConfig","slug","result","React","useMemo","type","ListingTypesEnum","AttrPage","name","listing","titleAliases","id","link","query","q","createCatalogBreadcrumb","filter","lastBreadcrumb","length","last","predicate","sortedAncestors","sortAncestors","ancestors","attrLink","cat","undefined","breadcrumb","push","label","_id","applyFilters","forEach","ancestor","processLink","filters","Array","isArray","join","attr","typeToSuffix","newAncestors","a","resource","tree","mapListToTree","treeToArray","list","map","node","roots","i","resourceId","children","parent","hasOwnProperty","concat","child","arr"],"mappings":"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","sourcesContent":["import React from 'react'\nimport { NextRouter, useRouter } from 'next/router'\nimport { PredicateType, usePredicate } from '../api'\nimport { useListingConfig } from './'\nimport { useConfigState, useListingAlias } from '../../index'\nimport { typeToSuffix } from '../../utils/typeToSuffix'\nimport { getTranslatableField } from '../../utils/getTranslatableField'\nimport { IdReferenceDTO, LangValue } from '@sentecacommerce/sdk'\nimport { ListingTypesEnum } from '..'\n\nexport type Breadcrumb = { name: string; id: string; link: string }[]\n\nexport type UseListingBreadcrumbsResult = {\n data: {\n name: string\n id: string\n link: string\n }[]\n last: {\n name: string\n id: string\n link: string\n }\n isLoading: boolean\n}\n\nexport const useListingBreadcrumbs = (): UseListingBreadcrumbsResult => {\n const { data, isLoading } = usePredicate()\n const config = useListingConfig()\n const router = useRouter()\n\n const mainConfig = useConfigState() as any\n const { slug } = useListingAlias()\n\n const result = React.useMemo(() => {\n if (config.type === ListingTypesEnum.AttrPage) {\n return [\n {\n name: mainConfig.listing.titleAliases[slug],\n id: '',\n link: `/${router.query.slug}/c`,\n },\n ]\n }\n if (router.query.q) {\n return [\n {\n name: `${router.query.q}`,\n id: '',\n link: `/search?q=${router.query.q}`,\n },\n ]\n }\n\n return createCatalogBreadcrumb(data as PredicateType, config.type, router)\n }, [data, router.query.q, config.type, router.query.filter])\n\n const lastBreadcrumb = React.useMemo(() => {\n return result?.[result?.length - 2]\n }, [result])\n\n return { data: result, last: lastBreadcrumb, isLoading }\n}\n\nconst createCatalogBreadcrumb = (\n predicate: PredicateType,\n type: string,\n router: NextRouter\n): Breadcrumb => {\n const result: {\n name: string\n id: string\n link: string\n }[] = []\n\n const sortedAncestors = sortAncestors(predicate?.ancestors)\n const attrLink = router.query.cat ? (router.query.slug as string) : undefined\n\n if (predicate?.breadcrumb) {\n result.push({\n name: getTranslatableField(predicate.breadcrumb.label),\n id: predicate._id,\n\n link: `/${router.query.slug}/${getTranslatableField(\n sortedAncestors?.[0]?.slug || predicate?.slug\n )}/c${applyFilters(router)}`,\n })\n }\n\n sortedAncestors.forEach((ancestor) => {\n result.push({\n name: getTranslatableField(ancestor.name),\n id: ancestor._id,\n link: processLink(ancestor.slug, type, attrLink) + applyFilters(router),\n })\n })\n\n if (predicate?.slug[0]) {\n result.push({\n name: getTranslatableField(predicate?.name),\n id: predicate._id,\n link: processLink(predicate?.slug, type, attrLink) + applyFilters(router),\n })\n }\n\n return result\n}\nfunction applyFilters(router?: NextRouter) {\n const filters = router?.query.filter\n if (filters) {\n if (Array.isArray(filters)) {\n return `?filter=` + filters.join('&filter=')\n } else {\n return `?filter=` + filters\n }\n }\n\n return ''\n}\nfunction processLink(slug: LangValue[], type: string, attr?: string) {\n if (attr) {\n return `/${attr}/${getTranslatableField(slug)}/${typeToSuffix[type]}`\n }\n return `/${getTranslatableField(slug)}/${typeToSuffix[type]}`\n}\n\nfunction sortAncestors(ancestors?: IdReferenceDTO[]) {\n let result = []\n\n if (Array.isArray(ancestors)) {\n const newAncestors = ancestors.filter(\n (a) => a.resource && typeof a.resource === 'object'\n )\n\n if (newAncestors.length) {\n const tree = mapListToTree(newAncestors)\n\n result = treeToArray(tree)[0]\n }\n }\n\n return result\n}\n\nconst mapListToTree = (list: any[]) => {\n const map = {}\n let node\n const roots = []\n let i\n for (i = 0; i < list.length; i += 1) {\n map[list[i].resourceId] = i\n list[i].children = []\n }\n for (i = 0; i < list.length; i += 1) {\n node = list[i]\n if (\n node.resource.parent &&\n map.hasOwnProperty(node.resource.parent.resourceId)\n ) {\n list[map[node.resource.parent.resourceId]].children.push(node)\n } else {\n roots.push(node)\n }\n }\n return roots[0]\n}\n\nconst treeToArray = (node: any) =>\n (node.children.length ? [] : [[node.resource]]).concat(\n ...node.children.map((child: any) =>\n treeToArray(child).map((arr) => [node.resource].concat(arr))\n )\n )\n"],"file":"useListingBreadcrumbs.js"}
1
+ {"version":3,"sources":["../../../../src/listing/hooks/useListingBreadcrumbs.tsx"],"names":["useListingBreadcrumbs","data","isLoading","config","router","mainConfig","slug","result","React","useMemo","type","ListingTypesEnum","AttrPage","name","listing","titleAliases","id","link","query","q","createCatalogBreadcrumb","lastBreadcrumb","length","last","predicate","sortedAncestors","sortAncestors","ancestors","attrLink","cat","undefined","breadcrumb","push","label","_id","applyFilters","forEach","ancestor","processLink","filters","filter","Array","isArray","join","attr","typeToSuffix","newAncestors","a","resource","tree","mapListToTree","treeToArray","list","map","node","roots","i","resourceId","children","parent","hasOwnProperty","concat","child","arr"],"mappings":"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","sourcesContent":["import React from 'react'\nimport { NextRouter, useRouter } from 'next/router'\nimport { PredicateType, usePredicate } from '../api'\nimport { useListingConfig } from './'\nimport { useConfigState, useListingAlias } from '../../index'\nimport { typeToSuffix } from '../../utils/typeToSuffix'\nimport { getTranslatableField } from '../../utils/getTranslatableField'\nimport { IdReferenceDTO, LangValue } from '@sentecacommerce/sdk'\nimport { ListingTypesEnum } from '..'\n\nexport type Breadcrumb = { name: string; id: string; link: string }[]\n\nexport type UseListingBreadcrumbsResult = {\n data: {\n name: string\n id: string\n link: string\n }[]\n last: {\n name: string\n id: string\n link: string\n }\n isLoading: boolean\n}\n\nexport const useListingBreadcrumbs = (): UseListingBreadcrumbsResult => {\n const { data, isLoading } = usePredicate()\n const config = useListingConfig()\n const router = useRouter()\n\n const mainConfig = useConfigState() as any\n const { slug } = useListingAlias()\n\n const result = React.useMemo(() => {\n if (config.type === ListingTypesEnum.AttrPage) {\n return [\n {\n name: mainConfig.listing.titleAliases[slug],\n id: '',\n link: `/${router.query.slug}/c`,\n },\n ]\n }\n if (router.query.q) {\n return [\n {\n name: `${router.query.q}`,\n id: '',\n link: `/search?q=${router.query.q}`,\n },\n ]\n }\n\n return createCatalogBreadcrumb(data as PredicateType, config.type, router)\n }, [data, config.type, router.query])\n\n const lastBreadcrumb = React.useMemo(() => {\n return result?.[result?.length - 2]\n }, [result])\n\n return { data: result, last: lastBreadcrumb, isLoading }\n}\n\nconst createCatalogBreadcrumb = (\n predicate: PredicateType,\n type: string,\n router: NextRouter\n): Breadcrumb => {\n const result: {\n name: string\n id: string\n link: string\n }[] = []\n\n const sortedAncestors = sortAncestors(predicate?.ancestors)\n const attrLink = router.query.cat ? (router.query.slug as string) : undefined\n\n if (predicate?.breadcrumb) {\n result.push({\n name: getTranslatableField(predicate.breadcrumb.label),\n id: predicate._id,\n\n link: `/${router.query.slug}/${getTranslatableField(\n sortedAncestors?.[0]?.slug || predicate?.slug\n )}/c${applyFilters(router)}`,\n })\n }\n\n sortedAncestors.forEach((ancestor) => {\n result.push({\n name: getTranslatableField(ancestor.name),\n id: ancestor._id,\n link: processLink(ancestor.slug, type, attrLink) + applyFilters(router),\n })\n })\n\n if (predicate?.slug[0]) {\n result.push({\n name: getTranslatableField(predicate?.name),\n id: predicate._id,\n link: processLink(predicate?.slug, type, attrLink) + applyFilters(router),\n })\n }\n\n return result\n}\nfunction applyFilters(router?: NextRouter) {\n const filters = router?.query.filter\n if (filters) {\n if (Array.isArray(filters)) {\n return `?filter=` + filters.join('&filter=')\n } else {\n return `?filter=` + filters\n }\n }\n\n return ''\n}\nfunction processLink(slug: LangValue[], type: string, attr?: string) {\n if (attr) {\n return `/${attr}/${getTranslatableField(slug)}/${typeToSuffix[type]}`\n }\n return `/${getTranslatableField(slug)}/${typeToSuffix[type]}`\n}\n\nfunction sortAncestors(ancestors?: IdReferenceDTO[]) {\n let result = []\n\n if (Array.isArray(ancestors)) {\n const newAncestors = ancestors.filter(\n (a) => a.resource && typeof a.resource === 'object'\n )\n\n if (newAncestors.length) {\n const tree = mapListToTree(newAncestors)\n\n result = treeToArray(tree)[0]\n }\n }\n\n return result\n}\n\nconst mapListToTree = (list: any[]) => {\n const map = {}\n let node\n const roots = []\n let i\n for (i = 0; i < list.length; i += 1) {\n map[list[i].resourceId] = i\n list[i].children = []\n }\n for (i = 0; i < list.length; i += 1) {\n node = list[i]\n if (\n node.resource.parent &&\n map.hasOwnProperty(node.resource.parent.resourceId)\n ) {\n list[map[node.resource.parent.resourceId]].children.push(node)\n } else {\n roots.push(node)\n }\n }\n return roots[0]\n}\n\nconst treeToArray = (node: any) =>\n (node.children.length ? [] : [[node.resource]]).concat(\n ...node.children.map((child: any) =>\n treeToArray(child).map((arr) => [node.resource].concat(arr))\n )\n )\n"],"file":"useListingBreadcrumbs.js"}
@@ -1,2 +1,3 @@
1
1
  export * from './queries';
2
+ export * from './mutations';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/cms/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAd","sourcesContent":["export * from './queries'"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/cms/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAd;AACA,cAAc,aAAd","sourcesContent":["export * from './queries'\nexport * from './mutations'\n"],"file":"index.js"}
@@ -0,0 +1,4 @@
1
+ export * from './useCMSFoldersCreateMutation';
2
+ export * from './useCMSMediaUploadAssetsMutation';
3
+ export * from './useCMSMediaDeleteAssetsMutation';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cms/api/mutations/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAAd;AACA,cAAc,mCAAd;AACA,cAAc,mCAAd","sourcesContent":["export * from './useCMSFoldersCreateMutation'\nexport * from './useCMSMediaUploadAssetsMutation'\nexport * from './useCMSMediaDeleteAssetsMutation'\n"],"file":"index.js"}
@@ -0,0 +1,31 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import { useMutation } from 'react-query';
4
+ import { FoldersCreate, IdReferenceDTOResourceTypeEnum } from '@sentecacommerce/sdk';
5
+ export var useCMSFoldersCreateMutation = () => {
6
+ return useMutation( /*#__PURE__*/function () {
7
+ var _ref2 = _asyncToGenerator(function* (_ref) {
8
+ var {
9
+ parent,
10
+ folder
11
+ } = _ref;
12
+
13
+ if (parent) {
14
+ return FoldersCreate(_extends({}, folder, {
15
+ parent: _extends({}, parent, {
16
+ resourceId: parent._id,
17
+ resource: parent._id,
18
+ resourceType: IdReferenceDTOResourceTypeEnum.CmsFolder
19
+ })
20
+ }));
21
+ }
22
+
23
+ return FoldersCreate(folder);
24
+ });
25
+
26
+ return function (_x) {
27
+ return _ref2.apply(this, arguments);
28
+ };
29
+ }());
30
+ };
31
+ //# sourceMappingURL=useCMSFoldersCreateMutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cms/api/mutations/useCMSFoldersCreateMutation.ts"],"names":["useMutation","FoldersCreate","IdReferenceDTOResourceTypeEnum","useCMSFoldersCreateMutation","parent","folder","resourceId","_id","resource","resourceType","CmsFolder"],"mappings":";;AACA,SAASA,WAAT,QAA4B,aAA5B;AACA,SAGEC,aAHF,EAIEC,8BAJF,QAKO,sBALP;AAOA,OAAO,IAAMC,2BAA2B,GAAG,MAAM;AAC/C,SAAOH,WAAW;AAAA,kCAChB,iBAMM;AAAA,UANC;AACLI,QAAAA,MADK;AAELC,QAAAA;AAFK,OAMD;;AACJ,UAAID,MAAJ,EAAY;AACV,eAAOH,aAAa,cACfI,MADe;AAElBD,UAAAA,MAAM,eACDA,MADC;AAEJE,YAAAA,UAAU,EAAGF,MAAD,CAAsBG,GAF9B;AAGJC,YAAAA,QAAQ,EAAGJ,MAAD,CAAsBG,GAH5B;AAIJE,YAAAA,YAAY,EAAEP,8BAA8B,CAACQ;AAJzC;AAFY,WAApB;AASD;;AAED,aAAOT,aAAa,CAACI,MAAD,CAApB;AACD,KArBe;;AAAA;AAAA;AAAA;AAAA,MAAlB;AAuBD,CAxBM","sourcesContent":["import React from 'react'\nimport { useMutation } from 'react-query'\nimport {\n FolderDTO,\n FolderDraftDTO,\n FoldersCreate,\n IdReferenceDTOResourceTypeEnum,\n} from '@sentecacommerce/sdk'\n\nexport const useCMSFoldersCreateMutation = () => {\n return useMutation(\n async ({\n parent,\n folder,\n }: {\n parent?: FolderDraftDTO\n folder: FolderDraftDTO\n }) => {\n if (parent) {\n return FoldersCreate({\n ...folder,\n parent: {\n ...parent,\n resourceId: (parent as FolderDTO)._id,\n resource: (parent as FolderDTO)._id,\n resourceType: IdReferenceDTOResourceTypeEnum.CmsFolder,\n },\n })\n }\n\n return FoldersCreate(folder)\n }\n )\n}\n"],"file":"useCMSFoldersCreateMutation.js"}
@@ -0,0 +1,21 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import { useMutation, useQueryCache } from 'react-query';
3
+ import { MediaDelete } from '@sentecacommerce/sdk';
4
+ import { cacheKeys } from '../utils';
5
+ export var useCMSMediaDeleteAssetsMutation = () => {
6
+ var queryCache = useQueryCache();
7
+ return useMutation( /*#__PURE__*/function () {
8
+ var _ref = _asyncToGenerator(function* (dto) {
9
+ return yield MediaDelete(dto);
10
+ });
11
+
12
+ return function (_x) {
13
+ return _ref.apply(this, arguments);
14
+ };
15
+ }(), {
16
+ onSuccess: data => {
17
+ queryCache.setQueryData(cacheKeys.cmsMedia, data);
18
+ }
19
+ });
20
+ };
21
+ //# sourceMappingURL=useCMSMediaDeleteAssetsMutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cms/api/mutations/useCMSMediaDeleteAssetsMutation.ts"],"names":["useMutation","useQueryCache","MediaDelete","cacheKeys","useCMSMediaDeleteAssetsMutation","queryCache","dto","onSuccess","data","setQueryData","cmsMedia"],"mappings":";AACA,SAASA,WAAT,EAAsBC,aAAtB,QAA2C,aAA3C;AACA,SAASC,WAAT,QAA4C,sBAA5C;AACA,SAASC,SAAT,QAA0B,UAA1B;AAEA,OAAO,IAAMC,+BAA+B,GAAG,MAAM;AACnD,MAAMC,UAAU,GAAGJ,aAAa,EAAhC;AAEA,SAAOD,WAAW;AAAA,iCAAC,WAAOM,GAAP;AAAA,mBAAqCJ,WAAW,CAACI,GAAD,CAAhD;AAAA,KAAD;;AAAA;AAAA;AAAA;AAAA,OAAwD;AACxEC,IAAAA,SAAS,EAAGC,IAAD,IAAU;AACnBH,MAAAA,UAAU,CAACI,YAAX,CAAwBN,SAAS,CAACO,QAAlC,EAA4CF,IAA5C;AACD;AAHuE,GAAxD,CAAlB;AAKD,CARM","sourcesContent":["import React from 'react'\nimport { useMutation, useQueryCache } from 'react-query'\nimport { MediaDelete, MediaDeleteDTO } from '@sentecacommerce/sdk'\nimport { cacheKeys } from '../utils'\n\nexport const useCMSMediaDeleteAssetsMutation = () => {\n const queryCache = useQueryCache()\n\n return useMutation(async (dto: MediaDeleteDTO) => await MediaDelete(dto), {\n onSuccess: (data) => {\n queryCache.setQueryData(cacheKeys.cmsMedia, data)\n },\n })\n}\n"],"file":"useCMSMediaDeleteAssetsMutation.js"}
@@ -0,0 +1,26 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import { useMutation, useQueryCache } from 'react-query';
3
+ import { FolderDTO, MediaDTO, MediaUploadAssets, MediaFilterResultDTO } from '@sentecacommerce/sdk';
4
+ import { cacheKeys } from '../utils';
5
+ export { FolderDTO, MediaDTO, MediaFilterResultDTO };
6
+ export var useCMSMediaUploadAssetsMutation = () => {
7
+ var queryCache = useQueryCache();
8
+ return useMutation( /*#__PURE__*/function () {
9
+ var _ref2 = _asyncToGenerator(function* (_ref) {
10
+ var {
11
+ folderId,
12
+ assets
13
+ } = _ref;
14
+ return yield MediaUploadAssets(folderId, assets);
15
+ });
16
+
17
+ return function (_x) {
18
+ return _ref2.apply(this, arguments);
19
+ };
20
+ }(), {
21
+ onSuccess: () => {
22
+ queryCache.invalidateQueries(cacheKeys.cmsMedia);
23
+ }
24
+ });
25
+ };
26
+ //# sourceMappingURL=useCMSMediaUploadAssetsMutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cms/api/mutations/useCMSMediaUploadAssetsMutation.ts"],"names":["useMutation","useQueryCache","FolderDTO","MediaDTO","MediaUploadAssets","MediaFilterResultDTO","cacheKeys","useCMSMediaUploadAssetsMutation","queryCache","folderId","assets","onSuccess","invalidateQueries","cmsMedia"],"mappings":";AACA,SAASA,WAAT,EAAsBC,aAAtB,QAA2C,aAA3C;AACA,SACEC,SADF,EAEEC,QAFF,EAGEC,iBAHF,EAIEC,oBAJF,QAKO,sBALP;AAMA,SAASC,SAAT,QAA0B,UAA1B;AAEA,SAASJ,SAAT,EAAoBC,QAApB,EAA8BE,oBAA9B;AAEA,OAAO,IAAME,+BAA+B,GAAG,MAAM;AACnD,MAAMC,UAAU,GAAGP,aAAa,EAAhC;AAEA,SAAOD,WAAW;AAAA,kCAChB;AAAA,UAAO;AAAES,QAAAA,QAAF;AAAYC,QAAAA;AAAZ,OAAP;AAAA,mBACQN,iBAAiB,CAACK,QAAD,EAAWC,MAAX,CADzB;AAAA,KADgB;;AAAA;AAAA;AAAA;AAAA,OAGhB;AACEC,IAAAA,SAAS,EAAE,MAAM;AACfH,MAAAA,UAAU,CAACI,iBAAX,CAA6BN,SAAS,CAACO,QAAvC;AACD;AAHH,GAHgB,CAAlB;AASD,CAZM","sourcesContent":["import React from 'react'\nimport { useMutation, useQueryCache } from 'react-query'\nimport {\n FolderDTO,\n MediaDTO,\n MediaUploadAssets,\n MediaFilterResultDTO,\n} from '@sentecacommerce/sdk'\nimport { cacheKeys } from '../utils'\n\nexport { FolderDTO, MediaDTO, MediaFilterResultDTO }\n\nexport const useCMSMediaUploadAssetsMutation = () => {\n const queryCache = useQueryCache()\n\n return useMutation(\n async ({ folderId, assets }: { folderId: string; assets: any }) =>\n await MediaUploadAssets(folderId, assets),\n {\n onSuccess: () => {\n queryCache.invalidateQueries(cacheKeys.cmsMedia)\n },\n }\n )\n}\n"],"file":"useCMSMediaUploadAssetsMutation.js"}
@@ -2,4 +2,6 @@ export * from './useInjectedContentQuery';
2
2
  export * from './keys';
3
3
  export * from './useCMSContentListQuery';
4
4
  export * from './useCMSContentQuery';
5
+ export * from './useCMSFoldersQuery';
6
+ export * from './useCMSMediaQuery';
5
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/cms/api/queries/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAAd;AACA,cAAc,QAAd;AACA,cAAc,0BAAd;AACA,cAAc,sBAAd","sourcesContent":["export * from './useInjectedContentQuery'\nexport * from './keys'\nexport * from './useCMSContentListQuery'\nexport * from './useCMSContentQuery'"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/cms/api/queries/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAAd;AACA,cAAc,QAAd;AACA,cAAc,0BAAd;AACA,cAAc,sBAAd;AACA,cAAc,sBAAd;AACA,cAAc,oBAAd","sourcesContent":["export * from './useInjectedContentQuery'\nexport * from './keys'\nexport * from './useCMSContentListQuery'\nexport * from './useCMSContentQuery'\nexport * from './useCMSFoldersQuery'\nexport * from './useCMSMediaQuery'\n"],"file":"index.js"}
@@ -0,0 +1,10 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import { useQuery } from 'react-query';
3
+ import { FoldersFilter } from '@sentecacommerce/sdk';
4
+ import { cacheKeys } from '../utils';
5
+ export var useCMSFoldersQuery = query => {
6
+ return useQuery(cacheKeys.cmsFolders, /*#__PURE__*/_asyncToGenerator(function* () {
7
+ return yield FoldersFilter(query);
8
+ }));
9
+ };
10
+ //# sourceMappingURL=useCMSFoldersQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cms/api/queries/useCMSFoldersQuery.ts"],"names":["useQuery","FoldersFilter","cacheKeys","useCMSFoldersQuery","query","cmsFolders"],"mappings":";AACA,SAASA,QAAT,QAAyB,aAAzB;AACA,SAASC,aAAT,QAA8B,sBAA9B;AACA,SAASC,SAAT,QAA0B,UAA1B;AAkBA,OAAO,IAAMC,kBAAkB,GAAIC,KAAD,IAAmC;AACnE,SAAOJ,QAAQ,CAACE,SAAS,CAACG,UAAX,iCAAuB;AAAA,iBAAkBJ,aAAa,CAACG,KAAD,CAA/B;AAAA,GAAvB,EAAf;AACD,CAFM","sourcesContent":["import React from 'react'\nimport { useQuery } from 'react-query'\nimport { FoldersFilter } from '@sentecacommerce/sdk'\nimport { cacheKeys } from '../utils'\n\nexport interface FoldersFilterQueryDTO {\n storeKey?: string\n interfaceKey?: string\n currencyCode?: string\n languageCode?: string\n priceListKey?: string\n time?: number\n merchantKey?: string\n expand?: string\n project?: string\n filter?: string\n sort?: string\n limit?: number\n offset?: number\n}\n\nexport const useCMSFoldersQuery = (query?: FoldersFilterQueryDTO) => {\n return useQuery(cacheKeys.cmsFolders, async () => await FoldersFilter(query))\n}\n"],"file":"useCMSFoldersQuery.js"}
@@ -0,0 +1,13 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import { useInfiniteQuery } from 'react-query';
4
+ import { MediaFilter } from '@sentecacommerce/sdk';
5
+ import { cacheKeys } from '../utils';
6
+ export var useCMSMediaQuery = (query, props) => {
7
+ return useInfiniteQuery(cacheKeys.cmsMedia, /*#__PURE__*/_asyncToGenerator(function* () {
8
+ return yield MediaFilter(query);
9
+ }), _extends({
10
+ keepPreviousData: true
11
+ }, props));
12
+ };
13
+ //# sourceMappingURL=useCMSMediaQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cms/api/queries/useCMSMediaQuery.ts"],"names":["useInfiniteQuery","MediaFilter","cacheKeys","useCMSMediaQuery","query","props","cmsMedia","keepPreviousData"],"mappings":";;AACA,SAASA,gBAAT,QAAiC,aAAjC;AACA,SAASC,WAAT,QAA4B,sBAA5B;AACA,SAASC,SAAT,QAA0B,UAA1B;AAkBA,OAAO,IAAMC,gBAAgB,GAAG,CAC9BC,KAD8B,EAE9BC,KAF8B,KAM3B;AACH,SAAOL,gBAAgB,CACrBE,SAAS,CAACI,QADW,iCAErB;AAAA,iBAAkBL,WAAW,CAACG,KAAD,CAA7B;AAAA,GAFqB;AAInBG,IAAAA,gBAAgB,EAAE;AAJC,KAKhBF,KALgB,EAAvB;AAQD,CAfM","sourcesContent":["import React from 'react'\nimport { useInfiniteQuery } from 'react-query'\nimport { MediaFilter } from '@sentecacommerce/sdk'\nimport { cacheKeys } from '../utils'\n\nexport interface MediaFilterQueryDTO {\n storeKey?: string\n interfaceKey?: string\n currencyCode?: string\n languageCode?: string\n priceListKey?: string\n time?: number\n merchantKey?: string\n expand?: string\n project?: string\n filter?: string\n sort?: string\n limit?: number\n offset?: number\n}\n\nexport const useCMSMediaQuery = (\n query?: MediaFilterQueryDTO,\n props?: {\n enabled?: boolean\n getFetchMore?: (lastPage: any, allPages: any[]) => void\n }\n) => {\n return useInfiniteQuery(\n cacheKeys.cmsMedia,\n async () => await MediaFilter(query),\n {\n keepPreviousData: true,\n ...props,\n }\n )\n}\n"],"file":"useCMSMediaQuery.js"}
@@ -0,0 +1,5 @@
1
+ export var cacheKeys = {
2
+ cmsFolders: 'cms-folders',
3
+ cmsMedia: 'cms-media'
4
+ };
5
+ //# sourceMappingURL=cacheKeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cms/api/utils/cacheKeys.ts"],"names":["cacheKeys","cmsFolders","cmsMedia"],"mappings":"AAAA,OAAO,IAAMA,SAAS,GAAG;AACvBC,EAAAA,UAAU,EAAE,aADW;AAEvBC,EAAAA,QAAQ,EAAE;AAFa,CAAlB","sourcesContent":["export const cacheKeys = {\n cmsFolders: 'cms-folders',\n cmsMedia: 'cms-media',\n}\n"],"file":"cacheKeys.js"}
@@ -0,0 +1,2 @@
1
+ export * from './cacheKeys';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/cms/api/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAd","sourcesContent":["export * from './cacheKeys'\n"],"file":"index.js"}
@@ -4,4 +4,9 @@ export * from './useInjectedContentContext';
4
4
  export * from './useCmsContent';
5
5
  export * from './useCmsContentList';
6
6
  export * from './useContentCategoriesMap';
7
+ export * from './useCmsFolders';
8
+ export * from './useCreateCmsFolders';
9
+ export * from './useCmsMedia';
10
+ export * from './useCmsMediaUploadAssets';
11
+ export * from './useCmsMediaDeleteAssets';
7
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/cms/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAAd;AACA,cAAc,6BAAd;AACA,cAAc,6BAAd;AACA,cAAc,iBAAd;AACA,cAAc,qBAAd;AACA,cAAc,2BAAd","sourcesContent":["export * from './useProductInjectedContent'\nexport * from './useListingInjectedContent'\nexport * from './useInjectedContentContext'\nexport * from './useCmsContent'\nexport * from './useCmsContentList'\nexport * from './useContentCategoriesMap'\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/cms/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAAd;AACA,cAAc,6BAAd;AACA,cAAc,6BAAd;AACA,cAAc,iBAAd;AACA,cAAc,qBAAd;AACA,cAAc,2BAAd;AACA,cAAc,iBAAd;AACA,cAAc,uBAAd;AACA,cAAc,eAAd;AACA,cAAc,2BAAd;AACA,cAAc,2BAAd","sourcesContent":["export * from './useProductInjectedContent'\nexport * from './useListingInjectedContent'\nexport * from './useInjectedContentContext'\nexport * from './useCmsContent'\nexport * from './useCmsContentList'\nexport * from './useContentCategoriesMap'\nexport * from './useCmsFolders'\nexport * from './useCreateCmsFolders'\nexport * from './useCmsMedia'\nexport * from './useCmsMediaUploadAssets'\nexport * from './useCmsMediaDeleteAssets'\n"],"file":"index.js"}
@@ -0,0 +1,3 @@
1
+ import { useCMSFoldersQuery } from '../api';
2
+ export { useCMSFoldersQuery as useCmsFolders };
3
+ //# sourceMappingURL=useCmsFolders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cms/hooks/useCmsFolders.ts"],"names":["useCMSFoldersQuery","useCmsFolders"],"mappings":"AACA,SAASA,kBAAT,QAAmC,QAAnC;AAEA,SAASA,kBAAkB,IAAIC,aAA/B","sourcesContent":["import React from 'react'\nimport { useCMSFoldersQuery } from '../api'\n\nexport { useCMSFoldersQuery as useCmsFolders }\n"],"file":"useCmsFolders.js"}
@@ -0,0 +1,3 @@
1
+ import { useCMSMediaQuery } from '../api';
2
+ export { useCMSMediaQuery as useCmsMedia };
3
+ //# sourceMappingURL=useCmsMedia.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cms/hooks/useCmsMedia.ts"],"names":["useCMSMediaQuery","useCmsMedia"],"mappings":"AACA,SAASA,gBAAT,QAAiC,QAAjC;AAEA,SAASA,gBAAgB,IAAIC,WAA7B","sourcesContent":["import React from 'react'\nimport { useCMSMediaQuery } from '../api'\n\nexport { useCMSMediaQuery as useCmsMedia }\n"],"file":"useCmsMedia.js"}
@@ -0,0 +1,3 @@
1
+ import { useCMSMediaDeleteAssetsMutation } from '../api';
2
+ export { useCMSMediaDeleteAssetsMutation as useCmsMediaDeleteAssets };
3
+ //# sourceMappingURL=useCmsMediaDeleteAssets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cms/hooks/useCmsMediaDeleteAssets.ts"],"names":["useCMSMediaDeleteAssetsMutation","useCmsMediaDeleteAssets"],"mappings":"AACA,SAASA,+BAAT,QAAgD,QAAhD;AAEA,SAASA,+BAA+B,IAAIC,uBAA5C","sourcesContent":["import React from 'react'\nimport { useCMSMediaDeleteAssetsMutation } from '../api'\n\nexport { useCMSMediaDeleteAssetsMutation as useCmsMediaDeleteAssets }\n"],"file":"useCmsMediaDeleteAssets.js"}
@@ -0,0 +1,3 @@
1
+ import { useCMSMediaUploadAssetsMutation } from '../api';
2
+ export { useCMSMediaUploadAssetsMutation as useCmsMediaUploadAssets };
3
+ //# sourceMappingURL=useCmsMediaUploadAssets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cms/hooks/useCmsMediaUploadAssets.ts"],"names":["useCMSMediaUploadAssetsMutation","useCmsMediaUploadAssets"],"mappings":"AACA,SAASA,+BAAT,QAAgD,QAAhD;AAEA,SAASA,+BAA+B,IAAIC,uBAA5C","sourcesContent":["import React from 'react'\nimport { useCMSMediaUploadAssetsMutation } from '../api'\n\nexport { useCMSMediaUploadAssetsMutation as useCmsMediaUploadAssets }\n"],"file":"useCmsMediaUploadAssets.js"}
@@ -0,0 +1,3 @@
1
+ import { useCMSFoldersCreateMutation } from '../api';
2
+ export { useCMSFoldersCreateMutation as useCreateCmsFolders };
3
+ //# sourceMappingURL=useCreateCmsFolders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cms/hooks/useCreateCmsFolders.ts"],"names":["useCMSFoldersCreateMutation","useCreateCmsFolders"],"mappings":"AACA,SAASA,2BAAT,QAA4C,QAA5C;AAEA,SAASA,2BAA2B,IAAIC,mBAAxC","sourcesContent":["import React from 'react'\nimport { useCMSFoldersCreateMutation } from '../api'\n\nexport { useCMSFoldersCreateMutation as useCreateCmsFolders }\n"],"file":"useCreateCmsFolders.js"}
@@ -35,7 +35,7 @@ export var useListingBreadcrumbs = () => {
35
35
  }
36
36
 
37
37
  return createCatalogBreadcrumb(data, config.type, router);
38
- }, [data, router.query.q, config.type, router.query.filter]);
38
+ }, [data, config.type, router.query]);
39
39
  var lastBreadcrumb = React.useMemo(() => {
40
40
  return result == null ? void 0 : result[(result == null ? void 0 : result.length) - 2];
41
41
  }, [result]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/listing/hooks/useListingBreadcrumbs.tsx"],"names":["React","useRouter","usePredicate","useListingConfig","useConfigState","useListingAlias","typeToSuffix","getTranslatableField","ListingTypesEnum","useListingBreadcrumbs","data","isLoading","config","router","mainConfig","slug","result","useMemo","type","AttrPage","name","listing","titleAliases","id","link","query","q","createCatalogBreadcrumb","filter","lastBreadcrumb","length","last","predicate","sortedAncestors","sortAncestors","ancestors","attrLink","cat","undefined","breadcrumb","push","label","_id","applyFilters","forEach","ancestor","processLink","filters","Array","isArray","join","attr","newAncestors","a","resource","tree","mapListToTree","treeToArray","list","map","node","roots","i","resourceId","children","parent","hasOwnProperty","concat","child","arr"],"mappings":"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","sourcesContent":["import React from 'react'\nimport { NextRouter, useRouter } from 'next/router'\nimport { PredicateType, usePredicate } from '../api'\nimport { useListingConfig } from './'\nimport { useConfigState, useListingAlias } from '../../index'\nimport { typeToSuffix } from '../../utils/typeToSuffix'\nimport { getTranslatableField } from '../../utils/getTranslatableField'\nimport { IdReferenceDTO, LangValue } from '@sentecacommerce/sdk'\nimport { ListingTypesEnum } from '..'\n\nexport type Breadcrumb = { name: string; id: string; link: string }[]\n\nexport type UseListingBreadcrumbsResult = {\n data: {\n name: string\n id: string\n link: string\n }[]\n last: {\n name: string\n id: string\n link: string\n }\n isLoading: boolean\n}\n\nexport const useListingBreadcrumbs = (): UseListingBreadcrumbsResult => {\n const { data, isLoading } = usePredicate()\n const config = useListingConfig()\n const router = useRouter()\n\n const mainConfig = useConfigState() as any\n const { slug } = useListingAlias()\n\n const result = React.useMemo(() => {\n if (config.type === ListingTypesEnum.AttrPage) {\n return [\n {\n name: mainConfig.listing.titleAliases[slug],\n id: '',\n link: `/${router.query.slug}/c`,\n },\n ]\n }\n if (router.query.q) {\n return [\n {\n name: `${router.query.q}`,\n id: '',\n link: `/search?q=${router.query.q}`,\n },\n ]\n }\n\n return createCatalogBreadcrumb(data as PredicateType, config.type, router)\n }, [data, router.query.q, config.type, router.query.filter])\n\n const lastBreadcrumb = React.useMemo(() => {\n return result?.[result?.length - 2]\n }, [result])\n\n return { data: result, last: lastBreadcrumb, isLoading }\n}\n\nconst createCatalogBreadcrumb = (\n predicate: PredicateType,\n type: string,\n router: NextRouter\n): Breadcrumb => {\n const result: {\n name: string\n id: string\n link: string\n }[] = []\n\n const sortedAncestors = sortAncestors(predicate?.ancestors)\n const attrLink = router.query.cat ? (router.query.slug as string) : undefined\n\n if (predicate?.breadcrumb) {\n result.push({\n name: getTranslatableField(predicate.breadcrumb.label),\n id: predicate._id,\n\n link: `/${router.query.slug}/${getTranslatableField(\n sortedAncestors?.[0]?.slug || predicate?.slug\n )}/c${applyFilters(router)}`,\n })\n }\n\n sortedAncestors.forEach((ancestor) => {\n result.push({\n name: getTranslatableField(ancestor.name),\n id: ancestor._id,\n link: processLink(ancestor.slug, type, attrLink) + applyFilters(router),\n })\n })\n\n if (predicate?.slug[0]) {\n result.push({\n name: getTranslatableField(predicate?.name),\n id: predicate._id,\n link: processLink(predicate?.slug, type, attrLink) + applyFilters(router),\n })\n }\n\n return result\n}\nfunction applyFilters(router?: NextRouter) {\n const filters = router?.query.filter\n if (filters) {\n if (Array.isArray(filters)) {\n return `?filter=` + filters.join('&filter=')\n } else {\n return `?filter=` + filters\n }\n }\n\n return ''\n}\nfunction processLink(slug: LangValue[], type: string, attr?: string) {\n if (attr) {\n return `/${attr}/${getTranslatableField(slug)}/${typeToSuffix[type]}`\n }\n return `/${getTranslatableField(slug)}/${typeToSuffix[type]}`\n}\n\nfunction sortAncestors(ancestors?: IdReferenceDTO[]) {\n let result = []\n\n if (Array.isArray(ancestors)) {\n const newAncestors = ancestors.filter(\n (a) => a.resource && typeof a.resource === 'object'\n )\n\n if (newAncestors.length) {\n const tree = mapListToTree(newAncestors)\n\n result = treeToArray(tree)[0]\n }\n }\n\n return result\n}\n\nconst mapListToTree = (list: any[]) => {\n const map = {}\n let node\n const roots = []\n let i\n for (i = 0; i < list.length; i += 1) {\n map[list[i].resourceId] = i\n list[i].children = []\n }\n for (i = 0; i < list.length; i += 1) {\n node = list[i]\n if (\n node.resource.parent &&\n map.hasOwnProperty(node.resource.parent.resourceId)\n ) {\n list[map[node.resource.parent.resourceId]].children.push(node)\n } else {\n roots.push(node)\n }\n }\n return roots[0]\n}\n\nconst treeToArray = (node: any) =>\n (node.children.length ? [] : [[node.resource]]).concat(\n ...node.children.map((child: any) =>\n treeToArray(child).map((arr) => [node.resource].concat(arr))\n )\n )\n"],"file":"useListingBreadcrumbs.js"}
1
+ {"version":3,"sources":["../../../../src/listing/hooks/useListingBreadcrumbs.tsx"],"names":["React","useRouter","usePredicate","useListingConfig","useConfigState","useListingAlias","typeToSuffix","getTranslatableField","ListingTypesEnum","useListingBreadcrumbs","data","isLoading","config","router","mainConfig","slug","result","useMemo","type","AttrPage","name","listing","titleAliases","id","link","query","q","createCatalogBreadcrumb","lastBreadcrumb","length","last","predicate","sortedAncestors","sortAncestors","ancestors","attrLink","cat","undefined","breadcrumb","push","label","_id","applyFilters","forEach","ancestor","processLink","filters","filter","Array","isArray","join","attr","newAncestors","a","resource","tree","mapListToTree","treeToArray","list","map","node","roots","i","resourceId","children","parent","hasOwnProperty","concat","child","arr"],"mappings":"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","sourcesContent":["import React from 'react'\nimport { NextRouter, useRouter } from 'next/router'\nimport { PredicateType, usePredicate } from '../api'\nimport { useListingConfig } from './'\nimport { useConfigState, useListingAlias } from '../../index'\nimport { typeToSuffix } from '../../utils/typeToSuffix'\nimport { getTranslatableField } from '../../utils/getTranslatableField'\nimport { IdReferenceDTO, LangValue } from '@sentecacommerce/sdk'\nimport { ListingTypesEnum } from '..'\n\nexport type Breadcrumb = { name: string; id: string; link: string }[]\n\nexport type UseListingBreadcrumbsResult = {\n data: {\n name: string\n id: string\n link: string\n }[]\n last: {\n name: string\n id: string\n link: string\n }\n isLoading: boolean\n}\n\nexport const useListingBreadcrumbs = (): UseListingBreadcrumbsResult => {\n const { data, isLoading } = usePredicate()\n const config = useListingConfig()\n const router = useRouter()\n\n const mainConfig = useConfigState() as any\n const { slug } = useListingAlias()\n\n const result = React.useMemo(() => {\n if (config.type === ListingTypesEnum.AttrPage) {\n return [\n {\n name: mainConfig.listing.titleAliases[slug],\n id: '',\n link: `/${router.query.slug}/c`,\n },\n ]\n }\n if (router.query.q) {\n return [\n {\n name: `${router.query.q}`,\n id: '',\n link: `/search?q=${router.query.q}`,\n },\n ]\n }\n\n return createCatalogBreadcrumb(data as PredicateType, config.type, router)\n }, [data, config.type, router.query])\n\n const lastBreadcrumb = React.useMemo(() => {\n return result?.[result?.length - 2]\n }, [result])\n\n return { data: result, last: lastBreadcrumb, isLoading }\n}\n\nconst createCatalogBreadcrumb = (\n predicate: PredicateType,\n type: string,\n router: NextRouter\n): Breadcrumb => {\n const result: {\n name: string\n id: string\n link: string\n }[] = []\n\n const sortedAncestors = sortAncestors(predicate?.ancestors)\n const attrLink = router.query.cat ? (router.query.slug as string) : undefined\n\n if (predicate?.breadcrumb) {\n result.push({\n name: getTranslatableField(predicate.breadcrumb.label),\n id: predicate._id,\n\n link: `/${router.query.slug}/${getTranslatableField(\n sortedAncestors?.[0]?.slug || predicate?.slug\n )}/c${applyFilters(router)}`,\n })\n }\n\n sortedAncestors.forEach((ancestor) => {\n result.push({\n name: getTranslatableField(ancestor.name),\n id: ancestor._id,\n link: processLink(ancestor.slug, type, attrLink) + applyFilters(router),\n })\n })\n\n if (predicate?.slug[0]) {\n result.push({\n name: getTranslatableField(predicate?.name),\n id: predicate._id,\n link: processLink(predicate?.slug, type, attrLink) + applyFilters(router),\n })\n }\n\n return result\n}\nfunction applyFilters(router?: NextRouter) {\n const filters = router?.query.filter\n if (filters) {\n if (Array.isArray(filters)) {\n return `?filter=` + filters.join('&filter=')\n } else {\n return `?filter=` + filters\n }\n }\n\n return ''\n}\nfunction processLink(slug: LangValue[], type: string, attr?: string) {\n if (attr) {\n return `/${attr}/${getTranslatableField(slug)}/${typeToSuffix[type]}`\n }\n return `/${getTranslatableField(slug)}/${typeToSuffix[type]}`\n}\n\nfunction sortAncestors(ancestors?: IdReferenceDTO[]) {\n let result = []\n\n if (Array.isArray(ancestors)) {\n const newAncestors = ancestors.filter(\n (a) => a.resource && typeof a.resource === 'object'\n )\n\n if (newAncestors.length) {\n const tree = mapListToTree(newAncestors)\n\n result = treeToArray(tree)[0]\n }\n }\n\n return result\n}\n\nconst mapListToTree = (list: any[]) => {\n const map = {}\n let node\n const roots = []\n let i\n for (i = 0; i < list.length; i += 1) {\n map[list[i].resourceId] = i\n list[i].children = []\n }\n for (i = 0; i < list.length; i += 1) {\n node = list[i]\n if (\n node.resource.parent &&\n map.hasOwnProperty(node.resource.parent.resourceId)\n ) {\n list[map[node.resource.parent.resourceId]].children.push(node)\n } else {\n roots.push(node)\n }\n }\n return roots[0]\n}\n\nconst treeToArray = (node: any) =>\n (node.children.length ? [] : [[node.resource]]).concat(\n ...node.children.map((child: any) =>\n treeToArray(child).map((arr) => [node.resource].concat(arr))\n )\n )\n"],"file":"useListingBreadcrumbs.js"}
@@ -1 +1,2 @@
1
1
  export * from './queries';
2
+ export * from './mutations';
@@ -0,0 +1,3 @@
1
+ export * from './useCMSFoldersCreateMutation';
2
+ export * from './useCMSMediaUploadAssetsMutation';
3
+ export * from './useCMSMediaDeleteAssetsMutation';
@@ -0,0 +1,5 @@
1
+ import { FolderDTO, FolderDraftDTO } from '@sentecacommerce/sdk';
2
+ export declare const useCMSFoldersCreateMutation: () => import("react-query").MutationResultPair<FolderDTO, unknown, {
3
+ parent?: FolderDraftDTO | undefined;
4
+ folder: FolderDraftDTO;
5
+ }, unknown>;
@@ -0,0 +1,2 @@
1
+ import { MediaDeleteDTO } from '@sentecacommerce/sdk';
2
+ export declare const useCMSMediaDeleteAssetsMutation: () => import("react-query").MutationResultPair<any, unknown, MediaDeleteDTO, unknown>;
@@ -0,0 +1,6 @@
1
+ import { FolderDTO, MediaDTO, MediaFilterResultDTO } from '@sentecacommerce/sdk';
2
+ export { FolderDTO, MediaDTO, MediaFilterResultDTO };
3
+ export declare const useCMSMediaUploadAssetsMutation: () => import("react-query").MutationResultPair<MediaDTO[], unknown, {
4
+ folderId: string;
5
+ assets: any;
6
+ }, unknown>;
@@ -2,3 +2,5 @@ export * from './useInjectedContentQuery';
2
2
  export * from './keys';
3
3
  export * from './useCMSContentListQuery';
4
4
  export * from './useCMSContentQuery';
5
+ export * from './useCMSFoldersQuery';
6
+ export * from './useCMSMediaQuery';
@@ -0,0 +1,16 @@
1
+ export interface FoldersFilterQueryDTO {
2
+ storeKey?: string;
3
+ interfaceKey?: string;
4
+ currencyCode?: string;
5
+ languageCode?: string;
6
+ priceListKey?: string;
7
+ time?: number;
8
+ merchantKey?: string;
9
+ expand?: string;
10
+ project?: string;
11
+ filter?: string;
12
+ sort?: string;
13
+ limit?: number;
14
+ offset?: number;
15
+ }
16
+ export declare const useCMSFoldersQuery: (query?: FoldersFilterQueryDTO | undefined) => import("react-query").QueryResult<import("@sentecacommerce/sdk").FolderFilterResultDTO, unknown>;
@@ -0,0 +1,19 @@
1
+ export interface MediaFilterQueryDTO {
2
+ storeKey?: string;
3
+ interfaceKey?: string;
4
+ currencyCode?: string;
5
+ languageCode?: string;
6
+ priceListKey?: string;
7
+ time?: number;
8
+ merchantKey?: string;
9
+ expand?: string;
10
+ project?: string;
11
+ filter?: string;
12
+ sort?: string;
13
+ limit?: number;
14
+ offset?: number;
15
+ }
16
+ export declare const useCMSMediaQuery: (query?: MediaFilterQueryDTO | undefined, props?: {
17
+ enabled?: boolean | undefined;
18
+ getFetchMore?: ((lastPage: any, allPages: any[]) => void) | undefined;
19
+ } | undefined) => import("react-query").InfiniteQueryResult<import("@sentecacommerce/sdk").MediaFilterResultDTO, unknown>;
@@ -0,0 +1,4 @@
1
+ export declare const cacheKeys: {
2
+ cmsFolders: string;
3
+ cmsMedia: string;
4
+ };
@@ -0,0 +1 @@
1
+ export * from './cacheKeys';
@@ -4,3 +4,8 @@ export * from './useInjectedContentContext';
4
4
  export * from './useCmsContent';
5
5
  export * from './useCmsContentList';
6
6
  export * from './useContentCategoriesMap';
7
+ export * from './useCmsFolders';
8
+ export * from './useCreateCmsFolders';
9
+ export * from './useCmsMedia';
10
+ export * from './useCmsMediaUploadAssets';
11
+ export * from './useCmsMediaDeleteAssets';
@@ -0,0 +1,2 @@
1
+ import { useCMSFoldersQuery } from '../api';
2
+ export { useCMSFoldersQuery as useCmsFolders };
@@ -0,0 +1,2 @@
1
+ import { useCMSMediaQuery } from '../api';
2
+ export { useCMSMediaQuery as useCmsMedia };
@@ -0,0 +1,2 @@
1
+ import { useCMSMediaDeleteAssetsMutation } from '../api';
2
+ export { useCMSMediaDeleteAssetsMutation as useCmsMediaDeleteAssets };
@@ -0,0 +1,2 @@
1
+ import { useCMSMediaUploadAssetsMutation } from '../api';
2
+ export { useCMSMediaUploadAssetsMutation as useCmsMediaUploadAssets };
@@ -0,0 +1,2 @@
1
+ import { useCMSFoldersCreateMutation } from '../api';
2
+ export { useCMSFoldersCreateMutation as useCreateCmsFolders };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sentecacommerce-theme/lib",
3
3
  "sideEffects": false,
4
- "version": "0.12.52",
4
+ "version": "0.12.53",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
7
7
  "types": "dist/types/index.d.ts",
@@ -28,9 +28,9 @@
28
28
  "build:types": "tsc --emitDeclarationOnly --declaration --declarationDir dist/types",
29
29
  "dev": "yarn build:esm --watch"
30
30
  },
31
- "gitHead": "ee5e10a94f844413770eda18c2f13eddc9c85353",
31
+ "gitHead": "2c679cfe2f1c5c7fb093ca470df6e058fb1de741",
32
32
  "dependencies": {
33
- "@sentecacommerce-theme/base": "^0.12.52",
33
+ "@sentecacommerce-theme/base": "^0.12.53",
34
34
  "@sentecacommerce/sdk": "2.0.118",
35
35
  "body-scroll-lock": "^3.1.5",
36
36
  "copy-to-clipboard": "^3.3.1",