@infonomic/uikit 3.0.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/dist/components/dropdown/dropdown_module.css +8 -13
  2. package/dist/components/{input → forms}/@types/checkbox.d.ts.map +1 -1
  3. package/dist/components/{input → forms}/@types/input.d.ts.map +1 -1
  4. package/dist/components/forms/calendar.d.ts.map +1 -0
  5. package/dist/components/forms/calendar.module.js +45 -0
  6. package/dist/components/{calendar → forms}/calendar_module.css +44 -44
  7. package/dist/components/{input → forms}/checkbox-group.d.ts.map +1 -1
  8. package/dist/components/{input → forms}/checkbox.d.ts.map +1 -1
  9. package/dist/components/forms/checkbox.module.js +25 -0
  10. package/dist/components/{input → forms}/checkbox_module.css +29 -29
  11. package/dist/components/{input → forms}/error-text.d.ts.map +1 -1
  12. package/dist/components/{input → forms}/error-text.module.js +1 -1
  13. package/dist/components/{input → forms}/error-text_module.css +2 -2
  14. package/dist/components/{input → forms}/errors.d.ts.map +1 -1
  15. package/dist/components/{input → forms}/help-text.d.ts.map +1 -1
  16. package/dist/components/{input → forms}/help-text.module.js +1 -1
  17. package/dist/components/forms/help-text_module.css +9 -0
  18. package/dist/components/{input → forms}/input-adornment.d.ts.map +1 -1
  19. package/dist/components/{input → forms}/input-adornment.module.js +3 -3
  20. package/dist/components/{input → forms}/input-adornment_module.css +3 -3
  21. package/dist/components/{input → forms}/input.d.ts.map +1 -1
  22. package/dist/components/forms/input.module.js +27 -0
  23. package/dist/components/{input → forms}/input_module.css +35 -35
  24. package/dist/components/{input → forms}/label.d.ts.map +1 -1
  25. package/dist/components/{input → forms}/label.module.js +2 -2
  26. package/dist/components/{input → forms}/label_module.css +4 -4
  27. package/dist/components/{input → forms}/radio-group.d.ts.map +1 -1
  28. package/dist/components/forms/radio-group.module.js +20 -0
  29. package/dist/components/{input → forms}/radio-group_module.css +23 -23
  30. package/dist/components/{input → forms}/select.d.ts.map +1 -1
  31. package/dist/components/forms/select.module.js +13 -0
  32. package/dist/components/{input → forms}/select_module.css +18 -25
  33. package/dist/components/{input → forms}/text-area.d.ts.map +1 -1
  34. package/dist/components/{input → forms}/text-area.module.js +2 -2
  35. package/dist/components/{input → forms}/text-area_module.css +1 -1
  36. package/dist/components/{input → forms}/utils.d.ts.map +1 -1
  37. package/dist/components/pager/pagination_module.css +7 -18
  38. package/dist/components/scroll-area/scroll-area_module.css +4 -20
  39. package/dist/components/tooltip/tooltip_module.css +4 -14
  40. package/dist/icons/activity-icon.js +1 -1
  41. package/dist/icons/calendar-icon.js +1 -1
  42. package/dist/icons/check-icon.js +1 -1
  43. package/dist/icons/chevron-down-icon.js +1 -1
  44. package/dist/icons/chevron-left-double-icon.js +1 -1
  45. package/dist/icons/chevron-left-icon.js +1 -1
  46. package/dist/icons/chevron-right-double-icon.js +1 -1
  47. package/dist/icons/chevron-right-icon.js +1 -1
  48. package/dist/icons/chevrons-up-down.js +1 -1
  49. package/dist/icons/dashboard-icon.js +1 -1
  50. package/dist/icons/document-icon.js +1 -1
  51. package/dist/icons/download-icon.js +1 -1
  52. package/dist/icons/edit-icon.js +1 -1
  53. package/dist/icons/ellipsis-icon.js +1 -1
  54. package/dist/icons/email-icon.js +1 -1
  55. package/dist/icons/github-icon.js +1 -1
  56. package/dist/icons/globe-icon.js +1 -1
  57. package/dist/icons/gripper-vertical-icon.js +1 -1
  58. package/dist/icons/history-icon.js +1 -1
  59. package/dist/icons/home-icon.js +1 -1
  60. package/dist/icons/light-icon.js +1 -1
  61. package/dist/icons/moon-icon.js +1 -1
  62. package/dist/icons/plus-icon.js +1 -1
  63. package/dist/icons/refresh-icon.js +1 -1
  64. package/dist/icons/return-icon.js +1 -1
  65. package/dist/icons/roles-icon.js +1 -1
  66. package/dist/icons/search-icon.js +1 -1
  67. package/dist/icons/settings-gear-icon.js +1 -1
  68. package/dist/icons/settings-sliders-icon.js +1 -1
  69. package/dist/icons/sign-out-icon.js +1 -1
  70. package/dist/icons/stopwatch-icon.js +1 -1
  71. package/dist/icons/user-icon.js +1 -1
  72. package/dist/icons/users-icon.js +1 -1
  73. package/dist/icons/wallet-icon.js +1 -1
  74. package/dist/react.d.ts +13 -13
  75. package/dist/react.d.ts.map +1 -1
  76. package/dist/react.js +13 -13
  77. package/dist/styles/styles.css +1 -1
  78. package/dist/widgets/datepicker/datepicker.d.ts +1 -1
  79. package/dist/widgets/datepicker/datepicker.d.ts.map +1 -1
  80. package/dist/widgets/datepicker/datepicker.js +3 -2
  81. package/dist/widgets/datepicker/datepicker_module.css +2 -2
  82. package/dist/widgets/drawer/drawer_module.css +1 -5
  83. package/dist/widgets/modal/modal_module.css +1 -5
  84. package/dist/widgets/search/search.d.ts +1 -1
  85. package/dist/widgets/search/search.d.ts.map +1 -1
  86. package/dist/widgets/search/search.js +2 -1
  87. package/package.json +1 -1
  88. package/src/astro.d.ts +5 -5
  89. package/src/astro.js +5 -5
  90. package/src/components/dropdown/dropdown.module.css +9 -24
  91. package/src/components/{calendar → forms}/calendar.stories.tsx +1 -1
  92. package/src/components/{input → forms}/checkbox.stories.tsx +1 -1
  93. package/src/components/forms/help-text.module.css +8 -0
  94. package/src/components/{input → forms}/input.stories.tsx +1 -1
  95. package/src/components/{input → forms}/radio-group.stories.tsx +2 -2
  96. package/src/components/{input → forms}/select.module.css +10 -17
  97. package/src/components/{input → forms}/select.stories.tsx +1 -1
  98. package/src/components/{input → forms}/text-area.stories.tsx +1 -1
  99. package/src/components/{input → forms}/utils.ts +2 -2
  100. package/src/components/pager/pagination.module.css +7 -23
  101. package/src/components/scroll-area/scroll-area.module.css +4 -20
  102. package/src/components/tooltip/tooltip.module.css +6 -16
  103. package/src/icons/activity-icon.tsx +1 -1
  104. package/src/icons/calendar-icon.tsx +1 -1
  105. package/src/icons/check-icon.tsx +1 -1
  106. package/src/icons/chevron-down-icon.tsx +1 -1
  107. package/src/icons/chevron-left-double-icon.tsx +1 -1
  108. package/src/icons/chevron-left-icon.tsx +1 -1
  109. package/src/icons/chevron-right-double-icon.tsx +1 -1
  110. package/src/icons/chevron-right-icon.tsx +1 -1
  111. package/src/icons/chevrons-up-down.tsx +1 -1
  112. package/src/icons/close-icon.astro +1 -1
  113. package/src/icons/dashboard-icon.tsx +1 -1
  114. package/src/icons/document-icon.tsx +1 -1
  115. package/src/icons/download-icon.tsx +1 -1
  116. package/src/icons/edit-icon.tsx +1 -1
  117. package/src/icons/ellipsis-icon.tsx +1 -1
  118. package/src/icons/email-icon.tsx +1 -1
  119. package/src/icons/github-icon.tsx +1 -1
  120. package/src/icons/globe-icon.tsx +1 -1
  121. package/src/icons/gripper-vertical-icon.tsx +1 -1
  122. package/src/icons/history-icon.tsx +1 -1
  123. package/src/icons/home-icon.tsx +1 -1
  124. package/src/icons/light-icon.astro +1 -1
  125. package/src/icons/light-icon.tsx +1 -1
  126. package/src/icons/moon-icon.astro +1 -1
  127. package/src/icons/moon-icon.tsx +1 -1
  128. package/src/icons/plus-icon.tsx +1 -1
  129. package/src/icons/refresh-icon.tsx +1 -1
  130. package/src/icons/return-icon.tsx +1 -1
  131. package/src/icons/roles-icon.tsx +1 -1
  132. package/src/icons/search-icon.astro +1 -1
  133. package/src/icons/search-icon.tsx +1 -1
  134. package/src/icons/settings-gear-icon.tsx +1 -1
  135. package/src/icons/settings-sliders-icon.tsx +1 -1
  136. package/src/icons/sign-out-icon.tsx +1 -1
  137. package/src/icons/stopwatch-icon.tsx +1 -1
  138. package/src/icons/user-icon.tsx +1 -1
  139. package/src/icons/users-icon.tsx +1 -1
  140. package/src/icons/wallet-icon.tsx +1 -1
  141. package/src/react.ts +13 -13
  142. package/src/styles/theme/tokens.css +70 -0
  143. package/src/widgets/datepicker/datepicker.module.css +2 -2
  144. package/src/widgets/datepicker/datepicker.tsx +4 -3
  145. package/src/widgets/drawer/drawer.module.css +1 -5
  146. package/src/widgets/modal/modal.module.css +1 -5
  147. package/src/widgets/search/search.tsx +3 -2
  148. package/dist/components/calendar/calendar.d.ts.map +0 -1
  149. package/dist/components/calendar/calendar.module.js +0 -45
  150. package/dist/components/input/checkbox.module.js +0 -25
  151. package/dist/components/input/help-text_module.css +0 -13
  152. package/dist/components/input/index.d.ts +0 -9
  153. package/dist/components/input/index.d.ts.map +0 -1
  154. package/dist/components/input/input.module.js +0 -27
  155. package/dist/components/input/radio-group.module.js +0 -20
  156. package/dist/components/input/select.module.js +0 -13
  157. package/src/components/input/help-text.module.css +0 -19
  158. /package/dist/components/{input → forms}/@types/checkbox.d.ts +0 -0
  159. /package/dist/components/{input → forms}/@types/checkbox.js +0 -0
  160. /package/dist/components/{input → forms}/@types/input.d.ts +0 -0
  161. /package/dist/components/{input → forms}/@types/input.js +0 -0
  162. /package/dist/components/{calendar → forms}/calendar.d.ts +0 -0
  163. /package/dist/components/{calendar → forms}/calendar.js +0 -0
  164. /package/dist/components/{input → forms}/checkbox-group.d.ts +0 -0
  165. /package/dist/components/{input → forms}/checkbox-group.js +0 -0
  166. /package/dist/components/{input → forms}/checkbox.d.ts +0 -0
  167. /package/dist/components/{input → forms}/checkbox.js +0 -0
  168. /package/dist/components/{input → forms}/error-text.d.ts +0 -0
  169. /package/dist/components/{input → forms}/error-text.js +0 -0
  170. /package/dist/components/{input → forms}/errors.d.ts +0 -0
  171. /package/dist/components/{input → forms}/errors.js +0 -0
  172. /package/dist/components/{input → forms}/help-text.d.ts +0 -0
  173. /package/dist/components/{input → forms}/help-text.js +0 -0
  174. /package/dist/components/{input → forms}/index.js +0 -0
  175. /package/dist/components/{input → forms}/input-adornment.d.ts +0 -0
  176. /package/dist/components/{input → forms}/input-adornment.js +0 -0
  177. /package/dist/components/{input → forms}/input.d.ts +0 -0
  178. /package/dist/components/{input → forms}/input.js +0 -0
  179. /package/dist/components/{input → forms}/label.d.ts +0 -0
  180. /package/dist/components/{input → forms}/label.js +0 -0
  181. /package/dist/components/{input → forms}/radio-group.d.ts +0 -0
  182. /package/dist/components/{input → forms}/radio-group.js +0 -0
  183. /package/dist/components/{input → forms}/select.d.ts +0 -0
  184. /package/dist/components/{input → forms}/select.js +0 -0
  185. /package/dist/components/{input → forms}/text-area.d.ts +0 -0
  186. /package/dist/components/{input → forms}/text-area.js +0 -0
  187. /package/dist/components/{input → forms}/utils.d.ts +0 -0
  188. /package/dist/components/{input → forms}/utils.js +0 -0
  189. /package/src/components/{input → forms}/@types/checkbox.ts +0 -0
  190. /package/src/components/{input → forms}/@types/input.ts +0 -0
  191. /package/src/components/{calendar → forms}/calendar.module.css +0 -0
  192. /package/src/components/{calendar → forms}/calendar.tsx +0 -0
  193. /package/src/components/{input → forms}/checkbox-group.tsx +0 -0
  194. /package/src/components/{input → forms}/checkbox.module.css +0 -0
  195. /package/src/components/{input → forms}/checkbox.tsx +0 -0
  196. /package/src/components/{input → forms}/error-text.astro +0 -0
  197. /package/src/components/{input → forms}/error-text.module.css +0 -0
  198. /package/src/components/{input → forms}/error-text.tsx +0 -0
  199. /package/src/components/{input → forms}/errors.tsx +0 -0
  200. /package/src/components/{input → forms}/help-text.astro +0 -0
  201. /package/src/components/{input → forms}/help-text.tsx +0 -0
  202. /package/src/components/{input → forms}/index.tsx +0 -0
  203. /package/src/components/{input → forms}/input-adornment.astro +0 -0
  204. /package/src/components/{input → forms}/input-adornment.module.css +0 -0
  205. /package/src/components/{input → forms}/input-adornment.tsx +0 -0
  206. /package/src/components/{input → forms}/input.astro +0 -0
  207. /package/src/components/{input → forms}/input.module.css +0 -0
  208. /package/src/components/{input → forms}/input.tsx +0 -0
  209. /package/src/components/{input → forms}/label.astro +0 -0
  210. /package/src/components/{input → forms}/label.module.css +0 -0
  211. /package/src/components/{input → forms}/label.tsx +0 -0
  212. /package/src/components/{input → forms}/radio-group.module.css +0 -0
  213. /package/src/components/{input → forms}/radio-group.tsx +0 -0
  214. /package/src/components/{input → forms}/select.tsx +0 -0
  215. /package/src/components/{input → forms}/text-area.module.css +0 -0
  216. /package/src/components/{input → forms}/text-area.tsx +0 -0
@@ -10,7 +10,7 @@ const meta: Meta<typeof CalendarComponent> = {
10
10
  * See https://storybook.js.org/docs/react/configure/overview#configure-story-loading
11
11
  * to learn how to generate automatic titles
12
12
  */
13
- title: 'Components/Input/Calendar',
13
+ title: 'Components/Forms/Calendar',
14
14
  component: CalendarComponent,
15
15
  }
16
16
 
@@ -5,7 +5,7 @@ import { useState } from 'react'
5
5
  import { Checkbox } from './checkbox.js'
6
6
 
7
7
  export default {
8
- title: 'Components/Input/Checkbox',
8
+ title: 'Components/Forms/Checkbox',
9
9
  component: Checkbox,
10
10
  argTypes: {},
11
11
  }
@@ -0,0 +1,8 @@
1
+ @layer infonomic-base, infonomic-utilities, infonomic-theme, infonomic-typography, infonomic-components;
2
+
3
+ @layer infonomic-components {
4
+ .text {
5
+ font-size: 0.875rem;
6
+ color: var(--muted)
7
+ }
8
+ }
@@ -9,7 +9,7 @@ import { size, variant } from './@types/input.js'
9
9
  import { Input, InputAdornment } from './index.js'
10
10
 
11
11
  export default {
12
- title: 'Components/Input/Text',
12
+ title: 'Components/Forms/Text',
13
13
  component: Input,
14
14
  argTypes: {},
15
15
  }
@@ -8,7 +8,7 @@ const meta: Meta = {
8
8
  * See https://storybook.js.org/docs/react/configure/overview#configure-story-loading
9
9
  * to learn how to generate automatic titles
10
10
  */
11
- title: 'Components/Input',
11
+ title: 'Components/Forms/RadioGroup',
12
12
  component: RadioGroupComponent,
13
13
  }
14
14
 
@@ -32,7 +32,7 @@ const values3: RadioGroupValue[] = [
32
32
  { id: 'rg9', label: 'Three', value: '3' },
33
33
  ]
34
34
 
35
- export const RadioGroup = (): React.JSX.Element => {
35
+ export const Default = (): React.JSX.Element => {
36
36
  return (
37
37
  <>
38
38
  <div style={{ maxWidth: '600px', margin: '2rem auto' }}>
@@ -8,17 +8,13 @@
8
8
  .viewport {
9
9
  z-index: 50;
10
10
  margin-top: 2px;
11
- border: 1px solid var(--border-color);
11
+ border: 1px solid var(--surface-panel-border);
12
12
  box-shadow: var(--shadow-md);
13
13
  border-radius: var(--border-radius-md);
14
- background-color: var(--background);
14
+ background-color: var(--surface-panel-elevated);
15
15
  padding: 6px;
16
16
  }
17
17
 
18
- .viewport:is(:global(.dark) *) {
19
- background: var(--canvas-800);
20
- }
21
-
22
18
  .group {
23
19
  z-index: 50;
24
20
  }
@@ -27,22 +23,19 @@
27
23
  display: flex;
28
24
  align-items: center;
29
25
  justify-content: center;
30
- color: var(--text);
31
- border: 1px solid var(--border-color);
26
+ color: var(--surface-item-text);
27
+ border: 1px solid var(--surface-panel-border);
32
28
  box-shadow: var(--shadow-md);
33
29
  border-radius: var(--border-radius-md);
34
- background-color: var(--background);
30
+ background-color: var(--surface-panel-elevated);
35
31
  padding: 2px;
36
32
  }
37
33
 
38
- .scroll-button:is(:global(.dark) *) {
39
- background: var(--canvas-800);
40
- }
41
-
42
34
  .select-item {
43
35
  position: relative;
44
36
  user-select: none;
45
- color: var(--text);
37
+ color: var(--surface-item-text);
38
+ background-color: var(--surface-item);
46
39
  font-size: 1rem;
47
40
  line-height: 1;
48
41
  padding-right: 35px;
@@ -54,14 +47,14 @@
54
47
  }
55
48
 
56
49
  .select-item[data-disabled] {
57
- color: var(--disabled-text-color, #e0e0e0);
50
+ color: var(--surface-item-text-disabled);
58
51
  pointer-events: none;
59
52
  }
60
53
 
61
54
  .select-item[data-highlighted] {
62
55
  outline: none;
63
- background-color: var(--highlight-bg-color, #e0e0e0);
64
- color: var(--highlight-text-color, #000000);
56
+ background-color: var(--surface-item-hover);
57
+ color: var(--surface-item-text-hover);
65
58
  }
66
59
 
67
60
  .select-item-indicator {
@@ -4,7 +4,7 @@ import type React from 'react'
4
4
  import { Select, SelectItem, type SelectValue } from './select.js'
5
5
 
6
6
  export default {
7
- title: 'Components/Input/Select',
7
+ title: 'Components/Forms/Select',
8
8
  component: Select,
9
9
  argTypes: {},
10
10
  }
@@ -5,7 +5,7 @@ import { useState } from 'react'
5
5
  import { TextArea } from './index.js'
6
6
 
7
7
  export default {
8
- title: 'Components/Input/TextArea',
8
+ title: 'Components/Forms/TextArea',
9
9
  component: TextArea,
10
10
  argTypes: {},
11
11
  }
@@ -1,6 +1,6 @@
1
- import type { ZodType, z } from 'zod'
1
+ import type { z } from 'zod'
2
2
 
3
- type FormattedErrors = z.inferFormattedError<ZodType<any, any, any>>
3
+ type FormattedErrors = z.ZodFormattedError<any>
4
4
 
5
5
  export function hasErrors(name: string, clientErrors: any, serverErrors: any): boolean {
6
6
  return Boolean(serverErrors?.[name as keyof typeof serverErrors] ?? clientErrors[name])
@@ -72,9 +72,9 @@
72
72
  justify-content: center;
73
73
  height: 32px;
74
74
  line-height: 1;
75
- border: 1px solid var(--primary-500);
76
- background-color: white;
77
- color: var(--gray-900);
75
+ border: 1px solid var(--stroke-primary);
76
+ background-color: var(--background);
77
+ color: var(--foreground);
78
78
  font-size: var(--font-size-sm);
79
79
  }
80
80
 
@@ -96,8 +96,8 @@
96
96
  .number-button:hover,
97
97
  .previous-button:hover,
98
98
  .first-button:hover {
99
- color: white;
100
- background-color: var(--primary-600);
99
+ color: var(--text-on-primary);
100
+ background-color: var(--fill-primary-strong);
101
101
  }
102
102
 
103
103
  .last-button:disabled,
@@ -114,8 +114,8 @@
114
114
  }
115
115
 
116
116
  .number-button.active {
117
- background-color: var(--primary-600);
118
- color: white;
117
+ color: var(--text-on-primary);
118
+ background-color: var(--fill-primary-strong);
119
119
  }
120
120
 
121
121
 
@@ -137,7 +137,6 @@
137
137
  * a root html class accordingly
138
138
  */
139
139
  :global(.dark) {
140
-
141
140
  .ellipses,
142
141
  .number-button,
143
142
  .next-button,
@@ -145,21 +144,6 @@
145
144
  .previous-button,
146
145
  .first-button {
147
146
  border-color: var(--canvas-700);
148
- background-color: var(--canvas-800);
149
- color: var(--gray-200);
150
- }
151
-
152
- .number-button:hover,
153
- .next-button:hover,
154
- .last-button:hover,
155
- .previous-button:hover,
156
- .first-button:hover {
157
- background-color: var(--canvas-700);
158
- }
159
-
160
- .number-button.active {
161
- background-color: var(--primary-500);
162
- color: white;
163
147
  }
164
148
  }
165
149
  }
@@ -21,11 +21,11 @@
21
21
  /* disable browser handling of all panning and zooming gestures on touch devices */
22
22
  touch-action: none;
23
23
  padding: 2px;
24
- background: var(--gray-50);
24
+ background: var(--surface-panel-scrollbar);
25
25
  transition: background 160ms ease-out;
26
26
 
27
27
  &:hover {
28
- background: var(--gray-50);
28
+ background: var(--surface-panel-scrollbar);
29
29
  }
30
30
 
31
31
  &[data-orientation="vertical"] {
@@ -38,17 +38,9 @@
38
38
  }
39
39
  }
40
40
 
41
- .scrollbar:is(:global(.dark) *) {
42
- background: var(--canvas-700);
43
-
44
- &:hover {
45
- background: var(--canvas-700);
46
- }
47
- }
48
-
49
41
  .thumb {
50
42
  flex: 1;
51
- background: var(--primary-100);
43
+ background: var(--surface-panel-scrollbar-thumb);
52
44
  border-radius: var(--border-radius-sm);
53
45
  position: relative;
54
46
 
@@ -66,15 +58,7 @@
66
58
  }
67
59
  }
68
60
 
69
- .thumb:is(:global(.dark) *) {
70
- background: var(--primary-400);
71
- }
72
-
73
61
  .corner {
74
- background: var(--gray-50);
75
- }
76
-
77
- .corner:is(:global(.dark) *) {
78
- background: var(--canvas-700);
62
+ background: var(--surface-panel-scrollbar);
79
63
  }
80
64
  }
@@ -4,26 +4,20 @@
4
4
  .tooltip {
5
5
  font-size: 0.75rem;
6
6
  line-height: 1;
7
- color: var(--canvas-900);
7
+ color: var(--surface-item-text);
8
8
  user-select: none;
9
9
  padding: 0.625rem 1rem;
10
10
  border-radius: var(--border-radius-sm);
11
11
  border-width: var(--border-width-thin);
12
12
  border-style: var(--border-style-solid);
13
- background-color: var(--gray-25);
14
- border-color: var(--gray-100);
13
+ background-color: var(--surface-panel-elevated);
14
+ border-color: var(--surface-panel-border);
15
15
  box-shadow: var(--shadow-xs);
16
16
  will-change: transform, opacity;
17
17
  animation: var(--transition-normal);
18
18
  }
19
19
 
20
- :global(.dark) {
21
- .tooltip {
22
- color: var(--gray-50);
23
- border-color: var(--canvas-700);
24
- background-color: var(--canvas-800);
25
- }
26
- }
20
+ /* Dark mode handled by semantic tokens in theme layer */
27
21
 
28
22
  .tooltip[data-state="delayed-open"][data-side="top"] :global {
29
23
  animation-name: slideDownAndFade;
@@ -44,12 +38,8 @@
44
38
  }
45
39
 
46
40
  .tooltip-arrow {
47
- fill: var(--gray-100)
41
+ fill: var(--surface-panel-border);
48
42
  }
49
43
 
50
- :global(.dark) {
51
- .tooltip-arrow {
52
- fill: var(--canvas-700);
53
- }
54
- }
44
+ /* Dark mode handled by semantic tokens in theme layer */
55
45
  }
@@ -10,7 +10,7 @@ export const ActivityIcon = ({
10
10
  svgClassName,
11
11
  ...rest
12
12
  }: IconProps): React.JSX.Element => {
13
- const applied = cx(styles['fill-none'], styles['stroke-contrast'], svgClassName)
13
+ const applied = cx(styles['fill-none'], styles['stroke-current'], svgClassName)
14
14
 
15
15
  return (
16
16
  <IconElement className={cx('activity-icon', className)} {...rest}>
@@ -13,7 +13,7 @@ export const CalendarIcon = ({
13
13
  svgClassName,
14
14
  ...rest
15
15
  }: IconProps): React.JSX.Element => {
16
- const applied = cx(styles['fill-contrast'], svgClassName)
16
+ const applied = cx(styles['fill-current'], svgClassName)
17
17
 
18
18
  return (
19
19
  <IconElement className={cx('calendar-icon', className)} {...rest}>
@@ -9,7 +9,7 @@ import type { IconProps } from './types/icon.js'
9
9
  import styles from './icons.module.css'
10
10
 
11
11
  export const CheckIcon = ({ className, svgClassName, ...rest }: IconProps): React.JSX.Element => {
12
- const applied = cx(styles['fill-contrast'], svgClassName)
12
+ const applied = cx(styles['fill-current'], svgClassName)
13
13
 
14
14
  return (
15
15
  <IconElement className={cx('check-icon', className)} {...rest}>
@@ -13,7 +13,7 @@ export const ChevronDownIcon = ({
13
13
  svgClassName,
14
14
  ...rest
15
15
  }: IconProps): React.JSX.Element => {
16
- const applied = cx(styles['fill-contrast'], svgClassName)
16
+ const applied = cx(styles['fill-current'], svgClassName)
17
17
 
18
18
  return (
19
19
  <IconElement className={cx('chevron-down-icon', className)} {...rest}>
@@ -31,7 +31,7 @@ export const ChevronLeftDoubleIcon = ({
31
31
  svgClassName,
32
32
  ...rest
33
33
  }: IconProps): React.JSX.Element => {
34
- const applied = cx(styles['fill-contrast'], svgClassName)
34
+ const applied = cx(styles['fill-current'], svgClassName)
35
35
 
36
36
  return (
37
37
  <IconElement className={cx('chevron-left-double-icon', className)} {...rest}>
@@ -31,7 +31,7 @@ export const ChevronLeftIcon = ({
31
31
  svgClassName,
32
32
  ...rest
33
33
  }: IconProps): React.JSX.Element => {
34
- const applied = cx(styles['fill-contrast'], svgClassName)
34
+ const applied = cx(styles['fill-current'], svgClassName)
35
35
 
36
36
  return (
37
37
  <IconElement className={cx('chevron-left-icon', className)} {...rest}>
@@ -31,7 +31,7 @@ export const ChevronRightDoubleIcon = ({
31
31
  svgClassName,
32
32
  ...rest
33
33
  }: IconProps): React.JSX.Element => {
34
- const applied = cx(styles['fill-contrast'], svgClassName)
34
+ const applied = cx(styles['fill-current'], svgClassName)
35
35
 
36
36
  return (
37
37
  <IconElement className={cx('chevron-right-double-icon', className)} {...rest}>
@@ -31,7 +31,7 @@ export const ChevronRightIcon = ({
31
31
  svgClassName,
32
32
  ...rest
33
33
  }: IconProps): React.JSX.Element => {
34
- const applied = cx(styles['fill-contrast'], svgClassName)
34
+ const applied = cx(styles['fill-current'], svgClassName)
35
35
 
36
36
  return (
37
37
  <IconElement className={cx('chevron-right-icon', className)} {...rest}>
@@ -10,7 +10,7 @@ export const ChevronsUpDown = ({
10
10
  svgClassName,
11
11
  ...rest
12
12
  }: IconProps): React.JSX.Element => {
13
- const applied = cx(styles['stroke-contrast'], svgClassName)
13
+ const applied = cx(styles['stroke-current'], svgClassName)
14
14
 
15
15
  return (
16
16
  <IconElement className={cx('chevrons-up-down', className)} {...rest}>
@@ -25,7 +25,7 @@ const { class: className, width, height, svgClass: svgClassName, menuItem, ...re
25
25
  <svg
26
26
  xmlns="http://www.w3.org/2000/svg"
27
27
  viewBox="0 0 15 15"
28
- class:list={[styles['fill-contrast'], svgClassName]}
28
+ class:list={[styles['fill-current'], svgClassName]}
29
29
  focusable="false"
30
30
  aria-hidden="true"
31
31
  {...rest}
@@ -13,7 +13,7 @@ export const DashboardIcon = ({
13
13
  svgClassName,
14
14
  ...rest
15
15
  }: IconProps): React.JSX.Element => {
16
- const applied = cx(styles['fill-none'], styles['stroke-contrast'], svgClassName)
16
+ const applied = cx(styles['fill-none'], styles['stroke-current'], svgClassName)
17
17
 
18
18
  return (
19
19
  <IconElement className={cx('dashboard-icon', className)} {...rest}>
@@ -13,7 +13,7 @@ export const DocumentIcon = ({
13
13
  svgClassName,
14
14
  ...rest
15
15
  }: IconProps): React.JSX.Element => {
16
- const applied = cx(styles['fill-none'], styles['stroke-contrast'], svgClassName)
16
+ const applied = cx(styles['fill-none'], styles['stroke-current'], svgClassName)
17
17
 
18
18
  return (
19
19
  <IconElement className={cx('document-icon', className)} {...rest}>
@@ -13,7 +13,7 @@ export const DownloadIcon = ({
13
13
  svgClassName,
14
14
  ...rest
15
15
  }: IconProps): React.JSX.Element => {
16
- const applied = cx(styles['fill-contrast'], svgClassName)
16
+ const applied = cx(styles['fill-current'], svgClassName)
17
17
 
18
18
  return (
19
19
  <IconElement className={cx('download-icon', className)} {...rest}>
@@ -9,7 +9,7 @@ import type { IconProps } from './types/icon.js'
9
9
  import styles from './icons.module.css'
10
10
 
11
11
  export const EditIcon = ({ className, svgClassName, ...rest }: IconProps): React.JSX.Element => {
12
- const applied = cx(styles['fill-none'], styles['stroke-contrast'], svgClassName)
12
+ const applied = cx(styles['fill-none'], styles['stroke-current'], svgClassName)
13
13
 
14
14
  return (
15
15
  <IconElement className={cx('edit-icon', className)} {...rest}>
@@ -13,7 +13,7 @@ export const EllipsisIcon = ({
13
13
  svgClassName,
14
14
  ...rest
15
15
  }: IconProps): React.JSX.Element => {
16
- const applied = cx(styles['fill-none'], styles['stroke-contrast'], svgClassName)
16
+ const applied = cx(styles['fill-none'], styles['stroke-current'], svgClassName)
17
17
 
18
18
  return (
19
19
  <IconElement className={cx('ellipsis-icon', className)} {...rest}>
@@ -9,7 +9,7 @@ import type { IconProps } from './types/icon.js'
9
9
  import styles from './icons.module.css'
10
10
 
11
11
  export const EmailIcon = ({ className, svgClassName, ...rest }: IconProps): React.JSX.Element => {
12
- const applied = cx(styles['fill-none'], styles['stroke-contrast'], svgClassName)
12
+ const applied = cx(styles['fill-none'], styles['stroke-current'], svgClassName)
13
13
 
14
14
  return (
15
15
  <IconElement className={cx('email-icon', className)} {...rest}>
@@ -6,7 +6,7 @@ import styles from './icons.module.css'
6
6
  import type { IconProps } from './types/icon.js'
7
7
 
8
8
  export const GithubIcon = ({ className, svgClassName, ...rest }: IconProps): React.JSX.Element => {
9
- const applied = cx(styles['fill-contrast'], svgClassName)
9
+ const applied = cx(styles['fill-current'], svgClassName)
10
10
 
11
11
  return (
12
12
  <IconElement className={cx('github-icon', className)} {...rest}>
@@ -9,7 +9,7 @@ import type { IconProps } from './types/icon.js'
9
9
  import styles from './icons.module.css'
10
10
 
11
11
  export const GlobeIcon = ({ className, svgClassName, ...rest }: IconProps): React.JSX.Element => {
12
- const applied = cx(styles['fill-contrast'], styles['stroke-none'], svgClassName)
12
+ const applied = cx(styles['fill-current'], styles['stroke-none'], svgClassName)
13
13
 
14
14
  return (
15
15
  <IconElement className={cx('globe-icon flex items-center justify-center', className)} {...rest}>
@@ -13,7 +13,7 @@ export const GripperVerticalIcon = ({
13
13
  svgClassName,
14
14
  ...rest
15
15
  }: IconProps): React.JSX.Element => {
16
- const applied = cx(styles['fill-none'], styles['stroke-contrast'], svgClassName)
16
+ const applied = cx(styles['fill-none'], styles['stroke-current'], svgClassName)
17
17
 
18
18
  return (
19
19
  <IconElement className={cx('gripper-vertical-icon', className)} {...rest}>
@@ -6,7 +6,7 @@ import styles from './icons.module.css'
6
6
  import type { IconProps } from './types/icon.js'
7
7
 
8
8
  export const HistoryIcon = ({ className, svgClassName, ...rest }: IconProps): React.JSX.Element => {
9
- const applied = cx(styles['stroke-contrast'], svgClassName)
9
+ const applied = cx(styles['stroke-current'], svgClassName)
10
10
 
11
11
  return (
12
12
  <IconElement className={cx('history-icon', className)} {...rest}>
@@ -9,7 +9,7 @@ import type { IconProps } from './types/icon.js'
9
9
  import styles from './icons.module.css'
10
10
 
11
11
  export const HomeIcon = ({ className, svgClassName, ...rest }: IconProps): React.JSX.Element => {
12
- const applied = cx(styles['fill-none'], styles['stroke-contrast'], svgClassName)
12
+ const applied = cx(styles['fill-none'], styles['stroke-current'], svgClassName)
13
13
 
14
14
  return (
15
15
  <IconElement className={cx('home-icon', className)} {...rest}>
@@ -25,7 +25,7 @@ const { class: className, width, height, svgClass: svgClassName, menuItem, ...re
25
25
  <svg
26
26
  xmlns="http://www.w3.org/2000/svg"
27
27
  viewBox="0 0 24 24"
28
- class:list={[styles['fill-contrast'], styles['stroke-none'], svgClassName]}
28
+ class:list={[styles['fill-current'], styles['stroke-none'], svgClassName]}
29
29
  focusable="false"
30
30
  aria-hidden="true"
31
31
  >
@@ -9,7 +9,7 @@ import type { IconProps } from './types/icon.js'
9
9
  import styles from './icons.module.css'
10
10
 
11
11
  export const LightIcon = ({ className, svgClassName, ...rest }: IconProps): React.JSX.Element => {
12
- const applied = cx(styles['fill-contrast'], styles['stroke-none'], svgClassName)
12
+ const applied = cx(styles['fill-current'], styles['stroke-none'], svgClassName)
13
13
 
14
14
  return (
15
15
  <IconElement className={cx('light-icon', className)} {...rest}>
@@ -25,7 +25,7 @@ const { class: className, width, height, svgClass: svgClassName, menuItem, ...re
25
25
  <svg
26
26
  xmlns="http://www.w3.org/2000/svg"
27
27
  viewBox="0 0 24 24"
28
- class:list={[styles['fill-none'], styles['stroke-contrast'], svgClassName]}
28
+ class:list={[styles['fill-none'], styles['stroke-current'], svgClassName]}
29
29
  focusable="false"
30
30
  aria-hidden="true"
31
31
  stroke-linecap="round"
@@ -9,7 +9,7 @@ import type { IconProps } from './types/icon.js'
9
9
  import styles from './icons.module.css'
10
10
 
11
11
  export const MoonIcon = ({ className, svgClassName, ...rest }: IconProps): React.JSX.Element => {
12
- const applied = cx(styles['fill-none'], styles['stroke-contrast'], svgClassName)
12
+ const applied = cx(styles['fill-none'], styles['stroke-current'], svgClassName)
13
13
 
14
14
  return (
15
15
  <IconElement className={cx('moon-icon', className)} {...rest}>
@@ -9,7 +9,7 @@ import type { IconProps } from './types/icon.js'
9
9
  import styles from './icons.module.css'
10
10
 
11
11
  export const PlusIcon = ({ className, svgClassName, ...rest }: IconProps): React.JSX.Element => {
12
- const applied = cx(styles['fill-none'], styles['stroke-contrast'], svgClassName)
12
+ const applied = cx(styles['fill-none'], styles['stroke-current'], svgClassName)
13
13
 
14
14
  return (
15
15
  <IconElement className={cx('plus-icon', className)} {...rest}>
@@ -9,7 +9,7 @@ import type { IconProps } from './types/icon.js'
9
9
  import styles from './icons.module.css'
10
10
 
11
11
  export const RefreshIcon = ({ className, svgClassName, ...rest }: IconProps): React.JSX.Element => {
12
- const applied = cx(styles['fill-none'], styles['stroke-contrast'], svgClassName)
12
+ const applied = cx(styles['fill-none'], styles['stroke-current'], svgClassName)
13
13
 
14
14
  return (
15
15
  <IconElement className={cx('refresh-icon', className)} {...rest}>
@@ -9,7 +9,7 @@ import type { IconProps } from './types/icon.js'
9
9
  import styles from './icons.module.css'
10
10
 
11
11
  export const ReturnIcon = ({ className, svgClassName, ...rest }: IconProps): React.JSX.Element => {
12
- const applied = cx(styles['fill-none'], styles['stroke-contrast'], svgClassName)
12
+ const applied = cx(styles['fill-none'], styles['stroke-current'], svgClassName)
13
13
 
14
14
  return (
15
15
  <IconElement className={cx('return-icon', className)} {...rest}>
@@ -9,7 +9,7 @@ import type { IconProps } from './types/icon.js'
9
9
  import styles from './icons.module.css'
10
10
 
11
11
  export const RolesIcon = ({ className, svgClassName, ...rest }: IconProps): React.JSX.Element => {
12
- const applied = cx(styles['fill-none'], styles['stroke-contrast'], svgClassName)
12
+ const applied = cx(styles['fill-none'], styles['stroke-current'], svgClassName)
13
13
 
14
14
  return (
15
15
  <IconElement className={cx('roles-icon', className)} {...rest}>
@@ -25,7 +25,7 @@ const { class: className, width, height, svgClass: svgClassName, menuItem, ...re
25
25
  <svg
26
26
  xmlns="http://www.w3.org/2000/svg"
27
27
  viewBox="0 0 24 24"
28
- class:list={[styles['fill-contrast'], styles['stroke-none'], svgClassName]}
28
+ class:list={[styles['fill-current'], styles['stroke-none'], svgClassName]}
29
29
  focusable="false"
30
30
  aria-hidden="true"
31
31
  stroke-linecap="round"
@@ -9,7 +9,7 @@ import type { IconProps } from './types/icon.js'
9
9
  import styles from './icons.module.css'
10
10
 
11
11
  export const SearchIcon = ({ className, svgClassName, ...rest }: IconProps): React.JSX.Element => {
12
- const applied = cx(styles['fill-contrast'], styles['stroke-none'], svgClassName)
12
+ const applied = cx(styles['fill-current'], styles['stroke-none'], svgClassName)
13
13
 
14
14
  return (
15
15
  <IconElement className={cx('search-icon', className)} {...rest}>
@@ -13,7 +13,7 @@ export const SettingsGearIcon = ({
13
13
  svgClassName,
14
14
  ...rest
15
15
  }: IconProps): React.JSX.Element => {
16
- const applied = cx(styles['fill-none'], styles['stroke-contrast'], svgClassName)
16
+ const applied = cx(styles['fill-none'], styles['stroke-current'], svgClassName)
17
17
 
18
18
  return (
19
19
  <IconElement className={cx('settings-gear-icon', className)} {...rest}>