backflow-ui-renderer 0.1.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.
Files changed (41) hide show
  1. package/dist/index.cjs +144 -0
  2. package/dist/index.d.ts +12 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +6123 -0
  5. package/dist/renderer/complex-components.d.ts +8 -0
  6. package/dist/renderer/complex-components.d.ts.map +1 -0
  7. package/dist/renderer/components.d.ts +25 -0
  8. package/dist/renderer/components.d.ts.map +1 -0
  9. package/dist/renderer/config.d.ts +19 -0
  10. package/dist/renderer/config.d.ts.map +1 -0
  11. package/dist/renderer/grid.d.ts +16 -0
  12. package/dist/renderer/grid.d.ts.map +1 -0
  13. package/dist/renderer/icons.d.ts +4 -0
  14. package/dist/renderer/icons.d.ts.map +1 -0
  15. package/dist/renderer/index.d.ts +10 -0
  16. package/dist/renderer/index.d.ts.map +1 -0
  17. package/dist/renderer/layout-components.d.ts +34 -0
  18. package/dist/renderer/layout-components.d.ts.map +1 -0
  19. package/dist/renderer/navigation.d.ts +2 -0
  20. package/dist/renderer/navigation.d.ts.map +1 -0
  21. package/dist/renderer/render-api.d.ts +53 -0
  22. package/dist/renderer/render-api.d.ts.map +1 -0
  23. package/dist/renderer/render-component.d.ts +5 -0
  24. package/dist/renderer/render-component.d.ts.map +1 -0
  25. package/dist/renderer/responsive-engine.d.ts +58 -0
  26. package/dist/renderer/responsive-engine.d.ts.map +1 -0
  27. package/dist/renderer/routing.d.ts +8 -0
  28. package/dist/renderer/routing.d.ts.map +1 -0
  29. package/dist/renderer/sdk-executor.d.ts +25 -0
  30. package/dist/renderer/sdk-executor.d.ts.map +1 -0
  31. package/dist/renderer/style-sheet.d.ts +4 -0
  32. package/dist/renderer/style-sheet.d.ts.map +1 -0
  33. package/dist/renderer/tailwind-parser.d.ts +16 -0
  34. package/dist/renderer/tailwind-parser.d.ts.map +1 -0
  35. package/dist/renderer/types.d.ts +382 -0
  36. package/dist/renderer/types.d.ts.map +1 -0
  37. package/dist/renderer/ui-overlays.d.ts +18 -0
  38. package/dist/renderer/ui-overlays.d.ts.map +1 -0
  39. package/dist/standalone.d.ts +14 -0
  40. package/dist/standalone.d.ts.map +1 -0
  41. package/package.json +41 -0
@@ -0,0 +1,382 @@
1
+ import { BackflowSDK } from '@backflow.sdk/admin';
2
+ export interface WorkflowComponent {
3
+ type: "text" | "link" | "button" | "image" | "input" | "hidden" | "select" | "checkbox" | "card" | "section" | "grid" | "hero" | "footer" | "list" | "table" | "spacer" | "divider" | "container" | "badge" | "avatar" | "progress" | "tabs" | "accordion" | "search" | "breadcrumb" | "tag" | "form" | "textarea" | "icon" | "phaser_game";
4
+ label?: string;
5
+ fields?: Array<{
6
+ label?: string;
7
+ type?: string;
8
+ name?: string;
9
+ placeholder?: string;
10
+ required?: boolean;
11
+ rows?: number;
12
+ className?: string;
13
+ options?: Array<string | {
14
+ value: string;
15
+ label: string;
16
+ }>;
17
+ validation?: {
18
+ type?: string;
19
+ message?: string;
20
+ };
21
+ }>;
22
+ submitButton?: {
23
+ text?: string;
24
+ type?: string;
25
+ className?: string;
26
+ };
27
+ className?: string;
28
+ w?: string | number;
29
+ h?: string | number;
30
+ flex?: number;
31
+ alignSelf?: "start" | "center" | "end" | "stretch";
32
+ text?: string;
33
+ fontSize?: number;
34
+ color?: string;
35
+ fontWeight?: string;
36
+ textAlign?: "left" | "center" | "right";
37
+ onClick?: string;
38
+ href?: string;
39
+ src?: string;
40
+ width?: number;
41
+ height?: number;
42
+ borderRadius?: string | number;
43
+ alt?: string;
44
+ name?: string;
45
+ placeholder?: string;
46
+ value?: any;
47
+ onChange?: string;
48
+ options?: Array<{
49
+ label: string;
50
+ value: string;
51
+ }>;
52
+ required?: boolean;
53
+ inputType?: string;
54
+ dataSource?: string;
55
+ columns?: Array<{
56
+ key: string;
57
+ label: string;
58
+ }>;
59
+ renderItem?: WorkflowComponent;
60
+ pagination?: boolean;
61
+ pageSize?: number;
62
+ children?: WorkflowComponent[];
63
+ padding?: number;
64
+ bg?: string;
65
+ gap?: number;
66
+ layout?: string;
67
+ align?: string;
68
+ justify?: string;
69
+ cols?: number;
70
+ variant?: "solid" | "outline" | "subtle";
71
+ colorScheme?: string;
72
+ initials?: string;
73
+ size?: "sm" | "md" | "lg" | "xl" | number;
74
+ progressValue?: number;
75
+ progressMax?: number;
76
+ progressLabel?: string;
77
+ tabItems?: Array<{
78
+ label: string;
79
+ content: WorkflowComponent[];
80
+ children?: WorkflowComponent[];
81
+ }>;
82
+ defaultTab?: number;
83
+ accordionItems?: Array<{
84
+ title: string;
85
+ content: WorkflowComponent[];
86
+ children?: WorkflowComponent[];
87
+ defaultOpen?: boolean;
88
+ }>;
89
+ breadcrumbItems?: Array<{
90
+ label: string;
91
+ href?: string;
92
+ onClick?: string;
93
+ }>;
94
+ icon?: string;
95
+ onSearch?: string;
96
+ fieldType?: "text" | "dropdown" | "multiselect" | "image" | "image-grid";
97
+ fieldPlaceholder?: string;
98
+ fieldSpan?: number;
99
+ content?: string;
100
+ background?: string;
101
+ borderColor?: string;
102
+ scale?: number;
103
+ spacing?: number;
104
+ alignment?: "left" | "center" | "right";
105
+ bgImage?: string;
106
+ textDecoration?: string;
107
+ fontStyle?: string;
108
+ confirmation?: {
109
+ enabled: boolean;
110
+ message: string;
111
+ };
112
+ onSuccess?: {
113
+ type: "none" | "modal" | "toast" | "navigate" | "redirect" | "route";
114
+ value?: string;
115
+ title?: string;
116
+ };
117
+ onError?: {
118
+ type: "toast";
119
+ message?: string;
120
+ };
121
+ routeParams?: {
122
+ source?: string;
123
+ formId?: string;
124
+ };
125
+ borderWidth?: number;
126
+ borderStyle?: string;
127
+ componentClass?: string;
128
+ }
129
+ export interface SceneEvent {
130
+ action?: string;
131
+ params?: {
132
+ source?: "none" | "form" | "custom";
133
+ formId?: string;
134
+ custom?: Record<string, unknown>;
135
+ };
136
+ onSuccess?: {
137
+ type: "none" | "toast" | "modal" | "navigate" | "redirect" | "route";
138
+ value?: string;
139
+ title?: string;
140
+ };
141
+ onError?: {
142
+ type: "toast";
143
+ message?: string;
144
+ };
145
+ }
146
+ export interface SceneEvents {
147
+ onLoad?: SceneEvent;
148
+ onLeave?: SceneEvent & {
149
+ confirmation?: {
150
+ enabled: boolean;
151
+ message: string;
152
+ };
153
+ };
154
+ onVisibilityChange?: {
155
+ onHidden?: SceneEvent;
156
+ onVisible?: SceneEvent;
157
+ };
158
+ }
159
+ export interface SceneConfig {
160
+ sceneName: string;
161
+ backgroundColor?: string;
162
+ components: WorkflowComponent[];
163
+ layout?: "vstack" | "hstack" | "grid" | "flex";
164
+ align?: "start" | "center" | "end" | "stretch";
165
+ justify?: "start" | "center" | "end" | "space-between" | "space-around";
166
+ spacing?: number;
167
+ padding?: number;
168
+ className?: string;
169
+ events?: SceneEvents;
170
+ requireAuth?: boolean;
171
+ authRedirect?: string;
172
+ conditionalTransition?: {
173
+ when: string;
174
+ goto: string;
175
+ };
176
+ sceneData?: Record<string, any>;
177
+ }
178
+ export interface WorkflowStep {
179
+ id: string;
180
+ type: string;
181
+ config: SceneConfig;
182
+ route?: string;
183
+ }
184
+ export interface NavigationItem {
185
+ label: string;
186
+ icon?: string;
187
+ sceneId: string;
188
+ badge?: string;
189
+ children?: NavigationItem[];
190
+ defaultOpen?: boolean;
191
+ iconOnly?: boolean;
192
+ }
193
+ export interface NavigationStyle {
194
+ backgroundColor?: string;
195
+ activeColor?: string;
196
+ inactiveColor?: string;
197
+ borderColor?: string;
198
+ transparent?: boolean;
199
+ sticky?: boolean;
200
+ scrollBg?: string;
201
+ activeIndicator?: "underline" | "pill" | "bold" | "none";
202
+ }
203
+ export interface RoutingConfig {
204
+ mode?: "hash" | "history" | "memory";
205
+ basePath?: string;
206
+ }
207
+ export interface NavigationConfig {
208
+ type: "bottomTabs" | "topNav" | "sidebar" | "drawer";
209
+ items: NavigationItem[];
210
+ style?: NavigationStyle;
211
+ title?: string;
212
+ logo?: string;
213
+ routing?: RoutingConfig;
214
+ layout?: string[];
215
+ viewport?: "mobile" | "desktop";
216
+ }
217
+ export interface ModalAction {
218
+ label: string;
219
+ variant?: "primary" | "secondary" | "ghost" | "danger";
220
+ dismiss?: boolean;
221
+ onClick?: string;
222
+ onSuccess?: {
223
+ type: "toast" | "navigate" | "redirect" | "modal";
224
+ value?: string;
225
+ message?: string;
226
+ };
227
+ onError?: {
228
+ type: "toast";
229
+ message?: string;
230
+ };
231
+ }
232
+ export interface ModalDefinition {
233
+ title?: string;
234
+ icon?: string;
235
+ size?: "sm" | "md" | "lg" | "full";
236
+ style?: {
237
+ backgroundColor?: string;
238
+ borderColor?: string;
239
+ overlayColor?: string;
240
+ borderRadius?: string;
241
+ };
242
+ components?: WorkflowComponent[];
243
+ actions?: ModalAction[];
244
+ }
245
+ export interface WidgetDefinition {
246
+ id: string;
247
+ sceneIds: string[] | "*";
248
+ index?: number;
249
+ components: WorkflowComponent[];
250
+ }
251
+ export interface Workflow {
252
+ title?: string;
253
+ steps: WorkflowStep[];
254
+ className?: string;
255
+ navigation?: NavigationConfig;
256
+ modals?: Record<string, ModalDefinition>;
257
+ config?: RendererConfig;
258
+ layout?: {
259
+ header?: WorkflowComponent[];
260
+ footer?: WorkflowComponent[];
261
+ };
262
+ widgets?: WidgetDefinition[];
263
+ }
264
+ export interface StyleOverride {
265
+ size?: number;
266
+ spacing?: number;
267
+ alignment?: "left" | "center" | "right";
268
+ color?: string;
269
+ gridCols?: number;
270
+ gridGap?: number;
271
+ flexDirection?: "row" | "column";
272
+ flexGap?: number;
273
+ buttonBackground?: string;
274
+ buttonTextColor?: string;
275
+ buttonBorderRadius?: number;
276
+ linkColor?: string;
277
+ linkTextDecoration?: "none" | "underline" | "line-through";
278
+ }
279
+ export interface AppTheme {
280
+ primaryColor?: string;
281
+ accentColor?: string;
282
+ colorMode?: "dark" | "light";
283
+ }
284
+ export interface RendererColors {
285
+ primary: string;
286
+ accent: string;
287
+ background: string;
288
+ surface: string;
289
+ surfaceHover: string;
290
+ border: string;
291
+ borderSubtle: string;
292
+ text: string;
293
+ textSecondary: string;
294
+ textMuted: string;
295
+ textPlaceholder: string;
296
+ danger: string;
297
+ success: string;
298
+ warning: string;
299
+ info: string;
300
+ }
301
+ export interface RendererTypography {
302
+ fontFamily: string;
303
+ headingFontFamily: string;
304
+ baseFontSize: string;
305
+ headingFontSize: string;
306
+ lineHeight: number;
307
+ }
308
+ export interface RendererLayout {
309
+ borderRadius: string;
310
+ borderRadiusLg: string;
311
+ borderRadiusSm: string;
312
+ spacing: string;
313
+ cardPadding: string;
314
+ sectionGap: string;
315
+ containerMaxWidth: string;
316
+ }
317
+ export interface RendererEffects {
318
+ shadow: string;
319
+ shadowLg: string;
320
+ transition: string;
321
+ hoverOpacity: number;
322
+ }
323
+ export interface RendererComponentDefaults {
324
+ buttonStyle: "solid" | "outline" | "ghost";
325
+ buttonRadius: string;
326
+ inputStyle: "outline" | "filled" | "flush";
327
+ inputRadius: string;
328
+ cardBorder: boolean;
329
+ cardShadow: boolean;
330
+ }
331
+ export interface RendererConfig {
332
+ colorMode?: "dark" | "light";
333
+ colors?: Partial<RendererColors>;
334
+ typography?: Partial<RendererTypography>;
335
+ layout?: Partial<RendererLayout>;
336
+ effects?: Partial<RendererEffects>;
337
+ components?: Partial<RendererComponentDefaults>;
338
+ }
339
+ export interface ResolvedConfig {
340
+ colorMode: "dark" | "light";
341
+ colors: RendererColors;
342
+ typography: RendererTypography;
343
+ layout: RendererLayout;
344
+ effects: RendererEffects;
345
+ components: RendererComponentDefaults;
346
+ }
347
+ export interface ImageReplacement {
348
+ url: string;
349
+ name: string;
350
+ }
351
+ export type RenderMode = "legacy" | "css-driven";
352
+ export interface WorkflowRendererProps {
353
+ workflow: Workflow;
354
+ sdk?: BackflowSDK;
355
+ onRouteExecute?: (routePath: string) => void;
356
+ selectedComponentKey?: string | null;
357
+ selectedComponentClass?: string | null;
358
+ styleOverrides?: StyleOverride;
359
+ interactionDisabled?: boolean;
360
+ theme?: AppTheme;
361
+ config?: RendererConfig;
362
+ imageReplacements?: Map<string, ImageReplacement>;
363
+ currentSceneId?: string | null;
364
+ onSceneChange?: (sceneId: string) => void;
365
+ onGenerateScene?: () => void;
366
+ enableRouting?: boolean;
367
+ previewElement?: "toast" | "modal" | null;
368
+ tenantId?: string;
369
+ renderPhaserGame?: (comp: any, componentKey: string) => React.ReactNode;
370
+ renderMode?: RenderMode;
371
+ }
372
+ export interface WorkflowRendererState {
373
+ currentSceneId: string;
374
+ sceneData: Record<string, any>;
375
+ }
376
+ export interface PaginationState {
377
+ page: number;
378
+ limit: number;
379
+ total: number;
380
+ hasMore: boolean;
381
+ }
382
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/renderer/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { default as React } from 'react';
2
+ import { ResolvedConfig, ModalDefinition } from './types';
3
+ import { RenderAPI } from './render-api';
4
+ export declare const BASE_RESET_STYLES: React.CSSProperties;
5
+ export declare function buildScopedCssReset(scopeId: string): string;
6
+ export declare function renderSceneNotFound(cfg: ResolvedConfig, sceneHistoryLength: number, goBack: () => void, onGenerateScene?: () => void): React.ReactElement;
7
+ export declare function renderPreviewToast(): React.ReactElement;
8
+ export declare function renderPreviewModal(cfg: ResolvedConfig): React.ReactElement;
9
+ export declare function renderToast(toast: {
10
+ message: string | string[];
11
+ type: "success" | "error";
12
+ } | null): React.ReactElement | null;
13
+ export declare function renderModalOverlay(activeModal: {
14
+ id: string;
15
+ definition: ModalDefinition;
16
+ legacyOnConfirm?: () => void;
17
+ } | null, cfg: ResolvedConfig, api: RenderAPI, sceneBackgroundColor?: string): React.ReactElement | null;
18
+ //# sourceMappingURL=ui-overlays.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-overlays.d.ts","sourceRoot":"","sources":["../../src/renderer/ui-overlays.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAe,eAAe,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,aAOrC,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA4E3D;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,cAAc,EACnB,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,MAAM,IAAI,EAClB,eAAe,CAAC,EAAE,MAAM,IAAI,GAC3B,KAAK,CAAC,YAAY,CAyDpB;AAED,wBAAgB,kBAAkB,IAAI,KAAK,CAAC,YAAY,CAuBvD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CAiC1E;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAA;CAAE,GAAG,IAAI,GACtE,KAAK,CAAC,YAAY,GAAG,IAAI,CA+C3B;AAED,wBAAgB,kBAAkB,CAChC,WAAW,EAAE;IACX,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,eAAe,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B,GAAG,IAAI,EACR,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,SAAS,EACd,oBAAoB,CAAC,EAAE,MAAM,GAC5B,KAAK,CAAC,YAAY,GAAG,IAAI,CA+G3B"}
@@ -0,0 +1,14 @@
1
+ import { Workflow } from './renderer/types';
2
+ export interface StandaloneOptions {
3
+ primaryColor?: string;
4
+ colorMode?: "dark" | "light";
5
+ sdkEndpoint?: string;
6
+ apiKey?: string;
7
+ }
8
+ /**
9
+ * Generate a standalone HTML page that renders the workflow
10
+ * using inline React UMD bundles and the workflow JSON.
11
+ * Suitable for download as a self-contained mobile app.
12
+ */
13
+ export declare function generateStandaloneHTML(workflow: Workflow, appName: string, options?: StandaloneOptions): string;
14
+ //# sourceMappingURL=standalone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,iBAAsB,GAC9B,MAAM,CA6ER"}
package/package.json ADDED
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "backflow-ui-renderer",
3
+ "version": "0.1.0",
4
+ "description": "Standalone React workflow renderer for Backflow",
5
+ "type": "module",
6
+ "main": "./dist/index.cjs",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js",
13
+ "require": "./dist/index.cjs"
14
+ }
15
+ },
16
+ "files": ["dist"],
17
+ "scripts": {
18
+ "dev": "vite build --watch",
19
+ "build": "tsc && vite build",
20
+ "typecheck": "tsc --noEmit"
21
+ },
22
+ "peerDependencies": {
23
+ "react": "^18.0.0",
24
+ "react-dom": "^18.0.0",
25
+ "@backflow.sdk/admin": "^1.0.0"
26
+ },
27
+ "dependencies": {
28
+ "react-icons": "^5.0.1"
29
+ },
30
+ "devDependencies": {
31
+ "@backflow.sdk/admin": "^1.1.3",
32
+ "@types/react": "^18.2.48",
33
+ "@types/react-dom": "^18.2.18",
34
+ "@vitejs/plugin-react": "^4.2.1",
35
+ "react": "^18.2.0",
36
+ "react-dom": "^18.2.0",
37
+ "typescript": "^5.3.3",
38
+ "vite": "^5.0.12",
39
+ "vite-plugin-dts": "^4.0.0"
40
+ }
41
+ }