@edifice.io/react 2.0.0-develop-rc.12 → 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.
- package/README.md +88 -17
- package/dist/common/OnboardingModal/OnboardingModal.js +59 -0
- package/dist/common/OnboardingModal/useOnboardingModal.js +30 -0
- package/dist/{modules/modals → common}/PublishModal/PublishModal.d.ts +1 -1
- package/dist/common/PublishModal/PublishModal.js +120 -0
- package/dist/common/PublishModal/components/ActivitiesDropdown.js +29 -0
- package/dist/common/PublishModal/components/AgeSelect.js +20 -0
- package/dist/common/PublishModal/components/LangSelect.js +19 -0
- package/dist/common/PublishModal/components/PublishModalFooter.js +23 -0
- package/dist/common/PublishModal/components/SubjectsDropdown.js +29 -0
- package/dist/common/PublishModal/components/ToastError.js +24 -0
- package/dist/{modules/modals → common}/PublishModal/components/ToastSuccess.d.ts +1 -1
- package/dist/common/PublishModal/components/ToastSuccess.js +18 -0
- package/dist/common/PublishModal/constants/ageOptions.js +4 -0
- package/dist/{modules/modals → common}/PublishModal/hooks/useActivitiesOptions.js +4 -5
- package/dist/common/PublishModal/hooks/useLanguageOptions.js +43 -0
- package/dist/{modules/modals → common}/PublishModal/hooks/usePublishModal.d.ts +1 -1
- package/dist/common/PublishModal/hooks/usePublishModal.js +106 -0
- package/dist/{modules/modals → common}/PublishModal/hooks/useSubjectsOptions.js +41 -42
- package/dist/{modules/modals → common}/ResourceModal/ResourceModal.d.ts +3 -3
- package/dist/common/ResourceModal/ResourceModal.js +156 -0
- package/dist/{modules/modals → common}/ResourceModal/apps/BlogPublic.d.ts +2 -2
- package/dist/common/ResourceModal/apps/BlogPublic.js +62 -0
- package/dist/{modules/modals → common}/ResourceModal/hooks/useSlug.d.ts +1 -1
- package/dist/common/ResourceModal/hooks/useSlug.js +41 -0
- package/dist/{modules/modals → common}/ResourceModal/hooks/useThumb.d.ts +1 -1
- package/dist/common/ResourceModal/hooks/useThumb.js +17 -0
- package/dist/{modules/modals → common}/ResourceModal/hooks/useUpdateMutation.d.ts +3 -3
- package/dist/common/ResourceModal/hooks/useUpdateMutation.js +12 -0
- package/dist/common/ResourceModal/index.d.ts +3 -0
- package/dist/common/ShareModal/ShareBookmark.js +22 -0
- package/dist/{modules/modals → common}/ShareModal/ShareBookmarkLine.d.ts +1 -1
- package/dist/common/ShareModal/ShareBookmarkLine.js +42 -0
- package/dist/{modules/modals → common}/ShareModal/ShareModal.d.ts +2 -2
- package/dist/common/ShareModal/ShareModal.js +128 -0
- package/dist/common/ShareModal/apps/ShareBlog.d.ts +8 -0
- package/dist/common/ShareModal/apps/ShareBlog.js +43 -0
- package/dist/{modules/modals → common}/ShareModal/hooks/useSearch.d.ts +2 -2
- package/dist/common/ShareModal/hooks/useSearch.js +178 -0
- package/dist/{modules/modals → common}/ShareModal/hooks/useShare.d.ts +1 -1
- package/dist/common/ShareModal/hooks/useShare.js +192 -0
- package/dist/{modules/modals → common}/ShareModal/hooks/useShareBookmark.d.ts +1 -1
- package/dist/common/ShareModal/hooks/useShareBookmark.js +67 -0
- package/dist/{modules/modals → common}/ShareModal/hooks/useShareMutation.d.ts +3 -3
- package/dist/common/ShareModal/hooks/useShareMutation.js +15 -0
- package/dist/common/ShareModal/index.d.ts +3 -0
- package/dist/{modules/modals → common}/ShareModal/utils/hasRight.d.ts +1 -1
- package/dist/common/ShareModal/utils/hasRight.js +4 -0
- package/dist/{modules/modals → common}/ShareModal/utils/showShareRightLine.d.ts +1 -1
- package/dist/common/ShareModal/utils/showShareRightLine.js +4 -0
- package/dist/components/ActionBar/ActionBar.d.ts +1 -1
- package/dist/components/ActionBar/ActionBar.js +6 -8
- package/dist/components/ActionBar/index.d.ts +1 -0
- package/dist/components/Alert/Alert.d.ts +1 -1
- package/dist/components/Alert/Alert.js +60 -62
- package/dist/components/Alert/index.d.ts +1 -0
- package/dist/components/AppHeader/AppHeader.d.ts +1 -1
- package/dist/components/AppHeader/AppHeader.js +18 -20
- package/dist/components/AppHeader/index.d.ts +1 -0
- package/dist/components/AppIcon/AppIcon.d.ts +1 -1
- package/dist/components/AppIcon/AppIcon.js +44 -45
- package/dist/components/Attachment/Attachment.d.ts +1 -1
- package/dist/components/Attachment/Attachment.js +13 -15
- package/dist/components/Attachment/index.d.ts +1 -0
- package/dist/{modules/audience → components/Audience}/ReactionChoice.d.ts +1 -1
- package/dist/components/Audience/ReactionChoice.js +33 -0
- package/dist/{modules/audience → components/Audience}/ReactionModal.Card.d.ts +1 -1
- package/dist/components/Audience/ReactionModal.Card.js +33 -0
- package/dist/{modules/audience → components/Audience}/ReactionModal.d.ts +1 -1
- package/dist/components/Audience/ReactionModal.js +73 -0
- package/dist/{modules/audience → components/Audience}/ReactionSummary.d.ts +1 -1
- package/dist/components/Audience/ReactionSummary.js +27 -0
- package/dist/{modules/audience → components/Audience}/ViewsByProfileCard.d.ts +1 -1
- package/dist/components/Audience/ViewsByProfileCard.js +36 -0
- package/dist/components/Audience/ViewsCounter.js +18 -0
- package/dist/{modules/audience → components/Audience}/ViewsModal.d.ts +1 -1
- package/dist/components/Audience/ViewsModal.js +40 -0
- package/dist/{modules/audience → components/Audience}/hooks/useReactionIcons.d.ts +1 -1
- package/dist/components/Audience/hooks/useReactionIcons.js +38 -0
- package/dist/{modules/audience → components/Audience}/hooks/useReactions.d.ts +3 -3
- package/dist/components/Audience/hooks/useReactions.js +35 -0
- package/dist/{modules/audience → components/Audience}/hooks/useViews.d.ts +2 -2
- package/dist/components/Avatar/Avatar.d.ts +1 -1
- package/dist/components/Avatar/Avatar.js +27 -29
- package/dist/components/Avatar/index.d.ts +1 -0
- package/dist/components/Badge/Badge.d.ts +1 -1
- package/dist/components/Badge/Badge.js +20 -22
- package/dist/components/Badge/index.d.ts +1 -0
- package/dist/components/Breadcrumb/Breadcrumb.d.ts +1 -1
- package/dist/components/Breadcrumb/Breadcrumb.js +23 -24
- package/dist/components/Breadcrumb/BreadcrumbItem.js +11 -12
- package/dist/components/Breadcrumb/BreadcrumbList.js +10 -11
- package/dist/components/Breadcrumb/BreadcrumbNav.d.ts +1 -1
- package/dist/components/Breadcrumb/BreadcrumbNav.js +15 -16
- package/dist/components/Button/Button.d.ts +1 -1
- package/dist/components/Button/Button.js +32 -34
- package/dist/components/Button/IconButton.d.ts +1 -1
- package/dist/components/Button/IconButton.js +15 -17
- package/dist/components/Button/SearchButton.d.ts +1 -1
- package/dist/components/Button/SearchButton.js +15 -17
- package/dist/components/Button/index.d.ts +3 -0
- package/dist/components/Card/Card.d.ts +4 -4
- package/dist/components/Card/Card.js +47 -49
- package/dist/components/Card/CardBody.d.ts +1 -1
- package/dist/components/Card/CardBody.js +13 -14
- package/dist/components/Card/CardContext.d.ts +1 -1
- package/dist/components/Card/CardContext.js +7 -8
- package/dist/components/Card/CardFooter.js +5 -6
- package/dist/components/Card/CardHeader.js +14 -15
- package/dist/components/Card/CardImage.d.ts +1 -1
- package/dist/components/Card/CardImage.js +13 -14
- package/dist/components/Card/CardText.js +8 -9
- package/dist/components/Card/CardTitle.js +8 -9
- package/dist/components/Card/CardUser.js +8 -9
- package/dist/components/Card/index.d.ts +1 -0
- package/dist/components/Checkbox/Checkbox.d.ts +1 -1
- package/dist/components/Checkbox/Checkbox.js +30 -32
- package/dist/components/Checkbox/index.d.ts +1 -0
- package/dist/components/ColorPicker/ColorPalette.js +4 -5
- package/dist/components/ColorPicker/ColorPicker.d.ts +1 -1
- package/dist/components/ColorPicker/ColorPicker.js +28 -30
- package/dist/components/ColorPicker/ColorPickerItem.d.ts +1 -1
- package/dist/components/ColorPicker/ColorPickerItem.js +11 -13
- package/dist/components/ColorPicker/index.d.ts +3 -1
- package/dist/components/Combobox/Combobox.d.ts +1 -1
- package/dist/components/Combobox/Combobox.js +35 -36
- package/dist/components/Combobox/ComboboxTrigger.js +21 -22
- package/dist/components/Combobox/index.d.ts +1 -0
- package/dist/components/Dropdown/Dropdown.d.ts +1 -1
- package/dist/components/Dropdown/Dropdown.js +55 -57
- package/dist/components/Dropdown/DropdownCheckboxItem.js +26 -27
- package/dist/components/Dropdown/DropdownContext.js +7 -8
- package/dist/components/Dropdown/DropdownItem.js +27 -28
- package/dist/components/Dropdown/DropdownMenu.js +21 -22
- package/dist/components/Dropdown/DropdownMenuGroup.js +9 -10
- package/dist/components/Dropdown/DropdownRadioItem.js +26 -27
- package/dist/components/Dropdown/DropdownSeparator.js +3 -4
- package/dist/components/Dropdown/DropdownTrigger.js +28 -29
- package/dist/components/Dropdown/index.d.ts +1 -0
- package/dist/components/Dropzone/Dropzone.d.ts +1 -1
- package/dist/components/Dropzone/Dropzone.js +47 -48
- package/dist/components/Dropzone/DropzoneContext.js +8 -9
- package/dist/components/Dropzone/DropzoneDrag.js +7 -8
- package/dist/components/Dropzone/DropzoneFile.js +25 -26
- package/dist/components/Dropzone/DropzoneImport.js +20 -21
- package/dist/components/Dropzone/index.d.ts +1 -0
- package/dist/components/EmptyScreen/EmptyScreen.d.ts +1 -1
- package/dist/components/EmptyScreen/EmptyScreen.js +16 -18
- package/dist/components/EmptyScreen/index.d.ts +1 -0
- package/dist/components/FileCard/FileCard.d.ts +2 -2
- package/dist/components/FileCard/FileCard.js +37 -39
- package/dist/components/FileCard/FileIcon.d.ts +1 -1
- package/dist/components/FileCard/FileIcon.js +11 -12
- package/dist/components/FileCard/index.d.ts +1 -0
- package/dist/components/Form/FormContext.js +7 -8
- package/dist/components/Form/FormControl.d.ts +1 -1
- package/dist/components/Form/FormControl.js +30 -32
- package/dist/components/Form/FormText.d.ts +1 -1
- package/dist/components/Form/FormText.js +12 -14
- package/dist/components/Form/index.d.ts +2 -1
- package/dist/components/Grid/Grid.js +27 -28
- package/dist/components/Heading/Heading.d.ts +1 -1
- package/dist/components/Heading/Heading.js +14 -16
- package/dist/components/Heading/index.d.ts +1 -0
- package/dist/components/Image/Image.d.ts +1 -1
- package/dist/components/Image/Image.js +39 -41
- package/dist/components/Image/index.d.ts +1 -0
- package/dist/components/ImagePicker/ImagePicker.d.ts +1 -1
- package/dist/components/ImagePicker/ImagePicker.js +51 -52
- package/dist/components/Input/Input.d.ts +1 -1
- package/dist/components/Input/Input.js +28 -30
- package/dist/components/Input/index.d.ts +1 -0
- package/dist/components/Label/Label.d.ts +1 -1
- package/dist/components/Label/Label.js +30 -32
- package/dist/components/Label/index.d.ts +1 -0
- package/dist/components/Loading/Loading.d.ts +1 -1
- package/dist/components/Loading/Loading.js +23 -25
- package/dist/components/Loading/index.d.ts +1 -0
- package/dist/components/LoadingScreen/LoadingScreen.d.ts +1 -1
- package/dist/components/LoadingScreen/LoadingScreen.js +20 -22
- package/dist/components/LoadingScreen/index.d.ts +1 -1
- package/dist/components/Logo/Logo.d.ts +1 -1
- package/dist/components/Logo/Logo.js +12 -14
- package/dist/components/Logo/index.d.ts +1 -0
- package/dist/components/Menu/Menu.js +39 -40
- package/dist/components/Menu/MenuButton.js +17 -18
- package/dist/components/Menu/MenuContext.js +8 -9
- package/dist/components/Menu/MenuItem.js +14 -15
- package/dist/components/Modal/Modal.d.ts +4 -1
- package/dist/components/Modal/Modal.js +49 -51
- package/dist/components/Modal/ModalBody.js +11 -12
- package/dist/components/Modal/ModalContext.js +8 -9
- package/dist/components/Modal/ModalFooter.js +3 -4
- package/dist/components/Modal/ModalHeader.js +22 -23
- package/dist/components/Modal/ModalSubtitle.js +3 -4
- package/dist/components/Modal/index.d.ts +1 -0
- package/dist/components/Popover/Popover.js +33 -34
- package/dist/components/Radio/Radio.d.ts +1 -1
- package/dist/components/Radio/Radio.js +26 -28
- package/dist/components/Radio/index.d.ts +1 -0
- package/dist/components/SearchBar/SearchBar.d.ts +1 -1
- package/dist/components/SearchBar/SearchBar.js +29 -31
- package/dist/components/SearchBar/index.d.ts +1 -0
- package/dist/components/Select/Select.d.ts +1 -1
- package/dist/components/Select/Select.js +31 -33
- package/dist/components/Select/SelectTrigger.js +4 -5
- package/dist/components/Select/index.d.ts +1 -0
- package/dist/components/Table/Table.components.d.ts +20 -0
- package/dist/components/Table/Table.components.js +39 -0
- package/dist/components/Table/Table.d.ts +33 -0
- package/dist/components/Table/Table.js +16 -0
- package/dist/components/Table/TableExplorer.d.ts +1 -1
- package/dist/components/Table/index.d.ts +2 -1
- package/dist/components/Tabs/Tabs.d.ts +1 -1
- package/dist/components/Tabs/Tabs.js +58 -59
- package/dist/components/Tabs/TabsContext.js +8 -9
- package/dist/components/Tabs/TabsItem.js +20 -21
- package/dist/components/Tabs/TabsList.js +18 -19
- package/dist/components/Tabs/TabsPanel.js +9 -10
- package/dist/components/Tabs/index.d.ts +1 -0
- package/dist/components/TextArea/TextArea.d.ts +1 -1
- package/dist/components/TextArea/TextArea.js +31 -33
- package/dist/components/TextArea/TextareaCounter.js +6 -7
- package/dist/components/TextArea/index.d.ts +1 -0
- package/dist/components/Toolbar/Toolbar.d.ts +1 -1
- package/dist/components/Toolbar/Toolbar.js +60 -62
- package/dist/components/Toolbar/index.d.ts +1 -0
- package/dist/components/Tooltip/Tooltip.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.js +28 -30
- package/dist/components/Tooltip/index.d.ts +1 -0
- package/dist/components/TreeView/TreeItem.js +46 -47
- package/dist/components/TreeView/TreeView.d.ts +1 -1
- package/dist/components/TreeView/TreeView.js +33 -35
- package/dist/components/TreeView/hooks/useTreeItemEvents.js +18 -19
- package/dist/components/TreeView/index.d.ts +1 -0
- package/dist/components/UploadCard/UploadCard.js +52 -53
- package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +1 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.js +6 -8
- package/dist/components/VisuallyHidden/index.d.ts +1 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/core/OdeClientProvider/OdeClientProvider.d.ts +1 -1
- package/dist/core/OdeClientProvider/OdeClientProvider.js +44 -45
- package/dist/core/ThemeProvider/ThemeProvider.d.ts +1 -1
- package/dist/core/ThemeProvider/ThemeProvider.js +36 -36
- package/dist/core/index.d.ts +1 -0
- package/dist/core/useAvatar/useAvatar.d.ts +1 -1
- package/dist/core/useAvatar/useAvatar.js +21 -22
- package/dist/core/useBookmark/useBookmark.d.ts +1 -1
- package/dist/core/useBookmark/useBookmark.js +9 -10
- package/dist/core/useCantoo/index.d.ts +1 -0
- package/dist/core/useCantoo/useCantoo.d.ts +1 -0
- package/dist/core/useCantoo/useCantoo.js +18 -0
- package/dist/core/useConf/useConf.d.ts +1 -1
- package/dist/core/useConf/useConf.js +7 -8
- package/dist/core/useConversation/useConversation.js +29 -30
- package/dist/core/useCookiesConsent/useCookiesConsent.js +16 -17
- package/dist/core/useDate/useDate.js +35 -36
- package/dist/core/useHasWorkflow/useHasWorkflow.js +15 -16
- package/dist/core/useHeader/useHeader.d.ts +1 -1
- package/dist/core/useHeader/useHeader.js +45 -42
- package/dist/core/useHttpErrorToast/useHttpErrorToast.js +17 -18
- package/dist/core/useIsAdml/useIsAdml.js +11 -12
- package/dist/core/useLibraryUrl/useLibraryUrl.js +16 -17
- package/dist/core/useMediaLibrary/useMediaLibrary.d.ts +2 -2
- package/dist/core/useMediaLibrary/useMediaLibrary.js +32 -33
- package/dist/core/useOdeIcons/useOdeIcons.d.ts +1 -1
- package/dist/core/useOdeIcons/useOdeIcons.js +37 -38
- package/dist/core/usePaths/usePaths.js +2 -3
- package/dist/core/usePreferences/usePreferences.js +5 -6
- package/dist/core/useResource/useResource.d.ts +1 -1
- package/dist/core/useResource/useResource.js +14 -15
- package/dist/core/useResourceSearch/useResourceSearch.d.ts +1 -1
- package/dist/core/useResourceSearch/useResourceSearch.js +22 -23
- package/dist/core/useSession/useSession.js +6 -7
- package/dist/core/useTrashedResource/useTrashedResource.js +18 -19
- package/dist/core/useUpload/useUpload.d.ts +1 -1
- package/dist/core/useUpload/useUpload.js +68 -69
- package/dist/core/useUploadFiles/useUploadFiles.d.ts +1 -1
- package/dist/core/useUploadFiles/useUploadFiles.js +82 -83
- package/dist/core/useUser/useUser.d.ts +1 -1
- package/dist/core/useUser/useUser.js +15 -16
- package/dist/core/useWorkspaceFile/useWorkspaceFile.d.ts +1 -1
- package/dist/core/useWorkspaceFile/useWorkspaceFile.js +31 -32
- package/dist/core/useWorkspaceSearch/useWorkspaceSearch.d.ts +1 -1
- package/dist/core/useWorkspaceSearch/useWorkspaceSearch.js +41 -42
- package/dist/core/useXitiTrackPageLoad/useXitiTrackPageLoad.js +17 -18
- package/dist/core/useZendeskGuide/useZendeskGuide.js +46 -47
- package/dist/hooks/useBrowserInfo/useBrowserInfo.js +11 -12
- package/dist/hooks/useClickOutside/useClickOutside.js +18 -19
- package/dist/hooks/useDebounce/useDebounce.js +10 -11
- package/dist/hooks/useDropdown/useDropdown.d.ts +1 -1
- package/dist/hooks/useDropdown/useDropdown.js +96 -97
- package/dist/hooks/useDropzone/useDropzone.js +53 -54
- package/dist/hooks/useHover/useHover.js +14 -15
- package/dist/hooks/useImage/useImage.js +13 -14
- package/dist/hooks/useImageResizer/useImageResizer.js +31 -32
- package/dist/hooks/useKeyPress/useKeyPress.js +10 -11
- package/dist/hooks/useScrollToTop/useScrollToTop.js +4 -5
- package/dist/hooks/useThumbnail/useThumbnail.js +21 -22
- package/dist/hooks/useTitle/useTitle.js +7 -8
- package/dist/hooks/useToast/useToast.js +25 -26
- package/dist/hooks/useToggle/useToggle.js +6 -7
- package/dist/hooks/useTrapFocus/useTrapFocus.js +11 -12
- package/dist/index.d.ts +3 -1
- package/dist/index.js +274 -226
- package/dist/{modules/multimedia → multimedia}/AudioRecorder/AudioRecorder.d.ts +1 -1
- package/dist/multimedia/AudioRecorder/AudioRecorder.js +49 -0
- package/dist/multimedia/AudioRecorder/AudioRecorderTimer.js +24 -0
- package/dist/{modules/multimedia → multimedia}/AudioRecorder/useAudioRecorder.d.ts +2 -2
- package/dist/multimedia/AudioRecorder/useAudioRecorder.js +307 -0
- package/dist/multimedia/Embed/Embed.js +32 -0
- package/dist/multimedia/ImageEditor/components/ImageEditor.js +116 -0
- package/dist/multimedia/ImageEditor/components/ImageEditorToolbar.js +69 -0
- package/dist/multimedia/ImageEditor/effects/blur.js +72 -0
- package/dist/multimedia/ImageEditor/effects/crop.js +155 -0
- package/dist/multimedia/ImageEditor/effects/misc.js +162 -0
- package/dist/multimedia/ImageEditor/effects/resize.js +157 -0
- package/dist/multimedia/ImageEditor/effects/rotate.js +33 -0
- package/dist/multimedia/ImageEditor/hooks/useHistoryTool.js +66 -0
- package/dist/multimedia/ImageEditor/hooks/useImageEditor.js +76 -0
- package/dist/multimedia/ImageEditor/hooks/useImageEffects.js +52 -0
- package/dist/multimedia/ImageEditor/utils/aggregate.js +13 -0
- package/dist/{modules/multimedia → multimedia}/ImagePickerWorkspace/ImagePickerWorkspace.d.ts +1 -1
- package/dist/multimedia/ImagePickerWorkspace/ImagePickerWorkspace.js +39 -0
- package/dist/multimedia/Linker/ExternalLinker.js +45 -0
- package/dist/{modules/multimedia → multimedia}/Linker/InternalLinker.d.ts +1 -1
- package/dist/multimedia/Linker/InternalLinker.js +114 -0
- package/dist/{modules/multimedia → multimedia}/LinkerCard/LinkerCard.d.ts +3 -3
- package/dist/multimedia/LinkerCard/LinkerCard.js +38 -0
- package/dist/multimedia/LinkerCard/index.d.ts +2 -0
- package/dist/{modules/multimedia → multimedia}/MediaLibrary/MediaLibrary.d.ts +2 -2
- package/dist/multimedia/MediaLibrary/MediaLibrary.js +211 -0
- package/dist/{modules/multimedia → multimedia}/MediaLibrary/MediaLibraryContext.d.ts +2 -2
- package/dist/multimedia/MediaLibrary/MediaLibraryContext.js +12 -0
- package/dist/multimedia/MediaLibrary/innertabs/Audio.js +19 -0
- package/dist/multimedia/MediaLibrary/innertabs/ExternalLink.js +17 -0
- package/dist/multimedia/MediaLibrary/innertabs/Iframe.js +14 -0
- package/dist/{modules/multimedia → multimedia}/MediaLibrary/innertabs/InternalLink.d.ts +1 -1
- package/dist/multimedia/MediaLibrary/innertabs/InternalLink.js +35 -0
- package/dist/multimedia/MediaLibrary/innertabs/Upload.js +34 -0
- package/dist/multimedia/MediaLibrary/innertabs/Video.js +22 -0
- package/dist/multimedia/MediaLibrary/innertabs/VideoEmbedder.js +14 -0
- package/dist/multimedia/MediaLibrary/innertabs/Workspace.js +31 -0
- package/dist/multimedia/MediaLibrary/innertabs/index.js +21 -0
- package/dist/{modules/multimedia → multimedia}/UploadFiles/UploadFiles.d.ts +1 -1
- package/dist/multimedia/UploadFiles/UploadFiles.js +56 -0
- package/dist/multimedia/VideoEmbed/VideoEmbed.js +77 -0
- package/dist/{modules/multimedia → multimedia}/VideoRecorder/VideoRecorder.d.ts +1 -1
- package/dist/multimedia/VideoRecorder/VideoRecorder.js +259 -0
- package/dist/{modules/multimedia → multimedia}/Workspace/Workspace.d.ts +1 -1
- package/dist/multimedia/Workspace/Workspace.js +169 -0
- package/dist/portal/Header/Badge.js +5 -6
- package/dist/portal/Header/Header.js +138 -138
- package/dist/portal/Header/NavItem.js +11 -12
- package/dist/portal/Header/NavLink.js +14 -15
- package/dist/portal/Header/Navbar.js +9 -10
- package/dist/portal/Header/NavbarNav.js +9 -10
- package/dist/portal/Header/WidgetApps.d.ts +1 -1
- package/dist/portal/Header/WidgetApps.js +16 -17
- package/dist/portal/Help/Help.js +18 -19
- package/dist/portal/Help/hooks/useHelp.js +63 -64
- package/dist/portal/Layout/Layout.js +36 -36
- package/dist/portal/SearchEngine/SearchEngine.js +25 -26
- package/dist/utils/MockedDataProvider/MockedDataProvider.d.ts +1 -1
- package/dist/utils/MockedDataProvider/MockedDataProvider.js +21 -22
- package/dist/utils/StringUtils.js +8 -9
- package/dist/utils/addTimestampToUrl.js +4 -5
- package/dist/utils/blob.js +9 -10
- package/dist/utils/checkUserRight.d.ts +1 -1
- package/dist/utils/checkUserRight.js +27 -28
- package/dist/utils/fileSize.js +5 -6
- package/dist/utils/findTreeNode.js +7 -8
- package/dist/utils/isActionAvailable.d.ts +1 -1
- package/dist/utils/isActionAvailable.js +4 -5
- package/dist/utils/libraryMaps.js +2 -3
- package/dist/utils/noop.js +2 -3
- package/dist/utils/ref.js +8 -9
- package/dist/utils/thumbnail.js +3 -4
- package/dist/utils/time.js +7 -8
- package/dist/utils/treeview.d.ts +1 -1
- package/dist/utils/treeview.js +96 -97
- package/dist/utils/video.js +2 -3
- package/dist/widgets/BookmarkedApps/BookmarkedApps.d.ts +1 -1
- package/dist/widgets/BookmarkedApps/BookmarkedApps.js +6 -7
- package/dist/widgets/Widget/Widget.js +18 -19
- package/package.json +27 -58
- package/dist/audience.js +0 -17
- package/dist/audience.js.map +0 -1
- package/dist/components/ActionBar/ActionBar.js.map +0 -1
- package/dist/components/Alert/Alert.js.map +0 -1
- package/dist/components/AppHeader/AppHeader.js.map +0 -1
- package/dist/components/AppIcon/AppIcon.js.map +0 -1
- package/dist/components/Attachment/Attachment.js.map +0 -1
- package/dist/components/Avatar/Avatar.js.map +0 -1
- package/dist/components/Badge/Badge.js.map +0 -1
- package/dist/components/Breadcrumb/Breadcrumb.js.map +0 -1
- package/dist/components/Breadcrumb/BreadcrumbItem.js.map +0 -1
- package/dist/components/Breadcrumb/BreadcrumbList.js.map +0 -1
- package/dist/components/Breadcrumb/BreadcrumbNav.js.map +0 -1
- package/dist/components/Button/Button.js.map +0 -1
- package/dist/components/Button/IconButton.js.map +0 -1
- package/dist/components/Button/SearchButton.js.map +0 -1
- package/dist/components/Card/Card.js.map +0 -1
- package/dist/components/Card/CardBody.js.map +0 -1
- package/dist/components/Card/CardContext.js.map +0 -1
- package/dist/components/Card/CardFooter.js.map +0 -1
- package/dist/components/Card/CardHeader.js.map +0 -1
- package/dist/components/Card/CardImage.js.map +0 -1
- package/dist/components/Card/CardText.js.map +0 -1
- package/dist/components/Card/CardTitle.js.map +0 -1
- package/dist/components/Card/CardUser.js.map +0 -1
- package/dist/components/Checkbox/Checkbox.js.map +0 -1
- package/dist/components/ColorPicker/ColorPalette.js.map +0 -1
- package/dist/components/ColorPicker/ColorPicker.js.map +0 -1
- package/dist/components/ColorPicker/ColorPickerItem.js.map +0 -1
- package/dist/components/Combobox/Combobox.js.map +0 -1
- package/dist/components/Combobox/ComboboxTrigger.js.map +0 -1
- package/dist/components/Dropdown/Dropdown.js.map +0 -1
- package/dist/components/Dropdown/DropdownCheckboxItem.js.map +0 -1
- package/dist/components/Dropdown/DropdownContext.js.map +0 -1
- package/dist/components/Dropdown/DropdownItem.js.map +0 -1
- package/dist/components/Dropdown/DropdownMenu.js.map +0 -1
- package/dist/components/Dropdown/DropdownMenuGroup.js.map +0 -1
- package/dist/components/Dropdown/DropdownRadioItem.js.map +0 -1
- package/dist/components/Dropdown/DropdownSeparator.js.map +0 -1
- package/dist/components/Dropdown/DropdownTrigger.js.map +0 -1
- package/dist/components/Dropzone/Dropzone.js.map +0 -1
- package/dist/components/Dropzone/DropzoneContext.js.map +0 -1
- package/dist/components/Dropzone/DropzoneDrag.js.map +0 -1
- package/dist/components/Dropzone/DropzoneFile.js.map +0 -1
- package/dist/components/Dropzone/DropzoneImport.js.map +0 -1
- package/dist/components/EmptyScreen/EmptyScreen.js.map +0 -1
- package/dist/components/FileCard/FileCard.js.map +0 -1
- package/dist/components/FileCard/FileIcon.js.map +0 -1
- package/dist/components/Form/FormContext.js.map +0 -1
- package/dist/components/Form/FormControl.js.map +0 -1
- package/dist/components/Form/FormText.js.map +0 -1
- package/dist/components/Grid/Grid.js.map +0 -1
- package/dist/components/Heading/Heading.js.map +0 -1
- package/dist/components/Icon/Icon.d.ts +0 -17
- package/dist/components/Icon/Icon.js +0 -11
- package/dist/components/Icon/Icon.js.map +0 -1
- package/dist/components/Icon/index.d.ts +0 -1
- package/dist/components/Image/Image.js.map +0 -1
- package/dist/components/ImagePicker/ImagePicker.js.map +0 -1
- package/dist/components/Input/Input.js.map +0 -1
- package/dist/components/Label/Label.js.map +0 -1
- package/dist/components/Loading/Loading.js.map +0 -1
- package/dist/components/LoadingScreen/LoadingScreen.js.map +0 -1
- package/dist/components/Logo/Logo.js.map +0 -1
- package/dist/components/Menu/Menu.js.map +0 -1
- package/dist/components/Menu/MenuButton.js.map +0 -1
- package/dist/components/Menu/MenuContext.js.map +0 -1
- package/dist/components/Menu/MenuItem.js.map +0 -1
- package/dist/components/Modal/Modal.js.map +0 -1
- package/dist/components/Modal/ModalBody.js.map +0 -1
- package/dist/components/Modal/ModalContext.js.map +0 -1
- package/dist/components/Modal/ModalFooter.js.map +0 -1
- package/dist/components/Modal/ModalHeader.js.map +0 -1
- package/dist/components/Modal/ModalSubtitle.js.map +0 -1
- package/dist/components/Popover/Popover.js.map +0 -1
- package/dist/components/Radio/Radio.js.map +0 -1
- package/dist/components/SearchBar/SearchBar.js.map +0 -1
- package/dist/components/Select/Select.js.map +0 -1
- package/dist/components/Select/SelectTrigger.js.map +0 -1
- package/dist/components/Table/TableExplorer.js +0 -10
- package/dist/components/Table/TableExplorer.js.map +0 -1
- package/dist/components/Tabs/Tabs.js.map +0 -1
- package/dist/components/Tabs/TabsContext.js.map +0 -1
- package/dist/components/Tabs/TabsItem.js.map +0 -1
- package/dist/components/Tabs/TabsList.js.map +0 -1
- package/dist/components/Tabs/TabsPanel.js.map +0 -1
- package/dist/components/TextArea/TextArea.js.map +0 -1
- package/dist/components/TextArea/TextareaCounter.js.map +0 -1
- package/dist/components/Toolbar/Toolbar.js.map +0 -1
- package/dist/components/Tooltip/Tooltip.js.map +0 -1
- package/dist/components/TreeView/TreeItem.js.map +0 -1
- package/dist/components/TreeView/TreeView.js.map +0 -1
- package/dist/components/TreeView/hooks/useTreeItemEvents.js.map +0 -1
- package/dist/components/UploadCard/UploadCard.js.map +0 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.js.map +0 -1
- package/dist/core/OdeClientProvider/OdeClientProvider.js.map +0 -1
- package/dist/core/ThemeProvider/ThemeProvider.js.map +0 -1
- package/dist/core/useAvatar/useAvatar.js.map +0 -1
- package/dist/core/useBookmark/useBookmark.js.map +0 -1
- package/dist/core/useConf/useConf.js.map +0 -1
- package/dist/core/useConversation/useConversation.js.map +0 -1
- package/dist/core/useCookiesConsent/useCookiesConsent.js.map +0 -1
- package/dist/core/useDate/useDate.js.map +0 -1
- package/dist/core/useHasWorkflow/useHasWorkflow.js.map +0 -1
- package/dist/core/useHeader/useHeader.js.map +0 -1
- package/dist/core/useHttpErrorToast/useHttpErrorToast.js.map +0 -1
- package/dist/core/useIsAdml/useIsAdml.js.map +0 -1
- package/dist/core/useLibraryUrl/useLibraryUrl.js.map +0 -1
- package/dist/core/useMediaLibrary/useMediaLibrary.js.map +0 -1
- package/dist/core/useOdeIcons/useOdeIcons.js.map +0 -1
- package/dist/core/usePaths/usePaths.js.map +0 -1
- package/dist/core/usePreferences/usePreferences.js.map +0 -1
- package/dist/core/useResource/useResource.js.map +0 -1
- package/dist/core/useResourceSearch/useResourceSearch.js.map +0 -1
- package/dist/core/useSession/useSession.js.map +0 -1
- package/dist/core/useTrashedResource/useTrashedResource.js.map +0 -1
- package/dist/core/useUpload/useUpload.js.map +0 -1
- package/dist/core/useUploadFiles/useUploadFiles.js.map +0 -1
- package/dist/core/useUser/useUser.js.map +0 -1
- package/dist/core/useWorkspaceFile/useWorkspaceFile.js.map +0 -1
- package/dist/core/useWorkspaceSearch/useWorkspaceSearch.js.map +0 -1
- package/dist/core/useXitiTrackPageLoad/useXitiTrackPageLoad.js.map +0 -1
- package/dist/core/useZendeskGuide/useZendeskGuide.js.map +0 -1
- package/dist/editor.js +0 -59
- package/dist/editor.js.map +0 -1
- package/dist/hooks/useBrowserInfo/useBrowserInfo.js.map +0 -1
- package/dist/hooks/useClickOutside/useClickOutside.js.map +0 -1
- package/dist/hooks/useDebounce/useDebounce.js.map +0 -1
- package/dist/hooks/useDropdown/useDropdown.js.map +0 -1
- package/dist/hooks/useDropzone/useDropzone.js.map +0 -1
- package/dist/hooks/useHover/useHover.js.map +0 -1
- package/dist/hooks/useImage/useImage.js.map +0 -1
- package/dist/hooks/useImageResizer/useImageResizer.js.map +0 -1
- package/dist/hooks/useKeyPress/useKeyPress.js.map +0 -1
- package/dist/hooks/useScrollToTop/useScrollToTop.js.map +0 -1
- package/dist/hooks/useThumbnail/useThumbnail.js.map +0 -1
- package/dist/hooks/useTitle/useTitle.js.map +0 -1
- package/dist/hooks/useToast/useToast.js.map +0 -1
- package/dist/hooks/useToggle/useToggle.js.map +0 -1
- package/dist/hooks/useTrapFocus/useTrapFocus.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/modals.js +0 -17
- package/dist/modals.js.map +0 -1
- package/dist/modules/audience/ReactionChoice.js +0 -34
- package/dist/modules/audience/ReactionChoice.js.map +0 -1
- package/dist/modules/audience/ReactionModal.Card.js +0 -35
- package/dist/modules/audience/ReactionModal.Card.js.map +0 -1
- package/dist/modules/audience/ReactionModal.js +0 -73
- package/dist/modules/audience/ReactionModal.js.map +0 -1
- package/dist/modules/audience/ReactionSummary.js +0 -28
- package/dist/modules/audience/ReactionSummary.js.map +0 -1
- package/dist/modules/audience/ViewsByProfileCard.js +0 -36
- package/dist/modules/audience/ViewsByProfileCard.js.map +0 -1
- package/dist/modules/audience/ViewsCounter.js +0 -19
- package/dist/modules/audience/ViewsCounter.js.map +0 -1
- package/dist/modules/audience/ViewsModal.js +0 -41
- package/dist/modules/audience/ViewsModal.js.map +0 -1
- package/dist/modules/audience/hooks/useReactionIcons.js +0 -38
- package/dist/modules/audience/hooks/useReactionIcons.js.map +0 -1
- package/dist/modules/audience/hooks/useReactions.js +0 -36
- package/dist/modules/audience/hooks/useReactions.js.map +0 -1
- package/dist/modules/editor/components/BubbleMenuEditImage/BubbleMenuEditImage.d.ts +0 -8
- package/dist/modules/editor/components/BubbleMenuEditImage/BubbleMenuEditImage.js +0 -133
- package/dist/modules/editor/components/BubbleMenuEditImage/BubbleMenuEditImage.js.map +0 -1
- package/dist/modules/editor/components/BubbleMenuEditImage/index.d.ts +0 -1
- package/dist/modules/editor/components/Editor/Editor.d.ts +0 -45
- package/dist/modules/editor/components/Editor/Editor.js +0 -84
- package/dist/modules/editor/components/Editor/Editor.js.map +0 -1
- package/dist/modules/editor/components/Editor/MathsModal.d.ts +0 -7
- package/dist/modules/editor/components/Editor/MathsModal.js +0 -51
- package/dist/modules/editor/components/Editor/MathsModal.js.map +0 -1
- package/dist/modules/editor/components/Editor/index.d.ts +0 -2
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.DropdownMenu.d.ts +0 -22
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.DropdownMenu.js +0 -18
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.DropdownMenu.js.map +0 -1
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Emoji.d.ts +0 -14
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Emoji.js +0 -55
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Emoji.js.map +0 -1
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.HighlightColor.d.ts +0 -14
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.HighlightColor.js +0 -48
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.HighlightColor.js.map +0 -1
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.PlusMenu.d.ts +0 -9
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.PlusMenu.js +0 -19
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.PlusMenu.js.map +0 -1
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextColor.d.ts +0 -14
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextColor.js +0 -51
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextColor.js.map +0 -1
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextSize.d.ts +0 -10
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextSize.js +0 -63
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextSize.js.map +0 -1
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Typography.d.ts +0 -10
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Typography.js +0 -53
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Typography.js.map +0 -1
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.d.ts +0 -10
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.js +0 -320
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.js.map +0 -1
- package/dist/modules/editor/components/EditorToolbar/index.d.ts +0 -1
- package/dist/modules/editor/components/NodeView/AttachmentNodeView.d.ts +0 -2
- package/dist/modules/editor/components/NodeView/AttachmentNodeView.js +0 -11
- package/dist/modules/editor/components/NodeView/AttachmentNodeView.js.map +0 -1
- package/dist/modules/editor/components/NodeView/AudioNodeView.d.ts +0 -2
- package/dist/modules/editor/components/NodeView/AudioNodeView.js +0 -11
- package/dist/modules/editor/components/NodeView/AudioNodeView.js.map +0 -1
- package/dist/modules/editor/components/NodeView/ImageNodeView.d.ts +0 -2
- package/dist/modules/editor/components/NodeView/ImageNodeView.js +0 -11
- package/dist/modules/editor/components/NodeView/ImageNodeView.js.map +0 -1
- package/dist/modules/editor/components/NodeView/LinkerNodeView.d.ts +0 -2
- package/dist/modules/editor/components/NodeView/LinkerNodeView.js +0 -11
- package/dist/modules/editor/components/NodeView/LinkerNodeView.js.map +0 -1
- package/dist/modules/editor/components/NodeView/VideoNodeView.d.ts +0 -2
- package/dist/modules/editor/components/NodeView/VideoNodeView.js +0 -11
- package/dist/modules/editor/components/NodeView/VideoNodeView.js.map +0 -1
- package/dist/modules/editor/components/NodeView/index.d.ts +0 -5
- package/dist/modules/editor/components/Renderer/AttachmentRenderer.d.ts +0 -7
- package/dist/modules/editor/components/Renderer/AttachmentRenderer.js +0 -35
- package/dist/modules/editor/components/Renderer/AttachmentRenderer.js.map +0 -1
- package/dist/modules/editor/components/Renderer/AudioRenderer.d.ts +0 -7
- package/dist/modules/editor/components/Renderer/AudioRenderer.js +0 -12
- package/dist/modules/editor/components/Renderer/AudioRenderer.js.map +0 -1
- package/dist/modules/editor/components/Renderer/LinkerRenderer.d.ts +0 -9
- package/dist/modules/editor/components/Renderer/LinkerRenderer.js +0 -35
- package/dist/modules/editor/components/Renderer/LinkerRenderer.js.map +0 -1
- package/dist/modules/editor/components/Renderer/MediaRenderer.d.ts +0 -2
- package/dist/modules/editor/components/Renderer/MediaRenderer.js +0 -70
- package/dist/modules/editor/components/Renderer/MediaRenderer.js.map +0 -1
- package/dist/modules/editor/components/Renderer/index.d.ts +0 -4
- package/dist/modules/editor/components/Toolbar/LinkToolbar.TippyOptions.d.ts +0 -2
- package/dist/modules/editor/components/Toolbar/LinkToolbar.TippyOptions.js +0 -9
- package/dist/modules/editor/components/Toolbar/LinkToolbar.TippyOptions.js.map +0 -1
- package/dist/modules/editor/components/Toolbar/LinkToolbar.d.ts +0 -15
- package/dist/modules/editor/components/Toolbar/LinkToolbar.js +0 -60
- package/dist/modules/editor/components/Toolbar/LinkToolbar.js.map +0 -1
- package/dist/modules/editor/components/Toolbar/TableToolbar.AddMenu.d.ts +0 -9
- package/dist/modules/editor/components/Toolbar/TableToolbar.AddMenu.js +0 -29
- package/dist/modules/editor/components/Toolbar/TableToolbar.AddMenu.js.map +0 -1
- package/dist/modules/editor/components/Toolbar/TableToolbar.CellColor.d.ts +0 -13
- package/dist/modules/editor/components/Toolbar/TableToolbar.CellColor.js +0 -46
- package/dist/modules/editor/components/Toolbar/TableToolbar.CellColor.js.map +0 -1
- package/dist/modules/editor/components/Toolbar/TableToolbar.DelMenu.d.ts +0 -9
- package/dist/modules/editor/components/Toolbar/TableToolbar.DelMenu.js +0 -28
- package/dist/modules/editor/components/Toolbar/TableToolbar.DelMenu.js.map +0 -1
- package/dist/modules/editor/components/Toolbar/TableToolbar.d.ts +0 -9
- package/dist/modules/editor/components/Toolbar/TableToolbar.js +0 -89
- package/dist/modules/editor/components/Toolbar/TableToolbar.js.map +0 -1
- package/dist/modules/editor/components/Toolbar/index.d.ts +0 -2
- package/dist/modules/editor/components/index.d.ts +0 -6
- package/dist/modules/editor/hooks/index.d.ts +0 -12
- package/dist/modules/editor/hooks/useActionOptions.d.ts +0 -5
- package/dist/modules/editor/hooks/useActionOptions.js +0 -76
- package/dist/modules/editor/hooks/useActionOptions.js.map +0 -1
- package/dist/modules/editor/hooks/useCommentEditor.d.ts +0 -13
- package/dist/modules/editor/hooks/useCommentEditor.js +0 -38
- package/dist/modules/editor/hooks/useCommentEditor.js.map +0 -1
- package/dist/modules/editor/hooks/useEditorContext.d.ts +0 -37
- package/dist/modules/editor/hooks/useEditorContext.js +0 -13
- package/dist/modules/editor/hooks/useEditorContext.js.map +0 -1
- package/dist/modules/editor/hooks/useImageModal.d.ts +0 -31
- package/dist/modules/editor/hooks/useImageModal.js +0 -47
- package/dist/modules/editor/hooks/useImageModal.js.map +0 -1
- package/dist/modules/editor/hooks/useImageSelection.d.ts +0 -21
- package/dist/modules/editor/hooks/useImageSelection.js +0 -47
- package/dist/modules/editor/hooks/useImageSelection.js.map +0 -1
- package/dist/modules/editor/hooks/useLinkToolbar.d.ts +0 -17
- package/dist/modules/editor/hooks/useLinkToolbar.js +0 -38
- package/dist/modules/editor/hooks/useLinkToolbar.js.map +0 -1
- package/dist/modules/editor/hooks/useMathsModal.d.ts +0 -17
- package/dist/modules/editor/hooks/useMathsModal.js +0 -18
- package/dist/modules/editor/hooks/useMathsModal.js.map +0 -1
- package/dist/modules/editor/hooks/useMathsStyles.d.ts +0 -1
- package/dist/modules/editor/hooks/useMathsStyles.js +0 -21
- package/dist/modules/editor/hooks/useMathsStyles.js.map +0 -1
- package/dist/modules/editor/hooks/useMediaLibraryEditor.d.ts +0 -19
- package/dist/modules/editor/hooks/useMediaLibraryEditor.js +0 -153
- package/dist/modules/editor/hooks/useMediaLibraryEditor.js.map +0 -1
- package/dist/modules/editor/hooks/useResizeMedia.d.ts +0 -10
- package/dist/modules/editor/hooks/useResizeMedia.js +0 -48
- package/dist/modules/editor/hooks/useResizeMedia.js.map +0 -1
- package/dist/modules/editor/hooks/useSpeechRecognition.d.ts +0 -6
- package/dist/modules/editor/hooks/useSpeechRecognition.js +0 -22
- package/dist/modules/editor/hooks/useSpeechRecognition.js.map +0 -1
- package/dist/modules/editor/hooks/useSpeechSynthetisis.d.ts +0 -12
- package/dist/modules/editor/hooks/useSpeechSynthetisis.js +0 -21
- package/dist/modules/editor/hooks/useSpeechSynthetisis.js.map +0 -1
- package/dist/modules/editor/hooks/useTipTapEditor.d.ts +0 -15
- package/dist/modules/editor/hooks/useTipTapEditor.js +0 -76
- package/dist/modules/editor/hooks/useTipTapEditor.js.map +0 -1
- package/dist/modules/editor/index.d.ts +0 -3
- package/dist/modules/editor/utils/has-extension.d.ts +0 -2
- package/dist/modules/editor/utils/has-extension.js +0 -5
- package/dist/modules/editor/utils/has-extension.js.map +0 -1
- package/dist/modules/editor/utils/has-mark.d.ts +0 -2
- package/dist/modules/editor/utils/has-mark.js +0 -5
- package/dist/modules/editor/utils/has-mark.js.map +0 -1
- package/dist/modules/editor/utils/has-text-style.d.ts +0 -2
- package/dist/modules/editor/utils/has-text-style.js +0 -6
- package/dist/modules/editor/utils/has-text-style.js.map +0 -1
- package/dist/modules/modals/OnboardingModal/OnboardingModal.js +0 -60
- package/dist/modules/modals/OnboardingModal/OnboardingModal.js.map +0 -1
- package/dist/modules/modals/OnboardingModal/useOnboardingModal.js +0 -31
- package/dist/modules/modals/OnboardingModal/useOnboardingModal.js.map +0 -1
- package/dist/modules/modals/PublishModal/PublishModal.js +0 -121
- package/dist/modules/modals/PublishModal/PublishModal.js.map +0 -1
- package/dist/modules/modals/PublishModal/components/ActivitiesDropdown.js +0 -30
- package/dist/modules/modals/PublishModal/components/ActivitiesDropdown.js.map +0 -1
- package/dist/modules/modals/PublishModal/components/AgeSelect.js +0 -21
- package/dist/modules/modals/PublishModal/components/AgeSelect.js.map +0 -1
- package/dist/modules/modals/PublishModal/components/LangSelect.js +0 -20
- package/dist/modules/modals/PublishModal/components/LangSelect.js.map +0 -1
- package/dist/modules/modals/PublishModal/components/PublishModalFooter.js +0 -24
- package/dist/modules/modals/PublishModal/components/PublishModalFooter.js.map +0 -1
- package/dist/modules/modals/PublishModal/components/SubjectsDropdown.js +0 -30
- package/dist/modules/modals/PublishModal/components/SubjectsDropdown.js.map +0 -1
- package/dist/modules/modals/PublishModal/components/ToastError.js +0 -25
- package/dist/modules/modals/PublishModal/components/ToastError.js.map +0 -1
- package/dist/modules/modals/PublishModal/components/ToastSuccess.js +0 -19
- package/dist/modules/modals/PublishModal/components/ToastSuccess.js.map +0 -1
- package/dist/modules/modals/PublishModal/constants/ageOptions.js +0 -5
- package/dist/modules/modals/PublishModal/constants/ageOptions.js.map +0 -1
- package/dist/modules/modals/PublishModal/hooks/useActivitiesOptions.js.map +0 -1
- package/dist/modules/modals/PublishModal/hooks/useLanguageOptions.js +0 -44
- package/dist/modules/modals/PublishModal/hooks/useLanguageOptions.js.map +0 -1
- package/dist/modules/modals/PublishModal/hooks/usePublishModal.js +0 -107
- package/dist/modules/modals/PublishModal/hooks/usePublishModal.js.map +0 -1
- package/dist/modules/modals/PublishModal/hooks/useSubjectsOptions.js.map +0 -1
- package/dist/modules/modals/ResourceModal/ResourceModal.js +0 -158
- package/dist/modules/modals/ResourceModal/ResourceModal.js.map +0 -1
- package/dist/modules/modals/ResourceModal/apps/BlogPublic.js +0 -64
- package/dist/modules/modals/ResourceModal/apps/BlogPublic.js.map +0 -1
- package/dist/modules/modals/ResourceModal/hooks/useSlug.js +0 -42
- package/dist/modules/modals/ResourceModal/hooks/useSlug.js.map +0 -1
- package/dist/modules/modals/ResourceModal/hooks/useThumb.js +0 -18
- package/dist/modules/modals/ResourceModal/hooks/useThumb.js.map +0 -1
- package/dist/modules/modals/ResourceModal/hooks/useUpdateMutation.js +0 -14
- package/dist/modules/modals/ResourceModal/hooks/useUpdateMutation.js.map +0 -1
- package/dist/modules/modals/ResourceModal/index.d.ts +0 -3
- package/dist/modules/modals/ShareModal/apps/ShareBlog.d.ts +0 -9
- package/dist/modules/modals/ShareModal/apps/ShareBlog.js +0 -44
- package/dist/modules/modals/ShareModal/apps/ShareBlog.js.map +0 -1
- package/dist/modules/modals/ShareModal/hooks/useShareMutation.js +0 -17
- package/dist/modules/modals/ShareModal/hooks/useShareMutation.js.map +0 -1
- package/dist/modules/modals/ShareModal/index.d.ts +0 -3
- package/dist/modules/multimedia/AudioRecorder/AudioRecorder.js +0 -50
- package/dist/modules/multimedia/AudioRecorder/AudioRecorder.js.map +0 -1
- package/dist/modules/multimedia/AudioRecorder/AudioRecorderTimer.js +0 -25
- package/dist/modules/multimedia/AudioRecorder/AudioRecorderTimer.js.map +0 -1
- package/dist/modules/multimedia/AudioRecorder/useAudioRecorder.js +0 -308
- package/dist/modules/multimedia/AudioRecorder/useAudioRecorder.js.map +0 -1
- package/dist/modules/multimedia/Embed/Embed.js +0 -33
- package/dist/modules/multimedia/Embed/Embed.js.map +0 -1
- package/dist/modules/multimedia/ImageEditor/components/ImageEditor.js +0 -117
- package/dist/modules/multimedia/ImageEditor/components/ImageEditor.js.map +0 -1
- package/dist/modules/multimedia/ImageEditor/components/ImageEditorToolbar.js +0 -70
- package/dist/modules/multimedia/ImageEditor/components/ImageEditorToolbar.js.map +0 -1
- package/dist/modules/multimedia/ImageEditor/effects/blur.js +0 -73
- package/dist/modules/multimedia/ImageEditor/effects/blur.js.map +0 -1
- package/dist/modules/multimedia/ImageEditor/effects/crop.js +0 -156
- package/dist/modules/multimedia/ImageEditor/effects/crop.js.map +0 -1
- package/dist/modules/multimedia/ImageEditor/effects/misc.js +0 -163
- package/dist/modules/multimedia/ImageEditor/effects/misc.js.map +0 -1
- package/dist/modules/multimedia/ImageEditor/effects/resize.js +0 -158
- package/dist/modules/multimedia/ImageEditor/effects/resize.js.map +0 -1
- package/dist/modules/multimedia/ImageEditor/effects/rotate.js +0 -34
- package/dist/modules/multimedia/ImageEditor/effects/rotate.js.map +0 -1
- package/dist/modules/multimedia/ImageEditor/hooks/useHistoryTool.js +0 -65
- package/dist/modules/multimedia/ImageEditor/hooks/useHistoryTool.js.map +0 -1
- package/dist/modules/multimedia/ImageEditor/hooks/useImageEditor.js +0 -77
- package/dist/modules/multimedia/ImageEditor/hooks/useImageEditor.js.map +0 -1
- package/dist/modules/multimedia/ImageEditor/hooks/useImageEffects.js +0 -53
- package/dist/modules/multimedia/ImageEditor/hooks/useImageEffects.js.map +0 -1
- package/dist/modules/multimedia/ImageEditor/utils/aggregate.js +0 -14
- package/dist/modules/multimedia/ImageEditor/utils/aggregate.js.map +0 -1
- package/dist/modules/multimedia/ImagePickerWorkspace/ImagePickerWorkspace.js +0 -40
- package/dist/modules/multimedia/ImagePickerWorkspace/ImagePickerWorkspace.js.map +0 -1
- package/dist/modules/multimedia/Linker/ExternalLinker.js +0 -46
- package/dist/modules/multimedia/Linker/ExternalLinker.js.map +0 -1
- package/dist/modules/multimedia/Linker/InternalLinker.js +0 -115
- package/dist/modules/multimedia/Linker/InternalLinker.js.map +0 -1
- package/dist/modules/multimedia/LinkerCard/LinkerCard.js +0 -40
- package/dist/modules/multimedia/LinkerCard/LinkerCard.js.map +0 -1
- package/dist/modules/multimedia/LinkerCard/index.d.ts +0 -1
- package/dist/modules/multimedia/MediaLibrary/MediaLibrary.js +0 -212
- package/dist/modules/multimedia/MediaLibrary/MediaLibrary.js.map +0 -1
- package/dist/modules/multimedia/MediaLibrary/MediaLibraryContext.js +0 -13
- package/dist/modules/multimedia/MediaLibrary/MediaLibraryContext.js.map +0 -1
- package/dist/modules/multimedia/MediaLibrary/innertabs/Audio.js +0 -20
- package/dist/modules/multimedia/MediaLibrary/innertabs/Audio.js.map +0 -1
- package/dist/modules/multimedia/MediaLibrary/innertabs/ExternalLink.js +0 -18
- package/dist/modules/multimedia/MediaLibrary/innertabs/ExternalLink.js.map +0 -1
- package/dist/modules/multimedia/MediaLibrary/innertabs/Iframe.js +0 -15
- package/dist/modules/multimedia/MediaLibrary/innertabs/Iframe.js.map +0 -1
- package/dist/modules/multimedia/MediaLibrary/innertabs/InternalLink.js +0 -36
- package/dist/modules/multimedia/MediaLibrary/innertabs/InternalLink.js.map +0 -1
- package/dist/modules/multimedia/MediaLibrary/innertabs/Upload.js +0 -35
- package/dist/modules/multimedia/MediaLibrary/innertabs/Upload.js.map +0 -1
- package/dist/modules/multimedia/MediaLibrary/innertabs/Video.js +0 -23
- package/dist/modules/multimedia/MediaLibrary/innertabs/Video.js.map +0 -1
- package/dist/modules/multimedia/MediaLibrary/innertabs/VideoEmbedder.js +0 -15
- package/dist/modules/multimedia/MediaLibrary/innertabs/VideoEmbedder.js.map +0 -1
- package/dist/modules/multimedia/MediaLibrary/innertabs/Workspace.js +0 -32
- package/dist/modules/multimedia/MediaLibrary/innertabs/Workspace.js.map +0 -1
- package/dist/modules/multimedia/MediaLibrary/innertabs/index.js +0 -22
- package/dist/modules/multimedia/MediaLibrary/innertabs/index.js.map +0 -1
- package/dist/modules/multimedia/UploadFiles/UploadFiles.js +0 -57
- package/dist/modules/multimedia/UploadFiles/UploadFiles.js.map +0 -1
- package/dist/modules/multimedia/VideoEmbed/VideoEmbed.js +0 -78
- package/dist/modules/multimedia/VideoEmbed/VideoEmbed.js.map +0 -1
- package/dist/modules/multimedia/VideoRecorder/VideoRecorder.js +0 -260
- package/dist/modules/multimedia/VideoRecorder/VideoRecorder.js.map +0 -1
- package/dist/modules/multimedia/Workspace/Workspace.js +0 -170
- package/dist/modules/multimedia/Workspace/Workspace.js.map +0 -1
- package/dist/multimedia.js +0 -21
- package/dist/multimedia.js.map +0 -1
- package/dist/portal/Header/Badge.js.map +0 -1
- package/dist/portal/Header/Header.js.map +0 -1
- package/dist/portal/Header/NavItem.js.map +0 -1
- package/dist/portal/Header/NavLink.js.map +0 -1
- package/dist/portal/Header/Navbar.js.map +0 -1
- package/dist/portal/Header/NavbarNav.js.map +0 -1
- package/dist/portal/Header/WidgetApps.js.map +0 -1
- package/dist/portal/Help/Help.js.map +0 -1
- package/dist/portal/Help/hooks/useHelp.js.map +0 -1
- package/dist/portal/Layout/Layout.js.map +0 -1
- package/dist/portal/SearchEngine/SearchEngine.js.map +0 -1
- package/dist/utils/MockedDataProvider/MockedDataProvider.js.map +0 -1
- package/dist/utils/StringUtils.js.map +0 -1
- package/dist/utils/addTimestampToUrl.js.map +0 -1
- package/dist/utils/blob.js.map +0 -1
- package/dist/utils/checkUserRight.js.map +0 -1
- package/dist/utils/fileSize.js.map +0 -1
- package/dist/utils/findTreeNode.js.map +0 -1
- package/dist/utils/isActionAvailable.js.map +0 -1
- package/dist/utils/libraryMaps.js.map +0 -1
- package/dist/utils/noop.js.map +0 -1
- package/dist/utils/ref.js.map +0 -1
- package/dist/utils/thumbnail.js.map +0 -1
- package/dist/utils/time.js.map +0 -1
- package/dist/utils/treeview.js.map +0 -1
- package/dist/utils/video.js.map +0 -1
- package/dist/widgets/BookmarkedApps/BookmarkedApps.js.map +0 -1
- package/dist/widgets/Widget/Widget.js.map +0 -1
- /package/dist/{modules/modals → common}/OnboardingModal/OnboardingModal.d.ts +0 -0
- /package/dist/{modules/modals → common}/OnboardingModal/index.d.ts +0 -0
- /package/dist/{modules/modals → common}/OnboardingModal/useOnboardingModal.d.ts +0 -0
- /package/dist/{modules/modals → common}/PublishModal/components/ActivitiesDropdown.d.ts +0 -0
- /package/dist/{modules/modals → common}/PublishModal/components/AgeSelect.d.ts +0 -0
- /package/dist/{modules/modals → common}/PublishModal/components/LangSelect.d.ts +0 -0
- /package/dist/{modules/modals → common}/PublishModal/components/PublishModalFooter.d.ts +0 -0
- /package/dist/{modules/modals → common}/PublishModal/components/SubjectsDropdown.d.ts +0 -0
- /package/dist/{modules/modals → common}/PublishModal/components/ToastError.d.ts +0 -0
- /package/dist/{modules/modals → common}/PublishModal/constants/ageOptions.d.ts +0 -0
- /package/dist/{modules/modals → common}/PublishModal/hooks/useActivitiesOptions.d.ts +0 -0
- /package/dist/{modules/modals → common}/PublishModal/hooks/useLanguageOptions.d.ts +0 -0
- /package/dist/{modules/modals → common}/PublishModal/hooks/useSubjectsOptions.d.ts +0 -0
- /package/dist/{modules/modals → common}/PublishModal/index.d.ts +0 -0
- /package/dist/{modules/modals → common}/ShareModal/ShareBookmark.d.ts +0 -0
- /package/dist/{modules/modals → common}/index.d.ts +0 -0
- /package/dist/{modules/audience → components/Audience}/ViewsCounter.d.ts +0 -0
- /package/dist/{modules/audience → components/Audience}/index.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/AudioRecorder/AudioRecorderTimer.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/AudioRecorder/index.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/Embed/Embed.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/Embed/index.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/ImageEditor/components/ImageEditor.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/ImageEditor/components/ImageEditorToolbar.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/ImageEditor/effects/blur.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/ImageEditor/effects/crop.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/ImageEditor/effects/misc.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/ImageEditor/effects/resize.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/ImageEditor/effects/rotate.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/ImageEditor/hooks/useHistoryTool.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/ImageEditor/hooks/useImageEditor.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/ImageEditor/hooks/useImageEffects.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/ImageEditor/index.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/ImageEditor/utils/aggregate.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/ImageEditor/utils/debounceAggregate.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/ImagePickerWorkspace/index.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/Linker/ExternalLinker.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/Linker/index.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/MediaLibrary/index.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/MediaLibrary/innertabs/Audio.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/MediaLibrary/innertabs/ExternalLink.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/MediaLibrary/innertabs/Iframe.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/MediaLibrary/innertabs/Upload.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/MediaLibrary/innertabs/Video.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/MediaLibrary/innertabs/VideoEmbedder.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/MediaLibrary/innertabs/Workspace.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/MediaLibrary/innertabs/index.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/UploadFiles/index.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/VideoEmbed/VideoEmbed.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/VideoEmbed/index.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/VideoRecorder/index.d.ts +0 -0
- /package/dist/{modules/multimedia → multimedia}/Workspace/index.d.ts +0 -0
- /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
|