@maas/payload-plugin-media-cloud 0.0.0 → 0.0.2

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.
@@ -201,4 +201,4 @@
201
201
  }
202
202
 
203
203
 
204
- /*# sourceMappingURL=upload-manager-DN4RrmYB.css.map*/
204
+ /*# sourceMappingURL=upload-manager-D9UZkMR8.css.map*/
@@ -1 +1 @@
1
- {"version":3,"file":"upload-manager-DN4RrmYB.css","names":[],"sources":["../../../src/components/upload-manager/upload-manager.css"],"sourcesContent":["@keyframes pulse {\n 0% {\n opacity: 0.6;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n opacity: 0.6;\n }\n}\n\n@keyframes shimmer {\n 0% {\n background-position: -200% 0;\n }\n 100% {\n background-position: 200% 0;\n }\n}\n\n.upload-manager {\n position: fixed;\n overflow: hidden;\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n width: 400px;\n max-height: 500px;\n margin: 2.25rem;\n background: var(--theme-bg);\n border: 1px solid var(--theme-elevation-100);\n border-radius: var(--style-radius-m);\n box-shadow: var(--box-shadow-lg);\n z-index: 1024;\n display: flex;\n flex-direction: column;\n}\n\n.upload-manager__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0.75rem 1rem;\n border-bottom: 1px solid var(--theme-elevation-100);\n background: var(--theme-elevation-50);\n\n & h4 {\n margin: 0;\n font-size: 0.875rem;\n font-weight: 600;\n color: var(--theme-text);\n }\n}\n\n.upload-manager__tabs {\n display: flex;\n border-bottom: 1px solid var(--theme-elevation-100);\n background: var(--theme-elevation-25);\n\n & .upload-tab {\n flex: 1;\n padding: 0.5rem 0.75rem;\n background: none;\n border: none;\n color: var(--theme-text-dim);\n font-size: 0.75rem;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s ease;\n border-bottom: 2px solid transparent;\n\n &:hover {\n background: var(--theme-elevation-50);\n color: var(--theme-text);\n }\n\n &[data-active='true'] {\n color: var(--theme-success-500);\n border-bottom-color: var(--theme-success-500);\n background: var(--theme-bg);\n }\n }\n}\n\n.upload-manager__content {\n flex: 1;\n overflow-y: auto;\n max-height: 300px;\n padding: 0;\n\n & ul {\n list-style: none;\n margin: 0;\n padding: 0;\n\n & li {\n padding: 0.75rem 1rem;\n border-bottom: 1px solid var(--theme-elevation-50);\n\n &:last-child {\n border-bottom: none;\n }\n\n &[data-status='uploading'] {\n background: var(--theme-bg);\n }\n\n &[data-status='processing'] {\n background: var(--theme-warning-50);\n }\n\n &[data-status='completed'] {\n background: var(--theme-success-50);\n }\n }\n }\n\n & .upload-empty-state {\n padding: 2rem 1rem;\n text-align: center;\n color: var(--theme-text-dim);\n font-size: 0.875rem;\n margin: 0;\n }\n}\n\n.upload-progress-bar {\n height: 3px;\n background: var(--theme-elevation-100);\n border-radius: 2px;\n overflow: hidden;\n position: relative;\n\n & .upload-progress {\n height: 100%;\n background: var(--theme-success-500);\n width: calc(var(--progress) * 100%);\n transition: width 0.3s ease;\n border-radius: inherit;\n\n &[data-active='true'] {\n background: var(--theme-warning-500);\n animation: pulse 1.5s ease-in-out infinite;\n width: 100%;\n }\n }\n}\n\n.upload-info {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 0.5rem;\n\n & .upload-filename {\n font-size: 0.875rem;\n font-weight: 500;\n color: var(--theme-text);\n flex: 1;\n margin-right: 0.5rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n & .upload-meta {\n font-size: 0.75rem;\n color: var(--theme-text-dim);\n font-weight: 500;\n flex-shrink: 0;\n }\n}\n\n.upload-manager__file {\n & .upload-manager__file--polling {\n animation: pulse 2s ease-in-out infinite;\n background: linear-gradient(90deg, #3b82f6, #8b5cf6, #3b82f6);\n background-size: 200% 100%;\n animation:\n pulse 2s ease-in-out infinite,\n shimmer 3s ease-in-out infinite;\n }\n}\n\n.upload-manager__footer {\n padding: 0.75rem 1rem;\n border-top: 1px solid var(--theme-elevation-100);\n background: var(--theme-elevation-50);\n display: flex;\n justify-content: center;\n}\n\n// Responsive adjustments\n@media (max-width: 768px) {\n .upload-manager {\n width: calc(100vw - 2rem);\n right: 1rem;\n left: 1rem;\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
1
+ {"version":3,"file":"upload-manager-D9UZkMR8.css","names":[],"sources":["../../../src/components/upload-manager/upload-manager.css"],"sourcesContent":["@keyframes pulse {\n 0% {\n opacity: 0.6;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n opacity: 0.6;\n }\n}\n\n@keyframes shimmer {\n 0% {\n background-position: -200% 0;\n }\n 100% {\n background-position: 200% 0;\n }\n}\n\n.upload-manager {\n position: fixed;\n overflow: hidden;\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n width: 400px;\n max-height: 500px;\n margin: 2.25rem;\n background: var(--theme-bg);\n border: 1px solid var(--theme-elevation-100);\n border-radius: var(--style-radius-m);\n box-shadow: var(--box-shadow-lg);\n z-index: 1024;\n display: flex;\n flex-direction: column;\n}\n\n.upload-manager__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0.75rem 1rem;\n border-bottom: 1px solid var(--theme-elevation-100);\n background: var(--theme-elevation-50);\n\n & h4 {\n margin: 0;\n font-size: 0.875rem;\n font-weight: 600;\n color: var(--theme-text);\n }\n}\n\n.upload-manager__tabs {\n display: flex;\n border-bottom: 1px solid var(--theme-elevation-100);\n background: var(--theme-elevation-25);\n\n & .upload-tab {\n flex: 1;\n padding: 0.5rem 0.75rem;\n background: none;\n border: none;\n color: var(--theme-text-dim);\n font-size: 0.75rem;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s ease;\n border-bottom: 2px solid transparent;\n\n &:hover {\n background: var(--theme-elevation-50);\n color: var(--theme-text);\n }\n\n &[data-active='true'] {\n color: var(--theme-success-500);\n border-bottom-color: var(--theme-success-500);\n background: var(--theme-bg);\n }\n }\n}\n\n.upload-manager__content {\n flex: 1;\n overflow-y: auto;\n max-height: 300px;\n padding: 0;\n\n & ul {\n list-style: none;\n margin: 0;\n padding: 0;\n\n & li {\n padding: 0.75rem 1rem;\n border-bottom: 1px solid var(--theme-elevation-50);\n\n &:last-child {\n border-bottom: none;\n }\n\n &[data-status='uploading'] {\n background: var(--theme-bg);\n }\n\n &[data-status='processing'] {\n background: var(--theme-warning-50);\n }\n\n &[data-status='completed'] {\n background: var(--theme-success-50);\n }\n }\n }\n\n & .upload-empty-state {\n padding: 2rem 1rem;\n text-align: center;\n color: var(--theme-text-dim);\n font-size: 0.875rem;\n margin: 0;\n }\n}\n\n.upload-progress-bar {\n height: 3px;\n background: var(--theme-elevation-100);\n border-radius: 2px;\n overflow: hidden;\n position: relative;\n\n & .upload-progress {\n height: 100%;\n background: var(--theme-success-500);\n width: calc(var(--progress) * 100%);\n transition: width 0.3s ease;\n border-radius: inherit;\n\n &[data-active='true'] {\n background: var(--theme-warning-500);\n animation: pulse 1.5s ease-in-out infinite;\n width: 100%;\n }\n }\n}\n\n.upload-info {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 0.5rem;\n\n & .upload-filename {\n font-size: 0.875rem;\n font-weight: 500;\n color: var(--theme-text);\n flex: 1;\n margin-right: 0.5rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n & .upload-meta {\n font-size: 0.75rem;\n color: var(--theme-text-dim);\n font-weight: 500;\n flex-shrink: 0;\n }\n}\n\n.upload-manager__file {\n & .upload-manager__file--polling {\n animation: pulse 2s ease-in-out infinite;\n background: linear-gradient(90deg, #3b82f6, #8b5cf6, #3b82f6);\n background-size: 200% 100%;\n animation:\n pulse 2s ease-in-out infinite,\n shimmer 3s ease-in-out infinite;\n }\n}\n\n.upload-manager__footer {\n padding: 0.75rem 1rem;\n border-top: 1px solid var(--theme-elevation-100);\n background: var(--theme-elevation-50);\n display: flex;\n justify-content: center;\n}\n\n// Responsive adjustments\n@media (max-width: 768px) {\n .upload-manager {\n width: calc(100vw - 2rem);\n right: 1rem;\n left: 1rem;\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
@@ -0,0 +1,61 @@
1
+ //#region ../error-handler/dist/index.js
2
+ /**
3
+ * Creates an error handler with configurable prefix and error sets
4
+ * @param config - Configuration object containing prefix, level, and error set
5
+ * @returns Object with logError and throwError functions
6
+ */
7
+ function createErrorHandler(config) {
8
+ const { prefix, level, errors } = config;
9
+ class BaseError extends Error {
10
+ key;
11
+ constructor({ message, key }) {
12
+ super(`[${prefix}] ${message}`);
13
+ this.name = "BaseError";
14
+ this.key = key;
15
+ }
16
+ }
17
+ function formatMessage(errorKey) {
18
+ const message = errors[errorKey] || `Unknown error: ${String(errorKey)}`;
19
+ return `[${prefix}] ${message}`;
20
+ }
21
+ function logError(errorKey, overrideLevel) {
22
+ const formattedMessage = formatMessage(errorKey);
23
+ const logLevel = overrideLevel || level;
24
+ switch (logLevel) {
25
+ case "LOG":
26
+ console.log(formattedMessage);
27
+ break;
28
+ case "WARNING":
29
+ console.warn(formattedMessage);
30
+ break;
31
+ case "ERROR":
32
+ console.error(formattedMessage);
33
+ break;
34
+ default: console.error(formattedMessage);
35
+ }
36
+ }
37
+ function throwError(errorKey) {
38
+ const formattedMessage = formatMessage(errorKey);
39
+ throw new BaseError({
40
+ key: String(errorKey),
41
+ message: formattedMessage
42
+ });
43
+ }
44
+ return {
45
+ logError,
46
+ throwError
47
+ };
48
+ }
49
+ /**
50
+ * Error level enum for categorizing error severity
51
+ */
52
+ let ErrorLevel = /* @__PURE__ */ function(ErrorLevel$1) {
53
+ ErrorLevel$1["LOG"] = "LOG";
54
+ ErrorLevel$1["WARNING"] = "WARNING";
55
+ ErrorLevel$1["ERROR"] = "ERROR";
56
+ return ErrorLevel$1;
57
+ }({});
58
+
59
+ //#endregion
60
+ export { ErrorLevel, createErrorHandler };
61
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../error-handler/dist/index.js"],"sourcesContent":["//#region src/createErrorHandler.ts\n/**\n* Creates an error handler with configurable prefix and error sets\n* @param config - Configuration object containing prefix, level, and error set\n* @returns Object with logError and throwError functions\n*/\nfunction createErrorHandler(config) {\n\tconst { prefix, level, errors } = config;\n\tclass BaseError extends Error {\n\t\tkey;\n\t\tconstructor({ message, key }) {\n\t\t\tsuper(`[${prefix}] ${message}`);\n\t\t\tthis.name = \"BaseError\";\n\t\t\tthis.key = key;\n\t\t}\n\t}\n\tfunction formatMessage(errorKey) {\n\t\tconst message = errors[errorKey] || `Unknown error: ${String(errorKey)}`;\n\t\treturn `[${prefix}] ${message}`;\n\t}\n\tfunction logError(errorKey, overrideLevel) {\n\t\tconst formattedMessage = formatMessage(errorKey);\n\t\tconst logLevel = overrideLevel || level;\n\t\tswitch (logLevel) {\n\t\t\tcase \"LOG\":\n\t\t\t\tconsole.log(formattedMessage);\n\t\t\t\tbreak;\n\t\t\tcase \"WARNING\":\n\t\t\t\tconsole.warn(formattedMessage);\n\t\t\t\tbreak;\n\t\t\tcase \"ERROR\":\n\t\t\t\tconsole.error(formattedMessage);\n\t\t\t\tbreak;\n\t\t\tdefault: console.error(formattedMessage);\n\t\t}\n\t}\n\tfunction throwError(errorKey) {\n\t\tconst formattedMessage = formatMessage(errorKey);\n\t\tthrow new BaseError({\n\t\t\tkey: String(errorKey),\n\t\t\tmessage: formattedMessage\n\t\t});\n\t}\n\treturn {\n\t\tlogError,\n\t\tthrowError\n\t};\n}\n\n//#endregion\n//#region src/types.ts\n/**\n* Error level enum for categorizing error severity\n*/\nlet ErrorLevel = /* @__PURE__ */ function(ErrorLevel$1) {\n\tErrorLevel$1[\"LOG\"] = \"LOG\";\n\tErrorLevel$1[\"WARNING\"] = \"WARNING\";\n\tErrorLevel$1[\"ERROR\"] = \"ERROR\";\n\treturn ErrorLevel$1;\n}({});\n\n//#endregion\nexport { ErrorLevel, createErrorHandler };\n//# sourceMappingURL=index.js.map"],"mappings":";;;;;;AAMA,SAAS,mBAAmB,QAAQ;CACnC,MAAM,EAAE,QAAQ,OAAO,QAAQ,GAAG;CAClC,MAAM,kBAAkB,MAAM;EAC7B;EACA,YAAY,EAAE,SAAS,KAAK,EAAE;GAC7B,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC;GAC/B,KAAK,OAAO;GACZ,KAAK,MAAM;EACX;CACD;CACD,SAAS,cAAc,UAAU;EAChC,MAAM,UAAU,OAAO,aAAa,CAAC,eAAe,EAAE,OAAO,SAAS,EAAE;AACxE,SAAO,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS;CAC/B;CACD,SAAS,SAAS,UAAU,eAAe;EAC1C,MAAM,mBAAmB,cAAc,SAAS;EAChD,MAAM,WAAW,iBAAiB;AAClC,UAAQ,UAAR;GACC,KAAK;IACJ,QAAQ,IAAI,iBAAiB;AAC7B;GACD,KAAK;IACJ,QAAQ,KAAK,iBAAiB;AAC9B;GACD,KAAK;IACJ,QAAQ,MAAM,iBAAiB;AAC/B;GACD,SAAS,QAAQ,MAAM,iBAAiB;EACxC;CACD;CACD,SAAS,WAAW,UAAU;EAC7B,MAAM,mBAAmB,cAAc,SAAS;AAChD,QAAM,IAAI,UAAU;GACnB,KAAK,OAAO,SAAS;GACrB,SAAS;EACT;CACD;AACD,QAAO;EACN;EACA;CACA;AACD;;;;AAOD,IAAI,6BAA6B,SAAS,cAAc;CACvD,aAAa,SAAS;CACtB,aAAa,aAAa;CAC1B,aAAa,WAAW;AACxB,QAAO;AACP,EAAC,CAAE,EAAC"}
@@ -1,5 +1,5 @@
1
1
  import { MediaCloudError } from "../types/errors.js";
2
- import { ErrorLevel, createErrorHandler } from "@maas/error-handler";
2
+ import { ErrorLevel, createErrorHandler } from "../error-handler/dist/index.js";
3
3
 
4
4
  //#region src/hooks/useErrorHandler.ts
5
5
  function useErrorHandler() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maas/payload-plugin-media-cloud",
3
- "version": "0.0.0",
3
+ "version": "0.0.2",
4
4
  "type": "module",
5
5
  "contributors": [
6
6
  {
@@ -29,21 +29,9 @@
29
29
  }
30
30
  },
31
31
  "sideEffects": false,
32
- "scripts": {
33
- "build": "tsdown",
34
- "dev": "tsdown --watch",
35
- "lint": "eslint .",
36
- "format": "prettier --write .",
37
- "prepack": "pnpm resolve-catalog",
38
- "postpack": "pnpm restore-catalog",
39
- "resolve-catalog": "pnpx tsx ../../scripts/resolve-catalog.ts",
40
- "restore-catalog": "pnpx tsx ../../scripts/restore-catalog.ts",
41
- "release": "release-it"
42
- },
43
32
  "dependencies": {
44
33
  "@aws-sdk/client-s3": "^3.859.0",
45
- "@maas/error-handler": "workspace:*",
46
- "@mux/mux-node": "^12.3.0",
34
+ "@mux/mux-node": "^12.4.0",
47
35
  "@mux/upchunk": "^3.5.0",
48
36
  "@tus/server": "^2.3.0",
49
37
  "@tus/utils": "^0.6.0",
@@ -67,26 +55,23 @@
67
55
  },
68
56
  "@payloadcms/plugin-cloud-storage": {
69
57
  "optional": false
70
- },
71
- "@payloadcms/ui": {
72
- "optional": false
73
- },
74
- "payload": {
75
- "optional": false
76
- },
77
- "react": {
78
- "optional": false
79
- },
80
- "react-dom": {
81
- "optional": false
82
58
  }
83
59
  },
84
60
  "devDependencies": {
85
61
  "@types/multistream": "^4.1.3",
86
62
  "@types/node": "^22.17.0",
87
- "@types/react": "^19.1.7",
63
+ "@types/react": "^19.1.9",
64
+ "@types/react-dom": "^19.1.7",
88
65
  "glob": "^11.0.3",
89
- "tsdown": "^0.13.1",
90
- "typescript": "5.8.3"
66
+ "tsdown": "^0.13.3",
67
+ "typescript": "5.8.3",
68
+ "@maas/error-handler": "1.0.0"
69
+ },
70
+ "scripts": {
71
+ "build": "tsdown",
72
+ "dev": "tsdown --watch",
73
+ "lint": "eslint .",
74
+ "format": "prettier --write .",
75
+ "release": "release-it && tsx ../../scripts/publish.ts"
91
76
  }
92
- }
77
+ }