@react-fabric/core 1.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +10 -0
  3. package/css/flags.rect.css +1607 -0
  4. package/css/flags.wavy.css +1606 -0
  5. package/css/index.js +250 -0
  6. package/css/reset/_gradients.css +51 -0
  7. package/css/reset/_reset.css +407 -0
  8. package/css/reset/_text.css +179 -0
  9. package/css/reset/_theme.css +110 -0
  10. package/css/reset/index.css +27 -0
  11. package/css/styles.css +31 -0
  12. package/css/tailwind/colors.ts +158 -0
  13. package/dist/cjs/components/actionLabel/ActionLabel.js +56 -0
  14. package/dist/cjs/components/actionLabel/ActionLabel.module.css +1 -0
  15. package/dist/cjs/components/animations/Animations.js +135 -0
  16. package/dist/cjs/components/animations/Animations.module.css +1 -0
  17. package/dist/cjs/components/avatar/Avatar.js +144 -0
  18. package/dist/cjs/components/avatar/Avatar.module.css +1 -0
  19. package/dist/cjs/components/avatar/AvatarGroup.js +74 -0
  20. package/dist/cjs/components/badge/Badge.js +82 -0
  21. package/dist/cjs/components/badge/Badge.module.css +1 -0
  22. package/dist/cjs/components/breadcrumbs/Breadcrumbs.js +71 -0
  23. package/dist/cjs/components/breadcrumbs/Breadcrumbs.module.css +1 -0
  24. package/dist/cjs/components/button/Button.js +170 -0
  25. package/dist/cjs/components/button/Button.module.css +1 -0
  26. package/dist/cjs/components/button/ButtonGroup.js +41 -0
  27. package/dist/cjs/components/button/ConfirmButton.js +166 -0
  28. package/dist/cjs/components/button/ToggleButtonGroup.js +68 -0
  29. package/dist/cjs/components/callout/Callout.js +54 -0
  30. package/dist/cjs/components/card/Card.js +62 -0
  31. package/dist/cjs/components/card/Card.module.css +1 -0
  32. package/dist/cjs/components/card/CardCover.js +48 -0
  33. package/dist/cjs/components/chip/Chip.js +94 -0
  34. package/dist/cjs/components/chip/Chip.module.css +1 -0
  35. package/dist/cjs/components/collapsable/Collapsable.js +84 -0
  36. package/dist/cjs/components/collapsable/Collapsable.module.css +1 -0
  37. package/dist/cjs/components/divider/Divider.js +65 -0
  38. package/dist/cjs/components/dropdown/Dropdown.js +180 -0
  39. package/dist/cjs/components/dropdown/Dropdown.module.css +1 -0
  40. package/dist/cjs/components/dropdown/DropdownTool.js +26 -0
  41. package/dist/cjs/components/empty/EmptyContent.js +92 -0
  42. package/dist/cjs/components/icon/Icon.js +106 -0
  43. package/dist/cjs/components/icon/Icon.module.css +1 -0
  44. package/dist/cjs/components/media/Media.js +149 -0
  45. package/dist/cjs/components/media/Media.module.css +1 -0
  46. package/dist/cjs/components/menu/ContextMenu.js +84 -0
  47. package/dist/cjs/components/menu/Menu.js +204 -0
  48. package/dist/cjs/components/menu/Menu.module.css +1 -0
  49. package/dist/cjs/components/menu/MenuItem.js +119 -0
  50. package/dist/cjs/components/meter/Meter.js +41 -0
  51. package/dist/cjs/components/meter/Meter.module.css +1 -0
  52. package/dist/cjs/components/navigator/Navigator.js +54 -0
  53. package/dist/cjs/components/panel/Panel.js +125 -0
  54. package/dist/cjs/components/panel/Panel.module.css +1 -0
  55. package/dist/cjs/components/panel/PanelGroup.js +50 -0
  56. package/dist/cjs/components/panel/PanelStack.js +85 -0
  57. package/dist/cjs/components/progress/Progress.module.css +1 -0
  58. package/dist/cjs/components/progress/ProgressBar.js +62 -0
  59. package/dist/cjs/components/progress/ProgressCircle.js +96 -0
  60. package/dist/cjs/components/tabpanel/Tab.js +78 -0
  61. package/dist/cjs/components/tabpanel/TabPanel.js +77 -0
  62. package/dist/cjs/components/tabpanel/TabPanel.module.css +1 -0
  63. package/dist/cjs/context/Global.js +169 -0
  64. package/dist/cjs/context/NotificationCenter.js +254 -0
  65. package/dist/cjs/core/aside/Aside.js +152 -0
  66. package/dist/cjs/core/aside/Aside.module.css +1 -0
  67. package/dist/cjs/core/boundary/ErrorBoundary.js +140 -0
  68. package/dist/cjs/core/boundary/ErrorBoundary.module.css +1 -0
  69. package/dist/cjs/core/boundary/ErrorIcon.js +51 -0
  70. package/dist/cjs/core/content/Content.js +70 -0
  71. package/dist/cjs/core/content/Content.module.css +1 -0
  72. package/dist/cjs/core/headfoot/HeadFoot.js +62 -0
  73. package/dist/cjs/core/headfoot/HeadFoot.module.css +1 -0
  74. package/dist/cjs/core/page/Page.js +65 -0
  75. package/dist/cjs/core/page/Page.module.css +1 -0
  76. package/dist/cjs/core/responsive/Responsive.js +64 -0
  77. package/dist/cjs/core/responsive/Responsive.module.css +1 -0
  78. package/dist/cjs/core/section/Section.js +44 -0
  79. package/dist/cjs/core/section/Section.module.css +1 -0
  80. package/dist/cjs/core/theme/Theme.module.css +1 -0
  81. package/dist/cjs/core/theme/ThemeProvider.js +74 -0
  82. package/dist/cjs/core/viewport/Viewport.js +39 -0
  83. package/dist/cjs/core/viewport/Viewport.module.css +1 -0
  84. package/dist/cjs/hooks/useClientService.js +30 -0
  85. package/dist/cjs/hooks/useControlledValue.js +22 -0
  86. package/dist/cjs/hooks/useDebounce.js +56 -0
  87. package/dist/cjs/hooks/useEffectDebugger.js +113 -0
  88. package/dist/cjs/hooks/useIsDark.js +33 -0
  89. package/dist/cjs/hooks/useIsRtl.js +27 -0
  90. package/dist/cjs/hooks/useNavigator.js +36 -0
  91. package/dist/cjs/hooks/useOverlayService.js +55 -0
  92. package/dist/cjs/hooks/usePropToggle.js +40 -0
  93. package/dist/cjs/hooks/useResize.js +75 -0
  94. package/dist/cjs/hooks/useResizeObserver.js +38 -0
  95. package/dist/cjs/hooks/useStorage.js +44 -0
  96. package/dist/cjs/hotkeys/HotKey.js +47 -0
  97. package/dist/cjs/hotkeys/HotKeyLabel.js +52 -0
  98. package/dist/cjs/hotkeys/HotKeyWrapper.js +98 -0
  99. package/dist/cjs/hotkeys/commons.js +56 -0
  100. package/dist/cjs/i18n/ar.json.js +31 -0
  101. package/dist/cjs/i18n/en.json.js +46 -0
  102. package/dist/cjs/i18n/index.js +55 -0
  103. package/dist/cjs/index.js +162 -0
  104. package/dist/cjs/overlays/alert/Alert.js +163 -0
  105. package/dist/cjs/overlays/alert/Alert.module.css +1 -0
  106. package/dist/cjs/overlays/flyout/Flyout.js +152 -0
  107. package/dist/cjs/overlays/flyout/Flyout.module.css +1 -0
  108. package/dist/cjs/overlays/message/Message.js +84 -0
  109. package/dist/cjs/overlays/message/Message.module.css +1 -0
  110. package/dist/cjs/overlays/modal/Modal.js +132 -0
  111. package/dist/cjs/overlays/modal/Modal.module.css +1 -0
  112. package/dist/cjs/overlays/toast/Toast.js +166 -0
  113. package/dist/cjs/overlays/toast/Toast.module.css +1 -0
  114. package/dist/cjs/overlays/tooltip/Tooltip.js +133 -0
  115. package/dist/cjs/overlays/tooltip/Tooltip.module.css +1 -0
  116. package/dist/cjs/types/icons.js +197 -0
  117. package/dist/cjs/typography/Abbr.js +108 -0
  118. package/dist/cjs/typography/Copy.js +59 -0
  119. package/dist/cjs/typography/Link.js +55 -0
  120. package/dist/cjs/typography/Mark.js +86 -0
  121. package/dist/cjs/typography/Text.js +121 -0
  122. package/dist/cjs/typography/Title.js +58 -0
  123. package/dist/cjs/typography/Typography.module.css +1 -0
  124. package/dist/cjs/typography/types.js +42 -0
  125. package/dist/cjs/utils/calculateDimensions.js +51 -0
  126. package/dist/cjs/utils/getColor.js +52 -0
  127. package/dist/cjs/utils/nodeCheck.js +35 -0
  128. package/dist/esm/components/actionLabel/ActionLabel.js +56 -0
  129. package/dist/esm/components/actionLabel/ActionLabel.module.css +1 -0
  130. package/dist/esm/components/animations/Animations.js +131 -0
  131. package/dist/esm/components/animations/Animations.module.css +1 -0
  132. package/dist/esm/components/avatar/Avatar.js +144 -0
  133. package/dist/esm/components/avatar/Avatar.module.css +1 -0
  134. package/dist/esm/components/avatar/AvatarGroup.js +74 -0
  135. package/dist/esm/components/badge/Badge.js +81 -0
  136. package/dist/esm/components/badge/Badge.module.css +1 -0
  137. package/dist/esm/components/breadcrumbs/Breadcrumbs.js +71 -0
  138. package/dist/esm/components/breadcrumbs/Breadcrumbs.module.css +1 -0
  139. package/dist/esm/components/button/Button.js +170 -0
  140. package/dist/esm/components/button/Button.module.css +1 -0
  141. package/dist/esm/components/button/ButtonGroup.js +41 -0
  142. package/dist/esm/components/button/ConfirmButton.js +166 -0
  143. package/dist/esm/components/button/ToggleButtonGroup.js +68 -0
  144. package/dist/esm/components/callout/Callout.js +54 -0
  145. package/dist/esm/components/card/Card.js +62 -0
  146. package/dist/esm/components/card/Card.module.css +1 -0
  147. package/dist/esm/components/card/CardCover.js +48 -0
  148. package/dist/esm/components/chip/Chip.js +94 -0
  149. package/dist/esm/components/chip/Chip.module.css +1 -0
  150. package/dist/esm/components/collapsable/Collapsable.js +84 -0
  151. package/dist/esm/components/collapsable/Collapsable.module.css +1 -0
  152. package/dist/esm/components/divider/Divider.js +65 -0
  153. package/dist/esm/components/dropdown/Dropdown.js +179 -0
  154. package/dist/esm/components/dropdown/Dropdown.module.css +1 -0
  155. package/dist/esm/components/dropdown/DropdownTool.js +26 -0
  156. package/dist/esm/components/empty/EmptyContent.js +92 -0
  157. package/dist/esm/components/icon/Icon.js +106 -0
  158. package/dist/esm/components/icon/Icon.module.css +1 -0
  159. package/dist/esm/components/media/Media.js +148 -0
  160. package/dist/esm/components/media/Media.module.css +1 -0
  161. package/dist/esm/components/menu/ContextMenu.js +84 -0
  162. package/dist/esm/components/menu/Menu.js +204 -0
  163. package/dist/esm/components/menu/Menu.module.css +1 -0
  164. package/dist/esm/components/menu/MenuItem.js +119 -0
  165. package/dist/esm/components/meter/Meter.js +41 -0
  166. package/dist/esm/components/meter/Meter.module.css +1 -0
  167. package/dist/esm/components/navigator/Navigator.js +54 -0
  168. package/dist/esm/components/panel/Panel.js +125 -0
  169. package/dist/esm/components/panel/Panel.module.css +1 -0
  170. package/dist/esm/components/panel/PanelGroup.js +50 -0
  171. package/dist/esm/components/panel/PanelStack.js +85 -0
  172. package/dist/esm/components/progress/Progress.module.css +1 -0
  173. package/dist/esm/components/progress/ProgressBar.js +62 -0
  174. package/dist/esm/components/progress/ProgressCircle.js +96 -0
  175. package/dist/esm/components/tabpanel/Tab.js +78 -0
  176. package/dist/esm/components/tabpanel/TabPanel.js +77 -0
  177. package/dist/esm/components/tabpanel/TabPanel.module.css +1 -0
  178. package/dist/esm/context/Global.js +165 -0
  179. package/dist/esm/context/NotificationCenter.js +254 -0
  180. package/dist/esm/core/aside/Aside.js +152 -0
  181. package/dist/esm/core/aside/Aside.module.css +1 -0
  182. package/dist/esm/core/boundary/ErrorBoundary.js +140 -0
  183. package/dist/esm/core/boundary/ErrorBoundary.module.css +1 -0
  184. package/dist/esm/core/boundary/ErrorIcon.js +51 -0
  185. package/dist/esm/core/content/Content.js +70 -0
  186. package/dist/esm/core/content/Content.module.css +1 -0
  187. package/dist/esm/core/headfoot/HeadFoot.js +61 -0
  188. package/dist/esm/core/headfoot/HeadFoot.module.css +1 -0
  189. package/dist/esm/core/page/Page.js +65 -0
  190. package/dist/esm/core/page/Page.module.css +1 -0
  191. package/dist/esm/core/responsive/Responsive.js +62 -0
  192. package/dist/esm/core/responsive/Responsive.module.css +1 -0
  193. package/dist/esm/core/section/Section.js +44 -0
  194. package/dist/esm/core/section/Section.module.css +1 -0
  195. package/dist/esm/core/theme/Theme.module.css +1 -0
  196. package/dist/esm/core/theme/ThemeProvider.js +74 -0
  197. package/dist/esm/core/viewport/Viewport.js +39 -0
  198. package/dist/esm/core/viewport/Viewport.module.css +1 -0
  199. package/dist/esm/hooks/useClientService.js +30 -0
  200. package/dist/esm/hooks/useControlledValue.js +22 -0
  201. package/dist/esm/hooks/useDebounce.js +56 -0
  202. package/dist/esm/hooks/useEffectDebugger.js +111 -0
  203. package/dist/esm/hooks/useIsDark.js +33 -0
  204. package/dist/esm/hooks/useIsRtl.js +27 -0
  205. package/dist/esm/hooks/useNavigator.js +36 -0
  206. package/dist/esm/hooks/useOverlayService.js +55 -0
  207. package/dist/esm/hooks/usePropToggle.js +40 -0
  208. package/dist/esm/hooks/useResize.js +75 -0
  209. package/dist/esm/hooks/useResizeObserver.js +38 -0
  210. package/dist/esm/hooks/useStorage.js +43 -0
  211. package/dist/esm/hotkeys/HotKey.js +47 -0
  212. package/dist/esm/hotkeys/HotKeyLabel.js +52 -0
  213. package/dist/esm/hotkeys/HotKeyWrapper.js +96 -0
  214. package/dist/esm/hotkeys/commons.js +56 -0
  215. package/dist/esm/i18n/ar.json.js +27 -0
  216. package/dist/esm/i18n/en.json.js +41 -0
  217. package/dist/esm/i18n/index.js +55 -0
  218. package/dist/esm/index.js +75 -0
  219. package/dist/esm/overlays/alert/Alert.js +163 -0
  220. package/dist/esm/overlays/alert/Alert.module.css +1 -0
  221. package/dist/esm/overlays/flyout/Flyout.js +152 -0
  222. package/dist/esm/overlays/flyout/Flyout.module.css +1 -0
  223. package/dist/esm/overlays/message/Message.js +84 -0
  224. package/dist/esm/overlays/message/Message.module.css +1 -0
  225. package/dist/esm/overlays/modal/Modal.js +132 -0
  226. package/dist/esm/overlays/modal/Modal.module.css +1 -0
  227. package/dist/esm/overlays/toast/Toast.js +166 -0
  228. package/dist/esm/overlays/toast/Toast.module.css +1 -0
  229. package/dist/esm/overlays/tooltip/Tooltip.js +132 -0
  230. package/dist/esm/overlays/tooltip/Tooltip.module.css +1 -0
  231. package/dist/esm/types/icons.js +199 -0
  232. package/dist/esm/typography/Abbr.js +108 -0
  233. package/dist/esm/typography/Copy.js +59 -0
  234. package/dist/esm/typography/Link.js +55 -0
  235. package/dist/esm/typography/Mark.js +86 -0
  236. package/dist/esm/typography/Text.js +121 -0
  237. package/dist/esm/typography/Title.js +58 -0
  238. package/dist/esm/typography/Typography.module.css +1 -0
  239. package/dist/esm/typography/types.js +41 -0
  240. package/dist/esm/utils/calculateDimensions.js +50 -0
  241. package/dist/esm/utils/getColor.js +49 -0
  242. package/dist/esm/utils/nodeCheck.js +35 -0
  243. package/dist/types/components/actionLabel/ActionLabel.d.ts +21 -0
  244. package/dist/types/components/animations/Animations.d.ts +23 -0
  245. package/dist/types/components/avatar/Avatar.d.ts +48 -0
  246. package/dist/types/components/avatar/AvatarGroup.d.ts +24 -0
  247. package/dist/types/components/badge/Badge.d.ts +25 -0
  248. package/dist/types/components/breadcrumbs/Breadcrumbs.d.ts +17 -0
  249. package/dist/types/components/button/Button.d.ts +94 -0
  250. package/dist/types/components/button/ButtonGroup.d.ts +34 -0
  251. package/dist/types/components/button/ConfirmButton.d.ts +27 -0
  252. package/dist/types/components/button/ToggleButtonGroup.d.ts +56 -0
  253. package/dist/types/components/callout/Callout.d.ts +28 -0
  254. package/dist/types/components/card/Card.d.ts +39 -0
  255. package/dist/types/components/card/CardCover.d.ts +16 -0
  256. package/dist/types/components/chip/Chip.d.ts +41 -0
  257. package/dist/types/components/collapsable/Collapsable.d.ts +43 -0
  258. package/dist/types/components/divider/Divider.d.ts +20 -0
  259. package/dist/types/components/dropdown/Dropdown.d.ts +50 -0
  260. package/dist/types/components/dropdown/DropdownTool.d.ts +8 -0
  261. package/dist/types/components/empty/EmptyContent.d.ts +21 -0
  262. package/dist/types/components/icon/Icon.d.ts +44 -0
  263. package/dist/types/components/index.d.ts +33 -0
  264. package/dist/types/components/media/Media.d.ts +37 -0
  265. package/dist/types/components/menu/ContextMenu.d.ts +7 -0
  266. package/dist/types/components/menu/Menu.d.ts +2 -0
  267. package/dist/types/components/menu/MenuItem.d.ts +4 -0
  268. package/dist/types/components/menu/types.d.ts +59 -0
  269. package/dist/types/components/meter/Meter.d.ts +12 -0
  270. package/dist/types/components/navigator/Navigator.d.ts +12 -0
  271. package/dist/types/components/panel/Panel.d.ts +59 -0
  272. package/dist/types/components/panel/PanelGroup.d.ts +12 -0
  273. package/dist/types/components/panel/PanelStack.d.ts +16 -0
  274. package/dist/types/components/progress/ProgressBar.d.ts +24 -0
  275. package/dist/types/components/progress/ProgressCircle.d.ts +16 -0
  276. package/dist/types/components/tabpanel/Tab.d.ts +41 -0
  277. package/dist/types/components/tabpanel/TabPanel.d.ts +41 -0
  278. package/dist/types/context/Global.d.ts +81 -0
  279. package/dist/types/context/NotificationCenter.d.ts +11 -0
  280. package/dist/types/core/aside/Aside.d.ts +52 -0
  281. package/dist/types/core/boundary/ErrorBoundary.d.ts +26 -0
  282. package/dist/types/core/boundary/ErrorIcon.d.ts +1 -0
  283. package/dist/types/core/content/Content.d.ts +15 -0
  284. package/dist/types/core/headfoot/HeadFoot.d.ts +24 -0
  285. package/dist/types/core/index.d.ts +9 -0
  286. package/dist/types/core/page/Page.d.ts +23 -0
  287. package/dist/types/core/responsive/Responsive.d.ts +53 -0
  288. package/dist/types/core/section/Section.d.ts +7 -0
  289. package/dist/types/core/theme/ThemeProvider.d.ts +37 -0
  290. package/dist/types/core/viewport/Viewport.d.ts +5 -0
  291. package/dist/types/hooks/useClientService.d.ts +1 -0
  292. package/dist/types/hooks/useControlledValue.d.ts +5 -0
  293. package/dist/types/hooks/useDebounce.d.ts +4 -0
  294. package/dist/types/hooks/useEffectDebugger.d.ts +4 -0
  295. package/dist/types/hooks/useIsDark.d.ts +1 -0
  296. package/dist/types/hooks/useIsRtl.d.ts +1 -0
  297. package/dist/types/hooks/useNavigator.d.ts +7 -0
  298. package/dist/types/hooks/useOverlayService.d.ts +10 -0
  299. package/dist/types/hooks/usePropToggle.d.ts +9 -0
  300. package/dist/types/hooks/useResize.d.ts +27 -0
  301. package/dist/types/hooks/useResizeObserver.d.ts +3 -0
  302. package/dist/types/hooks/useStorage.d.ts +2 -0
  303. package/dist/types/hotkeys/HotKey.d.ts +2 -0
  304. package/dist/types/hotkeys/HotKeyLabel.d.ts +2 -0
  305. package/dist/types/hotkeys/HotKeyWrapper.d.ts +11 -0
  306. package/dist/types/hotkeys/commons.d.ts +28 -0
  307. package/dist/types/i18n/index.d.ts +6 -0
  308. package/dist/types/index.d.ts +19 -0
  309. package/dist/types/overlays/alert/Alert.d.ts +33 -0
  310. package/dist/types/overlays/flyout/Flyout.d.ts +57 -0
  311. package/dist/types/overlays/index.d.ts +6 -0
  312. package/dist/types/overlays/message/Message.d.ts +21 -0
  313. package/dist/types/overlays/modal/Modal.d.ts +53 -0
  314. package/dist/types/overlays/toast/Toast.d.ts +33 -0
  315. package/dist/types/overlays/tooltip/Tooltip.d.ts +18 -0
  316. package/dist/types/types/icons.d.ts +194 -0
  317. package/dist/types/types/index.d.ts +140 -0
  318. package/dist/types/typography/Abbr.d.ts +22 -0
  319. package/dist/types/typography/Copy.d.ts +9 -0
  320. package/dist/types/typography/Link.d.ts +24 -0
  321. package/dist/types/typography/Mark.d.ts +18 -0
  322. package/dist/types/typography/Text.d.ts +35 -0
  323. package/dist/types/typography/Title.d.ts +29 -0
  324. package/dist/types/typography/index.d.ts +6 -0
  325. package/dist/types/typography/types.d.ts +2 -0
  326. package/dist/types/utils/calculateDimensions.d.ts +6 -0
  327. package/dist/types/utils/getColor.d.ts +4 -0
  328. package/dist/types/utils/index.d.ts +3 -0
  329. package/dist/types/utils/nodeCheck.d.ts +2 -0
  330. package/package.json +60 -0
  331. package/src/components/actionLabel/ActionLabel.module.css +38 -0
  332. package/src/components/actionLabel/ActionLabel.tsx +97 -0
  333. package/src/components/animations/Animations.module.css +253 -0
  334. package/src/components/animations/Animations.tsx +190 -0
  335. package/src/components/avatar/Avatar.module.css +90 -0
  336. package/src/components/avatar/Avatar.tsx +218 -0
  337. package/src/components/avatar/AvatarGroup.tsx +140 -0
  338. package/src/components/badge/Badge.module.css +165 -0
  339. package/src/components/badge/Badge.tsx +148 -0
  340. package/src/components/breadcrumbs/Breadcrumbs.module.css +189 -0
  341. package/src/components/breadcrumbs/Breadcrumbs.tsx +109 -0
  342. package/src/components/button/Button.module.css +375 -0
  343. package/src/components/button/Button.tsx +323 -0
  344. package/src/components/button/ButtonGroup.tsx +112 -0
  345. package/src/components/button/ConfirmButton.tsx +221 -0
  346. package/src/components/button/ToggleButtonGroup.tsx +161 -0
  347. package/src/components/callout/Callout.tsx +104 -0
  348. package/src/components/card/Card.module.css +152 -0
  349. package/src/components/card/Card.tsx +154 -0
  350. package/src/components/card/CardCover.tsx +87 -0
  351. package/src/components/chip/Chip.module.css +118 -0
  352. package/src/components/chip/Chip.tsx +201 -0
  353. package/src/components/collapsable/Collapsable.module.css +30 -0
  354. package/src/components/collapsable/Collapsable.tsx +153 -0
  355. package/src/components/divider/Divider.tsx +105 -0
  356. package/src/components/dropdown/Dropdown.module.css +39 -0
  357. package/src/components/dropdown/Dropdown.tsx +307 -0
  358. package/src/components/dropdown/DropdownTool.tsx +56 -0
  359. package/src/components/empty/EmptyContent.tsx +141 -0
  360. package/src/components/icon/Icon.module.css +71 -0
  361. package/src/components/icon/Icon.tsx +188 -0
  362. package/src/components/index.ts +61 -0
  363. package/src/components/media/Media.module.css +112 -0
  364. package/src/components/media/Media.tsx +224 -0
  365. package/src/components/menu/ContextMenu.tsx +116 -0
  366. package/src/components/menu/Menu.module.css +109 -0
  367. package/src/components/menu/Menu.tsx +278 -0
  368. package/src/components/menu/MenuItem.tsx +162 -0
  369. package/src/components/menu/types.ts +100 -0
  370. package/src/components/meter/Meter.module.css +116 -0
  371. package/src/components/meter/Meter.tsx +80 -0
  372. package/src/components/navigator/Navigator.tsx +77 -0
  373. package/src/components/panel/Panel.module.css +86 -0
  374. package/src/components/panel/Panel.tsx +254 -0
  375. package/src/components/panel/PanelGroup.tsx +99 -0
  376. package/src/components/panel/PanelStack.tsx +133 -0
  377. package/src/components/progress/Progress.module.css +70 -0
  378. package/src/components/progress/ProgressBar.tsx +122 -0
  379. package/src/components/progress/ProgressCircle.tsx +118 -0
  380. package/src/components/tabpanel/Tab.tsx +175 -0
  381. package/src/components/tabpanel/TabPanel.module.css +200 -0
  382. package/src/components/tabpanel/TabPanel.tsx +155 -0
  383. package/src/context/Global.tsx +241 -0
  384. package/src/context/NotificationCenter.tsx +223 -0
  385. package/src/core/aside/Aside.module.css +231 -0
  386. package/src/core/aside/Aside.tsx +262 -0
  387. package/src/core/boundary/ErrorBoundary.module.css +65 -0
  388. package/src/core/boundary/ErrorBoundary.tsx +146 -0
  389. package/src/core/boundary/ErrorIcon.tsx +50 -0
  390. package/src/core/content/Content.module.css +40 -0
  391. package/src/core/content/Content.tsx +91 -0
  392. package/src/core/headfoot/HeadFoot.module.css +38 -0
  393. package/src/core/headfoot/HeadFoot.tsx +114 -0
  394. package/src/core/index.ts +32 -0
  395. package/src/core/page/Page.module.css +46 -0
  396. package/src/core/page/Page.tsx +100 -0
  397. package/src/core/responsive/Responsive.module.css +85 -0
  398. package/src/core/responsive/Responsive.tsx +172 -0
  399. package/src/core/section/Section.module.css +28 -0
  400. package/src/core/section/Section.tsx +48 -0
  401. package/src/core/theme/Theme.module.css +30 -0
  402. package/src/core/theme/ThemeProvider.tsx +112 -0
  403. package/src/core/viewport/Viewport.module.css +32 -0
  404. package/src/core/viewport/Viewport.tsx +43 -0
  405. package/src/hooks/useClientService.tsx +29 -0
  406. package/src/hooks/useControlledValue.tsx +43 -0
  407. package/src/hooks/useDebounce.ts +52 -0
  408. package/src/hooks/useEffectDebugger.ts +154 -0
  409. package/src/hooks/useIsDark.ts +50 -0
  410. package/src/hooks/useIsRtl.ts +46 -0
  411. package/src/hooks/useNavigator.tsx +54 -0
  412. package/src/hooks/useOverlayService.tsx +51 -0
  413. package/src/hooks/usePropToggle.ts +61 -0
  414. package/src/hooks/useResize.ts +90 -0
  415. package/src/hooks/useResizeObserver.ts +55 -0
  416. package/src/hooks/useStorage.ts +76 -0
  417. package/src/hotkeys/HotKey.tsx +39 -0
  418. package/src/hotkeys/HotKeyLabel.tsx +61 -0
  419. package/src/hotkeys/HotKeyWrapper.tsx +137 -0
  420. package/src/hotkeys/commons.ts +74 -0
  421. package/src/i18n/ar.json +21 -0
  422. package/src/i18n/en.json +34 -0
  423. package/src/i18n/index.ts +50 -0
  424. package/src/index.ts +51 -0
  425. package/src/overlays/alert/Alert.module.css +44 -0
  426. package/src/overlays/alert/Alert.tsx +229 -0
  427. package/src/overlays/flyout/Flyout.module.css +52 -0
  428. package/src/overlays/flyout/Flyout.tsx +283 -0
  429. package/src/overlays/index.ts +29 -0
  430. package/src/overlays/message/Message.module.css +37 -0
  431. package/src/overlays/message/Message.tsx +107 -0
  432. package/src/overlays/modal/Modal.module.css +53 -0
  433. package/src/overlays/modal/Modal.tsx +244 -0
  434. package/src/overlays/toast/Toast.module.css +37 -0
  435. package/src/overlays/toast/Toast.tsx +216 -0
  436. package/src/overlays/tooltip/Tooltip.module.css +53 -0
  437. package/src/overlays/tooltip/Tooltip.tsx +200 -0
  438. package/src/types/global.d.ts +83 -0
  439. package/src/types/icons.ts +420 -0
  440. package/src/types/index.ts +238 -0
  441. package/src/typography/Abbr.tsx +152 -0
  442. package/src/typography/Copy.tsx +61 -0
  443. package/src/typography/Link.tsx +110 -0
  444. package/src/typography/Mark.tsx +122 -0
  445. package/src/typography/Text.tsx +194 -0
  446. package/src/typography/Title.tsx +126 -0
  447. package/src/typography/Typography.module.css +68 -0
  448. package/src/typography/index.ts +29 -0
  449. package/src/typography/types.ts +38 -0
  450. package/src/utils/calculateDimensions.ts +72 -0
  451. package/src/utils/getColor.ts +49 -0
  452. package/src/utils/index.ts +28 -0
  453. package/src/utils/nodeCheck.ts +34 -0
@@ -0,0 +1,152 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
+ var classNames = require('classnames');
6
+ var react = require('react');
7
+ var Animations = require('../../components/animations/Animations.js');
8
+ var Icon = require('../../components/icon/Icon.js');
9
+ var useEffectDebugger = require('../../hooks/useEffectDebugger.js');
10
+ var usePropToggle = require('../../hooks/usePropToggle.js');
11
+ var useResize = require('../../hooks/useResize.js');
12
+ var icons = require('../../types/icons.js');
13
+ var ErrorBoundary = require('../boundary/ErrorBoundary.js');
14
+ var Aside_module = require('./Aside.module.css');
15
+ var jsxRuntime = require('react/jsx-runtime');
16
+
17
+ 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; }
18
+ 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; }
19
+ /**
20
+ * Side panel
21
+ */
22
+ var Aside = function Aside(_ref) {
23
+ var children = _ref.children,
24
+ title = _ref.title,
25
+ icon = _ref.icon,
26
+ iconBg = _ref.iconBg,
27
+ iconColor = _ref.iconColor,
28
+ rtlFlip = _ref.rtlFlip,
29
+ headerClassName = _ref.headerClassName,
30
+ resizeable = _ref.resizeable,
31
+ flyout = _ref.flyout,
32
+ onFlyout = _ref.onFlyout,
33
+ collapsed = _ref.collapsed,
34
+ collapsable = _ref.collapsable,
35
+ onCollapse = _ref.onCollapse,
36
+ actions = _ref.actions,
37
+ loading = _ref.loading,
38
+ _ref$align = _ref.align,
39
+ align = _ref$align === void 0 ? "start" : _ref$align,
40
+ _ref$width = _ref.width,
41
+ wd = _ref$width === void 0 ? "20rem" : _ref$width,
42
+ _ref$minWidth = _ref.minWidth,
43
+ minWidth = _ref$minWidth === void 0 ? "2rem" : _ref$minWidth,
44
+ _ref$maxWidth = _ref.maxWidth,
45
+ maxWidth = _ref$maxWidth === void 0 ? "30vw" : _ref$maxWidth,
46
+ testId = _ref["data-testid"],
47
+ testValue = _ref["data-test-value"];
48
+ var elementRef = react.useRef(null);
49
+ var _useState = react.useState(wd),
50
+ _useState2 = _slicedToArray(_useState, 2),
51
+ width = _useState2[0],
52
+ setWidth = _useState2[1];
53
+ var _useState3 = react.useState(false),
54
+ _useState4 = _slicedToArray(_useState3, 2),
55
+ peek = _useState4[0],
56
+ setPeek = _useState4[1];
57
+ var _usePropToggle = usePropToggle.usePropToggle(collapsed, onCollapse),
58
+ _usePropToggle2 = _slicedToArray(_usePropToggle, 2),
59
+ isCollapsed = _usePropToggle2[0],
60
+ toggleCollapse = _usePropToggle2[1];
61
+ react.useEffect(function () {
62
+ setWidth(wd);
63
+ }, [wd]);
64
+ var handleResize = react.useRef(function (_ref2) {
65
+ var x = _ref2.x;
66
+ if (elementRef.current != null) {
67
+ setWidth(elementRef.current.offsetWidth + x);
68
+ }
69
+ });
70
+ var resizeHandleProps = useResize.useResize(handleResize.current, {
71
+ isReverse: align === "end"
72
+ });
73
+ var tryPeek = react.useCallback(function () {
74
+ if (isCollapsed) {
75
+ if (flyout) {
76
+ setPeek(!peek);
77
+ !peek && (onFlyout === null || onFlyout === void 0 ? void 0 : onFlyout());
78
+ } else {
79
+ void toggleCollapse();
80
+ }
81
+ }
82
+ }, [peek, flyout, isCollapsed, onFlyout, toggleCollapse]);
83
+ useEffectDebugger.useLayoutEffectDebugger(function () {
84
+ if (peek) {
85
+ var handler = function handler(e) {
86
+ if (e.target.closest("[data-ref=\"asideBody\"]") == null && e.target.closest("[data-ref=\"asidePlaceholder\"]") == null) {
87
+ setPeek(false);
88
+ }
89
+ };
90
+ document.addEventListener("mouseup", handler);
91
+ return function () {
92
+ return document.removeEventListener("mouseup", handler);
93
+ };
94
+ }
95
+ }, [peek], "Aside peek");
96
+ var widthStyles = react.useMemo(function () {
97
+ return {
98
+ width: width,
99
+ minWidth: minWidth,
100
+ maxWidth: maxWidth
101
+ };
102
+ }, [width, minWidth, maxWidth]);
103
+ return /*#__PURE__*/jsxRuntime.jsxs("aside", {
104
+ className: classNames(Aside_module.aside, "overflow-hidden grid"),
105
+ "data-align": align,
106
+ "data-flyout": peek,
107
+ "data-collapsed": isCollapsed,
108
+ style: isCollapsed ? undefined : widthStyles,
109
+ "data-testid": testId,
110
+ "data-test-value": testValue,
111
+ children: [/*#__PURE__*/jsxRuntime.jsxs("header", {
112
+ className: classNames(Aside_module.asideHeader, headerClassName, "grid area-head items-center"),
113
+ children: [title && /*#__PURE__*/jsxRuntime.jsx("div", {
114
+ className: classNames(Aside_module.asideTitle, "truncate py-0.5 px-1 select-none pointer-events-none"),
115
+ children: title
116
+ }), collapsable && /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
117
+ "aria-label": isCollapsed ? "expand" : "collapse",
118
+ className: classNames(Aside_module.asideCollapse, "p-2 select-none"),
119
+ icon: icons.CoreIcons.chevronLeft,
120
+ rtlFlip: true,
121
+ onClick: toggleCollapse,
122
+ "data-ref": "asideToggle"
123
+ }), icon && /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
124
+ icon: icon,
125
+ bg: iconBg,
126
+ color: iconColor,
127
+ rtlFlip: rtlFlip,
128
+ className: classNames(Aside_module.asideIcon, "p-1 text-lg select-none pointer-events-none")
129
+ }), actions && /*#__PURE__*/jsxRuntime.jsx("div", {
130
+ className: Aside_module.asideActions,
131
+ children: actions
132
+ })]
133
+ }), loading && /*#__PURE__*/jsxRuntime.jsx(Animations.Loading, {}), isCollapsed && /*#__PURE__*/jsxRuntime.jsx("div", {
134
+ role: "none",
135
+ onClick: tryPeek,
136
+ "data-ref": "asidePlaceholder",
137
+ className: Aside_module.asidePlaceholder
138
+ }), /*#__PURE__*/jsxRuntime.jsx("section", {
139
+ ref: elementRef,
140
+ "data-ref": "asideBody",
141
+ className: classNames(Aside_module.asideBody, "overflow-hidden grid"),
142
+ style: isCollapsed ? widthStyles : undefined,
143
+ children: /*#__PURE__*/jsxRuntime.jsx(ErrorBoundary.ErrorBoundary, {
144
+ children: children
145
+ })
146
+ }), resizeable && /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread(_objectSpread({}, resizeHandleProps), {}, {
147
+ className: classNames(Aside_module.asideResizer, "before:absolute before:inset-0 before:w-1 before:top-1/2 before:-translate-y-1/2 before:transition-all")
148
+ }))]
149
+ });
150
+ };
151
+
152
+ exports.Aside = Aside;
@@ -0,0 +1 @@
1
+ @layer comp{.aside{--aside-bg:color-mix(in lab,var(--fabric-bg) 95%,var(--tint));--aside-border:color-mix(in lab,var(--fabric-bg) 75%,var(--tint));background-color:var(--aside-bg);&[data-align=start]{border-inline-end:1px solid var(--aside-border);grid-area:side-s;grid-template:"head resizer" auto "loader resizer" auto "content resizer" 1fr/1fr auto;& .asideHeader{grid-template-areas:"icon title actions collapse";grid-template-columns:auto 1fr auto auto}}&[data-align=end]{border-inline-start:1px solid var(--aside-border);grid-area:side-e;grid-template:"resizer head" auto "resizer loader" auto "resizer content" 1fr/auto 1fr;& .asideHeader{grid-template-areas:"collapse icon title actions";grid-template-columns:auto auto 1fr auto}& .asideCollapse{transform:scaleX(-1)}}& .asideBody{grid-area:content;grid-template:"head" auto "content" 1fr "foot" auto/1fr;&>[data-ref=content]{background-color:transparent}}& .asideHeader{color:theme(colors.primary.600);font-weight:500;&:not(:empty){border-bottom:1px solid var(--aside-border)}}& .asideTitle{grid-area:title}& .asideIcon{grid-area:icon}.asideActions{grid-area:actions}& .asideCollapse{grid-area:collapse;&:hover{background-color:color-mix(in lab,var(--fabric-text) 10%,#0000)}}& .asidePlaceholder{background-color:var(--aside-bg);grid-area:content;z-index:4}& .asideResizer{cursor:col-resize;grid-area:resizer;position:relative;width:.25rem;&:before{border:1px solid theme(colors.tint.700);border-width:0 1.5px;height:32px}&:active:before,&:hover:before{background-color:theme(colors.primary.600);border-color:theme(backgroundColor.base);border-width:0 1.25px;height:100%}}}}@layer util{.asideBody,.asideHeader{height:unset;margin:unset;width:unset}.asideBody{&>[data-ref=content]{background-color:transparent}}.aside[data-collapsed=true]{overflow:visible;position:relative;width:2rem;& .asideBody{background-color:var(--aside-bg);inset:0;position:absolute;transition:transform .15s cubic-bezier(.4,0,.2,1);z-index:-1}& .asideHeader{position:absolute;width:2rem;z-index:5}& .asideTitle{font-size:1rem;grid-area:unset;position:absolute;top:1rem}.asideIcon{margin-inline:2px}& .asideCollapse+.asideIcon,& .asideResizer{display:none}}[dir=ltr] .aside[data-align=start][data-collapsed=true],[dir=rtl] .aside[data-align=end][data-collapsed=true]{& .asideBody{grid-area:unset;right:unset;transform:translateX(-100%)}& .asideTitle{right:calc(2rem + 2px);transform:rotate(-90deg) translateY(2rem);transform-origin:100% 100%}& .asideCollapse{transform:scaleX(-1)}&[data-flyout=true] .asideBody{box-shadow:0 0 1rem 0 var(--fabric-shadow);transform:translateX(2rem);z-index:3}}[dir=ltr] .aside[data-align=end][data-collapsed=true],[dir=rtl] .aside[data-align=start][data-collapsed=true]{& .asideBody{grid-area:unset;left:unset;transform:translateX(100%)}& .asideTitle{left:calc(2rem + 2px);transform:rotate(90deg) translateY(2rem);transform-origin:0 100%}& .asideCollapse{transform:scaleX(1)}&[data-flyout=true] .asideBody{box-shadow:0 0 1rem 0 var(--fabric-shadow);transform:translateX(-2rem);z-index:3}}}
@@ -0,0 +1,140 @@
1
+ 'use strict';
2
+
3
+ var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
4
+ var _createClass = require('@babel/runtime/helpers/createClass');
5
+ var _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');
6
+ var _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');
7
+ var _inherits = require('@babel/runtime/helpers/inherits');
8
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
9
+ var utilities = require('@react-fabric/utilities');
10
+ var classNames = require('classnames');
11
+ var react = require('react');
12
+ var reactI18next = require('react-i18next');
13
+ var jsxRuntime = require('react/jsx-runtime');
14
+ var useEffectDebugger = require('../../hooks/useEffectDebugger.js');
15
+ var usePropToggle = require('../../hooks/usePropToggle.js');
16
+ var ErrorBoundary_module = require('./ErrorBoundary.module.css');
17
+ var ErrorIcon = require('./ErrorIcon.js');
18
+ var Global = require('../../context/Global.js');
19
+
20
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
21
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
22
+ var DefaultError = function DefaultError(_ref) {
23
+ var error = _ref.error;
24
+ var _useTranslation = reactI18next.useTranslation("core"),
25
+ t = _useTranslation.t;
26
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
27
+ children: [/*#__PURE__*/jsxRuntime.jsx("h6", {
28
+ children: t("error.title")
29
+ }), /*#__PURE__*/jsxRuntime.jsx("p", {
30
+ className: "line-clamp-4",
31
+ children: error
32
+ })]
33
+ });
34
+ };
35
+ var ErrorMessage = function ErrorMessage(_ref2) {
36
+ var error = _ref2.error,
37
+ errorElement = _ref2.errorElement;
38
+ var _useGlobals = Global.useGlobals(),
39
+ globalError = _useGlobals.errorElement;
40
+ var EE = useEffectDebugger.useMemoDebugger(function () {
41
+ var _ref3;
42
+ return (_ref3 = errorElement !== null && errorElement !== void 0 ? errorElement : globalError) !== null && _ref3 !== void 0 ? _ref3 : DefaultError;
43
+ }, [], "ErrorBoundary element");
44
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
45
+ children: [/*#__PURE__*/jsxRuntime.jsx(ErrorIcon.ErrorIcon, {}), /*#__PURE__*/jsxRuntime.jsx("div", {
46
+ className: classNames(ErrorBoundary_module.boundaryMessage, "p-2"),
47
+ children: /*#__PURE__*/jsxRuntime.jsx(EE, {
48
+ error: error
49
+ })
50
+ })]
51
+ });
52
+ };
53
+ var ErrorStack = function ErrorStack(_ref4) {
54
+ var error = _ref4.error,
55
+ stack = _ref4.stack;
56
+ var _usePropToggle = usePropToggle.usePropToggle(false),
57
+ _usePropToggle2 = _slicedToArray(_usePropToggle, 2),
58
+ show = _usePropToggle2[0],
59
+ toggleShow = _usePropToggle2[1];
60
+ utilities.useLogger().error(error, {}, stack);
61
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
62
+ className: classNames(ErrorBoundary_module.boundaryDetail, "overflow-hidden grid"),
63
+ children: [/*#__PURE__*/jsxRuntime.jsx("div", {
64
+ className: classNames(ErrorBoundary_module.boundaryLink, "px-2 py-1 text-xs text-end"),
65
+ children: /*#__PURE__*/jsxRuntime.jsx("span", {
66
+ role: "link",
67
+ tabIndex: 0,
68
+ className: "link",
69
+ onClick: toggleShow,
70
+ children: show ? "Hide Detail" : "Show Detail"
71
+ })
72
+ }), show && /*#__PURE__*/jsxRuntime.jsx("div", {
73
+ className: classNames(ErrorBoundary_module.boundaryStack, "overflow-auto p-2 text-xs border-t"),
74
+ children: /*#__PURE__*/jsxRuntime.jsx("pre", {
75
+ className: "whitespace-pre-wrap",
76
+ children: stack
77
+ })
78
+ })]
79
+ });
80
+ };
81
+
82
+ /**
83
+ * An error boundary wrapper higher-order component designed to provide consistent error display across the application will trap runtime errors
84
+ */
85
+ var ErrorBoundary = /*#__PURE__*/function (_Component) {
86
+ function ErrorBoundary(props) {
87
+ var _this;
88
+ _classCallCheck(this, ErrorBoundary);
89
+ _this = _callSuper(this, ErrorBoundary, [props]);
90
+ _this.state = {
91
+ hasError: false
92
+ };
93
+ return _this;
94
+ }
95
+ _inherits(ErrorBoundary, _Component);
96
+ return _createClass(ErrorBoundary, [{
97
+ key: "componentDidCatch",
98
+ value: function componentDidCatch(error) {
99
+ this.setState({
100
+ hasError: true,
101
+ error: error.message,
102
+ stack: error.stack
103
+ });
104
+ }
105
+ }, {
106
+ key: "render",
107
+ value: function render() {
108
+ var env = process.env.NODE_ENV;
109
+ if (this.state.hasError) {
110
+ var E = this.props.errorElement;
111
+ // You can render any custom fallback UI
112
+ return /*#__PURE__*/jsxRuntime.jsx("div", {
113
+ className: classNames(ErrorBoundary_module.errorBoundary, "grid grid-rows-1 overflow-hidden p-0.5 rounded-capped"),
114
+ children: /*#__PURE__*/jsxRuntime.jsxs("div", {
115
+ className: classNames(ErrorBoundary_module.boundaryContent, "overflow-hidden grid rounded-capped"),
116
+ children: [/*#__PURE__*/jsxRuntime.jsx(ErrorMessage, {
117
+ error: this.state.error,
118
+ errorElement: E
119
+ }), env === "development" && /*#__PURE__*/jsxRuntime.jsx(ErrorStack, {
120
+ error: this.state.error,
121
+ stack: this.state.stack
122
+ })]
123
+ })
124
+ });
125
+ }
126
+ return this.props.children;
127
+ }
128
+ }], [{
129
+ key: "getDerivedStateFromError",
130
+ value: function getDerivedStateFromError(error) {
131
+ return {
132
+ hasError: true,
133
+ error: error.message,
134
+ stack: error.stack
135
+ };
136
+ }
137
+ }]);
138
+ }(react.Component);
139
+
140
+ exports.ErrorBoundary = ErrorBoundary;
@@ -0,0 +1 @@
1
+ @layer comp{.errorBoundary{align-self:flex-start;background-color:theme(colors.danger.500);background-image:repeating-linear-gradient(135deg,hsla(0,0%,100%,.5) 0 4px,hsla(0,0%,100%,.2) 4px 8px);grid-area:inherit;margin:1rem;max-height:calc(100% - 2rem);& .boundaryContent{background-color:var(--fabric-bg);grid-template:"icon message" auto "detail detail" auto/auto 1fr}& .boundaryIcon{grid-area:icon}& .boundaryMessage{grid-area:message}& .boundaryDetail{grid-area:detail;grid-template-rows:auto 1fr}}}
@@ -0,0 +1,51 @@
1
+ 'use strict';
2
+
3
+ var classNames = require('classnames');
4
+ var ErrorBoundary_module = require('./ErrorBoundary.module.css');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ /*
8
+ * React Fabric
9
+ * @version: 1.0.0
10
+ *
11
+ *
12
+ * The MIT License (MIT)
13
+ * Copyright (c) 2024 Adarsh Pastakia
14
+ *
15
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
16
+ * and associated documentation files (the "Software"), to deal in the Software without restriction,
17
+ * including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
18
+ * and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
19
+ * subject to the following conditions:
20
+ *
21
+ * The above copyright notice and this permission notice shall be included in all copies or substantial
22
+ * portions of the Software.
23
+ *
24
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
25
+ * TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
26
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
27
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
+ */
29
+
30
+ var ErrorIcon = function ErrorIcon() {
31
+ return /*#__PURE__*/jsxRuntime.jsxs("svg", {
32
+ xmlns: "http://www.w3.org/2000/svg",
33
+ viewBox: "0 0 64 64",
34
+ className: classNames(ErrorBoundary_module.boundaryIcon, "size-6 m-2"),
35
+ children: [/*#__PURE__*/jsxRuntime.jsx("path", {
36
+ fill: "#808080",
37
+ d: "M64 32c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32z"
38
+ }), /*#__PURE__*/jsxRuntime.jsx("path", {
39
+ fill: "#fff",
40
+ d: "M63.5 32c0 17.397-14.103 31.5-31.5 31.5s-31.5-14.103-31.5-31.5 14.103-31.5 31.5-31.5 31.5 14.103 31.5 31.5z"
41
+ }), /*#__PURE__*/jsxRuntime.jsx("path", {
42
+ fill: "#f44336",
43
+ d: "M60 32c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-15.464 12.536-28 28-28s28 12.536 28 28z"
44
+ }), /*#__PURE__*/jsxRuntime.jsx("path", {
45
+ fill: "#fff",
46
+ d: "M50.667 35.733h-37.333c-1.031 0-1.867-0.835-1.867-1.867v-3.733c0-1.031 0.835-1.867 1.867-1.867h37.333c1.031 0 1.867 0.835 1.867 1.867v3.733c0 1.031-0.835 1.867-1.867 1.867z"
47
+ })]
48
+ });
49
+ };
50
+
51
+ exports.ErrorIcon = ErrorIcon;
@@ -0,0 +1,70 @@
1
+ 'use strict';
2
+
3
+ var classNames = require('classnames');
4
+ var react = require('react');
5
+ var useDebounce = require('../../hooks/useDebounce.js');
6
+ var useResizeObserver = require('../../hooks/useResizeObserver.js');
7
+ var ErrorBoundary = require('../boundary/ErrorBoundary.js');
8
+ var Content_module = require('./Content.module.css');
9
+ var jsxRuntime = require('react/jsx-runtime');
10
+
11
+ /*
12
+ * React Fabric
13
+ * @version: 1.0.0
14
+ *
15
+ *
16
+ * The MIT License (MIT)
17
+ * Copyright (c) 2024 Adarsh Pastakia
18
+ *
19
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
20
+ * and associated documentation files (the "Software"), to deal in the Software without restriction,
21
+ * including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
22
+ * and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
23
+ * subject to the following conditions:
24
+ *
25
+ * The above copyright notice and this permission notice shall be included in all copies or substantial
26
+ * portions of the Software.
27
+ *
28
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
29
+ * TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
30
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
31
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
32
+ */
33
+
34
+ /**
35
+ * Scrollable content element
36
+ */
37
+ var Content = function Content(_ref) {
38
+ var ref = _ref.ref,
39
+ children = _ref.children,
40
+ className = _ref.className,
41
+ onScroll = _ref.onScroll,
42
+ onResize = _ref.onResize,
43
+ testId = _ref["data-testid"],
44
+ testValue = _ref["data-test-value"];
45
+ var resizeHandle = useResizeObserver.useResizeObserver(onResize);
46
+ var scrollHandler = useDebounce.useDebounce(function (e) {
47
+ onScroll === null || onScroll === void 0 || onScroll({
48
+ // @ts-expect-error ignore
49
+ left: e.target.scrollLeft,
50
+ // @ts-expect-error ignore
51
+ top: e.target.scrollTop
52
+ });
53
+ }, [onScroll]);
54
+ react.useImperativeHandle(ref, function () {
55
+ return resizeHandle.current;
56
+ }, []);
57
+ return /*#__PURE__*/jsxRuntime.jsx("section", {
58
+ "data-ref": "content",
59
+ "data-testid": testId,
60
+ "data-test-value": testValue,
61
+ ref: resizeHandle,
62
+ onScroll: scrollHandler,
63
+ className: classNames(Content_module.content, "area-content", className),
64
+ children: /*#__PURE__*/jsxRuntime.jsx(ErrorBoundary.ErrorBoundary, {
65
+ children: children
66
+ })
67
+ });
68
+ };
69
+
70
+ exports.Content = Content;
@@ -0,0 +1 @@
1
+ @layer comp{.content{--fabric-content:color-mix(in lab,var(--fabric-bg) 97%,var(--tint));background-color:var(--fabric-content);overflow:auto;padding:1rem}}@layer util{.content{height:unset;margin:unset;width:unset}}
@@ -0,0 +1,62 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
5
+ var classNames = require('classnames');
6
+ var useEffectDebugger = require('../../hooks/useEffectDebugger.js');
7
+ var getColor = require('../../utils/getColor.js');
8
+ require('@react-fabric/utilities');
9
+ var HeadFoot_module = require('./HeadFoot.module.css');
10
+ var jsxRuntime = require('react/jsx-runtime');
11
+
12
+ var _excluded = ["as", "children", "className", "bg", "color", "flex", "area", "dir", "align", "justify"];
13
+ 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; }
14
+ 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; }
15
+ var HeadFoot = function HeadFoot(_ref) {
16
+ var E = _ref.as,
17
+ children = _ref.children,
18
+ className = _ref.className,
19
+ bg = _ref.bg,
20
+ color = _ref.color,
21
+ flex = _ref.flex,
22
+ area = _ref.area,
23
+ dir = _ref.dir,
24
+ _ref$align = _ref.align,
25
+ align = _ref$align === void 0 ? "center" : _ref$align,
26
+ _ref$justify = _ref.justify,
27
+ justify = _ref$justify === void 0 ? "start" : _ref$justify,
28
+ aria = _objectWithoutProperties(_ref, _excluded);
29
+ /** ***************** style map *******************/
30
+ var styles = useEffectDebugger.useMemoDebugger(function () {
31
+ var s = {};
32
+ if (bg) {
33
+ s.backgroundColor = getColor.getColor(bg);
34
+ }
35
+ if (color) {
36
+ s.color = getColor.getColor(color);
37
+ }
38
+ return s;
39
+ }, [bg], "HeadFoot styles");
40
+ return /*#__PURE__*/jsxRuntime.jsx(E, _objectSpread(_objectSpread({
41
+ dir: dir,
42
+ className: classNames(HeadFoot_module.headfoot, className, bg && getColor.getBgClass(bg), color && getColor.getColorClass(color), area === "head" ? "area-head" : "area-foot", "leading-none", flex && "flex flex-nowrap gap-px", align && "items-".concat(align), justify && "justify-".concat(justify)),
43
+ style: styles
44
+ }, aria), {}, {
45
+ children: children
46
+ }));
47
+ };
48
+ var Header = function Header(props) {
49
+ return /*#__PURE__*/jsxRuntime.jsx(HeadFoot, _objectSpread({
50
+ as: "header",
51
+ area: "head"
52
+ }, props));
53
+ };
54
+ var Footer = function Footer(props) {
55
+ return /*#__PURE__*/jsxRuntime.jsx(HeadFoot, _objectSpread({
56
+ as: "footer",
57
+ area: "foot"
58
+ }, props));
59
+ };
60
+
61
+ exports.Footer = Footer;
62
+ exports.Header = Header;
@@ -0,0 +1 @@
1
+ @layer comp{.headfoot{.buttonWrapper+.buttonWrapper{margin-inline-start:.25rem}}}@layer util{.headfoot{height:unset;margin:unset;width:unset}}
@@ -0,0 +1,65 @@
1
+ 'use strict';
2
+
3
+ var classNames = require('classnames');
4
+ var Animations = require('../../components/animations/Animations.js');
5
+ var Icon = require('../../components/icon/Icon.js');
6
+ var Page_module = require('./Page.module.css');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+
9
+ /*
10
+ * React Fabric
11
+ * @version: 1.0.0
12
+ *
13
+ *
14
+ * The MIT License (MIT)
15
+ * Copyright (c) 2024 Adarsh Pastakia
16
+ *
17
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
18
+ * and associated documentation files (the "Software"), to deal in the Software without restriction,
19
+ * including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
20
+ * and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
21
+ * subject to the following conditions:
22
+ *
23
+ * The above copyright notice and this permission notice shall be included in all copies or substantial
24
+ * portions of the Software.
25
+ *
26
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
27
+ * TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
28
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
29
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
30
+ */
31
+
32
+ /**
33
+ * The page component used typically for routes, is a structured layout used within an application to organize and display content in a sectioned format, ensuring a consistent and intuitive user experience.
34
+ */
35
+ var Page = function Page(_ref) {
36
+ var children = _ref.children,
37
+ paper = _ref.paper,
38
+ title = _ref.title,
39
+ titleClassName = _ref.titleClassName,
40
+ icon = _ref.icon,
41
+ rtlFlip = _ref.rtlFlip,
42
+ iconBg = _ref.iconBg,
43
+ iconColor = _ref.iconColor,
44
+ loading = _ref.loading,
45
+ testId = _ref["data-testid"],
46
+ testValue = _ref["data-test-value"];
47
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
48
+ "data-testid": testId,
49
+ "data-test-value": testValue,
50
+ className: classNames(Page_module.page, "overflow-hidden grid area-content", paper && "shadow-paper m-[6px] rounded-capped"),
51
+ children: [title && /*#__PURE__*/jsxRuntime.jsxs("div", {
52
+ "data-ref": "pageTitle",
53
+ className: classNames(Page_module.pageTitle, "select-none flex gap-1 items-center justify-center px-1 py-0.5 font-medium text-center", titleClassName),
54
+ children: [icon && /*#__PURE__*/jsxRuntime.jsx(Icon.Icon, {
55
+ icon: icon,
56
+ size: "1.25em",
57
+ rtlFlip: rtlFlip,
58
+ bg: iconBg,
59
+ color: iconColor
60
+ }), title]
61
+ }), loading && /*#__PURE__*/jsxRuntime.jsx(Animations.Loading, {}), children]
62
+ });
63
+ };
64
+
65
+ exports.Page = Page;
@@ -0,0 +1 @@
1
+ @layer comp{.page{--fabric-page:color-mix(in lab,var(--fabric-bg) 94%,var(--tint));--fabric-page-title:color-mix(in lab,var(--fabric-bg) 90%,var(--tint));background-color:var(--fabric-page);grid-template:"title title title" auto "head head head" auto ". loader ." auto "side-s content side-e" 1fr "foot foot foot" auto/auto 1fr auto;.pageTitle{background-color:var(--fabric-page-title);color:theme(colors.primary.600);grid-area:title}}}@layer util{.pageTitle{height:unset;margin:unset;width:unset}}
@@ -0,0 +1,64 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
5
+ var classNames = require('classnames');
6
+ var Responsive_module = require('./Responsive.module.css');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+
9
+ var _excluded = ["children", "fullWidth", "className", "gutter"],
10
+ _excluded2 = ["children", "gutter", "noWrap", "orient", "align", "justify", "className"],
11
+ _excluded3 = ["children", "flex", "align", "className", "stretchContent"];
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
+ 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
+ /**
15
+ * Responsive layout container
16
+ */
17
+ var Container = function Container(_ref) {
18
+ var children = _ref.children,
19
+ fullWidth = _ref.fullWidth,
20
+ className = _ref.className,
21
+ gutter = _ref.gutter,
22
+ aria = _objectWithoutProperties(_ref, _excluded);
23
+ return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread(_objectSpread({
24
+ className: classNames(Responsive_module.container, className, !fullWidth && "container mx-auto"),
25
+ "data-gutter": gutter
26
+ }, aria), {}, {
27
+ children: children
28
+ }));
29
+ };
30
+ var Row = function Row(_ref2) {
31
+ var children = _ref2.children,
32
+ gutter = _ref2.gutter,
33
+ noWrap = _ref2.noWrap,
34
+ orient = _ref2.orient,
35
+ _ref2$align = _ref2.align,
36
+ align = _ref2$align === void 0 ? "stretch" : _ref2$align,
37
+ _ref2$justify = _ref2.justify,
38
+ justify = _ref2$justify === void 0 ? "start" : _ref2$justify,
39
+ className = _ref2.className,
40
+ aria = _objectWithoutProperties(_ref2, _excluded2);
41
+ return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread(_objectSpread({
42
+ className: classNames(Responsive_module.row, className, "flex", orient === "row" && "flex-row", orient === "col" && "flex-col", orient === "row-reverse" && "flex-row-reverse", orient === "col-reverse" && "flex-col-reverse", noWrap ? "flex-nowrap" : "flex-wrap", "justify-".concat(justify), "items-".concat(align)),
43
+ "data-gutter": gutter
44
+ }, aria), {}, {
45
+ children: children
46
+ }));
47
+ };
48
+ var Col = function Col(_ref3) {
49
+ var children = _ref3.children,
50
+ flex = _ref3.flex,
51
+ align = _ref3.align,
52
+ className = _ref3.className,
53
+ stretchContent = _ref3.stretchContent,
54
+ aria = _objectWithoutProperties(_ref3, _excluded3);
55
+ return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread(_objectSpread({
56
+ className: classNames(Responsive_module.col, className, stretchContent && Responsive_module.stretchContent, flex === "auto" && "flex-content", flex === "fill" && "flex-1", flex === "full" && "flex-full", align && "self-".concat(align))
57
+ }, aria), {}, {
58
+ children: children
59
+ }));
60
+ };
61
+
62
+ exports.Col = Col;
63
+ exports.Container = Container;
64
+ exports.Row = Row;
@@ -0,0 +1 @@
1
+ @layer comp{.row{margin:calc(var(--gutter)*-.5);&+.row{margin-top:calc(var(--gutter)*.5)}}.col{flex:0 0 auto;margin:calc(var(--gutter)*.5);max-width:calc(100% - var(--gutter, 0px));&.stretchContent>*{min-height:100%;min-width:100%}}[data-gutter="0"]{&.container,&.row{--gutter:0px}}[data-gutter=xs]{&.container,&.row{--gutter:2px}}[data-gutter=sm]{&.container,&.row{--gutter:0.25rem}}[data-gutter=md]{&.container,&.row{--gutter:0.75rem}}[data-gutter=lg]{&.container,&.row{--gutter:1rem}}[data-gutter=xl]{&.container,&.row{--gutter:1.5rem}}}