diff --git a/src/Dimmer/Dimmer.tsx b/src/Dimmer/Dimmer.tsx index 2a9a67e6e..d6a1b9bbe 100644 --- a/src/Dimmer/Dimmer.tsx +++ b/src/Dimmer/Dimmer.tsx @@ -1,15 +1,17 @@ -import React, { FC, HTMLAttributes } from 'react'; import classNames from 'classnames'; +import React, { FC, HTMLAttributes } from 'react'; import { Icon } from '../Icon/Icon'; export interface DimmerProps extends HTMLAttributes { - /** Il nome dell'icona da mostrare. Per una lista completa vedi: @TODO-URL */ + /** Il nome dell'icona da mostrare */ icon?: string; /** Le varianti di colore definite in Bootstrap Italia */ - color?: 'success' | 'warning' | 'danger' | 'note' | 'important' | string; + color?: 'primary' | 'secondary'; /** Classi aggiuntive da usare per il componente Dimmer */ className?: string; + /** Mostra il wrapper */ + show?: boolean; /** * Classi aggiuntive da usare per il componente contenitore del Dimmer * Per replicare il comportamento precedente, in cui `className` veniva applicato anche al wrapper, @@ -19,20 +21,28 @@ export interface DimmerProps extends HTMLAttributes { testId?: string; } -export const Dimmer: FC = ({ icon, color, className, wrapperClassName, testId, ...attributes }) => { - const { children, ...rest } = attributes; - const classes = classNames('dimmer', wrapperClassName === true ? className : wrapperClassName, { - [`dimmer-${color}`]: color - }); - const innerClasses = classNames('dimmer-inner', className); - const dimmerIcon = icon && ( -
- -
- ); +export const Dimmer: FC = ({ + icon, + color, + className, + show = true, + wrapperClassName, + testId, + ...attributes +}) => { + const { children, ...rest } = attributes, + classes = classNames('dimmer fade', { show: show }, wrapperClassName === true ? className : wrapperClassName, { + [`dimmer-${color}`]: color + }), + innerClasses = classNames('dimmer-inner', className), + dimmerIcon = icon && ( +
+ +
+ ); return ( -
+
{dimmerIcon} {children} diff --git a/stories/Components/Dimmer.stories.tsx b/stories/Components/Dimmer.stories.tsx index e388eddd7..76f063dcc 100644 --- a/stories/Components/Dimmer.stories.tsx +++ b/stories/Components/Dimmer.stories.tsx @@ -1,10 +1,12 @@ import { Meta, StoryObj } from '@storybook/react'; import React from 'react'; -import { Button, Card, CardBody, CardText, CardTitle, Dimmer, DimmerButtons, Fade } from '../../src'; +import { Button, Card, CardBody, CardText, CardTitle, Dimmer, DimmerButtons } from '../../src'; + +const colors = ['primary', 'secondary']; const meta: Meta = { - title: "Documentazione/Componenti/Dimmer", - component: Dimmer, + title: 'Documentazione/Componenti/Dimmer', + component: Dimmer }; export default meta; @@ -12,9 +14,16 @@ export default meta; type Story = StoryObj; export const Esempi: Story = { - render: () => ( + parameters: { + docs: { + controls: { + include: ['color', 'show', 'icon'] + } + } + }, + render: ({ ...args }) => (
-
+
{/* start card */} @@ -61,84 +70,37 @@ export const Esempi: Story = {
- - -

- Platea dictumst vestibulum rhoncus est pellentesque elit ullamcorper dignissim cras. Dictum sit amet justo - donec enim diam vulputate ut. Eu nisl nunc mi ipsum faucibus. -

-
-
+ +

+ Platea dictumst vestibulum rhoncus est pellentesque elit ullamcorper dignissim cras. Dictum sit amet justo + donec enim diam vulputate ut. Eu nisl nunc mi ipsum faucibus. +

+
- ) -}; - -export const ColorePrimario: Story = { - render: () => ( -
-
-
- {/* start card */} - - - - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor… - - - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et - dolore magna aliqua. - - - - {/* end card */} -
- -
- {/* start card */} - - - - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor… - - - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et - dolore magna aliqua. - - - - {/* end card */} -
-
- {/* start card */} - - - - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor… - - - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et - dolore magna aliqua. - - - -
-
- - -

- Platea dictumst vestibulum rhoncus est pellentesque elit ullamcorper dignissim cras. Dictum sit amet justo - donec enim diam vulputate ut. Eu nisl nunc mi ipsum faucibus. -

-
-
-
- ) + ), + args: { + color: 'primary', + show: true, + icon: 'it-unlocked' + }, + argTypes: { + color: { + control: 'radio', + options: colors + }, + show: { + control: 'boolean' + }, + icon: { + control: 'text' + } + } }; export const DimmerConAzioni: Story = { render: () => (
-
+
{/* start card */} @@ -170,17 +132,15 @@ export const DimmerConAzioni: Story = { {/* end card */}
- - -

Titolo Dimmer

- - - - -
-
+ +

Titolo Dimmer

+ + + + +
) }; @@ -188,7 +148,7 @@ export const DimmerConAzioni: Story = { export const DimmerConAzioniColorePrimario: Story = { render: () => (
-
+
{/* start card */} @@ -220,14 +180,12 @@ export const DimmerConAzioniColorePrimario: Story = { {/* end card */}
- - -

Titolo Dimmer

- - - -
-
+ +

Titolo Dimmer

+ + + +
) }; diff --git a/stories/Documentation/Dimmer.mdx b/stories/Documentation/Dimmer.mdx index d079fc7ef..2165035db 100644 --- a/stories/Documentation/Dimmer.mdx +++ b/stories/Documentation/Dimmer.mdx @@ -1,5 +1,5 @@ -import { ArgTypes, Canvas, Meta } from '@storybook/blocks'; -import { Dimmer } from '../../src'; +import { ArgTypes, Canvas, Controls, Meta } from '@storybook/blocks'; +import { Dimmer, DimmerButtons } from '../../src'; import * as DimmerStories from '../Components/Dimmer.stories'; @@ -8,19 +8,14 @@ import * as DimmerStories from '../Components/Dimmer.stories'; ## Un componente per focalizzare l’attenzione su un contenuto -Un Dimmer occupa tutta l’altezza e la larghezza dell’elemento all’interno del quale è contenuto. +Un Dimmer occupa tutta l’altezza e la larghezza dell’elemento all’interno del quale è contenuto, l’elemento contenitore deve avere la classe `.dimmable` -### Esempio +### Esempio interattivo -Il componente `Dimmer` può contenere del testo, che può essere preceduto da un'icona, come da esempio: +Il componente `Dimmer` può contenere del testo, può essere preceduto da un'icona e può avere diversi colori; puoi eseguire delle prove con i controlli sotto al canvas. - -#### Colore primario - -Impostando l'attributo `color="primary"` si ottiene una versione con sfondo di colore primario. - - + ### Dimmer con Azioni @@ -28,7 +23,7 @@ Un Dimmer può contenere tasti collegati ad azioni ed un titolo descrittivo. -#### Colore primario +#### Colore primario con azioni Impostando l'attributo `color="primary"` si ottiene una versione con sfondo di colore primario. @@ -36,6 +31,10 @@ Impostando l'attributo `color="primary"` si ottiene una versione con sfondo di c ## Argomenti componente -## Dimmer +### Dimmer + +### DimmerButton + + diff --git a/test/__snapshots__/Storybook.test.tsx.snap b/test/__snapshots__/Storybook.test.tsx.snap index aabc039b0..de247c8cf 100644 --- a/test/__snapshots__/Storybook.test.tsx.snap +++ b/test/__snapshots__/Storybook.test.tsx.snap @@ -5154,11 +5154,11 @@ exports[`Stories Snapshots Documentazione/Componenti/Chips VariantiDiColore 1`]
`; -exports[`Stories Snapshots Documentazione/Componenti/Dimmer ColorePrimario 1`] = ` +exports[`Stories Snapshots Documentazione/Componenti/Dimmer DimmerConAzioni 1`] = `
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor… -
-

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. -

-
-
-
-
-
-
-
- - - -
-

- Platea dictumst vestibulum rhoncus est pellentesque elit ullamcorper dignissim cras. Dictum sit amet justo donec enim diam vulputate ut. Eu nisl nunc mi ipsum faucibus. -

-
-
-
-
-
-`; - -exports[`Stories Snapshots Documentazione/Componenti/Dimmer DimmerConAzioni 1`] = ` -
-
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor… -
-

- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. -

-
-
-
-
-
-
- + +
-
-
-
-
+

+ Titolo Dimmer +

-
- - - -
-

- Titolo Dimmer -

-
+ - -
+ Azione primaria +
@@ -5388,7 +5262,7 @@ exports[`Stories Snapshots Documentazione/Componenti/Dimmer DimmerConAzioniColor
- -

- Titolo Dimmer -

-
+ +
+

+ Titolo Dimmer +

+
+ -
+ Azione primaria +
@@ -5492,7 +5361,7 @@ exports[`Stories Snapshots Documentazione/Componenti/Dimmer Esempi 1`] = `
- -

- Platea dictumst vestibulum rhoncus est pellentesque elit ullamcorper dignissim cras. Dictum sit amet justo donec enim diam vulputate ut. Eu nisl nunc mi ipsum faucibus. -

+ +
+

+ Platea dictumst vestibulum rhoncus est pellentesque elit ullamcorper dignissim cras. Dictum sit amet justo donec enim diam vulputate ut. Eu nisl nunc mi ipsum faucibus. +