@rovula/ui 0.0.50 → 0.0.52

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 (48) hide show
  1. package/dist/cjs/bundle.css +6 -1
  2. package/dist/cjs/bundle.js +3 -3
  3. package/dist/cjs/bundle.js.map +1 -1
  4. package/dist/cjs/types/components/Tree/type.d.ts +20 -12
  5. package/dist/components/Tree/Tree.js +3 -2
  6. package/dist/components/Tree/Tree.stories.js +1 -1
  7. package/dist/components/Tree/TreeItem.js +16 -15
  8. package/dist/esm/bundle.css +6 -1
  9. package/dist/esm/bundle.js +1 -1
  10. package/dist/esm/bundle.js.map +1 -1
  11. package/dist/esm/types/components/Tree/type.d.ts +20 -12
  12. package/dist/index.d.ts +20 -12
  13. package/dist/src/theme/global.css +8 -1151
  14. package/dist/theme/global.css +0 -1
  15. package/package.json +1 -1
  16. package/src/components/Tree/Tree.stories.tsx +2 -1
  17. package/src/components/Tree/Tree.tsx +10 -1
  18. package/src/components/Tree/TreeItem.tsx +164 -108
  19. package/src/components/Tree/type.ts +23 -11
  20. package/src/theme/global.css +0 -1
  21. package/dist/theme/themes/SKL/baseline.css +0 -12
  22. package/dist/theme/themes/SKL/color.css +0 -78
  23. package/dist/theme/themes/SKL/components/action-button.css +0 -127
  24. package/dist/theme/themes/SKL/components/button.css +0 -512
  25. package/dist/theme/themes/SKL/components/dropdown-menu.css +0 -27
  26. package/dist/theme/themes/SKL/components/loading.css +0 -11
  27. package/dist/theme/themes/SKL/components/navbar.css +0 -8
  28. package/dist/theme/themes/SKL/components/progress-bar.css +0 -8
  29. package/dist/theme/themes/SKL/components/switch.css +0 -30
  30. package/dist/theme/themes/SKL/palette.css +0 -145
  31. package/dist/theme/themes/SKL/state.css +0 -86
  32. package/dist/theme/themes/SKL/transparent.css +0 -68
  33. package/dist/theme/themes/SKL/typography.css +0 -199
  34. package/dist/theme/themes/SKL/variables.css +0 -28
  35. package/src/theme/themes/SKL/baseline.css +0 -12
  36. package/src/theme/themes/SKL/color.css +0 -78
  37. package/src/theme/themes/SKL/components/action-button.css +0 -127
  38. package/src/theme/themes/SKL/components/button.css +0 -512
  39. package/src/theme/themes/SKL/components/dropdown-menu.css +0 -27
  40. package/src/theme/themes/SKL/components/loading.css +0 -11
  41. package/src/theme/themes/SKL/components/navbar.css +0 -8
  42. package/src/theme/themes/SKL/components/progress-bar.css +0 -8
  43. package/src/theme/themes/SKL/components/switch.css +0 -30
  44. package/src/theme/themes/SKL/palette.css +0 -145
  45. package/src/theme/themes/SKL/state.css +0 -86
  46. package/src/theme/themes/SKL/transparent.css +0 -68
  47. package/src/theme/themes/SKL/typography.css +0 -199
  48. package/src/theme/themes/SKL/variables.css +0 -28
@@ -1,7 +1,6 @@
1
1
 
2
2
  @import "./tokens/baseline.css";
3
3
  @import "./themes/xspector/baseline.css";
4
- @import "./themes/SKL/baseline.css";
5
4
 
6
5
  @tailwind base;
7
6
  @tailwind components;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rovula/ui",
3
- "version": "0.0.50",
3
+ "version": "0.0.52",
4
4
  "main": "dist/cjs/bundle.js",
5
5
  "module": "dist/esm/bundle.js",
6
6
  "types": "dist/index.d.ts",
@@ -6,7 +6,8 @@ import { ActionButton, Icon } from "@/index";
6
6
  const exampleData = [
7
7
  {
8
8
  id: "1",
9
- title: "Parent Folder 1",
9
+ title:
10
+ "Parent Folder 1 Parent Folder 1 Parent Folder 1 Parent Folder 1 Parent Folder 1 Parent Folder 1 Parent Folder 1 Parent Folder 1",
10
11
  children: [
11
12
  {
12
13
  id: "1.1",
@@ -1,6 +1,7 @@
1
1
  import React, { FC, useCallback, useEffect, useState } from "react";
2
2
  import TreeItem from "./TreeItem";
3
3
  import { TreeData, TreeProps } from "./type";
4
+ import { cn } from "@/utils/cn";
4
5
 
5
6
  const Tree: FC<TreeProps> = ({
6
7
  classes,
@@ -9,6 +10,10 @@ const Tree: FC<TreeProps> = ({
9
10
  defaultCheckedId,
10
11
  checkedId,
11
12
  loadingId,
13
+ lineSize,
14
+ horizontalLineWidth,
15
+ expandButtonSize,
16
+ spacing,
12
17
  renderIcon,
13
18
  renderRightSection,
14
19
  renderElement,
@@ -166,7 +171,7 @@ const Tree: FC<TreeProps> = ({
166
171
  );
167
172
 
168
173
  return (
169
- <div className="w-full">
174
+ <div className={cn("w-full", classes?.container)}>
170
175
  {data.map((item, idx) => (
171
176
  <TreeItem
172
177
  key={item.id}
@@ -185,6 +190,10 @@ const Tree: FC<TreeProps> = ({
185
190
  enableSeparatorLine={enableSeparatorLine}
186
191
  disabled={disabled}
187
192
  showIcon={showIcon}
193
+ lineSize={lineSize}
194
+ horizontalLineWidth={horizontalLineWidth}
195
+ expandButtonSize={expandButtonSize}
196
+ spacing={spacing}
188
197
  {...item}
189
198
  />
190
199
  ))}
@@ -26,6 +26,10 @@ const TreeItem: FC<TreeItemProps> = ({
26
26
  renderElement,
27
27
  renderTitle,
28
28
  renderRightSection,
29
+ lineSize = 2,
30
+ horizontalLineWidth = 4,
31
+ expandButtonSize = 30,
32
+ spacing = 2,
29
33
  }) => {
30
34
  const isLoading = useMemo(() => checkIsLoading?.(id), [checkIsLoading, id]);
31
35
  const isChecked = useMemo(() => checkIsChecked(id), [checkIsChecked, id]);
@@ -40,41 +44,41 @@ const TreeItem: FC<TreeItemProps> = ({
40
44
  onExpandChange?.(id, !isExpanded);
41
45
  }, [id, isExpanded, onExpandChange]);
42
46
 
43
- // TODO move to props
44
- const lineSize = 2;
45
- const horizontalLineWidth = 4;
46
- const expandButtonSize = 30;
47
- const spacing = 2;
48
-
49
- const styles = {
50
- branch: {
51
- height:
52
- isLastItem && !(isExpanded && hasChildren)
53
- ? `calc(50% + ${lineSize}px)`
54
- : `calc(100% + ${lineSize}px)`,
55
- width: lineSize,
56
- marginTop: -lineSize,
57
- borderBottomLeftRadius: lineSize / 2,
58
- },
59
- horizontalLine: {
60
- height: lineSize,
61
- width:
62
- lineSize +
63
- horizontalLineWidth +
64
- (shouldExpandButton ? 0 : expandButtonSize + spacing),
65
- marginLeft: -lineSize + 0.1,
66
- borderBottomLeftRadius: lineSize / 2,
67
- },
68
- expandButton: {
69
- width: expandButtonSize,
70
- height: expandButtonSize,
71
- },
72
- childPadding: {
73
- paddingLeft: isFirstLevel
74
- ? expandButtonSize / 2 - lineSize / 2
75
- : expandButtonSize / 2 + horizontalLineWidth - lineSize / 2,
76
- },
77
- };
47
+ const styles = useMemo(
48
+ () => ({
49
+ branch: {
50
+ width: lineSize,
51
+ borderBottomLeftRadius: isLastItem ? lineSize / 2 : 0,
52
+ },
53
+ horizontalLine: {
54
+ height: lineSize,
55
+ width:
56
+ lineSize +
57
+ horizontalLineWidth +
58
+ (shouldExpandButton ? 0 : expandButtonSize + spacing),
59
+ marginLeft: -lineSize,
60
+ borderBottomLeftRadius: lineSize / 2,
61
+ },
62
+ expandButton: {
63
+ width: expandButtonSize,
64
+ height: expandButtonSize,
65
+ },
66
+ childPadding: {
67
+ paddingLeft: isFirstLevel
68
+ ? expandButtonSize / 2 - lineSize / 2
69
+ : expandButtonSize / 2 + horizontalLineWidth - lineSize / 2,
70
+ },
71
+ }),
72
+ [
73
+ lineSize,
74
+ horizontalLineWidth,
75
+ expandButtonSize,
76
+ spacing,
77
+ isFirstLevel,
78
+ isLastItem,
79
+ shouldExpandButton,
80
+ ]
81
+ );
78
82
 
79
83
  useEffect(() => {
80
84
  if (isExpanded && !isLoading && !hasChildren) {
@@ -124,96 +128,148 @@ const TreeItem: FC<TreeItemProps> = ({
124
128
  : content;
125
129
 
126
130
  return elementWrapper(
127
- <div className={cn("flex flex-row w-full ", classes?.elementWrapper)}>
128
- <div
129
- className={cn("bg-grey-150", classes?.branch)}
130
- style={styles.branch}
131
- />
131
+ <div className={cn("flex flex-row w-full", classes?.elementWrapper)}>
132
132
  <div className={cn("flex flex-col w-full", classes?.itemWrapper)}>
133
- <div
134
- className={cn(
135
- "flex items-center py-2 min-h-10",
136
- classes?.itemContainer
137
- )}
138
- >
139
- {!isFirstLevel && (
140
- <div
141
- className={cn("bg-grey-150", classes?.horizontalLine)}
142
- style={styles.horizontalLine}
143
- />
144
- )}
145
- {isFirstLevel && !shouldExpandButton && (
146
- <div
147
- className={cn("flex mr-[2px]", classes?.expandButton)}
148
- style={styles.expandButton}
149
- />
150
- )}
151
- {shouldExpandButton && (
152
- <div
153
- className={cn("flex mr-[2px]", classes?.expandButton)}
154
- style={styles.expandButton}
155
- onClick={!isLoading && handleExpandToggle}
156
- >
157
- <ActionButton variant="icon" size="sm">
158
- {isLoading ? (
159
- <Loading />
160
- ) : (
161
- <Icon name={isExpanded ? "chevron-down" : "chevron-right"} />
133
+ <div className={cn("flex flex-row flex-1", classes?.rowWrapperClasses)}>
134
+ <div
135
+ className={cn(
136
+ "flex flex-col h-full",
137
+ classes?.columnWrapperClasses
138
+ )}
139
+ >
140
+ {!isFirstLevel && (
141
+ <div
142
+ className={cn(
143
+ "flex w-[2px] h-1/2 bg-grey-150",
144
+ classes?.branch
162
145
  )}
163
- </ActionButton>
164
- </div>
165
- )}
166
- <Checkbox
167
- id={id}
168
- className={cn("size-[16pt]", classes?.checkbox)}
169
- checked={isChecked}
170
- disabled={disabled}
171
- onCheckedChange={(newChecked) =>
172
- onCheckedChange?.(id, newChecked as boolean)
173
- }
174
- />
146
+ style={styles.branch}
147
+ />
148
+ )}
149
+ {!isFirstLevel &&
150
+ !isLastItem &&
151
+ ((isExpanded && (hasChildren || isLoading)) || !isExpanded) && (
152
+ <div
153
+ className={cn(
154
+ "flex w-[2px] h-1/2 bg-grey-150",
155
+ classes?.branch
156
+ )}
157
+ style={styles.branch}
158
+ />
159
+ )}
160
+ </div>
161
+
175
162
  <div
176
163
  className={cn(
177
- "ml-2 gap-1 flex flex-1 items-center text-foreground",
178
- classes?.item
164
+ "flex flex-1 items-center py-2 min-h-10",
165
+ classes?.itemContainer
179
166
  )}
180
- onClick={handleOnClickItem}
181
167
  >
182
- {showIcon ? customIcon || defaultIcon : null}
168
+ {!isFirstLevel && (
169
+ <div
170
+ className={cn("bg-grey-150", classes?.horizontalLine)}
171
+ style={styles.horizontalLine}
172
+ />
173
+ )}
174
+ {isFirstLevel && !shouldExpandButton && (
175
+ <div
176
+ className={cn("flex mr-[2px]", classes?.expandButton)}
177
+ style={styles.expandButton}
178
+ />
179
+ )}
180
+ {shouldExpandButton && (
181
+ <div
182
+ className={cn("flex mr-[2px]", classes?.expandButton)}
183
+ style={styles.expandButton}
184
+ onClick={!isLoading && handleExpandToggle}
185
+ >
186
+ <ActionButton variant="icon" size="sm">
187
+ {isLoading ? (
188
+ <Loading />
189
+ ) : (
190
+ <Icon
191
+ name={isExpanded ? "chevron-down" : "chevron-right"}
192
+ />
193
+ )}
194
+ </ActionButton>
195
+ </div>
196
+ )}
197
+ <Checkbox
198
+ id={id}
199
+ className={cn("size-[16pt]", classes?.checkbox)}
200
+ checked={isChecked}
201
+ disabled={disabled}
202
+ onCheckedChange={(newChecked) =>
203
+ onCheckedChange?.(id, newChecked as boolean)
204
+ }
205
+ />
183
206
  <div
184
207
  className={cn(
185
- "flex flex-1 cursor-pointer text-subtitle5 text-ellipsis",
186
- classes?.title
208
+ "ml-2 gap-1 flex flex-1 items-center text-foreground",
209
+ classes?.item
187
210
  )}
211
+ onClick={handleOnClickItem}
188
212
  >
189
- {titleContent}
213
+ {showIcon ? customIcon || defaultIcon : null}
214
+ <div
215
+ className={cn(
216
+ "flex flex-1 cursor-pointer text-subtitle5 text-ellipsis",
217
+ classes?.title
218
+ )}
219
+ >
220
+ {titleContent}
221
+ </div>
190
222
  </div>
223
+ {rightIcon}
191
224
  </div>
192
- {rightIcon}
193
225
  </div>
226
+
194
227
  {isExpanded && hasChildren && (
195
228
  <div
196
- className={cn("flex flex-col", classes?.childrenWrapper)}
197
- style={styles.childPadding}
229
+ className={cn(
230
+ "flex flex-row overflow-hidden max-h-screen",
231
+ classes?.expandedChildrenWrapper
232
+ )}
198
233
  >
199
- {children?.map((child, idx) => (
200
- <TreeItem
201
- key={child.id}
202
- classes={classes}
203
- isLastItem={idx === children.length - 1}
204
- checkIsExpanded={checkIsExpanded}
205
- checkIsChecked={checkIsChecked}
206
- checkIsLoading={checkIsLoading}
207
- onExpandChange={onExpandChange}
208
- onCheckedChange={onCheckedChange}
209
- renderIcon={renderIcon}
210
- renderElement={renderElement}
211
- renderTitle={renderTitle}
212
- disabled={disabled}
213
- showIcon={showIcon}
214
- {...child}
234
+ {!isFirstLevel && !isLastItem && (
235
+ <div
236
+ className={cn(
237
+ "flex w-[2px] h-full bg-grey-150",
238
+ classes?.branch
239
+ )}
240
+ style={styles.branch}
215
241
  />
216
- ))}
242
+ )}
243
+ <div
244
+ className={cn(
245
+ "flex flex-col overflow-hidden max-h-screen",
246
+ classes?.expandedChildrenWrapperInner
247
+ )}
248
+ style={styles.childPadding}
249
+ >
250
+ {children?.map((child, idx) => (
251
+ <TreeItem
252
+ key={child.id}
253
+ classes={classes}
254
+ isLastItem={idx === children.length - 1}
255
+ checkIsExpanded={checkIsExpanded}
256
+ checkIsChecked={checkIsChecked}
257
+ checkIsLoading={checkIsLoading}
258
+ onExpandChange={onExpandChange}
259
+ onCheckedChange={onCheckedChange}
260
+ renderIcon={renderIcon}
261
+ renderElement={renderElement}
262
+ renderTitle={renderTitle}
263
+ disabled={disabled}
264
+ showIcon={showIcon}
265
+ lineSize={lineSize}
266
+ horizontalLineWidth={horizontalLineWidth}
267
+ expandButtonSize={expandButtonSize}
268
+ spacing={spacing}
269
+ {...child}
270
+ />
271
+ ))}
272
+ </div>
217
273
  </div>
218
274
  )}
219
275
  {enableSeparatorLine && isFirstLevel && !isLastItem && (
@@ -21,6 +21,10 @@ export interface TreeItemProps extends TreeData {
21
21
  showIcon?: boolean;
22
22
  showExpandButton?: boolean;
23
23
  enableSeparatorLine?: boolean;
24
+ lineSize?: number;
25
+ horizontalLineWidth?: number;
26
+ expandButtonSize?: number;
27
+ spacing?: number;
24
28
  checkIsExpanded: (id: string) => boolean;
25
29
  checkIsChecked: (id: string) => boolean;
26
30
  checkIsLoading?: (id: string) => void;
@@ -51,17 +55,21 @@ export interface TreeItemProps extends TreeData {
51
55
  selected: boolean;
52
56
  }) => ReactNode;
53
57
  classes?: Partial<{
54
- elementWrapper: string;
55
- branch: string;
56
- itemWrapper: string;
57
- itemContainer: string;
58
- horizontalLine: string;
59
- expandButton: string;
60
- separatorLine: string;
61
- checkbox: string;
62
- item: string;
63
- title: string;
64
- childrenWrapper: string;
58
+ container?: string;
59
+ elementWrapper?: string;
60
+ branch?: string;
61
+ itemWrapper?: string;
62
+ itemContainer?: string;
63
+ horizontalLine?: string;
64
+ expandButton?: string;
65
+ separatorLine?: string;
66
+ checkbox?: string;
67
+ item?: string;
68
+ title?: string;
69
+ expandedChildrenWrapper?: string;
70
+ expandedChildrenWrapperInner?: string;
71
+ rowWrapperClasses?: string;
72
+ columnWrapperClasses?: string;
65
73
  }>;
66
74
  }
67
75
 
@@ -76,6 +84,10 @@ export interface TreeProps
76
84
  | "disabled"
77
85
  | "enableSeparatorLine"
78
86
  | "classes"
87
+ | "lineSize"
88
+ | "horizontalLineWidth"
89
+ | "expandButtonSize"
90
+ | "spacing"
79
91
  > {
80
92
  data: TreeData[];
81
93
  defaultExpandedId?: string[];
@@ -1,7 +1,6 @@
1
1
 
2
2
  @import "./tokens/baseline.css";
3
3
  @import "./themes/xspector/baseline.css";
4
- @import "./themes/SKL/baseline.css";
5
4
 
6
5
  @tailwind base;
7
6
  @tailwind components;
@@ -1,12 +0,0 @@
1
- @import url(palette.css);
2
- @import url(state.css);
3
- @import url(color.css);
4
- @import url(transparent.css);
5
- @import url(variables.css);
6
- @import url(typography.css);
7
- @import url(components/button.css);
8
- @import url(components/action-button.css);
9
- @import url(components/loading.css);
10
- @import url(components/navbar.css);
11
- @import url(components/dropdown-menu.css);
12
- @import url(components/switch.css);
@@ -1,78 +0,0 @@
1
-
2
- :root[data-theme="SKL"] {
3
- /* Base from design */
4
- --input-color-default-text: #9e9e9e;
5
- --input-color-default-stroke: #cfcfcf;
6
- --input-color-filled-text: #4f4f4f;
7
- --input-color-active-stroke: #9e9e9e;
8
- --input-color-disable-text: #919eab;
9
- --input-color-disable-stroke: #e7ebed;
10
- --input-color-disable-bg: #f2f5f5;
11
- --input-color-label-bg: #ffffff;/* #2d2e30; */
12
- --input-color-error: #ed2f15;
13
-
14
- /* Function button */
15
- --function-default-solid: var(--state-color-primary-default);
16
- --function-default-hover: var(--state-color-primary-hover);
17
- --function-default-hover-bg: var(--state-color-primary-hover-bg);
18
- --function-default-stroke: var(--state-color-primary-stroke);
19
- --function-default-icon: #ffffff;
20
- --function-default-outline-icon: var(--state-color-primary-default);
21
- --function-active-solid: var(--state-color-secondary-default);
22
- --function-active-hover: var(--state-color-secondary-hover);
23
- --function-active-hover-bg: var(--state-color-secondary-hover-bg);
24
- --function-active-stroke: var(--state-color-secondary-stroke);
25
- --function-active-icon: #ffffff;
26
-
27
- --text-black: #000000;
28
- --text-dark: #18283a;
29
- --text-medium: #4b5b6d;
30
- --text-light: #8e98a4;
31
- --text-grey-dark: #4f4f4f;
32
- --text-grey-medium: #7e7e7e;
33
- --text-grey-light: #9e9e9e;
34
- --text-white: #ffffff;
35
-
36
- --base-color-bg: #f5f5f5;
37
- --base-color-bg2: #f5f5f5;
38
- --base-color-bg3: #d8d8d8;
39
- --base-color-workspace-stroke: #e2e2e2;
40
- --base-color-guideline-stroke: #c5c5c5;
41
- --base-color-popup: #ffffff;
42
- --base-color-popup-hightlight: #343638;
43
- --base-color-popup-curtain: rgba(0 0 0 / 0.6);
44
- --common-white: #ffffff;
45
- --common-black: #000000;
46
-
47
- /* ------- Addon base ---------- */
48
- --background: var(--base-color-bg);
49
- --foreground: var(--common-black);
50
-
51
- --primary: var(--primary-ramps-primary-100);
52
- --primary: var(--secondary-ramps-secondary-100);
53
- --tertiary: var(--tertiary-ramps-tertiary-100);
54
- --info: var(--info-info-100);
55
- --success: var(--success-success-100);
56
- --warning: var(--warning-warning-100);
57
- --error: var(--error-error-100);
58
- --grey: var(--grey-grey-100);
59
- --grey2: var(--grey2-grey2-100);
60
-
61
- --primary-foreground: var(--state-color-primary-text-solid);
62
- --secondary-foreground: var(--state-color-secondary-text-solid);
63
- --tertiary-foreground: var(--state-color-tertiary-text-solid);
64
- --info-foreground: var(--state-color-info-text-solid);
65
- --success-foreground: var(--state-color-success-text-solid);
66
- --warning-foreground: var(--state-color-warning-text-solid);
67
- --error-foreground: var(--state-color-error-text-solid);
68
- --grey-foreground: var(--common-black);
69
- --grey2-foreground: var(--common-black);
70
-
71
- --surface: var(--base-color-bg);
72
- --surface-foreground: var(--common-black);
73
-
74
- --primary-foreground: var(--common-white);
75
- --secondary-foreground: var(--common-white);
76
-
77
- --base-color-popup-foreground: var(--text-dark);
78
- }
@@ -1,127 +0,0 @@
1
- :root[data-theme="SKL"] {
2
- /* --------------------------------------------------------------------------------- */
3
- /* Action Button Component Tokens */
4
- /* --------------------------------------------------------------------------------- */
5
- /* Naming Convention: --[component]-[mode]-[state]-[property] */
6
- /* Mone: [solid, outline, icon] */
7
- /* States: [default, hover, pressed, active, active-pressed active-hover disabled] */
8
- /* --------------------------------------------------------------------------------- */
9
-
10
- /* ------------------------------------------------------------------ */
11
- /* Solid Mode Tokens */
12
- /* ------------------------------------------------------------------ */
13
-
14
- /* Default State */
15
- --action-button-solid-default-bg: var(--function-default-solid);
16
- --action-button-solid-default-border: var(--function-default-solid);
17
- --action-button-solid-default-text: var(--function-default-icon);
18
-
19
- /* Hover State */
20
- --action-button-solid-hover-bg: var(--function-default-hover);
21
- --action-button-solid-hover-border: var(--function-default-hover);
22
- --action-button-solid-hover-text: var(--function-default-icon);
23
-
24
- /* Pressed State */
25
- --action-button-solid-pressed-bg: var(--function-default-solid);
26
- --action-button-solid-pressed-border: var(--function-default-solid);
27
- --action-button-solid-pressed-text: var(--function-default-icon);
28
-
29
- /* Active State */
30
- --action-button-solid-active-bg: var(--function-active-solid);
31
- --action-button-solid-active-border: var(--function-active-solid);
32
- --action-button-solid-active-text: var(--function-active-icon);
33
-
34
- /* Active Hover State */
35
- --action-button-solid-active-hover-bg: var(--function-active-hover);
36
- --action-button-solid-active-hover-border: var(--function-active-hover);
37
- --action-button-solid-active-hover-text: var(--function-active-icon);
38
-
39
- /* Active Pressed State */
40
- --action-button-solid-active-pressed-bg: var(--function-active-solid);
41
- --action-button-solid-active-pressed-border: var(--function-active-solid);
42
- --action-button-solid-active-pressed-text: var(--function-active-icon);
43
-
44
- /* Disabled State */
45
- --action-button-solid-disabled-bg: var(--state-color-disable-solid);
46
- --action-button-solid-disabled-border: var(--state-color-disable-solid);
47
- --action-button-solid-disabled-text: var(--state-color-disable-outline);
48
-
49
-
50
- /* ------------------------------------------------------------------ */
51
- /* Outline Mode Tokens */
52
- /* ------------------------------------------------------------------ */
53
-
54
- /* Default State */
55
- --action-button-outline-default-bg: transparent;
56
- --action-button-outline-default-border: var(--function-default-stroke);
57
- --action-button-outline-default-text: var(--function-default-outline-icon);
58
-
59
- /* Hover State */
60
- --action-button-outline-hover-bg: var(--function-default-hover-bg);
61
- --action-button-outline-hover-border: var(--function-default-hover);
62
- --action-button-outline-hover-text: var(--function-default-hover);
63
-
64
- /* Pressed State */
65
- --action-button-outline-pressed-bg: var(--function-default-hover-bg);
66
- --action-button-outline-pressed-border: var(--function-default-stroke);
67
- --action-button-outline-pressed-text: var(--function-default-outline-icon);
68
-
69
- /* Active State */
70
- --action-button-outline-active-bg: transparent;
71
- --action-button-outline-active-border: var(--function-active-stroke);
72
- --action-button-outline-active-text: var(--function-active-solid);
73
-
74
- /* Active Hover State */
75
- --action-button-outline-active-hover-bg: var(--function-active-hover-bg);;
76
- --action-button-outline-active-hover-border: var(--function-active-hover);
77
- --action-button-outline-active-hover-text: var(--function-active-hover);
78
-
79
- /* Active Pressed State */
80
- --action-button-outline-active-pressed-bg: var(--function-active-hover-bg);;
81
- --action-button-outline-active-pressed-border: var(--function-active-stroke);
82
- --action-button-outline-active-pressed-text: var(--function-active-solid);
83
-
84
- /* Disabled State */
85
- --action-button-outline-disabled-bg: transparent;
86
- --action-button-outline-disabled-border: var(--state-color-disable-outline);
87
- --action-button-outline-disabled-text: var(--state-color-disable-outline);
88
-
89
- /* ------------------------------------------------------------------ */
90
- /* Icon Mode Tokens */
91
- /* ------------------------------------------------------------------ */
92
-
93
- /* Default State */
94
- --action-button-icon-default-bg: transparent;
95
- --action-button-icon-default-border: transparent;
96
- --action-button-icon-default-text: var(--function-default-outline-icon);
97
-
98
- /* Hover State */
99
- --action-button-icon-hover-bg: var(--function-default-hover-bg);
100
- --action-button-icon-hover-border: transparent;
101
- --action-button-icon-hover-text: var(--function-default-hover);
102
-
103
- /* Pressed State */
104
- --action-button-icon-pressed-bg: transparent;
105
- --action-button-icon-pressed-border: transparent;
106
- --action-button-icon-pressed-text: var(--function-default-outline-icon);
107
-
108
- /* Active State */
109
- --action-button-icon-active-bg: transparent;
110
- --action-button-icon-active-border: transparent;
111
- --action-button-icon-active-text: var(--function-active-solid);
112
-
113
- /* Active Hover State */
114
- --action-button-icon-active-hover-bg: var(--function-active-hover-bg);
115
- --action-button-icon-active-hover-border: transparent;
116
- --action-button-icon-active-hover-text: var(--function-active-hover);
117
-
118
- /* Active Pressed State */
119
- --action-button-icon-active-pressed-bg: transparent;
120
- --action-button-icon-active-pressed-border: transparent;
121
- --action-button-icon-active-pressed-text: var(--function-active-solid);
122
-
123
- /* Disabled State */
124
- --action-button-icon-disabled-bg: transparent;
125
- --action-button-icon-disabled-border: transparent;
126
- --action-button-icon-disabled-text: var(--state-color-disable-outline);
127
- }