@pathfolio/types 0.3.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.
@@ -0,0 +1,530 @@
1
+ /**
2
+ * Resume Constants
3
+ * Default values, presets, and mapping constants
4
+ */
5
+ /**
6
+ * Default crop settings for new images
7
+ */
8
+ export const DEFAULT_CROP_SETTINGS = {
9
+ zoom: 1,
10
+ panX: 0,
11
+ panY: 0,
12
+ shape: 'circle',
13
+ };
14
+ /**
15
+ * Entry Layout Preset Mappings
16
+ * Maps each preset to its component settings
17
+ */
18
+ export const ENTRY_LAYOUT_PRESET_MAPPINGS = {
19
+ classic: {
20
+ dateLocationPosition: 'right',
21
+ descriptionPosition: 'below',
22
+ label: 'Classic',
23
+ description: 'Date on right, description below',
24
+ },
25
+ compact: {
26
+ dateLocationPosition: 'below',
27
+ descriptionPosition: 'below',
28
+ label: 'Compact',
29
+ description: 'Everything stacked vertically',
30
+ },
31
+ 'side-by-side': {
32
+ dateLocationPosition: 'left',
33
+ descriptionPosition: 'right',
34
+ label: 'Side-by-side',
35
+ description: 'Title & date on left, description beside',
36
+ },
37
+ 'left-aligned': {
38
+ dateLocationPosition: 'left',
39
+ descriptionPosition: 'below',
40
+ label: 'Left-aligned',
41
+ description: 'Date on left, description below',
42
+ },
43
+ timeline: {
44
+ dateLocationPosition: 'left',
45
+ descriptionPosition: 'below',
46
+ label: 'Timeline',
47
+ description: 'Vertical timeline with dots',
48
+ },
49
+ };
50
+ /**
51
+ * Unified Layout Mappings
52
+ * Maps each unified layout preset to its component settings
53
+ */
54
+ export const UNIFIED_LAYOUT_MAPPINGS = {
55
+ centered: {
56
+ headerLayout: 'centered',
57
+ imagePosition: 'above',
58
+ titlePosition: 'below-name',
59
+ },
60
+ 'left-portrait': {
61
+ headerLayout: 'left',
62
+ imagePosition: 'beside-left',
63
+ titlePosition: 'below-name',
64
+ },
65
+ 'right-portrait': {
66
+ headerLayout: 'right',
67
+ imagePosition: 'beside-right',
68
+ titlePosition: 'below-name',
69
+ },
70
+ 'left-stacked': {
71
+ headerLayout: 'left',
72
+ imagePosition: 'above',
73
+ titlePosition: 'below-name',
74
+ },
75
+ 'right-stacked': {
76
+ headerLayout: 'right',
77
+ imagePosition: 'above',
78
+ titlePosition: 'below-name',
79
+ },
80
+ split: {
81
+ headerLayout: 'split',
82
+ imagePosition: 'above',
83
+ titlePosition: 'below-name',
84
+ },
85
+ 'name-first-left': {
86
+ headerLayout: 'left',
87
+ imagePosition: 'middle',
88
+ titlePosition: 'below-name',
89
+ },
90
+ 'name-first-centered': {
91
+ headerLayout: 'centered',
92
+ imagePosition: 'middle',
93
+ titlePosition: 'below-name',
94
+ },
95
+ 'name-first-right': {
96
+ headerLayout: 'right',
97
+ imagePosition: 'middle',
98
+ titlePosition: 'below-name',
99
+ },
100
+ };
101
+ /**
102
+ * Typography Presets Collection
103
+ */
104
+ export const TYPOGRAPHY_PRESETS = [
105
+ {
106
+ id: 'classic',
107
+ name: 'Classic',
108
+ description: 'Traditional elegance with serif headlines',
109
+ fonts: {
110
+ nameFont: 'Playfair Display',
111
+ headingFont: 'Montserrat',
112
+ bodyFont: 'Lato',
113
+ },
114
+ },
115
+ {
116
+ id: 'modern',
117
+ name: 'Modern',
118
+ description: 'Clean contemporary styling',
119
+ fonts: {
120
+ nameFont: 'Poppins',
121
+ headingFont: 'Poppins',
122
+ bodyFont: 'Inter',
123
+ },
124
+ },
125
+ {
126
+ id: 'editorial',
127
+ name: 'Editorial',
128
+ description: 'Magazine-inspired typography',
129
+ fonts: {
130
+ nameFont: 'Crimson Text',
131
+ headingFont: 'Raleway',
132
+ bodyFont: 'Source Sans 3',
133
+ },
134
+ },
135
+ {
136
+ id: 'technical',
137
+ name: 'Technical',
138
+ description: 'Perfect for engineering & STEM',
139
+ fonts: {
140
+ nameFont: 'Roboto',
141
+ headingFont: 'Roboto',
142
+ bodyFont: 'Roboto',
143
+ },
144
+ },
145
+ {
146
+ id: 'creative',
147
+ name: 'Creative',
148
+ description: 'Design-forward and distinctive',
149
+ fonts: {
150
+ nameFont: 'Raleway',
151
+ headingFont: 'Montserrat',
152
+ bodyFont: 'Open Sans',
153
+ },
154
+ },
155
+ {
156
+ id: 'minimal',
157
+ name: 'Minimal',
158
+ description: 'Ultra-clean and focused',
159
+ fonts: {
160
+ nameFont: 'Inter',
161
+ headingFont: 'Inter',
162
+ bodyFont: 'Inter',
163
+ },
164
+ },
165
+ {
166
+ id: 'executive',
167
+ name: 'Executive',
168
+ description: 'Refined serif for leadership roles',
169
+ fonts: {
170
+ nameFont: 'EB Garamond',
171
+ headingFont: 'Source Serif Pro',
172
+ bodyFont: 'Source Serif Pro',
173
+ },
174
+ },
175
+ {
176
+ id: 'developer',
177
+ name: 'Developer',
178
+ description: 'Monospace name, clean body',
179
+ fonts: {
180
+ nameFont: 'Fira Code',
181
+ headingFont: 'Space Grotesk',
182
+ bodyFont: 'DM Sans',
183
+ },
184
+ },
185
+ {
186
+ id: 'elegant',
187
+ name: 'Elegant',
188
+ description: 'Sophisticated serif pairing',
189
+ fonts: {
190
+ nameFont: 'EB Garamond',
191
+ headingFont: 'EB Garamond',
192
+ bodyFont: 'Source Serif Pro',
193
+ },
194
+ },
195
+ {
196
+ id: 'startup',
197
+ name: 'Startup',
198
+ description: 'Modern geometric sans',
199
+ fonts: {
200
+ nameFont: 'Space Grotesk',
201
+ headingFont: 'Outfit',
202
+ bodyFont: 'DM Sans',
203
+ },
204
+ },
205
+ ];
206
+ /**
207
+ * Default Section Order
208
+ */
209
+ export const DEFAULT_SECTION_ORDER = [
210
+ 'summary',
211
+ 'experience',
212
+ 'skills',
213
+ 'projects',
214
+ 'languages',
215
+ 'certificates',
216
+ 'education',
217
+ 'courses',
218
+ 'awards',
219
+ 'organisations',
220
+ 'publications',
221
+ 'interests',
222
+ 'references',
223
+ 'declaration',
224
+ ];
225
+ /**
226
+ * Default section order for new resumes - only includes vital sections.
227
+ * Additional sections must be added manually by the user.
228
+ */
229
+ export const DEFAULT_VITAL_SECTION_ORDER = [
230
+ 'summary',
231
+ 'experience',
232
+ 'skills',
233
+ 'projects',
234
+ ];
235
+ /**
236
+ * Fixed minimap order based on most commonly updated sections.
237
+ * This order is independent of canvas layout to provide consistent navigation.
238
+ * Contact is prepended separately in the minimap component.
239
+ */
240
+ export const MINIMAP_SECTION_ORDER = [
241
+ 'summary',
242
+ 'experience',
243
+ 'skills',
244
+ 'projects',
245
+ 'languages',
246
+ 'certificates',
247
+ 'education',
248
+ 'courses',
249
+ 'awards',
250
+ 'organisations',
251
+ 'publications',
252
+ 'interests',
253
+ 'references',
254
+ 'declaration',
255
+ ];
256
+ export const DEFAULT_SECTION_VISIBILITY = {
257
+ summary: true,
258
+ experience: true,
259
+ skills: true,
260
+ projects: true,
261
+ languages: false,
262
+ interests: false,
263
+ declaration: false,
264
+ certificates: false,
265
+ education: false,
266
+ courses: false,
267
+ awards: false,
268
+ organisations: false,
269
+ publications: false,
270
+ references: false,
271
+ };
272
+ export const DEFAULT_DESIGN_SETTINGS = {
273
+ primaryColor: '#2563eb', // blue-600
274
+ accentColor: '#7c3aed', // purple-600
275
+ headerBackgroundColor: '#f9fafb', // gray-50 (match sidebar default)
276
+ sidebarBackgroundColor: '#f9fafb', // gray-50
277
+ };
278
+ export const DEFAULT_FONT_SETTINGS = {
279
+ // Font families
280
+ nameFont: 'Inter',
281
+ headingFont: 'Inter',
282
+ bodyFont: 'Inter',
283
+ // Font sizes (pt)
284
+ nameSize: 24,
285
+ headingSize: 14,
286
+ bodySize: 10,
287
+ // Font weights
288
+ nameWeight: 600,
289
+ headingWeight: 600,
290
+ bodyWeight: 400,
291
+ // Entry-level typography (compact defaults like FlowCV)
292
+ entryTitleSize: 10,
293
+ entryTitleWeight: 600,
294
+ positionSize: 10,
295
+ positionWeight: 400,
296
+ dateSize: 9,
297
+ dateWeight: 400,
298
+ // Text styling
299
+ lineHeight: 1.5,
300
+ letterSpacing: 0,
301
+ paragraphSpacing: 8,
302
+ };
303
+ export const DEFAULT_LAYOUT_SETTINGS = {
304
+ template: 'single-column',
305
+ columnGap: 20,
306
+ sidebarWidth: 30,
307
+ pageSize: 'A4',
308
+ pageOrientation: 'portrait',
309
+ sectionColumnAssignment: {
310
+ summary: 0,
311
+ experience: 1,
312
+ skills: 0,
313
+ projects: 1,
314
+ languages: 0,
315
+ interests: 0,
316
+ declaration: 1,
317
+ certificates: 0,
318
+ education: 0,
319
+ courses: 0,
320
+ awards: 0,
321
+ organisations: 1,
322
+ publications: 1,
323
+ references: 1,
324
+ },
325
+ leftColumnWidth: 45,
326
+ rightColumnWidth: 55,
327
+ sectionPadding: 0,
328
+ sectionGap: 6,
329
+ subsectionGap: 4,
330
+ marginTop: 48,
331
+ marginBottom: 48,
332
+ marginLeft: 48,
333
+ marginRight: 48,
334
+ titleSpacing: 2,
335
+ headerToContentGap: 0,
336
+ };
337
+ export const DEFAULT_SECTION_HEADING_SETTINGS = {
338
+ style: 'accent-underline',
339
+ capitalize: true,
340
+ showIcon: {
341
+ summary: true,
342
+ experience: true,
343
+ skills: true,
344
+ projects: true,
345
+ languages: true,
346
+ interests: true,
347
+ declaration: true,
348
+ certificates: true,
349
+ education: true,
350
+ courses: true,
351
+ awards: true,
352
+ organisations: true,
353
+ publications: true,
354
+ references: true,
355
+ },
356
+ icon: {
357
+ summary: 'i-heroicons-document-text',
358
+ experience: 'i-heroicons-briefcase',
359
+ skills: 'i-heroicons-light-bulb',
360
+ projects: 'i-heroicons-code-bracket',
361
+ languages: 'i-heroicons-language',
362
+ interests: 'i-heroicons-heart',
363
+ declaration: 'i-heroicons-clipboard-document-check',
364
+ certificates: 'i-heroicons-trophy',
365
+ education: 'i-heroicons-academic-cap',
366
+ courses: 'i-heroicons-book-open',
367
+ awards: 'i-heroicons-star',
368
+ organisations: 'i-heroicons-user-group',
369
+ publications: 'i-heroicons-document-duplicate',
370
+ references: 'i-heroicons-users',
371
+ },
372
+ size: 'medium',
373
+ gradientIntensity: 50,
374
+ };
375
+ export const DEFAULT_ENTRY_LAYOUT_SETTINGS = {
376
+ preset: 'classic',
377
+ dateLocationPosition: 'right',
378
+ descriptionPosition: 'below',
379
+ showBulletPoints: true,
380
+ bulletStyle: 'disc',
381
+ showLocation: true,
382
+ };
383
+ export const DEFAULT_HEADER_SETTINGS = {
384
+ imageShape: 'round',
385
+ imageSize: 120,
386
+ showImage: true,
387
+ // Enhanced image settings
388
+ imagePosition: 'above',
389
+ imageBorderWidth: 0,
390
+ imageBorderColor: '#000000',
391
+ imageShadow: 'none',
392
+ imageGrayscale: false,
393
+ // Phase 2 defaults
394
+ layout: 'centered',
395
+ contactVisibility: {
396
+ email: true,
397
+ phone: true,
398
+ location: true,
399
+ pronouns: true,
400
+ workPermit: true,
401
+ disability: true,
402
+ },
403
+ contactOrder: [
404
+ 'email',
405
+ 'phone',
406
+ 'location',
407
+ 'pronouns',
408
+ 'workPermit',
409
+ 'disability',
410
+ ],
411
+ // Phase 4 - Spacing defaults
412
+ imageNameGap: 16, // mb-4 equivalent (16px)
413
+ nameContactGap: 8, // mt-2 equivalent (8px)
414
+ contactFieldGap: 4, // space-y-1 equivalent (4px)
415
+ // Phase 3 - Profession title and contact display
416
+ professionTitleSize: 'md',
417
+ contactFieldDisplay: {
418
+ email: { showText: false, showIcon: true },
419
+ phone: { showText: false, showIcon: true },
420
+ location: { showText: false, showIcon: true },
421
+ pronouns: { showText: false, showIcon: true },
422
+ workPermit: { showText: false, showIcon: true },
423
+ disability: { showText: false, showIcon: true },
424
+ },
425
+ // Phase 4 - Enhanced professional title settings
426
+ professionalTitleSettings: {
427
+ visible: true,
428
+ position: 'below-name',
429
+ size: 'md',
430
+ fontWeight: 400,
431
+ letterSpacing: 0,
432
+ color: 'muted',
433
+ },
434
+ // Phase 5 - Unified header layout
435
+ unifiedLayout: 'centered',
436
+ // Phase 6 - Socials layout
437
+ socialsLayout: 'row',
438
+ socialsGridSettings: {
439
+ columns: 2,
440
+ columnAssignments: {},
441
+ },
442
+ };
443
+ export const DEFAULT_SKILLS_SETTINGS = {
444
+ displayMode: 'category-list',
445
+ layoutMode: 'category-list',
446
+ levelVisualization: 'none',
447
+ gridColumns: 3,
448
+ pillVariant: 'soft',
449
+ pillShape: 'rounded',
450
+ compactMode: false,
451
+ };
452
+ export const DEFAULT_LINK_SETTINGS = {
453
+ colorMode: 'text',
454
+ customColor: '#2563eb', // blue-600
455
+ underlineStyle: 'none',
456
+ showExternalIcon: true,
457
+ };
458
+ /**
459
+ * Typography Quick Mode S/M/L Presets
460
+ */
461
+ export const TYPOGRAPHY_SCALE_PRESETS = {
462
+ s: {
463
+ nameSize: 22,
464
+ headingSize: 12,
465
+ bodySize: 9,
466
+ entryTitleSize: 9,
467
+ positionSize: 9,
468
+ dateSize: 8,
469
+ },
470
+ m: {
471
+ nameSize: 26,
472
+ headingSize: 14,
473
+ bodySize: 10,
474
+ entryTitleSize: 10,
475
+ positionSize: 10,
476
+ dateSize: 9,
477
+ },
478
+ l: {
479
+ nameSize: 30,
480
+ headingSize: 16,
481
+ bodySize: 11,
482
+ entryTitleSize: 11,
483
+ positionSize: 11,
484
+ dateSize: 10,
485
+ },
486
+ };
487
+ export const TYPOGRAPHY_WEIGHT_PRESETS = {
488
+ s: {
489
+ nameWeight: 400,
490
+ headingWeight: 500,
491
+ bodyWeight: 300,
492
+ entryTitleWeight: 500,
493
+ positionWeight: 300,
494
+ dateWeight: 300,
495
+ },
496
+ m: {
497
+ nameWeight: 600,
498
+ headingWeight: 600,
499
+ bodyWeight: 400,
500
+ entryTitleWeight: 600,
501
+ positionWeight: 400,
502
+ dateWeight: 400,
503
+ },
504
+ l: {
505
+ nameWeight: 700,
506
+ headingWeight: 700,
507
+ bodyWeight: 500,
508
+ entryTitleWeight: 700,
509
+ positionWeight: 500,
510
+ dateWeight: 500,
511
+ },
512
+ };
513
+ export const TYPOGRAPHY_SPACING_PRESETS = {
514
+ s: {
515
+ lineHeight: 1.2,
516
+ letterSpacing: -0.02,
517
+ paragraphSpacing: 4,
518
+ },
519
+ m: {
520
+ lineHeight: 1.5,
521
+ letterSpacing: 0,
522
+ paragraphSpacing: 8,
523
+ },
524
+ l: {
525
+ lineHeight: 1.8,
526
+ letterSpacing: 0.02,
527
+ paragraphSpacing: 12,
528
+ },
529
+ };
530
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/resume/constants.ts"],"names":[],"mappings":"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"}