@sanity/code-input 3.0.0-v3-studio.9 → 3.0.0-v3-studio.11
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/cjs/index.js +17 -16
- package/lib/cjs/index.js.map +1 -1
- package/lib/esm/index.js +10 -11
- package/lib/esm/index.js.map +1 -1
- package/lib/types/index.d.ts +65 -27
- package/lib/types/index.d.ts.map +1 -1
- package/package.json +12 -12
- package/src/CodeInput.tsx +31 -10
- package/src/PreviewCode.tsx +9 -2
- package/src/index.ts +11 -5
- package/src/schema.tsx +26 -3
- package/src/types.ts +6 -13
package/lib/cjs/index.js
CHANGED
|
@@ -2,7 +2,6 @@ var $k7rGe$sanity = require("sanity");
|
|
|
2
2
|
var $k7rGe$sanityicons = require("@sanity/icons");
|
|
3
3
|
var $k7rGe$reactjsxruntime = require("react/jsx-runtime");
|
|
4
4
|
var $k7rGe$react = require("react");
|
|
5
|
-
var $k7rGe$sanityform = require("sanity/form");
|
|
6
5
|
var $k7rGe$sanityui = require("@sanity/ui");
|
|
7
6
|
var $k7rGe$styledcomponents = require("styled-components");
|
|
8
7
|
|
|
@@ -58,7 +57,8 @@ module.exports = Promise.resolve(require("./editorSupport.bbd31eae.js")).then(()
|
|
|
58
57
|
|
|
59
58
|
$parcel$export(module.exports, "codeInput", () => $244e63ca53592e4d$export$d18430c17c97a000);
|
|
60
59
|
$parcel$export(module.exports, "PreviewCode", () => $15530f24e7c40879$export$2e2bcd8739ae039);
|
|
61
|
-
|
|
60
|
+
$parcel$export(module.exports, "codeSchema", () => $fcd6ef024a3d4c8a$export$16f09c53a832d04e);
|
|
61
|
+
$parcel$export(module.exports, "codeTypeName", () => $fcd6ef024a3d4c8a$export$f55f5272394eafb2);
|
|
62
62
|
|
|
63
63
|
|
|
64
64
|
|
|
@@ -296,7 +296,7 @@ function $293e4fb68be52bc5$export$20d4ca75cb144ab0(props) {
|
|
|
296
296
|
currentHighlightedLines.push(lineNumber);
|
|
297
297
|
currentHighlightedLines.sort();
|
|
298
298
|
}
|
|
299
|
-
onChange((0, $k7rGe$
|
|
299
|
+
onChange((0, $k7rGe$sanity.set)(currentHighlightedLines.map((line)=>// ace starts at line (row) 0, but we store it starting at line 1
|
|
300
300
|
line + 1), [
|
|
301
301
|
"highlightedLines"
|
|
302
302
|
]));
|
|
@@ -357,30 +357,30 @@ function $293e4fb68be52bc5$export$20d4ca75cb144ab0(props) {
|
|
|
357
357
|
const path = (0, $8fdae771dbccc774$export$e1d3cf7d57c23d0f);
|
|
358
358
|
const fixedLanguage = type.options?.language;
|
|
359
359
|
onChange([
|
|
360
|
-
(0, $k7rGe$
|
|
360
|
+
(0, $k7rGe$sanity.setIfMissing)({
|
|
361
361
|
_type: type.name,
|
|
362
362
|
language: fixedLanguage
|
|
363
363
|
}),
|
|
364
|
-
code ? (0, $k7rGe$
|
|
364
|
+
code ? (0, $k7rGe$sanity.set)(code, path) : (0, $k7rGe$sanity.unset)(path),
|
|
365
365
|
]);
|
|
366
366
|
}, [
|
|
367
367
|
onChange,
|
|
368
368
|
type
|
|
369
369
|
]);
|
|
370
370
|
const languages = getLanguageAlternatives().slice();
|
|
371
|
-
const
|
|
372
|
-
const language = value?.language ||
|
|
371
|
+
const fixedLanguage1 = type.options?.language;
|
|
372
|
+
const language = value?.language || fixedLanguage1;
|
|
373
373
|
// the language config from the schema
|
|
374
374
|
const configured = languages.find((entry)=>entry.value === language);
|
|
375
375
|
// is the language officially supported (e.g. we import the mode by default)
|
|
376
376
|
const supported = language && $293e4fb68be52bc5$var$isSupportedLanguage(language);
|
|
377
|
-
const
|
|
377
|
+
const mode1 = configured?.mode || (supported ? language : "text");
|
|
378
378
|
const renderLanguageInput = (0, $k7rGe$react.useCallback)((inputProps)=>{
|
|
379
379
|
return /*#__PURE__*/ (0, $k7rGe$reactjsxruntime.jsx)((0, $k7rGe$sanityui.Select), {
|
|
380
380
|
...inputProps,
|
|
381
381
|
onChange: (e)=>{
|
|
382
382
|
const newValue = e.currentTarget.value;
|
|
383
|
-
inputProps.onChange(newValue ? (0, $k7rGe$
|
|
383
|
+
inputProps.onChange(newValue ? (0, $k7rGe$sanity.set)(newValue) : (0, $k7rGe$sanity.unset)());
|
|
384
384
|
},
|
|
385
385
|
children: languages.map((lang)=>/*#__PURE__*/ (0, $k7rGe$reactjsxruntime.jsx)("option", {
|
|
386
386
|
value: lang.value,
|
|
@@ -402,7 +402,7 @@ function $293e4fb68be52bc5$export$20d4ca75cb144ab0(props) {
|
|
|
402
402
|
}),
|
|
403
403
|
children: /*#__PURE__*/ (0, $k7rGe$reactjsxruntime.jsx)(AceEditor, {
|
|
404
404
|
ref: aceEditorRef,
|
|
405
|
-
mode:
|
|
405
|
+
mode: mode1,
|
|
406
406
|
theme: theme,
|
|
407
407
|
width: "100%",
|
|
408
408
|
onChange: handleCodeChange,
|
|
@@ -426,7 +426,7 @@ function $293e4fb68be52bc5$export$20d4ca75cb144ab0(props) {
|
|
|
426
426
|
handleCodeChange,
|
|
427
427
|
handleCodeFocus,
|
|
428
428
|
handleEditorLoad,
|
|
429
|
-
|
|
429
|
+
mode1,
|
|
430
430
|
elementProps.onBlur,
|
|
431
431
|
readOnly,
|
|
432
432
|
value,
|
|
@@ -434,21 +434,21 @@ function $293e4fb68be52bc5$export$20d4ca75cb144ab0(props) {
|
|
|
434
434
|
return /*#__PURE__*/ (0, $k7rGe$reactjsxruntime.jsxs)((0, $k7rGe$sanityui.Stack), {
|
|
435
435
|
space: 4,
|
|
436
436
|
children: [
|
|
437
|
-
languageFieldMember && /*#__PURE__*/ (0, $k7rGe$reactjsxruntime.jsx)((0, $k7rGe$
|
|
437
|
+
languageFieldMember && /*#__PURE__*/ (0, $k7rGe$reactjsxruntime.jsx)((0, $k7rGe$sanity.MemberField), {
|
|
438
438
|
member: languageFieldMember,
|
|
439
439
|
renderItem: renderItem,
|
|
440
440
|
renderField: renderField,
|
|
441
441
|
renderInput: renderLanguageInput,
|
|
442
442
|
renderPreview: renderPreview
|
|
443
443
|
}),
|
|
444
|
-
type.options?.withFilename && filenameMember && /*#__PURE__*/ (0, $k7rGe$reactjsxruntime.jsx)((0, $k7rGe$
|
|
444
|
+
type.options?.withFilename && filenameMember && /*#__PURE__*/ (0, $k7rGe$reactjsxruntime.jsx)((0, $k7rGe$sanity.MemberField), {
|
|
445
445
|
member: filenameMember,
|
|
446
446
|
renderItem: renderItem,
|
|
447
447
|
renderField: renderField,
|
|
448
448
|
renderInput: renderInput,
|
|
449
449
|
renderPreview: renderPreview
|
|
450
450
|
}),
|
|
451
|
-
codeFieldMember && /*#__PURE__*/ (0, $k7rGe$reactjsxruntime.jsx)((0, $k7rGe$
|
|
451
|
+
codeFieldMember && /*#__PURE__*/ (0, $k7rGe$reactjsxruntime.jsx)((0, $k7rGe$sanity.MemberField), {
|
|
452
452
|
member: codeFieldMember,
|
|
453
453
|
renderInput: renderCodeInput,
|
|
454
454
|
renderItem: renderItem,
|
|
@@ -659,7 +659,8 @@ function $c676b2e7a96a4665$export$a854ab43349813f2(language) {
|
|
|
659
659
|
|
|
660
660
|
|
|
661
661
|
|
|
662
|
-
|
|
662
|
+
const $fcd6ef024a3d4c8a$export$f55f5272394eafb2 = "code";
|
|
663
|
+
const $fcd6ef024a3d4c8a$export$16f09c53a832d04e = (0, $k7rGe$sanity.defineType)({
|
|
663
664
|
name: "code",
|
|
664
665
|
type: "object",
|
|
665
666
|
title: "Code",
|
|
@@ -719,7 +720,7 @@ const $244e63ca53592e4d$export$d18430c17c97a000 = (0, $k7rGe$sanity.createPlugin
|
|
|
719
720
|
name: "@sanity/code-input",
|
|
720
721
|
schema: {
|
|
721
722
|
types: [
|
|
722
|
-
(0, $fcd6ef024a3d4c8a$export$
|
|
723
|
+
(0, $fcd6ef024a3d4c8a$export$16f09c53a832d04e)
|
|
723
724
|
]
|
|
724
725
|
}
|
|
725
726
|
});
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,cAAc,GAAG,AAAC,OAAO,CAAC,OAAO,CAAC,QAAoB,8CAAmD,CAAC,CAAC,CAAE,IAAI,CAAC,IAAM,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;;;;;;;ACAhJ;ACAA;ACCA;;;;;;ACDA;AAGO,MAAM,yCAAmB,GAAG,CAAA,GAAA,2BAAG,CAAA,CAAC;;;sBAGjB,EAAE,CAAC,SAAC,KAAK,CAAA,EAAC,GAAK,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;;;;;AAKjF,CAAC;AAEc,kDAAgC,IAAc,EAAa;IACxE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAM,CAAA;YACxB,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;YACzB,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;YACvB,MAAM,EAAE,QAAS;YACjB,SAAS,EAAE,8BAA8B;YACzC,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,IAAI;SACd,CAAA,AAAC,CAAC,CAAA;CACJ;;;ACpBM,MAAM,yCAAmB,GAAwB;IACtD;QAAC,KAAK,EAAE,YAAY;QAAE,KAAK,EAAE,WAAW;KAAC;IACzC;QAAC,KAAK,EAAE,IAAI;QAAE,KAAK,EAAE,QAAQ;KAAC;IAC9B;QAAC,KAAK,EAAE,KAAK;QAAE,KAAK,EAAE,KAAK;KAAC;IAC5B;QAAC,KAAK,EAAE,IAAI;QAAE,KAAK,EAAE,QAAQ;KAAC;IAC9B;QAAC,KAAK,EAAE,MAAM;QAAE,KAAK,EAAE,MAAM;KAAC;IAC9B;QAAC,KAAK,EAAE,MAAM;QAAE,KAAK,EAAE,MAAM;KAAC;IAC9B;QAAC,KAAK,EAAE,MAAM;QAAE,KAAK,EAAE,MAAM;KAAC;IAC9B;QAAC,KAAK,EAAE,YAAY;QAAE,KAAK,EAAE,YAAY;KAAC;IAC1C;QAAC,KAAK,EAAE,MAAM;QAAE,KAAK,EAAE,MAAM;KAAC;IAC9B;QAAC,KAAK,EAAE,KAAK;QAAE,KAAK,EAAE,KAAK;KAAC;IAC5B;QAAC,KAAK,EAAE,UAAU;QAAE,KAAK,EAAE,UAAU;KAAC;IACtC;QAAC,KAAK,EAAE,OAAO;QAAE,KAAK,EAAE,OAAO;KAAC;IAChC;QAAC,KAAK,EAAE,KAAK;QAAE,KAAK,EAAE,KAAK;KAAC;IAC5B;QAAC,KAAK,EAAE,YAAY;QAAE,KAAK,EAAE,MAAM;KAAC;IACpC;QAAC,KAAK,EAAE,QAAQ;QAAE,KAAK,EAAE,QAAQ;KAAC;IAClC;QAAC,KAAK,EAAE,MAAM;QAAE,KAAK,EAAE,MAAM;KAAC;IAC9B;QAAC,KAAK,EAAE,MAAM;QAAE,KAAK,EAAE,MAAM;KAAC;IAC9B;QAAC,KAAK,EAAE,MAAM;QAAE,KAAK,EAAE,MAAM;KAAC;IAC9B;QAAC,KAAK,EAAE,IAAI;QAAE,KAAK,EAAE,IAAI;KAAC;IAC1B;QAAC,KAAK,EAAE,KAAK;QAAE,KAAK,EAAE,KAAK;KAAC;IAC5B;QAAC,KAAK,EAAE,YAAY;QAAE,KAAK,EAAE,YAAY;KAAC;IAC1C;QAAC,KAAK,EAAE,KAAK;QAAE,KAAK,EAAE,KAAK;KAAC;IAC5B;QAAC,KAAK,EAAE,MAAM;QAAE,KAAK,EAAE,MAAM;KAAC;CAC/B;AAEM,MAAM,yCAAgB,GAAuC;IAAC,EAAE,EAAE,YAAY;CAAC;AAE/E,MAAM,yCAAgB,GAAG;IAAC,QAAQ;IAAE,SAAS;IAAE,UAAU;IAAE,UAAU;CAAC;AAEtE,MAAM,yCAAa,GAAG,UAAU;AAChC,MAAM,yCAAkB,GAAG,SAAS;AAEpC,MAAM,yCAAe,GAAG;IAC7B,WAAW,EAAE,IAAI;IACjB,sBAAsB,EAAE,IAAI;CAC7B;AAEM,MAAM,yCAAgB,GAAG;IAAC,eAAe,EAAE,IAAI;CAAC;AAEhD,MAAM,yCAAa,GAAG;IAAC,UAAU;CAAC;AAClC,MAAM,yCAAS,GAAG;IAAC,MAAM;CAAC;AAC1B,MAAM,yCAAa,GAAG;IAAC,UAAU;CAAC;;;AC7CzC;;AASO,MAAM,yCAAa,iBAAG,CAAA,GAAA,sCAAK,CAAA,CAAC,IAAI,CAAC,IAAM,wBAAyB,CAAC;AAEjE,SAAS,yCAAY,GAAG;IAC7B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,CAAA,GAAA,qBAAQ,CAAA,CAAC,KAAK,CAAC;IAC7C,CAAA,GAAA,sBAAS,CAAA,CAAC,IAAM;QACd,qBAAqB,CAAC,IAAM,UAAU,CAAC,IAAI,CAAC,CAAC;KAC9C,EAAE,EAAE,CAAC;IAEN,OAAO,OAAO,GAAG,yCAAa,GAAG,IAAI,CAAA;CACtC;;;AHID,MAAM,qCAAe,GAAG,CAAA,GAAA,iDAAM,CAAA,CAAC,CAAA,GAAA,oBAAI,CAAA,CAAC,CAAC;;;;;;;iBAOpB,EAAE,CAAC,SAAC,KAAK,CAAA,EAAC,GAAK,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;eAChD,EAAE,CAAC,SAAC,KAAK,CAAA,EAAC,GAAK,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;;;EAI7D,EAAE,CAAA,GAAA,yCAAmB,CAAA,CAAC;;;;;4BAKI,EAAE,CAAC,SAAC,KAAK,CAAA,EAAC,GAAK,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;wBACrD,EAAE,CAAC,SAAC,KAAK,CAAA,EAAC,GAAK,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9C,EAAE,CAAC,SAAC,KAAK,CAAA,EAAC,GAAK,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;;;AAGrE,CAAC;AAiBD,sFAAsF;AACtF,SAAS,yCAAmB,CAAC,IAAY,EAAE;IACzC,MAAM,KAAK,GAAG,CAAA,GAAA,yCAAgB,CAAA,CAAC,IAAI,CAAC;IAEpC,IAAI,KAAK,EACP,OAAO,KAAK,CAAA;IAGd,MAAM,WAAW,GAAG,CAAA,GAAA,yCAAmB,CAAA,CAAC,IAAI,CAAC,CAAC,IAAI,GAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;IAC3E,IAAI,WAAW,EACb,OAAO,IAAI,CAAA;IAGb,OAAO,KAAK,CAAA;CACb;AAEM,SAAS,yCAAS,CAAC,KAAqB,EAAE;IAC/C,MAAM,WACJ,OAAO,CAAA,gBACP,YAAY,CAAA,YACZ,QAAQ,CAAA,eACR,WAAW,CAAA,YACX,QAAQ,CAAA,eACR,WAAW,CAAA,eACX,WAAW,CAAA,cACX,UAAU,CAAA,iBACV,aAAa,CAAA,EACb,UAAU,EAAE,IAAI,CAAA,SAChB,KAAK,CAAA,IACN,GAAG,KAAK;IAET,MAAM,YAAY,GAAG,CAAA,GAAA,mBAAM,CAAA,EAAO;IAElC,MAAM,YAAY,GAAG,CAAA,GAAA,oBAAO,CAAA,CAC1B,IAAM,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,GAAK,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,AAAiB,EAC1E;QAAC,OAAO;KAAC,CACV;IAED,MAAM,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,GAAK,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC;IACrF,MAAM,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,GAAK,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC;IAChF,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,GAAK,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC;IAE7E,CAAA,GAAA,gCAAmB,CAAA,CAAC,YAAY,CAAC,GAAG,EAAE,IAAO,CAAA;YAC3C,KAAK,EAAE,IAAM;gBACX,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;aACvC;SACF,CAAA,AAAC,CAAC;IAEH,MAAM,eAAe,GAAG,CAAA,GAAA,wBAAW,CAAA,CAAC,IAAM;QACxC,WAAW,CAAC,CAAA,GAAA,yCAAS,CAAA,CAAC;KACvB,EAAE;QAAC,WAAW;KAAC,CAAC;IAEjB,MAAM,UAAC,MAAM,CAAA,EAAC,GAAG,CAAA,GAAA,4BAAc,CAAA,EAAE;IAEjC,MAAM,KAAK,GAAG,CAAA,GAAA,oBAAO,CAAA,CAAC,IAAM;QAC1B,MAAM,OAAO,GAAG,MAAM,KAAK,OAAO;QAClC,MAAM,cAAc,GAAG,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS;QAC9E,MAAM,YAAY,GAAG,OAAO,GAAG,CAAA,GAAA,yCAAa,CAAA,GAAG,CAAA,GAAA,yCAAkB,CAAA;QACjE,OAAO,cAAc,IAAI,CAAA,GAAA,yCAAgB,CAAA,CAAC,IAAI,CAAC,CAAC,CAAC,GAAK,CAAC,KAAK,cAAc,CAAC,GACvE,cAAc,GACd,YAAY,CAAA;KACjB,EAAE;QAAC,IAAI;QAAE,MAAM;KAAC,CAAC;IAElB,MAAM,sBAAsB,GAAG,CAAA,GAAA,wBAAW,CAAA,CACxC,CAAC,UAAkB,GAAK;QACtB,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE;QAChE,MAAM,iBAAiB,GAAG,aAAa,EAAE,UAAU,CAAC,IAAI,CAAC;QACzD,MAAM,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAC3D,MAAM,CAAC,CAAC,GAAG,GAAK,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAC7D,GAAG,CAAC,CAAC,GAAG,GAAK,iBAAiB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;QACvD,MAAM,YAAY,GAAG,uBAAuB,CAAC,OAAO,CAAC,UAAU,CAAC;QAChE,IAAI,YAAY,GAAG,EAAE,EACnB,gBAAgB;QAChB,uBAAuB,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;aAC1C;YACL,aAAa;YACb,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC;YACxC,uBAAuB,CAAC,IAAI,EAAE;SAC/B;QACD,QAAQ,CACN,CAAA,GAAA,qBAAG,CAAA,CACD,uBAAuB,CAAC,GAAG,CACzB,CAAC,IAAI,GACH,iEAAiE;YACjE,IAAI,GAAG,CAAC,CACX,EACD;YAAC,kBAAkB;SAAC,CACrB,CACF;KACF,EACD;QAAC,YAAY;QAAE,QAAQ;KAAC,CACzB;IAED,MAAM,qBAAqB,GAAG,CAAA,GAAA,wBAAW,CAAA,CACvC,CAAC,KAAU,GAAK;QACd,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM;QACpC,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;YAChD,MAAM,GAAG,GAAG,KAAK,CAAC,mBAAmB,EAAE,CAAC,GAAG;YAC3C,sBAAsB,CAAC,GAAG,CAAC;SAC5B;KACF,EACD;QAAC,sBAAsB;KAAC,CACzB;IAED,CAAA,GAAA,sBAAS,CAAA,CAAC,IAAM;QACd,MAAM,MAAM,GAAG,YAAY,EAAE,OAAO,EAAE,MAAM;QAC5C,OAAO,IAAM;YACX,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;SAC1E,CAAA;KACF,EAAE;QAAC,YAAY;QAAE,qBAAqB;KAAC,CAAC;IAEzC,MAAM,gBAAgB,GAAG,CAAA,GAAA,wBAAW,CAAA,CAClC,CAAC,MAAW,GAAK;QACf,MAAM,EAAE,EAAE,CAAC,iBAAiB,EAAE,qBAAqB,CAAC;KACrD,EACD;QAAC,qBAAqB;KAAC,CACxB;IAED,MAAM,uBAAuB,GAAG,CAAA,GAAA,wBAAW,CAAA,CAAC,IAIrC;QACL,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,EAAE,oBAAoB;QAC/D,IAAI,CAAC,oBAAoB,EACvB,OAAO,GAAA,yCAAmB,CAAA;QAG5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,EACtC,MAAM,IAAI,KAAK,CACb,CAAC,uDAAuD,EAAE,OAAO,oBAAoB,CAAC,CAAC,CACxF,CAAA;QAGH,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC,GAAwB,EAAE,SAAC,KAAK,CAAA,EAAE,KAAK,EAAE,GAAG,CAAA,QAAE,IAAI,CAAA,EAAC,GAAK;YAC1F,MAAM,KAAK,GAAG,CAAA,GAAA,yCAAgB,CAAA,CAAC,GAAG,CAAC;YACnC,IAAI,KAAK,EAAE;gBACT,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CACV,CAAC,kIAAkI,CAAC,EACpI,GAAG,EACH,KAAK,EACL,KAAK,CACN;gBAED,OAAO,GAAG,CAAC,MAAM,CAAC;2BAAC,KAAK;oBAAE,KAAK,EAAE,KAAK;oBAAE,IAAI,EAAE,IAAI;iBAAC,CAAC,CAAA;aACrD;YAED,IAAI,CAAC,IAAI,IAAI,CAAC,CAAA,GAAA,yCAAmB,CAAA,CAAC,IAAI,CAAC,CAAC,IAAI,GAAK,IAAI,CAAC,KAAK,KAAK,GAAG,CAAC,EAClE,sCAAsC;YACtC,OAAO,CAAC,IAAI,CACV,CAAC,mHAAmH,CAAC,EACrH,GAAG,CACJ;YAGH,OAAO,GAAG,CAAC,MAAM,CAAC;uBAAC,KAAK;gBAAE,KAAK,EAAE,GAAG;sBAAE,IAAI;aAAC,CAAC,CAAA;SAC7C,EAAE,EAAE,CAAC,CAAA;KACP,EAAE;QAAC,IAAI;KAAC,CAAC;IAEV,MAAM,gBAAgB,GAAG,CAAA,GAAA,wBAAW,CAAA,CAClC,CAAC,IAAY,GAAK;QAChB,MAAM,IAAI,GAAG,CAAA,GAAA,yCAAS,CAAA;QACtB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ;QAE5C,QAAQ,CAAC;YACP,CAAA,GAAA,8BAAY,CAAA,CAAC;gBAAC,KAAK,EAAE,IAAI,CAAC,IAAI;gBAAE,QAAQ,EAAE,aAAa;aAAC,CAAC;YACzD,IAAI,GAAG,CAAA,GAAA,qBAAG,CAAA,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAA,GAAA,uBAAK,CAAA,CAAC,IAAI,CAAC;SACrC,CAAC;KACH,EACD;QAAC,QAAQ;QAAE,IAAI;KAAC,CACjB;IAED,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC,KAAK,EAAE;IAEnD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ;IAE5C,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAQ,IAAI,aAAa;IAEjD,sCAAsC;IACtC,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,GAAK,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC;IAEtE,4EAA4E;IAC5E,MAAM,SAAS,GAAG,QAAQ,IAAI,yCAAmB,CAAC,QAAQ,CAAC;IAE3D,MAAM,IAAI,GAAG,UAAU,EAAE,IAAI,IAAK,CAAA,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA,AAAC;IAEhE,MAAM,mBAAmB,GAAG,CAAA,GAAA,wBAAW,CAAA,CACrC,CAAC,UAAsB,GAAK;QAC1B,qBACE,gCAAC,CAAA,GAAA,sBAAM,CAAA;YACJ,GAAI,UAAU;YACf,QAAQ,EAAE,CAAC,CAAC,GAAK;gBACf,MAAM,QAAQ,GAAG,CAAC,CAAC,aAAa,CAAC,KAAK;gBACtC,UAAU,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAA,GAAA,qBAAG,CAAA,CAAC,QAAQ,CAAC,GAAG,CAAA,GAAA,uBAAK,CAAA,EAAE,CAAC;aACxD;sBAEA,SAAS,CAAC,GAAG,CAAC,CAAC,IAAoC,iBAClD,gCAAC,QAAM;oBAAkB,KAAK,EAAE,IAAI,CAAC,KAAK;8BACvC,IAAI,CAAC,KAAK;mBADA,IAAI,CAAC,KAAK,CAEd,AACV,CAAC;UACK,CACV;KACF,EACD;QAAC,SAAS;KAAC,CACZ;IAED,MAAM,SAAS,GAAG,CAAA,GAAA,yCAAY,CAAA,EAAE;IAEhC,MAAM,eAAe,GAAG,CAAA,GAAA,wBAAW,CAAA,CACjC,CAAC,UAAU,GAAK;QACd,qBACE,gCAAC,qCAAe;YAAC,MAAM,EAAE,CAAC;YAAE,MAAM,EAAE,CAAC;YAAE,QAAQ,EAAE,QAAQ;sBACtD,SAAS,kBACR,gCAAC,CAAA,GAAA,qBAAQ,CAAA;gBAAC,QAAQ,gBAAE,gCAAC,KAAG;8BAAC,wBAAsB;kBAAM;0BACnD,cAAA,gCAAC,SAAS;oBACR,GAAG,EAAE,YAAY;oBACjB,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAC,MAAM;oBACZ,QAAQ,EAAE,gBAAgB;oBAC1B,IAAI,EAAE,UAAU,CAAC,EAAE;oBACnB,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,OAAO,EACL,KAAK,IAAI,KAAK,CAAC,gBAAgB,GAC3B,CAAA,GAAA,wCAAsB,CAAA,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAC9C,SAAS;oBAEf,MAAM,EAAE,gBAAgB;oBACxB,QAAQ,EAAE,QAAQ;oBAClB,OAAO,EAAE,CAAC;oBACV,WAAW;oBACX,UAAU,EAAE,CAAA,GAAA,yCAAe,CAAA;oBAC3B,WAAW,EAAE,CAAA,GAAA,yCAAgB,CAAA;oBAC7B,OAAO,EAAE,eAAe;oBACxB,MAAM,EAAE,YAAY,CAAC,MAAM;kBAC3B;cACO,AACZ;UACe,CACnB;KACF,EACD;QACE,SAAS;QACT,KAAK;QACL,gBAAgB;QAChB,eAAe;QACf,gBAAgB;QAChB,IAAI;QACJ,YAAY,CAAC,MAAM;QACnB,QAAQ;QACR,KAAK;KACN,CACF;IAED,qBACE,iCAAC,CAAA,GAAA,qBAAK,CAAA;QAAC,KAAK,EAAE,CAAC;;YACZ,mBAAmB,kBAClB,gCAAC,CAAA,GAAA,6BAAW,CAAA;gBACV,MAAM,EAAE,mBAAmB;gBAC3B,UAAU,EAAE,UAAU;gBACtB,WAAW,EAAE,WAAW;gBACxB,WAAW,EAAE,mBAAmB;gBAChC,aAAa,EAAE,aAAa;cAC5B,AACH;YAEA,IAAI,CAAC,OAAO,EAAE,YAAY,IAAI,cAAc,kBAC3C,gCAAC,CAAA,GAAA,6BAAW,CAAA;gBACV,MAAM,EAAE,cAAc;gBACtB,UAAU,EAAE,UAAU;gBACtB,WAAW,EAAE,WAAW;gBACxB,WAAW,EAAE,WAAW;gBACxB,aAAa,EAAE,aAAa;cAC5B,AACH;YAEA,eAAe,kBACd,gCAAC,CAAA,GAAA,6BAAW,CAAA;gBACV,MAAM,EAAE,eAAe;gBACvB,WAAW,EAAE,eAAe;gBAC5B,UAAU,EAAE,UAAU;gBACtB,WAAW,EAAE,WAAW;gBACxB,aAAa,EAAE,aAAa;cAC5B,AACH;;MACK,CACT;CACF;;;AI9VD;;;;;;;AAQA,MAAM,sCAAgB,GAAG,CAAA,GAAA,iDAAM,CAAA,CAAC,CAAA,GAAA,mBAAG,CAAA,CAAC,CAAC;;AAErC,CAAC;AAED,MAAM,kCAAY,GAAG,CAAA,GAAA,iDAAM,CAAA,CAAC,CAAA,GAAA,mBAAG,CAAA,CAAC,CAAC;;;;;;;;;;;;;AAajC,CAAC;AAOc,kDAAqB,KAAuB,EAAE;IAC3D,MAAM,YAAY,GAAG,CAAA,GAAA,mBAAM,CAAA,EAAO;IAElC,CAAA,GAAA,sBAAS,CAAA,CAAC,IAAM;QACd,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,OAAM;QAElC,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM;QAE3C,IAAI,MAAM,EAAE;YACV,yCAAyC;YACzC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC;YACtD,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,QAAQ,GAAG,IAAI;SAC9C;KACF,EAAE,EAAE,CAAC;IAEN,MAAM,kBAAkB,GAAG,CAAA,GAAA,wBAAW,CAAA,CAAC,IAAM;IAC3C,qCAAqC;KACtC,EAAE,EAAE,CAAC;IAEN,MAAM,SAAC,KAAK,CAAA,QAAE,IAAI,CAAA,EAAC,GAAG,KAAK;IAC3B,MAAM,aAAa,GAAG,IAAI,EAAE,OAAO,EAAE,QAAQ;IAE7C,MAAM,SAAS,GAAG,KAAK,EAAE,SAAS;IAClC,MAAM,IAAI,GAAG,SAAS,EAAE,QAAQ,IAAI,aAAa,IAAI,MAAM;IAE3D,MAAM,SAAS,GAAG,CAAA,GAAA,yCAAY,CAAA,EAAE;IAChC,qBACE,gCAAC,sCAAgB;kBACf,cAAA,gCAAC,kCAAY;YAAC,OAAO,EAAE,CAAC;sBACrB,SAAS,kBACR,gCAAC,CAAA,GAAA,qBAAQ,CAAA;gBAAC,QAAQ,gBAAE,gCAAC,KAAG;8BAAC,yBAAuB;kBAAM;0BACpD,cAAA,gCAAC,SAAS;oBACR,GAAG,EAAE,YAAY;oBACjB,KAAK,EAAE,KAAK;oBACZ,IAAI,EAAE,IAAI;oBACV,KAAK,EAAC,SAAS;oBACf,KAAK,EAAC,MAAM;oBACZ,QAAQ,EAAE,kBAAkB;oBAC5B,QAAQ,EAAE,GAAG;oBACb,QAAQ;oBACR,WAAW;oBACX,eAAe,EAAE,KAAK;oBACtB,mBAAmB,EAAE,KAAK;oBAC1B,WAAW,EAAE,EAAE;oBACf,KAAK,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE;oBAC5B,OAAO,EACL,SAAS,EAAE,gBAAgB,GACvB,CAAA,GAAA,wCAAsB,CAAA,CAAC,SAAS,CAAC,gBAAgB,CAAC,GAClD,SAAS;oBAEf,OAAO,EAAE,CAAC;oBACV,UAAU,EAAE,KAAK;oBACjB,UAAU,EAAE,CAAA,GAAA,yCAAe,CAAA;oBAC3B,WAAW,EAAE,CAAA,GAAA,yCAAgB,CAAA;kBAC7B;cACO,AACZ;UACY;MACE,CACpB;CACF;;;AC5FD;;AAEO,SAAS,yCAAQ,CAAC,QAAiB,EAAE;IAC1C,IAAI,QAAQ,KAAK,KAAK,EACpB,qBACE,gCAAC,KAAG;QAAC,KAAK,EAAC,4BAA4B;QAAC,OAAO,EAAC,aAAa;kBAC3D,cAAA,iCAAC,GAAC;YAAC,IAAI,EAAC,SAAS;;8BACf,gCAAC,QAAM;oBAAC,EAAE,EAAC,IAAI;oBAAC,EAAE,EAAC,IAAI;oBAAC,CAAC,EAAC,MAAM;kBAAG;8BACnC,gCAAC,MAAI;oBAAC,CAAC,EAAC,6sEAA6sE;kBAAG;;UACttE;MACA,CACP;IAGH,IAAI,QAAQ,KAAK,YAAY,EAC3B,qBACE,iCAAC,KAAG;QAAC,KAAK,EAAC,4BAA4B;QAAC,OAAO,EAAC,aAAa;;0BAC3D,gCAAC,MAAI;gBAAC,IAAI,EAAC,SAAS;gBAAC,CAAC,EAAC,qCAAqC;cAAG;0BAC/D,gCAAC,MAAI;gBACH,IAAI,EAAC,SAAS;gBACd,CAAC,EAAC,69BAA69B;cAC/9B;;MACE,CACP;IAGH,IAAI,QAAQ,KAAK,KAAK,EACpB,qBACE,gCAAC,KAAG;QAAC,KAAK,EAAC,4BAA4B;QAAC,OAAO,EAAC,aAAa;kBAC3D,cAAA,gCAAC,GAAC;YAAC,SAAS,EAAC,4BAA4B;sBACvC,cAAA,iCAAC,GAAC;gBAAC,SAAS,EAAC,2CAA2C;;kCACtD,gCAAC,MAAI;wBAAC,CAAC,EAAC,8mBAA8mB;sBAAG;kCACznB,gCAAC,MAAI;wBAAC,CAAC,EAAC,uRAAuR;sBAAG;kCAClS,gCAAC,MAAI;wBAAC,CAAC,EAAC,8mBAA8mB;sBAAG;;cACvnB;UACF;MACA,CACP;IAGH,IAAI,QAAQ,KAAK,MAAM,EACrB,qBACE,iCAAC,KAAG;QACF,KAAK,EAAC,4BAA4B;QAClC,UAAU,EAAC,8BAA8B;QACzC,OAAO,EAAC,aAAa;;0BAErB,iCAAC,MAAI;;kCACH,iCAAC,gBAAc;wBAAC,EAAE,EAAC,GAAG;;0CACpB,gCAAC,MAAI;gCAAC,MAAM,EAAC,GAAG;8BAAG;0CACnB,gCAAC,MAAI;gCAAC,MAAM,EAAC,GAAG;gCAAC,SAAS,EAAC,MAAM;8BAAG;;sBACrB;kCACjB,gCAAC,gBAAc;wBACb,EAAE,EAAC,SAAS;wBACZ,EAAE,EAAC,SAAS;wBACZ,EAAE,EAAC,UAAU;wBACb,EAAE,EAAC,SAAS;wBACZ,EAAE,EAAC,GAAG;wBACN,SAAS,EAAC,IAAI;wBACd,aAAa,EAAC,gBAAgB;wBAC9B,iBAAiB,EAAC,2CAA2C;sBAC7D;kCACF,gCAAC,gBAAc;wBACb,EAAE,EAAC,UAAU;wBACb,EAAE,EAAC,SAAS;wBACZ,EAAE,EAAC,SAAS;wBACZ,EAAE,EAAC,SAAS;wBACZ,EAAE,EAAC,GAAG;wBACN,SAAS,EAAC,IAAI;wBACd,aAAa,EAAC,gBAAgB;wBAC9B,iBAAiB,EAAC,2CAA2C;sBAC7D;;cACG;0BACP,gCAAC,MAAI;gBACH,CAAC,EAAC,8SAA8S;gBAChT,KAAK,EAAE;oBAAC,MAAM,EAAE,MAAM;iBAAC;gBACvB,KAAK,EAAC,MAAM;gBACZ,IAAI,EAAC,SAAS;gBACd,QAAQ,EAAC,SAAS;gBAClB,QAAQ,EAAC,SAAS;cAClB;0BACF,gCAAC,MAAI;gBACH,CAAC,EAAC,0SAA0S;gBAC5S,KAAK,EAAE;oBAAC,MAAM,EAAE,MAAM;iBAAC;gBACvB,KAAK,EAAC,MAAM;gBACZ,IAAI,EAAC,SAAS;gBACd,QAAQ,EAAC,SAAS;gBAClB,QAAQ,EAAC,SAAS;cAClB;;MACE,CACP;IAGH,OAAO,SAAS,CAAA;CACjB;;;;INnFD,wCAsDE,GAtDa,CAAA,GAAA,wBAAU,CAAA,CAAC;IACxB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,MAAM;IACb,UAAU,EAAE;QAAC,KAAK,EAAE,CAAA,GAAA,yCAAS,CAAA;QAAE,OAAO,EAAE,CAAA,GAAA,wCAAW,CAAA;KAAC;IACpD,IAAI,EAAE,CAAA,GAAA,gCAAa,CAAA;IACnB,MAAM,EAAE;QACN;YACE,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;SACf;QACD;YACE,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;SACf;QACD;YACE,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;SACb;QACD;YACE,KAAK,EAAE,mBAAmB;YAC1B,IAAI,EAAE,kBAAkB;YACxB,IAAI,EAAE,OAAO;YACb,EAAE,EAAE;gBACF;oBACE,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,kBAAkB;iBAC1B;aACF;SACF;KACF;IACD,OAAO,EAAE;QACP,MAAM,EAAE;YACN,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,UAAU;YACpB,gBAAgB,EAAE,kBAAkB;SACrC;QACD,OAAO,EAAE,CAAC,KAKT,GAAK;YACJ,OAAO;gBACL,KAAK,EAAE,KAAK,CAAC,QAAQ,IAAI,AAAC,CAAA,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAA,CAAE,WAAW,EAAE;gBACpE,KAAK,EAAE,CAAA,GAAA,yCAAQ,CAAA,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAChC,SAAS,EAAE,KAAK;aACjB,CAAA;SACF;KACF;CACF,CAAC;;;;ADzDK,MAAM,yCAAS,GAAG,CAAA,GAAA,0BAAY,CAAA,CAAC;IACpC,IAAI,EAAE,oBAAoB;IAC1B,MAAM,EAAE;QAAC,KAAK,EAAE;YAAC,CAAA,GAAA,wCAAM,CAAA;SAAC;KAAC;CAC1B,CAAC","sources":["node_modules/@parcel/runtime-js/lib/runtime-3c15e3c40a574462.js","src/index.ts","src/schema.tsx","src/CodeInput.tsx","src/createHighlightMarkers.ts","src/config.ts","src/ace-editor/AceEditorLazy.tsx","src/PreviewCode.tsx","src/getMedia.tsx"],"sourcesContent":["module.exports = (Promise.resolve(__parcel__require__(\"./\" + \"editorSupport.bbd31eae.js\"))).then(() => parcelRequire('lMYyH'));","import {createPlugin} from 'sanity'\nimport schema from './schema'\nimport PreviewCode from './PreviewCode'\n\nexport type {CodeInputProps, CodeSchemaType} from './CodeInput'\nexport type {CodeInputLanguage, CodeInputValue} from './types'\nexport {PreviewCode}\n\nexport const codeInput = createPlugin({\n name: '@sanity/code-input',\n schema: {types: [schema]},\n})\n","import {CodeBlockIcon} from '@sanity/icons'\nimport {CodeInput} from './CodeInput'\nimport PreviewCode, {PreviewCodeProps} from './PreviewCode'\nimport {getMedia} from './getMedia'\nimport {defineType} from 'sanity'\n\nexport type {CodeInputProps, CodeSchemaType} from './CodeInput'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\nexport type {PreviewCode, PreviewCodeProps, CodeInput}\n\nexport default defineType({\n name: 'code',\n type: 'object',\n title: 'Code',\n components: {input: CodeInput, preview: PreviewCode},\n icon: CodeBlockIcon,\n fields: [\n {\n name: 'language',\n title: 'Language',\n type: 'string',\n },\n {\n name: 'filename',\n title: 'Filename',\n type: 'string',\n },\n {\n title: 'Code',\n name: 'code',\n type: 'text',\n },\n {\n title: 'Highlighted lines',\n name: 'highlightedLines',\n type: 'array',\n of: [\n {\n type: 'number',\n title: 'Highlighted line',\n },\n ],\n },\n ],\n preview: {\n select: {\n language: 'language',\n code: 'code',\n filename: 'filename',\n highlightedLines: 'highlightedLines',\n },\n prepare: (value: {\n language?: string\n code?: string\n filename?: string\n highlightedLines?: number[]\n }) => {\n return {\n title: value.filename || (value.language || 'unknown').toUpperCase(),\n media: getMedia(value?.language),\n selection: value,\n }\n },\n },\n})\n","/* eslint-disable react/jsx-handler-names */\nimport React, {Suspense, useCallback, useEffect, useImperativeHandle, useMemo, useRef} from 'react'\nimport {FieldMember, MemberField, ObjectInputProps, set, setIfMissing, unset} from 'sanity/form'\nimport {InputProps, ObjectSchemaType, StringInputProps, useColorScheme} from 'sanity'\nimport {Card, Select, Stack, ThemeColorSchemeKey} from '@sanity/ui'\nimport styled from 'styled-components'\nimport createHighlightMarkers, {highlightMarkersCSS} from './createHighlightMarkers'\nimport {CodeInputLanguage, CodeInputValue} from './types'\nimport {\n ACE_EDITOR_PROPS,\n ACE_SET_OPTIONS,\n DEFAULT_DARK_THEME,\n DEFAULT_THEME,\n LANGUAGE_ALIASES,\n PATH_CODE,\n SUPPORTED_LANGUAGES,\n SUPPORTED_THEMES,\n} from './config'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\n\nconst EditorContainer = styled(Card)`\n position: relative;\n box-sizing: border-box;\n overflow: hidden;\n z-index: 0;\n\n .ace_editor {\n font-family: ${({theme}) => theme.sanity.fonts.code.family};\n font-size: ${({theme}) => theme.sanity.fonts.code.sizes[1]};\n line-height: inherit;\n }\n\n ${highlightMarkersCSS}\n\n &:not([disabled]):not([readonly]) {\n &:focus,\n &:focus-within {\n box-shadow: 0 0 0 2px ${({theme}) => theme.sanity.color.base.focusRing};\n background-color: ${({theme}) => theme.sanity.color.base.bg};\n border-color: ${({theme}) => theme.sanity.color.base.focusRing};\n }\n }\n`\n\nexport type CodeSchemaType = Omit<ObjectSchemaType, 'options'> & {\n options?: {\n theme?: string\n darkTheme?: string\n languageAlternatives: CodeInputLanguage[]\n language: string\n withFilename?: boolean\n }\n}\n\nexport type CodeInputProps = ObjectInputProps<CodeInputValue, CodeSchemaType> & {\n /** @internal */\n colorScheme?: ThemeColorSchemeKey\n}\n\n// Returns a string with the mode name if supported (because aliases), otherwise false\nfunction isSupportedLanguage(mode: string) {\n const alias = LANGUAGE_ALIASES[mode]\n\n if (alias) {\n return alias\n }\n\n const isSupported = SUPPORTED_LANGUAGES.find((lang) => lang.value === mode)\n if (isSupported) {\n return mode\n }\n\n return false\n}\n\nexport function CodeInput(props: CodeInputProps) {\n const {\n members,\n elementProps,\n onChange,\n onFocusPath,\n readOnly,\n renderField,\n renderInput,\n renderItem,\n renderPreview,\n schemaType: type,\n value,\n } = props\n\n const aceEditorRef = useRef<any>()\n\n const fieldMembers = useMemo(\n () => members.filter((member) => member.kind === 'field') as FieldMember[],\n [members]\n )\n\n const languageFieldMember = fieldMembers.find((member) => member.name === 'language')\n const filenameMember = fieldMembers.find((member) => member.name === 'filename')\n const codeFieldMember = fieldMembers.find((member) => member.name === 'code')\n\n useImperativeHandle(elementProps.ref, () => ({\n focus: () => {\n aceEditorRef?.current?.editor?.focus()\n },\n }))\n\n const handleCodeFocus = useCallback(() => {\n onFocusPath(PATH_CODE)\n }, [onFocusPath])\n\n const {scheme} = useColorScheme()\n\n const theme = useMemo(() => {\n const isLight = scheme === 'light'\n const preferredTheme = isLight ? type.options?.theme : type.options?.darkTheme\n const defaultTheme = isLight ? DEFAULT_THEME : DEFAULT_DARK_THEME\n return preferredTheme && SUPPORTED_THEMES.find((t) => t === preferredTheme)\n ? preferredTheme\n : defaultTheme\n }, [type, scheme])\n\n const handleToggleSelectLine = useCallback(\n (lineNumber: number) => {\n const editorSession = aceEditorRef.current?.editor?.getSession()\n const backgroundMarkers = editorSession?.getMarkers(true)\n const currentHighlightedLines = Object.keys(backgroundMarkers)\n .filter((key) => backgroundMarkers[key].type === 'screenLine')\n .map((key) => backgroundMarkers[key].range.start.row)\n const currentIndex = currentHighlightedLines.indexOf(lineNumber)\n if (currentIndex > -1) {\n // toggle remove\n currentHighlightedLines.splice(currentIndex, 1)\n } else {\n // toggle add\n currentHighlightedLines.push(lineNumber)\n currentHighlightedLines.sort()\n }\n onChange(\n set(\n currentHighlightedLines.map(\n (line) =>\n // ace starts at line (row) 0, but we store it starting at line 1\n line + 1\n ),\n ['highlightedLines']\n )\n )\n },\n [aceEditorRef, onChange]\n )\n\n const handleGutterMouseDown = useCallback(\n (event: any) => {\n const target = event.domEvent.target\n if (target.classList.contains('ace_gutter-cell')) {\n const row = event.getDocumentPosition().row\n handleToggleSelectLine(row)\n }\n },\n [handleToggleSelectLine]\n )\n\n useEffect(() => {\n const editor = aceEditorRef?.current?.editor\n return () => {\n editor?.session?.removeListener('guttermousedown', handleGutterMouseDown)\n }\n }, [aceEditorRef, handleGutterMouseDown])\n\n const handleEditorLoad = useCallback(\n (editor: any) => {\n editor?.on('guttermousedown', handleGutterMouseDown)\n },\n [handleGutterMouseDown]\n )\n\n const getLanguageAlternatives = useCallback((): {\n title: string\n value: string\n mode?: string\n }[] => {\n const languageAlternatives = type.options?.languageAlternatives\n if (!languageAlternatives) {\n return SUPPORTED_LANGUAGES\n }\n\n if (!Array.isArray(languageAlternatives)) {\n throw new Error(\n `'options.languageAlternatives' should be an array, got ${typeof languageAlternatives}`\n )\n }\n\n return languageAlternatives.reduce((acc: CodeInputLanguage[], {title, value: val, mode}) => {\n const alias = LANGUAGE_ALIASES[val]\n if (alias) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language with value \"%s\", which is an alias of \"%s\" - please replace the value to read \"%s\"`,\n val,\n alias,\n alias\n )\n\n return acc.concat({title, value: alias, mode: mode})\n }\n\n if (!mode && !SUPPORTED_LANGUAGES.find((lang) => lang.value === val)) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language which is not supported: \"%s\", syntax highlighting will be disabled.`,\n val\n )\n }\n\n return acc.concat({title, value: val, mode})\n }, [])\n }, [type])\n\n const handleCodeChange = useCallback(\n (code: string) => {\n const path = PATH_CODE\n const fixedLanguage = type.options?.language\n\n onChange([\n setIfMissing({_type: type.name, language: fixedLanguage}),\n code ? set(code, path) : unset(path),\n ])\n },\n [onChange, type]\n )\n\n const languages = getLanguageAlternatives().slice()\n\n const fixedLanguage = type.options?.language\n\n const language = value?.language || fixedLanguage\n\n // the language config from the schema\n const configured = languages.find((entry) => entry.value === language)\n\n // is the language officially supported (e.g. we import the mode by default)\n const supported = language && isSupportedLanguage(language)\n\n const mode = configured?.mode || (supported ? language : 'text')\n\n const renderLanguageInput = useCallback(\n (inputProps: InputProps) => {\n return (\n <Select\n {...(inputProps as StringInputProps)}\n onChange={(e) => {\n const newValue = e.currentTarget.value\n inputProps.onChange(newValue ? set(newValue) : unset())\n }}\n >\n {languages.map((lang: {title: string; value: string}) => (\n <option key={lang.value} value={lang.value}>\n {lang.title}\n </option>\n ))}\n </Select>\n )\n },\n [languages]\n )\n\n const AceEditor = useAceEditor()\n\n const renderCodeInput = useCallback(\n (inputProps) => {\n return (\n <EditorContainer radius={1} shadow={1} readOnly={readOnly}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code editor...</div>}>\n <AceEditor\n ref={aceEditorRef}\n mode={mode}\n theme={theme}\n width=\"100%\"\n onChange={handleCodeChange}\n name={inputProps.id}\n value={inputProps.value}\n markers={\n value && value.highlightedLines\n ? createHighlightMarkers(value.highlightedLines)\n : undefined\n }\n onLoad={handleEditorLoad}\n readOnly={readOnly}\n tabSize={2}\n wrapEnabled\n setOptions={ACE_SET_OPTIONS}\n editorProps={ACE_EDITOR_PROPS}\n onFocus={handleCodeFocus}\n onBlur={elementProps.onBlur}\n />\n </Suspense>\n )}\n </EditorContainer>\n )\n },\n [\n AceEditor,\n theme,\n handleCodeChange,\n handleCodeFocus,\n handleEditorLoad,\n mode,\n elementProps.onBlur,\n readOnly,\n value,\n ]\n )\n\n return (\n <Stack space={4}>\n {languageFieldMember && (\n <MemberField\n member={languageFieldMember}\n renderItem={renderItem}\n renderField={renderField}\n renderInput={renderLanguageInput}\n renderPreview={renderPreview}\n />\n )}\n\n {type.options?.withFilename && filenameMember && (\n <MemberField\n member={filenameMember}\n renderItem={renderItem}\n renderField={renderField}\n renderInput={renderInput}\n renderPreview={renderPreview}\n />\n )}\n\n {codeFieldMember && (\n <MemberField\n member={codeFieldMember}\n renderInput={renderCodeInput}\n renderItem={renderItem}\n renderField={renderField}\n renderPreview={renderPreview}\n />\n )}\n </Stack>\n )\n}\n","import type {IMarker} from 'react-ace'\nimport {css} from 'styled-components'\n\nexport const highlightMarkersCSS = css`\n .ace_editor_markers_highlight {\n position: absolute;\n background-color: ${({theme}) => theme.sanity.color.solid.primary.enabled.bg};\n opacity: 0.2;\n width: 100% !important;\n border-radius: 0 !important;\n }\n`\n\nexport default function createHighlightMarkers(rows: number[]): IMarker[] {\n return rows.map((row) => ({\n startRow: Number(row) - 1,\n startCol: 0,\n endRow: Number(row) - 1,\n endCol: +Infinity,\n className: 'ace_editor_markers_highlight',\n type: 'screenLine',\n inFront: true,\n }))\n}\n","import {CodeInputLanguage} from './types'\n\n// NOTE: MAKE SURE THESE ALIGN WITH IMPORTS IN ./ace-editor/editorSupport\nexport const SUPPORTED_LANGUAGES: CodeInputLanguage[] = [\n {title: 'Batch file', value: 'batchfile'},\n {title: 'C#', value: 'csharp'},\n {title: 'CSS', value: 'css'},\n {title: 'Go', value: 'golang'},\n {title: 'GROQ', value: 'groq'},\n {title: 'HTML', value: 'html'},\n {title: 'Java', value: 'java'},\n {title: 'JavaScript', value: 'javascript'},\n {title: 'JSON', value: 'json'},\n {title: 'JSX', value: 'jsx'},\n {title: 'Markdown', value: 'markdown'},\n {title: 'MySQL', value: 'mysql'},\n {title: 'PHP', value: 'php'},\n {title: 'Plain text', value: 'text'},\n {title: 'Python', value: 'python'},\n {title: 'Ruby', value: 'ruby'},\n {title: 'SASS', value: 'sass'},\n {title: 'SCSS', value: 'scss'},\n {title: 'sh', value: 'sh'},\n {title: 'TSX', value: 'tsx'},\n {title: 'TypeScript', value: 'typescript'},\n {title: 'XML', value: 'xml'},\n {title: 'YAML', value: 'yaml'},\n]\n\nexport const LANGUAGE_ALIASES: Record<string, string | undefined> = {js: 'javascript'}\n\nexport const SUPPORTED_THEMES = ['github', 'monokai', 'terminal', 'tomorrow']\n\nexport const DEFAULT_THEME = 'tomorrow'\nexport const DEFAULT_DARK_THEME = 'monokai'\n\nexport const ACE_SET_OPTIONS = {\n useSoftTabs: true,\n navigateWithinSoftTabs: true /* note only supported by ace v1.2.7 or higher */,\n}\n\nexport const ACE_EDITOR_PROPS = {$blockScrolling: true}\n\nexport const PATH_LANGUAGE = ['language']\nexport const PATH_CODE = ['code']\nexport const PATH_FILENAME = ['filename']\n","import React, {useEffect, useState} from 'react'\n\n/**\n * AceEditor loads window global directly when imported, which crashes in node envs.\n * This works around the issue by only importing ace-dependencies when window is defined.\n *\n * We only set the ace lazy component after mounting, to allow us to render null on the server,\n * and use suspense on the client. This will make hydration work correctly.\n */\nexport const AceEditorLazy = React.lazy(() => import('./editorSupport'))\n\nexport function useAceEditor() {\n const [mounted, setMounted] = useState(false)\n useEffect(() => {\n requestAnimationFrame(() => setMounted(true))\n }, [])\n\n return mounted ? AceEditorLazy : null\n}\n","import React, {Suspense, useCallback, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {Box} from '@sanity/ui'\nimport {ACE_EDITOR_PROPS, ACE_SET_OPTIONS} from './config'\nimport createHighlightMarkers from './createHighlightMarkers'\nimport {CodeInputType, CodeInputValue} from './types'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\n\nconst PreviewContainer = styled(Box)`\n position: relative;\n`\n\nconst PreviewInner = styled(Box)`\n background-color: #272822;\n\n .ace_editor {\n box-sizing: border-box;\n cursor: default;\n pointer-events: none;\n }\n\n .ace_content {\n box-sizing: border-box;\n overflow: hidden;\n }\n`\n\nexport interface PreviewCodeProps {\n type?: CodeInputType\n value?: {selection?: CodeInputValue}\n}\n\nexport default function PreviewCode(props: PreviewCodeProps) {\n const aceEditorRef = useRef<any>()\n\n useEffect(() => {\n if (!aceEditorRef?.current) return\n\n const editor = aceEditorRef.current?.editor\n\n if (editor) {\n // Avoid cursor and focus tracking by Ace\n editor.renderer.$cursorLayer.element.style.opacity = 0\n editor.textInput.getElement().disabled = true\n }\n }, [])\n\n const handleEditorChange = useCallback(() => {\n // do nothing when the editor changes\n }, [])\n\n const {value, type} = props\n const fixedLanguage = type?.options?.language\n\n const selection = value?.selection\n const mode = selection?.language || fixedLanguage || 'text'\n\n const AceEditor = useAceEditor()\n return (\n <PreviewContainer>\n <PreviewInner padding={4}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code preview...</div>}>\n <AceEditor\n ref={aceEditorRef}\n focus={false}\n mode={mode}\n theme=\"monokai\"\n width=\"100%\"\n onChange={handleEditorChange}\n maxLines={200}\n readOnly\n wrapEnabled\n showPrintMargin={false}\n highlightActiveLine={false}\n cursorStart={-1}\n value={selection?.code || ''}\n markers={\n selection?.highlightedLines\n ? createHighlightMarkers(selection.highlightedLines)\n : undefined\n }\n tabSize={2}\n showGutter={false}\n setOptions={ACE_SET_OPTIONS}\n editorProps={ACE_EDITOR_PROPS}\n />\n </Suspense>\n )}\n </PreviewInner>\n </PreviewContainer>\n )\n}\n","import React from 'react'\n\nexport function getMedia(language?: string) {\n if (language === 'jsx') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\">\n <g fill=\"#61DAFB\">\n <circle cx=\"64\" cy=\"64\" r=\"11.4\" />\n <path d=\"M107.3 45.2c-2.2-.8-4.5-1.6-6.9-2.3.6-2.4 1.1-4.8 1.5-7.1 2.1-13.2-.2-22.5-6.6-26.1-1.9-1.1-4-1.6-6.4-1.6-7 0-15.9 5.2-24.9 13.9-9-8.7-17.9-13.9-24.9-13.9-2.4 0-4.5.5-6.4 1.6-6.4 3.7-8.7 13-6.6 26.1.4 2.3.9 4.7 1.5 7.1-2.4.7-4.7 1.4-6.9 2.3C8.2 50 1.4 56.6 1.4 64s6.9 14 19.3 18.8c2.2.8 4.5 1.6 6.9 2.3-.6 2.4-1.1 4.8-1.5 7.1-2.1 13.2.2 22.5 6.6 26.1 1.9 1.1 4 1.6 6.4 1.6 7.1 0 16-5.2 24.9-13.9 9 8.7 17.9 13.9 24.9 13.9 2.4 0 4.5-.5 6.4-1.6 6.4-3.7 8.7-13 6.6-26.1-.4-2.3-.9-4.7-1.5-7.1 2.4-.7 4.7-1.4 6.9-2.3 12.5-4.8 19.3-11.4 19.3-18.8s-6.8-14-19.3-18.8zM92.5 14.7c4.1 2.4 5.5 9.8 3.8 20.3-.3 2.1-.8 4.3-1.4 6.6-5.2-1.2-10.7-2-16.5-2.5-3.4-4.8-6.9-9.1-10.4-13 7.4-7.3 14.9-12.3 21-12.3 1.3 0 2.5.3 3.5.9zM81.3 74c-1.8 3.2-3.9 6.4-6.1 9.6-3.7.3-7.4.4-11.2.4-3.9 0-7.6-.1-11.2-.4-2.2-3.2-4.2-6.4-6-9.6-1.9-3.3-3.7-6.7-5.3-10 1.6-3.3 3.4-6.7 5.3-10 1.8-3.2 3.9-6.4 6.1-9.6 3.7-.3 7.4-.4 11.2-.4 3.9 0 7.6.1 11.2.4 2.2 3.2 4.2 6.4 6 9.6 1.9 3.3 3.7 6.7 5.3 10-1.7 3.3-3.4 6.6-5.3 10zm8.3-3.3c1.5 3.5 2.7 6.9 3.8 10.3-3.4.8-7 1.4-10.8 1.9 1.2-1.9 2.5-3.9 3.6-6 1.2-2.1 2.3-4.2 3.4-6.2zM64 97.8c-2.4-2.6-4.7-5.4-6.9-8.3 2.3.1 4.6.2 6.9.2 2.3 0 4.6-.1 6.9-.2-2.2 2.9-4.5 5.7-6.9 8.3zm-18.6-15c-3.8-.5-7.4-1.1-10.8-1.9 1.1-3.3 2.3-6.8 3.8-10.3 1.1 2 2.2 4.1 3.4 6.1 1.2 2.2 2.4 4.1 3.6 6.1zm-7-25.5c-1.5-3.5-2.7-6.9-3.8-10.3 3.4-.8 7-1.4 10.8-1.9-1.2 1.9-2.5 3.9-3.6 6-1.2 2.1-2.3 4.2-3.4 6.2zM64 30.2c2.4 2.6 4.7 5.4 6.9 8.3-2.3-.1-4.6-.2-6.9-.2-2.3 0-4.6.1-6.9.2 2.2-2.9 4.5-5.7 6.9-8.3zm22.2 21l-3.6-6c3.8.5 7.4 1.1 10.8 1.9-1.1 3.3-2.3 6.8-3.8 10.3-1.1-2.1-2.2-4.2-3.4-6.2zM31.7 35c-1.7-10.5-.3-17.9 3.8-20.3 1-.6 2.2-.9 3.5-.9 6 0 13.5 4.9 21 12.3-3.5 3.8-7 8.2-10.4 13-5.8.5-11.3 1.4-16.5 2.5-.6-2.3-1-4.5-1.4-6.6zM7 64c0-4.7 5.7-9.7 15.7-13.4 2-.8 4.2-1.5 6.4-2.1 1.6 5 3.6 10.3 6 15.6-2.4 5.3-4.5 10.5-6 15.5C15.3 75.6 7 69.6 7 64zm28.5 49.3c-4.1-2.4-5.5-9.8-3.8-20.3.3-2.1.8-4.3 1.4-6.6 5.2 1.2 10.7 2 16.5 2.5 3.4 4.8 6.9 9.1 10.4 13-7.4 7.3-14.9 12.3-21 12.3-1.3 0-2.5-.3-3.5-.9zM96.3 93c1.7 10.5.3 17.9-3.8 20.3-1 .6-2.2.9-3.5.9-6 0-13.5-4.9-21-12.3 3.5-3.8 7-8.2 10.4-13 5.8-.5 11.3-1.4 16.5-2.5.6 2.3 1 4.5 1.4 6.6zm9-15.6c-2 .8-4.2 1.5-6.4 2.1-1.6-5-3.6-10.3-6-15.6 2.4-5.3 4.5-10.5 6-15.5 13.8 4 22.1 10 22.1 15.6 0 4.7-5.8 9.7-15.7 13.4z\" />\n </g>\n </svg>\n )\n }\n\n if (language === 'javascript') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\">\n <path fill=\"#F0DB4F\" d=\"M1.408 1.408h125.184v125.185H1.408z\" />\n <path\n fill=\"#323330\"\n d=\"M116.347 96.736c-.917-5.711-4.641-10.508-15.672-14.981-3.832-1.761-8.104-3.022-9.377-5.926-.452-1.69-.512-2.642-.226-3.665.821-3.32 4.784-4.355 7.925-3.403 2.023.678 3.938 2.237 5.093 4.724 5.402-3.498 5.391-3.475 9.163-5.879-1.381-2.141-2.118-3.129-3.022-4.045-3.249-3.629-7.676-5.498-14.756-5.355l-3.688.477c-3.534.893-6.902 2.748-8.877 5.235-5.926 6.724-4.236 18.492 2.975 23.335 7.104 5.332 17.54 6.545 18.873 11.531 1.297 6.104-4.486 8.08-10.234 7.378-4.236-.881-6.592-3.034-9.139-6.949-4.688 2.713-4.688 2.713-9.508 5.485 1.143 2.499 2.344 3.63 4.26 5.795 9.068 9.198 31.76 8.746 35.83-5.176.165-.478 1.261-3.666.38-8.581zM69.462 58.943H57.753l-.048 30.272c0 6.438.333 12.34-.714 14.149-1.713 3.558-6.152 3.117-8.175 2.427-2.059-1.012-3.106-2.451-4.319-4.485-.333-.584-.583-1.036-.667-1.071l-9.52 5.83c1.583 3.249 3.915 6.069 6.902 7.901 4.462 2.678 10.459 3.499 16.731 2.059 4.082-1.189 7.604-3.652 9.448-7.401 2.666-4.915 2.094-10.864 2.07-17.444.06-10.735.001-21.468.001-32.237z\"\n />\n </svg>\n )\n }\n\n if (language === 'php') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 800 400\">\n <g transform=\"translate(-44.632 -141.55)\">\n <g transform=\"matrix(8.3528 0 0 8.3119 -727.13 -3759.5)\">\n <path d=\"m99.974 479.48h14.204c4.1693 0.0354 7.1903 1.2367 9.063 3.604 1.8726 2.3674 2.491 5.6004 1.855 9.699-0.24737 1.8727-0.79504 3.71-1.643 5.512-0.8127 1.802-1.9434 3.4273-3.392 4.876-1.7667 1.8373-3.657 3.0033-5.671 3.498-2.014 0.49467-4.0987 0.742-6.254 0.742h-6.36l-2.014 10.07h-7.367l7.579-38.001m6.201 6.042-3.18 15.9c0.21198 0.0353 0.42398 0.053 0.636 0.053h0.742c3.392 0.0353 6.2186-0.30033 8.48-1.007 2.2613-0.74199 3.7806-3.3213 4.558-7.738 0.63597-3.71-0.00003-5.8476-1.908-6.413-1.8727-0.56531-4.2224-0.83031-7.049-0.795-0.42402 0.0353-0.83035 0.053-1.219 0.053-0.35335 0.00002-0.72435 0.00002-1.113 0l0.053-0.053\" />\n <path d=\"m133.49 469.36h7.314l-2.067 10.123h6.572c3.604 0.0707 6.2893 0.81269 8.056 2.226 1.802 1.4134 2.332 4.0987 1.59 8.056l-3.551 17.649h-7.42l3.392-16.854c0.35328-1.7666 0.2473-3.021-0.318-3.763-0.56536-0.74198-1.7844-1.113-3.657-1.113l-5.883-0.053-4.346 21.783h-7.314l7.632-38.054\" />\n <path d=\"m162.81 479.48h14.204c4.1693 0.0354 7.1903 1.2367 9.063 3.604 1.8726 2.3674 2.491 5.6004 1.855 9.699-0.24737 1.8727-0.79503 3.71-1.643 5.512-0.8127 1.802-1.9434 3.4273-3.392 4.876-1.7667 1.8373-3.657 3.0033-5.671 3.498-2.014 0.49467-4.0987 0.742-6.254 0.742h-6.36l-2.014 10.07h-7.367l7.579-38.001m6.201 6.042-3.18 15.9c0.21199 0.0353 0.42399 0.053 0.636 0.053h0.742c3.392 0.0353 6.2186-0.30033 8.48-1.007 2.2613-0.74199 3.7806-3.3213 4.558-7.738 0.63597-3.71-0.00003-5.8476-1.908-6.413-1.8727-0.56531-4.2224-0.83031-7.049-0.795-0.42402 0.0353-0.83035 0.053-1.219 0.053-0.35335 0.00002-0.72435 0.00002-1.113 0l0.053-0.053\" />\n </g>\n </g>\n </svg>\n )\n }\n\n if (language === 'json') {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n viewBox=\"0 0 160 160\"\n >\n <defs>\n <linearGradient id=\"a\">\n <stop offset=\"0\" />\n <stop offset=\"1\" stopColor=\"#fff\" />\n </linearGradient>\n <linearGradient\n x1=\"-553.27\"\n y1=\"525.908\"\n x2=\"-666.116\"\n y2=\"413.045\"\n id=\"c\"\n xlinkHref=\"#a\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(.99884 0 0 .9987 689.008 -388.844)\"\n />\n <linearGradient\n x1=\"-666.117\"\n y1=\"413.045\"\n x2=\"-553.27\"\n y2=\"525.908\"\n id=\"b\"\n xlinkHref=\"#a\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(.99884 0 0 .9987 689.008 -388.844)\"\n />\n </defs>\n <path\n d=\"M79.865 119.1c35.397 48.255 70.04-13.469 69.988-50.587-.06-43.886-44.54-68.414-70.017-68.414C38.943.1 0 33.895 0 80.135 0 131.531 44.64 160 79.836 160c-7.965-1.147-34.507-6.834-34.863-67.967-.24-41.346 13.487-57.865 34.805-50.599.477.177 23.514 9.265 23.514 38.95 0 29.56-23.427 38.716-23.427 38.716z\"\n style={{marker: 'none'}}\n color=\"#000\"\n fill=\"url(#b)\"\n fillRule=\"evenodd\"\n overflow=\"visible\"\n />\n <path\n d=\"M79.823 41.4C56.433 33.34 27.78 52.618 27.78 91.23c0 63.048 46.72 68.77 52.384 68.77C121.057 160 160 126.204 160 79.964 160 28.568 115.36.1 80.164.1c9.749-1.35 52.541 10.55 52.541 69.037 0 38.141-31.953 58.905-52.735 50.033-.478-.177-23.514-9.264-23.514-38.95 0-29.56 23.367-38.818 23.367-38.818z\"\n style={{marker: 'none'}}\n color=\"#000\"\n fill=\"url(#c)\"\n fillRule=\"evenodd\"\n overflow=\"visible\"\n />\n </svg>\n )\n }\n\n return undefined\n}\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../../"}
|
|
1
|
+
{"mappings":"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","sources":["node_modules/@parcel/runtime-js/lib/runtime-3c15e3c40a574462.js","src/index.ts","src/schema.tsx","src/CodeInput.tsx","src/createHighlightMarkers.ts","src/config.ts","src/ace-editor/AceEditorLazy.tsx","src/PreviewCode.tsx","src/getMedia.tsx"],"sourcesContent":["module.exports = (Promise.resolve(__parcel__require__(\"./\" + \"editorSupport.bbd31eae.js\"))).then(() => parcelRequire('lMYyH'));","import {createPlugin} from 'sanity'\n\nimport {codeSchema, codeTypeName, CodeDefinition} from './schema'\nimport PreviewCode, {PreviewCodeProps} from './PreviewCode'\nexport type {CodeInputProps, CodeSchemaType, CodeOptions} from './CodeInput'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\n\nexport {PreviewCode, type PreviewCodeProps}\nexport {codeSchema, codeTypeName}\nexport type {CodeDefinition}\n/**\n * @public\n */\nexport const codeInput = createPlugin({\n name: '@sanity/code-input',\n schema: {types: [codeSchema]},\n})\n","import {CodeBlockIcon} from '@sanity/icons'\nimport {CodeInput, CodeOptions} from './CodeInput'\nimport PreviewCode, {PreviewCodeProps} from './PreviewCode'\nimport {getMedia} from './getMedia'\nimport {defineType, ObjectDefinition} from 'sanity'\n\nexport type {CodeInputProps, CodeSchemaType} from './CodeInput'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\nexport type {PreviewCode, PreviewCodeProps, CodeInput}\n\n/**\n * @public\n */\nexport const codeTypeName = 'code' as const\n\n/**\n * @public\n */\nexport interface CodeDefinition extends Omit<ObjectDefinition, 'type' | 'fields' | 'options'> {\n type: typeof codeTypeName\n options?: CodeOptions\n}\n\ndeclare module '@sanity/types' {\n // makes type: 'code' narrow correctly when using defineType/defineField/defineArrayMember\n export interface IntrinsicDefinitions {\n code: CodeDefinition\n }\n}\n\n/**\n * @public\n */\nexport const codeSchema = defineType({\n name: 'code',\n type: 'object',\n title: 'Code',\n components: {input: CodeInput, preview: PreviewCode},\n icon: CodeBlockIcon,\n fields: [\n {\n name: 'language',\n title: 'Language',\n type: 'string',\n },\n {\n name: 'filename',\n title: 'Filename',\n type: 'string',\n },\n {\n title: 'Code',\n name: 'code',\n type: 'text',\n },\n {\n title: 'Highlighted lines',\n name: 'highlightedLines',\n type: 'array',\n of: [\n {\n type: 'number',\n title: 'Highlighted line',\n },\n ],\n },\n ],\n preview: {\n select: {\n language: 'language',\n code: 'code',\n filename: 'filename',\n highlightedLines: 'highlightedLines',\n },\n prepare: (value: {\n language?: string\n code?: string\n filename?: string\n highlightedLines?: number[]\n }) => {\n return {\n title: value.filename || (value.language || 'unknown').toUpperCase(),\n media: getMedia(value?.language),\n selection: value,\n }\n },\n },\n})\n","/* eslint-disable react/jsx-handler-names */\nimport React, {Suspense, useCallback, useEffect, useImperativeHandle, useMemo, useRef} from 'react'\nimport {\n InputProps,\n ObjectSchemaType,\n StringInputProps,\n useColorScheme,\n FieldMember,\n MemberField,\n ObjectInputProps,\n set,\n setIfMissing,\n unset,\n} from 'sanity'\nimport {Card, Select, Stack, ThemeColorSchemeKey} from '@sanity/ui'\nimport styled from 'styled-components'\nimport createHighlightMarkers, {highlightMarkersCSS} from './createHighlightMarkers'\nimport {CodeInputLanguage, CodeInputValue} from './types'\nimport {\n ACE_EDITOR_PROPS,\n ACE_SET_OPTIONS,\n DEFAULT_DARK_THEME,\n DEFAULT_THEME,\n LANGUAGE_ALIASES,\n PATH_CODE,\n SUPPORTED_LANGUAGES,\n SUPPORTED_THEMES,\n} from './config'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\n\nconst EditorContainer = styled(Card)`\n position: relative;\n box-sizing: border-box;\n overflow: hidden;\n z-index: 0;\n\n .ace_editor {\n font-family: ${({theme}) => theme.sanity.fonts.code.family};\n font-size: ${({theme}) => theme.sanity.fonts.code.sizes[1]};\n line-height: inherit;\n }\n\n ${highlightMarkersCSS}\n\n &:not([disabled]):not([readonly]) {\n &:focus,\n &:focus-within {\n box-shadow: 0 0 0 2px ${({theme}) => theme.sanity.color.base.focusRing};\n background-color: ${({theme}) => theme.sanity.color.base.bg};\n border-color: ${({theme}) => theme.sanity.color.base.focusRing};\n }\n }\n`\n\n/**\n * @public\n */\nexport interface CodeOptions {\n theme?: string\n darkTheme?: string\n languageAlternatives?: CodeInputLanguage[]\n language?: string\n withFilename?: boolean\n}\n\n/**\n * @public\n */\nexport type CodeSchemaType = Omit<ObjectSchemaType, 'options'> & {\n options?: CodeOptions\n}\n\n/**\n * @public\n */\nexport type CodeInputProps = ObjectInputProps<CodeInputValue, CodeSchemaType> & {\n /** @internal */\n colorScheme?: ThemeColorSchemeKey\n}\n\n// Returns a string with the mode name if supported (because aliases), otherwise false\nfunction isSupportedLanguage(mode: string) {\n const alias = LANGUAGE_ALIASES[mode]\n\n if (alias) {\n return alias\n }\n\n const isSupported = SUPPORTED_LANGUAGES.find((lang) => lang.value === mode)\n if (isSupported) {\n return mode\n }\n\n return false\n}\n\nexport function CodeInput(props: CodeInputProps) {\n const {\n members,\n elementProps,\n onChange,\n onFocusPath,\n readOnly,\n renderField,\n renderInput,\n renderItem,\n renderPreview,\n schemaType: type,\n value,\n } = props\n\n const aceEditorRef = useRef<any>()\n\n const fieldMembers = useMemo(\n () => members.filter((member) => member.kind === 'field') as FieldMember[],\n [members]\n )\n\n const languageFieldMember = fieldMembers.find((member) => member.name === 'language')\n const filenameMember = fieldMembers.find((member) => member.name === 'filename')\n const codeFieldMember = fieldMembers.find((member) => member.name === 'code')\n\n useImperativeHandle(elementProps.ref, () => ({\n focus: () => {\n aceEditorRef?.current?.editor?.focus()\n },\n }))\n\n const handleCodeFocus = useCallback(() => {\n onFocusPath(PATH_CODE)\n }, [onFocusPath])\n\n const {scheme} = useColorScheme()\n\n const theme = useMemo(() => {\n const isLight = scheme === 'light'\n const preferredTheme = isLight ? type.options?.theme : type.options?.darkTheme\n const defaultTheme = isLight ? DEFAULT_THEME : DEFAULT_DARK_THEME\n return preferredTheme && SUPPORTED_THEMES.find((t) => t === preferredTheme)\n ? preferredTheme\n : defaultTheme\n }, [type, scheme])\n\n const handleToggleSelectLine = useCallback(\n (lineNumber: number) => {\n const editorSession = aceEditorRef.current?.editor?.getSession()\n const backgroundMarkers = editorSession?.getMarkers(true)\n const currentHighlightedLines = Object.keys(backgroundMarkers)\n .filter((key) => backgroundMarkers[key].type === 'screenLine')\n .map((key) => backgroundMarkers[key].range.start.row)\n const currentIndex = currentHighlightedLines.indexOf(lineNumber)\n if (currentIndex > -1) {\n // toggle remove\n currentHighlightedLines.splice(currentIndex, 1)\n } else {\n // toggle add\n currentHighlightedLines.push(lineNumber)\n currentHighlightedLines.sort()\n }\n onChange(\n set(\n currentHighlightedLines.map(\n (line) =>\n // ace starts at line (row) 0, but we store it starting at line 1\n line + 1\n ),\n ['highlightedLines']\n )\n )\n },\n [aceEditorRef, onChange]\n )\n\n const handleGutterMouseDown = useCallback(\n (event: any) => {\n const target = event.domEvent.target\n if (target.classList.contains('ace_gutter-cell')) {\n const row = event.getDocumentPosition().row\n handleToggleSelectLine(row)\n }\n },\n [handleToggleSelectLine]\n )\n\n useEffect(() => {\n const editor = aceEditorRef?.current?.editor\n return () => {\n editor?.session?.removeListener('guttermousedown', handleGutterMouseDown)\n }\n }, [aceEditorRef, handleGutterMouseDown])\n\n const handleEditorLoad = useCallback(\n (editor: any) => {\n editor?.on('guttermousedown', handleGutterMouseDown)\n },\n [handleGutterMouseDown]\n )\n\n const getLanguageAlternatives = useCallback((): {\n title: string\n value: string\n mode?: string\n }[] => {\n const languageAlternatives = type.options?.languageAlternatives\n if (!languageAlternatives) {\n return SUPPORTED_LANGUAGES\n }\n\n if (!Array.isArray(languageAlternatives)) {\n throw new Error(\n `'options.languageAlternatives' should be an array, got ${typeof languageAlternatives}`\n )\n }\n\n return languageAlternatives.reduce((acc: CodeInputLanguage[], {title, value: val, mode}) => {\n const alias = LANGUAGE_ALIASES[val]\n if (alias) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language with value \"%s\", which is an alias of \"%s\" - please replace the value to read \"%s\"`,\n val,\n alias,\n alias\n )\n\n return acc.concat({title, value: alias, mode: mode})\n }\n\n if (!mode && !SUPPORTED_LANGUAGES.find((lang) => lang.value === val)) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language which is not supported: \"%s\", syntax highlighting will be disabled.`,\n val\n )\n }\n\n return acc.concat({title, value: val, mode})\n }, [])\n }, [type])\n\n const handleCodeChange = useCallback(\n (code: string) => {\n const path = PATH_CODE\n const fixedLanguage = type.options?.language\n\n onChange([\n setIfMissing({_type: type.name, language: fixedLanguage}),\n code ? set(code, path) : unset(path),\n ])\n },\n [onChange, type]\n )\n\n const languages = getLanguageAlternatives().slice()\n\n const fixedLanguage = type.options?.language\n\n const language = value?.language || fixedLanguage\n\n // the language config from the schema\n const configured = languages.find((entry) => entry.value === language)\n\n // is the language officially supported (e.g. we import the mode by default)\n const supported = language && isSupportedLanguage(language)\n\n const mode = configured?.mode || (supported ? language : 'text')\n\n const renderLanguageInput = useCallback(\n (inputProps: Omit<InputProps, 'renderDefault'>) => {\n return (\n <Select\n {...(inputProps as StringInputProps)}\n onChange={(e) => {\n const newValue = e.currentTarget.value\n inputProps.onChange(newValue ? set(newValue) : unset())\n }}\n >\n {languages.map((lang: {title: string; value: string}) => (\n <option key={lang.value} value={lang.value}>\n {lang.title}\n </option>\n ))}\n </Select>\n )\n },\n [languages]\n )\n\n const AceEditor = useAceEditor()\n\n const renderCodeInput = useCallback(\n (inputProps) => {\n return (\n <EditorContainer radius={1} shadow={1} readOnly={readOnly}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code editor...</div>}>\n <AceEditor\n ref={aceEditorRef}\n mode={mode}\n theme={theme}\n width=\"100%\"\n onChange={handleCodeChange}\n name={inputProps.id}\n value={inputProps.value}\n markers={\n value && value.highlightedLines\n ? createHighlightMarkers(value.highlightedLines)\n : undefined\n }\n onLoad={handleEditorLoad}\n readOnly={readOnly}\n tabSize={2}\n wrapEnabled\n setOptions={ACE_SET_OPTIONS}\n editorProps={ACE_EDITOR_PROPS}\n onFocus={handleCodeFocus}\n onBlur={elementProps.onBlur}\n />\n </Suspense>\n )}\n </EditorContainer>\n )\n },\n [\n AceEditor,\n theme,\n handleCodeChange,\n handleCodeFocus,\n handleEditorLoad,\n mode,\n elementProps.onBlur,\n readOnly,\n value,\n ]\n )\n\n return (\n <Stack space={4}>\n {languageFieldMember && (\n <MemberField\n member={languageFieldMember}\n renderItem={renderItem}\n renderField={renderField}\n renderInput={renderLanguageInput}\n renderPreview={renderPreview}\n />\n )}\n\n {type.options?.withFilename && filenameMember && (\n <MemberField\n member={filenameMember}\n renderItem={renderItem}\n renderField={renderField}\n renderInput={renderInput}\n renderPreview={renderPreview}\n />\n )}\n\n {codeFieldMember && (\n <MemberField\n member={codeFieldMember}\n renderInput={renderCodeInput}\n renderItem={renderItem}\n renderField={renderField}\n renderPreview={renderPreview}\n />\n )}\n </Stack>\n )\n}\n","import type {IMarker} from 'react-ace'\nimport {css} from 'styled-components'\n\nexport const highlightMarkersCSS = css`\n .ace_editor_markers_highlight {\n position: absolute;\n background-color: ${({theme}) => theme.sanity.color.solid.primary.enabled.bg};\n opacity: 0.2;\n width: 100% !important;\n border-radius: 0 !important;\n }\n`\n\nexport default function createHighlightMarkers(rows: number[]): IMarker[] {\n return rows.map((row) => ({\n startRow: Number(row) - 1,\n startCol: 0,\n endRow: Number(row) - 1,\n endCol: +Infinity,\n className: 'ace_editor_markers_highlight',\n type: 'screenLine',\n inFront: true,\n }))\n}\n","import {CodeInputLanguage} from './types'\n\n// NOTE: MAKE SURE THESE ALIGN WITH IMPORTS IN ./ace-editor/editorSupport\nexport const SUPPORTED_LANGUAGES: CodeInputLanguage[] = [\n {title: 'Batch file', value: 'batchfile'},\n {title: 'C#', value: 'csharp'},\n {title: 'CSS', value: 'css'},\n {title: 'Go', value: 'golang'},\n {title: 'GROQ', value: 'groq'},\n {title: 'HTML', value: 'html'},\n {title: 'Java', value: 'java'},\n {title: 'JavaScript', value: 'javascript'},\n {title: 'JSON', value: 'json'},\n {title: 'JSX', value: 'jsx'},\n {title: 'Markdown', value: 'markdown'},\n {title: 'MySQL', value: 'mysql'},\n {title: 'PHP', value: 'php'},\n {title: 'Plain text', value: 'text'},\n {title: 'Python', value: 'python'},\n {title: 'Ruby', value: 'ruby'},\n {title: 'SASS', value: 'sass'},\n {title: 'SCSS', value: 'scss'},\n {title: 'sh', value: 'sh'},\n {title: 'TSX', value: 'tsx'},\n {title: 'TypeScript', value: 'typescript'},\n {title: 'XML', value: 'xml'},\n {title: 'YAML', value: 'yaml'},\n]\n\nexport const LANGUAGE_ALIASES: Record<string, string | undefined> = {js: 'javascript'}\n\nexport const SUPPORTED_THEMES = ['github', 'monokai', 'terminal', 'tomorrow']\n\nexport const DEFAULT_THEME = 'tomorrow'\nexport const DEFAULT_DARK_THEME = 'monokai'\n\nexport const ACE_SET_OPTIONS = {\n useSoftTabs: true,\n navigateWithinSoftTabs: true /* note only supported by ace v1.2.7 or higher */,\n}\n\nexport const ACE_EDITOR_PROPS = {$blockScrolling: true}\n\nexport const PATH_LANGUAGE = ['language']\nexport const PATH_CODE = ['code']\nexport const PATH_FILENAME = ['filename']\n","import React, {useEffect, useState} from 'react'\n\n/**\n * AceEditor loads window global directly when imported, which crashes in node envs.\n * This works around the issue by only importing ace-dependencies when window is defined.\n *\n * We only set the ace lazy component after mounting, to allow us to render null on the server,\n * and use suspense on the client. This will make hydration work correctly.\n */\nexport const AceEditorLazy = React.lazy(() => import('./editorSupport'))\n\nexport function useAceEditor() {\n const [mounted, setMounted] = useState(false)\n useEffect(() => {\n requestAnimationFrame(() => setMounted(true))\n }, [])\n\n return mounted ? AceEditorLazy : null\n}\n","import React, {Suspense, useCallback, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {Box} from '@sanity/ui'\nimport {ACE_EDITOR_PROPS, ACE_SET_OPTIONS} from './config'\nimport createHighlightMarkers from './createHighlightMarkers'\nimport {CodeInputValue} from './types'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\nimport {CodeSchemaType} from './CodeInput'\n\nconst PreviewContainer = styled(Box)`\n position: relative;\n`\n\nconst PreviewInner = styled(Box)`\n background-color: #272822;\n\n .ace_editor {\n box-sizing: border-box;\n cursor: default;\n pointer-events: none;\n }\n\n .ace_content {\n box-sizing: border-box;\n overflow: hidden;\n }\n`\n\n/**\n * @public\n */\nexport interface PreviewCodeProps {\n type?: CodeSchemaType\n value?: {selection?: CodeInputValue}\n}\n\n/**\n * @public\n */\nexport default function PreviewCode(props: PreviewCodeProps) {\n const aceEditorRef = useRef<any>()\n\n useEffect(() => {\n if (!aceEditorRef?.current) return\n\n const editor = aceEditorRef.current?.editor\n\n if (editor) {\n // Avoid cursor and focus tracking by Ace\n editor.renderer.$cursorLayer.element.style.opacity = 0\n editor.textInput.getElement().disabled = true\n }\n }, [])\n\n const handleEditorChange = useCallback(() => {\n // do nothing when the editor changes\n }, [])\n\n const {value, type} = props\n const fixedLanguage = type?.options?.language\n\n const selection = value?.selection\n const mode = selection?.language || fixedLanguage || 'text'\n\n const AceEditor = useAceEditor()\n return (\n <PreviewContainer>\n <PreviewInner padding={4}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code preview...</div>}>\n <AceEditor\n ref={aceEditorRef}\n focus={false}\n mode={mode}\n theme=\"monokai\"\n width=\"100%\"\n onChange={handleEditorChange}\n maxLines={200}\n readOnly\n wrapEnabled\n showPrintMargin={false}\n highlightActiveLine={false}\n cursorStart={-1}\n value={selection?.code || ''}\n markers={\n selection?.highlightedLines\n ? createHighlightMarkers(selection.highlightedLines)\n : undefined\n }\n tabSize={2}\n showGutter={false}\n setOptions={ACE_SET_OPTIONS}\n editorProps={ACE_EDITOR_PROPS}\n />\n </Suspense>\n )}\n </PreviewInner>\n </PreviewContainer>\n )\n}\n","import React from 'react'\n\nexport function getMedia(language?: string) {\n if (language === 'jsx') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\">\n <g fill=\"#61DAFB\">\n <circle cx=\"64\" cy=\"64\" r=\"11.4\" />\n <path d=\"M107.3 45.2c-2.2-.8-4.5-1.6-6.9-2.3.6-2.4 1.1-4.8 1.5-7.1 2.1-13.2-.2-22.5-6.6-26.1-1.9-1.1-4-1.6-6.4-1.6-7 0-15.9 5.2-24.9 13.9-9-8.7-17.9-13.9-24.9-13.9-2.4 0-4.5.5-6.4 1.6-6.4 3.7-8.7 13-6.6 26.1.4 2.3.9 4.7 1.5 7.1-2.4.7-4.7 1.4-6.9 2.3C8.2 50 1.4 56.6 1.4 64s6.9 14 19.3 18.8c2.2.8 4.5 1.6 6.9 2.3-.6 2.4-1.1 4.8-1.5 7.1-2.1 13.2.2 22.5 6.6 26.1 1.9 1.1 4 1.6 6.4 1.6 7.1 0 16-5.2 24.9-13.9 9 8.7 17.9 13.9 24.9 13.9 2.4 0 4.5-.5 6.4-1.6 6.4-3.7 8.7-13 6.6-26.1-.4-2.3-.9-4.7-1.5-7.1 2.4-.7 4.7-1.4 6.9-2.3 12.5-4.8 19.3-11.4 19.3-18.8s-6.8-14-19.3-18.8zM92.5 14.7c4.1 2.4 5.5 9.8 3.8 20.3-.3 2.1-.8 4.3-1.4 6.6-5.2-1.2-10.7-2-16.5-2.5-3.4-4.8-6.9-9.1-10.4-13 7.4-7.3 14.9-12.3 21-12.3 1.3 0 2.5.3 3.5.9zM81.3 74c-1.8 3.2-3.9 6.4-6.1 9.6-3.7.3-7.4.4-11.2.4-3.9 0-7.6-.1-11.2-.4-2.2-3.2-4.2-6.4-6-9.6-1.9-3.3-3.7-6.7-5.3-10 1.6-3.3 3.4-6.7 5.3-10 1.8-3.2 3.9-6.4 6.1-9.6 3.7-.3 7.4-.4 11.2-.4 3.9 0 7.6.1 11.2.4 2.2 3.2 4.2 6.4 6 9.6 1.9 3.3 3.7 6.7 5.3 10-1.7 3.3-3.4 6.6-5.3 10zm8.3-3.3c1.5 3.5 2.7 6.9 3.8 10.3-3.4.8-7 1.4-10.8 1.9 1.2-1.9 2.5-3.9 3.6-6 1.2-2.1 2.3-4.2 3.4-6.2zM64 97.8c-2.4-2.6-4.7-5.4-6.9-8.3 2.3.1 4.6.2 6.9.2 2.3 0 4.6-.1 6.9-.2-2.2 2.9-4.5 5.7-6.9 8.3zm-18.6-15c-3.8-.5-7.4-1.1-10.8-1.9 1.1-3.3 2.3-6.8 3.8-10.3 1.1 2 2.2 4.1 3.4 6.1 1.2 2.2 2.4 4.1 3.6 6.1zm-7-25.5c-1.5-3.5-2.7-6.9-3.8-10.3 3.4-.8 7-1.4 10.8-1.9-1.2 1.9-2.5 3.9-3.6 6-1.2 2.1-2.3 4.2-3.4 6.2zM64 30.2c2.4 2.6 4.7 5.4 6.9 8.3-2.3-.1-4.6-.2-6.9-.2-2.3 0-4.6.1-6.9.2 2.2-2.9 4.5-5.7 6.9-8.3zm22.2 21l-3.6-6c3.8.5 7.4 1.1 10.8 1.9-1.1 3.3-2.3 6.8-3.8 10.3-1.1-2.1-2.2-4.2-3.4-6.2zM31.7 35c-1.7-10.5-.3-17.9 3.8-20.3 1-.6 2.2-.9 3.5-.9 6 0 13.5 4.9 21 12.3-3.5 3.8-7 8.2-10.4 13-5.8.5-11.3 1.4-16.5 2.5-.6-2.3-1-4.5-1.4-6.6zM7 64c0-4.7 5.7-9.7 15.7-13.4 2-.8 4.2-1.5 6.4-2.1 1.6 5 3.6 10.3 6 15.6-2.4 5.3-4.5 10.5-6 15.5C15.3 75.6 7 69.6 7 64zm28.5 49.3c-4.1-2.4-5.5-9.8-3.8-20.3.3-2.1.8-4.3 1.4-6.6 5.2 1.2 10.7 2 16.5 2.5 3.4 4.8 6.9 9.1 10.4 13-7.4 7.3-14.9 12.3-21 12.3-1.3 0-2.5-.3-3.5-.9zM96.3 93c1.7 10.5.3 17.9-3.8 20.3-1 .6-2.2.9-3.5.9-6 0-13.5-4.9-21-12.3 3.5-3.8 7-8.2 10.4-13 5.8-.5 11.3-1.4 16.5-2.5.6 2.3 1 4.5 1.4 6.6zm9-15.6c-2 .8-4.2 1.5-6.4 2.1-1.6-5-3.6-10.3-6-15.6 2.4-5.3 4.5-10.5 6-15.5 13.8 4 22.1 10 22.1 15.6 0 4.7-5.8 9.7-15.7 13.4z\" />\n </g>\n </svg>\n )\n }\n\n if (language === 'javascript') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\">\n <path fill=\"#F0DB4F\" d=\"M1.408 1.408h125.184v125.185H1.408z\" />\n <path\n fill=\"#323330\"\n d=\"M116.347 96.736c-.917-5.711-4.641-10.508-15.672-14.981-3.832-1.761-8.104-3.022-9.377-5.926-.452-1.69-.512-2.642-.226-3.665.821-3.32 4.784-4.355 7.925-3.403 2.023.678 3.938 2.237 5.093 4.724 5.402-3.498 5.391-3.475 9.163-5.879-1.381-2.141-2.118-3.129-3.022-4.045-3.249-3.629-7.676-5.498-14.756-5.355l-3.688.477c-3.534.893-6.902 2.748-8.877 5.235-5.926 6.724-4.236 18.492 2.975 23.335 7.104 5.332 17.54 6.545 18.873 11.531 1.297 6.104-4.486 8.08-10.234 7.378-4.236-.881-6.592-3.034-9.139-6.949-4.688 2.713-4.688 2.713-9.508 5.485 1.143 2.499 2.344 3.63 4.26 5.795 9.068 9.198 31.76 8.746 35.83-5.176.165-.478 1.261-3.666.38-8.581zM69.462 58.943H57.753l-.048 30.272c0 6.438.333 12.34-.714 14.149-1.713 3.558-6.152 3.117-8.175 2.427-2.059-1.012-3.106-2.451-4.319-4.485-.333-.584-.583-1.036-.667-1.071l-9.52 5.83c1.583 3.249 3.915 6.069 6.902 7.901 4.462 2.678 10.459 3.499 16.731 2.059 4.082-1.189 7.604-3.652 9.448-7.401 2.666-4.915 2.094-10.864 2.07-17.444.06-10.735.001-21.468.001-32.237z\"\n />\n </svg>\n )\n }\n\n if (language === 'php') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 800 400\">\n <g transform=\"translate(-44.632 -141.55)\">\n <g transform=\"matrix(8.3528 0 0 8.3119 -727.13 -3759.5)\">\n <path d=\"m99.974 479.48h14.204c4.1693 0.0354 7.1903 1.2367 9.063 3.604 1.8726 2.3674 2.491 5.6004 1.855 9.699-0.24737 1.8727-0.79504 3.71-1.643 5.512-0.8127 1.802-1.9434 3.4273-3.392 4.876-1.7667 1.8373-3.657 3.0033-5.671 3.498-2.014 0.49467-4.0987 0.742-6.254 0.742h-6.36l-2.014 10.07h-7.367l7.579-38.001m6.201 6.042-3.18 15.9c0.21198 0.0353 0.42398 0.053 0.636 0.053h0.742c3.392 0.0353 6.2186-0.30033 8.48-1.007 2.2613-0.74199 3.7806-3.3213 4.558-7.738 0.63597-3.71-0.00003-5.8476-1.908-6.413-1.8727-0.56531-4.2224-0.83031-7.049-0.795-0.42402 0.0353-0.83035 0.053-1.219 0.053-0.35335 0.00002-0.72435 0.00002-1.113 0l0.053-0.053\" />\n <path d=\"m133.49 469.36h7.314l-2.067 10.123h6.572c3.604 0.0707 6.2893 0.81269 8.056 2.226 1.802 1.4134 2.332 4.0987 1.59 8.056l-3.551 17.649h-7.42l3.392-16.854c0.35328-1.7666 0.2473-3.021-0.318-3.763-0.56536-0.74198-1.7844-1.113-3.657-1.113l-5.883-0.053-4.346 21.783h-7.314l7.632-38.054\" />\n <path d=\"m162.81 479.48h14.204c4.1693 0.0354 7.1903 1.2367 9.063 3.604 1.8726 2.3674 2.491 5.6004 1.855 9.699-0.24737 1.8727-0.79503 3.71-1.643 5.512-0.8127 1.802-1.9434 3.4273-3.392 4.876-1.7667 1.8373-3.657 3.0033-5.671 3.498-2.014 0.49467-4.0987 0.742-6.254 0.742h-6.36l-2.014 10.07h-7.367l7.579-38.001m6.201 6.042-3.18 15.9c0.21199 0.0353 0.42399 0.053 0.636 0.053h0.742c3.392 0.0353 6.2186-0.30033 8.48-1.007 2.2613-0.74199 3.7806-3.3213 4.558-7.738 0.63597-3.71-0.00003-5.8476-1.908-6.413-1.8727-0.56531-4.2224-0.83031-7.049-0.795-0.42402 0.0353-0.83035 0.053-1.219 0.053-0.35335 0.00002-0.72435 0.00002-1.113 0l0.053-0.053\" />\n </g>\n </g>\n </svg>\n )\n }\n\n if (language === 'json') {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n viewBox=\"0 0 160 160\"\n >\n <defs>\n <linearGradient id=\"a\">\n <stop offset=\"0\" />\n <stop offset=\"1\" stopColor=\"#fff\" />\n </linearGradient>\n <linearGradient\n x1=\"-553.27\"\n y1=\"525.908\"\n x2=\"-666.116\"\n y2=\"413.045\"\n id=\"c\"\n xlinkHref=\"#a\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(.99884 0 0 .9987 689.008 -388.844)\"\n />\n <linearGradient\n x1=\"-666.117\"\n y1=\"413.045\"\n x2=\"-553.27\"\n y2=\"525.908\"\n id=\"b\"\n xlinkHref=\"#a\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(.99884 0 0 .9987 689.008 -388.844)\"\n />\n </defs>\n <path\n d=\"M79.865 119.1c35.397 48.255 70.04-13.469 69.988-50.587-.06-43.886-44.54-68.414-70.017-68.414C38.943.1 0 33.895 0 80.135 0 131.531 44.64 160 79.836 160c-7.965-1.147-34.507-6.834-34.863-67.967-.24-41.346 13.487-57.865 34.805-50.599.477.177 23.514 9.265 23.514 38.95 0 29.56-23.427 38.716-23.427 38.716z\"\n style={{marker: 'none'}}\n color=\"#000\"\n fill=\"url(#b)\"\n fillRule=\"evenodd\"\n overflow=\"visible\"\n />\n <path\n d=\"M79.823 41.4C56.433 33.34 27.78 52.618 27.78 91.23c0 63.048 46.72 68.77 52.384 68.77C121.057 160 160 126.204 160 79.964 160 28.568 115.36.1 80.164.1c9.749-1.35 52.541 10.55 52.541 69.037 0 38.141-31.953 58.905-52.735 50.033-.478-.177-23.514-9.264-23.514-38.95 0-29.56 23.367-38.818 23.367-38.818z\"\n style={{marker: 'none'}}\n color=\"#000\"\n fill=\"url(#c)\"\n fillRule=\"evenodd\"\n overflow=\"visible\"\n />\n </svg>\n )\n }\n\n return undefined\n}\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../../"}
|
package/lib/esm/index.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {createPlugin as $gGrEF$createPlugin, defineType as $gGrEF$defineType, useColorScheme as $gGrEF$useColorScheme} from "sanity";
|
|
1
|
+
import {createPlugin as $gGrEF$createPlugin, defineType as $gGrEF$defineType, useColorScheme as $gGrEF$useColorScheme, set as $gGrEF$set, setIfMissing as $gGrEF$setIfMissing, unset as $gGrEF$unset, MemberField as $gGrEF$MemberField} from "sanity";
|
|
2
2
|
import {CodeBlockIcon as $gGrEF$CodeBlockIcon} from "@sanity/icons";
|
|
3
3
|
import {jsx as $gGrEF$jsx, jsxs as $gGrEF$jsxs} from "react/jsx-runtime";
|
|
4
4
|
import $gGrEF$react, {useRef as $gGrEF$useRef, useMemo as $gGrEF$useMemo, useImperativeHandle as $gGrEF$useImperativeHandle, useCallback as $gGrEF$useCallback, useEffect as $gGrEF$useEffect, Suspense as $gGrEF$Suspense, useState as $gGrEF$useState} from "react";
|
|
5
|
-
import {set as $gGrEF$set, setIfMissing as $gGrEF$setIfMissing, unset as $gGrEF$unset, MemberField as $gGrEF$MemberField} from "sanity/form";
|
|
6
5
|
import {Card as $gGrEF$Card, Select as $gGrEF$Select, Stack as $gGrEF$Stack, Box as $gGrEF$Box} from "@sanity/ui";
|
|
7
6
|
import $gGrEF$styledcomponents, {css as $gGrEF$css} from "styled-components";
|
|
8
7
|
|
|
@@ -57,7 +56,6 @@ module.exports = import("./editorSupport.739e7d0c.js").then(()=>parcelRequire("f
|
|
|
57
56
|
|
|
58
57
|
|
|
59
58
|
|
|
60
|
-
|
|
61
59
|
const $b67a72b22aed35f4$export$ac98e174937d3154 = (0, $gGrEF$css)`
|
|
62
60
|
.ace_editor_markers_highlight {
|
|
63
61
|
position: absolute;
|
|
@@ -359,13 +357,13 @@ function $a1d4bfd2763f687f$export$20d4ca75cb144ab0(props) {
|
|
|
359
357
|
type
|
|
360
358
|
]);
|
|
361
359
|
const languages = getLanguageAlternatives().slice();
|
|
362
|
-
const
|
|
363
|
-
const language = value?.language ||
|
|
360
|
+
const fixedLanguage1 = type.options?.language;
|
|
361
|
+
const language = value?.language || fixedLanguage1;
|
|
364
362
|
// the language config from the schema
|
|
365
363
|
const configured = languages.find((entry)=>entry.value === language);
|
|
366
364
|
// is the language officially supported (e.g. we import the mode by default)
|
|
367
365
|
const supported = language && $a1d4bfd2763f687f$var$isSupportedLanguage(language);
|
|
368
|
-
const
|
|
366
|
+
const mode1 = configured?.mode || (supported ? language : "text");
|
|
369
367
|
const renderLanguageInput = (0, $gGrEF$useCallback)((inputProps)=>{
|
|
370
368
|
return /*#__PURE__*/ (0, $gGrEF$jsx)((0, $gGrEF$Select), {
|
|
371
369
|
...inputProps,
|
|
@@ -393,7 +391,7 @@ function $a1d4bfd2763f687f$export$20d4ca75cb144ab0(props) {
|
|
|
393
391
|
}),
|
|
394
392
|
children: /*#__PURE__*/ (0, $gGrEF$jsx)(AceEditor, {
|
|
395
393
|
ref: aceEditorRef,
|
|
396
|
-
mode:
|
|
394
|
+
mode: mode1,
|
|
397
395
|
theme: theme,
|
|
398
396
|
width: "100%",
|
|
399
397
|
onChange: handleCodeChange,
|
|
@@ -417,7 +415,7 @@ function $a1d4bfd2763f687f$export$20d4ca75cb144ab0(props) {
|
|
|
417
415
|
handleCodeChange,
|
|
418
416
|
handleCodeFocus,
|
|
419
417
|
handleEditorLoad,
|
|
420
|
-
|
|
418
|
+
mode1,
|
|
421
419
|
elementProps.onBlur,
|
|
422
420
|
readOnly,
|
|
423
421
|
value,
|
|
@@ -650,7 +648,8 @@ function $a7f1af2d8cb566bf$export$a854ab43349813f2(language) {
|
|
|
650
648
|
|
|
651
649
|
|
|
652
650
|
|
|
653
|
-
|
|
651
|
+
const $8907530ce2ae75d0$export$f55f5272394eafb2 = "code";
|
|
652
|
+
const $8907530ce2ae75d0$export$16f09c53a832d04e = (0, $gGrEF$defineType)({
|
|
654
653
|
name: "code",
|
|
655
654
|
type: "object",
|
|
656
655
|
title: "Code",
|
|
@@ -710,11 +709,11 @@ const $df9eabe9bda49ea8$export$d18430c17c97a000 = (0, $gGrEF$createPlugin)({
|
|
|
710
709
|
name: "@sanity/code-input",
|
|
711
710
|
schema: {
|
|
712
711
|
types: [
|
|
713
|
-
(0, $8907530ce2ae75d0$export$
|
|
712
|
+
(0, $8907530ce2ae75d0$export$16f09c53a832d04e)
|
|
714
713
|
]
|
|
715
714
|
}
|
|
716
715
|
});
|
|
717
716
|
|
|
718
717
|
|
|
719
|
-
export {$df9eabe9bda49ea8$export$d18430c17c97a000 as codeInput, $0fe3fd43374a598c$export$2e2bcd8739ae039 as PreviewCode};
|
|
718
|
+
export {$df9eabe9bda49ea8$export$d18430c17c97a000 as codeInput, $0fe3fd43374a598c$export$2e2bcd8739ae039 as PreviewCode, $8907530ce2ae75d0$export$16f09c53a832d04e as codeSchema, $8907530ce2ae75d0$export$f55f5272394eafb2 as codeTypeName};
|
|
720
719
|
//# sourceMappingURL=index.js.map
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["node_modules/@parcel/runtime-js/lib/runtime-585180c9bcc34854.js","src/index.ts","src/schema.tsx","src/CodeInput.tsx","src/createHighlightMarkers.ts","src/config.ts","src/ace-editor/AceEditorLazy.tsx","src/PreviewCode.tsx","src/getMedia.tsx"],"sourcesContent":["module.exports = (__parcel__import__(\"./\" + \"editorSupport.739e7d0c.js\")).then(() => parcelRequire('f97Qe'));","import {createPlugin} from 'sanity'\nimport schema from './schema'\nimport PreviewCode from './PreviewCode'\n\nexport type {CodeInputProps, CodeSchemaType} from './CodeInput'\nexport type {CodeInputLanguage, CodeInputValue} from './types'\nexport {PreviewCode}\n\nexport const codeInput = createPlugin({\n name: '@sanity/code-input',\n schema: {types: [schema]},\n})\n","import {CodeBlockIcon} from '@sanity/icons'\nimport {CodeInput} from './CodeInput'\nimport PreviewCode, {PreviewCodeProps} from './PreviewCode'\nimport {getMedia} from './getMedia'\nimport {defineType} from 'sanity'\n\nexport type {CodeInputProps, CodeSchemaType} from './CodeInput'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\nexport type {PreviewCode, PreviewCodeProps, CodeInput}\n\nexport default defineType({\n name: 'code',\n type: 'object',\n title: 'Code',\n components: {input: CodeInput, preview: PreviewCode},\n icon: CodeBlockIcon,\n fields: [\n {\n name: 'language',\n title: 'Language',\n type: 'string',\n },\n {\n name: 'filename',\n title: 'Filename',\n type: 'string',\n },\n {\n title: 'Code',\n name: 'code',\n type: 'text',\n },\n {\n title: 'Highlighted lines',\n name: 'highlightedLines',\n type: 'array',\n of: [\n {\n type: 'number',\n title: 'Highlighted line',\n },\n ],\n },\n ],\n preview: {\n select: {\n language: 'language',\n code: 'code',\n filename: 'filename',\n highlightedLines: 'highlightedLines',\n },\n prepare: (value: {\n language?: string\n code?: string\n filename?: string\n highlightedLines?: number[]\n }) => {\n return {\n title: value.filename || (value.language || 'unknown').toUpperCase(),\n media: getMedia(value?.language),\n selection: value,\n }\n },\n },\n})\n","/* eslint-disable react/jsx-handler-names */\nimport React, {Suspense, useCallback, useEffect, useImperativeHandle, useMemo, useRef} from 'react'\nimport {FieldMember, MemberField, ObjectInputProps, set, setIfMissing, unset} from 'sanity/form'\nimport {InputProps, ObjectSchemaType, StringInputProps, useColorScheme} from 'sanity'\nimport {Card, Select, Stack, ThemeColorSchemeKey} from '@sanity/ui'\nimport styled from 'styled-components'\nimport createHighlightMarkers, {highlightMarkersCSS} from './createHighlightMarkers'\nimport {CodeInputLanguage, CodeInputValue} from './types'\nimport {\n ACE_EDITOR_PROPS,\n ACE_SET_OPTIONS,\n DEFAULT_DARK_THEME,\n DEFAULT_THEME,\n LANGUAGE_ALIASES,\n PATH_CODE,\n SUPPORTED_LANGUAGES,\n SUPPORTED_THEMES,\n} from './config'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\n\nconst EditorContainer = styled(Card)`\n position: relative;\n box-sizing: border-box;\n overflow: hidden;\n z-index: 0;\n\n .ace_editor {\n font-family: ${({theme}) => theme.sanity.fonts.code.family};\n font-size: ${({theme}) => theme.sanity.fonts.code.sizes[1]};\n line-height: inherit;\n }\n\n ${highlightMarkersCSS}\n\n &:not([disabled]):not([readonly]) {\n &:focus,\n &:focus-within {\n box-shadow: 0 0 0 2px ${({theme}) => theme.sanity.color.base.focusRing};\n background-color: ${({theme}) => theme.sanity.color.base.bg};\n border-color: ${({theme}) => theme.sanity.color.base.focusRing};\n }\n }\n`\n\nexport type CodeSchemaType = Omit<ObjectSchemaType, 'options'> & {\n options?: {\n theme?: string\n darkTheme?: string\n languageAlternatives: CodeInputLanguage[]\n language: string\n withFilename?: boolean\n }\n}\n\nexport type CodeInputProps = ObjectInputProps<CodeInputValue, CodeSchemaType> & {\n /** @internal */\n colorScheme?: ThemeColorSchemeKey\n}\n\n// Returns a string with the mode name if supported (because aliases), otherwise false\nfunction isSupportedLanguage(mode: string) {\n const alias = LANGUAGE_ALIASES[mode]\n\n if (alias) {\n return alias\n }\n\n const isSupported = SUPPORTED_LANGUAGES.find((lang) => lang.value === mode)\n if (isSupported) {\n return mode\n }\n\n return false\n}\n\nexport function CodeInput(props: CodeInputProps) {\n const {\n members,\n elementProps,\n onChange,\n onFocusPath,\n readOnly,\n renderField,\n renderInput,\n renderItem,\n renderPreview,\n schemaType: type,\n value,\n } = props\n\n const aceEditorRef = useRef<any>()\n\n const fieldMembers = useMemo(\n () => members.filter((member) => member.kind === 'field') as FieldMember[],\n [members]\n )\n\n const languageFieldMember = fieldMembers.find((member) => member.name === 'language')\n const filenameMember = fieldMembers.find((member) => member.name === 'filename')\n const codeFieldMember = fieldMembers.find((member) => member.name === 'code')\n\n useImperativeHandle(elementProps.ref, () => ({\n focus: () => {\n aceEditorRef?.current?.editor?.focus()\n },\n }))\n\n const handleCodeFocus = useCallback(() => {\n onFocusPath(PATH_CODE)\n }, [onFocusPath])\n\n const {scheme} = useColorScheme()\n\n const theme = useMemo(() => {\n const isLight = scheme === 'light'\n const preferredTheme = isLight ? type.options?.theme : type.options?.darkTheme\n const defaultTheme = isLight ? DEFAULT_THEME : DEFAULT_DARK_THEME\n return preferredTheme && SUPPORTED_THEMES.find((t) => t === preferredTheme)\n ? preferredTheme\n : defaultTheme\n }, [type, scheme])\n\n const handleToggleSelectLine = useCallback(\n (lineNumber: number) => {\n const editorSession = aceEditorRef.current?.editor?.getSession()\n const backgroundMarkers = editorSession?.getMarkers(true)\n const currentHighlightedLines = Object.keys(backgroundMarkers)\n .filter((key) => backgroundMarkers[key].type === 'screenLine')\n .map((key) => backgroundMarkers[key].range.start.row)\n const currentIndex = currentHighlightedLines.indexOf(lineNumber)\n if (currentIndex > -1) {\n // toggle remove\n currentHighlightedLines.splice(currentIndex, 1)\n } else {\n // toggle add\n currentHighlightedLines.push(lineNumber)\n currentHighlightedLines.sort()\n }\n onChange(\n set(\n currentHighlightedLines.map(\n (line) =>\n // ace starts at line (row) 0, but we store it starting at line 1\n line + 1\n ),\n ['highlightedLines']\n )\n )\n },\n [aceEditorRef, onChange]\n )\n\n const handleGutterMouseDown = useCallback(\n (event: any) => {\n const target = event.domEvent.target\n if (target.classList.contains('ace_gutter-cell')) {\n const row = event.getDocumentPosition().row\n handleToggleSelectLine(row)\n }\n },\n [handleToggleSelectLine]\n )\n\n useEffect(() => {\n const editor = aceEditorRef?.current?.editor\n return () => {\n editor?.session?.removeListener('guttermousedown', handleGutterMouseDown)\n }\n }, [aceEditorRef, handleGutterMouseDown])\n\n const handleEditorLoad = useCallback(\n (editor: any) => {\n editor?.on('guttermousedown', handleGutterMouseDown)\n },\n [handleGutterMouseDown]\n )\n\n const getLanguageAlternatives = useCallback((): {\n title: string\n value: string\n mode?: string\n }[] => {\n const languageAlternatives = type.options?.languageAlternatives\n if (!languageAlternatives) {\n return SUPPORTED_LANGUAGES\n }\n\n if (!Array.isArray(languageAlternatives)) {\n throw new Error(\n `'options.languageAlternatives' should be an array, got ${typeof languageAlternatives}`\n )\n }\n\n return languageAlternatives.reduce((acc: CodeInputLanguage[], {title, value: val, mode}) => {\n const alias = LANGUAGE_ALIASES[val]\n if (alias) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language with value \"%s\", which is an alias of \"%s\" - please replace the value to read \"%s\"`,\n val,\n alias,\n alias\n )\n\n return acc.concat({title, value: alias, mode: mode})\n }\n\n if (!mode && !SUPPORTED_LANGUAGES.find((lang) => lang.value === val)) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language which is not supported: \"%s\", syntax highlighting will be disabled.`,\n val\n )\n }\n\n return acc.concat({title, value: val, mode})\n }, [])\n }, [type])\n\n const handleCodeChange = useCallback(\n (code: string) => {\n const path = PATH_CODE\n const fixedLanguage = type.options?.language\n\n onChange([\n setIfMissing({_type: type.name, language: fixedLanguage}),\n code ? set(code, path) : unset(path),\n ])\n },\n [onChange, type]\n )\n\n const languages = getLanguageAlternatives().slice()\n\n const fixedLanguage = type.options?.language\n\n const language = value?.language || fixedLanguage\n\n // the language config from the schema\n const configured = languages.find((entry) => entry.value === language)\n\n // is the language officially supported (e.g. we import the mode by default)\n const supported = language && isSupportedLanguage(language)\n\n const mode = configured?.mode || (supported ? language : 'text')\n\n const renderLanguageInput = useCallback(\n (inputProps: InputProps) => {\n return (\n <Select\n {...(inputProps as StringInputProps)}\n onChange={(e) => {\n const newValue = e.currentTarget.value\n inputProps.onChange(newValue ? set(newValue) : unset())\n }}\n >\n {languages.map((lang: {title: string; value: string}) => (\n <option key={lang.value} value={lang.value}>\n {lang.title}\n </option>\n ))}\n </Select>\n )\n },\n [languages]\n )\n\n const AceEditor = useAceEditor()\n\n const renderCodeInput = useCallback(\n (inputProps) => {\n return (\n <EditorContainer radius={1} shadow={1} readOnly={readOnly}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code editor...</div>}>\n <AceEditor\n ref={aceEditorRef}\n mode={mode}\n theme={theme}\n width=\"100%\"\n onChange={handleCodeChange}\n name={inputProps.id}\n value={inputProps.value}\n markers={\n value && value.highlightedLines\n ? createHighlightMarkers(value.highlightedLines)\n : undefined\n }\n onLoad={handleEditorLoad}\n readOnly={readOnly}\n tabSize={2}\n wrapEnabled\n setOptions={ACE_SET_OPTIONS}\n editorProps={ACE_EDITOR_PROPS}\n onFocus={handleCodeFocus}\n onBlur={elementProps.onBlur}\n />\n </Suspense>\n )}\n </EditorContainer>\n )\n },\n [\n AceEditor,\n theme,\n handleCodeChange,\n handleCodeFocus,\n handleEditorLoad,\n mode,\n elementProps.onBlur,\n readOnly,\n value,\n ]\n )\n\n return (\n <Stack space={4}>\n {languageFieldMember && (\n <MemberField\n member={languageFieldMember}\n renderItem={renderItem}\n renderField={renderField}\n renderInput={renderLanguageInput}\n renderPreview={renderPreview}\n />\n )}\n\n {type.options?.withFilename && filenameMember && (\n <MemberField\n member={filenameMember}\n renderItem={renderItem}\n renderField={renderField}\n renderInput={renderInput}\n renderPreview={renderPreview}\n />\n )}\n\n {codeFieldMember && (\n <MemberField\n member={codeFieldMember}\n renderInput={renderCodeInput}\n renderItem={renderItem}\n renderField={renderField}\n renderPreview={renderPreview}\n />\n )}\n </Stack>\n )\n}\n","import type {IMarker} from 'react-ace'\nimport {css} from 'styled-components'\n\nexport const highlightMarkersCSS = css`\n .ace_editor_markers_highlight {\n position: absolute;\n background-color: ${({theme}) => theme.sanity.color.solid.primary.enabled.bg};\n opacity: 0.2;\n width: 100% !important;\n border-radius: 0 !important;\n }\n`\n\nexport default function createHighlightMarkers(rows: number[]): IMarker[] {\n return rows.map((row) => ({\n startRow: Number(row) - 1,\n startCol: 0,\n endRow: Number(row) - 1,\n endCol: +Infinity,\n className: 'ace_editor_markers_highlight',\n type: 'screenLine',\n inFront: true,\n }))\n}\n","import {CodeInputLanguage} from './types'\n\n// NOTE: MAKE SURE THESE ALIGN WITH IMPORTS IN ./ace-editor/editorSupport\nexport const SUPPORTED_LANGUAGES: CodeInputLanguage[] = [\n {title: 'Batch file', value: 'batchfile'},\n {title: 'C#', value: 'csharp'},\n {title: 'CSS', value: 'css'},\n {title: 'Go', value: 'golang'},\n {title: 'GROQ', value: 'groq'},\n {title: 'HTML', value: 'html'},\n {title: 'Java', value: 'java'},\n {title: 'JavaScript', value: 'javascript'},\n {title: 'JSON', value: 'json'},\n {title: 'JSX', value: 'jsx'},\n {title: 'Markdown', value: 'markdown'},\n {title: 'MySQL', value: 'mysql'},\n {title: 'PHP', value: 'php'},\n {title: 'Plain text', value: 'text'},\n {title: 'Python', value: 'python'},\n {title: 'Ruby', value: 'ruby'},\n {title: 'SASS', value: 'sass'},\n {title: 'SCSS', value: 'scss'},\n {title: 'sh', value: 'sh'},\n {title: 'TSX', value: 'tsx'},\n {title: 'TypeScript', value: 'typescript'},\n {title: 'XML', value: 'xml'},\n {title: 'YAML', value: 'yaml'},\n]\n\nexport const LANGUAGE_ALIASES: Record<string, string | undefined> = {js: 'javascript'}\n\nexport const SUPPORTED_THEMES = ['github', 'monokai', 'terminal', 'tomorrow']\n\nexport const DEFAULT_THEME = 'tomorrow'\nexport const DEFAULT_DARK_THEME = 'monokai'\n\nexport const ACE_SET_OPTIONS = {\n useSoftTabs: true,\n navigateWithinSoftTabs: true /* note only supported by ace v1.2.7 or higher */,\n}\n\nexport const ACE_EDITOR_PROPS = {$blockScrolling: true}\n\nexport const PATH_LANGUAGE = ['language']\nexport const PATH_CODE = ['code']\nexport const PATH_FILENAME = ['filename']\n","import React, {useEffect, useState} from 'react'\n\n/**\n * AceEditor loads window global directly when imported, which crashes in node envs.\n * This works around the issue by only importing ace-dependencies when window is defined.\n *\n * We only set the ace lazy component after mounting, to allow us to render null on the server,\n * and use suspense on the client. This will make hydration work correctly.\n */\nexport const AceEditorLazy = React.lazy(() => import('./editorSupport'))\n\nexport function useAceEditor() {\n const [mounted, setMounted] = useState(false)\n useEffect(() => {\n requestAnimationFrame(() => setMounted(true))\n }, [])\n\n return mounted ? AceEditorLazy : null\n}\n","import React, {Suspense, useCallback, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {Box} from '@sanity/ui'\nimport {ACE_EDITOR_PROPS, ACE_SET_OPTIONS} from './config'\nimport createHighlightMarkers from './createHighlightMarkers'\nimport {CodeInputType, CodeInputValue} from './types'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\n\nconst PreviewContainer = styled(Box)`\n position: relative;\n`\n\nconst PreviewInner = styled(Box)`\n background-color: #272822;\n\n .ace_editor {\n box-sizing: border-box;\n cursor: default;\n pointer-events: none;\n }\n\n .ace_content {\n box-sizing: border-box;\n overflow: hidden;\n }\n`\n\nexport interface PreviewCodeProps {\n type?: CodeInputType\n value?: {selection?: CodeInputValue}\n}\n\nexport default function PreviewCode(props: PreviewCodeProps) {\n const aceEditorRef = useRef<any>()\n\n useEffect(() => {\n if (!aceEditorRef?.current) return\n\n const editor = aceEditorRef.current?.editor\n\n if (editor) {\n // Avoid cursor and focus tracking by Ace\n editor.renderer.$cursorLayer.element.style.opacity = 0\n editor.textInput.getElement().disabled = true\n }\n }, [])\n\n const handleEditorChange = useCallback(() => {\n // do nothing when the editor changes\n }, [])\n\n const {value, type} = props\n const fixedLanguage = type?.options?.language\n\n const selection = value?.selection\n const mode = selection?.language || fixedLanguage || 'text'\n\n const AceEditor = useAceEditor()\n return (\n <PreviewContainer>\n <PreviewInner padding={4}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code preview...</div>}>\n <AceEditor\n ref={aceEditorRef}\n focus={false}\n mode={mode}\n theme=\"monokai\"\n width=\"100%\"\n onChange={handleEditorChange}\n maxLines={200}\n readOnly\n wrapEnabled\n showPrintMargin={false}\n highlightActiveLine={false}\n cursorStart={-1}\n value={selection?.code || ''}\n markers={\n selection?.highlightedLines\n ? createHighlightMarkers(selection.highlightedLines)\n : undefined\n }\n tabSize={2}\n showGutter={false}\n setOptions={ACE_SET_OPTIONS}\n editorProps={ACE_EDITOR_PROPS}\n />\n </Suspense>\n )}\n </PreviewInner>\n </PreviewContainer>\n )\n}\n","import React from 'react'\n\nexport function getMedia(language?: string) {\n if (language === 'jsx') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\">\n <g fill=\"#61DAFB\">\n <circle cx=\"64\" cy=\"64\" r=\"11.4\" />\n <path d=\"M107.3 45.2c-2.2-.8-4.5-1.6-6.9-2.3.6-2.4 1.1-4.8 1.5-7.1 2.1-13.2-.2-22.5-6.6-26.1-1.9-1.1-4-1.6-6.4-1.6-7 0-15.9 5.2-24.9 13.9-9-8.7-17.9-13.9-24.9-13.9-2.4 0-4.5.5-6.4 1.6-6.4 3.7-8.7 13-6.6 26.1.4 2.3.9 4.7 1.5 7.1-2.4.7-4.7 1.4-6.9 2.3C8.2 50 1.4 56.6 1.4 64s6.9 14 19.3 18.8c2.2.8 4.5 1.6 6.9 2.3-.6 2.4-1.1 4.8-1.5 7.1-2.1 13.2.2 22.5 6.6 26.1 1.9 1.1 4 1.6 6.4 1.6 7.1 0 16-5.2 24.9-13.9 9 8.7 17.9 13.9 24.9 13.9 2.4 0 4.5-.5 6.4-1.6 6.4-3.7 8.7-13 6.6-26.1-.4-2.3-.9-4.7-1.5-7.1 2.4-.7 4.7-1.4 6.9-2.3 12.5-4.8 19.3-11.4 19.3-18.8s-6.8-14-19.3-18.8zM92.5 14.7c4.1 2.4 5.5 9.8 3.8 20.3-.3 2.1-.8 4.3-1.4 6.6-5.2-1.2-10.7-2-16.5-2.5-3.4-4.8-6.9-9.1-10.4-13 7.4-7.3 14.9-12.3 21-12.3 1.3 0 2.5.3 3.5.9zM81.3 74c-1.8 3.2-3.9 6.4-6.1 9.6-3.7.3-7.4.4-11.2.4-3.9 0-7.6-.1-11.2-.4-2.2-3.2-4.2-6.4-6-9.6-1.9-3.3-3.7-6.7-5.3-10 1.6-3.3 3.4-6.7 5.3-10 1.8-3.2 3.9-6.4 6.1-9.6 3.7-.3 7.4-.4 11.2-.4 3.9 0 7.6.1 11.2.4 2.2 3.2 4.2 6.4 6 9.6 1.9 3.3 3.7 6.7 5.3 10-1.7 3.3-3.4 6.6-5.3 10zm8.3-3.3c1.5 3.5 2.7 6.9 3.8 10.3-3.4.8-7 1.4-10.8 1.9 1.2-1.9 2.5-3.9 3.6-6 1.2-2.1 2.3-4.2 3.4-6.2zM64 97.8c-2.4-2.6-4.7-5.4-6.9-8.3 2.3.1 4.6.2 6.9.2 2.3 0 4.6-.1 6.9-.2-2.2 2.9-4.5 5.7-6.9 8.3zm-18.6-15c-3.8-.5-7.4-1.1-10.8-1.9 1.1-3.3 2.3-6.8 3.8-10.3 1.1 2 2.2 4.1 3.4 6.1 1.2 2.2 2.4 4.1 3.6 6.1zm-7-25.5c-1.5-3.5-2.7-6.9-3.8-10.3 3.4-.8 7-1.4 10.8-1.9-1.2 1.9-2.5 3.9-3.6 6-1.2 2.1-2.3 4.2-3.4 6.2zM64 30.2c2.4 2.6 4.7 5.4 6.9 8.3-2.3-.1-4.6-.2-6.9-.2-2.3 0-4.6.1-6.9.2 2.2-2.9 4.5-5.7 6.9-8.3zm22.2 21l-3.6-6c3.8.5 7.4 1.1 10.8 1.9-1.1 3.3-2.3 6.8-3.8 10.3-1.1-2.1-2.2-4.2-3.4-6.2zM31.7 35c-1.7-10.5-.3-17.9 3.8-20.3 1-.6 2.2-.9 3.5-.9 6 0 13.5 4.9 21 12.3-3.5 3.8-7 8.2-10.4 13-5.8.5-11.3 1.4-16.5 2.5-.6-2.3-1-4.5-1.4-6.6zM7 64c0-4.7 5.7-9.7 15.7-13.4 2-.8 4.2-1.5 6.4-2.1 1.6 5 3.6 10.3 6 15.6-2.4 5.3-4.5 10.5-6 15.5C15.3 75.6 7 69.6 7 64zm28.5 49.3c-4.1-2.4-5.5-9.8-3.8-20.3.3-2.1.8-4.3 1.4-6.6 5.2 1.2 10.7 2 16.5 2.5 3.4 4.8 6.9 9.1 10.4 13-7.4 7.3-14.9 12.3-21 12.3-1.3 0-2.5-.3-3.5-.9zM96.3 93c1.7 10.5.3 17.9-3.8 20.3-1 .6-2.2.9-3.5.9-6 0-13.5-4.9-21-12.3 3.5-3.8 7-8.2 10.4-13 5.8-.5 11.3-1.4 16.5-2.5.6 2.3 1 4.5 1.4 6.6zm9-15.6c-2 .8-4.2 1.5-6.4 2.1-1.6-5-3.6-10.3-6-15.6 2.4-5.3 4.5-10.5 6-15.5 13.8 4 22.1 10 22.1 15.6 0 4.7-5.8 9.7-15.7 13.4z\" />\n </g>\n </svg>\n )\n }\n\n if (language === 'javascript') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\">\n <path fill=\"#F0DB4F\" d=\"M1.408 1.408h125.184v125.185H1.408z\" />\n <path\n fill=\"#323330\"\n d=\"M116.347 96.736c-.917-5.711-4.641-10.508-15.672-14.981-3.832-1.761-8.104-3.022-9.377-5.926-.452-1.69-.512-2.642-.226-3.665.821-3.32 4.784-4.355 7.925-3.403 2.023.678 3.938 2.237 5.093 4.724 5.402-3.498 5.391-3.475 9.163-5.879-1.381-2.141-2.118-3.129-3.022-4.045-3.249-3.629-7.676-5.498-14.756-5.355l-3.688.477c-3.534.893-6.902 2.748-8.877 5.235-5.926 6.724-4.236 18.492 2.975 23.335 7.104 5.332 17.54 6.545 18.873 11.531 1.297 6.104-4.486 8.08-10.234 7.378-4.236-.881-6.592-3.034-9.139-6.949-4.688 2.713-4.688 2.713-9.508 5.485 1.143 2.499 2.344 3.63 4.26 5.795 9.068 9.198 31.76 8.746 35.83-5.176.165-.478 1.261-3.666.38-8.581zM69.462 58.943H57.753l-.048 30.272c0 6.438.333 12.34-.714 14.149-1.713 3.558-6.152 3.117-8.175 2.427-2.059-1.012-3.106-2.451-4.319-4.485-.333-.584-.583-1.036-.667-1.071l-9.52 5.83c1.583 3.249 3.915 6.069 6.902 7.901 4.462 2.678 10.459 3.499 16.731 2.059 4.082-1.189 7.604-3.652 9.448-7.401 2.666-4.915 2.094-10.864 2.07-17.444.06-10.735.001-21.468.001-32.237z\"\n />\n </svg>\n )\n }\n\n if (language === 'php') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 800 400\">\n <g transform=\"translate(-44.632 -141.55)\">\n <g transform=\"matrix(8.3528 0 0 8.3119 -727.13 -3759.5)\">\n <path d=\"m99.974 479.48h14.204c4.1693 0.0354 7.1903 1.2367 9.063 3.604 1.8726 2.3674 2.491 5.6004 1.855 9.699-0.24737 1.8727-0.79504 3.71-1.643 5.512-0.8127 1.802-1.9434 3.4273-3.392 4.876-1.7667 1.8373-3.657 3.0033-5.671 3.498-2.014 0.49467-4.0987 0.742-6.254 0.742h-6.36l-2.014 10.07h-7.367l7.579-38.001m6.201 6.042-3.18 15.9c0.21198 0.0353 0.42398 0.053 0.636 0.053h0.742c3.392 0.0353 6.2186-0.30033 8.48-1.007 2.2613-0.74199 3.7806-3.3213 4.558-7.738 0.63597-3.71-0.00003-5.8476-1.908-6.413-1.8727-0.56531-4.2224-0.83031-7.049-0.795-0.42402 0.0353-0.83035 0.053-1.219 0.053-0.35335 0.00002-0.72435 0.00002-1.113 0l0.053-0.053\" />\n <path d=\"m133.49 469.36h7.314l-2.067 10.123h6.572c3.604 0.0707 6.2893 0.81269 8.056 2.226 1.802 1.4134 2.332 4.0987 1.59 8.056l-3.551 17.649h-7.42l3.392-16.854c0.35328-1.7666 0.2473-3.021-0.318-3.763-0.56536-0.74198-1.7844-1.113-3.657-1.113l-5.883-0.053-4.346 21.783h-7.314l7.632-38.054\" />\n <path d=\"m162.81 479.48h14.204c4.1693 0.0354 7.1903 1.2367 9.063 3.604 1.8726 2.3674 2.491 5.6004 1.855 9.699-0.24737 1.8727-0.79503 3.71-1.643 5.512-0.8127 1.802-1.9434 3.4273-3.392 4.876-1.7667 1.8373-3.657 3.0033-5.671 3.498-2.014 0.49467-4.0987 0.742-6.254 0.742h-6.36l-2.014 10.07h-7.367l7.579-38.001m6.201 6.042-3.18 15.9c0.21199 0.0353 0.42399 0.053 0.636 0.053h0.742c3.392 0.0353 6.2186-0.30033 8.48-1.007 2.2613-0.74199 3.7806-3.3213 4.558-7.738 0.63597-3.71-0.00003-5.8476-1.908-6.413-1.8727-0.56531-4.2224-0.83031-7.049-0.795-0.42402 0.0353-0.83035 0.053-1.219 0.053-0.35335 0.00002-0.72435 0.00002-1.113 0l0.053-0.053\" />\n </g>\n </g>\n </svg>\n )\n }\n\n if (language === 'json') {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n viewBox=\"0 0 160 160\"\n >\n <defs>\n <linearGradient id=\"a\">\n <stop offset=\"0\" />\n <stop offset=\"1\" stopColor=\"#fff\" />\n </linearGradient>\n <linearGradient\n x1=\"-553.27\"\n y1=\"525.908\"\n x2=\"-666.116\"\n y2=\"413.045\"\n id=\"c\"\n xlinkHref=\"#a\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(.99884 0 0 .9987 689.008 -388.844)\"\n />\n <linearGradient\n x1=\"-666.117\"\n y1=\"413.045\"\n x2=\"-553.27\"\n y2=\"525.908\"\n id=\"b\"\n xlinkHref=\"#a\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(.99884 0 0 .9987 689.008 -388.844)\"\n />\n </defs>\n <path\n d=\"M79.865 119.1c35.397 48.255 70.04-13.469 69.988-50.587-.06-43.886-44.54-68.414-70.017-68.414C38.943.1 0 33.895 0 80.135 0 131.531 44.64 160 79.836 160c-7.965-1.147-34.507-6.834-34.863-67.967-.24-41.346 13.487-57.865 34.805-50.599.477.177 23.514 9.265 23.514 38.95 0 29.56-23.427 38.716-23.427 38.716z\"\n style={{marker: 'none'}}\n color=\"#000\"\n fill=\"url(#b)\"\n fillRule=\"evenodd\"\n overflow=\"visible\"\n />\n <path\n d=\"M79.823 41.4C56.433 33.34 27.78 52.618 27.78 91.23c0 63.048 46.72 68.77 52.384 68.77C121.057 160 160 126.204 160 79.964 160 28.568 115.36.1 80.164.1c9.749-1.35 52.541 10.55 52.541 69.037 0 38.141-31.953 58.905-52.735 50.033-.478-.177-23.514-9.264-23.514-38.95 0-29.56 23.367-38.818 23.367-38.818z\"\n style={{marker: 'none'}}\n color=\"#000\"\n fill=\"url(#c)\"\n fillRule=\"evenodd\"\n overflow=\"visible\"\n />\n </svg>\n )\n }\n\n return undefined\n}\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../../"}
|
|
1
|
+
{"mappings":"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","sources":["node_modules/@parcel/runtime-js/lib/runtime-585180c9bcc34854.js","src/index.ts","src/schema.tsx","src/CodeInput.tsx","src/createHighlightMarkers.ts","src/config.ts","src/ace-editor/AceEditorLazy.tsx","src/PreviewCode.tsx","src/getMedia.tsx"],"sourcesContent":["module.exports = (__parcel__import__(\"./\" + \"editorSupport.739e7d0c.js\")).then(() => parcelRequire('f97Qe'));","import {createPlugin} from 'sanity'\n\nimport {codeSchema, codeTypeName, CodeDefinition} from './schema'\nimport PreviewCode, {PreviewCodeProps} from './PreviewCode'\nexport type {CodeInputProps, CodeSchemaType, CodeOptions} from './CodeInput'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\n\nexport {PreviewCode, type PreviewCodeProps}\nexport {codeSchema, codeTypeName}\nexport type {CodeDefinition}\n/**\n * @public\n */\nexport const codeInput = createPlugin({\n name: '@sanity/code-input',\n schema: {types: [codeSchema]},\n})\n","import {CodeBlockIcon} from '@sanity/icons'\nimport {CodeInput, CodeOptions} from './CodeInput'\nimport PreviewCode, {PreviewCodeProps} from './PreviewCode'\nimport {getMedia} from './getMedia'\nimport {defineType, ObjectDefinition} from 'sanity'\n\nexport type {CodeInputProps, CodeSchemaType} from './CodeInput'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\nexport type {PreviewCode, PreviewCodeProps, CodeInput}\n\n/**\n * @public\n */\nexport const codeTypeName = 'code' as const\n\n/**\n * @public\n */\nexport interface CodeDefinition extends Omit<ObjectDefinition, 'type' | 'fields' | 'options'> {\n type: typeof codeTypeName\n options?: CodeOptions\n}\n\ndeclare module '@sanity/types' {\n // makes type: 'code' narrow correctly when using defineType/defineField/defineArrayMember\n export interface IntrinsicDefinitions {\n code: CodeDefinition\n }\n}\n\n/**\n * @public\n */\nexport const codeSchema = defineType({\n name: 'code',\n type: 'object',\n title: 'Code',\n components: {input: CodeInput, preview: PreviewCode},\n icon: CodeBlockIcon,\n fields: [\n {\n name: 'language',\n title: 'Language',\n type: 'string',\n },\n {\n name: 'filename',\n title: 'Filename',\n type: 'string',\n },\n {\n title: 'Code',\n name: 'code',\n type: 'text',\n },\n {\n title: 'Highlighted lines',\n name: 'highlightedLines',\n type: 'array',\n of: [\n {\n type: 'number',\n title: 'Highlighted line',\n },\n ],\n },\n ],\n preview: {\n select: {\n language: 'language',\n code: 'code',\n filename: 'filename',\n highlightedLines: 'highlightedLines',\n },\n prepare: (value: {\n language?: string\n code?: string\n filename?: string\n highlightedLines?: number[]\n }) => {\n return {\n title: value.filename || (value.language || 'unknown').toUpperCase(),\n media: getMedia(value?.language),\n selection: value,\n }\n },\n },\n})\n","/* eslint-disable react/jsx-handler-names */\nimport React, {Suspense, useCallback, useEffect, useImperativeHandle, useMemo, useRef} from 'react'\nimport {\n InputProps,\n ObjectSchemaType,\n StringInputProps,\n useColorScheme,\n FieldMember,\n MemberField,\n ObjectInputProps,\n set,\n setIfMissing,\n unset,\n} from 'sanity'\nimport {Card, Select, Stack, ThemeColorSchemeKey} from '@sanity/ui'\nimport styled from 'styled-components'\nimport createHighlightMarkers, {highlightMarkersCSS} from './createHighlightMarkers'\nimport {CodeInputLanguage, CodeInputValue} from './types'\nimport {\n ACE_EDITOR_PROPS,\n ACE_SET_OPTIONS,\n DEFAULT_DARK_THEME,\n DEFAULT_THEME,\n LANGUAGE_ALIASES,\n PATH_CODE,\n SUPPORTED_LANGUAGES,\n SUPPORTED_THEMES,\n} from './config'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\n\nconst EditorContainer = styled(Card)`\n position: relative;\n box-sizing: border-box;\n overflow: hidden;\n z-index: 0;\n\n .ace_editor {\n font-family: ${({theme}) => theme.sanity.fonts.code.family};\n font-size: ${({theme}) => theme.sanity.fonts.code.sizes[1]};\n line-height: inherit;\n }\n\n ${highlightMarkersCSS}\n\n &:not([disabled]):not([readonly]) {\n &:focus,\n &:focus-within {\n box-shadow: 0 0 0 2px ${({theme}) => theme.sanity.color.base.focusRing};\n background-color: ${({theme}) => theme.sanity.color.base.bg};\n border-color: ${({theme}) => theme.sanity.color.base.focusRing};\n }\n }\n`\n\n/**\n * @public\n */\nexport interface CodeOptions {\n theme?: string\n darkTheme?: string\n languageAlternatives?: CodeInputLanguage[]\n language?: string\n withFilename?: boolean\n}\n\n/**\n * @public\n */\nexport type CodeSchemaType = Omit<ObjectSchemaType, 'options'> & {\n options?: CodeOptions\n}\n\n/**\n * @public\n */\nexport type CodeInputProps = ObjectInputProps<CodeInputValue, CodeSchemaType> & {\n /** @internal */\n colorScheme?: ThemeColorSchemeKey\n}\n\n// Returns a string with the mode name if supported (because aliases), otherwise false\nfunction isSupportedLanguage(mode: string) {\n const alias = LANGUAGE_ALIASES[mode]\n\n if (alias) {\n return alias\n }\n\n const isSupported = SUPPORTED_LANGUAGES.find((lang) => lang.value === mode)\n if (isSupported) {\n return mode\n }\n\n return false\n}\n\nexport function CodeInput(props: CodeInputProps) {\n const {\n members,\n elementProps,\n onChange,\n onFocusPath,\n readOnly,\n renderField,\n renderInput,\n renderItem,\n renderPreview,\n schemaType: type,\n value,\n } = props\n\n const aceEditorRef = useRef<any>()\n\n const fieldMembers = useMemo(\n () => members.filter((member) => member.kind === 'field') as FieldMember[],\n [members]\n )\n\n const languageFieldMember = fieldMembers.find((member) => member.name === 'language')\n const filenameMember = fieldMembers.find((member) => member.name === 'filename')\n const codeFieldMember = fieldMembers.find((member) => member.name === 'code')\n\n useImperativeHandle(elementProps.ref, () => ({\n focus: () => {\n aceEditorRef?.current?.editor?.focus()\n },\n }))\n\n const handleCodeFocus = useCallback(() => {\n onFocusPath(PATH_CODE)\n }, [onFocusPath])\n\n const {scheme} = useColorScheme()\n\n const theme = useMemo(() => {\n const isLight = scheme === 'light'\n const preferredTheme = isLight ? type.options?.theme : type.options?.darkTheme\n const defaultTheme = isLight ? DEFAULT_THEME : DEFAULT_DARK_THEME\n return preferredTheme && SUPPORTED_THEMES.find((t) => t === preferredTheme)\n ? preferredTheme\n : defaultTheme\n }, [type, scheme])\n\n const handleToggleSelectLine = useCallback(\n (lineNumber: number) => {\n const editorSession = aceEditorRef.current?.editor?.getSession()\n const backgroundMarkers = editorSession?.getMarkers(true)\n const currentHighlightedLines = Object.keys(backgroundMarkers)\n .filter((key) => backgroundMarkers[key].type === 'screenLine')\n .map((key) => backgroundMarkers[key].range.start.row)\n const currentIndex = currentHighlightedLines.indexOf(lineNumber)\n if (currentIndex > -1) {\n // toggle remove\n currentHighlightedLines.splice(currentIndex, 1)\n } else {\n // toggle add\n currentHighlightedLines.push(lineNumber)\n currentHighlightedLines.sort()\n }\n onChange(\n set(\n currentHighlightedLines.map(\n (line) =>\n // ace starts at line (row) 0, but we store it starting at line 1\n line + 1\n ),\n ['highlightedLines']\n )\n )\n },\n [aceEditorRef, onChange]\n )\n\n const handleGutterMouseDown = useCallback(\n (event: any) => {\n const target = event.domEvent.target\n if (target.classList.contains('ace_gutter-cell')) {\n const row = event.getDocumentPosition().row\n handleToggleSelectLine(row)\n }\n },\n [handleToggleSelectLine]\n )\n\n useEffect(() => {\n const editor = aceEditorRef?.current?.editor\n return () => {\n editor?.session?.removeListener('guttermousedown', handleGutterMouseDown)\n }\n }, [aceEditorRef, handleGutterMouseDown])\n\n const handleEditorLoad = useCallback(\n (editor: any) => {\n editor?.on('guttermousedown', handleGutterMouseDown)\n },\n [handleGutterMouseDown]\n )\n\n const getLanguageAlternatives = useCallback((): {\n title: string\n value: string\n mode?: string\n }[] => {\n const languageAlternatives = type.options?.languageAlternatives\n if (!languageAlternatives) {\n return SUPPORTED_LANGUAGES\n }\n\n if (!Array.isArray(languageAlternatives)) {\n throw new Error(\n `'options.languageAlternatives' should be an array, got ${typeof languageAlternatives}`\n )\n }\n\n return languageAlternatives.reduce((acc: CodeInputLanguage[], {title, value: val, mode}) => {\n const alias = LANGUAGE_ALIASES[val]\n if (alias) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language with value \"%s\", which is an alias of \"%s\" - please replace the value to read \"%s\"`,\n val,\n alias,\n alias\n )\n\n return acc.concat({title, value: alias, mode: mode})\n }\n\n if (!mode && !SUPPORTED_LANGUAGES.find((lang) => lang.value === val)) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language which is not supported: \"%s\", syntax highlighting will be disabled.`,\n val\n )\n }\n\n return acc.concat({title, value: val, mode})\n }, [])\n }, [type])\n\n const handleCodeChange = useCallback(\n (code: string) => {\n const path = PATH_CODE\n const fixedLanguage = type.options?.language\n\n onChange([\n setIfMissing({_type: type.name, language: fixedLanguage}),\n code ? set(code, path) : unset(path),\n ])\n },\n [onChange, type]\n )\n\n const languages = getLanguageAlternatives().slice()\n\n const fixedLanguage = type.options?.language\n\n const language = value?.language || fixedLanguage\n\n // the language config from the schema\n const configured = languages.find((entry) => entry.value === language)\n\n // is the language officially supported (e.g. we import the mode by default)\n const supported = language && isSupportedLanguage(language)\n\n const mode = configured?.mode || (supported ? language : 'text')\n\n const renderLanguageInput = useCallback(\n (inputProps: Omit<InputProps, 'renderDefault'>) => {\n return (\n <Select\n {...(inputProps as StringInputProps)}\n onChange={(e) => {\n const newValue = e.currentTarget.value\n inputProps.onChange(newValue ? set(newValue) : unset())\n }}\n >\n {languages.map((lang: {title: string; value: string}) => (\n <option key={lang.value} value={lang.value}>\n {lang.title}\n </option>\n ))}\n </Select>\n )\n },\n [languages]\n )\n\n const AceEditor = useAceEditor()\n\n const renderCodeInput = useCallback(\n (inputProps) => {\n return (\n <EditorContainer radius={1} shadow={1} readOnly={readOnly}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code editor...</div>}>\n <AceEditor\n ref={aceEditorRef}\n mode={mode}\n theme={theme}\n width=\"100%\"\n onChange={handleCodeChange}\n name={inputProps.id}\n value={inputProps.value}\n markers={\n value && value.highlightedLines\n ? createHighlightMarkers(value.highlightedLines)\n : undefined\n }\n onLoad={handleEditorLoad}\n readOnly={readOnly}\n tabSize={2}\n wrapEnabled\n setOptions={ACE_SET_OPTIONS}\n editorProps={ACE_EDITOR_PROPS}\n onFocus={handleCodeFocus}\n onBlur={elementProps.onBlur}\n />\n </Suspense>\n )}\n </EditorContainer>\n )\n },\n [\n AceEditor,\n theme,\n handleCodeChange,\n handleCodeFocus,\n handleEditorLoad,\n mode,\n elementProps.onBlur,\n readOnly,\n value,\n ]\n )\n\n return (\n <Stack space={4}>\n {languageFieldMember && (\n <MemberField\n member={languageFieldMember}\n renderItem={renderItem}\n renderField={renderField}\n renderInput={renderLanguageInput}\n renderPreview={renderPreview}\n />\n )}\n\n {type.options?.withFilename && filenameMember && (\n <MemberField\n member={filenameMember}\n renderItem={renderItem}\n renderField={renderField}\n renderInput={renderInput}\n renderPreview={renderPreview}\n />\n )}\n\n {codeFieldMember && (\n <MemberField\n member={codeFieldMember}\n renderInput={renderCodeInput}\n renderItem={renderItem}\n renderField={renderField}\n renderPreview={renderPreview}\n />\n )}\n </Stack>\n )\n}\n","import type {IMarker} from 'react-ace'\nimport {css} from 'styled-components'\n\nexport const highlightMarkersCSS = css`\n .ace_editor_markers_highlight {\n position: absolute;\n background-color: ${({theme}) => theme.sanity.color.solid.primary.enabled.bg};\n opacity: 0.2;\n width: 100% !important;\n border-radius: 0 !important;\n }\n`\n\nexport default function createHighlightMarkers(rows: number[]): IMarker[] {\n return rows.map((row) => ({\n startRow: Number(row) - 1,\n startCol: 0,\n endRow: Number(row) - 1,\n endCol: +Infinity,\n className: 'ace_editor_markers_highlight',\n type: 'screenLine',\n inFront: true,\n }))\n}\n","import {CodeInputLanguage} from './types'\n\n// NOTE: MAKE SURE THESE ALIGN WITH IMPORTS IN ./ace-editor/editorSupport\nexport const SUPPORTED_LANGUAGES: CodeInputLanguage[] = [\n {title: 'Batch file', value: 'batchfile'},\n {title: 'C#', value: 'csharp'},\n {title: 'CSS', value: 'css'},\n {title: 'Go', value: 'golang'},\n {title: 'GROQ', value: 'groq'},\n {title: 'HTML', value: 'html'},\n {title: 'Java', value: 'java'},\n {title: 'JavaScript', value: 'javascript'},\n {title: 'JSON', value: 'json'},\n {title: 'JSX', value: 'jsx'},\n {title: 'Markdown', value: 'markdown'},\n {title: 'MySQL', value: 'mysql'},\n {title: 'PHP', value: 'php'},\n {title: 'Plain text', value: 'text'},\n {title: 'Python', value: 'python'},\n {title: 'Ruby', value: 'ruby'},\n {title: 'SASS', value: 'sass'},\n {title: 'SCSS', value: 'scss'},\n {title: 'sh', value: 'sh'},\n {title: 'TSX', value: 'tsx'},\n {title: 'TypeScript', value: 'typescript'},\n {title: 'XML', value: 'xml'},\n {title: 'YAML', value: 'yaml'},\n]\n\nexport const LANGUAGE_ALIASES: Record<string, string | undefined> = {js: 'javascript'}\n\nexport const SUPPORTED_THEMES = ['github', 'monokai', 'terminal', 'tomorrow']\n\nexport const DEFAULT_THEME = 'tomorrow'\nexport const DEFAULT_DARK_THEME = 'monokai'\n\nexport const ACE_SET_OPTIONS = {\n useSoftTabs: true,\n navigateWithinSoftTabs: true /* note only supported by ace v1.2.7 or higher */,\n}\n\nexport const ACE_EDITOR_PROPS = {$blockScrolling: true}\n\nexport const PATH_LANGUAGE = ['language']\nexport const PATH_CODE = ['code']\nexport const PATH_FILENAME = ['filename']\n","import React, {useEffect, useState} from 'react'\n\n/**\n * AceEditor loads window global directly when imported, which crashes in node envs.\n * This works around the issue by only importing ace-dependencies when window is defined.\n *\n * We only set the ace lazy component after mounting, to allow us to render null on the server,\n * and use suspense on the client. This will make hydration work correctly.\n */\nexport const AceEditorLazy = React.lazy(() => import('./editorSupport'))\n\nexport function useAceEditor() {\n const [mounted, setMounted] = useState(false)\n useEffect(() => {\n requestAnimationFrame(() => setMounted(true))\n }, [])\n\n return mounted ? AceEditorLazy : null\n}\n","import React, {Suspense, useCallback, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {Box} from '@sanity/ui'\nimport {ACE_EDITOR_PROPS, ACE_SET_OPTIONS} from './config'\nimport createHighlightMarkers from './createHighlightMarkers'\nimport {CodeInputValue} from './types'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\nimport {CodeSchemaType} from './CodeInput'\n\nconst PreviewContainer = styled(Box)`\n position: relative;\n`\n\nconst PreviewInner = styled(Box)`\n background-color: #272822;\n\n .ace_editor {\n box-sizing: border-box;\n cursor: default;\n pointer-events: none;\n }\n\n .ace_content {\n box-sizing: border-box;\n overflow: hidden;\n }\n`\n\n/**\n * @public\n */\nexport interface PreviewCodeProps {\n type?: CodeSchemaType\n value?: {selection?: CodeInputValue}\n}\n\n/**\n * @public\n */\nexport default function PreviewCode(props: PreviewCodeProps) {\n const aceEditorRef = useRef<any>()\n\n useEffect(() => {\n if (!aceEditorRef?.current) return\n\n const editor = aceEditorRef.current?.editor\n\n if (editor) {\n // Avoid cursor and focus tracking by Ace\n editor.renderer.$cursorLayer.element.style.opacity = 0\n editor.textInput.getElement().disabled = true\n }\n }, [])\n\n const handleEditorChange = useCallback(() => {\n // do nothing when the editor changes\n }, [])\n\n const {value, type} = props\n const fixedLanguage = type?.options?.language\n\n const selection = value?.selection\n const mode = selection?.language || fixedLanguage || 'text'\n\n const AceEditor = useAceEditor()\n return (\n <PreviewContainer>\n <PreviewInner padding={4}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code preview...</div>}>\n <AceEditor\n ref={aceEditorRef}\n focus={false}\n mode={mode}\n theme=\"monokai\"\n width=\"100%\"\n onChange={handleEditorChange}\n maxLines={200}\n readOnly\n wrapEnabled\n showPrintMargin={false}\n highlightActiveLine={false}\n cursorStart={-1}\n value={selection?.code || ''}\n markers={\n selection?.highlightedLines\n ? createHighlightMarkers(selection.highlightedLines)\n : undefined\n }\n tabSize={2}\n showGutter={false}\n setOptions={ACE_SET_OPTIONS}\n editorProps={ACE_EDITOR_PROPS}\n />\n </Suspense>\n )}\n </PreviewInner>\n </PreviewContainer>\n )\n}\n","import React from 'react'\n\nexport function getMedia(language?: string) {\n if (language === 'jsx') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\">\n <g fill=\"#61DAFB\">\n <circle cx=\"64\" cy=\"64\" r=\"11.4\" />\n <path d=\"M107.3 45.2c-2.2-.8-4.5-1.6-6.9-2.3.6-2.4 1.1-4.8 1.5-7.1 2.1-13.2-.2-22.5-6.6-26.1-1.9-1.1-4-1.6-6.4-1.6-7 0-15.9 5.2-24.9 13.9-9-8.7-17.9-13.9-24.9-13.9-2.4 0-4.5.5-6.4 1.6-6.4 3.7-8.7 13-6.6 26.1.4 2.3.9 4.7 1.5 7.1-2.4.7-4.7 1.4-6.9 2.3C8.2 50 1.4 56.6 1.4 64s6.9 14 19.3 18.8c2.2.8 4.5 1.6 6.9 2.3-.6 2.4-1.1 4.8-1.5 7.1-2.1 13.2.2 22.5 6.6 26.1 1.9 1.1 4 1.6 6.4 1.6 7.1 0 16-5.2 24.9-13.9 9 8.7 17.9 13.9 24.9 13.9 2.4 0 4.5-.5 6.4-1.6 6.4-3.7 8.7-13 6.6-26.1-.4-2.3-.9-4.7-1.5-7.1 2.4-.7 4.7-1.4 6.9-2.3 12.5-4.8 19.3-11.4 19.3-18.8s-6.8-14-19.3-18.8zM92.5 14.7c4.1 2.4 5.5 9.8 3.8 20.3-.3 2.1-.8 4.3-1.4 6.6-5.2-1.2-10.7-2-16.5-2.5-3.4-4.8-6.9-9.1-10.4-13 7.4-7.3 14.9-12.3 21-12.3 1.3 0 2.5.3 3.5.9zM81.3 74c-1.8 3.2-3.9 6.4-6.1 9.6-3.7.3-7.4.4-11.2.4-3.9 0-7.6-.1-11.2-.4-2.2-3.2-4.2-6.4-6-9.6-1.9-3.3-3.7-6.7-5.3-10 1.6-3.3 3.4-6.7 5.3-10 1.8-3.2 3.9-6.4 6.1-9.6 3.7-.3 7.4-.4 11.2-.4 3.9 0 7.6.1 11.2.4 2.2 3.2 4.2 6.4 6 9.6 1.9 3.3 3.7 6.7 5.3 10-1.7 3.3-3.4 6.6-5.3 10zm8.3-3.3c1.5 3.5 2.7 6.9 3.8 10.3-3.4.8-7 1.4-10.8 1.9 1.2-1.9 2.5-3.9 3.6-6 1.2-2.1 2.3-4.2 3.4-6.2zM64 97.8c-2.4-2.6-4.7-5.4-6.9-8.3 2.3.1 4.6.2 6.9.2 2.3 0 4.6-.1 6.9-.2-2.2 2.9-4.5 5.7-6.9 8.3zm-18.6-15c-3.8-.5-7.4-1.1-10.8-1.9 1.1-3.3 2.3-6.8 3.8-10.3 1.1 2 2.2 4.1 3.4 6.1 1.2 2.2 2.4 4.1 3.6 6.1zm-7-25.5c-1.5-3.5-2.7-6.9-3.8-10.3 3.4-.8 7-1.4 10.8-1.9-1.2 1.9-2.5 3.9-3.6 6-1.2 2.1-2.3 4.2-3.4 6.2zM64 30.2c2.4 2.6 4.7 5.4 6.9 8.3-2.3-.1-4.6-.2-6.9-.2-2.3 0-4.6.1-6.9.2 2.2-2.9 4.5-5.7 6.9-8.3zm22.2 21l-3.6-6c3.8.5 7.4 1.1 10.8 1.9-1.1 3.3-2.3 6.8-3.8 10.3-1.1-2.1-2.2-4.2-3.4-6.2zM31.7 35c-1.7-10.5-.3-17.9 3.8-20.3 1-.6 2.2-.9 3.5-.9 6 0 13.5 4.9 21 12.3-3.5 3.8-7 8.2-10.4 13-5.8.5-11.3 1.4-16.5 2.5-.6-2.3-1-4.5-1.4-6.6zM7 64c0-4.7 5.7-9.7 15.7-13.4 2-.8 4.2-1.5 6.4-2.1 1.6 5 3.6 10.3 6 15.6-2.4 5.3-4.5 10.5-6 15.5C15.3 75.6 7 69.6 7 64zm28.5 49.3c-4.1-2.4-5.5-9.8-3.8-20.3.3-2.1.8-4.3 1.4-6.6 5.2 1.2 10.7 2 16.5 2.5 3.4 4.8 6.9 9.1 10.4 13-7.4 7.3-14.9 12.3-21 12.3-1.3 0-2.5-.3-3.5-.9zM96.3 93c1.7 10.5.3 17.9-3.8 20.3-1 .6-2.2.9-3.5.9-6 0-13.5-4.9-21-12.3 3.5-3.8 7-8.2 10.4-13 5.8-.5 11.3-1.4 16.5-2.5.6 2.3 1 4.5 1.4 6.6zm9-15.6c-2 .8-4.2 1.5-6.4 2.1-1.6-5-3.6-10.3-6-15.6 2.4-5.3 4.5-10.5 6-15.5 13.8 4 22.1 10 22.1 15.6 0 4.7-5.8 9.7-15.7 13.4z\" />\n </g>\n </svg>\n )\n }\n\n if (language === 'javascript') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\">\n <path fill=\"#F0DB4F\" d=\"M1.408 1.408h125.184v125.185H1.408z\" />\n <path\n fill=\"#323330\"\n d=\"M116.347 96.736c-.917-5.711-4.641-10.508-15.672-14.981-3.832-1.761-8.104-3.022-9.377-5.926-.452-1.69-.512-2.642-.226-3.665.821-3.32 4.784-4.355 7.925-3.403 2.023.678 3.938 2.237 5.093 4.724 5.402-3.498 5.391-3.475 9.163-5.879-1.381-2.141-2.118-3.129-3.022-4.045-3.249-3.629-7.676-5.498-14.756-5.355l-3.688.477c-3.534.893-6.902 2.748-8.877 5.235-5.926 6.724-4.236 18.492 2.975 23.335 7.104 5.332 17.54 6.545 18.873 11.531 1.297 6.104-4.486 8.08-10.234 7.378-4.236-.881-6.592-3.034-9.139-6.949-4.688 2.713-4.688 2.713-9.508 5.485 1.143 2.499 2.344 3.63 4.26 5.795 9.068 9.198 31.76 8.746 35.83-5.176.165-.478 1.261-3.666.38-8.581zM69.462 58.943H57.753l-.048 30.272c0 6.438.333 12.34-.714 14.149-1.713 3.558-6.152 3.117-8.175 2.427-2.059-1.012-3.106-2.451-4.319-4.485-.333-.584-.583-1.036-.667-1.071l-9.52 5.83c1.583 3.249 3.915 6.069 6.902 7.901 4.462 2.678 10.459 3.499 16.731 2.059 4.082-1.189 7.604-3.652 9.448-7.401 2.666-4.915 2.094-10.864 2.07-17.444.06-10.735.001-21.468.001-32.237z\"\n />\n </svg>\n )\n }\n\n if (language === 'php') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 800 400\">\n <g transform=\"translate(-44.632 -141.55)\">\n <g transform=\"matrix(8.3528 0 0 8.3119 -727.13 -3759.5)\">\n <path d=\"m99.974 479.48h14.204c4.1693 0.0354 7.1903 1.2367 9.063 3.604 1.8726 2.3674 2.491 5.6004 1.855 9.699-0.24737 1.8727-0.79504 3.71-1.643 5.512-0.8127 1.802-1.9434 3.4273-3.392 4.876-1.7667 1.8373-3.657 3.0033-5.671 3.498-2.014 0.49467-4.0987 0.742-6.254 0.742h-6.36l-2.014 10.07h-7.367l7.579-38.001m6.201 6.042-3.18 15.9c0.21198 0.0353 0.42398 0.053 0.636 0.053h0.742c3.392 0.0353 6.2186-0.30033 8.48-1.007 2.2613-0.74199 3.7806-3.3213 4.558-7.738 0.63597-3.71-0.00003-5.8476-1.908-6.413-1.8727-0.56531-4.2224-0.83031-7.049-0.795-0.42402 0.0353-0.83035 0.053-1.219 0.053-0.35335 0.00002-0.72435 0.00002-1.113 0l0.053-0.053\" />\n <path d=\"m133.49 469.36h7.314l-2.067 10.123h6.572c3.604 0.0707 6.2893 0.81269 8.056 2.226 1.802 1.4134 2.332 4.0987 1.59 8.056l-3.551 17.649h-7.42l3.392-16.854c0.35328-1.7666 0.2473-3.021-0.318-3.763-0.56536-0.74198-1.7844-1.113-3.657-1.113l-5.883-0.053-4.346 21.783h-7.314l7.632-38.054\" />\n <path d=\"m162.81 479.48h14.204c4.1693 0.0354 7.1903 1.2367 9.063 3.604 1.8726 2.3674 2.491 5.6004 1.855 9.699-0.24737 1.8727-0.79503 3.71-1.643 5.512-0.8127 1.802-1.9434 3.4273-3.392 4.876-1.7667 1.8373-3.657 3.0033-5.671 3.498-2.014 0.49467-4.0987 0.742-6.254 0.742h-6.36l-2.014 10.07h-7.367l7.579-38.001m6.201 6.042-3.18 15.9c0.21199 0.0353 0.42399 0.053 0.636 0.053h0.742c3.392 0.0353 6.2186-0.30033 8.48-1.007 2.2613-0.74199 3.7806-3.3213 4.558-7.738 0.63597-3.71-0.00003-5.8476-1.908-6.413-1.8727-0.56531-4.2224-0.83031-7.049-0.795-0.42402 0.0353-0.83035 0.053-1.219 0.053-0.35335 0.00002-0.72435 0.00002-1.113 0l0.053-0.053\" />\n </g>\n </g>\n </svg>\n )\n }\n\n if (language === 'json') {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n viewBox=\"0 0 160 160\"\n >\n <defs>\n <linearGradient id=\"a\">\n <stop offset=\"0\" />\n <stop offset=\"1\" stopColor=\"#fff\" />\n </linearGradient>\n <linearGradient\n x1=\"-553.27\"\n y1=\"525.908\"\n x2=\"-666.116\"\n y2=\"413.045\"\n id=\"c\"\n xlinkHref=\"#a\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(.99884 0 0 .9987 689.008 -388.844)\"\n />\n <linearGradient\n x1=\"-666.117\"\n y1=\"413.045\"\n x2=\"-553.27\"\n y2=\"525.908\"\n id=\"b\"\n xlinkHref=\"#a\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(.99884 0 0 .9987 689.008 -388.844)\"\n />\n </defs>\n <path\n d=\"M79.865 119.1c35.397 48.255 70.04-13.469 69.988-50.587-.06-43.886-44.54-68.414-70.017-68.414C38.943.1 0 33.895 0 80.135 0 131.531 44.64 160 79.836 160c-7.965-1.147-34.507-6.834-34.863-67.967-.24-41.346 13.487-57.865 34.805-50.599.477.177 23.514 9.265 23.514 38.95 0 29.56-23.427 38.716-23.427 38.716z\"\n style={{marker: 'none'}}\n color=\"#000\"\n fill=\"url(#b)\"\n fillRule=\"evenodd\"\n overflow=\"visible\"\n />\n <path\n d=\"M79.823 41.4C56.433 33.34 27.78 52.618 27.78 91.23c0 63.048 46.72 68.77 52.384 68.77C121.057 160 160 126.204 160 79.964 160 28.568 115.36.1 80.164.1c9.749-1.35 52.541 10.55 52.541 69.037 0 38.141-31.953 58.905-52.735 50.033-.478-.177-23.514-9.264-23.514-38.95 0-29.56 23.367-38.818 23.367-38.818z\"\n style={{marker: 'none'}}\n color=\"#000\"\n fill=\"url(#c)\"\n fillRule=\"evenodd\"\n overflow=\"visible\"\n />\n </svg>\n )\n }\n\n return undefined\n}\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../../"}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -1,27 +1,16 @@
|
|
|
1
|
-
import { ObjectInputProps } from "sanity
|
|
2
|
-
import { ObjectSchemaType } from "sanity";
|
|
1
|
+
import { ObjectSchemaType, ObjectInputProps, ObjectDefinition } from "sanity";
|
|
3
2
|
import { ThemeColorSchemeKey } from "@sanity/ui";
|
|
3
|
+
/**
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
4
6
|
export interface CodeInputLanguage {
|
|
5
7
|
title: string;
|
|
6
8
|
value: string;
|
|
7
9
|
mode?: string;
|
|
8
10
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
description?: string;
|
|
13
|
-
fields: {
|
|
14
|
-
name: string;
|
|
15
|
-
title?: string;
|
|
16
|
-
placeholder?: string;
|
|
17
|
-
}[];
|
|
18
|
-
options?: {
|
|
19
|
-
theme?: string;
|
|
20
|
-
languageAlternatives: CodeInputLanguage[];
|
|
21
|
-
language: string;
|
|
22
|
-
withFilename?: boolean;
|
|
23
|
-
};
|
|
24
|
-
}
|
|
11
|
+
/**
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
25
14
|
export interface CodeInputValue {
|
|
26
15
|
_type?: 'code';
|
|
27
16
|
code?: string;
|
|
@@ -29,26 +18,75 @@ export interface CodeInputValue {
|
|
|
29
18
|
language?: string;
|
|
30
19
|
highlightedLines?: number[];
|
|
31
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
export interface CodeOptions {
|
|
25
|
+
theme?: string;
|
|
26
|
+
darkTheme?: string;
|
|
27
|
+
languageAlternatives?: CodeInputLanguage[];
|
|
28
|
+
language?: string;
|
|
29
|
+
withFilename?: boolean;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* @public
|
|
33
|
+
*/
|
|
32
34
|
export type CodeSchemaType = Omit<ObjectSchemaType, 'options'> & {
|
|
33
|
-
options?:
|
|
34
|
-
theme?: string;
|
|
35
|
-
darkTheme?: string;
|
|
36
|
-
languageAlternatives: CodeInputLanguage[];
|
|
37
|
-
language: string;
|
|
38
|
-
withFilename?: boolean;
|
|
39
|
-
};
|
|
35
|
+
options?: CodeOptions;
|
|
40
36
|
};
|
|
37
|
+
/**
|
|
38
|
+
* @public
|
|
39
|
+
*/
|
|
41
40
|
export type CodeInputProps = ObjectInputProps<CodeInputValue, CodeSchemaType> & {
|
|
42
41
|
/** @internal */
|
|
43
42
|
colorScheme?: ThemeColorSchemeKey;
|
|
44
43
|
};
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
/**
|
|
45
|
+
* @public
|
|
46
|
+
*/
|
|
47
|
+
export interface PreviewCodeProps {
|
|
48
|
+
type?: CodeSchemaType;
|
|
47
49
|
value?: {
|
|
48
50
|
selection?: CodeInputValue;
|
|
49
51
|
};
|
|
50
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* @public
|
|
55
|
+
*/
|
|
51
56
|
export function PreviewCode(props: PreviewCodeProps): JSX.Element;
|
|
57
|
+
/**
|
|
58
|
+
* @public
|
|
59
|
+
*/
|
|
60
|
+
export const codeTypeName: "code";
|
|
61
|
+
/**
|
|
62
|
+
* @public
|
|
63
|
+
*/
|
|
64
|
+
export interface CodeDefinition extends Omit<ObjectDefinition, 'type' | 'fields' | 'options'> {
|
|
65
|
+
type: typeof codeTypeName;
|
|
66
|
+
options?: CodeOptions;
|
|
67
|
+
}
|
|
68
|
+
declare module '@sanity/types' {
|
|
69
|
+
interface IntrinsicDefinitions {
|
|
70
|
+
code: CodeDefinition;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* @public
|
|
75
|
+
*/
|
|
76
|
+
export const codeSchema: {
|
|
77
|
+
type: "object";
|
|
78
|
+
name: "code";
|
|
79
|
+
} & Omit<ObjectDefinition, "preview"> & {
|
|
80
|
+
preview?: import("sanity").PreviewConfig<{
|
|
81
|
+
language: string;
|
|
82
|
+
code: string;
|
|
83
|
+
filename: string;
|
|
84
|
+
highlightedLines: string;
|
|
85
|
+
}, Record<"code" | "language" | "filename" | "highlightedLines", any>> | undefined;
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* @public
|
|
89
|
+
*/
|
|
52
90
|
export const codeInput: import("sanity").Plugin<void>;
|
|
53
91
|
|
|
54
92
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"
|
|
1
|
+
{"mappings":";;ACAA;;GAEG;AACH;IACE,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH;IACE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B;AKsCD;;GAEG;AACH;IACE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oBAAoB,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED;;GAEG;AACH,6BAA6B,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,GAAG;IAC/D,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB,CAAA;AAED;;GAEG;AACH,6BAA6B,iBAAiB,cAAc,EAAE,cAAc,CAAC,GAAG;IAC9E,gBAAgB;IAChB,WAAW,CAAC,EAAE,mBAAmB,CAAA;CAClC,CAAA;ACpDD;;GAEG;AACH;IACE,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,KAAK,CAAC,EAAE;QAAC,SAAS,CAAC,EAAE,cAAc,CAAA;KAAC,CAAA;CACrC;AAED;;GAEG;AACH,4BAAoC,KAAK,EAAE,gBAAgB,eA4D1D;AExFD;;GAEG;AACH,OAAO,MAAM,oBAA8B,CAAA;AAE3C;;GAEG;AACH,+BAAgC,SAAQ,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC3F,IAAI,EAAE,mBAAmB,CAAA;IACzB,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB;AAED,eAAe,eAAe,CAAC;IAE7B,UAAiB,oBAAoB;QACnC,IAAI,EAAE,cAAc,CAAA;KACrB;CACF;AAED;;GAEG;AACH,OAAO,MAAM;;;;;;;;;;CAsDX,CAAA;AC7EF;;GAEG;AACH,OAAO,MAAM,wCAGX,CAAA","sources":["src/src/createHighlightMarkers.ts","src/src/types.ts","src/src/config.ts","src/src/ace-editor/groq.ts","src/src/ace-editor/editorSupport.ts","src/src/ace-editor/AceEditorLazy.tsx","src/src/CodeInput.tsx","src/src/PreviewCode.tsx","src/src/getMedia.tsx","src/src/schema.tsx","src/src/index.ts","src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,"import {createPlugin} from 'sanity'\n\nimport {codeSchema, codeTypeName, CodeDefinition} from './schema'\nimport PreviewCode, {PreviewCodeProps} from './PreviewCode'\nexport type {CodeInputProps, CodeSchemaType, CodeOptions} from './CodeInput'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\n\nexport {PreviewCode, type PreviewCodeProps}\nexport {codeSchema, codeTypeName}\nexport type {CodeDefinition}\n/**\n * @public\n */\nexport const codeInput = createPlugin({\n name: '@sanity/code-input',\n schema: {types: [codeSchema]},\n})\n"],"names":[],"version":3,"file":"index.d.ts.map","sourceRoot":"../../"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sanity/code-input",
|
|
3
|
-
"version": "3.0.0-v3-studio.
|
|
3
|
+
"version": "3.0.0-v3-studio.11",
|
|
4
4
|
"description": "Ace editor for editing code",
|
|
5
5
|
"source": "./src/index.ts",
|
|
6
6
|
"exports": {
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
],
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@sanity/icons": "^1.2.8",
|
|
48
|
-
"@sanity/incompatible-plugin": "^1.0.
|
|
48
|
+
"@sanity/incompatible-plugin": "^1.0.4",
|
|
49
49
|
"@sanity/ui": "^0.38.2",
|
|
50
50
|
"ace-builds": "^1.9.5",
|
|
51
51
|
"react-ace": "^10.1.0"
|
|
@@ -55,13 +55,13 @@
|
|
|
55
55
|
"@babel/preset-react": "^7.18.6",
|
|
56
56
|
"@commitlint/cli": "^17.1.2",
|
|
57
57
|
"@commitlint/config-conventional": "^17.1.0",
|
|
58
|
-
"@parcel/packager-ts": "
|
|
59
|
-
"@parcel/transformer-typescript-types": "
|
|
58
|
+
"@parcel/packager-ts": "2.6.2",
|
|
59
|
+
"@parcel/transformer-typescript-types": "2.6.2",
|
|
60
60
|
"@sanity/plugin-kit": "^1.1.0-ecosystem-preset.5",
|
|
61
61
|
"@sanity/semantic-release-preset": "^2.0.1",
|
|
62
62
|
"@testing-library/jest-dom": "^5.16.5",
|
|
63
|
-
"@testing-library/react": "^
|
|
64
|
-
"@types/jest": "^
|
|
63
|
+
"@testing-library/react": "^13.4.0",
|
|
64
|
+
"@types/jest": "^29.1.2",
|
|
65
65
|
"@types/styled-components": "^5.1.25",
|
|
66
66
|
"@typescript-eslint/eslint-plugin": "^5.12.0",
|
|
67
67
|
"@typescript-eslint/parser": "^5.12.0",
|
|
@@ -75,19 +75,19 @@
|
|
|
75
75
|
"jest": "^28.1.3",
|
|
76
76
|
"jest-environment-jsdom": "^28.1.3",
|
|
77
77
|
"lint-staged": "^13.0.3",
|
|
78
|
-
"parcel": "
|
|
78
|
+
"parcel": "2.6.2",
|
|
79
79
|
"prettier": "^2.6.2",
|
|
80
|
-
"react": "^
|
|
81
|
-
"react-dom": "^
|
|
80
|
+
"react": "^18.0.0",
|
|
81
|
+
"react-dom": "^18.0.0",
|
|
82
82
|
"rimraf": "^3.0.2",
|
|
83
|
-
"sanity": "3.0.0-dev-preview.
|
|
83
|
+
"sanity": "3.0.0-dev-preview.21",
|
|
84
84
|
"styled-components": "^5.2.0",
|
|
85
85
|
"ts-jest": "^28.0.7",
|
|
86
86
|
"typescript": "4.7.4"
|
|
87
87
|
},
|
|
88
88
|
"peerDependencies": {
|
|
89
|
-
"react": "^
|
|
90
|
-
"react-dom": "^
|
|
89
|
+
"react": "^18.0.0",
|
|
90
|
+
"react-dom": "^18.0.0",
|
|
91
91
|
"sanity": "dev-preview",
|
|
92
92
|
"styled-components": "^5.2.0"
|
|
93
93
|
},
|
package/src/CodeInput.tsx
CHANGED
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
/* eslint-disable react/jsx-handler-names */
|
|
2
2
|
import React, {Suspense, useCallback, useEffect, useImperativeHandle, useMemo, useRef} from 'react'
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import {
|
|
4
|
+
InputProps,
|
|
5
|
+
ObjectSchemaType,
|
|
6
|
+
StringInputProps,
|
|
7
|
+
useColorScheme,
|
|
8
|
+
FieldMember,
|
|
9
|
+
MemberField,
|
|
10
|
+
ObjectInputProps,
|
|
11
|
+
set,
|
|
12
|
+
setIfMissing,
|
|
13
|
+
unset,
|
|
14
|
+
} from 'sanity'
|
|
5
15
|
import {Card, Select, Stack, ThemeColorSchemeKey} from '@sanity/ui'
|
|
6
16
|
import styled from 'styled-components'
|
|
7
17
|
import createHighlightMarkers, {highlightMarkersCSS} from './createHighlightMarkers'
|
|
@@ -44,16 +54,27 @@ const EditorContainer = styled(Card)`
|
|
|
44
54
|
}
|
|
45
55
|
`
|
|
46
56
|
|
|
57
|
+
/**
|
|
58
|
+
* @public
|
|
59
|
+
*/
|
|
60
|
+
export interface CodeOptions {
|
|
61
|
+
theme?: string
|
|
62
|
+
darkTheme?: string
|
|
63
|
+
languageAlternatives?: CodeInputLanguage[]
|
|
64
|
+
language?: string
|
|
65
|
+
withFilename?: boolean
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* @public
|
|
70
|
+
*/
|
|
47
71
|
export type CodeSchemaType = Omit<ObjectSchemaType, 'options'> & {
|
|
48
|
-
options?:
|
|
49
|
-
theme?: string
|
|
50
|
-
darkTheme?: string
|
|
51
|
-
languageAlternatives: CodeInputLanguage[]
|
|
52
|
-
language: string
|
|
53
|
-
withFilename?: boolean
|
|
54
|
-
}
|
|
72
|
+
options?: CodeOptions
|
|
55
73
|
}
|
|
56
74
|
|
|
75
|
+
/**
|
|
76
|
+
* @public
|
|
77
|
+
*/
|
|
57
78
|
export type CodeInputProps = ObjectInputProps<CodeInputValue, CodeSchemaType> & {
|
|
58
79
|
/** @internal */
|
|
59
80
|
colorScheme?: ThemeColorSchemeKey
|
|
@@ -247,7 +268,7 @@ export function CodeInput(props: CodeInputProps) {
|
|
|
247
268
|
const mode = configured?.mode || (supported ? language : 'text')
|
|
248
269
|
|
|
249
270
|
const renderLanguageInput = useCallback(
|
|
250
|
-
(inputProps: InputProps) => {
|
|
271
|
+
(inputProps: Omit<InputProps, 'renderDefault'>) => {
|
|
251
272
|
return (
|
|
252
273
|
<Select
|
|
253
274
|
{...(inputProps as StringInputProps)}
|
package/src/PreviewCode.tsx
CHANGED
|
@@ -3,8 +3,9 @@ import styled from 'styled-components'
|
|
|
3
3
|
import {Box} from '@sanity/ui'
|
|
4
4
|
import {ACE_EDITOR_PROPS, ACE_SET_OPTIONS} from './config'
|
|
5
5
|
import createHighlightMarkers from './createHighlightMarkers'
|
|
6
|
-
import {
|
|
6
|
+
import {CodeInputValue} from './types'
|
|
7
7
|
import {useAceEditor} from './ace-editor/AceEditorLazy'
|
|
8
|
+
import {CodeSchemaType} from './CodeInput'
|
|
8
9
|
|
|
9
10
|
const PreviewContainer = styled(Box)`
|
|
10
11
|
position: relative;
|
|
@@ -25,11 +26,17 @@ const PreviewInner = styled(Box)`
|
|
|
25
26
|
}
|
|
26
27
|
`
|
|
27
28
|
|
|
29
|
+
/**
|
|
30
|
+
* @public
|
|
31
|
+
*/
|
|
28
32
|
export interface PreviewCodeProps {
|
|
29
|
-
type?:
|
|
33
|
+
type?: CodeSchemaType
|
|
30
34
|
value?: {selection?: CodeInputValue}
|
|
31
35
|
}
|
|
32
36
|
|
|
37
|
+
/**
|
|
38
|
+
* @public
|
|
39
|
+
*/
|
|
33
40
|
export default function PreviewCode(props: PreviewCodeProps) {
|
|
34
41
|
const aceEditorRef = useRef<any>()
|
|
35
42
|
|
package/src/index.ts
CHANGED
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import {createPlugin} from 'sanity'
|
|
2
|
-
import schema from './schema'
|
|
3
|
-
import PreviewCode from './PreviewCode'
|
|
4
2
|
|
|
5
|
-
|
|
3
|
+
import {codeSchema, codeTypeName, CodeDefinition} from './schema'
|
|
4
|
+
import PreviewCode, {PreviewCodeProps} from './PreviewCode'
|
|
5
|
+
export type {CodeInputProps, CodeSchemaType, CodeOptions} from './CodeInput'
|
|
6
|
+
|
|
6
7
|
export type {CodeInputLanguage, CodeInputValue} from './types'
|
|
7
|
-
export {PreviewCode}
|
|
8
8
|
|
|
9
|
+
export {PreviewCode, type PreviewCodeProps}
|
|
10
|
+
export {codeSchema, codeTypeName}
|
|
11
|
+
export type {CodeDefinition}
|
|
12
|
+
/**
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
9
15
|
export const codeInput = createPlugin({
|
|
10
16
|
name: '@sanity/code-input',
|
|
11
|
-
schema: {types: [
|
|
17
|
+
schema: {types: [codeSchema]},
|
|
12
18
|
})
|
package/src/schema.tsx
CHANGED
|
@@ -1,15 +1,38 @@
|
|
|
1
1
|
import {CodeBlockIcon} from '@sanity/icons'
|
|
2
|
-
import {CodeInput} from './CodeInput'
|
|
2
|
+
import {CodeInput, CodeOptions} from './CodeInput'
|
|
3
3
|
import PreviewCode, {PreviewCodeProps} from './PreviewCode'
|
|
4
4
|
import {getMedia} from './getMedia'
|
|
5
|
-
import {defineType} from 'sanity'
|
|
5
|
+
import {defineType, ObjectDefinition} from 'sanity'
|
|
6
6
|
|
|
7
7
|
export type {CodeInputProps, CodeSchemaType} from './CodeInput'
|
|
8
8
|
|
|
9
9
|
export type {CodeInputLanguage, CodeInputValue} from './types'
|
|
10
10
|
export type {PreviewCode, PreviewCodeProps, CodeInput}
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
/**
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
export const codeTypeName = 'code' as const
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @public
|
|
19
|
+
*/
|
|
20
|
+
export interface CodeDefinition extends Omit<ObjectDefinition, 'type' | 'fields' | 'options'> {
|
|
21
|
+
type: typeof codeTypeName
|
|
22
|
+
options?: CodeOptions
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
declare module '@sanity/types' {
|
|
26
|
+
// makes type: 'code' narrow correctly when using defineType/defineField/defineArrayMember
|
|
27
|
+
export interface IntrinsicDefinitions {
|
|
28
|
+
code: CodeDefinition
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* @public
|
|
34
|
+
*/
|
|
35
|
+
export const codeSchema = defineType({
|
|
13
36
|
name: 'code',
|
|
14
37
|
type: 'object',
|
|
15
38
|
title: 'Code',
|
package/src/types.ts
CHANGED
|
@@ -1,22 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @public
|
|
3
|
+
*/
|
|
1
4
|
export interface CodeInputLanguage {
|
|
2
5
|
title: string
|
|
3
6
|
value: string
|
|
4
7
|
mode?: string
|
|
5
8
|
}
|
|
6
9
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
description?: string
|
|
11
|
-
fields: {name: string; title?: string; placeholder?: string}[]
|
|
12
|
-
options?: {
|
|
13
|
-
theme?: string
|
|
14
|
-
languageAlternatives: CodeInputLanguage[]
|
|
15
|
-
language: string
|
|
16
|
-
withFilename?: boolean
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
10
|
+
/**
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
20
13
|
export interface CodeInputValue {
|
|
21
14
|
_type?: 'code'
|
|
22
15
|
code?: string
|