@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
|
@@ -7,8 +7,8 @@ export type Params = {
|
|
|
7
7
|
values: Record<string, ValueType>;
|
|
8
8
|
};
|
|
9
9
|
export type ControlState = {
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
position: "bottom" | "right" | "hidden";
|
|
11
|
+
mode: "prop" | "event";
|
|
12
12
|
};
|
|
13
13
|
export declare const initParams: () => Writable<Params[]>, getParams: () => Writable<Params[]>;
|
|
14
14
|
type Controls = {
|
|
@@ -14,6 +14,7 @@ export const { init: initControls, get: getControls } = create(() => ({
|
|
|
14
14
|
}));
|
|
15
15
|
export const { init: initDefaults, get: getDefaults } = create(() => ({}));
|
|
16
16
|
export const { init: initControlsState, get: getControlsState } = create(() => ({
|
|
17
|
-
|
|
17
|
+
position: "hidden",
|
|
18
|
+
mode: "prop"
|
|
18
19
|
}));
|
|
19
20
|
export const { init: initOrientation, get: getOrientation } = create(() => false);
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
<style>
|
|
2
|
-
.count {
|
|
3
|
-
display: grid;
|
|
4
|
-
place-items: center;
|
|
5
|
-
text-align: center;
|
|
6
|
-
font-size: 0.8rem;
|
|
7
|
-
}
|
|
8
|
-
</style>
|
|
9
|
-
|
|
10
1
|
<script>import Styler from "./misc/Styler.svelte";
|
|
11
2
|
export let visible;
|
|
12
3
|
export let events;
|
|
@@ -48,18 +39,19 @@ const wrap = (ext) => {
|
|
|
48
39
|
$:
|
|
49
40
|
handlers = wrap(events);
|
|
50
41
|
</script>
|
|
42
|
+
|
|
51
43
|
{#if visible}
|
|
52
44
|
<Styler>
|
|
53
45
|
<slot />
|
|
54
46
|
{#each history as { count, detail, name }, i (i)}
|
|
55
47
|
<div>
|
|
56
|
-
<div>
|
|
48
|
+
<div class="name">
|
|
57
49
|
<div>{name}</div>
|
|
58
|
-
|
|
59
|
-
|
|
50
|
+
{#if count > 1}
|
|
51
|
+
<div class="count">
|
|
60
52
|
[{count.toString().padStart(2, "0")}]
|
|
61
|
-
|
|
62
|
-
|
|
53
|
+
</div>
|
|
54
|
+
{/if}
|
|
63
55
|
</div>
|
|
64
56
|
<div>{detail}</div>
|
|
65
57
|
</div>
|
|
@@ -67,3 +59,20 @@ $:
|
|
|
67
59
|
</Styler>
|
|
68
60
|
{/if}
|
|
69
61
|
|
|
62
|
+
<style>
|
|
63
|
+
.name {
|
|
64
|
+
padding: 0rem 0.5rem;
|
|
65
|
+
display: grid;
|
|
66
|
+
place-content: center;
|
|
67
|
+
grid-auto-flow: column;
|
|
68
|
+
grid-auto-columns: 1.875rem;
|
|
69
|
+
grid-template-columns: 1fr;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.count {
|
|
73
|
+
display: grid;
|
|
74
|
+
place-items: center;
|
|
75
|
+
text-align: center;
|
|
76
|
+
font-size: 0.8rem;
|
|
77
|
+
}
|
|
78
|
+
</style>
|
|
@@ -1,83 +1,57 @@
|
|
|
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>
|
|
11
|
+
<div> Controls
|
|
12
|
+
<div></div>
|
|
13
|
+
<div></div>
|
|
14
|
+
</div>
|
|
15
|
+
...
|
|
16
|
+
</div>
|
|
17
|
+
-->
|
|
18
|
+
<div class:dark={$dark}>
|
|
19
|
+
<slot />
|
|
20
|
+
</div>
|
|
21
|
+
|
|
4
22
|
<style>
|
|
5
23
|
div {
|
|
6
|
-
width: 100%;
|
|
7
|
-
height: 330px;
|
|
8
|
-
min-width: 500px;
|
|
9
|
-
overflow: hidden;
|
|
10
24
|
display: grid;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
div :global(*),
|
|
16
|
-
div :global(*::before),
|
|
17
|
-
div :global(*::after) {
|
|
18
|
-
box-sizing: inherit;
|
|
25
|
+
overflow: hidden;
|
|
26
|
+
height: 22rem;
|
|
27
|
+
min-width: 31.25rem;
|
|
28
|
+
grid-auto-rows: 2rem;
|
|
19
29
|
}
|
|
20
30
|
|
|
21
31
|
div > :global(div) {
|
|
22
32
|
display: grid;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
grid-template-columns: 1fr 2fr;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
div > :global(div > div) {
|
|
29
|
-
padding: 0px 10px;
|
|
33
|
+
grid-template-columns: 2fr 3fr;
|
|
34
|
+
align-items: center;
|
|
30
35
|
}
|
|
31
36
|
|
|
32
37
|
div > :global(div:first-child) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
div > :global(div:not(:first-child) > div:first-child) {
|
|
37
|
-
display: grid;
|
|
38
|
-
grid-template-columns: 1fr 30px;
|
|
38
|
+
font-weight: bold;
|
|
39
|
+
justify-items: center;
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
/* colors */
|
|
42
43
|
div {
|
|
43
|
-
|
|
44
|
-
--sec-color: hsl(210, 29%, 97%);
|
|
45
|
-
--hover-color: hsl(210, 100%, 90%);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
div.dark {
|
|
49
|
-
--pri-color: hsl(213, 26%, 7%);
|
|
50
|
-
--sec-color: hsl(213, 26%, 11%);
|
|
51
|
-
--hover-color: hsl(203, 100%, 15%);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
div {
|
|
55
|
-
transition: background-color 150ms;
|
|
44
|
+
transition: background-color var(--i-nil-doc-transition-time);
|
|
56
45
|
background-repeat: repeat;
|
|
57
|
-
background-size: 100%
|
|
58
|
-
background-image: linear-gradient(
|
|
46
|
+
background-size: 100% 4rem;
|
|
47
|
+
background-image: linear-gradient(
|
|
48
|
+
to bottom,
|
|
49
|
+
var(--i-nil-doc-controls-p) 2rem,
|
|
50
|
+
var(--i-nil-doc-controls-s) 2rem
|
|
51
|
+
);
|
|
59
52
|
}
|
|
60
53
|
|
|
61
54
|
div > :global(div:nth-child(n + 2):hover) {
|
|
62
|
-
background-color: var(--hover
|
|
55
|
+
background-color: var(--i-nil-doc-controls-hover);
|
|
63
56
|
}
|
|
64
57
|
</style>
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
<!--
|
|
68
|
-
<div> this component
|
|
69
|
-
<div> Header
|
|
70
|
-
<div></div>
|
|
71
|
-
<div></div>
|
|
72
|
-
</div>
|
|
73
|
-
<div> Controls
|
|
74
|
-
<div></div>
|
|
75
|
-
<div></div>
|
|
76
|
-
</div>
|
|
77
|
-
...
|
|
78
|
-
</div>
|
|
79
|
-
-->
|
|
80
|
-
<div class:dark={$dark}>
|
|
81
|
-
<slot />
|
|
82
|
-
</div>
|
|
83
|
-
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<script>import { getName } from "./misc/utils";
|
|
2
|
+
import { defaulter } from "./misc/defaulter";
|
|
3
|
+
import NameHeader from "./misc/Name.svelte";
|
|
4
|
+
export let value;
|
|
5
|
+
export let info;
|
|
6
|
+
export let depth;
|
|
7
|
+
export let disabled = false;
|
|
8
|
+
export let visible = false;
|
|
9
|
+
let ivalue = value ?? defaulter(info);
|
|
10
|
+
let enabled = value !== void 0;
|
|
11
|
+
$:
|
|
12
|
+
value = enabled && !disabled ? ivalue : void 0;
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
{#if visible}
|
|
16
|
+
<div>
|
|
17
|
+
<NameHeader name={getName(info)} {depth} />
|
|
18
|
+
<div><input type="color" bind:value={ivalue} disabled={!enabled || disabled} /></div>
|
|
19
|
+
<div><input type="checkbox" bind:checked={enabled} {disabled} /></div>
|
|
20
|
+
</div>
|
|
21
|
+
{/if}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { SvelteComponentTyped } from "svelte";
|
|
2
|
+
import type { Unionized, PropType } from "../types";
|
|
3
|
+
declare const __propDef: {
|
|
4
|
+
props: {
|
|
5
|
+
value: string | undefined;
|
|
6
|
+
info: Unionized<PropType<"color">>;
|
|
7
|
+
depth: number;
|
|
8
|
+
disabled?: boolean | undefined;
|
|
9
|
+
visible?: boolean | undefined;
|
|
10
|
+
};
|
|
11
|
+
events: {
|
|
12
|
+
[evt: string]: CustomEvent<any>;
|
|
13
|
+
};
|
|
14
|
+
slots: {};
|
|
15
|
+
};
|
|
16
|
+
export type ColorProps = typeof __propDef.props;
|
|
17
|
+
export type ColorEvents = typeof __propDef.events;
|
|
18
|
+
export type ColorSlots = typeof __propDef.slots;
|
|
19
|
+
export default class Color extends SvelteComponentTyped<ColorProps, ColorEvents, ColorSlots> {
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
<script>import Text from "./Text.svelte";
|
|
3
2
|
import Number from "./Number.svelte";
|
|
4
3
|
import Range from "./Range.svelte";
|
|
@@ -6,12 +5,14 @@ import Switch from "./Switch.svelte";
|
|
|
6
5
|
import Select from "./Select.svelte";
|
|
7
6
|
import Tuple from "./Tuple.svelte";
|
|
8
7
|
import Object from "./Object.svelte";
|
|
8
|
+
import Color from "./Color.svelte";
|
|
9
9
|
export let value;
|
|
10
10
|
export let info;
|
|
11
11
|
export let depth;
|
|
12
12
|
export let disabled = false;
|
|
13
13
|
export let visible = false;
|
|
14
14
|
</script>
|
|
15
|
+
|
|
15
16
|
{#if info instanceof Array}
|
|
16
17
|
{@const type = info[1]}
|
|
17
18
|
{#if "object" === type}
|
|
@@ -20,6 +21,8 @@ export let visible = false;
|
|
|
20
21
|
<Tuple {info} bind:value {depth} {disabled} {visible} />
|
|
21
22
|
{:else if "text" === type}
|
|
22
23
|
<Text {info} bind:value {depth} {disabled} {visible} />
|
|
24
|
+
{:else if "color" === type}
|
|
25
|
+
<Color {info} bind:value {depth} {disabled} {visible} />
|
|
23
26
|
{:else if "number" === type}
|
|
24
27
|
<Number {info} bind:value {depth} {disabled} {visible} />
|
|
25
28
|
{:else if "range" === type}
|
|
@@ -37,6 +40,8 @@ export let visible = false;
|
|
|
37
40
|
<Tuple {info} bind:value {depth} {disabled} {visible} />
|
|
38
41
|
{:else if "text" === type}
|
|
39
42
|
<Text {info} bind:value {depth} {disabled} {visible} />
|
|
43
|
+
{:else if "color" === type}
|
|
44
|
+
<Color {info} bind:value {depth} {disabled} {visible} />
|
|
40
45
|
{:else if "number" === type}
|
|
41
46
|
<Number {info} bind:value {depth} {disabled} {visible} />
|
|
42
47
|
{:else if "range" === type}
|
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
<script>import { getName } from "./misc/utils";
|
|
2
|
+
import { defaulter } from "./misc/defaulter";
|
|
3
3
|
import NameHeader from "./misc/Name.svelte";
|
|
4
4
|
export let value;
|
|
5
5
|
export let info;
|
|
6
6
|
export let depth;
|
|
7
7
|
export let disabled = false;
|
|
8
8
|
export let visible = false;
|
|
9
|
-
let ivalue = value ??
|
|
9
|
+
let ivalue = value ?? defaulter(info);
|
|
10
10
|
let enabled = value !== void 0;
|
|
11
11
|
$:
|
|
12
12
|
value = enabled && !disabled ? ivalue : void 0;
|
|
13
|
-
$:
|
|
14
|
-
name = info instanceof Array ? info[0] : info.name;
|
|
15
13
|
</script>
|
|
14
|
+
|
|
16
15
|
{#if visible}
|
|
17
16
|
<div>
|
|
18
|
-
<NameHeader {
|
|
17
|
+
<NameHeader name={getName(info)} {depth} />
|
|
19
18
|
<div><input type="number" bind:value={ivalue} disabled={!enabled || disabled} /></div>
|
|
20
19
|
<div><input type="checkbox" bind:checked={enabled} {disabled} /></div>
|
|
21
20
|
</div>
|
|
@@ -1,27 +1,25 @@
|
|
|
1
|
-
|
|
2
1
|
<script>import Component from "./Component.svelte";
|
|
3
2
|
import Header from "./misc/GroupHeader.svelte";
|
|
4
|
-
import {
|
|
3
|
+
import { defaulter } from "./misc/defaulter";
|
|
4
|
+
import { getValues, getName } from "./misc/utils";
|
|
5
5
|
export let value;
|
|
6
6
|
export let info;
|
|
7
7
|
export let depth;
|
|
8
8
|
export let disabled = false;
|
|
9
9
|
export let visible = false;
|
|
10
|
-
let ivalue = value ??
|
|
10
|
+
let ivalue = value ?? defaulter(info);
|
|
11
11
|
let enabled = value !== void 0;
|
|
12
|
-
let expand = info.
|
|
12
|
+
let expand = getValues(info).length > 0 ? true : void 0;
|
|
13
13
|
$:
|
|
14
14
|
value = !disabled && enabled ? ivalue : void 0;
|
|
15
|
-
$:
|
|
16
|
-
values = info instanceof Array ? info[2] : info.values;
|
|
17
|
-
$:
|
|
18
|
-
name = info instanceof Array ? info[0] : info.name;
|
|
19
15
|
</script>
|
|
20
|
-
|
|
21
|
-
{
|
|
16
|
+
|
|
17
|
+
<Header name={getName(info)} bind:expand bind:checked={enabled} {depth} {disabled} {visible} />
|
|
18
|
+
|
|
19
|
+
{#each getValues(info) as v, i (i)}
|
|
22
20
|
<Component
|
|
23
|
-
{
|
|
24
|
-
bind:value={ivalue[
|
|
21
|
+
info={v}
|
|
22
|
+
bind:value={ivalue[getName(v)]}
|
|
25
23
|
depth={depth + 10}
|
|
26
24
|
disabled={!enabled || disabled}
|
|
27
25
|
visible={visible && expand && enabled && !disabled}
|
|
@@ -1,19 +1,16 @@
|
|
|
1
|
-
|
|
2
1
|
<script>import Component from "./Component.svelte";
|
|
3
2
|
import Styler from "./misc/Styler.svelte";
|
|
3
|
+
import { getName } from "./misc/utils";
|
|
4
4
|
export let infos;
|
|
5
5
|
export let values;
|
|
6
6
|
export let visible;
|
|
7
7
|
</script>
|
|
8
|
+
|
|
8
9
|
<Styler>
|
|
9
10
|
{#if visible}
|
|
10
11
|
<slot />
|
|
11
12
|
{/if}
|
|
12
13
|
{#each infos as info}
|
|
13
|
-
{
|
|
14
|
-
<Component {info} bind:value={values[info[0]]} depth={10} {visible} />
|
|
15
|
-
{:else}
|
|
16
|
-
<Component {info} bind:value={values[info.name]} depth={10} {visible} />
|
|
17
|
-
{/if}
|
|
14
|
+
<Component {info} bind:value={values[getName(info)]} depth={10} {visible} />
|
|
18
15
|
{/each}
|
|
19
16
|
</Styler>
|
|
@@ -1,39 +1,4 @@
|
|
|
1
|
-
<
|
|
2
|
-
.input {
|
|
3
|
-
width: 100%;
|
|
4
|
-
display: grid;
|
|
5
|
-
grid-template-columns: 65px 1fr;
|
|
6
|
-
gap: 5px;
|
|
7
|
-
position: relative;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.input > div {
|
|
11
|
-
width: 100%;
|
|
12
|
-
height: 100%;
|
|
13
|
-
display: grid;
|
|
14
|
-
text-align: left;
|
|
15
|
-
align-items: center;
|
|
16
|
-
font-size: 0.8rem;
|
|
17
|
-
user-select: none;
|
|
18
|
-
margin: auto;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.tooltip {
|
|
22
|
-
left: -110%;
|
|
23
|
-
width: 100%;
|
|
24
|
-
height: 100%;
|
|
25
|
-
display: grid;
|
|
26
|
-
visibility: hidden;
|
|
27
|
-
position: absolute;
|
|
28
|
-
place-items: center;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.input:hover > .tooltip:not(.disabled) {
|
|
32
|
-
visibility: visible;
|
|
33
|
-
}
|
|
34
|
-
</style>
|
|
35
|
-
|
|
36
|
-
<script>import { getDefault } from "./misc/defaulter";
|
|
1
|
+
<script>import { defaulter } from "./misc/defaulter";
|
|
37
2
|
import NameHeader from "./misc/Name.svelte";
|
|
38
3
|
import { nformat } from "./misc/nformat";
|
|
39
4
|
export let value;
|
|
@@ -41,7 +6,7 @@ export let info;
|
|
|
41
6
|
export let depth;
|
|
42
7
|
export let disabled = false;
|
|
43
8
|
export let visible = false;
|
|
44
|
-
let ivalue = value ??
|
|
9
|
+
let ivalue = value ?? defaulter(info);
|
|
45
10
|
let enabled = value !== void 0;
|
|
46
11
|
$:
|
|
47
12
|
value = enabled && !disabled ? ivalue : void 0;
|
|
@@ -58,6 +23,7 @@ $:
|
|
|
58
23
|
step: info.step
|
|
59
24
|
};
|
|
60
25
|
</script>
|
|
26
|
+
|
|
61
27
|
{#if visible}
|
|
62
28
|
<div>
|
|
63
29
|
<NameHeader name={i.name} {depth} />
|
|
@@ -79,3 +45,38 @@ $:
|
|
|
79
45
|
</div>
|
|
80
46
|
{/if}
|
|
81
47
|
|
|
48
|
+
<style>
|
|
49
|
+
.input {
|
|
50
|
+
width: 100%;
|
|
51
|
+
display: grid;
|
|
52
|
+
grid-template-columns: 4rem 1fr;
|
|
53
|
+
gap: 0.3125rem;
|
|
54
|
+
position: relative;
|
|
55
|
+
box-sizing: border-box;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.input > div {
|
|
59
|
+
width: 100%;
|
|
60
|
+
height: 100%;
|
|
61
|
+
display: grid;
|
|
62
|
+
text-align: left;
|
|
63
|
+
align-items: center;
|
|
64
|
+
font-size: 0.8rem;
|
|
65
|
+
user-select: none;
|
|
66
|
+
margin: auto;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.tooltip {
|
|
70
|
+
left: -110%;
|
|
71
|
+
width: 100%;
|
|
72
|
+
height: 100%;
|
|
73
|
+
display: grid;
|
|
74
|
+
visibility: hidden;
|
|
75
|
+
position: absolute;
|
|
76
|
+
place-items: center;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.input:hover > .tooltip:not(.disabled) {
|
|
80
|
+
visibility: visible;
|
|
81
|
+
}
|
|
82
|
+
</style>
|
|
@@ -1,31 +1,23 @@
|
|
|
1
|
-
<
|
|
2
|
-
|
|
3
|
-
text-align: center;
|
|
4
|
-
}
|
|
5
|
-
</style>
|
|
6
|
-
|
|
7
|
-
<script>import { getDefault } from "./misc/defaulter";
|
|
1
|
+
<script>import { defaulter } from "./misc/defaulter";
|
|
2
|
+
import { getValues, getName } from "./misc/utils";
|
|
8
3
|
import NameHeader from "./misc/Name.svelte";
|
|
9
4
|
export let value;
|
|
10
5
|
export let info;
|
|
11
6
|
export let depth;
|
|
12
7
|
export let disabled = false;
|
|
13
8
|
export let visible = false;
|
|
14
|
-
let ivalue = value ??
|
|
9
|
+
let ivalue = value ?? defaulter(info);
|
|
15
10
|
let enabled = value !== void 0;
|
|
16
11
|
$:
|
|
17
12
|
value = enabled && !disabled ? ivalue : void 0;
|
|
18
|
-
$:
|
|
19
|
-
name = info instanceof Array ? info[0] : info.name;
|
|
20
|
-
$:
|
|
21
|
-
values = info instanceof Array ? info[2] : info.values;
|
|
22
13
|
</script>
|
|
14
|
+
|
|
23
15
|
{#if visible}
|
|
24
16
|
<div>
|
|
25
|
-
<NameHeader {
|
|
17
|
+
<NameHeader name={getName(info)} {depth} />
|
|
26
18
|
<div>
|
|
27
19
|
<select bind:value={ivalue} disabled={!enabled || disabled}>
|
|
28
|
-
{#each
|
|
20
|
+
{#each getValues(info) as v}
|
|
29
21
|
<option value={v}>{v}</option>
|
|
30
22
|
{/each}
|
|
31
23
|
</select>
|
|
@@ -34,3 +26,8 @@ $:
|
|
|
34
26
|
</div>
|
|
35
27
|
{/if}
|
|
36
28
|
|
|
29
|
+
<style>
|
|
30
|
+
select {
|
|
31
|
+
text-align: center;
|
|
32
|
+
}
|
|
33
|
+
</style>
|
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
<script>import { getName } from "./misc/utils";
|
|
2
|
+
import { defaulter } from "./misc/defaulter";
|
|
3
3
|
import NameHeader from "./misc/Name.svelte";
|
|
4
4
|
export let value;
|
|
5
5
|
export let info;
|
|
6
6
|
export let depth;
|
|
7
7
|
export let disabled = false;
|
|
8
8
|
export let visible = false;
|
|
9
|
-
let ivalue = value ??
|
|
9
|
+
let ivalue = value ?? defaulter(info);
|
|
10
10
|
let enabled = value !== void 0;
|
|
11
11
|
$:
|
|
12
12
|
value = enabled && !disabled ? ivalue : void 0;
|
|
13
|
-
$:
|
|
14
|
-
name = info instanceof Array ? info[0] : info.name;
|
|
15
13
|
</script>
|
|
14
|
+
|
|
16
15
|
{#if visible}
|
|
17
16
|
<div>
|
|
18
|
-
<NameHeader {
|
|
17
|
+
<NameHeader name={getName(info)} {depth} />
|
|
19
18
|
<div><input type="checkbox" bind:checked={ivalue} disabled={!enabled || disabled} /></div>
|
|
20
19
|
<div><input type="checkbox" bind:checked={enabled} {disabled} /></div>
|
|
21
20
|
</div>
|
|
@@ -1,22 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
<script>import { getName } from "./misc/utils";
|
|
2
|
+
import { defaulter } from "./misc/defaulter";
|
|
3
3
|
import NameHeader from "./misc/Name.svelte";
|
|
4
4
|
export let value;
|
|
5
5
|
export let info;
|
|
6
6
|
export let depth;
|
|
7
7
|
export let disabled = false;
|
|
8
8
|
export let visible = false;
|
|
9
|
-
let ivalue = value ??
|
|
10
|
-
let
|
|
11
|
-
$:
|
|
12
|
-
value = ienabled && !disabled ? ivalue : void 0;
|
|
9
|
+
let ivalue = value ?? defaulter(info);
|
|
10
|
+
let enabled = value !== void 0;
|
|
13
11
|
$:
|
|
14
|
-
|
|
12
|
+
value = enabled && !disabled ? ivalue : void 0;
|
|
15
13
|
</script>
|
|
14
|
+
|
|
16
15
|
{#if visible}
|
|
17
16
|
<div>
|
|
18
|
-
<NameHeader {
|
|
19
|
-
<div><input type="text" bind:value={ivalue} disabled={!
|
|
20
|
-
<div><input type="checkbox" bind:checked={
|
|
17
|
+
<NameHeader name={getName(info)} {depth} />
|
|
18
|
+
<div><input type="text" bind:value={ivalue} disabled={!enabled || disabled} /></div>
|
|
19
|
+
<div><input type="checkbox" bind:checked={enabled} {disabled} /></div>
|
|
21
20
|
</div>
|
|
22
21
|
{/if}
|
|
@@ -1,39 +1,27 @@
|
|
|
1
|
-
|
|
2
1
|
<script>import Component from "./Component.svelte";
|
|
3
2
|
import Header from "./misc/GroupHeader.svelte";
|
|
4
|
-
import {
|
|
3
|
+
import { defaulter } from "./misc/defaulter";
|
|
4
|
+
import { getValues, getName, addName } from "./misc/utils";
|
|
5
5
|
export let value;
|
|
6
6
|
export let info;
|
|
7
7
|
export let depth;
|
|
8
8
|
export let disabled = false;
|
|
9
9
|
export let visible = false;
|
|
10
|
-
let ivalue = value ??
|
|
10
|
+
let ivalue = value ?? defaulter(info);
|
|
11
11
|
let enabled = value !== void 0;
|
|
12
|
+
let expand = getValues(info).length > 0 ? true : void 0;
|
|
12
13
|
$:
|
|
13
14
|
value = !disabled && enabled ? ivalue : void 0;
|
|
14
|
-
$:
|
|
15
|
-
values = info instanceof Array ? info[2] : info.values;
|
|
16
|
-
$:
|
|
17
|
-
name = info instanceof Array ? info[0] : info.name;
|
|
18
|
-
let expand = info.values.length > 0 ? true : void 0;
|
|
19
15
|
</script>
|
|
20
|
-
|
|
21
|
-
{
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
<Component
|
|
32
|
-
info={{ ...v, name: `${i}` }}
|
|
33
|
-
bind:value={ivalue[i]}
|
|
34
|
-
depth={depth + 10}
|
|
35
|
-
disabled={!enabled || disabled}
|
|
36
|
-
visible={visible && expand && enabled && !disabled}
|
|
37
|
-
/>
|
|
38
|
-
{/if}
|
|
16
|
+
|
|
17
|
+
<Header name={getName(info)} bind:expand bind:checked={enabled} {depth} {disabled} {visible} />
|
|
18
|
+
|
|
19
|
+
{#each getValues(info) as v, i (i)}
|
|
20
|
+
<Component
|
|
21
|
+
info={addName(`${i}`, v)}
|
|
22
|
+
bind:value={ivalue[i]}
|
|
23
|
+
depth={depth + 10}
|
|
24
|
+
disabled={!enabled || disabled}
|
|
25
|
+
visible={visible && expand && enabled && !disabled}
|
|
26
|
+
/>
|
|
39
27
|
{/each}
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
<style>
|
|
2
|
-
.value {
|
|
3
|
-
text-align: center;
|
|
4
|
-
}
|
|
5
|
-
</style>
|
|
6
|
-
|
|
7
1
|
<script>import Name from "./Name.svelte";
|
|
8
2
|
export let name;
|
|
9
3
|
export let depth;
|
|
@@ -19,6 +13,7 @@ const flip = () => {
|
|
|
19
13
|
}
|
|
20
14
|
};
|
|
21
15
|
</script>
|
|
16
|
+
|
|
22
17
|
{#if visible}
|
|
23
18
|
<div class="root" on:click={flip} on:keypress={null}>
|
|
24
19
|
<Name
|
|
@@ -33,3 +28,8 @@ const flip = () => {
|
|
|
33
28
|
</div>
|
|
34
29
|
{/if}
|
|
35
30
|
|
|
31
|
+
<style>
|
|
32
|
+
.value {
|
|
33
|
+
text-align: center;
|
|
34
|
+
}
|
|
35
|
+
</style>
|