@flightlesslabs/dodo-ui 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/stories/components/Form/RangeSlider/RangeSlider.svelte +32 -19
- package/package.json +41 -43
- package/src/lib/stories/Home.mdx +59 -0
- package/src/lib/stories/assets/dark-theme-toggle.png +0 -0
- package/src/lib/stories/components/Form/Button/Button.stories.svelte +61 -0
- package/src/lib/stories/components/Form/Button/Color/Color.stories.svelte +43 -0
- package/src/lib/stories/components/Form/Button/Events/Events.stories.svelte +36 -0
- package/src/lib/stories/components/Form/Button/IconButton/IconButton.stories.svelte +43 -0
- package/src/lib/stories/components/Form/Button/Roundness/Roundness.stories.svelte +23 -0
- package/src/lib/stories/components/Form/Button/Size/Size.stories.svelte +16 -0
- package/src/lib/stories/components/Form/Button/Variant/Variant.stories.svelte +18 -0
- package/src/lib/stories/components/Form/DatePicker/Color/Color.stories.svelte +47 -0
- package/src/lib/stories/components/Form/DatePicker/Controls/Controls.stories.svelte +58 -0
- package/src/lib/stories/components/Form/DatePicker/Customize/Customize.stories.svelte +167 -0
- package/src/lib/stories/components/Form/DatePicker/DatePicker.stories.svelte +107 -0
- package/src/lib/stories/components/Form/DatePicker/Events/Events.stories.svelte +147 -0
- package/src/lib/stories/components/Form/DatePicker/FilterDates/FilterDates.stories.svelte +61 -0
- package/src/lib/stories/components/Form/DatePicker/Positions/AutoPosition/AutoPosition.stories.svelte +46 -0
- package/src/lib/stories/components/Form/DatePicker/Positions/Positions.stories.svelte +57 -0
- package/src/lib/stories/components/Form/DatePicker/Roundness/Roundness.stories.svelte +38 -0
- package/src/lib/stories/components/Form/DatePicker/Size/Size.stories.svelte +41 -0
- package/src/lib/stories/components/Form/DatePicker/WithIcon/WithIcon.stories.svelte +41 -0
- package/src/lib/stories/components/Form/FormControl/FormControl.stories.svelte +28 -0
- package/src/lib/stories/components/Form/Label/Label.stories.svelte +13 -0
- package/src/lib/stories/components/Form/Message/Color/Color.stories.svelte +36 -0
- package/src/lib/stories/components/Form/Message/Message.stories.svelte +27 -0
- package/src/lib/stories/components/Form/Message/Size/Size.stories.svelte +22 -0
- package/src/lib/stories/components/Form/NumericInput/Events/Events.stories.svelte +134 -0
- package/src/lib/stories/components/Form/NumericInput/NumericInput.stories.svelte +84 -0
- package/src/lib/stories/components/Form/NumericInput/Roundness/Roundness.stories.svelte +20 -0
- package/src/lib/stories/components/Form/NumericInput/Size/Size.stories.svelte +16 -0
- package/src/lib/stories/components/Form/NumericInput/Validation/Validation.stories.svelte +87 -0
- package/src/lib/stories/components/Form/NumericInput/WithIcon/WithIcon.stories.svelte +31 -0
- package/src/lib/stories/components/Form/PasswordInput/Events/Events.stories.svelte +132 -0
- package/src/lib/stories/components/Form/PasswordInput/PasswordInput.stories.svelte +58 -0
- package/src/lib/stories/components/Form/PasswordInput/Roundness/Roundness.stories.svelte +20 -0
- package/src/lib/stories/components/Form/PasswordInput/Size/Size.stories.svelte +16 -0
- package/src/lib/stories/components/Form/PasswordInput/WithIcon/WithIcon.stories.svelte +31 -0
- package/src/lib/stories/components/Form/RangeSlider/Color/Color.stories.svelte +19 -0
- package/src/lib/stories/components/Form/RangeSlider/Events/Events.stories.svelte +63 -0
- package/src/lib/stories/components/Form/RangeSlider/RangeSlider.stories.svelte +69 -0
- package/src/lib/stories/components/Form/RangeSlider/RangeSlider.svelte +33 -22
- package/src/lib/stories/components/Form/RangeSlider/Roundness/Roundness.stories.svelte +30 -0
- package/src/lib/stories/components/Form/RangeSlider/Size/Size.stories.svelte +16 -0
- package/src/lib/stories/components/Form/RangeSlider/WithIcon/WithIcon.stories.svelte +33 -0
- package/src/lib/stories/components/Form/Select/Customize/Customize.stories.svelte +139 -0
- package/src/lib/stories/components/Form/Select/DropDownArrow/DropDownArrow.stories.svelte +63 -0
- package/src/lib/stories/components/Form/Select/Events/Events.stories.svelte +174 -0
- package/src/lib/stories/components/Form/Select/Options/OptionFormat.mdx +40 -0
- package/src/lib/stories/components/Form/Select/Positions/AutoPosition/AutoPosition.stories.svelte +58 -0
- package/src/lib/stories/components/Form/Select/Positions/Positions.stories.svelte +87 -0
- package/src/lib/stories/components/Form/Select/Roundness/Roundness.stories.svelte +32 -0
- package/src/lib/stories/components/Form/Select/Select.stories.svelte +125 -0
- package/src/lib/stories/components/Form/Select/Size/Size.stories.svelte +28 -0
- package/src/lib/stories/components/Form/Select/WithIcon/WithIcon.stories.svelte +43 -0
- package/src/lib/stories/components/Form/TextInput/Events/Events.stories.svelte +125 -0
- package/src/lib/stories/components/Form/TextInput/Roundness/Roundness.stories.svelte +21 -0
- package/src/lib/stories/components/Form/TextInput/Size/Size.stories.svelte +17 -0
- package/src/lib/stories/components/Form/TextInput/TextInput.stories.svelte +43 -0
- package/src/lib/stories/components/Form/TextInput/WithIcon/WithIcon.stories.svelte +47 -0
- package/src/lib/stories/components/Info/Calendar/Calendar.stories.svelte +121 -0
- package/src/lib/stories/components/Info/Calendar/Color/Color.stories.svelte +23 -0
- package/src/lib/stories/components/Info/Calendar/Controls/Controls.stories.svelte +26 -0
- package/src/lib/stories/components/Info/Calendar/Customize/Customize.stories.svelte +160 -0
- package/src/lib/stories/components/Info/Calendar/Events/Events.stories.svelte +122 -0
- package/src/lib/stories/components/Info/Calendar/FilterDates/FilterDates.stories.svelte +70 -0
- package/src/lib/stories/components/Info/Calendar/Size/Size.stories.svelte +20 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarControls.stories.svelte +36 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/CalendarMonthSelector.stories.svelte +58 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Color/Color.stories.svelte +23 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Customize/Customize.stories.svelte +30 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Events/Events.stories.svelte +25 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/NameTypes/NameTypes.stories.svelte +25 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Roundness/Roundness.stories.svelte +26 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Size/Size.stories.svelte +20 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/CalendarNavigation.stories.svelte +36 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Color/Color.stories.svelte +19 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Customize/Customize.stories.svelte +33 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Events/Events.stories.svelte +37 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Size/Size.stories.svelte +16 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/CalendarYearSelector.stories.svelte +58 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Color/Color.stories.svelte +23 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Customize/Customize.stories.svelte +30 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Events/Events.stories.svelte +25 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Roundness/Roundness.stories.svelte +26 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Size/Size.stories.svelte +20 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Color/Color.stories.svelte +23 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Controls/Controls.stories.svelte +21 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Customize/Customize.stories.svelte +69 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Events/Events.stories.svelte +61 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Size/Size.stories.svelte +20 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/CalendarDateChip.stories.svelte +75 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Color/Color.stories.svelte +41 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Customize/Customize.stories.svelte +45 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Events/Events.stories.svelte +28 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Roundness/Roundness.stories.svelte +31 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Size/Size.stories.svelte +24 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/SpecialChips/SpecialChips.stories.svelte +96 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDatesChart.stories.svelte +104 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/CalendarWeek.stories.svelte +38 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/Customize/Customize.stories.svelte +32 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/NameTypes/NameTypes.stories.svelte +28 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/Size/Size.stories.svelte +16 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Color/Color.stories.svelte +23 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Customize/Customize.stories.svelte +68 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Events/Events.stories.svelte +24 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Size/Size.stories.svelte +20 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/CalendarMonthChip.stories.svelte +40 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Color/Color.stories.svelte +29 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Customize/Customize.stories.svelte +33 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Events/Events.stories.svelte +23 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Roundness/Roundness.stories.svelte +26 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Size/Size.stories.svelte +19 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthList.stories.svelte +45 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Color/Color.stories.svelte +22 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Customize/Customize.stories.svelte +36 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Events/Events.stories.svelte +33 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Size/Size.stories.svelte +19 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/CalendarYearChip.stories.svelte +41 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Color/Color.stories.svelte +30 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Customize/Customize.stories.svelte +33 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Events/Events.stories.svelte +24 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Roundness/Roundness.stories.svelte +27 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Size/Size.stories.svelte +20 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearList.stories.svelte +39 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Color/Color.stories.svelte +23 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Customize/Customize.stories.svelte +36 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Events/Events.stories.svelte +24 -0
- package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Size/Size.stories.svelte +20 -0
- package/src/lib/stories/components/Info/Calendar/utils/createDateOfMonth/index.mdx +121 -0
- package/src/lib/stories/components/Info/Calendar/utils/getDatesOfMonth/index.mdx +37 -0
- package/src/lib/stories/components/Layout/Menu/DynamicMenu/Customize/Customize.stories.svelte +30 -0
- package/src/lib/stories/components/Layout/Menu/DynamicMenu/DynamicMenu.stories.svelte +56 -0
- package/src/lib/stories/components/Layout/Menu/DynamicMenu/Events/Events.stories.svelte +48 -0
- package/src/lib/stories/components/Layout/Menu/DynamicMenu/KeybaordNavigation/KeybaordNavigation.stories.svelte +29 -0
- package/src/lib/stories/components/Layout/Menu/DynamicMenu/Options/OptionFormat.mdx +72 -0
- package/src/lib/stories/components/Layout/Menu/Menu.stories.svelte +69 -0
- package/src/lib/stories/components/Layout/Menu/MenuItem/MenuItem.stories.svelte +34 -0
- package/src/lib/stories/components/Layout/Menu/MenuItem/Size/Size.stories.svelte +16 -0
- package/src/lib/stories/components/Layout/Menu/MenuItem/Type/Type.stories.svelte +21 -0
- package/src/lib/stories/components/Layout/Menu/Size/Size.stories.svelte +37 -0
- package/src/lib/stories/components/Layout/Paper/Color/Color.stories.svelte +63 -0
- package/src/lib/stories/components/Layout/Paper/Paper.stories.svelte +50 -0
- package/src/lib/stories/components/Layout/Paper/Roundness/Roundness.stories.svelte +25 -0
- package/src/lib/stories/components/Layout/Paper/Shadow/Shadow.stories.svelte +24 -0
- package/src/lib/stories/components/Layout/Separator/Color/Color.stories.svelte +19 -0
- package/src/lib/stories/components/Layout/Separator/Separator.stories.svelte +30 -0
- package/src/lib/stories/developer tools/Intro.mdx +9 -0
- package/src/lib/stories/developer tools/components/DynamicInput/DynamicInput.stories.svelte +53 -0
- package/src/lib/stories/developer tools/components/DynamicInput/Events/Events.stories.svelte +121 -0
- package/src/lib/stories/developer tools/components/DynamicInput/Size/Size.stories.svelte +17 -0
- package/src/lib/stories/developer tools/components/InputEnclosure/InputEnclosure.stories.svelte +38 -0
- package/src/lib/stories/developer tools/components/InputEnclosure/Roundness/Roundness.stories.svelte +20 -0
- package/src/lib/stories/developer tools/components/InputEnclosure/Size/Size.stories.svelte +16 -0
- package/src/lib/stories/developer tools/components/InputEnclosure/WithIcon/WithIcon.stories.svelte +47 -0
- package/src/lib/stories/developer tools/components/Popper/Popper.stories.svelte +140 -0
- package/src/lib/stories/developer tools/components/Popper/PopperPopup/PopperPopup.stories.svelte +64 -0
- package/src/lib/stories/developer tools/components/Popper/Positions/AutoPosition/AutoPosition.stories.svelte +92 -0
- package/src/lib/stories/developer tools/components/Popper/Positions/Positions.stories.svelte +114 -0
- package/src/lib/stories/developer tools/components/UtilityButton/Size/Size.stories.svelte +25 -0
- package/src/lib/stories/developer tools/components/UtilityButton/UtilityButton.stories.svelte +30 -0
- package/src/lib/stories/developer tools/directives/clickOutside/index.mdx +25 -0
- package/src/lib/stories/developer tools/helpers/Numbers/cleanNumericString/index.mdx +20 -0
- package/src/lib/stories/developer tools/helpers/Numbers/isValidNumberValue/index.mdx +71 -0
- package/src/lib/stories/developer tools/helpers/Time/getMoment/index.mdx +45 -0
- package/src/lib/stories/developer tools/helpers/logger/index.mdx +63 -0
- package/src/lib/stories/developer tools/philosophy/Colors/Colors.mdx +43 -0
- package/src/lib/stories/developer tools/philosophy/Colors/Colors.stories.svelte +22 -0
- package/src/lib/stories/developer tools/philosophy/Colors/Opacity.stories.svelte +11 -0
- package/src/lib/stories/developer tools/philosophy/Themes.mdx +23 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import PasswordInput from './PasswordInput.svelte';
|
|
4
|
+
import type { StoryBookArgTypes } from '$lib/storybook-types.js';
|
|
5
|
+
import Icon from '@iconify/svelte';
|
|
6
|
+
import { componentRoundnessArray } from '$lib/types/roundness.js';
|
|
7
|
+
import { componentSizeArray } from '$lib/types/size.js';
|
|
8
|
+
|
|
9
|
+
export const storyPasswordInputArgTypes: StoryBookArgTypes = {
|
|
10
|
+
roundness: {
|
|
11
|
+
control: { type: 'select' },
|
|
12
|
+
options: componentRoundnessArray,
|
|
13
|
+
},
|
|
14
|
+
size: {
|
|
15
|
+
control: { type: 'select' },
|
|
16
|
+
options: componentSizeArray,
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
21
|
+
const { Story } = defineMeta({
|
|
22
|
+
component: PasswordInput,
|
|
23
|
+
tags: ['autodocs'],
|
|
24
|
+
argTypes: storyPasswordInputArgTypes,
|
|
25
|
+
args: { value: 'Hello world!' },
|
|
26
|
+
});
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<!-- PasswordInput with default style -->
|
|
30
|
+
<Story name="Default" />
|
|
31
|
+
|
|
32
|
+
<Story name="Placeholder" args={{ value: '', placeholder: 'Type something...' }} />
|
|
33
|
+
|
|
34
|
+
<Story name="No Outline" args={{ outline: false }} />
|
|
35
|
+
|
|
36
|
+
<Story name="Error" args={{ error: true }} />
|
|
37
|
+
|
|
38
|
+
<Story name="Disabled" args={{ disabled: true }} />
|
|
39
|
+
|
|
40
|
+
<!-- Disable password toggle -->
|
|
41
|
+
<Story name="No toggle" args={{ passwordToggle: false }} />
|
|
42
|
+
|
|
43
|
+
<!-- Show Password by default -->
|
|
44
|
+
<Story name="Show Password" args={{ passwordToggleState: true }} />
|
|
45
|
+
|
|
46
|
+
<Story name="Read only" args={{ readonly: true }} />
|
|
47
|
+
|
|
48
|
+
<Story name="Custom toggle icon" asChild>
|
|
49
|
+
<PasswordInput value="Hello world!">
|
|
50
|
+
{#snippet customPasswordToggleIcon(toggle)}
|
|
51
|
+
{#if toggle}
|
|
52
|
+
<Icon icon="mingcute:eye-close-line" width="24" height="24" />
|
|
53
|
+
{:else}
|
|
54
|
+
<Icon icon="mingcute:eye-2-line" width="24" height="24" />
|
|
55
|
+
{/if}
|
|
56
|
+
{/snippet}
|
|
57
|
+
</PasswordInput>
|
|
58
|
+
</Story>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import PasswordInput from '../PasswordInput.svelte';
|
|
4
|
+
import { storyPasswordInputArgTypes } from '../PasswordInput.stories.svelte';
|
|
5
|
+
|
|
6
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
7
|
+
const { Story } = defineMeta({
|
|
8
|
+
component: PasswordInput,
|
|
9
|
+
tags: ['autodocs'],
|
|
10
|
+
argTypes: storyPasswordInputArgTypes,
|
|
11
|
+
});
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<Story name="Roundness 1" />
|
|
15
|
+
|
|
16
|
+
<Story name="Roundness 2" args={{ roundness: 2 }} />
|
|
17
|
+
|
|
18
|
+
<Story name="Roundness 3" args={{ roundness: 3 }} />
|
|
19
|
+
|
|
20
|
+
<Story name="Roundness 0" args={{ roundness: 0 }} />
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import PasswordInput from '../PasswordInput.svelte';
|
|
4
|
+
import { storyPasswordInputArgTypes } from '../PasswordInput.stories.svelte';
|
|
5
|
+
|
|
6
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
7
|
+
const { Story } = defineMeta({
|
|
8
|
+
component: PasswordInput,
|
|
9
|
+
tags: ['autodocs'],
|
|
10
|
+
argTypes: storyPasswordInputArgTypes,
|
|
11
|
+
});
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<Story name="Normal" />
|
|
15
|
+
<Story name="Small" args={{ size: 'small' }} />
|
|
16
|
+
<Story name="Large" args={{ size: 'large' }} />
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import PasswordInput from '../PasswordInput.svelte';
|
|
4
|
+
import { storyPasswordInputArgTypes } from '../PasswordInput.stories.svelte';
|
|
5
|
+
import Icon from '@iconify/svelte';
|
|
6
|
+
|
|
7
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
8
|
+
const { Story } = defineMeta({
|
|
9
|
+
component: PasswordInput,
|
|
10
|
+
tags: ['autodocs'],
|
|
11
|
+
argTypes: storyPasswordInputArgTypes,
|
|
12
|
+
});
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<!-- PasswordInput icon in front. -->
|
|
16
|
+
<Story name="Icon Before" asChild>
|
|
17
|
+
<PasswordInput>
|
|
18
|
+
{#snippet before()}
|
|
19
|
+
<Icon icon="material-symbols:content-copy" />
|
|
20
|
+
{/snippet}
|
|
21
|
+
</PasswordInput>
|
|
22
|
+
</Story>
|
|
23
|
+
|
|
24
|
+
<!-- PasswordInput icon in front. -->
|
|
25
|
+
<Story name="Icon After" asChild>
|
|
26
|
+
<PasswordInput>
|
|
27
|
+
{#snippet after()}
|
|
28
|
+
<Icon icon="material-symbols:download-2" />
|
|
29
|
+
{/snippet}
|
|
30
|
+
</PasswordInput>
|
|
31
|
+
</Story>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import RangeSlider from '../RangeSlider.svelte';
|
|
4
|
+
import { storyRangeSliderArgTypes } from '../RangeSlider.stories.svelte';
|
|
5
|
+
|
|
6
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
7
|
+
const { Story } = defineMeta({
|
|
8
|
+
component: RangeSlider,
|
|
9
|
+
tags: ['autodocs'],
|
|
10
|
+
argTypes: storyRangeSliderArgTypes,
|
|
11
|
+
});
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<Story name="Primary" />
|
|
15
|
+
<Story name="Secondary" args={{ color: 'secondary' }} />
|
|
16
|
+
<Story name="Neutral" args={{ color: 'neutral' }} />
|
|
17
|
+
<Story name="Safe" args={{ color: 'safe' }} />
|
|
18
|
+
<Story name="Warning" args={{ color: 'warning' }} />
|
|
19
|
+
<Story name="Danger" args={{ color: 'danger' }} />
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import { storyRangeSliderArgTypes } from '../RangeSlider.stories.svelte';
|
|
4
|
+
import RangeSlider from '../RangeSlider.svelte';
|
|
5
|
+
import type { TextInputFocusEvent } from '../../TextInput/TextInput.svelte';
|
|
6
|
+
|
|
7
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
8
|
+
const { Story } = defineMeta({
|
|
9
|
+
component: RangeSlider,
|
|
10
|
+
tags: ['autodocs'],
|
|
11
|
+
argTypes: storyRangeSliderArgTypes,
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
let value = $state<number>(0);
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<Story
|
|
18
|
+
name="Input"
|
|
19
|
+
args={{
|
|
20
|
+
value,
|
|
21
|
+
oninput: (e: Event) => {
|
|
22
|
+
const target = e.target as HTMLInputElement;
|
|
23
|
+
|
|
24
|
+
console.log('Input Event', target.value);
|
|
25
|
+
},
|
|
26
|
+
}}
|
|
27
|
+
/>
|
|
28
|
+
|
|
29
|
+
<Story
|
|
30
|
+
name="Change"
|
|
31
|
+
args={{
|
|
32
|
+
value,
|
|
33
|
+
onchange: (e: Event) => {
|
|
34
|
+
const target = e.target as HTMLInputElement;
|
|
35
|
+
|
|
36
|
+
console.log('onChange Event', target.value);
|
|
37
|
+
},
|
|
38
|
+
}}
|
|
39
|
+
/>
|
|
40
|
+
|
|
41
|
+
<Story
|
|
42
|
+
name="Focus"
|
|
43
|
+
args={{
|
|
44
|
+
value,
|
|
45
|
+
onfocus: (e: TextInputFocusEvent) => {
|
|
46
|
+
const target = e.target as HTMLInputElement;
|
|
47
|
+
|
|
48
|
+
console.log('onfocus Event', target);
|
|
49
|
+
},
|
|
50
|
+
}}
|
|
51
|
+
/>
|
|
52
|
+
|
|
53
|
+
<Story
|
|
54
|
+
name="Blur"
|
|
55
|
+
args={{
|
|
56
|
+
value,
|
|
57
|
+
onblur: (e: TextInputFocusEvent) => {
|
|
58
|
+
const target = e.target as HTMLInputElement;
|
|
59
|
+
|
|
60
|
+
console.log('onblur Event', target);
|
|
61
|
+
},
|
|
62
|
+
}}
|
|
63
|
+
/>
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import RangeSlider from './RangeSlider.svelte';
|
|
4
|
+
import type { StoryBookArgTypes } from '$lib/storybook-types.js';
|
|
5
|
+
import { componentRoundnessArray } from '$lib/types/roundness.js';
|
|
6
|
+
import { componentSizeArray } from '$lib/types/size.js';
|
|
7
|
+
import { componentColorArray } from '$lib/types/colors.js';
|
|
8
|
+
|
|
9
|
+
export const storyRangeSliderArgTypes: StoryBookArgTypes = {
|
|
10
|
+
color: {
|
|
11
|
+
control: { type: 'select' },
|
|
12
|
+
options: componentColorArray,
|
|
13
|
+
},
|
|
14
|
+
roundness: {
|
|
15
|
+
control: { type: 'select' },
|
|
16
|
+
options: componentRoundnessArray,
|
|
17
|
+
},
|
|
18
|
+
thumbRoundness: {
|
|
19
|
+
control: { type: 'select' },
|
|
20
|
+
options: componentRoundnessArray,
|
|
21
|
+
},
|
|
22
|
+
size: {
|
|
23
|
+
control: { type: 'select' },
|
|
24
|
+
options: componentSizeArray,
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
29
|
+
const { Story } = defineMeta({
|
|
30
|
+
component: RangeSlider,
|
|
31
|
+
tags: ['autodocs'],
|
|
32
|
+
argTypes: storyRangeSliderArgTypes,
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
let value = $state<number>(30);
|
|
36
|
+
</script>
|
|
37
|
+
|
|
38
|
+
<!-- RangeSlider with default style -->
|
|
39
|
+
<Story
|
|
40
|
+
name="Default"
|
|
41
|
+
args={{
|
|
42
|
+
value,
|
|
43
|
+
}}
|
|
44
|
+
/>
|
|
45
|
+
|
|
46
|
+
<Story
|
|
47
|
+
name="Step"
|
|
48
|
+
args={{
|
|
49
|
+
value,
|
|
50
|
+
step: 10,
|
|
51
|
+
}}
|
|
52
|
+
/>
|
|
53
|
+
|
|
54
|
+
<Story
|
|
55
|
+
name="MinMax"
|
|
56
|
+
args={{
|
|
57
|
+
value,
|
|
58
|
+
min: 0,
|
|
59
|
+
max: 1500,
|
|
60
|
+
}}
|
|
61
|
+
/>
|
|
62
|
+
|
|
63
|
+
<Story
|
|
64
|
+
name="Disabled"
|
|
65
|
+
args={{
|
|
66
|
+
value: 30,
|
|
67
|
+
disabled: true,
|
|
68
|
+
}}
|
|
69
|
+
/>
|
|
@@ -91,22 +91,24 @@
|
|
|
91
91
|
</span>
|
|
92
92
|
{/if}
|
|
93
93
|
|
|
94
|
-
<
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
94
|
+
<div class="RangeSliderContainer">
|
|
95
|
+
<input
|
|
96
|
+
type="range"
|
|
97
|
+
class="NativeRangeSlider"
|
|
98
|
+
{min}
|
|
99
|
+
{max}
|
|
100
|
+
{step}
|
|
101
|
+
{oninput}
|
|
102
|
+
{onchange}
|
|
103
|
+
{onblur}
|
|
104
|
+
{onfocus}
|
|
105
|
+
{id}
|
|
106
|
+
{name}
|
|
107
|
+
{disabled}
|
|
108
|
+
bind:this={ref}
|
|
109
|
+
bind:value
|
|
110
|
+
/>
|
|
111
|
+
</div>
|
|
110
112
|
|
|
111
113
|
{#if after}
|
|
112
114
|
<span class="content--after">
|
|
@@ -147,19 +149,22 @@
|
|
|
147
149
|
.dodo-ui-RangeSlider {
|
|
148
150
|
display: flex;
|
|
149
151
|
|
|
152
|
+
.RangeSliderContainer {
|
|
153
|
+
flex: 1;
|
|
154
|
+
display: flex;
|
|
155
|
+
flex-direction: column;
|
|
156
|
+
}
|
|
157
|
+
|
|
150
158
|
.NativeRangeSlider {
|
|
151
|
-
height: 100%;
|
|
152
159
|
-webkit-appearance: none;
|
|
153
160
|
appearance: none;
|
|
154
161
|
background: transparent;
|
|
155
162
|
cursor: pointer;
|
|
156
|
-
width: 100%;
|
|
157
163
|
margin: 0;
|
|
158
164
|
padding: 0;
|
|
159
165
|
overflow: hidden;
|
|
160
166
|
display: flex;
|
|
161
167
|
align-items: center;
|
|
162
|
-
flex: 1;
|
|
163
168
|
|
|
164
169
|
&:focus {
|
|
165
170
|
outline: none;
|
|
@@ -194,8 +199,10 @@
|
|
|
194
199
|
|
|
195
200
|
&.size {
|
|
196
201
|
&--normal {
|
|
197
|
-
height: var(--dodo-ui-element-height-normal);
|
|
202
|
+
min-height: var(--dodo-ui-element-height-normal);
|
|
198
203
|
.NativeRangeSlider {
|
|
204
|
+
height: var(--dodo-ui-element-height-normal);
|
|
205
|
+
|
|
199
206
|
&::-webkit-slider-runnable-track {
|
|
200
207
|
height: var(--dodo-ui-track-element-height-normal);
|
|
201
208
|
}
|
|
@@ -233,9 +240,11 @@
|
|
|
233
240
|
}
|
|
234
241
|
|
|
235
242
|
&--small {
|
|
236
|
-
height: var(--dodo-ui-element-height-small);
|
|
243
|
+
min-height: var(--dodo-ui-element-height-small);
|
|
237
244
|
|
|
238
245
|
.NativeRangeSlider {
|
|
246
|
+
height: var(--dodo-ui-element-height-small);
|
|
247
|
+
|
|
239
248
|
&::-webkit-slider-runnable-track {
|
|
240
249
|
height: var(--dodo-ui-track-element-height-small);
|
|
241
250
|
}
|
|
@@ -273,9 +282,11 @@
|
|
|
273
282
|
}
|
|
274
283
|
|
|
275
284
|
&--large {
|
|
276
|
-
height: var(--dodo-ui-element-height-large);
|
|
285
|
+
min-height: var(--dodo-ui-element-height-large);
|
|
277
286
|
|
|
278
287
|
.NativeRangeSlider {
|
|
288
|
+
height: var(--dodo-ui-element-height-large);
|
|
289
|
+
|
|
279
290
|
&::-webkit-slider-runnable-track {
|
|
280
291
|
height: var(--dodo-ui-track-element-height-large);
|
|
281
292
|
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import RangeSlider from '../RangeSlider.svelte';
|
|
4
|
+
import { storyRangeSliderArgTypes } from '../RangeSlider.stories.svelte';
|
|
5
|
+
|
|
6
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
7
|
+
const { Story } = defineMeta({
|
|
8
|
+
component: RangeSlider,
|
|
9
|
+
tags: ['autodocs'],
|
|
10
|
+
argTypes: storyRangeSliderArgTypes,
|
|
11
|
+
});
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<Story name="Roundness 1" />
|
|
15
|
+
|
|
16
|
+
<Story name="Roundness 2" args={{ roundness: 2 }} />
|
|
17
|
+
|
|
18
|
+
<Story name="Roundness 3" args={{ roundness: 3 }} />
|
|
19
|
+
|
|
20
|
+
<Story name="Roundness 0" args={{ roundness: 0 }} />
|
|
21
|
+
|
|
22
|
+
<Story name="Thumb Roundness Full" />
|
|
23
|
+
|
|
24
|
+
<Story name="Thumb Roundness 0" args={{ thumbRoundness: 0 }} />
|
|
25
|
+
|
|
26
|
+
<Story name="Thumb Roundness 1" args={{ thumbRoundness: 1 }} />
|
|
27
|
+
|
|
28
|
+
<Story name="Thumb Roundness 2" args={{ thumbRoundness: 2 }} />
|
|
29
|
+
|
|
30
|
+
<Story name="Thumb Roundness 3" args={{ thumbRoundness: 3 }} />
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import RangeSlider from '../RangeSlider.svelte';
|
|
4
|
+
import { storyRangeSliderArgTypes } from '../RangeSlider.stories.svelte';
|
|
5
|
+
|
|
6
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
7
|
+
const { Story } = defineMeta({
|
|
8
|
+
component: RangeSlider,
|
|
9
|
+
tags: ['autodocs'],
|
|
10
|
+
argTypes: storyRangeSliderArgTypes,
|
|
11
|
+
});
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<Story name="Normal" />
|
|
15
|
+
<Story name="Small" args={{ size: 'small' }} />
|
|
16
|
+
<Story name="Large" args={{ size: 'large' }} />
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import RangeSlider from '../RangeSlider.svelte';
|
|
4
|
+
import { storyRangeSliderArgTypes } from '../RangeSlider.stories.svelte';
|
|
5
|
+
import Icon from '@iconify/svelte';
|
|
6
|
+
|
|
7
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
8
|
+
const { Story } = defineMeta({
|
|
9
|
+
component: RangeSlider,
|
|
10
|
+
tags: ['autodocs'],
|
|
11
|
+
argTypes: storyRangeSliderArgTypes,
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
let value = $state<number>(30);
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<!-- RangeSlider icon in front. -->
|
|
18
|
+
<Story name="Icon Before" asChild>
|
|
19
|
+
<RangeSlider {value}>
|
|
20
|
+
{#snippet before()}
|
|
21
|
+
<Icon icon="material-symbols:content-copy" />
|
|
22
|
+
{/snippet}
|
|
23
|
+
</RangeSlider>
|
|
24
|
+
</Story>
|
|
25
|
+
|
|
26
|
+
<!-- RangeSlider icon in front. -->
|
|
27
|
+
<Story name="Icon After" asChild>
|
|
28
|
+
<RangeSlider {value}>
|
|
29
|
+
{#snippet after()}
|
|
30
|
+
<Icon icon="material-symbols:download-2" />
|
|
31
|
+
{/snippet}
|
|
32
|
+
</RangeSlider>
|
|
33
|
+
</Story>
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import Select, { type SelectOption } from '../Select.svelte';
|
|
4
|
+
import { selectOptions, storySelectArgTypes } from '../Select.stories.svelte';
|
|
5
|
+
import { Menu } from '$lib/index.js';
|
|
6
|
+
import MenuItem from '$lib/stories/components/Layout/Menu/MenuItem/MenuItem.svelte';
|
|
7
|
+
import Icon from '@iconify/svelte';
|
|
8
|
+
|
|
9
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
10
|
+
const { Story } = defineMeta({
|
|
11
|
+
component: Select,
|
|
12
|
+
tags: ['autodocs'],
|
|
13
|
+
argTypes: storySelectArgTypes,
|
|
14
|
+
parameters: {
|
|
15
|
+
docs: {
|
|
16
|
+
story: {
|
|
17
|
+
height: '400px',
|
|
18
|
+
inline: false,
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
const options = selectOptions;
|
|
25
|
+
|
|
26
|
+
let value = $state<SelectOption>(options[0]);
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<!-- Format look and feel of input content. -->
|
|
30
|
+
<Story name="CustomInput" asChild>
|
|
31
|
+
<Select {options} {value} onselect={(val: SelectOption) => (value = val)}>
|
|
32
|
+
{#snippet customInputContent(selectedOption)}
|
|
33
|
+
{selectedOption.label} 💯💯💯
|
|
34
|
+
{/snippet}
|
|
35
|
+
</Select>
|
|
36
|
+
</Story>
|
|
37
|
+
|
|
38
|
+
<!-- Format look and feel Dropdown Arrow icon -->
|
|
39
|
+
<Story name="CustomDropdownArrowIcon" asChild>
|
|
40
|
+
<Select {options} {value} onselect={(val: SelectOption) => (value = val)}>
|
|
41
|
+
{#snippet customDropdownArrowIcon(open)}
|
|
42
|
+
{#if open}
|
|
43
|
+
<Icon icon="mingcute:up-fill" width="24" height="24" />
|
|
44
|
+
{:else}
|
|
45
|
+
<Icon icon="mingcute:down-fill" width="24" height="24" />
|
|
46
|
+
{/if}
|
|
47
|
+
{/snippet}
|
|
48
|
+
</Select>
|
|
49
|
+
</Story>
|
|
50
|
+
|
|
51
|
+
<!-- Format look and feel of Popper menu item. -->
|
|
52
|
+
<Story name="CustomMenuItem" asChild>
|
|
53
|
+
<Select {options} {value} onselect={(val: SelectOption) => (value = val)}>
|
|
54
|
+
{#snippet customMenuItemContent(selectedOption, selected)}
|
|
55
|
+
{selected ? '✅' : ''} {selectedOption.label} 💯
|
|
56
|
+
{/snippet}
|
|
57
|
+
</Select>
|
|
58
|
+
</Story>
|
|
59
|
+
|
|
60
|
+
<!-- Format look and feel of Popper menu item Placeholder. -->
|
|
61
|
+
<Story name="CustomMenuItemPlaceholder" asChild>
|
|
62
|
+
<Select {options} {value} searchable onselect={(val: SelectOption) => (value = val)}>
|
|
63
|
+
{#snippet customPlaceholderMenuItemContent()}
|
|
64
|
+
🤚🤚🤚🤚 Nothing found....
|
|
65
|
+
{/snippet}
|
|
66
|
+
</Select>
|
|
67
|
+
</Story>
|
|
68
|
+
|
|
69
|
+
<!-- Format look and feel of Popup. -->
|
|
70
|
+
<Story name="CustomPopup" asChild>
|
|
71
|
+
<Select {options} {value}>
|
|
72
|
+
{#snippet customPopupContent(options, selectedOption, onselect)}
|
|
73
|
+
<Menu size="small" separator>
|
|
74
|
+
{#each options as option (option.value)}
|
|
75
|
+
<MenuItem
|
|
76
|
+
type="button"
|
|
77
|
+
disabled={option.disabled}
|
|
78
|
+
selected={selectedOption.value === option.value}
|
|
79
|
+
onclick={() => onselect(option)}
|
|
80
|
+
>
|
|
81
|
+
<b>{option.label}</b>
|
|
82
|
+
</MenuItem>
|
|
83
|
+
{/each}
|
|
84
|
+
</Menu>
|
|
85
|
+
{/snippet}
|
|
86
|
+
</Select>
|
|
87
|
+
</Story>
|
|
88
|
+
|
|
89
|
+
<!-- Format look and feel of Popup [Paper](?path=/docs/components-layout-paper--docs) -->
|
|
90
|
+
<Story
|
|
91
|
+
name="PaperProps"
|
|
92
|
+
args={{
|
|
93
|
+
options,
|
|
94
|
+
value,
|
|
95
|
+
paperProps: {
|
|
96
|
+
color: 'danger',
|
|
97
|
+
},
|
|
98
|
+
}}
|
|
99
|
+
/>
|
|
100
|
+
|
|
101
|
+
<!-- Format look and feel of [Popper](?path=/docs/developer-tools-components-popper--docs). We have incrased popupOffsetY in this example. -->
|
|
102
|
+
<Story
|
|
103
|
+
name="PopperProps"
|
|
104
|
+
args={{
|
|
105
|
+
options,
|
|
106
|
+
value,
|
|
107
|
+
popperProps: {
|
|
108
|
+
popupOffsetY: 40,
|
|
109
|
+
},
|
|
110
|
+
}}
|
|
111
|
+
/>
|
|
112
|
+
|
|
113
|
+
<!-- Format look and feel of Popup [Menu](?path=/docs/components-layout-menu--docs) -->
|
|
114
|
+
<Story
|
|
115
|
+
name="MenuProps"
|
|
116
|
+
args={{
|
|
117
|
+
options,
|
|
118
|
+
value,
|
|
119
|
+
menuProps: {
|
|
120
|
+
separator: true,
|
|
121
|
+
size: 'large',
|
|
122
|
+
},
|
|
123
|
+
}}
|
|
124
|
+
/>
|
|
125
|
+
|
|
126
|
+
<!-- Format look and feel of Popup [MenuItem](?path=/docs/components-layout-menu-menuitem--docs) -->
|
|
127
|
+
<Story
|
|
128
|
+
name="MenuItemProps"
|
|
129
|
+
args={{
|
|
130
|
+
options,
|
|
131
|
+
value,
|
|
132
|
+
menuItemProps: {
|
|
133
|
+
size: 'small',
|
|
134
|
+
type: 'link',
|
|
135
|
+
href: 'https://developer.mozilla.org/en-US/',
|
|
136
|
+
target: '_blank',
|
|
137
|
+
},
|
|
138
|
+
}}
|
|
139
|
+
/>
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import Select, { type SelectOption } from '../Select.svelte';
|
|
4
|
+
import { selectOptions, storySelectArgTypes } from '../Select.stories.svelte';
|
|
5
|
+
import Icon from '@iconify/svelte';
|
|
6
|
+
|
|
7
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
8
|
+
const { Story } = defineMeta({
|
|
9
|
+
component: Select,
|
|
10
|
+
tags: ['autodocs'],
|
|
11
|
+
argTypes: storySelectArgTypes,
|
|
12
|
+
parameters: {
|
|
13
|
+
docs: {
|
|
14
|
+
story: {
|
|
15
|
+
height: '400px',
|
|
16
|
+
inline: false,
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
const options = selectOptions;
|
|
23
|
+
|
|
24
|
+
let value = $state<SelectOption>(options[0]);
|
|
25
|
+
</script>
|
|
26
|
+
|
|
27
|
+
<Story
|
|
28
|
+
name="PositionAfter"
|
|
29
|
+
args={{ options, value, onselect: (val: SelectOption) => (value = val) }}
|
|
30
|
+
/>
|
|
31
|
+
|
|
32
|
+
<Story
|
|
33
|
+
name="PositionBefore"
|
|
34
|
+
args={{
|
|
35
|
+
options,
|
|
36
|
+
value,
|
|
37
|
+
onselect: (val: SelectOption) => (value = val),
|
|
38
|
+
dropdownArrowPosition: 'before',
|
|
39
|
+
}}
|
|
40
|
+
/>
|
|
41
|
+
|
|
42
|
+
<Story
|
|
43
|
+
name="HideArrow"
|
|
44
|
+
args={{
|
|
45
|
+
options,
|
|
46
|
+
value,
|
|
47
|
+
onselect: (val: SelectOption) => (value = val),
|
|
48
|
+
dropdownArrowPosition: false,
|
|
49
|
+
}}
|
|
50
|
+
/>
|
|
51
|
+
|
|
52
|
+
<!-- Format look and feel Dropdown Arrow icon -->
|
|
53
|
+
<Story name="CustomDropdownArrowIcon" asChild>
|
|
54
|
+
<Select {options} {value} onselect={(val: SelectOption) => (value = val)}>
|
|
55
|
+
{#snippet customDropdownArrowIcon(open)}
|
|
56
|
+
{#if open}
|
|
57
|
+
<Icon icon="mingcute:up-fill" width="24" height="24" />
|
|
58
|
+
{:else}
|
|
59
|
+
<Icon icon="mingcute:down-fill" width="24" height="24" />
|
|
60
|
+
{/if}
|
|
61
|
+
{/snippet}
|
|
62
|
+
</Select>
|
|
63
|
+
</Story>
|