1
0
mirror of https://github.com/nostalgic-css/NES.css.git synced 2025-08-19 12:31:21 +02:00

feat(form): add form is-disabled storybook

This commit is contained in:
markcytian
2021-05-11 14:21:01 +08:00
parent c4aec38674
commit 27bbae1101
4 changed files with 23 additions and 5 deletions

View File

@@ -3,18 +3,22 @@ import classNames from 'classnames';
export default () => { export default () => {
const isDark = boolean('is-dark', false); const isDark = boolean('is-dark', false);
const isDisabled = boolean('is-disabled', false);
const checkBoxClasses = classNames( const checkBoxClasses = classNames(
'nes-checkbox', 'nes-checkbox',
{ {
'is-dark': isDark, 'is-dark': isDark,
}, },
{
'is-disabled': isDisabled,
},
); );
return ` return `
<div style="${isDark ? 'background-color: black;' : ''}"> <div style="${isDark ? 'background-color: black;' : ''}">
<label> <label>
<input type="checkbox" class="${checkBoxClasses}" checked /> <input type="checkbox" ${isDisabled && 'disabled'} class="${checkBoxClasses}" checked />
<span>Enable</span> <span>Enable</span>
</label> </label>
</div> </div>

View File

@@ -4,9 +4,11 @@ import classNames from 'classnames';
import sharedOptions from '../_helpers/shared'; import sharedOptions from '../_helpers/shared';
export default () => { export default () => {
const disabled = 'is-disabled';
const inputOptions = select('Input Classes', { const inputOptions = select('Input Classes', {
default: '', default: '',
...sharedOptions, ...sharedOptions,
[disabled]: disabled,
}, ''); }, '');
const inputClasses = classNames( const inputClasses = classNames(
@@ -15,6 +17,12 @@ export default () => {
); );
return ` return `
<input type="text" id="name_field" class="${inputClasses}" placeholder="NES.css"> <input
type="text"
id="name_field"
${inputOptions.includes(disabled) && 'disabled'}
class="${inputClasses}"
placeholder="NES.css"
/>
`; `;
}; };

View File

@@ -4,22 +4,26 @@ import classNames from 'classnames';
export default () => { export default () => {
const isDark = boolean('is-dark', false); const isDark = boolean('is-dark', false);
const isDisabled = boolean('is-disabled', false);
const radioClasses = classNames( const radioClasses = classNames(
'nes-radio', 'nes-radio',
{ {
'is-dark': isDark, 'is-dark': isDark,
}, },
{
'is-disabled': isDisabled,
},
); );
return ` return `
<div style="${isDark ? 'background-color: black;' : ''}"> <div style="${isDark ? 'background-color: black;' : ''}">
<label> <label>
<input type="radio" class="${radioClasses}" name="answer" checked /> <input type="radio" ${isDisabled && 'disabled'} class="${radioClasses}" name="answer" checked />
<span>Yes</span> <span>Yes</span>
</label> </label>
<label> <label>
<input type="radio" class="${radioClasses}" name="answer" /> <input type="radio" ${isDisabled && 'disabled'} class="${radioClasses}" name="answer" />
<span>No</span> <span>No</span>
</label> </label>
</div> </div>

View File

@@ -5,9 +5,11 @@ import sharedOptions from '../_helpers/shared';
export default () => { export default () => {
const isDark = boolean('is-dark', false); const isDark = boolean('is-dark', false);
const disabled = 'is-disabled';
const selectOptions = select('class', { const selectOptions = select('class', {
default: '', default: '',
...sharedOptions, ...sharedOptions,
[disabled]: disabled,
}, ''); }, '');
const selectedClasses = classNames( const selectedClasses = classNames(
@@ -18,7 +20,7 @@ export default () => {
return ` return `
<div class="${selectedClasses}"> <div class="${selectedClasses}">
<select required> <select required ${selectOptions.includes(disabled) && 'disabled'} >
<option value="" disabled selected hidden>Select...</option> <option value="" disabled selected hidden>Select...</option>
<option value="0">To be</option> <option value="0">To be</option>
<option value="1">Not to be</option> <option value="1">Not to be</option>