@digilogiclabs/saas-factory-ui 1.29.1 → 1.29.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/index.js CHANGED
@@ -36444,6 +36444,19 @@ var DEFAULT_LAYOUT = {
36444
36444
  detailMaxW: 320
36445
36445
  };
36446
36446
  var STYLE_ID4 = "dll-flow-tree-styles";
36447
+ function FlowTreeStyles() {
36448
+ const reactHostingProps = {
36449
+ href: STYLE_ID4,
36450
+ precedence: "default"
36451
+ };
36452
+ return /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
36453
+ "style",
36454
+ {
36455
+ ...reactHostingProps,
36456
+ dangerouslySetInnerHTML: { __html: FLOW_TREE_CSS }
36457
+ }
36458
+ );
36459
+ }
36447
36460
  function ensureStylesInjected4() {
36448
36461
  if (typeof document === "undefined") return;
36449
36462
  if (document.getElementById(STYLE_ID4)) return;
@@ -37035,162 +37048,165 @@ function FlowTree({
37035
37048
  placed.push({ x: ox, y: oy, w: detailW, h: detailH });
37036
37049
  return { n, ox, oy, detailW, detailH };
37037
37050
  });
37038
- return /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("div", { className: `ft-shell ${className}`, style, children: [
37039
- showHeader ? /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("header", { className: "ft-header", children: [
37040
- eyebrow ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { className: "ft-header__eyebrow", children: eyebrow }) : null,
37041
- title ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("h2", { className: "ft-header__title", children: title }) : null,
37042
- tagline ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("p", { className: "ft-header__tagline", children: tagline }) : null
37043
- ] }) : null,
37044
- /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("div", { className: "ft-stage", ref: containerRef, children: [
37045
- !hideControls ? /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("div", { className: "ft-controls", children: [
37046
- /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
37047
- "button",
37048
- {
37049
- type: "button",
37050
- onClick: () => {
37051
- userInteractedRef.current = true;
37052
- setZoom((z) => Math.min(2, z + 0.1));
37053
- },
37054
- "aria-label": "Zoom in",
37055
- children: "+"
37056
- }
37057
- ),
37058
- /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
37059
- "button",
37060
- {
37061
- type: "button",
37062
- onClick: () => {
37063
- userInteractedRef.current = true;
37064
- setZoom((z) => Math.max(0.35, z - 0.1));
37065
- },
37066
- "aria-label": "Zoom out",
37067
- children: "\u2212"
37068
- }
37069
- ),
37070
- /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
37071
- "button",
37051
+ return /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(import_jsx_runtime120.Fragment, { children: [
37052
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(FlowTreeStyles, {}),
37053
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("div", { className: `ft-shell ${className}`, style, children: [
37054
+ showHeader ? /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("header", { className: "ft-header", children: [
37055
+ eyebrow ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { className: "ft-header__eyebrow", children: eyebrow }) : null,
37056
+ title ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("h2", { className: "ft-header__title", children: title }) : null,
37057
+ tagline ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("p", { className: "ft-header__tagline", children: tagline }) : null
37058
+ ] }) : null,
37059
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("div", { className: "ft-stage", ref: containerRef, children: [
37060
+ !hideControls ? /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)("div", { className: "ft-controls", children: [
37061
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
37062
+ "button",
37063
+ {
37064
+ type: "button",
37065
+ onClick: () => {
37066
+ userInteractedRef.current = true;
37067
+ setZoom((z) => Math.min(2, z + 0.1));
37068
+ },
37069
+ "aria-label": "Zoom in",
37070
+ children: "+"
37071
+ }
37072
+ ),
37073
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
37074
+ "button",
37075
+ {
37076
+ type: "button",
37077
+ onClick: () => {
37078
+ userInteractedRef.current = true;
37079
+ setZoom((z) => Math.max(0.35, z - 0.1));
37080
+ },
37081
+ "aria-label": "Zoom out",
37082
+ children: "\u2212"
37083
+ }
37084
+ ),
37085
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
37086
+ "button",
37087
+ {
37088
+ type: "button",
37089
+ className: "ft-controls__reset",
37090
+ onClick: resetView,
37091
+ children: "Fit"
37092
+ }
37093
+ ),
37094
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("span", { className: "ft-controls__hint", children: "drag to pan \xB7 \u2318/ctrl + scroll to zoom" })
37095
+ ] }) : null,
37096
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
37097
+ "svg",
37072
37098
  {
37073
- type: "button",
37074
- className: "ft-controls__reset",
37075
- onClick: resetView,
37076
- children: "Fit"
37099
+ className: "ft-svg",
37100
+ width: "100%",
37101
+ height: "100%",
37102
+ onPointerDown,
37103
+ onPointerMove,
37104
+ onPointerUp,
37105
+ onPointerCancel: onPointerUp,
37106
+ onWheel,
37107
+ children: [
37108
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
37109
+ "pattern",
37110
+ {
37111
+ id: "ft-dots",
37112
+ width: "18",
37113
+ height: "18",
37114
+ patternUnits: "userSpaceOnUse",
37115
+ children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("circle", { cx: "1", cy: "1", r: "0.7", fill: "var(--ft-grid-strong)" })
37116
+ }
37117
+ ) }),
37118
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
37119
+ "rect",
37120
+ {
37121
+ x: "0",
37122
+ y: "0",
37123
+ width: "100%",
37124
+ height: "100%",
37125
+ fill: "url(#ft-dots)",
37126
+ opacity: "0.45"
37127
+ }
37128
+ ),
37129
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
37130
+ "g",
37131
+ {
37132
+ transform: `translate(${pan.x}, ${pan.y}) scale(${zoom})`,
37133
+ style: {
37134
+ transition: dragRef.current ? "none" : "transform 380ms cubic-bezier(.2,.8,.2,1)"
37135
+ },
37136
+ children: [
37137
+ edgePaths.map(
37138
+ (e) => !e.onPath ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("path", { d: e.d, className: "ft-edge ft-edge--off" }, e.id) : null
37139
+ ),
37140
+ edgePaths.map(
37141
+ (e) => e.onPath ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("path", { d: e.d, className: "ft-edge ft-edge--on" }, e.id) : null
37142
+ ),
37143
+ nodes.map((n) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
37144
+ FlowCard,
37145
+ {
37146
+ n,
37147
+ colors,
37148
+ renderIcon,
37149
+ resolveHref,
37150
+ opts,
37151
+ onActivate: activate,
37152
+ onToggleDetail: toggleDetail,
37153
+ onOpen: onNodeOpen
37154
+ },
37155
+ n.pathId
37156
+ )),
37157
+ detailItems.map(({ n, ox, oy, detailW, detailH }) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
37158
+ "g",
37159
+ {
37160
+ transform: `translate(${ox}, ${oy})`,
37161
+ children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
37162
+ "foreignObject",
37163
+ {
37164
+ x: 0,
37165
+ y: 0,
37166
+ width: detailW + 8,
37167
+ height: detailH + 40,
37168
+ style: { overflow: "visible" },
37169
+ children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
37170
+ DetailPop,
37171
+ {
37172
+ node: n.data,
37173
+ resolveHref,
37174
+ onClose: () => closeDetail(n.data.id)
37175
+ }
37176
+ )
37177
+ }
37178
+ )
37179
+ },
37180
+ `detail-${n.pathId}`
37181
+ ))
37182
+ ]
37183
+ }
37184
+ )
37185
+ ]
37077
37186
  }
37078
37187
  ),
37079
- /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("span", { className: "ft-controls__hint", children: "drag to pan \xB7 \u2318/ctrl + scroll to zoom" })
37080
- ] }) : null,
37081
- /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
37082
- "svg",
37083
- {
37084
- className: "ft-svg",
37085
- width: "100%",
37086
- height: "100%",
37087
- onPointerDown,
37088
- onPointerMove,
37089
- onPointerUp,
37090
- onPointerCancel: onPointerUp,
37091
- onWheel,
37092
- children: [
37093
- /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
37094
- "pattern",
37095
- {
37096
- id: "ft-dots",
37097
- width: "18",
37098
- height: "18",
37099
- patternUnits: "userSpaceOnUse",
37100
- children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("circle", { cx: "1", cy: "1", r: "0.7", fill: "var(--ft-grid-strong)" })
37101
- }
37102
- ) }),
37103
- /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
37104
- "rect",
37105
- {
37106
- x: "0",
37107
- y: "0",
37108
- width: "100%",
37109
- height: "100%",
37110
- fill: "url(#ft-dots)",
37111
- opacity: "0.45"
37112
- }
37113
- ),
37188
+ !hideLegend ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { className: "ft-legend ft-mono", children: focusedPath.map((id, i) => {
37189
+ const n = nodeById[id];
37190
+ const isLast = i === focusedPath.length - 1;
37191
+ return /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(React87.Fragment, { children: [
37114
37192
  /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
37115
- "g",
37193
+ "button",
37116
37194
  {
37117
- transform: `translate(${pan.x}, ${pan.y}) scale(${zoom})`,
37118
- style: {
37119
- transition: dragRef.current ? "none" : "transform 380ms cubic-bezier(.2,.8,.2,1)"
37120
- },
37195
+ type: "button",
37196
+ className: "ft-legend__chip",
37197
+ onClick: () => focusPathPrefix(i + 1),
37198
+ disabled: isLast,
37199
+ title: isLast ? "Current focus" : `Jump back to ${n ? n.data.label : id}`,
37121
37200
  children: [
37122
- edgePaths.map(
37123
- (e) => !e.onPath ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("path", { d: e.d, className: "ft-edge ft-edge--off" }, e.id) : null
37124
- ),
37125
- edgePaths.map(
37126
- (e) => e.onPath ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("path", { d: e.d, className: "ft-edge ft-edge--on" }, e.id) : null
37127
- ),
37128
- nodes.map((n) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
37129
- FlowCard,
37130
- {
37131
- n,
37132
- colors,
37133
- renderIcon,
37134
- resolveHref,
37135
- opts,
37136
- onActivate: activate,
37137
- onToggleDetail: toggleDetail,
37138
- onOpen: onNodeOpen
37139
- },
37140
- n.pathId
37141
- )),
37142
- detailItems.map(({ n, ox, oy, detailW, detailH }) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
37143
- "g",
37144
- {
37145
- transform: `translate(${ox}, ${oy})`,
37146
- children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
37147
- "foreignObject",
37148
- {
37149
- x: 0,
37150
- y: 0,
37151
- width: detailW + 8,
37152
- height: detailH + 40,
37153
- style: { overflow: "visible" },
37154
- children: /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
37155
- DetailPop,
37156
- {
37157
- node: n.data,
37158
- resolveHref,
37159
- onClose: () => closeDetail(n.data.id)
37160
- }
37161
- )
37162
- }
37163
- )
37164
- },
37165
- `detail-${n.pathId}`
37166
- ))
37201
+ /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("span", { className: "ft-legend__dot" }),
37202
+ n ? n.data.label : id
37167
37203
  ]
37168
37204
  }
37169
- )
37170
- ]
37171
- }
37172
- ),
37173
- !hideLegend ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { className: "ft-legend ft-mono", children: focusedPath.map((id, i) => {
37174
- const n = nodeById[id];
37175
- const isLast = i === focusedPath.length - 1;
37176
- return /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(React87.Fragment, { children: [
37177
- /* @__PURE__ */ (0, import_jsx_runtime120.jsxs)(
37178
- "button",
37179
- {
37180
- type: "button",
37181
- className: "ft-legend__chip",
37182
- onClick: () => focusPathPrefix(i + 1),
37183
- disabled: isLast,
37184
- title: isLast ? "Current focus" : `Jump back to ${n ? n.data.label : id}`,
37185
- children: [
37186
- /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("span", { className: "ft-legend__dot" }),
37187
- n ? n.data.label : id
37188
- ]
37189
- }
37190
- ),
37191
- !isLast ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("span", { className: "ft-legend__sep", "aria-hidden": true, children: "\u203A" }) : null
37192
- ] }, id);
37193
- }) }) : null
37205
+ ),
37206
+ !isLast ? /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("span", { className: "ft-legend__sep", "aria-hidden": true, children: "\u203A" }) : null
37207
+ ] }, id);
37208
+ }) }) : null
37209
+ ] })
37194
37210
  ] })
37195
37211
  ] });
37196
37212
  }