@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
package/dist/index.d.ts CHANGED
@@ -1,28 +1,51 @@
1
1
  import './styles/global.css';
2
- export type { ComponentSize, ComponentRoundness, ComponentRoundnessFull } from './types.js';
2
+ export type { ComponentColorPriority, ComponentColorSeverity, ComponentColor, } from './types/colors.js';
3
+ export type { ComponentRoundness } from './types/roundness.js';
4
+ export type { ComponentSize } from './types/size.js';
5
+ export type { ComponentWeight } from './types/weight.js';
6
+ export type { PositionY, PositionX } from './types/position.js';
7
+ /** developer tools: directives: clickOutside */
8
+ export { clickOutside } from './stories/developer tools/directives/clickOutside/clickOutside.js';
3
9
  /** developer tools: components: UtilityButton */
4
10
  export { default as UtilityButton } from './stories/developer tools/components/UtilityButton/UtilityButton.svelte';
11
+ export type { UtilityButtonProps } from './stories/developer tools/components/UtilityButton/UtilityButton.svelte';
5
12
  /** developer tools: components: InputEnclosure */
6
13
  export { default as InputEnclosure } from './stories/developer tools/components/InputEnclosure/InputEnclosure.svelte';
14
+ export type { InputEnclosureProps } from './stories/developer tools/components/InputEnclosure/InputEnclosure.svelte';
15
+ /** developer tools: components: DynamicInput */
16
+ export { default as DynamicInput } from './stories/developer tools/components/DynamicInput/DynamicInput.svelte';
17
+ export type { DynamicInputVariant, DynamicInputProps, DynamicInputClickEvent, DynamicInputFocusEvent, } from './stories/developer tools/components/DynamicInput/DynamicInput.svelte';
18
+ /** developer tools: components: Popper */
19
+ export { default as Popper } from './stories/developer tools/components/Popper/Popper.svelte';
20
+ export type { PopperProps } from './stories/developer tools/components/Popper/Popper.svelte';
21
+ export { default as PopperPopup } from './stories/developer tools/components/Popper/PopperPopup/PopperPopup.svelte';
22
+ export type { PopperPopupProps } from './stories/developer tools/components/Popper/PopperPopup/PopperPopup.svelte';
7
23
  /** Form: Button */
8
24
  export { default as Button } from './stories/components/Form/Button/Button.svelte';
9
- export type { ButtonColor, ButtonRoundness, ButtonLinkTarget, ButtonLinkReferrerpolicy, } from './stories/components/Form/Button/Button.svelte';
25
+ export type { ButtonLinkTarget, ButtonLinkReferrerpolicy, ButtonType, ButtonProps, ButtonClickEvent, } from './stories/components/Form/Button/Button.svelte';
10
26
  /** Form: TextInput */
11
27
  export { default as TextInput } from './stories/components/Form/TextInput/TextInput.svelte';
12
- export type { TextInputType, TextInputFocusEvent, TextInputClipboardEvent, } from './stories/components/Form/TextInput/TextInput.svelte';
28
+ export type { TextInputType, TextInputFocusEvent, TextInputClipboardEvent, TextInputInputEvent, TextInputProps, } from './stories/components/Form/TextInput/TextInput.svelte';
13
29
  /** Form: PasswordInput */
14
30
  export { default as PasswordInput } from './stories/components/Form/PasswordInput/PasswordInput.svelte';
15
- export type { PasswordInputToggleEvent } from './stories/components/Form/PasswordInput/PasswordInput.svelte';
31
+ export type { PasswordInputToggleEvent, PasswordInputProps, } from './stories/components/Form/PasswordInput/PasswordInput.svelte';
16
32
  /** Form: Label */
17
33
  export { default as Label } from './stories/components/Form/Label/Label.svelte';
34
+ export type { LabelProps } from './stories/components/Form/Label/Label.svelte';
18
35
  /** Form: FormControl */
19
36
  export { default as FormControl } from './stories/components/Form/FormControl/FormControl.svelte';
37
+ export type { FormControlProps } from './stories/components/Form/FormControl/FormControl.svelte';
20
38
  /** Form: Message */
21
39
  export { default as Message } from './stories/components/Form/Message/Message.svelte';
22
- export type { MessageColor } from './stories/components/Form/Message/Message.svelte';
23
- /** Form: SimpleSelect */
24
- export { default as SimpleSelect } from './stories/components/Form/SimpleSelect/SimpleSelect.svelte';
25
- export type { SimpleSelectFocusEvent, SimpleSelectOption, } from './stories/components/Form/SimpleSelect/SimpleSelect.svelte';
40
+ export type { MessageProps } from './stories/components/Form/Message/Message.svelte';
26
41
  /** Layout: Paper */
27
42
  export { default as Paper } from './stories/components/Layout/Paper/Paper.svelte';
28
- export type { PaperRoundness, PaperShadow, } from './stories/components/Layout/Paper/Paper.svelte';
43
+ export type { PaperColor, PaperProps } from './stories/components/Layout/Paper/Paper.svelte';
44
+ /** Layout: Separator */
45
+ export { default as Separator } from './stories/components/Layout/Separator/Separator.svelte';
46
+ export type { SeparatorProps, SeparatorOrientation, } from './stories/components/Layout/Separator/Separator.svelte';
47
+ /** Layout: Menu */
48
+ export { default as Menu } from './stories/components/Layout/Menu/Menu.svelte';
49
+ export type { MenuProps } from './stories/components/Layout/Menu/Menu.svelte';
50
+ export { default as MenuItem } from './stories/components/Layout/Menu/MenuItem/MenuItem.svelte';
51
+ export type { MenuItemType, MenuItemProps, } from './stories/components/Layout/Menu/MenuItem/MenuItem.svelte';
package/dist/index.js CHANGED
@@ -1,8 +1,15 @@
1
1
  import './styles/global.css';
2
+ /** developer tools: directives: clickOutside */
3
+ export { clickOutside } from './stories/developer tools/directives/clickOutside/clickOutside.js';
2
4
  /** developer tools: components: UtilityButton */
3
5
  export { default as UtilityButton } from './stories/developer tools/components/UtilityButton/UtilityButton.svelte';
4
6
  /** developer tools: components: InputEnclosure */
5
7
  export { default as InputEnclosure } from './stories/developer tools/components/InputEnclosure/InputEnclosure.svelte';
8
+ /** developer tools: components: DynamicInput */
9
+ export { default as DynamicInput } from './stories/developer tools/components/DynamicInput/DynamicInput.svelte';
10
+ /** developer tools: components: Popper */
11
+ export { default as Popper } from './stories/developer tools/components/Popper/Popper.svelte';
12
+ export { default as PopperPopup } from './stories/developer tools/components/Popper/PopperPopup/PopperPopup.svelte';
6
13
  /** Form: Button */
7
14
  export { default as Button } from './stories/components/Form/Button/Button.svelte';
8
15
  /** Form: TextInput */
@@ -15,7 +22,10 @@ export { default as Label } from './stories/components/Form/Label/Label.svelte';
15
22
  export { default as FormControl } from './stories/components/Form/FormControl/FormControl.svelte';
16
23
  /** Form: Message */
17
24
  export { default as Message } from './stories/components/Form/Message/Message.svelte';
18
- /** Form: SimpleSelect */
19
- export { default as SimpleSelect } from './stories/components/Form/SimpleSelect/SimpleSelect.svelte';
20
25
  /** Layout: Paper */
21
26
  export { default as Paper } from './stories/components/Layout/Paper/Paper.svelte';
27
+ /** Layout: Separator */
28
+ export { default as Separator } from './stories/components/Layout/Separator/Separator.svelte';
29
+ /** Layout: Menu */
30
+ export { default as Menu } from './stories/components/Layout/Menu/Menu.svelte';
31
+ export { default as MenuItem } from './stories/components/Layout/Menu/MenuItem/MenuItem.svelte';
@@ -42,7 +42,7 @@ npm i @flightlesslabs/dodo-ui
42
42
 
43
43
  ## Use it!
44
44
 
45
- Lets import [Button](?path=/docs/components-form-button--docs) component
45
+ Lets import [Button](?path=/docs/components-form-button--docs) component. Checkout documentation for [Button](?path=/docs/components-form-button--docs)
46
46
 
47
47
  <Source
48
48
  dark
@@ -52,10 +52,8 @@ import { Button } '@flightlesslabs/dodo-ui';
52
52
  `}
53
53
  />
54
54
 
55
- Checkout documentation for [Button](?path=/docs/components-form-button--docs)
56
-
57
55
  ## Explore more
58
56
 
59
- - [Themes](?path=/docs/philosophy-themes--docs)
60
- - [Colors](?path=/docs/philosophy-colors--docs)
61
- - [Adjust Color Opacity](?path=/docs/philosophy-colors--docs#adjusting-opacity)
57
+ - [Dark Theme](?path=/docs/developer-tools-philosophy-themes--docs#dark-theme)
58
+ - [Colors](?path=/docs/developer-tools-philosophy-colors--docs)
59
+ - [Adjust Color Opacity](?path=/docs/developer-tools-philosophy-colors--docs#adjusting-opacity)
@@ -1,26 +1,29 @@
1
1
  <script module lang="ts">import { defineMeta } from '@storybook/addon-svelte-csf';
2
- import { fn } from '@storybook/test';
3
- import Button from './Button.svelte';
2
+ import Button, { buttonTypeArray } from './Button.svelte';
3
+ import { componentRoundnessArray } from '../../../../types/roundness.js';
4
+ import { componentColorArray } from '../../../../types/colors.js';
5
+ import { componentWeightArray } from '../../../../types/weight.js';
6
+ import { componentSizeArray } from '../../../../types/size.js';
4
7
  export const storyButtonArgTypes = {
5
8
  type: {
6
9
  control: { type: 'select' },
7
- options: ['button', 'submit'],
10
+ options: buttonTypeArray,
8
11
  },
9
12
  color: {
10
13
  control: { type: 'select' },
11
- options: ['default', 'secondary', 'primary', 'safe', 'warning', 'danger'],
14
+ options: componentColorArray,
12
15
  },
13
16
  variant: {
14
17
  control: { type: 'select' },
15
- options: ['text', 'solid'],
18
+ options: componentWeightArray,
16
19
  },
17
20
  roundness: {
18
21
  control: { type: 'select' },
19
- options: [false, '1x', '2x', '3x', 'full'],
22
+ options: componentRoundnessArray,
20
23
  },
21
24
  size: {
22
25
  control: { type: 'select' },
23
- options: ['normal', 'small', 'large'],
26
+ options: componentSizeArray,
24
27
  },
25
28
  };
26
29
  // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
@@ -28,51 +31,27 @@ const { Story } = defineMeta({
28
31
  component: Button,
29
32
  tags: ['autodocs'],
30
33
  argTypes: storyButtonArgTypes,
31
- args: {
32
- onclick: fn(),
33
- },
34
34
  });
35
35
  </script>
36
36
 
37
- <!-- ⚠️ Test Button: Do not use! -->
38
- <Story
39
- name="Test Button"
40
- args={{
41
- outline: false,
42
- disabled: false,
43
- compact: false,
44
- _unsafeChildrenStringForTesting: 'Click me!',
45
- }}
46
- />
47
-
48
37
  <!-- Button with default style -->
49
- <Story name="Default" args={{ outline: false, disabled: false, compact: false }}>
50
- <Button>Click me!</Button>
51
- </Story>
38
+ <Story name="Primary">Click me!</Story>
52
39
 
53
40
  <!-- Button with border around it -->
54
- <Story name="Outline" args={{ outline: true }}>
55
- <Button outline>Click me!</Button>
56
- </Story>
41
+ <Story name="Outline" args={{ outline: true, variant: 'text' }}>Click me!</Story>
57
42
 
58
- <Story name="Disabled" args={{ disabled: true }}>
59
- <Button disabled>Click me!</Button>
60
- </Story>
43
+ <Story name="Disabled" args={{ disabled: true }}>Click me!</Story>
61
44
 
62
45
  <!-- Form submit button -->
63
- <Story name="Sumbit Button" args={{ type: 'submit' }}>
64
- <Button type="submit">Submit Form</Button>
65
- </Story>
46
+ <Story name="Sumbit Button" args={{ type: 'submit' }}>Submit Form</Story>
66
47
 
67
48
  <!-- Form submit button -->
68
- <Story name="Full width Button" args={{ fullWidth: true }}>
69
- <Button fullWidth>Click me!</Button>
70
- </Story>
49
+ <Story name="Full width Button" args={{ fullWidth: true }}>Click me!</Story>
71
50
 
72
51
  <!-- Anchor Link styled like a Button -->
73
52
  <Story
74
53
  name="Link Button"
75
54
  args={{ href: 'https://www.w3schools.com/tags/tag_a.asp', target: '_blank' }}
76
55
  >
77
- <Button href="https://www.w3schools.com/tags/tag_a.asp" target="_blank">Link</Button>
56
+ Link
78
57
  </Story>
@@ -1,8 +1,8 @@
1
- <script lang="ts" module>export {};
1
+ <script lang="ts" module>export const buttonTypeArray = ['button', 'submit'];
2
2
  </script>
3
3
 
4
- <script lang="ts">let { children, type = 'button', size = 'normal', color = 'default', roundness = '1x', variant = 'text', outline = false, compact = false, fullWidth = false, name, id, title, class: className = '', disabled = false, onclick, before, after, href, download, hreflang, media, ping, rel, target, anchorMediaType, referrerpolicy, _unsafeChildrenStringForTesting, ref = $bindable(), } = $props();
5
- export {};
4
+ <script lang="ts">"use strict";
5
+ let { children, type = 'button', size = 'normal', color = 'primary', roundness = 1, variant = 'solid', outline = false, compact = false, fullWidth = false, name, id, title, class: className = '', disabled = false, onclick, before, after, href, download, hreflang, media, ping, rel, target, anchorMediaType, referrerpolicy, ref = $bindable(), } = $props();
6
6
  </script>
7
7
 
8
8
  {#snippet buttonContent()}
@@ -14,8 +14,6 @@ export {};
14
14
 
15
15
  {#if children}
16
16
  {@render children()}
17
- {:else if _unsafeChildrenStringForTesting}
18
- {_unsafeChildrenStringForTesting}
19
17
  {/if}
20
18
 
21
19
  {#if after}
@@ -80,15 +78,15 @@ export {};
80
78
  {/if}
81
79
 
82
80
  <style>:global(:root) {
83
- --dodo-ui-Button-disabled-color: var(--dodo-color-default-400);
84
- --dodo-ui-Button-disabled-bg: var(--dodo-color-default-200);
85
- --dodo-ui-Button-outline-default: var(--dodo-color-default-400);
86
- --dodo-ui-Button-text-default-bg: var(--dodo-color-default-100);
87
- --dodo-ui-Button-text-default-hover-bg: var(--dodo-color-default-200);
88
- --dodo-ui-Button-text-default-active-bg: var(--dodo-color-default-300);
89
- --dodo-ui-Button-solid-default-bg: var(--dodo-color-default-500);
90
- --dodo-ui-Button-solid-default-hover-bg: var(--dodo-color-default-600);
91
- --dodo-ui-Button-solid-default-active-bg: var(--dodo-color-default-700);
81
+ --dodo-ui-Button-disabled-color: var(--dodo-color-neutral-400);
82
+ --dodo-ui-Button-disabled-bg: var(--dodo-color-neutral-200);
83
+ --dodo-ui-Button-outline-neutral: var(--dodo-color-neutral-400);
84
+ --dodo-ui-Button-text-neutral-bg: var(--dodo-color-neutral-100);
85
+ --dodo-ui-Button-text-neutral-hover-bg: var(--dodo-color-neutral-200);
86
+ --dodo-ui-Button-text-neutral-active-bg: var(--dodo-color-neutral-300);
87
+ --dodo-ui-Button-solid-neutral-bg: var(--dodo-color-neutral-500);
88
+ --dodo-ui-Button-solid-neutral-hover-bg: var(--dodo-color-neutral-600);
89
+ --dodo-ui-Button-solid-neutral-active-bg: var(--dodo-color-neutral-700);
92
90
  --dodo-ui-Button-outline-primary: var(--dodo-color-primary-400);
93
91
  --dodo-ui-Button-text-primary-bg: var(--dodo-color-primary-100);
94
92
  --dodo-ui-Button-text-primary-hover-bg: var(--dodo-color-primary-200);
@@ -127,15 +125,15 @@ export {};
127
125
  }
128
126
 
129
127
  :global(.dodo-theme--dark) {
130
- --dodo-ui-Button-disabled-bg: var(--dodo-color-default-100);
131
- --dodo-ui-Button-disabled-color: var(--dodo-color-default-500);
132
- --dodo-ui-Button-outline-default: var(--dodo-color-default-300);
133
- --dodo-ui-Button-text-default-bg: var(--dodo-color-default-50);
134
- --dodo-ui-Button-text-default-hover-bg: var(--dodo-color-default-100);
135
- --dodo-ui-Button-text-default-active-bg: var(--dodo-color-default-200);
136
- --dodo-ui-Button-solid-default-bg: var(--dodo-color-default-300);
137
- --dodo-ui-Button-solid-default-hover-bg: var(--dodo-color-default-200);
138
- --dodo-ui-Button-solid-default-active-bg: var(--dodo-color-default-100);
128
+ --dodo-ui-Button-disabled-bg: var(--dodo-color-neutral-100);
129
+ --dodo-ui-Button-disabled-color: var(--dodo-color-neutral-500);
130
+ --dodo-ui-Button-outline-neutral: var(--dodo-color-neutral-300);
131
+ --dodo-ui-Button-text-neutral-bg: var(--dodo-color-neutral-50);
132
+ --dodo-ui-Button-text-neutral-hover-bg: var(--dodo-color-neutral-100);
133
+ --dodo-ui-Button-text-neutral-active-bg: var(--dodo-color-neutral-200);
134
+ --dodo-ui-Button-solid-neutral-bg: var(--dodo-color-neutral-300);
135
+ --dodo-ui-Button-solid-neutral-hover-bg: var(--dodo-color-neutral-200);
136
+ --dodo-ui-Button-solid-neutral-active-bg: var(--dodo-color-neutral-100);
139
137
  --dodo-ui-Button-outline-primary: var(--dodo-color-primary-300);
140
138
  --dodo-ui-Button-text-primary-bg: var(--dodo-color-primary-50);
141
139
  --dodo-ui-Button-text-primary-hover-bg: var(--dodo-color-primary-100);
@@ -195,55 +193,55 @@ export {};
195
193
  .dodo-ui-Button.size--normal {
196
194
  height: var(--dodo-ui-element-height-normal);
197
195
  font-size: 1rem;
198
- padding: 0 12px;
196
+ padding: 0 calc(var(--dodo-ui-space-small) * 2);
199
197
  min-width: 45px;
200
198
  }
201
199
  .dodo-ui-Button.size--small {
202
200
  height: var(--dodo-ui-element-height-small);
203
- padding: 0 8px;
201
+ padding: 0 var(--dodo-ui-space);
204
202
  font-size: 0.9rem;
205
203
  min-width: 35px;
206
204
  }
207
205
  .dodo-ui-Button.size--large {
208
206
  height: var(--dodo-ui-element-height-large);
209
207
  font-size: 1.1rem;
210
- padding: 0 16px;
208
+ padding: 0 calc(var(--dodo-ui-space) * 2);
211
209
  min-width: 85px;
212
210
  }
213
- .dodo-ui-Button.roundness--1x {
214
- border-radius: var(--dodo-ui-element-roundness-1x);
211
+ .dodo-ui-Button.roundness--1 {
212
+ border-radius: var(--dodo-ui-element-roundness-1);
215
213
  }
216
- .dodo-ui-Button.roundness--2x {
217
- border-radius: var(--dodo-ui-element-roundness-2x);
214
+ .dodo-ui-Button.roundness--2 {
215
+ border-radius: var(--dodo-ui-element-roundness-2);
218
216
  }
219
- .dodo-ui-Button.roundness--3x {
220
- border-radius: var(--dodo-ui-element-roundness-3x);
217
+ .dodo-ui-Button.roundness--3 {
218
+ border-radius: var(--dodo-ui-element-roundness-3);
221
219
  }
222
220
  .dodo-ui-Button.roundness--full {
223
221
  border-radius: 50%;
224
222
  }
225
- .dodo-ui-Button.color--default.variant--text {
226
- color: var(--dodo-color-default-800);
227
- background-color: var(--dodo-ui-Button-text-default-bg);
223
+ .dodo-ui-Button.color--neutral.variant--text {
224
+ color: var(--dodo-color-neutral-800);
225
+ background-color: var(--dodo-ui-Button-text-neutral-bg);
228
226
  }
229
- .dodo-ui-Button.color--default.variant--text:hover {
230
- background-color: var(--dodo-ui-Button-text-default-hover-bg);
227
+ .dodo-ui-Button.color--neutral.variant--text:hover {
228
+ background-color: var(--dodo-ui-Button-text-neutral-hover-bg);
231
229
  }
232
- .dodo-ui-Button.color--default.variant--text:active {
233
- background-color: var(--dodo-ui-Button-text-default-active-bg);
230
+ .dodo-ui-Button.color--neutral.variant--text:active {
231
+ background-color: var(--dodo-ui-Button-text-neutral-active-bg);
234
232
  }
235
- .dodo-ui-Button.color--default.variant--text.outline {
236
- border-color: var(--dodo-ui-Button-outline-default);
233
+ .dodo-ui-Button.color--neutral.variant--text.outline {
234
+ border-color: var(--dodo-ui-Button-outline-neutral);
237
235
  }
238
- .dodo-ui-Button.color--default.variant--solid {
236
+ .dodo-ui-Button.color--neutral.variant--solid {
239
237
  color: var(--dodo-color-constant-white);
240
- background-color: var(--dodo-ui-Button-solid-default-bg);
238
+ background-color: var(--dodo-ui-Button-solid-neutral-bg);
241
239
  }
242
- .dodo-ui-Button.color--default.variant--solid:hover {
243
- background-color: var(--dodo-ui-Button-solid-default-hover-bg);
240
+ .dodo-ui-Button.color--neutral.variant--solid:hover {
241
+ background-color: var(--dodo-ui-Button-solid-neutral-hover-bg);
244
242
  }
245
- .dodo-ui-Button.color--default.variant--solid:active {
246
- background-color: var(--dodo-ui-Button-solid-default-active-bg);
243
+ .dodo-ui-Button.color--neutral.variant--solid:active {
244
+ background-color: var(--dodo-ui-Button-solid-neutral-active-bg);
247
245
  }
248
246
  .dodo-ui-Button.color--primary.variant--text {
249
247
  color: var(--dodo-color-primary-800);
@@ -1,27 +1,33 @@
1
- export type ButtonColor = 'default' | 'primary' | 'secondary' | 'safe' | 'warning' | 'danger';
2
- export type ButtonRoundness = ComponentRoundness | false | ComponentRoundnessFull;
3
- export type ButtonLinkTarget = '_self' | '_blank' | '_parent' | '_top' | (string & {}) | undefined | null;
4
- export type ButtonLinkReferrerpolicy = ReferrerPolicy | undefined | null;
5
- import type { ComponentRoundness, ComponentRoundnessFull, ComponentSize } from '../../../../types.js';
1
+ import type { ComponentColor } from '../../../../types/colors.js';
2
+ import type { ComponentRoundness } from '../../../../types/roundness.js';
3
+ import type { ComponentSize } from '../../../../types/size.js';
4
+ import type { ComponentWeight } from '../../../../types/weight.js';
6
5
  import type { Snippet } from 'svelte';
7
6
  import type { MouseEventHandler } from 'svelte/elements';
8
- interface ButtonProps {
7
+ export type ButtonLinkTarget = '_self' | '_blank' | '_parent' | '_top' | (string & {}) | undefined | null;
8
+ export type ButtonLinkReferrerpolicy = ReferrerPolicy | undefined | null;
9
+ export type ButtonType = 'button' | 'submit';
10
+ export declare const buttonTypeArray: ButtonType[];
11
+ export type ButtonClickEvent = MouseEvent & {
12
+ currentTarget: EventTarget & HTMLButtonElement;
13
+ };
14
+ export interface ButtonProps {
9
15
  /** Button contents goes here */
10
16
  children?: Snippet;
11
17
  /** Button ref */
12
18
  ref?: HTMLButtonElement | HTMLAnchorElement;
13
19
  /** Regular button or submit button? */
14
- type?: 'button' | 'submit';
20
+ type?: ButtonType;
15
21
  /** How large should the button be? */
16
22
  size?: ComponentSize;
17
23
  /** Full width button? */
18
24
  fullWidth?: boolean;
19
25
  /** What color to use? */
20
- color?: ButtonColor;
26
+ color?: ComponentColor;
21
27
  /** How round should the border radius be? */
22
- roundness?: ButtonRoundness;
28
+ roundness?: ComponentRoundness;
23
29
  /** How should the button appear? */
24
- variant?: 'text' | 'solid';
30
+ variant?: ComponentWeight;
25
31
  /** Add a border around the button */
26
32
  outline?: boolean;
27
33
  /** Compact button for icons */
@@ -60,8 +66,6 @@ interface ButtonProps {
60
66
  anchorMediaType?: string | undefined | null;
61
67
  /** Link button: referrerpolicy */
62
68
  referrerpolicy?: ButtonLinkReferrerpolicy;
63
- /** Test: ⚠️ Unsafe Children String. Do Not use*/
64
- _unsafeChildrenStringForTesting?: string;
65
69
  }
66
70
  declare const Button: import("svelte").Component<ButtonProps, {}, "ref">;
67
71
  type Button = ReturnType<typeof Button>;
@@ -1,6 +1,5 @@
1
1
  <script module>
2
2
  import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import { fn } from '@storybook/test';
4
3
  import Button from '../Button.svelte';
5
4
  import { storyButtonArgTypes } from '../Button.stories.svelte';
6
5
 
@@ -9,60 +8,36 @@
9
8
  component: Button,
10
9
  tags: ['autodocs'],
11
10
  argTypes: storyButtonArgTypes,
12
- args: {
13
- onclick: fn(),
14
- },
15
11
  });
16
12
  </script>
17
13
 
18
- <Story name="Default" args={{ outline: false, disabled: false, compact: false }}>
19
- <Button>Click me!</Button>
20
- </Story>
21
- <Story name="Primary" args={{ color: 'primary' }}><Button color="primary">Click me!</Button></Story>
22
- <Story name="Secondary" args={{ color: 'secondary' }}>
23
- <Button color="secondary">Click me!</Button>
24
- </Story>
25
- <Story name="Safe" args={{ color: 'safe' }}><Button color="safe">Click me!</Button></Story>
26
- <Story name="Warning" args={{ color: 'warning' }}><Button color="warning">Click me!</Button></Story>
27
- <Story name="Danger" args={{ color: 'danger' }}><Button color="danger">Click me!</Button></Story>
14
+ <Story name="Primary">Click me!</Story>
15
+ <Story name="Secondary" args={{ color: 'secondary' }}>Click me!</Story>
16
+ <Story name="Neutral" args={{ color: 'neutral' }}>Click me!</Story>
17
+ <Story name="Safe" args={{ color: 'safe' }}>Click me!</Story>
18
+ <Story name="Warning" args={{ color: 'warning' }}>Click me!</Story>
19
+ <Story name="Danger" args={{ color: 'danger' }}>Click me!</Story>
28
20
 
29
- <Story
30
- name="Default Solid"
31
- args={{ outline: false, disabled: false, compact: false, variant: 'solid' }}
32
- >
33
- <Button variant="solid">Click me!</Button>
34
- </Story>
35
- <Story name="Primary Solid" args={{ color: 'primary', variant: 'solid' }}>
36
- <Button color="primary" variant="solid">Click me!</Button>
37
- </Story>
38
- <Story name="Secondary Solid" args={{ color: 'secondary', variant: 'solid' }}>
39
- <Button color="secondary" variant="solid">Click me!</Button>
40
- </Story>
41
- <Story name="Safe Solid" args={{ color: 'safe', variant: 'solid' }}>
42
- <Button color="safe" variant="solid">Click me!</Button>
43
- </Story>
44
- <Story name="Warning Solid" args={{ color: 'warning', variant: 'solid' }}>
45
- <Button color="warning" variant="solid">Click me!</Button>
46
- </Story>
47
- <Story name="Danger Solid" args={{ color: 'danger', variant: 'solid' }}>
48
- <Button color="danger" variant="solid">Click me!</Button>
49
- </Story>
21
+ <Story name="Primary Text" args={{ color: 'primary', variant: 'text' }}>Click me!</Story>
22
+ <Story name="Secondary Text" args={{ color: 'secondary', variant: 'text' }}>Click me!</Story>
23
+ <Story name="Neutral Text" args={{ color: 'neutral', variant: 'text' }}>Click me!</Story>
24
+ <Story name="Safe Text" args={{ color: 'safe', variant: 'text' }}>Click me!</Story>
25
+ <Story name="Warning Text" args={{ color: 'warning', variant: 'text' }}>Click me!</Story>
26
+ <Story name="Danger Text" args={{ color: 'danger', variant: 'text' }}>Click me!</Story>
50
27
 
51
- <Story name="Default Outline" args={{ outline: true, disabled: false, compact: false }}>
52
- <Button outline>Click me!</Button>
53
- </Story>
54
- <Story name="Primary Outline" args={{ outline: true, color: 'primary' }}>
55
- <Button color="primary" outline>Click me!</Button>
28
+ <Story name="Primary Outline" args={{ variant: 'text', outline: true }}>Click me!</Story>
29
+ <Story name="Secondary Outline" args={{ color: 'secondary', variant: 'text', outline: true }}>
30
+ Click me!
56
31
  </Story>
57
- <Story name="Secondary Outline" args={{ outline: true, color: 'secondary' }}>
58
- <Button color="secondary" outline>Click me!</Button>
32
+ <Story name="Neutral Outline" args={{ color: 'neutral', variant: 'text', outline: true }}>
33
+ Click me!
59
34
  </Story>
60
- <Story name="Safe Outline" args={{ outline: true, color: 'safe' }}>
61
- <Button color="safe" outline>Click me!</Button>
35
+ <Story name="Safe Outline" args={{ color: 'safe', variant: 'text', outline: true }}>
36
+ Click me!
62
37
  </Story>
63
- <Story name="Warning Outline" args={{ outline: true, color: 'warning' }}>
64
- <Button color="warning" outline>Click me!</Button>
38
+ <Story name="Warning Outline" args={{ color: 'warning', variant: 'text', outline: true }}>
39
+ Click me!
65
40
  </Story>
66
- <Story name="Danger Outline" args={{ outline: true, color: 'danger' }}>
67
- <Button color="danger" outline>Click me!</Button>
41
+ <Story name="Danger Outline" args={{ color: 'danger', variant: 'text', outline: true }}>
42
+ Click me!
68
43
  </Story>
@@ -1,5 +1,4 @@
1
1
  <script module lang="ts">import { defineMeta } from '@storybook/addon-svelte-csf';
2
- import { fn } from '@storybook/test';
3
2
  import Button from '../Button.svelte';
4
3
  import { storyButtonArgTypes } from '../Button.stories.svelte';
5
4
  // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
@@ -7,18 +6,12 @@ const { Story } = defineMeta({
7
6
  component: Button,
8
7
  tags: ['autodocs'],
9
8
  argTypes: storyButtonArgTypes,
10
- args: {
11
- onclick: fn(),
12
- },
13
9
  });
14
10
  </script>
15
11
 
16
12
  <Story
17
13
  name="Click"
18
14
  args={{
19
- outline: false,
20
- disabled: false,
21
- compact: false,
22
15
  onclick: (e: Event) => {
23
16
  const target = e.target as HTMLButtonElement;
24
17
 
@@ -26,6 +19,7 @@ const { Story } = defineMeta({
26
19
  console.log('Button Clicked', target);
27
20
  },
28
21
  }}
22
+ asChild
29
23
  >
30
24
  <Button
31
25
  onclick={(e: Event) => {
@@ -1,6 +1,5 @@
1
1
  <script module>
2
2
  import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import { fn } from '@storybook/test';
4
3
  import Button from '../Button.svelte';
5
4
  import { storyButtonArgTypes } from '../Button.stories.svelte';
6
5
  import Icon from '@iconify/svelte';
@@ -10,28 +9,21 @@
10
9
  component: Button,
11
10
  tags: ['autodocs'],
12
11
  argTypes: storyButtonArgTypes,
13
- args: {
14
- onclick: fn(),
15
- },
16
12
  });
17
13
  </script>
18
14
 
19
15
  <!-- Compact button with paddings stripped out and fixed size. We are using this icon library https://iconify.design/docs/icon-components/svelte/ -->
20
16
  <Story name="Icon Button" args={{ compact: true }}>
21
- <Button compact>
22
- <Icon icon="material-symbols:app-badging" width="18" height="18" />
23
- </Button>
17
+ <Icon icon="material-symbols:app-badging" width="18" height="18" />
24
18
  </Story>
25
19
 
26
20
  <!-- Circualr Icon button. -->
27
21
  <Story name="Icon Button Circular" args={{ compact: true, roundness: 'full' }}>
28
- <Button roundness="full" compact>
29
- <Icon icon="material-symbols:app-badging" width="18" height="18" />
30
- </Button>
22
+ <Icon icon="material-symbols:app-badging" width="18" height="18" />
31
23
  </Story>
32
24
 
33
25
  <!-- Button with an icon in front. -->
34
- <Story name="Icon Before">
26
+ <Story name="Icon Before" asChild>
35
27
  <Button>
36
28
  {#snippet before()}
37
29
  <Icon icon="material-symbols:content-copy" />
@@ -41,7 +33,7 @@
41
33
  </Story>
42
34
 
43
35
  <!-- Button with an icon in front. -->
44
- <Story name="Icon After">
36
+ <Story name="Icon After" asChild>
45
37
  <Button>
46
38
  {#snippet after()}
47
39
  <Icon icon="material-symbols:download-2" />
@@ -1,6 +1,5 @@
1
1
  <script module>
2
2
  import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import { fn } from '@storybook/test';
4
3
  import Button from '../Button.svelte';
5
4
  import { storyButtonArgTypes } from '../Button.stories.svelte';
6
5
 
@@ -9,41 +8,16 @@
9
8
  component: Button,
10
9
  tags: ['autodocs'],
11
10
  argTypes: storyButtonArgTypes,
12
- args: {
13
- onclick: fn(),
14
- },
15
11
  });
16
12
  </script>
17
13
 
18
- <Story name="Roundness 1x" args={{ outline: false, disabled: false, compact: false }}>
19
- <Button>Click me!</Button>
20
- </Story>
14
+ <Story name="Roundness 1">Click me!</Story>
21
15
 
22
- <Story
23
- name="Roundness 2x"
24
- args={{ outline: false, disabled: false, compact: false, roundness: '2x' }}
25
- >
26
- <Button roundness="2x">Click me!</Button>
27
- </Story>
16
+ <Story name="Roundness 2" args={{ roundness: 2 }}>Click me!</Story>
28
17
 
29
- <Story
30
- name="Roundness 3x"
31
- args={{ outline: false, disabled: false, compact: false, roundness: '3x' }}
32
- >
33
- <Button roundness="3x">Click me!</Button>
34
- </Story>
18
+ <Story name="Roundness 3" args={{ roundness: 3 }}>Click me!</Story>
35
19
 
36
- <Story
37
- name="Roundness False"
38
- args={{ outline: false, disabled: false, compact: false, roundness: false }}
39
- >
40
- <Button roundness={false}>Click me!</Button>
41
- </Story>
20
+ <Story name="Roundness 0" args={{ roundness: 0 }}>Click me!</Story>
42
21
 
43
22
  <!-- Button with 50% roundness usefull for icon (Compact) buttons -->
44
- <Story
45
- name="Roundness Full"
46
- args={{ outline: false, disabled: false, compact: false, roundness: 'full' }}
47
- >
48
- <Button roundness="full">C</Button>
49
- </Story>
23
+ <Story name="Roundness Full" args={{ roundness: 'full', compact: true }}>C</Story>