@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.
Files changed (170) hide show
  1. package/dist/stories/components/Form/RangeSlider/RangeSlider.svelte +32 -19
  2. package/package.json +41 -43
  3. package/src/lib/stories/Home.mdx +59 -0
  4. package/src/lib/stories/assets/dark-theme-toggle.png +0 -0
  5. package/src/lib/stories/components/Form/Button/Button.stories.svelte +61 -0
  6. package/src/lib/stories/components/Form/Button/Color/Color.stories.svelte +43 -0
  7. package/src/lib/stories/components/Form/Button/Events/Events.stories.svelte +36 -0
  8. package/src/lib/stories/components/Form/Button/IconButton/IconButton.stories.svelte +43 -0
  9. package/src/lib/stories/components/Form/Button/Roundness/Roundness.stories.svelte +23 -0
  10. package/src/lib/stories/components/Form/Button/Size/Size.stories.svelte +16 -0
  11. package/src/lib/stories/components/Form/Button/Variant/Variant.stories.svelte +18 -0
  12. package/src/lib/stories/components/Form/DatePicker/Color/Color.stories.svelte +47 -0
  13. package/src/lib/stories/components/Form/DatePicker/Controls/Controls.stories.svelte +58 -0
  14. package/src/lib/stories/components/Form/DatePicker/Customize/Customize.stories.svelte +167 -0
  15. package/src/lib/stories/components/Form/DatePicker/DatePicker.stories.svelte +107 -0
  16. package/src/lib/stories/components/Form/DatePicker/Events/Events.stories.svelte +147 -0
  17. package/src/lib/stories/components/Form/DatePicker/FilterDates/FilterDates.stories.svelte +61 -0
  18. package/src/lib/stories/components/Form/DatePicker/Positions/AutoPosition/AutoPosition.stories.svelte +46 -0
  19. package/src/lib/stories/components/Form/DatePicker/Positions/Positions.stories.svelte +57 -0
  20. package/src/lib/stories/components/Form/DatePicker/Roundness/Roundness.stories.svelte +38 -0
  21. package/src/lib/stories/components/Form/DatePicker/Size/Size.stories.svelte +41 -0
  22. package/src/lib/stories/components/Form/DatePicker/WithIcon/WithIcon.stories.svelte +41 -0
  23. package/src/lib/stories/components/Form/FormControl/FormControl.stories.svelte +28 -0
  24. package/src/lib/stories/components/Form/Label/Label.stories.svelte +13 -0
  25. package/src/lib/stories/components/Form/Message/Color/Color.stories.svelte +36 -0
  26. package/src/lib/stories/components/Form/Message/Message.stories.svelte +27 -0
  27. package/src/lib/stories/components/Form/Message/Size/Size.stories.svelte +22 -0
  28. package/src/lib/stories/components/Form/NumericInput/Events/Events.stories.svelte +134 -0
  29. package/src/lib/stories/components/Form/NumericInput/NumericInput.stories.svelte +84 -0
  30. package/src/lib/stories/components/Form/NumericInput/Roundness/Roundness.stories.svelte +20 -0
  31. package/src/lib/stories/components/Form/NumericInput/Size/Size.stories.svelte +16 -0
  32. package/src/lib/stories/components/Form/NumericInput/Validation/Validation.stories.svelte +87 -0
  33. package/src/lib/stories/components/Form/NumericInput/WithIcon/WithIcon.stories.svelte +31 -0
  34. package/src/lib/stories/components/Form/PasswordInput/Events/Events.stories.svelte +132 -0
  35. package/src/lib/stories/components/Form/PasswordInput/PasswordInput.stories.svelte +58 -0
  36. package/src/lib/stories/components/Form/PasswordInput/Roundness/Roundness.stories.svelte +20 -0
  37. package/src/lib/stories/components/Form/PasswordInput/Size/Size.stories.svelte +16 -0
  38. package/src/lib/stories/components/Form/PasswordInput/WithIcon/WithIcon.stories.svelte +31 -0
  39. package/src/lib/stories/components/Form/RangeSlider/Color/Color.stories.svelte +19 -0
  40. package/src/lib/stories/components/Form/RangeSlider/Events/Events.stories.svelte +63 -0
  41. package/src/lib/stories/components/Form/RangeSlider/RangeSlider.stories.svelte +69 -0
  42. package/src/lib/stories/components/Form/RangeSlider/RangeSlider.svelte +33 -22
  43. package/src/lib/stories/components/Form/RangeSlider/Roundness/Roundness.stories.svelte +30 -0
  44. package/src/lib/stories/components/Form/RangeSlider/Size/Size.stories.svelte +16 -0
  45. package/src/lib/stories/components/Form/RangeSlider/WithIcon/WithIcon.stories.svelte +33 -0
  46. package/src/lib/stories/components/Form/Select/Customize/Customize.stories.svelte +139 -0
  47. package/src/lib/stories/components/Form/Select/DropDownArrow/DropDownArrow.stories.svelte +63 -0
  48. package/src/lib/stories/components/Form/Select/Events/Events.stories.svelte +174 -0
  49. package/src/lib/stories/components/Form/Select/Options/OptionFormat.mdx +40 -0
  50. package/src/lib/stories/components/Form/Select/Positions/AutoPosition/AutoPosition.stories.svelte +58 -0
  51. package/src/lib/stories/components/Form/Select/Positions/Positions.stories.svelte +87 -0
  52. package/src/lib/stories/components/Form/Select/Roundness/Roundness.stories.svelte +32 -0
  53. package/src/lib/stories/components/Form/Select/Select.stories.svelte +125 -0
  54. package/src/lib/stories/components/Form/Select/Size/Size.stories.svelte +28 -0
  55. package/src/lib/stories/components/Form/Select/WithIcon/WithIcon.stories.svelte +43 -0
  56. package/src/lib/stories/components/Form/TextInput/Events/Events.stories.svelte +125 -0
  57. package/src/lib/stories/components/Form/TextInput/Roundness/Roundness.stories.svelte +21 -0
  58. package/src/lib/stories/components/Form/TextInput/Size/Size.stories.svelte +17 -0
  59. package/src/lib/stories/components/Form/TextInput/TextInput.stories.svelte +43 -0
  60. package/src/lib/stories/components/Form/TextInput/WithIcon/WithIcon.stories.svelte +47 -0
  61. package/src/lib/stories/components/Info/Calendar/Calendar.stories.svelte +121 -0
  62. package/src/lib/stories/components/Info/Calendar/Color/Color.stories.svelte +23 -0
  63. package/src/lib/stories/components/Info/Calendar/Controls/Controls.stories.svelte +26 -0
  64. package/src/lib/stories/components/Info/Calendar/Customize/Customize.stories.svelte +160 -0
  65. package/src/lib/stories/components/Info/Calendar/Events/Events.stories.svelte +122 -0
  66. package/src/lib/stories/components/Info/Calendar/FilterDates/FilterDates.stories.svelte +70 -0
  67. package/src/lib/stories/components/Info/Calendar/Size/Size.stories.svelte +20 -0
  68. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarControls.stories.svelte +36 -0
  69. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/CalendarMonthSelector.stories.svelte +58 -0
  70. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Color/Color.stories.svelte +23 -0
  71. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Customize/Customize.stories.svelte +30 -0
  72. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Events/Events.stories.svelte +25 -0
  73. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/NameTypes/NameTypes.stories.svelte +25 -0
  74. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Roundness/Roundness.stories.svelte +26 -0
  75. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Size/Size.stories.svelte +20 -0
  76. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/CalendarNavigation.stories.svelte +36 -0
  77. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Color/Color.stories.svelte +19 -0
  78. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Customize/Customize.stories.svelte +33 -0
  79. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Events/Events.stories.svelte +37 -0
  80. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Size/Size.stories.svelte +16 -0
  81. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/CalendarYearSelector.stories.svelte +58 -0
  82. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Color/Color.stories.svelte +23 -0
  83. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Customize/Customize.stories.svelte +30 -0
  84. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Events/Events.stories.svelte +25 -0
  85. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Roundness/Roundness.stories.svelte +26 -0
  86. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Size/Size.stories.svelte +20 -0
  87. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Color/Color.stories.svelte +23 -0
  88. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Controls/Controls.stories.svelte +21 -0
  89. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Customize/Customize.stories.svelte +69 -0
  90. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Events/Events.stories.svelte +61 -0
  91. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Size/Size.stories.svelte +20 -0
  92. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/CalendarDateChip.stories.svelte +75 -0
  93. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Color/Color.stories.svelte +41 -0
  94. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Customize/Customize.stories.svelte +45 -0
  95. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Events/Events.stories.svelte +28 -0
  96. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Roundness/Roundness.stories.svelte +31 -0
  97. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Size/Size.stories.svelte +24 -0
  98. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/SpecialChips/SpecialChips.stories.svelte +96 -0
  99. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDatesChart.stories.svelte +104 -0
  100. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/CalendarWeek.stories.svelte +38 -0
  101. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/Customize/Customize.stories.svelte +32 -0
  102. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/NameTypes/NameTypes.stories.svelte +28 -0
  103. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/Size/Size.stories.svelte +16 -0
  104. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Color/Color.stories.svelte +23 -0
  105. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Customize/Customize.stories.svelte +68 -0
  106. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Events/Events.stories.svelte +24 -0
  107. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Size/Size.stories.svelte +20 -0
  108. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/CalendarMonthChip.stories.svelte +40 -0
  109. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Color/Color.stories.svelte +29 -0
  110. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Customize/Customize.stories.svelte +33 -0
  111. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Events/Events.stories.svelte +23 -0
  112. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Roundness/Roundness.stories.svelte +26 -0
  113. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Size/Size.stories.svelte +19 -0
  114. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthList.stories.svelte +45 -0
  115. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Color/Color.stories.svelte +22 -0
  116. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Customize/Customize.stories.svelte +36 -0
  117. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Events/Events.stories.svelte +33 -0
  118. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Size/Size.stories.svelte +19 -0
  119. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/CalendarYearChip.stories.svelte +41 -0
  120. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Color/Color.stories.svelte +30 -0
  121. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Customize/Customize.stories.svelte +33 -0
  122. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Events/Events.stories.svelte +24 -0
  123. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Roundness/Roundness.stories.svelte +27 -0
  124. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Size/Size.stories.svelte +20 -0
  125. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearList.stories.svelte +39 -0
  126. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Color/Color.stories.svelte +23 -0
  127. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Customize/Customize.stories.svelte +36 -0
  128. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Events/Events.stories.svelte +24 -0
  129. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Size/Size.stories.svelte +20 -0
  130. package/src/lib/stories/components/Info/Calendar/utils/createDateOfMonth/index.mdx +121 -0
  131. package/src/lib/stories/components/Info/Calendar/utils/getDatesOfMonth/index.mdx +37 -0
  132. package/src/lib/stories/components/Layout/Menu/DynamicMenu/Customize/Customize.stories.svelte +30 -0
  133. package/src/lib/stories/components/Layout/Menu/DynamicMenu/DynamicMenu.stories.svelte +56 -0
  134. package/src/lib/stories/components/Layout/Menu/DynamicMenu/Events/Events.stories.svelte +48 -0
  135. package/src/lib/stories/components/Layout/Menu/DynamicMenu/KeybaordNavigation/KeybaordNavigation.stories.svelte +29 -0
  136. package/src/lib/stories/components/Layout/Menu/DynamicMenu/Options/OptionFormat.mdx +72 -0
  137. package/src/lib/stories/components/Layout/Menu/Menu.stories.svelte +69 -0
  138. package/src/lib/stories/components/Layout/Menu/MenuItem/MenuItem.stories.svelte +34 -0
  139. package/src/lib/stories/components/Layout/Menu/MenuItem/Size/Size.stories.svelte +16 -0
  140. package/src/lib/stories/components/Layout/Menu/MenuItem/Type/Type.stories.svelte +21 -0
  141. package/src/lib/stories/components/Layout/Menu/Size/Size.stories.svelte +37 -0
  142. package/src/lib/stories/components/Layout/Paper/Color/Color.stories.svelte +63 -0
  143. package/src/lib/stories/components/Layout/Paper/Paper.stories.svelte +50 -0
  144. package/src/lib/stories/components/Layout/Paper/Roundness/Roundness.stories.svelte +25 -0
  145. package/src/lib/stories/components/Layout/Paper/Shadow/Shadow.stories.svelte +24 -0
  146. package/src/lib/stories/components/Layout/Separator/Color/Color.stories.svelte +19 -0
  147. package/src/lib/stories/components/Layout/Separator/Separator.stories.svelte +30 -0
  148. package/src/lib/stories/developer tools/Intro.mdx +9 -0
  149. package/src/lib/stories/developer tools/components/DynamicInput/DynamicInput.stories.svelte +53 -0
  150. package/src/lib/stories/developer tools/components/DynamicInput/Events/Events.stories.svelte +121 -0
  151. package/src/lib/stories/developer tools/components/DynamicInput/Size/Size.stories.svelte +17 -0
  152. package/src/lib/stories/developer tools/components/InputEnclosure/InputEnclosure.stories.svelte +38 -0
  153. package/src/lib/stories/developer tools/components/InputEnclosure/Roundness/Roundness.stories.svelte +20 -0
  154. package/src/lib/stories/developer tools/components/InputEnclosure/Size/Size.stories.svelte +16 -0
  155. package/src/lib/stories/developer tools/components/InputEnclosure/WithIcon/WithIcon.stories.svelte +47 -0
  156. package/src/lib/stories/developer tools/components/Popper/Popper.stories.svelte +140 -0
  157. package/src/lib/stories/developer tools/components/Popper/PopperPopup/PopperPopup.stories.svelte +64 -0
  158. package/src/lib/stories/developer tools/components/Popper/Positions/AutoPosition/AutoPosition.stories.svelte +92 -0
  159. package/src/lib/stories/developer tools/components/Popper/Positions/Positions.stories.svelte +114 -0
  160. package/src/lib/stories/developer tools/components/UtilityButton/Size/Size.stories.svelte +25 -0
  161. package/src/lib/stories/developer tools/components/UtilityButton/UtilityButton.stories.svelte +30 -0
  162. package/src/lib/stories/developer tools/directives/clickOutside/index.mdx +25 -0
  163. package/src/lib/stories/developer tools/helpers/Numbers/cleanNumericString/index.mdx +20 -0
  164. package/src/lib/stories/developer tools/helpers/Numbers/isValidNumberValue/index.mdx +71 -0
  165. package/src/lib/stories/developer tools/helpers/Time/getMoment/index.mdx +45 -0
  166. package/src/lib/stories/developer tools/helpers/logger/index.mdx +63 -0
  167. package/src/lib/stories/developer tools/philosophy/Colors/Colors.mdx +43 -0
  168. package/src/lib/stories/developer tools/philosophy/Colors/Colors.stories.svelte +22 -0
  169. package/src/lib/stories/developer tools/philosophy/Colors/Opacity.stories.svelte +11 -0
  170. package/src/lib/stories/developer tools/philosophy/Themes.mdx +23 -0
@@ -0,0 +1,167 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import DatePicker from '../DatePicker.svelte';
4
+ import { storyDatePickerArgTypes } from '../DatePicker.stories.svelte';
5
+ import { Button, getMoment } from '$lib/index.js';
6
+ import Icon from '@iconify/svelte';
7
+
8
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
9
+ const { Story } = defineMeta({
10
+ component: DatePicker,
11
+ tags: ['autodocs'],
12
+ argTypes: storyDatePickerArgTypes,
13
+ parameters: {
14
+ docs: {
15
+ story: {
16
+ height: '400px',
17
+ inline: false,
18
+ },
19
+ },
20
+ },
21
+ });
22
+
23
+ let value = $state(getMoment().toDate());
24
+ </script>
25
+
26
+ <Story name="calendarDateChipProps" asChild>
27
+ <DatePicker
28
+ {value}
29
+ calendarDateChipProps={{
30
+ roundness: 'full',
31
+ }}
32
+ />
33
+ </Story>
34
+
35
+ <Story name="calendarMonthChipProps" asChild>
36
+ <DatePicker
37
+ {value}
38
+ calendarMonthChipProps={{
39
+ roundness: 2,
40
+ }}
41
+ />
42
+ </Story>
43
+
44
+ <Story name="customCalendarDateChipContent" asChild>
45
+ <DatePicker value={getMoment().toDate()}>
46
+ {#snippet customCalendarDateChipContent(dayOfMonth)}
47
+ 🗓️{Number(getMoment(dayOfMonth.date).format('D'))}
48
+ {/snippet}
49
+ </DatePicker>
50
+ </Story>
51
+
52
+ <Story name="customCalendarDateChip" asChild>
53
+ <DatePicker value={getMoment().toDate()}>
54
+ {#snippet customCalendarDateChip(dayOfMonth)}
55
+ <Button size="small" variant="text" outline>
56
+ {Number(getMoment(dayOfMonth.date).format('D'))}
57
+ </Button>
58
+ {/snippet}
59
+ </DatePicker>
60
+ </Story>
61
+
62
+ <Story name="customCalendarWeekContent" asChild>
63
+ <DatePicker value={getMoment().toDate()}>
64
+ {#snippet customCalendarWeekContent(option)}
65
+ ☀️{option.abr1}
66
+ {/snippet}
67
+ </DatePicker>
68
+ </Story>
69
+
70
+ <Story name="customCalendarWeek" asChild>
71
+ <DatePicker value={getMoment().toDate()}>
72
+ {#snippet customCalendarWeek(option)}
73
+ <li style="color: blue; display: block;">
74
+ {option.abr3}
75
+ </li>
76
+ {/snippet}
77
+ </DatePicker>
78
+ </Story>
79
+
80
+ <Story name="customCalendarMonthSelectorContent" asChild>
81
+ <DatePicker value={getMoment().toDate()}>
82
+ {#snippet customCalendarMonthSelectorContent(option)}
83
+ 🗓️{option.abr3}
84
+ {/snippet}
85
+ </DatePicker>
86
+ </Story>
87
+
88
+ <Story name="customCalendarMonthSelector" asChild>
89
+ <DatePicker value={getMoment().toDate()}>
90
+ {#snippet customCalendarMonthSelector(option)}
91
+ <span style="color: blue; display: block;">
92
+ {option.abr3}
93
+ </span>
94
+ {/snippet}
95
+ </DatePicker>
96
+ </Story>
97
+
98
+ <Story name="customCalendarYearSelectorContent" asChild>
99
+ <DatePicker value={getMoment().toDate()}>
100
+ {#snippet customCalendarYearSelectorContent(selectedYear)}
101
+ 🗓️{selectedYear}
102
+ {/snippet}
103
+ </DatePicker>
104
+ </Story>
105
+
106
+ <Story name="customCalendarYearSelector" asChild>
107
+ <DatePicker value={getMoment().toDate()}>
108
+ {#snippet customCalendarYearSelector(selectedYear)}
109
+ <span style="color: blue; display: block;">
110
+ {selectedYear}
111
+ </span>
112
+ {/snippet}
113
+ </DatePicker>
114
+ </Story>
115
+
116
+ <Story name="customCalendarNavigationContent" asChild>
117
+ <DatePicker value={getMoment().toDate()}>
118
+ {#snippet customCalendarNavigationPrevContent()}
119
+ <Icon icon="carbon:previous-filled" width="32" height="32" />
120
+ {/snippet}
121
+ {#snippet customCalendarNavigationNextContent()}
122
+ <Icon icon="carbon:next-outline" width="32" height="32" />
123
+ {/snippet}
124
+ </DatePicker>
125
+ </Story>
126
+
127
+ <Story name="customCalendarNavigation" asChild>
128
+ <DatePicker value={getMoment().toDate()}>
129
+ {#snippet customCalendarNavigation()}
130
+ <Button>Control</Button>
131
+ {/snippet}
132
+ </DatePicker>
133
+ </Story>
134
+
135
+ <Story name="customCalendarMonthChipContent" asChild>
136
+ <DatePicker value={getMoment().toDate()}>
137
+ {#snippet customCalendarMonthChipContent(val)}
138
+ 🗓️{val}
139
+ {/snippet}
140
+ </DatePicker>
141
+ </Story>
142
+
143
+ <Story name="customCalendarMonthChip" asChild>
144
+ <DatePicker value={getMoment().toDate()}>
145
+ {#snippet customCalendarMonthChip(val)}
146
+ <Button size="small" variant="text" outline>
147
+ {val}
148
+ </Button>
149
+ {/snippet}
150
+ </DatePicker>
151
+ </Story>
152
+
153
+ <Story name="calendarTopContent" asChild>
154
+ <DatePicker value={getMoment().toDate()}>
155
+ {#snippet calendarTopContent(activeSection)}
156
+ Top Content: {activeSection}
157
+ {/snippet}
158
+ </DatePicker>
159
+ </Story>
160
+
161
+ <Story name="calendarBottomContent" asChild>
162
+ <DatePicker value={getMoment().toDate()}>
163
+ {#snippet calendarBottomContent(activeSection)}
164
+ Bottom Content: {activeSection}
165
+ {/snippet}
166
+ </DatePicker>
167
+ </Story>
@@ -0,0 +1,107 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import DatePicker from './DatePicker.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
+ import Icon from '@iconify/svelte';
9
+ import { getMoment, type DateOfMonth } from '$lib/index.js';
10
+
11
+ export const storyDatePickerArgTypes: StoryBookArgTypes = {
12
+ roundness: {
13
+ control: { type: 'select' },
14
+ options: componentRoundnessArray,
15
+ },
16
+ size: {
17
+ control: { type: 'select' },
18
+ options: componentSizeArray,
19
+ },
20
+ color: {
21
+ control: { type: 'select' },
22
+ options: componentColorArray,
23
+ },
24
+ };
25
+
26
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
27
+ const { Story } = defineMeta({
28
+ component: DatePicker,
29
+ tags: ['autodocs'],
30
+ argTypes: storyDatePickerArgTypes,
31
+ parameters: {
32
+ docs: {
33
+ story: {
34
+ height: '400px',
35
+ inline: false,
36
+ },
37
+ },
38
+ },
39
+ });
40
+
41
+ let value = $state<Date | undefined>(new Date());
42
+ </script>
43
+
44
+ <!-- DatePicker with default style -->
45
+ <Story name="Default" asChild>
46
+ <DatePicker {value} onselect={(val: Date) => (value = val)} />
47
+ </Story>
48
+
49
+ <!-- [Supported formats](https://day.js.org/docs/en/display/format) -->
50
+ <Story name="FormatDate" asChild>
51
+ <DatePicker {value} onselect={(val: Date) => (value = val)} format="MMM, DD YYYY" />
52
+ </Story>
53
+
54
+ <Story name="Editable" asChild>
55
+ <DatePicker {value} editable onselect={(val: Date) => (value = val)} placeholder="DD/MM/YYYY" />
56
+ </Story>
57
+
58
+ <Story name="EditableInDiffrentFormat" asChild>
59
+ <DatePicker
60
+ {value}
61
+ editable
62
+ onselect={(val: Date) => (value = val)}
63
+ placeholder="DD/MM/YYYY"
64
+ formatEditable="YYYY-MM-DD"
65
+ />
66
+ </Story>
67
+
68
+ <Story name="Clearable" asChild>
69
+ <DatePicker
70
+ {value}
71
+ clearable
72
+ onselect={(val: Date) => (value = val)}
73
+ onclear={() => (value = undefined)}
74
+ placeholder="DD/MM/YYYY"
75
+ />
76
+ </Story>
77
+
78
+ <Story name="Disabled" asChild>
79
+ <DatePicker {value} disabled />
80
+ </Story>
81
+
82
+ <Story name="OpenByDefault" asChild>
83
+ <DatePicker {value} open={true} />
84
+ </Story>
85
+
86
+ <Story name="ManipulateDate" asChild>
87
+ <DatePicker
88
+ {value}
89
+ onselect={(val: Date) => (value = val)}
90
+ manipulateDate={(dateToModify: DateOfMonth) => {
91
+ // Disable all Fridays
92
+ if (getMoment(dateToModify.date, undefined).day() === 5) {
93
+ dateToModify.disabled = true;
94
+ }
95
+
96
+ return dateToModify;
97
+ }}
98
+ />
99
+ </Story>
100
+
101
+ <Story name="Custom calender icon" asChild>
102
+ <DatePicker {value}>
103
+ {#snippet customCalendarIcon()}
104
+ <Icon icon="mingcute:calendar-3-line" width="24" height="24" />
105
+ {/snippet}
106
+ </DatePicker>
107
+ </Story>
@@ -0,0 +1,147 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import DatePicker from '../DatePicker.svelte';
4
+ import { storyDatePickerArgTypes } from '../DatePicker.stories.svelte';
5
+ import getMoment from '$lib/stories/developer tools/helpers/Time/getMoment/getMoment.js';
6
+ import type { ButtonClickEvent } from '$lib/stories/components/Form/Button/Button.svelte';
7
+ import type {
8
+ CalendarMonthOption,
9
+ CalendarMonthNames,
10
+ } from '$lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/CalendarMonthSelector.svelte';
11
+
12
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
13
+ const { Story } = defineMeta({
14
+ component: DatePicker,
15
+ tags: ['autodocs'],
16
+ argTypes: storyDatePickerArgTypes,
17
+ parameters: {
18
+ docs: {
19
+ story: {
20
+ height: '400px',
21
+ inline: false,
22
+ },
23
+ },
24
+ },
25
+ });
26
+
27
+ let value = $state(getMoment().toDate());
28
+ </script>
29
+
30
+ <Story name="Select" asChild>
31
+ <DatePicker
32
+ {value}
33
+ onselect={(val) => {
34
+ value = val;
35
+ }}
36
+ />
37
+ </Story>
38
+
39
+ <Story name="MonthSelectorClick" asChild>
40
+ <DatePicker
41
+ {value}
42
+ onMonthSelectorClick={(option: CalendarMonthOption, e: ButtonClickEvent) => {
43
+ const target = e.target as HTMLButtonElement;
44
+
45
+ alert('Button Clicked');
46
+ console.log('Button Clicked', option, target);
47
+ }}
48
+ />
49
+ </Story>
50
+
51
+ <Story name="YearSelectorClick" asChild>
52
+ <DatePicker
53
+ {value}
54
+ onYearSelectorClick={(selectedYear: string, e: ButtonClickEvent) => {
55
+ const target = e.target as HTMLButtonElement;
56
+
57
+ alert('Button Clicked');
58
+ console.log('Button Clicked', selectedYear, target);
59
+ }}
60
+ />
61
+ </Story>
62
+
63
+ <Story name="CalendarNavigationNextClick" asChild>
64
+ <DatePicker
65
+ {value}
66
+ onCalendarNavigationNextClick={(e: ButtonClickEvent) => {
67
+ const target = e.target as HTMLButtonElement;
68
+
69
+ alert('Button Clicked');
70
+ console.log('Button Clicked', target);
71
+ }}
72
+ />
73
+ </Story>
74
+
75
+ <Story name="CalendarNavigationPrevClick" asChild>
76
+ <DatePicker
77
+ {value}
78
+ onCalendarNavigationPrevClick={(e: ButtonClickEvent) => {
79
+ const target = e.target as HTMLButtonElement;
80
+
81
+ alert('Button Clicked');
82
+ console.log('Button Clicked', target);
83
+ }}
84
+ />
85
+ </Story>
86
+
87
+ <Story name="SelectMonth" asChild>
88
+ <DatePicker
89
+ {value}
90
+ onselectMonth={(val: CalendarMonthNames, e: ButtonClickEvent) => {
91
+ const target = e.target as HTMLButtonElement;
92
+ console.log(val, target);
93
+ }}
94
+ />
95
+ </Story>
96
+
97
+ <Story name="CancelMonthSelection" asChild>
98
+ <DatePicker
99
+ {value}
100
+ oncancelMonth={(e: ButtonClickEvent) => {
101
+ const target = e.target as HTMLButtonElement;
102
+ console.log(target);
103
+ }}
104
+ />
105
+ </Story>
106
+
107
+ <Story name="SelectYear" asChild>
108
+ <DatePicker
109
+ {value}
110
+ onselectYear={(val: string, e: ButtonClickEvent) => {
111
+ const target = e.target as HTMLButtonElement;
112
+ console.log(val, target);
113
+ }}
114
+ />
115
+ </Story>
116
+
117
+ <Story name="CancelYearSelection" asChild>
118
+ <DatePicker
119
+ {value}
120
+ oncancelYear={(e: ButtonClickEvent) => {
121
+ const target = e.target as HTMLButtonElement;
122
+ console.log(target);
123
+ }}
124
+ />
125
+ </Story>
126
+
127
+ <Story name="Input" asChild>
128
+ <DatePicker
129
+ {value}
130
+ oninput={(e: Event) => {
131
+ const target = e.target as HTMLInputElement;
132
+
133
+ console.log('Input Event', target.value);
134
+ }}
135
+ />
136
+ </Story>
137
+
138
+ <Story name="Change" asChild>
139
+ <DatePicker
140
+ {value}
141
+ onchange={(e: Event) => {
142
+ const target = e.target as HTMLInputElement;
143
+
144
+ console.log('onChange Event', target.value);
145
+ }}
146
+ />
147
+ </Story>
@@ -0,0 +1,61 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import DatePicker from '../DatePicker.svelte';
4
+ import { storyDatePickerArgTypes } from '../DatePicker.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: DatePicker,
10
+ tags: ['autodocs'],
11
+ argTypes: storyDatePickerArgTypes,
12
+ parameters: {
13
+ docs: {
14
+ story: {
15
+ height: '400px',
16
+ inline: false,
17
+ },
18
+ },
19
+ },
20
+ });
21
+
22
+ let value = $state(getMoment('01-02-2025', 'DD-MM-YYYY').toDate());
23
+ </script>
24
+
25
+ <Story name="Default" asChild>
26
+ <DatePicker {value} />
27
+ </Story>
28
+
29
+ <Story name="MinDate" asChild>
30
+ <DatePicker {value} minDate={getMoment('06-02-2025', 'DD-MM-YYYY').toDate()} />
31
+ </Story>
32
+
33
+ <Story name="MaxDate" asChild>
34
+ <DatePicker {value} maxDate={getMoment('10-02-2025', 'DD-MM-YYYY').toDate()} />
35
+ </Story>
36
+
37
+ <Story name="ExcludeDates" asChild>
38
+ <DatePicker
39
+ {value}
40
+ excludeDates={[
41
+ getMoment('10-02-2025', 'DD-MM-YYYY').toDate(),
42
+ getMoment('15-02-2025', 'DD-MM-YYYY').toDate(),
43
+ getMoment('20-02-2025', 'DD-MM-YYYY').toDate(),
44
+ ]}
45
+ />
46
+ </Story>
47
+
48
+ <Story name="IncludeDates" asChild>
49
+ <DatePicker
50
+ {value}
51
+ includeDates={[
52
+ getMoment('10-02-2025', 'DD-MM-YYYY').toDate(),
53
+ getMoment('15-02-2025', 'DD-MM-YYYY').toDate(),
54
+ getMoment('20-02-2025', 'DD-MM-YYYY').toDate(),
55
+ ]}
56
+ />
57
+ </Story>
58
+
59
+ <Story name="DisabledMonths" asChild>
60
+ <DatePicker {value} disabledMonths={['jan', 'feb', 'mar']} />
61
+ </Story>
@@ -0,0 +1,46 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import { storyDatePickerArgTypes } from '../../DatePicker.stories.svelte';
4
+ import DatePicker from '../../DatePicker.svelte';
5
+
6
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
7
+ const { Story } = defineMeta({
8
+ component: DatePicker,
9
+ tags: ['autodocs'],
10
+ argTypes: storyDatePickerArgTypes,
11
+ parameters: {
12
+ docs: {
13
+ story: {
14
+ height: '200px',
15
+ inline: false,
16
+ },
17
+ },
18
+ },
19
+ });
20
+
21
+ let value = $state<Date | undefined>(new Date());
22
+ </script>
23
+
24
+ <Story name="PositionAutoAdjust" asChild>
25
+ <DatePicker {value} onselect={(val: Date) => (value = val)} />
26
+ </Story>
27
+
28
+ <!-- Positions will not auto adjust if you use `lockPoistions` -->
29
+ <Story name="LockPoistions" asChild>
30
+ <DatePicker
31
+ {value}
32
+ onselect={(val: Date) => (value = val)}
33
+ popupPositionY="top"
34
+ lockPoistions={true}
35
+ />
36
+ </Story>
37
+
38
+ <!-- you can also adjust `popperHeightForVerticalPosition` to achive the same -->
39
+ <Story name="HeightForVerticalPosition" asChild>
40
+ <DatePicker
41
+ {value}
42
+ onselect={(val: Date) => (value = val)}
43
+ popupPositionY="top"
44
+ popperHeightForVerticalPosition={3}
45
+ />
46
+ </Story>
@@ -0,0 +1,57 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import { storyDatePickerArgTypes } from '../DatePicker.stories.svelte';
4
+ import DatePicker from '../DatePicker.svelte';
5
+
6
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
7
+ const { Story } = defineMeta({
8
+ component: DatePicker,
9
+ tags: ['autodocs'],
10
+ argTypes: storyDatePickerArgTypes,
11
+ parameters: {
12
+ layout: 'centered',
13
+ docs: {
14
+ story: {
15
+ height: '400px',
16
+ inline: false,
17
+ },
18
+ },
19
+ },
20
+ });
21
+
22
+ let value = $state<Date | undefined>(new Date());
23
+ </script>
24
+
25
+ <Story name="BottomLeft" asChild>
26
+ <DatePicker {value} onselect={(val: Date) => (value = val)} />
27
+ </Story>
28
+
29
+ <Story name="BottomCenter" asChild>
30
+ <DatePicker {value} onselect={(val: Date) => (value = val)} popupPositionX="center" />
31
+ </Story>
32
+
33
+ <Story name="BottomRight" asChild>
34
+ <DatePicker {value} onselect={(val: Date) => (value = val)} popupPositionX="right" />
35
+ </Story>
36
+
37
+ <Story name="TopLeft" asChild>
38
+ <DatePicker {value} onselect={(val: Date) => (value = val)} popupPositionY="top" />
39
+ </Story>
40
+
41
+ <Story name="TopCenter" asChild>
42
+ <DatePicker
43
+ {value}
44
+ onselect={(val: Date) => (value = val)}
45
+ popupPositionY="top"
46
+ popupPositionX="center"
47
+ />
48
+ </Story>
49
+
50
+ <Story name="TopRight" asChild>
51
+ <DatePicker
52
+ {value}
53
+ onselect={(val: Date) => (value = val)}
54
+ popupPositionY="top"
55
+ popupPositionX="right"
56
+ />
57
+ </Story>
@@ -0,0 +1,38 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import DatePicker from '../DatePicker.svelte';
4
+ import { storyDatePickerArgTypes } from '../DatePicker.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: DatePicker,
9
+ tags: ['autodocs'],
10
+ argTypes: storyDatePickerArgTypes,
11
+ parameters: {
12
+ docs: {
13
+ story: {
14
+ height: '400px',
15
+ inline: false,
16
+ },
17
+ },
18
+ },
19
+ });
20
+
21
+ let value = $state<Date | undefined>(new Date());
22
+ </script>
23
+
24
+ <Story name="Roundness 1" asChild>
25
+ <DatePicker {value} />
26
+ </Story>
27
+
28
+ <Story name="Roundness 2" asChild>
29
+ <DatePicker {value} roundness={2} />
30
+ </Story>
31
+
32
+ <Story name="Roundness 3" asChild>
33
+ <DatePicker {value} roundness={3} />
34
+ </Story>
35
+
36
+ <Story name="Roundness 0" asChild>
37
+ <DatePicker {value} roundness={0} />
38
+ </Story>
@@ -0,0 +1,41 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import DatePicker from '../DatePicker.svelte';
4
+ import { storyDatePickerArgTypes } from '../DatePicker.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: DatePicker,
9
+ tags: ['autodocs'],
10
+ argTypes: storyDatePickerArgTypes,
11
+ parameters: {
12
+ docs: {
13
+ story: {
14
+ height: '400px',
15
+ inline: false,
16
+ },
17
+ },
18
+ },
19
+ });
20
+
21
+ let value = $state<Date | undefined>(new Date());
22
+ </script>
23
+
24
+ <Story name="Normal" asChild>
25
+ <DatePicker {value} onselect={(val: Date) => (value = val)} />
26
+ </Story>
27
+ <Story name="Small" asChild>
28
+ <DatePicker {value} onselect={(val: Date) => (value = val)} size="small" />
29
+ </Story>
30
+ <Story name="Large" asChild>
31
+ <DatePicker {value} onselect={(val: Date) => (value = val)} size="large" />
32
+ </Story>
33
+ <Story name="SmallCalendar" asChild>
34
+ <DatePicker
35
+ {value}
36
+ onselect={(val: Date) => (value = val)}
37
+ calendarProps={{
38
+ size: 'small',
39
+ }}
40
+ />
41
+ </Story>