@mirantes-micro/foundation-design-system 1.0.32 → 1.0.34

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,610 @@
1
+ import * as React$1 from 'react';
2
+ import React__default, { ReactNode, ChangeEvent, MouseEventHandler, CSSProperties } from 'react';
3
+ import { QueryClient } from '@tanstack/react-query';
4
+ import { AxiosInstance } from 'axios';
5
+
6
+ declare function Spinner({ className }: {
7
+ className?: string;
8
+ }): React__default.JSX.Element;
9
+
10
+ declare function joinUrlWithPathAndQuery(baseUrl: string, path: string, query?: Record<string, string>): string;
11
+
12
+ declare function stringToObj<T>(inputString: string, separator: string): T | undefined;
13
+
14
+ declare function getInitials(fullName: string): string;
15
+
16
+ type TLocale = "pt" | "en" | "fr";
17
+ interface IMirantesFoundationProviderProps {
18
+ children: ReactNode;
19
+ Notification?: ReactNode;
20
+ queryClient?: QueryClient;
21
+ onOpenCreatePostModal?: () => void;
22
+ values?: {
23
+ pageId?: string;
24
+ page?: {};
25
+ widgetsApi?: string;
26
+ feedApi?: string;
27
+ environment?: string;
28
+ profileApiUrl?: string;
29
+ socketApiUrl?: string;
30
+ chatApiUrl?: string;
31
+ chatForPage?: boolean;
32
+ mirantesDomain?: string;
33
+ openCageApiKey?: string;
34
+ locale?: TLocale;
35
+ Link?: LinkComponent;
36
+ usePathname?: UsePathname;
37
+ user?: User;
38
+ isGettingUser?: boolean;
39
+ isGettingStats?: boolean;
40
+ hostUrl?: string;
41
+ isDev?: boolean;
42
+ authedApi?: AxiosInstance;
43
+ uploadFilesApi?: AxiosInstance;
44
+ authApiUrl?: string;
45
+ };
46
+ }
47
+ interface IMirantesFoundationContext {
48
+ widgetsApi?: string;
49
+ feedApi?: string;
50
+ profileApiUrl?: string;
51
+ chatApiUrl?: string;
52
+ chatForPage?: boolean;
53
+ environment?: string;
54
+ socketApiUrl?: string;
55
+ mirantesDomain?: string;
56
+ locale?: TLocale;
57
+ Link?: LinkComponent;
58
+ usePathname?: UsePathname;
59
+ pageId?: string;
60
+ user?: User;
61
+ isGettingUser?: boolean;
62
+ isGettingStats?: boolean;
63
+ Notification?: ReactNode;
64
+ openCageApiKey?: string;
65
+ authedApi?: AxiosInstance;
66
+ uploadFilesApi?: AxiosInstance;
67
+ authApiUrl?: string;
68
+ onOpenCreatePostModal?: (cb?: () => void) => void;
69
+ }
70
+ type CommonLinkProps = {
71
+ to?: string;
72
+ href?: string;
73
+ children: ReactNode;
74
+ className?: string;
75
+ replace?: boolean;
76
+ [key: string]: any;
77
+ };
78
+ type User = {
79
+ id: string;
80
+ name: string;
81
+ email: string;
82
+ phone: string;
83
+ isOpenToWork: boolean;
84
+ avatar: string;
85
+ accessToken: string;
86
+ refreshToken: string;
87
+ role?: string;
88
+ slug: string;
89
+ isInterestsSynced?: boolean;
90
+ followersCount?: number;
91
+ followingCount?: number;
92
+ postsCount?: number;
93
+ profileCompletedPercentage?: number;
94
+ };
95
+ type LinkComponent = (props: CommonLinkProps) => any;
96
+ type UsePathname = () => string;
97
+
98
+ declare function MirantesFoundationProvider({ children, Notification, queryClient: reactQueryClient, onOpenCreatePostModal, values: { chatApiUrl, chatForPage, locale, Link, usePathname, user, isGettingUser, mirantesDomain, environment, feedApi, widgetsApi, hostUrl, isDev, profileApiUrl, isGettingStats, openCageApiKey, pageId, authedApi, authApiUrl, socketApiUrl, uploadFilesApi }, }: IMirantesFoundationProviderProps): React__default.JSX.Element;
99
+
100
+ declare function WorkspacePanel(): React__default.JSX.Element;
101
+
102
+ declare function Header({ className }: {
103
+ className?: string;
104
+ }): React__default.JSX.Element;
105
+
106
+ declare function useMirantesFoundation(): IMirantesFoundationContext;
107
+
108
+ declare function onLogout(callback: () => void): void;
109
+ declare function closeLogoutChannel(): void;
110
+
111
+ interface DateInputProps$1 {
112
+ label: string;
113
+ onChange: (date: Date) => void;
114
+ value: Date;
115
+ required?: boolean;
116
+ className?: string;
117
+ error?: string;
118
+ disabled?: boolean;
119
+ calendarClassName?: string;
120
+ triggerClassName?: string;
121
+ }
122
+ declare function DateInput({ label, onChange, value, required, className, triggerClassName, error, disabled, calendarClassName, }: DateInputProps$1): React$1.JSX.Element;
123
+
124
+ declare function GradientModal({ onClose, children, isOpen, className, contentClassName, showGradient, }: {
125
+ onClose: () => void;
126
+ children: React__default.ReactNode;
127
+ isOpen: boolean;
128
+ className?: string;
129
+ contentClassName?: string;
130
+ showGradient?: boolean;
131
+ }): React__default.JSX.Element;
132
+
133
+ interface DateInputProps {
134
+ value?: Date | string | null;
135
+ onChange?: (date: Date | null) => void;
136
+ minDate?: Date;
137
+ maxDate?: Date;
138
+ required?: boolean;
139
+ showDateIcon?: boolean;
140
+ disabled?: boolean;
141
+ readOnly?: boolean;
142
+ className?: string;
143
+ placeholder?: string;
144
+ inputClassName?: string;
145
+ label?: string;
146
+ "data-testid"?: string;
147
+ error?: string;
148
+ formattedAsMonthYear?: boolean;
149
+ }
150
+ declare function CustomDateInput({ value, error: errorMessage, onChange, minDate, maxDate, required, showDateIcon, disabled, readOnly, className, placeholder, inputClassName, label, "data-testid": testId, formattedAsMonthYear, }: DateInputProps): React__default.JSX.Element;
151
+
152
+ interface AddressSuggestion {
153
+ country?: string;
154
+ city?: string;
155
+ latitude?: number;
156
+ longitude?: number;
157
+ address?: string;
158
+ }
159
+ interface AddressInputProps {
160
+ value: string;
161
+ onChange: (props?: AddressSuggestion) => void;
162
+ className?: string;
163
+ wrapperClassName?: string;
164
+ inputClassName?: string;
165
+ suggestionsWrapperClassName?: string;
166
+ suggestionItemClassName?: string;
167
+ selectedItemClassName?: string;
168
+ loadingIndicatorClassName?: string;
169
+ clearButtonClassName?: string;
170
+ error?: string;
171
+ errorClassName?: string;
172
+ leftElement?: ReactNode;
173
+ minChars?: number;
174
+ debounceDelay?: number;
175
+ placeholder?: string;
176
+ noResultsText?: string;
177
+ customLoading?: ReactNode;
178
+ floatable?: boolean;
179
+ }
180
+ declare function AddressAutocompleteInput({ value, onChange, className, wrapperClassName, inputClassName, suggestionsWrapperClassName, suggestionItemClassName, selectedItemClassName, loadingIndicatorClassName, clearButtonClassName, errorClassName, error, leftElement, minChars, debounceDelay, placeholder, noResultsText, customLoading, floatable, }: AddressInputProps): React__default.JSX.Element;
181
+
182
+ interface ICountryInputProps {
183
+ locale?: "pt" | "fr" | "en";
184
+ value?: string;
185
+ onChange?: (value: {
186
+ locale: string;
187
+ name: string;
188
+ }) => void;
189
+ className?: string;
190
+ defaultCode?: string;
191
+ forNationality?: boolean;
192
+ }
193
+
194
+ interface CountryInputProps extends Omit<ICountryInputProps, "locale" | "onChange"> {
195
+ className?: string;
196
+ buttonClassName?: string;
197
+ inputClassName?: string;
198
+ value?: string;
199
+ onChange?: (payload: {
200
+ code: string;
201
+ name: string;
202
+ }) => void;
203
+ error?: string;
204
+ floatable?: boolean;
205
+ }
206
+ declare function CountryInput({ className, buttonClassName, inputClassName, defaultCode, onChange, value, error, floatable, }: CountryInputProps): React__default.JSX.Element;
207
+ declare namespace CountryInput {
208
+ var displayName: string;
209
+ }
210
+
211
+ interface CountryDisplayProps {
212
+ code: string;
213
+ locale: "pt" | "fr" | "en";
214
+ className?: string;
215
+ }
216
+ declare function CountryDisplay({ code, locale, className, }: CountryDisplayProps): React__default.JSX.Element | null;
217
+ declare namespace CountryDisplay {
218
+ var displayName: string;
219
+ }
220
+
221
+ interface SalaryInputProps {
222
+ value?: string;
223
+ currency?: string;
224
+ onChange?: (value: string, currency: string) => void;
225
+ label?: string;
226
+ placeholder?: string;
227
+ className?: string;
228
+ disabled?: boolean;
229
+ required?: boolean;
230
+ id?: string;
231
+ floatable?: boolean;
232
+ }
233
+ declare function SalaryInput({ value, currency, onChange, label, placeholder, className, disabled, required, id, floatable, }: SalaryInputProps): React__default.JSX.Element;
234
+
235
+ interface CalendarProps {
236
+ locale?: "pt" | "fr" | "en";
237
+ onMarkAsUnavailable?: () => void;
238
+ isModalOpen?: boolean;
239
+ onClose?: () => void;
240
+ calendarCardClassName?: string;
241
+ }
242
+ declare function Calendar({ onMarkAsUnavailable, isModalOpen, onClose, calendarCardClassName, }: CalendarProps): React__default.JSX.Element;
243
+
244
+ type BaseInputProps = {
245
+ placeholder: string;
246
+ value: string;
247
+ onChange: (e: ChangeEvent<HTMLInputElement>) => void;
248
+ rightIcon?: React__default.ReactNode;
249
+ leftIcon?: React__default.ReactNode;
250
+ label?: string;
251
+ error?: string;
252
+ disabled?: boolean;
253
+ type?: string;
254
+ name?: string;
255
+ id?: string;
256
+ className?: string;
257
+ children?: React__default.ReactNode;
258
+ wrapperClassName?: string;
259
+ required?: boolean;
260
+ inputClassName?: string;
261
+ requiredInPlaceholder?: boolean;
262
+ min?: number;
263
+ max?: number;
264
+ placeholderColor?: string;
265
+ };
266
+ declare const BaseInput: React__default.ForwardRefExoticComponent<BaseInputProps & React__default.RefAttributes<HTMLInputElement>>;
267
+
268
+ declare function CheckBoxInput({ isChecked, onClick, label, disabled, }: {
269
+ isChecked?: boolean;
270
+ onClick?: (e: React__default.MouseEvent<HTMLDivElement> | React__default.KeyboardEvent<HTMLDivElement>) => void;
271
+ label?: string;
272
+ disabled?: boolean;
273
+ }): React__default.JSX.Element;
274
+
275
+ type CustomDrawerProps = {
276
+ children: React__default.ReactNode;
277
+ footer?: React__default.ReactNode;
278
+ onClose: () => void;
279
+ className?: string;
280
+ isOpen?: boolean;
281
+ hideCloseBlock?: boolean;
282
+ };
283
+ declare function CustomDrawer({ children, footer, onClose, className, isOpen, hideCloseBlock, }: CustomDrawerProps): React__default.JSX.Element;
284
+
285
+ declare function RadioButtonInput({ label, isSelected, onSelect, }: {
286
+ label?: string;
287
+ isSelected?: boolean;
288
+ onSelect?: () => void;
289
+ }): React__default.JSX.Element;
290
+
291
+ type Option = {
292
+ id: string;
293
+ label: string;
294
+ value: string;
295
+ };
296
+ type CustomSelectInputProps = {
297
+ options: Option[];
298
+ value?: string;
299
+ onChange?: (option: Option) => void;
300
+ placeholder?: string;
301
+ className?: string;
302
+ enableSearch?: boolean;
303
+ floattable?: boolean;
304
+ required?: boolean;
305
+ showCheck?: boolean;
306
+ label?: string;
307
+ error?: string;
308
+ disabled?: boolean;
309
+ onSearch?: (query: string) => void;
310
+ isLoading?: boolean;
311
+ };
312
+ declare function CustomSelectInput({ options, value, onChange, placeholder, className, enableSearch, floattable, required, showCheck, label, error, disabled, onSearch, isLoading, }: CustomSelectInputProps): React$1.JSX.Element;
313
+
314
+ type ButtonProps = {
315
+ children: React__default.ReactNode;
316
+ type?: "button" | "submit";
317
+ className?: string;
318
+ onClick?: () => void;
319
+ disabled?: boolean;
320
+ isLoading?: boolean;
321
+ };
322
+ declare function Button({ children, className, disabled, isLoading, onClick, type, }: ButtonProps): React__default.JSX.Element;
323
+
324
+ interface IMirantesButton extends React.ButtonHTMLAttributes<HTMLButtonElement> {
325
+ type?: "button" | "submit";
326
+ className?: string;
327
+ onClick?: (e?: any) => void;
328
+ onMouseDown?: MouseEventHandler<HTMLButtonElement>;
329
+ onMouseUp?: MouseEventHandler<HTMLButtonElement>;
330
+ label?: string;
331
+ isLoading?: boolean;
332
+ disabled?: boolean;
333
+ leftElement?: ReactNode;
334
+ rightElement?: ReactNode;
335
+ children?: ReactNode;
336
+ style?: CSSProperties;
337
+ id?: string;
338
+ align?: 'center' | 'left' | 'right';
339
+ }
340
+
341
+ declare const MirantesButton: React__default.ForwardRefExoticComponent<IMirantesButton & React__default.RefAttributes<HTMLButtonElement>>;
342
+
343
+ interface IDropdownProps {
344
+ trigger: React.ReactNode;
345
+ options: IDropdownOption[];
346
+ onSelect: (id: string) => void;
347
+ className?: string;
348
+ itemClassName?: string;
349
+ itemHoverClassName?: string;
350
+ animate?: boolean;
351
+ enableSearch?: boolean;
352
+ }
353
+ interface IDropdownOption {
354
+ id: string;
355
+ label: string;
356
+ value: string;
357
+ icon?: React.ReactNode;
358
+ }
359
+
360
+ declare function CustomDropdown({ trigger, options, onSelect, className, itemClassName, itemHoverClassName, animate, enableSearch, }: IDropdownProps): React__default.JSX.Element;
361
+
362
+ declare function ContactsModal({ onClose, slug, }: {
363
+ onClose: () => void;
364
+ slug?: string;
365
+ }): React__default.JSX.Element;
366
+
367
+ interface IUserVisibilitySettings {
368
+ userId?: string;
369
+ profileViewMode?: EProfileViewMode;
370
+ profilePublic?: boolean;
371
+ profilePictureScope?: EPictureVisibility;
372
+ followingVisibility?: EFollowingVisibility;
373
+ notifyMentionsInMedia?: boolean;
374
+ }
375
+ declare enum EProfileViewMode {
376
+ professional = "PROFESSIONAL_IDENTITY",
377
+ sector = "SECTOR_IDENTIFICATION",
378
+ confidential = "CONFIDENTIAL_MODE"
379
+ }
380
+ declare enum EPictureVisibility {
381
+ contacts = "CONTACTS",
382
+ network = "NETWORK",
383
+ public = "PUBLIC"
384
+ }
385
+ declare enum EFollowingVisibility {
386
+ me = "ONLY_ME",
387
+ contacts = "CONTACTS",
388
+ all = "EVERYONE"
389
+ }
390
+
391
+ type Settings = {
392
+ language: {
393
+ interface: string;
394
+ content: string;
395
+ };
396
+ theme: string;
397
+ feed: {
398
+ preference: string;
399
+ allowMentions: boolean;
400
+ };
401
+ profile: IUserVisibilitySettings;
402
+ };
403
+ declare const getSettingsFromCookie: (cookieName: string) => Settings | null;
404
+ declare const clearSettingsCookie: (cookieName: string, options: {
405
+ domain: string;
406
+ isDev: boolean;
407
+ }) => void;
408
+ declare const useLoadSettings: () => Settings | null;
409
+
410
+ interface IPage {
411
+ id?: string;
412
+ name?: string;
413
+ slug?: string;
414
+ logo?: string;
415
+ sector?: string;
416
+ sectorId?: string;
417
+ description?: string;
418
+ aboutUs?: string;
419
+ site?: string;
420
+ organizationSize?: string;
421
+ organizationType?: string;
422
+ pageType?: string;
423
+ isAcademic?: boolean;
424
+ foundedYear?: number;
425
+ address?: {
426
+ city?: string;
427
+ country?: string;
428
+ address?: string;
429
+ };
430
+ phoneNumber?: string;
431
+ }
432
+
433
+ declare const useApiGetPage: (slug?: string) => {
434
+ page: IPage | null | undefined;
435
+ isGettingPage: boolean;
436
+ };
437
+
438
+ declare function useSetChatVisibility(): {
439
+ isChatVisible: boolean;
440
+ };
441
+
442
+ declare function ChatView(): React__default.JSX.Element;
443
+
444
+ declare const designSystemPreset: {
445
+ darkMode: string[];
446
+ theme: {
447
+ extend: {
448
+ colors: {
449
+ "calendar-card-bg": string;
450
+ calendar: string;
451
+ miroins: string;
452
+ "custom-gold": string;
453
+ "custom-silver": string;
454
+ "custom-bronze": string;
455
+ primary: string;
456
+ "transparent-primary": string;
457
+ grey: string;
458
+ bg: string;
459
+ text: string;
460
+ "text-secondary": string;
461
+ "text-dark": string;
462
+ border: string;
463
+ border2: string;
464
+ border3: string;
465
+ black: string;
466
+ "trans-white": string;
467
+ "grey-1": string;
468
+ "grey-2": string;
469
+ "grey-3": string;
470
+ "grey-9": string;
471
+ "grey-6": string;
472
+ "grey-7": string;
473
+ "grey-8": string;
474
+ "grey-10": string;
475
+ "light-grey": string;
476
+ "lighter-grey": string;
477
+ dark: {
478
+ DEFAULT: string;
479
+ 1: string;
480
+ };
481
+ danger: string;
482
+ "danger-transparent": string;
483
+ white: string;
484
+ blue: {
485
+ shade1: string;
486
+ shade2: string;
487
+ shade3: string;
488
+ shade4: string;
489
+ shade5: string;
490
+ shade6: string;
491
+ shade7: string;
492
+ shade8: string;
493
+ shade9: string;
494
+ shade10: string;
495
+ shade11: string;
496
+ shade12: string;
497
+ shade13: string;
498
+ shade14: string;
499
+ shade15: string;
500
+ shade16: string;
501
+ };
502
+ gray: {
503
+ shade1: string;
504
+ shade2: string;
505
+ shade3: string;
506
+ shade4: string;
507
+ shade5: string;
508
+ shade6: string;
509
+ shade7: string;
510
+ shade8: string;
511
+ shade9: string;
512
+ shade10: string;
513
+ shade11: string;
514
+ shade12: string;
515
+ shade13: string;
516
+ shade14: string;
517
+ shade15: string;
518
+ shade16: string;
519
+ shade17: string;
520
+ shade18: string;
521
+ shade19: string;
522
+ shade20: string;
523
+ shade21: string;
524
+ shade22: string;
525
+ shade23: string;
526
+ };
527
+ green: {
528
+ shade1: string;
529
+ shade2: string;
530
+ shade3: string;
531
+ shade4: string;
532
+ shade5: string;
533
+ shade6: string;
534
+ shade7: string;
535
+ shade8: string;
536
+ shade9: string;
537
+ shade10: string;
538
+ bg: string;
539
+ };
540
+ yellow: {
541
+ shade1: string;
542
+ shade2: string;
543
+ shade3: string;
544
+ shade4: string;
545
+ shade5: string;
546
+ };
547
+ orange: {
548
+ shade1: string;
549
+ shade2: string;
550
+ shade3: string;
551
+ shade4: string;
552
+ shade5: string;
553
+ shade6: string;
554
+ shade7: string;
555
+ shade8: string;
556
+ shade9: string;
557
+ };
558
+ red: {
559
+ shade1: string;
560
+ shade2: string;
561
+ shade3: string;
562
+ shade4: string;
563
+ shade5: string;
564
+ shade6: string;
565
+ shade7: string;
566
+ };
567
+ };
568
+ fontSize: {
569
+ "heading-1": string;
570
+ "heading-2": string;
571
+ "heading-3": string;
572
+ "heading-4": string;
573
+ "heading-5": string;
574
+ "heading-6": string;
575
+ "body-xl": string;
576
+ "body-lg": string;
577
+ "body-md": string;
578
+ "body-sm": string;
579
+ "body-xs": string;
580
+ };
581
+ lineHeight: {
582
+ "heading-1": string;
583
+ "heading-2": string;
584
+ "heading-3": string;
585
+ "heading-4": string;
586
+ "heading-5": string;
587
+ "heading-6": string;
588
+ "body-xl": string;
589
+ "body-lg": string;
590
+ "body-md": string;
591
+ "body-sm": string;
592
+ "body-xs": string;
593
+ };
594
+ screens: {
595
+ sm: string;
596
+ md: string;
597
+ lg: string;
598
+ xl: string;
599
+ tb: string;
600
+ "2xl": string;
601
+ };
602
+ gridTemplateColumns: {
603
+ "sign-up-right-side-grid": string;
604
+ };
605
+ };
606
+ };
607
+ plugins: any[];
608
+ };
609
+
610
+ export { AddressAutocompleteInput, BaseInput, Button, ChatView, CheckBoxInput, ContactsModal, CountryDisplay, CountryInput, CustomDateInput, CustomDrawer, CustomDropdown, CustomSelectInput, DateInput, GradientModal, Header, MirantesButton, MirantesFoundationProvider, RadioButtonInput, SalaryInput, Calendar as ScheduleCalendar, Spinner, WorkspacePanel, clearSettingsCookie, closeLogoutChannel, designSystemPreset, getInitials, getSettingsFromCookie, joinUrlWithPathAndQuery, onLogout, stringToObj, useApiGetPage, useLoadSettings, useMirantesFoundation, useSetChatVisibility };