@flightlesslabs/dodo-ui 0.13.0 → 0.14.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 (186) hide show
  1. package/dist/index.d.ts +3 -0
  2. package/dist/index.js +2 -0
  3. package/dist/stories/components/Form/Button/Button.svelte +1 -1
  4. package/dist/stories/components/Form/Button/Button.svelte.d.ts +1 -1
  5. package/{src/lib/stories/components/Form/RangeSlider → dist/stories/components/Form/Toggle}/Color/Color.stories.svelte +4 -4
  6. package/dist/stories/components/Form/Toggle/Color/Color.stories.svelte.d.ts +26 -0
  7. package/dist/stories/components/Form/Toggle/Events/Events.stories.svelte +35 -0
  8. package/dist/stories/components/Form/Toggle/Events/Events.stories.svelte.d.ts +18 -0
  9. package/{src/lib/stories/components/Form/NumericInput → dist/stories/components/Form/Toggle}/Roundness/Roundness.stories.svelte +8 -6
  10. package/dist/stories/components/Form/Toggle/Roundness/Roundness.stories.svelte.d.ts +26 -0
  11. package/{src/lib/stories/components/Form/RangeSlider → dist/stories/components/Form/Toggle}/Size/Size.stories.svelte +4 -4
  12. package/dist/stories/components/Form/Toggle/Size/Size.stories.svelte.d.ts +26 -0
  13. package/dist/stories/components/Form/Toggle/Toggle.stories.svelte +37 -0
  14. package/dist/stories/components/Form/Toggle/Toggle.stories.svelte.d.ts +21 -0
  15. package/dist/stories/components/Form/Toggle/Toggle.svelte +369 -0
  16. package/dist/stories/components/Form/Toggle/Toggle.svelte.d.ts +34 -0
  17. package/dist/stories/components/Form/Toggle/utils/scss/mixins.scss +81 -0
  18. package/package.json +15 -13
  19. package/src/lib/index.ts +4 -0
  20. package/src/lib/stories/components/Form/Button/Button.svelte +2 -2
  21. package/src/lib/stories/components/Form/Toggle/Toggle.svelte +262 -0
  22. package/src/lib/stories/components/Form/Toggle/utils/scss/mixins.scss +81 -0
  23. package/src/lib/stories/Home.mdx +0 -59
  24. package/src/lib/stories/assets/dark-theme-toggle.png +0 -0
  25. package/src/lib/stories/components/Form/Button/Button.stories.svelte +0 -61
  26. package/src/lib/stories/components/Form/Button/Color/Color.stories.svelte +0 -43
  27. package/src/lib/stories/components/Form/Button/Events/Events.stories.svelte +0 -36
  28. package/src/lib/stories/components/Form/Button/IconButton/IconButton.stories.svelte +0 -43
  29. package/src/lib/stories/components/Form/Button/Roundness/Roundness.stories.svelte +0 -23
  30. package/src/lib/stories/components/Form/Button/Size/Size.stories.svelte +0 -16
  31. package/src/lib/stories/components/Form/Button/Variant/Variant.stories.svelte +0 -18
  32. package/src/lib/stories/components/Form/DatePicker/Color/Color.stories.svelte +0 -47
  33. package/src/lib/stories/components/Form/DatePicker/Controls/Controls.stories.svelte +0 -58
  34. package/src/lib/stories/components/Form/DatePicker/Customize/Customize.stories.svelte +0 -167
  35. package/src/lib/stories/components/Form/DatePicker/DatePicker.stories.svelte +0 -107
  36. package/src/lib/stories/components/Form/DatePicker/Events/Events.stories.svelte +0 -147
  37. package/src/lib/stories/components/Form/DatePicker/FilterDates/FilterDates.stories.svelte +0 -61
  38. package/src/lib/stories/components/Form/DatePicker/Positions/AutoPosition/AutoPosition.stories.svelte +0 -46
  39. package/src/lib/stories/components/Form/DatePicker/Positions/Positions.stories.svelte +0 -57
  40. package/src/lib/stories/components/Form/DatePicker/Roundness/Roundness.stories.svelte +0 -38
  41. package/src/lib/stories/components/Form/DatePicker/Size/Size.stories.svelte +0 -41
  42. package/src/lib/stories/components/Form/DatePicker/WithIcon/WithIcon.stories.svelte +0 -41
  43. package/src/lib/stories/components/Form/FormControl/FormControl.stories.svelte +0 -28
  44. package/src/lib/stories/components/Form/Label/Label.stories.svelte +0 -13
  45. package/src/lib/stories/components/Form/Message/Color/Color.stories.svelte +0 -36
  46. package/src/lib/stories/components/Form/Message/Message.stories.svelte +0 -27
  47. package/src/lib/stories/components/Form/Message/Size/Size.stories.svelte +0 -22
  48. package/src/lib/stories/components/Form/NumericInput/Events/Events.stories.svelte +0 -134
  49. package/src/lib/stories/components/Form/NumericInput/NumericInput.stories.svelte +0 -84
  50. package/src/lib/stories/components/Form/NumericInput/Size/Size.stories.svelte +0 -16
  51. package/src/lib/stories/components/Form/NumericInput/Validation/Validation.stories.svelte +0 -87
  52. package/src/lib/stories/components/Form/NumericInput/WithIcon/WithIcon.stories.svelte +0 -31
  53. package/src/lib/stories/components/Form/PasswordInput/Events/Events.stories.svelte +0 -132
  54. package/src/lib/stories/components/Form/PasswordInput/PasswordInput.stories.svelte +0 -58
  55. package/src/lib/stories/components/Form/PasswordInput/Roundness/Roundness.stories.svelte +0 -20
  56. package/src/lib/stories/components/Form/PasswordInput/Size/Size.stories.svelte +0 -16
  57. package/src/lib/stories/components/Form/PasswordInput/WithIcon/WithIcon.stories.svelte +0 -31
  58. package/src/lib/stories/components/Form/RangeSlider/Events/Events.stories.svelte +0 -63
  59. package/src/lib/stories/components/Form/RangeSlider/RangeSlider.stories.svelte +0 -69
  60. package/src/lib/stories/components/Form/RangeSlider/Roundness/Roundness.stories.svelte +0 -30
  61. package/src/lib/stories/components/Form/RangeSlider/WithIcon/WithIcon.stories.svelte +0 -33
  62. package/src/lib/stories/components/Form/Select/Customize/Customize.stories.svelte +0 -139
  63. package/src/lib/stories/components/Form/Select/DropDownArrow/DropDownArrow.stories.svelte +0 -63
  64. package/src/lib/stories/components/Form/Select/Events/Events.stories.svelte +0 -174
  65. package/src/lib/stories/components/Form/Select/Options/OptionFormat.mdx +0 -40
  66. package/src/lib/stories/components/Form/Select/Positions/AutoPosition/AutoPosition.stories.svelte +0 -58
  67. package/src/lib/stories/components/Form/Select/Positions/Positions.stories.svelte +0 -87
  68. package/src/lib/stories/components/Form/Select/Roundness/Roundness.stories.svelte +0 -32
  69. package/src/lib/stories/components/Form/Select/Select.stories.svelte +0 -125
  70. package/src/lib/stories/components/Form/Select/Size/Size.stories.svelte +0 -28
  71. package/src/lib/stories/components/Form/Select/WithIcon/WithIcon.stories.svelte +0 -43
  72. package/src/lib/stories/components/Form/TextInput/Events/Events.stories.svelte +0 -125
  73. package/src/lib/stories/components/Form/TextInput/Roundness/Roundness.stories.svelte +0 -21
  74. package/src/lib/stories/components/Form/TextInput/Size/Size.stories.svelte +0 -17
  75. package/src/lib/stories/components/Form/TextInput/TextInput.stories.svelte +0 -43
  76. package/src/lib/stories/components/Form/TextInput/WithIcon/WithIcon.stories.svelte +0 -47
  77. package/src/lib/stories/components/Info/Calendar/Calendar.stories.svelte +0 -121
  78. package/src/lib/stories/components/Info/Calendar/Color/Color.stories.svelte +0 -23
  79. package/src/lib/stories/components/Info/Calendar/Controls/Controls.stories.svelte +0 -26
  80. package/src/lib/stories/components/Info/Calendar/Customize/Customize.stories.svelte +0 -160
  81. package/src/lib/stories/components/Info/Calendar/Events/Events.stories.svelte +0 -122
  82. package/src/lib/stories/components/Info/Calendar/FilterDates/FilterDates.stories.svelte +0 -70
  83. package/src/lib/stories/components/Info/Calendar/Size/Size.stories.svelte +0 -20
  84. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarControls.stories.svelte +0 -36
  85. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/CalendarMonthSelector.stories.svelte +0 -58
  86. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Color/Color.stories.svelte +0 -23
  87. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Customize/Customize.stories.svelte +0 -30
  88. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Events/Events.stories.svelte +0 -25
  89. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/NameTypes/NameTypes.stories.svelte +0 -25
  90. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Roundness/Roundness.stories.svelte +0 -26
  91. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarMonthSelector/Size/Size.stories.svelte +0 -20
  92. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/CalendarNavigation.stories.svelte +0 -36
  93. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Color/Color.stories.svelte +0 -19
  94. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Customize/Customize.stories.svelte +0 -33
  95. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Events/Events.stories.svelte +0 -37
  96. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarNavigation/Size/Size.stories.svelte +0 -16
  97. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/CalendarYearSelector.stories.svelte +0 -58
  98. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Color/Color.stories.svelte +0 -23
  99. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Customize/Customize.stories.svelte +0 -30
  100. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Events/Events.stories.svelte +0 -25
  101. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Roundness/Roundness.stories.svelte +0 -26
  102. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/CalendarYearSelector/Size/Size.stories.svelte +0 -20
  103. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Color/Color.stories.svelte +0 -23
  104. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Controls/Controls.stories.svelte +0 -21
  105. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Customize/Customize.stories.svelte +0 -69
  106. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Events/Events.stories.svelte +0 -61
  107. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarControls/Size/Size.stories.svelte +0 -20
  108. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/CalendarDateChip.stories.svelte +0 -75
  109. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Color/Color.stories.svelte +0 -41
  110. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Customize/Customize.stories.svelte +0 -45
  111. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Events/Events.stories.svelte +0 -28
  112. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Roundness/Roundness.stories.svelte +0 -31
  113. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/Size/Size.stories.svelte +0 -24
  114. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDateChip/SpecialChips/SpecialChips.stories.svelte +0 -96
  115. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarDatesChart.stories.svelte +0 -104
  116. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/CalendarWeek.stories.svelte +0 -38
  117. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/Customize/Customize.stories.svelte +0 -32
  118. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/NameTypes/NameTypes.stories.svelte +0 -28
  119. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/CalendarWeek/Size/Size.stories.svelte +0 -16
  120. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Color/Color.stories.svelte +0 -23
  121. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Customize/Customize.stories.svelte +0 -68
  122. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Events/Events.stories.svelte +0 -24
  123. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarDatesChart/Size/Size.stories.svelte +0 -20
  124. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/CalendarMonthChip.stories.svelte +0 -40
  125. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Color/Color.stories.svelte +0 -29
  126. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Customize/Customize.stories.svelte +0 -33
  127. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Events/Events.stories.svelte +0 -23
  128. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Roundness/Roundness.stories.svelte +0 -26
  129. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthChip/Size/Size.stories.svelte +0 -19
  130. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/CalendarMonthList.stories.svelte +0 -45
  131. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Color/Color.stories.svelte +0 -22
  132. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Customize/Customize.stories.svelte +0 -36
  133. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Events/Events.stories.svelte +0 -33
  134. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarMonthList/Size/Size.stories.svelte +0 -19
  135. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/CalendarYearChip.stories.svelte +0 -41
  136. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Color/Color.stories.svelte +0 -30
  137. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Customize/Customize.stories.svelte +0 -33
  138. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Events/Events.stories.svelte +0 -24
  139. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Roundness/Roundness.stories.svelte +0 -27
  140. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearChip/Size/Size.stories.svelte +0 -20
  141. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/CalendarYearList.stories.svelte +0 -39
  142. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Color/Color.stories.svelte +0 -23
  143. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Customize/Customize.stories.svelte +0 -36
  144. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Events/Events.stories.svelte +0 -24
  145. package/src/lib/stories/components/Info/Calendar/SubComponents/CalendarYearList/Size/Size.stories.svelte +0 -20
  146. package/src/lib/stories/components/Info/Calendar/utils/createDateOfMonth/index.mdx +0 -121
  147. package/src/lib/stories/components/Info/Calendar/utils/getDatesOfMonth/index.mdx +0 -37
  148. package/src/lib/stories/components/Layout/Menu/DynamicMenu/Customize/Customize.stories.svelte +0 -30
  149. package/src/lib/stories/components/Layout/Menu/DynamicMenu/DynamicMenu.stories.svelte +0 -56
  150. package/src/lib/stories/components/Layout/Menu/DynamicMenu/Events/Events.stories.svelte +0 -48
  151. package/src/lib/stories/components/Layout/Menu/DynamicMenu/KeybaordNavigation/KeybaordNavigation.stories.svelte +0 -29
  152. package/src/lib/stories/components/Layout/Menu/DynamicMenu/Options/OptionFormat.mdx +0 -72
  153. package/src/lib/stories/components/Layout/Menu/Menu.stories.svelte +0 -69
  154. package/src/lib/stories/components/Layout/Menu/MenuItem/MenuItem.stories.svelte +0 -34
  155. package/src/lib/stories/components/Layout/Menu/MenuItem/Size/Size.stories.svelte +0 -16
  156. package/src/lib/stories/components/Layout/Menu/MenuItem/Type/Type.stories.svelte +0 -21
  157. package/src/lib/stories/components/Layout/Menu/Size/Size.stories.svelte +0 -37
  158. package/src/lib/stories/components/Layout/Paper/Color/Color.stories.svelte +0 -63
  159. package/src/lib/stories/components/Layout/Paper/Paper.stories.svelte +0 -50
  160. package/src/lib/stories/components/Layout/Paper/Roundness/Roundness.stories.svelte +0 -25
  161. package/src/lib/stories/components/Layout/Paper/Shadow/Shadow.stories.svelte +0 -24
  162. package/src/lib/stories/components/Layout/Separator/Color/Color.stories.svelte +0 -19
  163. package/src/lib/stories/components/Layout/Separator/Separator.stories.svelte +0 -30
  164. package/src/lib/stories/developer tools/Intro.mdx +0 -9
  165. package/src/lib/stories/developer tools/components/DynamicInput/DynamicInput.stories.svelte +0 -53
  166. package/src/lib/stories/developer tools/components/DynamicInput/Events/Events.stories.svelte +0 -121
  167. package/src/lib/stories/developer tools/components/DynamicInput/Size/Size.stories.svelte +0 -17
  168. package/src/lib/stories/developer tools/components/InputEnclosure/InputEnclosure.stories.svelte +0 -38
  169. package/src/lib/stories/developer tools/components/InputEnclosure/Roundness/Roundness.stories.svelte +0 -20
  170. package/src/lib/stories/developer tools/components/InputEnclosure/Size/Size.stories.svelte +0 -16
  171. package/src/lib/stories/developer tools/components/InputEnclosure/WithIcon/WithIcon.stories.svelte +0 -47
  172. package/src/lib/stories/developer tools/components/Popper/Popper.stories.svelte +0 -140
  173. package/src/lib/stories/developer tools/components/Popper/PopperPopup/PopperPopup.stories.svelte +0 -64
  174. package/src/lib/stories/developer tools/components/Popper/Positions/AutoPosition/AutoPosition.stories.svelte +0 -92
  175. package/src/lib/stories/developer tools/components/Popper/Positions/Positions.stories.svelte +0 -114
  176. package/src/lib/stories/developer tools/components/UtilityButton/Size/Size.stories.svelte +0 -25
  177. package/src/lib/stories/developer tools/components/UtilityButton/UtilityButton.stories.svelte +0 -30
  178. package/src/lib/stories/developer tools/directives/clickOutside/index.mdx +0 -25
  179. package/src/lib/stories/developer tools/helpers/Numbers/cleanNumericString/index.mdx +0 -20
  180. package/src/lib/stories/developer tools/helpers/Numbers/isValidNumberValue/index.mdx +0 -71
  181. package/src/lib/stories/developer tools/helpers/Time/getMoment/index.mdx +0 -45
  182. package/src/lib/stories/developer tools/helpers/logger/index.mdx +0 -63
  183. package/src/lib/stories/developer tools/philosophy/Colors/Colors.mdx +0 -43
  184. package/src/lib/stories/developer tools/philosophy/Colors/Colors.stories.svelte +0 -22
  185. package/src/lib/stories/developer tools/philosophy/Colors/Opacity.stories.svelte +0 -11
  186. package/src/lib/stories/developer tools/philosophy/Themes.mdx +0 -23
@@ -0,0 +1,34 @@
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 { Snippet } from 'svelte';
5
+ import type { ChangeEventHandler } from 'svelte/elements';
6
+ export interface ToggleProps {
7
+ /** Toggle contents goes here */
8
+ children?: Snippet;
9
+ /** Toggle ref */
10
+ ref?: HTMLInputElement;
11
+ /** How large should the toggle be? */
12
+ size?: ComponentSize;
13
+ /** What color to use? */
14
+ color?: ComponentColor;
15
+ /** How round should the border radius be? */
16
+ roundness?: ComponentRoundness;
17
+ /** Toggle disabled state */
18
+ disabled?: boolean;
19
+ /** Name */
20
+ name?: string;
21
+ /** Id */
22
+ id?: string;
23
+ /** Title (for tooltip) */
24
+ title?: string;
25
+ /** Custom css class*/
26
+ class?: string;
27
+ /** onchange event handler */
28
+ onchange?: ChangeEventHandler<HTMLInputElement>;
29
+ /** checked */
30
+ checked?: boolean;
31
+ }
32
+ declare const Toggle: import("svelte").Component<ToggleProps, {}, "ref" | "checked">;
33
+ type Toggle = ReturnType<typeof Toggle>;
34
+ export default Toggle;
@@ -0,0 +1,81 @@
1
+ /// Mixin: generate-dodo-ui-toggle-colors
2
+ /// Generates CSS custom properties for Dodo UI toggle styles (text & solid)
3
+ /// across different interaction states (default, hover, active).
4
+ /// @param {String} $color-name - The theme color name (e.g., "primary", "safe", etc.)
5
+ @mixin generate-dodo-ui-toggle-colors($color-name) {
6
+ --dodo-ui-Toggle-#{$color-name}-bg: var(--dodo-color-#{$color-name}-200);
7
+ --dodo-ui-Toggle-#{$color-name}-hover-bg: var(--dodo-color-#{$color-name}-300);
8
+ --dodo-ui-Toggle-#{$color-name}-active-bg: var(--dodo-color-#{$color-name}-400);
9
+
10
+ --dodo-ui-Toggle-#{$color-name}-checked-bg: var(--dodo-color-#{$color-name}-500);
11
+ --dodo-ui-Toggle-#{$color-name}-checked-hover-bg: var(--dodo-color-#{$color-name}-600);
12
+ --dodo-ui-Toggle-#{$color-name}-checked-active-bg: var(--dodo-color-#{$color-name}-700);
13
+ }
14
+
15
+ /// Mixin: generate-dodo-ui-toggle-colors
16
+ /// Generates CSS custom properties for Dodo UI toggle styles (text & solid)
17
+ /// across different interaction states (default, hover, active).
18
+ /// @param {String} $color-name - The theme color name (e.g., "primary", "safe", etc.)
19
+ @mixin generate-dodo-ui-toggle-colors-dark($color-name) {
20
+ --dodo-ui-Toggle-#{$color-name}-bg: var(--dodo-color-#{$color-name}-800);
21
+ --dodo-ui-Toggle-#{$color-name}-hover-bg: var(--dodo-color-#{$color-name}-700);
22
+ --dodo-ui-Toggle-#{$color-name}-active-bg: var(--dodo-color-#{$color-name}-600);
23
+
24
+ --dodo-ui-Toggle-#{$color-name}-checked-bg: var(--dodo-color-#{$color-name}-400);
25
+ --dodo-ui-Toggle-#{$color-name}-checked-hover-bg: var(--dodo-color-#{$color-name}-300);
26
+ --dodo-ui-Toggle-#{$color-name}-checked-active-bg: var(--dodo-color-#{$color-name}-200);
27
+ }
28
+
29
+ /// Mixin: generate-dodo-ui-toggle-color
30
+ /// @param {String} $theme - e.g., default, safe, danger, etc.
31
+ @mixin generate-dodo-ui-toggle-color($theme) {
32
+ &--#{$theme} {
33
+ .Toggle {
34
+ background-color: var(--dodo-ui-Toggle-#{$theme}-bg);
35
+ }
36
+
37
+ input:checked:not([disabled]) {
38
+ & + .Toggle {
39
+ background-color: var(--dodo-ui-Toggle-#{$theme}-checked-bg);
40
+ }
41
+ }
42
+
43
+ &:hover {
44
+ .Toggle {
45
+ background-color: var(--dodo-ui-Toggle-#{$theme}-hover-bg);
46
+ }
47
+
48
+ input:checked:not([disabled]) {
49
+ & + .Toggle {
50
+ background-color: var(--dodo-ui-Toggle-#{$theme}-checked-hover-bg);
51
+ }
52
+ }
53
+ }
54
+
55
+ &:active {
56
+ .Toggle {
57
+ background-color: var(--dodo-ui-Toggle-#{$theme}-active-bg);
58
+ }
59
+
60
+ input:checked:not([disabled]) {
61
+ & + .Toggle {
62
+ background-color: var(--dodo-ui-Toggle-#{$theme}-checked-active-bg);
63
+ }
64
+ }
65
+ }
66
+
67
+ input:not([disabled]) {
68
+ &:focus-visible {
69
+ & + .Toggle {
70
+ background-color: var(--dodo-ui-Toggle-#{$theme}-active-bg);
71
+ }
72
+
73
+ &:checked {
74
+ & + .Toggle {
75
+ background-color: var(--dodo-ui-Toggle-#{$theme}-checked-active-bg);
76
+ }
77
+ }
78
+ }
79
+ }
80
+ }
81
+ }
package/package.json CHANGED
@@ -1,6 +1,19 @@
1
1
  {
2
2
  "name": "@flightlesslabs/dodo-ui",
3
- "version": "0.13.0",
3
+ "version": "0.14.0",
4
+ "scripts": {
5
+ "build": "vite build && pnpm run prepack",
6
+ "preview": "vite preview",
7
+ "prepare": "svelte-kit sync || echo ''",
8
+ "prepack": "svelte-kit sync && svelte-package && publint",
9
+ "svelte-check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
10
+ "format": "prettier --write .",
11
+ "lint": "prettier --check . && eslint .",
12
+ "dev": "storybook dev -p 6006",
13
+ "build-storybook": "storybook build && touch ./storybook-static/.nojekyll",
14
+ "check": "pnpm run svelte-check && eslint . && pnpm run lint",
15
+ "check:fix": "pnpm run svelte-check && eslint . && pnpm run format"
16
+ },
4
17
  "homepage": "https://flightlesslabs.github.io/dodo-ui",
5
18
  "repository": {
6
19
  "type": "git",
@@ -79,16 +92,5 @@
79
92
  "dependencies": {
80
93
  "@iconify/svelte": "^5.0.1",
81
94
  "dayjs": "^1.11.13"
82
- },
83
- "scripts": {
84
- "build": "vite build && pnpm run prepack",
85
- "preview": "vite preview",
86
- "svelte-check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
87
- "format": "prettier --write .",
88
- "lint": "prettier --check . && eslint .",
89
- "dev": "storybook dev -p 6006",
90
- "build-storybook": "storybook build && touch ./storybook-static/.nojekyll",
91
- "check": "pnpm run svelte-check && eslint . && pnpm run lint",
92
- "check:fix": "pnpm run svelte-check && eslint . && pnpm run format"
93
95
  }
94
- }
96
+ }
package/src/lib/index.ts CHANGED
@@ -126,6 +126,10 @@ export type {
126
126
  export { default as RangeSlider } from '$lib/stories/components/Form/RangeSlider/RangeSlider.svelte';
127
127
  export type { RangeSliderProps } from '$lib/stories/components/Form/RangeSlider/RangeSlider.svelte';
128
128
 
129
+ /** Form: Toggle */
130
+ export { default as Toggle } from '$lib/stories/components/Form/Toggle/Toggle.svelte';
131
+ export type { ToggleProps } from '$lib/stories/components/Form/Toggle/Toggle.svelte';
132
+
129
133
  /** Layout: Paper */
130
134
  export { default as Paper } from '$lib/stories/components/Layout/Paper/Paper.svelte';
131
135
  export type { PaperColor, PaperProps } from '$lib/stories/components/Layout/Paper/Paper.svelte';
@@ -16,8 +16,8 @@
16
16
  | undefined
17
17
  | null;
18
18
  export type ButtonLinkReferrerpolicy = ReferrerPolicy | undefined | null;
19
- export type ButtonType = 'button' | 'submit';
20
- export const buttonTypeArray: ButtonType[] = ['button', 'submit'];
19
+ export type ButtonType = 'button' | 'submit' | 'reset';
20
+ export const buttonTypeArray: ButtonType[] = ['button', 'submit', 'reset'];
21
21
 
22
22
  export type ButtonClickEvent = MouseEvent & {
23
23
  currentTarget: EventTarget & HTMLButtonElement;
@@ -0,0 +1,262 @@
1
+ <script lang="ts" module>
2
+ import type { ComponentColor } from '$lib/types/colors.js';
3
+ import type { ComponentRoundness } from '$lib/types/roundness.js';
4
+ import type { ComponentSize } from '$lib/types/size.js';
5
+
6
+ import type { Snippet } from 'svelte';
7
+ import type { ChangeEventHandler } from 'svelte/elements';
8
+
9
+ export interface ToggleProps {
10
+ /** Toggle contents goes here */
11
+ children?: Snippet;
12
+ /** Toggle ref */
13
+ ref?: HTMLInputElement;
14
+ /** How large should the toggle be? */
15
+ size?: ComponentSize;
16
+ /** What color to use? */
17
+ color?: ComponentColor;
18
+ /** How round should the border radius be? */
19
+ roundness?: ComponentRoundness;
20
+ /** Toggle disabled state */
21
+ disabled?: boolean;
22
+ /** Name */
23
+ name?: string;
24
+ /** Id */
25
+ id?: string;
26
+ /** Title (for tooltip) */
27
+ title?: string;
28
+ /** Custom css class*/
29
+ class?: string;
30
+ /** onchange event handler */
31
+ onchange?: ChangeEventHandler<HTMLInputElement>;
32
+ /** checked */
33
+ checked?: boolean;
34
+ }
35
+ </script>
36
+
37
+ <script lang="ts">
38
+ let {
39
+ children,
40
+ size = 'normal',
41
+ color = 'primary',
42
+ roundness = 3,
43
+ name,
44
+ id,
45
+ title,
46
+ class: className = '',
47
+ disabled = false,
48
+ checked = $bindable<boolean>(),
49
+ ref = $bindable<HTMLInputElement>(),
50
+ onchange,
51
+ }: ToggleProps = $props();
52
+ </script>
53
+
54
+ <label
55
+ class:disabled
56
+ class={[
57
+ 'dodo-ui-Toggle',
58
+ `size--${size}`,
59
+ `color--${color}`,
60
+ `roundness--${roundness}`,
61
+ className,
62
+ ].join(' ')}
63
+ for={id}
64
+ >
65
+ <input type="checkbox" {name} {id} {title} {disabled} {onchange} bind:this={ref} bind:checked />
66
+ <div class="Toggle">
67
+ <span class="ToggleHandle"></span>
68
+ </div>
69
+
70
+ {#if children}
71
+ <div class="ToggleMessage">
72
+ {@render children()}
73
+ </div>
74
+ {/if}
75
+ </label>
76
+
77
+ <style lang="scss">
78
+ @use 'utils/scss/mixins.scss' as *;
79
+
80
+ :global(:root) {
81
+ --dodo-ui-Toggle-disabled-color: var(--dodo-color-neutral-400);
82
+ --dodo-ui-Toggle-disabled-bg: var(--dodo-color-neutral-200);
83
+
84
+ --dodo-ui-ToggleHandle-bg: var(--dodo-color-neutral-500);
85
+ --dodo-ui-ToggleHandle-disabled-bg: var(--dodo-color-neutral-400);
86
+
87
+ @include generate-dodo-ui-toggle-colors(neutral);
88
+ @include generate-dodo-ui-toggle-colors(primary);
89
+ @include generate-dodo-ui-toggle-colors(secondary);
90
+ @include generate-dodo-ui-toggle-colors(safe);
91
+ @include generate-dodo-ui-toggle-colors(warning);
92
+ @include generate-dodo-ui-toggle-colors(danger);
93
+ }
94
+
95
+ :global(.dodo-theme--dark) {
96
+ --dodo-ui-Toggle-disabled-bg: var(--dodo-color-neutral-100);
97
+ --dodo-ui-Toggle-disabled-color: var(--dodo-color-neutral-500);
98
+
99
+ --dodo-ui-ToggleHandle-bg: var(--dodo-color-neutral-300);
100
+ --dodo-ui-ToggleHandle-disabled-bg: var(--dodo-color-neutral-200);
101
+
102
+ @include generate-dodo-ui-toggle-colors-dark(neutral);
103
+ @include generate-dodo-ui-toggle-colors-dark(primary);
104
+ @include generate-dodo-ui-toggle-colors-dark(secondary);
105
+ @include generate-dodo-ui-toggle-colors-dark(safe);
106
+ @include generate-dodo-ui-toggle-colors-dark(warning);
107
+ @include generate-dodo-ui-toggle-colors-dark(danger);
108
+ }
109
+
110
+ .dodo-ui-Toggle {
111
+ cursor: pointer;
112
+ outline: none;
113
+ display: inline-flex;
114
+ padding: 0;
115
+ margin: 0;
116
+
117
+ input {
118
+ opacity: 0;
119
+ width: 0;
120
+ height: 0;
121
+
122
+ &:checked {
123
+ & + .Toggle {
124
+ .ToggleHandle {
125
+ transform: translateX(var(--ToggleHandle-offset));
126
+ }
127
+ }
128
+
129
+ &:not([disabled]) {
130
+ & + .Toggle {
131
+ .ToggleHandle {
132
+ background-color: var(--dodo-color-constant-white);
133
+ }
134
+ }
135
+ }
136
+ }
137
+ }
138
+
139
+ .Toggle {
140
+ transition: all 150ms;
141
+ text-decoration: none;
142
+ margin: 0;
143
+ display: inline-flex;
144
+ justify-content: flex-start;
145
+ align-items: center;
146
+ font-family: inherit;
147
+ border-style: solid;
148
+ border-width: var(--dodo-ui-element-border-width);
149
+ border-color: transparent;
150
+ outline: 0;
151
+ letter-spacing: 0.3px;
152
+ padding: 0 var(--dodo-ui-space-small);
153
+ border-radius: inherit;
154
+ position: relative;
155
+ }
156
+
157
+ .ToggleMessage {
158
+ display: flex;
159
+ align-items: center;
160
+ margin-left: var(--dodo-ui-space);
161
+ user-select: none;
162
+ }
163
+
164
+ .ToggleHandle {
165
+ display: flex;
166
+ border-radius: 50%;
167
+ transition: all 150ms;
168
+ height: var(--ToggleHandle-size);
169
+ width: var(--ToggleHandle-size);
170
+ background-color: var(--dodo-ui-ToggleHandle-bg);
171
+ position: absolute;
172
+ right: initial;
173
+ }
174
+
175
+ &.size {
176
+ &--normal {
177
+ font-size: 1rem;
178
+ --ToggleHandle-size: calc(var(--dodo-ui-element-height-normal) / 1.8);
179
+ --ToggleHandle-offset: calc(var(--dodo-ui-element-height-normal) / 1.7);
180
+
181
+ .Toggle {
182
+ height: calc(var(--dodo-ui-element-height-normal) / 1.2);
183
+ width: calc(var(--dodo-ui-element-height-normal) * 1.5);
184
+ }
185
+ }
186
+
187
+ &--small {
188
+ font-size: 0.9rem;
189
+ --ToggleHandle-size: calc(var(--dodo-ui-element-height-small) / 1.8);
190
+ --ToggleHandle-offset: calc(var(--dodo-ui-element-height-small) / 1.9);
191
+
192
+ .Toggle {
193
+ height: calc(var(--dodo-ui-element-height-small) / 1.2);
194
+ width: calc(var(--dodo-ui-element-height-small) * 1.5);
195
+ }
196
+ }
197
+
198
+ &--large {
199
+ font-size: 1.1rem;
200
+ --ToggleHandle-size: calc(var(--dodo-ui-element-height-large) / 1.8);
201
+ --ToggleHandle-offset: calc(var(--dodo-ui-element-height-large) / 1.6);
202
+
203
+ .Toggle {
204
+ height: calc(var(--dodo-ui-element-height-large) / 1.2);
205
+ width: calc(var(--dodo-ui-element-height-large) * 1.5);
206
+ }
207
+ }
208
+ }
209
+
210
+ &.roundness {
211
+ &--1 {
212
+ border-radius: var(--dodo-ui-element-roundness-1);
213
+ }
214
+
215
+ &--2 {
216
+ border-radius: var(--dodo-ui-element-roundness-2);
217
+ }
218
+
219
+ &--3 {
220
+ border-radius: var(--dodo-ui-element-roundness-3);
221
+ }
222
+ }
223
+
224
+ &.color {
225
+ @include generate-dodo-ui-toggle-color(neutral);
226
+ @include generate-dodo-ui-toggle-color(primary);
227
+ @include generate-dodo-ui-toggle-color(secondary);
228
+ @include generate-dodo-ui-toggle-color(safe);
229
+ @include generate-dodo-ui-toggle-color(warning);
230
+ @include generate-dodo-ui-toggle-color(danger);
231
+ }
232
+
233
+ &.disabled {
234
+ cursor: initial;
235
+ color: var(--dodo-ui-Toggle-disabled-color);
236
+
237
+ .Toggle {
238
+ background-color: var(--dodo-ui-Toggle-disabled-bg);
239
+ }
240
+
241
+ .ToggleHandle {
242
+ background-color: var(--dodo-ui-ToggleHandle-disabled-bg);
243
+ }
244
+
245
+ &:hover {
246
+ color: var(--dodo-ui-Toggle-disabled-color);
247
+
248
+ .Toggle {
249
+ background-color: var(--dodo-ui-Toggle-disabled-bg);
250
+ }
251
+ }
252
+
253
+ &:active {
254
+ color: var(--dodo-ui-Toggle-disabled-color);
255
+
256
+ .Toggle {
257
+ background-color: var(--dodo-ui-Toggle-disabled-bg);
258
+ }
259
+ }
260
+ }
261
+ }
262
+ </style>
@@ -0,0 +1,81 @@
1
+ /// Mixin: generate-dodo-ui-toggle-colors
2
+ /// Generates CSS custom properties for Dodo UI toggle styles (text & solid)
3
+ /// across different interaction states (default, hover, active).
4
+ /// @param {String} $color-name - The theme color name (e.g., "primary", "safe", etc.)
5
+ @mixin generate-dodo-ui-toggle-colors($color-name) {
6
+ --dodo-ui-Toggle-#{$color-name}-bg: var(--dodo-color-#{$color-name}-200);
7
+ --dodo-ui-Toggle-#{$color-name}-hover-bg: var(--dodo-color-#{$color-name}-300);
8
+ --dodo-ui-Toggle-#{$color-name}-active-bg: var(--dodo-color-#{$color-name}-400);
9
+
10
+ --dodo-ui-Toggle-#{$color-name}-checked-bg: var(--dodo-color-#{$color-name}-500);
11
+ --dodo-ui-Toggle-#{$color-name}-checked-hover-bg: var(--dodo-color-#{$color-name}-600);
12
+ --dodo-ui-Toggle-#{$color-name}-checked-active-bg: var(--dodo-color-#{$color-name}-700);
13
+ }
14
+
15
+ /// Mixin: generate-dodo-ui-toggle-colors
16
+ /// Generates CSS custom properties for Dodo UI toggle styles (text & solid)
17
+ /// across different interaction states (default, hover, active).
18
+ /// @param {String} $color-name - The theme color name (e.g., "primary", "safe", etc.)
19
+ @mixin generate-dodo-ui-toggle-colors-dark($color-name) {
20
+ --dodo-ui-Toggle-#{$color-name}-bg: var(--dodo-color-#{$color-name}-800);
21
+ --dodo-ui-Toggle-#{$color-name}-hover-bg: var(--dodo-color-#{$color-name}-700);
22
+ --dodo-ui-Toggle-#{$color-name}-active-bg: var(--dodo-color-#{$color-name}-600);
23
+
24
+ --dodo-ui-Toggle-#{$color-name}-checked-bg: var(--dodo-color-#{$color-name}-400);
25
+ --dodo-ui-Toggle-#{$color-name}-checked-hover-bg: var(--dodo-color-#{$color-name}-300);
26
+ --dodo-ui-Toggle-#{$color-name}-checked-active-bg: var(--dodo-color-#{$color-name}-200);
27
+ }
28
+
29
+ /// Mixin: generate-dodo-ui-toggle-color
30
+ /// @param {String} $theme - e.g., default, safe, danger, etc.
31
+ @mixin generate-dodo-ui-toggle-color($theme) {
32
+ &--#{$theme} {
33
+ .Toggle {
34
+ background-color: var(--dodo-ui-Toggle-#{$theme}-bg);
35
+ }
36
+
37
+ input:checked:not([disabled]) {
38
+ & + .Toggle {
39
+ background-color: var(--dodo-ui-Toggle-#{$theme}-checked-bg);
40
+ }
41
+ }
42
+
43
+ &:hover {
44
+ .Toggle {
45
+ background-color: var(--dodo-ui-Toggle-#{$theme}-hover-bg);
46
+ }
47
+
48
+ input:checked:not([disabled]) {
49
+ & + .Toggle {
50
+ background-color: var(--dodo-ui-Toggle-#{$theme}-checked-hover-bg);
51
+ }
52
+ }
53
+ }
54
+
55
+ &:active {
56
+ .Toggle {
57
+ background-color: var(--dodo-ui-Toggle-#{$theme}-active-bg);
58
+ }
59
+
60
+ input:checked:not([disabled]) {
61
+ & + .Toggle {
62
+ background-color: var(--dodo-ui-Toggle-#{$theme}-checked-active-bg);
63
+ }
64
+ }
65
+ }
66
+
67
+ input:not([disabled]) {
68
+ &:focus-visible {
69
+ & + .Toggle {
70
+ background-color: var(--dodo-ui-Toggle-#{$theme}-active-bg);
71
+ }
72
+
73
+ &:checked {
74
+ & + .Toggle {
75
+ background-color: var(--dodo-ui-Toggle-#{$theme}-checked-active-bg);
76
+ }
77
+ }
78
+ }
79
+ }
80
+ }
81
+ }
@@ -1,59 +0,0 @@
1
- import { Source } from '@storybook/addon-docs/blocks';
2
- import item from '../../../package.json?raw';
3
-
4
- <main style={{ textAlign: 'center' }}>
5
-
6
- <img src="dodo-circle-6.png" style={{ width: 200, height: 'auto' }} />
7
-
8
- # Dodo UI
9
-
10
- <h3 style={{ fontWeight: 500 }}>v{JSON.parse(item)?.version}</h3>
11
-
12
- <h3 style={{ fontWeight: 400 }}>An open-source, opinionated UI framework for Svelte.</h3>
13
-
14
- ### [Github](https://github.com/flightlesslabs/dodo-ui) - [npm](https://www.npmjs.com/package/@flightlesslabs/dodo-ui)
15
-
16
- </main>
17
-
18
- <br />
19
- <br />
20
-
21
- ## Install
22
-
23
- pnpm
24
-
25
- <Source
26
- dark
27
- language="bash"
28
- code={`
29
- pnpm add @flightlesslabs/dodo-ui
30
- `}
31
- />
32
-
33
- npm
34
-
35
- <Source
36
- dark
37
- language="bash"
38
- code={`
39
- npm i @flightlesslabs/dodo-ui
40
- `}
41
- />
42
-
43
- ## Use it!
44
-
45
- Lets import [Button](?path=/docs/components-form-button--docs) component. Checkout documentation for [Button](?path=/docs/components-form-button--docs)
46
-
47
- <Source
48
- dark
49
- language="js"
50
- code={`
51
- import { Button } '@flightlesslabs/dodo-ui';
52
- `}
53
- />
54
-
55
- ## Explore more
56
-
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,61 +0,0 @@
1
- <script module lang="ts">
2
- import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import Button, { buttonTypeArray } from './Button.svelte';
4
- import type { StoryBookArgTypes } from '$lib/storybook-types.js';
5
- import { componentRoundnessArray } from '$lib/types/roundness.js';
6
- import { componentColorArray } from '$lib/types/colors.js';
7
- import { componentWeightArray } from '$lib/types/weight.js';
8
- import { componentSizeArray } from '$lib/types/size.js';
9
-
10
- export const storyButtonArgTypes: StoryBookArgTypes = {
11
- type: {
12
- control: { type: 'select' },
13
- options: buttonTypeArray,
14
- },
15
- color: {
16
- control: { type: 'select' },
17
- options: componentColorArray,
18
- },
19
- variant: {
20
- control: { type: 'select' },
21
- options: componentWeightArray,
22
- },
23
- roundness: {
24
- control: { type: 'select' },
25
- options: componentRoundnessArray,
26
- },
27
- size: {
28
- control: { type: 'select' },
29
- options: componentSizeArray,
30
- },
31
- };
32
-
33
- // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
34
- const { Story } = defineMeta({
35
- component: Button,
36
- tags: ['autodocs'],
37
- argTypes: storyButtonArgTypes,
38
- });
39
- </script>
40
-
41
- <!-- Button with default style -->
42
- <Story name="Primary">Click me!</Story>
43
-
44
- <!-- Button with border around it -->
45
- <Story name="Outline" args={{ outline: true, variant: 'text' }}>Click me!</Story>
46
-
47
- <Story name="Disabled" args={{ disabled: true }}>Click me!</Story>
48
-
49
- <!-- Form submit button -->
50
- <Story name="Sumbit Button" args={{ type: 'submit' }}>Submit Form</Story>
51
-
52
- <!-- Form submit button -->
53
- <Story name="Full width Button" args={{ fullWidth: true }}>Click me!</Story>
54
-
55
- <!-- Anchor Link styled like a Button -->
56
- <Story
57
- name="Link Button"
58
- args={{ href: 'https://www.w3schools.com/tags/tag_a.asp', target: '_blank' }}
59
- >
60
- Link
61
- </Story>
@@ -1,43 +0,0 @@
1
- <script module>
2
- import { defineMeta } from '@storybook/addon-svelte-csf';
3
- import Button from '../Button.svelte';
4
- import { storyButtonArgTypes } from '../Button.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: Button,
9
- tags: ['autodocs'],
10
- argTypes: storyButtonArgTypes,
11
- });
12
- </script>
13
-
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>
20
-
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>
27
-
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!
31
- </Story>
32
- <Story name="Neutral Outline" args={{ color: 'neutral', variant: 'text', outline: true }}>
33
- Click me!
34
- </Story>
35
- <Story name="Safe Outline" args={{ color: 'safe', variant: 'text', outline: true }}>
36
- Click me!
37
- </Story>
38
- <Story name="Warning Outline" args={{ color: 'warning', variant: 'text', outline: true }}>
39
- Click me!
40
- </Story>
41
- <Story name="Danger Outline" args={{ color: 'danger', variant: 'text', outline: true }}>
42
- Click me!
43
- </Story>