@nodeblocks/frontend-list-organization-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,118 +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 ListOrganizationsRowData extends Record<string, unknown> {
5
- id: string;
6
- createdAt: string;
7
- name: string;
8
- joinDate: string;
9
- status: string;
10
- }
11
- type ListOrganizationsRowActionType = 'activate' | 'deactivate';
12
- type ListOrganizationsStatusMatch = {
13
- active: string;
14
- inactive: string;
15
- };
16
- export type TabData = {
17
- key: string;
18
- label: string;
19
- isDisabled?: boolean;
20
- subtitle?: string;
21
- };
22
- export interface PaginationProps {
23
- /** Custom class to give the html component */
24
- className?: string;
25
- /** Currently selected page in the pagination. Pages are counted from 1. */
26
- currentPage: number;
27
- /** Callback when the page is changed */
28
- onPageChange: (page: number) => void;
29
- /** Total number of pages in the pagination. */
30
- totalPages: number;
31
- }
32
- type ListOrganizationsLabels = {
33
- emptyStateMessage: string;
34
- searchFieldPlaceholder: string;
35
- rowActions?: {
36
- activate: string;
37
- deactivate: string;
38
- };
39
- headerRow: {
40
- createdAt: string;
41
- name: string;
42
- joinDate: string;
43
- status: string;
44
- };
45
- cellData: {
46
- statusActive: string;
47
- statusInactive: string;
48
- };
49
- };
50
- type ListOrganizationsValue<TTabs extends TabData[] = TabData[]> = {
51
- isLoading?: boolean;
52
- labels: ListOrganizationsLabels;
53
- searchValue?: string;
54
- onSearchFieldChange?: (value: string) => void;
55
- onSearchSubmit?: () => void;
56
- onNavigate?: (to: string) => void;
57
- onItemActivate?: (rowId: ListOrganizationsRowData['id']) => void;
58
- onItemDeactivate?: (rowId: ListOrganizationsRowData['id']) => void;
59
- shouldShowDropdownMenu?: (row: ListOrganizationsRowData) => boolean;
60
- resolveRowAction?: (row: ListOrganizationsRowData) => ListOrganizationsRowActionType[] | undefined;
61
- statusMatch?: ListOrganizationsStatusMatch;
62
- pagination?: PaginationProps;
63
- data: ListOrganizationsRowData[];
64
- rowHref?: (row: ListOrganizationsRowData) => string;
65
- tabs?: TTabs;
66
- currentTab?: TTabs[number]['key'];
67
- onTabChange?: (tab: TTabs[number]['key']) => void;
68
- searchChipsTitle?: ReactNode;
69
- searchChips?: BaseTableSearchChip[];
70
- onSearchChipDelete?: (chip: BaseTableSearchChip, index: number, event: SyntheticEvent) => void;
71
- listOrganizationsTitle: ReactNode;
72
- };
73
- type ListOrganizationsDefaultBlocks = {
74
- title: ReactNode;
75
- action: ReactNode;
76
- header: ReactNode;
77
- loader: ReactNode;
78
- content: ReactNode;
79
- tabs: ReactNode;
80
- searchChips: ReactNode;
81
- table: ReactNode;
82
- pagination: ReactNode;
83
- };
84
- type ListOrganizationsRootPassthroughProps = Omit<StackProps, 'children'>;
85
- type ListOrganizationsProps<TTabs extends TabData[] = TabData[], CustomBlocks extends Record<string, ReactNode> = {}> = ListOrganizationsRootPassthroughProps & Required<Pick<ListOrganizationsValue<TTabs>, 'labels' | 'data' | 'listOrganizationsTitle'>> & Partial<Pick<ListOrganizationsValue<TTabs>, 'isLoading' | 'searchValue' | 'onSearchFieldChange' | 'onSearchSubmit' | 'onNavigate' | 'onItemActivate' | 'onItemDeactivate' | 'shouldShowDropdownMenu' | 'resolveRowAction' | 'statusMatch' | 'pagination' | 'rowHref' | 'tabs' | 'currentTab' | 'onTabChange' | 'searchChipsTitle' | 'searchChips' | 'onSearchChipDelete'>> & {
86
- children?: BlocksOverride<ListOrganizationsDefaultBlocks, CustomBlocks>;
87
- };
88
- type ListOrganizationsTitleProps = ComponentProps<typeof BaseTable.Header.Title> & {
89
- listOrganizationsTitle?: ReactNode;
90
- };
91
- type ListOrganizationsHeaderProps = ComponentProps<typeof BaseTable.Header>;
92
- type ListOrganizationsActionProps = ComponentProps<typeof BaseTable.Header.Actions> & Partial<Pick<ListOrganizationsValue, 'labels' | 'searchValue' | 'onSearchFieldChange' | 'onSearchSubmit'>>;
93
- type ListOrganizationsLoaderProps = ComponentProps<typeof BaseTable.Content.Loader>;
94
- type ListOrganizationsContentProps = ComponentProps<typeof BaseTable.Content>;
95
- type ListOrganizationsTabsProps = ComponentProps<typeof BaseTable.Tabs<ListOrganizationsRowData>>;
96
- type ListOrganizationsBaseTableGridProps = ComponentProps<typeof BaseTable.Content.Grid<ListOrganizationsRowData>>;
97
- /**
98
- * Props for `ListOrganizations.Table`. Managed grid props (`columns`, `rows`, `noRowsOverlay`, …) are
99
- * omitted from the public surface; the empty-state overlay is built from `labels` via `createNoRowsOverlay`.
100
- */
101
- type ListOrganizationsTableProps = Omit<ListOrganizationsBaseTableGridProps, 'columns' | 'rows' | 'rowActions' | 'actionColumn' | 'onRowClick' | 'noRowsOverlay'> & Partial<Pick<ListOrganizationsValue, 'labels' | 'data' | 'onItemActivate' | 'onItemDeactivate' | 'shouldShowDropdownMenu' | 'resolveRowAction' | 'statusMatch' | 'rowHref' | 'onNavigate'>>;
102
- type ListOrganizationsPaginationProps = Partial<Omit<ComponentProps<typeof BaseTable.Pagination>, 'pagination' | 'rows' | 'isLoading'>> & Partial<Pick<ListOrganizationsValue, 'pagination' | 'data' | 'isLoading'>>;
103
- type ListOrganizationsSearchChipsProps = Partial<ComponentProps<typeof BaseTable.SearchChips>>;
104
- type ListOrganizationsComponent = {
105
- <TTabs extends TabData[] = TabData[], CustomBlocks extends Record<string, ReactNode> = {}>(props: ListOrganizationsProps<TTabs, CustomBlocks>): ReactNode;
106
- Title: (props: ListOrganizationsTitleProps) => ReactNode;
107
- Action: (props: ListOrganizationsActionProps) => ReactNode;
108
- Header: (props: ListOrganizationsHeaderProps) => ReactNode;
109
- Loader: (props: ListOrganizationsLoaderProps) => ReactNode;
110
- Content: (props: ListOrganizationsContentProps) => ReactNode;
111
- Tabs: (props: ListOrganizationsTabsProps) => ReactNode;
112
- SearchChips: (props: ListOrganizationsSearchChipsProps) => ReactNode;
113
- Table: (props: ListOrganizationsTableProps) => ReactNode;
114
- Pagination: (props: ListOrganizationsPaginationProps) => ReactNode;
115
- };
116
- declare const ListOrganizations: ListOrganizationsComponent;
117
- export default ListOrganizations;
118
- //# sourceMappingURL=list-organizations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-organizations.d.ts","sourceRoot":"","sources":["../src/list-organizations.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=list-organizations.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list-organizations.test.d.ts","sourceRoot":"","sources":["../src/list-organizations.test.tsx"],"names":[],"mappings":""}