@burdenoff/fluidgrids-fe-sdk 2026.803.4 → 2026.804.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/dist/ExecutionDetailPage-FF2DYKAZ.js +10 -0
- package/dist/{ExecutionDetailPage-FCY3S336.js.map → ExecutionDetailPage-FF2DYKAZ.js.map} +1 -1
- package/dist/ExecutionsListPage-NKISRFMA.js +9 -0
- package/dist/{ExecutionsListPage-IZJPACQV.js.map → ExecutionsListPage-NKISRFMA.js.map} +1 -1
- package/dist/MissingNodesInstallModal-HA5L3FK2.js +185 -0
- package/dist/MissingNodesInstallModal-HA5L3FK2.js.map +1 -0
- package/dist/{TemplateConfigurationModal-MTR7VP6G.js → TemplateConfigurationModal-MXNGZQIC.js} +91 -21
- package/dist/TemplateConfigurationModal-MXNGZQIC.js.map +1 -0
- package/dist/{TemplateDetailPanel-T3ZHXOHX.js → TemplateDetailPanel-CJ3NPVTP.js} +50 -14
- package/dist/TemplateDetailPanel-CJ3NPVTP.js.map +1 -0
- package/dist/{WorkflowBuilder-WMAHTZEI.js → WorkflowBuilder-ETVB66U6.js} +9 -9
- package/dist/{WorkflowBuilder-WMAHTZEI.js.map → WorkflowBuilder-ETVB66U6.js.map} +1 -1
- package/dist/WorkflowsList-TZAN3YBA.js +11 -0
- package/dist/{WorkflowsList-BXESQVAH.js.map → WorkflowsList-TZAN3YBA.js.map} +1 -1
- package/dist/{chunk-WAVGHDYH.js → chunk-6PNRM3KQ.js} +469 -114
- package/dist/chunk-6PNRM3KQ.js.map +1 -0
- package/dist/chunk-7VNIEIR6.js +21 -0
- package/dist/chunk-7VNIEIR6.js.map +1 -0
- package/dist/{chunk-F5ACDIYR.js → chunk-IWKLEFC7.js} +205 -51
- package/dist/chunk-IWKLEFC7.js.map +1 -0
- package/dist/{chunk-MRVS73S2.js → chunk-OHGXRM6Z.js} +7 -23
- package/dist/chunk-OHGXRM6Z.js.map +1 -0
- package/dist/chunk-P5PKRQAO.js +25 -0
- package/dist/chunk-P5PKRQAO.js.map +1 -0
- package/dist/{chunk-CQAHXNT2.js → chunk-SG7Z2IRQ.js} +55 -18
- package/dist/chunk-SG7Z2IRQ.js.map +1 -0
- package/dist/chunk-WQ4QNHDN.js +29639 -0
- package/dist/chunk-WQ4QNHDN.js.map +1 -0
- package/dist/{chunk-ZM4SSEVI.js → chunk-Y36DJHU3.js} +211 -3
- package/dist/chunk-Y36DJHU3.js.map +1 -0
- package/dist/{chunk-CBUOMHGH.js → chunk-YJKZSUNC.js} +140 -47
- package/dist/chunk-YJKZSUNC.js.map +1 -0
- package/dist/index.d.ts +33 -2
- package/dist/index.js +643 -182
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/ExecutionDetailPage-FCY3S336.js +0 -9
- package/dist/ExecutionsListPage-IZJPACQV.js +0 -8
- package/dist/TemplateConfigurationModal-MTR7VP6G.js.map +0 -1
- package/dist/TemplateDetailPanel-T3ZHXOHX.js.map +0 -1
- package/dist/WorkflowsList-BXESQVAH.js +0 -11
- package/dist/blocks-7KN7ZRE6.js +0 -11
- package/dist/blocks-7KN7ZRE6.js.map +0 -1
- package/dist/chunk-7LLCYNKY.js +0 -10910
- package/dist/chunk-7LLCYNKY.js.map +0 -1
- package/dist/chunk-CBUOMHGH.js.map +0 -1
- package/dist/chunk-CQAHXNT2.js.map +0 -1
- package/dist/chunk-F5ACDIYR.js.map +0 -1
- package/dist/chunk-MRVS73S2.js.map +0 -1
- package/dist/chunk-OAPYQFQU.js +0 -197
- package/dist/chunk-OAPYQFQU.js.map +0 -1
- package/dist/chunk-WAVGHDYH.js.map +0 -1
- package/dist/chunk-Z3NRSPTV.js +0 -15355
- package/dist/chunk-Z3NRSPTV.js.map +0 -1
- package/dist/chunk-ZM4SSEVI.js.map +0 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Button, Badge } from './chunk-DBOMRIP5.js';
|
|
2
2
|
import './chunk-3ZYUGTIT.js';
|
|
3
|
+
import { useTr } from './chunk-7VNIEIR6.js';
|
|
3
4
|
import { X, Sparkles, Star, Download, Eye, User, Calendar, Tag, ExternalLink } from 'lucide-react';
|
|
4
5
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
6
|
|
|
@@ -29,11 +30,15 @@ function TemplateDetailPanel({
|
|
|
29
30
|
onClose,
|
|
30
31
|
onUseTemplate
|
|
31
32
|
}) {
|
|
33
|
+
const tr = useTr();
|
|
32
34
|
const previewImage = template.screenshots?.[0] || template.icon;
|
|
33
35
|
template.videoUrls && template.videoUrls.length > 0;
|
|
34
36
|
return /* @__PURE__ */ jsxs("div", { className: "w-full md:w-1/2 lg:w-2/5 border-l bg-background overflow-y-auto", children: [
|
|
35
37
|
/* @__PURE__ */ jsxs("div", { className: "sticky top-0 z-10 flex items-center justify-between px-4 py-3 bg-background border-b", children: [
|
|
36
|
-
/* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold truncate pr-4", children:
|
|
38
|
+
/* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold truncate pr-4", children: tr(
|
|
39
|
+
"fluidgrids.builder.templateDetailPanel.title",
|
|
40
|
+
"Template Details"
|
|
41
|
+
) }),
|
|
37
42
|
/* @__PURE__ */ jsx(
|
|
38
43
|
Button,
|
|
39
44
|
{
|
|
@@ -60,7 +65,7 @@ function TemplateDetailPanel({
|
|
|
60
65
|
{
|
|
61
66
|
variant: "secondary",
|
|
62
67
|
className: "bg-green-500 text-white border-0",
|
|
63
|
-
children: "Free"
|
|
68
|
+
children: tr("fluidgrids.builder.templateDetailPanel.freeBadge", "Free")
|
|
64
69
|
}
|
|
65
70
|
) : /* @__PURE__ */ jsxs(
|
|
66
71
|
Badge,
|
|
@@ -80,14 +85,20 @@ function TemplateDetailPanel({
|
|
|
80
85
|
className: "bg-gradient-to-r from-yellow-500 to-orange-500 text-white border-0 shadow-lg",
|
|
81
86
|
children: [
|
|
82
87
|
/* @__PURE__ */ jsx(Star, { className: "size-3 mr-1 fill-white" }),
|
|
83
|
-
|
|
88
|
+
tr(
|
|
89
|
+
"fluidgrids.builder.templateDetailPanel.featuredBadge",
|
|
90
|
+
"Featured"
|
|
91
|
+
)
|
|
84
92
|
]
|
|
85
93
|
}
|
|
86
94
|
) })
|
|
87
95
|
] }),
|
|
88
96
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
89
97
|
/* @__PURE__ */ jsx("h2", { className: "text-lg font-bold", children: template.name }),
|
|
90
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground mt-1.5 leading-relaxed", children: template.longDescription || template.description ||
|
|
98
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground mt-1.5 leading-relaxed", children: template.longDescription || template.description || tr(
|
|
99
|
+
"fluidgrids.builder.templateDetailPanel.noDescription",
|
|
100
|
+
"No description available"
|
|
101
|
+
) })
|
|
91
102
|
] }),
|
|
92
103
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4 text-sm text-muted-foreground", children: [
|
|
93
104
|
template.rating && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
|
|
@@ -110,20 +121,33 @@ function TemplateDetailPanel({
|
|
|
110
121
|
] }),
|
|
111
122
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-sm", children: [
|
|
112
123
|
/* @__PURE__ */ jsx(User, { className: "size-4 text-muted-foreground" }),
|
|
113
|
-
/* @__PURE__ */ jsx("span", { className: "font-medium", children: template.authorName || template.publisher?.name ||
|
|
114
|
-
|
|
124
|
+
/* @__PURE__ */ jsx("span", { className: "font-medium", children: template.authorName || template.publisher?.name || tr(
|
|
125
|
+
"fluidgrids.builder.templateDetailPanel.unknownAuthor",
|
|
126
|
+
"Unknown"
|
|
127
|
+
) }),
|
|
128
|
+
template.publisher?.isVerified && /* @__PURE__ */ jsx(Badge, { variant: "secondary", className: "text-xs px-1.5 py-0", children: tr(
|
|
129
|
+
"fluidgrids.builder.templateDetailPanel.verifiedBadge",
|
|
130
|
+
"Verified"
|
|
131
|
+
) })
|
|
115
132
|
] }),
|
|
116
133
|
template.publishedAt && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-sm text-muted-foreground", children: [
|
|
117
134
|
/* @__PURE__ */ jsx(Calendar, { className: "size-4" }),
|
|
118
135
|
/* @__PURE__ */ jsxs("span", { children: [
|
|
119
|
-
|
|
136
|
+
tr(
|
|
137
|
+
"fluidgrids.builder.templateDetailPanel.publishedLabel",
|
|
138
|
+
"Published"
|
|
139
|
+
),
|
|
140
|
+
" ",
|
|
120
141
|
formatDate(template.publishedAt)
|
|
121
142
|
] })
|
|
122
143
|
] }),
|
|
123
144
|
(template.category || template.tags && template.tags.length > 0) && /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
124
145
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 text-sm text-muted-foreground", children: [
|
|
125
146
|
/* @__PURE__ */ jsx(Tag, { className: "size-4" }),
|
|
126
|
-
/* @__PURE__ */ jsx("span", { children:
|
|
147
|
+
/* @__PURE__ */ jsx("span", { children: tr(
|
|
148
|
+
"fluidgrids.builder.templateDetailPanel.categoryAndTagsLabel",
|
|
149
|
+
"Category & Tags"
|
|
150
|
+
) })
|
|
127
151
|
] }),
|
|
128
152
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-wrap gap-1.5", children: [
|
|
129
153
|
template.category && /* @__PURE__ */ jsx(Badge, { variant: "default", className: "text-xs", children: template.category }),
|
|
@@ -131,11 +155,17 @@ function TemplateDetailPanel({
|
|
|
131
155
|
] })
|
|
132
156
|
] }),
|
|
133
157
|
template.compatibleProducts && template.compatibleProducts.length > 0 && /* @__PURE__ */ jsxs("div", { className: "text-xs text-muted-foreground", children: [
|
|
134
|
-
/* @__PURE__ */ jsx("span", { children:
|
|
158
|
+
/* @__PURE__ */ jsx("span", { children: tr(
|
|
159
|
+
"fluidgrids.builder.templateDetailPanel.compatibleWithLabel",
|
|
160
|
+
"Compatible with: "
|
|
161
|
+
) }),
|
|
135
162
|
/* @__PURE__ */ jsx("span", { className: "font-medium", children: template.compatibleProducts.join(", ") })
|
|
136
163
|
] }),
|
|
137
164
|
template.screenshots && template.screenshots.length > 1 && /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
138
|
-
/* @__PURE__ */ jsx("h4", { className: "text-sm font-semibold", children:
|
|
165
|
+
/* @__PURE__ */ jsx("h4", { className: "text-sm font-semibold", children: tr(
|
|
166
|
+
"fluidgrids.builder.templateDetailPanel.screenshotsHeading",
|
|
167
|
+
"Screenshots"
|
|
168
|
+
) }),
|
|
139
169
|
/* @__PURE__ */ jsx("div", { className: "grid grid-cols-2 gap-2", children: template.screenshots.slice(1, 5).map((screenshot, i) => /* @__PURE__ */ jsx(
|
|
140
170
|
"img",
|
|
141
171
|
{
|
|
@@ -149,7 +179,10 @@ function TemplateDetailPanel({
|
|
|
149
179
|
/* @__PURE__ */ jsxs("div", { className: "pt-2 space-y-2", children: [
|
|
150
180
|
/* @__PURE__ */ jsxs(Button, { className: "w-full", onClick: () => onUseTemplate(template), children: [
|
|
151
181
|
/* @__PURE__ */ jsx(Sparkles, { className: "size-4 mr-2" }),
|
|
152
|
-
|
|
182
|
+
tr(
|
|
183
|
+
"fluidgrids.builder.templateDetailPanel.useTemplateButton",
|
|
184
|
+
"Use This Template"
|
|
185
|
+
)
|
|
153
186
|
] }),
|
|
154
187
|
template.publisher?.websiteUrl && /* @__PURE__ */ jsx(Button, { variant: "outline", className: "w-full", asChild: true, children: /* @__PURE__ */ jsxs(
|
|
155
188
|
"a",
|
|
@@ -159,7 +192,10 @@ function TemplateDetailPanel({
|
|
|
159
192
|
rel: "noopener noreferrer",
|
|
160
193
|
children: [
|
|
161
194
|
/* @__PURE__ */ jsx(ExternalLink, { className: "size-4 mr-2" }),
|
|
162
|
-
|
|
195
|
+
tr(
|
|
196
|
+
"fluidgrids.builder.templateDetailPanel.viewPublisherButton",
|
|
197
|
+
"View Publisher"
|
|
198
|
+
)
|
|
163
199
|
]
|
|
164
200
|
}
|
|
165
201
|
) })
|
|
@@ -169,5 +205,5 @@ function TemplateDetailPanel({
|
|
|
169
205
|
}
|
|
170
206
|
|
|
171
207
|
export { TemplateDetailPanel };
|
|
172
|
-
//# sourceMappingURL=TemplateDetailPanel-
|
|
173
|
-
//# sourceMappingURL=TemplateDetailPanel-
|
|
208
|
+
//# sourceMappingURL=TemplateDetailPanel-CJ3NPVTP.js.map
|
|
209
|
+
//# sourceMappingURL=TemplateDetailPanel-CJ3NPVTP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/builder/components/flow-builder/components/templates/TemplateDetailPanel.tsx"],"names":[],"mappings":"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","file":"TemplateDetailPanel-CJ3NPVTP.js","sourcesContent":["import { Button } from \"../../../../../ui/button\";\nimport { Badge } from \"../../../../../ui/badge\";\nimport type { StoreProduct } from \"../../../../../generated/global-types\";\nimport {\n X,\n Star,\n Download,\n Eye,\n Sparkles,\n ExternalLink,\n Calendar,\n User,\n Tag,\n} from \"lucide-react\";\nimport { useTr } from \"../../../../../hooks/useTr\";\n\nexport interface TemplateDetailPanelProps {\n template: StoreProduct;\n onClose: () => void;\n onUseTemplate: (template: StoreProduct) => void;\n}\n\nfunction formatNumber(count: number): string {\n if (count >= 1000000) {\n return `${(count / 1000000).toFixed(1)}M`;\n }\n if (count >= 1000) {\n return `${(count / 1000).toFixed(1)}k`;\n }\n return count.toString();\n}\n\nfunction formatDate(dateStr: string | null | undefined): string {\n if (!dateStr) return \"Unknown\";\n try {\n return new Date(dateStr).toLocaleDateString(\"en-US\", {\n year: \"numeric\",\n month: \"short\",\n day: \"numeric\",\n });\n } catch {\n return \"Unknown\";\n }\n}\n\n/**\n * Side panel that slides in within the TemplatesModal when a template card is clicked.\n * Shows detailed information about the template before the user decides to import.\n */\nexport function TemplateDetailPanel({\n template,\n onClose,\n onUseTemplate,\n}: TemplateDetailPanelProps) {\n const tr = useTr();\n const previewImage = template.screenshots?.[0] || template.icon;\n const hasVideo = template.videoUrls && template.videoUrls.length > 0;\n\n return (\n <div className=\"w-full md:w-1/2 lg:w-2/5 border-l bg-background overflow-y-auto\">\n {/* Close Button */}\n <div className=\"sticky top-0 z-10 flex items-center justify-between px-4 py-3 bg-background border-b\">\n <h3 className=\"text-sm font-semibold truncate pr-4\">\n {tr(\n \"fluidgrids.builder.templateDetailPanel.title\",\n \"Template Details\",\n )}\n </h3>\n <Button\n variant=\"ghost\"\n size=\"icon\"\n onClick={onClose}\n className=\"size-8 shrink-0\"\n >\n <X className=\"size-4\" />\n </Button>\n </div>\n\n <div className=\"p-4 space-y-5\">\n {/* Preview Image / Video */}\n <div className=\"relative aspect-video w-full rounded-lg overflow-hidden bg-gradient-to-br from-primary/5 to-primary/10\">\n {previewImage ? (\n <img\n src={previewImage}\n alt={template.name}\n className=\"w-full h-full object-cover\"\n />\n ) : (\n <div className=\"w-full h-full flex items-center justify-center\">\n <Sparkles className=\"size-16 text-primary/30\" />\n </div>\n )}\n\n {/* Pricing Badge */}\n <div className=\"absolute top-2 left-2\">\n {template.pricingModel === \"FREE\" ? (\n <Badge\n variant=\"secondary\"\n className=\"bg-green-500 text-white border-0\"\n >\n {tr(\"fluidgrids.builder.templateDetailPanel.freeBadge\", \"Free\")}\n </Badge>\n ) : (\n <Badge\n variant=\"default\"\n className=\"bg-blue-500 text-white border-0\"\n >\n ${template.price?.toString() || \"0\"}\n </Badge>\n )}\n </div>\n\n {template.featured && (\n <div className=\"absolute top-2 right-2\">\n <Badge\n variant=\"default\"\n className=\"bg-gradient-to-r from-yellow-500 to-orange-500 text-white border-0 shadow-lg\"\n >\n <Star className=\"size-3 mr-1 fill-white\" />\n {tr(\n \"fluidgrids.builder.templateDetailPanel.featuredBadge\",\n \"Featured\",\n )}\n </Badge>\n </div>\n )}\n </div>\n\n {/* Title & Description */}\n <div>\n <h2 className=\"text-lg font-bold\">{template.name}</h2>\n <p className=\"text-sm text-muted-foreground mt-1.5 leading-relaxed\">\n {template.longDescription ||\n template.description ||\n tr(\n \"fluidgrids.builder.templateDetailPanel.noDescription\",\n \"No description available\",\n )}\n </p>\n </div>\n\n {/* Stats Row */}\n <div className=\"flex items-center gap-4 text-sm text-muted-foreground\">\n {template.rating && (\n <div className=\"flex items-center gap-1\">\n <Star className=\"size-4 fill-yellow-400 text-yellow-400\" />\n <span className=\"font-medium text-foreground\">\n {template.rating.toFixed(1)}\n </span>\n <span>({template.reviewCount || 0})</span>\n </div>\n )}\n <div className=\"flex items-center gap-1\">\n <Download className=\"size-4\" />\n <span>{formatNumber(template.downloads || 0)}</span>\n </div>\n <div className=\"flex items-center gap-1\">\n <Eye className=\"size-4\" />\n <span>{formatNumber(template.viewCount || 0)}</span>\n </div>\n </div>\n\n {/* Author */}\n <div className=\"flex items-center gap-2 text-sm\">\n <User className=\"size-4 text-muted-foreground\" />\n <span className=\"font-medium\">\n {template.authorName ||\n template.publisher?.name ||\n tr(\n \"fluidgrids.builder.templateDetailPanel.unknownAuthor\",\n \"Unknown\",\n )}\n </span>\n {template.publisher?.isVerified && (\n <Badge variant=\"secondary\" className=\"text-xs px-1.5 py-0\">\n {tr(\n \"fluidgrids.builder.templateDetailPanel.verifiedBadge\",\n \"Verified\",\n )}\n </Badge>\n )}\n </div>\n\n {/* Published Date */}\n {template.publishedAt && (\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <Calendar className=\"size-4\" />\n <span>\n {tr(\n \"fluidgrids.builder.templateDetailPanel.publishedLabel\",\n \"Published\",\n )}{\" \"}\n {formatDate(template.publishedAt)}\n </span>\n </div>\n )}\n\n {/* Category & Tags */}\n {(template.category || (template.tags && template.tags.length > 0)) && (\n <div className=\"space-y-2\">\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <Tag className=\"size-4\" />\n <span>\n {tr(\n \"fluidgrids.builder.templateDetailPanel.categoryAndTagsLabel\",\n \"Category & Tags\",\n )}\n </span>\n </div>\n <div className=\"flex flex-wrap gap-1.5\">\n {template.category && (\n <Badge variant=\"default\" className=\"text-xs\">\n {template.category}\n </Badge>\n )}\n {template.tags?.map((tag) => (\n <Badge key={tag} variant=\"outline\" className=\"text-xs\">\n {tag}\n </Badge>\n ))}\n </div>\n </div>\n )}\n\n {/* Compatible Products */}\n {template.compatibleProducts &&\n template.compatibleProducts.length > 0 && (\n <div className=\"text-xs text-muted-foreground\">\n <span>\n {tr(\n \"fluidgrids.builder.templateDetailPanel.compatibleWithLabel\",\n \"Compatible with: \",\n )}\n </span>\n <span className=\"font-medium\">\n {template.compatibleProducts.join(\", \")}\n </span>\n </div>\n )}\n\n {/* Additional Screenshots */}\n {template.screenshots && template.screenshots.length > 1 && (\n <div className=\"space-y-2\">\n <h4 className=\"text-sm font-semibold\">\n {tr(\n \"fluidgrids.builder.templateDetailPanel.screenshotsHeading\",\n \"Screenshots\",\n )}\n </h4>\n <div className=\"grid grid-cols-2 gap-2\">\n {template.screenshots.slice(1, 5).map((screenshot, i) => (\n <img\n key={i}\n src={screenshot}\n alt={`${template.name} screenshot ${i + 2}`}\n className=\"w-full h-auto rounded-md border\"\n />\n ))}\n </div>\n </div>\n )}\n\n {/* Action Buttons */}\n <div className=\"pt-2 space-y-2\">\n <Button className=\"w-full\" onClick={() => onUseTemplate(template)}>\n <Sparkles className=\"size-4 mr-2\" />\n {tr(\n \"fluidgrids.builder.templateDetailPanel.useTemplateButton\",\n \"Use This Template\",\n )}\n </Button>\n {template.publisher?.websiteUrl && (\n <Button variant=\"outline\" className=\"w-full\" asChild>\n <a\n href={template.publisher.websiteUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <ExternalLink className=\"size-4 mr-2\" />\n {tr(\n \"fluidgrids.builder.templateDetailPanel.viewPublisherButton\",\n \"View Publisher\",\n )}\n </a>\n </Button>\n )}\n </div>\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
export { WorkflowBuilder } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-7LLCYNKY.js';
|
|
1
|
+
export { WorkflowBuilder } from './chunk-WQ4QNHDN.js';
|
|
2
|
+
import './chunk-P5PKRQAO.js';
|
|
3
|
+
import './chunk-OHGXRM6Z.js';
|
|
5
4
|
import './chunk-BQXHJIER.js';
|
|
6
5
|
import './chunk-PNOA7CQV.js';
|
|
7
|
-
import './chunk-
|
|
6
|
+
import './chunk-Y36DJHU3.js';
|
|
8
7
|
import './chunk-MH4AHYK3.js';
|
|
9
|
-
import './chunk-ZM4SSEVI.js';
|
|
10
8
|
import './chunk-UIY2HBWA.js';
|
|
11
|
-
import './chunk-3ZYUGTIT.js';
|
|
12
9
|
import './chunk-V5UEEB74.js';
|
|
13
10
|
import './chunk-5BDQNSP3.js';
|
|
14
11
|
import './chunk-WWU2O2SR.js';
|
|
15
12
|
import './chunk-XQP33UJR.js';
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
import './chunk-DBOMRIP5.js';
|
|
14
|
+
import './chunk-3ZYUGTIT.js';
|
|
15
|
+
import './chunk-7VNIEIR6.js';
|
|
16
|
+
//# sourceMappingURL=WorkflowBuilder-ETVB66U6.js.map
|
|
17
|
+
//# sourceMappingURL=WorkflowBuilder-ETVB66U6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowBuilder-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowBuilder-ETVB66U6.js"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { WorkflowsList } from './chunk-YJKZSUNC.js';
|
|
2
|
+
import './chunk-Y36DJHU3.js';
|
|
3
|
+
import './chunk-MH4AHYK3.js';
|
|
4
|
+
import './chunk-UIY2HBWA.js';
|
|
5
|
+
import './chunk-V5UEEB74.js';
|
|
6
|
+
import './chunk-5BDQNSP3.js';
|
|
7
|
+
import './chunk-WWU2O2SR.js';
|
|
8
|
+
import './chunk-3ZYUGTIT.js';
|
|
9
|
+
import './chunk-7VNIEIR6.js';
|
|
10
|
+
//# sourceMappingURL=WorkflowsList-TZAN3YBA.js.map
|
|
11
|
+
//# sourceMappingURL=WorkflowsList-TZAN3YBA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowsList-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowsList-TZAN3YBA.js"}
|