@react-fabric/core 1.0.0-beta.35 → 1.0.0-beta.37

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 (296) hide show
  1. package/{src/components/actionLabel/ActionLabel.module.css → css/components/_actionLabel.css} +4 -4
  2. package/{src/overlays/alert/Alert.module.css → css/components/_alert.css} +2 -2
  3. package/{src/components/animations/Animations.module.css → css/components/_animations.css} +9 -9
  4. package/{src/components/avatar/Avatar.module.css → css/components/_avatar.css} +11 -11
  5. package/{src/components/badge/Badge.module.css → css/components/_badge.css} +19 -17
  6. package/{src/components/breadcrumbs/Breadcrumbs.module.css → css/components/_breadcrumbs.css} +49 -44
  7. package/{src/components/button/Button.module.css → css/components/_button.css} +63 -80
  8. package/{src/components/card/Card.module.css → css/components/_card.css} +32 -28
  9. package/{src/components/chip/Chip.module.css → css/components/_chip.css} +11 -10
  10. package/{src/components/collapsable/Collapsable.module.css → css/components/_collapsable.css} +3 -3
  11. package/{src/components/divider/Divider.module.css → css/components/_divider.css} +3 -3
  12. package/{src/components/dropdown/Dropdown.module.css → css/components/_dropdown.css} +2 -2
  13. package/{src/overlays/flyout/Flyout.module.css → css/components/_flyout.css} +6 -6
  14. package/{src/components/icon/Icon.module.css → css/components/_icon.css} +8 -4
  15. package/{src/components/media/Media.module.css → css/components/_media.css} +17 -17
  16. package/{src/components/menu/Menu.module.css → css/components/_menu.css} +15 -16
  17. package/{src/overlays/message/Message.module.css → css/components/_message.css} +2 -2
  18. package/{src/components/meter/Meter.module.css → css/components/_meter.css} +10 -10
  19. package/{src/overlays/modal/Modal.module.css → css/components/_modal.css} +6 -6
  20. package/{src/components/panel/Panel.module.css → css/components/_panel.css} +17 -17
  21. package/{src/components/progress/Progress.module.css → css/components/_progress.css} +7 -10
  22. package/{src/components/tabpanel/TabPanel.module.css → css/components/_tabPanel.css} +43 -43
  23. package/{src/overlays/toast/Toast.module.css → css/components/_toast.css} +2 -2
  24. package/css/components/_tooltip.css +29 -0
  25. package/css/components/index.css +47 -0
  26. package/{src/core/aside/Aside.module.css → css/core/_aside.css} +42 -42
  27. package/{src/core/content/Content.module.css → css/core/_content.css} +9 -5
  28. package/{src/core/boundary/ErrorBoundary.module.css → css/core/_errorboundary.css} +9 -9
  29. package/{src/core/headfoot/HeadFoot.module.css → css/core/_headfoot.css} +4 -4
  30. package/{src/core/page/Page.module.css → css/core/_page.css} +12 -8
  31. package/{src/core/responsive/Responsive.module.css → css/core/_responsive.css} +10 -10
  32. package/{src/core/section/Section.module.css → css/core/_section.css} +2 -2
  33. package/{src/core/theme/Theme.module.css → css/core/_theme.css} +3 -3
  34. package/{src/typography/Typography.module.css → css/core/_typography.css} +12 -12
  35. package/{src/core/viewport/Viewport.module.css → css/core/_viewport.css} +7 -3
  36. package/css/core/index.css +33 -0
  37. package/css/reset/_gradients.css +8 -8
  38. package/css/reset/_reset.css +41 -223
  39. package/css/reset/_text.css +14 -29
  40. package/css/reset/_theme.css +314 -32
  41. package/css/reset/index.css +4 -4
  42. package/css/styles.css +7 -6
  43. package/css/theme/_colors.css +320 -0
  44. package/css/theme/_utilities.css +512 -0
  45. package/css/theme/index.css +44 -0
  46. package/dist/cjs/components/actionLabel/ActionLabel.js +2 -3
  47. package/dist/cjs/components/animations/Animations.js +14 -10
  48. package/dist/cjs/components/avatar/Avatar.js +2 -3
  49. package/dist/cjs/components/avatar/AvatarGroup.js +2 -3
  50. package/dist/cjs/components/badge/Badge.js +2 -3
  51. package/dist/cjs/components/breadcrumbs/Breadcrumbs.js +5 -6
  52. package/dist/cjs/components/button/Button.js +13 -10
  53. package/dist/cjs/components/button/ButtonGroup.js +1 -2
  54. package/dist/cjs/components/button/ToggleButtonGroup.js +1 -2
  55. package/dist/cjs/components/callout/Callout.js +11 -5
  56. package/dist/cjs/components/card/Card.js +3 -4
  57. package/dist/cjs/components/card/CardCover.js +9 -4
  58. package/dist/cjs/components/chip/Chip.js +4 -5
  59. package/dist/cjs/components/collapsable/Collapsable.js +3 -4
  60. package/dist/cjs/components/divider/Divider.js +9 -7
  61. package/dist/cjs/components/dropdown/Dropdown.js +2 -3
  62. package/dist/cjs/components/dropdown/DropdownTool.js +1 -1
  63. package/dist/cjs/components/icon/Icon.js +1 -2
  64. package/dist/cjs/components/media/Media.js +15 -11
  65. package/dist/cjs/components/menu/Menu.js +1 -1
  66. package/dist/cjs/components/menu/MenuItem.js +2 -3
  67. package/dist/cjs/components/meter/Meter.js +2 -3
  68. package/dist/cjs/components/navigator/Navigator.js +1 -1
  69. package/dist/cjs/components/panel/Panel.js +7 -8
  70. package/dist/cjs/components/panel/PanelGroup.js +1 -2
  71. package/dist/cjs/components/progress/ProgressBar.js +4 -4
  72. package/dist/cjs/components/progress/ProgressCircle.js +4 -3
  73. package/dist/cjs/components/tabpanel/Tab.js +1 -2
  74. package/dist/cjs/components/tabpanel/TabPanel.js +3 -4
  75. package/dist/cjs/core/aside/Aside.js +9 -10
  76. package/dist/cjs/core/boundary/ErrorBoundary.js +6 -7
  77. package/dist/cjs/core/boundary/ErrorIcon.js +1 -2
  78. package/dist/cjs/core/content/Content.js +1 -2
  79. package/dist/cjs/core/headfoot/HeadFoot.js +2 -21
  80. package/dist/cjs/core/page/Page.js +2 -3
  81. package/dist/cjs/core/responsive/Responsive.js +3 -4
  82. package/dist/cjs/core/section/Section.js +1 -2
  83. package/dist/cjs/core/theme/ThemeProvider.js +7 -8
  84. package/dist/cjs/core/viewport/Viewport.js +4 -2
  85. package/dist/cjs/overlays/alert/Alert.js +14 -8
  86. package/dist/cjs/overlays/flyout/Flyout.js +4 -5
  87. package/dist/cjs/overlays/message/Message.js +5 -2
  88. package/dist/cjs/overlays/modal/Modal.js +4 -5
  89. package/dist/cjs/overlays/toast/Toast.js +16 -8
  90. package/dist/cjs/overlays/tooltip/Tooltip.js +19 -7
  91. package/dist/cjs/typography/Abbr.js +1 -2
  92. package/dist/cjs/typography/Anchor.js +1 -1
  93. package/dist/cjs/typography/Mark.js +1 -2
  94. package/dist/cjs/typography/Text.js +2 -3
  95. package/dist/cjs/typography/Title.js +1 -2
  96. package/dist/cjs/utils/getColor.js +1 -18
  97. package/dist/esm/components/actionLabel/ActionLabel.js +2 -3
  98. package/dist/esm/components/animations/Animations.js +15 -11
  99. package/dist/esm/components/avatar/Avatar.js +3 -4
  100. package/dist/esm/components/avatar/AvatarGroup.js +2 -3
  101. package/dist/esm/components/badge/Badge.js +2 -3
  102. package/dist/esm/components/breadcrumbs/Breadcrumbs.js +5 -6
  103. package/dist/esm/components/button/Button.js +13 -10
  104. package/dist/esm/components/button/ButtonGroup.js +1 -2
  105. package/dist/esm/components/button/ToggleButtonGroup.js +1 -2
  106. package/dist/esm/components/callout/Callout.js +11 -5
  107. package/dist/esm/components/card/Card.js +3 -4
  108. package/dist/esm/components/card/CardCover.js +9 -4
  109. package/dist/esm/components/chip/Chip.js +5 -6
  110. package/dist/esm/components/collapsable/Collapsable.js +3 -4
  111. package/dist/esm/components/divider/Divider.js +10 -8
  112. package/dist/esm/components/dropdown/Dropdown.js +2 -3
  113. package/dist/esm/components/dropdown/DropdownTool.js +1 -1
  114. package/dist/esm/components/icon/Icon.js +2 -3
  115. package/dist/esm/components/media/Media.js +15 -11
  116. package/dist/esm/components/menu/Menu.js +1 -1
  117. package/dist/esm/components/menu/MenuItem.js +2 -3
  118. package/dist/esm/components/meter/Meter.js +2 -3
  119. package/dist/esm/components/navigator/Navigator.js +1 -1
  120. package/dist/esm/components/panel/Panel.js +7 -8
  121. package/dist/esm/components/panel/PanelGroup.js +1 -2
  122. package/dist/esm/components/progress/ProgressBar.js +5 -5
  123. package/dist/esm/components/progress/ProgressCircle.js +5 -4
  124. package/dist/esm/components/tabpanel/Tab.js +1 -2
  125. package/dist/esm/components/tabpanel/TabPanel.js +3 -4
  126. package/dist/esm/core/aside/Aside.js +9 -10
  127. package/dist/esm/core/boundary/ErrorBoundary.js +6 -7
  128. package/dist/esm/core/boundary/ErrorIcon.js +1 -2
  129. package/dist/esm/core/content/Content.js +1 -2
  130. package/dist/esm/core/headfoot/HeadFoot.js +2 -21
  131. package/dist/esm/core/page/Page.js +2 -3
  132. package/dist/esm/core/responsive/Responsive.js +3 -4
  133. package/dist/esm/core/section/Section.js +1 -2
  134. package/dist/esm/core/theme/ThemeProvider.js +7 -8
  135. package/dist/esm/core/viewport/Viewport.js +4 -2
  136. package/dist/esm/overlays/alert/Alert.js +15 -9
  137. package/dist/esm/overlays/flyout/Flyout.js +4 -5
  138. package/dist/esm/overlays/message/Message.js +6 -3
  139. package/dist/esm/overlays/modal/Modal.js +4 -5
  140. package/dist/esm/overlays/toast/Toast.js +17 -9
  141. package/dist/esm/overlays/tooltip/Tooltip.js +19 -7
  142. package/dist/esm/typography/Abbr.js +2 -3
  143. package/dist/esm/typography/Anchor.js +2 -2
  144. package/dist/esm/typography/Mark.js +2 -3
  145. package/dist/esm/typography/Text.js +3 -4
  146. package/dist/esm/typography/Title.js +2 -3
  147. package/dist/esm/utils/getColor.js +2 -16
  148. package/dist/types/components/animations/Animations.d.ts +4 -4
  149. package/dist/types/components/avatar/Avatar.d.ts +3 -3
  150. package/dist/types/components/button/Button.d.ts +2 -2
  151. package/dist/types/components/button/ButtonGroup.d.ts +2 -2
  152. package/dist/types/components/callout/Callout.d.ts +2 -2
  153. package/dist/types/components/chip/Chip.d.ts +2 -2
  154. package/dist/types/components/divider/Divider.d.ts +7 -3
  155. package/dist/types/components/icon/Icon.d.ts +3 -3
  156. package/dist/types/components/menu/types.d.ts +2 -2
  157. package/dist/types/components/navigator/Navigator.d.ts +2 -2
  158. package/dist/types/components/progress/ProgressBar.d.ts +2 -2
  159. package/dist/types/components/progress/ProgressCircle.d.ts +2 -2
  160. package/dist/types/components/tabpanel/Tab.d.ts +2 -2
  161. package/dist/types/core/headfoot/HeadFoot.d.ts +1 -9
  162. package/dist/types/core/theme/ThemeProvider.d.ts +3 -3
  163. package/dist/types/overlays/alert/Alert.d.ts +2 -2
  164. package/dist/types/overlays/message/Message.d.ts +2 -2
  165. package/dist/types/overlays/toast/Toast.d.ts +2 -2
  166. package/dist/types/overlays/tooltip/Tooltip.d.ts +1 -1
  167. package/dist/types/types/index.d.ts +10 -5
  168. package/dist/types/typography/Abbr.d.ts +6 -2
  169. package/dist/types/typography/Anchor.d.ts +3 -3
  170. package/dist/types/typography/Mark.d.ts +2 -2
  171. package/dist/types/utils/getColor.d.ts +1 -4
  172. package/package.json +16 -7
  173. package/src/components/actionLabel/ActionLabel.tsx +2 -3
  174. package/src/components/animations/Animations.tsx +19 -19
  175. package/src/components/avatar/Avatar.tsx +6 -8
  176. package/src/components/avatar/AvatarGroup.tsx +3 -4
  177. package/src/components/badge/Badge.tsx +3 -4
  178. package/src/components/breadcrumbs/Breadcrumbs.tsx +5 -6
  179. package/src/components/button/Button.tsx +15 -13
  180. package/src/components/button/ButtonGroup.tsx +4 -5
  181. package/src/components/button/ToggleButtonGroup.tsx +2 -3
  182. package/src/components/callout/Callout.tsx +14 -8
  183. package/src/components/card/Card.tsx +6 -7
  184. package/src/components/card/CardCover.tsx +11 -6
  185. package/src/components/chip/Chip.tsx +9 -10
  186. package/src/components/collapsable/Collapsable.tsx +3 -4
  187. package/src/components/divider/Divider.tsx +15 -11
  188. package/src/components/dropdown/Dropdown.tsx +2 -3
  189. package/src/components/dropdown/DropdownTool.tsx +1 -1
  190. package/src/components/icon/Icon.tsx +7 -9
  191. package/src/components/media/Media.tsx +19 -14
  192. package/src/components/menu/Menu.tsx +1 -1
  193. package/src/components/menu/MenuItem.tsx +5 -6
  194. package/src/components/menu/types.ts +2 -2
  195. package/src/components/meter/Meter.tsx +2 -3
  196. package/src/components/navigator/Navigator.tsx +4 -3
  197. package/src/components/panel/Panel.tsx +7 -8
  198. package/src/components/panel/PanelGroup.tsx +1 -2
  199. package/src/components/progress/ProgressBar.tsx +8 -9
  200. package/src/components/progress/ProgressCircle.tsx +6 -9
  201. package/src/components/tabpanel/Tab.tsx +3 -4
  202. package/src/components/tabpanel/TabPanel.tsx +3 -4
  203. package/src/core/aside/Aside.tsx +9 -10
  204. package/src/core/boundary/ErrorBoundary.tsx +8 -7
  205. package/src/core/boundary/ErrorIcon.tsx +1 -2
  206. package/src/core/content/Content.tsx +1 -2
  207. package/src/core/headfoot/HeadFoot.tsx +1 -34
  208. package/src/core/page/Page.tsx +2 -3
  209. package/src/core/responsive/Responsive.tsx +4 -5
  210. package/src/core/section/Section.tsx +1 -2
  211. package/src/core/theme/ThemeProvider.tsx +10 -11
  212. package/src/core/viewport/Viewport.tsx +1 -2
  213. package/src/overlays/alert/Alert.tsx +19 -27
  214. package/src/overlays/flyout/Flyout.tsx +4 -5
  215. package/src/overlays/message/Message.tsx +10 -7
  216. package/src/overlays/modal/Modal.tsx +4 -5
  217. package/src/overlays/toast/Toast.tsx +18 -27
  218. package/src/overlays/tooltip/Tooltip.tsx +28 -7
  219. package/src/types/index.ts +230 -18
  220. package/src/typography/Abbr.tsx +15 -9
  221. package/src/typography/Anchor.tsx +5 -10
  222. package/src/typography/Mark.tsx +4 -9
  223. package/src/typography/Text.tsx +3 -11
  224. package/src/typography/Title.tsx +2 -5
  225. package/src/utils/getColor.ts +1 -17
  226. package/css/index.js +0 -250
  227. package/css/tailwind/colors.ts +0 -158
  228. package/dist/cjs/components/actionLabel/ActionLabel.module.css +0 -1
  229. package/dist/cjs/components/animations/Animations.module.css +0 -1
  230. package/dist/cjs/components/avatar/Avatar.module.css +0 -1
  231. package/dist/cjs/components/badge/Badge.module.css +0 -1
  232. package/dist/cjs/components/breadcrumbs/Breadcrumbs.module.css +0 -1
  233. package/dist/cjs/components/button/Button.module.css +0 -1
  234. package/dist/cjs/components/card/Card.module.css +0 -1
  235. package/dist/cjs/components/chip/Chip.module.css +0 -1
  236. package/dist/cjs/components/collapsable/Collapsable.module.css +0 -1
  237. package/dist/cjs/components/divider/Divider.module.css +0 -1
  238. package/dist/cjs/components/dropdown/Dropdown.module.css +0 -1
  239. package/dist/cjs/components/icon/Icon.module.css +0 -1
  240. package/dist/cjs/components/media/Media.module.css +0 -1
  241. package/dist/cjs/components/menu/Menu.module.css +0 -1
  242. package/dist/cjs/components/meter/Meter.module.css +0 -1
  243. package/dist/cjs/components/panel/Panel.module.css +0 -1
  244. package/dist/cjs/components/progress/Progress.module.css +0 -1
  245. package/dist/cjs/components/tabpanel/TabPanel.module.css +0 -1
  246. package/dist/cjs/core/aside/Aside.module.css +0 -1
  247. package/dist/cjs/core/boundary/ErrorBoundary.module.css +0 -1
  248. package/dist/cjs/core/content/Content.module.css +0 -1
  249. package/dist/cjs/core/headfoot/HeadFoot.module.css +0 -1
  250. package/dist/cjs/core/page/Page.module.css +0 -1
  251. package/dist/cjs/core/responsive/Responsive.module.css +0 -1
  252. package/dist/cjs/core/section/Section.module.css +0 -1
  253. package/dist/cjs/core/theme/Theme.module.css +0 -1
  254. package/dist/cjs/core/viewport/Viewport.module.css +0 -1
  255. package/dist/cjs/overlays/alert/Alert.module.css +0 -1
  256. package/dist/cjs/overlays/flyout/Flyout.module.css +0 -1
  257. package/dist/cjs/overlays/message/Message.module.css +0 -1
  258. package/dist/cjs/overlays/modal/Modal.module.css +0 -1
  259. package/dist/cjs/overlays/toast/Toast.module.css +0 -1
  260. package/dist/cjs/overlays/tooltip/Tooltip.module.css +0 -1
  261. package/dist/cjs/typography/Typography.module.css +0 -1
  262. package/dist/esm/components/actionLabel/ActionLabel.module.css +0 -1
  263. package/dist/esm/components/animations/Animations.module.css +0 -1
  264. package/dist/esm/components/avatar/Avatar.module.css +0 -1
  265. package/dist/esm/components/badge/Badge.module.css +0 -1
  266. package/dist/esm/components/breadcrumbs/Breadcrumbs.module.css +0 -1
  267. package/dist/esm/components/button/Button.module.css +0 -1
  268. package/dist/esm/components/card/Card.module.css +0 -1
  269. package/dist/esm/components/chip/Chip.module.css +0 -1
  270. package/dist/esm/components/collapsable/Collapsable.module.css +0 -1
  271. package/dist/esm/components/divider/Divider.module.css +0 -1
  272. package/dist/esm/components/dropdown/Dropdown.module.css +0 -1
  273. package/dist/esm/components/icon/Icon.module.css +0 -1
  274. package/dist/esm/components/media/Media.module.css +0 -1
  275. package/dist/esm/components/menu/Menu.module.css +0 -1
  276. package/dist/esm/components/meter/Meter.module.css +0 -1
  277. package/dist/esm/components/panel/Panel.module.css +0 -1
  278. package/dist/esm/components/progress/Progress.module.css +0 -1
  279. package/dist/esm/components/tabpanel/TabPanel.module.css +0 -1
  280. package/dist/esm/core/aside/Aside.module.css +0 -1
  281. package/dist/esm/core/boundary/ErrorBoundary.module.css +0 -1
  282. package/dist/esm/core/content/Content.module.css +0 -1
  283. package/dist/esm/core/headfoot/HeadFoot.module.css +0 -1
  284. package/dist/esm/core/page/Page.module.css +0 -1
  285. package/dist/esm/core/responsive/Responsive.module.css +0 -1
  286. package/dist/esm/core/section/Section.module.css +0 -1
  287. package/dist/esm/core/theme/Theme.module.css +0 -1
  288. package/dist/esm/core/viewport/Viewport.module.css +0 -1
  289. package/dist/esm/overlays/alert/Alert.module.css +0 -1
  290. package/dist/esm/overlays/flyout/Flyout.module.css +0 -1
  291. package/dist/esm/overlays/message/Message.module.css +0 -1
  292. package/dist/esm/overlays/modal/Modal.module.css +0 -1
  293. package/dist/esm/overlays/toast/Toast.module.css +0 -1
  294. package/dist/esm/overlays/tooltip/Tooltip.module.css +0 -1
  295. package/dist/esm/typography/Typography.module.css +0 -1
  296. package/src/overlays/tooltip/Tooltip.module.css +0 -53
@@ -23,7 +23,6 @@
23
23
 
24
24
  import classNames from "classnames";
25
25
  import { type PropsWithChildren } from "react";
26
- import classes from "./Viewport.module.css";
27
26
 
28
27
  /**
29
28
  * The application viewport is the main container that defines the visible area where content is displayed and interacted with.
@@ -33,7 +32,7 @@ export const Viewport = ({ children }: PropsWithChildren) => {
33
32
  <div
34
33
  data-ref="viewport"
35
34
  className={classNames(
36
- classes.viewport,
35
+ "fabric-viewport",
37
36
  "grid overflow-hidden absolute inset-0",
38
37
  )}
39
38
  >
@@ -36,11 +36,10 @@ import { useTranslation } from "react-i18next";
36
36
  import { AnimationIndicator } from "../../components/animations/Animations";
37
37
  import { Button } from "../../components/button/Button";
38
38
  import { Icon } from "../../components/icon/Icon";
39
- import { type ColorType, type Elements, type IconProps } from "../../types";
39
+ import { type ColorState, type Elements, type IconProps } from "../../types";
40
40
  import { CoreIcons } from "../../types/icons";
41
41
  import { Title } from "../../typography/Title";
42
- import { getBorderClass, getColorClass } from "../../utils";
43
- import classes from "./Alert.module.css";
42
+ import { getColor } from "../../utils";
44
43
 
45
44
  export interface AlertProps extends Omit<IconProps, "iconBg" | "iconColor"> {
46
45
  /**
@@ -58,7 +57,7 @@ export interface AlertProps extends Omit<IconProps, "iconBg" | "iconColor"> {
58
57
  /**
59
58
  * theme color
60
59
  */
61
- color?: ColorType;
60
+ color?: ColorState;
62
61
  /**
63
62
  * extra action button
64
63
  */
@@ -116,35 +115,20 @@ export const Alert = ({
116
115
  const iconType = useMemo(() => {
117
116
  if (icon)
118
117
  return (
119
- <Icon icon={icon} size="md" rtlFlip={rtlFlip} color={color + "-600"} />
118
+ <Icon icon={icon} size="md" rtlFlip={rtlFlip} color={`${color}-600`} />
120
119
  );
121
120
  switch (color) {
122
121
  case "danger":
123
- return (
124
- <AnimationIndicator
125
- type="cross"
126
- className={getColorClass(color + "-600")}
127
- />
128
- );
122
+ return <AnimationIndicator type="cross" color={"danger-600"} />;
129
123
  case "success":
130
- return (
131
- <AnimationIndicator
132
- type="check"
133
- className={getColorClass(color + "-600")}
134
- />
135
- );
124
+ return <AnimationIndicator type="check" color={"success-600"} />;
136
125
  case "warning":
137
- return (
138
- <AnimationIndicator
139
- type="exclaim"
140
- className={getColorClass(color + "-600")}
141
- />
142
- );
126
+ return <AnimationIndicator type="exclaim" color={"warning-600"} />;
143
127
  default:
144
128
  return (
145
129
  <AnimationIndicator
146
130
  type={type === "confirm" ? "question" : "info"}
147
- className={getColorClass(color + "-600")}
131
+ color={`${color}-600`}
148
132
  />
149
133
  );
150
134
  }
@@ -178,11 +162,13 @@ export const Alert = ({
178
162
  <dialog
179
163
  role="alertdialog"
180
164
  className={classNames(
181
- classes.alert,
182
- getBorderClass(color + "-300"),
165
+ "fabric-alert",
183
166
  "grid bg-base border-2 pointer-events-auto overflow-hidden rounded-capped select-none",
184
167
  "min-w-72 max-w-sm p-6 relative outline-0 shadow-lg",
185
168
  )}
169
+ style={{
170
+ borderColor: getColor(`${color}-300`),
171
+ }}
186
172
  ref={refs.setFloating}
187
173
  {...getFloatingProps()}
188
174
  >
@@ -199,8 +185,14 @@ export const Alert = ({
199
185
  value={value}
200
186
  placeholder={placeholder}
201
187
  className={classNames(
202
- `area-[input] appearance-none outline-0 ring-${color}-500 border rounded border-${color}-200 w-full px-2 py-1`,
188
+ `area-[input] appearance-none outline-0 border rounded w-full px-2 py-1`,
203
189
  )}
190
+ style={
191
+ {
192
+ borderColor: getColor(`${color}-200`),
193
+ "--tw-ring-color": getColor(`${color}-500`),
194
+ } as AnyObject
195
+ }
204
196
  ref={(e) => e != null && setTimeout(() => e.focus(), 100)}
205
197
  onBlur={(e) => e.target.focus()}
206
198
  onChange={(e) => setValue(e.target.value)}
@@ -53,7 +53,6 @@ import {
53
53
  type TestProps,
54
54
  } from "../../types";
55
55
  import { CoreIcons } from "../../types/icons";
56
- import classes from "./Flyout.module.css";
57
56
 
58
57
  export interface FlyoutProps
59
58
  extends AriaProps,
@@ -219,7 +218,7 @@ export const Flyout = ({
219
218
  <div
220
219
  data-align={align}
221
220
  className={classNames(
222
- classes.flyout,
221
+ "fabric-flyout",
223
222
  "fixed inset-y-0 overflow-hidden flex flex-col flex-nowrap pointer-events-auto shadow-xl",
224
223
  align === "start" ? "start-0" : "end-0",
225
224
  size === "sm" && "w-[20rem]",
@@ -240,7 +239,7 @@ export const Flyout = ({
240
239
  <HotKeyWrapper>
241
240
  <Header
242
241
  flex
243
- className={classNames(classes.flyoutHeader, headerClassName)}
242
+ className={classNames("fabric-flyoutHeader", headerClassName)}
244
243
  >
245
244
  {isString(icon) && (
246
245
  <Icon
@@ -257,7 +256,7 @@ export const Flyout = ({
257
256
  <Icon
258
257
  data-ref="panelClose"
259
258
  className={classNames(
260
- classes.panelAction,
259
+ "fabric-panelAction",
261
260
  "cursor-pointer p-1 text-xl self-stretch",
262
261
  )}
263
262
  icon={CoreIcons.close}
@@ -268,7 +267,7 @@ export const Flyout = ({
268
267
  <div
269
268
  role="dialog"
270
269
  className={classNames(
271
- classes.flyoutBody,
270
+ "fabric-flyoutBody",
272
271
  "flex-1 grid overflow-hidden",
273
272
  )}
274
273
  {...({ tabIndex: 0 } as AnyObject)}
@@ -24,9 +24,8 @@
24
24
  import classNames from "classnames";
25
25
  import { useCallback, useLayoutEffect, useRef } from "react";
26
26
  import { Icon } from "../../components/icon/Icon";
27
- import { type ColorType, type Elements, type IconProps } from "../../types";
28
- import { getBgClass, getColorClass } from "../../utils";
29
- import classes from "./Message.module.css";
27
+ import { type ColorState, type Elements, type IconProps } from "../../types";
28
+ import { getColor } from "../../utils";
30
29
 
31
30
  export interface MessageProps extends Omit<IconProps, "iconBg" | "iconColor"> {
32
31
  /**
@@ -40,7 +39,7 @@ export interface MessageProps extends Omit<IconProps, "iconBg" | "iconColor"> {
40
39
  /**
41
40
  * theme color
42
41
  */
43
- color?: ColorType;
42
+ color?: ColorState;
44
43
  /**
45
44
  * extra action button
46
45
  */
@@ -77,11 +76,15 @@ export const Message = ({
77
76
  return (
78
77
  <div
79
78
  className={classNames(
80
- classes.message,
81
- color ? getBgClass(color + "-300") : "bg-invert",
82
- color ? getColorClass(color + "-900") : "text-invert",
79
+ "fabric-message",
83
80
  "flex flex-nowrap gap-1 px-8 relative justify-center max-w-md pointer-events-auto rounded mb-2 select-none",
84
81
  )}
82
+ style={{
83
+ backgroundColor: color
84
+ ? getColor(color + "-300")
85
+ : "var(--bg-color-invert)",
86
+ color: color ? getColor(color + "-900") : "var(--text-color-invert)",
87
+ }}
85
88
  ref={elRef}
86
89
  >
87
90
  {icon && <Icon icon={icon} size="md" rtlFlip={rtlFlip} />}
@@ -51,7 +51,6 @@ import {
51
51
  type TestProps,
52
52
  } from "../../types";
53
53
  import { CoreIcons } from "../../types/icons";
54
- import classes from "./Modal.module.css";
55
54
 
56
55
  export interface ModalProps
57
56
  extends AriaProps,
@@ -183,7 +182,7 @@ export const Modal = ({
183
182
  <FloatingFocusManager context={context}>
184
183
  <dialog
185
184
  className={classNames(
186
- classes.modal,
185
+ "fabric-modal",
187
186
  "rounded-capped relative overflow-hidden flex flex-col flex-nowrap",
188
187
  "ring-1 ring-tint-100 ring-offset-1 focus-within:ring-primary-300 shadow-xl",
189
188
  size === "sm" && "w-[20rem]",
@@ -205,7 +204,7 @@ export const Modal = ({
205
204
  <HotKeyWrapper>
206
205
  <Header
207
206
  flex
208
- className={classNames(classes.modalHeader, headerClassName)}
207
+ className={classNames("fabric-modalHeader", headerClassName)}
209
208
  >
210
209
  {isString(icon) && (
211
210
  <Icon
@@ -222,7 +221,7 @@ export const Modal = ({
222
221
  <Icon
223
222
  data-ref="panelClose"
224
223
  className={classNames(
225
- classes.panelAction,
224
+ "fabric-panelAction",
226
225
  "cursor-pointer p-1 text-xl self-stretch",
227
226
  )}
228
227
  icon={CoreIcons.close}
@@ -233,7 +232,7 @@ export const Modal = ({
233
232
  <div
234
233
  role="dialog"
235
234
  className={classNames(
236
- classes.modalBody,
235
+ "fabric-modalBody",
237
236
  "flex-1 grid overflow-hidden",
238
237
  )}
239
238
  {...({ tabIndex: 0 } as AnyObject)}
@@ -27,10 +27,9 @@ import { useTranslation } from "react-i18next";
27
27
  import { AnimationIndicator } from "../../components/animations/Animations";
28
28
  import { Button } from "../../components/button/Button";
29
29
  import { Icon } from "../../components/icon/Icon";
30
- import { type ColorType, type Elements, type IconProps } from "../../types";
30
+ import { type ColorState, type Elements, type IconProps } from "../../types";
31
31
  import { CoreIcons } from "../../types/icons";
32
- import { getBgClass, getBorderClass, getColorClass } from "../../utils";
33
- import classes from "./Toast.module.css";
32
+ import { getColor } from "../../utils";
34
33
 
35
34
  export interface ToastProps extends Omit<IconProps, "iconBg" | "iconColor"> {
36
35
  /**
@@ -48,7 +47,7 @@ export interface ToastProps extends Omit<IconProps, "iconBg" | "iconColor"> {
48
47
  /**
49
48
  * theme color
50
49
  */
51
- color?: ColorType;
50
+ color?: ColorState;
52
51
  /**
53
52
  * extra action button
54
53
  */
@@ -87,31 +86,16 @@ export const Toast = ({
87
86
  );
88
87
  switch (color) {
89
88
  case "danger":
90
- return (
91
- <AnimationIndicator
92
- type="cross"
93
- className={getColorClass(color + "-600")}
94
- />
95
- );
89
+ return <AnimationIndicator type="cross" color={"danger-600"} />;
96
90
  case "success":
97
- return (
98
- <AnimationIndicator
99
- type="check"
100
- className={getColorClass(color + "-600")}
101
- />
102
- );
91
+ return <AnimationIndicator type="check" color={"success-600"} />;
103
92
  case "warning":
104
- return (
105
- <AnimationIndicator
106
- type="exclaim"
107
- className={getColorClass(color + "-600")}
108
- />
109
- );
93
+ return <AnimationIndicator type="exclaim" color={"warning-600"} />;
110
94
  default:
111
95
  return (
112
96
  <AnimationIndicator
113
97
  type={type === "confirm" ? "question" : "info"}
114
- className={getColorClass(color + "-600")}
98
+ color={`${color}-600`}
115
99
  />
116
100
  );
117
101
  }
@@ -138,22 +122,29 @@ export const Toast = ({
138
122
  <div
139
123
  role="alert"
140
124
  className={classNames(
141
- classes.toast,
142
- getBorderClass(color + "-300"),
125
+ "fabric-toast",
143
126
  "flex flex-nowrap max-w-sm bg-base min-w-72 border pointer-events-auto relative overflow-hidden rounded-capped mt-4 select-none",
144
127
  )}
128
+ style={{
129
+ borderColor: getColor(color + "-300"),
130
+ }}
145
131
  ref={elRef}
146
132
  >
147
133
  <div
148
- className={classNames("flex-initial p-2", getBgClass(color + "-100"))}
134
+ className={classNames("flex-initial p-2")}
135
+ style={{
136
+ backgroundColor: getColor(color + "-300"),
137
+ }}
149
138
  >
150
139
  {iconType}
151
140
  </div>
152
141
  <div
153
142
  className={classNames(
154
- getBgClass(color + "-50/50"),
155
143
  "flex flex-col flex-1 flex-nowrap overflow-hidden p-2",
156
144
  )}
145
+ style={{
146
+ backgroundColor: getColor(color + "-50"),
147
+ }}
157
148
  >
158
149
  <div className="flex flex-nowrap gap-2 items-start">
159
150
  <div className="font-medium flex-1">{title}</div>
@@ -51,7 +51,7 @@ import { Icon } from "../../components/icon/Icon";
51
51
  import { useIsRtl } from "../../hooks/useIsRtl";
52
52
  import { type RefProp, type TooltipType } from "../../types";
53
53
  import { CoreIcons } from "../../types/icons";
54
- import classes from "./Tooltip.module.css";
54
+ import { getColor } from "../../utils";
55
55
 
56
56
  export interface TooltipProps extends TooltipType, RefProp {
57
57
  /**
@@ -82,6 +82,7 @@ export const Tooltip = ({
82
82
  ref,
83
83
  children,
84
84
  color,
85
+ textColor,
85
86
  content,
86
87
  open,
87
88
  copyContent,
@@ -173,25 +174,45 @@ export const Tooltip = ({
173
174
  <FloatingPortal>
174
175
  <dfn
175
176
  data-ref="tooltip"
176
- data-color={color}
177
177
  className={classNames(
178
- classes.tooltip,
179
- "select-none text-sm not-italic flex py-1 px-2 !max-w-lg rounded shadow-md bg-current",
178
+ "fabric-tooltip z-(--z-tooltip)",
179
+ "select-none text-sm not-italic flex py-1 px-2 !max-w-lg rounded shadow-md bg-muted",
180
180
  )}
181
181
  ref={refs.setFloating}
182
- style={floatingStyles}
182
+ style={{
183
+ color: textColor ? getColor(textColor) : undefined,
184
+ backgroundColor: color ? getColor(color) : undefined,
185
+ ...floatingStyles,
186
+ }}
183
187
  {...getFloatingProps()}
184
188
  >
185
189
  <span
186
190
  className={classNames(
187
- "font-medium text-dimmed flex-1 break-all",
191
+ "font-medium flex-1 break-all",
192
+ !textColor && "contrast",
188
193
  isString(content) && "whitespace-pre-wrap mixed-lang",
189
194
  )}
195
+ style={{
196
+ color: textColor
197
+ ? undefined
198
+ : color
199
+ ? getColor(color)
200
+ : "var(--bg-color-muted)",
201
+ }}
190
202
  >
191
203
  {content}
192
204
  </span>
193
205
  {copyEl}
194
- <FloatingArrow ref={arrowRef} context={context} />
206
+ <FloatingArrow
207
+ ref={arrowRef}
208
+ context={context}
209
+ strokeWidth={0.5}
210
+ className="fill-muted stroke-dimmed"
211
+ style={{
212
+ stroke: color ? getColor(color) : undefined,
213
+ fill: color ? getColor(color) : undefined,
214
+ }}
215
+ />
195
216
  </dfn>
196
217
  </FloatingPortal>
197
218
  )}
@@ -33,7 +33,7 @@ export type SizeType = "xs" | "sm" | "md" | "lg" | "xl";
33
33
 
34
34
  export type SizeTypeWithZero = "xs" | "sm" | "md" | "lg" | "xl" | 0;
35
35
 
36
- export type ColorType =
36
+ export type ColorState =
37
37
  | "primary"
38
38
  | "accent"
39
39
  | "info"
@@ -41,21 +41,229 @@ export type ColorType =
41
41
  | "success"
42
42
  | "warning";
43
43
 
44
+ export type ColorType =
45
+ | "primary-50"
46
+ | "accent-50"
47
+ | "info-50"
48
+ | "danger-50"
49
+ | "success-50"
50
+ | "warning-50"
51
+ | "primary-100"
52
+ | "accent-100"
53
+ | "info-100"
54
+ | "danger-100"
55
+ | "success-100"
56
+ | "warning-100"
57
+ | "primary-200"
58
+ | "accent-200"
59
+ | "info-200"
60
+ | "danger-200"
61
+ | "success-200"
62
+ | "warning-200"
63
+ | "primary-300"
64
+ | "accent-300"
65
+ | "info-300"
66
+ | "danger-300"
67
+ | "success-300"
68
+ | "warning-300"
69
+ | "primary-400"
70
+ | "accent-400"
71
+ | "info-400"
72
+ | "danger-400"
73
+ | "success-400"
74
+ | "warning-400"
75
+ | "primary-500"
76
+ | "accent-500"
77
+ | "info-500"
78
+ | "danger-500"
79
+ | "success-500"
80
+ | "warning-500"
81
+ | "primary-600"
82
+ | "accent-600"
83
+ | "info-600"
84
+ | "danger-600"
85
+ | "success-600"
86
+ | "warning-600"
87
+ | "primary-700"
88
+ | "accent-700"
89
+ | "info-700"
90
+ | "danger-700"
91
+ | "success-700"
92
+ | "warning-700"
93
+ | "primary-800"
94
+ | "accent-800"
95
+ | "info-800"
96
+ | "danger-800"
97
+ | "success-800"
98
+ | "warning-800"
99
+ | "primary-900"
100
+ | "accent-900"
101
+ | "info-900"
102
+ | "danger-900"
103
+ | "success-900"
104
+ | "warning-900"
105
+ | "primary-950"
106
+ | "accent-950"
107
+ | "info-950"
108
+ | "danger-950"
109
+ | "success-950"
110
+ | "warning-950";
111
+
44
112
  export type PaletteType =
45
- | "scarlet"
46
- | "pumpkin"
47
- | "marigold"
48
- | "avacado"
49
- | "jade"
50
- | "denim"
51
- | "iris"
52
- | "lilac"
53
- | "coral"
54
- | "wood"
55
- | "silver"
56
- | "steel"
57
- | "olive"
58
- | "sand";
113
+ | "scarlet-50"
114
+ | "pumpkin-50"
115
+ | "marigold-50"
116
+ | "avacado-50"
117
+ | "jade-50"
118
+ | "denim-50"
119
+ | "iris-50"
120
+ | "lilac-50"
121
+ | "coral-50"
122
+ | "wood-50"
123
+ | "silver-50"
124
+ | "steel-50"
125
+ | "olive-50"
126
+ | "sand-50"
127
+ | "scarlet-100"
128
+ | "pumpkin-100"
129
+ | "marigold-100"
130
+ | "avacado-100"
131
+ | "jade-100"
132
+ | "denim-100"
133
+ | "iris-100"
134
+ | "lilac-100"
135
+ | "coral-100"
136
+ | "wood-100"
137
+ | "silver-100"
138
+ | "steel-100"
139
+ | "olive-100"
140
+ | "sand-100"
141
+ | "scarlet-200"
142
+ | "pumpkin-200"
143
+ | "marigold-200"
144
+ | "avacado-200"
145
+ | "jade-200"
146
+ | "denim-200"
147
+ | "iris-200"
148
+ | "lilac-200"
149
+ | "coral-200"
150
+ | "wood-200"
151
+ | "silver-200"
152
+ | "steel-200"
153
+ | "olive-200"
154
+ | "sand-200"
155
+ | "scarlet-300"
156
+ | "pumpkin-300"
157
+ | "marigold-300"
158
+ | "avacado-300"
159
+ | "jade-300"
160
+ | "denim-300"
161
+ | "iris-300"
162
+ | "lilac-300"
163
+ | "coral-300"
164
+ | "wood-300"
165
+ | "silver-300"
166
+ | "steel-300"
167
+ | "olive-300"
168
+ | "sand-300"
169
+ | "scarlet-400"
170
+ | "pumpkin-400"
171
+ | "marigold-400"
172
+ | "avacado-400"
173
+ | "jade-400"
174
+ | "denim-400"
175
+ | "iris-400"
176
+ | "lilac-400"
177
+ | "coral-400"
178
+ | "wood-400"
179
+ | "silver-400"
180
+ | "steel-400"
181
+ | "olive-400"
182
+ | "sand-400"
183
+ | "scarlet-500"
184
+ | "pumpkin-500"
185
+ | "marigold-500"
186
+ | "avacado-500"
187
+ | "jade-500"
188
+ | "denim-500"
189
+ | "iris-500"
190
+ | "lilac-500"
191
+ | "coral-500"
192
+ | "wood-500"
193
+ | "silver-500"
194
+ | "steel-500"
195
+ | "olive-500"
196
+ | "sand-500"
197
+ | "scarlet-600"
198
+ | "pumpkin-600"
199
+ | "marigold-600"
200
+ | "avacado-600"
201
+ | "jade-600"
202
+ | "denim-600"
203
+ | "iris-600"
204
+ | "lilac-600"
205
+ | "coral-600"
206
+ | "wood-600"
207
+ | "silver-600"
208
+ | "steel-600"
209
+ | "olive-600"
210
+ | "sand-600"
211
+ | "scarlet-700"
212
+ | "pumpkin-700"
213
+ | "marigold-700"
214
+ | "avacado-700"
215
+ | "jade-700"
216
+ | "denim-700"
217
+ | "iris-700"
218
+ | "lilac-700"
219
+ | "coral-700"
220
+ | "wood-700"
221
+ | "silver-700"
222
+ | "steel-700"
223
+ | "olive-700"
224
+ | "sand-700"
225
+ | "scarlet-800"
226
+ | "pumpkin-800"
227
+ | "marigold-800"
228
+ | "avacado-800"
229
+ | "jade-800"
230
+ | "denim-800"
231
+ | "iris-800"
232
+ | "lilac-800"
233
+ | "coral-800"
234
+ | "wood-800"
235
+ | "silver-800"
236
+ | "steel-800"
237
+ | "olive-800"
238
+ | "sand-800"
239
+ | "scarlet-900"
240
+ | "pumpkin-900"
241
+ | "marigold-900"
242
+ | "avacado-900"
243
+ | "jade-900"
244
+ | "denim-900"
245
+ | "iris-900"
246
+ | "lilac-900"
247
+ | "coral-900"
248
+ | "wood-900"
249
+ | "silver-900"
250
+ | "steel-900"
251
+ | "olive-900"
252
+ | "sand-900"
253
+ | "scarlet-950"
254
+ | "pumpkin-950"
255
+ | "marigold-950"
256
+ | "avacado-950"
257
+ | "jade-950"
258
+ | "denim-950"
259
+ | "iris-950"
260
+ | "lilac-950"
261
+ | "coral-950"
262
+ | "wood-950"
263
+ | "silver-950"
264
+ | "steel-950"
265
+ | "olive-950"
266
+ | "sand-950";
59
267
 
60
268
  export type ColorWithGrays = ColorType | "invert" | "dimmed" | "muted";
61
269
 
@@ -82,7 +290,11 @@ export interface TooltipType {
82
290
  /**
83
291
  * tooltip color
84
292
  */
85
- color?: ColorType;
293
+ color?: ColorType | PaletteType | string;
294
+ /**
295
+ * text color
296
+ */
297
+ textColor?: ColorType | PaletteType | string;
86
298
  /**
87
299
  * tooltip placement
88
300
  */
@@ -175,11 +387,11 @@ export interface IconProps {
175
387
  /**
176
388
  * icon background color
177
389
  */
178
- iconBg?: ColorType | string;
390
+ iconBg?: ColorType | PaletteType | string;
179
391
  /**
180
392
  * icon color
181
393
  */
182
- iconColor?: ColorType | string;
394
+ iconColor?: ColorType | PaletteType | string;
183
395
  }
184
396
 
185
397
  export interface CollapseProps {