@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
@@ -1,174 +0,0 @@
1
- <script module lang="ts">
2
- import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import { storyPasswordInputArgTypes } from '../PasswordInput.stories.svelte';
4
- import PasswordInput, { type PasswordInputToggleEvent } from '../PasswordInput.svelte';
5
- import type {
6
- TextInputFocusEvent,
7
- TextInputClipboardEvent,
8
- } from '../../TextInput/TextInput.svelte';
9
-
10
- // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
11
- const { Story } = defineMeta({
12
- component: PasswordInput,
13
- tags: ['autodocs'],
14
- argTypes: storyPasswordInputArgTypes,
15
- });
16
- </script>
17
-
18
- <Story
19
- name="Input"
20
- args={{
21
- oninput: (e: Event) => {
22
- const target = e.target as HTMLInputElement;
23
-
24
- console.log('Input Event', target.value);
25
- },
26
- }}
27
- >
28
- <PasswordInput
29
- oninput={(e: Event) => {
30
- const target = e.target as HTMLInputElement;
31
-
32
- console.log('Input Event', target.value);
33
- }}
34
- />
35
- </Story>
36
-
37
- <Story
38
- name="Change"
39
- args={{
40
- onchange: (e: Event) => {
41
- const target = e.target as HTMLInputElement;
42
-
43
- console.log('onChange Event', target.value);
44
- },
45
- }}
46
- >
47
- <PasswordInput
48
- onchange={(e: Event) => {
49
- const target = e.target as HTMLInputElement;
50
-
51
- console.log('onchange Event', target.value);
52
- }}
53
- />
54
- </Story>
55
-
56
- <!-- `e: PasswordInputToggleEvent` -->
57
- <Story
58
- name="Toggle"
59
- args={{
60
- ontoggle: (e: PasswordInputToggleEvent) => {
61
- const target = e.event.target as HTMLButtonElement;
62
-
63
- console.log('ontoggle Event', e, target);
64
- },
65
- }}
66
- >
67
- <PasswordInput
68
- ontoggle={(e: PasswordInputToggleEvent) => {
69
- const target = e.event.target as HTMLButtonElement;
70
-
71
- console.log('ontoggle Event', e, target);
72
- }}
73
- />
74
- </Story>
75
-
76
- <!-- `e: TextInputFocusEvent` -->
77
- <Story
78
- name="Focus"
79
- args={{
80
- onfocus: (e: TextInputFocusEvent) => {
81
- const target = e.target as HTMLInputElement;
82
-
83
- console.log('onfocus Event', target);
84
- },
85
- }}
86
- >
87
- <PasswordInput
88
- onfocus={(e: TextInputFocusEvent) => {
89
- const target = e.target as HTMLInputElement;
90
-
91
- console.log('onfocus Event', target);
92
- }}
93
- />
94
- </Story>
95
-
96
- <!-- `e: TextInputFocusEvent` -->
97
- <Story
98
- name="Blur"
99
- args={{
100
- onblur: (e: TextInputFocusEvent) => {
101
- const target = e.target as HTMLInputElement;
102
-
103
- console.log('onblur Event', target);
104
- },
105
- }}
106
- >
107
- <PasswordInput
108
- onblur={(e: TextInputFocusEvent) => {
109
- const target = e.target as HTMLInputElement;
110
-
111
- console.log('onblur Event', target);
112
- }}
113
- />
114
- </Story>
115
-
116
- <!-- `e: TextInputClipboardEvent` -->
117
- <Story
118
- name="Copy"
119
- args={{
120
- oncopy: (e: TextInputClipboardEvent) => {
121
- const target = e.target as HTMLInputElement;
122
-
123
- console.log('oncopy Event', target);
124
- },
125
- }}
126
- >
127
- <PasswordInput
128
- oncopy={(e: TextInputClipboardEvent) => {
129
- const target = e.target as HTMLInputElement;
130
-
131
- console.log('oncopy Event', target);
132
- }}
133
- />
134
- </Story>
135
-
136
- <!-- `e: TextInputClipboardEvent` -->
137
- <Story
138
- name="Cut"
139
- args={{
140
- oncut: (e: TextInputClipboardEvent) => {
141
- const target = e.target as HTMLInputElement;
142
-
143
- console.log('oncut Event', target);
144
- },
145
- }}
146
- >
147
- <PasswordInput
148
- oncut={(e: TextInputClipboardEvent) => {
149
- const target = e.target as HTMLInputElement;
150
-
151
- console.log('oncut Event', target);
152
- }}
153
- />
154
- </Story>
155
-
156
- <!-- `e: TextInputClipboardEvent` -->
157
- <Story
158
- name="Paste"
159
- args={{
160
- onpaste: (e: TextInputClipboardEvent) => {
161
- const target = e.target as HTMLInputElement;
162
-
163
- console.log('onpaste Event', target);
164
- },
165
- }}
166
- >
167
- <PasswordInput
168
- onpaste={(e: TextInputClipboardEvent) => {
169
- const target = e.target as HTMLInputElement;
170
-
171
- console.log('onpaste Event', target);
172
- }}
173
- />
174
- </Story>
@@ -1,57 +0,0 @@
1
- <script module lang="ts">
2
- import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import PasswordInput from './PasswordInput.svelte';
4
- import type { StoryBookArgTypes } from '$lib/storybook-types.js';
5
- import Icon from '@iconify/svelte';
6
-
7
- export const storyPasswordInputArgTypes: StoryBookArgTypes = {
8
- roundness: {
9
- control: { type: 'select' },
10
- options: [false, '1x', '2x', '3x'],
11
- },
12
- size: {
13
- control: { type: 'select' },
14
- options: ['normal', 'small', 'large'],
15
- },
16
- };
17
-
18
- // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
19
- const { Story } = defineMeta({
20
- component: PasswordInput,
21
- tags: ['autodocs'],
22
- argTypes: storyPasswordInputArgTypes,
23
- args: { value: 'Hello world!' },
24
- });
25
- </script>
26
-
27
- <!-- PasswordInput with default style -->
28
- <Story name="Default" />
29
-
30
- <Story name="Placeholder" args={{ value: '', placeholder: 'Type something...' }} />
31
-
32
- <Story name="No Outline" args={{ outline: false }} />
33
-
34
- <Story name="Error" args={{ error: true }} />
35
-
36
- <Story name="Disabled" args={{ disabled: true }} />
37
-
38
- <!-- Disable password toggle -->
39
- <Story name="No toggle" args={{ passwordToggle: false }} />
40
-
41
- <!-- Show Password by default -->
42
- <Story name="Show Password" args={{ passwordToggleState: true }} />
43
-
44
- <Story name="Read only" args={{ readonly: true }} />
45
-
46
- <!-- Show Password by default -->
47
- <Story name="Custom toggle icon">
48
- <PasswordInput value="Hello world!">
49
- {#snippet customPasswordToggleIcon(toggle)}
50
- {#if toggle}
51
- <Icon icon="mingcute:eye-close-line" width="24" height="24" />
52
- {:else}
53
- <Icon icon="mingcute:eye-2-line" width="24" height="24" />
54
- {/if}
55
- {/snippet}
56
- </PasswordInput>
57
- </Story>
@@ -1,20 +0,0 @@
1
- <script module>
2
- import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import PasswordInput from '../PasswordInput.svelte';
4
- import { storyPasswordInputArgTypes } from '../PasswordInput.stories.svelte';
5
-
6
- // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
7
- const { Story } = defineMeta({
8
- component: PasswordInput,
9
- tags: ['autodocs'],
10
- argTypes: storyPasswordInputArgTypes,
11
- });
12
- </script>
13
-
14
- <Story name="Roundness 1x" />
15
-
16
- <Story name="Roundness 2x" args={{ roundness: '2x' }} />
17
-
18
- <Story name="Roundness 3x" args={{ roundness: '3x' }} />
19
-
20
- <Story name="Roundness False" args={{ roundness: false }} />
@@ -1,16 +0,0 @@
1
- <script module>
2
- import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import PasswordInput from '../PasswordInput.svelte';
4
- import { storyPasswordInputArgTypes } from '../PasswordInput.stories.svelte';
5
-
6
- // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
7
- const { Story } = defineMeta({
8
- component: PasswordInput,
9
- tags: ['autodocs'],
10
- argTypes: storyPasswordInputArgTypes,
11
- });
12
- </script>
13
-
14
- <Story name="Normal" />
15
- <Story name="Small" args={{ size: 'small' }} />
16
- <Story name="Large" args={{ size: 'large' }} />
@@ -1,31 +0,0 @@
1
- <script module>
2
- import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import PasswordInput from '../PasswordInput.svelte';
4
- import { storyPasswordInputArgTypes } from '../PasswordInput.stories.svelte';
5
- import Icon from '@iconify/svelte';
6
-
7
- // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
8
- const { Story } = defineMeta({
9
- component: PasswordInput,
10
- tags: ['autodocs'],
11
- argTypes: storyPasswordInputArgTypes,
12
- });
13
- </script>
14
-
15
- <!-- PasswordInput icon in front. -->
16
- <Story name="Icon Before">
17
- <PasswordInput>
18
- {#snippet before()}
19
- <Icon icon="material-symbols:content-copy" />
20
- {/snippet}
21
- </PasswordInput>
22
- </Story>
23
-
24
- <!-- PasswordInput icon in front. -->
25
- <Story name="Icon After">
26
- <PasswordInput>
27
- {#snippet after()}
28
- <Icon icon="material-symbols:download-2" />
29
- {/snippet}
30
- </PasswordInput>
31
- </Story>
@@ -1,79 +0,0 @@
1
- <script module lang="ts">
2
- import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import { type SimpleSelectFocusEvent } from '../SimpleSelect.svelte';
4
- import SimpleSelect from '../SimpleSelect.svelte';
5
- import {
6
- storySimpleSelectArgTypes,
7
- storySimpleSelectOptions,
8
- } from '../SimpleSelect.stories.svelte';
9
-
10
- // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
11
- const { Story } = defineMeta({
12
- component: SimpleSelect,
13
- tags: ['autodocs'],
14
- argTypes: storySimpleSelectArgTypes,
15
- args: { options: storySimpleSelectOptions },
16
- });
17
- </script>
18
-
19
- <Story
20
- name="Change"
21
- args={{
22
- onchange: (e: Event) => {
23
- const target = e.target as HTMLSelectElement;
24
-
25
- console.log('onChange Event', target.value);
26
- },
27
- }}
28
- >
29
- <SimpleSelect
30
- onchange={(e: Event) => {
31
- const target = e.target as HTMLSelectElement;
32
-
33
- console.log('onchange Event', target.value);
34
- }}
35
- options={storySimpleSelectOptions}
36
- />
37
- </Story>
38
-
39
- <!-- `e: SimpleSelectFocusEvent` -->
40
- <Story
41
- name="Focus"
42
- args={{
43
- onfocus: (e: SimpleSelectFocusEvent) => {
44
- const target = e.target as HTMLSelectElement;
45
-
46
- console.log('onfocus Event', target);
47
- },
48
- }}
49
- >
50
- <SimpleSelect
51
- onfocus={(e: SimpleSelectFocusEvent) => {
52
- const target = e.target as HTMLSelectElement;
53
-
54
- console.log('onfocus Event', target);
55
- }}
56
- options={storySimpleSelectOptions}
57
- />
58
- </Story>
59
-
60
- <!-- `e: SimpleSelectFocusEvent` -->
61
- <Story
62
- name="Blur"
63
- args={{
64
- onblur: (e: SimpleSelectFocusEvent) => {
65
- const target = e.target as HTMLSelectElement;
66
-
67
- console.log('onblur Event', target);
68
- },
69
- }}
70
- >
71
- <SimpleSelect
72
- onblur={(e: SimpleSelectFocusEvent) => {
73
- const target = e.target as HTMLSelectElement;
74
-
75
- console.log('onblur Event', target);
76
- }}
77
- options={storySimpleSelectOptions}
78
- />
79
- </Story>
@@ -1,24 +0,0 @@
1
- <script module>
2
- import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import SimpleSelect from '../SimpleSelect.svelte';
4
- import {
5
- storySimpleSelectArgTypes,
6
- storySimpleSelectOptions,
7
- } from '../SimpleSelect.stories.svelte';
8
-
9
- // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
10
- const { Story } = defineMeta({
11
- component: SimpleSelect,
12
- tags: ['autodocs'],
13
- argTypes: storySimpleSelectArgTypes,
14
- args: { options: storySimpleSelectOptions },
15
- });
16
- </script>
17
-
18
- <Story name="Roundness 1x" />
19
-
20
- <Story name="Roundness 2x" args={{ roundness: '2x' }} />
21
-
22
- <Story name="Roundness 3x" args={{ roundness: '3x' }} />
23
-
24
- <Story name="Roundness False" args={{ roundness: false }} />
@@ -1,64 +0,0 @@
1
- <script module lang="ts">
2
- import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import { type SimpleSelectOption } from './SimpleSelect.svelte';
4
- import type { StoryBookArgTypes } from '$lib/storybook-types.js';
5
- import SimpleSelect from './SimpleSelect.svelte';
6
-
7
- export const storySimpleSelectArgTypes: StoryBookArgTypes = {
8
- type: {
9
- control: { type: 'select' },
10
- options: ['text', 'tel', 'email', 'password', 'url', 'number'],
11
- },
12
- roundness: {
13
- control: { type: 'select' },
14
- options: [false, '1x', '2x', '3x'],
15
- },
16
- size: {
17
- control: { type: 'select' },
18
- options: ['normal', 'small', 'large'],
19
- },
20
- };
21
-
22
- export const storySimpleSelectOptions: SimpleSelectOption[] = [
23
- {
24
- value: 'volvo',
25
- label: 'Volvo',
26
- },
27
- {
28
- value: 'saab',
29
- label: 'Saab',
30
- },
31
- {
32
- value: 'mercedes',
33
- label: 'Mercedes',
34
- },
35
- {
36
- value: 'audi',
37
- label: 'Audi',
38
- },
39
- {
40
- value: 'opel',
41
- label: 'Opel',
42
- disabled: true,
43
- },
44
- ];
45
-
46
- // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
47
- const { Story } = defineMeta({
48
- component: SimpleSelect,
49
- tags: ['autodocs'],
50
- argTypes: storySimpleSelectArgTypes,
51
- args: { options: storySimpleSelectOptions },
52
- });
53
- </script>
54
-
55
- <!-- SimpleSelect with default style -->
56
- <Story name="Default" />
57
-
58
- <Story name="Placeholder" args={{ value: '', placeholder: 'Type something...' }} />
59
-
60
- <Story name="No Outline" args={{ outline: false }} />
61
-
62
- <Story name="Error" args={{ error: true }} />
63
-
64
- <Story name="Disabled" args={{ disabled: true }} />
@@ -1,159 +0,0 @@
1
- <script lang="ts" module>
2
- export type SimpleSelectFocusEvent = FocusEvent & {
3
- currentTarget: EventTarget & HTMLSelectElement;
4
- };
5
-
6
- export type SimpleSelectOption = {
7
- value: string;
8
- label: string;
9
- disabled?: boolean;
10
- };
11
- </script>
12
-
13
- <script lang="ts">
14
- import InputEnclosure from '$lib/stories/developer tools/components/InputEnclosure/InputEnclosure.svelte';
15
-
16
- import type { ComponentRoundness, ComponentSize } from '$lib/types.js';
17
- import type { Snippet } from 'svelte';
18
- import type { ChangeEventHandler, FocusEventHandler } from 'svelte/elements';
19
-
20
- interface SimpleSelectProps {
21
- /** Select ref */
22
- ref?: HTMLSelectElement;
23
- /** How large should the button be? */
24
- size?: ComponentSize;
25
- /** How round should the border radius be? */
26
- roundness?: ComponentRoundness | false;
27
- /** How round should the border radius be? */
28
- options: SimpleSelectOption[];
29
- /** Add a border around the button. Default True */
30
- outline?: boolean;
31
- /** Select value */
32
- value?: string;
33
- /** How round should the border radius be? */
34
- placeholder?: string;
35
- /** disabled state */
36
- disabled?: boolean;
37
- /** is there any associated Error ? */
38
- error?: boolean;
39
- /** Name */
40
- name?: string;
41
- /** Id */
42
- id?: string;
43
- /** Icon before button content */
44
- before?: Snippet;
45
- /** Icon after button content */
46
- after?: Snippet;
47
- /** Custom css class*/
48
- class?: string;
49
- /** onchange event handler */
50
- onchange?: ChangeEventHandler<HTMLSelectElement>;
51
- /** onblur event handler */
52
- onblur?: FocusEventHandler<HTMLSelectElement>;
53
- /** onfocus event handler */
54
- onfocus?: FocusEventHandler<HTMLSelectElement>;
55
- }
56
-
57
- let {
58
- size = 'normal',
59
- roundness = '1x',
60
- outline = true,
61
- name,
62
- id,
63
- class: className = '',
64
- disabled = false,
65
- onchange,
66
- onblur,
67
- onfocus,
68
- before,
69
- after,
70
- error = false,
71
- value,
72
- placeholder,
73
- ref = $bindable<HTMLSelectElement>(),
74
- options,
75
- }: SimpleSelectProps = $props();
76
-
77
- let focused: boolean = $state(false);
78
-
79
- function onfocusMod(e: SimpleSelectFocusEvent) {
80
- focused = true;
81
-
82
- if (onfocus) {
83
- onfocus(e);
84
- }
85
- }
86
-
87
- function onblurMod(e: SimpleSelectFocusEvent) {
88
- focused = false;
89
-
90
- if (onblur) {
91
- onblur(e);
92
- }
93
- }
94
- </script>
95
-
96
- <div
97
- class:outline
98
- class:disabled
99
- class:error
100
- class:focused
101
- class={['dodo-ui-SimpleSelect', `size--${size}`, `roundness--${roundness}`, className].join(' ')}
102
- >
103
- <InputEnclosure {outline} {disabled} {error} {focused} {size} {roundness} {before} {after}>
104
- <select
105
- {name}
106
- {id}
107
- {disabled}
108
- {onchange}
109
- onfocus={onfocusMod}
110
- onblur={onblurMod}
111
- {placeholder}
112
- bind:this={ref}
113
- >
114
- {#each options as option (option.value)}
115
- <option value={option.value} disabled={option.disabled} selected={value === option.value}>
116
- {option.label}
117
- </option>
118
- {/each}
119
- </select>
120
- </InputEnclosure>
121
- </div>
122
-
123
- <style lang="scss">
124
- .dodo-ui-SimpleSelect {
125
- select {
126
- flex: 1;
127
- border: 0;
128
- outline: 0;
129
- height: 100%;
130
- background-color: transparent;
131
- font-family: inherit;
132
- color: inherit;
133
- letter-spacing: 0.3px;
134
- }
135
-
136
- &.size {
137
- &--normal {
138
- select {
139
- font-size: 1rem;
140
- padding: 0 12px;
141
- }
142
- }
143
-
144
- &--small {
145
- select {
146
- padding: 0 8px;
147
- font-size: 0.9rem;
148
- }
149
- }
150
-
151
- &--large {
152
- select {
153
- font-size: 1.1rem;
154
- padding: 0 14px;
155
- }
156
- }
157
- }
158
- }
159
- </style>
@@ -1,20 +0,0 @@
1
- <script module>
2
- import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import SimpleSelect from '../SimpleSelect.svelte';
4
- import {
5
- storySimpleSelectArgTypes,
6
- storySimpleSelectOptions,
7
- } from '../SimpleSelect.stories.svelte';
8
-
9
- // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
10
- const { Story } = defineMeta({
11
- component: SimpleSelect,
12
- tags: ['autodocs'],
13
- argTypes: storySimpleSelectArgTypes,
14
- args: { options: storySimpleSelectOptions },
15
- });
16
- </script>
17
-
18
- <Story name="Normal" />
19
- <Story name="Small" args={{ size: 'small' }} />
20
- <Story name="Large" args={{ size: 'large' }} />
@@ -1,36 +0,0 @@
1
- <script module>
2
- import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import Icon from '@iconify/svelte';
4
-
5
- import SimpleSelect from '../SimpleSelect.svelte';
6
- import {
7
- storySimpleSelectArgTypes,
8
- storySimpleSelectOptions,
9
- } from '../SimpleSelect.stories.svelte';
10
-
11
- // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
12
- const { Story } = defineMeta({
13
- component: SimpleSelect,
14
- tags: ['autodocs'],
15
- argTypes: storySimpleSelectArgTypes,
16
- args: { options: storySimpleSelectOptions },
17
- });
18
- </script>
19
-
20
- <!-- SimpleSelect icon in front. -->
21
- <Story name="Icon Before">
22
- <SimpleSelect options={storySimpleSelectOptions}>
23
- {#snippet before()}
24
- <Icon icon="material-symbols:content-copy" />
25
- {/snippet}
26
- </SimpleSelect>
27
- </Story>
28
-
29
- <!-- SimpleSelect icon in front. -->
30
- <Story name="Icon After">
31
- <SimpleSelect options={storySimpleSelectOptions}>
32
- {#snippet after()}
33
- <Icon icon="material-symbols:download-2" />
34
- {/snippet}
35
- </SimpleSelect>
36
- </Story>