@payfit/unity-illustrations 2.17.4 → 2.17.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.
@@ -0,0 +1,7 @@
1
+ declare namespace _default {
2
+ export let id: string;
3
+ export { code as example };
4
+ export let imports: string[];
5
+ }
6
+ export default _default;
7
+ declare const code: any;
@@ -0,0 +1,7 @@
1
+ declare namespace _default {
2
+ export let id: string;
3
+ export { code as example };
4
+ export let imports: string[];
5
+ }
6
+ export default _default;
7
+ declare const code: any;
@@ -0,0 +1,7 @@
1
+ declare namespace _default {
2
+ export let id: string;
3
+ export { code as example };
4
+ export let imports: string[];
5
+ }
6
+ export default _default;
7
+ declare const code: any;
@@ -0,0 +1,7 @@
1
+ declare namespace _default {
2
+ export let id: string;
3
+ export { code as example };
4
+ export let imports: string[];
5
+ }
6
+ export default _default;
7
+ declare const code: any;
@@ -0,0 +1,7 @@
1
+ declare namespace _default {
2
+ export let id: string;
3
+ export { code as example };
4
+ export let imports: string[];
5
+ }
6
+ export default _default;
7
+ declare const code: any;
@@ -0,0 +1,7 @@
1
+ declare namespace _default {
2
+ export let id: string;
3
+ export { code as example };
4
+ export let imports: string[];
5
+ }
6
+ export default _default;
7
+ declare const code: any;
@@ -0,0 +1,7 @@
1
+ declare namespace _default {
2
+ export let id: string;
3
+ export { code as example };
4
+ export let imports: string[];
5
+ }
6
+ export default _default;
7
+ declare const code: any;
@@ -0,0 +1,7 @@
1
+ declare namespace _default {
2
+ export let id: string;
3
+ export { code as example };
4
+ export let imports: string[];
5
+ }
6
+ export default _default;
7
+ declare const code: any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payfit/unity-illustrations",
3
- "version": "2.17.4",
3
+ "version": "2.17.6",
4
4
  "module": "./dist/esm/index.js",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -33,11 +33,13 @@
33
33
  "svgo": "3.3.2"
34
34
  },
35
35
  "devDependencies": {
36
+ "@figma/code-connect": "1.4.1",
36
37
  "@payfit/code-pushup-tools": "0.0.0-use.local",
38
+ "@payfit/figma-tools": "0.0.0-use.local",
37
39
  "@payfit/hr-app-eslint": "0.0.0-use.local",
38
40
  "@payfit/hr-apps-tsconfigs": "0.0.0-use.local",
39
41
  "@payfit/storybook-config": "0.0.0-use.local",
40
- "@payfit/unity-themes": "2.17.4",
42
+ "@payfit/unity-themes": "2.17.6",
41
43
  "@payfit/vite-configs": "0.0.0-use.local",
42
44
  "@storybook/addon-a11y": "10.2.17",
43
45
  "@storybook/addon-docs": "10.2.17",
@@ -56,7 +58,7 @@
56
58
  "vite": "7.1.12"
57
59
  },
58
60
  "peerDependencies": {
59
- "@payfit/unity-themes": "2.17.4",
61
+ "@payfit/unity-themes": "2.17.6",
60
62
  "react": "18.3.1",
61
63
  "react-dom": "18.3.1"
62
64
  }
@@ -0,0 +1,153 @@
1
+ // url=https://www.figma.com/design/NYcgOc3qMmcEDNqD6kD8J4?node-id=104-1898
2
+ // component=Illustration
3
+ // source=https://github.com/PayFit/hr-apps/blob/master/libs/shared/unity/illustrations/src/components/illustration/Illustration.tsx
4
+
5
+ /**
6
+ * AUTO-GENERATED - DO NOT EDIT
7
+ *
8
+ * Template file for Figma Code Connect - Illustration component (Icons)
9
+ *
10
+ * Handles dynamic mapping of:
11
+ * - Name property -> PascalCase code name
12
+ * - With background property -> "WithBackground" suffix
13
+ * - Size property -> React size value
14
+ */
15
+
16
+ const figma = require('figma')
17
+ const instance = figma.selectedInstance
18
+
19
+ const nameValue = instance.getEnum('Name', {
20
+ administrative_document: 'AdministrativeDocument',
21
+ annual_taxes: 'AnnualTaxes',
22
+ baby_bottle: 'BabyBottle',
23
+ bell: 'Bell',
24
+ bicycle: 'Bicycle',
25
+ blank_payslip: 'BlankPayslip',
26
+ box: 'Box',
27
+ buoy: 'Buoy',
28
+ calculator: 'Calculator',
29
+ card: 'Card',
30
+ character_headphone: 'CharacterHeadphone',
31
+ checkbox: 'Checkbox',
32
+ clock: 'Clock',
33
+ closed_lock: 'ClosedLock',
34
+ computer_documentation: 'ComputerDocumentation',
35
+ confettis: 'Confettis',
36
+ contact: 'Contact',
37
+ conversation: 'Conversation',
38
+ data: 'Data',
39
+ discount: 'Discount',
40
+ document: 'Document',
41
+ document_error: 'DocumentError',
42
+ document_filing: 'DocumentFiling',
43
+ e_signature: 'ESignature',
44
+ email_notification: 'EmailNotification',
45
+ emergency_contact: 'EmergencyContact',
46
+ employment_contract: 'EmploymentContract',
47
+ empty_document: 'EmptyDocument',
48
+ empty_state: 'EmptyState',
49
+ exceeding_threshold: 'ExceedingThreshold',
50
+ exceptional_compensation: 'ExceptionalCompensation',
51
+ expenses: 'Expenses',
52
+ FAQ: 'FAQ',
53
+ field_glasses: 'FieldGlasses',
54
+ free_share: 'FreeShare',
55
+ full_calendar: 'FullCalendar',
56
+ gear: 'Gear',
57
+ gift: 'Gift',
58
+ golden_ribbon: 'GoldenRibbon',
59
+ graph: 'Graph',
60
+ half_calendar: 'HalfCalendar',
61
+ hammer: 'Hammer',
62
+ hand_hello: 'HandHello',
63
+ happy_character: 'HappyCharacter',
64
+ health: 'Health',
65
+ health_insurance: 'HealthInsurance',
66
+ holiday_voucher: 'HolidayVoucher',
67
+ identity_card: 'IdentityCard',
68
+ information_update: 'InformationUpdate',
69
+ JEC: 'JEC',
70
+ JEI_JEU_JEC: 'JeiJeuJec',
71
+ kanoon: 'Kanoon',
72
+ kpmg: 'Kpmg',
73
+ legal_help: 'LegalHelp',
74
+ letter_box: 'LetterBox',
75
+ light_bulb: 'LightBulb',
76
+ little_rocket: 'LittleRocket',
77
+ lunch_voucher: 'LunchVoucher',
78
+ magnifying_glass: 'MagnifyingGlass',
79
+ meal_plate: 'MealPlate',
80
+ meal_voucher: 'MealVoucher',
81
+ meal_voucher_card: 'MealVoucherCard',
82
+ mobility: 'Mobility',
83
+ money_lending: 'MoneyLending',
84
+ notes: 'Notes',
85
+ official_letter: 'OfficialLetter',
86
+ open_lock: 'OpenLock',
87
+ organismes_payment: 'OrganismesPayment',
88
+ paid_leave: 'PaidLeave',
89
+ payment_information: 'PaymentInformation',
90
+ payslip: 'Payslip',
91
+ payslip_coins: 'PayslipCoins',
92
+ pen: 'Pen',
93
+ people: 'People',
94
+ performance: 'Performance',
95
+ person_headphone: 'PersonHeadphone',
96
+ personal_details: 'PersonalDetails',
97
+ piggy_bank: 'PiggyBank',
98
+ piggy_bank_coins: 'PiggyBankCoins',
99
+ plant: 'Plant',
100
+ provident_scheme: 'ProvidentScheme',
101
+ remote_work: 'RemoteWork',
102
+ report: 'Report',
103
+ salary: 'Salary',
104
+ salary_advance: 'SalaryAdvance',
105
+ salary_payment: 'SalaryPayment',
106
+ salary_seizure: 'SalarySeizure',
107
+ sand_castle: 'SandCastle',
108
+ schedule: 'Schedule',
109
+ set_up_task: 'SetUpTask',
110
+ setting_slider: 'SettingSlider',
111
+ sick_leave: 'SickLeave',
112
+ small_puzzle: 'SmallPuzzle',
113
+ smiling_character: 'SmilingCharacter',
114
+ spreadsheet: 'Spreadsheet',
115
+ stethoscope: 'Stethoscope',
116
+ stock_options: 'StockOptions',
117
+ stopwatch: 'Stopwatch',
118
+ sunshade: 'Sunshade',
119
+ task_to_do: 'TaskToDo',
120
+ template: 'Template',
121
+ thumbtack: 'Thumbtack',
122
+ time_tracking: 'TimeTracking',
123
+ tips_jar: 'TipsJar',
124
+ token_coin: 'TokenCoin',
125
+ validation_window: 'ValidationWindow',
126
+ work_expense: 'WorkExpense',
127
+ working_time: 'WorkingTime',
128
+ })
129
+
130
+ const withBackgroundValue = instance.getBoolean('With background')
131
+ const sizeValue = instance.getEnum('Size', {
132
+ small: 'sm',
133
+ medium: 'md',
134
+ large: 'lg',
135
+ })
136
+
137
+ const finalSrc = withBackgroundValue ? nameValue + 'WithBackground' : nameValue
138
+
139
+ const code = figma.tsx`<Illustration
140
+ src={${finalSrc}}
141
+ size="${sizeValue}"
142
+ variant="icon"
143
+ alt="${finalSrc} illustration"
144
+ />`
145
+
146
+ export default {
147
+ id: 'illustration-icon',
148
+ example: code,
149
+ imports: [
150
+ "import { Illustration } from '@payfit/unity-illustrations'",
151
+ `import ${finalSrc} from '@payfit/unity-illustrations/assets/${finalSrc}'`,
152
+ ],
153
+ }
@@ -0,0 +1,146 @@
1
+ // url=https://www.figma.com/design/NYcgOc3qMmcEDNqD6kD8J4?node-id=216-3916
2
+ // component=Illustration
3
+ // source=https://github.com/PayFit/hr-apps/blob/master/libs/shared/unity/illustrations/src/components/illustration/Illustration.tsx
4
+
5
+ /**
6
+ * AUTO-GENERATED - DO NOT EDIT
7
+ *
8
+ * Template file for Figma Code Connect - Illustration component (Pictures - Large)
9
+ *
10
+ * Handles dynamic mapping of:
11
+ * - Name property -> PascalCase code name
12
+ * - Type property -> "EmptyState" prefix for empty-state type
13
+ */
14
+
15
+ const figma = require('figma')
16
+ const instance = figma.selectedInstance
17
+
18
+ const nameValue = instance.getEnum('Name', {
19
+ accounting: 'Accounting',
20
+ activation_button: 'ActivationButton',
21
+ activation_toggle: 'ActivationToggle',
22
+ add_employee: 'AddEmployee',
23
+ alphabet_cube: 'AlphabetCube',
24
+ analysis: 'Analysis',
25
+ automation_in_progress: 'AutomationInProgress',
26
+ big_idea: 'BigIdea',
27
+ binoculars: 'Binoculars',
28
+ biscuit: 'Biscuit',
29
+ biscuit_crumbs: 'BiscuitCrumbs',
30
+ book: 'Book',
31
+ brainstorming: 'Brainstorming',
32
+ calendar: 'Calendar',
33
+ chat: 'Chat',
34
+ christmas_sock: 'ChristmasSock',
35
+ christmas_sock_and_confettis: 'ChristmasSockAndConfettis',
36
+ collaboration: 'Collaboration',
37
+ collective_research: 'CollectiveResearch',
38
+ computer_mail: 'ComputerMail',
39
+ confetti_cannon: 'ConfettiCannon',
40
+ contract_signature: 'ContractSignature',
41
+ cross_legged: 'CrossLegged',
42
+ cup_of_coffee: 'CupOfCoffee',
43
+ dancing: 'Dancing',
44
+ dancing_people: 'DancingPeople',
45
+ dancing_skier: 'DancingSkier',
46
+ desert: 'Desert',
47
+ dialogue: 'Dialogue',
48
+ discussion: 'Discussion',
49
+ doctor: 'Doctor',
50
+ document_creation: 'DocumentCreation',
51
+ document_scan: 'DocumentScan',
52
+ document_scanning: 'DocumentScanning',
53
+ email_login: 'EmailLogin',
54
+ empty_folder: 'EmptyFolder',
55
+ evaluation: 'Evaluation',
56
+ filing_documents: 'FilingDocuments',
57
+ flowchart: 'Flowchart',
58
+ graphic: 'Graphic',
59
+ hands: 'Hands',
60
+ high_five: 'HighFive',
61
+ highlight_books: 'HighlightBooks',
62
+ idea: 'Idea',
63
+ incident_panel: 'IncidentPanel',
64
+ indicate_something: 'IndicateSomething',
65
+ jetlang_calculator: 'JetlangCalculator',
66
+ library: 'Library',
67
+ maintenance: 'Maintenance',
68
+ marteler: 'Marteler',
69
+ moon: 'Moon',
70
+ mug: 'Mug',
71
+ panel: 'Panel',
72
+ paper_plane: 'PaperPlane',
73
+ party: 'Party',
74
+ payfitters_with_badge: 'PayfittersWithBadge',
75
+ payroll_error: 'PayrollError',
76
+ person: 'Person',
77
+ phone_message: 'PhoneMessage',
78
+ planet: 'Planet',
79
+ post_it: 'PostIt',
80
+ progression: 'Progression',
81
+ promotion: 'Promotion',
82
+ puzzle: 'Puzzle',
83
+ puzzle_piece: 'PuzzlePiece',
84
+ reading_a_book: 'ReadingABook',
85
+ receiving_pay: 'ReceivingPay',
86
+ rehire_employee: 'RehireEmployee',
87
+ remote: 'Remote',
88
+ research: 'Research',
89
+ rocket: 'Rocket',
90
+ safe_deposit_box: 'SafeDepositBox',
91
+ sale: 'Sale',
92
+ security_fields: 'SecurityFields',
93
+ signature: 'Signature',
94
+ sitting_on_the_sofa: 'SittingOnTheSofa',
95
+ solve_problem: 'SolveProblem',
96
+ speaker_fingertips: 'SpeakerFingertips',
97
+ speaker_welcome: 'SpeakerWelcome',
98
+ speaker_with_microphone: 'SpeakerWithMicrophone',
99
+ stack_of_book_2: 'StackOfBook2',
100
+ stair_treads: 'StairTreads',
101
+ taking_note: 'TakingNote',
102
+ target: 'Target',
103
+ team_building: 'TeamBuilding',
104
+ telescope: 'Telescope',
105
+ template_form: 'TemplateForm',
106
+ thumbsup: 'Thumbsup',
107
+ timer: 'Timer',
108
+ to_do: 'ToDo',
109
+ toggle_off: 'ToggleOff',
110
+ toggle_on: 'ToggleOn',
111
+ trophy: 'Trophy',
112
+ trophy_won: 'TrophyWon',
113
+ visually_impaired: 'VisuallyImpaired',
114
+ visually_impaired_winter: 'VisuallyImpairedWinter',
115
+ walking_people: 'WalkingPeople',
116
+ winter_party: 'WinterParty',
117
+ work_at_office: 'WorkAtOffice',
118
+ work_from_anywhere: 'WorkFromAnywhere',
119
+ wrench: 'Wrench',
120
+ write_book: 'WriteBook',
121
+ })
122
+
123
+ const typeValue = instance.getEnum('Type', {
124
+ generic: 'generic',
125
+ specific: 'specific',
126
+ 'empty-state': 'empty-state',
127
+ })
128
+
129
+ // Apply EmptyState prefix dynamically based on Type
130
+ const finalSrc =
131
+ typeValue === 'empty-state' ? 'EmptyState' + nameValue : nameValue
132
+
133
+ const code = figma.tsx`<Illustration
134
+ src={${finalSrc}}
135
+ variant="picture"
136
+ alt="${finalSrc} illustration"
137
+ />`
138
+
139
+ export default {
140
+ id: 'illustration-picture-large',
141
+ example: code,
142
+ imports: [
143
+ "import { Illustration } from '@payfit/unity-illustrations'",
144
+ `import ${finalSrc} from '@payfit/unity-illustrations/assets/${finalSrc}'`,
145
+ ],
146
+ }
@@ -0,0 +1,146 @@
1
+ // url=https://www.figma.com/design/NYcgOc3qMmcEDNqD6kD8J4?node-id=214-5807
2
+ // component=Illustration
3
+ // source=https://github.com/PayFit/hr-apps/blob/master/libs/shared/unity/illustrations/src/components/illustration/Illustration.tsx
4
+
5
+ /**
6
+ * AUTO-GENERATED - DO NOT EDIT
7
+ *
8
+ * Template file for Figma Code Connect - Illustration component (Pictures - Medium)
9
+ *
10
+ * Handles dynamic mapping of:
11
+ * - Name property -> PascalCase code name
12
+ * - Type property -> "EmptyState" prefix for empty-state type
13
+ */
14
+
15
+ const figma = require('figma')
16
+ const instance = figma.selectedInstance
17
+
18
+ const nameValue = instance.getEnum('Name', {
19
+ accounting: 'Accounting',
20
+ activation_button: 'ActivationButton',
21
+ activation_toggle: 'ActivationToggle',
22
+ add_employee: 'AddEmployee',
23
+ alphabet_cube: 'AlphabetCube',
24
+ analysis: 'Analysis',
25
+ automation_in_progress: 'AutomationInProgress',
26
+ big_idea: 'BigIdea',
27
+ binoculars: 'Binoculars',
28
+ biscuit: 'Biscuit',
29
+ biscuit_crumbs: 'BiscuitCrumbs',
30
+ book: 'Book',
31
+ brainstorming: 'Brainstorming',
32
+ calendar: 'Calendar',
33
+ chat: 'Chat',
34
+ christmas_sock: 'ChristmasSock',
35
+ christmas_sock_and_confettis: 'ChristmasSockAndConfettis',
36
+ collaboration: 'Collaboration',
37
+ collective_research: 'CollectiveResearch',
38
+ computer_mail: 'ComputerMail',
39
+ confetti_cannon: 'ConfettiCannon',
40
+ contract_signature: 'ContractSignature',
41
+ cross_legged: 'CrossLegged',
42
+ cup_of_coffee: 'CupOfCoffee',
43
+ dancing: 'Dancing',
44
+ dancing_people: 'DancingPeople',
45
+ dancing_skier: 'DancingSkier',
46
+ desert: 'Desert',
47
+ dialogue: 'Dialogue',
48
+ discussion: 'Discussion',
49
+ doctor: 'Doctor',
50
+ document_creation: 'DocumentCreation',
51
+ document_scan: 'DocumentScan',
52
+ document_scanning: 'DocumentScanning',
53
+ email_login: 'EmailLogin',
54
+ empty_folder: 'EmptyFolder',
55
+ evaluation: 'Evaluation',
56
+ filing_documents: 'FilingDocuments',
57
+ flowchart: 'Flowchart',
58
+ graphic: 'Graphic',
59
+ hands: 'Hands',
60
+ high_five: 'HighFive',
61
+ highlight_books: 'HighlightBooks',
62
+ idea: 'Idea',
63
+ incident_panel: 'IncidentPanel',
64
+ indicate_something: 'IndicateSomething',
65
+ jetlang_calculator: 'JetlangCalculator',
66
+ library: 'Library',
67
+ maintenance: 'Maintenance',
68
+ marteler: 'Marteler',
69
+ moon: 'Moon',
70
+ mug: 'Mug',
71
+ panel: 'Panel',
72
+ paper_plane: 'PaperPlane',
73
+ party: 'Party',
74
+ payfitters_with_badge: 'PayfittersWithBadge',
75
+ payroll_error: 'PayrollError',
76
+ person: 'Person',
77
+ phone_message: 'PhoneMessage',
78
+ planet: 'Planet',
79
+ post_it: 'PostIt',
80
+ progression: 'Progression',
81
+ promotion: 'Promotion',
82
+ puzzle: 'Puzzle',
83
+ puzzle_piece: 'PuzzlePiece',
84
+ reading_a_book: 'ReadingABook',
85
+ receiving_pay: 'ReceivingPay',
86
+ rehire_employee: 'RehireEmployee',
87
+ remote: 'Remote',
88
+ research: 'Research',
89
+ rocket: 'Rocket',
90
+ safe_deposit_box: 'SafeDepositBox',
91
+ sale: 'Sale',
92
+ security_fields: 'SecurityFields',
93
+ signature: 'Signature',
94
+ sitting_on_the_sofa: 'SittingOnTheSofa',
95
+ solve_problem: 'SolveProblem',
96
+ speaker_fingertips: 'SpeakerFingertips',
97
+ speaker_welcome: 'SpeakerWelcome',
98
+ speaker_with_microphone: 'SpeakerWithMicrophone',
99
+ stack_of_book_2: 'StackOfBook2',
100
+ stair_treads: 'StairTreads',
101
+ taking_note: 'TakingNote',
102
+ target: 'Target',
103
+ team_building: 'TeamBuilding',
104
+ telescope: 'Telescope',
105
+ template_form: 'TemplateForm',
106
+ thumbsup: 'Thumbsup',
107
+ timer: 'Timer',
108
+ to_do: 'ToDo',
109
+ toggle_off: 'ToggleOff',
110
+ toggle_on: 'ToggleOn',
111
+ trophy: 'Trophy',
112
+ trophy_won: 'TrophyWon',
113
+ visually_impaired: 'VisuallyImpaired',
114
+ visually_impaired_winter: 'VisuallyImpairedWinter',
115
+ walking_people: 'WalkingPeople',
116
+ winter_party: 'WinterParty',
117
+ work_at_office: 'WorkAtOffice',
118
+ work_from_anywhere: 'WorkFromAnywhere',
119
+ wrench: 'Wrench',
120
+ write_book: 'WriteBook',
121
+ })
122
+
123
+ const typeValue = instance.getEnum('Type', {
124
+ generic: 'generic',
125
+ specific: 'specific',
126
+ 'empty-state': 'empty-state',
127
+ })
128
+
129
+ // Apply EmptyState prefix dynamically based on Type
130
+ const finalSrc =
131
+ typeValue === 'empty-state' ? 'EmptyState' + nameValue : nameValue
132
+
133
+ const code = figma.tsx`<Illustration
134
+ src={${finalSrc}}
135
+ variant="picture"
136
+ alt="${finalSrc} illustration"
137
+ />`
138
+
139
+ export default {
140
+ id: 'illustration-picture-medium',
141
+ example: code,
142
+ imports: [
143
+ "import { Illustration } from '@payfit/unity-illustrations'",
144
+ `import ${finalSrc} from '@payfit/unity-illustrations/assets/${finalSrc}'`,
145
+ ],
146
+ }
@@ -0,0 +1,146 @@
1
+ // url=https://www.figma.com/design/NYcgOc3qMmcEDNqD6kD8J4?node-id=214-3597
2
+ // component=Illustration
3
+ // source=https://github.com/PayFit/hr-apps/blob/master/libs/shared/unity/illustrations/src/components/illustration/Illustration.tsx
4
+
5
+ /**
6
+ * AUTO-GENERATED - DO NOT EDIT
7
+ *
8
+ * Template file for Figma Code Connect - Illustration component (Pictures - Small)
9
+ *
10
+ * Handles dynamic mapping of:
11
+ * - Name property -> PascalCase code name
12
+ * - Type property -> "EmptyState" prefix for empty-state type
13
+ */
14
+
15
+ const figma = require('figma')
16
+ const instance = figma.selectedInstance
17
+
18
+ const nameValue = instance.getEnum('Name', {
19
+ accounting: 'Accounting',
20
+ activation_button: 'ActivationButton',
21
+ activation_toggle: 'ActivationToggle',
22
+ add_employee: 'AddEmployee',
23
+ alphabet_cube: 'AlphabetCube',
24
+ analysis: 'Analysis',
25
+ automation_in_progress: 'AutomationInProgress',
26
+ big_idea: 'BigIdea',
27
+ binoculars: 'Binoculars',
28
+ biscuit: 'Biscuit',
29
+ biscuit_crumbs: 'BiscuitCrumbs',
30
+ book: 'Book',
31
+ brainstorming: 'Brainstorming',
32
+ calendar: 'Calendar',
33
+ chat: 'Chat',
34
+ christmas_sock: 'ChristmasSock',
35
+ christmas_sock_and_confettis: 'ChristmasSockAndConfettis',
36
+ collaboration: 'Collaboration',
37
+ collective_research: 'CollectiveResearch',
38
+ computer_mail: 'ComputerMail',
39
+ confetti_cannon: 'ConfettiCannon',
40
+ contract_signature: 'ContractSignature',
41
+ cross_legged: 'CrossLegged',
42
+ cup_of_coffee: 'CupOfCoffee',
43
+ dancing: 'Dancing',
44
+ dancing_people: 'DancingPeople',
45
+ dancing_skier: 'DancingSkier',
46
+ desert: 'Desert',
47
+ dialogue: 'Dialogue',
48
+ discussion: 'Discussion',
49
+ doctor: 'Doctor',
50
+ document_creation: 'DocumentCreation',
51
+ document_scan: 'DocumentScan',
52
+ document_scanning: 'DocumentScanning',
53
+ email_login: 'EmailLogin',
54
+ empty_folder: 'EmptyFolder',
55
+ evaluation: 'Evaluation',
56
+ filing_documents: 'FilingDocuments',
57
+ flowchart: 'Flowchart',
58
+ graphic: 'Graphic',
59
+ hands: 'Hands',
60
+ high_five: 'HighFive',
61
+ highlight_books: 'HighlightBooks',
62
+ idea: 'Idea',
63
+ incident_panel: 'IncidentPanel',
64
+ indicate_something: 'IndicateSomething',
65
+ jetlang_calculator: 'JetlangCalculator',
66
+ library: 'Library',
67
+ maintenance: 'Maintenance',
68
+ marteler: 'Marteler',
69
+ moon: 'Moon',
70
+ mug: 'Mug',
71
+ panel: 'Panel',
72
+ paper_plane: 'PaperPlane',
73
+ party: 'Party',
74
+ payfitters_with_badge: 'PayfittersWithBadge',
75
+ payroll_error: 'PayrollError',
76
+ person: 'Person',
77
+ phone_message: 'PhoneMessage',
78
+ planet: 'Planet',
79
+ post_it: 'PostIt',
80
+ progression: 'Progression',
81
+ promotion: 'Promotion',
82
+ puzzle: 'Puzzle',
83
+ puzzle_piece: 'PuzzlePiece',
84
+ reading_a_book: 'ReadingABook',
85
+ receiving_pay: 'ReceivingPay',
86
+ rehire_employee: 'RehireEmployee',
87
+ remote: 'Remote',
88
+ research: 'Research',
89
+ rocket: 'Rocket',
90
+ safe_deposit_box: 'SafeDepositBox',
91
+ sale: 'Sale',
92
+ security_fields: 'SecurityFields',
93
+ signature: 'Signature',
94
+ sitting_on_the_sofa: 'SittingOnTheSofa',
95
+ solve_problem: 'SolveProblem',
96
+ speaker_fingertips: 'SpeakerFingertips',
97
+ speaker_welcome: 'SpeakerWelcome',
98
+ speaker_with_microphone: 'SpeakerWithMicrophone',
99
+ stack_of_book_2: 'StackOfBook2',
100
+ stair_treads: 'StairTreads',
101
+ taking_note: 'TakingNote',
102
+ target: 'Target',
103
+ team_building: 'TeamBuilding',
104
+ telescope: 'Telescope',
105
+ template_form: 'TemplateForm',
106
+ thumbsup: 'Thumbsup',
107
+ timer: 'Timer',
108
+ to_do: 'ToDo',
109
+ toggle_off: 'ToggleOff',
110
+ toggle_on: 'ToggleOn',
111
+ trophy: 'Trophy',
112
+ trophy_won: 'TrophyWon',
113
+ visually_impaired: 'VisuallyImpaired',
114
+ visually_impaired_winter: 'VisuallyImpairedWinter',
115
+ walking_people: 'WalkingPeople',
116
+ winter_party: 'WinterParty',
117
+ work_at_office: 'WorkAtOffice',
118
+ work_from_anywhere: 'WorkFromAnywhere',
119
+ wrench: 'Wrench',
120
+ write_book: 'WriteBook',
121
+ })
122
+
123
+ const typeValue = instance.getEnum('Type', {
124
+ generic: 'generic',
125
+ specific: 'specific',
126
+ 'empty-state': 'empty-state',
127
+ })
128
+
129
+ // Apply EmptyState prefix dynamically based on Type
130
+ const finalSrc =
131
+ typeValue === 'empty-state' ? 'EmptyState' + nameValue : nameValue
132
+
133
+ const code = figma.tsx`<Illustration
134
+ src={${finalSrc}}
135
+ variant="picture"
136
+ alt="${finalSrc} illustration"
137
+ />`
138
+
139
+ export default {
140
+ id: 'illustration-picture-small',
141
+ example: code,
142
+ imports: [
143
+ "import { Illustration } from '@payfit/unity-illustrations'",
144
+ `import ${finalSrc} from '@payfit/unity-illustrations/assets/${finalSrc}'`,
145
+ ],
146
+ }
@@ -0,0 +1,150 @@
1
+ // url=https://www.figma.com/design/NYcgOc3qMmcEDNqD6kD8J4?node-id=104-1898
2
+ // component=LazyIllustration
3
+ // source=https://github.com/PayFit/hr-apps/blob/master/libs/shared/unity/illustrations/src/components/lazy-illustration/LazyIllustration.tsx
4
+
5
+ /**
6
+ * AUTO-GENERATED - DO NOT EDIT
7
+ *
8
+ * Template file for Figma Code Connect - LazyIllustration component (Icons)
9
+ *
10
+ * Handles dynamic mapping of:
11
+ * - Name property -> PascalCase code name
12
+ * - With background property -> "WithBackground" suffix
13
+ * - Size property -> React size value
14
+ */
15
+
16
+ const figma = require('figma')
17
+ const instance = figma.selectedInstance
18
+
19
+ const nameValue = instance.getEnum('Name', {
20
+ administrative_document: 'AdministrativeDocument',
21
+ annual_taxes: 'AnnualTaxes',
22
+ baby_bottle: 'BabyBottle',
23
+ bell: 'Bell',
24
+ bicycle: 'Bicycle',
25
+ blank_payslip: 'BlankPayslip',
26
+ box: 'Box',
27
+ buoy: 'Buoy',
28
+ calculator: 'Calculator',
29
+ card: 'Card',
30
+ character_headphone: 'CharacterHeadphone',
31
+ checkbox: 'Checkbox',
32
+ clock: 'Clock',
33
+ closed_lock: 'ClosedLock',
34
+ computer_documentation: 'ComputerDocumentation',
35
+ confettis: 'Confettis',
36
+ contact: 'Contact',
37
+ conversation: 'Conversation',
38
+ data: 'Data',
39
+ discount: 'Discount',
40
+ document: 'Document',
41
+ document_error: 'DocumentError',
42
+ document_filing: 'DocumentFiling',
43
+ e_signature: 'ESignature',
44
+ email_notification: 'EmailNotification',
45
+ emergency_contact: 'EmergencyContact',
46
+ employment_contract: 'EmploymentContract',
47
+ empty_document: 'EmptyDocument',
48
+ empty_state: 'EmptyState',
49
+ exceeding_threshold: 'ExceedingThreshold',
50
+ exceptional_compensation: 'ExceptionalCompensation',
51
+ expenses: 'Expenses',
52
+ FAQ: 'FAQ',
53
+ field_glasses: 'FieldGlasses',
54
+ free_share: 'FreeShare',
55
+ full_calendar: 'FullCalendar',
56
+ gear: 'Gear',
57
+ gift: 'Gift',
58
+ golden_ribbon: 'GoldenRibbon',
59
+ graph: 'Graph',
60
+ half_calendar: 'HalfCalendar',
61
+ hammer: 'Hammer',
62
+ hand_hello: 'HandHello',
63
+ happy_character: 'HappyCharacter',
64
+ health: 'Health',
65
+ health_insurance: 'HealthInsurance',
66
+ holiday_voucher: 'HolidayVoucher',
67
+ identity_card: 'IdentityCard',
68
+ information_update: 'InformationUpdate',
69
+ JEC: 'JEC',
70
+ JEI_JEU_JEC: 'JeiJeuJec',
71
+ kanoon: 'Kanoon',
72
+ kpmg: 'Kpmg',
73
+ legal_help: 'LegalHelp',
74
+ letter_box: 'LetterBox',
75
+ light_bulb: 'LightBulb',
76
+ little_rocket: 'LittleRocket',
77
+ lunch_voucher: 'LunchVoucher',
78
+ magnifying_glass: 'MagnifyingGlass',
79
+ meal_plate: 'MealPlate',
80
+ meal_voucher: 'MealVoucher',
81
+ meal_voucher_card: 'MealVoucherCard',
82
+ mobility: 'Mobility',
83
+ money_lending: 'MoneyLending',
84
+ notes: 'Notes',
85
+ official_letter: 'OfficialLetter',
86
+ open_lock: 'OpenLock',
87
+ organismes_payment: 'OrganismesPayment',
88
+ paid_leave: 'PaidLeave',
89
+ payment_information: 'PaymentInformation',
90
+ payslip: 'Payslip',
91
+ payslip_coins: 'PayslipCoins',
92
+ pen: 'Pen',
93
+ people: 'People',
94
+ performance: 'Performance',
95
+ person_headphone: 'PersonHeadphone',
96
+ personal_details: 'PersonalDetails',
97
+ piggy_bank: 'PiggyBank',
98
+ piggy_bank_coins: 'PiggyBankCoins',
99
+ plant: 'Plant',
100
+ provident_scheme: 'ProvidentScheme',
101
+ remote_work: 'RemoteWork',
102
+ report: 'Report',
103
+ salary: 'Salary',
104
+ salary_advance: 'SalaryAdvance',
105
+ salary_payment: 'SalaryPayment',
106
+ salary_seizure: 'SalarySeizure',
107
+ sand_castle: 'SandCastle',
108
+ schedule: 'Schedule',
109
+ set_up_task: 'SetUpTask',
110
+ setting_slider: 'SettingSlider',
111
+ sick_leave: 'SickLeave',
112
+ small_puzzle: 'SmallPuzzle',
113
+ smiling_character: 'SmilingCharacter',
114
+ spreadsheet: 'Spreadsheet',
115
+ stethoscope: 'Stethoscope',
116
+ stock_options: 'StockOptions',
117
+ stopwatch: 'Stopwatch',
118
+ sunshade: 'Sunshade',
119
+ task_to_do: 'TaskToDo',
120
+ template: 'Template',
121
+ thumbtack: 'Thumbtack',
122
+ time_tracking: 'TimeTracking',
123
+ tips_jar: 'TipsJar',
124
+ token_coin: 'TokenCoin',
125
+ validation_window: 'ValidationWindow',
126
+ work_expense: 'WorkExpense',
127
+ working_time: 'WorkingTime',
128
+ })
129
+
130
+ const withBackgroundValue = instance.getBoolean('With background')
131
+ const sizeValue = instance.getEnum('Size', {
132
+ small: 'sm',
133
+ medium: 'md',
134
+ large: 'lg',
135
+ })
136
+
137
+ const finalSrc = withBackgroundValue ? nameValue + 'WithBackground' : nameValue
138
+
139
+ const code = figma.tsx`<LazyIllustration
140
+ src="${finalSrc}"
141
+ size="${sizeValue}"
142
+ variant="icon"
143
+ alt="${finalSrc} illustration"
144
+ />`
145
+
146
+ export default {
147
+ id: 'lazyillustration-icon',
148
+ example: code,
149
+ imports: ["import { LazyIllustration } from '@payfit/unity-illustrations'"],
150
+ }
@@ -0,0 +1,143 @@
1
+ // url=https://www.figma.com/design/NYcgOc3qMmcEDNqD6kD8J4?node-id=216-3916
2
+ // component=LazyIllustration
3
+ // source=https://github.com/PayFit/hr-apps/blob/master/libs/shared/unity/illustrations/src/components/lazy-illustration/LazyIllustration.tsx
4
+
5
+ /**
6
+ * AUTO-GENERATED - DO NOT EDIT
7
+ *
8
+ * Template file for Figma Code Connect - LazyIllustration component (Pictures - Large)
9
+ *
10
+ * Handles dynamic mapping of:
11
+ * - Name property -> PascalCase code name
12
+ * - Type property -> "EmptyState" prefix for empty-state type
13
+ */
14
+
15
+ const figma = require('figma')
16
+ const instance = figma.selectedInstance
17
+
18
+ const nameValue = instance.getEnum('Name', {
19
+ accounting: 'Accounting',
20
+ activation_button: 'ActivationButton',
21
+ activation_toggle: 'ActivationToggle',
22
+ add_employee: 'AddEmployee',
23
+ alphabet_cube: 'AlphabetCube',
24
+ analysis: 'Analysis',
25
+ automation_in_progress: 'AutomationInProgress',
26
+ big_idea: 'BigIdea',
27
+ binoculars: 'Binoculars',
28
+ biscuit: 'Biscuit',
29
+ biscuit_crumbs: 'BiscuitCrumbs',
30
+ book: 'Book',
31
+ brainstorming: 'Brainstorming',
32
+ calendar: 'Calendar',
33
+ chat: 'Chat',
34
+ christmas_sock: 'ChristmasSock',
35
+ christmas_sock_and_confettis: 'ChristmasSockAndConfettis',
36
+ collaboration: 'Collaboration',
37
+ collective_research: 'CollectiveResearch',
38
+ computer_mail: 'ComputerMail',
39
+ confetti_cannon: 'ConfettiCannon',
40
+ contract_signature: 'ContractSignature',
41
+ cross_legged: 'CrossLegged',
42
+ cup_of_coffee: 'CupOfCoffee',
43
+ dancing: 'Dancing',
44
+ dancing_people: 'DancingPeople',
45
+ dancing_skier: 'DancingSkier',
46
+ desert: 'Desert',
47
+ dialogue: 'Dialogue',
48
+ discussion: 'Discussion',
49
+ doctor: 'Doctor',
50
+ document_creation: 'DocumentCreation',
51
+ document_scan: 'DocumentScan',
52
+ document_scanning: 'DocumentScanning',
53
+ email_login: 'EmailLogin',
54
+ empty_folder: 'EmptyFolder',
55
+ evaluation: 'Evaluation',
56
+ filing_documents: 'FilingDocuments',
57
+ flowchart: 'Flowchart',
58
+ graphic: 'Graphic',
59
+ hands: 'Hands',
60
+ high_five: 'HighFive',
61
+ highlight_books: 'HighlightBooks',
62
+ idea: 'Idea',
63
+ incident_panel: 'IncidentPanel',
64
+ indicate_something: 'IndicateSomething',
65
+ jetlang_calculator: 'JetlangCalculator',
66
+ library: 'Library',
67
+ maintenance: 'Maintenance',
68
+ marteler: 'Marteler',
69
+ moon: 'Moon',
70
+ mug: 'Mug',
71
+ panel: 'Panel',
72
+ paper_plane: 'PaperPlane',
73
+ party: 'Party',
74
+ payfitters_with_badge: 'PayfittersWithBadge',
75
+ payroll_error: 'PayrollError',
76
+ person: 'Person',
77
+ phone_message: 'PhoneMessage',
78
+ planet: 'Planet',
79
+ post_it: 'PostIt',
80
+ progression: 'Progression',
81
+ promotion: 'Promotion',
82
+ puzzle: 'Puzzle',
83
+ puzzle_piece: 'PuzzlePiece',
84
+ reading_a_book: 'ReadingABook',
85
+ receiving_pay: 'ReceivingPay',
86
+ rehire_employee: 'RehireEmployee',
87
+ remote: 'Remote',
88
+ research: 'Research',
89
+ rocket: 'Rocket',
90
+ safe_deposit_box: 'SafeDepositBox',
91
+ sale: 'Sale',
92
+ security_fields: 'SecurityFields',
93
+ signature: 'Signature',
94
+ sitting_on_the_sofa: 'SittingOnTheSofa',
95
+ solve_problem: 'SolveProblem',
96
+ speaker_fingertips: 'SpeakerFingertips',
97
+ speaker_welcome: 'SpeakerWelcome',
98
+ speaker_with_microphone: 'SpeakerWithMicrophone',
99
+ stack_of_book_2: 'StackOfBook2',
100
+ stair_treads: 'StairTreads',
101
+ taking_note: 'TakingNote',
102
+ target: 'Target',
103
+ team_building: 'TeamBuilding',
104
+ telescope: 'Telescope',
105
+ template_form: 'TemplateForm',
106
+ thumbsup: 'Thumbsup',
107
+ timer: 'Timer',
108
+ to_do: 'ToDo',
109
+ toggle_off: 'ToggleOff',
110
+ toggle_on: 'ToggleOn',
111
+ trophy: 'Trophy',
112
+ trophy_won: 'TrophyWon',
113
+ visually_impaired: 'VisuallyImpaired',
114
+ visually_impaired_winter: 'VisuallyImpairedWinter',
115
+ walking_people: 'WalkingPeople',
116
+ winter_party: 'WinterParty',
117
+ work_at_office: 'WorkAtOffice',
118
+ work_from_anywhere: 'WorkFromAnywhere',
119
+ wrench: 'Wrench',
120
+ write_book: 'WriteBook',
121
+ })
122
+
123
+ const typeValue = instance.getEnum('Type', {
124
+ generic: 'generic',
125
+ specific: 'specific',
126
+ 'empty-state': 'empty-state',
127
+ })
128
+
129
+ // Apply EmptyState prefix dynamically based on Type
130
+ const finalSrc =
131
+ typeValue === 'empty-state' ? 'EmptyState' + nameValue : nameValue
132
+
133
+ const code = figma.tsx`<LazyIllustration
134
+ src="${finalSrc}"
135
+ variant="picture"
136
+ alt="${finalSrc} illustration"
137
+ />`
138
+
139
+ export default {
140
+ id: 'lazyillustration-picture-large',
141
+ example: code,
142
+ imports: ["import { LazyIllustration } from '@payfit/unity-illustrations'"],
143
+ }
@@ -0,0 +1,143 @@
1
+ // url=https://www.figma.com/design/NYcgOc3qMmcEDNqD6kD8J4?node-id=214-5807
2
+ // component=LazyIllustration
3
+ // source=https://github.com/PayFit/hr-apps/blob/master/libs/shared/unity/illustrations/src/components/lazy-illustration/LazyIllustration.tsx
4
+
5
+ /**
6
+ * AUTO-GENERATED - DO NOT EDIT
7
+ *
8
+ * Template file for Figma Code Connect - LazyIllustration component (Pictures - Medium)
9
+ *
10
+ * Handles dynamic mapping of:
11
+ * - Name property -> PascalCase code name
12
+ * - Type property -> "EmptyState" prefix for empty-state type
13
+ */
14
+
15
+ const figma = require('figma')
16
+ const instance = figma.selectedInstance
17
+
18
+ const nameValue = instance.getEnum('Name', {
19
+ accounting: 'Accounting',
20
+ activation_button: 'ActivationButton',
21
+ activation_toggle: 'ActivationToggle',
22
+ add_employee: 'AddEmployee',
23
+ alphabet_cube: 'AlphabetCube',
24
+ analysis: 'Analysis',
25
+ automation_in_progress: 'AutomationInProgress',
26
+ big_idea: 'BigIdea',
27
+ binoculars: 'Binoculars',
28
+ biscuit: 'Biscuit',
29
+ biscuit_crumbs: 'BiscuitCrumbs',
30
+ book: 'Book',
31
+ brainstorming: 'Brainstorming',
32
+ calendar: 'Calendar',
33
+ chat: 'Chat',
34
+ christmas_sock: 'ChristmasSock',
35
+ christmas_sock_and_confettis: 'ChristmasSockAndConfettis',
36
+ collaboration: 'Collaboration',
37
+ collective_research: 'CollectiveResearch',
38
+ computer_mail: 'ComputerMail',
39
+ confetti_cannon: 'ConfettiCannon',
40
+ contract_signature: 'ContractSignature',
41
+ cross_legged: 'CrossLegged',
42
+ cup_of_coffee: 'CupOfCoffee',
43
+ dancing: 'Dancing',
44
+ dancing_people: 'DancingPeople',
45
+ dancing_skier: 'DancingSkier',
46
+ desert: 'Desert',
47
+ dialogue: 'Dialogue',
48
+ discussion: 'Discussion',
49
+ doctor: 'Doctor',
50
+ document_creation: 'DocumentCreation',
51
+ document_scan: 'DocumentScan',
52
+ document_scanning: 'DocumentScanning',
53
+ email_login: 'EmailLogin',
54
+ empty_folder: 'EmptyFolder',
55
+ evaluation: 'Evaluation',
56
+ filing_documents: 'FilingDocuments',
57
+ flowchart: 'Flowchart',
58
+ graphic: 'Graphic',
59
+ hands: 'Hands',
60
+ high_five: 'HighFive',
61
+ highlight_books: 'HighlightBooks',
62
+ idea: 'Idea',
63
+ incident_panel: 'IncidentPanel',
64
+ indicate_something: 'IndicateSomething',
65
+ jetlang_calculator: 'JetlangCalculator',
66
+ library: 'Library',
67
+ maintenance: 'Maintenance',
68
+ marteler: 'Marteler',
69
+ moon: 'Moon',
70
+ mug: 'Mug',
71
+ panel: 'Panel',
72
+ paper_plane: 'PaperPlane',
73
+ party: 'Party',
74
+ payfitters_with_badge: 'PayfittersWithBadge',
75
+ payroll_error: 'PayrollError',
76
+ person: 'Person',
77
+ phone_message: 'PhoneMessage',
78
+ planet: 'Planet',
79
+ post_it: 'PostIt',
80
+ progression: 'Progression',
81
+ promotion: 'Promotion',
82
+ puzzle: 'Puzzle',
83
+ puzzle_piece: 'PuzzlePiece',
84
+ reading_a_book: 'ReadingABook',
85
+ receiving_pay: 'ReceivingPay',
86
+ rehire_employee: 'RehireEmployee',
87
+ remote: 'Remote',
88
+ research: 'Research',
89
+ rocket: 'Rocket',
90
+ safe_deposit_box: 'SafeDepositBox',
91
+ sale: 'Sale',
92
+ security_fields: 'SecurityFields',
93
+ signature: 'Signature',
94
+ sitting_on_the_sofa: 'SittingOnTheSofa',
95
+ solve_problem: 'SolveProblem',
96
+ speaker_fingertips: 'SpeakerFingertips',
97
+ speaker_welcome: 'SpeakerWelcome',
98
+ speaker_with_microphone: 'SpeakerWithMicrophone',
99
+ stack_of_book_2: 'StackOfBook2',
100
+ stair_treads: 'StairTreads',
101
+ taking_note: 'TakingNote',
102
+ target: 'Target',
103
+ team_building: 'TeamBuilding',
104
+ telescope: 'Telescope',
105
+ template_form: 'TemplateForm',
106
+ thumbsup: 'Thumbsup',
107
+ timer: 'Timer',
108
+ to_do: 'ToDo',
109
+ toggle_off: 'ToggleOff',
110
+ toggle_on: 'ToggleOn',
111
+ trophy: 'Trophy',
112
+ trophy_won: 'TrophyWon',
113
+ visually_impaired: 'VisuallyImpaired',
114
+ visually_impaired_winter: 'VisuallyImpairedWinter',
115
+ walking_people: 'WalkingPeople',
116
+ winter_party: 'WinterParty',
117
+ work_at_office: 'WorkAtOffice',
118
+ work_from_anywhere: 'WorkFromAnywhere',
119
+ wrench: 'Wrench',
120
+ write_book: 'WriteBook',
121
+ })
122
+
123
+ const typeValue = instance.getEnum('Type', {
124
+ generic: 'generic',
125
+ specific: 'specific',
126
+ 'empty-state': 'empty-state',
127
+ })
128
+
129
+ // Apply EmptyState prefix dynamically based on Type
130
+ const finalSrc =
131
+ typeValue === 'empty-state' ? 'EmptyState' + nameValue : nameValue
132
+
133
+ const code = figma.tsx`<LazyIllustration
134
+ src="${finalSrc}"
135
+ variant="picture"
136
+ alt="${finalSrc} illustration"
137
+ />`
138
+
139
+ export default {
140
+ id: 'lazyillustration-picture-medium',
141
+ example: code,
142
+ imports: ["import { LazyIllustration } from '@payfit/unity-illustrations'"],
143
+ }
@@ -0,0 +1,143 @@
1
+ // url=https://www.figma.com/design/NYcgOc3qMmcEDNqD6kD8J4?node-id=214-3597
2
+ // component=LazyIllustration
3
+ // source=https://github.com/PayFit/hr-apps/blob/master/libs/shared/unity/illustrations/src/components/lazy-illustration/LazyIllustration.tsx
4
+
5
+ /**
6
+ * AUTO-GENERATED - DO NOT EDIT
7
+ *
8
+ * Template file for Figma Code Connect - LazyIllustration component (Pictures - Small)
9
+ *
10
+ * Handles dynamic mapping of:
11
+ * - Name property -> PascalCase code name
12
+ * - Type property -> "EmptyState" prefix for empty-state type
13
+ */
14
+
15
+ const figma = require('figma')
16
+ const instance = figma.selectedInstance
17
+
18
+ const nameValue = instance.getEnum('Name', {
19
+ accounting: 'Accounting',
20
+ activation_button: 'ActivationButton',
21
+ activation_toggle: 'ActivationToggle',
22
+ add_employee: 'AddEmployee',
23
+ alphabet_cube: 'AlphabetCube',
24
+ analysis: 'Analysis',
25
+ automation_in_progress: 'AutomationInProgress',
26
+ big_idea: 'BigIdea',
27
+ binoculars: 'Binoculars',
28
+ biscuit: 'Biscuit',
29
+ biscuit_crumbs: 'BiscuitCrumbs',
30
+ book: 'Book',
31
+ brainstorming: 'Brainstorming',
32
+ calendar: 'Calendar',
33
+ chat: 'Chat',
34
+ christmas_sock: 'ChristmasSock',
35
+ christmas_sock_and_confettis: 'ChristmasSockAndConfettis',
36
+ collaboration: 'Collaboration',
37
+ collective_research: 'CollectiveResearch',
38
+ computer_mail: 'ComputerMail',
39
+ confetti_cannon: 'ConfettiCannon',
40
+ contract_signature: 'ContractSignature',
41
+ cross_legged: 'CrossLegged',
42
+ cup_of_coffee: 'CupOfCoffee',
43
+ dancing: 'Dancing',
44
+ dancing_people: 'DancingPeople',
45
+ dancing_skier: 'DancingSkier',
46
+ desert: 'Desert',
47
+ dialogue: 'Dialogue',
48
+ discussion: 'Discussion',
49
+ doctor: 'Doctor',
50
+ document_creation: 'DocumentCreation',
51
+ document_scan: 'DocumentScan',
52
+ document_scanning: 'DocumentScanning',
53
+ email_login: 'EmailLogin',
54
+ empty_folder: 'EmptyFolder',
55
+ evaluation: 'Evaluation',
56
+ filing_documents: 'FilingDocuments',
57
+ flowchart: 'Flowchart',
58
+ graphic: 'Graphic',
59
+ hands: 'Hands',
60
+ high_five: 'HighFive',
61
+ highlight_books: 'HighlightBooks',
62
+ idea: 'Idea',
63
+ incident_panel: 'IncidentPanel',
64
+ indicate_something: 'IndicateSomething',
65
+ jetlang_calculator: 'JetlangCalculator',
66
+ library: 'Library',
67
+ maintenance: 'Maintenance',
68
+ marteler: 'Marteler',
69
+ moon: 'Moon',
70
+ mug: 'Mug',
71
+ panel: 'Panel',
72
+ paper_plane: 'PaperPlane',
73
+ party: 'Party',
74
+ payfitters_with_badge: 'PayfittersWithBadge',
75
+ payroll_error: 'PayrollError',
76
+ person: 'Person',
77
+ phone_message: 'PhoneMessage',
78
+ planet: 'Planet',
79
+ post_it: 'PostIt',
80
+ progression: 'Progression',
81
+ promotion: 'Promotion',
82
+ puzzle: 'Puzzle',
83
+ puzzle_piece: 'PuzzlePiece',
84
+ reading_a_book: 'ReadingABook',
85
+ receiving_pay: 'ReceivingPay',
86
+ rehire_employee: 'RehireEmployee',
87
+ remote: 'Remote',
88
+ research: 'Research',
89
+ rocket: 'Rocket',
90
+ safe_deposit_box: 'SafeDepositBox',
91
+ sale: 'Sale',
92
+ security_fields: 'SecurityFields',
93
+ signature: 'Signature',
94
+ sitting_on_the_sofa: 'SittingOnTheSofa',
95
+ solve_problem: 'SolveProblem',
96
+ speaker_fingertips: 'SpeakerFingertips',
97
+ speaker_welcome: 'SpeakerWelcome',
98
+ speaker_with_microphone: 'SpeakerWithMicrophone',
99
+ stack_of_book_2: 'StackOfBook2',
100
+ stair_treads: 'StairTreads',
101
+ taking_note: 'TakingNote',
102
+ target: 'Target',
103
+ team_building: 'TeamBuilding',
104
+ telescope: 'Telescope',
105
+ template_form: 'TemplateForm',
106
+ thumbsup: 'Thumbsup',
107
+ timer: 'Timer',
108
+ to_do: 'ToDo',
109
+ toggle_off: 'ToggleOff',
110
+ toggle_on: 'ToggleOn',
111
+ trophy: 'Trophy',
112
+ trophy_won: 'TrophyWon',
113
+ visually_impaired: 'VisuallyImpaired',
114
+ visually_impaired_winter: 'VisuallyImpairedWinter',
115
+ walking_people: 'WalkingPeople',
116
+ winter_party: 'WinterParty',
117
+ work_at_office: 'WorkAtOffice',
118
+ work_from_anywhere: 'WorkFromAnywhere',
119
+ wrench: 'Wrench',
120
+ write_book: 'WriteBook',
121
+ })
122
+
123
+ const typeValue = instance.getEnum('Type', {
124
+ generic: 'generic',
125
+ specific: 'specific',
126
+ 'empty-state': 'empty-state',
127
+ })
128
+
129
+ // Apply EmptyState prefix dynamically based on Type
130
+ const finalSrc =
131
+ typeValue === 'empty-state' ? 'EmptyState' + nameValue : nameValue
132
+
133
+ const code = figma.tsx`<LazyIllustration
134
+ src="${finalSrc}"
135
+ variant="picture"
136
+ alt="${finalSrc} illustration"
137
+ />`
138
+
139
+ export default {
140
+ id: 'lazyillustration-picture-small',
141
+ example: code,
142
+ imports: ["import { LazyIllustration } from '@payfit/unity-illustrations'"],
143
+ }