sanity-plugin-mux-input 1.0.2-beta.0 → 1.1.3

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 (38) hide show
  1. package/README.md +22 -0
  2. package/build/actions/assets.js +1 -1
  3. package/build/actions/assets.js.map +1 -1
  4. package/build/actions/secrets.js +2 -2
  5. package/build/actions/secrets.js.map +1 -1
  6. package/build/actions/upload.js +11 -11
  7. package/build/actions/upload.js.map +1 -1
  8. package/build/clients/SanityClient.js.map +1 -1
  9. package/build/clients/upChunkObservable.js.map +1 -1
  10. package/build/components/FileInputButton.js +4 -2
  11. package/build/components/FileInputButton.js.map +1 -1
  12. package/build/components/Input.js +35 -13
  13. package/build/components/Input.js.map +1 -1
  14. package/build/components/MuxLogo.js.map +1 -1
  15. package/build/components/Preview.js +1 -1
  16. package/build/components/Preview.js.map +1 -1
  17. package/build/components/SelectAsset.js.map +1 -1
  18. package/build/components/Setup.js.map +1 -1
  19. package/build/components/UploadPlaceholder.js +1 -1
  20. package/build/components/UploadPlaceholder.js.map +1 -1
  21. package/build/components/Uploader.js +1 -1
  22. package/build/components/Uploader.js.map +1 -1
  23. package/build/components/Video.css +4 -0
  24. package/build/components/Video.js +31 -4
  25. package/build/components/Video.js.map +1 -1
  26. package/build/config.js +17 -0
  27. package/build/config.js.map +1 -0
  28. package/build/index.js.map +1 -1
  29. package/build/schema/mux.video.js.map +1 -1
  30. package/build/schema/mux.videoAsset.js.map +1 -1
  31. package/build/util/extractFiles.js.map +1 -1
  32. package/build/util/formatTime.js.map +1 -1
  33. package/build/util/generateJwt.js.map +1 -1
  34. package/build/util/getPosterSrc.js.map +1 -1
  35. package/build/util/getStoryboardSrc.js.map +1 -1
  36. package/build/util/getVideoSrc.js.map +1 -1
  37. package/config.dist.json +3 -0
  38. package/package.json +66 -53
package/README.md CHANGED
@@ -59,6 +59,18 @@ To enable [signed urls](https://docs.mux.com/docs/security-signed-urls) with con
59
59
 
60
60
  More information for this feature of the plugin can be found on Mux's [documentation](https://docs.mux.com/docs/headless-cms-sanity#advanced-signed-urls)
61
61
 
62
+ # Enabling MP4 support
63
+
64
+ To enable [static MP4 renditions](https://docs.mux.com/guides/video/enable-static-mp4-renditions), create or open the config file found in `config/mux-input.json` in your studio folder. This file is automatically created the first time the studio starts after adding the plugin.
65
+
66
+ ```
67
+ {
68
+ "mp4_support": "standard"
69
+ }
70
+ ```
71
+
72
+ Currently `mp4_support` is the only supported MUX option and this supports a value of either `standard` or `none` (the default).
73
+
62
74
  # Contributing
63
75
 
64
76
  Issues are actively monitored and PRs are welcome. When developing this plugin the easiest setup is:
@@ -72,3 +84,13 @@ Issues are actively monitored and PRs are welcome. When developing this plugin t
72
84
  1. Re-start the sanity studio server with `npm start`.
73
85
  1. Edit `schemas/post.js` and add follow the plugin documentation to add a `mux.video` type field.
74
86
  1. Your studio should reload, and now when you edit the plugin code it should reload the studio, when you're done create a branch, put in a PR and a maintainer will review it. Thank you!
87
+
88
+ ## Publishing
89
+
90
+ ### Test
91
+
92
+ `yarn semantic-release`
93
+
94
+ ### Go live
95
+
96
+ `yarn semantic-release -- --no-ci`
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.default = void 0;
6
7
  exports.deleteAsset = deleteAsset;
7
8
  exports.getAsset = getAsset;
8
- exports.default = void 0;
9
9
 
10
10
  var _SanityClient = _interopRequireDefault(require("../clients/SanityClient"));
11
11
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/actions/assets.js"],"names":["deleteAsset","assetId","dataset","client","clientConfig","request","url","withCredentials","method","getAsset"],"mappings":";;;;;;;;;AAAA;;;;AAEO,SAASA,WAAT,CAAqBC,OAArB,EAA8B;AACnC,MAAMC,OAAO,GAAGC,sBAAOC,YAAP,CAAoBF,OAApC;AACA,SAAOC,sBAAOE,OAAP,CAAe;AACpBC,IAAAA,GAAG,+BAAwBJ,OAAxB,cAAmCD,OAAnC,CADiB;AAEpBM,IAAAA,eAAe,EAAE,IAFG;AAGpBC,IAAAA,MAAM,EAAE;AAHY,GAAf,CAAP;AAKD;;AAEM,SAASC,QAAT,CAAkBR,OAAlB,EAA2B;AAChC,MAAMC,OAAO,GAAGC,sBAAOC,YAAP,CAAoBF,OAApC;AACA,SAAOC,sBAAOE,OAAP,CAAe;AACpBC,IAAAA,GAAG,+BAAwBJ,OAAxB,mBAAwCD,OAAxC,CADiB;AAEpBM,IAAAA,eAAe,EAAE,IAFG;AAGpBC,IAAAA,MAAM,EAAE;AAHY,GAAf,CAAP;AAKD;;eAEc;AAACC,EAAAA,QAAD;AAAWT,EAAAA;AAAX,C","sourcesContent":["import client from '../clients/SanityClient'\n\nexport function deleteAsset(assetId) {\n const dataset = client.clientConfig.dataset\n return client.request({\n url: `/addons/mux/assets/${dataset}/${assetId}`,\n withCredentials: true,\n method: 'DELETE',\n })\n}\n\nexport function getAsset(assetId) {\n const dataset = client.clientConfig.dataset\n return client.request({\n url: `/addons/mux/assets/${dataset}/data/${assetId}`,\n withCredentials: true,\n method: 'GET',\n })\n}\n\nexport default {getAsset, deleteAsset}\n"],"file":"assets.js"}
1
+ {"version":3,"file":"assets.js","names":["deleteAsset","assetId","dataset","client","clientConfig","request","url","withCredentials","method","getAsset"],"sources":["../../src/actions/assets.js"],"sourcesContent":["import client from '../clients/SanityClient'\n\nexport function deleteAsset(assetId) {\n const dataset = client.clientConfig.dataset\n return client.request({\n url: `/addons/mux/assets/${dataset}/${assetId}`,\n withCredentials: true,\n method: 'DELETE',\n })\n}\n\nexport function getAsset(assetId) {\n const dataset = client.clientConfig.dataset\n return client.request({\n url: `/addons/mux/assets/${dataset}/data/${assetId}`,\n withCredentials: true,\n method: 'GET',\n })\n}\n\nexport default {getAsset, deleteAsset}\n"],"mappings":";;;;;;;;;AAAA;;;;AAEO,SAASA,WAAT,CAAqBC,OAArB,EAA8B;EACnC,IAAMC,OAAO,GAAGC,qBAAA,CAAOC,YAAP,CAAoBF,OAApC;EACA,OAAOC,qBAAA,CAAOE,OAAP,CAAe;IACpBC,GAAG,+BAAwBJ,OAAxB,cAAmCD,OAAnC,CADiB;IAEpBM,eAAe,EAAE,IAFG;IAGpBC,MAAM,EAAE;EAHY,CAAf,CAAP;AAKD;;AAEM,SAASC,QAAT,CAAkBR,OAAlB,EAA2B;EAChC,IAAMC,OAAO,GAAGC,qBAAA,CAAOC,YAAP,CAAoBF,OAApC;EACA,OAAOC,qBAAA,CAAOE,OAAP,CAAe;IACpBC,GAAG,+BAAwBJ,OAAxB,mBAAwCD,OAAxC,CADiB;IAEpBM,eAAe,EAAE,IAFG;IAGpBC,MAAM,EAAE;EAHY,CAAf,CAAP;AAKD;;eAEc;EAACC,QAAD;EAAWT;AAAX,C"}
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.createSigningKeys = createSigningKeys;
6
7
  exports.fetchSecrets = fetchSecrets;
8
+ exports.haveValidSigningKeys = haveValidSigningKeys;
7
9
  exports.saveSecrets = saveSecrets;
8
- exports.createSigningKeys = createSigningKeys;
9
10
  exports.testSecrets = testSecrets;
10
- exports.haveValidSigningKeys = haveValidSigningKeys;
11
11
  exports.testSecretsObservable = testSecretsObservable;
12
12
 
13
13
  var _rxjs = require("rxjs");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/actions/secrets.js"],"names":["cache","secrets","exists","fetchSecrets","Promise","resolve","client","fetch","then","Boolean","token","secretKey","enableSignedUrls","signingKeyId","signingKeyPrivate","saveSecrets","doc","_id","_type","createOrReplace","createSigningKeys","dataset","clientConfig","request","url","withCredentials","method","testSecrets","haveValidSigningKeys","res","data","id","e","console","error","testSecretsObservable","observable"],"mappings":";;;;;;;;;;;;AAAA;;AACA;;;;;;;;AAEA,IAAMA,KAAK,GAAG;AACZC,EAAAA,OAAO,EAAE,IADG;AAEZC,EAAAA,MAAM,EAAE;AAFI,CAAd;;AAKO,SAASC,YAAT,GAAwB;AAC7B,MAAIH,KAAK,CAACE,MAAV,EAAkB;AAChB,WAAOE,OAAO,CAACC,OAAR,CAAgBL,KAAhB,CAAP;AACD;;AAED,SAAOM,sBAAOC,KAAP,CAAa,4BAAb,EAA2CC,IAA3C,CAAiDP,OAAD,IAAa;AAClED,IAAAA,KAAK,CAACE,MAAN,GAAeO,OAAO,CAACR,OAAD,CAAtB;AACAD,IAAAA,KAAK,CAACC,OAAN,GAAgB;AACdS,MAAAA,KAAK,EAAE,CAAAT,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAES,KAAT,KAAkB,IADX;AAEdC,MAAAA,SAAS,EAAE,CAAAV,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEU,SAAT,KAAsB,IAFnB;AAGdC,MAAAA,gBAAgB,EAAE,CAAAX,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEW,gBAAT,KAA6B,KAHjC;AAIdC,MAAAA,YAAY,EAAE,CAAAZ,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEY,YAAT,KAAyB,IAJzB;AAKdC,MAAAA,iBAAiB,EAAE,CAAAb,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEa,iBAAT,KAA8B;AALnC,KAAhB;AAOA,WAAOd,KAAP;AACD,GAVM,CAAP;AAWD;;AAEM,SAASe,WAAT,CAAqBL,KAArB,EAA4BC,SAA5B,EAAuCC,gBAAvC,EAAyDC,YAAzD,EAAuEC,iBAAvE,EAA0F;AAC/F,MAAME,GAAG,GAAG;AACVC,IAAAA,GAAG,EAAE,aADK;AAEVC,IAAAA,KAAK,EAAE,YAFG;AAGVR,IAAAA,KAHU;AAIVC,IAAAA,SAJU;AAKVC,IAAAA,gBALU;AAMVC,IAAAA,YANU;AAOVC,IAAAA;AAPU,GAAZ;AAUA,SAAOR,sBAAOa,eAAP,CAAuBH,GAAvB,EAA4BR,IAA5B,CAAiC,MAAM;AAC5CR,IAAAA,KAAK,CAACE,MAAN,GAAe,IAAf;AACAF,IAAAA,KAAK,CAACC,OAAN,GAAgB;AACdS,MAAAA,KADc;AAEdC,MAAAA,SAFc;AAGdC,MAAAA,gBAHc;AAIdC,MAAAA,YAJc;AAKdC,MAAAA;AALc,KAAhB;AAOA,WAAOd,KAAK,CAACC,OAAb;AACD,GAVM,CAAP;AAWD;;AAEM,SAASmB,iBAAT,GAA6B;AAClC,MAAMC,OAAO,GAAGf,sBAAOgB,YAAP,CAAoBD,OAApC;AACA,SAAOf,sBAAOiB,OAAP,CAAe;AACpBC,IAAAA,GAAG,qCAA8BH,OAA9B,CADiB;AAEpBI,IAAAA,eAAe,EAAE,IAFG;AAGpBC,IAAAA,MAAM,EAAE;AAHY,GAAf,CAAP;AAKD;;AAEM,SAASC,WAAT,GAAuB;AAC5B,MAAMN,OAAO,GAAGf,sBAAOgB,YAAP,CAAoBD,OAApC;AACA,SAAOf,sBAAOiB,OAAP,CAAe;AACpBC,IAAAA,GAAG,gCAAyBH,OAAzB,UADiB;AAEpBI,IAAAA,eAAe,EAAE,IAFG;AAGpBC,IAAAA,MAAM,EAAE;AAHY,GAAf,CAAP;AAKD;;SAEqBE,oB;;;;;4CAAf,WAAoCf,YAApC,EAAkDC,iBAAlD,EAAqE;AAC1E,QAAI,EAAED,YAAY,IAAIC,iBAAlB,CAAJ,EAA0C;AACxC,aAAO,KAAP;AACD;;AAED,QAAMO,OAAO,GAAGf,sBAAOgB,YAAP,CAAoBD,OAApC;;AACA,QAAI;AACF,UAAMQ,GAAG,SAASvB,sBAAOiB,OAAP,CAAe;AAC/BC,QAAAA,GAAG,qCAA8BH,OAA9B,cAAyCR,YAAzC,CAD4B;AAE/BY,QAAAA,eAAe,EAAE,IAFc;AAG/BC,QAAAA,MAAM,EAAE;AAHuB,OAAf,CAAlB,CADE,CAMF;AACA;AACA;;AACA,aAAO,CAAC,EAAEG,GAAG,CAACC,IAAJ,IAAYD,GAAG,CAACC,IAAJ,CAASC,EAAvB,CAAR;AACD,KAVD,CAUE,OAAOC,CAAP,EAAU;AACVC,MAAAA,OAAO,CAACC,KAAR,CAAc,6BAAd,EAA6CrB,YAA7C,EAA2D,0BAA3D;AACA,aAAO,KAAP;AACD;AACF,G;;;;AAEM,SAASsB,qBAAT,GAAiC;AACtC,MAAMd,OAAO,GAAGf,sBAAOgB,YAAP,CAAoBD,OAApC;AACA,SAAO,iBAAM,MACXf,sBAAO8B,UAAP,CAAkBb,OAAlB,CAA0B;AACxBC,IAAAA,GAAG,gCAAyBH,OAAzB,UADqB;AAExBI,IAAAA,eAAe,EAAE,IAFO;AAGxBC,IAAAA,MAAM,EAAE;AAHgB,GAA1B,CADK,CAAP;AAOD","sourcesContent":["import {defer} from 'rxjs'\nimport client from '../clients/SanityClient'\n\nconst cache = {\n secrets: null,\n exists: false,\n}\n\nexport function fetchSecrets() {\n if (cache.exists) {\n return Promise.resolve(cache)\n }\n\n return client.fetch('*[_id == \"secrets.mux\"][0]').then((secrets) => {\n cache.exists = Boolean(secrets)\n cache.secrets = {\n token: secrets?.token || null,\n secretKey: secrets?.secretKey || null,\n enableSignedUrls: secrets?.enableSignedUrls || false,\n signingKeyId: secrets?.signingKeyId || null,\n signingKeyPrivate: secrets?.signingKeyPrivate || null,\n }\n return cache\n })\n}\n\nexport function saveSecrets(token, secretKey, enableSignedUrls, signingKeyId, signingKeyPrivate) {\n const doc = {\n _id: 'secrets.mux',\n _type: 'mux.apiKey',\n token,\n secretKey,\n enableSignedUrls,\n signingKeyId,\n signingKeyPrivate,\n }\n\n return client.createOrReplace(doc).then(() => {\n cache.exists = true\n cache.secrets = {\n token,\n secretKey,\n enableSignedUrls,\n signingKeyId,\n signingKeyPrivate,\n }\n return cache.secrets\n })\n}\n\nexport function createSigningKeys() {\n const dataset = client.clientConfig.dataset\n return client.request({\n url: `/addons/mux/signing-keys/${dataset}`,\n withCredentials: true,\n method: 'POST',\n })\n}\n\nexport function testSecrets() {\n const dataset = client.clientConfig.dataset\n return client.request({\n url: `/addons/mux/secrets/${dataset}/test`,\n withCredentials: true,\n method: 'GET',\n })\n}\n\nexport async function haveValidSigningKeys(signingKeyId, signingKeyPrivate) {\n if (!(signingKeyId && signingKeyPrivate)) {\n return false\n }\n\n const dataset = client.clientConfig.dataset\n try {\n const res = await client.request({\n url: `/addons/mux/signing-keys/${dataset}/${signingKeyId}`,\n withCredentials: true,\n method: 'GET',\n })\n //\n // if this signing key is valid it will return { data: { id: 'xxxx' } }\n //\n return !!(res.data && res.data.id)\n } catch (e) {\n console.error('Error fetching signingKeyId', signingKeyId, 'assuming it is not valid')\n return false\n }\n}\n\nexport function testSecretsObservable() {\n const dataset = client.clientConfig.dataset\n return defer(() =>\n client.observable.request({\n url: `/addons/mux/secrets/${dataset}/test`,\n withCredentials: true,\n method: 'GET',\n })\n )\n}\n"],"file":"secrets.js"}
1
+ {"version":3,"file":"secrets.js","names":["cache","secrets","exists","fetchSecrets","Promise","resolve","client","fetch","then","Boolean","token","secretKey","enableSignedUrls","signingKeyId","signingKeyPrivate","saveSecrets","doc","_id","_type","createOrReplace","createSigningKeys","dataset","clientConfig","request","url","withCredentials","method","testSecrets","haveValidSigningKeys","res","data","id","e","console","error","testSecretsObservable","defer","observable"],"sources":["../../src/actions/secrets.js"],"sourcesContent":["import {defer} from 'rxjs'\nimport client from '../clients/SanityClient'\n\nconst cache = {\n secrets: null,\n exists: false,\n}\n\nexport function fetchSecrets() {\n if (cache.exists) {\n return Promise.resolve(cache)\n }\n\n return client.fetch('*[_id == \"secrets.mux\"][0]').then((secrets) => {\n cache.exists = Boolean(secrets)\n cache.secrets = {\n token: secrets?.token || null,\n secretKey: secrets?.secretKey || null,\n enableSignedUrls: secrets?.enableSignedUrls || false,\n signingKeyId: secrets?.signingKeyId || null,\n signingKeyPrivate: secrets?.signingKeyPrivate || null,\n }\n return cache\n })\n}\n\nexport function saveSecrets(token, secretKey, enableSignedUrls, signingKeyId, signingKeyPrivate) {\n const doc = {\n _id: 'secrets.mux',\n _type: 'mux.apiKey',\n token,\n secretKey,\n enableSignedUrls,\n signingKeyId,\n signingKeyPrivate,\n }\n\n return client.createOrReplace(doc).then(() => {\n cache.exists = true\n cache.secrets = {\n token,\n secretKey,\n enableSignedUrls,\n signingKeyId,\n signingKeyPrivate,\n }\n return cache.secrets\n })\n}\n\nexport function createSigningKeys() {\n const dataset = client.clientConfig.dataset\n return client.request({\n url: `/addons/mux/signing-keys/${dataset}`,\n withCredentials: true,\n method: 'POST',\n })\n}\n\nexport function testSecrets() {\n const dataset = client.clientConfig.dataset\n return client.request({\n url: `/addons/mux/secrets/${dataset}/test`,\n withCredentials: true,\n method: 'GET',\n })\n}\n\nexport async function haveValidSigningKeys(signingKeyId, signingKeyPrivate) {\n if (!(signingKeyId && signingKeyPrivate)) {\n return false\n }\n\n const dataset = client.clientConfig.dataset\n try {\n const res = await client.request({\n url: `/addons/mux/signing-keys/${dataset}/${signingKeyId}`,\n withCredentials: true,\n method: 'GET',\n })\n //\n // if this signing key is valid it will return { data: { id: 'xxxx' } }\n //\n return !!(res.data && res.data.id)\n } catch (e) {\n console.error('Error fetching signingKeyId', signingKeyId, 'assuming it is not valid')\n return false\n }\n}\n\nexport function testSecretsObservable() {\n const dataset = client.clientConfig.dataset\n return defer(() =>\n client.observable.request({\n url: `/addons/mux/secrets/${dataset}/test`,\n withCredentials: true,\n method: 'GET',\n })\n )\n}\n"],"mappings":"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"}
@@ -4,13 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.cancelUpload = cancelUpload;
7
- exports.uploadUrl = uploadUrl;
8
- exports.uploadFile = uploadFile;
9
- exports.getUpload = getUpload;
10
7
  exports.default = void 0;
8
+ exports.getUpload = getUpload;
9
+ exports.uploadFile = uploadFile;
10
+ exports.uploadUrl = uploadUrl;
11
11
 
12
12
  var _uuid = require("@sanity/uuid");
13
13
 
14
+ var _config = _interopRequireDefault(require("../config"));
15
+
14
16
  var _lodash = require("lodash");
15
17
 
16
18
  var _rxjs = require("rxjs");
@@ -31,9 +33,9 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try
31
33
 
32
34
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
33
35
 
34
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
36
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
35
37
 
36
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
38
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
37
39
 
38
40
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
39
41
 
@@ -60,7 +62,8 @@ function uploadUrl(url) {
60
62
  var enableSignedUrls = options.enableSignedUrls;
61
63
  var muxBody = {
62
64
  input: validUrl,
63
- playback_policy: [enableSignedUrls ? 'signed' : 'public']
65
+ playback_policy: [enableSignedUrls ? 'signed' : 'public'],
66
+ mp4_support: _config.default.mp4_support
64
67
  };
65
68
  var query = {
66
69
  muxBody: JSON.stringify(muxBody),
@@ -107,11 +110,8 @@ function uploadFile(file) {
107
110
  var uuid = (0, _uuid.uuid)();
108
111
  var enableSignedUrls = options.enableSignedUrls;
109
112
  var body = {
110
- playback_policy: [enableSignedUrls ? 'signed' : 'public'] // TODO: These parameters were enabled by Sanity, but we are not using them yet
111
- // mp4_support: false (default),
112
- // normalize_audio: false (default),
113
- // master_access: false (default),
114
-
113
+ mp4_support: _config.default.mp4_support,
114
+ playback_policy: [enableSignedUrls ? 'signed' : 'public']
115
115
  };
116
116
  return (0, _rxjs.concat)((0, _rxjs.of)({
117
117
  type: 'uuid',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/actions/upload.js"],"names":["cancelUpload","uuid","client","observable","request","url","clientConfig","dataset","withCredentials","method","uploadUrl","options","testUrl","pipe","validUrl","type","json","status","Error","enableSignedUrls","muxBody","input","playback_policy","query","JSON","stringify","filename","split","slice","headers","result","asset","results","document","id","uploadFile","file","testFile","fileOptions","body","upload","event","updateAssetDocumentFromUpload","doc","err","getUpload","assetId","pollUpload","maxTries","pollInterval","tries","Promise","resolve","reject","setInterval","data","asset_id","clearInterval","_id","_type","playbackId","playback_ids","uploadId","createOrReplace","then","window","File","optionsFromFile","error","parsed","URL","protocol","match","opts","fileOpts","preserveFilename","undefined","name","contentType"],"mappings":"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","sourcesContent":["/* eslint-disable camelcase */\nimport {uuid as generateUuid} from '@sanity/uuid'\nimport {isString} from 'lodash'\nimport {concat, defer, from, of, throwError} from 'rxjs'\nimport {catchError, mergeMap, mergeMapTo, switchMap} from 'rxjs/operators'\nimport {getAsset} from '../actions/assets'\nimport {testSecretsObservable} from '../actions/secrets'\nimport client from '../clients/SanityClient'\nimport {createUpChunkObservable} from '../clients/upChunkObservable'\n\nexport function cancelUpload(uuid) {\n return client.observable.request({\n url: `/addons/mux/uploads/${client.clientConfig.dataset}/${uuid}`,\n withCredentials: true,\n method: 'DELETE',\n })\n}\n\nexport function uploadUrl(url, options = {}) {\n return testUrl(url).pipe(\n switchMap((validUrl) => {\n return concat(\n of({type: 'url', url: validUrl}),\n testSecretsObservable().pipe(\n switchMap((json) => {\n if (!json || !json.status) {\n return throwError(new Error('Invalid credentials'))\n }\n const uuid = generateUuid()\n const {enableSignedUrls} = options\n const muxBody = {\n input: validUrl,\n playback_policy: [enableSignedUrls ? 'signed' : 'public'],\n }\n const query = {\n muxBody: JSON.stringify(muxBody),\n filename: validUrl.split('/').slice(-1)[0],\n }\n const dataset = client.clientConfig.dataset\n return defer(() =>\n client.observable.request({\n url: `/addons/mux/assets/${dataset}`,\n withCredentials: true,\n method: 'POST',\n headers: {\n 'MUX-Proxy-UUID': uuid,\n 'Content-Type': 'application/json',\n },\n query,\n })\n ).pipe(\n mergeMap((result) => {\n const asset =\n (result && result.results && result.results[0] && result.results[0].document) ||\n null\n if (!asset) {\n return throwError(new Error('No asset document returned'))\n }\n return of({type: 'success', id: uuid, asset})\n })\n )\n })\n )\n )\n })\n )\n}\n\nexport function uploadFile(file, options = {}) {\n return testFile(file).pipe(\n switchMap((fileOptions) => {\n return concat(\n of({type: 'file', file: fileOptions}),\n testSecretsObservable().pipe(\n switchMap((json) => {\n if (!json || !json.status) {\n return throwError(new Error('Invalid credentials'))\n }\n const uuid = generateUuid()\n const {enableSignedUrls} = options\n const body = {\n playback_policy: [enableSignedUrls ? 'signed' : 'public'],\n // TODO: These parameters were enabled by Sanity, but we are not using them yet\n // mp4_support: false (default),\n // normalize_audio: false (default),\n // master_access: false (default),\n }\n return concat(\n of({type: 'uuid', uuid}),\n defer(() =>\n client.observable.request({\n url: `/addons/mux/uploads/${client.clientConfig.dataset}`,\n withCredentials: true,\n method: 'POST',\n headers: {\n 'MUX-Proxy-UUID': uuid,\n 'Content-Type': 'application/json',\n },\n body,\n })\n ).pipe(\n mergeMap((result) => {\n return createUpChunkObservable(uuid, result.upload.url, file).pipe(\n // eslint-disable-next-line max-nested-callbacks\n mergeMap((event) => {\n if (event.type !== 'success') {\n return of(event)\n }\n return from(updateAssetDocumentFromUpload(uuid)).pipe(\n // eslint-disable-next-line max-nested-callbacks\n mergeMap((doc) => of({...event, asset: doc}))\n )\n }),\n // eslint-disable-next-line max-nested-callbacks\n catchError((err) => {\n // Delete asset document\n return cancelUpload(uuid).pipe(mergeMapTo(throwError(err)))\n })\n )\n })\n )\n )\n })\n )\n )\n })\n )\n}\n\nexport function getUpload(assetId) {\n return client.request({\n url: `/addons/mux/uploads/${client.clientConfig.dataset}/${assetId}`,\n withCredentials: true,\n method: 'GET',\n })\n}\n\nexport default {uploadUrl, uploadFile, getUpload}\n\nfunction pollUpload(uuid) {\n const maxTries = 10\n let pollInterval\n let tries = 0\n let assetId\n let upload\n return new Promise((resolve, reject) => {\n pollInterval = setInterval(async () => {\n try {\n upload = await getUpload(uuid)\n } catch (err) {\n reject(err)\n return\n }\n assetId = upload && upload.data && upload.data.asset_id\n if (assetId) {\n clearInterval(pollInterval)\n resolve(upload)\n }\n if (tries > maxTries) {\n clearInterval(pollInterval)\n reject(new Error('Upload did not finish'))\n }\n tries++\n }, 2000)\n })\n}\n\nasync function updateAssetDocumentFromUpload(uuid) {\n let upload\n let asset\n try {\n upload = await pollUpload(uuid)\n } catch (err) {\n return Promise.reject(err)\n }\n try {\n asset = await getAsset(upload.data.asset_id)\n } catch (err) {\n return Promise.reject(err)\n }\n const doc = {\n _id: uuid,\n _type: 'mux.videoAsset',\n status: asset.data.status,\n data: asset.data,\n assetId: asset.data.id,\n playbackId: asset.data.playback_ids[0].id,\n uploadId: upload.data.id,\n }\n return client.createOrReplace(doc).then(() => {\n return doc\n })\n}\n\nfunction testFile(file) {\n if (typeof window !== 'undefined' && file instanceof window.File) {\n const fileOptions = optionsFromFile(file)\n return of(fileOptions)\n }\n return throwError(new Error('Invalid file'))\n}\n\nfunction testUrl(url) {\n const error = new Error('Invalid URL')\n if (!isString(url)) {\n return throwError(error)\n }\n let parsed\n try {\n parsed = new URL(url)\n } catch (err) {\n return throwError(error)\n }\n if (parsed && !parsed.protocol.match(/http:|https:/)) {\n return throwError(error)\n }\n return of(url)\n}\n\nfunction optionsFromFile(opts, file) {\n if (typeof window === 'undefined' || !(file instanceof window.File)) {\n return opts\n }\n const fileOpts = {\n filename: opts.preserveFilename === false ? undefined : file.name,\n contentType: file.type,\n }\n\n return {\n ...{\n filename: opts.preserveFilename === false ? undefined : file.name,\n contentType: file.type,\n },\n fileOpts,\n }\n}\n"],"file":"upload.js"}
1
+ {"version":3,"file":"upload.js","names":["cancelUpload","uuid","client","observable","request","url","clientConfig","dataset","withCredentials","method","uploadUrl","options","testUrl","pipe","switchMap","validUrl","concat","of","type","testSecretsObservable","json","status","throwError","Error","generateUuid","enableSignedUrls","muxBody","input","playback_policy","mp4_support","config","query","JSON","stringify","filename","split","slice","defer","headers","mergeMap","result","asset","results","document","id","uploadFile","file","testFile","fileOptions","body","createUpChunkObservable","upload","event","from","updateAssetDocumentFromUpload","doc","catchError","err","mergeMapTo","getUpload","assetId","pollUpload","maxTries","pollInterval","tries","Promise","resolve","reject","setInterval","data","asset_id","clearInterval","getAsset","_id","_type","playbackId","playback_ids","uploadId","createOrReplace","then","window","File","optionsFromFile","error","isString","parsed","URL","protocol","match","opts","fileOpts","preserveFilename","undefined","name","contentType"],"sources":["../../src/actions/upload.js"],"sourcesContent":["/* eslint-disable camelcase */\nimport {uuid as generateUuid} from '@sanity/uuid'\nimport config from '../config'\nimport {isString} from 'lodash'\nimport {concat, defer, from, of, throwError} from 'rxjs'\nimport {catchError, mergeMap, mergeMapTo, switchMap} from 'rxjs/operators'\nimport {getAsset} from '../actions/assets'\nimport {testSecretsObservable} from '../actions/secrets'\nimport client from '../clients/SanityClient'\nimport {createUpChunkObservable} from '../clients/upChunkObservable'\n\nexport function cancelUpload(uuid) {\n return client.observable.request({\n url: `/addons/mux/uploads/${client.clientConfig.dataset}/${uuid}`,\n withCredentials: true,\n method: 'DELETE',\n })\n}\n\nexport function uploadUrl(url, options = {}) {\n return testUrl(url).pipe(\n switchMap((validUrl) => {\n return concat(\n of({type: 'url', url: validUrl}),\n testSecretsObservable().pipe(\n switchMap((json) => {\n if (!json || !json.status) {\n return throwError(new Error('Invalid credentials'))\n }\n const uuid = generateUuid()\n const {enableSignedUrls} = options\n const muxBody = {\n input: validUrl,\n playback_policy: [enableSignedUrls ? 'signed' : 'public'],\n mp4_support: config.mp4_support,\n }\n const query = {\n muxBody: JSON.stringify(muxBody),\n filename: validUrl.split('/').slice(-1)[0],\n }\n\n const dataset = client.clientConfig.dataset\n return defer(() =>\n client.observable.request({\n url: `/addons/mux/assets/${dataset}`,\n withCredentials: true,\n method: 'POST',\n headers: {\n 'MUX-Proxy-UUID': uuid,\n 'Content-Type': 'application/json',\n },\n query,\n })\n ).pipe(\n mergeMap((result) => {\n const asset =\n (result && result.results && result.results[0] && result.results[0].document) ||\n null\n\n if (!asset) {\n return throwError(new Error('No asset document returned'))\n }\n return of({type: 'success', id: uuid, asset})\n })\n )\n })\n )\n )\n })\n )\n}\n\nexport function uploadFile(file, options = {}) {\n return testFile(file).pipe(\n switchMap((fileOptions) => {\n return concat(\n of({type: 'file', file: fileOptions}),\n testSecretsObservable().pipe(\n switchMap((json) => {\n if (!json || !json.status) {\n return throwError(new Error('Invalid credentials'))\n }\n const uuid = generateUuid()\n const {enableSignedUrls} = options\n const body = {\n mp4_support: config.mp4_support,\n playback_policy: [enableSignedUrls ? 'signed' : 'public'],\n }\n\n return concat(\n of({type: 'uuid', uuid}),\n defer(() =>\n client.observable.request({\n url: `/addons/mux/uploads/${client.clientConfig.dataset}`,\n withCredentials: true,\n method: 'POST',\n headers: {\n 'MUX-Proxy-UUID': uuid,\n 'Content-Type': 'application/json',\n },\n body,\n })\n ).pipe(\n mergeMap((result) => {\n return createUpChunkObservable(uuid, result.upload.url, file).pipe(\n // eslint-disable-next-line max-nested-callbacks\n mergeMap((event) => {\n if (event.type !== 'success') {\n return of(event)\n }\n return from(updateAssetDocumentFromUpload(uuid)).pipe(\n // eslint-disable-next-line max-nested-callbacks\n mergeMap((doc) => of({...event, asset: doc}))\n )\n }),\n // eslint-disable-next-line max-nested-callbacks\n catchError((err) => {\n // Delete asset document\n return cancelUpload(uuid).pipe(mergeMapTo(throwError(err)))\n })\n )\n })\n )\n )\n })\n )\n )\n })\n )\n}\n\nexport function getUpload(assetId) {\n return client.request({\n url: `/addons/mux/uploads/${client.clientConfig.dataset}/${assetId}`,\n withCredentials: true,\n method: 'GET',\n })\n}\n\nexport default {uploadUrl, uploadFile, getUpload}\n\nfunction pollUpload(uuid) {\n const maxTries = 10\n let pollInterval\n let tries = 0\n let assetId\n let upload\n return new Promise((resolve, reject) => {\n pollInterval = setInterval(async () => {\n try {\n upload = await getUpload(uuid)\n } catch (err) {\n reject(err)\n return\n }\n assetId = upload && upload.data && upload.data.asset_id\n if (assetId) {\n clearInterval(pollInterval)\n resolve(upload)\n }\n if (tries > maxTries) {\n clearInterval(pollInterval)\n reject(new Error('Upload did not finish'))\n }\n tries++\n }, 2000)\n })\n}\n\nasync function updateAssetDocumentFromUpload(uuid) {\n let upload\n let asset\n try {\n upload = await pollUpload(uuid)\n } catch (err) {\n return Promise.reject(err)\n }\n try {\n asset = await getAsset(upload.data.asset_id)\n } catch (err) {\n return Promise.reject(err)\n }\n\n const doc = {\n _id: uuid,\n _type: 'mux.videoAsset',\n status: asset.data.status,\n data: asset.data,\n assetId: asset.data.id,\n playbackId: asset.data.playback_ids[0].id,\n uploadId: upload.data.id,\n }\n return client.createOrReplace(doc).then(() => {\n return doc\n })\n}\n\nfunction testFile(file) {\n if (typeof window !== 'undefined' && file instanceof window.File) {\n const fileOptions = optionsFromFile(file)\n return of(fileOptions)\n }\n return throwError(new Error('Invalid file'))\n}\n\nfunction testUrl(url) {\n const error = new Error('Invalid URL')\n if (!isString(url)) {\n return throwError(error)\n }\n let parsed\n try {\n parsed = new URL(url)\n } catch (err) {\n return throwError(error)\n }\n if (parsed && !parsed.protocol.match(/http:|https:/)) {\n return throwError(error)\n }\n return of(url)\n}\n\nfunction optionsFromFile(opts, file) {\n if (typeof window === 'undefined' || !(file instanceof window.File)) {\n return opts\n }\n const fileOpts = {\n filename: opts.preserveFilename === false ? undefined : file.name,\n contentType: file.type,\n }\n\n return {\n ...{\n filename: opts.preserveFilename === false ? undefined : file.name,\n contentType: file.type,\n },\n fileOpts,\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/clients/SanityClient.js"],"names":["isContentLakeSupported","sanityClient","withConfig","client","apiVersion"],"mappings":";;;;;;;AAAA;;;;AAEA,IAAMA,sBAAsB,GAAG,OAAOC,gBAAaC,UAApB,KAAmC,UAAlE;AAEO,IAAMC,MAAM,GAAGH,sBAAsB,GACxCC,gBAAaC,UAAb,CAAwB;AAACE,EAAAA,UAAU,EAAE;AAAb,CAAxB,CADwC,GAExCH,eAFG;;eAIQE,M","sourcesContent":["import sanityClient from 'part:@sanity/base/client'\n\nconst isContentLakeSupported = typeof sanityClient.withConfig === 'function'\n\nexport const client = isContentLakeSupported\n ? sanityClient.withConfig({apiVersion: '2021-05-17'})\n : sanityClient\n\nexport default client\n"],"file":"SanityClient.js"}
1
+ {"version":3,"file":"SanityClient.js","names":["isContentLakeSupported","sanityClient","withConfig","client","apiVersion"],"sources":["../../src/clients/SanityClient.js"],"sourcesContent":["import sanityClient from 'part:@sanity/base/client'\n\nconst isContentLakeSupported = typeof sanityClient.withConfig === 'function'\n\nexport const client = isContentLakeSupported\n ? sanityClient.withConfig({apiVersion: '2021-05-17'})\n : sanityClient\n\nexport default client\n"],"mappings":";;;;;;;AAAA;;;;AAEA,IAAMA,sBAAsB,GAAG,OAAOC,eAAA,CAAaC,UAApB,KAAmC,UAAlE;AAEO,IAAMC,MAAM,GAAGH,sBAAsB,GACxCC,eAAA,CAAaC,UAAb,CAAwB;EAACE,UAAU,EAAE;AAAb,CAAxB,CADwC,GAExCH,eAFG;;eAIQE,M"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/clients/upChunkObservable.js"],"names":["createUpChunkObservable","uuid","uploadUrl","source","Observable","subscriber","upchunk","UpChunk","createUpload","endpoint","file","chunkSize","successHandler","next","type","id","complete","errorHandler","data","error","Error","detail","message","progressHandler","percent","offlineHandler","pause","onlineHandler","resume","on","abort"],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAEO,SAASA,uBAAT,CAAiCC,IAAjC,EAAuCC,SAAvC,EAAkDC,MAAlD,EAA0D;AAC/D,SAAO,IAAIC,gBAAJ,CAAgBC,UAAD,IAAgB;AACpC,QAAMC,OAAO,GAAGC,OAAO,CAACC,YAAR,CAAqB;AACnCC,MAAAA,QAAQ,EAAEP,SADyB;AAEnCQ,MAAAA,IAAI,EAAEP,MAF6B;AAGnCQ,MAAAA,SAAS,EAAE,IAHwB,CAGlB;;AAHkB,KAArB,CAAhB;;AAMA,QAAMC,cAAc,GAAG,MAAM;AAC3BP,MAAAA,UAAU,CAACQ,IAAX,CAAgB;AACdC,QAAAA,IAAI,EAAE,SADQ;AAEdC,QAAAA,EAAE,EAAEd;AAFU,OAAhB;AAIAI,MAAAA,UAAU,CAACW,QAAX;AACD,KAND;;AAQA,QAAMC,YAAY,GAAIC,IAAD,IAAUb,UAAU,CAACc,KAAX,CAAiB,IAAIC,KAAJ,CAAUF,IAAI,CAACG,MAAL,CAAYC,OAAtB,CAAjB,CAA/B;;AAEA,QAAMC,eAAe,GAAIL,IAAD,IAAU;AAChC,aAAOb,UAAU,CAACQ,IAAX,CAAgB;AAACC,QAAAA,IAAI,EAAE,UAAP;AAAmBU,QAAAA,OAAO,EAAEN,IAAI,CAACG;AAAjC,OAAhB,CAAP;AACD,KAFD;;AAIA,QAAMI,cAAc,GAAIP,IAAD,IAAU;AAC/BZ,MAAAA,OAAO,CAACoB,KAAR;AACArB,MAAAA,UAAU,CAACQ,IAAX,CAAgB;AACdC,QAAAA,IAAI,EAAE,OADQ;AAEdC,QAAAA,EAAE,EAAEd;AAFU,OAAhB;AAID,KAND;;AAQA,QAAM0B,aAAa,GAAIT,IAAD,IAAU;AAC9BZ,MAAAA,OAAO,CAACsB,MAAR;AACAvB,MAAAA,UAAU,CAACQ,IAAX,CAAgB;AACdC,QAAAA,IAAI,EAAE,QADQ;AAEdC,QAAAA,EAAE,EAAEd;AAFU,OAAhB;AAID,KAND;;AAQAK,IAAAA,OAAO,CAACuB,EAAR,CAAW,SAAX,EAAsBjB,cAAtB;AACAN,IAAAA,OAAO,CAACuB,EAAR,CAAW,OAAX,EAAoBZ,YAApB;AACAX,IAAAA,OAAO,CAACuB,EAAR,CAAW,UAAX,EAAuBN,eAAvB;AACAjB,IAAAA,OAAO,CAACuB,EAAR,CAAW,SAAX,EAAsBJ,cAAtB;AACAnB,IAAAA,OAAO,CAACuB,EAAR,CAAW,QAAX,EAAqBF,aAArB;AAEA,WAAO,MAAMrB,OAAO,CAACwB,KAAR,EAAb;AACD,GA5CM,CAAP;AA6CD","sourcesContent":["import * as UpChunk from '@mux/upchunk'\nimport {Observable} from 'rxjs'\n\nexport function createUpChunkObservable(uuid, uploadUrl, source) {\n return new Observable((subscriber) => {\n const upchunk = UpChunk.createUpload({\n endpoint: uploadUrl,\n file: source,\n chunkSize: 5120, // Uploads the file in ~5mb chunks\n })\n\n const successHandler = () => {\n subscriber.next({\n type: 'success',\n id: uuid,\n })\n subscriber.complete()\n }\n\n const errorHandler = (data) => subscriber.error(new Error(data.detail.message))\n\n const progressHandler = (data) => {\n return subscriber.next({type: 'progress', percent: data.detail})\n }\n\n const offlineHandler = (data) => {\n upchunk.pause()\n subscriber.next({\n type: 'pause',\n id: uuid,\n })\n }\n\n const onlineHandler = (data) => {\n upchunk.resume()\n subscriber.next({\n type: 'resume',\n id: uuid,\n })\n }\n\n upchunk.on('success', successHandler)\n upchunk.on('error', errorHandler)\n upchunk.on('progress', progressHandler)\n upchunk.on('offline', offlineHandler)\n upchunk.on('online', onlineHandler)\n\n return () => upchunk.abort()\n })\n}\n"],"file":"upChunkObservable.js"}
1
+ {"version":3,"file":"upChunkObservable.js","names":["createUpChunkObservable","uuid","uploadUrl","source","Observable","subscriber","upchunk","UpChunk","createUpload","endpoint","file","chunkSize","successHandler","next","type","id","complete","errorHandler","data","error","Error","detail","message","progressHandler","percent","offlineHandler","pause","onlineHandler","resume","on","abort"],"sources":["../../src/clients/upChunkObservable.js"],"sourcesContent":["import * as UpChunk from '@mux/upchunk'\nimport {Observable} from 'rxjs'\n\nexport function createUpChunkObservable(uuid, uploadUrl, source) {\n return new Observable((subscriber) => {\n const upchunk = UpChunk.createUpload({\n endpoint: uploadUrl,\n file: source,\n chunkSize: 5120, // Uploads the file in ~5mb chunks\n })\n\n const successHandler = () => {\n subscriber.next({\n type: 'success',\n id: uuid,\n })\n subscriber.complete()\n }\n\n const errorHandler = (data) => subscriber.error(new Error(data.detail.message))\n\n const progressHandler = (data) => {\n return subscriber.next({type: 'progress', percent: data.detail})\n }\n\n const offlineHandler = (data) => {\n upchunk.pause()\n subscriber.next({\n type: 'pause',\n id: uuid,\n })\n }\n\n const onlineHandler = (data) => {\n upchunk.resume()\n subscriber.next({\n type: 'resume',\n id: uuid,\n })\n }\n\n upchunk.on('success', successHandler)\n upchunk.on('error', errorHandler)\n upchunk.on('progress', progressHandler)\n upchunk.on('offline', offlineHandler)\n upchunk.on('online', onlineHandler)\n\n return () => upchunk.abort()\n })\n}\n"],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAEO,SAASA,uBAAT,CAAiCC,IAAjC,EAAuCC,SAAvC,EAAkDC,MAAlD,EAA0D;EAC/D,OAAO,IAAIC,gBAAJ,CAAgBC,UAAD,IAAgB;IACpC,IAAMC,OAAO,GAAGC,OAAO,CAACC,YAAR,CAAqB;MACnCC,QAAQ,EAAEP,SADyB;MAEnCQ,IAAI,EAAEP,MAF6B;MAGnCQ,SAAS,EAAE,IAHwB,CAGlB;;IAHkB,CAArB,CAAhB;;IAMA,IAAMC,cAAc,GAAG,MAAM;MAC3BP,UAAU,CAACQ,IAAX,CAAgB;QACdC,IAAI,EAAE,SADQ;QAEdC,EAAE,EAAEd;MAFU,CAAhB;MAIAI,UAAU,CAACW,QAAX;IACD,CAND;;IAQA,IAAMC,YAAY,GAAIC,IAAD,IAAUb,UAAU,CAACc,KAAX,CAAiB,IAAIC,KAAJ,CAAUF,IAAI,CAACG,MAAL,CAAYC,OAAtB,CAAjB,CAA/B;;IAEA,IAAMC,eAAe,GAAIL,IAAD,IAAU;MAChC,OAAOb,UAAU,CAACQ,IAAX,CAAgB;QAACC,IAAI,EAAE,UAAP;QAAmBU,OAAO,EAAEN,IAAI,CAACG;MAAjC,CAAhB,CAAP;IACD,CAFD;;IAIA,IAAMI,cAAc,GAAIP,IAAD,IAAU;MAC/BZ,OAAO,CAACoB,KAAR;MACArB,UAAU,CAACQ,IAAX,CAAgB;QACdC,IAAI,EAAE,OADQ;QAEdC,EAAE,EAAEd;MAFU,CAAhB;IAID,CAND;;IAQA,IAAM0B,aAAa,GAAIT,IAAD,IAAU;MAC9BZ,OAAO,CAACsB,MAAR;MACAvB,UAAU,CAACQ,IAAX,CAAgB;QACdC,IAAI,EAAE,QADQ;QAEdC,EAAE,EAAEd;MAFU,CAAhB;IAID,CAND;;IAQAK,OAAO,CAACuB,EAAR,CAAW,SAAX,EAAsBjB,cAAtB;IACAN,OAAO,CAACuB,EAAR,CAAW,OAAX,EAAoBZ,YAApB;IACAX,OAAO,CAACuB,EAAR,CAAW,UAAX,EAAuBN,eAAvB;IACAjB,OAAO,CAACuB,EAAR,CAAW,SAAX,EAAsBJ,cAAtB;IACAnB,OAAO,CAACuB,EAAR,CAAW,QAAX,EAAqBF,aAArB;IAEA,OAAO,MAAMrB,OAAO,CAACwB,KAAR,EAAb;EACD,CA5CM,CAAP;AA6CD"}
@@ -13,11 +13,13 @@ var _react = _interopRequireDefault(require("react"));
13
13
 
14
14
  var _styledComponents = _interopRequireDefault(require("styled-components"));
15
15
 
16
+ var _excluded = ["onSelect", "type"];
17
+
16
18
  var _templateObject, _templateObject2;
17
19
 
18
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
21
 
20
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
22
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
21
23
 
22
24
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
23
25
 
@@ -48,7 +50,7 @@ var FileInputButton = _ref2 => {
48
50
  var onSelect = _ref2.onSelect,
49
51
  _ref2$type = _ref2.type,
50
52
  type = _ref2$type === void 0 ? 'file' : _ref2$type,
51
- props = _objectWithoutProperties(_ref2, ["onSelect", "type"]);
53
+ props = _objectWithoutProperties(_ref2, _excluded);
52
54
 
53
55
  var _inputId = _react.default.useRef((0, _lodash.uniqueId)('FileSelect'));
54
56
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/FileInputButton.js"],"names":["HiddenInput","styled","input","Label","label","handleSelect","event","onSelect","target","files","handleButtonClick","inputRef","current","click","FileInputButton","type","props","_inputId","React","useRef","width"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEA,IAAMA,WAAW,GAAGC,0BAAOC,KAAV,qLAAjB;;AASA,IAAMC,KAAK,GAAGF,0BAAOG,KAAV,gGAAX;;AAIA,IAAMC,YAAY,GAAG,QAAuB;AAAA,MAArBC,KAAqB,QAArBA,KAAqB;AAAA,MAAdC,QAAc,QAAdA,QAAc;;AAC1C,MAAIA,QAAJ,EAAc;AACZA,IAAAA,QAAQ,CAACD,KAAK,CAACE,MAAN,CAAaC,KAAd,CAAR;AACD;AACF,CAJD;;AAMA,IAAMC,iBAAiB,GAAIC,QAAD,IAAc;AACtC,MAAIA,QAAQ,IAAIA,QAAQ,CAACC,OAAzB,EAAkC;AAChCD,IAAAA,QAAQ,CAACC,OAAT,CAAiBC,KAAjB;AACD;AACF,CAJD;;AAMO,IAAMC,eAAe,GAAG,SAAyC;AAAA,MAAvCP,QAAuC,SAAvCA,QAAuC;AAAA,yBAA7BQ,IAA6B;AAAA,MAA7BA,IAA6B,2BAAtB,MAAsB;AAAA,MAAXC,KAAW;;AACtE,MAAMC,QAAQ,GAAGC,eAAMC,MAAN,CAAa,sBAAS,YAAT,CAAb,CAAjB;;AACA,MAAMR,QAAQ,GAAGO,eAAMC,MAAN,CAAa,IAAb,CAAjB;;AACA,sBACE,6BAAC,KAAD;AAAO,IAAA,OAAO,EAAEF,QAAQ,CAACL;AAAzB,kBACE,6BAAC,WAAD;AACE,IAAA,GAAG,EAAED,QADP;AAEE,IAAA,QAAQ,EAAC,GAFX;AAGE,IAAA,IAAI,EAAEI,IAHR;AAIE,IAAA,EAAE,EAAEE,QAAQ,CAACL,OAJf;AAKE,IAAA,QAAQ,EAAGN,KAAD,IAAWD,YAAY,CAAC;AAACC,MAAAA,KAAD;AAAQC,MAAAA;AAAR,KAAD,CALnC;AAME,IAAA,KAAK,EAAC;AANR,IADF,eASE,6BAAC,UAAD;AACE,IAAA,OAAO,EAAE,MAAMG,iBAAiB,CAACC,QAAD,CADlC;AAEE,IAAA,IAAI,EAAC,SAFP;AAGE,IAAA,IAAI,EAAC,SAHP;AAIE,IAAA,KAAK,EAAE;AAACS,MAAAA,KAAK,EAAE;AAAR;AAJT,KAKMJ,KALN,EATF,CADF;AAmBD,CAtBM;;;eAwBQF,e","sourcesContent":["import {Button} from '@sanity/ui'\nimport {uniqueId} from 'lodash'\nimport React from 'react'\nimport styled from 'styled-components'\n\nconst HiddenInput = styled.input`\n overflow: hidden;\n width: 0.1px;\n height: 0.1px;\n opacity: 0;\n position: absolute;\n z-index: -1;\n`\n\nconst Label = styled.label`\n position: relative;\n`\n\nconst handleSelect = ({event, onSelect}) => {\n if (onSelect) {\n onSelect(event.target.files)\n }\n}\n\nconst handleButtonClick = (inputRef) => {\n if (inputRef && inputRef.current) {\n inputRef.current.click()\n }\n}\n\nexport const FileInputButton = ({onSelect, type = 'file', ...props}) => {\n const _inputId = React.useRef(uniqueId('FileSelect'))\n const inputRef = React.useRef(null)\n return (\n <Label htmlFor={_inputId.current}>\n <HiddenInput\n ref={inputRef}\n tabindex=\"0\"\n type={type}\n id={_inputId.current}\n onChange={(event) => handleSelect({event, onSelect})}\n value=\"\"\n />\n <Button\n onClick={() => handleButtonClick(inputRef)}\n mode=\"default\"\n tone=\"primary\"\n style={{width: '100%'}}\n {...props}\n />\n </Label>\n )\n}\n\nexport default FileInputButton\n"],"file":"FileInputButton.js"}
1
+ {"version":3,"file":"FileInputButton.js","names":["HiddenInput","styled","input","Label","label","handleSelect","event","onSelect","target","files","handleButtonClick","inputRef","current","click","FileInputButton","type","props","_inputId","React","useRef","uniqueId","width"],"sources":["../../src/components/FileInputButton.js"],"sourcesContent":["import {Button} from '@sanity/ui'\nimport {uniqueId} from 'lodash'\nimport React from 'react'\nimport styled from 'styled-components'\n\nconst HiddenInput = styled.input`\n overflow: hidden;\n width: 0.1px;\n height: 0.1px;\n opacity: 0;\n position: absolute;\n z-index: -1;\n`\n\nconst Label = styled.label`\n position: relative;\n`\n\nconst handleSelect = ({event, onSelect}) => {\n if (onSelect) {\n onSelect(event.target.files)\n }\n}\n\nconst handleButtonClick = (inputRef) => {\n if (inputRef && inputRef.current) {\n inputRef.current.click()\n }\n}\n\nexport const FileInputButton = ({onSelect, type = 'file', ...props}) => {\n const _inputId = React.useRef(uniqueId('FileSelect'))\n const inputRef = React.useRef(null)\n return (\n <Label htmlFor={_inputId.current}>\n <HiddenInput\n ref={inputRef}\n tabindex=\"0\"\n type={type}\n id={_inputId.current}\n onChange={(event) => handleSelect({event, onSelect})}\n value=\"\"\n />\n <Button\n onClick={() => handleButtonClick(inputRef)}\n mode=\"default\"\n tone=\"primary\"\n style={{width: '100%'}}\n {...props}\n />\n </Label>\n )\n}\n\nexport default FileInputButton\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;AAEA,IAAMA,WAAW,GAAGC,yBAAA,CAAOC,KAAV,qLAAjB;;AASA,IAAMC,KAAK,GAAGF,yBAAA,CAAOG,KAAV,gGAAX;;AAIA,IAAMC,YAAY,GAAG,QAAuB;EAAA,IAArBC,KAAqB,QAArBA,KAAqB;EAAA,IAAdC,QAAc,QAAdA,QAAc;;EAC1C,IAAIA,QAAJ,EAAc;IACZA,QAAQ,CAACD,KAAK,CAACE,MAAN,CAAaC,KAAd,CAAR;EACD;AACF,CAJD;;AAMA,IAAMC,iBAAiB,GAAIC,QAAD,IAAc;EACtC,IAAIA,QAAQ,IAAIA,QAAQ,CAACC,OAAzB,EAAkC;IAChCD,QAAQ,CAACC,OAAT,CAAiBC,KAAjB;EACD;AACF,CAJD;;AAMO,IAAMC,eAAe,GAAG,SAAyC;EAAA,IAAvCP,QAAuC,SAAvCA,QAAuC;EAAA,uBAA7BQ,IAA6B;EAAA,IAA7BA,IAA6B,2BAAtB,MAAsB;EAAA,IAAXC,KAAW;;EACtE,IAAMC,QAAQ,GAAGC,cAAA,CAAMC,MAAN,CAAa,IAAAC,gBAAA,EAAS,YAAT,CAAb,CAAjB;;EACA,IAAMT,QAAQ,GAAGO,cAAA,CAAMC,MAAN,CAAa,IAAb,CAAjB;;EACA,oBACE,6BAAC,KAAD;IAAO,OAAO,EAAEF,QAAQ,CAACL;EAAzB,gBACE,6BAAC,WAAD;IACE,GAAG,EAAED,QADP;IAEE,QAAQ,EAAC,GAFX;IAGE,IAAI,EAAEI,IAHR;IAIE,EAAE,EAAEE,QAAQ,CAACL,OAJf;IAKE,QAAQ,EAAGN,KAAD,IAAWD,YAAY,CAAC;MAACC,KAAD;MAAQC;IAAR,CAAD,CALnC;IAME,KAAK,EAAC;EANR,EADF,eASE,6BAAC,UAAD;IACE,OAAO,EAAE,MAAMG,iBAAiB,CAACC,QAAD,CADlC;IAEE,IAAI,EAAC,SAFP;IAGE,IAAI,EAAC,SAHP;IAIE,KAAK,EAAE;MAACU,KAAK,EAAE;IAAR;EAJT,GAKML,KALN,EATF,CADF;AAmBD,CAtBM;;;eAwBQF,e"}
@@ -49,15 +49,17 @@ var _Uploader = _interopRequireDefault(require("./Uploader"));
49
49
 
50
50
  var _Video = _interopRequireDefault(require("./Video"));
51
51
 
52
+ var _config = _interopRequireDefault(require("../config"));
53
+
52
54
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
53
55
 
54
56
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
55
57
 
56
58
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
57
59
 
58
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
60
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
59
61
 
60
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
62
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
61
63
 
62
64
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
63
65
 
@@ -473,7 +475,7 @@ var _default = (0, _formBuilder.withDocument)(class MuxVideoInput extends _react
473
475
  }
474
476
 
475
477
  this.subscription = (0, _preview.observePaths)(asset, ['thumbTime', 'data', 'assetId', 'playbackId', 'status']).pipe((0, _operators.tap)(assetDocument => {
476
- var _assetDocument$data, _assetDocument$data$p;
478
+ var _assetDocument$data, _assetDocument$data$s, _assetDocument$data2, _assetDocument$data2$, _assetDocument$data3, _assetDocument$data3$;
477
479
 
478
480
  this.setState({
479
481
  assetDocument
@@ -490,19 +492,37 @@ var _default = (0, _formBuilder.withDocument)(class MuxVideoInput extends _react
490
492
  error: new Error(assetDocument.data.errors.messages.join(' '))
491
493
  });
492
494
  });
493
- }
495
+ } // Poll MUX if it's preparing the main document or its own static renditions
496
+
494
497
 
495
- if (assetDocument && assetDocument.status === 'preparing') {
498
+ if ((assetDocument === null || assetDocument === void 0 ? void 0 : assetDocument.status) === 'preparing' || (assetDocument === null || assetDocument === void 0 ? void 0 : (_assetDocument$data = assetDocument.data) === null || _assetDocument$data === void 0 ? void 0 : (_assetDocument$data$s = _assetDocument$data.static_renditions) === null || _assetDocument$data$s === void 0 ? void 0 : _assetDocument$data$s.status) === 'preparing') {
496
499
  this.pollMux();
497
- }
500
+ } // If MP4 support is enabled: MUX will prepare static_renditions only _after_ an asset
501
+ // has been successfully uploaded.
502
+ // A _ready_ asset doesn't mean static mp4s are generated and ready for use!
503
+ // In these cases, wait for `static_renditions.status === 'ready'` before clearing the poll interval.
504
+
498
505
 
499
506
  if (assetDocument && assetDocument.status === 'ready') {
500
- clearInterval(this.pollInterval);
501
- this.pollInterval = null;
507
+ switch (_config.default.mp4_support) {
508
+ case 'standard':
509
+ if ((assetDocument === null || assetDocument === void 0 ? void 0 : (_assetDocument$data2 = assetDocument.data) === null || _assetDocument$data2 === void 0 ? void 0 : (_assetDocument$data2$ = _assetDocument$data2.static_renditions) === null || _assetDocument$data2$ === void 0 ? void 0 : _assetDocument$data2$.status) === 'ready') {
510
+ clearInterval(this.pollInterval);
511
+ this.pollInterval = null;
512
+ }
513
+
514
+ break;
515
+
516
+ case 'none':
517
+ default:
518
+ clearInterval(this.pollInterval);
519
+ this.pollInterval = null;
520
+ break;
521
+ }
502
522
  } // eslint-disable-next-line camelcase
503
523
 
504
524
 
505
- var isSigned = (assetDocument === null || assetDocument === void 0 ? void 0 : (_assetDocument$data = assetDocument.data) === null || _assetDocument$data === void 0 ? void 0 : (_assetDocument$data$p = _assetDocument$data.playback_ids[0]) === null || _assetDocument$data$p === void 0 ? void 0 : _assetDocument$data$p.policy) === 'signed';
525
+ var isSigned = (assetDocument === null || assetDocument === void 0 ? void 0 : (_assetDocument$data3 = assetDocument.data) === null || _assetDocument$data3 === void 0 ? void 0 : (_assetDocument$data3$ = _assetDocument$data3.playback_ids[0]) === null || _assetDocument$data3$ === void 0 ? void 0 : _assetDocument$data3$.policy) === 'signed';
506
526
  this.setState({
507
527
  assetDocument,
508
528
  isSigned,
@@ -655,7 +675,7 @@ var _default = (0, _formBuilder.withDocument)(class MuxVideoInput extends _react
655
675
  }
656
676
 
657
677
  render() {
658
- var _assetDocument$data2, _assetDocument$data2$, _assetDocument$data2$2;
678
+ var _assetDocument$data4, _assetDocument$data4$, _assetDocument$data4$2;
659
679
 
660
680
  var _this$props = this.props,
661
681
  type = _this$props.type,
@@ -671,8 +691,10 @@ var _default = (0, _formBuilder.withDocument)(class MuxVideoInput extends _react
671
691
  confirmRemove = _this$state7.confirmRemove,
672
692
  thumb = _this$state7.thumb,
673
693
  assetDocument = _this$state7.assetDocument;
674
- var cssAspectRatio = (assetDocument === null || assetDocument === void 0 ? void 0 : (_assetDocument$data2 = assetDocument.data) === null || _assetDocument$data2 === void 0 ? void 0 : (_assetDocument$data2$ = _assetDocument$data2.aspect_ratio) === null || _assetDocument$data2$ === void 0 ? void 0 : (_assetDocument$data2$2 = _assetDocument$data2$.split(':')) === null || _assetDocument$data2$2 === void 0 ? void 0 : _assetDocument$data2$2.join('/')) || 'auto';
675
- return /*#__PURE__*/_react.default.createElement(_ui.Box, {
694
+ var cssAspectRatio = (assetDocument === null || assetDocument === void 0 ? void 0 : (_assetDocument$data4 = assetDocument.data) === null || _assetDocument$data4 === void 0 ? void 0 : (_assetDocument$data4$ = _assetDocument$data4.aspect_ratio) === null || _assetDocument$data4$ === void 0 ? void 0 : (_assetDocument$data4$2 = _assetDocument$data4$.split(':')) === null || _assetDocument$data4$2 === void 0 ? void 0 : _assetDocument$data4$2.join('/')) || 'auto';
695
+ return /*#__PURE__*/_react.default.createElement(_ui.ThemeProvider, {
696
+ theme: _ui.studioTheme
697
+ }, /*#__PURE__*/_react.default.createElement(_ui.Box, {
676
698
  style: {
677
699
  position: 'relative'
678
700
  }
@@ -792,7 +814,7 @@ var _default = (0, _formBuilder.withDocument)(class MuxVideoInput extends _react
792
814
  text: "Remove",
793
815
  onClick: this.handleRemoveVideo,
794
816
  loading: !!isLoading
795
- }))))), error && this.renderError());
817
+ }))))), error && this.renderError()));
796
818
  }
797
819
 
798
820
  });