@cratis/scene.blueprint.hr 0.0.0-stage → 4.50.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 (129) hide show
  1. package/blueprint.ts +16 -0
  2. package/blueprintCatalog.json +164 -0
  3. package/dist/cjs/blueprint.js +19 -0
  4. package/dist/cjs/blueprint.js.map +1 -0
  5. package/dist/cjs/hrApplication.js +49 -0
  6. package/dist/cjs/hrApplication.js.map +1 -0
  7. package/dist/cjs/hrParts.js +131 -0
  8. package/dist/cjs/hrParts.js.map +1 -0
  9. package/dist/cjs/hrQueries.js +67 -0
  10. package/dist/cjs/hrQueries.js.map +1 -0
  11. package/dist/cjs/hrScreenSet.js +61 -0
  12. package/dist/cjs/hrScreenSet.js.map +1 -0
  13. package/dist/cjs/index.js +69 -0
  14. package/dist/cjs/index.js.map +1 -0
  15. package/dist/cjs/manifest.js +65 -0
  16. package/dist/cjs/manifest.js.map +1 -0
  17. package/dist/cjs/navigation.js +135 -0
  18. package/dist/cjs/navigation.js.map +1 -0
  19. package/dist/cjs/package.json +3 -0
  20. package/dist/cjs/packageName.js +8 -0
  21. package/dist/cjs/packageName.js.map +1 -0
  22. package/dist/cjs/screens/index.js +22 -0
  23. package/dist/cjs/screens/index.js.map +1 -0
  24. package/dist/cjs/templateProvenance.js +24 -0
  25. package/dist/cjs/templateProvenance.js.map +1 -0
  26. package/dist/cjs/templates/formTemplates.js +51 -0
  27. package/dist/cjs/templates/formTemplates.js.map +1 -0
  28. package/dist/cjs/templates/index.js +30 -0
  29. package/dist/cjs/templates/index.js.map +1 -0
  30. package/dist/cjs/templates/listTemplates.js +210 -0
  31. package/dist/cjs/templates/listTemplates.js.map +1 -0
  32. package/dist/cjs/templates/orgChartTemplate.js +63 -0
  33. package/dist/cjs/templates/orgChartTemplate.js.map +1 -0
  34. package/dist/cjs/templates/recordTemplates.js +181 -0
  35. package/dist/cjs/templates/recordTemplates.js.map +1 -0
  36. package/dist/esm/blueprint.d.ts +3 -0
  37. package/dist/esm/blueprint.d.ts.map +1 -0
  38. package/dist/esm/blueprint.js +17 -0
  39. package/dist/esm/blueprint.js.map +1 -0
  40. package/dist/esm/hrApplication.d.ts +10 -0
  41. package/dist/esm/hrApplication.d.ts.map +1 -0
  42. package/dist/esm/hrApplication.js +44 -0
  43. package/dist/esm/hrApplication.js.map +1 -0
  44. package/dist/esm/hrParts.d.ts +15 -0
  45. package/dist/esm/hrParts.d.ts.map +1 -0
  46. package/dist/esm/hrParts.js +114 -0
  47. package/dist/esm/hrParts.js.map +1 -0
  48. package/dist/esm/hrQueries.d.ts +38 -0
  49. package/dist/esm/hrQueries.d.ts.map +1 -0
  50. package/dist/esm/hrQueries.js +59 -0
  51. package/dist/esm/hrQueries.js.map +1 -0
  52. package/dist/esm/hrScreenSet.d.ts +7 -0
  53. package/dist/esm/hrScreenSet.d.ts.map +1 -0
  54. package/dist/esm/hrScreenSet.js +59 -0
  55. package/dist/esm/hrScreenSet.js.map +1 -0
  56. package/dist/esm/index.d.ts +12 -0
  57. package/dist/esm/index.d.ts.map +1 -0
  58. package/dist/esm/index.js +17 -0
  59. package/dist/esm/index.js.map +1 -0
  60. package/dist/esm/manifest.d.ts +3 -0
  61. package/dist/esm/manifest.d.ts.map +1 -0
  62. package/dist/esm/manifest.js +63 -0
  63. package/dist/esm/manifest.js.map +1 -0
  64. package/dist/esm/navigation.d.ts +5 -0
  65. package/dist/esm/navigation.d.ts.map +1 -0
  66. package/dist/esm/navigation.js +131 -0
  67. package/dist/esm/navigation.js.map +1 -0
  68. package/dist/esm/package.json +3 -0
  69. package/dist/esm/packageName.d.ts +2 -0
  70. package/dist/esm/packageName.d.ts.map +1 -0
  71. package/dist/esm/packageName.js +6 -0
  72. package/dist/esm/packageName.js.map +1 -0
  73. package/dist/esm/screens/index.d.ts +3 -0
  74. package/dist/esm/screens/index.d.ts.map +1 -0
  75. package/dist/esm/screens/index.js +20 -0
  76. package/dist/esm/screens/index.js.map +1 -0
  77. package/dist/esm/templateProvenance.d.ts +3 -0
  78. package/dist/esm/templateProvenance.d.ts.map +1 -0
  79. package/dist/esm/templateProvenance.js +22 -0
  80. package/dist/esm/templateProvenance.js.map +1 -0
  81. package/dist/esm/templates/formTemplates.d.ts +3 -0
  82. package/dist/esm/templates/formTemplates.d.ts.map +1 -0
  83. package/dist/esm/templates/formTemplates.js +49 -0
  84. package/dist/esm/templates/formTemplates.js.map +1 -0
  85. package/dist/esm/templates/index.d.ts +7 -0
  86. package/dist/esm/templates/index.d.ts.map +1 -0
  87. package/dist/esm/templates/index.js +19 -0
  88. package/dist/esm/templates/index.js.map +1 -0
  89. package/dist/esm/templates/listTemplates.d.ts +6 -0
  90. package/dist/esm/templates/listTemplates.d.ts.map +1 -0
  91. package/dist/esm/templates/listTemplates.js +205 -0
  92. package/dist/esm/templates/listTemplates.js.map +1 -0
  93. package/dist/esm/templates/orgChartTemplate.d.ts +3 -0
  94. package/dist/esm/templates/orgChartTemplate.d.ts.map +1 -0
  95. package/dist/esm/templates/orgChartTemplate.js +61 -0
  96. package/dist/esm/templates/orgChartTemplate.js.map +1 -0
  97. package/dist/esm/templates/recordTemplates.d.ts +4 -0
  98. package/dist/esm/templates/recordTemplates.d.ts.map +1 -0
  99. package/dist/esm/templates/recordTemplates.js +178 -0
  100. package/dist/esm/templates/recordTemplates.js.map +1 -0
  101. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  102. package/hrApplication.ts +28 -0
  103. package/hrParts.ts +52 -0
  104. package/hrQueries.ts +59 -0
  105. package/hrScreenSet.ts +24 -0
  106. package/index.ts +14 -0
  107. package/manifest.ts +41 -0
  108. package/navigation.ts +59 -0
  109. package/package.json +79 -5
  110. package/packageName.ts +5 -0
  111. package/sampleData/hr-nordic.json +1659 -0
  112. package/screens/index.ts +20 -0
  113. package/templateProvenance.ts +15 -0
  114. package/templates/formTemplates.ts +34 -0
  115. package/templates/index.ts +21 -0
  116. package/templates/listTemplates.ts +109 -0
  117. package/templates/orgChartTemplate.ts +27 -0
  118. package/templates/recordTemplates.ts +75 -0
  119. package/thumbnails/HrEmployeeDirectory.svg +29 -0
  120. package/thumbnails/HrEmployeePage.svg +18 -0
  121. package/thumbnails/HrOnboardingChecklist.svg +18 -0
  122. package/thumbnails/HrOnboardingList.svg +13 -0
  123. package/thumbnails/HrOrgChart.svg +20 -0
  124. package/thumbnails/HrQuickCreateEmployee.svg +12 -0
  125. package/thumbnails/HrRequestTimeOff.svg +12 -0
  126. package/thumbnails/HrTimeOffBalanceList.svg +13 -0
  127. package/thumbnails/HrTimeOffList.svg +13 -0
  128. package/thumbnails/hr.svg +14 -0
  129. package/README.md +0 -3
@@ -0,0 +1,1659 @@
1
+ {
2
+ "id": "hr-nordic",
3
+ "title": "HR · Nordic",
4
+ "locale": "nb-NO",
5
+ "owner": "blueprint:hr",
6
+ "sets": [
7
+ {
8
+ "shape": "HrSettings",
9
+ "rows": [
10
+ {
11
+ "locale": "nb-NO",
12
+ "currency": "NOK"
13
+ }
14
+ ]
15
+ },
16
+ {
17
+ "shape": "Employees",
18
+ "rows": [
19
+ {
20
+ "id": "emp-1",
21
+ "name": "Ingrid Solberg",
22
+ "title": "Administrerende direktør",
23
+ "department": "Ledelse",
24
+ "location": "Oslo",
25
+ "email": "ingrid.solberg@eksempel.no",
26
+ "phone": "+47 400 10 200",
27
+ "status": "Aktiv",
28
+ "manager": "",
29
+ "photo": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='180'%3E%3Crect width='320' height='180' fill='hsl%28190,45%25,82%25%29'/%3E%3Ctext x='160' y='108' font-size='72' text-anchor='middle' fill='hsl%28190,45%25,25%25%29' font-family='sans-serif'%3EIS%3C/text%3E%3C/svg%3E"
30
+ },
31
+ {
32
+ "id": "emp-2",
33
+ "name": "Magnus Dahl",
34
+ "title": "Teknologidirektør",
35
+ "department": "Ledelse",
36
+ "location": "Bergen",
37
+ "email": "magnus.dahl@eksempel.no",
38
+ "phone": "+47 407 11 213",
39
+ "status": "Aktiv",
40
+ "manager": "Ingrid Solberg",
41
+ "photo": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='180'%3E%3Crect width='320' height='180' fill='hsl%28201,45%25,82%25%29'/%3E%3Ctext x='160' y='108' font-size='72' text-anchor='middle' fill='hsl%28201,45%25,25%25%29' font-family='sans-serif'%3EMD%3C/text%3E%3C/svg%3E"
42
+ },
43
+ {
44
+ "id": "emp-3",
45
+ "name": "Sofie Berg",
46
+ "title": "Økonomidirektør",
47
+ "department": "Økonomi",
48
+ "location": "Trondheim",
49
+ "email": "sofie.berg@eksempel.no",
50
+ "phone": "+47 414 12 226",
51
+ "status": "Aktiv",
52
+ "manager": "Ingrid Solberg",
53
+ "photo": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='180'%3E%3Crect width='320' height='180' fill='hsl%28212,45%25,82%25%29'/%3E%3Ctext x='160' y='108' font-size='72' text-anchor='middle' fill='hsl%28212,45%25,25%25%29' font-family='sans-serif'%3ESB%3C/text%3E%3C/svg%3E"
54
+ },
55
+ {
56
+ "id": "emp-4",
57
+ "name": "Henrik Lund",
58
+ "title": "Driftsdirektør",
59
+ "department": "Drift",
60
+ "location": "Oslo",
61
+ "email": "henrik.lund@eksempel.no",
62
+ "phone": "+47 421 13 239",
63
+ "status": "Aktiv",
64
+ "manager": "Ingrid Solberg",
65
+ "photo": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='180'%3E%3Crect width='320' height='180' fill='hsl%28223,45%25,82%25%29'/%3E%3Ctext x='160' y='108' font-size='72' text-anchor='middle' fill='hsl%28223,45%25,25%25%29' font-family='sans-serif'%3EHL%3C/text%3E%3C/svg%3E"
66
+ },
67
+ {
68
+ "id": "emp-5",
69
+ "name": "Marte Haugen",
70
+ "title": "HR-sjef",
71
+ "department": "HR",
72
+ "location": "Oslo",
73
+ "email": "marte.haugen@eksempel.no",
74
+ "phone": "+47 428 14 252",
75
+ "status": "Aktiv",
76
+ "manager": "Ingrid Solberg",
77
+ "photo": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='180'%3E%3Crect width='320' height='180' fill='hsl%28234,45%25,82%25%29'/%3E%3Ctext x='160' y='108' font-size='72' text-anchor='middle' fill='hsl%28234,45%25,25%25%29' font-family='sans-serif'%3EMH%3C/text%3E%3C/svg%3E"
78
+ },
79
+ {
80
+ "id": "emp-6",
81
+ "name": "Jonas Eriksen",
82
+ "title": "Utviklingssjef",
83
+ "department": "Utvikling",
84
+ "location": "Bergen",
85
+ "email": "jonas.eriksen@eksempel.no",
86
+ "phone": "+47 435 15 265",
87
+ "status": "Aktiv",
88
+ "manager": "Magnus Dahl",
89
+ "photo": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='180'%3E%3Crect width='320' height='180' fill='hsl%28245,45%25,82%25%29'/%3E%3Ctext x='160' y='108' font-size='72' text-anchor='middle' fill='hsl%28245,45%25,25%25%29' font-family='sans-serif'%3EJE%3C/text%3E%3C/svg%3E"
90
+ },
91
+ {
92
+ "id": "emp-7",
93
+ "name": "Silje Andersen",
94
+ "title": "Seniorutvikler",
95
+ "department": "Utvikling",
96
+ "location": "Oslo",
97
+ "email": "silje.andersen@eksempel.no",
98
+ "phone": "+47 442 16 278",
99
+ "status": "Aktiv",
100
+ "manager": "Jonas Eriksen",
101
+ "photo": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='180'%3E%3Crect width='320' height='180' fill='hsl%28256,45%25,82%25%29'/%3E%3Ctext x='160' y='108' font-size='72' text-anchor='middle' fill='hsl%28256,45%25,25%25%29' font-family='sans-serif'%3ESA%3C/text%3E%3C/svg%3E"
102
+ },
103
+ {
104
+ "id": "emp-8",
105
+ "name": "Emil Johansen",
106
+ "title": "Utvikler",
107
+ "department": "Utvikling",
108
+ "location": "Trondheim",
109
+ "email": "emil.johansen@eksempel.no",
110
+ "phone": "+47 449 17 291",
111
+ "status": "Prøvetid",
112
+ "manager": "Jonas Eriksen",
113
+ "photo": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='180'%3E%3Crect width='320' height='180' fill='hsl%28267,45%25,82%25%29'/%3E%3Ctext x='160' y='108' font-size='72' text-anchor='middle' fill='hsl%28267,45%25,25%25%29' font-family='sans-serif'%3EEJ%3C/text%3E%3C/svg%3E"
114
+ },
115
+ {
116
+ "id": "emp-9",
117
+ "name": "Nora Karlsen",
118
+ "title": "Utvikler",
119
+ "department": "Utvikling",
120
+ "location": "Bergen",
121
+ "email": "nora.karlsen@eksempel.no",
122
+ "phone": "+47 456 18 304",
123
+ "status": "Permisjon",
124
+ "manager": "Jonas Eriksen",
125
+ "photo": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='180'%3E%3Crect width='320' height='180' fill='hsl%28278,45%25,82%25%29'/%3E%3Ctext x='160' y='108' font-size='72' text-anchor='middle' fill='hsl%28278,45%25,25%25%29' font-family='sans-serif'%3ENK%3C/text%3E%3C/svg%3E"
126
+ },
127
+ {
128
+ "id": "emp-10",
129
+ "name": "Kristian Moen",
130
+ "title": "Salgssjef",
131
+ "department": "Salg",
132
+ "location": "Oslo",
133
+ "email": "kristian.moen@eksempel.no",
134
+ "phone": "+47 463 19 317",
135
+ "status": "Aktiv",
136
+ "manager": "Ingrid Solberg",
137
+ "photo": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='180'%3E%3Crect width='320' height='180' fill='hsl%28289,45%25,82%25%29'/%3E%3Ctext x='160' y='108' font-size='72' text-anchor='middle' fill='hsl%28289,45%25,25%25%29' font-family='sans-serif'%3EKM%3C/text%3E%3C/svg%3E"
138
+ },
139
+ {
140
+ "id": "emp-11",
141
+ "name": "Thea Pedersen",
142
+ "title": "Kundeansvarlig",
143
+ "department": "Salg",
144
+ "location": "Oslo",
145
+ "email": "thea.pedersen@eksempel.no",
146
+ "phone": "+47 470 20 330",
147
+ "status": "Aktiv",
148
+ "manager": "Kristian Moen",
149
+ "photo": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='180'%3E%3Crect width='320' height='180' fill='hsl%28300,45%25,82%25%29'/%3E%3Ctext x='160' y='108' font-size='72' text-anchor='middle' fill='hsl%28300,45%25,25%25%29' font-family='sans-serif'%3ETP%3C/text%3E%3C/svg%3E"
150
+ },
151
+ {
152
+ "id": "emp-12",
153
+ "name": "Oskar Nilsen",
154
+ "title": "Kundeansvarlig",
155
+ "department": "Salg",
156
+ "location": "Bergen",
157
+ "email": "oskar.nilsen@eksempel.no",
158
+ "phone": "+47 477 21 343",
159
+ "status": "Aktiv",
160
+ "manager": "Kristian Moen",
161
+ "photo": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='180'%3E%3Crect width='320' height='180' fill='hsl%28311,45%25,82%25%29'/%3E%3Ctext x='160' y='108' font-size='72' text-anchor='middle' fill='hsl%28311,45%25,25%25%29' font-family='sans-serif'%3EON%3C/text%3E%3C/svg%3E"
162
+ },
163
+ {
164
+ "id": "emp-13",
165
+ "name": "Maja Bakken",
166
+ "title": "Regnskapsfører",
167
+ "department": "Økonomi",
168
+ "location": "Oslo",
169
+ "email": "maja.bakken@eksempel.no",
170
+ "phone": "+47 484 22 356",
171
+ "status": "Aktiv",
172
+ "manager": "Sofie Berg",
173
+ "photo": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='180'%3E%3Crect width='320' height='180' fill='hsl%28322,45%25,82%25%29'/%3E%3Ctext x='160' y='108' font-size='72' text-anchor='middle' fill='hsl%28322,45%25,25%25%29' font-family='sans-serif'%3EMB%3C/text%3E%3C/svg%3E"
174
+ },
175
+ {
176
+ "id": "emp-14",
177
+ "name": "Lars Strand",
178
+ "title": "Driftsleder",
179
+ "department": "Drift",
180
+ "location": "Trondheim",
181
+ "email": "lars.strand@eksempel.no",
182
+ "phone": "+47 491 23 369",
183
+ "status": "Aktiv",
184
+ "manager": "Henrik Lund",
185
+ "photo": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='180'%3E%3Crect width='320' height='180' fill='hsl%28333,45%25,82%25%29'/%3E%3Ctext x='160' y='108' font-size='72' text-anchor='middle' fill='hsl%28333,45%25,25%25%29' font-family='sans-serif'%3ELS%3C/text%3E%3C/svg%3E"
186
+ },
187
+ {
188
+ "id": "emp-15",
189
+ "name": "Ida Hansen",
190
+ "title": "Kundeservicemedarbeider",
191
+ "department": "Drift",
192
+ "location": "Trondheim",
193
+ "email": "ida.hansen@eksempel.no",
194
+ "phone": "+47 498 24 382",
195
+ "status": "Prøvetid",
196
+ "manager": "Lars Strand",
197
+ "photo": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='180'%3E%3Crect width='320' height='180' fill='hsl%28344,45%25,82%25%29'/%3E%3Ctext x='160' y='108' font-size='72' text-anchor='middle' fill='hsl%28344,45%25,25%25%29' font-family='sans-serif'%3EIH%3C/text%3E%3C/svg%3E"
198
+ },
199
+ {
200
+ "id": "emp-16",
201
+ "name": "Henriette Vik",
202
+ "title": "HR-rådgiver",
203
+ "department": "HR",
204
+ "location": "Oslo",
205
+ "email": "henriette.vik@eksempel.no",
206
+ "phone": "+47 505 25 395",
207
+ "status": "Aktiv",
208
+ "manager": "Marte Haugen",
209
+ "photo": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='180'%3E%3Crect width='320' height='180' fill='hsl%28355,45%25,82%25%29'/%3E%3Ctext x='160' y='108' font-size='72' text-anchor='middle' fill='hsl%28355,45%25,25%25%29' font-family='sans-serif'%3EHV%3C/text%3E%3C/svg%3E"
210
+ }
211
+ ]
212
+ },
213
+ {
214
+ "shape": "EmployeeColumns",
215
+ "rows": [
216
+ {
217
+ "field": "name",
218
+ "header": "Navn"
219
+ },
220
+ {
221
+ "field": "title",
222
+ "header": "Stilling"
223
+ },
224
+ {
225
+ "field": "department",
226
+ "header": "Avdeling"
227
+ },
228
+ {
229
+ "field": "email",
230
+ "header": "E-post"
231
+ },
232
+ {
233
+ "field": "phone",
234
+ "header": "Telefon"
235
+ }
236
+ ]
237
+ },
238
+ {
239
+ "shape": "EmployeeFilterFields",
240
+ "rows": [
241
+ {
242
+ "name": "department",
243
+ "label": "Avdeling",
244
+ "type": "select",
245
+ "options": [
246
+ "Ledelse",
247
+ "Utvikling",
248
+ "Salg",
249
+ "Økonomi",
250
+ "Drift",
251
+ "HR"
252
+ ]
253
+ },
254
+ {
255
+ "name": "location",
256
+ "label": "Sted",
257
+ "type": "select",
258
+ "options": [
259
+ "Bergen",
260
+ "Oslo",
261
+ "Trondheim"
262
+ ]
263
+ },
264
+ {
265
+ "name": "status",
266
+ "label": "Status",
267
+ "type": "select",
268
+ "options": [
269
+ "Aktiv",
270
+ "Prøvetid",
271
+ "Permisjon"
272
+ ]
273
+ },
274
+ {
275
+ "name": "manager",
276
+ "label": "Leder",
277
+ "type": "select",
278
+ "options": [
279
+ "Ingrid Solberg",
280
+ "Magnus Dahl",
281
+ "Sofie Berg",
282
+ "Henrik Lund",
283
+ "Marte Haugen",
284
+ "Jonas Eriksen"
285
+ ]
286
+ }
287
+ ]
288
+ },
289
+ {
290
+ "shape": "EmployeeViews",
291
+ "rows": [
292
+ {
293
+ "id": "all",
294
+ "label": "Alle ansatte"
295
+ },
296
+ {
297
+ "id": "mine",
298
+ "label": "Mitt team"
299
+ },
300
+ {
301
+ "id": "new",
302
+ "label": "Nye ansatte"
303
+ }
304
+ ]
305
+ },
306
+ {
307
+ "shape": "EmployeeColumnChoices",
308
+ "rows": [
309
+ {
310
+ "id": "name",
311
+ "label": "Navn",
312
+ "locked": true
313
+ },
314
+ {
315
+ "id": "title",
316
+ "label": "Stilling"
317
+ },
318
+ {
319
+ "id": "department",
320
+ "label": "Avdeling"
321
+ },
322
+ {
323
+ "id": "email",
324
+ "label": "E-post"
325
+ },
326
+ {
327
+ "id": "phone",
328
+ "label": "Telefon"
329
+ }
330
+ ]
331
+ },
332
+ {
333
+ "shape": "EmployeeSelection",
334
+ "rows": []
335
+ },
336
+ {
337
+ "shape": "TimeOffRequests",
338
+ "rows": [
339
+ {
340
+ "id": "req-1",
341
+ "employee": "Silje Andersen",
342
+ "type": "Ferie",
343
+ "from": "2026-10-26",
344
+ "to": "2026-10-30",
345
+ "days": 5,
346
+ "status": "Venter"
347
+ },
348
+ {
349
+ "id": "req-2",
350
+ "employee": "Emil Johansen",
351
+ "type": "Ferie",
352
+ "from": "2026-11-02",
353
+ "to": "2026-11-04",
354
+ "days": 3,
355
+ "status": "Venter"
356
+ },
357
+ {
358
+ "id": "req-3",
359
+ "employee": "Thea Pedersen",
360
+ "type": "Avspasering",
361
+ "from": "2026-10-19",
362
+ "to": "2026-10-19",
363
+ "days": 1,
364
+ "status": "Godkjent"
365
+ },
366
+ {
367
+ "id": "req-4",
368
+ "employee": "Nora Karlsen",
369
+ "type": "Permisjon",
370
+ "from": "2026-09-01",
371
+ "to": "2026-12-31",
372
+ "days": 85,
373
+ "status": "Godkjent"
374
+ },
375
+ {
376
+ "id": "req-5",
377
+ "employee": "Oskar Nilsen",
378
+ "type": "Ferie",
379
+ "from": "2026-12-21",
380
+ "to": "2026-12-31",
381
+ "days": 7,
382
+ "status": "Venter"
383
+ },
384
+ {
385
+ "id": "req-6",
386
+ "employee": "Lars Strand",
387
+ "type": "Sykefravær",
388
+ "from": "2026-10-12",
389
+ "to": "2026-10-14",
390
+ "days": 3,
391
+ "status": "Godkjent"
392
+ },
393
+ {
394
+ "id": "req-7",
395
+ "employee": "Ida Hansen",
396
+ "type": "Ferie",
397
+ "from": "2026-11-16",
398
+ "to": "2026-11-20",
399
+ "days": 5,
400
+ "status": "Avslått"
401
+ },
402
+ {
403
+ "id": "req-8",
404
+ "employee": "Maja Bakken",
405
+ "type": "Ferie",
406
+ "from": "2026-10-05",
407
+ "to": "2026-10-09",
408
+ "days": 5,
409
+ "status": "Godkjent"
410
+ },
411
+ {
412
+ "id": "req-9",
413
+ "employee": "Jonas Eriksen",
414
+ "type": "Avspasering",
415
+ "from": "2026-10-23",
416
+ "to": "2026-10-23",
417
+ "days": 1,
418
+ "status": "Venter"
419
+ },
420
+ {
421
+ "id": "req-10",
422
+ "employee": "Henriette Vik",
423
+ "type": "Ferie",
424
+ "from": "2026-11-09",
425
+ "to": "2026-11-13",
426
+ "days": 5,
427
+ "status": "Venter"
428
+ },
429
+ {
430
+ "id": "req-11",
431
+ "employee": "Kristian Moen",
432
+ "type": "Ferie",
433
+ "from": "2026-12-28",
434
+ "to": "2026-12-31",
435
+ "days": 4,
436
+ "status": "Godkjent"
437
+ },
438
+ {
439
+ "id": "req-12",
440
+ "employee": "Henrik Lund",
441
+ "type": "Ferie",
442
+ "from": "2026-10-21",
443
+ "to": "2026-10-22",
444
+ "days": 2,
445
+ "status": "Venter"
446
+ }
447
+ ]
448
+ },
449
+ {
450
+ "shape": "TimeOffColumns",
451
+ "rows": [
452
+ {
453
+ "field": "employee",
454
+ "header": "Ansatt"
455
+ },
456
+ {
457
+ "field": "type",
458
+ "header": "Type"
459
+ },
460
+ {
461
+ "field": "from",
462
+ "header": "Fra",
463
+ "kind": "date"
464
+ },
465
+ {
466
+ "field": "to",
467
+ "header": "Til",
468
+ "kind": "date"
469
+ },
470
+ {
471
+ "field": "days",
472
+ "header": "Dager",
473
+ "kind": "number"
474
+ },
475
+ {
476
+ "field": "status",
477
+ "header": "Status",
478
+ "kind": "status",
479
+ "tones": {
480
+ "Venter": "warning",
481
+ "Godkjent": "success",
482
+ "Avslått": "danger"
483
+ }
484
+ }
485
+ ]
486
+ },
487
+ {
488
+ "shape": "TimeOffFilterFields",
489
+ "rows": [
490
+ {
491
+ "name": "type",
492
+ "label": "Type",
493
+ "type": "select",
494
+ "options": [
495
+ "Ferie",
496
+ "Sykefravær",
497
+ "Permisjon",
498
+ "Avspasering"
499
+ ]
500
+ },
501
+ {
502
+ "name": "status",
503
+ "label": "Status",
504
+ "type": "select",
505
+ "options": [
506
+ "Venter",
507
+ "Godkjent",
508
+ "Avslått"
509
+ ]
510
+ },
511
+ {
512
+ "name": "employee",
513
+ "label": "Ansatt",
514
+ "type": "select",
515
+ "options": [
516
+ "Ingrid Solberg",
517
+ "Magnus Dahl",
518
+ "Sofie Berg",
519
+ "Henrik Lund",
520
+ "Marte Haugen",
521
+ "Jonas Eriksen",
522
+ "Silje Andersen",
523
+ "Emil Johansen",
524
+ "Nora Karlsen",
525
+ "Kristian Moen",
526
+ "Thea Pedersen",
527
+ "Oskar Nilsen",
528
+ "Maja Bakken",
529
+ "Lars Strand",
530
+ "Ida Hansen",
531
+ "Henriette Vik"
532
+ ]
533
+ },
534
+ {
535
+ "name": "from",
536
+ "label": "Fra",
537
+ "type": "date"
538
+ }
539
+ ]
540
+ },
541
+ {
542
+ "shape": "TimeOffViews",
543
+ "rows": [
544
+ {
545
+ "id": "all",
546
+ "label": "Alle forespørsler"
547
+ },
548
+ {
549
+ "id": "pending",
550
+ "label": "Venter på godkjenning"
551
+ },
552
+ {
553
+ "id": "team",
554
+ "label": "Mitt team"
555
+ }
556
+ ]
557
+ },
558
+ {
559
+ "shape": "TimeOffColumnChoices",
560
+ "rows": [
561
+ {
562
+ "id": "employee",
563
+ "label": "Ansatt",
564
+ "locked": true
565
+ },
566
+ {
567
+ "id": "type",
568
+ "label": "Type"
569
+ },
570
+ {
571
+ "id": "from",
572
+ "label": "Fra"
573
+ },
574
+ {
575
+ "id": "to",
576
+ "label": "Til"
577
+ },
578
+ {
579
+ "id": "days",
580
+ "label": "Dager"
581
+ },
582
+ {
583
+ "id": "status",
584
+ "label": "Status"
585
+ }
586
+ ]
587
+ },
588
+ {
589
+ "shape": "TimeOffSelection",
590
+ "rows": []
591
+ },
592
+ {
593
+ "shape": "Balances",
594
+ "rows": [
595
+ {
596
+ "id": "bal-1",
597
+ "employee": "Ingrid Solberg",
598
+ "department": "Ledelse",
599
+ "entitlement": 25,
600
+ "taken": 7,
601
+ "left": 18,
602
+ "used": 28
603
+ },
604
+ {
605
+ "id": "bal-2",
606
+ "employee": "Magnus Dahl",
607
+ "department": "Ledelse",
608
+ "entitlement": 25,
609
+ "taken": 12,
610
+ "left": 13,
611
+ "used": 48
612
+ },
613
+ {
614
+ "id": "bal-3",
615
+ "employee": "Sofie Berg",
616
+ "department": "Økonomi",
617
+ "entitlement": 25,
618
+ "taken": 5,
619
+ "left": 20,
620
+ "used": 20
621
+ },
622
+ {
623
+ "id": "bal-4",
624
+ "employee": "Henrik Lund",
625
+ "department": "Drift",
626
+ "entitlement": 25,
627
+ "taken": 9,
628
+ "left": 16,
629
+ "used": 36
630
+ },
631
+ {
632
+ "id": "bal-5",
633
+ "employee": "Marte Haugen",
634
+ "department": "HR",
635
+ "entitlement": 25,
636
+ "taken": 14,
637
+ "left": 11,
638
+ "used": 56
639
+ },
640
+ {
641
+ "id": "bal-6",
642
+ "employee": "Jonas Eriksen",
643
+ "department": "Utvikling",
644
+ "entitlement": 25,
645
+ "taken": 3,
646
+ "left": 22,
647
+ "used": 12
648
+ },
649
+ {
650
+ "id": "bal-7",
651
+ "employee": "Silje Andersen",
652
+ "department": "Utvikling",
653
+ "entitlement": 25,
654
+ "taken": 8,
655
+ "left": 17,
656
+ "used": 32
657
+ },
658
+ {
659
+ "id": "bal-8",
660
+ "employee": "Emil Johansen",
661
+ "department": "Utvikling",
662
+ "entitlement": 25,
663
+ "taken": 2,
664
+ "left": 23,
665
+ "used": 8
666
+ },
667
+ {
668
+ "id": "bal-9",
669
+ "employee": "Nora Karlsen",
670
+ "department": "Utvikling",
671
+ "entitlement": 25,
672
+ "taken": 20,
673
+ "left": 5,
674
+ "used": 80
675
+ },
676
+ {
677
+ "id": "bal-10",
678
+ "employee": "Kristian Moen",
679
+ "department": "Salg",
680
+ "entitlement": 25,
681
+ "taken": 11,
682
+ "left": 14,
683
+ "used": 44
684
+ },
685
+ {
686
+ "id": "bal-11",
687
+ "employee": "Thea Pedersen",
688
+ "department": "Salg",
689
+ "entitlement": 25,
690
+ "taken": 6,
691
+ "left": 19,
692
+ "used": 24
693
+ },
694
+ {
695
+ "id": "bal-12",
696
+ "employee": "Oskar Nilsen",
697
+ "department": "Salg",
698
+ "entitlement": 25,
699
+ "taken": 10,
700
+ "left": 15,
701
+ "used": 40
702
+ },
703
+ {
704
+ "id": "bal-13",
705
+ "employee": "Maja Bakken",
706
+ "department": "Økonomi",
707
+ "entitlement": 25,
708
+ "taken": 4,
709
+ "left": 21,
710
+ "used": 16
711
+ },
712
+ {
713
+ "id": "bal-14",
714
+ "employee": "Lars Strand",
715
+ "department": "Drift",
716
+ "entitlement": 25,
717
+ "taken": 13,
718
+ "left": 12,
719
+ "used": 52
720
+ },
721
+ {
722
+ "id": "bal-15",
723
+ "employee": "Ida Hansen",
724
+ "department": "Drift",
725
+ "entitlement": 25,
726
+ "taken": 1,
727
+ "left": 24,
728
+ "used": 4
729
+ },
730
+ {
731
+ "id": "bal-16",
732
+ "employee": "Henriette Vik",
733
+ "department": "HR",
734
+ "entitlement": 25,
735
+ "taken": 9,
736
+ "left": 16,
737
+ "used": 36
738
+ }
739
+ ]
740
+ },
741
+ {
742
+ "shape": "BalanceColumns",
743
+ "rows": [
744
+ {
745
+ "field": "employee",
746
+ "header": "Ansatt"
747
+ },
748
+ {
749
+ "field": "department",
750
+ "header": "Avdeling"
751
+ },
752
+ {
753
+ "field": "entitlement",
754
+ "header": "Rett til",
755
+ "kind": "number"
756
+ },
757
+ {
758
+ "field": "taken",
759
+ "header": "Tatt ut",
760
+ "kind": "number"
761
+ },
762
+ {
763
+ "field": "left",
764
+ "header": "Igjen",
765
+ "kind": "number"
766
+ },
767
+ {
768
+ "field": "used",
769
+ "header": "Brukt",
770
+ "kind": "progress"
771
+ }
772
+ ]
773
+ },
774
+ {
775
+ "shape": "BalanceFilterFields",
776
+ "rows": [
777
+ {
778
+ "name": "department",
779
+ "label": "Avdeling",
780
+ "type": "select",
781
+ "options": [
782
+ "Ledelse",
783
+ "Utvikling",
784
+ "Salg",
785
+ "Økonomi",
786
+ "Drift",
787
+ "HR"
788
+ ]
789
+ },
790
+ {
791
+ "name": "left",
792
+ "label": "Dager igjen",
793
+ "type": "number"
794
+ }
795
+ ]
796
+ },
797
+ {
798
+ "shape": "BalanceViews",
799
+ "rows": [
800
+ {
801
+ "id": "all",
802
+ "label": "Alle saldoer"
803
+ },
804
+ {
805
+ "id": "low",
806
+ "label": "Få dager igjen"
807
+ }
808
+ ]
809
+ },
810
+ {
811
+ "shape": "BalanceColumnChoices",
812
+ "rows": [
813
+ {
814
+ "id": "employee",
815
+ "label": "Ansatt",
816
+ "locked": true
817
+ },
818
+ {
819
+ "id": "department",
820
+ "label": "Avdeling"
821
+ },
822
+ {
823
+ "id": "entitlement",
824
+ "label": "Rett til"
825
+ },
826
+ {
827
+ "id": "taken",
828
+ "label": "Tatt ut"
829
+ },
830
+ {
831
+ "id": "left",
832
+ "label": "Igjen"
833
+ },
834
+ {
835
+ "id": "used",
836
+ "label": "Brukt"
837
+ }
838
+ ]
839
+ },
840
+ {
841
+ "shape": "BalanceSelection",
842
+ "rows": []
843
+ },
844
+ {
845
+ "shape": "Onboardings",
846
+ "rows": [
847
+ {
848
+ "id": "onb-1",
849
+ "name": "Emil Johansen",
850
+ "role": "Utvikler",
851
+ "start": "2026-10-01",
852
+ "owner": "Marte Haugen",
853
+ "progress": 58,
854
+ "status": "Pågår"
855
+ },
856
+ {
857
+ "id": "onb-2",
858
+ "name": "Ida Hansen",
859
+ "role": "Kundeservicemedarbeider",
860
+ "start": "2026-10-12",
861
+ "owner": "Lars Strand",
862
+ "progress": 33,
863
+ "status": "Pågår"
864
+ },
865
+ {
866
+ "id": "onb-3",
867
+ "name": "Henriette Vik",
868
+ "role": "HR-rådgiver",
869
+ "start": "2026-11-02",
870
+ "owner": "Marte Haugen",
871
+ "progress": 8,
872
+ "status": "Venter"
873
+ },
874
+ {
875
+ "id": "onb-4",
876
+ "name": "Thea Pedersen",
877
+ "role": "Kundeansvarlig",
878
+ "start": "2026-08-17",
879
+ "owner": "Kristian Moen",
880
+ "progress": 100,
881
+ "status": "Fullført"
882
+ },
883
+ {
884
+ "id": "onb-5",
885
+ "name": "Silje Andersen",
886
+ "role": "Seniorutvikler",
887
+ "start": "2026-11-16",
888
+ "owner": "Jonas Eriksen",
889
+ "progress": 0,
890
+ "status": "Venter"
891
+ }
892
+ ]
893
+ },
894
+ {
895
+ "shape": "OnboardingColumns",
896
+ "rows": [
897
+ {
898
+ "field": "name",
899
+ "header": "Navn"
900
+ },
901
+ {
902
+ "field": "role",
903
+ "header": "Stilling"
904
+ },
905
+ {
906
+ "field": "start",
907
+ "header": "Startdato",
908
+ "kind": "date"
909
+ },
910
+ {
911
+ "field": "owner",
912
+ "header": "Ansvarlig"
913
+ },
914
+ {
915
+ "field": "progress",
916
+ "header": "Fremdrift",
917
+ "kind": "progress"
918
+ },
919
+ {
920
+ "field": "status",
921
+ "header": "Status",
922
+ "kind": "status",
923
+ "tones": {
924
+ "Venter": "neutral",
925
+ "Pågår": "info",
926
+ "Fullført": "success"
927
+ }
928
+ }
929
+ ]
930
+ },
931
+ {
932
+ "shape": "OnboardingFilterFields",
933
+ "rows": [
934
+ {
935
+ "name": "status",
936
+ "label": "Status",
937
+ "type": "select",
938
+ "options": [
939
+ "Venter",
940
+ "Pågår",
941
+ "Fullført"
942
+ ]
943
+ },
944
+ {
945
+ "name": "owner",
946
+ "label": "Ansvarlig",
947
+ "type": "select",
948
+ "options": [
949
+ "Marte Haugen",
950
+ "Lars Strand",
951
+ "Kristian Moen",
952
+ "Jonas Eriksen"
953
+ ]
954
+ },
955
+ {
956
+ "name": "start",
957
+ "label": "Startdato",
958
+ "type": "date"
959
+ }
960
+ ]
961
+ },
962
+ {
963
+ "shape": "OnboardingViews",
964
+ "rows": [
965
+ {
966
+ "id": "all",
967
+ "label": "Alle"
968
+ },
969
+ {
970
+ "id": "active",
971
+ "label": "Pågår"
972
+ }
973
+ ]
974
+ },
975
+ {
976
+ "shape": "OnboardingColumnChoices",
977
+ "rows": [
978
+ {
979
+ "id": "name",
980
+ "label": "Navn",
981
+ "locked": true
982
+ },
983
+ {
984
+ "id": "role",
985
+ "label": "Stilling"
986
+ },
987
+ {
988
+ "id": "start",
989
+ "label": "Startdato"
990
+ },
991
+ {
992
+ "id": "owner",
993
+ "label": "Ansvarlig"
994
+ },
995
+ {
996
+ "id": "progress",
997
+ "label": "Fremdrift"
998
+ },
999
+ {
1000
+ "id": "status",
1001
+ "label": "Status"
1002
+ }
1003
+ ]
1004
+ },
1005
+ {
1006
+ "shape": "OnboardingSelection",
1007
+ "rows": []
1008
+ },
1009
+ {
1010
+ "shape": "OrgNodes",
1011
+ "rows": [
1012
+ {
1013
+ "id": "emp-1",
1014
+ "label": "Ingrid Solberg",
1015
+ "title": "Administrerende direktør"
1016
+ },
1017
+ {
1018
+ "id": "emp-2",
1019
+ "label": "Magnus Dahl",
1020
+ "title": "Teknologidirektør",
1021
+ "parentId": "emp-1"
1022
+ },
1023
+ {
1024
+ "id": "emp-3",
1025
+ "label": "Sofie Berg",
1026
+ "title": "Økonomidirektør",
1027
+ "parentId": "emp-1"
1028
+ },
1029
+ {
1030
+ "id": "emp-4",
1031
+ "label": "Henrik Lund",
1032
+ "title": "Driftsdirektør",
1033
+ "parentId": "emp-1"
1034
+ },
1035
+ {
1036
+ "id": "emp-5",
1037
+ "label": "Marte Haugen",
1038
+ "title": "HR-sjef",
1039
+ "parentId": "emp-1"
1040
+ },
1041
+ {
1042
+ "id": "emp-6",
1043
+ "label": "Jonas Eriksen",
1044
+ "title": "Utviklingssjef",
1045
+ "parentId": "emp-2"
1046
+ },
1047
+ {
1048
+ "id": "emp-7",
1049
+ "label": "Silje Andersen",
1050
+ "title": "Seniorutvikler",
1051
+ "parentId": "emp-6"
1052
+ },
1053
+ {
1054
+ "id": "emp-8",
1055
+ "label": "Emil Johansen",
1056
+ "title": "Utvikler",
1057
+ "parentId": "emp-6"
1058
+ },
1059
+ {
1060
+ "id": "emp-9",
1061
+ "label": "Nora Karlsen",
1062
+ "title": "Utvikler",
1063
+ "parentId": "emp-6"
1064
+ },
1065
+ {
1066
+ "id": "emp-10",
1067
+ "label": "Kristian Moen",
1068
+ "title": "Salgssjef",
1069
+ "parentId": "emp-1"
1070
+ },
1071
+ {
1072
+ "id": "emp-11",
1073
+ "label": "Thea Pedersen",
1074
+ "title": "Kundeansvarlig",
1075
+ "parentId": "emp-10"
1076
+ },
1077
+ {
1078
+ "id": "emp-12",
1079
+ "label": "Oskar Nilsen",
1080
+ "title": "Kundeansvarlig",
1081
+ "parentId": "emp-10"
1082
+ },
1083
+ {
1084
+ "id": "emp-13",
1085
+ "label": "Maja Bakken",
1086
+ "title": "Regnskapsfører",
1087
+ "parentId": "emp-3"
1088
+ },
1089
+ {
1090
+ "id": "emp-14",
1091
+ "label": "Lars Strand",
1092
+ "title": "Driftsleder",
1093
+ "parentId": "emp-4"
1094
+ },
1095
+ {
1096
+ "id": "emp-15",
1097
+ "label": "Ida Hansen",
1098
+ "title": "Kundeservicemedarbeider",
1099
+ "parentId": "emp-14"
1100
+ },
1101
+ {
1102
+ "id": "emp-16",
1103
+ "label": "Henriette Vik",
1104
+ "title": "HR-rådgiver",
1105
+ "parentId": "emp-5"
1106
+ }
1107
+ ]
1108
+ },
1109
+ {
1110
+ "shape": "EmployeeSections",
1111
+ "rows": [
1112
+ {
1113
+ "id": "personal",
1114
+ "title": "Personlig informasjon",
1115
+ "columns": 2,
1116
+ "fields": [
1117
+ {
1118
+ "name": "name",
1119
+ "label": "Navn"
1120
+ },
1121
+ {
1122
+ "name": "email",
1123
+ "label": "E-post"
1124
+ },
1125
+ {
1126
+ "name": "phone",
1127
+ "label": "Telefon"
1128
+ },
1129
+ {
1130
+ "name": "address",
1131
+ "label": "Adresse"
1132
+ },
1133
+ {
1134
+ "name": "birthDate",
1135
+ "label": "Fødselsdato",
1136
+ "type": "date"
1137
+ },
1138
+ {
1139
+ "name": "emergency",
1140
+ "label": "Pårørende"
1141
+ }
1142
+ ]
1143
+ },
1144
+ {
1145
+ "id": "job",
1146
+ "title": "Stillingsinformasjon",
1147
+ "columns": 2,
1148
+ "fields": [
1149
+ {
1150
+ "name": "title",
1151
+ "label": "Stilling"
1152
+ },
1153
+ {
1154
+ "name": "department",
1155
+ "label": "Avdeling"
1156
+ },
1157
+ {
1158
+ "name": "manager",
1159
+ "label": "Leder"
1160
+ },
1161
+ {
1162
+ "name": "location",
1163
+ "label": "Sted"
1164
+ },
1165
+ {
1166
+ "name": "startDate",
1167
+ "label": "Startdato",
1168
+ "type": "date"
1169
+ },
1170
+ {
1171
+ "name": "employment",
1172
+ "label": "Ansettelsesform"
1173
+ }
1174
+ ]
1175
+ }
1176
+ ]
1177
+ },
1178
+ {
1179
+ "shape": "EmployeeQuickSections",
1180
+ "rows": [
1181
+ {
1182
+ "id": "quick",
1183
+ "title": "Ny ansatt",
1184
+ "columns": 1,
1185
+ "fields": [
1186
+ {
1187
+ "name": "name",
1188
+ "label": "Navn",
1189
+ "required": true
1190
+ },
1191
+ {
1192
+ "name": "title",
1193
+ "label": "Stilling",
1194
+ "required": true
1195
+ },
1196
+ {
1197
+ "name": "department",
1198
+ "label": "Avdeling",
1199
+ "type": "select",
1200
+ "options": [
1201
+ "Ledelse",
1202
+ "Utvikling",
1203
+ "Salg",
1204
+ "Økonomi",
1205
+ "Drift",
1206
+ "HR"
1207
+ ],
1208
+ "required": true
1209
+ },
1210
+ {
1211
+ "name": "email",
1212
+ "label": "E-post",
1213
+ "required": true
1214
+ },
1215
+ {
1216
+ "name": "startDate",
1217
+ "label": "Startdato",
1218
+ "type": "date"
1219
+ }
1220
+ ]
1221
+ }
1222
+ ]
1223
+ },
1224
+ {
1225
+ "shape": "TimeOffQuickSections",
1226
+ "rows": [
1227
+ {
1228
+ "id": "quick",
1229
+ "title": "Be om fri",
1230
+ "columns": 1,
1231
+ "fields": [
1232
+ {
1233
+ "name": "type",
1234
+ "label": "Type",
1235
+ "type": "select",
1236
+ "options": [
1237
+ "Ferie",
1238
+ "Sykefravær",
1239
+ "Permisjon",
1240
+ "Avspasering"
1241
+ ],
1242
+ "required": true
1243
+ },
1244
+ {
1245
+ "name": "from",
1246
+ "label": "Fra",
1247
+ "type": "date",
1248
+ "required": true
1249
+ },
1250
+ {
1251
+ "name": "to",
1252
+ "label": "Til",
1253
+ "type": "date",
1254
+ "required": true
1255
+ },
1256
+ {
1257
+ "name": "note",
1258
+ "label": "Merknad"
1259
+ }
1260
+ ]
1261
+ }
1262
+ ]
1263
+ },
1264
+ {
1265
+ "shape": "EmployeeRecord",
1266
+ "rows": [
1267
+ {
1268
+ "id": "emp-7",
1269
+ "name": "Silje Andersen",
1270
+ "title": "Seniorutvikler",
1271
+ "department": "Utvikling",
1272
+ "location": "Oslo",
1273
+ "email": "silje.andersen@eksempel.no",
1274
+ "phone": "+47 442 16 278",
1275
+ "status": "Aktiv",
1276
+ "manager": "Jonas Eriksen",
1277
+ "photo": "data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='180'%3E%3Crect width='320' height='180' fill='hsl%28256,45%25,82%25%29'/%3E%3Ctext x='160' y='108' font-size='72' text-anchor='middle' fill='hsl%28256,45%25,25%25%29' font-family='sans-serif'%3ESA%3C/text%3E%3C/svg%3E",
1278
+ "address": "Storgata 12, 0155 Oslo",
1279
+ "birthDate": "1991-04-12",
1280
+ "emergency": "Per Andersen, +47 912 34 567",
1281
+ "startDate": "2022-08-15",
1282
+ "employment": "Fast ansatt"
1283
+ }
1284
+ ]
1285
+ },
1286
+ {
1287
+ "shape": "EmployeeSummary",
1288
+ "rows": [
1289
+ {
1290
+ "status": "Aktiv",
1291
+ "tone": "success",
1292
+ "leaveLeft": 17,
1293
+ "leaveTaken": 8,
1294
+ "years": 4,
1295
+ "people": [
1296
+ {
1297
+ "name": "Jonas Eriksen"
1298
+ },
1299
+ {
1300
+ "name": "Emil Johansen"
1301
+ },
1302
+ {
1303
+ "name": "Nora Karlsen"
1304
+ }
1305
+ ]
1306
+ }
1307
+ ]
1308
+ },
1309
+ {
1310
+ "shape": "DocumentColumns",
1311
+ "rows": [
1312
+ {
1313
+ "field": "name",
1314
+ "header": "Dokument"
1315
+ },
1316
+ {
1317
+ "field": "type",
1318
+ "header": "Type"
1319
+ },
1320
+ {
1321
+ "field": "uploaded",
1322
+ "header": "Lastet opp",
1323
+ "kind": "date"
1324
+ },
1325
+ {
1326
+ "field": "status",
1327
+ "header": "Status",
1328
+ "kind": "status",
1329
+ "tones": {
1330
+ "Signert": "success",
1331
+ "Mangler": "warning",
1332
+ "Utløper snart": "danger"
1333
+ }
1334
+ }
1335
+ ]
1336
+ },
1337
+ {
1338
+ "shape": "EmployeeDocuments",
1339
+ "rows": [
1340
+ {
1341
+ "id": "doc-1",
1342
+ "name": "Arbeidsavtale",
1343
+ "type": "Kontrakt",
1344
+ "uploaded": "2022-08-01",
1345
+ "status": "Signert"
1346
+ },
1347
+ {
1348
+ "id": "doc-2",
1349
+ "name": "Skattekort",
1350
+ "type": "Skatt",
1351
+ "uploaded": "2026-01-10",
1352
+ "status": "Signert"
1353
+ },
1354
+ {
1355
+ "id": "doc-3",
1356
+ "name": "Helseattest",
1357
+ "type": "Attest",
1358
+ "uploaded": "2025-11-03",
1359
+ "status": "Utløper snart"
1360
+ },
1361
+ {
1362
+ "id": "doc-4",
1363
+ "name": "Taushetserklæring",
1364
+ "type": "Kontrakt",
1365
+ "uploaded": "2022-08-01",
1366
+ "status": "Signert"
1367
+ }
1368
+ ]
1369
+ },
1370
+ {
1371
+ "shape": "EmployeeTimeOff",
1372
+ "rows": [
1373
+ {
1374
+ "id": "req-1",
1375
+ "employee": "Silje Andersen",
1376
+ "type": "Ferie",
1377
+ "from": "2026-10-26",
1378
+ "to": "2026-10-30",
1379
+ "days": 5,
1380
+ "status": "Venter"
1381
+ },
1382
+ {
1383
+ "id": "req-9",
1384
+ "employee": "Jonas Eriksen",
1385
+ "type": "Avspasering",
1386
+ "from": "2026-10-23",
1387
+ "to": "2026-10-23",
1388
+ "days": 1,
1389
+ "status": "Venter"
1390
+ }
1391
+ ]
1392
+ },
1393
+ {
1394
+ "shape": "EmployeeActivity",
1395
+ "rows": [
1396
+ {
1397
+ "id": "a0",
1398
+ "actor": "Marte Haugen",
1399
+ "action": "oppdaterte stillingen",
1400
+ "kind": "change",
1401
+ "at": "2026-09-30T10:00:00Z",
1402
+ "body": "Fra Utvikler til Seniorutvikler."
1403
+ },
1404
+ {
1405
+ "id": "a1",
1406
+ "actor": "Jonas Eriksen",
1407
+ "action": "kommenterte",
1408
+ "kind": "comment",
1409
+ "at": "2026-09-15T13:20:00Z",
1410
+ "body": "Gjennomførte medarbeidersamtalen; fornøyd med utviklingen."
1411
+ },
1412
+ {
1413
+ "id": "a2",
1414
+ "actor": "Marte Haugen",
1415
+ "action": "godkjente ferie",
1416
+ "kind": "status",
1417
+ "at": "2026-08-02T08:05:00Z",
1418
+ "body": ""
1419
+ }
1420
+ ]
1421
+ },
1422
+ {
1423
+ "shape": "EmployeeTasks",
1424
+ "rows": [
1425
+ {
1426
+ "title": "Åpne oppgaver",
1427
+ "items": [
1428
+ {
1429
+ "id": "å0",
1430
+ "label": "Fornye helseattest",
1431
+ "owner": "Marte Haugen",
1432
+ "due": "2026-11-30",
1433
+ "done": false
1434
+ },
1435
+ {
1436
+ "id": "å1",
1437
+ "label": "Planlegge kompetanseutvikling",
1438
+ "owner": "Jonas Eriksen",
1439
+ "due": "2026-12-15",
1440
+ "done": false
1441
+ },
1442
+ {
1443
+ "id": "å2",
1444
+ "label": "Medarbeidersamtale",
1445
+ "owner": "Jonas Eriksen",
1446
+ "due": "2026-09-15",
1447
+ "done": true
1448
+ }
1449
+ ]
1450
+ }
1451
+ ]
1452
+ },
1453
+ {
1454
+ "shape": "HrRecordTabs",
1455
+ "rows": [
1456
+ {
1457
+ "id": "personal",
1458
+ "label": "Personlig"
1459
+ },
1460
+ {
1461
+ "id": "job",
1462
+ "label": "Stilling"
1463
+ },
1464
+ {
1465
+ "id": "documents",
1466
+ "label": "Dokumenter"
1467
+ },
1468
+ {
1469
+ "id": "timeoff",
1470
+ "label": "Fri"
1471
+ }
1472
+ ]
1473
+ },
1474
+ {
1475
+ "shape": "OnboardingRecord",
1476
+ "rows": [
1477
+ {
1478
+ "id": "onb-1",
1479
+ "name": "Emil Johansen",
1480
+ "role": "Utvikler",
1481
+ "startDate": "2026-10-01",
1482
+ "manager": "Jonas Eriksen",
1483
+ "buddy": "Silje Andersen",
1484
+ "equipment": "Bærbar PC, skjerm, headset",
1485
+ "location": "Bergen"
1486
+ }
1487
+ ]
1488
+ },
1489
+ {
1490
+ "shape": "OnboardingSections",
1491
+ "rows": [
1492
+ {
1493
+ "id": "facts",
1494
+ "title": "Nøkkelinformasjon",
1495
+ "columns": 1,
1496
+ "fields": [
1497
+ {
1498
+ "name": "role",
1499
+ "label": "Stilling"
1500
+ },
1501
+ {
1502
+ "name": "startDate",
1503
+ "label": "Startdato",
1504
+ "type": "date"
1505
+ },
1506
+ {
1507
+ "name": "manager",
1508
+ "label": "Leder"
1509
+ },
1510
+ {
1511
+ "name": "buddy",
1512
+ "label": "Fadder"
1513
+ },
1514
+ {
1515
+ "name": "equipment",
1516
+ "label": "Utstyr"
1517
+ },
1518
+ {
1519
+ "name": "location",
1520
+ "label": "Sted"
1521
+ }
1522
+ ]
1523
+ }
1524
+ ]
1525
+ },
1526
+ {
1527
+ "shape": "OnboardingSummary",
1528
+ "rows": [
1529
+ {
1530
+ "status": "Pågår",
1531
+ "tone": "info",
1532
+ "done": 7,
1533
+ "open": 5,
1534
+ "people": [
1535
+ {
1536
+ "name": "Marte Haugen"
1537
+ },
1538
+ {
1539
+ "name": "Jonas Eriksen"
1540
+ },
1541
+ {
1542
+ "name": "Silje Andersen"
1543
+ }
1544
+ ]
1545
+ }
1546
+ ]
1547
+ },
1548
+ {
1549
+ "shape": "OnboardingTasks",
1550
+ "rows": [
1551
+ {
1552
+ "title": "Før første dag",
1553
+ "items": [
1554
+ {
1555
+ "id": "f0",
1556
+ "label": "Send arbeidsavtale til signering",
1557
+ "owner": "Marte Haugen",
1558
+ "due": "2026-09-17",
1559
+ "done": true
1560
+ },
1561
+ {
1562
+ "id": "f1",
1563
+ "label": "Bestill bærbar PC og skjerm",
1564
+ "owner": "Lars Strand",
1565
+ "due": "2026-09-21",
1566
+ "done": true
1567
+ },
1568
+ {
1569
+ "id": "f2",
1570
+ "label": "Opprett konto og e-post",
1571
+ "owner": "Magnus Dahl",
1572
+ "due": "2026-09-28",
1573
+ "done": true
1574
+ }
1575
+ ]
1576
+ },
1577
+ {
1578
+ "title": "Første uke",
1579
+ "items": [
1580
+ {
1581
+ "id": "f0",
1582
+ "label": "Møte med leder",
1583
+ "owner": "Jonas Eriksen",
1584
+ "due": "2026-10-01",
1585
+ "done": true
1586
+ },
1587
+ {
1588
+ "id": "f1",
1589
+ "label": "Gjennomgang av sikkerhet og rutiner",
1590
+ "owner": "Marte Haugen",
1591
+ "due": "2026-10-02",
1592
+ "done": true
1593
+ },
1594
+ {
1595
+ "id": "f2",
1596
+ "label": "Introduksjon til teamet",
1597
+ "owner": "Silje Andersen",
1598
+ "due": "2026-10-02",
1599
+ "done": true
1600
+ },
1601
+ {
1602
+ "id": "f3",
1603
+ "label": "Sette opp utviklingsmiljø",
1604
+ "owner": "Silje Andersen",
1605
+ "due": "2026-10-06",
1606
+ "done": false
1607
+ }
1608
+ ]
1609
+ },
1610
+ {
1611
+ "title": "Første måned",
1612
+ "items": [
1613
+ {
1614
+ "id": "f0",
1615
+ "label": "Første oppgave levert",
1616
+ "owner": "Jonas Eriksen",
1617
+ "due": "2026-10-23",
1618
+ "done": false
1619
+ },
1620
+ {
1621
+ "id": "f1",
1622
+ "label": "Samtale etter 30 dager",
1623
+ "owner": "Marte Haugen",
1624
+ "due": "2026-10-31",
1625
+ "done": false
1626
+ }
1627
+ ]
1628
+ }
1629
+ ]
1630
+ },
1631
+ {
1632
+ "shape": "OnboardingActivity",
1633
+ "rows": [
1634
+ {
1635
+ "id": "a0",
1636
+ "actor": "Marte Haugen",
1637
+ "action": "sendte velkomstpakke",
1638
+ "kind": "status",
1639
+ "at": "2026-09-28T09:00:00Z",
1640
+ "body": ""
1641
+ },
1642
+ {
1643
+ "id": "a1",
1644
+ "actor": "Silje Andersen",
1645
+ "action": "kommenterte",
1646
+ "kind": "comment",
1647
+ "at": "2026-10-02T14:10:00Z",
1648
+ "body": "Utviklingsmiljøet blir klart i morgen."
1649
+ }
1650
+ ]
1651
+ },
1652
+ {
1653
+ "shape": "HrFormErrors",
1654
+ "rows": [
1655
+ {}
1656
+ ]
1657
+ }
1658
+ ]
1659
+ }