@cyrilld/zestds 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +578 -0
- package/dist/averta-400-NOFU4ZZK.woff2 +0 -0
- package/dist/averta-400-italic-7TISTF4B.woff2 +0 -0
- package/dist/averta-600-F44H77Y5.woff2 +0 -0
- package/dist/averta-600-italic-Z7LE3NC2.woff2 +0 -0
- package/dist/averta-700-ZQDULGB7.woff2 +0 -0
- package/dist/averta-700-italic-K56E7TXK.woff2 +0 -0
- package/dist/cursors.cjs +410 -0
- package/dist/cursors.cjs.map +1 -0
- package/dist/cursors.d.cts +138 -0
- package/dist/cursors.d.ts +138 -0
- package/dist/cursors.js +381 -0
- package/dist/cursors.js.map +1 -0
- package/dist/flags.cjs +305 -0
- package/dist/flags.cjs.map +1 -0
- package/dist/flags.d.cts +151 -0
- package/dist/flags.d.ts +151 -0
- package/dist/flags.js +275 -0
- package/dist/flags.js.map +1 -0
- package/dist/index.cjs +1015 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.css +693 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.cts +920 -0
- package/dist/index.d.ts +920 -0
- package/dist/index.js +827 -0
- package/dist/index.js.map +1 -0
- package/package.json +83 -0
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,920 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { SVGProps } from 'react';
|
|
3
|
+
|
|
4
|
+
declare const Home01: {
|
|
5
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
6
|
+
displayName: string;
|
|
7
|
+
};
|
|
8
|
+
declare const Home02: {
|
|
9
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
10
|
+
displayName: string;
|
|
11
|
+
};
|
|
12
|
+
declare const Menu01: {
|
|
13
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
14
|
+
displayName: string;
|
|
15
|
+
};
|
|
16
|
+
declare const Search01: {
|
|
17
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
18
|
+
displayName: string;
|
|
19
|
+
};
|
|
20
|
+
declare const Edit01: {
|
|
21
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
22
|
+
displayName: string;
|
|
23
|
+
};
|
|
24
|
+
declare const Edit02: {
|
|
25
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
26
|
+
displayName: string;
|
|
27
|
+
};
|
|
28
|
+
declare const Heart01: {
|
|
29
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
30
|
+
displayName: string;
|
|
31
|
+
};
|
|
32
|
+
declare const Heart02: {
|
|
33
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
34
|
+
displayName: string;
|
|
35
|
+
};
|
|
36
|
+
declare const Bookmark01: {
|
|
37
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
38
|
+
displayName: string;
|
|
39
|
+
};
|
|
40
|
+
declare const Share01: {
|
|
41
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
42
|
+
displayName: string;
|
|
43
|
+
};
|
|
44
|
+
declare const Download01: {
|
|
45
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
46
|
+
displayName: string;
|
|
47
|
+
};
|
|
48
|
+
declare const Settings01: {
|
|
49
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
50
|
+
displayName: string;
|
|
51
|
+
};
|
|
52
|
+
declare const Upload01: {
|
|
53
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
54
|
+
displayName: string;
|
|
55
|
+
};
|
|
56
|
+
declare const XClose: {
|
|
57
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
58
|
+
displayName: string;
|
|
59
|
+
};
|
|
60
|
+
declare const FilterFunnel01: {
|
|
61
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
62
|
+
displayName: string;
|
|
63
|
+
};
|
|
64
|
+
declare const FilterFunnel02: {
|
|
65
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
66
|
+
displayName: string;
|
|
67
|
+
};
|
|
68
|
+
declare const Link01: {
|
|
69
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
70
|
+
displayName: string;
|
|
71
|
+
};
|
|
72
|
+
declare const LinkBroken01: {
|
|
73
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
74
|
+
displayName: string;
|
|
75
|
+
};
|
|
76
|
+
declare const LogOut01: {
|
|
77
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
78
|
+
displayName: string;
|
|
79
|
+
};
|
|
80
|
+
declare const HelpCircle01: {
|
|
81
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
82
|
+
displayName: string;
|
|
83
|
+
};
|
|
84
|
+
declare const HelpCircle02: {
|
|
85
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
86
|
+
displayName: string;
|
|
87
|
+
};
|
|
88
|
+
declare const Trash01: {
|
|
89
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
90
|
+
displayName: string;
|
|
91
|
+
};
|
|
92
|
+
declare const Trash02: {
|
|
93
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
94
|
+
displayName: string;
|
|
95
|
+
};
|
|
96
|
+
declare const CheckCircle01: {
|
|
97
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
98
|
+
displayName: string;
|
|
99
|
+
};
|
|
100
|
+
declare const CheckCircle02: {
|
|
101
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
102
|
+
displayName: string;
|
|
103
|
+
};
|
|
104
|
+
declare const XCircle: {
|
|
105
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
106
|
+
displayName: string;
|
|
107
|
+
};
|
|
108
|
+
declare const SmartOrg: {
|
|
109
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
110
|
+
displayName: string;
|
|
111
|
+
};
|
|
112
|
+
declare const PlusCircle01: {
|
|
113
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
114
|
+
displayName: string;
|
|
115
|
+
};
|
|
116
|
+
declare const PlusCircle02: {
|
|
117
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
118
|
+
displayName: string;
|
|
119
|
+
};
|
|
120
|
+
declare const Eye01: {
|
|
121
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
122
|
+
displayName: string;
|
|
123
|
+
};
|
|
124
|
+
declare const Eye02: {
|
|
125
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
126
|
+
displayName: string;
|
|
127
|
+
};
|
|
128
|
+
declare const SlashCircle01: {
|
|
129
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
130
|
+
displayName: string;
|
|
131
|
+
};
|
|
132
|
+
declare const DotsVertical: {
|
|
133
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
134
|
+
displayName: string;
|
|
135
|
+
};
|
|
136
|
+
declare const Check: {
|
|
137
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
138
|
+
displayName: string;
|
|
139
|
+
};
|
|
140
|
+
declare const Minus: {
|
|
141
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
142
|
+
displayName: string;
|
|
143
|
+
};
|
|
144
|
+
declare const Calendar: {
|
|
145
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
146
|
+
displayName: string;
|
|
147
|
+
};
|
|
148
|
+
declare const Plus: {
|
|
149
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
150
|
+
displayName: string;
|
|
151
|
+
};
|
|
152
|
+
declare const Clock: {
|
|
153
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
154
|
+
displayName: string;
|
|
155
|
+
};
|
|
156
|
+
declare const Share02: {
|
|
157
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
158
|
+
displayName: string;
|
|
159
|
+
};
|
|
160
|
+
declare const Share03: {
|
|
161
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
162
|
+
displayName: string;
|
|
163
|
+
};
|
|
164
|
+
declare const Tick: {
|
|
165
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
166
|
+
displayName: string;
|
|
167
|
+
};
|
|
168
|
+
declare const SlashDivider: {
|
|
169
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
170
|
+
displayName: string;
|
|
171
|
+
};
|
|
172
|
+
declare const Tool01: {
|
|
173
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
174
|
+
displayName: string;
|
|
175
|
+
};
|
|
176
|
+
declare const Mail01: {
|
|
177
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
178
|
+
displayName: string;
|
|
179
|
+
};
|
|
180
|
+
declare const Bell01: {
|
|
181
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
182
|
+
displayName: string;
|
|
183
|
+
};
|
|
184
|
+
declare const BellOff01: {
|
|
185
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
186
|
+
displayName: string;
|
|
187
|
+
};
|
|
188
|
+
declare const User01: {
|
|
189
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
190
|
+
displayName: string;
|
|
191
|
+
};
|
|
192
|
+
declare const Users01: {
|
|
193
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
194
|
+
displayName: string;
|
|
195
|
+
};
|
|
196
|
+
declare const EyeOff: {
|
|
197
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
198
|
+
displayName: string;
|
|
199
|
+
};
|
|
200
|
+
declare const RefreshCw01: {
|
|
201
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
202
|
+
displayName: string;
|
|
203
|
+
};
|
|
204
|
+
declare const Building07: {
|
|
205
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
206
|
+
displayName: string;
|
|
207
|
+
};
|
|
208
|
+
declare const ThumbsDown: {
|
|
209
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
210
|
+
displayName: string;
|
|
211
|
+
};
|
|
212
|
+
declare const ThumbsUp: {
|
|
213
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
214
|
+
displayName: string;
|
|
215
|
+
};
|
|
216
|
+
declare const Star01: {
|
|
217
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
218
|
+
displayName: string;
|
|
219
|
+
};
|
|
220
|
+
declare const Target05: {
|
|
221
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
222
|
+
displayName: string;
|
|
223
|
+
};
|
|
224
|
+
declare const MessageBubble01: {
|
|
225
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
226
|
+
displayName: string;
|
|
227
|
+
};
|
|
228
|
+
declare const MessageBubble02: {
|
|
229
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
230
|
+
displayName: string;
|
|
231
|
+
};
|
|
232
|
+
declare const Settings02: {
|
|
233
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
234
|
+
displayName: string;
|
|
235
|
+
};
|
|
236
|
+
declare const CheckDone01: {
|
|
237
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
238
|
+
displayName: string;
|
|
239
|
+
};
|
|
240
|
+
declare const Flag01: {
|
|
241
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
242
|
+
displayName: string;
|
|
243
|
+
};
|
|
244
|
+
declare const ChevronDownDouble: {
|
|
245
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
246
|
+
displayName: string;
|
|
247
|
+
};
|
|
248
|
+
declare const ChevronLeftDouble: {
|
|
249
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
250
|
+
displayName: string;
|
|
251
|
+
};
|
|
252
|
+
declare const ChevronRightDouble: {
|
|
253
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
254
|
+
displayName: string;
|
|
255
|
+
};
|
|
256
|
+
declare const ChevronUpDouble: {
|
|
257
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
258
|
+
displayName: string;
|
|
259
|
+
};
|
|
260
|
+
declare const CalendarPlus01: {
|
|
261
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
262
|
+
displayName: string;
|
|
263
|
+
};
|
|
264
|
+
declare const FeatureActionPlan: {
|
|
265
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
266
|
+
displayName: string;
|
|
267
|
+
};
|
|
268
|
+
declare const FeatureAlignmentMap: {
|
|
269
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
270
|
+
displayName: string;
|
|
271
|
+
};
|
|
272
|
+
declare const FeatureCheckin: {
|
|
273
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
274
|
+
displayName: string;
|
|
275
|
+
};
|
|
276
|
+
declare const FeatureCockpit: {
|
|
277
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
278
|
+
displayName: string;
|
|
279
|
+
};
|
|
280
|
+
declare const FeatureEngageo: {
|
|
281
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
282
|
+
displayName: string;
|
|
283
|
+
};
|
|
284
|
+
declare const FeatureFeedback: {
|
|
285
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
286
|
+
displayName: string;
|
|
287
|
+
};
|
|
288
|
+
declare const FeatureIdea: {
|
|
289
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
290
|
+
displayName: string;
|
|
291
|
+
};
|
|
292
|
+
declare const FeatureIntercom01: {
|
|
293
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
294
|
+
displayName: string;
|
|
295
|
+
};
|
|
296
|
+
declare const FeatureIntercom02: {
|
|
297
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
298
|
+
displayName: string;
|
|
299
|
+
};
|
|
300
|
+
declare const FeatureKeydriver: {
|
|
301
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
302
|
+
displayName: string;
|
|
303
|
+
};
|
|
304
|
+
declare const FeatureMood01: {
|
|
305
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
306
|
+
displayName: string;
|
|
307
|
+
};
|
|
308
|
+
declare const FeatureMood02: {
|
|
309
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
310
|
+
displayName: string;
|
|
311
|
+
};
|
|
312
|
+
declare const FeatureObjective: {
|
|
313
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
314
|
+
displayName: string;
|
|
315
|
+
};
|
|
316
|
+
declare const FeatureProject: {
|
|
317
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
318
|
+
displayName: string;
|
|
319
|
+
};
|
|
320
|
+
declare const FeatureResume: {
|
|
321
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
322
|
+
displayName: string;
|
|
323
|
+
};
|
|
324
|
+
declare const FeatureSkill: {
|
|
325
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
326
|
+
displayName: string;
|
|
327
|
+
};
|
|
328
|
+
declare const FeatureSurvey01: {
|
|
329
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
330
|
+
displayName: string;
|
|
331
|
+
};
|
|
332
|
+
declare const FeatureSurvey02: {
|
|
333
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
334
|
+
displayName: string;
|
|
335
|
+
};
|
|
336
|
+
declare const Mail02: {
|
|
337
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
338
|
+
displayName: string;
|
|
339
|
+
};
|
|
340
|
+
declare const ModuleLead: {
|
|
341
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
342
|
+
displayName: string;
|
|
343
|
+
};
|
|
344
|
+
declare const ModuleListen: {
|
|
345
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
346
|
+
displayName: string;
|
|
347
|
+
};
|
|
348
|
+
declare const ModulePerform: {
|
|
349
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
350
|
+
displayName: string;
|
|
351
|
+
};
|
|
352
|
+
declare const ModuleShare: {
|
|
353
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
354
|
+
displayName: string;
|
|
355
|
+
};
|
|
356
|
+
declare const InfoCircle01: {
|
|
357
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
358
|
+
displayName: string;
|
|
359
|
+
};
|
|
360
|
+
declare const InfoCircle02: {
|
|
361
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
362
|
+
displayName: string;
|
|
363
|
+
};
|
|
364
|
+
declare const AlertCircle01: {
|
|
365
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
366
|
+
displayName: string;
|
|
367
|
+
};
|
|
368
|
+
declare const AlertCircle02: {
|
|
369
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
370
|
+
displayName: string;
|
|
371
|
+
};
|
|
372
|
+
declare const AlertTriangle01: {
|
|
373
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
374
|
+
displayName: string;
|
|
375
|
+
};
|
|
376
|
+
declare const AlertTriangle02: {
|
|
377
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
378
|
+
displayName: string;
|
|
379
|
+
};
|
|
380
|
+
declare const MinusCircle: {
|
|
381
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
382
|
+
displayName: string;
|
|
383
|
+
};
|
|
384
|
+
declare const LockUnlocked02: {
|
|
385
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
386
|
+
displayName: string;
|
|
387
|
+
};
|
|
388
|
+
declare const Lock02: {
|
|
389
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
390
|
+
displayName: string;
|
|
391
|
+
};
|
|
392
|
+
declare const Lock01: {
|
|
393
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
394
|
+
displayName: string;
|
|
395
|
+
};
|
|
396
|
+
declare const LockUnlocked01: {
|
|
397
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
398
|
+
displayName: string;
|
|
399
|
+
};
|
|
400
|
+
declare const MessageChatSquare: {
|
|
401
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
402
|
+
displayName: string;
|
|
403
|
+
};
|
|
404
|
+
declare const Send01: {
|
|
405
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
406
|
+
displayName: string;
|
|
407
|
+
};
|
|
408
|
+
declare const Inbox01: {
|
|
409
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
410
|
+
displayName: string;
|
|
411
|
+
};
|
|
412
|
+
declare const Circle: {
|
|
413
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
414
|
+
displayName: string;
|
|
415
|
+
};
|
|
416
|
+
declare const BarChartSquare02: {
|
|
417
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
418
|
+
displayName: string;
|
|
419
|
+
};
|
|
420
|
+
declare const ArrowDown: {
|
|
421
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
422
|
+
displayName: string;
|
|
423
|
+
};
|
|
424
|
+
declare const ArrowDownLeft: {
|
|
425
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
426
|
+
displayName: string;
|
|
427
|
+
};
|
|
428
|
+
declare const ArrowDownRight: {
|
|
429
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
430
|
+
displayName: string;
|
|
431
|
+
};
|
|
432
|
+
declare const ArrowLeft: {
|
|
433
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
434
|
+
displayName: string;
|
|
435
|
+
};
|
|
436
|
+
declare const ArrowNarrowDown: {
|
|
437
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
438
|
+
displayName: string;
|
|
439
|
+
};
|
|
440
|
+
declare const ArrowNarrowDownLeft: {
|
|
441
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
442
|
+
displayName: string;
|
|
443
|
+
};
|
|
444
|
+
declare const ArrowNarrowDownRight: {
|
|
445
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
446
|
+
displayName: string;
|
|
447
|
+
};
|
|
448
|
+
declare const ArrowNarrowLeft: {
|
|
449
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
450
|
+
displayName: string;
|
|
451
|
+
};
|
|
452
|
+
declare const ArrowNarrowRight: {
|
|
453
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
454
|
+
displayName: string;
|
|
455
|
+
};
|
|
456
|
+
declare const ArrowNarrowUp: {
|
|
457
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
458
|
+
displayName: string;
|
|
459
|
+
};
|
|
460
|
+
declare const ArrowNarrowUpLeft: {
|
|
461
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
462
|
+
displayName: string;
|
|
463
|
+
};
|
|
464
|
+
declare const ArrowNarrowUpRight: {
|
|
465
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
466
|
+
displayName: string;
|
|
467
|
+
};
|
|
468
|
+
declare const ArrowRight: {
|
|
469
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
470
|
+
displayName: string;
|
|
471
|
+
};
|
|
472
|
+
declare const ChevronDown: {
|
|
473
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
474
|
+
displayName: string;
|
|
475
|
+
};
|
|
476
|
+
declare const ChevronLeft: {
|
|
477
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
478
|
+
displayName: string;
|
|
479
|
+
};
|
|
480
|
+
declare const ChevronRight: {
|
|
481
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
482
|
+
displayName: string;
|
|
483
|
+
};
|
|
484
|
+
declare const ChevronUp: {
|
|
485
|
+
(props: SVGProps<SVGSVGElement>): react.JSX.Element;
|
|
486
|
+
displayName: string;
|
|
487
|
+
};
|
|
488
|
+
|
|
489
|
+
/**
|
|
490
|
+
* Le catalogue des icônes de type de fichier — LA source unique.
|
|
491
|
+
*
|
|
492
|
+
* ⚠️ GÉNÉRÉ depuis le Figma de Zest, cadre « File type icon » (`3847:2911`).
|
|
493
|
+
* Ne pas corriger à la main : corriger le Figma, puis régénérer. Une retouche
|
|
494
|
+
* locale serait écrasée sans laisser de trace.
|
|
495
|
+
*
|
|
496
|
+
* Vingt-sept types, chacun en trois habillages : 81 dessins.
|
|
497
|
+
*
|
|
498
|
+
* ------------------------------------------------------------------------
|
|
499
|
+
* LES COULEURS SONT PORTÉES SUR LES JETONS
|
|
500
|
+
* ------------------------------------------------------------------------
|
|
501
|
+
* Le cadre Figma est encore lié à une collection de variables étrangère au
|
|
502
|
+
* thème. Les dessins ne sont donc pas recopiés avec leurs teintes : chaque
|
|
503
|
+
* couleur est remplacée par le jeton qui convient, l'écart mesuré en Lab.
|
|
504
|
+
*
|
|
505
|
+
* violet → brand-600 la famille Image
|
|
506
|
+
* bleu → utility-horizon-600 document et vidéo
|
|
507
|
+
* vert → success-600 le tableur
|
|
508
|
+
* rouge → error-600 le PDF
|
|
509
|
+
* orange → warning-600 la présentation
|
|
510
|
+
* rose → utility-rose-600 l'audio
|
|
511
|
+
* neutres → gray-600, gray-700, gray-300, gray-200, gray-100, white
|
|
512
|
+
*
|
|
513
|
+
* ⚠️ DEUX FAMILLES, DEUX BLEUS, ET C'EST VOULU. Image porte le bleu de marque,
|
|
514
|
+
* Document l'ardoise. Les rapprocher les rendrait indiscernables — or c'est
|
|
515
|
+
* cette distinction qui fait qu'on reconnaît un PNG d'un DOCX sans lire.
|
|
516
|
+
*
|
|
517
|
+
* ⚠️ LE PLUS PROCHE N'EST PAS LE BON. Mesuré, le jeton le plus proche de
|
|
518
|
+
* l'orange de la présentation est le rouge du PDF. Le prendre aurait rendu PPT
|
|
519
|
+
* et PDF identiques : la distance qui compte est celle ENTRE les icônes, pas
|
|
520
|
+
* celle à la teinte d'origine.
|
|
521
|
+
*
|
|
522
|
+
* ⚠️ LE DESIGN SYSTEM N'A NI ORANGE, NI VERT, NI ROUGE UTILITAIRES. Une couleur
|
|
523
|
+
* de type de fichier CATÉGORISE, donc elle devrait venir de cette couche ;
|
|
524
|
+
* faute de teinte, le tableur, la présentation et le PDF empruntent les rampes
|
|
525
|
+
* sémantiques. Assumé.
|
|
526
|
+
*
|
|
527
|
+
* ------------------------------------------------------------------------
|
|
528
|
+
* LA FORME : DU MARKUP COMPOSÉ
|
|
529
|
+
* ------------------------------------------------------------------------
|
|
530
|
+
* Le Figma compose chaque icône : une feuille, puis un glyphe ou une pastille
|
|
531
|
+
* portant l'extension. Tout est recomposé dans UN `<svg>` de 40×40 — la
|
|
532
|
+
* pastille devient un `<rect>` arrondi, l'extension un `<text>`.
|
|
533
|
+
*
|
|
534
|
+
* ⚠️ LA COULEUR DE L'ÉTIQUETTE SE LIT, ELLE NE SE SUPPOSE PAS. Elle a été codée
|
|
535
|
+
* en dur à blanc pour les 81 : les 18 de la variante Gray sont sorties blanches
|
|
536
|
+
* sur une feuille claire, donc invisibles. Le Figma les déclare toutes — blanc
|
|
537
|
+
* en Default et Solid, gris foncé en Gray. `yarn verify:labels` mesure
|
|
538
|
+
* désormais le contraste de chacune.
|
|
539
|
+
*
|
|
540
|
+
* ⚠️ L'EXTENSION EST DU TEXTE, PAS UN TRACÉ. Elle rend dans la police du design
|
|
541
|
+
* system ; un SVG copié hors du produit demandera Averta pour s'afficher juste.
|
|
542
|
+
*
|
|
543
|
+
* ⚠️ LA BOÎTE EST DE 40, PAS DE 24. Les icônes du design system sont tracées à
|
|
544
|
+
* 24 ; celles-ci ont un rapport de feuille et bien plus de détail. Les mélanger
|
|
545
|
+
* à la même taille dans une même ligne se voit.
|
|
546
|
+
*
|
|
547
|
+
* Conséquence à connaître : une icône de fichier ne suit PAS la couleur du
|
|
548
|
+
* texte, contrairement aux 121 autres. C'est inhérent — un PDF rouge et un
|
|
549
|
+
* tableur vert sont une convention de reconnaissance, pas un choix de marque.
|
|
550
|
+
*/
|
|
551
|
+
type FileIconFamille = "simple" | "image" | "document";
|
|
552
|
+
/** Les trois habillages du Figma. */
|
|
553
|
+
type FileIconVariante = "default" | "gray" | "solid";
|
|
554
|
+
interface ZestFileIcon {
|
|
555
|
+
/** La clé. Ex. `pdf`, `pdf-simple`, `video-01`. */
|
|
556
|
+
name: string;
|
|
557
|
+
/** La planche du Figma dont le type vient. */
|
|
558
|
+
famille: FileIconFamille;
|
|
559
|
+
/** Le libellé, tel que le Figma l'écrit. Ex. `WebP`, `Video 01`. */
|
|
560
|
+
libelle: string;
|
|
561
|
+
/** Le contenu du `<svg>`, boîte de 40, une entrée par habillage. */
|
|
562
|
+
svg: Record<FileIconVariante, string>;
|
|
563
|
+
}
|
|
564
|
+
declare const ZEST_FILE_ICONS: ZestFileIcon[];
|
|
565
|
+
/** Retrouve une icône de fichier par son nom. */
|
|
566
|
+
declare const findFileIcon: (name: string) => ZestFileIcon | undefined;
|
|
567
|
+
|
|
568
|
+
/**
|
|
569
|
+
* Les icônes de type de fichier, en composants.
|
|
570
|
+
*
|
|
571
|
+
* ⚠️ ÉCRIT À LA MAIN, contrairement à `icons/index.tsx`. Là-bas, 121 icônes
|
|
572
|
+
* monochromes justifiaient un composant par dessin ; ici les dessins sont
|
|
573
|
+
* polychromes et se choisissent le plus souvent À L'EXÉCUTION, depuis
|
|
574
|
+
* l'extension d'un fichier téléversé. Un composant par type obligerait à écrire
|
|
575
|
+
* un `switch` de vingt-sept branches dans chaque écran ; `<FileIcon name=…>` le
|
|
576
|
+
* fait une fois.
|
|
577
|
+
*
|
|
578
|
+
* Les vingt-sept exports nommés existent quand même, pour le cas inverse : un
|
|
579
|
+
* écran qui sait qu'il montre un PDF écrit `<FilePdf />` et ne paie pas la
|
|
580
|
+
* recherche.
|
|
581
|
+
*/
|
|
582
|
+
interface FileIconProps extends Omit<SVGProps<SVGSVGElement>, "name"> {
|
|
583
|
+
/** Le nom du type, tel que le catalogue le range. Ex. `pdf`, `xlsx`, `pdf-simple`. */
|
|
584
|
+
name: string;
|
|
585
|
+
/** L'habillage. `default` par défaut — celui des maquettes. */
|
|
586
|
+
variant?: FileIconVariante;
|
|
587
|
+
/** Le côté du carré, en pixels. 40 est la taille de dessin. */
|
|
588
|
+
size?: number;
|
|
589
|
+
}
|
|
590
|
+
/**
|
|
591
|
+
* Une icône de type de fichier.
|
|
592
|
+
*
|
|
593
|
+
* ⚠️ ELLE NE DIT PAS SON NOM AUX LECTEURS D'ÉCRAN, et c'est délibéré :
|
|
594
|
+
* `aria-hidden`. Une icône de fichier accompagne TOUJOURS un nom de fichier
|
|
595
|
+
* écrit à côté — « rapport-q3.pdf » — et l'annoncer ferait entendre « PDF »
|
|
596
|
+
* deux fois. L'écran qui la poserait seule doit porter le libellé lui-même.
|
|
597
|
+
*
|
|
598
|
+
* ⚠️ ET ELLE NE SUIT PAS LA COULEUR DU TEXTE, contrairement aux 121 icônes du
|
|
599
|
+
* design system. Ses teintes sont dans le dessin, citées en jetons : un PDF est
|
|
600
|
+
* rouge et un tableur vert parce que c'est une convention de reconnaissance.
|
|
601
|
+
*/
|
|
602
|
+
declare const FileIcon: {
|
|
603
|
+
({ name, variant, size, ...props }: FileIconProps): react.JSX.Element | null;
|
|
604
|
+
displayName: string;
|
|
605
|
+
};
|
|
606
|
+
type FileIconRaccourci = (props: Omit<FileIconProps, "name">) => ReturnType<typeof FileIcon>;
|
|
607
|
+
declare const FileEmpty: FileIconRaccourci;
|
|
608
|
+
declare const FileFolder: FileIconRaccourci;
|
|
609
|
+
declare const FileImage: FileIconRaccourci;
|
|
610
|
+
declare const FileVideo01: FileIconRaccourci;
|
|
611
|
+
declare const FileVideo02: FileIconRaccourci;
|
|
612
|
+
declare const FileAudio: FileIconRaccourci;
|
|
613
|
+
declare const FilePdfSimple: FileIconRaccourci;
|
|
614
|
+
declare const FileDocument: FileIconRaccourci;
|
|
615
|
+
declare const FileSpreadsheet: FileIconRaccourci;
|
|
616
|
+
declare const FileImg: FileIconRaccourci;
|
|
617
|
+
declare const FileJpg: FileIconRaccourci;
|
|
618
|
+
declare const FileJpeg: FileIconRaccourci;
|
|
619
|
+
declare const FilePng: FileIconRaccourci;
|
|
620
|
+
declare const FileWebp: FileIconRaccourci;
|
|
621
|
+
declare const FileTiff: FileIconRaccourci;
|
|
622
|
+
declare const FileGif: FileIconRaccourci;
|
|
623
|
+
declare const FileSvg: FileIconRaccourci;
|
|
624
|
+
declare const FileEps: FileIconRaccourci;
|
|
625
|
+
declare const FilePdf: FileIconRaccourci;
|
|
626
|
+
declare const FileDoc: FileIconRaccourci;
|
|
627
|
+
declare const FileDocx: FileIconRaccourci;
|
|
628
|
+
declare const FileTxt: FileIconRaccourci;
|
|
629
|
+
declare const FileCsv: FileIconRaccourci;
|
|
630
|
+
declare const FileXls: FileIconRaccourci;
|
|
631
|
+
declare const FileXlsx: FileIconRaccourci;
|
|
632
|
+
declare const FilePpt: FileIconRaccourci;
|
|
633
|
+
declare const FilePptx: FileIconRaccourci;
|
|
634
|
+
|
|
635
|
+
/**
|
|
636
|
+
* Le logo de Zest — LA source unique.
|
|
637
|
+
*
|
|
638
|
+
* ⚠️ GÉNÉRÉ depuis le Figma de Zest : le logotype (`248:1409`) et le logo de
|
|
639
|
+
* Zest AI (`3218:143`). Ne pas corriger à la main.
|
|
640
|
+
*
|
|
641
|
+
* ------------------------------------------------------------------------
|
|
642
|
+
* LES COULEURS NE SONT PAS PORTÉES SUR LES JETONS, ET C'EST LE POINT
|
|
643
|
+
* ------------------------------------------------------------------------
|
|
644
|
+
* Elles y correspondent pourtant, et exactement. Mesuré en Lab :
|
|
645
|
+
*
|
|
646
|
+
* #00D85D le vert de l'isotype = --zds-color-mark ΔE 0,0
|
|
647
|
+
* #21304E le navy du mot-symbole = --zds-color-navy-100 ΔE 0,0
|
|
648
|
+
* #39D7E4 la fin du dégradé IA ≈ utility-turquoise-500 ΔE 1,8
|
|
649
|
+
*
|
|
650
|
+
* Les écrire en `var(--zds-…)` serait pourtant une faute. Un jeton peut être
|
|
651
|
+
* redéfini — c'est même sa raison d'être : un thème, une marque blanche, un
|
|
652
|
+
* mode sombre le changent. Un logo qui suit le thème n'est plus un logo, c'est
|
|
653
|
+
* une décoration. Les valeurs sont donc EN DUR, et elles doivent le rester.
|
|
654
|
+
*
|
|
655
|
+
* La correspondance reste un fait utile : elle dit que la palette a bien été
|
|
656
|
+
* dérivée de la marque. Le turquoise du dégradé IA est le seul qui n'ait pas
|
|
657
|
+
* de jeton exact — à relever, c'est peut-être un écart involontaire.
|
|
658
|
+
*
|
|
659
|
+
* ------------------------------------------------------------------------
|
|
660
|
+
* DEUX VARIANTES, ET ELLES NE SONT PAS INTERCHANGEABLES
|
|
661
|
+
* ------------------------------------------------------------------------
|
|
662
|
+
* ⚠️ LA VARIANTE SOMBRE A SA VAGUE TRANSPARENTE. Le carré est peint en blanc
|
|
663
|
+
* et le glyphe est DÉCOUPÉ dedans : c'est le fond de la page qui le dessine.
|
|
664
|
+
* Sur un fond clair, elle disparaît — carré blanc sur blanc, vague invisible.
|
|
665
|
+
*
|
|
666
|
+
* La variante claire, elle, est autonome : un fond blanc plein, puis le vert
|
|
667
|
+
* par-dessus. Elle tient sur n'importe quelle couleur.
|
|
668
|
+
*
|
|
669
|
+
* En clair : `sombre` veut dire « pour poser sur du sombre », pas « la version
|
|
670
|
+
* sombre du logo ». Les deux ne se substituent pas l'une à l'autre.
|
|
671
|
+
*
|
|
672
|
+
* ------------------------------------------------------------------------
|
|
673
|
+
* LES BOÎTES
|
|
674
|
+
* ------------------------------------------------------------------------
|
|
675
|
+
* isotype seul 64 × 64
|
|
676
|
+
* mot-symbole 181.85 × 64
|
|
677
|
+
* verrou 269.85 × 64 isotype + 24 d'écart + mot-symbole
|
|
678
|
+
* logo Zest AI 64 × 64, mais le dessin DÉBORDE
|
|
679
|
+
*
|
|
680
|
+
* ⚠️ Le logo Zest AI porte une ombre portée qui sort de sa boîte : l'export
|
|
681
|
+
* fait 68×68. Le contenu est déjà translaté pour retomber juste dans 64, et le
|
|
682
|
+
* `<svg>` doit laisser le débord visible — sinon l'ombre est coupée, ce qui ne
|
|
683
|
+
* se remarque qu'en comparant les deux côte à côte.
|
|
684
|
+
*/
|
|
685
|
+
/** `clair` pour poser sur un fond clair, `sombre` pour poser sur un fond sombre. */
|
|
686
|
+
type LogoVariante = "clair" | "sombre";
|
|
687
|
+
/** Les proportions, telles que le Figma les fixe. */
|
|
688
|
+
declare const LOGO_BOITES: {
|
|
689
|
+
readonly logomark: {
|
|
690
|
+
readonly l: 64;
|
|
691
|
+
readonly h: 64;
|
|
692
|
+
};
|
|
693
|
+
readonly wordmark: {
|
|
694
|
+
readonly l: 181.85;
|
|
695
|
+
readonly h: 64;
|
|
696
|
+
};
|
|
697
|
+
readonly verrou: {
|
|
698
|
+
readonly l: 269.85;
|
|
699
|
+
readonly h: 64;
|
|
700
|
+
};
|
|
701
|
+
readonly ai: {
|
|
702
|
+
readonly l: 64;
|
|
703
|
+
readonly h: 64;
|
|
704
|
+
};
|
|
705
|
+
};
|
|
706
|
+
/** L'écart entre l'isotype et le mot-symbole dans le verrou, en unités de dessin. */
|
|
707
|
+
declare const LOGO_ECART = 24;
|
|
708
|
+
declare const ZEST_LOGO: {
|
|
709
|
+
logomark: {
|
|
710
|
+
clair: string;
|
|
711
|
+
sombre: string;
|
|
712
|
+
};
|
|
713
|
+
wordmark: {
|
|
714
|
+
clair: string;
|
|
715
|
+
sombre: string;
|
|
716
|
+
};
|
|
717
|
+
verrou: {
|
|
718
|
+
clair: string;
|
|
719
|
+
sombre: string;
|
|
720
|
+
};
|
|
721
|
+
/** Une seule version : le dégradé tient sur clair comme sur sombre. */
|
|
722
|
+
ai: string;
|
|
723
|
+
};
|
|
724
|
+
|
|
725
|
+
/**
|
|
726
|
+
* Le logo de Zest, en composants.
|
|
727
|
+
*
|
|
728
|
+
* ⚠️ UN LOGO N'EST PAS UNE ICÔNE. Il ne suit pas la couleur du texte, il ne
|
|
729
|
+
* suit pas le thème, et il ne se redessine pas. Ses valeurs sont en dur — voir
|
|
730
|
+
* l'en-tête du catalogue, qui explique pourquoi elles le restent alors même
|
|
731
|
+
* qu'elles correspondent exactement à deux jetons.
|
|
732
|
+
*
|
|
733
|
+
* ⚠️ LA HAUTEUR PILOTE, PAS LA LARGEUR. Les trois formes n'ont pas le même
|
|
734
|
+
* rapport — 1:1 pour l'isotype, 2,84:1 pour le mot-symbole, 4,22:1 pour le
|
|
735
|
+
* verrou. Une prop `width` commune les déformerait ou les désalignerait ; une
|
|
736
|
+
* hauteur commune les aligne, ce qui est ce qu'on veut dans un en-tête.
|
|
737
|
+
*/
|
|
738
|
+
interface BaseProps extends Omit<SVGProps<SVGSVGElement>, "height" | "width"> {
|
|
739
|
+
/** La hauteur, en pixels. La largeur suit le rapport du dessin. */
|
|
740
|
+
height?: number;
|
|
741
|
+
/**
|
|
742
|
+
* Le nom accessible.
|
|
743
|
+
*
|
|
744
|
+
* Par défaut le logo est **décoratif** (`aria-hidden`) : dans un en-tête il
|
|
745
|
+
* est presque toujours dans un lien qui porte déjà « Accueil » ou « Zest ».
|
|
746
|
+
* Le passer ici en fait une image nommée.
|
|
747
|
+
*/
|
|
748
|
+
titre?: string;
|
|
749
|
+
}
|
|
750
|
+
interface VarianteProps extends BaseProps {
|
|
751
|
+
/**
|
|
752
|
+
* `clair` pour poser sur un fond clair, `sombre` pour poser sur un fond sombre.
|
|
753
|
+
*
|
|
754
|
+
* ⚠️ CE N'EST PAS « LA VERSION SOMBRE DU LOGO ». La variante `sombre` a sa
|
|
755
|
+
* vague **découpée** : c'est le fond qui la dessine. Posée sur du blanc,
|
|
756
|
+
* elle disparaît. Voir l'en-tête du catalogue.
|
|
757
|
+
*/
|
|
758
|
+
variant?: LogoVariante;
|
|
759
|
+
}
|
|
760
|
+
/**
|
|
761
|
+
* Le verrou complet : l'isotype et le mot-symbole.
|
|
762
|
+
*
|
|
763
|
+
* C'est la forme par défaut. Les deux autres existent pour les cas où elle ne
|
|
764
|
+
* tient pas — voir la page « Logo ».
|
|
765
|
+
*/
|
|
766
|
+
declare const ZestLogo: {
|
|
767
|
+
({ variant, height, ...props }: VarianteProps): react.JSX.Element;
|
|
768
|
+
displayName: string;
|
|
769
|
+
};
|
|
770
|
+
/**
|
|
771
|
+
* L'isotype seul — le carré.
|
|
772
|
+
*
|
|
773
|
+
* Pour les places carrées et petites : une favicon, un avatar d'application,
|
|
774
|
+
* une barre latérale repliée. En dessous de 24 px, le mot-symbole n'est plus
|
|
775
|
+
* lisible et seul l'isotype garde du sens.
|
|
776
|
+
*/
|
|
777
|
+
declare const ZestLogomark: {
|
|
778
|
+
({ variant, height, ...props }: VarianteProps): react.JSX.Element;
|
|
779
|
+
displayName: string;
|
|
780
|
+
};
|
|
781
|
+
/** Le mot-symbole seul. Rare : l'isotype porte la reconnaissance. */
|
|
782
|
+
declare const ZestWordmark: {
|
|
783
|
+
({ variant, height, ...props }: VarianteProps): react.JSX.Element;
|
|
784
|
+
displayName: string;
|
|
785
|
+
};
|
|
786
|
+
/**
|
|
787
|
+
* Le logo de Zest AI.
|
|
788
|
+
*
|
|
789
|
+
* Une seule version : son dégradé tient sur clair comme sur sombre, il n'a donc
|
|
790
|
+
* pas de variante.
|
|
791
|
+
*
|
|
792
|
+
* ⚠️ `overflow: visible` N'EST PAS DÉCORATIF. Son ombre portée sort de la boîte
|
|
793
|
+
* de 64 — l'export fait 68×68. Sans cette règle, le `<svg>` la coupe, et une
|
|
794
|
+
* ombre coupée ne se remarque qu'en comparant les deux côte à côte.
|
|
795
|
+
*/
|
|
796
|
+
declare const ZestAiLogo: {
|
|
797
|
+
({ height, ...props }: BaseProps): react.JSX.Element;
|
|
798
|
+
displayName: string;
|
|
799
|
+
};
|
|
800
|
+
|
|
801
|
+
/**
|
|
802
|
+
* Le catalogue des icônes de Zest — LA source unique.
|
|
803
|
+
*
|
|
804
|
+
* ⚠️ GÉNÉRÉ depuis le Figma « ❖ Design System V2.0 », page « Icônes ». Ne pas
|
|
805
|
+
* corriger à la main : corriger le Figma, puis régénérer. Une retouche locale
|
|
806
|
+
* serait écrasée sans laisser de trace.
|
|
807
|
+
*
|
|
808
|
+
* Les composants de `index.tsx` sont construits À PARTIR d'ici, et la page de
|
|
809
|
+
* documentation lit le même catalogue. Un tracé n'est donc écrit qu'une fois :
|
|
810
|
+
* deux endroits qui affirmeraient le même dessin finiraient par ne plus être
|
|
811
|
+
* d'accord.
|
|
812
|
+
*
|
|
813
|
+
* ------------------------------------------------------------------------
|
|
814
|
+
* DEUX FAÇONS DE PEINDRE, ET ELLES NE SE MÉLANGENT PAS
|
|
815
|
+
* ------------------------------------------------------------------------
|
|
816
|
+
* Ces icônes viennent de deux générations de dessin, et le catalogue le dit
|
|
817
|
+
* plutôt que de l'aplatir :
|
|
818
|
+
*
|
|
819
|
+
* · `contour` — un tracé de 2 px, bouts et angles arrondis. La graisse est
|
|
820
|
+
* une propriété du RENDU : ces icônes gardent un trait de 2 px quelle que
|
|
821
|
+
* soit leur taille d'affichage, donc un trait proportionnellement plus fin
|
|
822
|
+
* quand on les agrandit ;
|
|
823
|
+
*
|
|
824
|
+
* · `remplissage` — une silhouette, dessinée sous Illustrator contours
|
|
825
|
+
* vectorisés. La graisse est dans le DESSIN, donc elle grossit avec
|
|
826
|
+
* l'icône. Un dessin « en trait » y est une silhouette évidée, pas un
|
|
827
|
+
* trait paramétrique.
|
|
828
|
+
*
|
|
829
|
+
* Conséquence à connaître : les deux familles ne vieillissent pas pareil quand
|
|
830
|
+
* on change de taille, et un écran qui les mélange à 48 px le montre.
|
|
831
|
+
*/
|
|
832
|
+
/** Un tracé du dessin. */
|
|
833
|
+
interface ZestPath {
|
|
834
|
+
d: string;
|
|
835
|
+
/**
|
|
836
|
+
* La règle de remplissage, RELEVÉE dans le Figma et non supposée.
|
|
837
|
+
*
|
|
838
|
+
* `evenodd` évide les sous-tracés intérieurs — c'est ce qui rend une
|
|
839
|
+
* silhouette creuse. `nonzero` les remplit. Plusieurs icônes n'en déclarent
|
|
840
|
+
* aucune, donc elles sont en `nonzero` : leur imposer `evenodd` percerait
|
|
841
|
+
* des trous, et l'inverse les boucherait, sans que rien le signale.
|
|
842
|
+
*
|
|
843
|
+
* Absente sur les icônes au contour, où elle ne veut rien dire.
|
|
844
|
+
*/
|
|
845
|
+
rule?: "evenodd" | "nonzero";
|
|
846
|
+
}
|
|
847
|
+
interface ZestIcon {
|
|
848
|
+
/** Le nom du Figma, tel quel — c'est la clé que les maquettes citent. */
|
|
849
|
+
name: string;
|
|
850
|
+
/** La catégorie du Figma. */
|
|
851
|
+
category: string;
|
|
852
|
+
/** Comment le dessin est peint. Voir l'en-tête du fichier. */
|
|
853
|
+
mode: "contour" | "remplissage";
|
|
854
|
+
/**
|
|
855
|
+
* Comment le dessin se LIT : trait ou plein.
|
|
856
|
+
*
|
|
857
|
+
* Une icône au contour est en trait par construction — un tracé de 2 px ne
|
|
858
|
+
* peut pas être une silhouette pleine. Pour les remplies, le style ne se lit
|
|
859
|
+
* nulle part dans le fichier : les deux sont des `fill`. Il a donc été
|
|
860
|
+
* RELEVÉ À L'ŒIL, sur deux planches rendues à 72 px.
|
|
861
|
+
*
|
|
862
|
+
* ⚠️ Il n'est PAS calculable. On a essayé, à la part de la boîte couverte :
|
|
863
|
+
* la distribution va de 14,8 % à 55,9 % sans aucun creux, le plus grand vide
|
|
864
|
+
* entre deux valeurs voisines faisant 7,5 points. Aucun seuil ne sépare les
|
|
865
|
+
* deux familles.
|
|
866
|
+
*
|
|
867
|
+
* ⚠️ Le suffixe ne suffit pas non plus. Le couple `-01`/`-02` = trait/plein
|
|
868
|
+
* se vérifie sur 14 familles sur 16 — et tombe sur `trash`, dont les deux
|
|
869
|
+
* variantes sont creuses. Ailleurs dans le Figma, `share-01`, `-02` et `-03`
|
|
870
|
+
* sont trois dessins différents. Et une icône sans variante n'est pas
|
|
871
|
+
* automatiquement en trait : `bell-01`, `bookmark-01`, `flag-01` et
|
|
872
|
+
* `tool-01` sont franchement pleines.
|
|
873
|
+
*/
|
|
874
|
+
style: "trait" | "plein";
|
|
875
|
+
/** Les tracés, dans l'ordre du Figma. */
|
|
876
|
+
paths: ZestPath[];
|
|
877
|
+
/**
|
|
878
|
+
* Mots-clés de recherche, venus des descriptions Figma.
|
|
879
|
+
*
|
|
880
|
+
* Filtrés : une description dont aucun mot n'apparaît dans le nom a été
|
|
881
|
+
* recopiée d'une autre icône, et elle est écartée. Sans ce filtre, les six
|
|
882
|
+
* icônes d'alerte répondaient à « star » — elles décrivent toutes
|
|
883
|
+
* « star, favorite, favourite, save, galaxy ».
|
|
884
|
+
*/
|
|
885
|
+
keywords?: string[];
|
|
886
|
+
}
|
|
887
|
+
declare const ZEST_ICONS: ZestIcon[];
|
|
888
|
+
/**
|
|
889
|
+
* Les dessins ÉCARTÉS parce qu'un autre porte déjà leur nom.
|
|
890
|
+
*
|
|
891
|
+
* Ce ne sont pas des doublons : ce sont d'autres dessins, sous le même nom, et
|
|
892
|
+
* tous utilisables. Dans chaque cas une silhouette remplie affronte un tracé au
|
|
893
|
+
* contour — deux générations de dessin cohabitent dans le Figma.
|
|
894
|
+
*
|
|
895
|
+
* Ils ne sont pas publiés en composants, et c'est volontaire : un catalogue à
|
|
896
|
+
* clé dupliquée n'a plus de source unique. Mais ils sont ici, et la page
|
|
897
|
+
* « Icônes » les montre à côté de ceux qui gagnent, pour qu'on tranche en
|
|
898
|
+
* regardant. Inventer un nom pour les départager serait pire : un nom inventé
|
|
899
|
+
* n'existe dans aucune maquette, donc personne ne le citerait.
|
|
900
|
+
*/
|
|
901
|
+
declare const ZEST_ICONS_EN_CONFLIT: (ZestIcon & {
|
|
902
|
+
node: string;
|
|
903
|
+
raison: string;
|
|
904
|
+
})[];
|
|
905
|
+
/**
|
|
906
|
+
* Les icônes dont le style est DISCUTABLE, laissées en trait.
|
|
907
|
+
*
|
|
908
|
+
* Elles mélangent du solide et du creux et n'ont pas de variante qui
|
|
909
|
+
* trancherait. Les basculer en plein les sortirait de l'onglet où on les
|
|
910
|
+
* cherche ; les laisser en trait est un choix, pas une mesure. La page les
|
|
911
|
+
* liste pour qu'on puisse les déplacer en connaissance de cause.
|
|
912
|
+
*/
|
|
913
|
+
declare const STYLES_A_REVOIR: {
|
|
914
|
+
name: string;
|
|
915
|
+
pourquoi: string;
|
|
916
|
+
}[];
|
|
917
|
+
/** Retrouve une icône par son nom Figma. */
|
|
918
|
+
declare const findIcon: (name: string) => ZestIcon | undefined;
|
|
919
|
+
|
|
920
|
+
export { AlertCircle01, AlertCircle02, AlertTriangle01, AlertTriangle02, ArrowDown, ArrowDownLeft, ArrowDownRight, ArrowLeft, ArrowNarrowDown, ArrowNarrowDownLeft, ArrowNarrowDownRight, ArrowNarrowLeft, ArrowNarrowRight, ArrowNarrowUp, ArrowNarrowUpLeft, ArrowNarrowUpRight, ArrowRight, BarChartSquare02, Bell01, BellOff01, Bookmark01, Building07, Calendar, CalendarPlus01, Check, CheckCircle01, CheckCircle02, CheckDone01, ChevronDown, ChevronDownDouble, ChevronLeft, ChevronLeftDouble, ChevronRight, ChevronRightDouble, ChevronUp, ChevronUpDouble, Circle, Clock, DotsVertical, Download01, Edit01, Edit02, Eye01, Eye02, EyeOff, FeatureActionPlan, FeatureAlignmentMap, FeatureCheckin, FeatureCockpit, FeatureEngageo, FeatureFeedback, FeatureIdea, FeatureIntercom01, FeatureIntercom02, FeatureKeydriver, FeatureMood01, FeatureMood02, FeatureObjective, FeatureProject, FeatureResume, FeatureSkill, FeatureSurvey01, FeatureSurvey02, FileAudio, FileCsv, FileDoc, FileDocument, FileDocx, FileEmpty, FileEps, FileFolder, FileGif, FileIcon, type FileIconFamille, type FileIconProps, type FileIconVariante, FileImage, FileImg, FileJpeg, FileJpg, FilePdf, FilePdfSimple, FilePng, FilePpt, FilePptx, FileSpreadsheet, FileSvg, FileTiff, FileTxt, FileVideo01, FileVideo02, FileWebp, FileXls, FileXlsx, FilterFunnel01, FilterFunnel02, Flag01, Heart01, Heart02, HelpCircle01, HelpCircle02, Home01, Home02, Inbox01, InfoCircle01, InfoCircle02, LOGO_BOITES, LOGO_ECART, Link01, LinkBroken01, Lock01, Lock02, LockUnlocked01, LockUnlocked02, LogOut01, type LogoVariante, Mail01, Mail02, Menu01, MessageBubble01, MessageBubble02, MessageChatSquare, Minus, MinusCircle, ModuleLead, ModuleListen, ModulePerform, ModuleShare, Plus, PlusCircle01, PlusCircle02, RefreshCw01, STYLES_A_REVOIR, Search01, Send01, Settings01, Settings02, Share01, Share02, Share03, SlashCircle01, SlashDivider, SmartOrg, Star01, Target05, ThumbsDown, ThumbsUp, Tick, Tool01, Trash01, Trash02, Upload01, User01, Users01, XCircle, XClose, ZEST_FILE_ICONS, ZEST_ICONS, ZEST_ICONS_EN_CONFLIT, ZEST_LOGO, ZestAiLogo, type ZestFileIcon, type ZestIcon, ZestLogo, ZestLogomark, type ZestPath, ZestWordmark, findFileIcon, findIcon };
|