@gouvfr-lasuite/ui-kit 0.17.2 → 0.18.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.
package/dist/index.d.ts CHANGED
@@ -77,14 +77,25 @@ export declare type BaseTreeViewData<T> = {
77
77
  childrenCount?: number;
78
78
  hasLoadedChildren?: boolean;
79
79
  children?: BaseTreeViewData<T>[];
80
+ pagination?: {
81
+ currentPage: number;
82
+ totalCount?: number;
83
+ hasMore: boolean;
84
+ };
80
85
  canDrop?: boolean;
81
86
  } & (({
87
+ nodeType: TreeViewNodeTypeEnum.SIMPLE_NODE;
88
+ label: string;
89
+ }) | ({
82
90
  nodeType: TreeViewNodeTypeEnum.TITLE;
83
91
  headerTitle: string;
84
92
  }) | ({
85
93
  nodeType: TreeViewNodeTypeEnum.SEPARATOR;
86
94
  }) | ({
87
- nodeType?: Exclude<TreeViewNodeTypeEnum, TreeViewNodeTypeEnum.TITLE | TreeViewNodeTypeEnum.SEPARATOR>;
95
+ nodeType: TreeViewNodeTypeEnum.VIEW_MORE;
96
+ label?: string;
97
+ }) | ({
98
+ nodeType?: Exclude<TreeViewNodeTypeEnum, TreeViewNodeTypeEnum.TITLE | TreeViewNodeTypeEnum.SEPARATOR | TreeViewNodeTypeEnum.VIEW_MORE | TreeViewNodeTypeEnum.SIMPLE_NODE>;
88
99
  } & T));
89
100
 
90
101
  export declare const containerSizeMap: Record<IconSize, number>;
@@ -672,6 +683,8 @@ export declare const isSeparator: <T>(node?: TreeViewDataType<T>) => boolean;
672
683
 
673
684
  export declare const isTitle: <T>(node?: TreeViewDataType<T>) => boolean;
674
685
 
686
+ export declare const isViewMore: <T>(node?: TreeViewDataType<T>) => boolean;
687
+
675
688
  export declare const Label: ({ children, text, ...props }: LabelHTMLAttributes<HTMLLabelElement> & {
676
689
  text?: string;
677
690
  }) => JSX.Element;
@@ -855,6 +868,9 @@ export declare const locales: {
855
868
  logout: string;
856
869
  dialogTitle: string;
857
870
  };
871
+ treeView: {
872
+ viewMore: string;
873
+ };
858
874
  footer: {
859
875
  logo: {
860
876
  alt: string;
@@ -1006,6 +1022,9 @@ export declare const locales: {
1006
1022
  logout: string;
1007
1023
  dialogTitle: string;
1008
1024
  };
1025
+ treeView: {
1026
+ viewMore: string;
1027
+ };
1009
1028
  footer: {
1010
1029
  logo: {
1011
1030
  alt: string;
@@ -1037,6 +1056,11 @@ export declare type OpenMap = {
1037
1056
  [id: string]: boolean;
1038
1057
  };
1039
1058
 
1059
+ export declare type PaginatedChildrenResult<T> = {
1060
+ children?: TreeViewDataType<T>[];
1061
+ pagination?: BaseTreeViewData<T>["pagination"];
1062
+ };
1063
+
1040
1064
  export declare const ProConnectButton: ({ disabled, onClick, }: ProConnectButtonProps) => JSX.Element;
1041
1065
 
1042
1066
  export declare type ProConnectButtonProps = {
@@ -1311,14 +1335,14 @@ export declare type TreeDataItem<T> = {
1311
1335
  children: TreeDataItem<T>[] | null;
1312
1336
  };
1313
1337
 
1314
- export declare const TreeProvider: <T>({ children, onRefresh: refreshCallback, initialNodeId, onLoadChildren: loadChildrenCallback, initialTreeData, }: TreeProviderProps<T>) => JSX.Element;
1338
+ export declare const TreeProvider: <T>({ children, onRefresh: refreshCallback, initialNodeId, onLoadChildren, initialTreeData, }: TreeProviderProps<T>) => JSX.Element;
1315
1339
 
1316
1340
  export declare type TreeProviderProps<T> = {
1317
1341
  children: React.ReactNode;
1318
1342
  initialTreeData?: TreeViewDataType<T>[];
1319
1343
  initialNodeId?: string;
1320
1344
  onRefresh?: (id: string) => Promise<Partial<TreeViewDataType<T>>>;
1321
- onLoadChildren?: (id: string) => Promise<TreeViewDataType<T>[]>;
1345
+ onLoadChildren?: (id: string, page: number) => Promise<PaginatedChildrenResult<T>>;
1322
1346
  };
1323
1347
 
1324
1348
  export declare const TreeView: <T>({ initialOpenState, dndRootElement, selectedNodeId, rootNodeId, renderNode, canDrop, canDrag, afterMove, beforeMove, }: TreeViewProps<T>) => JSX.Element | undefined;
@@ -1351,7 +1375,9 @@ export declare type TreeViewNodeProps<T> = NodeRendererProps<TreeDataItem<T>> &
1351
1375
  export declare enum TreeViewNodeTypeEnum {
1352
1376
  NODE = "node",
1353
1377
  SEPARATOR = "separator",
1354
- TITLE = "title"
1378
+ TITLE = "title",
1379
+ SIMPLE_NODE = "simpleNode",
1380
+ VIEW_MORE = "viewMore"
1355
1381
  }
1356
1382
 
1357
1383
  export declare type TreeViewProps<T> = {
@@ -1457,7 +1483,7 @@ declare type UserProps = {
1457
1483
 
1458
1484
  export declare const UserRow: ({ fullName: full_name, email, showEmail, }: UserProps) => JSX.Element;
1459
1485
 
1460
- export declare const useTree: <T>(initialItems: TreeViewDataType<T>[], refreshCallback?: (id: string) => Promise<Partial<TreeViewDataType<T>>>, loadChildrenCallback?: (id: string) => Promise<TreeViewDataType<T>[]>) => {
1486
+ export declare const useTree: <T>(initialItems: TreeViewDataType<T>[], refreshCallback?: (id: string) => Promise<Partial<TreeViewDataType<T>>>, onLoadChildren?: (id: string, page: number) => Promise<PaginatedChildrenResult<T>>) => {
1461
1487
  nodes: TreeDataItem<TreeViewDataType<T>>[];
1462
1488
  addChild: (parentId: string | null, newNode: TreeViewDataType<T>, index?: number) => void;
1463
1489
  updateNode: (nodeId: string, updatedData: Partial<TreeViewDataType<T>>) => void;
@@ -1477,7 +1503,7 @@ export declare const useTree: <T>(initialItems: TreeViewDataType<T>[], refreshCa
1477
1503
  appendToNode: (nodeId: string, newNode: TreeViewDataType<T>) => void;
1478
1504
  move: (key: Key, toParentKey: Key | null, index: number) => void;
1479
1505
  resetTree: (newItems?: TreeViewDataType<T>[]) => void;
1480
- handleLoadChildren: (nodeId: string) => Promise<TreeViewDataType<T>[]>;
1506
+ handleLoadChildren: (nodeId: string) => Promise<never[] | undefined>;
1481
1507
  selectNodeById: (nodeId: string) => void;
1482
1508
  getParent: (nodeId: string) => TreeViewDataType<T> | null;
1483
1509
  getNode: (nodeId: string) => TreeViewDataType<T> | undefined;