@flightlesslabs/dodo-ui 0.12.0 → 0.12.1

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 (168) hide show
  1. package/package.json +17 -19
  2. package/src/lib/stories/Home.mdx +59 -0
  3. package/src/lib/stories/assets/dark-theme-toggle.png +0 -0
  4. package/src/lib/stories/components/Form/Button/Button.stories.svelte +61 -0
  5. package/src/lib/stories/components/Form/Button/Color/Color.stories.svelte +43 -0
  6. package/src/lib/stories/components/Form/Button/Events/Events.stories.svelte +36 -0
  7. package/src/lib/stories/components/Form/Button/IconButton/IconButton.stories.svelte +43 -0
  8. package/src/lib/stories/components/Form/Button/Roundness/Roundness.stories.svelte +23 -0
  9. package/src/lib/stories/components/Form/Button/Size/Size.stories.svelte +16 -0
  10. package/src/lib/stories/components/Form/Button/Variant/Variant.stories.svelte +18 -0
  11. package/src/lib/stories/components/Form/DatePicker/Color/Color.stories.svelte +47 -0
  12. package/src/lib/stories/components/Form/DatePicker/Controls/Controls.stories.svelte +58 -0
  13. package/src/lib/stories/components/Form/DatePicker/Customize/Customize.stories.svelte +167 -0
  14. package/src/lib/stories/components/Form/DatePicker/DatePicker.stories.svelte +107 -0
  15. package/src/lib/stories/components/Form/DatePicker/Events/Events.stories.svelte +147 -0
  16. package/src/lib/stories/components/Form/DatePicker/FilterDates/FilterDates.stories.svelte +61 -0
  17. package/src/lib/stories/components/Form/DatePicker/Positions/AutoPosition/AutoPosition.stories.svelte +46 -0
  18. package/src/lib/stories/components/Form/DatePicker/Positions/Positions.stories.svelte +57 -0
  19. package/src/lib/stories/components/Form/DatePicker/Roundness/Roundness.stories.svelte +38 -0
  20. package/src/lib/stories/components/Form/DatePicker/Size/Size.stories.svelte +41 -0
  21. package/src/lib/stories/components/Form/DatePicker/WithIcon/WithIcon.stories.svelte +41 -0
  22. package/src/lib/stories/components/Form/FormControl/FormControl.stories.svelte +28 -0
  23. package/src/lib/stories/components/Form/Label/Label.stories.svelte +13 -0
  24. package/src/lib/stories/components/Form/Message/Color/Color.stories.svelte +36 -0
  25. package/src/lib/stories/components/Form/Message/Message.stories.svelte +27 -0
  26. package/src/lib/stories/components/Form/Message/Size/Size.stories.svelte +22 -0
  27. package/src/lib/stories/components/Form/NumericInput/Events/Events.stories.svelte +134 -0
  28. package/src/lib/stories/components/Form/NumericInput/NumericInput.stories.svelte +84 -0
  29. package/src/lib/stories/components/Form/NumericInput/Roundness/Roundness.stories.svelte +20 -0
  30. package/src/lib/stories/components/Form/NumericInput/Size/Size.stories.svelte +16 -0
  31. package/src/lib/stories/components/Form/NumericInput/Validation/Validation.stories.svelte +87 -0
  32. package/src/lib/stories/components/Form/NumericInput/WithIcon/WithIcon.stories.svelte +31 -0
  33. package/src/lib/stories/components/Form/PasswordInput/Events/Events.stories.svelte +132 -0
  34. package/src/lib/stories/components/Form/PasswordInput/PasswordInput.stories.svelte +58 -0
  35. package/src/lib/stories/components/Form/PasswordInput/Roundness/Roundness.stories.svelte +20 -0
  36. package/src/lib/stories/components/Form/PasswordInput/Size/Size.stories.svelte +16 -0
  37. package/src/lib/stories/components/Form/PasswordInput/WithIcon/WithIcon.stories.svelte +31 -0
  38. package/src/lib/stories/components/Form/RangeSlider/Color/Color.stories.svelte +19 -0
  39. package/src/lib/stories/components/Form/RangeSlider/Events/Events.stories.svelte +63 -0
  40. package/src/lib/stories/components/Form/RangeSlider/RangeSlider.stories.svelte +69 -0
  41. package/src/lib/stories/components/Form/RangeSlider/Roundness/Roundness.stories.svelte +30 -0
  42. package/src/lib/stories/components/Form/RangeSlider/Size/Size.stories.svelte +16 -0
  43. package/src/lib/stories/components/Form/RangeSlider/WithIcon/WithIcon.stories.svelte +33 -0
  44. package/src/lib/stories/components/Form/Select/Customize/Customize.stories.svelte +139 -0
  45. package/src/lib/stories/components/Form/Select/DropDownArrow/DropDownArrow.stories.svelte +63 -0
  46. package/src/lib/stories/components/Form/Select/Events/Events.stories.svelte +174 -0
  47. package/src/lib/stories/components/Form/Select/Options/OptionFormat.mdx +40 -0
  48. package/src/lib/stories/components/Form/Select/Positions/AutoPosition/AutoPosition.stories.svelte +58 -0
  49. package/src/lib/stories/components/Form/Select/Positions/Positions.stories.svelte +87 -0
  50. package/src/lib/stories/components/Form/Select/Roundness/Roundness.stories.svelte +32 -0
  51. package/src/lib/stories/components/Form/Select/Select.stories.svelte +125 -0
  52. package/src/lib/stories/components/Form/Select/Size/Size.stories.svelte +28 -0
  53. package/src/lib/stories/components/Form/Select/WithIcon/WithIcon.stories.svelte +43 -0
  54. package/src/lib/stories/components/Form/TextInput/Events/Events.stories.svelte +125 -0
  55. package/src/lib/stories/components/Form/TextInput/Roundness/Roundness.stories.svelte +21 -0
  56. package/src/lib/stories/components/Form/TextInput/Size/Size.stories.svelte +17 -0
  57. package/src/lib/stories/components/Form/TextInput/TextInput.stories.svelte +43 -0
  58. package/src/lib/stories/components/Form/TextInput/WithIcon/WithIcon.stories.svelte +47 -0
  59. package/src/lib/stories/components/Info/Calendar/Calendar.stories.svelte +121 -0
  60. package/src/lib/stories/components/Info/Calendar/Color/Color.stories.svelte +23 -0
  61. package/src/lib/stories/components/Info/Calendar/Controls/Controls.stories.svelte +26 -0
  62. package/src/lib/stories/components/Info/Calendar/Customize/Customize.stories.svelte +160 -0
  63. package/src/lib/stories/components/Info/Calendar/Events/Events.stories.svelte +122 -0
  64. package/src/lib/stories/components/Info/Calendar/FilterDates/FilterDates.stories.svelte +70 -0
  65. package/src/lib/stories/components/Info/Calendar/Size/Size.stories.svelte +20 -0
  66. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarControls.stories.svelte +36 -0
  67. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/CalendarMonthSelector.stories.svelte +58 -0
  68. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Color/Color.stories.svelte +23 -0
  69. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Customize/Customize.stories.svelte +30 -0
  70. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Events/Events.stories.svelte +25 -0
  71. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/NameTypes/NameTypes.stories.svelte +25 -0
  72. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Roundness/Roundness.stories.svelte +26 -0
  73. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Size/Size.stories.svelte +20 -0
  74. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/CalendarNavigation.stories.svelte +36 -0
  75. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Color/Color.stories.svelte +19 -0
  76. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Customize/Customize.stories.svelte +33 -0
  77. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Events/Events.stories.svelte +37 -0
  78. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Size/Size.stories.svelte +16 -0
  79. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/CalendarYearSelector.stories.svelte +58 -0
  80. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Color/Color.stories.svelte +23 -0
  81. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Customize/Customize.stories.svelte +30 -0
  82. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Events/Events.stories.svelte +25 -0
  83. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Roundness/Roundness.stories.svelte +26 -0
  84. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Size/Size.stories.svelte +20 -0
  85. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Color/Color.stories.svelte +23 -0
  86. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Controls/Controls.stories.svelte +21 -0
  87. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Customize/Customize.stories.svelte +69 -0
  88. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Events/Events.stories.svelte +61 -0
  89. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Size/Size.stories.svelte +20 -0
  90. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/CalendarDateChip.stories.svelte +75 -0
  91. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Color/Color.stories.svelte +41 -0
  92. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Customize/Customize.stories.svelte +45 -0
  93. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Events/Events.stories.svelte +28 -0
  94. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Roundness/Roundness.stories.svelte +31 -0
  95. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Size/Size.stories.svelte +24 -0
  96. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/SpecialChips/SpecialChips.stories.svelte +96 -0
  97. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDatesChart.stories.svelte +104 -0
  98. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/CalendarWeek.stories.svelte +38 -0
  99. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/Customize/Customize.stories.svelte +32 -0
  100. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/NameTypes/NameTypes.stories.svelte +28 -0
  101. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/Size/Size.stories.svelte +16 -0
  102. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Color/Color.stories.svelte +23 -0
  103. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Customize/Customize.stories.svelte +68 -0
  104. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Events/Events.stories.svelte +24 -0
  105. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Size/Size.stories.svelte +20 -0
  106. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/CalendarMonthChip.stories.svelte +40 -0
  107. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Color/Color.stories.svelte +29 -0
  108. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Customize/Customize.stories.svelte +33 -0
  109. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Events/Events.stories.svelte +23 -0
  110. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Roundness/Roundness.stories.svelte +26 -0
  111. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Size/Size.stories.svelte +19 -0
  112. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthList.stories.svelte +45 -0
  113. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Color/Color.stories.svelte +22 -0
  114. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Customize/Customize.stories.svelte +36 -0
  115. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Events/Events.stories.svelte +33 -0
  116. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Size/Size.stories.svelte +19 -0
  117. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/CalendarYearChip.stories.svelte +41 -0
  118. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Color/Color.stories.svelte +30 -0
  119. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Customize/Customize.stories.svelte +33 -0
  120. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Events/Events.stories.svelte +24 -0
  121. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Roundness/Roundness.stories.svelte +27 -0
  122. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Size/Size.stories.svelte +20 -0
  123. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearList.stories.svelte +39 -0
  124. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Color/Color.stories.svelte +23 -0
  125. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Customize/Customize.stories.svelte +36 -0
  126. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Events/Events.stories.svelte +24 -0
  127. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Size/Size.stories.svelte +20 -0
  128. package/src/lib/stories/components/Info/Calendar/utils/createDateOfMonth/index.mdx +121 -0
  129. package/src/lib/stories/components/Info/Calendar/utils/getDatesOfMonth/index.mdx +37 -0
  130. package/src/lib/stories/components/Layout/Menu/DynamicMenu/Customize/Customize.stories.svelte +30 -0
  131. package/src/lib/stories/components/Layout/Menu/DynamicMenu/DynamicMenu.stories.svelte +56 -0
  132. package/src/lib/stories/components/Layout/Menu/DynamicMenu/Events/Events.stories.svelte +48 -0
  133. package/src/lib/stories/components/Layout/Menu/DynamicMenu/KeybaordNavigation/KeybaordNavigation.stories.svelte +29 -0
  134. package/src/lib/stories/components/Layout/Menu/DynamicMenu/Options/OptionFormat.mdx +72 -0
  135. package/src/lib/stories/components/Layout/Menu/Menu.stories.svelte +69 -0
  136. package/src/lib/stories/components/Layout/Menu/MenuItem/MenuItem.stories.svelte +34 -0
  137. package/src/lib/stories/components/Layout/Menu/MenuItem/Size/Size.stories.svelte +16 -0
  138. package/src/lib/stories/components/Layout/Menu/MenuItem/Type/Type.stories.svelte +21 -0
  139. package/src/lib/stories/components/Layout/Menu/Size/Size.stories.svelte +37 -0
  140. package/src/lib/stories/components/Layout/Paper/Color/Color.stories.svelte +63 -0
  141. package/src/lib/stories/components/Layout/Paper/Paper.stories.svelte +50 -0
  142. package/src/lib/stories/components/Layout/Paper/Roundness/Roundness.stories.svelte +25 -0
  143. package/src/lib/stories/components/Layout/Paper/Shadow/Shadow.stories.svelte +24 -0
  144. package/src/lib/stories/components/Layout/Separator/Color/Color.stories.svelte +19 -0
  145. package/src/lib/stories/components/Layout/Separator/Separator.stories.svelte +30 -0
  146. package/src/lib/stories/developer tools/Intro.mdx +9 -0
  147. package/src/lib/stories/developer tools/components/DynamicInput/DynamicInput.stories.svelte +53 -0
  148. package/src/lib/stories/developer tools/components/DynamicInput/Events/Events.stories.svelte +121 -0
  149. package/src/lib/stories/developer tools/components/DynamicInput/Size/Size.stories.svelte +17 -0
  150. package/src/lib/stories/developer tools/components/InputEnclosure/InputEnclosure.stories.svelte +38 -0
  151. package/src/lib/stories/developer tools/components/InputEnclosure/Roundness/Roundness.stories.svelte +20 -0
  152. package/src/lib/stories/developer tools/components/InputEnclosure/Size/Size.stories.svelte +16 -0
  153. package/src/lib/stories/developer tools/components/InputEnclosure/WithIcon/WithIcon.stories.svelte +47 -0
  154. package/src/lib/stories/developer tools/components/Popper/Popper.stories.svelte +140 -0
  155. package/src/lib/stories/developer tools/components/Popper/PopperPopup/PopperPopup.stories.svelte +64 -0
  156. package/src/lib/stories/developer tools/components/Popper/Positions/AutoPosition/AutoPosition.stories.svelte +92 -0
  157. package/src/lib/stories/developer tools/components/Popper/Positions/Positions.stories.svelte +114 -0
  158. package/src/lib/stories/developer tools/components/UtilityButton/Size/Size.stories.svelte +25 -0
  159. package/src/lib/stories/developer tools/components/UtilityButton/UtilityButton.stories.svelte +30 -0
  160. package/src/lib/stories/developer tools/directives/clickOutside/index.mdx +25 -0
  161. package/src/lib/stories/developer tools/helpers/Numbers/cleanNumericString/index.mdx +20 -0
  162. package/src/lib/stories/developer tools/helpers/Numbers/isValidNumberValue/index.mdx +71 -0
  163. package/src/lib/stories/developer tools/helpers/Time/getMoment/index.mdx +45 -0
  164. package/src/lib/stories/developer tools/helpers/logger/index.mdx +63 -0
  165. package/src/lib/stories/developer tools/philosophy/Colors/Colors.mdx +43 -0
  166. package/src/lib/stories/developer tools/philosophy/Colors/Colors.stories.svelte +22 -0
  167. package/src/lib/stories/developer tools/philosophy/Colors/Opacity.stories.svelte +11 -0
  168. package/src/lib/stories/developer tools/philosophy/Themes.mdx +23 -0
@@ -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
+ />
@@ -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>
@@ -0,0 +1,174 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import { selectOptions, storySelectArgTypes } from '../Select.stories.svelte';
4
+ import Select, { type SelectOption } from '../Select.svelte';
5
+ import type { TextInputClipboardEvent } from '../../TextInput/TextInput.svelte';
6
+ import type {
7
+ DynamicInputFocusEvent,
8
+ DynamicInputKeyboardEvent,
9
+ } from '$lib/stories/developer tools/components/DynamicInput/DynamicInput.svelte';
10
+
11
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
12
+ const { Story } = defineMeta({
13
+ component: Select,
14
+ tags: ['autodocs'],
15
+ argTypes: storySelectArgTypes,
16
+ parameters: {
17
+ docs: {
18
+ story: {
19
+ height: '400px',
20
+ inline: false,
21
+ },
22
+ },
23
+ },
24
+ });
25
+
26
+ const options = selectOptions;
27
+
28
+ let value = $state<SelectOption>(options[0]);
29
+ </script>
30
+
31
+ <Story
32
+ name="SelectEvent"
33
+ args={{
34
+ options,
35
+ value,
36
+ onselect: (val: SelectOption) => {
37
+ console.log('Select Event', val);
38
+ },
39
+ }}
40
+ />
41
+
42
+ <Story
43
+ name="Clear"
44
+ args={{
45
+ options,
46
+ value,
47
+ onclear: () => {
48
+ console.log('Clear Event');
49
+ },
50
+ }}
51
+ />
52
+
53
+ <Story
54
+ name="Input"
55
+ args={{
56
+ options,
57
+ value,
58
+ searchable: true,
59
+ oninput: (e: Event) => {
60
+ const target = e.target as HTMLInputElement;
61
+
62
+ console.log('Input Event', target.value);
63
+ },
64
+ }}
65
+ />
66
+
67
+ <Story
68
+ name="Change"
69
+ args={{
70
+ options,
71
+ value,
72
+ searchable: true,
73
+ onchange: (e: Event) => {
74
+ const target = e.target as HTMLInputElement;
75
+
76
+ console.log('onChange Event', target.value);
77
+ },
78
+ }}
79
+ />
80
+
81
+ <Story
82
+ name="Focus"
83
+ args={{
84
+ options,
85
+ value,
86
+ onfocus: (e: DynamicInputFocusEvent) => {
87
+ const target = e.target as HTMLInputElement | HTMLButtonElement;
88
+
89
+ console.log('onfocus Event', target);
90
+ },
91
+ }}
92
+ />
93
+
94
+ <Story
95
+ name="Blur"
96
+ args={{
97
+ options,
98
+ value,
99
+ onblur: (e: DynamicInputFocusEvent) => {
100
+ const target = e.target as HTMLInputElement | HTMLButtonElement;
101
+
102
+ console.log('onblur Event', target);
103
+ },
104
+ }}
105
+ />
106
+
107
+ <Story
108
+ name="Copy"
109
+ args={{
110
+ options,
111
+ value,
112
+ searchable: true,
113
+ oncopy: (e: TextInputClipboardEvent) => {
114
+ const target = e.target as HTMLInputElement;
115
+
116
+ console.log('oncopy Event', target);
117
+ },
118
+ }}
119
+ />
120
+
121
+ <Story
122
+ name="Cut"
123
+ args={{
124
+ options,
125
+ value,
126
+ searchable: true,
127
+ oncut: (e: TextInputClipboardEvent) => {
128
+ const target = e.target as HTMLInputElement;
129
+
130
+ console.log('oncut Event', target);
131
+ },
132
+ }}
133
+ />
134
+
135
+ <Story
136
+ name="Paste"
137
+ args={{
138
+ options,
139
+ value,
140
+ searchable: true,
141
+ onpaste: (e: TextInputClipboardEvent) => {
142
+ const target = e.target as HTMLInputElement;
143
+
144
+ console.log('onpaste Event', target);
145
+ },
146
+ }}
147
+ />
148
+
149
+ <Story
150
+ name="KeyDown"
151
+ args={{
152
+ onkeydown: (e: DynamicInputKeyboardEvent) => {
153
+ console.log('onkeydown Event', e.key);
154
+ },
155
+ }}
156
+ />
157
+
158
+ <Story
159
+ name="KeyPress"
160
+ args={{
161
+ onkeypress: (e: DynamicInputKeyboardEvent) => {
162
+ console.log('onkeypress Event', e.key);
163
+ },
164
+ }}
165
+ />
166
+
167
+ <Story
168
+ name="KeyUp"
169
+ args={{
170
+ onkeyup: (e: DynamicInputKeyboardEvent) => {
171
+ console.log('onkeyup Event', e.key);
172
+ },
173
+ }}
174
+ />
@@ -0,0 +1,40 @@
1
+ import { Source } from '@storybook/addon-docs/blocks';
2
+
3
+ # Option Format
4
+
5
+ ## SelectOption
6
+
7
+ <Source
8
+ dark
9
+ language="ts"
10
+ code={`
11
+ type SelectOption = {
12
+ value: string | number | boolean | null | undefined;
13
+ label: string;
14
+ disabled?: boolean;
15
+ };
16
+ `}
17
+ />
18
+
19
+ ## Example values
20
+
21
+ <Source
22
+ dark
23
+ language="ts"
24
+ code={`
25
+ const options: SelectOption[] = [
26
+ {
27
+ value: 1,
28
+ label: 'One',
29
+ },
30
+ {
31
+ value: 2,
32
+ label: 'Two',
33
+ },
34
+ {
35
+ value: 3,
36
+ label: 'Three',
37
+ },
38
+ ];
39
+ `}
40
+ />
@@ -0,0 +1,58 @@
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import { selectOptions, storySelectArgTypes } from '../../Select.stories.svelte';
4
+ import Select, { type SelectOption } from '../../Select.svelte';
5
+
6
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
7
+ const { Story } = defineMeta({
8
+ component: Select,
9
+ tags: ['autodocs'],
10
+ argTypes: storySelectArgTypes,
11
+ parameters: {
12
+ docs: {
13
+ story: {
14
+ height: '200px',
15
+ inline: false,
16
+ },
17
+ },
18
+ },
19
+ });
20
+
21
+ const options = selectOptions;
22
+
23
+ let value = $state<SelectOption>(options[0]);
24
+ </script>
25
+
26
+ <!-- Positions will auto adjust depending on the space on top and bottom -->
27
+ <Story
28
+ name="PositionAutoAdjust"
29
+ args={{
30
+ options,
31
+ value,
32
+ onselect: (val: SelectOption) => (value = val),
33
+ }}
34
+ />
35
+
36
+ <!-- Positions will not auto adjust if you use `lockPoistions` -->
37
+ <Story
38
+ name="LockPoistions"
39
+ args={{
40
+ options,
41
+ value,
42
+ onselect: (val: SelectOption) => (value = val),
43
+ popupPositionY: 'top',
44
+ lockPoistions: true,
45
+ }}
46
+ />
47
+
48
+ <!-- you can also adjust `popperHeightForVerticalPosition` to achive the same -->
49
+ <Story
50
+ name="HeightForVerticalPosition"
51
+ args={{
52
+ options,
53
+ value,
54
+ onselect: (val: SelectOption) => (value = val),
55
+ popupPositionY: 'top',
56
+ popperHeightForVerticalPosition: 3,
57
+ }}
58
+ />