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