@sanity/code-input 2.29.5-get-started-template.13 → 2.29.5-purple-unicorn.779

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
package/lib/index.cjs ADDED
@@ -0,0 +1,45 @@
1
+ 'use strict';
2
+
3
+ var base = require('@sanity/base');
4
+ var schema = require('./schema.cjs');
5
+ require('react');
6
+ require('@sanity/icons');
7
+ require('./_CodeInput-f70e9606.cjs');
8
+ require('@sanity/base/form');
9
+ require('@sanity/ui');
10
+ require('react-ace');
11
+ require('styled-components');
12
+ require('ace-builds/src-noconflict/mode-batchfile');
13
+ require('ace-builds/src-noconflict/mode-csharp');
14
+ require('ace-builds/src-noconflict/mode-css');
15
+ require('ace-builds/src-noconflict/mode-golang');
16
+ require('ace-builds/src-noconflict/mode-html');
17
+ require('ace-builds/src-noconflict/mode-java');
18
+ require('ace-builds/src-noconflict/mode-javascript');
19
+ require('ace-builds/src-noconflict/mode-json');
20
+ require('ace-builds/src-noconflict/mode-jsx');
21
+ require('ace-builds/src-noconflict/mode-markdown');
22
+ require('ace-builds/src-noconflict/mode-mysql');
23
+ require('ace-builds/src-noconflict/mode-php');
24
+ require('ace-builds/src-noconflict/mode-python');
25
+ require('ace-builds/src-noconflict/mode-ruby');
26
+ require('ace-builds/src-noconflict/mode-sass');
27
+ require('ace-builds/src-noconflict/mode-scss');
28
+ require('ace-builds/src-noconflict/mode-sh');
29
+ require('ace-builds/src-noconflict/mode-text');
30
+ require('ace-builds/src-noconflict/mode-tsx');
31
+ require('ace-builds/src-noconflict/mode-typescript');
32
+ require('ace-builds/src-noconflict/mode-xml');
33
+ require('ace-builds/src-noconflict/mode-yaml');
34
+ require('ace-builds/src-noconflict/theme-github');
35
+ require('ace-builds/src-noconflict/theme-monokai');
36
+ require('ace-builds/src-noconflict/theme-terminal');
37
+ require('ace-builds/src-noconflict/theme-tomorrow');
38
+
39
+ const codeInput = base.createPlugin({
40
+ name: '@sanity/code-input',
41
+ schema: { types: [schema] },
42
+ });
43
+
44
+ exports.codeInput = codeInput;
45
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../src/index.ts"],"sourcesContent":["import {createPlugin} from '@sanity/base'\nimport schema from './schema'\n\nexport type {CodeInputProps, CodeSchemaType} from './CodeInput'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\n\nexport const codeInput = createPlugin({\n name: '@sanity/code-input',\n schema: {types: [schema]},\n})\n"],"names":["createPlugin"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOO,MAAM,SAAS,GAAGA,iBAAY,CAAC;AACpC,IAAA,IAAI,EAAE,oBAAoB;AAC1B,IAAA,MAAM,EAAE,EAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAC;AAC1B,CAAA;;;;"}
package/lib/index.js ADDED
@@ -0,0 +1,43 @@
1
+ import { createPlugin } from '@sanity/base';
2
+ import schema from './schema.js';
3
+ import 'react';
4
+ import '@sanity/icons';
5
+ import './_CodeInput-d6f5810b.js';
6
+ import '@sanity/base/form';
7
+ import '@sanity/ui';
8
+ import 'react-ace';
9
+ import 'styled-components';
10
+ import 'ace-builds/src-noconflict/mode-batchfile';
11
+ import 'ace-builds/src-noconflict/mode-csharp';
12
+ import 'ace-builds/src-noconflict/mode-css';
13
+ import 'ace-builds/src-noconflict/mode-golang';
14
+ import 'ace-builds/src-noconflict/mode-html';
15
+ import 'ace-builds/src-noconflict/mode-java';
16
+ import 'ace-builds/src-noconflict/mode-javascript';
17
+ import 'ace-builds/src-noconflict/mode-json';
18
+ import 'ace-builds/src-noconflict/mode-jsx';
19
+ import 'ace-builds/src-noconflict/mode-markdown';
20
+ import 'ace-builds/src-noconflict/mode-mysql';
21
+ import 'ace-builds/src-noconflict/mode-php';
22
+ import 'ace-builds/src-noconflict/mode-python';
23
+ import 'ace-builds/src-noconflict/mode-ruby';
24
+ import 'ace-builds/src-noconflict/mode-sass';
25
+ import 'ace-builds/src-noconflict/mode-scss';
26
+ import 'ace-builds/src-noconflict/mode-sh';
27
+ import 'ace-builds/src-noconflict/mode-text';
28
+ import 'ace-builds/src-noconflict/mode-tsx';
29
+ import 'ace-builds/src-noconflict/mode-typescript';
30
+ import 'ace-builds/src-noconflict/mode-xml';
31
+ import 'ace-builds/src-noconflict/mode-yaml';
32
+ import 'ace-builds/src-noconflict/theme-github';
33
+ import 'ace-builds/src-noconflict/theme-monokai';
34
+ import 'ace-builds/src-noconflict/theme-terminal';
35
+ import 'ace-builds/src-noconflict/theme-tomorrow';
36
+
37
+ const codeInput = createPlugin({
38
+ name: '@sanity/code-input',
39
+ schema: { types: [schema] },
40
+ });
41
+
42
+ export { codeInput };
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import {createPlugin} from '@sanity/base'\nimport schema from './schema'\n\nexport type {CodeInputProps, CodeSchemaType} from './CodeInput'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\n\nexport const codeInput = createPlugin({\n name: '@sanity/code-input',\n schema: {types: [schema]},\n})\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOO,MAAM,SAAS,GAAG,YAAY,CAAC;AACpC,IAAA,IAAI,EAAE,oBAAoB;AAC1B,IAAA,MAAM,EAAE,EAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAC;AAC1B,CAAA;;;;"}
package/lib/schema.cjs ADDED
@@ -0,0 +1,174 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var icons = require('@sanity/icons');
5
+ var CodeInput = require('./_CodeInput-f70e9606.cjs');
6
+ var AceEditor = require('react-ace');
7
+ var styled = require('styled-components');
8
+ var ui = require('@sanity/ui');
9
+ require('ace-builds/src-noconflict/mode-batchfile');
10
+ require('ace-builds/src-noconflict/mode-csharp');
11
+ require('ace-builds/src-noconflict/mode-css');
12
+ require('ace-builds/src-noconflict/mode-golang');
13
+ require('ace-builds/src-noconflict/mode-html');
14
+ require('ace-builds/src-noconflict/mode-java');
15
+ require('ace-builds/src-noconflict/mode-javascript');
16
+ require('ace-builds/src-noconflict/mode-json');
17
+ require('ace-builds/src-noconflict/mode-jsx');
18
+ require('ace-builds/src-noconflict/mode-markdown');
19
+ require('ace-builds/src-noconflict/mode-mysql');
20
+ require('ace-builds/src-noconflict/mode-php');
21
+ require('ace-builds/src-noconflict/mode-python');
22
+ require('ace-builds/src-noconflict/mode-ruby');
23
+ require('ace-builds/src-noconflict/mode-sass');
24
+ require('ace-builds/src-noconflict/mode-scss');
25
+ require('ace-builds/src-noconflict/mode-sh');
26
+ require('ace-builds/src-noconflict/mode-text');
27
+ require('ace-builds/src-noconflict/mode-tsx');
28
+ require('ace-builds/src-noconflict/mode-typescript');
29
+ require('ace-builds/src-noconflict/mode-xml');
30
+ require('ace-builds/src-noconflict/mode-yaml');
31
+ require('ace-builds/src-noconflict/theme-github');
32
+ require('ace-builds/src-noconflict/theme-monokai');
33
+ require('ace-builds/src-noconflict/theme-terminal');
34
+ require('ace-builds/src-noconflict/theme-tomorrow');
35
+ require('@sanity/base/form');
36
+
37
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
38
+
39
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
40
+ var AceEditor__default = /*#__PURE__*/_interopDefaultLegacy(AceEditor);
41
+ var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
42
+
43
+ const PreviewContainer = styled__default["default"](ui.Box) `
44
+ position: relative;
45
+ `;
46
+ const PreviewInner = styled__default["default"](ui.Box) `
47
+ background-color: #272822;
48
+
49
+ .ace_editor {
50
+ box-sizing: border-box;
51
+ cursor: default;
52
+ pointer-events: none;
53
+ }
54
+
55
+ .ace_content {
56
+ box-sizing: border-box;
57
+ overflow: hidden;
58
+ }
59
+ `;
60
+ function PreviewCode(props) {
61
+ const aceEditorRef = React.useRef();
62
+ React.useEffect(() => {
63
+ if (!aceEditorRef?.current)
64
+ return;
65
+ const editor = aceEditorRef.current?.editor;
66
+ if (editor) {
67
+ // Avoid cursor and focus tracking by Ace
68
+ editor.renderer.$cursorLayer.element.style.opacity = 0;
69
+ editor.textInput.getElement().disabled = true;
70
+ }
71
+ }, []);
72
+ const handleEditorChange = React.useCallback(() => {
73
+ // do nothing when the editor changes
74
+ }, []);
75
+ const { value, type } = props;
76
+ const fixedLanguage = type?.options?.language;
77
+ const mode = value?.language || fixedLanguage || 'text';
78
+ return (React__default["default"].createElement(PreviewContainer, null,
79
+ React__default["default"].createElement(PreviewInner, { padding: 4 },
80
+ React__default["default"].createElement(AceEditor__default["default"], { ref: aceEditorRef, focus: false, mode: mode, theme: "monokai", width: "100%", onChange: handleEditorChange, maxLines: 200, readOnly: true, wrapEnabled: true, showPrintMargin: false, highlightActiveLine: false, cursorStart: -1, value: (value && value.code) || '', markers: value && value.highlightedLines
81
+ ? CodeInput.createHighlightMarkers(value.highlightedLines)
82
+ : undefined, tabSize: 2, showGutter: false, setOptions: CodeInput.ACE_SET_OPTIONS, editorProps: CodeInput.ACE_EDITOR_PROPS }))));
83
+ }
84
+
85
+ function getMedia(language) {
86
+ if (language === 'jsx') {
87
+ return (React__default["default"].createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 128 128" },
88
+ React__default["default"].createElement("g", { fill: "#61DAFB" },
89
+ React__default["default"].createElement("circle", { cx: "64", cy: "64", r: "11.4" }),
90
+ React__default["default"].createElement("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" }))));
91
+ }
92
+ if (language === 'javascript') {
93
+ return (React__default["default"].createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 128 128" },
94
+ React__default["default"].createElement("path", { fill: "#F0DB4F", d: "M1.408 1.408h125.184v125.185H1.408z" }),
95
+ React__default["default"].createElement("path", { fill: "#323330", 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" })));
96
+ }
97
+ if (language === 'php') {
98
+ return (React__default["default"].createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 800 400" },
99
+ React__default["default"].createElement("g", { transform: "translate(-44.632 -141.55)" },
100
+ React__default["default"].createElement("g", { transform: "matrix(8.3528 0 0 8.3119 -727.13 -3759.5)" },
101
+ React__default["default"].createElement("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" }),
102
+ React__default["default"].createElement("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" }),
103
+ React__default["default"].createElement("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" })))));
104
+ }
105
+ if (language === 'json') {
106
+ return (React__default["default"].createElement("svg", { xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", viewBox: "0 0 160 160" },
107
+ React__default["default"].createElement("defs", null,
108
+ React__default["default"].createElement("linearGradient", { id: "a" },
109
+ React__default["default"].createElement("stop", { offset: "0" }),
110
+ React__default["default"].createElement("stop", { offset: "1", stopColor: "#fff" })),
111
+ React__default["default"].createElement("linearGradient", { x1: "-553.27", y1: "525.908", x2: "-666.116", y2: "413.045", id: "c", xlinkHref: "#a", gradientUnits: "userSpaceOnUse", gradientTransform: "matrix(.99884 0 0 .9987 689.008 -388.844)" }),
112
+ React__default["default"].createElement("linearGradient", { x1: "-666.117", y1: "413.045", x2: "-553.27", y2: "525.908", id: "b", xlinkHref: "#a", gradientUnits: "userSpaceOnUse", gradientTransform: "matrix(.99884 0 0 .9987 689.008 -388.844)" })),
113
+ React__default["default"].createElement("path", { 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", style: { marker: 'none' }, color: "#000", fill: "url(#b)", fillRule: "evenodd", overflow: "visible" }),
114
+ React__default["default"].createElement("path", { 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", style: { marker: 'none' }, color: "#000", fill: "url(#c)", fillRule: "evenodd", overflow: "visible" })));
115
+ }
116
+ return undefined;
117
+ }
118
+
119
+ const Preview = (props) => {
120
+ return React__default["default"].createElement(PreviewCode, { ...props });
121
+ };
122
+ var schema = {
123
+ name: 'code',
124
+ type: 'object',
125
+ title: 'Code',
126
+ components: { input: CodeInput.CodeInput },
127
+ icon: icons.CodeBlockIcon,
128
+ fields: [
129
+ {
130
+ name: 'language',
131
+ title: 'Language',
132
+ type: 'string',
133
+ },
134
+ {
135
+ name: 'filename',
136
+ title: 'Filename',
137
+ type: 'string',
138
+ },
139
+ {
140
+ title: 'Code',
141
+ name: 'code',
142
+ type: 'text',
143
+ },
144
+ {
145
+ title: 'Highlighted lines',
146
+ name: 'highlightedLines',
147
+ type: 'array',
148
+ of: [
149
+ {
150
+ type: 'number',
151
+ title: 'Highlighted line',
152
+ },
153
+ ],
154
+ },
155
+ ],
156
+ preview: {
157
+ select: {
158
+ language: 'language',
159
+ code: 'code',
160
+ filename: 'filename',
161
+ highlightedLines: 'highlightedLines',
162
+ },
163
+ prepare: (value) => {
164
+ return {
165
+ title: value.filename || (value.language || 'unknown').toUpperCase(),
166
+ media: getMedia(value?.language),
167
+ extendedPreview: React__default["default"].createElement(Preview, { value: value }),
168
+ };
169
+ },
170
+ },
171
+ };
172
+
173
+ module.exports = schema;
174
+ //# sourceMappingURL=schema.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.cjs","sources":["../src/PreviewCode.tsx","../src/getMedia.tsx","../src/schema.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useRef} from 'react'\nimport AceEditor from 'react-ace'\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'\n/* eslint-disable-next-line import/no-unassigned-import */\nimport './editorSupport'\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\n return (\n <PreviewContainer>\n <PreviewInner padding={4}>\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 </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","import React from 'react'\nimport {CodeBlockIcon} from '@sanity/icons'\nimport {CodeInput} from './CodeInput'\nimport PreviewCode, {PreviewCodeProps} from './PreviewCode'\nimport {getMedia} from './getMedia'\n\nexport type {CodeInputProps, CodeSchemaType} from './CodeInput'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\n\nconst Preview = (props: PreviewCodeProps) => {\n return <PreviewCode {...props} />\n}\n\nexport default {\n name: 'code',\n type: 'object',\n title: 'Code',\n components: {input: CodeInput},\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 extendedPreview: <Preview value={value} />,\n }\n },\n },\n}\n"],"names":["styled","Box","useRef","useEffect","useCallback","React","AceEditor","createHighlightMarkers","ACE_SET_OPTIONS","ACE_EDITOR_PROPS","CodeInput","CodeBlockIcon"],"mappings":"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"}
package/lib/schema.js CHANGED
@@ -1,69 +1,166 @@
1
- "use strict";
1
+ import React, { useRef, useEffect, useCallback } from 'react';
2
+ import { CodeBlockIcon } from '@sanity/icons';
3
+ import { c as createHighlightMarkers, A as ACE_SET_OPTIONS, a as ACE_EDITOR_PROPS, C as CodeInput } from './_CodeInput-d6f5810b.js';
4
+ import AceEditor from 'react-ace';
5
+ import styled from 'styled-components';
6
+ import { Box } from '@sanity/ui';
7
+ import 'ace-builds/src-noconflict/mode-batchfile';
8
+ import 'ace-builds/src-noconflict/mode-csharp';
9
+ import 'ace-builds/src-noconflict/mode-css';
10
+ import 'ace-builds/src-noconflict/mode-golang';
11
+ import 'ace-builds/src-noconflict/mode-html';
12
+ import 'ace-builds/src-noconflict/mode-java';
13
+ import 'ace-builds/src-noconflict/mode-javascript';
14
+ import 'ace-builds/src-noconflict/mode-json';
15
+ import 'ace-builds/src-noconflict/mode-jsx';
16
+ import 'ace-builds/src-noconflict/mode-markdown';
17
+ import 'ace-builds/src-noconflict/mode-mysql';
18
+ import 'ace-builds/src-noconflict/mode-php';
19
+ import 'ace-builds/src-noconflict/mode-python';
20
+ import 'ace-builds/src-noconflict/mode-ruby';
21
+ import 'ace-builds/src-noconflict/mode-sass';
22
+ import 'ace-builds/src-noconflict/mode-scss';
23
+ import 'ace-builds/src-noconflict/mode-sh';
24
+ import 'ace-builds/src-noconflict/mode-text';
25
+ import 'ace-builds/src-noconflict/mode-tsx';
26
+ import 'ace-builds/src-noconflict/mode-typescript';
27
+ import 'ace-builds/src-noconflict/mode-xml';
28
+ import 'ace-builds/src-noconflict/mode-yaml';
29
+ import 'ace-builds/src-noconflict/theme-github';
30
+ import 'ace-builds/src-noconflict/theme-monokai';
31
+ import 'ace-builds/src-noconflict/theme-terminal';
32
+ import 'ace-builds/src-noconflict/theme-tomorrow';
33
+ import '@sanity/base/form';
2
34
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
35
+ const PreviewContainer = styled(Box) `
36
+ position: relative;
37
+ `;
38
+ const PreviewInner = styled(Box) `
39
+ background-color: #272822;
7
40
 
8
- var _react = _interopRequireDefault(require("react"));
9
-
10
- var _icons = require("@sanity/icons");
11
-
12
- var _CodeInput = _interopRequireDefault(require("./CodeInput"));
13
-
14
- var _PreviewCode = _interopRequireDefault(require("./PreviewCode"));
41
+ .ace_editor {
42
+ box-sizing: border-box;
43
+ cursor: default;
44
+ pointer-events: none;
45
+ }
15
46
 
16
- var _getMedia = require("./getMedia");
47
+ .ace_content {
48
+ box-sizing: border-box;
49
+ overflow: hidden;
50
+ }
51
+ `;
52
+ function PreviewCode(props) {
53
+ const aceEditorRef = useRef();
54
+ useEffect(() => {
55
+ if (!aceEditorRef?.current)
56
+ return;
57
+ const editor = aceEditorRef.current?.editor;
58
+ if (editor) {
59
+ // Avoid cursor and focus tracking by Ace
60
+ editor.renderer.$cursorLayer.element.style.opacity = 0;
61
+ editor.textInput.getElement().disabled = true;
62
+ }
63
+ }, []);
64
+ const handleEditorChange = useCallback(() => {
65
+ // do nothing when the editor changes
66
+ }, []);
67
+ const { value, type } = props;
68
+ const fixedLanguage = type?.options?.language;
69
+ const mode = value?.language || fixedLanguage || 'text';
70
+ return (React.createElement(PreviewContainer, null,
71
+ React.createElement(PreviewInner, { padding: 4 },
72
+ React.createElement(AceEditor, { ref: aceEditorRef, focus: false, mode: mode, theme: "monokai", width: "100%", onChange: handleEditorChange, maxLines: 200, readOnly: true, wrapEnabled: true, showPrintMargin: false, highlightActiveLine: false, cursorStart: -1, value: (value && value.code) || '', markers: value && value.highlightedLines
73
+ ? createHighlightMarkers(value.highlightedLines)
74
+ : undefined, tabSize: 2, showGutter: false, setOptions: ACE_SET_OPTIONS, editorProps: ACE_EDITOR_PROPS }))));
75
+ }
17
76
 
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
77
+ function getMedia(language) {
78
+ if (language === 'jsx') {
79
+ return (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 128 128" },
80
+ React.createElement("g", { fill: "#61DAFB" },
81
+ React.createElement("circle", { cx: "64", cy: "64", r: "11.4" }),
82
+ React.createElement("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" }))));
83
+ }
84
+ if (language === 'javascript') {
85
+ return (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 128 128" },
86
+ React.createElement("path", { fill: "#F0DB4F", d: "M1.408 1.408h125.184v125.185H1.408z" }),
87
+ React.createElement("path", { fill: "#323330", 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" })));
88
+ }
89
+ if (language === 'php') {
90
+ return (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 800 400" },
91
+ React.createElement("g", { transform: "translate(-44.632 -141.55)" },
92
+ React.createElement("g", { transform: "matrix(8.3528 0 0 8.3119 -727.13 -3759.5)" },
93
+ React.createElement("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" }),
94
+ React.createElement("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" }),
95
+ React.createElement("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" })))));
96
+ }
97
+ if (language === 'json') {
98
+ return (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", viewBox: "0 0 160 160" },
99
+ React.createElement("defs", null,
100
+ React.createElement("linearGradient", { id: "a" },
101
+ React.createElement("stop", { offset: "0" }),
102
+ React.createElement("stop", { offset: "1", stopColor: "#fff" })),
103
+ React.createElement("linearGradient", { x1: "-553.27", y1: "525.908", x2: "-666.116", y2: "413.045", id: "c", xlinkHref: "#a", gradientUnits: "userSpaceOnUse", gradientTransform: "matrix(.99884 0 0 .9987 689.008 -388.844)" }),
104
+ React.createElement("linearGradient", { x1: "-666.117", y1: "413.045", x2: "-553.27", y2: "525.908", id: "b", xlinkHref: "#a", gradientUnits: "userSpaceOnUse", gradientTransform: "matrix(.99884 0 0 .9987 689.008 -388.844)" })),
105
+ React.createElement("path", { 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", style: { marker: 'none' }, color: "#000", fill: "url(#b)", fillRule: "evenodd", overflow: "visible" }),
106
+ React.createElement("path", { 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", style: { marker: 'none' }, color: "#000", fill: "url(#c)", fillRule: "evenodd", overflow: "visible" })));
107
+ }
108
+ return undefined;
109
+ }
19
110
 
20
- var Preview = props => {
21
- return /*#__PURE__*/_react.default.createElement(_PreviewCode.default, props);
111
+ const Preview = (props) => {
112
+ return React.createElement(PreviewCode, { ...props });
113
+ };
114
+ var schema = {
115
+ name: 'code',
116
+ type: 'object',
117
+ title: 'Code',
118
+ components: { input: CodeInput },
119
+ icon: CodeBlockIcon,
120
+ fields: [
121
+ {
122
+ name: 'language',
123
+ title: 'Language',
124
+ type: 'string',
125
+ },
126
+ {
127
+ name: 'filename',
128
+ title: 'Filename',
129
+ type: 'string',
130
+ },
131
+ {
132
+ title: 'Code',
133
+ name: 'code',
134
+ type: 'text',
135
+ },
136
+ {
137
+ title: 'Highlighted lines',
138
+ name: 'highlightedLines',
139
+ type: 'array',
140
+ of: [
141
+ {
142
+ type: 'number',
143
+ title: 'Highlighted line',
144
+ },
145
+ ],
146
+ },
147
+ ],
148
+ preview: {
149
+ select: {
150
+ language: 'language',
151
+ code: 'code',
152
+ filename: 'filename',
153
+ highlightedLines: 'highlightedLines',
154
+ },
155
+ prepare: (value) => {
156
+ return {
157
+ title: value.filename || (value.language || 'unknown').toUpperCase(),
158
+ media: getMedia(value?.language),
159
+ extendedPreview: React.createElement(Preview, { value: value }),
160
+ };
161
+ },
162
+ },
22
163
  };
23
164
 
24
- var _default = {
25
- name: 'code',
26
- type: 'object',
27
- title: 'Code',
28
- inputComponent: _CodeInput.default,
29
- icon: _icons.CodeBlockIcon,
30
- fields: [{
31
- name: 'language',
32
- title: 'Language',
33
- type: 'string'
34
- }, {
35
- name: 'filename',
36
- title: 'Filename',
37
- type: 'string'
38
- }, {
39
- title: 'Code',
40
- name: 'code',
41
- type: 'text'
42
- }, {
43
- title: 'Highlighted lines',
44
- name: 'highlightedLines',
45
- type: 'array',
46
- of: [{
47
- type: 'number',
48
- title: 'Highlighted line'
49
- }]
50
- }],
51
- preview: {
52
- select: {
53
- language: 'language',
54
- code: 'code',
55
- filename: 'filename',
56
- highlightedLines: 'highlightedLines'
57
- },
58
- prepare: value => {
59
- return {
60
- title: value.filename || (value.language || 'unknown').toUpperCase(),
61
- media: (0, _getMedia.getMedia)(value === null || value === void 0 ? void 0 : value.language),
62
- extendedPreview: /*#__PURE__*/_react.default.createElement(Preview, {
63
- value: value
64
- })
65
- };
66
- }
67
- }
68
- };
69
- exports.default = _default;
165
+ export { schema as default };
166
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sources":["../src/PreviewCode.tsx","../src/getMedia.tsx","../src/schema.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useRef} from 'react'\nimport AceEditor from 'react-ace'\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'\n/* eslint-disable-next-line import/no-unassigned-import */\nimport './editorSupport'\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\n return (\n <PreviewContainer>\n <PreviewInner padding={4}>\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 </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","import React from 'react'\nimport {CodeBlockIcon} from '@sanity/icons'\nimport {CodeInput} from './CodeInput'\nimport PreviewCode, {PreviewCodeProps} from './PreviewCode'\nimport {getMedia} from './getMedia'\n\nexport type {CodeInputProps, CodeSchemaType} from './CodeInput'\n\nexport type {CodeInputLanguage, CodeInputValue} from './types'\n\nconst Preview = (props: PreviewCodeProps) => {\n return <PreviewCode {...props} />\n}\n\nexport default {\n name: 'code',\n type: 'object',\n title: 'Code',\n components: {input: CodeInput},\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 extendedPreview: <Preview value={value} />,\n }\n },\n },\n}\n"],"names":[],"mappings":"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"}