@nodeblocks/frontend-list-users-block 0.3.0 → 0.4.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,112 +0,0 @@
1
- import { StackProps } from '@mui/material';
2
- import { ComponentProps, type ReactNode, type SyntheticEvent } from 'react';
3
- import { BaseTable, type BaseTableSearchChip, type BlocksOverride } from '@nodeblocks/frontend-base-block';
4
- export interface ListUsersRowData extends Record<string, unknown> {
5
- id: string;
6
- createdAt: string;
7
- name: string;
8
- status: string;
9
- }
10
- type ListUsersRowActionType = 'activate' | 'deactivate';
11
- type ListUsersStatusMatch = {
12
- inUse: string;
13
- notInUse: string;
14
- };
15
- export type TabData = {
16
- key: string;
17
- label: string;
18
- isDisabled?: boolean;
19
- subtitle?: string;
20
- };
21
- export interface PaginationProps {
22
- /** Custom class to give the html component */
23
- className?: string;
24
- /** Currently selected page in the pagination. Pages are counted from 1. */
25
- currentPage: number;
26
- /** Callback when the page is changed */
27
- onPageChange: (page: number) => void;
28
- /** Total number of pages in the pagination. */
29
- totalPages: number;
30
- }
31
- type ListUsersLabels = {
32
- emptyStateMessage: string;
33
- searchFieldPlaceholder: string;
34
- rowActions?: {
35
- activate: string;
36
- deactivate: string;
37
- };
38
- headerRow: {
39
- createdAt: string;
40
- name: string;
41
- status: string;
42
- };
43
- cellData: {
44
- statusActive: string;
45
- statusInactive: string;
46
- };
47
- };
48
- type ListUsersValue<TTabs extends TabData[] = TabData[]> = {
49
- listUsersTitle: ReactNode;
50
- isLoading?: boolean;
51
- labels: ListUsersLabels;
52
- searchValue?: string;
53
- onSearchFieldChange?: (value: string) => void;
54
- onSearchSubmit?: () => void;
55
- onItemActivate?: (rowId: ListUsersRowData['id']) => void;
56
- onItemDeactivate?: (rowId: ListUsersRowData['id']) => void;
57
- shouldShowDropdownMenu?: (row: ListUsersRowData) => boolean;
58
- resolveRowAction?: (row: ListUsersRowData) => ListUsersRowActionType[] | undefined;
59
- statusMatch?: ListUsersStatusMatch;
60
- onNavigate?: (to: string) => void;
61
- pagination?: PaginationProps;
62
- data: ListUsersRowData[];
63
- rowHref?: (row: ListUsersRowData) => string;
64
- tabs?: TTabs;
65
- currentTab?: TTabs[number]['key'];
66
- onTabChange?: (tab: TTabs[number]['key']) => void;
67
- searchChipsTitle?: ReactNode;
68
- searchChips?: BaseTableSearchChip[];
69
- onSearchChipDelete?: (chip: BaseTableSearchChip, index: number, event: SyntheticEvent) => void;
70
- };
71
- type ListUsersDefaultBlocks = {
72
- title: ReactNode;
73
- action: ReactNode;
74
- header: ReactNode;
75
- loader: ReactNode;
76
- content: ReactNode;
77
- tabs: ReactNode;
78
- searchChips: ReactNode;
79
- table: ReactNode;
80
- pagination: ReactNode;
81
- };
82
- type ListUsersRootPassthroughProps = Omit<StackProps, 'children'>;
83
- type ListUsersProps<TTabs extends TabData[] = TabData[], CustomBlocks extends Record<string, ReactNode> = {}> = ListUsersRootPassthroughProps & Required<Pick<ListUsersValue<TTabs>, 'listUsersTitle' | 'labels' | 'data'>> & Partial<Pick<ListUsersValue<TTabs>, 'isLoading' | 'searchValue' | 'onSearchFieldChange' | 'onSearchSubmit' | 'onItemActivate' | 'onItemDeactivate' | 'shouldShowDropdownMenu' | 'resolveRowAction' | 'statusMatch' | 'onNavigate' | 'pagination' | 'rowHref' | 'tabs' | 'currentTab' | 'onTabChange' | 'searchChipsTitle' | 'searchChips' | 'onSearchChipDelete'>> & {
84
- children?: BlocksOverride<ListUsersDefaultBlocks, CustomBlocks>;
85
- };
86
- type ListUsersTitleProps = ComponentProps<typeof BaseTable.Header.Title> & {
87
- listUsersTitle?: ReactNode;
88
- };
89
- type ListUsersHeaderProps = ComponentProps<typeof BaseTable.Header>;
90
- type ListUsersActionProps = ComponentProps<typeof BaseTable.Header.Actions> & Partial<Pick<ListUsersValue, 'labels' | 'searchValue' | 'onSearchFieldChange' | 'onSearchSubmit'>>;
91
- type ListUsersLoaderProps = ComponentProps<typeof BaseTable.Content.Loader>;
92
- type ListUsersContentProps = ComponentProps<typeof BaseTable.Content>;
93
- type ListUsersTabsProps = ComponentProps<typeof BaseTable.Tabs<ListUsersRowData>>;
94
- type ListUsersBaseTableGridProps = ComponentProps<typeof BaseTable.Content.Grid<ListUsersRowData>>;
95
- type ListUsersTableProps = Omit<ListUsersBaseTableGridProps, 'columns' | 'rows' | 'rowActions' | 'actionColumn' | 'onRowClick' | 'noRowsOverlay'> & Partial<Pick<ListUsersValue, 'labels' | 'data' | 'statusMatch' | 'onItemActivate' | 'onItemDeactivate' | 'shouldShowDropdownMenu' | 'resolveRowAction' | 'rowHref' | 'onNavigate'>>;
96
- type ListUsersPaginationProps = Partial<Omit<ComponentProps<typeof BaseTable.Pagination>, 'pagination' | 'rows' | 'isLoading'>> & Partial<Pick<ListUsersValue, 'pagination' | 'data' | 'isLoading'>>;
97
- type ListUsersSearchChipsProps = Partial<ComponentProps<typeof BaseTable.SearchChips>>;
98
- type ListUsersComponent = {
99
- <TTabs extends TabData[] = TabData[], CustomBlocks extends Record<string, ReactNode> = {}>(props: ListUsersProps<TTabs, CustomBlocks>): ReactNode;
100
- Title: (props: ListUsersTitleProps) => ReactNode;
101
- Action: (props: ListUsersActionProps) => ReactNode;
102
- Header: (props: ListUsersHeaderProps) => ReactNode;
103
- Loader: (props: ListUsersLoaderProps) => ReactNode;
104
- Content: (props: ListUsersContentProps) => ReactNode;
105
- Tabs: (props: ListUsersTabsProps) => ReactNode;
106
- SearchChips: (props: ListUsersSearchChipsProps) => ReactNode;
107
- Table: (props: ListUsersTableProps) => ReactNode;
108
- Pagination: (props: ListUsersPaginationProps) => ReactNode;
109
- };
110
- declare const ListUsers: ListUsersComponent;
111
- export default ListUsers;
112
- //# sourceMappingURL=list-users.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-users.d.ts","sourceRoot":"","sources":["../src/list-users.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=list-users.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-users.test.d.ts","sourceRoot":"","sources":["../src/list-users.test.tsx"],"names":[],"mappings":""}