@sanity/code-input 3.0.0-v3-studio.9 → 3.0.0-v3-studio.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/index.js CHANGED
@@ -2,7 +2,6 @@ var $k7rGe$sanity = require("sanity");
2
2
  var $k7rGe$sanityicons = require("@sanity/icons");
3
3
  var $k7rGe$reactjsxruntime = require("react/jsx-runtime");
4
4
  var $k7rGe$react = require("react");
5
- var $k7rGe$sanityform = require("sanity/form");
6
5
  var $k7rGe$sanityui = require("@sanity/ui");
7
6
  var $k7rGe$styledcomponents = require("styled-components");
8
7
 
@@ -58,7 +57,8 @@ module.exports = Promise.resolve(require("./editorSupport.bbd31eae.js")).then(()
58
57
 
59
58
  $parcel$export(module.exports, "codeInput", () => $244e63ca53592e4d$export$d18430c17c97a000);
60
59
  $parcel$export(module.exports, "PreviewCode", () => $15530f24e7c40879$export$2e2bcd8739ae039);
61
-
60
+ $parcel$export(module.exports, "codeSchema", () => $fcd6ef024a3d4c8a$export$16f09c53a832d04e);
61
+ $parcel$export(module.exports, "codeTypeName", () => $fcd6ef024a3d4c8a$export$f55f5272394eafb2);
62
62
 
63
63
 
64
64
 
@@ -296,7 +296,7 @@ function $293e4fb68be52bc5$export$20d4ca75cb144ab0(props) {
296
296
  currentHighlightedLines.push(lineNumber);
297
297
  currentHighlightedLines.sort();
298
298
  }
299
- onChange((0, $k7rGe$sanityform.set)(currentHighlightedLines.map((line)=>// ace starts at line (row) 0, but we store it starting at line 1
299
+ onChange((0, $k7rGe$sanity.set)(currentHighlightedLines.map((line)=>// ace starts at line (row) 0, but we store it starting at line 1
300
300
  line + 1), [
301
301
  "highlightedLines"
302
302
  ]));
@@ -357,30 +357,30 @@ function $293e4fb68be52bc5$export$20d4ca75cb144ab0(props) {
357
357
  const path = (0, $8fdae771dbccc774$export$e1d3cf7d57c23d0f);
358
358
  const fixedLanguage = type.options?.language;
359
359
  onChange([
360
- (0, $k7rGe$sanityform.setIfMissing)({
360
+ (0, $k7rGe$sanity.setIfMissing)({
361
361
  _type: type.name,
362
362
  language: fixedLanguage
363
363
  }),
364
- code ? (0, $k7rGe$sanityform.set)(code, path) : (0, $k7rGe$sanityform.unset)(path),
364
+ code ? (0, $k7rGe$sanity.set)(code, path) : (0, $k7rGe$sanity.unset)(path),
365
365
  ]);
366
366
  }, [
367
367
  onChange,
368
368
  type
369
369
  ]);
370
370
  const languages = getLanguageAlternatives().slice();
371
- const fixedLanguage = type.options?.language;
372
- const language = value?.language || fixedLanguage;
371
+ const fixedLanguage1 = type.options?.language;
372
+ const language = value?.language || fixedLanguage1;
373
373
  // the language config from the schema
374
374
  const configured = languages.find((entry)=>entry.value === language);
375
375
  // is the language officially supported (e.g. we import the mode by default)
376
376
  const supported = language && $293e4fb68be52bc5$var$isSupportedLanguage(language);
377
- const mode = configured?.mode || (supported ? language : "text");
377
+ const mode1 = configured?.mode || (supported ? language : "text");
378
378
  const renderLanguageInput = (0, $k7rGe$react.useCallback)((inputProps)=>{
379
379
  return /*#__PURE__*/ (0, $k7rGe$reactjsxruntime.jsx)((0, $k7rGe$sanityui.Select), {
380
380
  ...inputProps,
381
381
  onChange: (e)=>{
382
382
  const newValue = e.currentTarget.value;
383
- inputProps.onChange(newValue ? (0, $k7rGe$sanityform.set)(newValue) : (0, $k7rGe$sanityform.unset)());
383
+ inputProps.onChange(newValue ? (0, $k7rGe$sanity.set)(newValue) : (0, $k7rGe$sanity.unset)());
384
384
  },
385
385
  children: languages.map((lang)=>/*#__PURE__*/ (0, $k7rGe$reactjsxruntime.jsx)("option", {
386
386
  value: lang.value,
@@ -402,7 +402,7 @@ function $293e4fb68be52bc5$export$20d4ca75cb144ab0(props) {
402
402
  }),
403
403
  children: /*#__PURE__*/ (0, $k7rGe$reactjsxruntime.jsx)(AceEditor, {
404
404
  ref: aceEditorRef,
405
- mode: mode,
405
+ mode: mode1,
406
406
  theme: theme,
407
407
  width: "100%",
408
408
  onChange: handleCodeChange,
@@ -426,7 +426,7 @@ function $293e4fb68be52bc5$export$20d4ca75cb144ab0(props) {
426
426
  handleCodeChange,
427
427
  handleCodeFocus,
428
428
  handleEditorLoad,
429
- mode,
429
+ mode1,
430
430
  elementProps.onBlur,
431
431
  readOnly,
432
432
  value,
@@ -434,21 +434,21 @@ function $293e4fb68be52bc5$export$20d4ca75cb144ab0(props) {
434
434
  return /*#__PURE__*/ (0, $k7rGe$reactjsxruntime.jsxs)((0, $k7rGe$sanityui.Stack), {
435
435
  space: 4,
436
436
  children: [
437
- languageFieldMember && /*#__PURE__*/ (0, $k7rGe$reactjsxruntime.jsx)((0, $k7rGe$sanityform.MemberField), {
437
+ languageFieldMember && /*#__PURE__*/ (0, $k7rGe$reactjsxruntime.jsx)((0, $k7rGe$sanity.MemberField), {
438
438
  member: languageFieldMember,
439
439
  renderItem: renderItem,
440
440
  renderField: renderField,
441
441
  renderInput: renderLanguageInput,
442
442
  renderPreview: renderPreview
443
443
  }),
444
- type.options?.withFilename && filenameMember && /*#__PURE__*/ (0, $k7rGe$reactjsxruntime.jsx)((0, $k7rGe$sanityform.MemberField), {
444
+ type.options?.withFilename && filenameMember && /*#__PURE__*/ (0, $k7rGe$reactjsxruntime.jsx)((0, $k7rGe$sanity.MemberField), {
445
445
  member: filenameMember,
446
446
  renderItem: renderItem,
447
447
  renderField: renderField,
448
448
  renderInput: renderInput,
449
449
  renderPreview: renderPreview
450
450
  }),
451
- codeFieldMember && /*#__PURE__*/ (0, $k7rGe$reactjsxruntime.jsx)((0, $k7rGe$sanityform.MemberField), {
451
+ codeFieldMember && /*#__PURE__*/ (0, $k7rGe$reactjsxruntime.jsx)((0, $k7rGe$sanity.MemberField), {
452
452
  member: codeFieldMember,
453
453
  renderInput: renderCodeInput,
454
454
  renderItem: renderItem,
@@ -659,7 +659,8 @@ function $c676b2e7a96a4665$export$a854ab43349813f2(language) {
659
659
 
660
660
 
661
661
 
662
- var $fcd6ef024a3d4c8a$export$2e2bcd8739ae039 = (0, $k7rGe$sanity.defineType)({
662
+ const $fcd6ef024a3d4c8a$export$f55f5272394eafb2 = "code";
663
+ const $fcd6ef024a3d4c8a$export$16f09c53a832d04e = (0, $k7rGe$sanity.defineType)({
663
664
  name: "code",
664
665
  type: "object",
665
666
  title: "Code",
@@ -719,7 +720,7 @@ const $244e63ca53592e4d$export$d18430c17c97a000 = (0, $k7rGe$sanity.createPlugin
719
720
  name: "@sanity/code-input",
720
721
  schema: {
721
722
  types: [
722
- (0, $fcd6ef024a3d4c8a$export$2e2bcd8739ae039)
723
+ (0, $fcd6ef024a3d4c8a$export$16f09c53a832d04e)
723
724
  ]
724
725
  }
725
726
  });
@@ -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 selection: value,\n }\n },\n },\n})\n","/* eslint-disable react/jsx-handler-names */\nimport React, {Suspense, useCallback, useEffect, useImperativeHandle, useMemo, useRef} from 'react'\nimport {FieldMember, MemberField, ObjectInputProps, set, setIfMissing, unset} from 'sanity/form'\nimport {InputProps, ObjectSchemaType, StringInputProps, useColorScheme} from 'sanity'\nimport {Card, Select, Stack, ThemeColorSchemeKey} from '@sanity/ui'\nimport styled from 'styled-components'\nimport createHighlightMarkers, {highlightMarkersCSS} from './createHighlightMarkers'\nimport {CodeInputLanguage, CodeInputValue} from './types'\nimport {\n ACE_EDITOR_PROPS,\n ACE_SET_OPTIONS,\n DEFAULT_DARK_THEME,\n DEFAULT_THEME,\n LANGUAGE_ALIASES,\n PATH_CODE,\n SUPPORTED_LANGUAGES,\n SUPPORTED_THEMES,\n} from './config'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\n\nconst EditorContainer = styled(Card)`\n position: relative;\n box-sizing: border-box;\n overflow: hidden;\n z-index: 0;\n\n .ace_editor {\n font-family: ${({theme}) => theme.sanity.fonts.code.family};\n font-size: ${({theme}) => theme.sanity.fonts.code.sizes[1]};\n line-height: inherit;\n }\n\n ${highlightMarkersCSS}\n\n &:not([disabled]):not([readonly]) {\n &:focus,\n &:focus-within {\n box-shadow: 0 0 0 2px ${({theme}) => theme.sanity.color.base.focusRing};\n background-color: ${({theme}) => theme.sanity.color.base.bg};\n border-color: ${({theme}) => theme.sanity.color.base.focusRing};\n }\n }\n`\n\nexport type CodeSchemaType = Omit<ObjectSchemaType, 'options'> & {\n options?: {\n theme?: string\n darkTheme?: string\n languageAlternatives: CodeInputLanguage[]\n language: string\n withFilename?: boolean\n }\n}\n\nexport type CodeInputProps = ObjectInputProps<CodeInputValue, CodeSchemaType> & {\n /** @internal */\n colorScheme?: ThemeColorSchemeKey\n}\n\n// Returns a string with the mode name if supported (because aliases), otherwise false\nfunction isSupportedLanguage(mode: string) {\n const alias = LANGUAGE_ALIASES[mode]\n\n if (alias) {\n return alias\n }\n\n const isSupported = SUPPORTED_LANGUAGES.find((lang) => lang.value === mode)\n if (isSupported) {\n return mode\n }\n\n return false\n}\n\nexport function CodeInput(props: CodeInputProps) {\n const {\n members,\n elementProps,\n onChange,\n onFocusPath,\n readOnly,\n renderField,\n renderInput,\n renderItem,\n renderPreview,\n schemaType: type,\n value,\n } = props\n\n const aceEditorRef = useRef<any>()\n\n const fieldMembers = useMemo(\n () => members.filter((member) => member.kind === 'field') as FieldMember[],\n [members]\n )\n\n const languageFieldMember = fieldMembers.find((member) => member.name === 'language')\n const filenameMember = fieldMembers.find((member) => member.name === 'filename')\n const codeFieldMember = fieldMembers.find((member) => member.name === 'code')\n\n useImperativeHandle(elementProps.ref, () => ({\n focus: () => {\n aceEditorRef?.current?.editor?.focus()\n },\n }))\n\n const handleCodeFocus = useCallback(() => {\n onFocusPath(PATH_CODE)\n }, [onFocusPath])\n\n const {scheme} = useColorScheme()\n\n const theme = useMemo(() => {\n const isLight = scheme === 'light'\n const preferredTheme = isLight ? type.options?.theme : type.options?.darkTheme\n const defaultTheme = isLight ? DEFAULT_THEME : DEFAULT_DARK_THEME\n return preferredTheme && SUPPORTED_THEMES.find((t) => t === preferredTheme)\n ? preferredTheme\n : defaultTheme\n }, [type, scheme])\n\n const handleToggleSelectLine = useCallback(\n (lineNumber: number) => {\n const editorSession = aceEditorRef.current?.editor?.getSession()\n const backgroundMarkers = editorSession?.getMarkers(true)\n const currentHighlightedLines = Object.keys(backgroundMarkers)\n .filter((key) => backgroundMarkers[key].type === 'screenLine')\n .map((key) => backgroundMarkers[key].range.start.row)\n const currentIndex = currentHighlightedLines.indexOf(lineNumber)\n if (currentIndex > -1) {\n // toggle remove\n currentHighlightedLines.splice(currentIndex, 1)\n } else {\n // toggle add\n currentHighlightedLines.push(lineNumber)\n currentHighlightedLines.sort()\n }\n onChange(\n set(\n currentHighlightedLines.map(\n (line) =>\n // ace starts at line (row) 0, but we store it starting at line 1\n line + 1\n ),\n ['highlightedLines']\n )\n )\n },\n [aceEditorRef, onChange]\n )\n\n const handleGutterMouseDown = useCallback(\n (event: any) => {\n const target = event.domEvent.target\n if (target.classList.contains('ace_gutter-cell')) {\n const row = event.getDocumentPosition().row\n handleToggleSelectLine(row)\n }\n },\n [handleToggleSelectLine]\n )\n\n useEffect(() => {\n const editor = aceEditorRef?.current?.editor\n return () => {\n editor?.session?.removeListener('guttermousedown', handleGutterMouseDown)\n }\n }, [aceEditorRef, handleGutterMouseDown])\n\n const handleEditorLoad = useCallback(\n (editor: any) => {\n editor?.on('guttermousedown', handleGutterMouseDown)\n },\n [handleGutterMouseDown]\n )\n\n const getLanguageAlternatives = useCallback((): {\n title: string\n value: string\n mode?: string\n }[] => {\n const languageAlternatives = type.options?.languageAlternatives\n if (!languageAlternatives) {\n return SUPPORTED_LANGUAGES\n }\n\n if (!Array.isArray(languageAlternatives)) {\n throw new Error(\n `'options.languageAlternatives' should be an array, got ${typeof languageAlternatives}`\n )\n }\n\n return languageAlternatives.reduce((acc: CodeInputLanguage[], {title, value: val, mode}) => {\n const alias = LANGUAGE_ALIASES[val]\n if (alias) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language with value \"%s\", which is an alias of \"%s\" - please replace the value to read \"%s\"`,\n val,\n alias,\n alias\n )\n\n return acc.concat({title, value: alias, mode: mode})\n }\n\n if (!mode && !SUPPORTED_LANGUAGES.find((lang) => lang.value === val)) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language which is not supported: \"%s\", syntax highlighting will be disabled.`,\n val\n )\n }\n\n return acc.concat({title, value: val, mode})\n }, [])\n }, [type])\n\n const handleCodeChange = useCallback(\n (code: string) => {\n const path = PATH_CODE\n const fixedLanguage = type.options?.language\n\n onChange([\n setIfMissing({_type: type.name, language: fixedLanguage}),\n code ? set(code, path) : unset(path),\n ])\n },\n [onChange, type]\n )\n\n const languages = getLanguageAlternatives().slice()\n\n const fixedLanguage = type.options?.language\n\n const language = value?.language || fixedLanguage\n\n // the language config from the schema\n const configured = languages.find((entry) => entry.value === language)\n\n // is the language officially supported (e.g. we import the mode by default)\n const supported = language && isSupportedLanguage(language)\n\n const mode = configured?.mode || (supported ? language : 'text')\n\n const renderLanguageInput = useCallback(\n (inputProps: InputProps) => {\n return (\n <Select\n {...(inputProps as StringInputProps)}\n onChange={(e) => {\n const newValue = e.currentTarget.value\n inputProps.onChange(newValue ? set(newValue) : unset())\n }}\n >\n {languages.map((lang: {title: string; value: string}) => (\n <option key={lang.value} value={lang.value}>\n {lang.title}\n </option>\n ))}\n </Select>\n )\n },\n [languages]\n )\n\n const AceEditor = useAceEditor()\n\n const renderCodeInput = useCallback(\n (inputProps) => {\n return (\n <EditorContainer radius={1} shadow={1} readOnly={readOnly}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code editor...</div>}>\n <AceEditor\n ref={aceEditorRef}\n mode={mode}\n theme={theme}\n width=\"100%\"\n onChange={handleCodeChange}\n name={inputProps.id}\n value={inputProps.value}\n markers={\n value && value.highlightedLines\n ? createHighlightMarkers(value.highlightedLines)\n : undefined\n }\n onLoad={handleEditorLoad}\n readOnly={readOnly}\n tabSize={2}\n wrapEnabled\n setOptions={ACE_SET_OPTIONS}\n editorProps={ACE_EDITOR_PROPS}\n onFocus={handleCodeFocus}\n onBlur={elementProps.onBlur}\n />\n </Suspense>\n )}\n </EditorContainer>\n )\n },\n [\n AceEditor,\n theme,\n handleCodeChange,\n handleCodeFocus,\n handleEditorLoad,\n mode,\n elementProps.onBlur,\n readOnly,\n value,\n ]\n )\n\n return (\n <Stack space={4}>\n {languageFieldMember && (\n <MemberField\n member={languageFieldMember}\n renderItem={renderItem}\n renderField={renderField}\n renderInput={renderLanguageInput}\n renderPreview={renderPreview}\n />\n )}\n\n {type.options?.withFilename && filenameMember && (\n <MemberField\n member={filenameMember}\n renderItem={renderItem}\n renderField={renderField}\n renderInput={renderInput}\n renderPreview={renderPreview}\n />\n )}\n\n {codeFieldMember && (\n <MemberField\n member={codeFieldMember}\n renderInput={renderCodeInput}\n renderItem={renderItem}\n renderField={renderField}\n renderPreview={renderPreview}\n />\n )}\n </Stack>\n )\n}\n","import type {IMarker} from 'react-ace'\nimport {css} from 'styled-components'\n\nexport const highlightMarkersCSS = css`\n .ace_editor_markers_highlight {\n position: absolute;\n background-color: ${({theme}) => theme.sanity.color.solid.primary.enabled.bg};\n opacity: 0.2;\n width: 100% !important;\n border-radius: 0 !important;\n }\n`\n\nexport default function createHighlightMarkers(rows: number[]): IMarker[] {\n return rows.map((row) => ({\n startRow: Number(row) - 1,\n startCol: 0,\n endRow: Number(row) - 1,\n endCol: +Infinity,\n className: 'ace_editor_markers_highlight',\n type: 'screenLine',\n inFront: true,\n }))\n}\n","import {CodeInputLanguage} from './types'\n\n// NOTE: MAKE SURE THESE ALIGN WITH IMPORTS IN ./ace-editor/editorSupport\nexport const SUPPORTED_LANGUAGES: CodeInputLanguage[] = [\n {title: 'Batch file', value: 'batchfile'},\n {title: 'C#', value: 'csharp'},\n {title: 'CSS', value: 'css'},\n {title: 'Go', value: 'golang'},\n {title: 'GROQ', value: 'groq'},\n {title: 'HTML', value: 'html'},\n {title: 'Java', value: 'java'},\n {title: 'JavaScript', value: 'javascript'},\n {title: 'JSON', value: 'json'},\n {title: 'JSX', value: 'jsx'},\n {title: 'Markdown', value: 'markdown'},\n {title: 'MySQL', value: 'mysql'},\n {title: 'PHP', value: 'php'},\n {title: 'Plain text', value: 'text'},\n {title: 'Python', value: 'python'},\n {title: 'Ruby', value: 'ruby'},\n {title: 'SASS', value: 'sass'},\n {title: 'SCSS', value: 'scss'},\n {title: 'sh', value: 'sh'},\n {title: 'TSX', value: 'tsx'},\n {title: 'TypeScript', value: 'typescript'},\n {title: 'XML', value: 'xml'},\n {title: 'YAML', value: 'yaml'},\n]\n\nexport const LANGUAGE_ALIASES: Record<string, string | undefined> = {js: 'javascript'}\n\nexport const SUPPORTED_THEMES = ['github', 'monokai', 'terminal', 'tomorrow']\n\nexport const DEFAULT_THEME = 'tomorrow'\nexport const DEFAULT_DARK_THEME = 'monokai'\n\nexport const ACE_SET_OPTIONS = {\n useSoftTabs: true,\n navigateWithinSoftTabs: true /* note only supported by ace v1.2.7 or higher */,\n}\n\nexport const ACE_EDITOR_PROPS = {$blockScrolling: true}\n\nexport const PATH_LANGUAGE = ['language']\nexport const PATH_CODE = ['code']\nexport const PATH_FILENAME = ['filename']\n","import React, {useEffect, useState} from 'react'\n\n/**\n * AceEditor loads window global directly when imported, which crashes in node envs.\n * This works around the issue by only importing ace-dependencies when window is defined.\n *\n * We only set the ace lazy component after mounting, to allow us to render null on the server,\n * and use suspense on the client. This will make hydration work correctly.\n */\nexport const AceEditorLazy = React.lazy(() => import('./editorSupport'))\n\nexport function useAceEditor() {\n const [mounted, setMounted] = useState(false)\n useEffect(() => {\n requestAnimationFrame(() => setMounted(true))\n }, [])\n\n return mounted ? AceEditorLazy : null\n}\n","import React, {Suspense, useCallback, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {Box} from '@sanity/ui'\nimport {ACE_EDITOR_PROPS, ACE_SET_OPTIONS} from './config'\nimport createHighlightMarkers from './createHighlightMarkers'\nimport {CodeInputType, CodeInputValue} from './types'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\n\nconst PreviewContainer = styled(Box)`\n position: relative;\n`\n\nconst PreviewInner = styled(Box)`\n background-color: #272822;\n\n .ace_editor {\n box-sizing: border-box;\n cursor: default;\n pointer-events: none;\n }\n\n .ace_content {\n box-sizing: border-box;\n overflow: hidden;\n }\n`\n\nexport interface PreviewCodeProps {\n type?: CodeInputType\n value?: {selection?: CodeInputValue}\n}\n\nexport default function PreviewCode(props: PreviewCodeProps) {\n const aceEditorRef = useRef<any>()\n\n useEffect(() => {\n if (!aceEditorRef?.current) return\n\n const editor = aceEditorRef.current?.editor\n\n if (editor) {\n // Avoid cursor and focus tracking by Ace\n editor.renderer.$cursorLayer.element.style.opacity = 0\n editor.textInput.getElement().disabled = true\n }\n }, [])\n\n const handleEditorChange = useCallback(() => {\n // do nothing when the editor changes\n }, [])\n\n const {value, type} = props\n const fixedLanguage = type?.options?.language\n\n const selection = value?.selection\n const mode = selection?.language || fixedLanguage || 'text'\n\n const AceEditor = useAceEditor()\n return (\n <PreviewContainer>\n <PreviewInner padding={4}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code preview...</div>}>\n <AceEditor\n ref={aceEditorRef}\n focus={false}\n mode={mode}\n theme=\"monokai\"\n width=\"100%\"\n onChange={handleEditorChange}\n maxLines={200}\n readOnly\n wrapEnabled\n showPrintMargin={false}\n highlightActiveLine={false}\n cursorStart={-1}\n value={selection?.code || ''}\n markers={\n selection?.highlightedLines\n ? createHighlightMarkers(selection.highlightedLines)\n : undefined\n }\n tabSize={2}\n showGutter={false}\n setOptions={ACE_SET_OPTIONS}\n editorProps={ACE_EDITOR_PROPS}\n />\n </Suspense>\n )}\n </PreviewInner>\n </PreviewContainer>\n )\n}\n","import React from 'react'\n\nexport function getMedia(language?: string) {\n if (language === 'jsx') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\">\n <g fill=\"#61DAFB\">\n <circle cx=\"64\" cy=\"64\" r=\"11.4\" />\n <path d=\"M107.3 45.2c-2.2-.8-4.5-1.6-6.9-2.3.6-2.4 1.1-4.8 1.5-7.1 2.1-13.2-.2-22.5-6.6-26.1-1.9-1.1-4-1.6-6.4-1.6-7 0-15.9 5.2-24.9 13.9-9-8.7-17.9-13.9-24.9-13.9-2.4 0-4.5.5-6.4 1.6-6.4 3.7-8.7 13-6.6 26.1.4 2.3.9 4.7 1.5 7.1-2.4.7-4.7 1.4-6.9 2.3C8.2 50 1.4 56.6 1.4 64s6.9 14 19.3 18.8c2.2.8 4.5 1.6 6.9 2.3-.6 2.4-1.1 4.8-1.5 7.1-2.1 13.2.2 22.5 6.6 26.1 1.9 1.1 4 1.6 6.4 1.6 7.1 0 16-5.2 24.9-13.9 9 8.7 17.9 13.9 24.9 13.9 2.4 0 4.5-.5 6.4-1.6 6.4-3.7 8.7-13 6.6-26.1-.4-2.3-.9-4.7-1.5-7.1 2.4-.7 4.7-1.4 6.9-2.3 12.5-4.8 19.3-11.4 19.3-18.8s-6.8-14-19.3-18.8zM92.5 14.7c4.1 2.4 5.5 9.8 3.8 20.3-.3 2.1-.8 4.3-1.4 6.6-5.2-1.2-10.7-2-16.5-2.5-3.4-4.8-6.9-9.1-10.4-13 7.4-7.3 14.9-12.3 21-12.3 1.3 0 2.5.3 3.5.9zM81.3 74c-1.8 3.2-3.9 6.4-6.1 9.6-3.7.3-7.4.4-11.2.4-3.9 0-7.6-.1-11.2-.4-2.2-3.2-4.2-6.4-6-9.6-1.9-3.3-3.7-6.7-5.3-10 1.6-3.3 3.4-6.7 5.3-10 1.8-3.2 3.9-6.4 6.1-9.6 3.7-.3 7.4-.4 11.2-.4 3.9 0 7.6.1 11.2.4 2.2 3.2 4.2 6.4 6 9.6 1.9 3.3 3.7 6.7 5.3 10-1.7 3.3-3.4 6.6-5.3 10zm8.3-3.3c1.5 3.5 2.7 6.9 3.8 10.3-3.4.8-7 1.4-10.8 1.9 1.2-1.9 2.5-3.9 3.6-6 1.2-2.1 2.3-4.2 3.4-6.2zM64 97.8c-2.4-2.6-4.7-5.4-6.9-8.3 2.3.1 4.6.2 6.9.2 2.3 0 4.6-.1 6.9-.2-2.2 2.9-4.5 5.7-6.9 8.3zm-18.6-15c-3.8-.5-7.4-1.1-10.8-1.9 1.1-3.3 2.3-6.8 3.8-10.3 1.1 2 2.2 4.1 3.4 6.1 1.2 2.2 2.4 4.1 3.6 6.1zm-7-25.5c-1.5-3.5-2.7-6.9-3.8-10.3 3.4-.8 7-1.4 10.8-1.9-1.2 1.9-2.5 3.9-3.6 6-1.2 2.1-2.3 4.2-3.4 6.2zM64 30.2c2.4 2.6 4.7 5.4 6.9 8.3-2.3-.1-4.6-.2-6.9-.2-2.3 0-4.6.1-6.9.2 2.2-2.9 4.5-5.7 6.9-8.3zm22.2 21l-3.6-6c3.8.5 7.4 1.1 10.8 1.9-1.1 3.3-2.3 6.8-3.8 10.3-1.1-2.1-2.2-4.2-3.4-6.2zM31.7 35c-1.7-10.5-.3-17.9 3.8-20.3 1-.6 2.2-.9 3.5-.9 6 0 13.5 4.9 21 12.3-3.5 3.8-7 8.2-10.4 13-5.8.5-11.3 1.4-16.5 2.5-.6-2.3-1-4.5-1.4-6.6zM7 64c0-4.7 5.7-9.7 15.7-13.4 2-.8 4.2-1.5 6.4-2.1 1.6 5 3.6 10.3 6 15.6-2.4 5.3-4.5 10.5-6 15.5C15.3 75.6 7 69.6 7 64zm28.5 49.3c-4.1-2.4-5.5-9.8-3.8-20.3.3-2.1.8-4.3 1.4-6.6 5.2 1.2 10.7 2 16.5 2.5 3.4 4.8 6.9 9.1 10.4 13-7.4 7.3-14.9 12.3-21 12.3-1.3 0-2.5-.3-3.5-.9zM96.3 93c1.7 10.5.3 17.9-3.8 20.3-1 .6-2.2.9-3.5.9-6 0-13.5-4.9-21-12.3 3.5-3.8 7-8.2 10.4-13 5.8-.5 11.3-1.4 16.5-2.5.6 2.3 1 4.5 1.4 6.6zm9-15.6c-2 .8-4.2 1.5-6.4 2.1-1.6-5-3.6-10.3-6-15.6 2.4-5.3 4.5-10.5 6-15.5 13.8 4 22.1 10 22.1 15.6 0 4.7-5.8 9.7-15.7 13.4z\" />\n </g>\n </svg>\n )\n }\n\n if (language === 'javascript') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\">\n <path fill=\"#F0DB4F\" d=\"M1.408 1.408h125.184v125.185H1.408z\" />\n <path\n fill=\"#323330\"\n d=\"M116.347 96.736c-.917-5.711-4.641-10.508-15.672-14.981-3.832-1.761-8.104-3.022-9.377-5.926-.452-1.69-.512-2.642-.226-3.665.821-3.32 4.784-4.355 7.925-3.403 2.023.678 3.938 2.237 5.093 4.724 5.402-3.498 5.391-3.475 9.163-5.879-1.381-2.141-2.118-3.129-3.022-4.045-3.249-3.629-7.676-5.498-14.756-5.355l-3.688.477c-3.534.893-6.902 2.748-8.877 5.235-5.926 6.724-4.236 18.492 2.975 23.335 7.104 5.332 17.54 6.545 18.873 11.531 1.297 6.104-4.486 8.08-10.234 7.378-4.236-.881-6.592-3.034-9.139-6.949-4.688 2.713-4.688 2.713-9.508 5.485 1.143 2.499 2.344 3.63 4.26 5.795 9.068 9.198 31.76 8.746 35.83-5.176.165-.478 1.261-3.666.38-8.581zM69.462 58.943H57.753l-.048 30.272c0 6.438.333 12.34-.714 14.149-1.713 3.558-6.152 3.117-8.175 2.427-2.059-1.012-3.106-2.451-4.319-4.485-.333-.584-.583-1.036-.667-1.071l-9.52 5.83c1.583 3.249 3.915 6.069 6.902 7.901 4.462 2.678 10.459 3.499 16.731 2.059 4.082-1.189 7.604-3.652 9.448-7.401 2.666-4.915 2.094-10.864 2.07-17.444.06-10.735.001-21.468.001-32.237z\"\n />\n </svg>\n )\n }\n\n if (language === 'php') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 800 400\">\n <g transform=\"translate(-44.632 -141.55)\">\n <g transform=\"matrix(8.3528 0 0 8.3119 -727.13 -3759.5)\">\n <path d=\"m99.974 479.48h14.204c4.1693 0.0354 7.1903 1.2367 9.063 3.604 1.8726 2.3674 2.491 5.6004 1.855 9.699-0.24737 1.8727-0.79504 3.71-1.643 5.512-0.8127 1.802-1.9434 3.4273-3.392 4.876-1.7667 1.8373-3.657 3.0033-5.671 3.498-2.014 0.49467-4.0987 0.742-6.254 0.742h-6.36l-2.014 10.07h-7.367l7.579-38.001m6.201 6.042-3.18 15.9c0.21198 0.0353 0.42398 0.053 0.636 0.053h0.742c3.392 0.0353 6.2186-0.30033 8.48-1.007 2.2613-0.74199 3.7806-3.3213 4.558-7.738 0.63597-3.71-0.00003-5.8476-1.908-6.413-1.8727-0.56531-4.2224-0.83031-7.049-0.795-0.42402 0.0353-0.83035 0.053-1.219 0.053-0.35335 0.00002-0.72435 0.00002-1.113 0l0.053-0.053\" />\n <path d=\"m133.49 469.36h7.314l-2.067 10.123h6.572c3.604 0.0707 6.2893 0.81269 8.056 2.226 1.802 1.4134 2.332 4.0987 1.59 8.056l-3.551 17.649h-7.42l3.392-16.854c0.35328-1.7666 0.2473-3.021-0.318-3.763-0.56536-0.74198-1.7844-1.113-3.657-1.113l-5.883-0.053-4.346 21.783h-7.314l7.632-38.054\" />\n <path d=\"m162.81 479.48h14.204c4.1693 0.0354 7.1903 1.2367 9.063 3.604 1.8726 2.3674 2.491 5.6004 1.855 9.699-0.24737 1.8727-0.79503 3.71-1.643 5.512-0.8127 1.802-1.9434 3.4273-3.392 4.876-1.7667 1.8373-3.657 3.0033-5.671 3.498-2.014 0.49467-4.0987 0.742-6.254 0.742h-6.36l-2.014 10.07h-7.367l7.579-38.001m6.201 6.042-3.18 15.9c0.21199 0.0353 0.42399 0.053 0.636 0.053h0.742c3.392 0.0353 6.2186-0.30033 8.48-1.007 2.2613-0.74199 3.7806-3.3213 4.558-7.738 0.63597-3.71-0.00003-5.8476-1.908-6.413-1.8727-0.56531-4.2224-0.83031-7.049-0.795-0.42402 0.0353-0.83035 0.053-1.219 0.053-0.35335 0.00002-0.72435 0.00002-1.113 0l0.053-0.053\" />\n </g>\n </g>\n </svg>\n )\n }\n\n if (language === 'json') {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n viewBox=\"0 0 160 160\"\n >\n <defs>\n <linearGradient id=\"a\">\n <stop offset=\"0\" />\n <stop offset=\"1\" stopColor=\"#fff\" />\n </linearGradient>\n <linearGradient\n x1=\"-553.27\"\n y1=\"525.908\"\n x2=\"-666.116\"\n y2=\"413.045\"\n id=\"c\"\n xlinkHref=\"#a\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(.99884 0 0 .9987 689.008 -388.844)\"\n />\n <linearGradient\n x1=\"-666.117\"\n y1=\"413.045\"\n x2=\"-553.27\"\n y2=\"525.908\"\n id=\"b\"\n xlinkHref=\"#a\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(.99884 0 0 .9987 689.008 -388.844)\"\n />\n </defs>\n <path\n d=\"M79.865 119.1c35.397 48.255 70.04-13.469 69.988-50.587-.06-43.886-44.54-68.414-70.017-68.414C38.943.1 0 33.895 0 80.135 0 131.531 44.64 160 79.836 160c-7.965-1.147-34.507-6.834-34.863-67.967-.24-41.346 13.487-57.865 34.805-50.599.477.177 23.514 9.265 23.514 38.95 0 29.56-23.427 38.716-23.427 38.716z\"\n style={{marker: 'none'}}\n color=\"#000\"\n fill=\"url(#b)\"\n fillRule=\"evenodd\"\n overflow=\"visible\"\n />\n <path\n d=\"M79.823 41.4C56.433 33.34 27.78 52.618 27.78 91.23c0 63.048 46.72 68.77 52.384 68.77C121.057 160 160 126.204 160 79.964 160 28.568 115.36.1 80.164.1c9.749-1.35 52.541 10.55 52.541 69.037 0 38.141-31.953 58.905-52.735 50.033-.478-.177-23.514-9.264-23.514-38.95 0-29.56 23.367-38.818 23.367-38.818z\"\n style={{marker: 'none'}}\n color=\"#000\"\n fill=\"url(#c)\"\n fillRule=\"evenodd\"\n overflow=\"visible\"\n />\n </svg>\n )\n }\n\n return undefined\n}\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../../"}
1
+ {"mappings":"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","sources":["node_modules/@parcel/runtime-js/lib/runtime-3c15e3c40a574462.js","src/index.ts","src/schema.tsx","src/CodeInput.tsx","src/createHighlightMarkers.ts","src/config.ts","src/ace-editor/AceEditorLazy.tsx","src/PreviewCode.tsx","src/getMedia.tsx"],"sourcesContent":["module.exports = (Promise.resolve(__parcel__require__(\"./\" + \"editorSupport.bbd31eae.js\"))).then(() => parcelRequire('lMYyH'));","import {createPlugin} from 'sanity'\n\nimport {codeSchema, codeTypeName, CodeDefinition} from './schema'\nimport PreviewCode, {PreviewCodeProps} from './PreviewCode'\nexport type {CodeInputProps, CodeSchemaType, CodeOptions} from './CodeInput'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\n\nexport {PreviewCode, type PreviewCodeProps}\nexport {codeSchema, codeTypeName}\nexport type {CodeDefinition}\n/**\n * @public\n */\nexport const codeInput = createPlugin({\n name: '@sanity/code-input',\n schema: {types: [codeSchema]},\n})\n","import {CodeBlockIcon} from '@sanity/icons'\nimport {CodeInput, CodeOptions} from './CodeInput'\nimport PreviewCode, {PreviewCodeProps} from './PreviewCode'\nimport {getMedia} from './getMedia'\nimport {defineType, ObjectDefinition} from 'sanity'\n\nexport type {CodeInputProps, CodeSchemaType} from './CodeInput'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\nexport type {PreviewCode, PreviewCodeProps, CodeInput}\n\n/**\n * @public\n */\nexport const codeTypeName = 'code' as const\n\n/**\n * @public\n */\nexport interface CodeDefinition extends Omit<ObjectDefinition, 'type' | 'fields' | 'options'> {\n type: typeof codeTypeName\n options?: CodeOptions\n}\n\ndeclare module '@sanity/types' {\n // makes type: 'code' narrow correctly when using defineType/defineField/defineArrayMember\n export interface IntrinsicDefinitions {\n code: CodeDefinition\n }\n}\n\n/**\n * @public\n */\nexport const codeSchema = defineType({\n name: 'code',\n type: 'object',\n title: 'Code',\n components: {input: CodeInput, preview: PreviewCode},\n icon: CodeBlockIcon,\n fields: [\n {\n name: 'language',\n title: 'Language',\n type: 'string',\n },\n {\n name: 'filename',\n title: 'Filename',\n type: 'string',\n },\n {\n title: 'Code',\n name: 'code',\n type: 'text',\n },\n {\n title: 'Highlighted lines',\n name: 'highlightedLines',\n type: 'array',\n of: [\n {\n type: 'number',\n title: 'Highlighted line',\n },\n ],\n },\n ],\n preview: {\n select: {\n language: 'language',\n code: 'code',\n filename: 'filename',\n highlightedLines: 'highlightedLines',\n },\n prepare: (value: {\n language?: string\n code?: string\n filename?: string\n highlightedLines?: number[]\n }) => {\n return {\n title: value.filename || (value.language || 'unknown').toUpperCase(),\n media: getMedia(value?.language),\n selection: value,\n }\n },\n },\n})\n","/* eslint-disable react/jsx-handler-names */\nimport React, {Suspense, useCallback, useEffect, useImperativeHandle, useMemo, useRef} from 'react'\nimport {\n InputProps,\n ObjectSchemaType,\n StringInputProps,\n useColorScheme,\n FieldMember,\n MemberField,\n ObjectInputProps,\n set,\n setIfMissing,\n unset,\n} from 'sanity'\nimport {Card, Select, Stack, ThemeColorSchemeKey} from '@sanity/ui'\nimport styled from 'styled-components'\nimport createHighlightMarkers, {highlightMarkersCSS} from './createHighlightMarkers'\nimport {CodeInputLanguage, CodeInputValue} from './types'\nimport {\n ACE_EDITOR_PROPS,\n ACE_SET_OPTIONS,\n DEFAULT_DARK_THEME,\n DEFAULT_THEME,\n LANGUAGE_ALIASES,\n PATH_CODE,\n SUPPORTED_LANGUAGES,\n SUPPORTED_THEMES,\n} from './config'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\n\nconst EditorContainer = styled(Card)`\n position: relative;\n box-sizing: border-box;\n overflow: hidden;\n z-index: 0;\n\n .ace_editor {\n font-family: ${({theme}) => theme.sanity.fonts.code.family};\n font-size: ${({theme}) => theme.sanity.fonts.code.sizes[1]};\n line-height: inherit;\n }\n\n ${highlightMarkersCSS}\n\n &:not([disabled]):not([readonly]) {\n &:focus,\n &:focus-within {\n box-shadow: 0 0 0 2px ${({theme}) => theme.sanity.color.base.focusRing};\n background-color: ${({theme}) => theme.sanity.color.base.bg};\n border-color: ${({theme}) => theme.sanity.color.base.focusRing};\n }\n }\n`\n\n/**\n * @public\n */\nexport interface CodeOptions {\n theme?: string\n darkTheme?: string\n languageAlternatives?: CodeInputLanguage[]\n language?: string\n withFilename?: boolean\n}\n\n/**\n * @public\n */\nexport type CodeSchemaType = Omit<ObjectSchemaType, 'options'> & {\n options?: CodeOptions\n}\n\n/**\n * @public\n */\nexport type CodeInputProps = ObjectInputProps<CodeInputValue, CodeSchemaType> & {\n /** @internal */\n colorScheme?: ThemeColorSchemeKey\n}\n\n// Returns a string with the mode name if supported (because aliases), otherwise false\nfunction isSupportedLanguage(mode: string) {\n const alias = LANGUAGE_ALIASES[mode]\n\n if (alias) {\n return alias\n }\n\n const isSupported = SUPPORTED_LANGUAGES.find((lang) => lang.value === mode)\n if (isSupported) {\n return mode\n }\n\n return false\n}\n\nexport function CodeInput(props: CodeInputProps) {\n const {\n members,\n elementProps,\n onChange,\n onFocusPath,\n readOnly,\n renderField,\n renderInput,\n renderItem,\n renderPreview,\n schemaType: type,\n value,\n } = props\n\n const aceEditorRef = useRef<any>()\n\n const fieldMembers = useMemo(\n () => members.filter((member) => member.kind === 'field') as FieldMember[],\n [members]\n )\n\n const languageFieldMember = fieldMembers.find((member) => member.name === 'language')\n const filenameMember = fieldMembers.find((member) => member.name === 'filename')\n const codeFieldMember = fieldMembers.find((member) => member.name === 'code')\n\n useImperativeHandle(elementProps.ref, () => ({\n focus: () => {\n aceEditorRef?.current?.editor?.focus()\n },\n }))\n\n const handleCodeFocus = useCallback(() => {\n onFocusPath(PATH_CODE)\n }, [onFocusPath])\n\n const {scheme} = useColorScheme()\n\n const theme = useMemo(() => {\n const isLight = scheme === 'light'\n const preferredTheme = isLight ? type.options?.theme : type.options?.darkTheme\n const defaultTheme = isLight ? DEFAULT_THEME : DEFAULT_DARK_THEME\n return preferredTheme && SUPPORTED_THEMES.find((t) => t === preferredTheme)\n ? preferredTheme\n : defaultTheme\n }, [type, scheme])\n\n const handleToggleSelectLine = useCallback(\n (lineNumber: number) => {\n const editorSession = aceEditorRef.current?.editor?.getSession()\n const backgroundMarkers = editorSession?.getMarkers(true)\n const currentHighlightedLines = Object.keys(backgroundMarkers)\n .filter((key) => backgroundMarkers[key].type === 'screenLine')\n .map((key) => backgroundMarkers[key].range.start.row)\n const currentIndex = currentHighlightedLines.indexOf(lineNumber)\n if (currentIndex > -1) {\n // toggle remove\n currentHighlightedLines.splice(currentIndex, 1)\n } else {\n // toggle add\n currentHighlightedLines.push(lineNumber)\n currentHighlightedLines.sort()\n }\n onChange(\n set(\n currentHighlightedLines.map(\n (line) =>\n // ace starts at line (row) 0, but we store it starting at line 1\n line + 1\n ),\n ['highlightedLines']\n )\n )\n },\n [aceEditorRef, onChange]\n )\n\n const handleGutterMouseDown = useCallback(\n (event: any) => {\n const target = event.domEvent.target\n if (target.classList.contains('ace_gutter-cell')) {\n const row = event.getDocumentPosition().row\n handleToggleSelectLine(row)\n }\n },\n [handleToggleSelectLine]\n )\n\n useEffect(() => {\n const editor = aceEditorRef?.current?.editor\n return () => {\n editor?.session?.removeListener('guttermousedown', handleGutterMouseDown)\n }\n }, [aceEditorRef, handleGutterMouseDown])\n\n const handleEditorLoad = useCallback(\n (editor: any) => {\n editor?.on('guttermousedown', handleGutterMouseDown)\n },\n [handleGutterMouseDown]\n )\n\n const getLanguageAlternatives = useCallback((): {\n title: string\n value: string\n mode?: string\n }[] => {\n const languageAlternatives = type.options?.languageAlternatives\n if (!languageAlternatives) {\n return SUPPORTED_LANGUAGES\n }\n\n if (!Array.isArray(languageAlternatives)) {\n throw new Error(\n `'options.languageAlternatives' should be an array, got ${typeof languageAlternatives}`\n )\n }\n\n return languageAlternatives.reduce((acc: CodeInputLanguage[], {title, value: val, mode}) => {\n const alias = LANGUAGE_ALIASES[val]\n if (alias) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language with value \"%s\", which is an alias of \"%s\" - please replace the value to read \"%s\"`,\n val,\n alias,\n alias\n )\n\n return acc.concat({title, value: alias, mode: mode})\n }\n\n if (!mode && !SUPPORTED_LANGUAGES.find((lang) => lang.value === val)) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language which is not supported: \"%s\", syntax highlighting will be disabled.`,\n val\n )\n }\n\n return acc.concat({title, value: val, mode})\n }, [])\n }, [type])\n\n const handleCodeChange = useCallback(\n (code: string) => {\n const path = PATH_CODE\n const fixedLanguage = type.options?.language\n\n onChange([\n setIfMissing({_type: type.name, language: fixedLanguage}),\n code ? set(code, path) : unset(path),\n ])\n },\n [onChange, type]\n )\n\n const languages = getLanguageAlternatives().slice()\n\n const fixedLanguage = type.options?.language\n\n const language = value?.language || fixedLanguage\n\n // the language config from the schema\n const configured = languages.find((entry) => entry.value === language)\n\n // is the language officially supported (e.g. we import the mode by default)\n const supported = language && isSupportedLanguage(language)\n\n const mode = configured?.mode || (supported ? language : 'text')\n\n const renderLanguageInput = useCallback(\n (inputProps: Omit<InputProps, 'renderDefault'>) => {\n return (\n <Select\n {...(inputProps as StringInputProps)}\n onChange={(e) => {\n const newValue = e.currentTarget.value\n inputProps.onChange(newValue ? set(newValue) : unset())\n }}\n >\n {languages.map((lang: {title: string; value: string}) => (\n <option key={lang.value} value={lang.value}>\n {lang.title}\n </option>\n ))}\n </Select>\n )\n },\n [languages]\n )\n\n const AceEditor = useAceEditor()\n\n const renderCodeInput = useCallback(\n (inputProps) => {\n return (\n <EditorContainer radius={1} shadow={1} readOnly={readOnly}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code editor...</div>}>\n <AceEditor\n ref={aceEditorRef}\n mode={mode}\n theme={theme}\n width=\"100%\"\n onChange={handleCodeChange}\n name={inputProps.id}\n value={inputProps.value}\n markers={\n value && value.highlightedLines\n ? createHighlightMarkers(value.highlightedLines)\n : undefined\n }\n onLoad={handleEditorLoad}\n readOnly={readOnly}\n tabSize={2}\n wrapEnabled\n setOptions={ACE_SET_OPTIONS}\n editorProps={ACE_EDITOR_PROPS}\n onFocus={handleCodeFocus}\n onBlur={elementProps.onBlur}\n />\n </Suspense>\n )}\n </EditorContainer>\n )\n },\n [\n AceEditor,\n theme,\n handleCodeChange,\n handleCodeFocus,\n handleEditorLoad,\n mode,\n elementProps.onBlur,\n readOnly,\n value,\n ]\n )\n\n return (\n <Stack space={4}>\n {languageFieldMember && (\n <MemberField\n member={languageFieldMember}\n renderItem={renderItem}\n renderField={renderField}\n renderInput={renderLanguageInput}\n renderPreview={renderPreview}\n />\n )}\n\n {type.options?.withFilename && filenameMember && (\n <MemberField\n member={filenameMember}\n renderItem={renderItem}\n renderField={renderField}\n renderInput={renderInput}\n renderPreview={renderPreview}\n />\n )}\n\n {codeFieldMember && (\n <MemberField\n member={codeFieldMember}\n renderInput={renderCodeInput}\n renderItem={renderItem}\n renderField={renderField}\n renderPreview={renderPreview}\n />\n )}\n </Stack>\n )\n}\n","import type {IMarker} from 'react-ace'\nimport {css} from 'styled-components'\n\nexport const highlightMarkersCSS = css`\n .ace_editor_markers_highlight {\n position: absolute;\n background-color: ${({theme}) => theme.sanity.color.solid.primary.enabled.bg};\n opacity: 0.2;\n width: 100% !important;\n border-radius: 0 !important;\n }\n`\n\nexport default function createHighlightMarkers(rows: number[]): IMarker[] {\n return rows.map((row) => ({\n startRow: Number(row) - 1,\n startCol: 0,\n endRow: Number(row) - 1,\n endCol: +Infinity,\n className: 'ace_editor_markers_highlight',\n type: 'screenLine',\n inFront: true,\n }))\n}\n","import {CodeInputLanguage} from './types'\n\n// NOTE: MAKE SURE THESE ALIGN WITH IMPORTS IN ./ace-editor/editorSupport\nexport const SUPPORTED_LANGUAGES: CodeInputLanguage[] = [\n {title: 'Batch file', value: 'batchfile'},\n {title: 'C#', value: 'csharp'},\n {title: 'CSS', value: 'css'},\n {title: 'Go', value: 'golang'},\n {title: 'GROQ', value: 'groq'},\n {title: 'HTML', value: 'html'},\n {title: 'Java', value: 'java'},\n {title: 'JavaScript', value: 'javascript'},\n {title: 'JSON', value: 'json'},\n {title: 'JSX', value: 'jsx'},\n {title: 'Markdown', value: 'markdown'},\n {title: 'MySQL', value: 'mysql'},\n {title: 'PHP', value: 'php'},\n {title: 'Plain text', value: 'text'},\n {title: 'Python', value: 'python'},\n {title: 'Ruby', value: 'ruby'},\n {title: 'SASS', value: 'sass'},\n {title: 'SCSS', value: 'scss'},\n {title: 'sh', value: 'sh'},\n {title: 'TSX', value: 'tsx'},\n {title: 'TypeScript', value: 'typescript'},\n {title: 'XML', value: 'xml'},\n {title: 'YAML', value: 'yaml'},\n]\n\nexport const LANGUAGE_ALIASES: Record<string, string | undefined> = {js: 'javascript'}\n\nexport const SUPPORTED_THEMES = ['github', 'monokai', 'terminal', 'tomorrow']\n\nexport const DEFAULT_THEME = 'tomorrow'\nexport const DEFAULT_DARK_THEME = 'monokai'\n\nexport const ACE_SET_OPTIONS = {\n useSoftTabs: true,\n navigateWithinSoftTabs: true /* note only supported by ace v1.2.7 or higher */,\n}\n\nexport const ACE_EDITOR_PROPS = {$blockScrolling: true}\n\nexport const PATH_LANGUAGE = ['language']\nexport const PATH_CODE = ['code']\nexport const PATH_FILENAME = ['filename']\n","import React, {useEffect, useState} from 'react'\n\n/**\n * AceEditor loads window global directly when imported, which crashes in node envs.\n * This works around the issue by only importing ace-dependencies when window is defined.\n *\n * We only set the ace lazy component after mounting, to allow us to render null on the server,\n * and use suspense on the client. This will make hydration work correctly.\n */\nexport const AceEditorLazy = React.lazy(() => import('./editorSupport'))\n\nexport function useAceEditor() {\n const [mounted, setMounted] = useState(false)\n useEffect(() => {\n requestAnimationFrame(() => setMounted(true))\n }, [])\n\n return mounted ? AceEditorLazy : null\n}\n","import React, {Suspense, useCallback, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {Box} from '@sanity/ui'\nimport {ACE_EDITOR_PROPS, ACE_SET_OPTIONS} from './config'\nimport createHighlightMarkers from './createHighlightMarkers'\nimport {CodeInputValue} from './types'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\nimport {CodeSchemaType} from './CodeInput'\n\nconst PreviewContainer = styled(Box)`\n position: relative;\n`\n\nconst PreviewInner = styled(Box)`\n background-color: #272822;\n\n .ace_editor {\n box-sizing: border-box;\n cursor: default;\n pointer-events: none;\n }\n\n .ace_content {\n box-sizing: border-box;\n overflow: hidden;\n }\n`\n\n/**\n * @public\n */\nexport interface PreviewCodeProps {\n type?: CodeSchemaType\n value?: {selection?: CodeInputValue}\n}\n\n/**\n * @public\n */\nexport default function PreviewCode(props: PreviewCodeProps) {\n const aceEditorRef = useRef<any>()\n\n useEffect(() => {\n if (!aceEditorRef?.current) return\n\n const editor = aceEditorRef.current?.editor\n\n if (editor) {\n // Avoid cursor and focus tracking by Ace\n editor.renderer.$cursorLayer.element.style.opacity = 0\n editor.textInput.getElement().disabled = true\n }\n }, [])\n\n const handleEditorChange = useCallback(() => {\n // do nothing when the editor changes\n }, [])\n\n const {value, type} = props\n const fixedLanguage = type?.options?.language\n\n const selection = value?.selection\n const mode = selection?.language || fixedLanguage || 'text'\n\n const AceEditor = useAceEditor()\n return (\n <PreviewContainer>\n <PreviewInner padding={4}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code preview...</div>}>\n <AceEditor\n ref={aceEditorRef}\n focus={false}\n mode={mode}\n theme=\"monokai\"\n width=\"100%\"\n onChange={handleEditorChange}\n maxLines={200}\n readOnly\n wrapEnabled\n showPrintMargin={false}\n highlightActiveLine={false}\n cursorStart={-1}\n value={selection?.code || ''}\n markers={\n selection?.highlightedLines\n ? createHighlightMarkers(selection.highlightedLines)\n : undefined\n }\n tabSize={2}\n showGutter={false}\n setOptions={ACE_SET_OPTIONS}\n editorProps={ACE_EDITOR_PROPS}\n />\n </Suspense>\n )}\n </PreviewInner>\n </PreviewContainer>\n )\n}\n","import React from 'react'\n\nexport function getMedia(language?: string) {\n if (language === 'jsx') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\">\n <g fill=\"#61DAFB\">\n <circle cx=\"64\" cy=\"64\" r=\"11.4\" />\n <path d=\"M107.3 45.2c-2.2-.8-4.5-1.6-6.9-2.3.6-2.4 1.1-4.8 1.5-7.1 2.1-13.2-.2-22.5-6.6-26.1-1.9-1.1-4-1.6-6.4-1.6-7 0-15.9 5.2-24.9 13.9-9-8.7-17.9-13.9-24.9-13.9-2.4 0-4.5.5-6.4 1.6-6.4 3.7-8.7 13-6.6 26.1.4 2.3.9 4.7 1.5 7.1-2.4.7-4.7 1.4-6.9 2.3C8.2 50 1.4 56.6 1.4 64s6.9 14 19.3 18.8c2.2.8 4.5 1.6 6.9 2.3-.6 2.4-1.1 4.8-1.5 7.1-2.1 13.2.2 22.5 6.6 26.1 1.9 1.1 4 1.6 6.4 1.6 7.1 0 16-5.2 24.9-13.9 9 8.7 17.9 13.9 24.9 13.9 2.4 0 4.5-.5 6.4-1.6 6.4-3.7 8.7-13 6.6-26.1-.4-2.3-.9-4.7-1.5-7.1 2.4-.7 4.7-1.4 6.9-2.3 12.5-4.8 19.3-11.4 19.3-18.8s-6.8-14-19.3-18.8zM92.5 14.7c4.1 2.4 5.5 9.8 3.8 20.3-.3 2.1-.8 4.3-1.4 6.6-5.2-1.2-10.7-2-16.5-2.5-3.4-4.8-6.9-9.1-10.4-13 7.4-7.3 14.9-12.3 21-12.3 1.3 0 2.5.3 3.5.9zM81.3 74c-1.8 3.2-3.9 6.4-6.1 9.6-3.7.3-7.4.4-11.2.4-3.9 0-7.6-.1-11.2-.4-2.2-3.2-4.2-6.4-6-9.6-1.9-3.3-3.7-6.7-5.3-10 1.6-3.3 3.4-6.7 5.3-10 1.8-3.2 3.9-6.4 6.1-9.6 3.7-.3 7.4-.4 11.2-.4 3.9 0 7.6.1 11.2.4 2.2 3.2 4.2 6.4 6 9.6 1.9 3.3 3.7 6.7 5.3 10-1.7 3.3-3.4 6.6-5.3 10zm8.3-3.3c1.5 3.5 2.7 6.9 3.8 10.3-3.4.8-7 1.4-10.8 1.9 1.2-1.9 2.5-3.9 3.6-6 1.2-2.1 2.3-4.2 3.4-6.2zM64 97.8c-2.4-2.6-4.7-5.4-6.9-8.3 2.3.1 4.6.2 6.9.2 2.3 0 4.6-.1 6.9-.2-2.2 2.9-4.5 5.7-6.9 8.3zm-18.6-15c-3.8-.5-7.4-1.1-10.8-1.9 1.1-3.3 2.3-6.8 3.8-10.3 1.1 2 2.2 4.1 3.4 6.1 1.2 2.2 2.4 4.1 3.6 6.1zm-7-25.5c-1.5-3.5-2.7-6.9-3.8-10.3 3.4-.8 7-1.4 10.8-1.9-1.2 1.9-2.5 3.9-3.6 6-1.2 2.1-2.3 4.2-3.4 6.2zM64 30.2c2.4 2.6 4.7 5.4 6.9 8.3-2.3-.1-4.6-.2-6.9-.2-2.3 0-4.6.1-6.9.2 2.2-2.9 4.5-5.7 6.9-8.3zm22.2 21l-3.6-6c3.8.5 7.4 1.1 10.8 1.9-1.1 3.3-2.3 6.8-3.8 10.3-1.1-2.1-2.2-4.2-3.4-6.2zM31.7 35c-1.7-10.5-.3-17.9 3.8-20.3 1-.6 2.2-.9 3.5-.9 6 0 13.5 4.9 21 12.3-3.5 3.8-7 8.2-10.4 13-5.8.5-11.3 1.4-16.5 2.5-.6-2.3-1-4.5-1.4-6.6zM7 64c0-4.7 5.7-9.7 15.7-13.4 2-.8 4.2-1.5 6.4-2.1 1.6 5 3.6 10.3 6 15.6-2.4 5.3-4.5 10.5-6 15.5C15.3 75.6 7 69.6 7 64zm28.5 49.3c-4.1-2.4-5.5-9.8-3.8-20.3.3-2.1.8-4.3 1.4-6.6 5.2 1.2 10.7 2 16.5 2.5 3.4 4.8 6.9 9.1 10.4 13-7.4 7.3-14.9 12.3-21 12.3-1.3 0-2.5-.3-3.5-.9zM96.3 93c1.7 10.5.3 17.9-3.8 20.3-1 .6-2.2.9-3.5.9-6 0-13.5-4.9-21-12.3 3.5-3.8 7-8.2 10.4-13 5.8-.5 11.3-1.4 16.5-2.5.6 2.3 1 4.5 1.4 6.6zm9-15.6c-2 .8-4.2 1.5-6.4 2.1-1.6-5-3.6-10.3-6-15.6 2.4-5.3 4.5-10.5 6-15.5 13.8 4 22.1 10 22.1 15.6 0 4.7-5.8 9.7-15.7 13.4z\" />\n </g>\n </svg>\n )\n }\n\n if (language === 'javascript') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\">\n <path fill=\"#F0DB4F\" d=\"M1.408 1.408h125.184v125.185H1.408z\" />\n <path\n fill=\"#323330\"\n d=\"M116.347 96.736c-.917-5.711-4.641-10.508-15.672-14.981-3.832-1.761-8.104-3.022-9.377-5.926-.452-1.69-.512-2.642-.226-3.665.821-3.32 4.784-4.355 7.925-3.403 2.023.678 3.938 2.237 5.093 4.724 5.402-3.498 5.391-3.475 9.163-5.879-1.381-2.141-2.118-3.129-3.022-4.045-3.249-3.629-7.676-5.498-14.756-5.355l-3.688.477c-3.534.893-6.902 2.748-8.877 5.235-5.926 6.724-4.236 18.492 2.975 23.335 7.104 5.332 17.54 6.545 18.873 11.531 1.297 6.104-4.486 8.08-10.234 7.378-4.236-.881-6.592-3.034-9.139-6.949-4.688 2.713-4.688 2.713-9.508 5.485 1.143 2.499 2.344 3.63 4.26 5.795 9.068 9.198 31.76 8.746 35.83-5.176.165-.478 1.261-3.666.38-8.581zM69.462 58.943H57.753l-.048 30.272c0 6.438.333 12.34-.714 14.149-1.713 3.558-6.152 3.117-8.175 2.427-2.059-1.012-3.106-2.451-4.319-4.485-.333-.584-.583-1.036-.667-1.071l-9.52 5.83c1.583 3.249 3.915 6.069 6.902 7.901 4.462 2.678 10.459 3.499 16.731 2.059 4.082-1.189 7.604-3.652 9.448-7.401 2.666-4.915 2.094-10.864 2.07-17.444.06-10.735.001-21.468.001-32.237z\"\n />\n </svg>\n )\n }\n\n if (language === 'php') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 800 400\">\n <g transform=\"translate(-44.632 -141.55)\">\n <g transform=\"matrix(8.3528 0 0 8.3119 -727.13 -3759.5)\">\n <path d=\"m99.974 479.48h14.204c4.1693 0.0354 7.1903 1.2367 9.063 3.604 1.8726 2.3674 2.491 5.6004 1.855 9.699-0.24737 1.8727-0.79504 3.71-1.643 5.512-0.8127 1.802-1.9434 3.4273-3.392 4.876-1.7667 1.8373-3.657 3.0033-5.671 3.498-2.014 0.49467-4.0987 0.742-6.254 0.742h-6.36l-2.014 10.07h-7.367l7.579-38.001m6.201 6.042-3.18 15.9c0.21198 0.0353 0.42398 0.053 0.636 0.053h0.742c3.392 0.0353 6.2186-0.30033 8.48-1.007 2.2613-0.74199 3.7806-3.3213 4.558-7.738 0.63597-3.71-0.00003-5.8476-1.908-6.413-1.8727-0.56531-4.2224-0.83031-7.049-0.795-0.42402 0.0353-0.83035 0.053-1.219 0.053-0.35335 0.00002-0.72435 0.00002-1.113 0l0.053-0.053\" />\n <path d=\"m133.49 469.36h7.314l-2.067 10.123h6.572c3.604 0.0707 6.2893 0.81269 8.056 2.226 1.802 1.4134 2.332 4.0987 1.59 8.056l-3.551 17.649h-7.42l3.392-16.854c0.35328-1.7666 0.2473-3.021-0.318-3.763-0.56536-0.74198-1.7844-1.113-3.657-1.113l-5.883-0.053-4.346 21.783h-7.314l7.632-38.054\" />\n <path d=\"m162.81 479.48h14.204c4.1693 0.0354 7.1903 1.2367 9.063 3.604 1.8726 2.3674 2.491 5.6004 1.855 9.699-0.24737 1.8727-0.79503 3.71-1.643 5.512-0.8127 1.802-1.9434 3.4273-3.392 4.876-1.7667 1.8373-3.657 3.0033-5.671 3.498-2.014 0.49467-4.0987 0.742-6.254 0.742h-6.36l-2.014 10.07h-7.367l7.579-38.001m6.201 6.042-3.18 15.9c0.21199 0.0353 0.42399 0.053 0.636 0.053h0.742c3.392 0.0353 6.2186-0.30033 8.48-1.007 2.2613-0.74199 3.7806-3.3213 4.558-7.738 0.63597-3.71-0.00003-5.8476-1.908-6.413-1.8727-0.56531-4.2224-0.83031-7.049-0.795-0.42402 0.0353-0.83035 0.053-1.219 0.053-0.35335 0.00002-0.72435 0.00002-1.113 0l0.053-0.053\" />\n </g>\n </g>\n </svg>\n )\n }\n\n if (language === 'json') {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n viewBox=\"0 0 160 160\"\n >\n <defs>\n <linearGradient id=\"a\">\n <stop offset=\"0\" />\n <stop offset=\"1\" stopColor=\"#fff\" />\n </linearGradient>\n <linearGradient\n x1=\"-553.27\"\n y1=\"525.908\"\n x2=\"-666.116\"\n y2=\"413.045\"\n id=\"c\"\n xlinkHref=\"#a\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(.99884 0 0 .9987 689.008 -388.844)\"\n />\n <linearGradient\n x1=\"-666.117\"\n y1=\"413.045\"\n x2=\"-553.27\"\n y2=\"525.908\"\n id=\"b\"\n xlinkHref=\"#a\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(.99884 0 0 .9987 689.008 -388.844)\"\n />\n </defs>\n <path\n d=\"M79.865 119.1c35.397 48.255 70.04-13.469 69.988-50.587-.06-43.886-44.54-68.414-70.017-68.414C38.943.1 0 33.895 0 80.135 0 131.531 44.64 160 79.836 160c-7.965-1.147-34.507-6.834-34.863-67.967-.24-41.346 13.487-57.865 34.805-50.599.477.177 23.514 9.265 23.514 38.95 0 29.56-23.427 38.716-23.427 38.716z\"\n style={{marker: 'none'}}\n color=\"#000\"\n fill=\"url(#b)\"\n fillRule=\"evenodd\"\n overflow=\"visible\"\n />\n <path\n d=\"M79.823 41.4C56.433 33.34 27.78 52.618 27.78 91.23c0 63.048 46.72 68.77 52.384 68.77C121.057 160 160 126.204 160 79.964 160 28.568 115.36.1 80.164.1c9.749-1.35 52.541 10.55 52.541 69.037 0 38.141-31.953 58.905-52.735 50.033-.478-.177-23.514-9.264-23.514-38.95 0-29.56 23.367-38.818 23.367-38.818z\"\n style={{marker: 'none'}}\n color=\"#000\"\n fill=\"url(#c)\"\n fillRule=\"evenodd\"\n overflow=\"visible\"\n />\n </svg>\n )\n }\n\n return undefined\n}\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../../"}
package/lib/esm/index.js CHANGED
@@ -1,8 +1,7 @@
1
- import {createPlugin as $gGrEF$createPlugin, defineType as $gGrEF$defineType, useColorScheme as $gGrEF$useColorScheme} from "sanity";
1
+ import {createPlugin as $gGrEF$createPlugin, defineType as $gGrEF$defineType, useColorScheme as $gGrEF$useColorScheme, set as $gGrEF$set, setIfMissing as $gGrEF$setIfMissing, unset as $gGrEF$unset, MemberField as $gGrEF$MemberField} from "sanity";
2
2
  import {CodeBlockIcon as $gGrEF$CodeBlockIcon} from "@sanity/icons";
3
3
  import {jsx as $gGrEF$jsx, jsxs as $gGrEF$jsxs} from "react/jsx-runtime";
4
4
  import $gGrEF$react, {useRef as $gGrEF$useRef, useMemo as $gGrEF$useMemo, useImperativeHandle as $gGrEF$useImperativeHandle, useCallback as $gGrEF$useCallback, useEffect as $gGrEF$useEffect, Suspense as $gGrEF$Suspense, useState as $gGrEF$useState} from "react";
5
- import {set as $gGrEF$set, setIfMissing as $gGrEF$setIfMissing, unset as $gGrEF$unset, MemberField as $gGrEF$MemberField} from "sanity/form";
6
5
  import {Card as $gGrEF$Card, Select as $gGrEF$Select, Stack as $gGrEF$Stack, Box as $gGrEF$Box} from "@sanity/ui";
7
6
  import $gGrEF$styledcomponents, {css as $gGrEF$css} from "styled-components";
8
7
 
@@ -57,7 +56,6 @@ module.exports = import("./editorSupport.739e7d0c.js").then(()=>parcelRequire("f
57
56
 
58
57
 
59
58
 
60
-
61
59
  const $b67a72b22aed35f4$export$ac98e174937d3154 = (0, $gGrEF$css)`
62
60
  .ace_editor_markers_highlight {
63
61
  position: absolute;
@@ -359,13 +357,13 @@ function $a1d4bfd2763f687f$export$20d4ca75cb144ab0(props) {
359
357
  type
360
358
  ]);
361
359
  const languages = getLanguageAlternatives().slice();
362
- const fixedLanguage = type.options?.language;
363
- const language = value?.language || fixedLanguage;
360
+ const fixedLanguage1 = type.options?.language;
361
+ const language = value?.language || fixedLanguage1;
364
362
  // the language config from the schema
365
363
  const configured = languages.find((entry)=>entry.value === language);
366
364
  // is the language officially supported (e.g. we import the mode by default)
367
365
  const supported = language && $a1d4bfd2763f687f$var$isSupportedLanguage(language);
368
- const mode = configured?.mode || (supported ? language : "text");
366
+ const mode1 = configured?.mode || (supported ? language : "text");
369
367
  const renderLanguageInput = (0, $gGrEF$useCallback)((inputProps)=>{
370
368
  return /*#__PURE__*/ (0, $gGrEF$jsx)((0, $gGrEF$Select), {
371
369
  ...inputProps,
@@ -393,7 +391,7 @@ function $a1d4bfd2763f687f$export$20d4ca75cb144ab0(props) {
393
391
  }),
394
392
  children: /*#__PURE__*/ (0, $gGrEF$jsx)(AceEditor, {
395
393
  ref: aceEditorRef,
396
- mode: mode,
394
+ mode: mode1,
397
395
  theme: theme,
398
396
  width: "100%",
399
397
  onChange: handleCodeChange,
@@ -417,7 +415,7 @@ function $a1d4bfd2763f687f$export$20d4ca75cb144ab0(props) {
417
415
  handleCodeChange,
418
416
  handleCodeFocus,
419
417
  handleEditorLoad,
420
- mode,
418
+ mode1,
421
419
  elementProps.onBlur,
422
420
  readOnly,
423
421
  value,
@@ -650,7 +648,8 @@ function $a7f1af2d8cb566bf$export$a854ab43349813f2(language) {
650
648
 
651
649
 
652
650
 
653
- var $8907530ce2ae75d0$export$2e2bcd8739ae039 = (0, $gGrEF$defineType)({
651
+ const $8907530ce2ae75d0$export$f55f5272394eafb2 = "code";
652
+ const $8907530ce2ae75d0$export$16f09c53a832d04e = (0, $gGrEF$defineType)({
654
653
  name: "code",
655
654
  type: "object",
656
655
  title: "Code",
@@ -710,11 +709,11 @@ const $df9eabe9bda49ea8$export$d18430c17c97a000 = (0, $gGrEF$createPlugin)({
710
709
  name: "@sanity/code-input",
711
710
  schema: {
712
711
  types: [
713
- (0, $8907530ce2ae75d0$export$2e2bcd8739ae039)
712
+ (0, $8907530ce2ae75d0$export$16f09c53a832d04e)
714
713
  ]
715
714
  }
716
715
  });
717
716
 
718
717
 
719
- export {$df9eabe9bda49ea8$export$d18430c17c97a000 as codeInput, $0fe3fd43374a598c$export$2e2bcd8739ae039 as PreviewCode};
718
+ export {$df9eabe9bda49ea8$export$d18430c17c97a000 as codeInput, $0fe3fd43374a598c$export$2e2bcd8739ae039 as PreviewCode, $8907530ce2ae75d0$export$16f09c53a832d04e as codeSchema, $8907530ce2ae75d0$export$f55f5272394eafb2 as codeTypeName};
720
719
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"mappings":"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","sources":["node_modules/@parcel/runtime-js/lib/runtime-585180c9bcc34854.js","src/index.ts","src/schema.tsx","src/CodeInput.tsx","src/createHighlightMarkers.ts","src/config.ts","src/ace-editor/AceEditorLazy.tsx","src/PreviewCode.tsx","src/getMedia.tsx"],"sourcesContent":["module.exports = (__parcel__import__(\"./\" + \"editorSupport.739e7d0c.js\")).then(() => parcelRequire('f97Qe'));","import {createPlugin} from 'sanity'\nimport schema from './schema'\nimport PreviewCode from './PreviewCode'\n\nexport type {CodeInputProps, CodeSchemaType} from './CodeInput'\nexport type {CodeInputLanguage, CodeInputValue} from './types'\nexport {PreviewCode}\n\nexport const codeInput = createPlugin({\n name: '@sanity/code-input',\n schema: {types: [schema]},\n})\n","import {CodeBlockIcon} from '@sanity/icons'\nimport {CodeInput} from './CodeInput'\nimport PreviewCode, {PreviewCodeProps} from './PreviewCode'\nimport {getMedia} from './getMedia'\nimport {defineType} from 'sanity'\n\nexport type {CodeInputProps, CodeSchemaType} from './CodeInput'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\nexport type {PreviewCode, PreviewCodeProps, CodeInput}\n\nexport default defineType({\n name: 'code',\n type: 'object',\n title: 'Code',\n components: {input: CodeInput, preview: PreviewCode},\n icon: CodeBlockIcon,\n fields: [\n {\n name: 'language',\n title: 'Language',\n type: 'string',\n },\n {\n name: 'filename',\n title: 'Filename',\n type: 'string',\n },\n {\n title: 'Code',\n name: 'code',\n type: 'text',\n },\n {\n title: 'Highlighted lines',\n name: 'highlightedLines',\n type: 'array',\n of: [\n {\n type: 'number',\n title: 'Highlighted line',\n },\n ],\n },\n ],\n preview: {\n select: {\n language: 'language',\n code: 'code',\n filename: 'filename',\n highlightedLines: 'highlightedLines',\n },\n prepare: (value: {\n language?: string\n code?: string\n filename?: string\n highlightedLines?: number[]\n }) => {\n return {\n title: value.filename || (value.language || 'unknown').toUpperCase(),\n media: getMedia(value?.language),\n selection: value,\n }\n },\n },\n})\n","/* eslint-disable react/jsx-handler-names */\nimport React, {Suspense, useCallback, useEffect, useImperativeHandle, useMemo, useRef} from 'react'\nimport {FieldMember, MemberField, ObjectInputProps, set, setIfMissing, unset} from 'sanity/form'\nimport {InputProps, ObjectSchemaType, StringInputProps, useColorScheme} from 'sanity'\nimport {Card, Select, Stack, ThemeColorSchemeKey} from '@sanity/ui'\nimport styled from 'styled-components'\nimport createHighlightMarkers, {highlightMarkersCSS} from './createHighlightMarkers'\nimport {CodeInputLanguage, CodeInputValue} from './types'\nimport {\n ACE_EDITOR_PROPS,\n ACE_SET_OPTIONS,\n DEFAULT_DARK_THEME,\n DEFAULT_THEME,\n LANGUAGE_ALIASES,\n PATH_CODE,\n SUPPORTED_LANGUAGES,\n SUPPORTED_THEMES,\n} from './config'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\n\nconst EditorContainer = styled(Card)`\n position: relative;\n box-sizing: border-box;\n overflow: hidden;\n z-index: 0;\n\n .ace_editor {\n font-family: ${({theme}) => theme.sanity.fonts.code.family};\n font-size: ${({theme}) => theme.sanity.fonts.code.sizes[1]};\n line-height: inherit;\n }\n\n ${highlightMarkersCSS}\n\n &:not([disabled]):not([readonly]) {\n &:focus,\n &:focus-within {\n box-shadow: 0 0 0 2px ${({theme}) => theme.sanity.color.base.focusRing};\n background-color: ${({theme}) => theme.sanity.color.base.bg};\n border-color: ${({theme}) => theme.sanity.color.base.focusRing};\n }\n }\n`\n\nexport type CodeSchemaType = Omit<ObjectSchemaType, 'options'> & {\n options?: {\n theme?: string\n darkTheme?: string\n languageAlternatives: CodeInputLanguage[]\n language: string\n withFilename?: boolean\n }\n}\n\nexport type CodeInputProps = ObjectInputProps<CodeInputValue, CodeSchemaType> & {\n /** @internal */\n colorScheme?: ThemeColorSchemeKey\n}\n\n// Returns a string with the mode name if supported (because aliases), otherwise false\nfunction isSupportedLanguage(mode: string) {\n const alias = LANGUAGE_ALIASES[mode]\n\n if (alias) {\n return alias\n }\n\n const isSupported = SUPPORTED_LANGUAGES.find((lang) => lang.value === mode)\n if (isSupported) {\n return mode\n }\n\n return false\n}\n\nexport function CodeInput(props: CodeInputProps) {\n const {\n members,\n elementProps,\n onChange,\n onFocusPath,\n readOnly,\n renderField,\n renderInput,\n renderItem,\n renderPreview,\n schemaType: type,\n value,\n } = props\n\n const aceEditorRef = useRef<any>()\n\n const fieldMembers = useMemo(\n () => members.filter((member) => member.kind === 'field') as FieldMember[],\n [members]\n )\n\n const languageFieldMember = fieldMembers.find((member) => member.name === 'language')\n const filenameMember = fieldMembers.find((member) => member.name === 'filename')\n const codeFieldMember = fieldMembers.find((member) => member.name === 'code')\n\n useImperativeHandle(elementProps.ref, () => ({\n focus: () => {\n aceEditorRef?.current?.editor?.focus()\n },\n }))\n\n const handleCodeFocus = useCallback(() => {\n onFocusPath(PATH_CODE)\n }, [onFocusPath])\n\n const {scheme} = useColorScheme()\n\n const theme = useMemo(() => {\n const isLight = scheme === 'light'\n const preferredTheme = isLight ? type.options?.theme : type.options?.darkTheme\n const defaultTheme = isLight ? DEFAULT_THEME : DEFAULT_DARK_THEME\n return preferredTheme && SUPPORTED_THEMES.find((t) => t === preferredTheme)\n ? preferredTheme\n : defaultTheme\n }, [type, scheme])\n\n const handleToggleSelectLine = useCallback(\n (lineNumber: number) => {\n const editorSession = aceEditorRef.current?.editor?.getSession()\n const backgroundMarkers = editorSession?.getMarkers(true)\n const currentHighlightedLines = Object.keys(backgroundMarkers)\n .filter((key) => backgroundMarkers[key].type === 'screenLine')\n .map((key) => backgroundMarkers[key].range.start.row)\n const currentIndex = currentHighlightedLines.indexOf(lineNumber)\n if (currentIndex > -1) {\n // toggle remove\n currentHighlightedLines.splice(currentIndex, 1)\n } else {\n // toggle add\n currentHighlightedLines.push(lineNumber)\n currentHighlightedLines.sort()\n }\n onChange(\n set(\n currentHighlightedLines.map(\n (line) =>\n // ace starts at line (row) 0, but we store it starting at line 1\n line + 1\n ),\n ['highlightedLines']\n )\n )\n },\n [aceEditorRef, onChange]\n )\n\n const handleGutterMouseDown = useCallback(\n (event: any) => {\n const target = event.domEvent.target\n if (target.classList.contains('ace_gutter-cell')) {\n const row = event.getDocumentPosition().row\n handleToggleSelectLine(row)\n }\n },\n [handleToggleSelectLine]\n )\n\n useEffect(() => {\n const editor = aceEditorRef?.current?.editor\n return () => {\n editor?.session?.removeListener('guttermousedown', handleGutterMouseDown)\n }\n }, [aceEditorRef, handleGutterMouseDown])\n\n const handleEditorLoad = useCallback(\n (editor: any) => {\n editor?.on('guttermousedown', handleGutterMouseDown)\n },\n [handleGutterMouseDown]\n )\n\n const getLanguageAlternatives = useCallback((): {\n title: string\n value: string\n mode?: string\n }[] => {\n const languageAlternatives = type.options?.languageAlternatives\n if (!languageAlternatives) {\n return SUPPORTED_LANGUAGES\n }\n\n if (!Array.isArray(languageAlternatives)) {\n throw new Error(\n `'options.languageAlternatives' should be an array, got ${typeof languageAlternatives}`\n )\n }\n\n return languageAlternatives.reduce((acc: CodeInputLanguage[], {title, value: val, mode}) => {\n const alias = LANGUAGE_ALIASES[val]\n if (alias) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language with value \"%s\", which is an alias of \"%s\" - please replace the value to read \"%s\"`,\n val,\n alias,\n alias\n )\n\n return acc.concat({title, value: alias, mode: mode})\n }\n\n if (!mode && !SUPPORTED_LANGUAGES.find((lang) => lang.value === val)) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language which is not supported: \"%s\", syntax highlighting will be disabled.`,\n val\n )\n }\n\n return acc.concat({title, value: val, mode})\n }, [])\n }, [type])\n\n const handleCodeChange = useCallback(\n (code: string) => {\n const path = PATH_CODE\n const fixedLanguage = type.options?.language\n\n onChange([\n setIfMissing({_type: type.name, language: fixedLanguage}),\n code ? set(code, path) : unset(path),\n ])\n },\n [onChange, type]\n )\n\n const languages = getLanguageAlternatives().slice()\n\n const fixedLanguage = type.options?.language\n\n const language = value?.language || fixedLanguage\n\n // the language config from the schema\n const configured = languages.find((entry) => entry.value === language)\n\n // is the language officially supported (e.g. we import the mode by default)\n const supported = language && isSupportedLanguage(language)\n\n const mode = configured?.mode || (supported ? language : 'text')\n\n const renderLanguageInput = useCallback(\n (inputProps: InputProps) => {\n return (\n <Select\n {...(inputProps as StringInputProps)}\n onChange={(e) => {\n const newValue = e.currentTarget.value\n inputProps.onChange(newValue ? set(newValue) : unset())\n }}\n >\n {languages.map((lang: {title: string; value: string}) => (\n <option key={lang.value} value={lang.value}>\n {lang.title}\n </option>\n ))}\n </Select>\n )\n },\n [languages]\n )\n\n const AceEditor = useAceEditor()\n\n const renderCodeInput = useCallback(\n (inputProps) => {\n return (\n <EditorContainer radius={1} shadow={1} readOnly={readOnly}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code editor...</div>}>\n <AceEditor\n ref={aceEditorRef}\n mode={mode}\n theme={theme}\n width=\"100%\"\n onChange={handleCodeChange}\n name={inputProps.id}\n value={inputProps.value}\n markers={\n value && value.highlightedLines\n ? createHighlightMarkers(value.highlightedLines)\n : undefined\n }\n onLoad={handleEditorLoad}\n readOnly={readOnly}\n tabSize={2}\n wrapEnabled\n setOptions={ACE_SET_OPTIONS}\n editorProps={ACE_EDITOR_PROPS}\n onFocus={handleCodeFocus}\n onBlur={elementProps.onBlur}\n />\n </Suspense>\n )}\n </EditorContainer>\n )\n },\n [\n AceEditor,\n theme,\n handleCodeChange,\n handleCodeFocus,\n handleEditorLoad,\n mode,\n elementProps.onBlur,\n readOnly,\n value,\n ]\n )\n\n return (\n <Stack space={4}>\n {languageFieldMember && (\n <MemberField\n member={languageFieldMember}\n renderItem={renderItem}\n renderField={renderField}\n renderInput={renderLanguageInput}\n renderPreview={renderPreview}\n />\n )}\n\n {type.options?.withFilename && filenameMember && (\n <MemberField\n member={filenameMember}\n renderItem={renderItem}\n renderField={renderField}\n renderInput={renderInput}\n renderPreview={renderPreview}\n />\n )}\n\n {codeFieldMember && (\n <MemberField\n member={codeFieldMember}\n renderInput={renderCodeInput}\n renderItem={renderItem}\n renderField={renderField}\n renderPreview={renderPreview}\n />\n )}\n </Stack>\n )\n}\n","import type {IMarker} from 'react-ace'\nimport {css} from 'styled-components'\n\nexport const highlightMarkersCSS = css`\n .ace_editor_markers_highlight {\n position: absolute;\n background-color: ${({theme}) => theme.sanity.color.solid.primary.enabled.bg};\n opacity: 0.2;\n width: 100% !important;\n border-radius: 0 !important;\n }\n`\n\nexport default function createHighlightMarkers(rows: number[]): IMarker[] {\n return rows.map((row) => ({\n startRow: Number(row) - 1,\n startCol: 0,\n endRow: Number(row) - 1,\n endCol: +Infinity,\n className: 'ace_editor_markers_highlight',\n type: 'screenLine',\n inFront: true,\n }))\n}\n","import {CodeInputLanguage} from './types'\n\n// NOTE: MAKE SURE THESE ALIGN WITH IMPORTS IN ./ace-editor/editorSupport\nexport const SUPPORTED_LANGUAGES: CodeInputLanguage[] = [\n {title: 'Batch file', value: 'batchfile'},\n {title: 'C#', value: 'csharp'},\n {title: 'CSS', value: 'css'},\n {title: 'Go', value: 'golang'},\n {title: 'GROQ', value: 'groq'},\n {title: 'HTML', value: 'html'},\n {title: 'Java', value: 'java'},\n {title: 'JavaScript', value: 'javascript'},\n {title: 'JSON', value: 'json'},\n {title: 'JSX', value: 'jsx'},\n {title: 'Markdown', value: 'markdown'},\n {title: 'MySQL', value: 'mysql'},\n {title: 'PHP', value: 'php'},\n {title: 'Plain text', value: 'text'},\n {title: 'Python', value: 'python'},\n {title: 'Ruby', value: 'ruby'},\n {title: 'SASS', value: 'sass'},\n {title: 'SCSS', value: 'scss'},\n {title: 'sh', value: 'sh'},\n {title: 'TSX', value: 'tsx'},\n {title: 'TypeScript', value: 'typescript'},\n {title: 'XML', value: 'xml'},\n {title: 'YAML', value: 'yaml'},\n]\n\nexport const LANGUAGE_ALIASES: Record<string, string | undefined> = {js: 'javascript'}\n\nexport const SUPPORTED_THEMES = ['github', 'monokai', 'terminal', 'tomorrow']\n\nexport const DEFAULT_THEME = 'tomorrow'\nexport const DEFAULT_DARK_THEME = 'monokai'\n\nexport const ACE_SET_OPTIONS = {\n useSoftTabs: true,\n navigateWithinSoftTabs: true /* note only supported by ace v1.2.7 or higher */,\n}\n\nexport const ACE_EDITOR_PROPS = {$blockScrolling: true}\n\nexport const PATH_LANGUAGE = ['language']\nexport const PATH_CODE = ['code']\nexport const PATH_FILENAME = ['filename']\n","import React, {useEffect, useState} from 'react'\n\n/**\n * AceEditor loads window global directly when imported, which crashes in node envs.\n * This works around the issue by only importing ace-dependencies when window is defined.\n *\n * We only set the ace lazy component after mounting, to allow us to render null on the server,\n * and use suspense on the client. This will make hydration work correctly.\n */\nexport const AceEditorLazy = React.lazy(() => import('./editorSupport'))\n\nexport function useAceEditor() {\n const [mounted, setMounted] = useState(false)\n useEffect(() => {\n requestAnimationFrame(() => setMounted(true))\n }, [])\n\n return mounted ? AceEditorLazy : null\n}\n","import React, {Suspense, useCallback, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {Box} from '@sanity/ui'\nimport {ACE_EDITOR_PROPS, ACE_SET_OPTIONS} from './config'\nimport createHighlightMarkers from './createHighlightMarkers'\nimport {CodeInputType, CodeInputValue} from './types'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\n\nconst PreviewContainer = styled(Box)`\n position: relative;\n`\n\nconst PreviewInner = styled(Box)`\n background-color: #272822;\n\n .ace_editor {\n box-sizing: border-box;\n cursor: default;\n pointer-events: none;\n }\n\n .ace_content {\n box-sizing: border-box;\n overflow: hidden;\n }\n`\n\nexport interface PreviewCodeProps {\n type?: CodeInputType\n value?: {selection?: CodeInputValue}\n}\n\nexport default function PreviewCode(props: PreviewCodeProps) {\n const aceEditorRef = useRef<any>()\n\n useEffect(() => {\n if (!aceEditorRef?.current) return\n\n const editor = aceEditorRef.current?.editor\n\n if (editor) {\n // Avoid cursor and focus tracking by Ace\n editor.renderer.$cursorLayer.element.style.opacity = 0\n editor.textInput.getElement().disabled = true\n }\n }, [])\n\n const handleEditorChange = useCallback(() => {\n // do nothing when the editor changes\n }, [])\n\n const {value, type} = props\n const fixedLanguage = type?.options?.language\n\n const selection = value?.selection\n const mode = selection?.language || fixedLanguage || 'text'\n\n const AceEditor = useAceEditor()\n return (\n <PreviewContainer>\n <PreviewInner padding={4}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code preview...</div>}>\n <AceEditor\n ref={aceEditorRef}\n focus={false}\n mode={mode}\n theme=\"monokai\"\n width=\"100%\"\n onChange={handleEditorChange}\n maxLines={200}\n readOnly\n wrapEnabled\n showPrintMargin={false}\n highlightActiveLine={false}\n cursorStart={-1}\n value={selection?.code || ''}\n markers={\n selection?.highlightedLines\n ? createHighlightMarkers(selection.highlightedLines)\n : undefined\n }\n tabSize={2}\n showGutter={false}\n setOptions={ACE_SET_OPTIONS}\n editorProps={ACE_EDITOR_PROPS}\n />\n </Suspense>\n )}\n </PreviewInner>\n </PreviewContainer>\n )\n}\n","import React from 'react'\n\nexport function getMedia(language?: string) {\n if (language === 'jsx') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\">\n <g fill=\"#61DAFB\">\n <circle cx=\"64\" cy=\"64\" r=\"11.4\" />\n <path d=\"M107.3 45.2c-2.2-.8-4.5-1.6-6.9-2.3.6-2.4 1.1-4.8 1.5-7.1 2.1-13.2-.2-22.5-6.6-26.1-1.9-1.1-4-1.6-6.4-1.6-7 0-15.9 5.2-24.9 13.9-9-8.7-17.9-13.9-24.9-13.9-2.4 0-4.5.5-6.4 1.6-6.4 3.7-8.7 13-6.6 26.1.4 2.3.9 4.7 1.5 7.1-2.4.7-4.7 1.4-6.9 2.3C8.2 50 1.4 56.6 1.4 64s6.9 14 19.3 18.8c2.2.8 4.5 1.6 6.9 2.3-.6 2.4-1.1 4.8-1.5 7.1-2.1 13.2.2 22.5 6.6 26.1 1.9 1.1 4 1.6 6.4 1.6 7.1 0 16-5.2 24.9-13.9 9 8.7 17.9 13.9 24.9 13.9 2.4 0 4.5-.5 6.4-1.6 6.4-3.7 8.7-13 6.6-26.1-.4-2.3-.9-4.7-1.5-7.1 2.4-.7 4.7-1.4 6.9-2.3 12.5-4.8 19.3-11.4 19.3-18.8s-6.8-14-19.3-18.8zM92.5 14.7c4.1 2.4 5.5 9.8 3.8 20.3-.3 2.1-.8 4.3-1.4 6.6-5.2-1.2-10.7-2-16.5-2.5-3.4-4.8-6.9-9.1-10.4-13 7.4-7.3 14.9-12.3 21-12.3 1.3 0 2.5.3 3.5.9zM81.3 74c-1.8 3.2-3.9 6.4-6.1 9.6-3.7.3-7.4.4-11.2.4-3.9 0-7.6-.1-11.2-.4-2.2-3.2-4.2-6.4-6-9.6-1.9-3.3-3.7-6.7-5.3-10 1.6-3.3 3.4-6.7 5.3-10 1.8-3.2 3.9-6.4 6.1-9.6 3.7-.3 7.4-.4 11.2-.4 3.9 0 7.6.1 11.2.4 2.2 3.2 4.2 6.4 6 9.6 1.9 3.3 3.7 6.7 5.3 10-1.7 3.3-3.4 6.6-5.3 10zm8.3-3.3c1.5 3.5 2.7 6.9 3.8 10.3-3.4.8-7 1.4-10.8 1.9 1.2-1.9 2.5-3.9 3.6-6 1.2-2.1 2.3-4.2 3.4-6.2zM64 97.8c-2.4-2.6-4.7-5.4-6.9-8.3 2.3.1 4.6.2 6.9.2 2.3 0 4.6-.1 6.9-.2-2.2 2.9-4.5 5.7-6.9 8.3zm-18.6-15c-3.8-.5-7.4-1.1-10.8-1.9 1.1-3.3 2.3-6.8 3.8-10.3 1.1 2 2.2 4.1 3.4 6.1 1.2 2.2 2.4 4.1 3.6 6.1zm-7-25.5c-1.5-3.5-2.7-6.9-3.8-10.3 3.4-.8 7-1.4 10.8-1.9-1.2 1.9-2.5 3.9-3.6 6-1.2 2.1-2.3 4.2-3.4 6.2zM64 30.2c2.4 2.6 4.7 5.4 6.9 8.3-2.3-.1-4.6-.2-6.9-.2-2.3 0-4.6.1-6.9.2 2.2-2.9 4.5-5.7 6.9-8.3zm22.2 21l-3.6-6c3.8.5 7.4 1.1 10.8 1.9-1.1 3.3-2.3 6.8-3.8 10.3-1.1-2.1-2.2-4.2-3.4-6.2zM31.7 35c-1.7-10.5-.3-17.9 3.8-20.3 1-.6 2.2-.9 3.5-.9 6 0 13.5 4.9 21 12.3-3.5 3.8-7 8.2-10.4 13-5.8.5-11.3 1.4-16.5 2.5-.6-2.3-1-4.5-1.4-6.6zM7 64c0-4.7 5.7-9.7 15.7-13.4 2-.8 4.2-1.5 6.4-2.1 1.6 5 3.6 10.3 6 15.6-2.4 5.3-4.5 10.5-6 15.5C15.3 75.6 7 69.6 7 64zm28.5 49.3c-4.1-2.4-5.5-9.8-3.8-20.3.3-2.1.8-4.3 1.4-6.6 5.2 1.2 10.7 2 16.5 2.5 3.4 4.8 6.9 9.1 10.4 13-7.4 7.3-14.9 12.3-21 12.3-1.3 0-2.5-.3-3.5-.9zM96.3 93c1.7 10.5.3 17.9-3.8 20.3-1 .6-2.2.9-3.5.9-6 0-13.5-4.9-21-12.3 3.5-3.8 7-8.2 10.4-13 5.8-.5 11.3-1.4 16.5-2.5.6 2.3 1 4.5 1.4 6.6zm9-15.6c-2 .8-4.2 1.5-6.4 2.1-1.6-5-3.6-10.3-6-15.6 2.4-5.3 4.5-10.5 6-15.5 13.8 4 22.1 10 22.1 15.6 0 4.7-5.8 9.7-15.7 13.4z\" />\n </g>\n </svg>\n )\n }\n\n if (language === 'javascript') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\">\n <path fill=\"#F0DB4F\" d=\"M1.408 1.408h125.184v125.185H1.408z\" />\n <path\n fill=\"#323330\"\n d=\"M116.347 96.736c-.917-5.711-4.641-10.508-15.672-14.981-3.832-1.761-8.104-3.022-9.377-5.926-.452-1.69-.512-2.642-.226-3.665.821-3.32 4.784-4.355 7.925-3.403 2.023.678 3.938 2.237 5.093 4.724 5.402-3.498 5.391-3.475 9.163-5.879-1.381-2.141-2.118-3.129-3.022-4.045-3.249-3.629-7.676-5.498-14.756-5.355l-3.688.477c-3.534.893-6.902 2.748-8.877 5.235-5.926 6.724-4.236 18.492 2.975 23.335 7.104 5.332 17.54 6.545 18.873 11.531 1.297 6.104-4.486 8.08-10.234 7.378-4.236-.881-6.592-3.034-9.139-6.949-4.688 2.713-4.688 2.713-9.508 5.485 1.143 2.499 2.344 3.63 4.26 5.795 9.068 9.198 31.76 8.746 35.83-5.176.165-.478 1.261-3.666.38-8.581zM69.462 58.943H57.753l-.048 30.272c0 6.438.333 12.34-.714 14.149-1.713 3.558-6.152 3.117-8.175 2.427-2.059-1.012-3.106-2.451-4.319-4.485-.333-.584-.583-1.036-.667-1.071l-9.52 5.83c1.583 3.249 3.915 6.069 6.902 7.901 4.462 2.678 10.459 3.499 16.731 2.059 4.082-1.189 7.604-3.652 9.448-7.401 2.666-4.915 2.094-10.864 2.07-17.444.06-10.735.001-21.468.001-32.237z\"\n />\n </svg>\n )\n }\n\n if (language === 'php') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 800 400\">\n <g transform=\"translate(-44.632 -141.55)\">\n <g transform=\"matrix(8.3528 0 0 8.3119 -727.13 -3759.5)\">\n <path d=\"m99.974 479.48h14.204c4.1693 0.0354 7.1903 1.2367 9.063 3.604 1.8726 2.3674 2.491 5.6004 1.855 9.699-0.24737 1.8727-0.79504 3.71-1.643 5.512-0.8127 1.802-1.9434 3.4273-3.392 4.876-1.7667 1.8373-3.657 3.0033-5.671 3.498-2.014 0.49467-4.0987 0.742-6.254 0.742h-6.36l-2.014 10.07h-7.367l7.579-38.001m6.201 6.042-3.18 15.9c0.21198 0.0353 0.42398 0.053 0.636 0.053h0.742c3.392 0.0353 6.2186-0.30033 8.48-1.007 2.2613-0.74199 3.7806-3.3213 4.558-7.738 0.63597-3.71-0.00003-5.8476-1.908-6.413-1.8727-0.56531-4.2224-0.83031-7.049-0.795-0.42402 0.0353-0.83035 0.053-1.219 0.053-0.35335 0.00002-0.72435 0.00002-1.113 0l0.053-0.053\" />\n <path d=\"m133.49 469.36h7.314l-2.067 10.123h6.572c3.604 0.0707 6.2893 0.81269 8.056 2.226 1.802 1.4134 2.332 4.0987 1.59 8.056l-3.551 17.649h-7.42l3.392-16.854c0.35328-1.7666 0.2473-3.021-0.318-3.763-0.56536-0.74198-1.7844-1.113-3.657-1.113l-5.883-0.053-4.346 21.783h-7.314l7.632-38.054\" />\n <path d=\"m162.81 479.48h14.204c4.1693 0.0354 7.1903 1.2367 9.063 3.604 1.8726 2.3674 2.491 5.6004 1.855 9.699-0.24737 1.8727-0.79503 3.71-1.643 5.512-0.8127 1.802-1.9434 3.4273-3.392 4.876-1.7667 1.8373-3.657 3.0033-5.671 3.498-2.014 0.49467-4.0987 0.742-6.254 0.742h-6.36l-2.014 10.07h-7.367l7.579-38.001m6.201 6.042-3.18 15.9c0.21199 0.0353 0.42399 0.053 0.636 0.053h0.742c3.392 0.0353 6.2186-0.30033 8.48-1.007 2.2613-0.74199 3.7806-3.3213 4.558-7.738 0.63597-3.71-0.00003-5.8476-1.908-6.413-1.8727-0.56531-4.2224-0.83031-7.049-0.795-0.42402 0.0353-0.83035 0.053-1.219 0.053-0.35335 0.00002-0.72435 0.00002-1.113 0l0.053-0.053\" />\n </g>\n </g>\n </svg>\n )\n }\n\n if (language === 'json') {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n viewBox=\"0 0 160 160\"\n >\n <defs>\n <linearGradient id=\"a\">\n <stop offset=\"0\" />\n <stop offset=\"1\" stopColor=\"#fff\" />\n </linearGradient>\n <linearGradient\n x1=\"-553.27\"\n y1=\"525.908\"\n x2=\"-666.116\"\n y2=\"413.045\"\n id=\"c\"\n xlinkHref=\"#a\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(.99884 0 0 .9987 689.008 -388.844)\"\n />\n <linearGradient\n x1=\"-666.117\"\n y1=\"413.045\"\n x2=\"-553.27\"\n y2=\"525.908\"\n id=\"b\"\n xlinkHref=\"#a\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(.99884 0 0 .9987 689.008 -388.844)\"\n />\n </defs>\n <path\n d=\"M79.865 119.1c35.397 48.255 70.04-13.469 69.988-50.587-.06-43.886-44.54-68.414-70.017-68.414C38.943.1 0 33.895 0 80.135 0 131.531 44.64 160 79.836 160c-7.965-1.147-34.507-6.834-34.863-67.967-.24-41.346 13.487-57.865 34.805-50.599.477.177 23.514 9.265 23.514 38.95 0 29.56-23.427 38.716-23.427 38.716z\"\n style={{marker: 'none'}}\n color=\"#000\"\n fill=\"url(#b)\"\n fillRule=\"evenodd\"\n overflow=\"visible\"\n />\n <path\n d=\"M79.823 41.4C56.433 33.34 27.78 52.618 27.78 91.23c0 63.048 46.72 68.77 52.384 68.77C121.057 160 160 126.204 160 79.964 160 28.568 115.36.1 80.164.1c9.749-1.35 52.541 10.55 52.541 69.037 0 38.141-31.953 58.905-52.735 50.033-.478-.177-23.514-9.264-23.514-38.95 0-29.56 23.367-38.818 23.367-38.818z\"\n style={{marker: 'none'}}\n color=\"#000\"\n fill=\"url(#c)\"\n fillRule=\"evenodd\"\n overflow=\"visible\"\n />\n </svg>\n )\n }\n\n return undefined\n}\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../../"}
1
+ {"mappings":"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","sources":["node_modules/@parcel/runtime-js/lib/runtime-585180c9bcc34854.js","src/index.ts","src/schema.tsx","src/CodeInput.tsx","src/createHighlightMarkers.ts","src/config.ts","src/ace-editor/AceEditorLazy.tsx","src/PreviewCode.tsx","src/getMedia.tsx"],"sourcesContent":["module.exports = (__parcel__import__(\"./\" + \"editorSupport.739e7d0c.js\")).then(() => parcelRequire('f97Qe'));","import {createPlugin} from 'sanity'\n\nimport {codeSchema, codeTypeName, CodeDefinition} from './schema'\nimport PreviewCode, {PreviewCodeProps} from './PreviewCode'\nexport type {CodeInputProps, CodeSchemaType, CodeOptions} from './CodeInput'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\n\nexport {PreviewCode, type PreviewCodeProps}\nexport {codeSchema, codeTypeName}\nexport type {CodeDefinition}\n/**\n * @public\n */\nexport const codeInput = createPlugin({\n name: '@sanity/code-input',\n schema: {types: [codeSchema]},\n})\n","import {CodeBlockIcon} from '@sanity/icons'\nimport {CodeInput, CodeOptions} from './CodeInput'\nimport PreviewCode, {PreviewCodeProps} from './PreviewCode'\nimport {getMedia} from './getMedia'\nimport {defineType, ObjectDefinition} from 'sanity'\n\nexport type {CodeInputProps, CodeSchemaType} from './CodeInput'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\nexport type {PreviewCode, PreviewCodeProps, CodeInput}\n\n/**\n * @public\n */\nexport const codeTypeName = 'code' as const\n\n/**\n * @public\n */\nexport interface CodeDefinition extends Omit<ObjectDefinition, 'type' | 'fields' | 'options'> {\n type: typeof codeTypeName\n options?: CodeOptions\n}\n\ndeclare module '@sanity/types' {\n // makes type: 'code' narrow correctly when using defineType/defineField/defineArrayMember\n export interface IntrinsicDefinitions {\n code: CodeDefinition\n }\n}\n\n/**\n * @public\n */\nexport const codeSchema = defineType({\n name: 'code',\n type: 'object',\n title: 'Code',\n components: {input: CodeInput, preview: PreviewCode},\n icon: CodeBlockIcon,\n fields: [\n {\n name: 'language',\n title: 'Language',\n type: 'string',\n },\n {\n name: 'filename',\n title: 'Filename',\n type: 'string',\n },\n {\n title: 'Code',\n name: 'code',\n type: 'text',\n },\n {\n title: 'Highlighted lines',\n name: 'highlightedLines',\n type: 'array',\n of: [\n {\n type: 'number',\n title: 'Highlighted line',\n },\n ],\n },\n ],\n preview: {\n select: {\n language: 'language',\n code: 'code',\n filename: 'filename',\n highlightedLines: 'highlightedLines',\n },\n prepare: (value: {\n language?: string\n code?: string\n filename?: string\n highlightedLines?: number[]\n }) => {\n return {\n title: value.filename || (value.language || 'unknown').toUpperCase(),\n media: getMedia(value?.language),\n selection: value,\n }\n },\n },\n})\n","/* eslint-disable react/jsx-handler-names */\nimport React, {Suspense, useCallback, useEffect, useImperativeHandle, useMemo, useRef} from 'react'\nimport {\n InputProps,\n ObjectSchemaType,\n StringInputProps,\n useColorScheme,\n FieldMember,\n MemberField,\n ObjectInputProps,\n set,\n setIfMissing,\n unset,\n} from 'sanity'\nimport {Card, Select, Stack, ThemeColorSchemeKey} from '@sanity/ui'\nimport styled from 'styled-components'\nimport createHighlightMarkers, {highlightMarkersCSS} from './createHighlightMarkers'\nimport {CodeInputLanguage, CodeInputValue} from './types'\nimport {\n ACE_EDITOR_PROPS,\n ACE_SET_OPTIONS,\n DEFAULT_DARK_THEME,\n DEFAULT_THEME,\n LANGUAGE_ALIASES,\n PATH_CODE,\n SUPPORTED_LANGUAGES,\n SUPPORTED_THEMES,\n} from './config'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\n\nconst EditorContainer = styled(Card)`\n position: relative;\n box-sizing: border-box;\n overflow: hidden;\n z-index: 0;\n\n .ace_editor {\n font-family: ${({theme}) => theme.sanity.fonts.code.family};\n font-size: ${({theme}) => theme.sanity.fonts.code.sizes[1]};\n line-height: inherit;\n }\n\n ${highlightMarkersCSS}\n\n &:not([disabled]):not([readonly]) {\n &:focus,\n &:focus-within {\n box-shadow: 0 0 0 2px ${({theme}) => theme.sanity.color.base.focusRing};\n background-color: ${({theme}) => theme.sanity.color.base.bg};\n border-color: ${({theme}) => theme.sanity.color.base.focusRing};\n }\n }\n`\n\n/**\n * @public\n */\nexport interface CodeOptions {\n theme?: string\n darkTheme?: string\n languageAlternatives?: CodeInputLanguage[]\n language?: string\n withFilename?: boolean\n}\n\n/**\n * @public\n */\nexport type CodeSchemaType = Omit<ObjectSchemaType, 'options'> & {\n options?: CodeOptions\n}\n\n/**\n * @public\n */\nexport type CodeInputProps = ObjectInputProps<CodeInputValue, CodeSchemaType> & {\n /** @internal */\n colorScheme?: ThemeColorSchemeKey\n}\n\n// Returns a string with the mode name if supported (because aliases), otherwise false\nfunction isSupportedLanguage(mode: string) {\n const alias = LANGUAGE_ALIASES[mode]\n\n if (alias) {\n return alias\n }\n\n const isSupported = SUPPORTED_LANGUAGES.find((lang) => lang.value === mode)\n if (isSupported) {\n return mode\n }\n\n return false\n}\n\nexport function CodeInput(props: CodeInputProps) {\n const {\n members,\n elementProps,\n onChange,\n onFocusPath,\n readOnly,\n renderField,\n renderInput,\n renderItem,\n renderPreview,\n schemaType: type,\n value,\n } = props\n\n const aceEditorRef = useRef<any>()\n\n const fieldMembers = useMemo(\n () => members.filter((member) => member.kind === 'field') as FieldMember[],\n [members]\n )\n\n const languageFieldMember = fieldMembers.find((member) => member.name === 'language')\n const filenameMember = fieldMembers.find((member) => member.name === 'filename')\n const codeFieldMember = fieldMembers.find((member) => member.name === 'code')\n\n useImperativeHandle(elementProps.ref, () => ({\n focus: () => {\n aceEditorRef?.current?.editor?.focus()\n },\n }))\n\n const handleCodeFocus = useCallback(() => {\n onFocusPath(PATH_CODE)\n }, [onFocusPath])\n\n const {scheme} = useColorScheme()\n\n const theme = useMemo(() => {\n const isLight = scheme === 'light'\n const preferredTheme = isLight ? type.options?.theme : type.options?.darkTheme\n const defaultTheme = isLight ? DEFAULT_THEME : DEFAULT_DARK_THEME\n return preferredTheme && SUPPORTED_THEMES.find((t) => t === preferredTheme)\n ? preferredTheme\n : defaultTheme\n }, [type, scheme])\n\n const handleToggleSelectLine = useCallback(\n (lineNumber: number) => {\n const editorSession = aceEditorRef.current?.editor?.getSession()\n const backgroundMarkers = editorSession?.getMarkers(true)\n const currentHighlightedLines = Object.keys(backgroundMarkers)\n .filter((key) => backgroundMarkers[key].type === 'screenLine')\n .map((key) => backgroundMarkers[key].range.start.row)\n const currentIndex = currentHighlightedLines.indexOf(lineNumber)\n if (currentIndex > -1) {\n // toggle remove\n currentHighlightedLines.splice(currentIndex, 1)\n } else {\n // toggle add\n currentHighlightedLines.push(lineNumber)\n currentHighlightedLines.sort()\n }\n onChange(\n set(\n currentHighlightedLines.map(\n (line) =>\n // ace starts at line (row) 0, but we store it starting at line 1\n line + 1\n ),\n ['highlightedLines']\n )\n )\n },\n [aceEditorRef, onChange]\n )\n\n const handleGutterMouseDown = useCallback(\n (event: any) => {\n const target = event.domEvent.target\n if (target.classList.contains('ace_gutter-cell')) {\n const row = event.getDocumentPosition().row\n handleToggleSelectLine(row)\n }\n },\n [handleToggleSelectLine]\n )\n\n useEffect(() => {\n const editor = aceEditorRef?.current?.editor\n return () => {\n editor?.session?.removeListener('guttermousedown', handleGutterMouseDown)\n }\n }, [aceEditorRef, handleGutterMouseDown])\n\n const handleEditorLoad = useCallback(\n (editor: any) => {\n editor?.on('guttermousedown', handleGutterMouseDown)\n },\n [handleGutterMouseDown]\n )\n\n const getLanguageAlternatives = useCallback((): {\n title: string\n value: string\n mode?: string\n }[] => {\n const languageAlternatives = type.options?.languageAlternatives\n if (!languageAlternatives) {\n return SUPPORTED_LANGUAGES\n }\n\n if (!Array.isArray(languageAlternatives)) {\n throw new Error(\n `'options.languageAlternatives' should be an array, got ${typeof languageAlternatives}`\n )\n }\n\n return languageAlternatives.reduce((acc: CodeInputLanguage[], {title, value: val, mode}) => {\n const alias = LANGUAGE_ALIASES[val]\n if (alias) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language with value \"%s\", which is an alias of \"%s\" - please replace the value to read \"%s\"`,\n val,\n alias,\n alias\n )\n\n return acc.concat({title, value: alias, mode: mode})\n }\n\n if (!mode && !SUPPORTED_LANGUAGES.find((lang) => lang.value === val)) {\n // eslint-disable-next-line no-console\n console.warn(\n `'options.languageAlternatives' lists a language which is not supported: \"%s\", syntax highlighting will be disabled.`,\n val\n )\n }\n\n return acc.concat({title, value: val, mode})\n }, [])\n }, [type])\n\n const handleCodeChange = useCallback(\n (code: string) => {\n const path = PATH_CODE\n const fixedLanguage = type.options?.language\n\n onChange([\n setIfMissing({_type: type.name, language: fixedLanguage}),\n code ? set(code, path) : unset(path),\n ])\n },\n [onChange, type]\n )\n\n const languages = getLanguageAlternatives().slice()\n\n const fixedLanguage = type.options?.language\n\n const language = value?.language || fixedLanguage\n\n // the language config from the schema\n const configured = languages.find((entry) => entry.value === language)\n\n // is the language officially supported (e.g. we import the mode by default)\n const supported = language && isSupportedLanguage(language)\n\n const mode = configured?.mode || (supported ? language : 'text')\n\n const renderLanguageInput = useCallback(\n (inputProps: Omit<InputProps, 'renderDefault'>) => {\n return (\n <Select\n {...(inputProps as StringInputProps)}\n onChange={(e) => {\n const newValue = e.currentTarget.value\n inputProps.onChange(newValue ? set(newValue) : unset())\n }}\n >\n {languages.map((lang: {title: string; value: string}) => (\n <option key={lang.value} value={lang.value}>\n {lang.title}\n </option>\n ))}\n </Select>\n )\n },\n [languages]\n )\n\n const AceEditor = useAceEditor()\n\n const renderCodeInput = useCallback(\n (inputProps) => {\n return (\n <EditorContainer radius={1} shadow={1} readOnly={readOnly}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code editor...</div>}>\n <AceEditor\n ref={aceEditorRef}\n mode={mode}\n theme={theme}\n width=\"100%\"\n onChange={handleCodeChange}\n name={inputProps.id}\n value={inputProps.value}\n markers={\n value && value.highlightedLines\n ? createHighlightMarkers(value.highlightedLines)\n : undefined\n }\n onLoad={handleEditorLoad}\n readOnly={readOnly}\n tabSize={2}\n wrapEnabled\n setOptions={ACE_SET_OPTIONS}\n editorProps={ACE_EDITOR_PROPS}\n onFocus={handleCodeFocus}\n onBlur={elementProps.onBlur}\n />\n </Suspense>\n )}\n </EditorContainer>\n )\n },\n [\n AceEditor,\n theme,\n handleCodeChange,\n handleCodeFocus,\n handleEditorLoad,\n mode,\n elementProps.onBlur,\n readOnly,\n value,\n ]\n )\n\n return (\n <Stack space={4}>\n {languageFieldMember && (\n <MemberField\n member={languageFieldMember}\n renderItem={renderItem}\n renderField={renderField}\n renderInput={renderLanguageInput}\n renderPreview={renderPreview}\n />\n )}\n\n {type.options?.withFilename && filenameMember && (\n <MemberField\n member={filenameMember}\n renderItem={renderItem}\n renderField={renderField}\n renderInput={renderInput}\n renderPreview={renderPreview}\n />\n )}\n\n {codeFieldMember && (\n <MemberField\n member={codeFieldMember}\n renderInput={renderCodeInput}\n renderItem={renderItem}\n renderField={renderField}\n renderPreview={renderPreview}\n />\n )}\n </Stack>\n )\n}\n","import type {IMarker} from 'react-ace'\nimport {css} from 'styled-components'\n\nexport const highlightMarkersCSS = css`\n .ace_editor_markers_highlight {\n position: absolute;\n background-color: ${({theme}) => theme.sanity.color.solid.primary.enabled.bg};\n opacity: 0.2;\n width: 100% !important;\n border-radius: 0 !important;\n }\n`\n\nexport default function createHighlightMarkers(rows: number[]): IMarker[] {\n return rows.map((row) => ({\n startRow: Number(row) - 1,\n startCol: 0,\n endRow: Number(row) - 1,\n endCol: +Infinity,\n className: 'ace_editor_markers_highlight',\n type: 'screenLine',\n inFront: true,\n }))\n}\n","import {CodeInputLanguage} from './types'\n\n// NOTE: MAKE SURE THESE ALIGN WITH IMPORTS IN ./ace-editor/editorSupport\nexport const SUPPORTED_LANGUAGES: CodeInputLanguage[] = [\n {title: 'Batch file', value: 'batchfile'},\n {title: 'C#', value: 'csharp'},\n {title: 'CSS', value: 'css'},\n {title: 'Go', value: 'golang'},\n {title: 'GROQ', value: 'groq'},\n {title: 'HTML', value: 'html'},\n {title: 'Java', value: 'java'},\n {title: 'JavaScript', value: 'javascript'},\n {title: 'JSON', value: 'json'},\n {title: 'JSX', value: 'jsx'},\n {title: 'Markdown', value: 'markdown'},\n {title: 'MySQL', value: 'mysql'},\n {title: 'PHP', value: 'php'},\n {title: 'Plain text', value: 'text'},\n {title: 'Python', value: 'python'},\n {title: 'Ruby', value: 'ruby'},\n {title: 'SASS', value: 'sass'},\n {title: 'SCSS', value: 'scss'},\n {title: 'sh', value: 'sh'},\n {title: 'TSX', value: 'tsx'},\n {title: 'TypeScript', value: 'typescript'},\n {title: 'XML', value: 'xml'},\n {title: 'YAML', value: 'yaml'},\n]\n\nexport const LANGUAGE_ALIASES: Record<string, string | undefined> = {js: 'javascript'}\n\nexport const SUPPORTED_THEMES = ['github', 'monokai', 'terminal', 'tomorrow']\n\nexport const DEFAULT_THEME = 'tomorrow'\nexport const DEFAULT_DARK_THEME = 'monokai'\n\nexport const ACE_SET_OPTIONS = {\n useSoftTabs: true,\n navigateWithinSoftTabs: true /* note only supported by ace v1.2.7 or higher */,\n}\n\nexport const ACE_EDITOR_PROPS = {$blockScrolling: true}\n\nexport const PATH_LANGUAGE = ['language']\nexport const PATH_CODE = ['code']\nexport const PATH_FILENAME = ['filename']\n","import React, {useEffect, useState} from 'react'\n\n/**\n * AceEditor loads window global directly when imported, which crashes in node envs.\n * This works around the issue by only importing ace-dependencies when window is defined.\n *\n * We only set the ace lazy component after mounting, to allow us to render null on the server,\n * and use suspense on the client. This will make hydration work correctly.\n */\nexport const AceEditorLazy = React.lazy(() => import('./editorSupport'))\n\nexport function useAceEditor() {\n const [mounted, setMounted] = useState(false)\n useEffect(() => {\n requestAnimationFrame(() => setMounted(true))\n }, [])\n\n return mounted ? AceEditorLazy : null\n}\n","import React, {Suspense, useCallback, useEffect, useRef} from 'react'\nimport styled from 'styled-components'\nimport {Box} from '@sanity/ui'\nimport {ACE_EDITOR_PROPS, ACE_SET_OPTIONS} from './config'\nimport createHighlightMarkers from './createHighlightMarkers'\nimport {CodeInputValue} from './types'\nimport {useAceEditor} from './ace-editor/AceEditorLazy'\nimport {CodeSchemaType} from './CodeInput'\n\nconst PreviewContainer = styled(Box)`\n position: relative;\n`\n\nconst PreviewInner = styled(Box)`\n background-color: #272822;\n\n .ace_editor {\n box-sizing: border-box;\n cursor: default;\n pointer-events: none;\n }\n\n .ace_content {\n box-sizing: border-box;\n overflow: hidden;\n }\n`\n\n/**\n * @public\n */\nexport interface PreviewCodeProps {\n type?: CodeSchemaType\n value?: {selection?: CodeInputValue}\n}\n\n/**\n * @public\n */\nexport default function PreviewCode(props: PreviewCodeProps) {\n const aceEditorRef = useRef<any>()\n\n useEffect(() => {\n if (!aceEditorRef?.current) return\n\n const editor = aceEditorRef.current?.editor\n\n if (editor) {\n // Avoid cursor and focus tracking by Ace\n editor.renderer.$cursorLayer.element.style.opacity = 0\n editor.textInput.getElement().disabled = true\n }\n }, [])\n\n const handleEditorChange = useCallback(() => {\n // do nothing when the editor changes\n }, [])\n\n const {value, type} = props\n const fixedLanguage = type?.options?.language\n\n const selection = value?.selection\n const mode = selection?.language || fixedLanguage || 'text'\n\n const AceEditor = useAceEditor()\n return (\n <PreviewContainer>\n <PreviewInner padding={4}>\n {AceEditor && (\n <Suspense fallback={<div>Loading code preview...</div>}>\n <AceEditor\n ref={aceEditorRef}\n focus={false}\n mode={mode}\n theme=\"monokai\"\n width=\"100%\"\n onChange={handleEditorChange}\n maxLines={200}\n readOnly\n wrapEnabled\n showPrintMargin={false}\n highlightActiveLine={false}\n cursorStart={-1}\n value={selection?.code || ''}\n markers={\n selection?.highlightedLines\n ? createHighlightMarkers(selection.highlightedLines)\n : undefined\n }\n tabSize={2}\n showGutter={false}\n setOptions={ACE_SET_OPTIONS}\n editorProps={ACE_EDITOR_PROPS}\n />\n </Suspense>\n )}\n </PreviewInner>\n </PreviewContainer>\n )\n}\n","import React from 'react'\n\nexport function getMedia(language?: string) {\n if (language === 'jsx') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\">\n <g fill=\"#61DAFB\">\n <circle cx=\"64\" cy=\"64\" r=\"11.4\" />\n <path d=\"M107.3 45.2c-2.2-.8-4.5-1.6-6.9-2.3.6-2.4 1.1-4.8 1.5-7.1 2.1-13.2-.2-22.5-6.6-26.1-1.9-1.1-4-1.6-6.4-1.6-7 0-15.9 5.2-24.9 13.9-9-8.7-17.9-13.9-24.9-13.9-2.4 0-4.5.5-6.4 1.6-6.4 3.7-8.7 13-6.6 26.1.4 2.3.9 4.7 1.5 7.1-2.4.7-4.7 1.4-6.9 2.3C8.2 50 1.4 56.6 1.4 64s6.9 14 19.3 18.8c2.2.8 4.5 1.6 6.9 2.3-.6 2.4-1.1 4.8-1.5 7.1-2.1 13.2.2 22.5 6.6 26.1 1.9 1.1 4 1.6 6.4 1.6 7.1 0 16-5.2 24.9-13.9 9 8.7 17.9 13.9 24.9 13.9 2.4 0 4.5-.5 6.4-1.6 6.4-3.7 8.7-13 6.6-26.1-.4-2.3-.9-4.7-1.5-7.1 2.4-.7 4.7-1.4 6.9-2.3 12.5-4.8 19.3-11.4 19.3-18.8s-6.8-14-19.3-18.8zM92.5 14.7c4.1 2.4 5.5 9.8 3.8 20.3-.3 2.1-.8 4.3-1.4 6.6-5.2-1.2-10.7-2-16.5-2.5-3.4-4.8-6.9-9.1-10.4-13 7.4-7.3 14.9-12.3 21-12.3 1.3 0 2.5.3 3.5.9zM81.3 74c-1.8 3.2-3.9 6.4-6.1 9.6-3.7.3-7.4.4-11.2.4-3.9 0-7.6-.1-11.2-.4-2.2-3.2-4.2-6.4-6-9.6-1.9-3.3-3.7-6.7-5.3-10 1.6-3.3 3.4-6.7 5.3-10 1.8-3.2 3.9-6.4 6.1-9.6 3.7-.3 7.4-.4 11.2-.4 3.9 0 7.6.1 11.2.4 2.2 3.2 4.2 6.4 6 9.6 1.9 3.3 3.7 6.7 5.3 10-1.7 3.3-3.4 6.6-5.3 10zm8.3-3.3c1.5 3.5 2.7 6.9 3.8 10.3-3.4.8-7 1.4-10.8 1.9 1.2-1.9 2.5-3.9 3.6-6 1.2-2.1 2.3-4.2 3.4-6.2zM64 97.8c-2.4-2.6-4.7-5.4-6.9-8.3 2.3.1 4.6.2 6.9.2 2.3 0 4.6-.1 6.9-.2-2.2 2.9-4.5 5.7-6.9 8.3zm-18.6-15c-3.8-.5-7.4-1.1-10.8-1.9 1.1-3.3 2.3-6.8 3.8-10.3 1.1 2 2.2 4.1 3.4 6.1 1.2 2.2 2.4 4.1 3.6 6.1zm-7-25.5c-1.5-3.5-2.7-6.9-3.8-10.3 3.4-.8 7-1.4 10.8-1.9-1.2 1.9-2.5 3.9-3.6 6-1.2 2.1-2.3 4.2-3.4 6.2zM64 30.2c2.4 2.6 4.7 5.4 6.9 8.3-2.3-.1-4.6-.2-6.9-.2-2.3 0-4.6.1-6.9.2 2.2-2.9 4.5-5.7 6.9-8.3zm22.2 21l-3.6-6c3.8.5 7.4 1.1 10.8 1.9-1.1 3.3-2.3 6.8-3.8 10.3-1.1-2.1-2.2-4.2-3.4-6.2zM31.7 35c-1.7-10.5-.3-17.9 3.8-20.3 1-.6 2.2-.9 3.5-.9 6 0 13.5 4.9 21 12.3-3.5 3.8-7 8.2-10.4 13-5.8.5-11.3 1.4-16.5 2.5-.6-2.3-1-4.5-1.4-6.6zM7 64c0-4.7 5.7-9.7 15.7-13.4 2-.8 4.2-1.5 6.4-2.1 1.6 5 3.6 10.3 6 15.6-2.4 5.3-4.5 10.5-6 15.5C15.3 75.6 7 69.6 7 64zm28.5 49.3c-4.1-2.4-5.5-9.8-3.8-20.3.3-2.1.8-4.3 1.4-6.6 5.2 1.2 10.7 2 16.5 2.5 3.4 4.8 6.9 9.1 10.4 13-7.4 7.3-14.9 12.3-21 12.3-1.3 0-2.5-.3-3.5-.9zM96.3 93c1.7 10.5.3 17.9-3.8 20.3-1 .6-2.2.9-3.5.9-6 0-13.5-4.9-21-12.3 3.5-3.8 7-8.2 10.4-13 5.8-.5 11.3-1.4 16.5-2.5.6 2.3 1 4.5 1.4 6.6zm9-15.6c-2 .8-4.2 1.5-6.4 2.1-1.6-5-3.6-10.3-6-15.6 2.4-5.3 4.5-10.5 6-15.5 13.8 4 22.1 10 22.1 15.6 0 4.7-5.8 9.7-15.7 13.4z\" />\n </g>\n </svg>\n )\n }\n\n if (language === 'javascript') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\">\n <path fill=\"#F0DB4F\" d=\"M1.408 1.408h125.184v125.185H1.408z\" />\n <path\n fill=\"#323330\"\n d=\"M116.347 96.736c-.917-5.711-4.641-10.508-15.672-14.981-3.832-1.761-8.104-3.022-9.377-5.926-.452-1.69-.512-2.642-.226-3.665.821-3.32 4.784-4.355 7.925-3.403 2.023.678 3.938 2.237 5.093 4.724 5.402-3.498 5.391-3.475 9.163-5.879-1.381-2.141-2.118-3.129-3.022-4.045-3.249-3.629-7.676-5.498-14.756-5.355l-3.688.477c-3.534.893-6.902 2.748-8.877 5.235-5.926 6.724-4.236 18.492 2.975 23.335 7.104 5.332 17.54 6.545 18.873 11.531 1.297 6.104-4.486 8.08-10.234 7.378-4.236-.881-6.592-3.034-9.139-6.949-4.688 2.713-4.688 2.713-9.508 5.485 1.143 2.499 2.344 3.63 4.26 5.795 9.068 9.198 31.76 8.746 35.83-5.176.165-.478 1.261-3.666.38-8.581zM69.462 58.943H57.753l-.048 30.272c0 6.438.333 12.34-.714 14.149-1.713 3.558-6.152 3.117-8.175 2.427-2.059-1.012-3.106-2.451-4.319-4.485-.333-.584-.583-1.036-.667-1.071l-9.52 5.83c1.583 3.249 3.915 6.069 6.902 7.901 4.462 2.678 10.459 3.499 16.731 2.059 4.082-1.189 7.604-3.652 9.448-7.401 2.666-4.915 2.094-10.864 2.07-17.444.06-10.735.001-21.468.001-32.237z\"\n />\n </svg>\n )\n }\n\n if (language === 'php') {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 800 400\">\n <g transform=\"translate(-44.632 -141.55)\">\n <g transform=\"matrix(8.3528 0 0 8.3119 -727.13 -3759.5)\">\n <path d=\"m99.974 479.48h14.204c4.1693 0.0354 7.1903 1.2367 9.063 3.604 1.8726 2.3674 2.491 5.6004 1.855 9.699-0.24737 1.8727-0.79504 3.71-1.643 5.512-0.8127 1.802-1.9434 3.4273-3.392 4.876-1.7667 1.8373-3.657 3.0033-5.671 3.498-2.014 0.49467-4.0987 0.742-6.254 0.742h-6.36l-2.014 10.07h-7.367l7.579-38.001m6.201 6.042-3.18 15.9c0.21198 0.0353 0.42398 0.053 0.636 0.053h0.742c3.392 0.0353 6.2186-0.30033 8.48-1.007 2.2613-0.74199 3.7806-3.3213 4.558-7.738 0.63597-3.71-0.00003-5.8476-1.908-6.413-1.8727-0.56531-4.2224-0.83031-7.049-0.795-0.42402 0.0353-0.83035 0.053-1.219 0.053-0.35335 0.00002-0.72435 0.00002-1.113 0l0.053-0.053\" />\n <path d=\"m133.49 469.36h7.314l-2.067 10.123h6.572c3.604 0.0707 6.2893 0.81269 8.056 2.226 1.802 1.4134 2.332 4.0987 1.59 8.056l-3.551 17.649h-7.42l3.392-16.854c0.35328-1.7666 0.2473-3.021-0.318-3.763-0.56536-0.74198-1.7844-1.113-3.657-1.113l-5.883-0.053-4.346 21.783h-7.314l7.632-38.054\" />\n <path d=\"m162.81 479.48h14.204c4.1693 0.0354 7.1903 1.2367 9.063 3.604 1.8726 2.3674 2.491 5.6004 1.855 9.699-0.24737 1.8727-0.79503 3.71-1.643 5.512-0.8127 1.802-1.9434 3.4273-3.392 4.876-1.7667 1.8373-3.657 3.0033-5.671 3.498-2.014 0.49467-4.0987 0.742-6.254 0.742h-6.36l-2.014 10.07h-7.367l7.579-38.001m6.201 6.042-3.18 15.9c0.21199 0.0353 0.42399 0.053 0.636 0.053h0.742c3.392 0.0353 6.2186-0.30033 8.48-1.007 2.2613-0.74199 3.7806-3.3213 4.558-7.738 0.63597-3.71-0.00003-5.8476-1.908-6.413-1.8727-0.56531-4.2224-0.83031-7.049-0.795-0.42402 0.0353-0.83035 0.053-1.219 0.053-0.35335 0.00002-0.72435 0.00002-1.113 0l0.053-0.053\" />\n </g>\n </g>\n </svg>\n )\n }\n\n if (language === 'json') {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n viewBox=\"0 0 160 160\"\n >\n <defs>\n <linearGradient id=\"a\">\n <stop offset=\"0\" />\n <stop offset=\"1\" stopColor=\"#fff\" />\n </linearGradient>\n <linearGradient\n x1=\"-553.27\"\n y1=\"525.908\"\n x2=\"-666.116\"\n y2=\"413.045\"\n id=\"c\"\n xlinkHref=\"#a\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(.99884 0 0 .9987 689.008 -388.844)\"\n />\n <linearGradient\n x1=\"-666.117\"\n y1=\"413.045\"\n x2=\"-553.27\"\n y2=\"525.908\"\n id=\"b\"\n xlinkHref=\"#a\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"matrix(.99884 0 0 .9987 689.008 -388.844)\"\n />\n </defs>\n <path\n d=\"M79.865 119.1c35.397 48.255 70.04-13.469 69.988-50.587-.06-43.886-44.54-68.414-70.017-68.414C38.943.1 0 33.895 0 80.135 0 131.531 44.64 160 79.836 160c-7.965-1.147-34.507-6.834-34.863-67.967-.24-41.346 13.487-57.865 34.805-50.599.477.177 23.514 9.265 23.514 38.95 0 29.56-23.427 38.716-23.427 38.716z\"\n style={{marker: 'none'}}\n color=\"#000\"\n fill=\"url(#b)\"\n fillRule=\"evenodd\"\n overflow=\"visible\"\n />\n <path\n d=\"M79.823 41.4C56.433 33.34 27.78 52.618 27.78 91.23c0 63.048 46.72 68.77 52.384 68.77C121.057 160 160 126.204 160 79.964 160 28.568 115.36.1 80.164.1c9.749-1.35 52.541 10.55 52.541 69.037 0 38.141-31.953 58.905-52.735 50.033-.478-.177-23.514-9.264-23.514-38.95 0-29.56 23.367-38.818 23.367-38.818z\"\n style={{marker: 'none'}}\n color=\"#000\"\n fill=\"url(#c)\"\n fillRule=\"evenodd\"\n overflow=\"visible\"\n />\n </svg>\n )\n }\n\n return undefined\n}\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../../"}
@@ -1,27 +1,16 @@
1
- import { ObjectInputProps } from "sanity/form";
2
- import { ObjectSchemaType } from "sanity";
1
+ import { ObjectSchemaType, ObjectInputProps, ObjectDefinition } from "sanity";
3
2
  import { ThemeColorSchemeKey } from "@sanity/ui";
3
+ /**
4
+ * @public
5
+ */
4
6
  export interface CodeInputLanguage {
5
7
  title: string;
6
8
  value: string;
7
9
  mode?: string;
8
10
  }
9
- interface CodeInputType {
10
- name?: string;
11
- title?: string;
12
- description?: string;
13
- fields: {
14
- name: string;
15
- title?: string;
16
- placeholder?: string;
17
- }[];
18
- options?: {
19
- theme?: string;
20
- languageAlternatives: CodeInputLanguage[];
21
- language: string;
22
- withFilename?: boolean;
23
- };
24
- }
11
+ /**
12
+ * @public
13
+ */
25
14
  export interface CodeInputValue {
26
15
  _type?: 'code';
27
16
  code?: string;
@@ -29,26 +18,75 @@ export interface CodeInputValue {
29
18
  language?: string;
30
19
  highlightedLines?: number[];
31
20
  }
21
+ /**
22
+ * @public
23
+ */
24
+ export interface CodeOptions {
25
+ theme?: string;
26
+ darkTheme?: string;
27
+ languageAlternatives?: CodeInputLanguage[];
28
+ language?: string;
29
+ withFilename?: boolean;
30
+ }
31
+ /**
32
+ * @public
33
+ */
32
34
  export type CodeSchemaType = Omit<ObjectSchemaType, 'options'> & {
33
- options?: {
34
- theme?: string;
35
- darkTheme?: string;
36
- languageAlternatives: CodeInputLanguage[];
37
- language: string;
38
- withFilename?: boolean;
39
- };
35
+ options?: CodeOptions;
40
36
  };
37
+ /**
38
+ * @public
39
+ */
41
40
  export type CodeInputProps = ObjectInputProps<CodeInputValue, CodeSchemaType> & {
42
41
  /** @internal */
43
42
  colorScheme?: ThemeColorSchemeKey;
44
43
  };
45
- interface PreviewCodeProps {
46
- type?: CodeInputType;
44
+ /**
45
+ * @public
46
+ */
47
+ export interface PreviewCodeProps {
48
+ type?: CodeSchemaType;
47
49
  value?: {
48
50
  selection?: CodeInputValue;
49
51
  };
50
52
  }
53
+ /**
54
+ * @public
55
+ */
51
56
  export function PreviewCode(props: PreviewCodeProps): JSX.Element;
57
+ /**
58
+ * @public
59
+ */
60
+ export const codeTypeName: "code";
61
+ /**
62
+ * @public
63
+ */
64
+ export interface CodeDefinition extends Omit<ObjectDefinition, 'type' | 'fields' | 'options'> {
65
+ type: typeof codeTypeName;
66
+ options?: CodeOptions;
67
+ }
68
+ declare module '@sanity/types' {
69
+ interface IntrinsicDefinitions {
70
+ code: CodeDefinition;
71
+ }
72
+ }
73
+ /**
74
+ * @public
75
+ */
76
+ export const codeSchema: {
77
+ type: "object";
78
+ name: "code";
79
+ } & Omit<ObjectDefinition, "preview"> & {
80
+ preview?: import("sanity").PreviewConfig<{
81
+ language: string;
82
+ code: string;
83
+ filename: string;
84
+ highlightedLines: string;
85
+ }, Record<"code" | "language" | "filename" | "highlightedLines", any>> | undefined;
86
+ };
87
+ /**
88
+ * @public
89
+ */
52
90
  export const codeInput: import("sanity").Plugin<void>;
53
91
 
54
92
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"mappings":";;;ACAA;IACE,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;IACE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAC,EAAE,CAAA;IAC9D,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,oBAAoB,EAAE,iBAAiB,EAAE,CAAA;QACzC,QAAQ,EAAE,MAAM,CAAA;QAChB,YAAY,CAAC,EAAE,OAAO,CAAA;KACvB,CAAA;CACF;AAED;IACE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B;AKqBD,6BAA6B,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,GAAG;IAC/D,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,oBAAoB,EAAE,iBAAiB,EAAE,CAAA;QACzC,QAAQ,EAAE,MAAM,CAAA;QAChB,YAAY,CAAC,EAAE,OAAO,CAAA;KACvB,CAAA;CACF,CAAA;AAED,6BAA6B,iBAAiB,cAAc,EAAE,cAAc,CAAC,GAAG;IAC9E,gBAAgB;IAChB,WAAW,CAAC,EAAE,mBAAmB,CAAA;CAClC,CAAA;AChCD;IACE,IAAI,CAAC,EAAE,aAAa,CAAA;IACpB,KAAK,CAAC,EAAE;QAAC,SAAS,CAAC,EAAE,cAAc,CAAA;KAAC,CAAA;CACrC;AAED,4BAAoC,KAAK,EAAE,gBAAgB,eA4D1D;AGpFD,OAAO,MAAM,wCAGX,CAAA","sources":["src/src/createHighlightMarkers.ts","src/src/types.ts","src/src/config.ts","src/src/ace-editor/groq.ts","src/src/ace-editor/editorSupport.ts","src/src/ace-editor/AceEditorLazy.tsx","src/src/CodeInput.tsx","src/src/PreviewCode.tsx","src/src/getMedia.tsx","src/src/schema.tsx","src/src/index.ts","src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,"import {createPlugin} from 'sanity'\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"],"names":[],"version":3,"file":"index.d.ts.map","sourceRoot":"../../"}
1
+ {"mappings":";;ACAA;;GAEG;AACH;IACE,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH;IACE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B;AKsCD;;GAEG;AACH;IACE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oBAAoB,CAAC,EAAE,iBAAiB,EAAE,CAAA;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED;;GAEG;AACH,6BAA6B,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,GAAG;IAC/D,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB,CAAA;AAED;;GAEG;AACH,6BAA6B,iBAAiB,cAAc,EAAE,cAAc,CAAC,GAAG;IAC9E,gBAAgB;IAChB,WAAW,CAAC,EAAE,mBAAmB,CAAA;CAClC,CAAA;ACpDD;;GAEG;AACH;IACE,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,KAAK,CAAC,EAAE;QAAC,SAAS,CAAC,EAAE,cAAc,CAAA;KAAC,CAAA;CACrC;AAED;;GAEG;AACH,4BAAoC,KAAK,EAAE,gBAAgB,eA4D1D;AExFD;;GAEG;AACH,OAAO,MAAM,oBAA8B,CAAA;AAE3C;;GAEG;AACH,+BAAgC,SAAQ,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC3F,IAAI,EAAE,mBAAmB,CAAA;IACzB,OAAO,CAAC,EAAE,WAAW,CAAA;CACtB;AAED,eAAe,eAAe,CAAC;IAE7B,UAAiB,oBAAoB;QACnC,IAAI,EAAE,cAAc,CAAA;KACrB;CACF;AAED;;GAEG;AACH,OAAO,MAAM;;;;;;;;;;CAsDX,CAAA;AC7EF;;GAEG;AACH,OAAO,MAAM,wCAGX,CAAA","sources":["src/src/createHighlightMarkers.ts","src/src/types.ts","src/src/config.ts","src/src/ace-editor/groq.ts","src/src/ace-editor/editorSupport.ts","src/src/ace-editor/AceEditorLazy.tsx","src/src/CodeInput.tsx","src/src/PreviewCode.tsx","src/src/getMedia.tsx","src/src/schema.tsx","src/src/index.ts","src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,"import {createPlugin} from 'sanity'\n\nimport {codeSchema, codeTypeName, CodeDefinition} from './schema'\nimport PreviewCode, {PreviewCodeProps} from './PreviewCode'\nexport type {CodeInputProps, CodeSchemaType, CodeOptions} from './CodeInput'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\n\nexport {PreviewCode, type PreviewCodeProps}\nexport {codeSchema, codeTypeName}\nexport type {CodeDefinition}\n/**\n * @public\n */\nexport const codeInput = createPlugin({\n name: '@sanity/code-input',\n schema: {types: [codeSchema]},\n})\n"],"names":[],"version":3,"file":"index.d.ts.map","sourceRoot":"../../"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sanity/code-input",
3
- "version": "3.0.0-v3-studio.9",
3
+ "version": "3.0.0-v3-studio.11",
4
4
  "description": "Ace editor for editing code",
5
5
  "source": "./src/index.ts",
6
6
  "exports": {
@@ -45,7 +45,7 @@
45
45
  ],
46
46
  "dependencies": {
47
47
  "@sanity/icons": "^1.2.8",
48
- "@sanity/incompatible-plugin": "^1.0.1",
48
+ "@sanity/incompatible-plugin": "^1.0.4",
49
49
  "@sanity/ui": "^0.38.2",
50
50
  "ace-builds": "^1.9.5",
51
51
  "react-ace": "^10.1.0"
@@ -55,13 +55,13 @@
55
55
  "@babel/preset-react": "^7.18.6",
56
56
  "@commitlint/cli": "^17.1.2",
57
57
  "@commitlint/config-conventional": "^17.1.0",
58
- "@parcel/packager-ts": "^2.6.0",
59
- "@parcel/transformer-typescript-types": "^2.6.0",
58
+ "@parcel/packager-ts": "2.6.2",
59
+ "@parcel/transformer-typescript-types": "2.6.2",
60
60
  "@sanity/plugin-kit": "^1.1.0-ecosystem-preset.5",
61
61
  "@sanity/semantic-release-preset": "^2.0.1",
62
62
  "@testing-library/jest-dom": "^5.16.5",
63
- "@testing-library/react": "^12.1.3",
64
- "@types/jest": "^28.1.6",
63
+ "@testing-library/react": "^13.4.0",
64
+ "@types/jest": "^29.1.2",
65
65
  "@types/styled-components": "^5.1.25",
66
66
  "@typescript-eslint/eslint-plugin": "^5.12.0",
67
67
  "@typescript-eslint/parser": "^5.12.0",
@@ -75,19 +75,19 @@
75
75
  "jest": "^28.1.3",
76
76
  "jest-environment-jsdom": "^28.1.3",
77
77
  "lint-staged": "^13.0.3",
78
- "parcel": "^2.6.0",
78
+ "parcel": "2.6.2",
79
79
  "prettier": "^2.6.2",
80
- "react": "^17.0.0",
81
- "react-dom": "^17.0.0",
80
+ "react": "^18.0.0",
81
+ "react-dom": "^18.0.0",
82
82
  "rimraf": "^3.0.2",
83
- "sanity": "3.0.0-dev-preview.17",
83
+ "sanity": "3.0.0-dev-preview.21",
84
84
  "styled-components": "^5.2.0",
85
85
  "ts-jest": "^28.0.7",
86
86
  "typescript": "4.7.4"
87
87
  },
88
88
  "peerDependencies": {
89
- "react": "^17.0.0 || ^18.0.0",
90
- "react-dom": "^17.0.0 || ^18.0.0",
89
+ "react": "^18.0.0",
90
+ "react-dom": "^18.0.0",
91
91
  "sanity": "dev-preview",
92
92
  "styled-components": "^5.2.0"
93
93
  },
package/src/CodeInput.tsx CHANGED
@@ -1,7 +1,17 @@
1
1
  /* eslint-disable react/jsx-handler-names */
2
2
  import React, {Suspense, useCallback, useEffect, useImperativeHandle, useMemo, useRef} from 'react'
3
- import {FieldMember, MemberField, ObjectInputProps, set, setIfMissing, unset} from 'sanity/form'
4
- import {InputProps, ObjectSchemaType, StringInputProps, useColorScheme} from 'sanity'
3
+ import {
4
+ InputProps,
5
+ ObjectSchemaType,
6
+ StringInputProps,
7
+ useColorScheme,
8
+ FieldMember,
9
+ MemberField,
10
+ ObjectInputProps,
11
+ set,
12
+ setIfMissing,
13
+ unset,
14
+ } from 'sanity'
5
15
  import {Card, Select, Stack, ThemeColorSchemeKey} from '@sanity/ui'
6
16
  import styled from 'styled-components'
7
17
  import createHighlightMarkers, {highlightMarkersCSS} from './createHighlightMarkers'
@@ -44,16 +54,27 @@ const EditorContainer = styled(Card)`
44
54
  }
45
55
  `
46
56
 
57
+ /**
58
+ * @public
59
+ */
60
+ export interface CodeOptions {
61
+ theme?: string
62
+ darkTheme?: string
63
+ languageAlternatives?: CodeInputLanguage[]
64
+ language?: string
65
+ withFilename?: boolean
66
+ }
67
+
68
+ /**
69
+ * @public
70
+ */
47
71
  export type CodeSchemaType = Omit<ObjectSchemaType, 'options'> & {
48
- options?: {
49
- theme?: string
50
- darkTheme?: string
51
- languageAlternatives: CodeInputLanguage[]
52
- language: string
53
- withFilename?: boolean
54
- }
72
+ options?: CodeOptions
55
73
  }
56
74
 
75
+ /**
76
+ * @public
77
+ */
57
78
  export type CodeInputProps = ObjectInputProps<CodeInputValue, CodeSchemaType> & {
58
79
  /** @internal */
59
80
  colorScheme?: ThemeColorSchemeKey
@@ -247,7 +268,7 @@ export function CodeInput(props: CodeInputProps) {
247
268
  const mode = configured?.mode || (supported ? language : 'text')
248
269
 
249
270
  const renderLanguageInput = useCallback(
250
- (inputProps: InputProps) => {
271
+ (inputProps: Omit<InputProps, 'renderDefault'>) => {
251
272
  return (
252
273
  <Select
253
274
  {...(inputProps as StringInputProps)}
@@ -3,8 +3,9 @@ import styled from 'styled-components'
3
3
  import {Box} from '@sanity/ui'
4
4
  import {ACE_EDITOR_PROPS, ACE_SET_OPTIONS} from './config'
5
5
  import createHighlightMarkers from './createHighlightMarkers'
6
- import {CodeInputType, CodeInputValue} from './types'
6
+ import {CodeInputValue} from './types'
7
7
  import {useAceEditor} from './ace-editor/AceEditorLazy'
8
+ import {CodeSchemaType} from './CodeInput'
8
9
 
9
10
  const PreviewContainer = styled(Box)`
10
11
  position: relative;
@@ -25,11 +26,17 @@ const PreviewInner = styled(Box)`
25
26
  }
26
27
  `
27
28
 
29
+ /**
30
+ * @public
31
+ */
28
32
  export interface PreviewCodeProps {
29
- type?: CodeInputType
33
+ type?: CodeSchemaType
30
34
  value?: {selection?: CodeInputValue}
31
35
  }
32
36
 
37
+ /**
38
+ * @public
39
+ */
33
40
  export default function PreviewCode(props: PreviewCodeProps) {
34
41
  const aceEditorRef = useRef<any>()
35
42
 
package/src/index.ts CHANGED
@@ -1,12 +1,18 @@
1
1
  import {createPlugin} from 'sanity'
2
- import schema from './schema'
3
- import PreviewCode from './PreviewCode'
4
2
 
5
- export type {CodeInputProps, CodeSchemaType} from './CodeInput'
3
+ import {codeSchema, codeTypeName, CodeDefinition} from './schema'
4
+ import PreviewCode, {PreviewCodeProps} from './PreviewCode'
5
+ export type {CodeInputProps, CodeSchemaType, CodeOptions} from './CodeInput'
6
+
6
7
  export type {CodeInputLanguage, CodeInputValue} from './types'
7
- export {PreviewCode}
8
8
 
9
+ export {PreviewCode, type PreviewCodeProps}
10
+ export {codeSchema, codeTypeName}
11
+ export type {CodeDefinition}
12
+ /**
13
+ * @public
14
+ */
9
15
  export const codeInput = createPlugin({
10
16
  name: '@sanity/code-input',
11
- schema: {types: [schema]},
17
+ schema: {types: [codeSchema]},
12
18
  })
package/src/schema.tsx CHANGED
@@ -1,15 +1,38 @@
1
1
  import {CodeBlockIcon} from '@sanity/icons'
2
- import {CodeInput} from './CodeInput'
2
+ import {CodeInput, CodeOptions} from './CodeInput'
3
3
  import PreviewCode, {PreviewCodeProps} from './PreviewCode'
4
4
  import {getMedia} from './getMedia'
5
- import {defineType} from 'sanity'
5
+ import {defineType, ObjectDefinition} from 'sanity'
6
6
 
7
7
  export type {CodeInputProps, CodeSchemaType} from './CodeInput'
8
8
 
9
9
  export type {CodeInputLanguage, CodeInputValue} from './types'
10
10
  export type {PreviewCode, PreviewCodeProps, CodeInput}
11
11
 
12
- export default defineType({
12
+ /**
13
+ * @public
14
+ */
15
+ export const codeTypeName = 'code' as const
16
+
17
+ /**
18
+ * @public
19
+ */
20
+ export interface CodeDefinition extends Omit<ObjectDefinition, 'type' | 'fields' | 'options'> {
21
+ type: typeof codeTypeName
22
+ options?: CodeOptions
23
+ }
24
+
25
+ declare module '@sanity/types' {
26
+ // makes type: 'code' narrow correctly when using defineType/defineField/defineArrayMember
27
+ export interface IntrinsicDefinitions {
28
+ code: CodeDefinition
29
+ }
30
+ }
31
+
32
+ /**
33
+ * @public
34
+ */
35
+ export const codeSchema = defineType({
13
36
  name: 'code',
14
37
  type: 'object',
15
38
  title: 'Code',
package/src/types.ts CHANGED
@@ -1,22 +1,15 @@
1
+ /**
2
+ * @public
3
+ */
1
4
  export interface CodeInputLanguage {
2
5
  title: string
3
6
  value: string
4
7
  mode?: string
5
8
  }
6
9
 
7
- export interface CodeInputType {
8
- name?: string
9
- title?: string
10
- description?: string
11
- fields: {name: string; title?: string; placeholder?: string}[]
12
- options?: {
13
- theme?: string
14
- languageAlternatives: CodeInputLanguage[]
15
- language: string
16
- withFilename?: boolean
17
- }
18
- }
19
-
10
+ /**
11
+ * @public
12
+ */
20
13
  export interface CodeInputValue {
21
14
  _type?: 'code'
22
15
  code?: string