aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/organisms/widgets/image-widget.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/organisms/widgets/image-widget.tsx')
-rw-r--r--src/components/organisms/widgets/image-widget.tsx74
1 files changed, 0 insertions, 74 deletions
diff --git a/src/components/organisms/widgets/image-widget.tsx b/src/components/organisms/widgets/image-widget.tsx
deleted file mode 100644
index 5de8dd8..0000000
--- a/src/components/organisms/widgets/image-widget.tsx
+++ /dev/null
@@ -1,74 +0,0 @@
-import NextImage, { type ImageProps as NextImageProps } from 'next/image';
-import type { FC } from 'react';
-import { Figure, Link, type FigureProps } from '../../atoms';
-import { Collapsible, type CollapsibleProps } from '../../molecules';
-import styles from './image-widget.module.scss';
-
-export type Alignment = 'left' | 'center' | 'right';
-
-export type Image = Pick<NextImageProps, 'alt' | 'height' | 'src' | 'width'>;
-
-export type ImageWidgetProps = Omit<
- CollapsibleProps,
- 'children' | 'onToggle'
-> & {
- /**
- * The content alignment.
- */
- alignment?: Alignment;
- /**
- * Add a caption to the image.
- */
- description?: FigureProps['caption'];
- /**
- * An object describing the image.
- */
- image: Image;
- /**
- * Set additional classnames to the image wrapper.
- */
- imageClassName?: string;
- /**
- * Add a link to the image.
- */
- url?: string;
-};
-
-/**
- * ImageWidget component
- *
- * Renders a widget that print an image and an optional text.
- */
-export const ImageWidget: FC<ImageWidgetProps> = ({
- alignment = 'left',
- className = '',
- description,
- image,
- imageClassName = '',
- isCollapsed,
- url,
- ...props
-}) => {
- const alignmentClass = `widget--${alignment}`;
-
- return (
- <Collapsible
- {...props}
- className={`${styles[alignmentClass]} ${className}`}
- >
- <Figure
- caption={description}
- className={`${styles.figure} ${imageClassName}`}
- hasBorders
- >
- {url ? (
- <Link href={url}>
- <NextImage {...image} />
- </Link>
- ) : (
- <NextImage {...image} />
- )}
- </Figure>
- </Collapsible>
- );
-};