appshot-cli 0.6.0 → 0.8.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/README.md +266 -9
  2. package/dist/cli.js +6 -2
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/build.js +1 -1
  5. package/dist/commands/build.js.map +1 -1
  6. package/dist/commands/frame.d.ts +3 -0
  7. package/dist/commands/frame.d.ts.map +1 -0
  8. package/dist/commands/frame.js +251 -0
  9. package/dist/commands/frame.js.map +1 -0
  10. package/dist/commands/style.d.ts.map +1 -1
  11. package/dist/commands/style.js +122 -1
  12. package/dist/commands/style.js.map +1 -1
  13. package/dist/core/compose.d.ts +25 -0
  14. package/dist/core/compose.d.ts.map +1 -1
  15. package/dist/core/compose.js +411 -47
  16. package/dist/core/compose.js.map +1 -1
  17. package/dist/core/devices.d.ts +5 -0
  18. package/dist/core/devices.d.ts.map +1 -1
  19. package/dist/core/devices.js +43 -1
  20. package/dist/core/devices.js.map +1 -1
  21. package/dist/core/files.d.ts +1 -1
  22. package/dist/core/files.d.ts.map +1 -1
  23. package/dist/core/files.js +15 -3
  24. package/dist/core/files.js.map +1 -1
  25. package/dist/services/doctor.js +1 -1
  26. package/dist/services/fonts.d.ts.map +1 -1
  27. package/dist/services/fonts.js +2 -0
  28. package/dist/services/fonts.js.map +1 -1
  29. package/dist/types.d.ts +14 -2
  30. package/dist/types.d.ts.map +1 -1
  31. package/fonts/FiraCode/FiraCode-Bold.ttf +0 -0
  32. package/fonts/FiraCode/FiraCode-LICENSE.txt +93 -0
  33. package/fonts/FiraCode/FiraCode-Light.ttf +0 -0
  34. package/fonts/FiraCode/FiraCode-Regular.ttf +0 -0
  35. package/fonts/FiraCode/FiraCode-SemiBold.ttf +0 -0
  36. package/fonts/JetBrainsMono/JetBrainsMono-Bold.ttf +0 -0
  37. package/fonts/JetBrainsMono/JetBrainsMono-BoldItalic.ttf +0 -0
  38. package/fonts/JetBrainsMono/JetBrainsMono-Italic.ttf +0 -0
  39. package/fonts/JetBrainsMono/JetBrainsMono-LICENSE.txt +93 -0
  40. package/fonts/JetBrainsMono/JetBrainsMono-Regular.ttf +0 -0
  41. package/package.json +1 -1
@@ -0,0 +1,251 @@
1
+ import { Command } from 'commander';
2
+ import { promises as fs } from 'fs';
3
+ import path from 'path';
4
+ import pc from 'picocolors';
5
+ import sharp from 'sharp';
6
+ import { initializeFrameRegistry, getImageDimensions, autoSelectFrame, detectDeviceTypeFromDimensions } from '../core/devices.js';
7
+ import { composeFrameOnly } from '../core/compose.js';
8
+ function isImage(file) {
9
+ return /\.(png|jpg|jpeg)$/i.test(file);
10
+ }
11
+ async function ensureDir(dir) {
12
+ await fs.mkdir(dir, { recursive: true });
13
+ }
14
+ async function listImagesRecursively(root) {
15
+ const entries = await fs.readdir(root, { withFileTypes: true });
16
+ const files = [];
17
+ for (const entry of entries) {
18
+ const full = path.join(root, entry.name);
19
+ if (entry.isDirectory()) {
20
+ const nested = await listImagesRecursively(full);
21
+ files.push(...nested);
22
+ }
23
+ else if (entry.isFile() && isImage(entry.name)) {
24
+ files.push(full);
25
+ }
26
+ }
27
+ return files;
28
+ }
29
+ async function processSingleFile(inputPath, framesDir, options) {
30
+ const { width, height, orientation } = await getImageDimensions(inputPath);
31
+ // Validate minimum dimensions
32
+ if (width < 100 || height < 100) {
33
+ console.error(pc.red(' ✗'), path.basename(inputPath), pc.dim(`Image too small (${width}x${height}). Minimum 100x100 required.`));
34
+ return { processed: 0, errors: 1 };
35
+ }
36
+ // Warn on extreme aspect ratios
37
+ const aspect = Math.max(width, height) / Math.min(width, height);
38
+ if (aspect > 3) {
39
+ console.warn(pc.yellow(' ⚠'), path.basename(inputPath), pc.dim(`Extreme aspect ratio (${aspect.toFixed(2)}:1) may not match any device frame.`));
40
+ }
41
+ let device = options.device || detectDeviceTypeFromDimensions(width, height);
42
+ if (!device) {
43
+ console.error(pc.red(' ✗'), path.basename(inputPath), pc.dim(`Unable to detect device type (${width}x${height}). Use --device to specify.`));
44
+ return { processed: 0, errors: 1 };
45
+ }
46
+ // Choose frame
47
+ const { frame, metadata } = await autoSelectFrame(inputPath, framesDir, device, undefined, Boolean(options.dryRun));
48
+ if (!metadata) {
49
+ console.error(pc.red(' ✗'), path.basename(inputPath), pc.dim('No matching frame found'));
50
+ return { processed: 0, errors: 1 };
51
+ }
52
+ if (options.dryRun) {
53
+ console.log(pc.cyan(` ${path.basename(inputPath)}`) + pc.dim(` → ${device} (${orientation})`));
54
+ console.log(pc.dim(` Source: ${width}x${height}`));
55
+ console.log(pc.dim(` Frame: ${metadata.displayName} (${metadata.frameWidth}x${metadata.frameHeight})`));
56
+ return { processed: 1, errors: 0 };
57
+ }
58
+ if (!frame) {
59
+ console.error(pc.red(' ✗'), path.basename(inputPath), pc.dim('Frame image failed to load'));
60
+ return { processed: 0, errors: 1 };
61
+ }
62
+ // Load screenshot buffer
63
+ let screenshotBuffer;
64
+ try {
65
+ await fs.access(inputPath, fs.constants.R_OK);
66
+ screenshotBuffer = await sharp(inputPath).toBuffer();
67
+ }
68
+ catch (err) {
69
+ console.error(pc.red(' ✗'), path.basename(inputPath), pc.dim(`Failed to read image: ${err instanceof Error ? err.message : String(err)}`));
70
+ return { processed: 0, errors: 1 };
71
+ }
72
+ // Compose framed image with transparent background
73
+ let outBuffer;
74
+ try {
75
+ outBuffer = await composeFrameOnly({
76
+ screenshot: screenshotBuffer,
77
+ frame,
78
+ frameMetadata: {
79
+ frameWidth: metadata.frameWidth,
80
+ frameHeight: metadata.frameHeight,
81
+ screenRect: metadata.screenRect,
82
+ maskPath: metadata.maskPath,
83
+ deviceType: metadata.deviceType,
84
+ displayName: metadata.displayName,
85
+ name: metadata.name
86
+ },
87
+ outputFormat: options.format || 'png',
88
+ jpegQuality: 92,
89
+ verbose: options.verbose
90
+ });
91
+ }
92
+ catch (err) {
93
+ console.error(pc.red(' ✗'), path.basename(inputPath), pc.dim(`Compose failed: ${err instanceof Error ? err.message : String(err)}`));
94
+ return { processed: 0, errors: 1 };
95
+ }
96
+ // Determine output path
97
+ const format = options.format || 'png';
98
+ const ext = format === 'png' ? '.png' : '.jpg';
99
+ const baseName = path.basename(inputPath, path.extname(inputPath));
100
+ const outputDir = options.output ? path.resolve(options.output) : path.dirname(inputPath);
101
+ await ensureDir(outputDir);
102
+ let suffix = options.suffix ?? '-framed';
103
+ let outName = options.overwrite ? `${baseName}${ext}` : `${baseName}${suffix}${ext}`;
104
+ let outPath = path.join(outputDir, outName);
105
+ if (!options.overwrite) {
106
+ try {
107
+ await fs.access(outPath);
108
+ // File exists; if suffix is empty, fall back to default '-framed'
109
+ if (!suffix) {
110
+ suffix = '-framed';
111
+ outName = `${baseName}${suffix}${ext}`;
112
+ outPath = path.join(outputDir, outName);
113
+ }
114
+ }
115
+ catch {
116
+ // ok, does not exist
117
+ }
118
+ }
119
+ try {
120
+ await fs.writeFile(outPath, outBuffer);
121
+ console.log(pc.green(' ✓'), path.basename(outPath), pc.dim(`[${device}, ${orientation}, transparent]`));
122
+ return { processed: 1, errors: 0 };
123
+ }
124
+ catch (err) {
125
+ console.error(pc.red(' ✗'), path.basename(inputPath), pc.dim(`Write failed: ${err instanceof Error ? err.message : String(err)}`));
126
+ return { processed: 0, errors: 1 };
127
+ }
128
+ }
129
+ export default function frameCmd() {
130
+ const cmd = new Command('frame')
131
+ .description('Apply device frames to screenshots with a transparent background (no gradients or captions)')
132
+ .argument('<input>', 'input image file or directory')
133
+ .option('-o, --output <dir>', 'output directory (default: same as input)')
134
+ .option('-d, --device <type>', 'force device type (iphone|ipad|mac|watch)')
135
+ .option('-r, --recursive', 'process directories recursively')
136
+ .option('-f, --format <type>', 'output format (png|jpeg)', 'png')
137
+ .option('--suffix <text>', 'filename suffix when not overwriting', '-framed')
138
+ .option('--overwrite', 'overwrite original file name')
139
+ .option('--dry-run', 'preview files without processing')
140
+ .option('--verbose', 'show detailed information')
141
+ .addHelpText('after', `
142
+ ${pc.bold('Examples:')}
143
+ ${pc.dim('# Single file (auto-detect device)')}
144
+ $ appshot frame screenshot.png
145
+
146
+ ${pc.dim('# Specify output directory')}
147
+ $ appshot frame screenshot.png -o framed/
148
+
149
+ ${pc.dim('# Force device type')}
150
+ $ appshot frame screenshot.png --device iphone
151
+
152
+ ${pc.dim('# Batch process a directory')}
153
+ $ appshot frame ./screenshots -o ./framed --recursive
154
+
155
+ ${pc.dim('# Dry run with verbose logs')}
156
+ $ appshot frame ./screenshots --dry-run --verbose`)
157
+ .action(async (input, opts) => {
158
+ const options = {
159
+ output: opts.output,
160
+ device: opts.device,
161
+ recursive: Boolean(opts.recursive),
162
+ format: (opts.format === 'jpeg' ? 'jpeg' : 'png'),
163
+ suffix: opts.suffix,
164
+ overwrite: Boolean(opts.overwrite),
165
+ verbose: Boolean(opts.verbose),
166
+ dryRun: Boolean(opts.dryRun)
167
+ };
168
+ // Validate device option if provided
169
+ if (options.device && !['iphone', 'ipad', 'mac', 'watch'].includes(options.device)) {
170
+ console.error(pc.red('Error:'), `Invalid --device value: ${options.device}`);
171
+ process.exit(1);
172
+ }
173
+ try {
174
+ // Initialize frames registry (use project frames dir by default)
175
+ const framesDir = path.resolve('frames');
176
+ await initializeFrameRegistry(framesDir);
177
+ const inputPath = path.resolve(input);
178
+ const stat = await fs.stat(inputPath);
179
+ let totalProcessed = 0;
180
+ let totalErrors = 0;
181
+ if (stat.isFile()) {
182
+ // Ensure output directory exists if specified
183
+ if (options.output) {
184
+ await ensureDir(path.resolve(options.output));
185
+ }
186
+ const res = await processSingleFile(inputPath, framesDir, options);
187
+ totalProcessed += res.processed;
188
+ totalErrors += res.errors;
189
+ }
190
+ else if (stat.isDirectory()) {
191
+ // List images
192
+ const files = options.recursive
193
+ ? await listImagesRecursively(inputPath)
194
+ : (await fs.readdir(inputPath))
195
+ .filter(isImage)
196
+ .map(f => path.join(inputPath, f));
197
+ if (files.length === 0) {
198
+ console.log(pc.yellow('⚠'), 'No images found');
199
+ return;
200
+ }
201
+ console.log(pc.cyan(`\n${path.basename(inputPath)}:`), `${options.dryRun ? 'Would frame' : 'Framing'} ${files.length} images`);
202
+ let currentIndex = 0;
203
+ for (const file of files) {
204
+ currentIndex++;
205
+ if (!options.dryRun && files.length > 5) {
206
+ process.stdout.write(pc.dim(`\r[${currentIndex}/${files.length}] Processing...`));
207
+ }
208
+ // Compute output for recursive structure
209
+ if (options.output && options.recursive) {
210
+ const rel = path.relative(inputPath, path.dirname(file));
211
+ const outDir = path.join(path.resolve(options.output), rel);
212
+ const res = await processSingleFile(file, framesDir, { ...options, output: outDir });
213
+ totalProcessed += res.processed;
214
+ totalErrors += res.errors;
215
+ }
216
+ else {
217
+ const res = await processSingleFile(file, framesDir, options);
218
+ totalProcessed += res.processed;
219
+ totalErrors += res.errors;
220
+ }
221
+ }
222
+ // Clear progress line
223
+ if (!options.dryRun && files.length > 5) {
224
+ process.stdout.write('\r' + ' '.repeat(30) + '\r');
225
+ }
226
+ }
227
+ else {
228
+ console.error(pc.red('Error:'), 'Input must be a file or directory');
229
+ process.exit(1);
230
+ }
231
+ // Summary
232
+ if (options.dryRun) {
233
+ console.log('\n' + pc.bold('Dry run complete!'));
234
+ console.log(pc.cyan(`→ ${totalProcessed} images would be framed`));
235
+ }
236
+ else {
237
+ console.log('\n' + pc.bold('Framing complete!'));
238
+ console.log(pc.green(`✓ ${totalProcessed} images processed`));
239
+ if (totalErrors > 0) {
240
+ console.log(pc.red(`✗ ${totalErrors} errors`));
241
+ }
242
+ }
243
+ }
244
+ catch (error) {
245
+ console.error(pc.red('Error:'), error instanceof Error ? error.message : String(error));
246
+ process.exit(1);
247
+ }
248
+ });
249
+ return cmd;
250
+ }
251
+ //# sourceMappingURL=frame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frame.js","sourceRoot":"","sources":["../../src/commands/frame.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/commands/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,MAAM,CAAC,OAAO,UAAU,QAAQ,YAggB/B"}
1
+ {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/commands/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,MAAM,CAAC,OAAO,UAAU,QAAQ,YAqoB/B"}
@@ -31,7 +31,9 @@ ${pc.bold('Configurable Options:')}
31
31
  ${pc.cyan('Caption Options:')}
32
32
  • Caption font (with embedded fonts)
33
33
  • Caption size override
34
- • Caption position (above or overlay)
34
+ • Caption position (above, below, or overlay)
35
+ • Caption background (color, opacity, padding)
36
+ • Caption border (color, width, corner radius)
35
37
  • Auto-sizing based on content
36
38
  • Maximum lines (1-10)
37
39
  • Line height (1.0-2.0)
@@ -342,12 +344,131 @@ ${pc.bold('Output:')}
342
344
  message: 'Caption position:',
343
345
  choices: [
344
346
  { name: 'Above device frame (default)', value: 'above' },
347
+ { name: 'Below device frame', value: 'below' },
345
348
  { name: 'Overlay on gradient', value: 'overlay' },
346
349
  { name: 'Use global default', value: null }
347
350
  ],
348
351
  default: currentDevice.captionPosition || config.caption.position || 'above'
349
352
  }]);
350
353
  captionPosition = posAnswer.captionPosition || undefined;
354
+ // Caption styling (background and border)
355
+ const stylingAnswer = await inquirer.prompt([{
356
+ type: 'confirm',
357
+ name: 'customizeStyling',
358
+ message: 'Add background or border styling to captions?',
359
+ default: false
360
+ }]);
361
+ if (stylingAnswer.customizeStyling) {
362
+ // Background configuration
363
+ const backgroundAnswer = await inquirer.prompt([{
364
+ type: 'confirm',
365
+ name: 'addBackground',
366
+ message: 'Add background behind caption text?',
367
+ default: false
368
+ }]);
369
+ if (backgroundAnswer.addBackground) {
370
+ const bgColorAnswer = await inquirer.prompt([{
371
+ type: 'list',
372
+ name: 'color',
373
+ message: 'Background color:',
374
+ choices: [
375
+ { name: 'Black (semi-transparent)', value: '#000000' },
376
+ { name: 'White (semi-transparent)', value: '#FFFFFF' },
377
+ { name: 'Dark gray', value: '#333333' },
378
+ { name: 'Blue', value: '#007AFF' },
379
+ { name: 'Red', value: '#FF3B30' },
380
+ { name: 'Custom hex color...', value: 'custom' }
381
+ ]
382
+ }]);
383
+ let bgColor = bgColorAnswer.color;
384
+ if (bgColor === 'custom') {
385
+ const customColorAnswer = await inquirer.prompt([{
386
+ type: 'input',
387
+ name: 'customColor',
388
+ message: 'Enter hex color (e.g., #FF5733):',
389
+ validate: (value) => /^#[0-9A-Fa-f]{6}$/.test(value) || 'Please enter a valid hex color (e.g., #FF5733)'
390
+ }]);
391
+ bgColor = customColorAnswer.customColor;
392
+ }
393
+ const bgOpacityAnswer = await inquirer.prompt([{
394
+ type: 'list',
395
+ name: 'opacity',
396
+ message: 'Background opacity:',
397
+ choices: [
398
+ { name: '80% (recommended)', value: 0.8 },
399
+ { name: '60% (lighter)', value: 0.6 },
400
+ { name: '90% (darker)', value: 0.9 },
401
+ { name: '100% (solid)', value: 1.0 }
402
+ ],
403
+ default: 0.8
404
+ }]);
405
+ config.caption.background = {
406
+ color: bgColor,
407
+ opacity: bgOpacityAnswer.opacity,
408
+ padding: 25
409
+ };
410
+ }
411
+ // Border configuration
412
+ const borderAnswer = await inquirer.prompt([{
413
+ type: 'confirm',
414
+ name: 'addBorder',
415
+ message: 'Add border around caption?',
416
+ default: false
417
+ }]);
418
+ if (borderAnswer.addBorder) {
419
+ const borderColorAnswer = await inquirer.prompt([{
420
+ type: 'list',
421
+ name: 'color',
422
+ message: 'Border color:',
423
+ choices: [
424
+ { name: 'White', value: '#FFFFFF' },
425
+ { name: 'Black', value: '#000000' },
426
+ { name: 'Gray', value: '#888888' },
427
+ { name: 'Blue', value: '#007AFF' },
428
+ { name: 'Custom hex color...', value: 'custom' }
429
+ ]
430
+ }]);
431
+ let borderColor = borderColorAnswer.color;
432
+ if (borderColor === 'custom') {
433
+ const customBorderColorAnswer = await inquirer.prompt([{
434
+ type: 'input',
435
+ name: 'customColor',
436
+ message: 'Enter hex color (e.g., #FFFFFF):',
437
+ validate: (value) => /^#[0-9A-Fa-f]{6}$/.test(value) || 'Please enter a valid hex color (e.g., #FFFFFF)'
438
+ }]);
439
+ borderColor = customBorderColorAnswer.customColor;
440
+ }
441
+ const borderWidthAnswer = await inquirer.prompt([{
442
+ type: 'list',
443
+ name: 'width',
444
+ message: 'Border thickness:',
445
+ choices: [
446
+ { name: 'Thin (2px)', value: 2 },
447
+ { name: 'Medium (3px)', value: 3 },
448
+ { name: 'Thick (4px)', value: 4 },
449
+ { name: 'Extra thick (6px)', value: 6 }
450
+ ],
451
+ default: 3
452
+ }]);
453
+ const borderRadiusAnswer = await inquirer.prompt([{
454
+ type: 'list',
455
+ name: 'radius',
456
+ message: 'Corner rounding:',
457
+ choices: [
458
+ { name: 'Square (0)', value: 0 },
459
+ { name: 'Slightly rounded (8px)', value: 8 },
460
+ { name: 'Rounded (12px)', value: 12 },
461
+ { name: 'Very rounded (20px)', value: 20 }
462
+ ],
463
+ default: 12
464
+ }]);
465
+ config.caption.border = {
466
+ color: borderColor,
467
+ width: borderWidthAnswer.width,
468
+ radius: borderRadiusAnswer.radius
469
+ };
470
+ }
471
+ }
351
472
  // Caption box settings
352
473
  const boxAnswer = await inquirer.prompt([{
353
474
  type: 'confirm',
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/commands/style.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/commands/style.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,31 @@ export interface ComposeOptions {
28
28
  * Compose a complete App Store screenshot with gradient, caption, and framed device
29
29
  */
30
30
  export declare function composeAppStoreScreenshot(options: ComposeOptions): Promise<Buffer>;
31
+ /**
32
+ * Compose a framed device with a fully transparent background.
33
+ * No gradient or captions are applied; output is frame-sized.
34
+ */
35
+ export declare function composeFrameOnly(options: {
36
+ screenshot: Buffer;
37
+ frame: Buffer;
38
+ frameMetadata: {
39
+ frameWidth: number;
40
+ frameHeight: number;
41
+ screenRect: {
42
+ x: number;
43
+ y: number;
44
+ width: number;
45
+ height: number;
46
+ };
47
+ maskPath?: string;
48
+ deviceType?: 'iphone' | 'ipad' | 'mac' | 'watch';
49
+ displayName?: string;
50
+ name?: string;
51
+ };
52
+ outputFormat?: 'png' | 'jpeg';
53
+ jpegQuality?: number;
54
+ verbose?: boolean;
55
+ }): Promise<Buffer>;
31
56
  /**
32
57
  * Get a safe font stack that Sharp's SVG renderer can use
33
58
  */
@@ -1 +1 @@
1
- {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/core/compose.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAiD/E,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,CAAC,EAAE;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE;YACV,CAAC,EAAE,MAAM,CAAC;YACV,CAAC,EAAE,MAAM,CAAC;YACV,KAAK,EAAE,MAAM,CAAC;YACd,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;QACF,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;QACjD,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAghBxF;AAqGD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB7H;AAED,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CA0F1D"}
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/core/compose.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAoI/E,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,CAAC,EAAE;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE;YACV,CAAC,EAAE,MAAM,CAAC;YACV,CAAC,EAAE,MAAM,CAAC;YACV,KAAK,EAAE,MAAM,CAAC;YACd,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;QACF,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;QACjD,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAoyBxF;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;QACjD,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,YAAY,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,OAAO,CAAC,MAAM,CAAC,CAuFlB;AAqGD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB7H;AAED,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CA0F1D"}