remoraid 2.2.6 → 2.7.2

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.
@@ -3,7 +3,20 @@ import { AlertProps, IndicatorProps, MantineBreakpoint, MantineColorScheme, Mant
3
3
  import { Icon, IconProps } from "@tabler/icons-react";
4
4
  import { ImageProps } from "next/image";
5
5
  import { ReactNode } from "react";
6
- type NavbarVariant = "minimal";
6
+ type RemoraidUser = {
7
+ name: string
8
+ } | null;
9
+ interface RemoraidAppContext {
10
+ navigablePages: {
11
+ label: string
12
+ href: string
13
+ icon?: Icon
14
+ }[];
15
+ user?: RemoraidUser;
16
+ }
17
+ declare enum NavbarVariant {
18
+ Minimal = "minimal"
19
+ }
7
20
  interface NavbarSettings {
8
21
  hiddenPages: string[];
9
22
  linkSize: string;
@@ -11,17 +24,41 @@ interface NavbarSettings {
11
24
  py: MantineSize | number;
12
25
  iconSize?: string | number;
13
26
  }
14
- interface UserExperience {
27
+ type UserExperience = Record<string, any>;
28
+ interface CoreUserExperience extends UserExperience {
15
29
  navbarVariant: NavbarVariant;
16
30
  navbarSettings: NavbarSettings;
17
31
  showWelcomeMessage: boolean;
18
32
  }
19
- type AlertCategory = "negative" | "neutral" | "positive";
20
- type TransitionDuration = "short" | "medium" | "long";
21
- type RemoraidBreakpoint = "buttonCollapse" | "badgeGroupCollapse";
22
- type RemoraidIconSize = "tiny" | "medium";
33
+ type UserExperienceProviderProps<T extends UserExperience> = {
34
+ initialValue?: Partial<T>
35
+ cookieName?: string
36
+ };
37
+ interface UserExperienceContext<T extends UserExperience> {
38
+ userExperience: T;
39
+ updateUserExperience: (p: T | ((prev: T) => T)) => void;
40
+ processedCookie: boolean;
41
+ initialUserExperience: T;
42
+ }
43
+ declare enum AlertCategory {
44
+ Negative = "negative",
45
+ Neutral = "neutral",
46
+ Positive = "positive"
47
+ }
48
+ declare enum TransitionDuration {
49
+ Short = "short",
50
+ Medium = "medium",
51
+ Long = "long"
52
+ }
53
+ declare enum RemoraidBreakpoint {
54
+ ButtonCollapse = "buttonCollapse",
55
+ BadgeGroupCollapse = "badgeGroupCollapse"
56
+ }
57
+ declare enum RemoraidIconSize {
58
+ Tiny = "tiny",
59
+ Medium = "medium"
60
+ }
23
61
  interface RemoraidTheme {
24
- complete: true;
25
62
  transitionDurations: Record<TransitionDuration, number>;
26
63
  breakpoints: Record<RemoraidBreakpoint, MantineBreakpoint>;
27
64
  scrollAreaProps: ScrollAreaProps;
@@ -33,17 +70,14 @@ interface RemoraidTheme {
33
70
  primaryColor?: string;
34
71
  spacingPx?: Record<MantineSize, number>;
35
72
  }
36
- type RemoraidThemeCallback = (mantineTheme: MantineTheme, colorScheme: MantineColorScheme) => RemoraidTheme;
37
- type PartialRemoraidTheme = Omit<Partial<RemoraidTheme>, "complete">;
38
- type AppShellLogo = (props: Omit<ImageProps, "src" | "alt">) => ReactNode;
39
- interface NavbarLink {
40
- icon: Icon;
41
- label: string;
42
- href: string;
73
+ interface RemoraidThemeDependencies {
74
+ mantineTheme: MantineTheme;
75
+ colorScheme: MantineColorScheme;
43
76
  }
77
+ type RemoraidThemeCallback = (dependencies: Partial<RemoraidThemeDependencies>) => Partial<RemoraidTheme>;
78
+ type AppShellLogo = (props: Omit<ImageProps, "src" | "alt">) => ReactNode;
44
79
  interface NavbarProps {
45
- links: NavbarLink[];
46
- settings?: NavbarSettings;
80
+ settings?: Partial<NavbarSettings>;
47
81
  variant?: NavbarVariant;
48
82
  linkIndicator?: (isHovering: boolean) => IndicatorProps;
49
83
  logoIndicator?: (isHovering: boolean) => IndicatorProps;
@@ -60,17 +94,16 @@ interface PageConfiguration {
60
94
  name: string;
61
95
  registerPageDirectly?: boolean;
62
96
  }
63
- declare const defaultNavbarSettings: { [V in NavbarVariant] : NavbarSettings };
64
- declare const defaultUserExperience: UserExperience;
65
- interface UserExperienceContext {
66
- userExperience: UserExperience;
67
- updateUserExperience: (p: UserExperience | ((prev: UserExperience) => UserExperience)) => void;
68
- processedCookie: boolean;
97
+ interface SettingsTableOptions {
98
+ leftColumnWidth: string | number;
99
+ }
100
+ interface SettingsWidgetContext {
101
+ unsavedChanges?: boolean;
102
+ custom?: boolean;
69
103
  }
70
- declare const userExperienceCookieName = "remoraid-user-experience";
71
- declare const useRemoraidUserExperience: () => UserExperienceContext;
72
- interface UserExperienceProviderProps {
73
- initialValue?: Partial<UserExperience>;
104
+ interface HydrationStatus {
105
+ hasHydrated: boolean;
106
+ ensureHydration: <T>(v: T) => T | undefined;
74
107
  }
75
108
  interface WidgetsContext {
76
109
  widgets: {
@@ -93,50 +126,82 @@ interface WidgetsContext {
93
126
  }
94
127
  declare const useWidgets: () => WidgetsContext;
95
128
  interface WidgetsProviderProps {}
96
- import { MantineColorScheme as MantineColorScheme2, MantineTheme as MantineTheme2 } from "@mantine/core";
97
- declare const createRemoraidTheme: (customTheme?: Partial<RemoraidTheme>, mantineTheme?: MantineTheme2, colorScheme?: MantineColorScheme2) => RemoraidTheme;
129
+ declare const createRemoraidTheme: (customTheme?: Partial<RemoraidTheme>, dependencies?: Partial<RemoraidThemeDependencies>) => RemoraidTheme;
98
130
  declare const useRemoraidTheme: () => RemoraidTheme;
99
131
  interface ThemeProviderProps {
100
- theme?: RemoraidTheme | RemoraidThemeCallback | PartialRemoraidTheme;
132
+ theme?: RemoraidTheme | RemoraidThemeCallback;
101
133
  }
102
134
  import { ReactCookieProps } from "react-cookie";
135
+ import { MantineColorScheme as MantineColorScheme2 } from "@mantine/core";
136
+ import { PropsWithChildren as PropsWithChildren3, ReactNode as ReactNode4 } from "react";
137
+ declare const useHydrationStatus: () => HydrationStatus;
138
+ declare const useHydratedMantineColorScheme: () => {
139
+ colorScheme?: MantineColorScheme2
140
+ setColorScheme?: (value: MantineColorScheme2) => void
141
+ clearColorScheme?: () => void
142
+ toggleColorScheme?: () => void
143
+ };
144
+ interface HydrationStatusProviderProps {}
145
+ declare function HydrationStatusProvider({ children }: PropsWithChildren3<HydrationStatusProviderProps>): ReactNode4;
103
146
  interface RemoraidProviderProps {
104
- theme?: RemoraidTheme | RemoraidThemeCallback | PartialRemoraidTheme;
105
- initialUserExperience?: Partial<UserExperience>;
147
+ theme?: ThemeProviderProps["theme"];
148
+ initialUserExperience?: UserExperienceProviderProps<CoreUserExperience>["initialValue"];
106
149
  componentsProps?: {
107
- ThemeProvider?: ThemeProviderProps
108
- UserExperienceProvider?: UserExperienceProviderProps
109
- WidgetsProvider?: WidgetsProviderProps
110
- CookiesProvider?: ReactCookieProps
150
+ ThemeProvider?: Partial<ThemeProviderProps>
151
+ CoreUserExperienceProvider?: Partial<UserExperienceProviderProps<CoreUserExperience>>
152
+ WidgetsProvider?: Partial<WidgetsProviderProps>
153
+ CookiesProvider?: Partial<ReactCookieProps>
154
+ HydrationStatusProviderProps?: Partial<HydrationStatusProviderProps>
111
155
  };
112
156
  }
113
157
  declare function RemoraidProvider({ children, theme, initialUserExperience, componentsProps }: PropsWithChildren4<RemoraidProviderProps>): ReactNode5;
114
158
  import { PropsWithChildren as PropsWithChildren5, ReactNode as ReactNode6 } from "react";
115
159
  interface AppShellProps {
116
160
  logo: AppShellLogo;
117
- navbar: NavbarProps;
118
- user?: {
119
- name: string
120
- } | null;
161
+ navigablePages: RemoraidAppContext["navigablePages"];
162
+ navbar?: NavbarProps;
163
+ user?: RemoraidUser;
164
+ }
165
+ declare function AppShell({ children, logo, navbar, user, navigablePages }: PropsWithChildren5<AppShellProps>): ReactNode6;
166
+ import { PropsWithChildren as PropsWithChildren6, ReactNode as ReactNode7 } from "react";
167
+ declare const defaultAppContext: RemoraidAppContext;
168
+ declare const useRemoraidApp: () => RemoraidAppContext;
169
+ interface AppProviderProps {
170
+ navigablePages: RemoraidAppContext["navigablePages"];
171
+ user?: RemoraidUser;
121
172
  }
122
- declare function AppShell({ children, logo, navbar, user }: PropsWithChildren5<AppShellProps>): ReactNode6;
173
+ declare function AppProvider({ children, navigablePages, user }: PropsWithChildren6<AppProviderProps>): ReactNode7;
174
+ import { Context, PropsWithChildren as PropsWithChildren7, ReactNode as ReactNode8 } from "react";
175
+ declare const createUserExperienceContext: <T extends UserExperience>(defaultUserExperience: T) => Context<UserExperienceContext<T>>;
176
+ interface UserExperienceProviderWrapperProps<T extends UserExperience> {
177
+ context: Context<UserExperienceContext<T>>;
178
+ cookieName: string;
179
+ defaultUserExperience: T;
180
+ isValidUserExperience: (x: unknown) => x is T;
181
+ initialValue?: Partial<T>;
182
+ }
183
+ declare function UserExperienceProviderWrapper<T extends UserExperience>({ children, context, cookieName, defaultUserExperience, isValidUserExperience, initialValue }: PropsWithChildren7<UserExperienceProviderWrapperProps<T>>): ReactNode8;
184
+ declare const defaultNavbarSettings: Record<NavbarVariant, NavbarSettings>;
185
+ declare const defaultUserExperience: CoreUserExperience;
186
+ declare const defaultUserExperienceCookieName = "remoraid-core-user-experience";
187
+ declare const useRemoraidUserExperience: () => UserExperienceContext<CoreUserExperience>;
123
188
  import { MantineSize as MantineSize2 } from "@mantine/core";
124
- import { ReactNode as ReactNode7 } from "react";
189
+ import { ReactNode as ReactNode10 } from "react";
125
190
  interface WidgetSelectionHeaderProps {
126
191
  title?: string;
127
192
  disabledWidgets?: string[];
128
193
  mt?: MantineSize2 | number;
129
194
  }
130
- declare function WidgetSelectionHeader({ title, disabledWidgets, mt }: WidgetSelectionHeaderProps): ReactNode7;
131
- import { ReactNode as ReactNode8 } from "react";
195
+ declare function WidgetSelectionHeader({ title, disabledWidgets, mt }: WidgetSelectionHeaderProps): ReactNode10;
196
+ import { ReactNode as ReactNode11 } from "react";
132
197
  interface CloseButtonProps {
133
198
  widgetId: string;
134
199
  }
135
- declare function CloseButton({ widgetId }: CloseButtonProps): ReactNode8;
200
+ declare function CloseButton2({ widgetId }: CloseButtonProps): ReactNode11;
136
201
  import { BadgeProps as BadgeProps2, MantineBreakpoint as MantineBreakpoint2, MantineSize as MantineSize3, TooltipProps as TooltipProps2 } from "@mantine/core";
137
- import { ReactNode as ReactNode10 } from "react";
202
+ import { ReactNode as ReactNode13 } from "react";
138
203
  import { BadgeProps, TooltipProps, TransitionProps } from "@mantine/core";
139
- import { ReactNode as ReactNode9 } from "react";
204
+ import { ReactNode as ReactNode12 } from "react";
140
205
  interface BadgeMinimalProps {
141
206
  label: string;
142
207
  tooltip?: string;
@@ -147,9 +212,9 @@ interface BadgeMinimalProps {
147
212
  tooltip?: TooltipProps
148
213
  };
149
214
  }
150
- declare function BadgeMinimal(props: BadgeMinimalProps): ReactNode9;
215
+ declare function BadgeMinimal(props: BadgeMinimalProps): ReactNode12;
151
216
  interface BadgeGroupProps {
152
- badges: (BadgeMinimalProps | ReactNode10)[];
217
+ badges: (BadgeMinimalProps | ReactNode13)[];
153
218
  gap?: MantineSize3 | number;
154
219
  breakpoint?: MantineBreakpoint2;
155
220
  componentsProps?: {
@@ -157,9 +222,9 @@ interface BadgeGroupProps {
157
222
  cumulativeBadge?: Partial<Omit<BadgeProps2, "hiddenFrom" | "circle">>
158
223
  };
159
224
  }
160
- declare function BadgeGroup({ badges, gap, breakpoint, componentsProps }: BadgeGroupProps): ReactNode10;
225
+ declare function BadgeGroup({ badges, gap, breakpoint, componentsProps }: BadgeGroupProps): ReactNode13;
161
226
  import { AlertProps as AlertProps2, MantineSize as MantineSize4, TransitionProps as TransitionProps2 } from "@mantine/core";
162
- import { PropsWithChildren as PropsWithChildren6, ReactNode as ReactNode11 } from "react";
227
+ import { PropsWithChildren as PropsWithChildren9, ReactNode as ReactNode14 } from "react";
163
228
  interface AlertMinimalProps {
164
229
  category: AlertCategory;
165
230
  title?: string;
@@ -173,14 +238,19 @@ interface AlertMinimalProps {
173
238
  transition?: Omit<TransitionProps2, "mounted">
174
239
  };
175
240
  }
176
- declare function AlertMinimal({ children, title, category, text, onClose, mounted, mt, mb, componentsProps }: PropsWithChildren6<AlertMinimalProps>): ReactNode11;
241
+ declare function AlertMinimal({ children, title, category, text, onClose, mounted, mt, mb, componentsProps }: PropsWithChildren9<AlertMinimalProps>): ReactNode14;
177
242
  import { ActionIconProps, ActionIconVariant, ButtonProps, ButtonVariant, MantineBreakpoint as MantineBreakpoint3, MantineColor, MantineSize as MantineSize5, TooltipProps as TooltipProps3 } from "@mantine/core";
178
243
  import { Icon as Icon2, IconProps as IconProps2 } from "@tabler/icons-react";
179
- import { ReactNode as ReactNode12 } from "react";
244
+ import { ReactNode as ReactNode15 } from "react";
245
+ import { ReactElement } from "react";
180
246
  type Common<
181
247
  A,
182
248
  B
183
249
  > = Pick<A & B, keyof A & keyof B>;
250
+ type OnlyChildrenOf<
251
+ T extends (...args: any) => any,
252
+ P = any
253
+ > = ReactElement<P, T> | ReactElement<P, T>[];
184
254
  interface RemoraidButtonProps {
185
255
  label: string;
186
256
  responsive?: boolean;
@@ -195,14 +265,14 @@ interface RemoraidButtonProps {
195
265
  componentsProps?: {
196
266
  tooltip?: Partial<TooltipProps3>
197
267
  icon?: Partial<IconProps2>
198
- button: Omit<Partial<Common<ButtonProps, ActionIconProps>>, "variant" | "onClick" | "size" | "color" | "loading">
268
+ button?: Omit<Partial<Common<ButtonProps, ActionIconProps>>, "variant" | "onClick" | "size" | "color" | "loading">
199
269
  Button?: Partial<ButtonProps>
200
270
  ActionIcon?: Partial<ActionIconProps>
201
271
  };
202
272
  }
203
- declare function RemoraidButton({ label, responsive, breakpoint, collapsed, size, color, onClick, loading, variant, componentsProps,...props }: RemoraidButtonProps): ReactNode12;
273
+ declare function RemoraidButton({ label, responsive, breakpoint, collapsed, size, color, onClick, loading, variant, componentsProps,...props }: RemoraidButtonProps): ReactNode15;
204
274
  import { MantineSize as MantineSize6, PaperProps, TransitionProps as TransitionProps3 } from "@mantine/core";
205
- import { PropsWithChildren as PropsWithChildren7, ReactNode as ReactNode13 } from "react";
275
+ import { PropsWithChildren as PropsWithChildren10, ReactNode as ReactNode16 } from "react";
206
276
  interface WidgetWrapperComponentsProps {
207
277
  container?: Partial<PaperProps>;
208
278
  transition?: Partial<Omit<TransitionProps3, "mounted">>;
@@ -213,9 +283,13 @@ interface WidgetWrapperProps {
213
283
  withCloseButton?: boolean;
214
284
  componentsProps?: WidgetWrapperComponentsProps;
215
285
  }
216
- declare function WidgetWrapper({ children, config, mt, withCloseButton, componentsProps }: PropsWithChildren7<WidgetWrapperProps>): ReactNode13;
286
+ declare function WidgetWrapper({ children, config, mt, withCloseButton, componentsProps }: PropsWithChildren10<WidgetWrapperProps>): ReactNode16;
287
+ interface WidgetWrapper extends React.FC<PropsWithChildren10<WidgetWrapperProps>> {
288
+ CloseButton: typeof CloseButton2;
289
+ }
290
+ declare const _default: WidgetWrapper;
217
291
  import { MantineSize as MantineSize7, LoaderProps } from "@mantine/core";
218
- import { PropsWithChildren as PropsWithChildren8, ReactNode as ReactNode14 } from "react";
292
+ import { PropsWithChildren as PropsWithChildren11, ReactNode as ReactNode17 } from "react";
219
293
  interface WidgetComponentsProps extends WidgetWrapperComponentsProps {
220
294
  wrapper?: Partial<Omit<WidgetWrapperProps, "widgetId">>;
221
295
  loader?: Partial<LoaderProps>;
@@ -225,9 +299,9 @@ interface WidgetProps {
225
299
  id: string;
226
300
  title: string;
227
301
  config?: Partial<Omit<WidgetConfiguration, "widgetId">>;
228
- badges?: (BadgeMinimalProps | ReactNode14)[];
229
- buttons?: (RemoraidButtonProps | ReactNode14)[];
230
- alerts?: (AlertMinimalProps | ReactNode14)[];
302
+ badges?: (BadgeMinimalProps | ReactNode17)[];
303
+ buttons?: (RemoraidButtonProps | ReactNode17)[];
304
+ alerts?: (AlertMinimalProps | ReactNode17)[];
231
305
  gaps?: MantineSize7 | number | {
232
306
  badges?: MantineSize7 | number
233
307
  buttons?: MantineSize7 | number
@@ -237,9 +311,10 @@ interface WidgetProps {
237
311
  mt?: MantineSize7 | number;
238
312
  componentsProps?: WidgetComponentsProps;
239
313
  }
240
- declare function Widget({ children, id, config, title, badges, buttons, alerts, gaps, loading, mt, componentsProps }: PropsWithChildren8<WidgetProps>): ReactNode14;
314
+ declare function Widget({ children, id, config, title, badges, buttons, alerts, gaps, loading, mt, componentsProps }: PropsWithChildren11<WidgetProps>): ReactNode17;
241
315
  import { ContainerProps, MantineSize as MantineSize8 } from "@mantine/core";
242
- import { PropsWithChildren as PropsWithChildren9, ReactNode as ReactNode15 } from "react";
316
+ import { PropsWithChildren as PropsWithChildren12, ReactNode as ReactNode18 } from "react";
317
+ declare const usePage: () => PageConfiguration | null;
243
318
  interface PageProps {
244
319
  name?: string;
245
320
  config?: Partial<Omit<PageConfiguration, "name">>;
@@ -248,27 +323,26 @@ interface PageProps {
248
323
  container?: ContainerProps
249
324
  };
250
325
  }
251
- declare function Page({ children, name, config, pt, componentsProps }: PropsWithChildren9<PageProps>): ReactNode15;
326
+ declare function Page({ children, name, config, pt, componentsProps }: PropsWithChildren12<PageProps>): ReactNode18;
252
327
  import { ContainerProps as ContainerProps2, MantineSize as MantineSize9 } from "@mantine/core";
253
- import { PropsWithChildren as PropsWithChildren10, ReactNode as ReactNode16 } from "react";
328
+ import { PropsWithChildren as PropsWithChildren13, ReactNode as ReactNode19 } from "react";
254
329
  interface PageContainerProps {
255
330
  pt?: MantineSize9 | number;
256
331
  componentsProps?: {
257
332
  container?: ContainerProps2
258
333
  };
259
334
  }
260
- declare function PageContainer({ children, pt, componentsProps }: PropsWithChildren10<PageContainerProps>): ReactNode16;
261
- import { PropsWithChildren as PropsWithChildren11, ReactNode as ReactNode17 } from "react";
262
- import { PageProps as PageProps2 } from "..";
335
+ declare function PageContainer({ children, pt, componentsProps }: PropsWithChildren13<PageContainerProps>): ReactNode19;
336
+ import { PropsWithChildren as PropsWithChildren14, ReactNode as ReactNode20 } from "react";
263
337
  interface NotFoundPageProps {
264
338
  message?: string;
265
339
  componentsProps?: {
266
- page?: PageProps2
340
+ page?: PageProps
267
341
  };
268
342
  }
269
- declare function NotFoundPage({ children, message, componentsProps }: PropsWithChildren11<NotFoundPageProps>): ReactNode17;
343
+ declare function NotFoundPage({ children, message, componentsProps }: PropsWithChildren14<NotFoundPageProps>): ReactNode20;
270
344
  import { ContainerProps as ContainerProps3, MantineSize as MantineSize10 } from "@mantine/core";
271
- import { PropsWithChildren as PropsWithChildren12, ReactNode as ReactNode18 } from "react";
345
+ import { PropsWithChildren as PropsWithChildren15, ReactNode as ReactNode21 } from "react";
272
346
  interface EnvironmentShellProps {
273
347
  environment: Record<string, string | undefined>;
274
348
  message?: string;
@@ -279,5 +353,73 @@ interface EnvironmentShellProps {
279
353
  container?: ContainerProps3
280
354
  };
281
355
  }
282
- declare function EnvironmentShell({ children, environment, message, m, mt, withContainer, componentsProps }: PropsWithChildren12<EnvironmentShellProps>): ReactNode18;
283
- export { userExperienceCookieName, useWidgets, useRemoraidUserExperience, useRemoraidTheme, defaultUserExperience, defaultNavbarSettings, createRemoraidTheme, WidgetsProviderProps, WidgetWrapperProps, WidgetWrapper, WidgetSelectionHeaderProps, WidgetSelectionHeader, WidgetProps, WidgetConfiguration, Widget, UserExperienceProviderProps, UserExperience, TransitionDuration, ThemeProviderProps, RemoraidThemeCallback, RemoraidTheme, RemoraidProviderProps, RemoraidProvider, RemoraidIconSize, RemoraidButtonProps, RemoraidButton, RemoraidBreakpoint, PartialRemoraidTheme, PageProps, PageContainerProps, PageContainer, PageConfiguration, Page, NotFoundPageProps, NotFoundPage, NavbarVariant, NavbarSettings, NavbarProps, NavbarLink, EnvironmentShellProps, EnvironmentShell, CloseButtonProps, CloseButton, BadgeMinimalProps, BadgeMinimal, BadgeGroupProps, BadgeGroup, AppShellProps, AppShellLogo, AppShell, AlertMinimalProps, AlertMinimal, AlertCategory };
356
+ declare function EnvironmentShell({ children, environment, message, m, mt, withContainer, componentsProps }: PropsWithChildren15<EnvironmentShellProps>): ReactNode21;
357
+ import { PropsWithChildren as PropsWithChildren16, ReactNode as ReactNode23 } from "react";
358
+ import { ReactNode as ReactNode22 } from "react";
359
+ import { GroupProps } from "@mantine/core";
360
+ interface SettingsWidgetSaveButtonProps {
361
+ onSaveChanges: () => void;
362
+ insideContainer?: boolean;
363
+ componentsProps?: {
364
+ container?: Partial<GroupProps>
365
+ button?: Partial<RemoraidButtonProps>
366
+ };
367
+ }
368
+ declare function SaveButton2({ onSaveChanges, insideContainer, componentsProps }: SettingsWidgetSaveButtonProps): ReactNode22;
369
+ declare const defaultSettingsWidgetContext: {};
370
+ declare const useSettingsWidgetContext: () => SettingsWidgetContext;
371
+ interface SettingsWidgetProps {
372
+ onRestoreDefaultValues?: () => void;
373
+ unsavedChanges?: boolean;
374
+ custom?: boolean;
375
+ widgetProps?: Partial<WidgetProps>;
376
+ }
377
+ declare function SettingsWidget({ children, onRestoreDefaultValues, unsavedChanges, custom, widgetProps }: PropsWithChildren16<SettingsWidgetProps>): ReactNode23;
378
+ interface SettingsWidget extends React.FC<PropsWithChildren16<SettingsWidgetProps>> {
379
+ SaveButton: typeof SaveButton2;
380
+ }
381
+ declare const _default2: SettingsWidget;
382
+ import { ReactNode as ReactNode25 } from "react";
383
+ import { PropsWithChildren as PropsWithChildren17, ReactNode as ReactNode24 } from "react";
384
+ interface SettingsTableRowProps {
385
+ label: string;
386
+ }
387
+ declare function Row2({ children, label }: PropsWithChildren17<SettingsTableRowProps>): ReactNode24;
388
+ declare const defaultSettingsTableOptions: {
389
+ leftColumnWidth: string
390
+ };
391
+ declare const useSettingsTableOptions: () => SettingsTableOptions;
392
+ interface SettingsTableProps {
393
+ children: OnlyChildrenOf<typeof Row2, SettingsTableRowProps>;
394
+ leftColumnWidth?: string | number;
395
+ }
396
+ declare function SettingsTable({ children, leftColumnWidth }: SettingsTableProps): ReactNode25;
397
+ interface SettingsTable extends React.FC<SettingsTableProps> {
398
+ Row: typeof Row2;
399
+ }
400
+ declare const _default3: SettingsTable;
401
+ import { ReactElement as ReactElement2, ReactNode as ReactNode26 } from "react";
402
+ declare const defaultNavbarSettingsWidgetId = "navbar-settings";
403
+ interface NavbarSettingsWidgetProps {
404
+ additionalRows?: ReactElement2<SettingsTableRowProps, typeof _default3.Row>[];
405
+ widgetProps?: Partial<WidgetProps>;
406
+ componentsProps?: {
407
+ table: Partial<Omit<SettingsTableProps, "children">>
408
+ };
409
+ }
410
+ declare function NavbarSettingsWidget({ additionalRows, widgetProps, componentsProps }: NavbarSettingsWidgetProps): ReactNode26;
411
+ import { Chip, ChipGroupProps, ChipProps, FlexProps, MantineSize as MantineSize11, ScrollAreaProps as ScrollAreaProps2 } from "@mantine/core";
412
+ import { ReactNode as ReactNode27 } from "react";
413
+ interface ScrollbleChipGroupProps {
414
+ value: string[];
415
+ onChange?: (value: string[]) => void;
416
+ gap?: MantineSize11 | number;
417
+ componentsProps?: {
418
+ chipGroup?: Partial<ChipGroupProps<true>>
419
+ scrollArea?: Partial<ScrollAreaProps2>
420
+ container?: Partial<FlexProps>
421
+ };
422
+ children?: OnlyChildrenOf<typeof Chip, ChipProps>;
423
+ }
424
+ declare function ScrollableChipGroup({ value, onChange, gap, componentsProps, children }: ScrollbleChipGroupProps): ReactNode27;
425
+ export { useWidgets, useSettingsWidgetContext as useSettingsWidgetOptions, useSettingsTableOptions, useRemoraidUserExperience, useRemoraidTheme, useRemoraidApp, usePage, useHydrationStatus, useHydratedMantineColorScheme, defaultUserExperienceCookieName, defaultUserExperience, defaultSettingsWidgetContext as defaultSettingsWidgetOptions, defaultSettingsTableOptions, defaultNavbarSettingsWidgetId, defaultNavbarSettings, defaultAppContext, createUserExperienceContext, createRemoraidTheme, WidgetsProviderProps, WidgetWrapperProps, _default as WidgetWrapper, WidgetSelectionHeaderProps, WidgetSelectionHeader, WidgetProps, WidgetConfiguration, Widget, UserExperienceProviderWrapperProps, UserExperienceProviderWrapper, UserExperienceProviderProps, UserExperienceContext, UserExperience, TransitionDuration, ThemeProviderProps, SettingsWidgetSaveButtonProps, SettingsWidgetProps, SettingsWidgetContext, _default2 as SettingsWidget, SettingsTableRowProps, SettingsTableOptions, _default3 as SettingsTable, ScrollbleChipGroupProps, ScrollableChipGroup, RemoraidUser, RemoraidThemeDependencies, RemoraidThemeCallback, RemoraidTheme, RemoraidProviderProps, RemoraidProvider, RemoraidIconSize, RemoraidButtonProps, RemoraidButton, RemoraidBreakpoint, RemoraidAppContext, PageProps, PageContainerProps, PageContainer, PageConfiguration, Page, NotFoundPageProps, NotFoundPage, NavbarVariant, NavbarSettingsWidgetProps, NavbarSettingsWidget, NavbarSettings, NavbarProps, HydrationStatusProviderProps, HydrationStatusProvider, HydrationStatus, EnvironmentShellProps, EnvironmentShell, CoreUserExperience, CloseButtonProps, BadgeMinimalProps, BadgeMinimal, BadgeGroupProps, BadgeGroup, AppShellProps, AppShellLogo, AppShell, AppProvider, AlertMinimalProps, AlertMinimal, AlertCategory };