@nil-/doc 0.3.1 → 0.3.2
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/components/Base.svelte +6 -3
- package/components/block/Block.svelte +1 -1
- package/components/block/Instance.svelte +17 -2
- package/components/block/controls/Controls.svelte +1 -1
- package/components/block/controls/Controls.svelte.d.ts +1 -0
- package/components/block/controls/props/Props.svelte +0 -1
- package/components/block/icons/ControlView.svelte +0 -2
- package/components/layout/Container.svelte +4 -3
- package/components/layout/Container.svelte.d.ts +1 -0
- package/components/layout/Layout.svelte +30 -5
- package/components/layout/Layout.svelte.d.ts +1 -1
- package/components/navigation/Node.svelte +2 -1
- package/package.json +1 -1
- package/sveltekit/index.d.ts +1 -1
- package/sveltekit/index.js +4 -4
package/components/Base.svelte
CHANGED
|
@@ -26,7 +26,6 @@ export let fill = false;
|
|
|
26
26
|
|
|
27
27
|
--i-nil-doc-block-bg-color: var(--nil-doc-block-bg-color, hsla(0, 0%, 98%, 0.3));
|
|
28
28
|
--i-nil-doc-block-outline-color: var(--nil-doc-block-outline-color, hsla(0, 0%, 0%, 0.3));
|
|
29
|
-
--i-nil-doc-instance-selected-color: var(--nil-doc-instance-selected-color, hsla(203, 98%, 50%, 0.85));
|
|
30
29
|
|
|
31
30
|
--i-nil-doc-container-p: var(--nil-doc-container-p, hsl(0, 2%, 70%));
|
|
32
31
|
--i-nil-doc-container-s: var(--nil-doc-container-s, hsl(0, 0%, 0%));
|
|
@@ -55,10 +54,14 @@ export let fill = false;
|
|
|
55
54
|
}
|
|
56
55
|
|
|
57
56
|
div {
|
|
58
|
-
--i-nil-doc-nav-hovered: var(--nil-doc-nav-hovered, hsla(203, 98%, 50%, 0.
|
|
59
|
-
--i-nil-doc-nav-page-hovered: var(--nil-doc-nav-page-hovered, hsla(203, 98%, 50%, 0.
|
|
57
|
+
--i-nil-doc-nav-hovered: var(--nil-doc-nav-hovered, hsla(203, 98%, 50%, 0.25));
|
|
58
|
+
--i-nil-doc-nav-page-hovered: var(--nil-doc-nav-page-hovered, hsla(203, 98%, 50%, 0.6));
|
|
60
59
|
--i-nil-doc-nav-selected: var(--nil-doc-nav-selected, hsla(203, 98%, 50%, 0.85));
|
|
61
60
|
|
|
61
|
+
--i-nil-doc-instance-hovered: var(--nil-doc-instance-hovered, hsla(203, 98%, 50%, 0.25));
|
|
62
|
+
--i-nil-doc-instance-control-hovered: var(--nil-doc-instance-control-hovered, hsla(203, 98%, 50%, 0.6));
|
|
63
|
+
--i-nil-doc-instance-selected-color: var(--nil-doc-instance-selected-color, hsla(203, 98%, 50%, 0.85));
|
|
64
|
+
|
|
62
65
|
--i-nil-doc-transition-time: var(--nil-doc-transition-time, 350ms);
|
|
63
66
|
}
|
|
64
67
|
</style>
|
|
@@ -67,7 +67,13 @@ const populate = (ext) => {
|
|
|
67
67
|
See [documentation](https://mono-doc.vercel.app/3-Components/2-Block/1-Content/1-Instance) for more details.
|
|
68
68
|
-->
|
|
69
69
|
|
|
70
|
-
<div
|
|
70
|
+
<div
|
|
71
|
+
class="instance"
|
|
72
|
+
class:selected={$vv === values}
|
|
73
|
+
class:controls={$controls.events.length > 0 || $controls.props.length > 0}
|
|
74
|
+
on:click={focus}
|
|
75
|
+
on:keypress={null}
|
|
76
|
+
>
|
|
71
77
|
<div class="content">
|
|
72
78
|
{#if noreset}
|
|
73
79
|
<slot
|
|
@@ -109,7 +115,16 @@ const populate = (ext) => {
|
|
|
109
115
|
box-sizing: border-box;
|
|
110
116
|
}
|
|
111
117
|
|
|
112
|
-
.instance
|
|
118
|
+
.instance:hover {
|
|
119
|
+
border-color: var(--i-nil-doc-instance-hovered);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.instance.controls:hover {
|
|
123
|
+
border-color: var(--i-nil-doc-instance-control-hovered);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.instance.selected,
|
|
127
|
+
.instance.selected:hover {
|
|
113
128
|
border-color: var(--i-nil-doc-instance-selected-color);
|
|
114
129
|
}
|
|
115
130
|
</style>
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
import { tweened } from "svelte/motion";
|
|
3
3
|
import { createDraggable } from "./action";
|
|
4
4
|
export let vertical = false;
|
|
5
|
-
export let offset =
|
|
5
|
+
export let offset = 4;
|
|
6
6
|
export let b = false;
|
|
7
|
+
export let persistent = false;
|
|
7
8
|
let width;
|
|
8
9
|
let height;
|
|
9
10
|
const { position, draggable } = createDraggable(offset);
|
|
@@ -65,7 +66,7 @@ const check = (v, flag, s) => {
|
|
|
65
66
|
>
|
|
66
67
|
{#if width != null && height != null}
|
|
67
68
|
<div style:grid-area="A">
|
|
68
|
-
{#if check($off, !b, span)}
|
|
69
|
+
{#if persistent || check($off, !b, span)}
|
|
69
70
|
<slot name="A" />
|
|
70
71
|
{/if}
|
|
71
72
|
</div>
|
|
@@ -84,7 +85,7 @@ const check = (v, flag, s) => {
|
|
|
84
85
|
/>
|
|
85
86
|
</div>
|
|
86
87
|
<div style:grid-area="B">
|
|
87
|
-
{#if check($off, b, span)}
|
|
88
|
+
{#if persistent || check($off, b, span)}
|
|
88
89
|
<slot name="B" />
|
|
89
90
|
{/if}
|
|
90
91
|
</div>
|
|
@@ -10,22 +10,47 @@ import Scrollable from "./Scrollable.svelte";
|
|
|
10
10
|
import VerticalPanel from "./VerticalPanel.svelte";
|
|
11
11
|
import Nav from "../navigation/Nav.svelte";
|
|
12
12
|
import Icon from "./icons/Icon.svelte";
|
|
13
|
-
import {
|
|
13
|
+
import {
|
|
14
|
+
initControlInfo,
|
|
15
|
+
initControlValue
|
|
16
|
+
} from "../block/context";
|
|
14
17
|
import { getTheme, initTheme } from "../context";
|
|
15
18
|
import ThemeIcon from "./icons/Theme.svelte";
|
|
19
|
+
import { get } from "svelte/store";
|
|
16
20
|
export let data;
|
|
17
21
|
export let current = null;
|
|
18
22
|
export let sorter = null;
|
|
19
23
|
export let renamer = null;
|
|
20
24
|
export let theme = void 0;
|
|
21
25
|
export let offset = 250;
|
|
22
|
-
export let
|
|
23
|
-
|
|
26
|
+
export let panel = "bottom";
|
|
27
|
+
let mode = "props";
|
|
28
|
+
let panelOffset = 4;
|
|
24
29
|
initControlValue();
|
|
30
|
+
const activeControl = initControlInfo();
|
|
25
31
|
const parentTheme = getTheme();
|
|
26
32
|
const dark = initTheme();
|
|
27
33
|
$:
|
|
28
34
|
$dark = theme === void 0 ? $parentTheme : "dark" === theme;
|
|
35
|
+
const panelChange = (info) => {
|
|
36
|
+
if (info != null) {
|
|
37
|
+
const i = get(info);
|
|
38
|
+
if (i != null && panelOffset == 4) {
|
|
39
|
+
if (i.props.length > 0) {
|
|
40
|
+
panelOffset = 250;
|
|
41
|
+
mode = "props";
|
|
42
|
+
return;
|
|
43
|
+
} else if (i.events.length > 0) {
|
|
44
|
+
panelOffset = 250;
|
|
45
|
+
mode = "events";
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
panelOffset = 4;
|
|
51
|
+
};
|
|
52
|
+
$:
|
|
53
|
+
panelChange($activeControl);
|
|
29
54
|
const toggle = () => {
|
|
30
55
|
if (theme !== void 0) {
|
|
31
56
|
theme = $dark ? "light" : "dark";
|
|
@@ -67,7 +92,7 @@ const toggle = () => {
|
|
|
67
92
|
</Scrollable>
|
|
68
93
|
</svelte:fragment>
|
|
69
94
|
<svelte:fragment slot="B">
|
|
70
|
-
<Container
|
|
95
|
+
<Container vertical={panel === "right"} persistent bind:offset={panelOffset}>
|
|
71
96
|
<svelte:fragment slot="A">
|
|
72
97
|
<Scrollable>
|
|
73
98
|
<Content>
|
|
@@ -78,7 +103,7 @@ const toggle = () => {
|
|
|
78
103
|
</Scrollable>
|
|
79
104
|
</svelte:fragment>
|
|
80
105
|
<svelte:fragment slot="B">
|
|
81
|
-
<Controls bind:position={
|
|
106
|
+
<Controls bind:position={panel} bind:mode />
|
|
82
107
|
</svelte:fragment>
|
|
83
108
|
</Container>
|
|
84
109
|
</svelte:fragment>
|
package/package.json
CHANGED
package/sveltekit/index.d.ts
CHANGED
package/sveltekit/index.js
CHANGED
|
@@ -22,8 +22,8 @@ export const sveltekit = (detail, prefix = null) => {
|
|
|
22
22
|
const theme = browser && "light" === localStorage.getItem(keyTheme) ? "light" : "dark";
|
|
23
23
|
const keyOffset = "@nil-/doc/offset";
|
|
24
24
|
const offset = browser ? parseFloat(localStorage.getItem(keyOffset) ?? "250") : 250;
|
|
25
|
-
const keyPos = "@nil-/doc/
|
|
26
|
-
const
|
|
25
|
+
const keyPos = "@nil-/doc/panel";
|
|
26
|
+
const panelPos = browser ? localStorage.getItem(keyPos) ?? "bottom" : "bottom";
|
|
27
27
|
const result = {
|
|
28
28
|
data: Object.keys(detail)
|
|
29
29
|
.map(toRoute)
|
|
@@ -42,10 +42,10 @@ export const sveltekit = (detail, prefix = null) => {
|
|
|
42
42
|
navigate: prefix ? (e) => goto(`${prefix}${e.detail}`) : (e) => goto(e.detail),
|
|
43
43
|
theme: writable(theme),
|
|
44
44
|
offset: writable(offset),
|
|
45
|
-
|
|
45
|
+
panel: writable(panelPos)
|
|
46
46
|
};
|
|
47
47
|
browser && result.theme.subscribe((v) => localStorage.setItem(keyTheme, v));
|
|
48
48
|
browser && result.offset.subscribe((v) => localStorage.setItem(keyOffset, `${v}`));
|
|
49
|
-
browser && result.
|
|
49
|
+
browser && result.panel.subscribe((v) => localStorage.setItem(keyPos, v));
|
|
50
50
|
return result;
|
|
51
51
|
};
|