Skip to content

Commit 60addd5

Browse files
Merge pull request #42 from internxt/fix/PB-3458-breadcurmbs_types
[PB-3458]:fix/breadcrumbs types
2 parents 873af6b + 1911806 commit 60addd5

File tree

4 files changed

+15
-17
lines changed

4 files changed

+15
-17
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@internxt/ui",
3-
"version": "0.0.13",
3+
"version": "0.0.14",
44
"description": "Library of Internxt components",
55
"repository": {
66
"type": "git",

src/components/breadcrumbs/Breadcrumbs.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ import { forwardRef, FunctionComponent, ReactNode, SVGProps } from 'react';
33
import { Dispatch } from 'redux';
44
import Dropdown from '../dropdown/Dropdown';
55
import BreadcrumbsItem, { BreadcrumbItemData, BreadcrumbsMenuProps } from './BreadcrumbsItem';
6-
import { useDrop } from 'react-dnd';
6+
import { DropTargetMonitor, useDrop } from 'react-dnd';
77

8-
export interface BreadcrumbsProps<T extends Dispatch> {
8+
export interface BreadcrumbsProps<T extends Dispatch, U> {
99
items: BreadcrumbItemData[];
1010
rootBreadcrumbItemDataCy?: string;
1111
menu?: (props: BreadcrumbsMenuProps) => JSX.Element;
@@ -14,18 +14,18 @@ export interface BreadcrumbsProps<T extends Dispatch> {
1414
uuid: string;
1515
}[];
1616
isSomeItemSelected: boolean;
17-
selectedItems: [];
17+
selectedItems: U[];
1818
onItemDropped: (
1919
item: BreadcrumbItemData,
2020
namePath: {
2121
name: string;
2222
uuid: string;
2323
}[],
2424
isSomeItemSelected: boolean,
25-
selectedItems: [],
25+
selectedItems: U[],
2626
dispatch: T,
27-
) => (draggedItem: unknown, monitor: unknown) => Promise<void>;
28-
canItemDrop: (item: BreadcrumbItemData) => (draggedItem: unknown, monitor: unknown) => boolean;
27+
) => (draggedItem: U, monitor: DropTargetMonitor) => Promise<void>;
28+
canItemDrop: (item: BreadcrumbItemData) => (draggedItem: U, monitor: DropTargetMonitor) => boolean;
2929
itemComponent?: FunctionComponent<SVGProps<SVGSVGElement>>;
3030
acceptedTypes: string[];
3131
dispatch: T;
@@ -74,7 +74,7 @@ export interface BreadcrumbsProps<T extends Dispatch> {
7474
* - Hook for dnd.
7575
*/
7676

77-
const Breadcrumbs = <T extends Dispatch>(props: Readonly<BreadcrumbsProps<T>>): JSX.Element => {
77+
const Breadcrumbs = <T extends Dispatch, U>(props: Readonly<BreadcrumbsProps<T, U>>): JSX.Element => {
7878
const MenuItem = forwardRef<HTMLDivElement, { children: ReactNode }>((props, ref) => {
7979
return (
8080
<div

src/components/breadcrumbs/BreadcrumbsItem.tsx

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ export interface BreadcrumbsMenuProps {
6767
* - Hook for dnd.
6868
*/
6969

70-
export interface BreadcrumbsItemProps<T extends Dispatch> {
70+
export interface BreadcrumbsItemProps<T extends Dispatch, U> {
7171
item: BreadcrumbItemData;
7272
totalBreadcrumbsLength: number;
7373
isHiddenInList?: boolean;
@@ -79,27 +79,25 @@ export interface BreadcrumbsItemProps<T extends Dispatch> {
7979
uuid: string;
8080
}[];
8181
isSomeItemSelected: boolean;
82-
selectedItems: [];
82+
selectedItems: U[];
8383
onItemDropped: (
8484
item: BreadcrumbItemData,
8585
namePath: {
8686
name: string;
8787
uuid: string;
8888
}[],
8989
isSomeItemSelected: boolean,
90-
selectedItems: [],
90+
selectedItems: U[],
9191
dispatch: T,
92-
) => (draggedItem: unknown, monitor: DropTargetMonitor) => Promise<void>;
93-
canItemDrop: (
94-
item: BreadcrumbItemData,
95-
) => (draggedItem: unknown, monitor: DropTargetMonitor<unknown, unknown>) => boolean;
92+
) => (draggedItem: U, monitor: DropTargetMonitor) => Promise<void>;
93+
canItemDrop: (item: BreadcrumbItemData) => (draggedItem: U, monitor: DropTargetMonitor<unknown, unknown>) => boolean;
9694
itemComponent?: FunctionComponent<SVGProps<SVGSVGElement>>;
9795
acceptedTypes: string[];
9896
dispatch: T;
9997
useDrop: typeof useDrop;
10098
}
10199

102-
const BreadcrumbsItem = <T extends Dispatch>(props: BreadcrumbsItemProps<T>): JSX.Element => {
100+
const BreadcrumbsItem = <T extends Dispatch, U>(props: BreadcrumbsItemProps<T, U>): JSX.Element => {
103101
const [{ isOver, canDrop }, drop] = props.useDrop(
104102
() => ({
105103
accept: props.acceptedTypes,

src/stories/components/breadcrumbs/breadcrumbs.stories.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ const menuBreadcrumbs = (props: BreadcrumbsMenuProps): JSX.Element => {
8383
);
8484
};
8585

86-
const defaultBreadcrumbsProps: BreadcrumbsProps<Dispatch> = {
86+
const defaultBreadcrumbsProps: BreadcrumbsProps<Dispatch, unknown> = {
8787
items: breadcrumbItems,
8888
namePath: [
8989
{ name: 'Home', uuid: '1' },

0 commit comments

Comments
 (0)