@arraypress/covers 0.0.0-stage → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/CHANGELOG.md +126 -0
  2. package/LICENSE +29 -0
  3. package/README.md +846 -2
  4. package/fonts/OFL.txt +93 -0
  5. package/fonts/inter-latin-400.woff +0 -0
  6. package/fonts/inter-latin-500.woff +0 -0
  7. package/fonts/inter-latin-600.woff +0 -0
  8. package/fonts/inter-latin-700.woff +0 -0
  9. package/package.json +124 -4
  10. package/recipes/aurora.json +132 -0
  11. package/recipes/bauhaus.json +113 -0
  12. package/recipes/bigType.json +103 -0
  13. package/recipes/brand.json +1143 -0
  14. package/recipes/contour.json +109 -0
  15. package/recipes/cutout.json +191 -0
  16. package/recipes/diagram.json +92 -0
  17. package/recipes/dither.json +170 -0
  18. package/recipes/duotone.json +75 -0
  19. package/recipes/gridTitle.json +136 -0
  20. package/recipes/iconTile.json +214 -0
  21. package/recipes/issue.json +221 -0
  22. package/recipes/mark.json +170 -0
  23. package/recipes/photo.json +156 -0
  24. package/recipes/riso.json +387 -0
  25. package/recipes/stripes.json +206 -0
  26. package/recipes/waveform.json +154 -0
  27. package/schema/recipe.schema.json +8822 -0
  28. package/src/animate/index.d.ts +19 -0
  29. package/src/animate/index.js +116 -0
  30. package/src/astro.d.ts +31 -0
  31. package/src/astro.js +86 -0
  32. package/src/builtins.js +4 -0
  33. package/src/color.js +246 -0
  34. package/src/diagram.js +248 -0
  35. package/src/effects/ascii.d.ts +7 -0
  36. package/src/effects/ascii.js +93 -0
  37. package/src/effects/buffer.d.ts +60 -0
  38. package/src/effects/buffer.js +472 -0
  39. package/src/effects/detail.d.ts +12 -0
  40. package/src/effects/detail.js +124 -0
  41. package/src/effects/digital.d.ts +14 -0
  42. package/src/effects/digital.js +216 -0
  43. package/src/effects/distort.d.ts +20 -0
  44. package/src/effects/distort.js +314 -0
  45. package/src/effects/dither.d.ts +8 -0
  46. package/src/effects/dither.js +147 -0
  47. package/src/effects/drop-shadow.d.ts +4 -0
  48. package/src/effects/drop-shadow.js +45 -0
  49. package/src/effects/extrude.d.ts +5 -0
  50. package/src/effects/extrude.js +55 -0
  51. package/src/effects/film.d.ts +11 -0
  52. package/src/effects/film.js +204 -0
  53. package/src/effects/glow.d.ts +8 -0
  54. package/src/effects/glow.js +56 -0
  55. package/src/effects/grade.d.ts +30 -0
  56. package/src/effects/grade.js +274 -0
  57. package/src/effects/halftone.d.ts +8 -0
  58. package/src/effects/halftone.js +95 -0
  59. package/src/effects/index.d.ts +125 -0
  60. package/src/effects/index.js +277 -0
  61. package/src/effects/ink.d.ts +12 -0
  62. package/src/effects/ink.js +70 -0
  63. package/src/effects/lens.d.ts +14 -0
  64. package/src/effects/lens.js +277 -0
  65. package/src/effects/light.d.ts +10 -0
  66. package/src/effects/light.js +59 -0
  67. package/src/effects/looks.d.ts +9 -0
  68. package/src/effects/looks.js +74 -0
  69. package/src/effects/mask.d.ts +52 -0
  70. package/src/effects/mask.js +314 -0
  71. package/src/effects/motion.d.ts +6 -0
  72. package/src/effects/motion.js +60 -0
  73. package/src/effects/newsprint.d.ts +6 -0
  74. package/src/effects/newsprint.js +89 -0
  75. package/src/effects/optics.d.ts +10 -0
  76. package/src/effects/optics.js +213 -0
  77. package/src/effects/options.d.ts +6 -0
  78. package/src/effects/options.js +106 -0
  79. package/src/effects/paint-presets.d.ts +10 -0
  80. package/src/effects/paint-presets.js +47 -0
  81. package/src/effects/paint.d.ts +49 -0
  82. package/src/effects/paint.js +66 -0
  83. package/src/effects/pixels.d.ts +24 -0
  84. package/src/effects/pixels.js +138 -0
  85. package/src/effects/polar.d.ts +10 -0
  86. package/src/effects/polar.js +265 -0
  87. package/src/effects/region.d.ts +8 -0
  88. package/src/effects/region.js +136 -0
  89. package/src/effects/round-border.d.ts +5 -0
  90. package/src/effects/round-border.js +62 -0
  91. package/src/effects/screen.d.ts +14 -0
  92. package/src/effects/screen.js +212 -0
  93. package/src/effects/sort.d.ts +8 -0
  94. package/src/effects/sort.js +125 -0
  95. package/src/effects/symmetry.d.ts +6 -0
  96. package/src/effects/symmetry.js +74 -0
  97. package/src/effects/tile.d.ts +7 -0
  98. package/src/effects/tile.js +55 -0
  99. package/src/effects/tone.d.ts +16 -0
  100. package/src/effects/tone.js +117 -0
  101. package/src/effects/transform.d.ts +35 -0
  102. package/src/effects/transform.js +127 -0
  103. package/src/effects/util.d.ts +16 -0
  104. package/src/effects/util.js +85 -0
  105. package/src/extract.js +91 -0
  106. package/src/flatten.js +234 -0
  107. package/src/fonts.d.ts +55 -0
  108. package/src/fonts.js +393 -0
  109. package/src/formats/cut.d.ts +10 -0
  110. package/src/formats/cut.js +77 -0
  111. package/src/formats/index.d.ts +6 -0
  112. package/src/formats/index.js +9 -0
  113. package/src/formats/presets.d.ts +41 -0
  114. package/src/formats/presets.js +89 -0
  115. package/src/formats/print.d.ts +25 -0
  116. package/src/formats/print.js +117 -0
  117. package/src/formats/zones.d.ts +10 -0
  118. package/src/formats/zones.js +64 -0
  119. package/src/geometry.js +187 -0
  120. package/src/grid.js +41 -0
  121. package/src/handmade.js +253 -0
  122. package/src/icons.js +191 -0
  123. package/src/index.d.ts +1083 -0
  124. package/src/index.js +27 -0
  125. package/src/inter-data.js +27 -0
  126. package/src/json-recipe.js +616 -0
  127. package/src/kit/index.d.ts +20 -0
  128. package/src/kit/index.js +58 -0
  129. package/src/layer-options.js +56 -0
  130. package/src/layers/barcode.d.ts +19 -0
  131. package/src/layers/barcode.js +63 -0
  132. package/src/layers/code128.d.ts +4 -0
  133. package/src/layers/code128.js +28 -0
  134. package/src/layers/expr.d.ts +6 -0
  135. package/src/layers/expr.js +121 -0
  136. package/src/layers/geometry.d.ts +6 -0
  137. package/src/layers/geometry.js +238 -0
  138. package/src/layers/index.d.ts +18 -0
  139. package/src/layers/index.js +15 -0
  140. package/src/layers/perforation.d.ts +14 -0
  141. package/src/layers/perforation.js +47 -0
  142. package/src/layers/repeat.d.ts +29 -0
  143. package/src/layers/repeat.js +90 -0
  144. package/src/layers/shape.d.ts +46 -0
  145. package/src/layers/shape.js +115 -0
  146. package/src/layers/soft.d.ts +5 -0
  147. package/src/layers/soft.js +43 -0
  148. package/src/layers/svg.d.ts +23 -0
  149. package/src/layers/svg.js +109 -0
  150. package/src/layers/table.d.ts +25 -0
  151. package/src/layers/table.js +80 -0
  152. package/src/layers/tear.d.ts +21 -0
  153. package/src/layers/tear.js +74 -0
  154. package/src/layers/texture.d.ts +17 -0
  155. package/src/layers/texture.js +106 -0
  156. package/src/layers/util.d.ts +8 -0
  157. package/src/layers/util.js +48 -0
  158. package/src/layers.js +1056 -0
  159. package/src/lint/image-size.d.ts +4 -0
  160. package/src/lint/image-size.js +34 -0
  161. package/src/lint/index.d.ts +16 -0
  162. package/src/lint/index.js +127 -0
  163. package/src/lint/rules.d.ts +5 -0
  164. package/src/lint/rules.js +19 -0
  165. package/src/node.d.ts +2 -0
  166. package/src/node.js +20 -0
  167. package/src/palette.js +185 -0
  168. package/src/platform/bytes.d.ts +22 -0
  169. package/src/platform/bytes.js +103 -0
  170. package/src/platform/compress.d.ts +12 -0
  171. package/src/platform/compress.js +81 -0
  172. package/src/platform/harfbuzz.d.ts +9 -0
  173. package/src/platform/harfbuzz.js +80 -0
  174. package/src/platform/index.d.ts +8 -0
  175. package/src/platform/index.js +13 -0
  176. package/src/platform/load.d.ts +6 -0
  177. package/src/platform/load.js +72 -0
  178. package/src/platform/no-harfbuzz.d.ts +2 -0
  179. package/src/platform/no-harfbuzz.js +11 -0
  180. package/src/platform/node.d.ts +26 -0
  181. package/src/platform/node.js +86 -0
  182. package/src/platform/settings.d.ts +28 -0
  183. package/src/platform/settings.js +51 -0
  184. package/src/png.js +126 -0
  185. package/src/print.js +659 -0
  186. package/src/raster/index.d.ts +24 -0
  187. package/src/raster/index.js +171 -0
  188. package/src/recipes.js +79 -0
  189. package/src/render/backdrop.d.ts +6 -0
  190. package/src/render/backdrop.js +55 -0
  191. package/src/render/content.d.ts +5 -0
  192. package/src/render/content.js +58 -0
  193. package/src/render/context.d.ts +82 -0
  194. package/src/render/grain.d.ts +7 -0
  195. package/src/render/grain.js +113 -0
  196. package/src/render/group.d.ts +23 -0
  197. package/src/render/group.js +67 -0
  198. package/src/render/key.d.ts +5 -0
  199. package/src/render/key.js +91 -0
  200. package/src/render/report.d.ts +5 -0
  201. package/src/render/report.js +19 -0
  202. package/src/render/tiles.d.ts +6 -0
  203. package/src/render/tiles.js +77 -0
  204. package/src/render/use.d.ts +27 -0
  205. package/src/render/use.js +73 -0
  206. package/src/render/wrap.d.ts +14 -0
  207. package/src/render/wrap.js +199 -0
  208. package/src/render.js +553 -0
  209. package/src/rng.js +95 -0
  210. package/src/svg.js +69 -0
  211. package/src/text.d.ts +29 -0
  212. package/src/text.js +237 -0
  213. package/src/type/auto-color.d.ts +9 -0
  214. package/src/type/auto-color.js +44 -0
  215. package/src/type/fallback.d.ts +11 -0
  216. package/src/type/fallback.js +92 -0
  217. package/src/type/glyphs.d.ts +24 -0
  218. package/src/type/glyphs.js +87 -0
  219. package/src/type/index.d.ts +5 -0
  220. package/src/type/index.js +10 -0
  221. package/src/type/kern.d.ts +4 -0
  222. package/src/type/kern.js +144 -0
  223. package/src/type/layout-ref.d.ts +10 -0
  224. package/src/type/layout-ref.js +74 -0
  225. package/src/type/line.d.ts +11 -0
  226. package/src/type/line.js +105 -0
  227. package/src/type/live.d.ts +6 -0
  228. package/src/type/live.js +39 -0
  229. package/src/type/name.d.ts +4 -0
  230. package/src/type/name.js +32 -0
  231. package/src/type/path.d.ts +18 -0
  232. package/src/type/path.js +89 -0
  233. package/src/type/pixel.d.ts +9 -0
  234. package/src/type/pixel.js +115 -0
  235. package/src/type/sfnt.d.ts +20 -0
  236. package/src/type/sfnt.js +258 -0
  237. package/src/type/spans.d.ts +33 -0
  238. package/src/type/spans.js +138 -0
  239. package/src/type/symbols.d.ts +7 -0
  240. package/src/type/symbols.js +89 -0
  241. package/src/type/typeset.d.ts +10 -0
  242. package/src/type/typeset.js +352 -0
  243. package/src/type/woff2.d.ts +6 -0
  244. package/src/type/woff2.js +301 -0
  245. package/src/version.js +4 -0
@@ -0,0 +1,1143 @@
1
+ {
2
+ "$schema": "../schema/recipe.schema.json",
3
+ "name": "brand",
4
+ "description": "A brand on every format: avatars, headers and banners, posts and stories, business cards (front and back), letterhead, compliment slips, tickets, passes and stickers. kit() uses it by default. Options: name, tagline, mark (path markup on a 512 grid), photo, lines (contact or info lines), person and role (cards and passes), ticket (a ticket number), compliments.",
5
+ "pages": [
6
+ "front",
7
+ "back"
8
+ ],
9
+ "params": {
10
+ "tagline": ""
11
+ },
12
+ "layers": [
13
+ {
14
+ "id": "bg",
15
+ "type": "solid",
16
+ "color": "@accent",
17
+ "when": {
18
+ "not": {
19
+ "any": [
20
+ {
21
+ "format": [
22
+ "letterhead",
23
+ "letterhead-us",
24
+ "compliment-slip",
25
+ "badge",
26
+ "lanyard-pass"
27
+ ]
28
+ },
29
+ {
30
+ "all": [
31
+ {
32
+ "format": [
33
+ "business-card",
34
+ "business-card-us"
35
+ ]
36
+ },
37
+ {
38
+ "page": "back"
39
+ }
40
+ ]
41
+ }
42
+ ]
43
+ }
44
+ }
45
+ },
46
+ {
47
+ "id": "bg",
48
+ "type": "solid",
49
+ "color": "@bg",
50
+ "when": {
51
+ "any": [
52
+ {
53
+ "format": [
54
+ "letterhead",
55
+ "letterhead-us",
56
+ "compliment-slip",
57
+ "badge",
58
+ "lanyard-pass"
59
+ ]
60
+ },
61
+ {
62
+ "all": [
63
+ {
64
+ "format": [
65
+ "business-card",
66
+ "business-card-us"
67
+ ]
68
+ },
69
+ {
70
+ "page": "back"
71
+ }
72
+ ]
73
+ }
74
+ ]
75
+ }
76
+ },
77
+ {
78
+ "id": "photo",
79
+ "type": "image",
80
+ "src": "{photo}",
81
+ "when": {
82
+ "all": [
83
+ "photo",
84
+ {
85
+ "not": {
86
+ "format": [
87
+ "avatar",
88
+ "x-avatar",
89
+ "youtube-avatar",
90
+ "sticker",
91
+ "sticker-square",
92
+ "business-card",
93
+ "business-card-us",
94
+ "letterhead",
95
+ "letterhead-us",
96
+ "compliment-slip",
97
+ "badge",
98
+ "lanyard-pass",
99
+ "ticket"
100
+ ]
101
+ }
102
+ }
103
+ ]
104
+ },
105
+ "effects": [
106
+ {
107
+ "kind": "duotone",
108
+ "colors": [
109
+ {
110
+ "mix": [
111
+ "@accent",
112
+ "#000000",
113
+ 0.6
114
+ ]
115
+ },
116
+ "@accent",
117
+ {
118
+ "mix": [
119
+ "@accent",
120
+ "#ffffff",
121
+ 0.65
122
+ ]
123
+ }
124
+ ]
125
+ }
126
+ ],
127
+ "opacity": 0.9
128
+ },
129
+ {
130
+ "id": "scrim",
131
+ "type": "linear",
132
+ "angle": 180,
133
+ "colors": [
134
+ "@accent",
135
+ "@accent"
136
+ ],
137
+ "opacities": [
138
+ 0,
139
+ 0.75
140
+ ],
141
+ "when": {
142
+ "all": [
143
+ "photo",
144
+ {
145
+ "not": {
146
+ "format": [
147
+ "avatar",
148
+ "x-avatar",
149
+ "youtube-avatar",
150
+ "sticker",
151
+ "sticker-square",
152
+ "business-card",
153
+ "business-card-us",
154
+ "letterhead",
155
+ "letterhead-us",
156
+ "compliment-slip",
157
+ "badge",
158
+ "lanyard-pass",
159
+ "ticket"
160
+ ]
161
+ }
162
+ }
163
+ ]
164
+ }
165
+ },
166
+ {
167
+ "id": "mark",
168
+ "type": "icon",
169
+ "markup": "{mark}",
170
+ "anchor": "center",
171
+ "size": {
172
+ "mul": [
173
+ {
174
+ "min": [
175
+ "@safeWidth",
176
+ "@safeHeight"
177
+ ]
178
+ },
179
+ 0.86
180
+ ]
181
+ },
182
+ "color": "@onAccent",
183
+ "when": {
184
+ "all": [
185
+ "mark",
186
+ {
187
+ "format": [
188
+ "avatar",
189
+ "x-avatar",
190
+ "youtube-avatar",
191
+ "sticker",
192
+ "sticker-square"
193
+ ]
194
+ }
195
+ ]
196
+ }
197
+ },
198
+ {
199
+ "id": "initial",
200
+ "type": "text",
201
+ "content": {
202
+ "upper": {
203
+ "slice": [
204
+ "{name}",
205
+ 0,
206
+ 1
207
+ ]
208
+ }
209
+ },
210
+ "anchor": "center",
211
+ "align": "center",
212
+ "size": {
213
+ "mul": [
214
+ {
215
+ "min": [
216
+ "@safeWidth",
217
+ "@safeHeight"
218
+ ]
219
+ },
220
+ 0.62
221
+ ]
222
+ },
223
+ "weight": 700,
224
+ "letterSpacing": 0,
225
+ "color": "@onAccent",
226
+ "when": {
227
+ "all": [
228
+ {
229
+ "not": "mark"
230
+ },
231
+ "name",
232
+ {
233
+ "format": [
234
+ "avatar",
235
+ "x-avatar",
236
+ "youtube-avatar",
237
+ "sticker",
238
+ "sticker-square"
239
+ ]
240
+ }
241
+ ]
242
+ }
243
+ },
244
+ {
245
+ "id": "mark",
246
+ "type": "icon",
247
+ "markup": "{mark}",
248
+ "anchor": "left",
249
+ "size": {
250
+ "mul": [
251
+ "@safeHeight",
252
+ 0.6
253
+ ]
254
+ },
255
+ "color": "@onAccent",
256
+ "when": {
257
+ "all": [
258
+ "mark",
259
+ {
260
+ "all": [
261
+ {
262
+ "not": {
263
+ "format": [
264
+ "avatar",
265
+ "x-avatar",
266
+ "youtube-avatar",
267
+ "sticker",
268
+ "sticker-square",
269
+ "business-card",
270
+ "business-card-us",
271
+ "letterhead",
272
+ "letterhead-us",
273
+ "compliment-slip",
274
+ "badge",
275
+ "lanyard-pass",
276
+ "ticket"
277
+ ]
278
+ }
279
+ },
280
+ {
281
+ "aspect": "wide"
282
+ }
283
+ ]
284
+ }
285
+ ]
286
+ }
287
+ },
288
+ {
289
+ "id": "name",
290
+ "type": "text",
291
+ "content": "{name}",
292
+ "label": {
293
+ "content": "{tagline}",
294
+ "color": {
295
+ "mix": [
296
+ "@onAccent",
297
+ "@accent",
298
+ 0.3
299
+ ]
300
+ }
301
+ },
302
+ "anchor": "left",
303
+ "weight": 700,
304
+ "letterSpacing": -0.03,
305
+ "offset": {
306
+ "if": "mark",
307
+ "then": {
308
+ "x": {
309
+ "mul": [
310
+ "@safeHeight",
311
+ 0.74
312
+ ]
313
+ }
314
+ },
315
+ "else": {
316
+ "x": 0
317
+ }
318
+ },
319
+ "maxWidth": {
320
+ "if": "mark",
321
+ "then": {
322
+ "sub": [
323
+ "@safeWidth",
324
+ {
325
+ "mul": [
326
+ "@safeHeight",
327
+ 0.9
328
+ ]
329
+ }
330
+ ]
331
+ },
332
+ "else": {
333
+ "mul": [
334
+ "@safeWidth",
335
+ 0.9
336
+ ]
337
+ }
338
+ },
339
+ "size": {
340
+ "min": [
341
+ {
342
+ "mul": [
343
+ "@safeHeight",
344
+ 0.3
345
+ ]
346
+ },
347
+ {
348
+ "mul": [
349
+ "@safeWidth",
350
+ 0.09
351
+ ]
352
+ }
353
+ ]
354
+ },
355
+ "minSize": {
356
+ "mul": [
357
+ "@safeHeight",
358
+ 0.14
359
+ ]
360
+ },
361
+ "maxLines": 2,
362
+ "color": "@onAccent",
363
+ "when": {
364
+ "all": [
365
+ "name",
366
+ {
367
+ "all": [
368
+ {
369
+ "not": {
370
+ "format": [
371
+ "avatar",
372
+ "x-avatar",
373
+ "youtube-avatar",
374
+ "sticker",
375
+ "sticker-square",
376
+ "business-card",
377
+ "business-card-us",
378
+ "letterhead",
379
+ "letterhead-us",
380
+ "compliment-slip",
381
+ "badge",
382
+ "lanyard-pass",
383
+ "ticket"
384
+ ]
385
+ }
386
+ },
387
+ {
388
+ "aspect": "wide"
389
+ }
390
+ ]
391
+ }
392
+ ]
393
+ }
394
+ },
395
+ {
396
+ "id": "mark",
397
+ "type": "icon",
398
+ "markup": "{mark}",
399
+ "anchor": "center",
400
+ "offset": {
401
+ "y": {
402
+ "mul": [
403
+ "@safeHeight",
404
+ -0.1
405
+ ]
406
+ }
407
+ },
408
+ "size": {
409
+ "mul": [
410
+ {
411
+ "min": [
412
+ "@safeWidth",
413
+ "@safeHeight"
414
+ ]
415
+ },
416
+ 0.42
417
+ ]
418
+ },
419
+ "color": "@onAccent",
420
+ "when": {
421
+ "all": [
422
+ "mark",
423
+ {
424
+ "all": [
425
+ {
426
+ "not": {
427
+ "format": [
428
+ "avatar",
429
+ "x-avatar",
430
+ "youtube-avatar",
431
+ "sticker",
432
+ "sticker-square",
433
+ "business-card",
434
+ "business-card-us",
435
+ "letterhead",
436
+ "letterhead-us",
437
+ "compliment-slip",
438
+ "badge",
439
+ "lanyard-pass",
440
+ "ticket"
441
+ ]
442
+ }
443
+ },
444
+ {
445
+ "not": {
446
+ "aspect": "wide"
447
+ }
448
+ }
449
+ ]
450
+ }
451
+ ]
452
+ }
453
+ },
454
+ {
455
+ "id": "name",
456
+ "type": "text",
457
+ "content": "{name}",
458
+ "label": {
459
+ "content": "{tagline}",
460
+ "color": {
461
+ "mix": [
462
+ "@onAccent",
463
+ "@accent",
464
+ 0.3
465
+ ]
466
+ }
467
+ },
468
+ "anchor": {
469
+ "if": "mark",
470
+ "then": "bottom",
471
+ "else": "center"
472
+ },
473
+ "align": "center",
474
+ "weight": 700,
475
+ "letterSpacing": -0.03,
476
+ "size": {
477
+ "mul": [
478
+ "@safeWidth",
479
+ 0.1
480
+ ]
481
+ },
482
+ "minSize": {
483
+ "mul": [
484
+ "@safeWidth",
485
+ 0.06
486
+ ]
487
+ },
488
+ "maxLines": 2,
489
+ "color": "@onAccent",
490
+ "when": {
491
+ "all": [
492
+ "name",
493
+ {
494
+ "all": [
495
+ {
496
+ "not": {
497
+ "format": [
498
+ "avatar",
499
+ "x-avatar",
500
+ "youtube-avatar",
501
+ "sticker",
502
+ "sticker-square",
503
+ "business-card",
504
+ "business-card-us",
505
+ "letterhead",
506
+ "letterhead-us",
507
+ "compliment-slip",
508
+ "badge",
509
+ "lanyard-pass",
510
+ "ticket"
511
+ ]
512
+ }
513
+ },
514
+ {
515
+ "not": {
516
+ "aspect": "wide"
517
+ }
518
+ }
519
+ ]
520
+ }
521
+ ]
522
+ }
523
+ },
524
+ {
525
+ "id": "mark",
526
+ "type": "icon",
527
+ "markup": "{mark}",
528
+ "anchor": "center",
529
+ "offset": {
530
+ "y": {
531
+ "mul": [
532
+ "@trimHeight",
533
+ -0.08
534
+ ]
535
+ }
536
+ },
537
+ "size": {
538
+ "mul": [
539
+ "@trimHeight",
540
+ 0.4
541
+ ]
542
+ },
543
+ "color": "@onAccent",
544
+ "when": {
545
+ "all": [
546
+ "mark",
547
+ {
548
+ "all": [
549
+ {
550
+ "format": [
551
+ "business-card",
552
+ "business-card-us"
553
+ ]
554
+ },
555
+ {
556
+ "not": {
557
+ "page": "back"
558
+ }
559
+ }
560
+ ]
561
+ }
562
+ ]
563
+ }
564
+ },
565
+ {
566
+ "id": "name",
567
+ "type": "text",
568
+ "content": "{name}",
569
+ "anchor": "bottom",
570
+ "align": "center",
571
+ "weight": 700,
572
+ "letterSpacing": -0.02,
573
+ "size": {
574
+ "mul": [
575
+ "@trimHeight",
576
+ 0.1
577
+ ]
578
+ },
579
+ "maxLines": 1,
580
+ "color": "@onAccent",
581
+ "when": {
582
+ "all": [
583
+ "name",
584
+ {
585
+ "all": [
586
+ {
587
+ "format": [
588
+ "business-card",
589
+ "business-card-us"
590
+ ]
591
+ },
592
+ {
593
+ "not": {
594
+ "page": "back"
595
+ }
596
+ }
597
+ ]
598
+ }
599
+ ]
600
+ }
601
+ },
602
+ {
603
+ "id": "person",
604
+ "type": "text",
605
+ "content": "{opt.person}",
606
+ "label": "{opt.role}",
607
+ "anchor": "top-left",
608
+ "weight": 700,
609
+ "letterSpacing": -0.02,
610
+ "size": {
611
+ "mul": [
612
+ "@trimHeight",
613
+ 0.095
614
+ ]
615
+ },
616
+ "maxLines": 1,
617
+ "color": "@text",
618
+ "when": {
619
+ "all": [
620
+ "opt.person",
621
+ {
622
+ "all": [
623
+ {
624
+ "format": [
625
+ "business-card",
626
+ "business-card-us"
627
+ ]
628
+ },
629
+ {
630
+ "page": "back"
631
+ }
632
+ ]
633
+ }
634
+ ]
635
+ }
636
+ },
637
+ {
638
+ "id": "lines",
639
+ "type": "table",
640
+ "rows": "{lines}",
641
+ "x": "@safeX",
642
+ "y": {
643
+ "mul": [
644
+ "@height",
645
+ 0.6
646
+ ]
647
+ },
648
+ "columns": [
649
+ {
650
+ "x": "@safeX"
651
+ }
652
+ ],
653
+ "size": {
654
+ "mul": [
655
+ "@trimHeight",
656
+ 0.058
657
+ ]
658
+ },
659
+ "color": "@text",
660
+ "when": {
661
+ "all": [
662
+ "lines",
663
+ {
664
+ "all": [
665
+ {
666
+ "format": [
667
+ "business-card",
668
+ "business-card-us"
669
+ ]
670
+ },
671
+ {
672
+ "page": "back"
673
+ }
674
+ ]
675
+ }
676
+ ]
677
+ }
678
+ },
679
+ {
680
+ "id": "mark",
681
+ "type": "icon",
682
+ "markup": "{mark}",
683
+ "anchor": "bottom-right",
684
+ "size": {
685
+ "mul": [
686
+ "@trimHeight",
687
+ 0.22
688
+ ]
689
+ },
690
+ "color": "@accent",
691
+ "when": {
692
+ "all": [
693
+ "mark",
694
+ {
695
+ "all": [
696
+ {
697
+ "format": [
698
+ "business-card",
699
+ "business-card-us"
700
+ ]
701
+ },
702
+ {
703
+ "page": "back"
704
+ }
705
+ ]
706
+ }
707
+ ]
708
+ }
709
+ },
710
+ {
711
+ "id": "mark",
712
+ "type": "icon",
713
+ "markup": "{mark}",
714
+ "anchor": "top-left",
715
+ "size": {
716
+ "mul": [
717
+ "@trimWidth",
718
+ 0.085
719
+ ]
720
+ },
721
+ "color": "@accent",
722
+ "when": {
723
+ "all": [
724
+ "mark",
725
+ {
726
+ "format": [
727
+ "letterhead",
728
+ "letterhead-us",
729
+ "compliment-slip"
730
+ ]
731
+ }
732
+ ]
733
+ }
734
+ },
735
+ {
736
+ "id": "name",
737
+ "type": "text",
738
+ "content": "{name}",
739
+ "label": {
740
+ "content": "{tagline}",
741
+ "color": "@muted"
742
+ },
743
+ "anchor": "top-right",
744
+ "align": "right",
745
+ "weight": 700,
746
+ "letterSpacing": -0.02,
747
+ "size": {
748
+ "mul": [
749
+ "@trimWidth",
750
+ 0.03
751
+ ]
752
+ },
753
+ "maxLines": 1,
754
+ "color": "@text",
755
+ "when": {
756
+ "all": [
757
+ "name",
758
+ {
759
+ "format": [
760
+ "letterhead",
761
+ "letterhead-us",
762
+ "compliment-slip"
763
+ ]
764
+ }
765
+ ]
766
+ }
767
+ },
768
+ {
769
+ "id": "compliments",
770
+ "type": "text",
771
+ "content": "{opt.compliments}",
772
+ "anchor": "left",
773
+ "weight": 400,
774
+ "size": {
775
+ "mul": [
776
+ "@trimHeight",
777
+ 0.09
778
+ ]
779
+ },
780
+ "color": "@text",
781
+ "when": {
782
+ "all": [
783
+ "opt.compliments",
784
+ {
785
+ "format": "compliment-slip"
786
+ }
787
+ ]
788
+ }
789
+ },
790
+ {
791
+ "id": "rule",
792
+ "type": "shape",
793
+ "kind": "line",
794
+ "x1": "@safeX",
795
+ "x2": {
796
+ "add": [
797
+ "@safeX",
798
+ "@safeWidth"
799
+ ]
800
+ },
801
+ "y1": {
802
+ "sub": [
803
+ {
804
+ "add": [
805
+ "@safeY",
806
+ "@safeHeight"
807
+ ]
808
+ },
809
+ {
810
+ "mul": [
811
+ "@trimHeight",
812
+ {
813
+ "if": {
814
+ "format": "compliment-slip"
815
+ },
816
+ "then": 0.16,
817
+ "else": 0.05
818
+ }
819
+ ]
820
+ }
821
+ ]
822
+ },
823
+ "stroke": "@accent",
824
+ "strokeWidth": {
825
+ "mul": [
826
+ "@mm",
827
+ 0.3
828
+ ]
829
+ },
830
+ "when": {
831
+ "format": [
832
+ "letterhead",
833
+ "letterhead-us",
834
+ "compliment-slip"
835
+ ]
836
+ }
837
+ },
838
+ {
839
+ "id": "lines",
840
+ "type": "table",
841
+ "rows": [
842
+ "{lines}"
843
+ ],
844
+ "y": {
845
+ "sub": [
846
+ {
847
+ "add": [
848
+ "@safeY",
849
+ "@safeHeight"
850
+ ]
851
+ },
852
+ {
853
+ "mul": [
854
+ "@trimHeight",
855
+ {
856
+ "if": {
857
+ "format": "compliment-slip"
858
+ },
859
+ "then": 0.08,
860
+ "else": 0.025
861
+ }
862
+ ]
863
+ }
864
+ ]
865
+ },
866
+ "columns": [
867
+ {
868
+ "x": "@safeX"
869
+ },
870
+ {
871
+ "x": "37%"
872
+ },
873
+ {
874
+ "x": "68%"
875
+ }
876
+ ],
877
+ "size": {
878
+ "mul": [
879
+ "@mm",
880
+ 2.6
881
+ ]
882
+ },
883
+ "color": "@muted",
884
+ "when": {
885
+ "all": [
886
+ "lines",
887
+ {
888
+ "format": [
889
+ "letterhead",
890
+ "letterhead-us",
891
+ "compliment-slip"
892
+ ]
893
+ }
894
+ ]
895
+ }
896
+ },
897
+ {
898
+ "id": "band",
899
+ "type": "shape",
900
+ "kind": "rect",
901
+ "x": 0,
902
+ "y": 0,
903
+ "width": "@width",
904
+ "height": {
905
+ "mul": [
906
+ "@height",
907
+ 0.36
908
+ ]
909
+ },
910
+ "fill": "@accent",
911
+ "when": {
912
+ "format": [
913
+ "badge",
914
+ "lanyard-pass"
915
+ ]
916
+ }
917
+ },
918
+ {
919
+ "id": "mark",
920
+ "type": "icon",
921
+ "markup": "{mark}",
922
+ "anchor": "top",
923
+ "size": {
924
+ "mul": [
925
+ "@trimHeight",
926
+ 0.2
927
+ ]
928
+ },
929
+ "color": "@onAccent",
930
+ "when": {
931
+ "all": [
932
+ "mark",
933
+ {
934
+ "format": [
935
+ "badge",
936
+ "lanyard-pass"
937
+ ]
938
+ }
939
+ ]
940
+ }
941
+ },
942
+ {
943
+ "id": "name",
944
+ "type": "text",
945
+ "content": "{opt.person}",
946
+ "label": "{opt.role}",
947
+ "anchor": "center",
948
+ "align": "center",
949
+ "offset": {
950
+ "y": {
951
+ "mul": [
952
+ "@height",
953
+ 0.1
954
+ ]
955
+ }
956
+ },
957
+ "weight": 700,
958
+ "letterSpacing": -0.03,
959
+ "size": {
960
+ "mul": [
961
+ "@trimWidth",
962
+ 0.12
963
+ ]
964
+ },
965
+ "maxLines": 2,
966
+ "color": "@text",
967
+ "when": {
968
+ "all": [
969
+ "opt.person",
970
+ {
971
+ "format": [
972
+ "badge",
973
+ "lanyard-pass"
974
+ ]
975
+ }
976
+ ]
977
+ }
978
+ },
979
+ {
980
+ "id": "footer",
981
+ "type": "text",
982
+ "content": "{name}",
983
+ "anchor": "bottom",
984
+ "align": "center",
985
+ "weight": 600,
986
+ "size": {
987
+ "mul": [
988
+ "@trimWidth",
989
+ 0.055
990
+ ]
991
+ },
992
+ "letterSpacing": 0.08,
993
+ "transform": "uppercase",
994
+ "color": "@accent",
995
+ "when": {
996
+ "all": [
997
+ "name",
998
+ {
999
+ "format": [
1000
+ "badge",
1001
+ "lanyard-pass"
1002
+ ]
1003
+ }
1004
+ ]
1005
+ }
1006
+ },
1007
+ {
1008
+ "id": "name",
1009
+ "type": "text",
1010
+ "content": "{name}",
1011
+ "label": {
1012
+ "content": "{tagline}",
1013
+ "color": {
1014
+ "mix": [
1015
+ "@onAccent",
1016
+ "@accent",
1017
+ 0.3
1018
+ ]
1019
+ }
1020
+ },
1021
+ "anchor": "left",
1022
+ "weight": 700,
1023
+ "letterSpacing": -0.03,
1024
+ "size": {
1025
+ "mul": [
1026
+ "@trimHeight",
1027
+ 0.24
1028
+ ]
1029
+ },
1030
+ "maxWidth": {
1031
+ "mul": [
1032
+ "@trimWidth",
1033
+ 0.6
1034
+ ]
1035
+ },
1036
+ "maxLines": 2,
1037
+ "color": "@onAccent",
1038
+ "when": {
1039
+ "all": [
1040
+ "name",
1041
+ {
1042
+ "format": [
1043
+ "ticket"
1044
+ ]
1045
+ }
1046
+ ]
1047
+ }
1048
+ },
1049
+ {
1050
+ "id": "perforation",
1051
+ "type": "perforation",
1052
+ "x": "74%",
1053
+ "y1": "@bleed",
1054
+ "y2": {
1055
+ "sub": [
1056
+ "@height",
1057
+ "@bleed"
1058
+ ]
1059
+ },
1060
+ "color": "@onAccent",
1061
+ "size": {
1062
+ "mul": [
1063
+ "@mm",
1064
+ 0.5
1065
+ ]
1066
+ },
1067
+ "gap": {
1068
+ "mul": [
1069
+ "@mm",
1070
+ 2.2
1071
+ ]
1072
+ },
1073
+ "when": {
1074
+ "format": [
1075
+ "ticket"
1076
+ ]
1077
+ }
1078
+ },
1079
+ {
1080
+ "id": "barcode",
1081
+ "type": "barcode",
1082
+ "value": {
1083
+ "upper": "{opt.ticket}"
1084
+ },
1085
+ "x": "79%",
1086
+ "y": "28%",
1087
+ "width": "16%",
1088
+ "height": "34%",
1089
+ "text": true,
1090
+ "color": "@onAccent",
1091
+ "when": {
1092
+ "all": [
1093
+ "opt.ticket",
1094
+ {
1095
+ "format": [
1096
+ "ticket"
1097
+ ]
1098
+ }
1099
+ ]
1100
+ }
1101
+ },
1102
+ {
1103
+ "id": "lines",
1104
+ "type": "table",
1105
+ "rows": [
1106
+ "{lines.0}"
1107
+ ],
1108
+ "y": {
1109
+ "mul": [
1110
+ "@height",
1111
+ 0.82
1112
+ ]
1113
+ },
1114
+ "columns": [
1115
+ {
1116
+ "x": {
1117
+ "add": [
1118
+ "@safeX",
1119
+ 0
1120
+ ]
1121
+ }
1122
+ }
1123
+ ],
1124
+ "size": {
1125
+ "mul": [
1126
+ "@trimHeight",
1127
+ 0.065
1128
+ ]
1129
+ },
1130
+ "color": "@onAccent",
1131
+ "when": {
1132
+ "all": [
1133
+ "lines",
1134
+ {
1135
+ "format": [
1136
+ "ticket"
1137
+ ]
1138
+ }
1139
+ ]
1140
+ }
1141
+ }
1142
+ ]
1143
+ }