@serhii.olishevskyi/docs 1.2.23 → 1.2.24

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.
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  UserPopoverComponent,
3
3
  UserPopoverComponent_default
4
- } from "./chunk-4NEOJ5KZ.mjs";
4
+ } from "./chunk-VFNVP7VE.mjs";
5
5
  export {
6
6
  UserPopoverComponent,
7
7
  UserPopoverComponent_default as default
package/dist/index.d.mts CHANGED
@@ -1,34 +1,11 @@
1
1
  import * as React$1 from 'react';
2
2
  import React__default, { ReactNode, PropsWithChildren } from 'react';
3
- import { TextFieldProps, SelectProps, SelectChangeEvent, FormControlLabelProps, SwitchProps, CheckboxProps, ButtonProps, IconButtonProps, TooltipProps, SxProps, Theme, TypographyProps } from '@mui/material';
3
+ import { TextFieldProps, SelectProps, SelectChangeEvent, FormControlLabelProps, CheckboxProps, SwitchProps, ButtonProps, IconButtonProps, TooltipProps, SxProps, Theme, TypographyProps } from '@mui/material';
4
4
  import { SystemProps } from '@mui/system';
5
5
  import * as _supabase_supabase_js from '@supabase/supabase-js';
6
6
  import { SupabaseClient, User, Session } from '@supabase/supabase-js';
7
7
  import * as i18next from 'i18next';
8
8
 
9
- interface UrlValue {
10
- url: string;
11
- title?: string;
12
- }
13
- interface UrlComponentProps {
14
- overrideNamespace?: string;
15
- label: string;
16
- value: UrlValue | string;
17
- onChange?: (value: UrlValue) => void;
18
- disabled?: boolean;
19
- readOnly?: boolean;
20
- required?: boolean;
21
- error?: boolean;
22
- helperText?: string;
23
- description?: string;
24
- fullWidth?: boolean;
25
- openInNewTab?: boolean;
26
- showLock?: boolean;
27
- lockTooltip?: string;
28
- sx?: any;
29
- }
30
- declare function UrlComponent({ overrideNamespace, label, value, onChange, disabled, readOnly, required, error, helperText, description, fullWidth, openInNewTab, showLock, lockTooltip, sx, }: UrlComponentProps): React__default.JSX.Element;
31
-
32
9
  type TextFieldComponentProps = TextFieldProps & {
33
10
  overrideNamespace?: string;
34
11
  label?: ReactNode;
@@ -40,6 +17,7 @@ type TextFieldComponentProps = TextFieldProps & {
40
17
  placeholderKey?: string;
41
18
  disableClearButton?: boolean;
42
19
  };
20
+ declare const TextFieldComponent: React__default.FC<TextFieldComponentProps>;
43
21
 
44
22
  type NumberInputComponentProps = Omit<TextFieldComponentProps, 'onChange' | 'type'> & {
45
23
  overrideNamespace?: string;
@@ -55,6 +33,7 @@ type NumberInputComponentProps = Omit<TextFieldComponentProps, 'onChange' | 'typ
55
33
  useGrouping?: boolean;
56
34
  highlightNegative?: boolean;
57
35
  };
36
+ declare const NumberInputComponent: React__default.FC<NumberInputComponentProps>;
58
37
 
59
38
  type EmailInputComponentProps = Omit<TextFieldComponentProps, 'type'> & {
60
39
  /**
@@ -71,6 +50,7 @@ type EmailInputComponentProps = Omit<TextFieldComponentProps, 'type'> & {
71
50
  */
72
51
  onValidationChange?: (isValid: boolean) => void;
73
52
  };
53
+ declare const EmailInputComponent: React__default.FC<EmailInputComponentProps>;
74
54
 
75
55
  interface SearchComponentProps extends Omit<TextFieldProps, 'placeholder'> {
76
56
  overrideNamespace?: string;
@@ -81,6 +61,7 @@ interface SearchComponentProps extends Omit<TextFieldProps, 'placeholder'> {
81
61
  debounceDelay?: number;
82
62
  onDebounceChange?: (value: string) => void;
83
63
  }
64
+ declare const SearchComponent: React__default.FC<SearchComponentProps>;
84
65
 
85
66
  interface SelectOption<T = string> {
86
67
  value: T;
@@ -104,56 +85,82 @@ interface SelectComponentProps<T = string> extends Omit<SelectProps<T | T[]>, 'o
104
85
  helperText?: ReactNode;
105
86
  defaultValueOnClear?: T;
106
87
  }
88
+ declare const SelectComponent: <T extends string | number>({ overrideNamespace, label, value, options, onChange, id, fullWidth, size, multiple, withCheckboxes, clearable, maxSelect, disabled, maxDisplayedTags, helperText, defaultValueOnClear, sx, ...restProps }: SelectComponentProps<T>) => React__default.JSX.Element;
107
89
 
108
- type SwitchComponentProps = Omit<FormControlLabelProps, 'control' | 'label' | 'onChange'> & {
90
+ type CheckboxComponentProps = Omit<FormControlLabelProps, 'control' | 'label' | 'onChange'> & {
109
91
  checked?: boolean;
110
92
  /**
111
- * Стандартный обработчик изменения состояния MUI Switch
93
+ * Стандартный обработчик изменения состояния MUI Checkbox
112
94
  */
113
95
  onChange?: (event: React__default.ChangeEvent<HTMLInputElement>, checked: boolean) => void;
114
96
  /**
115
- * Общая метка switch (если одинаковая для обоих состояний)
97
+ * Общая метка чекбокса (если одинаковая для обоих состояний)
116
98
  */
117
99
  label?: ReactNode;
118
100
  /**
119
- * Метка, когда Switch в состоянии checked === true
101
+ * Метка, когда Checkbox в состоянии checked === true
120
102
  */
121
103
  checkedLabel?: ReactNode;
122
104
  /**
123
- * Метка, когда Switch в состоянии checked === false
105
+ * Метка, когда Checkbox в состоянии checked === false
124
106
  */
125
107
  uncheckedLabel?: ReactNode;
108
+ /**
109
+ * Кастомный namespace для перевода метки
110
+ */
126
111
  overrideNamespace?: string;
127
- switchProps?: SwitchProps;
112
+ /**
113
+ * Дополнительные пропсы для внутреннего компонента MUI Checkbox
114
+ */
115
+ checkboxProps?: CheckboxProps;
128
116
  };
117
+ declare const CheckboxComponent: React__default.FC<CheckboxComponentProps>;
129
118
 
130
- type CheckboxComponentProps = Omit<FormControlLabelProps, 'control' | 'label' | 'onChange'> & {
119
+ type SwitchComponentProps = Omit<FormControlLabelProps, 'control' | 'label' | 'onChange'> & {
131
120
  checked?: boolean;
132
121
  /**
133
- * Стандартный обработчик изменения состояния MUI Checkbox
122
+ * Стандартный обработчик изменения состояния MUI Switch
134
123
  */
135
124
  onChange?: (event: React__default.ChangeEvent<HTMLInputElement>, checked: boolean) => void;
136
125
  /**
137
- * Общая метка чекбокса (если одинаковая для обоих состояний)
126
+ * Общая метка switch (если одинаковая для обоих состояний)
138
127
  */
139
128
  label?: ReactNode;
140
129
  /**
141
- * Метка, когда Checkbox в состоянии checked === true
130
+ * Метка, когда Switch в состоянии checked === true
142
131
  */
143
132
  checkedLabel?: ReactNode;
144
133
  /**
145
- * Метка, когда Checkbox в состоянии checked === false
134
+ * Метка, когда Switch в состоянии checked === false
146
135
  */
147
136
  uncheckedLabel?: ReactNode;
148
- /**
149
- * Кастомный namespace для перевода метки
150
- */
151
137
  overrideNamespace?: string;
152
- /**
153
- * Дополнительные пропсы для внутреннего компонента MUI Checkbox
154
- */
155
- checkboxProps?: CheckboxProps;
138
+ switchProps?: SwitchProps;
156
139
  };
140
+ declare const SwitchComponent: React__default.FC<SwitchComponentProps>;
141
+
142
+ interface UrlValue {
143
+ url: string;
144
+ title?: string;
145
+ }
146
+ interface UrlComponentProps {
147
+ overrideNamespace?: string;
148
+ label: string;
149
+ value: UrlValue | string;
150
+ onChange?: (value: UrlValue) => void;
151
+ disabled?: boolean;
152
+ readOnly?: boolean;
153
+ required?: boolean;
154
+ error?: boolean;
155
+ helperText?: string;
156
+ description?: string;
157
+ fullWidth?: boolean;
158
+ openInNewTab?: boolean;
159
+ showLock?: boolean;
160
+ lockTooltip?: string;
161
+ sx?: any;
162
+ }
163
+ declare function UrlComponent({ overrideNamespace, label, value, onChange, disabled, readOnly, required, error, helperText, description, fullWidth, openInNewTab, showLock, lockTooltip, sx, }: UrlComponentProps): React__default.JSX.Element;
157
164
 
158
165
  type ButtonComponentProps = Omit<ButtonProps, 'children'> & {
159
166
  /**
@@ -170,6 +177,7 @@ type ButtonComponentProps = Omit<ButtonProps, 'children'> & {
170
177
  */
171
178
  children?: ReactNode;
172
179
  };
180
+ declare const ButtonComponent: React$1.ForwardRefExoticComponent<Omit<ButtonComponentProps, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
173
181
 
174
182
  interface CopyClipboardButtonComponentProps extends Omit<IconButtonProps, 'onClick'> {
175
183
  overrideNamespace?: string;
@@ -186,6 +194,7 @@ interface CopyClipboardButtonComponentProps extends Omit<IconButtonProps, 'onCli
186
194
  /** Callback, що викликається після успішного копіювання */
187
195
  onCopySuccess?: (text: string) => void;
188
196
  }
197
+ declare const CopyClipboardButtonComponent: React__default.FC<CopyClipboardButtonComponentProps>;
189
198
 
190
199
  interface RefreshButtonComponentProps {
191
200
  overrideNamespace?: string;
@@ -201,12 +210,14 @@ interface RefreshButtonComponentProps {
201
210
  hideTooltipOnMobile?: boolean;
202
211
  hideTooltipOnDesktop?: boolean;
203
212
  }
213
+ declare const RefreshButtonComponent: React__default.FC<RefreshButtonComponentProps>;
204
214
 
205
215
  interface TranslatableTooltipComponentProps extends Omit<TooltipProps, 'children'> {
206
216
  overrideNamespace?: string;
207
217
  disableSpan?: boolean;
208
218
  children: React__default.ReactElement;
209
219
  }
220
+ declare const TranslatableTooltipComponent: React__default.FC<TranslatableTooltipComponentProps>;
210
221
 
211
222
  interface UserAvatarComponentProps {
212
223
  userId?: string | null;
@@ -220,6 +231,7 @@ interface UserAvatarComponentProps {
220
231
  disableTooltip?: boolean;
221
232
  sx?: SxProps<Theme>;
222
233
  }
234
+ declare const UserAvatarComponent: React__default.FC<UserAvatarComponentProps>;
223
235
 
224
236
  interface UserPopoverComponentProps {
225
237
  overrideNamespace?: string;
@@ -228,6 +240,7 @@ interface UserPopoverComponentProps {
228
240
  open: boolean;
229
241
  onClose: () => void;
230
242
  }
243
+ declare const UserPopoverComponent: React__default.FC<UserPopoverComponentProps>;
231
244
 
232
245
  interface UserProfile {
233
246
  id: string;
@@ -358,6 +371,7 @@ interface UserRoleChipComponentProps {
358
371
  overrideNamespace?: string;
359
372
  role: MembershipRole;
360
373
  }
374
+ declare const UserRoleChipComponent: React__default.FC<UserRoleChipComponentProps>;
361
375
 
362
376
  interface UserStatusChipComponentProps {
363
377
  overrideNamespace?: string;
@@ -369,6 +383,7 @@ interface UserStatusChipComponentProps {
369
383
  locked_reason: string;
370
384
  };
371
385
  }
386
+ declare const UserStatusChipComponent: React__default.FC<UserStatusChipComponentProps>;
372
387
 
373
388
  interface MyAvatarComponentProps {
374
389
  size?: number;
@@ -377,6 +392,7 @@ interface MyAvatarComponentProps {
377
392
  disablePopover?: boolean;
378
393
  sx?: SxProps<Theme>;
379
394
  }
395
+ declare const MyAvatarComponent: React__default.FC<MyAvatarComponentProps>;
380
396
 
381
397
  interface ExpandableNoteComponentProps extends Omit<TypographyProps, 'children'> {
382
398
  overrideNamespace?: string;
@@ -384,6 +400,17 @@ interface ExpandableNoteComponentProps extends Omit<TypographyProps, 'children'>
384
400
  maxLength?: number;
385
401
  label?: React__default.ReactNode;
386
402
  }
403
+ declare const ExpandableNoteComponent: React__default.FC<ExpandableNoteComponentProps>;
404
+
405
+ interface ErrorAlertComponentProps {
406
+ overrideNamespace?: string;
407
+ title?: ReactNode;
408
+ message: ReactNode;
409
+ onRetry?: () => void;
410
+ retryText?: ReactNode;
411
+ isRetrying?: boolean;
412
+ }
413
+ declare const ErrorAlertComponent: React__default.FC<ErrorAlertComponentProps>;
387
414
 
388
415
  type TextTruncateMode = 'truncate' | 'clamp-2' | 'wrap';
389
416
  interface HeaderActionItem {
@@ -426,6 +453,24 @@ interface PageHeaderProps {
426
453
  type PageComponentProps = {
427
454
  header?: PageHeaderProps;
428
455
  };
456
+ declare const PageComponent: React__default.FC<PropsWithChildren<PageComponentProps>>;
457
+
458
+ type FilterWidth = '25%' | '33%' | '50%' | '66%' | '75%' | '100%';
459
+ interface FilterSectionProps extends PropsWithChildren {
460
+ /** Ширина самой секции на десктопе (по умолчанию '100%') */
461
+ width?: FilterWidth;
462
+ /** Ширина самой секции на мобильном (по умолчанию '100%') */
463
+ mobileWidth?: FilterWidth;
464
+ /** Ширина каждого элемента ВНУТРИ секции на десктопе (по умолчанию '50%') */
465
+ itemWidth?: FilterWidth;
466
+ /** Ширина каждого элемента ВНУТРИ секции на мобильном (по умолчанию '100%') */
467
+ itemMobileWidth?: FilterWidth;
468
+ }
469
+ interface FilterContainerComponentProps extends PropsWithChildren {
470
+ sections?: ReactNode[];
471
+ sx?: SxProps<Theme>;
472
+ }
473
+ declare const FilterContainerComponent: React__default.FC<FilterContainerComponentProps>;
429
474
 
430
475
  interface PageLink {
431
476
  text: ReactNode;
@@ -434,7 +479,7 @@ interface PageLink {
434
479
  onClick?: React__default.MouseEventHandler<HTMLButtonElement> | undefined;
435
480
  hidden?: boolean;
436
481
  }
437
- interface PageLinkWidgetProps {
482
+ interface PageLinkComponentProps {
438
483
  overrideNamespace?: string;
439
484
  title: ReactNode;
440
485
  subheader?: ReactNode;
@@ -445,8 +490,9 @@ interface PageLinkWidgetProps {
445
490
  bgcolor?: SystemProps<Theme>['bgcolor'];
446
491
  onActionButtonClick?: () => void;
447
492
  }
493
+ declare const PageLinkComponent: React__default.FC<PageLinkComponentProps>;
448
494
 
449
- type CollapsedWidgetContainerProps = {
495
+ type CollapsedContainerComponentProps = {
450
496
  overrideNamespace?: string;
451
497
  title: ReactNode;
452
498
  subtitle?: ReactNode;
@@ -456,76 +502,7 @@ type CollapsedWidgetContainerProps = {
456
502
  disableShadow?: boolean;
457
503
  onExpanded?: (expanded: boolean) => void;
458
504
  };
459
-
460
- type FilterWidth = '25%' | '33%' | '50%' | '66%' | '75%' | '100%';
461
- interface FilterSectionProps extends PropsWithChildren {
462
- /** Ширина самой секции на десктопе (по умолчанию '100%') */
463
- width?: FilterWidth;
464
- /** Ширина самой секции на мобильном (по умолчанию '100%') */
465
- mobileWidth?: FilterWidth;
466
- /** Ширина каждого элемента ВНУТРИ секции на десктопе (по умолчанию '50%') */
467
- itemWidth?: FilterWidth;
468
- /** Ширина каждого элемента ВНУТРИ секции на мобильном (по умолчанию '100%') */
469
- itemMobileWidth?: FilterWidth;
470
- }
471
- interface FilterContainerWidgetProps extends PropsWithChildren {
472
- sections?: ReactNode[];
473
- sx?: SxProps<Theme>;
474
- }
475
-
476
- interface ErrorAlertWidgetProps {
477
- overrideNamespace?: string;
478
- title?: ReactNode;
479
- message: ReactNode;
480
- onRetry?: () => void;
481
- retryText?: ReactNode;
482
- isRetrying?: boolean;
483
- }
484
-
485
- declare const UI: {
486
- Inputs: {
487
- TextField: React$1.FC<TextFieldComponentProps>;
488
- NumberField: React$1.FC<NumberInputComponentProps>;
489
- EmailField: React$1.FC<EmailInputComponentProps>;
490
- Search: React$1.FC<SearchComponentProps>;
491
- Select: <T extends string | number>({ overrideNamespace, label, value, options, onChange, id, fullWidth, size, multiple, withCheckboxes, clearable, maxSelect, disabled, maxDisplayedTags, helperText, defaultValueOnClear, sx, ...restProps }: SelectComponentProps<T>) => React$1.JSX.Element;
492
- Checkbox: React$1.FC<CheckboxComponentProps>;
493
- Switch: React$1.FC<SwitchComponentProps>;
494
- Url: typeof UrlComponent;
495
- };
496
- Buttons: {
497
- Button: React$1.ForwardRefExoticComponent<Omit<ButtonComponentProps, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
498
- CopyClipboardButton: React$1.FC<CopyClipboardButtonComponentProps>;
499
- RefreshButton: React$1.FC<RefreshButtonComponentProps>;
500
- };
501
- DataDisplay: {
502
- TranslatableTooltip: React$1.FC<TranslatableTooltipComponentProps>;
503
- UserAvatar: React$1.FC<UserAvatarComponentProps>;
504
- UserPopover: React$1.FC<UserPopoverComponentProps>;
505
- UserRoleChip: React$1.FC<UserRoleChipComponentProps>;
506
- UserStatusChip: React$1.FC<UserStatusChipComponentProps>;
507
- MyAvatar: React$1.FC<MyAvatarComponentProps>;
508
- ExpandableNote: React$1.FC<ExpandableNoteComponentProps>;
509
- };
510
- Layout: {
511
- Page: React$1.FC<React$1.PropsWithChildren<PageComponentProps>>;
512
- };
513
- Widgets: {
514
- Locales: {
515
- ProtectedLanguageSelector: React$1.FC<{}>;
516
- PublicLanguageSelector: React$1.FC<{}>;
517
- };
518
- Pages: {
519
- PageLinkWidget: React$1.FC<PageLinkWidgetProps>;
520
- CollapsedWidgetContainer: (props: React$1.PropsWithChildren<CollapsedWidgetContainerProps>) => React$1.JSX.Element;
521
- FilterContainerWidget: React$1.FC<FilterContainerWidgetProps>;
522
- FilterSection: React$1.FC<FilterSectionProps>;
523
- };
524
- Misc: {
525
- ErrorAlertWidget: React$1.FC<ErrorAlertWidgetProps>;
526
- };
527
- };
528
- };
505
+ declare const CollapsedContainerComponent: (props: PropsWithChildren<CollapsedContainerComponentProps>) => React$1.JSX.Element;
529
506
 
530
507
  type AIProviderType = 'gemini' | 'openai';
531
508
  interface AIServiceConfig {
@@ -877,4 +854,4 @@ declare const Utils: {
877
854
  };
878
855
  };
879
856
 
880
- export { type AIConfig, type AIGenerateOptions, AIProvider, type AIProviderProps, type AIProviderType, AppSettingsProvider, AuthProvider, BreadcrumbProvider, type ButtonComponentProps, type CheckboxComponentProps, type CollapsedWidgetContainerProps, type CompanyMember, type ConfirmOptions, type ConfirmResult, ConfirmationProvider, type ConfirmationProviderProps, type CopyClipboardButtonComponentProps, type DialogSeverity, type DisplayState, type EmailInputComponentProps, type ErrorAlertWidgetProps, type ExpandableNoteComponentProps, type FilterContainerWidgetProps, type FilterSectionProps, type FilterWidth, type FullCompanyMemberItem, type HeaderActionItem, Hooks, type Language, LocalizationProvider, type Membership, type MembershipRole, type MyAvatarComponentProps, type NumberInputComponentProps, type PageComponentProps, type PageHeaderProps, type PageLink, type PageLinkWidgetProps, type PrimaryActionProps, Providers, type RefreshActionProps, type RefreshButtonComponentProps, type SaveCompanyUserPayload, type SearchComponentProps, type SelectComponentProps, type SelectOption, Services, type SupabaseConfig, SupabaseProvider, type SupabaseProviderProps, type SwitchComponentProps, type TextFieldComponentProps, type TextTruncateMode, type ThemeColors, type ThemeConfig, type ThemeMode, ThemeProvider, ToastProvider, type ToastType, type TranslatableTooltipComponentProps, TranslateProvider, TranslateText, TranslationEditProvider, type TypographyConfig, UI, type UrlComponentProps as UrlProps, type UserAvatarComponentProps, type UserGroupedSessions, type UserPopoverComponentProps, type UserProfile, type UserRoleChipComponentProps, type UserSessionItem, type UserSettings, UserSettingsProvider, type UserStatusChipComponentProps, type UserStatusType, Utils, defaultUserSettings, initI18n, useAI, useAppSettings, useAppTheme, useAuth, useBreadcrumb, useConfirmation, useLocalization, useSupabase, useToast, useTranslationEdit, useTranslationNamespace, useUserSettings };
857
+ export { type AIConfig, type AIGenerateOptions, AIProvider, type AIProviderProps, type AIProviderType, AppSettingsProvider, AuthProvider, BreadcrumbProvider, ButtonComponent, type ButtonComponentProps, CheckboxComponent, type CheckboxComponentProps, CollapsedContainerComponent, type CollapsedContainerComponentProps, type CompanyMember, type ConfirmOptions, type ConfirmResult, ConfirmationProvider, type ConfirmationProviderProps, CopyClipboardButtonComponent, type CopyClipboardButtonComponentProps, type DialogSeverity, type DisplayState, EmailInputComponent, type EmailInputComponentProps, ErrorAlertComponent, type ErrorAlertComponentProps, ExpandableNoteComponent, type ExpandableNoteComponentProps, FilterContainerComponent, type FilterContainerComponentProps, type FilterSectionProps, type FilterWidth, type FullCompanyMemberItem, type HeaderActionItem, Hooks, type Language, LocalizationProvider, type Membership, type MembershipRole, MyAvatarComponent, type MyAvatarComponentProps, NumberInputComponent, type NumberInputComponentProps, PageComponent, type PageComponentProps, type PageHeaderProps, type PageLink, PageLinkComponent, type PageLinkComponentProps, type PrimaryActionProps, Providers, type RefreshActionProps, RefreshButtonComponent, type RefreshButtonComponentProps, type SaveCompanyUserPayload, SearchComponent, type SearchComponentProps, SelectComponent, type SelectComponentProps, type SelectOption, Services, type SupabaseConfig, SupabaseProvider, type SupabaseProviderProps, SwitchComponent, type SwitchComponentProps, TextFieldComponent, type TextFieldComponentProps, type TextTruncateMode, type ThemeColors, type ThemeConfig, type ThemeMode, ThemeProvider, ToastProvider, type ToastType, TranslatableTooltipComponent, type TranslatableTooltipComponentProps, TranslateProvider, TranslateText, TranslationEditProvider, type TypographyConfig, UrlComponent, type UrlComponentProps, UserAvatarComponent, type UserAvatarComponentProps, type UserGroupedSessions, UserPopoverComponent, type UserPopoverComponentProps, type UserProfile, UserRoleChipComponent, type UserRoleChipComponentProps, type UserSessionItem, type UserSettings, UserSettingsProvider, UserStatusChipComponent, type UserStatusChipComponentProps, type UserStatusType, Utils, defaultUserSettings, initI18n, useAI, useAppSettings, useAppTheme, useAuth, useBreadcrumb, useConfirmation, useLocalization, useSupabase, useToast, useTranslationEdit, useTranslationNamespace, useUserSettings };