@teamflojo/floimg-templates 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.
@@ -0,0 +1,296 @@
1
+ /**
2
+ * Utility Templates
3
+ *
4
+ * QR codes, format conversion, and general-purpose utilities.
5
+ * All templates in this category work offline (OSS-compatible).
6
+ */
7
+ /**
8
+ * Branded QR Code
9
+ * Canonical ID: branded-qr
10
+ * Previous Studio ID: website-qr
11
+ */
12
+ export const brandedQR = {
13
+ id: "branded-qr",
14
+ name: "Branded QR Code",
15
+ description: "QR code with custom colors and styling to match your brand",
16
+ category: "Utilities",
17
+ generator: "qr",
18
+ tags: ["qr", "branded", "link", "custom", "url"],
19
+ capabilities: {
20
+ studioCompatible: true,
21
+ claudeCodeReady: true,
22
+ },
23
+ icon: "qr",
24
+ preview: {
25
+ imageUrl: "/showcase/qr-codes/qr-brand.png",
26
+ },
27
+ codeExample: `const qr = await floimg.generate({
28
+ generator: 'qr',
29
+ params: {
30
+ data: 'https://floimg.com',
31
+ color: '#0d9488',
32
+ backgroundColor: '#ffffff',
33
+ margin: 2
34
+ }
35
+ });`,
36
+ seo: {
37
+ title: "Branded QR Code Generator",
38
+ description: "Generate QR codes with custom colors to match your brand identity",
39
+ keywords: ["qr code", "branded qr", "custom qr", "marketing"],
40
+ },
41
+ workflow: {
42
+ nodes: [
43
+ {
44
+ id: "gen-1",
45
+ type: "generator",
46
+ position: { x: 100, y: 100 },
47
+ data: {
48
+ generatorName: "qr",
49
+ params: {
50
+ data: "https://floimg.com",
51
+ size: 400,
52
+ margin: 2,
53
+ dark: "#0d9488",
54
+ light: "#ffffff",
55
+ errorCorrectionLevel: "M",
56
+ },
57
+ },
58
+ },
59
+ ],
60
+ edges: [],
61
+ },
62
+ };
63
+ /**
64
+ * Dark Mode QR Code
65
+ * Canonical ID: dark-qr
66
+ */
67
+ export const darkQR = {
68
+ id: "dark-qr",
69
+ name: "Dark Mode QR",
70
+ description: "QR code optimized for dark backgrounds",
71
+ category: "Utilities",
72
+ generator: "qr",
73
+ tags: ["qr", "dark-mode", "link", "inverted"],
74
+ capabilities: {
75
+ studioCompatible: true,
76
+ claudeCodeReady: true,
77
+ },
78
+ icon: "qr",
79
+ preview: {
80
+ imageUrl: "/showcase/qr-codes/qr-dark.png",
81
+ },
82
+ seo: {
83
+ title: "Dark Mode QR Code",
84
+ description: "QR codes optimized for dark backgrounds and dark mode UIs",
85
+ keywords: ["qr code", "dark mode", "inverted qr", "night mode"],
86
+ },
87
+ workflow: {
88
+ nodes: [
89
+ {
90
+ id: "gen-1",
91
+ type: "generator",
92
+ position: { x: 100, y: 100 },
93
+ data: {
94
+ generatorName: "qr",
95
+ params: {
96
+ data: "https://floimg.com",
97
+ size: 400,
98
+ margin: 2,
99
+ dark: "#ffffff",
100
+ light: "#18181b",
101
+ errorCorrectionLevel: "M",
102
+ },
103
+ },
104
+ },
105
+ ],
106
+ edges: [],
107
+ },
108
+ };
109
+ /**
110
+ * WiFi QR Code
111
+ * Canonical ID: wifi-qr
112
+ */
113
+ export const wifiQR = {
114
+ id: "wifi-qr",
115
+ name: "WiFi QR Code",
116
+ description: "Scannable QR code for WiFi network access",
117
+ category: "Utilities",
118
+ generator: "qr",
119
+ tags: ["qr", "wifi", "network", "guest", "access"],
120
+ capabilities: {
121
+ studioCompatible: true,
122
+ claudeCodeReady: true,
123
+ },
124
+ icon: "qr",
125
+ seo: {
126
+ title: "WiFi QR Code Generator",
127
+ description: "Generate scannable QR codes for easy WiFi network access sharing",
128
+ keywords: ["wifi qr", "network access", "guest wifi", "qr code"],
129
+ },
130
+ workflow: {
131
+ nodes: [
132
+ {
133
+ id: "gen-1",
134
+ type: "generator",
135
+ position: { x: 100, y: 100 },
136
+ data: {
137
+ generatorName: "qr",
138
+ params: {
139
+ data: "WIFI:T:WPA;S:GuestNetwork;P:welcome123;;",
140
+ size: 400,
141
+ margin: 2,
142
+ dark: "#059669",
143
+ light: "#ffffff",
144
+ errorCorrectionLevel: "H",
145
+ },
146
+ },
147
+ },
148
+ ],
149
+ edges: [],
150
+ },
151
+ };
152
+ /**
153
+ * Thumbnail Generator
154
+ * Canonical ID: thumbnail-generator
155
+ */
156
+ export const thumbnailGenerator = {
157
+ id: "thumbnail-generator",
158
+ name: "Thumbnail Generator",
159
+ description: "Create multiple thumbnail sizes with automatic optimization",
160
+ category: "Utilities",
161
+ generator: "pipeline",
162
+ tags: ["thumbnail", "resize", "optimize", "batch", "responsive"],
163
+ capabilities: {
164
+ studioCompatible: true,
165
+ claudeCodeReady: true,
166
+ pipeline: true,
167
+ },
168
+ icon: "image",
169
+ preview: {
170
+ imageUrl: "/showcase/pipelines/output/thumb-200.png",
171
+ },
172
+ seo: {
173
+ title: "Thumbnail Generator",
174
+ description: "Generate multiple thumbnail sizes with automatic optimization",
175
+ keywords: ["thumbnail", "image resize", "responsive images", "optimization"],
176
+ },
177
+ workflow: {
178
+ nodes: [
179
+ {
180
+ id: "input-1",
181
+ type: "input",
182
+ position: { x: 100, y: 200 },
183
+ data: {},
184
+ },
185
+ {
186
+ id: "transform-800",
187
+ type: "transform",
188
+ position: { x: 400, y: 100 },
189
+ data: {
190
+ operation: "resize",
191
+ params: {
192
+ width: 800,
193
+ fit: "inside",
194
+ },
195
+ },
196
+ },
197
+ {
198
+ id: "transform-400",
199
+ type: "transform",
200
+ position: { x: 400, y: 200 },
201
+ data: {
202
+ operation: "resize",
203
+ params: {
204
+ width: 400,
205
+ fit: "inside",
206
+ },
207
+ },
208
+ },
209
+ {
210
+ id: "transform-200",
211
+ type: "transform",
212
+ position: { x: 400, y: 300 },
213
+ data: {
214
+ operation: "resize",
215
+ params: {
216
+ width: 200,
217
+ fit: "inside",
218
+ },
219
+ },
220
+ },
221
+ ],
222
+ edges: [
223
+ { id: "e1", source: "input-1", target: "transform-800" },
224
+ { id: "e2", source: "input-1", target: "transform-400" },
225
+ { id: "e3", source: "input-1", target: "transform-200" },
226
+ ],
227
+ },
228
+ };
229
+ /**
230
+ * Diagram to WebP Conversion
231
+ * Canonical ID: diagram-webp
232
+ */
233
+ export const diagramWebp = {
234
+ id: "diagram-webp",
235
+ name: "Diagram to WebP",
236
+ description: "Mermaid diagram converted to optimized WebP format",
237
+ category: "Utilities",
238
+ generator: "mermaid",
239
+ tags: ["mermaid", "webp", "optimize", "pipeline", "conversion"],
240
+ capabilities: {
241
+ studioCompatible: true,
242
+ claudeCodeReady: true,
243
+ pipeline: true,
244
+ },
245
+ icon: "diagram",
246
+ seo: {
247
+ title: "Diagram to WebP Converter",
248
+ description: "Convert Mermaid diagrams to optimized WebP format",
249
+ keywords: ["mermaid diagram", "webp conversion", "image optimization"],
250
+ },
251
+ workflow: {
252
+ nodes: [
253
+ {
254
+ id: "gen-1",
255
+ type: "generator",
256
+ position: { x: 100, y: 100 },
257
+ data: {
258
+ generatorName: "mermaid",
259
+ params: {
260
+ code: `graph LR
261
+ A[Start] --> B{Decision}
262
+ B -->|Yes| C[Action 1]
263
+ B -->|No| D[Action 2]
264
+ C --> E[End]
265
+ D --> E`,
266
+ theme: "neutral",
267
+ },
268
+ },
269
+ },
270
+ {
271
+ id: "transform-1",
272
+ type: "transform",
273
+ position: { x: 400, y: 100 },
274
+ data: {
275
+ operation: "convert",
276
+ params: {
277
+ to: "image/webp",
278
+ quality: 90,
279
+ },
280
+ },
281
+ },
282
+ ],
283
+ edges: [{ id: "e1", source: "gen-1", target: "transform-1" }],
284
+ },
285
+ };
286
+ /**
287
+ * All utility templates
288
+ */
289
+ export const utilityTemplates = [
290
+ brandedQR,
291
+ darkQR,
292
+ wifiQR,
293
+ thumbnailGenerator,
294
+ diagramWebp,
295
+ ];
296
+ //# sourceMappingURL=utilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../src/templates/utilities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Template Types
3
+ *
4
+ * Extended template interface that serves as the single source of truth
5
+ * for template definitions across all FloImg surfaces.
6
+ */
7
+ import type { StudioNode, StudioEdge } from "@teamflojo/floimg-studio-shared";
8
+ /**
9
+ * Template categories organized by USE CASE, not generator type
10
+ */
11
+ export type TemplateCategory = "AI Workflows" | "Data Viz" | "Marketing" | "Utilities";
12
+ /**
13
+ * Extended template interface with full metadata
14
+ *
15
+ * Core fields are required for Studio functionality.
16
+ * Extended fields support marketing, SEO, and access control.
17
+ */
18
+ export interface Template {
19
+ /** Unique identifier - canonical IDs from floimg-web */
20
+ id: string;
21
+ /** Display name (e.g., "Revenue Dashboard") */
22
+ name: string;
23
+ /** Short description for cards and previews */
24
+ description: string;
25
+ /** Category for filtering */
26
+ category: TemplateCategory;
27
+ /** Primary generator used (e.g., "quickchart", "mermaid", "openai") */
28
+ generator: string;
29
+ /** The workflow definition */
30
+ workflow: {
31
+ nodes: StudioNode[];
32
+ edges: StudioEdge[];
33
+ };
34
+ /** Tags for search and filtering */
35
+ tags?: string[];
36
+ /**
37
+ * Requires cloud API access (e.g., OpenAI API keys)
38
+ * AI generation templates need API keys to execute
39
+ */
40
+ requiresCloud?: boolean;
41
+ /**
42
+ * Requires authentication to use
43
+ * Some templates may be viewable but require sign-in
44
+ */
45
+ requiresAuth?: boolean;
46
+ /** Preview image for cards and detail pages */
47
+ preview?: {
48
+ /** URL path (e.g., "/showcase/data-viz/revenue.png") */
49
+ imageUrl: string;
50
+ /** Optional dimensions for layout optimization */
51
+ width?: number;
52
+ height?: number;
53
+ };
54
+ /** Capabilities badges for marketing */
55
+ capabilities?: {
56
+ /** Works with Claude Code CLI */
57
+ claudeCodeReady?: boolean;
58
+ /** Works in Studio visual editor */
59
+ studioCompatible?: boolean;
60
+ /** Multi-step pipeline workflow */
61
+ pipeline?: boolean;
62
+ };
63
+ /** Code example for SDK users */
64
+ codeExample?: string;
65
+ /** SEO metadata for detail pages */
66
+ seo?: {
67
+ title: string;
68
+ description: string;
69
+ keywords: string[];
70
+ };
71
+ /** Whether this template uses AI generation (not just transforms) */
72
+ usesAI?: boolean;
73
+ /** Estimated AI credits consumed (0 for transform-only) */
74
+ aiCreditsNeeded?: number;
75
+ /** Short value proposition for onboarding display */
76
+ valueProp?: string;
77
+ /** Icon identifier for template cards */
78
+ icon?: "sparkles" | "image" | "share" | "chart" | "diagram" | "qr";
79
+ }
80
+ /**
81
+ * Backwards-compatible alias for GalleryTemplate
82
+ * @deprecated Use Template instead
83
+ */
84
+ export type GalleryTemplate = Template;
85
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAE9E;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,cAAc,GACd,UAAU,GACV,WAAW,GACX,WAAW,CAAC;AAEhB;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IAKvB,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IAEX,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IAEb,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IAEpB,6BAA6B;IAC7B,QAAQ,EAAE,gBAAgB,CAAC;IAE3B,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAElB,8BAA8B;IAC9B,QAAQ,EAAE;QACR,KAAK,EAAE,UAAU,EAAE,CAAC;QACpB,KAAK,EAAE,UAAU,EAAE,CAAC;KACrB,CAAC;IAMF,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAMhB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAMvB,+CAA+C;IAC/C,OAAO,CAAC,EAAE;QACR,wDAAwD;QACxD,QAAQ,EAAE,MAAM,CAAC;QACjB,kDAAkD;QAClD,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF,wCAAwC;IACxC,YAAY,CAAC,EAAE;QACb,iCAAiC;QACjC,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,oCAAoC;QACpC,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,mCAAmC;QACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IAMF,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,oCAAoC;IACpC,GAAG,CAAC,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IAMF,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,yCAAyC;IACzC,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;CACpE;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC"}
package/dist/types.js ADDED
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Template Types
3
+ *
4
+ * Extended template interface that serves as the single source of truth
5
+ * for template definitions across all FloImg surfaces.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "@teamflojo/floimg-templates",
3
+ "version": "0.1.0",
4
+ "description": "Official workflow templates for FloImg Studio",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist",
16
+ "README.md",
17
+ "LICENSE"
18
+ ],
19
+ "keywords": [
20
+ "floimg",
21
+ "templates",
22
+ "workflows",
23
+ "image-generation"
24
+ ],
25
+ "author": "Brett Cooke",
26
+ "license": "MIT",
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "https://github.com/TeamFlojo/floimg.git",
30
+ "directory": "packages/floimg-templates"
31
+ },
32
+ "dependencies": {
33
+ "@teamflojo/floimg-studio-shared": "0.3.0"
34
+ },
35
+ "devDependencies": {
36
+ "@types/node": "^22.10.2",
37
+ "typescript": "^5.7.2"
38
+ },
39
+ "engines": {
40
+ "node": ">=18.0.0"
41
+ },
42
+ "scripts": {
43
+ "build": "tsc",
44
+ "dev": "tsc --watch",
45
+ "typecheck": "tsc --noEmit",
46
+ "clean": "rm -rf dist"
47
+ }
48
+ }