xladmin 0.1.6 → 0.1.8

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,9 +1,12 @@
1
1
  import type { AdminModelMeta, AdminModelsBlockMeta } from '../types';
2
+ import type { ActiveModelSlug } from './models-blocks/types';
2
3
  type AdminModelsBlocksProps = {
3
4
  basePath: string;
4
5
  models: AdminModelMeta[];
5
6
  blocks: AdminModelsBlockMeta[];
6
7
  variant: 'sidebar' | 'dashboard';
8
+ activeModelSlug?: ActiveModelSlug;
9
+ onModelNavigate?: (href: string) => void;
7
10
  };
8
11
  export type ModelsBlocksProps = AdminModelsBlocksProps;
9
12
  export declare const ModelsBlocks: import("react").NamedExoticComponent<AdminModelsBlocksProps>;
@@ -4,7 +4,8 @@ type AdminNavLinkProps = {
4
4
  children: ReactNode;
5
5
  style?: CSSProperties;
6
6
  title?: string;
7
+ onClick?: () => void;
7
8
  };
8
9
  export type NavLinkProps = AdminNavLinkProps;
9
- export declare function NavLink({ href, children, style, title }: NavLinkProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare function NavLink({ href, children, style, title, onClick }: NavLinkProps): import("react/jsx-runtime").JSX.Element;
10
11
  export {};
@@ -0,0 +1,14 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { AdminLocale, AdminModelMeta, AdminModelsBlockMeta } from '../../types';
3
+ type AdminDataContextValue = {
4
+ locale: AdminLocale;
5
+ models: AdminModelMeta[];
6
+ blocks: AdminModelsBlockMeta[];
7
+ };
8
+ type AdminDataProviderProps = {
9
+ value: AdminDataContextValue;
10
+ children: ReactNode;
11
+ };
12
+ export declare function AdminDataProvider({ value, children }: AdminDataProviderProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function useAdminData(): AdminDataContextValue;
14
+ export {};
@@ -5,6 +5,7 @@ type MainHeaderProps = {
5
5
  details?: ReactNode;
6
6
  error?: string | null;
7
7
  beforeTitle?: ReactNode;
8
+ beforeSubtitle?: ReactNode;
8
9
  actions?: ReactNode;
9
10
  };
10
11
  /**
@@ -13,7 +14,7 @@ type MainHeaderProps = {
13
14
  * Это именованный компонент, чтобы в DevTools был виден не анонимный `Paper`,
14
15
  * а понятный `MainHeader`.
15
16
  */
16
- export declare function MainHeader({ title, subtitle, details, error, beforeTitle, actions }: MainHeaderProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare function MainHeader({ title, subtitle, details, error, beforeTitle, beforeSubtitle, actions }: MainHeaderProps): import("react/jsx-runtime").JSX.Element;
17
18
  type MainHeaderSkeletonProps = {
18
19
  titleWidth?: number | string;
19
20
  subtitleWidth?: number | string;
@@ -2,6 +2,9 @@ import type { ReactNode } from 'react';
2
2
  type ShellContextValue = {
3
3
  isMobile: boolean;
4
4
  openMobileSidebar: () => void;
5
+ pendingPath: string | null;
6
+ pendingView: 'overview' | 'model' | 'generic' | null;
7
+ startPendingNavigation: (path: string, view?: 'overview' | 'model' | 'generic') => void;
5
8
  };
6
9
  export declare function ShellContextProvider({ value, children, }: {
7
10
  value: ShellContextValue;
@@ -2,6 +2,8 @@ import type { NormalizedBlock } from './types';
2
2
  type SidebarModelsBlockProps = {
3
3
  block: NormalizedBlock;
4
4
  basePath: string;
5
+ activeModelSlug: string | null;
6
+ onModelNavigate?: (href: string) => void;
5
7
  };
6
- export declare function SidebarModelsBlock({ block, basePath }: SidebarModelsBlockProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function SidebarModelsBlock({ block, basePath, activeModelSlug, onModelNavigate }: SidebarModelsBlockProps): import("react/jsx-runtime").JSX.Element;
7
9
  export {};
@@ -9,3 +9,4 @@ export type NormalizedBlock = {
9
9
  models: AdminModelMeta[];
10
10
  isAllModels?: boolean;
11
11
  };
12
+ export type ActiveModelSlug = string | null;
@@ -0,0 +1 @@
1
+ export declare function useAdminDocumentTitle(...parts: Array<string | null | undefined>): void;
package/dist/i18n.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type ReactNode } from 'react';
2
2
  import type { AdminLocale } from './types';
3
- type AdminTranslationKey = 'loading' | 'overview' | 'overview_title' | 'overview_subtitle' | 'all_models' | 'all_models_description' | 'models_load_error' | 'model_load_error' | 'object_load_error' | 'object_save_error' | 'object_delete_error' | 'object_action_error' | 'search' | 'filters' | 'active_filters' | 'reset_filters' | 'create' | 'all' | 'actions' | 'selected_count' | 'delete' | 'save' | 'saving' | 'deleting' | 'executing' | 'cancel' | 'objects_count' | 'yes' | 'no' | 'delete_object_title' | 'delete_bulk_title' | 'delete_preview_hint' | 'delete_preview_blocked_hint' | 'delete_preview_roots' | 'delete_preview_delete' | 'delete_preview_protect' | 'delete_preview_set_null' | 'delete_preview_total' | 'delete_preview_empty' | 'delete_preview_loading' | 'delete_preview_error' | 'delete_preview_no_selection' | 'delete_effect_delete' | 'delete_effect_protect' | 'delete_effect_set_null' | 'invalid_json' | 'back' | 'menu' | 'staff_only';
3
+ type AdminTranslationKey = 'admin_title' | 'loading' | 'overview' | 'overview_title' | 'overview_subtitle' | 'all_models' | 'all_models_description' | 'models_load_error' | 'model_load_error' | 'object_load_error' | 'object_save_error' | 'object_delete_error' | 'object_action_error' | 'search' | 'filters' | 'active_filters' | 'reset_filters' | 'create' | 'all' | 'actions' | 'selected_count' | 'delete' | 'save' | 'saving' | 'deleting' | 'executing' | 'cancel' | 'objects_count' | 'yes' | 'no' | 'delete_object_title' | 'delete_bulk_title' | 'delete_preview_hint' | 'delete_preview_blocked_hint' | 'delete_preview_roots' | 'delete_preview_delete' | 'delete_preview_protect' | 'delete_preview_set_null' | 'delete_preview_total' | 'delete_preview_empty' | 'delete_preview_loading' | 'delete_preview_error' | 'delete_preview_no_selection' | 'delete_effect_delete' | 'delete_effect_protect' | 'delete_effect_set_null' | 'invalid_json' | 'back' | 'menu' | 'show_details' | 'hide_details' | 'staff_only';
4
4
  type AdminLocaleProviderProps = {
5
5
  locale?: string | null;
6
6
  children: ReactNode;