bookcover-core 0.8.0 → 0.9.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.
- package/dist/builtin_icons.d.ts +5 -0
- package/dist/builtin_icons.d.ts.map +1 -0
- package/dist/builtin_icons.js +18 -0
- package/dist/builtin_icons.js.map +1 -0
- package/dist/data_file.d.ts.map +1 -1
- package/dist/data_file.js +14 -7
- package/dist/data_file.js.map +1 -1
- package/dist/design.d.ts +0 -1
- package/dist/design.d.ts.map +1 -1
- package/dist/design.js +18 -13
- package/dist/design.js.map +1 -1
- package/dist/generated/icon_svgs_data.d.ts +4 -0
- package/dist/generated/icon_svgs_data.d.ts.map +1 -0
- package/dist/generated/icon_svgs_data.js +8 -0
- package/dist/generated/icon_svgs_data.js.map +1 -0
- package/dist/generated/templates_data.js +1 -1
- package/dist/generated/templates_data.js.map +1 -1
- package/dist/generated/vector_bg_images_data.d.ts.map +1 -1
- package/dist/generated/vector_bg_images_data.js +12 -11
- package/dist/generated/vector_bg_images_data.js.map +1 -1
- package/dist/icon_cache.d.ts +7 -1
- package/dist/icon_cache.d.ts.map +1 -1
- package/dist/icon_cache.js +19 -2
- package/dist/icon_cache.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Raw SVG text for a bundled built-in icon, keyed by its bare id (without "builtin:" prefix) */
|
|
2
|
+
export declare function find_builtin_icon(id: string): string | undefined;
|
|
3
|
+
/** All bundled built-in icon ids, without the "builtin:" prefix */
|
|
4
|
+
export declare function list_builtin_icons(): string[];
|
|
5
|
+
//# sourceMappingURL=builtin_icons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builtin_icons.d.ts","sourceRoot":"","sources":["../src/builtin_icons.ts"],"names":[],"mappings":"AAYA,iGAAiG;AACjG,wBAAgB,iBAAiB,CAAC,EAAE,EAAC,MAAM,GAAE,MAAM,GAAG,SAAS,CAE9D;AAED,mEAAmE;AACnE,wBAAgB,kBAAkB,IAAG,MAAM,EAAE,CAE5C"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Built-in icons bundled directly into the build, for cases where a suitable icon isn't
|
|
2
|
+
// available on Iconify (or the app wants to ship its own drawing rather than depend on an
|
|
3
|
+
// external collection). Source SVGs live in generator/icon_svgs/ (open any one directly in an
|
|
4
|
+
// SVG editor and edit freely; they use currentColor for the fill, recolored at generate time
|
|
5
|
+
// the same way as a fetched Iconify icon — see recolor_svg() in icon_cache.ts) and are bundled
|
|
6
|
+
// into generated/icon_svgs_data.ts by .bin/gen_icon_svgs at build time. Referenced by id as
|
|
7
|
+
// "builtin:<id>" (e.g. "builtin:cross") — resolve_icon() in icon_cache.ts checks this map
|
|
8
|
+
// before falling back to an Iconify API fetch.
|
|
9
|
+
import { BUILTIN_ICON_SVGS } from './generated/icon_svgs_data.js';
|
|
10
|
+
/** Raw SVG text for a bundled built-in icon, keyed by its bare id (without "builtin:" prefix) */
|
|
11
|
+
export function find_builtin_icon(id) {
|
|
12
|
+
return BUILTIN_ICON_SVGS[id];
|
|
13
|
+
}
|
|
14
|
+
/** All bundled built-in icon ids, without the "builtin:" prefix */
|
|
15
|
+
export function list_builtin_icons() {
|
|
16
|
+
return Object.keys(BUILTIN_ICON_SVGS).sort();
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=builtin_icons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builtin_icons.js","sourceRoot":"","sources":["../src/builtin_icons.ts"],"names":[],"mappings":"AACA,wFAAwF;AACxF,0FAA0F;AAC1F,8FAA8F;AAC9F,6FAA6F;AAC7F,+FAA+F;AAC/F,4FAA4F;AAC5F,0FAA0F;AAC1F,+CAA+C;AAE/C,OAAO,EAAC,iBAAiB,EAAC,MAAM,+BAA+B,CAAA;AAE/D,iGAAiG;AACjG,MAAM,UAAU,iBAAiB,CAAC,EAAS;IACvC,OAAO,iBAAiB,CAAC,EAAE,CAAC,CAAA;AAChC,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,kBAAkB;IAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAA;AAChD,CAAC"}
|
package/dist/data_file.d.ts.map
CHANGED
|
@@ -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,eAAe,EAAC,OAAO,EACvB,WAAW,EAAC,OAAO,EACnB,QAAQ,EAAC,OAAO,EAChB,WAAW,EAAC,OAAO,EACnB,oBAAoB,CAAC,EAAC,MAAM,GAC9B,MAAM,
|
|
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,CA6MP"}
|
package/dist/data_file.js
CHANGED
|
@@ -39,6 +39,11 @@ function num(name, value) {
|
|
|
39
39
|
*/
|
|
40
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
|
+
// Coil/wire bindings need extra clearance on the spine-adjacent edge of each panel for the
|
|
43
|
+
// punched holes (2mm gap + 5mm hole width). Kept in sync manually with 3d/src/geometry.ts's
|
|
44
|
+
// HOLE_LEFT_GAP_MM/HOLE_WIDTH_MM — the two packages don't share a workspace.
|
|
45
|
+
const is_spiral = schema.binding_type === 'paperback_coil' || schema.binding_type === 'paperback_wire';
|
|
46
|
+
const spiral_margin_mm = is_spiral ? 7 : 0;
|
|
42
47
|
// Total dimensions
|
|
43
48
|
lines.push('// Total dimensions');
|
|
44
49
|
lines.push(mmval('total_width', dims.cover_total_width.toNumber()));
|
|
@@ -50,8 +55,8 @@ export function build_data_file(schema, dims, colors, font_body_family, font_tit
|
|
|
50
55
|
lines.push(mmval('back_x', dims.cover_region_back.x.toNumber()));
|
|
51
56
|
lines.push(mmval('spine_x', dims.cover_region_spine.x.toNumber()));
|
|
52
57
|
lines.push(mmval('front_x', dims.cover_region_front.x.toNumber()));
|
|
53
|
-
// Barcode region (x from canvas left, y from trim bottom)
|
|
54
|
-
lines.push(mmval('barcode_x', dims.cover_region_barcode.x.toNumber()));
|
|
58
|
+
// Barcode region (x from canvas left, y from trim bottom) — pulled clear of the spiral margin
|
|
59
|
+
lines.push(mmval('barcode_x', dims.cover_region_barcode.x.toNumber() - spiral_margin_mm));
|
|
55
60
|
lines.push(mmval('barcode_y', dims.cover_region_barcode.y.toNumber()));
|
|
56
61
|
lines.push(mmval('barcode_w', dims.cover_region_barcode.w.toNumber()));
|
|
57
62
|
lines.push(mmval('barcode_h', dims.cover_region_barcode.h.toNumber()));
|
|
@@ -113,7 +118,6 @@ export function build_data_file(schema, dims, colors, font_body_family, font_tit
|
|
|
113
118
|
lines.push(color('color_blurb_bg', colors.blurb_background));
|
|
114
119
|
lines.push(color('color_spine_title', colors.spine_title));
|
|
115
120
|
lines.push(color('color_spine_author', colors.spine_author));
|
|
116
|
-
lines.push(color('color_accent', colors.accent));
|
|
117
121
|
lines.push('');
|
|
118
122
|
// Typography
|
|
119
123
|
lines.push('// Typography');
|
|
@@ -173,13 +177,16 @@ export function build_data_file(schema, dims, colors, font_body_family, font_tit
|
|
|
173
177
|
const back_margin_mm = Math.max(face_height_mm * (schema.margin_back ?? 10) / 100, min_back_margin_mm);
|
|
174
178
|
lines.push(mmval('front_margin', front_margin_mm));
|
|
175
179
|
lines.push(mmval('back_margin', back_margin_mm));
|
|
176
|
-
|
|
177
|
-
|
|
180
|
+
lines.push(mmval('spiral_margin', spiral_margin_mm));
|
|
181
|
+
// Derived content areas — front narrows on the spine (left) side only, for spiral holes
|
|
182
|
+
lines.push(mmval('front_content_w', face_width_mm - front_margin_mm * 2 - spiral_margin_mm));
|
|
178
183
|
lines.push(mmval('front_content_h', face_height_mm - front_margin_mm * 2));
|
|
179
184
|
lines.push(mmval('back_content_w', face_width_mm - back_margin_mm * 2));
|
|
180
185
|
lines.push(mmval('back_content_h', face_height_mm - back_margin_mm * 2));
|
|
181
|
-
// Blurb width (% of face_width, clamped to back content width)
|
|
182
|
-
|
|
186
|
+
// Blurb width (% of face_width, clamped to back content width). The spiral margin is
|
|
187
|
+
// subtracted here too (not just from the centering dx in cover.typ) so a maxed-out
|
|
188
|
+
// blurb_width can't get pushed past the fore-edge margin once centering shifts it left.
|
|
189
|
+
const back_content_w_mm = face_width_mm - back_margin_mm * 2 - spiral_margin_mm;
|
|
183
190
|
const blurb_w_mm = Math.min(face_width_mm * (schema.blurb_width ?? 80) / 100, back_content_w_mm);
|
|
184
191
|
lines.push(mmval('blurb_width', blurb_w_mm));
|
|
185
192
|
lines.push(mmval('blurb_padding', blurb_padding_mm));
|
package/dist/data_file.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data_file.js","sourceRoot":"","sources":["../src/data_file.ts"],"names":[],"mappings":"AACA,gEAAgE;AAEhE,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAA;AACtC,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAA;AAM5C,+DAA+D;AAC/D,SAAS,KAAK,CAAC,IAAW,EAAE,EAAS;IACjC,OAAO,QAAQ,IAAI,MAAM,WAAW,CAAC,EAAE,CAAC,EAAE,CAAA;AAC9C,CAAC;AAED,qDAAqD;AACrD,SAAS,GAAG,CAAC,IAAW,EAAE,KAAY;IAClC,OAAO,QAAQ,IAAI,OAAO,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAA;AACxD,CAAC;AAED,sFAAsF;AACtF,SAAS,GAAG,CAAC,IAAW,EAAE,MAAe;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpE,OAAO,QAAQ,IAAI,OAAO,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAA;AACzD,CAAC;AAED,sDAAsD;AACtD,SAAS,IAAI,CAAC,IAAW,EAAE,KAAa;IACpC,OAAO,QAAQ,IAAI,MAAM,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;AACvD,CAAC;AAED,8FAA8F;AAC9F,SAAS,KAAK,CAAC,IAAW,EAAE,OAAqB;IAC7C,IAAI,OAAO,KAAK,IAAI;QAChB,OAAO,QAAQ,IAAI,SAAS,CAAA;IAChC,iFAAiF;IACjF,OAAO,QAAQ,IAAI,YAAY,OAAO,EAAE,CAAA;AAC5C,CAAC;AAED,wFAAwF;AACxF,SAAS,WAAW,CAAC,IAAW,EAAE,KAAY;IAC1C,OAAO,QAAQ,IAAI,OAAO,KAAK,GAAG,CAAA;AACtC,CAAC;AAED,qDAAqD;AACrD,SAAS,GAAG,CAAC,IAAW,EAAE,KAAY;IAClC,OAAO,QAAQ,IAAI,MAAM,KAAK,EAAE,CAAA;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC3B,MAAkB,EAClB,IAAwB,EACxB,MAAqB,EACrB,gBAAyB,EACzB,kBAA2B,EAC3B,kBAA2B,EAC3B,kBAA2B,EAC3B,oBAA6B,EAC7B,kBAA2B,EAC3B,iBAA0B,EAC1B,uBAAgC,EAChC,wBAAiC,EACjC,UAAoB,EACpB,cAA4B,EAC5B,eAAuB,EACvB,WAAmB,EACnB,QAAgB,EAChB,WAAmB,EACnB,oBAA4B;IAE5B,MAAM,KAAK,GAAY,CAAC,0DAA0D,EAAE,EAAE,CAAC,CAAA;IAEvF,mBAAmB;IACnB,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IACjC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACnE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACrE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACjE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACnE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAC7D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAChE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAClE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAClE,0DAA0D;IAC1D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACtE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACtE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACtE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACtE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAA;IACnD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAA;IAC7D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAA;IACnD,2EAA2E;IAC3E,oFAAoF;IACpF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,iBAAiB,IAAI,KAAK,CAAC,CAAC,CAAA;IACjE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAA,CAAG,qBAAqB;IAC3D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAA,CAAG,uCAAuC;IAC7E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAA;IAEnC,eAAe;IACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC7B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACvD,MAAM,oBAAoB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3F,KAAK,CAAC,IAAI,CAAC,0BAA0B,oBAAoB,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC/F,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAA;IACxD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAA;IAC1D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAA;IAC9C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAA;IAC1C,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAA;IACpD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IACzD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IACzD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IACzD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IACrD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACjD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,sDAAsD;IACtD,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;IAChC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAA;IAC3D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAA;IACrD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC,CAAA;IACrE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC,CAAA;IACvE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,SAAS;IACT,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;IACpE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,4BAA4B,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAA;IAC5E,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAA;IACxE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAA;IAC1D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAC5D,kEAAkE;IAClE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;IAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;IAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;IAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAA;IAChE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;IAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;IAC1D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;IAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IAChD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,aAAa;IACb,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC,CAAA;IACrD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC,CAAA;IACzD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC,CAAA;IACzD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC,CAAA;IACzD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAC,CAAA;IAC7D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC,CAAA;IACzD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,uBAAuB,CAAC,CAAC,CAAA;IACnE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,EAAE,wBAAwB,CAAC,CAAC,CAAA;IACrE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC,CAAA;IAC7D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC,CAAA;IAChE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC,CAAA;IAC7D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC,CAAA;IAChE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC,CAAA;IAC7D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC,CAAA;IAChE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,eAAe,IAAI,GAAG,CAAC,CAAC,CAAA;IACjE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,eAAe,IAAI,KAAK,CAAC,CAAC,CAAA;IACpE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC,CAAA;IAC7D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC,CAAA;IAChE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,IAAI,GAAG,CAAC,CAAC,CAAA;IACvE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,IAAI,KAAK,CAAC,CAAC,CAAA;IAC1E,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,mBAAmB,IAAI,GAAG,CAAC,CAAC,CAAA;IACzE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,mBAAmB,IAAI,KAAK,CAAC,CAAC,CAAA;IAC5E,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAA;IACzD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAA;IAC3D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAA;IAC7D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,kCAAkC;IAClC,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;IAChD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAA;IACxD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAC9D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAA;IAC1D,4DAA4D;IAC5D,KAAK,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,eAAe,IAAI,QAAQ,EAAE,CAAC,CAAA;IAC1E,KAAK,CAAC,IAAI,CAAC,6BAA6B,MAAM,CAAC,kBAAkB,IAAI,QAAQ,EAAE,CAAC,CAAA;IAChF,KAAK,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,gBAAgB,IAAI,QAAQ,EAAE,CAAC,CAAA;IAC5E,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,IAAI,MAAM,CAAA;IACpD,KAAK,CAAC,IAAI,CAAC,0BAA0B,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;IAC1F,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,KAAK,WAAW,CAAC,CAAC,CAAA;IAC9D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,4DAA4D;IAC5D,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAA;IACxD,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAA;IACtD,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAA;IACpD,gGAAgG;IAChG,MAAM,oBAAoB,GAAG,CAAC,CAAA;IAC9B,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAC7B,cAAc,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,oBAAoB,CAAC,CAAA;IAC7E,4EAA4E;IAC5E,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,eAAe,CAAC,CAAA,CAAE,eAAe;IAC1E,kFAAkF;IAClF,MAAM,kBAAkB,GAAG,eAAe,GAAG,gBAAgB,CAAA;IAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAC5B,cAAc,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,GAAG,GAAG,EAAE,mBAAmB,CAC1E,CAAA;IACD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC3B,cAAc,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,GAAG,GAAG,EAAE,kBAAkB,CACxE,CAAA;IACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAAA;IAClD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAA;IAChD,wBAAwB;IACxB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,aAAa,GAAG,eAAe,GAAG,CAAC,CAAC,CAAC,CAAA;IACzE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,cAAc,GAAG,eAAe,GAAG,CAAC,CAAC,CAAC,CAAA;IAC1E,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,aAAa,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAA;IACvE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,cAAc,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAA;IACxE,+DAA+D;IAC/D,MAAM,iBAAiB,GAAG,aAAa,GAAG,cAAc,GAAG,CAAC,CAAA;IAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CACvB,aAAa,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,GAAG,GAAG,EAAE,iBAAiB,CACtE,CAAA;IACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAA;IAC5C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAA;IACpD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAA;IAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,sCAAsC;IACtC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IACjC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAA;IAC3D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAA;IAClE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,CAAA;IACxE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,gBAAgB,IAAI,GAAG,CAAC,CAAC,CAAA;IACnE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,CAAA;IACxE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC,CAAA;IAC9E,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAA;IACpE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAA;IAC1E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,2BAA2B;IAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,KAAK,IAAI,CAAC,CAAC,CAAA;IACtD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAA;IACtE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC,CAAA;IACpD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;IACtC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAA;IAC1D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAA;IACvD,oFAAoF;IACpF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAA;IACzG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAA;IAC5C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAA;IAC5C,+GAA+G;IAC/G,MAAM,cAAc,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAA;IACnD,MAAM,cAAc,GAAG,oBAAoB,CAAC,CAAC,CAAC,cAAc,GAAG,oBAAoB,CAAC,CAAC,CAAC,cAAc,CAAA;IACpG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAA;IACnD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAA;IACnD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC"}
|
|
1
|
+
{"version":3,"file":"data_file.js","sourceRoot":"","sources":["../src/data_file.ts"],"names":[],"mappings":"AACA,gEAAgE;AAEhE,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAA;AACtC,OAAO,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAA;AAM5C,+DAA+D;AAC/D,SAAS,KAAK,CAAC,IAAW,EAAE,EAAS;IACjC,OAAO,QAAQ,IAAI,MAAM,WAAW,CAAC,EAAE,CAAC,EAAE,CAAA;AAC9C,CAAC;AAED,qDAAqD;AACrD,SAAS,GAAG,CAAC,IAAW,EAAE,KAAY;IAClC,OAAO,QAAQ,IAAI,OAAO,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAA;AACxD,CAAC;AAED,sFAAsF;AACtF,SAAS,GAAG,CAAC,IAAW,EAAE,MAAe;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpE,OAAO,QAAQ,IAAI,OAAO,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAA;AACzD,CAAC;AAED,sDAAsD;AACtD,SAAS,IAAI,CAAC,IAAW,EAAE,KAAa;IACpC,OAAO,QAAQ,IAAI,MAAM,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;AACvD,CAAC;AAED,8FAA8F;AAC9F,SAAS,KAAK,CAAC,IAAW,EAAE,OAAqB;IAC7C,IAAI,OAAO,KAAK,IAAI;QAChB,OAAO,QAAQ,IAAI,SAAS,CAAA;IAChC,iFAAiF;IACjF,OAAO,QAAQ,IAAI,YAAY,OAAO,EAAE,CAAA;AAC5C,CAAC;AAED,wFAAwF;AACxF,SAAS,WAAW,CAAC,IAAW,EAAE,KAAY;IAC1C,OAAO,QAAQ,IAAI,OAAO,KAAK,GAAG,CAAA;AACtC,CAAC;AAED,qDAAqD;AACrD,SAAS,GAAG,CAAC,IAAW,EAAE,KAAY;IAClC,OAAO,QAAQ,IAAI,MAAM,KAAK,EAAE,CAAA;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC3B,MAAkB,EAClB,IAAwB,EACxB,MAAqB,EACrB,gBAAyB,EACzB,kBAA2B,EAC3B,kBAA2B,EAC3B,kBAA2B,EAC3B,oBAA6B,EAC7B,kBAA2B,EAC3B,iBAA0B,EAC1B,uBAAgC,EAChC,wBAAiC,EACjC,UAAoB,EACpB,cAA4B,EAC5B,eAAuB,EACvB,WAAmB,EACnB,QAAgB,EAChB,WAAmB,EACnB,oBAA4B;IAE5B,MAAM,KAAK,GAAY,CAAC,0DAA0D,EAAE,EAAE,CAAC,CAAA;IAEvF,2FAA2F;IAC3F,4FAA4F;IAC5F,6EAA6E;IAC7E,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,KAAK,gBAAgB,IAAI,MAAM,CAAC,YAAY,KAAK,gBAAgB,CAAA;IACtG,MAAM,gBAAgB,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAE1C,mBAAmB;IACnB,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IACjC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACnE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACrE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACjE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACnE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAC7D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAChE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAClE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAClE,8FAA8F;IAC9F,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAA;IACzF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACtE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACtE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACtE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAA;IACnD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAA;IAC7D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAA;IACnD,2EAA2E;IAC3E,oFAAoF;IACpF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,iBAAiB,IAAI,KAAK,CAAC,CAAC,CAAA;IACjE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAA,CAAG,qBAAqB;IAC3D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAA,CAAG,uCAAuC;IAC7E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,MAAM,EAAC,cAAc,EAAC,GAAG,UAAU,CAAA;IAEnC,eAAe;IACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC7B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACvD,MAAM,oBAAoB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3F,KAAK,CAAC,IAAI,CAAC,0BAA0B,oBAAoB,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC/F,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAA;IACxD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAA;IAC1D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAA;IAC9C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAA;IAC1C,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAA;IACpD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IACzD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IACzD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IACzD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IACrD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACjD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,sDAAsD;IACtD,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAA;IAChC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAA;IAC3D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAA;IACrD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC,CAAA;IACrE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC,CAAA;IACvE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,SAAS;IACT,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;IACpE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,4BAA4B,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAA;IAC5E,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,0BAA0B,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAA;IACxE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAA;IAC1D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAC5D,kEAAkE;IAClE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;IAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;IAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;IAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAA;IAChE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;IAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;IAC1D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAA;IAC5D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,aAAa;IACb,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC,CAAA;IACrD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC,CAAA;IACzD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC,CAAA;IACzD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC,CAAA;IACzD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAC,CAAA;IAC7D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC,CAAA;IACzD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,uBAAuB,CAAC,CAAC,CAAA;IACnE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,0BAA0B,EAAE,wBAAwB,CAAC,CAAC,CAAA;IACrE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC,CAAA;IAC7D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC,CAAA;IAChE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC,CAAA;IAC7D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC,CAAA;IAChE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC,CAAA;IAC7D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC,CAAA;IAChE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,eAAe,IAAI,GAAG,CAAC,CAAC,CAAA;IACjE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,eAAe,IAAI,KAAK,CAAC,CAAC,CAAA;IACpE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC,CAAA;IAC7D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,IAAI,KAAK,CAAC,CAAC,CAAA;IAChE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,IAAI,GAAG,CAAC,CAAC,CAAA;IACvE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,IAAI,KAAK,CAAC,CAAC,CAAA;IAC1E,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,mBAAmB,IAAI,GAAG,CAAC,CAAC,CAAA;IACzE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,mBAAmB,IAAI,KAAK,CAAC,CAAC,CAAA;IAC5E,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CAAA;IACzD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAA;IAC3D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAA;IAC7D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,kCAAkC;IAClC,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;IAChD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAA;IACxD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAC9D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAA;IAC1D,4DAA4D;IAC5D,KAAK,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,eAAe,IAAI,QAAQ,EAAE,CAAC,CAAA;IAC1E,KAAK,CAAC,IAAI,CAAC,6BAA6B,MAAM,CAAC,kBAAkB,IAAI,QAAQ,EAAE,CAAC,CAAA;IAChF,KAAK,CAAC,IAAI,CAAC,2BAA2B,MAAM,CAAC,gBAAgB,IAAI,QAAQ,EAAE,CAAC,CAAA;IAC5E,MAAM,WAAW,GAAG,MAAM,CAAC,eAAe,IAAI,MAAM,CAAA;IACpD,KAAK,CAAC,IAAI,CAAC,0BAA0B,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;IAC1F,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,KAAK,WAAW,CAAC,CAAC,CAAA;IAC9D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,4DAA4D;IAC5D,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAA;IACxD,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAA;IACtD,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAA;IACpD,gGAAgG;IAChG,MAAM,oBAAoB,GAAG,CAAC,CAAA;IAC9B,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAC7B,cAAc,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,oBAAoB,CAAC,CAAA;IAC7E,4EAA4E;IAC5E,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,eAAe,CAAC,CAAA,CAAE,eAAe;IAC1E,kFAAkF;IAClF,MAAM,kBAAkB,GAAG,eAAe,GAAG,gBAAgB,CAAA;IAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAC5B,cAAc,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,GAAG,GAAG,EAAE,mBAAmB,CAC1E,CAAA;IACD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC3B,cAAc,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,GAAG,GAAG,EAAE,kBAAkB,CACxE,CAAA;IACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC,CAAA;IAClD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAA;IAChD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAA;IACpD,wFAAwF;IACxF,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,aAAa,GAAG,eAAe,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAA;IAC5F,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,cAAc,GAAG,eAAe,GAAG,CAAC,CAAC,CAAC,CAAA;IAC1E,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,aAAa,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAA;IACvE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,cAAc,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAA;IACxE,qFAAqF;IACrF,mFAAmF;IACnF,wFAAwF;IACxF,MAAM,iBAAiB,GAAG,aAAa,GAAG,cAAc,GAAG,CAAC,GAAG,gBAAgB,CAAA;IAC/E,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CACvB,aAAa,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,GAAG,GAAG,EAAE,iBAAiB,CACtE,CAAA;IACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAA;IAC5C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAA;IACpD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAA;IAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,sCAAsC;IACtC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IACjC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC,CAAA;IAC3D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAA;IAClE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,CAAA;IACxE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,gBAAgB,IAAI,GAAG,CAAC,CAAC,CAAA;IACnE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,CAAA;IACxE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC,CAAA;IAC9E,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAA;IACpE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,CAAA;IAC1E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,2BAA2B;IAC3B,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,KAAK,IAAI,CAAC,CAAC,CAAA;IACtD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,CAAA;IACvD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,iBAAiB,IAAI,OAAO,CAAC,CAAC,CAAA;IACtE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC,CAAA;IACpD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;IACtC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAA;IAC1D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAA;IACvD,oFAAoF;IACpF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAA;IACzG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAA;IAC5C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAA;IAC5C,+GAA+G;IAC/G,MAAM,cAAc,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAA;IACnD,MAAM,cAAc,GAAG,oBAAoB,CAAC,CAAC,CAAC,cAAc,GAAG,oBAAoB,CAAC,CAAC,CAAC,cAAc,CAAA;IACpG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAA;IACnD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC,CAAA;IACnD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC"}
|
package/dist/design.d.ts
CHANGED
|
@@ -14,7 +14,6 @@ export interface ResolvedColors {
|
|
|
14
14
|
blurb_background: string | null;
|
|
15
15
|
spine_title: string;
|
|
16
16
|
spine_author: string;
|
|
17
|
-
accent: string;
|
|
18
17
|
}
|
|
19
18
|
export type PaletteScheme = 'triadic' | 'analogous' | 'split_complementary' | 'complementary' | 'accent_tones';
|
|
20
19
|
/**
|
package/dist/design.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../src/design.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,WAAW,EAAE,UAAU,EAAgB,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../src/design.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,WAAW,EAAE,UAAU,EAAgB,MAAM,aAAa,CAAA;AAavE,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;CACtB;AA4BD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,qBAAqB,GAAG,eAAe,GAAG,cAAc,CAAA;AAmD9G;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAC,MAAM,EAAE,KAAK,EAAC,MAAM,EAAE,MAAM,EAAC,aAAa,GAAE,MAAM,EAAE,CAyBzF;AA+BD,MAAM,WAAW,WAAW;IACxB,GAAG,EAAC,MAAM,CAAA;IACV,UAAU,EAAC,MAAM,CAAA;IACjB,SAAS,EAAC,MAAM,CAAA;IAChB,gBAAgB,EAAC,MAAM,CAAA;CAC1B;AAkCD,kDAAkD;AAClD,wBAAgB,UAAU,CAAC,MAAM,EAAC,WAAW,GAAE,MAAM,CAEpD;AAED;;8FAE8F;AAC9F,wBAAgB,aAAa,CAAC,CAAC,EAAC,WAAW,EAAE,CAAC,EAAC,WAAW,GAAE,WAAW,CAatE;AAUD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,EAAE,MAAM,EAAC,MAAM,EAAE,YAAY,SAAM,GAAE,MAAM,CA6B5G;AAyBD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAC,WAAW,EAAE,EAAE,QAAQ,EAAC,WAAW,EAAE,YAAY,SAAM,GAAE,MAAM,CAkCzG;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAC,WAAW,EAAE,EAAE,gBAAgB,CAAC,EAAC,MAAM,GAAE,MAAM,CA4BzF;AAgBD,eAAO,MAAM,oBAAoB,YAAY,CAAA;AAE7C;;;;;;;;mFAQmF;AACnF,MAAM,WAAW,YAAY;IACzB,SAAS,EAAC,WAAW,CAAA;IACrB,YAAY,EAAC,WAAW,CAAA;IACxB,cAAc,EAAC,WAAW,GAAG,IAAI,CAAA;IACjC,iBAAiB,EAAC,WAAW,GAAG,IAAI,CAAA;IACpC,IAAI,EAAC,WAAW,GAAG,IAAI,CAAA;IACvB,KAAK,EAAC,WAAW,GAAG,IAAI,CAAA;CAC3B;AAED;+EAC+E;AAC/E,wBAAgB,iBAAiB,CAAC,OAAO,EAAC,YAAY,GAAE,WAAW,EAAE,CAMpE;AAwDD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAC,WAAW,EAAE,aAAa,CAAC,EAAC,YAAY,GAAG,IAAI,GAAE,cAAc,CAyEpG;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"}
|
package/dist/design.js
CHANGED
|
@@ -8,8 +8,6 @@ import { hex_override_to_hsl } from './colors.js';
|
|
|
8
8
|
// these two are the only values with nothing to contrast against yet.
|
|
9
9
|
const COLOR_DEFAULTS = {
|
|
10
10
|
front_background: 'hsl(0deg, 0%, 100%)', // K=0% (white) — imageless, colorless base case
|
|
11
|
-
accent: 'hsl(0deg, 0%, 20%)', // K=80% — spine_background when spine_color is
|
|
12
|
-
// entirely unset (not even null)
|
|
13
11
|
};
|
|
14
12
|
/** Parse an hsl(Hdeg, S%, L%) string into a chroma Color instance */
|
|
15
13
|
function from_hsl(hsl_str) {
|
|
@@ -122,6 +120,14 @@ function auto_contrast_text(bg) {
|
|
|
122
120
|
? 'hsl(0deg, 0%, 100%)' // white — better on dark backgrounds
|
|
123
121
|
: 'hsl(0deg, 0%, 10%)'; // near-black (K90% for print)
|
|
124
122
|
}
|
|
123
|
+
/** Same contrast choice as auto_contrast_text, but hex-in/hex-out — for callers (pick_vivid_tint)
|
|
124
|
+
* that need to stay in hex rather than the hsl(Hdeg, S%, L%) string format */
|
|
125
|
+
function auto_contrast_hex(bg_hex) {
|
|
126
|
+
const white = chroma.hsl(0, 0, 1);
|
|
127
|
+
const black = chroma.hsl(0, 0, 0.1);
|
|
128
|
+
const bg = chroma(bg_hex);
|
|
129
|
+
return (contrast_ratio(white, bg) >= contrast_ratio(black, bg) ? white : black).hex();
|
|
130
|
+
}
|
|
125
131
|
// Saturation clamp bands for image-derived colors — floor keeps even a fairly gray region
|
|
126
132
|
// visibly tinted, ceiling avoids inventing more color than the source photo actually has
|
|
127
133
|
const TINT_SATURATION_RANGE = [0.35, 0.7];
|
|
@@ -266,12 +272,8 @@ const EXTREME_BACKDROP_LIGHTNESS = [0.1, 0.9];
|
|
|
266
272
|
*/
|
|
267
273
|
export function pick_vivid_tint(candidates, backdrop, min_contrast = 4.5) {
|
|
268
274
|
const backdrop_hex = region_hex(backdrop);
|
|
269
|
-
if (backdrop.lightness < EXTREME_BACKDROP_LIGHTNESS[0] || backdrop.lightness > EXTREME_BACKDROP_LIGHTNESS[1])
|
|
270
|
-
|
|
271
|
-
const black = chroma.hsl(0, 0, 0.1);
|
|
272
|
-
const bg = chroma(backdrop_hex);
|
|
273
|
-
return (contrast_ratio(white, bg) >= contrast_ratio(black, bg) ? white : black).hex();
|
|
274
|
-
}
|
|
275
|
+
if (backdrop.lightness < EXTREME_BACKDROP_LIGHTNESS[0] || backdrop.lightness > EXTREME_BACKDROP_LIGHTNESS[1])
|
|
276
|
+
return auto_contrast_hex(backdrop_hex);
|
|
275
277
|
const TIE_EPSILON = 0.01;
|
|
276
278
|
const grayscale = { hue: 0, saturation: 0, lightness: 0.5, lightness_spread: 0 };
|
|
277
279
|
const pool = [...candidates, grayscale];
|
|
@@ -280,7 +282,12 @@ export function pick_vivid_tint(candidates, backdrop, min_contrast = 4.5) {
|
|
|
280
282
|
// band like a real candidate would turn it into a hue=0 (red) color instead of neutral
|
|
281
283
|
const sat = region === grayscale ? 0
|
|
282
284
|
: Math.min(TINT_SATURATION_RANGE[1], Math.max(TINT_SATURATION_RANGE[0], region.saturation));
|
|
283
|
-
|
|
285
|
+
// The grayscale fallback goes straight to black/white rather than through
|
|
286
|
+
// tinted_contrast_text — at 0 saturation that can plateau at an actual mid-gray (l=0.5)
|
|
287
|
+
// whenever plain gray already clears min_contrast, which reads as washed-out, not neutral
|
|
288
|
+
const hex = region === grayscale
|
|
289
|
+
? auto_contrast_hex(backdrop_hex)
|
|
290
|
+
: tinted_contrast_text(region.hue, sat, backdrop_hex, min_contrast);
|
|
284
291
|
const lightness = chroma(hex).hsl()[2] || 0;
|
|
285
292
|
let deviation = Math.abs(lightness - 0.5);
|
|
286
293
|
// The grayscale entry is the deliberate neutral fallback — its 0 saturation must never
|
|
@@ -415,7 +422,6 @@ function image_backdrop_for_position(position, coverage, regions, bg_region) {
|
|
|
415
422
|
* auto-contrast against its real backdrop when there's no image (or no tint available).
|
|
416
423
|
*/
|
|
417
424
|
export function resolve_colors(schema, image_regions) {
|
|
418
|
-
const accent = COLOR_DEFAULTS.accent;
|
|
419
425
|
const all_regions = image_regions ? all_image_regions(image_regions) : [];
|
|
420
426
|
// Front background: explicit bg_color wins; else complement the image; else a neutral tan
|
|
421
427
|
// for a vector background (no pixels to sample); else plain white
|
|
@@ -468,8 +474,8 @@ export function resolve_colors(schema, image_regions) {
|
|
|
468
474
|
front_gradient_end: shift_hue(front_bg, -35),
|
|
469
475
|
// Back background falls back to front background
|
|
470
476
|
back_background: front_bg,
|
|
471
|
-
// Spine background: null = no separate spine color
|
|
472
|
-
spine_background: schema.spine_color
|
|
477
|
+
// Spine background: null (or unset) = no separate spine color (spine uses primary)
|
|
478
|
+
spine_background: schema.spine_color ?? null,
|
|
473
479
|
front_title1: title1,
|
|
474
480
|
front_title2: title2,
|
|
475
481
|
front_title3: title3,
|
|
@@ -479,7 +485,6 @@ export function resolve_colors(schema, image_regions) {
|
|
|
479
485
|
blurb_background,
|
|
480
486
|
spine_title: schema.spine_title_color ?? spine_text,
|
|
481
487
|
spine_author: schema.spine_author_color ?? spine_text,
|
|
482
|
-
accent,
|
|
483
488
|
};
|
|
484
489
|
}
|
|
485
490
|
// Base font: always Noto Serif (downloaded at runtime; not bundled with typst)
|
package/dist/design.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design.js","sourceRoot":"","sources":["../src/design.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"design.js","sourceRoot":"","sources":["../src/design.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Raw SVG text for each bundled built-in icon, keyed by id, using currentColor so
|
|
2
|
+
* resolve_icon() in icon_cache.ts can recolor them like any Iconify icon */
|
|
3
|
+
export declare const BUILTIN_ICON_SVGS: Record<string, string>;
|
|
4
|
+
//# sourceMappingURL=icon_svgs_data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon_svgs_data.d.ts","sourceRoot":"","sources":["../../src/generated/icon_svgs_data.ts"],"names":[],"mappings":"AAGA;6EAC6E;AAC7E,eAAO,MAAM,iBAAiB,EAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAEnD,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// GENERATED by .bin/gen_icon_svgs from generator/icon_svgs/*.svg — do not edit
|
|
2
|
+
// Edit the source .svg files instead, then rerun the generator build
|
|
3
|
+
/** Raw SVG text for each bundled built-in icon, keyed by id, using currentColor so
|
|
4
|
+
* resolve_icon() in icon_cache.ts can recolor them like any Iconify icon */
|
|
5
|
+
export const BUILTIN_ICON_SVGS = {
|
|
6
|
+
"cross": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t<path d=\"M0 0h24v24H0z\" fill=\"none\" />\n\t<path fill=\"currentColor\" d=\"m 11,2 h 2 v 5 h 5 V 9 H 13 V 22 H 11 V 9 H 6 V 7 h 5 z\" />\n</svg>",
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=icon_svgs_data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon_svgs_data.js","sourceRoot":"","sources":["../../src/generated/icon_svgs_data.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,qEAAqE;AAErE;6EAC6E;AAC7E,MAAM,CAAC,MAAM,iBAAiB,GAA0B;IACpD,OAAO,EAAE,wNAAwN;CACpO,CAAA"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Edit the source .typ files instead, then rerun the generator build
|
|
3
3
|
/** The cover.typ / _helpers.typ templates baked in at this package version */
|
|
4
4
|
export const DEFAULT_TEMPLATES = {
|
|
5
|
-
cover: "\n// Book cover template — receives all variables from _data.typ\n#import \"_data.typ\": *\n\n// -- Page setup --\n#set page(\n width: total_width,\n height: total_height,\n margin: 0mm,\n)\n\n#set text(font: font_body_family)\n#set quote(block: true)\n#show quote: set pad(x: 3em)\n\n// ============================================================\n// Helper functions\n// ============================================================\n\n#import \"_helpers.typ\": *\n\n\n// ============================================================\n// Layer 1 — Background fills\n// ============================================================\n\n#place(\n top + left,\n rect(\n width: total_width,\n height: total_height,\n fill: if has_front_gradient {\n gradient.linear(\n (color_front_gradient_start, 0%),\n (color_front_bg, 30%),\n (color_front_bg, 45%),\n (color_front_gradient_end, 100%),\n angle: -40deg,\n )\n } else {\n color_front_bg\n },\n ),\n)\n\n\n#if has_pattern {\n let tiled = pattern(\n size: (pattern_tile_w, pattern_tile_h),\n image(\"pattern.svg\", width: pattern_tile_w, height: pattern_tile_h),\n )\n place(\n top + left,\n rect(width: total_width, height: total_height, fill: tiled),\n )\n}\n\n\n// ============================================================\n// Layer 2 — Background image\n// ============================================================\n\n#if has_image {\n if image_coverage == \"full\" {\n // Full spread: image covers entire canvas (back + spine + front)\n place(\n top + left,\n dx: 0mm,\n dy: 0mm,\n image(\n image_filename,\n width: total_width,\n height: total_height,\n fit: if image_is_vector { \"stretch\" } else { \"cover\" },\n ),\n )\n } else if image_coverage == \"painted\" {\n // Painted: image inset on front cover — 15mm margin horizontally and from bottom, 50% trim height\n let painted_w = face_width - 30mm\n let painted_h = face_height * 0.5 // sync: index.ts painted_h = face_height * 0.5\n place(\n top + left,\n dx: front_x + 15mm,\n dy: bleed + face_height * (1/3),\n image(\n image_filename,\n width: painted_w,\n height: painted_h,\n fit: \"stretch\", // Should be exact but just in case, ensures full frame visible\n ),\n )\n } else if image_coverage == \"feature\" {\n // Feature: same size and position as painted but with rounded corners via box clip\n let painted_w = face_width - 30mm\n let painted_h = face_height * 0.5\n place(\n top + left,\n dx: front_x + 15mm,\n dy: bleed + face_height * (1/3),\n box(\n width: painted_w,\n height: painted_h,\n radius: 6mm,\n clip: true,\n image(\n image_filename,\n width: painted_w,\n height: painted_h,\n fit: \"cover\",\n ),\n ),\n )\n } else if image_coverage == \"front_partial\" {\n // Lower 2/3: image covers the full front face width, bottom 2/3 of height, flush to the bottom trim edge\n let w = face_width\n let h = face_height * (2 / 3)\n place(\n top + left,\n dx: front_x,\n dy: bleed + face_height - h,\n image(\n image_filename,\n width: w,\n height: h,\n fit: \"cover\",\n ),\n )\n } else {\n // Front only: image covers the front panel including all bleed margins\n place(\n top + left,\n dx: front_x,\n dy: 0mm,\n image(\n image_filename,\n width: face_width + bleed,\n height: total_height,\n fit: if image_is_vector { \"stretch\" } else { \"cover\" },\n ),\n )\n }\n}\n\n\n// ============================================================\n// Layer 2b — Icon on front cover\n// ============================================================\n\n#if has_icon {\n let icon_size = calc.min(face_height * 0.4, face_width * 0.8)\n if icon_mode != \"center\" {\n icon_size = calc.min(face_height * 0.5, face_width * 0.8)\n }\n // Apply user-controlled size multiplier (1.0 = default)\n icon_size = icon_size * icon_size_mod\n let offset_icon_dx = front_x + (face_width - icon_size) + (icon_size * 0.15)\n let offset_icon_dy = bleed * -1 + (icon_size * 0.15)\n\n // Place ghost icons first (if any) so below main one\n if icon_mode == \"echo\" {\n place(\n bottom + left,\n dx: offset_icon_dx + icon_size * 0.1,\n dy: offset_icon_dy - icon_size * 0.15,\n image(\"icon_ghost.svg\", width: icon_size, height: icon_size),\n )\n place(\n bottom + left,\n dx: offset_icon_dx - icon_size * 0.1,\n dy: offset_icon_dy + icon_size * 0.1,\n image(\"icon_ghost2.svg\", width: icon_size, height: icon_size),\n )\n }\n\n if icon_mode == \"center\" {\n // Center — large icon centered horizontally, positioned in the lower/mid section\n place(\n bottom + left,\n dx: front_x + (face_width - icon_size) / 2,\n dy: (face_height * 0.2 + bleed) * -1,\n image(\"icon_main.svg\", width: icon_size, height: icon_size),\n )\n } else {\n // Offset/echo: large icon offset towards bottom-right, slightly overflowing the trim edge\n place(\n bottom + left,\n dx: offset_icon_dx,\n dy: offset_icon_dy,\n image(\"icon_main.svg\", width: icon_size, height: icon_size),\n )\n }\n}\n\n\n// ============================================================\n// Layer 2c — Spine background\n// ============================================================\n\n// Spine background (only when spread has a spine) — drawn after pattern so it covers it\n#if has_spine and color_spine_bg != none {\n place(\n top + left,\n dx: spine_x,\n dy: 0mm,\n rect(width: spine_width, height: total_height, fill: color_spine_bg),\n )\n}\n\n\n// ============================================================\n// Layer 3 — Back panel content\n// ============================================================\n\n// back_margin, back_content_w imported from _data.typ\n\n// Blurb container box with background color and 1cm padding around the text\n// Content is scaled down if it would overflow the available back-panel height\n#if has_blurb {\n let blurb_content = {\n set par(justify: true) if blurb_justify\n set par(leading: 1em * blurb_spacing)\n // Compact heading styles for a small blurb box — size and leading are hardcoded\n // independent of blurb_spacing, since headings rarely wrap and need tight leading\n show heading.where(level: 1): it => {\n set block(above: 2em, below: 1em)\n set text(size: 1.3em)\n set par(leading: 0.5em)\n it\n }\n show heading.where(level: 2): it => {\n set block(above: 2em, below: 1em)\n set text(size: 1.15em)\n set par(leading: 0.5em)\n it\n }\n align(blurb_alignment, text(\n font: font_blurb_family,\n size: fs_back_blurb * blurb_size,\n fill: color_blurb,\n blurb,\n ))\n }\n let blurb_max_h = back_content_h - blurb_padding * 2\n place(\n top + left,\n dx: back_x + (face_width - blurb_width) / 2,\n dy: bleed + back_margin,\n rect(\n width: blurb_width,\n fill: color_blurb_bg,\n stroke: none,\n radius: 1.5mm,\n inset: blurb_padding,\n context {\n let avail_w = blurb_width - blurb_padding * 2\n let natural = measure(blurb_content, width: avail_w)\n if natural.height > blurb_max_h {\n let ratio = blurb_max_h / natural.height\n scale(x: ratio * 100%, y: ratio * 100%, reflow: true, blurb_content)\n } else {\n blurb_content\n }\n },\n ),\n )\n}\n\n// ISBN barcode — position and size from printing-services cover_region_barcode\n#if has_barcode {\n place(\n bottom + left,\n dx: barcode_x,\n dy: barcode_y * -1,\n image(\"barcode.svg\", width: barcode_w, height: barcode_h),\n )\n}\n\n// ============================================================\n// Layer 4 — Spine content\n// ============================================================\n\n#if has_spine and has_spine_text and fs_spine_title > 0mm {\n // Title rotated along spine (bottom-to-top reading direction).\n // place() anchors the unrotated bounding box top-left, so we subtract\n // half the unrotated dimensions to keep the visual center on the spine.\n place(\n top + left,\n dx: spine_x + spine_width * 0.5 - face_height * 0.4,\n dy: bleed + face_height * 0.5 - spine_width * 0.5,\n rotate(\n 90deg,\n origin: center,\n box(\n width: face_height * 0.8,\n height: spine_width,\n align(\n center + horizon,\n // Shrink title + author together as one unit if they overflow the spine length\n shrink-to-width(\n stack(\n dir: ltr,\n spacing: spine_width * 0.3,\n text(\n font: font_spine_title_family,\n size: fs_spine_title * spine_title_size_mod,\n fill: color_spine_title,\n weight: spine_title_weight,\n style: if spine_title_italic { \"italic\" } else { \"normal\" },\n spine_title,\n ),\n if has_author and fs_spine_author > 0mm {\n text(\n font: font_spine_author_family,\n size: fs_spine_author * spine_author_size_mod,\n fill: color_spine_author,\n weight: spine_author_weight,\n style: if spine_author_italic { \"italic\" } else { \"normal\" },\n spine_author,\n )\n },\n ),\n ),\n ),\n ),\n ),\n )\n}\n\n// Small icon at the bottom of the spine (when spine is wide enough for text)\n#if has_spine_icon {\n let spine_icon_size = spine_width * 0.7\n let spine_icon_side_margin = (spine_width - spine_icon_size) / 2\n // Bottom margin is twice the side margin\n let spine_icon_bottom_margin = spine_icon_side_margin * 2\n place(\n top + left,\n dx: spine_x + spine_icon_side_margin,\n dy: bleed + face_height - spine_icon_size - spine_icon_bottom_margin,\n image(\"icon_spine.svg\", width: spine_icon_size, height: spine_icon_size),\n )\n}\n\n// ============================================================\n// Layer 5 — Front panel content\n// ============================================================\n\n// front_margin, front_content_w imported from _data.typ\n\n// Base font size — proportional to trim height, multiplied by per-title size modifier\n#let fs_title_base = face_height * 0.05\n#let fs_subtitle = face_height * 0.025 * subtitle_size\n#let fs_author = face_height * 0.035 * author_size\n\n// Render a single title line with its per-title styling, shrunk to fit if too wide\n#let render_title(txt, font_family, size_mod, weight, is_italic, color) = {\n if txt != \"\" {\n box(\n width: front_content_w,\n shrink-to-width(\n align(title_alignment, text(\n font: font_family,\n size: fs_title_base * size_mod,\n fill: color,\n weight: weight,\n style: if is_italic { \"italic\" } else { \"normal\" },\n txt,\n )),\n ),\n )\n }\n}\n\n// Render each title line, then filter out empty ones so they don't create stack spacing gaps\n#let title_lines_rendered = stack(\n dir: ttb,\n spacing: face_height * title_spacing / 100,\n ..(\n render_title(title1, font_title1_family, title1_size, title1_weight, title1_italic, color_front_title1),\n render_title(title2, font_title2_family, title2_size, title2_weight, title2_italic, color_front_title2),\n render_title(title3, font_title3_family, title3_size, title3_weight, title3_italic, color_front_title3),\n ).filter(x => x != none),\n)\n\n// All subtitle lines in one container — shrink-to-width scales them all together uniformly\n// text() wraps shrink-to-width so inner content inherits the scaled size (no explicit size inside)\n#let subtitle_lines_rendered = text(\n font: font_subtitle_family,\n size: fs_subtitle,\n weight: subtitle_weight,\n style: if subtitle_italic { \"italic\" } else { \"normal\" },\n fill: color_front_subtitle,\n box(\n width: front_content_w,\n shrink-to-width(\n stack(\n dir: ttb,\n spacing: face_height * subtitle_spacing / 100,\n ..subtitle_lines.map(line => align(subtitle_alignment, line)),\n )\n ),\n ),\n)\n\n// Author styled text — single line, shrunk to fit width\n#let author_rendered = box(\n width: front_content_w,\n shrink-to-width(\n align(author_alignment, text(\n font: font_author_family,\n size: fs_author,\n fill: color_front_author,\n weight: author_weight,\n style: if author_italic { \"italic\" } else { \"normal\" },\n author,\n )),\n ),\n)\n\n// Title group: stacked title lines\n#let title_group = stack(\n dir: ttb,\n spacing: face_height * title_spacing / 100,\n title_lines_rendered,\n)\n\n// Check which elements belong to each position box\n#let top_has_title = title_position == \"top\"\n#let top_has_subtitle = has_subtitle and subtitle_position == \"top\"\n#let top_has_author = has_author and author_position == \"top\"\n#let top_has_any = top_has_title or top_has_subtitle or top_has_author\n\n#let mid_has_title = title_position == \"middle\"\n#let mid_has_subtitle = has_subtitle and subtitle_position == \"middle\"\n#let mid_has_author = has_author and author_position == \"middle\"\n#let mid_has_any = mid_has_title or mid_has_subtitle or mid_has_author\n\n#let bot_has_title = title_position == \"bottom\"\n#let bot_has_subtitle = has_subtitle and subtitle_position == \"bottom\"\n#let bot_has_author = has_author and author_position == \"bottom\"\n#let bot_has_any = bot_has_title or bot_has_subtitle or bot_has_author\n\n// Build a content group for a position box (order within box: title | subtitle | author)\n// Each element gets its own vertical margins inside the box\n#let make_pos_box(has_t, has_s, has_a) = box(\n width: front_content_w,\n stack(\n dir: ttb,\n if has_t { v(face_height * title_margin_top / 100) },\n if has_t { title_group },\n if has_t { v(face_height * title_margin_bottom / 100) },\n if has_s { v(face_height * subtitle_margin_top / 100) },\n if has_s { subtitle_lines_rendered },\n if has_s { v(face_height * subtitle_margin_bottom / 100) },\n if has_a { v(face_height * author_margin_top / 100) },\n if has_a { author_rendered },\n if has_a { v(face_height * author_margin_bottom / 100) },\n ),\n)\n\n// Place each non-empty position box on the front panel (within panel margin on all sides)\n#if top_has_any {\n place(\n top + left,\n dx: front_x + front_margin,\n dy: bleed + front_margin,\n make_pos_box(top_has_title, top_has_subtitle, top_has_author),\n )\n}\n#if mid_has_any {\n place(\n horizon + left,\n dx: front_x + front_margin,\n make_pos_box(mid_has_title, mid_has_subtitle, mid_has_author),\n )\n}\n#if bot_has_any {\n place(\n bottom + left,\n dx: front_x + front_margin,\n dy: (bleed + front_margin) * -1,\n make_pos_box(bot_has_title, bot_has_subtitle, bot_has_author),\n )\n}\n\n\n// ============================================================\n// Layer 6 — Home-print margin (white rounded borders for home inkjet printers)\n// ============================================================\n\n#if home_print {\n // Render the back and front as two separate rounded cards, each with a white\n // border, so a home printer that can't reach the paper edge still prints\n // cleanly. One white matte covers the spread with two rounded windows punched\n // out — one per trim face, each inset by `home_margin` on all sides with\n // `home_corner`-rounded corners. Windows track the trim faces (not a spine-\n // centre split), so the bleed and spine become white gutter and every side —\n // including the inner/gutter edge — gets a real margin. A single matte (vs.\n // two abutting ones) avoids a hairline seam down the gutter.\n let m = home_margin\n let win_w = face_width - 2 * m\n let win_h = face_height - 2 * m\n let win_y = bleed + m\n let back_win = (bleed + m, win_y, win_w, win_h)\n let front_win = (total_width - bleed - face_width + m, win_y, win_w, win_h)\n home-print-matte(total_width, total_height, (back_win, front_win), home_corner)\n}\n",
|
|
5
|
+
cover: "\n// Book cover template — receives all variables from _data.typ\n#import \"_data.typ\": *\n\n// -- Page setup --\n#set page(\n width: total_width,\n height: total_height,\n margin: 0mm,\n)\n\n#set text(font: font_body_family)\n#set quote(block: true)\n#show quote: set pad(x: 3em)\n\n// ============================================================\n// Helper functions\n// ============================================================\n\n#import \"_helpers.typ\": *\n\n\n// ============================================================\n// Layer 1 — Background fills\n// ============================================================\n\n#place(\n top + left,\n rect(\n width: total_width,\n height: total_height,\n fill: if has_front_gradient {\n gradient.linear(\n (color_front_gradient_start, 0%),\n (color_front_bg, 30%),\n (color_front_bg, 45%),\n (color_front_gradient_end, 100%),\n angle: -40deg,\n )\n } else {\n color_front_bg\n },\n ),\n)\n\n\n#if has_pattern {\n let tiled = pattern(\n size: (pattern_tile_w, pattern_tile_h),\n image(\"pattern.svg\", width: pattern_tile_w, height: pattern_tile_h),\n )\n place(\n top + left,\n rect(width: total_width, height: total_height, fill: tiled),\n )\n}\n\n\n// ============================================================\n// Layer 2 — Background image\n// ============================================================\n\n#if has_image {\n if image_coverage == \"full\" {\n // Full spread: image covers entire canvas (back + spine + front)\n place(\n top + left,\n dx: 0mm,\n dy: 0mm,\n image(\n image_filename,\n width: total_width,\n height: total_height,\n fit: if image_is_vector { \"stretch\" } else { \"cover\" },\n ),\n )\n } else if image_coverage == \"painted\" {\n // Painted: image inset on front cover — 15mm margin horizontally and from bottom, 50% trim height\n let painted_w = face_width - 30mm\n let painted_h = face_height * 0.5 // sync: index.ts painted_h = face_height * 0.5\n place(\n top + left,\n dx: front_x + 15mm,\n dy: bleed + face_height * (1/3),\n image(\n image_filename,\n width: painted_w,\n height: painted_h,\n fit: \"stretch\", // Should be exact but just in case, ensures full frame visible\n ),\n )\n } else if image_coverage == \"feature\" {\n // Feature: same size and position as painted but with rounded corners via box clip\n let painted_w = face_width - 30mm\n let painted_h = face_height * 0.5\n place(\n top + left,\n dx: front_x + 15mm,\n dy: bleed + face_height * (1/3),\n box(\n width: painted_w,\n height: painted_h,\n radius: 6mm,\n clip: true,\n image(\n image_filename,\n width: painted_w,\n height: painted_h,\n fit: \"cover\",\n ),\n ),\n )\n } else if image_coverage == \"front_partial\" {\n // Lower 2/3: image covers the full front face width, bottom 2/3 of height, flush to the bottom trim edge\n let w = face_width\n let h = face_height * (2 / 3)\n place(\n top + left,\n dx: front_x,\n dy: bleed + face_height - h,\n image(\n image_filename,\n width: w,\n height: h,\n fit: \"cover\",\n ),\n )\n } else {\n // Front only: image covers the front panel including all bleed margins\n place(\n top + left,\n dx: front_x,\n dy: 0mm,\n image(\n image_filename,\n width: face_width + bleed,\n height: total_height,\n fit: if image_is_vector { \"stretch\" } else { \"cover\" },\n ),\n )\n }\n}\n\n\n// ============================================================\n// Layer 2b — Icon on front cover\n// ============================================================\n\n#if has_icon {\n let icon_size = calc.min(face_height * 0.4, face_width * 0.8)\n if icon_mode != \"center\" {\n icon_size = calc.min(face_height * 0.5, face_width * 0.8)\n }\n // Apply user-controlled size multiplier (1.0 = default)\n icon_size = icon_size * icon_size_mod\n let offset_icon_dx = front_x + (face_width - icon_size) + (icon_size * 0.15)\n let offset_icon_dy = bleed * -1 + (icon_size * 0.15)\n\n // Place ghost icons first (if any) so below main one\n if icon_mode == \"echo\" {\n place(\n bottom + left,\n dx: offset_icon_dx + icon_size * 0.1,\n dy: offset_icon_dy - icon_size * 0.15,\n image(\"icon_ghost.svg\", width: icon_size, height: icon_size),\n )\n place(\n bottom + left,\n dx: offset_icon_dx - icon_size * 0.1,\n dy: offset_icon_dy + icon_size * 0.1,\n image(\"icon_ghost2.svg\", width: icon_size, height: icon_size),\n )\n }\n\n if icon_mode == \"center\" {\n // Center — large icon centered horizontally, positioned in the lower/mid section\n place(\n bottom + left,\n dx: front_x + (face_width - icon_size) / 2,\n dy: (face_height * 0.2 + bleed) * -1,\n image(\"icon_main.svg\", width: icon_size, height: icon_size),\n )\n } else {\n // Offset/echo: large icon offset towards bottom-right, slightly overflowing the trim edge\n place(\n bottom + left,\n dx: offset_icon_dx,\n dy: offset_icon_dy,\n image(\"icon_main.svg\", width: icon_size, height: icon_size),\n )\n }\n}\n\n\n// ============================================================\n// Layer 2c — Spine background\n// ============================================================\n\n// Spine background (only when spread has a spine) — drawn after pattern so it covers it\n#if has_spine and color_spine_bg != none {\n place(\n top + left,\n dx: spine_x,\n dy: 0mm,\n rect(width: spine_width, height: total_height, fill: color_spine_bg),\n )\n}\n\n\n// ============================================================\n// Layer 3 — Back panel content\n// ============================================================\n\n// back_margin, back_content_w, spiral_margin imported from _data.typ\n\n// Blurb container box with background color and 1cm padding around the text\n// Content is scaled down if it would overflow the available back-panel height\n#if has_blurb {\n let blurb_content = {\n set par(justify: true) if blurb_justify\n set par(leading: 1em * blurb_spacing)\n // Compact heading styles for a small blurb box — size and leading are hardcoded\n // independent of blurb_spacing, since headings rarely wrap and need tight leading\n show heading.where(level: 1): it => {\n set block(above: 2em, below: 1em)\n set text(size: 1.3em)\n set par(leading: 0.5em)\n it\n }\n show heading.where(level: 2): it => {\n set block(above: 2em, below: 1em)\n set text(size: 1.15em)\n set par(leading: 0.5em)\n it\n }\n align(blurb_alignment, text(\n font: font_blurb_family,\n size: fs_back_blurb * blurb_size,\n fill: color_blurb,\n blurb,\n ))\n }\n let blurb_max_h = back_content_h - blurb_padding * 2\n place(\n top + left,\n // Centered within the safe area, not the full face — spiral_margin is 0 for other bindings\n dx: back_x + (face_width - spiral_margin - blurb_width) / 2,\n dy: bleed + back_margin,\n rect(\n width: blurb_width,\n fill: color_blurb_bg,\n stroke: none,\n radius: 1.5mm,\n inset: blurb_padding,\n context {\n let avail_w = blurb_width - blurb_padding * 2\n let natural = measure(blurb_content, width: avail_w)\n if natural.height > blurb_max_h {\n let ratio = blurb_max_h / natural.height\n scale(x: ratio * 100%, y: ratio * 100%, reflow: true, blurb_content)\n } else {\n blurb_content\n }\n },\n ),\n )\n}\n\n// ISBN barcode — position and size from printing-services cover_region_barcode\n#if has_barcode {\n place(\n bottom + left,\n dx: barcode_x,\n dy: barcode_y * -1,\n image(\"barcode.svg\", width: barcode_w, height: barcode_h),\n )\n}\n\n// ============================================================\n// Layer 4 — Spine content\n// ============================================================\n\n#if has_spine and has_spine_text and fs_spine_title > 0mm {\n // Title rotated along spine (bottom-to-top reading direction).\n // place() anchors the unrotated bounding box top-left, so we subtract\n // half the unrotated dimensions to keep the visual center on the spine.\n place(\n top + left,\n dx: spine_x + spine_width * 0.5 - face_height * 0.4,\n dy: bleed + face_height * 0.5 - spine_width * 0.5,\n rotate(\n 90deg,\n origin: center,\n box(\n width: face_height * 0.8,\n height: spine_width,\n align(\n center + horizon,\n // Shrink title + author together as one unit if they overflow the spine length\n shrink-to-width(\n stack(\n dir: ltr,\n spacing: spine_width * 0.3,\n text(\n font: font_spine_title_family,\n size: fs_spine_title * spine_title_size_mod,\n fill: color_spine_title,\n weight: spine_title_weight,\n style: if spine_title_italic { \"italic\" } else { \"normal\" },\n spine_title,\n ),\n if has_author and fs_spine_author > 0mm {\n text(\n font: font_spine_author_family,\n size: fs_spine_author * spine_author_size_mod,\n fill: color_spine_author,\n weight: spine_author_weight,\n style: if spine_author_italic { \"italic\" } else { \"normal\" },\n spine_author,\n )\n },\n ),\n ),\n ),\n ),\n ),\n )\n}\n\n// Small icon at the bottom of the spine (when spine is wide enough for text)\n#if has_spine_icon {\n let spine_icon_size = spine_width * 0.7\n let spine_icon_side_margin = (spine_width - spine_icon_size) / 2\n // Bottom margin is twice the side margin\n let spine_icon_bottom_margin = spine_icon_side_margin * 2\n place(\n top + left,\n dx: spine_x + spine_icon_side_margin,\n dy: bleed + face_height - spine_icon_size - spine_icon_bottom_margin,\n image(\"icon_spine.svg\", width: spine_icon_size, height: spine_icon_size),\n )\n}\n\n// ============================================================\n// Layer 5 — Front panel content\n// ============================================================\n\n// front_margin, front_content_w, spiral_margin imported from _data.typ\n\n// Base font size — proportional to trim height, multiplied by per-title size modifier\n#let fs_title_base = face_height * 0.05\n#let fs_subtitle = face_height * 0.025 * subtitle_size\n#let fs_author = face_height * 0.035 * author_size\n\n// Render a single title line with its per-title styling, shrunk to fit if too wide\n#let render_title(txt, font_family, size_mod, weight, is_italic, color) = {\n if txt != \"\" {\n box(\n width: front_content_w,\n shrink-to-width(\n align(title_alignment, text(\n font: font_family,\n size: fs_title_base * size_mod,\n fill: color,\n weight: weight,\n style: if is_italic { \"italic\" } else { \"normal\" },\n txt,\n )),\n ),\n )\n }\n}\n\n// Render each title line, then filter out empty ones so they don't create stack spacing gaps\n#let title_lines_rendered = stack(\n dir: ttb,\n spacing: face_height * title_spacing / 100,\n ..(\n render_title(title1, font_title1_family, title1_size, title1_weight, title1_italic, color_front_title1),\n render_title(title2, font_title2_family, title2_size, title2_weight, title2_italic, color_front_title2),\n render_title(title3, font_title3_family, title3_size, title3_weight, title3_italic, color_front_title3),\n ).filter(x => x != none),\n)\n\n// All subtitle lines in one container — shrink-to-width scales them all together uniformly\n// text() wraps shrink-to-width so inner content inherits the scaled size (no explicit size inside)\n#let subtitle_lines_rendered = text(\n font: font_subtitle_family,\n size: fs_subtitle,\n weight: subtitle_weight,\n style: if subtitle_italic { \"italic\" } else { \"normal\" },\n fill: color_front_subtitle,\n box(\n width: front_content_w,\n shrink-to-width(\n stack(\n dir: ttb,\n spacing: face_height * subtitle_spacing / 100,\n ..subtitle_lines.map(line => align(subtitle_alignment, line)),\n )\n ),\n ),\n)\n\n// Author styled text — single line, shrunk to fit width\n#let author_rendered = box(\n width: front_content_w,\n shrink-to-width(\n align(author_alignment, text(\n font: font_author_family,\n size: fs_author,\n fill: color_front_author,\n weight: author_weight,\n style: if author_italic { \"italic\" } else { \"normal\" },\n author,\n )),\n ),\n)\n\n// Title group: stacked title lines\n#let title_group = stack(\n dir: ttb,\n spacing: face_height * title_spacing / 100,\n title_lines_rendered,\n)\n\n// Check which elements belong to each position box\n#let top_has_title = title_position == \"top\"\n#let top_has_subtitle = has_subtitle and subtitle_position == \"top\"\n#let top_has_author = has_author and author_position == \"top\"\n#let top_has_any = top_has_title or top_has_subtitle or top_has_author\n\n#let mid_has_title = title_position == \"middle\"\n#let mid_has_subtitle = has_subtitle and subtitle_position == \"middle\"\n#let mid_has_author = has_author and author_position == \"middle\"\n#let mid_has_any = mid_has_title or mid_has_subtitle or mid_has_author\n\n#let bot_has_title = title_position == \"bottom\"\n#let bot_has_subtitle = has_subtitle and subtitle_position == \"bottom\"\n#let bot_has_author = has_author and author_position == \"bottom\"\n#let bot_has_any = bot_has_title or bot_has_subtitle or bot_has_author\n\n// Build a content group for a position box (order within box: title | subtitle | author)\n// Each element gets its own vertical margins inside the box\n#let make_pos_box(has_t, has_s, has_a) = box(\n width: front_content_w,\n stack(\n dir: ttb,\n if has_t { v(face_height * title_margin_top / 100) },\n if has_t { title_group },\n if has_t { v(face_height * title_margin_bottom / 100) },\n if has_s { v(face_height * subtitle_margin_top / 100) },\n if has_s { subtitle_lines_rendered },\n if has_s { v(face_height * subtitle_margin_bottom / 100) },\n if has_a { v(face_height * author_margin_top / 100) },\n if has_a { author_rendered },\n if has_a { v(face_height * author_margin_bottom / 100) },\n ),\n)\n\n// Place each non-empty position box on the front panel (within panel margin on all sides)\n#if top_has_any {\n place(\n top + left,\n dx: front_x + front_margin + spiral_margin,\n dy: bleed + front_margin,\n make_pos_box(top_has_title, top_has_subtitle, top_has_author),\n )\n}\n#if mid_has_any {\n place(\n horizon + left,\n dx: front_x + front_margin + spiral_margin,\n make_pos_box(mid_has_title, mid_has_subtitle, mid_has_author),\n )\n}\n#if bot_has_any {\n place(\n bottom + left,\n dx: front_x + front_margin + spiral_margin,\n dy: (bleed + front_margin) * -1,\n make_pos_box(bot_has_title, bot_has_subtitle, bot_has_author),\n )\n}\n\n\n// ============================================================\n// Layer 6 — Home-print margin (white rounded borders for home inkjet printers)\n// ============================================================\n\n#if home_print {\n // Render the back and front as two separate rounded cards, each with a white\n // border, so a home printer that can't reach the paper edge still prints\n // cleanly. One white matte covers the spread with two rounded windows punched\n // out — one per trim face, each inset by `home_margin` on all sides with\n // `home_corner`-rounded corners. Windows track the trim faces (not a spine-\n // centre split), so the bleed and spine become white gutter and every side —\n // including the inner/gutter edge — gets a real margin. A single matte (vs.\n // two abutting ones) avoids a hairline seam down the gutter.\n let m = home_margin\n let win_w = face_width - 2 * m\n let win_h = face_height - 2 * m\n let win_y = bleed + m\n let back_win = (bleed + m, win_y, win_w, win_h)\n let front_win = (total_width - bleed - face_width + m, win_y, win_w, win_h)\n home-print-matte(total_width, total_height, (back_win, front_win), home_corner)\n}\n",
|
|
6
6
|
helpers: "\n// Shared helper functions for the cover template\n\n// Scale content so it fits within the container width using geometric scaling.\n// Uses scale() rather than text(size: ...) so inner explicit font sizes are also scaled.\n#let fit-to-width(max-text-size: auto, min-text-size: 2mm, it) = context {\n let effective-max = if max-text-size == auto { text.size * 3 } else { max-text-size }\n let effective-min = if min-text-size == auto { text.size * 0.33 } else { min-text-size }\n // Express size limits as dimensionless ratios relative to current text size\n let max-ratio = effective-max / text.size\n let min-ratio = effective-min / text.size\n let contentsize = measure(it)\n layout(size => {\n if contentsize.width > 0mm {\n let ratio = calc.min(size.width / contentsize.width, size.height / contentsize.height)\n let clamped = calc.max(calc.min(ratio, max-ratio), min-ratio)\n if clamped != 1.0 {\n scale(x: clamped * 100%, y: clamped * 100%, reflow: true, it)\n } else {\n it\n }\n }\n })\n}\n\n// Variant that only shrinks (never grows beyond current text size)\n#let shrink-to-width(min-text-size: auto, it) = context {\n fit-to-width(max-text-size: text.size, min-text-size: min-text-size, it)\n}\n\n// Curve segments tracing one rounded rectangle (absolute coords), for compositing\n// into a larger path. Corners use a cubic-bezier handle (0.5523r) to approximate arcs.\n#let rounded-subpath(x, y, w, h, r) = {\n let k = 0.5523 * r\n (\n curve.move((x + r, y), relative: false),\n curve.line((x + w - r, y), relative: false),\n curve.cubic((x + w - r + k, y), (x + w, y + r - k), (x + w, y + r), relative: false),\n curve.line((x + w, y + h - r), relative: false),\n curve.cubic((x + w, y + h - r + k), (x + w - r + k, y + h), (x + w - r, y + h), relative: false),\n curve.line((x + r, y + h), relative: false),\n curve.cubic((x + r - k, y + h), (x, y + h - r + k), (x, y + h - r), relative: false),\n curve.line((x, y + r), relative: false),\n curve.cubic((x, y + r - k), (x + r - k, y), (x + r, y), relative: false),\n curve.close(),\n )\n}\n\n// White \"matte\" covering the whole canvas (cw × ch) with rounded-rect windows\n// punched out via even-odd fill, so the artwork shows through each window as a\n// rounded card surrounded by a white border. Used for home-print margins on\n// edge-to-edge-incapable printers. `windows` is an array of (x, y, w, h) tuples.\n#let home-print-matte(cw, ch, windows, r) = {\n let segs = (\n curve.move((0mm, 0mm), relative: false),\n curve.line((cw, 0mm), relative: false),\n curve.line((cw, ch), relative: false),\n curve.line((0mm, ch), relative: false),\n curve.close(),\n )\n for win in windows {\n segs = segs + rounded-subpath(win.at(0), win.at(1), win.at(2), win.at(3), r)\n }\n place(top + left, curve(fill: white, fill-rule: \"even-odd\", ..segs))\n}\n",
|
|
7
7
|
};
|
|
8
8
|
//# sourceMappingURL=templates_data.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates_data.js","sourceRoot":"","sources":["../../src/generated/templates_data.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,qEAAqE;AAIrE,8EAA8E;AAC9E,MAAM,CAAC,MAAM,iBAAiB,GAAa;IACvC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"templates_data.js","sourceRoot":"","sources":["../../src/generated/templates_data.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,qEAAqE;AAIrE,8EAA8E;AAC9E,MAAM,CAAC,MAAM,iBAAiB,GAAa;IACvC,KAAK,EAAE,wvkBAAwvkB;IAC/vkB,OAAO,EAAE,ygGAAygG;CACrhG,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector_bg_images_data.d.ts","sourceRoot":"","sources":["../../src/generated/vector_bg_images_data.ts"],"names":[],"mappings":"AAGA;qGACqG;AACrG,eAAO,MAAM,oBAAoB,EAAC,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"vector_bg_images_data.d.ts","sourceRoot":"","sources":["../../src/generated/vector_bg_images_data.ts"],"names":[],"mappings":"AAGA;qGACqG;AACrG,eAAO,MAAM,oBAAoB,EAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CA4BtD,CAAA"}
|