@sanity/code-input 3.0.0-v3-studio-async-test.0 → 3.0.0-v3-studio.8

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/README.md CHANGED
@@ -179,6 +179,15 @@ with default configuration for build & watch scripts.
179
179
  See [Testing a plugin in Sanity Studio](https://github.com/sanity-io/plugin-kit#testing-a-plugin-in-sanity-studio)
180
180
  on how to run this plugin with hotreload in the studio.
181
181
 
182
+ ### Dev note on parcel + vite in dev mode:
183
+ Vite will emit a warning when using yalc add + link in a Studio running with
184
+ vite dev server.
185
+ It happens because parcel appends ?currentTimestamp to the import statement for
186
+ cache busting, which is [not supported by vite](https://github.com/rollup/plugins/tree/master/packages/dynamic-import-vars#limitations).
187
+
188
+ However, the code _works_, and when building for production this is not an issue, as parcel
189
+ will not suffix the timestamp in the prod bundle.
190
+
182
191
  ## Release new version
183
192
 
184
193
  Run ["CI & Release" workflow](https://github.com/sanity-io/code-input/actions).
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 { focusRef: focusRef , members: members , onBlur: onBlur , onChange: onChange , onFocusPath: onFocusPath , readOnly: readOnly , renderField: renderField , renderInput: renderInput , renderItem: renderItem , renderPreview: renderPreview , schemaType: type , value: value , } = props;
259
+ const { members: members , elementProps: elementProps , onChange: onChange , onFocusPath: onFocusPath , readOnly: readOnly , renderField: renderField , renderInput: renderInput , renderItem: renderItem , renderPreview: renderPreview , schemaType: type , value: value , } = 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
@@ -264,7 +264,7 @@ function $293e4fb68be52bc5$export$20d4ca75cb144ab0(props) {
264
264
  const languageFieldMember = fieldMembers.find((member)=>member.name === "language");
265
265
  const filenameMember = fieldMembers.find((member)=>member.name === "filename");
266
266
  const codeFieldMember = fieldMembers.find((member)=>member.name === "code");
267
- (0, $k7rGe$react.useImperativeHandle)(focusRef, ()=>({
267
+ (0, $k7rGe$react.useImperativeHandle)(elementProps.ref, ()=>({
268
268
  focus: ()=>{
269
269
  aceEditorRef?.current?.editor?.focus();
270
270
  }
@@ -368,13 +368,13 @@ function $293e4fb68be52bc5$export$20d4ca75cb144ab0(props) {
368
368
  type
369
369
  ]);
370
370
  const languages = getLanguageAlternatives().slice();
371
- const fixedLanguage1 = type.options?.language;
372
- const language = value?.language || fixedLanguage1;
371
+ const fixedLanguage = type.options?.language;
372
+ const language = value?.language || fixedLanguage;
373
373
  // the language config from the schema
374
374
  const configured = languages.find((entry)=>entry.value === language);
375
375
  // is the language officially supported (e.g. we import the mode by default)
376
376
  const supported = language && $293e4fb68be52bc5$var$isSupportedLanguage(language);
377
- const mode1 = configured?.mode || (supported ? language : "text");
377
+ const mode = configured?.mode || (supported ? language : "text");
378
378
  const renderLanguageInput = (0, $k7rGe$react.useCallback)((inputProps)=>{
379
379
  return /*#__PURE__*/ (0, $k7rGe$reactjsxruntime.jsx)((0, $k7rGe$sanityui.Select), {
380
380
  ...inputProps,
@@ -402,7 +402,7 @@ function $293e4fb68be52bc5$export$20d4ca75cb144ab0(props) {
402
402
  }),
403
403
  children: /*#__PURE__*/ (0, $k7rGe$reactjsxruntime.jsx)(AceEditor, {
404
404
  ref: aceEditorRef,
405
- mode: mode1,
405
+ mode: mode,
406
406
  theme: theme,
407
407
  width: "100%",
408
408
  onChange: handleCodeChange,
@@ -416,7 +416,7 @@ function $293e4fb68be52bc5$export$20d4ca75cb144ab0(props) {
416
416
  setOptions: (0, $8fdae771dbccc774$export$1d910bb34606e145),
417
417
  editorProps: (0, $8fdae771dbccc774$export$24aa1be5d8c3cd08),
418
418
  onFocus: handleCodeFocus,
419
- onBlur: onBlur
419
+ onBlur: elementProps.onBlur
420
420
  })
421
421
  })
422
422
  });
@@ -426,8 +426,8 @@ function $293e4fb68be52bc5$export$20d4ca75cb144ab0(props) {
426
426
  handleCodeChange,
427
427
  handleCodeFocus,
428
428
  handleEditorLoad,
429
- mode1,
430
- onBlur,
429
+ mode,
430
+ elementProps.onBlur,
431
431
  readOnly,
432
432
  value,
433
433
  ]);
@@ -1 +1 @@
1
- {"mappings":"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","sources":["node_modules/@parcel/runtime-js/lib/runtime-3c15e3c40a574462.js","src/index.ts","src/schema.tsx","src/CodeInput.tsx","src/createHighlightMarkers.ts","src/config.ts","src/ace-editor/AceEditorLazy.tsx","src/PreviewCode.tsx","src/getMedia.tsx"],"sourcesContent":["module.exports = (Promise.resolve(__parcel__require__(\"./\" + \"editorSupport.bbd31eae.js\"))).then(() => parcelRequire('lMYyH'));","import {createPlugin} from 'sanity'\nimport schema from './schema'\nimport PreviewCode from './PreviewCode'\n\nexport type {CodeInputProps, CodeSchemaType} from './CodeInput'\nexport type {CodeInputLanguage, CodeInputValue} from './types'\nexport {PreviewCode}\n\nexport const codeInput = createPlugin({\n name: '@sanity/code-input',\n schema: {types: [schema]},\n})\n","import {CodeBlockIcon} from '@sanity/icons'\nimport {CodeInput} from './CodeInput'\nimport PreviewCode, {PreviewCodeProps} from './PreviewCode'\nimport {getMedia} from './getMedia'\nimport {defineType} from 'sanity'\n\nexport type {CodeInputProps, CodeSchemaType} from './CodeInput'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\nexport type {PreviewCode, PreviewCodeProps, CodeInput}\n\nexport default defineType({\n name: 'code',\n type: 'object',\n title: 'Code',\n components: {input: CodeInput, preview: PreviewCode},\n icon: CodeBlockIcon,\n fields: [\n {\n name: 'language',\n title: 'Language',\n type: 'string',\n },\n {\n name: 'filename',\n title: 'Filename',\n type: 'string',\n },\n {\n title: 'Code',\n name: 'code',\n type: 'text',\n },\n {\n title: 'Highlighted lines',\n name: 'highlightedLines',\n type: 'array',\n of: [\n {\n type: 'number',\n title: 'Highlighted line',\n },\n ],\n },\n ],\n preview: {\n select: {\n language: 'language',\n code: 'code',\n filename: 'filename',\n highlightedLines: 'highlightedLines',\n },\n prepare: (value: {\n language?: string\n code?: string\n filename?: string\n highlightedLines?: number[]\n }) => {\n return {\n title: value.filename || (value.language || 'unknown').toUpperCase(),\n media: getMedia(value?.language),\n }\n },\n },\n})\n","/* eslint-disable react/jsx-handler-names */\nimport React, {Suspense, useCallback, useEffect, useImperativeHandle, useMemo, useRef} from 'react'\nimport {FieldMember, MemberField, ObjectInputProps, set, setIfMissing, unset} from 'sanity/form'\nimport {InputProps, ObjectSchemaType, StringInputProps, useColorScheme} from 'sanity'\nimport {Card, Select, Stack, ThemeColorSchemeKey} from '@sanity/ui'\nimport styled from 'styled-components'\nimport createHighlightMarkers, {highlightMarkersCSS} from './createHighlightMarkers'\nimport {CodeInputLanguage, CodeInputValue} from './types'\nimport {\n ACE_EDITOR_PROPS,\n ACE_SET_OPTIONS,\n DEFAULT_DARK_THEME,\n DEFAULT_THEME,\n LANGUAGE_ALIASES,\n PATH_CODE,\n SUPPORTED_LANGUAGES,\n SUPPORTED_THEMES,\n} from './config'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\n\nconst EditorContainer = styled(Card)`\n position: relative;\n box-sizing: border-box;\n overflow: hidden;\n z-index: 0;\n\n .ace_editor {\n font-family: ${({theme}) => theme.sanity.fonts.code.family};\n font-size: ${({theme}) => theme.sanity.fonts.code.sizes[1]};\n line-height: inherit;\n }\n\n ${highlightMarkersCSS}\n\n &:not([disabled]):not([readonly]) {\n &:focus,\n &:focus-within {\n box-shadow: 0 0 0 2px ${({theme}) => theme.sanity.color.base.focusRing};\n background-color: ${({theme}) => theme.sanity.color.base.bg};\n border-color: ${({theme}) => theme.sanity.color.base.focusRing};\n }\n }\n`\n\nexport type CodeSchemaType = Omit<ObjectSchemaType, 'options'> & {\n options?: {\n theme?: string\n darkTheme?: string\n languageAlternatives: CodeInputLanguage[]\n language: string\n withFilename?: boolean\n }\n}\n\nexport type CodeInputProps = ObjectInputProps<CodeInputValue, CodeSchemaType> & {\n /** @internal */\n colorScheme?: ThemeColorSchemeKey\n}\n\n// Returns a string with the mode name if supported (because aliases), otherwise false\nfunction isSupportedLanguage(mode: string) {\n const alias = LANGUAGE_ALIASES[mode]\n\n if (alias) {\n return alias\n }\n\n const isSupported = SUPPORTED_LANGUAGES.find((lang) => lang.value === mode)\n if (isSupported) {\n return mode\n }\n\n return false\n}\n\nexport function CodeInput(props: CodeInputProps) {\n const {\n focusRef,\n members,\n onBlur,\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(focusRef, () => ({\n focus: () => {\n aceEditorRef?.current?.editor?.focus()\n },\n }))\n\n const handleCodeFocus = useCallback(() => {\n onFocusPath(PATH_CODE)\n }, [onFocusPath])\n\n const {scheme} = useColorScheme()\n\n const theme = useMemo(() => {\n const isLight = scheme === 'light'\n const preferredTheme = isLight ? type.options?.theme : type.options?.darkTheme\n const defaultTheme = isLight ? DEFAULT_THEME : DEFAULT_DARK_THEME\n return preferredTheme && SUPPORTED_THEMES.find((t) => t === preferredTheme)\n ? preferredTheme\n : defaultTheme\n }, [type, scheme])\n\n const handleToggleSelectLine = useCallback(\n (lineNumber: number) => {\n const editorSession = aceEditorRef.current?.editor?.getSession()\n const backgroundMarkers = editorSession?.getMarkers(true)\n const currentHighlightedLines = Object.keys(backgroundMarkers)\n .filter((key) => backgroundMarkers[key].type === 'screenLine')\n .map((key) => backgroundMarkers[key].range.start.row)\n const currentIndex = currentHighlightedLines.indexOf(lineNumber)\n if (currentIndex > -1) {\n // toggle remove\n currentHighlightedLines.splice(currentIndex, 1)\n } else {\n // toggle add\n currentHighlightedLines.push(lineNumber)\n currentHighlightedLines.sort()\n }\n onChange(\n set(\n currentHighlightedLines.map(\n (line) =>\n // ace starts at line (row) 0, but we store it starting at line 1\n line + 1\n ),\n ['highlightedLines']\n )\n )\n },\n [aceEditorRef, onChange]\n )\n\n const handleGutterMouseDown = useCallback(\n (event: any) => {\n const target = event.domEvent.target\n if (target.classList.contains('ace_gutter-cell')) {\n const row = event.getDocumentPosition().row\n handleToggleSelectLine(row)\n }\n },\n [handleToggleSelectLine]\n )\n\n useEffect(() => {\n const editor = aceEditorRef?.current?.editor\n return () => {\n editor?.session?.removeListener('guttermousedown', handleGutterMouseDown)\n }\n }, [aceEditorRef, handleGutterMouseDown])\n\n const handleEditorLoad = useCallback(\n (editor: any) => {\n editor?.on('guttermousedown', handleGutterMouseDown)\n },\n [handleGutterMouseDown]\n )\n\n const getLanguageAlternatives = useCallback((): {\n title: string\n value: string\n mode?: string\n }[] => {\n const languageAlternatives = type.options?.languageAlternatives\n if (!languageAlternatives) {\n return SUPPORTED_LANGUAGES\n }\n\n if (!Array.isArray(languageAlternatives)) {\n throw new Error(\n `'options.languageAlternatives' should be an array, got ${typeof languageAlternatives}`\n )\n }\n\n return languageAlternatives.reduce((acc: CodeInputLanguage[], {title, value: val, mode}) => {\n const alias = LANGUAGE_ALIASES[val]\n if (alias) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language with value \"%s\", which is an alias of \"%s\" - please replace the value to read \"%s\"`,\n val,\n alias,\n alias\n )\n\n return acc.concat({title, value: alias, mode: mode})\n }\n\n if (!mode && !SUPPORTED_LANGUAGES.find((lang) => lang.value === val)) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language which is not supported: \"%s\", syntax highlighting will be disabled.`,\n val\n )\n }\n\n return acc.concat({title, value: val, mode})\n }, [])\n }, [type])\n\n const handleCodeChange = useCallback(\n (code: string) => {\n const path = PATH_CODE\n const fixedLanguage = type.options?.language\n\n onChange([\n setIfMissing({_type: type.name, language: fixedLanguage}),\n code ? set(code, path) : unset(path),\n ])\n },\n [onChange, type]\n )\n\n const languages = getLanguageAlternatives().slice()\n\n const fixedLanguage = type.options?.language\n\n const language = value?.language || fixedLanguage\n\n // the language config from the schema\n const configured = languages.find((entry) => entry.value === language)\n\n // is the language officially supported (e.g. we import the mode by default)\n const supported = language && isSupportedLanguage(language)\n\n const mode = configured?.mode || (supported ? language : 'text')\n\n const renderLanguageInput = useCallback(\n (inputProps: InputProps) => {\n return (\n <Select\n {...(inputProps as StringInputProps)}\n onChange={(e) => {\n const newValue = e.currentTarget.value\n inputProps.onChange(newValue ? set(newValue) : unset())\n }}\n >\n {languages.map((lang: {title: string; value: string}) => (\n <option key={lang.value} value={lang.value}>\n {lang.title}\n </option>\n ))}\n </Select>\n )\n },\n [languages]\n )\n\n const AceEditor = useAceEditor()\n\n const renderCodeInput = useCallback(\n (inputProps) => {\n return (\n <EditorContainer radius={1} shadow={1} readOnly={readOnly}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code editor...</div>}>\n <AceEditor\n ref={aceEditorRef}\n mode={mode}\n theme={theme}\n width=\"100%\"\n onChange={handleCodeChange}\n name={inputProps.id}\n value={inputProps.value}\n markers={\n value && value.highlightedLines\n ? createHighlightMarkers(value.highlightedLines)\n : undefined\n }\n onLoad={handleEditorLoad}\n readOnly={readOnly}\n tabSize={2}\n wrapEnabled\n setOptions={ACE_SET_OPTIONS}\n editorProps={ACE_EDITOR_PROPS}\n onFocus={handleCodeFocus}\n onBlur={onBlur}\n />\n </Suspense>\n )}\n </EditorContainer>\n )\n },\n [\n AceEditor,\n theme,\n handleCodeChange,\n handleCodeFocus,\n handleEditorLoad,\n mode,\n 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 setMounted(true)\n }, [])\n\n return mounted ? AceEditorLazy : null\n}\n","import React, {Suspense, useCallback, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {Box} from '@sanity/ui'\nimport {ACE_EDITOR_PROPS, ACE_SET_OPTIONS} from './config'\nimport createHighlightMarkers from './createHighlightMarkers'\nimport {CodeInputType, CodeInputValue} from './types'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\n\nconst PreviewContainer = styled(Box)`\n position: relative;\n`\n\nconst PreviewInner = styled(Box)`\n background-color: #272822;\n\n .ace_editor {\n box-sizing: border-box;\n cursor: default;\n pointer-events: none;\n }\n\n .ace_content {\n box-sizing: border-box;\n overflow: hidden;\n }\n`\n\nexport interface PreviewCodeProps {\n type?: CodeInputType\n value?: CodeInputValue\n}\n\nexport default function PreviewCode(props: PreviewCodeProps) {\n const aceEditorRef = useRef<any>()\n\n useEffect(() => {\n if (!aceEditorRef?.current) return\n\n const editor = aceEditorRef.current?.editor\n\n if (editor) {\n // Avoid cursor and focus tracking by Ace\n editor.renderer.$cursorLayer.element.style.opacity = 0\n editor.textInput.getElement().disabled = true\n }\n }, [])\n\n const handleEditorChange = useCallback(() => {\n // do nothing when the editor changes\n }, [])\n\n const {value, type} = props\n const fixedLanguage = type?.options?.language\n\n const mode = value?.language || fixedLanguage || 'text'\n const AceEditor = useAceEditor()\n\n return (\n <PreviewContainer>\n <PreviewInner padding={4}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code editor...</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={(value && value.code) || ''}\n markers={\n value && value.highlightedLines\n ? createHighlightMarkers(value.highlightedLines)\n : undefined\n }\n tabSize={2}\n showGutter={false}\n setOptions={ACE_SET_OPTIONS}\n editorProps={ACE_EDITOR_PROPS}\n />\n </Suspense>\n )}\n </PreviewInner>\n </PreviewContainer>\n )\n}\n","import React from 'react'\n\nexport function getMedia(language?: string) {\n if (language === 'jsx') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\">\n <g fill=\"#61DAFB\">\n <circle cx=\"64\" cy=\"64\" r=\"11.4\" />\n <path d=\"M107.3 45.2c-2.2-.8-4.5-1.6-6.9-2.3.6-2.4 1.1-4.8 1.5-7.1 2.1-13.2-.2-22.5-6.6-26.1-1.9-1.1-4-1.6-6.4-1.6-7 0-15.9 5.2-24.9 13.9-9-8.7-17.9-13.9-24.9-13.9-2.4 0-4.5.5-6.4 1.6-6.4 3.7-8.7 13-6.6 26.1.4 2.3.9 4.7 1.5 7.1-2.4.7-4.7 1.4-6.9 2.3C8.2 50 1.4 56.6 1.4 64s6.9 14 19.3 18.8c2.2.8 4.5 1.6 6.9 2.3-.6 2.4-1.1 4.8-1.5 7.1-2.1 13.2.2 22.5 6.6 26.1 1.9 1.1 4 1.6 6.4 1.6 7.1 0 16-5.2 24.9-13.9 9 8.7 17.9 13.9 24.9 13.9 2.4 0 4.5-.5 6.4-1.6 6.4-3.7 8.7-13 6.6-26.1-.4-2.3-.9-4.7-1.5-7.1 2.4-.7 4.7-1.4 6.9-2.3 12.5-4.8 19.3-11.4 19.3-18.8s-6.8-14-19.3-18.8zM92.5 14.7c4.1 2.4 5.5 9.8 3.8 20.3-.3 2.1-.8 4.3-1.4 6.6-5.2-1.2-10.7-2-16.5-2.5-3.4-4.8-6.9-9.1-10.4-13 7.4-7.3 14.9-12.3 21-12.3 1.3 0 2.5.3 3.5.9zM81.3 74c-1.8 3.2-3.9 6.4-6.1 9.6-3.7.3-7.4.4-11.2.4-3.9 0-7.6-.1-11.2-.4-2.2-3.2-4.2-6.4-6-9.6-1.9-3.3-3.7-6.7-5.3-10 1.6-3.3 3.4-6.7 5.3-10 1.8-3.2 3.9-6.4 6.1-9.6 3.7-.3 7.4-.4 11.2-.4 3.9 0 7.6.1 11.2.4 2.2 3.2 4.2 6.4 6 9.6 1.9 3.3 3.7 6.7 5.3 10-1.7 3.3-3.4 6.6-5.3 10zm8.3-3.3c1.5 3.5 2.7 6.9 3.8 10.3-3.4.8-7 1.4-10.8 1.9 1.2-1.9 2.5-3.9 3.6-6 1.2-2.1 2.3-4.2 3.4-6.2zM64 97.8c-2.4-2.6-4.7-5.4-6.9-8.3 2.3.1 4.6.2 6.9.2 2.3 0 4.6-.1 6.9-.2-2.2 2.9-4.5 5.7-6.9 8.3zm-18.6-15c-3.8-.5-7.4-1.1-10.8-1.9 1.1-3.3 2.3-6.8 3.8-10.3 1.1 2 2.2 4.1 3.4 6.1 1.2 2.2 2.4 4.1 3.6 6.1zm-7-25.5c-1.5-3.5-2.7-6.9-3.8-10.3 3.4-.8 7-1.4 10.8-1.9-1.2 1.9-2.5 3.9-3.6 6-1.2 2.1-2.3 4.2-3.4 6.2zM64 30.2c2.4 2.6 4.7 5.4 6.9 8.3-2.3-.1-4.6-.2-6.9-.2-2.3 0-4.6.1-6.9.2 2.2-2.9 4.5-5.7 6.9-8.3zm22.2 21l-3.6-6c3.8.5 7.4 1.1 10.8 1.9-1.1 3.3-2.3 6.8-3.8 10.3-1.1-2.1-2.2-4.2-3.4-6.2zM31.7 35c-1.7-10.5-.3-17.9 3.8-20.3 1-.6 2.2-.9 3.5-.9 6 0 13.5 4.9 21 12.3-3.5 3.8-7 8.2-10.4 13-5.8.5-11.3 1.4-16.5 2.5-.6-2.3-1-4.5-1.4-6.6zM7 64c0-4.7 5.7-9.7 15.7-13.4 2-.8 4.2-1.5 6.4-2.1 1.6 5 3.6 10.3 6 15.6-2.4 5.3-4.5 10.5-6 15.5C15.3 75.6 7 69.6 7 64zm28.5 49.3c-4.1-2.4-5.5-9.8-3.8-20.3.3-2.1.8-4.3 1.4-6.6 5.2 1.2 10.7 2 16.5 2.5 3.4 4.8 6.9 9.1 10.4 13-7.4 7.3-14.9 12.3-21 12.3-1.3 0-2.5-.3-3.5-.9zM96.3 93c1.7 10.5.3 17.9-3.8 20.3-1 .6-2.2.9-3.5.9-6 0-13.5-4.9-21-12.3 3.5-3.8 7-8.2 10.4-13 5.8-.5 11.3-1.4 16.5-2.5.6 2.3 1 4.5 1.4 6.6zm9-15.6c-2 .8-4.2 1.5-6.4 2.1-1.6-5-3.6-10.3-6-15.6 2.4-5.3 4.5-10.5 6-15.5 13.8 4 22.1 10 22.1 15.6 0 4.7-5.8 9.7-15.7 13.4z\" />\n </g>\n </svg>\n )\n }\n\n if (language === 'javascript') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\">\n <path fill=\"#F0DB4F\" d=\"M1.408 1.408h125.184v125.185H1.408z\" />\n <path\n fill=\"#323330\"\n d=\"M116.347 96.736c-.917-5.711-4.641-10.508-15.672-14.981-3.832-1.761-8.104-3.022-9.377-5.926-.452-1.69-.512-2.642-.226-3.665.821-3.32 4.784-4.355 7.925-3.403 2.023.678 3.938 2.237 5.093 4.724 5.402-3.498 5.391-3.475 9.163-5.879-1.381-2.141-2.118-3.129-3.022-4.045-3.249-3.629-7.676-5.498-14.756-5.355l-3.688.477c-3.534.893-6.902 2.748-8.877 5.235-5.926 6.724-4.236 18.492 2.975 23.335 7.104 5.332 17.54 6.545 18.873 11.531 1.297 6.104-4.486 8.08-10.234 7.378-4.236-.881-6.592-3.034-9.139-6.949-4.688 2.713-4.688 2.713-9.508 5.485 1.143 2.499 2.344 3.63 4.26 5.795 9.068 9.198 31.76 8.746 35.83-5.176.165-.478 1.261-3.666.38-8.581zM69.462 58.943H57.753l-.048 30.272c0 6.438.333 12.34-.714 14.149-1.713 3.558-6.152 3.117-8.175 2.427-2.059-1.012-3.106-2.451-4.319-4.485-.333-.584-.583-1.036-.667-1.071l-9.52 5.83c1.583 3.249 3.915 6.069 6.902 7.901 4.462 2.678 10.459 3.499 16.731 2.059 4.082-1.189 7.604-3.652 9.448-7.401 2.666-4.915 2.094-10.864 2.07-17.444.06-10.735.001-21.468.001-32.237z\"\n />\n </svg>\n )\n }\n\n if (language === 'php') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 800 400\">\n <g transform=\"translate(-44.632 -141.55)\">\n <g transform=\"matrix(8.3528 0 0 8.3119 -727.13 -3759.5)\">\n <path d=\"m99.974 479.48h14.204c4.1693 0.0354 7.1903 1.2367 9.063 3.604 1.8726 2.3674 2.491 5.6004 1.855 9.699-0.24737 1.8727-0.79504 3.71-1.643 5.512-0.8127 1.802-1.9434 3.4273-3.392 4.876-1.7667 1.8373-3.657 3.0033-5.671 3.498-2.014 0.49467-4.0987 0.742-6.254 0.742h-6.36l-2.014 10.07h-7.367l7.579-38.001m6.201 6.042-3.18 15.9c0.21198 0.0353 0.42398 0.053 0.636 0.053h0.742c3.392 0.0353 6.2186-0.30033 8.48-1.007 2.2613-0.74199 3.7806-3.3213 4.558-7.738 0.63597-3.71-0.00003-5.8476-1.908-6.413-1.8727-0.56531-4.2224-0.83031-7.049-0.795-0.42402 0.0353-0.83035 0.053-1.219 0.053-0.35335 0.00002-0.72435 0.00002-1.113 0l0.053-0.053\" />\n <path d=\"m133.49 469.36h7.314l-2.067 10.123h6.572c3.604 0.0707 6.2893 0.81269 8.056 2.226 1.802 1.4134 2.332 4.0987 1.59 8.056l-3.551 17.649h-7.42l3.392-16.854c0.35328-1.7666 0.2473-3.021-0.318-3.763-0.56536-0.74198-1.7844-1.113-3.657-1.113l-5.883-0.053-4.346 21.783h-7.314l7.632-38.054\" />\n <path d=\"m162.81 479.48h14.204c4.1693 0.0354 7.1903 1.2367 9.063 3.604 1.8726 2.3674 2.491 5.6004 1.855 9.699-0.24737 1.8727-0.79503 3.71-1.643 5.512-0.8127 1.802-1.9434 3.4273-3.392 4.876-1.7667 1.8373-3.657 3.0033-5.671 3.498-2.014 0.49467-4.0987 0.742-6.254 0.742h-6.36l-2.014 10.07h-7.367l7.579-38.001m6.201 6.042-3.18 15.9c0.21199 0.0353 0.42399 0.053 0.636 0.053h0.742c3.392 0.0353 6.2186-0.30033 8.48-1.007 2.2613-0.74199 3.7806-3.3213 4.558-7.738 0.63597-3.71-0.00003-5.8476-1.908-6.413-1.8727-0.56531-4.2224-0.83031-7.049-0.795-0.42402 0.0353-0.83035 0.053-1.219 0.053-0.35335 0.00002-0.72435 0.00002-1.113 0l0.053-0.053\" />\n </g>\n </g>\n </svg>\n )\n }\n\n if (language === 'json') {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n viewBox=\"0 0 160 160\"\n >\n <defs>\n <linearGradient id=\"a\">\n <stop offset=\"0\" />\n <stop offset=\"1\" stopColor=\"#fff\" />\n </linearGradient>\n <linearGradient\n x1=\"-553.27\"\n y1=\"525.908\"\n x2=\"-666.116\"\n y2=\"413.045\"\n id=\"c\"\n xlinkHref=\"#a\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(.99884 0 0 .9987 689.008 -388.844)\"\n />\n <linearGradient\n x1=\"-666.117\"\n y1=\"413.045\"\n x2=\"-553.27\"\n y2=\"525.908\"\n id=\"b\"\n xlinkHref=\"#a\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(.99884 0 0 .9987 689.008 -388.844)\"\n />\n </defs>\n <path\n d=\"M79.865 119.1c35.397 48.255 70.04-13.469 69.988-50.587-.06-43.886-44.54-68.414-70.017-68.414C38.943.1 0 33.895 0 80.135 0 131.531 44.64 160 79.836 160c-7.965-1.147-34.507-6.834-34.863-67.967-.24-41.346 13.487-57.865 34.805-50.599.477.177 23.514 9.265 23.514 38.95 0 29.56-23.427 38.716-23.427 38.716z\"\n style={{marker: 'none'}}\n color=\"#000\"\n fill=\"url(#b)\"\n fillRule=\"evenodd\"\n overflow=\"visible\"\n />\n <path\n d=\"M79.823 41.4C56.433 33.34 27.78 52.618 27.78 91.23c0 63.048 46.72 68.77 52.384 68.77C121.057 160 160 126.204 160 79.964 160 28.568 115.36.1 80.164.1c9.749-1.35 52.541 10.55 52.541 69.037 0 38.141-31.953 58.905-52.735 50.033-.478-.177-23.514-9.264-23.514-38.95 0-29.56 23.367-38.818 23.367-38.818z\"\n style={{marker: 'none'}}\n color=\"#000\"\n fill=\"url(#c)\"\n fillRule=\"evenodd\"\n overflow=\"visible\"\n />\n </svg>\n )\n }\n\n return undefined\n}\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../../"}
1
+ {"mappings":"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","sources":["node_modules/@parcel/runtime-js/lib/runtime-3c15e3c40a574462.js","src/index.ts","src/schema.tsx","src/CodeInput.tsx","src/createHighlightMarkers.ts","src/config.ts","src/ace-editor/AceEditorLazy.tsx","src/PreviewCode.tsx","src/getMedia.tsx"],"sourcesContent":["module.exports = (Promise.resolve(__parcel__require__(\"./\" + \"editorSupport.bbd31eae.js\"))).then(() => parcelRequire('lMYyH'));","import {createPlugin} from 'sanity'\nimport schema from './schema'\nimport PreviewCode from './PreviewCode'\n\nexport type {CodeInputProps, CodeSchemaType} from './CodeInput'\nexport type {CodeInputLanguage, CodeInputValue} from './types'\nexport {PreviewCode}\n\nexport const codeInput = createPlugin({\n name: '@sanity/code-input',\n schema: {types: [schema]},\n})\n","import {CodeBlockIcon} from '@sanity/icons'\nimport {CodeInput} from './CodeInput'\nimport PreviewCode, {PreviewCodeProps} from './PreviewCode'\nimport {getMedia} from './getMedia'\nimport {defineType} from 'sanity'\n\nexport type {CodeInputProps, CodeSchemaType} from './CodeInput'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\nexport type {PreviewCode, PreviewCodeProps, CodeInput}\n\nexport default defineType({\n name: 'code',\n type: 'object',\n title: 'Code',\n components: {input: CodeInput, preview: PreviewCode},\n icon: CodeBlockIcon,\n fields: [\n {\n name: 'language',\n title: 'Language',\n type: 'string',\n },\n {\n name: 'filename',\n title: 'Filename',\n type: 'string',\n },\n {\n title: 'Code',\n name: 'code',\n type: 'text',\n },\n {\n title: 'Highlighted lines',\n name: 'highlightedLines',\n type: 'array',\n of: [\n {\n type: 'number',\n title: 'Highlighted line',\n },\n ],\n },\n ],\n preview: {\n select: {\n language: 'language',\n code: 'code',\n filename: 'filename',\n highlightedLines: 'highlightedLines',\n },\n prepare: (value: {\n language?: string\n code?: string\n filename?: string\n highlightedLines?: number[]\n }) => {\n return {\n title: value.filename || (value.language || 'unknown').toUpperCase(),\n media: getMedia(value?.language),\n }\n },\n },\n})\n","/* eslint-disable react/jsx-handler-names */\nimport React, {Suspense, useCallback, useEffect, useImperativeHandle, useMemo, useRef} from 'react'\nimport {FieldMember, MemberField, ObjectInputProps, set, setIfMissing, unset} from 'sanity/form'\nimport {InputProps, ObjectSchemaType, StringInputProps, useColorScheme} from 'sanity'\nimport {Card, Select, Stack, ThemeColorSchemeKey} from '@sanity/ui'\nimport styled from 'styled-components'\nimport createHighlightMarkers, {highlightMarkersCSS} from './createHighlightMarkers'\nimport {CodeInputLanguage, CodeInputValue} from './types'\nimport {\n ACE_EDITOR_PROPS,\n ACE_SET_OPTIONS,\n DEFAULT_DARK_THEME,\n DEFAULT_THEME,\n LANGUAGE_ALIASES,\n PATH_CODE,\n SUPPORTED_LANGUAGES,\n SUPPORTED_THEMES,\n} from './config'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\n\nconst EditorContainer = styled(Card)`\n position: relative;\n box-sizing: border-box;\n overflow: hidden;\n z-index: 0;\n\n .ace_editor {\n font-family: ${({theme}) => theme.sanity.fonts.code.family};\n font-size: ${({theme}) => theme.sanity.fonts.code.sizes[1]};\n line-height: inherit;\n }\n\n ${highlightMarkersCSS}\n\n &:not([disabled]):not([readonly]) {\n &:focus,\n &:focus-within {\n box-shadow: 0 0 0 2px ${({theme}) => theme.sanity.color.base.focusRing};\n background-color: ${({theme}) => theme.sanity.color.base.bg};\n border-color: ${({theme}) => theme.sanity.color.base.focusRing};\n }\n }\n`\n\nexport type CodeSchemaType = Omit<ObjectSchemaType, 'options'> & {\n options?: {\n theme?: string\n darkTheme?: string\n languageAlternatives: CodeInputLanguage[]\n language: string\n withFilename?: boolean\n }\n}\n\nexport type CodeInputProps = ObjectInputProps<CodeInputValue, CodeSchemaType> & {\n /** @internal */\n colorScheme?: ThemeColorSchemeKey\n}\n\n// Returns a string with the mode name if supported (because aliases), otherwise false\nfunction isSupportedLanguage(mode: string) {\n const alias = LANGUAGE_ALIASES[mode]\n\n if (alias) {\n return alias\n }\n\n const isSupported = SUPPORTED_LANGUAGES.find((lang) => lang.value === mode)\n if (isSupported) {\n return mode\n }\n\n return false\n}\n\nexport function CodeInput(props: CodeInputProps) {\n const {\n members,\n elementProps,\n onChange,\n onFocusPath,\n readOnly,\n renderField,\n renderInput,\n renderItem,\n renderPreview,\n schemaType: type,\n value,\n } = props\n\n const aceEditorRef = useRef<any>()\n\n const fieldMembers = useMemo(\n () => members.filter((member) => member.kind === 'field') as FieldMember[],\n [members]\n )\n\n const languageFieldMember = fieldMembers.find((member) => member.name === 'language')\n const filenameMember = fieldMembers.find((member) => member.name === 'filename')\n const codeFieldMember = fieldMembers.find((member) => member.name === 'code')\n\n useImperativeHandle(elementProps.ref, () => ({\n focus: () => {\n aceEditorRef?.current?.editor?.focus()\n },\n }))\n\n const handleCodeFocus = useCallback(() => {\n onFocusPath(PATH_CODE)\n }, [onFocusPath])\n\n const {scheme} = useColorScheme()\n\n const theme = useMemo(() => {\n const isLight = scheme === 'light'\n const preferredTheme = isLight ? type.options?.theme : type.options?.darkTheme\n const defaultTheme = isLight ? DEFAULT_THEME : DEFAULT_DARK_THEME\n return preferredTheme && SUPPORTED_THEMES.find((t) => t === preferredTheme)\n ? preferredTheme\n : defaultTheme\n }, [type, scheme])\n\n const handleToggleSelectLine = useCallback(\n (lineNumber: number) => {\n const editorSession = aceEditorRef.current?.editor?.getSession()\n const backgroundMarkers = editorSession?.getMarkers(true)\n const currentHighlightedLines = Object.keys(backgroundMarkers)\n .filter((key) => backgroundMarkers[key].type === 'screenLine')\n .map((key) => backgroundMarkers[key].range.start.row)\n const currentIndex = currentHighlightedLines.indexOf(lineNumber)\n if (currentIndex > -1) {\n // toggle remove\n currentHighlightedLines.splice(currentIndex, 1)\n } else {\n // toggle add\n currentHighlightedLines.push(lineNumber)\n currentHighlightedLines.sort()\n }\n onChange(\n set(\n currentHighlightedLines.map(\n (line) =>\n // ace starts at line (row) 0, but we store it starting at line 1\n line + 1\n ),\n ['highlightedLines']\n )\n )\n },\n [aceEditorRef, onChange]\n )\n\n const handleGutterMouseDown = useCallback(\n (event: any) => {\n const target = event.domEvent.target\n if (target.classList.contains('ace_gutter-cell')) {\n const row = event.getDocumentPosition().row\n handleToggleSelectLine(row)\n }\n },\n [handleToggleSelectLine]\n )\n\n useEffect(() => {\n const editor = aceEditorRef?.current?.editor\n return () => {\n editor?.session?.removeListener('guttermousedown', handleGutterMouseDown)\n }\n }, [aceEditorRef, handleGutterMouseDown])\n\n const handleEditorLoad = useCallback(\n (editor: any) => {\n editor?.on('guttermousedown', handleGutterMouseDown)\n },\n [handleGutterMouseDown]\n )\n\n const getLanguageAlternatives = useCallback((): {\n title: string\n value: string\n mode?: string\n }[] => {\n const languageAlternatives = type.options?.languageAlternatives\n if (!languageAlternatives) {\n return SUPPORTED_LANGUAGES\n }\n\n if (!Array.isArray(languageAlternatives)) {\n throw new Error(\n `'options.languageAlternatives' should be an array, got ${typeof languageAlternatives}`\n )\n }\n\n return languageAlternatives.reduce((acc: CodeInputLanguage[], {title, value: val, mode}) => {\n const alias = LANGUAGE_ALIASES[val]\n if (alias) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language with value \"%s\", which is an alias of \"%s\" - please replace the value to read \"%s\"`,\n val,\n alias,\n alias\n )\n\n return acc.concat({title, value: alias, mode: mode})\n }\n\n if (!mode && !SUPPORTED_LANGUAGES.find((lang) => lang.value === val)) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language which is not supported: \"%s\", syntax highlighting will be disabled.`,\n val\n )\n }\n\n return acc.concat({title, value: val, mode})\n }, [])\n }, [type])\n\n const handleCodeChange = useCallback(\n (code: string) => {\n const path = PATH_CODE\n const fixedLanguage = type.options?.language\n\n onChange([\n setIfMissing({_type: type.name, language: fixedLanguage}),\n code ? set(code, path) : unset(path),\n ])\n },\n [onChange, type]\n )\n\n const languages = getLanguageAlternatives().slice()\n\n const fixedLanguage = type.options?.language\n\n const language = value?.language || fixedLanguage\n\n // the language config from the schema\n const configured = languages.find((entry) => entry.value === language)\n\n // is the language officially supported (e.g. we import the mode by default)\n const supported = language && isSupportedLanguage(language)\n\n const mode = configured?.mode || (supported ? language : 'text')\n\n const renderLanguageInput = useCallback(\n (inputProps: InputProps) => {\n return (\n <Select\n {...(inputProps as StringInputProps)}\n onChange={(e) => {\n const newValue = e.currentTarget.value\n inputProps.onChange(newValue ? set(newValue) : unset())\n }}\n >\n {languages.map((lang: {title: string; value: string}) => (\n <option key={lang.value} value={lang.value}>\n {lang.title}\n </option>\n ))}\n </Select>\n )\n },\n [languages]\n )\n\n const AceEditor = useAceEditor()\n\n const renderCodeInput = useCallback(\n (inputProps) => {\n return (\n <EditorContainer radius={1} shadow={1} readOnly={readOnly}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code editor...</div>}>\n <AceEditor\n ref={aceEditorRef}\n mode={mode}\n theme={theme}\n width=\"100%\"\n onChange={handleCodeChange}\n name={inputProps.id}\n value={inputProps.value}\n markers={\n value && value.highlightedLines\n ? createHighlightMarkers(value.highlightedLines)\n : undefined\n }\n onLoad={handleEditorLoad}\n readOnly={readOnly}\n tabSize={2}\n wrapEnabled\n setOptions={ACE_SET_OPTIONS}\n editorProps={ACE_EDITOR_PROPS}\n onFocus={handleCodeFocus}\n onBlur={elementProps.onBlur}\n />\n </Suspense>\n )}\n </EditorContainer>\n )\n },\n [\n AceEditor,\n theme,\n handleCodeChange,\n handleCodeFocus,\n handleEditorLoad,\n mode,\n elementProps.onBlur,\n readOnly,\n value,\n ]\n )\n\n return (\n <Stack space={4}>\n {languageFieldMember && (\n <MemberField\n member={languageFieldMember}\n renderItem={renderItem}\n renderField={renderField}\n renderInput={renderLanguageInput}\n renderPreview={renderPreview}\n />\n )}\n\n {type.options?.withFilename && filenameMember && (\n <MemberField\n member={filenameMember}\n renderItem={renderItem}\n renderField={renderField}\n renderInput={renderInput}\n renderPreview={renderPreview}\n />\n )}\n\n {codeFieldMember && (\n <MemberField\n member={codeFieldMember}\n renderInput={renderCodeInput}\n renderItem={renderItem}\n renderField={renderField}\n renderPreview={renderPreview}\n />\n )}\n </Stack>\n )\n}\n","import type {IMarker} from 'react-ace'\nimport {css} from 'styled-components'\n\nexport const highlightMarkersCSS = css`\n .ace_editor_markers_highlight {\n position: absolute;\n background-color: ${({theme}) => theme.sanity.color.solid.primary.enabled.bg};\n opacity: 0.2;\n width: 100% !important;\n border-radius: 0 !important;\n }\n`\n\nexport default function createHighlightMarkers(rows: number[]): IMarker[] {\n return rows.map((row) => ({\n startRow: Number(row) - 1,\n startCol: 0,\n endRow: Number(row) - 1,\n endCol: +Infinity,\n className: 'ace_editor_markers_highlight',\n type: 'screenLine',\n inFront: true,\n }))\n}\n","import {CodeInputLanguage} from './types'\n\n// NOTE: MAKE SURE THESE ALIGN WITH IMPORTS IN ./ace-editor/editorSupport\nexport const SUPPORTED_LANGUAGES: CodeInputLanguage[] = [\n {title: 'Batch file', value: 'batchfile'},\n {title: 'C#', value: 'csharp'},\n {title: 'CSS', value: 'css'},\n {title: 'Go', value: 'golang'},\n {title: 'GROQ', value: 'groq'},\n {title: 'HTML', value: 'html'},\n {title: 'Java', value: 'java'},\n {title: 'JavaScript', value: 'javascript'},\n {title: 'JSON', value: 'json'},\n {title: 'JSX', value: 'jsx'},\n {title: 'Markdown', value: 'markdown'},\n {title: 'MySQL', value: 'mysql'},\n {title: 'PHP', value: 'php'},\n {title: 'Plain text', value: 'text'},\n {title: 'Python', value: 'python'},\n {title: 'Ruby', value: 'ruby'},\n {title: 'SASS', value: 'sass'},\n {title: 'SCSS', value: 'scss'},\n {title: 'sh', value: 'sh'},\n {title: 'TSX', value: 'tsx'},\n {title: 'TypeScript', value: 'typescript'},\n {title: 'XML', value: 'xml'},\n {title: 'YAML', value: 'yaml'},\n]\n\nexport const LANGUAGE_ALIASES: Record<string, string | undefined> = {js: 'javascript'}\n\nexport const SUPPORTED_THEMES = ['github', 'monokai', 'terminal', 'tomorrow']\n\nexport const DEFAULT_THEME = 'tomorrow'\nexport const DEFAULT_DARK_THEME = 'monokai'\n\nexport const ACE_SET_OPTIONS = {\n useSoftTabs: true,\n navigateWithinSoftTabs: true /* note only supported by ace v1.2.7 or higher */,\n}\n\nexport const ACE_EDITOR_PROPS = {$blockScrolling: true}\n\nexport const PATH_LANGUAGE = ['language']\nexport const PATH_CODE = ['code']\nexport const PATH_FILENAME = ['filename']\n","import React, {useEffect, useState} from 'react'\n\n/**\n * AceEditor loads window global directly when imported, which crashes in node envs.\n * This works around the issue by only importing ace-dependencies when window is defined.\n *\n * We only set the ace lazy component after mounting, to allow us to render null on the server,\n * and use suspense on the client. This will make hydration work correctly.\n */\nexport const AceEditorLazy = React.lazy(() => import('./editorSupport'))\n\nexport function useAceEditor() {\n const [mounted, setMounted] = useState(false)\n useEffect(() => {\n setMounted(true)\n }, [])\n\n return mounted ? AceEditorLazy : null\n}\n","import React, {Suspense, useCallback, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {Box} from '@sanity/ui'\nimport {ACE_EDITOR_PROPS, ACE_SET_OPTIONS} from './config'\nimport createHighlightMarkers from './createHighlightMarkers'\nimport {CodeInputType, CodeInputValue} from './types'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\n\nconst PreviewContainer = styled(Box)`\n position: relative;\n`\n\nconst PreviewInner = styled(Box)`\n background-color: #272822;\n\n .ace_editor {\n box-sizing: border-box;\n cursor: default;\n pointer-events: none;\n }\n\n .ace_content {\n box-sizing: border-box;\n overflow: hidden;\n }\n`\n\nexport interface PreviewCodeProps {\n type?: CodeInputType\n value?: CodeInputValue\n}\n\nexport default function PreviewCode(props: PreviewCodeProps) {\n const aceEditorRef = useRef<any>()\n\n useEffect(() => {\n if (!aceEditorRef?.current) return\n\n const editor = aceEditorRef.current?.editor\n\n if (editor) {\n // Avoid cursor and focus tracking by Ace\n editor.renderer.$cursorLayer.element.style.opacity = 0\n editor.textInput.getElement().disabled = true\n }\n }, [])\n\n const handleEditorChange = useCallback(() => {\n // do nothing when the editor changes\n }, [])\n\n const {value, type} = props\n const fixedLanguage = type?.options?.language\n\n const mode = value?.language || fixedLanguage || 'text'\n const AceEditor = useAceEditor()\n\n return (\n <PreviewContainer>\n <PreviewInner padding={4}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code editor...</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={(value && value.code) || ''}\n markers={\n value && value.highlightedLines\n ? createHighlightMarkers(value.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
@@ -247,7 +247,7 @@ function $a1d4bfd2763f687f$var$isSupportedLanguage(mode) {
247
247
  return false;
248
248
  }
249
249
  function $a1d4bfd2763f687f$export$20d4ca75cb144ab0(props) {
250
- const { focusRef: focusRef , members: members , onBlur: onBlur , onChange: onChange , onFocusPath: onFocusPath , readOnly: readOnly , renderField: renderField , renderInput: renderInput , renderItem: renderItem , renderPreview: renderPreview , schemaType: type , value: value , } = props;
250
+ const { members: members , elementProps: elementProps , onChange: onChange , onFocusPath: onFocusPath , readOnly: readOnly , renderField: renderField , renderInput: renderInput , renderItem: renderItem , renderPreview: renderPreview , schemaType: type , value: value , } = props;
251
251
  const aceEditorRef = (0, $gGrEF$useRef)();
252
252
  const fieldMembers = (0, $gGrEF$useMemo)(()=>members.filter((member)=>member.kind === "field"), [
253
253
  members
@@ -255,7 +255,7 @@ function $a1d4bfd2763f687f$export$20d4ca75cb144ab0(props) {
255
255
  const languageFieldMember = fieldMembers.find((member)=>member.name === "language");
256
256
  const filenameMember = fieldMembers.find((member)=>member.name === "filename");
257
257
  const codeFieldMember = fieldMembers.find((member)=>member.name === "code");
258
- (0, $gGrEF$useImperativeHandle)(focusRef, ()=>({
258
+ (0, $gGrEF$useImperativeHandle)(elementProps.ref, ()=>({
259
259
  focus: ()=>{
260
260
  aceEditorRef?.current?.editor?.focus();
261
261
  }
@@ -359,13 +359,13 @@ function $a1d4bfd2763f687f$export$20d4ca75cb144ab0(props) {
359
359
  type
360
360
  ]);
361
361
  const languages = getLanguageAlternatives().slice();
362
- const fixedLanguage1 = type.options?.language;
363
- const language = value?.language || fixedLanguage1;
362
+ const fixedLanguage = type.options?.language;
363
+ const language = value?.language || fixedLanguage;
364
364
  // the language config from the schema
365
365
  const configured = languages.find((entry)=>entry.value === language);
366
366
  // is the language officially supported (e.g. we import the mode by default)
367
367
  const supported = language && $a1d4bfd2763f687f$var$isSupportedLanguage(language);
368
- const mode1 = configured?.mode || (supported ? language : "text");
368
+ const mode = configured?.mode || (supported ? language : "text");
369
369
  const renderLanguageInput = (0, $gGrEF$useCallback)((inputProps)=>{
370
370
  return /*#__PURE__*/ (0, $gGrEF$jsx)((0, $gGrEF$Select), {
371
371
  ...inputProps,
@@ -393,7 +393,7 @@ function $a1d4bfd2763f687f$export$20d4ca75cb144ab0(props) {
393
393
  }),
394
394
  children: /*#__PURE__*/ (0, $gGrEF$jsx)(AceEditor, {
395
395
  ref: aceEditorRef,
396
- mode: mode1,
396
+ mode: mode,
397
397
  theme: theme,
398
398
  width: "100%",
399
399
  onChange: handleCodeChange,
@@ -407,7 +407,7 @@ function $a1d4bfd2763f687f$export$20d4ca75cb144ab0(props) {
407
407
  setOptions: (0, $513a6452b1f07fd5$export$1d910bb34606e145),
408
408
  editorProps: (0, $513a6452b1f07fd5$export$24aa1be5d8c3cd08),
409
409
  onFocus: handleCodeFocus,
410
- onBlur: onBlur
410
+ onBlur: elementProps.onBlur
411
411
  })
412
412
  })
413
413
  });
@@ -417,8 +417,8 @@ function $a1d4bfd2763f687f$export$20d4ca75cb144ab0(props) {
417
417
  handleCodeChange,
418
418
  handleCodeFocus,
419
419
  handleEditorLoad,
420
- mode1,
421
- onBlur,
420
+ mode,
421
+ elementProps.onBlur,
422
422
  readOnly,
423
423
  value,
424
424
  ]);
@@ -1 +1 @@
1
- {"mappings":"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","sources":["node_modules/@parcel/runtime-js/lib/runtime-585180c9bcc34854.js","src/index.ts","src/schema.tsx","src/CodeInput.tsx","src/createHighlightMarkers.ts","src/config.ts","src/ace-editor/AceEditorLazy.tsx","src/PreviewCode.tsx","src/getMedia.tsx"],"sourcesContent":["module.exports = (__parcel__import__(\"./\" + \"editorSupport.739e7d0c.js\")).then(() => parcelRequire('f97Qe'));","import {createPlugin} from 'sanity'\nimport schema from './schema'\nimport PreviewCode from './PreviewCode'\n\nexport type {CodeInputProps, CodeSchemaType} from './CodeInput'\nexport type {CodeInputLanguage, CodeInputValue} from './types'\nexport {PreviewCode}\n\nexport const codeInput = createPlugin({\n name: '@sanity/code-input',\n schema: {types: [schema]},\n})\n","import {CodeBlockIcon} from '@sanity/icons'\nimport {CodeInput} from './CodeInput'\nimport PreviewCode, {PreviewCodeProps} from './PreviewCode'\nimport {getMedia} from './getMedia'\nimport {defineType} from 'sanity'\n\nexport type {CodeInputProps, CodeSchemaType} from './CodeInput'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\nexport type {PreviewCode, PreviewCodeProps, CodeInput}\n\nexport default defineType({\n name: 'code',\n type: 'object',\n title: 'Code',\n components: {input: CodeInput, preview: PreviewCode},\n icon: CodeBlockIcon,\n fields: [\n {\n name: 'language',\n title: 'Language',\n type: 'string',\n },\n {\n name: 'filename',\n title: 'Filename',\n type: 'string',\n },\n {\n title: 'Code',\n name: 'code',\n type: 'text',\n },\n {\n title: 'Highlighted lines',\n name: 'highlightedLines',\n type: 'array',\n of: [\n {\n type: 'number',\n title: 'Highlighted line',\n },\n ],\n },\n ],\n preview: {\n select: {\n language: 'language',\n code: 'code',\n filename: 'filename',\n highlightedLines: 'highlightedLines',\n },\n prepare: (value: {\n language?: string\n code?: string\n filename?: string\n highlightedLines?: number[]\n }) => {\n return {\n title: value.filename || (value.language || 'unknown').toUpperCase(),\n media: getMedia(value?.language),\n }\n },\n },\n})\n","/* eslint-disable react/jsx-handler-names */\nimport React, {Suspense, useCallback, useEffect, useImperativeHandle, useMemo, useRef} from 'react'\nimport {FieldMember, MemberField, ObjectInputProps, set, setIfMissing, unset} from 'sanity/form'\nimport {InputProps, ObjectSchemaType, StringInputProps, useColorScheme} from 'sanity'\nimport {Card, Select, Stack, ThemeColorSchemeKey} from '@sanity/ui'\nimport styled from 'styled-components'\nimport createHighlightMarkers, {highlightMarkersCSS} from './createHighlightMarkers'\nimport {CodeInputLanguage, CodeInputValue} from './types'\nimport {\n ACE_EDITOR_PROPS,\n ACE_SET_OPTIONS,\n DEFAULT_DARK_THEME,\n DEFAULT_THEME,\n LANGUAGE_ALIASES,\n PATH_CODE,\n SUPPORTED_LANGUAGES,\n SUPPORTED_THEMES,\n} from './config'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\n\nconst EditorContainer = styled(Card)`\n position: relative;\n box-sizing: border-box;\n overflow: hidden;\n z-index: 0;\n\n .ace_editor {\n font-family: ${({theme}) => theme.sanity.fonts.code.family};\n font-size: ${({theme}) => theme.sanity.fonts.code.sizes[1]};\n line-height: inherit;\n }\n\n ${highlightMarkersCSS}\n\n &:not([disabled]):not([readonly]) {\n &:focus,\n &:focus-within {\n box-shadow: 0 0 0 2px ${({theme}) => theme.sanity.color.base.focusRing};\n background-color: ${({theme}) => theme.sanity.color.base.bg};\n border-color: ${({theme}) => theme.sanity.color.base.focusRing};\n }\n }\n`\n\nexport type CodeSchemaType = Omit<ObjectSchemaType, 'options'> & {\n options?: {\n theme?: string\n darkTheme?: string\n languageAlternatives: CodeInputLanguage[]\n language: string\n withFilename?: boolean\n }\n}\n\nexport type CodeInputProps = ObjectInputProps<CodeInputValue, CodeSchemaType> & {\n /** @internal */\n colorScheme?: ThemeColorSchemeKey\n}\n\n// Returns a string with the mode name if supported (because aliases), otherwise false\nfunction isSupportedLanguage(mode: string) {\n const alias = LANGUAGE_ALIASES[mode]\n\n if (alias) {\n return alias\n }\n\n const isSupported = SUPPORTED_LANGUAGES.find((lang) => lang.value === mode)\n if (isSupported) {\n return mode\n }\n\n return false\n}\n\nexport function CodeInput(props: CodeInputProps) {\n const {\n focusRef,\n members,\n onBlur,\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(focusRef, () => ({\n focus: () => {\n aceEditorRef?.current?.editor?.focus()\n },\n }))\n\n const handleCodeFocus = useCallback(() => {\n onFocusPath(PATH_CODE)\n }, [onFocusPath])\n\n const {scheme} = useColorScheme()\n\n const theme = useMemo(() => {\n const isLight = scheme === 'light'\n const preferredTheme = isLight ? type.options?.theme : type.options?.darkTheme\n const defaultTheme = isLight ? DEFAULT_THEME : DEFAULT_DARK_THEME\n return preferredTheme && SUPPORTED_THEMES.find((t) => t === preferredTheme)\n ? preferredTheme\n : defaultTheme\n }, [type, scheme])\n\n const handleToggleSelectLine = useCallback(\n (lineNumber: number) => {\n const editorSession = aceEditorRef.current?.editor?.getSession()\n const backgroundMarkers = editorSession?.getMarkers(true)\n const currentHighlightedLines = Object.keys(backgroundMarkers)\n .filter((key) => backgroundMarkers[key].type === 'screenLine')\n .map((key) => backgroundMarkers[key].range.start.row)\n const currentIndex = currentHighlightedLines.indexOf(lineNumber)\n if (currentIndex > -1) {\n // toggle remove\n currentHighlightedLines.splice(currentIndex, 1)\n } else {\n // toggle add\n currentHighlightedLines.push(lineNumber)\n currentHighlightedLines.sort()\n }\n onChange(\n set(\n currentHighlightedLines.map(\n (line) =>\n // ace starts at line (row) 0, but we store it starting at line 1\n line + 1\n ),\n ['highlightedLines']\n )\n )\n },\n [aceEditorRef, onChange]\n )\n\n const handleGutterMouseDown = useCallback(\n (event: any) => {\n const target = event.domEvent.target\n if (target.classList.contains('ace_gutter-cell')) {\n const row = event.getDocumentPosition().row\n handleToggleSelectLine(row)\n }\n },\n [handleToggleSelectLine]\n )\n\n useEffect(() => {\n const editor = aceEditorRef?.current?.editor\n return () => {\n editor?.session?.removeListener('guttermousedown', handleGutterMouseDown)\n }\n }, [aceEditorRef, handleGutterMouseDown])\n\n const handleEditorLoad = useCallback(\n (editor: any) => {\n editor?.on('guttermousedown', handleGutterMouseDown)\n },\n [handleGutterMouseDown]\n )\n\n const getLanguageAlternatives = useCallback((): {\n title: string\n value: string\n mode?: string\n }[] => {\n const languageAlternatives = type.options?.languageAlternatives\n if (!languageAlternatives) {\n return SUPPORTED_LANGUAGES\n }\n\n if (!Array.isArray(languageAlternatives)) {\n throw new Error(\n `'options.languageAlternatives' should be an array, got ${typeof languageAlternatives}`\n )\n }\n\n return languageAlternatives.reduce((acc: CodeInputLanguage[], {title, value: val, mode}) => {\n const alias = LANGUAGE_ALIASES[val]\n if (alias) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language with value \"%s\", which is an alias of \"%s\" - please replace the value to read \"%s\"`,\n val,\n alias,\n alias\n )\n\n return acc.concat({title, value: alias, mode: mode})\n }\n\n if (!mode && !SUPPORTED_LANGUAGES.find((lang) => lang.value === val)) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language which is not supported: \"%s\", syntax highlighting will be disabled.`,\n val\n )\n }\n\n return acc.concat({title, value: val, mode})\n }, [])\n }, [type])\n\n const handleCodeChange = useCallback(\n (code: string) => {\n const path = PATH_CODE\n const fixedLanguage = type.options?.language\n\n onChange([\n setIfMissing({_type: type.name, language: fixedLanguage}),\n code ? set(code, path) : unset(path),\n ])\n },\n [onChange, type]\n )\n\n const languages = getLanguageAlternatives().slice()\n\n const fixedLanguage = type.options?.language\n\n const language = value?.language || fixedLanguage\n\n // the language config from the schema\n const configured = languages.find((entry) => entry.value === language)\n\n // is the language officially supported (e.g. we import the mode by default)\n const supported = language && isSupportedLanguage(language)\n\n const mode = configured?.mode || (supported ? language : 'text')\n\n const renderLanguageInput = useCallback(\n (inputProps: InputProps) => {\n return (\n <Select\n {...(inputProps as StringInputProps)}\n onChange={(e) => {\n const newValue = e.currentTarget.value\n inputProps.onChange(newValue ? set(newValue) : unset())\n }}\n >\n {languages.map((lang: {title: string; value: string}) => (\n <option key={lang.value} value={lang.value}>\n {lang.title}\n </option>\n ))}\n </Select>\n )\n },\n [languages]\n )\n\n const AceEditor = useAceEditor()\n\n const renderCodeInput = useCallback(\n (inputProps) => {\n return (\n <EditorContainer radius={1} shadow={1} readOnly={readOnly}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code editor...</div>}>\n <AceEditor\n ref={aceEditorRef}\n mode={mode}\n theme={theme}\n width=\"100%\"\n onChange={handleCodeChange}\n name={inputProps.id}\n value={inputProps.value}\n markers={\n value && value.highlightedLines\n ? createHighlightMarkers(value.highlightedLines)\n : undefined\n }\n onLoad={handleEditorLoad}\n readOnly={readOnly}\n tabSize={2}\n wrapEnabled\n setOptions={ACE_SET_OPTIONS}\n editorProps={ACE_EDITOR_PROPS}\n onFocus={handleCodeFocus}\n onBlur={onBlur}\n />\n </Suspense>\n )}\n </EditorContainer>\n )\n },\n [\n AceEditor,\n theme,\n handleCodeChange,\n handleCodeFocus,\n handleEditorLoad,\n mode,\n 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 setMounted(true)\n }, [])\n\n return mounted ? AceEditorLazy : null\n}\n","import React, {Suspense, useCallback, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {Box} from '@sanity/ui'\nimport {ACE_EDITOR_PROPS, ACE_SET_OPTIONS} from './config'\nimport createHighlightMarkers from './createHighlightMarkers'\nimport {CodeInputType, CodeInputValue} from './types'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\n\nconst PreviewContainer = styled(Box)`\n position: relative;\n`\n\nconst PreviewInner = styled(Box)`\n background-color: #272822;\n\n .ace_editor {\n box-sizing: border-box;\n cursor: default;\n pointer-events: none;\n }\n\n .ace_content {\n box-sizing: border-box;\n overflow: hidden;\n }\n`\n\nexport interface PreviewCodeProps {\n type?: CodeInputType\n value?: CodeInputValue\n}\n\nexport default function PreviewCode(props: PreviewCodeProps) {\n const aceEditorRef = useRef<any>()\n\n useEffect(() => {\n if (!aceEditorRef?.current) return\n\n const editor = aceEditorRef.current?.editor\n\n if (editor) {\n // Avoid cursor and focus tracking by Ace\n editor.renderer.$cursorLayer.element.style.opacity = 0\n editor.textInput.getElement().disabled = true\n }\n }, [])\n\n const handleEditorChange = useCallback(() => {\n // do nothing when the editor changes\n }, [])\n\n const {value, type} = props\n const fixedLanguage = type?.options?.language\n\n const mode = value?.language || fixedLanguage || 'text'\n const AceEditor = useAceEditor()\n\n return (\n <PreviewContainer>\n <PreviewInner padding={4}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code editor...</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={(value && value.code) || ''}\n markers={\n value && value.highlightedLines\n ? createHighlightMarkers(value.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'\nimport schema from './schema'\nimport PreviewCode from './PreviewCode'\n\nexport type {CodeInputProps, CodeSchemaType} from './CodeInput'\nexport type {CodeInputLanguage, CodeInputValue} from './types'\nexport {PreviewCode}\n\nexport const codeInput = createPlugin({\n name: '@sanity/code-input',\n schema: {types: [schema]},\n})\n","import {CodeBlockIcon} from '@sanity/icons'\nimport {CodeInput} from './CodeInput'\nimport PreviewCode, {PreviewCodeProps} from './PreviewCode'\nimport {getMedia} from './getMedia'\nimport {defineType} from 'sanity'\n\nexport type {CodeInputProps, CodeSchemaType} from './CodeInput'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\nexport type {PreviewCode, PreviewCodeProps, CodeInput}\n\nexport default defineType({\n name: 'code',\n type: 'object',\n title: 'Code',\n components: {input: CodeInput, preview: PreviewCode},\n icon: CodeBlockIcon,\n fields: [\n {\n name: 'language',\n title: 'Language',\n type: 'string',\n },\n {\n name: 'filename',\n title: 'Filename',\n type: 'string',\n },\n {\n title: 'Code',\n name: 'code',\n type: 'text',\n },\n {\n title: 'Highlighted lines',\n name: 'highlightedLines',\n type: 'array',\n of: [\n {\n type: 'number',\n title: 'Highlighted line',\n },\n ],\n },\n ],\n preview: {\n select: {\n language: 'language',\n code: 'code',\n filename: 'filename',\n highlightedLines: 'highlightedLines',\n },\n prepare: (value: {\n language?: string\n code?: string\n filename?: string\n highlightedLines?: number[]\n }) => {\n return {\n title: value.filename || (value.language || 'unknown').toUpperCase(),\n media: getMedia(value?.language),\n }\n },\n },\n})\n","/* eslint-disable react/jsx-handler-names */\nimport React, {Suspense, useCallback, useEffect, useImperativeHandle, useMemo, useRef} from 'react'\nimport {FieldMember, MemberField, ObjectInputProps, set, setIfMissing, unset} from 'sanity/form'\nimport {InputProps, ObjectSchemaType, StringInputProps, useColorScheme} from 'sanity'\nimport {Card, Select, Stack, ThemeColorSchemeKey} from '@sanity/ui'\nimport styled from 'styled-components'\nimport createHighlightMarkers, {highlightMarkersCSS} from './createHighlightMarkers'\nimport {CodeInputLanguage, CodeInputValue} from './types'\nimport {\n ACE_EDITOR_PROPS,\n ACE_SET_OPTIONS,\n DEFAULT_DARK_THEME,\n DEFAULT_THEME,\n LANGUAGE_ALIASES,\n PATH_CODE,\n SUPPORTED_LANGUAGES,\n SUPPORTED_THEMES,\n} from './config'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\n\nconst EditorContainer = styled(Card)`\n position: relative;\n box-sizing: border-box;\n overflow: hidden;\n z-index: 0;\n\n .ace_editor {\n font-family: ${({theme}) => theme.sanity.fonts.code.family};\n font-size: ${({theme}) => theme.sanity.fonts.code.sizes[1]};\n line-height: inherit;\n }\n\n ${highlightMarkersCSS}\n\n &:not([disabled]):not([readonly]) {\n &:focus,\n &:focus-within {\n box-shadow: 0 0 0 2px ${({theme}) => theme.sanity.color.base.focusRing};\n background-color: ${({theme}) => theme.sanity.color.base.bg};\n border-color: ${({theme}) => theme.sanity.color.base.focusRing};\n }\n }\n`\n\nexport type CodeSchemaType = Omit<ObjectSchemaType, 'options'> & {\n options?: {\n theme?: string\n darkTheme?: string\n languageAlternatives: CodeInputLanguage[]\n language: string\n withFilename?: boolean\n }\n}\n\nexport type CodeInputProps = ObjectInputProps<CodeInputValue, CodeSchemaType> & {\n /** @internal */\n colorScheme?: ThemeColorSchemeKey\n}\n\n// Returns a string with the mode name if supported (because aliases), otherwise false\nfunction isSupportedLanguage(mode: string) {\n const alias = LANGUAGE_ALIASES[mode]\n\n if (alias) {\n return alias\n }\n\n const isSupported = SUPPORTED_LANGUAGES.find((lang) => lang.value === mode)\n if (isSupported) {\n return mode\n }\n\n return false\n}\n\nexport function CodeInput(props: CodeInputProps) {\n const {\n members,\n elementProps,\n onChange,\n onFocusPath,\n readOnly,\n renderField,\n renderInput,\n renderItem,\n renderPreview,\n schemaType: type,\n value,\n } = props\n\n const aceEditorRef = useRef<any>()\n\n const fieldMembers = useMemo(\n () => members.filter((member) => member.kind === 'field') as FieldMember[],\n [members]\n )\n\n const languageFieldMember = fieldMembers.find((member) => member.name === 'language')\n const filenameMember = fieldMembers.find((member) => member.name === 'filename')\n const codeFieldMember = fieldMembers.find((member) => member.name === 'code')\n\n useImperativeHandle(elementProps.ref, () => ({\n focus: () => {\n aceEditorRef?.current?.editor?.focus()\n },\n }))\n\n const handleCodeFocus = useCallback(() => {\n onFocusPath(PATH_CODE)\n }, [onFocusPath])\n\n const {scheme} = useColorScheme()\n\n const theme = useMemo(() => {\n const isLight = scheme === 'light'\n const preferredTheme = isLight ? type.options?.theme : type.options?.darkTheme\n const defaultTheme = isLight ? DEFAULT_THEME : DEFAULT_DARK_THEME\n return preferredTheme && SUPPORTED_THEMES.find((t) => t === preferredTheme)\n ? preferredTheme\n : defaultTheme\n }, [type, scheme])\n\n const handleToggleSelectLine = useCallback(\n (lineNumber: number) => {\n const editorSession = aceEditorRef.current?.editor?.getSession()\n const backgroundMarkers = editorSession?.getMarkers(true)\n const currentHighlightedLines = Object.keys(backgroundMarkers)\n .filter((key) => backgroundMarkers[key].type === 'screenLine')\n .map((key) => backgroundMarkers[key].range.start.row)\n const currentIndex = currentHighlightedLines.indexOf(lineNumber)\n if (currentIndex > -1) {\n // toggle remove\n currentHighlightedLines.splice(currentIndex, 1)\n } else {\n // toggle add\n currentHighlightedLines.push(lineNumber)\n currentHighlightedLines.sort()\n }\n onChange(\n set(\n currentHighlightedLines.map(\n (line) =>\n // ace starts at line (row) 0, but we store it starting at line 1\n line + 1\n ),\n ['highlightedLines']\n )\n )\n },\n [aceEditorRef, onChange]\n )\n\n const handleGutterMouseDown = useCallback(\n (event: any) => {\n const target = event.domEvent.target\n if (target.classList.contains('ace_gutter-cell')) {\n const row = event.getDocumentPosition().row\n handleToggleSelectLine(row)\n }\n },\n [handleToggleSelectLine]\n )\n\n useEffect(() => {\n const editor = aceEditorRef?.current?.editor\n return () => {\n editor?.session?.removeListener('guttermousedown', handleGutterMouseDown)\n }\n }, [aceEditorRef, handleGutterMouseDown])\n\n const handleEditorLoad = useCallback(\n (editor: any) => {\n editor?.on('guttermousedown', handleGutterMouseDown)\n },\n [handleGutterMouseDown]\n )\n\n const getLanguageAlternatives = useCallback((): {\n title: string\n value: string\n mode?: string\n }[] => {\n const languageAlternatives = type.options?.languageAlternatives\n if (!languageAlternatives) {\n return SUPPORTED_LANGUAGES\n }\n\n if (!Array.isArray(languageAlternatives)) {\n throw new Error(\n `'options.languageAlternatives' should be an array, got ${typeof languageAlternatives}`\n )\n }\n\n return languageAlternatives.reduce((acc: CodeInputLanguage[], {title, value: val, mode}) => {\n const alias = LANGUAGE_ALIASES[val]\n if (alias) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language with value \"%s\", which is an alias of \"%s\" - please replace the value to read \"%s\"`,\n val,\n alias,\n alias\n )\n\n return acc.concat({title, value: alias, mode: mode})\n }\n\n if (!mode && !SUPPORTED_LANGUAGES.find((lang) => lang.value === val)) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language which is not supported: \"%s\", syntax highlighting will be disabled.`,\n val\n )\n }\n\n return acc.concat({title, value: val, mode})\n }, [])\n }, [type])\n\n const handleCodeChange = useCallback(\n (code: string) => {\n const path = PATH_CODE\n const fixedLanguage = type.options?.language\n\n onChange([\n setIfMissing({_type: type.name, language: fixedLanguage}),\n code ? set(code, path) : unset(path),\n ])\n },\n [onChange, type]\n )\n\n const languages = getLanguageAlternatives().slice()\n\n const fixedLanguage = type.options?.language\n\n const language = value?.language || fixedLanguage\n\n // the language config from the schema\n const configured = languages.find((entry) => entry.value === language)\n\n // is the language officially supported (e.g. we import the mode by default)\n const supported = language && isSupportedLanguage(language)\n\n const mode = configured?.mode || (supported ? language : 'text')\n\n const renderLanguageInput = useCallback(\n (inputProps: InputProps) => {\n return (\n <Select\n {...(inputProps as StringInputProps)}\n onChange={(e) => {\n const newValue = e.currentTarget.value\n inputProps.onChange(newValue ? set(newValue) : unset())\n }}\n >\n {languages.map((lang: {title: string; value: string}) => (\n <option key={lang.value} value={lang.value}>\n {lang.title}\n </option>\n ))}\n </Select>\n )\n },\n [languages]\n )\n\n const AceEditor = useAceEditor()\n\n const renderCodeInput = useCallback(\n (inputProps) => {\n return (\n <EditorContainer radius={1} shadow={1} readOnly={readOnly}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code editor...</div>}>\n <AceEditor\n ref={aceEditorRef}\n mode={mode}\n theme={theme}\n width=\"100%\"\n onChange={handleCodeChange}\n name={inputProps.id}\n value={inputProps.value}\n markers={\n value && value.highlightedLines\n ? createHighlightMarkers(value.highlightedLines)\n : undefined\n }\n onLoad={handleEditorLoad}\n readOnly={readOnly}\n tabSize={2}\n wrapEnabled\n setOptions={ACE_SET_OPTIONS}\n editorProps={ACE_EDITOR_PROPS}\n onFocus={handleCodeFocus}\n onBlur={elementProps.onBlur}\n />\n </Suspense>\n )}\n </EditorContainer>\n )\n },\n [\n AceEditor,\n theme,\n handleCodeChange,\n handleCodeFocus,\n handleEditorLoad,\n mode,\n elementProps.onBlur,\n readOnly,\n value,\n ]\n )\n\n return (\n <Stack space={4}>\n {languageFieldMember && (\n <MemberField\n member={languageFieldMember}\n renderItem={renderItem}\n renderField={renderField}\n renderInput={renderLanguageInput}\n renderPreview={renderPreview}\n />\n )}\n\n {type.options?.withFilename && filenameMember && (\n <MemberField\n member={filenameMember}\n renderItem={renderItem}\n renderField={renderField}\n renderInput={renderInput}\n renderPreview={renderPreview}\n />\n )}\n\n {codeFieldMember && (\n <MemberField\n member={codeFieldMember}\n renderInput={renderCodeInput}\n renderItem={renderItem}\n renderField={renderField}\n renderPreview={renderPreview}\n />\n )}\n </Stack>\n )\n}\n","import type {IMarker} from 'react-ace'\nimport {css} from 'styled-components'\n\nexport const highlightMarkersCSS = css`\n .ace_editor_markers_highlight {\n position: absolute;\n background-color: ${({theme}) => theme.sanity.color.solid.primary.enabled.bg};\n opacity: 0.2;\n width: 100% !important;\n border-radius: 0 !important;\n }\n`\n\nexport default function createHighlightMarkers(rows: number[]): IMarker[] {\n return rows.map((row) => ({\n startRow: Number(row) - 1,\n startCol: 0,\n endRow: Number(row) - 1,\n endCol: +Infinity,\n className: 'ace_editor_markers_highlight',\n type: 'screenLine',\n inFront: true,\n }))\n}\n","import {CodeInputLanguage} from './types'\n\n// NOTE: MAKE SURE THESE ALIGN WITH IMPORTS IN ./ace-editor/editorSupport\nexport const SUPPORTED_LANGUAGES: CodeInputLanguage[] = [\n {title: 'Batch file', value: 'batchfile'},\n {title: 'C#', value: 'csharp'},\n {title: 'CSS', value: 'css'},\n {title: 'Go', value: 'golang'},\n {title: 'GROQ', value: 'groq'},\n {title: 'HTML', value: 'html'},\n {title: 'Java', value: 'java'},\n {title: 'JavaScript', value: 'javascript'},\n {title: 'JSON', value: 'json'},\n {title: 'JSX', value: 'jsx'},\n {title: 'Markdown', value: 'markdown'},\n {title: 'MySQL', value: 'mysql'},\n {title: 'PHP', value: 'php'},\n {title: 'Plain text', value: 'text'},\n {title: 'Python', value: 'python'},\n {title: 'Ruby', value: 'ruby'},\n {title: 'SASS', value: 'sass'},\n {title: 'SCSS', value: 'scss'},\n {title: 'sh', value: 'sh'},\n {title: 'TSX', value: 'tsx'},\n {title: 'TypeScript', value: 'typescript'},\n {title: 'XML', value: 'xml'},\n {title: 'YAML', value: 'yaml'},\n]\n\nexport const LANGUAGE_ALIASES: Record<string, string | undefined> = {js: 'javascript'}\n\nexport const SUPPORTED_THEMES = ['github', 'monokai', 'terminal', 'tomorrow']\n\nexport const DEFAULT_THEME = 'tomorrow'\nexport const DEFAULT_DARK_THEME = 'monokai'\n\nexport const ACE_SET_OPTIONS = {\n useSoftTabs: true,\n navigateWithinSoftTabs: true /* note only supported by ace v1.2.7 or higher */,\n}\n\nexport const ACE_EDITOR_PROPS = {$blockScrolling: true}\n\nexport const PATH_LANGUAGE = ['language']\nexport const PATH_CODE = ['code']\nexport const PATH_FILENAME = ['filename']\n","import React, {useEffect, useState} from 'react'\n\n/**\n * AceEditor loads window global directly when imported, which crashes in node envs.\n * This works around the issue by only importing ace-dependencies when window is defined.\n *\n * We only set the ace lazy component after mounting, to allow us to render null on the server,\n * and use suspense on the client. This will make hydration work correctly.\n */\nexport const AceEditorLazy = React.lazy(() => import('./editorSupport'))\n\nexport function useAceEditor() {\n const [mounted, setMounted] = useState(false)\n useEffect(() => {\n setMounted(true)\n }, [])\n\n return mounted ? AceEditorLazy : null\n}\n","import React, {Suspense, useCallback, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {Box} from '@sanity/ui'\nimport {ACE_EDITOR_PROPS, ACE_SET_OPTIONS} from './config'\nimport createHighlightMarkers from './createHighlightMarkers'\nimport {CodeInputType, CodeInputValue} from './types'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\n\nconst PreviewContainer = styled(Box)`\n position: relative;\n`\n\nconst PreviewInner = styled(Box)`\n background-color: #272822;\n\n .ace_editor {\n box-sizing: border-box;\n cursor: default;\n pointer-events: none;\n }\n\n .ace_content {\n box-sizing: border-box;\n overflow: hidden;\n }\n`\n\nexport interface PreviewCodeProps {\n type?: CodeInputType\n value?: CodeInputValue\n}\n\nexport default function PreviewCode(props: PreviewCodeProps) {\n const aceEditorRef = useRef<any>()\n\n useEffect(() => {\n if (!aceEditorRef?.current) return\n\n const editor = aceEditorRef.current?.editor\n\n if (editor) {\n // Avoid cursor and focus tracking by Ace\n editor.renderer.$cursorLayer.element.style.opacity = 0\n editor.textInput.getElement().disabled = true\n }\n }, [])\n\n const handleEditorChange = useCallback(() => {\n // do nothing when the editor changes\n }, [])\n\n const {value, type} = props\n const fixedLanguage = type?.options?.language\n\n const mode = value?.language || fixedLanguage || 'text'\n const AceEditor = useAceEditor()\n\n return (\n <PreviewContainer>\n <PreviewInner padding={4}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code editor...</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={(value && value.code) || ''}\n markers={\n value && value.highlightedLines\n ? createHighlightMarkers(value.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanity/code-input",
3
- "version": "3.0.0-v3-studio-async-test.0",
3
+ "version": "3.0.0-v3-studio.8",
4
4
  "description": "Ace editor for editing code",
5
5
  "source": "./src/index.ts",
6
6
  "exports": {
@@ -45,20 +45,20 @@
45
45
  ],
46
46
  "dependencies": {
47
47
  "@sanity/icons": "^1.2.8",
48
- "@sanity/incompatible-plugin": "^1.0.0",
49
- "@sanity/ui": "^0.37.8",
48
+ "@sanity/incompatible-plugin": "^1.0.1",
49
+ "@sanity/ui": "^0.38.2",
50
50
  "ace-builds": "^1.9.5",
51
51
  "react-ace": "^10.1.0"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@babel/preset-env": "^7.18.10",
55
55
  "@babel/preset-react": "^7.18.6",
56
- "@commitlint/cli": "^16.1.0",
57
- "@commitlint/config-conventional": "^15.0.0",
56
+ "@commitlint/cli": "^17.1.2",
57
+ "@commitlint/config-conventional": "^17.1.0",
58
58
  "@parcel/packager-ts": "^2.6.0",
59
59
  "@parcel/transformer-typescript-types": "^2.6.0",
60
- "@sanity/plugin-kit": "^1.0.0",
61
- "@sanity/semantic-release-preset": "^1.1.3",
60
+ "@sanity/plugin-kit": "^1.1.0-ecosystem-preset.5",
61
+ "@sanity/semantic-release-preset": "^2.0.1",
62
62
  "@testing-library/jest-dom": "^5.16.5",
63
63
  "@testing-library/react": "^12.1.3",
64
64
  "@types/jest": "^28.1.6",
@@ -71,21 +71,23 @@
71
71
  "eslint-plugin-prettier": "4.0.0",
72
72
  "eslint-plugin-react": "^7.28.0",
73
73
  "eslint-plugin-react-hooks": "^4.5.0",
74
- "husky": "^7.0.0",
74
+ "husky": "^8.0.1",
75
75
  "jest": "^28.1.3",
76
76
  "jest-environment-jsdom": "^28.1.3",
77
- "lint-staged": "^12.4.1",
77
+ "lint-staged": "^13.0.3",
78
78
  "parcel": "^2.6.0",
79
79
  "prettier": "^2.6.2",
80
80
  "react": "^17.0.0",
81
+ "react-dom": "^17.0.0",
81
82
  "rimraf": "^3.0.2",
82
- "sanity": "^3.0.0-dev-preview.13",
83
+ "sanity": "3.0.0-dev-preview.17",
83
84
  "styled-components": "^5.2.0",
84
85
  "ts-jest": "^28.0.7",
85
- "typescript": "^4.6.4"
86
+ "typescript": "4.7.4"
86
87
  },
87
88
  "peerDependencies": {
88
89
  "react": "^17.0.0 || ^18.0.0",
90
+ "react-dom": "^17.0.0 || ^18.0.0",
89
91
  "sanity": "dev-preview",
90
92
  "styled-components": "^5.2.0"
91
93
  },
package/src/CodeInput.tsx CHANGED
@@ -77,9 +77,8 @@ function isSupportedLanguage(mode: string) {
77
77
 
78
78
  export function CodeInput(props: CodeInputProps) {
79
79
  const {
80
- focusRef,
81
80
  members,
82
- onBlur,
81
+ elementProps,
83
82
  onChange,
84
83
  onFocusPath,
85
84
  readOnly,
@@ -102,7 +101,7 @@ export function CodeInput(props: CodeInputProps) {
102
101
  const filenameMember = fieldMembers.find((member) => member.name === 'filename')
103
102
  const codeFieldMember = fieldMembers.find((member) => member.name === 'code')
104
103
 
105
- useImperativeHandle(focusRef, () => ({
104
+ useImperativeHandle(elementProps.ref, () => ({
106
105
  focus: () => {
107
106
  aceEditorRef?.current?.editor?.focus()
108
107
  },
@@ -296,7 +295,7 @@ export function CodeInput(props: CodeInputProps) {
296
295
  setOptions={ACE_SET_OPTIONS}
297
296
  editorProps={ACE_EDITOR_PROPS}
298
297
  onFocus={handleCodeFocus}
299
- onBlur={onBlur}
298
+ onBlur={elementProps.onBlur}
300
299
  />
301
300
  </Suspense>
302
301
  )}
@@ -310,7 +309,7 @@ export function CodeInput(props: CodeInputProps) {
310
309
  handleCodeFocus,
311
310
  handleEditorLoad,
312
311
  mode,
313
- onBlur,
312
+ elementProps.onBlur,
314
313
  readOnly,
315
314
  value,
316
315
  ]