Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ lib
es
yarn.lock
package-lock.json
pnpm-lock.yaml
coverage/
.doc
dist/
Expand Down
13 changes: 7 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,29 +56,30 @@
"@types/classnames": "^2.2.9",
"@types/enzyme": "^3.10.8",
"@types/jest": "^26.0.23",
"@types/node": "^24.8.1",
"@types/react": "^16.14.2",
"@types/react-dom": "^16.9.10",
"@typescript-eslint/eslint-plugin": "^5.59.0",
"@typescript-eslint/parser": "^5.59.0",
"@umijs/fabric": "^3.0.0",
"glob": "^10.0.0",
"cross-env": "^7.0.2",
"dumi": "^2.0.0",
"enzyme": "^3.0.0",
"enzyme-adapter-react-16": "^1.0.1",
"enzyme-to-json": "^3.4.0",
"eslint": "^8.57.0",
"eslint-plugin-jest": "^27.5.1",
"eslint-plugin-unicorn": "^51.0.1",
"father": "^4.0.0",
"glob": "^10.0.0",
"less": "^3.10.3",
"np": "^7.0.0",
"prettier": "^2.0.5",
"rc-test": "^7.0",
"react": "^16.0.0",
"react-dom": "^16.0.0",
"regenerator-runtime": "^0.13.7",
"typescript": "~5.3.3",
"@typescript-eslint/parser": "^5.59.0",
"@typescript-eslint/eslint-plugin": "^5.59.0",
"eslint-plugin-jest": "^27.5.1",
"eslint-plugin-unicorn": "^51.0.1"
"typescript": "~5.3.3"
},
"peerDependencies": {
"react": ">=16.9.0",
Expand Down
9 changes: 7 additions & 2 deletions src/Item.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,9 @@ function InternalItem<ItemType>(

// ================================ Render ================================
const childNode =
renderItem && item !== UNDEFINED ? renderItem(item, { index: order }) : children;
renderItem && item !== UNDEFINED
? renderItem(item, { index: order })
: children;

let overflowStyle: React.CSSProperties | undefined;
if (!invalidate) {
Expand Down Expand Up @@ -117,6 +119,9 @@ function InternalItem<ItemType>(
}

const Item = React.forwardRef(InternalItem);
Item.displayName = 'Item';

if (process.env.NODE_ENV !== 'production') {
Item.displayName = 'Item';
}

export default Item;
46 changes: 22 additions & 24 deletions src/Overflow.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ export { OverflowContext } from './context';

export type { ComponentType } from './RawItem';

export interface OverflowProps<ItemType> extends Omit<React.HTMLAttributes<any>, 'prefix'> {
export interface OverflowProps<ItemType>
extends Omit<React.HTMLAttributes<any>, 'prefix'> {
prefixCls?: string;
className?: string;
style?: React.CSSProperties;
Expand Down Expand Up @@ -377,26 +378,19 @@ function Overflow<ItemType = any>(

const mergedRenderRest = renderRest || defaultRenderRest;

const restNode = renderRawRest ? (
<OverflowContext.Provider
value={{
...itemSharedProps,
...restContextProps,
}}
>
{renderRawRest(omittedItems)}
</OverflowContext.Provider>
) : (
<Item
{...itemSharedProps}
// When not show, order should be the last
{...restContextProps}
>
{typeof mergedRenderRest === 'function'
? mergedRenderRest(omittedItems)
: mergedRenderRest}
</Item>
);
const restNode = renderRawRest ? (
<OverflowContext.Provider
value={{ ...itemSharedProps, ...restContextProps }}
>
{renderRawRest(omittedItems)}
</OverflowContext.Provider>
) : (
<Item {...itemSharedProps} {...restContextProps}>
{typeof mergedRenderRest === 'function'
? mergedRenderRest(omittedItems)
: mergedRenderRest}
</Item>
);

const overflowNode = (
<Component
Expand Down Expand Up @@ -447,7 +441,9 @@ function Overflow<ItemType = any>(
<ResizeObserver onResize={onOverflowResize} disabled={!shouldResponsive}>
{overflowNode}
</ResizeObserver>
) : overflowNode;
) : (
overflowNode
);
}

const ForwardOverflow = React.forwardRef(Overflow);
Expand All @@ -465,11 +461,13 @@ type FilledOverflowType = ForwardOverflowType & {
INVALIDATE: typeof INVALIDATE;
};

ForwardOverflow.displayName = 'Overflow';

(ForwardOverflow as unknown as FilledOverflowType).Item = RawItem;
(ForwardOverflow as unknown as FilledOverflowType).RESPONSIVE = RESPONSIVE;
(ForwardOverflow as unknown as FilledOverflowType).INVALIDATE = INVALIDATE;

if (process.env.NODE_ENV !== 'production') {
ForwardOverflow.displayName = 'Overflow';
}

// Convert to generic type
export default ForwardOverflow as unknown as FilledOverflowType;
5 changes: 4 additions & 1 deletion src/RawItem.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ const InternalRawItem = (props: RawItemProps, ref: React.Ref<any>) => {
};

const RawItem = React.forwardRef(InternalRawItem);
RawItem.displayName = 'RawItem';

if (process.env.NODE_ENV !== 'production') {
RawItem.displayName = 'RawItem';
}

export default RawItem;