@sanity/code-input 3.0.0-v3-studio.11 → 3.0.0-v3-studio.12
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 +3 -3
- package/lib/cjs/index.js.map +1 -1
- package/lib/esm/index.js +3 -3
- package/lib/esm/index.js.map +1 -1
- package/lib/types/index.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/CodeInput.tsx +6 -5
package/lib/cjs/index.js
CHANGED
|
@@ -256,7 +256,7 @@ function $293e4fb68be52bc5$var$isSupportedLanguage(mode) {
|
|
|
256
256
|
return false;
|
|
257
257
|
}
|
|
258
258
|
function $293e4fb68be52bc5$export$20d4ca75cb144ab0(props) {
|
|
259
|
-
const { members: members , elementProps: elementProps , onChange: onChange ,
|
|
259
|
+
const { members: members , elementProps: elementProps , onChange: onChange , readOnly: readOnly , renderField: renderField , renderInput: renderInput , renderItem: renderItem , renderPreview: renderPreview , schemaType: type , value: value , onPathFocus: onPathFocus , } = props;
|
|
260
260
|
const aceEditorRef = (0, $k7rGe$react.useRef)();
|
|
261
261
|
const fieldMembers = (0, $k7rGe$react.useMemo)(()=>members.filter((member)=>member.kind === "field"), [
|
|
262
262
|
members
|
|
@@ -270,9 +270,9 @@ function $293e4fb68be52bc5$export$20d4ca75cb144ab0(props) {
|
|
|
270
270
|
}
|
|
271
271
|
}));
|
|
272
272
|
const handleCodeFocus = (0, $k7rGe$react.useCallback)(()=>{
|
|
273
|
-
|
|
273
|
+
onPathFocus((0, $8fdae771dbccc774$export$e1d3cf7d57c23d0f));
|
|
274
274
|
}, [
|
|
275
|
-
|
|
275
|
+
onPathFocus
|
|
276
276
|
]);
|
|
277
277
|
const { scheme: scheme } = (0, $k7rGe$sanity.useColorScheme)();
|
|
278
278
|
const theme = (0, $k7rGe$react.useMemo)(()=>{
|
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;;;AHcD,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;AA4BD,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,iBAAG,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,0BAAY,CAAA,CAAC;gBAAC,KAAK,EAAE,IAAI,CAAC,IAAI;gBAAE,QAAQ,EAAE,aAAa;aAAC,CAAC;YACzD,IAAI,GAAG,CAAA,GAAA,iBAAG,CAAA,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAA,GAAA,mBAAK,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,cAAa,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ;IAE5C,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAQ,IAAI,cAAa;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,KAAI,GAAG,UAAU,EAAE,IAAI,IAAK,CAAA,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA,AAAC;IAEhE,MAAM,mBAAmB,GAAG,CAAA,GAAA,wBAAW,CAAA,CACrC,CAAC,UAA6C,GAAK;QACjD,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,iBAAG,CAAA,CAAC,QAAQ,CAAC,GAAG,CAAA,GAAA,mBAAK,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,KAAI;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,KAAI;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,yBAAW,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,yBAAW,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,yBAAW,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;;;AInXD;;;;;;;AASA,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;AAac,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;;;ACnGD;;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;;;;ANhFM,MAAM,yCAAY,GAAG,MAAM,AAAS;AAoBpC,MAAM,yCAAU,GAAG,CAAA,GAAA,wBAAU,CAAA,CAAC;IACnC,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;;;;AD1EK,MAAM,yCAAS,GAAG,CAAA,GAAA,0BAAY,CAAA,CAAC;IACpC,IAAI,EAAE,oBAAoB;IAC1B,MAAM,EAAE;QAAC,KAAK,EAAE;YAAC,CAAA,GAAA,yCAAU,CAAA;SAAC;KAAC;CAC9B,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'\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":"../../"}
|
|
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;;;AHeD,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;AA4BD,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,YACR,QAAQ,CAAA,eACR,WAAW,CAAA,eACX,WAAW,CAAA,cACX,UAAU,CAAA,iBACV,aAAa,CAAA,EACb,UAAU,EAAE,IAAI,CAAA,SAChB,KAAK,CAAA,eACL,WAAW,CAAA,IACZ,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,iBAAG,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,0BAAY,CAAA,CAAC;gBAAC,KAAK,EAAE,IAAI,CAAC,IAAI;gBAAE,QAAQ,EAAE,aAAa;aAAC,CAAC;YACzD,IAAI,GAAG,CAAA,GAAA,iBAAG,CAAA,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAA,GAAA,mBAAK,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,cAAa,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ;IAE5C,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAQ,IAAI,cAAa;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,KAAI,GAAG,UAAU,EAAE,IAAI,IAAK,CAAA,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA,AAAC;IAEhE,MAAM,mBAAmB,GAAG,CAAA,GAAA,wBAAW,CAAA,CACrC,CAAC,UAA6C,GAAK;QACjD,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,iBAAG,CAAA,CAAC,QAAQ,CAAC,GAAG,CAAA,GAAA,mBAAK,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,GAAwB,CAAA,GAAA,wBAAW,CAAA,CACtD,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,KAAI;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,KAAI;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,yBAAW,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,yBAAW,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,yBAAW,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;;;AIpXD;;;;;;;AASA,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;AAac,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;;;ACnGD;;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;;;;ANhFM,MAAM,yCAAY,GAAG,MAAM,AAAS;AAoBpC,MAAM,yCAAU,GAAG,CAAA,GAAA,wBAAU,CAAA,CAAC;IACnC,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;;;;AD1EK,MAAM,yCAAS,GAAG,CAAA,GAAA,0BAAY,CAAA,CAAC;IACpC,IAAI,EAAE,oBAAoB;IAC1B,MAAM,EAAE;QAAC,KAAK,EAAE;YAAC,CAAA,GAAA,yCAAU,CAAA;SAAC;KAAC;CAC9B,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'\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 RenderInputCallback,\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 readOnly,\n renderField,\n renderInput,\n renderItem,\n renderPreview,\n schemaType: type,\n value,\n onPathFocus,\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 onPathFocus(PATH_CODE)\n }, [onPathFocus])\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: RenderInputCallback = 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 as string}\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
|
@@ -245,7 +245,7 @@ function $a1d4bfd2763f687f$var$isSupportedLanguage(mode) {
|
|
|
245
245
|
return false;
|
|
246
246
|
}
|
|
247
247
|
function $a1d4bfd2763f687f$export$20d4ca75cb144ab0(props) {
|
|
248
|
-
const { members: members , elementProps: elementProps , onChange: onChange ,
|
|
248
|
+
const { members: members , elementProps: elementProps , onChange: onChange , readOnly: readOnly , renderField: renderField , renderInput: renderInput , renderItem: renderItem , renderPreview: renderPreview , schemaType: type , value: value , onPathFocus: onPathFocus , } = props;
|
|
249
249
|
const aceEditorRef = (0, $gGrEF$useRef)();
|
|
250
250
|
const fieldMembers = (0, $gGrEF$useMemo)(()=>members.filter((member)=>member.kind === "field"), [
|
|
251
251
|
members
|
|
@@ -259,9 +259,9 @@ function $a1d4bfd2763f687f$export$20d4ca75cb144ab0(props) {
|
|
|
259
259
|
}
|
|
260
260
|
}));
|
|
261
261
|
const handleCodeFocus = (0, $gGrEF$useCallback)(()=>{
|
|
262
|
-
|
|
262
|
+
onPathFocus((0, $513a6452b1f07fd5$export$e1d3cf7d57c23d0f));
|
|
263
263
|
}, [
|
|
264
|
-
|
|
264
|
+
onPathFocus
|
|
265
265
|
]);
|
|
266
266
|
const { scheme: scheme } = (0, $gGrEF$useColorScheme)();
|
|
267
267
|
const theme = (0, $gGrEF$useMemo)(()=>{
|
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'\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":"../../"}
|
|
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 RenderInputCallback,\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 readOnly,\n renderField,\n renderInput,\n renderItem,\n renderPreview,\n schemaType: type,\n value,\n onPathFocus,\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 onPathFocus(PATH_CODE)\n }, [onPathFocus])\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: RenderInputCallback = 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 as string}\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.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;AKuCD;;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;ACrDD;;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.12",
|
|
4
4
|
"description": "Ace editor for editing code",
|
|
5
5
|
"source": "./src/index.ts",
|
|
6
6
|
"exports": {
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@sanity/icons": "^1.2.8",
|
|
48
48
|
"@sanity/incompatible-plugin": "^1.0.4",
|
|
49
|
-
"@sanity/ui": "^0.
|
|
49
|
+
"@sanity/ui": "^1.0.0-beta.31",
|
|
50
50
|
"ace-builds": "^1.9.5",
|
|
51
51
|
"react-ace": "^10.1.0"
|
|
52
52
|
},
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"react": "^18.0.0",
|
|
81
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.22",
|
|
84
84
|
"styled-components": "^5.2.0",
|
|
85
85
|
"ts-jest": "^28.0.7",
|
|
86
86
|
"typescript": "4.7.4"
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
"peerDependencies": {
|
|
89
89
|
"react": "^18.0.0",
|
|
90
90
|
"react-dom": "^18.0.0",
|
|
91
|
-
"sanity": "dev-preview",
|
|
91
|
+
"sanity": "dev-preview || 3.0.0-dev-preview.22",
|
|
92
92
|
"styled-components": "^5.2.0"
|
|
93
93
|
},
|
|
94
94
|
"bugs": {
|
package/src/CodeInput.tsx
CHANGED
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
set,
|
|
12
12
|
setIfMissing,
|
|
13
13
|
unset,
|
|
14
|
+
RenderInputCallback,
|
|
14
15
|
} from 'sanity'
|
|
15
16
|
import {Card, Select, Stack, ThemeColorSchemeKey} from '@sanity/ui'
|
|
16
17
|
import styled from 'styled-components'
|
|
@@ -101,7 +102,6 @@ export function CodeInput(props: CodeInputProps) {
|
|
|
101
102
|
members,
|
|
102
103
|
elementProps,
|
|
103
104
|
onChange,
|
|
104
|
-
onFocusPath,
|
|
105
105
|
readOnly,
|
|
106
106
|
renderField,
|
|
107
107
|
renderInput,
|
|
@@ -109,6 +109,7 @@ export function CodeInput(props: CodeInputProps) {
|
|
|
109
109
|
renderPreview,
|
|
110
110
|
schemaType: type,
|
|
111
111
|
value,
|
|
112
|
+
onPathFocus,
|
|
112
113
|
} = props
|
|
113
114
|
|
|
114
115
|
const aceEditorRef = useRef<any>()
|
|
@@ -129,8 +130,8 @@ export function CodeInput(props: CodeInputProps) {
|
|
|
129
130
|
}))
|
|
130
131
|
|
|
131
132
|
const handleCodeFocus = useCallback(() => {
|
|
132
|
-
|
|
133
|
-
}, [
|
|
133
|
+
onPathFocus(PATH_CODE)
|
|
134
|
+
}, [onPathFocus])
|
|
134
135
|
|
|
135
136
|
const {scheme} = useColorScheme()
|
|
136
137
|
|
|
@@ -290,7 +291,7 @@ export function CodeInput(props: CodeInputProps) {
|
|
|
290
291
|
|
|
291
292
|
const AceEditor = useAceEditor()
|
|
292
293
|
|
|
293
|
-
const renderCodeInput = useCallback(
|
|
294
|
+
const renderCodeInput: RenderInputCallback = useCallback(
|
|
294
295
|
(inputProps) => {
|
|
295
296
|
return (
|
|
296
297
|
<EditorContainer radius={1} shadow={1} readOnly={readOnly}>
|
|
@@ -303,7 +304,7 @@ export function CodeInput(props: CodeInputProps) {
|
|
|
303
304
|
width="100%"
|
|
304
305
|
onChange={handleCodeChange}
|
|
305
306
|
name={inputProps.id}
|
|
306
|
-
value={inputProps.value}
|
|
307
|
+
value={inputProps.value as string}
|
|
307
308
|
markers={
|
|
308
309
|
value && value.highlightedLines
|
|
309
310
|
? createHighlightMarkers(value.highlightedLines)
|