@sanity/code-input 2.29.5-get-started-template.14 → 2.29.5-purple-unicorn.806

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.
Files changed (113) hide show
  1. package/CodeInput.js +7 -0
  2. package/deprecatedSchema.js +7 -0
  3. package/lib/CodeInput.cjs +39 -0
  4. package/lib/CodeInput.cjs.map +1 -0
  5. package/lib/CodeInput.js +33 -333
  6. package/lib/CodeInput.js.map +1 -0
  7. package/lib/_CodeInput-d6f5810b.js +846 -0
  8. package/lib/_CodeInput-d6f5810b.js.map +1 -0
  9. package/lib/_CodeInput-f70e9606.cjs +857 -0
  10. package/lib/_CodeInput-f70e9606.cjs.map +1 -0
  11. package/lib/_reExport.js +19 -0
  12. package/lib/deprecatedSchema.cjs +23 -0
  13. package/lib/deprecatedSchema.cjs.map +1 -0
  14. package/lib/deprecatedSchema.js +19 -24
  15. package/lib/deprecatedSchema.js.map +1 -0
  16. package/lib/dts/src/CodeInput.d.ts +17 -0
  17. package/lib/dts/src/CodeInput.d.ts.map +1 -0
  18. package/lib/dts/src/CodeInput.js +155 -0
  19. package/lib/dts/src/CodeInput.js.map +1 -0
  20. package/{dist/dts → lib/dts/src}/PreviewCode.d.ts +8 -8
  21. package/lib/dts/src/PreviewCode.d.ts.map +1 -0
  22. package/lib/dts/src/PreviewCode.js +50 -0
  23. package/lib/dts/src/PreviewCode.js.map +1 -0
  24. package/lib/dts/src/__workshop__/dev.d.ts +3 -0
  25. package/lib/dts/src/__workshop__/dev.d.ts.map +1 -0
  26. package/lib/dts/src/__workshop__/dev.js +18 -0
  27. package/lib/dts/src/__workshop__/dev.js.map +1 -0
  28. package/lib/dts/src/__workshop__/index.d.ts +3 -0
  29. package/lib/dts/src/__workshop__/index.d.ts.map +1 -0
  30. package/lib/dts/src/__workshop__/index.js +10 -0
  31. package/lib/dts/src/__workshop__/index.js.map +1 -0
  32. package/{dist/dts → lib/dts/src}/config.d.ts +15 -15
  33. package/lib/dts/src/config.d.ts.map +1 -0
  34. package/lib/dts/src/config.js +38 -0
  35. package/lib/dts/src/config.js.map +1 -0
  36. package/{dist/dts → lib/dts/src}/createHighlightMarkers.d.ts +3 -3
  37. package/lib/dts/src/createHighlightMarkers.d.ts.map +1 -0
  38. package/lib/dts/src/createHighlightMarkers.js +22 -0
  39. package/lib/dts/src/createHighlightMarkers.js.map +1 -0
  40. package/{dist/dts → lib/dts/src}/deprecatedSchema.d.ts +11 -11
  41. package/lib/dts/src/deprecatedSchema.d.ts.map +1 -0
  42. package/lib/dts/src/deprecatedSchema.js +19 -0
  43. package/lib/dts/src/deprecatedSchema.js.map +1 -0
  44. package/{dist/dts → lib/dts/src}/editorSupport.d.ts +27 -27
  45. package/lib/dts/src/editorSupport.d.ts.map +1 -0
  46. package/lib/dts/src/editorSupport.js +32 -0
  47. package/lib/dts/src/editorSupport.js.map +1 -0
  48. package/{dist/dts → lib/dts/src}/getMedia.d.ts +2 -2
  49. package/lib/dts/src/getMedia.d.ts.map +1 -0
  50. package/lib/dts/src/getMedia.js +35 -0
  51. package/lib/dts/src/getMedia.js.map +1 -0
  52. package/lib/dts/src/groq.d.ts +2 -0
  53. package/lib/dts/src/groq.d.ts.map +1 -0
  54. package/lib/dts/src/groq.js +612 -0
  55. package/lib/dts/src/groq.js.map +1 -0
  56. package/lib/dts/src/index.d.ts +4 -0
  57. package/lib/dts/src/index.d.ts.map +1 -0
  58. package/lib/dts/src/index.js +7 -0
  59. package/lib/dts/src/index.js.map +1 -0
  60. package/lib/dts/src/schema.d.ts +47 -0
  61. package/lib/dts/src/schema.d.ts.map +1 -0
  62. package/lib/dts/src/schema.js +59 -0
  63. package/lib/dts/src/schema.js.map +1 -0
  64. package/{dist/dts → lib/dts/src}/types.d.ts +28 -28
  65. package/lib/dts/src/types.d.ts.map +1 -0
  66. package/lib/dts/src/types.js +2 -0
  67. package/lib/dts/src/types.js.map +1 -0
  68. package/lib/dts/tsconfig.tsbuildinfo +1 -0
  69. package/lib/index.cjs +45 -0
  70. package/lib/index.cjs.map +1 -0
  71. package/lib/index.js +43 -0
  72. package/lib/index.js.map +1 -0
  73. package/lib/schema.cjs +174 -0
  74. package/lib/schema.cjs.map +1 -0
  75. package/lib/schema.js +159 -62
  76. package/lib/schema.js.map +1 -0
  77. package/package.json +63 -12
  78. package/schema.js +7 -0
  79. package/src/CodeInput.tsx +327 -0
  80. package/src/PreviewCode.tsx +89 -0
  81. package/src/__workshop__/dev.tsx +35 -0
  82. package/src/__workshop__/index.ts +10 -0
  83. package/src/config.ts +45 -0
  84. package/src/createHighlightMarkers.ts +24 -0
  85. package/src/deprecatedSchema.ts +19 -0
  86. package/src/editorSupport.ts +33 -0
  87. package/src/getMedia.tsx +95 -0
  88. package/src/groq.ts +630 -0
  89. package/src/index.ts +11 -0
  90. package/src/schema.tsx +69 -0
  91. package/src/types.ts +26 -0
  92. package/dist/dts/CodeInput.d.ts +0 -23
  93. package/dist/dts/CodeInput.d.ts.map +0 -1
  94. package/dist/dts/PreviewCode.d.ts.map +0 -1
  95. package/dist/dts/config.d.ts.map +0 -1
  96. package/dist/dts/createHighlightMarkers.d.ts.map +0 -1
  97. package/dist/dts/deprecatedSchema.d.ts.map +0 -1
  98. package/dist/dts/editorSupport.d.ts.map +0 -1
  99. package/dist/dts/getMedia.d.ts.map +0 -1
  100. package/dist/dts/groq.d.ts +0 -376
  101. package/dist/dts/groq.d.ts.map +0 -1
  102. package/dist/dts/schema.d.ts +0 -44
  103. package/dist/dts/schema.d.ts.map +0 -1
  104. package/dist/dts/types.d.ts.map +0 -1
  105. package/lib/@types/css.d.js +0 -1
  106. package/lib/PreviewCode.js +0 -79
  107. package/lib/config.js +0 -103
  108. package/lib/createHighlightMarkers.js +0 -31
  109. package/lib/editorSupport.js +0 -55
  110. package/lib/getMedia.js +0 -110
  111. package/lib/groq.js +0 -414
  112. package/lib/types.js +0 -5
  113. package/tsconfig.json +0 -26
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_CodeInput-d6f5810b.js","sources":["../src/createHighlightMarkers.ts","../src/groq.ts","../src/config.ts","../src/CodeInput.tsx"],"sourcesContent":["import {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","/* eslint-disable no-undef */\n\nexport {}\n\n// Grammar from https://github.com/sanity-io/vscode-sanity\nconst rules = {\n start: [\n {\n include: '#query',\n },\n {\n include: '#value',\n },\n {\n include: '#pair',\n },\n ],\n '#query': [\n {\n include: '#nullary-access-operator',\n },\n {\n include: '#arraylike',\n },\n {\n include: '#pipe',\n },\n {\n include: '#sort-order',\n },\n {\n include: '#filter',\n },\n ],\n '#variable': [\n {\n token: 'variable.other.groq',\n regex: /\\$[_A-Za-z][_0-9A-Za-z]*/,\n },\n ],\n '#keyword': [\n {\n token: 'keyword.other.groq',\n regex: /\\b(?:asc|desc|in|match)\\b/,\n },\n ],\n '#comparison': [\n {\n token: 'keyword.operator.comparison.groq',\n // eslint-disable-next-line no-div-regex\n regex: /==|!=|>=|<=|<!=>|<|>/,\n },\n ],\n '#operator': [\n {\n token: 'keyword.operator.arithmetic.groq',\n regex: /\\+|-|\\*{1,2}|\\/|%/,\n },\n ],\n '#pipe': [\n {\n token: 'keyword.operator.pipe.groq',\n regex: /\\|/,\n },\n ],\n '#logical': [\n {\n token: 'keyword.operator.logical.groq',\n regex: /!|&&|\\|\\|/,\n },\n ],\n '#reference': [\n {\n token: 'keyword.operator.reference.groq',\n regex: /->/,\n },\n ],\n '#pair': [\n {\n include: '#identifier',\n },\n {\n include: '#value',\n },\n {\n include: '#filter',\n },\n {\n token: 'keyword.operator.pair.groq',\n regex: /[=]>/,\n },\n ],\n '#arraylike': [\n {\n token: 'punctuation.definition.bracket.begin.groq',\n regex: /\\[/,\n push: [\n {\n token: ['text', 'keyword.operator.descendant.groq'],\n regex: /(\\])((?:\\s*\\.)?)/,\n next: 'pop',\n },\n {\n include: '#range',\n },\n {\n include: '#filter',\n },\n {\n include: '#array-values',\n },\n ],\n },\n ],\n '#array': [\n {\n token: 'punctuation.definition.bracket.begin.groq',\n regex: /\\[/,\n push: [\n {\n token: 'punctuation.definition.bracket.end.groq',\n regex: /\\]/,\n next: 'pop',\n },\n {\n include: '#array-values',\n },\n {\n defaultToken: 'meta.structure.array.groq',\n },\n ],\n },\n ],\n '#range': [\n {\n token: [\n 'meta.structure.range.groq',\n 'constant.numeric.groq',\n 'meta.structure.range.groq',\n 'keyword.operator.range.groq',\n 'meta.structure.range.groq',\n 'constant.numeric.groq',\n 'meta.structure.range.groq',\n ],\n regex: /(\\s*)(\\d+)(\\s*)(\\.{2,3})(\\s*)(\\d+)(\\s*)/,\n },\n ],\n '#spread': [\n {\n token: 'punctuation.definition.spread.begin.groq',\n regex: /\\.\\.\\./,\n push: [\n {\n include: '#array',\n },\n {\n include: '#function-call',\n },\n {\n include: '#projection',\n },\n {\n token: 'punctuation.definition.spread.end.groq',\n regex: /(?=.)/,\n next: 'pop',\n },\n {\n defaultToken: 'meta.structure.spread.groq',\n },\n ],\n },\n ],\n '#array-values': [\n {\n include: '#value',\n },\n {\n include: '#spread',\n },\n {\n token: 'punctuation.separator.array.groq',\n regex: /,/,\n },\n {\n token: 'invalid.illegal.expected-array-separator.groq',\n regex: /[^\\s\\]]/,\n },\n ],\n '#filter': [\n {\n include: '#function-call',\n },\n {\n include: '#keyword',\n },\n {\n include: '#constant',\n },\n {\n include: '#identifier',\n },\n {\n include: '#value',\n },\n {\n include: '#comparison',\n },\n {\n include: '#operator',\n },\n {\n include: '#logical',\n },\n ],\n '#comments': [\n {\n token: ['punctuation.definition.comment.groq', 'comment.line.double-slash.js'],\n regex: /(\\/\\/)(.*$)/,\n },\n ],\n '#nullary-access-operator': [\n {\n token: 'constant.language.groq',\n regex: /[*@^]/,\n },\n ],\n '#constant': [\n {\n token: 'constant.language.groq',\n regex: /\\b(?:true|false|null)\\b/,\n },\n ],\n '#number': [\n {\n token: 'constant.numeric.groq',\n regex: /-?(?:0|[1-9]\\d*)(?:(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)?/,\n },\n ],\n '#named-projection': [\n {\n include: '#identifier',\n },\n {\n include: '#objectkey',\n },\n {\n include: '#projection',\n },\n ],\n '#projection': [\n {\n token: 'punctuation.definition.projection.begin.groq',\n regex: /\\{/,\n push: [\n {\n token: 'punctuation.definition.projection.end.groq',\n regex: /\\}/,\n next: 'pop',\n },\n {\n include: '#identifier',\n },\n {\n include: '#objectkey',\n },\n {\n include: '#named-projection',\n },\n {\n include: '#comments',\n },\n {\n include: '#spread',\n },\n {\n include: '#pair',\n },\n {\n token: 'punctuation.separator.projection.key-value.groq',\n regex: /:/,\n push: [\n {\n token: 'punctuation.separator.projection.pair.groq',\n regex: /,|(?=\\})/,\n next: 'pop',\n },\n {\n include: '#nullary-access-operator',\n },\n {\n include: '#arraylike',\n },\n {\n include: '#value',\n },\n {\n include: '#spread',\n },\n {\n include: '#identifier',\n },\n {\n include: '#operator',\n },\n {\n include: '#comparison',\n },\n {\n include: '#pair',\n },\n {\n token: 'invalid.illegal.expected-projection-separator.groq',\n regex: /[^\\s,]/,\n },\n {\n defaultToken: 'meta.structure.projection.value.groq',\n },\n ],\n },\n {\n token: 'invalid.illegal.expected-projection-separator.groq',\n regex: /[^\\s},]/,\n },\n {\n defaultToken: 'meta.structure.projection.groq',\n },\n ],\n },\n ],\n '#string': [\n {\n include: '#single-string',\n },\n {\n include: '#double-string',\n },\n ],\n '#double-string': [\n {\n token: 'punctuation.definition.string.begin.groq',\n regex: /\"/,\n push: [\n {\n token: 'punctuation.definition.string.end.groq',\n regex: /\"/,\n next: 'pop',\n },\n {\n include: '#stringcontent',\n },\n {\n defaultToken: 'string.quoted.double.groq',\n },\n ],\n },\n ],\n '#single-string': [\n {\n token: 'punctuation.definition.string.single.begin.groq',\n regex: /'/,\n push: [\n {\n token: 'punctuation.definition.string.single.end.groq',\n regex: /'/,\n next: 'pop',\n },\n {\n include: '#stringcontent',\n },\n {\n defaultToken: 'string.quoted.single.groq',\n },\n ],\n },\n ],\n '#objectkey': [\n {\n include: '#string',\n },\n ],\n '#stringcontent': [\n {\n token: 'constant.character.escape.groq',\n regex: /\\\\(?:[\"\\\\/bfnrt]|u[0-9a-fA-F]{4})/,\n },\n {\n token: 'invalid.illegal.unrecognized-string-escape.groq',\n regex: /\\\\./,\n },\n ],\n '#sort-pair': [\n {\n token: ['variable.other.readwrite.groq', 'text', 'keyword.other.groq'],\n regex: /([_A-Za-z][_0-9A-Za-z]*)(?:(\\s*)(asc|desc))?/,\n },\n {\n token: ['constant.language.groq', 'punctuation.definition.bracket.begin.groq'],\n regex: /(@)(\\[)/,\n push: [\n {\n token: ['punctuation.definition.bracket.begin.groq', 'text', 'keyword.other.groq'],\n regex: /(\\])(?:(\\s*)(asc|desc))?/,\n next: 'pop',\n },\n {\n include: '#string',\n },\n ],\n },\n ],\n '#sort-order': [\n {\n token: 'support.function.sortorder.begin.groq',\n regex: /\\border\\s*\\(/,\n push: [\n {\n token: 'support.function.sortorder.end.groq',\n regex: /\\)/,\n next: 'pop',\n },\n {\n include: '#sort-pair',\n },\n {\n token: 'punctuation.separator.array.groq',\n regex: /,/,\n },\n {\n token: 'invalid.illegal.expected-sort-separator.groq',\n regex: /[^\\s\\]]/,\n },\n {\n defaultToken: 'support.function.sortorder.groq',\n },\n ],\n },\n ],\n '#function-call': [\n {\n include: '#function-var-arg',\n },\n {\n include: '#function-single-arg',\n },\n {\n include: '#function-round',\n },\n ],\n '#function-var-arg': [\n {\n token: 'support.function.vararg.begin.groq',\n regex: /\\b(?:coalesce|select)\\s*\\(/,\n push: [\n {\n token: 'support.function.vararg.end.groq',\n regex: /\\)/,\n next: 'pop',\n },\n {\n include: '#value',\n },\n {\n include: '#identifier',\n },\n {\n include: '#filter',\n },\n {\n include: '#pair',\n },\n {\n token: 'punctuation.separator.array.groq',\n regex: /,/,\n },\n {\n defaultToken: 'support.function.vararg.groq',\n },\n ],\n },\n ],\n '#function-single-arg': [\n {\n token: 'support.function.singlearg.begin.groq',\n regex: /\\b(?:count|defined|length|path|references)\\s*\\(/,\n push: [\n {\n token: 'support.function.singlearg.end.groq',\n regex: /\\)/,\n next: 'pop',\n },\n {\n include: '#query',\n },\n {\n include: '#identifier',\n },\n {\n include: '#value',\n },\n {\n include: '#pair',\n },\n {\n defaultToken: 'support.function.singlearg.groq',\n },\n ],\n },\n ],\n '#identifier': [\n {\n token: [\n 'variable.other.readwrite.groq',\n 'text',\n 'punctuation.definition.block.js',\n 'text',\n 'keyword.operator.reference.groq',\n ],\n regex: /([_A-Za-z][_0-9A-Za-z]*)(\\s*)((?:\\[\\s*\\])?)(\\s*)(->)/,\n },\n {\n token: [\n 'variable.other.readwrite.groq',\n 'constant.language.groq',\n 'text',\n 'punctuation.definition.block.js',\n 'text',\n 'keyword.operator.descendant.groq',\n ],\n regex: /(?:([_A-Za-z][_0-9A-Za-z]*)|([@^]))(\\s*)((?:\\[\\s*\\])?)(\\s*)(\\.)/,\n },\n {\n token: 'variable.other.readwrite.groq',\n regex: /[_A-Za-z][_0-9A-Za-z]*/,\n },\n ],\n '#value': [\n {\n include: '#constant',\n },\n {\n include: '#number',\n },\n {\n include: '#string',\n },\n {\n include: '#array',\n },\n {\n include: '#variable',\n },\n {\n include: '#projection',\n },\n {\n include: '#comments',\n },\n {\n include: '#function-call',\n },\n ],\n}\n\ndeclare let ace: any\n\nace.define(\n 'ace/mode/groq_highlight_rules',\n ['require', 'exports', 'module', 'ace/lib/oop', 'ace/mode/text_highlight_rules'],\n (acequire: (id: string) => any, exports: Record<string, unknown>, _module: any) => {\n const oop = acequire('../lib/oop')\n const TextHighlightRules = acequire('./text_highlight_rules').TextHighlightRules\n\n const GroqHighlightRules = function () {\n /* eslint-disable @typescript-eslint/ban-ts-comment */\n // @ts-ignore\n this.$rules = rules\n // @ts-ignore\n this.normalizeRules()\n /* eslint-enable @typescript-eslint/ban-ts-comment */\n }\n\n oop.inherits(GroqHighlightRules, TextHighlightRules)\n\n exports.GroqHighlightRules = GroqHighlightRules\n }\n)\n\nace.define(\n 'ace/mode/groq',\n [\n 'require',\n 'exports',\n 'module',\n 'ace/lib/oop',\n 'ace/mode/text',\n 'ace/tokenizer',\n 'ace/mode/groq_highlight_rules',\n 'ace/mode/folding/cstyle',\n ],\n (acequire: (id: string) => any, exports: Record<string, unknown>, _module: any) => {\n // eslint-disable-next-line strict\n 'use strict'\n const oop = acequire('../lib/oop')\n const TextMode = acequire('./text').Mode\n const Tokenizer = acequire('../tokenizer').Tokenizer\n const GroqHighlightRules = acequire('./groq_highlight_rules').GroqHighlightRules\n const FoldMode = acequire('./folding/cstyle').FoldMode\n\n const Mode = function () {\n /* eslint-disable @typescript-eslint/ban-ts-comment */\n const highlighter = new GroqHighlightRules()\n // @ts-ignore\n this.foldingRules = new FoldMode()\n // @ts-ignore\n this.$tokenizer = new Tokenizer(highlighter.getRules())\n // @ts-ignore\n this.$keywordList = highlighter.$keywordList\n /* eslint-enable @typescript-eslint/ban-ts-comment */\n }\n oop.inherits(Mode, TextMode)\n ;(function () {\n /* eslint-disable @typescript-eslint/ban-ts-comment */\n // @ts-ignore\n this.lineCommentStart = \"'\"\n /* eslint-enable @typescript-eslint/ban-ts-comment */\n }.call(Mode.prototype))\n\n exports.Mode = Mode\n }\n)\n","import {CodeInputLanguage} from './types'\n\n// NOTE: MAKE SURE THESE ALIGN WITH IMPORTS IN ./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'\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","/* eslint-disable react/jsx-handler-names */\nimport React, {useCallback, useEffect, useImperativeHandle, useMemo, useRef} from 'react'\nimport {\n FieldMember,\n MemberField,\n ObjectInputProps,\n set,\n setIfMissing,\n unset,\n} from '@sanity/base/form'\nimport {ObjectSchemaType} from '@sanity/types'\nimport {Card, Select, Stack} from '@sanity/ui'\nimport AceEditor from 'react-ace'\nimport styled from 'styled-components'\nimport createHighlightMarkers, {highlightMarkersCSS} from './createHighlightMarkers'\nimport {CodeInputLanguage, CodeInputValue} from './types'\n/* eslint-disable-next-line import/no-unassigned-import */\nimport './editorSupport'\n\nimport {\n ACE_EDITOR_PROPS,\n ACE_SET_OPTIONS,\n DEFAULT_THEME,\n LANGUAGE_ALIASES,\n PATH_CODE,\n SUPPORTED_LANGUAGES,\n SUPPORTED_THEMES,\n} from './config'\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 languageAlternatives: CodeInputLanguage[]\n language: string\n withFilename?: boolean\n }\n}\n\nexport type CodeInputProps = ObjectInputProps<CodeInputValue, CodeSchemaType>\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 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 getTheme = useCallback(() => {\n const preferredTheme = type.options?.theme\n return preferredTheme && SUPPORTED_THEMES.find((theme) => theme === preferredTheme)\n ? preferredTheme\n : DEFAULT_THEME\n }, [type])\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) => {\n return (\n <Select {...inputProps}>\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 renderCodeInput = useCallback(\n (inputProps) => {\n return (\n <EditorContainer radius={1} shadow={1} readOnly={readOnly}>\n <AceEditor\n ref={aceEditorRef}\n mode={mode}\n theme={getTheme()}\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 </EditorContainer>\n )\n },\n [getTheme, handleCodeChange, handleCodeFocus, handleEditorLoad, mode, onBlur, readOnly, value]\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 />\n )}\n\n {type.options?.withFilename && filenameMember && (\n <MemberField\n member={filenameMember}\n renderItem={renderItem}\n renderField={renderField}\n renderInput={renderInput}\n />\n )}\n\n {codeFieldMember && (\n <MemberField\n member={codeFieldMember}\n renderInput={renderCodeInput}\n renderItem={renderItem}\n renderField={renderField}\n />\n )}\n </Stack>\n )\n}\n"],"names":[],"mappings":"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"}