@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
@@ -21,24 +21,26 @@
21
21
  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
22
  */
23
23
 
24
+ import { isString } from "@react-fabric/utilities";
24
25
  import classNames from "classnames";
25
- import { type ReactElement, useMemo } from "react";
26
+ import { Fragment, type ReactElement, useMemo } from "react";
27
+ import { Tooltip } from "../../overlays";
26
28
  import {
27
29
  type AriaProps,
28
30
  type BadgeType,
29
31
  type CallbackReturn,
30
32
  type ChildrenProp,
31
- type ColorType,
33
+ type ColorState,
32
34
  type CssProp,
33
35
  type IconProps,
34
36
  type PolymorphicProps,
35
37
  type RefProp,
36
38
  type TestProps,
39
+ type TooltipProp,
37
40
  } from "../../types";
38
41
  import { Badge, getBadgeProps } from "../badge/Badge";
39
42
  import { DropdownTool } from "../dropdown/DropdownTool";
40
43
  import { Icon } from "../icon/Icon";
41
- import classes from "./TabPanel.module.css";
42
44
 
43
45
  export interface TabProps
44
46
  extends Partial<ChildrenProp>,
@@ -46,7 +48,8 @@ export interface TabProps
46
48
  RefProp,
47
49
  AriaProps,
48
50
  TestProps,
49
- IconProps {
51
+ IconProps,
52
+ TooltipProp {
50
53
  /**
51
54
  * tab id
52
55
  */
@@ -58,11 +61,11 @@ export interface TabProps
58
61
  /**
59
62
  * tab color
60
63
  */
61
- color?: ColorType;
64
+ color?: ColorState;
62
65
  /**
63
66
  * tab badge
64
67
  */
65
- badge?: BadgeType;
68
+ badge?: string | number | BadgeType;
66
69
  /**
67
70
  * disabled
68
71
  */
@@ -104,12 +107,11 @@ export const Tab = <Tag extends React.ElementType = "button">({
104
107
  onClose,
105
108
  // @ts-expect-error ignore
106
109
  active,
107
- // @ts-expect-error ignore
108
- minimal,
109
110
  onClick,
110
111
  tabFlex,
111
112
  color,
112
113
  actions,
114
+ tooltip,
113
115
  activeClassName,
114
116
  ...aria
115
117
  }: TabProps & PolymorphicProps<Tag>) => {
@@ -117,63 +119,78 @@ export const Tab = <Tag extends React.ElementType = "button">({
117
119
  return getBadgeProps(badge);
118
120
  }, [badge]);
119
121
 
122
+ const minimal = useMemo(() => !label, [label]);
123
+
124
+ const tooltipProps = useMemo(() => {
125
+ if (isString(tooltip)) return { content: tooltip };
126
+
127
+ return tooltip ?? {};
128
+ }, [tooltip]);
129
+
120
130
  const E = as ?? "button";
131
+ const W = tooltip ? Tooltip : Fragment;
121
132
  return (
122
- <E
123
- data-id={id}
124
- disabled={disabled}
125
- data-color={color}
126
- className={classNames(
127
- classes.tabButton,
128
- className,
129
- active && "active pointer-events-none",
130
- active && activeClassName,
131
- disabled && "text-tint-500 pointer-events-none",
132
- tabFlex ? "flex-1" : "flex-initial max-w-36 min-w-24",
133
- "flex items-center justify-center px-1 rounded overflow-hidden",
134
- )}
135
- onClick={() => !active && onClick?.(id)}
136
- ref={ref as AnyObject}
137
- {...aria}
138
- >
139
- {icon && (
140
- <Icon
141
- icon={icon}
142
- bg={iconBg}
143
- color={iconColor}
144
- rtlFlip={rtlFlip}
145
- className="flex-content"
146
- />
147
- )}
148
- {!minimal && (
149
- <label className="flex-initial truncate text-center px-1 py-1">
150
- {label}
151
- </label>
152
- )}
153
- {badge && (
154
- <Badge
155
- {...badgeProps}
156
- placement={minimal ? "end" : ""}
157
- className={classNames("me-1", badgeProps.className)}
158
- />
159
- )}
160
- {actions && active && (
161
- <DropdownTool className="bg-base/20 me-1 z-5">{actions}</DropdownTool>
162
- )}
163
- {onClose && (
164
- <span
165
- role="none"
166
- className={classNames(
167
- "cursor-pointer me-1 opacity-65 hover:opacity-90 pointer-events-auto",
168
- )}
169
- onClick={(e) => {
170
- onClose?.();
171
- e.stopPropagation();
172
- }}
173
- >
174
- &times;
175
- </span>
176
- )}
177
- </E>
133
+ <W {...tooltipProps}>
134
+ <E
135
+ data-id={id}
136
+ disabled={disabled}
137
+ data-color={color}
138
+ data-inner-clickable
139
+ className={classNames(
140
+ "fabric-tabButton",
141
+ className,
142
+ active && "active pointer-events-none",
143
+ active && activeClassName,
144
+ disabled && "text-tint-500 pointer-events-none",
145
+ tabFlex ? "flex-1" : "flex-initial max-w-36",
146
+ minimal ? "min-w-6" : "min-w-18",
147
+ "flex items-center justify-center px-1 rounded overflow-hidden",
148
+ )}
149
+ onClick={() => !active && onClick?.(id)}
150
+ ref={ref as AnyObject}
151
+ {...aria}
152
+ >
153
+ {icon && (
154
+ <Icon
155
+ icon={icon}
156
+ bg={iconBg}
157
+ color={iconColor}
158
+ rtlFlip={rtlFlip}
159
+ className="flex-content p-2"
160
+ />
161
+ )}
162
+ {!minimal && (
163
+ <label className="flex-initial truncate text-center px-1 py-1">
164
+ {label}
165
+ </label>
166
+ )}
167
+ {badge && (
168
+ <Badge
169
+ {...badgeProps}
170
+ placement={minimal ? "end" : ""}
171
+ className={classNames("me-1", badgeProps.className)}
172
+ />
173
+ )}
174
+ {actions && active && (
175
+ <DropdownTool className="bg-tint-50/20 me-1 z-5">
176
+ {actions}
177
+ </DropdownTool>
178
+ )}
179
+ {onClose && (
180
+ <span
181
+ role="none"
182
+ className={classNames(
183
+ "cursor-pointer me-1 opacity-65 hover:opacity-90 pointer-events-auto",
184
+ )}
185
+ onClick={(e) => {
186
+ onClose?.();
187
+ e.stopPropagation();
188
+ }}
189
+ >
190
+ &times;
191
+ </span>
192
+ )}
193
+ </E>
194
+ </W>
178
195
  );
179
196
  };
@@ -25,6 +25,7 @@ import classNames from "classnames";
25
25
  import {
26
26
  Children,
27
27
  cloneElement,
28
+ type ReactNode,
28
29
  useCallback,
29
30
  useEffect,
30
31
  useMemo,
@@ -33,7 +34,6 @@ import {
33
34
  import { type CallbackReturn, type ChildrenProp } from "../../types";
34
35
  import { nodeCheck } from "../../utils";
35
36
  import { Tab } from "./Tab";
36
- import classes from "./TabPanel.module.css";
37
37
 
38
38
  export interface TabPanelProps extends ChildrenProp<typeof Tab> {
39
39
  /**
@@ -64,6 +64,14 @@ export interface TabPanelProps extends ChildrenProp<typeof Tab> {
64
64
  * tab list className
65
65
  */
66
66
  headerClassName?: string;
67
+ /**
68
+ * append element
69
+ */
70
+ append?: ReactNode;
71
+ /**
72
+ * prepend element
73
+ */
74
+ prepend?: ReactNode;
67
75
  /**
68
76
  * change handler
69
77
  */
@@ -84,6 +92,8 @@ export const TabPanel = ({
84
92
  justify,
85
93
  variant,
86
94
  tabFlex,
95
+ append,
96
+ prepend,
87
97
  gap,
88
98
  onBeforeChange,
89
99
  onChange,
@@ -124,7 +134,7 @@ export const TabPanel = ({
124
134
  return (
125
135
  <div
126
136
  className={classNames(
127
- classes.tabPanel,
137
+ "fabric-tabPanel",
128
138
  "area-content grid bg-base overflow-hidden",
129
139
  )}
130
140
  data-orientation={orientation}
@@ -132,21 +142,33 @@ export const TabPanel = ({
132
142
  >
133
143
  <div
134
144
  className={classNames(
135
- classes.tabList,
145
+ "fabric-tabHeader",
136
146
  headerClassName,
137
147
  justify && `justify-${justify}`,
138
148
  ["start", "end"].includes(orientation) && "flex-col",
139
- "flex flex-nowrap overflow-auto scroll-thin",
149
+ "flex flex-nowrap overflow-hidden items-center",
140
150
  )}
141
- style={{ gap }}
142
151
  >
143
- {tabs.map((node: AnyObject) =>
144
- cloneElement(node, {
145
- tabFlex: node.props.tabFlex ?? tabFlex,
146
- onClick: handleClick,
147
- active: node.props.id === active,
148
- }),
149
- )}
152
+ {prepend}
153
+ <div
154
+ className={classNames(
155
+ "fabric-tabList",
156
+ justify && `justify-${justify}`,
157
+ ["start", "end"].includes(orientation) && "flex-col",
158
+ ["bottom", "end"].includes(orientation) ? "self-start" : "self-end",
159
+ "flex flex-1 flex-nowrap overflow-auto scroll-thin",
160
+ )}
161
+ style={{ gap }}
162
+ >
163
+ {tabs.map((node: AnyObject) =>
164
+ cloneElement(node, {
165
+ tabFlex: node.props.tabFlex ?? tabFlex,
166
+ onClick: handleClick,
167
+ active: node.props.id === active,
168
+ }),
169
+ )}
170
+ </div>
171
+ {append}
150
172
  </div>
151
173
  {rest}
152
174
  {activeTabPanel}
@@ -45,7 +45,6 @@ import {
45
45
  } from "../../types";
46
46
  import { CoreIcons } from "../../types/icons";
47
47
  import { ErrorBoundary } from "../boundary/ErrorBoundary";
48
- import classes from "./Aside.module.css";
49
48
 
50
49
  export interface AsideProps
51
50
  extends IconProps,
@@ -197,9 +196,10 @@ export const Aside = ({
197
196
 
198
197
  return (
199
198
  <aside
200
- className={classNames(classes.aside, className, "overflow-hidden grid")}
199
+ className={classNames("fabric-aside", className, "overflow-hidden grid")}
201
200
  data-align={align}
202
201
  data-flyout={peek}
202
+ data-loading={loading}
203
203
  data-collapsed={isCollapsed}
204
204
  style={isCollapsed ? undefined : widthStyles}
205
205
  data-testid={testId}
@@ -207,15 +207,16 @@ export const Aside = ({
207
207
  >
208
208
  <header
209
209
  className={classNames(
210
- classes.asideHeader,
210
+ "fabric-asideHeader",
211
211
  headerClassName,
212
212
  "grid area-head items-center",
213
213
  )}
214
+ data-ref="asideHeader"
214
215
  >
215
216
  {title && (
216
217
  <div
217
218
  className={classNames(
218
- classes.asideTitle,
219
+ "fabric-asideTitle",
219
220
  "truncate py-0.5 px-1 select-none pointer-events-none",
220
221
  )}
221
222
  >
@@ -225,7 +226,7 @@ export const Aside = ({
225
226
  {collapsable && (
226
227
  <Icon
227
228
  aria-label={isCollapsed ? "expand" : "collapse"}
228
- className={classNames(classes.asideCollapse, "p-2 select-none")}
229
+ className={classNames("fabric-asideCollapse", "p-2 select-none")}
229
230
  icon={CoreIcons.chevronLeft}
230
231
  rtlFlip
231
232
  onClick={toggleCollapse}
@@ -239,12 +240,12 @@ export const Aside = ({
239
240
  color={iconColor}
240
241
  rtlFlip={rtlFlip}
241
242
  className={classNames(
242
- classes.asideIcon,
243
+ "fabric-asideIcon",
243
244
  "p-1 text-lg select-none pointer-events-none",
244
245
  )}
245
246
  />
246
247
  )}
247
- {actions && <div className={classes.asideActions}>{actions}</div>}
248
+ {actions && <div className={"fabric-asideActions"}>{actions}</div>}
248
249
  </header>
249
250
  {loading && <Loading />}
250
251
  {isCollapsed && (
@@ -252,14 +253,14 @@ export const Aside = ({
252
253
  role="none"
253
254
  onClick={tryPeek}
254
255
  data-ref="asidePlaceholder"
255
- className={classes.asidePlaceholder}
256
+ className={"fabric-asidePlaceholder"}
256
257
  />
257
258
  )}
258
259
  <section
259
260
  ref={elementRef}
260
261
  data-ref="asideBody"
261
262
  className={classNames(
262
- classes.asideBody,
263
+ "fabric-asideBody",
263
264
  bodyClassName,
264
265
  "overflow-hidden grid",
265
266
  )}
@@ -271,7 +272,7 @@ export const Aside = ({
271
272
  <div
272
273
  {...resizeHandleProps}
273
274
  className={classNames(
274
- classes.asideResizer,
275
+ "fabric-asideResizer",
275
276
  "before:absolute before:inset-0 before:w-1 before:top-1/2 before:-translate-y-1/2 before:transition-all",
276
277
  )}
277
278
  />
@@ -29,7 +29,6 @@ import { Fragment } from "react/jsx-runtime";
29
29
  import { useMemoDebugger } from "../../hooks/useEffectDebugger";
30
30
  import { usePropToggle } from "../../hooks/usePropToggle";
31
31
  import { type ChildrenProp } from "../../types";
32
- import classes from "./ErrorBoundary.module.css";
33
32
  import { ErrorIcon } from "./ErrorIcon";
34
33
  import { useGlobals } from "../../context/Global";
35
34
 
@@ -53,7 +52,7 @@ const ErrorMessage = ({ error, errorElement }: KeyValue) => {
53
52
  return (
54
53
  <Fragment>
55
54
  <ErrorIcon />
56
- <div className={classNames(classes.boundaryMessage, "p-2")}>
55
+ <div className={classNames("fabric-boundaryMessage", "p-2")}>
57
56
  <EE error={error} />
58
57
  </div>
59
58
  </Fragment>
@@ -64,10 +63,12 @@ const ErrorStack = ({ error, stack }: KeyValue) => {
64
63
  const [show, toggleShow] = usePropToggle(false);
65
64
  useLogger().error(error, {}, stack);
66
65
  return (
67
- <div className={classNames(classes.boundaryDetail, "overflow-hidden grid")}>
66
+ <div
67
+ className={classNames("fabric-boundaryDetail", "overflow-hidden grid")}
68
+ >
68
69
  <div
69
70
  className={classNames(
70
- classes.boundaryLink,
71
+ "fabric-boundaryLink",
71
72
  "px-2 py-1 text-xs text-end",
72
73
  )}
73
74
  >
@@ -78,7 +79,7 @@ const ErrorStack = ({ error, stack }: KeyValue) => {
78
79
  {show && (
79
80
  <div
80
81
  className={classNames(
81
- classes.boundaryStack,
82
+ "fabric-boundaryStack",
82
83
  "overflow-auto p-2 text-xs border-t",
83
84
  )}
84
85
  >
@@ -122,13 +123,13 @@ export class ErrorBoundary extends Component<
122
123
  return (
123
124
  <div
124
125
  className={classNames(
125
- classes.errorBoundary,
126
+ "fabric-errorBoundary",
126
127
  "grid grid-rows-1 overflow-hidden p-0.5 rounded-capped",
127
128
  )}
128
129
  >
129
130
  <div
130
131
  className={classNames(
131
- classes.boundaryContent,
132
+ "fabric-boundaryContent",
132
133
  "overflow-hidden grid rounded-capped",
133
134
  )}
134
135
  >
@@ -22,13 +22,12 @@
22
22
  */
23
23
 
24
24
  import classNames from "classnames";
25
- import classes from "./ErrorBoundary.module.css";
26
25
 
27
26
  export const ErrorIcon = () => (
28
27
  <svg
29
28
  xmlns="http://www.w3.org/2000/svg"
30
29
  viewBox="0 0 64 64"
31
- className={classNames(classes.boundaryIcon, "size-6 m-2")}
30
+ className={classNames("fabric-boundaryIcon", "size-6 m-2")}
32
31
  >
33
32
  <path
34
33
  fill="#808080"
@@ -22,19 +22,18 @@
22
22
  */
23
23
 
24
24
  import classNames from "classnames";
25
- import { useImperativeHandle } from "react";
25
+ import { type MouseEvent, useImperativeHandle } from "react";
26
26
  import { useDebounce } from "../../hooks/useDebounce";
27
27
  import { useResizeObserver } from "../../hooks/useResizeObserver";
28
28
  import {
29
29
  type ChildrenProp,
30
30
  type CssProp,
31
- type PositionObject,
32
31
  type RefProp,
32
+ type ScrollObject,
33
33
  type SizeObject,
34
34
  type TestProps,
35
35
  } from "../../types";
36
36
  import { ErrorBoundary } from "../boundary/ErrorBoundary";
37
- import classes from "./Content.module.css";
38
37
 
39
38
  export interface ContentProps
40
39
  extends ChildrenProp,
@@ -44,7 +43,7 @@ export interface ContentProps
44
43
  /**
45
44
  * scroll vevent handler
46
45
  */
47
- onScroll?: (event: PositionObject) => void;
46
+ onScroll?: (scroll: ScrollObject, event: MouseEvent<HTMLDivElement>) => void;
48
47
  /**
49
48
  * scroll vevent handler
50
49
  */
@@ -65,13 +64,19 @@ export const Content = ({
65
64
  }: ContentProps) => {
66
65
  const resizeHandle = useResizeObserver(onResize);
67
66
  const scrollHandler = useDebounce(
68
- (e: React.UIEvent<HTMLDivElement>) => {
69
- onScroll?.({
70
- // @ts-expect-error ignore
71
- left: e.target.scrollLeft,
72
- // @ts-expect-error ignore
73
- top: e.target.scrollTop,
74
- });
67
+ (e: MouseEvent<HTMLDivElement>) => {
68
+ const el = e.target as HTMLElement;
69
+ onScroll?.(
70
+ {
71
+ left: el.scrollLeft,
72
+ top: el.scrollTop,
73
+ scrollHeight: el.scrollHeight,
74
+ scrollWidth: el.scrollWidth,
75
+ width: el.offsetWidth,
76
+ height: el.offsetHeight,
77
+ },
78
+ e,
79
+ );
75
80
  },
76
81
  [onScroll],
77
82
  );
@@ -83,7 +88,7 @@ export const Content = ({
83
88
  data-test-value={testValue}
84
89
  ref={resizeHandle}
85
90
  onScroll={scrollHandler}
86
- className={classNames(classes.content, "area-content", className)}
91
+ className={classNames("fabric-content", "area-content", className)}
87
92
  >
88
93
  <ErrorBoundary>{children}</ErrorBoundary>
89
94
  </section>
@@ -22,27 +22,15 @@
22
22
  */
23
23
 
24
24
  import classNames from "classnames";
25
- import { useMemoDebugger } from "../../hooks/useEffectDebugger";
26
25
  import {
27
26
  type AriaProps,
28
27
  type ChildrenProp,
29
- type ColorWithGrays,
30
28
  type CssProp,
31
29
  type TestProps,
32
30
  } from "../../types";
33
- import { getBgClass, getColor, getColorClass } from "../../utils";
34
- import classes from "./HeadFoot.module.css";
35
31
 
36
32
  interface BaseProps extends CssProp, AriaProps, ChildrenProp, TestProps {
37
33
  dir?: "ltr" | "rtl";
38
- /**
39
- * background color
40
- */
41
- bg?: ColorWithGrays | string;
42
- /**
43
- * background color
44
- */
45
- color?: ColorWithGrays | string;
46
34
  }
47
35
 
48
36
  type DefaultProps = BaseProps & { flex?: false };
@@ -58,8 +46,6 @@ const HeadFoot = ({
58
46
  as: E,
59
47
  children,
60
48
  className,
61
- bg,
62
- color,
63
49
  flex,
64
50
  area,
65
51
  dir,
@@ -67,37 +53,18 @@ const HeadFoot = ({
67
53
  justify = "start",
68
54
  ...aria
69
55
  }: KeyValue & { as: "header" | "footer" }) => {
70
- /** ***************** style map *******************/
71
- const styles = useMemoDebugger(
72
- () => {
73
- const s: KeyValue = {};
74
- if (bg) {
75
- s.backgroundColor = getColor(bg);
76
- }
77
- if (color) {
78
- s.color = getColor(color);
79
- }
80
- return s;
81
- },
82
- [bg],
83
- "HeadFoot styles",
84
- );
85
-
86
56
  return (
87
57
  <E
88
58
  dir={dir}
89
59
  className={classNames(
90
- classes.headfoot,
60
+ "fabric-headfoot",
91
61
  className,
92
- bg && getBgClass(bg),
93
- color && getColorClass(color),
94
62
  area === "head" ? "area-head" : "area-foot",
95
63
  `leading-none`,
96
- flex && "flex flex-nowrap gap-px",
64
+ flex && "flex flex-nowrap",
97
65
  align && `items-${align}`,
98
66
  justify && `justify-${justify}`,
99
67
  )}
100
- style={styles}
101
68
  {...aria}
102
69
  >
103
70
  {children}
@@ -25,7 +25,6 @@ import classNames from "classnames";
25
25
  import { Loading } from "../../components/animations/Animations";
26
26
  import { Icon } from "../../components/icon/Icon";
27
27
  import { type ChildrenProp, type IconProps, type TestProps } from "../../types";
28
- import classes from "./Page.module.css";
29
28
 
30
29
  export interface PageProps extends IconProps, ChildrenProp, TestProps {
31
30
  /**
@@ -66,8 +65,9 @@ export const Page = ({
66
65
  <div
67
66
  data-testid={testId}
68
67
  data-test-value={testValue}
68
+ data-loading={loading}
69
69
  className={classNames(
70
- classes.page,
70
+ "fabric-page",
71
71
  "overflow-hidden grid area-content",
72
72
  paper && "shadow-paper m-[6px] rounded-capped",
73
73
  )}
@@ -76,7 +76,7 @@ export const Page = ({
76
76
  <div
77
77
  data-ref="pageTitle"
78
78
  className={classNames(
79
- classes.pageTitle,
79
+ "fabric-pageTitle",
80
80
  "select-none flex gap-1 items-center justify-center px-1 py-0.5 font-medium text-center",
81
81
  titleClassName,
82
82
  )}
@@ -29,7 +29,6 @@ import {
29
29
  type SizeTypeWithZero,
30
30
  type TestProps,
31
31
  } from "../../types";
32
- import classes from "./Responsive.module.css";
33
32
 
34
33
  export interface ContainerProps
35
34
  extends AriaProps,
@@ -81,7 +80,7 @@ export interface ColProps
81
80
  /**
82
81
  * column flex
83
82
  */
84
- flex?: "auto" | "fill" | "full";
83
+ flex?: "auto" | "fill" | "full" | "initial" | "content";
85
84
  /**
86
85
  * stretch inner content
87
86
  */
@@ -101,7 +100,7 @@ export const Container = ({
101
100
  return (
102
101
  <div
103
102
  className={classNames(
104
- classes.container,
103
+ "fabric-container",
105
104
  className,
106
105
  !fullWidth && "container mx-auto",
107
106
  )}
@@ -126,7 +125,7 @@ export const Row = ({
126
125
  return (
127
126
  <div
128
127
  className={classNames(
129
- classes.row,
128
+ "fabric-row",
130
129
  className,
131
130
  "flex",
132
131
  orient === "row" && "flex-row",
@@ -156,12 +155,14 @@ export const Col = ({
156
155
  return (
157
156
  <div
158
157
  className={classNames(
159
- classes.col,
158
+ "fabric-col",
160
159
  className,
161
- stretchContent && classes.stretchContent,
162
- flex === "auto" && "flex-content",
160
+ stretchContent && "stretchContent",
163
161
  flex === "fill" && "flex-1",
164
162
  flex === "full" && "flex-full",
163
+ flex === "auto" && "flex-auto",
164
+ flex === "initial" && "flex-initial",
165
+ flex === "content" && "flex-none",
165
166
  align && `self-${align}`,
166
167
  )}
167
168
  {...aria}