@sanity/code-input 3.0.0-v3-studio.11 → 3.0.0-v3-studio.13
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 +3 -12
- package/lib/_chunks/editorSupport-895caf32.esm.js +2 -0
- package/lib/_chunks/editorSupport-895caf32.esm.js.map +1 -0
- package/lib/_chunks/editorSupport-bda3d360.js +2 -0
- package/lib/_chunks/editorSupport-bda3d360.js.map +1 -0
- package/lib/index.esm.js +2 -0
- package/lib/index.esm.js.map +1 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -0
- package/lib/src/index.d.ts +116 -0
- package/package.json +35 -31
- package/src/CodeInput.tsx +6 -5
- package/src/index.ts +2 -2
- package/src/schema.tsx +1 -1
- package/lib/cjs/editorSupport.bbd31eae.js +0 -717
- package/lib/cjs/editorSupport.bbd31eae.js.map +0 -1
- package/lib/cjs/index.js +0 -729
- package/lib/cjs/index.js.map +0 -1
- package/lib/esm/editorSupport.739e7d0c.js +0 -714
- package/lib/esm/editorSupport.739e7d0c.js.map +0 -1
- package/lib/esm/index.js +0 -719
- package/lib/esm/index.js.map +0 -1
- package/lib/types/index.d.ts +0 -92
- package/lib/types/index.d.ts.map +0 -1
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
|
|
3
|
+
import {ObjectDefinition} from 'sanity'
|
|
4
|
+
import {ObjectInputProps} from 'sanity'
|
|
5
|
+
import {ObjectSchemaType} from 'sanity'
|
|
6
|
+
import {Plugin as Plugin_2} from 'sanity'
|
|
7
|
+
import {PreviewConfig} from 'sanity'
|
|
8
|
+
import {ThemeColorSchemeKey} from '@sanity/ui'
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export declare interface CodeDefinition
|
|
14
|
+
extends Omit<ObjectDefinition, 'type' | 'fields' | 'options'> {
|
|
15
|
+
type: typeof codeTypeName
|
|
16
|
+
options?: CodeOptions
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
export declare const codeInput: Plugin_2<void>
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @public
|
|
26
|
+
*/
|
|
27
|
+
export declare interface CodeInputLanguage {
|
|
28
|
+
title: string
|
|
29
|
+
value: string
|
|
30
|
+
mode?: string
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
export declare type CodeInputProps = ObjectInputProps<CodeInputValue, CodeSchemaType> & {
|
|
37
|
+
/** @internal */
|
|
38
|
+
colorScheme?: ThemeColorSchemeKey
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* @public
|
|
43
|
+
*/
|
|
44
|
+
export declare interface CodeInputValue {
|
|
45
|
+
_type?: 'code'
|
|
46
|
+
code?: string
|
|
47
|
+
filename?: string
|
|
48
|
+
language?: string
|
|
49
|
+
highlightedLines?: number[]
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* @public
|
|
54
|
+
*/
|
|
55
|
+
export declare interface CodeOptions {
|
|
56
|
+
theme?: string
|
|
57
|
+
darkTheme?: string
|
|
58
|
+
languageAlternatives?: CodeInputLanguage[]
|
|
59
|
+
language?: string
|
|
60
|
+
withFilename?: boolean
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* @public
|
|
65
|
+
*/
|
|
66
|
+
export declare const codeSchema: {
|
|
67
|
+
type: 'object'
|
|
68
|
+
name: 'code'
|
|
69
|
+
} & Omit<ObjectDefinition, 'preview'> & {
|
|
70
|
+
preview?:
|
|
71
|
+
| PreviewConfig<
|
|
72
|
+
{
|
|
73
|
+
language: string
|
|
74
|
+
code: string
|
|
75
|
+
filename: string
|
|
76
|
+
highlightedLines: string
|
|
77
|
+
},
|
|
78
|
+
Record<'code' | 'language' | 'filename' | 'highlightedLines', any>
|
|
79
|
+
>
|
|
80
|
+
| undefined
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* @public
|
|
85
|
+
*/
|
|
86
|
+
export declare type CodeSchemaType = Omit<ObjectSchemaType, 'options'> & {
|
|
87
|
+
options?: CodeOptions
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* @public
|
|
92
|
+
*/
|
|
93
|
+
export declare const codeTypeName: 'code'
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* @public
|
|
97
|
+
*/
|
|
98
|
+
export declare function PreviewCode(props: PreviewCodeProps): JSX.Element
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* @public
|
|
102
|
+
*/
|
|
103
|
+
export declare interface PreviewCodeProps {
|
|
104
|
+
type?: CodeSchemaType
|
|
105
|
+
value?: {
|
|
106
|
+
selection?: CodeInputValue
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export {}
|
|
111
|
+
|
|
112
|
+
declare module '@sanity/types' {
|
|
113
|
+
interface IntrinsicDefinitions {
|
|
114
|
+
code: CodeDefinition;
|
|
115
|
+
}
|
|
116
|
+
}
|
package/package.json
CHANGED
|
@@ -1,31 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sanity/code-input",
|
|
3
|
-
"version": "3.0.0-v3-studio.
|
|
3
|
+
"version": "3.0.0-v3-studio.13",
|
|
4
4
|
"description": "Ace editor for editing code",
|
|
5
|
+
"author": "Sanity.io <hello@sanity.io>",
|
|
6
|
+
"license": "MIT",
|
|
5
7
|
"source": "./src/index.ts",
|
|
6
8
|
"exports": {
|
|
7
9
|
".": {
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
+
"types": "./lib/src/index.d.ts",
|
|
11
|
+
"source": "./src/index.ts",
|
|
12
|
+
"import": "./lib/index.esm.js",
|
|
13
|
+
"require": "./lib/index.js",
|
|
14
|
+
"default": "./lib/index.esm.js"
|
|
10
15
|
}
|
|
11
16
|
},
|
|
12
|
-
"main": "./lib/
|
|
13
|
-
"module": "./lib/
|
|
14
|
-
"types": "./lib/
|
|
17
|
+
"main": "./lib/index.js",
|
|
18
|
+
"module": "./lib/index.esm.js",
|
|
19
|
+
"types": "./lib/src/index.d.ts",
|
|
15
20
|
"files": [
|
|
16
21
|
"src",
|
|
17
22
|
"lib",
|
|
18
23
|
"v2-incompatible.js",
|
|
19
24
|
"sanity.json"
|
|
20
25
|
],
|
|
21
|
-
"author": "Sanity.io <hello@sanity.io>",
|
|
22
|
-
"license": "MIT",
|
|
23
26
|
"scripts": {
|
|
24
27
|
"clean": "rimraf lib",
|
|
25
|
-
"prebuild": "npm run clean && plugin-kit verify-package --silent",
|
|
26
|
-
"build": "
|
|
28
|
+
"prebuild": "npm run clean && plugin-kit verify-package --silent && pkg-utils",
|
|
29
|
+
"build": "pkg-utils build",
|
|
27
30
|
"link-watch": "plugin-kit link-watch",
|
|
28
|
-
"watch": "
|
|
31
|
+
"watch": "pkg-utils watch",
|
|
29
32
|
"prepublishOnly": "npm run build",
|
|
30
33
|
"compile": "tsc --noEmit",
|
|
31
34
|
"lint": "eslint .",
|
|
@@ -46,59 +49,60 @@
|
|
|
46
49
|
"dependencies": {
|
|
47
50
|
"@sanity/icons": "^1.2.8",
|
|
48
51
|
"@sanity/incompatible-plugin": "^1.0.4",
|
|
49
|
-
"@sanity/ui": "^0.
|
|
52
|
+
"@sanity/ui": "^1.0.0-beta.31",
|
|
50
53
|
"ace-builds": "^1.9.5",
|
|
51
54
|
"react-ace": "^10.1.0"
|
|
52
55
|
},
|
|
53
56
|
"devDependencies": {
|
|
54
57
|
"@babel/preset-env": "^7.18.10",
|
|
55
58
|
"@babel/preset-react": "^7.18.6",
|
|
56
|
-
"@commitlint/cli": "^17.
|
|
57
|
-
"@commitlint/config-conventional": "^17.
|
|
59
|
+
"@commitlint/cli": "^17.2.0",
|
|
60
|
+
"@commitlint/config-conventional": "^17.2.0",
|
|
58
61
|
"@parcel/packager-ts": "2.6.2",
|
|
59
62
|
"@parcel/transformer-typescript-types": "2.6.2",
|
|
60
|
-
"@sanity/
|
|
61
|
-
"@sanity/
|
|
63
|
+
"@sanity/pkg-utils": "^1.16.2",
|
|
64
|
+
"@sanity/plugin-kit": "^2.0.5",
|
|
65
|
+
"@sanity/semantic-release-preset": "^2.0.2",
|
|
62
66
|
"@testing-library/jest-dom": "^5.16.5",
|
|
63
67
|
"@testing-library/react": "^13.4.0",
|
|
64
68
|
"@types/jest": "^29.1.2",
|
|
65
69
|
"@types/styled-components": "^5.1.25",
|
|
66
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
67
|
-
"@typescript-eslint/parser": "^5.
|
|
68
|
-
"eslint": "^8.
|
|
69
|
-
"eslint-config-prettier": "^8.
|
|
70
|
-
"eslint-config-sanity": "^
|
|
71
|
-
"eslint-plugin-prettier": "4.
|
|
72
|
-
"eslint-plugin-react": "^7.
|
|
73
|
-
"eslint-plugin-react-hooks": "^4.
|
|
70
|
+
"@typescript-eslint/eslint-plugin": "^5.42.0",
|
|
71
|
+
"@typescript-eslint/parser": "^5.42.0",
|
|
72
|
+
"eslint": "^8.26.0",
|
|
73
|
+
"eslint-config-prettier": "^8.5.0",
|
|
74
|
+
"eslint-config-sanity": "^6.0.0",
|
|
75
|
+
"eslint-plugin-prettier": "^4.2.1",
|
|
76
|
+
"eslint-plugin-react": "^7.31.10",
|
|
77
|
+
"eslint-plugin-react-hooks": "^4.6.0",
|
|
74
78
|
"husky": "^8.0.1",
|
|
75
79
|
"jest": "^28.1.3",
|
|
76
80
|
"jest-environment-jsdom": "^28.1.3",
|
|
77
81
|
"lint-staged": "^13.0.3",
|
|
78
|
-
"parcel": "2.6.
|
|
79
|
-
"prettier": "^2.
|
|
82
|
+
"parcel": "~2.6.0",
|
|
83
|
+
"prettier": "^2.7.1",
|
|
80
84
|
"react": "^18.0.0",
|
|
81
85
|
"react-dom": "^18.0.0",
|
|
82
86
|
"rimraf": "^3.0.2",
|
|
83
|
-
"sanity": "3.0.0-
|
|
87
|
+
"sanity": "3.0.0-rc.0",
|
|
84
88
|
"styled-components": "^5.2.0",
|
|
85
89
|
"ts-jest": "^28.0.7",
|
|
86
|
-
"typescript": "4.
|
|
90
|
+
"typescript": "^4.8.4"
|
|
87
91
|
},
|
|
88
92
|
"peerDependencies": {
|
|
89
93
|
"react": "^18.0.0",
|
|
90
94
|
"react-dom": "^18.0.0",
|
|
91
|
-
"sanity": "dev-preview",
|
|
95
|
+
"sanity": "dev-preview || 3.0.0-rc.0",
|
|
92
96
|
"styled-components": "^5.2.0"
|
|
93
97
|
},
|
|
94
98
|
"bugs": {
|
|
95
99
|
"url": "https://github.com/sanity-io/code-input/issues"
|
|
96
100
|
},
|
|
97
|
-
"homepage": "https://
|
|
101
|
+
"homepage": "https://github.com/sanity-io/code-input#readme",
|
|
98
102
|
"sanityExchangeUrl": "https://www.sanity.io/plugins/code-input",
|
|
99
103
|
"repository": {
|
|
100
104
|
"type": "git",
|
|
101
|
-
"url": "git
|
|
105
|
+
"url": "git@github.com:sanity-io/code-input.git"
|
|
102
106
|
},
|
|
103
107
|
"engines": {
|
|
104
108
|
"node": ">=14.0.0"
|
package/src/CodeInput.tsx
CHANGED
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
set,
|
|
12
12
|
setIfMissing,
|
|
13
13
|
unset,
|
|
14
|
+
RenderInputCallback,
|
|
14
15
|
} from 'sanity'
|
|
15
16
|
import {Card, Select, Stack, ThemeColorSchemeKey} from '@sanity/ui'
|
|
16
17
|
import styled from 'styled-components'
|
|
@@ -101,7 +102,6 @@ export function CodeInput(props: CodeInputProps) {
|
|
|
101
102
|
members,
|
|
102
103
|
elementProps,
|
|
103
104
|
onChange,
|
|
104
|
-
onFocusPath,
|
|
105
105
|
readOnly,
|
|
106
106
|
renderField,
|
|
107
107
|
renderInput,
|
|
@@ -109,6 +109,7 @@ export function CodeInput(props: CodeInputProps) {
|
|
|
109
109
|
renderPreview,
|
|
110
110
|
schemaType: type,
|
|
111
111
|
value,
|
|
112
|
+
onPathFocus,
|
|
112
113
|
} = props
|
|
113
114
|
|
|
114
115
|
const aceEditorRef = useRef<any>()
|
|
@@ -129,8 +130,8 @@ export function CodeInput(props: CodeInputProps) {
|
|
|
129
130
|
}))
|
|
130
131
|
|
|
131
132
|
const handleCodeFocus = useCallback(() => {
|
|
132
|
-
|
|
133
|
-
}, [
|
|
133
|
+
onPathFocus(PATH_CODE)
|
|
134
|
+
}, [onPathFocus])
|
|
134
135
|
|
|
135
136
|
const {scheme} = useColorScheme()
|
|
136
137
|
|
|
@@ -290,7 +291,7 @@ export function CodeInput(props: CodeInputProps) {
|
|
|
290
291
|
|
|
291
292
|
const AceEditor = useAceEditor()
|
|
292
293
|
|
|
293
|
-
const renderCodeInput = useCallback(
|
|
294
|
+
const renderCodeInput: RenderInputCallback = useCallback(
|
|
294
295
|
(inputProps) => {
|
|
295
296
|
return (
|
|
296
297
|
<EditorContainer radius={1} shadow={1} readOnly={readOnly}>
|
|
@@ -303,7 +304,7 @@ export function CodeInput(props: CodeInputProps) {
|
|
|
303
304
|
width="100%"
|
|
304
305
|
onChange={handleCodeChange}
|
|
305
306
|
name={inputProps.id}
|
|
306
|
-
value={inputProps.value}
|
|
307
|
+
value={inputProps.value as string}
|
|
307
308
|
markers={
|
|
308
309
|
value && value.highlightedLines
|
|
309
310
|
? createHighlightMarkers(value.highlightedLines)
|
package/src/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {definePlugin} from 'sanity'
|
|
2
2
|
|
|
3
3
|
import {codeSchema, codeTypeName, CodeDefinition} from './schema'
|
|
4
4
|
import PreviewCode, {PreviewCodeProps} from './PreviewCode'
|
|
@@ -12,7 +12,7 @@ export type {CodeDefinition}
|
|
|
12
12
|
/**
|
|
13
13
|
* @public
|
|
14
14
|
*/
|
|
15
|
-
export const codeInput =
|
|
15
|
+
export const codeInput = definePlugin({
|
|
16
16
|
name: '@sanity/code-input',
|
|
17
17
|
schema: {types: [codeSchema]},
|
|
18
18
|
})
|
package/src/schema.tsx
CHANGED
|
@@ -36,7 +36,7 @@ export const codeSchema = defineType({
|
|
|
36
36
|
name: 'code',
|
|
37
37
|
type: 'object',
|
|
38
38
|
title: 'Code',
|
|
39
|
-
components: {input: CodeInput, preview: PreviewCode},
|
|
39
|
+
...({components: {input: CodeInput, preview: PreviewCode}} as {}), //TODO rollback change when rc.1 is released
|
|
40
40
|
icon: CodeBlockIcon,
|
|
41
41
|
fields: [
|
|
42
42
|
{
|