athameui 0.0.12 → 0.0.14

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 (64) hide show
  1. package/components/Accordion/Accordion.tsx +23 -23
  2. package/components/Accordion/AccordionItem.tsx +7 -1
  3. package/components/Avatar/Avatar.tsx +6 -1
  4. package/components/Button/Button.tsx +11 -0
  5. package/components/Button/ScrollToTopButton.tsx +2 -1
  6. package/components/Carousel/Carousel.tsx +159 -37
  7. package/components/Checkbox/Checkbox.tsx +51 -0
  8. package/components/Checkbox/index.ts +1 -0
  9. package/components/FormField/FormField.tsx +24 -0
  10. package/components/FormTextInput/FormTextInput.tsx +11 -0
  11. package/components/Layout/Main.tsx +11 -2
  12. package/components/Modal/Modal.tsx +9 -2
  13. package/components/SlideOut/SlideOut.tsx +31 -2
  14. package/components/index.ts +1 -0
  15. package/dist/athameui.cjs +410 -262
  16. package/dist/athameui.cjs.map +1 -1
  17. package/dist/athameui.mjs +406 -248
  18. package/dist/athameui.mjs.map +1 -1
  19. package/dist/components/Accordion/AccordionItem.d.ts.map +1 -1
  20. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  21. package/dist/components/Button/Button.d.ts +5 -0
  22. package/dist/components/Button/Button.d.ts.map +1 -1
  23. package/dist/components/Button/ScrollToTopButton.d.ts.map +1 -1
  24. package/dist/components/Carousel/Carousel.d.ts +5 -1
  25. package/dist/components/Carousel/Carousel.d.ts.map +1 -1
  26. package/dist/components/Checkbox/Checkbox.d.ts +14 -0
  27. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
  28. package/dist/components/Checkbox/index.d.ts +2 -0
  29. package/dist/components/Checkbox/index.d.ts.map +1 -0
  30. package/dist/components/FormField/FormField.d.ts +3 -0
  31. package/dist/components/FormField/FormField.d.ts.map +1 -1
  32. package/dist/components/FormTextInput/FormTextInput.d.ts +6 -1
  33. package/dist/components/FormTextInput/FormTextInput.d.ts.map +1 -1
  34. package/dist/components/Layout/Main.d.ts +2 -1
  35. package/dist/components/Layout/Main.d.ts.map +1 -1
  36. package/dist/components/Modal/Modal.d.ts.map +1 -1
  37. package/dist/components/SlideOut/SlideOut.d.ts.map +1 -1
  38. package/dist/components/index.d.ts +1 -0
  39. package/dist/components/index.d.ts.map +1 -1
  40. package/dist/styles/components/carousel.css +28 -4
  41. package/dist/styles/components/checkbox.css +60 -0
  42. package/dist/styles/components/form-input.css +2 -1
  43. package/dist/styles/components/main.css +17 -2
  44. package/dist/styles/index.d.ts +0 -1
  45. package/dist/styles/index.d.ts.map +1 -1
  46. package/dist/styles/index.ts +0 -1
  47. package/dist/styles/theme.css +1 -0
  48. package/dist/styles/tokens.css +16 -17
  49. package/dist/styles/tokens.d.ts +209 -26
  50. package/dist/styles/tokens.d.ts.map +1 -1
  51. package/dist/styles/tokens.ts +190 -165
  52. package/package.json +1 -1
  53. package/styles/components/carousel.css +28 -4
  54. package/styles/components/checkbox.css +60 -0
  55. package/styles/components/form-input.css +2 -1
  56. package/styles/components/main.css +17 -2
  57. package/styles/index.ts +0 -1
  58. package/styles/theme.css +1 -0
  59. package/styles/tokens.css +16 -17
  60. package/styles/tokens.ts +190 -165
  61. package/dist/styles/breakpoints.d.ts +0 -29
  62. package/dist/styles/breakpoints.d.ts.map +0 -1
  63. package/dist/styles/breakpoints.ts +0 -34
  64. package/styles/breakpoints.ts +0 -34
@@ -3,16 +3,19 @@
3
3
  @layer components {
4
4
  .ath-carousel-wrapper {
5
5
  position: relative;
6
+ overflow: hidden;
7
+ }
8
+ .ath-carousel-label {
9
+ margin-top: 1rem;
6
10
  }
7
11
  .ath-carousel {
8
- display: flex;
9
- width: 100%;
10
- min-width: 0;
11
- max-width: 100%;
12
+ display: grid;
12
13
  border: 5px solid var(--color-secondary-800);
13
14
  border-radius: 10px;
14
15
  padding: 10px;
15
16
  overflow-x: auto;
17
+ grid-auto-flow: column;
18
+ grid-auto-columns: max-content;
16
19
  gap: 10px;
17
20
  scrollbar-width: none;
18
21
  &::-webkit-scrollbar {
@@ -47,4 +50,25 @@
47
50
  padding: 1rem;
48
51
  color: var(--color-tertiary-300);
49
52
  }
53
+ .ath-carousel-slot {
54
+ position: relative;
55
+ }
56
+ .ath-carousel-slot[draggable="true"] {
57
+ cursor: grab;
58
+ }
59
+ .ath-carousel-slot[draggable="true"]:active {
60
+ cursor: grabbing;
61
+ }
62
+ .ath-carousel-slot-target {
63
+ outline: 2px solid var(--color-primary-300);
64
+ outline-offset: 2px;
65
+ }
66
+ .ath-carousel-remove-button {
67
+ position: absolute;
68
+ top: 5px;
69
+ right: 5px;
70
+ z-index: 2;
71
+ padding: 0;
72
+ color: var(--color-error-vibrant-700);
73
+ }
50
74
  }
@@ -0,0 +1,60 @@
1
+ @import "../tokens.css";
2
+
3
+ @layer components {
4
+ .ath-checkbox {
5
+ display: flex;
6
+ align-items: center;
7
+ gap: 0.75rem;
8
+ cursor: pointer;
9
+ color: var(--color-primary-900);
10
+ }
11
+
12
+ .ath-checkbox-dark {
13
+ color: var(--color-tertiary-50);
14
+ }
15
+
16
+ .ath-checkbox-disabled {
17
+ cursor: not-allowed;
18
+ opacity: 0.55;
19
+ }
20
+
21
+ .ath-checkbox-input {
22
+ appearance: none;
23
+ flex: 0 0 auto;
24
+ width: 1.125rem;
25
+ height: 1.125rem;
26
+ margin: 0;
27
+ border: 2px solid var(--color-tertiary-500);
28
+ border-radius: var(--radius-sm);
29
+ background: transparent;
30
+ display: grid;
31
+ place-content: center;
32
+ }
33
+
34
+ .ath-checkbox-input:focus-visible {
35
+ outline: 2px solid var(--color-primary-vibrant-500);
36
+ outline-offset: 2px;
37
+ }
38
+
39
+ .ath-checkbox-input:checked {
40
+ background: var(--color-primary-vibrant-500);
41
+ border-color: var(--color-primary-vibrant-500);
42
+ }
43
+
44
+ .ath-checkbox-input:checked::after {
45
+ content: "";
46
+ width: 0.3rem;
47
+ height: 0.55rem;
48
+ border: solid var(--color-primary-50);
49
+ border-width: 0 2px 2px 0;
50
+ transform: rotate(45deg) translate(-1px, -1px);
51
+ }
52
+
53
+ .ath-checkbox-input:disabled {
54
+ cursor: not-allowed;
55
+ }
56
+
57
+ .ath-checkbox-label {
58
+ line-height: 1.4;
59
+ }
60
+ }
@@ -58,6 +58,7 @@
58
58
  .ath-form-textarea {
59
59
  margin-top: 3px;
60
60
  font-size: inherit;
61
+ font-family: inherit;
61
62
  line-height: 1.5;
62
63
  padding: 0.75rem;
63
64
  border: 1px solid var(--color-tertiary-500);
@@ -76,7 +77,7 @@
76
77
  border-color: var(--color-primary-vibrant-500);
77
78
  }
78
79
  .ath-form-textarea::placeholder {
79
- color: var(--color-tertiary-400);
80
+ color: var(--color-primary-300);
80
81
  }
81
82
  .ath-form-textarea-auto-resize {
82
83
  resize: none;
@@ -17,9 +17,24 @@
17
17
  display: flex;
18
18
  flex-direction: column;
19
19
  gap: 15px;
20
- width: 100%;
21
20
  margin-inline: auto;
22
- max-width: 1200px;
23
21
  padding: 0 15px;
22
+ width: 100%;
23
+ /* Default to `medium` if no width is provided */
24
+ &.full {
25
+ margin-inline: auto;
26
+ }
27
+ &.wide {
28
+ max-width: 1200px;
29
+ margin-inline: auto;
30
+ }
31
+ &.medium {
32
+ max-width: 768px;
33
+ margin-inline: auto;
34
+ }
35
+ &.narrow {
36
+ max-width: 480px;
37
+ margin-inline: auto;
38
+ }
24
39
  }
25
40
  }
package/styles/index.ts CHANGED
@@ -1,2 +1 @@
1
- export * from "./breakpoints";
2
1
  export * from "./tokens";
package/styles/theme.css CHANGED
@@ -4,6 +4,7 @@
4
4
  @import "./components/button.css";
5
5
  @import "./components/button-group.css";
6
6
  @import "./components/carousel.css";
7
+ @import "./components/checkbox.css";
7
8
  @import "./components/dropdown.css";
8
9
  @import "./components/footer.css";
9
10
  @import "./components/form-input.css";
package/styles/tokens.css CHANGED
@@ -1,4 +1,4 @@
1
- /* CSS Custom Properties for Styling-Agnostic Design Tokens */
1
+ /* Generated from styles/tokens.ts. Edit that file, then run pnpm generate-tokens. */
2
2
  :root {
3
3
  --font-family-sans: "Montserrat", sans-serif;
4
4
  --font-family-serif: "Libre Baskerville", serif;
@@ -12,8 +12,8 @@
12
12
  --color-text-dark: #040a0c;
13
13
  --color-text-light: #fcfbf7;
14
14
 
15
- --color-background-light: var(--color-text-light);
16
- --color-background-dark: var(--color-text-dark);
15
+ --color-background-light: #fcfbf7;
16
+ --color-background-dark: #040a0c;
17
17
 
18
18
  /* ----- Primary ----- */
19
19
  --color-primary-50: #f0f2f5;
@@ -21,7 +21,7 @@
21
21
  --color-primary-200: #b8c3d1;
22
22
  --color-primary-300: #8a9bae;
23
23
  --color-primary-400: #4a5f7a;
24
- --color-primary-500: #0b1828; /* Base Primary */
24
+ --color-primary-500: #0b1828;
25
25
  --color-primary-600: #081320;
26
26
  --color-primary-700: #060e18;
27
27
  --color-primary-800: #04090f;
@@ -32,13 +32,12 @@
32
32
  --color-primary-vibrant-700: #1e3a8a;
33
33
 
34
34
  /* ----- Secondary ----- */
35
-
36
35
  --color-secondary-50: #e6f7f6;
37
36
  --color-secondary-100: #b3e8e5;
38
37
  --color-secondary-200: #80d9d4;
39
38
  --color-secondary-300: #4dcac3;
40
39
  --color-secondary-400: #2aa39b;
41
- --color-secondary-500: #146b68; /* Base Secondary */
40
+ --color-secondary-500: #146b68;
42
41
  --color-secondary-600: #125a57;
43
42
  --color-secondary-700: #0f4a47;
44
43
  --color-secondary-800: #0c3835;
@@ -54,7 +53,7 @@
54
53
  --color-tertiary-200: #e5c8a8;
55
54
  --color-tertiary-300: #dcb184;
56
55
  --color-tertiary-400: #d19b60;
57
- --color-tertiary-500: #bfa081; /* Base Tertiary */
56
+ --color-tertiary-500: #bfa081;
58
57
  --color-tertiary-600: #a68965;
59
58
  --color-tertiary-700: #7d6748;
60
59
  --color-tertiary-800: #54442c;
@@ -70,7 +69,7 @@
70
69
  --color-error-200: #f88080;
71
70
  --color-error-300: #f54d4d;
72
71
  --color-error-400: #f21a1a;
73
- --color-error-500: #9f0001; /* original color */
72
+ --color-error-500: #9f0001;
74
73
  --color-error-600: #800001;
75
74
  --color-error-700: #600001;
76
75
  --color-error-800: #400000;
@@ -86,7 +85,7 @@
86
85
  --color-warning-200: #fad8b3;
87
86
  --color-warning-300: #f8c48c;
88
87
  --color-warning-400: #f5b065;
89
- --color-warning-500: #f39c12; /* original color */
88
+ --color-warning-500: #f39c12;
90
89
  --color-warning-600: #c27d0e;
91
90
  --color-warning-700: #925e0b;
92
91
  --color-warning-800: #613e07;
@@ -102,7 +101,7 @@
102
101
  --color-success-200: #a3d8ca;
103
102
  --color-success-300: #76c5af;
104
103
  --color-success-400: #48b195;
105
- --color-success-500: #1a9e7a; /* original color */
104
+ --color-success-500: #1a9e7a;
106
105
  --color-success-600: #157e62;
107
106
  --color-success-700: #105f49;
108
107
  --color-success-800: #0a3f31;
@@ -120,7 +119,6 @@
120
119
  --padding-xl: 16px;
121
120
 
122
121
  /* ----- Radius ----- */
123
-
124
122
  --radius-sm: 3px;
125
123
  --radius-md: 5px;
126
124
  --radius-lg: 8px;
@@ -146,7 +144,6 @@
146
144
  --screen-4xl: 1536;
147
145
 
148
146
  /* ----- Media Queries ----- */
149
- /* Only useful for CSS-in-JS media query handling */
150
147
  --media-min-xs: @media (min-width: 320px);
151
148
  --media-min-sm: @media (min-width: 480px);
152
149
  --media-min-md: @media (min-width: 620px);
@@ -154,14 +151,16 @@
154
151
  --media-min-xl: @media (min-width: 896px);
155
152
  --media-min-2xl: @media (min-width: 1024px);
156
153
  --media-min-3xl: @media (min-width: 1280px);
154
+ --media-min-4xl: @media (min-width: 1536px);
157
155
 
158
156
  --media-max-xs: @media (max-width: 319px);
159
157
  --media-max-sm: @media (max-width: 479px);
160
- --media-max-md: @media (max-width: 767px);
161
- --media-max-lg: @media (max-width: 895px);
162
- --media-max-xl: @media (max-width: 1023px);
163
- --media-max-2xl: @media (max-width: 1279px);
164
- --media-max-3xl: @media (max-width: 1535px);
158
+ --media-max-md: @media (max-width: 619px);
159
+ --media-max-lg: @media (max-width: 767px);
160
+ --media-max-xl: @media (max-width: 895px);
161
+ --media-max-2xl: @media (max-width: 1023px);
162
+ --media-max-3xl: @media (max-width: 1279px);
163
+ --media-max-4xl: @media (max-width: 1535px);
165
164
  }
166
165
 
167
166
  @layer base {
package/styles/tokens.ts CHANGED
@@ -1,178 +1,203 @@
1
- export const tokens = {
2
- font: {
3
- family: {
4
- sans: "Montserrat, sans-serif",
5
- serif: "Libre Baskerville, serif"
6
- },
7
- size: {
8
- xs: "0.75rem",
9
- sm: "0.875rem",
10
- md: "1rem",
11
- lg: "1.25rem",
12
- xl: "1.5rem",
13
- "2xl": "2rem",
14
- "3xl": "2.5rem",
15
- "4xl": "3rem",
16
- "5xl": "3.5rem"
17
- }
1
+ export const breakpoints = {
2
+ xs: 320,
3
+ sm: 480,
4
+ md: 620,
5
+ lg: 768,
6
+ xl: 896,
7
+ "2xl": 1024,
8
+ "3xl": 1280,
9
+ "4xl": 1536,
10
+ } as const;
11
+
12
+ export type Breakpoints = typeof breakpoints;
13
+ export type Breakpoint = keyof typeof breakpoints;
14
+
15
+ const minWidth = (width: number) => `@media (min-width: ${width}px)`;
16
+ const maxWidth = (width: number) => `@media (max-width: ${width - 1}px)`;
17
+
18
+ export const media = {
19
+ min: {
20
+ xs: minWidth(breakpoints.xs),
21
+ sm: minWidth(breakpoints.sm),
22
+ md: minWidth(breakpoints.md),
23
+ lg: minWidth(breakpoints.lg),
24
+ xl: minWidth(breakpoints.xl),
25
+ "2xl": minWidth(breakpoints["2xl"]),
26
+ "3xl": minWidth(breakpoints["3xl"]),
27
+ "4xl": minWidth(breakpoints["4xl"]),
18
28
  },
19
- color: {
20
- primary: {
21
- "50": "#f0f2f5",
22
- "100": "#d9dee6",
23
- "200": "#b8c3d1",
24
- "300": "#8a9bae",
25
- "400": "#4a5f7a",
26
- "500": "#0b1828",
27
- "600": "#081320",
28
- "700": "#060e18",
29
- "800": "#04090f",
30
- "900": "#020407",
31
- "default": "#0b1828",
32
- vibrant: {
33
- "300": "#8ab6ff",
34
- "500": "#4f86f7",
35
- "700": "#1e3a8a"
36
- }
37
- },
38
- secondary: {
39
- "50": "#e6f7f6",
40
- "100": "#b3e8e5",
41
- "200": "#80d9d4",
42
- "300": "#4dcac3",
43
- "400": "#2aa39b",
44
- "500": "#146b68",
45
- "600": "#125a57",
46
- "700": "#0f4a47",
47
- "800": "#0c3835",
48
- "900": "#081f1c",
49
- "default": "#146b68",
50
- vibrant: {
51
- "300": "#75dac7",
52
- "500": "#1abc9c",
53
- "700": "#138f6e"
54
- }
55
- },
56
- tertiary: {
57
- "50": "#f7f4f0",
58
- "100": "#eedecc",
59
- "200": "#e5c8a8",
60
- "300": "#dcb184",
61
- "400": "#d19b60",
62
- "500": "#bfa081",
63
- "600": "#a68965",
64
- "700": "#7d6748",
65
- "800": "#54442c",
66
- "900": "#2b2216",
67
- "default": "#bfa081",
68
- vibrant: {
69
- "300": "#f7c873",
70
- "500": "#f39c12",
71
- "700": "#c9780e"
72
- }
29
+ max: {
30
+ xs: maxWidth(breakpoints.xs),
31
+ sm: maxWidth(breakpoints.sm),
32
+ md: maxWidth(breakpoints.md),
33
+ lg: maxWidth(breakpoints.lg),
34
+ xl: maxWidth(breakpoints.xl),
35
+ "2xl": maxWidth(breakpoints["2xl"]),
36
+ "3xl": maxWidth(breakpoints["3xl"]),
37
+ "4xl": maxWidth(breakpoints["4xl"]),
38
+ },
39
+ } as const;
40
+
41
+ export const font = {
42
+ family: {
43
+ sans: "Montserrat, sans-serif",
44
+ serif: "Libre Baskerville, serif",
45
+ },
46
+ size: {
47
+ xs: "0.75rem",
48
+ sm: "0.875rem",
49
+ md: "1rem",
50
+ lg: "1.25rem",
51
+ xl: "1.5rem",
52
+ "2xl": "2rem",
53
+ "3xl": "2.5rem",
54
+ "4xl": "3rem",
55
+ "5xl": "3.5rem",
56
+ },
57
+ };
58
+
59
+ export const color = {
60
+ primary: {
61
+ "50": "#f0f2f5",
62
+ "100": "#d9dee6",
63
+ "200": "#b8c3d1",
64
+ "300": "#8a9bae",
65
+ "400": "#4a5f7a",
66
+ "500": "#0b1828",
67
+ "600": "#081320",
68
+ "700": "#060e18",
69
+ "800": "#04090f",
70
+ "900": "#020407",
71
+ default: "#0b1828",
72
+ vibrant: {
73
+ "300": "#8ab6ff",
74
+ "500": "#4f86f7",
75
+ "700": "#1e3a8a",
73
76
  },
74
- error: {
75
- "50": "#fee6e6",
76
- "100": "#fbb3b3",
77
- "200": "#f88080",
78
- "300": "#f54d4d",
79
- "400": "#f21a1a",
80
- "500": "#9f0001",
81
- "600": "#800001",
82
- "700": "#600001",
83
- "800": "#400000",
84
- "900": "#200000",
85
- "default": "#9f0001",
86
- vibrant: {
87
- "300": "#f48a6f",
88
- "500": "#e74c3c",
89
- "700": "#c0392b"
90
- }
77
+ },
78
+ secondary: {
79
+ "50": "#e6f7f6",
80
+ "100": "#b3e8e5",
81
+ "200": "#80d9d4",
82
+ "300": "#4dcac3",
83
+ "400": "#2aa39b",
84
+ "500": "#146b68",
85
+ "600": "#125a57",
86
+ "700": "#0f4a47",
87
+ "800": "#0c3835",
88
+ "900": "#081f1c",
89
+ default: "#146b68",
90
+ vibrant: {
91
+ "300": "#75dac7",
92
+ "500": "#1abc9c",
93
+ "700": "#138f6e",
91
94
  },
92
- warning: {
93
- "50": "#fef5ec",
94
- "100": "#fdebda",
95
- "200": "#fad8b3",
96
- "300": "#f8c48c",
97
- "400": "#f5b065",
95
+ },
96
+ tertiary: {
97
+ "50": "#f7f4f0",
98
+ "100": "#eedecc",
99
+ "200": "#e5c8a8",
100
+ "300": "#dcb184",
101
+ "400": "#d19b60",
102
+ "500": "#bfa081",
103
+ "600": "#a68965",
104
+ "700": "#7d6748",
105
+ "800": "#54442c",
106
+ "900": "#2b2216",
107
+ default: "#bfa081",
108
+ vibrant: {
109
+ "300": "#f7c873",
98
110
  "500": "#f39c12",
99
- "600": "#c27d0e",
100
- "700": "#925e0b",
101
- "800": "#613e07",
102
- "900": "#311f04",
103
- "default": "#f39c12",
104
- vibrant: {
105
- "300": "#fce705",
106
- "500": "#fbc306",
107
- "700": "#f8950a"
108
- }
111
+ "700": "#c9780e",
109
112
  },
110
- success: {
111
- "50": "#e8f5f2",
112
- "100": "#d1ece4",
113
- "200": "#a3d8ca",
114
- "300": "#76c5af",
115
- "400": "#48b195",
116
- "500": "#1a9e7a",
117
- "600": "#157e62",
118
- "700": "#105f49",
119
- "800": "#0a3f31",
120
- "900": "#052018",
121
- "default": "#1a9e7a",
122
- vibrant: {
123
- "300": "#07e71f",
124
- "500": "#08e27e",
125
- "700": "#26b656"
126
- }
113
+ },
114
+ error: {
115
+ "50": "#fee6e6",
116
+ "100": "#fbb3b3",
117
+ "200": "#f88080",
118
+ "300": "#f54d4d",
119
+ "400": "#f21a1a",
120
+ "500": "#9f0001",
121
+ "600": "#800001",
122
+ "700": "#600001",
123
+ "800": "#400000",
124
+ "900": "#200000",
125
+ default: "#9f0001",
126
+ vibrant: {
127
+ "300": "#f48a6f",
128
+ "500": "#e74c3c",
129
+ "700": "#c0392b",
127
130
  },
128
- text: {
129
- dark: "#040a0c",
130
- light: "#fcfbf7"
131
+ },
132
+ warning: {
133
+ "50": "#fef5ec",
134
+ "100": "#fdebda",
135
+ "200": "#fad8b3",
136
+ "300": "#f8c48c",
137
+ "400": "#f5b065",
138
+ "500": "#f39c12",
139
+ "600": "#c27d0e",
140
+ "700": "#925e0b",
141
+ "800": "#613e07",
142
+ "900": "#311f04",
143
+ default: "#f39c12",
144
+ vibrant: {
145
+ "300": "#fce705",
146
+ "500": "#fbc306",
147
+ "700": "#f8950a",
131
148
  },
132
- background: {
133
- light: "#fcfbf7",
134
- dark: "#040a0c"
135
- }
136
149
  },
137
- padding: {
138
- xs: "2px",
139
- sm: "4px",
140
- md: "6px",
141
- lg: "10px",
142
- xl: "16px"
150
+ success: {
151
+ "50": "#e8f5f2",
152
+ "100": "#d1ece4",
153
+ "200": "#a3d8ca",
154
+ "300": "#76c5af",
155
+ "400": "#48b195",
156
+ "500": "#1a9e7a",
157
+ "600": "#157e62",
158
+ "700": "#105f49",
159
+ "800": "#0a3f31",
160
+ "900": "#052018",
161
+ default: "#1a9e7a",
162
+ vibrant: {
163
+ "300": "#07e71f",
164
+ "500": "#08e27e",
165
+ "700": "#26b656",
166
+ },
143
167
  },
144
- radius: {
145
- sm: "3px",
146
- md: "5px",
147
- lg: "8px"
168
+ text: {
169
+ dark: "#040a0c",
170
+ light: "#fcfbf7",
171
+ },
172
+ background: {
173
+ light: "#fcfbf7",
174
+ dark: "#040a0c",
148
175
  },
149
- media: {
150
- min: {
151
- xs: "@media (min-width: 320px)",
152
- sm: "@media (min-width: 480px)",
153
- md: "@media (min-width: 620px)",
154
- lg: "@media (min-width: 768px)",
155
- xl: "@media (min-width: 896px)",
156
- "2xl": "@media (min-width: 1024px)",
157
- "3xl": "@media (min-width: 1280px)"
158
- },
159
- max: {
160
- xs: "@media (max-width: 319px)",
161
- sm: "@media (max-width: 479px)",
162
- md: "@media (max-width: 767px)",
163
- lg: "@media (max-width: 895px)",
164
- xl: "@media (max-width: 1023px)",
165
- "2xl": "@media (max-width: 1279px)",
166
- "3xl": "@media (max-width: 1535px)"
167
- }
168
- }
176
+ };
177
+ export const padding = {
178
+ xs: "2px",
179
+ sm: "4px",
180
+ md: "6px",
181
+ lg: "10px",
182
+ xl: "16px",
183
+ };
184
+ export const radius = {
185
+ sm: "3px",
186
+ md: "5px",
187
+ lg: "8px",
169
188
  };
170
189
 
171
- export type Tokens = typeof tokens;
172
-
190
+ export type FontTokens = typeof font;
191
+ export type ColorTokens = typeof color;
192
+ export type PaddingTokens = typeof padding;
193
+ export type RadiusTokens = typeof radius;
194
+ export type MediaTokens = typeof media;
195
+ export type ScreenTokens = typeof breakpoints;
173
196
 
174
- export type FontTokens = typeof tokens.font;
175
- export type ColorTokens = typeof tokens.color;
176
- export type PaddingTokens = typeof tokens.padding;
177
- export type RadiusTokens = typeof tokens.radius;
178
- export type MediaTokens = typeof tokens.media;
197
+ export const tokens = {
198
+ font,
199
+ color,
200
+ media,
201
+ padding,
202
+ radius,
203
+ };