@edifice.io/react 2.0.0-develop-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -0
- package/README.md +110 -0
- package/dist/audience.js +16 -0
- package/dist/components/ActionBar/ActionBar.d.ts +10 -0
- package/dist/components/ActionBar/ActionBar.js +8 -0
- package/dist/components/ActionBar/index.d.ts +2 -0
- package/dist/components/Alert/Alert.d.ts +60 -0
- package/dist/components/Alert/Alert.js +78 -0
- package/dist/components/Alert/index.d.ts +2 -0
- package/dist/components/AppHeader/AppHeader.d.ts +17 -0
- package/dist/components/AppHeader/AppHeader.js +22 -0
- package/dist/components/AppHeader/index.d.ts +2 -0
- package/dist/components/AppIcon/AppIcon.d.ts +45 -0
- package/dist/components/AppIcon/AppIcon.js +49 -0
- package/dist/components/AppIcon/index.d.ts +1 -0
- package/dist/components/Attachment/Attachment.d.ts +14 -0
- package/dist/components/Attachment/Attachment.js +15 -0
- package/dist/components/Attachment/index.d.ts +2 -0
- package/dist/components/Avatar/Avatar.d.ts +32 -0
- package/dist/components/Avatar/Avatar.js +33 -0
- package/dist/components/Avatar/index.d.ts +2 -0
- package/dist/components/Badge/Badge.d.ts +47 -0
- package/dist/components/Badge/Badge.js +31 -0
- package/dist/components/Badge/index.d.ts +2 -0
- package/dist/components/Breadcrumb/Breadcrumb.d.ts +12 -0
- package/dist/components/Breadcrumb/Breadcrumb.js +28 -0
- package/dist/components/Breadcrumb/BreadcrumbItem.d.ts +13 -0
- package/dist/components/Breadcrumb/BreadcrumbItem.js +14 -0
- package/dist/components/Breadcrumb/BreadcrumbList.d.ts +13 -0
- package/dist/components/Breadcrumb/BreadcrumbList.js +13 -0
- package/dist/components/Breadcrumb/BreadcrumbNav.d.ts +18 -0
- package/dist/components/Breadcrumb/BreadcrumbNav.js +22 -0
- package/dist/components/Breadcrumb/index.d.ts +1 -0
- package/dist/components/Button/Button.d.ts +63 -0
- package/dist/components/Button/Button.js +35 -0
- package/dist/components/Button/IconButton.d.ts +11 -0
- package/dist/components/Button/IconButton.js +18 -0
- package/dist/components/Button/SearchButton.d.ts +21 -0
- package/dist/components/Button/SearchButton.js +17 -0
- package/dist/components/Button/index.d.ts +6 -0
- package/dist/components/Card/Card.d.ts +83 -0
- package/dist/components/Card/Card.js +51 -0
- package/dist/components/Card/CardBody.d.ts +10 -0
- package/dist/components/Card/CardBody.js +18 -0
- package/dist/components/Card/CardContext.d.ts +12 -0
- package/dist/components/Card/CardContext.js +11 -0
- package/dist/components/Card/CardFooter.d.ts +8 -0
- package/dist/components/Card/CardFooter.js +7 -0
- package/dist/components/Card/CardHeader.d.ts +5 -0
- package/dist/components/Card/CardHeader.js +19 -0
- package/dist/components/Card/CardImage.d.ts +9 -0
- package/dist/components/Card/CardImage.js +21 -0
- package/dist/components/Card/CardText.d.ts +9 -0
- package/dist/components/Card/CardText.js +12 -0
- package/dist/components/Card/CardTitle.d.ts +9 -0
- package/dist/components/Card/CardTitle.js +12 -0
- package/dist/components/Card/CardUser.d.ts +8 -0
- package/dist/components/Card/CardUser.js +10 -0
- package/dist/components/Card/index.d.ts +2 -0
- package/dist/components/Checkbox/Checkbox.d.ts +21 -0
- package/dist/components/Checkbox/Checkbox.js +35 -0
- package/dist/components/Checkbox/index.d.ts +2 -0
- package/dist/components/ColorPicker/ColorPalette.d.ts +46 -0
- package/dist/components/ColorPicker/ColorPalette.js +171 -0
- package/dist/components/ColorPicker/ColorPicker.d.ts +18 -0
- package/dist/components/ColorPicker/ColorPicker.js +37 -0
- package/dist/components/ColorPicker/ColorPickerItem.d.ts +20 -0
- package/dist/components/ColorPicker/ColorPickerItem.js +13 -0
- package/dist/components/ColorPicker/index.d.ts +5 -0
- package/dist/components/Combobox/Combobox.d.ts +31 -0
- package/dist/components/Combobox/Combobox.js +41 -0
- package/dist/components/Combobox/ComboboxTrigger.d.ts +9 -0
- package/dist/components/Combobox/ComboboxTrigger.js +30 -0
- package/dist/components/Combobox/index.d.ts +2 -0
- package/dist/components/Dropdown/Dropdown.d.ts +79 -0
- package/dist/components/Dropdown/Dropdown.js +60 -0
- package/dist/components/Dropdown/DropdownCheckboxItem.d.ts +24 -0
- package/dist/components/Dropdown/DropdownCheckboxItem.js +34 -0
- package/dist/components/Dropdown/DropdownContext.d.ts +8 -0
- package/dist/components/Dropdown/DropdownContext.js +11 -0
- package/dist/components/Dropdown/DropdownItem.d.ts +29 -0
- package/dist/components/Dropdown/DropdownItem.js +33 -0
- package/dist/components/Dropdown/DropdownMenu.d.ts +35 -0
- package/dist/components/Dropdown/DropdownMenu.js +26 -0
- package/dist/components/Dropdown/DropdownMenuGroup.d.ts +13 -0
- package/dist/components/Dropdown/DropdownMenuGroup.js +12 -0
- package/dist/components/Dropdown/DropdownRadioItem.d.ts +24 -0
- package/dist/components/Dropdown/DropdownRadioItem.js +34 -0
- package/dist/components/Dropdown/DropdownSeparator.d.ts +5 -0
- package/dist/components/Dropdown/DropdownSeparator.js +5 -0
- package/dist/components/Dropdown/DropdownTrigger.d.ts +38 -0
- package/dist/components/Dropdown/DropdownTrigger.js +34 -0
- package/dist/components/Dropdown/index.d.ts +2 -0
- package/dist/components/Dropzone/Dropzone.d.ts +28 -0
- package/dist/components/Dropzone/Dropzone.js +56 -0
- package/dist/components/Dropzone/DropzoneContext.d.ts +10 -0
- package/dist/components/Dropzone/DropzoneContext.js +12 -0
- package/dist/components/Dropzone/DropzoneDrag.d.ts +5 -0
- package/dist/components/Dropzone/DropzoneDrag.js +11 -0
- package/dist/components/Dropzone/DropzoneFile.d.ts +8 -0
- package/dist/components/Dropzone/DropzoneFile.js +32 -0
- package/dist/components/Dropzone/DropzoneImport.d.ts +5 -0
- package/dist/components/Dropzone/DropzoneImport.js +28 -0
- package/dist/components/Dropzone/index.d.ts +2 -0
- package/dist/components/EmptyScreen/EmptyScreen.d.ts +27 -0
- package/dist/components/EmptyScreen/EmptyScreen.js +20 -0
- package/dist/components/EmptyScreen/index.d.ts +2 -0
- package/dist/components/FileCard/FileCard.d.ts +13 -0
- package/dist/components/FileCard/FileCard.js +91 -0
- package/dist/components/FileCard/FileIcon.d.ts +6 -0
- package/dist/components/FileCard/FileIcon.js +15 -0
- package/dist/components/FileCard/index.d.ts +2 -0
- package/dist/components/Form/FormContext.d.ts +6 -0
- package/dist/components/Form/FormContext.js +11 -0
- package/dist/components/Form/FormControl.d.ts +42 -0
- package/dist/components/Form/FormControl.js +32 -0
- package/dist/components/Form/FormText.d.ts +8 -0
- package/dist/components/Form/FormText.js +17 -0
- package/dist/components/Form/index.d.ts +3 -0
- package/dist/components/Grid/Grid.d.ts +56 -0
- package/dist/components/Grid/Grid.js +32 -0
- package/dist/components/Grid/index.d.ts +1 -0
- package/dist/components/Heading/Heading.d.ts +27 -0
- package/dist/components/Heading/Heading.js +16 -0
- package/dist/components/Heading/index.d.ts +2 -0
- package/dist/components/Icon/Icon.d.ts +17 -0
- package/dist/components/Icon/Icon.js +10 -0
- package/dist/components/Icon/index.d.ts +1 -0
- package/dist/components/Image/Image.d.ts +29 -0
- package/dist/components/Image/Image.js +41 -0
- package/dist/components/Image/index.d.ts +2 -0
- package/dist/components/ImagePicker/ImagePicker.d.ts +38 -0
- package/dist/components/ImagePicker/ImagePicker.js +58 -0
- package/dist/components/ImagePicker/index.d.ts +1 -0
- package/dist/components/Input/Input.d.ts +33 -0
- package/dist/components/Input/Input.js +31 -0
- package/dist/components/Input/index.d.ts +2 -0
- package/dist/components/Label/Label.d.ts +26 -0
- package/dist/components/Label/Label.js +37 -0
- package/dist/components/Label/index.d.ts +2 -0
- package/dist/components/Loading/Loading.d.ts +29 -0
- package/dist/components/Loading/Loading.js +27 -0
- package/dist/components/Loading/index.d.ts +2 -0
- package/dist/components/LoadingScreen/LoadingScreen.d.ts +7 -0
- package/dist/components/LoadingScreen/LoadingScreen.js +25 -0
- package/dist/components/LoadingScreen/index.d.ts +1 -0
- package/dist/components/Logo/Logo.d.ts +8 -0
- package/dist/components/Logo/Logo.js +14 -0
- package/dist/components/Logo/index.d.ts +2 -0
- package/dist/components/Menu/Menu.d.ts +14 -0
- package/dist/components/Menu/Menu.js +58 -0
- package/dist/components/Menu/MenuButton.d.ts +5 -0
- package/dist/components/Menu/MenuButton.js +21 -0
- package/dist/components/Menu/MenuContext.d.ts +10 -0
- package/dist/components/Menu/MenuContext.js +12 -0
- package/dist/components/Menu/MenuItem.d.ts +4 -0
- package/dist/components/Menu/MenuItem.js +19 -0
- package/dist/components/Menu/index.d.ts +2 -0
- package/dist/components/Modal/Modal.d.ts +56 -0
- package/dist/components/Modal/Modal.js +72 -0
- package/dist/components/Modal/ModalBody.d.ts +19 -0
- package/dist/components/Modal/ModalBody.js +15 -0
- package/dist/components/Modal/ModalContext.d.ts +8 -0
- package/dist/components/Modal/ModalContext.js +15 -0
- package/dist/components/Modal/ModalFooter.d.ts +12 -0
- package/dist/components/Modal/ModalFooter.js +5 -0
- package/dist/components/Modal/ModalHeader.d.ts +19 -0
- package/dist/components/Modal/ModalHeader.js +27 -0
- package/dist/components/Modal/ModalSubtitle.d.ts +12 -0
- package/dist/components/Modal/ModalSubtitle.js +5 -0
- package/dist/components/Modal/index.d.ts +2 -0
- package/dist/components/Popover/Popover.d.ts +33 -0
- package/dist/components/Popover/Popover.js +51 -0
- package/dist/components/Popover/index.d.ts +1 -0
- package/dist/components/Radio/Radio.d.ts +25 -0
- package/dist/components/Radio/Radio.js +31 -0
- package/dist/components/Radio/index.d.ts +2 -0
- package/dist/components/SearchBar/SearchBar.d.ts +51 -0
- package/dist/components/SearchBar/SearchBar.js +36 -0
- package/dist/components/SearchBar/index.d.ts +2 -0
- package/dist/components/Select/Select.d.ts +39 -0
- package/dist/components/Select/Select.js +37 -0
- package/dist/components/Select/SelectTrigger.d.ts +8 -0
- package/dist/components/Select/SelectTrigger.js +6 -0
- package/dist/components/Select/index.d.ts +2 -0
- package/dist/components/Table/TableExplorer.d.ts +14 -0
- package/dist/components/Table/TableExplorer.js +8 -0
- package/dist/components/Table/index.d.ts +2 -0
- package/dist/components/Tabs/Tabs.d.ts +42 -0
- package/dist/components/Tabs/Tabs.js +75 -0
- package/dist/components/Tabs/TabsContext.d.ts +12 -0
- package/dist/components/Tabs/TabsContext.js +12 -0
- package/dist/components/Tabs/TabsItem.d.ts +26 -0
- package/dist/components/Tabs/TabsItem.js +26 -0
- package/dist/components/Tabs/TabsList.d.ts +6 -0
- package/dist/components/Tabs/TabsList.js +24 -0
- package/dist/components/Tabs/TabsPanel.d.ts +17 -0
- package/dist/components/Tabs/TabsPanel.js +14 -0
- package/dist/components/Tabs/index.d.ts +3 -0
- package/dist/components/TextArea/TextArea.d.ts +33 -0
- package/dist/components/TextArea/TextArea.js +34 -0
- package/dist/components/TextArea/TextareaCounter.d.ts +4 -0
- package/dist/components/TextArea/TextareaCounter.js +8 -0
- package/dist/components/TextArea/index.d.ts +2 -0
- package/dist/components/Toolbar/Toolbar.d.ts +76 -0
- package/dist/components/Toolbar/Toolbar.js +77 -0
- package/dist/components/Toolbar/index.d.ts +2 -0
- package/dist/components/Tooltip/Tooltip.d.ts +22 -0
- package/dist/components/Tooltip/Tooltip.js +40 -0
- package/dist/components/Tooltip/index.d.ts +2 -0
- package/dist/components/TreeView/TreeItem.d.ts +52 -0
- package/dist/components/TreeView/TreeItem.js +54 -0
- package/dist/components/TreeView/TreeNode.d.ts +22 -0
- package/dist/components/TreeView/TreeView.d.ts +40 -0
- package/dist/components/TreeView/TreeView.js +39 -0
- package/dist/components/TreeView/hooks/useTreeItemEvents.d.ts +8 -0
- package/dist/components/TreeView/hooks/useTreeItemEvents.js +28 -0
- package/dist/components/TreeView/index.d.ts +3 -0
- package/dist/components/UploadCard/UploadCard.d.ts +42 -0
- package/dist/components/UploadCard/UploadCard.js +72 -0
- package/dist/components/UploadCard/index.d.ts +1 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +6 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.js +8 -0
- package/dist/components/VisuallyHidden/index.d.ts +1 -0
- package/dist/components/index.d.ts +42 -0
- package/dist/core/OdeClientProvider/OdeClientProvider.d.ts +28 -0
- package/dist/core/OdeClientProvider/OdeClientProvider.js +62 -0
- package/dist/core/OdeClientProvider/index.d.ts +1 -0
- package/dist/core/ThemeProvider/ThemeProvider.d.ts +11 -0
- package/dist/core/ThemeProvider/ThemeProvider.js +52 -0
- package/dist/core/ThemeProvider/index.d.ts +1 -0
- package/dist/core/index.d.ts +24 -0
- package/dist/core/useAvatar/index.d.ts +1 -0
- package/dist/core/useAvatar/useAvatar.d.ts +6 -0
- package/dist/core/useAvatar/useAvatar.js +30 -0
- package/dist/core/useBookmark/index.d.ts +1 -0
- package/dist/core/useBookmark/useBookmark.d.ts +2 -0
- package/dist/core/useBookmark/useBookmark.js +14 -0
- package/dist/core/useConf/index.d.ts +1 -0
- package/dist/core/useConf/useConf.d.ts +4 -0
- package/dist/core/useConf/useConf.js +13 -0
- package/dist/core/useConversation/index.d.ts +1 -0
- package/dist/core/useConversation/useConversation.d.ts +6 -0
- package/dist/core/useConversation/useConversation.js +43 -0
- package/dist/core/useCookiesConsent/index.d.ts +1 -0
- package/dist/core/useCookiesConsent/useCookiesConsent.d.ts +5 -0
- package/dist/core/useCookiesConsent/useCookiesConsent.js +29 -0
- package/dist/core/useDate/index.d.ts +2 -0
- package/dist/core/useDate/useDate.d.ts +13 -0
- package/dist/core/useDate/useDate.js +65 -0
- package/dist/core/useHasWorkflow/index.d.ts +1 -0
- package/dist/core/useHasWorkflow/useHasWorkflow.d.ts +1 -0
- package/dist/core/useHasWorkflow/useHasWorkflow.js +22 -0
- package/dist/core/useHeader/index.d.ts +1 -0
- package/dist/core/useHeader/useHeader.d.ts +5 -0
- package/dist/core/useHeader/useHeader.js +46 -0
- package/dist/core/useHttpErrorToast/index.d.ts +1 -0
- package/dist/core/useHttpErrorToast/useHttpErrorToast.d.ts +2 -0
- package/dist/core/useHttpErrorToast/useHttpErrorToast.js +21 -0
- package/dist/core/useIsAdml/index.d.ts +1 -0
- package/dist/core/useIsAdml/useIsAdml.d.ts +3 -0
- package/dist/core/useIsAdml/useIsAdml.js +18 -0
- package/dist/core/useLibraryUrl/index.d.ts +1 -0
- package/dist/core/useLibraryUrl/useLibraryUrl.d.ts +7 -0
- package/dist/core/useLibraryUrl/useLibraryUrl.js +21 -0
- package/dist/core/useMediaLibrary/index.d.ts +1 -0
- package/dist/core/useMediaLibrary/useMediaLibrary.d.ts +12 -0
- package/dist/core/useMediaLibrary/useMediaLibrary.js +58 -0
- package/dist/core/useOdeIcons/index.d.ts +1 -0
- package/dist/core/useOdeIcons/useOdeIcons.d.ts +9 -0
- package/dist/core/useOdeIcons/useOdeIcons.js +92 -0
- package/dist/core/usePaths/index.d.ts +1 -0
- package/dist/core/usePaths/usePaths.d.ts +1 -0
- package/dist/core/usePaths/usePaths.js +6 -0
- package/dist/core/usePreferences/index.d.ts +1 -0
- package/dist/core/usePreferences/usePreferences.d.ts +4 -0
- package/dist/core/usePreferences/usePreferences.js +10 -0
- package/dist/core/useResource/index.d.ts +1 -0
- package/dist/core/useResource/useResource.d.ts +3 -0
- package/dist/core/useResource/useResource.js +25 -0
- package/dist/core/useResourceSearch/index.d.ts +1 -0
- package/dist/core/useResourceSearch/useResourceSearch.d.ts +18 -0
- package/dist/core/useResourceSearch/useResourceSearch.js +34 -0
- package/dist/core/useSession/index.d.ts +1 -0
- package/dist/core/useSession/useSession.d.ts +1 -0
- package/dist/core/useSession/useSession.js +11 -0
- package/dist/core/useTrashedResource/index.d.ts +1 -0
- package/dist/core/useTrashedResource/useTrashedResource.d.ts +6 -0
- package/dist/core/useTrashedResource/useTrashedResource.js +27 -0
- package/dist/core/useUpload/index.d.ts +1 -0
- package/dist/core/useUpload/useUpload.d.ts +18 -0
- package/dist/core/useUpload/useUpload.js +106 -0
- package/dist/core/useUploadFiles/index.d.ts +1 -0
- package/dist/core/useUploadFiles/useUploadFiles.d.ts +25 -0
- package/dist/core/useUploadFiles/useUploadFiles.js +101 -0
- package/dist/core/useUser/index.d.ts +1 -0
- package/dist/core/useUser/useUser.d.ts +7 -0
- package/dist/core/useUser/useUser.js +22 -0
- package/dist/core/useWorkspaceFile/index.d.ts +1 -0
- package/dist/core/useWorkspaceFile/useWorkspaceFile.d.ts +21 -0
- package/dist/core/useWorkspaceFile/useWorkspaceFile.js +49 -0
- package/dist/core/useWorkspaceSearch/index.d.ts +1 -0
- package/dist/core/useWorkspaceSearch/useWorkspaceSearch.d.ts +9 -0
- package/dist/core/useWorkspaceSearch/useWorkspaceSearch.js +58 -0
- package/dist/core/useXitiTrackPageLoad/index.d.ts +1 -0
- package/dist/core/useXitiTrackPageLoad/useXitiTrackPageLoad.d.ts +4 -0
- package/dist/core/useXitiTrackPageLoad/useXitiTrackPageLoad.js +28 -0
- package/dist/core/useZendeskGuide/index.d.ts +1 -0
- package/dist/core/useZendeskGuide/useZendeskGuide.d.ts +2 -0
- package/dist/core/useZendeskGuide/useZendeskGuide.js +101 -0
- package/dist/editor.js +58 -0
- package/dist/hooks/index.d.ts +14 -0
- package/dist/hooks/useBrowserInfo/index.d.ts +1 -0
- package/dist/hooks/useBrowserInfo/useBrowserInfo.d.ts +9 -0
- package/dist/hooks/useBrowserInfo/useBrowserInfo.js +16 -0
- package/dist/hooks/useClickOutside/index.d.ts +1 -0
- package/dist/hooks/useClickOutside/useClickOutside.d.ts +2 -0
- package/dist/hooks/useClickOutside/useClickOutside.js +26 -0
- package/dist/hooks/useDebounce/index.d.ts +1 -0
- package/dist/hooks/useDebounce/useDebounce.d.ts +2 -0
- package/dist/hooks/useDebounce/useDebounce.js +15 -0
- package/dist/hooks/useDropdown/index.d.ts +1 -0
- package/dist/hooks/useDropdown/useDropdown.d.ts +32 -0
- package/dist/hooks/useDropdown/useDropdown.js +158 -0
- package/dist/hooks/useDropzone/index.d.ts +1 -0
- package/dist/hooks/useDropzone/useDropzone.d.ts +34 -0
- package/dist/hooks/useDropzone/useDropzone.js +76 -0
- package/dist/hooks/useHover/index.d.ts +1 -0
- package/dist/hooks/useHover/useHover.d.ts +2 -0
- package/dist/hooks/useHover/useHover.js +22 -0
- package/dist/hooks/useImage/index.d.ts +1 -0
- package/dist/hooks/useImage/useImage.d.ts +9 -0
- package/dist/hooks/useImage/useImage.js +18 -0
- package/dist/hooks/useImageResizer/index.d.ts +1 -0
- package/dist/hooks/useImageResizer/useImageResizer.d.ts +8 -0
- package/dist/hooks/useImageResizer/useImageResizer.js +42 -0
- package/dist/hooks/useKeyPress/index.d.ts +1 -0
- package/dist/hooks/useKeyPress/useKeyPress.d.ts +1 -0
- package/dist/hooks/useKeyPress/useKeyPress.js +14 -0
- package/dist/hooks/useScrollToTop/index.d.ts +1 -0
- package/dist/hooks/useScrollToTop/useScrollToTop.d.ts +1 -0
- package/dist/hooks/useScrollToTop/useScrollToTop.js +9 -0
- package/dist/hooks/useThumbnail/index.d.ts +1 -0
- package/dist/hooks/useThumbnail/useThumbnail.d.ts +14 -0
- package/dist/hooks/useThumbnail/useThumbnail.js +29 -0
- package/dist/hooks/useTitle/index.d.ts +1 -0
- package/dist/hooks/useTitle/useTitle.d.ts +1 -0
- package/dist/hooks/useTitle/useTitle.js +10 -0
- package/dist/hooks/useToast/index.d.ts +1 -0
- package/dist/hooks/useToast/useToast.d.ts +17 -0
- package/dist/hooks/useToast/useToast.js +34 -0
- package/dist/hooks/useToggle/index.d.ts +1 -0
- package/dist/hooks/useToggle/useToggle.d.ts +1 -0
- package/dist/hooks/useToggle/useToggle.js +10 -0
- package/dist/hooks/useTrapFocus/index.d.ts +1 -0
- package/dist/hooks/useTrapFocus/useTrapFocus.d.ts +2 -0
- package/dist/hooks/useTrapFocus/useTrapFocus.js +16 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +227 -0
- package/dist/modals.js +18 -0
- package/dist/modules/audience/ReactionChoice.d.ts +11 -0
- package/dist/modules/audience/ReactionChoice.js +33 -0
- package/dist/modules/audience/ReactionModal.Card.d.ts +4 -0
- package/dist/modules/audience/ReactionModal.Card.js +34 -0
- package/dist/modules/audience/ReactionModal.d.ts +20 -0
- package/dist/modules/audience/ReactionModal.js +73 -0
- package/dist/modules/audience/ReactionSummary.d.ts +10 -0
- package/dist/modules/audience/ReactionSummary.js +27 -0
- package/dist/modules/audience/ViewsByProfileCard.d.ts +9 -0
- package/dist/modules/audience/ViewsByProfileCard.js +35 -0
- package/dist/modules/audience/ViewsCounter.d.ts +11 -0
- package/dist/modules/audience/ViewsCounter.js +18 -0
- package/dist/modules/audience/ViewsModal.d.ts +11 -0
- package/dist/modules/audience/ViewsModal.js +40 -0
- package/dist/modules/audience/hooks/useReactionIcons.d.ts +5 -0
- package/dist/modules/audience/hooks/useReactionIcons.js +37 -0
- package/dist/modules/audience/hooks/useReactions.d.ts +15 -0
- package/dist/modules/audience/hooks/useReactions.js +35 -0
- package/dist/modules/audience/hooks/useViews.d.ts +11 -0
- package/dist/modules/audience/index.d.ts +12 -0
- package/dist/modules/editor/components/BubbleMenuEditImage/BubbleMenuEditImage.d.ts +8 -0
- package/dist/modules/editor/components/BubbleMenuEditImage/BubbleMenuEditImage.js +132 -0
- package/dist/modules/editor/components/BubbleMenuEditImage/index.d.ts +1 -0
- package/dist/modules/editor/components/Editor/Editor.d.ts +45 -0
- package/dist/modules/editor/components/Editor/Editor.js +83 -0
- package/dist/modules/editor/components/Editor/MathsModal.d.ts +8 -0
- package/dist/modules/editor/components/Editor/MathsModal.js +50 -0
- package/dist/modules/editor/components/Editor/index.d.ts +2 -0
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.DropdownMenu.d.ts +22 -0
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.DropdownMenu.js +17 -0
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Emoji.d.ts +14 -0
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Emoji.js +54 -0
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.HighlightColor.d.ts +14 -0
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.HighlightColor.js +47 -0
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.PlusMenu.d.ts +9 -0
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.PlusMenu.js +18 -0
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextColor.d.ts +14 -0
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextColor.js +50 -0
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextSize.d.ts +10 -0
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextSize.js +62 -0
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Typography.d.ts +10 -0
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Typography.js +52 -0
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.d.ts +10 -0
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.js +319 -0
- package/dist/modules/editor/components/EditorToolbar/index.d.ts +1 -0
- package/dist/modules/editor/components/NodeView/AttachmentNodeView.d.ts +2 -0
- package/dist/modules/editor/components/NodeView/AttachmentNodeView.js +10 -0
- package/dist/modules/editor/components/NodeView/AudioNodeView.d.ts +2 -0
- package/dist/modules/editor/components/NodeView/AudioNodeView.js +10 -0
- package/dist/modules/editor/components/NodeView/ImageNodeView.d.ts +2 -0
- package/dist/modules/editor/components/NodeView/ImageNodeView.js +10 -0
- package/dist/modules/editor/components/NodeView/LinkerNodeView.d.ts +2 -0
- package/dist/modules/editor/components/NodeView/LinkerNodeView.js +10 -0
- package/dist/modules/editor/components/NodeView/VideoNodeView.d.ts +2 -0
- package/dist/modules/editor/components/NodeView/VideoNodeView.js +10 -0
- package/dist/modules/editor/components/NodeView/index.d.ts +5 -0
- package/dist/modules/editor/components/Renderer/AttachmentRenderer.d.ts +7 -0
- package/dist/modules/editor/components/Renderer/AttachmentRenderer.js +34 -0
- package/dist/modules/editor/components/Renderer/AudioRenderer.d.ts +7 -0
- package/dist/modules/editor/components/Renderer/AudioRenderer.js +11 -0
- package/dist/modules/editor/components/Renderer/LinkerRenderer.d.ts +9 -0
- package/dist/modules/editor/components/Renderer/LinkerRenderer.js +34 -0
- package/dist/modules/editor/components/Renderer/MediaRenderer.d.ts +2 -0
- package/dist/modules/editor/components/Renderer/MediaRenderer.js +69 -0
- package/dist/modules/editor/components/Renderer/index.d.ts +4 -0
- package/dist/modules/editor/components/Toolbar/LinkToolbar.TippyOptions.d.ts +2 -0
- package/dist/modules/editor/components/Toolbar/LinkToolbar.TippyOptions.js +8 -0
- package/dist/modules/editor/components/Toolbar/LinkToolbar.d.ts +15 -0
- package/dist/modules/editor/components/Toolbar/LinkToolbar.js +59 -0
- package/dist/modules/editor/components/Toolbar/TableToolbar.AddMenu.d.ts +9 -0
- package/dist/modules/editor/components/Toolbar/TableToolbar.AddMenu.js +28 -0
- package/dist/modules/editor/components/Toolbar/TableToolbar.CellColor.d.ts +13 -0
- package/dist/modules/editor/components/Toolbar/TableToolbar.CellColor.js +45 -0
- package/dist/modules/editor/components/Toolbar/TableToolbar.DelMenu.d.ts +9 -0
- package/dist/modules/editor/components/Toolbar/TableToolbar.DelMenu.js +27 -0
- package/dist/modules/editor/components/Toolbar/TableToolbar.d.ts +9 -0
- package/dist/modules/editor/components/Toolbar/TableToolbar.js +88 -0
- package/dist/modules/editor/components/Toolbar/index.d.ts +2 -0
- package/dist/modules/editor/components/index.d.ts +6 -0
- package/dist/modules/editor/hooks/index.d.ts +12 -0
- package/dist/modules/editor/hooks/useActionOptions.d.ts +5 -0
- package/dist/modules/editor/hooks/useActionOptions.js +75 -0
- package/dist/modules/editor/hooks/useCommentEditor.d.ts +13 -0
- package/dist/modules/editor/hooks/useCommentEditor.js +37 -0
- package/dist/modules/editor/hooks/useEditorContext.d.ts +37 -0
- package/dist/modules/editor/hooks/useEditorContext.js +12 -0
- package/dist/modules/editor/hooks/useImageModal.d.ts +31 -0
- package/dist/modules/editor/hooks/useImageModal.js +46 -0
- package/dist/modules/editor/hooks/useImageSelection.d.ts +21 -0
- package/dist/modules/editor/hooks/useImageSelection.js +46 -0
- package/dist/modules/editor/hooks/useLinkToolbar.d.ts +17 -0
- package/dist/modules/editor/hooks/useLinkToolbar.js +37 -0
- package/dist/modules/editor/hooks/useMathsModal.d.ts +17 -0
- package/dist/modules/editor/hooks/useMathsModal.js +17 -0
- package/dist/modules/editor/hooks/useMathsStyles.d.ts +1 -0
- package/dist/modules/editor/hooks/useMathsStyles.js +20 -0
- package/dist/modules/editor/hooks/useMediaLibraryEditor.d.ts +19 -0
- package/dist/modules/editor/hooks/useMediaLibraryEditor.js +152 -0
- package/dist/modules/editor/hooks/useResizeMedia.d.ts +10 -0
- package/dist/modules/editor/hooks/useResizeMedia.js +47 -0
- package/dist/modules/editor/hooks/useSpeechRecognition.d.ts +6 -0
- package/dist/modules/editor/hooks/useSpeechRecognition.js +21 -0
- package/dist/modules/editor/hooks/useSpeechSynthetisis.d.ts +12 -0
- package/dist/modules/editor/hooks/useSpeechSynthetisis.js +20 -0
- package/dist/modules/editor/hooks/useTipTapEditor.d.ts +15 -0
- package/dist/modules/editor/hooks/useTipTapEditor.js +75 -0
- package/dist/modules/editor/index.d.ts +3 -0
- package/dist/modules/editor/utils/has-extension.d.ts +2 -0
- package/dist/modules/editor/utils/has-extension.js +4 -0
- package/dist/modules/editor/utils/has-mark.d.ts +2 -0
- package/dist/modules/editor/utils/has-mark.js +4 -0
- package/dist/modules/editor/utils/has-text-style.d.ts +2 -0
- package/dist/modules/editor/utils/has-text-style.js +5 -0
- package/dist/modules/modals/OnboardingModal/OnboardingModal.d.ts +43 -0
- package/dist/modules/modals/OnboardingModal/OnboardingModal.js +59 -0
- package/dist/modules/modals/OnboardingModal/index.d.ts +1 -0
- package/dist/modules/modals/OnboardingModal/useOnboardingModal.d.ts +7 -0
- package/dist/modules/modals/OnboardingModal/useOnboardingModal.js +30 -0
- package/dist/modules/modals/PublishModal/PublishModal.d.ts +9 -0
- package/dist/modules/modals/PublishModal/PublishModal.js +120 -0
- package/dist/modules/modals/PublishModal/components/ActivitiesDropdown.d.ts +7 -0
- package/dist/modules/modals/PublishModal/components/ActivitiesDropdown.js +29 -0
- package/dist/modules/modals/PublishModal/components/AgeSelect.d.ts +8 -0
- package/dist/modules/modals/PublishModal/components/AgeSelect.js +20 -0
- package/dist/modules/modals/PublishModal/components/LangSelect.d.ts +5 -0
- package/dist/modules/modals/PublishModal/components/LangSelect.js +19 -0
- package/dist/modules/modals/PublishModal/components/PublishModalFooter.d.ts +1 -0
- package/dist/modules/modals/PublishModal/components/PublishModalFooter.js +23 -0
- package/dist/modules/modals/PublishModal/components/SubjectsDropdown.d.ts +7 -0
- package/dist/modules/modals/PublishModal/components/SubjectsDropdown.js +29 -0
- package/dist/modules/modals/PublishModal/components/ToastError.d.ts +5 -0
- package/dist/modules/modals/PublishModal/components/ToastError.js +24 -0
- package/dist/modules/modals/PublishModal/components/ToastSuccess.d.ts +4 -0
- package/dist/modules/modals/PublishModal/components/ToastSuccess.js +18 -0
- package/dist/modules/modals/PublishModal/constants/ageOptions.d.ts +1 -0
- package/dist/modules/modals/PublishModal/constants/ageOptions.js +4 -0
- package/dist/modules/modals/PublishModal/hooks/useActivitiesOptions.d.ts +4 -0
- package/dist/modules/modals/PublishModal/hooks/useActivitiesOptions.js +34 -0
- package/dist/modules/modals/PublishModal/hooks/useLanguageOptions.d.ts +4 -0
- package/dist/modules/modals/PublishModal/hooks/useLanguageOptions.js +43 -0
- package/dist/modules/modals/PublishModal/hooks/usePublishModal.d.ts +38 -0
- package/dist/modules/modals/PublishModal/hooks/usePublishModal.js +106 -0
- package/dist/modules/modals/PublishModal/hooks/useSubjectsOptions.d.ts +4 -0
- package/dist/modules/modals/PublishModal/hooks/useSubjectsOptions.js +118 -0
- package/dist/modules/modals/PublishModal/index.d.ts +1 -0
- package/dist/modules/modals/ResourceModal/ResourceModal.d.ts +30 -0
- package/dist/modules/modals/ResourceModal/ResourceModal.js +156 -0
- package/dist/modules/modals/ResourceModal/apps/BlogPublic.d.ts +13 -0
- package/dist/modules/modals/ResourceModal/apps/BlogPublic.js +62 -0
- package/dist/modules/modals/ResourceModal/hooks/useSlug.d.ts +17 -0
- package/dist/modules/modals/ResourceModal/hooks/useSlug.js +41 -0
- package/dist/modules/modals/ResourceModal/hooks/useThumb.d.ts +11 -0
- package/dist/modules/modals/ResourceModal/hooks/useThumb.js +17 -0
- package/dist/modules/modals/ResourceModal/hooks/useUpdateMutation.d.ts +7 -0
- package/dist/modules/modals/ResourceModal/hooks/useUpdateMutation.js +12 -0
- package/dist/modules/modals/ResourceModal/index.d.ts +3 -0
- package/dist/modules/modals/ShareModal/ShareBookmark.d.ts +8 -0
- package/dist/modules/modals/ShareModal/ShareBookmark.js +22 -0
- package/dist/modules/modals/ShareModal/ShareBookmarkLine.d.ts +9 -0
- package/dist/modules/modals/ShareModal/ShareBookmarkLine.js +42 -0
- package/dist/modules/modals/ShareModal/ShareModal.d.ts +41 -0
- package/dist/modules/modals/ShareModal/ShareModal.js +128 -0
- package/dist/modules/modals/ShareModal/apps/ShareBlog.d.ts +8 -0
- package/dist/modules/modals/ShareModal/apps/ShareBlog.js +42 -0
- package/dist/modules/modals/ShareModal/hooks/useSearch.d.ts +24 -0
- package/dist/modules/modals/ShareModal/hooks/useSearch.js +178 -0
- package/dist/modules/modals/ShareModal/hooks/useShare.d.ts +54 -0
- package/dist/modules/modals/ShareModal/hooks/useShare.js +192 -0
- package/dist/modules/modals/ShareModal/hooks/useShareBookmark.d.ts +23 -0
- package/dist/modules/modals/ShareModal/hooks/useShareBookmark.js +67 -0
- package/dist/modules/modals/ShareModal/hooks/useShareMutation.d.ts +13 -0
- package/dist/modules/modals/ShareModal/hooks/useShareMutation.js +15 -0
- package/dist/modules/modals/ShareModal/index.d.ts +3 -0
- package/dist/modules/modals/ShareModal/utils/hasRight.d.ts +2 -0
- package/dist/modules/modals/ShareModal/utils/hasRight.js +4 -0
- package/dist/modules/modals/ShareModal/utils/showShareRightLine.d.ts +2 -0
- package/dist/modules/modals/ShareModal/utils/showShareRightLine.js +4 -0
- package/dist/modules/modals/index.d.ts +4 -0
- package/dist/modules/multimedia/AudioRecorder/AudioRecorder.d.ts +12 -0
- package/dist/modules/multimedia/AudioRecorder/AudioRecorder.js +49 -0
- package/dist/modules/multimedia/AudioRecorder/AudioRecorderTimer.d.ts +10 -0
- package/dist/modules/multimedia/AudioRecorder/AudioRecorderTimer.js +24 -0
- package/dist/modules/multimedia/AudioRecorder/index.d.ts +1 -0
- package/dist/modules/multimedia/AudioRecorder/useAudioRecorder.d.ts +16 -0
- package/dist/modules/multimedia/AudioRecorder/useAudioRecorder.js +307 -0
- package/dist/modules/multimedia/Embed/Embed.d.ts +5 -0
- package/dist/modules/multimedia/Embed/Embed.js +32 -0
- package/dist/modules/multimedia/Embed/index.d.ts +2 -0
- package/dist/modules/multimedia/ImageEditor/components/ImageEditor.d.ts +27 -0
- package/dist/modules/multimedia/ImageEditor/components/ImageEditor.js +116 -0
- package/dist/modules/multimedia/ImageEditor/components/ImageEditorToolbar.d.ts +7 -0
- package/dist/modules/multimedia/ImageEditor/components/ImageEditorToolbar.js +69 -0
- package/dist/modules/multimedia/ImageEditor/effects/blur.d.ts +19 -0
- package/dist/modules/multimedia/ImageEditor/effects/blur.js +72 -0
- package/dist/modules/multimedia/ImageEditor/effects/crop.d.ts +28 -0
- package/dist/modules/multimedia/ImageEditor/effects/crop.js +155 -0
- package/dist/modules/multimedia/ImageEditor/effects/misc.d.ts +154 -0
- package/dist/modules/multimedia/ImageEditor/effects/misc.js +162 -0
- package/dist/modules/multimedia/ImageEditor/effects/resize.d.ts +25 -0
- package/dist/modules/multimedia/ImageEditor/effects/resize.js +157 -0
- package/dist/modules/multimedia/ImageEditor/effects/rotate.d.ts +8 -0
- package/dist/modules/multimedia/ImageEditor/effects/rotate.js +33 -0
- package/dist/modules/multimedia/ImageEditor/hooks/useHistoryTool.d.ts +32 -0
- package/dist/modules/multimedia/ImageEditor/hooks/useHistoryTool.js +66 -0
- package/dist/modules/multimedia/ImageEditor/hooks/useImageEditor.d.ts +30 -0
- package/dist/modules/multimedia/ImageEditor/hooks/useImageEditor.js +76 -0
- package/dist/modules/multimedia/ImageEditor/hooks/useImageEffects.d.ts +23 -0
- package/dist/modules/multimedia/ImageEditor/hooks/useImageEffects.js +52 -0
- package/dist/modules/multimedia/ImageEditor/index.d.ts +1 -0
- package/dist/modules/multimedia/ImageEditor/utils/aggregate.d.ts +9 -0
- package/dist/modules/multimedia/ImageEditor/utils/aggregate.js +13 -0
- package/dist/modules/multimedia/ImageEditor/utils/debounceAggregate.d.ts +10 -0
- package/dist/modules/multimedia/ImagePickerWorkspace/ImagePickerWorkspace.d.ts +46 -0
- package/dist/modules/multimedia/ImagePickerWorkspace/ImagePickerWorkspace.js +39 -0
- package/dist/modules/multimedia/ImagePickerWorkspace/index.d.ts +2 -0
- package/dist/modules/multimedia/Linker/ExternalLinker.d.ts +28 -0
- package/dist/modules/multimedia/Linker/ExternalLinker.js +45 -0
- package/dist/modules/multimedia/Linker/InternalLinker.d.ts +28 -0
- package/dist/modules/multimedia/Linker/InternalLinker.js +114 -0
- package/dist/modules/multimedia/Linker/index.d.ts +4 -0
- package/dist/modules/multimedia/LinkerCard/LinkerCard.d.ts +13 -0
- package/dist/modules/multimedia/LinkerCard/LinkerCard.js +38 -0
- package/dist/modules/multimedia/LinkerCard/index.d.ts +2 -0
- package/dist/modules/multimedia/MediaLibrary/MediaLibrary.d.ts +84 -0
- package/dist/modules/multimedia/MediaLibrary/MediaLibrary.js +211 -0
- package/dist/modules/multimedia/MediaLibrary/MediaLibraryContext.d.ts +60 -0
- package/dist/modules/multimedia/MediaLibrary/MediaLibraryContext.js +12 -0
- package/dist/modules/multimedia/MediaLibrary/index.d.ts +3 -0
- package/dist/modules/multimedia/MediaLibrary/innertabs/Audio.d.ts +1 -0
- package/dist/modules/multimedia/MediaLibrary/innertabs/Audio.js +19 -0
- package/dist/modules/multimedia/MediaLibrary/innertabs/ExternalLink.d.ts +6 -0
- package/dist/modules/multimedia/MediaLibrary/innertabs/ExternalLink.js +17 -0
- package/dist/modules/multimedia/MediaLibrary/innertabs/Iframe.d.ts +1 -0
- package/dist/modules/multimedia/MediaLibrary/innertabs/Iframe.js +14 -0
- package/dist/modules/multimedia/MediaLibrary/innertabs/InternalLink.d.ts +11 -0
- package/dist/modules/multimedia/MediaLibrary/innertabs/InternalLink.js +35 -0
- package/dist/modules/multimedia/MediaLibrary/innertabs/Upload.d.ts +1 -0
- package/dist/modules/multimedia/MediaLibrary/innertabs/Upload.js +34 -0
- package/dist/modules/multimedia/MediaLibrary/innertabs/Video.d.ts +1 -0
- package/dist/modules/multimedia/MediaLibrary/innertabs/Video.js +22 -0
- package/dist/modules/multimedia/MediaLibrary/innertabs/VideoEmbedder.d.ts +1 -0
- package/dist/modules/multimedia/MediaLibrary/innertabs/VideoEmbedder.js +14 -0
- package/dist/modules/multimedia/MediaLibrary/innertabs/Workspace.d.ts +1 -0
- package/dist/modules/multimedia/MediaLibrary/innertabs/Workspace.js +31 -0
- package/dist/modules/multimedia/MediaLibrary/innertabs/index.d.ts +10 -0
- package/dist/modules/multimedia/MediaLibrary/innertabs/index.js +21 -0
- package/dist/modules/multimedia/UploadFiles/UploadFiles.d.ts +9 -0
- package/dist/modules/multimedia/UploadFiles/UploadFiles.js +56 -0
- package/dist/modules/multimedia/UploadFiles/index.d.ts +2 -0
- package/dist/modules/multimedia/VideoEmbed/VideoEmbed.d.ts +5 -0
- package/dist/modules/multimedia/VideoEmbed/VideoEmbed.js +77 -0
- package/dist/modules/multimedia/VideoEmbed/index.d.ts +1 -0
- package/dist/modules/multimedia/VideoRecorder/VideoRecorder.d.ts +14 -0
- package/dist/modules/multimedia/VideoRecorder/VideoRecorder.js +259 -0
- package/dist/modules/multimedia/VideoRecorder/index.d.ts +1 -0
- package/dist/modules/multimedia/Workspace/Workspace.d.ts +33 -0
- package/dist/modules/multimedia/Workspace/Workspace.js +169 -0
- package/dist/modules/multimedia/Workspace/index.d.ts +2 -0
- package/dist/modules/multimedia/index.d.ts +8 -0
- package/dist/multimedia.js +20 -0
- package/dist/portal/Header/Badge.d.ts +5 -0
- package/dist/portal/Header/Badge.js +9 -0
- package/dist/portal/Header/Header.d.ts +9 -0
- package/dist/portal/Header/Header.js +170 -0
- package/dist/portal/Header/NavItem.d.ts +6 -0
- package/dist/portal/Header/NavItem.js +14 -0
- package/dist/portal/Header/NavLink.d.ts +24 -0
- package/dist/portal/Header/NavLink.js +19 -0
- package/dist/portal/Header/Navbar.d.ts +6 -0
- package/dist/portal/Header/Navbar.js +13 -0
- package/dist/portal/Header/NavbarNav.d.ts +6 -0
- package/dist/portal/Header/NavbarNav.js +13 -0
- package/dist/portal/Header/WidgetApps.d.ts +9 -0
- package/dist/portal/Header/WidgetApps.js +23 -0
- package/dist/portal/Header/index.d.ts +5 -0
- package/dist/portal/Help/Help.d.ts +9 -0
- package/dist/portal/Help/Help.js +25 -0
- package/dist/portal/Help/hooks/useHelp.d.ts +10 -0
- package/dist/portal/Help/hooks/useHelp.js +85 -0
- package/dist/portal/Help/index.d.ts +1 -0
- package/dist/portal/Layout/Layout.d.ts +12 -0
- package/dist/portal/Layout/Layout.js +42 -0
- package/dist/portal/Layout/index.d.ts +1 -0
- package/dist/portal/Main/Main.d.ts +16 -0
- package/dist/portal/Main/index.d.ts +2 -0
- package/dist/portal/SearchEngine/SearchEngine.d.ts +5 -0
- package/dist/portal/SearchEngine/SearchEngine.js +33 -0
- package/dist/portal/SearchEngine/index.d.ts +1 -0
- package/dist/portal/index.d.ts +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/size.d.ts +1 -0
- package/dist/types/status.d.ts +1 -0
- package/dist/utils/MockedDataProvider/MockedDataProvider.d.ts +28 -0
- package/dist/utils/MockedDataProvider/MockedDataProvider.js +26 -0
- package/dist/utils/MockedDataProvider/index.d.ts +1 -0
- package/dist/utils/StringUtils.d.ts +5 -0
- package/dist/utils/StringUtils.js +14 -0
- package/dist/utils/addTimestampToUrl.d.ts +6 -0
- package/dist/utils/addTimestampToUrl.js +7 -0
- package/dist/utils/blob.d.ts +9 -0
- package/dist/utils/blob.js +15 -0
- package/dist/utils/checkUserRight.d.ts +11 -0
- package/dist/utils/checkUserRight.js +44 -0
- package/dist/utils/fileSize.d.ts +1 -0
- package/dist/utils/fileSize.js +8 -0
- package/dist/utils/findTreeNode.d.ts +9 -0
- package/dist/utils/findTreeNode.js +11 -0
- package/dist/utils/index.d.ts +14 -0
- package/dist/utils/isActionAvailable.d.ts +2 -0
- package/dist/utils/isActionAvailable.js +7 -0
- package/dist/utils/libraryMaps.d.ts +4 -0
- package/dist/utils/libraryMaps.js +12 -0
- package/dist/utils/noop.d.ts +4 -0
- package/dist/utils/noop.js +5 -0
- package/dist/utils/ref.d.ts +5 -0
- package/dist/utils/ref.js +14 -0
- package/dist/utils/thumbnail.d.ts +8 -0
- package/dist/utils/thumbnail.js +6 -0
- package/dist/utils/time.d.ts +2 -0
- package/dist/utils/time.js +11 -0
- package/dist/utils/treeview.d.ts +33 -0
- package/dist/utils/treeview.js +133 -0
- package/dist/utils/video.d.ts +1 -0
- package/dist/utils/video.js +4 -0
- package/dist/widgets/BookmarkedApps/BookmarkedApps.d.ts +8 -0
- package/dist/widgets/BookmarkedApps/BookmarkedApps.js +8 -0
- package/dist/widgets/BookmarkedApps/index.d.ts +2 -0
- package/dist/widgets/Widget/Widget.d.ts +17 -0
- package/dist/widgets/Widget/Widget.js +22 -0
- package/dist/widgets/Widget/index.d.ts +2 -0
- package/dist/widgets/index.d.ts +2 -0
- package/package.json +134 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useEffect } from "react";
|
|
3
|
+
import { useTranslation } from "react-i18next";
|
|
4
|
+
import InternalLinker from "../../Linker/InternalLinker.js";
|
|
5
|
+
import { useMediaLibraryContext } from "../MediaLibraryContext.js";
|
|
6
|
+
import useToggle from "../../../../hooks/useToggle/useToggle.js";
|
|
7
|
+
import Checkbox from "../../../../components/Checkbox/Checkbox.js";
|
|
8
|
+
const InternalLink = ({
|
|
9
|
+
target,
|
|
10
|
+
resourceId,
|
|
11
|
+
appPrefix
|
|
12
|
+
}) => {
|
|
13
|
+
const {
|
|
14
|
+
t
|
|
15
|
+
} = useTranslation(), {
|
|
16
|
+
setResult,
|
|
17
|
+
setResultCounter,
|
|
18
|
+
appCode,
|
|
19
|
+
multiple
|
|
20
|
+
} = useMediaLibraryContext(), [isChecked, toggleChecked] = useToggle(target === "_blank"), [resources, setRessources] = useState([]), handleSelect = (resources2) => {
|
|
21
|
+
setRessources(resources2);
|
|
22
|
+
};
|
|
23
|
+
return useEffect(() => {
|
|
24
|
+
setResult({
|
|
25
|
+
target: isChecked ? "_blank" : void 0,
|
|
26
|
+
resources
|
|
27
|
+
}), resources && resources.length ? setResultCounter(resources.length) : setResultCounter(void 0);
|
|
28
|
+
}, [isChecked, resources]), /* @__PURE__ */ jsxs("div", { className: "d-flex flex-column flex-fill gap-16 overflow-hidden", children: [
|
|
29
|
+
/* @__PURE__ */ jsx(InternalLinker, { appCode, defaultAppCode: appPrefix, defaultResourceId: resourceId, onSelect: handleSelect, multiple }),
|
|
30
|
+
/* @__PURE__ */ jsx(Checkbox, { className: "align-items-center", checked: isChecked, label: t("bbm.linker.open.tab"), onChange: toggleChecked })
|
|
31
|
+
] });
|
|
32
|
+
};
|
|
33
|
+
export {
|
|
34
|
+
InternalLink
|
|
35
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Upload: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useMediaLibraryContext } from "../MediaLibraryContext.js";
|
|
3
|
+
import Dropzone from "../../../../components/Dropzone/Dropzone.js";
|
|
4
|
+
import UploadFiles from "../../UploadFiles/UploadFiles.js";
|
|
5
|
+
const acceptedTypes = (type) => {
|
|
6
|
+
const acceptedTypes2 = [];
|
|
7
|
+
switch (type) {
|
|
8
|
+
case "audio":
|
|
9
|
+
acceptedTypes2.push("audio/*");
|
|
10
|
+
break;
|
|
11
|
+
case "video":
|
|
12
|
+
acceptedTypes2.push("video/*");
|
|
13
|
+
break;
|
|
14
|
+
case "image":
|
|
15
|
+
acceptedTypes2.push("image/png"), acceptedTypes2.push("image/jpeg"), acceptedTypes2.push("image/webp"), acceptedTypes2.push("image/gif"), acceptedTypes2.push("image/avif");
|
|
16
|
+
break;
|
|
17
|
+
}
|
|
18
|
+
return acceptedTypes2;
|
|
19
|
+
}, Upload = () => {
|
|
20
|
+
const {
|
|
21
|
+
type,
|
|
22
|
+
visibility,
|
|
23
|
+
multiple,
|
|
24
|
+
setResult,
|
|
25
|
+
setResultCounter,
|
|
26
|
+
setCancellable
|
|
27
|
+
} = useMediaLibraryContext(), handleOnFilesChange = (uploadedFiles) => {
|
|
28
|
+
uploadedFiles.length ? (setCancellable(uploadedFiles), setResultCounter(uploadedFiles.length), setResult(uploadedFiles)) : (setCancellable([]), setResultCounter(void 0), setResult(void 0));
|
|
29
|
+
};
|
|
30
|
+
return /* @__PURE__ */ jsx("div", { className: "py-8 flex-grow-1", children: /* @__PURE__ */ jsx(Dropzone, { multiple, accept: acceptedTypes(type ?? "embedder"), children: /* @__PURE__ */ jsx(UploadFiles, { onFilesChange: handleOnFilesChange, visibility }) }) });
|
|
31
|
+
};
|
|
32
|
+
export {
|
|
33
|
+
Upload
|
|
34
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Video: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useRef } from "react";
|
|
3
|
+
import { useTranslation } from "react-i18next";
|
|
4
|
+
import { useMediaLibraryContext } from "../MediaLibraryContext.js";
|
|
5
|
+
import VideoRecorder from "../../VideoRecorder/VideoRecorder.js";
|
|
6
|
+
const Video = () => {
|
|
7
|
+
const {
|
|
8
|
+
appCode,
|
|
9
|
+
setResult,
|
|
10
|
+
setPreSuccess
|
|
11
|
+
} = useMediaLibraryContext(), {
|
|
12
|
+
t
|
|
13
|
+
} = useTranslation(), ref = useRef(null), handleRecordUpdated = (recordUrl) => {
|
|
14
|
+
recordUrl ? (setResult(recordUrl), setPreSuccess(() => ref.current.save)) : setResult();
|
|
15
|
+
}, handleError = (err) => {
|
|
16
|
+
console.error(err);
|
|
17
|
+
};
|
|
18
|
+
return /* @__PURE__ */ jsx(VideoRecorder, { ref, appCode, caption: t("bbm.video.caption"), onRecordUpdated: handleRecordUpdated, onError: handleError, hideSaveAction: !0 });
|
|
19
|
+
};
|
|
20
|
+
export {
|
|
21
|
+
Video
|
|
22
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VideoEmbedder: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import VideoEmbed from "../../VideoEmbed/VideoEmbed.js";
|
|
3
|
+
import { useMediaLibraryContext } from "../MediaLibraryContext.js";
|
|
4
|
+
const VideoEmbedder = () => {
|
|
5
|
+
const {
|
|
6
|
+
setResult
|
|
7
|
+
} = useMediaLibraryContext();
|
|
8
|
+
return /* @__PURE__ */ jsx(VideoEmbed, { onSuccess: (ressource) => {
|
|
9
|
+
setResult(ressource);
|
|
10
|
+
} });
|
|
11
|
+
};
|
|
12
|
+
export {
|
|
13
|
+
VideoEmbedder
|
|
14
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Workspace: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useMediaLibraryContext } from "../MediaLibraryContext.js";
|
|
3
|
+
import Component from "../../Workspace/Workspace.js";
|
|
4
|
+
const Workspace = () => {
|
|
5
|
+
const {
|
|
6
|
+
type,
|
|
7
|
+
setResultCounter,
|
|
8
|
+
setResult,
|
|
9
|
+
multiple,
|
|
10
|
+
visibility
|
|
11
|
+
} = useMediaLibraryContext();
|
|
12
|
+
function getDocumentRoleFilter() {
|
|
13
|
+
switch (type) {
|
|
14
|
+
case "image":
|
|
15
|
+
return "img";
|
|
16
|
+
case "audio":
|
|
17
|
+
return "audio";
|
|
18
|
+
case "video":
|
|
19
|
+
return "video";
|
|
20
|
+
default:
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function handleSelect(result) {
|
|
25
|
+
setResultCounter(result.length), result.length ? setResult(result) : setResult();
|
|
26
|
+
}
|
|
27
|
+
return /* @__PURE__ */ jsx(Component, { roles: getDocumentRoleFilter(), onSelect: handleSelect, multiple, className: "border rounded overflow-y-auto", defaultFolder: visibility, showPublicFolder: visibility === "public" });
|
|
28
|
+
};
|
|
29
|
+
export {
|
|
30
|
+
Workspace
|
|
31
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const InnerTabs: {
|
|
2
|
+
Audio: () => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
Video: () => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
Upload: () => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
ExternalLink: ({ link, multiNodeSelected, }: import('./ExternalLink').ExternalLinkTabProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
Workspace: () => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
InternalLink: ({ target, resourceId, appPrefix, }: import('./InternalLink').InternalLinkTabProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
Iframe: () => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
VideoEmbedder: () => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Audio } from "./Audio.js";
|
|
2
|
+
import { ExternalLink } from "./ExternalLink.js";
|
|
3
|
+
import { Iframe } from "./Iframe.js";
|
|
4
|
+
import { InternalLink } from "./InternalLink.js";
|
|
5
|
+
import { Upload } from "./Upload.js";
|
|
6
|
+
import { Video } from "./Video.js";
|
|
7
|
+
import { VideoEmbedder } from "./VideoEmbedder.js";
|
|
8
|
+
import { Workspace } from "./Workspace.js";
|
|
9
|
+
const InnerTabs = {
|
|
10
|
+
Audio,
|
|
11
|
+
Video,
|
|
12
|
+
Upload,
|
|
13
|
+
ExternalLink,
|
|
14
|
+
Workspace,
|
|
15
|
+
InternalLink,
|
|
16
|
+
Iframe,
|
|
17
|
+
VideoEmbedder
|
|
18
|
+
};
|
|
19
|
+
export {
|
|
20
|
+
InnerTabs
|
|
21
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { WorkspaceElement, WorkspaceVisibility } from 'edifice-ts-client';
|
|
2
|
+
declare const UploadFiles: {
|
|
3
|
+
({ onFilesChange, visibility, }: {
|
|
4
|
+
onFilesChange: (uploadedFiles: WorkspaceElement[]) => void;
|
|
5
|
+
visibility?: WorkspaceVisibility | undefined;
|
|
6
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
displayName: string;
|
|
8
|
+
};
|
|
9
|
+
export default UploadFiles;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useRef, useEffect } from "react";
|
|
3
|
+
import { customSize } from "../../../utils/fileSize.js";
|
|
4
|
+
import useUploadFiles from "../../../core/useUploadFiles/useUploadFiles.js";
|
|
5
|
+
import { UploadCard } from "../../../components/UploadCard/UploadCard.js";
|
|
6
|
+
import ImageEditor from "../ImageEditor/components/ImageEditor.js";
|
|
7
|
+
const UploadFiles = ({
|
|
8
|
+
onFilesChange,
|
|
9
|
+
visibility = "protected"
|
|
10
|
+
}) => {
|
|
11
|
+
const {
|
|
12
|
+
files,
|
|
13
|
+
uploadedFiles,
|
|
14
|
+
getUploadStatus,
|
|
15
|
+
uploadFile,
|
|
16
|
+
removeFile,
|
|
17
|
+
updateImage,
|
|
18
|
+
editingImage,
|
|
19
|
+
setEditingImage,
|
|
20
|
+
getUrl
|
|
21
|
+
} = useUploadFiles({
|
|
22
|
+
handleOnChange: onFilesChange,
|
|
23
|
+
application: "media-library",
|
|
24
|
+
visibility
|
|
25
|
+
}), fileBlobs = useRef(/* @__PURE__ */ new Map());
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
const blobs = fileBlobs.current;
|
|
28
|
+
return () => {
|
|
29
|
+
blobs.forEach((url) => URL.revokeObjectURL(url)), blobs.clear();
|
|
30
|
+
};
|
|
31
|
+
}, []);
|
|
32
|
+
const renderItem = (file) => {
|
|
33
|
+
const src = file.type.startsWith("image") ? fileBlobs.current.get(file.name) : "";
|
|
34
|
+
return fileBlobs.current.has(file.name) || fileBlobs.current.set(file.name, URL.createObjectURL(file)), {
|
|
35
|
+
name: file.name,
|
|
36
|
+
info: {
|
|
37
|
+
type: file.type,
|
|
38
|
+
weight: customSize(file.size || 0, 1)
|
|
39
|
+
},
|
|
40
|
+
src
|
|
41
|
+
};
|
|
42
|
+
}, handleRemoveFile = (file) => {
|
|
43
|
+
const blobUrl = fileBlobs.current.get(file.name);
|
|
44
|
+
blobUrl && (URL.revokeObjectURL(blobUrl), fileBlobs.current.delete(file.name)), removeFile(file);
|
|
45
|
+
};
|
|
46
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
47
|
+
files.map((file) => {
|
|
48
|
+
const resource = uploadedFiles.find((uploadedFile) => uploadedFile.name === file.name);
|
|
49
|
+
return /* @__PURE__ */ jsx(UploadCard, { status: getUploadStatus(file), item: renderItem(file), onEdit: () => setEditingImage(resource), onRetry: () => uploadFile(file), onDelete: () => handleRemoveFile(file) }, file.name);
|
|
50
|
+
}),
|
|
51
|
+
editingImage && /* @__PURE__ */ jsx(ImageEditor, { altText: editingImage.alt, legend: editingImage.title, image: getUrl(editingImage, !0), isOpen: !!editingImage, onCancel: () => setEditingImage(void 0), onSave: updateImage, onError: console.error })
|
|
52
|
+
] });
|
|
53
|
+
};
|
|
54
|
+
export {
|
|
55
|
+
UploadFiles as default
|
|
56
|
+
};
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useId, useEffect } from "react";
|
|
3
|
+
import { odeServices } from "edifice-ts-client";
|
|
4
|
+
import { useTranslation } from "react-i18next";
|
|
5
|
+
import { useMediaLibraryContext } from "../MediaLibrary/MediaLibraryContext.js";
|
|
6
|
+
import useDebounce from "../../../hooks/useDebounce/useDebounce.js";
|
|
7
|
+
import usePaths from "../../../core/usePaths/usePaths.js";
|
|
8
|
+
import { Icon } from "../../../components/Icon/Icon.js";
|
|
9
|
+
import FormControl from "../../../components/Form/FormControl.js";
|
|
10
|
+
import Input from "../../../components/Input/Input.js";
|
|
11
|
+
import Image from "../../../components/Image/Image.js";
|
|
12
|
+
import EmptyScreen from "../../../components/EmptyScreen/EmptyScreen.js";
|
|
13
|
+
import Button from "../../../components/Button/Button.js";
|
|
14
|
+
const VideoEmbed = ({
|
|
15
|
+
onSuccess
|
|
16
|
+
}) => {
|
|
17
|
+
const {
|
|
18
|
+
t
|
|
19
|
+
} = useTranslation(), {
|
|
20
|
+
switchType
|
|
21
|
+
} = useMediaLibraryContext(), [url, setUrl] = useState(), [embedVideo, setEmbedVideo] = useState(), [embedder, setEmbedder] = useState(void 0), [whiteListProvider, setWhiteListProvider] = useState(), debounceChangeUrl = useDebounce(url || "", 300), formControlId = useId(), [imagePath] = usePaths();
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
initWhiteListProvider();
|
|
24
|
+
}, []), useEffect(() => {
|
|
25
|
+
if (whiteListProvider && debounceChangeUrl) {
|
|
26
|
+
const embedderFound = odeServices.embedder().getProviderFromUrl(whiteListProvider, debounceChangeUrl);
|
|
27
|
+
if (embedderFound) {
|
|
28
|
+
setEmbedder(embedderFound);
|
|
29
|
+
const embedVideo2 = odeServices.embedder().getEmbedCodeForProvider(embedderFound, debounceChangeUrl);
|
|
30
|
+
setEmbedVideo(embedVideo2), onSuccess(embedVideo2);
|
|
31
|
+
} else
|
|
32
|
+
setEmbedder(void 0), onSuccess();
|
|
33
|
+
}
|
|
34
|
+
}, [debounceChangeUrl, whiteListProvider]);
|
|
35
|
+
const initWhiteListProvider = async () => {
|
|
36
|
+
const whiteListProviderResponse = await Promise.all([odeServices.embedder().getDefault(), odeServices.embedder().getCustom()]).then((results) => results.flat());
|
|
37
|
+
setWhiteListProvider(whiteListProviderResponse);
|
|
38
|
+
};
|
|
39
|
+
function handleUrlChange(event) {
|
|
40
|
+
const url2 = event.currentTarget.value;
|
|
41
|
+
setUrl(url2), onSuccess(url2 != null && url2.length ? url2 : void 0);
|
|
42
|
+
}
|
|
43
|
+
function handleSwitchToEmbedderClick() {
|
|
44
|
+
switchType("embedder");
|
|
45
|
+
}
|
|
46
|
+
const renderContent = () => debounceChangeUrl ? embedder ? /* @__PURE__ */ jsxs("div", { className: "mx-auto mt-16", children: [
|
|
47
|
+
/* @__PURE__ */ jsxs("div", { className: "video-embed-provider d-flex align-items-center", children: [
|
|
48
|
+
/* @__PURE__ */ jsx(Image, { src: embedder.logo, alt: "Logo " + embedder.displayName, className: "video-embed-provider-logo" }),
|
|
49
|
+
embedder.displayName
|
|
50
|
+
] }),
|
|
51
|
+
embedVideo && /* @__PURE__ */ jsx("div", { className: "video-embed-preview mt-12", dangerouslySetInnerHTML: {
|
|
52
|
+
__html: embedVideo
|
|
53
|
+
} })
|
|
54
|
+
] }) : /* @__PURE__ */ jsxs("div", { className: "d-flex flex-column align-items-center m-16", children: [
|
|
55
|
+
/* @__PURE__ */ jsx(EmptyScreen, { imageSrc: `${imagePath}/emptyscreen/illu-error.svg`, title: t("bbm.video.previewError.title"), text: t("bbm.video.previewError.text") }),
|
|
56
|
+
/* @__PURE__ */ jsxs(Button, { variant: "ghost", color: "primary", onClick: handleSwitchToEmbedderClick, className: "align-items-start mt-16", children: [
|
|
57
|
+
t("bbm.video.useEmbedCode"),
|
|
58
|
+
" ",
|
|
59
|
+
/* @__PURE__ */ jsx(Icon, { name: "arrow-right" })
|
|
60
|
+
] })
|
|
61
|
+
] }) : /* @__PURE__ */ jsx("div", { className: "d-flex my-16 align-items-start", children: /* @__PURE__ */ jsxs(Button, { variant: "ghost", color: "primary", onClick: handleSwitchToEmbedderClick, className: "align-items-start", children: [
|
|
62
|
+
t("bbm.video.useEmbedCode"),
|
|
63
|
+
" ",
|
|
64
|
+
/* @__PURE__ */ jsx(Icon, { name: "arrow-right" })
|
|
65
|
+
] }) });
|
|
66
|
+
return /* @__PURE__ */ jsxs("div", { className: "d-flex flex-column flex-fill video-embed", children: [
|
|
67
|
+
/* @__PURE__ */ jsxs("div", { className: "mb-8 d-flex", children: [
|
|
68
|
+
/* @__PURE__ */ jsx(Icon, { name: "globe", className: "me-8" }),
|
|
69
|
+
t("bbm.video.url.title")
|
|
70
|
+
] }),
|
|
71
|
+
/* @__PURE__ */ jsx(FormControl, { id: formControlId, children: /* @__PURE__ */ jsx(Input, { size: "md", type: "text", placeholder: t("bbm.video.url.placeholder"), onChange: handleUrlChange }) }),
|
|
72
|
+
/* @__PURE__ */ jsx(Fragment, { children: renderContent() })
|
|
73
|
+
] });
|
|
74
|
+
};
|
|
75
|
+
export {
|
|
76
|
+
VideoEmbed as default
|
|
77
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as VideoEmbed } from './VideoEmbed';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { WorkspaceElement } from 'edifice-ts-client';
|
|
2
|
+
export interface VideoRecorderProps {
|
|
3
|
+
appCode: string;
|
|
4
|
+
caption?: string;
|
|
5
|
+
onSuccess?: (res: WorkspaceElement[]) => void;
|
|
6
|
+
onError: (error: string) => void;
|
|
7
|
+
onRecordUpdated?: (recordURL?: string) => void;
|
|
8
|
+
hideSaveAction?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface VideoRecorderRef {
|
|
11
|
+
save: () => Promise<WorkspaceElement | undefined>;
|
|
12
|
+
}
|
|
13
|
+
declare const VideoRecorder: import('react').ForwardRefExoticComponent<VideoRecorderProps & import('react').RefAttributes<unknown>>;
|
|
14
|
+
export default VideoRecorder;
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef, useState, useRef, useImperativeHandle, useEffect, useCallback } from "react";
|
|
3
|
+
import { odeServices } from "edifice-ts-client";
|
|
4
|
+
import { useTranslation } from "react-i18next";
|
|
5
|
+
import useBrowserInfo from "../../../hooks/useBrowserInfo/useBrowserInfo.js";
|
|
6
|
+
import useUpload from "../../../core/useUpload/useUpload.js";
|
|
7
|
+
import { getBestSupportedMimeType } from "../../../utils/video.js";
|
|
8
|
+
import Select from "../../../components/Select/Select.js";
|
|
9
|
+
import Toolbar from "../../../components/Toolbar/Toolbar.js";
|
|
10
|
+
import { Icon } from "../../../components/Icon/Icon.js";
|
|
11
|
+
import FormControl from "../../../components/Form/FormControl.js";
|
|
12
|
+
import Label from "../../../components/Label/Label.js";
|
|
13
|
+
import { convertMsToMS } from "../../../utils/time.js";
|
|
14
|
+
import LoadingScreen from "../../../components/LoadingScreen/LoadingScreen.js";
|
|
15
|
+
const VIDEO_HEIGHT = 9, VIDEO_WIDTH = 16, VideoRecorder = /* @__PURE__ */ forwardRef(({
|
|
16
|
+
appCode,
|
|
17
|
+
caption,
|
|
18
|
+
onSuccess,
|
|
19
|
+
onError,
|
|
20
|
+
onRecordUpdated,
|
|
21
|
+
hideSaveAction = !1
|
|
22
|
+
}, ref) => {
|
|
23
|
+
const [maxDuration, setMaxDuration] = useState(18e4), [inputDevices, setInputDevices] = useState([]), [recording, setRecording] = useState(!1), [recorded, setRecorded] = useState(!1), [playing, setPlaying] = useState(!1), [saving, setSaving] = useState(!1), [saved, setSaved] = useState(!1), [mediaStreamConstraints, setMediaStreamConstraints] = useState({
|
|
24
|
+
audio: !0,
|
|
25
|
+
video: {
|
|
26
|
+
facingMode: "environment",
|
|
27
|
+
aspectRatio: VIDEO_WIDTH / VIDEO_HEIGHT
|
|
28
|
+
}
|
|
29
|
+
}), [stream, setStream] = useState(), [mimeType, setMimeType] = useState(""), [recordedChunks, setRecordedChunks] = useState([]), [recordedVideo, setRecordedVideo] = useState(), [recordedTime, setRecordedTime] = useState(0), [playedTime, setPlayedTime] = useState(0), videoRef = useRef(null), recorderRef = useRef(null), {
|
|
30
|
+
uploadBlob
|
|
31
|
+
} = useUpload(void 0, appCode), {
|
|
32
|
+
device
|
|
33
|
+
} = useBrowserInfo(navigator.userAgent);
|
|
34
|
+
useImperativeHandle(ref, () => ({
|
|
35
|
+
save: handleSave
|
|
36
|
+
}));
|
|
37
|
+
const {
|
|
38
|
+
t
|
|
39
|
+
} = useTranslation();
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
initMaxDuration(), initInputDevices();
|
|
42
|
+
}, []), useEffect(() => (stream || enableStream(mediaStreamConstraints), () => {
|
|
43
|
+
stream && stream.getTracks().forEach((track) => track.stop());
|
|
44
|
+
}), [stream]), useEffect(() => {
|
|
45
|
+
if (recordedChunks.length && !recording && videoRef.current) {
|
|
46
|
+
const finalVideo = new Blob(recordedChunks, {
|
|
47
|
+
type: mimeType
|
|
48
|
+
});
|
|
49
|
+
if (setRecordedVideo(finalVideo), onRecordUpdated) {
|
|
50
|
+
const videoUrl = window.URL.createObjectURL(finalVideo);
|
|
51
|
+
onRecordUpdated(videoUrl);
|
|
52
|
+
}
|
|
53
|
+
videoRef.current.autoplay = !1, videoRef.current.srcObject = null, videoRef.current.src = window.URL.createObjectURL(finalVideo);
|
|
54
|
+
}
|
|
55
|
+
}, [recording, recordedChunks]), useEffect(() => {
|
|
56
|
+
if (recording) {
|
|
57
|
+
const startedAt = Date.now(), timer = window.setInterval(
|
|
58
|
+
// Compute exact elapsed time by diffing the start time.
|
|
59
|
+
() => setRecordedTime(Date.now() - startedAt),
|
|
60
|
+
500
|
|
61
|
+
);
|
|
62
|
+
return () => {
|
|
63
|
+
window.clearInterval(timer);
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
}, [recording]), useEffect(() => {
|
|
67
|
+
if (playing) {
|
|
68
|
+
const timer = window.setInterval(() => setPlayedTime((prev) => prev + 500), 500);
|
|
69
|
+
return () => {
|
|
70
|
+
window.clearInterval(timer);
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}, [playing]);
|
|
74
|
+
const initMaxDuration = async () => {
|
|
75
|
+
const videoConfResponse = await odeServices.video().getVideoConf();
|
|
76
|
+
setMaxDuration((videoConfResponse.maxDuration ?? 3) * 60 * 1e3);
|
|
77
|
+
}, initInputDevices = async () => {
|
|
78
|
+
const videoDevices = (await navigator.mediaDevices.enumerateDevices()).filter((device2) => device2.kind === "videoinput");
|
|
79
|
+
switch (device.type) {
|
|
80
|
+
case "mobile":
|
|
81
|
+
case "tablet": {
|
|
82
|
+
const backCamera = {
|
|
83
|
+
deviceId: "environment",
|
|
84
|
+
label: t("video.back.camera"),
|
|
85
|
+
groupId: "",
|
|
86
|
+
kind: "videoinput"
|
|
87
|
+
}, frontCamera = {
|
|
88
|
+
deviceId: "user",
|
|
89
|
+
label: t("video.front.camera"),
|
|
90
|
+
groupId: "",
|
|
91
|
+
kind: "videoinput"
|
|
92
|
+
};
|
|
93
|
+
(videoDevices == null ? void 0 : videoDevices.length) > 1 ? setInputDevices([backCamera, frontCamera]) : setInputDevices([backCamera]);
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
default:
|
|
97
|
+
setInputDevices(videoDevices);
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
}, enableStream = async (mediaStreamConstraints2) => {
|
|
101
|
+
try {
|
|
102
|
+
const mediaStream = await navigator.mediaDevices.getUserMedia(mediaStreamConstraints2);
|
|
103
|
+
setStream(mediaStream), videoRef.current && (videoRef.current.src && (window.URL.revokeObjectURL(videoRef.current.src), videoRef.current.src = ""), videoRef.current.srcObject = mediaStream, videoRef.current.autoplay = !0, videoRef.current.volume = 1, videoRef.current.muted = !0);
|
|
104
|
+
} catch (err) {
|
|
105
|
+
console.error(err);
|
|
106
|
+
}
|
|
107
|
+
}, handleRecord = useCallback(() => {
|
|
108
|
+
setRecording(!0), videoRef && videoRef.current && (videoRef.current.muted = !0);
|
|
109
|
+
const mimeType2 = getBestSupportedMimeType();
|
|
110
|
+
setMimeType(mimeType2), stream && (recorderRef.current = new MediaRecorder(stream, {
|
|
111
|
+
mimeType: mimeType2
|
|
112
|
+
}), recorderRef.current.ondataavailable = ({
|
|
113
|
+
data
|
|
114
|
+
}) => {
|
|
115
|
+
data.size > 0 && setRecordedChunks((prev) => [...prev, data]);
|
|
116
|
+
}, recorderRef.current.onerror = (event) => console.error(event), recorderRef.current.start(1e3));
|
|
117
|
+
}, [stream]), handleStop = useCallback(() => {
|
|
118
|
+
var _a;
|
|
119
|
+
setRecording(!1), setRecorded(!0), ((_a = recorderRef.current) == null ? void 0 : _a.state) === "recording" && (recorderRef.current.requestData(), recorderRef.current.stop());
|
|
120
|
+
}, [recorderRef]), handlePlayPause = useCallback(() => {
|
|
121
|
+
var _a, _b;
|
|
122
|
+
videoRef && videoRef.current && (videoRef.current.muted = !1), playing ? ((_b = videoRef == null ? void 0 : videoRef.current) == null || _b.pause(), setPlaying(!1)) : ((_a = videoRef == null ? void 0 : videoRef.current) == null || _a.play(), setPlaying(!0));
|
|
123
|
+
}, [playing]), handleReset = () => {
|
|
124
|
+
setRecorded(!1), setRecording(!1), setPlaying(!1), setSaved(!1), setRecordedTime(0), setRecordedChunks([]), setRecordedVideo(void 0), enableStream(mediaStreamConstraints), onRecordUpdated && onRecordUpdated();
|
|
125
|
+
}, handleSave = async () => {
|
|
126
|
+
if (setSaving(!0), !recordedVideo) {
|
|
127
|
+
console.error("Error while saving video: recorded video is undefined.");
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
const resVideo = await uploadBlob(recordedVideo, {
|
|
131
|
+
duration: recordedTime
|
|
132
|
+
});
|
|
133
|
+
if (resVideo != null)
|
|
134
|
+
return onSuccess == null || onSuccess([resVideo]), setSaving(!1), setSaved(!0), [resVideo];
|
|
135
|
+
onError("Error while uploading video"), setSaving(!1), setSaved(!0);
|
|
136
|
+
}, handleEnded = () => {
|
|
137
|
+
setPlaying(!1), setPlayedTime(0), videoRef.current && (videoRef.current.currentTime = 0);
|
|
138
|
+
}, handleInputDeviceChange = (option) => {
|
|
139
|
+
var _a;
|
|
140
|
+
const selectedDevice = inputDevices.find((inputDevice) => inputDevice.label === option);
|
|
141
|
+
let mediaStreamConstraints2 = {};
|
|
142
|
+
selectedDevice != null && selectedDevice.deviceId ? ((selectedDevice == null ? void 0 : selectedDevice.deviceId) === "environment" || (selectedDevice == null ? void 0 : selectedDevice.deviceId) === "user" ? mediaStreamConstraints2 = {
|
|
143
|
+
audio: !0,
|
|
144
|
+
video: {
|
|
145
|
+
aspectRatio: VIDEO_WIDTH / VIDEO_HEIGHT,
|
|
146
|
+
facingMode: selectedDevice == null ? void 0 : selectedDevice.deviceId
|
|
147
|
+
}
|
|
148
|
+
} : mediaStreamConstraints2 = {
|
|
149
|
+
audio: !0,
|
|
150
|
+
video: {
|
|
151
|
+
aspectRatio: VIDEO_WIDTH / VIDEO_HEIGHT,
|
|
152
|
+
deviceId: selectedDevice.deviceId
|
|
153
|
+
}
|
|
154
|
+
}, setMediaStreamConstraints(mediaStreamConstraints2), stream && (((_a = recorderRef.current) == null ? void 0 : _a.state) === "recording" && (recorderRef.current.requestData(), recorderRef.current.stop()), stream.getTracks().forEach((track) => track.stop()), setStream(void 0)), enableStream(mediaStreamConstraints2)) : console.error("Selected input device id is null");
|
|
155
|
+
};
|
|
156
|
+
useEffect(() => {
|
|
157
|
+
recordedTime >= maxDuration && handleStop();
|
|
158
|
+
}, [recordedTime, handleStop]);
|
|
159
|
+
const toolbarItems = [{
|
|
160
|
+
type: "icon",
|
|
161
|
+
name: "record",
|
|
162
|
+
props: {
|
|
163
|
+
icon: /* @__PURE__ */ jsx(Icon, { name: "record", color: recording || recorded ? "" : "red" }),
|
|
164
|
+
color: "danger",
|
|
165
|
+
disabled: recording || recorded || saving,
|
|
166
|
+
onClick: handleRecord,
|
|
167
|
+
"aria-label": t("bbm.video.record.start")
|
|
168
|
+
},
|
|
169
|
+
tooltip: t("bbm.video.record.start")
|
|
170
|
+
}, {
|
|
171
|
+
type: "icon",
|
|
172
|
+
name: "stop",
|
|
173
|
+
props: {
|
|
174
|
+
icon: /* @__PURE__ */ jsx(Icon, { name: "record-stop" }),
|
|
175
|
+
disabled: !recording || recorded || saving,
|
|
176
|
+
onClick: handleStop,
|
|
177
|
+
"aria-label": t("bbm.video.record.stop")
|
|
178
|
+
},
|
|
179
|
+
tooltip: t("bbm.video.record.stop")
|
|
180
|
+
}, {
|
|
181
|
+
type: "icon",
|
|
182
|
+
name: "play",
|
|
183
|
+
visibility: playing ? "hide" : "show",
|
|
184
|
+
props: {
|
|
185
|
+
icon: /* @__PURE__ */ jsx(Icon, { name: "play-filled" }),
|
|
186
|
+
disabled: !recorded || saving,
|
|
187
|
+
onClick: handlePlayPause,
|
|
188
|
+
"aria-label": t("bbm.video.play.start")
|
|
189
|
+
},
|
|
190
|
+
tooltip: t("bbm.video.play.start")
|
|
191
|
+
}, {
|
|
192
|
+
type: "icon",
|
|
193
|
+
name: "pause",
|
|
194
|
+
visibility: playing ? "show" : "hide",
|
|
195
|
+
props: {
|
|
196
|
+
icon: /* @__PURE__ */ jsx(Icon, { name: "pause" }),
|
|
197
|
+
disabled: !recorded || saving,
|
|
198
|
+
onClick: handlePlayPause,
|
|
199
|
+
"aria-label": t("bbm.video.play.pause")
|
|
200
|
+
},
|
|
201
|
+
tooltip: t("bbm.video.play.pause")
|
|
202
|
+
}, {
|
|
203
|
+
type: "divider"
|
|
204
|
+
}, {
|
|
205
|
+
type: "icon",
|
|
206
|
+
name: "reset",
|
|
207
|
+
props: {
|
|
208
|
+
icon: /* @__PURE__ */ jsx(Icon, { name: "refresh" }),
|
|
209
|
+
disabled: !recorded || saving,
|
|
210
|
+
onClick: handleReset,
|
|
211
|
+
"aria-label": t("bbm.video.record.reset")
|
|
212
|
+
},
|
|
213
|
+
tooltip: t("bbm.video.record.reset")
|
|
214
|
+
}, {
|
|
215
|
+
type: "icon",
|
|
216
|
+
name: "save",
|
|
217
|
+
visibility: hideSaveAction ? "hide" : "show",
|
|
218
|
+
props: {
|
|
219
|
+
icon: /* @__PURE__ */ jsx(Icon, { name: "save" }),
|
|
220
|
+
disabled: !recorded || saving || saved,
|
|
221
|
+
onClick: handleSave,
|
|
222
|
+
"aria-label": t("bbm.video.record.save")
|
|
223
|
+
},
|
|
224
|
+
tooltip: t("bbm.video.record.save")
|
|
225
|
+
}];
|
|
226
|
+
return /* @__PURE__ */ jsxs("div", { className: "video-recorder d-flex flex-fill flex-column align-items-center pb-8", children: [
|
|
227
|
+
/* @__PURE__ */ jsx("div", { className: "video-recorder-caption d-none d-md-block", children: caption }),
|
|
228
|
+
inputDevices.length > 1 && /* @__PURE__ */ jsx("div", { className: "video-recorder-devices mb-12", children: /* @__PURE__ */ jsxs(FormControl, { id: "selectInputDevice", children: [
|
|
229
|
+
/* @__PURE__ */ jsx(Label, { className: "d-none d-md-block", children: t("bbm.video.record.select.devices.label") }),
|
|
230
|
+
/* @__PURE__ */ jsx(Select, { placeholderOption: t("bbm.video.record.select.devices.placeholder"), options: inputDevices.map((videoInputDevice) => videoInputDevice.label), onValueChange: handleInputDeviceChange })
|
|
231
|
+
] }) }),
|
|
232
|
+
/* @__PURE__ */ jsxs("div", { className: "video-recorder-video-container position-relative align-self-stretch", children: [
|
|
233
|
+
/* @__PURE__ */ jsx("video", { ref: videoRef, playsInline: !0, autoPlay: !0, controls: !1, muted: !0, onEnded: handleEnded, className: "rounded", children: /* @__PURE__ */ jsx("track", { default: !0, kind: "captions", srcLang: "fr", src: "" }) }),
|
|
234
|
+
(recording || recorded) && /* @__PURE__ */ jsxs("div", { className: "video-recorder-time d-flex align-items-center font-monospace fs-6 text-bg-dark rounded", children: [
|
|
235
|
+
recording && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
236
|
+
/* @__PURE__ */ jsx(Icon, { name: "record", size: "12", color: "red", className: "me-4" }),
|
|
237
|
+
/* @__PURE__ */ jsxs("span", { children: [
|
|
238
|
+
convertMsToMS(recordedTime),
|
|
239
|
+
"/",
|
|
240
|
+
convertMsToMS(maxDuration)
|
|
241
|
+
] })
|
|
242
|
+
] }),
|
|
243
|
+
recorded && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
244
|
+
/* @__PURE__ */ jsx(Icon, { name: "record-video", size: "14", className: "me-4" }),
|
|
245
|
+
/* @__PURE__ */ jsxs("span", { children: [
|
|
246
|
+
convertMsToMS(playedTime),
|
|
247
|
+
"/",
|
|
248
|
+
convertMsToMS(recordedTime)
|
|
249
|
+
] })
|
|
250
|
+
] })
|
|
251
|
+
] }),
|
|
252
|
+
stream && /* @__PURE__ */ jsx(Toolbar, { items: toolbarItems, className: "position-absolute bottom-0 start-50 bg-white" })
|
|
253
|
+
] }),
|
|
254
|
+
saving && /* @__PURE__ */ jsx(LoadingScreen, { position: !1, caption: t("bbm.video.save.loader.caption") })
|
|
255
|
+
] });
|
|
256
|
+
}), VideoRecorder$1 = VideoRecorder;
|
|
257
|
+
export {
|
|
258
|
+
VideoRecorder$1 as default
|
|
259
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as VideoRecorder } from './VideoRecorder';
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Role, WorkspaceElement, WorkspaceSearchFilter } from 'edifice-ts-client';
|
|
2
|
+
/**
|
|
3
|
+
* MediaLibrary component properties
|
|
4
|
+
*/
|
|
5
|
+
export interface WorkspaceProps {
|
|
6
|
+
/**
|
|
7
|
+
* Only display media elements having this role[s] (=generic file format).
|
|
8
|
+
* Set to null to display all medias.
|
|
9
|
+
*/
|
|
10
|
+
roles: Role | Role[] | null;
|
|
11
|
+
/**
|
|
12
|
+
* If defined, try to auto-select the folder dedicated to this filter.
|
|
13
|
+
*/
|
|
14
|
+
defaultFolder?: WorkspaceSearchFilter;
|
|
15
|
+
/**
|
|
16
|
+
* Allow selecting public documents.
|
|
17
|
+
*/
|
|
18
|
+
showPublicFolder?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Notify parent when media elements are successfully selected.
|
|
21
|
+
*/
|
|
22
|
+
onSelect: (result: WorkspaceElement[]) => void;
|
|
23
|
+
/**
|
|
24
|
+
* Boolean to know if we can select 1 or many files.
|
|
25
|
+
*/
|
|
26
|
+
multiple?: boolean | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Optional class for styling purpose
|
|
29
|
+
*/
|
|
30
|
+
className?: string;
|
|
31
|
+
}
|
|
32
|
+
declare const Workspace: ({ roles, onSelect, multiple, className, defaultFolder, showPublicFolder, }: WorkspaceProps) => import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
export default Workspace;
|