Higher Order Component (HOC)

is a pattern used to reuse component logic.
It is a function that takes a component as an argument and returns a new component that wraps the original one, often adding new behavior or props.

example from snapshot:

Pasted image 20240918184815.png

import { EntityMultipleSelectionModalHOCProps } from './interfaces';
import { EntityMultipleSelectionModal as EntityMultipleSelectionModalHOC } from './EntityMultipleSelectionModal';
import { EntityMultipleSelectionModalHeader } from './EntityMultipleSelectionModalHeader';
import { EntityMultipleSelectionModalFooter } from './EntityMultipleSelectionModalFooter';
import { EntityMultipleSelectionModalBody } from './EntityMultipleSelectionModalBody';
import { EntityMultipleSelectionModalBorderedBody } from './Bordered/Body';
import { EntityMultipleSelectionModalBodyUsers } from './Users/Body';

export const EntityMultipleSelectionModal: EntityMultipleSelectionModalHOCProps =
  Object.assign(EntityMultipleSelectionModalHOC, {
    Header: EntityMultipleSelectionModalHeader,
    Body: EntityMultipleSelectionModalBody,
    BorderedBody: EntityMultipleSelectionModalBorderedBody,
    Footer: EntityMultipleSelectionModalFooter,
    UserBody: EntityMultipleSelectionModalBodyUsers,
  });

export default EntityMultipleSelectionModal;