@sito/dashboard-app 0.0.57 → 0.0.59

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.
Files changed (70) hide show
  1. package/README.md +58 -2
  2. package/dist/components/BottomNavigation/BottomNavigation.d.ts +8 -0
  3. package/dist/components/BottomNavigation/NavLink.d.ts +13 -0
  4. package/dist/components/BottomNavigation/index.d.ts +2 -0
  5. package/dist/components/BottomNavigation/testmap.d.ts +2 -0
  6. package/dist/components/BottomNavigation/types.d.ts +26 -0
  7. package/dist/components/BottomNavigation/utils.d.ts +17 -0
  8. package/dist/components/Buttons/IconButton.d.ts +5 -0
  9. package/dist/components/Buttons/ToTop.d.ts +5 -0
  10. package/dist/components/Dialog/ConfirmationDialog.d.ts +5 -0
  11. package/dist/components/Dialog/Dialog.d.ts +5 -0
  12. package/dist/components/Dialog/DialogActions.d.ts +5 -0
  13. package/dist/components/Dialog/FormDialog.d.ts +5 -0
  14. package/dist/components/Dialog/ImportDialog/Error.d.ts +6 -5
  15. package/dist/components/Dialog/ImportDialog/ImportDialog.d.ts +5 -0
  16. package/dist/components/Dialog/ImportDialog/Loading.d.ts +6 -5
  17. package/dist/components/Dialog/ImportDialog/Preview.d.ts +5 -0
  18. package/dist/components/Dialog/ImportDialog/types.d.ts +33 -0
  19. package/dist/components/Drawer/Drawer.d.ts +5 -0
  20. package/dist/components/Empty/Empty.d.ts +5 -0
  21. package/dist/components/Error/Error.d.ts +5 -0
  22. package/dist/components/Form/FormContainer.d.ts +5 -0
  23. package/dist/components/Form/PasswordInput.d.ts +6 -0
  24. package/dist/components/Loading/SplashScreen.d.ts +5 -0
  25. package/dist/components/Navbar/Navbar.d.ts +5 -0
  26. package/dist/components/Notification/Notification.d.ts +4 -0
  27. package/dist/components/Onboarding/Onboarding.d.ts +5 -0
  28. package/dist/components/Onboarding/Step.d.ts +5 -0
  29. package/dist/components/Page/Page.d.ts +5 -0
  30. package/dist/components/Page/PageHeader.d.ts +5 -0
  31. package/dist/components/PrettyGrid/PrettyGrid.d.ts +5 -0
  32. package/dist/components/TabsLayout/Tab.d.ts +5 -0
  33. package/dist/components/TabsLayout/TabsLayout.d.ts +5 -0
  34. package/dist/components/index.d.ts +1 -0
  35. package/dist/dashboard-app.cjs +1 -1
  36. package/dist/dashboard-app.js +1247 -1138
  37. package/dist/hooks/actions/types.d.ts +1 -0
  38. package/dist/hooks/actions/useDeleteAction.d.ts +5 -0
  39. package/dist/hooks/actions/useEditAction.d.ts +5 -0
  40. package/dist/hooks/actions/useExportAction.d.ts +5 -0
  41. package/dist/hooks/actions/useImportAction.d.ts +5 -0
  42. package/dist/hooks/actions/useRestoreAction.d.ts +5 -0
  43. package/dist/hooks/dialogs/useDeleteDialog.d.ts +5 -0
  44. package/dist/hooks/dialogs/useDialog.d.ts +4 -0
  45. package/dist/hooks/dialogs/useFormDialog.d.ts +5 -0
  46. package/dist/hooks/dialogs/useImportDialog.d.ts +5 -0
  47. package/dist/hooks/dialogs/usePostDialog.d.ts +5 -0
  48. package/dist/hooks/dialogs/usePutDialog.d.ts +5 -0
  49. package/dist/hooks/dialogs/useRestoreDialog.d.ts +5 -0
  50. package/dist/hooks/forms/useConfirmationForm.d.ts +5 -0
  51. package/dist/hooks/forms/usePostForm.d.ts +5 -0
  52. package/dist/hooks/mutate/useExportActionMutate.d.ts +5 -0
  53. package/dist/hooks/useScrollTrigger.d.ts +5 -0
  54. package/dist/hooks/useTimeAge.d.ts +4 -0
  55. package/dist/lib/Notification.d.ts +1 -0
  56. package/dist/lib/api/AuthClient.d.ts +6 -0
  57. package/dist/lib/api/BaseClient.d.ts +6 -3
  58. package/dist/lib/api/IManager.d.ts +6 -0
  59. package/dist/lib/api/IndexedDBClient.d.ts +6 -0
  60. package/dist/lib/api/SupabaseDataClient.d.ts +6 -0
  61. package/dist/lib/api/supabaseAuth.d.ts +6 -0
  62. package/dist/lib/api/utils/services.d.ts +7 -0
  63. package/dist/lib/errors.d.ts +16 -0
  64. package/dist/lib/utils/enums.d.ts +5 -0
  65. package/dist/lib/utils/os.d.ts +4 -0
  66. package/dist/main.css +1 -1
  67. package/dist/providers/Auth/authContext.d.ts +10 -0
  68. package/dist/providers/NotificationProvider.d.ts +5 -0
  69. package/dist/providers/Supbase/SupabaseContext.d.ts +5 -0
  70. package/package.json +1 -1
package/README.md CHANGED
@@ -15,7 +15,8 @@ Use documentation by target package:
15
15
  Important:
16
16
 
17
17
  - `.sito/*.md` is not the canonical integration guide for this package.
18
- - For `@sito/dashboard-app` provider setup, use `ConfigProvider -> ManagerProvider -> AuthProvider -> NotificationProvider -> DrawerMenuProvider` (`NavbarProvider` when needed).
18
+ - For auth-enabled apps, use `ConfigProvider -> ManagerProvider -> AuthProvider -> NotificationProvider -> DrawerMenuProvider` (`NavbarProvider` when needed).
19
+ - `Drawer` and `Onboarding` can run without `AuthProvider`; in that case they behave as guest-mode UI defaults.
19
20
  - `IconButton` differs by package:
20
21
  - `@sito/dashboard`: `icon` accepts a React node.
21
22
  - `@sito/dashboard-app`: `icon` expects `IconDefinition` (FontAwesome wrapper export).
@@ -64,7 +65,7 @@ npm install @supabase/supabase-js@2.100.0
64
65
 
65
66
  ## Core exports
66
67
 
67
- - Layout and navigation: `Page`, `Navbar`, `Drawer`, `TabsLayout`, `PrettyGrid`, `ToTop`
68
+ - Layout and navigation: `Page`, `Navbar`, `Drawer`, `BottomNavigation`, `TabsLayout`, `PrettyGrid`, `ToTop`
68
69
  - Actions and menus: `Actions`, `Action`, `Dropdown`, button components
69
70
  - Dialogs and forms: `Dialog`, `FormDialog`, `ImportDialog`, form inputs
70
71
  - Feedback: `Notification`, `Loading`, `Empty`, `Error`, `Onboarding`
@@ -257,6 +258,60 @@ Main optional props:
257
258
  - `scrollOnClick?: boolean` (default `true`)
258
259
  - `onClick?: () => void`
259
260
 
261
+ ### BottomNavigation
262
+
263
+ `BottomNavigation` is a mobile-first fixed navigation bar intended for compact app shells.
264
+ It is router-agnostic and uses `ConfigProvider` primitives (`location`, `navigate`, `linkComponent`).
265
+
266
+ ```tsx
267
+ import {
268
+ BottomNavigation,
269
+ type BottomNavigationItemType,
270
+ } from "@sito/dashboard-app";
271
+ import {
272
+ faBox,
273
+ faHome,
274
+ faPlus,
275
+ faUser,
276
+ } from "@fortawesome/free-solid-svg-icons";
277
+
278
+ type BottomNavId = "home" | "products" | "profile";
279
+
280
+ const bottomItems: BottomNavigationItemType<BottomNavId>[] = [
281
+ { id: "home", label: "Home", to: "/", icon: faHome, position: "left" },
282
+ {
283
+ id: "products",
284
+ label: "Products",
285
+ to: "/products",
286
+ icon: faBox,
287
+ position: "left",
288
+ },
289
+ {
290
+ id: "profile",
291
+ label: "Profile",
292
+ to: "/profile",
293
+ icon: faUser,
294
+ position: "right",
295
+ },
296
+ ];
297
+
298
+ <BottomNavigation
299
+ items={bottomItems}
300
+ centerAction={{
301
+ icon: faPlus,
302
+ to: "/products/new",
303
+ ariaLabel: "Create product",
304
+ }}
305
+ />;
306
+ ```
307
+
308
+ Key notes:
309
+
310
+ - Use `position: "right"` to place items in the right group; omitted/`"left"` stays on the left group.
311
+ - Use `isItemActive={(pathname, item) => ...}` for custom active matching (default uses path-prefix matching, with exact match for `/`).
312
+ - Use `hidden`/`disabled` on each item and `centerAction.hidden` for conditional rendering.
313
+ - `centerAction` supports `IconButton` visual props and optional `to`; navigation runs after `onClick` unless `event.preventDefault()` is called.
314
+
260
315
  ## Dialog hook migration (`v0.0.54`)
261
316
 
262
317
  `v0.0.54` removes the legacy entity-coupled `useFormDialog` contract.
@@ -472,6 +527,7 @@ export function App() {
472
527
  Notes:
473
528
 
474
529
  - Keep `ManagerProvider` above `AuthProvider`.
530
+ - `Drawer` and `Onboarding` are auth-optional wrappers. Without `AuthProvider`, `Drawer` treats the session as logged-out and `Onboarding` skips `setGuestMode`.
475
531
  - `NavbarProvider` is required when using `Navbar` or `useNavbar`; otherwise it can be omitted.
476
532
  - If you customize auth storage keys in `AuthProvider`, pass the same keys to `IManager`/`BaseClient` auth config.
477
533
 
@@ -0,0 +1,8 @@
1
+ import { BottomNavigationPropsType } from './types';
2
+ /**
3
+ * Bottom navigation component for mobile devices.
4
+ * The navigation items are divided into left and right groups, with an optional center action.
5
+ * Navigation is router-agnostic and uses ConfigProvider's location, navigate, and linkComponent.
6
+ * @returns {JSX.Element} The rendered BottomNavigation component.
7
+ */
8
+ export declare const BottomNavigation: <TId extends string = string>(props: BottomNavigationPropsType<TId>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { ComponentType } from 'react';
2
+ import { BaseLinkPropsType } from '../types';
3
+ import { BottomNavigationItemType } from './types';
4
+ type NavLinkPropsType<TId extends string = string> = {
5
+ item: BottomNavigationItemType<TId>;
6
+ isActive: boolean;
7
+ linkComponent: ComponentType<BaseLinkPropsType>;
8
+ };
9
+ /**
10
+ * NavLink component that renders a navigation item for the bottom navigation bar.
11
+ */
12
+ export declare const NavLink: <TId extends string = string>({ item, isActive, linkComponent: Link, }: NavLinkPropsType<TId>) => import("react/jsx-runtime").JSX.Element;
13
+ export {};
@@ -0,0 +1,2 @@
1
+ export { BottomNavigation } from './BottomNavigation';
2
+ export type { BottomNavigationCenterActionType, BottomNavigationItemType, BottomNavigationPositionType, BottomNavigationPropsType, } from './types';
@@ -0,0 +1,2 @@
1
+ import { BottomNavigationItemType } from './types';
2
+ export declare const bottomMap: BottomNavigationItemType[];
@@ -0,0 +1,26 @@
1
+ import { IconDefinition } from '@fortawesome/fontawesome-svg-core';
2
+ import { IconButtonPropsLocalType } from '../Buttons/IconButton';
3
+ export type BottomNavigationPositionType = "left" | "right";
4
+ export type BottomNavigationItemType<TId extends string = string> = {
5
+ id: TId;
6
+ to: string;
7
+ icon: IconDefinition;
8
+ label: string;
9
+ ariaLabel?: string;
10
+ position?: BottomNavigationPositionType;
11
+ hidden?: boolean;
12
+ disabled?: boolean;
13
+ };
14
+ export type BottomNavigationCenterActionType = Omit<IconButtonPropsLocalType, "icon" | "onClick" | "name"> & {
15
+ hidden?: boolean;
16
+ icon?: IconDefinition;
17
+ to?: string;
18
+ ariaLabel?: string;
19
+ onClick?: IconButtonPropsLocalType["onClick"];
20
+ };
21
+ export type BottomNavigationPropsType<TId extends string = string> = {
22
+ items: BottomNavigationItemType<TId>[];
23
+ centerAction?: BottomNavigationCenterActionType | null;
24
+ className?: string;
25
+ isItemActive?: (pathname: string, item: BottomNavigationItemType<TId>) => boolean;
26
+ };
@@ -0,0 +1,17 @@
1
+ import { BottomNavigationItemType } from './types';
2
+ /**
3
+ * Returns whether the current pathname matches the provided path.
4
+ * @param pathname - Current location pathname.
5
+ * @param path - Target path to evaluate.
6
+ * @returns True when the path is active.
7
+ */
8
+ export declare const isPathActive: (pathname: string, path: string) => boolean;
9
+ /**
10
+ * Splits visible items into left and right navigation groups.
11
+ * @param items - Bottom navigation items.
12
+ * @returns Visible items split by side.
13
+ */
14
+ export declare const splitBottomNavigationItems: <TId extends string>(items: BottomNavigationItemType<TId>[]) => {
15
+ leftItems: BottomNavigationItemType<TId>[];
16
+ rightItems: BottomNavigationItemType<TId>[];
17
+ };
@@ -3,4 +3,9 @@ import { IconDefinition } from '@fortawesome/fontawesome-svg-core';
3
3
  export type IconButtonPropsLocalType = Omit<IconButtonPropsType, "icon"> & {
4
4
  icon: IconDefinition;
5
5
  };
6
+ /**
7
+ * Wraps dashboard IconButton to accept a FontAwesome IconDefinition.
8
+ * @param props - Icon button props with a FontAwesome icon.
9
+ * @returns Wrapped dashboard IconButton element.
10
+ */
6
11
  export declare const AppIconButton: ({ icon, ...rest }: IconButtonPropsLocalType) => import("react/jsx-runtime").JSX.Element;
@@ -9,4 +9,9 @@ export type ToTopPropsType = Omit<IconButtonPropsLocalType, "icon" | "onClick">
9
9
  scrollOnClick?: boolean;
10
10
  onClick?: () => void;
11
11
  };
12
+ /**
13
+ * Renders a floating button that scrolls the page to a target position.
14
+ * @param props - Visual and behavior props for the button.
15
+ * @returns Scroll-to-top button element.
16
+ */
12
17
  export declare const ToTop: (props: ToTopPropsType) => import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,7 @@
1
1
  import { ConfirmationDialogPropsType } from './types';
2
+ /**
3
+ * Renders a confirmation dialog with cancel and primary actions.
4
+ * @param props - Confirmation dialog props.
5
+ * @returns Confirmation dialog element.
6
+ */
2
7
  export declare const ConfirmationDialog: (props: ConfirmationDialogPropsType) => import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,7 @@
1
1
  import { DialogPropsType } from './types';
2
+ /**
3
+ * Renders a portal-based modal dialog with backdrop and close behavior.
4
+ * @param props - Dialog props.
5
+ * @returns Modal dialog portal.
6
+ */
2
7
  export declare const Dialog: (props: DialogPropsType) => import('react').ReactPortal;
@@ -1,2 +1,7 @@
1
1
  import { DialogActionsProps } from './types';
2
+ /**
3
+ * Renders primary, secondary and optional extra actions for dialogs.
4
+ * @param props - Dialog actions configuration.
5
+ * @returns Actions container element.
6
+ */
2
7
  export declare const DialogActions: (props: DialogActionsProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,8 @@
1
1
  import { FieldValues } from 'react-hook-form';
2
2
  import { FormDialogPropsType } from './types';
3
+ /**
4
+ * Renders a form dialog with built-in submit and cancel controls.
5
+ * @param props - Form dialog props.
6
+ * @returns Form dialog element.
7
+ */
3
8
  export declare const FormDialog: <TInput extends FieldValues>(props: FormDialogPropsType<TInput>) => import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,7 @@
1
- type ErrorProps = {
2
- message?: string | null;
3
- className?: string;
4
- };
1
+ import { ErrorProps } from './types';
2
+ /**
3
+ * Displays parse or processing errors inside the import dialog flow.
4
+ * @param props - Error view props.
5
+ * @returns Error message element.
6
+ */
5
7
  export declare function Error(props: ErrorProps): import("react/jsx-runtime").JSX.Element;
6
- export {};
@@ -1,3 +1,8 @@
1
1
  import { ImportDialogPropsType } from '../..';
2
2
  import { ImportPreviewDto } from '../../../lib';
3
+ /**
4
+ * Handles file import, preview generation and submit for import workflows.
5
+ * @param props - Import dialog props.
6
+ * @returns Import dialog element.
7
+ */
3
8
  export declare const ImportDialog: <EntityDto extends ImportPreviewDto>(props: ImportDialogPropsType<EntityDto>) => import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,7 @@
1
- type ImportDialogLoadingProps = {
2
- message?: string;
3
- className?: string;
4
- };
1
+ import { ImportDialogLoadingProps } from './types';
2
+ /**
3
+ * Shows a loading state while an import file is being processed.
4
+ * @param props - Loading view props.
5
+ * @returns Loading indicator element.
6
+ */
5
7
  export declare function Loading(props: ImportDialogLoadingProps): import("react/jsx-runtime").JSX.Element;
6
- export {};
@@ -4,5 +4,10 @@ type PreviewProps<EntityDto extends ImportPreviewDto> = {
4
4
  max?: number;
5
5
  className?: string;
6
6
  };
7
+ /**
8
+ * Renders a compact JSON preview of parsed import items.
9
+ * @param props - Preview props.
10
+ * @returns Preview element or null when there are no items.
11
+ */
7
12
  export declare function Preview<EntityDto extends ImportPreviewDto>(props: PreviewProps<EntityDto>): import("react/jsx-runtime").JSX.Element | null;
8
13
  export {};
@@ -12,3 +12,36 @@ export interface ImportDialogPropsType<EntityDto extends ImportPreviewDto> exten
12
12
  onOverrideChange?: (override: boolean) => void;
13
13
  extraActions?: ButtonPropsType[];
14
14
  }
15
+ export type ImportDialogLoadingProps = {
16
+ message?: string;
17
+ className?: string;
18
+ };
19
+ export type ImportState<T> = {
20
+ file: File | null;
21
+ previewItems: T[] | null;
22
+ parseError: string | null;
23
+ processing: boolean;
24
+ overrideExisting: boolean;
25
+ inputKey: number;
26
+ };
27
+ export type ImportAction<T> = {
28
+ type: "SET_FILE";
29
+ file: File | null;
30
+ } | {
31
+ type: "START_PROCESSING";
32
+ } | {
33
+ type: "SET_PREVIEW";
34
+ items: T[];
35
+ } | {
36
+ type: "SET_ERROR";
37
+ message: string;
38
+ } | {
39
+ type: "SET_OVERRIDE";
40
+ value: boolean;
41
+ } | {
42
+ type: "RESET";
43
+ };
44
+ export type ErrorProps = {
45
+ message?: string | null;
46
+ className?: string;
47
+ };
@@ -1,2 +1,7 @@
1
1
  import { DrawerPropsTypes } from './types';
2
+ /**
3
+ * Renders the side drawer and resolves menu visibility by auth state.
4
+ * @param props - Drawer props.
5
+ * @returns Drawer element.
6
+ */
2
7
  export declare function Drawer<MenuKeys>(props: DrawerPropsTypes<MenuKeys>): import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,8 @@
1
1
  import { EmptyPropsType } from './types';
2
2
  import { BaseEntityDto } from '../../lib';
3
+ /**
4
+ * Displays an empty-state message with optional icon and action.
5
+ * @param props - Empty-state props.
6
+ * @returns Empty-state element.
7
+ */
3
8
  export declare const Empty: <TRow extends BaseEntityDto>(props: EmptyPropsType<TRow>) => import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,7 @@
1
1
  import { ErrorPropsType } from './types';
2
+ /**
3
+ * Renders either a default error panel or fully custom error content.
4
+ * @param props - Error props in default or custom-content mode.
5
+ * @returns Error UI element.
6
+ */
2
7
  export declare function Error(props: ErrorPropsType): import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,8 @@
1
1
  import { FieldValues } from 'react-hook-form';
2
2
  import { FormContainerPropsType } from './types';
3
+ /**
4
+ * Wraps form content and renders default submit/cancel actions.
5
+ * @param props - Form container props.
6
+ * @returns Form element with default action buttons.
7
+ */
3
8
  export declare const FormContainer: <TInput extends FieldValues>(props: FormContainerPropsType<TInput>) => import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,8 @@
1
1
  import { TextInputPropsType } from '@sito/dashboard';
2
+ /**
3
+ * Text input specialized for passwords with show/hide visibility toggle.
4
+ * @param props - TextInput props.
5
+ * @param ref - Forwarded input ref.
6
+ * @returns Password input element.
7
+ */
2
8
  export declare const PasswordInput: import('react').ForwardRefExoticComponent<Omit<TextInputPropsType, "ref"> & import('react').RefAttributes<HTMLInputElement>>;
@@ -1,2 +1,7 @@
1
1
  import { LoadingPropsType } from './types';
2
+ /**
3
+ * Renders a full-screen loading overlay for app bootstrapping states.
4
+ * @param props - Loading component props.
5
+ * @returns Splash screen element.
6
+ */
2
7
  export declare function SplashScreen(props: LoadingPropsType): import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,7 @@
1
1
  import { NavbarPropsType } from './types.js';
2
+ /**
3
+ * Renders the top navigation bar with menu, title and optional search.
4
+ * @param props - Navbar props.
5
+ * @returns Navbar element.
6
+ */
2
7
  export declare function Navbar(props: NavbarPropsType): import("react/jsx-runtime").JSX.Element;
@@ -1 +1,5 @@
1
+ /**
2
+ * Renders portal-based toast notifications managed by NotificationProvider.
3
+ * @returns Notification portal element.
4
+ */
1
5
  export declare function Notification(): import('react').ReactPortal;
@@ -1,2 +1,7 @@
1
1
  import { OnboardingPropsType } from './types';
2
+ /**
3
+ * Renders the onboarding flow using controlled TabsLayout steps.
4
+ * @param props - Onboarding props.
5
+ * @returns Onboarding element.
6
+ */
2
7
  export declare const Onboarding: (props: OnboardingPropsType) => import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,7 @@
1
1
  import { StepPropsType } from './types';
2
+ /**
3
+ * Renders a single onboarding step with navigation actions.
4
+ * @param props - Step props.
5
+ * @returns Step element.
6
+ */
2
7
  export declare const Step: (props: StepPropsType) => import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,8 @@
1
1
  import { PagePropsType } from './types';
2
2
  import { BaseEntityDto } from '../../lib';
3
+ /**
4
+ * Composes standard page layout with actions, header and loading states.
5
+ * @param props - Page props.
6
+ * @returns Page layout element.
7
+ */
3
8
  export declare const Page: <TEntity extends BaseEntityDto>(props: PagePropsType<TEntity>) => import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,8 @@
1
1
  import { PageHeaderPropsType } from './types';
2
2
  import { BaseEntityDto } from '../../lib';
3
+ /**
4
+ * Renders page title plus desktop/mobile action controls and back button.
5
+ * @param props - Page header props.
6
+ * @returns Page header element.
7
+ */
3
8
  export declare const PageHeader: <TEntity extends BaseEntityDto>(props: PageHeaderPropsType<TEntity>) => import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,8 @@
1
1
  import { BaseEntityDto } from '../../lib';
2
2
  import { PrettyGridPropsType } from './types';
3
+ /**
4
+ * Renders a card grid with empty, loading and infinite-scroll states.
5
+ * @param props - PrettyGrid props.
6
+ * @returns Grid element with optional empty/loading states.
7
+ */
3
8
  export declare const PrettyGrid: <TDto extends BaseEntityDto>(props: PrettyGridPropsType<TDto>) => import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,7 @@
1
1
  import { TabPropsType } from './types';
2
+ /**
3
+ * Renders a single tab as either a router link or local button.
4
+ * @param props - Tab props.
5
+ * @returns Tab element.
6
+ */
2
7
  export declare const Tab: (props: TabPropsType) => import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,7 @@
1
1
  import { TabsLayoutPropsType } from './types';
2
+ /**
3
+ * Renders tab navigation and active tab content in controlled/uncontrolled mode.
4
+ * @param props - Tabs layout props.
5
+ * @returns Tabs layout element.
6
+ */
2
7
  export declare const TabsLayout: (props: TabsLayoutPropsType) => import("react/jsx-runtime").JSX.Element;
@@ -12,6 +12,7 @@ export * from './Drawer';
12
12
  export * from './Loading';
13
13
  export * from './TabsLayout';
14
14
  export * from './Onboarding';
15
+ export * from './BottomNavigation';
15
16
  export * from './Buttons';
16
17
  export * from './Empty';
17
18
  export * from './types';