@burdenoff/fluidgrids-fe-sdk 2026.801.4 → 2026.801.6

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.
@@ -1,7 +1,7 @@
1
- export { WorkflowBuilder } from './chunk-6I77TPCY.js';
1
+ export { WorkflowBuilder } from './chunk-DEPCFHNN.js';
2
2
  import './chunk-MRVS73S2.js';
3
3
  import './chunk-DBOMRIP5.js';
4
- import './chunk-33QRAWG2.js';
4
+ import './chunk-EPBEVBMQ.js';
5
5
  import './chunk-BQXHJIER.js';
6
6
  import './chunk-PNOA7CQV.js';
7
7
  import './chunk-NMS2QUXG.js';
@@ -12,5 +12,5 @@ import './chunk-XEYNX7YJ.js';
12
12
  import './chunk-5BDQNSP3.js';
13
13
  import './chunk-WWU2O2SR.js';
14
14
  import './chunk-XQP33UJR.js';
15
- //# sourceMappingURL=WorkflowBuilder-3TDGFGTP.js.map
16
- //# sourceMappingURL=WorkflowBuilder-3TDGFGTP.js.map
15
+ //# sourceMappingURL=WorkflowBuilder-FBHT6KMG.js.map
16
+ //# sourceMappingURL=WorkflowBuilder-FBHT6KMG.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowBuilder-3TDGFGTP.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"WorkflowBuilder-FBHT6KMG.js"}
@@ -1,4 +1,4 @@
1
- export { AVAILABLE_NODES, NODES, NODES_METADATA, NODE_CONFIGS, NODE_TYPES, ensureNodeConfigsLoaded, fetchNodeManifest, isNodeConfigsInitialized, onNodeTypesUpdate, refetchStoreNodes, registerWorkflowNodeTypes } from './chunk-33QRAWG2.js';
1
+ export { AVAILABLE_NODES, NODES, NODES_METADATA, NODE_CONFIGS, NODE_TYPES, ensureNodeConfigsLoaded, fetchNodeManifest, isNodeConfigsInitialized, onNodeTypesUpdate, refetchStoreNodes, registerWorkflowNodeTypes } from './chunk-EPBEVBMQ.js';
2
2
  import './chunk-BQXHJIER.js';
3
3
  import './chunk-PNOA7CQV.js';
4
4
  import './chunk-2KRMZXFF.js';
@@ -7,5 +7,5 @@ import './chunk-3ZYUGTIT.js';
7
7
  import './chunk-XEYNX7YJ.js';
8
8
  import './chunk-5BDQNSP3.js';
9
9
  import './chunk-WWU2O2SR.js';
10
- //# sourceMappingURL=blocks-HIWIS6OD.js.map
11
- //# sourceMappingURL=blocks-HIWIS6OD.js.map
10
+ //# sourceMappingURL=blocks-MP4MLAOE.js.map
11
+ //# sourceMappingURL=blocks-MP4MLAOE.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"blocks-HIWIS6OD.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"blocks-MP4MLAOE.js"}
@@ -1,6 +1,6 @@
1
1
  import { Dialog as Dialog$1, DialogContent as DialogContent$1, DialogHeader as DialogHeader$1, DialogTitle as DialogTitle$1, DialogDescription as DialogDescription$1, Input as Input$1, DialogFooter } from './chunk-MRVS73S2.js';
2
2
  import { Badge as Badge$1, Button } from './chunk-DBOMRIP5.js';
3
- import { refetchStoreNodes, registerWorkflowNodeTypes, ensureNodeConfigsLoaded, onNodeTypesUpdate, NODE_TYPES, getNodeMetadata, AVAILABLE_NODES, useInsertNode, NODE_TYPE_DRAG_DATA_FORMAT, NODE_OPERATION_DRAG_DATA_FORMAT, useSaveWorkflow, STICKY_NOTE_TYPE, useNodeExecution, getNodeDetail, mergeStickyNotes, buildStickyNode, ConnectionSelector, nodeAccent, NODES_METADATA, isNodeConfigsInitialized, NODE_CONFIGS, NODES, NodePropertyPanel, resolveInputHandles } from './chunk-33QRAWG2.js';
3
+ import { refetchStoreNodes, registerWorkflowNodeTypes, ensureNodeConfigsLoaded, onNodeTypesUpdate, NODE_TYPES, getNodeMetadata, AVAILABLE_NODES, useInsertNode, NODE_TYPE_DRAG_DATA_FORMAT, NODE_OPERATION_DRAG_DATA_FORMAT, useSaveWorkflow, STICKY_NOTE_TYPE, useNodeExecution, getNodeDetail, mergeStickyNotes, buildStickyNode, ConnectionSelector, nodeAccent, NodeTypeIcon, NODES_METADATA, isNodeConfigsInitialized, NODE_CONFIGS, isImageIcon, NODES, NodePropertyPanel, resolveInputHandles } from './chunk-EPBEVBMQ.js';
4
4
  import { createGlobalStoreClient, setGlobalStoreClient, resetGlobalStoreClient, getGlobalStoreClient } from './chunk-BQXHJIER.js';
5
5
  import { BrowseWorkflowTemplatesDocument, InstallWorkflowNodeDocument, InstallPurchasedNodeDocument, GetMyNodeInstallationsDocument, BrowseWorkflowNodesDocument, UninstallWorkflowNodeDocument, CreateStoreOrderDocument } from './chunk-PNOA7CQV.js';
6
6
  import { useLazyWorkflowDefinition, useCreateWorkflow, useWorkflowVersions, useRestoreWorkflowVersion, useActivateWorkflow, useDeleteWorkflow, useDeactivateWorkflow } from './chunk-NMS2QUXG.js';
@@ -28,6 +28,7 @@ import { ApolloProvider, useQuery, useMutation } from '@apollo/client/react';
28
28
  import 'jszip';
29
29
  import { gql as gql$1 } from '@apollo/client/core';
30
30
  import { Sparkles, Star, Download, Eye, History, Loader2, Play, RotateCcw, Trash2, Maximize2, LayoutGrid, Plus, GitBranch, AlertCircle, Search, RefreshCw, CheckCircle2, Package, Info, Copy, BadgeCheck, DollarSign, PlusCircle, ChevronDown, Type, Code, Hash, List, Braces, Workflow, ChevronRight, Layers, X, AlertTriangle } from 'lucide-react';
31
+ import ReactMarkdown from 'react-markdown';
31
32
  import { animate, easeOut } from 'popmotion';
32
33
  import { createPortal } from 'react-dom';
33
34
  import { ThemeProvider as ThemeProvider$1 } from '@burdenoff/fe-libs/shared/providers/shell';
@@ -2313,7 +2314,7 @@ function StoreNodeListItem({
2313
2314
  className: "w-full flex items-center gap-3 px-2 py-2.5 rounded-md hover:bg-muted/60 transition-colors text-left group",
2314
2315
  style: isDraggable ? { cursor: "grab" } : void 0,
2315
2316
  children: [
2316
- /* @__PURE__ */ jsx("div", { className: "relative size-9 shrink-0 rounded-lg bg-muted flex items-center justify-center overflow-hidden", children: icon ? /* @__PURE__ */ jsx("img", { src: icon, alt: name, className: "w-full h-full object-cover" }) : /* @__PURE__ */ jsx("span", { className: "text-sm font-bold text-muted-foreground", children: name.charAt(0).toUpperCase() }) }),
2317
+ /* @__PURE__ */ jsx("div", { className: "relative size-9 shrink-0 rounded-lg bg-muted flex items-center justify-center overflow-hidden", children: icon ? isImageIcon(icon) ? /* @__PURE__ */ jsx("img", { src: icon, alt: name, className: "w-full h-full object-cover" }) : /* @__PURE__ */ jsx(Icon, { icon, className: "size-5 text-muted-foreground" }) : /* @__PURE__ */ jsx("span", { className: "text-sm font-bold text-muted-foreground", children: name.charAt(0).toUpperCase() }) }),
2317
2318
  /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
2318
2319
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 flex-wrap", children: [
2319
2320
  /* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-foreground group-hover:text-primary transition-colors truncate", children: name }),
@@ -3042,6 +3043,77 @@ function StoreNodeOperations({ nodeType }) {
3042
3043
  }) })
3043
3044
  ] });
3044
3045
  }
3046
+ var COLLAPSED_MAX_PX = 126;
3047
+ var MD_COMPONENTS = {
3048
+ h1: ({ children }) => /* @__PURE__ */ jsx("p", { className: "mb-1 mt-3 text-[13px] font-semibold text-foreground", children }),
3049
+ h2: ({ children }) => /* @__PURE__ */ jsx("p", { className: "mb-1 mt-3 text-[13px] font-semibold text-foreground", children }),
3050
+ h3: ({ children }) => /* @__PURE__ */ jsx("p", { className: "mb-1 mt-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground", children }),
3051
+ p: ({ children }) => /* @__PURE__ */ jsx("p", { className: "mb-2 last:mb-0", children }),
3052
+ ul: ({ children }) => /* @__PURE__ */ jsx("ul", { className: "mb-2 list-disc space-y-0.5 pl-4 last:mb-0", children }),
3053
+ ol: ({ children }) => /* @__PURE__ */ jsx("ol", { className: "mb-2 list-decimal space-y-0.5 pl-4 last:mb-0", children }),
3054
+ li: ({ children }) => /* @__PURE__ */ jsx("li", { className: "leading-snug", children }),
3055
+ strong: ({ children }) => /* @__PURE__ */ jsx("strong", { className: "font-semibold text-foreground", children }),
3056
+ em: ({ children }) => /* @__PURE__ */ jsx("em", { className: "italic", children }),
3057
+ a: ({ children, href }) => /* @__PURE__ */ jsx(
3058
+ "a",
3059
+ {
3060
+ href,
3061
+ target: "_blank",
3062
+ rel: "noreferrer noopener",
3063
+ className: "text-primary underline underline-offset-2 hover:opacity-80",
3064
+ children
3065
+ }
3066
+ ),
3067
+ code: ({ children }) => /* @__PURE__ */ jsx("code", { className: "rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-foreground", children }),
3068
+ hr: () => /* @__PURE__ */ jsx("hr", { className: "my-2 border-border/60" })
3069
+ };
3070
+ function StoreNodeDescription({ text }) {
3071
+ const [expanded, setExpanded] = useState(false);
3072
+ const [overflows, setOverflows] = useState(false);
3073
+ const contentRef = useRef(null);
3074
+ useLayoutEffect(() => {
3075
+ const el = contentRef.current;
3076
+ if (!el) return;
3077
+ setOverflows(el.scrollHeight > COLLAPSED_MAX_PX + 8);
3078
+ }, [text]);
3079
+ const markdown = useMemo(
3080
+ () => /* @__PURE__ */ jsx(ReactMarkdown, { components: MD_COMPONENTS, children: text }),
3081
+ [text]
3082
+ );
3083
+ return /* @__PURE__ */ jsxs("div", { className: "mb-4", children: [
3084
+ /* @__PURE__ */ jsxs(
3085
+ "div",
3086
+ {
3087
+ ref: contentRef,
3088
+ className: "relative overflow-hidden text-sm leading-relaxed text-foreground/80",
3089
+ style: { maxHeight: expanded ? void 0 : COLLAPSED_MAX_PX },
3090
+ children: [
3091
+ markdown,
3092
+ !expanded && overflows && /* @__PURE__ */ jsx(
3093
+ "div",
3094
+ {
3095
+ "aria-hidden": true,
3096
+ className: "pointer-events-none absolute inset-x-0 bottom-0 h-8",
3097
+ style: {
3098
+ background: "linear-gradient(to top, var(--background), transparent)"
3099
+ }
3100
+ }
3101
+ )
3102
+ ]
3103
+ }
3104
+ ),
3105
+ overflows && /* @__PURE__ */ jsx(
3106
+ "button",
3107
+ {
3108
+ type: "button",
3109
+ onClick: () => setExpanded((v) => !v),
3110
+ className: "mt-1 text-xs font-medium text-primary hover:underline",
3111
+ "data-testid": "store-desc-toggle",
3112
+ children: expanded ? "Show less" : "Read more"
3113
+ }
3114
+ )
3115
+ ] });
3116
+ }
3045
3117
  function formatDownloads(count2) {
3046
3118
  if (count2 >= 1e6) return `${(count2 / 1e6).toFixed(1)}M`;
3047
3119
  if (count2 >= 1e3) return `${(count2 / 1e3).toFixed(1)}k`;
@@ -3210,13 +3282,19 @@ function StoreNodeDetail({ node, onBack }) {
3210
3282
  ) }),
3211
3283
  /* @__PURE__ */ jsxs("div", { className: "flex-1 overflow-y-auto px-3 pb-2", children: [
3212
3284
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center text-center py-4", children: [
3213
- /* @__PURE__ */ jsx("div", { className: "size-16 rounded-xl bg-muted flex items-center justify-center overflow-hidden mb-3", children: node.icon ? /* @__PURE__ */ jsx(
3285
+ /* @__PURE__ */ jsx("div", { className: "size-16 rounded-xl bg-muted flex items-center justify-center overflow-hidden mb-3", children: node.icon ? isImageIcon(node.icon) ? /* @__PURE__ */ jsx(
3214
3286
  "img",
3215
3287
  {
3216
3288
  src: node.icon,
3217
3289
  alt: node.name,
3218
3290
  className: "w-full h-full object-cover"
3219
3291
  }
3292
+ ) : /* @__PURE__ */ jsx(
3293
+ Icon,
3294
+ {
3295
+ icon: node.icon,
3296
+ className: "size-8 text-muted-foreground"
3297
+ }
3220
3298
  ) : /* @__PURE__ */ jsx("span", { className: "text-2xl font-bold text-muted-foreground", children: node.name.charAt(0).toUpperCase() }) }),
3221
3299
  /* @__PURE__ */ jsx("h2", { className: "text-base font-semibold text-foreground leading-tight", children: node.name }),
3222
3300
  (node.authorName || node.publisher?.name) && /* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground mt-1 flex items-center gap-1", children: [
@@ -3303,7 +3381,7 @@ function StoreNodeDetail({ node, onBack }) {
3303
3381
  latestVersion
3304
3382
  ] })
3305
3383
  ] }),
3306
- node.description && /* @__PURE__ */ jsx("p", { className: "text-sm text-foreground/80 leading-relaxed mb-4", children: node.description }),
3384
+ node.description && /* @__PURE__ */ jsx(StoreNodeDescription, { text: node.description }),
3307
3385
  (isInstalled || isPrebuilt) && /* @__PURE__ */ jsx("div", { className: "mb-4 -mx-3 rounded-lg border border-border/50", children: /* @__PURE__ */ jsx(StoreNodeOperations, { nodeType }) }),
3308
3386
  node.publisher && /* @__PURE__ */ jsxs("div", { className: "mb-4 p-2.5 rounded-lg bg-muted/50 flex items-center gap-2", children: [
3309
3387
  /* @__PURE__ */ jsx("div", { className: "size-6 rounded bg-muted flex items-center justify-center shrink-0", children: /* @__PURE__ */ jsx("span", { className: "text-xs font-bold text-muted-foreground", children: node.publisher.name.charAt(0) }) }),
@@ -4211,7 +4289,7 @@ function DesktopSidebarFragment({
4211
4289
  if (nodes) {
4212
4290
  const requiredNodeTypes = [];
4213
4291
  try {
4214
- const { NODE_CONFIGS: NODE_CONFIGS3, ensureNodeConfigsLoaded: ensureNodeConfigsLoaded2 } = await import('./blocks-HIWIS6OD.js');
4292
+ const { NODE_CONFIGS: NODE_CONFIGS3, ensureNodeConfigsLoaded: ensureNodeConfigsLoaded2 } = await import('./blocks-MP4MLAOE.js');
4215
4293
  await ensureNodeConfigsLoaded2().catch(() => {
4216
4294
  });
4217
4295
  const workflowNodeTypes = [
@@ -10915,7 +10993,14 @@ function NodeList({ nodes, onNodeAdd }) {
10915
10993
  disabled: !node.__enabled,
10916
10994
  className: "flex items-center rounded-xl bg-transparent p-1 transition disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-20 active:bg-card-foreground/10 hover:bg-card-foreground/10",
10917
10995
  children: [
10918
- /* @__PURE__ */ jsx("div", { className: "size-7 flex shrink-0 items-center justify-center border border-card-foreground/10 rounded-lg bg-card", children: /* @__PURE__ */ jsx(Icon, { icon: node.icon, className: "size-4 text-card-foreground" }) }),
10996
+ /* @__PURE__ */ jsx("div", { className: "size-7 flex shrink-0 items-center justify-center border border-card-foreground/10 rounded-lg bg-card", children: /* @__PURE__ */ jsx(
10997
+ NodeTypeIcon,
10998
+ {
10999
+ icon: node.icon,
11000
+ alt: node.title,
11001
+ className: "size-4 text-card-foreground"
11002
+ }
11003
+ ) }),
10919
11004
  /* @__PURE__ */ jsx("div", { className: "ml-2 text-sm text-card-foreground/80", children: node.title })
10920
11005
  ]
10921
11006
  },
@@ -13727,7 +13812,7 @@ function QuickConfigPanelInner({
13727
13812
  color: accent,
13728
13813
  border: `1px solid color-mix(in srgb, ${accent} 26%, transparent)`
13729
13814
  },
13730
- children: /* @__PURE__ */ jsx(Icon, { icon: meta.icon, className: "size-4" })
13815
+ children: /* @__PURE__ */ jsx(NodeTypeIcon, { icon: meta.icon, className: "size-4" })
13731
13816
  }
13732
13817
  ),
13733
13818
  /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
@@ -14822,7 +14907,7 @@ function WorkflowItem({
14822
14907
  };
14823
14908
  const requiredNodeTypes = [];
14824
14909
  try {
14825
- const { NODE_CONFIGS: NODE_CONFIGS3, ensureNodeConfigsLoaded: ensureNodeConfigsLoaded2 } = await import('./blocks-HIWIS6OD.js');
14910
+ const { NODE_CONFIGS: NODE_CONFIGS3, ensureNodeConfigsLoaded: ensureNodeConfigsLoaded2 } = await import('./blocks-MP4MLAOE.js');
14826
14911
  await ensureNodeConfigsLoaded2().catch(() => {
14827
14912
  });
14828
14913
  const workflowNodeTypes = [
@@ -15120,5 +15205,5 @@ function WorkflowBuilder() {
15120
15205
  }
15121
15206
 
15122
15207
  export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, FlowBuilderPage, FluidGridsProvider, TemplateCard, WorkflowBuilder, useFluidGridsContext, useImportWorkflowTemplate, useWorkflowTemplates };
15123
- //# sourceMappingURL=chunk-6I77TPCY.js.map
15124
- //# sourceMappingURL=chunk-6I77TPCY.js.map
15208
+ //# sourceMappingURL=chunk-DEPCFHNN.js.map
15209
+ //# sourceMappingURL=chunk-DEPCFHNN.js.map