@edifice.io/react 2.0.0-develop-rc.8 → 2.0.0-develop-rc.13

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 (879) hide show
  1. package/README.md +88 -17
  2. package/dist/common/OnboardingModal/OnboardingModal.js +59 -0
  3. package/dist/common/OnboardingModal/useOnboardingModal.js +30 -0
  4. package/dist/{modules/modals → common}/PublishModal/PublishModal.d.ts +1 -1
  5. package/dist/common/PublishModal/PublishModal.js +120 -0
  6. package/dist/common/PublishModal/components/ActivitiesDropdown.js +29 -0
  7. package/dist/common/PublishModal/components/AgeSelect.js +20 -0
  8. package/dist/common/PublishModal/components/LangSelect.js +19 -0
  9. package/dist/common/PublishModal/components/PublishModalFooter.js +23 -0
  10. package/dist/common/PublishModal/components/SubjectsDropdown.js +29 -0
  11. package/dist/common/PublishModal/components/ToastError.js +24 -0
  12. package/dist/{modules/modals → common}/PublishModal/components/ToastSuccess.d.ts +1 -1
  13. package/dist/common/PublishModal/components/ToastSuccess.js +18 -0
  14. package/dist/common/PublishModal/constants/ageOptions.js +4 -0
  15. package/dist/{modules/modals → common}/PublishModal/hooks/useActivitiesOptions.js +4 -5
  16. package/dist/common/PublishModal/hooks/useLanguageOptions.js +43 -0
  17. package/dist/{modules/modals → common}/PublishModal/hooks/usePublishModal.d.ts +1 -1
  18. package/dist/common/PublishModal/hooks/usePublishModal.js +106 -0
  19. package/dist/{modules/modals → common}/PublishModal/hooks/useSubjectsOptions.js +41 -42
  20. package/dist/{modules/modals → common}/ResourceModal/ResourceModal.d.ts +3 -3
  21. package/dist/common/ResourceModal/ResourceModal.js +156 -0
  22. package/dist/{modules/modals → common}/ResourceModal/apps/BlogPublic.d.ts +2 -2
  23. package/dist/common/ResourceModal/apps/BlogPublic.js +62 -0
  24. package/dist/{modules/modals → common}/ResourceModal/hooks/useSlug.d.ts +1 -1
  25. package/dist/common/ResourceModal/hooks/useSlug.js +41 -0
  26. package/dist/{modules/modals → common}/ResourceModal/hooks/useThumb.d.ts +1 -1
  27. package/dist/common/ResourceModal/hooks/useThumb.js +17 -0
  28. package/dist/{modules/modals → common}/ResourceModal/hooks/useUpdateMutation.d.ts +3 -3
  29. package/dist/common/ResourceModal/hooks/useUpdateMutation.js +12 -0
  30. package/dist/common/ResourceModal/index.d.ts +3 -0
  31. package/dist/common/ShareModal/ShareBookmark.js +22 -0
  32. package/dist/{modules/modals → common}/ShareModal/ShareBookmarkLine.d.ts +1 -1
  33. package/dist/common/ShareModal/ShareBookmarkLine.js +42 -0
  34. package/dist/{modules/modals → common}/ShareModal/ShareModal.d.ts +2 -2
  35. package/dist/common/ShareModal/ShareModal.js +128 -0
  36. package/dist/common/ShareModal/apps/ShareBlog.d.ts +8 -0
  37. package/dist/common/ShareModal/apps/ShareBlog.js +43 -0
  38. package/dist/{modules/modals → common}/ShareModal/hooks/useSearch.d.ts +2 -2
  39. package/dist/common/ShareModal/hooks/useSearch.js +178 -0
  40. package/dist/{modules/modals → common}/ShareModal/hooks/useShare.d.ts +1 -1
  41. package/dist/common/ShareModal/hooks/useShare.js +192 -0
  42. package/dist/{modules/modals → common}/ShareModal/hooks/useShareBookmark.d.ts +1 -1
  43. package/dist/common/ShareModal/hooks/useShareBookmark.js +67 -0
  44. package/dist/{modules/modals → common}/ShareModal/hooks/useShareMutation.d.ts +3 -3
  45. package/dist/common/ShareModal/hooks/useShareMutation.js +15 -0
  46. package/dist/common/ShareModal/index.d.ts +3 -0
  47. package/dist/{modules/modals → common}/ShareModal/utils/hasRight.d.ts +1 -1
  48. package/dist/common/ShareModal/utils/hasRight.js +4 -0
  49. package/dist/{modules/modals → common}/ShareModal/utils/showShareRightLine.d.ts +1 -1
  50. package/dist/common/ShareModal/utils/showShareRightLine.js +4 -0
  51. package/dist/components/ActionBar/ActionBar.d.ts +1 -1
  52. package/dist/components/ActionBar/ActionBar.js +6 -8
  53. package/dist/components/ActionBar/index.d.ts +1 -0
  54. package/dist/components/Alert/Alert.d.ts +1 -1
  55. package/dist/components/Alert/Alert.js +60 -62
  56. package/dist/components/Alert/index.d.ts +1 -0
  57. package/dist/components/AppHeader/AppHeader.d.ts +1 -1
  58. package/dist/components/AppHeader/AppHeader.js +18 -20
  59. package/dist/components/AppHeader/index.d.ts +1 -0
  60. package/dist/components/AppIcon/AppIcon.d.ts +1 -1
  61. package/dist/components/AppIcon/AppIcon.js +44 -45
  62. package/dist/components/Attachment/Attachment.d.ts +1 -1
  63. package/dist/components/Attachment/Attachment.js +13 -15
  64. package/dist/components/Attachment/index.d.ts +1 -0
  65. package/dist/{modules/audience → components/Audience}/ReactionChoice.d.ts +1 -1
  66. package/dist/components/Audience/ReactionChoice.js +33 -0
  67. package/dist/{modules/audience → components/Audience}/ReactionModal.Card.d.ts +1 -1
  68. package/dist/components/Audience/ReactionModal.Card.js +33 -0
  69. package/dist/{modules/audience → components/Audience}/ReactionModal.d.ts +1 -1
  70. package/dist/components/Audience/ReactionModal.js +73 -0
  71. package/dist/{modules/audience → components/Audience}/ReactionSummary.d.ts +1 -1
  72. package/dist/components/Audience/ReactionSummary.js +27 -0
  73. package/dist/{modules/audience → components/Audience}/ViewsByProfileCard.d.ts +1 -1
  74. package/dist/components/Audience/ViewsByProfileCard.js +36 -0
  75. package/dist/components/Audience/ViewsCounter.js +18 -0
  76. package/dist/{modules/audience → components/Audience}/ViewsModal.d.ts +1 -1
  77. package/dist/components/Audience/ViewsModal.js +40 -0
  78. package/dist/{modules/audience → components/Audience}/hooks/useReactionIcons.d.ts +1 -1
  79. package/dist/components/Audience/hooks/useReactionIcons.js +38 -0
  80. package/dist/{modules/audience → components/Audience}/hooks/useReactions.d.ts +3 -3
  81. package/dist/components/Audience/hooks/useReactions.js +35 -0
  82. package/dist/{modules/audience → components/Audience}/hooks/useViews.d.ts +2 -2
  83. package/dist/components/Avatar/Avatar.d.ts +1 -1
  84. package/dist/components/Avatar/Avatar.js +27 -29
  85. package/dist/components/Avatar/index.d.ts +1 -0
  86. package/dist/components/Badge/Badge.d.ts +1 -1
  87. package/dist/components/Badge/Badge.js +20 -22
  88. package/dist/components/Badge/index.d.ts +1 -0
  89. package/dist/components/Breadcrumb/Breadcrumb.d.ts +1 -1
  90. package/dist/components/Breadcrumb/Breadcrumb.js +23 -24
  91. package/dist/components/Breadcrumb/BreadcrumbItem.js +11 -12
  92. package/dist/components/Breadcrumb/BreadcrumbList.js +10 -11
  93. package/dist/components/Breadcrumb/BreadcrumbNav.d.ts +1 -1
  94. package/dist/components/Breadcrumb/BreadcrumbNav.js +15 -16
  95. package/dist/components/Button/Button.d.ts +1 -1
  96. package/dist/components/Button/Button.js +32 -34
  97. package/dist/components/Button/IconButton.d.ts +1 -1
  98. package/dist/components/Button/IconButton.js +15 -17
  99. package/dist/components/Button/SearchButton.d.ts +1 -1
  100. package/dist/components/Button/SearchButton.js +15 -17
  101. package/dist/components/Button/index.d.ts +3 -0
  102. package/dist/components/Card/Card.d.ts +4 -4
  103. package/dist/components/Card/Card.js +47 -49
  104. package/dist/components/Card/CardBody.d.ts +1 -1
  105. package/dist/components/Card/CardBody.js +13 -14
  106. package/dist/components/Card/CardContext.d.ts +1 -1
  107. package/dist/components/Card/CardContext.js +7 -8
  108. package/dist/components/Card/CardFooter.js +5 -6
  109. package/dist/components/Card/CardHeader.js +14 -15
  110. package/dist/components/Card/CardImage.d.ts +1 -1
  111. package/dist/components/Card/CardImage.js +13 -14
  112. package/dist/components/Card/CardText.js +8 -9
  113. package/dist/components/Card/CardTitle.js +8 -9
  114. package/dist/components/Card/CardUser.js +8 -9
  115. package/dist/components/Card/index.d.ts +1 -0
  116. package/dist/components/Checkbox/Checkbox.d.ts +1 -1
  117. package/dist/components/Checkbox/Checkbox.js +30 -32
  118. package/dist/components/Checkbox/index.d.ts +1 -0
  119. package/dist/components/ColorPicker/ColorPalette.js +4 -5
  120. package/dist/components/ColorPicker/ColorPicker.d.ts +1 -1
  121. package/dist/components/ColorPicker/ColorPicker.js +28 -30
  122. package/dist/components/ColorPicker/ColorPickerItem.d.ts +1 -1
  123. package/dist/components/ColorPicker/ColorPickerItem.js +11 -13
  124. package/dist/components/ColorPicker/index.d.ts +3 -1
  125. package/dist/components/Combobox/Combobox.d.ts +1 -1
  126. package/dist/components/Combobox/Combobox.js +35 -36
  127. package/dist/components/Combobox/ComboboxTrigger.js +21 -22
  128. package/dist/components/Combobox/index.d.ts +1 -0
  129. package/dist/components/Dropdown/Dropdown.d.ts +1 -1
  130. package/dist/components/Dropdown/Dropdown.js +55 -57
  131. package/dist/components/Dropdown/DropdownCheckboxItem.js +26 -27
  132. package/dist/components/Dropdown/DropdownContext.js +7 -8
  133. package/dist/components/Dropdown/DropdownItem.js +27 -28
  134. package/dist/components/Dropdown/DropdownMenu.js +21 -22
  135. package/dist/components/Dropdown/DropdownMenuGroup.js +9 -10
  136. package/dist/components/Dropdown/DropdownRadioItem.js +26 -27
  137. package/dist/components/Dropdown/DropdownSeparator.js +3 -4
  138. package/dist/components/Dropdown/DropdownTrigger.js +28 -29
  139. package/dist/components/Dropdown/index.d.ts +1 -0
  140. package/dist/components/Dropzone/Dropzone.d.ts +1 -1
  141. package/dist/components/Dropzone/Dropzone.js +47 -48
  142. package/dist/components/Dropzone/DropzoneContext.js +8 -9
  143. package/dist/components/Dropzone/DropzoneDrag.js +7 -8
  144. package/dist/components/Dropzone/DropzoneFile.js +25 -26
  145. package/dist/components/Dropzone/DropzoneImport.js +20 -21
  146. package/dist/components/Dropzone/index.d.ts +1 -0
  147. package/dist/components/EmptyScreen/EmptyScreen.d.ts +1 -1
  148. package/dist/components/EmptyScreen/EmptyScreen.js +16 -18
  149. package/dist/components/EmptyScreen/index.d.ts +1 -0
  150. package/dist/components/FileCard/FileCard.d.ts +2 -2
  151. package/dist/components/FileCard/FileCard.js +37 -39
  152. package/dist/components/FileCard/FileIcon.d.ts +1 -1
  153. package/dist/components/FileCard/FileIcon.js +11 -12
  154. package/dist/components/FileCard/index.d.ts +1 -0
  155. package/dist/components/Form/FormContext.js +7 -8
  156. package/dist/components/Form/FormControl.d.ts +1 -1
  157. package/dist/components/Form/FormControl.js +30 -32
  158. package/dist/components/Form/FormText.d.ts +1 -1
  159. package/dist/components/Form/FormText.js +12 -14
  160. package/dist/components/Form/index.d.ts +2 -1
  161. package/dist/components/Grid/Grid.js +27 -28
  162. package/dist/components/Heading/Heading.d.ts +1 -1
  163. package/dist/components/Heading/Heading.js +14 -16
  164. package/dist/components/Heading/index.d.ts +1 -0
  165. package/dist/components/Image/Image.d.ts +1 -1
  166. package/dist/components/Image/Image.js +39 -41
  167. package/dist/components/Image/index.d.ts +1 -0
  168. package/dist/components/ImagePicker/ImagePicker.d.ts +1 -1
  169. package/dist/components/ImagePicker/ImagePicker.js +51 -52
  170. package/dist/components/Input/Input.d.ts +1 -1
  171. package/dist/components/Input/Input.js +28 -30
  172. package/dist/components/Input/index.d.ts +1 -0
  173. package/dist/components/Label/Label.d.ts +1 -1
  174. package/dist/components/Label/Label.js +30 -32
  175. package/dist/components/Label/index.d.ts +1 -0
  176. package/dist/components/Loading/Loading.d.ts +1 -1
  177. package/dist/components/Loading/Loading.js +23 -25
  178. package/dist/components/Loading/index.d.ts +1 -0
  179. package/dist/components/LoadingScreen/LoadingScreen.d.ts +1 -1
  180. package/dist/components/LoadingScreen/LoadingScreen.js +20 -22
  181. package/dist/components/LoadingScreen/index.d.ts +1 -1
  182. package/dist/components/Logo/Logo.d.ts +1 -1
  183. package/dist/components/Logo/Logo.js +12 -14
  184. package/dist/components/Logo/index.d.ts +1 -0
  185. package/dist/components/Menu/Menu.js +39 -40
  186. package/dist/components/Menu/MenuButton.js +17 -18
  187. package/dist/components/Menu/MenuContext.js +8 -9
  188. package/dist/components/Menu/MenuItem.js +14 -15
  189. package/dist/components/Modal/Modal.d.ts +4 -1
  190. package/dist/components/Modal/Modal.js +49 -51
  191. package/dist/components/Modal/ModalBody.js +11 -12
  192. package/dist/components/Modal/ModalContext.js +8 -9
  193. package/dist/components/Modal/ModalFooter.js +3 -4
  194. package/dist/components/Modal/ModalHeader.js +22 -23
  195. package/dist/components/Modal/ModalSubtitle.js +3 -4
  196. package/dist/components/Modal/index.d.ts +1 -0
  197. package/dist/components/Popover/Popover.js +33 -34
  198. package/dist/components/Radio/Radio.d.ts +1 -1
  199. package/dist/components/Radio/Radio.js +26 -28
  200. package/dist/components/Radio/index.d.ts +1 -0
  201. package/dist/components/SearchBar/SearchBar.d.ts +1 -1
  202. package/dist/components/SearchBar/SearchBar.js +29 -31
  203. package/dist/components/SearchBar/index.d.ts +1 -0
  204. package/dist/components/Select/Select.d.ts +1 -1
  205. package/dist/components/Select/Select.js +31 -33
  206. package/dist/components/Select/SelectTrigger.js +4 -5
  207. package/dist/components/Select/index.d.ts +1 -0
  208. package/dist/components/Table/Table.components.d.ts +20 -0
  209. package/dist/components/Table/Table.components.js +39 -0
  210. package/dist/components/Table/Table.d.ts +33 -0
  211. package/dist/components/Table/Table.js +16 -0
  212. package/dist/components/Table/TableExplorer.d.ts +1 -1
  213. package/dist/components/Table/index.d.ts +2 -1
  214. package/dist/components/Tabs/Tabs.d.ts +1 -1
  215. package/dist/components/Tabs/Tabs.js +58 -59
  216. package/dist/components/Tabs/TabsContext.js +8 -9
  217. package/dist/components/Tabs/TabsItem.js +20 -21
  218. package/dist/components/Tabs/TabsList.js +18 -19
  219. package/dist/components/Tabs/TabsPanel.js +9 -10
  220. package/dist/components/Tabs/index.d.ts +1 -0
  221. package/dist/components/TextArea/TextArea.d.ts +1 -1
  222. package/dist/components/TextArea/TextArea.js +31 -33
  223. package/dist/components/TextArea/TextareaCounter.js +6 -7
  224. package/dist/components/TextArea/index.d.ts +1 -0
  225. package/dist/components/Toolbar/Toolbar.d.ts +1 -1
  226. package/dist/components/Toolbar/Toolbar.js +60 -62
  227. package/dist/components/Toolbar/index.d.ts +1 -0
  228. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  229. package/dist/components/Tooltip/Tooltip.js +28 -30
  230. package/dist/components/Tooltip/index.d.ts +1 -0
  231. package/dist/components/TreeView/TreeItem.js +46 -47
  232. package/dist/components/TreeView/TreeView.d.ts +1 -1
  233. package/dist/components/TreeView/TreeView.js +33 -35
  234. package/dist/components/TreeView/hooks/useTreeItemEvents.js +18 -19
  235. package/dist/components/TreeView/index.d.ts +1 -0
  236. package/dist/components/UploadCard/UploadCard.js +52 -53
  237. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
  238. package/dist/components/VisuallyHidden/VisuallyHidden.js +6 -8
  239. package/dist/components/VisuallyHidden/index.d.ts +1 -1
  240. package/dist/components/index.d.ts +1 -1
  241. package/dist/core/OdeClientProvider/OdeClientProvider.d.ts +1 -1
  242. package/dist/core/OdeClientProvider/OdeClientProvider.js +44 -45
  243. package/dist/core/ThemeProvider/ThemeProvider.d.ts +1 -1
  244. package/dist/core/ThemeProvider/ThemeProvider.js +36 -36
  245. package/dist/core/index.d.ts +1 -0
  246. package/dist/core/useAvatar/useAvatar.d.ts +1 -1
  247. package/dist/core/useAvatar/useAvatar.js +21 -22
  248. package/dist/core/useBookmark/useBookmark.d.ts +1 -1
  249. package/dist/core/useBookmark/useBookmark.js +9 -10
  250. package/dist/core/useCantoo/index.d.ts +1 -0
  251. package/dist/core/useCantoo/useCantoo.d.ts +1 -0
  252. package/dist/core/useCantoo/useCantoo.js +18 -0
  253. package/dist/core/useConf/useConf.d.ts +1 -1
  254. package/dist/core/useConf/useConf.js +7 -8
  255. package/dist/core/useConversation/useConversation.js +29 -30
  256. package/dist/core/useCookiesConsent/useCookiesConsent.js +16 -17
  257. package/dist/core/useDate/useDate.js +35 -36
  258. package/dist/core/useHasWorkflow/useHasWorkflow.js +15 -16
  259. package/dist/core/useHeader/useHeader.d.ts +1 -1
  260. package/dist/core/useHeader/useHeader.js +45 -42
  261. package/dist/core/useHttpErrorToast/useHttpErrorToast.js +17 -18
  262. package/dist/core/useIsAdml/useIsAdml.js +11 -12
  263. package/dist/core/useLibraryUrl/useLibraryUrl.js +16 -17
  264. package/dist/core/useMediaLibrary/useMediaLibrary.d.ts +2 -2
  265. package/dist/core/useMediaLibrary/useMediaLibrary.js +32 -33
  266. package/dist/core/useOdeIcons/useOdeIcons.d.ts +1 -1
  267. package/dist/core/useOdeIcons/useOdeIcons.js +37 -38
  268. package/dist/core/usePaths/usePaths.js +2 -3
  269. package/dist/core/usePreferences/usePreferences.js +5 -6
  270. package/dist/core/useResource/useResource.d.ts +1 -1
  271. package/dist/core/useResource/useResource.js +14 -15
  272. package/dist/core/useResourceSearch/useResourceSearch.d.ts +1 -1
  273. package/dist/core/useResourceSearch/useResourceSearch.js +22 -23
  274. package/dist/core/useSession/useSession.js +6 -7
  275. package/dist/core/useTrashedResource/useTrashedResource.js +18 -19
  276. package/dist/core/useUpload/useUpload.d.ts +1 -1
  277. package/dist/core/useUpload/useUpload.js +68 -69
  278. package/dist/core/useUploadFiles/useUploadFiles.d.ts +1 -1
  279. package/dist/core/useUploadFiles/useUploadFiles.js +82 -83
  280. package/dist/core/useUser/useUser.d.ts +1 -1
  281. package/dist/core/useUser/useUser.js +15 -16
  282. package/dist/core/useWorkspaceFile/useWorkspaceFile.d.ts +1 -1
  283. package/dist/core/useWorkspaceFile/useWorkspaceFile.js +31 -32
  284. package/dist/core/useWorkspaceSearch/useWorkspaceSearch.d.ts +1 -1
  285. package/dist/core/useWorkspaceSearch/useWorkspaceSearch.js +41 -42
  286. package/dist/core/useXitiTrackPageLoad/useXitiTrackPageLoad.js +17 -18
  287. package/dist/core/useZendeskGuide/useZendeskGuide.js +46 -47
  288. package/dist/hooks/useBrowserInfo/useBrowserInfo.js +11 -12
  289. package/dist/hooks/useClickOutside/useClickOutside.js +18 -19
  290. package/dist/hooks/useDebounce/useDebounce.js +10 -11
  291. package/dist/hooks/useDropdown/useDropdown.d.ts +1 -1
  292. package/dist/hooks/useDropdown/useDropdown.js +96 -97
  293. package/dist/hooks/useDropzone/useDropzone.js +53 -54
  294. package/dist/hooks/useHover/useHover.js +14 -15
  295. package/dist/hooks/useImage/useImage.js +13 -14
  296. package/dist/hooks/useImageResizer/useImageResizer.js +31 -32
  297. package/dist/hooks/useKeyPress/useKeyPress.js +10 -11
  298. package/dist/hooks/useScrollToTop/useScrollToTop.js +4 -5
  299. package/dist/hooks/useThumbnail/useThumbnail.js +21 -22
  300. package/dist/hooks/useTitle/useTitle.js +7 -8
  301. package/dist/hooks/useToast/useToast.js +25 -26
  302. package/dist/hooks/useToggle/useToggle.js +6 -7
  303. package/dist/hooks/useTrapFocus/useTrapFocus.js +11 -12
  304. package/dist/index.d.ts +3 -1
  305. package/dist/index.js +274 -226
  306. package/dist/{modules/multimedia → multimedia}/AudioRecorder/AudioRecorder.d.ts +1 -1
  307. package/dist/multimedia/AudioRecorder/AudioRecorder.js +49 -0
  308. package/dist/multimedia/AudioRecorder/AudioRecorderTimer.js +24 -0
  309. package/dist/{modules/multimedia → multimedia}/AudioRecorder/useAudioRecorder.d.ts +2 -2
  310. package/dist/multimedia/AudioRecorder/useAudioRecorder.js +307 -0
  311. package/dist/multimedia/Embed/Embed.js +32 -0
  312. package/dist/multimedia/ImageEditor/components/ImageEditor.js +116 -0
  313. package/dist/multimedia/ImageEditor/components/ImageEditorToolbar.js +69 -0
  314. package/dist/multimedia/ImageEditor/effects/blur.js +72 -0
  315. package/dist/multimedia/ImageEditor/effects/crop.js +155 -0
  316. package/dist/multimedia/ImageEditor/effects/misc.js +162 -0
  317. package/dist/multimedia/ImageEditor/effects/resize.js +157 -0
  318. package/dist/multimedia/ImageEditor/effects/rotate.js +33 -0
  319. package/dist/multimedia/ImageEditor/hooks/useHistoryTool.js +66 -0
  320. package/dist/multimedia/ImageEditor/hooks/useImageEditor.js +76 -0
  321. package/dist/multimedia/ImageEditor/hooks/useImageEffects.js +52 -0
  322. package/dist/multimedia/ImageEditor/utils/aggregate.js +13 -0
  323. package/dist/{modules/multimedia → multimedia}/ImagePickerWorkspace/ImagePickerWorkspace.d.ts +1 -1
  324. package/dist/multimedia/ImagePickerWorkspace/ImagePickerWorkspace.js +39 -0
  325. package/dist/multimedia/Linker/ExternalLinker.js +45 -0
  326. package/dist/{modules/multimedia → multimedia}/Linker/InternalLinker.d.ts +1 -1
  327. package/dist/multimedia/Linker/InternalLinker.js +114 -0
  328. package/dist/{modules/multimedia → multimedia}/LinkerCard/LinkerCard.d.ts +3 -3
  329. package/dist/multimedia/LinkerCard/LinkerCard.js +38 -0
  330. package/dist/multimedia/LinkerCard/index.d.ts +2 -0
  331. package/dist/{modules/multimedia → multimedia}/MediaLibrary/MediaLibrary.d.ts +2 -2
  332. package/dist/multimedia/MediaLibrary/MediaLibrary.js +211 -0
  333. package/dist/{modules/multimedia → multimedia}/MediaLibrary/MediaLibraryContext.d.ts +2 -2
  334. package/dist/multimedia/MediaLibrary/MediaLibraryContext.js +12 -0
  335. package/dist/multimedia/MediaLibrary/innertabs/Audio.js +19 -0
  336. package/dist/multimedia/MediaLibrary/innertabs/ExternalLink.js +17 -0
  337. package/dist/multimedia/MediaLibrary/innertabs/Iframe.js +14 -0
  338. package/dist/{modules/multimedia → multimedia}/MediaLibrary/innertabs/InternalLink.d.ts +1 -1
  339. package/dist/multimedia/MediaLibrary/innertabs/InternalLink.js +35 -0
  340. package/dist/multimedia/MediaLibrary/innertabs/Upload.js +34 -0
  341. package/dist/multimedia/MediaLibrary/innertabs/Video.js +22 -0
  342. package/dist/multimedia/MediaLibrary/innertabs/VideoEmbedder.js +14 -0
  343. package/dist/multimedia/MediaLibrary/innertabs/Workspace.js +31 -0
  344. package/dist/multimedia/MediaLibrary/innertabs/index.js +21 -0
  345. package/dist/{modules/multimedia → multimedia}/UploadFiles/UploadFiles.d.ts +1 -1
  346. package/dist/multimedia/UploadFiles/UploadFiles.js +56 -0
  347. package/dist/multimedia/VideoEmbed/VideoEmbed.js +77 -0
  348. package/dist/{modules/multimedia → multimedia}/VideoRecorder/VideoRecorder.d.ts +1 -1
  349. package/dist/multimedia/VideoRecorder/VideoRecorder.js +259 -0
  350. package/dist/{modules/multimedia → multimedia}/Workspace/Workspace.d.ts +1 -1
  351. package/dist/multimedia/Workspace/Workspace.js +169 -0
  352. package/dist/portal/Header/Badge.js +5 -6
  353. package/dist/portal/Header/Header.js +138 -138
  354. package/dist/portal/Header/NavItem.js +11 -12
  355. package/dist/portal/Header/NavLink.js +14 -15
  356. package/dist/portal/Header/Navbar.js +9 -10
  357. package/dist/portal/Header/NavbarNav.js +9 -10
  358. package/dist/portal/Header/WidgetApps.d.ts +1 -1
  359. package/dist/portal/Header/WidgetApps.js +16 -17
  360. package/dist/portal/Help/Help.js +18 -19
  361. package/dist/portal/Help/hooks/useHelp.js +63 -64
  362. package/dist/portal/Layout/Layout.js +36 -36
  363. package/dist/portal/SearchEngine/SearchEngine.js +25 -26
  364. package/dist/utils/MockedDataProvider/MockedDataProvider.d.ts +1 -1
  365. package/dist/utils/MockedDataProvider/MockedDataProvider.js +21 -22
  366. package/dist/utils/StringUtils.js +8 -9
  367. package/dist/utils/addTimestampToUrl.js +4 -5
  368. package/dist/utils/blob.js +9 -10
  369. package/dist/utils/checkUserRight.d.ts +1 -1
  370. package/dist/utils/checkUserRight.js +27 -28
  371. package/dist/utils/fileSize.js +5 -6
  372. package/dist/utils/findTreeNode.js +7 -8
  373. package/dist/utils/isActionAvailable.d.ts +1 -1
  374. package/dist/utils/isActionAvailable.js +4 -5
  375. package/dist/utils/libraryMaps.js +2 -3
  376. package/dist/utils/noop.js +2 -3
  377. package/dist/utils/ref.js +8 -9
  378. package/dist/utils/thumbnail.js +3 -4
  379. package/dist/utils/time.js +7 -8
  380. package/dist/utils/treeview.d.ts +1 -1
  381. package/dist/utils/treeview.js +96 -97
  382. package/dist/utils/video.js +2 -3
  383. package/dist/widgets/BookmarkedApps/BookmarkedApps.d.ts +1 -1
  384. package/dist/widgets/BookmarkedApps/BookmarkedApps.js +6 -7
  385. package/dist/widgets/Widget/Widget.js +18 -19
  386. package/package.json +27 -58
  387. package/dist/audience.js +0 -17
  388. package/dist/audience.js.map +0 -1
  389. package/dist/components/ActionBar/ActionBar.js.map +0 -1
  390. package/dist/components/Alert/Alert.js.map +0 -1
  391. package/dist/components/AppHeader/AppHeader.js.map +0 -1
  392. package/dist/components/AppIcon/AppIcon.js.map +0 -1
  393. package/dist/components/Attachment/Attachment.js.map +0 -1
  394. package/dist/components/Avatar/Avatar.js.map +0 -1
  395. package/dist/components/Badge/Badge.js.map +0 -1
  396. package/dist/components/Breadcrumb/Breadcrumb.js.map +0 -1
  397. package/dist/components/Breadcrumb/BreadcrumbItem.js.map +0 -1
  398. package/dist/components/Breadcrumb/BreadcrumbList.js.map +0 -1
  399. package/dist/components/Breadcrumb/BreadcrumbNav.js.map +0 -1
  400. package/dist/components/Button/Button.js.map +0 -1
  401. package/dist/components/Button/IconButton.js.map +0 -1
  402. package/dist/components/Button/SearchButton.js.map +0 -1
  403. package/dist/components/Card/Card.js.map +0 -1
  404. package/dist/components/Card/CardBody.js.map +0 -1
  405. package/dist/components/Card/CardContext.js.map +0 -1
  406. package/dist/components/Card/CardFooter.js.map +0 -1
  407. package/dist/components/Card/CardHeader.js.map +0 -1
  408. package/dist/components/Card/CardImage.js.map +0 -1
  409. package/dist/components/Card/CardText.js.map +0 -1
  410. package/dist/components/Card/CardTitle.js.map +0 -1
  411. package/dist/components/Card/CardUser.js.map +0 -1
  412. package/dist/components/Checkbox/Checkbox.js.map +0 -1
  413. package/dist/components/ColorPicker/ColorPalette.js.map +0 -1
  414. package/dist/components/ColorPicker/ColorPicker.js.map +0 -1
  415. package/dist/components/ColorPicker/ColorPickerItem.js.map +0 -1
  416. package/dist/components/Combobox/Combobox.js.map +0 -1
  417. package/dist/components/Combobox/ComboboxTrigger.js.map +0 -1
  418. package/dist/components/Dropdown/Dropdown.js.map +0 -1
  419. package/dist/components/Dropdown/DropdownCheckboxItem.js.map +0 -1
  420. package/dist/components/Dropdown/DropdownContext.js.map +0 -1
  421. package/dist/components/Dropdown/DropdownItem.js.map +0 -1
  422. package/dist/components/Dropdown/DropdownMenu.js.map +0 -1
  423. package/dist/components/Dropdown/DropdownMenuGroup.js.map +0 -1
  424. package/dist/components/Dropdown/DropdownRadioItem.js.map +0 -1
  425. package/dist/components/Dropdown/DropdownSeparator.js.map +0 -1
  426. package/dist/components/Dropdown/DropdownTrigger.js.map +0 -1
  427. package/dist/components/Dropzone/Dropzone.js.map +0 -1
  428. package/dist/components/Dropzone/DropzoneContext.js.map +0 -1
  429. package/dist/components/Dropzone/DropzoneDrag.js.map +0 -1
  430. package/dist/components/Dropzone/DropzoneFile.js.map +0 -1
  431. package/dist/components/Dropzone/DropzoneImport.js.map +0 -1
  432. package/dist/components/EmptyScreen/EmptyScreen.js.map +0 -1
  433. package/dist/components/FileCard/FileCard.js.map +0 -1
  434. package/dist/components/FileCard/FileIcon.js.map +0 -1
  435. package/dist/components/Form/FormContext.js.map +0 -1
  436. package/dist/components/Form/FormControl.js.map +0 -1
  437. package/dist/components/Form/FormText.js.map +0 -1
  438. package/dist/components/Grid/Grid.js.map +0 -1
  439. package/dist/components/Heading/Heading.js.map +0 -1
  440. package/dist/components/Icon/Icon.d.ts +0 -17
  441. package/dist/components/Icon/Icon.js +0 -11
  442. package/dist/components/Icon/Icon.js.map +0 -1
  443. package/dist/components/Icon/index.d.ts +0 -1
  444. package/dist/components/Image/Image.js.map +0 -1
  445. package/dist/components/ImagePicker/ImagePicker.js.map +0 -1
  446. package/dist/components/Input/Input.js.map +0 -1
  447. package/dist/components/Label/Label.js.map +0 -1
  448. package/dist/components/Loading/Loading.js.map +0 -1
  449. package/dist/components/LoadingScreen/LoadingScreen.js.map +0 -1
  450. package/dist/components/Logo/Logo.js.map +0 -1
  451. package/dist/components/Menu/Menu.js.map +0 -1
  452. package/dist/components/Menu/MenuButton.js.map +0 -1
  453. package/dist/components/Menu/MenuContext.js.map +0 -1
  454. package/dist/components/Menu/MenuItem.js.map +0 -1
  455. package/dist/components/Modal/Modal.js.map +0 -1
  456. package/dist/components/Modal/ModalBody.js.map +0 -1
  457. package/dist/components/Modal/ModalContext.js.map +0 -1
  458. package/dist/components/Modal/ModalFooter.js.map +0 -1
  459. package/dist/components/Modal/ModalHeader.js.map +0 -1
  460. package/dist/components/Modal/ModalSubtitle.js.map +0 -1
  461. package/dist/components/Popover/Popover.js.map +0 -1
  462. package/dist/components/Radio/Radio.js.map +0 -1
  463. package/dist/components/SearchBar/SearchBar.js.map +0 -1
  464. package/dist/components/Select/Select.js.map +0 -1
  465. package/dist/components/Select/SelectTrigger.js.map +0 -1
  466. package/dist/components/Table/TableExplorer.js +0 -10
  467. package/dist/components/Table/TableExplorer.js.map +0 -1
  468. package/dist/components/Tabs/Tabs.js.map +0 -1
  469. package/dist/components/Tabs/TabsContext.js.map +0 -1
  470. package/dist/components/Tabs/TabsItem.js.map +0 -1
  471. package/dist/components/Tabs/TabsList.js.map +0 -1
  472. package/dist/components/Tabs/TabsPanel.js.map +0 -1
  473. package/dist/components/TextArea/TextArea.js.map +0 -1
  474. package/dist/components/TextArea/TextareaCounter.js.map +0 -1
  475. package/dist/components/Toolbar/Toolbar.js.map +0 -1
  476. package/dist/components/Tooltip/Tooltip.js.map +0 -1
  477. package/dist/components/TreeView/TreeItem.js.map +0 -1
  478. package/dist/components/TreeView/TreeView.js.map +0 -1
  479. package/dist/components/TreeView/hooks/useTreeItemEvents.js.map +0 -1
  480. package/dist/components/UploadCard/UploadCard.js.map +0 -1
  481. package/dist/components/VisuallyHidden/VisuallyHidden.js.map +0 -1
  482. package/dist/core/OdeClientProvider/OdeClientProvider.js.map +0 -1
  483. package/dist/core/ThemeProvider/ThemeProvider.js.map +0 -1
  484. package/dist/core/useAvatar/useAvatar.js.map +0 -1
  485. package/dist/core/useBookmark/useBookmark.js.map +0 -1
  486. package/dist/core/useConf/useConf.js.map +0 -1
  487. package/dist/core/useConversation/useConversation.js.map +0 -1
  488. package/dist/core/useCookiesConsent/useCookiesConsent.js.map +0 -1
  489. package/dist/core/useDate/useDate.js.map +0 -1
  490. package/dist/core/useHasWorkflow/useHasWorkflow.js.map +0 -1
  491. package/dist/core/useHeader/useHeader.js.map +0 -1
  492. package/dist/core/useHttpErrorToast/useHttpErrorToast.js.map +0 -1
  493. package/dist/core/useIsAdml/useIsAdml.js.map +0 -1
  494. package/dist/core/useLibraryUrl/useLibraryUrl.js.map +0 -1
  495. package/dist/core/useMediaLibrary/useMediaLibrary.js.map +0 -1
  496. package/dist/core/useOdeIcons/useOdeIcons.js.map +0 -1
  497. package/dist/core/usePaths/usePaths.js.map +0 -1
  498. package/dist/core/usePreferences/usePreferences.js.map +0 -1
  499. package/dist/core/useResource/useResource.js.map +0 -1
  500. package/dist/core/useResourceSearch/useResourceSearch.js.map +0 -1
  501. package/dist/core/useSession/useSession.js.map +0 -1
  502. package/dist/core/useTrashedResource/useTrashedResource.js.map +0 -1
  503. package/dist/core/useUpload/useUpload.js.map +0 -1
  504. package/dist/core/useUploadFiles/useUploadFiles.js.map +0 -1
  505. package/dist/core/useUser/useUser.js.map +0 -1
  506. package/dist/core/useWorkspaceFile/useWorkspaceFile.js.map +0 -1
  507. package/dist/core/useWorkspaceSearch/useWorkspaceSearch.js.map +0 -1
  508. package/dist/core/useXitiTrackPageLoad/useXitiTrackPageLoad.js.map +0 -1
  509. package/dist/core/useZendeskGuide/useZendeskGuide.js.map +0 -1
  510. package/dist/editor.js +0 -59
  511. package/dist/editor.js.map +0 -1
  512. package/dist/hooks/useBrowserInfo/useBrowserInfo.js.map +0 -1
  513. package/dist/hooks/useClickOutside/useClickOutside.js.map +0 -1
  514. package/dist/hooks/useDebounce/useDebounce.js.map +0 -1
  515. package/dist/hooks/useDropdown/useDropdown.js.map +0 -1
  516. package/dist/hooks/useDropzone/useDropzone.js.map +0 -1
  517. package/dist/hooks/useHover/useHover.js.map +0 -1
  518. package/dist/hooks/useImage/useImage.js.map +0 -1
  519. package/dist/hooks/useImageResizer/useImageResizer.js.map +0 -1
  520. package/dist/hooks/useKeyPress/useKeyPress.js.map +0 -1
  521. package/dist/hooks/useScrollToTop/useScrollToTop.js.map +0 -1
  522. package/dist/hooks/useThumbnail/useThumbnail.js.map +0 -1
  523. package/dist/hooks/useTitle/useTitle.js.map +0 -1
  524. package/dist/hooks/useToast/useToast.js.map +0 -1
  525. package/dist/hooks/useToggle/useToggle.js.map +0 -1
  526. package/dist/hooks/useTrapFocus/useTrapFocus.js.map +0 -1
  527. package/dist/index.js.map +0 -1
  528. package/dist/modals.js +0 -17
  529. package/dist/modals.js.map +0 -1
  530. package/dist/modules/audience/ReactionChoice.js +0 -34
  531. package/dist/modules/audience/ReactionChoice.js.map +0 -1
  532. package/dist/modules/audience/ReactionModal.Card.js +0 -35
  533. package/dist/modules/audience/ReactionModal.Card.js.map +0 -1
  534. package/dist/modules/audience/ReactionModal.js +0 -73
  535. package/dist/modules/audience/ReactionModal.js.map +0 -1
  536. package/dist/modules/audience/ReactionSummary.js +0 -28
  537. package/dist/modules/audience/ReactionSummary.js.map +0 -1
  538. package/dist/modules/audience/ViewsByProfileCard.js +0 -36
  539. package/dist/modules/audience/ViewsByProfileCard.js.map +0 -1
  540. package/dist/modules/audience/ViewsCounter.js +0 -19
  541. package/dist/modules/audience/ViewsCounter.js.map +0 -1
  542. package/dist/modules/audience/ViewsModal.js +0 -41
  543. package/dist/modules/audience/ViewsModal.js.map +0 -1
  544. package/dist/modules/audience/hooks/useReactionIcons.js +0 -38
  545. package/dist/modules/audience/hooks/useReactionIcons.js.map +0 -1
  546. package/dist/modules/audience/hooks/useReactions.js +0 -36
  547. package/dist/modules/audience/hooks/useReactions.js.map +0 -1
  548. package/dist/modules/editor/components/BubbleMenuEditImage/BubbleMenuEditImage.d.ts +0 -8
  549. package/dist/modules/editor/components/BubbleMenuEditImage/BubbleMenuEditImage.js +0 -133
  550. package/dist/modules/editor/components/BubbleMenuEditImage/BubbleMenuEditImage.js.map +0 -1
  551. package/dist/modules/editor/components/BubbleMenuEditImage/index.d.ts +0 -1
  552. package/dist/modules/editor/components/Editor/Editor.d.ts +0 -45
  553. package/dist/modules/editor/components/Editor/Editor.js +0 -84
  554. package/dist/modules/editor/components/Editor/Editor.js.map +0 -1
  555. package/dist/modules/editor/components/Editor/MathsModal.d.ts +0 -7
  556. package/dist/modules/editor/components/Editor/MathsModal.js +0 -51
  557. package/dist/modules/editor/components/Editor/MathsModal.js.map +0 -1
  558. package/dist/modules/editor/components/Editor/index.d.ts +0 -2
  559. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.DropdownMenu.d.ts +0 -22
  560. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.DropdownMenu.js +0 -18
  561. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.DropdownMenu.js.map +0 -1
  562. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Emoji.d.ts +0 -14
  563. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Emoji.js +0 -55
  564. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Emoji.js.map +0 -1
  565. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.HighlightColor.d.ts +0 -14
  566. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.HighlightColor.js +0 -48
  567. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.HighlightColor.js.map +0 -1
  568. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.PlusMenu.d.ts +0 -9
  569. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.PlusMenu.js +0 -19
  570. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.PlusMenu.js.map +0 -1
  571. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextColor.d.ts +0 -14
  572. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextColor.js +0 -51
  573. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextColor.js.map +0 -1
  574. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextSize.d.ts +0 -10
  575. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextSize.js +0 -63
  576. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextSize.js.map +0 -1
  577. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Typography.d.ts +0 -10
  578. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Typography.js +0 -53
  579. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Typography.js.map +0 -1
  580. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.d.ts +0 -10
  581. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.js +0 -320
  582. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.js.map +0 -1
  583. package/dist/modules/editor/components/EditorToolbar/index.d.ts +0 -1
  584. package/dist/modules/editor/components/NodeView/AttachmentNodeView.d.ts +0 -2
  585. package/dist/modules/editor/components/NodeView/AttachmentNodeView.js +0 -11
  586. package/dist/modules/editor/components/NodeView/AttachmentNodeView.js.map +0 -1
  587. package/dist/modules/editor/components/NodeView/AudioNodeView.d.ts +0 -2
  588. package/dist/modules/editor/components/NodeView/AudioNodeView.js +0 -11
  589. package/dist/modules/editor/components/NodeView/AudioNodeView.js.map +0 -1
  590. package/dist/modules/editor/components/NodeView/ImageNodeView.d.ts +0 -2
  591. package/dist/modules/editor/components/NodeView/ImageNodeView.js +0 -11
  592. package/dist/modules/editor/components/NodeView/ImageNodeView.js.map +0 -1
  593. package/dist/modules/editor/components/NodeView/LinkerNodeView.d.ts +0 -2
  594. package/dist/modules/editor/components/NodeView/LinkerNodeView.js +0 -11
  595. package/dist/modules/editor/components/NodeView/LinkerNodeView.js.map +0 -1
  596. package/dist/modules/editor/components/NodeView/VideoNodeView.d.ts +0 -2
  597. package/dist/modules/editor/components/NodeView/VideoNodeView.js +0 -11
  598. package/dist/modules/editor/components/NodeView/VideoNodeView.js.map +0 -1
  599. package/dist/modules/editor/components/NodeView/index.d.ts +0 -5
  600. package/dist/modules/editor/components/Renderer/AttachmentRenderer.d.ts +0 -7
  601. package/dist/modules/editor/components/Renderer/AttachmentRenderer.js +0 -35
  602. package/dist/modules/editor/components/Renderer/AttachmentRenderer.js.map +0 -1
  603. package/dist/modules/editor/components/Renderer/AudioRenderer.d.ts +0 -7
  604. package/dist/modules/editor/components/Renderer/AudioRenderer.js +0 -12
  605. package/dist/modules/editor/components/Renderer/AudioRenderer.js.map +0 -1
  606. package/dist/modules/editor/components/Renderer/LinkerRenderer.d.ts +0 -9
  607. package/dist/modules/editor/components/Renderer/LinkerRenderer.js +0 -35
  608. package/dist/modules/editor/components/Renderer/LinkerRenderer.js.map +0 -1
  609. package/dist/modules/editor/components/Renderer/MediaRenderer.d.ts +0 -2
  610. package/dist/modules/editor/components/Renderer/MediaRenderer.js +0 -70
  611. package/dist/modules/editor/components/Renderer/MediaRenderer.js.map +0 -1
  612. package/dist/modules/editor/components/Renderer/index.d.ts +0 -4
  613. package/dist/modules/editor/components/Toolbar/LinkToolbar.TippyOptions.d.ts +0 -2
  614. package/dist/modules/editor/components/Toolbar/LinkToolbar.TippyOptions.js +0 -9
  615. package/dist/modules/editor/components/Toolbar/LinkToolbar.TippyOptions.js.map +0 -1
  616. package/dist/modules/editor/components/Toolbar/LinkToolbar.d.ts +0 -15
  617. package/dist/modules/editor/components/Toolbar/LinkToolbar.js +0 -60
  618. package/dist/modules/editor/components/Toolbar/LinkToolbar.js.map +0 -1
  619. package/dist/modules/editor/components/Toolbar/TableToolbar.AddMenu.d.ts +0 -9
  620. package/dist/modules/editor/components/Toolbar/TableToolbar.AddMenu.js +0 -29
  621. package/dist/modules/editor/components/Toolbar/TableToolbar.AddMenu.js.map +0 -1
  622. package/dist/modules/editor/components/Toolbar/TableToolbar.CellColor.d.ts +0 -13
  623. package/dist/modules/editor/components/Toolbar/TableToolbar.CellColor.js +0 -46
  624. package/dist/modules/editor/components/Toolbar/TableToolbar.CellColor.js.map +0 -1
  625. package/dist/modules/editor/components/Toolbar/TableToolbar.DelMenu.d.ts +0 -9
  626. package/dist/modules/editor/components/Toolbar/TableToolbar.DelMenu.js +0 -28
  627. package/dist/modules/editor/components/Toolbar/TableToolbar.DelMenu.js.map +0 -1
  628. package/dist/modules/editor/components/Toolbar/TableToolbar.d.ts +0 -9
  629. package/dist/modules/editor/components/Toolbar/TableToolbar.js +0 -89
  630. package/dist/modules/editor/components/Toolbar/TableToolbar.js.map +0 -1
  631. package/dist/modules/editor/components/Toolbar/index.d.ts +0 -2
  632. package/dist/modules/editor/components/index.d.ts +0 -6
  633. package/dist/modules/editor/hooks/index.d.ts +0 -12
  634. package/dist/modules/editor/hooks/useActionOptions.d.ts +0 -5
  635. package/dist/modules/editor/hooks/useActionOptions.js +0 -76
  636. package/dist/modules/editor/hooks/useActionOptions.js.map +0 -1
  637. package/dist/modules/editor/hooks/useCommentEditor.d.ts +0 -13
  638. package/dist/modules/editor/hooks/useCommentEditor.js +0 -38
  639. package/dist/modules/editor/hooks/useCommentEditor.js.map +0 -1
  640. package/dist/modules/editor/hooks/useEditorContext.d.ts +0 -37
  641. package/dist/modules/editor/hooks/useEditorContext.js +0 -13
  642. package/dist/modules/editor/hooks/useEditorContext.js.map +0 -1
  643. package/dist/modules/editor/hooks/useImageModal.d.ts +0 -31
  644. package/dist/modules/editor/hooks/useImageModal.js +0 -47
  645. package/dist/modules/editor/hooks/useImageModal.js.map +0 -1
  646. package/dist/modules/editor/hooks/useImageSelection.d.ts +0 -21
  647. package/dist/modules/editor/hooks/useImageSelection.js +0 -47
  648. package/dist/modules/editor/hooks/useImageSelection.js.map +0 -1
  649. package/dist/modules/editor/hooks/useLinkToolbar.d.ts +0 -17
  650. package/dist/modules/editor/hooks/useLinkToolbar.js +0 -38
  651. package/dist/modules/editor/hooks/useLinkToolbar.js.map +0 -1
  652. package/dist/modules/editor/hooks/useMathsModal.d.ts +0 -17
  653. package/dist/modules/editor/hooks/useMathsModal.js +0 -18
  654. package/dist/modules/editor/hooks/useMathsModal.js.map +0 -1
  655. package/dist/modules/editor/hooks/useMathsStyles.d.ts +0 -1
  656. package/dist/modules/editor/hooks/useMathsStyles.js +0 -21
  657. package/dist/modules/editor/hooks/useMathsStyles.js.map +0 -1
  658. package/dist/modules/editor/hooks/useMediaLibraryEditor.d.ts +0 -19
  659. package/dist/modules/editor/hooks/useMediaLibraryEditor.js +0 -153
  660. package/dist/modules/editor/hooks/useMediaLibraryEditor.js.map +0 -1
  661. package/dist/modules/editor/hooks/useResizeMedia.d.ts +0 -10
  662. package/dist/modules/editor/hooks/useResizeMedia.js +0 -48
  663. package/dist/modules/editor/hooks/useResizeMedia.js.map +0 -1
  664. package/dist/modules/editor/hooks/useSpeechRecognition.d.ts +0 -6
  665. package/dist/modules/editor/hooks/useSpeechRecognition.js +0 -22
  666. package/dist/modules/editor/hooks/useSpeechRecognition.js.map +0 -1
  667. package/dist/modules/editor/hooks/useSpeechSynthetisis.d.ts +0 -12
  668. package/dist/modules/editor/hooks/useSpeechSynthetisis.js +0 -21
  669. package/dist/modules/editor/hooks/useSpeechSynthetisis.js.map +0 -1
  670. package/dist/modules/editor/hooks/useTipTapEditor.d.ts +0 -15
  671. package/dist/modules/editor/hooks/useTipTapEditor.js +0 -76
  672. package/dist/modules/editor/hooks/useTipTapEditor.js.map +0 -1
  673. package/dist/modules/editor/index.d.ts +0 -3
  674. package/dist/modules/editor/utils/has-extension.d.ts +0 -2
  675. package/dist/modules/editor/utils/has-extension.js +0 -5
  676. package/dist/modules/editor/utils/has-extension.js.map +0 -1
  677. package/dist/modules/editor/utils/has-mark.d.ts +0 -2
  678. package/dist/modules/editor/utils/has-mark.js +0 -5
  679. package/dist/modules/editor/utils/has-mark.js.map +0 -1
  680. package/dist/modules/editor/utils/has-text-style.d.ts +0 -2
  681. package/dist/modules/editor/utils/has-text-style.js +0 -6
  682. package/dist/modules/editor/utils/has-text-style.js.map +0 -1
  683. package/dist/modules/modals/OnboardingModal/OnboardingModal.js +0 -60
  684. package/dist/modules/modals/OnboardingModal/OnboardingModal.js.map +0 -1
  685. package/dist/modules/modals/OnboardingModal/useOnboardingModal.js +0 -31
  686. package/dist/modules/modals/OnboardingModal/useOnboardingModal.js.map +0 -1
  687. package/dist/modules/modals/PublishModal/PublishModal.js +0 -121
  688. package/dist/modules/modals/PublishModal/PublishModal.js.map +0 -1
  689. package/dist/modules/modals/PublishModal/components/ActivitiesDropdown.js +0 -30
  690. package/dist/modules/modals/PublishModal/components/ActivitiesDropdown.js.map +0 -1
  691. package/dist/modules/modals/PublishModal/components/AgeSelect.js +0 -21
  692. package/dist/modules/modals/PublishModal/components/AgeSelect.js.map +0 -1
  693. package/dist/modules/modals/PublishModal/components/LangSelect.js +0 -20
  694. package/dist/modules/modals/PublishModal/components/LangSelect.js.map +0 -1
  695. package/dist/modules/modals/PublishModal/components/PublishModalFooter.js +0 -24
  696. package/dist/modules/modals/PublishModal/components/PublishModalFooter.js.map +0 -1
  697. package/dist/modules/modals/PublishModal/components/SubjectsDropdown.js +0 -30
  698. package/dist/modules/modals/PublishModal/components/SubjectsDropdown.js.map +0 -1
  699. package/dist/modules/modals/PublishModal/components/ToastError.js +0 -25
  700. package/dist/modules/modals/PublishModal/components/ToastError.js.map +0 -1
  701. package/dist/modules/modals/PublishModal/components/ToastSuccess.js +0 -19
  702. package/dist/modules/modals/PublishModal/components/ToastSuccess.js.map +0 -1
  703. package/dist/modules/modals/PublishModal/constants/ageOptions.js +0 -5
  704. package/dist/modules/modals/PublishModal/constants/ageOptions.js.map +0 -1
  705. package/dist/modules/modals/PublishModal/hooks/useActivitiesOptions.js.map +0 -1
  706. package/dist/modules/modals/PublishModal/hooks/useLanguageOptions.js +0 -44
  707. package/dist/modules/modals/PublishModal/hooks/useLanguageOptions.js.map +0 -1
  708. package/dist/modules/modals/PublishModal/hooks/usePublishModal.js +0 -107
  709. package/dist/modules/modals/PublishModal/hooks/usePublishModal.js.map +0 -1
  710. package/dist/modules/modals/PublishModal/hooks/useSubjectsOptions.js.map +0 -1
  711. package/dist/modules/modals/ResourceModal/ResourceModal.js +0 -158
  712. package/dist/modules/modals/ResourceModal/ResourceModal.js.map +0 -1
  713. package/dist/modules/modals/ResourceModal/apps/BlogPublic.js +0 -64
  714. package/dist/modules/modals/ResourceModal/apps/BlogPublic.js.map +0 -1
  715. package/dist/modules/modals/ResourceModal/hooks/useSlug.js +0 -42
  716. package/dist/modules/modals/ResourceModal/hooks/useSlug.js.map +0 -1
  717. package/dist/modules/modals/ResourceModal/hooks/useThumb.js +0 -18
  718. package/dist/modules/modals/ResourceModal/hooks/useThumb.js.map +0 -1
  719. package/dist/modules/modals/ResourceModal/hooks/useUpdateMutation.js +0 -14
  720. package/dist/modules/modals/ResourceModal/hooks/useUpdateMutation.js.map +0 -1
  721. package/dist/modules/modals/ResourceModal/index.d.ts +0 -3
  722. package/dist/modules/modals/ShareModal/apps/ShareBlog.d.ts +0 -9
  723. package/dist/modules/modals/ShareModal/apps/ShareBlog.js +0 -44
  724. package/dist/modules/modals/ShareModal/apps/ShareBlog.js.map +0 -1
  725. package/dist/modules/modals/ShareModal/hooks/useShareMutation.js +0 -17
  726. package/dist/modules/modals/ShareModal/hooks/useShareMutation.js.map +0 -1
  727. package/dist/modules/modals/ShareModal/index.d.ts +0 -3
  728. package/dist/modules/multimedia/AudioRecorder/AudioRecorder.js +0 -50
  729. package/dist/modules/multimedia/AudioRecorder/AudioRecorder.js.map +0 -1
  730. package/dist/modules/multimedia/AudioRecorder/AudioRecorderTimer.js +0 -25
  731. package/dist/modules/multimedia/AudioRecorder/AudioRecorderTimer.js.map +0 -1
  732. package/dist/modules/multimedia/AudioRecorder/useAudioRecorder.js +0 -308
  733. package/dist/modules/multimedia/AudioRecorder/useAudioRecorder.js.map +0 -1
  734. package/dist/modules/multimedia/Embed/Embed.js +0 -33
  735. package/dist/modules/multimedia/Embed/Embed.js.map +0 -1
  736. package/dist/modules/multimedia/ImageEditor/components/ImageEditor.js +0 -117
  737. package/dist/modules/multimedia/ImageEditor/components/ImageEditor.js.map +0 -1
  738. package/dist/modules/multimedia/ImageEditor/components/ImageEditorToolbar.js +0 -70
  739. package/dist/modules/multimedia/ImageEditor/components/ImageEditorToolbar.js.map +0 -1
  740. package/dist/modules/multimedia/ImageEditor/effects/blur.js +0 -73
  741. package/dist/modules/multimedia/ImageEditor/effects/blur.js.map +0 -1
  742. package/dist/modules/multimedia/ImageEditor/effects/crop.js +0 -156
  743. package/dist/modules/multimedia/ImageEditor/effects/crop.js.map +0 -1
  744. package/dist/modules/multimedia/ImageEditor/effects/misc.js +0 -163
  745. package/dist/modules/multimedia/ImageEditor/effects/misc.js.map +0 -1
  746. package/dist/modules/multimedia/ImageEditor/effects/resize.js +0 -158
  747. package/dist/modules/multimedia/ImageEditor/effects/resize.js.map +0 -1
  748. package/dist/modules/multimedia/ImageEditor/effects/rotate.js +0 -34
  749. package/dist/modules/multimedia/ImageEditor/effects/rotate.js.map +0 -1
  750. package/dist/modules/multimedia/ImageEditor/hooks/useHistoryTool.js +0 -65
  751. package/dist/modules/multimedia/ImageEditor/hooks/useHistoryTool.js.map +0 -1
  752. package/dist/modules/multimedia/ImageEditor/hooks/useImageEditor.js +0 -77
  753. package/dist/modules/multimedia/ImageEditor/hooks/useImageEditor.js.map +0 -1
  754. package/dist/modules/multimedia/ImageEditor/hooks/useImageEffects.js +0 -53
  755. package/dist/modules/multimedia/ImageEditor/hooks/useImageEffects.js.map +0 -1
  756. package/dist/modules/multimedia/ImageEditor/utils/aggregate.js +0 -14
  757. package/dist/modules/multimedia/ImageEditor/utils/aggregate.js.map +0 -1
  758. package/dist/modules/multimedia/ImagePickerWorkspace/ImagePickerWorkspace.js +0 -40
  759. package/dist/modules/multimedia/ImagePickerWorkspace/ImagePickerWorkspace.js.map +0 -1
  760. package/dist/modules/multimedia/Linker/ExternalLinker.js +0 -46
  761. package/dist/modules/multimedia/Linker/ExternalLinker.js.map +0 -1
  762. package/dist/modules/multimedia/Linker/InternalLinker.js +0 -115
  763. package/dist/modules/multimedia/Linker/InternalLinker.js.map +0 -1
  764. package/dist/modules/multimedia/LinkerCard/LinkerCard.js +0 -40
  765. package/dist/modules/multimedia/LinkerCard/LinkerCard.js.map +0 -1
  766. package/dist/modules/multimedia/LinkerCard/index.d.ts +0 -1
  767. package/dist/modules/multimedia/MediaLibrary/MediaLibrary.js +0 -212
  768. package/dist/modules/multimedia/MediaLibrary/MediaLibrary.js.map +0 -1
  769. package/dist/modules/multimedia/MediaLibrary/MediaLibraryContext.js +0 -13
  770. package/dist/modules/multimedia/MediaLibrary/MediaLibraryContext.js.map +0 -1
  771. package/dist/modules/multimedia/MediaLibrary/innertabs/Audio.js +0 -20
  772. package/dist/modules/multimedia/MediaLibrary/innertabs/Audio.js.map +0 -1
  773. package/dist/modules/multimedia/MediaLibrary/innertabs/ExternalLink.js +0 -18
  774. package/dist/modules/multimedia/MediaLibrary/innertabs/ExternalLink.js.map +0 -1
  775. package/dist/modules/multimedia/MediaLibrary/innertabs/Iframe.js +0 -15
  776. package/dist/modules/multimedia/MediaLibrary/innertabs/Iframe.js.map +0 -1
  777. package/dist/modules/multimedia/MediaLibrary/innertabs/InternalLink.js +0 -36
  778. package/dist/modules/multimedia/MediaLibrary/innertabs/InternalLink.js.map +0 -1
  779. package/dist/modules/multimedia/MediaLibrary/innertabs/Upload.js +0 -35
  780. package/dist/modules/multimedia/MediaLibrary/innertabs/Upload.js.map +0 -1
  781. package/dist/modules/multimedia/MediaLibrary/innertabs/Video.js +0 -23
  782. package/dist/modules/multimedia/MediaLibrary/innertabs/Video.js.map +0 -1
  783. package/dist/modules/multimedia/MediaLibrary/innertabs/VideoEmbedder.js +0 -15
  784. package/dist/modules/multimedia/MediaLibrary/innertabs/VideoEmbedder.js.map +0 -1
  785. package/dist/modules/multimedia/MediaLibrary/innertabs/Workspace.js +0 -32
  786. package/dist/modules/multimedia/MediaLibrary/innertabs/Workspace.js.map +0 -1
  787. package/dist/modules/multimedia/MediaLibrary/innertabs/index.js +0 -22
  788. package/dist/modules/multimedia/MediaLibrary/innertabs/index.js.map +0 -1
  789. package/dist/modules/multimedia/UploadFiles/UploadFiles.js +0 -57
  790. package/dist/modules/multimedia/UploadFiles/UploadFiles.js.map +0 -1
  791. package/dist/modules/multimedia/VideoEmbed/VideoEmbed.js +0 -78
  792. package/dist/modules/multimedia/VideoEmbed/VideoEmbed.js.map +0 -1
  793. package/dist/modules/multimedia/VideoRecorder/VideoRecorder.js +0 -260
  794. package/dist/modules/multimedia/VideoRecorder/VideoRecorder.js.map +0 -1
  795. package/dist/modules/multimedia/Workspace/Workspace.js +0 -170
  796. package/dist/modules/multimedia/Workspace/Workspace.js.map +0 -1
  797. package/dist/multimedia.js +0 -21
  798. package/dist/multimedia.js.map +0 -1
  799. package/dist/portal/Header/Badge.js.map +0 -1
  800. package/dist/portal/Header/Header.js.map +0 -1
  801. package/dist/portal/Header/NavItem.js.map +0 -1
  802. package/dist/portal/Header/NavLink.js.map +0 -1
  803. package/dist/portal/Header/Navbar.js.map +0 -1
  804. package/dist/portal/Header/NavbarNav.js.map +0 -1
  805. package/dist/portal/Header/WidgetApps.js.map +0 -1
  806. package/dist/portal/Help/Help.js.map +0 -1
  807. package/dist/portal/Help/hooks/useHelp.js.map +0 -1
  808. package/dist/portal/Layout/Layout.js.map +0 -1
  809. package/dist/portal/SearchEngine/SearchEngine.js.map +0 -1
  810. package/dist/utils/MockedDataProvider/MockedDataProvider.js.map +0 -1
  811. package/dist/utils/StringUtils.js.map +0 -1
  812. package/dist/utils/addTimestampToUrl.js.map +0 -1
  813. package/dist/utils/blob.js.map +0 -1
  814. package/dist/utils/checkUserRight.js.map +0 -1
  815. package/dist/utils/fileSize.js.map +0 -1
  816. package/dist/utils/findTreeNode.js.map +0 -1
  817. package/dist/utils/isActionAvailable.js.map +0 -1
  818. package/dist/utils/libraryMaps.js.map +0 -1
  819. package/dist/utils/noop.js.map +0 -1
  820. package/dist/utils/ref.js.map +0 -1
  821. package/dist/utils/thumbnail.js.map +0 -1
  822. package/dist/utils/time.js.map +0 -1
  823. package/dist/utils/treeview.js.map +0 -1
  824. package/dist/utils/video.js.map +0 -1
  825. package/dist/widgets/BookmarkedApps/BookmarkedApps.js.map +0 -1
  826. package/dist/widgets/Widget/Widget.js.map +0 -1
  827. /package/dist/{modules/modals → common}/OnboardingModal/OnboardingModal.d.ts +0 -0
  828. /package/dist/{modules/modals → common}/OnboardingModal/index.d.ts +0 -0
  829. /package/dist/{modules/modals → common}/OnboardingModal/useOnboardingModal.d.ts +0 -0
  830. /package/dist/{modules/modals → common}/PublishModal/components/ActivitiesDropdown.d.ts +0 -0
  831. /package/dist/{modules/modals → common}/PublishModal/components/AgeSelect.d.ts +0 -0
  832. /package/dist/{modules/modals → common}/PublishModal/components/LangSelect.d.ts +0 -0
  833. /package/dist/{modules/modals → common}/PublishModal/components/PublishModalFooter.d.ts +0 -0
  834. /package/dist/{modules/modals → common}/PublishModal/components/SubjectsDropdown.d.ts +0 -0
  835. /package/dist/{modules/modals → common}/PublishModal/components/ToastError.d.ts +0 -0
  836. /package/dist/{modules/modals → common}/PublishModal/constants/ageOptions.d.ts +0 -0
  837. /package/dist/{modules/modals → common}/PublishModal/hooks/useActivitiesOptions.d.ts +0 -0
  838. /package/dist/{modules/modals → common}/PublishModal/hooks/useLanguageOptions.d.ts +0 -0
  839. /package/dist/{modules/modals → common}/PublishModal/hooks/useSubjectsOptions.d.ts +0 -0
  840. /package/dist/{modules/modals → common}/PublishModal/index.d.ts +0 -0
  841. /package/dist/{modules/modals → common}/ShareModal/ShareBookmark.d.ts +0 -0
  842. /package/dist/{modules/modals → common}/index.d.ts +0 -0
  843. /package/dist/{modules/audience → components/Audience}/ViewsCounter.d.ts +0 -0
  844. /package/dist/{modules/audience → components/Audience}/index.d.ts +0 -0
  845. /package/dist/{modules/multimedia → multimedia}/AudioRecorder/AudioRecorderTimer.d.ts +0 -0
  846. /package/dist/{modules/multimedia → multimedia}/AudioRecorder/index.d.ts +0 -0
  847. /package/dist/{modules/multimedia → multimedia}/Embed/Embed.d.ts +0 -0
  848. /package/dist/{modules/multimedia → multimedia}/Embed/index.d.ts +0 -0
  849. /package/dist/{modules/multimedia → multimedia}/ImageEditor/components/ImageEditor.d.ts +0 -0
  850. /package/dist/{modules/multimedia → multimedia}/ImageEditor/components/ImageEditorToolbar.d.ts +0 -0
  851. /package/dist/{modules/multimedia → multimedia}/ImageEditor/effects/blur.d.ts +0 -0
  852. /package/dist/{modules/multimedia → multimedia}/ImageEditor/effects/crop.d.ts +0 -0
  853. /package/dist/{modules/multimedia → multimedia}/ImageEditor/effects/misc.d.ts +0 -0
  854. /package/dist/{modules/multimedia → multimedia}/ImageEditor/effects/resize.d.ts +0 -0
  855. /package/dist/{modules/multimedia → multimedia}/ImageEditor/effects/rotate.d.ts +0 -0
  856. /package/dist/{modules/multimedia → multimedia}/ImageEditor/hooks/useHistoryTool.d.ts +0 -0
  857. /package/dist/{modules/multimedia → multimedia}/ImageEditor/hooks/useImageEditor.d.ts +0 -0
  858. /package/dist/{modules/multimedia → multimedia}/ImageEditor/hooks/useImageEffects.d.ts +0 -0
  859. /package/dist/{modules/multimedia → multimedia}/ImageEditor/index.d.ts +0 -0
  860. /package/dist/{modules/multimedia → multimedia}/ImageEditor/utils/aggregate.d.ts +0 -0
  861. /package/dist/{modules/multimedia → multimedia}/ImageEditor/utils/debounceAggregate.d.ts +0 -0
  862. /package/dist/{modules/multimedia → multimedia}/ImagePickerWorkspace/index.d.ts +0 -0
  863. /package/dist/{modules/multimedia → multimedia}/Linker/ExternalLinker.d.ts +0 -0
  864. /package/dist/{modules/multimedia → multimedia}/Linker/index.d.ts +0 -0
  865. /package/dist/{modules/multimedia → multimedia}/MediaLibrary/index.d.ts +0 -0
  866. /package/dist/{modules/multimedia → multimedia}/MediaLibrary/innertabs/Audio.d.ts +0 -0
  867. /package/dist/{modules/multimedia → multimedia}/MediaLibrary/innertabs/ExternalLink.d.ts +0 -0
  868. /package/dist/{modules/multimedia → multimedia}/MediaLibrary/innertabs/Iframe.d.ts +0 -0
  869. /package/dist/{modules/multimedia → multimedia}/MediaLibrary/innertabs/Upload.d.ts +0 -0
  870. /package/dist/{modules/multimedia → multimedia}/MediaLibrary/innertabs/Video.d.ts +0 -0
  871. /package/dist/{modules/multimedia → multimedia}/MediaLibrary/innertabs/VideoEmbedder.d.ts +0 -0
  872. /package/dist/{modules/multimedia → multimedia}/MediaLibrary/innertabs/Workspace.d.ts +0 -0
  873. /package/dist/{modules/multimedia → multimedia}/MediaLibrary/innertabs/index.d.ts +0 -0
  874. /package/dist/{modules/multimedia → multimedia}/UploadFiles/index.d.ts +0 -0
  875. /package/dist/{modules/multimedia → multimedia}/VideoEmbed/VideoEmbed.d.ts +0 -0
  876. /package/dist/{modules/multimedia → multimedia}/VideoEmbed/index.d.ts +0 -0
  877. /package/dist/{modules/multimedia → multimedia}/VideoRecorder/index.d.ts +0 -0
  878. /package/dist/{modules/multimedia → multimedia}/Workspace/index.d.ts +0 -0
  879. /package/dist/{modules/multimedia → multimedia}/index.d.ts +0 -0
@@ -1,50 +0,0 @@
1
- import { jsxs as A, jsx as e } from "react/jsx-runtime";
2
- import { forwardRef as I, useImperativeHandle as S, useState as v } from "react";
3
- import y from "clsx";
4
- import { useTranslation as D } from "react-i18next";
5
- import g from "./AudioRecorderTimer.js";
6
- import E from "./useAudioRecorder.js";
7
- import { Toolbar as C } from "../../../components/Toolbar/Toolbar.js";
8
- import { FormControl as G } from "../../../components/Form/FormControl.js";
9
- import { Input as L } from "../../../components/Input/Input.js";
10
- import { Icon as V } from "../../../components/Icon/Icon.js";
11
- const Y = /* @__PURE__ */ I(({
12
- onSaveSuccess: t,
13
- onRecordUpdated: d,
14
- hideSaveAction: i = !1,
15
- visibility: m = "protected"
16
- }, s) => {
17
- const {
18
- recordState: r,
19
- playState: o,
20
- recordTime: c,
21
- audioRef: n,
22
- audioNameRef: l,
23
- toolbarItems: u,
24
- maxDuration: f,
25
- handlePlayEnded: p,
26
- handleSave: x
27
- } = E(t, d, i, m, "media-library"), {
28
- t: a
29
- } = D();
30
- S(s, () => ({
31
- save: x
32
- }));
33
- const [N, R] = v(0), T = y({
34
- "text-danger": r === "RECORDING",
35
- "text-success": o === "PLAYING"
36
- }), b = (h) => {
37
- R(h.target.currentTime);
38
- };
39
- return /* @__PURE__ */ A("div", { className: "audio-recorder m-auto d-flex flex-column", children: [
40
- /* @__PURE__ */ e(G, { id: "recordName", className: "mb-32", isRequired: !0, isReadOnly: r === "SAVED" || r === "SAVING", children: /* @__PURE__ */ e(L, { type: "text", size: "sm", placeholder: a("bbm.audio.recorder.name"), ref: l, defaultValue: a("bbm.audio.recorder.defaultName") + (/* @__PURE__ */ new Date()).toLocaleDateString() }) }),
41
- /* @__PURE__ */ e("div", { className: "audio-recorder-icon mx-auto", children: /* @__PURE__ */ e(V, { name: "mic", size: "64", className: T }) }),
42
- /* @__PURE__ */ e(g, { recordState: r, playState: o, recordTime: c, audioTime: N, maxDuration: f }),
43
- /* @__PURE__ */ e("audio", { ref: n, onEnded: p, onTimeUpdate: b, children: /* @__PURE__ */ e("track", { default: !0, kind: "captions", srcLang: "fr", src: "" }) }),
44
- /* @__PURE__ */ e(C, { items: u })
45
- ] });
46
- });
47
- export {
48
- Y as default
49
- };
50
- //# sourceMappingURL=AudioRecorder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AudioRecorder.js","sources":["../../../../src/modules/multimedia/AudioRecorder/AudioRecorder.tsx"],"sourcesContent":["import { forwardRef, useImperativeHandle, useState } from 'react';\n\nimport { WorkspaceElement, WorkspaceVisibility } from '@edifice.io/ts-client';\nimport clsx from 'clsx';\nimport { useTranslation } from 'react-i18next';\n\nimport { FormControl, Icon, Input, Toolbar } from '../../../components';\nimport AudioRecorderTimer from './AudioRecorderTimer';\nimport useAudioRecorder from './useAudioRecorder';\n\nexport interface AudioRecorderProps {\n onSaveSuccess?: (resource: WorkspaceElement) => void;\n onRecordUpdated?: (recordURL?: string) => void;\n hideSaveAction?: boolean;\n visibility?: WorkspaceVisibility;\n}\n\nexport interface AudioRecorderRef {\n save: () => Promise<WorkspaceElement | undefined>;\n}\n\nconst AudioRecorder = forwardRef(\n (\n {\n onSaveSuccess,\n onRecordUpdated,\n hideSaveAction = false,\n visibility = 'protected',\n }: AudioRecorderProps,\n ref,\n ) => {\n const {\n recordState,\n playState,\n recordTime,\n audioRef,\n audioNameRef,\n toolbarItems,\n maxDuration,\n handlePlayEnded,\n handleSave,\n } = useAudioRecorder(\n onSaveSuccess,\n onRecordUpdated,\n hideSaveAction,\n visibility,\n 'media-library',\n );\n const { t } = useTranslation();\n\n // We add one methods to handle save action from parent component\n useImperativeHandle(ref, () => ({\n save: handleSave,\n }));\n\n const [audioTime, setAudioTime] = useState<number>(0);\n\n const classColor = clsx({\n 'text-danger': recordState === 'RECORDING',\n 'text-success': playState === 'PLAYING',\n });\n\n const handleTimeUpdate = (event: any) => {\n setAudioTime(event.target.currentTime);\n };\n\n return (\n <div className=\"audio-recorder m-auto d-flex flex-column\">\n <FormControl\n id=\"recordName\"\n className=\"mb-32\"\n isRequired\n isReadOnly={recordState === 'SAVED' || recordState === 'SAVING'}\n >\n <Input\n type=\"text\"\n size={'sm'}\n placeholder={t('bbm.audio.recorder.name')}\n ref={audioNameRef}\n defaultValue={\n t('bbm.audio.recorder.defaultName') +\n new Date().toLocaleDateString()\n }\n />\n </FormControl>\n <div className=\"audio-recorder-icon mx-auto\">\n <Icon name=\"mic\" size=\"64\" className={classColor} />\n </div>\n <AudioRecorderTimer\n recordState={recordState}\n playState={playState}\n recordTime={recordTime}\n audioTime={audioTime}\n maxDuration={maxDuration}\n ></AudioRecorderTimer>\n <audio\n ref={audioRef}\n onEnded={handlePlayEnded}\n onTimeUpdate={handleTimeUpdate}\n >\n <track default kind=\"captions\" srcLang=\"fr\" src=\"\"></track>\n </audio>\n <Toolbar items={toolbarItems} />\n </div>\n );\n },\n);\n\nexport default AudioRecorder;\n"],"names":["AudioRecorder","onSaveSuccess","onRecordUpdated","hideSaveAction","visibility","ref","recordState","playState","recordTime","audioRef","audioNameRef","toolbarItems","maxDuration","handlePlayEnded","handleSave","useAudioRecorder","t","useTranslation","useImperativeHandle","save","audioTime","setAudioTime","useState","classColor","clsx","handleTimeUpdate","event","target","currentTime","jsxs","jsx","FormControl","Input","Date","toLocaleDateString","Icon","AudioRecorderTimer","Toolbar"],"mappings":";;;;;;;;;;AAqBMA,MAAAA,sBACJ,CACE;AAAA,EACEC,eAAAA;AAAAA,EACAC,iBAAAA;AAAAA,EACAC,gBAAAA,IAAiB;AAAA,EACjBC,YAAAA,IAAa;AACK,GACpBC,MACG;AACG,QAAA;AAAA,IACJC,aAAAA;AAAAA,IACAC,WAAAA;AAAAA,IACAC,YAAAA;AAAAA,IACAC,UAAAA;AAAAA,IACAC,cAAAA;AAAAA,IACAC,cAAAA;AAAAA,IACAC,aAAAA;AAAAA,IACAC,iBAAAA;AAAAA,IACAC,YAAAA;AAAAA,EAAAA,IACEC,EACFd,GACAC,GACAC,GACAC,GACA,eACF,GACM;AAAA,IAAEY,GAAAA;AAAAA,MAAMC,EAAe;AAG7BC,EAAAA,EAAoBb,GAAK,OAAO;AAAA,IAC9Bc,MAAML;AAAAA,EACN,EAAA;AAEF,QAAM,CAACM,GAAWC,CAAY,IAAIC,EAAiB,CAAC,GAE9CC,IAAaC,EAAK;AAAA,IACtB,eAAelB,MAAgB;AAAA,IAC/B,gBAAgBC,MAAc;AAAA,EAAA,CAC/B,GAEKkB,IAAmBA,CAACC,MAAe;AAC1BA,IAAAA,EAAAA,EAAMC,OAAOC,WAAW;AAAA,EAAA;AAIrC,SAAA,gBAAAC,EAAC,OAAI,EAAA,WAAU,4CACb,UAAA;AAAA,IAAA,gBAAAC,EAACC,GACC,EAAA,IAAG,cACH,WAAU,SACV,YAAU,IACV,YAAYzB,MAAgB,WAAWA,MAAgB,UAEvD,UAAA,gBAAAwB,EAACE,KACC,MAAK,QACL,MAAM,MACN,aAAahB,EAAE,yBAAyB,GACxC,KAAKN,GACL,cACEM,EAAE,gCAAgC,KAC9BiB,oBAAAA,KAAAA,GAAOC,mBAAAA,EACZ,CAAA,GAEL;AAAA,IACC,gBAAAJ,EAAA,OAAA,EAAI,WAAU,+BACb,UAAC,gBAAAA,EAAAK,GAAA,EAAK,MAAK,OAAM,MAAK,MAAK,WAAWZ,EAAW,CAAA,GACnD;AAAA,sBACCa,GACC,EAAA,aAAA9B,GACA,WAAAC,GACA,YAAAC,GACA,WAAAY,GACA,aAAAR,GACD;AAAA,sBACA,SACC,EAAA,KAAKH,GACL,SAASI,GACT,cAAcY,GAEd,UAAA,gBAAAK,EAAC,SAAM,EAAA,SAAO,IAAC,MAAK,YAAW,SAAQ,MAAK,KAAI,GAAG,CAAA,GACrD;AAAA,IACA,gBAAAA,EAACO,GAAQ,EAAA,OAAO1B,EAAa,CAAA;AAAA,EAC/B,EAAA,CAAA;AAEJ,CACF;"}
@@ -1,25 +0,0 @@
1
- import { jsxs as m, jsx as s } from "react/jsx-runtime";
2
- import { convertMsToMS as e } from "../../../utils/time.js";
3
- import { Icon as a } from "../../../components/Icon/Icon.js";
4
- const x = ({
5
- recordState: r,
6
- playState: i,
7
- recordTime: c,
8
- audioTime: n,
9
- maxDuration: o
10
- }) => /* @__PURE__ */ m("div", { className: "audio-recorder-time my-16 mx-auto", children: [
11
- i === "IDLE" && /* @__PURE__ */ m("div", { className: "d-flex align-items-center", children: [
12
- r === "PAUSED" ? /* @__PURE__ */ s(a, { name: "pause", size: "12", className: "me-8 text-danger" }) : /* @__PURE__ */ s(a, { name: "record", size: "12", className: "me-8 text-danger" }),
13
- e(r !== "IDLE" ? c : 0) + " / " + e(o)
14
- ] }),
15
- i !== "IDLE" && /* @__PURE__ */ m("div", { className: "d-flex align-items-center mx-auto", children: [
16
- /* @__PURE__ */ s(a, { name: "mic", size: "12", className: "me-8" }),
17
- e(n * 1e3),
18
- " /",
19
- e(c)
20
- ] })
21
- ] });
22
- export {
23
- x as default
24
- };
25
- //# sourceMappingURL=AudioRecorderTimer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AudioRecorderTimer.js","sources":["../../../../src/modules/multimedia/AudioRecorder/AudioRecorderTimer.tsx"],"sourcesContent":["import { Icon } from '../../..';\nimport { convertMsToMS } from '../../../utils';\nimport { PlayState, RecordState } from './useAudioRecorder';\n\nexport interface AudioRecorderTimerProps {\n recordState: RecordState;\n playState: PlayState;\n recordTime: number | undefined;\n audioTime: number;\n maxDuration: number;\n}\n\nconst AudioRecorderTimer = ({\n recordState,\n playState,\n recordTime,\n audioTime,\n maxDuration,\n}: AudioRecorderTimerProps) => {\n return (\n <div className=\"audio-recorder-time my-16 mx-auto\">\n {playState === 'IDLE' && (\n <div className=\"d-flex align-items-center\">\n {recordState === 'PAUSED' ? (\n <Icon name=\"pause\" size=\"12\" className=\"me-8 text-danger\" />\n ) : (\n <Icon name=\"record\" size=\"12\" className=\"me-8 text-danger\" />\n )}\n {convertMsToMS(recordState !== 'IDLE' ? recordTime! : 0) +\n ' / ' +\n convertMsToMS(maxDuration)}\n </div>\n )}\n {playState !== 'IDLE' && (\n <div className=\"d-flex align-items-center mx-auto\">\n <Icon name=\"mic\" size=\"12\" className=\"me-8\" />\n {convertMsToMS(audioTime * 1000)} /{convertMsToMS(recordTime!)}\n </div>\n )}\n </div>\n );\n};\n\nexport default AudioRecorderTimer;\n"],"names":["AudioRecorderTimer","recordState","playState","recordTime","audioTime","maxDuration","jsxs","jsx","Icon","convertMsToMS"],"mappings":";;;AAYA,MAAMA,IAAqBA,CAAC;AAAA,EAC1BC,aAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,YAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,aAAAA;AACuB,MAErB,gBAAAC,EAAC,OAAI,EAAA,WAAU,qCACZJ,UAAAA;AAAAA,EAAAA,MAAc,UACb,gBAAAI,EAAC,OAAI,EAAA,WAAU,6BACZL,UAAAA;AAAAA,IAAAA,MAAgB,WACd,gBAAAM,EAAAC,GAAA,EAAK,MAAK,SAAQ,MAAK,MAAK,WAAU,0CAEtCA,GAAK,EAAA,MAAK,UAAS,MAAK,MAAK,WAAU,oBACzC;AAAA,IACAC,EAAcR,MAAgB,SAASE,IAAc,CAAC,IACrD,QACAM,EAAcJ,CAAW;AAAA,EAAA,GAC7B;AAAA,EAEDH,MAAc,UACZ,gBAAAI,EAAA,OAAA,EAAI,WAAU,qCACb,UAAA;AAAA,IAAA,gBAAAC,EAACC,KAAK,MAAK,OAAM,MAAK,MAAK,WAAU,QAAM;AAAA,IAC1CC,EAAcL,IAAY,GAAI;AAAA,IAAE;AAAA,IAAGK,EAAcN,CAAW;AAAA,EAAA,GAC/D;AAEJ,EAAA,CAAA;"}
@@ -1,308 +0,0 @@
1
- import { jsx as S } from "react/jsx-runtime";
2
- import { useReducer as Q, useRef as P, useEffect as j, useCallback as y } from "react";
3
- import { useTranslation as X } from "react-i18next";
4
- import $ from "../../../core/useWorkspaceFile/useWorkspaceFile.js";
5
- import { Icon as b } from "../../../components/Icon/Icon.js";
6
- function oe(g, d, Y = !1, F = "protected", W = "media-library") {
7
- var U;
8
- function V(t, n) {
9
- return {
10
- ...t,
11
- ...n.updatedState
12
- };
13
- }
14
- const [{
15
- recordState: r,
16
- playState: u,
17
- micStream: f,
18
- micStreamAudioSourceNode: h,
19
- audioWorkletNode: c,
20
- audioContext: a,
21
- encoderWorker: E,
22
- maxDuration: A,
23
- recordTime: T,
24
- isEncoding: L
25
- }, o] = Q(V, {
26
- recordState: "IDLE",
27
- isEncoding: !1,
28
- playState: "IDLE",
29
- recordTime: 0,
30
- maxDuration: 180
31
- // max duration in s (3 minutes by default)
32
- }), v = P(null), e = P(null), D = P(), l = P(), {
33
- t: i
34
- } = X(), {
35
- create: _
36
- } = $(), N = 128, k = 48e3;
37
- j(() => {
38
- const t = new Worker("/infra/public/js/audioEncoder.js");
39
- return o({
40
- type: "update",
41
- updatedState: {
42
- encoderWorker: t
43
- }
44
- }), t.postMessage(["init", (a == null ? void 0 : a.sampleRate) || k]), () => {
45
- I(), t.terminate();
46
- };
47
- }, []);
48
- const G = (t) => {
49
- var s, m;
50
- const n = t.data.inputs[0][0];
51
- let p = t.data.inputs[0][1];
52
- (!p || p.filter((R) => R !== void 0).length === 0) && (p = n), (s = D.current) == null || s.push(n), (m = l.current) == null || m.push(p);
53
- }, I = y(() => {
54
- f == null || f.getTracks().forEach((t) => t.stop()), h == null || h.disconnect(), c == null || c.port.removeEventListener("message", G), c == null || c.port.close(), c == null || c.disconnect(), a == null || a.close();
55
- }, [a, c, f, h]), x = async () => {
56
- const t = await navigator.mediaDevices.getUserMedia({
57
- audio: !0
58
- }), n = new AudioContext({
59
- sampleRate: k
60
- }), p = n.createMediaStreamSource(t);
61
- try {
62
- await n.audioWorklet.addModule("/infra/public/js/audio-recorder-processor.js");
63
- } catch (m) {
64
- console.error(m);
65
- }
66
- const s = new AudioWorkletNode(n, "audio-recorder-processor");
67
- s.port.addEventListener("message", G), o({
68
- type: "update",
69
- updatedState: {
70
- micStream: t,
71
- micStreamAudioSourceNode: p,
72
- audioContext: n,
73
- recordTime: 0,
74
- audioWorkletNode: s,
75
- recordState: "RECORDING",
76
- playState: "IDLE"
77
- }
78
- }), l.current = [], D.current = [], s.port.start(), p.connect(s), s.connect(n.destination);
79
- }, B = y(async () => {
80
- e.current && (e.current.currentTime = 0, e.current.pause()), r === "PAUSED" ? (o({
81
- type: "update",
82
- updatedState: {
83
- recordState: "RECORDING",
84
- playState: "IDLE"
85
- }
86
- }), a == null || a.resume(), d == null || d(void 0)) : x();
87
- }, [r, a, e]), w = y(() => {
88
- o({
89
- type: "update",
90
- updatedState: {
91
- recordState: "PAUSED",
92
- playState: "IDLE",
93
- isEncoding: !0
94
- }
95
- }), a == null || a.suspend(), E && D.current && l.current && (E.postMessage(["wav", l.current, D.current, l.current.length * N]), E.onmessage = (t) => {
96
- const n = window.URL.createObjectURL(t.data);
97
- o({
98
- type: "update",
99
- updatedState: {
100
- isEncoding: !1
101
- }
102
- }), e.current && (e.current.src = n), d && d(n);
103
- });
104
- }, [a, E, d]), q = y(() => {
105
- var t;
106
- o({
107
- type: "update",
108
- updatedState: {
109
- playState: "PLAYING"
110
- }
111
- }), ((t = e == null ? void 0 : e.current) != null && t.currentTime || e.current) && e.current.play();
112
- }, [e]), Z = y(() => {
113
- var t;
114
- (t = e == null ? void 0 : e.current) == null || t.pause(), o({
115
- type: "update",
116
- updatedState: {
117
- playState: "PAUSED"
118
- }
119
- });
120
- }, [e]), z = y(() => {
121
- I(), o({
122
- type: "update",
123
- updatedState: {
124
- playState: "IDLE",
125
- recordState: "IDLE"
126
- }
127
- }), l.current = [], D.current = [], d && d(void 0);
128
- }, [I, d]), O = y(async () => {
129
- var n;
130
- const t = (n = v.current) == null ? void 0 : n.value;
131
- if (!t) {
132
- console.error("Audio name is required");
133
- return;
134
- }
135
- return e.current && (e.current.pause(), e.current.currentTime = 0), o({
136
- type: "update",
137
- updatedState: {
138
- recordState: "SAVING",
139
- playState: "IDLE"
140
- }
141
- }), new Promise((p, s) => {
142
- try {
143
- E && D.current && l.current && (E.postMessage(["mp3", l.current, D.current, l.current.length * N]), E.onmessage = async (m) => {
144
- if (m.data instanceof Blob) {
145
- const R = new File([m.data], t, {
146
- type: "audio/mp3"
147
- }), C = await _(R, {
148
- application: W,
149
- visibility: F
150
- });
151
- C && g && g(C), o({
152
- type: "update",
153
- updatedState: {
154
- recordState: "SAVED"
155
- }
156
- }), p(C);
157
- }
158
- });
159
- } catch (m) {
160
- o({
161
- type: "update",
162
- updatedState: {
163
- playState: "IDLE",
164
- recordState: "IDLE"
165
- }
166
- }), console.error("Error while saving", m), s();
167
- }
168
- });
169
- }, [r, g, I]), H = y(() => {
170
- e != null && e.current && (e.current.pause(), e.current.currentTime = 0), o({
171
- type: "update",
172
- updatedState: {
173
- playState: "IDLE"
174
- }
175
- });
176
- }, [e]), J = y(() => {
177
- o({
178
- type: "update",
179
- updatedState: {
180
- playState: "PAUSED"
181
- }
182
- }), e.current && (e.current.currentTime = 0);
183
- }, [e]);
184
- j(() => {
185
- if (r === "RECORDING" && a) {
186
- const t = window.setInterval(
187
- // Compute exact elapsed time by diffing the start time.
188
- () => {
189
- o({
190
- type: "update",
191
- updatedState: {
192
- recordTime: a.currentTime
193
- }
194
- }), a.currentTime >= A && (w(), window.clearInterval(t));
195
- },
196
- 100
197
- );
198
- return () => window.clearInterval(t);
199
- }
200
- }, [a, w, A, r]);
201
- const M = i(r === "IDLE" ? "bbm.audio.record.start" : "bbm.audio.record.resume"), K = [{
202
- type: "icon",
203
- name: "record",
204
- visibility: r === "RECORDING" ? "hide" : "show",
205
- props: {
206
- icon: /* @__PURE__ */ S(b, { name: "record" }),
207
- color: "danger",
208
- disabled: r !== "IDLE" && r !== "PAUSED" || T >= A,
209
- onClick: B,
210
- "aria-label": M
211
- },
212
- tooltip: M
213
- }, {
214
- type: "icon",
215
- name: "recordPause",
216
- visibility: r === "RECORDING" ? "show" : "hide",
217
- props: {
218
- icon: /* @__PURE__ */ S(b, { name: "record-pause" }),
219
- color: "danger",
220
- disabled: r !== "RECORDING",
221
- onClick: w,
222
- "aria-label": i("bbm.audio.record.pause")
223
- },
224
- tooltip: i("bbm.audio.record.pause")
225
- }, {
226
- type: "divider"
227
- }, {
228
- type: "icon",
229
- name: "encoding",
230
- visibility: L ? "show" : "hide",
231
- props: {
232
- icon: /* @__PURE__ */ S(b, { name: "loader", style: {
233
- animation: "loading 1s infinite"
234
- } }),
235
- disabled: !0
236
- }
237
- }, {
238
- type: "icon",
239
- name: "play",
240
- visibility: L || u === "PLAYING" ? "hide" : "show",
241
- props: {
242
- icon: /* @__PURE__ */ S(b, { name: "play-filled" }),
243
- disabled: r !== "RECORDED" && r !== "PAUSED" && r !== "SAVED",
244
- onClick: q,
245
- "aria-label": i("bbm.audio.play.start")
246
- },
247
- tooltip: i("bbm.audio.play.start")
248
- }, {
249
- type: "icon",
250
- name: "playPause",
251
- visibility: !L && u === "PLAYING" ? "show" : "hide",
252
- props: {
253
- icon: /* @__PURE__ */ S(b, { name: "pause" }),
254
- onClick: Z,
255
- "aria-label": i("bbm.audio.play.pause")
256
- },
257
- tooltip: i("bbm.audio.play.pause")
258
- }, {
259
- type: "icon",
260
- name: "stop",
261
- props: {
262
- icon: /* @__PURE__ */ S(b, { name: "restart" }),
263
- disabled: u !== "PLAYING" && u !== "PAUSED",
264
- onClick: H,
265
- "aria-label": i("bbm.audio.play.stop")
266
- },
267
- tooltip: i("bbm.audio.play.stop")
268
- }, {
269
- type: "divider"
270
- }, {
271
- type: "icon",
272
- name: "reset",
273
- props: {
274
- icon: /* @__PURE__ */ S(b, { name: "refresh" }),
275
- disabled: r !== "RECORDED" && r !== "PAUSED" && u !== "PLAYING" && u !== "PAUSED",
276
- onClick: z,
277
- "aria-label": i("bbm.audio.record.reset")
278
- },
279
- tooltip: i("bbm.audio.record.reset")
280
- }, {
281
- type: "icon",
282
- name: "save",
283
- visibility: Y ? "hide" : "show",
284
- props: {
285
- icon: /* @__PURE__ */ S(b, { name: "save" }),
286
- disabled: r !== "RECORDED" && r !== "PAUSED" && u !== "PLAYING" && u !== "PAUSED" || r === "SAVED" || !((U = v.current) != null && U.value),
287
- onClick: O,
288
- "aria-label": i("bbm.audio.record.save")
289
- },
290
- tooltip: i("bbm.audio.record.save")
291
- }];
292
- return {
293
- recordState: r,
294
- playState: u,
295
- audioContext: a,
296
- recordTime: T * 1e3,
297
- maxDuration: A * 1e3,
298
- audioRef: e,
299
- audioNameRef: v,
300
- toolbarItems: K,
301
- handlePlayEnded: J,
302
- handleSave: O
303
- };
304
- }
305
- export {
306
- oe as default
307
- };
308
- //# sourceMappingURL=useAudioRecorder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAudioRecorder.js","sources":["../../../../src/modules/multimedia/AudioRecorder/useAudioRecorder.tsx"],"sourcesContent":["import { useCallback, useEffect, useReducer, useRef } from 'react';\n\nimport { WorkspaceElement, WorkspaceVisibility } from '@edifice.io/ts-client';\nimport { useTranslation } from 'react-i18next';\n\nimport { Icon, ToolbarItem } from '../../../components';\nimport { useWorkspaceFile } from '../../../core';\n\nexport type RecordState =\n | 'IDLE'\n | 'RECORDING'\n | 'PAUSED'\n | 'RECORDED'\n | 'SAVING'\n | 'SAVED';\n\nexport type PlayState = 'IDLE' | 'PLAYING' | 'PAUSED';\n\ntype AudioReducerState = {\n recordState: RecordState;\n playState: PlayState;\n isEncoding: boolean;\n\n // The audio recorder is based on the Web Audio API (https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API)\n // See also https://developer.mozilla.org/en-US/docs/Web/API/AudioWorkletNode for more information.\n micStream?: MediaStream;\n micStreamAudioSourceNode?: MediaStreamAudioSourceNode;\n audioWorkletNode?: AudioWorkletNode;\n audioContext?: AudioContext;\n\n // encoder and web socket for sending encoded audio to the backend\n encoderWorker?: Worker;\n\n recordTime: number;\n // max duration in s (3 minutes by default)\n maxDuration: number;\n};\n\nexport default function useAudioRecorder(\n onSaveSuccess?: (resource: WorkspaceElement) => void,\n onUpdateRecord?: (audioUrl?: string) => void,\n hideSaveAction = false,\n visibility: WorkspaceVisibility = 'protected',\n application = 'media-library',\n) {\n function audioReducer(\n state: AudioReducerState,\n action: {\n type: 'update';\n updatedState?: Partial<AudioReducerState>;\n },\n ): AudioReducerState {\n return { ...state, ...action.updatedState };\n }\n\n const [\n {\n recordState,\n playState,\n micStream,\n micStreamAudioSourceNode,\n audioWorkletNode,\n audioContext,\n encoderWorker,\n maxDuration,\n recordTime,\n isEncoding,\n },\n dispatch,\n ] = useReducer(audioReducer, {\n recordState: 'IDLE',\n isEncoding: false,\n playState: 'IDLE',\n recordTime: 0,\n maxDuration: 180, // max duration in s (3 minutes by default)\n });\n const audioNameRef = useRef<HTMLInputElement>(null);\n const audioRef = useRef<HTMLAudioElement>(null);\n const leftChannelRef = useRef<Float32Array[]>();\n const rightChannelRef = useRef<Float32Array[]>();\n\n const { t } = useTranslation();\n const { create } = useWorkspaceFile();\n\n const BUFFER_SIZE = 128; // https://developer.mozilla.org/en-US/docs/Web/API/AudioWorkletProcessor\n const DEFAULT_SAMPLE_RATE = 48000;\n\n // Init Web Socket to send audio chunks to backend\n useEffect(() => {\n const encoderWorker = new Worker('/infra/public/js/audioEncoder.js');\n dispatch({\n type: 'update',\n updatedState: { encoderWorker: encoderWorker },\n });\n encoderWorker.postMessage([\n 'init',\n audioContext?.sampleRate || DEFAULT_SAMPLE_RATE,\n ]);\n\n return () => {\n closeAudioStream();\n encoderWorker.terminate();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n /**\n * Handle message received from the audio recorder processor.\n * Basically the Audio recorder processor returns the input channels that will be treated by the audioEncoder worker.\n * The audio recorder processor script is located here: /infra/public/js/audio-recorder-processor.js\n * The script follows the AudioWorkletProcessor API (https://developer.mozilla.org/en-US/docs/Web/API/AudioWorkletProcessor)\n * This method gets called for each block of 128 sample-frames.\n *\n * @param event is the input returned, containing leftChannel and rightChannel arrays.\n */\n const handleAudioWorkletNodeMessage = (event: MessageEvent) => {\n const leftChannel = (event.data.inputs as Float32Array[][])[0][0];\n let rightChannel = (event.data.inputs as Float32Array[][])[0][1];\n if (\n !rightChannel ||\n rightChannel.filter((data) => data !== undefined).length === 0\n ) {\n rightChannel = leftChannel;\n }\n leftChannelRef.current?.push(leftChannel);\n rightChannelRef.current?.push(rightChannel);\n };\n\n /**\n * Close opened audio stream and clean channels\n */\n const closeAudioStream = useCallback(() => {\n // Close audio stream\n micStream?.getTracks().forEach((track) => track.stop());\n micStreamAudioSourceNode?.disconnect();\n audioWorkletNode?.port.removeEventListener(\n 'message',\n handleAudioWorkletNodeMessage,\n );\n audioWorkletNode?.port.close();\n audioWorkletNode?.disconnect();\n audioContext?.close();\n }, [audioContext, audioWorkletNode, micStream, micStreamAudioSourceNode]);\n\n const initRecording = async () => {\n // Request access to the user's microphone\n const micStream: MediaStream = await navigator.mediaDevices.getUserMedia({\n audio: true,\n });\n\n // Create the microphone stream\n const audioContext = new AudioContext({ sampleRate: DEFAULT_SAMPLE_RATE });\n const micStreamAudioSourceNode: MediaStreamAudioSourceNode =\n audioContext.createMediaStreamSource(micStream);\n\n // Create and connect AudioWorkletNode for processing the audio stream\n // https://developer.mozilla.org/en-US/docs/Web/API/AudioWorkletProcessor\n try {\n await audioContext.audioWorklet.addModule(\n '/infra/public/js/audio-recorder-processor.js',\n );\n } catch (err) {\n console.error(err);\n }\n\n const audioWorkletNode = new AudioWorkletNode(\n audioContext,\n 'audio-recorder-processor',\n );\n\n // Message received from the audio recorder processor. cf handleAudioWorkletNodeMessage function.\n // Basically the Audio recorder processor returns the input channels that will be treated by the audioEncoder worker.\n audioWorkletNode.port.addEventListener(\n 'message',\n handleAudioWorkletNodeMessage,\n );\n\n // Store the audio context and stream in the state, reset record time and set states\n dispatch({\n type: 'update',\n updatedState: {\n micStream,\n micStreamAudioSourceNode,\n audioContext,\n recordTime: 0,\n audioWorkletNode,\n recordState: 'RECORDING',\n playState: 'IDLE',\n },\n });\n\n // Clean audio channels\n rightChannelRef.current = [];\n leftChannelRef.current = [];\n\n audioWorkletNode.port.start();\n\n micStreamAudioSourceNode.connect(audioWorkletNode);\n audioWorkletNode.connect(audioContext.destination);\n };\n\n const handleRecord = useCallback(async () => {\n if (audioRef.current) {\n audioRef.current.currentTime = 0;\n audioRef.current.pause();\n }\n if (recordState === 'PAUSED') {\n // Resume recording\n dispatch({\n type: 'update',\n updatedState: { recordState: 'RECORDING', playState: 'IDLE' },\n });\n audioContext?.resume();\n onUpdateRecord?.(undefined);\n } else {\n // Start new recording\n initRecording();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [recordState, audioContext, audioRef]);\n\n const handleRecordPause = useCallback(() => {\n dispatch({\n type: 'update',\n updatedState: {\n recordState: 'PAUSED',\n playState: 'IDLE',\n isEncoding: true,\n },\n });\n audioContext?.suspend();\n if (encoderWorker && leftChannelRef.current && rightChannelRef.current) {\n // Encode audio\n encoderWorker.postMessage([\n 'wav',\n rightChannelRef.current,\n leftChannelRef.current,\n rightChannelRef.current.length * BUFFER_SIZE,\n ]);\n encoderWorker.onmessage = (event: MessageEvent) => {\n const audioUrl = window.URL.createObjectURL(event.data);\n\n dispatch({\n type: 'update',\n updatedState: { isEncoding: false },\n });\n\n if (audioRef.current) {\n audioRef.current.src = audioUrl;\n }\n\n if (onUpdateRecord) {\n onUpdateRecord(audioUrl);\n }\n };\n }\n }, [audioContext, encoderWorker, onUpdateRecord]);\n\n const handlePlay = useCallback(() => {\n dispatch({ type: 'update', updatedState: { playState: 'PLAYING' } });\n if (audioRef?.current?.currentTime) {\n audioRef.current.play();\n } else {\n if (audioRef.current) {\n audioRef.current.play();\n }\n }\n }, [audioRef]);\n\n const handlePlayPause = useCallback(() => {\n audioRef?.current?.pause();\n dispatch({ type: 'update', updatedState: { playState: 'PAUSED' } });\n }, [audioRef]);\n\n const handleReset = useCallback(() => {\n closeAudioStream();\n\n dispatch({\n type: 'update',\n updatedState: {\n playState: 'IDLE',\n recordState: 'IDLE',\n },\n });\n\n // Clean channels\n rightChannelRef.current = [];\n leftChannelRef.current = [];\n\n if (onUpdateRecord) {\n onUpdateRecord(undefined);\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [closeAudioStream, onUpdateRecord]);\n\n const handleSave: () => Promise<WorkspaceElement | undefined> =\n useCallback(async () => {\n const audioName = audioNameRef.current?.value;\n if (!audioName) {\n console.error('Audio name is required');\n return;\n }\n if (audioRef.current) {\n audioRef.current.pause();\n audioRef.current.currentTime = 0;\n }\n dispatch({\n type: 'update',\n updatedState: { recordState: 'SAVING', playState: 'IDLE' },\n });\n return new Promise<WorkspaceElement | undefined>((resolve, reject) => {\n try {\n if (\n encoderWorker &&\n leftChannelRef.current &&\n rightChannelRef.current\n ) {\n encoderWorker.postMessage([\n 'mp3',\n rightChannelRef.current,\n leftChannelRef.current,\n rightChannelRef.current.length * BUFFER_SIZE,\n ]);\n\n encoderWorker.onmessage = async (event: MessageEvent) => {\n if (event.data instanceof Blob) {\n const file = new File([event.data], audioName!, {\n type: 'audio/mp3',\n });\n\n const resourceAudio = await create(file, {\n application,\n visibility,\n });\n\n if (resourceAudio && onSaveSuccess) {\n onSaveSuccess(resourceAudio);\n }\n\n dispatch({\n type: 'update',\n updatedState: { recordState: 'SAVED' },\n });\n\n resolve(resourceAudio);\n }\n };\n }\n } catch (error) {\n dispatch({\n type: 'update',\n updatedState: { playState: 'IDLE', recordState: 'IDLE' },\n });\n console.error('Error while saving', error);\n reject();\n }\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [recordState, onSaveSuccess, closeAudioStream]);\n\n const handlePlayStop = useCallback(() => {\n // Stop Playing the record\n if (audioRef?.current) {\n audioRef.current.pause();\n audioRef.current.currentTime = 0;\n }\n dispatch({ type: 'update', updatedState: { playState: 'IDLE' } });\n }, [audioRef]);\n\n const handlePlayEnded = useCallback(() => {\n dispatch({ type: 'update', updatedState: { playState: 'PAUSED' } });\n if (audioRef.current) {\n audioRef.current.currentTime = 0;\n }\n }, [audioRef]);\n\n /**\n * Auto-stop recording when max allowed duration is reached.\n */\n useEffect(() => {\n if (recordState === 'RECORDING' && audioContext) {\n const timer = window.setInterval(\n // Compute exact elapsed time by diffing the start time.\n () => {\n dispatch({\n type: 'update',\n updatedState: {\n recordTime: audioContext.currentTime,\n },\n });\n\n if (audioContext.currentTime >= maxDuration) {\n handleRecordPause();\n window.clearInterval(timer);\n }\n },\n 100,\n );\n\n return () => window.clearInterval(timer);\n }\n }, [audioContext, handleRecordPause, maxDuration, recordState]);\n\n const recordText =\n recordState === 'IDLE'\n ? t('bbm.audio.record.start')\n : t('bbm.audio.record.resume');\n\n const toolbarItems: ToolbarItem[] = [\n {\n type: 'icon',\n name: 'record',\n visibility: recordState === 'RECORDING' ? 'hide' : 'show',\n props: {\n icon: <Icon name=\"record\" />,\n color: 'danger',\n disabled:\n (recordState !== 'IDLE' && recordState !== 'PAUSED') ||\n recordTime >= maxDuration,\n onClick: handleRecord,\n 'aria-label': recordText,\n },\n tooltip: recordText,\n },\n {\n type: 'icon',\n name: 'recordPause',\n visibility: recordState === 'RECORDING' ? 'show' : 'hide',\n props: {\n icon: <Icon name=\"record-pause\" />,\n color: 'danger',\n disabled: recordState !== 'RECORDING',\n onClick: handleRecordPause,\n 'aria-label': t('bbm.audio.record.pause'),\n },\n tooltip: t('bbm.audio.record.pause'),\n },\n { type: 'divider' },\n {\n type: 'icon',\n name: 'encoding',\n visibility: isEncoding ? 'show' : 'hide',\n props: {\n icon: (\n <Icon name=\"loader\" style={{ animation: 'loading 1s infinite' }} />\n ),\n disabled: true,\n },\n },\n {\n type: 'icon',\n name: 'play',\n visibility: isEncoding || playState === 'PLAYING' ? 'hide' : 'show',\n props: {\n icon: <Icon name=\"play-filled\" />,\n disabled:\n recordState !== 'RECORDED' &&\n recordState !== 'PAUSED' &&\n recordState !== 'SAVED',\n onClick: handlePlay,\n 'aria-label': t('bbm.audio.play.start'),\n },\n tooltip: t('bbm.audio.play.start'),\n },\n {\n type: 'icon',\n name: 'playPause',\n visibility: !isEncoding && playState === 'PLAYING' ? 'show' : 'hide',\n props: {\n icon: <Icon name=\"pause\" />,\n onClick: handlePlayPause,\n 'aria-label': t('bbm.audio.play.pause'),\n },\n tooltip: t('bbm.audio.play.pause'),\n },\n {\n type: 'icon',\n name: 'stop',\n props: {\n icon: <Icon name=\"restart\" />,\n disabled: playState !== 'PLAYING' && playState !== 'PAUSED',\n onClick: handlePlayStop,\n 'aria-label': t('bbm.audio.play.stop'),\n },\n tooltip: t('bbm.audio.play.stop'),\n },\n { type: 'divider' },\n {\n type: 'icon',\n name: 'reset',\n props: {\n icon: <Icon name=\"refresh\" />,\n disabled:\n recordState !== 'RECORDED' &&\n recordState !== 'PAUSED' &&\n playState !== 'PLAYING' &&\n playState !== 'PAUSED',\n onClick: handleReset,\n 'aria-label': t('bbm.audio.record.reset'),\n },\n tooltip: t('bbm.audio.record.reset'),\n },\n {\n type: 'icon',\n name: 'save',\n visibility: hideSaveAction ? 'hide' : 'show',\n props: {\n icon: <Icon name=\"save\" />,\n disabled:\n (recordState !== 'RECORDED' &&\n recordState !== 'PAUSED' &&\n playState !== 'PLAYING' &&\n playState !== 'PAUSED') ||\n recordState === 'SAVED' ||\n !audioNameRef.current?.value,\n onClick: handleSave,\n 'aria-label': t('bbm.audio.record.save'),\n },\n tooltip: t('bbm.audio.record.save'),\n },\n ];\n\n return {\n recordState,\n playState,\n audioContext,\n recordTime: recordTime * 1000,\n maxDuration: maxDuration * 1000,\n audioRef,\n audioNameRef,\n toolbarItems,\n handlePlayEnded,\n handleSave,\n };\n}\n"],"names":["useAudioRecorder","onSaveSuccess","onUpdateRecord","hideSaveAction","visibility","application","audioReducer","state","action","updatedState","recordState","playState","micStream","micStreamAudioSourceNode","audioWorkletNode","audioContext","encoderWorker","maxDuration","recordTime","isEncoding","dispatch","useReducer","audioNameRef","useRef","audioRef","leftChannelRef","rightChannelRef","t","useTranslation","create","useWorkspaceFile","BUFFER_SIZE","DEFAULT_SAMPLE_RATE","useEffect","Worker","type","postMessage","sampleRate","closeAudioStream","terminate","handleAudioWorkletNodeMessage","event","leftChannel","data","inputs","rightChannel","filter","undefined","length","current","push","useCallback","getTracks","forEach","track","stop","disconnect","port","removeEventListener","close","initRecording","navigator","mediaDevices","getUserMedia","audio","AudioContext","createMediaStreamSource","audioWorklet","addModule","err","console","error","AudioWorkletNode","addEventListener","start","connect","destination","handleRecord","currentTime","pause","resume","handleRecordPause","suspend","onmessage","audioUrl","window","URL","createObjectURL","src","handlePlay","play","handlePlayPause","handleReset","handleSave","audioName","value","Promise","resolve","reject","Blob","file","File","resourceAudio","handlePlayStop","handlePlayEnded","timer","setInterval","clearInterval","recordText","toolbarItems","name","props","icon","jsx","Icon","color","disabled","onClick","tooltip","animation"],"mappings":"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"}
@@ -1,33 +0,0 @@
1
- import { jsxs as i, jsx as r } from "react/jsx-runtime";
2
- import { useState as o } from "react";
3
- import { useTranslation as s } from "react-i18next";
4
- import { TextArea as c } from "../../../components/TextArea/TextArea.js";
5
- import { Icon as b } from "../../../components/Icon/Icon.js";
6
- import { FormControl as f } from "../../../components/Form/FormControl.js";
7
- const N = ({
8
- onSuccess: l
9
- }) => {
10
- const {
11
- t
12
- } = s(), [e, n] = o();
13
- function d(a) {
14
- const m = a.target.value;
15
- n(m), m != null && m.length ? l(m) : l();
16
- }
17
- return /* @__PURE__ */ i("div", { className: "d-flex flex-column flex-fill", children: [
18
- /* @__PURE__ */ r("div", { className: "mb-32", children: t("bbm.embed.description") }),
19
- /* @__PURE__ */ i("div", { className: "mb-8 d-flex", children: [
20
- /* @__PURE__ */ r(b, { name: "code", className: "me-8" }),
21
- t("bbm.embed.title")
22
- ] }),
23
- /* @__PURE__ */ r(f, { id: "iframeContent", children: /* @__PURE__ */ r(c, { size: "md", height: "sm", placeholder: t("bbm.embed.placeholder"), onChange: d }) }),
24
- !!(e != null && e.length) && /* @__PURE__ */ r("div", { className: "embed-preview mt-12", dangerouslySetInnerHTML: {
25
- __html: e
26
- } }),
27
- !(e != null && e.length) && /* @__PURE__ */ r("div", { className: "embed-preview mt-12 d-flex align-items-center justify-content-center bg-gray-300 text-black-50 rounded-3", children: /* @__PURE__ */ r("strong", { children: t("bbm.embed.preview") }) })
28
- ] });
29
- };
30
- export {
31
- N as default
32
- };
33
- //# sourceMappingURL=Embed.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Embed.js","sources":["../../../../src/modules/multimedia/Embed/Embed.tsx"],"sourcesContent":["import { useState } from 'react';\n\nimport { useTranslation } from 'react-i18next';\n\nimport { FormControl, Icon, TextArea } from '../../../components';\n\nexport interface EmbedProps {\n onSuccess: (resource?: string) => void;\n}\n\nconst Embed = ({ onSuccess }: EmbedProps) => {\n const { t } = useTranslation();\n\n const [htmlContent, setHTMLContent] = useState<string>();\n\n function handleContentChange(event: React.ChangeEvent<HTMLTextAreaElement>) {\n const HTMLContent = event.target.value;\n\n setHTMLContent(HTMLContent);\n\n if (HTMLContent?.length) {\n onSuccess(HTMLContent);\n } else {\n onSuccess();\n }\n }\n\n return (\n <div className=\"d-flex flex-column flex-fill\">\n <div className=\"mb-32\">{t('bbm.embed.description')}</div>\n <div className=\"mb-8 d-flex\">\n <Icon name=\"code\" className=\"me-8\" />\n {t('bbm.embed.title')}\n </div>\n <FormControl id=\"iframeContent\">\n <TextArea\n size=\"md\"\n height=\"sm\"\n placeholder={t('bbm.embed.placeholder')}\n onChange={handleContentChange}\n />\n </FormControl>\n {!!htmlContent?.length && (\n <div\n className=\"embed-preview mt-12\"\n dangerouslySetInnerHTML={{ __html: htmlContent }}\n ></div>\n )}\n {!htmlContent?.length && (\n <div className=\"embed-preview mt-12 d-flex align-items-center justify-content-center bg-gray-300 text-black-50 rounded-3\">\n <strong>{t('bbm.embed.preview')}</strong>\n </div>\n )}\n </div>\n );\n};\n\nexport default Embed;\n"],"names":["Embed","onSuccess","t","useTranslation","htmlContent","setHTMLContent","useState","handleContentChange","event","HTMLContent","target","value","length","jsxs","jsx","Icon","FormControl","TextArea","__html"],"mappings":";;;;;;AAUA,MAAMA,IAAQA,CAAC;AAAA,EAAEC,WAAAA;AAAsB,MAAM;AACrC,QAAA;AAAA,IAAEC;AAAAA,MAAMC,EAAe,GAEvB,CAACC,GAAaC,CAAc,IAAIC,EAAiB;AAEvD,WAASC,EAAoBC,GAA+C;AACpEC,UAAAA,IAAcD,EAAME,OAAOC;AAEjCN,IAAAA,EAAeI,CAAW,GAEtBA,KAAAA,QAAAA,EAAaG,SACfX,EAAUQ,CAAW,IAEXR;EAEd;AAGE,SAAA,gBAAAY,EAAC,OAAI,EAAA,WAAU,gCACb,UAAA;AAAA,IAAA,gBAAAC,EAAC,OAAI,EAAA,WAAU,SAASZ,UAAAA,EAAE,uBAAuB,GAAE;AAAA,IACnD,gBAAAW,EAAC,OAAI,EAAA,WAAU,eACb,UAAA;AAAA,MAAA,gBAAAC,EAACC,GAAK,EAAA,MAAK,QAAO,WAAU,QAAM;AAAA,MACjCb,EAAE,iBAAiB;AAAA,IAAA,GACtB;AAAA,sBACCc,GAAY,EAAA,IAAG,iBACd,UAAA,gBAAAF,EAACG,KACC,MAAK,MACL,QAAO,MACP,aAAaf,EAAE,uBAAuB,GACtC,UAAUK,EAAoB,CAAA,GAElC;AAAA,IACC,CAAC,EAACH,KAAAA,QAAAA,EAAaQ,6BACb,OACC,EAAA,WAAU,uBACV,yBAAyB;AAAA,MAAEM,QAAQd;AAAAA,IAAAA,GACpC;AAAA,IAEF,EAACA,KAAAA,QAAAA,EAAaQ,WACb,gBAAAE,EAAC,OAAI,EAAA,WAAU,4GACb,UAAA,gBAAAA,EAAC,UAAQZ,EAAAA,UAAAA,EAAE,mBAAmB,EAAE,CAAA,GAClC;AAAA,EAEJ,EAAA,CAAA;AAEJ;"}
@@ -1,117 +0,0 @@
1
- import { jsxs as o, jsx as t } from "react/jsx-runtime";
2
- import { useState as l } from "react";
3
- import { Stage as $ } from "@pixi/react";
4
- import { useTranslation as q } from "react-i18next";
5
- import G from "../hooks/useImageEditor.js";
6
- import J from "./ImageEditorToolbar.js";
7
- import { Modal as r } from "../../../../components/Modal/Modal.js";
8
- import { LoadingScreen as K } from "../../../../components/LoadingScreen/LoadingScreen.js";
9
- import { FormControl as u } from "../../../../components/Form/FormControl.js";
10
- import { Label as h } from "../../../../components/Label/Label.js";
11
- import { Input as x } from "../../../../components/Input/Input.js";
12
- import { Button as b } from "../../../../components/Button/Button.js";
13
- const ie = ({
14
- altText: v,
15
- legend: y,
16
- image: w,
17
- isOpen: C,
18
- onCancel: k,
19
- onError: i,
20
- onSave: N
21
- }) => {
22
- const {
23
- t: a
24
- } = q(), [c, R] = l(void 0), [d, m] = l(!1), [p, S] = l(v ?? ""), [g, B] = l(y ?? ""), [O, n] = l(!1), {
25
- toBlob: T,
26
- setApplication: I,
27
- startBlur: z,
28
- stopBlur: A,
29
- restore: L,
30
- rotate: j,
31
- startCrop: E,
32
- stopCrop: M,
33
- startResize: D,
34
- stopResize: F,
35
- historyCount: P,
36
- loading: U
37
- } = G({
38
- imageSrc: w
39
- }), f = () => {
40
- A(), M(c === "CROP"), F(c === "RESIZE");
41
- }, Z = async () => {
42
- try {
43
- m(!0), f();
44
- const e = await T();
45
- e && await N({
46
- blob: e,
47
- altText: p,
48
- legend: g
49
- });
50
- } catch (e) {
51
- i == null || i(`${e}`);
52
- } finally {
53
- m(!1);
54
- }
55
- }, s = () => {
56
- k();
57
- }, H = async (e) => {
58
- switch (f(), R(e), n(!0), e) {
59
- case "ROTATE": {
60
- await j();
61
- break;
62
- }
63
- case "UNDO": {
64
- await L();
65
- break;
66
- }
67
- case "CROP": {
68
- E();
69
- break;
70
- }
71
- case "RESIZE": {
72
- await D();
73
- break;
74
- }
75
- case "BLUR": {
76
- await z();
77
- break;
78
- }
79
- }
80
- };
81
- return /* @__PURE__ */ o(r, { id: "image-editor", isOpen: C, onModalClose: s, size: "lg", children: [
82
- /* @__PURE__ */ t(r.Header, { onModalClose: s, children: /* @__PURE__ */ t("span", { className: "h2", children: a("imageeditor.title") }) }),
83
- /* @__PURE__ */ t(r.Body, { className: "d-flex flex-column align-items-center", children: /* @__PURE__ */ o("div", { className: "d-flex flex-column gap-12 w-100 flex-grow-1", children: [
84
- /* @__PURE__ */ t(J, { handle: H, historyCount: P }),
85
- /* @__PURE__ */ o("div", { className: "position-relative d-flex flex-column align-items-center justify-content-center flex-grow-1 w-100 image-editor", children: [
86
- /* @__PURE__ */ t($, { onMount: (e) => I(e), options: {
87
- preserveDrawingBuffer: !0,
88
- backgroundAlpha: 0,
89
- resolution: 1
90
- } }),
91
- !!U && /* @__PURE__ */ t("div", { className: "position-absolute top-0 start-0 bottom-0 end-0 m-10 d-flex align-items-center justify-content-center bg-black opacity-25", children: /* @__PURE__ */ t(K, {}) })
92
- ] }),
93
- /* @__PURE__ */ o("div", { className: "d-flex flex-column flex-md-row m-10 gap-12 w-100", children: [
94
- /* @__PURE__ */ o(u, { id: "alt", className: "flex-grow-1", children: [
95
- /* @__PURE__ */ t(h, { children: a("alttext") }),
96
- /* @__PURE__ */ t(x, { value: p, onChange: (e) => {
97
- n(!0), S(e.target.value);
98
- }, placeholder: a("alttext.help"), size: "md", type: "text" })
99
- ] }),
100
- /* @__PURE__ */ o(u, { id: "legend", className: "flex-grow-1", children: [
101
- /* @__PURE__ */ t(h, { children: a("legend") }),
102
- /* @__PURE__ */ t(x, { value: g, onChange: (e) => {
103
- n(!0), B(e.target.value);
104
- }, placeholder: a("legend.help"), size: "md", type: "text" })
105
- ] })
106
- ] })
107
- ] }) }),
108
- /* @__PURE__ */ o(r.Footer, { children: [
109
- /* @__PURE__ */ t(b, { color: "tertiary", onClick: s, type: "button", variant: "ghost", children: a("imageeditor.cancel") }),
110
- /* @__PURE__ */ t(b, { color: "primary", onClick: Z, type: "button", variant: "filled", isLoading: d, disabled: d || !O, children: a("imageeditor.save") })
111
- ] })
112
- ] });
113
- };
114
- export {
115
- ie as default
116
- };
117
- //# sourceMappingURL=ImageEditor.js.map