sanity-plugin-mux-input 2.0.16 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/_chunks/Player-d8f163ed.cjs +474 -0
- package/lib/_chunks/Player-d8f163ed.cjs.map +1 -0
- package/lib/_chunks/Player-fb9712c0.js +465 -0
- package/lib/_chunks/Player-fb9712c0.js.map +1 -0
- package/lib/_chunks/index-0656ede8.js +3229 -0
- package/lib/_chunks/index-0656ede8.js.map +1 -0
- package/lib/_chunks/index-9cd542f1.cjs +3271 -0
- package/lib/_chunks/index-9cd542f1.cjs.map +1 -0
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +97 -0
- package/lib/index.js +1 -1
- package/package.json +16 -17
- package/src/components/Input.tsx +34 -29
- package/src/components/__legacy__Uploader.tsx +7 -2
- package/src/index.ts +8 -49
- package/src/plugin.tsx +31 -0
- package/src/schema.tsx +42 -0
- package/lib/_chunks/Input-509c8fa5.cjs +0 -189
- package/lib/_chunks/Input-509c8fa5.cjs.map +0 -1
- package/lib/_chunks/Input-9ddeac65.js +0 -189
- package/lib/_chunks/Input-9ddeac65.js.map +0 -1
- package/lib/_chunks/Preview-04fe7cde.js +0 -26
- package/lib/_chunks/Preview-04fe7cde.js.map +0 -1
- package/lib/_chunks/Preview-442a88cd.cjs +0 -28
- package/lib/_chunks/Preview-442a88cd.cjs.map +0 -1
- package/lib/_chunks/VideoSource.styled-45ab4b64.js +0 -318
- package/lib/_chunks/VideoSource.styled-45ab4b64.js.map +0 -1
- package/lib/_chunks/VideoSource.styled-cb41adac.cjs +0 -336
- package/lib/_chunks/VideoSource.styled-cb41adac.cjs.map +0 -1
- package/lib/_chunks/index-d360f7ae.cjs +0 -265
- package/lib/_chunks/index-d360f7ae.cjs.map +0 -1
- package/lib/_chunks/index-f8b48f62.js +0 -248
- package/lib/_chunks/index-f8b48f62.js.map +0 -1
- package/src/components/FormInput.tsx +0 -26
- package/src/components/FormPreview.tsx +0 -19
- package/src/components/Preview.tsx +0 -33
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-d360f7ae.cjs","sources":["../../src/util/asserters.ts","../../src/util/constants.ts","../../src/components/ErrorBoundaryCard.tsx","../../src/components/Input.styled.tsx","../../src/components/FormInput.tsx","../../src/components/FormPreview.tsx","../../src/index.ts"],"sourcesContent":["import {type InputProps, isObjectInputProps, type PreviewLayoutKey, type PreviewProps} from 'sanity'\n\nimport type {MuxInputPreviewProps, MuxInputProps} from './types'\n\nexport function isMuxInputProps(props: InputProps): props is MuxInputProps {\n return isObjectInputProps(props) && props.schemaType.type?.name === 'mux.video'\n}\n\nexport function isMuxInputPreviewProps(\n props: PreviewProps<PreviewLayoutKey>\n): props is MuxInputPreviewProps {\n return props.schemaType?.type?.name === 'mux.video'\n}\n","export const name = 'mux-input' as const\n\n// Caching namespace, as suspend-react might be in use by other components on the page we must ensure we don't collide\nexport const cacheNs = 'sanity-plugin-mux-input' as const\n\nexport const muxSecretsDocumentId = 'secrets.mux' as const\n","/* eslint-disable no-console */\nimport {Button, Card, Flex, Grid, Heading, Inline, Text, useToast} from '@sanity/ui'\nimport React, {memo, useCallback, useRef} from 'react'\nimport scrollIntoView from 'scroll-into-view-if-needed'\nimport {clear} from 'suspend-react'\nimport {useErrorBoundary} from 'use-error-boundary'\n\nimport {name} from '../util/constants'\nimport {type MuxInputProps} from '../util/types'\n\nexport interface Props extends Pick<MuxInputProps, 'schemaType'> {\n children: React.ReactNode\n}\nfunction ErrorBoundaryCard(props: Props) {\n const {children, schemaType} = props\n const {push: pushToast} = useToast()\n const errorRef = useRef(null)\n const {ErrorBoundary, didCatch, error, reset} = useErrorBoundary({\n onDidCatch: (err, errorInfo) => {\n console.group(err.toString())\n console.groupCollapsed('console.error')\n console.error(err)\n console.groupEnd()\n if (err.stack) {\n console.groupCollapsed('error.stack')\n console.log(err.stack)\n console.groupEnd()\n }\n if (errorInfo?.componentStack) {\n console.groupCollapsed('errorInfo.componentStack')\n console.log(errorInfo.componentStack)\n console.groupEnd()\n }\n console.groupEnd()\n pushToast({\n status: 'error',\n title: 'Plugin crashed',\n description: (\n <Flex align=\"center\">\n <Inline space={1}>\n An error happened while rendering\n <Button\n padding={1}\n fontSize={1}\n style={{transform: 'translateY(1px)'}}\n mode=\"ghost\"\n text={schemaType.title}\n onClick={() => {\n if (errorRef.current) {\n scrollIntoView(errorRef.current, {\n behavior: 'smooth',\n scrollMode: 'if-needed',\n block: 'center',\n })\n }\n }}\n />\n </Inline>\n </Flex>\n ),\n })\n },\n })\n const handleRetry = useCallback(() => {\n // Purge request cache before retrying, otherwise the cached errors will rethrow\n clear([name])\n\n reset()\n }, [reset])\n\n if (didCatch) {\n return (\n <Card ref={errorRef} paddingX={[2, 3, 4, 4]} height=\"fill\" shadow={1} overflow=\"auto\">\n <Flex justify=\"flex-start\" align=\"center\" height=\"fill\">\n <Grid columns={1} gap={[2, 3, 4, 4]}>\n <Heading as=\"h1\">\n The <code>{name}</code> plugin crashed\n </Heading>\n {error?.message && (\n <Card padding={3} tone=\"critical\" shadow={1} radius={2}>\n <Text>{error.message}</Text>\n </Card>\n )}\n <Inline>\n <Button onClick={handleRetry} text=\"Retry\" />\n </Inline>\n </Grid>\n </Flex>\n </Card>\n )\n }\n\n return <ErrorBoundary>{children}</ErrorBoundary>\n}\n\nexport default memo(ErrorBoundaryCard)\n","import {Box, Card, Flex, Spinner, Text} from '@sanity/ui'\nimport React from 'react'\nimport styled from 'styled-components'\n\n// This container base container ensures everything uses the same aspect ratio, avoids layout shifts and stuff jumping around\nexport const AspectRatioCard = styled(Card)`\n aspect-ratio: 16 / 9;\n position: relative;\n width: 100%;\n`\n\nexport const InputFallback = () => {\n return (\n <div style={{padding: 1}}>\n <Card\n shadow={1}\n sizing=\"border\"\n style={{aspectRatio: '16/9', width: '100%', borderRadius: '1px'}}\n >\n <Flex align=\"center\" direction=\"column\" height=\"fill\" justify=\"center\">\n <Spinner muted />\n <Box marginTop={3}>\n <Text align=\"center\" muted size={1}>\n Loading…\n </Text>\n </Box>\n </Flex>\n </Card>\n </div>\n )\n}\n","import React, {lazy, memo, Suspense} from 'react'\nimport {type InputProps} from 'sanity'\n\nimport {isMuxInputProps} from '../util/asserters'\nimport {type Config} from '../util/types'\nimport ErrorBoundaryCard from './ErrorBoundaryCard'\nimport {AspectRatioCard, InputFallback} from './Input.styled'\n\nconst Input = lazy(() => import('./Input'))\n\n// eslint-disable-next-line import/no-anonymous-default-export\nexport default (config: Config) =>\n memo(function FormInput(props: InputProps) {\n if (isMuxInputProps(props)) {\n return (\n <AspectRatioCard>\n <ErrorBoundaryCard schemaType={props.schemaType}>\n <Suspense fallback={<InputFallback />}>\n <Input config={config} {...props} />\n </Suspense>\n </ErrorBoundaryCard>\n </AspectRatioCard>\n )\n }\n return props.renderDefault(props)\n })\n","import React, {lazy, memo} from 'react'\nimport {PreviewLayoutKey, PreviewProps} from 'sanity'\n\nimport {isMuxInputPreviewProps} from '../util/asserters'\nimport {AspectRatioCard} from './Input.styled'\n\nconst Preview = lazy(() => import('./Preview'))\n\nexport default memo(function FormPreview(props: PreviewProps<PreviewLayoutKey>) {\n if (isMuxInputPreviewProps(props)) {\n return (\n <AspectRatioCard>\n {/* @ts-expect-error */}\n <Preview {...props} />\n </AspectRatioCard>\n )\n }\n return props.renderDefault(props)\n})\n","import {definePlugin} from 'sanity'\n\nimport createFormInput from './components/FormInput'\nimport FormPreview from './components/FormPreview'\nimport {type Config} from './util/types'\n\nexport const defaultConfig: Config = {\n mp4_support: 'none',\n}\n\nexport const muxInput = definePlugin<Partial<Config> | void>((userConfig) => {\n const config: Config = {...defaultConfig, ...userConfig}\n const InputComponent = createFormInput(config)\n return {\n name: 'mux-input',\n form: {\n components: {\n input: InputComponent,\n preview: FormPreview,\n },\n },\n schema: {\n types: [\n {\n name: 'mux.video',\n type: 'object',\n title: 'Video asset reference',\n fields: [\n {\n title: 'Video',\n name: 'asset',\n type: 'reference',\n weak: true,\n to: [{type: 'mux.videoAsset'}],\n },\n ],\n },\n {\n name: 'mux.videoAsset',\n type: 'object',\n title: 'Video asset',\n fields: [\n {\n type: 'string',\n name: 'status',\n },\n {\n type: 'string',\n name: 'assetId',\n },\n {\n type: 'string',\n name: 'playbackId',\n },\n {\n type: 'string',\n name: 'filename',\n },\n {\n type: 'number',\n name: 'thumbTime',\n },\n ],\n },\n ],\n },\n }\n})\n"],"names":["isMuxInputProps","props","_a","isObjectInputProps","schemaType","type","name","isMuxInputPreviewProps","_b","cacheNs","muxSecretsDocumentId","ErrorBoundaryCard","children","push","pushToast","useToast","errorRef","useRef","ErrorBoundary","didCatch","error","reset","useErrorBoundary","onDidCatch","err","errorInfo","console","group","toString","groupCollapsed","groupEnd","stack","log","componentStack","status","title","description","Flex","align","jsxs","Inline","space","jsx","Button","padding","fontSize","style","transform","mode","text","onClick","current","scrollIntoView","default","behavior","scrollMode","block","handleRetry","useCallback","clear","Card","ref","paddingX","height","shadow","overflow","justify","Grid","columns","gap","Heading","as","message","tone","radius","Text","memo","AspectRatioCard","styled","_templateObject","_taggedTemplateLiteral","InputFallback","sizing","aspectRatio","width","borderRadius","direction","Spinner","muted","Box","marginTop","size","Input","lazy","Promise","resolve","then","require","createFormInput","config","FormInput","Suspense","fallback","renderDefault","Preview","FormPreview","defaultConfig","mp4_support","muxInput","definePlugin","userConfig","InputComponent","form","components","input","preview","schema","types","fields","weak","to"],"mappings":"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"}
|
|
@@ -1,248 +0,0 @@
|
|
|
1
|
-
var _templateObject;
|
|
2
|
-
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
3
|
-
import { isObjectInputProps, definePlugin } from 'sanity';
|
|
4
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
|
-
import { memo, useRef, useCallback, lazy, Suspense } from 'react';
|
|
6
|
-
import { useToast, Flex, Inline, Button, Card, Grid, Heading, Text, Spinner, Box } from '@sanity/ui';
|
|
7
|
-
import scrollIntoView from 'scroll-into-view-if-needed';
|
|
8
|
-
import { clear } from 'suspend-react';
|
|
9
|
-
import { useErrorBoundary } from 'use-error-boundary';
|
|
10
|
-
import styled from 'styled-components';
|
|
11
|
-
function isMuxInputProps(props) {
|
|
12
|
-
var _a;
|
|
13
|
-
return isObjectInputProps(props) && ((_a = props.schemaType.type) == null ? void 0 : _a.name) === "mux.video";
|
|
14
|
-
}
|
|
15
|
-
function isMuxInputPreviewProps(props) {
|
|
16
|
-
var _a, _b;
|
|
17
|
-
return ((_b = (_a = props.schemaType) == null ? void 0 : _a.type) == null ? void 0 : _b.name) === "mux.video";
|
|
18
|
-
}
|
|
19
|
-
const name = "mux-input";
|
|
20
|
-
const cacheNs = "sanity-plugin-mux-input";
|
|
21
|
-
const muxSecretsDocumentId = "secrets.mux";
|
|
22
|
-
function ErrorBoundaryCard(props) {
|
|
23
|
-
const {
|
|
24
|
-
children,
|
|
25
|
-
schemaType
|
|
26
|
-
} = props;
|
|
27
|
-
const {
|
|
28
|
-
push: pushToast
|
|
29
|
-
} = useToast();
|
|
30
|
-
const errorRef = useRef(null);
|
|
31
|
-
const {
|
|
32
|
-
ErrorBoundary,
|
|
33
|
-
didCatch,
|
|
34
|
-
error,
|
|
35
|
-
reset
|
|
36
|
-
} = useErrorBoundary({
|
|
37
|
-
onDidCatch: (err, errorInfo) => {
|
|
38
|
-
console.group(err.toString());
|
|
39
|
-
console.groupCollapsed("console.error");
|
|
40
|
-
console.error(err);
|
|
41
|
-
console.groupEnd();
|
|
42
|
-
if (err.stack) {
|
|
43
|
-
console.groupCollapsed("error.stack");
|
|
44
|
-
console.log(err.stack);
|
|
45
|
-
console.groupEnd();
|
|
46
|
-
}
|
|
47
|
-
if (errorInfo == null ? void 0 : errorInfo.componentStack) {
|
|
48
|
-
console.groupCollapsed("errorInfo.componentStack");
|
|
49
|
-
console.log(errorInfo.componentStack);
|
|
50
|
-
console.groupEnd();
|
|
51
|
-
}
|
|
52
|
-
console.groupEnd();
|
|
53
|
-
pushToast({
|
|
54
|
-
status: "error",
|
|
55
|
-
title: "Plugin crashed",
|
|
56
|
-
description: /* @__PURE__ */jsx(Flex, {
|
|
57
|
-
align: "center",
|
|
58
|
-
children: /* @__PURE__ */jsxs(Inline, {
|
|
59
|
-
space: 1,
|
|
60
|
-
children: ["An error happened while rendering", /* @__PURE__ */jsx(Button, {
|
|
61
|
-
padding: 1,
|
|
62
|
-
fontSize: 1,
|
|
63
|
-
style: {
|
|
64
|
-
transform: "translateY(1px)"
|
|
65
|
-
},
|
|
66
|
-
mode: "ghost",
|
|
67
|
-
text: schemaType.title,
|
|
68
|
-
onClick: () => {
|
|
69
|
-
if (errorRef.current) {
|
|
70
|
-
scrollIntoView(errorRef.current, {
|
|
71
|
-
behavior: "smooth",
|
|
72
|
-
scrollMode: "if-needed",
|
|
73
|
-
block: "center"
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
})]
|
|
78
|
-
})
|
|
79
|
-
})
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
const handleRetry = useCallback(() => {
|
|
84
|
-
clear([name]);
|
|
85
|
-
reset();
|
|
86
|
-
}, [reset]);
|
|
87
|
-
if (didCatch) {
|
|
88
|
-
return /* @__PURE__ */jsx(Card, {
|
|
89
|
-
ref: errorRef,
|
|
90
|
-
paddingX: [2, 3, 4, 4],
|
|
91
|
-
height: "fill",
|
|
92
|
-
shadow: 1,
|
|
93
|
-
overflow: "auto",
|
|
94
|
-
children: /* @__PURE__ */jsx(Flex, {
|
|
95
|
-
justify: "flex-start",
|
|
96
|
-
align: "center",
|
|
97
|
-
height: "fill",
|
|
98
|
-
children: /* @__PURE__ */jsxs(Grid, {
|
|
99
|
-
columns: 1,
|
|
100
|
-
gap: [2, 3, 4, 4],
|
|
101
|
-
children: [/* @__PURE__ */jsxs(Heading, {
|
|
102
|
-
as: "h1",
|
|
103
|
-
children: ["The ", /* @__PURE__ */jsx("code", {
|
|
104
|
-
children: name
|
|
105
|
-
}), " plugin crashed"]
|
|
106
|
-
}), (error == null ? void 0 : error.message) && /* @__PURE__ */jsx(Card, {
|
|
107
|
-
padding: 3,
|
|
108
|
-
tone: "critical",
|
|
109
|
-
shadow: 1,
|
|
110
|
-
radius: 2,
|
|
111
|
-
children: /* @__PURE__ */jsx(Text, {
|
|
112
|
-
children: error.message
|
|
113
|
-
})
|
|
114
|
-
}), /* @__PURE__ */jsx(Inline, {
|
|
115
|
-
children: /* @__PURE__ */jsx(Button, {
|
|
116
|
-
onClick: handleRetry,
|
|
117
|
-
text: "Retry"
|
|
118
|
-
})
|
|
119
|
-
})]
|
|
120
|
-
})
|
|
121
|
-
})
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
return /* @__PURE__ */jsx(ErrorBoundary, {
|
|
125
|
-
children
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
var ErrorBoundaryCard$1 = memo(ErrorBoundaryCard);
|
|
129
|
-
const AspectRatioCard = styled(Card)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n aspect-ratio: 16 / 9;\n position: relative;\n width: 100%;\n"])));
|
|
130
|
-
const InputFallback = () => {
|
|
131
|
-
return /* @__PURE__ */jsx("div", {
|
|
132
|
-
style: {
|
|
133
|
-
padding: 1
|
|
134
|
-
},
|
|
135
|
-
children: /* @__PURE__ */jsx(Card, {
|
|
136
|
-
shadow: 1,
|
|
137
|
-
sizing: "border",
|
|
138
|
-
style: {
|
|
139
|
-
aspectRatio: "16/9",
|
|
140
|
-
width: "100%",
|
|
141
|
-
borderRadius: "1px"
|
|
142
|
-
},
|
|
143
|
-
children: /* @__PURE__ */jsxs(Flex, {
|
|
144
|
-
align: "center",
|
|
145
|
-
direction: "column",
|
|
146
|
-
height: "fill",
|
|
147
|
-
justify: "center",
|
|
148
|
-
children: [/* @__PURE__ */jsx(Spinner, {
|
|
149
|
-
muted: true
|
|
150
|
-
}), /* @__PURE__ */jsx(Box, {
|
|
151
|
-
marginTop: 3,
|
|
152
|
-
children: /* @__PURE__ */jsx(Text, {
|
|
153
|
-
align: "center",
|
|
154
|
-
muted: true,
|
|
155
|
-
size: 1,
|
|
156
|
-
children: "Loading\u2026"
|
|
157
|
-
})
|
|
158
|
-
})]
|
|
159
|
-
})
|
|
160
|
-
})
|
|
161
|
-
});
|
|
162
|
-
};
|
|
163
|
-
const Input = lazy(() => import('./Input-9ddeac65.js'));
|
|
164
|
-
var createFormInput = config => memo(function FormInput(props) {
|
|
165
|
-
if (isMuxInputProps(props)) {
|
|
166
|
-
return /* @__PURE__ */jsx(AspectRatioCard, {
|
|
167
|
-
children: /* @__PURE__ */jsx(ErrorBoundaryCard$1, {
|
|
168
|
-
schemaType: props.schemaType,
|
|
169
|
-
children: /* @__PURE__ */jsx(Suspense, {
|
|
170
|
-
fallback: /* @__PURE__ */jsx(InputFallback, {}),
|
|
171
|
-
children: /* @__PURE__ */jsx(Input, {
|
|
172
|
-
config,
|
|
173
|
-
...props
|
|
174
|
-
})
|
|
175
|
-
})
|
|
176
|
-
})
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
|
-
return props.renderDefault(props);
|
|
180
|
-
});
|
|
181
|
-
const Preview = lazy(() => import('./Preview-04fe7cde.js'));
|
|
182
|
-
var FormPreview = memo(function FormPreview(props) {
|
|
183
|
-
if (isMuxInputPreviewProps(props)) {
|
|
184
|
-
return /* @__PURE__ */jsx(AspectRatioCard, {
|
|
185
|
-
children: /* @__PURE__ */jsx(Preview, {
|
|
186
|
-
...props
|
|
187
|
-
})
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
return props.renderDefault(props);
|
|
191
|
-
});
|
|
192
|
-
const defaultConfig = {
|
|
193
|
-
mp4_support: "none"
|
|
194
|
-
};
|
|
195
|
-
const muxInput = definePlugin(userConfig => {
|
|
196
|
-
const config = {
|
|
197
|
-
...defaultConfig,
|
|
198
|
-
...userConfig
|
|
199
|
-
};
|
|
200
|
-
const InputComponent = createFormInput(config);
|
|
201
|
-
return {
|
|
202
|
-
name: "mux-input",
|
|
203
|
-
form: {
|
|
204
|
-
components: {
|
|
205
|
-
input: InputComponent,
|
|
206
|
-
preview: FormPreview
|
|
207
|
-
}
|
|
208
|
-
},
|
|
209
|
-
schema: {
|
|
210
|
-
types: [{
|
|
211
|
-
name: "mux.video",
|
|
212
|
-
type: "object",
|
|
213
|
-
title: "Video asset reference",
|
|
214
|
-
fields: [{
|
|
215
|
-
title: "Video",
|
|
216
|
-
name: "asset",
|
|
217
|
-
type: "reference",
|
|
218
|
-
weak: true,
|
|
219
|
-
to: [{
|
|
220
|
-
type: "mux.videoAsset"
|
|
221
|
-
}]
|
|
222
|
-
}]
|
|
223
|
-
}, {
|
|
224
|
-
name: "mux.videoAsset",
|
|
225
|
-
type: "object",
|
|
226
|
-
title: "Video asset",
|
|
227
|
-
fields: [{
|
|
228
|
-
type: "string",
|
|
229
|
-
name: "status"
|
|
230
|
-
}, {
|
|
231
|
-
type: "string",
|
|
232
|
-
name: "assetId"
|
|
233
|
-
}, {
|
|
234
|
-
type: "string",
|
|
235
|
-
name: "playbackId"
|
|
236
|
-
}, {
|
|
237
|
-
type: "string",
|
|
238
|
-
name: "filename"
|
|
239
|
-
}, {
|
|
240
|
-
type: "number",
|
|
241
|
-
name: "thumbTime"
|
|
242
|
-
}]
|
|
243
|
-
}]
|
|
244
|
-
}
|
|
245
|
-
};
|
|
246
|
-
});
|
|
247
|
-
export { InputFallback, cacheNs, defaultConfig, muxInput, muxSecretsDocumentId };
|
|
248
|
-
//# sourceMappingURL=index-f8b48f62.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-f8b48f62.js","sources":["../../src/util/asserters.ts","../../src/util/constants.ts","../../src/components/ErrorBoundaryCard.tsx","../../src/components/Input.styled.tsx","../../src/components/FormInput.tsx","../../src/components/FormPreview.tsx","../../src/index.ts"],"sourcesContent":["import {type InputProps, isObjectInputProps, type PreviewLayoutKey, type PreviewProps} from 'sanity'\n\nimport type {MuxInputPreviewProps, MuxInputProps} from './types'\n\nexport function isMuxInputProps(props: InputProps): props is MuxInputProps {\n return isObjectInputProps(props) && props.schemaType.type?.name === 'mux.video'\n}\n\nexport function isMuxInputPreviewProps(\n props: PreviewProps<PreviewLayoutKey>\n): props is MuxInputPreviewProps {\n return props.schemaType?.type?.name === 'mux.video'\n}\n","export const name = 'mux-input' as const\n\n// Caching namespace, as suspend-react might be in use by other components on the page we must ensure we don't collide\nexport const cacheNs = 'sanity-plugin-mux-input' as const\n\nexport const muxSecretsDocumentId = 'secrets.mux' as const\n","/* eslint-disable no-console */\nimport {Button, Card, Flex, Grid, Heading, Inline, Text, useToast} from '@sanity/ui'\nimport React, {memo, useCallback, useRef} from 'react'\nimport scrollIntoView from 'scroll-into-view-if-needed'\nimport {clear} from 'suspend-react'\nimport {useErrorBoundary} from 'use-error-boundary'\n\nimport {name} from '../util/constants'\nimport {type MuxInputProps} from '../util/types'\n\nexport interface Props extends Pick<MuxInputProps, 'schemaType'> {\n children: React.ReactNode\n}\nfunction ErrorBoundaryCard(props: Props) {\n const {children, schemaType} = props\n const {push: pushToast} = useToast()\n const errorRef = useRef(null)\n const {ErrorBoundary, didCatch, error, reset} = useErrorBoundary({\n onDidCatch: (err, errorInfo) => {\n console.group(err.toString())\n console.groupCollapsed('console.error')\n console.error(err)\n console.groupEnd()\n if (err.stack) {\n console.groupCollapsed('error.stack')\n console.log(err.stack)\n console.groupEnd()\n }\n if (errorInfo?.componentStack) {\n console.groupCollapsed('errorInfo.componentStack')\n console.log(errorInfo.componentStack)\n console.groupEnd()\n }\n console.groupEnd()\n pushToast({\n status: 'error',\n title: 'Plugin crashed',\n description: (\n <Flex align=\"center\">\n <Inline space={1}>\n An error happened while rendering\n <Button\n padding={1}\n fontSize={1}\n style={{transform: 'translateY(1px)'}}\n mode=\"ghost\"\n text={schemaType.title}\n onClick={() => {\n if (errorRef.current) {\n scrollIntoView(errorRef.current, {\n behavior: 'smooth',\n scrollMode: 'if-needed',\n block: 'center',\n })\n }\n }}\n />\n </Inline>\n </Flex>\n ),\n })\n },\n })\n const handleRetry = useCallback(() => {\n // Purge request cache before retrying, otherwise the cached errors will rethrow\n clear([name])\n\n reset()\n }, [reset])\n\n if (didCatch) {\n return (\n <Card ref={errorRef} paddingX={[2, 3, 4, 4]} height=\"fill\" shadow={1} overflow=\"auto\">\n <Flex justify=\"flex-start\" align=\"center\" height=\"fill\">\n <Grid columns={1} gap={[2, 3, 4, 4]}>\n <Heading as=\"h1\">\n The <code>{name}</code> plugin crashed\n </Heading>\n {error?.message && (\n <Card padding={3} tone=\"critical\" shadow={1} radius={2}>\n <Text>{error.message}</Text>\n </Card>\n )}\n <Inline>\n <Button onClick={handleRetry} text=\"Retry\" />\n </Inline>\n </Grid>\n </Flex>\n </Card>\n )\n }\n\n return <ErrorBoundary>{children}</ErrorBoundary>\n}\n\nexport default memo(ErrorBoundaryCard)\n","import {Box, Card, Flex, Spinner, Text} from '@sanity/ui'\nimport React from 'react'\nimport styled from 'styled-components'\n\n// This container base container ensures everything uses the same aspect ratio, avoids layout shifts and stuff jumping around\nexport const AspectRatioCard = styled(Card)`\n aspect-ratio: 16 / 9;\n position: relative;\n width: 100%;\n`\n\nexport const InputFallback = () => {\n return (\n <div style={{padding: 1}}>\n <Card\n shadow={1}\n sizing=\"border\"\n style={{aspectRatio: '16/9', width: '100%', borderRadius: '1px'}}\n >\n <Flex align=\"center\" direction=\"column\" height=\"fill\" justify=\"center\">\n <Spinner muted />\n <Box marginTop={3}>\n <Text align=\"center\" muted size={1}>\n Loading…\n </Text>\n </Box>\n </Flex>\n </Card>\n </div>\n )\n}\n","import React, {lazy, memo, Suspense} from 'react'\nimport {type InputProps} from 'sanity'\n\nimport {isMuxInputProps} from '../util/asserters'\nimport {type Config} from '../util/types'\nimport ErrorBoundaryCard from './ErrorBoundaryCard'\nimport {AspectRatioCard, InputFallback} from './Input.styled'\n\nconst Input = lazy(() => import('./Input'))\n\n// eslint-disable-next-line import/no-anonymous-default-export\nexport default (config: Config) =>\n memo(function FormInput(props: InputProps) {\n if (isMuxInputProps(props)) {\n return (\n <AspectRatioCard>\n <ErrorBoundaryCard schemaType={props.schemaType}>\n <Suspense fallback={<InputFallback />}>\n <Input config={config} {...props} />\n </Suspense>\n </ErrorBoundaryCard>\n </AspectRatioCard>\n )\n }\n return props.renderDefault(props)\n })\n","import React, {lazy, memo} from 'react'\nimport {PreviewLayoutKey, PreviewProps} from 'sanity'\n\nimport {isMuxInputPreviewProps} from '../util/asserters'\nimport {AspectRatioCard} from './Input.styled'\n\nconst Preview = lazy(() => import('./Preview'))\n\nexport default memo(function FormPreview(props: PreviewProps<PreviewLayoutKey>) {\n if (isMuxInputPreviewProps(props)) {\n return (\n <AspectRatioCard>\n {/* @ts-expect-error */}\n <Preview {...props} />\n </AspectRatioCard>\n )\n }\n return props.renderDefault(props)\n})\n","import {definePlugin} from 'sanity'\n\nimport createFormInput from './components/FormInput'\nimport FormPreview from './components/FormPreview'\nimport {type Config} from './util/types'\n\nexport const defaultConfig: Config = {\n mp4_support: 'none',\n}\n\nexport const muxInput = definePlugin<Partial<Config> | void>((userConfig) => {\n const config: Config = {...defaultConfig, ...userConfig}\n const InputComponent = createFormInput(config)\n return {\n name: 'mux-input',\n form: {\n components: {\n input: InputComponent,\n preview: FormPreview,\n },\n },\n schema: {\n types: [\n {\n name: 'mux.video',\n type: 'object',\n title: 'Video asset reference',\n fields: [\n {\n title: 'Video',\n name: 'asset',\n type: 'reference',\n weak: true,\n to: [{type: 'mux.videoAsset'}],\n },\n ],\n },\n {\n name: 'mux.videoAsset',\n type: 'object',\n title: 'Video asset',\n fields: [\n {\n type: 'string',\n name: 'status',\n },\n {\n type: 'string',\n name: 'assetId',\n },\n {\n type: 'string',\n name: 'playbackId',\n },\n {\n type: 'string',\n name: 'filename',\n },\n {\n type: 'number',\n name: 'thumbTime',\n },\n ],\n },\n ],\n },\n }\n})\n"],"names":["isMuxInputProps","props","_a","isObjectInputProps","schemaType","type","name","isMuxInputPreviewProps","_b","cacheNs","muxSecretsDocumentId","ErrorBoundaryCard","children","push","pushToast","useToast","errorRef","useRef","ErrorBoundary","didCatch","error","reset","useErrorBoundary","onDidCatch","err","errorInfo","console","group","toString","groupCollapsed","groupEnd","stack","log","componentStack","status","title","description","Flex","align","jsxs","Inline","space","jsx","Button","padding","fontSize","style","transform","mode","text","onClick","current","scrollIntoView","behavior","scrollMode","block","handleRetry","useCallback","clear","Card","ref","paddingX","height","shadow","overflow","justify","Grid","columns","gap","Heading","as","message","tone","radius","Text","ErrorBoundaryCard$1","memo","AspectRatioCard","styled","_templateObject","_taggedTemplateLiteral","InputFallback","sizing","aspectRatio","width","borderRadius","direction","Spinner","muted","Box","marginTop","size","Input","lazy","createFormInput","config","FormInput","Suspense","fallback","renderDefault","Preview","FormPreview","defaultConfig","mp4_support","muxInput","definePlugin","userConfig","InputComponent","form","components","input","preview","schema","types","fields","weak","to"],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import React, {lazy, memo, Suspense} from 'react'
|
|
2
|
-
import {type InputProps} from 'sanity'
|
|
3
|
-
|
|
4
|
-
import {isMuxInputProps} from '../util/asserters'
|
|
5
|
-
import {type Config} from '../util/types'
|
|
6
|
-
import ErrorBoundaryCard from './ErrorBoundaryCard'
|
|
7
|
-
import {AspectRatioCard, InputFallback} from './Input.styled'
|
|
8
|
-
|
|
9
|
-
const Input = lazy(() => import('./Input'))
|
|
10
|
-
|
|
11
|
-
// eslint-disable-next-line import/no-anonymous-default-export
|
|
12
|
-
export default (config: Config) =>
|
|
13
|
-
memo(function FormInput(props: InputProps) {
|
|
14
|
-
if (isMuxInputProps(props)) {
|
|
15
|
-
return (
|
|
16
|
-
<AspectRatioCard>
|
|
17
|
-
<ErrorBoundaryCard schemaType={props.schemaType}>
|
|
18
|
-
<Suspense fallback={<InputFallback />}>
|
|
19
|
-
<Input config={config} {...props} />
|
|
20
|
-
</Suspense>
|
|
21
|
-
</ErrorBoundaryCard>
|
|
22
|
-
</AspectRatioCard>
|
|
23
|
-
)
|
|
24
|
-
}
|
|
25
|
-
return props.renderDefault(props)
|
|
26
|
-
})
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import React, {lazy, memo} from 'react'
|
|
2
|
-
import {PreviewLayoutKey, PreviewProps} from 'sanity'
|
|
3
|
-
|
|
4
|
-
import {isMuxInputPreviewProps} from '../util/asserters'
|
|
5
|
-
import {AspectRatioCard} from './Input.styled'
|
|
6
|
-
|
|
7
|
-
const Preview = lazy(() => import('./Preview'))
|
|
8
|
-
|
|
9
|
-
export default memo(function FormPreview(props: PreviewProps<PreviewLayoutKey>) {
|
|
10
|
-
if (isMuxInputPreviewProps(props)) {
|
|
11
|
-
return (
|
|
12
|
-
<AspectRatioCard>
|
|
13
|
-
{/* @ts-expect-error */}
|
|
14
|
-
<Preview {...props} />
|
|
15
|
-
</AspectRatioCard>
|
|
16
|
-
)
|
|
17
|
-
}
|
|
18
|
-
return props.renderDefault(props)
|
|
19
|
-
})
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import {SanityDefaultPreview} from 'sanity'
|
|
3
|
-
|
|
4
|
-
import {useAssetDocumentValues} from '../hooks/useAssetDocumentValues'
|
|
5
|
-
import {VideoThumbnail} from './VideoSource.styled'
|
|
6
|
-
|
|
7
|
-
export interface MuxVideoPreviewProps {
|
|
8
|
-
value: {
|
|
9
|
-
asset: {
|
|
10
|
-
_type: 'reference'
|
|
11
|
-
_ref: string
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
const MuxVideoPreview = ({value}: MuxVideoPreviewProps) => {
|
|
16
|
-
const assetDocumentValues = useAssetDocumentValues(value?.asset!)
|
|
17
|
-
|
|
18
|
-
if (assetDocumentValues.value) {
|
|
19
|
-
return <VideoThumbnail asset={assetDocumentValues.value} width={640} />
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
// @ts-expect-error
|
|
23
|
-
const {filename, playbackId, status} = value ?? {}
|
|
24
|
-
|
|
25
|
-
return (
|
|
26
|
-
<SanityDefaultPreview
|
|
27
|
-
title={filename || playbackId || ''}
|
|
28
|
-
subtitle={status ? `status: ${status}` : null}
|
|
29
|
-
/>
|
|
30
|
-
)
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export default MuxVideoPreview
|