mirror of
https://github.com/nostalgic-css/NES.css.git
synced 2025-08-06 14:36:31 +02:00
Merge pull request #458 from loo41/features/form-disabled
feat(form): add "is-disabled" class
This commit is contained in:
@@ -103,4 +103,32 @@
|
|||||||
color: $color-white;
|
color: $color-white;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
&.is-disabled {
|
||||||
|
$color: map-get($disabled-colors, "normal");
|
||||||
|
$colors-radio-disabled: ($color, map-get($disabled-colors, "shadow"));
|
||||||
|
|
||||||
|
+ span {
|
||||||
|
color: $color;
|
||||||
|
cursor: not-allowed;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* stylelint-disable-next-line no-descending-specificity */
|
||||||
|
+ span::before {
|
||||||
|
color: $color;
|
||||||
|
cursor: not-allowed;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* stylelint-disable-next-line no-descending-specificity */
|
||||||
|
&:checked + span::before {
|
||||||
|
@include pixelize(2px, $checkbox-checked-focus, $colors-radio-disabled);
|
||||||
|
|
||||||
|
color: $color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:checked:focus + span::before {
|
||||||
|
@include pixelize(2px, $checkbox-checked-focus, $colors-radio-disabled);
|
||||||
|
|
||||||
|
color: $color;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -28,6 +28,12 @@
|
|||||||
&.is-error {
|
&.is-error {
|
||||||
@include border-style(map-get($error-colors, "normal"), map-get($error-colors, "hover"));
|
@include border-style(map-get($error-colors, "normal"), map-get($error-colors, "hover"));
|
||||||
}
|
}
|
||||||
|
&.is-disabled {
|
||||||
|
@include border-style(map-get($disabled-colors, "normal"), map-get($disabled-colors, "shadow"));
|
||||||
|
|
||||||
|
color: map-get($disabled-colors, "normal");
|
||||||
|
cursor: not-allowed;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.nes-field {
|
.nes-field {
|
||||||
|
@@ -73,4 +73,39 @@
|
|||||||
color: $color-white;
|
color: $color-white;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
&.is-disabled {
|
||||||
|
$color: map-get($disabled-colors, "normal");
|
||||||
|
$colors-radio-disabled: ($color, map-get($disabled-colors, "shadow"));
|
||||||
|
|
||||||
|
+ span {
|
||||||
|
color: $color;
|
||||||
|
cursor: not-allowed;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* stylelint-disable-next-line no-descending-specificity */
|
||||||
|
+ span::before {
|
||||||
|
color: $color;
|
||||||
|
cursor: not-allowed;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:checked:hover,
|
||||||
|
&:checked:focus {
|
||||||
|
& + span::before {
|
||||||
|
animation: unset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* stylelint-disable-next-line no-descending-specificity */
|
||||||
|
&:checked + span::before {
|
||||||
|
@include pixelize(2px, $radio-checked-focus, $colors-radio-disabled);
|
||||||
|
|
||||||
|
color: $color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:checked:focus + span::before {
|
||||||
|
@include pixelize(2px, $radio-checked-focus, $colors-radio-disabled);
|
||||||
|
|
||||||
|
color: $color;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -50,7 +50,8 @@
|
|||||||
"dark" map-get($default-colors, "normal") map-get($default-colors, "hover"),
|
"dark" map-get($default-colors, "normal") map-get($default-colors, "hover"),
|
||||||
"success" map-get($success-colors, "normal") map-get($success-colors, "hover"),
|
"success" map-get($success-colors, "normal") map-get($success-colors, "hover"),
|
||||||
"warning" map-get($warning-colors, "normal") map-get($warning-colors, "hover"),
|
"warning" map-get($warning-colors, "normal") map-get($warning-colors, "hover"),
|
||||||
"error" map-get($error-colors, "normal") map-get($error-colors, "hover");
|
"error" map-get($error-colors, "normal") map-get($error-colors, "hover"),
|
||||||
|
"disable" map-get($disabled-colors, "normal") map-get($disabled-colors, "shadow");
|
||||||
@each $type in $types {
|
@each $type in $types {
|
||||||
&.is-#{nth($type, 1)} {
|
&.is-#{nth($type, 1)} {
|
||||||
$color: nth($type, 2);
|
$color: nth($type, 2);
|
||||||
@@ -66,4 +67,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
&.is-disabled {
|
||||||
|
@extend .is-disable;
|
||||||
|
select {
|
||||||
|
color: map-get($disabled-colors, "normal");
|
||||||
|
cursor: not-allowed;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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>
|
||||||
|
@@ -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"
|
||||||
|
/>
|
||||||
`;
|
`;
|
||||||
};
|
};
|
||||||
|
@@ -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>
|
||||||
|
@@ -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>
|
||||||
|
Reference in New Issue
Block a user