mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-15 02:11:05 +00:00
92 lines
3.5 KiB
JavaScript
92 lines
3.5 KiB
JavaScript
import { withKnobs, boolean, text, select } from '@storybook/addon-knobs';
|
|
import Component from './TextInput.Story.svelte';
|
|
|
|
export default { title: 'TextInput', decorators: [withKnobs] };
|
|
|
|
export const Default = () => ({
|
|
Component,
|
|
props: {
|
|
disabled: boolean('Disabled (disabled)', false),
|
|
light: boolean('Light variant (light)', false),
|
|
hideLabel: boolean('No label (hideLabel)', false),
|
|
labelText: text('Label text (labelText)', 'Text Input label'),
|
|
invalid: boolean('Show form validation UI (invalid)', false),
|
|
invalidText: text('Content of form validation UI (invalidText)', 'A valid value is required'),
|
|
helperText: text('Helper text (helperText)', 'Optional helper text.'),
|
|
placeholder: text('Placeholder text (placeholder)', 'Placeholder text.'),
|
|
id: text('TextInput id', 'text-input-id'),
|
|
name: text('TextInput name', 'text-input-name')
|
|
}
|
|
});
|
|
|
|
export const TogglePasswordVisibility = () => ({
|
|
Component,
|
|
props: {
|
|
story: 'password-visibility',
|
|
disabled: boolean('Disabled (disabled)', false),
|
|
light: boolean('Light variant (light)', false),
|
|
hideLabel: boolean('No label (hideLabel)', false),
|
|
labelText: text('Label text (labelText)', 'Text Input label'),
|
|
invalid: boolean('Show form validation UI (invalid)', false),
|
|
invalidText: text('Content of form validation UI (invalidText)', 'A valid value is required'),
|
|
helperText: text('Helper text (helperText)', 'Optional helper text.'),
|
|
placeholder: text('Placeholder text (placeholder)', 'Placeholder text.'),
|
|
id: text('TextInput id', 'text-input-id'),
|
|
name: text('TextInput name', 'text-input-name'),
|
|
tooltipPosition: select(
|
|
'Tooltip position (tooltipPosition)',
|
|
['top', 'right', 'bottom', 'left'],
|
|
'bottom'
|
|
),
|
|
tooltipAlignment: select(
|
|
'Tooltip alignment (tooltipAlignment)',
|
|
['start', 'center', 'end'],
|
|
'center'
|
|
),
|
|
hidePasswordLabel: text(
|
|
'"Hide password" tooltip label for password visibility toggle (hidePasswordLabel)',
|
|
'Hide password'
|
|
),
|
|
showPasswordLabel: text(
|
|
'"Show password" tooltip label for password visibility toggle (showPasswordLabel)',
|
|
'Show password'
|
|
)
|
|
}
|
|
});
|
|
|
|
export const ControlledTogglePasswordVisibility = () => ({
|
|
Component,
|
|
props: {
|
|
story: 'controlled',
|
|
disabled: boolean('Disabled (disabled)', false),
|
|
light: boolean('Light variant (light)', false),
|
|
hideLabel: boolean('No label (hideLabel)', false),
|
|
labelText: text('Label text (labelText)', 'Text Input label'),
|
|
invalid: boolean('Show form validation UI (invalid)', false),
|
|
invalidText: text('Content of form validation UI (invalidText)', 'A valid value is required'),
|
|
helperText: text('Helper text (helperText)', 'Optional helper text.'),
|
|
placeholder: text('Placeholder text (placeholder)', 'Placeholder text.'),
|
|
id: text('TextInput id', 'text-input-id'),
|
|
name: text('TextInput name', 'text-input-name'),
|
|
tooltipPosition: select(
|
|
'Tooltip position (tooltipPosition)',
|
|
['top', 'right', 'bottom', 'left'],
|
|
'bottom'
|
|
),
|
|
tooltipAlignment: select(
|
|
'Tooltip alignment (tooltipAlignment)',
|
|
['start', 'center', 'end'],
|
|
'center'
|
|
),
|
|
hidePasswordLabel: text(
|
|
'"Hide password" tooltip label for password visibility toggle (hidePasswordLabel)',
|
|
'Hide password'
|
|
),
|
|
showPasswordLabel: text(
|
|
'"Show password" tooltip label for password visibility toggle (showPasswordLabel)',
|
|
'Show password'
|
|
)
|
|
}
|
|
});
|
|
|
|
export const Skeleton = () => ({ Component, props: { story: 'skeleton' } });
|