@ewanc26/og 0.1.4 → 0.1.6

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.
@@ -34,6 +34,7 @@ function blogTemplate({
34
34
  description,
35
35
  siteName,
36
36
  colors,
37
+ noiseDataUrl,
37
38
  width,
38
39
  height
39
40
  }) {
@@ -41,6 +42,7 @@ function blogTemplate({
41
42
  type: "div",
42
43
  props: {
43
44
  style: {
45
+ position: "relative",
44
46
  display: "flex",
45
47
  flexDirection: "column",
46
48
  alignItems: "center",
@@ -50,51 +52,83 @@ function blogTemplate({
50
52
  backgroundColor: colors.background
51
53
  },
52
54
  children: [
53
- {
54
- type: "h1",
55
+ noiseDataUrl ? {
56
+ type: "img",
55
57
  props: {
58
+ src: noiseDataUrl,
59
+ width,
60
+ height,
56
61
  style: {
57
- fontSize: 64,
58
- fontWeight: 700,
59
- color: colors.text,
60
- letterSpacing: "-0.02em",
61
- margin: 0,
62
- textAlign: "center",
63
- lineHeight: 1.1,
64
- maxWidth: 1e3
65
- },
66
- children: title
67
- }
68
- },
69
- description ? {
70
- type: "p",
71
- props: {
72
- style: {
73
- fontSize: 28,
74
- fontWeight: 400,
75
- color: colors.accent,
76
- marginTop: 28,
77
- marginBottom: 0,
78
- textAlign: "center",
79
- lineHeight: 1.4,
80
- maxWidth: 900
81
- },
82
- children: description
62
+ position: "absolute",
63
+ top: 0,
64
+ left: 0,
65
+ width,
66
+ height
67
+ }
83
68
  }
84
69
  } : null,
85
70
  {
86
- type: "p",
71
+ type: "div",
87
72
  props: {
88
73
  style: {
89
- fontSize: 24,
90
- fontWeight: 400,
91
- color: colors.accent,
92
- marginTop: 56,
93
- marginBottom: 0,
94
- textAlign: "center",
95
- opacity: 0.7
74
+ position: "relative",
75
+ display: "flex",
76
+ flexDirection: "column",
77
+ alignItems: "center",
78
+ justifyContent: "center",
79
+ width,
80
+ height,
81
+ padding: "0 60px"
96
82
  },
97
- children: siteName
83
+ children: [
84
+ {
85
+ type: "h1",
86
+ props: {
87
+ style: {
88
+ fontSize: 64,
89
+ fontWeight: 700,
90
+ color: colors.text,
91
+ letterSpacing: "-0.02em",
92
+ margin: 0,
93
+ textAlign: "center",
94
+ lineHeight: 1.1,
95
+ maxWidth: 1e3
96
+ },
97
+ children: title
98
+ }
99
+ },
100
+ description ? {
101
+ type: "p",
102
+ props: {
103
+ style: {
104
+ fontSize: 28,
105
+ fontWeight: 400,
106
+ color: colors.accent,
107
+ marginTop: 28,
108
+ marginBottom: 0,
109
+ textAlign: "center",
110
+ lineHeight: 1.4,
111
+ maxWidth: 900
112
+ },
113
+ children: description
114
+ }
115
+ } : null,
116
+ {
117
+ type: "p",
118
+ props: {
119
+ style: {
120
+ fontSize: 24,
121
+ fontWeight: 400,
122
+ color: colors.accent,
123
+ marginTop: 56,
124
+ marginBottom: 0,
125
+ textAlign: "center",
126
+ opacity: 0.7
127
+ },
128
+ children: siteName
129
+ }
130
+ }
131
+ ].filter(Boolean)
98
132
  }
99
133
  }
100
134
  ].filter(Boolean)
@@ -109,12 +143,13 @@ function profileTemplate({
109
143
  siteName,
110
144
  image,
111
145
  colors,
146
+ noiseDataUrl,
112
147
  width,
113
148
  height
114
149
  }) {
115
- const children = [];
150
+ const contentChildren = [];
116
151
  if (image) {
117
- children.push({
152
+ contentChildren.push({
118
153
  type: "img",
119
154
  props: {
120
155
  src: image,
@@ -128,7 +163,7 @@ function profileTemplate({
128
163
  }
129
164
  });
130
165
  }
131
- children.push({
166
+ contentChildren.push({
132
167
  type: "h1",
133
168
  props: {
134
169
  style: {
@@ -145,7 +180,7 @@ function profileTemplate({
145
180
  }
146
181
  });
147
182
  if (description) {
148
- children.push({
183
+ contentChildren.push({
149
184
  type: "p",
150
185
  props: {
151
186
  style: {
@@ -162,7 +197,7 @@ function profileTemplate({
162
197
  }
163
198
  });
164
199
  }
165
- children.push({
200
+ contentChildren.push({
166
201
  type: "p",
167
202
  props: {
168
203
  style: {
@@ -181,6 +216,7 @@ function profileTemplate({
181
216
  type: "div",
182
217
  props: {
183
218
  style: {
219
+ position: "relative",
184
220
  display: "flex",
185
221
  flexDirection: "column",
186
222
  alignItems: "center",
@@ -189,7 +225,39 @@ function profileTemplate({
189
225
  height,
190
226
  backgroundColor: colors.background
191
227
  },
192
- children
228
+ children: [
229
+ noiseDataUrl ? {
230
+ type: "img",
231
+ props: {
232
+ src: noiseDataUrl,
233
+ width,
234
+ height,
235
+ style: {
236
+ position: "absolute",
237
+ top: 0,
238
+ left: 0,
239
+ width,
240
+ height
241
+ }
242
+ }
243
+ } : null,
244
+ {
245
+ type: "div",
246
+ props: {
247
+ style: {
248
+ position: "relative",
249
+ display: "flex",
250
+ flexDirection: "column",
251
+ alignItems: "center",
252
+ justifyContent: "center",
253
+ width,
254
+ height,
255
+ padding: "0 60px"
256
+ },
257
+ children: contentChildren
258
+ }
259
+ }
260
+ ].filter(Boolean)
193
261
  }
194
262
  };
195
263
  }
@@ -200,6 +268,7 @@ function defaultTemplate({
200
268
  description,
201
269
  siteName,
202
270
  colors,
271
+ noiseDataUrl,
203
272
  width,
204
273
  height
205
274
  }) {
@@ -207,6 +276,7 @@ function defaultTemplate({
207
276
  type: "div",
208
277
  props: {
209
278
  style: {
279
+ position: "relative",
210
280
  display: "flex",
211
281
  flexDirection: "column",
212
282
  alignItems: "center",
@@ -216,48 +286,80 @@ function defaultTemplate({
216
286
  backgroundColor: colors.background
217
287
  },
218
288
  children: [
219
- {
220
- type: "h1",
289
+ noiseDataUrl ? {
290
+ type: "img",
221
291
  props: {
292
+ src: noiseDataUrl,
293
+ width,
294
+ height,
222
295
  style: {
223
- fontSize: 72,
224
- fontWeight: 700,
225
- color: colors.text,
226
- letterSpacing: "-0.02em",
227
- margin: 0,
228
- textAlign: "center"
229
- },
230
- children: title
231
- }
232
- },
233
- description ? {
234
- type: "p",
235
- props: {
236
- style: {
237
- fontSize: 32,
238
- fontWeight: 400,
239
- color: colors.accent,
240
- marginTop: 24,
241
- marginBottom: 0,
242
- textAlign: "center",
243
- maxWidth: 900
244
- },
245
- children: description
296
+ position: "absolute",
297
+ top: 0,
298
+ left: 0,
299
+ width,
300
+ height
301
+ }
246
302
  }
247
303
  } : null,
248
304
  {
249
- type: "p",
305
+ type: "div",
250
306
  props: {
251
307
  style: {
252
- fontSize: 28,
253
- fontWeight: 400,
254
- color: colors.accent,
255
- marginTop: 64,
256
- marginBottom: 0,
257
- textAlign: "center",
258
- opacity: 0.7
308
+ position: "relative",
309
+ display: "flex",
310
+ flexDirection: "column",
311
+ alignItems: "center",
312
+ justifyContent: "center",
313
+ width,
314
+ height,
315
+ padding: "0 60px"
259
316
  },
260
- children: siteName
317
+ children: [
318
+ {
319
+ type: "h1",
320
+ props: {
321
+ style: {
322
+ fontSize: 72,
323
+ fontWeight: 700,
324
+ color: colors.text,
325
+ letterSpacing: "-0.02em",
326
+ margin: 0,
327
+ textAlign: "center"
328
+ },
329
+ children: title
330
+ }
331
+ },
332
+ description ? {
333
+ type: "p",
334
+ props: {
335
+ style: {
336
+ fontSize: 32,
337
+ fontWeight: 400,
338
+ color: colors.accent,
339
+ marginTop: 24,
340
+ marginBottom: 0,
341
+ textAlign: "center",
342
+ maxWidth: 900
343
+ },
344
+ children: description
345
+ }
346
+ } : null,
347
+ {
348
+ type: "p",
349
+ props: {
350
+ style: {
351
+ fontSize: 28,
352
+ fontWeight: 400,
353
+ color: colors.accent,
354
+ marginTop: 64,
355
+ marginBottom: 0,
356
+ textAlign: "center",
357
+ opacity: 0.7
358
+ },
359
+ children: siteName
360
+ }
361
+ }
362
+ ].filter(Boolean)
261
363
  }
262
364
  }
263
365
  ].filter(Boolean)
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/templates/index.ts","../../src/templates/blog.ts","../../src/templates/profile.ts","../../src/templates/default.ts"],"sourcesContent":["/**\n * Built-in OG templates.\n */\n\nexport { blogTemplate } from './blog.js'\nexport { profileTemplate } from './profile.js'\nexport { defaultTemplate } from './default.js'\n\nimport { blogTemplate } from './blog.js'\nimport { profileTemplate } from './profile.js'\nimport { defaultTemplate } from './default.js'\nimport type { OgTemplate } from '../types.js'\n\nexport const templates = {\n\tblog: blogTemplate,\n\tprofile: profileTemplate,\n\tdefault: defaultTemplate,\n} as const\n\nexport type TemplateName = keyof typeof templates\n\nexport function getTemplate(name: TemplateName | OgTemplate): OgTemplate {\n\tif (typeof name === 'function') {\n\t\treturn name\n\t}\n\treturn templates[name]\n}\n","/**\n * Blog OG template.\n * Clean centered layout.\n */\n\nimport type { OgTemplateProps } from '../types.js'\n\nexport function blogTemplate({\n\ttitle,\n\tdescription,\n\tsiteName,\n\tcolors,\n\twidth,\n\theight,\n}: OgTemplateProps) {\n\treturn {\n\t\ttype: 'div',\n\t\tprops: {\n\t\t\tstyle: {\n\t\t\t\tdisplay: 'flex',\n\t\t\t\tflexDirection: 'column',\n\t\t\t\talignItems: 'center',\n\t\t\t\tjustifyContent: 'center',\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t\tbackgroundColor: colors.background,\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\ttype: 'h1',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tfontSize: 64,\n\t\t\t\t\t\t\tfontWeight: 700,\n\t\t\t\t\t\t\tcolor: colors.text,\n\t\t\t\t\t\t\tletterSpacing: '-0.02em',\n\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\t\t\tlineHeight: 1.1,\n\t\t\t\t\t\t\tmaxWidth: 1000,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: title,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription ? {\n\t\t\t\t\ttype: 'p',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tfontSize: 28,\n\t\t\t\t\t\t\tfontWeight: 400,\n\t\t\t\t\t\t\tcolor: colors.accent,\n\t\t\t\t\t\t\tmarginTop: 28,\n\t\t\t\t\t\t\tmarginBottom: 0,\n\t\t\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\t\t\tlineHeight: 1.4,\n\t\t\t\t\t\t\tmaxWidth: 900,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: description,\n\t\t\t\t\t},\n\t\t\t\t} : null,\n\t\t\t\t{\n\t\t\t\t\ttype: 'p',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tfontSize: 24,\n\t\t\t\t\t\t\tfontWeight: 400,\n\t\t\t\t\t\t\tcolor: colors.accent,\n\t\t\t\t\t\t\tmarginTop: 56,\n\t\t\t\t\t\t\tmarginBottom: 0,\n\t\t\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\t\t\topacity: 0.7,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: siteName,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t].filter(Boolean),\n\t\t},\n\t}\n}\n","/**\n * Profile OG template.\n * Centered layout.\n */\n\nimport type { OgTemplateProps } from '../types.js'\n\nexport function profileTemplate({\n\ttitle,\n\tdescription,\n\tsiteName,\n\timage,\n\tcolors,\n\twidth,\n\theight,\n}: OgTemplateProps) {\n\tconst children: unknown[] = []\n\n\tif (image) {\n\t\tchildren.push({\n\t\t\ttype: 'img',\n\t\t\tprops: {\n\t\t\t\tsrc: image,\n\t\t\t\twidth: 120,\n\t\t\t\theight: 120,\n\t\t\t\tstyle: {\n\t\t\t\t\tborderRadius: '50%',\n\t\t\t\t\tmarginBottom: 32,\n\t\t\t\t\tobjectFit: 'cover',\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t}\n\n\tchildren.push({\n\t\ttype: 'h1',\n\t\tprops: {\n\t\t\tstyle: {\n\t\t\t\tfontSize: 56,\n\t\t\t\tfontWeight: 700,\n\t\t\t\tcolor: colors.text,\n\t\t\t\tletterSpacing: '-0.02em',\n\t\t\t\tmargin: 0,\n\t\t\t\ttextAlign: 'center',\n\t\t\t\tlineHeight: 1.1,\n\t\t\t\tmaxWidth: 900,\n\t\t\t},\n\t\t\tchildren: title,\n\t\t},\n\t})\n\n\tif (description) {\n\t\tchildren.push({\n\t\t\ttype: 'p',\n\t\t\tprops: {\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: 26,\n\t\t\t\t\tfontWeight: 400,\n\t\t\t\t\tcolor: colors.accent,\n\t\t\t\t\tmarginTop: 20,\n\t\t\t\t\tmarginBottom: 0,\n\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\tlineHeight: 1.4,\n\t\t\t\t\tmaxWidth: 700,\n\t\t\t\t},\n\t\t\t\tchildren: description,\n\t\t\t},\n\t\t})\n\t}\n\n\tchildren.push({\n\t\ttype: 'p',\n\t\tprops: {\n\t\t\tstyle: {\n\t\t\t\tfontSize: 24,\n\t\t\t\tfontWeight: 400,\n\t\t\t\tcolor: colors.accent,\n\t\t\t\tmarginTop: 48,\n\t\t\t\tmarginBottom: 0,\n\t\t\t\ttextAlign: 'center',\n\t\t\t\topacity: 0.7,\n\t\t\t},\n\t\t\tchildren: siteName,\n\t\t},\n\t})\n\n\treturn {\n\t\ttype: 'div',\n\t\tprops: {\n\t\t\tstyle: {\n\t\t\t\tdisplay: 'flex',\n\t\t\t\tflexDirection: 'column',\n\t\t\t\talignItems: 'center',\n\t\t\t\tjustifyContent: 'center',\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t\tbackgroundColor: colors.background,\n\t\t\t},\n\t\t\tchildren,\n\t\t},\n\t}\n}\n","/**\n * Default OG template.\n * Clean, centered layout.\n */\n\nimport type { OgTemplateProps } from '../types.js'\n\nexport function defaultTemplate({\n\ttitle,\n\tdescription,\n\tsiteName,\n\tcolors,\n\twidth,\n\theight,\n}: OgTemplateProps) {\n\treturn {\n\t\ttype: 'div',\n\t\tprops: {\n\t\t\tstyle: {\n\t\t\t\tdisplay: 'flex',\n\t\t\t\tflexDirection: 'column',\n\t\t\t\talignItems: 'center',\n\t\t\t\tjustifyContent: 'center',\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t\tbackgroundColor: colors.background,\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\ttype: 'h1',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tfontSize: 72,\n\t\t\t\t\t\t\tfontWeight: 700,\n\t\t\t\t\t\t\tcolor: colors.text,\n\t\t\t\t\t\t\tletterSpacing: '-0.02em',\n\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: title,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tdescription ? {\n\t\t\t\t\ttype: 'p',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tfontSize: 32,\n\t\t\t\t\t\t\tfontWeight: 400,\n\t\t\t\t\t\t\tcolor: colors.accent,\n\t\t\t\t\t\t\tmarginTop: 24,\n\t\t\t\t\t\t\tmarginBottom: 0,\n\t\t\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\t\t\tmaxWidth: 900,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: description,\n\t\t\t\t\t},\n\t\t\t\t} : null,\n\t\t\t\t{\n\t\t\t\t\ttype: 'p',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tfontSize: 28,\n\t\t\t\t\t\t\tfontWeight: 400,\n\t\t\t\t\t\t\tcolor: colors.accent,\n\t\t\t\t\t\t\tmarginTop: 64,\n\t\t\t\t\t\t\tmarginBottom: 0,\n\t\t\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\t\t\topacity: 0.7,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: siteName,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t].filter(Boolean),\n\t\t},\n\t}\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/templates/index.ts","../../src/templates/blog.ts","../../src/templates/profile.ts","../../src/templates/default.ts"],"sourcesContent":["/**\n * Built-in OG templates.\n */\n\nexport { blogTemplate } from './blog.js'\nexport { profileTemplate } from './profile.js'\nexport { defaultTemplate } from './default.js'\n\nimport { blogTemplate } from './blog.js'\nimport { profileTemplate } from './profile.js'\nimport { defaultTemplate } from './default.js'\nimport type { OgTemplate } from '../types.js'\n\nexport const templates = {\n\tblog: blogTemplate,\n\tprofile: profileTemplate,\n\tdefault: defaultTemplate,\n} as const\n\nexport type TemplateName = keyof typeof templates\n\nexport function getTemplate(name: TemplateName | OgTemplate): OgTemplate {\n\tif (typeof name === 'function') {\n\t\treturn name\n\t}\n\treturn templates[name]\n}\n","/**\n * Blog OG template.\n * Clean centered layout.\n */\n\nimport type { OgTemplateProps } from '../types.js'\n\nexport function blogTemplate({\n\ttitle,\n\tdescription,\n\tsiteName,\n\tcolors,\n\tnoiseDataUrl,\n\twidth,\n\theight,\n}: OgTemplateProps) {\n\treturn {\n\t\ttype: 'div',\n\t\tprops: {\n\t\t\tstyle: {\n\t\t\t\tposition: 'relative',\n\t\t\t\tdisplay: 'flex',\n\t\t\t\tflexDirection: 'column',\n\t\t\t\talignItems: 'center',\n\t\t\t\tjustifyContent: 'center',\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t\tbackgroundColor: colors.background,\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\tnoiseDataUrl ? {\n\t\t\t\t\ttype: 'img',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tsrc: noiseDataUrl,\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\theight,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} : null,\n\t\t\t\t{\n\t\t\t\t\ttype: 'div',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tposition: 'relative',\n\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\tflexDirection: 'column',\n\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t\tpadding: '0 60px',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'h1',\n\t\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\t\tfontSize: 64,\n\t\t\t\t\t\t\t\t\t\tfontWeight: 700,\n\t\t\t\t\t\t\t\t\t\tcolor: colors.text,\n\t\t\t\t\t\t\t\t\t\tletterSpacing: '-0.02em',\n\t\t\t\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\t\t\t\t\t\tlineHeight: 1.1,\n\t\t\t\t\t\t\t\t\t\tmaxWidth: 1000,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tchildren: title,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdescription ? {\n\t\t\t\t\t\t\t\ttype: 'p',\n\t\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\t\tfontSize: 28,\n\t\t\t\t\t\t\t\t\t\tfontWeight: 400,\n\t\t\t\t\t\t\t\t\t\tcolor: colors.accent,\n\t\t\t\t\t\t\t\t\t\tmarginTop: 28,\n\t\t\t\t\t\t\t\t\t\tmarginBottom: 0,\n\t\t\t\t\t\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\t\t\t\t\t\tlineHeight: 1.4,\n\t\t\t\t\t\t\t\t\t\tmaxWidth: 900,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tchildren: description,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} : null,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'p',\n\t\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\t\tfontSize: 24,\n\t\t\t\t\t\t\t\t\t\tfontWeight: 400,\n\t\t\t\t\t\t\t\t\t\tcolor: colors.accent,\n\t\t\t\t\t\t\t\t\t\tmarginTop: 56,\n\t\t\t\t\t\t\t\t\t\tmarginBottom: 0,\n\t\t\t\t\t\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\t\t\t\t\t\topacity: 0.7,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tchildren: siteName,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t].filter(Boolean),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t].filter(Boolean),\n\t\t},\n\t}\n}\n","/**\n * Profile OG template.\n * Centered layout.\n */\n\nimport type { OgTemplateProps } from '../types.js'\n\nexport function profileTemplate({\n\ttitle,\n\tdescription,\n\tsiteName,\n\timage,\n\tcolors,\n\tnoiseDataUrl,\n\twidth,\n\theight,\n}: OgTemplateProps) {\n\tconst contentChildren: unknown[] = []\n\n\tif (image) {\n\t\tcontentChildren.push({\n\t\t\ttype: 'img',\n\t\t\tprops: {\n\t\t\t\tsrc: image,\n\t\t\t\twidth: 120,\n\t\t\t\theight: 120,\n\t\t\t\tstyle: {\n\t\t\t\t\tborderRadius: '50%',\n\t\t\t\t\tmarginBottom: 32,\n\t\t\t\t\tobjectFit: 'cover',\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t}\n\n\tcontentChildren.push({\n\t\ttype: 'h1',\n\t\tprops: {\n\t\t\tstyle: {\n\t\t\t\tfontSize: 56,\n\t\t\t\tfontWeight: 700,\n\t\t\t\tcolor: colors.text,\n\t\t\t\tletterSpacing: '-0.02em',\n\t\t\t\tmargin: 0,\n\t\t\t\ttextAlign: 'center',\n\t\t\t\tlineHeight: 1.1,\n\t\t\t\tmaxWidth: 900,\n\t\t\t},\n\t\t\tchildren: title,\n\t\t},\n\t})\n\n\tif (description) {\n\t\tcontentChildren.push({\n\t\t\ttype: 'p',\n\t\t\tprops: {\n\t\t\t\tstyle: {\n\t\t\t\t\tfontSize: 26,\n\t\t\t\t\tfontWeight: 400,\n\t\t\t\t\tcolor: colors.accent,\n\t\t\t\t\tmarginTop: 20,\n\t\t\t\t\tmarginBottom: 0,\n\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\tlineHeight: 1.4,\n\t\t\t\t\tmaxWidth: 700,\n\t\t\t\t},\n\t\t\t\tchildren: description,\n\t\t\t},\n\t\t})\n\t}\n\n\tcontentChildren.push({\n\t\ttype: 'p',\n\t\tprops: {\n\t\t\tstyle: {\n\t\t\t\tfontSize: 24,\n\t\t\t\tfontWeight: 400,\n\t\t\t\tcolor: colors.accent,\n\t\t\t\tmarginTop: 48,\n\t\t\t\tmarginBottom: 0,\n\t\t\t\ttextAlign: 'center',\n\t\t\t\topacity: 0.7,\n\t\t\t},\n\t\t\tchildren: siteName,\n\t\t},\n\t})\n\n\treturn {\n\t\ttype: 'div',\n\t\tprops: {\n\t\t\tstyle: {\n\t\t\t\tposition: 'relative',\n\t\t\t\tdisplay: 'flex',\n\t\t\t\tflexDirection: 'column',\n\t\t\t\talignItems: 'center',\n\t\t\t\tjustifyContent: 'center',\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t\tbackgroundColor: colors.background,\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\tnoiseDataUrl ? {\n\t\t\t\t\ttype: 'img',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tsrc: noiseDataUrl,\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\theight,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} : null,\n\t\t\t\t{\n\t\t\t\t\ttype: 'div',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tposition: 'relative',\n\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\tflexDirection: 'column',\n\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t\tpadding: '0 60px',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: contentChildren,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t].filter(Boolean),\n\t\t},\n\t}\n}\n","/**\n * Default OG template.\n * Clean, centered layout.\n */\n\nimport type { OgTemplateProps } from '../types.js'\n\nexport function defaultTemplate({\n\ttitle,\n\tdescription,\n\tsiteName,\n\tcolors,\n\tnoiseDataUrl,\n\twidth,\n\theight,\n}: OgTemplateProps) {\n\treturn {\n\t\ttype: 'div',\n\t\tprops: {\n\t\t\tstyle: {\n\t\t\t\tposition: 'relative',\n\t\t\t\tdisplay: 'flex',\n\t\t\t\tflexDirection: 'column',\n\t\t\t\talignItems: 'center',\n\t\t\t\tjustifyContent: 'center',\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t\tbackgroundColor: colors.background,\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\tnoiseDataUrl ? {\n\t\t\t\t\ttype: 'img',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tsrc: noiseDataUrl,\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\theight,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} : null,\n\t\t\t\t{\n\t\t\t\t\ttype: 'div',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tposition: 'relative',\n\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\tflexDirection: 'column',\n\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\tjustifyContent: 'center',\n\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t\tpadding: '0 60px',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'h1',\n\t\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\t\tfontSize: 72,\n\t\t\t\t\t\t\t\t\t\tfontWeight: 700,\n\t\t\t\t\t\t\t\t\t\tcolor: colors.text,\n\t\t\t\t\t\t\t\t\t\tletterSpacing: '-0.02em',\n\t\t\t\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tchildren: title,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdescription ? {\n\t\t\t\t\t\t\t\ttype: 'p',\n\t\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\t\tfontSize: 32,\n\t\t\t\t\t\t\t\t\t\tfontWeight: 400,\n\t\t\t\t\t\t\t\t\t\tcolor: colors.accent,\n\t\t\t\t\t\t\t\t\t\tmarginTop: 24,\n\t\t\t\t\t\t\t\t\t\tmarginBottom: 0,\n\t\t\t\t\t\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\t\t\t\t\t\tmaxWidth: 900,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tchildren: description,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} : null,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'p',\n\t\t\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\t\tfontSize: 28,\n\t\t\t\t\t\t\t\t\t\tfontWeight: 400,\n\t\t\t\t\t\t\t\t\t\tcolor: colors.accent,\n\t\t\t\t\t\t\t\t\t\tmarginTop: 64,\n\t\t\t\t\t\t\t\t\t\tmarginBottom: 0,\n\t\t\t\t\t\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\t\t\t\t\t\topacity: 0.7,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tchildren: siteName,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t].filter(Boolean),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t].filter(Boolean),\n\t\t},\n\t}\n}\n"],"mappings":"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","names":[]}