oneslash-design-system 1.1.15 → 1.1.17

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.
@@ -70,15 +70,15 @@ export default function Button({
70
70
  // Define classes for button types
71
71
  const baseTypeClasses = {
72
72
  primary: 'bg-light-accent-main dark:bg-dark-accent-main text-light-text-primary dark:text-dark-text-contrast',
73
- secondary: 'bg-light-primary-main dark:bg-dark-primary-main text-light-text-contrast dark:text-dark-text-contrast',
74
- tertiary: 'bg-light-background-accent200 dark:bg-dark-background-accent200 text-light-text-primary dark:text-dark-text-primary',
73
+ secondary: 'bg-light-secondary-main dark:bg-dark-secondary-main text-light-text-primary dark:text-dark-text-primary',
74
+ tertiary: 'bg-light-background-accent100 dark:bg-dark-background-accent100 text-light-text-primary dark:text-dark-text-primary',
75
75
  textOnly: 'text-light-text-primary dark:text-dark-text-primary',
76
76
  }[type];
77
77
 
78
78
  const hoverTypeClasses = {
79
79
  primary: 'hover:bg-light-accent-dark hover:dark:bg-dark-accent-dark',
80
- secondary: 'hover:bg-light-primary-dark dark:hover:bg-dark-primary-dark',
81
- tertiary: 'hover:bg-light-background-accent300 hover:dark:bg-dark-background-accent300',
80
+ secondary: 'hover:bg-light-secondary-dark dark:hover:bg-dark-secondary-dark',
81
+ tertiary: 'hover:bg-light-background-accent200 hover:dark:bg-dark-background-accent200',
82
82
  textOnly: 'hover:bg-light-background-accent100 hover:dark:bg-dark-background-accent100',
83
83
  }[type];
84
84
 
@@ -45,30 +45,30 @@ export default function IconButton({
45
45
 
46
46
  // Background color
47
47
  const bgColor = color === 'primary'
48
- ? 'bg-light-accent-main dark:bg-dark-accent-main' // Primary: accent/main
48
+ ? 'bg-light-accent-main dark:bg-dark-accent-main' // Primary
49
49
  : color === 'secondary'
50
- ? 'bg-light-primary-main dark:bg-dark-primary-main' // Secondary: primary/main
50
+ ? 'bg-light-secondary-main dark:bg-dark-secondary-main' // Secondary
51
51
  : color === 'tertiary'
52
- ? 'bg-light-background-accent200 dark:bg-dark-background-accent200' // Tertiary: background/accent200
52
+ ? 'bg-light-background-accent100 dark:bg-dark-background-accent100' // Tertiary
53
53
  : ' '; // iconOnly: none
54
54
 
55
55
  // Background hover color
56
56
  const bgColorHover = color === 'primary'
57
- ? 'hover:bg-light-accent-dark hover:dark:bg-dark-accent-dark' // Primary: accent/dark
57
+ ? 'hover:bg-light-accent-dark hover:dark:bg-dark-accent-dark' // Primary
58
58
  : color === 'secondary'
59
- ? 'hover:bg-light-primary-dark hover:dark:bg-dark-primary-dark' // Secondary: primary/dark
59
+ ? 'hover:bg-light-secondary-dark hover:dark:bg-dark-secondary-dark' // Secondary
60
60
  : color === 'tertiary'
61
- ? 'hover:bg-light-background-accent300 hover:dark:bg-dark-background-accent300' // Tertiary: background/accent300
62
- : 'hover:bg-light-background-accent100 hover:dark:bg-dark-background-accent100'; // iconOnly: background/accent100
61
+ ? 'hover:bg-light-background-accent200 hover:dark:bg-dark-background-accent200' // Tertiary
62
+ : 'hover:bg-light-background-accent100 hover:dark:bg-dark-background-accent100'; // iconOnly
63
63
 
64
64
  // Icon color
65
65
  const iconColor = color === 'primary'
66
- ? 'text-light-text-primary dark:text-dark-text-primary' // Primary: text/primary
66
+ ? 'text-light-text-primary dark:text-dark-text-contrast' // Primary
67
67
  : color === 'secondary'
68
- ? 'text-light-primary-contrast dark:text-dark-primary-contrast' // Secondary: text/contrast
68
+ ? 'text-light-text-primary dark:text-dark-text-primary' // Secondary
69
69
  : color === 'tertiary'
70
- ? 'text-light-text-primary dark:text-dark-text-primary' // Tertiary: text/primary
71
- : 'text-light-text-primary dark:text-dark-text-primary'; // iconOnly: text/primary
70
+ ? 'text-light-text-primary dark:text-dark-text-primary' // Tertiary
71
+ : 'text-light-text-primary dark:text-dark-text-primary'; // iconOnly
72
72
 
73
73
  // state
74
74
  const stateClasses = state === 'disabled'
@@ -70,7 +70,7 @@ export default function MenuItem({
70
70
  )}
71
71
 
72
72
  {/* label */}
73
- <span className="whitespace-nowrap text-body1 px-2 text-light-text-primary dark:text-dark-text-primary">
73
+ <span className="whitespace-nowrap text-body1 px-2 text-light-text-secondary dark:text-dark-text-secondary">
74
74
  {label}
75
75
  </span>
76
76
  </div>
@@ -14,7 +14,7 @@ export default function TabsContainer({
14
14
  <div
15
15
  className={`
16
16
  flex space-x-2 p-1 rounded-[12px]
17
- ${tabCount > 0 ? 'bg-light-background-accent200 dark:bg-dark-background-accent200' : 'bg-transparent'}
17
+ ${tabCount > 0 ? 'bg-light-background-accent100 dark:bg-dark-background-accent100' : 'bg-transparent'}
18
18
  `}
19
19
  >
20
20
  {children}
@@ -1,109 +1,81 @@
1
1
  'use client';
2
- import React, { useState, useEffect, useCallback } from 'react';
2
+ import React, { useState, useEffect } from 'react';
3
3
  import * as HeroIcons from '@heroicons/react/24/outline';
4
4
 
5
- interface TagProps{
6
- key?: any;
7
- variant: "contained" | "textOnly";
8
- size: "medium" | "small";
9
- state?: "enabled" | "selected" ;
10
- label: any;
5
+ interface TagProps {
6
+ variant: 'contained' | 'textOnly';
7
+ size: 'medium' | 'small';
8
+ state?: 'enabled' | 'selected';
9
+ label: React.ReactNode;
11
10
  iconName?: keyof typeof HeroIcons;
12
- isDeletable?: keyof typeof HeroIcons;
13
- onClick?: any;
11
+ onClick?: React.MouseEventHandler<HTMLDivElement>;
14
12
  color?: 'default' | 'info';
15
13
  }
16
14
 
17
15
  type IconType = React.ComponentType<React.SVGProps<SVGSVGElement>>;
18
16
 
19
17
  export default function Tag({
20
- key,
21
18
  variant,
22
19
  size,
23
- state,
20
+ state = 'enabled',
24
21
  label,
25
22
  iconName,
26
- isDeletable,
27
23
  onClick,
28
24
  color = 'default',
29
- }: TagProps) {
25
+ }: TagProps): JSX.Element {
30
26
  const [isHovered, setIsHovered] = useState(false);
31
27
  const [Icon, setIcon] = useState<IconType | null>(null);
32
- const [DeleteIcon, setDeleteIcon] = useState<IconType | null>(null);
33
-
34
- const loadIcon = useCallback(async (iconName?: string) => {
35
- if (!iconName) return null;
36
- try {
37
- const module = await import('@heroicons/react/24/outline');
38
- const Icon = module[iconName as keyof typeof module] as IconType;
39
- return Icon || null;
40
- } catch (error) {
41
- console.error(`Failed to load icon ${iconName}:`, error);
42
- return null;
43
- }
44
- }, []);
45
28
 
29
+ // Load icon directly from HeroIcons
46
30
  useEffect(() => {
47
- const fetchIcons = async () => {
48
- if (typeof iconName === 'string') {
49
- setIcon(await loadIcon(iconName));
50
- }
51
- if (typeof isDeletable === 'string') {
52
- setDeleteIcon(await loadIcon(isDeletable));
53
- }
54
- };
55
- fetchIcons();
56
- }, [iconName, isDeletable, loadIcon]);
31
+ if (iconName) {
32
+ setIcon(HeroIcons[iconName] as IconType);
33
+ }
34
+ }, [iconName]);
57
35
 
58
- // size and padding
36
+ // Size and padding
59
37
  const sizeClasses = size === 'medium' ? 'text-body2 px-2 py-1' : 'text-caption px-2 py-[3px]';
60
38
 
61
-
62
- // bg color
39
+ // Background color
63
40
  const bgClasses = variant === 'contained'
64
41
  ? (color === 'info'
65
- ? 'bg-light-info-main dark:bg-dark-info-main' // info
66
- : 'bg-light-background-accent200 dark:bg-dark-background-accent200') // default
67
- : ''; // textOnly
42
+ ? 'bg-light-info-main dark:bg-dark-info-main'
43
+ : 'bg-light-background-accent300 dark:bg-dark-background-accent300')
44
+ : '';
68
45
 
69
- // font color
46
+ // Font color
70
47
  const fontClasses = variant === 'textOnly'
71
48
  ? (color === 'info'
72
- ? 'text-light-info-main dark:text-dark-info-main' // info
73
- : 'text-light-text-primary dark:text-dark-text-primary') // default
74
- : 'text-light-text-primary dark:text-dark-text-primary'; // contained
49
+ ? 'text-light-info-main dark:text-dark-info-main'
50
+ : 'text-light-text-primary dark:text-dark-text-primary')
51
+ : 'text-light-text-primary dark:text-dark-text-primary';
75
52
 
76
- // state
77
- const stateClasses = state === 'selected'
78
- ? 'bg-light-accent-main dark:bg-dark-accent-main text-white'
79
- : 'cursor-pointer';
53
+ // Border for contained variant
54
+ const borderClasses = variant === 'contained'
55
+ ? 'border border-light-misc-divider dark:border-dark-misc-divider'
56
+ : '';
80
57
 
81
- // hover
82
- const hoverClasses = isHovered ? (variant === 'contained' ? 'hover:bg-dark-background-accent300' : '') : '';
58
+ // State and hover
59
+ const stateClasses = state === 'selected'
60
+ ? 'bg-light-accent-main dark:bg-dark-accent-main text-white'
61
+ : 'cursor-pointer';
62
+ const hoverClasses = variant === 'contained' && isHovered
63
+ ? 'bg-light-background-accent200 dark:bg-dark-background-accent200'
64
+ : '';
83
65
 
84
66
  return (
85
67
  <div
86
- className={`flex items-center space-x-1 rounded-full
87
- ${sizeClasses} ${bgClasses} ${fontClasses} ${stateClasses} ${hoverClasses}
88
- transition-colors duration-300 ease-in-out`}
68
+ className={`
69
+ flex items-center space-x-1 rounded-full
70
+ ${sizeClasses} ${bgClasses} ${fontClasses} ${borderClasses} ${stateClasses} ${hoverClasses}
71
+ transition-colors duration-300 ease-in-out
72
+ `}
89
73
  onMouseEnter={() => setIsHovered(true)}
90
74
  onMouseLeave={() => setIsHovered(false)}
91
75
  onClick={onClick}
92
76
  >
93
77
  {Icon && <Icon className="w-4 h-4" />}
94
78
  <span>{label}</span>
95
- {isDeletable && (
96
- <button
97
- className="ml-2 text-red-500"
98
- onClick={(e) => {
99
- e.stopPropagation();
100
- // Handle delete action
101
- }}
102
- >
103
- {DeleteIcon && <DeleteIcon className="w-4 h-4" />}
104
- </button>
105
-
106
- )}
107
79
  </div>
108
80
  );
109
81
  }
package/designTokens.js CHANGED
@@ -46,9 +46,9 @@ module.exports = {
46
46
  light: '#67C16B',
47
47
  },
48
48
  background:{
49
- default: '#F2F2F2',
50
- accent100:'#F5F5F5',
51
- accent200:'#FAFAFA',
49
+ default: '#e8e8e8',
50
+ accent100:'#f1f1f1',
51
+ accent200:'#f7f7f7',
52
52
  accent300:'#FFFFFF',
53
53
  },
54
54
  action:{
@@ -106,14 +106,14 @@ export default function Button(_a) {
106
106
  // Define classes for button types
107
107
  var baseTypeClasses = {
108
108
  primary: 'bg-light-accent-main dark:bg-dark-accent-main text-light-text-primary dark:text-dark-text-contrast',
109
- secondary: 'bg-light-primary-main dark:bg-dark-primary-main text-light-text-contrast dark:text-dark-text-contrast',
110
- tertiary: 'bg-light-background-accent200 dark:bg-dark-background-accent200 text-light-text-primary dark:text-dark-text-primary',
109
+ secondary: 'bg-light-secondary-main dark:bg-dark-secondary-main text-light-text-primary dark:text-dark-text-primary',
110
+ tertiary: 'bg-light-background-accent100 dark:bg-dark-background-accent100 text-light-text-primary dark:text-dark-text-primary',
111
111
  textOnly: 'text-light-text-primary dark:text-dark-text-primary',
112
112
  }[type];
113
113
  var hoverTypeClasses = {
114
114
  primary: 'hover:bg-light-accent-dark hover:dark:bg-dark-accent-dark',
115
- secondary: 'hover:bg-light-primary-dark dark:hover:bg-dark-primary-dark',
116
- tertiary: 'hover:bg-light-background-accent300 hover:dark:bg-dark-background-accent300',
115
+ secondary: 'hover:bg-light-secondary-dark dark:hover:bg-dark-secondary-dark',
116
+ tertiary: 'hover:bg-light-background-accent200 hover:dark:bg-dark-background-accent200',
117
117
  textOnly: 'hover:bg-light-background-accent100 hover:dark:bg-dark-background-accent100',
118
118
  }[type];
119
119
  // State classes
@@ -24,28 +24,28 @@ export default function IconButton(_a) {
24
24
  var baseClasses = "".concat(sizeClasses[size], " rounded-[8px] leading-none");
25
25
  // Background color
26
26
  var bgColor = color === 'primary'
27
- ? 'bg-light-accent-main dark:bg-dark-accent-main' // Primary: accent/main
27
+ ? 'bg-light-accent-main dark:bg-dark-accent-main' // Primary
28
28
  : color === 'secondary'
29
- ? 'bg-light-primary-main dark:bg-dark-primary-main' // Secondary: primary/main
29
+ ? 'bg-light-secondary-main dark:bg-dark-secondary-main' // Secondary
30
30
  : color === 'tertiary'
31
- ? 'bg-light-background-accent200 dark:bg-dark-background-accent200' // Tertiary: background/accent200
31
+ ? 'bg-light-background-accent100 dark:bg-dark-background-accent100' // Tertiary
32
32
  : ' '; // iconOnly: none
33
33
  // Background hover color
34
34
  var bgColorHover = color === 'primary'
35
- ? 'hover:bg-light-accent-dark hover:dark:bg-dark-accent-dark' // Primary: accent/dark
35
+ ? 'hover:bg-light-accent-dark hover:dark:bg-dark-accent-dark' // Primary
36
36
  : color === 'secondary'
37
- ? 'hover:bg-light-primary-dark hover:dark:bg-dark-primary-dark' // Secondary: primary/dark
37
+ ? 'hover:bg-light-secondary-dark hover:dark:bg-dark-secondary-dark' // Secondary
38
38
  : color === 'tertiary'
39
- ? 'hover:bg-light-background-accent300 hover:dark:bg-dark-background-accent300' // Tertiary: background/accent300
40
- : 'hover:bg-light-background-accent100 hover:dark:bg-dark-background-accent100'; // iconOnly: background/accent100
39
+ ? 'hover:bg-light-background-accent200 hover:dark:bg-dark-background-accent200' // Tertiary
40
+ : 'hover:bg-light-background-accent100 hover:dark:bg-dark-background-accent100'; // iconOnly
41
41
  // Icon color
42
42
  var iconColor = color === 'primary'
43
- ? 'text-light-text-primary dark:text-dark-text-primary' // Primary: text/primary
43
+ ? 'text-light-text-primary dark:text-dark-text-contrast' // Primary
44
44
  : color === 'secondary'
45
- ? 'text-light-primary-contrast dark:text-dark-primary-contrast' // Secondary: text/contrast
45
+ ? 'text-light-text-primary dark:text-dark-text-primary' // Secondary
46
46
  : color === 'tertiary'
47
- ? 'text-light-text-primary dark:text-dark-text-primary' // Tertiary: text/primary
48
- : 'text-light-text-primary dark:text-dark-text-primary'; // iconOnly: text/primary
47
+ ? 'text-light-text-primary dark:text-dark-text-primary' // Tertiary
48
+ : 'text-light-text-primary dark:text-dark-text-primary'; // iconOnly
49
49
  // state
50
50
  var stateClasses = state === 'disabled'
51
51
  ? 'cursor-not-allowed opacity-50'
@@ -92,7 +92,7 @@ export default function MenuItem(_a) {
92
92
  {userImgUrl || userHandle ? (<UserImage userHandle={userHandle || ''} userImgUrl={userImgUrl || ''}/>) : (IconLeft && <IconLeft className="w-6 h-6"/>)}
93
93
 
94
94
  {/* label */}
95
- <span className="whitespace-nowrap text-body1 px-2 text-light-text-primary dark:text-dark-text-primary">
95
+ <span className="whitespace-nowrap text-body1 px-2 text-light-text-secondary dark:text-dark-text-secondary">
96
96
  {label}
97
97
  </span>
98
98
  </div>
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  export default function TabsContainer(_a) {
4
4
  var children = _a.children;
5
5
  var tabCount = React.Children.count(children);
6
- return (<div className={"\n flex space-x-2 p-1 rounded-[12px]\n ".concat(tabCount > 0 ? 'bg-light-background-accent200 dark:bg-dark-background-accent200' : 'bg-transparent', "\n ")}>
6
+ return (<div className={"\n flex space-x-2 p-1 rounded-[12px]\n ".concat(tabCount > 0 ? 'bg-light-background-accent100 dark:bg-dark-background-accent100' : 'bg-transparent', "\n ")}>
7
7
  {children}
8
8
  </div>);
9
9
  }
@@ -1,15 +1,13 @@
1
1
  import React from 'react';
2
2
  import * as HeroIcons from '@heroicons/react/24/outline';
3
3
  interface TagProps {
4
- key?: any;
5
- variant: "contained" | "textOnly";
6
- size: "medium" | "small";
7
- state?: "enabled" | "selected";
8
- label: any;
4
+ variant: 'contained' | 'textOnly';
5
+ size: 'medium' | 'small';
6
+ state?: 'enabled' | 'selected';
7
+ label: string;
9
8
  iconName?: keyof typeof HeroIcons;
10
- isDeletable?: keyof typeof HeroIcons;
11
- onClick?: any;
9
+ onClick?: React.MouseEventHandler<HTMLDivElement>;
12
10
  color?: 'default' | 'info';
13
11
  }
14
- export default function Tag({ key, variant, size, state, label, iconName, isDeletable, onClick, color, }: TagProps): React.JSX.Element;
12
+ export default function Tag({ variant, size, state, label, iconName, onClick, color, }: TagProps): JSX.Element;
15
13
  export {};
@@ -1,123 +1,43 @@
1
1
  'use client';
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- import React, { useState, useEffect, useCallback } from 'react';
2
+ import React, { useState, useEffect } from 'react';
3
+ import * as HeroIcons from '@heroicons/react/24/outline';
39
4
  export default function Tag(_a) {
40
- var _this = this;
41
- var key = _a.key, variant = _a.variant, size = _a.size, state = _a.state, label = _a.label, iconName = _a.iconName, isDeletable = _a.isDeletable, onClick = _a.onClick, _b = _a.color, color = _b === void 0 ? 'default' : _b;
42
- var _c = useState(false), isHovered = _c[0], setIsHovered = _c[1];
43
- var _d = useState(null), Icon = _d[0], setIcon = _d[1];
44
- var _e = useState(null), DeleteIcon = _e[0], setDeleteIcon = _e[1];
45
- var loadIcon = useCallback(function (iconName) { return __awaiter(_this, void 0, void 0, function () {
46
- var module_1, Icon_1, error_1;
47
- return __generator(this, function (_a) {
48
- switch (_a.label) {
49
- case 0:
50
- if (!iconName)
51
- return [2 /*return*/, null];
52
- _a.label = 1;
53
- case 1:
54
- _a.trys.push([1, 3, , 4]);
55
- return [4 /*yield*/, import('@heroicons/react/24/outline')];
56
- case 2:
57
- module_1 = _a.sent();
58
- Icon_1 = module_1[iconName];
59
- return [2 /*return*/, Icon_1 || null];
60
- case 3:
61
- error_1 = _a.sent();
62
- console.error("Failed to load icon ".concat(iconName, ":"), error_1);
63
- return [2 /*return*/, null];
64
- case 4: return [2 /*return*/];
65
- }
66
- });
67
- }); }, []);
5
+ var variant = _a.variant, size = _a.size, _b = _a.state, state = _b === void 0 ? 'enabled' : _b, label = _a.label, iconName = _a.iconName, onClick = _a.onClick, _c = _a.color, color = _c === void 0 ? 'default' : _c;
6
+ var _d = useState(false), isHovered = _d[0], setIsHovered = _d[1];
7
+ var _e = useState(null), Icon = _e[0], setIcon = _e[1];
8
+ // Load icon directly from HeroIcons
68
9
  useEffect(function () {
69
- var fetchIcons = function () { return __awaiter(_this, void 0, void 0, function () {
70
- var _a, _b;
71
- return __generator(this, function (_c) {
72
- switch (_c.label) {
73
- case 0:
74
- if (!(typeof iconName === 'string')) return [3 /*break*/, 2];
75
- _a = setIcon;
76
- return [4 /*yield*/, loadIcon(iconName)];
77
- case 1:
78
- _a.apply(void 0, [_c.sent()]);
79
- _c.label = 2;
80
- case 2:
81
- if (!(typeof isDeletable === 'string')) return [3 /*break*/, 4];
82
- _b = setDeleteIcon;
83
- return [4 /*yield*/, loadIcon(isDeletable)];
84
- case 3:
85
- _b.apply(void 0, [_c.sent()]);
86
- _c.label = 4;
87
- case 4: return [2 /*return*/];
88
- }
89
- });
90
- }); };
91
- fetchIcons();
92
- }, [iconName, isDeletable, loadIcon]);
93
- // size and padding
10
+ if (iconName) {
11
+ setIcon(HeroIcons[iconName]);
12
+ }
13
+ }, [iconName]);
14
+ // Size and padding
94
15
  var sizeClasses = size === 'medium' ? 'text-body2 px-2 py-1' : 'text-caption px-2 py-[3px]';
95
- // bg color
16
+ // Background color
96
17
  var bgClasses = variant === 'contained'
97
18
  ? (color === 'info'
98
- ? 'bg-light-info-main dark:bg-dark-info-main' // info
99
- : 'bg-light-background-accent200 dark:bg-dark-background-accent200') // default
100
- : ''; // textOnly
101
- // font color
19
+ ? 'bg-light-info-main dark:bg-dark-info-main'
20
+ : 'bg-light-background-accent300 dark:bg-dark-background-accent300')
21
+ : '';
22
+ // Font color
102
23
  var fontClasses = variant === 'textOnly'
103
24
  ? (color === 'info'
104
- ? 'text-light-info-main dark:text-dark-info-main' // info
105
- : 'text-light-text-primary dark:text-dark-text-primary') // default
106
- : 'text-light-text-primary dark:text-dark-text-primary'; // contained
107
- // state
25
+ ? 'text-light-info-main dark:text-dark-info-main'
26
+ : 'text-light-text-primary dark:text-dark-text-primary')
27
+ : 'text-light-text-primary dark:text-dark-text-primary';
28
+ // Border for contained variant
29
+ var borderClasses = variant === 'contained'
30
+ ? 'border border-light-misc-divider dark:border-dark-misc-divider'
31
+ : '';
32
+ // State and hover
108
33
  var stateClasses = state === 'selected'
109
34
  ? 'bg-light-accent-main dark:bg-dark-accent-main text-white'
110
35
  : 'cursor-pointer';
111
- // hover
112
- var hoverClasses = isHovered ? (variant === 'contained' ? 'hover:bg-dark-background-accent300' : '') : '';
113
- return (<div className={"flex items-center space-x-1 rounded-full \n ".concat(sizeClasses, " ").concat(bgClasses, " ").concat(fontClasses, " ").concat(stateClasses, " ").concat(hoverClasses, " \n transition-colors duration-300 ease-in-out")} onMouseEnter={function () { return setIsHovered(true); }} onMouseLeave={function () { return setIsHovered(false); }} onClick={onClick}>
36
+ var hoverClasses = variant === 'contained' && isHovered
37
+ ? 'bg-light-background-accent200 dark:bg-dark-background-accent200'
38
+ : '';
39
+ return (<div className={"\n flex items-center space-x-1 rounded-full \n ".concat(sizeClasses, " ").concat(bgClasses, " ").concat(fontClasses, " ").concat(borderClasses, " ").concat(stateClasses, " ").concat(hoverClasses, "\n transition-colors duration-300 ease-in-out\n ")} onMouseEnter={function () { return setIsHovered(true); }} onMouseLeave={function () { return setIsHovered(false); }} onClick={onClick}>
114
40
  {Icon && <Icon className="w-4 h-4"/>}
115
41
  <span>{label}</span>
116
- {isDeletable && (<button className="ml-2 text-red-500" onClick={function (e) {
117
- e.stopPropagation();
118
- // Handle delete action
119
- }}>
120
- {DeleteIcon && <DeleteIcon className="w-4 h-4"/>}
121
- </button>)}
122
42
  </div>);
123
43
  }
@@ -47,9 +47,9 @@ module.exports = {
47
47
  light: '#67C16B',
48
48
  },
49
49
  background: {
50
- default: '#F2F2F2',
51
- accent100: '#F5F5F5',
52
- accent200: '#FAFAFA',
50
+ default: '#e8e8e8',
51
+ accent100: '#f1f1f1',
52
+ accent200: '#f7f7f7',
53
53
  accent300: '#FFFFFF',
54
54
  },
55
55
  action: {
package/dist/output.css CHANGED
@@ -731,6 +731,10 @@ video {
731
731
  --tw-border-opacity: 1;
732
732
  border-color: rgb(238 174 3 / var(--tw-border-opacity));
733
733
  }
734
+ .border-light-misc-divider {
735
+ --tw-border-opacity: 1;
736
+ border-color: rgb(209 209 209 / var(--tw-border-opacity));
737
+ }
734
738
  .border-light-text-primary {
735
739
  --tw-border-opacity: 1;
736
740
  border-color: rgb(0 0 0 / var(--tw-border-opacity));
@@ -768,15 +772,19 @@ video {
768
772
  }
769
773
  .bg-light-background-accent100 {
770
774
  --tw-bg-opacity: 1;
771
- background-color: rgb(245 245 245 / var(--tw-bg-opacity));
775
+ background-color: rgb(241 241 241 / var(--tw-bg-opacity));
772
776
  }
773
777
  .bg-light-background-accent200 {
774
778
  --tw-bg-opacity: 1;
775
- background-color: rgb(250 250 250 / var(--tw-bg-opacity));
779
+ background-color: rgb(247 247 247 / var(--tw-bg-opacity));
780
+ }
781
+ .bg-light-background-accent300 {
782
+ --tw-bg-opacity: 1;
783
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity));
776
784
  }
777
785
  .bg-light-background-default {
778
786
  --tw-bg-opacity: 1;
779
- background-color: rgb(242 242 242 / var(--tw-bg-opacity));
787
+ background-color: rgb(232 232 232 / var(--tw-bg-opacity));
780
788
  }
781
789
  .bg-light-error-main {
782
790
  --tw-bg-opacity: 1;
@@ -790,9 +798,9 @@ video {
790
798
  --tw-bg-opacity: 1;
791
799
  background-color: rgb(38 38 38 / var(--tw-bg-opacity));
792
800
  }
793
- .bg-light-primary-main {
801
+ .bg-light-secondary-main {
794
802
  --tw-bg-opacity: 1;
795
- background-color: rgb(69 69 69 / var(--tw-bg-opacity));
803
+ background-color: rgb(176 176 176 / var(--tw-bg-opacity));
796
804
  }
797
805
  .bg-light-success-main {
798
806
  --tw-bg-opacity: 1;
@@ -906,10 +914,6 @@ video {
906
914
  --tw-text-opacity: 1;
907
915
  color: rgb(109 109 109 / var(--tw-text-opacity));
908
916
  }
909
- .text-red-500 {
910
- --tw-text-opacity: 1;
911
- color: rgb(239 68 68 / var(--tw-text-opacity));
912
- }
913
917
  .text-white {
914
918
  --tw-text-opacity: 1;
915
919
  color: rgb(255 255 255 / var(--tw-text-opacity));
@@ -946,7 +950,7 @@ video {
946
950
  --tw-ring-offset-width: 4px;
947
951
  }
948
952
  .ring-offset-light-background-default {
949
- --tw-ring-offset-color: #F2F2F2;
953
+ --tw-ring-offset-color: #e8e8e8;
950
954
  }
951
955
  .blur {
952
956
  --tw-blur: blur(8px);
@@ -979,11 +983,6 @@ body {
979
983
  background-color: rgb(227 227 227 / var(--tw-bg-opacity));
980
984
  }
981
985
 
982
- .hover\:bg-dark-background-accent300:hover {
983
- --tw-bg-opacity: 1;
984
- background-color: rgb(79 79 79 / var(--tw-bg-opacity));
985
- }
986
-
987
986
  .hover\:bg-light-accent-dark:hover {
988
987
  --tw-bg-opacity: 1;
989
988
  background-color: rgb(206 134 2 / var(--tw-bg-opacity));
@@ -991,12 +990,12 @@ body {
991
990
 
992
991
  .hover\:bg-light-background-accent100:hover {
993
992
  --tw-bg-opacity: 1;
994
- background-color: rgb(245 245 245 / var(--tw-bg-opacity));
993
+ background-color: rgb(241 241 241 / var(--tw-bg-opacity));
995
994
  }
996
995
 
997
996
  .hover\:bg-light-background-accent200:hover {
998
997
  --tw-bg-opacity: 1;
999
- background-color: rgb(250 250 250 / var(--tw-bg-opacity));
998
+ background-color: rgb(247 247 247 / var(--tw-bg-opacity));
1000
999
  }
1001
1000
 
1002
1001
  .hover\:bg-light-background-accent300:hover {
@@ -1004,9 +1003,9 @@ body {
1004
1003
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
1005
1004
  }
1006
1005
 
1007
- .hover\:bg-light-primary-dark:hover {
1006
+ .hover\:bg-light-secondary-dark:hover {
1008
1007
  --tw-bg-opacity: 1;
1009
- background-color: rgb(38 38 38 / var(--tw-bg-opacity));
1008
+ background-color: rgb(136 136 136 / var(--tw-bg-opacity));
1010
1009
  }
1011
1010
 
1012
1011
  .hover\:bg-opacity-75:hover {
@@ -1025,6 +1024,11 @@ body {
1025
1024
 
1026
1025
  @media (prefers-color-scheme: dark) {
1027
1026
 
1027
+ .dark\:border-dark-misc-divider {
1028
+ --tw-border-opacity: 1;
1029
+ border-color: rgb(64 64 64 / var(--tw-border-opacity));
1030
+ }
1031
+
1028
1032
  .dark\:border-dark-text-primary {
1029
1033
  --tw-border-opacity: 1;
1030
1034
  border-color: rgb(255 255 255 / var(--tw-border-opacity));
@@ -1055,6 +1059,11 @@ body {
1055
1059
  background-color: rgb(69 69 69 / var(--tw-bg-opacity));
1056
1060
  }
1057
1061
 
1062
+ .dark\:bg-dark-background-accent300 {
1063
+ --tw-bg-opacity: 1;
1064
+ background-color: rgb(79 79 79 / var(--tw-bg-opacity));
1065
+ }
1066
+
1058
1067
  .dark\:bg-dark-background-default {
1059
1068
  --tw-bg-opacity: 1;
1060
1069
  background-color: rgb(38 38 38 / var(--tw-bg-opacity));
@@ -1075,9 +1084,9 @@ body {
1075
1084
  background-color: rgb(233 233 233 / var(--tw-bg-opacity));
1076
1085
  }
1077
1086
 
1078
- .dark\:bg-dark-primary-main {
1087
+ .dark\:bg-dark-secondary-main {
1079
1088
  --tw-bg-opacity: 1;
1080
- background-color: rgb(213 213 213 / var(--tw-bg-opacity));
1089
+ background-color: rgb(79 79 79 / var(--tw-bg-opacity));
1081
1090
  }
1082
1091
 
1083
1092
  .dark\:bg-dark-success-main {
@@ -1154,9 +1163,9 @@ body {
1154
1163
  background-color: rgb(79 79 79 / var(--tw-bg-opacity));
1155
1164
  }
1156
1165
 
1157
- .dark\:hover\:bg-dark-primary-dark:hover {
1166
+ .dark\:hover\:bg-dark-secondary-dark:hover {
1158
1167
  --tw-bg-opacity: 1;
1159
- background-color: rgb(233 233 233 / var(--tw-bg-opacity));
1168
+ background-color: rgb(69 69 69 / var(--tw-bg-opacity));
1160
1169
  }
1161
1170
 
1162
1171
  .hover\:dark\:bg-dark-accent-dark:hover {
@@ -1169,14 +1178,14 @@ body {
1169
1178
  background-color: rgb(51 51 51 / var(--tw-bg-opacity));
1170
1179
  }
1171
1180
 
1172
- .hover\:dark\:bg-dark-background-accent300:hover {
1181
+ .hover\:dark\:bg-dark-background-accent200:hover {
1173
1182
  --tw-bg-opacity: 1;
1174
- background-color: rgb(79 79 79 / var(--tw-bg-opacity));
1183
+ background-color: rgb(69 69 69 / var(--tw-bg-opacity));
1175
1184
  }
1176
1185
 
1177
- .hover\:dark\:bg-dark-primary-dark:hover {
1186
+ .hover\:dark\:bg-dark-secondary-dark:hover {
1178
1187
  --tw-bg-opacity: 1;
1179
- background-color: rgb(233 233 233 / var(--tw-bg-opacity));
1188
+ background-color: rgb(69 69 69 / var(--tw-bg-opacity));
1180
1189
  }
1181
1190
 
1182
1191
  .focus\:dark\:border-dark-accent-main:focus {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "oneslash-design-system",
3
3
  "description": "A design system for the Oneslash projects",
4
- "version": "1.1.15",
4
+ "version": "1.1.17",
5
5
  "private": false,
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",