oneslash-design-system 1.2.2 → 1.2.4

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 (44) hide show
  1. package/dist/components/alert.d.ts +3 -2
  2. package/dist/components/alert.jsx +69 -14
  3. package/dist/output.css +37 -12
  4. package/dist/tsconfig.tsbuildinfo +1 -0
  5. package/package.json +4 -1
  6. package/.claude/settings.local.json +0 -9
  7. package/.eslintrc.json +0 -3
  8. package/components/alert.tsx +0 -55
  9. package/components/button.tsx +0 -120
  10. package/components/checkBox.tsx +0 -60
  11. package/components/emptyBox.tsx +0 -33
  12. package/components/iconButton.tsx +0 -103
  13. package/components/loadingScreen.tsx +0 -30
  14. package/components/menu.tsx +0 -35
  15. package/components/menuItem.tsx +0 -80
  16. package/components/modal.tsx +0 -85
  17. package/components/navigation.tsx +0 -27
  18. package/components/popover.tsx +0 -69
  19. package/components/radioGroup.tsx +0 -50
  20. package/components/select.tsx +0 -253
  21. package/components/tab.tsx +0 -85
  22. package/components/tableCell.tsx +0 -15
  23. package/components/tableContainer.tsx +0 -15
  24. package/components/tableHeader.tsx +0 -15
  25. package/components/tableHeaderCell.tsx +0 -15
  26. package/components/tableRow.tsx +0 -15
  27. package/components/tabsContainer.tsx +0 -23
  28. package/components/tag.tsx +0 -81
  29. package/components/textField.tsx +0 -116
  30. package/components/textarea.tsx +0 -120
  31. package/components/timeStamp.tsx +0 -65
  32. package/components/tooltip.tsx +0 -66
  33. package/components/userImage.tsx +0 -64
  34. package/designTokens.js +0 -234
  35. package/index.css +0 -8
  36. package/index.ts +0 -21
  37. package/next.config.mjs +0 -4
  38. package/oneslash-design-system-1.1.1.tgz +0 -0
  39. package/oneslash-design-system-1.1.30.tgz +0 -0
  40. package/oneslash-design-system-1.1.31.tgz +0 -0
  41. package/oneslash-design-system-1.1.33.tgz +0 -0
  42. package/postcss.config.mjs +0 -8
  43. package/tailwind.config.ts +0 -232
  44. package/tsconfig.json +0 -37
@@ -1,116 +0,0 @@
1
- 'use client';
2
- import React, { useState } from 'react';
3
-
4
- interface TextFieldProps {
5
- id: string;
6
- label?: string;
7
- value: string;
8
- onChange: (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;// Specify the event type for both input and textarea
9
- onBlur?: (e: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => void;// Handle blur event for input/textarea
10
- onFocus?: (e: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => void;// Handle focus event for input/textarea
11
- onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
12
- autoFocus?: boolean;
13
- multiline?: boolean;
14
- maxRows?: number;
15
- disabled?: boolean;
16
- error?: boolean;
17
- size?: 'large' | 'medium' | 'small';
18
- }
19
-
20
- export default function TextField({
21
- id,
22
- label,
23
- value,
24
- onChange,
25
- onBlur,
26
- onFocus,
27
- onKeyDown,
28
- autoFocus = false, // Accept the autoFocus prop with default value
29
- multiline = false,
30
- maxRows = 6,
31
- disabled = false,
32
- error = false,
33
- size = 'medium',
34
- }: TextFieldProps) {
35
- const [isFocused, setIsFocused] = useState(false);
36
-
37
- // Define classes for size: text size and padding
38
- const sizeClasses = {
39
- large: 'text-body1 p-[7px] leading-[22px]', // body1 (16px), padding 8px(7 + border 1) height 40
40
- medium: 'text-body1 p-[3px] leading-[22px]', // body1 (16px), padding 4px(3 + border 1), height 32
41
- small: 'text-body2 p-[3px] leading-[18px]', // body2 (14px), padding 4px(3 + border 1), height 28
42
- }[size];
43
-
44
- const baseClasses = 'w-full border rounded-[8px]';
45
- const bgColor = 'bg-light-background-default dark:bg-dark-background-default transition-colors duration-200 ease-in-out';
46
- const borderColor = 'border-light-outlinedBorder-active dark:border-dark-outlinedBorder-active';
47
- const containerClasses = `
48
- ${bgColor}
49
- ${borderColor}
50
- ${baseClasses}
51
- ${sizeClasses}
52
- ${disabled ? 'bg-gray-200 cursor-not-allowed' : ''}
53
- ${error ? 'border-red-500 focus:ring-red-500' : ''}
54
- ${isFocused ? 'focus:border-light-accent-main focus:dark:border-dark-accent-main outline-none' : ''}
55
- ${!disabled && !error ? 'hover:border-light-outlinedBorder-hover' : ''}
56
- border-gray-300
57
- `;
58
-
59
- return (
60
- <div className="flex flex-col w-full">
61
- {label && (
62
- <label htmlFor={id} className="mb-1 text-body2 text-light-text-secondary dark:text-dark-text-secondary">
63
- {label}
64
- </label>
65
- )}
66
- <div className="relative">
67
- {multiline ? (
68
- <textarea
69
- id={id}
70
- rows={maxRows}
71
- className={containerClasses}
72
- value={value}
73
- onChange={onChange}
74
- onFocus={(e) => {
75
- setIsFocused(true);
76
- if (onFocus) onFocus(e);
77
- }}
78
- onBlur={(e) => {
79
- setIsFocused(false);
80
- if (onBlur) onBlur(e);
81
- }}
82
- onKeyDown={onKeyDown}
83
- autoFocus={autoFocus} // Pass autoFocus to textarea
84
- disabled={disabled}
85
- autoComplete="off" // Disable browser autocomplete/autofill
86
- />
87
- ) : (
88
- <input
89
- id={id}
90
- type="text"
91
- className={containerClasses}
92
- value={value}
93
- onChange={onChange}
94
- onFocus={(e) => {
95
- setIsFocused(true);
96
- if (onFocus) onFocus(e);
97
- }}
98
- onBlur={(e) => {
99
- setIsFocused(false);
100
- if (onBlur) onBlur(e);
101
- }}
102
- onKeyDown={onKeyDown}
103
- autoFocus={autoFocus} // Pass autoFocus to input
104
- disabled={disabled}
105
- autoComplete="off" // Disable browser autocomplete/autofill
106
- />
107
- )}
108
- </div>
109
- {error && (
110
- <p className="mt-1 text-light-error-main text-body2">
111
- This field is required
112
- </p>
113
- )}
114
- </div>
115
- );
116
- }
@@ -1,120 +0,0 @@
1
- 'use client';
2
- import React, { useEffect, useRef, useState } from 'react';
3
-
4
- interface TextareaProps {
5
- id: string;
6
- label?: string;
7
- value: string;
8
- onChange: (e: React.ChangeEvent<HTMLTextAreaElement>) => void;
9
- onBlur?: (e: React.FocusEvent<HTMLTextAreaElement>) => void;
10
- onFocus?: (e: React.FocusEvent<HTMLTextAreaElement>) => void;
11
- onKeyDown?: (e: React.KeyboardEvent<HTMLTextAreaElement>) => void;
12
- autoFocus?: boolean;
13
- maxRows?: number;
14
- disabled?: boolean;
15
- error?: boolean;
16
- size?: 'large' | 'medium' | 'small';
17
- }
18
-
19
- export default function Textarea({
20
- id,
21
- label,
22
- value,
23
- onChange,
24
- onBlur,
25
- onFocus,
26
- onKeyDown,
27
- autoFocus = false,
28
- maxRows = 6,
29
- disabled = false,
30
- error = false,
31
- size = 'medium',
32
- }: TextareaProps) {
33
- const textareaRef = useRef<HTMLTextAreaElement>(null);
34
- const [isFocused, setIsFocused] = useState(false);
35
-
36
- useEffect(() => {
37
- const textarea = textareaRef.current;
38
- if (!textarea) return;
39
-
40
- const adjustHeight = () => {
41
- textarea.style.height = 'auto'; // Reset height to calculate scrollHeight
42
- const lineHeight = parseInt(getComputedStyle(textarea).lineHeight);
43
- const maxHeight = lineHeight * maxRows;
44
- const scrollHeight = textarea.scrollHeight;
45
-
46
- // Set height to scrollHeight, capped at maxRows, but at least 1 line
47
- textarea.style.height = `${Math.max(Math.min(scrollHeight, maxHeight), lineHeight)}px`;
48
-
49
- // Enable vertical scroll if content exceeds maxRows
50
- textarea.style.overflowY = scrollHeight > maxHeight ? 'auto' : 'hidden';
51
- };
52
-
53
- // Set initial rows to 1 for single-line height
54
- textarea.rows = 1;
55
-
56
- adjustHeight();
57
- textarea.addEventListener('input', adjustHeight);
58
-
59
- return () => textarea.removeEventListener('input', adjustHeight);
60
- }, [maxRows]);
61
-
62
- // Define classes for size: text size and padding
63
- const sizeClasses = {
64
- large: 'text-body1 p-[7px] leading-[22px]', // body1 (16px), padding 8px(7 + border 1) height 40
65
- medium: 'text-body1 p-[3px] leading-[22px]', // body1 (16px), padding 4px(3 + border 1), height 32
66
- small: 'text-body2 p-[3px] leading-[18px]', // body2 (14px), padding 4px(3 + border 1), height 28
67
- }[size];
68
-
69
- const baseClasses = 'w-full border rounded-[8px]';
70
- const bgColor = 'bg-light-background-default dark:bg-dark-background-default transition-colors duration-200 ease-in-out';
71
- const borderColor = 'border-light-outlinedBorder-active dark:border-dark-outlinedBorder-active';
72
- const containerClasses = `
73
- ${bgColor}
74
- ${borderColor}
75
- ${baseClasses}
76
- ${sizeClasses}
77
- ${disabled ? 'bg-gray-200 cursor-not-allowed' : ''}
78
- ${error ? 'border-red-500 focus:ring-red-500' : ''}
79
- ${isFocused ? 'focus:border-light-accent-main focus:dark:border-dark-accent-main outline-none' : ''}
80
- ${!disabled && !error ? 'hover:border-light-outlinedBorder-hover' : ''}
81
- border-gray-300
82
- `;
83
-
84
- return (
85
- <div className="flex flex-col w-full">
86
- {label && (
87
- <label htmlFor={id} className="mb-1 text-body2 text-light-text-secondary dark:text-dark-text-secondary">
88
- {label}
89
- </label>
90
- )}
91
- <div className="relative">
92
- <textarea
93
- ref={textareaRef}
94
- id={id}
95
- rows={1}
96
- className={containerClasses}
97
- value={value}
98
- onChange={onChange}
99
- onFocus={(e) => {
100
- setIsFocused(true);
101
- if (onFocus) onFocus(e);
102
- }}
103
- onBlur={(e) => {
104
- setIsFocused(false);
105
- if (onBlur) onBlur(e);
106
- }}
107
- onKeyDown={onKeyDown}
108
- autoFocus={autoFocus}
109
- disabled={disabled}
110
- autoComplete="off"
111
- />
112
- </div>
113
- {error && (
114
- <p className="mt-1 text-light-error-main text-body2">
115
- This field is required
116
- </p>
117
- )}
118
- </div>
119
- );
120
- }
@@ -1,65 +0,0 @@
1
- 'use client';
2
- import React from 'react';
3
-
4
- interface TimeStampProps{
5
- createdAt: string | number | Date;
6
- dateFormat: 'absolute' | 'relative';
7
- }
8
-
9
- export default function TimeStamp({
10
- createdAt,
11
- dateFormat,
12
- }: TimeStampProps) {
13
-
14
- // absolute timestamp
15
- const absoluteTimeStamp = (createdAt: string | number | Date): string => {
16
- const date = new Date(createdAt);
17
- const month = (date.getMonth() + 1).toString().padStart(2, '0');
18
- const day = date.getDate().toString().padStart(2, '0');
19
- const year = date.getFullYear();
20
- const hours = date.getHours();
21
- const minutes = date.getMinutes();
22
- const formattedHours = hours.toString().padStart(2, '0');
23
- const formattedMinutes = minutes.toString().padStart(2, '0');
24
- const daysOfWeek = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
25
- const dayOfWeek = daysOfWeek[date.getDay()];
26
- return `${month}/${day}/${year} ${dayOfWeek} ${formattedHours}:${formattedMinutes}`;
27
- };
28
-
29
- // relative timestamp
30
- const relativeTimeStamp = (createdAt: string | number | Date): string => {
31
- const date = new Date(createdAt);
32
- const now = new Date();
33
- const diff = now.getTime() - date.getTime();
34
- const seconds = Math.floor(diff / 1000);
35
- const minutes = Math.floor(seconds / 60);
36
- const hours = Math.floor(minutes / 60);
37
- const days = Math.floor(hours / 24);
38
- const weeks = Math.floor(days / 7);
39
- const months = Math.floor(days / 30);
40
- const years = Math.floor(days / 365);
41
- if (years > 0) {
42
- return `${years} year${years > 1 ? 's' : ''} ago`;
43
- } else if (months > 0) {
44
- return `${months} month${months > 1 ? 's' : ''} ago`;
45
- } else if (weeks > 0) {
46
- return `${weeks} week${weeks > 1 ? 's' : ''} ago`;
47
- } else if (days > 0) {
48
- return `${days} day${days > 1 ? 's' : ''} ago`;
49
- } else if (hours > 0) {
50
- return `${hours} hour${hours > 1 ? 's' : ''} ago`;
51
- } else if (minutes > 0) {
52
- return `${minutes} minute${minutes > 1 ? 's' : ''} ago`;
53
- } else {
54
- return `${seconds} second${seconds > 1 ? 's' : ''} ago`;
55
- }
56
- };
57
-
58
- const timeStamp = dateFormat === 'absolute' ? absoluteTimeStamp(createdAt) : relativeTimeStamp(createdAt);
59
-
60
- return (
61
- <p className="text-caption text-light-text-secondary dark:text-dark-text-secondary">
62
- {timeStamp}
63
- </p>
64
- );
65
- };
@@ -1,66 +0,0 @@
1
- 'use client';
2
- import React, { useState, useRef, useEffect } from 'react';
3
-
4
- interface TooltipProps {
5
- title: string;
6
- children: React.ReactElement;
7
- }
8
-
9
- export default function Tooltip({ title, children }: TooltipProps) {
10
- const [visible, setVisible] = useState(false);
11
- const [position, setPosition] = useState<'top' | 'bottom'>('bottom');
12
- const tooltipRef = useRef<HTMLDivElement>(null);
13
- const buttonRef = useRef<HTMLDivElement>(null);
14
-
15
- useEffect(() => {
16
- const handlePosition = () => {
17
- if (tooltipRef.current && buttonRef.current) {
18
- const tooltipRect = tooltipRef.current.getBoundingClientRect();
19
- const buttonRect = buttonRef.current.getBoundingClientRect();
20
- // Check if there's enough space below; if not, place tooltip above
21
- if (window.innerHeight - buttonRect.bottom < tooltipRect.height + 8) {
22
- setPosition('top');
23
- } else {
24
- setPosition('bottom');
25
- }
26
- }
27
- };
28
- if (visible) {
29
- handlePosition();
30
- }
31
- }, [visible]);
32
-
33
- const handleClick = () => {
34
- setVisible(false); // Hide tooltip on click
35
- };
36
-
37
- return (
38
- <div
39
- ref={buttonRef}
40
- onMouseEnter={() => setVisible(true)}
41
- onMouseLeave={() => setVisible(false)}
42
- onClick={handleClick}
43
- className="relative inline-block"
44
- >
45
- {children}
46
- {visible && (
47
- <div
48
- ref={tooltipRef}
49
- className={`absolute whitespace-nowrap text-caption rounded-[8px] py-1 px-2 z-50
50
- dark:bg-light-background-accent300 bg-dark-background-accent300
51
- dark:text-light-text-primary text-dark-text-primary
52
- ${position === 'bottom' ? 'mt-1' : 'mb-1'}`}
53
- style={{
54
- bottom: position === 'top' ? '100%' : undefined,
55
- top: position === 'bottom' ? '100%' : undefined,
56
- left: '50%',
57
- transform: 'translateX(-50%)',
58
- }}
59
- >
60
- {title}
61
- </div>
62
- )
63
- }
64
- </div>
65
- );
66
- }
@@ -1,64 +0,0 @@
1
- 'use client';
2
- import React from 'react';
3
-
4
- interface UserImageProps {
5
- userHandle: string;
6
- userImgUrl?: string;
7
- }
8
-
9
- function getColorSeed(userHandle: string): string {
10
- const words = userHandle.trim().split(/\s+/);
11
- let letters = words.map(word => word.charAt(0).toLowerCase());
12
- if (letters.length === 1 && words[0].length >= 2) {
13
- letters.push(words[0].charAt(1).toLowerCase());
14
- } else if (letters.length > 2) {
15
- letters = letters.slice(0, 2);
16
- } else if (letters.length === 0) {
17
- letters = ['x', 'x'];
18
- }
19
- return letters.join('');
20
- }
21
-
22
- function getHash(str: string): number {
23
- let hash = 0;
24
- for (let i = 0; i < str.length; i++) {
25
- hash = str.charCodeAt(i) + ((hash << 5) - hash);
26
- }
27
- return hash;
28
- }
29
-
30
- export default function UserImage({
31
- userHandle,
32
- userImgUrl,
33
- }: UserImageProps) {
34
- const displayInitial = userHandle.charAt(0).toUpperCase() || 'A';
35
- const seed = getColorSeed(userHandle);
36
- const hue = Math.abs(getHash(seed)) % 360;
37
-
38
- // Light mode: vibrant pastel
39
- const lightBg = `hsl(${hue}, 80%, 80%)`;
40
- // Dark mode: darker, vibrant variant
41
- const darkBg = `hsl(${hue}, 80%, 30%)`;
42
-
43
- return (
44
- <div
45
- style={{
46
- '--light-bg': lightBg,
47
- '--dark-bg': darkBg,
48
- } as React.CSSProperties}
49
- className="flex items-center justify-center w-6 h-6 rounded-full overflow-hidden bg-[var(--light-bg)] dark:bg-[var(--dark-bg)] text-light-text-secondary dark:text-dark-text-secondary"
50
- >
51
- {userImgUrl ? (
52
- <img
53
- src={userImgUrl}
54
- alt={userHandle}
55
- className="w-full h-full object-cover rounded-full"
56
- />
57
- ) : (
58
- <span className="text-body1 text-light-text-secondary dark:text-dark-text-secondary">
59
- {displayInitial}
60
- </span>
61
- )}
62
- </div>
63
- );
64
- }
package/designTokens.js DELETED
@@ -1,234 +0,0 @@
1
- // design tokens definitions
2
- module.exports = {
3
- colors: {
4
- // light
5
- light:{
6
- text:{
7
- primary: '#000000',
8
- secondary: '#6D6D6D',
9
- disabled: '#9E9E9E',
10
- contrast: '#ffffff',
11
- },
12
- accent:{
13
- main: '#EEAE03',
14
- dark: '#CE8602',
15
- light: '#FFDD43',
16
- contrast: '#000000',
17
- },
18
- primary:{
19
- main: '#454545',
20
- dark: '#262626',
21
- light: '#888888',
22
- },
23
- secondary:{
24
- main: '#B0B0B0',
25
- dark: '#888888',
26
- light: '#D1D1D1',
27
- },
28
- error:{
29
- main: '#D32F2F',
30
- dark: '#B22323',
31
- light: '#F27777',
32
- },
33
- warning:{
34
- main: '#EF6C00',
35
- dark: '#CC5302',
36
- light: '#FFA732',
37
- },
38
- info:{
39
- main: '#0087D4',
40
- dark: '#006BAB',
41
- light: '#2CC1FF',
42
- },
43
- success:{
44
- main: '#328736',
45
- dark: '#2A6B2D',
46
- light: '#67C16B',
47
- },
48
- background:{
49
- default: '#e8e8e8',
50
- accent100:'#f1f1f1',
51
- accent200:'#f7f7f7',
52
- accent300:'#FFFFFF',
53
- },
54
- action:{
55
- active: '#888888',
56
- hover: '#F3F3F3',
57
- selected: '#E3E3E3',
58
- disabledBackground: '#D1D1D1',
59
- disabled: '#B0B0B0',
60
- },
61
- actionBackground:{
62
- enabled: '#FFFFFF',
63
- hovered: '#FFFFFF',
64
- selected: '#FFFFFF',
65
- disabled: '#EEEEEE',
66
- },
67
- actionOutlinedBorder:{
68
- enabled: '#888888',
69
- hovered: '#CDCDCD',
70
- selected: '#E8E8E8',
71
- disabled: '#B0B0B0',
72
- },
73
- misc:{
74
- divider: '#D1D1D1',
75
- },
76
- },
77
-
78
- // dark
79
- dark:{
80
- text:{
81
- primary: '#eeeeee',
82
- secondary: '#B0B0B0',
83
- disabled: '#6D6D6D',
84
- contrast: '#000000',
85
- },
86
- accent:{
87
- main: '#FFCD29',
88
- dark: '#CE8602',
89
- light: '#FFDD43',
90
- contrast: '#000000',
91
- },
92
- primary:{
93
- main: '#D5D5D5',
94
- dark: '#E9E9E9',
95
- light: '#9A9A9A',
96
- },
97
- secondary:{
98
- main: '#4F4F4F',
99
- dark: '#454545',
100
- light: '#6D6D6D',
101
- },
102
- error:{
103
- main: '#E74C4C',
104
- dark: '#B22323',
105
- light: '#F27777',
106
- },
107
- warning:{
108
- main: '#FF8C0A',
109
- dark: '#CC5302',
110
- light: '#FFA732',
111
- },
112
- info:{
113
- main: '#00AFFF',
114
- dark: '#006BAB',
115
- light: '#2CC1FF',
116
- },
117
- success:{
118
- main: '#42A547',
119
- dark: '#2A6B2D',
120
- light: '#67C16B',
121
- },
122
- background:{
123
- default: '#262626',
124
- accent100:'#333333',
125
- accent200:'#454545',
126
- accent300:'#4F4F4F',
127
- },
128
- action:{
129
- active: '#171717',
130
- hover: '#3D3D3D',
131
- selected: '#4E4E4E',
132
- disabledBackground: '#3C3C3C',
133
- disabled: '#383838',
134
- },
135
- actionBackground:{
136
- enabled: '#FFFFFF',
137
- hovered: '#FFFFFF',
138
- selected: '#FFFFFF',
139
- disabled: '#383838',
140
- },
141
- actionOutlinedBorder:{
142
- enabled: '#7B7B7B',
143
- hovered: '#2F2F2F',
144
- selected: '#404040',
145
- disabled: '#383838',
146
- },
147
- misc:{
148
- divider: '#404040',
149
- },
150
- },
151
- },
152
-
153
- spacing: {
154
- small: '4px',
155
- medium: '8px',
156
- large: '16px',
157
- },
158
-
159
- typography: {
160
- family: 'Inter, sans-serif',
161
- h1: {
162
- weight: '300',
163
- size: '96px',
164
- lineHeight: '120%',
165
- letterSpacing: '-1.5px',
166
- },
167
- h2: {
168
- weight: '300',
169
- size: '60px',
170
- lineHeight: '120%',
171
- letterSpacing: '-0.5px',
172
- },
173
- h3: {
174
- weight: '400',
175
- size: '48px',
176
- lineHeight: '120%',
177
- letterSpacing: '0px',
178
- },
179
- h4: {
180
- weight: '400',
181
- size: '34px',
182
- lineHeight: '120%',
183
- letterSpacing: '0.3px',
184
- },
185
- h5: {
186
- weight: '400',
187
- size: '24px',
188
- lineHeight: '120%',
189
- letterSpacing: '0px',
190
- },
191
- h6: {
192
- weight: '500',
193
- size: '20px',
194
- lineHeight: '150%',
195
- letterSpacing: '0.2px',
196
- },
197
- subtitle1: {
198
- weight: '500',
199
- size: '16px',
200
- lineHeight: '150%',
201
- letterSpacing: '0.2px',
202
- },
203
- subtitle2: {
204
- weight: '500',
205
- size: '14px',
206
- lineHeight: '150%',
207
- letterSpacing: '0.1px',
208
- },
209
- body1: {
210
- weight: '400',
211
- size: '16px',
212
- lineHeight: '150%',
213
- letterSpacing: '0.2px',
214
- },
215
- body2: {
216
- weight: '400',
217
- size: '14px',
218
- lineHeight: '150%',
219
- letterSpacing: '0.2px',
220
- },
221
- caption: {
222
- weight: '400',
223
- size: '12px',
224
- lineHeight: '150%',
225
- letterSpacing: '0.5px',
226
- },
227
- alignments: {
228
- left: 'left',
229
- center: 'center',
230
- right: 'right',
231
- justify: 'justify',
232
- },
233
- },
234
- };
package/index.css DELETED
@@ -1,8 +0,0 @@
1
- @tailwind base;
2
- @tailwind components;
3
- @tailwind utilities;
4
- @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500&display=swap');
5
-
6
- body {
7
- font-family: 'Inter', sans-serif;
8
- }
package/index.ts DELETED
@@ -1,21 +0,0 @@
1
- import './index.css';
2
- import './designTokens';
3
-
4
- export * from './components/alert';
5
- export * from './components/button';
6
- export * from './components/checkBox';
7
- export * from './components/emptyBox';
8
- export * from './components/iconButton';
9
- export * from './components/loadingScreen';
10
- export * from './components/menu';
11
- export * from './components/menuItem';
12
- export * from './components/modal';
13
- export * from './components/navigation';
14
- export * from './components/popover';
15
- export * from './components/select';
16
- export * from './components/tab';
17
- export * from './components/tag';
18
- export * from './components/textField';
19
- export * from './components/timeStamp'
20
- export * from './components/tooltip';
21
- export * from './components/userImage';
package/next.config.mjs DELETED
@@ -1,4 +0,0 @@
1
- /** @type {import('next').NextConfig} */
2
- const nextConfig = {};
3
-
4
- export default nextConfig;