@crystallize/design-system 0.0.2 → 1.0.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 (112) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/index.css +1362 -633
  3. package/dist/index.d.ts +171 -25
  4. package/dist/index.js +1124 -390
  5. package/dist/index.mjs +1108 -389
  6. package/package.json +47 -27
  7. package/readme.md +9 -0
  8. package/src/Tokens.stories.tsx +18 -0
  9. package/src/action-menu/ActionMenu.stories.tsx +3 -1
  10. package/src/action-menu/action-item.tsx +2 -10
  11. package/src/action-menu/action-menu.css +38 -0
  12. package/src/action-menu/action-menu.tsx +4 -13
  13. package/src/action-menu/index.tsx +2 -0
  14. package/src/avatar/Avatar.stories.tsx +20 -0
  15. package/src/avatar/avatar.css +23 -0
  16. package/src/avatar/avatar.tsx +34 -0
  17. package/src/avatar/get-initials.ts +5 -0
  18. package/src/avatar/index.ts +1 -0
  19. package/src/button/Button.stories.tsx +64 -22
  20. package/src/button/button.css +116 -0
  21. package/src/button/button.tsx +119 -33
  22. package/src/button/index.ts +1 -1
  23. package/src/card/card.css +7 -0
  24. package/src/card/card.stories.tsx +2 -2
  25. package/src/card/card.tsx +6 -4
  26. package/src/card/index.ts +2 -0
  27. package/src/checkbox/checkbox.css +30 -0
  28. package/src/checkbox/checkbox.stories.tsx +62 -0
  29. package/src/checkbox/checkbox.tsx +28 -0
  30. package/src/checkbox/index.ts +1 -0
  31. package/src/colors/Colors.stories.tsx +127 -0
  32. package/src/colors/color-defaults.json +15 -0
  33. package/src/colors/color-pairing.json +12 -0
  34. package/src/colors/colors.json +158 -0
  35. package/src/colors/index.ts +1 -0
  36. package/src/colors/old-to-new.txt +19 -0
  37. package/src/colors/types.ts +29 -0
  38. package/src/dialog/Dialog.stories.tsx +9 -6
  39. package/src/dialog/confirm-dialog.tsx +5 -2
  40. package/src/dialog/dialog.css +27 -0
  41. package/src/dialog/dialog.tsx +23 -25
  42. package/src/dialog/types.ts +4 -1
  43. package/src/dropdown-menu/DropdownMenu.stories.tsx +6 -15
  44. package/src/dropdown-menu/dropdown-menu-item.tsx +3 -12
  45. package/src/dropdown-menu/dropdown-menu-label.tsx +2 -9
  46. package/src/dropdown-menu/dropdown-menu-root.tsx +9 -5
  47. package/src/dropdown-menu/dropdown-menu.css +20 -0
  48. package/src/dropdown-menu/index.ts +2 -0
  49. package/src/icon-button/IconButton.stories.tsx +9 -6
  50. package/src/icon-button/icon-button.css +40 -0
  51. package/src/icon-button/icon-button.tsx +14 -22
  52. package/src/iconography/Icon.stories.tsx +47 -0
  53. package/src/{icons → iconography}/arrow.tsx +0 -0
  54. package/src/iconography/atom.tsx +59 -0
  55. package/src/{icons → iconography}/cancel.tsx +0 -0
  56. package/src/iconography/copy.tsx +24 -0
  57. package/src/iconography/crystal.tsx +93 -0
  58. package/src/iconography/edit.tsx +30 -0
  59. package/src/iconography/error.tsx +40 -0
  60. package/src/{icons → iconography}/glasses.tsx +0 -0
  61. package/src/{icons → iconography}/graphQL.tsx +0 -0
  62. package/src/{icons → iconography}/index.ts +10 -2
  63. package/src/iconography/info.tsx +41 -0
  64. package/src/{icons → iconography}/nail-polish.tsx +0 -0
  65. package/src/iconography/particle.tsx +88 -0
  66. package/src/iconography/triangle.tsx +27 -0
  67. package/src/iconography/warning.tsx +51 -0
  68. package/src/index.css +11 -0
  69. package/src/index.ts +23 -1
  70. package/src/inline-radio/index.ts +1 -0
  71. package/src/inline-radio/inline-radio.css +20 -0
  72. package/src/inline-radio/inline-radio.stories.tsx +62 -0
  73. package/src/inline-radio/inline-radio.tsx +26 -0
  74. package/src/input/Input.stories.tsx +26 -0
  75. package/src/input/index.ts +1 -0
  76. package/src/input/input.css +7 -0
  77. package/src/input/input.tsx +20 -0
  78. package/src/input-with-label/InputWithLabel.stories.tsx +98 -0
  79. package/src/input-with-label/index.ts +3 -0
  80. package/src/input-with-label/input-with-label.css +35 -0
  81. package/src/input-with-label/input-with-label.tsx +59 -0
  82. package/src/label/index.ts +1 -0
  83. package/src/label/label.css +3 -0
  84. package/src/label/label.stories.tsx +19 -0
  85. package/src/label/label.tsx +13 -0
  86. package/src/progress/Progress.stories.tsx +26 -0
  87. package/src/progress/index.ts +1 -0
  88. package/src/progress/progress.css +7 -0
  89. package/src/progress/progress.tsx +17 -0
  90. package/src/radio/index.ts +1 -0
  91. package/src/radio/radio.css +20 -0
  92. package/src/radio/radio.stories.tsx +142 -0
  93. package/src/radio/radio.tsx +19 -0
  94. package/src/select/index.ts +1 -0
  95. package/src/select/select-item.tsx +18 -0
  96. package/src/select/select-root.tsx +34 -0
  97. package/src/select/select.css +28 -0
  98. package/src/select/select.stories.tsx +74 -0
  99. package/src/select/select.ts +9 -0
  100. package/src/spinner/Spinner.stories.tsx +19 -0
  101. package/src/spinner/index.tsx +48 -0
  102. package/src/spinner/spinner.css +11 -0
  103. package/tailwind.config.cjs +51 -0
  104. package/src/button copy/ButtonCopy.stories.tsx +0 -86
  105. package/src/button copy/button.tsx +0 -61
  106. package/src/button copy/index.ts +0 -3
  107. package/src/colors/Colors.stories.mdx +0 -33
  108. package/src/icons/Iconography.stories.mdx +0 -45
  109. package/src/icons/dots.tsx +0 -24
  110. package/src/icons/error.tsx +0 -50
  111. package/src/icons/info.tsx +0 -53
  112. package/src/icons/warning.tsx +0 -62
@@ -0,0 +1,19 @@
1
+ import type { StoryObj, Meta } from '@storybook/react';
2
+ import { Spinner } from '.';
3
+
4
+ const meta: Meta<typeof Spinner> = {
5
+ title: 'Components/Spinner',
6
+ component: Spinner,
7
+ argTypes: {
8
+ size: {
9
+ defaultValue: 30,
10
+ },
11
+ },
12
+ };
13
+
14
+ export default meta;
15
+ type Story = StoryObj<typeof Spinner>;
16
+
17
+ export const Default: Story = {
18
+ args: {},
19
+ };
@@ -0,0 +1,48 @@
1
+ import { cx } from 'class-variance-authority';
2
+ import { ComponentPropsWithRef, forwardRef, ReactNode } from 'react';
3
+
4
+ import './spinner.css';
5
+
6
+ const realSize = 40;
7
+
8
+ type SpinnerProps = ComponentPropsWithRef<'div'> & {
9
+ children?: ReactNode;
10
+ className?: string;
11
+ color?: string;
12
+ size?: number;
13
+ strokeSize?: number;
14
+ };
15
+
16
+ export const Spinner = forwardRef<HTMLDivElement, SpinnerProps>(
17
+ ({ children, className, color = 'currentColor', size = 30, strokeSize, ...delegated }, ref) => {
18
+ const viewSize = size || realSize;
19
+ const sizeHalf = realSize / 2;
20
+
21
+ return (
22
+ <div ref={ref} className={cx('c-spinner', className)} data-testid="loading-spinner" {...delegated}>
23
+ <svg viewBox={`0 0 ${realSize} ${realSize}`} x="0px" y="0px" style={{ width: viewSize, height: viewSize }}>
24
+ <circle
25
+ cx="20"
26
+ cy="20"
27
+ r="18"
28
+ style={{
29
+ stroke: color,
30
+ strokeWidth: strokeSize ? strokeSize : viewSize / 10,
31
+ strokeLinecap: 'round',
32
+ strokeDasharray: size < 16 ? size * 6 : size * 3.5,
33
+ transformOrigin: `${sizeHalf}px ${sizeHalf}px 0`,
34
+ }}
35
+ className="c-spinner-artifact"
36
+ />
37
+ </svg>
38
+ {children && (
39
+ <span className="c-spinner-children" style={{ fontSize: size ? `${size * 0.75}px` : '1em' }}>
40
+ {children}
41
+ </span>
42
+ )}
43
+ </div>
44
+ );
45
+ },
46
+ );
47
+
48
+ Spinner.displayName = 'Spinner';
@@ -0,0 +1,11 @@
1
+ .c-spinner {
2
+ @apply inline-flex items-center;
3
+
4
+ &-artifact {
5
+ @apply animate-spin fill-transparent;
6
+ }
7
+
8
+ &-children {
9
+ @apply ml-[15px] inline-block;
10
+ }
11
+ }
@@ -0,0 +1,51 @@
1
+ /* eslint-disable @typescript-eslint/no-var-requires */
2
+ const defaultTheme = require('tailwindcss/defaultTheme');
3
+ const colorsPlugin = require('./plugins/colors');
4
+
5
+ /** @type {import("tailwindcss").Config} */
6
+ module.exports = {
7
+ content: ['./src/**/*.tsx'],
8
+ safelist: ['c-dark'],
9
+ experimental: {
10
+ optimizeUniversalDefaults: true,
11
+ },
12
+ corePlugins: {
13
+ preflight: false,
14
+ },
15
+ theme: {
16
+ extend: {
17
+ fontFamily: {
18
+ sans: ['Roboto', ...defaultTheme.fontFamily.sans],
19
+ serif: ["'Roboto Slab'", ...defaultTheme.fontFamily.serif],
20
+ },
21
+ colors: {
22
+ // Some nice-to-have colors
23
+ transparent: 'transparent',
24
+ inherit: 'inherit',
25
+ },
26
+ keyframes: {
27
+ spin: {
28
+ '0%': {
29
+ transform: 'rotate(0deg)',
30
+ strokeDashoffset: 26.4, // 40 * 0.66
31
+ },
32
+ '50%': {
33
+ transform: 'rotate(720deg)',
34
+ strokeDashoffset: 125.6, // 40 * 3.14
35
+ },
36
+ '100%': {
37
+ transform: 'rotate(1080deg)',
38
+ strokeDashoffset: 26.4, // 40 * 0.66
39
+ },
40
+ },
41
+ },
42
+ animation: {
43
+ spin: 'spin 2s linear infinite',
44
+ },
45
+ boxShadow: {
46
+ DEFAULT: '0 2px 4px rgba(130,138,144,0.15)',
47
+ },
48
+ },
49
+ },
50
+ plugins: [colorsPlugin],
51
+ };
@@ -1,86 +0,0 @@
1
- import type { StoryObj, Meta } from '@storybook/react';
2
- import { Button } from '.';
3
-
4
- const meta: Meta<typeof Button> = {
5
- title: 'Components/ButtonCopy',
6
- component: Button,
7
- argTypes: {},
8
- };
9
-
10
- export default meta;
11
- type Story = StoryObj<typeof Button>;
12
-
13
- const variants = ['contained', 'outline', 'link', 'text'] as const;
14
- const intent = ['default', 'primary', 'success', 'danger'] as const;
15
- const sizes = ['xs', 'sm', 'md', 'lg', 'xl'] as const;
16
-
17
- export const AllButton: Story = {
18
- name: 'All Buttons',
19
- render: () => {
20
- return (
21
- <div className="grid grid-cols-4 gap-6 justify-items-center">
22
- {sizes.map(size =>
23
- variants.map(variant =>
24
- intent.map(intent => (
25
- <Button variant={variant} size={size} intent={intent}>
26
- Click me
27
- </Button>
28
- )),
29
- ),
30
- )}
31
- </div>
32
- );
33
- },
34
- };
35
-
36
- export const Contained: Story = {
37
- args: {
38
- variant: 'contained',
39
- children: 'Button',
40
- },
41
- };
42
-
43
- export const Outline: Story = {
44
- args: {
45
- variant: 'outline',
46
- children: 'Button',
47
- },
48
- };
49
-
50
- export const Link: Story = {
51
- args: {
52
- variant: 'link',
53
- children: 'Button',
54
- },
55
- };
56
-
57
- export const Text: Story = {
58
- args: {
59
- variant: 'text',
60
- children: 'Button',
61
- },
62
- };
63
-
64
- export const Primary: Story = {
65
- args: {
66
- variant: 'contained',
67
- children: 'Button',
68
- intent: 'primary',
69
- },
70
- };
71
-
72
- export const Success: Story = {
73
- args: {
74
- variant: 'contained',
75
- children: 'Button',
76
- intent: 'success',
77
- },
78
- };
79
-
80
- export const Danger: Story = {
81
- args: {
82
- variant: 'contained',
83
- children: 'Button',
84
- intent: 'danger',
85
- },
86
- };
@@ -1,61 +0,0 @@
1
- import { ComponentPropsWithRef, forwardRef } from 'react';
2
- import { cva, VariantProps } from 'class-variance-authority';
3
-
4
- type ButtonStylesProps = VariantProps<typeof buttonStyles>;
5
- const buttonStyles = cva(
6
- [
7
- 'inline-grid grid-flow-col items-center gap-2 rounded font-medium cursor-pointer whitespace-nowrap',
8
- 'disabled:cursor-default disabled:scale-100 disabled:shadow-none',
9
- 'active:scale-95',
10
- 'focus:shadow',
11
- 'hover:shadow',
12
- 'focus-visible:outline-inherit focus-visible:outline-offset-1 focus-visible:outline focus-visible:outline-1',
13
- ],
14
- {
15
- variants: {
16
- variant: {
17
- contained: 'bg-cosmos',
18
- outline: 'bg-transparent border border-galaxy border-solid text-galaxy',
19
- link: [
20
- 'text-sky-700',
21
- 'hover:shadow-none hover:text-sky-500',
22
- 'focus:shadow-none focus:text-sky-500',
23
- 'active:scale-100',
24
- ],
25
- text: ['hover:shadow-none hover:bg-cosmos', 'focus:shadow-none focus:bg-cosmos'],
26
- },
27
- intent: {
28
- default: '',
29
- primary: ['bg-cyan-200 text-cyan-800', 'hover:bg-cyan-300', 'focus:bg-cyan-300'],
30
- success: ['bg-emerald-200 text-emerald-800', 'hover:bg-emerald-300', 'focus:bg-emerald-300'],
31
- danger: ['bg-red-200 text-red-800', 'hover:bg-red-300', 'focus:bg-red-300'],
32
- },
33
- size: {
34
- xs: 'h-8 px-5',
35
- sm: 'h-9 px-6',
36
- md: 'h-10 px-7',
37
- lg: 'h-10 px-8',
38
- xl: 'h-11 px-9',
39
- },
40
- },
41
- defaultVariants: {
42
- variant: 'contained',
43
- intent: 'default',
44
- size: 'sm',
45
- },
46
- },
47
- );
48
-
49
- export type ButtonProps = ComponentPropsWithRef<'button'> & ButtonStylesProps;
50
-
51
- export const Button = forwardRef<HTMLButtonElement, ButtonProps>(
52
- ({ children, className, type = 'button', size, variant, intent, ...delegated }, ref) => {
53
- return (
54
- <button ref={ref} type={type} className={buttonStyles({ size, variant, intent, className })} {...delegated}>
55
- {children}
56
- </button>
57
- );
58
- },
59
- );
60
-
61
- Button.displayName = 'Button';
@@ -1,3 +0,0 @@
1
- export { Button } from './button';
2
-
3
- export type { ButtonProps } from './button';
@@ -1,33 +0,0 @@
1
- import { Meta, ColorPalette, ColorItem } from '@storybook/addon-docs';
2
-
3
- <Meta title="Colors" />
4
-
5
- # Colors
6
-
7
- <ColorPalette>
8
- <ColorItem
9
- title="color.density"
10
- subtitle="Lorem ispum"
11
- colors={{ Density: '#4d525b'}}
12
- />
13
- <ColorItem
14
- title="color.label"
15
- subtitle="Lorem ispum"
16
- colors={{ Label: '#9095a8'}}
17
- />
18
- <ColorItem
19
- title="color.neptune"
20
- subtitle="Lorem ispum"
21
- colors={{ Neptune: '#bff6f8'}}
22
- />
23
- <ColorItem
24
- title="color.jupiter"
25
- subtitle="Lorem ispum"
26
- colors={{ Jupiter: '#eeeff1'}}
27
- />
28
- <ColorItem
29
- title="color.gray"
30
- subtitle="Shades of gray"
31
- colors={{ 'gray-1': '#333333', 'gray-2': '#4f4f4f', 'gray-3': '#828282', 'gray-4': '#bdbdbd', 'gray-5': '#e0e0e0', 'gray-6': '#f2f2f2' }}
32
- />
33
- </ColorPalette>
@@ -1,45 +0,0 @@
1
- import { Meta, Title, IconGallery, IconItem } from '@storybook/addon-docs/';
2
-
3
- import { Icon as IconExample } from '.';
4
-
5
- <Meta title="Iconography" />
6
-
7
- # Iconography
8
-
9
- <IconGallery>
10
- <IconItem name="Arrow" >
11
- <IconExample.Arrow />
12
- </IconItem>
13
-
14
- <IconItem name="Cancel" >
15
- <IconExample.Cancel />
16
- </IconItem>
17
-
18
- <IconItem name="Dots">
19
- <IconExample.Dots />
20
- </IconItem>
21
-
22
- <IconItem name="Glasses" >
23
- <IconExample.Glasses />
24
- </IconItem>
25
-
26
- <IconItem name="GraphQL" >
27
- <IconExample.GraphQL />
28
- </IconItem>
29
-
30
- <IconItem name="NailPolish" >
31
- <IconExample.NailPolish />
32
- </IconItem>
33
-
34
- <IconItem name="Error" >
35
- <IconExample.Error />
36
- </IconItem>
37
-
38
- <IconItem name="Info" >
39
- <IconExample.Info />
40
- </IconItem>
41
-
42
- <IconItem name="Warning" >
43
- <IconExample.Warning />
44
- </IconItem>
45
- </IconGallery>
@@ -1,24 +0,0 @@
1
- import { forwardRef, SVGProps } from 'react';
2
-
3
- type DotsProps = SVGProps<SVGSVGElement>;
4
- type DotsRef = SVGSVGElement;
5
-
6
- export const Dots = forwardRef<DotsRef, DotsProps>((delegated, ref) => {
7
- return (
8
- <svg
9
- ref={ref}
10
- width="20"
11
- height="20"
12
- viewBox="0 0 20 20"
13
- fill="none"
14
- xmlns="http://www.w3.org/2000/svg"
15
- {...delegated}
16
- >
17
- <circle cx="10" cy="5" r="1.7857" fill="#9095A8" />
18
- <circle cx="10" cy="10" r="1.7857" fill="#9095A8" />
19
- <circle cx="10" cy="15" r="1.7857" fill="#9095A8" />
20
- </svg>
21
- );
22
- });
23
-
24
- Dots.displayName = 'DotsIcon';
@@ -1,50 +0,0 @@
1
- import { forwardRef, SVGProps } from 'react';
2
-
3
- type ErrorProps = SVGProps<SVGSVGElement>;
4
- type ErrorRef = SVGSVGElement;
5
-
6
- export const Error = forwardRef<ErrorRef, ErrorProps>((delegated, ref) => {
7
- return (
8
- <svg
9
- ref={ref}
10
- xmlns="http://www.w3.org/2000/svg"
11
- width="22"
12
- height="22"
13
- fill="none"
14
- viewBox="0 0 22 22"
15
- {...delegated}
16
- >
17
- <g clipPath="url(#a)">
18
- <path
19
- fill="#DD1367"
20
- d="M20.83 11c0 5.43-4.4 9.83-9.83 9.83S1.17 16.43 1.17 11 5.57 1.17 11 1.17s9.83 4.4 9.83 9.83Z"
21
- />
22
- <path
23
- fill="#528693"
24
- fillRule="evenodd"
25
- d="M21.431 11c0 5.76-4.67 10.43-10.43 10.43C5.238 21.43.568 16.76.568 11S5.24.57 11 .57C16.76.57 21.431 5.24 21.431 11Zm-10.43 9.83c5.429 0 9.83-4.4 9.83-9.83s-4.401-9.83-9.83-9.83c-5.43 0-9.832 4.4-9.832 9.83S5.571 20.83 11 20.83Z"
26
- clipRule="evenodd"
27
- />
28
- <path
29
- fill="#fff"
30
- fillRule="evenodd"
31
- d="m7.364 13.479 1.157 1.157L11 12.158l2.479 2.478 1.157-1.157L12.158 11l2.478-2.479-1.157-1.157-2.48 2.478-2.478-2.478L7.364 8.52 9.842 11l-2.478 2.479Z"
32
- clipRule="evenodd"
33
- />
34
- <path
35
- fill="#528693"
36
- fillRule="evenodd"
37
- d="M6.94 13.903a.6.6 0 0 1 0-.849L8.994 11 6.94 8.946a.6.6 0 0 1 0-.849L8.097 6.94a.6.6 0 0 1 .849 0L11 8.994l2.054-2.054a.6.6 0 0 1 .849 0l1.157 1.157a.6.6 0 0 1 0 .849L13.006 11l2.054 2.054a.6.6 0 0 1 0 .849l-1.157 1.157a.6.6 0 0 1-.849 0L11 13.006 8.946 15.06a.6.6 0 0 1-.849 0L6.94 13.903ZM11 12.158l2.479 2.478 1.157-1.157L12.158 11l2.478-2.479-1.157-1.157L11 9.842 8.521 7.364 7.364 8.52 9.842 11l-2.478 2.479 1.157 1.157L11 12.158Z"
38
- clipRule="evenodd"
39
- />
40
- </g>
41
- <defs>
42
- <clipPath id="a">
43
- <path fill="#fff" d="M0 0h22v22H0z" />
44
- </clipPath>
45
- </defs>
46
- </svg>
47
- );
48
- });
49
-
50
- Error.displayName = 'ErrorIcon';
@@ -1,53 +0,0 @@
1
- import { forwardRef, SVGProps } from 'react';
2
-
3
- type InfoProps = SVGProps<SVGSVGElement>;
4
- type InfoRef = SVGSVGElement;
5
-
6
- export const Info = forwardRef<InfoRef, InfoProps>((delegated, ref) => {
7
- return (
8
- <svg
9
- ref={ref}
10
- xmlns="http://www.w3.org/2000/svg"
11
- width="22"
12
- height="22"
13
- fill="none"
14
- viewBox="0 0 22 22"
15
- {...delegated}
16
- >
17
- <g clipPath="url(#a)">
18
- <path
19
- fill="#BFF6F8"
20
- d="M20.83 11c0 5.43-4.4 9.83-9.83 9.83S1.17 16.43 1.17 11 5.57 1.17 11 1.17s9.83 4.4 9.83 9.83Z"
21
- />
22
- <path
23
- fill="#528693"
24
- fillRule="evenodd"
25
- d="M21.431 11c0 5.76-4.67 10.43-10.43 10.43C5.238 21.43.568 16.76.568 11S5.24.57 11 .57C16.76.57 21.431 5.24 21.431 11Zm-10.43 9.83c5.429 0 9.83-4.4 9.83-9.83s-4.401-9.83-9.83-9.83c-5.43 0-9.832 4.4-9.832 9.83S5.571 20.83 11 20.83Z"
26
- clipRule="evenodd"
27
- />
28
- <path fill="#fff" d="M14.814 6.317a.991.991 0 1 1-1.983 0 .991.991 0 0 1 1.983 0Z" />
29
- <path
30
- fill="#528693"
31
- fillRule="evenodd"
32
- d="M15.415 6.317a1.592 1.592 0 1 1-3.184 0 1.592 1.592 0 0 1 3.184 0Zm-1.592.991a.991.991 0 1 0 0-1.982.991.991 0 0 0 0 1.982Z"
33
- clipRule="evenodd"
34
- />
35
- <path
36
- fill="#fff"
37
- d="m9.37 16.049 1.8.26-.22-.7-.78-.621.56-1.14 2.261-3.382-.34-1.381-1.92-1-1.261.14-.28.32 1.08.54.14.54-2.22 2.862-.821 2.36 2 1.202Z"
38
- />
39
- <path
40
- fill="#528693"
41
- d="M10.476 16.666a4.93 4.93 0 0 1-2.096-.599c-1.114-.605-1.482-1.63-.961-2.673a9.606 9.606 0 0 1 1.437-1.963l.067-.077c.252-.293.513-.595.742-.897.288-.38.538-.745.443-1.031-.056-.164-.215-.282-.485-.362a1.58 1.58 0 0 0-.247-.033l-.055-.004a.984.984 0 0 1-.481-.096c-.169-.132-.098-.51-.013-.676a.915.915 0 0 1 .701-.473c.139-.025.28-.037.42-.035.656.034 1.301.176 1.91.42 1.104.424 1.631 1.263 1.41 2.244a4.193 4.193 0 0 1-.908 1.714c-.128.161-.26.315-.392.471l-.07.083c-.282.32-.544.654-.788 1.003l-.144.206c-.161.209-.291.44-.385.687a.582.582 0 0 0 .32.743.91.91 0 0 0 .32.08c.175.021.356.044.428.21a.575.575 0 0 1-.035.477 1.144 1.144 0 0 1-1.138.581Zm-.877-8.193c.128.079.268.136.414.17.18.04.35.12.494.236.58.552.14 1.272-.318 1.903-.214.292-.47.58-.74.884l-.068.077c-.624.692-1.27 1.408-1.497 2.232a1.148 1.148 0 0 0 .163 1.06c.493.658 1.78.907 2.819.921l.035-.05-.025-.035a1.248 1.248 0 0 1-.865-.594 1.04 1.04 0 0 1 .006-.894 8.071 8.071 0 0 1 1.309-1.977l.127-.155c.171-.21.356-.437.525-.665.371-.501.844-1.245.664-1.915-.315-1.173-2.15-1.209-3.03-1.226h-.057l.044.028Z"
42
- />
43
- </g>
44
- <defs>
45
- <clipPath id="a">
46
- <path fill="#fff" d="M0 0h22v22H0z" />
47
- </clipPath>
48
- </defs>
49
- </svg>
50
- );
51
- });
52
-
53
- Info.displayName = 'InfoIcon';
@@ -1,62 +0,0 @@
1
- import { forwardRef, SVGProps } from 'react';
2
-
3
- type WarningProps = SVGProps<SVGSVGElement>;
4
- type WarningRef = SVGSVGElement;
5
-
6
- export const Warning = forwardRef<WarningRef, WarningProps>((delegated, ref) => {
7
- return (
8
- <svg
9
- ref={ref}
10
- xmlns="http://www.w3.org/2000/svg"
11
- width="22"
12
- height="22"
13
- fill="none"
14
- viewBox="0 0 22 22"
15
- {...delegated}
16
- >
17
- <g clipPath="url(#a)">
18
- <path
19
- fill="#FFDE99"
20
- d="M20.83 11c0 5.43-4.4 9.83-9.83 9.83S1.17 16.43 1.17 11 5.57 1.17 11 1.17s9.83 4.4 9.83 9.83Z"
21
- />
22
- <path
23
- fill="#528693"
24
- fillRule="evenodd"
25
- d="M21.43 11c0 5.76-4.67 10.43-10.43 10.43S.57 16.76.57 11 5.24.57 11 .57 21.43 5.24 21.43 11ZM11 20.83c5.43 0 9.83-4.4 9.83-9.83S16.43 1.17 11 1.17 1.17 5.57 1.17 11s4.4 9.83 9.83 9.83Z"
26
- clipRule="evenodd"
27
- />
28
- <path
29
- fill="#fff"
30
- d="M10.077 5.232c.41-.71 1.436-.71 1.846 0L17 14.025c.41.71-.103 1.599-.924 1.599H5.923c-.82 0-1.333-.889-.923-1.6l5.077-8.792Z"
31
- />
32
- <path
33
- fill="#528693"
34
- fillRule="evenodd"
35
- d="m16.48 14.325-5.077-8.793a.466.466 0 0 0-.806 0L5.52 14.325c-.18.31.045.699.403.699h10.153a.466.466 0 0 0 .404-.7Zm-4.557-9.093a1.066 1.066 0 0 0-1.846 0L5 14.025c-.41.71.103 1.599.923 1.599h10.153c.821 0 1.334-.889.924-1.6l-5.077-8.792Z"
36
- clipRule="evenodd"
37
- />
38
- <path fill="#FFDE99" d="M10.588 8.628a.5.5 0 1 1 1 0v2.475a.5.5 0 0 1-1 0V8.628Z" />
39
- <path
40
- fill="#528693"
41
- fillRule="evenodd"
42
- d="M12.188 8.628v2.475a1.1 1.1 0 0 1-2.2 0V8.628a1.1 1.1 0 1 1 2.2 0Zm-1.1-.5a.5.5 0 0 0-.5.5v2.475a.5.5 0 1 0 1 0V8.628a.5.5 0 0 0-.5-.5Z"
43
- clipRule="evenodd"
44
- />
45
- <path fill="#FFDE99" d="M11.588 13.403a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Z" />
46
- <path
47
- fill="#528693"
48
- fillRule="evenodd"
49
- d="M12.188 13.403a1.1 1.1 0 1 1-2.2 0 1.1 1.1 0 0 1 2.2 0Zm-1.1.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z"
50
- clipRule="evenodd"
51
- />
52
- </g>
53
- <defs>
54
- <clipPath id="a">
55
- <path fill="#fff" d="M0 0h22v22H0z" />
56
- </clipPath>
57
- </defs>
58
- </svg>
59
- );
60
- });
61
-
62
- Warning.displayName = 'WarningIcon';