Skip to content

Commit b43b3a9

Browse files
committed
Expose .isArray and improve CSS specificity
1 parent 99b2027 commit b43b3a9

File tree

1 file changed

+32
-17
lines changed

1 file changed

+32
-17
lines changed

src/lib/JsonView.svelte

Lines changed: 32 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -54,16 +54,26 @@ $: collapsed = depth < _cur
5454
</script>
5555

5656
{#if !items.length}
57-
<span class="_jsonBkt empty">{brackets[0]}{brackets[1]}</span>{#if !_last}<span class="_jsonSep"
58-
>,</span
57+
<span class="_jsonBkt empty" class:isArray>{brackets[0]}{brackets[1]}</span>{#if !_last}<span
58+
class="_jsonSep">,</span
5959
>{/if}
6060
{:else if collapsed}
61-
<span class="_jsonBkt" role="button" tabindex="0" on:click={clicked} on:keydown={pressed}
62-
>{brackets[0]}...{brackets[1]}</span
61+
<span
62+
class="_jsonBkt"
63+
class:isArray
64+
role="button"
65+
tabindex="0"
66+
on:click={clicked}
67+
on:keydown={pressed}>{brackets[0]}...{brackets[1]}</span
6368
>{#if !_last && collapsed}<span class="_jsonSep">,</span>{/if}
6469
{:else}
65-
<span class="_jsonBkt" role="button" tabindex="0" on:click={clicked} on:keydown={pressed}
66-
>{brackets[0]}</span
70+
<span
71+
class="_jsonBkt"
72+
class:isArray
73+
role="button"
74+
tabindex="0"
75+
on:click={clicked}
76+
on:keydown={pressed}>{brackets[0]}</span
6777
>
6878
<ul class="_jsonList">
6979
{#each items as i, idx}
@@ -80,42 +90,47 @@ $: collapsed = depth < _cur
8090
</li>
8191
{/each}
8292
</ul>
83-
<span class="_jsonBkt" role="button" tabindex="0" on:click={clicked} on:keydown={pressed}
84-
>{brackets[1]}</span
93+
<span
94+
class="_jsonBkt"
95+
class:isArray
96+
role="button"
97+
tabindex="0"
98+
on:click={clicked}
99+
on:keydown={pressed}>{brackets[1]}</span
85100
>{#if !_last}<span class="_jsonSep">,</span>{/if}
86101
{/if}
87102

88103
<style>
89-
._jsonList {
104+
:where(._jsonList) {
90105
list-style: none;
91106
margin: 0;
92107
padding: 0;
93108
padding-left: var(--jsonPaddingLeft, 1rem);
94109
border-left: var(--jsonBorderLeft, 1px dotted);
95110
}
96-
._jsonBkt {
111+
:where(._jsonBkt) {
97112
color: var(--jsonBracketColor, currentcolor);
98113
}
99-
._jsonBkt:not(.empty):hover {
114+
:where(._jsonBkt):not(.empty):hover {
100115
cursor: pointer;
101116
background: var(--jsonBracketHoverBackground, #e5e7eb);
102117
}
103-
._jsonSep {
118+
:where(._jsonSep) {
104119
color: var(--jsonSeparatorColor, currentcolor);
105120
}
106-
._jsonKey {
121+
:where(._jsonKey) {
107122
color: var(--jsonKeyColor, currentcolor);
108123
}
109-
._jsonVal {
124+
:where(._jsonVal) {
110125
color: var(--jsonValColor, #9ca3af);
111126
}
112-
._jsonVal.string {
127+
:where(._jsonVal).string {
113128
color: var(--jsonValStringColor, #059669);
114129
}
115-
._jsonVal.number {
130+
:where(._jsonVal).number {
116131
color: var(--jsonValNumberColor, #d97706);
117132
}
118-
._jsonVal.boolean {
133+
:where(._jsonVal).boolean {
119134
color: var(--jsonValBooleanColor, #2563eb);
120135
}
121136
</style>

0 commit comments

Comments
 (0)