@edifice.io/react 2.0.0-develop-rc.3

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 (692) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +110 -0
  3. package/dist/audience.js +16 -0
  4. package/dist/components/ActionBar/ActionBar.d.ts +10 -0
  5. package/dist/components/ActionBar/ActionBar.js +8 -0
  6. package/dist/components/ActionBar/index.d.ts +2 -0
  7. package/dist/components/Alert/Alert.d.ts +60 -0
  8. package/dist/components/Alert/Alert.js +78 -0
  9. package/dist/components/Alert/index.d.ts +2 -0
  10. package/dist/components/AppHeader/AppHeader.d.ts +17 -0
  11. package/dist/components/AppHeader/AppHeader.js +22 -0
  12. package/dist/components/AppHeader/index.d.ts +2 -0
  13. package/dist/components/AppIcon/AppIcon.d.ts +45 -0
  14. package/dist/components/AppIcon/AppIcon.js +49 -0
  15. package/dist/components/AppIcon/index.d.ts +1 -0
  16. package/dist/components/Attachment/Attachment.d.ts +14 -0
  17. package/dist/components/Attachment/Attachment.js +15 -0
  18. package/dist/components/Attachment/index.d.ts +2 -0
  19. package/dist/components/Avatar/Avatar.d.ts +32 -0
  20. package/dist/components/Avatar/Avatar.js +33 -0
  21. package/dist/components/Avatar/index.d.ts +2 -0
  22. package/dist/components/Badge/Badge.d.ts +47 -0
  23. package/dist/components/Badge/Badge.js +31 -0
  24. package/dist/components/Badge/index.d.ts +2 -0
  25. package/dist/components/Breadcrumb/Breadcrumb.d.ts +12 -0
  26. package/dist/components/Breadcrumb/Breadcrumb.js +28 -0
  27. package/dist/components/Breadcrumb/BreadcrumbItem.d.ts +13 -0
  28. package/dist/components/Breadcrumb/BreadcrumbItem.js +14 -0
  29. package/dist/components/Breadcrumb/BreadcrumbList.d.ts +13 -0
  30. package/dist/components/Breadcrumb/BreadcrumbList.js +13 -0
  31. package/dist/components/Breadcrumb/BreadcrumbNav.d.ts +18 -0
  32. package/dist/components/Breadcrumb/BreadcrumbNav.js +22 -0
  33. package/dist/components/Breadcrumb/index.d.ts +1 -0
  34. package/dist/components/Button/Button.d.ts +63 -0
  35. package/dist/components/Button/Button.js +35 -0
  36. package/dist/components/Button/IconButton.d.ts +11 -0
  37. package/dist/components/Button/IconButton.js +18 -0
  38. package/dist/components/Button/SearchButton.d.ts +21 -0
  39. package/dist/components/Button/SearchButton.js +17 -0
  40. package/dist/components/Button/index.d.ts +6 -0
  41. package/dist/components/Card/Card.d.ts +83 -0
  42. package/dist/components/Card/Card.js +51 -0
  43. package/dist/components/Card/CardBody.d.ts +10 -0
  44. package/dist/components/Card/CardBody.js +18 -0
  45. package/dist/components/Card/CardContext.d.ts +12 -0
  46. package/dist/components/Card/CardContext.js +11 -0
  47. package/dist/components/Card/CardFooter.d.ts +8 -0
  48. package/dist/components/Card/CardFooter.js +7 -0
  49. package/dist/components/Card/CardHeader.d.ts +5 -0
  50. package/dist/components/Card/CardHeader.js +19 -0
  51. package/dist/components/Card/CardImage.d.ts +9 -0
  52. package/dist/components/Card/CardImage.js +21 -0
  53. package/dist/components/Card/CardText.d.ts +9 -0
  54. package/dist/components/Card/CardText.js +12 -0
  55. package/dist/components/Card/CardTitle.d.ts +9 -0
  56. package/dist/components/Card/CardTitle.js +12 -0
  57. package/dist/components/Card/CardUser.d.ts +8 -0
  58. package/dist/components/Card/CardUser.js +10 -0
  59. package/dist/components/Card/index.d.ts +2 -0
  60. package/dist/components/Checkbox/Checkbox.d.ts +21 -0
  61. package/dist/components/Checkbox/Checkbox.js +35 -0
  62. package/dist/components/Checkbox/index.d.ts +2 -0
  63. package/dist/components/ColorPicker/ColorPalette.d.ts +46 -0
  64. package/dist/components/ColorPicker/ColorPalette.js +171 -0
  65. package/dist/components/ColorPicker/ColorPicker.d.ts +18 -0
  66. package/dist/components/ColorPicker/ColorPicker.js +37 -0
  67. package/dist/components/ColorPicker/ColorPickerItem.d.ts +20 -0
  68. package/dist/components/ColorPicker/ColorPickerItem.js +13 -0
  69. package/dist/components/ColorPicker/index.d.ts +5 -0
  70. package/dist/components/Combobox/Combobox.d.ts +31 -0
  71. package/dist/components/Combobox/Combobox.js +41 -0
  72. package/dist/components/Combobox/ComboboxTrigger.d.ts +9 -0
  73. package/dist/components/Combobox/ComboboxTrigger.js +30 -0
  74. package/dist/components/Combobox/index.d.ts +2 -0
  75. package/dist/components/Dropdown/Dropdown.d.ts +79 -0
  76. package/dist/components/Dropdown/Dropdown.js +60 -0
  77. package/dist/components/Dropdown/DropdownCheckboxItem.d.ts +24 -0
  78. package/dist/components/Dropdown/DropdownCheckboxItem.js +34 -0
  79. package/dist/components/Dropdown/DropdownContext.d.ts +8 -0
  80. package/dist/components/Dropdown/DropdownContext.js +11 -0
  81. package/dist/components/Dropdown/DropdownItem.d.ts +29 -0
  82. package/dist/components/Dropdown/DropdownItem.js +33 -0
  83. package/dist/components/Dropdown/DropdownMenu.d.ts +35 -0
  84. package/dist/components/Dropdown/DropdownMenu.js +26 -0
  85. package/dist/components/Dropdown/DropdownMenuGroup.d.ts +13 -0
  86. package/dist/components/Dropdown/DropdownMenuGroup.js +12 -0
  87. package/dist/components/Dropdown/DropdownRadioItem.d.ts +24 -0
  88. package/dist/components/Dropdown/DropdownRadioItem.js +34 -0
  89. package/dist/components/Dropdown/DropdownSeparator.d.ts +5 -0
  90. package/dist/components/Dropdown/DropdownSeparator.js +5 -0
  91. package/dist/components/Dropdown/DropdownTrigger.d.ts +38 -0
  92. package/dist/components/Dropdown/DropdownTrigger.js +34 -0
  93. package/dist/components/Dropdown/index.d.ts +2 -0
  94. package/dist/components/Dropzone/Dropzone.d.ts +28 -0
  95. package/dist/components/Dropzone/Dropzone.js +56 -0
  96. package/dist/components/Dropzone/DropzoneContext.d.ts +10 -0
  97. package/dist/components/Dropzone/DropzoneContext.js +12 -0
  98. package/dist/components/Dropzone/DropzoneDrag.d.ts +5 -0
  99. package/dist/components/Dropzone/DropzoneDrag.js +11 -0
  100. package/dist/components/Dropzone/DropzoneFile.d.ts +8 -0
  101. package/dist/components/Dropzone/DropzoneFile.js +32 -0
  102. package/dist/components/Dropzone/DropzoneImport.d.ts +5 -0
  103. package/dist/components/Dropzone/DropzoneImport.js +28 -0
  104. package/dist/components/Dropzone/index.d.ts +2 -0
  105. package/dist/components/EmptyScreen/EmptyScreen.d.ts +27 -0
  106. package/dist/components/EmptyScreen/EmptyScreen.js +20 -0
  107. package/dist/components/EmptyScreen/index.d.ts +2 -0
  108. package/dist/components/FileCard/FileCard.d.ts +13 -0
  109. package/dist/components/FileCard/FileCard.js +91 -0
  110. package/dist/components/FileCard/FileIcon.d.ts +6 -0
  111. package/dist/components/FileCard/FileIcon.js +15 -0
  112. package/dist/components/FileCard/index.d.ts +2 -0
  113. package/dist/components/Form/FormContext.d.ts +6 -0
  114. package/dist/components/Form/FormContext.js +11 -0
  115. package/dist/components/Form/FormControl.d.ts +42 -0
  116. package/dist/components/Form/FormControl.js +32 -0
  117. package/dist/components/Form/FormText.d.ts +8 -0
  118. package/dist/components/Form/FormText.js +17 -0
  119. package/dist/components/Form/index.d.ts +3 -0
  120. package/dist/components/Grid/Grid.d.ts +56 -0
  121. package/dist/components/Grid/Grid.js +32 -0
  122. package/dist/components/Grid/index.d.ts +1 -0
  123. package/dist/components/Heading/Heading.d.ts +27 -0
  124. package/dist/components/Heading/Heading.js +16 -0
  125. package/dist/components/Heading/index.d.ts +2 -0
  126. package/dist/components/Icon/Icon.d.ts +17 -0
  127. package/dist/components/Icon/Icon.js +10 -0
  128. package/dist/components/Icon/index.d.ts +1 -0
  129. package/dist/components/Image/Image.d.ts +29 -0
  130. package/dist/components/Image/Image.js +41 -0
  131. package/dist/components/Image/index.d.ts +2 -0
  132. package/dist/components/ImagePicker/ImagePicker.d.ts +38 -0
  133. package/dist/components/ImagePicker/ImagePicker.js +58 -0
  134. package/dist/components/ImagePicker/index.d.ts +1 -0
  135. package/dist/components/Input/Input.d.ts +33 -0
  136. package/dist/components/Input/Input.js +31 -0
  137. package/dist/components/Input/index.d.ts +2 -0
  138. package/dist/components/Label/Label.d.ts +26 -0
  139. package/dist/components/Label/Label.js +37 -0
  140. package/dist/components/Label/index.d.ts +2 -0
  141. package/dist/components/Loading/Loading.d.ts +29 -0
  142. package/dist/components/Loading/Loading.js +27 -0
  143. package/dist/components/Loading/index.d.ts +2 -0
  144. package/dist/components/LoadingScreen/LoadingScreen.d.ts +7 -0
  145. package/dist/components/LoadingScreen/LoadingScreen.js +25 -0
  146. package/dist/components/LoadingScreen/index.d.ts +1 -0
  147. package/dist/components/Logo/Logo.d.ts +8 -0
  148. package/dist/components/Logo/Logo.js +14 -0
  149. package/dist/components/Logo/index.d.ts +2 -0
  150. package/dist/components/Menu/Menu.d.ts +14 -0
  151. package/dist/components/Menu/Menu.js +58 -0
  152. package/dist/components/Menu/MenuButton.d.ts +5 -0
  153. package/dist/components/Menu/MenuButton.js +21 -0
  154. package/dist/components/Menu/MenuContext.d.ts +10 -0
  155. package/dist/components/Menu/MenuContext.js +12 -0
  156. package/dist/components/Menu/MenuItem.d.ts +4 -0
  157. package/dist/components/Menu/MenuItem.js +19 -0
  158. package/dist/components/Menu/index.d.ts +2 -0
  159. package/dist/components/Modal/Modal.d.ts +56 -0
  160. package/dist/components/Modal/Modal.js +72 -0
  161. package/dist/components/Modal/ModalBody.d.ts +19 -0
  162. package/dist/components/Modal/ModalBody.js +15 -0
  163. package/dist/components/Modal/ModalContext.d.ts +8 -0
  164. package/dist/components/Modal/ModalContext.js +15 -0
  165. package/dist/components/Modal/ModalFooter.d.ts +12 -0
  166. package/dist/components/Modal/ModalFooter.js +5 -0
  167. package/dist/components/Modal/ModalHeader.d.ts +19 -0
  168. package/dist/components/Modal/ModalHeader.js +27 -0
  169. package/dist/components/Modal/ModalSubtitle.d.ts +12 -0
  170. package/dist/components/Modal/ModalSubtitle.js +5 -0
  171. package/dist/components/Modal/index.d.ts +2 -0
  172. package/dist/components/Popover/Popover.d.ts +33 -0
  173. package/dist/components/Popover/Popover.js +51 -0
  174. package/dist/components/Popover/index.d.ts +1 -0
  175. package/dist/components/Radio/Radio.d.ts +25 -0
  176. package/dist/components/Radio/Radio.js +31 -0
  177. package/dist/components/Radio/index.d.ts +2 -0
  178. package/dist/components/SearchBar/SearchBar.d.ts +51 -0
  179. package/dist/components/SearchBar/SearchBar.js +36 -0
  180. package/dist/components/SearchBar/index.d.ts +2 -0
  181. package/dist/components/Select/Select.d.ts +39 -0
  182. package/dist/components/Select/Select.js +37 -0
  183. package/dist/components/Select/SelectTrigger.d.ts +8 -0
  184. package/dist/components/Select/SelectTrigger.js +6 -0
  185. package/dist/components/Select/index.d.ts +2 -0
  186. package/dist/components/Table/TableExplorer.d.ts +14 -0
  187. package/dist/components/Table/TableExplorer.js +8 -0
  188. package/dist/components/Table/index.d.ts +2 -0
  189. package/dist/components/Tabs/Tabs.d.ts +42 -0
  190. package/dist/components/Tabs/Tabs.js +75 -0
  191. package/dist/components/Tabs/TabsContext.d.ts +12 -0
  192. package/dist/components/Tabs/TabsContext.js +12 -0
  193. package/dist/components/Tabs/TabsItem.d.ts +26 -0
  194. package/dist/components/Tabs/TabsItem.js +26 -0
  195. package/dist/components/Tabs/TabsList.d.ts +6 -0
  196. package/dist/components/Tabs/TabsList.js +24 -0
  197. package/dist/components/Tabs/TabsPanel.d.ts +17 -0
  198. package/dist/components/Tabs/TabsPanel.js +14 -0
  199. package/dist/components/Tabs/index.d.ts +3 -0
  200. package/dist/components/TextArea/TextArea.d.ts +33 -0
  201. package/dist/components/TextArea/TextArea.js +34 -0
  202. package/dist/components/TextArea/TextareaCounter.d.ts +4 -0
  203. package/dist/components/TextArea/TextareaCounter.js +8 -0
  204. package/dist/components/TextArea/index.d.ts +2 -0
  205. package/dist/components/Toolbar/Toolbar.d.ts +76 -0
  206. package/dist/components/Toolbar/Toolbar.js +77 -0
  207. package/dist/components/Toolbar/index.d.ts +2 -0
  208. package/dist/components/Tooltip/Tooltip.d.ts +22 -0
  209. package/dist/components/Tooltip/Tooltip.js +40 -0
  210. package/dist/components/Tooltip/index.d.ts +2 -0
  211. package/dist/components/TreeView/TreeItem.d.ts +52 -0
  212. package/dist/components/TreeView/TreeItem.js +54 -0
  213. package/dist/components/TreeView/TreeNode.d.ts +22 -0
  214. package/dist/components/TreeView/TreeView.d.ts +40 -0
  215. package/dist/components/TreeView/TreeView.js +39 -0
  216. package/dist/components/TreeView/hooks/useTreeItemEvents.d.ts +8 -0
  217. package/dist/components/TreeView/hooks/useTreeItemEvents.js +28 -0
  218. package/dist/components/TreeView/index.d.ts +3 -0
  219. package/dist/components/UploadCard/UploadCard.d.ts +42 -0
  220. package/dist/components/UploadCard/UploadCard.js +72 -0
  221. package/dist/components/UploadCard/index.d.ts +1 -0
  222. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +6 -0
  223. package/dist/components/VisuallyHidden/VisuallyHidden.js +8 -0
  224. package/dist/components/VisuallyHidden/index.d.ts +1 -0
  225. package/dist/components/index.d.ts +42 -0
  226. package/dist/core/OdeClientProvider/OdeClientProvider.d.ts +28 -0
  227. package/dist/core/OdeClientProvider/OdeClientProvider.js +62 -0
  228. package/dist/core/OdeClientProvider/index.d.ts +1 -0
  229. package/dist/core/ThemeProvider/ThemeProvider.d.ts +11 -0
  230. package/dist/core/ThemeProvider/ThemeProvider.js +52 -0
  231. package/dist/core/ThemeProvider/index.d.ts +1 -0
  232. package/dist/core/index.d.ts +24 -0
  233. package/dist/core/useAvatar/index.d.ts +1 -0
  234. package/dist/core/useAvatar/useAvatar.d.ts +6 -0
  235. package/dist/core/useAvatar/useAvatar.js +30 -0
  236. package/dist/core/useBookmark/index.d.ts +1 -0
  237. package/dist/core/useBookmark/useBookmark.d.ts +2 -0
  238. package/dist/core/useBookmark/useBookmark.js +14 -0
  239. package/dist/core/useConf/index.d.ts +1 -0
  240. package/dist/core/useConf/useConf.d.ts +4 -0
  241. package/dist/core/useConf/useConf.js +13 -0
  242. package/dist/core/useConversation/index.d.ts +1 -0
  243. package/dist/core/useConversation/useConversation.d.ts +6 -0
  244. package/dist/core/useConversation/useConversation.js +43 -0
  245. package/dist/core/useCookiesConsent/index.d.ts +1 -0
  246. package/dist/core/useCookiesConsent/useCookiesConsent.d.ts +5 -0
  247. package/dist/core/useCookiesConsent/useCookiesConsent.js +29 -0
  248. package/dist/core/useDate/index.d.ts +2 -0
  249. package/dist/core/useDate/useDate.d.ts +13 -0
  250. package/dist/core/useDate/useDate.js +65 -0
  251. package/dist/core/useHasWorkflow/index.d.ts +1 -0
  252. package/dist/core/useHasWorkflow/useHasWorkflow.d.ts +1 -0
  253. package/dist/core/useHasWorkflow/useHasWorkflow.js +22 -0
  254. package/dist/core/useHeader/index.d.ts +1 -0
  255. package/dist/core/useHeader/useHeader.d.ts +5 -0
  256. package/dist/core/useHeader/useHeader.js +46 -0
  257. package/dist/core/useHttpErrorToast/index.d.ts +1 -0
  258. package/dist/core/useHttpErrorToast/useHttpErrorToast.d.ts +2 -0
  259. package/dist/core/useHttpErrorToast/useHttpErrorToast.js +21 -0
  260. package/dist/core/useIsAdml/index.d.ts +1 -0
  261. package/dist/core/useIsAdml/useIsAdml.d.ts +3 -0
  262. package/dist/core/useIsAdml/useIsAdml.js +18 -0
  263. package/dist/core/useLibraryUrl/index.d.ts +1 -0
  264. package/dist/core/useLibraryUrl/useLibraryUrl.d.ts +7 -0
  265. package/dist/core/useLibraryUrl/useLibraryUrl.js +21 -0
  266. package/dist/core/useMediaLibrary/index.d.ts +1 -0
  267. package/dist/core/useMediaLibrary/useMediaLibrary.d.ts +12 -0
  268. package/dist/core/useMediaLibrary/useMediaLibrary.js +58 -0
  269. package/dist/core/useOdeIcons/index.d.ts +1 -0
  270. package/dist/core/useOdeIcons/useOdeIcons.d.ts +9 -0
  271. package/dist/core/useOdeIcons/useOdeIcons.js +92 -0
  272. package/dist/core/usePaths/index.d.ts +1 -0
  273. package/dist/core/usePaths/usePaths.d.ts +1 -0
  274. package/dist/core/usePaths/usePaths.js +6 -0
  275. package/dist/core/usePreferences/index.d.ts +1 -0
  276. package/dist/core/usePreferences/usePreferences.d.ts +4 -0
  277. package/dist/core/usePreferences/usePreferences.js +10 -0
  278. package/dist/core/useResource/index.d.ts +1 -0
  279. package/dist/core/useResource/useResource.d.ts +3 -0
  280. package/dist/core/useResource/useResource.js +25 -0
  281. package/dist/core/useResourceSearch/index.d.ts +1 -0
  282. package/dist/core/useResourceSearch/useResourceSearch.d.ts +18 -0
  283. package/dist/core/useResourceSearch/useResourceSearch.js +34 -0
  284. package/dist/core/useSession/index.d.ts +1 -0
  285. package/dist/core/useSession/useSession.d.ts +1 -0
  286. package/dist/core/useSession/useSession.js +11 -0
  287. package/dist/core/useTrashedResource/index.d.ts +1 -0
  288. package/dist/core/useTrashedResource/useTrashedResource.d.ts +6 -0
  289. package/dist/core/useTrashedResource/useTrashedResource.js +27 -0
  290. package/dist/core/useUpload/index.d.ts +1 -0
  291. package/dist/core/useUpload/useUpload.d.ts +18 -0
  292. package/dist/core/useUpload/useUpload.js +106 -0
  293. package/dist/core/useUploadFiles/index.d.ts +1 -0
  294. package/dist/core/useUploadFiles/useUploadFiles.d.ts +25 -0
  295. package/dist/core/useUploadFiles/useUploadFiles.js +101 -0
  296. package/dist/core/useUser/index.d.ts +1 -0
  297. package/dist/core/useUser/useUser.d.ts +7 -0
  298. package/dist/core/useUser/useUser.js +22 -0
  299. package/dist/core/useWorkspaceFile/index.d.ts +1 -0
  300. package/dist/core/useWorkspaceFile/useWorkspaceFile.d.ts +21 -0
  301. package/dist/core/useWorkspaceFile/useWorkspaceFile.js +49 -0
  302. package/dist/core/useWorkspaceSearch/index.d.ts +1 -0
  303. package/dist/core/useWorkspaceSearch/useWorkspaceSearch.d.ts +9 -0
  304. package/dist/core/useWorkspaceSearch/useWorkspaceSearch.js +58 -0
  305. package/dist/core/useXitiTrackPageLoad/index.d.ts +1 -0
  306. package/dist/core/useXitiTrackPageLoad/useXitiTrackPageLoad.d.ts +4 -0
  307. package/dist/core/useXitiTrackPageLoad/useXitiTrackPageLoad.js +28 -0
  308. package/dist/core/useZendeskGuide/index.d.ts +1 -0
  309. package/dist/core/useZendeskGuide/useZendeskGuide.d.ts +2 -0
  310. package/dist/core/useZendeskGuide/useZendeskGuide.js +101 -0
  311. package/dist/editor.js +58 -0
  312. package/dist/hooks/index.d.ts +14 -0
  313. package/dist/hooks/useBrowserInfo/index.d.ts +1 -0
  314. package/dist/hooks/useBrowserInfo/useBrowserInfo.d.ts +9 -0
  315. package/dist/hooks/useBrowserInfo/useBrowserInfo.js +16 -0
  316. package/dist/hooks/useClickOutside/index.d.ts +1 -0
  317. package/dist/hooks/useClickOutside/useClickOutside.d.ts +2 -0
  318. package/dist/hooks/useClickOutside/useClickOutside.js +26 -0
  319. package/dist/hooks/useDebounce/index.d.ts +1 -0
  320. package/dist/hooks/useDebounce/useDebounce.d.ts +2 -0
  321. package/dist/hooks/useDebounce/useDebounce.js +15 -0
  322. package/dist/hooks/useDropdown/index.d.ts +1 -0
  323. package/dist/hooks/useDropdown/useDropdown.d.ts +32 -0
  324. package/dist/hooks/useDropdown/useDropdown.js +158 -0
  325. package/dist/hooks/useDropzone/index.d.ts +1 -0
  326. package/dist/hooks/useDropzone/useDropzone.d.ts +34 -0
  327. package/dist/hooks/useDropzone/useDropzone.js +76 -0
  328. package/dist/hooks/useHover/index.d.ts +1 -0
  329. package/dist/hooks/useHover/useHover.d.ts +2 -0
  330. package/dist/hooks/useHover/useHover.js +22 -0
  331. package/dist/hooks/useImage/index.d.ts +1 -0
  332. package/dist/hooks/useImage/useImage.d.ts +9 -0
  333. package/dist/hooks/useImage/useImage.js +18 -0
  334. package/dist/hooks/useImageResizer/index.d.ts +1 -0
  335. package/dist/hooks/useImageResizer/useImageResizer.d.ts +8 -0
  336. package/dist/hooks/useImageResizer/useImageResizer.js +42 -0
  337. package/dist/hooks/useKeyPress/index.d.ts +1 -0
  338. package/dist/hooks/useKeyPress/useKeyPress.d.ts +1 -0
  339. package/dist/hooks/useKeyPress/useKeyPress.js +14 -0
  340. package/dist/hooks/useScrollToTop/index.d.ts +1 -0
  341. package/dist/hooks/useScrollToTop/useScrollToTop.d.ts +1 -0
  342. package/dist/hooks/useScrollToTop/useScrollToTop.js +9 -0
  343. package/dist/hooks/useThumbnail/index.d.ts +1 -0
  344. package/dist/hooks/useThumbnail/useThumbnail.d.ts +14 -0
  345. package/dist/hooks/useThumbnail/useThumbnail.js +29 -0
  346. package/dist/hooks/useTitle/index.d.ts +1 -0
  347. package/dist/hooks/useTitle/useTitle.d.ts +1 -0
  348. package/dist/hooks/useTitle/useTitle.js +10 -0
  349. package/dist/hooks/useToast/index.d.ts +1 -0
  350. package/dist/hooks/useToast/useToast.d.ts +17 -0
  351. package/dist/hooks/useToast/useToast.js +34 -0
  352. package/dist/hooks/useToggle/index.d.ts +1 -0
  353. package/dist/hooks/useToggle/useToggle.d.ts +1 -0
  354. package/dist/hooks/useToggle/useToggle.js +10 -0
  355. package/dist/hooks/useTrapFocus/index.d.ts +1 -0
  356. package/dist/hooks/useTrapFocus/useTrapFocus.d.ts +2 -0
  357. package/dist/hooks/useTrapFocus/useTrapFocus.js +16 -0
  358. package/dist/index.d.ts +6 -0
  359. package/dist/index.js +227 -0
  360. package/dist/modals.js +18 -0
  361. package/dist/modules/audience/ReactionChoice.d.ts +11 -0
  362. package/dist/modules/audience/ReactionChoice.js +33 -0
  363. package/dist/modules/audience/ReactionModal.Card.d.ts +4 -0
  364. package/dist/modules/audience/ReactionModal.Card.js +34 -0
  365. package/dist/modules/audience/ReactionModal.d.ts +20 -0
  366. package/dist/modules/audience/ReactionModal.js +73 -0
  367. package/dist/modules/audience/ReactionSummary.d.ts +10 -0
  368. package/dist/modules/audience/ReactionSummary.js +27 -0
  369. package/dist/modules/audience/ViewsByProfileCard.d.ts +9 -0
  370. package/dist/modules/audience/ViewsByProfileCard.js +35 -0
  371. package/dist/modules/audience/ViewsCounter.d.ts +11 -0
  372. package/dist/modules/audience/ViewsCounter.js +18 -0
  373. package/dist/modules/audience/ViewsModal.d.ts +11 -0
  374. package/dist/modules/audience/ViewsModal.js +40 -0
  375. package/dist/modules/audience/hooks/useReactionIcons.d.ts +5 -0
  376. package/dist/modules/audience/hooks/useReactionIcons.js +37 -0
  377. package/dist/modules/audience/hooks/useReactions.d.ts +15 -0
  378. package/dist/modules/audience/hooks/useReactions.js +35 -0
  379. package/dist/modules/audience/hooks/useViews.d.ts +11 -0
  380. package/dist/modules/audience/index.d.ts +12 -0
  381. package/dist/modules/editor/components/BubbleMenuEditImage/BubbleMenuEditImage.d.ts +8 -0
  382. package/dist/modules/editor/components/BubbleMenuEditImage/BubbleMenuEditImage.js +132 -0
  383. package/dist/modules/editor/components/BubbleMenuEditImage/index.d.ts +1 -0
  384. package/dist/modules/editor/components/Editor/Editor.d.ts +45 -0
  385. package/dist/modules/editor/components/Editor/Editor.js +83 -0
  386. package/dist/modules/editor/components/Editor/MathsModal.d.ts +8 -0
  387. package/dist/modules/editor/components/Editor/MathsModal.js +50 -0
  388. package/dist/modules/editor/components/Editor/index.d.ts +2 -0
  389. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.DropdownMenu.d.ts +22 -0
  390. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.DropdownMenu.js +17 -0
  391. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Emoji.d.ts +14 -0
  392. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Emoji.js +54 -0
  393. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.HighlightColor.d.ts +14 -0
  394. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.HighlightColor.js +47 -0
  395. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.PlusMenu.d.ts +9 -0
  396. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.PlusMenu.js +18 -0
  397. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextColor.d.ts +14 -0
  398. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextColor.js +50 -0
  399. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextSize.d.ts +10 -0
  400. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextSize.js +62 -0
  401. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Typography.d.ts +10 -0
  402. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Typography.js +52 -0
  403. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.d.ts +10 -0
  404. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.js +319 -0
  405. package/dist/modules/editor/components/EditorToolbar/index.d.ts +1 -0
  406. package/dist/modules/editor/components/NodeView/AttachmentNodeView.d.ts +2 -0
  407. package/dist/modules/editor/components/NodeView/AttachmentNodeView.js +10 -0
  408. package/dist/modules/editor/components/NodeView/AudioNodeView.d.ts +2 -0
  409. package/dist/modules/editor/components/NodeView/AudioNodeView.js +10 -0
  410. package/dist/modules/editor/components/NodeView/ImageNodeView.d.ts +2 -0
  411. package/dist/modules/editor/components/NodeView/ImageNodeView.js +10 -0
  412. package/dist/modules/editor/components/NodeView/LinkerNodeView.d.ts +2 -0
  413. package/dist/modules/editor/components/NodeView/LinkerNodeView.js +10 -0
  414. package/dist/modules/editor/components/NodeView/VideoNodeView.d.ts +2 -0
  415. package/dist/modules/editor/components/NodeView/VideoNodeView.js +10 -0
  416. package/dist/modules/editor/components/NodeView/index.d.ts +5 -0
  417. package/dist/modules/editor/components/Renderer/AttachmentRenderer.d.ts +7 -0
  418. package/dist/modules/editor/components/Renderer/AttachmentRenderer.js +34 -0
  419. package/dist/modules/editor/components/Renderer/AudioRenderer.d.ts +7 -0
  420. package/dist/modules/editor/components/Renderer/AudioRenderer.js +11 -0
  421. package/dist/modules/editor/components/Renderer/LinkerRenderer.d.ts +9 -0
  422. package/dist/modules/editor/components/Renderer/LinkerRenderer.js +34 -0
  423. package/dist/modules/editor/components/Renderer/MediaRenderer.d.ts +2 -0
  424. package/dist/modules/editor/components/Renderer/MediaRenderer.js +69 -0
  425. package/dist/modules/editor/components/Renderer/index.d.ts +4 -0
  426. package/dist/modules/editor/components/Toolbar/LinkToolbar.TippyOptions.d.ts +2 -0
  427. package/dist/modules/editor/components/Toolbar/LinkToolbar.TippyOptions.js +8 -0
  428. package/dist/modules/editor/components/Toolbar/LinkToolbar.d.ts +15 -0
  429. package/dist/modules/editor/components/Toolbar/LinkToolbar.js +59 -0
  430. package/dist/modules/editor/components/Toolbar/TableToolbar.AddMenu.d.ts +9 -0
  431. package/dist/modules/editor/components/Toolbar/TableToolbar.AddMenu.js +28 -0
  432. package/dist/modules/editor/components/Toolbar/TableToolbar.CellColor.d.ts +13 -0
  433. package/dist/modules/editor/components/Toolbar/TableToolbar.CellColor.js +45 -0
  434. package/dist/modules/editor/components/Toolbar/TableToolbar.DelMenu.d.ts +9 -0
  435. package/dist/modules/editor/components/Toolbar/TableToolbar.DelMenu.js +27 -0
  436. package/dist/modules/editor/components/Toolbar/TableToolbar.d.ts +9 -0
  437. package/dist/modules/editor/components/Toolbar/TableToolbar.js +88 -0
  438. package/dist/modules/editor/components/Toolbar/index.d.ts +2 -0
  439. package/dist/modules/editor/components/index.d.ts +6 -0
  440. package/dist/modules/editor/hooks/index.d.ts +12 -0
  441. package/dist/modules/editor/hooks/useActionOptions.d.ts +5 -0
  442. package/dist/modules/editor/hooks/useActionOptions.js +75 -0
  443. package/dist/modules/editor/hooks/useCommentEditor.d.ts +13 -0
  444. package/dist/modules/editor/hooks/useCommentEditor.js +37 -0
  445. package/dist/modules/editor/hooks/useEditorContext.d.ts +37 -0
  446. package/dist/modules/editor/hooks/useEditorContext.js +12 -0
  447. package/dist/modules/editor/hooks/useImageModal.d.ts +31 -0
  448. package/dist/modules/editor/hooks/useImageModal.js +46 -0
  449. package/dist/modules/editor/hooks/useImageSelection.d.ts +21 -0
  450. package/dist/modules/editor/hooks/useImageSelection.js +46 -0
  451. package/dist/modules/editor/hooks/useLinkToolbar.d.ts +17 -0
  452. package/dist/modules/editor/hooks/useLinkToolbar.js +37 -0
  453. package/dist/modules/editor/hooks/useMathsModal.d.ts +17 -0
  454. package/dist/modules/editor/hooks/useMathsModal.js +17 -0
  455. package/dist/modules/editor/hooks/useMathsStyles.d.ts +1 -0
  456. package/dist/modules/editor/hooks/useMathsStyles.js +20 -0
  457. package/dist/modules/editor/hooks/useMediaLibraryEditor.d.ts +19 -0
  458. package/dist/modules/editor/hooks/useMediaLibraryEditor.js +152 -0
  459. package/dist/modules/editor/hooks/useResizeMedia.d.ts +10 -0
  460. package/dist/modules/editor/hooks/useResizeMedia.js +47 -0
  461. package/dist/modules/editor/hooks/useSpeechRecognition.d.ts +6 -0
  462. package/dist/modules/editor/hooks/useSpeechRecognition.js +21 -0
  463. package/dist/modules/editor/hooks/useSpeechSynthetisis.d.ts +12 -0
  464. package/dist/modules/editor/hooks/useSpeechSynthetisis.js +20 -0
  465. package/dist/modules/editor/hooks/useTipTapEditor.d.ts +15 -0
  466. package/dist/modules/editor/hooks/useTipTapEditor.js +75 -0
  467. package/dist/modules/editor/index.d.ts +3 -0
  468. package/dist/modules/editor/utils/has-extension.d.ts +2 -0
  469. package/dist/modules/editor/utils/has-extension.js +4 -0
  470. package/dist/modules/editor/utils/has-mark.d.ts +2 -0
  471. package/dist/modules/editor/utils/has-mark.js +4 -0
  472. package/dist/modules/editor/utils/has-text-style.d.ts +2 -0
  473. package/dist/modules/editor/utils/has-text-style.js +5 -0
  474. package/dist/modules/modals/OnboardingModal/OnboardingModal.d.ts +43 -0
  475. package/dist/modules/modals/OnboardingModal/OnboardingModal.js +59 -0
  476. package/dist/modules/modals/OnboardingModal/index.d.ts +1 -0
  477. package/dist/modules/modals/OnboardingModal/useOnboardingModal.d.ts +7 -0
  478. package/dist/modules/modals/OnboardingModal/useOnboardingModal.js +30 -0
  479. package/dist/modules/modals/PublishModal/PublishModal.d.ts +9 -0
  480. package/dist/modules/modals/PublishModal/PublishModal.js +120 -0
  481. package/dist/modules/modals/PublishModal/components/ActivitiesDropdown.d.ts +7 -0
  482. package/dist/modules/modals/PublishModal/components/ActivitiesDropdown.js +29 -0
  483. package/dist/modules/modals/PublishModal/components/AgeSelect.d.ts +8 -0
  484. package/dist/modules/modals/PublishModal/components/AgeSelect.js +20 -0
  485. package/dist/modules/modals/PublishModal/components/LangSelect.d.ts +5 -0
  486. package/dist/modules/modals/PublishModal/components/LangSelect.js +19 -0
  487. package/dist/modules/modals/PublishModal/components/PublishModalFooter.d.ts +1 -0
  488. package/dist/modules/modals/PublishModal/components/PublishModalFooter.js +23 -0
  489. package/dist/modules/modals/PublishModal/components/SubjectsDropdown.d.ts +7 -0
  490. package/dist/modules/modals/PublishModal/components/SubjectsDropdown.js +29 -0
  491. package/dist/modules/modals/PublishModal/components/ToastError.d.ts +5 -0
  492. package/dist/modules/modals/PublishModal/components/ToastError.js +24 -0
  493. package/dist/modules/modals/PublishModal/components/ToastSuccess.d.ts +4 -0
  494. package/dist/modules/modals/PublishModal/components/ToastSuccess.js +18 -0
  495. package/dist/modules/modals/PublishModal/constants/ageOptions.d.ts +1 -0
  496. package/dist/modules/modals/PublishModal/constants/ageOptions.js +4 -0
  497. package/dist/modules/modals/PublishModal/hooks/useActivitiesOptions.d.ts +4 -0
  498. package/dist/modules/modals/PublishModal/hooks/useActivitiesOptions.js +34 -0
  499. package/dist/modules/modals/PublishModal/hooks/useLanguageOptions.d.ts +4 -0
  500. package/dist/modules/modals/PublishModal/hooks/useLanguageOptions.js +43 -0
  501. package/dist/modules/modals/PublishModal/hooks/usePublishModal.d.ts +38 -0
  502. package/dist/modules/modals/PublishModal/hooks/usePublishModal.js +106 -0
  503. package/dist/modules/modals/PublishModal/hooks/useSubjectsOptions.d.ts +4 -0
  504. package/dist/modules/modals/PublishModal/hooks/useSubjectsOptions.js +118 -0
  505. package/dist/modules/modals/PublishModal/index.d.ts +1 -0
  506. package/dist/modules/modals/ResourceModal/ResourceModal.d.ts +30 -0
  507. package/dist/modules/modals/ResourceModal/ResourceModal.js +156 -0
  508. package/dist/modules/modals/ResourceModal/apps/BlogPublic.d.ts +13 -0
  509. package/dist/modules/modals/ResourceModal/apps/BlogPublic.js +62 -0
  510. package/dist/modules/modals/ResourceModal/hooks/useSlug.d.ts +17 -0
  511. package/dist/modules/modals/ResourceModal/hooks/useSlug.js +41 -0
  512. package/dist/modules/modals/ResourceModal/hooks/useThumb.d.ts +11 -0
  513. package/dist/modules/modals/ResourceModal/hooks/useThumb.js +17 -0
  514. package/dist/modules/modals/ResourceModal/hooks/useUpdateMutation.d.ts +7 -0
  515. package/dist/modules/modals/ResourceModal/hooks/useUpdateMutation.js +12 -0
  516. package/dist/modules/modals/ResourceModal/index.d.ts +3 -0
  517. package/dist/modules/modals/ShareModal/ShareBookmark.d.ts +8 -0
  518. package/dist/modules/modals/ShareModal/ShareBookmark.js +22 -0
  519. package/dist/modules/modals/ShareModal/ShareBookmarkLine.d.ts +9 -0
  520. package/dist/modules/modals/ShareModal/ShareBookmarkLine.js +42 -0
  521. package/dist/modules/modals/ShareModal/ShareModal.d.ts +41 -0
  522. package/dist/modules/modals/ShareModal/ShareModal.js +128 -0
  523. package/dist/modules/modals/ShareModal/apps/ShareBlog.d.ts +8 -0
  524. package/dist/modules/modals/ShareModal/apps/ShareBlog.js +42 -0
  525. package/dist/modules/modals/ShareModal/hooks/useSearch.d.ts +24 -0
  526. package/dist/modules/modals/ShareModal/hooks/useSearch.js +178 -0
  527. package/dist/modules/modals/ShareModal/hooks/useShare.d.ts +54 -0
  528. package/dist/modules/modals/ShareModal/hooks/useShare.js +192 -0
  529. package/dist/modules/modals/ShareModal/hooks/useShareBookmark.d.ts +23 -0
  530. package/dist/modules/modals/ShareModal/hooks/useShareBookmark.js +67 -0
  531. package/dist/modules/modals/ShareModal/hooks/useShareMutation.d.ts +13 -0
  532. package/dist/modules/modals/ShareModal/hooks/useShareMutation.js +15 -0
  533. package/dist/modules/modals/ShareModal/index.d.ts +3 -0
  534. package/dist/modules/modals/ShareModal/utils/hasRight.d.ts +2 -0
  535. package/dist/modules/modals/ShareModal/utils/hasRight.js +4 -0
  536. package/dist/modules/modals/ShareModal/utils/showShareRightLine.d.ts +2 -0
  537. package/dist/modules/modals/ShareModal/utils/showShareRightLine.js +4 -0
  538. package/dist/modules/modals/index.d.ts +4 -0
  539. package/dist/modules/multimedia/AudioRecorder/AudioRecorder.d.ts +12 -0
  540. package/dist/modules/multimedia/AudioRecorder/AudioRecorder.js +49 -0
  541. package/dist/modules/multimedia/AudioRecorder/AudioRecorderTimer.d.ts +10 -0
  542. package/dist/modules/multimedia/AudioRecorder/AudioRecorderTimer.js +24 -0
  543. package/dist/modules/multimedia/AudioRecorder/index.d.ts +1 -0
  544. package/dist/modules/multimedia/AudioRecorder/useAudioRecorder.d.ts +16 -0
  545. package/dist/modules/multimedia/AudioRecorder/useAudioRecorder.js +307 -0
  546. package/dist/modules/multimedia/Embed/Embed.d.ts +5 -0
  547. package/dist/modules/multimedia/Embed/Embed.js +32 -0
  548. package/dist/modules/multimedia/Embed/index.d.ts +2 -0
  549. package/dist/modules/multimedia/ImageEditor/components/ImageEditor.d.ts +27 -0
  550. package/dist/modules/multimedia/ImageEditor/components/ImageEditor.js +116 -0
  551. package/dist/modules/multimedia/ImageEditor/components/ImageEditorToolbar.d.ts +7 -0
  552. package/dist/modules/multimedia/ImageEditor/components/ImageEditorToolbar.js +69 -0
  553. package/dist/modules/multimedia/ImageEditor/effects/blur.d.ts +19 -0
  554. package/dist/modules/multimedia/ImageEditor/effects/blur.js +72 -0
  555. package/dist/modules/multimedia/ImageEditor/effects/crop.d.ts +28 -0
  556. package/dist/modules/multimedia/ImageEditor/effects/crop.js +155 -0
  557. package/dist/modules/multimedia/ImageEditor/effects/misc.d.ts +154 -0
  558. package/dist/modules/multimedia/ImageEditor/effects/misc.js +162 -0
  559. package/dist/modules/multimedia/ImageEditor/effects/resize.d.ts +25 -0
  560. package/dist/modules/multimedia/ImageEditor/effects/resize.js +157 -0
  561. package/dist/modules/multimedia/ImageEditor/effects/rotate.d.ts +8 -0
  562. package/dist/modules/multimedia/ImageEditor/effects/rotate.js +33 -0
  563. package/dist/modules/multimedia/ImageEditor/hooks/useHistoryTool.d.ts +32 -0
  564. package/dist/modules/multimedia/ImageEditor/hooks/useHistoryTool.js +66 -0
  565. package/dist/modules/multimedia/ImageEditor/hooks/useImageEditor.d.ts +30 -0
  566. package/dist/modules/multimedia/ImageEditor/hooks/useImageEditor.js +76 -0
  567. package/dist/modules/multimedia/ImageEditor/hooks/useImageEffects.d.ts +23 -0
  568. package/dist/modules/multimedia/ImageEditor/hooks/useImageEffects.js +52 -0
  569. package/dist/modules/multimedia/ImageEditor/index.d.ts +1 -0
  570. package/dist/modules/multimedia/ImageEditor/utils/aggregate.d.ts +9 -0
  571. package/dist/modules/multimedia/ImageEditor/utils/aggregate.js +13 -0
  572. package/dist/modules/multimedia/ImageEditor/utils/debounceAggregate.d.ts +10 -0
  573. package/dist/modules/multimedia/ImagePickerWorkspace/ImagePickerWorkspace.d.ts +46 -0
  574. package/dist/modules/multimedia/ImagePickerWorkspace/ImagePickerWorkspace.js +39 -0
  575. package/dist/modules/multimedia/ImagePickerWorkspace/index.d.ts +2 -0
  576. package/dist/modules/multimedia/Linker/ExternalLinker.d.ts +28 -0
  577. package/dist/modules/multimedia/Linker/ExternalLinker.js +45 -0
  578. package/dist/modules/multimedia/Linker/InternalLinker.d.ts +28 -0
  579. package/dist/modules/multimedia/Linker/InternalLinker.js +114 -0
  580. package/dist/modules/multimedia/Linker/index.d.ts +4 -0
  581. package/dist/modules/multimedia/LinkerCard/LinkerCard.d.ts +13 -0
  582. package/dist/modules/multimedia/LinkerCard/LinkerCard.js +38 -0
  583. package/dist/modules/multimedia/LinkerCard/index.d.ts +2 -0
  584. package/dist/modules/multimedia/MediaLibrary/MediaLibrary.d.ts +84 -0
  585. package/dist/modules/multimedia/MediaLibrary/MediaLibrary.js +211 -0
  586. package/dist/modules/multimedia/MediaLibrary/MediaLibraryContext.d.ts +60 -0
  587. package/dist/modules/multimedia/MediaLibrary/MediaLibraryContext.js +12 -0
  588. package/dist/modules/multimedia/MediaLibrary/index.d.ts +3 -0
  589. package/dist/modules/multimedia/MediaLibrary/innertabs/Audio.d.ts +1 -0
  590. package/dist/modules/multimedia/MediaLibrary/innertabs/Audio.js +19 -0
  591. package/dist/modules/multimedia/MediaLibrary/innertabs/ExternalLink.d.ts +6 -0
  592. package/dist/modules/multimedia/MediaLibrary/innertabs/ExternalLink.js +17 -0
  593. package/dist/modules/multimedia/MediaLibrary/innertabs/Iframe.d.ts +1 -0
  594. package/dist/modules/multimedia/MediaLibrary/innertabs/Iframe.js +14 -0
  595. package/dist/modules/multimedia/MediaLibrary/innertabs/InternalLink.d.ts +11 -0
  596. package/dist/modules/multimedia/MediaLibrary/innertabs/InternalLink.js +35 -0
  597. package/dist/modules/multimedia/MediaLibrary/innertabs/Upload.d.ts +1 -0
  598. package/dist/modules/multimedia/MediaLibrary/innertabs/Upload.js +34 -0
  599. package/dist/modules/multimedia/MediaLibrary/innertabs/Video.d.ts +1 -0
  600. package/dist/modules/multimedia/MediaLibrary/innertabs/Video.js +22 -0
  601. package/dist/modules/multimedia/MediaLibrary/innertabs/VideoEmbedder.d.ts +1 -0
  602. package/dist/modules/multimedia/MediaLibrary/innertabs/VideoEmbedder.js +14 -0
  603. package/dist/modules/multimedia/MediaLibrary/innertabs/Workspace.d.ts +1 -0
  604. package/dist/modules/multimedia/MediaLibrary/innertabs/Workspace.js +31 -0
  605. package/dist/modules/multimedia/MediaLibrary/innertabs/index.d.ts +10 -0
  606. package/dist/modules/multimedia/MediaLibrary/innertabs/index.js +21 -0
  607. package/dist/modules/multimedia/UploadFiles/UploadFiles.d.ts +9 -0
  608. package/dist/modules/multimedia/UploadFiles/UploadFiles.js +56 -0
  609. package/dist/modules/multimedia/UploadFiles/index.d.ts +2 -0
  610. package/dist/modules/multimedia/VideoEmbed/VideoEmbed.d.ts +5 -0
  611. package/dist/modules/multimedia/VideoEmbed/VideoEmbed.js +77 -0
  612. package/dist/modules/multimedia/VideoEmbed/index.d.ts +1 -0
  613. package/dist/modules/multimedia/VideoRecorder/VideoRecorder.d.ts +14 -0
  614. package/dist/modules/multimedia/VideoRecorder/VideoRecorder.js +259 -0
  615. package/dist/modules/multimedia/VideoRecorder/index.d.ts +1 -0
  616. package/dist/modules/multimedia/Workspace/Workspace.d.ts +33 -0
  617. package/dist/modules/multimedia/Workspace/Workspace.js +169 -0
  618. package/dist/modules/multimedia/Workspace/index.d.ts +2 -0
  619. package/dist/modules/multimedia/index.d.ts +8 -0
  620. package/dist/multimedia.js +20 -0
  621. package/dist/portal/Header/Badge.d.ts +5 -0
  622. package/dist/portal/Header/Badge.js +9 -0
  623. package/dist/portal/Header/Header.d.ts +9 -0
  624. package/dist/portal/Header/Header.js +170 -0
  625. package/dist/portal/Header/NavItem.d.ts +6 -0
  626. package/dist/portal/Header/NavItem.js +14 -0
  627. package/dist/portal/Header/NavLink.d.ts +24 -0
  628. package/dist/portal/Header/NavLink.js +19 -0
  629. package/dist/portal/Header/Navbar.d.ts +6 -0
  630. package/dist/portal/Header/Navbar.js +13 -0
  631. package/dist/portal/Header/NavbarNav.d.ts +6 -0
  632. package/dist/portal/Header/NavbarNav.js +13 -0
  633. package/dist/portal/Header/WidgetApps.d.ts +9 -0
  634. package/dist/portal/Header/WidgetApps.js +23 -0
  635. package/dist/portal/Header/index.d.ts +5 -0
  636. package/dist/portal/Help/Help.d.ts +9 -0
  637. package/dist/portal/Help/Help.js +25 -0
  638. package/dist/portal/Help/hooks/useHelp.d.ts +10 -0
  639. package/dist/portal/Help/hooks/useHelp.js +85 -0
  640. package/dist/portal/Help/index.d.ts +1 -0
  641. package/dist/portal/Layout/Layout.d.ts +12 -0
  642. package/dist/portal/Layout/Layout.js +42 -0
  643. package/dist/portal/Layout/index.d.ts +1 -0
  644. package/dist/portal/Main/Main.d.ts +16 -0
  645. package/dist/portal/Main/index.d.ts +2 -0
  646. package/dist/portal/SearchEngine/SearchEngine.d.ts +5 -0
  647. package/dist/portal/SearchEngine/SearchEngine.js +33 -0
  648. package/dist/portal/SearchEngine/index.d.ts +1 -0
  649. package/dist/portal/index.d.ts +1 -0
  650. package/dist/types/index.d.ts +2 -0
  651. package/dist/types/size.d.ts +1 -0
  652. package/dist/types/status.d.ts +1 -0
  653. package/dist/utils/MockedDataProvider/MockedDataProvider.d.ts +28 -0
  654. package/dist/utils/MockedDataProvider/MockedDataProvider.js +26 -0
  655. package/dist/utils/MockedDataProvider/index.d.ts +1 -0
  656. package/dist/utils/StringUtils.d.ts +5 -0
  657. package/dist/utils/StringUtils.js +14 -0
  658. package/dist/utils/addTimestampToUrl.d.ts +6 -0
  659. package/dist/utils/addTimestampToUrl.js +7 -0
  660. package/dist/utils/blob.d.ts +9 -0
  661. package/dist/utils/blob.js +15 -0
  662. package/dist/utils/checkUserRight.d.ts +11 -0
  663. package/dist/utils/checkUserRight.js +44 -0
  664. package/dist/utils/fileSize.d.ts +1 -0
  665. package/dist/utils/fileSize.js +8 -0
  666. package/dist/utils/findTreeNode.d.ts +9 -0
  667. package/dist/utils/findTreeNode.js +11 -0
  668. package/dist/utils/index.d.ts +14 -0
  669. package/dist/utils/isActionAvailable.d.ts +2 -0
  670. package/dist/utils/isActionAvailable.js +7 -0
  671. package/dist/utils/libraryMaps.d.ts +4 -0
  672. package/dist/utils/libraryMaps.js +12 -0
  673. package/dist/utils/noop.d.ts +4 -0
  674. package/dist/utils/noop.js +5 -0
  675. package/dist/utils/ref.d.ts +5 -0
  676. package/dist/utils/ref.js +14 -0
  677. package/dist/utils/thumbnail.d.ts +8 -0
  678. package/dist/utils/thumbnail.js +6 -0
  679. package/dist/utils/time.d.ts +2 -0
  680. package/dist/utils/time.js +11 -0
  681. package/dist/utils/treeview.d.ts +33 -0
  682. package/dist/utils/treeview.js +133 -0
  683. package/dist/utils/video.d.ts +1 -0
  684. package/dist/utils/video.js +4 -0
  685. package/dist/widgets/BookmarkedApps/BookmarkedApps.d.ts +8 -0
  686. package/dist/widgets/BookmarkedApps/BookmarkedApps.js +8 -0
  687. package/dist/widgets/BookmarkedApps/index.d.ts +2 -0
  688. package/dist/widgets/Widget/Widget.d.ts +17 -0
  689. package/dist/widgets/Widget/Widget.js +22 -0
  690. package/dist/widgets/Widget/index.d.ts +2 -0
  691. package/dist/widgets/index.d.ts +2 -0
  692. package/package.json +134 -0
@@ -0,0 +1,35 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { useState, useEffect } from "react";
3
+ import { useTranslation } from "react-i18next";
4
+ import InternalLinker from "../../Linker/InternalLinker.js";
5
+ import { useMediaLibraryContext } from "../MediaLibraryContext.js";
6
+ import useToggle from "../../../../hooks/useToggle/useToggle.js";
7
+ import Checkbox from "../../../../components/Checkbox/Checkbox.js";
8
+ const InternalLink = ({
9
+ target,
10
+ resourceId,
11
+ appPrefix
12
+ }) => {
13
+ const {
14
+ t
15
+ } = useTranslation(), {
16
+ setResult,
17
+ setResultCounter,
18
+ appCode,
19
+ multiple
20
+ } = useMediaLibraryContext(), [isChecked, toggleChecked] = useToggle(target === "_blank"), [resources, setRessources] = useState([]), handleSelect = (resources2) => {
21
+ setRessources(resources2);
22
+ };
23
+ return useEffect(() => {
24
+ setResult({
25
+ target: isChecked ? "_blank" : void 0,
26
+ resources
27
+ }), resources && resources.length ? setResultCounter(resources.length) : setResultCounter(void 0);
28
+ }, [isChecked, resources]), /* @__PURE__ */ jsxs("div", { className: "d-flex flex-column flex-fill gap-16 overflow-hidden", children: [
29
+ /* @__PURE__ */ jsx(InternalLinker, { appCode, defaultAppCode: appPrefix, defaultResourceId: resourceId, onSelect: handleSelect, multiple }),
30
+ /* @__PURE__ */ jsx(Checkbox, { className: "align-items-center", checked: isChecked, label: t("bbm.linker.open.tab"), onChange: toggleChecked })
31
+ ] });
32
+ };
33
+ export {
34
+ InternalLink
35
+ };
@@ -0,0 +1 @@
1
+ export declare const Upload: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,34 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useMediaLibraryContext } from "../MediaLibraryContext.js";
3
+ import Dropzone from "../../../../components/Dropzone/Dropzone.js";
4
+ import UploadFiles from "../../UploadFiles/UploadFiles.js";
5
+ const acceptedTypes = (type) => {
6
+ const acceptedTypes2 = [];
7
+ switch (type) {
8
+ case "audio":
9
+ acceptedTypes2.push("audio/*");
10
+ break;
11
+ case "video":
12
+ acceptedTypes2.push("video/*");
13
+ break;
14
+ case "image":
15
+ acceptedTypes2.push("image/png"), acceptedTypes2.push("image/jpeg"), acceptedTypes2.push("image/webp"), acceptedTypes2.push("image/gif"), acceptedTypes2.push("image/avif");
16
+ break;
17
+ }
18
+ return acceptedTypes2;
19
+ }, Upload = () => {
20
+ const {
21
+ type,
22
+ visibility,
23
+ multiple,
24
+ setResult,
25
+ setResultCounter,
26
+ setCancellable
27
+ } = useMediaLibraryContext(), handleOnFilesChange = (uploadedFiles) => {
28
+ uploadedFiles.length ? (setCancellable(uploadedFiles), setResultCounter(uploadedFiles.length), setResult(uploadedFiles)) : (setCancellable([]), setResultCounter(void 0), setResult(void 0));
29
+ };
30
+ return /* @__PURE__ */ jsx("div", { className: "py-8 flex-grow-1", children: /* @__PURE__ */ jsx(Dropzone, { multiple, accept: acceptedTypes(type ?? "embedder"), children: /* @__PURE__ */ jsx(UploadFiles, { onFilesChange: handleOnFilesChange, visibility }) }) });
31
+ };
32
+ export {
33
+ Upload
34
+ };
@@ -0,0 +1 @@
1
+ export declare const Video: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,22 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useRef } from "react";
3
+ import { useTranslation } from "react-i18next";
4
+ import { useMediaLibraryContext } from "../MediaLibraryContext.js";
5
+ import VideoRecorder from "../../VideoRecorder/VideoRecorder.js";
6
+ const Video = () => {
7
+ const {
8
+ appCode,
9
+ setResult,
10
+ setPreSuccess
11
+ } = useMediaLibraryContext(), {
12
+ t
13
+ } = useTranslation(), ref = useRef(null), handleRecordUpdated = (recordUrl) => {
14
+ recordUrl ? (setResult(recordUrl), setPreSuccess(() => ref.current.save)) : setResult();
15
+ }, handleError = (err) => {
16
+ console.error(err);
17
+ };
18
+ return /* @__PURE__ */ jsx(VideoRecorder, { ref, appCode, caption: t("bbm.video.caption"), onRecordUpdated: handleRecordUpdated, onError: handleError, hideSaveAction: !0 });
19
+ };
20
+ export {
21
+ Video
22
+ };
@@ -0,0 +1 @@
1
+ export declare const VideoEmbedder: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,14 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import VideoEmbed from "../../VideoEmbed/VideoEmbed.js";
3
+ import { useMediaLibraryContext } from "../MediaLibraryContext.js";
4
+ const VideoEmbedder = () => {
5
+ const {
6
+ setResult
7
+ } = useMediaLibraryContext();
8
+ return /* @__PURE__ */ jsx(VideoEmbed, { onSuccess: (ressource) => {
9
+ setResult(ressource);
10
+ } });
11
+ };
12
+ export {
13
+ VideoEmbedder
14
+ };
@@ -0,0 +1 @@
1
+ export declare const Workspace: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,31 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useMediaLibraryContext } from "../MediaLibraryContext.js";
3
+ import Component from "../../Workspace/Workspace.js";
4
+ const Workspace = () => {
5
+ const {
6
+ type,
7
+ setResultCounter,
8
+ setResult,
9
+ multiple,
10
+ visibility
11
+ } = useMediaLibraryContext();
12
+ function getDocumentRoleFilter() {
13
+ switch (type) {
14
+ case "image":
15
+ return "img";
16
+ case "audio":
17
+ return "audio";
18
+ case "video":
19
+ return "video";
20
+ default:
21
+ return null;
22
+ }
23
+ }
24
+ function handleSelect(result) {
25
+ setResultCounter(result.length), result.length ? setResult(result) : setResult();
26
+ }
27
+ return /* @__PURE__ */ jsx(Component, { roles: getDocumentRoleFilter(), onSelect: handleSelect, multiple, className: "border rounded overflow-y-auto", defaultFolder: visibility, showPublicFolder: visibility === "public" });
28
+ };
29
+ export {
30
+ Workspace
31
+ };
@@ -0,0 +1,10 @@
1
+ export declare const InnerTabs: {
2
+ Audio: () => import("react/jsx-runtime").JSX.Element;
3
+ Video: () => import("react/jsx-runtime").JSX.Element;
4
+ Upload: () => import("react/jsx-runtime").JSX.Element;
5
+ ExternalLink: ({ link, multiNodeSelected, }: import('./ExternalLink').ExternalLinkTabProps) => import("react/jsx-runtime").JSX.Element;
6
+ Workspace: () => import("react/jsx-runtime").JSX.Element;
7
+ InternalLink: ({ target, resourceId, appPrefix, }: import('./InternalLink').InternalLinkTabProps) => import("react/jsx-runtime").JSX.Element;
8
+ Iframe: () => import("react/jsx-runtime").JSX.Element;
9
+ VideoEmbedder: () => import("react/jsx-runtime").JSX.Element;
10
+ };
@@ -0,0 +1,21 @@
1
+ import { Audio } from "./Audio.js";
2
+ import { ExternalLink } from "./ExternalLink.js";
3
+ import { Iframe } from "./Iframe.js";
4
+ import { InternalLink } from "./InternalLink.js";
5
+ import { Upload } from "./Upload.js";
6
+ import { Video } from "./Video.js";
7
+ import { VideoEmbedder } from "./VideoEmbedder.js";
8
+ import { Workspace } from "./Workspace.js";
9
+ const InnerTabs = {
10
+ Audio,
11
+ Video,
12
+ Upload,
13
+ ExternalLink,
14
+ Workspace,
15
+ InternalLink,
16
+ Iframe,
17
+ VideoEmbedder
18
+ };
19
+ export {
20
+ InnerTabs
21
+ };
@@ -0,0 +1,9 @@
1
+ import { WorkspaceElement, WorkspaceVisibility } from 'edifice-ts-client';
2
+ declare const UploadFiles: {
3
+ ({ onFilesChange, visibility, }: {
4
+ onFilesChange: (uploadedFiles: WorkspaceElement[]) => void;
5
+ visibility?: WorkspaceVisibility | undefined;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ displayName: string;
8
+ };
9
+ export default UploadFiles;
@@ -0,0 +1,56 @@
1
+ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
+ import { useRef, useEffect } from "react";
3
+ import { customSize } from "../../../utils/fileSize.js";
4
+ import useUploadFiles from "../../../core/useUploadFiles/useUploadFiles.js";
5
+ import { UploadCard } from "../../../components/UploadCard/UploadCard.js";
6
+ import ImageEditor from "../ImageEditor/components/ImageEditor.js";
7
+ const UploadFiles = ({
8
+ onFilesChange,
9
+ visibility = "protected"
10
+ }) => {
11
+ const {
12
+ files,
13
+ uploadedFiles,
14
+ getUploadStatus,
15
+ uploadFile,
16
+ removeFile,
17
+ updateImage,
18
+ editingImage,
19
+ setEditingImage,
20
+ getUrl
21
+ } = useUploadFiles({
22
+ handleOnChange: onFilesChange,
23
+ application: "media-library",
24
+ visibility
25
+ }), fileBlobs = useRef(/* @__PURE__ */ new Map());
26
+ useEffect(() => {
27
+ const blobs = fileBlobs.current;
28
+ return () => {
29
+ blobs.forEach((url) => URL.revokeObjectURL(url)), blobs.clear();
30
+ };
31
+ }, []);
32
+ const renderItem = (file) => {
33
+ const src = file.type.startsWith("image") ? fileBlobs.current.get(file.name) : "";
34
+ return fileBlobs.current.has(file.name) || fileBlobs.current.set(file.name, URL.createObjectURL(file)), {
35
+ name: file.name,
36
+ info: {
37
+ type: file.type,
38
+ weight: customSize(file.size || 0, 1)
39
+ },
40
+ src
41
+ };
42
+ }, handleRemoveFile = (file) => {
43
+ const blobUrl = fileBlobs.current.get(file.name);
44
+ blobUrl && (URL.revokeObjectURL(blobUrl), fileBlobs.current.delete(file.name)), removeFile(file);
45
+ };
46
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
47
+ files.map((file) => {
48
+ const resource = uploadedFiles.find((uploadedFile) => uploadedFile.name === file.name);
49
+ return /* @__PURE__ */ jsx(UploadCard, { status: getUploadStatus(file), item: renderItem(file), onEdit: () => setEditingImage(resource), onRetry: () => uploadFile(file), onDelete: () => handleRemoveFile(file) }, file.name);
50
+ }),
51
+ editingImage && /* @__PURE__ */ jsx(ImageEditor, { altText: editingImage.alt, legend: editingImage.title, image: getUrl(editingImage, !0), isOpen: !!editingImage, onCancel: () => setEditingImage(void 0), onSave: updateImage, onError: console.error })
52
+ ] });
53
+ };
54
+ export {
55
+ UploadFiles as default
56
+ };
@@ -0,0 +1,2 @@
1
+ export { default as UploadFiles } from './UploadFiles';
2
+ export * from './UploadFiles';
@@ -0,0 +1,5 @@
1
+ export interface VideoEmbedProps {
2
+ onSuccess: (resource?: string) => void;
3
+ }
4
+ declare const VideoEmbed: ({ onSuccess }: VideoEmbedProps) => import("react/jsx-runtime").JSX.Element;
5
+ export default VideoEmbed;
@@ -0,0 +1,77 @@
1
+ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
+ import { useState, useId, useEffect } from "react";
3
+ import { odeServices } from "edifice-ts-client";
4
+ import { useTranslation } from "react-i18next";
5
+ import { useMediaLibraryContext } from "../MediaLibrary/MediaLibraryContext.js";
6
+ import useDebounce from "../../../hooks/useDebounce/useDebounce.js";
7
+ import usePaths from "../../../core/usePaths/usePaths.js";
8
+ import { Icon } from "../../../components/Icon/Icon.js";
9
+ import FormControl from "../../../components/Form/FormControl.js";
10
+ import Input from "../../../components/Input/Input.js";
11
+ import Image from "../../../components/Image/Image.js";
12
+ import EmptyScreen from "../../../components/EmptyScreen/EmptyScreen.js";
13
+ import Button from "../../../components/Button/Button.js";
14
+ const VideoEmbed = ({
15
+ onSuccess
16
+ }) => {
17
+ const {
18
+ t
19
+ } = useTranslation(), {
20
+ switchType
21
+ } = useMediaLibraryContext(), [url, setUrl] = useState(), [embedVideo, setEmbedVideo] = useState(), [embedder, setEmbedder] = useState(void 0), [whiteListProvider, setWhiteListProvider] = useState(), debounceChangeUrl = useDebounce(url || "", 300), formControlId = useId(), [imagePath] = usePaths();
22
+ useEffect(() => {
23
+ initWhiteListProvider();
24
+ }, []), useEffect(() => {
25
+ if (whiteListProvider && debounceChangeUrl) {
26
+ const embedderFound = odeServices.embedder().getProviderFromUrl(whiteListProvider, debounceChangeUrl);
27
+ if (embedderFound) {
28
+ setEmbedder(embedderFound);
29
+ const embedVideo2 = odeServices.embedder().getEmbedCodeForProvider(embedderFound, debounceChangeUrl);
30
+ setEmbedVideo(embedVideo2), onSuccess(embedVideo2);
31
+ } else
32
+ setEmbedder(void 0), onSuccess();
33
+ }
34
+ }, [debounceChangeUrl, whiteListProvider]);
35
+ const initWhiteListProvider = async () => {
36
+ const whiteListProviderResponse = await Promise.all([odeServices.embedder().getDefault(), odeServices.embedder().getCustom()]).then((results) => results.flat());
37
+ setWhiteListProvider(whiteListProviderResponse);
38
+ };
39
+ function handleUrlChange(event) {
40
+ const url2 = event.currentTarget.value;
41
+ setUrl(url2), onSuccess(url2 != null && url2.length ? url2 : void 0);
42
+ }
43
+ function handleSwitchToEmbedderClick() {
44
+ switchType("embedder");
45
+ }
46
+ const renderContent = () => debounceChangeUrl ? embedder ? /* @__PURE__ */ jsxs("div", { className: "mx-auto mt-16", children: [
47
+ /* @__PURE__ */ jsxs("div", { className: "video-embed-provider d-flex align-items-center", children: [
48
+ /* @__PURE__ */ jsx(Image, { src: embedder.logo, alt: "Logo " + embedder.displayName, className: "video-embed-provider-logo" }),
49
+ embedder.displayName
50
+ ] }),
51
+ embedVideo && /* @__PURE__ */ jsx("div", { className: "video-embed-preview mt-12", dangerouslySetInnerHTML: {
52
+ __html: embedVideo
53
+ } })
54
+ ] }) : /* @__PURE__ */ jsxs("div", { className: "d-flex flex-column align-items-center m-16", children: [
55
+ /* @__PURE__ */ jsx(EmptyScreen, { imageSrc: `${imagePath}/emptyscreen/illu-error.svg`, title: t("bbm.video.previewError.title"), text: t("bbm.video.previewError.text") }),
56
+ /* @__PURE__ */ jsxs(Button, { variant: "ghost", color: "primary", onClick: handleSwitchToEmbedderClick, className: "align-items-start mt-16", children: [
57
+ t("bbm.video.useEmbedCode"),
58
+ " ",
59
+ /* @__PURE__ */ jsx(Icon, { name: "arrow-right" })
60
+ ] })
61
+ ] }) : /* @__PURE__ */ jsx("div", { className: "d-flex my-16 align-items-start", children: /* @__PURE__ */ jsxs(Button, { variant: "ghost", color: "primary", onClick: handleSwitchToEmbedderClick, className: "align-items-start", children: [
62
+ t("bbm.video.useEmbedCode"),
63
+ " ",
64
+ /* @__PURE__ */ jsx(Icon, { name: "arrow-right" })
65
+ ] }) });
66
+ return /* @__PURE__ */ jsxs("div", { className: "d-flex flex-column flex-fill video-embed", children: [
67
+ /* @__PURE__ */ jsxs("div", { className: "mb-8 d-flex", children: [
68
+ /* @__PURE__ */ jsx(Icon, { name: "globe", className: "me-8" }),
69
+ t("bbm.video.url.title")
70
+ ] }),
71
+ /* @__PURE__ */ jsx(FormControl, { id: formControlId, children: /* @__PURE__ */ jsx(Input, { size: "md", type: "text", placeholder: t("bbm.video.url.placeholder"), onChange: handleUrlChange }) }),
72
+ /* @__PURE__ */ jsx(Fragment, { children: renderContent() })
73
+ ] });
74
+ };
75
+ export {
76
+ VideoEmbed as default
77
+ };
@@ -0,0 +1 @@
1
+ export { default as VideoEmbed } from './VideoEmbed';
@@ -0,0 +1,14 @@
1
+ import { WorkspaceElement } from 'edifice-ts-client';
2
+ export interface VideoRecorderProps {
3
+ appCode: string;
4
+ caption?: string;
5
+ onSuccess?: (res: WorkspaceElement[]) => void;
6
+ onError: (error: string) => void;
7
+ onRecordUpdated?: (recordURL?: string) => void;
8
+ hideSaveAction?: boolean;
9
+ }
10
+ export interface VideoRecorderRef {
11
+ save: () => Promise<WorkspaceElement | undefined>;
12
+ }
13
+ declare const VideoRecorder: import('react').ForwardRefExoticComponent<VideoRecorderProps & import('react').RefAttributes<unknown>>;
14
+ export default VideoRecorder;
@@ -0,0 +1,259 @@
1
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
+ import { forwardRef, useState, useRef, useImperativeHandle, useEffect, useCallback } from "react";
3
+ import { odeServices } from "edifice-ts-client";
4
+ import { useTranslation } from "react-i18next";
5
+ import useBrowserInfo from "../../../hooks/useBrowserInfo/useBrowserInfo.js";
6
+ import useUpload from "../../../core/useUpload/useUpload.js";
7
+ import { getBestSupportedMimeType } from "../../../utils/video.js";
8
+ import Select from "../../../components/Select/Select.js";
9
+ import Toolbar from "../../../components/Toolbar/Toolbar.js";
10
+ import { Icon } from "../../../components/Icon/Icon.js";
11
+ import FormControl from "../../../components/Form/FormControl.js";
12
+ import Label from "../../../components/Label/Label.js";
13
+ import { convertMsToMS } from "../../../utils/time.js";
14
+ import LoadingScreen from "../../../components/LoadingScreen/LoadingScreen.js";
15
+ const VIDEO_HEIGHT = 9, VIDEO_WIDTH = 16, VideoRecorder = /* @__PURE__ */ forwardRef(({
16
+ appCode,
17
+ caption,
18
+ onSuccess,
19
+ onError,
20
+ onRecordUpdated,
21
+ hideSaveAction = !1
22
+ }, ref) => {
23
+ const [maxDuration, setMaxDuration] = useState(18e4), [inputDevices, setInputDevices] = useState([]), [recording, setRecording] = useState(!1), [recorded, setRecorded] = useState(!1), [playing, setPlaying] = useState(!1), [saving, setSaving] = useState(!1), [saved, setSaved] = useState(!1), [mediaStreamConstraints, setMediaStreamConstraints] = useState({
24
+ audio: !0,
25
+ video: {
26
+ facingMode: "environment",
27
+ aspectRatio: VIDEO_WIDTH / VIDEO_HEIGHT
28
+ }
29
+ }), [stream, setStream] = useState(), [mimeType, setMimeType] = useState(""), [recordedChunks, setRecordedChunks] = useState([]), [recordedVideo, setRecordedVideo] = useState(), [recordedTime, setRecordedTime] = useState(0), [playedTime, setPlayedTime] = useState(0), videoRef = useRef(null), recorderRef = useRef(null), {
30
+ uploadBlob
31
+ } = useUpload(void 0, appCode), {
32
+ device
33
+ } = useBrowserInfo(navigator.userAgent);
34
+ useImperativeHandle(ref, () => ({
35
+ save: handleSave
36
+ }));
37
+ const {
38
+ t
39
+ } = useTranslation();
40
+ useEffect(() => {
41
+ initMaxDuration(), initInputDevices();
42
+ }, []), useEffect(() => (stream || enableStream(mediaStreamConstraints), () => {
43
+ stream && stream.getTracks().forEach((track) => track.stop());
44
+ }), [stream]), useEffect(() => {
45
+ if (recordedChunks.length && !recording && videoRef.current) {
46
+ const finalVideo = new Blob(recordedChunks, {
47
+ type: mimeType
48
+ });
49
+ if (setRecordedVideo(finalVideo), onRecordUpdated) {
50
+ const videoUrl = window.URL.createObjectURL(finalVideo);
51
+ onRecordUpdated(videoUrl);
52
+ }
53
+ videoRef.current.autoplay = !1, videoRef.current.srcObject = null, videoRef.current.src = window.URL.createObjectURL(finalVideo);
54
+ }
55
+ }, [recording, recordedChunks]), useEffect(() => {
56
+ if (recording) {
57
+ const startedAt = Date.now(), timer = window.setInterval(
58
+ // Compute exact elapsed time by diffing the start time.
59
+ () => setRecordedTime(Date.now() - startedAt),
60
+ 500
61
+ );
62
+ return () => {
63
+ window.clearInterval(timer);
64
+ };
65
+ }
66
+ }, [recording]), useEffect(() => {
67
+ if (playing) {
68
+ const timer = window.setInterval(() => setPlayedTime((prev) => prev + 500), 500);
69
+ return () => {
70
+ window.clearInterval(timer);
71
+ };
72
+ }
73
+ }, [playing]);
74
+ const initMaxDuration = async () => {
75
+ const videoConfResponse = await odeServices.video().getVideoConf();
76
+ setMaxDuration((videoConfResponse.maxDuration ?? 3) * 60 * 1e3);
77
+ }, initInputDevices = async () => {
78
+ const videoDevices = (await navigator.mediaDevices.enumerateDevices()).filter((device2) => device2.kind === "videoinput");
79
+ switch (device.type) {
80
+ case "mobile":
81
+ case "tablet": {
82
+ const backCamera = {
83
+ deviceId: "environment",
84
+ label: t("video.back.camera"),
85
+ groupId: "",
86
+ kind: "videoinput"
87
+ }, frontCamera = {
88
+ deviceId: "user",
89
+ label: t("video.front.camera"),
90
+ groupId: "",
91
+ kind: "videoinput"
92
+ };
93
+ (videoDevices == null ? void 0 : videoDevices.length) > 1 ? setInputDevices([backCamera, frontCamera]) : setInputDevices([backCamera]);
94
+ break;
95
+ }
96
+ default:
97
+ setInputDevices(videoDevices);
98
+ break;
99
+ }
100
+ }, enableStream = async (mediaStreamConstraints2) => {
101
+ try {
102
+ const mediaStream = await navigator.mediaDevices.getUserMedia(mediaStreamConstraints2);
103
+ setStream(mediaStream), videoRef.current && (videoRef.current.src && (window.URL.revokeObjectURL(videoRef.current.src), videoRef.current.src = ""), videoRef.current.srcObject = mediaStream, videoRef.current.autoplay = !0, videoRef.current.volume = 1, videoRef.current.muted = !0);
104
+ } catch (err) {
105
+ console.error(err);
106
+ }
107
+ }, handleRecord = useCallback(() => {
108
+ setRecording(!0), videoRef && videoRef.current && (videoRef.current.muted = !0);
109
+ const mimeType2 = getBestSupportedMimeType();
110
+ setMimeType(mimeType2), stream && (recorderRef.current = new MediaRecorder(stream, {
111
+ mimeType: mimeType2
112
+ }), recorderRef.current.ondataavailable = ({
113
+ data
114
+ }) => {
115
+ data.size > 0 && setRecordedChunks((prev) => [...prev, data]);
116
+ }, recorderRef.current.onerror = (event) => console.error(event), recorderRef.current.start(1e3));
117
+ }, [stream]), handleStop = useCallback(() => {
118
+ var _a;
119
+ setRecording(!1), setRecorded(!0), ((_a = recorderRef.current) == null ? void 0 : _a.state) === "recording" && (recorderRef.current.requestData(), recorderRef.current.stop());
120
+ }, [recorderRef]), handlePlayPause = useCallback(() => {
121
+ var _a, _b;
122
+ videoRef && videoRef.current && (videoRef.current.muted = !1), playing ? ((_b = videoRef == null ? void 0 : videoRef.current) == null || _b.pause(), setPlaying(!1)) : ((_a = videoRef == null ? void 0 : videoRef.current) == null || _a.play(), setPlaying(!0));
123
+ }, [playing]), handleReset = () => {
124
+ setRecorded(!1), setRecording(!1), setPlaying(!1), setSaved(!1), setRecordedTime(0), setRecordedChunks([]), setRecordedVideo(void 0), enableStream(mediaStreamConstraints), onRecordUpdated && onRecordUpdated();
125
+ }, handleSave = async () => {
126
+ if (setSaving(!0), !recordedVideo) {
127
+ console.error("Error while saving video: recorded video is undefined.");
128
+ return;
129
+ }
130
+ const resVideo = await uploadBlob(recordedVideo, {
131
+ duration: recordedTime
132
+ });
133
+ if (resVideo != null)
134
+ return onSuccess == null || onSuccess([resVideo]), setSaving(!1), setSaved(!0), [resVideo];
135
+ onError("Error while uploading video"), setSaving(!1), setSaved(!0);
136
+ }, handleEnded = () => {
137
+ setPlaying(!1), setPlayedTime(0), videoRef.current && (videoRef.current.currentTime = 0);
138
+ }, handleInputDeviceChange = (option) => {
139
+ var _a;
140
+ const selectedDevice = inputDevices.find((inputDevice) => inputDevice.label === option);
141
+ let mediaStreamConstraints2 = {};
142
+ selectedDevice != null && selectedDevice.deviceId ? ((selectedDevice == null ? void 0 : selectedDevice.deviceId) === "environment" || (selectedDevice == null ? void 0 : selectedDevice.deviceId) === "user" ? mediaStreamConstraints2 = {
143
+ audio: !0,
144
+ video: {
145
+ aspectRatio: VIDEO_WIDTH / VIDEO_HEIGHT,
146
+ facingMode: selectedDevice == null ? void 0 : selectedDevice.deviceId
147
+ }
148
+ } : mediaStreamConstraints2 = {
149
+ audio: !0,
150
+ video: {
151
+ aspectRatio: VIDEO_WIDTH / VIDEO_HEIGHT,
152
+ deviceId: selectedDevice.deviceId
153
+ }
154
+ }, setMediaStreamConstraints(mediaStreamConstraints2), stream && (((_a = recorderRef.current) == null ? void 0 : _a.state) === "recording" && (recorderRef.current.requestData(), recorderRef.current.stop()), stream.getTracks().forEach((track) => track.stop()), setStream(void 0)), enableStream(mediaStreamConstraints2)) : console.error("Selected input device id is null");
155
+ };
156
+ useEffect(() => {
157
+ recordedTime >= maxDuration && handleStop();
158
+ }, [recordedTime, handleStop]);
159
+ const toolbarItems = [{
160
+ type: "icon",
161
+ name: "record",
162
+ props: {
163
+ icon: /* @__PURE__ */ jsx(Icon, { name: "record", color: recording || recorded ? "" : "red" }),
164
+ color: "danger",
165
+ disabled: recording || recorded || saving,
166
+ onClick: handleRecord,
167
+ "aria-label": t("bbm.video.record.start")
168
+ },
169
+ tooltip: t("bbm.video.record.start")
170
+ }, {
171
+ type: "icon",
172
+ name: "stop",
173
+ props: {
174
+ icon: /* @__PURE__ */ jsx(Icon, { name: "record-stop" }),
175
+ disabled: !recording || recorded || saving,
176
+ onClick: handleStop,
177
+ "aria-label": t("bbm.video.record.stop")
178
+ },
179
+ tooltip: t("bbm.video.record.stop")
180
+ }, {
181
+ type: "icon",
182
+ name: "play",
183
+ visibility: playing ? "hide" : "show",
184
+ props: {
185
+ icon: /* @__PURE__ */ jsx(Icon, { name: "play-filled" }),
186
+ disabled: !recorded || saving,
187
+ onClick: handlePlayPause,
188
+ "aria-label": t("bbm.video.play.start")
189
+ },
190
+ tooltip: t("bbm.video.play.start")
191
+ }, {
192
+ type: "icon",
193
+ name: "pause",
194
+ visibility: playing ? "show" : "hide",
195
+ props: {
196
+ icon: /* @__PURE__ */ jsx(Icon, { name: "pause" }),
197
+ disabled: !recorded || saving,
198
+ onClick: handlePlayPause,
199
+ "aria-label": t("bbm.video.play.pause")
200
+ },
201
+ tooltip: t("bbm.video.play.pause")
202
+ }, {
203
+ type: "divider"
204
+ }, {
205
+ type: "icon",
206
+ name: "reset",
207
+ props: {
208
+ icon: /* @__PURE__ */ jsx(Icon, { name: "refresh" }),
209
+ disabled: !recorded || saving,
210
+ onClick: handleReset,
211
+ "aria-label": t("bbm.video.record.reset")
212
+ },
213
+ tooltip: t("bbm.video.record.reset")
214
+ }, {
215
+ type: "icon",
216
+ name: "save",
217
+ visibility: hideSaveAction ? "hide" : "show",
218
+ props: {
219
+ icon: /* @__PURE__ */ jsx(Icon, { name: "save" }),
220
+ disabled: !recorded || saving || saved,
221
+ onClick: handleSave,
222
+ "aria-label": t("bbm.video.record.save")
223
+ },
224
+ tooltip: t("bbm.video.record.save")
225
+ }];
226
+ return /* @__PURE__ */ jsxs("div", { className: "video-recorder d-flex flex-fill flex-column align-items-center pb-8", children: [
227
+ /* @__PURE__ */ jsx("div", { className: "video-recorder-caption d-none d-md-block", children: caption }),
228
+ inputDevices.length > 1 && /* @__PURE__ */ jsx("div", { className: "video-recorder-devices mb-12", children: /* @__PURE__ */ jsxs(FormControl, { id: "selectInputDevice", children: [
229
+ /* @__PURE__ */ jsx(Label, { className: "d-none d-md-block", children: t("bbm.video.record.select.devices.label") }),
230
+ /* @__PURE__ */ jsx(Select, { placeholderOption: t("bbm.video.record.select.devices.placeholder"), options: inputDevices.map((videoInputDevice) => videoInputDevice.label), onValueChange: handleInputDeviceChange })
231
+ ] }) }),
232
+ /* @__PURE__ */ jsxs("div", { className: "video-recorder-video-container position-relative align-self-stretch", children: [
233
+ /* @__PURE__ */ jsx("video", { ref: videoRef, playsInline: !0, autoPlay: !0, controls: !1, muted: !0, onEnded: handleEnded, className: "rounded", children: /* @__PURE__ */ jsx("track", { default: !0, kind: "captions", srcLang: "fr", src: "" }) }),
234
+ (recording || recorded) && /* @__PURE__ */ jsxs("div", { className: "video-recorder-time d-flex align-items-center font-monospace fs-6 text-bg-dark rounded", children: [
235
+ recording && /* @__PURE__ */ jsxs(Fragment, { children: [
236
+ /* @__PURE__ */ jsx(Icon, { name: "record", size: "12", color: "red", className: "me-4" }),
237
+ /* @__PURE__ */ jsxs("span", { children: [
238
+ convertMsToMS(recordedTime),
239
+ "/",
240
+ convertMsToMS(maxDuration)
241
+ ] })
242
+ ] }),
243
+ recorded && /* @__PURE__ */ jsxs(Fragment, { children: [
244
+ /* @__PURE__ */ jsx(Icon, { name: "record-video", size: "14", className: "me-4" }),
245
+ /* @__PURE__ */ jsxs("span", { children: [
246
+ convertMsToMS(playedTime),
247
+ "/",
248
+ convertMsToMS(recordedTime)
249
+ ] })
250
+ ] })
251
+ ] }),
252
+ stream && /* @__PURE__ */ jsx(Toolbar, { items: toolbarItems, className: "position-absolute bottom-0 start-50 bg-white" })
253
+ ] }),
254
+ saving && /* @__PURE__ */ jsx(LoadingScreen, { position: !1, caption: t("bbm.video.save.loader.caption") })
255
+ ] });
256
+ }), VideoRecorder$1 = VideoRecorder;
257
+ export {
258
+ VideoRecorder$1 as default
259
+ };
@@ -0,0 +1 @@
1
+ export { default as VideoRecorder } from './VideoRecorder';
@@ -0,0 +1,33 @@
1
+ import { Role, WorkspaceElement, WorkspaceSearchFilter } from 'edifice-ts-client';
2
+ /**
3
+ * MediaLibrary component properties
4
+ */
5
+ export interface WorkspaceProps {
6
+ /**
7
+ * Only display media elements having this role[s] (=generic file format).
8
+ * Set to null to display all medias.
9
+ */
10
+ roles: Role | Role[] | null;
11
+ /**
12
+ * If defined, try to auto-select the folder dedicated to this filter.
13
+ */
14
+ defaultFolder?: WorkspaceSearchFilter;
15
+ /**
16
+ * Allow selecting public documents.
17
+ */
18
+ showPublicFolder?: boolean;
19
+ /**
20
+ * Notify parent when media elements are successfully selected.
21
+ */
22
+ onSelect: (result: WorkspaceElement[]) => void;
23
+ /**
24
+ * Boolean to know if we can select 1 or many files.
25
+ */
26
+ multiple?: boolean | undefined;
27
+ /**
28
+ * Optional class for styling purpose
29
+ */
30
+ className?: string;
31
+ }
32
+ declare const Workspace: ({ roles, onSelect, multiple, className, defaultFolder, showPublicFolder, }: WorkspaceProps) => import("react/jsx-runtime").JSX.Element;
33
+ export default Workspace;