@react-fabric/core 1.0.0-beta.4 → 1.0.0-beta.41

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 (347) 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} +3 -3
  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} +68 -78
  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} +15 -11
  10. package/{src/components/collapsable/Collapsable.module.css → css/components/_collapsable.css} +3 -3
  11. package/css/components/_divider.css +32 -0
  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 -5
  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} +73 -84
  23. package/{src/overlays/toast/Toast.module.css → css/components/_toast.css} +2 -2
  24. package/css/components/_tooltip.css +29 -0
  25. package/{src/core/content/Content.module.css → css/components/index.css} +25 -18
  26. package/{src/core/aside/Aside.module.css → css/core/_aside.css} +42 -42
  27. package/{src/core/section/Section.module.css → css/core/_content.css} +5 -3
  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 -10
  30. package/{src/core/page/Page.module.css → css/core/_page.css} +10 -14
  31. package/{src/core/responsive/Responsive.module.css → css/core/_responsive.css} +10 -10
  32. package/css/core/_section.css +28 -0
  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} +14 -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 +315 -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 +530 -0
  45. package/css/theme/index.css +44 -0
  46. package/dist/cjs/components/actionLabel/ActionLabel.js +3 -3
  47. package/dist/cjs/components/animations/Animations.js +29 -18
  48. package/dist/cjs/components/avatar/Avatar.js +10 -13
  49. package/dist/cjs/components/avatar/AvatarGroup.js +3 -3
  50. package/dist/cjs/components/badge/Badge.js +5 -5
  51. package/dist/cjs/components/breadcrumbs/Breadcrumbs.js +10 -8
  52. package/dist/cjs/components/button/Button.js +18 -14
  53. package/dist/cjs/components/button/ButtonGroup.js +4 -3
  54. package/dist/cjs/components/button/ConfirmButton.js +7 -2
  55. package/dist/cjs/components/button/ToggleButtonGroup.js +3 -3
  56. package/dist/cjs/components/callout/Callout.js +15 -4
  57. package/dist/cjs/components/card/Card.js +8 -7
  58. package/dist/cjs/components/card/CardCover.js +10 -5
  59. package/dist/cjs/components/chip/Chip.js +11 -7
  60. package/dist/cjs/components/collapsable/Collapsable.js +5 -5
  61. package/dist/cjs/components/divider/Divider.js +10 -7
  62. package/dist/cjs/components/dropdown/Dropdown.js +5 -4
  63. package/dist/cjs/components/dropdown/DropdownTool.js +4 -3
  64. package/dist/cjs/components/empty/EmptyContent.js +6 -3
  65. package/dist/cjs/components/icon/Icon.js +15 -14
  66. package/dist/cjs/components/media/Media.js +116 -75
  67. package/dist/cjs/components/menu/ContextMenu.js +30 -10
  68. package/dist/cjs/components/menu/Menu.js +39 -20
  69. package/dist/cjs/components/menu/MenuItem.js +30 -16
  70. package/dist/cjs/components/meter/Meter.js +2 -3
  71. package/dist/cjs/components/navigator/Navigator.js +16 -9
  72. package/dist/cjs/components/panel/Panel.js +10 -9
  73. package/dist/cjs/components/panel/PanelGroup.js +1 -2
  74. package/dist/cjs/components/progress/ProgressBar.js +6 -5
  75. package/dist/cjs/components/progress/ProgressCircle.js +6 -4
  76. package/dist/cjs/components/tabpanel/Tab.js +58 -38
  77. package/dist/cjs/components/tabpanel/TabPanel.js +20 -16
  78. package/dist/cjs/core/aside/Aside.js +11 -10
  79. package/dist/cjs/core/boundary/ErrorBoundary.js +6 -7
  80. package/dist/cjs/core/boundary/ErrorIcon.js +1 -2
  81. package/dist/cjs/core/content/Content.js +9 -7
  82. package/dist/cjs/core/headfoot/HeadFoot.js +2 -20
  83. package/dist/cjs/core/page/Page.js +3 -3
  84. package/dist/cjs/core/responsive/Responsive.js +3 -4
  85. package/dist/cjs/core/section/Section.js +1 -2
  86. package/dist/cjs/core/theme/ThemeProvider.js +7 -8
  87. package/dist/cjs/core/viewport/Viewport.js +4 -2
  88. package/dist/cjs/hooks/useNavigator.js +6 -4
  89. package/dist/cjs/hotkeys/HotKeyLabel.js +1 -1
  90. package/dist/cjs/hotkeys/HotKeyWrapper.js +3 -1
  91. package/dist/cjs/index.js +6 -2
  92. package/dist/cjs/overlays/alert/Alert.js +19 -13
  93. package/dist/cjs/overlays/flyout/Flyout.js +49 -60
  94. package/dist/cjs/overlays/message/Message.js +6 -3
  95. package/dist/cjs/overlays/modal/Modal.js +11 -11
  96. package/dist/cjs/overlays/toast/Toast.js +17 -9
  97. package/dist/cjs/overlays/tooltip/Tooltip.js +20 -8
  98. package/dist/cjs/types/icons.js +4 -0
  99. package/dist/cjs/typography/Abbr.js +2 -3
  100. package/dist/cjs/typography/{Link.js → Anchor.js} +5 -4
  101. package/dist/cjs/typography/Mark.js +2 -3
  102. package/dist/cjs/typography/Text.js +3 -4
  103. package/dist/cjs/typography/Title.js +3 -3
  104. package/dist/cjs/utils/cloneElement.js +44 -0
  105. package/dist/cjs/utils/getColor.js +1 -18
  106. package/dist/esm/components/actionLabel/ActionLabel.js +3 -3
  107. package/dist/esm/components/animations/Animations.js +30 -19
  108. package/dist/esm/components/avatar/Avatar.js +11 -14
  109. package/dist/esm/components/avatar/AvatarGroup.js +3 -3
  110. package/dist/esm/components/badge/Badge.js +5 -5
  111. package/dist/esm/components/breadcrumbs/Breadcrumbs.js +10 -8
  112. package/dist/esm/components/button/Button.js +18 -14
  113. package/dist/esm/components/button/ButtonGroup.js +5 -4
  114. package/dist/esm/components/button/ConfirmButton.js +7 -2
  115. package/dist/esm/components/button/ToggleButtonGroup.js +4 -4
  116. package/dist/esm/components/callout/Callout.js +15 -4
  117. package/dist/esm/components/card/Card.js +8 -7
  118. package/dist/esm/components/card/CardCover.js +10 -5
  119. package/dist/esm/components/chip/Chip.js +12 -8
  120. package/dist/esm/components/collapsable/Collapsable.js +5 -5
  121. package/dist/esm/components/divider/Divider.js +11 -8
  122. package/dist/esm/components/dropdown/Dropdown.js +5 -4
  123. package/dist/esm/components/dropdown/DropdownTool.js +4 -3
  124. package/dist/esm/components/empty/EmptyContent.js +6 -3
  125. package/dist/esm/components/icon/Icon.js +15 -14
  126. package/dist/esm/components/media/Media.js +117 -76
  127. package/dist/esm/components/menu/ContextMenu.js +32 -12
  128. package/dist/esm/components/menu/Menu.js +41 -22
  129. package/dist/esm/components/menu/MenuItem.js +24 -10
  130. package/dist/esm/components/meter/Meter.js +2 -3
  131. package/dist/esm/components/navigator/Navigator.js +16 -9
  132. package/dist/esm/components/panel/Panel.js +10 -9
  133. package/dist/esm/components/panel/PanelGroup.js +1 -2
  134. package/dist/esm/components/progress/ProgressBar.js +6 -5
  135. package/dist/esm/components/progress/ProgressCircle.js +6 -4
  136. package/dist/esm/components/tabpanel/Tab.js +59 -39
  137. package/dist/esm/components/tabpanel/TabPanel.js +20 -16
  138. package/dist/esm/core/aside/Aside.js +11 -10
  139. package/dist/esm/core/boundary/ErrorBoundary.js +6 -7
  140. package/dist/esm/core/boundary/ErrorIcon.js +1 -2
  141. package/dist/esm/core/content/Content.js +9 -7
  142. package/dist/esm/core/headfoot/HeadFoot.js +2 -20
  143. package/dist/esm/core/page/Page.js +3 -3
  144. package/dist/esm/core/responsive/Responsive.js +3 -4
  145. package/dist/esm/core/section/Section.js +1 -2
  146. package/dist/esm/core/theme/ThemeProvider.js +7 -8
  147. package/dist/esm/core/viewport/Viewport.js +4 -2
  148. package/dist/esm/hooks/useNavigator.js +7 -5
  149. package/dist/esm/hotkeys/HotKeyLabel.js +1 -1
  150. package/dist/esm/hotkeys/HotKeyWrapper.js +3 -1
  151. package/dist/esm/index.js +3 -1
  152. package/dist/esm/overlays/alert/Alert.js +20 -14
  153. package/dist/esm/overlays/flyout/Flyout.js +52 -63
  154. package/dist/esm/overlays/message/Message.js +7 -4
  155. package/dist/esm/overlays/modal/Modal.js +12 -12
  156. package/dist/esm/overlays/toast/Toast.js +18 -10
  157. package/dist/esm/overlays/tooltip/Tooltip.js +20 -8
  158. package/dist/esm/types/icons.js +4 -0
  159. package/dist/esm/typography/Abbr.js +2 -3
  160. package/dist/esm/typography/{Link.js → Anchor.js} +6 -5
  161. package/dist/esm/typography/Mark.js +2 -3
  162. package/dist/esm/typography/Text.js +4 -5
  163. package/dist/esm/typography/Title.js +4 -4
  164. package/dist/esm/utils/cloneElement.js +44 -0
  165. package/dist/esm/utils/getColor.js +2 -16
  166. package/dist/types/components/actionLabel/ActionLabel.d.ts +2 -2
  167. package/dist/types/components/animations/Animations.d.ts +5 -5
  168. package/dist/types/components/avatar/Avatar.d.ts +3 -3
  169. package/dist/types/components/badge/Badge.d.ts +5 -1
  170. package/dist/types/components/breadcrumbs/Breadcrumbs.d.ts +2 -2
  171. package/dist/types/components/button/Button.d.ts +7 -5
  172. package/dist/types/components/button/ButtonGroup.d.ts +2 -2
  173. package/dist/types/components/button/ConfirmButton.d.ts +6 -1
  174. package/dist/types/components/callout/Callout.d.ts +2 -2
  175. package/dist/types/components/card/Card.d.ts +3 -3
  176. package/dist/types/components/chip/Chip.d.ts +3 -3
  177. package/dist/types/components/collapsable/Collapsable.d.ts +5 -1
  178. package/dist/types/components/divider/Divider.d.ts +7 -3
  179. package/dist/types/components/dropdown/DropdownTool.d.ts +2 -1
  180. package/dist/types/components/empty/EmptyContent.d.ts +6 -2
  181. package/dist/types/components/icon/Icon.d.ts +3 -3
  182. package/dist/types/components/media/Media.d.ts +2 -2
  183. package/dist/types/components/menu/ContextMenu.d.ts +2 -1
  184. package/dist/types/components/menu/MenuItem.d.ts +1 -1
  185. package/dist/types/components/menu/types.d.ts +2 -2
  186. package/dist/types/components/navigator/Navigator.d.ts +4 -4
  187. package/dist/types/components/progress/ProgressBar.d.ts +2 -2
  188. package/dist/types/components/progress/ProgressCircle.d.ts +2 -2
  189. package/dist/types/components/tabpanel/Tab.d.ts +5 -5
  190. package/dist/types/components/tabpanel/TabPanel.d.ts +10 -1
  191. package/dist/types/core/content/Content.d.ts +3 -2
  192. package/dist/types/core/headfoot/HeadFoot.d.ts +1 -9
  193. package/dist/types/core/responsive/Responsive.d.ts +1 -1
  194. package/dist/types/core/theme/ThemeProvider.d.ts +4 -4
  195. package/dist/types/hooks/useOverlayService.d.ts +3 -5
  196. package/dist/types/index.d.ts +3 -0
  197. package/dist/types/overlays/alert/Alert.d.ts +2 -2
  198. package/dist/types/overlays/flyout/Flyout.d.ts +3 -2
  199. package/dist/types/overlays/message/Message.d.ts +2 -2
  200. package/dist/types/overlays/modal/Modal.d.ts +4 -3
  201. package/dist/types/overlays/toast/Toast.d.ts +2 -2
  202. package/dist/types/overlays/tooltip/Tooltip.d.ts +1 -1
  203. package/dist/types/types/icons.d.ts +4 -0
  204. package/dist/types/types/index.d.ts +18 -6
  205. package/dist/types/typography/Abbr.d.ts +6 -2
  206. package/dist/types/typography/Anchor.d.ts +25 -0
  207. package/dist/types/typography/Mark.d.ts +2 -2
  208. package/dist/types/typography/index.d.ts +1 -1
  209. package/dist/types/utils/cloneElement.d.ts +2 -0
  210. package/dist/types/utils/getColor.d.ts +1 -4
  211. package/dist/types/utils/index.d.ts +1 -0
  212. package/package.json +7 -9
  213. package/src/components/actionLabel/ActionLabel.tsx +15 -6
  214. package/src/components/animations/Animations.tsx +29 -23
  215. package/src/components/avatar/Avatar.tsx +74 -88
  216. package/src/components/avatar/AvatarGroup.tsx +4 -4
  217. package/src/components/badge/Badge.tsx +11 -7
  218. package/src/components/breadcrumbs/Breadcrumbs.tsx +13 -9
  219. package/src/components/button/Button.tsx +27 -22
  220. package/src/components/button/ButtonGroup.tsx +7 -7
  221. package/src/components/button/ConfirmButton.tsx +15 -5
  222. package/src/components/button/ToggleButtonGroup.tsx +5 -5
  223. package/src/components/callout/Callout.tsx +26 -11
  224. package/src/components/card/Card.tsx +10 -7
  225. package/src/components/card/CardCover.tsx +11 -6
  226. package/src/components/chip/Chip.tsx +17 -13
  227. package/src/components/collapsable/Collapsable.tsx +9 -4
  228. package/src/components/divider/Divider.tsx +15 -10
  229. package/src/components/dropdown/Dropdown.tsx +5 -5
  230. package/src/components/dropdown/DropdownTool.tsx +5 -3
  231. package/src/components/empty/EmptyContent.tsx +17 -2
  232. package/src/components/icon/Icon.tsx +55 -67
  233. package/src/components/media/Media.tsx +141 -106
  234. package/src/components/menu/ContextMenu.tsx +36 -11
  235. package/src/components/menu/Menu.tsx +51 -30
  236. package/src/components/menu/MenuItem.tsx +19 -9
  237. package/src/components/menu/types.ts +2 -2
  238. package/src/components/meter/Meter.tsx +2 -3
  239. package/src/components/navigator/Navigator.tsx +19 -5
  240. package/src/components/panel/Panel.tsx +10 -9
  241. package/src/components/panel/PanelGroup.tsx +1 -2
  242. package/src/components/progress/ProgressBar.tsx +8 -9
  243. package/src/components/progress/ProgressCircle.tsx +6 -9
  244. package/src/components/tabpanel/Tab.tsx +81 -64
  245. package/src/components/tabpanel/TabPanel.tsx +34 -12
  246. package/src/core/aside/Aside.tsx +11 -10
  247. package/src/core/boundary/ErrorBoundary.tsx +8 -7
  248. package/src/core/boundary/ErrorIcon.tsx +1 -2
  249. package/src/core/content/Content.tsx +17 -12
  250. package/src/core/headfoot/HeadFoot.tsx +2 -35
  251. package/src/core/page/Page.tsx +3 -3
  252. package/src/core/responsive/Responsive.tsx +8 -7
  253. package/src/core/section/Section.tsx +1 -2
  254. package/src/core/theme/ThemeProvider.tsx +11 -12
  255. package/src/core/viewport/Viewport.tsx +1 -2
  256. package/src/hooks/useNavigator.tsx +10 -5
  257. package/src/hooks/useOverlayService.tsx +12 -6
  258. package/src/hotkeys/HotKeyLabel.tsx +1 -1
  259. package/src/hotkeys/HotKeyWrapper.tsx +3 -1
  260. package/src/index.ts +4 -0
  261. package/src/overlays/alert/Alert.tsx +25 -31
  262. package/src/overlays/flyout/Flyout.tsx +71 -84
  263. package/src/overlays/message/Message.tsx +10 -7
  264. package/src/overlays/modal/Modal.tsx +20 -15
  265. package/src/overlays/toast/Toast.tsx +18 -27
  266. package/src/overlays/tooltip/Tooltip.tsx +30 -9
  267. package/src/types/icons.ts +9 -0
  268. package/src/types/index.ts +251 -27
  269. package/src/typography/Abbr.tsx +15 -9
  270. package/src/typography/{Link.tsx → Anchor.tsx} +8 -13
  271. package/src/typography/Mark.tsx +4 -9
  272. package/src/typography/Text.tsx +4 -12
  273. package/src/typography/Title.tsx +2 -6
  274. package/src/typography/index.ts +1 -1
  275. package/src/utils/cloneElement.ts +44 -0
  276. package/src/utils/getColor.ts +1 -17
  277. package/src/utils/index.ts +1 -0
  278. package/css/index.js +0 -250
  279. package/css/tailwind/colors.ts +0 -158
  280. package/dist/cjs/components/actionLabel/ActionLabel.module.css +0 -1
  281. package/dist/cjs/components/animations/Animations.module.css +0 -1
  282. package/dist/cjs/components/avatar/Avatar.module.css +0 -1
  283. package/dist/cjs/components/badge/Badge.module.css +0 -1
  284. package/dist/cjs/components/breadcrumbs/Breadcrumbs.module.css +0 -1
  285. package/dist/cjs/components/button/Button.module.css +0 -1
  286. package/dist/cjs/components/card/Card.module.css +0 -1
  287. package/dist/cjs/components/chip/Chip.module.css +0 -1
  288. package/dist/cjs/components/collapsable/Collapsable.module.css +0 -1
  289. package/dist/cjs/components/dropdown/Dropdown.module.css +0 -1
  290. package/dist/cjs/components/icon/Icon.module.css +0 -1
  291. package/dist/cjs/components/media/Media.module.css +0 -1
  292. package/dist/cjs/components/menu/Menu.module.css +0 -1
  293. package/dist/cjs/components/meter/Meter.module.css +0 -1
  294. package/dist/cjs/components/panel/Panel.module.css +0 -1
  295. package/dist/cjs/components/progress/Progress.module.css +0 -1
  296. package/dist/cjs/components/tabpanel/TabPanel.module.css +0 -1
  297. package/dist/cjs/core/aside/Aside.module.css +0 -1
  298. package/dist/cjs/core/boundary/ErrorBoundary.module.css +0 -1
  299. package/dist/cjs/core/content/Content.module.css +0 -1
  300. package/dist/cjs/core/headfoot/HeadFoot.module.css +0 -1
  301. package/dist/cjs/core/page/Page.module.css +0 -1
  302. package/dist/cjs/core/responsive/Responsive.module.css +0 -1
  303. package/dist/cjs/core/section/Section.module.css +0 -1
  304. package/dist/cjs/core/theme/Theme.module.css +0 -1
  305. package/dist/cjs/core/viewport/Viewport.module.css +0 -1
  306. package/dist/cjs/overlays/alert/Alert.module.css +0 -1
  307. package/dist/cjs/overlays/flyout/Flyout.module.css +0 -1
  308. package/dist/cjs/overlays/message/Message.module.css +0 -1
  309. package/dist/cjs/overlays/modal/Modal.module.css +0 -1
  310. package/dist/cjs/overlays/toast/Toast.module.css +0 -1
  311. package/dist/cjs/overlays/tooltip/Tooltip.module.css +0 -1
  312. package/dist/cjs/typography/Typography.module.css +0 -1
  313. package/dist/esm/components/actionLabel/ActionLabel.module.css +0 -1
  314. package/dist/esm/components/animations/Animations.module.css +0 -1
  315. package/dist/esm/components/avatar/Avatar.module.css +0 -1
  316. package/dist/esm/components/badge/Badge.module.css +0 -1
  317. package/dist/esm/components/breadcrumbs/Breadcrumbs.module.css +0 -1
  318. package/dist/esm/components/button/Button.module.css +0 -1
  319. package/dist/esm/components/card/Card.module.css +0 -1
  320. package/dist/esm/components/chip/Chip.module.css +0 -1
  321. package/dist/esm/components/collapsable/Collapsable.module.css +0 -1
  322. package/dist/esm/components/dropdown/Dropdown.module.css +0 -1
  323. package/dist/esm/components/icon/Icon.module.css +0 -1
  324. package/dist/esm/components/media/Media.module.css +0 -1
  325. package/dist/esm/components/menu/Menu.module.css +0 -1
  326. package/dist/esm/components/meter/Meter.module.css +0 -1
  327. package/dist/esm/components/panel/Panel.module.css +0 -1
  328. package/dist/esm/components/progress/Progress.module.css +0 -1
  329. package/dist/esm/components/tabpanel/TabPanel.module.css +0 -1
  330. package/dist/esm/core/aside/Aside.module.css +0 -1
  331. package/dist/esm/core/boundary/ErrorBoundary.module.css +0 -1
  332. package/dist/esm/core/content/Content.module.css +0 -1
  333. package/dist/esm/core/headfoot/HeadFoot.module.css +0 -1
  334. package/dist/esm/core/page/Page.module.css +0 -1
  335. package/dist/esm/core/responsive/Responsive.module.css +0 -1
  336. package/dist/esm/core/section/Section.module.css +0 -1
  337. package/dist/esm/core/theme/Theme.module.css +0 -1
  338. package/dist/esm/core/viewport/Viewport.module.css +0 -1
  339. package/dist/esm/overlays/alert/Alert.module.css +0 -1
  340. package/dist/esm/overlays/flyout/Flyout.module.css +0 -1
  341. package/dist/esm/overlays/message/Message.module.css +0 -1
  342. package/dist/esm/overlays/modal/Modal.module.css +0 -1
  343. package/dist/esm/overlays/toast/Toast.module.css +0 -1
  344. package/dist/esm/overlays/tooltip/Tooltip.module.css +0 -1
  345. package/dist/esm/typography/Typography.module.css +0 -1
  346. package/dist/types/typography/Link.d.ts +0 -25
  347. package/src/overlays/tooltip/Tooltip.module.css +0 -53
@@ -48,7 +48,6 @@ import {
48
48
  import { mergeRefs } from "@react-fabric/utilities";
49
49
  import classNames from "classnames";
50
50
  import {
51
- Children,
52
51
  cloneElement,
53
52
  Fragment,
54
53
  useCallback,
@@ -56,8 +55,9 @@ import {
56
55
  useRef,
57
56
  useState,
58
57
  } from "react";
58
+ import { HotKeyWrapper } from "../../hotkeys/HotKeyWrapper";
59
59
  import { CoreIcons } from "../../types/icons";
60
- import { nodeCheck } from "../../utils";
60
+ import { cloneChildren, nodeCheck } from "../../utils";
61
61
  import { MenuItem } from "./MenuItem";
62
62
  import { type MenuProps } from "./types";
63
63
 
@@ -104,8 +104,9 @@ const MenuComponent = ({
104
104
  handleClose: safePolygon({ blockPointerEvents: true }),
105
105
  });
106
106
  const click = useClick(context, {
107
- toggle: true,
108
- ignoreMouse: true,
107
+ event: "mousedown",
108
+ toggle: !isNested,
109
+ ignoreMouse: isNested,
109
110
  });
110
111
  const role = useRole(context, { role: "menu" });
111
112
  const dismiss = useDismiss(context, { bubbles: true });
@@ -187,6 +188,16 @@ const MenuComponent = ({
187
188
  );
188
189
  }, [isOpen]);
189
190
 
191
+ useEffect(() => {
192
+ if ((!isNested || isOpen) && activeIndex) {
193
+ setTimeout(() => {
194
+ elementsRef.current[activeIndex]?.scrollIntoView({
195
+ block: "nearest",
196
+ });
197
+ }, 100);
198
+ }
199
+ }, [isOpen, activeIndex]);
200
+
190
201
  return (
191
202
  <FloatingNode id={nodeId}>
192
203
  {isNested && (
@@ -210,29 +221,29 @@ const MenuComponent = ({
210
221
  {(!isNested || isOpen) && (
211
222
  <Wrapper {...wrapperProps}>
212
223
  {isNested && <FloatingOverlay />}
213
- <FloatingFocusManager
214
- context={context}
215
- modal={!isNested}
216
- initialFocus={isNested ? -1 : 0}
217
- returnFocus={!isNested}
218
- >
219
- <div
220
- className={classNames(
221
- menuClassName,
222
- "flex flex-col bg-base p-1 menu-list",
223
- isNested &&
224
- "outline shadow-lg rounded-capped max-h-96 overflow-auto scroll-thin z-[var(--z-popover)]",
225
- )}
226
- autoFocus
227
- ref={mergeRefs(refs.setFloating, isNested ? undefined : ref)}
228
- {...getFloatingProps({
229
- onClick: isNested ? undefined : handleClick,
230
- })}
231
- // @ts-expect-error ignore
232
- {...{ style: !isNested ? rest.style : floatingStyles }}
224
+ <HotKeyWrapper>
225
+ <FloatingFocusManager
226
+ context={context}
227
+ modal={!isNested}
228
+ initialFocus={isNested ? -1 : 0}
229
+ returnFocus={!isNested}
233
230
  >
234
- {Children.map(children, (child: AnyObject, index) => {
235
- if (child) {
231
+ <div
232
+ className={classNames(
233
+ menuClassName,
234
+ "flex flex-col bg-base p-1 menu-list",
235
+ isNested &&
236
+ "outline shadow-lg rounded-capped max-h-96 overflow-auto scroll-thin z-(--z-popover)",
237
+ )}
238
+ autoFocus
239
+ ref={mergeRefs(isNested ? refs.setFloating : ref)}
240
+ {...getFloatingProps({
241
+ onClick: isNested ? undefined : handleClick,
242
+ })}
243
+ // @ts-expect-error ignore
244
+ {...{ style: !isNested ? rest.style : floatingStyles }}
245
+ >
246
+ {cloneChildren(children, (child: AnyObject, index) => {
236
247
  labelsRef.current[index] = child.props.label;
237
248
  return cloneElement(
238
249
  child,
@@ -249,10 +260,10 @@ const MenuComponent = ({
249
260
  }
250
261
  : {},
251
262
  );
252
- }
253
- })}
254
- </div>
255
- </FloatingFocusManager>
263
+ })}
264
+ </div>
265
+ </FloatingFocusManager>
266
+ </HotKeyWrapper>
256
267
  </Wrapper>
257
268
  )}
258
269
  </FloatingList>
@@ -262,6 +273,16 @@ const MenuComponent = ({
262
273
 
263
274
  export const Menu = (props: MenuProps) => {
264
275
  const parentId = useFloatingParentNodeId();
276
+ const tree = useFloatingTree();
277
+
278
+ if (tree) {
279
+ return (
280
+ <MenuComponent
281
+ {...(props as AnyObject)}
282
+ menuClassName={props.className}
283
+ />
284
+ );
285
+ }
265
286
 
266
287
  if (parentId === null) {
267
288
  return (
@@ -22,15 +22,15 @@
22
22
  */
23
23
 
24
24
  import { useFloatingTree } from "@floating-ui/react";
25
- import { iconToken } from "@react-fabric/utilities";
25
+ import { iconToken, mergeRefs } from "@react-fabric/utilities";
26
26
  import classNames from "classnames";
27
- import { Fragment, useCallback, useMemo } from "react";
27
+ import { Fragment, useCallback, useEffect, useMemo, useRef } from "react";
28
+ import { HotKey } from "../../hotkeys/HotKey";
28
29
  import { HotKeyLabel } from "../../hotkeys/HotKeyLabel";
29
30
  import { Tooltip } from "../../overlays";
30
31
  import { type PolymorphicProps } from "../../types";
31
32
  import { Badge, getBadgeProps } from "../badge/Badge";
32
33
  import { Icon } from "../icon/Icon";
33
- import classes from "./Menu.module.css";
34
34
  import { type MenuItemProps } from "./types";
35
35
 
36
36
  export const MenuItem = <Tag extends React.ElementType = "button">({
@@ -50,6 +50,7 @@ export const MenuItem = <Tag extends React.ElementType = "button">({
50
50
  onClick,
51
51
  badge,
52
52
  hotKey,
53
+ tabIndex = -1,
53
54
  // @ts-expect-error ignore
54
55
  minimal,
55
56
  // @ts-expect-error ignore
@@ -58,11 +59,16 @@ export const MenuItem = <Tag extends React.ElementType = "button">({
58
59
  ref,
59
60
  ...aria
60
61
  }: MenuItemProps & PolymorphicProps<Tag>) => {
62
+ const elRef = useRef<HTMLElement>(null);
61
63
  const tree = useFloatingTree();
62
64
  const badgeProps = useMemo(() => {
63
65
  return getBadgeProps(badge);
64
66
  }, [badge]);
65
67
 
68
+ useEffect(() => {
69
+ tabIndex === 0 && elRef.current?.focus();
70
+ }, [tabIndex]);
71
+
66
72
  const iconEl = useMemo(() => {
67
73
  let path = icon;
68
74
  if (minimal && !path) {
@@ -70,7 +76,7 @@ export const MenuItem = <Tag extends React.ElementType = "button">({
70
76
  }
71
77
  return (
72
78
  <Icon
73
- className={classNames(classes.menuIcon, minimal && classes.minimal)}
79
+ className={classNames("fabric-menuIcon", minimal && "minimal")}
74
80
  icon={path ?? ""}
75
81
  bg={iconBg}
76
82
  color={iconColor}
@@ -135,26 +141,30 @@ export const MenuItem = <Tag extends React.ElementType = "button">({
135
141
  return (
136
142
  <Wrapper {...aria}>
137
143
  <E
138
- ref={ref}
144
+ ref={mergeRefs(ref, elRef)}
139
145
  data-dropdown-dismiss
140
146
  data-color={color}
141
147
  className={classNames(
142
- classes.menuItem,
148
+ "fabric-menuItem cursor-pointer",
143
149
  className,
144
- active && classes.active,
145
- minimal && classes.minimal,
146
- disabled && classes.disabled,
150
+ active && "active",
151
+ minimal && "minimal",
152
+ disabled && "disabled",
147
153
  "rounded-capped relative max-w-[50vw] my-0.5",
148
154
  )}
149
155
  data-active={active}
150
156
  data-open={childOpen}
151
157
  disabled={disabled}
152
158
  data-id={id}
159
+ tabIndex={tabIndex}
153
160
  onClick={(e) => {
154
161
  onClick?.(e) !== false && tree?.events.emit("click");
155
162
  }}
156
163
  {...(minimal ? {} : aria)}
157
164
  >
165
+ {hotKey && (
166
+ <HotKey keyCombo={hotKey} handler={() => elRef.current?.click?.()} />
167
+ )}
158
168
  {menuLabel}
159
169
  </E>
160
170
  </Wrapper>
@@ -27,7 +27,7 @@ import {
27
27
  type BadgeType,
28
28
  type CallbackReturn,
29
29
  type ChildrenProp,
30
- type ColorType,
30
+ type ColorState,
31
31
  type CssProp,
32
32
  type IconProps,
33
33
  type TestProps,
@@ -53,7 +53,7 @@ export interface MenuItemProps
53
53
  /**
54
54
  * menu color
55
55
  */
56
- color?: ColorType;
56
+ color?: ColorState;
57
57
  /**
58
58
  * item active
59
59
  */
@@ -25,7 +25,6 @@ import { Format } from "@react-fabric/utilities";
25
25
  import classNames from "classnames";
26
26
  import { useMemoDebugger } from "../../hooks/useEffectDebugger";
27
27
  import { type AriaProps, type CssProp, type TestProps } from "../../types";
28
- import classes from "./Meter.module.css";
29
28
 
30
29
  export interface MeterProps extends CssProp, AriaProps, TestProps {
31
30
  /**
@@ -51,7 +50,7 @@ export const Meter = ({ value, hideLabel, className, ...aria }: MeterProps) => {
51
50
  return (
52
51
  <div
53
52
  className={classNames(
54
- classes.meter,
53
+ "fabric-meter",
55
54
  className,
56
55
  "flex flex-nowrap items-center gap-[2px]",
57
56
  )}
@@ -61,7 +60,7 @@ export const Meter = ({ value, hideLabel, className, ...aria }: MeterProps) => {
61
60
  <div
62
61
  key={step}
63
62
  className={classNames(
64
- classes.meterBar,
63
+ "fabric-meterBar",
65
64
  "first-of-type:rounded-s last-of-type:rounded-e bg-tint-100 relative outline -outline-offset-1 outline-muted overflow-hidden after:absolute after:inset-0",
66
65
  )}
67
66
  data-active={activeCount >= step}
@@ -22,21 +22,28 @@
22
22
  */
23
23
 
24
24
  import classNames from "classnames";
25
+ import { useCallback } from "react";
25
26
  import { HotKey } from "../../hotkeys/HotKey";
26
27
  import {
27
28
  type AriaProps,
29
+ type ChildProp,
28
30
  type ColorType,
29
31
  type CssProp,
32
+ type PaletteType,
30
33
  type TestProps,
31
34
  } from "../../types";
32
35
  import { CoreIcons } from "../../types/icons";
33
36
  import { Icon } from "../icon/Icon";
34
37
 
35
- export interface NavigatorProps extends CssProp, AriaProps, TestProps {
38
+ export interface NavigatorProps
39
+ extends CssProp,
40
+ AriaProps,
41
+ TestProps,
42
+ Partial<ChildProp> {
36
43
  /**
37
44
  * navigator button color
38
45
  */
39
- color?: ColorType | string;
46
+ color?: ColorType | PaletteType | string;
40
47
  /**
41
48
  * navigation handler
42
49
  */
@@ -47,28 +54,35 @@ export const Navigator = ({
47
54
  className,
48
55
  onNavigate,
49
56
  color,
57
+ children,
50
58
  ...aria
51
59
  }: NavigatorProps) => {
60
+ const navPrev = useCallback(() => onNavigate(-1), [onNavigate]);
61
+ const navNext = useCallback(() => onNavigate(+1), [onNavigate]);
52
62
  return (
53
63
  <div
54
- className={classNames(className, "inline-block leading-none")}
64
+ data-ref="navigator"
65
+ className={classNames(className, "inline-flex items-center leading-none")}
55
66
  {...aria}
56
67
  >
57
- <HotKey keyCombo="left" handler={() => onNavigate(-1)} />
58
- <HotKey keyCombo="right" handler={() => onNavigate(1)} />
68
+ <HotKey keyCombo="left" handler={navPrev} />
69
+ <HotKey keyCombo="right" handler={navNext} />
59
70
  <Icon
60
71
  rtlFlip
61
72
  color={color}
62
73
  className="text-[1em] p-1"
63
74
  aria-label="previous"
75
+ data-ref="previous"
64
76
  icon={CoreIcons.chevronLeft}
65
77
  onClick={(e) => [e.stopPropagation(), onNavigate(-1)]}
66
78
  />
79
+ {children}
67
80
  <Icon
68
81
  rtlFlip
69
82
  className="text-[1em] p-1"
70
83
  color={color}
71
84
  aria-label="next"
85
+ data-ref="next"
72
86
  icon={CoreIcons.chevronRight}
73
87
  onClick={(e) => [e.stopPropagation(), onNavigate(1)]}
74
88
  />
@@ -38,7 +38,6 @@ import {
38
38
  import { CoreIcons } from "../../types/icons";
39
39
  import { Loading } from "../animations/Animations";
40
40
  import { Icon } from "../icon/Icon";
41
- import classes from "./Panel.module.css";
42
41
 
43
42
  export interface PanelProps
44
43
  extends CssProp,
@@ -146,7 +145,7 @@ export const Panel = ({
146
145
  return (
147
146
  <div
148
147
  className={classNames(
149
- classes.panel,
148
+ "fabric-panel",
150
149
  className,
151
150
  "rounded-capped overflow-hidden outline grid",
152
151
  expanded ? "fixed inset-4 z-50" : "relative",
@@ -172,16 +171,17 @@ export const Panel = ({
172
171
  <header
173
172
  role="none"
174
173
  className={classNames(
175
- classes.panelHeader,
174
+ "fabric-panelHeader",
176
175
  headerClassName,
177
176
  "flex flex-nowrap items-center area-head",
178
177
  )}
178
+ data-ref="panelHeader"
179
179
  onClick={collapsable ? toggleCollapse : undefined}
180
180
  >
181
181
  {onBack && (
182
182
  <Icon
183
183
  data-ref="panelBack"
184
- className={classNames(classes.panelAction, "cursor-pointer")}
184
+ className={classNames("fabric-panelAction", "cursor-pointer")}
185
185
  icon={CoreIcons.chevronLeft}
186
186
  onClick={onBack}
187
187
  />
@@ -204,7 +204,7 @@ export const Panel = ({
204
204
  >
205
205
  {title}
206
206
  </div>
207
- <div className="px-1">{actions}</div>
207
+ <div className="px-1 leading-none">{actions}</div>
208
208
  {hasTools && (
209
209
  <div
210
210
  role="none"
@@ -214,7 +214,7 @@ export const Panel = ({
214
214
  {expandable && (
215
215
  <Icon
216
216
  data-ref="panelExpand"
217
- className={classNames(classes.panelAction, "cursor-pointer")}
217
+ className={classNames("fabric-panelAction", "cursor-pointer")}
218
218
  icon={expanded ? CoreIcons.minimize : CoreIcons.maximize}
219
219
  onClick={toggleExpand}
220
220
  />
@@ -222,7 +222,7 @@ export const Panel = ({
222
222
  {!expanded && collapsable && (
223
223
  <Icon
224
224
  data-ref="panelCollapse"
225
- className={classNames(classes.panelAction, "cursor-pointer")}
225
+ className={classNames("fabric-panelAction", "cursor-pointer")}
226
226
  icon={collapsed ? CoreIcons.expand : CoreIcons.collapse}
227
227
  onClick={toggleCollapse}
228
228
  />
@@ -230,7 +230,7 @@ export const Panel = ({
230
230
  {!expanded && onClose && (
231
231
  <Icon
232
232
  data-ref="panelClose"
233
- className={classNames(classes.panelAction, "cursor-pointer")}
233
+ className={classNames("fabric-panelAction", "cursor-pointer")}
234
234
  icon={CoreIcons.close}
235
235
  onClick={onClose}
236
236
  />
@@ -240,8 +240,9 @@ export const Panel = ({
240
240
  </header>
241
241
  {(!collapsed || expanded) && (
242
242
  <div
243
+ data-ref="panelBody"
243
244
  className={classNames(
244
- classes.panelBody,
245
+ "fabric-panelBody",
245
246
  "area-content grid overflow-hidden",
246
247
  )}
247
248
  >
@@ -28,7 +28,6 @@ import {
28
28
  useMemoDebugger,
29
29
  } from "../../hooks/useEffectDebugger";
30
30
  import { type ChildrenProp } from "../../types";
31
- import classes from "./Panel.module.css";
32
31
 
33
32
  export interface PanelGroupProps extends ChildrenProp {
34
33
  /**
@@ -81,7 +80,7 @@ export const PanelGroup = ({
81
80
  <div
82
81
  data-ref="panelGroup"
83
82
  className={classNames(
84
- classes.panelGroup,
83
+ "fabric-panelGroup",
85
84
  "flex flex-col overflow-auto area-content p-px",
86
85
  )}
87
86
  >
@@ -24,9 +24,8 @@
24
24
  import { Format } from "@react-fabric/utilities";
25
25
  import classNames from "classnames";
26
26
  import { useMemoDebugger } from "../../hooks/useEffectDebugger";
27
- import { type ColorType } from "../../types";
28
- import { getColorClass } from "../../utils";
29
- import classes from "./Progress.module.css";
27
+ import { type PaletteType, type ColorType } from "../../types";
28
+ import { getColor } from "../../utils";
30
29
 
31
30
  export interface ProgressProps {
32
31
  /**
@@ -40,7 +39,7 @@ export interface ProgressProps {
40
39
  /**
41
40
  * color
42
41
  */
43
- color?: ColorType;
42
+ color?: ColorType | PaletteType;
44
43
  /**
45
44
  * animate
46
45
  */
@@ -64,7 +63,7 @@ const SizeMap: KeyValue = {
64
63
  export const ProgressBar = ({
65
64
  value = 0,
66
65
  size,
67
- color = "primary",
66
+ color = "primary-500",
68
67
  label = "",
69
68
  animate,
70
69
  }: ProgressProps) => {
@@ -87,12 +86,12 @@ export const ProgressBar = ({
87
86
  return (
88
87
  <div
89
88
  className={classNames(
90
- classes.progressbar,
91
- getColorClass(color),
89
+ "fabric-progressbar",
92
90
  "block bg-dimmed relative rounded font-bold overflow-hidden whitespace-nowrap",
93
91
  )}
94
92
  style={{
95
93
  ...progressVar,
94
+ color: getColor(color),
96
95
  minHeight: SizeMap[size ?? ""],
97
96
  fontSize: SizeMap[size ?? ""],
98
97
  }}
@@ -106,8 +105,8 @@ export const ProgressBar = ({
106
105
  )}
107
106
  <div
108
107
  className={classNames(
109
- classes.progressTrack,
110
- animate && classes.progressAnimate,
108
+ "fabric-progressTrack",
109
+ animate && "fabric-progressAnimate",
111
110
  "h-full overflow-clip bg-current relative z-0",
112
111
  )}
113
112
  />
@@ -24,8 +24,8 @@
24
24
  import { Format } from "@react-fabric/utilities";
25
25
  import classNames from "classnames";
26
26
  import { useMemoDebugger } from "../../hooks/useEffectDebugger";
27
- import { type ColorType } from "../../types";
28
- import { getColorClass } from "../../utils";
27
+ import { type PaletteType, type ColorType } from "../../types";
28
+ import { getColor } from "../../utils";
29
29
 
30
30
  export interface ProgressProps {
31
31
  /**
@@ -39,7 +39,7 @@ export interface ProgressProps {
39
39
  /**
40
40
  * color
41
41
  */
42
- color?: ColorType;
42
+ color?: ColorType | PaletteType;
43
43
  }
44
44
 
45
45
  const SizeMap: KeyValue = {
@@ -53,7 +53,7 @@ const SizeMap: KeyValue = {
53
53
  export const ProgressCircle = ({
54
54
  value = 0,
55
55
  size = "sm",
56
- color = "primary",
56
+ color = "primary-500",
57
57
  }: ProgressProps) => {
58
58
  /** ***************** make sure value is between 0 and 100 *******************/
59
59
  const actualValue = useMemoDebugger(
@@ -75,12 +75,9 @@ export const ProgressCircle = ({
75
75
  /** ***************** component *******************/
76
76
  return (
77
77
  <div
78
- className={classNames(
79
- "inline-block w-[4em] h-[4em] text-lg relative",
80
- getColorClass(color),
81
- )}
78
+ className={classNames("inline-block w-[4em] h-[4em] text-lg relative")}
82
79
  aria-hidden="true"
83
- style={{ fontSize: SizeMap[size] }}
80
+ style={{ fontSize: SizeMap[size], color: getColor(color) }}
84
81
  >
85
82
  <svg
86
83
  viewBox="0 0 100 100"