Skip to content

Commit

Permalink
Storybook : Add TextTransformControl stories (#67365)
Browse files Browse the repository at this point in the history
* Add TextTransformControl stories

* refactor: Removed the sample text, and extra stories and used story pattern

* fix: Add options for the value prop and improve description

* fix: Revert old template style code for render and updated argtypes

* doc: Removed default value in props

Co-authored-by: im3dabasia <[email protected]>
Co-authored-by: t-hamano <[email protected]>
  • Loading branch information
3 people authored Dec 20, 2024
1 parent 910c38f commit 76d4652
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 19 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# TextTransformControl

The `TextTransformControl` component is responsible for rendering a control element that allows users to select and apply text transformation options to blocks or elements in the Gutenberg editor. It provides an intuitive interface for changing the text appearance by applying different transformations such as `none`, `uppercase`, `lowercase`, `capitalize`.

![TextTransformConrol Element in Inspector Control](https://raw.githubusercontent.com/WordPress/gutenberg/HEAD/docs/assets/text-transform-component.png?raw=true)

## Development guidelines
Expand All @@ -28,7 +28,6 @@ const MyTextTransformControlComponent = () => (
### `value`

- **Type:** `String`
- **Default:** `none`
- **Options:** `none`, `uppercase`, `lowercase`, `capitalize`

The current value of the Text Transform setting. You may only choose from the `Options` listed above.
Expand All @@ -37,4 +36,4 @@ The current value of the Text Transform setting. You may only choose from the `O

- **Type:** `Function`

A callback function invoked when the Text Transform value is changed via an interaction with any of the buttons. Called with the Text Transform value (`none`, `uppercase`, `lowercase`, `capitalize`) as the only argument.
A callback function invoked when the Text Transform value is changed via an interaction with any of the buttons. Called with the Text Transform value (`none`, `uppercase`, `lowercase`, `capitalize`) as the only argument.
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,63 @@ import { useState } from '@wordpress/element';
*/
import TextTransformControl from '../';

export default {
const meta = {
title: 'BlockEditor/TextTransformControl',
component: TextTransformControl,
parameters: {
docs: {
canvas: { sourceState: 'shown' },
description: {
component:
'Control to facilitate text transformation selections.',
},
},
},
argTypes: {
onChange: { action: 'onChange' },
onChange: {
action: 'onChange',
control: {
type: null,
},
description: 'Handles change in text transform selection.',
table: {
type: {
summary: 'function',
},
},
},
className: {
control: { type: 'text' },
description: 'Class name to add to the control.',
table: {
type: { summary: 'string' },
},
},
value: {
control: { type: null },
description: 'Currently selected text transform.',
table: {
type: { summary: 'string' },
},
},
},
};

const Template = ( { onChange, ...args } ) => {
const [ value, setValue ] = useState();
return (
<TextTransformControl
{ ...args }
onChange={ ( ...changeArgs ) => {
onChange( ...changeArgs );
setValue( ...changeArgs );
} }
value={ value }
/>
);
};
export default meta;

export const Default = {
render: function Template( { onChange, ...args } ) {
const [ value, setValue ] = useState();

export const Default = Template.bind( {} );
return (
<TextTransformControl
{ ...args }
onChange={ ( ...changeArgs ) => {
onChange( ...changeArgs );
setValue( ...changeArgs );
} }
value={ value }
/>
);
},
};

1 comment on commit 76d4652

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Flaky tests detected in 76d4652.
Some tests passed with failed attempts. The failures may not be related to this commit but are still reported for visibility. See the documentation for more information.

🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/12427876627
📝 Reported issues:

Please sign in to comment.