@nil-/doc 0.2.5 → 0.2.7
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/CHANGELOG.md +13 -11
- package/components/Layout.svelte +11 -23
- package/components/block/Block.svelte +6 -2
- package/components/block/Template.svelte +13 -54
- package/components/block/controls/Component.svelte +71 -0
- package/components/block/controls/Component.svelte.d.ts +19 -0
- package/components/block/controls/Number.svelte +3 -3
- package/components/block/controls/Range.svelte +5 -5
- package/components/block/controls/Select.svelte +9 -7
- package/components/block/controls/Switch.svelte +3 -3
- package/components/block/controls/Text.svelte +3 -3
- package/components/context.d.ts +1 -0
- package/components/context.js +7 -0
- package/components/etc/Container.svelte +4 -4
- package/components/navigation/Nav.svelte +13 -10
- package/components/navigation/Node.svelte +1 -0
- package/package.json +1 -1
- package/styles/reset.css +19 -0
- package/styles/scrollable.css +9 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
# @nil-/doc
|
|
2
2
|
|
|
3
|
-
## 0.2.
|
|
3
|
+
## 0.2.7
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
-
-
|
|
7
|
+
- a286896: Removed fonts to css
|
|
8
|
+
Moved common style to css files
|
|
9
|
+
Moved static in src
|
|
10
|
+
Moved Controls to its own component
|
|
11
|
+
Scoped styles by `nil-doc` prefix
|
|
12
|
+
Fixed css reset for Layout and Block
|
|
13
|
+
Allow filtering after renaming (url paths)
|
|
14
|
+
Added title to +layout.svelte
|
|
15
|
+
Updated layout documentation
|
|
16
|
+
Update dependencies
|
|
8
17
|
|
|
9
|
-
## 0.2.
|
|
18
|
+
## 0.2.6
|
|
10
19
|
|
|
11
20
|
### Patch Changes
|
|
12
21
|
|
|
13
|
-
-
|
|
14
|
-
- 409f3c4: another non changing change 2
|
|
15
|
-
|
|
16
|
-
### Minor Changes
|
|
17
|
-
|
|
18
|
-
- added README
|
|
19
|
-
added LICENSE
|
|
20
|
-
adjusted package.json
|
|
22
|
+
- d8c80b6: noop
|
|
21
23
|
|
|
22
24
|
## 0.1.0
|
|
23
25
|
|
package/components/Layout.svelte
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
<style>
|
|
2
|
-
.
|
|
3
|
-
|
|
4
|
-
height: 100%;
|
|
5
|
-
font-family: "Fira Code", "Courier New", Courier, monospace;
|
|
6
|
-
}
|
|
2
|
+
@import "../styles/reset.css";
|
|
3
|
+
@import "../styles/scrollable.css";
|
|
7
4
|
|
|
8
|
-
.
|
|
9
|
-
|
|
10
|
-
background-color: rgb(34, 36, 37);
|
|
5
|
+
.root {
|
|
6
|
+
width: 100%;
|
|
11
7
|
color: rgb(201, 205, 207);
|
|
8
|
+
background-color: rgb(34, 36, 37);
|
|
9
|
+
font-family: "Fira Code", "Courier New", Courier, monospace;
|
|
12
10
|
}
|
|
13
11
|
|
|
14
12
|
.content {
|
|
@@ -17,34 +15,24 @@
|
|
|
17
15
|
display: flex;
|
|
18
16
|
flex-direction: column;
|
|
19
17
|
}
|
|
20
|
-
|
|
21
|
-
.scrollable {
|
|
22
|
-
overflow: scroll;
|
|
23
|
-
scrollbar-width: none; /* Firefox */
|
|
24
|
-
-ms-overflow-style: none; /* IE and Edge */
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.scrollable::-webkit-scrollbar {
|
|
28
|
-
display: none;
|
|
29
|
-
}
|
|
30
18
|
</style>
|
|
31
19
|
|
|
32
20
|
<script>import Container from "./etc/Container.svelte";
|
|
33
21
|
import Nav from "./navigation/Nav.svelte";
|
|
34
|
-
import
|
|
22
|
+
import { inRoot } from "./context";
|
|
35
23
|
export let data;
|
|
36
24
|
export let current = null;
|
|
37
25
|
export let sorter = null;
|
|
38
26
|
export let renamer = null;
|
|
27
|
+
const r = inRoot();
|
|
39
28
|
</script>
|
|
40
|
-
<
|
|
41
|
-
<div class="wrapper">
|
|
29
|
+
<div class="root" class:nil-doc-reset={r}>
|
|
42
30
|
<Container offset={250} padding={250} vertical>
|
|
43
31
|
<svelte:fragment slot="a">
|
|
44
32
|
<Nav
|
|
45
33
|
info={data}
|
|
46
34
|
selected={current ?? ""}
|
|
47
|
-
sorter={sorter ?? ((l, r) => (l
|
|
35
|
+
sorter={sorter ?? ((l, r) => (l === r ? 0 : l < r ? -1 : +1))}
|
|
48
36
|
renamer={renamer ?? ((s) => s)}
|
|
49
37
|
on:navigate
|
|
50
38
|
>
|
|
@@ -52,7 +40,7 @@ export let renamer = null;
|
|
|
52
40
|
</Nav>
|
|
53
41
|
</svelte:fragment>
|
|
54
42
|
<svelte:fragment slot="b">
|
|
55
|
-
<div class="content scrollable">
|
|
43
|
+
<div class="content nil-doc-scrollable">
|
|
56
44
|
{#key current}
|
|
57
45
|
<slot name="content" />
|
|
58
46
|
{/key}
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
<script>import { initCurrent, initParams, initControls } from "./context";
|
|
2
|
+
import { inRoot } from "../context";
|
|
2
3
|
initParams();
|
|
3
4
|
initCurrent();
|
|
4
5
|
initControls();
|
|
6
|
+
const r = inRoot();
|
|
5
7
|
</script>
|
|
6
8
|
<style>
|
|
9
|
+
@import "../../styles/reset.css";
|
|
10
|
+
|
|
7
11
|
div {
|
|
8
|
-
width: 100%;
|
|
9
12
|
display: flex;
|
|
10
13
|
flex-direction: column;
|
|
14
|
+
font-family: "Fira Code", "Courier New", Courier, monospace;
|
|
11
15
|
}
|
|
12
16
|
</style>
|
|
13
17
|
|
|
14
18
|
|
|
15
|
-
<div>
|
|
19
|
+
<div class:nil-doc-reset={r}>
|
|
16
20
|
<slot />
|
|
17
21
|
</div>
|
|
18
22
|
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
<style>
|
|
2
|
+
@import "../../styles/scrollable.css";
|
|
3
|
+
|
|
2
4
|
.template {
|
|
3
5
|
display: flex;
|
|
4
6
|
flex-direction: column;
|
|
@@ -14,53 +16,30 @@
|
|
|
14
16
|
}
|
|
15
17
|
|
|
16
18
|
.content {
|
|
17
|
-
padding:
|
|
19
|
+
padding: 3px;
|
|
18
20
|
min-height: 100px;
|
|
19
21
|
border-radius: 5px 5px 5px 5px;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
.scrollable {
|
|
24
|
-
width: 100%;
|
|
25
|
-
overflow: scroll;
|
|
26
|
-
scrollbar-width: none; /* Firefox */
|
|
27
|
-
-ms-overflow-style: none; /* IE and Edge */
|
|
22
|
+
border: rgb(100, 96, 96) solid 1px;
|
|
23
|
+
background-color: rgb(33, 36, 37);
|
|
28
24
|
}
|
|
29
25
|
|
|
30
|
-
.
|
|
31
|
-
|
|
26
|
+
.content > :global(*) {
|
|
27
|
+
all: initial;
|
|
32
28
|
}
|
|
33
29
|
|
|
34
30
|
.misc {
|
|
35
|
-
margin-top:
|
|
36
|
-
|
|
37
|
-
background-color: rgb(100, 96, 96);
|
|
31
|
+
margin-top: 2px;
|
|
32
|
+
outline: rgb(100, 96, 96) solid 1px;
|
|
38
33
|
border-bottom-left-radius: 5px;
|
|
39
34
|
border-bottom-right-radius: 5px;
|
|
40
35
|
user-select: none;
|
|
41
36
|
}
|
|
42
|
-
|
|
43
|
-
.misc > .controls {
|
|
44
|
-
width: 100%;
|
|
45
|
-
display: grid;
|
|
46
|
-
grid-template-columns: 1fr 200px 75px;
|
|
47
|
-
grid-auto-rows: 1fr;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
.misc > .controls > .header {
|
|
51
|
-
text-align: center;
|
|
52
|
-
}
|
|
53
37
|
</style>
|
|
54
38
|
<svelte:window on:click={() => ($current = null)} />
|
|
55
39
|
|
|
56
40
|
<script>import { beforeUpdate } from "svelte";
|
|
57
41
|
import { getParams, getCurrent, getControls } from "./context";
|
|
58
|
-
import
|
|
59
|
-
import Number from "./controls/Number.svelte";
|
|
60
|
-
import Range from "./controls/Range.svelte";
|
|
61
|
-
import Switch from "./controls/Switch.svelte";
|
|
62
|
-
import Select from "./controls/Select.svelte";
|
|
63
|
-
import Font from "../etc/Font.svelte";
|
|
42
|
+
import Controls from "./controls/Component.svelte";
|
|
64
43
|
import { slide } from "svelte/transition";
|
|
65
44
|
const params = getParams();
|
|
66
45
|
const current = getCurrent();
|
|
@@ -94,7 +73,6 @@ let hovered = null;
|
|
|
94
73
|
let rerender = false;
|
|
95
74
|
beforeUpdate(() => (rerender = !rerender));
|
|
96
75
|
</script>
|
|
97
|
-
<Font />
|
|
98
76
|
<div class="template">
|
|
99
77
|
{#each $params as { id, tag, values } (id)}
|
|
100
78
|
<div
|
|
@@ -105,32 +83,13 @@ beforeUpdate(() => (rerender = !rerender));
|
|
|
105
83
|
on:keypress={null}
|
|
106
84
|
>
|
|
107
85
|
{#key rerender}
|
|
108
|
-
<div class="content scrollable">
|
|
86
|
+
<div class="content nil-doc-scrollable">
|
|
109
87
|
<slot {tag} props={resolve(defaults, values)} />
|
|
110
88
|
</div>
|
|
111
89
|
{/key}
|
|
112
90
|
{#if $controls.length > 0 && ($current === id || hovered === id)}
|
|
113
|
-
<div class="misc scrollable" transition:slide>
|
|
114
|
-
<
|
|
115
|
-
<div class="header">Name</div>
|
|
116
|
-
<div class="header">Value</div>
|
|
117
|
-
<div class="header">In Use</div>
|
|
118
|
-
{#each $controls as info}
|
|
119
|
-
{@const type = info.type}
|
|
120
|
-
{@const name = info.name}
|
|
121
|
-
{#if type === "text"}
|
|
122
|
-
<Text {info} bind:value={values[name]} />
|
|
123
|
-
{:else if type === "number"}
|
|
124
|
-
<Number {info} bind:value={values[name]} />
|
|
125
|
-
{:else if type === "range"}
|
|
126
|
-
<Range {info} bind:value={values[name]} />
|
|
127
|
-
{:else if type === "select"}
|
|
128
|
-
<Select {info} bind:value={values[name]} />
|
|
129
|
-
{:else if type === "switch"}
|
|
130
|
-
<Switch {info} bind:value={values[name]} />
|
|
131
|
-
{/if}
|
|
132
|
-
{/each}
|
|
133
|
-
</div>
|
|
91
|
+
<div class="misc nil-doc-scrollable" transition:slide>
|
|
92
|
+
<Controls infos={$controls} bind:values />
|
|
134
93
|
</div>
|
|
135
94
|
{/if}
|
|
136
95
|
</div>
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
<style>
|
|
2
|
+
.controls {
|
|
3
|
+
width: 100%;
|
|
4
|
+
display: grid;
|
|
5
|
+
grid-auto-rows: 1fr;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.header {
|
|
9
|
+
text-align: center;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.row {
|
|
13
|
+
width: 100%;
|
|
14
|
+
display: grid;
|
|
15
|
+
padding: 2px 0px;
|
|
16
|
+
grid-template-columns: 1fr 200px 75px;
|
|
17
|
+
background-color: hsl(205, 50%, 5%);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.row:nth-child(even) {
|
|
21
|
+
background-color: hsl(205, 15%, 15%);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.row > :global(div:nth-child(1)) {
|
|
25
|
+
padding-left: 10px;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.row > :global(div) {
|
|
29
|
+
display: grid;
|
|
30
|
+
align-items: center;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.row > :global(div > *) {
|
|
34
|
+
width: 100%;
|
|
35
|
+
height: 100%;
|
|
36
|
+
}
|
|
37
|
+
</style>
|
|
38
|
+
|
|
39
|
+
<script>import Text from "./Text.svelte";
|
|
40
|
+
import Number from "./Number.svelte";
|
|
41
|
+
import Range from "./Range.svelte";
|
|
42
|
+
import Switch from "./Switch.svelte";
|
|
43
|
+
import Select from "./Select.svelte";
|
|
44
|
+
export let infos;
|
|
45
|
+
export let values;
|
|
46
|
+
</script>
|
|
47
|
+
<div class="controls">
|
|
48
|
+
<div class="row">
|
|
49
|
+
<div class="header">Name</div>
|
|
50
|
+
<div class="header">Value</div>
|
|
51
|
+
<div class="header">Use</div>
|
|
52
|
+
</div>
|
|
53
|
+
{#each infos as info}
|
|
54
|
+
{@const type = info.type}
|
|
55
|
+
{@const name = info.name}
|
|
56
|
+
<div class="row">
|
|
57
|
+
{#if type === "text"}
|
|
58
|
+
<Text {info} bind:value={values[name]} />
|
|
59
|
+
{:else if type === "number"}
|
|
60
|
+
<Number {info} bind:value={values[name]} />
|
|
61
|
+
{:else if type === "range"}
|
|
62
|
+
<Range {info} bind:value={values[name]} />
|
|
63
|
+
{:else if type === "select"}
|
|
64
|
+
<Select {info} bind:value={values[name]} />
|
|
65
|
+
{:else if type === "switch"}
|
|
66
|
+
<Switch {info} bind:value={values[name]} />
|
|
67
|
+
{/if}
|
|
68
|
+
</div>
|
|
69
|
+
{/each}
|
|
70
|
+
</div>
|
|
71
|
+
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
import type { Control } from "./types";
|
|
3
|
+
import type { ParamValues } from "../context";
|
|
4
|
+
declare const __propDef: {
|
|
5
|
+
props: {
|
|
6
|
+
infos: Control[];
|
|
7
|
+
values: ParamValues;
|
|
8
|
+
};
|
|
9
|
+
events: {
|
|
10
|
+
[evt: string]: CustomEvent<any>;
|
|
11
|
+
};
|
|
12
|
+
slots: {};
|
|
13
|
+
};
|
|
14
|
+
export type ComponentProps = typeof __propDef.props;
|
|
15
|
+
export type ComponentEvents = typeof __propDef.events;
|
|
16
|
+
export type ComponentSlots = typeof __propDef.slots;
|
|
17
|
+
export default class Component extends SvelteComponentTyped<ComponentProps, ComponentEvents, ComponentSlots> {
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -5,6 +5,6 @@ let ivalue = value ?? 0;
|
|
|
5
5
|
let enabled = value !== undefined;
|
|
6
6
|
$: value = enabled ? ivalue : undefined;
|
|
7
7
|
</script>
|
|
8
|
-
<
|
|
9
|
-
<input type="number" bind:value={ivalue} disabled={!enabled}
|
|
10
|
-
<input type="checkbox" bind:checked={enabled}
|
|
8
|
+
<div>{info.name}</div>
|
|
9
|
+
<div><input type="number" bind:value={ivalue} disabled={!enabled} /></div>
|
|
10
|
+
<div><input type="checkbox" bind:checked={enabled} /></div>
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<style>
|
|
2
|
-
|
|
2
|
+
.input {
|
|
3
3
|
width: 100%;
|
|
4
4
|
display: grid;
|
|
5
5
|
grid-template-columns: 40px 1fr;
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
.input > span {
|
|
9
9
|
text-align: center;
|
|
10
10
|
}
|
|
11
11
|
</style>
|
|
@@ -16,8 +16,8 @@ let ivalue = value ?? info.min;
|
|
|
16
16
|
let enabled = value !== undefined;
|
|
17
17
|
$: value = enabled ? ivalue : undefined;
|
|
18
18
|
</script>
|
|
19
|
-
<
|
|
20
|
-
<div>
|
|
19
|
+
<div>{info.name}</div>
|
|
20
|
+
<div class="input">
|
|
21
21
|
<span>{ivalue}</span>
|
|
22
22
|
<input
|
|
23
23
|
type="range"
|
|
@@ -28,5 +28,5 @@ $: value = enabled ? ivalue : undefined;
|
|
|
28
28
|
disabled={!enabled}
|
|
29
29
|
/>
|
|
30
30
|
</div>
|
|
31
|
-
<input type="checkbox" bind:checked={enabled}
|
|
31
|
+
<div><input type="checkbox" bind:checked={enabled} /></div>
|
|
32
32
|
|
|
@@ -5,10 +5,12 @@ let ivalue = value ?? (info.values.length > 0 ? info.values[0] : undefined);
|
|
|
5
5
|
let enabled = value !== undefined;
|
|
6
6
|
$: value = enabled ? ivalue : undefined;
|
|
7
7
|
</script>
|
|
8
|
-
<
|
|
9
|
-
<
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
<div>{info.name}</div>
|
|
9
|
+
<div>
|
|
10
|
+
<select bind:value={ivalue} disabled={!enabled}>
|
|
11
|
+
{#each info.values as value}
|
|
12
|
+
<option {value}>{value}</option>
|
|
13
|
+
{/each}
|
|
14
|
+
</select>
|
|
15
|
+
</div>
|
|
16
|
+
<div><input type="checkbox" bind:checked={enabled} /></div>
|
|
@@ -5,6 +5,6 @@ let ivalue = value ?? false;
|
|
|
5
5
|
let enabled = value !== undefined;
|
|
6
6
|
$: value = enabled ? ivalue : undefined;
|
|
7
7
|
</script>
|
|
8
|
-
<
|
|
9
|
-
<input type="checkbox" bind:checked={ivalue} disabled={!enabled}
|
|
10
|
-
<input type="checkbox" bind:checked={enabled}
|
|
8
|
+
<div>{info.name}</div>
|
|
9
|
+
<div><input type="checkbox" bind:checked={ivalue} disabled={!enabled} /></div>
|
|
10
|
+
<div><input type="checkbox" bind:checked={enabled} /></div>
|
|
@@ -5,6 +5,6 @@ let ivalue = value ?? "";
|
|
|
5
5
|
let enabled = value !== undefined;
|
|
6
6
|
$: value = enabled ? ivalue : undefined;
|
|
7
7
|
</script>
|
|
8
|
-
<
|
|
9
|
-
<input type="text" bind:value={ivalue} disabled={!enabled}
|
|
10
|
-
<input type="checkbox" bind:checked={enabled}
|
|
8
|
+
<div>{info.name}</div>
|
|
9
|
+
<div><input type="text" bind:value={ivalue} disabled={!enabled} /></div>
|
|
10
|
+
<div><input type="checkbox" bind:checked={enabled} /></div>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function inRoot(): boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<style>
|
|
2
|
-
.
|
|
2
|
+
.container {
|
|
3
3
|
display: flex;
|
|
4
4
|
position: relative;
|
|
5
5
|
width: 100%;
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
user-select: none;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
.
|
|
24
|
-
outline:
|
|
23
|
+
.container > div {
|
|
24
|
+
outline: rgb(100, 96, 96) solid 1px;
|
|
25
25
|
}
|
|
26
26
|
</style>
|
|
27
27
|
|
|
@@ -53,7 +53,7 @@ $: offsetpx = `${offset}px`;
|
|
|
53
53
|
$: thicknesspx = `${thickness}px`;
|
|
54
54
|
</script>
|
|
55
55
|
<div
|
|
56
|
-
class="
|
|
56
|
+
class="container"
|
|
57
57
|
bind:clientHeight={height}
|
|
58
58
|
bind:clientWidth={width}
|
|
59
59
|
style:flex-direction={vertical ? "row" : "column"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<style>
|
|
2
|
-
.
|
|
2
|
+
.nav {
|
|
3
3
|
gap: 10px;
|
|
4
4
|
padding-top: 20px;
|
|
5
5
|
display: flex;
|
|
@@ -18,8 +18,7 @@
|
|
|
18
18
|
}
|
|
19
19
|
</style>
|
|
20
20
|
|
|
21
|
-
<script context="module">
|
|
22
|
-
function apply(paths, init, pre, next, post) {
|
|
21
|
+
<script context="module">function apply(paths, init, pre, next, post) {
|
|
23
22
|
const retval = {};
|
|
24
23
|
for (const path of paths) {
|
|
25
24
|
const parts = path.split("/");
|
|
@@ -45,6 +44,15 @@ function apply(paths, init, pre, next, post) {
|
|
|
45
44
|
}
|
|
46
45
|
return retval;
|
|
47
46
|
}
|
|
47
|
+
function filt(path, filter, renamer) {
|
|
48
|
+
return path.includes(filter) || path.split("/").map(renamer).join("/").includes(filter);
|
|
49
|
+
}
|
|
50
|
+
function populate(filter, info, renamer) {
|
|
51
|
+
return apply(filter.length > 0 ? info.filter((path) => filt(path, filter, renamer)) : info, () => ({ url: null, sub: {} }), (t) => t, (t) => t.sub, (t, p) => {
|
|
52
|
+
t.url = p;
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
export {};
|
|
48
56
|
</script>
|
|
49
57
|
<script>import Tree from "./Tree.svelte";
|
|
50
58
|
export let info;
|
|
@@ -53,20 +61,15 @@ export let sorter;
|
|
|
53
61
|
export let renamer;
|
|
54
62
|
let filter = "";
|
|
55
63
|
let states = apply(info, () => ({ expanded: false, sub: {} }), (t, path) => ({ expanded: t.expanded || selected === path, sub: t.sub }), (t) => t.sub);
|
|
56
|
-
function populate(f, i) {
|
|
57
|
-
return apply(f.length > 0 ? i.filter((d) => d.includes(f)) : i, () => ({ url: null, sub: {} }), (t) => t, (t) => t.sub, (t, p) => {
|
|
58
|
-
t.url = p;
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
64
|
</script>
|
|
62
|
-
<div class="
|
|
65
|
+
<div class="nav">
|
|
63
66
|
<div class="logo"><slot /></div>
|
|
64
67
|
<div class="search-bar">
|
|
65
68
|
<input bind:value={filter} type="text" />
|
|
66
69
|
</div>
|
|
67
70
|
<div class="tree">
|
|
68
71
|
<Tree
|
|
69
|
-
tree={populate(filter, info)}
|
|
72
|
+
tree={populate(filter, info, renamer)}
|
|
70
73
|
{selected}
|
|
71
74
|
{sorter}
|
|
72
75
|
{renamer}
|
package/package.json
CHANGED
package/styles/reset.css
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
@font-face {
|
|
2
|
+
font-family: "Fira Code";
|
|
3
|
+
src: url("https://fonts.googleapis.com/css?family=Fira Code");
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.nil-doc-reset {
|
|
7
|
+
width: 100%;
|
|
8
|
+
height: 100%;
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
font-family: "Fira Code", "Courier New", Courier, monospace;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.nil-doc-reset *,
|
|
14
|
+
.nil-doc-reset *::before,
|
|
15
|
+
.nil-doc-reset *::after {
|
|
16
|
+
box-sizing: inherit;
|
|
17
|
+
padding: 0px;
|
|
18
|
+
margin: 0px;
|
|
19
|
+
}
|