eddev 2.1.6 → 2.2.0-beta.1
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/.yarn/install-state.gz +0 -0
- package/css/devtools.css +141 -1
- package/dist/app/entry/spa-root.d.ts.map +1 -1
- package/dist/app/entry/spa-root.js +3 -3
- package/dist/app/entry/ssr-root-client.d.ts.map +1 -1
- package/dist/app/entry/ssr-root-client.js +2 -2
- package/dist/app/entry/ssr-root.js +1 -1
- package/dist/app/lib/blocks/ContentBlocks.d.ts.map +1 -1
- package/dist/app/lib/blocks/ContentBlocks.js +16 -9
- package/dist/app/lib/blocks/block-debugger.d.ts +64 -0
- package/dist/app/lib/blocks/block-debugger.d.ts.map +1 -0
- package/dist/app/lib/blocks/block-debugger.js +157 -0
- package/dist/app/lib/blocks/editor/editor-config.d.ts +1 -1
- package/dist/app/lib/blocks/editor/editor-config.d.ts.map +1 -1
- package/dist/app/lib/blocks/editor/editor-config.js +19 -11
- package/dist/app/lib/blocks/editor/installGutenbergHooks.d.ts +1 -1
- package/dist/app/lib/blocks/editor/installGutenbergHooks.d.ts.map +1 -1
- package/dist/app/lib/blocks/editor/installGutenbergHooks.js +12 -0
- package/dist/app/lib/blocks/index.d.ts +1 -0
- package/dist/app/lib/blocks/index.d.ts.map +1 -1
- package/dist/app/lib/blocks/index.js +1 -0
- package/dist/app/lib/blocks/inline-editing.d.ts +2 -1
- package/dist/app/lib/blocks/inline-editing.d.ts.map +1 -1
- package/dist/app/lib/blocks/inline-editing.js +3 -1
- package/dist/app/lib/devtools/components/DevMenu.d.ts +2 -0
- package/dist/app/lib/devtools/components/DevMenu.d.ts.map +1 -0
- package/dist/app/lib/devtools/components/DevMenu.js +19 -0
- package/dist/app/lib/devtools/components/DevUI.d.ts +13 -0
- package/dist/app/lib/devtools/components/DevUI.d.ts.map +1 -1
- package/dist/app/lib/devtools/components/DevUI.js +28 -1
- package/dist/app/lib/devtools/components/GridIndicator.d.ts +1 -1
- package/dist/app/lib/devtools/components/GridIndicator.d.ts.map +1 -1
- package/dist/app/lib/devtools/components/GridIndicator.js +2 -1
- package/dist/app/lib/devtools/components/panels/AppDataPanel.d.ts +2 -0
- package/dist/app/lib/devtools/components/panels/AppDataPanel.d.ts.map +1 -0
- package/dist/app/lib/devtools/components/panels/AppDataPanel.js +12 -0
- package/dist/app/lib/devtools/components/panels/QueriesPanel.d.ts +2 -0
- package/dist/app/lib/devtools/components/panels/QueriesPanel.d.ts.map +1 -0
- package/dist/app/lib/devtools/components/panels/QueriesPanel.js +5 -0
- package/dist/app/lib/devtools/components/panels/RoutePanel.d.ts +2 -0
- package/dist/app/lib/devtools/components/panels/RoutePanel.d.ts.map +1 -0
- package/dist/app/lib/devtools/components/panels/RoutePanel.js +58 -0
- package/dist/app/lib/devtools/components/panels/StructurePanel.d.ts +2 -0
- package/dist/app/lib/devtools/components/panels/StructurePanel.d.ts.map +1 -0
- package/dist/app/lib/devtools/components/panels/StructurePanel.js +138 -0
- package/dist/app/lib/devtools/components/panels/index.d.ts +10 -0
- package/dist/app/lib/devtools/components/panels/index.d.ts.map +1 -0
- package/dist/app/lib/devtools/components/panels/index.js +27 -0
- package/dist/app/lib/devtools/components/panels/monaco-graphql.worker.d.ts +2 -0
- package/dist/app/lib/devtools/components/panels/monaco-graphql.worker.d.ts.map +1 -0
- package/dist/app/lib/devtools/components/panels/monaco-graphql.worker.js +9 -0
- package/dist/app/lib/devtools/components/ui/Button.d.ts +9 -0
- package/dist/app/lib/devtools/components/ui/Button.d.ts.map +1 -0
- package/dist/app/lib/devtools/components/ui/Button.js +4 -0
- package/dist/app/lib/devtools/components/ui/Chip.d.ts +11 -0
- package/dist/app/lib/devtools/components/ui/Chip.d.ts.map +1 -0
- package/dist/app/lib/devtools/components/ui/Chip.js +7 -0
- package/dist/app/lib/devtools/components/ui/Expander.d.ts +8 -0
- package/dist/app/lib/devtools/components/ui/Expander.d.ts.map +1 -0
- package/dist/app/lib/devtools/components/ui/Expander.js +4 -0
- package/dist/app/lib/devtools/components/ui/JSONInspector.d.ts +8 -0
- package/dist/app/lib/devtools/components/ui/JSONInspector.d.ts.map +1 -0
- package/dist/app/lib/devtools/components/ui/JSONInspector.js +17 -0
- package/dist/app/lib/devtools/components/ui/Panel.d.ts +10 -0
- package/dist/app/lib/devtools/components/ui/Panel.d.ts.map +1 -0
- package/dist/app/lib/devtools/components/ui/Panel.js +4 -0
- package/dist/app/lib/devtools/components/ui/QueryMonitorDisplay.d.ts +7 -0
- package/dist/app/lib/devtools/components/ui/QueryMonitorDisplay.d.ts.map +1 -0
- package/dist/app/lib/devtools/components/ui/QueryMonitorDisplay.js +58 -0
- package/dist/app/lib/devtools/components/ui/TabBar.d.ts +22 -0
- package/dist/app/lib/devtools/components/ui/TabBar.d.ts.map +1 -0
- package/dist/app/lib/devtools/components/ui/TabBar.js +11 -0
- package/dist/app/lib/devtools/components/ui/Tabs.d.ts +13 -0
- package/dist/app/lib/devtools/components/ui/Tabs.d.ts.map +1 -0
- package/dist/app/lib/devtools/components/ui/Tabs.js +7 -0
- package/dist/app/lib/devtools/hooks/usePersistState.d.ts +3 -0
- package/dist/app/lib/devtools/hooks/usePersistState.d.ts.map +1 -1
- package/dist/app/lib/devtools/hooks/usePersistState.js +7 -0
- package/dist/app/lib/devtools/hooks/useTailwind.d.ts +5227 -1
- package/dist/app/lib/devtools/hooks/useTailwind.d.ts.map +1 -1
- package/dist/app/lib/devtools/icons.d.ts +25 -0
- package/dist/app/lib/devtools/icons.d.ts.map +1 -0
- package/dist/app/lib/devtools/icons.js +25 -0
- package/dist/app/lib/devtools/lib/filesize.d.ts +2 -0
- package/dist/app/lib/devtools/lib/filesize.d.ts.map +1 -0
- package/dist/app/lib/devtools/lib/filesize.js +7 -0
- package/dist/app/lib/devtools/tailwind.config.d.ts +27 -1
- package/dist/app/lib/devtools/tailwind.config.d.ts.map +1 -1
- package/dist/app/lib/devtools/tailwind.config.js +6 -1
- package/dist/app/lib/hooks/useAppData.d.ts +2 -0
- package/dist/app/lib/hooks/useAppData.d.ts.map +1 -1
- package/dist/app/lib/hooks/useAppData.js +8 -0
- package/dist/app/lib/internal/read-admin-manifest.d.ts +2 -0
- package/dist/app/lib/internal/read-admin-manifest.d.ts.map +1 -1
- package/dist/app/lib/internal/read-admin-manifest.js +1 -0
- package/dist/app/lib/legacy-stitches/createStitches.d.ts +9 -9
- package/dist/app/lib/legacy-stitches/createStitches.d.ts.map +1 -1
- package/dist/app/lib/routing/components/BrowserRouter.d.ts.map +1 -1
- package/dist/app/lib/routing/components/BrowserRouter.js +22 -6
- package/dist/app/lib/routing/components/RouteRenderer.d.ts.map +1 -1
- package/dist/app/lib/routing/components/RouteRenderer.js +16 -4
- package/dist/app/lib/routing/loader.d.ts +3 -1
- package/dist/app/lib/routing/loader.d.ts.map +1 -1
- package/dist/app/lib/routing/loader.js +3 -1
- package/dist/app/lib/routing/types.d.ts +19 -2
- package/dist/app/lib/routing/types.d.ts.map +1 -1
- package/dist/app/lib/routing/utils.d.ts +1 -0
- package/dist/app/lib/routing/utils.d.ts.map +1 -1
- package/dist/app/lib/routing/utils.js +19 -1
- package/dist/app/server/server-context.d.ts.map +1 -1
- package/dist/app/server/server-context.js +23 -9
- package/dist/app/server/utils/replace-host.d.ts.map +1 -1
- package/dist/app/utils/query-monitor.d.ts +8 -2
- package/dist/app/utils/query-monitor.d.ts.map +1 -1
- package/dist/node/cli/cli.js +9 -0
- package/dist/node/cli/display/CLIApp.d.ts.map +1 -1
- package/dist/node/cli/display/CLIApp.js +1 -0
- package/dist/node/cli/version.d.ts +1 -1
- package/dist/node/cli/version.d.ts.map +1 -1
- package/dist/node/cli/version.js +1 -1
- package/dist/node/compiler/get-vite-config.d.ts +1 -0
- package/dist/node/compiler/get-vite-config.d.ts.map +1 -1
- package/dist/node/compiler/get-vite-config.js +14 -0
- package/dist/node/compiler/vinxi-codegen.d.ts.map +1 -1
- package/dist/node/compiler/vinxi-codegen.js +15 -2
- package/dist/node/graphql/graphql-codegen.d.ts.map +1 -1
- package/dist/node/graphql/graphql-codegen.js +7 -0
- package/dist/node/project/config.d.ts +1 -1
- package/dist/node/project/eddev-build-file.d.ts.map +1 -1
- package/dist/node/project/eddev-build-file.js +1 -0
- package/dist/node/project/manifest/block-manifest.d.ts +4 -1
- package/dist/node/project/manifest/block-manifest.d.ts.map +1 -1
- package/dist/node/project/manifest/block-manifest.js +22 -1
- package/dist/node/types/block-type.d.ts +12 -1
- package/dist/node/types/block-type.d.ts.map +1 -1
- package/dist/node/types/block-type.js +6 -0
- package/dist/node/utils/fs.d.ts.map +1 -1
- package/dist/node/utils/helpers.d.ts.map +1 -1
- package/package.json +6 -4
- package/types.meta.d.ts +11 -0
package/.yarn/install-state.gz
CHANGED
|
Binary file
|
package/css/devtools.css
CHANGED
|
@@ -10,6 +10,146 @@
|
|
|
10
10
|
|
|
11
11
|
@layer components {
|
|
12
12
|
.btn {
|
|
13
|
-
|
|
13
|
+
.eddev-ui & {
|
|
14
|
+
@apply flex items-center justify-center text-ui font-mono h-button rounded-full gap-1.5;
|
|
15
|
+
|
|
16
|
+
&[data-variant="button"] {
|
|
17
|
+
@apply bg-black text-white px-2;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&[data-variant="subtle"] {
|
|
21
|
+
@apply bg-neutral-300/20 text-white px-2;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&[data-variant="tab"] {
|
|
25
|
+
@apply bg-neutral-950 text-gray-400 px-2 shadow-[0_0_1px] shadow-white/30;
|
|
26
|
+
|
|
27
|
+
&[data-active] {
|
|
28
|
+
@apply bg-neutral-900 text-white shadow-white/50;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
&[data-shape="icon"] {
|
|
33
|
+
@apply w-button p-0;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
svg {
|
|
37
|
+
@apply size-[1.2em];
|
|
38
|
+
fill: currentColor;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.eddev-ui {
|
|
45
|
+
letter-spacing: -0.02em;
|
|
46
|
+
|
|
47
|
+
.json-inspector,
|
|
48
|
+
.json-inspector__selection {
|
|
49
|
+
font:
|
|
50
|
+
14px/1.4 Consolas,
|
|
51
|
+
monospace;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.json-inspector__leaf {
|
|
55
|
+
padding-left: 10px;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.json-inspector__line {
|
|
59
|
+
display: block;
|
|
60
|
+
position: relative;
|
|
61
|
+
|
|
62
|
+
cursor: default;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.json-inspector__line:after {
|
|
66
|
+
content: "";
|
|
67
|
+
|
|
68
|
+
position: absolute;
|
|
69
|
+
top: 0;
|
|
70
|
+
left: -200px;
|
|
71
|
+
right: -50px;
|
|
72
|
+
bottom: 0;
|
|
73
|
+
z-index: -1;
|
|
74
|
+
|
|
75
|
+
pointer-events: none;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.json-inspector__line:hover:after {
|
|
79
|
+
background: rgba(0, 0, 0, 0.06);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.json-inspector__leaf_composite > .json-inspector__line {
|
|
83
|
+
cursor: pointer;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.json-inspector__radio,
|
|
87
|
+
.json-inspector__flatpath {
|
|
88
|
+
display: none;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.json-inspector__value {
|
|
92
|
+
margin-left: 5px;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.json-inspector__search {
|
|
96
|
+
min-width: 300px;
|
|
97
|
+
margin: 0 10px 10px 0;
|
|
98
|
+
padding: 2px;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.json-inspector__key {
|
|
102
|
+
color: #505050;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.json-inspector__value_helper,
|
|
106
|
+
.json-inspector__value_null,
|
|
107
|
+
.json-inspector__not-found {
|
|
108
|
+
color: #b0b0b0;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.json-inspector__value_string {
|
|
112
|
+
color: #798953;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.json-inspector__value_boolean {
|
|
116
|
+
color: #75b5aa;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.json-inspector__value_number {
|
|
120
|
+
color: #d28445;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.json-inspector__hl {
|
|
124
|
+
background: #ff0;
|
|
125
|
+
box-shadow: 0 -1px 0 2px #ff0;
|
|
126
|
+
border-radius: 2px;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.json-inspector__show-original {
|
|
130
|
+
display: inline-block;
|
|
131
|
+
padding: 0 6px;
|
|
132
|
+
|
|
133
|
+
color: #666;
|
|
134
|
+
cursor: pointer;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.json-inspector__show-original:hover {
|
|
138
|
+
color: #111;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.json-inspector__show-original:before {
|
|
142
|
+
content: "⥂";
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.json-inspector__show-original:hover:after {
|
|
146
|
+
content: " expand";
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
ol[role="tree"] {
|
|
150
|
+
li {
|
|
151
|
+
@apply !text-ui !font-mono;
|
|
152
|
+
background-color: transparent !important;
|
|
153
|
+
}
|
|
14
154
|
}
|
|
15
155
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spa-root.d.ts","sourceRoot":"","sources":["../../../src/app/entry/spa-root.tsx"],"names":[],"mappings":"AAIA,wBAAgB,OAAO,
|
|
1
|
+
{"version":3,"file":"spa-root.d.ts","sourceRoot":"","sources":["../../../src/app/entry/spa-root.tsx"],"names":[],"mappings":"AAIA,wBAAgB,OAAO,4CAQtB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { jsx as _jsx
|
|
2
|
-
import {
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { FiberProvider } from "its-fine";
|
|
3
3
|
import { BrowserRouter } from "../lib/routing/components/BrowserRouter.js";
|
|
4
4
|
import { APIProvider } from "../utils/APIProvider.js";
|
|
5
5
|
export function SPARoot() {
|
|
6
|
-
return (
|
|
6
|
+
return (_jsx(FiberProvider, { children: _jsx(APIProvider, { children: _jsx(BrowserRouter, {}) }) }));
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssr-root-client.d.ts","sourceRoot":"","sources":["../../../src/app/entry/ssr-root-client.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiC,MAAM,OAAO,CAAA;AAIhE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"ssr-root-client.d.ts","sourceRoot":"","sources":["../../../src/app/entry/ssr-root-client.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiC,MAAM,OAAO,CAAA;AAIhE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAKtD,wBAAgB,aAAa,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,YAAY,EAAE,CAAA;CAAE,2CAYnF"}
|
|
@@ -4,9 +4,9 @@ import { useSnapshot } from "valtio";
|
|
|
4
4
|
import { BrowserRouter } from "../lib/routing/components/BrowserRouter.js";
|
|
5
5
|
import { clientMetaTags } from "../lib/routing/context.js";
|
|
6
6
|
import { APIProvider } from "../utils/APIProvider.js";
|
|
7
|
-
import {
|
|
7
|
+
import { FiberProvider } from "its-fine";
|
|
8
8
|
export function SSRClientRoot(props) {
|
|
9
|
-
return (_jsxs(APIProvider, { children: [_jsx(BrowserRouter, {}), _jsx(_Fragment, { children: _jsx(DynamicMetaTags, {}) }), _jsx(Suspense, { fallback: null
|
|
9
|
+
return (_jsx(FiberProvider, { children: _jsxs(APIProvider, { children: [_jsx(BrowserRouter, {}), _jsx(_Fragment, { children: _jsx(DynamicMetaTags, {}) }), _jsx(Suspense, { fallback: null })] }) }));
|
|
10
10
|
}
|
|
11
11
|
function DynamicMetaTags() {
|
|
12
12
|
const dynamicTags = useSnapshot(clientMetaTags).tags;
|
|
@@ -5,7 +5,7 @@ import { getRouteMeta, normalizeRoute } from "../lib/routing/utils.js";
|
|
|
5
5
|
import { APIProvider } from "../utils/APIProvider.js";
|
|
6
6
|
export function SSRRoot(props) {
|
|
7
7
|
const loader = props.loader;
|
|
8
|
-
loader.setAppData(props.initialData.appData.data);
|
|
8
|
+
loader.setAppData(props.initialData.appData.data, props.initialData.appData.queryMonitor);
|
|
9
9
|
loader.populateRouteData(props.pathname, props.initialData);
|
|
10
10
|
return (_jsxs(APIProvider, { children: [_jsx(SSRRouter, { loader: loader, hostname: props.hostname, isAI: props.isAI, route: normalizeRoute({
|
|
11
11
|
id: "initial",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentBlocks.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/blocks/ContentBlocks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,YAAY,EAA4C,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"ContentBlocks.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/blocks/ContentBlocks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,YAAY,EAA4C,MAAM,OAAO,CAAA;AAQ3G,KAAK,iBAAiB,CAAC,KAAK,EAAE,MAAM,IAAI;IACtC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,KAAK,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,GAAG,CAAA;IACV,WAAW,CAAC,EAAE,YAAY,EAAE,CAAA;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,GAAG,CAAA;CACZ,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;AAE5B;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;KACxB,CAAC,IAAI,MAAM,UAAU,GAAG,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;CAC7D,CAAC,MAAM,UAAU,CAAC,CAAA;AAEnB;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,YAAY,EAAE,CAAA;IACzB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,OAAO,EAAE,YAAY,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,aAAa,oDAAsD,CAAA;AAEhF,MAAM,MAAM,uBAAuB,GAAG;IACpC;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,aAAa,KAAK,YAAY,CAAA;IACxE;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE;QACb,SAAS,EAAE,YAAY,EAAE,CAAA;QACzB,MAAM,CAAC,EAAE,YAAY,CAAA;QACrB,IAAI,EAAE,YAAY,GAAG,IAAI,CAAA;QACzB,IAAI,EAAE,YAAY,GAAG,IAAI,CAAA;QACzB,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,YAAY,GAAG,IAAI,CAAA;CAC1B,CAAA;AAED,KAAK,KAAK,GAAG;IACX,kDAAkD;IAClD,MAAM,CAAC,EAAE,YAAY,EAAE,CAAA;CACxB,GAAG,uBAAuB,CAAA;AAS3B;;GAEG;AACH,eAAO,MAAM,aAAa,8CAAgB,KAAK,oDAyF7C,CAAA;AAIF,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,YAAY,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,kDAiDpD"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { Fragment, createContext, memo, useContext, useMemo } from "react";
|
|
3
|
-
import { blockManifestReader } from "../internal/read-block-manifest.js";
|
|
4
3
|
import { BlockErrorBoundary } from "../../utils/BlockErrorBoundary.js";
|
|
5
|
-
import {
|
|
6
|
-
import { addBlockMetadata } from "./block-utils.js";
|
|
4
|
+
import { blockManifestReader } from "../internal/read-block-manifest.js";
|
|
7
5
|
import { useRouter } from "../routing/index.js";
|
|
6
|
+
import { BlockDebug, PageStructureNode, usePageStructureNode } from "./block-debugger.js";
|
|
7
|
+
import { addBlockMetadata } from "./block-utils.js";
|
|
8
|
+
import { InlineEditingContextProvider, ReadonlyInlineEditingProvider } from "./inline-editing.js";
|
|
8
9
|
export const BlocksContext = createContext(undefined);
|
|
9
10
|
/**
|
|
10
11
|
* Render a set of Gutenberg blocks
|
|
@@ -68,10 +69,16 @@ export const ContentBlocks = memo((props) => {
|
|
|
68
69
|
return (_jsxs(Fragment, { children: [spaceBefore, _jsx(BlockErrorBoundary, { block: block, blockContext: ctx, children: blockNode }), spaceAfter] }, block.slug + "_" + index));
|
|
69
70
|
});
|
|
70
71
|
}, [blocks, props.wrapBlock, props.spacer]);
|
|
72
|
+
const debugNode = usePageStructureNode({
|
|
73
|
+
type: "blocks",
|
|
74
|
+
children: [],
|
|
75
|
+
isInnerBlocks: false,
|
|
76
|
+
id: "",
|
|
77
|
+
});
|
|
71
78
|
if (env.admin) {
|
|
72
79
|
return _jsx(ReadonlyInlineEditingProvider, { children: layout });
|
|
73
80
|
}
|
|
74
|
-
return _jsx(Fragment, { children: layout });
|
|
81
|
+
return (_jsx(Fragment, { children: _jsx(PageStructureNode, { node: debugNode, children: layout }) }));
|
|
75
82
|
});
|
|
76
83
|
ContentBlocks.displayName = "ContentBlocks";
|
|
77
84
|
export function SingleContentBlock(props) {
|
|
@@ -89,16 +96,16 @@ export function SingleContentBlock(props) {
|
|
|
89
96
|
// Apply the block style class name
|
|
90
97
|
// @ts-ignore
|
|
91
98
|
block.props.blockStyle = block.class?.replace("is-style-", "");
|
|
92
|
-
let result = (_jsx(InlineEditingContextProvider, { block: [block.blockName, block.props], values: block.inline, innerBlocks: block.innerBlocks ?? [], index: props.index ?? 0, children: _jsx(Component, { ...block.props, innerHTML: block.innerHTML,
|
|
93
|
-
|
|
94
|
-
|
|
99
|
+
let result = (_jsx(InlineEditingContextProvider, { block: [block.blockName, block.props], values: block.inline, innerBlocks: block.innerBlocks ?? [], index: props.index ?? 0, children: _jsx(BlockDebug, { block: block, children: _jsx(Component, { ...block.props, innerHTML: block.innerHTML,
|
|
100
|
+
// innerBlocks={block.innerBlocks}
|
|
101
|
+
children: Array.isArray(block.innerBlocks) && block.innerBlocks.length ? (_jsx(ContentBlocks, { blocks: block.innerBlocks })) : null }) }) }));
|
|
95
102
|
if (!env.client && env.serverless) {
|
|
96
103
|
const router = useRouter();
|
|
97
104
|
if (router.isAI) {
|
|
98
105
|
result = _jsx("div", { "data-block-type": props.block.slug, children: result });
|
|
99
106
|
}
|
|
100
107
|
}
|
|
101
|
-
return result;
|
|
108
|
+
return _jsx(_Fragment, { children: result });
|
|
102
109
|
}
|
|
103
110
|
function useBlockComponent(block) {
|
|
104
111
|
return blockManifestReader.value[block.blockName];
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { PropsWithChildren, ReactNode } from "react";
|
|
2
|
+
import { RouteState } from "../routing";
|
|
3
|
+
import { type ContentBlock } from "./ContentBlocks";
|
|
4
|
+
import { InlineEditingContext } from "./inline-editing";
|
|
5
|
+
export type PageStructureNode = {
|
|
6
|
+
type: "block";
|
|
7
|
+
id: string;
|
|
8
|
+
block: ContentBlock;
|
|
9
|
+
context: InlineEditingContext | undefined;
|
|
10
|
+
children: PageStructureNode[];
|
|
11
|
+
getElements?: () => HTMLElement[];
|
|
12
|
+
parent?: PageStructureNode;
|
|
13
|
+
} | {
|
|
14
|
+
type: "route";
|
|
15
|
+
id: string;
|
|
16
|
+
route: RouteState;
|
|
17
|
+
children: PageStructureNode[];
|
|
18
|
+
parent?: PageStructureNode;
|
|
19
|
+
} | {
|
|
20
|
+
type: "blocks";
|
|
21
|
+
id: string;
|
|
22
|
+
isInnerBlocks: boolean;
|
|
23
|
+
children: PageStructureNode[];
|
|
24
|
+
parent?: PageStructureNode;
|
|
25
|
+
} | {
|
|
26
|
+
type: "debug";
|
|
27
|
+
id: string;
|
|
28
|
+
label: string;
|
|
29
|
+
data: Record<string, any>;
|
|
30
|
+
logEntries: {
|
|
31
|
+
time: Date;
|
|
32
|
+
args: any[];
|
|
33
|
+
}[];
|
|
34
|
+
children: PageStructureNode[];
|
|
35
|
+
parent?: PageStructureNode;
|
|
36
|
+
getElements?: () => HTMLElement[];
|
|
37
|
+
} | {
|
|
38
|
+
type: "root";
|
|
39
|
+
id: string;
|
|
40
|
+
children: PageStructureNode[];
|
|
41
|
+
};
|
|
42
|
+
export declare const pageStructureRoot: PageStructureNode;
|
|
43
|
+
export declare const BlockDebugContext: import("react").Context<PageStructureNode>;
|
|
44
|
+
export declare function usePageStructureNode<T extends PageStructureNode["type"]>(initial: Extract<PageStructureNode, {
|
|
45
|
+
type: T;
|
|
46
|
+
}>): Extract<PageStructureNode, {
|
|
47
|
+
type: T;
|
|
48
|
+
}>;
|
|
49
|
+
export declare function useDebugNode<T extends Record<string, any> | undefined>(label: string, initial?: T): (T extends Record<string, any> ? T : {}) & {
|
|
50
|
+
log(...args: any[]): void;
|
|
51
|
+
};
|
|
52
|
+
export declare function DebugNode<T extends Record<string, any>>(props: PropsWithChildren<{
|
|
53
|
+
label: string;
|
|
54
|
+
data?: T;
|
|
55
|
+
}>): import("react/jsx-runtime").JSX.Element;
|
|
56
|
+
export declare function PageStructureNode({ node, children }: {
|
|
57
|
+
node: PageStructureNode;
|
|
58
|
+
children?: ReactNode;
|
|
59
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
60
|
+
export declare function BlockDebug(props: {
|
|
61
|
+
block: ContentBlock;
|
|
62
|
+
children: ReactNode;
|
|
63
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
64
|
+
//# sourceMappingURL=block-debugger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block-debugger.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/blocks/block-debugger.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useFiber } from "its-fine";
|
|
3
|
+
import { createContext, Fragment, useContext, useEffect, useId, useMemo } from "react";
|
|
4
|
+
import { proxy, ref } from "valtio";
|
|
5
|
+
import { useBlockContext } from "./inline-editing";
|
|
6
|
+
import { hash } from "object-code";
|
|
7
|
+
export const pageStructureRoot = proxy({
|
|
8
|
+
type: "root",
|
|
9
|
+
id: "root",
|
|
10
|
+
children: [],
|
|
11
|
+
});
|
|
12
|
+
if (env.client && !env.admin) {
|
|
13
|
+
// @ts-ignore
|
|
14
|
+
window.pageStructure = pageStructureRoot;
|
|
15
|
+
}
|
|
16
|
+
export const BlockDebugContext = createContext(pageStructureRoot);
|
|
17
|
+
export function usePageStructureNode(initial) {
|
|
18
|
+
const id = useId();
|
|
19
|
+
if (!env.client || env.admin) {
|
|
20
|
+
return {
|
|
21
|
+
...initial,
|
|
22
|
+
id: id,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
const parent = useContext(BlockDebugContext);
|
|
26
|
+
const node = useMemo(() => {
|
|
27
|
+
return proxy({ ...initial, id, parent });
|
|
28
|
+
}, []);
|
|
29
|
+
return node;
|
|
30
|
+
}
|
|
31
|
+
export function useDebugNode(label, initial) {
|
|
32
|
+
if (!env.client || env.admin) {
|
|
33
|
+
return {
|
|
34
|
+
log: console.log.bind(console, `[Debug: ${label}]`),
|
|
35
|
+
...initial,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
const fiber = useFiber();
|
|
39
|
+
const parent = useContext(BlockDebugContext);
|
|
40
|
+
const id = useId();
|
|
41
|
+
const node = useMemo(() => {
|
|
42
|
+
return proxy({
|
|
43
|
+
type: "debug",
|
|
44
|
+
data: initial ?? {},
|
|
45
|
+
logEntries: [],
|
|
46
|
+
label,
|
|
47
|
+
id,
|
|
48
|
+
parent,
|
|
49
|
+
children: [],
|
|
50
|
+
getElements: createGetElements(fiber),
|
|
51
|
+
});
|
|
52
|
+
}, []);
|
|
53
|
+
useEffect(() => {
|
|
54
|
+
node.data = initial ?? {};
|
|
55
|
+
}, [hash(initial ?? {})]);
|
|
56
|
+
node.data.log = (...args) => {
|
|
57
|
+
node.logEntries.push(ref({ time: new Date(), args }));
|
|
58
|
+
};
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
if (parent) {
|
|
61
|
+
parent.children.push(node);
|
|
62
|
+
return () => {
|
|
63
|
+
parent.children = parent.children.filter((c) => c !== node);
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
}, [node]);
|
|
67
|
+
return node.data;
|
|
68
|
+
}
|
|
69
|
+
export function DebugNode(props) {
|
|
70
|
+
if (!env.client || env.admin)
|
|
71
|
+
return _jsx(Fragment, { children: props.children });
|
|
72
|
+
const fiber = useFiber();
|
|
73
|
+
const parent = useContext(BlockDebugContext);
|
|
74
|
+
const id = useId();
|
|
75
|
+
const node = useMemo(() => {
|
|
76
|
+
return proxy({
|
|
77
|
+
type: "debug",
|
|
78
|
+
data: props.data ?? {},
|
|
79
|
+
logEntries: [],
|
|
80
|
+
label: props.label,
|
|
81
|
+
id,
|
|
82
|
+
parent,
|
|
83
|
+
children: [],
|
|
84
|
+
getElements: createGetElements(fiber),
|
|
85
|
+
});
|
|
86
|
+
}, []);
|
|
87
|
+
useEffect(() => {
|
|
88
|
+
node.data = props.data ?? {};
|
|
89
|
+
}, [hash(props.data ?? {})]);
|
|
90
|
+
useEffect(() => {
|
|
91
|
+
node.label = props.label;
|
|
92
|
+
}, [props.label]);
|
|
93
|
+
return _jsx(PageStructureNode, { node: node, children: props.children });
|
|
94
|
+
}
|
|
95
|
+
export function PageStructureNode({ node, children }) {
|
|
96
|
+
if (!env.client || env.admin)
|
|
97
|
+
return _jsx(Fragment, { children: children });
|
|
98
|
+
useEffect(() => {
|
|
99
|
+
if (node.type !== "root") {
|
|
100
|
+
const parent = node.parent;
|
|
101
|
+
if (parent) {
|
|
102
|
+
parent.children.push(node);
|
|
103
|
+
return () => {
|
|
104
|
+
parent.children = parent.children.filter((c) => c !== node);
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}, []);
|
|
109
|
+
return _jsx(BlockDebugContext.Provider, { value: node, children: children });
|
|
110
|
+
}
|
|
111
|
+
function createGetElements(fiber) {
|
|
112
|
+
function findChildren(fiber) {
|
|
113
|
+
const children = [];
|
|
114
|
+
if (!fiber)
|
|
115
|
+
return children;
|
|
116
|
+
if (fiber.stateNode instanceof HTMLElement) {
|
|
117
|
+
children.push(fiber.stateNode);
|
|
118
|
+
return children;
|
|
119
|
+
}
|
|
120
|
+
let child = fiber.child;
|
|
121
|
+
while (child) {
|
|
122
|
+
const match = findChildren(child);
|
|
123
|
+
if (match?.length > 0)
|
|
124
|
+
children.push(...match);
|
|
125
|
+
child = child.sibling;
|
|
126
|
+
}
|
|
127
|
+
return children;
|
|
128
|
+
}
|
|
129
|
+
return () => {
|
|
130
|
+
try {
|
|
131
|
+
return findChildren(fiber);
|
|
132
|
+
}
|
|
133
|
+
catch (e) {
|
|
134
|
+
return [];
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
export function BlockDebug(props) {
|
|
139
|
+
if (!env.client || env.admin)
|
|
140
|
+
return _jsx(Fragment, { children: props.children });
|
|
141
|
+
const fiber = useFiber();
|
|
142
|
+
const blockContext = useBlockContext();
|
|
143
|
+
const node = usePageStructureNode({
|
|
144
|
+
type: "block",
|
|
145
|
+
id: "unknown",
|
|
146
|
+
block: ref(props.block),
|
|
147
|
+
context: blockContext ? ref(blockContext) : undefined,
|
|
148
|
+
children: [],
|
|
149
|
+
});
|
|
150
|
+
node.id = blockContext?.instanceId ?? "unknown";
|
|
151
|
+
node.block = ref(props.block);
|
|
152
|
+
node.context = blockContext ? ref(blockContext) : undefined;
|
|
153
|
+
useEffect(() => {
|
|
154
|
+
node.getElements = createGetElements(fiber);
|
|
155
|
+
}, []);
|
|
156
|
+
return _jsx(PageStructureNode, { node: node, children: props.children });
|
|
157
|
+
}
|
|
@@ -122,7 +122,7 @@ type EditorConfig = {
|
|
|
122
122
|
*/
|
|
123
123
|
export declare function defineEditorConfig(config: EditorConfig): void;
|
|
124
124
|
export declare function getEditingPostInfo(): PostInfo;
|
|
125
|
-
export declare function updateTemplateConfig(): void;
|
|
125
|
+
export declare function updateTemplateConfig(postInfo?: PostInfo): void;
|
|
126
126
|
export declare function watchEditorTemplate(): void;
|
|
127
127
|
export {};
|
|
128
128
|
//# sourceMappingURL=editor-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-config.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/blocks/editor/editor-config.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,aAAa,EAId,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"editor-config.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/blocks/editor/editor-config.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { proxy } from "valtio";
|
|
2
2
|
import { applyTemplateBlocks, resolveAcfBlockName, transformBlockTemplate, transformTemplateToBlocks, } from "./block-templates.js";
|
|
3
|
+
import { hash } from "object-code";
|
|
4
|
+
import { adminManifestReader } from "../../internal/read-admin-manifest.js";
|
|
3
5
|
export const editorConfigStore = proxy({
|
|
4
6
|
config: null,
|
|
5
7
|
currentBlocksConfig: {},
|
|
6
8
|
});
|
|
7
9
|
export function configureEditorBlocks(config) {
|
|
8
10
|
const wp = window.wp;
|
|
11
|
+
editorConfigStore.currentBlocksConfig = config;
|
|
9
12
|
let hideStyles = document.getElementById("title-hider");
|
|
10
13
|
hideStyles?.remove();
|
|
11
14
|
if (config.hideTitle) {
|
|
@@ -59,38 +62,43 @@ export function getEditingPostInfo() {
|
|
|
59
62
|
}
|
|
60
63
|
return postInfo;
|
|
61
64
|
}
|
|
62
|
-
export function updateTemplateConfig() {
|
|
65
|
+
export function updateTemplateConfig(postInfo = getEditingPostInfo()) {
|
|
63
66
|
const wp = window.wp;
|
|
64
|
-
const postInfo = getEditingPostInfo();
|
|
65
67
|
const editorConfig = editorConfigStore.config;
|
|
66
68
|
if (!editorConfig)
|
|
67
69
|
return;
|
|
70
|
+
// Sometimes the post hasn't loaded yet!
|
|
71
|
+
if (!postInfo.type)
|
|
72
|
+
return;
|
|
73
|
+
if (postInfo.isTemplatePart && postInfo.slug in adminManifestReader.value.blockTemplateParts) {
|
|
74
|
+
const templatePart = adminManifestReader.value.blockTemplateParts[postInfo.slug];
|
|
75
|
+
configureEditorBlocks({
|
|
76
|
+
template: [[templatePart.blockSlug, {}]],
|
|
77
|
+
rootBlocks: ["none"],
|
|
78
|
+
});
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
68
81
|
const matched = editorConfig.matchers?.find((matcher) => {
|
|
69
82
|
return matcher.match(postInfo);
|
|
70
83
|
});
|
|
71
84
|
if (matched) {
|
|
72
85
|
const config = typeof matched.config === "function" ? matched.config(postInfo) : matched.config;
|
|
73
|
-
editorConfigStore.currentBlocksConfig = config;
|
|
74
86
|
configureEditorBlocks(config);
|
|
75
87
|
}
|
|
76
88
|
else {
|
|
77
|
-
editorConfigStore.currentBlocksConfig = {};
|
|
78
89
|
configureEditorBlocks({});
|
|
79
90
|
}
|
|
80
91
|
}
|
|
81
92
|
export function watchEditorTemplate() {
|
|
82
|
-
let lastKey =
|
|
93
|
+
let lastKey = -1;
|
|
83
94
|
let timer = 0;
|
|
84
95
|
const update = () => {
|
|
85
|
-
const
|
|
86
|
-
const
|
|
87
|
-
const key = [post.type, template, post.slug, post.title].join(";");
|
|
96
|
+
const info = getEditingPostInfo();
|
|
97
|
+
const key = hash({ ...info, content: "", blocks: "", selection: "" });
|
|
88
98
|
if (key !== lastKey) {
|
|
89
99
|
lastKey = key;
|
|
90
100
|
clearTimeout(timer);
|
|
91
|
-
|
|
92
|
-
updateTemplateConfig();
|
|
93
|
-
}, 20);
|
|
101
|
+
setTimeout(() => updateTemplateConfig(info), 100);
|
|
94
102
|
}
|
|
95
103
|
};
|
|
96
104
|
wp.data.subscribe(() => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const blockMetaDescriptors: Map<string, BlockMeta> & {
|
|
2
|
-
$$valtioSnapshot: Omit<Map<string, BlockMeta>, "set" | "
|
|
2
|
+
$$valtioSnapshot: Omit<Map<string, BlockMeta>, "set" | "delete" | "clear">;
|
|
3
3
|
};
|
|
4
4
|
export declare function whenEditorIsReady(): Promise<void>;
|
|
5
5
|
export declare function installEDGutenbergHooks(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"installGutenbergHooks.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/blocks/editor/installGutenbergHooks.tsx"],"names":[],"mappings":"AA4BA,eAAO,MAAM,oBAAoB;;CAAgC,CAAA;AAEjE,wBAAgB,iBAAiB,kBAsBhC;AAED,wBAAgB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"installGutenbergHooks.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/blocks/editor/installGutenbergHooks.tsx"],"names":[],"mappings":"AA4BA,eAAO,MAAM,oBAAoB;;CAAgC,CAAA;AAEjE,wBAAgB,iBAAiB,kBAsBhC;AAED,wBAAgB,uBAAuB,SAsRtC"}
|
|
@@ -170,6 +170,15 @@ export function installEDGutenbergHooks() {
|
|
|
170
170
|
});
|
|
171
171
|
// Recalculate registered blocks when rootBlocks change
|
|
172
172
|
rootBlocks.listen();
|
|
173
|
+
const blockEditorSelectors = wp.data.select("core/block-editor");
|
|
174
|
+
const originalGetInserterItems = blockEditorSelectors.getInserterItems;
|
|
175
|
+
blockEditorSelectors.getInserterItems = (rootId, options) => {
|
|
176
|
+
const result = originalGetInserterItems(rootId, options);
|
|
177
|
+
if (result.some((item) => item.isAllowedInCurrentRoot)) {
|
|
178
|
+
return result.filter((item) => item.isAllowedInCurrentRoot);
|
|
179
|
+
}
|
|
180
|
+
return result;
|
|
181
|
+
};
|
|
173
182
|
wp.hooks.addFilter("blocks.registerBlockType", "ed", (item, name) => {
|
|
174
183
|
// Hook into ACF blocks, customising the edit mode.
|
|
175
184
|
if (name.startsWith("acf/")) {
|
|
@@ -240,6 +249,9 @@ export function installEDGutenbergHooks() {
|
|
|
240
249
|
return item.ancestor ? blocksByTag.expand(item.ancestor) : undefined;
|
|
241
250
|
},
|
|
242
251
|
get allowedBlocks() {
|
|
252
|
+
if (name === "core/post-content") {
|
|
253
|
+
return [...blocksByTag.expand([...rootBlocks.getRootBlocks()]), "core/block"];
|
|
254
|
+
}
|
|
243
255
|
return item.allowedBlocks ? [...blocksByTag.expand(item.allowedBlocks), "core/slot-group"] : undefined;
|
|
244
256
|
},
|
|
245
257
|
};
|
|
@@ -9,4 +9,5 @@ export * from "./editor/usePostEditor.js";
|
|
|
9
9
|
export { useBlockContext, useInlineEditableValue, useInnerBlocks, useTemplate, useBlockSelection, } from "./inline-editing.js";
|
|
10
10
|
export * from "./InnerBlocks.js";
|
|
11
11
|
export * from "./SlotBlocks.js";
|
|
12
|
+
export { useDebugNode, DebugNode } from "./block-debugger.js";
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/blocks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,KAAK,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AAC/F,cAAc,2BAA2B,CAAA;AACzC,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,WAAW,EACX,iBAAiB,GAClB,MAAM,qBAAqB,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/blocks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,KAAK,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AAC/F,cAAc,2BAA2B,CAAA;AACzC,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,WAAW,EACX,iBAAiB,GAClB,MAAM,qBAAqB,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA"}
|
|
@@ -9,4 +9,5 @@ export * from "./editor/usePostEditor.js";
|
|
|
9
9
|
export { useBlockContext, useInlineEditableValue, useInnerBlocks, useTemplate, useBlockSelection, } from "./inline-editing.js";
|
|
10
10
|
export * from "./InnerBlocks.js";
|
|
11
11
|
export * from "./SlotBlocks.js";
|
|
12
|
+
export { useDebugNode, DebugNode } from "./block-debugger.js";
|
|
12
13
|
// export { BlockPropMutator } from "./BlockPropMutator.js"
|
|
@@ -11,7 +11,7 @@ export type BlockInstance = {
|
|
|
11
11
|
originalContent?: string | undefined;
|
|
12
12
|
props?: any;
|
|
13
13
|
};
|
|
14
|
-
type InlineEditingContext = {
|
|
14
|
+
export type InlineEditingContext = {
|
|
15
15
|
values: Attributes;
|
|
16
16
|
innerBlocks: ContentBlock[];
|
|
17
17
|
parents: [string, Attributes][];
|
|
@@ -23,6 +23,7 @@ type InlineEditingContext = {
|
|
|
23
23
|
insertBlocksAfter?: (block: any) => void;
|
|
24
24
|
readonly?: boolean;
|
|
25
25
|
clientId?: string;
|
|
26
|
+
instanceId: string;
|
|
26
27
|
};
|
|
27
28
|
export declare const InlineEditingContext: import("react").Context<InlineEditingContext | undefined>;
|
|
28
29
|
type ProviderProps = PropsWithChildren<{
|