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

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 (903) 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 +64 -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/index.d.ts +2 -0
  198. package/dist/hooks/useBackground/useBackground.js +18 -1
  199. package/dist/hooks/useBookmark/useBookmark.js +14 -1
  200. package/dist/hooks/useBreakpoint/useBreakpoint.js +14 -1
  201. package/dist/hooks/useBrowserInfo/useBrowserInfo.js +15 -1
  202. package/dist/hooks/useCantoo/useCantoo.js +18 -1
  203. package/dist/hooks/useCheckable/useCheckable.js +28 -1
  204. package/dist/hooks/useClickOutside/useClickOutside.js +27 -1
  205. package/dist/hooks/useConf/useConf.js +13 -1
  206. package/dist/hooks/useConversation/useConversation.js +39 -1
  207. package/dist/hooks/useCookiesConsent/useCookiesConsent.js +29 -1
  208. package/dist/hooks/useDate/useDate.d.ts +14 -32
  209. package/dist/hooks/useDate/useDate.js +87 -1
  210. package/dist/hooks/useDebounce/useDebounce.js +15 -1
  211. package/dist/hooks/useDirectory/useDirectory.js +17 -1
  212. package/dist/hooks/useDropdown/useDropdown.js +170 -1
  213. package/dist/hooks/useDropzone/useDropzone.js +98 -1
  214. package/dist/hooks/useEdificeIcons/useEdificeIcons.js +101 -1
  215. package/dist/hooks/useGoogleDriveSearch/index.d.ts +1 -0
  216. package/dist/hooks/useGoogleDriveSearch/useGoogleDriveSearch.d.ts +14 -0
  217. package/dist/hooks/useGoogleDriveSearch/useGoogleDriveSearch.js +60 -0
  218. package/dist/hooks/useHasWorkflow/useHasWorkflow.js +14 -1
  219. package/dist/hooks/useHover/useHover.js +22 -1
  220. package/dist/hooks/useHttpErrorToast/useHttpErrorToast.js +36 -1
  221. package/dist/hooks/useImage/useImage.js +18 -1
  222. package/dist/hooks/useInfiniteScroll/useInfiniteScroll.js +20 -1
  223. package/dist/hooks/useIsAdmc/useIsAdmc.js +22 -1
  224. package/dist/hooks/useIsAdml/useIsAdml.js +18 -1
  225. package/dist/hooks/useIsAdmlcOrAdmc/useIsAdmlcOrAdmc.js +16 -1
  226. package/dist/hooks/useKeyPress/useKeyPress.js +14 -1
  227. package/dist/hooks/useLibraryUrl/useLibraryUrl.js +21 -1
  228. package/dist/hooks/useMediaLibrary/useMediaLibrary.js +58 -1
  229. package/dist/hooks/useNextcloudSearch/index.d.ts +1 -0
  230. package/dist/hooks/useNextcloudSearch/useNextcloudSearch.d.ts +14 -0
  231. package/dist/hooks/useNextcloudSearch/useNextcloudSearch.js +64 -0
  232. package/dist/hooks/usePreferences/usePreferences.js +10 -1
  233. package/dist/hooks/usePublicConf/usePublicConf.js +12 -1
  234. package/dist/hooks/useResource/useResource.js +25 -1
  235. package/dist/hooks/useResourceSearch/useResourceSearch.js +19 -1
  236. package/dist/hooks/useScreeb/useScreeb.js +22 -1
  237. package/dist/hooks/useScrollToTop/useScrollToTop.js +9 -1
  238. package/dist/hooks/useSession/useSession.js +11 -1
  239. package/dist/hooks/useThumbnail/useThumbnail.js +33 -1
  240. package/dist/hooks/useTitle/useTitle.js +10 -1
  241. package/dist/hooks/useToast/useToast.js +37 -1
  242. package/dist/hooks/useToggle/useToggle.js +10 -1
  243. package/dist/hooks/useTrapFocus/useTrapFocus.js +17 -1
  244. package/dist/hooks/useTrashedResource/useTrashedResource.js +27 -1
  245. package/dist/hooks/useUiOverride/useUiOverride.js +13 -1
  246. package/dist/hooks/useUpload/useUpload.js +109 -1
  247. package/dist/hooks/useUploadFiles/useUploadFiles.js +107 -1
  248. package/dist/hooks/useUser/useUser.js +22 -1
  249. package/dist/hooks/useUserPreferences/useUserPreferences.js +40 -1
  250. package/dist/hooks/useWorkspaceFile/useWorkspaceFile.js +49 -1
  251. package/dist/hooks/useWorkspaceFolders/useWorkspaceFolders.js +54 -1
  252. package/dist/hooks/useWorkspaceFolders/useWorkspaceFoldersTree.js +51 -1
  253. package/dist/hooks/useWorkspaceSearch/useWorkspaceSearch.js +50 -1
  254. package/dist/hooks/useXitiTrackPageLoad/useXitiTrackPageLoad.js +28 -1
  255. package/dist/hooks/useZendeskGuide/useZendeskGuide.d.ts +1 -1
  256. package/dist/hooks/useZendeskGuide/useZendeskGuide.js +129 -1
  257. package/dist/hooks/useZoom/useZoom.js +14 -1
  258. package/dist/icons-apps.js +268 -1
  259. package/dist/icons-audience.js +28 -1
  260. package/dist/icons-nav.js +40 -1
  261. package/dist/icons.js +406 -1
  262. package/dist/index.js +382 -1
  263. package/dist/modals.js +22 -1
  264. package/dist/modules/HelpZone/HelpZone.js +52 -1
  265. package/dist/modules/HelpZone/HelpZoneContainer.js +18 -1
  266. package/dist/modules/audience/ReactionChoice.js +33 -1
  267. package/dist/modules/audience/ReactionModal.Card.js +33 -1
  268. package/dist/modules/audience/ReactionModal.js +75 -1
  269. package/dist/modules/audience/ReactionSummary.js +27 -1
  270. package/dist/modules/audience/ViewsByProfileCard.js +40 -1
  271. package/dist/modules/audience/ViewsCounter.js +20 -1
  272. package/dist/modules/audience/ViewsModal.js +44 -1
  273. package/dist/modules/audience/hooks/useReactionIcons.js +45 -1
  274. package/dist/modules/audience/hooks/useReactions.js +35 -1
  275. package/dist/modules/comments/components/BadgeProfile.js +18 -1
  276. package/dist/modules/comments/components/Comment.js +94 -1
  277. package/dist/modules/comments/components/CommentAvatar.js +17 -1
  278. package/dist/modules/comments/components/CommentDate.js +24 -1
  279. package/dist/modules/comments/components/CommentDeleted.js +11 -1
  280. package/dist/modules/comments/components/CommentForm.js +41 -1
  281. package/dist/modules/comments/components/CommentList.js +22 -1
  282. package/dist/modules/comments/components/CommentReplies.js +33 -1
  283. package/dist/modules/comments/components/CommentTitle.js +7 -1
  284. package/dist/modules/comments/components/DeleteModal.js +25 -1
  285. package/dist/modules/comments/components/TextCounter.js +8 -1
  286. package/dist/modules/comments/constants.js +10 -0
  287. package/dist/modules/comments/context/Context.js +5 -1
  288. package/dist/modules/comments/hooks/useAutosizeTextarea.js +19 -1
  289. package/dist/modules/comments/hooks/useCommentReplies.js +36 -1
  290. package/dist/modules/comments/hooks/useComments.js +71 -1
  291. package/dist/modules/comments/hooks/useCommentsContext.js +11 -1
  292. package/dist/modules/comments/hooks/useProfileQueries.js +27 -1
  293. package/dist/modules/comments/provider/CommentProvider.js +90 -1
  294. package/dist/modules/editor/components/BubbleMenuEditImage/BubbleMenuEditImage.js +135 -1
  295. package/dist/modules/editor/components/BubbleMenuEditInformationPane/BubbleMenuEditInformationPane.js +136 -1
  296. package/dist/modules/editor/components/Editor/CantooAdaptTextBoxView.js +33 -1
  297. package/dist/modules/editor/components/Editor/Editor.js +103 -1
  298. package/dist/modules/editor/components/Editor/EditorPreview.js +56 -1
  299. package/dist/modules/editor/components/Editor/EditorPreviewSkeleton.js +24 -1
  300. package/dist/modules/editor/components/Editor/EditorSkeleton.js +31 -1
  301. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Cantoo.js +79 -1
  302. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.DropdownMenu.js +17 -1
  303. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Emoji.js +54 -1
  304. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.HighlightColor.js +47 -1
  305. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.PlusMenu.js +18 -1
  306. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextColor.js +50 -1
  307. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.TextSize.js +62 -1
  308. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.Typography.js +52 -1
  309. package/dist/modules/editor/components/EditorToolbar/EditorToolbar.js +356 -1
  310. package/dist/modules/editor/components/MathsModal/MathsModal.js +49 -2
  311. package/dist/modules/editor/components/NodeView/AttachmentNodeView.js +10 -1
  312. package/dist/modules/editor/components/NodeView/AudioNodeView.js +10 -1
  313. package/dist/modules/editor/components/NodeView/ConversationHistoryNodeView.js +10 -1
  314. package/dist/modules/editor/components/NodeView/IframeNodeView.js +10 -1
  315. package/dist/modules/editor/components/NodeView/ImageNodeView.js +12 -1
  316. package/dist/modules/editor/components/NodeView/InformationPaneNodeView.js +10 -1
  317. package/dist/modules/editor/components/NodeView/LinkerNodeView.js +10 -1
  318. package/dist/modules/editor/components/NodeView/VideoNodeView.js +10 -1
  319. package/dist/modules/editor/components/Renderer/AttachmentRenderer.js +50 -1
  320. package/dist/modules/editor/components/Renderer/AudioRenderer.js +35 -1
  321. package/dist/modules/editor/components/Renderer/ConversationHistoryRenderer.js +28 -1
  322. package/dist/modules/editor/components/Renderer/InformationPaneRenderer.js +33 -1
  323. package/dist/modules/editor/components/Renderer/LinkerRenderer.js +34 -1
  324. package/dist/modules/editor/components/Renderer/MediaRenderer.js +84 -1
  325. package/dist/modules/editor/components/Toolbar/LinkToolbar.TippyOptions.js +8 -1
  326. package/dist/modules/editor/components/Toolbar/LinkToolbar.js +61 -1
  327. package/dist/modules/editor/components/Toolbar/TableToolbar.AddMenu.js +54 -1
  328. package/dist/modules/editor/components/Toolbar/TableToolbar.CellColor.js +45 -1
  329. package/dist/modules/editor/components/Toolbar/TableToolbar.DelMenu.js +48 -1
  330. package/dist/modules/editor/components/Toolbar/TableToolbar.js +89 -1
  331. package/dist/modules/editor/hooks/useActionOptions.js +86 -1
  332. package/dist/modules/editor/hooks/useCantooEditor.js +89 -1
  333. package/dist/modules/editor/hooks/useCommentEditor.js +37 -1
  334. package/dist/modules/editor/hooks/useEditorContext.js +12 -1
  335. package/dist/modules/editor/hooks/useImageModal.js +46 -1
  336. package/dist/modules/editor/hooks/useImageSelection.js +46 -1
  337. package/dist/modules/editor/hooks/useLinkToolbar.js +37 -1
  338. package/dist/modules/editor/hooks/useMathsModal.js +17 -1
  339. package/dist/modules/editor/hooks/useMathsStyles.js +20 -1
  340. package/dist/modules/editor/hooks/useMediaLibraryEditor.js +152 -3
  341. package/dist/modules/editor/hooks/useResizeMedia.js +59 -1
  342. package/dist/modules/editor/hooks/useSpeechRecognition.js +21 -1
  343. package/dist/modules/editor/hooks/useSpeechSynthetisis.js +20 -1
  344. package/dist/modules/editor/hooks/useTipTapEditor.js +88 -1
  345. package/dist/modules/editor/utilities/has-extension.js +4 -1
  346. package/dist/modules/editor/utilities/has-mark.js +4 -1
  347. package/dist/modules/editor/utilities/has-text-style.js +5 -1
  348. package/dist/modules/homepage/components/Communities/Communities.js +36 -1
  349. package/dist/modules/homepage/components/Communities/CommunitiesContainer.js +35 -1
  350. package/dist/modules/homepage/components/Communities/CommunitiesSkeleton.js +29 -1
  351. package/dist/modules/homepage/components/Communities/CommunityItem.js +28 -1
  352. package/dist/modules/homepage/components/Communities/useCommunities.js +30 -1
  353. package/dist/modules/homepage/components/Favorites/Favorites.js +31 -1
  354. package/dist/modules/homepage/components/Favorites/FavoritesContainer.js +10 -1
  355. package/dist/modules/homepage/components/Header/Header.js +106 -1
  356. package/dist/modules/homepage/components/HomeCard/HomeCard.js +25 -1
  357. package/dist/modules/homepage/components/HomeCard/HomeCardContent.js +10 -1
  358. package/dist/modules/homepage/components/HomeCard/HomeCardHeader.js +23 -1
  359. package/dist/modules/homepage/components/LastInfos/LastInfos.js +58 -1
  360. package/dist/modules/homepage/components/LastInfos/LastInfosContainer.js +37 -1
  361. package/dist/modules/homepage/components/LastInfos/LastInfosList.js +31 -1
  362. package/dist/modules/homepage/components/LastInfos/useLastInfos.js +25 -1
  363. package/dist/modules/homepage/components/MessageFlashList/MessageFlash.js +65 -1
  364. package/dist/modules/homepage/components/MessageFlashList/MessageFlashList.js +10 -1
  365. package/dist/modules/homepage/components/MessageFlashList/MessageFlashListContainer.js +14 -1
  366. package/dist/modules/homepage/components/MessageFlashList/hooks/useMessageFlashList.js +19 -1
  367. package/dist/modules/homepage/components/MessageFlashList/services/api/index.js +5 -1
  368. package/dist/modules/homepage/components/MessageFlashList/services/api/messagesFlashService.js +21 -1
  369. package/dist/modules/homepage/components/MessageFlashList/services/queries/messagesFlash.js +31 -1
  370. package/dist/modules/homepage/components/Notifications/NotificationItem.js +17 -1
  371. package/dist/modules/homepage/components/Notifications/NotificationList.js +51 -1
  372. package/dist/modules/homepage/components/Notifications/NotificationListContainer.js +23 -1
  373. package/dist/modules/homepage/components/Notifications/NotificationListSkeleton.js +17 -1
  374. package/dist/modules/homepage/components/Notifications/NotificationSkeleton.d.ts +1 -23
  375. package/dist/modules/homepage/components/Notifications/NotificationSkeleton.js +19 -1
  376. package/dist/modules/homepage/components/Notifications/components/CommonNotificationItem.js +32 -1
  377. package/dist/modules/homepage/components/Notifications/components/NotificationFilterMenu.js +29 -1
  378. package/dist/modules/homepage/components/Notifications/components/NotificationFilterModal.js +77 -1
  379. package/dist/modules/homepage/components/Notifications/components/NotificationItemResource.js +20 -1
  380. package/dist/modules/homepage/components/Notifications/components/NotificationOptionsMenu.js +42 -1
  381. package/dist/modules/homepage/components/Notifications/components/ReportNotificationModal.js +31 -1
  382. package/dist/modules/homepage/components/Notifications/components/SystemNotificationItem.js +21 -1
  383. package/dist/modules/homepage/components/Notifications/components/UserNotificationItem.js +26 -1
  384. package/dist/modules/homepage/components/Notifications/components/notificationAdapter.js +71 -1
  385. package/dist/modules/homepage/components/Notifications/hooks/useNotificationList.js +58 -1
  386. package/dist/modules/homepage/components/Notifications/services/api/index.js +5 -1
  387. package/dist/modules/homepage/components/Notifications/services/api/notificationService.js +33 -1
  388. package/dist/modules/homepage/components/Notifications/services/queries/notification.js +84 -1
  389. package/dist/modules/homepage/components/SchoolSpace/SchoolSpace.js +38 -1
  390. package/dist/modules/homepage/components/SchoolSpace/SchoolSpaceContainer.js +13 -1
  391. package/dist/modules/homepage/components/SchoolSpace/useUserSchools.js +39 -1
  392. package/dist/modules/homepage/components/UsefulLinks/LinkForm.js +67 -1
  393. package/dist/modules/homepage/components/UsefulLinks/UsefulLinks.js +31 -1
  394. package/dist/modules/homepage/components/UsefulLinks/UsefulLinksContainer.js +40 -1
  395. package/dist/modules/homepage/components/UsefulLinks/UsefulLinksModal.js +65 -1
  396. package/dist/modules/homepage/components/UsefulLinks/hooks/useUsefulLinksContainer.js +26 -1
  397. package/dist/modules/homepage/components/UsefulLinks/services/api/index.js +5 -1
  398. package/dist/modules/homepage/components/UsefulLinks/services/api/usefulLinksService.js +50 -1
  399. package/dist/modules/homepage/components/UsefulLinks/services/queries/usefulLinks.js +65 -1
  400. package/dist/modules/homepage/components/UserSpace/UserSpace.js +31 -1
  401. package/dist/modules/homepage/components/UserSpace/UserSpaceContainer.js +19 -1
  402. package/dist/modules/homepage/components/UserSpace/hooks/useChildren.js +23 -1
  403. package/dist/modules/homepage/components/UserSpace/hooks/useProfileLinks.js +75 -1
  404. package/dist/modules/homepage/hooks/useWidget.js +83 -1
  405. package/dist/modules/homepage/hooks/useWidgetPreferences.js +34 -1
  406. package/dist/modules/icons/components/IconAdd.js +12 -1
  407. package/dist/modules/icons/components/IconAddUser.js +12 -1
  408. package/dist/modules/icons/components/IconAdjustSettings.js +12 -1
  409. package/dist/modules/icons/components/IconAiFill.js +12 -1
  410. package/dist/modules/icons/components/IconAlertCircle.js +13 -1
  411. package/dist/modules/icons/components/IconAlertTriangle.js +13 -1
  412. package/dist/modules/icons/components/IconAlignCenter.js +12 -1
  413. package/dist/modules/icons/components/IconAlignJustify.js +12 -1
  414. package/dist/modules/icons/components/IconAlignLeft.js +12 -1
  415. package/dist/modules/icons/components/IconAlignRight.js +12 -1
  416. package/dist/modules/icons/components/IconAnswer.js +13 -1
  417. package/dist/modules/icons/components/IconApplications.js +12 -1
  418. package/dist/modules/icons/components/IconArrowDown.js +13 -1
  419. package/dist/modules/icons/components/IconArrowLeft.js +13 -1
  420. package/dist/modules/icons/components/IconArrowRight.js +13 -1
  421. package/dist/modules/icons/components/IconArrowUp.js +13 -1
  422. package/dist/modules/icons/components/IconBlock.js +12 -1
  423. package/dist/modules/icons/components/IconBlur.js +13 -1
  424. package/dist/modules/icons/components/IconBookmark.js +12 -1
  425. package/dist/modules/icons/components/IconBulle.js +16 -1
  426. package/dist/modules/icons/components/IconBulleError.js +13 -1
  427. package/dist/modules/icons/components/IconBulleSuccess.js +13 -1
  428. package/dist/modules/icons/components/IconBulletList.js +16 -1
  429. package/dist/modules/icons/components/IconBurgerMenu.js +12 -1
  430. package/dist/modules/icons/components/IconCalendar.js +12 -1
  431. package/dist/modules/icons/components/IconCalendarEdit.js +12 -1
  432. package/dist/modules/icons/components/IconCalendarLight.js +12 -1
  433. package/dist/modules/icons/components/IconCamera.js +13 -1
  434. package/dist/modules/icons/components/IconCantoo.js +23 -1
  435. package/dist/modules/icons/components/IconCenter.js +12 -1
  436. package/dist/modules/icons/components/IconCheck.js +12 -1
  437. package/dist/modules/icons/components/IconChecklist.js +13 -1
  438. package/dist/modules/icons/components/IconClass.js +13 -1
  439. package/dist/modules/icons/components/IconClock.js +12 -1
  440. package/dist/modules/icons/components/IconClockAlert.js +17 -1
  441. package/dist/modules/icons/components/IconClose.js +13 -1
  442. package/dist/modules/icons/components/IconCloseFullScreen.js +12 -1
  443. package/dist/modules/icons/components/IconCode.js +12 -1
  444. package/dist/modules/icons/components/IconCollect.js +12 -1
  445. package/dist/modules/icons/components/IconCopy.js +12 -1
  446. package/dist/modules/icons/components/IconCrop.js +13 -1
  447. package/dist/modules/icons/components/IconCut.js +13 -1
  448. package/dist/modules/icons/components/IconDelete.js +12 -1
  449. package/dist/modules/icons/components/IconDeleteColor.js +13 -1
  450. package/dist/modules/icons/components/IconDeleteColumn.js +12 -1
  451. package/dist/modules/icons/components/IconDeleteColumnHighlight.js +12 -1
  452. package/dist/modules/icons/components/IconDeleteRow.js +12 -1
  453. package/dist/modules/icons/components/IconDeleteRowHighlight.js +12 -1
  454. package/dist/modules/icons/components/IconDepositeInbox.js +13 -1
  455. package/dist/modules/icons/components/IconDownload.js +17 -1
  456. package/dist/modules/icons/components/IconEdit.js +13 -1
  457. package/dist/modules/icons/components/IconError.js +12 -1
  458. package/dist/modules/icons/components/IconExercizerAi.js +14 -1
  459. package/dist/modules/icons/components/IconExternalLink.js +13 -1
  460. package/dist/modules/icons/components/IconFiles.js +12 -1
  461. package/dist/modules/icons/components/IconFilter.js +12 -1
  462. package/dist/modules/icons/components/IconFlag.js +12 -1
  463. package/dist/modules/icons/components/IconFolder.js +12 -1
  464. package/dist/modules/icons/components/IconFolderAdd.js +13 -1
  465. package/dist/modules/icons/components/IconFolderDelete.js +12 -1
  466. package/dist/modules/icons/components/IconFolderMove.js +17 -1
  467. package/dist/modules/icons/components/IconForgoing.js +12 -1
  468. package/dist/modules/icons/components/IconFullScreen.js +12 -1
  469. package/dist/modules/icons/components/IconGlobe.js +12 -1
  470. package/dist/modules/icons/components/IconGlobe2.js +16 -1
  471. package/dist/modules/icons/components/IconGroupAvatar.js +12 -1
  472. package/dist/modules/icons/components/IconHandMove.js +12 -1
  473. package/dist/modules/icons/components/IconHeadphone.js +12 -1
  474. package/dist/modules/icons/components/IconHide.js +13 -1
  475. package/dist/modules/icons/components/IconHighlightColumn.js +12 -1
  476. package/dist/modules/icons/components/IconHighlightRow.js +12 -1
  477. package/dist/modules/icons/components/IconHome.js +12 -1
  478. package/dist/modules/icons/components/IconHourglass.js +12 -1
  479. package/dist/modules/icons/components/IconImageSizeLarge.js +12 -1
  480. package/dist/modules/icons/components/IconImageSizeMedium.js +12 -1
  481. package/dist/modules/icons/components/IconImageSizeSmall.js +12 -1
  482. package/dist/modules/icons/components/IconInbox.js +12 -1
  483. package/dist/modules/icons/components/IconInfoCircle.js +13 -1
  484. package/dist/modules/icons/components/IconInfoRectangle.js +13 -1
  485. package/dist/modules/icons/components/IconLabel.js +12 -1
  486. package/dist/modules/icons/components/IconLandscape.js +12 -1
  487. package/dist/modules/icons/components/IconLibrary.js +12 -1
  488. package/dist/modules/icons/components/IconLink.js +16 -1
  489. package/dist/modules/icons/components/IconListOrder.js +12 -1
  490. package/dist/modules/icons/components/IconLoader.js +12 -1
  491. package/dist/modules/icons/components/IconLock.js +12 -1
  492. package/dist/modules/icons/components/IconLsuArt.js +13 -1
  493. package/dist/modules/icons/components/IconLsuCompetenceNumerique.js +12 -1
  494. package/dist/modules/icons/components/IconLsuEmc.js +13 -1
  495. package/dist/modules/icons/components/IconLsuFrancais.js +13 -1
  496. package/dist/modules/icons/components/IconLsuHistoireGeo.js +12 -1
  497. package/dist/modules/icons/components/IconLsuLangue.js +16 -1
  498. package/dist/modules/icons/components/IconLsuLangue2.js +13 -1
  499. package/dist/modules/icons/components/IconLsuMath.js +16 -1
  500. package/dist/modules/icons/components/IconLsuParcoursEducatif.js +12 -1
  501. package/dist/modules/icons/components/IconLsuSport.js +12 -1
  502. package/dist/modules/icons/components/IconLsuSvt.js +12 -1
  503. package/dist/modules/icons/components/IconMail.js +13 -1
  504. package/dist/modules/icons/components/IconMailRecall.js +13 -1
  505. package/dist/modules/icons/components/IconMegaphone.js +12 -1
  506. package/dist/modules/icons/components/IconMergeCells.js +13 -1
  507. package/dist/modules/icons/components/IconMessageInfo.js +13 -1
  508. package/dist/modules/icons/components/IconMic.js +12 -1
  509. package/dist/modules/icons/components/IconMicOff.js +12 -1
  510. package/dist/modules/icons/components/IconMinus.js +12 -1
  511. package/dist/modules/icons/components/IconMove.js +14 -1
  512. package/dist/modules/icons/components/IconNoColors.js +12 -1
  513. package/dist/modules/icons/components/IconNotes.js +13 -1
  514. package/dist/modules/icons/components/IconNotification.js +12 -1
  515. package/dist/modules/icons/components/IconOptions.js +14 -1
  516. package/dist/modules/icons/components/IconOrderedList.js +16 -1
  517. package/dist/modules/icons/components/IconPaperclip.js +12 -1
  518. package/dist/modules/icons/components/IconParcoursCitoyen.js +14 -1
  519. package/dist/modules/icons/components/IconParcoursSecours.js +14 -1
  520. package/dist/modules/icons/components/IconPause.js +12 -1
  521. package/dist/modules/icons/components/IconPinOff.js +12 -1
  522. package/dist/modules/icons/components/IconPinOn.js +12 -1
  523. package/dist/modules/icons/components/IconPlaceholder.js +16 -1
  524. package/dist/modules/icons/components/IconPlay.js +12 -1
  525. package/dist/modules/icons/components/IconPlayFilled.js +12 -1
  526. package/dist/modules/icons/components/IconPlus.js +12 -1
  527. package/dist/modules/icons/components/IconPointerDefault.js +12 -1
  528. package/dist/modules/icons/components/IconPointerHand.js +12 -1
  529. package/dist/modules/icons/components/IconPrint.js +12 -1
  530. package/dist/modules/icons/components/IconQuestion.js +14 -1
  531. package/dist/modules/icons/components/IconQuestionMark.js +13 -1
  532. package/dist/modules/icons/components/IconRafterDown.js +12 -1
  533. package/dist/modules/icons/components/IconRafterLeft.js +12 -1
  534. package/dist/modules/icons/components/IconRafterRight.js +12 -1
  535. package/dist/modules/icons/components/IconRafterUp.js +12 -1
  536. package/dist/modules/icons/components/IconReaction.js +12 -1
  537. package/dist/modules/icons/components/IconReadMail.js +16 -1
  538. package/dist/modules/icons/components/IconRecord.js +12 -1
  539. package/dist/modules/icons/components/IconRecordPause.js +12 -1
  540. package/dist/modules/icons/components/IconRecordStop.js +12 -1
  541. package/dist/modules/icons/components/IconRecordVideo.js +12 -1
  542. package/dist/modules/icons/components/IconRedo.js +13 -1
  543. package/dist/modules/icons/components/IconRefresh.js +13 -1
  544. package/dist/modules/icons/components/IconReset.js +12 -1
  545. package/dist/modules/icons/components/IconRestart.js +12 -1
  546. package/dist/modules/icons/components/IconRestore.js +12 -1
  547. package/dist/modules/icons/components/IconSave.js +12 -1
  548. package/dist/modules/icons/components/IconSearch.js +12 -1
  549. package/dist/modules/icons/components/IconSee.js +13 -1
  550. package/dist/modules/icons/components/IconSend.js +12 -1
  551. package/dist/modules/icons/components/IconSetBackground.js +17 -1
  552. package/dist/modules/icons/components/IconSettings.js +16 -1
  553. package/dist/modules/icons/components/IconShare.js +12 -1
  554. package/dist/modules/icons/components/IconSignature.js +13 -1
  555. package/dist/modules/icons/components/IconSmartphone.js +13 -1
  556. package/dist/modules/icons/components/IconSmiley.js +13 -1
  557. package/dist/modules/icons/components/IconSortAscendingLetters.js +13 -1
  558. package/dist/modules/icons/components/IconSortDescending.js +13 -1
  559. package/dist/modules/icons/components/IconSortDescendingLetters.js +13 -1
  560. package/dist/modules/icons/components/IconSortTime.js +14 -1
  561. package/dist/modules/icons/components/IconSpeechToText.js +12 -1
  562. package/dist/modules/icons/components/IconSplitCells.js +13 -1
  563. package/dist/modules/icons/components/IconSquareRoot.js +12 -1
  564. package/dist/modules/icons/components/IconStar.js +13 -1
  565. package/dist/modules/icons/components/IconStarFull.js +13 -1
  566. package/dist/modules/icons/components/IconSubmission.js +12 -1
  567. package/dist/modules/icons/components/IconSubmitToValidate.js +12 -1
  568. package/dist/modules/icons/components/IconSubscript.js +12 -1
  569. package/dist/modules/icons/components/IconSuccessFill.js +12 -1
  570. package/dist/modules/icons/components/IconSuccessOutline.js +13 -1
  571. package/dist/modules/icons/components/IconSuperscript.js +12 -1
  572. package/dist/modules/icons/components/IconTable.js +12 -1
  573. package/dist/modules/icons/components/IconTeacher.js +12 -1
  574. package/dist/modules/icons/components/IconTextBold.js +12 -1
  575. package/dist/modules/icons/components/IconTextColor.js +16 -1
  576. package/dist/modules/icons/components/IconTextHighlight.js +16 -1
  577. package/dist/modules/icons/components/IconTextItalic.js +12 -1
  578. package/dist/modules/icons/components/IconTextPage.js +12 -1
  579. package/dist/modules/icons/components/IconTextSize.js +12 -1
  580. package/dist/modules/icons/components/IconTextToSpeech.js +12 -1
  581. package/dist/modules/icons/components/IconTextToSpeechOff.js +12 -1
  582. package/dist/modules/icons/components/IconTextTypo.js +12 -1
  583. package/dist/modules/icons/components/IconTextUnderline.js +13 -1
  584. package/dist/modules/icons/components/IconTextVanilla.js +13 -1
  585. package/dist/modules/icons/components/IconThumbDown.js +12 -1
  586. package/dist/modules/icons/components/IconThumbUp.js +12 -1
  587. package/dist/modules/icons/components/IconTool.js +12 -1
  588. package/dist/modules/icons/components/IconToolCenter.js +12 -1
  589. package/dist/modules/icons/components/IconTrendingUp.js +16 -1
  590. package/dist/modules/icons/components/IconUndo.js +13 -1
  591. package/dist/modules/icons/components/IconUndoAll.js +14 -1
  592. package/dist/modules/icons/components/IconUndoSlashed.js +12 -1
  593. package/dist/modules/icons/components/IconUnion.js +15 -1
  594. package/dist/modules/icons/components/IconUnlink.js +13 -1
  595. package/dist/modules/icons/components/IconUnlock.js +13 -1
  596. package/dist/modules/icons/components/IconUnreadMail.js +16 -1
  597. package/dist/modules/icons/components/IconUpload.js +18 -1
  598. package/dist/modules/icons/components/IconUser.js +12 -1
  599. package/dist/modules/icons/components/IconUserSearch.js +13 -1
  600. package/dist/modules/icons/components/IconUsers.js +13 -1
  601. package/dist/modules/icons/components/IconVideo.js +12 -1
  602. package/dist/modules/icons/components/IconViewCalendar.js +12 -1
  603. package/dist/modules/icons/components/IconViewList.js +15 -1
  604. package/dist/modules/icons/components/IconWand.js +12 -1
  605. package/dist/modules/icons/components/IconWrite.js +12 -1
  606. package/dist/modules/icons/components/IconZoomIn.js +12 -1
  607. package/dist/modules/icons/components/IconZoomOut.js +12 -1
  608. package/dist/modules/icons/components/apps/IconAccount.js +12 -1
  609. package/dist/modules/icons/components/apps/IconActualites.js +12 -1
  610. package/dist/modules/icons/components/apps/IconAdmin.js +12 -1
  611. package/dist/modules/icons/components/apps/IconAdminPortal.js +12 -1
  612. package/dist/modules/icons/components/apps/IconAdmissionPostBac.js +12 -1
  613. package/dist/modules/icons/components/apps/IconAgenda.js +13 -1
  614. package/dist/modules/icons/components/apps/IconAppointments.js +12 -1
  615. package/dist/modules/icons/components/apps/IconArchive.js +12 -1
  616. package/dist/modules/icons/components/apps/IconAssistance.js +12 -1
  617. package/dist/modules/icons/components/apps/IconAssistancetic.js +14 -1
  618. package/dist/modules/icons/components/apps/IconAssr.js +12 -1
  619. package/dist/modules/icons/components/apps/IconAward.js +12 -1
  620. package/dist/modules/icons/components/apps/IconBanquesavoir.js +12 -1
  621. package/dist/modules/icons/components/apps/IconBcdi.js +12 -1
  622. package/dist/modules/icons/components/apps/IconBiblionisep.js +12 -1
  623. package/dist/modules/icons/components/apps/IconBlog.js +12 -1
  624. package/dist/modules/icons/components/apps/IconBookmarkEmpty.js +12 -1
  625. package/dist/modules/icons/components/apps/IconCahierDeTexte.js +12 -1
  626. package/dist/modules/icons/components/apps/IconCahierTextes.js +12 -1
  627. package/dist/modules/icons/components/apps/IconCalendar.js +13 -1
  628. package/dist/modules/icons/components/apps/IconCanalNumerique.js +12 -1
  629. package/dist/modules/icons/components/apps/IconCcn.js +12 -1
  630. package/dist/modules/icons/components/apps/IconCerise.js +12 -1
  631. package/dist/modules/icons/components/apps/IconCervoprint.js +12 -1
  632. package/dist/modules/icons/components/apps/IconCharlemagne.js +12 -1
  633. package/dist/modules/icons/components/apps/IconCharte.js +12 -1
  634. package/dist/modules/icons/components/apps/IconChat.js +12 -1
  635. package/dist/modules/icons/components/apps/IconCidj.js +12 -1
  636. package/dist/modules/icons/components/apps/IconCns.js +12 -1
  637. package/dist/modules/icons/components/apps/IconCollaborativeWall.js +12 -1
  638. package/dist/modules/icons/components/apps/IconCommunities.js +12 -1
  639. package/dist/modules/icons/components/apps/IconCommunity.js +12 -1
  640. package/dist/modules/icons/components/apps/IconCompetences.js +12 -1
  641. package/dist/modules/icons/components/apps/IconConnecteurGenerique1.js +12 -1
  642. package/dist/modules/icons/components/apps/IconConnecteurGenerique2.js +12 -1
  643. package/dist/modules/icons/components/apps/IconConversation.js +12 -1
  644. package/dist/modules/icons/components/apps/IconDirectory.js +12 -1
  645. package/dist/modules/icons/components/apps/IconEdt.js +12 -1
  646. package/dist/modules/icons/components/apps/IconEducagri.js +12 -1
  647. package/dist/modules/icons/components/apps/IconEdumedia.js +12 -1
  648. package/dist/modules/icons/components/apps/IconEdumoov.js +12 -1
  649. package/dist/modules/icons/components/apps/IconEdutheque.js +12 -1
  650. package/dist/modules/icons/components/apps/IconElectron.js +12 -1
  651. package/dist/modules/icons/components/apps/IconElyceepicardie.js +12 -1
  652. package/dist/modules/icons/components/apps/IconEsidoc.js +12 -1
  653. package/dist/modules/icons/components/apps/IconEuropress.js +12 -1
  654. package/dist/modules/icons/components/apps/IconExercizer.js +12 -1
  655. package/dist/modules/icons/components/apps/IconForms.js +12 -1
  656. package/dist/modules/icons/components/apps/IconForum.js +12 -1
  657. package/dist/modules/icons/components/apps/IconGeogebra.js +12 -1
  658. package/dist/modules/icons/components/apps/IconGepi.js +12 -1
  659. package/dist/modules/icons/components/apps/IconGlpi.js +12 -1
  660. package/dist/modules/icons/components/apps/IconHiboutheque.js +12 -1
  661. package/dist/modules/icons/components/apps/IconItopstore.js +12 -1
  662. package/dist/modules/icons/components/apps/IconKne.js +12 -1
  663. package/dist/modules/icons/components/apps/IconLeSiteTv.js +12 -1
  664. package/dist/modules/icons/components/apps/IconLemonde.js +12 -1
  665. package/dist/modules/icons/components/apps/IconLesechos.js +12 -1
  666. package/dist/modules/icons/components/apps/IconLibrary.js +12 -1
  667. package/dist/modules/icons/components/apps/IconLivretScolaire.js +13 -1
  668. package/dist/modules/icons/components/apps/IconLool.js +15 -1
  669. package/dist/modules/icons/components/apps/IconLsu.js +12 -1
  670. package/dist/modules/icons/components/apps/IconMadmagz.js +12 -1
  671. package/dist/modules/icons/components/apps/IconMagneto.js +13 -1
  672. package/dist/modules/icons/components/apps/IconMatholycee.js +12 -1
  673. package/dist/modules/icons/components/apps/IconMaxicours.js +12 -1
  674. package/dist/modules/icons/components/apps/IconMediacentre.js +12 -1
  675. package/dist/modules/icons/components/apps/IconMindmap.js +12 -1
  676. package/dist/modules/icons/components/apps/IconMinetest.js +12 -1
  677. package/dist/modules/icons/components/apps/IconMinibadge.js +12 -1
  678. package/dist/modules/icons/components/apps/IconMonorientationenligne.js +12 -1
  679. package/dist/modules/icons/components/apps/IconMonstageenligne.js +12 -1
  680. package/dist/modules/icons/components/apps/IconMoodle.js +12 -1
  681. package/dist/modules/icons/components/apps/IconMuseefrancaisphoto.js +12 -1
  682. package/dist/modules/icons/components/apps/IconMyNetwork.js +12 -1
  683. package/dist/modules/icons/components/apps/IconNabook.js +16 -1
  684. package/dist/modules/icons/components/apps/IconNetvibes.js +12 -1
  685. package/dist/modules/icons/components/apps/IconNextcloudDeck.js +12 -1
  686. package/dist/modules/icons/components/apps/IconNextcloudFiles.js +12 -1
  687. package/dist/modules/icons/components/apps/IconNextcloudForms.js +12 -1
  688. package/dist/modules/icons/components/apps/IconNextcloudNotes.js +12 -1
  689. package/dist/modules/icons/components/apps/IconNextcloudTalk.js +12 -1
  690. package/dist/modules/icons/components/apps/IconNote.js +12 -1
  691. package/dist/modules/icons/components/apps/IconNotebook.js +12 -1
  692. package/dist/modules/icons/components/apps/IconNotes.js +12 -1
  693. package/dist/modules/icons/components/apps/IconOnisep.js +12 -1
  694. package/dist/modules/icons/components/apps/IconOnisep2.js +12 -1
  695. package/dist/modules/icons/components/apps/IconPad.js +12 -1
  696. package/dist/modules/icons/components/apps/IconPages.js +12 -1
  697. package/dist/modules/icons/components/apps/IconParametrage.js +12 -1
  698. package/dist/modules/icons/components/apps/IconParametrages.js +12 -1
  699. package/dist/modules/icons/components/apps/IconParaschool.js +12 -1
  700. package/dist/modules/icons/components/apps/IconParcours.js +12 -1
  701. package/dist/modules/icons/components/apps/IconPearltrees.js +12 -1
  702. package/dist/modules/icons/components/apps/IconPeertube.js +21 -1
  703. package/dist/modules/icons/components/apps/IconPicardieCursus.js +12 -1
  704. package/dist/modules/icons/components/apps/IconPlaceholder.js +16 -1
  705. package/dist/modules/icons/components/apps/IconPoll.js +12 -1
  706. package/dist/modules/icons/components/apps/IconPresences.js +12 -1
  707. package/dist/modules/icons/components/apps/IconProeps.js +12 -1
  708. package/dist/modules/icons/components/apps/IconPronote.js +12 -1
  709. package/dist/modules/icons/components/apps/IconPublic.js +12 -1
  710. package/dist/modules/icons/components/apps/IconQwant.js +12 -1
  711. package/dist/modules/icons/components/apps/IconQwantJunior.js +12 -1
  712. package/dist/modules/icons/components/apps/IconRack.js +12 -1
  713. package/dist/modules/icons/components/apps/IconRbs.js +12 -1
  714. package/dist/modules/icons/components/apps/IconResidenceArtiste.js +12 -1
  715. package/dist/modules/icons/components/apps/IconRessourcesdepartementale91.js +12 -1
  716. package/dist/modules/icons/components/apps/IconSacoche.js +12 -1
  717. package/dist/modules/icons/components/apps/IconSchoolbook.js +12 -1
  718. package/dist/modules/icons/components/apps/IconScolinfo.js +12 -1
  719. package/dist/modules/icons/components/apps/IconScrapbook.js +12 -1
  720. package/dist/modules/icons/components/apps/IconSearchengine.js +12 -1
  721. package/dist/modules/icons/components/apps/IconSettingsClass.js +12 -1
  722. package/dist/modules/icons/components/apps/IconSharebigfiles.js +12 -1
  723. package/dist/modules/icons/components/apps/IconStatistics.js +12 -1
  724. package/dist/modules/icons/components/apps/IconStats.js +12 -1
  725. package/dist/modules/icons/components/apps/IconSuitcase.js +12 -1
  726. package/dist/modules/icons/components/apps/IconSupport.js +12 -1
  727. package/dist/modules/icons/components/apps/IconTimeline.js +12 -1
  728. package/dist/modules/icons/components/apps/IconTimelinegenerator.js +12 -1
  729. package/dist/modules/icons/components/apps/IconTurboself.js +12 -1
  730. package/dist/modules/icons/components/apps/IconUniversalis.js +12 -1
  731. package/dist/modules/icons/components/apps/IconUnstagepourtous.js +12 -1
  732. package/dist/modules/icons/components/apps/IconUserbook.js +12 -1
  733. package/dist/modules/icons/components/apps/IconVideo.js +12 -1
  734. package/dist/modules/icons/components/apps/IconVieScolaire.js +12 -1
  735. package/dist/modules/icons/components/apps/IconVisioconf.js +12 -1
  736. package/dist/modules/icons/components/apps/IconVotil.js +14 -1
  737. package/dist/modules/icons/components/apps/IconWebclasseur.js +12 -1
  738. package/dist/modules/icons/components/apps/IconWebsite.js +12 -1
  739. package/dist/modules/icons/components/apps/IconWiki.js +13 -1
  740. package/dist/modules/icons/components/apps/IconWorkspace.js +12 -1
  741. package/dist/modules/icons/components/audience/IconCongrats.js +22 -1
  742. package/dist/modules/icons/components/audience/IconCongratsCounter.js +21 -1
  743. package/dist/modules/icons/components/audience/IconGreat.js +16 -1
  744. package/dist/modules/icons/components/audience/IconGreatCounter.js +14 -1
  745. package/dist/modules/icons/components/audience/IconGuest.js +12 -1
  746. package/dist/modules/icons/components/audience/IconInteresting.js +15 -1
  747. package/dist/modules/icons/components/audience/IconInterestingCounter.js +17 -1
  748. package/dist/modules/icons/components/audience/IconParent.js +12 -1
  749. package/dist/modules/icons/components/audience/IconPersonnel.js +12 -1
  750. package/dist/modules/icons/components/audience/IconStudent.js +20 -1
  751. package/dist/modules/icons/components/audience/IconTeacher.js +12 -1
  752. package/dist/modules/icons/components/audience/IconThanks.js +18 -1
  753. package/dist/modules/icons/components/audience/IconThanksCounter.js +16 -1
  754. package/dist/modules/icons/components/logo/IconLogoEdificeFull.js +26 -1
  755. package/dist/modules/icons/components/logo/IconLogoEdificeSmall.js +17 -1
  756. package/dist/modules/icons/components/nav/IconCommunities.js +12 -1
  757. package/dist/modules/icons/components/nav/IconCommunitiesBeta.js +18 -1
  758. package/dist/modules/icons/components/nav/IconCommunity.js +12 -1
  759. package/dist/modules/icons/components/nav/IconDisconnect.js +12 -1
  760. package/dist/modules/icons/components/nav/IconHome.js +12 -1
  761. package/dist/modules/icons/components/nav/IconHomeBeta.js +13 -1
  762. package/dist/modules/icons/components/nav/IconMessagesBeta.js +18 -1
  763. package/dist/modules/icons/components/nav/IconMyApps.js +12 -1
  764. package/dist/modules/icons/components/nav/IconMyAppsBeta.js +13 -1
  765. package/dist/modules/icons/components/nav/IconNeoAssistance.js +12 -1
  766. package/dist/modules/icons/components/nav/IconNeoMessaging.js +12 -1
  767. package/dist/modules/icons/components/nav/IconNewRelease.js +12 -1
  768. package/dist/modules/icons/components/nav/IconNotificationBeta.js +14 -1
  769. package/dist/modules/icons/components/nav/IconOneAssistance.js +12 -1
  770. package/dist/modules/icons/components/nav/IconOneMessaging.js +12 -1
  771. package/dist/modules/icons/components/nav/IconOneProfile.js +13 -1
  772. package/dist/modules/icons/components/nav/IconProfile.js +12 -1
  773. package/dist/modules/icons/components/nav/IconSearch.js +12 -1
  774. package/dist/modules/icons/components/nav/IconUserbook.js +12 -1
  775. package/dist/modules/modals/ConfirmModal/ConfirmModal.js +37 -1
  776. package/dist/modules/modals/OnboardingModal/OnboardingModal.js +77 -1
  777. package/dist/modules/modals/OnboardingModal/useOnboardingModal.js +38 -1
  778. package/dist/modules/modals/PublishModal/PublishModal.js +120 -1
  779. package/dist/modules/modals/PublishModal/components/ActivitiesDropdown.js +29 -1
  780. package/dist/modules/modals/PublishModal/components/AgeSelect.js +20 -1
  781. package/dist/modules/modals/PublishModal/components/LangSelect.js +19 -1
  782. package/dist/modules/modals/PublishModal/components/PublishModalFooter.js +23 -1
  783. package/dist/modules/modals/PublishModal/components/SubjectsDropdown.js +29 -1
  784. package/dist/modules/modals/PublishModal/components/ToastError.js +24 -1
  785. package/dist/modules/modals/PublishModal/components/ToastSuccess.js +18 -1
  786. package/dist/modules/modals/PublishModal/constants/ageOptions.js +4 -1
  787. package/dist/modules/modals/PublishModal/hooks/useActivitiesOptions.js +34 -1
  788. package/dist/modules/modals/PublishModal/hooks/useLanguageOptions.js +43 -1
  789. package/dist/modules/modals/PublishModal/hooks/usePublishModal.js +106 -1
  790. package/dist/modules/modals/PublishModal/hooks/useSubjectsOptions.js +118 -1
  791. package/dist/modules/modals/ResourceModal/ResourceModal.js +164 -1
  792. package/dist/modules/modals/ResourceModal/apps/BlogPublic.js +62 -1
  793. package/dist/modules/modals/ResourceModal/hooks/useSlug.js +41 -1
  794. package/dist/modules/modals/ResourceModal/hooks/useThumb.js +17 -1
  795. package/dist/modules/modals/ResourceModal/hooks/useUpdateMutation.js +12 -1
  796. package/dist/modules/modals/ShareModal/ShareBookmark.js +25 -1
  797. package/dist/modules/modals/ShareModal/ShareBookmarkLine.js +55 -1
  798. package/dist/modules/modals/ShareModal/ShareModal.js +40 -1
  799. package/dist/modules/modals/ShareModal/ShareResources.js +149 -1
  800. package/dist/modules/modals/ShareModal/apps/ShareBlog.js +43 -1
  801. package/dist/modules/modals/ShareModal/hooks/useSearch.js +174 -1
  802. package/dist/modules/modals/ShareModal/hooks/useShare.js +199 -1
  803. package/dist/modules/modals/ShareModal/hooks/useShareBookmark.js +68 -1
  804. package/dist/modules/modals/ShareModal/hooks/useShareMutation.js +15 -1
  805. package/dist/modules/modals/ShareModal/hooks/useShareRightDisabled.js +11 -1
  806. package/dist/modules/modals/ShareModal/hooks/useShareRightVisible.js +11 -1
  807. package/dist/modules/modals/ShareModal/utils/hasRight.js +4 -1
  808. package/dist/modules/modals/ShareModal/utils/showShareRightLine.js +4 -1
  809. package/dist/modules/multimedia/AudioRecorder/AudioRecorder.js +53 -1
  810. package/dist/modules/multimedia/AudioRecorder/AudioRecorderTimer.js +26 -1
  811. package/dist/modules/multimedia/AudioRecorder/useAudioRecorder.js +314 -1
  812. package/dist/modules/multimedia/Embed/Embed.js +32 -1
  813. package/dist/modules/multimedia/FileCard/FileCard.js +104 -1
  814. package/dist/modules/multimedia/FileCard/FileIcon.js +15 -1
  815. package/dist/modules/multimedia/FileCard/GoogleDriveFileCard.d.ts +25 -0
  816. package/dist/modules/multimedia/FileCard/GoogleDriveFileCard.js +102 -0
  817. package/dist/modules/multimedia/FileCard/NextcloudFileCard.d.ts +25 -0
  818. package/dist/modules/multimedia/FileCard/NextcloudFileCard.js +102 -0
  819. package/dist/modules/multimedia/FileCard/index.d.ts +4 -0
  820. package/dist/modules/multimedia/GoogleDrive/GoogleDrive.d.ts +24 -0
  821. package/dist/modules/multimedia/GoogleDrive/GoogleDrive.js +100 -0
  822. package/dist/modules/multimedia/GoogleDrive/index.d.ts +2 -0
  823. package/dist/modules/multimedia/ImageEditor/components/ImageEditor.js +130 -1
  824. package/dist/modules/multimedia/ImageEditor/components/ImageEditorToolbar.js +72 -1
  825. package/dist/modules/multimedia/ImageEditor/effects/blur.js +80 -1
  826. package/dist/modules/multimedia/ImageEditor/effects/constants.js +4 -1
  827. package/dist/modules/multimedia/ImageEditor/effects/crop.js +171 -1
  828. package/dist/modules/multimedia/ImageEditor/effects/misc.js +177 -1
  829. package/dist/modules/multimedia/ImageEditor/effects/resize.js +166 -1
  830. package/dist/modules/multimedia/ImageEditor/effects/rotate.js +32 -1
  831. package/dist/modules/multimedia/ImageEditor/hooks/useHistoryTool.js +65 -1
  832. package/dist/modules/multimedia/ImageEditor/hooks/useImageEditor.js +82 -1
  833. package/dist/modules/multimedia/ImageEditor/hooks/useImageEffects.js +55 -1
  834. package/dist/modules/multimedia/ImageEditor/utilities/aggregate.js +13 -1
  835. package/dist/modules/multimedia/ImagePicker/ImagePicker.js +40 -1
  836. package/dist/modules/multimedia/Linker/ExternalLinker/ExternalLinker.js +45 -1
  837. package/dist/modules/multimedia/Linker/InternalLinker/InternalLinker.d.ts +7 -1
  838. package/dist/modules/multimedia/Linker/InternalLinker/InternalLinker.js +153 -1
  839. package/dist/modules/multimedia/LinkerCard/LinkerCard.js +34 -1
  840. package/dist/modules/multimedia/MediaLibrary/MediaLibrary.d.ts +2 -2
  841. package/dist/modules/multimedia/MediaLibrary/MediaLibrary.js +262 -1
  842. package/dist/modules/multimedia/MediaLibrary/MediaLibraryContext.js +12 -1
  843. package/dist/modules/multimedia/MediaLibrary/innertabs/Audio.js +19 -1
  844. package/dist/modules/multimedia/MediaLibrary/innertabs/ExternalLink.js +17 -1
  845. package/dist/modules/multimedia/MediaLibrary/innertabs/GoogleDrive.d.ts +1 -0
  846. package/dist/modules/multimedia/MediaLibrary/innertabs/GoogleDrive.js +61 -0
  847. package/dist/modules/multimedia/MediaLibrary/innertabs/Iframe.js +14 -1
  848. package/dist/modules/multimedia/MediaLibrary/innertabs/InternalLink.js +35 -1
  849. package/dist/modules/multimedia/MediaLibrary/innertabs/Nextcloud.d.ts +1 -0
  850. package/dist/modules/multimedia/MediaLibrary/innertabs/Nextcloud.js +48 -0
  851. package/dist/modules/multimedia/MediaLibrary/innertabs/Upload.js +68 -1
  852. package/dist/modules/multimedia/MediaLibrary/innertabs/Video.js +22 -1
  853. package/dist/modules/multimedia/MediaLibrary/innertabs/VideoEmbedder.js +15 -1
  854. package/dist/modules/multimedia/MediaLibrary/innertabs/Workspace.js +31 -1
  855. package/dist/modules/multimedia/MediaLibrary/innertabs/index.d.ts +2 -0
  856. package/dist/modules/multimedia/MediaLibrary/innertabs/index.js +25 -1
  857. package/dist/modules/multimedia/Nextcloud/Nextcloud.d.ts +24 -0
  858. package/dist/modules/multimedia/Nextcloud/Nextcloud.js +124 -0
  859. package/dist/modules/multimedia/Nextcloud/index.d.ts +2 -0
  860. package/dist/modules/multimedia/UploadCard/UploadCard.js +75 -1
  861. package/dist/modules/multimedia/UploadFiles/UploadFiles.js +56 -1
  862. package/dist/modules/multimedia/VideoEmbed/VideoEmbed.js +76 -1
  863. package/dist/modules/multimedia/VideoRecorder/VideoRecorder.js +156 -1
  864. package/dist/modules/multimedia/VideoRecorder/VideoRecorderToolbar.js +96 -1
  865. package/dist/modules/multimedia/VideoRecorder/useCameras.js +86 -1
  866. package/dist/modules/multimedia/Workspace/Workspace.js +175 -1
  867. package/dist/modules/multimedia/WorkspaceFolders/WorkspaceFolders.js +55 -1
  868. package/dist/modules/multimedia/WorkspaceFolders/components/NewFolderForm.js +39 -1
  869. package/dist/modules/multimedia/index.d.ts +2 -0
  870. package/dist/modules/multimedia/testing/mediaHarness.d.ts +154 -0
  871. package/dist/multimedia.js +40 -1
  872. package/dist/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/isSameOrAfter.js +18 -0
  873. package/dist/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/isToday.js +19 -0
  874. package/dist/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/localeData.js +82 -0
  875. package/dist/node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/plugin/weekday.js +19 -0
  876. package/dist/providers/AntThemeProvider/AntProvider.js +28 -1
  877. package/dist/providers/AntThemeProvider/antThemeConfig.js +9 -1
  878. package/dist/providers/EdificeClientProvider/EdificeClientProvider.context.js +5 -1
  879. package/dist/providers/EdificeClientProvider/EdificeClientProvider.hook.js +11 -1
  880. package/dist/providers/EdificeClientProvider/EdificeClientProvider.js +54 -1
  881. package/dist/providers/EdificeScreebProvider/EdificeScreebProvider.js +52 -1
  882. package/dist/providers/EdificeThemeProvider/EdificeThemeProvider.context.js +5 -1
  883. package/dist/providers/EdificeThemeProvider/EdificeThemeProvider.hook.js +11 -1
  884. package/dist/providers/EdificeThemeProvider/EdificeThemeProvider.js +47 -1
  885. package/dist/providers/MockedProvider/MockedProvider.js +29 -1
  886. package/dist/providers/MockedProvider/MockedProvider.mocks.js +119 -1
  887. package/dist/style.css +1 -0
  888. package/dist/utilities/check-user-rights/check-user-rights.js +46 -1
  889. package/dist/utilities/create-selectors/create-selectors.js +11 -1
  890. package/dist/utilities/emptyscreen-mapping/emptyscreen-mapping.js +49 -1
  891. package/dist/utilities/mime-types/mime-types-utils.js +4 -1
  892. package/dist/utilities/react-query/react-query-utils.js +13 -1
  893. package/dist/utilities/refs/ref.js +14 -1
  894. package/dist/utilities/rotate-transition-style/get-rotate-transition-style.js +12 -1
  895. package/package.json +12 -11
  896. package/dist/_virtual/_rolldown/runtime.js +0 -1
  897. package/dist/components/Dropdown/DropdownVirtualizedMenu.d.ts +0 -80
  898. package/dist/components/Dropdown/DropdownVirtualizedMenu.js +0 -1
  899. package/dist/components/Skeleton/Skeleton.d.ts +0 -57
  900. package/dist/components/Skeleton/Skeleton.js +0 -1
  901. package/dist/components/Table/components/TableVirtualizedBody.d.ts +0 -29
  902. package/dist/components/Table/components/TableVirtualizedBody.js +0 -1
  903. package/dist/react.css +0 -2
@@ -1 +1,105 @@
1
- import{findNodeById,findPathById}from"../utilities/treeview.js";import{useEffect,useImperativeHandle,useMemo,useRef,useState}from"react";var useTreeView=({data,ref,externalSelectedNodeId,draggedNode,allExpandedNodes,onTreeItemUnfold,onTreeItemFold,onTreeItemClick})=>{let[internalSelectedNodeId,setInternalSelectedNodeId]=useState(void 0),[expandedNodes,setExpandedNodes]=useState(new Set),siblingsNodes=useRef(new Set),[draggedNodeId,setDraggedNodeId]=useState(void 0),selectedNodeId=internalSelectedNodeId??externalSelectedNodeId;function addNodesWithSiblingHavingChildren(data){Array.isArray(data)?data.forEach(node=>{let resultSet=new Set(siblingsNodes.current);data.filter(({id})=>id!==node.id).some(sibling=>sibling.children&&sibling.children.length>0)&&resultSet.add(node.id),node.children&&node.children.length>0&&node.children.forEach(child=>{(node.children?.filter(({id})=>id!==child.id))?.some(sibling=>sibling.children&&sibling.children.length>0)&&resultSet.add(child.id),addNodesWithSiblingHavingChildren(child)})}):data.children?.forEach(child=>{let resultSet=new Set(siblingsNodes.current);(data.children?.filter(c=>c.id!==child.id))?.some(sibling=>sibling.children&&sibling.children.length>0)&&(resultSet.add(child.id),siblingsNodes.current=resultSet),addNodesWithSiblingHavingChildren(child)})}let expandedAllNodes=allExpandedNodes=>{let initExpandedNodes=new Set(``);data&&Array.isArray(data)&&allExpandedNodes&&(data.forEach(node=>{initExpandedNodes.add(node.id)}),setExpandedNodes(initExpandedNodes))};useEffect(()=>{data&&addNodesWithSiblingHavingChildren(data)},[data]),useEffect(()=>{draggedNode?.isOver&&draggedNode.isTreeview?(draggedNode.overId&&handleItemDrag(draggedNode.overId),setDraggedNodeId(draggedNode.overId)):setDraggedNodeId(void 0)},[draggedNode]);let handlers=useMemo(()=>({unselectAll(){setInternalSelectedNodeId(void 0)},select(nodeId){handleItemClick(nodeId)},allExpandedNodes(){expandedAllNodes(allExpandedNodes)}}),[]);useImperativeHandle(ref,()=>handlers,[handlers]),useEffect(()=>{expandedAllNodes(allExpandedNodes)},[]),useEffect(()=>{externalSelectedNodeId&&!allExpandedNodes?(handleExternalSelectedNodeId(externalSelectedNodeId),setInternalSelectedNodeId(externalSelectedNodeId)):setInternalSelectedNodeId(void 0)},[externalSelectedNodeId]);let handleExternalSelectedNodeId=nodeId=>{if(!findNodeById(data,selectedNodeId)){setInternalSelectedNodeId(void 0);return}if(externalSelectedNodeId===`default`){expandedNodes.forEach(node=>onTreeItemUnfold?.(node));return}handleExpandNode(nodeId)},handleExpandNode=nodeId=>{let updatedExpandedNodes=new Set(expandedNodes),parents=findPathById(data,nodeId),arrayOrder=Array.from(updatedExpandedNodes);parents.forEach(parent=>{let index=arrayOrder.indexOf(parent);index>-1&&arrayOrder.splice(index,1),arrayOrder.push(parent)}),updatedExpandedNodes.clear(),arrayOrder.forEach(node=>updatedExpandedNodes.add(node)),updatedExpandedNodes.forEach(node=>onTreeItemUnfold?.(node)),setExpandedNodes(updatedExpandedNodes)},handleCollapseNode=nodeId=>{let updatedExpandedNodes=new Set(expandedNodes);updatedExpandedNodes.delete(nodeId),updatedExpandedNodes.forEach(node=>onTreeItemFold?.(node)),setExpandedNodes(updatedExpandedNodes)},handleToggleNode=nodeId=>{expandedNodes.has(nodeId)?handleCollapseNode(nodeId):handleExpandNode(nodeId)},handleSelectedItem=nodeId=>{selectedNodeId!==nodeId&&setInternalSelectedNodeId(nodeId)},handleItemClick=nodeId=>{handleSelectedItem(nodeId),handleExpandNode(nodeId),onTreeItemClick?.(nodeId)},handleFoldUnfold=nodeId=>{handleToggleNode(nodeId)},handleItemDrag=nodeId=>{findNodeById(data,externalSelectedNodeId)&&handleExpandNode(nodeId)};return{selectedNodeId,expandedNodes,siblingsNodes,draggedNodeId,handleItemClick,handleFoldUnfold}};export{useTreeView};
1
+ import { useState, useRef, useEffect, useMemo, useImperativeHandle } from "react";
2
+ import { findNodeById, findPathById } from "../utilities/treeview.js";
3
+ const useTreeView = ({
4
+ data,
5
+ ref,
6
+ externalSelectedNodeId,
7
+ draggedNode,
8
+ allExpandedNodes,
9
+ onTreeItemUnfold,
10
+ onTreeItemFold,
11
+ onTreeItemClick
12
+ }) => {
13
+ const [internalSelectedNodeId, setInternalSelectedNodeId] = useState(void 0), [expandedNodes, setExpandedNodes] = useState(/* @__PURE__ */ new Set()), siblingsNodes = useRef(/* @__PURE__ */ new Set()), [draggedNodeId, setDraggedNodeId] = useState(void 0), selectedNodeId = internalSelectedNodeId ?? externalSelectedNodeId;
14
+ function addNodesWithSiblingHavingChildren(data2) {
15
+ var _a;
16
+ Array.isArray(data2) ? data2.forEach((node) => {
17
+ const resultSet = new Set(siblingsNodes.current);
18
+ data2.filter(({
19
+ id
20
+ }) => id !== node.id).some((sibling) => sibling.children && sibling.children.length > 0) && resultSet.add(node.id), node.children && node.children.length > 0 && node.children.forEach((child) => {
21
+ var _a2;
22
+ const childSiblings = (_a2 = node.children) == null ? void 0 : _a2.filter(({
23
+ id
24
+ }) => id !== child.id);
25
+ (childSiblings == null ? void 0 : childSiblings.some((sibling) => sibling.children && sibling.children.length > 0)) && resultSet.add(child.id), addNodesWithSiblingHavingChildren(child);
26
+ });
27
+ }) : (_a = data2.children) == null || _a.forEach((child) => {
28
+ var _a2;
29
+ const resultSet = new Set(siblingsNodes.current), siblings = (_a2 = data2.children) == null ? void 0 : _a2.filter((c) => c.id !== child.id);
30
+ (siblings == null ? void 0 : siblings.some((sibling) => sibling.children && sibling.children.length > 0)) && (resultSet.add(child.id), siblingsNodes.current = resultSet), addNodesWithSiblingHavingChildren(child);
31
+ });
32
+ }
33
+ const expandedAllNodes = (allExpandedNodes2) => {
34
+ const initExpandedNodes = new Set("");
35
+ data && Array.isArray(data) && allExpandedNodes2 && (data.forEach((node) => {
36
+ initExpandedNodes.add(node.id);
37
+ }), setExpandedNodes(initExpandedNodes));
38
+ };
39
+ useEffect(() => {
40
+ data && addNodesWithSiblingHavingChildren(data);
41
+ }, [data]), useEffect(() => {
42
+ draggedNode != null && draggedNode.isOver && draggedNode.isTreeview ? (draggedNode.overId && handleItemDrag(draggedNode.overId), setDraggedNodeId(draggedNode.overId)) : setDraggedNodeId(void 0);
43
+ }, [draggedNode]);
44
+ const handlers = useMemo(
45
+ () => ({
46
+ unselectAll() {
47
+ setInternalSelectedNodeId(void 0);
48
+ },
49
+ select(nodeId) {
50
+ handleItemClick(nodeId);
51
+ },
52
+ allExpandedNodes() {
53
+ expandedAllNodes(allExpandedNodes);
54
+ }
55
+ }),
56
+ // eslint-disable-next-line react-hooks/exhaustive-deps
57
+ []
58
+ );
59
+ useImperativeHandle(ref, () => handlers, [handlers]), useEffect(() => {
60
+ expandedAllNodes(allExpandedNodes);
61
+ }, []), useEffect(() => {
62
+ externalSelectedNodeId && !allExpandedNodes ? (handleExternalSelectedNodeId(externalSelectedNodeId), setInternalSelectedNodeId(externalSelectedNodeId)) : setInternalSelectedNodeId(void 0);
63
+ }, [externalSelectedNodeId]);
64
+ const handleExternalSelectedNodeId = (nodeId) => {
65
+ if (!findNodeById(data, selectedNodeId)) {
66
+ setInternalSelectedNodeId(void 0);
67
+ return;
68
+ }
69
+ if (externalSelectedNodeId === "default") {
70
+ expandedNodes.forEach((node) => onTreeItemUnfold == null ? void 0 : onTreeItemUnfold(node));
71
+ return;
72
+ }
73
+ handleExpandNode(nodeId);
74
+ }, handleExpandNode = (nodeId) => {
75
+ const updatedExpandedNodes = new Set(expandedNodes), parents = findPathById(data, nodeId), arrayOrder = Array.from(updatedExpandedNodes);
76
+ parents.forEach((parent) => {
77
+ const index = arrayOrder.indexOf(parent);
78
+ index > -1 && arrayOrder.splice(index, 1), arrayOrder.push(parent);
79
+ }), updatedExpandedNodes.clear(), arrayOrder.forEach((node) => updatedExpandedNodes.add(node)), updatedExpandedNodes.forEach((node) => onTreeItemUnfold == null ? void 0 : onTreeItemUnfold(node)), setExpandedNodes(updatedExpandedNodes);
80
+ }, handleCollapseNode = (nodeId) => {
81
+ const updatedExpandedNodes = new Set(expandedNodes);
82
+ updatedExpandedNodes.delete(nodeId), updatedExpandedNodes.forEach((node) => onTreeItemFold == null ? void 0 : onTreeItemFold(node)), setExpandedNodes(updatedExpandedNodes);
83
+ }, handleToggleNode = (nodeId) => {
84
+ expandedNodes.has(nodeId) ? handleCollapseNode(nodeId) : handleExpandNode(nodeId);
85
+ }, handleSelectedItem = (nodeId) => {
86
+ selectedNodeId !== nodeId && setInternalSelectedNodeId(nodeId);
87
+ }, handleItemClick = (nodeId) => {
88
+ handleSelectedItem(nodeId), handleExpandNode(nodeId), onTreeItemClick == null || onTreeItemClick(nodeId);
89
+ }, handleFoldUnfold = (nodeId) => {
90
+ handleToggleNode(nodeId);
91
+ }, handleItemDrag = (nodeId) => {
92
+ findNodeById(data, externalSelectedNodeId) && handleExpandNode(nodeId);
93
+ };
94
+ return {
95
+ selectedNodeId,
96
+ expandedNodes,
97
+ siblingsNodes,
98
+ draggedNodeId,
99
+ handleItemClick,
100
+ handleFoldUnfold
101
+ };
102
+ };
103
+ export {
104
+ useTreeView
105
+ };
@@ -1 +1,177 @@
1
- import{FOLDER}from"@edifice.io/client";function findTreeNode(root,predicate){if(predicate(root))return root;if(Array.isArray(root.children))for(let child of root.children){let found=findTreeNode(child,predicate);if(found)return found}}function findNodeById(data,id){if(Array.isArray(data))for(let node of data){let result=findNodeById(node,id);if(result)return result}else{if(data.id===id)return data;if(data.children)for(let child of data.children){let result=findNodeById(child,id);if(result)return result}}}function addNode(node,{parentId,newFolder}){return modifyNode(node,node=>{if(node.id===parentId){let ancestors=arrayUnique([...node.folder?.ancestors||[],node.id]);return{...node,children:[...node.children||[],new TreeNodeFolderWrapper({...newFolder,ancestors})]}}else return node})}function arrayUnique(array){return array.filter((item,index)=>array.indexOf(item)===index)}function deleteNode(node,{folders}){return modifyNode(node,node=>{if(!folders.includes(node.id))return node})}var findParentNode=(parentNode,childId)=>{if(parentNode.children)for(let child of parentNode.children){if(child.id===childId)return parentNode;let foundNode=findParentNode(child,childId);if(foundNode)return foundNode}};function getAncestors(data,folderId){let findItem=findNodeById(data,folderId);return findItem?.folder?.ancestors?[...findItem?.folder.ancestors||[],folderId]:folderId===FOLDER.BIN?[FOLDER.BIN]:[FOLDER.DEFAULT]}function hasChildren(folderId,data){return data.id===folderId&&data.children?data.children.length>0:data.children?data.children.some(child=>hasChildren(folderId,child)):!1}function modifyNode(data,callback){return doModify(data,callback)||data}function doModify(current,callback,parent){let result=callback(current,parent);if(result?.children?.length){let children=[];for(let child of result?.children||[]){let res=doModify(child,callback,result);res&&children.push(res)}return{...result,children}}return result}function moveNode(node,{destinationId,folders}){let root=node;return modifyNode(node,(node,parent)=>{if(destinationId===node.id){let ancestors=arrayUnique([...node.folder?.ancestors||[],node.id]),newChildren=[...node.children||[]],childrenIds=node.children?.map(child=>child.id)||[];for(let folder of folders)if(!childrenIds.includes(folder)){let item=findNodeById(root,folder);item&&newChildren.push({...item,folder:{...item?.folder,ancestors}})}return{...node,children:newChildren}}else if(folders.includes(node.id)&&destinationId!==parent?.id)return;else return node})}var wrapTreeNode=(node,folders,parentId)=>modifyNode(node,node=>(node.id===parentId&&(node.children=folders?.map(e=>new TreeNodeFolderWrapper(e))),node));function updateNode(node,{folderId,newFolder}){return modifyNode(node,node=>node.id===folderId?new TreeNodeFolderWrapper(newFolder):node)}function findPathById(tree,nodeId){let path=[];function traverse(node,currentPath){if(node.id===nodeId)return path=currentPath.concat(node.id),!0;if(node.children){for(let child of node.children)if(traverse(child,currentPath.concat(node.id)))return!0}return!1}function startTraverse(nodes){if(Array.isArray(nodes)){for(let node of nodes)if(traverse(node,[]))break}else traverse(nodes,[])}return startTraverse(tree),path}var TreeNodeFolderWrapper=class{folder;constructor(folder){this.folder=folder,this.id=folder.id,this.name=folder.name,this.childNumber=folder.childNumber}id;name;childNumber;section=!1;children=[]};export{TreeNodeFolderWrapper,addNode,arrayUnique,deleteNode,findNodeById,findParentNode,findPathById,findTreeNode,getAncestors,hasChildren,modifyNode,moveNode,updateNode,wrapTreeNode};
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: !0, configurable: !0, writable: !0, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key != "symbol" ? key + "" : key, value);
4
+ import { FOLDER } from "@edifice.io/client";
5
+ function findTreeNode(root, predicate) {
6
+ if (predicate(root)) return root;
7
+ if (Array.isArray(root.children))
8
+ for (const child of root.children) {
9
+ const found = findTreeNode(child, predicate);
10
+ if (found) return found;
11
+ }
12
+ }
13
+ function findNodeById(data, id) {
14
+ if (Array.isArray(data))
15
+ for (const node of data) {
16
+ const result = findNodeById(node, id);
17
+ if (result)
18
+ return result;
19
+ }
20
+ else {
21
+ if (data.id === id) return data;
22
+ if (data.children)
23
+ for (const child of data.children) {
24
+ const result = findNodeById(child, id);
25
+ if (result)
26
+ return result;
27
+ }
28
+ }
29
+ }
30
+ function addNode(node, {
31
+ parentId,
32
+ newFolder
33
+ }) {
34
+ return modifyNode(node, (node2) => {
35
+ var _a;
36
+ if (node2.id === parentId) {
37
+ const parentAncestors = [...((_a = node2.folder) == null ? void 0 : _a.ancestors) || []], ancestors = arrayUnique([...parentAncestors, node2.id]);
38
+ return {
39
+ ...node2,
40
+ children: [...node2.children || [], new TreeNodeFolderWrapper({
41
+ ...newFolder,
42
+ ancestors
43
+ })]
44
+ };
45
+ } else
46
+ return node2;
47
+ });
48
+ }
49
+ function arrayUnique(array) {
50
+ return array.filter((item, index) => array.indexOf(item) === index);
51
+ }
52
+ function deleteNode(node, {
53
+ folders
54
+ }) {
55
+ return modifyNode(node, (node2) => {
56
+ if (!folders.includes(node2.id))
57
+ return node2;
58
+ });
59
+ }
60
+ const findParentNode = (parentNode, childId) => {
61
+ if (parentNode.children)
62
+ for (const child of parentNode.children) {
63
+ if (child.id === childId)
64
+ return parentNode;
65
+ const foundNode = findParentNode(child, childId);
66
+ if (foundNode)
67
+ return foundNode;
68
+ }
69
+ };
70
+ function getAncestors(data, folderId) {
71
+ var _a;
72
+ const findItem = findNodeById(data, folderId);
73
+ return (_a = findItem == null ? void 0 : findItem.folder) != null && _a.ancestors ? [...(findItem == null ? void 0 : findItem.folder.ancestors) || [], folderId] : folderId === FOLDER.BIN ? [FOLDER.BIN] : [FOLDER.DEFAULT];
74
+ }
75
+ function hasChildren(folderId, data) {
76
+ return data.id === folderId && data.children ? data.children.length > 0 : data.children ? data.children.some((child) => hasChildren(data.id, child)) : !1;
77
+ }
78
+ function modifyNode(data, callback) {
79
+ return doModify(data, callback) || data;
80
+ }
81
+ function doModify(current, callback, parent) {
82
+ var _a;
83
+ const result = callback(current, parent);
84
+ if ((_a = result == null ? void 0 : result.children) != null && _a.length) {
85
+ const children = [];
86
+ for (const child of (result == null ? void 0 : result.children) || []) {
87
+ const res = doModify(child, callback, result);
88
+ res && children.push(res);
89
+ }
90
+ return {
91
+ ...result,
92
+ children
93
+ };
94
+ }
95
+ return result;
96
+ }
97
+ function moveNode(node, {
98
+ destinationId,
99
+ folders
100
+ }) {
101
+ return modifyNode(node, (node2, parent) => {
102
+ var _a, _b;
103
+ if (destinationId === node2.id) {
104
+ const parentAncestors = [...((_a = node2.folder) == null ? void 0 : _a.ancestors) || []], ancestors = arrayUnique([...parentAncestors, node2.id]), newChildren = [...node2.children || []], childrenIds = ((_b = node2.children) == null ? void 0 : _b.map((child) => child.id)) || [];
105
+ for (const folder of folders)
106
+ if (!childrenIds.includes(folder)) {
107
+ const item = findNodeById(node2, folder);
108
+ item && newChildren.push({
109
+ ...item,
110
+ folder: {
111
+ ...item == null ? void 0 : item.folder,
112
+ ancestors
113
+ }
114
+ });
115
+ }
116
+ return {
117
+ ...node2,
118
+ children: newChildren
119
+ };
120
+ } else return folders.includes(node2.id) && destinationId !== (parent == null ? void 0 : parent.id) ? void 0 : node2;
121
+ });
122
+ }
123
+ const wrapTreeNode = (node, folders, parentId) => modifyNode(node, (node2) => (node2.id === parentId && (node2.children = folders == null ? void 0 : folders.map((e) => new TreeNodeFolderWrapper(e))), node2));
124
+ function updateNode(node, {
125
+ folderId,
126
+ newFolder
127
+ }) {
128
+ return modifyNode(node, (node2) => node2.id === folderId ? new TreeNodeFolderWrapper(newFolder) : node2);
129
+ }
130
+ function findPathById(tree, nodeId) {
131
+ let path = [];
132
+ function traverse(node, currentPath) {
133
+ if (node.id === nodeId)
134
+ return path = currentPath.concat(node.id), !0;
135
+ if (node.children) {
136
+ for (const child of node.children)
137
+ if (traverse(child, currentPath.concat(node.id)))
138
+ return !0;
139
+ }
140
+ return !1;
141
+ }
142
+ function startTraverse(nodes) {
143
+ if (Array.isArray(nodes)) {
144
+ for (const node of nodes)
145
+ if (traverse(node, []))
146
+ break;
147
+ } else
148
+ traverse(nodes, []);
149
+ }
150
+ return startTraverse(tree), path;
151
+ }
152
+ class TreeNodeFolderWrapper {
153
+ constructor(folder) {
154
+ __publicField(this, "id");
155
+ __publicField(this, "name");
156
+ __publicField(this, "childNumber");
157
+ __publicField(this, "section", !1);
158
+ __publicField(this, "children", []);
159
+ this.folder = folder, this.id = folder.id, this.name = folder.name, this.childNumber = folder.childNumber;
160
+ }
161
+ }
162
+ export {
163
+ TreeNodeFolderWrapper,
164
+ addNode,
165
+ arrayUnique,
166
+ deleteNode,
167
+ findNodeById,
168
+ findParentNode,
169
+ findPathById,
170
+ findTreeNode,
171
+ getAncestors,
172
+ hasChildren,
173
+ modifyNode,
174
+ moveNode,
175
+ updateNode,
176
+ wrapTreeNode
177
+ };
@@ -1 +1,29 @@
1
- import SvgIconSave from"../../modules/icons/components/IconSave.js";import Button from"../Button/Button.js";import FormControl from"../Form/FormControl.js";import{useState}from"react";import{jsx,jsxs}from"react/jsx-runtime";import{useTranslation}from"react-i18next";var SaveBookmark=({onSave})=>{let[bookmarkName,setBookmarkName]=useState(``),[isSaving,setIsSaving]=useState(!1),{t}=useTranslation();return jsx(`div`,{className:`mt-16`,children:jsxs(FormControl,{id:`bookmarkName`,className:`d-flex flex-wrap align-items-center gap-16`,children:[jsx(`div`,{className:`flex-fill`,children:jsx(FormControl.Input,{"data-testid":`common-save-bookmark-name-input`,value:bookmarkName,onChange:e=>{setBookmarkName(e.target.value)},placeholder:t(`explorer.modal.share.sharebookmark.placeholder`),size:`sm`,type:`text`})}),jsx(Button,{"data-testid":`common-save-bookmark-save-button`,color:`primary`,variant:`ghost`,disabled:bookmarkName.length===0||isSaving,leftIcon:jsx(SvgIconSave,{}),onClick:async()=>{setIsSaving(!0);try{await onSave(bookmarkName),setBookmarkName(``)}finally{setIsSaving(!1)}},className:`text-nowrap`,isLoading:isSaving,children:t(`explorer.modal.share.sharebookmark.save`)})]})})};export{SaveBookmark};
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { useTranslation } from "react-i18next";
4
+ import SvgIconSave from "../../modules/icons/components/IconSave.js";
5
+ import FormControl from "../Form/FormControl.js";
6
+ import Button from "../Button/Button.js";
7
+ const SaveBookmark = ({
8
+ onSave
9
+ }) => {
10
+ const [bookmarkName, setBookmarkName] = useState(""), [isSaving, setIsSaving] = useState(!1), {
11
+ t
12
+ } = useTranslation(), handleBookmarkNameChange = (e) => {
13
+ setBookmarkName(e.target.value);
14
+ }, handleSaveClick = async () => {
15
+ setIsSaving(!0);
16
+ try {
17
+ await onSave(bookmarkName), setBookmarkName("");
18
+ } finally {
19
+ setIsSaving(!1);
20
+ }
21
+ };
22
+ return /* @__PURE__ */ jsx("div", { className: "mt-16", children: /* @__PURE__ */ jsxs(FormControl, { id: "bookmarkName", className: "d-flex flex-wrap align-items-center gap-16", children: [
23
+ /* @__PURE__ */ jsx("div", { className: "flex-fill", children: /* @__PURE__ */ jsx(FormControl.Input, { "data-testid": "common-save-bookmark-name-input", value: bookmarkName, onChange: handleBookmarkNameChange, placeholder: t("explorer.modal.share.sharebookmark.placeholder"), size: "sm", type: "text" }) }),
24
+ /* @__PURE__ */ jsx(Button, { "data-testid": "common-save-bookmark-save-button", color: "primary", variant: "ghost", disabled: bookmarkName.length === 0 || isSaving, leftIcon: /* @__PURE__ */ jsx(SvgIconSave, {}), onClick: handleSaveClick, className: "text-nowrap", isLoading: isSaving, children: t("explorer.modal.share.sharebookmark.save") })
25
+ ] }) });
26
+ };
27
+ export {
28
+ SaveBookmark
29
+ };
@@ -1 +1,30 @@
1
- import SvgIconBookmark from"../../modules/icons/components/IconBookmark.js";import SvgIconClose from"../../modules/icons/components/IconClose.js";import SvgIconRafterDown from"../../modules/icons/components/IconRafterDown.js";import Button from"../Button/Button.js";import IconButton from"../Button/IconButton.js";import Checkbox from"../Checkbox/Checkbox.js";import{getRotateTransitionStyle}from"../../utilities/rotate-transition-style/get-rotate-transition-style.js";import{jsx,jsxs}from"react/jsx-runtime";import{useTranslation}from"react-i18next";var UserRightsBookmarkRow=({bookmark,resourceRights,isReadOnly,onToggleRight,onDelete,onToggleExpand})=>{let{t}=useTranslation();return jsxs(`tr`,{"data-testid":`user-rights-list-bookmark-row`,children:[jsx(`td`,{children:jsx(SvgIconBookmark,{})}),jsx(`td`,{children:jsx(Button,{color:`tertiary`,variant:`ghost`,className:`fw-normal ps-0`,"aria-expanded":bookmark.isExpanded,rightIcon:jsx(SvgIconRafterDown,{title:bookmark.isExpanded?t(`hide`):t(`show`),className:`w-16 min-w-0`,style:getRotateTransitionStyle(bookmark.isExpanded)}),onClick:()=>onToggleExpand(bookmark.id),children:bookmark.name})}),Object.entries(resourceRights).map(([rightName,rightDef])=>jsx(`td`,{children:jsx(Checkbox,{checked:bookmark.permission.includes(rightName),onChange:()=>onToggleRight(bookmark.id,rightName),disabled:isReadOnly||rightDef.isReadOnlyCheckbox,"aria-label":`${bookmark.name} - ${rightName}`,"data-testid":`user-rights-list-bookmark-${rightName}-checkbox`})},rightName)),jsx(`td`,{children:!isReadOnly&&jsx(IconButton,{"data-testid":`user-rights-list-bookmark-close-button`,color:`tertiary`,onClick:()=>onDelete(bookmark.id),icon:jsx(SvgIconClose,{}),title:`${t(`close`)} ${bookmark.name}`,variant:`ghost`})})]})};export{UserRightsBookmarkRow as default};
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { useTranslation } from "react-i18next";
3
+ import SvgIconBookmark from "../../modules/icons/components/IconBookmark.js";
4
+ import SvgIconClose from "../../modules/icons/components/IconClose.js";
5
+ import SvgIconRafterDown from "../../modules/icons/components/IconRafterDown.js";
6
+ import Button from "../Button/Button.js";
7
+ import Checkbox from "../Checkbox/Checkbox.js";
8
+ import IconButton from "../Button/IconButton.js";
9
+ import { getRotateTransitionStyle } from "../../utilities/rotate-transition-style/get-rotate-transition-style.js";
10
+ const UserRightsBookmarkRow = ({
11
+ bookmark,
12
+ resourceRights,
13
+ isReadOnly,
14
+ onToggleRight,
15
+ onDelete,
16
+ onToggleExpand
17
+ }) => {
18
+ const {
19
+ t
20
+ } = useTranslation();
21
+ return /* @__PURE__ */ jsxs("tr", { "data-testid": "user-rights-list-bookmark-row", children: [
22
+ /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsx(SvgIconBookmark, {}) }),
23
+ /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsx(Button, { color: "tertiary", variant: "ghost", className: "fw-normal ps-0", "aria-expanded": bookmark.isExpanded, rightIcon: /* @__PURE__ */ jsx(SvgIconRafterDown, { title: bookmark.isExpanded ? t("hide") : t("show"), className: "w-16 min-w-0", style: getRotateTransitionStyle(bookmark.isExpanded) }), onClick: () => onToggleExpand(bookmark.id), children: bookmark.name }) }),
24
+ Object.entries(resourceRights).map(([rightName, rightDef]) => /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsx(Checkbox, { checked: bookmark.permission.includes(rightName), onChange: () => onToggleRight(bookmark.id, rightName), disabled: isReadOnly || rightDef.isReadOnlyCheckbox, "aria-label": `${bookmark.name} - ${rightName}`, "data-testid": `user-rights-list-bookmark-${rightName}-checkbox` }) }, rightName)),
25
+ /* @__PURE__ */ jsx("td", { children: !isReadOnly && /* @__PURE__ */ jsx(IconButton, { "data-testid": "user-rights-list-bookmark-close-button", color: "tertiary", onClick: () => onDelete(bookmark.id), icon: /* @__PURE__ */ jsx(SvgIconClose, {}), title: `${t("close")} ${bookmark.name}`, variant: "ghost" }) })
26
+ ] });
27
+ };
28
+ export {
29
+ UserRightsBookmarkRow as default
30
+ };
@@ -1 +1,36 @@
1
- import SvgIconClose from"../../modules/icons/components/IconClose.js";import IconButton from"../Button/IconButton.js";import useDirectory from"../../hooks/useDirectory/useDirectory.js";import Checkbox from"../Checkbox/Checkbox.js";import Avatar from"../Avatar/Avatar.js";import{jsx,jsxs}from"react/jsx-runtime";import{useTranslation}from"react-i18next";var UserRightsItem=({item,resourceRights,isReadOnly,isDeletable=!0,rowClassName,bookmarkName,onChange,onDeleteItem})=>{let{getAvatarURL}=useDirectory(),{t}=useTranslation(),handleChange=rightName=>{onChange?.(item,rightName)},handleDeleteItem=()=>{onDeleteItem?.(item)};return jsxs(`tr`,{"data-testid":`user-rights-list-item-row`,className:rowClassName,"aria-label":bookmarkName?`${item.displayName} - ${bookmarkName}`:void 0,children:[jsx(`td`,{children:jsx(Avatar,{src:getAvatarURL(item.recipientId,item.recipientType),size:`xs`,alt:item.displayName,variant:`circle`})}),jsx(`td`,{children:item.displayName}),Object.entries(resourceRights).map(([rightName,rightDef])=>jsx(`td`,{"data-testid":`user-rights-list-item-${rightName}-checkbox`,children:jsx(Checkbox,{checked:item.permission.includes(rightName),onChange:isReadOnly||rightDef.isReadOnlyCheckbox?void 0:()=>handleChange(rightName),disabled:isReadOnly||rightDef.isReadOnlyCheckbox,"aria-label":`${item.displayName} - ${rightName}`})},rightName)),jsx(`td`,{children:!isReadOnly&&isDeletable&&jsx(IconButton,{"data-testid":`user-rights-list-close-button`,color:`tertiary`,onClick:()=>handleDeleteItem(),icon:jsx(SvgIconClose,{}),title:`${t(`close`)} ${item.displayName}`,variant:`ghost`,type:`button`})})]})};export{UserRightsItem as default};
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { useTranslation } from "react-i18next";
3
+ import SvgIconClose from "../../modules/icons/components/IconClose.js";
4
+ import useDirectory from "../../hooks/useDirectory/useDirectory.js";
5
+ import Avatar from "../Avatar/Avatar.js";
6
+ import Checkbox from "../Checkbox/Checkbox.js";
7
+ import IconButton from "../Button/IconButton.js";
8
+ const UserRightsItem = ({
9
+ item,
10
+ resourceRights,
11
+ isReadOnly,
12
+ isDeletable = !0,
13
+ rowClassName,
14
+ bookmarkName,
15
+ onChange,
16
+ onDeleteItem
17
+ }) => {
18
+ const {
19
+ getAvatarURL
20
+ } = useDirectory(), {
21
+ t
22
+ } = useTranslation(), handleChange = (rightName) => {
23
+ onChange == null || onChange(item, rightName);
24
+ }, handleDeleteItem = () => {
25
+ onDeleteItem == null || onDeleteItem(item);
26
+ };
27
+ return /* @__PURE__ */ jsxs("tr", { "data-testid": "user-rights-list-item-row", className: rowClassName, "aria-label": bookmarkName ? `${item.displayName} - ${bookmarkName}` : void 0, children: [
28
+ /* @__PURE__ */ jsx("td", { children: /* @__PURE__ */ jsx(Avatar, { src: getAvatarURL(item.recipientId, item.recipientType), size: "xs", alt: item.displayName, variant: "circle" }) }),
29
+ /* @__PURE__ */ jsx("td", { children: item.displayName }),
30
+ Object.entries(resourceRights).map(([rightName, rightDef]) => /* @__PURE__ */ jsx("td", { "data-testid": `user-rights-list-item-${rightName}-checkbox`, children: /* @__PURE__ */ jsx(Checkbox, { checked: item.permission.includes(rightName), onChange: isReadOnly || rightDef.isReadOnlyCheckbox ? void 0 : () => handleChange(rightName), disabled: isReadOnly || rightDef.isReadOnlyCheckbox, "aria-label": `${item.displayName} - ${rightName}` }) }, rightName)),
31
+ /* @__PURE__ */ jsx("td", { children: !isReadOnly && isDeletable && /* @__PURE__ */ jsx(IconButton, { "data-testid": "user-rights-list-close-button", color: "tertiary", onClick: () => handleDeleteItem(), icon: /* @__PURE__ */ jsx(SvgIconClose, {}), title: `${t("close")} ${item.displayName}`, variant: "ghost", type: "button" }) })
32
+ ] });
33
+ };
34
+ export {
35
+ UserRightsItem as default
36
+ };
@@ -1 +1,94 @@
1
- import SvgIconBookmark from"../../modules/icons/components/IconBookmark.js";import SvgIconRafterDown from"../../modules/icons/components/IconRafterDown.js";import Button from"../Button/Button.js";import{useEdificeClient}from"../../providers/EdificeClientProvider/EdificeClientProvider.hook.js";import{getRotateTransitionStyle}from"../../utilities/rotate-transition-style/get-rotate-transition-style.js";import LoadingScreen from"../LoadingScreen/LoadingScreen.js";import VisuallyHidden from"../VisuallyHidden/VisuallyHidden.js";import{createRightsHelpers}from"./helpers/rightsHelpers.js";import{useBookmarkEntries}from"./hooks/useBookmarkEntries.js";import{useSharingItems}from"./hooks/useSharingItems.js";import{SaveBookmark}from"./SaveBookmark.js";import{isBookmarkInput}from"./types/types.js";import UserRightsBookmarkRow from"./UserRightsBookmarkRow.js";import UserRightsItem from"./UserRightsItem.js";import{Fragment,forwardRef,useImperativeHandle,useMemo,useRef,useState}from"react";import{Fragment as Fragment$1,jsx,jsxs}from"react/jsx-runtime";import{useTranslation}from"react-i18next";var UserRightsList=forwardRef(({resourceRights,isReadOnly=!0,isLoading=!1,ownerId,isCreating=!1,initialSharings=[],onChange,onAddItems,onDeleteItems,onSaveBookmark},ref)=>{let[showBookmarkInput,setBookmarkInput]=useState(!1),tableRef=useRef(null),{t}=useTranslation(),{user}=useEdificeClient(),{applyRight,toggleRight,getOwnerItem}=useMemo(()=>createRightsHelpers(resourceRights),[resourceRights]),ownerItem=getOwnerItem(ownerId,user,isCreating),sharingItems=useSharingItems({initialSharings,toggleRight,applyRight,onChange,onAddItems,onDeleteItems}),itemsByRecipientId=useMemo(()=>new Map(sharingItems.items.map(item=>[item.recipientId,item])),[sharingItems.items]),bookmarks=useBookmarkEntries({resourceRights,existingRecipientIds:useMemo(()=>new Set(itemsByRecipientId.keys()),[itemsByRecipientId]),toggleRight,addItems:sharingItems.addItems,deleteItemsByIds:sharingItems.deleteItemsByIds,applyRightToIds:sharingItems.applyRightToIds}),regularItems=useMemo(()=>sharingItems.items.filter(item=>!bookmarks.bookmarkUserIds.has(item.recipientId)),[sharingItems.items,bookmarks.bookmarkUserIds]),focusTable=()=>{tableRef.current?.focus()},handleAddItem=item=>{isBookmarkInput(item)?bookmarks.addBookmark(item):sharingItems.addItem(item)},handleDeleteItem=item=>{sharingItems.deleteItem(item),focusTable()},handleDeleteBookmark=bookmarkId=>{bookmarks.deleteBookmark(bookmarkId),focusTable()},handleOnSaveBookmark=bookmarkName=>onSaveBookmark?onSaveBookmark(bookmarkName,sharingItems.items):Promise.resolve(),toggleBookmarkInput=()=>{setBookmarkInput(prev=>!prev)};return useImperativeHandle(ref,()=>({addItem:handleAddItem})),jsx(`div`,{className:`user-rights-list`,children:isLoading?jsx(LoadingScreen,{}):jsxs(Fragment$1,{children:[jsx(`div`,{className:`table-responsive`,children:jsxs(`table`,{ref:tableRef,tabIndex:-1,className:`table border align-middle`,children:[jsx(`thead`,{children:jsxs(`tr`,{children:[jsx(`th`,{scope:`col`,className:`w-32`,children:jsx(VisuallyHidden,{children:t(`explorer.modal.share.avatar.shared.alt`)})}),jsx(`th`,{scope:`col`,children:jsx(VisuallyHidden,{children:t(`explorer.modal.share.search.placeholder`)})}),Object.entries(resourceRights).map(([rightName,rightDef])=>jsx(`th`,{children:rightDef.displayName??rightName},rightName)),!isReadOnly&&jsx(`th`,{scope:`col`,children:jsx(VisuallyHidden,{children:t(`close`)})})]})}),jsxs(`tbody`,{children:[jsx(UserRightsItem,{item:ownerItem,resourceRights,isReadOnly:!0},ownerItem?.recipientId),bookmarks.bookmarkEntries.map(bookmark=>jsxs(Fragment,{children:[jsx(UserRightsBookmarkRow,{bookmark,resourceRights,isReadOnly,onToggleRight:bookmarks.toggleBookmarkRight,onDelete:handleDeleteBookmark,onToggleExpand:bookmarks.toggleExpand}),bookmark.isExpanded&&bookmark.userIds.map(userId=>{let item=itemsByRecipientId.get(userId);return item?jsx(UserRightsItem,{item,resourceRights,isReadOnly,isDeletable:!1,rowClassName:`bg-light`,bookmarkName:bookmark.name,onChange:sharingItems.changeRight},item.recipientId):null})]},bookmark.id)),regularItems.map(item=>jsx(UserRightsItem,{item,resourceRights,isReadOnly:isReadOnly||ownerItem?.recipientId===item.recipientId,onChange:sharingItems.changeRight,onDeleteItem:handleDeleteItem},item.recipientId))]})]})}),onSaveBookmark&&jsxs(`div`,{className:`mt-16`,children:[jsx(Button,{"data-testid":`common-user-rights-list-share-bookmark-show-button`,color:`tertiary`,leftIcon:jsx(SvgIconBookmark,{}),rightIcon:jsx(SvgIconRafterDown,{title:t(`show`),className:`w-16 min-w-0`,style:getRotateTransitionStyle(showBookmarkInput)}),type:`button`,variant:`ghost`,className:`fw-normal`,onClick:()=>toggleBookmarkInput(),children:t(`share.save.sharebookmark`)}),showBookmarkInput&&jsx(SaveBookmark,{onSave:handleOnSaveBookmark})]})]})})});export{UserRightsList};
1
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
+ import { forwardRef, useState, useRef, useMemo, useImperativeHandle, Fragment as Fragment$1 } from "react";
3
+ import { useTranslation } from "react-i18next";
4
+ import SvgIconBookmark from "../../modules/icons/components/IconBookmark.js";
5
+ import SvgIconRafterDown from "../../modules/icons/components/IconRafterDown.js";
6
+ import { createRightsHelpers } from "./helpers/rightsHelpers.js";
7
+ import { useBookmarkEntries } from "./hooks/useBookmarkEntries.js";
8
+ import { useSharingItems } from "./hooks/useSharingItems.js";
9
+ import { SaveBookmark } from "./SaveBookmark.js";
10
+ import { isBookmarkInput } from "./types/types.js";
11
+ import UserRightsBookmarkRow from "./UserRightsBookmarkRow.js";
12
+ import UserRightsItem from "./UserRightsItem.js";
13
+ import { useEdificeClient } from "../../providers/EdificeClientProvider/EdificeClientProvider.hook.js";
14
+ import LoadingScreen from "../LoadingScreen/LoadingScreen.js";
15
+ import VisuallyHidden from "../VisuallyHidden/VisuallyHidden.js";
16
+ import Button from "../Button/Button.js";
17
+ import { getRotateTransitionStyle } from "../../utilities/rotate-transition-style/get-rotate-transition-style.js";
18
+ const UserRightsList = /* @__PURE__ */ forwardRef(({
19
+ resourceRights,
20
+ isReadOnly = !0,
21
+ isLoading = !1,
22
+ ownerId,
23
+ isCreating = !1,
24
+ initialSharings = [],
25
+ onChange,
26
+ onAddItems,
27
+ onDeleteItems,
28
+ onSaveBookmark
29
+ }, ref) => {
30
+ const [showBookmarkInput, setBookmarkInput] = useState(!1), tableRef = useRef(null), {
31
+ t
32
+ } = useTranslation(), {
33
+ user
34
+ } = useEdificeClient(), {
35
+ applyRight,
36
+ toggleRight,
37
+ getOwnerItem
38
+ } = useMemo(() => createRightsHelpers(resourceRights), [resourceRights]), ownerItem = getOwnerItem(ownerId, user, isCreating), sharingItems = useSharingItems({
39
+ initialSharings,
40
+ toggleRight,
41
+ applyRight,
42
+ onChange,
43
+ onAddItems,
44
+ onDeleteItems
45
+ }), itemsByRecipientId = useMemo(() => new Map(sharingItems.items.map((item) => [item.recipientId, item])), [sharingItems.items]), existingRecipientIds = useMemo(() => new Set(itemsByRecipientId.keys()), [itemsByRecipientId]), bookmarks = useBookmarkEntries({
46
+ resourceRights,
47
+ existingRecipientIds,
48
+ toggleRight,
49
+ addItems: sharingItems.addItems,
50
+ deleteItemsByIds: sharingItems.deleteItemsByIds,
51
+ applyRightToIds: sharingItems.applyRightToIds
52
+ }), regularItems = useMemo(() => sharingItems.items.filter((item) => !bookmarks.bookmarkUserIds.has(item.recipientId)), [sharingItems.items, bookmarks.bookmarkUserIds]), focusTable = () => {
53
+ var _a;
54
+ (_a = tableRef.current) == null || _a.focus();
55
+ }, handleAddItem = (item) => {
56
+ isBookmarkInput(item) ? bookmarks.addBookmark(item) : sharingItems.addItem(item);
57
+ }, handleDeleteItem = (item) => {
58
+ sharingItems.deleteItem(item), focusTable();
59
+ }, handleDeleteBookmark = (bookmarkId) => {
60
+ bookmarks.deleteBookmark(bookmarkId), focusTable();
61
+ }, handleOnSaveBookmark = (bookmarkName) => onSaveBookmark ? onSaveBookmark(bookmarkName, sharingItems.items) : Promise.resolve(), toggleBookmarkInput = () => {
62
+ setBookmarkInput((prev) => !prev);
63
+ };
64
+ return useImperativeHandle(ref, () => ({
65
+ addItem: handleAddItem
66
+ })), /* @__PURE__ */ jsx("div", { className: "user-rights-list", children: isLoading ? /* @__PURE__ */ jsx(LoadingScreen, {}) : /* @__PURE__ */ jsxs(Fragment, { children: [
67
+ /* @__PURE__ */ jsx("div", { className: "table-responsive", children: /* @__PURE__ */ jsxs("table", { ref: tableRef, tabIndex: -1, className: "table border align-middle", children: [
68
+ /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
69
+ /* @__PURE__ */ jsx("th", { scope: "col", className: "w-32", children: /* @__PURE__ */ jsx(VisuallyHidden, { children: t("explorer.modal.share.avatar.shared.alt") }) }),
70
+ /* @__PURE__ */ jsx("th", { scope: "col", children: /* @__PURE__ */ jsx(VisuallyHidden, { children: t("explorer.modal.share.search.placeholder") }) }),
71
+ Object.entries(resourceRights).map(([rightName, rightDef]) => /* @__PURE__ */ jsx("th", { children: rightDef.displayName ?? rightName }, rightName)),
72
+ !isReadOnly && /* @__PURE__ */ jsx("th", { scope: "col", children: /* @__PURE__ */ jsx(VisuallyHidden, { children: t("close") }) })
73
+ ] }) }),
74
+ /* @__PURE__ */ jsxs("tbody", { children: [
75
+ /* @__PURE__ */ jsx(UserRightsItem, { item: ownerItem, resourceRights, isReadOnly: !0 }, ownerItem == null ? void 0 : ownerItem.recipientId),
76
+ bookmarks.bookmarkEntries.map((bookmark) => /* @__PURE__ */ jsxs(Fragment$1, { children: [
77
+ /* @__PURE__ */ jsx(UserRightsBookmarkRow, { bookmark, resourceRights, isReadOnly, onToggleRight: bookmarks.toggleBookmarkRight, onDelete: handleDeleteBookmark, onToggleExpand: bookmarks.toggleExpand }),
78
+ bookmark.isExpanded && bookmark.userIds.map((userId) => {
79
+ const item = itemsByRecipientId.get(userId);
80
+ return item ? /* @__PURE__ */ jsx(UserRightsItem, { item, resourceRights, isReadOnly, isDeletable: !1, rowClassName: "bg-light", bookmarkName: bookmark.name, onChange: sharingItems.changeRight }, item.recipientId) : null;
81
+ })
82
+ ] }, bookmark.id)),
83
+ regularItems.map((item) => /* @__PURE__ */ jsx(UserRightsItem, { item, resourceRights, isReadOnly: isReadOnly || (ownerItem == null ? void 0 : ownerItem.recipientId) === item.recipientId, onChange: sharingItems.changeRight, onDeleteItem: handleDeleteItem }, item.recipientId))
84
+ ] })
85
+ ] }) }),
86
+ onSaveBookmark && /* @__PURE__ */ jsxs("div", { className: "mt-16", children: [
87
+ /* @__PURE__ */ jsx(Button, { "data-testid": "common-user-rights-list-share-bookmark-show-button", color: "tertiary", leftIcon: /* @__PURE__ */ jsx(SvgIconBookmark, {}), rightIcon: /* @__PURE__ */ jsx(SvgIconRafterDown, { title: t("show"), className: "w-16 min-w-0", style: getRotateTransitionStyle(showBookmarkInput) }), type: "button", variant: "ghost", className: "fw-normal", onClick: () => toggleBookmarkInput(), children: t("share.save.sharebookmark") }),
88
+ showBookmarkInput && /* @__PURE__ */ jsx(SaveBookmark, { onSave: handleOnSaveBookmark })
89
+ ] })
90
+ ] }) });
91
+ });
92
+ export {
93
+ UserRightsList
94
+ };
@@ -1 +1,53 @@
1
- var createRightsHelpers=resourceRights=>{let getOwnerItem=(ownerId,user,isCreating)=>{if(!ownerId&&user&&isCreating||user&&ownerId===user.userId)return createOwnerItem(user);if(!ownerId)throw Error(`Owner ID or user is required`);return{recipientId:ownerId,recipientType:`user`,displayName:`owner`,permission:Object.keys(resourceRights)}},createOwnerItem=user=>({recipientId:user.userId??``,recipientType:`user`,displayName:user.username,permission:Object.keys(resourceRights)}),applyRight=(item,rightName,add)=>{let{requires,excludes}=resourceRights[rightName],newPermission;if(add)newPermission=[...new Set([...item.permission.filter(perm=>!excludes.includes(perm)),...requires,rightName])];else{let toRemove=new Set([rightName]),changed=!0;for(;changed;){changed=!1;for(let[name,definition]of Object.entries(resourceRights))!toRemove.has(name)&&definition.requires.some(required=>toRemove.has(required))&&(toRemove.add(name),changed=!0)}newPermission=item.permission.filter(perm=>!toRemove.has(perm))}return{...item,permission:newPermission}};return{applyRight,toggleRight:(item,rightName)=>applyRight(item,rightName,!item.permission.includes(rightName)),createOwnerItem,getOwnerItem}};export{createRightsHelpers};
1
+ const createRightsHelpers = (resourceRights) => {
2
+ const getOwnerItem = (ownerId, user, isCreating) => {
3
+ if (!ownerId && user && isCreating || user && ownerId === user.userId)
4
+ return createOwnerItem(user);
5
+ if (!ownerId)
6
+ throw new Error("Owner ID or user is required");
7
+ return {
8
+ recipientId: ownerId,
9
+ recipientType: "user",
10
+ displayName: "owner",
11
+ permission: Object.keys(resourceRights)
12
+ };
13
+ }, createOwnerItem = (user) => ({
14
+ recipientId: user.userId ?? "",
15
+ recipientType: "user",
16
+ displayName: user.username,
17
+ permission: Object.keys(resourceRights)
18
+ }), applyRight = (item, rightName, add) => {
19
+ const {
20
+ requires,
21
+ excludes
22
+ } = resourceRights[rightName];
23
+ let newPermission;
24
+ if (add)
25
+ newPermission = [.../* @__PURE__ */ new Set([...item.permission.filter((perm) => !excludes.includes(perm)), ...requires, rightName])];
26
+ else {
27
+ const toRemove = /* @__PURE__ */ new Set([rightName]);
28
+ let changed = !0;
29
+ for (; changed; ) {
30
+ changed = !1;
31
+ for (const [name, definition] of Object.entries(resourceRights))
32
+ !toRemove.has(name) && definition.requires.some((required) => toRemove.has(required)) && (toRemove.add(name), changed = !0);
33
+ }
34
+ newPermission = item.permission.filter((perm) => !toRemove.has(perm));
35
+ }
36
+ return {
37
+ ...item,
38
+ permission: newPermission
39
+ };
40
+ };
41
+ return {
42
+ applyRight,
43
+ toggleRight: (item, rightName) => {
44
+ const hasRight = item.permission.includes(rightName);
45
+ return applyRight(item, rightName, !hasRight);
46
+ },
47
+ createOwnerItem,
48
+ getOwnerItem
49
+ };
50
+ };
51
+ export {
52
+ createRightsHelpers
53
+ };
@@ -1 +1,58 @@
1
- import{useMemo,useState}from"react";var useBookmarkEntries=({resourceRights,existingRecipientIds,toggleRight,addItems,deleteItemsByIds,applyRightToIds})=>{let[bookmarkEntries,setBookmarkEntries]=useState([]),bookmarkUserIds=useMemo(()=>new Set(bookmarkEntries.flatMap(entry=>entry.userIds)),[bookmarkEntries]),getDefaultPermissions=()=>Object.entries(resourceRights).filter(([,definition])=>definition.default).map(([name])=>name);return{bookmarkEntries,bookmarkUserIds,addBookmark:bookmark=>{if(bookmarkEntries.some(entry=>entry.id===bookmark.id))return;let defaultPermissions=getDefaultPermissions(),newBookmarkUsers=bookmark.users.filter(bookmarkUser=>!existingRecipientIds.has(bookmarkUser.id)),newUsers=newBookmarkUsers.map(bookmarkUser=>({recipientId:bookmarkUser.id,recipientType:`user`,displayName:bookmarkUser.displayName,permission:[...defaultPermissions]})),bookmarkState={id:bookmark.id,name:bookmark.name,permission:[...defaultPermissions],userIds:newBookmarkUsers.map(bookmarkUser=>bookmarkUser.id),isExpanded:!1};setBookmarkEntries(prev=>[...prev,bookmarkState]),addItems(newUsers)},deleteBookmark:bookmarkId=>{let bookmark=bookmarkEntries.find(entry=>entry.id===bookmarkId);bookmark&&(setBookmarkEntries(prev=>prev.filter(entry=>entry.id!==bookmarkId)),deleteItemsByIds(new Set(bookmark.userIds)))},toggleBookmarkRight:(bookmarkId,rightName)=>{let bookmark=bookmarkEntries.find(entry=>entry.id===bookmarkId);if(!bookmark)return;let shouldAdd=!bookmark.permission.includes(rightName),toggledBookmark=toggleRight({recipientId:bookmark.id,recipientType:`bookmark`,displayName:bookmark.name,permission:bookmark.permission},rightName);setBookmarkEntries(prev=>prev.map(entry=>entry.id===bookmarkId?{...entry,permission:toggledBookmark.permission}:entry)),applyRightToIds(new Set(bookmark.userIds),rightName,shouldAdd)},toggleExpand:bookmarkId=>{setBookmarkEntries(prev=>prev.map(entry=>entry.id===bookmarkId?{...entry,isExpanded:!entry.isExpanded}:entry))}}};export{useBookmarkEntries};
1
+ import { useState, useMemo } from "react";
2
+ const useBookmarkEntries = ({
3
+ resourceRights,
4
+ existingRecipientIds,
5
+ toggleRight,
6
+ addItems,
7
+ deleteItemsByIds,
8
+ applyRightToIds
9
+ }) => {
10
+ const [bookmarkEntries, setBookmarkEntries] = useState([]), bookmarkUserIds = useMemo(() => new Set(bookmarkEntries.flatMap((entry) => entry.userIds)), [bookmarkEntries]), getDefaultPermissions = () => Object.entries(resourceRights).filter(([, definition]) => definition.default).map(([name]) => name);
11
+ return {
12
+ bookmarkEntries,
13
+ bookmarkUserIds,
14
+ addBookmark: (bookmark) => {
15
+ if (bookmarkEntries.some((entry) => entry.id === bookmark.id)) return;
16
+ const defaultPermissions = getDefaultPermissions(), newBookmarkUsers = bookmark.users.filter((bookmarkUser) => !existingRecipientIds.has(bookmarkUser.id)), newUsers = newBookmarkUsers.map((bookmarkUser) => ({
17
+ recipientId: bookmarkUser.id,
18
+ recipientType: "user",
19
+ displayName: bookmarkUser.displayName,
20
+ permission: [...defaultPermissions]
21
+ })), bookmarkState = {
22
+ id: bookmark.id,
23
+ name: bookmark.name,
24
+ permission: [...defaultPermissions],
25
+ userIds: newBookmarkUsers.map((bookmarkUser) => bookmarkUser.id),
26
+ isExpanded: !1
27
+ };
28
+ setBookmarkEntries((prev) => [...prev, bookmarkState]), addItems(newUsers);
29
+ },
30
+ deleteBookmark: (bookmarkId) => {
31
+ const bookmark = bookmarkEntries.find((entry) => entry.id === bookmarkId);
32
+ bookmark && (setBookmarkEntries((prev) => prev.filter((entry) => entry.id !== bookmarkId)), deleteItemsByIds(new Set(bookmark.userIds)));
33
+ },
34
+ toggleBookmarkRight: (bookmarkId, rightName) => {
35
+ const bookmark = bookmarkEntries.find((entry) => entry.id === bookmarkId);
36
+ if (!bookmark) return;
37
+ const shouldAdd = !bookmark.permission.includes(rightName), bookmarkAsSharingItem = {
38
+ recipientId: bookmark.id,
39
+ recipientType: "bookmark",
40
+ displayName: bookmark.name,
41
+ permission: bookmark.permission
42
+ }, toggledBookmark = toggleRight(bookmarkAsSharingItem, rightName);
43
+ setBookmarkEntries((prev) => prev.map((entry) => entry.id === bookmarkId ? {
44
+ ...entry,
45
+ permission: toggledBookmark.permission
46
+ } : entry)), applyRightToIds(new Set(bookmark.userIds), rightName, shouldAdd);
47
+ },
48
+ toggleExpand: (bookmarkId) => {
49
+ setBookmarkEntries((prev) => prev.map((entry) => entry.id === bookmarkId ? {
50
+ ...entry,
51
+ isExpanded: !entry.isExpanded
52
+ } : entry));
53
+ }
54
+ };
55
+ };
56
+ export {
57
+ useBookmarkEntries
58
+ };