@edifice.io/react 2.6.9-develop-enabling.20261013152718 → 2.6.9-develop.20261013171251

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (878) hide show
  1. package/dist/_virtual/_commonjsHelpers.js +8 -0
  2. package/dist/_virtual/isSameOrAfter.js +4 -0
  3. package/dist/_virtual/isToday.js +4 -0
  4. package/dist/_virtual/localeData.js +4 -0
  5. package/dist/_virtual/weekday.js +4 -0
  6. package/dist/audience.js +16 -1
  7. package/dist/comments.js +4 -1
  8. package/dist/components/ActionBar/ActionBar.js +8 -1
  9. package/dist/components/AddAttachments/AddAttachments.js +75 -1
  10. package/dist/components/AddAttachments/components/AddAttachmentToWorkspaceModal.js +41 -1
  11. package/dist/components/AddAttachments/components/SingleAttachment.js +27 -1
  12. package/dist/components/AddAttachments/hooks/useFileToAttachment.js +16 -1
  13. package/dist/components/Alert/Alert.js +105 -1
  14. package/dist/components/AppHeader/AppHeader.js +22 -1
  15. package/dist/components/AppIcon/AppIcon.d.ts +1 -15
  16. package/dist/components/AppIcon/AppIcon.js +60 -1
  17. package/dist/components/Attachment/Attachment.js +18 -1
  18. package/dist/components/Avatar/Avatar.js +53 -1
  19. package/dist/components/AvatarGroup/AvatarGroup.js +24 -1
  20. package/dist/components/Badge/Badge.js +33 -1
  21. package/dist/components/BetaSwitch/BetaSwitch.js +27 -1
  22. package/dist/components/Breadcrumb/Breadcrumb.js +28 -1
  23. package/dist/components/Breadcrumb/BreadcrumbItem.js +14 -1
  24. package/dist/components/Breadcrumb/BreadcrumbList.js +13 -1
  25. package/dist/components/Breadcrumb/BreadcrumbNav.js +22 -1
  26. package/dist/components/Button/Button.js +36 -1
  27. package/dist/components/Button/IconButton.js +19 -1
  28. package/dist/components/Button/SearchButton.js +17 -1
  29. package/dist/components/ButtonBeta/ButtonBeta.js +37 -1
  30. package/dist/components/Card/Card.js +53 -1
  31. package/dist/components/Card/CardBody.js +20 -1
  32. package/dist/components/Card/CardContext.js +11 -1
  33. package/dist/components/Card/CardFooter.js +7 -1
  34. package/dist/components/Card/CardHeader.js +22 -1
  35. package/dist/components/Card/CardImage.js +21 -1
  36. package/dist/components/Card/CardText.js +12 -1
  37. package/dist/components/Card/CardTitle.js +12 -1
  38. package/dist/components/Card/CardUser.js +10 -1
  39. package/dist/components/Checkbox/Checkbox.js +35 -1
  40. package/dist/components/ColorPicker/ColorPalette.js +171 -1
  41. package/dist/components/ColorPicker/ColorPicker.js +38 -1
  42. package/dist/components/ColorPicker/ColorPickerItem.js +13 -1
  43. package/dist/components/Combobox/Combobox.js +61 -1
  44. package/dist/components/Combobox/ComboboxTrigger.js +57 -1
  45. package/dist/components/DatePicker/DatePicker.js +40 -1
  46. package/dist/components/Divider/Divider.js +11 -1
  47. package/dist/components/Dropdown/Dropdown.d.ts +0 -2
  48. package/dist/components/Dropdown/Dropdown.js +96 -1
  49. package/dist/components/Dropdown/DropdownCheckboxItem.js +39 -1
  50. package/dist/components/Dropdown/DropdownContext.js +11 -1
  51. package/dist/components/Dropdown/DropdownItem.js +46 -1
  52. package/dist/components/Dropdown/DropdownItemHidden.js +19 -1
  53. package/dist/components/Dropdown/DropdownMenu.js +26 -1
  54. package/dist/components/Dropdown/DropdownMenuGroup.js +12 -1
  55. package/dist/components/Dropdown/DropdownRadioItem.js +39 -1
  56. package/dist/components/Dropdown/DropdownSearchInput.js +25 -1
  57. package/dist/components/Dropdown/DropdownSeparator.js +5 -1
  58. package/dist/components/Dropdown/DropdownTrigger.js +58 -1
  59. package/dist/components/Dropdown/index.d.ts +0 -1
  60. package/dist/components/Dropdown/useDropdownItemFilter.js +19 -1
  61. package/dist/components/Dropzone/Dropzone.js +55 -1
  62. package/dist/components/Dropzone/DropzoneContext.js +12 -1
  63. package/dist/components/Dropzone/DropzoneDrag.js +11 -1
  64. package/dist/components/Dropzone/DropzoneFile.js +30 -1
  65. package/dist/components/Dropzone/DropzoneImport.js +28 -1
  66. package/dist/components/EmptyScreen/EmptyScreen.js +21 -1
  67. package/dist/components/Flex/Flex.js +25 -1
  68. package/dist/components/Form/FormContext.js +11 -1
  69. package/dist/components/Form/FormControl.js +32 -1
  70. package/dist/components/Form/FormText.js +22 -1
  71. package/dist/components/Grid/Grid.d.ts +1 -1
  72. package/dist/components/Grid/Grid.js +32 -1
  73. package/dist/components/Heading/Heading.js +16 -1
  74. package/dist/components/Image/Image.js +44 -1
  75. package/dist/components/Input/Input.js +64 -1
  76. package/dist/components/Label/Label.js +37 -1
  77. package/dist/components/Layout/Layout.js +59 -1
  78. package/dist/components/Layout/components/Header.js +198 -1
  79. package/dist/components/Layout/components/HeaderNotificationsOverlay.js +18 -1
  80. package/dist/components/Layout/components/Help.js +25 -1
  81. package/dist/components/Layout/components/NavItem.js +14 -1
  82. package/dist/components/Layout/components/NavLink.js +21 -1
  83. package/dist/components/Layout/components/Navbar.js +13 -1
  84. package/dist/components/Layout/components/NavbarNav.js +13 -1
  85. package/dist/components/Layout/components/SearchEngine.js +33 -1
  86. package/dist/components/Layout/components/WidgetApps.js +23 -1
  87. package/dist/components/Layout/hooks/useHeader.js +39 -1
  88. package/dist/components/Layout/hooks/useHelp.js +86 -1
  89. package/dist/components/LinkPill/LinkPill.js +28 -1
  90. package/dist/components/List/List.js +54 -1
  91. package/dist/components/Loading/Loading.js +27 -1
  92. package/dist/components/LoadingScreen/LoadingScreen.js +25 -1
  93. package/dist/components/Logo/Logo.js +14 -1
  94. package/dist/components/LogoBeta/LogoBeta.js +14 -1
  95. package/dist/components/MediaViewer/MediaViewer.js +36 -1
  96. package/dist/components/MediaViewer/MediaWrapper.js +72 -1
  97. package/dist/components/MediaViewer/PdfViewer.js +36 -1
  98. package/dist/components/MediaViewer/ToolbarViewer.js +41 -1
  99. package/dist/components/MediaViewer/ToolbarZoom.js +19 -1
  100. package/dist/components/Menu/components/Menu.js +27 -1
  101. package/dist/components/Menu/components/MenuButton.js +30 -1
  102. package/dist/components/Menu/components/MenuContext.js +12 -1
  103. package/dist/components/Menu/components/MenuItem.js +19 -1
  104. package/dist/components/Menu/hooks/useMenu.js +50 -1
  105. package/dist/components/Modal/Modal.js +73 -1
  106. package/dist/components/Modal/ModalBody.js +15 -1
  107. package/dist/components/Modal/ModalContext.js +15 -1
  108. package/dist/components/Modal/ModalFooter.js +5 -1
  109. package/dist/components/Modal/ModalHeader.js +32 -1
  110. package/dist/components/Modal/ModalSubtitle.js +5 -1
  111. package/dist/components/ModalBeta/ModalBeta.js +62 -1
  112. package/dist/components/ModalBeta/ModalBetaBody.js +15 -1
  113. package/dist/components/ModalBeta/ModalBetaContext.js +15 -1
  114. package/dist/components/ModalBeta/ModalBetaFooter.js +7 -1
  115. package/dist/components/ModalBeta/ModalBetaHeader.js +31 -1
  116. package/dist/components/PageLayout/PageLayout.js +117 -1
  117. package/dist/components/PageLayout/PageLayoutContext.js +8 -1
  118. package/dist/components/PageLayout/components/PageLayoutBreadcrumb.js +10 -1
  119. package/dist/components/PageLayout/components/PageLayoutContent.js +22 -1
  120. package/dist/components/PageLayout/components/PageLayoutHeader.js +18 -1
  121. package/dist/components/PageLayout/components/PageLayoutHelpZone.js +6 -1
  122. package/dist/components/PageLayout/components/PageLayoutOverlay.js +51 -1
  123. package/dist/components/PageLayout/components/PageLayoutSidebarLeft.js +18 -1
  124. package/dist/components/PageLayout/components/PageLayoutSidebarRight.js +18 -1
  125. package/dist/components/PageLayout/hook/useOverlay.js +15 -1
  126. package/dist/components/PageLayout/store/overlayStore.js +12 -1
  127. package/dist/components/Pagination/Pagination.js +14 -1
  128. package/dist/components/Popover/Popover.js +52 -1
  129. package/dist/components/PreventPropagation/PreventPropagation.js +9 -1
  130. package/dist/components/PromotionCard/PromotionCard.js +31 -1
  131. package/dist/components/PromotionCard/PromotionCardBody.js +15 -1
  132. package/dist/components/PromotionCard/PromotionCardDescription.js +12 -1
  133. package/dist/components/PromotionCard/PromotionCardFooter.js +12 -1
  134. package/dist/components/PromotionCard/PromotionCardHeader.js +17 -1
  135. package/dist/components/PromotionCard/PromotionCardIcon.js +15 -1
  136. package/dist/components/PromotionCard/PromotionCardTitle.js +12 -1
  137. package/dist/components/Radio/Radio.js +31 -1
  138. package/dist/components/RadioCard/RadioCard.js +32 -1
  139. package/dist/components/RadioTile/RadioTile.d.ts +35 -0
  140. package/dist/components/RadioTile/RadioTile.js +22 -0
  141. package/dist/components/RadioTile/index.d.ts +2 -0
  142. package/dist/components/SearchBar/SearchBar.js +54 -1
  143. package/dist/components/SegmentedControl/SegmentedControl.js +33 -1
  144. package/dist/components/Select/Select.js +46 -1
  145. package/dist/components/Select/SelectTrigger.js +6 -1
  146. package/dist/components/Skeleton/ButtonSkeleton.d.ts +0 -9
  147. package/dist/components/Skeleton/ButtonSkeleton.js +16 -1
  148. package/dist/components/Skeleton/TextSkeleton.d.ts +0 -8
  149. package/dist/components/Skeleton/TextSkeleton.js +16 -1
  150. package/dist/components/Skeleton/index.d.ts +0 -2
  151. package/dist/components/SmartEllipsis/SmartEllipsis.js +21 -1
  152. package/dist/components/StackedGroup/StackedGroup.js +23 -1
  153. package/dist/components/Stepper/Stepper.js +15 -1
  154. package/dist/components/Switch/Switch.js +27 -1
  155. package/dist/components/Table/components/Table.d.ts +7 -34
  156. package/dist/components/Table/components/Table.js +25 -1
  157. package/dist/components/Table/components/TableTbody.js +11 -1
  158. package/dist/components/Table/components/TableTd.js +11 -1
  159. package/dist/components/Table/components/TableTh.js +11 -1
  160. package/dist/components/Table/components/TableThead.js +11 -1
  161. package/dist/components/Table/components/TableTr.js +11 -1
  162. package/dist/components/Tabs/components/Tabs.js +51 -1
  163. package/dist/components/Tabs/components/TabsItem.js +31 -1
  164. package/dist/components/Tabs/components/TabsList.js +34 -1
  165. package/dist/components/Tabs/components/TabsPanel.js +19 -1
  166. package/dist/components/Tabs/context/TabsContext.js +12 -1
  167. package/dist/components/Tabs/hooks/useTabs.js +61 -1
  168. package/dist/components/TextArea/TextArea.js +43 -1
  169. package/dist/components/TextCounter/TextCounter.js +16 -1
  170. package/dist/components/Toolbar/Toolbar.js +83 -1
  171. package/dist/components/Tooltip/Tooltip.js +41 -1
  172. package/dist/components/Tree/components/DndTree.js +61 -1
  173. package/dist/components/Tree/components/SortableTree.js +140 -1
  174. package/dist/components/Tree/components/Tree.js +86 -1
  175. package/dist/components/Tree/hooks/useTree.js +62 -1
  176. package/dist/components/Tree/hooks/useTreeSortable.js +198 -1
  177. package/dist/components/Tree/utilities/tree-sortable.js +161 -1
  178. package/dist/components/Tree/utilities/tree.js +44 -1
  179. package/dist/components/TreeView/TreeNode.js +69 -1
  180. package/dist/components/TreeView/TreeView.js +37 -1
  181. package/dist/components/TreeView/hooks/useTreeView.js +105 -1
  182. package/dist/components/TreeView/utilities/treeview.js +177 -1
  183. package/dist/components/UserRightsList/SaveBookmark.js +29 -1
  184. package/dist/components/UserRightsList/UserRightsBookmarkRow.js +30 -1
  185. package/dist/components/UserRightsList/UserRightsItem.js +36 -1
  186. package/dist/components/UserRightsList/UserRightsList.js +94 -1
  187. package/dist/components/UserRightsList/helpers/rightsHelpers.js +53 -1
  188. package/dist/components/UserRightsList/hooks/useBookmarkEntries.js +58 -1
  189. package/dist/components/UserRightsList/hooks/useSharingItems.js +57 -1
  190. package/dist/components/UserRightsList/types/types.js +6 -1
  191. package/dist/components/UserSearch/UserSearch.js +82 -1
  192. package/dist/components/UserSearch/types/visible.js +4 -1
  193. package/dist/components/VisuallyHidden/VisuallyHidden.js +8 -1
  194. package/dist/components/index.d.ts +1 -0
  195. package/dist/editor.js +79 -1
  196. package/dist/homepage.js +58 -1
  197. package/dist/hooks/useBackground/useBackground.js +18 -1
  198. package/dist/hooks/useBookmark/useBookmark.js +14 -1
  199. package/dist/hooks/useBreakpoint/useBreakpoint.js +14 -1
  200. package/dist/hooks/useBrowserInfo/useBrowserInfo.js +15 -1
  201. package/dist/hooks/useCantoo/useCantoo.js +18 -1
  202. package/dist/hooks/useCheckable/useCheckable.js +28 -1
  203. package/dist/hooks/useClickOutside/useClickOutside.js +27 -1
  204. package/dist/hooks/useConf/useConf.js +13 -1
  205. package/dist/hooks/useConversation/useConversation.js +39 -1
  206. package/dist/hooks/useCookiesConsent/useCookiesConsent.js +29 -1
  207. package/dist/hooks/useDate/useDate.d.ts +14 -32
  208. package/dist/hooks/useDate/useDate.js +87 -1
  209. package/dist/hooks/useDebounce/useDebounce.js +15 -1
  210. package/dist/hooks/useDirectory/useDirectory.js +17 -1
  211. package/dist/hooks/useDropdown/useDropdown.js +170 -1
  212. package/dist/hooks/useDropzone/useDropzone.js +98 -1
  213. package/dist/hooks/useEdificeIcons/useEdificeIcons.js +101 -1
  214. package/dist/hooks/useHasWorkflow/useHasWorkflow.js +14 -1
  215. package/dist/hooks/useHover/useHover.js +22 -1
  216. package/dist/hooks/useHttpErrorToast/useHttpErrorToast.js +36 -1
  217. package/dist/hooks/useImage/useImage.js +18 -1
  218. package/dist/hooks/useInfiniteScroll/useInfiniteScroll.js +20 -1
  219. package/dist/hooks/useIsAdmc/useIsAdmc.js +22 -1
  220. package/dist/hooks/useIsAdml/useIsAdml.js +18 -1
  221. package/dist/hooks/useIsAdmlcOrAdmc/useIsAdmlcOrAdmc.js +16 -1
  222. package/dist/hooks/useKeyPress/useKeyPress.js +14 -1
  223. package/dist/hooks/useLibraryUrl/useLibraryUrl.js +21 -1
  224. package/dist/hooks/useMediaLibrary/useMediaLibrary.js +58 -1
  225. package/dist/hooks/usePreferences/usePreferences.js +10 -1
  226. package/dist/hooks/usePublicConf/usePublicConf.js +12 -1
  227. package/dist/hooks/useResource/useResource.js +25 -1
  228. package/dist/hooks/useResourceSearch/useResourceSearch.js +19 -1
  229. package/dist/hooks/useScreeb/useScreeb.js +22 -1
  230. package/dist/hooks/useScrollToTop/useScrollToTop.js +9 -1
  231. package/dist/hooks/useSession/useSession.js +11 -1
  232. package/dist/hooks/useThumbnail/useThumbnail.js +33 -1
  233. package/dist/hooks/useTitle/useTitle.js +10 -1
  234. package/dist/hooks/useToast/useToast.js +37 -1
  235. package/dist/hooks/useToggle/useToggle.js +10 -1
  236. package/dist/hooks/useTrapFocus/useTrapFocus.js +17 -1
  237. package/dist/hooks/useTrashedResource/useTrashedResource.js +27 -1
  238. package/dist/hooks/useUiOverride/useUiOverride.js +13 -1
  239. package/dist/hooks/useUpload/useUpload.js +109 -1
  240. package/dist/hooks/useUploadFiles/useUploadFiles.js +107 -1
  241. package/dist/hooks/useUser/useUser.js +22 -1
  242. package/dist/hooks/useUserPreferences/useUserPreferences.js +40 -1
  243. package/dist/hooks/useWorkspaceFile/useWorkspaceFile.js +49 -1
  244. package/dist/hooks/useWorkspaceFolders/useWorkspaceFolders.js +54 -1
  245. package/dist/hooks/useWorkspaceFolders/useWorkspaceFoldersTree.js +51 -1
  246. package/dist/hooks/useWorkspaceSearch/useWorkspaceSearch.js +50 -1
  247. package/dist/hooks/useXitiTrackPageLoad/useXitiTrackPageLoad.js +28 -1
  248. package/dist/hooks/useZendeskGuide/useZendeskGuide.d.ts +1 -1
  249. package/dist/hooks/useZendeskGuide/useZendeskGuide.js +129 -1
  250. package/dist/hooks/useZoom/useZoom.js +14 -1
  251. package/dist/icons-apps.js +268 -1
  252. package/dist/icons-audience.js +28 -1
  253. package/dist/icons-nav.js +40 -1
  254. package/dist/icons.js +406 -1
  255. package/dist/index.js +370 -1
  256. package/dist/modals.js +22 -1
  257. package/dist/modules/HelpZone/HelpZone.js +52 -1
  258. package/dist/modules/HelpZone/HelpZoneContainer.js +18 -1
  259. package/dist/modules/audience/ReactionChoice.js +33 -1
  260. package/dist/modules/audience/ReactionModal.Card.js +33 -1
  261. package/dist/modules/audience/ReactionModal.js +75 -1
  262. package/dist/modules/audience/ReactionSummary.js +27 -1
  263. package/dist/modules/audience/ViewsByProfileCard.js +40 -1
  264. package/dist/modules/audience/ViewsCounter.js +20 -1
  265. package/dist/modules/audience/ViewsModal.js +44 -1
  266. package/dist/modules/audience/hooks/useReactionIcons.js +45 -1
  267. package/dist/modules/audience/hooks/useReactions.js +35 -1
  268. package/dist/modules/comments/components/BadgeProfile.js +18 -1
  269. package/dist/modules/comments/components/Comment.js +94 -1
  270. package/dist/modules/comments/components/CommentAvatar.js +17 -1
  271. package/dist/modules/comments/components/CommentDate.js +24 -1
  272. package/dist/modules/comments/components/CommentDeleted.js +11 -1
  273. package/dist/modules/comments/components/CommentForm.js +41 -1
  274. package/dist/modules/comments/components/CommentList.js +22 -1
  275. package/dist/modules/comments/components/CommentReplies.js +33 -1
  276. package/dist/modules/comments/components/CommentTitle.js +7 -1
  277. package/dist/modules/comments/components/DeleteModal.js +25 -1
  278. package/dist/modules/comments/components/TextCounter.js +8 -1
  279. package/dist/modules/comments/constants.js +10 -0
  280. package/dist/modules/comments/context/Context.js +5 -1
  281. package/dist/modules/comments/hooks/useAutosizeTextarea.js +19 -1
  282. package/dist/modules/comments/hooks/useCommentReplies.js +36 -1
  283. package/dist/modules/comments/hooks/useComments.js +71 -1
  284. package/dist/modules/comments/hooks/useCommentsContext.js +11 -1
  285. package/dist/modules/comments/hooks/useProfileQueries.js +27 -1
  286. package/dist/modules/comments/provider/CommentProvider.js +90 -1
  287. package/dist/modules/editor/components/BubbleMenuEditImage/BubbleMenuEditImage.js +135 -1
  288. package/dist/modules/editor/components/BubbleMenuEditInformationPane/BubbleMenuEditInformationPane.js +136 -1
  289. package/dist/modules/editor/components/Editor/CantooAdaptTextBoxView.js +33 -1
  290. package/dist/modules/editor/components/Editor/Editor.js +103 -1
  291. package/dist/modules/editor/components/Editor/EditorPreview.js +56 -1
  292. package/dist/modules/editor/components/Editor/EditorPreviewSkeleton.js +24 -1
  293. package/dist/modules/editor/components/Editor/EditorSkeleton.js +31 -1
  294. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Cantoo.js +79 -1
  295. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.DropdownMenu.js +17 -1
  296. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Emoji.js +54 -1
  297. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.HighlightColor.js +47 -1
  298. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.PlusMenu.js +18 -1
  299. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextColor.js +50 -1
  300. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextSize.js +62 -1
  301. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Typography.js +52 -1
  302. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.js +356 -1
  303. package/dist/modules/editor/components/MathsModal/MathsModal.js +49 -2
  304. package/dist/modules/editor/components/NodeView/AttachmentNodeView.js +10 -1
  305. package/dist/modules/editor/components/NodeView/AudioNodeView.js +10 -1
  306. package/dist/modules/editor/components/NodeView/ConversationHistoryNodeView.js +10 -1
  307. package/dist/modules/editor/components/NodeView/IframeNodeView.js +10 -1
  308. package/dist/modules/editor/components/NodeView/ImageNodeView.js +12 -1
  309. package/dist/modules/editor/components/NodeView/InformationPaneNodeView.js +10 -1
  310. package/dist/modules/editor/components/NodeView/LinkerNodeView.js +10 -1
  311. package/dist/modules/editor/components/NodeView/VideoNodeView.js +10 -1
  312. package/dist/modules/editor/components/Renderer/AttachmentRenderer.js +50 -1
  313. package/dist/modules/editor/components/Renderer/AudioRenderer.js +35 -1
  314. package/dist/modules/editor/components/Renderer/ConversationHistoryRenderer.js +28 -1
  315. package/dist/modules/editor/components/Renderer/InformationPaneRenderer.js +33 -1
  316. package/dist/modules/editor/components/Renderer/LinkerRenderer.js +34 -1
  317. package/dist/modules/editor/components/Renderer/MediaRenderer.js +84 -1
  318. package/dist/modules/editor/components/Toolbar/LinkToolbar.TippyOptions.js +8 -1
  319. package/dist/modules/editor/components/Toolbar/LinkToolbar.js +61 -1
  320. package/dist/modules/editor/components/Toolbar/TableToolbar.AddMenu.js +54 -1
  321. package/dist/modules/editor/components/Toolbar/TableToolbar.CellColor.js +45 -1
  322. package/dist/modules/editor/components/Toolbar/TableToolbar.DelMenu.js +48 -1
  323. package/dist/modules/editor/components/Toolbar/TableToolbar.js +89 -1
  324. package/dist/modules/editor/hooks/useActionOptions.js +86 -1
  325. package/dist/modules/editor/hooks/useCantooEditor.js +89 -1
  326. package/dist/modules/editor/hooks/useCommentEditor.js +37 -1
  327. package/dist/modules/editor/hooks/useEditorContext.js +12 -1
  328. package/dist/modules/editor/hooks/useImageModal.js +46 -1
  329. package/dist/modules/editor/hooks/useImageSelection.js +46 -1
  330. package/dist/modules/editor/hooks/useLinkToolbar.js +37 -1
  331. package/dist/modules/editor/hooks/useMathsModal.js +17 -1
  332. package/dist/modules/editor/hooks/useMathsStyles.js +20 -1
  333. package/dist/modules/editor/hooks/useMediaLibraryEditor.js +152 -3
  334. package/dist/modules/editor/hooks/useResizeMedia.js +59 -1
  335. package/dist/modules/editor/hooks/useSpeechRecognition.js +21 -1
  336. package/dist/modules/editor/hooks/useSpeechSynthetisis.js +20 -1
  337. package/dist/modules/editor/hooks/useTipTapEditor.js +88 -1
  338. package/dist/modules/editor/utilities/has-extension.js +4 -1
  339. package/dist/modules/editor/utilities/has-mark.js +4 -1
  340. package/dist/modules/editor/utilities/has-text-style.js +5 -1
  341. package/dist/modules/homepage/components/Communities/Communities.js +36 -1
  342. package/dist/modules/homepage/components/Communities/CommunitiesContainer.js +35 -1
  343. package/dist/modules/homepage/components/Communities/CommunitiesSkeleton.js +29 -1
  344. package/dist/modules/homepage/components/Communities/CommunityItem.js +28 -1
  345. package/dist/modules/homepage/components/Communities/useCommunities.js +30 -1
  346. package/dist/modules/homepage/components/Favorites/Favorites.js +31 -1
  347. package/dist/modules/homepage/components/Favorites/FavoritesContainer.js +10 -1
  348. package/dist/modules/homepage/components/Header/Header.js +106 -1
  349. package/dist/modules/homepage/components/HomeCard/HomeCard.js +25 -1
  350. package/dist/modules/homepage/components/HomeCard/HomeCardContent.js +10 -1
  351. package/dist/modules/homepage/components/HomeCard/HomeCardHeader.js +23 -1
  352. package/dist/modules/homepage/components/LastInfos/LastInfos.js +58 -1
  353. package/dist/modules/homepage/components/LastInfos/LastInfosContainer.js +37 -1
  354. package/dist/modules/homepage/components/LastInfos/LastInfosList.js +31 -1
  355. package/dist/modules/homepage/components/LastInfos/useLastInfos.js +25 -1
  356. package/dist/modules/homepage/components/MessageFlashList/MessageFlash.js +65 -1
  357. package/dist/modules/homepage/components/MessageFlashList/MessageFlashList.js +10 -1
  358. package/dist/modules/homepage/components/MessageFlashList/MessageFlashListContainer.js +14 -1
  359. package/dist/modules/homepage/components/MessageFlashList/hooks/useMessageFlashList.js +19 -1
  360. package/dist/modules/homepage/components/MessageFlashList/services/api/index.js +5 -1
  361. package/dist/modules/homepage/components/MessageFlashList/services/api/messagesFlashService.js +21 -1
  362. package/dist/modules/homepage/components/MessageFlashList/services/queries/messagesFlash.js +31 -1
  363. package/dist/modules/homepage/components/Notifications/NotificationItem.js +17 -1
  364. package/dist/modules/homepage/components/Notifications/NotificationList.js +51 -1
  365. package/dist/modules/homepage/components/Notifications/NotificationListContainer.js +23 -1
  366. package/dist/modules/homepage/components/Notifications/NotificationListSkeleton.js +17 -1
  367. package/dist/modules/homepage/components/Notifications/NotificationSkeleton.d.ts +1 -23
  368. package/dist/modules/homepage/components/Notifications/NotificationSkeleton.js +19 -1
  369. package/dist/modules/homepage/components/Notifications/components/CommonNotificationItem.js +32 -1
  370. package/dist/modules/homepage/components/Notifications/components/NotificationFilterMenu.js +29 -1
  371. package/dist/modules/homepage/components/Notifications/components/NotificationFilterModal.js +77 -1
  372. package/dist/modules/homepage/components/Notifications/components/NotificationItemResource.js +20 -1
  373. package/dist/modules/homepage/components/Notifications/components/NotificationOptionsMenu.js +42 -1
  374. package/dist/modules/homepage/components/Notifications/components/ReportNotificationModal.js +31 -1
  375. package/dist/modules/homepage/components/Notifications/components/SystemNotificationItem.js +21 -1
  376. package/dist/modules/homepage/components/Notifications/components/UserNotificationItem.js +26 -1
  377. package/dist/modules/homepage/components/Notifications/components/notificationAdapter.js +71 -1
  378. package/dist/modules/homepage/components/Notifications/hooks/useNotificationList.js +58 -1
  379. package/dist/modules/homepage/components/Notifications/services/api/index.js +5 -1
  380. package/dist/modules/homepage/components/Notifications/services/api/notificationService.js +33 -1
  381. package/dist/modules/homepage/components/Notifications/services/queries/notification.js +84 -1
  382. package/dist/modules/homepage/components/SchoolSpace/SchoolSpace.js +38 -1
  383. package/dist/modules/homepage/components/SchoolSpace/SchoolSpaceContainer.js +13 -1
  384. package/dist/modules/homepage/components/SchoolSpace/useUserSchools.js +39 -1
  385. package/dist/modules/homepage/components/UsefulLinks/LinkForm.js +67 -1
  386. package/dist/modules/homepage/components/UsefulLinks/UsefulLinks.js +31 -1
  387. package/dist/modules/homepage/components/UsefulLinks/UsefulLinksContainer.js +40 -1
  388. package/dist/modules/homepage/components/UsefulLinks/UsefulLinksModal.js +65 -1
  389. package/dist/modules/homepage/components/UsefulLinks/hooks/useUsefulLinksContainer.js +26 -1
  390. package/dist/modules/homepage/components/UsefulLinks/services/api/index.js +5 -1
  391. package/dist/modules/homepage/components/UsefulLinks/services/api/usefulLinksService.js +50 -1
  392. package/dist/modules/homepage/components/UsefulLinks/services/queries/usefulLinks.js +65 -1
  393. package/dist/modules/homepage/components/UserSpace/UserSpace.js +31 -1
  394. package/dist/modules/homepage/components/UserSpace/UserSpaceContainer.js +19 -1
  395. package/dist/modules/homepage/components/UserSpace/hooks/useChildren.js +23 -1
  396. package/dist/modules/homepage/components/UserSpace/hooks/useProfileLinks.js +75 -1
  397. package/dist/modules/homepage/hooks/useWidget.js +83 -1
  398. package/dist/modules/homepage/hooks/useWidgetPreferences.js +34 -1
  399. package/dist/modules/icons/components/IconAdd.js +12 -1
  400. package/dist/modules/icons/components/IconAddUser.js +12 -1
  401. package/dist/modules/icons/components/IconAdjustSettings.js +12 -1
  402. package/dist/modules/icons/components/IconAiFill.js +12 -1
  403. package/dist/modules/icons/components/IconAlertCircle.js +13 -1
  404. package/dist/modules/icons/components/IconAlertTriangle.js +13 -1
  405. package/dist/modules/icons/components/IconAlignCenter.js +12 -1
  406. package/dist/modules/icons/components/IconAlignJustify.js +12 -1
  407. package/dist/modules/icons/components/IconAlignLeft.js +12 -1
  408. package/dist/modules/icons/components/IconAlignRight.js +12 -1
  409. package/dist/modules/icons/components/IconAnswer.js +13 -1
  410. package/dist/modules/icons/components/IconApplications.js +12 -1
  411. package/dist/modules/icons/components/IconArrowDown.js +13 -1
  412. package/dist/modules/icons/components/IconArrowLeft.js +13 -1
  413. package/dist/modules/icons/components/IconArrowRight.js +13 -1
  414. package/dist/modules/icons/components/IconArrowUp.js +13 -1
  415. package/dist/modules/icons/components/IconBlock.js +12 -1
  416. package/dist/modules/icons/components/IconBlur.js +13 -1
  417. package/dist/modules/icons/components/IconBookmark.js +12 -1
  418. package/dist/modules/icons/components/IconBulle.js +16 -1
  419. package/dist/modules/icons/components/IconBulleError.js +13 -1
  420. package/dist/modules/icons/components/IconBulleSuccess.js +13 -1
  421. package/dist/modules/icons/components/IconBulletList.js +16 -1
  422. package/dist/modules/icons/components/IconBurgerMenu.js +12 -1
  423. package/dist/modules/icons/components/IconCalendar.js +12 -1
  424. package/dist/modules/icons/components/IconCalendarEdit.js +12 -1
  425. package/dist/modules/icons/components/IconCalendarLight.js +12 -1
  426. package/dist/modules/icons/components/IconCamera.js +13 -1
  427. package/dist/modules/icons/components/IconCantoo.js +23 -1
  428. package/dist/modules/icons/components/IconCenter.js +12 -1
  429. package/dist/modules/icons/components/IconCheck.js +12 -1
  430. package/dist/modules/icons/components/IconChecklist.js +13 -1
  431. package/dist/modules/icons/components/IconClass.js +13 -1
  432. package/dist/modules/icons/components/IconClock.js +12 -1
  433. package/dist/modules/icons/components/IconClockAlert.js +17 -1
  434. package/dist/modules/icons/components/IconClose.js +13 -1
  435. package/dist/modules/icons/components/IconCloseFullScreen.js +12 -1
  436. package/dist/modules/icons/components/IconCode.js +12 -1
  437. package/dist/modules/icons/components/IconCollect.js +12 -1
  438. package/dist/modules/icons/components/IconCopy.js +12 -1
  439. package/dist/modules/icons/components/IconCrop.js +13 -1
  440. package/dist/modules/icons/components/IconCut.js +13 -1
  441. package/dist/modules/icons/components/IconDelete.js +12 -1
  442. package/dist/modules/icons/components/IconDeleteColor.js +13 -1
  443. package/dist/modules/icons/components/IconDeleteColumn.js +12 -1
  444. package/dist/modules/icons/components/IconDeleteColumnHighlight.js +12 -1
  445. package/dist/modules/icons/components/IconDeleteRow.js +12 -1
  446. package/dist/modules/icons/components/IconDeleteRowHighlight.js +12 -1
  447. package/dist/modules/icons/components/IconDepositeInbox.js +13 -1
  448. package/dist/modules/icons/components/IconDownload.js +17 -1
  449. package/dist/modules/icons/components/IconEdit.js +13 -1
  450. package/dist/modules/icons/components/IconError.js +12 -1
  451. package/dist/modules/icons/components/IconExercizerAi.js +14 -1
  452. package/dist/modules/icons/components/IconExternalLink.js +13 -1
  453. package/dist/modules/icons/components/IconFiles.js +12 -1
  454. package/dist/modules/icons/components/IconFilter.js +12 -1
  455. package/dist/modules/icons/components/IconFlag.js +12 -1
  456. package/dist/modules/icons/components/IconFolder.js +12 -1
  457. package/dist/modules/icons/components/IconFolderAdd.js +13 -1
  458. package/dist/modules/icons/components/IconFolderDelete.js +12 -1
  459. package/dist/modules/icons/components/IconFolderMove.js +17 -1
  460. package/dist/modules/icons/components/IconForgoing.js +12 -1
  461. package/dist/modules/icons/components/IconFullScreen.js +12 -1
  462. package/dist/modules/icons/components/IconGlobe.js +12 -1
  463. package/dist/modules/icons/components/IconGlobe2.js +16 -1
  464. package/dist/modules/icons/components/IconGroupAvatar.js +12 -1
  465. package/dist/modules/icons/components/IconHandMove.js +12 -1
  466. package/dist/modules/icons/components/IconHeadphone.js +12 -1
  467. package/dist/modules/icons/components/IconHide.js +13 -1
  468. package/dist/modules/icons/components/IconHighlightColumn.js +12 -1
  469. package/dist/modules/icons/components/IconHighlightRow.js +12 -1
  470. package/dist/modules/icons/components/IconHome.js +12 -1
  471. package/dist/modules/icons/components/IconHourglass.js +12 -1
  472. package/dist/modules/icons/components/IconImageSizeLarge.js +12 -1
  473. package/dist/modules/icons/components/IconImageSizeMedium.js +12 -1
  474. package/dist/modules/icons/components/IconImageSizeSmall.js +12 -1
  475. package/dist/modules/icons/components/IconInbox.js +12 -1
  476. package/dist/modules/icons/components/IconInfoCircle.js +13 -1
  477. package/dist/modules/icons/components/IconInfoRectangle.js +13 -1
  478. package/dist/modules/icons/components/IconLabel.js +12 -1
  479. package/dist/modules/icons/components/IconLandscape.js +12 -1
  480. package/dist/modules/icons/components/IconLibrary.js +12 -1
  481. package/dist/modules/icons/components/IconLink.js +16 -1
  482. package/dist/modules/icons/components/IconListOrder.js +12 -1
  483. package/dist/modules/icons/components/IconLoader.js +12 -1
  484. package/dist/modules/icons/components/IconLock.js +12 -1
  485. package/dist/modules/icons/components/IconLsuArt.js +13 -1
  486. package/dist/modules/icons/components/IconLsuCompetenceNumerique.js +12 -1
  487. package/dist/modules/icons/components/IconLsuEmc.js +13 -1
  488. package/dist/modules/icons/components/IconLsuFrancais.js +13 -1
  489. package/dist/modules/icons/components/IconLsuHistoireGeo.js +12 -1
  490. package/dist/modules/icons/components/IconLsuLangue.js +16 -1
  491. package/dist/modules/icons/components/IconLsuLangue2.js +13 -1
  492. package/dist/modules/icons/components/IconLsuMath.js +16 -1
  493. package/dist/modules/icons/components/IconLsuParcoursEducatif.js +12 -1
  494. package/dist/modules/icons/components/IconLsuSport.js +12 -1
  495. package/dist/modules/icons/components/IconLsuSvt.js +12 -1
  496. package/dist/modules/icons/components/IconMail.js +13 -1
  497. package/dist/modules/icons/components/IconMailRecall.js +13 -1
  498. package/dist/modules/icons/components/IconMegaphone.js +12 -1
  499. package/dist/modules/icons/components/IconMergeCells.js +13 -1
  500. package/dist/modules/icons/components/IconMessageInfo.js +13 -1
  501. package/dist/modules/icons/components/IconMic.js +12 -1
  502. package/dist/modules/icons/components/IconMicOff.js +12 -1
  503. package/dist/modules/icons/components/IconMinus.js +12 -1
  504. package/dist/modules/icons/components/IconMove.js +14 -1
  505. package/dist/modules/icons/components/IconNoColors.js +12 -1
  506. package/dist/modules/icons/components/IconNotes.js +13 -1
  507. package/dist/modules/icons/components/IconNotification.js +12 -1
  508. package/dist/modules/icons/components/IconOptions.js +14 -1
  509. package/dist/modules/icons/components/IconOrderedList.js +16 -1
  510. package/dist/modules/icons/components/IconPaperclip.js +12 -1
  511. package/dist/modules/icons/components/IconParcoursCitoyen.js +14 -1
  512. package/dist/modules/icons/components/IconParcoursSecours.js +14 -1
  513. package/dist/modules/icons/components/IconPause.js +12 -1
  514. package/dist/modules/icons/components/IconPinOff.js +12 -1
  515. package/dist/modules/icons/components/IconPinOn.js +12 -1
  516. package/dist/modules/icons/components/IconPlaceholder.js +16 -1
  517. package/dist/modules/icons/components/IconPlay.js +12 -1
  518. package/dist/modules/icons/components/IconPlayFilled.js +12 -1
  519. package/dist/modules/icons/components/IconPlus.js +12 -1
  520. package/dist/modules/icons/components/IconPointerDefault.js +12 -1
  521. package/dist/modules/icons/components/IconPointerHand.js +12 -1
  522. package/dist/modules/icons/components/IconPrint.js +12 -1
  523. package/dist/modules/icons/components/IconQuestion.js +14 -1
  524. package/dist/modules/icons/components/IconQuestionMark.js +13 -1
  525. package/dist/modules/icons/components/IconRafterDown.js +12 -1
  526. package/dist/modules/icons/components/IconRafterLeft.js +12 -1
  527. package/dist/modules/icons/components/IconRafterRight.js +12 -1
  528. package/dist/modules/icons/components/IconRafterUp.js +12 -1
  529. package/dist/modules/icons/components/IconReaction.js +12 -1
  530. package/dist/modules/icons/components/IconReadMail.js +16 -1
  531. package/dist/modules/icons/components/IconRecord.js +12 -1
  532. package/dist/modules/icons/components/IconRecordPause.js +12 -1
  533. package/dist/modules/icons/components/IconRecordStop.js +12 -1
  534. package/dist/modules/icons/components/IconRecordVideo.js +12 -1
  535. package/dist/modules/icons/components/IconRedo.js +13 -1
  536. package/dist/modules/icons/components/IconRefresh.js +13 -1
  537. package/dist/modules/icons/components/IconReset.js +12 -1
  538. package/dist/modules/icons/components/IconRestart.js +12 -1
  539. package/dist/modules/icons/components/IconRestore.js +12 -1
  540. package/dist/modules/icons/components/IconSave.js +12 -1
  541. package/dist/modules/icons/components/IconSearch.js +12 -1
  542. package/dist/modules/icons/components/IconSee.js +13 -1
  543. package/dist/modules/icons/components/IconSend.js +12 -1
  544. package/dist/modules/icons/components/IconSetBackground.js +17 -1
  545. package/dist/modules/icons/components/IconSettings.js +16 -1
  546. package/dist/modules/icons/components/IconShare.js +12 -1
  547. package/dist/modules/icons/components/IconSignature.js +13 -1
  548. package/dist/modules/icons/components/IconSmartphone.js +13 -1
  549. package/dist/modules/icons/components/IconSmiley.js +13 -1
  550. package/dist/modules/icons/components/IconSortAscendingLetters.js +13 -1
  551. package/dist/modules/icons/components/IconSortDescending.js +13 -1
  552. package/dist/modules/icons/components/IconSortDescendingLetters.js +13 -1
  553. package/dist/modules/icons/components/IconSortTime.js +14 -1
  554. package/dist/modules/icons/components/IconSpeechToText.js +12 -1
  555. package/dist/modules/icons/components/IconSplitCells.js +13 -1
  556. package/dist/modules/icons/components/IconSquareRoot.js +12 -1
  557. package/dist/modules/icons/components/IconStar.js +13 -1
  558. package/dist/modules/icons/components/IconStarFull.js +13 -1
  559. package/dist/modules/icons/components/IconSubmission.js +12 -1
  560. package/dist/modules/icons/components/IconSubmitToValidate.js +12 -1
  561. package/dist/modules/icons/components/IconSubscript.js +12 -1
  562. package/dist/modules/icons/components/IconSuccessFill.js +12 -1
  563. package/dist/modules/icons/components/IconSuccessOutline.js +13 -1
  564. package/dist/modules/icons/components/IconSuperscript.js +12 -1
  565. package/dist/modules/icons/components/IconTable.js +12 -1
  566. package/dist/modules/icons/components/IconTeacher.js +12 -1
  567. package/dist/modules/icons/components/IconTextBold.js +12 -1
  568. package/dist/modules/icons/components/IconTextColor.js +16 -1
  569. package/dist/modules/icons/components/IconTextHighlight.js +16 -1
  570. package/dist/modules/icons/components/IconTextItalic.js +12 -1
  571. package/dist/modules/icons/components/IconTextPage.js +12 -1
  572. package/dist/modules/icons/components/IconTextSize.js +12 -1
  573. package/dist/modules/icons/components/IconTextToSpeech.js +12 -1
  574. package/dist/modules/icons/components/IconTextToSpeechOff.js +12 -1
  575. package/dist/modules/icons/components/IconTextTypo.js +12 -1
  576. package/dist/modules/icons/components/IconTextUnderline.js +13 -1
  577. package/dist/modules/icons/components/IconTextVanilla.js +13 -1
  578. package/dist/modules/icons/components/IconThumbDown.js +12 -1
  579. package/dist/modules/icons/components/IconThumbUp.js +12 -1
  580. package/dist/modules/icons/components/IconTool.js +12 -1
  581. package/dist/modules/icons/components/IconToolCenter.js +12 -1
  582. package/dist/modules/icons/components/IconTrendingUp.js +16 -1
  583. package/dist/modules/icons/components/IconUndo.js +13 -1
  584. package/dist/modules/icons/components/IconUndoAll.js +14 -1
  585. package/dist/modules/icons/components/IconUndoSlashed.js +12 -1
  586. package/dist/modules/icons/components/IconUnion.js +15 -1
  587. package/dist/modules/icons/components/IconUnlink.js +13 -1
  588. package/dist/modules/icons/components/IconUnlock.js +13 -1
  589. package/dist/modules/icons/components/IconUnreadMail.js +16 -1
  590. package/dist/modules/icons/components/IconUpload.js +18 -1
  591. package/dist/modules/icons/components/IconUser.js +12 -1
  592. package/dist/modules/icons/components/IconUserSearch.js +13 -1
  593. package/dist/modules/icons/components/IconUsers.js +13 -1
  594. package/dist/modules/icons/components/IconVideo.js +12 -1
  595. package/dist/modules/icons/components/IconViewCalendar.js +12 -1
  596. package/dist/modules/icons/components/IconViewList.js +15 -1
  597. package/dist/modules/icons/components/IconWand.js +12 -1
  598. package/dist/modules/icons/components/IconWrite.js +12 -1
  599. package/dist/modules/icons/components/IconZoomIn.js +12 -1
  600. package/dist/modules/icons/components/IconZoomOut.js +12 -1
  601. package/dist/modules/icons/components/apps/IconAccount.js +12 -1
  602. package/dist/modules/icons/components/apps/IconActualites.js +12 -1
  603. package/dist/modules/icons/components/apps/IconAdmin.js +12 -1
  604. package/dist/modules/icons/components/apps/IconAdminPortal.js +12 -1
  605. package/dist/modules/icons/components/apps/IconAdmissionPostBac.js +12 -1
  606. package/dist/modules/icons/components/apps/IconAgenda.js +13 -1
  607. package/dist/modules/icons/components/apps/IconAppointments.js +12 -1
  608. package/dist/modules/icons/components/apps/IconArchive.js +12 -1
  609. package/dist/modules/icons/components/apps/IconAssistance.js +12 -1
  610. package/dist/modules/icons/components/apps/IconAssistancetic.js +14 -1
  611. package/dist/modules/icons/components/apps/IconAssr.js +12 -1
  612. package/dist/modules/icons/components/apps/IconAward.js +12 -1
  613. package/dist/modules/icons/components/apps/IconBanquesavoir.js +12 -1
  614. package/dist/modules/icons/components/apps/IconBcdi.js +12 -1
  615. package/dist/modules/icons/components/apps/IconBiblionisep.js +12 -1
  616. package/dist/modules/icons/components/apps/IconBlog.js +12 -1
  617. package/dist/modules/icons/components/apps/IconBookmarkEmpty.js +12 -1
  618. package/dist/modules/icons/components/apps/IconCahierDeTexte.js +12 -1
  619. package/dist/modules/icons/components/apps/IconCahierTextes.js +12 -1
  620. package/dist/modules/icons/components/apps/IconCalendar.js +13 -1
  621. package/dist/modules/icons/components/apps/IconCanalNumerique.js +12 -1
  622. package/dist/modules/icons/components/apps/IconCcn.js +12 -1
  623. package/dist/modules/icons/components/apps/IconCerise.js +12 -1
  624. package/dist/modules/icons/components/apps/IconCervoprint.js +12 -1
  625. package/dist/modules/icons/components/apps/IconCharlemagne.js +12 -1
  626. package/dist/modules/icons/components/apps/IconCharte.js +12 -1
  627. package/dist/modules/icons/components/apps/IconChat.js +12 -1
  628. package/dist/modules/icons/components/apps/IconCidj.js +12 -1
  629. package/dist/modules/icons/components/apps/IconCns.js +12 -1
  630. package/dist/modules/icons/components/apps/IconCollaborativeWall.js +12 -1
  631. package/dist/modules/icons/components/apps/IconCommunities.js +12 -1
  632. package/dist/modules/icons/components/apps/IconCommunity.js +12 -1
  633. package/dist/modules/icons/components/apps/IconCompetences.js +12 -1
  634. package/dist/modules/icons/components/apps/IconConnecteurGenerique1.js +12 -1
  635. package/dist/modules/icons/components/apps/IconConnecteurGenerique2.js +12 -1
  636. package/dist/modules/icons/components/apps/IconConversation.js +12 -1
  637. package/dist/modules/icons/components/apps/IconDirectory.js +12 -1
  638. package/dist/modules/icons/components/apps/IconEdt.js +12 -1
  639. package/dist/modules/icons/components/apps/IconEducagri.js +12 -1
  640. package/dist/modules/icons/components/apps/IconEdumedia.js +12 -1
  641. package/dist/modules/icons/components/apps/IconEdumoov.js +12 -1
  642. package/dist/modules/icons/components/apps/IconEdutheque.js +12 -1
  643. package/dist/modules/icons/components/apps/IconElectron.js +12 -1
  644. package/dist/modules/icons/components/apps/IconElyceepicardie.js +12 -1
  645. package/dist/modules/icons/components/apps/IconEsidoc.js +12 -1
  646. package/dist/modules/icons/components/apps/IconEuropress.js +12 -1
  647. package/dist/modules/icons/components/apps/IconExercizer.js +12 -1
  648. package/dist/modules/icons/components/apps/IconForms.js +12 -1
  649. package/dist/modules/icons/components/apps/IconForum.js +12 -1
  650. package/dist/modules/icons/components/apps/IconGeogebra.js +12 -1
  651. package/dist/modules/icons/components/apps/IconGepi.js +12 -1
  652. package/dist/modules/icons/components/apps/IconGlpi.js +12 -1
  653. package/dist/modules/icons/components/apps/IconHiboutheque.js +12 -1
  654. package/dist/modules/icons/components/apps/IconItopstore.js +12 -1
  655. package/dist/modules/icons/components/apps/IconKne.js +12 -1
  656. package/dist/modules/icons/components/apps/IconLeSiteTv.js +12 -1
  657. package/dist/modules/icons/components/apps/IconLemonde.js +12 -1
  658. package/dist/modules/icons/components/apps/IconLesechos.js +12 -1
  659. package/dist/modules/icons/components/apps/IconLibrary.js +12 -1
  660. package/dist/modules/icons/components/apps/IconLivretScolaire.js +13 -1
  661. package/dist/modules/icons/components/apps/IconLool.js +15 -1
  662. package/dist/modules/icons/components/apps/IconLsu.js +12 -1
  663. package/dist/modules/icons/components/apps/IconMadmagz.js +12 -1
  664. package/dist/modules/icons/components/apps/IconMagneto.js +13 -1
  665. package/dist/modules/icons/components/apps/IconMatholycee.js +12 -1
  666. package/dist/modules/icons/components/apps/IconMaxicours.js +12 -1
  667. package/dist/modules/icons/components/apps/IconMediacentre.js +12 -1
  668. package/dist/modules/icons/components/apps/IconMindmap.js +12 -1
  669. package/dist/modules/icons/components/apps/IconMinetest.js +12 -1
  670. package/dist/modules/icons/components/apps/IconMinibadge.js +12 -1
  671. package/dist/modules/icons/components/apps/IconMonorientationenligne.js +12 -1
  672. package/dist/modules/icons/components/apps/IconMonstageenligne.js +12 -1
  673. package/dist/modules/icons/components/apps/IconMoodle.js +12 -1
  674. package/dist/modules/icons/components/apps/IconMuseefrancaisphoto.js +12 -1
  675. package/dist/modules/icons/components/apps/IconMyNetwork.js +12 -1
  676. package/dist/modules/icons/components/apps/IconNabook.js +16 -1
  677. package/dist/modules/icons/components/apps/IconNetvibes.js +12 -1
  678. package/dist/modules/icons/components/apps/IconNextcloudDeck.js +12 -1
  679. package/dist/modules/icons/components/apps/IconNextcloudFiles.js +12 -1
  680. package/dist/modules/icons/components/apps/IconNextcloudForms.js +12 -1
  681. package/dist/modules/icons/components/apps/IconNextcloudNotes.js +12 -1
  682. package/dist/modules/icons/components/apps/IconNextcloudTalk.js +12 -1
  683. package/dist/modules/icons/components/apps/IconNote.js +12 -1
  684. package/dist/modules/icons/components/apps/IconNotebook.js +12 -1
  685. package/dist/modules/icons/components/apps/IconNotes.js +12 -1
  686. package/dist/modules/icons/components/apps/IconOnisep.js +12 -1
  687. package/dist/modules/icons/components/apps/IconOnisep2.js +12 -1
  688. package/dist/modules/icons/components/apps/IconPad.js +12 -1
  689. package/dist/modules/icons/components/apps/IconPages.js +12 -1
  690. package/dist/modules/icons/components/apps/IconParametrage.js +12 -1
  691. package/dist/modules/icons/components/apps/IconParametrages.js +12 -1
  692. package/dist/modules/icons/components/apps/IconParaschool.js +12 -1
  693. package/dist/modules/icons/components/apps/IconParcours.js +12 -1
  694. package/dist/modules/icons/components/apps/IconPearltrees.js +12 -1
  695. package/dist/modules/icons/components/apps/IconPeertube.js +21 -1
  696. package/dist/modules/icons/components/apps/IconPicardieCursus.js +12 -1
  697. package/dist/modules/icons/components/apps/IconPlaceholder.js +16 -1
  698. package/dist/modules/icons/components/apps/IconPoll.js +12 -1
  699. package/dist/modules/icons/components/apps/IconPresences.js +12 -1
  700. package/dist/modules/icons/components/apps/IconProeps.js +12 -1
  701. package/dist/modules/icons/components/apps/IconPronote.js +12 -1
  702. package/dist/modules/icons/components/apps/IconPublic.js +12 -1
  703. package/dist/modules/icons/components/apps/IconQwant.js +12 -1
  704. package/dist/modules/icons/components/apps/IconQwantJunior.js +12 -1
  705. package/dist/modules/icons/components/apps/IconRack.js +12 -1
  706. package/dist/modules/icons/components/apps/IconRbs.js +12 -1
  707. package/dist/modules/icons/components/apps/IconResidenceArtiste.js +12 -1
  708. package/dist/modules/icons/components/apps/IconRessourcesdepartementale91.js +12 -1
  709. package/dist/modules/icons/components/apps/IconSacoche.js +12 -1
  710. package/dist/modules/icons/components/apps/IconSchoolbook.js +12 -1
  711. package/dist/modules/icons/components/apps/IconScolinfo.js +12 -1
  712. package/dist/modules/icons/components/apps/IconScrapbook.js +12 -1
  713. package/dist/modules/icons/components/apps/IconSearchengine.js +12 -1
  714. package/dist/modules/icons/components/apps/IconSettingsClass.js +12 -1
  715. package/dist/modules/icons/components/apps/IconSharebigfiles.js +12 -1
  716. package/dist/modules/icons/components/apps/IconStatistics.js +12 -1
  717. package/dist/modules/icons/components/apps/IconStats.js +12 -1
  718. package/dist/modules/icons/components/apps/IconSuitcase.js +12 -1
  719. package/dist/modules/icons/components/apps/IconSupport.js +12 -1
  720. package/dist/modules/icons/components/apps/IconTimeline.js +12 -1
  721. package/dist/modules/icons/components/apps/IconTimelinegenerator.js +12 -1
  722. package/dist/modules/icons/components/apps/IconTurboself.js +12 -1
  723. package/dist/modules/icons/components/apps/IconUniversalis.js +12 -1
  724. package/dist/modules/icons/components/apps/IconUnstagepourtous.js +12 -1
  725. package/dist/modules/icons/components/apps/IconUserbook.js +12 -1
  726. package/dist/modules/icons/components/apps/IconVideo.js +12 -1
  727. package/dist/modules/icons/components/apps/IconVieScolaire.js +12 -1
  728. package/dist/modules/icons/components/apps/IconVisioconf.js +12 -1
  729. package/dist/modules/icons/components/apps/IconVotil.js +14 -1
  730. package/dist/modules/icons/components/apps/IconWebclasseur.js +12 -1
  731. package/dist/modules/icons/components/apps/IconWebsite.js +12 -1
  732. package/dist/modules/icons/components/apps/IconWiki.js +13 -1
  733. package/dist/modules/icons/components/apps/IconWorkspace.js +12 -1
  734. package/dist/modules/icons/components/audience/IconCongrats.js +22 -1
  735. package/dist/modules/icons/components/audience/IconCongratsCounter.js +21 -1
  736. package/dist/modules/icons/components/audience/IconGreat.js +16 -1
  737. package/dist/modules/icons/components/audience/IconGreatCounter.js +14 -1
  738. package/dist/modules/icons/components/audience/IconGuest.js +12 -1
  739. package/dist/modules/icons/components/audience/IconInteresting.js +15 -1
  740. package/dist/modules/icons/components/audience/IconInterestingCounter.js +17 -1
  741. package/dist/modules/icons/components/audience/IconParent.js +12 -1
  742. package/dist/modules/icons/components/audience/IconPersonnel.js +12 -1
  743. package/dist/modules/icons/components/audience/IconStudent.js +20 -1
  744. package/dist/modules/icons/components/audience/IconTeacher.js +12 -1
  745. package/dist/modules/icons/components/audience/IconThanks.js +18 -1
  746. package/dist/modules/icons/components/audience/IconThanksCounter.js +16 -1
  747. package/dist/modules/icons/components/logo/IconLogoEdificeFull.js +26 -1
  748. package/dist/modules/icons/components/logo/IconLogoEdificeSmall.js +17 -1
  749. package/dist/modules/icons/components/nav/IconCommunities.js +12 -1
  750. package/dist/modules/icons/components/nav/IconCommunitiesBeta.js +18 -1
  751. package/dist/modules/icons/components/nav/IconCommunity.js +12 -1
  752. package/dist/modules/icons/components/nav/IconDisconnect.js +12 -1
  753. package/dist/modules/icons/components/nav/IconHome.js +12 -1
  754. package/dist/modules/icons/components/nav/IconHomeBeta.js +13 -1
  755. package/dist/modules/icons/components/nav/IconMessagesBeta.js +18 -1
  756. package/dist/modules/icons/components/nav/IconMyApps.js +12 -1
  757. package/dist/modules/icons/components/nav/IconMyAppsBeta.js +13 -1
  758. package/dist/modules/icons/components/nav/IconNeoAssistance.js +12 -1
  759. package/dist/modules/icons/components/nav/IconNeoMessaging.js +12 -1
  760. package/dist/modules/icons/components/nav/IconNewRelease.js +12 -1
  761. package/dist/modules/icons/components/nav/IconNotificationBeta.js +14 -1
  762. package/dist/modules/icons/components/nav/IconOneAssistance.js +12 -1
  763. package/dist/modules/icons/components/nav/IconOneMessaging.js +12 -1
  764. package/dist/modules/icons/components/nav/IconOneProfile.js +13 -1
  765. package/dist/modules/icons/components/nav/IconProfile.js +12 -1
  766. package/dist/modules/icons/components/nav/IconSearch.js +12 -1
  767. package/dist/modules/icons/components/nav/IconUserbook.js +12 -1
  768. package/dist/modules/modals/ConfirmModal/ConfirmModal.js +37 -1
  769. package/dist/modules/modals/OnboardingModal/OnboardingModal.js +77 -1
  770. package/dist/modules/modals/OnboardingModal/useOnboardingModal.js +38 -1
  771. package/dist/modules/modals/PublishModal/PublishModal.js +120 -1
  772. package/dist/modules/modals/PublishModal/components/ActivitiesDropdown.js +29 -1
  773. package/dist/modules/modals/PublishModal/components/AgeSelect.js +20 -1
  774. package/dist/modules/modals/PublishModal/components/LangSelect.js +19 -1
  775. package/dist/modules/modals/PublishModal/components/PublishModalFooter.js +23 -1
  776. package/dist/modules/modals/PublishModal/components/SubjectsDropdown.js +29 -1
  777. package/dist/modules/modals/PublishModal/components/ToastError.js +24 -1
  778. package/dist/modules/modals/PublishModal/components/ToastSuccess.js +18 -1
  779. package/dist/modules/modals/PublishModal/constants/ageOptions.js +4 -1
  780. package/dist/modules/modals/PublishModal/hooks/useActivitiesOptions.js +34 -1
  781. package/dist/modules/modals/PublishModal/hooks/useLanguageOptions.js +43 -1
  782. package/dist/modules/modals/PublishModal/hooks/usePublishModal.js +106 -1
  783. package/dist/modules/modals/PublishModal/hooks/useSubjectsOptions.js +118 -1
  784. package/dist/modules/modals/ResourceModal/ResourceModal.js +164 -1
  785. package/dist/modules/modals/ResourceModal/apps/BlogPublic.js +62 -1
  786. package/dist/modules/modals/ResourceModal/hooks/useSlug.js +41 -1
  787. package/dist/modules/modals/ResourceModal/hooks/useThumb.js +17 -1
  788. package/dist/modules/modals/ResourceModal/hooks/useUpdateMutation.js +12 -1
  789. package/dist/modules/modals/ShareModal/ShareBookmark.js +25 -1
  790. package/dist/modules/modals/ShareModal/ShareBookmarkLine.js +55 -1
  791. package/dist/modules/modals/ShareModal/ShareModal.js +40 -1
  792. package/dist/modules/modals/ShareModal/ShareResources.js +149 -1
  793. package/dist/modules/modals/ShareModal/apps/ShareBlog.js +43 -1
  794. package/dist/modules/modals/ShareModal/hooks/useSearch.js +174 -1
  795. package/dist/modules/modals/ShareModal/hooks/useShare.js +199 -1
  796. package/dist/modules/modals/ShareModal/hooks/useShareBookmark.js +68 -1
  797. package/dist/modules/modals/ShareModal/hooks/useShareMutation.js +15 -1
  798. package/dist/modules/modals/ShareModal/hooks/useShareRightDisabled.js +11 -1
  799. package/dist/modules/modals/ShareModal/hooks/useShareRightVisible.js +11 -1
  800. package/dist/modules/modals/ShareModal/utils/hasRight.js +4 -1
  801. package/dist/modules/modals/ShareModal/utils/showShareRightLine.js +4 -1
  802. package/dist/modules/multimedia/AudioRecorder/AudioRecorder.js +53 -1
  803. package/dist/modules/multimedia/AudioRecorder/AudioRecorderTimer.js +26 -1
  804. package/dist/modules/multimedia/AudioRecorder/useAudioRecorder.js +314 -1
  805. package/dist/modules/multimedia/Embed/Embed.js +32 -1
  806. package/dist/modules/multimedia/FileCard/FileCard.js +104 -1
  807. package/dist/modules/multimedia/FileCard/FileIcon.js +15 -1
  808. package/dist/modules/multimedia/ImageEditor/components/ImageEditor.js +130 -1
  809. package/dist/modules/multimedia/ImageEditor/components/ImageEditorToolbar.js +72 -1
  810. package/dist/modules/multimedia/ImageEditor/effects/blur.js +80 -1
  811. package/dist/modules/multimedia/ImageEditor/effects/constants.js +4 -1
  812. package/dist/modules/multimedia/ImageEditor/effects/crop.js +171 -1
  813. package/dist/modules/multimedia/ImageEditor/effects/misc.js +177 -1
  814. package/dist/modules/multimedia/ImageEditor/effects/resize.js +166 -1
  815. package/dist/modules/multimedia/ImageEditor/effects/rotate.js +32 -1
  816. package/dist/modules/multimedia/ImageEditor/hooks/useHistoryTool.js +65 -1
  817. package/dist/modules/multimedia/ImageEditor/hooks/useImageEditor.js +82 -1
  818. package/dist/modules/multimedia/ImageEditor/hooks/useImageEffects.js +55 -1
  819. package/dist/modules/multimedia/ImageEditor/utilities/aggregate.js +13 -1
  820. package/dist/modules/multimedia/ImagePicker/ImagePicker.js +40 -1
  821. package/dist/modules/multimedia/Linker/ExternalLinker/ExternalLinker.js +45 -1
  822. package/dist/modules/multimedia/Linker/InternalLinker/InternalLinker.js +151 -1
  823. package/dist/modules/multimedia/LinkerCard/LinkerCard.js +34 -1
  824. package/dist/modules/multimedia/MediaLibrary/MediaLibrary.d.ts +1 -1
  825. package/dist/modules/multimedia/MediaLibrary/MediaLibrary.js +226 -1
  826. package/dist/modules/multimedia/MediaLibrary/MediaLibraryContext.js +12 -1
  827. package/dist/modules/multimedia/MediaLibrary/innertabs/Audio.js +19 -1
  828. package/dist/modules/multimedia/MediaLibrary/innertabs/ExternalLink.js +17 -1
  829. package/dist/modules/multimedia/MediaLibrary/innertabs/Iframe.js +14 -1
  830. package/dist/modules/multimedia/MediaLibrary/innertabs/InternalLink.js +35 -1
  831. package/dist/modules/multimedia/MediaLibrary/innertabs/Upload.js +68 -1
  832. package/dist/modules/multimedia/MediaLibrary/innertabs/Video.js +22 -1
  833. package/dist/modules/multimedia/MediaLibrary/innertabs/VideoEmbedder.js +15 -1
  834. package/dist/modules/multimedia/MediaLibrary/innertabs/Workspace.js +31 -1
  835. package/dist/modules/multimedia/MediaLibrary/innertabs/index.js +21 -1
  836. package/dist/modules/multimedia/UploadCard/UploadCard.js +75 -1
  837. package/dist/modules/multimedia/UploadFiles/UploadFiles.js +56 -1
  838. package/dist/modules/multimedia/VideoEmbed/VideoEmbed.js +76 -1
  839. package/dist/modules/multimedia/VideoRecorder/VideoRecorder.js +156 -1
  840. package/dist/modules/multimedia/VideoRecorder/VideoRecorderToolbar.js +96 -1
  841. package/dist/modules/multimedia/VideoRecorder/useCameras.js +86 -1
  842. package/dist/modules/multimedia/Workspace/Workspace.js +172 -1
  843. package/dist/modules/multimedia/WorkspaceFolders/WorkspaceFolders.js +55 -1
  844. package/dist/modules/multimedia/WorkspaceFolders/components/NewFolderForm.js +39 -1
  845. package/dist/modules/multimedia/testing/mediaHarness.d.ts +154 -0
  846. package/dist/multimedia.js +32 -1
  847. package/dist/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/isSameOrAfter.js +18 -0
  848. package/dist/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/isToday.js +19 -0
  849. package/dist/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/localeData.js +82 -0
  850. package/dist/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/weekday.js +19 -0
  851. package/dist/providers/AntThemeProvider/AntProvider.js +28 -1
  852. package/dist/providers/AntThemeProvider/antThemeConfig.js +9 -1
  853. package/dist/providers/EdificeClientProvider/EdificeClientProvider.context.js +5 -1
  854. package/dist/providers/EdificeClientProvider/EdificeClientProvider.hook.js +11 -1
  855. package/dist/providers/EdificeClientProvider/EdificeClientProvider.js +54 -1
  856. package/dist/providers/EdificeScreebProvider/EdificeScreebProvider.js +52 -1
  857. package/dist/providers/EdificeThemeProvider/EdificeThemeProvider.context.js +5 -1
  858. package/dist/providers/EdificeThemeProvider/EdificeThemeProvider.hook.js +11 -1
  859. package/dist/providers/EdificeThemeProvider/EdificeThemeProvider.js +47 -1
  860. package/dist/providers/MockedProvider/MockedProvider.js +29 -1
  861. package/dist/providers/MockedProvider/MockedProvider.mocks.js +119 -1
  862. package/dist/style.css +1 -0
  863. package/dist/utilities/check-user-rights/check-user-rights.js +46 -1
  864. package/dist/utilities/create-selectors/create-selectors.js +11 -1
  865. package/dist/utilities/emptyscreen-mapping/emptyscreen-mapping.js +49 -1
  866. package/dist/utilities/mime-types/mime-types-utils.js +4 -1
  867. package/dist/utilities/react-query/react-query-utils.js +13 -1
  868. package/dist/utilities/refs/ref.js +14 -1
  869. package/dist/utilities/rotate-transition-style/get-rotate-transition-style.js +12 -1
  870. package/package.json +12 -11
  871. package/dist/_virtual/_rolldown/runtime.js +0 -1
  872. package/dist/components/Dropdown/DropdownVirtualizedMenu.d.ts +0 -80
  873. package/dist/components/Dropdown/DropdownVirtualizedMenu.js +0 -1
  874. package/dist/components/Skeleton/Skeleton.d.ts +0 -57
  875. package/dist/components/Skeleton/Skeleton.js +0 -1
  876. package/dist/components/Table/components/TableVirtualizedBody.d.ts +0 -29
  877. package/dist/components/Table/components/TableVirtualizedBody.js +0 -1
  878. package/dist/react.css +0 -2
@@ -1 +1,151 @@
1
- import SvgIconApplications from"../../../icons/components/IconApplications.js";import Button from"../../../../components/Button/Button.js";import{useEdificeTheme}from"../../../../providers/EdificeThemeProvider/EdificeThemeProvider.hook.js";import{emptyScreenMapping}from"../../../../utilities/emptyscreen-mapping/emptyscreen-mapping.js";import{useResourceSearch}from"../../../../hooks/useResourceSearch/useResourceSearch.js";import LinkerCard from"../../LinkerCard/LinkerCard.js";import AppIcon from"../../../../components/AppIcon/AppIcon.js";import SearchBar from"../../../../components/SearchBar/SearchBar.js";import Dropdown from"../../../../components/Dropdown/Dropdown.js";import EmptyScreen from"../../../../components/EmptyScreen/EmptyScreen.js";import{useCallback,useEffect,useState}from"react";import{jsx,jsxs}from"react/jsx-runtime";import{useTranslation}from"react-i18next";import{odeServices}from"@edifice.io/client";import{useDebounce}from"@uidotdev/usehooks";var InternalLinker=({appCode,defaultAppCode,defaultResourceId,onChange,onSelect,multiple=!0,resourceList,applicationList,showApplicationSelector=!0,disableApplicationSelector=!1,resourceFilter,onSearch,hasMoreResources,onLoadMore,loadMoreLabel})=>{let{t}=useTranslation(),{theme}=useEdificeTheme(),{resourceApplications,loadResources}=useResourceSearch(appCode),[options,setOptions]=useState(),[selectedApplication,setSelectedApplication]=useState(),[searchTerms,setSearchTerms]=useState(),debounceSearch=useDebounce(searchTerms||``,500),[resources,setResources]=useState([]),filterResources=useCallback((resource,search)=>{if(!search)return!0;let searchParam=search?.toLowerCase()||``;return resource.name?.toLowerCase().includes(searchParam)||resource.creatorName?.toLowerCase().includes(searchParam)||resource.description?.toLowerCase().includes(searchParam)},[]),sortResources=useCallback(resources=>resources.sort((a,b)=>a.modifiedAt<b.modifiedAt?1:-1),[]),loadAndDisplayResources=useCallback(search=>{async function load(){if(onSearch){try{setResources(await onSearch(search||``,selectedApplication))}catch{setResources([])}return}if(resourceList){let filteredResources=resourceList.filter(resource=>filterResources(resource,search));resourceFilter&&(filteredResources=filteredResources.filter(resourceFilter)),setResources(sortResources(filteredResources));return}else if(selectedApplication)try{let resources=(await loadResources({application:selectedApplication.application,search,types:[selectedApplication.application],filters:{},pagination:{startIdx:0,pageSize:300}})).filter(resource=>filterResources(resource,search));resourceFilter&&(resources=resources.filter(resourceFilter)),setResources(sortResources(resources));return}catch{}setResources([])}load()},[onSearch,loadResources,selectedApplication,filterResources,sortResources,resourceList,resourceFilter]),[selectedDocuments,setSelectedDocuments]=useState([]),handleOptionClick=option=>{onChange?.(option),setSelectedApplication(option)},handleSearchChange=event=>{let newText=event.target.value;setSearchTerms(newText.toString())},handleSubmit=useCallback(event=>{loadAndDisplayResources(searchTerms),event.stopPropagation(),event.preventDefault()},[loadAndDisplayResources,searchTerms]),getSelectedResourceIndex=useCallback(resourceId=>selectedDocuments.findIndex(selectedDocument=>selectedDocument.assetId===resourceId),[selectedDocuments]),selectResource=useCallback(resource=>{setSelectedDocuments(multiple?previousState=>[...previousState,resource]:[resource])},[setSelectedDocuments,multiple]),toggleResourceSelection=useCallback(resource=>{let index=getSelectedResourceIndex(resource.assetId);index<0?selectResource(resource):setSelectedDocuments(selectedDocuments.filter((_value,i)=>i!==index))},[getSelectedResourceIndex,selectResource,selectedDocuments]);return useEffect(()=>{(async()=>{if(applicationList){setOptions(applicationList.sort((app1,app2)=>app1.displayName.localeCompare(app2.displayName)));return}let appPromises=resourceApplications.map(application=>odeServices.session().getWebApp(application)),webApps=await Promise.all(appPromises);setOptions(resourceApplications.map((application,index)=>{let displayName=webApps[index]?.displayName??application;return application===`exercizer`?displayName=`bbm.linker.int.app.exercizer`:application===`formulaire`&&(displayName=`bbm.linker.int.app.forms`),{application,displayName:t(displayName??application),icon:jsx(AppIcon,{app:webApps[index],size:`24`})}}).sort((a,b)=>a.displayName.localeCompare(b.displayName)))})()},[resourceApplications,t,applicationList]),useEffect(()=>{loadAndDisplayResources(debounceSearch)},[loadAndDisplayResources,debounceSearch]),useEffect(()=>{onSelect?.(selectedDocuments)},[selectedDocuments]),useEffect(()=>{let safeDefaultAppCode=defaultAppCode??(applicationList?.length===1&&applicationList?.[0]?.application);if(safeDefaultAppCode){let option=options?.find(option=>safeDefaultAppCode===option.application);setSelectedApplication(option),loadAndDisplayResources(``)}},[options,defaultAppCode]),useEffect(()=>{if(defaultResourceId&&getSelectedResourceIndex(defaultResourceId)<0){let resource=resources?.find(resource=>defaultResourceId===resource.assetId);resource&&selectResource(resource)}},[resources]),jsxs(`div`,{className:`d-flex flex-column flex-fill overflow-hidden`,children:[jsxs(`div`,{className:`search d-flex bg-light rounded-top border border-bottom-0`,children:[showApplicationSelector&&jsx(`div`,{className:`flex-shrink-1 px-8 py-12 border-end`,children:jsxs(Dropdown,{overflow:!0,children:[jsx(Dropdown.Trigger,{icon:jsx(`div`,{className:`pe-8`,children:selectedApplication?.icon||jsx(SvgIconApplications,{})}),label:jsxs(`span`,{className:`d-md-inline d-sm-none`,children:[` `,t(selectedApplication?.displayName||`bbm.linker.int.choose`)]}),variant:`ghost`,size:`md`,disabled:disableApplicationSelector}),jsx(Dropdown.Menu,{children:options?.map(option=>jsx(Dropdown.Item,{icon:option.icon,onClick:()=>handleOptionClick(option),children:option.displayName},option.application))})]})}),jsx(`div`,{className:`flex-grow-1 align-self-center`,children:jsx(`form`,{className:`gap-16 d-flex w-100 align-items-center px-16 py-8`,onSubmit:handleSubmit,children:jsx(SearchBar,{isVariant:!0,placeholder:t(`search`),size:`lg`,className:`w-100`,disabled:!selectedApplication,onChange:handleSearchChange})})})]}),jsxs(`div`,{className:`internal-linker flex-grow-1 w-100 rounded-bottom border gap-0 overflow-auto`,children:[selectedApplication&&resources&&resources.length>0&&jsxs(`div`,{children:[resources.map(resource=>jsx(LinkerCard,{doc:resource,isSelected:selectedDocuments.findIndex(doc=>doc.assetId===resource.assetId)>=0,onClick:()=>toggleResourceSelection(resource)},resource.path)),hasMoreResources&&jsx(`div`,{className:`d-grid gap-2 col-4 mx-auto my-24`,children:jsx(Button,{type:`button`,color:`secondary`,variant:`filled`,onClick:onLoadMore,children:loadMoreLabel??t(`bbm.linker.see.more`)})})]}),selectedApplication&&resources&&resources.length<=0&&jsx(`div`,{className:`d-flex justify-content-center mt-16`,children:jsx(EmptyScreen,{imageSrc:emptyScreenMapping[theme?.bootstrapVersion??`one`][selectedApplication?.application],text:t(`bbm.linker.int.notfound`),className:`mt-16`})}),!selectedApplication&&jsx(`div`,{className:`d-flex justify-content-center mt-32`,children:jsx(EmptyScreen,{imageSrc:emptyScreenMapping[theme?.bootstrapVersion??`one`].empty,text:t(`bbm.linker.int.empty`),className:`mt-32`})})]})]})};export{InternalLinker as default};
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useState, useCallback, useEffect } from "react";
3
+ import { odeServices } from "@edifice.io/client";
4
+ import { useTranslation } from "react-i18next";
5
+ import { useDebounce } from "@uidotdev/usehooks";
6
+ import { useEdificeTheme } from "../../../../providers/EdificeThemeProvider/EdificeThemeProvider.hook.js";
7
+ import SvgIconApplications from "../../../icons/components/IconApplications.js";
8
+ import LinkerCard from "../../LinkerCard/LinkerCard.js";
9
+ import { useResourceSearch } from "../../../../hooks/useResourceSearch/useResourceSearch.js";
10
+ import AppIcon from "../../../../components/AppIcon/AppIcon.js";
11
+ import Dropdown from "../../../../components/Dropdown/Dropdown.js";
12
+ import SearchBar from "../../../../components/SearchBar/SearchBar.js";
13
+ import Button from "../../../../components/Button/Button.js";
14
+ import EmptyScreen from "../../../../components/EmptyScreen/EmptyScreen.js";
15
+ import { emptyScreenMapping } from "../../../../utilities/emptyscreen-mapping/emptyscreen-mapping.js";
16
+ const InternalLinker = ({
17
+ appCode,
18
+ defaultAppCode,
19
+ defaultResourceId,
20
+ onChange,
21
+ onSelect,
22
+ multiple = !0,
23
+ resourceList,
24
+ applicationList,
25
+ showApplicationSelector = !0,
26
+ disableApplicationSelector = !1,
27
+ resourceFilter,
28
+ onSearch,
29
+ hasMoreResources,
30
+ onLoadMore,
31
+ loadMoreLabel
32
+ }) => {
33
+ const {
34
+ t
35
+ } = useTranslation(), {
36
+ theme
37
+ } = useEdificeTheme(), {
38
+ resourceApplications,
39
+ loadResources
40
+ } = useResourceSearch(appCode), [options, setOptions] = useState(), [selectedApplication, setSelectedApplication] = useState(), [searchTerms, setSearchTerms] = useState(), debounceSearch = useDebounce(searchTerms || "", 500), [resources, setResources] = useState([]), filterResources = useCallback((resource, search) => {
41
+ var _a, _b, _c;
42
+ if (!search) return !0;
43
+ const searchParam = (search == null ? void 0 : search.toLowerCase()) || "";
44
+ return ((_a = resource.name) == null ? void 0 : _a.toLowerCase().includes(searchParam)) || ((_b = resource.creatorName) == null ? void 0 : _b.toLowerCase().includes(searchParam)) || ((_c = resource.description) == null ? void 0 : _c.toLowerCase().includes(searchParam));
45
+ }, []), sortResources = useCallback((resources2) => resources2.sort((a, b) => a.modifiedAt < b.modifiedAt ? 1 : -1), []), loadAndDisplayResources = useCallback((search) => {
46
+ async function load() {
47
+ if (onSearch) {
48
+ try {
49
+ setResources(await onSearch(search || "", selectedApplication));
50
+ } catch {
51
+ setResources([]);
52
+ }
53
+ return;
54
+ }
55
+ if (resourceList) {
56
+ let filteredResources = resourceList.filter((resource) => filterResources(resource, search));
57
+ resourceFilter && (filteredResources = filteredResources.filter(resourceFilter)), setResources(sortResources(filteredResources));
58
+ return;
59
+ } else if (selectedApplication)
60
+ try {
61
+ let resources2 = (await loadResources({
62
+ application: selectedApplication.application,
63
+ search,
64
+ types: [selectedApplication.application],
65
+ filters: {},
66
+ pagination: {
67
+ startIdx: 0,
68
+ pageSize: 300
69
+ }
70
+ // ignored at the moment
71
+ })).filter((resource) => filterResources(resource, search));
72
+ resourceFilter && (resources2 = resources2.filter(resourceFilter)), setResources(sortResources(resources2));
73
+ return;
74
+ } catch {
75
+ }
76
+ setResources([]);
77
+ }
78
+ load();
79
+ }, [onSearch, loadResources, selectedApplication, filterResources, sortResources, resourceList, resourceFilter]), [selectedDocuments, setSelectedDocuments] = useState([]), handleOptionClick = (option) => {
80
+ onChange == null || onChange(option), setSelectedApplication(option);
81
+ }, handleSearchChange = (event) => {
82
+ const newText = event.target.value;
83
+ setSearchTerms(newText.toString());
84
+ }, handleSubmit = useCallback((event) => {
85
+ loadAndDisplayResources(searchTerms), event.stopPropagation(), event.preventDefault();
86
+ }, [loadAndDisplayResources, searchTerms]), getSelectedResourceIndex = useCallback((resourceId) => selectedDocuments.findIndex((selectedDocument) => selectedDocument.assetId === resourceId), [selectedDocuments]), selectResource = useCallback((resource) => {
87
+ setSelectedDocuments(multiple ? (previousState) => [...previousState, resource] : [resource]);
88
+ }, [setSelectedDocuments, multiple]), toggleResourceSelection = useCallback((resource) => {
89
+ const index = getSelectedResourceIndex(resource.assetId);
90
+ index < 0 ? selectResource(resource) : setSelectedDocuments(selectedDocuments.filter((_value, i) => i !== index));
91
+ }, [getSelectedResourceIndex, selectResource, selectedDocuments]);
92
+ return useEffect(() => {
93
+ (async () => {
94
+ if (applicationList) {
95
+ setOptions(applicationList.sort((app1, app2) => app1.displayName.localeCompare(app2.displayName)));
96
+ return;
97
+ }
98
+ const appPromises = resourceApplications.map((application) => odeServices.session().getWebApp(application)), webApps = await Promise.all(appPromises), opts = resourceApplications.map((application, index) => {
99
+ var _a;
100
+ let displayName = ((_a = webApps[index]) == null ? void 0 : _a.displayName) ?? application;
101
+ return application === "exercizer" ? displayName = "bbm.linker.int.app.exercizer" : application === "formulaire" && (displayName = "bbm.linker.int.app.forms"), {
102
+ application,
103
+ displayName: t(displayName ?? application),
104
+ icon: /* @__PURE__ */ jsx(AppIcon, { app: webApps[index], size: "24" })
105
+ };
106
+ }).sort((a, b) => a.displayName.localeCompare(b.displayName));
107
+ setOptions(opts);
108
+ })();
109
+ }, [resourceApplications, t, applicationList]), useEffect(() => {
110
+ loadAndDisplayResources(debounceSearch);
111
+ }, [loadAndDisplayResources, debounceSearch]), useEffect(() => {
112
+ onSelect == null || onSelect(selectedDocuments);
113
+ }, [selectedDocuments]), useEffect(() => {
114
+ var _a;
115
+ const safeDefaultAppCode = defaultAppCode ?? ((applicationList == null ? void 0 : applicationList.length) === 1 && ((_a = applicationList == null ? void 0 : applicationList[0]) == null ? void 0 : _a.application));
116
+ if (safeDefaultAppCode) {
117
+ const option = options == null ? void 0 : options.find((option2) => safeDefaultAppCode === option2.application);
118
+ setSelectedApplication(option), loadAndDisplayResources("");
119
+ }
120
+ }, [options, defaultAppCode]), useEffect(() => {
121
+ if (defaultResourceId && getSelectedResourceIndex(defaultResourceId) < 0) {
122
+ const resource = resources == null ? void 0 : resources.find((resource2) => defaultResourceId === resource2.assetId);
123
+ resource && selectResource(resource);
124
+ }
125
+ }, [resources]), /* @__PURE__ */ jsxs("div", { className: "d-flex flex-column flex-fill overflow-hidden", children: [
126
+ /* @__PURE__ */ jsxs("div", { className: "search d-flex bg-light rounded-top border border-bottom-0", children: [
127
+ showApplicationSelector && /* @__PURE__ */ jsx("div", { className: "flex-shrink-1 px-8 py-12 border-end", children: /* @__PURE__ */ jsxs(Dropdown, { overflow: !0, children: [
128
+ /* @__PURE__ */ jsx(Dropdown.Trigger, { icon: /* @__PURE__ */ jsx("div", { className: "pe-8", children: (selectedApplication == null ? void 0 : selectedApplication.icon) || /* @__PURE__ */ jsx(SvgIconApplications, {}) }), label: /* @__PURE__ */ jsxs("span", { className: "d-md-inline d-sm-none", children: [
129
+ " ",
130
+ t((selectedApplication == null ? void 0 : selectedApplication.displayName) || "bbm.linker.int.choose")
131
+ ] }), variant: "ghost", size: "md", disabled: disableApplicationSelector }),
132
+ /* @__PURE__ */ jsx(Dropdown.Menu, { children: options == null ? void 0 : options.map((option) => /* @__PURE__ */ jsx(Dropdown.Item, { icon: option.icon, onClick: () => handleOptionClick(option), children: option.displayName }, option.application)) })
133
+ ] }) }),
134
+ /* @__PURE__ */ jsx("div", { className: "flex-grow-1 align-self-center", children: /* @__PURE__ */ jsx("form", { className: "gap-16 d-flex w-100 align-items-center px-16 py-8", onSubmit: handleSubmit, children: /* @__PURE__ */ jsx(SearchBar, { isVariant: !0, placeholder: t("search"), size: "lg", className: "w-100", disabled: !selectedApplication, onChange: handleSearchChange }) }) })
135
+ ] }),
136
+ /* @__PURE__ */ jsxs("div", { className: "internal-linker flex-grow-1 w-100 rounded-bottom border gap-0 overflow-auto", children: [
137
+ selectedApplication && resources && resources.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
138
+ resources.map((resource) => {
139
+ const isSelected = selectedDocuments.findIndex((doc) => doc.assetId === resource.assetId) >= 0;
140
+ return /* @__PURE__ */ jsx(LinkerCard, { doc: resource, isSelected, onClick: () => toggleResourceSelection(resource) }, resource.path);
141
+ }),
142
+ hasMoreResources && /* @__PURE__ */ jsx("div", { className: "d-grid gap-2 col-4 mx-auto my-24", children: /* @__PURE__ */ jsx(Button, { type: "button", color: "secondary", variant: "filled", onClick: onLoadMore, children: loadMoreLabel ?? t("bbm.linker.see.more") }) })
143
+ ] }),
144
+ selectedApplication && resources && resources.length <= 0 && /* @__PURE__ */ jsx("div", { className: "d-flex justify-content-center mt-16", children: /* @__PURE__ */ jsx(EmptyScreen, { imageSrc: emptyScreenMapping[(theme == null ? void 0 : theme.bootstrapVersion) ?? "one"][selectedApplication == null ? void 0 : selectedApplication.application], text: t("bbm.linker.int.notfound"), className: "mt-16" }) }),
145
+ !selectedApplication && /* @__PURE__ */ jsx("div", { className: "d-flex justify-content-center mt-32", children: /* @__PURE__ */ jsx(EmptyScreen, { imageSrc: emptyScreenMapping[(theme == null ? void 0 : theme.bootstrapVersion) ?? "one"].empty, text: t("bbm.linker.int.empty"), className: "mt-32" }) })
146
+ ] })
147
+ ] });
148
+ };
149
+ export {
150
+ InternalLinker
151
+ };
@@ -1 +1,34 @@
1
- import SvgIconUsers from"../../icons/components/IconUsers.js";import useDate from"../../../hooks/useDate/useDate.js";import Image from"../../../components/Image/Image.js";import AppIcon from"../../../components/AppIcon/AppIcon.js";import Card from"../../../components/Card/Card.js";import clsx$1 from"clsx";import{useMemo}from"react";import{jsx,jsxs}from"react/jsx-runtime";var LinkerCard=({doc,isClickable=!0,isSelectable=!1,isSelected=!1,onClick,className})=>{let{fromNow}=useDate(),displayDate=useMemo(()=>doc.fromDate??fromNow(doc.modifiedAt),[doc.fromDate,doc.modifiedAt,fromNow]);return jsx(Card,{className:clsx$1(`card-linker shadow-none`,className),isClickable,isSelectable,isSelected,onClick,children:jsxs(Card.Body,{space:`8`,children:[jsx(`div`,{className:`card-image ps-8 pe-4`,children:doc.thumbnail&&doc.thumbnail.length>0?jsx(Image,{alt:``,height:48,width:48,src:doc.thumbnail,objectFit:`cover`,className:`rounded h-full`,style:{aspectRatio:1/1}}):jsx(AppIcon,{app:doc.application,iconFit:`ratio`,size:`48`,variant:`rounded`})}),jsxs(`div`,{className:`w-75`,children:[jsx(Card.Text,{children:doc.name}),jsx(Card.Text,{className:`text-black-50`,children:doc?.creatorName})]}),jsx(`div`,{className:`d-none d-md-block text-black-50 ps-4 pe-8`,children:jsx(Card.Text,{children:displayDate})}),doc.shared&&jsx(`div`,{className:`ps-4 pe-8`,children:jsx(SvgIconUsers,{width:`20`,height:`20`})})]})})};export{LinkerCard as default};
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useMemo } from "react";
3
+ import clsx from "clsx";
4
+ import SvgIconUsers from "../../icons/components/IconUsers.js";
5
+ import useDate from "../../../hooks/useDate/useDate.js";
6
+ import Card from "../../../components/Card/Card.js";
7
+ import Image from "../../../components/Image/Image.js";
8
+ import AppIcon from "../../../components/AppIcon/AppIcon.js";
9
+ const LinkerCard = ({
10
+ doc,
11
+ isClickable = !0,
12
+ isSelectable = !1,
13
+ isSelected = !1,
14
+ onClick,
15
+ className
16
+ }) => {
17
+ const {
18
+ fromNow
19
+ } = useDate(), displayDate = useMemo(() => doc.fromDate ?? fromNow(doc.modifiedAt), [doc.fromDate, doc.modifiedAt, fromNow]);
20
+ return /* @__PURE__ */ jsx(Card, { className: clsx("card-linker shadow-none", className), isClickable, isSelectable, isSelected, onClick, children: /* @__PURE__ */ jsxs(Card.Body, { space: "8", children: [
21
+ /* @__PURE__ */ jsx("div", { className: "card-image ps-8 pe-4", children: doc.thumbnail && doc.thumbnail.length > 0 ? /* @__PURE__ */ jsx(Image, { alt: "", height: 48, width: 48, src: doc.thumbnail, objectFit: "cover", className: "rounded h-full", style: {
22
+ aspectRatio: 1 / 1
23
+ } }) : /* @__PURE__ */ jsx(AppIcon, { app: doc.application, iconFit: "ratio", size: "48", variant: "rounded" }) }),
24
+ /* @__PURE__ */ jsxs("div", { className: "w-75", children: [
25
+ /* @__PURE__ */ jsx(Card.Text, { children: doc.name }),
26
+ /* @__PURE__ */ jsx(Card.Text, { className: "text-black-50", children: doc == null ? void 0 : doc.creatorName })
27
+ ] }),
28
+ /* @__PURE__ */ jsx("div", { className: "d-none d-md-block text-black-50 ps-4 pe-8", children: /* @__PURE__ */ jsx(Card.Text, { children: displayDate }) }),
29
+ doc.shared && /* @__PURE__ */ jsx("div", { className: "ps-4 pe-8", children: /* @__PURE__ */ jsx(SvgIconUsers, { width: "20", height: "20" }) })
30
+ ] }) });
31
+ };
32
+ export {
33
+ LinkerCard as default
34
+ };
@@ -54,7 +54,7 @@ export interface MediaLibraryRef {
54
54
  /**
55
55
  * The resulting type depends on the actual selected Tab when modal is closed.
56
56
  */
57
- export type MediaLibraryResult = WorkspaceElement[] | WorkspaceElement | InternalLinkTabResult | string | /*TODO(ENABLING-1155): type des autres résultats ?*/ any;
57
+ export type MediaLibraryResult = WorkspaceElement[] | WorkspaceElement | InternalLinkTabResult | string | /*TODO type des autres résultats ?*/ any;
58
58
  /**
59
59
  * MediaLibrary component properties
60
60
  */
@@ -1 +1,226 @@
1
- import SvgIconApplications from"../../icons/components/IconApplications.js";import SvgIconCode from"../../icons/components/IconCode.js";import SvgIconFolder from"../../icons/components/IconFolder.js";import SvgIconGlobe from"../../icons/components/IconGlobe.js";import SvgIconMic from"../../icons/components/IconMic.js";import SvgIconRecordVideo from"../../icons/components/IconRecordVideo.js";import SvgIconSmartphone from"../../icons/components/IconSmartphone.js";import Button from"../../../components/Button/Button.js";import useHasWorkflow from"../../../hooks/useHasWorkflow/useHasWorkflow.js";import{MediaLibraryContext}from"./MediaLibraryContext.js";import{InnerTabs}from"./innertabs/index.js";import useHttpErrorToast from"../../../hooks/useHttpErrorToast/useHttpErrorToast.js";import Modal from"../../../components/Modal/Modal.js";import Tabs from"../../../components/Tabs/components/Tabs.js";import{forwardRef,useCallback,useEffect,useImperativeHandle,useMemo,useRef,useState}from"react";import{Fragment as Fragment$1,jsx,jsxs}from"react/jsx-runtime";import{useTranslation}from"react-i18next";import{odeServices}from"@edifice.io/client";var orderedTabs=[`audio-capture`,`video-capture`,`internal-link`,`external-link`,`iframe`,`upload`,`workspace`,`video-embedder`],mediaLibraryTypes={none:null,audio:{title:`bbm.audio.modal.title`,defaultTab:`audio-capture`},video:{title:`bbm.video.modal.title`,defaultTab:`video-capture`},image:{title:`bbm.image.modal.title`,defaultTab:`workspace`},attachment:{title:`bbm.attachment.modal.title`,defaultTab:`workspace`},hyperlink:{title:`bbm.link.modal.title`,defaultTab:`linker`},embedder:{title:`bbm.embed.modal.title`,defaultTab:`iframe`},studio:{title:`bbm.studio.modal.title`,defaultTab:`audio-capture`}},MediaLibrary=forwardRef(({appCode,visibility,multiple,onSuccess,onCancel,onTabChange},ref)=>{let linkTabProps=useRef(),refModal=useRef(null);useImperativeHandle(ref,()=>({show,hide,showLink,type,...refModal.current}));let{t}=useTranslation(),workspaceCreateWorkflow=useHasWorkflow(`org.entcore.workspace.controllers.WorkspaceController|addDocument`),videoCaptureWorkflow=useHasWorkflow(`com.opendigitaleducation.video.controllers.VideoController|capture`),[type,setType]=useState(null);useHttpErrorToast({active:!!type,isDismissible:!0,duration:1/0});let availableTabs={workspace:{id:`workspace`,icon:jsx(SvgIconFolder,{}),label:t(`bbm.workspace`),content:jsx(InnerTabs.Workspace,{}),availableFor:[`audio`,`video`,`image`,`attachment`],isEnable:null},upload:{id:`upload`,icon:jsx(SvgIconSmartphone,{}),label:t(`bbm.device`),content:jsx(InnerTabs.Upload,{}),availableFor:[`audio`,`video`,`image`,`attachment`],isEnable:()=>!!workspaceCreateWorkflow},"video-capture":{id:`video-capture`,icon:jsx(SvgIconRecordVideo,{}),label:t(`bbm.video`),content:jsx(InnerTabs.Video,{}),availableFor:[`video`,`studio`],isEnable:()=>!!videoCaptureWorkflow},"audio-capture":{id:`audio-capture`,icon:jsx(SvgIconMic,{}),label:t(`bbm.audio`),content:jsx(InnerTabs.Audio,{}),availableFor:[`audio`,`studio`],isEnable:()=>!!workspaceCreateWorkflow},"external-link":{id:`external-link`,icon:jsx(SvgIconGlobe,{}),label:t(`bbm.linker.ext`),content:jsx(InnerTabs.ExternalLink,{...linkTabProps.current}),availableFor:[`hyperlink`],isEnable:null},"internal-link":{id:`internal-link`,icon:jsx(SvgIconApplications,{}),label:t(`bbm.linker.int`),content:jsx(InnerTabs.InternalLink,{...linkTabProps.current}),availableFor:[`hyperlink`],isEnable:null},iframe:{id:`iframe`,icon:jsx(SvgIconCode,{}),label:t(`bbm.embed`),content:jsx(InnerTabs.Iframe,{}),availableFor:[`embedder`],isEnable:null},"video-embedder":{id:`iframe`,icon:jsx(SvgIconCode,{}),label:t(`bbm.embed`),content:jsx(InnerTabs.VideoEmbedder,{}),availableFor:[`video`],isEnable:null}},tabs=useMemo(()=>orderedTabs.map(key=>availableTabs[key]).filter(tab=>tab.isEnable?.()!==!1&&(tab.availableFor.length===0||tab.availableFor.includes(type))),[type]),[defaultTabId,setDefaultTabId]=useState(),defaultTabIdx=useMemo(()=>{let index=tabs.findIndex(t=>t.id===defaultTabId);return 0>index||index>=tabs.length?0:index},[tabs,defaultTabId]),[resultCounter,setResultCounter]=useState(),[result,setResult]=useState(),[deletionsOnCancel,setDeletionsOnCancel]=useState([]),[onSuccessAction,setPreSuccess]=useState();function setVisibleTab(tab){throw tabs.findIndex(t=>t.id===tab)<0?`tab.not.visible`:`not.implemented.yet`}function switchType(type){linkTabProps.current=void 0,setDefaultTabId(void 0),setType(type)}let show=type=>{setType(type)},hide=()=>{setType(null)},showLink=props=>{linkTabProps.current=props,`resourceId`in props||`appPrefix`in props||setDefaultTabId(`external-link`),setType(`hyperlink`)};useEffect(()=>{let typeKey=type||`none`;!defaultTabId&&typeof mediaLibraryTypes[typeKey]?.defaultTab==`string`&&setDefaultTabId(mediaLibraryTypes[typeKey]?.defaultTab)},[defaultTabId,type]);let modalHeader=t(mediaLibraryTypes[type??`none`]?.title??`bbm`),resetState=()=>{linkTabProps.current=void 0,setResult(void 0),setResultCounter(void 0),setDefaultTabId(void 0),setPreSuccess(void 0),setDeletionsOnCancel([])},handleTabChange=tab=>{onTabChange?.(tab,deletionsOnCancel),resetState()},handleOnSuccess=useCallback(()=>{let triggerSuccess=async result=>{result instanceof Array&&[`protected`,`public`].findIndex(v=>v===visibility)>=0&&(result=await odeServices.workspace().transferDocuments(result,appCode??`media-library`,visibility)),onSuccess(result)};onSuccessAction?onSuccessAction().then(result=>{triggerSuccess(result)}):result&&triggerSuccess(result),resetState()},[onSuccessAction,result,onSuccess,visibility,appCode]),handleOnCancel=()=>{onCancel(deletionsOnCancel),resetState()};return type&&jsx(MediaLibraryContext.Provider,{value:{appCode,visibility,multiple,type,setResultCounter,setResult,setCancellable:uploads=>setDeletionsOnCancel([...uploads]),setVisibleTab,switchType,setPreSuccess},children:jsxs(Modal,{id:`media-library`,isOpen:type!==null,onModalClose:handleOnCancel,size:`lg`,viewport:!0,scrollable:!0,children:[jsx(Modal.Header,{onModalClose:handleOnCancel,children:modalHeader}),jsx(Tabs,{items:tabs,defaultId:tabs[defaultTabIdx].id,onChange:handleTabChange,children:currentItem=>jsxs(Fragment$1,{children:[tabs.length>1&&jsx(Tabs.List,{className:`mt-16`}),jsx(Modal.Body,{className:`d-flex`,children:jsx(Tabs.Panel,{currentItem,children:currentItem?.content})})]})}),jsxs(Modal.Footer,{children:[jsx(Button,{type:`button`,color:`tertiary`,variant:`ghost`,onClick:handleOnCancel,children:t(`cancel`)}),jsx(Button,{type:`button`,color:`primary`,variant:`filled`,disabled:result===void 0,onClick:handleOnSuccess,children:resultCounter&&resultCounter>1?t(`addMultiple`,{number:resultCounter}):t(`add`)})]})]})})});export{MediaLibrary as default};
1
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
+ import { forwardRef, useRef, useImperativeHandle, useState, useMemo, useEffect, useCallback } from "react";
3
+ import { odeServices } from "@edifice.io/client";
4
+ import { useTranslation } from "react-i18next";
5
+ import SvgIconApplications from "../../icons/components/IconApplications.js";
6
+ import SvgIconCode from "../../icons/components/IconCode.js";
7
+ import SvgIconFolder from "../../icons/components/IconFolder.js";
8
+ import SvgIconGlobe from "../../icons/components/IconGlobe.js";
9
+ import SvgIconMic from "../../icons/components/IconMic.js";
10
+ import SvgIconRecordVideo from "../../icons/components/IconRecordVideo.js";
11
+ import SvgIconSmartphone from "../../icons/components/IconSmartphone.js";
12
+ import { InnerTabs } from "./innertabs/index.js";
13
+ import { MediaLibraryContext } from "./MediaLibraryContext.js";
14
+ import useHasWorkflow from "../../../hooks/useHasWorkflow/useHasWorkflow.js";
15
+ import useHttpErrorToast from "../../../hooks/useHttpErrorToast/useHttpErrorToast.js";
16
+ import Modal from "../../../components/Modal/Modal.js";
17
+ import { Tabs } from "../../../components/Tabs/components/Tabs.js";
18
+ import Button from "../../../components/Button/Button.js";
19
+ const orderedTabs = [
20
+ "audio-capture",
21
+ "video-capture",
22
+ "internal-link",
23
+ // Link to a shared resource (previously known as "internal linker")
24
+ "external-link",
25
+ // Link to an external website (previously known as "external linker")
26
+ "iframe",
27
+ // Framed website
28
+ "upload",
29
+ // Filesystem browser + drag'n'drop of files
30
+ "workspace",
31
+ // Media browser
32
+ "video-embedder"
33
+ // Link to a hosted video
34
+ ], mediaLibraryTypes = {
35
+ none: null,
36
+ audio: {
37
+ title: "bbm.audio.modal.title",
38
+ defaultTab: "audio-capture"
39
+ },
40
+ video: {
41
+ title: "bbm.video.modal.title",
42
+ defaultTab: "video-capture"
43
+ },
44
+ image: {
45
+ title: "bbm.image.modal.title",
46
+ defaultTab: "workspace"
47
+ },
48
+ attachment: {
49
+ title: "bbm.attachment.modal.title",
50
+ defaultTab: "workspace"
51
+ },
52
+ hyperlink: {
53
+ title: "bbm.link.modal.title",
54
+ defaultTab: "linker"
55
+ },
56
+ embedder: {
57
+ title: "bbm.embed.modal.title",
58
+ defaultTab: "iframe"
59
+ },
60
+ // Add studio type with video-capture as default tab
61
+ studio: {
62
+ title: "bbm.studio.modal.title",
63
+ defaultTab: "audio-capture"
64
+ }
65
+ }, MediaLibrary = /* @__PURE__ */ forwardRef(({
66
+ appCode,
67
+ visibility,
68
+ multiple,
69
+ onSuccess,
70
+ onCancel,
71
+ onTabChange
72
+ }, ref) => {
73
+ var _a;
74
+ const linkTabProps = useRef(), refModal = useRef(null);
75
+ useImperativeHandle(ref, () => ({
76
+ show,
77
+ hide,
78
+ showLink,
79
+ type,
80
+ ...refModal.current
81
+ }));
82
+ const {
83
+ t
84
+ } = useTranslation(), workspaceCreateWorkflow = useHasWorkflow("org.entcore.workspace.controllers.WorkspaceController|addDocument"), videoCaptureWorkflow = useHasWorkflow("com.opendigitaleducation.video.controllers.VideoController|capture"), [type, setType] = useState(null);
85
+ useHttpErrorToast({
86
+ active: !!type,
87
+ isDismissible: !0,
88
+ duration: 1 / 0
89
+ });
90
+ const availableTabs = {
91
+ workspace: {
92
+ id: "workspace",
93
+ icon: /* @__PURE__ */ jsx(SvgIconFolder, {}),
94
+ label: t("bbm.workspace"),
95
+ content: /* @__PURE__ */ jsx(InnerTabs.Workspace, {}),
96
+ availableFor: ["audio", "video", "image", "attachment"],
97
+ isEnable: null
98
+ },
99
+ upload: {
100
+ id: "upload",
101
+ icon: /* @__PURE__ */ jsx(SvgIconSmartphone, {}),
102
+ label: t("bbm.device"),
103
+ content: /* @__PURE__ */ jsx(InnerTabs.Upload, {}),
104
+ availableFor: ["audio", "video", "image", "attachment"],
105
+ isEnable: () => !!workspaceCreateWorkflow
106
+ },
107
+ "video-capture": {
108
+ id: "video-capture",
109
+ icon: /* @__PURE__ */ jsx(SvgIconRecordVideo, {}),
110
+ label: t("bbm.video"),
111
+ content: /* @__PURE__ */ jsx(InnerTabs.Video, {}),
112
+ availableFor: ["video", "studio"],
113
+ isEnable: () => !!videoCaptureWorkflow
114
+ },
115
+ "audio-capture": {
116
+ id: "audio-capture",
117
+ icon: /* @__PURE__ */ jsx(SvgIconMic, {}),
118
+ label: t("bbm.audio"),
119
+ content: /* @__PURE__ */ jsx(InnerTabs.Audio, {}),
120
+ availableFor: ["audio", "studio"],
121
+ isEnable: () => !!workspaceCreateWorkflow
122
+ },
123
+ "external-link": {
124
+ id: "external-link",
125
+ icon: /* @__PURE__ */ jsx(SvgIconGlobe, {}),
126
+ label: t("bbm.linker.ext"),
127
+ content: /* @__PURE__ */ jsx(InnerTabs.ExternalLink, { ...linkTabProps.current }),
128
+ availableFor: ["hyperlink"],
129
+ isEnable: null
130
+ },
131
+ "internal-link": {
132
+ id: "internal-link",
133
+ icon: /* @__PURE__ */ jsx(SvgIconApplications, {}),
134
+ label: t("bbm.linker.int"),
135
+ content: /* @__PURE__ */ jsx(InnerTabs.InternalLink, { ...linkTabProps.current }),
136
+ availableFor: ["hyperlink"],
137
+ isEnable: null
138
+ },
139
+ iframe: {
140
+ id: "iframe",
141
+ icon: /* @__PURE__ */ jsx(SvgIconCode, {}),
142
+ label: t("bbm.embed"),
143
+ content: /* @__PURE__ */ jsx(InnerTabs.Iframe, {}),
144
+ availableFor: ["embedder"],
145
+ isEnable: null
146
+ },
147
+ "video-embedder": {
148
+ id: "iframe",
149
+ icon: /* @__PURE__ */ jsx(SvgIconCode, {}),
150
+ label: t("bbm.embed"),
151
+ content: /* @__PURE__ */ jsx(InnerTabs.VideoEmbedder, {}),
152
+ availableFor: ["video"],
153
+ isEnable: null
154
+ }
155
+ }, tabs = useMemo(
156
+ () => orderedTabs.map((key) => availableTabs[key]).filter((tab) => {
157
+ var _a2;
158
+ return ((_a2 = tab.isEnable) == null ? void 0 : _a2.call(tab)) !== !1 && (tab.availableFor.length === 0 || tab.availableFor.includes(type));
159
+ }),
160
+ // eslint-disable-next-line react-hooks/exhaustive-deps
161
+ [type]
162
+ ), [defaultTabId, setDefaultTabId] = useState(), defaultTabIdx = useMemo(() => {
163
+ const index = tabs.findIndex((t2) => t2.id === defaultTabId);
164
+ return 0 > index || index >= tabs.length ? 0 : index;
165
+ }, [tabs, defaultTabId]), [resultCounter, setResultCounter] = useState(), [result, setResult] = useState(), [deletionsOnCancel, setDeletionsOnCancel] = useState([]), [onSuccessAction, setPreSuccess] = useState();
166
+ function setVisibleTab(tab) {
167
+ throw tabs.findIndex((t2) => t2.id === tab) < 0 ? "tab.not.visible" : "not.implemented.yet";
168
+ }
169
+ function switchType(type2) {
170
+ linkTabProps.current = void 0, setDefaultTabId(void 0), setType(type2);
171
+ }
172
+ const show = (type2) => {
173
+ setType(type2);
174
+ }, hide = () => {
175
+ setType(null);
176
+ }, showLink = (props) => {
177
+ linkTabProps.current = props, "resourceId" in props || "appPrefix" in props || setDefaultTabId("external-link"), setType("hyperlink");
178
+ };
179
+ useEffect(() => {
180
+ var _a2, _b;
181
+ const typeKey = type || "none";
182
+ !defaultTabId && typeof ((_a2 = mediaLibraryTypes[typeKey]) == null ? void 0 : _a2.defaultTab) == "string" && setDefaultTabId((_b = mediaLibraryTypes[typeKey]) == null ? void 0 : _b.defaultTab);
183
+ }, [defaultTabId, type]);
184
+ const modalHeader = t(((_a = mediaLibraryTypes[type ?? "none"]) == null ? void 0 : _a.title) ?? "bbm"), resetState = () => {
185
+ linkTabProps.current = void 0, setResult(void 0), setResultCounter(void 0), setDefaultTabId(void 0), setPreSuccess(void 0), setDeletionsOnCancel([]);
186
+ }, handleTabChange = (tab) => {
187
+ onTabChange == null || onTabChange(tab, deletionsOnCancel), resetState();
188
+ }, handleOnSuccess = useCallback(() => {
189
+ const triggerSuccess = async (result2) => {
190
+ result2 instanceof Array && ["protected", "public"].findIndex((v) => v === visibility) >= 0 && (result2 = await odeServices.workspace().transferDocuments(result2, appCode ?? "media-library", visibility)), onSuccess(result2);
191
+ };
192
+ onSuccessAction ? onSuccessAction().then((result2) => {
193
+ triggerSuccess(result2);
194
+ }) : result && triggerSuccess(result), resetState();
195
+ }, [onSuccessAction, result, onSuccess, visibility, appCode]), handleOnCancel = () => {
196
+ onCancel(deletionsOnCancel), resetState();
197
+ };
198
+ return type && /* @__PURE__ */ jsx(MediaLibraryContext.Provider, { value: {
199
+ appCode,
200
+ visibility,
201
+ multiple,
202
+ type,
203
+ setResultCounter,
204
+ setResult,
205
+ setCancellable: (uploads) => setDeletionsOnCancel([...uploads]),
206
+ setVisibleTab,
207
+ switchType,
208
+ setPreSuccess
209
+ }, children: /* @__PURE__ */ jsxs(Modal, { id: "media-library", isOpen: type !== null, onModalClose: handleOnCancel, size: "lg", viewport: !0, scrollable: !0, children: [
210
+ /* @__PURE__ */ jsx(Modal.Header, { onModalClose: handleOnCancel, children: modalHeader }),
211
+ /* @__PURE__ */ jsx(Tabs, { items: tabs, defaultId: tabs[defaultTabIdx].id, onChange: handleTabChange, children: (currentItem) => /* @__PURE__ */ jsxs(Fragment, { children: [
212
+ tabs.length > 1 && /* @__PURE__ */ jsx(Tabs.List, { className: "mt-16" }),
213
+ /* @__PURE__ */ jsx(Modal.Body, { className: "d-flex", children: /* @__PURE__ */ jsx(Tabs.Panel, { currentItem, children: currentItem == null ? void 0 : currentItem.content }) })
214
+ ] }) }),
215
+ /* @__PURE__ */ jsxs(Modal.Footer, { children: [
216
+ /* @__PURE__ */ jsx(Button, { type: "button", color: "tertiary", variant: "ghost", onClick: handleOnCancel, children: t("cancel") }),
217
+ /* @__PURE__ */ jsx(Button, { type: "button", color: "primary", variant: "filled", disabled: typeof result > "u", onClick: handleOnSuccess, children: resultCounter && resultCounter > 1 ? t("addMultiple", {
218
+ number: resultCounter
219
+ }) : t("add") })
220
+ ] })
221
+ ] }) });
222
+ });
223
+ Object.assign(MediaLibrary, InnerTabs);
224
+ export {
225
+ MediaLibrary as default
226
+ };
@@ -1 +1,12 @@
1
- import{createContext,useContext}from"react";var MediaLibraryContext=createContext(null);function useMediaLibraryContext(){let context=useContext(MediaLibraryContext);if(!context)throw Error(`Innertabs compound components cannot be rendered outside the MediaLibrary component`);return context}export{MediaLibraryContext,useMediaLibraryContext};
1
+ import { createContext, useContext } from "react";
2
+ const MediaLibraryContext = /* @__PURE__ */ createContext(null);
3
+ function useMediaLibraryContext() {
4
+ const context = useContext(MediaLibraryContext);
5
+ if (!context)
6
+ throw new Error("Innertabs compound components cannot be rendered outside the MediaLibrary component");
7
+ return context;
8
+ }
9
+ export {
10
+ MediaLibraryContext,
11
+ useMediaLibraryContext
12
+ };
@@ -1 +1,19 @@
1
- import AudioRecorder from"../../AudioRecorder/AudioRecorder.js";import{useMediaLibraryContext}from"../MediaLibraryContext.js";import{useRef}from"react";import{jsx}from"react/jsx-runtime";var Audio=()=>{let{setResult,setPreSuccess,visibility}=useMediaLibraryContext(),ref=useRef(null);return jsx(AudioRecorder,{ref,onRecordUpdated:recordURL=>{recordURL?(setResult(recordURL),setPreSuccess(()=>ref.current.save)):setResult()},onSaveSuccess:audioRessource=>{audioRessource&&setResult(audioRessource)},hideSaveAction:!0,visibility})};export{Audio};
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useRef } from "react";
3
+ import { useMediaLibraryContext } from "../MediaLibraryContext.js";
4
+ import AudioRecorder from "../../AudioRecorder/AudioRecorder.js";
5
+ const Audio = () => {
6
+ const {
7
+ setResult,
8
+ setPreSuccess,
9
+ visibility
10
+ } = useMediaLibraryContext(), ref = useRef(null);
11
+ return /* @__PURE__ */ jsx(AudioRecorder, { ref, onRecordUpdated: (recordURL) => {
12
+ recordURL ? (setResult(recordURL), setPreSuccess(() => ref.current.save)) : setResult();
13
+ }, onSaveSuccess: (audioRessource) => {
14
+ audioRessource && setResult(audioRessource);
15
+ }, hideSaveAction: !0, visibility });
16
+ };
17
+ export {
18
+ Audio
19
+ };
@@ -1 +1,17 @@
1
- import ExternalLinker from"../../Linker/ExternalLinker/ExternalLinker.js";import{useMediaLibraryContext}from"../MediaLibraryContext.js";import{jsx}from"react/jsx-runtime";var ExternalLink=({link,multiNodeSelected=!1})=>{let{setResult}=useMediaLibraryContext();return jsx(ExternalLinker,{link,onChange:link=>{setResult(link)},multiNodeSelected})};export{ExternalLink};
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { ExternalLinker } from "../../Linker/ExternalLinker/ExternalLinker.js";
3
+ import { useMediaLibraryContext } from "../MediaLibraryContext.js";
4
+ const ExternalLink = ({
5
+ link,
6
+ multiNodeSelected = !1
7
+ }) => {
8
+ const {
9
+ setResult
10
+ } = useMediaLibraryContext();
11
+ return /* @__PURE__ */ jsx(ExternalLinker, { link, onChange: (link2) => {
12
+ setResult(link2);
13
+ }, multiNodeSelected });
14
+ };
15
+ export {
16
+ ExternalLink
17
+ };
@@ -1 +1,14 @@
1
- import Embed from"../../Embed/Embed.js";import{useMediaLibraryContext}from"../MediaLibraryContext.js";import{jsx}from"react/jsx-runtime";var Iframe=()=>{let{setResult}=useMediaLibraryContext();return jsx(Embed,{onSuccess:ressource=>{ressource=ressource?.replace(/<p /g,`<div `).replace(/\/p>/g,`/div>`),setResult(ressource)}})};export{Iframe};
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useMediaLibraryContext } from "../MediaLibraryContext.js";
3
+ import Embed from "../../Embed/Embed.js";
4
+ const Iframe = () => {
5
+ const {
6
+ setResult
7
+ } = useMediaLibraryContext();
8
+ return /* @__PURE__ */ jsx(Embed, { onSuccess: (ressource) => {
9
+ ressource = ressource == null ? void 0 : ressource.replace(/<p /g, "<div ").replace(/\/p>/g, "/div>"), setResult(ressource);
10
+ } });
11
+ };
12
+ export {
13
+ Iframe
14
+ };
@@ -1 +1,35 @@
1
- import InternalLinker from"../../Linker/InternalLinker/InternalLinker.js";import{useMediaLibraryContext}from"../MediaLibraryContext.js";import Checkbox from"../../../../components/Checkbox/Checkbox.js";import useToggle from"../../../../hooks/useToggle/useToggle.js";import{useEffect,useState}from"react";import{jsx,jsxs}from"react/jsx-runtime";import{useTranslation}from"react-i18next";var InternalLink=({target,resourceId,appPrefix})=>{let{t}=useTranslation(),{setResult,setResultCounter,appCode,multiple}=useMediaLibraryContext(),[isChecked,toggleChecked]=useToggle(target===`_blank`),[resources,setRessources]=useState([]);return useEffect(()=>{setResult({target:isChecked?`_blank`:void 0,resources}),resources&&resources.length?setResultCounter(resources.length):setResultCounter(void 0)},[isChecked,resources]),jsxs(`div`,{className:`d-flex flex-column flex-fill gap-16 overflow-hidden`,children:[jsx(InternalLinker,{appCode,defaultAppCode:appPrefix,defaultResourceId:resourceId,onSelect:resources=>{setRessources(resources)},multiple}),jsx(Checkbox,{className:`align-items-center`,checked:isChecked,label:t(`bbm.linker.open.tab`),onChange:toggleChecked})]})};export{InternalLink};
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { useState, useEffect } from "react";
3
+ import { useTranslation } from "react-i18next";
4
+ import Checkbox from "../../../../components/Checkbox/Checkbox.js";
5
+ import useToggle from "../../../../hooks/useToggle/useToggle.js";
6
+ import { InternalLinker } from "../../Linker/InternalLinker/InternalLinker.js";
7
+ import { useMediaLibraryContext } from "../MediaLibraryContext.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
+ };