@loopstack/loopstack-studio 0.21.3 → 0.22.0
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/api/auth.js +10 -0
- package/dist/api/client.js +13 -0
- package/dist/api/config.js +10 -0
- package/dist/api/dashboard.js +4 -0
- package/dist/api/documents.js +7 -0
- package/dist/api/index.js +24 -0
- package/dist/api/namespaces.js +7 -0
- package/dist/api/pipelines.js +13 -0
- package/dist/api/processor.js +4 -0
- package/dist/api/workflows.js +8 -0
- package/dist/api/workspaces.js +12 -0
- package/dist/app/EnvironmentEmbedRoot.js +33 -0
- package/dist/components/data-table/DataTableFilters.js +74 -63
- package/dist/components/layout/MainLayout.js +7 -4
- package/dist/components/page/PageBreadcrumbs.js +1 -1
- package/dist/components/ui/sidebar.js +359 -359
- package/dist/components/ui-widgets/UiActions.js +22 -15
- package/dist/components/ui-widgets/UiWidget.js +31 -26
- package/dist/components/ui-widgets/widgets/AiPromptInput.js +27 -27
- package/dist/components/ui-widgets/widgets/ButtonFullWidth.js +12 -12
- package/dist/components/ui-widgets/widgets/SandboxRun.js +32 -0
- package/dist/components/ui-widgets/widgets/SubmitButton.js +11 -11
- package/dist/features/code-explorer/utils/fileIcons.js +4 -7
- package/dist/features/oauth/OAuthPromptRenderer.js +1 -1
- package/dist/features/runs/Runs.js +197 -0
- package/dist/features/workbench/NavigationItems.js +1 -1
- package/dist/features/workbench/Workbench.js +109 -75
- package/dist/features/workbench/WorkflowItem.js +8 -11
- package/dist/features/workbench/WorkflowList.js +29 -20
- package/dist/features/workbench/components/DocumentList.js +20 -20
- package/dist/features/workbench/components/NewRunDialog.js +328 -0
- package/dist/features/workbench/components/WorkbenchFloatingPanel.js +88 -0
- package/dist/features/workbench/components/WorkbenchFlowPanel.js +48 -0
- package/dist/features/workbench/components/WorkbenchIconSidebar.js +68 -0
- package/dist/features/workbench/components/WorkbenchPreviewPanel.js +128 -0
- package/dist/features/workbench/components/WorkflowForms.js +7 -6
- package/dist/features/workbench/components/WorkflowHistoryItem.js +68 -63
- package/dist/features/workbench/components/buttons/WorkflowButtons.js +79 -61
- package/dist/features/workbench/components/document-renderer/DocumentFormRenderer.js +6 -5
- package/dist/features/workbench/providers/WorkbenchLayoutProvider.js +77 -0
- package/dist/features/workspaces/Workspaces.js +2 -2
- package/dist/features/workspaces/components/CreateWorkspace.js +164 -81
- package/dist/features/workspaces/components/EnvironmentSlotSelector.js +63 -0
- package/dist/features/workspaces/components/ExecutionTimeline.js +69 -68
- package/dist/features/workspaces/components/PipelineForm.js +4 -4
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/useApi.js +9 -33
- package/dist/hooks/useAuth.js +18 -38
- package/dist/hooks/useConfig.js +31 -33
- package/dist/hooks/useDashboard.js +1 -4
- package/dist/hooks/useDocuments.js +4 -8
- package/dist/hooks/useFiles.js +31 -41
- package/dist/hooks/useNamespaces.js +5 -8
- package/dist/hooks/usePipelines.js +98 -108
- package/dist/hooks/useProcessor.js +1 -4
- package/dist/hooks/useWorkflows.js +25 -41
- package/dist/hooks/useWorkspaces.js +45 -72
- package/dist/index.d.ts +266 -48
- package/dist/index.js +10 -2
- package/dist/packages/contracts/dist/enums/index.js +25 -0
- package/dist/packages/contracts/dist/enums/pipeline-state.js +10 -0
- package/dist/packages/contracts/dist/enums/registry.enum.js +20 -0
- package/dist/packages/contracts/dist/enums/sort-order.enum.js +10 -0
- package/dist/packages/contracts/dist/enums/user-type.enum.js +10 -0
- package/dist/packages/contracts/dist/enums/workflow-state.enum.js +10 -0
- package/dist/pages/DebugPage.js +12 -14
- package/dist/pages/DebugWorkflowDetailsPage.js +1 -1
- package/dist/pages/DebugWorkflowsPage.js +3 -4
- package/dist/pages/EmbedWorkbenchPage.js +4 -3
- package/dist/pages/PipelineDebugPage.js +2 -2
- package/dist/pages/PreviewWorkbenchPage.js +416 -0
- package/dist/pages/RunsListPage.js +36 -0
- package/dist/pages/RunsPage.js +49 -0
- package/dist/pages/StudioLandingPage.js +145 -0
- package/dist/pages/WorkbenchPage.js +75 -51
- package/dist/providers/InvalidationEventsProvider.js +7 -7
- package/dist/providers/QueryProvider.js +21 -0
- package/dist/routing/LocalRouter.js +9 -0
- package/dist/services/createApiClient.js +4 -10
- package/dist/services/index.js +1 -1
- package/package.json +2 -3
- package/dist/features/code-explorer/CodeExplorer.js +0 -69
- package/dist/features/code-explorer/components/CodeExplorerTree.js +0 -43
- package/dist/features/code-explorer/components/CodeExplorerTreeNode.js +0 -82
- package/dist/features/workbench/components/WorkbenchSidebar.js +0 -109
- package/dist/features/workbench/providers/WorkbenchContextProvider.js +0 -3
package/dist/api/auth.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
function createAuthApi(e) {
|
|
2
|
+
return {
|
|
3
|
+
me: () => e.get("/api/v1/auth/me").then((e) => e.data),
|
|
4
|
+
getInfo: () => e.get("/api/v1/auth/worker/health").then((e) => e.data),
|
|
5
|
+
hubLogin: (t) => e.post("/api/v1/auth/oauth/hub", t.hubLoginRequestDto).then((e) => e.data),
|
|
6
|
+
refresh: () => e.post("/api/v1/auth/refresh").then((e) => e.data),
|
|
7
|
+
logout: () => e.post("/api/v1/auth/logout").then((e) => e.data)
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export { createAuthApi };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ApiClientEvents } from "../events/api-client-events.js";
|
|
2
|
+
import { eventBus } from "../services/eventEmitter.js";
|
|
3
|
+
import "../services/index.js";
|
|
4
|
+
import axios from "axios";
|
|
5
|
+
function createAxiosClient(r, i) {
|
|
6
|
+
let a = axios.create({
|
|
7
|
+
baseURL: r,
|
|
8
|
+
withCredentials: !0,
|
|
9
|
+
headers: { "Content-Type": "application/json" }
|
|
10
|
+
});
|
|
11
|
+
return a.interceptors.response.use((e) => e, (n) => (n.response?.status && [401, 403].includes(n.response.status) && eventBus.emit(ApiClientEvents.UNAUTHORIZED, i), n.code === "ERR_NETWORK" && (console.error("Connection refused - server may be down"), eventBus.emit(ApiClientEvents.ERR_NETWORK, i)), Promise.reject(n))), a;
|
|
12
|
+
}
|
|
13
|
+
export { createAxiosClient };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
function createConfigApi(e) {
|
|
2
|
+
return {
|
|
3
|
+
getWorkspaceTypes: () => e.get("/api/v1/config/workspaces").then((e) => e.data),
|
|
4
|
+
getPipelineTypesByWorkspace: (t) => e.get(`/api/v1/config/workspaces/${encodeURIComponent(t.workspaceBlockName)}/pipelines`).then((e) => e.data),
|
|
5
|
+
getPipelineConfigByName: (t) => e.get(`/api/v1/config/workspaces/${encodeURIComponent(t.workspaceBlockName)}/pipelines/${encodeURIComponent(t.pipelineName)}`).then((e) => e.data),
|
|
6
|
+
getPipelineSourceByName: (t) => e.get(`/api/v1/config/workspaces/${encodeURIComponent(t.workspaceBlockName)}/pipelines/${encodeURIComponent(t.pipelineName)}/source`).then((e) => e.data),
|
|
7
|
+
getAvailableEnvironments: () => e.get("/api/v1/config/environments").then((e) => e.data)
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export { createConfigApi };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createAuthApi } from "./auth.js";
|
|
2
|
+
import { createConfigApi } from "./config.js";
|
|
3
|
+
import { createDashboardApi } from "./dashboard.js";
|
|
4
|
+
import { createDocumentsApi } from "./documents.js";
|
|
5
|
+
import { createNamespacesApi } from "./namespaces.js";
|
|
6
|
+
import { createPipelinesApi } from "./pipelines.js";
|
|
7
|
+
import { createProcessorApi } from "./processor.js";
|
|
8
|
+
import { createWorkflowsApi } from "./workflows.js";
|
|
9
|
+
import { createWorkspacesApi } from "./workspaces.js";
|
|
10
|
+
import { createAxiosClient } from "./client.js";
|
|
11
|
+
function createApi(u) {
|
|
12
|
+
return {
|
|
13
|
+
auth: createAuthApi(u),
|
|
14
|
+
config: createConfigApi(u),
|
|
15
|
+
dashboard: createDashboardApi(u),
|
|
16
|
+
documents: createDocumentsApi(u),
|
|
17
|
+
namespaces: createNamespacesApi(u),
|
|
18
|
+
pipelines: createPipelinesApi(u),
|
|
19
|
+
processor: createProcessorApi(u),
|
|
20
|
+
workflows: createWorkflowsApi(u),
|
|
21
|
+
workspaces: createWorkspacesApi(u)
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export { createApi };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
function createPipelinesApi(e) {
|
|
2
|
+
return {
|
|
3
|
+
getById: (t) => e.get(`/api/v1/pipelines/${t.id}`).then((e) => e.data),
|
|
4
|
+
getAll: (t) => e.get("/api/v1/pipelines", { params: t }).then((e) => e.data),
|
|
5
|
+
create: (t) => e.post("/api/v1/pipelines", t.pipelineCreateDto).then((e) => e.data),
|
|
6
|
+
update: (t) => e.put(`/api/v1/pipelines/${t.id}`, t.pipelineUpdateDto).then((e) => e.data),
|
|
7
|
+
delete: (t) => e.delete(`/api/v1/pipelines/id/${t.id}`).then((e) => e.data),
|
|
8
|
+
batchDelete: (t) => e.delete("/api/v1/pipelines/batch", { data: { ids: t.ids } }).then((e) => e.data),
|
|
9
|
+
getFileTree: (t) => e.get(`/api/v1/pipelines/${t.pipelineId}/files`).then((e) => e.data),
|
|
10
|
+
getFileContent: (t) => e.get(`/api/v1/pipelines/${t.pipelineId}/files/${t.filePath}`).then((e) => e.data)
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export { createPipelinesApi };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
function createWorkflowsApi(e) {
|
|
2
|
+
return {
|
|
3
|
+
getById: (t) => e.get(`/api/v1/workflows/${t.id}`).then((e) => e.data),
|
|
4
|
+
getAll: (t) => e.get("/api/v1/workflows", { params: t }).then((e) => e.data),
|
|
5
|
+
delete: (t) => e.delete(`/api/v1/workflows/${t.id}`).then((e) => e.data)
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
export { createWorkflowsApi };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
function createWorkspacesApi(e) {
|
|
2
|
+
return {
|
|
3
|
+
getById: (t) => e.get(`/api/v1/workspaces/${t.id}`).then((e) => e.data),
|
|
4
|
+
getAll: (t) => e.get("/api/v1/workspaces", { params: t }).then((e) => e.data),
|
|
5
|
+
create: (t) => e.post("/api/v1/workspaces", t.workspaceCreateDto).then((e) => e.data),
|
|
6
|
+
update: (t) => e.put(`/api/v1/workspaces/${t.id}`, t.workspaceUpdateDto).then((e) => e.data),
|
|
7
|
+
delete: (t) => e.delete(`/api/v1/workspaces/id/${t.id}`).then((e) => e.data),
|
|
8
|
+
batchDelete: (t) => e.delete("/api/v1/workspaces/batch", { data: { ids: t.ids } }).then((e) => e.data),
|
|
9
|
+
setFavourite: (t) => e.patch(`/api/v1/workspaces/${t.id}/favourite`, t.workspaceFavouriteDto).then((e) => e.data)
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export { createWorkspacesApi };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { StudioProvider } from "../providers/StudioProvider.js";
|
|
2
|
+
import { SseProvider } from "../providers/SseProvider.js";
|
|
3
|
+
import { InvalidationEventsProvider } from "../providers/InvalidationEventsProvider.js";
|
|
4
|
+
import { useRouter } from "../routing/LocalRouter.js";
|
|
5
|
+
import { QueryProvider } from "../providers/QueryProvider.js";
|
|
6
|
+
import { c } from "react/compiler-runtime";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { Outlet, useSearchParams } from "react-router-dom";
|
|
9
|
+
function EnvironmentEmbedRoot() {
|
|
10
|
+
let d = c(13), [f] = useSearchParams(), p;
|
|
11
|
+
d[0] === f ? p = d[1] : (p = f.get("url") ?? "http://localhost:3080", d[0] = f, d[1] = p);
|
|
12
|
+
let m = p, h;
|
|
13
|
+
d[2] === f ? h = d[3] : (h = f.get("name") ?? "Preview Environment", d[2] = f, d[3] = h);
|
|
14
|
+
let g = h, _;
|
|
15
|
+
d[4] !== g || d[5] !== m ? (_ = {
|
|
16
|
+
id: "preview-env",
|
|
17
|
+
name: g,
|
|
18
|
+
url: m
|
|
19
|
+
}, d[4] = g, d[5] = m, d[6] = _) : _ = d[6];
|
|
20
|
+
let v = _, y = useRouter(v.id), b, x, S;
|
|
21
|
+
d[7] === Symbol.for("react.memo_cache_sentinel") ? (b = /* @__PURE__ */ jsx(SseProvider, {}), x = /* @__PURE__ */ jsx(InvalidationEventsProvider, {}), S = /* @__PURE__ */ jsx(Outlet, {}), d[7] = b, d[8] = x, d[9] = S) : (b = d[7], x = d[8], S = d[9]);
|
|
22
|
+
let C;
|
|
23
|
+
return d[10] !== v || d[11] !== y ? (C = /* @__PURE__ */ jsx(QueryProvider, { children: /* @__PURE__ */ jsxs(StudioProvider, {
|
|
24
|
+
router: y,
|
|
25
|
+
environment: v,
|
|
26
|
+
children: [
|
|
27
|
+
b,
|
|
28
|
+
x,
|
|
29
|
+
S
|
|
30
|
+
]
|
|
31
|
+
}) }), d[10] = v, d[11] = y, d[12] = C) : C = d[12], C;
|
|
32
|
+
}
|
|
33
|
+
export { EnvironmentEmbedRoot as default };
|
|
@@ -4,80 +4,91 @@ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from ".
|
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
import { X } from "lucide-react";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
7
|
+
function getOptionValue(e) {
|
|
8
|
+
return typeof e == "string" ? e : e.value;
|
|
9
|
+
}
|
|
10
|
+
function getOptionLabel(e) {
|
|
11
|
+
return typeof e == "string" ? e : e.label;
|
|
12
|
+
}
|
|
13
|
+
var DataTableFilters_default = (g) => {
|
|
14
|
+
let _ = c(20), { filters: v, filterConfig: y, onFiltersChange: b, isOpen: x } = g;
|
|
15
|
+
if (!x) return null;
|
|
16
|
+
let S;
|
|
17
|
+
_[0] !== v || _[1] !== b ? (S = (e, d) => {
|
|
18
|
+
let f = { ...v };
|
|
19
|
+
d === "all" ? delete f[e] : f[e] = d, b?.(f);
|
|
20
|
+
}, _[0] = v, _[1] = b, _[2] = S) : S = _[2];
|
|
19
21
|
let C = S, w;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
22
|
+
_[3] === b ? w = _[4] : (w = () => {
|
|
23
|
+
b?.({});
|
|
24
|
+
}, _[3] = b, _[4] = w);
|
|
25
|
+
let T = w, E, D, O, k;
|
|
26
|
+
if (_[5] !== y || _[6] !== v || _[7] !== C) {
|
|
27
|
+
E = Object.entries(v).filter(_temp);
|
|
28
|
+
let e = (e, d) => {
|
|
29
|
+
let f = y[e];
|
|
30
|
+
if (!f) return d;
|
|
31
|
+
let p = f.find((e) => getOptionValue(e) === d);
|
|
32
|
+
return p ? getOptionLabel(p) : d;
|
|
33
|
+
};
|
|
34
|
+
D = "flex flex-wrap gap-4", O = Object.entries(y).map((e) => {
|
|
35
|
+
let [d, h] = e;
|
|
36
|
+
return /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs(Select, {
|
|
37
|
+
value: v[d] || "all",
|
|
38
|
+
onValueChange: (e) => C(d, e),
|
|
39
|
+
children: [/* @__PURE__ */ jsx(SelectTrigger, { children: /* @__PURE__ */ jsx(SelectValue, { placeholder: `Select ${d}` }) }), /* @__PURE__ */ jsxs(SelectContent, { children: [/* @__PURE__ */ jsxs(SelectItem, {
|
|
40
|
+
value: "all",
|
|
41
|
+
children: ["All ", d]
|
|
42
|
+
}), h.map(_temp2)] })]
|
|
43
|
+
}) }, d);
|
|
44
|
+
}), k = E.length > 0 && /* @__PURE__ */ jsx("div", {
|
|
45
|
+
className: "flex flex-wrap gap-2",
|
|
46
|
+
children: E.map((f) => {
|
|
47
|
+
let [p, m] = f;
|
|
48
|
+
return /* @__PURE__ */ jsxs(Badge, {
|
|
49
|
+
variant: "secondary",
|
|
50
|
+
className: "flex items-center gap-1",
|
|
51
|
+
children: [
|
|
52
|
+
p,
|
|
53
|
+
": ",
|
|
54
|
+
e(p, m),
|
|
55
|
+
/* @__PURE__ */ jsx("button", {
|
|
56
|
+
onClick: () => {
|
|
57
|
+
C(p, "all");
|
|
58
|
+
},
|
|
59
|
+
children: /* @__PURE__ */ jsx(X, { className: "h-3 w-3 cursor-pointer" })
|
|
60
|
+
})
|
|
61
|
+
]
|
|
62
|
+
}, p);
|
|
63
|
+
})
|
|
64
|
+
}), _[5] = y, _[6] = v, _[7] = C, _[8] = E, _[9] = D, _[10] = O, _[11] = k;
|
|
65
|
+
} else E = _[8], D = _[9], O = _[10], k = _[11];
|
|
66
|
+
let A;
|
|
67
|
+
_[12] !== E.length || _[13] !== T ? (A = E.length > 0 && /* @__PURE__ */ jsx(Button, {
|
|
57
68
|
variant: "outline",
|
|
58
69
|
size: "sm",
|
|
59
|
-
onClick:
|
|
70
|
+
onClick: T,
|
|
60
71
|
className: "ml-auto",
|
|
61
72
|
children: "Clear All"
|
|
62
|
-
}),
|
|
63
|
-
let
|
|
64
|
-
return
|
|
65
|
-
className:
|
|
73
|
+
}), _[12] = E.length, _[13] = T, _[14] = A) : A = _[14];
|
|
74
|
+
let j;
|
|
75
|
+
return _[15] !== D || _[16] !== O || _[17] !== k || _[18] !== A ? (j = /* @__PURE__ */ jsxs("div", {
|
|
76
|
+
className: D,
|
|
66
77
|
children: [
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
78
|
+
O,
|
|
79
|
+
k,
|
|
80
|
+
A
|
|
70
81
|
]
|
|
71
|
-
}),
|
|
82
|
+
}), _[15] = D, _[16] = O, _[17] = k, _[18] = A, _[19] = j) : j = _[19], j;
|
|
72
83
|
};
|
|
73
84
|
function _temp(e) {
|
|
74
|
-
let [,
|
|
75
|
-
return
|
|
85
|
+
let [, d] = e;
|
|
86
|
+
return d;
|
|
76
87
|
}
|
|
77
88
|
function _temp2(e) {
|
|
78
89
|
return /* @__PURE__ */ jsx(SelectItem, {
|
|
79
|
-
value: e,
|
|
80
|
-
children: e
|
|
81
|
-
}, e);
|
|
90
|
+
value: getOptionValue(e),
|
|
91
|
+
children: getOptionLabel(e)
|
|
92
|
+
}, getOptionValue(e));
|
|
82
93
|
}
|
|
83
94
|
export { DataTableFilters_default as default };
|
|
@@ -6,17 +6,20 @@ var MainLayout_default = (i) => {
|
|
|
6
6
|
a[0] === s ? u = a[1] : (u = /* @__PURE__ */ jsx(PageBreadcrumbs_default, { breadcrumbData: s }), a[0] = s, a[1] = u);
|
|
7
7
|
let d;
|
|
8
8
|
a[2] !== l || a[3] !== u ? (d = /* @__PURE__ */ jsxs("div", {
|
|
9
|
-
className: "flex
|
|
9
|
+
className: "border-b flex h-12 shrink-0 items-center justify-between",
|
|
10
10
|
children: [u, l]
|
|
11
11
|
}), a[2] = l, a[3] = u, a[4] = d) : d = a[4];
|
|
12
12
|
let f;
|
|
13
13
|
a[5] === o ? f = a[6] : (f = /* @__PURE__ */ jsx("div", {
|
|
14
|
-
className: "
|
|
15
|
-
children:
|
|
14
|
+
className: "flex-1 overflow-auto p-4",
|
|
15
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
16
|
+
className: "space-y-6",
|
|
17
|
+
children: o
|
|
18
|
+
})
|
|
16
19
|
}), a[5] = o, a[6] = f);
|
|
17
20
|
let p;
|
|
18
21
|
return a[7] !== d || a[8] !== f ? (p = /* @__PURE__ */ jsxs("div", {
|
|
19
|
-
className: "
|
|
22
|
+
className: "flex h-full flex-col",
|
|
20
23
|
children: [d, f]
|
|
21
24
|
}), a[7] = d, a[8] = f, a[9] = p) : p = a[9], p;
|
|
22
25
|
};
|
|
@@ -10,7 +10,7 @@ var PageBreadcrumbs_default = (p) => {
|
|
|
10
10
|
e.preventDefault(), _(d);
|
|
11
11
|
}, m[0] = _, m[1] = v);
|
|
12
12
|
let y = v, b;
|
|
13
|
-
m[2] === g ? b = m[3] : (b = cn("ml-3
|
|
13
|
+
m[2] === g ? b = m[3] : (b = cn("ml-3", g), m[2] = g, m[3] = b);
|
|
14
14
|
let x;
|
|
15
15
|
if (m[4] !== h || m[5] !== y) {
|
|
16
16
|
let e;
|