@flightlesslabs/dodo-ui 0.6.5 → 0.7.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 (241) hide show
  1. package/dist/index.d.ts +32 -9
  2. package/dist/index.js +12 -2
  3. package/dist/stories/Home.mdx +4 -6
  4. package/dist/stories/components/Form/Button/Button.stories.svelte +16 -37
  5. package/dist/stories/components/Form/Button/Button.svelte +45 -47
  6. package/dist/stories/components/Form/Button/Button.svelte.d.ts +16 -12
  7. package/dist/stories/components/Form/Button/Color/Color.stories.svelte +23 -48
  8. package/dist/stories/components/Form/Button/Events/Events.stories.svelte +1 -7
  9. package/dist/stories/components/Form/Button/IconButton/IconButton.stories.svelte +4 -12
  10. package/dist/stories/components/Form/Button/Roundness/Roundness.stories.svelte +5 -31
  11. package/dist/stories/components/Form/Button/Size/Size.stories.svelte +3 -9
  12. package/dist/stories/components/Form/Button/Variant/Variant.stories.svelte +5 -8
  13. package/dist/stories/components/Form/FormControl/FormControl.stories.svelte +11 -12
  14. package/dist/stories/components/Form/FormControl/FormControl.svelte +6 -8
  15. package/dist/stories/components/Form/FormControl/FormControl.svelte.d.ts +1 -1
  16. package/dist/stories/components/Form/Label/Label.stories.svelte +1 -11
  17. package/dist/stories/components/Form/Label/Label.svelte +6 -5
  18. package/dist/stories/components/Form/Label/Label.svelte.d.ts +1 -3
  19. package/dist/stories/components/Form/Message/Color/Color.stories.svelte +9 -9
  20. package/dist/stories/components/Form/Message/Message.stories.svelte +5 -13
  21. package/dist/stories/components/Form/Message/Message.svelte +5 -7
  22. package/dist/stories/components/Form/Message/Message.svelte.d.ts +4 -6
  23. package/dist/stories/components/Form/Message/Size/Size.stories.svelte +3 -5
  24. package/dist/stories/components/Form/PasswordInput/Events/Events.stories.svelte +8 -72
  25. package/dist/stories/components/Form/PasswordInput/PasswordInput.stories.svelte +5 -3
  26. package/dist/stories/components/Form/PasswordInput/PasswordInput.svelte +26 -33
  27. package/dist/stories/components/Form/PasswordInput/PasswordInput.svelte.d.ts +6 -5
  28. package/dist/stories/components/Form/PasswordInput/Roundness/Roundness.stories.svelte +4 -4
  29. package/dist/stories/components/Form/PasswordInput/WithIcon/WithIcon.stories.svelte +2 -2
  30. package/dist/stories/components/Form/Select/Customize/Customize.stories.svelte +120 -0
  31. package/dist/stories/components/Form/Select/Customize/Customize.stories.svelte.d.ts +18 -0
  32. package/dist/stories/components/Form/Select/Events/Events.stories.svelte +138 -0
  33. package/dist/stories/components/Form/Select/Options/OptionFormat.mdx +40 -0
  34. package/dist/stories/components/Form/Select/Roundness/Roundness.stories.svelte +28 -0
  35. package/dist/stories/components/Form/Select/Roundness/Roundness.stories.svelte.d.ts +18 -0
  36. package/dist/stories/components/Form/Select/Select.stories.svelte +114 -0
  37. package/dist/stories/components/Form/Select/Select.stories.svelte.d.ts +22 -0
  38. package/dist/stories/components/Form/Select/Select.svelte +285 -0
  39. package/dist/stories/components/Form/Select/Select.svelte.d.ts +87 -0
  40. package/dist/stories/components/Form/Select/Size/Size.stories.svelte +24 -0
  41. package/dist/stories/components/Form/Select/Size/Size.stories.svelte.d.ts +18 -0
  42. package/dist/stories/components/Form/Select/WithIcon/WithIcon.stories.svelte +39 -0
  43. package/dist/stories/components/Form/Select/WithIcon/WithIcon.stories.svelte.d.ts +18 -0
  44. package/dist/stories/components/Form/TextInput/Events/Events.stories.svelte +7 -63
  45. package/dist/stories/components/Form/TextInput/Roundness/Roundness.stories.svelte +4 -4
  46. package/dist/stories/components/Form/TextInput/TextInput.stories.svelte +6 -4
  47. package/dist/stories/components/Form/TextInput/TextInput.svelte +18 -30
  48. package/dist/stories/components/Form/TextInput/TextInput.svelte.d.ts +10 -5
  49. package/dist/stories/components/Form/TextInput/WithIcon/WithIcon.stories.svelte +4 -4
  50. package/dist/stories/components/Layout/Menu/Menu.stories.svelte +65 -0
  51. package/dist/stories/components/Layout/Menu/Menu.stories.svelte.d.ts +21 -0
  52. package/dist/stories/components/Layout/Menu/Menu.svelte +30 -0
  53. package/dist/stories/components/Layout/Menu/Menu.svelte.d.ts +23 -0
  54. package/dist/stories/components/Layout/Menu/MenuItem/MenuItem.stories.svelte +30 -0
  55. package/dist/stories/components/Layout/Menu/MenuItem/MenuItem.stories.svelte.d.ts +21 -0
  56. package/dist/stories/components/Layout/Menu/MenuItem/MenuItem.svelte +164 -0
  57. package/dist/stories/components/Layout/Menu/MenuItem/MenuItem.svelte.d.ts +49 -0
  58. package/dist/stories/components/Layout/Menu/MenuItem/Size/Size.stories.svelte +16 -0
  59. package/dist/stories/components/Layout/Menu/MenuItem/Type/Type.stories.svelte +21 -0
  60. package/dist/stories/components/{Form/SimpleSelect/WithIcon/WithIcon.stories.svelte.d.ts → Layout/Menu/MenuItem/Type/Type.stories.svelte.d.ts} +3 -3
  61. package/dist/stories/components/Layout/Menu/Size/Size.stories.svelte +37 -0
  62. package/dist/stories/components/{Form/SimpleSelect/Roundness/Roundness.stories.svelte.d.ts → Layout/Menu/Size/Size.stories.svelte.d.ts} +3 -3
  63. package/dist/stories/components/Layout/Paper/Color/Color.stories.svelte +63 -0
  64. package/dist/stories/components/Layout/Paper/Color/Color.stories.svelte.d.ts +26 -0
  65. package/dist/stories/components/Layout/Paper/Paper.stories.svelte +25 -16
  66. package/dist/stories/components/Layout/Paper/Paper.svelte +211 -14
  67. package/dist/stories/components/Layout/Paper/Paper.svelte.d.ts +20 -9
  68. package/dist/stories/components/Layout/Paper/Roundness/Roundness.stories.svelte +8 -13
  69. package/dist/stories/components/Layout/Paper/Shadow/Shadow.stories.svelte +6 -24
  70. package/dist/stories/components/Layout/Paper/utils/scss/mixins.scss +46 -0
  71. package/dist/stories/components/Layout/Separator/Color/Color.stories.svelte +19 -0
  72. package/dist/stories/components/Layout/Separator/Color/Color.stories.svelte.d.ts +26 -0
  73. package/dist/stories/components/Layout/Separator/Separator.stories.svelte +26 -0
  74. package/dist/stories/components/Layout/Separator/Separator.stories.svelte.d.ts +21 -0
  75. package/dist/stories/components/Layout/Separator/Separator.svelte +66 -0
  76. package/dist/stories/components/Layout/Separator/Separator.svelte.d.ts +22 -0
  77. package/dist/stories/components/Layout/Separator/utils/scss/mixins.scss +24 -0
  78. package/dist/stories/developer tools/Intro.mdx +2 -0
  79. package/dist/stories/developer tools/components/DynamicInput/DynamicInput.stories.svelte +49 -0
  80. package/dist/stories/{components/Form/SimpleSelect/SimpleSelect.stories.svelte.d.ts → developer tools/components/DynamicInput/DynamicInput.stories.svelte.d.ts } +5 -7
  81. package/dist/stories/developer tools/components/DynamicInput/DynamicInput.svelte +92 -0
  82. package/dist/stories/developer tools/components/DynamicInput/DynamicInput.svelte.d.ts +60 -0
  83. package/{src/lib/stories/components/Form/TextInput/Size/Size.stories.svelte → dist/stories/developer tools/components/DynamicInput/Size/Size.stories.svelte } +4 -4
  84. package/dist/stories/developer tools/components/DynamicInput/Size/Size.stories.svelte.d.ts +26 -0
  85. package/dist/stories/developer tools/components/InputEnclosure/InputEnclosure.stories.svelte +5 -5
  86. package/dist/stories/developer tools/components/InputEnclosure/InputEnclosure.svelte +19 -15
  87. package/dist/stories/developer tools/components/InputEnclosure/InputEnclosure.svelte.d.ts +4 -3
  88. package/dist/stories/developer tools/components/InputEnclosure/Roundness/Roundness.stories.svelte +4 -4
  89. package/dist/stories/developer tools/components/InputEnclosure/WithIcon/WithIcon.stories.svelte +4 -4
  90. package/dist/stories/developer tools/components/Popper/Popper.stories.svelte +119 -0
  91. package/dist/stories/developer tools/components/Popper/Popper.stories.svelte.d.ts +21 -0
  92. package/dist/stories/developer tools/components/Popper/Popper.svelte +77 -0
  93. package/dist/stories/developer tools/components/Popper/Popper.svelte.d.ts +50 -0
  94. package/dist/stories/developer tools/components/Popper/PopperPopup/PopperPopup.stories.svelte +60 -0
  95. package/dist/stories/developer tools/components/Popper/PopperPopup/PopperPopup.stories.svelte.d.ts +21 -0
  96. package/dist/stories/developer tools/components/Popper/PopperPopup/PopperPopup.svelte +66 -0
  97. package/dist/stories/developer tools/components/Popper/PopperPopup/PopperPopup.svelte.d.ts +34 -0
  98. package/dist/stories/developer tools/components/Popper/PopperPopup/utils/getPopupPosition.d.ts +21 -0
  99. package/dist/stories/developer tools/components/Popper/PopperPopup/utils/getPopupPosition.js +62 -0
  100. package/dist/stories/developer tools/components/Popper/Positions/AutoPosition/AutoPosition.stories.svelte +89 -0
  101. package/dist/stories/developer tools/components/Popper/Positions/AutoPosition/AutoPosition.stories.svelte.d.ts +18 -0
  102. package/dist/stories/developer tools/components/Popper/Positions/Positions.stories.svelte +111 -0
  103. package/dist/stories/developer tools/components/Popper/Positions/Positions.stories.svelte.d.ts +18 -0
  104. package/dist/stories/developer tools/components/UtilityButton/Size/Size.stories.svelte +6 -8
  105. package/dist/stories/developer tools/components/UtilityButton/UtilityButton.stories.svelte +4 -7
  106. package/dist/stories/developer tools/components/UtilityButton/UtilityButton.svelte +8 -5
  107. package/dist/stories/developer tools/components/UtilityButton/UtilityButton.svelte.d.ts +2 -2
  108. package/dist/stories/developer tools/directives/clickOutside/clickOutside.d.ts +3 -0
  109. package/dist/stories/developer tools/directives/clickOutside/clickOutside.js +14 -0
  110. package/dist/stories/developer tools/directives/clickOutside/index.mdx +25 -0
  111. package/dist/stories/{philosophy/Colors/Colors.mdx → developer tools/philosophy/Colors/Colors.mdx } +2 -2
  112. package/dist/stories/{philosophy/Colors/Swatches/Palette.svelte → developer tools/philosophy/Colors/Swatches/Palette.svelte } +1 -1
  113. package/dist/stories/{philosophy/Colors/Swatches/Swatch.svelte → developer tools/philosophy/Colors/Swatches/Swatch.svelte } +1 -1
  114. package/dist/stories/{philosophy/Colors/Swatches/Swatches.svelte → developer tools/philosophy/Colors/Swatches/Swatches.svelte } +1 -1
  115. package/dist/stories/{philosophy/Colors/utils/color.js → developer tools/philosophy/Colors/utils/color.js } +1 -1
  116. package/dist/stories/{philosophy/Themes.mdx → developer tools/philosophy/Themes.mdx } +1 -1
  117. package/dist/styles/_colors.css +44 -44
  118. package/dist/styles/_components.css +6 -3
  119. package/dist/styles/_shadow.css +13 -20
  120. package/dist/styles/_space.css +7 -0
  121. package/dist/styles/_z-index.css +9 -0
  122. package/dist/styles/global.css +2 -0
  123. package/dist/types/colors.d.ts +7 -0
  124. package/dist/types/colors.js +10 -0
  125. package/dist/types/position.d.ts +4 -0
  126. package/dist/types/position.js +2 -0
  127. package/dist/types/roundness.d.ts +3 -0
  128. package/dist/types/roundness.js +1 -0
  129. package/dist/types/shadow.d.ts +3 -0
  130. package/dist/types/shadow.js +1 -0
  131. package/dist/types/size.d.ts +3 -0
  132. package/dist/types/size.js +1 -0
  133. package/dist/types/weight.d.ts +3 -0
  134. package/dist/types/weight.js +1 -0
  135. package/package.json +26 -24
  136. package/src/lib/index.ts +61 -15
  137. package/src/lib/stories/components/Form/Button/Button.svelte +39 -36
  138. package/src/lib/stories/components/Form/FormControl/FormControl.svelte +9 -11
  139. package/src/lib/stories/components/Form/Label/Label.svelte +5 -8
  140. package/src/lib/stories/components/Form/Message/Message.svelte +11 -16
  141. package/src/lib/stories/components/Form/PasswordInput/PasswordInput.svelte +50 -50
  142. package/src/lib/stories/components/Form/Select/Select.svelte +501 -0
  143. package/src/lib/stories/components/Form/TextInput/TextInput.svelte +43 -60
  144. package/src/lib/stories/components/Layout/Menu/Menu.svelte +65 -0
  145. package/src/lib/stories/components/Layout/Menu/MenuItem/MenuItem.svelte +268 -0
  146. package/src/lib/stories/components/Layout/Paper/Paper.svelte +154 -27
  147. package/src/lib/stories/components/Layout/Paper/utils/scss/mixins.scss +46 -0
  148. package/src/lib/stories/components/Layout/Separator/Separator.svelte +96 -0
  149. package/src/lib/stories/components/Layout/Separator/utils/scss/mixins.scss +24 -0
  150. package/src/lib/stories/developer tools/components/DynamicInput/DynamicInput.svelte +195 -0
  151. package/src/lib/stories/developer tools/components/InputEnclosure/InputEnclosure.svelte +22 -18
  152. package/src/lib/stories/developer tools/components/Popper/Popper.svelte +159 -0
  153. package/src/lib/stories/developer tools/components/Popper/PopperPopup/PopperPopup.svelte +120 -0
  154. package/src/lib/stories/developer tools/components/Popper/PopperPopup/utils/getPopupPosition.ts +87 -0
  155. package/src/lib/stories/developer tools/components/UtilityButton/UtilityButton.svelte +8 -6
  156. package/src/lib/stories/developer tools/directives/clickOutside/clickOutside.ts +17 -0
  157. package/src/lib/stories/{philosophy/Colors/Swatches/Palette.svelte → developer tools/philosophy/Colors/Swatches/Palette.svelte } +1 -1
  158. package/src/lib/stories/{philosophy/Colors/Swatches/Swatch.svelte → developer tools/philosophy/Colors/Swatches/Swatch.svelte } +1 -1
  159. package/src/lib/stories/{philosophy/Colors/Swatches/Swatches.svelte → developer tools/philosophy/Colors/Swatches/Swatches.svelte } +1 -1
  160. package/src/lib/stories/{philosophy/Colors/utils/color.ts → developer tools/philosophy/Colors/utils/color.ts } +1 -1
  161. package/src/lib/styles/_colors.css +44 -44
  162. package/src/lib/styles/_components.css +6 -3
  163. package/src/lib/styles/_shadow.css +13 -20
  164. package/src/lib/styles/_space.css +7 -0
  165. package/src/lib/styles/_z-index.css +9 -0
  166. package/src/lib/styles/global.css +2 -0
  167. package/src/lib/types/colors.ts +16 -0
  168. package/src/lib/types/position.ts +5 -0
  169. package/src/lib/types/roundness.ts +3 -0
  170. package/src/lib/types/shadow.ts +3 -0
  171. package/src/lib/types/size.ts +3 -0
  172. package/src/lib/types/weight.ts +3 -0
  173. package/dist/stories/components/Form/SimpleSelect/Events/Events.stories.svelte +0 -74
  174. package/dist/stories/components/Form/SimpleSelect/Roundness/Roundness.stories.svelte +0 -24
  175. package/dist/stories/components/Form/SimpleSelect/SimpleSelect.stories.svelte +0 -59
  176. package/dist/stories/components/Form/SimpleSelect/SimpleSelect.svelte +0 -69
  177. package/dist/stories/components/Form/SimpleSelect/SimpleSelect.svelte.d.ts +0 -50
  178. package/dist/stories/components/Form/SimpleSelect/Size/Size.stories.svelte +0 -20
  179. package/dist/stories/components/Form/SimpleSelect/WithIcon/WithIcon.stories.svelte +0 -36
  180. package/dist/types.d.ts +0 -5
  181. package/dist/types.js +0 -1
  182. package/src/lib/stories/Home.mdx +0 -61
  183. package/src/lib/stories/assets/dark-theme-toggle.png +0 -0
  184. package/src/lib/stories/components/Form/Button/Button.stories.svelte +0 -82
  185. package/src/lib/stories/components/Form/Button/Color/Color.stories.svelte +0 -68
  186. package/src/lib/stories/components/Form/Button/Events/Events.stories.svelte +0 -42
  187. package/src/lib/stories/components/Form/Button/IconButton/IconButton.stories.svelte +0 -51
  188. package/src/lib/stories/components/Form/Button/Roundness/Roundness.stories.svelte +0 -49
  189. package/src/lib/stories/components/Form/Button/Size/Size.stories.svelte +0 -22
  190. package/src/lib/stories/components/Form/Button/Variant/Variant.stories.svelte +0 -21
  191. package/src/lib/stories/components/Form/FormControl/FormControl.stories.svelte +0 -29
  192. package/src/lib/stories/components/Form/Label/Label.stories.svelte +0 -23
  193. package/src/lib/stories/components/Form/Message/Color/Color.stories.svelte +0 -36
  194. package/src/lib/stories/components/Form/Message/Message.stories.svelte +0 -35
  195. package/src/lib/stories/components/Form/Message/Size/Size.stories.svelte +0 -24
  196. package/src/lib/stories/components/Form/PasswordInput/Events/Events.stories.svelte +0 -174
  197. package/src/lib/stories/components/Form/PasswordInput/PasswordInput.stories.svelte +0 -57
  198. package/src/lib/stories/components/Form/PasswordInput/Roundness/Roundness.stories.svelte +0 -20
  199. package/src/lib/stories/components/Form/PasswordInput/Size/Size.stories.svelte +0 -16
  200. package/src/lib/stories/components/Form/PasswordInput/WithIcon/WithIcon.stories.svelte +0 -31
  201. package/src/lib/stories/components/Form/SimpleSelect/Events/Events.stories.svelte +0 -79
  202. package/src/lib/stories/components/Form/SimpleSelect/Roundness/Roundness.stories.svelte +0 -24
  203. package/src/lib/stories/components/Form/SimpleSelect/SimpleSelect.stories.svelte +0 -64
  204. package/src/lib/stories/components/Form/SimpleSelect/SimpleSelect.svelte +0 -159
  205. package/src/lib/stories/components/Form/SimpleSelect/Size/Size.stories.svelte +0 -20
  206. package/src/lib/stories/components/Form/SimpleSelect/WithIcon/WithIcon.stories.svelte +0 -36
  207. package/src/lib/stories/components/Form/TextInput/Events/Events.stories.svelte +0 -153
  208. package/src/lib/stories/components/Form/TextInput/Roundness/Roundness.stories.svelte +0 -21
  209. package/src/lib/stories/components/Form/TextInput/TextInput.stories.svelte +0 -41
  210. package/src/lib/stories/components/Form/TextInput/WithIcon/WithIcon.stories.svelte +0 -47
  211. package/src/lib/stories/components/Layout/Paper/Paper.stories.svelte +0 -41
  212. package/src/lib/stories/components/Layout/Paper/Roundness/Roundness.stories.svelte +0 -30
  213. package/src/lib/stories/components/Layout/Paper/Shadow/Shadow.stories.svelte +0 -42
  214. package/src/lib/stories/developer tools/Intro.mdx +0 -7
  215. package/src/lib/stories/developer tools/components/InputEnclosure/InputEnclosure.stories.svelte +0 -38
  216. package/src/lib/stories/developer tools/components/InputEnclosure/Roundness/Roundness.stories.svelte +0 -20
  217. package/src/lib/stories/developer tools/components/InputEnclosure/Size/Size.stories.svelte +0 -16
  218. package/src/lib/stories/developer tools/components/InputEnclosure/WithIcon/WithIcon.stories.svelte +0 -47
  219. package/src/lib/stories/developer tools/components/UtilityButton/Size/Size.stories.svelte +0 -27
  220. package/src/lib/stories/developer tools/components/UtilityButton/UtilityButton.stories.svelte +0 -33
  221. package/src/lib/stories/philosophy/Colors/Colors.mdx +0 -43
  222. package/src/lib/stories/philosophy/Colors/Colors.stories.svelte +0 -22
  223. package/src/lib/stories/philosophy/Colors/Opacity.stories.svelte +0 -11
  224. package/src/lib/stories/philosophy/Themes.mdx +0 -23
  225. package/src/lib/types.ts +0 -6
  226. /package/dist/stories/components/Form/{SimpleSelect → Select}/Events/Events.stories.svelte.d.ts +0 -0
  227. /package/dist/stories/components/{Form/SimpleSelect → Layout/Menu/MenuItem}/Size/Size.stories.svelte.d.ts +0 -0
  228. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/Colors.stories.svelte +0 -0
  229. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/Colors.stories.svelte.d.ts +0 -0
  230. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/Colors.svelte +0 -0
  231. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/Colors.svelte.d.ts +0 -0
  232. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/Opacity.stories.svelte +0 -0
  233. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/Opacity.stories.svelte.d.ts +0 -0
  234. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/Opacity.svelte +0 -0
  235. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/Opacity.svelte.d.ts +0 -0
  236. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/Swatches/Palette.svelte.d.ts +0 -0
  237. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/Swatches/Swatch.svelte.d.ts +0 -0
  238. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/Swatches/Swatches.svelte.d.ts +0 -0
  239. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/utils/color.d.ts +0 -0
  240. /package/src/lib/stories/{philosophy → developer tools/philosophy}/Colors/Colors.svelte +0 -0
  241. /package/src/lib/stories/{philosophy → developer tools/philosophy}/Colors/Opacity.svelte +0 -0
@@ -0,0 +1,120 @@
1
+ <script module lang="ts">import { defineMeta } from '@storybook/addon-svelte-csf';
2
+ import Select, {} from '../Select.svelte';
3
+ import { selectOptions, storySelectArgTypes } from '../Select.stories.svelte';
4
+ import { Menu } from '../../../../../index.js';
5
+ import MenuItem from '../../../Layout/Menu/MenuItem/MenuItem.svelte';
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: '400px',
15
+ inline: false,
16
+ },
17
+ },
18
+ },
19
+ });
20
+ const options = selectOptions;
21
+ let value = $state(options[0]);
22
+ </script>
23
+
24
+ <!-- Format look and feel of input content. -->
25
+ <Story name="CustomInput" asChild>
26
+ <Select {options} {value} onselect={(val: SelectOption) => (value = val)}>
27
+ {#snippet customInputContent(selectedOption)}
28
+ {selectedOption.label} 💯💯💯
29
+ {/snippet}
30
+ </Select>
31
+ </Story>
32
+
33
+ <!-- Format look and feel of Popper menu item. -->
34
+ <Story name="CustomMenuItem" asChild>
35
+ <Select {options} {value} onselect={(val: SelectOption) => (value = val)}>
36
+ {#snippet customMenuItemContent(selectedOption, selected)}
37
+ {selected ? '✅' : ''} {selectedOption.label} 💯
38
+ {/snippet}
39
+ </Select>
40
+ </Story>
41
+
42
+ <!-- Format look and feel of Popper menu item Placeholder. -->
43
+ <Story name="CustomMenuItemPlaceholder" asChild>
44
+ <Select {options} {value} searchable onselect={(val: SelectOption) => (value = val)}>
45
+ {#snippet customPlaceholderMenuItemContent()}
46
+ 🤚🤚🤚🤚 Nothing found....
47
+ {/snippet}
48
+ </Select>
49
+ </Story>
50
+
51
+ <!-- Format look and feel of Popup. -->
52
+ <Story name="CustomPopup" asChild>
53
+ <Select {options} {value}>
54
+ {#snippet customPopupContent(options, selectedOption)}
55
+ <Menu size="small" separator>
56
+ {#each options as option (option.value)}
57
+ <MenuItem
58
+ type="button"
59
+ disabled={option.disabled}
60
+ selected={selectedOption.value === option.value}
61
+ >
62
+ <b>{option.label}</b>
63
+ </MenuItem>
64
+ {/each}
65
+ </Menu>
66
+ {/snippet}
67
+ </Select>
68
+ </Story>
69
+
70
+ <!-- Format look and feel of Popup [Paper](?path=/docs/components-layout-paper--docs) -->
71
+ <Story
72
+ name="PaperProps"
73
+ args={{
74
+ options,
75
+ value,
76
+ paperProps: {
77
+ color: 'danger',
78
+ },
79
+ }}
80
+ />
81
+
82
+ <!-- Format look and feel of [Popper](?path=/docs/developer-tools-components-popper--docs). We have incrased popupOffsetY in this example. -->
83
+ <Story
84
+ name="PopperProps"
85
+ args={{
86
+ options,
87
+ value,
88
+ popperProps: {
89
+ popupOffsetY: 40,
90
+ },
91
+ }}
92
+ />
93
+
94
+ <!-- Format look and feel of Popup [Menu](?path=/docs/components-layout-menu--docs) -->
95
+ <Story
96
+ name="MenuProps"
97
+ args={{
98
+ options,
99
+ value,
100
+ menuProps: {
101
+ separator: true,
102
+ size: 'large',
103
+ },
104
+ }}
105
+ />
106
+
107
+ <!-- Format look and feel of Popup [MenuItem](?path=/docs/components-layout-menu-menuitem--docs) -->
108
+ <Story
109
+ name="MenuItemProps"
110
+ args={{
111
+ options,
112
+ value,
113
+ menuItemProps: {
114
+ size: 'small',
115
+ type: 'link',
116
+ href: 'https://developer.mozilla.org/en-US/',
117
+ target: '_blank',
118
+ },
119
+ }}
120
+ />
@@ -0,0 +1,18 @@
1
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
+ $$bindings?: Bindings;
4
+ } & Exports;
5
+ (internal: unknown, props: {
6
+ $$events?: Events;
7
+ $$slots?: Slots;
8
+ }): Exports & {
9
+ $set?: any;
10
+ $on?: any;
11
+ };
12
+ z_$$bindings?: Bindings;
13
+ }
14
+ declare const Customize: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
15
+ [evt: string]: CustomEvent<any>;
16
+ }, {}, {}, string>;
17
+ type Customize = InstanceType<typeof Customize>;
18
+ export default Customize;
@@ -0,0 +1,138 @@
1
+ <script module lang="ts">import { defineMeta } from '@storybook/addon-svelte-csf';
2
+ import { selectOptions, storySelectArgTypes } from '../Select.stories.svelte';
3
+ import Select, {} from '../Select.svelte';
4
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
5
+ const { Story } = defineMeta({
6
+ component: Select,
7
+ tags: ['autodocs'],
8
+ argTypes: storySelectArgTypes,
9
+ parameters: {
10
+ docs: {
11
+ story: {
12
+ height: '400px',
13
+ inline: false,
14
+ },
15
+ },
16
+ },
17
+ });
18
+ const options = selectOptions;
19
+ let value = $state(options[0]);
20
+ </script>
21
+
22
+ <Story
23
+ name="SelectEvent"
24
+ args={{
25
+ options,
26
+ value,
27
+ onselect: (val: SelectOption) => {
28
+ console.log('Select Event', val);
29
+ },
30
+ }}
31
+ />
32
+
33
+ <Story
34
+ name="Clear"
35
+ args={{
36
+ options,
37
+ value,
38
+ onclear: () => {
39
+ console.log('Clear Event');
40
+ },
41
+ }}
42
+ />
43
+
44
+ <Story
45
+ name="Input"
46
+ args={{
47
+ options,
48
+ value,
49
+ searchable: true,
50
+ oninput: (e: Event) => {
51
+ const target = e.target as HTMLInputElement;
52
+
53
+ console.log('Input Event', target.value);
54
+ },
55
+ }}
56
+ />
57
+
58
+ <Story
59
+ name="Change"
60
+ args={{
61
+ options,
62
+ value,
63
+ searchable: true,
64
+ onchange: (e: Event) => {
65
+ const target = e.target as HTMLInputElement;
66
+
67
+ console.log('onChange Event', target.value);
68
+ },
69
+ }}
70
+ />
71
+
72
+ <Story
73
+ name="Focus"
74
+ args={{
75
+ options,
76
+ value,
77
+ onfocus: (e: DynamicInputFocusEvent) => {
78
+ const target = e.target as HTMLInputElement | HTMLButtonElement;
79
+
80
+ console.log('onfocus Event', target);
81
+ },
82
+ }}
83
+ />
84
+
85
+ <Story
86
+ name="Blur"
87
+ args={{
88
+ options,
89
+ value,
90
+ onblur: (e: DynamicInputFocusEvent) => {
91
+ const target = e.target as HTMLInputElement | HTMLButtonElement;
92
+
93
+ console.log('onblur Event', target);
94
+ },
95
+ }}
96
+ />
97
+
98
+ <Story
99
+ name="Copy"
100
+ args={{
101
+ options,
102
+ value,
103
+ searchable: true,
104
+ oncopy: (e: TextInputClipboardEvent) => {
105
+ const target = e.target as HTMLInputElement;
106
+
107
+ console.log('oncopy Event', target);
108
+ },
109
+ }}
110
+ />
111
+
112
+ <Story
113
+ name="Cut"
114
+ args={{
115
+ options,
116
+ value,
117
+ searchable: true,
118
+ oncut: (e: TextInputClipboardEvent) => {
119
+ const target = e.target as HTMLInputElement;
120
+
121
+ console.log('oncut Event', target);
122
+ },
123
+ }}
124
+ />
125
+
126
+ <Story
127
+ name="Paste"
128
+ args={{
129
+ options,
130
+ value,
131
+ searchable: true,
132
+ onpaste: (e: TextInputClipboardEvent) => {
133
+ const target = e.target as HTMLInputElement;
134
+
135
+ console.log('onpaste Event', target);
136
+ },
137
+ }}
138
+ />
@@ -0,0 +1,40 @@
1
+ import { Source } from '@storybook/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,28 @@
1
+ <script module lang="ts">import { defineMeta } from '@storybook/addon-svelte-csf';
2
+ import Select, {} from '../Select.svelte';
3
+ import { selectOptions, storySelectArgTypes } from '../Select.stories.svelte';
4
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
5
+ const { Story } = defineMeta({
6
+ component: Select,
7
+ tags: ['autodocs'],
8
+ argTypes: storySelectArgTypes,
9
+ parameters: {
10
+ docs: {
11
+ story: {
12
+ height: '400px',
13
+ inline: false,
14
+ },
15
+ },
16
+ },
17
+ });
18
+ const options = selectOptions;
19
+ let value = $state(options[0]);
20
+ </script>
21
+
22
+ <Story name="Roundness 1" args={{ options, value }} />
23
+
24
+ <Story name="Roundness 2" args={{ options, value, roundness: 2 }} />
25
+
26
+ <Story name="Roundness 3" args={{ options, value, roundness: 3 }} />
27
+
28
+ <Story name="Roundness 0" args={{ options, value, roundness: 0 }} />
@@ -0,0 +1,18 @@
1
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
2
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
3
+ $$bindings?: Bindings;
4
+ } & Exports;
5
+ (internal: unknown, props: {
6
+ $$events?: Events;
7
+ $$slots?: Slots;
8
+ }): Exports & {
9
+ $set?: any;
10
+ $on?: any;
11
+ };
12
+ z_$$bindings?: Bindings;
13
+ }
14
+ declare const Roundness: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
15
+ [evt: string]: CustomEvent<any>;
16
+ }, {}, {}, string>;
17
+ type Roundness = InstanceType<typeof Roundness>;
18
+ export default Roundness;
@@ -0,0 +1,114 @@
1
+ <script module lang="ts">import { defineMeta } from '@storybook/addon-svelte-csf';
2
+ import Select, {} from './Select.svelte';
3
+ import { componentRoundnessArray } from '../../../../types/roundness.js';
4
+ import { componentSizeArray } from '../../../../types/size.js';
5
+ export const storySelectArgTypes = {
6
+ roundness: {
7
+ control: { type: 'select' },
8
+ options: componentRoundnessArray,
9
+ },
10
+ size: {
11
+ control: { type: 'select' },
12
+ options: componentSizeArray,
13
+ },
14
+ };
15
+ // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
16
+ const { Story } = defineMeta({
17
+ component: Select,
18
+ tags: ['autodocs'],
19
+ argTypes: storySelectArgTypes,
20
+ parameters: {
21
+ docs: {
22
+ story: {
23
+ height: '400px',
24
+ inline: false,
25
+ },
26
+ },
27
+ },
28
+ });
29
+ export const selectOptions = [
30
+ {
31
+ value: 1,
32
+ label: 'One',
33
+ },
34
+ {
35
+ value: 2,
36
+ label: 'Two',
37
+ },
38
+ {
39
+ value: 3,
40
+ label: 'Three',
41
+ },
42
+ {
43
+ value: 4,
44
+ label: 'Four',
45
+ },
46
+ {
47
+ value: 5,
48
+ label: 'Five',
49
+ },
50
+ {
51
+ value: 6,
52
+ label: 'Six',
53
+ disabled: true,
54
+ },
55
+ {
56
+ value: 7,
57
+ label: 'Seven',
58
+ },
59
+ {
60
+ value: 8,
61
+ label: 'Eight',
62
+ },
63
+ {
64
+ value: 9,
65
+ label: 'Nine',
66
+ },
67
+ ];
68
+ const options = selectOptions;
69
+ let value = $state(options[0]);
70
+ </script>
71
+
72
+ <!-- Select with default style -->
73
+ <Story name="Default" asChild>
74
+ <Select {options} {value} onselect={(val: SelectOption) => (value = val)} />
75
+ </Story>
76
+
77
+ <Story name="Searchable" asChild>
78
+ <Select
79
+ {options}
80
+ {value}
81
+ searchable
82
+ optionsPlaceholder="No results"
83
+ onselect={(val: SelectOption) => (value = val)}
84
+ />
85
+ </Story>
86
+
87
+ <Story name="Clearable" asChild>
88
+ <Select
89
+ {options}
90
+ {value}
91
+ clearable
92
+ onselect={(val: SelectOption) => (value = val)}
93
+ onclear={() => (value = undefined)}
94
+ placeholder="Select option"
95
+ />
96
+ </Story>
97
+
98
+ <Story name="PopupMaxHeight" asChild>
99
+ <Select
100
+ {options}
101
+ {value}
102
+ onselect={(val: SelectOption) => (value = val)}
103
+ popupMaxHeight="200px"
104
+ />
105
+ </Story>
106
+
107
+ <!-- Format look and feel of input content. [More Customizations](?path=/docs/components-form-select-customize--docs) -->
108
+ <Story name="CustomInputContent" asChild>
109
+ <Select {options} {value} onselect={(val: SelectOption) => (value = val)}>
110
+ {#snippet customInputContent(selectedOption)}
111
+ {selectedOption.label} 💯💯💯
112
+ {/snippet}
113
+ </Select>
114
+ </Story>
@@ -0,0 +1,22 @@
1
+ import Select, { type SelectOption } from './Select.svelte';
2
+ import type { StoryBookArgTypes } from '../../../../storybook-types.js';
3
+ export declare const storySelectArgTypes: StoryBookArgTypes;
4
+ export declare const selectOptions: SelectOption[];
5
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
6
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
7
+ $$bindings?: Bindings;
8
+ } & Exports;
9
+ (internal: unknown, props: {
10
+ $$events?: Events;
11
+ $$slots?: Slots;
12
+ }): Exports & {
13
+ $set?: any;
14
+ $on?: any;
15
+ };
16
+ z_$$bindings?: Bindings;
17
+ }
18
+ declare const Select: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
19
+ [evt: string]: CustomEvent<any>;
20
+ }, {}, {}, string>;
21
+ type Select = InstanceType<typeof Select>;
22
+ export default Select;