@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,27 @@
|
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import CalendarYearChip from '../CalendarYearChip.svelte';
|
|
4
|
+
import { storyCalendarYearChipArgTypes } from '../CalendarYearChip.stories.svelte';
|
|
5
|
+
import { getMoment } from '$lib/index.js';
|
|
6
|
+
|
|
7
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
8
|
+
const { Story } = defineMeta({
|
|
9
|
+
component: CalendarYearChip,
|
|
10
|
+
tags: ['autodocs'],
|
|
11
|
+
argTypes: storyCalendarYearChipArgTypes,
|
|
12
|
+
args: {
|
|
13
|
+
value: getMoment(undefined, undefined, { utc: true }).format('YYYY'),
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<!-- Hover to see the result -->
|
|
19
|
+
<Story name="Roundness 1" />
|
|
20
|
+
|
|
21
|
+
<Story name="Roundness 2" args={{ roundness: 2 }} />
|
|
22
|
+
|
|
23
|
+
<Story name="Roundness 3" args={{ roundness: 3 }} />
|
|
24
|
+
|
|
25
|
+
<Story name="Roundness 0" args={{ roundness: 0 }} />
|
|
26
|
+
|
|
27
|
+
<Story name="Roundness Full" args={{ roundness: 'full', compact: true }} />
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import CalendarYearChip from '../CalendarYearChip.svelte';
|
|
4
|
+
import { storyCalendarYearChipArgTypes } from '../CalendarYearChip.stories.svelte';
|
|
5
|
+
import getMoment from '$lib/stories/developer tools/helpers/Time/getMoment/getMoment.js';
|
|
6
|
+
|
|
7
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
8
|
+
const { Story } = defineMeta({
|
|
9
|
+
component: CalendarYearChip,
|
|
10
|
+
tags: ['autodocs'],
|
|
11
|
+
argTypes: storyCalendarYearChipArgTypes,
|
|
12
|
+
args: {
|
|
13
|
+
value: getMoment(undefined, undefined, { utc: true }).format('YYYY'),
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<Story name="Normal" />
|
|
19
|
+
<Story name="Small" args={{ size: 'small' }} />
|
|
20
|
+
<Story name="Large" args={{ size: 'large' }} />
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import CalendarYearList from './CalendarYearList.svelte';
|
|
4
|
+
import type { StoryBookArgTypes } from '$lib/storybook-types.js';
|
|
5
|
+
import { componentColorArray } from '$lib/types/colors.js';
|
|
6
|
+
import { componentSizeArray } from '$lib/types/size.js';
|
|
7
|
+
import getMoment from '$lib/stories/developer tools/helpers/Time/getMoment/getMoment.js';
|
|
8
|
+
|
|
9
|
+
export const storyCalendarYearListArgTypes: StoryBookArgTypes = {
|
|
10
|
+
color: {
|
|
11
|
+
control: { type: 'select' },
|
|
12
|
+
options: componentColorArray,
|
|
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: CalendarYearList,
|
|
23
|
+
tags: ['autodocs'],
|
|
24
|
+
argTypes: storyCalendarYearListArgTypes,
|
|
25
|
+
args: {
|
|
26
|
+
value: getMoment(undefined, undefined, { utc: true }).format('YYYY'),
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
</script>
|
|
30
|
+
|
|
31
|
+
<!-- Default CalendarYearList -->
|
|
32
|
+
<Story name="Default" />
|
|
33
|
+
|
|
34
|
+
<Story
|
|
35
|
+
name="HideControls"
|
|
36
|
+
args={{
|
|
37
|
+
showControls: false,
|
|
38
|
+
}}
|
|
39
|
+
/>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import CalendarYearList from '../CalendarYearList.svelte';
|
|
4
|
+
import { storyCalendarYearListArgTypes } from '../CalendarYearList.stories.svelte';
|
|
5
|
+
import getMoment from '$lib/stories/developer tools/helpers/Time/getMoment/getMoment.js';
|
|
6
|
+
|
|
7
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
8
|
+
const { Story } = defineMeta({
|
|
9
|
+
component: CalendarYearList,
|
|
10
|
+
tags: ['autodocs'],
|
|
11
|
+
argTypes: storyCalendarYearListArgTypes,
|
|
12
|
+
args: {
|
|
13
|
+
value: getMoment(undefined, undefined, { utc: true }).format('YYYY'),
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<Story name="Primary" />
|
|
19
|
+
<Story name="Secondary" args={{ color: 'secondary' }} />
|
|
20
|
+
<Story name="Neutral" args={{ color: 'neutral' }} />
|
|
21
|
+
<Story name="Safe" args={{ color: 'safe' }} />
|
|
22
|
+
<Story name="Warning" args={{ color: 'warning' }} />
|
|
23
|
+
<Story name="Danger" args={{ color: 'danger' }} />
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import CalendarYearList from '../CalendarYearList.svelte';
|
|
4
|
+
import { storyCalendarYearListArgTypes } from '../CalendarYearList.stories.svelte';
|
|
5
|
+
import { Button, getMoment } from '$lib/index.js';
|
|
6
|
+
|
|
7
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
8
|
+
const { Story } = defineMeta({
|
|
9
|
+
component: CalendarYearList,
|
|
10
|
+
tags: ['autodocs'],
|
|
11
|
+
argTypes: storyCalendarYearListArgTypes,
|
|
12
|
+
args: {
|
|
13
|
+
value: getMoment(undefined, undefined, { utc: true }).format('YYYY'),
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<Story name="Default" />
|
|
19
|
+
|
|
20
|
+
<Story name="customCalendarYearChipContent" asChild>
|
|
21
|
+
<CalendarYearList value={getMoment(undefined, undefined, { utc: true }).format('YYYY')}>
|
|
22
|
+
{#snippet customCalendarYearChipContent(val)}
|
|
23
|
+
🗓️{val}
|
|
24
|
+
{/snippet}
|
|
25
|
+
</CalendarYearList>
|
|
26
|
+
</Story>
|
|
27
|
+
|
|
28
|
+
<Story name="customCalendarYearChip" asChild>
|
|
29
|
+
<CalendarYearList value={getMoment(undefined, undefined, { utc: true }).format('YYYY')}>
|
|
30
|
+
{#snippet customCalendarYearChip(val)}
|
|
31
|
+
<Button size="small" variant="text" outline>
|
|
32
|
+
{val}
|
|
33
|
+
</Button>
|
|
34
|
+
{/snippet}
|
|
35
|
+
</CalendarYearList>
|
|
36
|
+
</Story>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import CalendarYearList from '../CalendarYearList.svelte';
|
|
4
|
+
import { storyCalendarYearListArgTypes } from '../CalendarYearList.stories.svelte';
|
|
5
|
+
import getMoment from '$lib/stories/developer tools/helpers/Time/getMoment/getMoment.js';
|
|
6
|
+
|
|
7
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
8
|
+
const { Story } = defineMeta({
|
|
9
|
+
component: CalendarYearList,
|
|
10
|
+
tags: ['autodocs'],
|
|
11
|
+
argTypes: storyCalendarYearListArgTypes,
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
let value = $state<string>(getMoment(undefined, undefined, { utc: true }).format('YYYY'));
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<Story name="Select" asChild>
|
|
18
|
+
<CalendarYearList
|
|
19
|
+
{value}
|
|
20
|
+
onselect={(val) => {
|
|
21
|
+
value = val;
|
|
22
|
+
}}
|
|
23
|
+
/>
|
|
24
|
+
</Story>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import CalendarYearList from '../CalendarYearList.svelte';
|
|
4
|
+
import { storyCalendarYearListArgTypes } from '../CalendarYearList.stories.svelte';
|
|
5
|
+
import getMoment from '$lib/stories/developer tools/helpers/Time/getMoment/getMoment.js';
|
|
6
|
+
|
|
7
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
8
|
+
const { Story } = defineMeta({
|
|
9
|
+
component: CalendarYearList,
|
|
10
|
+
tags: ['autodocs'],
|
|
11
|
+
argTypes: storyCalendarYearListArgTypes,
|
|
12
|
+
args: {
|
|
13
|
+
value: getMoment(undefined, undefined, { utc: true }).format('YYYY'),
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<Story name="Normal" />
|
|
19
|
+
<Story name="Small" args={{ size: 'small' }} />
|
|
20
|
+
<Story name="Large" args={{ size: 'large' }} />
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { Source } from '@storybook/addon-docs/blocks';
|
|
2
|
+
|
|
3
|
+
# `createDateOfMonth`
|
|
4
|
+
|
|
5
|
+
`createDateOfMonth(date, settings, monthType?, manipulateDate?)` creates a single `DateOfMonth` object representing one calendar cell. This is typically used internally by `getDatesOfMonth` but can be useful for custom logic.
|
|
6
|
+
|
|
7
|
+
## Usage
|
|
8
|
+
|
|
9
|
+
<Source
|
|
10
|
+
dark
|
|
11
|
+
language="ts"
|
|
12
|
+
code={`
|
|
13
|
+
// Manual usage for one day
|
|
14
|
+
import { createDateOfMonth } from '@flightlesslabs/dodo-ui';
|
|
15
|
+
|
|
16
|
+
const date = new Date();
|
|
17
|
+
const dateObj = createDateOfMonth(date, {
|
|
18
|
+
minDate: new Date('2025-01-01'),
|
|
19
|
+
timezone: 'UTC',
|
|
20
|
+
}, 'currentMonth');
|
|
21
|
+
`}
|
|
22
|
+
/>
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# Types
|
|
27
|
+
|
|
28
|
+
## `DateOfMonth`
|
|
29
|
+
|
|
30
|
+
<Source
|
|
31
|
+
dark
|
|
32
|
+
language="ts"
|
|
33
|
+
code={`
|
|
34
|
+
// Represents a single calendar cell
|
|
35
|
+
type DateOfMonth = {
|
|
36
|
+
id: string;
|
|
37
|
+
date: Date;
|
|
38
|
+
isCurrentMonth: boolean;
|
|
39
|
+
isLastMonth?: boolean;
|
|
40
|
+
isNextMonth?: boolean;
|
|
41
|
+
disabled?: boolean;
|
|
42
|
+
today?: boolean;
|
|
43
|
+
};
|
|
44
|
+
`}
|
|
45
|
+
/>
|
|
46
|
+
|
|
47
|
+
## `CreateDatesOfMonthSettings`
|
|
48
|
+
|
|
49
|
+
<Source
|
|
50
|
+
dark
|
|
51
|
+
language="ts"
|
|
52
|
+
code={`
|
|
53
|
+
// Configuration for calendar generation
|
|
54
|
+
interface CreateDatesOfMonthSettings {
|
|
55
|
+
startOfWeek?: 'SUN' | 'MON' | 'TUE' | 'WED' | 'THU' | 'FRI' | 'SAT';
|
|
56
|
+
showLastMonth?: boolean;
|
|
57
|
+
showNextMonth?: boolean;
|
|
58
|
+
today?: Date;
|
|
59
|
+
minDate?: Date;
|
|
60
|
+
maxDate?: Date;
|
|
61
|
+
excludeDates?: Date[];
|
|
62
|
+
includeDates?: Date[];
|
|
63
|
+
timezone?: string;
|
|
64
|
+
utc?: boolean;
|
|
65
|
+
}
|
|
66
|
+
`}
|
|
67
|
+
/>
|
|
68
|
+
|
|
69
|
+
## `CreateDateOfMonthType`
|
|
70
|
+
|
|
71
|
+
<Source
|
|
72
|
+
dark
|
|
73
|
+
language="ts"
|
|
74
|
+
code={`
|
|
75
|
+
// Indicates the month context of the date
|
|
76
|
+
type CreateDateOfMonthType = 'currentMonth' | 'nextMonth' | 'lastMonth';
|
|
77
|
+
`}
|
|
78
|
+
/>
|
|
79
|
+
|
|
80
|
+
## `DAYS_OF_WEEK` Enum
|
|
81
|
+
|
|
82
|
+
<Source
|
|
83
|
+
dark
|
|
84
|
+
language="ts"
|
|
85
|
+
code={`
|
|
86
|
+
// Weekday constants (Sunday = 0)
|
|
87
|
+
export const enum DAYS_OF_WEEK {
|
|
88
|
+
SUN,
|
|
89
|
+
MON,
|
|
90
|
+
TUE,
|
|
91
|
+
WED,
|
|
92
|
+
THU,
|
|
93
|
+
FRI,
|
|
94
|
+
SAT,
|
|
95
|
+
}
|
|
96
|
+
`}
|
|
97
|
+
/>
|
|
98
|
+
|
|
99
|
+
## `MONTHS` Enum
|
|
100
|
+
|
|
101
|
+
<Source
|
|
102
|
+
dark
|
|
103
|
+
language="ts"
|
|
104
|
+
code={`
|
|
105
|
+
// Month constants (January = 0)
|
|
106
|
+
export const enum MONTHS {
|
|
107
|
+
JAN,
|
|
108
|
+
FEB,
|
|
109
|
+
MAR,
|
|
110
|
+
APR,
|
|
111
|
+
MAY,
|
|
112
|
+
JUN,
|
|
113
|
+
JUL,
|
|
114
|
+
AUG,
|
|
115
|
+
SEP,
|
|
116
|
+
OCT,
|
|
117
|
+
NOV,
|
|
118
|
+
DEC,
|
|
119
|
+
}
|
|
120
|
+
`}
|
|
121
|
+
/>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Source } from '@storybook/addon-docs/blocks';
|
|
2
|
+
|
|
3
|
+
# `getDatesOfMonth`
|
|
4
|
+
|
|
5
|
+
`getDatesOfMonth(date, settings, manipulateDate)` generates a 2D array of weeks, each containing `DateOfMonth` objects. It supports options via `CreateDatesOfMonthSettings` and allows injecting custom logic per date.
|
|
6
|
+
|
|
7
|
+
## Usage
|
|
8
|
+
|
|
9
|
+
<Source
|
|
10
|
+
dark
|
|
11
|
+
language="ts"
|
|
12
|
+
code={`
|
|
13
|
+
// Basic usage
|
|
14
|
+
import { getDatesOfMonth, getMoment } from '@flightlesslabs/dodo-ui';
|
|
15
|
+
|
|
16
|
+
const dates = getDatesOfMonth(new Date(), {
|
|
17
|
+
showLastMonth: false,
|
|
18
|
+
showNextMonth: false,
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
// Using a formatted date
|
|
22
|
+
const dates2 = getDatesOfMonth(
|
|
23
|
+
getMoment('01-02-2025', 'DD-MM-YYYY').toDate()
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
// With custom manipulation
|
|
27
|
+
const dates3 = getDatesOfMonth(new Date(), {
|
|
28
|
+
timezone: 'America/New_York',
|
|
29
|
+
startOfWeek: 'MON',
|
|
30
|
+
}, (date, settings) => {
|
|
31
|
+
return {
|
|
32
|
+
...date,
|
|
33
|
+
disabled: true,
|
|
34
|
+
};
|
|
35
|
+
});
|
|
36
|
+
`}
|
|
37
|
+
/>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import DynamicMenu from '../DynamicMenu.svelte';
|
|
4
|
+
import { dynamicMenuItemOptions, storyDynamicMenuArgTypes } from '../DynamicMenu.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: DynamicMenu,
|
|
9
|
+
tags: ['autodocs'],
|
|
10
|
+
argTypes: storyDynamicMenuArgTypes,
|
|
11
|
+
});
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<!-- Custom Menu Item Content -->
|
|
15
|
+
<Story name="CustomMenuItemContent" asChild>
|
|
16
|
+
<DynamicMenu options={dynamicMenuItemOptions}>
|
|
17
|
+
{#snippet customMenuItemContent(option, selectedOption)}
|
|
18
|
+
{selectedOption?.id === option.id ? '✅' : ''} {option.label} 💯💯💯
|
|
19
|
+
{/snippet}
|
|
20
|
+
</DynamicMenu>
|
|
21
|
+
</Story>
|
|
22
|
+
|
|
23
|
+
<!-- Custom Menu Item Placeholder Content -->
|
|
24
|
+
<Story name="CustomPlaceholderMenuItemContent" asChild>
|
|
25
|
+
<DynamicMenu options={[]} showOptionsPlaceholder>
|
|
26
|
+
{#snippet customPlaceholderMenuItemContent()}
|
|
27
|
+
No dice 💯💯💯
|
|
28
|
+
{/snippet}
|
|
29
|
+
</DynamicMenu>
|
|
30
|
+
</Story>
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import DynamicMenu, { type DynamicMenuItemOption } from './DynamicMenu.svelte';
|
|
4
|
+
import type { StoryBookArgTypes } from '$lib/storybook-types.js';
|
|
5
|
+
|
|
6
|
+
export const storyDynamicMenuArgTypes: StoryBookArgTypes = {};
|
|
7
|
+
|
|
8
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
9
|
+
const { Story } = defineMeta({
|
|
10
|
+
component: DynamicMenu,
|
|
11
|
+
tags: ['autodocs'],
|
|
12
|
+
argTypes: storyDynamicMenuArgTypes,
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
export const dynamicMenuItemOptions: DynamicMenuItemOption[] = [
|
|
16
|
+
{
|
|
17
|
+
id: '1',
|
|
18
|
+
label: 'One',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
id: '2',
|
|
22
|
+
label: 'Two',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
id: '3',
|
|
26
|
+
label: 'Three',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
id: '4',
|
|
30
|
+
label: 'Four',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
id: '5',
|
|
34
|
+
label: 'Five',
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
id: '6',
|
|
38
|
+
disabled: true,
|
|
39
|
+
label: 'Five',
|
|
40
|
+
},
|
|
41
|
+
];
|
|
42
|
+
</script>
|
|
43
|
+
|
|
44
|
+
<!-- Default DynamicMenu -->
|
|
45
|
+
<Story name="Default" args={{ options: dynamicMenuItemOptions }} />
|
|
46
|
+
|
|
47
|
+
<!-- Selected Option -->
|
|
48
|
+
<Story
|
|
49
|
+
name="SelectedOption"
|
|
50
|
+
args={{ options: dynamicMenuItemOptions, selectedOption: dynamicMenuItemOptions[1] }}
|
|
51
|
+
/>
|
|
52
|
+
|
|
53
|
+
<Story
|
|
54
|
+
name="ShowPlaceholder"
|
|
55
|
+
args={{ options: [], showOptionsPlaceholder: true, optionsPlaceholder: 'No content found.' }}
|
|
56
|
+
/>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import { dynamicMenuItemOptions, storyDynamicMenuArgTypes } from '../DynamicMenu.stories.svelte';
|
|
4
|
+
import DynamicMenu, { type DynamicMenuItemOption } from '../DynamicMenu.svelte';
|
|
5
|
+
|
|
6
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
7
|
+
const { Story } = defineMeta({
|
|
8
|
+
component: DynamicMenu,
|
|
9
|
+
tags: ['autodocs'],
|
|
10
|
+
argTypes: storyDynamicMenuArgTypes,
|
|
11
|
+
});
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<!-- Menu Item onclick -->
|
|
15
|
+
<Story name="onclick" asChild>
|
|
16
|
+
<DynamicMenu
|
|
17
|
+
keyboardNavigation
|
|
18
|
+
options={dynamicMenuItemOptions}
|
|
19
|
+
onclick={(e: MouseEvent, option: DynamicMenuItemOption) => {
|
|
20
|
+
e.preventDefault();
|
|
21
|
+
console.log(option);
|
|
22
|
+
}}
|
|
23
|
+
/>
|
|
24
|
+
</Story>
|
|
25
|
+
|
|
26
|
+
<!-- KeyboardNavigation Event: onEnter -->
|
|
27
|
+
<Story name="onEnter" asChild>
|
|
28
|
+
<DynamicMenu
|
|
29
|
+
keyboardNavigation
|
|
30
|
+
options={dynamicMenuItemOptions}
|
|
31
|
+
onEnter={(e: KeyboardEvent, menuItemIndex: number) => {
|
|
32
|
+
e.preventDefault();
|
|
33
|
+
console.log(menuItemIndex);
|
|
34
|
+
}}
|
|
35
|
+
/>
|
|
36
|
+
</Story>
|
|
37
|
+
|
|
38
|
+
<!-- KeyboardNavigation Event: onEsc -->
|
|
39
|
+
<Story name="onEsc" asChild>
|
|
40
|
+
<DynamicMenu
|
|
41
|
+
keyboardNavigation
|
|
42
|
+
options={dynamicMenuItemOptions}
|
|
43
|
+
onEsc={(e: KeyboardEvent, menuItemIndex: number) => {
|
|
44
|
+
e.preventDefault();
|
|
45
|
+
console.log(menuItemIndex);
|
|
46
|
+
}}
|
|
47
|
+
/>
|
|
48
|
+
</Story>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import DynamicMenu from '../DynamicMenu.svelte';
|
|
4
|
+
import { dynamicMenuItemOptions, storyDynamicMenuArgTypes } from '../DynamicMenu.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: DynamicMenu,
|
|
9
|
+
tags: ['autodocs'],
|
|
10
|
+
argTypes: storyDynamicMenuArgTypes,
|
|
11
|
+
});
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<!-- KeyboardNavigationOn -->
|
|
15
|
+
<Story
|
|
16
|
+
name="KeyboardNavigationOn"
|
|
17
|
+
args={{
|
|
18
|
+
options: dynamicMenuItemOptions,
|
|
19
|
+
keyboardNavigation: true,
|
|
20
|
+
onEnter: (e: KeyboardEvent, menuItemIndex: number) => {
|
|
21
|
+
e.preventDefault();
|
|
22
|
+
console.log(menuItemIndex);
|
|
23
|
+
},
|
|
24
|
+
onEsc: (e: KeyboardEvent, menuItemIndex: number) => {
|
|
25
|
+
e.preventDefault();
|
|
26
|
+
console.log(menuItemIndex);
|
|
27
|
+
},
|
|
28
|
+
}}
|
|
29
|
+
/>
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Source } from '@storybook/addon-docs/blocks';
|
|
2
|
+
|
|
3
|
+
# Option Format
|
|
4
|
+
|
|
5
|
+
## DynamicMenuItemOption
|
|
6
|
+
|
|
7
|
+
<Source
|
|
8
|
+
dark
|
|
9
|
+
language="ts"
|
|
10
|
+
code={`
|
|
11
|
+
type DynamicMenuItemOption<TMeta = unknown> = {
|
|
12
|
+
id: string;
|
|
13
|
+
/** label */
|
|
14
|
+
label?: string;
|
|
15
|
+
/** Custom Metadata */
|
|
16
|
+
meta?: TMeta;
|
|
17
|
+
/** Menu Item type */
|
|
18
|
+
type?: MenuItemType;
|
|
19
|
+
/** Menu Separator */
|
|
20
|
+
separator?: boolean;
|
|
21
|
+
/** How large should the Menu Items be? */
|
|
22
|
+
size?: ComponentSize;
|
|
23
|
+
/** The onclick event handler */
|
|
24
|
+
onclick?: MouseEventHandler<HTMLButtonElement>;
|
|
25
|
+
/** disabled state */
|
|
26
|
+
disabled?: boolean;
|
|
27
|
+
/** link href */
|
|
28
|
+
href?: string;
|
|
29
|
+
/** Link button: download */
|
|
30
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
31
|
+
download?: any;
|
|
32
|
+
/** Link button: hreflang */
|
|
33
|
+
hreflang?: string | undefined | null;
|
|
34
|
+
/** Link button: media */
|
|
35
|
+
media?: string | undefined | null;
|
|
36
|
+
/** Link button: ping */
|
|
37
|
+
ping?: string | undefined | null;
|
|
38
|
+
/** Link button: rel */
|
|
39
|
+
rel?: string | undefined | null;
|
|
40
|
+
/** Link button: target */
|
|
41
|
+
target?: ButtonLinkTarget;
|
|
42
|
+
/** Link button: Type */
|
|
43
|
+
anchorMediaType?: string | undefined | null;
|
|
44
|
+
/** Link button: referrerpolicy */
|
|
45
|
+
referrerpolicy?: ButtonLinkReferrerpolicy;
|
|
46
|
+
};
|
|
47
|
+
`}
|
|
48
|
+
/>
|
|
49
|
+
|
|
50
|
+
## Example values
|
|
51
|
+
|
|
52
|
+
<Source
|
|
53
|
+
dark
|
|
54
|
+
language="ts"
|
|
55
|
+
code={`
|
|
56
|
+
const options: DynamicMenuItemOption[] = [
|
|
57
|
+
{
|
|
58
|
+
id: '1',
|
|
59
|
+
label: 'One',
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
id: '2',
|
|
63
|
+
label: 'Two',
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
id: '3',
|
|
67
|
+
label: 'Three',
|
|
68
|
+
disabled: true,
|
|
69
|
+
},
|
|
70
|
+
];
|
|
71
|
+
`}
|
|
72
|
+
/>
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import Menu from './Menu.svelte';
|
|
4
|
+
import type { StoryBookArgTypes } from '$lib/storybook-types.js';
|
|
5
|
+
import MenuItem from './MenuItem/MenuItem.svelte';
|
|
6
|
+
import { Separator } from '$lib/index.js';
|
|
7
|
+
|
|
8
|
+
export const storyMenuArgTypes: StoryBookArgTypes = {};
|
|
9
|
+
|
|
10
|
+
// More on how to set up stories at: https://storybook.js.org/docs/writing-stories
|
|
11
|
+
const { Story } = defineMeta({
|
|
12
|
+
component: Menu,
|
|
13
|
+
tags: ['autodocs'],
|
|
14
|
+
argTypes: storyMenuArgTypes,
|
|
15
|
+
});
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<!-- Default Menu -->
|
|
19
|
+
<Story name="Default" asChild>
|
|
20
|
+
<Menu>
|
|
21
|
+
<MenuItem>Cut</MenuItem>
|
|
22
|
+
<MenuItem>Copy</MenuItem>
|
|
23
|
+
<MenuItem>Paste</MenuItem>
|
|
24
|
+
</Menu>
|
|
25
|
+
</Story>
|
|
26
|
+
|
|
27
|
+
<!-- Fixed width and height -->
|
|
28
|
+
<Story name="FixedSize" asChild>
|
|
29
|
+
<Menu width="200px" height="300px">
|
|
30
|
+
<MenuItem>Cut</MenuItem>
|
|
31
|
+
<MenuItem>Copy</MenuItem>
|
|
32
|
+
<MenuItem>Paste</MenuItem>
|
|
33
|
+
</Menu>
|
|
34
|
+
</Story>
|
|
35
|
+
|
|
36
|
+
<!-- MenuItems With Separator -->
|
|
37
|
+
<Story name="WithSeparator" asChild>
|
|
38
|
+
<Menu separator>
|
|
39
|
+
<MenuItem>Cut</MenuItem>
|
|
40
|
+
<MenuItem>Copy</MenuItem>
|
|
41
|
+
<MenuItem>Paste</MenuItem>
|
|
42
|
+
</Menu>
|
|
43
|
+
</Story>
|
|
44
|
+
|
|
45
|
+
<!-- MenuItems Grouped in Sections. [Separator](?path=/docs/components-layout-separator--docs) -->
|
|
46
|
+
<Story name="Sections" asChild>
|
|
47
|
+
<Menu width="200px">
|
|
48
|
+
<MenuItem>Cut</MenuItem>
|
|
49
|
+
<MenuItem>Cut Special</MenuItem>
|
|
50
|
+
<MenuItem>Cut Selected</MenuItem>
|
|
51
|
+
<Separator />
|
|
52
|
+
<MenuItem>Copy</MenuItem>
|
|
53
|
+
<MenuItem>Copy Special</MenuItem>
|
|
54
|
+
<MenuItem>Copy Selected</MenuItem>
|
|
55
|
+
<Separator />
|
|
56
|
+
<MenuItem>Paste</MenuItem>
|
|
57
|
+
<MenuItem>Paste Special</MenuItem>
|
|
58
|
+
<MenuItem>Paste Selected</MenuItem>
|
|
59
|
+
</Menu>
|
|
60
|
+
</Story>
|
|
61
|
+
|
|
62
|
+
<!-- MenuItems With some options disabled -->
|
|
63
|
+
<Story name="Disabled" asChild>
|
|
64
|
+
<Menu>
|
|
65
|
+
<MenuItem>Cut</MenuItem>
|
|
66
|
+
<MenuItem disabled>Copy</MenuItem>
|
|
67
|
+
<MenuItem>Paste</MenuItem>
|
|
68
|
+
</Menu>
|
|
69
|
+
</Story>
|