@flightlesslabs/dodo-ui 0.6.4 → 0.6.6

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 (122) hide show
  1. package/dist/index.d.ts +6 -4
  2. package/dist/stories/Home.mdx +4 -6
  3. package/dist/stories/components/Form/Button/Button.stories.svelte +16 -37
  4. package/dist/stories/components/Form/Button/Button.svelte +44 -46
  5. package/dist/stories/components/Form/Button/Button.svelte.d.ts +10 -9
  6. package/dist/stories/components/Form/Button/Color/Color.stories.svelte +23 -48
  7. package/dist/stories/components/Form/Button/Events/Events.stories.svelte +1 -7
  8. package/dist/stories/components/Form/Button/IconButton/IconButton.stories.svelte +4 -12
  9. package/dist/stories/components/Form/Button/Roundness/Roundness.stories.svelte +5 -31
  10. package/dist/stories/components/Form/Button/Size/Size.stories.svelte +3 -9
  11. package/dist/stories/components/Form/Button/Variant/Variant.stories.svelte +5 -8
  12. package/dist/stories/components/Form/FormControl/FormControl.stories.svelte +11 -12
  13. package/dist/stories/components/Form/FormControl/FormControl.svelte +3 -8
  14. package/dist/stories/components/Form/Label/Label.stories.svelte +1 -11
  15. package/dist/stories/components/Form/Label/Label.svelte +2 -4
  16. package/dist/stories/components/Form/Label/Label.svelte.d.ts +0 -2
  17. package/dist/stories/components/Form/Message/Color/Color.stories.svelte +9 -9
  18. package/dist/stories/components/Form/Message/Message.stories.svelte +5 -13
  19. package/dist/stories/components/Form/Message/Message.svelte +4 -9
  20. package/dist/stories/components/Form/Message/Message.svelte.d.ts +3 -5
  21. package/dist/stories/components/Form/Message/Size/Size.stories.svelte +3 -5
  22. package/dist/stories/components/Form/PasswordInput/Events/Events.stories.svelte +8 -72
  23. package/dist/stories/components/Form/PasswordInput/PasswordInput.stories.svelte +5 -3
  24. package/dist/stories/components/Form/PasswordInput/PasswordInput.svelte +4 -4
  25. package/dist/stories/components/Form/PasswordInput/PasswordInput.svelte.d.ts +3 -2
  26. package/dist/stories/components/Form/PasswordInput/Roundness/Roundness.stories.svelte +4 -4
  27. package/dist/stories/components/Form/PasswordInput/WithIcon/WithIcon.stories.svelte +2 -2
  28. package/dist/stories/components/Form/SimpleSelect/Events/Events.stories.svelte +3 -30
  29. package/dist/stories/components/Form/SimpleSelect/Roundness/Roundness.stories.svelte +4 -4
  30. package/dist/stories/components/Form/SimpleSelect/SimpleSelect.stories.svelte +4 -6
  31. package/dist/stories/components/Form/SimpleSelect/SimpleSelect.svelte +4 -4
  32. package/dist/stories/components/Form/SimpleSelect/SimpleSelect.svelte.d.ts +3 -2
  33. package/dist/stories/components/Form/SimpleSelect/WithIcon/WithIcon.stories.svelte +2 -2
  34. package/dist/stories/components/Form/TextInput/Events/Events.stories.svelte +7 -63
  35. package/dist/stories/components/Form/TextInput/Roundness/Roundness.stories.svelte +4 -4
  36. package/dist/stories/components/Form/TextInput/TextInput.stories.svelte +6 -4
  37. package/dist/stories/components/Form/TextInput/TextInput.svelte +12 -5
  38. package/dist/stories/components/Form/TextInput/TextInput.svelte.d.ts +4 -2
  39. package/dist/stories/components/Form/TextInput/WithIcon/WithIcon.stories.svelte +4 -4
  40. package/dist/stories/components/Layout/Paper/Color/Color.stories.svelte +63 -0
  41. package/dist/stories/components/Layout/Paper/Color/Color.stories.svelte.d.ts +26 -0
  42. package/dist/stories/components/Layout/Paper/Paper.stories.svelte +25 -16
  43. package/dist/stories/components/Layout/Paper/Paper.svelte +211 -14
  44. package/dist/stories/components/Layout/Paper/Paper.svelte.d.ts +18 -7
  45. package/dist/stories/components/Layout/Paper/Roundness/Roundness.stories.svelte +8 -13
  46. package/dist/stories/components/Layout/Paper/Shadow/Shadow.stories.svelte +6 -24
  47. package/dist/stories/components/Layout/Paper/utils/scss/mixins.scss +46 -0
  48. package/dist/stories/developer tools/Intro.mdx +2 -0
  49. package/dist/stories/developer tools/components/InputEnclosure/InputEnclosure.stories.svelte +5 -5
  50. package/dist/stories/developer tools/components/InputEnclosure/InputEnclosure.svelte +14 -14
  51. package/dist/stories/developer tools/components/InputEnclosure/InputEnclosure.svelte.d.ts +3 -2
  52. package/dist/stories/developer tools/components/InputEnclosure/Roundness/Roundness.stories.svelte +4 -4
  53. package/dist/stories/developer tools/components/InputEnclosure/WithIcon/WithIcon.stories.svelte +4 -4
  54. package/dist/stories/developer tools/components/UtilityButton/Size/Size.stories.svelte +3 -3
  55. package/dist/stories/developer tools/components/UtilityButton/UtilityButton.stories.svelte +4 -3
  56. package/dist/stories/developer tools/components/UtilityButton/UtilityButton.svelte +3 -3
  57. package/dist/stories/developer tools/components/UtilityButton/UtilityButton.svelte.d.ts +1 -1
  58. package/dist/stories/{philosophy/Colors/Colors.mdx → developer tools/philosophy/Colors/Colors.mdx } +2 -2
  59. package/dist/stories/{philosophy/Colors/Swatches/Palette.svelte → developer tools/philosophy/Colors/Swatches/Palette.svelte } +1 -1
  60. package/dist/stories/{philosophy/Colors/Swatches/Swatch.svelte → developer tools/philosophy/Colors/Swatches/Swatch.svelte } +1 -1
  61. package/dist/stories/{philosophy/Colors/Swatches/Swatches.svelte → developer tools/philosophy/Colors/Swatches/Swatches.svelte } +1 -1
  62. package/dist/stories/{philosophy/Colors/utils/color.js → developer tools/philosophy/Colors/utils/color.js } +1 -1
  63. package/dist/stories/{philosophy/Themes.mdx → developer tools/philosophy/Themes.mdx } +1 -1
  64. package/dist/styles/_colors.css +44 -44
  65. package/dist/styles/_components.css +6 -3
  66. package/dist/styles/_shadow.css +13 -20
  67. package/dist/styles/_space.css +7 -0
  68. package/dist/styles/global.css +1 -0
  69. package/dist/types/colors.d.ts +7 -0
  70. package/dist/types/colors.js +10 -0
  71. package/dist/types/roundness.d.ts +3 -0
  72. package/dist/types/roundness.js +1 -0
  73. package/dist/types/shadow.d.ts +3 -0
  74. package/dist/types/shadow.js +1 -0
  75. package/dist/types/size.d.ts +3 -0
  76. package/dist/types/size.js +1 -0
  77. package/dist/types/weight.d.ts +3 -0
  78. package/dist/types/weight.js +1 -0
  79. package/package.json +24 -24
  80. package/src/lib/index.ts +13 -8
  81. package/src/lib/stories/components/Form/Button/Button.svelte +30 -31
  82. package/src/lib/stories/components/Form/FormControl/FormControl.svelte +2 -7
  83. package/src/lib/stories/components/Form/Label/Label.svelte +1 -6
  84. package/src/lib/stories/components/Form/Message/Message.svelte +9 -16
  85. package/src/lib/stories/components/Form/PasswordInput/PasswordInput.svelte +7 -6
  86. package/src/lib/stories/components/Form/SimpleSelect/SimpleSelect.svelte +7 -6
  87. package/src/lib/stories/components/Form/TextInput/TextInput.svelte +16 -6
  88. package/src/lib/stories/components/Layout/Paper/Paper.svelte +151 -23
  89. package/src/lib/stories/components/Layout/Paper/utils/scss/mixins.scss +46 -0
  90. package/src/lib/stories/developer tools/components/InputEnclosure/InputEnclosure.svelte +17 -16
  91. package/src/lib/stories/developer tools/components/UtilityButton/UtilityButton.svelte +4 -4
  92. package/src/lib/stories/developer tools/philosophy/Colors/Colors.svelte +46 -0
  93. package/src/lib/stories/developer tools/philosophy/Colors/Opacity.svelte +23 -0
  94. package/src/lib/stories/developer tools/philosophy/Colors/Swatches/Palette.svelte +46 -0
  95. package/src/lib/stories/developer tools/philosophy/Colors/Swatches/Swatch.svelte +35 -0
  96. package/src/lib/stories/developer tools/philosophy/Colors/Swatches/Swatches.svelte +55 -0
  97. package/src/lib/stories/developer tools/philosophy/Colors/utils/color.ts +41 -0
  98. package/src/lib/styles/_colors.css +44 -44
  99. package/src/lib/styles/_components.css +6 -3
  100. package/src/lib/styles/_shadow.css +13 -20
  101. package/src/lib/styles/_space.css +7 -0
  102. package/src/lib/styles/global.css +1 -0
  103. package/src/lib/types/colors.ts +16 -0
  104. package/src/lib/types/roundness.ts +3 -0
  105. package/src/lib/types/shadow.ts +3 -0
  106. package/src/lib/types/size.ts +3 -0
  107. package/src/lib/types/weight.ts +3 -0
  108. package/dist/types.d.ts +0 -5
  109. package/dist/types.js +0 -1
  110. package/src/lib/types.ts +0 -6
  111. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/Colors.stories.svelte +0 -0
  112. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/Colors.stories.svelte.d.ts +0 -0
  113. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/Colors.svelte +0 -0
  114. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/Colors.svelte.d.ts +0 -0
  115. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/Opacity.stories.svelte +0 -0
  116. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/Opacity.stories.svelte.d.ts +0 -0
  117. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/Opacity.svelte +0 -0
  118. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/Opacity.svelte.d.ts +0 -0
  119. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/Swatches/Palette.svelte.d.ts +0 -0
  120. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/Swatches/Swatch.svelte.d.ts +0 -0
  121. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/Swatches/Swatches.svelte.d.ts +0 -0
  122. /package/dist/stories/{philosophy → developer tools/philosophy}/Colors/utils/color.d.ts +0 -0
@@ -1,6 +1,9 @@
1
- export type PaperRoundness = ComponentRoundness | false | ComponentRoundnessFull;
2
- export type PaperShadow = false | '1x' | '2x' | '3x' | '4x' | '5x' | '6x' | '7x';
3
- import type { ComponentRoundness, ComponentRoundnessFull } from '../../../../types.js';
1
+ import { type ComponentColor } from '../../../../types/colors.js';
2
+ export type PaperColor = 'default' | ComponentColor;
3
+ export declare const paperColorArray: PaperColor[];
4
+ import type { ComponentRoundness } from '../../../../types/roundness.js';
5
+ import type { ComponentShadow } from '../../../../types/shadow.js';
6
+ import type { ComponentWeight } from '../../../../types/weight.js';
4
7
  import type { Snippet } from 'svelte';
5
8
  interface PaperProps {
6
9
  /** Paper contents goes here */
@@ -8,9 +11,9 @@ interface PaperProps {
8
11
  /** Paper ref */
9
12
  ref?: HTMLDivElement;
10
13
  /** How round should the border radius be? */
11
- roundness?: PaperRoundness;
14
+ roundness?: ComponentRoundness;
12
15
  /** Shadow elevation */
13
- shadow?: PaperShadow;
16
+ shadow?: ComponentShadow;
14
17
  /** Custom css class */
15
18
  class?: string;
16
19
  /** Paper Width */
@@ -19,8 +22,16 @@ interface PaperProps {
19
22
  height?: string;
20
23
  /** Id */
21
24
  id?: string;
22
- /** Test: ⚠️ Unsafe Children String. Do Not use*/
23
- _unsafeChildrenStringForTesting?: string;
25
+ /** Add a border around paper */
26
+ outline?: boolean;
27
+ /** What color to use? */
28
+ color?: PaperColor;
29
+ /** How should paper appear? */
30
+ variant?: ComponentWeight;
31
+ /** Custom background color. Use CSS compatible value */
32
+ customBackgroundColor?: string;
33
+ /** Custom border color. Use CSS compatible value */
34
+ customBorderColor?: string;
24
35
  }
25
36
  declare const Paper: import("svelte").Component<PaperProps, {}, "ref">;
26
37
  type Paper = ReturnType<typeof Paper>;
@@ -11,20 +11,15 @@
11
11
  });
12
12
  </script>
13
13
 
14
- <Story name="Roundness 1x">
15
- <Paper>Hola!</Paper>
16
- </Story>
14
+ <Story name="Roundness 1" args={{ height: '100px', color: 'primary' }}></Story>
17
15
 
18
- <Story name="Roundness 2x" args={{ roundness: '2x' }}><Paper roundness="2x">Hola!</Paper></Story>
16
+ <Story name="Roundness 2" args={{ roundness: 2, height: '100px', color: 'primary' }}></Story>
19
17
 
20
- <Story name="Roundness 3x" args={{ roundness: '3x' }}>
21
- <Paper roundness="3x">Hola!</Paper>
22
- </Story>
18
+ <Story name="Roundness 3" args={{ roundness: 3, height: '100px', color: 'primary' }}></Story>
23
19
 
24
- <Story name="Roundness False" args={{ roundness: false }}>
25
- <Paper roundness={false}>Hola!</Paper>
26
- </Story>
20
+ <Story name="Roundness 0" args={{ roundness: 0, height: '100px', color: 'primary' }}></Story>
27
21
 
28
- <Story name="Roundness Full" args={{ roundness: 'full' }}>
29
- <Paper roundness="full">Hola!</Paper>
30
- </Story>
22
+ <Story
23
+ name="Roundness Full"
24
+ args={{ roundness: 'full', height: '100px', width: '100%', color: 'primary' }}
25
+ ></Story>
@@ -11,32 +11,14 @@
11
11
  });
12
12
  </script>
13
13
 
14
- <Story name="Shadow 1x">
15
- <Paper>Hola!</Paper>
16
- </Story>
14
+ <Story name="Shadow 0" args={{ height: '100px' }}>Hola!</Story>
17
15
 
18
- <Story name="Shadow 2x" args={{ shadow: '2x' }}><Paper shadow="2x">Hola!</Paper></Story>
16
+ <Story name="Shadow 1" args={{ shadow: 1, height: '100px' }}>Hola!</Story>
19
17
 
20
- <Story name="Shadow 3x" args={{ shadow: '3x' }}>
21
- <Paper shadow="3x">Hola!</Paper>
22
- </Story>
18
+ <Story name="Shadow 2" args={{ shadow: 2, height: '100px' }}>Hola!</Story>
23
19
 
24
- <Story name="Shadow 4x" args={{ shadow: '4x' }}>
25
- <Paper shadow="4x">Hola!</Paper>
26
- </Story>
20
+ <Story name="Shadow 3" args={{ shadow: 3, height: '100px' }}>Hola!</Story>
27
21
 
28
- <Story name="Shadow 5x" args={{ shadow: '5x' }}>
29
- <Paper shadow="5x">Hola!</Paper>
30
- </Story>
22
+ <Story name="Shadow 4" args={{ shadow: 4, height: '100px' }}>Hola!</Story>
31
23
 
32
- <Story name="Shadow 6x" args={{ shadow: '6x' }}>
33
- <Paper shadow="6x">Hola!</Paper>
34
- </Story>
35
-
36
- <Story name="Shadow 7x" args={{ shadow: '7x' }}>
37
- <Paper shadow="7x">Hola!</Paper>
38
- </Story>
39
-
40
- <Story name="Shadow False" args={{ shadow: false }}>
41
- <Paper shadow={false}>Hola!</Paper>
42
- </Story>
24
+ <Story name="Shadow 5" args={{ shadow: 5, height: '100px' }}>Hola!</Story>
@@ -0,0 +1,46 @@
1
+ /// Mixin: generate-dodo-ui-paper-colors
2
+ /// Generates CSS custom properties for Dodo UI paper 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-paper-colors($color-name) {
6
+ --dodo-ui-Paper-outline-#{$color-name}: var(--dodo-color-#{$color-name}-400);
7
+ --dodo-ui-Paper-text-#{$color-name}-bg: var(--dodo-color-#{$color-name}-100);
8
+ --dodo-ui-Paper-solid-#{$color-name}-bg: var(--dodo-color-#{$color-name}-500);
9
+ }
10
+
11
+ /// Mixin: generate-dodo-ui-paper-colors
12
+ /// Generates CSS custom properties for Dodo UI paper styles (text & solid)
13
+ /// across different interaction states (default, hover, active).
14
+ /// @param {String} $color-name - The theme color name (e.g., "primary", "safe", etc.)
15
+ @mixin generate-dodo-ui-paper-colors-dark($color-name) {
16
+ --dodo-ui-Paper-outline-#{$color-name}: var(--dodo-color-#{$color-name}-300);
17
+ --dodo-ui-Paper-text-#{$color-name}-bg: color-mix(
18
+ in oklab,
19
+ var(--dodo-color-#{$color-name}-50) 80%,
20
+ #00000080
21
+ );
22
+ --dodo-ui-Paper-solid-#{$color-name}-bg: var(--dodo-color-#{$color-name}-300);
23
+ }
24
+
25
+ /// Mixin: generate-dodo-ui-paper-color
26
+ /// Auto-generates .color--[theme] > .variant--text & .variant--solid styles
27
+ /// @param {String} $theme - e.g., default, safe, danger, etc.
28
+ @mixin generate-dodo-ui-paper-color($theme) {
29
+ &--#{$theme} {
30
+ &.variant {
31
+ &--text {
32
+ color: var(--dodo-color-#{$theme}-800);
33
+ background-color: var(--dodo-ui-Paper-text-#{$theme}-bg);
34
+
35
+ &.outline {
36
+ border-color: var(--dodo-ui-Paper-outline-#{$theme});
37
+ }
38
+ }
39
+
40
+ &--solid {
41
+ color: var(--dodo-color-constant-white);
42
+ background-color: var(--dodo-ui-Paper-solid-#{$theme}-bg);
43
+ }
44
+ }
45
+ }
46
+ }
@@ -5,3 +5,5 @@ A set of components and tools used internally in dodo-ui.
5
5
  ## Explore More
6
6
 
7
7
  - [Utility Button](?path=/docs/developer-tools-components-utilitybutton--docs)
8
+ - [Colors](?path=/docs/developer-tools-philosophy-colors--docs)
9
+ - [Adjust Color Opacity](?path=/docs/developer-tools-philosophy-colors--docs#adjusting-opacity)
@@ -1,13 +1,15 @@
1
1
  <script module lang="ts">import { defineMeta } from '@storybook/addon-svelte-csf';
2
2
  import InputEnclosure from './InputEnclosure.svelte';
3
+ import { componentRoundnessArray } from '../../../../types/roundness.js';
4
+ import { componentSizeArray } from '../../../../types/size.js';
3
5
  export const storyInputEnclosureArgTypes = {
4
6
  roundness: {
5
7
  control: { type: 'select' },
6
- options: [false, '1x', '2x', '3x'],
8
+ options: componentRoundnessArray,
7
9
  },
8
10
  size: {
9
11
  control: { type: 'select' },
10
- options: ['normal', 'small', 'large'],
12
+ options: componentSizeArray,
11
13
  },
12
14
  };
13
15
  // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
@@ -28,7 +30,5 @@ const { Story } = defineMeta({
28
30
  <Story name="Disabled" args={{ disabled: true }} />
29
31
 
30
32
  <Story name="Input example">
31
- <InputEnclosure>
32
- <input type="text" style="flex: 1; border: 0;" placeholder="Enter name" />
33
- </InputEnclosure>
33
+ <input type="text" style="flex: 1; border: 0;" placeholder="Enter name" />
34
34
  </Story>
@@ -1,4 +1,4 @@
1
- <script lang="ts">let { size = 'normal', roundness = '1x', outline = true, class: className = '', disabled = false, before, after, error = false, focused = false, children, ref = $bindable(), } = $props();
1
+ <script lang="ts">let { size = 'normal', roundness = 1, outline = true, class: className = '', disabled = false, before, after, error = false, focused = false, children, ref = $bindable(), } = $props();
2
2
  export {};
3
3
  </script>
4
4
 
@@ -29,25 +29,25 @@ export {};
29
29
  </div>
30
30
 
31
31
  <style>:global(:root) {
32
- --dodo-ui-InputEnclosure-border-color: var(--dodo-color-default-500);
32
+ --dodo-ui-InputEnclosure-border-color: var(--dodo-color-neutral-500);
33
33
  --dodo-ui-InputEnclosure-focus-border-color: var(--dodo-color-primary-500);
34
34
  --dodo-ui-InputEnclosure-error-border-color: var(--dodo-color-danger-500);
35
- --dodo-ui-InputEnclosure-disabled-color: var(--dodo-color-default-400);
36
- --dodo-ui-InputEnclosure-disabled-bg: var(--dodo-color-default-200);
35
+ --dodo-ui-InputEnclosure-disabled-color: var(--dodo-color-neutral-400);
36
+ --dodo-ui-InputEnclosure-disabled-bg: var(--dodo-color-neutral-200);
37
37
  }
38
38
 
39
39
  :global(.dodo-theme--dark) {
40
- --dodo-ui-InputEnclosure-border-color: var(--dodo-color-default-600);
40
+ --dodo-ui-InputEnclosure-border-color: var(--dodo-color-neutral-600);
41
41
  --dodo-ui-InputEnclosure-focus-border-color: var(--dodo-color-primary-600);
42
42
  --dodo-ui-InputEnclosure-error-border-color: var(--dodo-color-danger-600);
43
- --dodo-ui-InputEnclosure-disabled-bg: var(--dodo-color-default-100);
44
- --dodo-ui-InputEnclosure-disabled-color: var(--dodo-color-default-500);
43
+ --dodo-ui-InputEnclosure-disabled-bg: var(--dodo-color-neutral-100);
44
+ --dodo-ui-InputEnclosure-disabled-color: var(--dodo-color-neutral-500);
45
45
  }
46
46
 
47
47
  .dodo-ui-InputEnclosure {
48
48
  display: flex;
49
49
  overflow: hidden;
50
- color: var(--dodo-color-default-800);
50
+ color: var(--dodo-color-neutral-800);
51
51
  transition: all 150ms;
52
52
  border: 0;
53
53
  }
@@ -109,12 +109,12 @@ export {};
109
109
  margin-right: 14px;
110
110
  margin-left: -4px;
111
111
  }
112
- .dodo-ui-InputEnclosure.roundness--1x {
113
- border-radius: var(--dodo-ui-element-roundness-1x);
112
+ .dodo-ui-InputEnclosure.roundness--1 {
113
+ border-radius: var(--dodo-ui-element-roundness-1);
114
114
  }
115
- .dodo-ui-InputEnclosure.roundness--2x {
116
- border-radius: var(--dodo-ui-element-roundness-2x);
115
+ .dodo-ui-InputEnclosure.roundness--2 {
116
+ border-radius: var(--dodo-ui-element-roundness-2);
117
117
  }
118
- .dodo-ui-InputEnclosure.roundness--3x {
119
- border-radius: var(--dodo-ui-element-roundness-3x);
118
+ .dodo-ui-InputEnclosure.roundness--3 {
119
+ border-radius: var(--dodo-ui-element-roundness-3);
120
120
  }</style>
@@ -1,4 +1,5 @@
1
- import type { ComponentRoundness, ComponentSize } from '../../../../types.js';
1
+ import type { ComponentRoundness } from '../../../../types/roundness.js';
2
+ import type { ComponentSize } from '../../../../types/size.js';
2
3
  import type { Snippet } from 'svelte';
3
4
  interface InputEnclosureProps {
4
5
  /** InputEnclosure contents goes here */
@@ -8,7 +9,7 @@ interface InputEnclosureProps {
8
9
  /** How large should the button be? */
9
10
  size?: ComponentSize;
10
11
  /** How round should the border radius be? */
11
- roundness?: ComponentRoundness | false;
12
+ roundness?: ComponentRoundness;
12
13
  /** Add a border around the button. Default True */
13
14
  outline?: boolean;
14
15
  /** disabled state */
@@ -11,10 +11,10 @@
11
11
  });
12
12
  </script>
13
13
 
14
- <Story name="Roundness 1x" />
14
+ <Story name="Roundness 1" />
15
15
 
16
- <Story name="Roundness 2x" args={{ roundness: '2x' }} />
16
+ <Story name="Roundness 2" args={{ roundness: 2 }} />
17
17
 
18
- <Story name="Roundness 3x" args={{ roundness: '3x' }} />
18
+ <Story name="Roundness 3" args={{ roundness: 3 }} />
19
19
 
20
- <Story name="Roundness False" args={{ roundness: false }} />
20
+ <Story name="Roundness 0" args={{ roundness: 0 }} />
@@ -13,7 +13,7 @@
13
13
  </script>
14
14
 
15
15
  <!-- InputEnclosure icon in front. -->
16
- <Story name="Icon Before">
16
+ <Story name="Icon Before" asChild>
17
17
  <InputEnclosure>
18
18
  {#snippet before()}
19
19
  <Icon icon="material-symbols:content-copy" />
@@ -22,7 +22,7 @@
22
22
  </Story>
23
23
 
24
24
  <!-- InputEnclosure icon in front. -->
25
- <Story name="Icon After">
25
+ <Story name="Icon After" asChild>
26
26
  <InputEnclosure>
27
27
  {#snippet after()}
28
28
  <Icon icon="material-symbols:download-2" />
@@ -30,7 +30,7 @@
30
30
  </InputEnclosure>
31
31
  </Story>
32
32
 
33
- <Story name="Small" args={{ size: 'small' }}>
33
+ <Story name="Small" args={{ size: 'small' }} asChild>
34
34
  <InputEnclosure size="small">
35
35
  {#snippet before()}
36
36
  <Icon icon="material-symbols:content-copy" />
@@ -38,7 +38,7 @@
38
38
  </InputEnclosure>
39
39
  </Story>
40
40
 
41
- <Story name="Large" args={{ size: 'large' }}>
41
+ <Story name="Large" args={{ size: 'large' }} asChild>
42
42
  <InputEnclosure size="large">
43
43
  {#snippet before()}
44
44
  <Icon icon="material-symbols:content-copy" />
@@ -17,11 +17,11 @@
17
17
  </script>
18
18
 
19
19
  <Story name="Normal" args={{ disabled: false }}>
20
- <UtilityButton><Icon icon="mdi:eye" width="24" height="24" /></UtilityButton>
20
+ <Icon icon="mdi:eye" width="24" height="24" />
21
21
  </Story>
22
22
  <Story name="Small" args={{ size: 'small' }}>
23
- <UtilityButton size="small"><Icon icon="mdi:eye" width="22" height="22" /></UtilityButton>
23
+ <Icon icon="mdi:eye" width="24" height="24" />
24
24
  </Story>
25
25
  <Story name="Large" args={{ size: 'large' }}>
26
- <UtilityButton size="large"><Icon icon="mdi:eye" width="28" height="28" /></UtilityButton>
26
+ <Icon icon="mdi:eye" width="24" height="24" />
27
27
  </Story>
@@ -2,10 +2,11 @@
2
2
  import UtilityButton from './UtilityButton.svelte';
3
3
  import Icon from '@iconify/svelte';
4
4
  import { fn } from '@storybook/test';
5
+ import { componentSizeArray } from '../../../../types/size.js';
5
6
  export const storyUtilityButtonArgTypes = {
6
7
  size: {
7
8
  control: { type: 'select' },
8
- options: ['normal', 'small', 'large'],
9
+ options: componentSizeArray,
9
10
  },
10
11
  };
11
12
  // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
@@ -21,9 +22,9 @@ const { Story } = defineMeta({
21
22
 
22
23
  <!-- Button with default style -->
23
24
  <Story name="Default">
24
- <UtilityButton><Icon icon="mdi:eye" width="24" height="24" /></UtilityButton>
25
+ <Icon icon="mdi:eye" width="24" height="24" />
25
26
  </Story>
26
27
 
27
28
  <Story name="Disabled" args={{ disabled: true }}>
28
- <UtilityButton disabled><Icon icon="mdi:eye" width="24" height="24" /></UtilityButton>
29
+ <Icon icon="mdi:eye" width="24" height="24" />
29
30
  </Story>
@@ -19,13 +19,13 @@ export {};
19
19
  <style>:global(:root) {
20
20
  --dodo-ui-UtilityButton-hover: var(--dodo-color-primary-600);
21
21
  --dodo-ui-UtilityButton-active: var(--dodo-color-primary-600);
22
- --dodo-ui-UtilityButton-disabled-color: var(--dodo-color-default-400);
22
+ --dodo-ui-UtilityButton-disabled-color: var(--dodo-color-neutral-400);
23
23
  }
24
24
 
25
25
  :global(.dodo-theme--dark) {
26
26
  --dodo-ui-UtilityButton-hover: var(--dodo-color-primary-600);
27
27
  --dodo-ui-UtilityButton-active: var(--dodo-color-primary-600);
28
- --dodo-ui-UtilityButton-disabled-color: var(--dodo-color-default-500);
28
+ --dodo-ui-UtilityButton-disabled-color: var(--dodo-color-neutral-500);
29
29
  }
30
30
 
31
31
  .dodo-ui-UtilityButton {
@@ -42,7 +42,7 @@ export {};
42
42
  border: 0;
43
43
  outline: 0;
44
44
  padding: 0;
45
- color: var(--dodo-color-default-700);
45
+ color: var(--dodo-color-neutral-700);
46
46
  border-radius: 50%;
47
47
  font-family: inherit;
48
48
  }
@@ -1,4 +1,4 @@
1
- import type { ComponentSize } from '../../../../types.js';
1
+ import type { ComponentSize } from '../../../../types/size.js';
2
2
  import type { Snippet } from 'svelte';
3
3
  import type { MouseEventHandler } from 'svelte/elements';
4
4
  interface UtilityButtonProps {
@@ -12,7 +12,7 @@ We are using an extensive color pallet identical to [Tailwind Css](https://tailw
12
12
 
13
13
  <Story of={ColorsStories.Main} />
14
14
 
15
- Neutral pallet
15
+ Greyscale colors
16
16
 
17
17
  <Story of={ColorsStories.ColorsNeutral} />
18
18
 
@@ -24,7 +24,7 @@ Constant Colors
24
24
 
25
25
  <Story of={ColorsStories.ColorsBase} />
26
26
 
27
- Neutral pallet
27
+ Greyscale colors
28
28
 
29
29
  <Story of={ColorsStories.BaseColorsNeutral} />
30
30
 
@@ -19,7 +19,7 @@ function onclick() {
19
19
  height: 60px;
20
20
  border-radius: 4px;
21
21
  border: 1px solid;
22
- border-color: color-mix(in oklab, var(--dodo-color-default-800) 20%, transparent);
22
+ border-color: color-mix(in oklab, var(--dodo-color-neutral-800) 20%, transparent);
23
23
  background: transparent;
24
24
  min-width: initial;
25
25
  margin: 0;
@@ -13,7 +13,7 @@ const { colorPalette, colorPaletteValue, prefix = '--dodo-color-' } = $props();
13
13
  </div>
14
14
 
15
15
  <style>.Swatch {
16
- color: var(--dodo-color-default-900);
16
+ color: var(--dodo-color-neutral-900);
17
17
  display: flex;
18
18
  align-items: center;
19
19
  flex-direction: column;
@@ -20,7 +20,7 @@ const { colorPalette, prefix, isColorPaletteValues = false } = $props();
20
20
  </ul>
21
21
 
22
22
  <style>.Swatches {
23
- color: var(--dodo-color-default-900);
23
+ color: var(--dodo-color-neutral-900);
24
24
  margin: 0;
25
25
  padding: 0;
26
26
  width: 150px;
@@ -22,7 +22,7 @@ export const colorPaletteBase = [
22
22
  'stone',
23
23
  ];
24
24
  export const colorPaletteNeutral = ['black', 'white'];
25
- export const colorPalette = ['default', 'primary', 'safe', 'warning', 'danger', 'secondary'];
25
+ export const colorPalette = ['primary', 'secondary', 'neutral', 'safe', 'warning', 'danger'];
26
26
  export const colorPaletteValues = [
27
27
  '50',
28
28
  '100',
@@ -1,5 +1,5 @@
1
1
  import { Source } from '@storybook/blocks';
2
- import darkThemeToggleImage from '../assets/dark-theme-toggle.png';
2
+ import darkThemeToggleImage from '$lib/stories/assets/dark-theme-toggle.png';
3
3
 
4
4
  # Themes
5
5
 
@@ -8,17 +8,17 @@
8
8
  --dodo-color-constant-white: var(--dodo-color-base-white);
9
9
 
10
10
  /* Default color */
11
- --dodo-color-default-50: var(--dodo-color-base-gray-50);
12
- --dodo-color-default-100: var(--dodo-color-base-gray-100);
13
- --dodo-color-default-200: var(--dodo-color-base-gray-200);
14
- --dodo-color-default-300: var(--dodo-color-base-gray-300);
15
- --dodo-color-default-400: var(--dodo-color-base-gray-400);
16
- --dodo-color-default-500: var(--dodo-color-base-gray-500);
17
- --dodo-color-default-600: var(--dodo-color-base-gray-600);
18
- --dodo-color-default-700: var(--dodo-color-base-gray-700);
19
- --dodo-color-default-800: var(--dodo-color-base-gray-800);
20
- --dodo-color-default-900: var(--dodo-color-base-gray-900);
21
- --dodo-color-default-950: var(--dodo-color-base-gray-950);
11
+ --dodo-color-neutral-50: var(--dodo-color-base-gray-50);
12
+ --dodo-color-neutral-100: var(--dodo-color-base-gray-100);
13
+ --dodo-color-neutral-200: var(--dodo-color-base-gray-200);
14
+ --dodo-color-neutral-300: var(--dodo-color-base-gray-300);
15
+ --dodo-color-neutral-400: var(--dodo-color-base-gray-400);
16
+ --dodo-color-neutral-500: var(--dodo-color-base-gray-500);
17
+ --dodo-color-neutral-600: var(--dodo-color-base-gray-600);
18
+ --dodo-color-neutral-700: var(--dodo-color-base-gray-700);
19
+ --dodo-color-neutral-800: var(--dodo-color-base-gray-800);
20
+ --dodo-color-neutral-900: var(--dodo-color-base-gray-900);
21
+ --dodo-color-neutral-950: var(--dodo-color-base-gray-950);
22
22
 
23
23
  /* Primary color */
24
24
  --dodo-color-primary-50: var(--dodo-color-base-violet-50);
@@ -34,17 +34,17 @@
34
34
  --dodo-color-primary-950: var(--dodo-color-base-violet-950);
35
35
 
36
36
  /* Secondary color */
37
- --dodo-color-secondary-50: var(--dodo-color-base-cyan-50);
38
- --dodo-color-secondary-100: var(--dodo-color-base-cyan-100);
39
- --dodo-color-secondary-200: var(--dodo-color-base-cyan-200);
40
- --dodo-color-secondary-300: var(--dodo-color-base-cyan-300);
41
- --dodo-color-secondary-400: var(--dodo-color-base-cyan-400);
42
- --dodo-color-secondary-500: var(--dodo-color-base-cyan-500);
43
- --dodo-color-secondary-600: var(--dodo-color-base-cyan-600);
44
- --dodo-color-secondary-700: var(--dodo-color-base-cyan-700);
45
- --dodo-color-secondary-800: var(--dodo-color-base-cyan-800);
46
- --dodo-color-secondary-900: var(--dodo-color-base-cyan-900);
47
- --dodo-color-secondary-950: var(--dodo-color-base-cyan-950);
37
+ --dodo-color-secondary-50: var(--dodo-color-base-blue-50);
38
+ --dodo-color-secondary-100: var(--dodo-color-base-blue-100);
39
+ --dodo-color-secondary-200: var(--dodo-color-base-blue-200);
40
+ --dodo-color-secondary-300: var(--dodo-color-base-blue-300);
41
+ --dodo-color-secondary-400: var(--dodo-color-base-blue-400);
42
+ --dodo-color-secondary-500: var(--dodo-color-base-blue-500);
43
+ --dodo-color-secondary-600: var(--dodo-color-base-blue-600);
44
+ --dodo-color-secondary-700: var(--dodo-color-base-blue-700);
45
+ --dodo-color-secondary-800: var(--dodo-color-base-blue-800);
46
+ --dodo-color-secondary-900: var(--dodo-color-base-blue-900);
47
+ --dodo-color-secondary-950: var(--dodo-color-base-blue-950);
48
48
 
49
49
  /* Safe color */
50
50
  --dodo-color-safe-50: var(--dodo-color-base-emerald-50);
@@ -92,17 +92,17 @@
92
92
  --dodo-color-white: var(--dodo-color-base-black);
93
93
 
94
94
  /* Dark: Default color */
95
- --dodo-color-default-50: var(--dodo-color-base-gray-950);
96
- --dodo-color-default-100: var(--dodo-color-base-gray-900);
97
- --dodo-color-default-200: var(--dodo-color-base-gray-800);
98
- --dodo-color-default-300: var(--dodo-color-base-gray-700);
99
- --dodo-color-default-400: var(--dodo-color-base-gray-600);
100
- --dodo-color-default-500: var(--dodo-color-base-gray-500);
101
- --dodo-color-default-600: var(--dodo-color-base-gray-400);
102
- --dodo-color-default-700: var(--dodo-color-base-gray-300);
103
- --dodo-color-default-800: var(--dodo-color-base-gray-200);
104
- --dodo-color-default-900: var(--dodo-color-base-gray-100);
105
- --dodo-color-default-950: var(--dodo-color-base-gray-50);
95
+ --dodo-color-neutral-50: var(--dodo-color-base-gray-950);
96
+ --dodo-color-neutral-100: var(--dodo-color-base-gray-900);
97
+ --dodo-color-neutral-200: var(--dodo-color-base-gray-800);
98
+ --dodo-color-neutral-300: var(--dodo-color-base-gray-700);
99
+ --dodo-color-neutral-400: var(--dodo-color-base-gray-600);
100
+ --dodo-color-neutral-500: var(--dodo-color-base-gray-500);
101
+ --dodo-color-neutral-600: var(--dodo-color-base-gray-400);
102
+ --dodo-color-neutral-700: var(--dodo-color-base-gray-300);
103
+ --dodo-color-neutral-800: var(--dodo-color-base-gray-200);
104
+ --dodo-color-neutral-900: var(--dodo-color-base-gray-100);
105
+ --dodo-color-neutral-950: var(--dodo-color-base-gray-50);
106
106
 
107
107
  /* Dark: Primary color */
108
108
  --dodo-color-primary-50: var(--dodo-color-base-violet-950);
@@ -118,17 +118,17 @@
118
118
  --dodo-color-primary-950: var(--dodo-color-base-violet-50);
119
119
 
120
120
  /* Dark: Secondary color */
121
- --dodo-color-secondary-50: var(--dodo-color-base-cyan-950);
122
- --dodo-color-secondary-100: var(--dodo-color-base-cyan-900);
123
- --dodo-color-secondary-200: var(--dodo-color-base-cyan-800);
124
- --dodo-color-secondary-300: var(--dodo-color-base-cyan-700);
125
- --dodo-color-secondary-400: var(--dodo-color-base-cyan-600);
126
- --dodo-color-secondary-500: var(--dodo-color-base-cyan-500);
127
- --dodo-color-secondary-600: var(--dodo-color-base-cyan-400);
128
- --dodo-color-secondary-700: var(--dodo-color-base-cyan-300);
129
- --dodo-color-secondary-800: var(--dodo-color-base-cyan-200);
130
- --dodo-color-secondary-900: var(--dodo-color-base-cyan-100);
131
- --dodo-color-secondary-950: var(--dodo-color-base-cyan-50);
121
+ --dodo-color-secondary-50: var(--dodo-color-base-blue-950);
122
+ --dodo-color-secondary-100: var(--dodo-color-base-blue-900);
123
+ --dodo-color-secondary-200: var(--dodo-color-base-blue-800);
124
+ --dodo-color-secondary-300: var(--dodo-color-base-blue-700);
125
+ --dodo-color-secondary-400: var(--dodo-color-base-blue-600);
126
+ --dodo-color-secondary-500: var(--dodo-color-base-blue-500);
127
+ --dodo-color-secondary-600: var(--dodo-color-base-blue-400);
128
+ --dodo-color-secondary-700: var(--dodo-color-base-blue-300);
129
+ --dodo-color-secondary-800: var(--dodo-color-base-blue-200);
130
+ --dodo-color-secondary-900: var(--dodo-color-base-blue-100);
131
+ --dodo-color-secondary-950: var(--dodo-color-base-blue-50);
132
132
 
133
133
  /* Dark: Safe color */
134
134
  --dodo-color-safe-50: var(--dodo-color-base-emerald-950);
@@ -1,11 +1,14 @@
1
1
  :root {
2
+ /* Size */
2
3
  --dodo-ui-element-height-small: 34px;
3
4
  --dodo-ui-element-height-normal: 40px;
4
5
  --dodo-ui-element-height-large: 50px;
5
6
 
6
- --dodo-ui-element-roundness-1x: 7px;
7
- --dodo-ui-element-roundness-2x: 13px;
8
- --dodo-ui-element-roundness-3x: 31px;
7
+ /* Roundness */
8
+ --dodo-ui-element-roundness-1: 7px;
9
+ --dodo-ui-element-roundness-2: 13px;
10
+ --dodo-ui-element-roundness-3: 31px;
9
11
 
12
+ /* Border */
10
13
  --dodo-ui-element-border-width: 1px;
11
14
  }