@nil-/doc 0.2.49 → 0.2.51
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 +21 -0
- package/components/Layout.svelte +72 -109
- package/components/Layout.svelte.d.ts +1 -0
- package/components/block/Block.svelte +84 -41
- package/components/block/Controls.svelte +4 -6
- package/components/block/Controls.svelte.d.ts +2 -2
- package/components/block/Instance.svelte +79 -111
- package/components/block/Params.svelte +1 -1
- package/components/block/Template.svelte +2 -1
- package/components/block/context.d.ts +2 -2
- package/components/block/context.js +2 -1
- package/components/block/controls/events/Events.svelte +23 -14
- package/components/block/controls/events/misc/Styler.svelte +34 -60
- package/components/block/controls/props/Color.svelte +21 -0
- package/components/block/controls/props/Color.svelte.d.ts +21 -0
- package/components/block/controls/props/Component.svelte +6 -1
- package/components/block/controls/props/Number.svelte +5 -6
- package/components/block/controls/props/Object.svelte +10 -12
- package/components/block/controls/props/Props.svelte +3 -6
- package/components/block/controls/props/Range.svelte +38 -37
- package/components/block/controls/props/Select.svelte +11 -14
- package/components/block/controls/props/Switch.svelte +5 -6
- package/components/block/controls/props/Text.svelte +9 -10
- package/components/block/controls/props/Tuple.svelte +15 -27
- package/components/block/controls/props/misc/GroupHeader.svelte +6 -6
- package/components/block/controls/props/misc/Name.svelte +15 -16
- package/components/block/controls/props/misc/Styler.svelte +42 -50
- package/components/block/controls/props/misc/defaulter.d.ts +8 -8
- package/components/block/controls/props/misc/defaulter.js +28 -48
- package/components/block/controls/props/misc/utils.d.ts +11 -0
- package/components/block/controls/props/misc/utils.js +31 -0
- package/components/block/controls/types.d.ts +10 -2
- package/components/block/icons/Button.svelte +30 -0
- package/components/block/icons/Button.svelte.d.ts +35 -0
- package/components/block/icons/ControlView.svelte +14 -0
- package/components/block/icons/ControlView.svelte.d.ts +16 -0
- package/components/block/icons/Position.svelte +50 -0
- package/components/block/icons/Position.svelte.d.ts +16 -0
- package/components/etc/Base.svelte +58 -0
- package/components/etc/Base.svelte.d.ts +18 -0
- package/components/etc/Container.svelte +96 -109
- package/components/etc/Content.svelte +45 -0
- package/components/etc/Content.svelte.d.ts +18 -0
- package/components/{etc/NilIcon.svelte → icons/NilDoc.svelte} +17 -16
- package/components/icons/NilDoc.svelte.d.ts +14 -0
- package/components/{etc/ThemeIcon.svelte → icons/Theme.svelte} +29 -31
- package/components/icons/Theme.svelte.d.ts +17 -0
- package/components/navigation/Nav.svelte +27 -30
- package/components/navigation/Node.svelte +46 -47
- package/components/navigation/Tree.svelte +1 -1
- package/components/title/Icon.svelte +19 -0
- package/components/title/Icon.svelte.d.ts +21 -0
- package/index.d.ts +3 -0
- package/index.js +3 -0
- package/package.json +1 -1
- package/components/etc/NilIcon.svelte.d.ts +0 -14
- package/components/etc/ThemeIcon.svelte.d.ts +0 -16
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
<script>export let depth;
|
|
2
|
+
export let name;
|
|
3
|
+
export let expand = void 0;
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<div class="override" style:padding-left={`${depth}px`} title={name}>
|
|
7
|
+
<div class="icon" class:expand={expand === true}>
|
|
8
|
+
<div>
|
|
9
|
+
{expand === undefined ? "-" : ">"}
|
|
10
|
+
</div>
|
|
11
|
+
</div>
|
|
12
|
+
<span>{name}</span>
|
|
13
|
+
</div>
|
|
14
|
+
|
|
1
15
|
<style>
|
|
2
16
|
.override {
|
|
3
17
|
overflow: hidden;
|
|
@@ -8,7 +22,6 @@
|
|
|
8
22
|
display: grid;
|
|
9
23
|
grid-template-columns: 20px 1fr;
|
|
10
24
|
align-items: center;
|
|
11
|
-
box-sizing: border-box;
|
|
12
25
|
}
|
|
13
26
|
|
|
14
27
|
.icon {
|
|
@@ -17,7 +30,7 @@
|
|
|
17
30
|
justify-content: center;
|
|
18
31
|
height: 15px;
|
|
19
32
|
width: 15px;
|
|
20
|
-
transition: transform
|
|
33
|
+
transition: transform var(--i-nil-doc-transition-time);
|
|
21
34
|
}
|
|
22
35
|
|
|
23
36
|
.icon.expand {
|
|
@@ -28,17 +41,3 @@
|
|
|
28
41
|
margin: auto;
|
|
29
42
|
}
|
|
30
43
|
</style>
|
|
31
|
-
|
|
32
|
-
<script>export let depth;
|
|
33
|
-
export let name;
|
|
34
|
-
export let expand = void 0;
|
|
35
|
-
</script>
|
|
36
|
-
<div class="override" style:padding-left={`${depth}px`} title={name}>
|
|
37
|
-
<div class="icon" class:expand={expand === true}>
|
|
38
|
-
<div>
|
|
39
|
-
{expand === undefined ? "-" : ">"}
|
|
40
|
-
</div>
|
|
41
|
-
</div>
|
|
42
|
-
<span>{name}</span>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
@@ -1,13 +1,32 @@
|
|
|
1
1
|
<script>import { getTheme } from "../../../../context";
|
|
2
2
|
const dark = getTheme();
|
|
3
3
|
</script>
|
|
4
|
+
|
|
5
|
+
<!--
|
|
6
|
+
<div> this component
|
|
7
|
+
<div> Header
|
|
8
|
+
<div></div>
|
|
9
|
+
<div></div>
|
|
10
|
+
<div></div>
|
|
11
|
+
</div>
|
|
12
|
+
<div> Controls
|
|
13
|
+
<div></div>
|
|
14
|
+
<div></div>
|
|
15
|
+
<div></div>
|
|
16
|
+
</div>
|
|
17
|
+
...
|
|
18
|
+
</div>
|
|
19
|
+
-->
|
|
20
|
+
<div class:dark={$dark}>
|
|
21
|
+
<slot />
|
|
22
|
+
</div>
|
|
23
|
+
|
|
4
24
|
<style>
|
|
5
25
|
div {
|
|
6
|
-
width: 100%;
|
|
7
|
-
min-width: 500px;
|
|
8
|
-
overflow: hidden;
|
|
9
26
|
display: grid;
|
|
10
|
-
|
|
27
|
+
overflow: hidden;
|
|
28
|
+
min-width: 31.25rem;
|
|
29
|
+
grid-auto-rows: 2rem;
|
|
11
30
|
box-sizing: border-box;
|
|
12
31
|
}
|
|
13
32
|
|
|
@@ -20,70 +39,43 @@ const dark = getTheme();
|
|
|
20
39
|
|
|
21
40
|
div > :global(div) {
|
|
22
41
|
display: grid;
|
|
23
|
-
|
|
24
|
-
padding: 2px 0px;
|
|
25
|
-
grid-template-columns: minmax(250px, 1fr) 200px 40px;
|
|
42
|
+
grid-template-columns: minmax(15rem, 1fr) 12.5rem 2.5rem;
|
|
26
43
|
}
|
|
27
44
|
|
|
28
45
|
div > :global(div:first-child) {
|
|
29
|
-
text-align: center;
|
|
30
46
|
font-weight: bold;
|
|
47
|
+
place-items: center;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
div > :global(div > div:not(:first-child)) {
|
|
51
|
+
display: grid;
|
|
52
|
+
place-items: center;
|
|
31
53
|
}
|
|
32
54
|
|
|
33
55
|
div > :global(div > div:not(:first-child) > *) {
|
|
34
56
|
width: 100%;
|
|
35
|
-
height:
|
|
57
|
+
height: 80%;
|
|
58
|
+
font-size: 1rem;
|
|
36
59
|
}
|
|
37
60
|
|
|
38
61
|
/* colors */
|
|
39
62
|
div {
|
|
40
|
-
|
|
41
|
-
--sec-color: hsl(210, 29%, 97%);
|
|
42
|
-
--hover-color: hsl(210, 100%, 90%);
|
|
43
|
-
--outline-color: hsl(0, 0%, 0%);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
div.dark {
|
|
47
|
-
--pri-color: hsl(213, 26%, 7%);
|
|
48
|
-
--sec-color: hsl(213, 26%, 11%);
|
|
49
|
-
--hover-color: hsl(203, 100%, 15%);
|
|
50
|
-
--outline-color: hsl(200, 6%, 80%);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
div {
|
|
54
|
-
transition: background-color 150ms;
|
|
63
|
+
transition: background-color var(--i-nil-doc-transition-time);
|
|
55
64
|
background-repeat: repeat;
|
|
56
|
-
background-size: 100%
|
|
57
|
-
background-image: linear-gradient(
|
|
65
|
+
background-size: 100% 4rem;
|
|
66
|
+
background-image: linear-gradient(
|
|
67
|
+
to bottom,
|
|
68
|
+
var(--i-nil-doc-controls-p) 2rem,
|
|
69
|
+
var(--i-nil-doc-controls-s) 2rem
|
|
70
|
+
);
|
|
58
71
|
}
|
|
59
72
|
|
|
60
73
|
div > :global(div:nth-child(n + 2):hover) {
|
|
61
|
-
background-color: var(--hover
|
|
74
|
+
background-color: var(--i-nil-doc-controls-hover);
|
|
62
75
|
}
|
|
63
76
|
|
|
64
77
|
div > :global(div:hover .tooltip) {
|
|
65
|
-
background-color: var(--
|
|
66
|
-
outline: var(--outline-color)
|
|
78
|
+
background-color: var(--i-nil-doc-controls-p);
|
|
79
|
+
outline: 1px solid var(--i-nil-doc-block-outline-color);
|
|
67
80
|
}
|
|
68
81
|
</style>
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
<!--
|
|
72
|
-
<div> this component
|
|
73
|
-
<div> Header
|
|
74
|
-
<div></div>
|
|
75
|
-
<div></div>
|
|
76
|
-
<div></div>
|
|
77
|
-
</div>
|
|
78
|
-
<div> Controls
|
|
79
|
-
<div></div>
|
|
80
|
-
<div></div>
|
|
81
|
-
<div></div>
|
|
82
|
-
</div>
|
|
83
|
-
...
|
|
84
|
-
</div>
|
|
85
|
-
-->
|
|
86
|
-
<div class:dark={$dark}>
|
|
87
|
-
<slot />
|
|
88
|
-
</div>
|
|
89
|
-
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { ValueType } from "../../../types";
|
|
2
2
|
import type { Unionized, PropType, Prop } from "../../types";
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
5
|
-
export declare function
|
|
6
|
-
export declare function
|
|
7
|
-
export declare function
|
|
8
|
-
export declare function
|
|
9
|
-
export declare function
|
|
10
|
-
export declare function
|
|
3
|
+
export declare function defaulter(i: Unionized<PropType<"tuple">>): ValueType[];
|
|
4
|
+
export declare function defaulter(i: Unionized<PropType<"object">>): Record<string, ValueType>;
|
|
5
|
+
export declare function defaulter(i: Unionized<PropType<"number">>): number;
|
|
6
|
+
export declare function defaulter(i: Unionized<PropType<"range">>): number;
|
|
7
|
+
export declare function defaulter(i: Unionized<PropType<"select">>): string;
|
|
8
|
+
export declare function defaulter(i: Unionized<PropType<"text">>): string;
|
|
9
|
+
export declare function defaulter(i: Unionized<PropType<"switch">>): boolean;
|
|
10
|
+
export declare function defaulter(i: Prop): ValueType;
|
|
@@ -1,70 +1,50 @@
|
|
|
1
|
+
import { getType, getValues, getMin } from "./utils";
|
|
1
2
|
// eslint-disable-next-line func-style
|
|
2
|
-
export function
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
switch (i.type) {
|
|
26
|
-
case "object":
|
|
27
|
-
// eslint-disable-next-line no-use-before-define
|
|
28
|
-
return getObjectDefaults(i);
|
|
29
|
-
case "tuple":
|
|
30
|
-
// eslint-disable-next-line no-use-before-define
|
|
31
|
-
return getTupleDefaults(i);
|
|
32
|
-
case "text":
|
|
33
|
-
return "";
|
|
34
|
-
case "select":
|
|
35
|
-
return i.values.length > 0 ? i.values[0] : "";
|
|
36
|
-
case "number":
|
|
37
|
-
return 0;
|
|
38
|
-
case "range":
|
|
39
|
-
return i.min;
|
|
40
|
-
case "switch":
|
|
41
|
-
default:
|
|
42
|
-
return false;
|
|
43
|
-
}
|
|
3
|
+
export function defaulter(i) {
|
|
4
|
+
switch (getType(i)) {
|
|
5
|
+
case "object":
|
|
6
|
+
// eslint-disable-next-line no-use-before-define
|
|
7
|
+
return defaulterO(i);
|
|
8
|
+
case "tuple":
|
|
9
|
+
// eslint-disable-next-line no-use-before-define
|
|
10
|
+
return defaulterT(i);
|
|
11
|
+
case "text":
|
|
12
|
+
return "";
|
|
13
|
+
case "color":
|
|
14
|
+
return "";
|
|
15
|
+
case "select":
|
|
16
|
+
return getValues(i)[0] ?? "";
|
|
17
|
+
case "number":
|
|
18
|
+
return 0;
|
|
19
|
+
case "range":
|
|
20
|
+
return getMin(i);
|
|
21
|
+
case "switch":
|
|
22
|
+
default:
|
|
23
|
+
return false;
|
|
44
24
|
}
|
|
45
25
|
}
|
|
46
|
-
const
|
|
26
|
+
const defaulterO = (info) => {
|
|
47
27
|
const ret = {};
|
|
48
28
|
const values = info instanceof Array ? info[2] : info.values;
|
|
49
29
|
for (const v of values) {
|
|
50
30
|
if (v instanceof Array) {
|
|
51
|
-
ret[v[0]] =
|
|
31
|
+
ret[v[0]] = defaulter(v);
|
|
52
32
|
}
|
|
53
33
|
else {
|
|
54
|
-
ret[v.name] =
|
|
34
|
+
ret[v.name] = defaulter(v);
|
|
55
35
|
}
|
|
56
36
|
}
|
|
57
37
|
return ret;
|
|
58
38
|
};
|
|
59
|
-
const
|
|
39
|
+
const defaulterT = (info) => {
|
|
60
40
|
const ret = [];
|
|
61
41
|
const values = info instanceof Array ? info[2] : info.values;
|
|
62
42
|
for (const [i, v] of values.entries()) {
|
|
63
43
|
if (v instanceof Array) {
|
|
64
|
-
ret.push(
|
|
44
|
+
ret.push(defaulter([`${i}`, ...v]));
|
|
65
45
|
}
|
|
66
46
|
else {
|
|
67
|
-
ret.push(
|
|
47
|
+
ret.push(defaulter({ name: `${i}`, ...v }));
|
|
68
48
|
}
|
|
69
49
|
}
|
|
70
50
|
return ret;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Detailed, Unionized, PropType, Prop, NonNamedProp } from "../../types";
|
|
2
|
+
type TypesWithValue = "object" | "tuple" | "select";
|
|
3
|
+
type Values<T extends TypesWithValue> = Detailed<PropType<T>>["values"];
|
|
4
|
+
export declare function getValues(info: Unionized<PropType<"select">>): Values<"select">;
|
|
5
|
+
export declare function getValues(info: Unionized<PropType<"object">>): Values<"object">;
|
|
6
|
+
export declare function getValues(info: Unionized<PropType<"tuple">>): Values<"tuple">;
|
|
7
|
+
export declare const getMin: (info: Unionized<PropType<"range">>) => number;
|
|
8
|
+
export declare const getType: (info: Prop) => "number" | "object" | "select" | "text" | "color" | "switch" | "range" | "tuple";
|
|
9
|
+
export declare const getName: (info: Prop) => string;
|
|
10
|
+
export declare const addName: (name: string, info: NonNamedProp) => Prop;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// eslint-disable-next-line func-style
|
|
2
|
+
export function getValues(info) {
|
|
3
|
+
if (info instanceof Array) {
|
|
4
|
+
return info[2];
|
|
5
|
+
}
|
|
6
|
+
return info.values;
|
|
7
|
+
}
|
|
8
|
+
export const getMin = (info) => {
|
|
9
|
+
if (info instanceof Array) {
|
|
10
|
+
return info[2];
|
|
11
|
+
}
|
|
12
|
+
return info.min;
|
|
13
|
+
};
|
|
14
|
+
export const getType = (info) => {
|
|
15
|
+
if (info instanceof Array) {
|
|
16
|
+
return info[1];
|
|
17
|
+
}
|
|
18
|
+
return info.type;
|
|
19
|
+
};
|
|
20
|
+
export const getName = (info) => {
|
|
21
|
+
if (info instanceof Array) {
|
|
22
|
+
return info[0];
|
|
23
|
+
}
|
|
24
|
+
return info.name;
|
|
25
|
+
};
|
|
26
|
+
export const addName = (name, info) => {
|
|
27
|
+
if (info instanceof Array) {
|
|
28
|
+
return [name, ...info];
|
|
29
|
+
}
|
|
30
|
+
return { ...info, name };
|
|
31
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
type Types = "text" | "number" | "select" | "range" | "switch" | "tuple" | "object";
|
|
1
|
+
type Types = "text" | "color" | "number" | "select" | "range" | "switch" | "tuple" | "object";
|
|
2
2
|
|
|
3
3
|
// prettier-ignore
|
|
4
4
|
export type PropType<T extends Types> =
|
|
@@ -6,6 +6,10 @@ export type PropType<T extends Types> =
|
|
|
6
6
|
[ name: string, type: T ],
|
|
7
7
|
{ name: string; type: T; }
|
|
8
8
|
]
|
|
9
|
+
: T extends "color" ? [
|
|
10
|
+
[ name: string, type: T ],
|
|
11
|
+
{ name: string; type: T; }
|
|
12
|
+
]
|
|
9
13
|
: T extends "number" ? [
|
|
10
14
|
[ name: string, type: T ],
|
|
11
15
|
{ name: string; type: T; }
|
|
@@ -44,6 +48,8 @@ export type Unionized<T extends PropTyoe> = T[number];
|
|
|
44
48
|
export type Prop =
|
|
45
49
|
| [ name: string, type: "text" ]
|
|
46
50
|
| { name: string; type: "text"; }
|
|
51
|
+
| [ name: string, type: "color" ]
|
|
52
|
+
| { name: string; type: "color"; }
|
|
47
53
|
| [ name: string, type: "number" ]
|
|
48
54
|
| { name: string; type: "number"; }
|
|
49
55
|
| [ name: string, type: "switch" ]
|
|
@@ -60,9 +66,11 @@ export type Prop =
|
|
|
60
66
|
| { name: string; type: "object"; values: Prop[]; };
|
|
61
67
|
|
|
62
68
|
// prettier-ignore
|
|
63
|
-
type NonNamedProp =
|
|
69
|
+
export type NonNamedProp =
|
|
64
70
|
| [ type: "text" ]
|
|
65
71
|
| { type: "text"; }
|
|
72
|
+
| [ type: "color" ]
|
|
73
|
+
| { type: "color"; }
|
|
66
74
|
| [ type: "number" ]
|
|
67
75
|
| { type: "number"; }
|
|
68
76
|
| [ type: "switch" ]
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
export let title = "";
|
|
3
|
+
export let scale = false;
|
|
4
|
+
</script>
|
|
5
|
+
|
|
6
|
+
<div on:click on:keypress {title} class:scale>
|
|
7
|
+
<slot />
|
|
8
|
+
</div>
|
|
9
|
+
|
|
10
|
+
<style>
|
|
11
|
+
div {
|
|
12
|
+
width: 100%;
|
|
13
|
+
height: 100%;
|
|
14
|
+
display: grid;
|
|
15
|
+
place-items: center;
|
|
16
|
+
transition: transform var(--i-nil-doc-transition-time);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
div.scale:hover {
|
|
20
|
+
transform: scale(1.5);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
div > :global(svg) {
|
|
24
|
+
width: 100%;
|
|
25
|
+
height: 100%;
|
|
26
|
+
stroke-width: 3;
|
|
27
|
+
stroke: currentColor;
|
|
28
|
+
fill: currentColor;
|
|
29
|
+
}
|
|
30
|
+
</style>
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/** @typedef {typeof __propDef.props} ButtonProps */
|
|
2
|
+
/** @typedef {typeof __propDef.events} ButtonEvents */
|
|
3
|
+
/** @typedef {typeof __propDef.slots} ButtonSlots */
|
|
4
|
+
export default class Button extends SvelteComponentTyped<{
|
|
5
|
+
title?: string | undefined;
|
|
6
|
+
scale?: boolean | undefined;
|
|
7
|
+
}, {
|
|
8
|
+
click: MouseEvent;
|
|
9
|
+
keypress: KeyboardEvent;
|
|
10
|
+
} & {
|
|
11
|
+
[evt: string]: CustomEvent<any>;
|
|
12
|
+
}, {
|
|
13
|
+
default: {};
|
|
14
|
+
}> {
|
|
15
|
+
}
|
|
16
|
+
export type ButtonProps = typeof __propDef.props;
|
|
17
|
+
export type ButtonEvents = typeof __propDef.events;
|
|
18
|
+
export type ButtonSlots = typeof __propDef.slots;
|
|
19
|
+
import { SvelteComponentTyped } from "svelte";
|
|
20
|
+
declare const __propDef: {
|
|
21
|
+
props: {
|
|
22
|
+
title?: string | undefined;
|
|
23
|
+
scale?: boolean | undefined;
|
|
24
|
+
};
|
|
25
|
+
events: {
|
|
26
|
+
click: MouseEvent;
|
|
27
|
+
keypress: KeyboardEvent;
|
|
28
|
+
} & {
|
|
29
|
+
[evt: string]: CustomEvent<any>;
|
|
30
|
+
};
|
|
31
|
+
slots: {
|
|
32
|
+
default: {};
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<script context="module"></script>
|
|
2
|
+
|
|
3
|
+
<script>import { tweened } from "svelte/motion";
|
|
4
|
+
export let mode = "prop";
|
|
5
|
+
const v = tweened(mode === "event" ? 1 : 0, { duration: 150 });
|
|
6
|
+
$:
|
|
7
|
+
$v = mode === "event" ? 1 : 0;
|
|
8
|
+
</script>
|
|
9
|
+
|
|
10
|
+
<svg viewBox="-50 -50 100 100">
|
|
11
|
+
<rect width="60" height="60" x="-30" y="-30" fill="transparent" />
|
|
12
|
+
<rect height="40" width="20" x={-$v * 20} y="-20" rx="2" ry="2" fill="transparent" />
|
|
13
|
+
<polygon transform="translate(5, 0)" points="-15,-2 1,-2, 1,-6 6,0 1,6 1,2 -15,2" />
|
|
14
|
+
</svg>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
mode?: "prop" | "event" | undefined;
|
|
5
|
+
};
|
|
6
|
+
events: {
|
|
7
|
+
[evt: string]: CustomEvent<any>;
|
|
8
|
+
};
|
|
9
|
+
slots: {};
|
|
10
|
+
};
|
|
11
|
+
export type ControlViewProps = typeof __propDef.props;
|
|
12
|
+
export type ControlViewEvents = typeof __propDef.events;
|
|
13
|
+
export type ControlViewSlots = typeof __propDef.slots;
|
|
14
|
+
export default class ControlView extends SvelteComponentTyped<ControlViewProps, ControlViewEvents, ControlViewSlots> {
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<script context="module">const bottom = {
|
|
2
|
+
width: 60,
|
|
3
|
+
height: 20,
|
|
4
|
+
x: -30,
|
|
5
|
+
y: 10
|
|
6
|
+
};
|
|
7
|
+
const right = {
|
|
8
|
+
width: 20,
|
|
9
|
+
height: 60,
|
|
10
|
+
x: 10,
|
|
11
|
+
y: -30
|
|
12
|
+
};
|
|
13
|
+
const nobottom = {
|
|
14
|
+
width: 60,
|
|
15
|
+
height: 0,
|
|
16
|
+
x: -30,
|
|
17
|
+
y: 30
|
|
18
|
+
};
|
|
19
|
+
const noright = {
|
|
20
|
+
width: 0,
|
|
21
|
+
height: 60,
|
|
22
|
+
x: 30,
|
|
23
|
+
y: -30
|
|
24
|
+
};
|
|
25
|
+
const settings = {
|
|
26
|
+
hidden: [nobottom, noright],
|
|
27
|
+
bottom: [bottom, noright],
|
|
28
|
+
right: [nobottom, right]
|
|
29
|
+
};
|
|
30
|
+
</script>
|
|
31
|
+
|
|
32
|
+
<script>import { tweened } from "svelte/motion";
|
|
33
|
+
export let position = "hidden";
|
|
34
|
+
const offset = tweened(settings[position], { duration: 150 });
|
|
35
|
+
$:
|
|
36
|
+
$offset = settings[position];
|
|
37
|
+
</script>
|
|
38
|
+
|
|
39
|
+
<svg viewBox="-50 -50 100 100">
|
|
40
|
+
<rect width="60" height="60" x="-30" y="-30" fill="transparent" />
|
|
41
|
+
<rect {...$offset[0]} />
|
|
42
|
+
<rect {...$offset[1]} />
|
|
43
|
+
</svg>
|
|
44
|
+
|
|
45
|
+
<style>
|
|
46
|
+
svg {
|
|
47
|
+
stroke-width: 3;
|
|
48
|
+
fill: currentColor;
|
|
49
|
+
}
|
|
50
|
+
</style>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
position?: "bottom" | "right" | "hidden" | undefined;
|
|
5
|
+
};
|
|
6
|
+
events: {
|
|
7
|
+
[evt: string]: CustomEvent<any>;
|
|
8
|
+
};
|
|
9
|
+
slots: {};
|
|
10
|
+
};
|
|
11
|
+
export type PositionProps = typeof __propDef.props;
|
|
12
|
+
export type PositionEvents = typeof __propDef.events;
|
|
13
|
+
export type PositionSlots = typeof __propDef.slots;
|
|
14
|
+
export default class Position extends SvelteComponentTyped<PositionProps, PositionEvents, PositionSlots> {
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
<script>export let dark = true;
|
|
2
|
+
</script>
|
|
3
|
+
|
|
4
|
+
<div class:dark>
|
|
5
|
+
<slot />
|
|
6
|
+
</div>
|
|
7
|
+
|
|
8
|
+
<style>
|
|
9
|
+
@import url("https://fonts.googleapis.com/css?family=Fira%20Code");
|
|
10
|
+
|
|
11
|
+
div {
|
|
12
|
+
width: 100%;
|
|
13
|
+
height: 100%;
|
|
14
|
+
font-family: "Fira Code", "Courier New", Courier, monospace;
|
|
15
|
+
|
|
16
|
+
--i-nil-doc-nav-hovered: var(--nil-doc-nav-hovered, hsla(203, 98%, 50%, 0.07));
|
|
17
|
+
--i-nil-doc-nav-selected: var(--nil-doc-nav-selected, hsla(203, 98%, 50%, 0.822));
|
|
18
|
+
--i-nil-doc-nav-selected-color: var(--nil-doc-nav-selected-color, black);
|
|
19
|
+
|
|
20
|
+
--i-nil-doc-transition-time: var(--nil-doc-transition-time, 350ms);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
div {
|
|
24
|
+
--i-nil-doc-color: var(--nil-doc-color, hsl(0, 0%, 0%));
|
|
25
|
+
--i-nil-doc-color-scheme: var(--nil-doc-color-scheme, light);
|
|
26
|
+
|
|
27
|
+
--i-nil-doc-bg-color: var(--nil-doc-bg-color, hsl(0, 0%, 98%));
|
|
28
|
+
--i-nil-doc-content-outline-color: var(--nil-doc-content-outline-color, hsla(0, 0%, 0%, 0.3));
|
|
29
|
+
|
|
30
|
+
--i-nil-doc-block-bg-color: var(--nil-doc-block-bg-color, hsla(0, 0%, 98%, 0.3));
|
|
31
|
+
--i-nil-doc-block-outline-color: var(--nil-doc-block-outline-color, hsla(0, 0%, 0%, 0.3));
|
|
32
|
+
|
|
33
|
+
--i-nil-doc-container-p: var(--nil-doc-container-p, hsl(0, 2%, 70%));
|
|
34
|
+
--i-nil-doc-container-s: var(--nil-doc-container-s, hsl(0, 0%, 0%));
|
|
35
|
+
|
|
36
|
+
--i-nil-doc-controls-p: var(--nil-doc-controls-p, hsl(0, 0%, 100%));
|
|
37
|
+
--i-nil-doc-controls-s: var(--nil-doc-controls-s, hsl(210, 29%, 97%));
|
|
38
|
+
--i-nil-doc-controls-hover: var(--nil-doc-controls-hover, hsl(210, 100%, 90%));
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
div.dark {
|
|
42
|
+
--i-nil-doc-color: var(--nil-doc-color, hsl(0, 0%, 80%));
|
|
43
|
+
--i-nil-doc-color-scheme: var(--nil-doc-color-scheme, dark);
|
|
44
|
+
|
|
45
|
+
--i-nil-doc-bg-color: var(--nil-doc-bg-color, hsl(210, 6%, 7%));
|
|
46
|
+
--i-nil-doc-content-outline-color: var(--nil-doc-content-outline-color, hsla(0, 0%, 100%, 0.3));
|
|
47
|
+
|
|
48
|
+
--i-nil-doc-block-bg-color: var(--nil-doc-block-bg-color, hsla(200, 4%, 7%, 0.3));
|
|
49
|
+
--i-nil-doc-block-outline-color: var(--nil-doc-block-outline-color, hsla(0, 0%, 1000%, 0.3));
|
|
50
|
+
|
|
51
|
+
--i-nil-doc-container-p: var(--nil-doc-container-p, hsl(0, 2%, 40%));
|
|
52
|
+
--i-nil-doc-container-s: var(--nil-doc-container-s, hsl(0, 0%, 100%));
|
|
53
|
+
|
|
54
|
+
--i-nil-doc-controls-p: var(--nil-doc-controls-p, hsl(213, 26%, 7%));
|
|
55
|
+
--i-nil-doc-controls-s: var(--nil-doc-controls-s, hsl(213, 26%, 11%));
|
|
56
|
+
--i-nil-doc-controls-hover: var(--nil-doc-controls-hover, hsl(203, 100%, 15%));
|
|
57
|
+
}
|
|
58
|
+
</style>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
declare const __propDef: {
|
|
3
|
+
props: {
|
|
4
|
+
dark?: boolean | undefined;
|
|
5
|
+
};
|
|
6
|
+
events: {
|
|
7
|
+
[evt: string]: CustomEvent<any>;
|
|
8
|
+
};
|
|
9
|
+
slots: {
|
|
10
|
+
default: {};
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export type BaseProps = typeof __propDef.props;
|
|
14
|
+
export type BaseEvents = typeof __propDef.events;
|
|
15
|
+
export type BaseSlots = typeof __propDef.slots;
|
|
16
|
+
export default class Base extends SvelteComponentTyped<BaseProps, BaseEvents, BaseSlots> {
|
|
17
|
+
}
|
|
18
|
+
export {};
|