mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-15 18:31:06 +00:00
Merge pull request #199 from softartisan/softartisan/name-props
add name to form components
This commit is contained in:
commit
6a5f461017
32 changed files with 82 additions and 26 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -7,3 +7,4 @@ yarn-debug.log*
|
||||||
yarn-error.log*
|
yarn-error.log*
|
||||||
*.tgz
|
*.tgz
|
||||||
.vscode
|
.vscode
|
||||||
|
.idea
|
||||||
|
|
|
@ -19,6 +19,7 @@ export const Default = () => ({
|
||||||
light: boolean('Light (light)', false),
|
light: boolean('Light (light)', false),
|
||||||
disabled: boolean('Disabled (disabled)', false),
|
disabled: boolean('Disabled (disabled)', false),
|
||||||
invalid: boolean('Invalid (invalid)', false),
|
invalid: boolean('Invalid (invalid)', false),
|
||||||
invalidText: text('Invalid text (invalidText)', 'A valid value is required')
|
invalidText: text('Invalid text (invalidText)', 'A valid value is required'),
|
||||||
|
name: 'combo-box-name'
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
export let titleText = '';
|
export let titleText = '';
|
||||||
export let translateWithId = undefined;
|
export let translateWithId = undefined;
|
||||||
export let value = '';
|
export let value = '';
|
||||||
|
export let name = undefined;
|
||||||
|
|
||||||
import { afterUpdate } from 'svelte';
|
import { afterUpdate } from 'svelte';
|
||||||
import WarningFilled16 from 'carbon-icons-svelte/lib/WarningFilled16';
|
import WarningFilled16 from 'carbon-icons-svelte/lib/WarningFilled16';
|
||||||
|
@ -100,6 +101,7 @@
|
||||||
open = true;
|
open = true;
|
||||||
}}
|
}}
|
||||||
{id}
|
{id}
|
||||||
|
{name}
|
||||||
{disabled}
|
{disabled}
|
||||||
{translateWithId}>
|
{translateWithId}>
|
||||||
<input
|
<input
|
||||||
|
|
|
@ -18,6 +18,7 @@ export const Default = () => ({
|
||||||
},
|
},
|
||||||
datePickerInput: {
|
datePickerInput: {
|
||||||
id: 'date-picker-input-id',
|
id: 'date-picker-input-id',
|
||||||
|
name: 'date-picker-input-name',
|
||||||
labelText: text('Label text (labelText in <DatePickerInput>)', 'Date Picker label'),
|
labelText: text('Label text (labelText in <DatePickerInput>)', 'Date Picker label'),
|
||||||
hideLabel: boolean('Hide label (hideLabel)', false),
|
hideLabel: boolean('Hide label (hideLabel)', false),
|
||||||
pattern: select('The date format (pattern in <DatePickerInput>)', patterns, 'd{1,2}/d{4}'),
|
pattern: select('The date format (pattern in <DatePickerInput>)', patterns, 'd{1,2}/d{4}'),
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
export let placeholder = '';
|
export let placeholder = '';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
export let type = 'text';
|
export let type = 'text';
|
||||||
|
export let name = undefined;
|
||||||
|
|
||||||
import { getContext, onMount } from 'svelte';
|
import { getContext, onMount } from 'svelte';
|
||||||
import Calendar16 from 'carbon-icons-svelte/lib/Calendar16';
|
import Calendar16 from 'carbon-icons-svelte/lib/Calendar16';
|
||||||
|
@ -71,6 +72,7 @@
|
||||||
blurInput(relatedTarget);
|
blurInput(relatedTarget);
|
||||||
}}
|
}}
|
||||||
{id}
|
{id}
|
||||||
|
{name}
|
||||||
{placeholder}
|
{placeholder}
|
||||||
{type}
|
{type}
|
||||||
{pattern}
|
{pattern}
|
||||||
|
|
|
@ -17,7 +17,8 @@ const sizes = {
|
||||||
export const Default = () => ({
|
export const Default = () => ({
|
||||||
Component,
|
Component,
|
||||||
props: {
|
props: {
|
||||||
id: text('Dropdown ID (id)', 'carbon-dropdown-example'),
|
id: text('Dropdown id', 'carbon-dropdown-id'),
|
||||||
|
name: text('Dropdown name', 'carbon-dropdown-name'),
|
||||||
type: select('Dropdown type (type)', types, 'default'),
|
type: select('Dropdown type (type)', types, 'default'),
|
||||||
size: select('Field size (size)', sizes, '') || undefined,
|
size: select('Field size (size)', sizes, '') || undefined,
|
||||||
label: text('Label (label)', 'Dropdown menu options'),
|
label: text('Label (label)', 'Dropdown menu options'),
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
export let helperText = '';
|
export let helperText = '';
|
||||||
export let id = Math.random();
|
export let id = Math.random();
|
||||||
|
export let name = undefined;
|
||||||
export let inline = false;
|
export let inline = false;
|
||||||
export let invalid = false;
|
export let invalid = false;
|
||||||
export let invalidText = '';
|
export let invalidText = '';
|
||||||
|
@ -75,6 +76,7 @@
|
||||||
{type}
|
{type}
|
||||||
{size}
|
{size}
|
||||||
{id}
|
{id}
|
||||||
|
{name}
|
||||||
aria-label={$$props['aria-label']}
|
aria-label={$$props['aria-label']}
|
||||||
class={cx('--dropdown', invalid && '--dropdown--invalid', open && '--dropdown--open', inline && '--dropdown--inline', disabled && '--dropdown--disabled', light && '--dropdown--light')}
|
class={cx('--dropdown', invalid && '--dropdown--invalid', open && '--dropdown--open', inline && '--dropdown--inline', disabled && '--dropdown--disabled', light && '--dropdown--light')}
|
||||||
on:click={({ target }) => {
|
on:click={({ target }) => {
|
||||||
|
|
|
@ -32,7 +32,8 @@
|
||||||
<div style="width: 300px; margin-top: 2rem;">
|
<div style="width: 300px; margin-top: 2rem;">
|
||||||
<MultiSelect
|
<MultiSelect
|
||||||
{...$$props}
|
{...$$props}
|
||||||
id="multiselect"
|
id="multi-select-id"
|
||||||
|
name="multi-select-name"
|
||||||
placeholder="Filter..."
|
placeholder="Filter..."
|
||||||
bind:selectedIds
|
bind:selectedIds
|
||||||
bind:items
|
bind:items
|
||||||
|
|
|
@ -17,7 +17,8 @@ const sizes = {
|
||||||
export const Default = () => ({
|
export const Default = () => ({
|
||||||
Component,
|
Component,
|
||||||
props: {
|
props: {
|
||||||
id: 'multiselect',
|
id: text('MultiSelect id', 'multi-select-id'),
|
||||||
|
name: text('MultiSelect name', 'multi-select-name'),
|
||||||
titleText: text('Title (titleText)', 'Multiselect Title'),
|
titleText: text('Title (titleText)', 'Multiselect Title'),
|
||||||
helperText: text('Helper text (helperText)', 'This is not helper text'),
|
helperText: text('Helper text (helperText)', 'This is not helper text'),
|
||||||
filterable: boolean('Filterable (filterable)', false),
|
filterable: boolean('Filterable (filterable)', false),
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
export let filterItem = (item, value) => item.text.toLowerCase().includes(value.toLowerCase());
|
export let filterItem = (item, value) => item.text.toLowerCase().includes(value.toLowerCase());
|
||||||
export let helperText = '';
|
export let helperText = '';
|
||||||
export let id = Math.random();
|
export let id = Math.random();
|
||||||
|
export let name = undefined;
|
||||||
export let invalid = false;
|
export let invalid = false;
|
||||||
export let invalidText = '';
|
export let invalidText = '';
|
||||||
export let items = [];
|
export let items = [];
|
||||||
|
@ -236,6 +237,7 @@
|
||||||
{disabled}
|
{disabled}
|
||||||
{placeholder}
|
{placeholder}
|
||||||
{id}
|
{id}
|
||||||
|
{name}
|
||||||
value={inputValue} />
|
value={inputValue} />
|
||||||
{#if invalid}
|
{#if invalid}
|
||||||
<WarningFilled16 class={cx('--list-box__invalid-icon')} />
|
<WarningFilled16 class={cx('--list-box__invalid-icon')} />
|
||||||
|
|
|
@ -14,7 +14,8 @@
|
||||||
{:else}
|
{:else}
|
||||||
<NumberInput
|
<NumberInput
|
||||||
{...$$props}
|
{...$$props}
|
||||||
id="slider"
|
id="number-input-id"
|
||||||
|
name="number-input-id"
|
||||||
bind:value
|
bind:value
|
||||||
on:change={({ detail }) => {
|
on:change={({ detail }) => {
|
||||||
console.log('on:change', detail);
|
console.log('on:change', detail);
|
||||||
|
|
|
@ -6,7 +6,8 @@ export default { title: 'NumberInput', decorators: [withKnobs] };
|
||||||
export const Default = () => ({
|
export const Default = () => ({
|
||||||
Component,
|
Component,
|
||||||
props: {
|
props: {
|
||||||
id: 'number-input',
|
id: text('NumberInput id', 'number-input-id'),
|
||||||
|
name: text('NumberInput name', 'number-input-name'),
|
||||||
label: text('Label (label)', 'Number Input label'),
|
label: text('Label (label)', 'Number Input label'),
|
||||||
hideLabel: boolean('Hide label (hideLabel)', false),
|
hideLabel: boolean('Hide label (hideLabel)', false),
|
||||||
min: number('Minimum value (min)', 0),
|
min: number('Minimum value (min)', 0),
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
export let hideLabel = false;
|
export let hideLabel = false;
|
||||||
export let iconDescription = '';
|
export let iconDescription = '';
|
||||||
export let id = Math.random();
|
export let id = Math.random();
|
||||||
|
export let name = undefined;
|
||||||
export let invalid = false;
|
export let invalid = false;
|
||||||
export let invalidText = 'Provide invalidText';
|
export let invalidText = 'Provide invalidText';
|
||||||
export let mobile = false;
|
export let mobile = false;
|
||||||
|
@ -96,6 +97,7 @@
|
||||||
}}
|
}}
|
||||||
{disabled}
|
{disabled}
|
||||||
{id}
|
{id}
|
||||||
|
{name}
|
||||||
{max}
|
{max}
|
||||||
{min}
|
{min}
|
||||||
{step}
|
{step}
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
{#if story === 'skeleton'}
|
{#if story === 'skeleton'}
|
||||||
<SelectSkeleton {...$$props} />
|
<SelectSkeleton {...$$props} />
|
||||||
{:else}
|
{:else}
|
||||||
<Select {...$$props.select} id="select-1" bind:selected>
|
<Select {...$$props.select} id="select-id" name="select-name" bind:selected>
|
||||||
<SelectItem value="placeholder-item" text="Choose an option" disabled hidden />
|
<SelectItem value="placeholder-item" text="Choose an option" disabled hidden />
|
||||||
<SelectItemGroup {...$$props.group} label="Category 1">
|
<SelectItemGroup {...$$props.group} label="Category 1">
|
||||||
<SelectItem value="option-1" text="Option 1" />
|
<SelectItem value="option-1" text="Option 1" />
|
||||||
|
|
|
@ -17,7 +17,9 @@ export const Default = () => ({
|
||||||
'A valid value is required'
|
'A valid value is required'
|
||||||
),
|
),
|
||||||
labelText: text('Label text (helperText)', 'Select'),
|
labelText: text('Label text (helperText)', 'Select'),
|
||||||
helperText: text('Helper text (helperText)', 'Optional helper text.')
|
helperText: text('Helper text (helperText)', 'Optional helper text.'),
|
||||||
|
id: text('Select id', 'select-id'),
|
||||||
|
name: text('Select name', 'select-name')
|
||||||
},
|
},
|
||||||
group: {
|
group: {
|
||||||
disabled: boolean('Disabled (disabled in <SelectItemGroup>)', false)
|
disabled: boolean('Disabled (disabled in <SelectItemGroup>)', false)
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
export let helperText = '';
|
export let helperText = '';
|
||||||
export let hideLabel = false;
|
export let hideLabel = false;
|
||||||
export let id = Math.random();
|
export let id = Math.random();
|
||||||
|
export let name = undefined;
|
||||||
export let inline = false;
|
export let inline = false;
|
||||||
export let invalid = false;
|
export let invalid = false;
|
||||||
export let invalidText = '';
|
export let invalidText = '';
|
||||||
|
@ -62,7 +63,9 @@
|
||||||
selectedValue.set(target.value);
|
selectedValue.set(target.value);
|
||||||
}}
|
}}
|
||||||
on:blur
|
on:blur
|
||||||
{id}>
|
{id}
|
||||||
|
{name}
|
||||||
|
>
|
||||||
<slot />
|
<slot />
|
||||||
</select>
|
</select>
|
||||||
<ChevronDown16 class={cx('--select__arrow')} />
|
<ChevronDown16 class={cx('--select__arrow')} />
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
{:else}
|
{:else}
|
||||||
<Slider
|
<Slider
|
||||||
{...$$props}
|
{...$$props}
|
||||||
id="slider"
|
id="slider-id"
|
||||||
bind:value
|
bind:value
|
||||||
on:change={({ detail }) => {
|
on:change={({ detail }) => {
|
||||||
console.log('on:change', detail);
|
console.log('on:change', detail);
|
||||||
|
|
|
@ -6,6 +6,7 @@ export default { title: 'Slider', decorators: [withKnobs] };
|
||||||
export const Default = () => ({
|
export const Default = () => ({
|
||||||
Component,
|
Component,
|
||||||
props: {
|
props: {
|
||||||
|
id: text('Slider id', 'slider-id'),
|
||||||
name: text('Form item name (name)', ''),
|
name: text('Form item name (name)', ''),
|
||||||
inputType: text('The form element type (inputType)', 'number'),
|
inputType: text('The form element type (inputType)', 'number'),
|
||||||
ariaLabelInput: text(
|
ariaLabelInput: text(
|
||||||
|
|
|
@ -6,7 +6,8 @@ export default { title: 'TextArea', decorators: [withKnobs] };
|
||||||
export const Default = () => ({
|
export const Default = () => ({
|
||||||
Component,
|
Component,
|
||||||
props: {
|
props: {
|
||||||
id: 'text-area',
|
id: text('TextArea id', 'text-area-id'),
|
||||||
|
name: text('TextArea name', 'text-area-name'),
|
||||||
disabled: boolean('Disabled (disabled)', false),
|
disabled: boolean('Disabled (disabled)', false),
|
||||||
light: boolean('Light variant (light)', false),
|
light: boolean('Light variant (light)', false),
|
||||||
hideLabel: boolean('No label (hideLabel)', false),
|
hideLabel: boolean('No label (hideLabel)', false),
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
export let helperText = '';
|
export let helperText = '';
|
||||||
export let hideLabel = false;
|
export let hideLabel = false;
|
||||||
export let id = Math.random();
|
export let id = Math.random();
|
||||||
|
export let name = undefined;
|
||||||
export let invalid = false;
|
export let invalid = false;
|
||||||
export let invalidText = '';
|
export let invalidText = '';
|
||||||
export let labelText = '';
|
export let labelText = '';
|
||||||
|
@ -51,6 +52,7 @@
|
||||||
on:blur
|
on:blur
|
||||||
{disabled}
|
{disabled}
|
||||||
{id}
|
{id}
|
||||||
|
{name}
|
||||||
{cols}
|
{cols}
|
||||||
{rows}
|
{rows}
|
||||||
{value}
|
{value}
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
export let hideLabel = false;
|
export let hideLabel = false;
|
||||||
export let hidePasswordLabel = 'Hide password';
|
export let hidePasswordLabel = 'Hide password';
|
||||||
export let id = Math.random();
|
export let id = Math.random();
|
||||||
|
export let name = undefined;
|
||||||
export let invalid = false;
|
export let invalid = false;
|
||||||
export let invalidText = '';
|
export let invalidText = '';
|
||||||
export let labelText = '';
|
export let labelText = '';
|
||||||
|
@ -62,6 +63,7 @@
|
||||||
on:focus
|
on:focus
|
||||||
on:blur
|
on:blur
|
||||||
{id}
|
{id}
|
||||||
|
{name}
|
||||||
{placeholder}
|
{placeholder}
|
||||||
{type}
|
{type}
|
||||||
{value}
|
{value}
|
||||||
|
|
|
@ -14,7 +14,8 @@ export const Default = () => ({
|
||||||
invalidText: text('Content of form validation UI (invalidText)', 'A valid value is required'),
|
invalidText: text('Content of form validation UI (invalidText)', 'A valid value is required'),
|
||||||
helperText: text('Helper text (helperText)', 'Optional helper text.'),
|
helperText: text('Helper text (helperText)', 'Optional helper text.'),
|
||||||
placeholder: text('Placeholder text (placeholder)', 'Placeholder text.'),
|
placeholder: text('Placeholder text (placeholder)', 'Placeholder text.'),
|
||||||
id: 'text-input'
|
id: text('TextInput id', 'text-input-id'),
|
||||||
|
name: text('TextInput name', 'text-input-name')
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -30,7 +31,8 @@ export const TogglePasswordVisibility = () => ({
|
||||||
invalidText: text('Content of form validation UI (invalidText)', 'A valid value is required'),
|
invalidText: text('Content of form validation UI (invalidText)', 'A valid value is required'),
|
||||||
helperText: text('Helper text (helperText)', 'Optional helper text.'),
|
helperText: text('Helper text (helperText)', 'Optional helper text.'),
|
||||||
placeholder: text('Placeholder text (placeholder)', 'Placeholder text.'),
|
placeholder: text('Placeholder text (placeholder)', 'Placeholder text.'),
|
||||||
id: 'text-input',
|
id: text('TextInput id', 'text-input-id'),
|
||||||
|
name: text('TextInput name', 'text-input-name'),
|
||||||
tooltipPosition: select(
|
tooltipPosition: select(
|
||||||
'Tooltip position (tooltipPosition)',
|
'Tooltip position (tooltipPosition)',
|
||||||
['top', 'right', 'bottom', 'left'],
|
['top', 'right', 'bottom', 'left'],
|
||||||
|
@ -64,7 +66,8 @@ export const ControlledTogglePasswordVisibility = () => ({
|
||||||
invalidText: text('Content of form validation UI (invalidText)', 'A valid value is required'),
|
invalidText: text('Content of form validation UI (invalidText)', 'A valid value is required'),
|
||||||
helperText: text('Helper text (helperText)', 'Optional helper text.'),
|
helperText: text('Helper text (helperText)', 'Optional helper text.'),
|
||||||
placeholder: text('Placeholder text (placeholder)', 'Placeholder text.'),
|
placeholder: text('Placeholder text (placeholder)', 'Placeholder text.'),
|
||||||
id: 'text-input',
|
id: text('TextInput id', 'text-input-id'),
|
||||||
|
name: text('TextInput name', 'text-input-name'),
|
||||||
tooltipPosition: select(
|
tooltipPosition: select(
|
||||||
'Tooltip position (tooltipPosition)',
|
'Tooltip position (tooltipPosition)',
|
||||||
['top', 'right', 'bottom', 'left'],
|
['top', 'right', 'bottom', 'left'],
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
export let helperText = '';
|
export let helperText = '';
|
||||||
export let hideLabel = false;
|
export let hideLabel = false;
|
||||||
export let id = Math.random();
|
export let id = Math.random();
|
||||||
|
export let name = undefined;
|
||||||
export let invalid = false;
|
export let invalid = false;
|
||||||
export let invalidText = '';
|
export let invalidText = '';
|
||||||
export let labelText = '';
|
export let labelText = '';
|
||||||
|
@ -56,6 +57,7 @@
|
||||||
on:focus
|
on:focus
|
||||||
on:blur
|
on:blur
|
||||||
{id}
|
{id}
|
||||||
|
{name}
|
||||||
{placeholder}
|
{placeholder}
|
||||||
{type}
|
{type}
|
||||||
{value}
|
{value}
|
||||||
|
|
|
@ -21,7 +21,9 @@ export const Default = () => ({
|
||||||
'Form validation UI content (invalidText in <TimePicker>)',
|
'Form validation UI content (invalidText in <TimePicker>)',
|
||||||
'A valid value is required'
|
'A valid value is required'
|
||||||
),
|
),
|
||||||
maxlength: number('Maximum length (maxlength in <TimePicker>)', 5)
|
maxlength: number('Maximum length (maxlength in <TimePicker>)', 5),
|
||||||
|
id: text('TimePicker id', 'time-picker-id'),
|
||||||
|
name: text('TimePicker name', 'time-picker-name'),
|
||||||
},
|
},
|
||||||
select: {
|
select: {
|
||||||
disabled: boolean('Disabled (disabled in <TimePickerSelect>)', false),
|
disabled: boolean('Disabled (disabled in <TimePickerSelect>)', false),
|
||||||
|
@ -30,7 +32,9 @@ export const Default = () => ({
|
||||||
iconDescription: text(
|
iconDescription: text(
|
||||||
'Trigger icon description (iconDescription in <TimePickerSelect>)',
|
'Trigger icon description (iconDescription in <TimePickerSelect>)',
|
||||||
'open list of options'
|
'open list of options'
|
||||||
)
|
),
|
||||||
|
id: text('TimePickerSelect id', 'time-picker-select-id'),
|
||||||
|
name: text('TimePickerSelect name', 'time-picker-select-name'),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
export let hideLabel = false;
|
export let hideLabel = false;
|
||||||
export let id = Math.random();
|
export let id = Math.random();
|
||||||
|
export let name = undefined;
|
||||||
export let invalid = false;
|
export let invalid = false;
|
||||||
export let invalidText = 'Invalid time format.';
|
export let invalidText = 'Invalid time format.';
|
||||||
export let labelText = '';
|
export let labelText = '';
|
||||||
|
@ -42,6 +43,7 @@
|
||||||
{placeholder}
|
{placeholder}
|
||||||
{maxlength}
|
{maxlength}
|
||||||
{id}
|
{id}
|
||||||
|
{name}
|
||||||
{type}
|
{type}
|
||||||
{value}
|
{value}
|
||||||
{disabled} />
|
{disabled} />
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
export let hideLabel = true;
|
export let hideLabel = true;
|
||||||
export let iconDescription = 'Open list of options';
|
export let iconDescription = 'Open list of options';
|
||||||
export let id = Math.random();
|
export let id = Math.random();
|
||||||
|
export let name = undefined;
|
||||||
export let labelText = '';
|
export let labelText = '';
|
||||||
export let style = undefined;
|
export let style = undefined;
|
||||||
export let value = '';
|
export let value = '';
|
||||||
|
@ -39,6 +40,7 @@
|
||||||
selectedValue.set(target.value);
|
selectedValue.set(target.value);
|
||||||
}}
|
}}
|
||||||
{id}
|
{id}
|
||||||
|
{name}
|
||||||
{disabled}
|
{disabled}
|
||||||
{value}>
|
{value}>
|
||||||
<slot />
|
<slot />
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
<Layout>
|
<Layout>
|
||||||
{#if story === 'toggled'}
|
{#if story === 'toggled'}
|
||||||
<Toggle {...$$props} id="toggle-1" bind:toggled />
|
<Toggle {...$$props} id="toggle-id" name="toggle-name" bind:toggled />
|
||||||
{:else if story === 'skeleton'}
|
{:else if story === 'skeleton'}
|
||||||
<ToggleSkeleton />
|
<ToggleSkeleton />
|
||||||
{:else}
|
{:else}
|
||||||
|
|
|
@ -10,7 +10,9 @@ export const Default = () => ({
|
||||||
'aria-label': text('ARIA label of the toggle (aria-label)', ''),
|
'aria-label': text('ARIA label of the toggle (aria-label)', ''),
|
||||||
labelA: text('Label for untoggled state (labelA)', 'Off'),
|
labelA: text('Label for untoggled state (labelA)', 'Off'),
|
||||||
labelB: text('Label for toggled state (labelB)', 'On'),
|
labelB: text('Label for toggled state (labelB)', 'On'),
|
||||||
disabled: boolean('Disabled (disabled)', false)
|
disabled: boolean('Disabled (disabled)', false),
|
||||||
|
id: text('Toggle id', 'toggle-id'),
|
||||||
|
name: text('Toggle name', 'toggle-name')
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -24,7 +26,9 @@ export const Toggled = () => ({
|
||||||
'aria-label': text('ARIA label of the toggle (aria-label)', ''),
|
'aria-label': text('ARIA label of the toggle (aria-label)', ''),
|
||||||
labelA: text('Label for untoggled state (labelA)', 'Off'),
|
labelA: text('Label for untoggled state (labelA)', 'Off'),
|
||||||
labelB: text('Label for toggled state (labelB)', 'On'),
|
labelB: text('Label for toggled state (labelB)', 'On'),
|
||||||
disabled: boolean('Disabled (disabled)', false)
|
disabled: boolean('Disabled (disabled)', false),
|
||||||
|
id: text('Toggle id', 'toggle-id'),
|
||||||
|
name: text('Toggle name', 'toggle-name')
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
export let id = Math.random();
|
export let id = Math.random();
|
||||||
|
export let name = undefined;
|
||||||
export let labelA = 'Off';
|
export let labelA = 'Off';
|
||||||
export let labelB = 'On';
|
export let labelB = 'On';
|
||||||
export let labelText = '';
|
export let labelText = '';
|
||||||
|
@ -31,7 +32,9 @@
|
||||||
on:focus
|
on:focus
|
||||||
on:blur
|
on:blur
|
||||||
{disabled}
|
{disabled}
|
||||||
{id} />
|
{id}
|
||||||
|
{name}
|
||||||
|
/>
|
||||||
<label
|
<label
|
||||||
aria-label={labelText ? undefined : $$props['aria-label'] || 'Toggle'}
|
aria-label={labelText ? undefined : $$props['aria-label'] || 'Toggle'}
|
||||||
class={cx('--toggle-input__label')}
|
class={cx('--toggle-input__label')}
|
||||||
|
|
|
@ -14,10 +14,10 @@
|
||||||
|
|
||||||
<Layout>
|
<Layout>
|
||||||
{#if story === 'toggled'}
|
{#if story === 'toggled'}
|
||||||
<ToggleSmall {...$$props} id="toggle-1" bind:toggled />
|
<ToggleSmall {...$$props} id="toggle-small-id" name="toggle-small-name" bind:toggled />
|
||||||
{:else if story === 'skeleton'}
|
{:else if story === 'skeleton'}
|
||||||
<ToggleSmallSkeleton />
|
<ToggleSmallSkeleton />
|
||||||
{:else}
|
{:else}
|
||||||
<ToggleSmall {...$$props} id="toggle-1" />
|
<ToggleSmall {...$$props} id="toggle-small-id" name="toggle-small-name" />
|
||||||
{/if}
|
{/if}
|
||||||
</Layout>
|
</Layout>
|
||||||
|
|
|
@ -10,7 +10,9 @@ export const Default = () => ({
|
||||||
'aria-label': text('ARIA label of the toggle (aria-label)', ''),
|
'aria-label': text('ARIA label of the toggle (aria-label)', ''),
|
||||||
labelA: text('Label for untoggled state (labelA)', 'Off'),
|
labelA: text('Label for untoggled state (labelA)', 'Off'),
|
||||||
labelB: text('Label for toggled state (labelB)', 'On'),
|
labelB: text('Label for toggled state (labelB)', 'On'),
|
||||||
disabled: boolean('Disabled (disabled)', false)
|
disabled: boolean('Disabled (disabled)', false),
|
||||||
|
id: text('ToggleSmall id', 'toggle-small-id'),
|
||||||
|
name: text('ToggleSmall name', 'toggle-small-name')
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -24,7 +26,9 @@ export const Toggled = () => ({
|
||||||
'aria-label': text('ARIA label of the toggle (aria-label)', ''),
|
'aria-label': text('ARIA label of the toggle (aria-label)', ''),
|
||||||
labelA: text('Label for untoggled state (labelA)', 'Off'),
|
labelA: text('Label for untoggled state (labelA)', 'Off'),
|
||||||
labelB: text('Label for toggled state (labelB)', 'On'),
|
labelB: text('Label for toggled state (labelB)', 'On'),
|
||||||
disabled: boolean('Disabled (disabled)', false)
|
disabled: boolean('Disabled (disabled)', false),
|
||||||
|
id: text('ToggleSmall id', 'toggle-small-id'),
|
||||||
|
name: text('ToggleSmall name', 'toggle-small-name')
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
export { className as class };
|
export { className as class };
|
||||||
export let disabled = false;
|
export let disabled = false;
|
||||||
export let id = Math.random();
|
export let id = Math.random();
|
||||||
|
export let name = undefined;
|
||||||
export let labelA = 'Off';
|
export let labelA = 'Off';
|
||||||
export let labelB = 'On';
|
export let labelB = 'On';
|
||||||
export let labelText = '';
|
export let labelText = '';
|
||||||
|
@ -31,7 +32,9 @@
|
||||||
on:focus
|
on:focus
|
||||||
on:blur
|
on:blur
|
||||||
{disabled}
|
{disabled}
|
||||||
{id} />
|
{id}
|
||||||
|
{name}
|
||||||
|
/>
|
||||||
<label
|
<label
|
||||||
aria-label={labelText ? undefined : $$props['aria-label'] || 'Toggle'}
|
aria-label={labelText ? undefined : $$props['aria-label'] || 'Toggle'}
|
||||||
class={cx('--toggle-input__label')}
|
class={cx('--toggle-input__label')}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue