Skip to content

Commit 4f8b32f

Browse files
authored
fix: support indent width (#32)
1 parent 06c886c commit 4f8b32f

File tree

4 files changed

+7
-11
lines changed

4 files changed

+7
-11
lines changed

src/components/DataTypes/Object.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,12 +223,13 @@ export const ObjectType: React.FC<DataItemProps<object>> = (props) => {
223223
groupArraysAfterLength,
224224
displayLength,
225225
keyColor])
226+
const indentWidth = useJsonViewerStore(store => store.indentWidth)
226227
return (
227228
<Box
228229
className='data-object'
229230
sx={{
230231
display: props.inspect ? 'block' : 'inline-block',
231-
pl: props.inspect ? 2 : 0,
232+
pl: props.inspect ? indentWidth : 0,
232233
color: keyColor
233234
}}
234235
>

src/index.tsx

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -40,20 +40,12 @@ const JsonViewerInner: React.FC<JsonViewerProps> = (props) => {
4040
setIfNotUndefined('value', props.value)
4141
}, [props.value, setIfNotUndefined])
4242
useEffect(() => {
43-
// setIfNotUndefined('indentWidth', props.indentWidth)
43+
setIfNotUndefined('indentWidth', props.indentWidth)
4444
setIfNotUndefined('onChange', props.onChange)
4545
setIfNotUndefined('groupArraysAfterLength', props.groupArraysAfterLength)
4646
setIfNotUndefined('keyRenderer', props.keyRenderer)
4747
setIfNotUndefined('maxDisplayLength', props.maxDisplayLength)
48-
}, [
49-
api,
50-
props.groupArraysAfterLength,
51-
props.keyRenderer,
52-
props.onChange,
53-
props.value,
54-
props.maxDisplayLength,
55-
setIfNotUndefined
56-
])
48+
}, [api, props.groupArraysAfterLength, props.keyRenderer, props.onChange, props.value, props.maxDisplayLength, setIfNotUndefined, props.indentWidth])
5749

5850
useEffect(() => {
5951
if (props.theme === 'light') {

src/stores/JsonViewerStore.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ DefaultKeyRenderer.when = () => false
1414
export type JsonViewerState<T = unknown> = {
1515
inspectCache: Record<string, boolean>
1616
hoverPath: { path: Path; nestedIndex?: number } | null
17+
indentWidth: number
1718
groupArraysAfterLength: number
1819
maxDisplayLength: number
1920
defaultInspectDepth: number
@@ -38,6 +39,7 @@ export const createJsonViewerStore = <T = unknown>(props: JsonViewerProps<T>) =>
3839
{
3940
inspectCache: {},
4041
hoverPath: null,
42+
indentWidth: props.indentWidth ?? 2,
4143
groupArraysAfterLength: props.groupArraysAfterLength ?? 100,
4244
maxDisplayLength: props.maxDisplayLength ?? 30,
4345
rootName: 'root',

src/type.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ export type JsonViewerProps<T = unknown> = {
3636
value: T
3737
/**
3838
* indent width for nested objects
39+
* @default 2
3940
*/
4041
indentWidth?: number
4142
/**

0 commit comments

Comments
 (0)