@eleventheye/asui 1.5.0 → 1.7.1

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 (57) hide show
  1. package/asui.code-workspace +8 -0
  2. package/package.json +7 -10
  3. package/tsconfig.json +117 -0
  4. package/src/apptypes/ASUI.types.ts +0 -5
  5. package/src/icons/AddItemIcon.tsx +0 -36
  6. package/src/icons/AddUserIcon.tsx +0 -36
  7. package/src/icons/CheckIcon.tsx +0 -37
  8. package/src/icons/CloseIcon.tsx +0 -34
  9. package/src/icons/DeleteIcon.tsx +0 -36
  10. package/src/icons/EleventheyeIcon.tsx +0 -35
  11. package/src/icons/EyeIcon.tsx +0 -36
  12. package/src/icons/EyeSlashIcon.tsx +0 -43
  13. package/src/icons/FootballIcon.tsx +0 -35
  14. package/src/icons/GamesIcon.tsx +0 -36
  15. package/src/icons/GearUserIcon.tsx +0 -40
  16. package/src/icons/HexagonIcon.tsx +0 -38
  17. package/src/icons/HomeIcon.tsx +0 -36
  18. package/src/icons/Icons.types.tsx +0 -12
  19. package/src/icons/LockIcon.tsx +0 -38
  20. package/src/icons/PenIcon.tsx +0 -36
  21. package/src/icons/RulerIcon.tsx +0 -36
  22. package/src/icons/SaveIcon.tsx +0 -45
  23. package/src/icons/TimeLapseIcon.tsx +0 -36
  24. package/src/icons/UnlockIcon.tsx +0 -38
  25. package/src/icons/UserSettingsIcon.tsx +0 -34
  26. package/src/icons/index.ts +0 -63
  27. package/src/icons/styles.tsx +0 -9
  28. package/src/index.ts +0 -22
  29. package/src/stories/Button.stories.ts +0 -53
  30. package/src/stories/Button.tsx +0 -37
  31. package/src/stories/Configure.mdx +0 -364
  32. package/src/stories/Header.stories.ts +0 -33
  33. package/src/stories/Header.tsx +0 -56
  34. package/src/stories/Icons.stories.ts +0 -55
  35. package/src/stories/Icons.tsx +0 -182
  36. package/src/stories/Page.stories.ts +0 -32
  37. package/src/stories/Page.tsx +0 -73
  38. package/src/stories/assets/accessibility.png +0 -0
  39. package/src/stories/assets/accessibility.svg +0 -1
  40. package/src/stories/assets/addon-library.png +0 -0
  41. package/src/stories/assets/assets.png +0 -0
  42. package/src/stories/assets/avif-test-image.avif +0 -0
  43. package/src/stories/assets/context.png +0 -0
  44. package/src/stories/assets/discord.svg +0 -1
  45. package/src/stories/assets/docs.png +0 -0
  46. package/src/stories/assets/figma-plugin.png +0 -0
  47. package/src/stories/assets/github.svg +0 -1
  48. package/src/stories/assets/share.png +0 -0
  49. package/src/stories/assets/styling.png +0 -0
  50. package/src/stories/assets/testing.png +0 -0
  51. package/src/stories/assets/theming.png +0 -0
  52. package/src/stories/assets/tutorials.svg +0 -1
  53. package/src/stories/assets/youtube.svg +0 -1
  54. package/src/stories/button.css +0 -30
  55. package/src/stories/header.css +0 -32
  56. package/src/stories/icons.css +0 -44
  57. package/src/stories/page.css +0 -68
@@ -1,36 +0,0 @@
1
- import React from 'react';
2
- import { IconProps } from '../icons/Icons.types';
3
- import { IconContainer } from '../icons/styles';
4
-
5
- const HomeIcon: React.FC<IconProps> = ({
6
- className = '',
7
- size = 24,
8
- color = '#fffff0',
9
- fillColor = 'transparent',
10
- fillOpacity = 1,
11
- circleStrokeColor = '#fffff0',
12
- }) => {
13
- return (
14
- <IconContainer className={className}>
15
- <svg width={size} height={size} viewBox="0 0 24 24" fill="transparent" xmlns="http://www.w3.org/2000/svg">
16
- <circle
17
- fill={fillColor}
18
- fillOpacity={fillOpacity}
19
- cx="12"
20
- cy="12"
21
- r="10.5"
22
- stroke={circleStrokeColor}
23
- strokeWidth={'1.5px'}
24
- />
25
- <path
26
- fillRule="evenodd"
27
- clipRule="evenodd"
28
- d="M10.7 7.2c0 .4-.3.6-.6.6-.4 0-.6-.3-.6-.6s.3-.6.6-.6c.4 0 .6.3.6.6Zm-.6 2.6c.4 0 .6-.3.6-.6s-.3-.6-.6-.6c-.4 0-.6.3-.6.6s.3.6.6.6Zm.6 6.3c0 .4-.3.6-.6.6-.4 0-.6-.3-.6-.6s.3-.6.6-.6c.4 0 .6.3.6.6Zm-.6-4.4c.4 0 .6-.3.6-.6 0-.4-.3-.6-.6-.6-.4 0-.6.3-.6.6 0 .4.3.6.6.6Zm2.5-4.4c0 .4-.3.6-.6.6s-.6-.3-.6-.6.3-.6.6-.6.6.3.6.6ZM12 9.8c.4 0 .6-.3.6-.6s-.3-.6-.6-.6-.6.3-.6.6.3.6.6.6Zm.6 6.3c0 .4-.3.6-.6.6s-.6-.3-.6-.6.3-.6.6-.6.6.3.6.6Zm1.3-8.2c.4 0 .6-.3.6-.6s-.3-.6-.6-.6-.6.3-.6.6.3.6.6.6Zm.6 1.3c0 .4-.3.6-.6.6s-.6-.3-.6-.6.3-.6.6-.6.6.3.6.6Zm-.6 7.6c.4 0 .6-.3.6-.6s-.3-.6-.6-.6-.6.3-.6.6.3.6.6.6ZM9.5 4.7c-1.1 0-1.9.8-1.9 1.9V16.7c0 1.1.8 1.9 1.9 1.9h5c1.1 0 1.9-.8 1.9-1.9V6.6c0-1.1-.8-1.9-1.9-1.9h-5Zm5 1.3h-5c-.4 0-.6.3-.6.6V16.7c0 .4.3.6.6.6h5c.4 0 .6-.3.6-.6V6.6c0-.4-.3-.6-.6-.6Z"
29
- fill={color}
30
- />
31
- </svg>
32
- </IconContainer>
33
- );
34
- };
35
-
36
- export default HomeIcon;
@@ -1,12 +0,0 @@
1
- type IconProps = {
2
- className?: string;
3
- size?: number;
4
- color?: string;
5
- fillColor?: string;
6
- fillOpacity?: number;
7
- strokeSize?: number;
8
- circleStrokeColor?: string;
9
- style?: React.CSSProperties;
10
- };
11
-
12
- export type { IconProps };
@@ -1,38 +0,0 @@
1
- import React from 'react';
2
- import { IconProps } from '../icons/Icons.types';
3
- import { IconContainer } from '../icons/styles';
4
-
5
- const LockIcon: React.FC<IconProps> = ({
6
- className = '',
7
- size = 24,
8
- color = '#fffff0',
9
- fillColor = 'transparent',
10
- fillOpacity = 1,
11
- circleStrokeColor = '#fffff0',
12
- }) => {
13
- return (
14
- <IconContainer className={className}>
15
- <svg width={size} height={size} viewBox="0 0 24 24" fill="transparent" xmlns="http://www.w3.org/2000/svg">
16
- <circle
17
- fill={fillColor}
18
- fillOpacity={fillOpacity}
19
- cx="12"
20
- cy="12"
21
- r="10.5"
22
- stroke={circleStrokeColor}
23
- strokeWidth={'1.5px'}
24
- />
25
- <path
26
- fillRule="evenodd"
27
- clipRule="nonzero"
28
- d="M15.75 10.69c1.12 0 2.02.9 2.02 2.02v4.05c0 1.12-.9 2.02-2.02 2.02H7.65c-1.12 0-2.02-.9-2.02-2.02v-4.05c0-1.12.9-2.02 2.02-2.02V8.67c0-2.23 1.82-4.05 4.05-4.05s4.05 1.82 4.05 4.05v2.02ZM11.7 5.96c1.49 0 2.7 1.21 2.7 2.7v2.02H9V8.66c0-1.49 1.21-2.7 2.7-2.7Zm4.05 6.08H7.65c-.37 0-.68.3-.68.68v4.05c0 .37.3.68.68.68h8.1c.37 0 .68-.3.68-.68v-4.05c0-.37-.3-.68-.68-.68Z"
29
- fill={color}
30
- stroke={color}
31
- strokeWidth={'0.2px'}
32
- />
33
- </svg>
34
- </IconContainer>
35
- );
36
- };
37
-
38
- export default LockIcon;
@@ -1,36 +0,0 @@
1
- import React from 'react';
2
- import { IconProps } from '../icons/Icons.types';
3
- import { IconContainer } from '../icons/styles';
4
-
5
- const PenIcon: React.FC<IconProps> = ({
6
- className = '',
7
- size = 24,
8
- color = '#fffff0',
9
- fillColor = '#transparent',
10
- fillOpacity = 1,
11
- circleStrokeColor = '#fffff0',
12
- }) => {
13
- return (
14
- <IconContainer className={className}>
15
- <svg width={size} height={size} viewBox="0 0 24 24" fill="transparent" xmlns="http://www.w3.org/2000/svg">
16
- <circle
17
- fill={fillColor}
18
- fillOpacity={fillOpacity}
19
- cx="12"
20
- cy="12"
21
- r="10.5"
22
- stroke={circleStrokeColor}
23
- strokeWidth={'1.5px'}
24
- />
25
- <path
26
- fillRule="evenodd"
27
- clipRule="evenodd"
28
- d="m15.23 10.2-1.45-1.45.51-.51c.2-.2.52-.2.72 0l.72.72c.2.2.2.52 0 .72l-.51.51Zm-.93.93-1.45-1.45-3.27 3.27 1.45 1.45 3.27-3.27Zm2.18-4.36.72.72c.2.2.2.52 0 .72l-.45.45c.28.57.17 1.27-.3 1.75l-5.42 5.44-2.9-2.9 5.44-5.43c.47-.47 1.18-.58 1.75-.3l.45-.45c.2-.2.52-.2.72 0ZM6.62 17.35l1.09-3.98 2.89 2.89-3.98 1.09Z"
29
- fill={color}
30
- />
31
- </svg>
32
- </IconContainer>
33
- );
34
- };
35
-
36
- export default PenIcon;
@@ -1,36 +0,0 @@
1
- import React from 'react';
2
- import { IconProps } from '../icons/Icons.types';
3
- import { IconContainer } from '../icons/styles';
4
-
5
- const RulerIcon: React.FC<IconProps> = ({
6
- className = '',
7
- size = 24,
8
- color = '#fffff0',
9
- fillColor = 'transparent',
10
- fillOpacity = 1,
11
- circleStrokeColor = '#fffff0',
12
- }) => {
13
- return (
14
- <IconContainer className={className}>
15
- <svg width={size} height={size} viewBox="0 0 24 24" fill="transparent" xmlns="http://www.w3.org/2000/svg">
16
- <circle
17
- fill={fillColor}
18
- fillOpacity={fillOpacity}
19
- cx="12"
20
- cy="12"
21
- r="10.5"
22
- stroke={circleStrokeColor}
23
- strokeWidth={'1.5px'}
24
- />
25
- <path
26
- d="M9.7 8.6v2.1c0 .4.3.7.7.7s.7-.3.7-.7V8.6h1.4v3.5c0 .4.3.7.7.7s.7-.3.7-.7V8.6h1.4v2.1c0 .4.3.7.7.7s.7-.3.7-.7V8.6h1.4c.4 0 .7.3.7.7v4.9c0 .4-.3.7-.7.7H5.5c-.4 0-.7-.3-.7-.7V9.3c0-.4.3-.7.7-.7H6.9v3.5c0 .4.3.7.7.7s.7-.3.7-.7V8.6H9.7ZM5.5 7.2H18.1c1.2 0 2.1.9 2.1 2.1v4.9c0 1.2-.9 2.1-2.1 2.1H5.5c-1.2 0-2.1-.9-2.1-2.1V9.3c0-1.2.9-2.1 2.1-2.1Z"
27
- fillRule="evenodd"
28
- clipRule="evenodd"
29
- fill={color}
30
- />
31
- </svg>
32
- </IconContainer>
33
- );
34
- };
35
-
36
- export default RulerIcon;
@@ -1,45 +0,0 @@
1
- import React from 'react';
2
- import { IconProps } from '../icons/Icons.types';
3
- import { IconContainer } from '../icons/styles';
4
-
5
- const SaveIcon: React.FC<IconProps> = ({
6
- className = '',
7
- size = 24,
8
- color = '#fffff0',
9
- fillColor = 'transparent',
10
- fillOpacity = 1,
11
- circleStrokeColor = '#fffff0',
12
- }) => {
13
- return (
14
- <IconContainer className={className}>
15
- <svg width={size} height={size} viewBox="0 0 24 24" fill="transparent" xmlns="http://www.w3.org/2000/svg">
16
- <circle
17
- fill={fillColor}
18
- fillOpacity={fillOpacity}
19
- cx="12"
20
- cy="12"
21
- r="10.5"
22
- stroke={circleStrokeColor}
23
- strokeWidth={'1.5px'}
24
- />
25
-
26
- <path
27
- fillRule="evenodd"
28
- clipRule="evenodd"
29
- d="M12 9C10.3431 9 9 10.3431 9 12C9 13.6569 10.3431 15 12 15C13.6569 15 15 13.6569 15 12C15 10.3431 13.6569 9 12 9ZM11 12C11 12.5523 11.4477 13 12 13C12.5523 13 13 12.5523 13 12C13 11.4477 12.5523 11 12 11C11.4477 11 11 11.4477 11 12Z"
30
- fill={color}
31
- />
32
- <path d="M6.81 10.75c0-2.17 1.76-3.94 3.94-3.94v1.13c-1.55 0-2.81 1.26-2.81 2.81H6.81Z" fill={color} />
33
- <path d="M13.25 16.06c1.55 0 2.81-1.26 2.81-2.81h1.13c0 2.17-1.76 3.94-3.94 3.94v-1.13Z" fill={color} />
34
- <path
35
- fillRule="evenodd"
36
- clipRule="evenodd"
37
- d="M12 3.75C7.44 3.75 3.75 7.44 3.75 12c0 4.56 3.69 8.25 8.25 8.25 4.56 0 8.25-3.69 8.25-8.25 0-4.56-3.69-8.25-8.25-8.25ZM5.25 12c0 3.73 3.02 6.75 6.75 6.75s6.75-3.02 6.75-6.75S15.73 5.25 12 5.25 5.25 8.27 5.25 12Z"
38
- fill={color}
39
- />
40
- </svg>
41
- </IconContainer>
42
- );
43
- };
44
-
45
- export default SaveIcon;
@@ -1,36 +0,0 @@
1
- import React from 'react';
2
- import { IconProps } from '../icons/Icons.types';
3
- import { IconContainer } from '../icons/styles';
4
-
5
- const TimeLapseIcon: React.FC<IconProps> = ({
6
- className = '',
7
- size = 24,
8
- color = '#fffff0',
9
- fillColor = 'transparent',
10
- fillOpacity = 1,
11
- circleStrokeColor = '#fffff0',
12
- }) => {
13
- return (
14
- <IconContainer className={className}>
15
- <svg width={size} height={size} viewBox="0 0 24 24" fill="transparent" xmlns="http://www.w3.org/2000/svg">
16
- <circle
17
- fill={fillColor}
18
- fillOpacity={fillOpacity}
19
- cx="12"
20
- cy="12"
21
- r="10.5"
22
- stroke={circleStrokeColor}
23
- strokeWidth={'1.5px'}
24
- />
25
- <path
26
- d="M12.03 17.33c-1.51 0-2.77-.63-3.78-1.51l3.78-3.78V6.74c2.9 0 5.29 2.39 5.29 5.29s-2.39 5.29-5.29 5.29Zm8.32-5.3c0 4.54-3.78 8.32-8.32 8.32s-8.32-3.78-8.32-8.32 3.78-8.32 8.32-8.32 8.32 3.79 8.32 8.32Zm-1.51 0c0 3.78-3.02 6.8-6.8 6.8s-6.81-3.02-6.81-6.8 3.02-6.8 6.8-6.8 6.8 3.02 6.8 6.8Z"
27
- fillRule="evenodd"
28
- clipRule="evenodd"
29
- fill={color}
30
- />
31
- </svg>
32
- </IconContainer>
33
- );
34
- };
35
-
36
- export default TimeLapseIcon;
@@ -1,38 +0,0 @@
1
- import React from 'react';
2
- import { IconProps } from '../icons/Icons.types';
3
- import { IconContainer } from '../icons/styles';
4
-
5
- const UnlockIcon: React.FC<IconProps> = ({
6
- className = '',
7
- size = 24,
8
- color = '#fffff0',
9
- fillColor = 'transparent',
10
- fillOpacity = 1,
11
- circleStrokeColor = '#fffff0',
12
- }) => {
13
- return (
14
- <IconContainer className={className}>
15
- <svg width={size} height={size} viewBox="0 0 24 24" fill="transparent" xmlns="http://www.w3.org/2000/svg">
16
- <circle
17
- fill={fillColor}
18
- fillOpacity={fillOpacity}
19
- cx="12"
20
- cy="12"
21
- r="10.5"
22
- stroke={circleStrokeColor}
23
- strokeWidth={'1.5px'}
24
- />
25
- <path
26
- fillRule="evenodd"
27
- clipRule="nonzero"
28
- d="M15.75 11.7c.369 0 .675.306.675.675v4.05c0 .369-.306.675-.675.675h-8.1c-.369 0-.675-.306-.675-.675v-4.05c0-.369.306-.675.675-.675h8.1Zm.675-3.375c0-2.232-1.818-4.05-4.05-4.05s-4.05 1.818-4.05 4.05V10.35H7.65c-1.125 0-2.025.9-2.025 2.025v4.05c0 1.125.9 2.025 2.025 2.025h8.1c1.125 0 2.025-.9 2.025-2.025v-4.05c0-1.125-.9-2.025-2.025-2.025H9.675V8.325c0-1.494 1.206-2.7 2.7-2.7s2.7 1.206 2.7 2.7h1.35Z"
29
- fill={color}
30
- stroke={color}
31
- strokeWidth={'0.2px'}
32
- />
33
- </svg>
34
- </IconContainer>
35
- );
36
- };
37
-
38
- export default UnlockIcon;
@@ -1,34 +0,0 @@
1
- import React from 'react';
2
- import { IconProps } from '../icons/Icons.types';
3
- import { IconContainer } from '../icons/styles';
4
-
5
- const UserSettingsIcon: React.FC<IconProps> = ({
6
- className = '',
7
- size = 24,
8
- color = '#fffff0',
9
- fillColor = 'transparent',
10
- fillOpacity = 1,
11
- circleStrokeColor = '#fffff0',
12
- }) => {
13
- return (
14
- <IconContainer className={className}>
15
- <svg width={size} height={size} viewBox="0 0 24 24" fill="transparent" xmlns="http://www.w3.org/2000/svg">
16
- <circle
17
- fill={fillColor}
18
- fillOpacity={fillOpacity}
19
- cx="12"
20
- cy="12"
21
- r="10.5"
22
- stroke={circleStrokeColor}
23
- strokeWidth={'1.5px'}
24
- />
25
- <path
26
- d="m9.7 11.6c-.4 0-.8.2-.8.6-.1 1.5 0 3 0 4.5 1.1.6 2.3 1.2 3.4 1.7 1.1-.5 2.2-1.1 3.2-1.7v-3.9c0-.4 0-1.1-.7-1.2zm2.4-6.13C10.8 5.37 10 7.1 10.7 8s2.41.87 2.91-.13c.7-1-.06-2.44-1.51-2.4zm.1-1.5c1.6 0 3 1.23 3.2 2.63.4 1.6-1.1 3.4-2.9 3.4h1.9c1.3-.1 2.6.7 2.7 1.9v3.9c.3-.2.5-.3.8-.5V10h1.6v6c-2.46 1.5-4.8 2.78-7.2 4.2-2.48-1.44-5.14-2.78-7.6-4.2v-6h1.7v5.3c.3.1.5.3.8.5V12.6c-.1-1.1.7-2.3 1.9-2.5.9-.1 1.8-.1 2.8-.1-1.6-.2-2.9-1.4-3-2.7-.2-1.7 1.4-3.43 3.3-3.33Z"
27
- fill={color}
28
- />
29
- </svg>
30
- </IconContainer>
31
- );
32
- };
33
-
34
- export default UserSettingsIcon;
@@ -1,63 +0,0 @@
1
- export * from './AddItemIcon';
2
- export { default as AddItemIcon } from './AddItemIcon';
3
-
4
- export * from './AddUserIcon';
5
- export { default as AddUserIcon } from './AddUserIcon';
6
-
7
- export * from './CheckIcon';
8
- export { default as CheckIcon } from './CheckIcon';
9
-
10
- export * from './CloseIcon';
11
- export { default as CloseIcon } from './CloseIcon';
12
-
13
- export * from './DeleteIcon';
14
- export { default as DeleteIcon } from './DeleteIcon';
15
-
16
- export * from './EleventheyeIcon';
17
- export { default as EleventheyeIcon } from './EleventheyeIcon';
18
-
19
- export * from './EyeIcon';
20
- export { default as EyeIcon } from './EyeIcon';
21
-
22
- export * from './EyeSlashIcon';
23
- export { default as EyeSlashIcon } from './EyeSlashIcon';
24
-
25
- export * from './FootballIcon';
26
- export { default as FootballIcon } from './FootballIcon';
27
-
28
- export * from './GamesIcon';
29
- export { default as GamesIcon } from './GamesIcon';
30
-
31
- export * from './GearUserIcon';
32
- export { default as GearUserIcon } from './GearUserIcon';
33
-
34
- export * from './HexagonIcon';
35
- export { default as HexagonIcon } from './HexagonIcon';
36
-
37
- export * from './HomeIcon';
38
- export { default as HomeIcon } from './HomeIcon';
39
-
40
- export * from './LockIcon';
41
- export { default as LockIcon } from './LockIcon';
42
-
43
- export * from './PenIcon';
44
- export { default as PenIcon } from './PenIcon';
45
-
46
- export * from './RulerIcon';
47
- export { default as RulerIcon } from './RulerIcon';
48
-
49
- export * from './SaveIcon';
50
- export { default as SaveIcon } from './SaveIcon';
51
-
52
- export * from './TimeLapseIcon';
53
- export { default as TimeLapseIcon } from './TimeLapseIcon';
54
-
55
- export * from './UnlockIcon';
56
- export { default as UnlockIcon } from './UnlockIcon';
57
-
58
- export * from './UserSettingsIcon';
59
- export { default as UserSettingsIcon } from './UserSettingsIcon';
60
-
61
- // export * from './icons/Icons.types.js';
62
- export * from './Icons.types';
63
- export type { IconProps } from './Icons.types';
@@ -1,9 +0,0 @@
1
- import styled from 'styled-components';
2
-
3
- export const IconContainer = styled.div`
4
- display: flex;
5
- flex-direction: column;
6
- justify-content: center;
7
- align-items: center;
8
- flex-wrap: nowrap;
9
- `;
package/src/index.ts DELETED
@@ -1,22 +0,0 @@
1
- export { default as AddItemIcon } from './icons/AddItemIcon';
2
- export { default as AddUserIcon } from './icons/AddUserIcon';
3
- export { default as CheckIcon } from './icons/CheckIcon';
4
- export { default as CloseIcon } from './icons/CloseIcon';
5
- export { default as DeleteIcon } from './icons/DeleteIcon';
6
- export { default as EleventheyeIcon } from './icons/EleventheyeIcon';
7
- export { default as EyeIcon } from './icons/EyeIcon';
8
- export { default as EyeSlashIcon } from './icons/EyeSlashIcon';
9
- export { default as FootballIcon } from './icons/FootballIcon';
10
- export { default as GamesIcon } from './icons/GamesIcon';
11
- export { default as GearUserIcon } from './icons/GearUserIcon';
12
- export { default as HexagonIcon } from './icons/HexagonIcon';
13
- export { default as HomeIcon } from './icons/HomeIcon';
14
- export * from './icons/Icons.types';
15
- export type { IconProps } from './icons/Icons.types';
16
- export { default as LockIcon } from './icons/LockIcon';
17
- export { default as PenIcon } from './icons/PenIcon';
18
- export { default as RulerIcon } from './icons/RulerIcon';
19
- export { default as SaveIcon } from './icons/SaveIcon';
20
- export { default as TimeLapseIcon } from './icons/TimeLapseIcon';
21
- export { default as UnlockIcon } from './icons/UnlockIcon';
22
- export { default as UserSettingsIcon } from './icons/UserSettingsIcon';
@@ -1,53 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
2
- import { fn } from '@storybook/test';
3
-
4
- import { Button } from './Button';
5
-
6
- // More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
7
- const meta = {
8
- title: 'Example/Button',
9
- component: Button,
10
- parameters: {
11
- // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
12
- layout: 'centered',
13
- },
14
- // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
15
- tags: ['autodocs'],
16
- // More on argTypes: https://storybook.js.org/docs/api/argtypes
17
- argTypes: {
18
- backgroundColor: { control: 'color' },
19
- },
20
- // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args
21
- args: { onClick: fn() },
22
- } satisfies Meta<typeof Button>;
23
-
24
- export default meta;
25
- type Story = StoryObj<typeof meta>;
26
-
27
- // More on writing stories with args: https://storybook.js.org/docs/writing-stories/args
28
- export const Primary: Story = {
29
- args: {
30
- primary: true,
31
- label: 'Button',
32
- },
33
- };
34
-
35
- export const Secondary: Story = {
36
- args: {
37
- label: 'Button',
38
- },
39
- };
40
-
41
- export const Large: Story = {
42
- args: {
43
- size: 'large',
44
- label: 'Button',
45
- },
46
- };
47
-
48
- export const Small: Story = {
49
- args: {
50
- size: 'small',
51
- label: 'Button',
52
- },
53
- };
@@ -1,37 +0,0 @@
1
- import React from 'react';
2
-
3
- import './button.css';
4
-
5
- export interface ButtonProps {
6
- /** Is this the principal call to action on the page? */
7
- primary?: boolean;
8
- /** What background color to use */
9
- backgroundColor?: string;
10
- /** How large should the button be? */
11
- size?: 'small' | 'medium' | 'large';
12
- /** Button contents */
13
- label: string;
14
- /** Optional click handler */
15
- onClick?: () => void;
16
- }
17
-
18
- /** Primary UI component for user interaction */
19
- export const Button = ({
20
- primary = false,
21
- size = 'medium',
22
- backgroundColor,
23
- label,
24
- ...props
25
- }: ButtonProps) => {
26
- const mode = primary ? 'storybook-button--primary' : 'storybook-button--secondary';
27
- return (
28
- <button
29
- type="button"
30
- className={['storybook-button', `storybook-button--${size}`, mode].join(' ')}
31
- style={{ backgroundColor }}
32
- {...props}
33
- >
34
- {label}
35
- </button>
36
- );
37
- };