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

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 (343) 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/icon/Icon.js +15 -14
  65. package/dist/cjs/components/media/Media.js +116 -75
  66. package/dist/cjs/components/menu/ContextMenu.js +30 -10
  67. package/dist/cjs/components/menu/Menu.js +39 -20
  68. package/dist/cjs/components/menu/MenuItem.js +30 -16
  69. package/dist/cjs/components/meter/Meter.js +2 -3
  70. package/dist/cjs/components/navigator/Navigator.js +16 -9
  71. package/dist/cjs/components/panel/Panel.js +10 -9
  72. package/dist/cjs/components/panel/PanelGroup.js +1 -2
  73. package/dist/cjs/components/progress/ProgressBar.js +6 -5
  74. package/dist/cjs/components/progress/ProgressCircle.js +6 -4
  75. package/dist/cjs/components/tabpanel/Tab.js +58 -38
  76. package/dist/cjs/components/tabpanel/TabPanel.js +20 -16
  77. package/dist/cjs/core/aside/Aside.js +11 -10
  78. package/dist/cjs/core/boundary/ErrorBoundary.js +6 -7
  79. package/dist/cjs/core/boundary/ErrorIcon.js +1 -2
  80. package/dist/cjs/core/content/Content.js +9 -7
  81. package/dist/cjs/core/headfoot/HeadFoot.js +2 -20
  82. package/dist/cjs/core/page/Page.js +3 -3
  83. package/dist/cjs/core/responsive/Responsive.js +3 -4
  84. package/dist/cjs/core/section/Section.js +1 -2
  85. package/dist/cjs/core/theme/ThemeProvider.js +7 -8
  86. package/dist/cjs/core/viewport/Viewport.js +4 -2
  87. package/dist/cjs/hooks/useNavigator.js +6 -4
  88. package/dist/cjs/hotkeys/HotKeyLabel.js +1 -1
  89. package/dist/cjs/hotkeys/HotKeyWrapper.js +3 -1
  90. package/dist/cjs/index.js +6 -2
  91. package/dist/cjs/overlays/alert/Alert.js +19 -13
  92. package/dist/cjs/overlays/flyout/Flyout.js +42 -44
  93. package/dist/cjs/overlays/message/Message.js +6 -3
  94. package/dist/cjs/overlays/modal/Modal.js +9 -10
  95. package/dist/cjs/overlays/toast/Toast.js +17 -9
  96. package/dist/cjs/overlays/tooltip/Tooltip.js +20 -8
  97. package/dist/cjs/types/icons.js +4 -0
  98. package/dist/cjs/typography/Abbr.js +2 -3
  99. package/dist/cjs/typography/{Link.js → Anchor.js} +5 -4
  100. package/dist/cjs/typography/Mark.js +2 -3
  101. package/dist/cjs/typography/Text.js +3 -4
  102. package/dist/cjs/typography/Title.js +3 -3
  103. package/dist/cjs/utils/cloneElement.js +44 -0
  104. package/dist/cjs/utils/getColor.js +1 -18
  105. package/dist/esm/components/actionLabel/ActionLabel.js +3 -3
  106. package/dist/esm/components/animations/Animations.js +30 -19
  107. package/dist/esm/components/avatar/Avatar.js +11 -14
  108. package/dist/esm/components/avatar/AvatarGroup.js +3 -3
  109. package/dist/esm/components/badge/Badge.js +5 -5
  110. package/dist/esm/components/breadcrumbs/Breadcrumbs.js +10 -8
  111. package/dist/esm/components/button/Button.js +18 -14
  112. package/dist/esm/components/button/ButtonGroup.js +5 -4
  113. package/dist/esm/components/button/ConfirmButton.js +7 -2
  114. package/dist/esm/components/button/ToggleButtonGroup.js +4 -4
  115. package/dist/esm/components/callout/Callout.js +15 -4
  116. package/dist/esm/components/card/Card.js +8 -7
  117. package/dist/esm/components/card/CardCover.js +10 -5
  118. package/dist/esm/components/chip/Chip.js +12 -8
  119. package/dist/esm/components/collapsable/Collapsable.js +5 -5
  120. package/dist/esm/components/divider/Divider.js +11 -8
  121. package/dist/esm/components/dropdown/Dropdown.js +5 -4
  122. package/dist/esm/components/dropdown/DropdownTool.js +4 -3
  123. package/dist/esm/components/icon/Icon.js +15 -14
  124. package/dist/esm/components/media/Media.js +117 -76
  125. package/dist/esm/components/menu/ContextMenu.js +32 -12
  126. package/dist/esm/components/menu/Menu.js +41 -22
  127. package/dist/esm/components/menu/MenuItem.js +24 -10
  128. package/dist/esm/components/meter/Meter.js +2 -3
  129. package/dist/esm/components/navigator/Navigator.js +16 -9
  130. package/dist/esm/components/panel/Panel.js +10 -9
  131. package/dist/esm/components/panel/PanelGroup.js +1 -2
  132. package/dist/esm/components/progress/ProgressBar.js +6 -5
  133. package/dist/esm/components/progress/ProgressCircle.js +6 -4
  134. package/dist/esm/components/tabpanel/Tab.js +59 -39
  135. package/dist/esm/components/tabpanel/TabPanel.js +20 -16
  136. package/dist/esm/core/aside/Aside.js +11 -10
  137. package/dist/esm/core/boundary/ErrorBoundary.js +6 -7
  138. package/dist/esm/core/boundary/ErrorIcon.js +1 -2
  139. package/dist/esm/core/content/Content.js +9 -7
  140. package/dist/esm/core/headfoot/HeadFoot.js +2 -20
  141. package/dist/esm/core/page/Page.js +3 -3
  142. package/dist/esm/core/responsive/Responsive.js +3 -4
  143. package/dist/esm/core/section/Section.js +1 -2
  144. package/dist/esm/core/theme/ThemeProvider.js +7 -8
  145. package/dist/esm/core/viewport/Viewport.js +4 -2
  146. package/dist/esm/hooks/useNavigator.js +7 -5
  147. package/dist/esm/hotkeys/HotKeyLabel.js +1 -1
  148. package/dist/esm/hotkeys/HotKeyWrapper.js +3 -1
  149. package/dist/esm/index.js +3 -1
  150. package/dist/esm/overlays/alert/Alert.js +20 -14
  151. package/dist/esm/overlays/flyout/Flyout.js +43 -45
  152. package/dist/esm/overlays/message/Message.js +7 -4
  153. package/dist/esm/overlays/modal/Modal.js +10 -11
  154. package/dist/esm/overlays/toast/Toast.js +18 -10
  155. package/dist/esm/overlays/tooltip/Tooltip.js +20 -8
  156. package/dist/esm/types/icons.js +4 -0
  157. package/dist/esm/typography/Abbr.js +2 -3
  158. package/dist/esm/typography/{Link.js → Anchor.js} +6 -5
  159. package/dist/esm/typography/Mark.js +2 -3
  160. package/dist/esm/typography/Text.js +4 -5
  161. package/dist/esm/typography/Title.js +4 -4
  162. package/dist/esm/utils/cloneElement.js +44 -0
  163. package/dist/esm/utils/getColor.js +2 -16
  164. package/dist/types/components/actionLabel/ActionLabel.d.ts +2 -2
  165. package/dist/types/components/animations/Animations.d.ts +5 -5
  166. package/dist/types/components/avatar/Avatar.d.ts +3 -3
  167. package/dist/types/components/badge/Badge.d.ts +5 -1
  168. package/dist/types/components/breadcrumbs/Breadcrumbs.d.ts +2 -2
  169. package/dist/types/components/button/Button.d.ts +7 -5
  170. package/dist/types/components/button/ButtonGroup.d.ts +2 -2
  171. package/dist/types/components/button/ConfirmButton.d.ts +6 -1
  172. package/dist/types/components/callout/Callout.d.ts +2 -2
  173. package/dist/types/components/card/Card.d.ts +3 -3
  174. package/dist/types/components/chip/Chip.d.ts +3 -3
  175. package/dist/types/components/collapsable/Collapsable.d.ts +5 -1
  176. package/dist/types/components/divider/Divider.d.ts +7 -3
  177. package/dist/types/components/dropdown/DropdownTool.d.ts +2 -1
  178. package/dist/types/components/icon/Icon.d.ts +3 -3
  179. package/dist/types/components/media/Media.d.ts +2 -2
  180. package/dist/types/components/menu/ContextMenu.d.ts +2 -1
  181. package/dist/types/components/menu/MenuItem.d.ts +1 -1
  182. package/dist/types/components/menu/types.d.ts +2 -2
  183. package/dist/types/components/navigator/Navigator.d.ts +4 -4
  184. package/dist/types/components/progress/ProgressBar.d.ts +2 -2
  185. package/dist/types/components/progress/ProgressCircle.d.ts +2 -2
  186. package/dist/types/components/tabpanel/Tab.d.ts +5 -5
  187. package/dist/types/components/tabpanel/TabPanel.d.ts +10 -1
  188. package/dist/types/core/content/Content.d.ts +3 -2
  189. package/dist/types/core/headfoot/HeadFoot.d.ts +1 -9
  190. package/dist/types/core/responsive/Responsive.d.ts +1 -1
  191. package/dist/types/core/theme/ThemeProvider.d.ts +4 -4
  192. package/dist/types/hooks/useOverlayService.d.ts +3 -5
  193. package/dist/types/index.d.ts +3 -0
  194. package/dist/types/overlays/alert/Alert.d.ts +2 -2
  195. package/dist/types/overlays/flyout/Flyout.d.ts +3 -2
  196. package/dist/types/overlays/message/Message.d.ts +2 -2
  197. package/dist/types/overlays/modal/Modal.d.ts +4 -3
  198. package/dist/types/overlays/toast/Toast.d.ts +2 -2
  199. package/dist/types/overlays/tooltip/Tooltip.d.ts +1 -1
  200. package/dist/types/types/icons.d.ts +4 -0
  201. package/dist/types/types/index.d.ts +18 -6
  202. package/dist/types/typography/Abbr.d.ts +6 -2
  203. package/dist/types/typography/Anchor.d.ts +25 -0
  204. package/dist/types/typography/Mark.d.ts +2 -2
  205. package/dist/types/typography/index.d.ts +1 -1
  206. package/dist/types/utils/cloneElement.d.ts +2 -0
  207. package/dist/types/utils/getColor.d.ts +1 -4
  208. package/dist/types/utils/index.d.ts +1 -0
  209. package/package.json +7 -9
  210. package/src/components/actionLabel/ActionLabel.tsx +15 -6
  211. package/src/components/animations/Animations.tsx +29 -23
  212. package/src/components/avatar/Avatar.tsx +74 -88
  213. package/src/components/avatar/AvatarGroup.tsx +4 -4
  214. package/src/components/badge/Badge.tsx +11 -7
  215. package/src/components/breadcrumbs/Breadcrumbs.tsx +13 -9
  216. package/src/components/button/Button.tsx +27 -22
  217. package/src/components/button/ButtonGroup.tsx +7 -7
  218. package/src/components/button/ConfirmButton.tsx +15 -5
  219. package/src/components/button/ToggleButtonGroup.tsx +5 -5
  220. package/src/components/callout/Callout.tsx +26 -11
  221. package/src/components/card/Card.tsx +10 -7
  222. package/src/components/card/CardCover.tsx +11 -6
  223. package/src/components/chip/Chip.tsx +17 -13
  224. package/src/components/collapsable/Collapsable.tsx +9 -4
  225. package/src/components/divider/Divider.tsx +15 -10
  226. package/src/components/dropdown/Dropdown.tsx +5 -5
  227. package/src/components/dropdown/DropdownTool.tsx +5 -3
  228. package/src/components/icon/Icon.tsx +55 -67
  229. package/src/components/media/Media.tsx +141 -106
  230. package/src/components/menu/ContextMenu.tsx +36 -11
  231. package/src/components/menu/Menu.tsx +51 -30
  232. package/src/components/menu/MenuItem.tsx +19 -9
  233. package/src/components/menu/types.ts +2 -2
  234. package/src/components/meter/Meter.tsx +2 -3
  235. package/src/components/navigator/Navigator.tsx +19 -5
  236. package/src/components/panel/Panel.tsx +10 -9
  237. package/src/components/panel/PanelGroup.tsx +1 -2
  238. package/src/components/progress/ProgressBar.tsx +8 -9
  239. package/src/components/progress/ProgressCircle.tsx +6 -9
  240. package/src/components/tabpanel/Tab.tsx +81 -64
  241. package/src/components/tabpanel/TabPanel.tsx +34 -12
  242. package/src/core/aside/Aside.tsx +11 -10
  243. package/src/core/boundary/ErrorBoundary.tsx +8 -7
  244. package/src/core/boundary/ErrorIcon.tsx +1 -2
  245. package/src/core/content/Content.tsx +17 -12
  246. package/src/core/headfoot/HeadFoot.tsx +2 -35
  247. package/src/core/page/Page.tsx +3 -3
  248. package/src/core/responsive/Responsive.tsx +8 -7
  249. package/src/core/section/Section.tsx +1 -2
  250. package/src/core/theme/ThemeProvider.tsx +11 -12
  251. package/src/core/viewport/Viewport.tsx +1 -2
  252. package/src/hooks/useNavigator.tsx +10 -5
  253. package/src/hooks/useOverlayService.tsx +12 -6
  254. package/src/hotkeys/HotKeyLabel.tsx +1 -1
  255. package/src/hotkeys/HotKeyWrapper.tsx +3 -1
  256. package/src/index.ts +4 -0
  257. package/src/overlays/alert/Alert.tsx +25 -31
  258. package/src/overlays/flyout/Flyout.tsx +65 -64
  259. package/src/overlays/message/Message.tsx +10 -7
  260. package/src/overlays/modal/Modal.tsx +18 -13
  261. package/src/overlays/toast/Toast.tsx +18 -27
  262. package/src/overlays/tooltip/Tooltip.tsx +30 -9
  263. package/src/types/icons.ts +9 -0
  264. package/src/types/index.ts +240 -27
  265. package/src/typography/Abbr.tsx +15 -9
  266. package/src/typography/{Link.tsx → Anchor.tsx} +8 -13
  267. package/src/typography/Mark.tsx +4 -9
  268. package/src/typography/Text.tsx +4 -12
  269. package/src/typography/Title.tsx +2 -6
  270. package/src/typography/index.ts +1 -1
  271. package/src/utils/cloneElement.ts +44 -0
  272. package/src/utils/getColor.ts +1 -17
  273. package/src/utils/index.ts +1 -0
  274. package/css/index.js +0 -250
  275. package/css/tailwind/colors.ts +0 -158
  276. package/dist/cjs/components/actionLabel/ActionLabel.module.css +0 -1
  277. package/dist/cjs/components/animations/Animations.module.css +0 -1
  278. package/dist/cjs/components/avatar/Avatar.module.css +0 -1
  279. package/dist/cjs/components/badge/Badge.module.css +0 -1
  280. package/dist/cjs/components/breadcrumbs/Breadcrumbs.module.css +0 -1
  281. package/dist/cjs/components/button/Button.module.css +0 -1
  282. package/dist/cjs/components/card/Card.module.css +0 -1
  283. package/dist/cjs/components/chip/Chip.module.css +0 -1
  284. package/dist/cjs/components/collapsable/Collapsable.module.css +0 -1
  285. package/dist/cjs/components/dropdown/Dropdown.module.css +0 -1
  286. package/dist/cjs/components/icon/Icon.module.css +0 -1
  287. package/dist/cjs/components/media/Media.module.css +0 -1
  288. package/dist/cjs/components/menu/Menu.module.css +0 -1
  289. package/dist/cjs/components/meter/Meter.module.css +0 -1
  290. package/dist/cjs/components/panel/Panel.module.css +0 -1
  291. package/dist/cjs/components/progress/Progress.module.css +0 -1
  292. package/dist/cjs/components/tabpanel/TabPanel.module.css +0 -1
  293. package/dist/cjs/core/aside/Aside.module.css +0 -1
  294. package/dist/cjs/core/boundary/ErrorBoundary.module.css +0 -1
  295. package/dist/cjs/core/content/Content.module.css +0 -1
  296. package/dist/cjs/core/headfoot/HeadFoot.module.css +0 -1
  297. package/dist/cjs/core/page/Page.module.css +0 -1
  298. package/dist/cjs/core/responsive/Responsive.module.css +0 -1
  299. package/dist/cjs/core/section/Section.module.css +0 -1
  300. package/dist/cjs/core/theme/Theme.module.css +0 -1
  301. package/dist/cjs/core/viewport/Viewport.module.css +0 -1
  302. package/dist/cjs/overlays/alert/Alert.module.css +0 -1
  303. package/dist/cjs/overlays/flyout/Flyout.module.css +0 -1
  304. package/dist/cjs/overlays/message/Message.module.css +0 -1
  305. package/dist/cjs/overlays/modal/Modal.module.css +0 -1
  306. package/dist/cjs/overlays/toast/Toast.module.css +0 -1
  307. package/dist/cjs/overlays/tooltip/Tooltip.module.css +0 -1
  308. package/dist/cjs/typography/Typography.module.css +0 -1
  309. package/dist/esm/components/actionLabel/ActionLabel.module.css +0 -1
  310. package/dist/esm/components/animations/Animations.module.css +0 -1
  311. package/dist/esm/components/avatar/Avatar.module.css +0 -1
  312. package/dist/esm/components/badge/Badge.module.css +0 -1
  313. package/dist/esm/components/breadcrumbs/Breadcrumbs.module.css +0 -1
  314. package/dist/esm/components/button/Button.module.css +0 -1
  315. package/dist/esm/components/card/Card.module.css +0 -1
  316. package/dist/esm/components/chip/Chip.module.css +0 -1
  317. package/dist/esm/components/collapsable/Collapsable.module.css +0 -1
  318. package/dist/esm/components/dropdown/Dropdown.module.css +0 -1
  319. package/dist/esm/components/icon/Icon.module.css +0 -1
  320. package/dist/esm/components/media/Media.module.css +0 -1
  321. package/dist/esm/components/menu/Menu.module.css +0 -1
  322. package/dist/esm/components/meter/Meter.module.css +0 -1
  323. package/dist/esm/components/panel/Panel.module.css +0 -1
  324. package/dist/esm/components/progress/Progress.module.css +0 -1
  325. package/dist/esm/components/tabpanel/TabPanel.module.css +0 -1
  326. package/dist/esm/core/aside/Aside.module.css +0 -1
  327. package/dist/esm/core/boundary/ErrorBoundary.module.css +0 -1
  328. package/dist/esm/core/content/Content.module.css +0 -1
  329. package/dist/esm/core/headfoot/HeadFoot.module.css +0 -1
  330. package/dist/esm/core/page/Page.module.css +0 -1
  331. package/dist/esm/core/responsive/Responsive.module.css +0 -1
  332. package/dist/esm/core/section/Section.module.css +0 -1
  333. package/dist/esm/core/theme/Theme.module.css +0 -1
  334. package/dist/esm/core/viewport/Viewport.module.css +0 -1
  335. package/dist/esm/overlays/alert/Alert.module.css +0 -1
  336. package/dist/esm/overlays/flyout/Flyout.module.css +0 -1
  337. package/dist/esm/overlays/message/Message.module.css +0 -1
  338. package/dist/esm/overlays/modal/Modal.module.css +0 -1
  339. package/dist/esm/overlays/toast/Toast.module.css +0 -1
  340. package/dist/esm/overlays/tooltip/Tooltip.module.css +0 -1
  341. package/dist/esm/typography/Typography.module.css +0 -1
  342. package/dist/types/typography/Link.d.ts +0 -25
  343. package/src/overlays/tooltip/Tooltip.module.css +0 -53
@@ -2,9 +2,9 @@
2
2
 
3
3
  var classNames = require('classnames');
4
4
  var react = require('react');
5
+ var jsxRuntime = require('react/jsx-runtime');
5
6
  var getColor = require('../../utils/getColor.js');
6
7
  require('@react-fabric/utilities');
7
- var jsxRuntime = require('react/jsx-runtime');
8
8
 
9
9
  /*
10
10
  * React Fabric
@@ -31,10 +31,12 @@ var jsxRuntime = require('react/jsx-runtime');
31
31
 
32
32
  var Divider = function Divider(_ref) {
33
33
  var children = _ref.children,
34
- color = _ref.color,
34
+ _ref$color = _ref.color,
35
+ color = _ref$color === void 0 ? "tint-300" : _ref$color,
35
36
  vertical = _ref.vertical,
36
- fill = _ref.fill,
37
- _ref$align = _ref.align,
37
+ labelClassName = _ref.labelClassName;
38
+ _ref.fill;
39
+ var _ref$align = _ref.align,
38
40
  align = _ref$align === void 0 ? "start" : _ref$align,
39
41
  className = _ref.className;
40
42
  var Rule = react.useCallback(function (_ref2) {
@@ -42,9 +44,10 @@ var Divider = function Divider(_ref) {
42
44
  className = _ref2.className;
43
45
  return /*#__PURE__*/jsxRuntime.jsx("hr", {
44
46
  style: {
45
- flex: flex
47
+ flex: flex,
48
+ borderColor: getColor.getColor(color)
46
49
  },
47
- className: classNames(className, vertical && "vertical", !flex && "self-stretch", vertical ? "mx-1" : "my-1", color && getColor.getBorderClass(color + "-200"))
50
+ className: classNames(className, vertical && "vertical", !flex && "self-stretch", vertical ? "fabric-divider--vertical" : "fabric-divider--horizontal")
48
51
  });
49
52
  }, [color, vertical]);
50
53
  return children ? /*#__PURE__*/jsxRuntime.jsxs("div", {
@@ -52,7 +55,7 @@ var Divider = function Divider(_ref) {
52
55
  children: [/*#__PURE__*/jsxRuntime.jsx(Rule, {
53
56
  flex: align === "start" ? "0 0 1rem" : "1 1 1em"
54
57
  }), /*#__PURE__*/jsxRuntime.jsx("div", {
55
- className: classNames("px-2 whitespace-nowrap", vertical ? "mx-1" : "my-1", fill && getColor.getBgClass((color !== null && color !== void 0 ? color : "tint") + "-200"), !fill && getColor.getColorClass((color !== null && color !== void 0 ? color : "tint") + "-600"), "rounded-full text-[0.75em]", vertical && "origin-center -rotate-90 z-1"),
58
+ className: classNames("px-2 whitespace-nowrap", vertical ? "fabric-divider--vertical" : "fabric-divider--horizontal", labelClassName, "rounded-full text-[0.75em]", vertical && "origin-center -rotate-90 z-1"),
56
59
  children: children
57
60
  }), /*#__PURE__*/jsxRuntime.jsx(Rule, {
58
61
  flex: align === "end" ? "0 0 1rem" : "1 1 1em"
@@ -6,7 +6,6 @@ var react = require('@floating-ui/react');
6
6
  var utilities = require('@react-fabric/utilities');
7
7
  var classNames = require('classnames');
8
8
  var react$1 = require('react');
9
- var Dropdown_module = require('./Dropdown.module.css');
10
9
  var jsxRuntime = require('react/jsx-runtime');
11
10
 
12
11
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -115,6 +114,7 @@ var DropdownElement = function DropdownElement(_ref) {
115
114
  e.stopPropagation();
116
115
  }
117
116
  })), {}, {
117
+ "data-inner-clickable": "true",
118
118
  "data-dropdown-open": isOpen ? true : undefined,
119
119
  ref: innerRef
120
120
  })), isOpen && /*#__PURE__*/jsxRuntime.jsxs(react.FloatingPortal, {
@@ -131,7 +131,8 @@ var DropdownElement = function DropdownElement(_ref) {
131
131
  style: _objectSpread({
132
132
  minWidth: minWidth,
133
133
  zIndex: "var(--z-popover)"
134
- }, floatingStyles)
134
+ }, floatingStyles),
135
+ "data-ref": "dropdownBody"
135
136
  }, getFloatingProps({
136
137
  onClick: function onClick(e) {
137
138
  return e.stopPropagation();
@@ -139,14 +140,14 @@ var DropdownElement = function DropdownElement(_ref) {
139
140
  })), {}, {
140
141
  children: [/*#__PURE__*/jsxRuntime.jsx("div", {
141
142
  role: "none",
142
- className: classNames(Dropdown_module.dropdownBody, dropdownClassName, !plainDropdown && "shadow-lg shadow-base bg-base ring-1 ring-tint-100", "rounded-capped overflow-auto scroll-thin grid max-h-[70vh]"),
143
+ className: classNames("fabric-dropdownBody", dropdownClassName, !plainDropdown && "shadow-lg bg-base ring-1 ring-tint-100", "rounded-capped overflow-auto scroll-thin grid max-h-[70vh]"),
143
144
  onMouseUpCapture: tryClosing,
144
145
  children: panel
145
146
  }), showArrow && /*#__PURE__*/jsxRuntime.jsx(react.FloatingArrow, {
146
147
  ref: arrowRef,
147
148
  context: context,
148
149
  strokeWidth: 0.5,
149
- className: "fill-base stroke-muted"
150
+ className: "fill-base stroke-dimmed"
150
151
  })]
151
152
  }))
152
153
  })]
@@ -8,18 +8,19 @@ var Icon = require('../icon/Icon.js');
8
8
  var Dropdown = require('./Dropdown.js');
9
9
  var jsxRuntime = require('react/jsx-runtime');
10
10
 
11
- var _excluded = ["children", "className", "groupHover"];
11
+ var _excluded = ["children", "className", "groupHover", "icon"];
12
12
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
13
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14
14
  var DropdownTool = function DropdownTool(_ref) {
15
15
  var children = _ref.children,
16
16
  className = _ref.className,
17
17
  groupHover = _ref.groupHover,
18
+ icon = _ref.icon,
18
19
  props = _objectWithoutProperties(_ref, _excluded);
19
20
  return /*#__PURE__*/jsxRuntime.jsxs(Dropdown.Dropdown, _objectSpread(_objectSpread({}, props), {}, {
20
21
  children: [/*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
21
- icon: icons.CoreIcons.caretDown,
22
- className: classNames(className, "outline bg-base flex-content pointer-events-auto cursor-pointer", groupHover && "hidden group-hover:inline-block data-[dropdown-open]:inline-block")
22
+ icon: icon !== null && icon !== void 0 ? icon : icons.CoreIcons.caretDown,
23
+ className: classNames("outline bg-tint-50/50 flex-content pointer-events-auto cursor-pointer", className, groupHover && "hidden group-hover/tool:inline-block data-[dropdown-open]:inline-block")
23
24
  }), children]
24
25
  }));
25
26
  };
@@ -4,10 +4,9 @@ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
5
5
  var utilities = require('@react-fabric/utilities');
6
6
  var classNames = require('classnames');
7
- var useEffectDebugger = require('../../hooks/useEffectDebugger.js');
8
- var getColor = require('../../utils/getColor.js');
9
- var Icon_module = require('./Icon.module.css');
7
+ var react = require('react');
10
8
  var jsxRuntime = require('react/jsx-runtime');
9
+ var getColor = require('../../utils/getColor.js');
11
10
 
12
11
  var _excluded = ["ref", "icon", "bg", "color", "size", "rtlFlip", "animate", "rounded", "viewBox", "className", "onClick"];
13
12
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -40,7 +39,7 @@ var Icon = function Icon(_ref) {
40
39
  onClick = _ref.onClick,
41
40
  rest = _objectWithoutProperties(_ref, _excluded);
42
41
  /** ***************** style map *******************/
43
- var styles = useEffectDebugger.useMemoDebugger(function () {
42
+ var styles = react.useMemo(function () {
44
43
  var s = {};
45
44
  if (bg) {
46
45
  s.backgroundColor = getColor.getColor(bg);
@@ -55,16 +54,15 @@ var Icon = function Icon(_ref) {
55
54
  s.fontSize = SizeMap[size];
56
55
  }
57
56
  return s;
58
- }, [bg, color, size], "Icon styles");
57
+ }, [bg, color, size]);
59
58
 
60
59
  /** ***************** check if icon is svg path *******************/
61
- var isSvg = useEffectDebugger.useMemoDebugger(function () {
60
+ var isSvg = react.useMemo(function () {
62
61
  return utilities.isSvgPath(icon);
63
- }, [icon], "Icon isSvg");
62
+ }, [icon]);
64
63
 
65
64
  /** ***************** render icon *******************/
66
- var iconEl = useEffectDebugger.useMemoDebugger(function () {
67
- var _SvgTextSize$icon$len;
65
+ var iconEl = react.useMemo(function () {
68
66
  if (!utilities.isString(icon)) {
69
67
  throw Error("Invalid icon expected string");
70
68
  }
@@ -83,22 +81,25 @@ var Icon = function Icon(_ref) {
83
81
  dominantBaseline: "middle",
84
82
  textAnchor: "middle",
85
83
  style: {
86
- fontSize: (_SvgTextSize$icon$len = SvgTextSize[icon.length]) !== null && _SvgTextSize$icon$len !== void 0 ? _SvgTextSize$icon$len : "1em"
84
+ fontSize: SvgTextSize[icon.length]
87
85
  },
88
86
  children: icon
89
87
  })
90
88
  }) : /*#__PURE__*/jsxRuntime.jsx("i", {
91
89
  className: "".concat(icon)
92
90
  });
93
- }, [icon, isSvg, viewBox], "Icon el");
94
- return /*#__PURE__*/jsxRuntime.jsx("dfn", _objectSpread(_objectSpread({}, rest), {}, {
95
- ref: ref,
91
+ }, [icon, isSvg, viewBox]);
92
+ return /*#__PURE__*/jsxRuntime.jsx("dfn", _objectSpread(_objectSpread({
93
+ "data-ref": "icon",
94
+ ref: ref
95
+ }, rest), {}, {
96
96
  role: "presentation",
97
- className: classNames(Icon_module.icon, className, "select-none overflow-hidden inline-block box-content leading-none not-italic text-center", bg && getColor.getBgClass(bg), color && getColor.getColorClass(color), !rounded && "rounded", rounded && "rounded-full", animate && "animate-".concat(animate)),
97
+ className: classNames("fabric-icon", "select-none overflow-hidden box-content leading-none not-italic text-center", !rounded && "rounded", rounded && "rounded-full", animate && "animate-".concat(animate), className),
98
98
  onClick: onClick,
99
99
  "data-flip": rtlFlip,
100
100
  style: styles,
101
101
  "data-clickable": !!onClick,
102
+ "data-inner-clickable": !!onClick,
102
103
  children: iconEl
103
104
  }));
104
105
  };
@@ -8,13 +8,22 @@ var classNames = require('classnames');
8
8
  var react = require('react');
9
9
  var icons = require('../../types/icons.js');
10
10
  var Button = require('../button/Button.js');
11
- var Media_module = require('./Media.module.css');
11
+ var Icon = require('../icon/Icon.js');
12
12
  var jsxRuntime = require('react/jsx-runtime');
13
13
 
14
14
  var _excluded = ["src", "alt", "reel", "fit", "className"],
15
15
  _excluded2 = ["src", "poster", "reel", "autoPlay", "playOnHover", "fit", "className"];
16
16
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17
17
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18
+ var cover = {
19
+ fill: "object-fill",
20
+ cover: "object-cover",
21
+ contain: "object-contain"
22
+ };
23
+ var loadIndicator = /*#__PURE__*/jsxRuntime.jsx("div", {
24
+ className: classNames("fabric-mediaPlaceholder", "absolute z-1 top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 text-4xl text-gray animate-pulse"),
25
+ children: "\u25CF\u25CF\u25CF"
26
+ });
18
27
  var Image = function Image(_ref) {
19
28
  var src = _ref.src,
20
29
  alt = _ref.alt,
@@ -27,28 +36,40 @@ var Image = function Image(_ref) {
27
36
  _useState2 = _slicedToArray(_useState, 2),
28
37
  colorSet = _useState2[0],
29
38
  setColorSet = _useState2[1];
30
- var loadIndicator = react.useMemo(function () {
31
- return /*#__PURE__*/jsxRuntime.jsx("div", {
32
- className: classNames(Media_module.mediaPlaceholder, "absolute z-1 top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 text-4xl text-gray animate-pulse"),
33
- children: "\u25CF\u25CF\u25CF"
34
- });
39
+ var _useState3 = react.useState(false),
40
+ _useState4 = _slicedToArray(_useState3, 2),
41
+ loaded = _useState4[0],
42
+ setLoaded = _useState4[1];
43
+ var _useState5 = react.useState(false),
44
+ _useState6 = _slicedToArray(_useState5, 2),
45
+ errored = _useState6[0],
46
+ setErrored = _useState6[1];
47
+ react.useEffect(function () {
48
+ setLoaded(false);
49
+ setErrored(false);
35
50
  }, [src]);
36
51
  return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread(_objectSpread({
37
52
  "data-ref": "image",
38
- className: classNames(Media_module.mediaContainer, "relative overflow-hidden bg-gray inline-block", reel && Media_module.mediaReel, className),
53
+ className: classNames("fabric-mediaContainer", "relative overflow-hidden inline-block", reel && "fabric-mediaReel", className),
39
54
  "data-colorset": colorSet
40
55
  }, aria), {}, {
41
- children: [loadIndicator, /*#__PURE__*/jsxRuntime.jsx("img", {
56
+ children: [!loaded && !errored && loadIndicator, !errored && /*#__PURE__*/jsxRuntime.jsx("img", {
42
57
  alt: alt !== null && alt !== void 0 ? alt : src,
43
58
  src: src,
44
59
  loading: "lazy",
45
60
  crossOrigin: "anonymous",
46
- className: classNames(Media_module.media, "pointer-events-none w-full h-full", fit && "object-".concat(fit)),
61
+ className: classNames("fabric-media", "pointer-events-none w-full h-full", cover[fit]),
47
62
  onLoad: function onLoad(e) {
48
- var _e$currentTarget$prev;
49
- (_e$currentTarget$prev = e.currentTarget.previousElementSibling) === null || _e$currentTarget$prev === void 0 || _e$currentTarget$prev.remove();
63
+ setLoaded(true);
50
64
  setColorSet(utilities.getImageColorset(e.currentTarget));
65
+ },
66
+ onError: function onError() {
67
+ return setErrored(true);
51
68
  }
69
+ }), errored && /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
70
+ size: "2rem",
71
+ className: "absolute text-tint-300 top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2",
72
+ icon: icons.CoreIcons.mediaImageBroken
52
73
  })]
53
74
  }));
54
75
  };
@@ -63,17 +84,32 @@ var Video = function Video(_ref2) {
63
84
  className = _ref2.className,
64
85
  aria = _objectWithoutProperties(_ref2, _excluded2);
65
86
  var videoRef = react.useRef(null);
66
- var _useState3 = react.useState(true),
67
- _useState4 = _slicedToArray(_useState3, 2),
68
- state = _useState4[0],
69
- setState = _useState4[1];
70
- var _useState5 = react.useState(false),
71
- _useState6 = _slicedToArray(_useState5, 2),
72
- volume = _useState6[0],
73
- setVolume = _useState6[1];
87
+ var _useState7 = react.useState(false),
88
+ _useState8 = _slicedToArray(_useState7, 2),
89
+ loaded = _useState8[0],
90
+ setLoaded = _useState8[1];
91
+ var _useState9 = react.useState(false),
92
+ _useState10 = _slicedToArray(_useState9, 2),
93
+ errored = _useState10[0],
94
+ setErrored = _useState10[1];
95
+ react.useEffect(function () {
96
+ setLoaded(false);
97
+ setErrored(false);
98
+ }, [src]);
99
+ var _useState11 = react.useState(true),
100
+ _useState12 = _slicedToArray(_useState11, 2),
101
+ state = _useState12[0],
102
+ setState = _useState12[1];
103
+ var _useState13 = react.useState(false),
104
+ _useState14 = _slicedToArray(_useState13, 2),
105
+ volume = _useState14[0],
106
+ setVolume = _useState14[1];
107
+ react.useEffect(function () {
108
+ setErrored(false);
109
+ }, [src]);
74
110
  return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread(_objectSpread({
75
111
  "data-ref": "video",
76
- className: classNames(Media_module.mediaContainer, "relative overflow-hidden bg-gray inline-block", reel && Media_module.mediaReel, className),
112
+ className: classNames("fabric-mediaContainer", "relative overflow-hidden inline-block", reel && "fabric-mediaReel", className),
77
113
  onMouseEnter: function onMouseEnter() {
78
114
  var _videoRef$current;
79
115
  playOnHover && ((_videoRef$current = videoRef.current) === null || _videoRef$current === void 0 ? void 0 : _videoRef$current.play());
@@ -83,64 +119,69 @@ var Video = function Video(_ref2) {
83
119
  playOnHover && ((_videoRef$current2 = videoRef.current) === null || _videoRef$current2 === void 0 ? void 0 : _videoRef$current2.pause());
84
120
  }
85
121
  }, aria), {}, {
86
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
87
- className: classNames(Media_module.mediaPlaceholder, "absolute z-1 top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 text-5xl animate-pulse"),
88
- children: "\u25CF\u25CF\u25CF"
89
- }), /*#__PURE__*/jsxRuntime.jsxs("video", {
90
- loop: true,
91
- ref: videoRef,
92
- controls: false,
93
- poster: poster,
94
- autoPlay: autoPlay,
95
- className: classNames(Media_module.media, "pointer-events-none w-full h-full", fit && "object-".concat(fit)),
96
- onPlay: function onPlay() {
97
- return setState(true);
98
- },
99
- onPause: function onPause() {
100
- return setState(false);
101
- },
102
- onVolumeChange: function onVolumeChange(e) {
103
- return setVolume(!!e.currentTarget.volume);
104
- },
105
- onLoadedData: function onLoadedData(e) {
106
- var _e$currentTarget$prev2;
107
- e.currentTarget.volume = 0;
108
- (_e$currentTarget$prev2 = e.currentTarget.previousElementSibling) === null || _e$currentTarget$prev2 === void 0 || _e$currentTarget$prev2.remove();
109
- },
110
- children: [/*#__PURE__*/jsxRuntime.jsx("source", {
111
- src: src
112
- }), /*#__PURE__*/jsxRuntime.jsx("track", {
113
- kind: "captions"
114
- })]
115
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
116
- "data-inner-clickable": true,
117
- className: classNames(Media_module.mediaControls, "absolute bottom-6 end-6 rounded-full flex flex-col"),
118
- children: [/*#__PURE__*/jsxRuntime.jsx(Button.Button, {
119
- rounded: true,
120
- variant: "link",
121
- className: Media_module.mediaControlPlaceholder,
122
- icon: icons.CoreIcons.ellipsis,
123
- "aria-label": "controls"
124
- }), /*#__PURE__*/jsxRuntime.jsx(Button.Button, {
125
- rounded: true,
126
- variant: "link",
127
- "aria-label": "controls",
128
- className: Media_module.mediaControlAction,
129
- onClick: function onClick() {
130
- videoRef.current && (videoRef.current.volume = videoRef.current.volume ? 0 : 1);
122
+ children: [!loaded && !errored && loadIndicator, !errored && /*#__PURE__*/jsxRuntime.jsxs(react.Fragment, {
123
+ children: [/*#__PURE__*/jsxRuntime.jsxs("video", {
124
+ loop: true,
125
+ ref: videoRef,
126
+ controls: false,
127
+ poster: poster,
128
+ autoPlay: autoPlay,
129
+ className: classNames("fabric-media", "pointer-events-none w-full h-full", fit && "object-".concat(fit)),
130
+ onPlay: function onPlay() {
131
+ return setState(true);
132
+ },
133
+ onPause: function onPause() {
134
+ return setState(false);
135
+ },
136
+ onVolumeChange: function onVolumeChange(e) {
137
+ return setVolume(!!e.currentTarget.volume);
138
+ },
139
+ onLoadedData: function onLoadedData(e) {
140
+ e.currentTarget.volume = 0;
141
+ setLoaded(true);
131
142
  },
132
- icon: volume ? icons.CoreIcons.volumeOn : icons.CoreIcons.volumeOff
133
- }), /*#__PURE__*/jsxRuntime.jsx(Button.Button, {
134
- rounded: true,
135
- variant: "link",
136
- "aria-label": "controls",
137
- className: Media_module.mediaControlAction,
138
- onClick: function onClick() {
139
- var _videoRef$current3, _videoRef$current4, _videoRef$current5;
140
- (_videoRef$current3 = videoRef.current) !== null && _videoRef$current3 !== void 0 && _videoRef$current3.paused ? (_videoRef$current4 = videoRef.current) === null || _videoRef$current4 === void 0 ? void 0 : _videoRef$current4.play() : (_videoRef$current5 = videoRef.current) === null || _videoRef$current5 === void 0 ? void 0 : _videoRef$current5.pause();
143
+ onError: function onError() {
144
+ return setErrored(true);
141
145
  },
142
- icon: state ? icons.CoreIcons.pause : icons.CoreIcons.play
146
+ children: [/*#__PURE__*/jsxRuntime.jsx("source", {
147
+ src: src
148
+ }), /*#__PURE__*/jsxRuntime.jsx("track", {
149
+ kind: "captions"
150
+ })]
151
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
152
+ "data-inner-clickable": true,
153
+ className: classNames("fabric-mediaControls", "absolute bottom-6 end-6 rounded-full flex flex-col"),
154
+ children: [/*#__PURE__*/jsxRuntime.jsx(Button.Button, {
155
+ rounded: true,
156
+ variant: "link",
157
+ className: "fabric-mediaControlPlaceholder",
158
+ icon: icons.CoreIcons.ellipsis,
159
+ "aria-label": "controls"
160
+ }), /*#__PURE__*/jsxRuntime.jsx(Button.Button, {
161
+ rounded: true,
162
+ variant: "link",
163
+ "aria-label": "controls",
164
+ className: "fabric-mediaControlAction",
165
+ onClick: function onClick() {
166
+ videoRef.current && (videoRef.current.volume = videoRef.current.volume ? 0 : 1);
167
+ },
168
+ icon: volume ? icons.CoreIcons.volumeOn : icons.CoreIcons.volumeOff
169
+ }), /*#__PURE__*/jsxRuntime.jsx(Button.Button, {
170
+ rounded: true,
171
+ variant: "link",
172
+ "aria-label": "controls",
173
+ className: "fabric-mediaControlAction",
174
+ onClick: function onClick() {
175
+ var _videoRef$current3, _videoRef$current4, _videoRef$current5;
176
+ (_videoRef$current3 = videoRef.current) !== null && _videoRef$current3 !== void 0 && _videoRef$current3.paused ? (_videoRef$current4 = videoRef.current) === null || _videoRef$current4 === void 0 ? void 0 : _videoRef$current4.play() : (_videoRef$current5 = videoRef.current) === null || _videoRef$current5 === void 0 ? void 0 : _videoRef$current5.pause();
177
+ },
178
+ icon: state ? icons.CoreIcons.pause : icons.CoreIcons.play
179
+ })]
143
180
  })]
181
+ }), errored && /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
182
+ size: "2rem",
183
+ className: "absolute text-tint-300 top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2",
184
+ icon: icons.CoreIcons.mediaVideoBroken
144
185
  })]
145
186
  }));
146
187
  };
@@ -9,15 +9,22 @@ var jsxRuntime = require('react/jsx-runtime');
9
9
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
10
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
11
  var ContextMenu = function ContextMenu(_ref) {
12
+ var _refs$domReference$cu, _refs$domReference$cu2;
12
13
  var children = _ref.children,
13
- menu = _ref.menu;
14
+ menu = _ref.menu,
15
+ disabled = _ref.disabled;
14
16
  var _useState = react.useState(false),
15
17
  _useState2 = _slicedToArray(_useState, 2),
16
18
  isOpen = _useState2[0],
17
19
  setIsOpen = _useState2[1];
20
+ var nodeId = react$1.useFloatingNodeId();
18
21
  var _useFloating = react$1.useFloating({
19
22
  open: isOpen,
20
- onOpenChange: setIsOpen,
23
+ nodeId: nodeId,
24
+ onOpenChange: function onOpenChange(open, evt, reason) {
25
+ var target = evt === null || evt === void 0 ? void 0 : evt.target;
26
+ if (!(target !== null && target !== void 0 && target.closest(".menu-list"))) setIsOpen(open);
27
+ },
21
28
  strategy: "fixed",
22
29
  placement: "bottom-start",
23
30
  whileElementsMounted: react$1.autoUpdate,
@@ -26,8 +33,13 @@ var ContextMenu = function ContextMenu(_ref) {
26
33
  refs = _useFloating.refs,
27
34
  floatingStyles = _useFloating.floatingStyles,
28
35
  context = _useFloating.context;
29
- var click = react$1.useClick(context, {});
30
- var dismiss = react$1.useDismiss(context, {});
36
+ var click = react$1.useClick(context, {
37
+ toggle: true,
38
+ ignoreMouse: true
39
+ });
40
+ var dismiss = react$1.useDismiss(context, {
41
+ bubbles: true
42
+ });
31
43
  var _useInteractions = react$1.useInteractions([dismiss, click]),
32
44
  getFloatingProps = _useInteractions.getFloatingProps;
33
45
  var handleClick = react.useRef(function (e) {
@@ -51,11 +63,18 @@ var ContextMenu = function ContextMenu(_ref) {
51
63
  e.preventDefault();
52
64
  return false;
53
65
  });
54
- var wrapperRef = react.useRef(function (el) {
55
- var _el$parentElement, _el$parentElement2;
56
- el === null || el === void 0 || (_el$parentElement = el.parentElement) === null || _el$parentElement === void 0 || _el$parentElement.removeEventListener("contextmenu", handleClick.current);
57
- el === null || el === void 0 || (_el$parentElement2 = el.parentElement) === null || _el$parentElement2 === void 0 || _el$parentElement2.addEventListener("contextmenu", handleClick.current);
58
- });
66
+ var wrapperRef = react.useRef(null);
67
+ react.useEffect(function () {
68
+ var el = wrapperRef.current;
69
+ if (el && !disabled) {
70
+ var _el$parentElement;
71
+ el === null || el === void 0 || (_el$parentElement = el.parentElement) === null || _el$parentElement === void 0 || _el$parentElement.addEventListener("contextmenu", handleClick.current);
72
+ return function () {
73
+ var _el$parentElement2;
74
+ el === null || el === void 0 || (_el$parentElement2 = el.parentElement) === null || _el$parentElement2 === void 0 || _el$parentElement2.removeEventListener("contextmenu", handleClick.current);
75
+ };
76
+ }
77
+ }, [disabled]);
59
78
  var tryClosing = react.useRef(function (e) {
60
79
  var _e$target;
61
80
  if ((_e$target = e.target) !== null && _e$target !== void 0 && _e$target.closest("[data-dropdown-dismiss='true']")) setTimeout(function () {
@@ -64,9 +83,10 @@ var ContextMenu = function ContextMenu(_ref) {
64
83
  });
65
84
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
66
85
  className: "contents",
67
- ref: wrapperRef.current,
86
+ ref: wrapperRef,
68
87
  onMouseUpCapture: tryClosing.current,
69
88
  children: [children, isOpen && /*#__PURE__*/jsxRuntime.jsx(react$1.FloatingPortal, {
89
+ root: (_refs$domReference$cu = (_refs$domReference$cu2 = refs.domReference.current) === null || _refs$domReference$cu2 === void 0 ? void 0 : _refs$domReference$cu2.closest(".theme-base")) !== null && _refs$domReference$cu !== void 0 ? _refs$domReference$cu : undefined,
70
90
  children: /*#__PURE__*/react.cloneElement(menu, _objectSpread(_objectSpread({}, getFloatingProps()), {}, {
71
91
  style: _objectSpread(_objectSpread({}, floatingStyles), {}, {
72
92
  borderRadius: "var(--rounding)",
@@ -7,7 +7,9 @@ var react = require('@floating-ui/react');
7
7
  var utilities = require('@react-fabric/utilities');
8
8
  var classNames = require('classnames');
9
9
  var react$1 = require('react');
10
+ var HotKeyWrapper = require('../../hotkeys/HotKeyWrapper.js');
10
11
  var icons = require('../../types/icons.js');
12
+ var cloneElement = require('../../utils/cloneElement.js');
11
13
  var nodeCheck = require('../../utils/nodeCheck.js');
12
14
  var MenuItem = require('./MenuItem.js');
13
15
  var jsxRuntime = require('react/jsx-runtime');
@@ -64,8 +66,9 @@ var MenuComponent = function MenuComponent(_ref) {
64
66
  })
65
67
  });
66
68
  var click = react.useClick(context, {
67
- toggle: true,
68
- ignoreMouse: true
69
+ event: "mousedown",
70
+ toggle: !isNested,
71
+ ignoreMouse: isNested
69
72
  });
70
73
  var role = react.useRole(context, {
71
74
  role: "menu"
@@ -137,6 +140,16 @@ var MenuComponent = function MenuComponent(_ref) {
137
140
  });
138
141
  }, 100);
139
142
  }, [isOpen]);
143
+ react$1.useEffect(function () {
144
+ if ((!isNested || isOpen) && activeIndex) {
145
+ setTimeout(function () {
146
+ var _elementsRef$current$;
147
+ (_elementsRef$current$ = elementsRef.current[activeIndex]) === null || _elementsRef$current$ === void 0 || _elementsRef$current$.scrollIntoView({
148
+ block: "nearest"
149
+ });
150
+ }, 100);
151
+ }
152
+ }, [isOpen, activeIndex]);
140
153
  return /*#__PURE__*/jsxRuntime.jsxs(react.FloatingNode, {
141
154
  id: nodeId,
142
155
  children: [isNested && /*#__PURE__*/jsxRuntime.jsx(MenuItem.MenuItem, _objectSpread(_objectSpread({}, getReferenceProps(_objectSpread(_objectSpread({}, rest), {}, {
@@ -155,21 +168,21 @@ var MenuComponent = function MenuComponent(_ref) {
155
168
  elementsRef: elementsRef,
156
169
  labelsRef: labelsRef,
157
170
  children: (!isNested || isOpen) && /*#__PURE__*/jsxRuntime.jsxs(Wrapper, _objectSpread(_objectSpread({}, wrapperProps), {}, {
158
- children: [isNested && /*#__PURE__*/jsxRuntime.jsx(react.FloatingOverlay, {}), /*#__PURE__*/jsxRuntime.jsx(react.FloatingFocusManager, {
159
- context: context,
160
- modal: !isNested,
161
- initialFocus: isNested ? -1 : 0,
162
- returnFocus: !isNested,
163
- children: /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread(_objectSpread({
164
- className: classNames(menuClassName, "flex flex-col bg-base p-1 menu-list", isNested && "outline shadow-lg rounded-capped max-h-96 overflow-auto scroll-thin z-[var(--z-popover)]"),
165
- autoFocus: true,
166
- ref: utilities.mergeRefs(refs.setFloating, isNested ? undefined : ref)
167
- }, getFloatingProps({
168
- onClick: isNested ? undefined : handleClick
169
- })), {}, {
170
- style: !isNested ? rest.style : floatingStyles,
171
- children: react$1.Children.map(children, function (child, index) {
172
- if (child) {
171
+ children: [isNested && /*#__PURE__*/jsxRuntime.jsx(react.FloatingOverlay, {}), /*#__PURE__*/jsxRuntime.jsx(HotKeyWrapper.HotKeyWrapper, {
172
+ children: /*#__PURE__*/jsxRuntime.jsx(react.FloatingFocusManager, {
173
+ context: context,
174
+ modal: !isNested,
175
+ initialFocus: isNested ? -1 : 0,
176
+ returnFocus: !isNested,
177
+ children: /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread(_objectSpread({
178
+ className: classNames(menuClassName, "flex flex-col bg-base p-1 menu-list", isNested && "outline shadow-lg rounded-capped max-h-96 overflow-auto scroll-thin z-(--z-popover)"),
179
+ autoFocus: true,
180
+ ref: utilities.mergeRefs(isNested ? refs.setFloating : ref)
181
+ }, getFloatingProps({
182
+ onClick: isNested ? undefined : handleClick
183
+ })), {}, {
184
+ style: !isNested ? rest.style : floatingStyles,
185
+ children: cloneElement.cloneChildren(children, function (child, index) {
173
186
  labelsRef.current[index] = child.props.label;
174
187
  return /*#__PURE__*/react$1.cloneElement(child, nodeCheck.nodeCheck(child, MenuItem.MenuItem, Menu, MenuComponent) ? _objectSpread({
175
188
  minimal: !isNested && minimal,
@@ -181,9 +194,9 @@ var MenuComponent = function MenuComponent(_ref) {
181
194
  onClick: child.props.onClick,
182
195
  tabIndex: activeIndex === index ? 0 : -1
183
196
  })) : {});
184
- }
185
- })
186
- }))
197
+ })
198
+ }))
199
+ })
187
200
  })]
188
201
  }))
189
202
  })]
@@ -191,6 +204,12 @@ var MenuComponent = function MenuComponent(_ref) {
191
204
  };
192
205
  var Menu = function Menu(props) {
193
206
  var parentId = react.useFloatingParentNodeId();
207
+ var tree = react.useFloatingTree();
208
+ if (tree) {
209
+ return /*#__PURE__*/jsxRuntime.jsx(MenuComponent, _objectSpread(_objectSpread({}, props), {}, {
210
+ menuClassName: props.className
211
+ }));
212
+ }
194
213
  if (parentId === null) {
195
214
  return /*#__PURE__*/jsxRuntime.jsx(react.FloatingTree, {
196
215
  children: /*#__PURE__*/jsxRuntime.jsx(MenuComponent, _objectSpread(_objectSpread({}, props), {}, {