remoraid 3.1.1 → 3.5.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.
@@ -1,5 +1,5 @@
1
1
  import { PropsWithChildren as PropsWithChildren7, ReactNode as ReactNode7 } from "react";
2
- import { MantineBreakpoint, MantineColorScheme, MantineSize, MantineTheme } from "@mantine/core";
2
+ import { MantineBreakpoint, MantineColorScheme, MantineSize, MantineTheme, ScrollerProps } from "@mantine/core";
3
3
  import { Icon as Icon2, IconProps as IconProps2 } from "@tabler/icons-react";
4
4
  import React2, { Dispatch, MouseEventHandler, ReactElement, SetStateAction } from "react";
5
5
  import { PartialDeep } from "type-fest";
@@ -30,10 +30,12 @@ interface RemoraidAuthContext {
30
30
  onLogout?: () => void;
31
31
  }
32
32
  declare enum NavbarVariant {
33
- Minimal = "minimal"
33
+ Minimal = "minimal",
34
+ Custom = "custom"
34
35
  }
35
36
  declare enum FooterVariant {
36
- Minimal = "minimal"
37
+ Minimal = "minimal",
38
+ Custom = "custom"
37
39
  }
38
40
  declare enum NavbarMode {
39
41
  Responsive = "responsive",
@@ -62,18 +64,36 @@ interface NavigationElementButton extends NavigationElementBase {
62
64
  }
63
65
  type NavigationElement = NavigationElementButton | NavigationElementAnchor;
64
66
  type NavbarMobileVariant = null;
65
- type AppShellFooterVariant = FooterVariant | null;
66
- type AppShellNavbarVariant = NavbarVariant | null;
67
67
  type AppShellNavbarMobileVariant = NavbarMobileVariant | null;
68
- interface StaticRemoraidAppContext {
68
+ interface NavbarMetadata {
69
+ defaultPosition: NavbarPosition;
70
+ supportedModes: NavbarMode[];
71
+ supportedPositions: NavbarPosition[];
72
+ }
73
+ interface FooterMetadata {
74
+ defaultPosition: FooterPosition;
75
+ supportedPositions: FooterPosition[];
76
+ }
77
+ interface StaticRemoraidAppContextBase {
69
78
  name: string;
70
79
  nav: NavigationElement[];
71
- navbarVariant: AppShellNavbarVariant;
72
80
  navbarMobileVariant: AppShellNavbarMobileVariant;
73
- footerVariant: AppShellFooterVariant;
74
81
  logo?: Icon2 | ReactElement;
75
82
  auth?: RemoraidAuthContext;
76
83
  }
84
+ type StaticRemoraidAppContext = StaticRemoraidAppContextBase & ({
85
+ navbarVariant: null
86
+ navbarMetadata?: never
87
+ } | {
88
+ navbarVariant: NavbarVariant
89
+ navbarMetadata: NavbarMetadata
90
+ }) & ({
91
+ footerVariant: null
92
+ footerMetadata?: never
93
+ } | {
94
+ footerVariant: FooterVariant
95
+ footerMetadata: FooterMetadata
96
+ });
77
97
  type CustomAppVariables = { [K in Exclude<string, keyof StaticRemoraidAppContext>] : any };
78
98
  type RemoraidAppContext<V extends CustomAppVariables> = StaticRemoraidAppContext & V;
79
99
  declare enum NavbarOrientation {
@@ -168,8 +188,9 @@ interface RemoraidTheme {
168
188
  transparentBackground?: string;
169
189
  spacingPx?: Record<MantineSize, number>;
170
190
  componentsProps: {
171
- icons: Record<RemoraidIconSize, Partial<IconProps2>>
191
+ icons: Record<RemoraidIconSize, Partial<IconProps2> & Required<Pick<IconProps2, "size" | "stroke">>>
172
192
  alerts: Record<AlertCategory, Omit<Partial<AlertMinimalProps>, "category">>
193
+ Scroller: Partial<ScrollerProps>
173
194
  };
174
195
  }
175
196
  interface RemoraidThemeDependencies {
@@ -297,11 +318,24 @@ declare function RemoraidProvider({ children, theme, initialUserExperience, rout
297
318
  import { BoxProps as BoxProps3 } from "@mantine/core";
298
319
  import { ComponentProps as ComponentProps7, PropsWithChildren as PropsWithChildren13, ReactNode as ReactNode22 } from "react";
299
320
  import { PropsWithChildren as PropsWithChildren8, ReactNode as ReactNode8 } from "react";
300
- import { SetOptional } from "type-fest";
301
321
  declare const defaultAppContext: RemoraidAppContext<CustomAppVariables>;
302
322
  declare const useRemoraidApp: () => RemoraidAppContext<CustomAppVariables>;
303
323
  interface AppProviderProps<V extends CustomAppVariables> {
304
- appContext: SetOptional<RemoraidAppContext<V>, "navbarVariant" | "footerVariant" | "navbarMobileVariant">;
324
+ appContext: Omit<RemoraidAppContext<V>, "navbarVariant" | "navbarMetadata" | "footerVariant" | "footerMetadata" | "navbarMobileVariant"> & ({
325
+ navbarVariant?: Exclude<NavbarVariant | null, NavbarVariant.Custom>
326
+ navbarMetadata?: never
327
+ } | {
328
+ navbarVariant: NavbarVariant.Custom
329
+ navbarMetadata: NavbarMetadata
330
+ }) & ({
331
+ footerVariant?: Exclude<FooterVariant | null, FooterVariant.Custom>
332
+ footerMetadata?: never
333
+ } | {
334
+ footerVariant: FooterVariant.Custom
335
+ footerMetadata: FooterMetadata
336
+ }) & {
337
+ navbarMobileVariant?: AppShellNavbarMobileVariant
338
+ };
305
339
  }
306
340
  declare function AppProvider2<V extends CustomAppVariables>({ appContext: appContextProp, children }: PropsWithChildren8<AppProviderProps<V>>): ReactNode8;
307
341
  import { ComponentProps as ComponentProps4, ReactNode as ReactNode18 } from "react";
@@ -367,6 +401,8 @@ declare const asElementOrPropsOfType: <
367
401
  declare const getDefaultButtonIconSize: (buttonSize: MantineSize2) => RemoraidIconSize;
368
402
  declare const scrollToWidget: (widgetId: string) => void;
369
403
  declare const isIcon: (value: unknown) => value is Icon3;
404
+ declare const navbarMetadata: Record<Exclude<NavbarVariant, NavbarVariant.Custom>, NavbarMetadata>;
405
+ declare const footerMetadata: Record<Exclude<FooterVariant, FooterVariant.Custom>, FooterMetadata>;
370
406
  declare const defaultRemoraidButtonSize = "sm";
371
407
  type RemoraidButtonDefaultResponsivity = true;
372
408
  interface ExplicitRemoraidButtonProps<Responsive extends boolean> {
@@ -398,6 +434,7 @@ interface NavbarMinimalContentProps {
398
434
  orientation: NavbarOrientation;
399
435
  maxElements?: number;
400
436
  collapseStaticElementsBreakpoint?: MantineBreakpoint3;
437
+ includeDefaultNavigationElements?: boolean;
401
438
  componentsProps?: {
402
439
  container?: Partial<PaperProps>
403
440
  button?: Partial<RemoraidButtonProps<true>> | Partial<RemoraidButtonProps<false>>
@@ -490,6 +527,7 @@ type PinnableProps<T extends LayoutType = PinnableDefaultLayoutType> = OptionalI
490
527
  declare function Pinnable2<T extends LayoutType = PinnableDefaultLayoutType>({ layoutType: layoutTypeProp, section, initialValue, layoutId, controlsContainer, hidden, onPinnedValueChange, componentsProps, children }: PropsWithChildren11<PinnableProps<T>>): ReactNode16;
491
528
  interface NavbarMinimalProps {
492
529
  pinnable?: boolean;
530
+ includeDefaultNavigationElements?: boolean;
493
531
  componentsProps?: {
494
532
  container?: Partial<PageContainerProps>
495
533
  content?: Partial<NavbarMinimalContentProps>
@@ -497,9 +535,7 @@ interface NavbarMinimalProps {
497
535
  Pinnable?: Partial<PinnableProps>
498
536
  };
499
537
  }
500
- declare function NavbarMinimal({ pinnable, componentsProps }: NavbarMinimalProps): ReactNode17;
501
- declare const supportedNavbarPositions: Record<Exclude<AppShellNavbarVariant, null>, NavbarPosition[]>;
502
- declare const defaultNavbarPositions: Record<Exclude<AppShellNavbarVariant, null>, NavbarPosition>;
538
+ declare function NavbarMinimal({ pinnable, includeDefaultNavigationElements, componentsProps }: NavbarMinimalProps): ReactNode17;
503
539
  declare const getDefaultNavigationElements: ({ colorScheme, setColorScheme, auth }: Partial<DefaultNavigationElementsDependencies>) => NavigationElement[];
504
540
  interface NavbarProps {
505
541
  componentsProps?: {
@@ -523,8 +559,6 @@ interface FooterMinimalProps {
523
559
  };
524
560
  }
525
561
  declare function FooterMinimal({ icon: Icon6, componentsProps }: FooterMinimalProps): ReactNode19;
526
- declare const supportedFooterPositions: Record<Exclude<AppShellFooterVariant, null>, FooterPosition[]>;
527
- declare const defaultFooterPositions: Record<Exclude<AppShellFooterVariant, null>, FooterPosition>;
528
562
  interface FooterProps {
529
563
  componentsProps?: {
530
564
  FooterMinimal?: Partial<FooterMinimalProps>
@@ -600,20 +634,19 @@ declare const defaultUserExperienceCookieName = "remoraid-core-user-experience";
600
634
  declare const useRemoraidUserExperience: () => UserExperienceContext<CoreUserExperience>;
601
635
  import { ChipProps, DividerProps, FlexProps as FlexProps2, MenuProps as MenuProps2, TextProps } from "@mantine/core";
602
636
  import { ReactNode as ReactNode27 } from "react";
603
- import { ChipGroupProps, FlexProps, MantineSize as MantineSize7, ScrollAreaProps as ScrollAreaProps2 } from "@mantine/core";
604
- import { PropsWithChildren as PropsWithChildren17, ReactNode as ReactNode26, RefObject as RefObject2 } from "react";
637
+ import { ChipGroupProps, FlexProps, MantineSize as MantineSize7, ScrollerProps as ScrollerProps2 } from "@mantine/core";
638
+ import { PropsWithChildren as PropsWithChildren17, ReactNode as ReactNode26 } from "react";
605
639
  interface ScrollableChipGroupProps {
606
640
  value: string[];
607
- ref?: RefObject2<HTMLDivElement | null>;
608
641
  onChange?: (value: string[]) => void;
609
642
  gap?: MantineSize7 | number;
610
643
  componentsProps?: {
611
- chipGroup?: Partial<ChipGroupProps<true>>
612
644
  container?: Partial<FlexProps>
613
- ScrollArea?: Partial<ScrollAreaProps2>
645
+ ChipGroup?: Partial<ChipGroupProps<true>>
646
+ Scroller?: Partial<ScrollerProps2>
614
647
  };
615
648
  }
616
- declare function ScrollableChipGroup2({ value, ref, onChange, gap, componentsProps, children }: PropsWithChildren17<ScrollableChipGroupProps>): ReactNode26;
649
+ declare function ScrollableChipGroup2({ value, onChange, gap, componentsProps, children }: PropsWithChildren17<ScrollableChipGroupProps>): ReactNode26;
617
650
  interface WidgetSelectionHeaderProps {
618
651
  title?: string;
619
652
  pinnableSection?: FrameLayoutSection.Top | FrameLayoutSection.Bottom | null;
@@ -629,7 +662,7 @@ interface WidgetSelectionHeaderProps {
629
662
  Pinnable?: Partial<PinnableProps>
630
663
  };
631
664
  }
632
- declare function WidgetSelectionHeader({ title, pinnableSection, initiallyPinned, disabledWidgets, componentsProps }: WidgetSelectionHeaderProps): ReactNode27;
665
+ declare function WidgetSelectionHeader({ title, pinnableSection, initiallyPinned: initiallyPinnedProp, disabledWidgets, componentsProps }: WidgetSelectionHeaderProps): ReactNode27;
633
666
  import { BadgeProps as BadgeProps2, GroupProps as GroupProps3, HoverCardProps, MantineBreakpoint as MantineBreakpoint4, MantineSize as MantineSize8, StackProps as StackProps2, TransitionProps as TransitionProps7 } from "@mantine/core";
634
667
  import { ReactNode as ReactNode29 } from "react";
635
668
  import { BadgeProps, TooltipProps as TooltipProps3, TransitionProps as TransitionProps6 } from "@mantine/core";
@@ -823,7 +856,7 @@ declare function ContextClusterProvider<
823
856
  Context,
824
857
  StaticID extends string = never
825
858
  >({ cluster, values, children }: PropsWithChildren25<ContextClusterProviderProps<Context, StaticID>>): ReactNode41;
826
- import { BoxProps as BoxProps4, InputWrapperProps, ScrollAreaProps as ScrollAreaProps3 } from "@mantine/core";
859
+ import { BoxProps as BoxProps4, InputWrapperProps, ScrollAreaProps as ScrollAreaProps2 } from "@mantine/core";
827
860
  import { PropsWithChildren as PropsWithChildren26, ReactNode as ReactNode42 } from "react";
828
861
  interface InputWrapperScrollAreaProps {
829
862
  label?: string;
@@ -833,9 +866,9 @@ interface InputWrapperScrollAreaProps {
833
866
  required?: boolean;
834
867
  componentsProps?: {
835
868
  container?: Partial<InputWrapperProps>
836
- ScrollArea?: Partial<ScrollAreaProps3>
869
+ ScrollArea?: Partial<ScrollAreaProps2>
837
870
  childrenContainer?: Partial<BoxProps4>
838
871
  };
839
872
  }
840
873
  declare function InputWrapperScrollArea({ children, label, mah, description, error, required, componentsProps }: PropsWithChildren26<InputWrapperScrollAreaProps>): ReactNode42;
841
- export { useWidgets, useWidget, useSettingsWidgetContext as useSettingsWidgetOptions, useSettingsTableOptions, useRemoraidUserExperience, useRemoraidTheme, useRemoraidRouter, useRemoraidApp, usePage, useLayouts, useHydrationStatus, useHydratedMantineColorScheme, useFrameLayoutElement, useFrameLayout, useAppShellUserExperience, supportedNavbarPositions, supportedFooterPositions, scrollToWidget, remoraidAppShellLayoutId, isValidElementOfType, isIcon, getElementTypeName, getDefaultWidgetContext, getDefaultNavigationElements, getDefaultButtonIconSize, getCssVars, defaultUserExperienceCookieName, defaultUserExperience, defaultTransitionDurations, defaultSettingsWidgetContext as defaultSettingsWidgetOptions, defaultSettingsTableOptions, defaultRemoraidButtonSize, defaultNavbarSettingsWidgetId, defaultNavbarPositions, defaultLayoutsContext, defaultFooterSettingsWidgetId, defaultFooterPositions, defaultAppShellUserExperienceCookieName, defaultAppShellUserExperience, defaultAppContext, createUserExperienceContext, createRemoraidTheme, createContextCluster, co, asElementOrPropsOfType, asElementOfType, asChildrenOfType, WidgetsProviderProps, WidgetsContext, WidgetWrapperProps, WidgetWrapper, WidgetSelectionHeaderProps, WidgetSelectionHeader, WidgetProps, WidgetContext, WidgetConfiguration, Widget, UserExperienceProviderWrapperProps, UserExperienceProviderWrapper, UserExperienceProviderProps, UserExperienceContext, UserExperience, TransitionDuration, ThemeProviderProps, StaticRemoraidAppContext, SettingsWidgetSaveButtonProps, SettingsWidgetProps, SettingsWidgetContext, _default5 as SettingsWidget, SettingsTableRowProps, SettingsTableOptions, _default6 as SettingsTable, ScrollableChipGroupProps, ScrollableChipGroup2 as ScrollableChipGroup, RouterProviderProps, RouterProvider2 as RouterProvider, RouterAdapter, RemoraidUser, RemoraidThemeDependencies, RemoraidThemeCallback, RemoraidTheme, RemoraidProviderProps, RemoraidProvider, RemoraidIconSize, RemoraidButtonProps, RemoraidButtonDefaultResponsivity, RemoraidButton, RemoraidBreakpoint, RemoraidAuthContext, RemoraidAppContext, PropsWithChildrenOfType, PrimitiveUserExperience, PinnableProps, PinnableDefaultLayoutType, Pinnable2 as Pinnable, PageProps, PageContainerProps, PageContainer2 as PageContainer, PageConfiguration, Page, OptionalIfExtends, Optional, NotFoundPageProps, NotFoundPage, NavigationMenuProps, NavigationElementType, NavigationElementButton, NavigationElementBase, NavigationElementAnchor, NavigationElement, NavbarVariant, NavbarSettingsWidgetProps, NavbarSettingsWidget, NavbarProps, NavbarPosition, NavbarOrientation, NavbarMode, NavbarMobileVariant, NavbarMobilePosition, NavbarMinimalProps, NavbarMinimalContentProps, _default as Navbar, LayoutsProviderProps, LayoutsContext, LayoutType, LayoutSection, LayoutElementContext, LayoutContext, InputWrapperScrollAreaProps, InputWrapperScrollArea, HydrationStatusProviderProps, HydrationStatusProvider, HydrationStatus, FrameLayoutSection, FrameLayoutProps, FrameLayoutElementProps, _default3 as FrameLayout, FooterVariant, FooterSettingsWidgetProps, FooterSettingsWidget, FooterProps, FooterPosition, FooterMinimalProps, _default2 as Footer, EnvironmentShellVariant, EnvironmentShellProps, EnvironmentShell, ElementOrPropsOfType, ElementOfType, DefaultNavigationElementsDependencies, CustomAppVariables, CoreUserExperience, ControlsProps, Controls, ControlButtonProps, ControlButton, ContextClusterProviderProps, ContextClusterProvider, ContextCluster, Common, ClickTransformation, ChildrenOfType, BadgeMinimalProps, BadgeMinimal, BadgeGroupProps, BadgeGroup, AppShellUserExperience, AppShellProps, AppShellNavbarVariant, AppShellNavbarMobileVariant, AppShellFooterVariant, _default4 as AppShell, AppProviderProps, AppProvider2 as AppProvider, AlertMinimalProps, AlertMinimal, AlertCategory };
874
+ export { useWidgets, useWidget, useSettingsWidgetContext as useSettingsWidgetOptions, useSettingsTableOptions, useRemoraidUserExperience, useRemoraidTheme, useRemoraidRouter, useRemoraidApp, usePage, useLayouts, useHydrationStatus, useHydratedMantineColorScheme, useFrameLayoutElement, useFrameLayout, useAppShellUserExperience, scrollToWidget, remoraidAppShellLayoutId, navbarMetadata, isValidElementOfType, isIcon, getElementTypeName, getDefaultWidgetContext, getDefaultNavigationElements, getDefaultButtonIconSize, getCssVars, footerMetadata, defaultUserExperienceCookieName, defaultUserExperience, defaultTransitionDurations, defaultSettingsWidgetContext as defaultSettingsWidgetOptions, defaultSettingsTableOptions, defaultRemoraidButtonSize, defaultNavbarSettingsWidgetId, defaultLayoutsContext, defaultFooterSettingsWidgetId, defaultAppShellUserExperienceCookieName, defaultAppShellUserExperience, defaultAppContext, createUserExperienceContext, createRemoraidTheme, createContextCluster, co, asElementOrPropsOfType, asElementOfType, asChildrenOfType, WidgetsProviderProps, WidgetsContext, WidgetWrapperProps, WidgetWrapper, WidgetSelectionHeaderProps, WidgetSelectionHeader, WidgetProps, WidgetContext, WidgetConfiguration, Widget, UserExperienceProviderWrapperProps, UserExperienceProviderWrapper, UserExperienceProviderProps, UserExperienceContext, UserExperience, TransitionDuration, ThemeProviderProps, StaticRemoraidAppContext, SettingsWidgetSaveButtonProps, SettingsWidgetProps, SettingsWidgetContext, _default5 as SettingsWidget, SettingsTableRowProps, SettingsTableOptions, _default6 as SettingsTable, ScrollableChipGroupProps, ScrollableChipGroup2 as ScrollableChipGroup, RouterProviderProps, RouterProvider2 as RouterProvider, RouterAdapter, RemoraidUser, RemoraidThemeDependencies, RemoraidThemeCallback, RemoraidTheme, RemoraidProviderProps, RemoraidProvider, RemoraidIconSize, RemoraidButtonProps, RemoraidButtonDefaultResponsivity, RemoraidButton, RemoraidBreakpoint, RemoraidAuthContext, RemoraidAppContext, PropsWithChildrenOfType, PrimitiveUserExperience, PinnableProps, PinnableDefaultLayoutType, Pinnable2 as Pinnable, PageProps, PageContainerProps, PageContainer2 as PageContainer, PageConfiguration, Page, OptionalIfExtends, Optional, NotFoundPageProps, NotFoundPage, NavigationMenuProps, NavigationElementType, NavigationElementButton, NavigationElementBase, NavigationElementAnchor, NavigationElement, NavbarVariant, NavbarSettingsWidgetProps, NavbarSettingsWidget, NavbarProps, NavbarPosition, NavbarOrientation, NavbarMode, NavbarMobileVariant, NavbarMobilePosition, NavbarMinimalProps, NavbarMinimalContentProps, NavbarMetadata, _default as Navbar, LayoutsProviderProps, LayoutsContext, LayoutType, LayoutSection, LayoutElementContext, LayoutContext, InputWrapperScrollAreaProps, InputWrapperScrollArea, HydrationStatusProviderProps, HydrationStatusProvider, HydrationStatus, FrameLayoutSection, FrameLayoutProps, FrameLayoutElementProps, _default3 as FrameLayout, FooterVariant, FooterSettingsWidgetProps, FooterSettingsWidget, FooterProps, FooterPosition, FooterMinimalProps, FooterMetadata, _default2 as Footer, EnvironmentShellVariant, EnvironmentShellProps, EnvironmentShell, ElementOrPropsOfType, ElementOfType, DefaultNavigationElementsDependencies, CustomAppVariables, CoreUserExperience, ControlsProps, Controls, ControlButtonProps, ControlButton, ContextClusterProviderProps, ContextClusterProvider, ContextCluster, Common, ClickTransformation, ChildrenOfType, BadgeMinimalProps, BadgeMinimal, BadgeGroupProps, BadgeGroup, AppShellUserExperience, AppShellProps, AppShellNavbarMobileVariant, _default4 as AppShell, AppProviderProps, AppProvider2 as AppProvider, AlertMinimalProps, AlertMinimal, AlertCategory };