@timeax/service-builder 0.0.7 → 0.0.8
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/dist/index.js +84 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -9041,6 +9041,10 @@ var Layers = () => {
|
|
|
9041
9041
|
detail.preventDefault();
|
|
9042
9042
|
canvas.api.editor.editLabel(detail.node.id, detail.node.title);
|
|
9043
9043
|
}
|
|
9044
|
+
if (detail.type === "insert" && detail.context.via == "ui.create") {
|
|
9045
|
+
const parent = detail.to.parent.id;
|
|
9046
|
+
canvas.api.editor.addOption(parent, { label: detail.node.title });
|
|
9047
|
+
}
|
|
9044
9048
|
};
|
|
9045
9049
|
const tags = useMemo17(() => filterTree(canvas.layers.tags, tagSearch), [canvas.layers.tags, tagSearch]);
|
|
9046
9050
|
const fields = useMemo17(() => filterTree(canvas.layers.fields, fieldSearch), [canvas.layers.fields, fieldSearch]);
|
|
@@ -16039,7 +16043,7 @@ var workspaceBackend = createMemoryWorkspaceBackend({
|
|
|
16039
16043
|
});
|
|
16040
16044
|
|
|
16041
16045
|
// src/index.tsx
|
|
16042
|
-
import { jsx as jsx78, jsxs as jsxs57 } from "react/jsx-runtime";
|
|
16046
|
+
import { Fragment as Fragment17, jsx as jsx78, jsxs as jsxs57 } from "react/jsx-runtime";
|
|
16043
16047
|
var inputRegistry = createInputRegistry();
|
|
16044
16048
|
registerEntries(inputRegistry);
|
|
16045
16049
|
function WorkspaceLayout({ onShare, onPlay, menu }) {
|
|
@@ -16076,8 +16080,86 @@ function WorkspaceLayout({ onShare, onPlay, menu }) {
|
|
|
16076
16080
|
) })
|
|
16077
16081
|
] }) }) }) });
|
|
16078
16082
|
}
|
|
16083
|
+
var Styles = `
|
|
16084
|
+
/* line theming via CSS vars (can be overridden upstream) */
|
|
16085
|
+
:root {
|
|
16086
|
+
--tree-line-color: #d1d5db; /* gray-300 */
|
|
16087
|
+
--tree-line-width: 1px;
|
|
16088
|
+
--tree-line-style: solid; /* solid | dashed | dotted */
|
|
16089
|
+
--elbow-v-h: 100%
|
|
16090
|
+
}
|
|
16091
|
+
|
|
16092
|
+
/* container for each row */
|
|
16093
|
+
.tree-row {
|
|
16094
|
+
display: flex;
|
|
16095
|
+
align-items: center;
|
|
16096
|
+
gap: 0.5rem; /* matches your gap-2 */
|
|
16097
|
+
/*padding: 0.25rem 0.5rem; !* py-1 px-2 *!*/
|
|
16098
|
+
}
|
|
16099
|
+
|
|
16100
|
+
/* left rail: N ancestor columns (width given inline) */
|
|
16101
|
+
.tree-rail {
|
|
16102
|
+
display: flex;
|
|
16103
|
+
position: relative;
|
|
16104
|
+
}
|
|
16105
|
+
|
|
16106
|
+
/* a single ancestor column; width is set inline to \`indent\` */
|
|
16107
|
+
.tree-col {
|
|
16108
|
+
position: relative;
|
|
16109
|
+
}
|
|
16110
|
+
|
|
16111
|
+
/* draw vertical guideline IF data-show="1" */
|
|
16112
|
+
.tree-col[data-show="1"]::before {
|
|
16113
|
+
content: "";
|
|
16114
|
+
position: absolute;
|
|
16115
|
+
top: 0;
|
|
16116
|
+
bottom: 0;
|
|
16117
|
+
left: 50%;
|
|
16118
|
+
transform: translateX(-50%);
|
|
16119
|
+
border-left: var(--tree-line-width) var(--tree-line-style) var(--tree-line-color);
|
|
16120
|
+
}
|
|
16121
|
+
|
|
16122
|
+
/* the elbow cell for the current node (one per row) */
|
|
16123
|
+
.tree-elbow {
|
|
16124
|
+
position: relative;
|
|
16125
|
+
display: flex;
|
|
16126
|
+
justify-content: center;
|
|
16127
|
+
align-items: center;
|
|
16128
|
+
}
|
|
16129
|
+
|
|
16130
|
+
/* vertical segment (full for mid siblings, half for last) */
|
|
16131
|
+
.tree-elbow::before {
|
|
16132
|
+
content: "";
|
|
16133
|
+
position: absolute;
|
|
16134
|
+
left: 50%;
|
|
16135
|
+
transform: translateX(-50%);
|
|
16136
|
+
top: 0;
|
|
16137
|
+
height: var(--elbow-v-h, 100%); /* "50%" for last sibling, else "100%" */
|
|
16138
|
+
border-left: var(--tree-line-width) var(--tree-line-style) var(--tree-line-color);
|
|
16139
|
+
}
|
|
16140
|
+
|
|
16141
|
+
/* horizontal segment (elbow) from center to the content area */
|
|
16142
|
+
.tree-elbow::after {
|
|
16143
|
+
content: "";
|
|
16144
|
+
position: absolute;
|
|
16145
|
+
top: 50%;
|
|
16146
|
+
left: 50%;
|
|
16147
|
+
transform: translateY(-50%);
|
|
16148
|
+
width: 50%;
|
|
16149
|
+
border-top: var(--tree-line-width) var(--tree-line-style) var(--tree-line-color);
|
|
16150
|
+
}
|
|
16151
|
+
|
|
16152
|
+
/* apply to the element that receives selectedRowClassName / rowClassName */
|
|
16153
|
+
.tree-row-clip {
|
|
16154
|
+
background-clip: content-box; /* don\u2019t paint under the left padding (indent) */
|
|
16155
|
+
}
|
|
16156
|
+
|
|
16157
|
+
`;
|
|
16079
16158
|
function ServiceBuilder({ backend, actor, onShare, onPlay, menu }) {
|
|
16080
|
-
return /* @__PURE__ */
|
|
16159
|
+
return /* @__PURE__ */ jsxs57(Fragment17, { children: [
|
|
16160
|
+
/* @__PURE__ */ jsx78("style", { children: Styles }),
|
|
16161
|
+
/* @__PURE__ */ jsx78(InputsProvider, { initialRegistry: inputRegistry, children: /* @__PURE__ */ jsx78(Workspace, { backend, actor, children: () => /* @__PURE__ */ jsx78(WorkspaceLayout, { onShare, onPlay, menu }) }) })
|
|
16162
|
+
] });
|
|
16081
16163
|
}
|
|
16082
16164
|
function ServiceBuilderWorkspace({ onShare, onPlay, menu }) {
|
|
16083
16165
|
return /* @__PURE__ */ jsx78(ServiceBuilder, { backend: workspaceBackend, actor: workspaceActor, onShare, onPlay, menu });
|