bookcover-core 0.4.0 → 0.6.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 (61) hide show
  1. package/dist/assets.d.ts +0 -5
  2. package/dist/assets.d.ts.map +1 -1
  3. package/dist/assets.js +1 -7
  4. package/dist/assets.js.map +1 -1
  5. package/dist/build_files.d.ts +2 -1
  6. package/dist/build_files.d.ts.map +1 -1
  7. package/dist/build_files.js +2 -4
  8. package/dist/build_files.js.map +1 -1
  9. package/dist/colors.d.ts +8 -1
  10. package/dist/colors.d.ts.map +1 -1
  11. package/dist/colors.js +22 -8
  12. package/dist/colors.js.map +1 -1
  13. package/dist/data_file.d.ts +1 -1
  14. package/dist/data_file.d.ts.map +1 -1
  15. package/dist/data_file.js +7 -1
  16. package/dist/data_file.js.map +1 -1
  17. package/dist/design.d.ts +60 -0
  18. package/dist/design.d.ts.map +1 -1
  19. package/dist/design.js +291 -0
  20. package/dist/design.js.map +1 -1
  21. package/dist/form_schema.d.ts +20 -1
  22. package/dist/form_schema.d.ts.map +1 -1
  23. package/dist/form_schema.js +100 -8
  24. package/dist/form_schema.js.map +1 -1
  25. package/dist/form_state.d.ts +4 -2
  26. package/dist/form_state.d.ts.map +1 -1
  27. package/dist/form_state.js +3 -1
  28. package/dist/form_state.js.map +1 -1
  29. package/dist/generated/templates_data.d.ts +4 -0
  30. package/dist/generated/templates_data.d.ts.map +1 -0
  31. package/dist/generated/templates_data.js +8 -0
  32. package/dist/generated/templates_data.js.map +1 -0
  33. package/dist/generated/vector_bg_images_data.d.ts +4 -0
  34. package/dist/generated/vector_bg_images_data.d.ts.map +1 -0
  35. package/dist/generated/vector_bg_images_data.js +33 -0
  36. package/dist/generated/vector_bg_images_data.js.map +1 -0
  37. package/dist/generated/vector_patterns_data.d.ts +4 -0
  38. package/dist/generated/vector_patterns_data.d.ts.map +1 -0
  39. package/dist/generated/vector_patterns_data.js +33 -0
  40. package/dist/generated/vector_patterns_data.js.map +1 -0
  41. package/dist/index.d.ts +15 -5
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +32 -16
  44. package/dist/index.js.map +1 -1
  45. package/dist/schema.d.ts +5 -2
  46. package/dist/schema.d.ts.map +1 -1
  47. package/dist/schema.js +3 -1
  48. package/dist/schema.js.map +1 -1
  49. package/dist/templates_data.d.ts +4 -0
  50. package/dist/templates_data.d.ts.map +1 -0
  51. package/dist/templates_data.js +8 -0
  52. package/dist/templates_data.js.map +1 -0
  53. package/dist/vector_backgrounds.d.ts +11 -0
  54. package/dist/vector_backgrounds.d.ts.map +1 -0
  55. package/dist/vector_backgrounds.js +54 -0
  56. package/dist/vector_backgrounds.js.map +1 -0
  57. package/dist/vector_patterns_data.d.ts +4 -0
  58. package/dist/vector_patterns_data.d.ts.map +1 -0
  59. package/dist/vector_patterns_data.js +66 -0
  60. package/dist/vector_patterns_data.js.map +1 -0
  61. package/package.json +1 -1
package/dist/assets.d.ts CHANGED
@@ -1,9 +1,4 @@
1
1
  export declare function asset_path(base: string, ...segments: string[]): string;
2
2
  export declare const FRAMES_DIR = "frames";
3
3
  export declare const BACKGROUNDS_DIR = "backgrounds";
4
- export declare const DOCS_DIR = "docs";
5
- export declare const TEMPLATE_FILES: {
6
- readonly cover: 'cover.typ';
7
- readonly helpers: '_helpers.typ';
8
- };
9
4
  //# sourceMappingURL=assets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"AAKA,wBAAgB,UAAU,CAAC,IAAI,EAAC,MAAM,EAAE,GAAG,QAAQ,EAAC,MAAM,EAAE,GAAE,MAAM,CAEnE;AAGD,eAAO,MAAM,UAAU,WAAW,CAAA;AAClC,eAAO,MAAM,eAAe,gBAAgB,CAAA;AAC5C,eAAO,MAAM,QAAQ,SAAS,CAAA;AAG9B,eAAO,MAAM,cAAc;aACvB,KAAK,EAAE,WAAW;aAClB,OAAO,EAAE,cAAc;CACjB,CAAA"}
1
+ {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"AAKA,wBAAgB,UAAU,CAAC,IAAI,EAAC,MAAM,EAAE,GAAG,QAAQ,EAAC,MAAM,EAAE,GAAE,MAAM,CAEnE;AAGD,eAAO,MAAM,UAAU,WAAW,CAAA;AAClC,eAAO,MAAM,eAAe,gBAAgB,CAAA"}
package/dist/assets.js CHANGED
@@ -4,13 +4,7 @@
4
4
  export function asset_path(base, ...segments) {
5
5
  return [base.replace(/\/+$/, ''), ...segments].join('/');
6
6
  }
7
- // Asset subdirectory names (docs/ holds the typst templates — typst/ is the wasm binaries)
7
+ // Asset subdirectory names
8
8
  export const FRAMES_DIR = 'frames';
9
9
  export const BACKGROUNDS_DIR = 'backgrounds';
10
- export const DOCS_DIR = 'docs';
11
- // Template filenames within assets/docs/
12
- export const TEMPLATE_FILES = {
13
- cover: 'cover.typ',
14
- helpers: '_helpers.typ',
15
- };
16
10
  //# sourceMappingURL=assets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"assets.js","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"AACA,6FAA6F;AAC7F,+CAA+C;AAE/C,yEAAyE;AACzE,MAAM,UAAU,UAAU,CAAC,IAAW,EAAE,GAAG,QAAiB;IACxD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC5D,CAAC;AAED,2FAA2F;AAC3F,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAA;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAA;AAC5C,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAA;AAE9B,yCAAyC;AACzC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,cAAc;CACjB,CAAA"}
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../src/assets.ts"],"names":[],"mappings":"AACA,6FAA6F;AAC7F,+CAA+C;AAE/C,yEAAyE;AACzE,MAAM,UAAU,UAAU,CAAC,IAAW,EAAE,GAAG,QAAiB;IACxD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC5D,CAAC;AAED,2BAA2B;AAC3B,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAA;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAA"}
@@ -6,6 +6,7 @@ export interface ImageInput {
6
6
  data: Uint8Array;
7
7
  ext: string;
8
8
  aspect_ratio?: number;
9
+ is_vector?: boolean;
9
10
  }
10
11
  /**
11
12
  * Build all files needed for typst compilation, entirely in memory.
@@ -15,5 +16,5 @@ export interface Templates {
15
16
  cover: string;
16
17
  helpers: string;
17
18
  }
18
- export declare function build_cover_files(templates: Templates, schema: CoverSchema, dims: GetDimensionsResult, colors: ResolvedColors, font_body_family: string[], font_title1_family: string[], font_title2_family: string[], font_title3_family: string[], font_subtitle_family: string[], font_author_family: string[], font_blurb_family: string[], font_spine_title_family: string[], font_spine_author_family: string[], font_sizes: FontSizes, image?: ImageInput, icon_main?: ImageInput, icon_ghost?: ImageInput, icon_ghost2?: ImageInput, icon_spine?: ImageInput, icon_bg?: ImageInput, pattern?: ImageInput): Map<string, Uint8Array>;
19
+ export declare function build_cover_files(templates: Templates, schema: CoverSchema, dims: GetDimensionsResult, colors: ResolvedColors, font_body_family: string[], font_title1_family: string[], font_title2_family: string[], font_title3_family: string[], font_subtitle_family: string[], font_author_family: string[], font_blurb_family: string[], font_spine_title_family: string[], font_spine_author_family: string[], font_sizes: FontSizes, image?: ImageInput, icon_main?: ImageInput, icon_ghost?: ImageInput, icon_ghost2?: ImageInput, icon_spine?: ImageInput, pattern?: ImageInput): Map<string, Uint8Array>;
19
20
  //# sourceMappingURL=build_files.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build_files.d.ts","sourceRoot":"","sources":["../src/build_files.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAA;AAI9C,MAAM,WAAW,UAAU;IAEvB,IAAI,EAAC,UAAU,CAAA;IAEf,GAAG,EAAC,MAAM,CAAA;IAEV,YAAY,CAAC,EAAC,MAAM,CAAA;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IAEtB,KAAK,EAAC,MAAM,CAAA;IAEZ,OAAO,EAAC,MAAM,CAAA;CACjB;AAED,wBAAgB,iBAAiB,CAC7B,SAAS,EAAC,SAAS,EACnB,MAAM,EAAC,WAAW,EAClB,IAAI,EAAC,mBAAmB,EACxB,MAAM,EAAC,cAAc,EACrB,gBAAgB,EAAC,MAAM,EAAE,EACzB,kBAAkB,EAAC,MAAM,EAAE,EAC3B,kBAAkB,EAAC,MAAM,EAAE,EAC3B,kBAAkB,EAAC,MAAM,EAAE,EAC3B,oBAAoB,EAAC,MAAM,EAAE,EAC7B,kBAAkB,EAAC,MAAM,EAAE,EAC3B,iBAAiB,EAAC,MAAM,EAAE,EAC1B,uBAAuB,EAAC,MAAM,EAAE,EAChC,wBAAwB,EAAC,MAAM,EAAE,EACjC,UAAU,EAAC,SAAS,EACpB,KAAK,CAAC,EAAC,UAAU,EACjB,SAAS,CAAC,EAAC,UAAU,EACrB,UAAU,CAAC,EAAC,UAAU,EACtB,WAAW,CAAC,EAAC,UAAU,EACvB,UAAU,CAAC,EAAC,UAAU,EACtB,OAAO,CAAC,EAAC,UAAU,EACnB,OAAO,CAAC,EAAC,UAAU,GACrB,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CA4CxB"}
1
+ {"version":3,"file":"build_files.d.ts","sourceRoot":"","sources":["../src/build_files.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAA;AAI9C,MAAM,WAAW,UAAU;IAEvB,IAAI,EAAC,UAAU,CAAA;IAEf,GAAG,EAAC,MAAM,CAAA;IAEV,YAAY,CAAC,EAAC,MAAM,CAAA;IAGpB,SAAS,CAAC,EAAC,OAAO,CAAA;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IAEtB,KAAK,EAAC,MAAM,CAAA;IAEZ,OAAO,EAAC,MAAM,CAAA;CACjB;AAED,wBAAgB,iBAAiB,CAC7B,SAAS,EAAC,SAAS,EACnB,MAAM,EAAC,WAAW,EAClB,IAAI,EAAC,mBAAmB,EACxB,MAAM,EAAC,cAAc,EACrB,gBAAgB,EAAC,MAAM,EAAE,EACzB,kBAAkB,EAAC,MAAM,EAAE,EAC3B,kBAAkB,EAAC,MAAM,EAAE,EAC3B,kBAAkB,EAAC,MAAM,EAAE,EAC3B,oBAAoB,EAAC,MAAM,EAAE,EAC7B,kBAAkB,EAAC,MAAM,EAAE,EAC3B,iBAAiB,EAAC,MAAM,EAAE,EAC1B,uBAAuB,EAAC,MAAM,EAAE,EAChC,wBAAwB,EAAC,MAAM,EAAE,EACjC,UAAU,EAAC,SAAS,EACpB,KAAK,CAAC,EAAC,UAAU,EACjB,SAAS,CAAC,EAAC,UAAU,EACrB,UAAU,CAAC,EAAC,UAAU,EACtB,WAAW,CAAC,EAAC,UAAU,EACvB,UAAU,CAAC,EAAC,UAAU,EACtB,OAAO,CAAC,EAAC,UAAU,GACrB,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CA4CxB"}
@@ -2,7 +2,7 @@
2
2
  import { build_data_file } from './data_file.js';
3
3
  import { generate_isbn_barcode } from './barcode.js';
4
4
  const encoder = new TextEncoder();
5
- export function build_cover_files(templates, schema, dims, colors, font_body_family, font_title1_family, font_title2_family, font_title3_family, font_subtitle_family, font_author_family, font_blurb_family, font_spine_title_family, font_spine_author_family, font_sizes, image, icon_main, icon_ghost, icon_ghost2, icon_spine, icon_bg, pattern) {
5
+ export function build_cover_files(templates, schema, dims, colors, font_body_family, font_title1_family, font_title2_family, font_title3_family, font_subtitle_family, font_author_family, font_blurb_family, font_spine_title_family, font_spine_author_family, font_sizes, image, icon_main, icon_ghost, icon_ghost2, icon_spine, pattern) {
6
6
  const files = new Map();
7
7
  // Templates
8
8
  files.set('cover.typ', encoder.encode(templates.cover));
@@ -23,8 +23,6 @@ export function build_cover_files(templates, schema, dims, colors, font_body_fam
23
23
  files.set('icon_ghost2.svg', icon_ghost2.data);
24
24
  if (icon_spine)
25
25
  files.set('icon_spine.svg', icon_spine.data);
26
- if (icon_bg)
27
- files.set('icon_bg.svg', icon_bg.data);
28
26
  // Pattern tile (pre-colored SVG for tiling across the full cover)
29
27
  if (pattern)
30
28
  files.set('pattern.svg', pattern.data);
@@ -36,7 +34,7 @@ export function build_cover_files(templates, schema, dims, colors, font_body_fam
36
34
  files.set('barcode.svg', barcode_bytes);
37
35
  }
38
36
  // Data file
39
- const data_content = build_data_file(schema, dims, colors, font_body_family, font_title1_family, font_title2_family, font_title3_family, font_subtitle_family, font_author_family, font_blurb_family, font_spine_title_family, font_spine_author_family, font_sizes, image_filename, has_barcode, icon_main !== undefined, pattern !== undefined, pattern?.aspect_ratio);
37
+ const data_content = build_data_file(schema, dims, colors, font_body_family, font_title1_family, font_title2_family, font_title3_family, font_subtitle_family, font_author_family, font_blurb_family, font_spine_title_family, font_spine_author_family, font_sizes, image_filename, image?.is_vector ?? false, has_barcode, icon_main !== undefined, pattern !== undefined, pattern?.aspect_ratio);
40
38
  files.set('_data.typ', encoder.encode(data_content));
41
39
  return files;
42
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"build_files.js","sourceRoot":"","sources":["../src/build_files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build_files.js","sourceRoot":"","sources":["../src/build_files.ts"],"names":[],"mappings":"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"}
package/dist/colors.d.ts CHANGED
@@ -19,8 +19,15 @@ export interface DerivedColors {
19
19
  * Derive all cover colors from the background color and optional spine color.
20
20
  * Dark/light mode is auto-detected from bg_color.
21
21
  * spine_color: when null, spine uses bg_color; when set, spine gets its own background.
22
+ * image_backdrop: real colors sampled from the background image, used in place of bg_color for
23
+ * blurb (back panel) and spine text specifically when the image is actually visible behind
24
+ * them (full-wrap coverage) — never affects spine_background, which stays governed solely by
25
+ * spine_color (see below).
22
26
  */
23
- export declare function derive_colors(bg_color: string, spine_color: string | null): DerivedColors;
27
+ export declare function derive_colors(bg_color: string, spine_color: string | null, image_backdrop?: {
28
+ back?: string;
29
+ spine?: string;
30
+ }): DerivedColors;
24
31
  /** Convert an optional hex color override to an HSL string, or return null */
25
32
  export declare function hex_override_to_hsl(hex: string | null): string | null;
26
33
  //# sourceMappingURL=colors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../src/colors.ts"],"names":[],"mappings":"AAGA,2DAA2D;AAC3D,wBAAgB,UAAU,CAAC,GAAG,EAAC,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAkB/D;AAWD,gGAAgG;AAChG,wBAAgB,aAAa,CAAC,GAAG,EAAC,MAAM,GAAG,OAAO,CAMjD;AAaD,oEAAoE;AACpE,MAAM,WAAW,aAAa;IAC1B,gBAAgB,EAAC,MAAM,CAAA;IACvB,eAAe,EAAC,MAAM,CAAA;IACtB,gBAAgB,EAAC,MAAM,GAAG,IAAI,CAAA;IAC9B,WAAW,EAAC,MAAM,CAAA;IAClB,cAAc,EAAC,MAAM,CAAA;IACrB,YAAY,EAAC,MAAM,CAAA;IACnB,KAAK,EAAC,MAAM,CAAA;IACZ,gBAAgB,EAAC,MAAM,CAAA;IACvB,WAAW,EAAC,MAAM,CAAA;IAClB,YAAY,EAAC,MAAM,CAAA;CACtB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,GAAG,IAAI,GAAE,aAAa,CAiCtF;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,GAAG,EAAC,MAAM,GAAG,IAAI,GAAE,MAAM,GAAG,IAAI,CAInE"}
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../src/colors.ts"],"names":[],"mappings":"AAGA,2DAA2D;AAC3D,wBAAgB,UAAU,CAAC,GAAG,EAAC,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAkB/D;AAWD,gGAAgG;AAChG,wBAAgB,aAAa,CAAC,GAAG,EAAC,MAAM,GAAG,OAAO,CAMjD;AAaD,oEAAoE;AACpE,MAAM,WAAW,aAAa;IAC1B,gBAAgB,EAAC,MAAM,CAAA;IACvB,eAAe,EAAC,MAAM,CAAA;IACtB,gBAAgB,EAAC,MAAM,GAAG,IAAI,CAAA;IAC9B,WAAW,EAAC,MAAM,CAAA;IAClB,cAAc,EAAC,MAAM,CAAA;IACrB,YAAY,EAAC,MAAM,CAAA;IACnB,KAAK,EAAC,MAAM,CAAA;IACZ,gBAAgB,EAAC,MAAM,CAAA;IACvB,WAAW,EAAC,MAAM,CAAA;IAClB,YAAY,EAAC,MAAM,CAAA;CACtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CACzB,QAAQ,EAAC,MAAM,EACf,WAAW,EAAC,MAAM,GAAG,IAAI,EACzB,cAAc,CAAC,EAAC;IAAC,IAAI,CAAC,EAAC,MAAM,CAAC;IAAC,KAAK,CAAC,EAAC,MAAM,CAAA;CAAC,GAC/C,aAAa,CA2Cd;AAED,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,GAAG,EAAC,MAAM,GAAG,IAAI,GAAE,MAAM,GAAG,IAAI,CAInE"}
package/dist/colors.js CHANGED
@@ -48,24 +48,38 @@ function hex_to_hsl_str(hex) {
48
48
  * Derive all cover colors from the background color and optional spine color.
49
49
  * Dark/light mode is auto-detected from bg_color.
50
50
  * spine_color: when null, spine uses bg_color; when set, spine gets its own background.
51
+ * image_backdrop: real colors sampled from the background image, used in place of bg_color for
52
+ * blurb (back panel) and spine text specifically when the image is actually visible behind
53
+ * them (full-wrap coverage) — never affects spine_background, which stays governed solely by
54
+ * spine_color (see below).
51
55
  */
52
- export function derive_colors(bg_color, spine_color) {
56
+ export function derive_colors(bg_color, spine_color, image_backdrop) {
53
57
  const [ph, ps, pl] = hex_to_hsl(bg_color);
54
58
  const dark = is_dark_color(bg_color);
55
59
  // Front text: white on dark primary, near-black on light primary
56
60
  const text = dark ? fmt_hsl(0, 0, 100) : fmt_hsl(0, 0, 10);
57
- // Spine background and text contrast
58
- const spine_dark = spine_color ? is_dark_color(spine_color) : dark;
61
+ // Spine text contrast: real image color behind the spine (full-wrap coverage) takes
62
+ // priority over bg_color when spine_color itself isn't explicitly set
63
+ const spine_dark = spine_color
64
+ ? is_dark_color(spine_color)
65
+ : image_backdrop?.spine ? is_dark_color(image_backdrop.spine) : dark;
59
66
  const spine_text = spine_dark ? fmt_hsl(0, 0, 100) : fmt_hsl(0, 0, 10);
67
+ // Spine background: only ever painted when spine_color is explicitly set — never derived
68
+ // from image_backdrop, since cover.typ paints the spine-background layer after the
69
+ // background image layer, so a non-null fill here would paint over and hide a full-wrap image
60
70
  let spine_bg = null;
61
71
  if (spine_color) {
62
72
  const [sh, ss, sl] = hex_to_hsl(spine_color);
63
73
  spine_bg = fmt_hsl(sh, ss, sl);
64
74
  }
65
- // Blurb container background: derived from primary
66
- const blurb_background = dark
67
- ? fmt_hsl(ph, ps, Math.min(pl, 25))
68
- : fmt_hsl(ph, ps, Math.max(pl, 75));
75
+ // Blurb container background: derived from the real image color behind the back panel
76
+ // (full-wrap coverage) when available, else from bg_color as today
77
+ const [bh, bs, bl] = image_backdrop?.back ? hex_to_hsl(image_backdrop.back) : [ph, ps, pl];
78
+ const back_dark = image_backdrop?.back ? is_dark_color(image_backdrop.back) : dark;
79
+ const blurb_background = back_dark
80
+ ? fmt_hsl(bh, bs, Math.min(bl, 25))
81
+ : fmt_hsl(bh, bs, Math.max(bl, 75));
82
+ const blurb_text = back_dark ? fmt_hsl(0, 0, 100) : fmt_hsl(0, 0, 10);
69
83
  return {
70
84
  front_background: fmt_hsl(ph, ps, pl),
71
85
  back_background: blurb_background,
@@ -73,7 +87,7 @@ export function derive_colors(bg_color, spine_color) {
73
87
  front_title: text,
74
88
  front_subtitle: text,
75
89
  front_author: text,
76
- blurb: text,
90
+ blurb: blurb_text,
77
91
  blurb_background,
78
92
  spine_title: spine_text,
79
93
  spine_author: spine_text,
@@ -1 +1 @@
1
- {"version":3,"file":"colors.js","sourceRoot":"","sources":["../src/colors.ts"],"names":[],"mappings":"AACA,2DAA2D;AAE3D,2DAA2D;AAC3D,MAAM,UAAU,UAAU,CAAC,GAAU;IACjC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAA;IAC7C,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAA;IAC7C,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAA;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACtD,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;IACzB,IAAI,GAAG,KAAK,GAAG;QACX,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAA;IAC1B,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,CAAA;IACnB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAA;IACzD,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,GAAG,KAAK,CAAC;QACT,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;SACtC,IAAI,GAAG,KAAK,CAAC;QACd,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;;QAEzB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IAC7B,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAA;AACtC,CAAC;AAED,wDAAwD;AACxD,SAAS,kBAAkB,CAAC,GAAU;IAClC,MAAM,SAAS,GAAG,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAA;IAC7F,MAAM,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAA;IACxD,MAAM,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAA;IACxD,MAAM,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAA;IACxD,OAAO,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,CAAA;AAC/C,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,aAAa,CAAC,GAAU;IACpC,MAAM,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IACjC,iDAAiD;IACjD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;IACxC,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAA;IACxC,OAAO,cAAc,GAAG,cAAc,CAAA;AAC1C,CAAC;AAED,gGAAgG;AAChG,SAAS,OAAO,CAAC,CAAQ,EAAE,CAAQ,EAAE,CAAQ;IACzC,OAAO,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AAC3E,CAAC;AAED,2CAA2C;AAC3C,SAAS,cAAc,CAAC,GAAU;IAC9B,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IACjC,OAAO,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAC3B,CAAC;AAgBD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,QAAe,EAAE,WAAyB;IACpE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IACzC,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IAEpC,iEAAiE;IACjE,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;IAE1D,qCAAqC;IACrC,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAClE,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;IACtE,IAAI,QAAQ,GAAiB,IAAI,CAAA;IACjC,IAAI,WAAW,EAAE,CAAC;QACd,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;QAC5C,QAAQ,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;IAClC,CAAC;IAED,mDAAmD;IACnD,MAAM,gBAAgB,GAAG,IAAI;QACzB,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;IAEvC,OAAO;QACH,gBAAgB,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QACrC,eAAe,EAAE,gBAAgB;QACjC,gBAAgB,EAAE,QAAQ;QAC1B,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,IAAI;QACpB,YAAY,EAAE,IAAI;QAClB,KAAK,EAAE,IAAI;QACX,gBAAgB;QAChB,WAAW,EAAE,UAAU;QACvB,YAAY,EAAE,UAAU;KAC3B,CAAA;AACL,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,mBAAmB,CAAC,GAAiB;IACjD,IAAI,CAAC,GAAG;QACJ,OAAO,IAAI,CAAA;IACf,OAAO,cAAc,CAAC,GAAG,CAAC,CAAA;AAC9B,CAAC"}
1
+ {"version":3,"file":"colors.js","sourceRoot":"","sources":["../src/colors.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,5 @@ import type { FontSizes } from './font_sizes.js';
6
6
  * Build the full _data.typ file content from all computed cover data.
7
7
  * The Typst template imports this file to receive all variables.
8
8
  */
9
- export declare function build_data_file(schema: CoverSchema, dims: GetDimensionsResult, colors: ResolvedColors, font_body_family: string[], font_title1_family: string[], font_title2_family: string[], font_title3_family: string[], font_subtitle_family: string[], font_author_family: string[], font_blurb_family: string[], font_spine_title_family: string[], font_spine_author_family: string[], font_sizes: FontSizes, image_filename: string | null, has_barcode: boolean, has_icon: boolean, has_pattern: boolean, pattern_aspect_ratio?: number): string;
9
+ export declare function build_data_file(schema: CoverSchema, dims: GetDimensionsResult, colors: ResolvedColors, font_body_family: string[], font_title1_family: string[], font_title2_family: string[], font_title3_family: string[], font_subtitle_family: string[], font_author_family: string[], font_blurb_family: string[], font_spine_title_family: string[], font_spine_author_family: string[], font_sizes: FontSizes, image_filename: string | null, image_is_vector: boolean, has_barcode: boolean, has_icon: boolean, has_pattern: boolean, pattern_aspect_ratio?: number): string;
10
10
  //# sourceMappingURL=data_file.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data_file.d.ts","sourceRoot":"","sources":["../src/data_file.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAA;AAyC9C;;;GAGG;AACH,wBAAgB,eAAe,CAC3B,MAAM,EAAC,WAAW,EAClB,IAAI,EAAC,mBAAmB,EACxB,MAAM,EAAC,cAAc,EACrB,gBAAgB,EAAC,MAAM,EAAE,EACzB,kBAAkB,EAAC,MAAM,EAAE,EAC3B,kBAAkB,EAAC,MAAM,EAAE,EAC3B,kBAAkB,EAAC,MAAM,EAAE,EAC3B,oBAAoB,EAAC,MAAM,EAAE,EAC7B,kBAAkB,EAAC,MAAM,EAAE,EAC3B,iBAAiB,EAAC,MAAM,EAAE,EAC1B,uBAAuB,EAAC,MAAM,EAAE,EAChC,wBAAwB,EAAC,MAAM,EAAE,EACjC,UAAU,EAAC,SAAS,EACpB,cAAc,EAAC,MAAM,GAAG,IAAI,EAC5B,WAAW,EAAC,OAAO,EACnB,QAAQ,EAAC,OAAO,EAChB,WAAW,EAAC,OAAO,EACnB,oBAAoB,CAAC,EAAC,MAAM,GAC9B,MAAM,CA+LP"}
1
+ {"version":3,"file":"data_file.d.ts","sourceRoot":"","sources":["../src/data_file.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,aAAa,CAAA;AAC/C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAA;AAyC9C;;;GAGG;AACH,wBAAgB,eAAe,CAC3B,MAAM,EAAC,WAAW,EAClB,IAAI,EAAC,mBAAmB,EACxB,MAAM,EAAC,cAAc,EACrB,gBAAgB,EAAC,MAAM,EAAE,EACzB,kBAAkB,EAAC,MAAM,EAAE,EAC3B,kBAAkB,EAAC,MAAM,EAAE,EAC3B,kBAAkB,EAAC,MAAM,EAAE,EAC3B,oBAAoB,EAAC,MAAM,EAAE,EAC7B,kBAAkB,EAAC,MAAM,EAAE,EAC3B,iBAAiB,EAAC,MAAM,EAAE,EAC1B,uBAAuB,EAAC,MAAM,EAAE,EAChC,wBAAwB,EAAC,MAAM,EAAE,EACjC,UAAU,EAAC,SAAS,EACpB,cAAc,EAAC,MAAM,GAAG,IAAI,EAC5B,eAAe,EAAC,OAAO,EACvB,WAAW,EAAC,OAAO,EACnB,QAAQ,EAAC,OAAO,EAChB,WAAW,EAAC,OAAO,EACnB,oBAAoB,CAAC,EAAC,MAAM,GAC9B,MAAM,CAqMP"}
package/dist/data_file.js CHANGED
@@ -37,7 +37,7 @@ function num(name, value) {
37
37
  * Build the full _data.typ file content from all computed cover data.
38
38
  * The Typst template imports this file to receive all variables.
39
39
  */
40
- export function build_data_file(schema, dims, colors, font_body_family, font_title1_family, font_title2_family, font_title3_family, font_subtitle_family, font_author_family, font_blurb_family, font_spine_title_family, font_spine_author_family, font_sizes, image_filename, has_barcode, has_icon, has_pattern, pattern_aspect_ratio) {
40
+ export function build_data_file(schema, dims, colors, font_body_family, font_title1_family, font_title2_family, font_title3_family, font_subtitle_family, font_author_family, font_blurb_family, font_spine_title_family, font_spine_author_family, font_sizes, image_filename, image_is_vector, has_barcode, has_icon, has_pattern, pattern_aspect_ratio) {
41
41
  const lines = ['// Auto-generated by paper_cover generator — do not edit', ''];
42
42
  // Total dimensions
43
43
  lines.push('// Total dimensions');
@@ -58,6 +58,11 @@ export function build_data_file(schema, dims, colors, font_body_family, font_tit
58
58
  lines.push(bool('has_spine', dims.cover_has_spine));
59
59
  lines.push(bool('has_spine_text', dims.cover_has_spine_text));
60
60
  lines.push(bool('has_bleed', dims.cover_has_bleed));
61
+ // Home-print white margin: a fixed white border with rounded inner corners
62
+ // overlaid on the whole cover for home inkjet printers that can't print to the edge
63
+ lines.push(bool('home_print', schema.home_print_margin ?? false));
64
+ lines.push(mmval('home_margin', 8)); // white border width
65
+ lines.push(mmval('home_corner', 6)); // rounded-corner radius of the artwork
61
66
  lines.push('');
62
67
  const { subtitle_lines } = font_sizes;
63
68
  // Text content
@@ -196,6 +201,7 @@ export function build_data_file(schema, dims, colors, font_body_family, font_tit
196
201
  lines.push(bool('has_image', image_filename !== null));
197
202
  lines.push(str('image_filename', image_filename ?? ''));
198
203
  lines.push(str('image_coverage', schema.bg_image_coverage ?? 'front'));
204
+ lines.push(bool('image_is_vector', image_is_vector));
199
205
  lines.push(bool('has_icon', has_icon));
200
206
  lines.push(str('icon_mode', schema.icon_mode ?? 'center'));
201
207
  lines.push(num('icon_size_mod', schema.icon_size ?? 1));
@@ -1 +1 @@
1
- {"version":3,"file":"data_file.js","sourceRoot":"","sources":["../src/data_file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data_file.js","sourceRoot":"","sources":["../src/data_file.ts"],"names":[],"mappings":"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"}
package/dist/design.d.ts CHANGED
@@ -16,6 +16,66 @@ export interface ResolvedColors {
16
16
  spine_author: string;
17
17
  accent: string;
18
18
  }
19
+ export type PaletteScheme = 'triadic' | 'analogous' | 'split_complementary' | 'complementary' | 'accent_tones';
20
+ /**
21
+ * Derive `count` aesthetically-harmonious hex colors from a base color (hex or hsl() string).
22
+ * The 'accent_tones' scheme uses a fixed tuned tone set (see generate_accent_tones); the other
23
+ * schemes use a hue-harmony wheel, with saturation/lightness clamped into a mid-range band so
24
+ * the palette stays visibly colorful even when the base is near-white or near-black.
25
+ */
26
+ export declare function generate_palette(base: string, count: number, scheme: PaletteScheme): string[];
27
+ export interface RegionStats {
28
+ hue: number;
29
+ saturation: number;
30
+ lightness: number;
31
+ lightness_spread: number;
32
+ }
33
+ /** Build a hex color from a RegionStats triple */
34
+ export declare function region_hex(region: RegionStats): string;
35
+ /** Blend two sampled regions — saturation-weighted circular mean for hue (biases toward the
36
+ * more colorful of the two), plain mean for saturation/lightness. Used for text positioned
37
+ * between two sampled regions (e.g. 'middle'), which isn't backed by either one directly. */
38
+ export declare function blend_regions(a: RegionStats, b: RegionStats): RegionStats;
39
+ /**
40
+ * Preserve the given hue+saturation and find the least-extreme lightness (closest to 50%, i.e.
41
+ * most colorful) that still clears `min_contrast` against `bg_hex` — unlike auto_contrast_text,
42
+ * which always jumps straight to pure white/near-black. Contrast against a fixed background is
43
+ * unimodal in lightness, and both extremes (L=0/L=1) degenerate to pure black/white regardless
44
+ * of hue/saturation, so a bisection toward each extreme converges whenever the target is
45
+ * achievable at all. It isn't always: WCAG guarantees max(contrast_white, contrast_black) >=
46
+ * ~4.58 for any background, but that's a floor, not a ceiling — a mid-dark-gray background can
47
+ * cap out well below a demanding `min_contrast` (e.g. ~7+) even at pure black or white. In that
48
+ * case this falls back to whichever extreme gets closest, same as auto_contrast_text would.
49
+ */
50
+ export declare function tinted_contrast_text(hue: number, saturation: number, bg_hex: string, min_contrast?: number): string;
51
+ /**
52
+ * Cross-region hue search for text color: try each candidate region's hue against the given
53
+ * backdrop, plus a plain grayscale option, and keep whichever produces the most vivid (least
54
+ * contrast-compromised) still-readable result. Regions aren't treated as isolated — e.g. text
55
+ * over a pale sky can legitimately borrow a saturated hue from a dark sea elsewhere in the same
56
+ * photo, if that reads better than darkening the sky's own washed-out hue. Candidates that
57
+ * would land in muddy/dirty territory (a washed-out hue forced dark) are penalized, whichever
58
+ * region they come from, so a cleaner alternative — another region's hue, or plain grayscale —
59
+ * wins unless the muddy option is clearly the most vivid available. Ties (within ~1% lightness)
60
+ * favor the backdrop's own region over the plain grayscale fallback, to avoid gratuitous
61
+ * cross-borrowing when it doesn't actually help.
62
+ *
63
+ * Against a near-black or near-white backdrop, this whole search breaks down: almost any hue
64
+ * already clears contrast at 50% lightness without ever being pushed toward an extreme, so it
65
+ * "wins" on the deviation metric below despite reading as a washed, dull mid-tone — and the
66
+ * muddy check never even applies, since that only fires once a candidate is forced dark. A
67
+ * backdrop this stark calls for plain black/white, so the hue search is skipped outright.
68
+ */
69
+ export declare function pick_vivid_tint(candidates: RegionStats[], backdrop: RegionStats, min_contrast?: number): string;
70
+ /**
71
+ * Derive a coordinating solid-fill color from sampled image regions — used wherever the image
72
+ * itself isn't visible (bg_color, accent, and blurb/spine fills outside full-wrap coverage).
73
+ * Picks the most saturated candidate as the hue source. With no `target_lightness`, clamps
74
+ * lightness into a light or dark band depending on whether the candidates read light or dark
75
+ * overall (for general fills); a fixed `target_lightness` near 0.5 gives a punchier, more
76
+ * vivid result (for decorative accents).
77
+ */
78
+ export declare function synthesize_fill(candidates: RegionStats[], target_lightness?: number): string;
19
79
  /** Merge user-supplied colors with defaults, deriving related fields when possible */
20
80
  export declare function resolve_colors(schema: CoverSchema): ResolvedColors;
21
81
  /** Per-field resolved font configs — the single source of the font inheritance chain */
@@ -1 +1 @@
1
- {"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../src/design.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,aAAa,CAAA;AAkBxD,MAAM,WAAW,cAAc;IAC3B,gBAAgB,EAAC,MAAM,CAAA;IACvB,oBAAoB,EAAC,MAAM,CAAA;IAC3B,kBAAkB,EAAC,MAAM,CAAA;IACzB,eAAe,EAAC,MAAM,CAAA;IACtB,gBAAgB,EAAC,MAAM,GAAG,IAAI,CAAA;IAC9B,YAAY,EAAC,MAAM,CAAA;IACnB,YAAY,EAAC,MAAM,CAAA;IACnB,YAAY,EAAC,MAAM,CAAA;IACnB,cAAc,EAAC,MAAM,CAAA;IACrB,YAAY,EAAC,MAAM,CAAA;IACnB,KAAK,EAAC,MAAM,CAAA;IACZ,gBAAgB,EAAC,MAAM,GAAG,IAAI,CAAA;IAC9B,WAAW,EAAC,MAAM,CAAA;IAClB,YAAY,EAAC,MAAM,CAAA;IACnB,MAAM,EAAC,MAAM,CAAA;CAChB;AAsCD,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,MAAM,EAAC,WAAW,GAAE,cAAc,CAkChE;AAKD,wFAAwF;AACxF,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAC,UAAU,CAAA;IACf,MAAM,EAAC,UAAU,CAAA;IACjB,MAAM,EAAC,UAAU,CAAA;IACjB,MAAM,EAAC,UAAU,CAAA;IACjB,QAAQ,EAAC,UAAU,CAAA;IACnB,MAAM,EAAC,UAAU,CAAA;IACjB,KAAK,EAAC,UAAU,CAAA;IAChB,WAAW,EAAC,UAAU,CAAA;IACtB,YAAY,EAAC,UAAU,CAAA;CAC1B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAC,WAAW,GAAE,mBAAmB,CAc3E;AAED,yFAAyF;AACzF,wBAAgB,qBAAqB,CAAC,MAAM,EAAC,WAAW,GAAE,MAAM,CAAC,MAAM,mBAAmB,EAAE,MAAM,CAAC,CAKlG;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAC,MAAM,EAAE,OAAO,EAAC,MAAM,GAAE,MAAM,CAEhE;AAED,wEAAwE;AACxE,wBAAgB,OAAO,CAAC,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,MAAM,GAAE,MAAM,CAE3D"}
1
+ {"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../src/design.ts"],"names":[],"mappings":"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"}